HI,欢迎来到好期刊网,发表咨询:400-888-9411 订阅咨询:400-888-1571证券代码(211862)

大数据开发的过程集锦9篇

时间:2023-05-19 16:04:58

大数据开发的过程

大数据开发的过程范文1

【关键词】客户/服务器模式存储过程数据库应用程序开发

一、引言

在开发客户/服务器模式数据库应用程序过程中,SQL语句是应用程序与数据库之间使用的主要编程接口。应用程序与数据库交互执行操作有两种方式:一种是在应用程序中存储一系列操作命令,应用程序在执行的过程中向数据库发送每一条命令;另一种操作方式是在数据库中定义存储过程,在存储过程中记录了一系列的操作命令,每次应用程序只需要调用该过程就可以完成所有操作。

二、在数据库应用程序开发中使用存储过程的优势

在客户/服务器模式数据库应用程序中开发者尽量不使用存储在客户计算机本地的SQL程序,而是将常用的或很复杂的工作预先用SQL语句写好,并用一个指定的名称存储起来,那么以后要求数据库提供与已定义好的存储过程的功能相同的服务时,只要调用这个存储过程就可以了。使用存储过程完成操作有很大优势。

(1)符合模块化程序设计思想。存储过程是根据实际功能需要而创建的一个程序模块,它存储在数据库服务器中,所有用户要完成存储过程的功能,只要在程序中调用该存储过程即可。并且存储过程可以重复使用,这也减少数据库开发人员的工作量。当对数据库进行复杂操作时,将操作用存储过程封装起来,与数据库提供的事务处理结合一起使用。

(2)提高数据库应用程序的执行效率。存储过程只在创建时就进行编译和优化,以后每次执行存储过程都不需再重新编译,所以调用存储过程可提高数据库执行速度。这能大大改善系统的性能。

(3)减少网络流量。一个复杂的操作可能需要数百行T-SQL代码的操作,应用程序向数据库服务器发送每一条指令,并对返回的数据进行处理。如果将其创建成存储过程,那么使用一条调用存储过程的语句就可完成所有操作,这样就可避免在网络上发送数百行的代码,从而减少了网络负荷。

(4)存储过程安全性高。数据库管理员可以设定指定用户具有对指定存储过程的使用权限,而且管理员可以不授予用户访问存储过程中涉及的表的权限,而只授予执行存储过程的权限。这样,可以保证用户通过存储过程操纵数据库中的数据,又可以保证用户不能直接访问涉及的表。用户通过存储过程来访问表,所能进行的操作是有限制的,从而有效保证表中数据的安全性。

三、在客户/服务器模式数据库应用程序开发中用户存储过程的创建及执行

存储过程类似于编程语言中的过程和函数,用户存储过程可以使用T-SQL语句CREATE PROCEDURE来创建,使用T-SQL语句EXECUTE(或EXEC)来执行存储过程。

在学生图书借阅管理数据库系统中,图书管理最重要的两项事务是:借书过程和还书过程。为了提高工作效率,创建如下借书存储过程和还书存储过程:

在学生图书借阅管理数据库系统中,将两个复杂的操作借书过程和还书过程用存储过程实现。在应用程序中,只需要量输入借书相关信息和还书相关信息,调用存储过程,利用参数传递即可完成相应的事务操作。

大数据开发的过程范文2

关键词:软件工程;数据挖掘;开发测试技术

作者简介:文娟(1982-),女,湖南长沙;研究方向:计算机应用,大数据,云计算。

近年来,信息技术飞速发展的过程中,相关软件技术也不断增加,增加了软件维护的难度。现阶段数据挖掘技术被有效应用于软件工程中,在及时提取数据上具有重要意义。不同软件在使用过程中会经历多个阶段,其中开发及测试阶段尤为重要,如果能降低二者使用时间及成本,将有利于软件工程效率的大幅度提升。本文首先对软件数据挖掘进行了简要介绍,并探讨了数据挖掘特点,在此基础上对面向软件工程数据挖掘的开发测试技术展开了研究。

1软件数据挖掘简介

现阶段,数据挖掘技术在应用过程中影响力越来越大,其在应用过程中能够深入挖掘大量数据中的重要信息,这一功能对于软件工程具有深刻影响,软件开发时间的缩短,促使效率大幅度提升,对稳定性和实用性在软件中的体现具有促进作用[1]。软件工程数据指的是在产生于开发软件过程中大量数据的积累,这些数据能够对文本的分析及解释起到重要作用[2]。这些数据是软件开发工作者获得信息的重要途径。现阶段,指数性特点是增加软件工程数据的主要特征,是在提升软件开发技术、扩大其规模基础上形成的。在这种情况下,数据的挖掘能促使软件工程在开发过程中更有规律地进行。

2软件工程数据挖掘的技术特点

在开发软件的过程中通常会产生大量的数据,这些数据统称为软件工程数据。这部分数据拥有重要的功能及作用。例如,能进行有效的文档设计、对文档可行性进行分析,生产软件代码、确定软件版本等。由此可见,软件工程数据的产生对软件开发工作具有重要贡献。作为一项信息工作,复杂而系统是数据挖掘最大的特点,重要的信息只能在大量的数据中筛选和应用。现阶段我国在积极进行计算机技术研究的过程中开展了软件工程数据挖掘工作,充分代表了我国在信息技术中的创新性[3]。在软件工程领域中有效应用软件工程数据挖掘技术,能够更地进行提取和分析挖掘技术,也能够保证软件开发及使用者在日常工作过程中享有更加完善的服务。

3面向软件工程数据挖掘的开发测试技术

3.1代码理解

开发软件流程中,工作人员需要解决很多问题,其中包括:首先,维护项目代码。然而原有文档在项目当中已经超出使用期限,也有很多情况下该文档已经消失;其次,修改项目缺陷。然而这一过程中,工作人员根本没有项目代码的详细资料;再次,审查项目代码。由于代码众多,工作人员的工作难度较大;最后,提取项目架构设计。这一过程中工作人员通常只能够掌握其源代码[4]。针对以上问题,分层聚类是工作人员面对源代码的主要方式,可视化展示不同的模块,这样一来能够更加准确地掌握项目架构在代码中的体现。分层聚类法的有效应用,能够促使源代码的分析更加精确,而这一方法在使用过程中通常包含2个内容,即聚类分别建立在PageRank和调用入口基础之上。

在分析软件系统结构的时候,软件聚类是重要的方法之一,该方法的有效应用能够促使维护软件工作更加顺利。例如,复用软件模块,挖掘软件体系结构等。在这一方法下,相关工作人员可以充分掌握总体结构在软件系统中的体现,并能够明确局部的详细信息。一般来讲,如果想灵活切换在该方式下得以体现,应提升相关设备的性能。例如,首先,划分软件聚类模块的层次;其次,在详细掌握用户对软件聚类使用状况的基础上促进调整的动态性。在软件聚类内容中,一个重要的组成部分就是图聚类,加强对其的研究便可以得出软件聚类的层次化算法,该算法是建立在有效分析源代码基础上的,能够促使聚类结果和层次的显示以多粒度的方式进行。同样,该算法在应用过程中也包含2个方面,同时能够将新的途径应用于命名输出的聚类结果模块当中,这种方式是建立在文本挖掘基础上的,模块命名具有一定的语义信息是文本信息的主要特点。

3.2代码开发

目前,编程建立在开源框架基础上的就是JAVA应用,这一过程中,XML配置文件是促使逻辑控制在配置中得以实现的前提,然而现阶段单机版是JAVA应用的主要特点,复杂性是框架逻辑的主要特征,文档化在开源框架当中较低。在这种情况下,工作人员在配置和使用框架的过程中存在较大的误差。新时期在积极解决以上问题的过程中,相关专业人员提出了一个推荐方法,该方法建立在XML配置文件和XML配置片段基础之上,前者根据应用代码库而建立,后者根据代码关联结构挖掘而建立。在软件开发过程中积极应用这一手段,促使编辑配置文件的过程中大幅度提升效率和质量。而频繁字数挖掘是以上方法的关键所在,在大量的实现分析数据下,会充分展现该方法的有效性,其在XML配置片段当中更是充当着不可替代的地位,由此可见,其在软件开发过程中具有重要意义。

现阶段,新系统的构建是软件开发的重要环节,工作人员要想实现编程,必须对编程框架进行明确的利用,从而充分发挥其通用,同时还能够清楚表达其程序机构。在框架编程的过程中,工作人员应当积极扩展相关编程,并且应构建XML配置文件。相当一部分优势体现在框架编程当中,然而现阶段在将其应用到实际环境中时,仍然体现出种种不足[5]。例如,很容易利用其逻辑缺陷,同时工作人员无法正确而有效地使用该框架。由此可见,有效应用配置代码,充分发挥其实用性,能够促使数据及途径得以展现出来。

3.3回归测试

在开发软件应用以后,使用者在使用过程中经常会出现修改代码的状况,这一状况产生于使用以前和使用过程中,产生这种状况的主要原因是功能更新及代码缺陷等现象的存在。如在更新代码以后,需对其重新,在这之前,需要精确测试代码,就是所谓的回归测试。这一步骤实施的主要原因是对修改软件进行验证,从而充分发挥软件使用过程中的功能[6]。在这种情况下,软件在使用过程中,回归测试的价值不容忽视,对软件质量具有直接影响。新时期,我国在积极进行面向软件工程数据挖掘的开发测试技术研究的过程中,应当首先注重创新软件工程理念及措施。

加强分析实施需求,促使形式化、规范化等要求在数据挖掘中得以体现,在开发软件的相关理念上,重视数据挖掘,将烟花性设计有效应用于软件工程的架构当中,同时进行科学的创新,有效应用先进技术,促使软件编写能力得以提升;其次,加强对人工智能的应用。在我国科学和信息技术不断进步的背景下,我国各个领域在研究过程中已经开始对机器学习进行充分的利用,因此在软件工程数据挖掘的过程中,也应当对该技术进行充分的利用,为我国的软件开发创造更多奇迹。人工智能是现阶段我国科学技术创新中的代表,其拥有较强的学习和运算功能,能够促使软件工程数据挖掘工作更加精确、快捷,同时能够运用较为成熟的方式对运算过程中遇到的问题进行处理;最后,有效评价数据挖掘结果[7]。我国传统的数据挖掘测试技术在应用过程中无法对其结果进行充分的评价,也就导致重要的数据在经过深入挖掘以后无法得到有效应用。因此,新时期,我国工作人员应当对数据挖掘进行全面的缺陷检验,加强对结果的分析,在充分利用相关软件的基础上,得到用户的真实评价,在实践中不断完善。

4结语

综上所述,软件工程数据挖掘指的是在软件挖掘过程中产生的海量数据,被深入挖掘以后产生重要的、有价值的数据。这部分数据的有效应用能够促使软件开发更加便利和顺畅,能够促使开发出来的软件更具使用价值,使用寿命也更长,在此技术基础上进行的开发测试技术,能够为提高软件工程开发效率起到促进作用。因此,现阶段积极加强面向软件工程数据挖掘的开发测试技术的研究具有重要意义。

参考文献

[1]陈媛.基于数据挖掘的软件缺陷预测技术研究[D].长春:中国科学院研究生院长春光学精密机械与物理研究所,2012.

[2]朱沿旭.面向开源社区的Web数据抽取与挖掘关键技术研究[D].长沙:国防科学技术大学,2011.

[3]胡瑞飞.面向机械工程计算机测试系统的数据挖掘技术研究[D].成都:四川大学,2006.

[4]张律.面向数据挖掘的科研信息管理系统的研究与开发[D].成都:电子科技大学,2013.

[5]沃高全.基于实时可视化数据挖掘的高并发性能监测系统设计与实现[D].上海:复旦大学,2010.

[6]宫健.基于信息挖掘技术与J2EE架构的校园智能教务系统的研究与应用[D].西安:西北工业大学,2004.

大数据开发的过程范文3

中图分类号:TP392 文献标识码:A 

Abstract:Conventional database application is restricted by the field structure,although simplified the processing flow,but the processing efficiency is low,often the bottleneck in the application.Using united fields to optimize the database structure.The original repeating data can be integrated,with the combination of SQL language and the single type of storage,can improve the efficiency of data retrieval,fast generation primary optional set.On the optional set operation can use the original database system,can also use the custom database.Customize database can not only get rid of the limitation of database system development process,but also more initiative and flexibility in the data processing and encryption and decryption,is a development trend in small database application. 

Keywords:database structure;united fields;optimize retrieval efficiency;customize database 

1 引言(Introduction) 

近年来,随着计算机硬件设备的不断升级,软件处理能力显著提高。然而,在数据库论文处理方面,却始终存在着一个瓶颈,那就是数据库的字段结构一直制约着数据的处理速度。目前数据库的主要存储方式是硬盘设备,而硬盘设备本身存在着处理速度的极限。在这种条件下,如何提高数据的检索速度就成为一个迫切要解决的问题,尤其是在数据库容量越来越大的情况下。 

数据检索的核心问题在于,如何在海量数据(硬盘存储)中检索出符合条件的可选集,而不在于对于可选集的处理(内存)上,因为内存的访问速度对于数据检索来说是足够的。一旦从数据库上获得可选集,后继的工作就可以转移到内存中工作,处理器的性能就可以得到充分发挥。因此,在提高数据检索的速度方面,应该在优化数据库结构,快速获得可选集上面下工夫,其中包括:减少数据库字段与记录的数量、简化数据类型、减少数据冗余等方面[1]。 

2 数据库结构的优化(Optimization of database structure) 

常规的数据库字段是根据数据的内容属性来定义的,用户对数据的操作界面与数据库结构保持一致,以简单的人员信息管理为例,数据库结构如表1所示。 

这是一种通用的途径,也是数据库厂商建议使用的方法,因为这样可以直接使用数据库访问的预定义功能,包括用户操作界面,同时简化数据库应用程序的开发工作,把程序开发人员和操作人员与核心数据库隔离开来,充分保证数据的安全性[2]。但是,这种使用方法也制约了数据库开发人员的视野,尤其在大型数据库的应用开发过程中,在数据检索的效率方面显得无所作为,或者在具体应用出现瓶颈时推卸责任。 

因此,在数据库开发的规划方面,不一定严格遵循数据库厂商建议的方式,可以根据不同的应用场合和数据类型,建立灵活的数据结构,从而提高数据检索的效率[3,4]。 

这里给出的一种方案,是在数据库结构方面进行的一个大胆的尝试,对于数据类型单一、数据容量较大的应用场合较为适用。它不按数据的内容属性来定义具体的字段,而是采取“联合字段”的结构,将原来多个单一的字段组合成一个联合字段,从而简化了数据库的结构,大大提高了可选集的产生过程可数据检索的效率。 

表1中的人员信息数据库,变换为组成联合字段以后,结构简化如表2所示。 

从表2可以看出,原来数据库中的一张表,现在被简化成了一条记录。通过这种变换,甚至可以把整个数据库都整合在一个字段中,将针对数据库的操作转换为针对少量字符串的操作,大大简化数据的操作过程,提高数据的检索效率。 

在这种方案中,当可选集产生以后,不再使用数据库系统提供的缺省操作界面,而由数据库应用程序开发人员编制特定的操作界面,当然,从外观上,可以借鉴操作人员已经习惯的系统界面,甚至与系统界面保持一致,但下面的代码完全由开发人员自己来完成。这样的开发工作并不复杂,不管在哪种平台上,都不会给开发人员增加太多的额外工作量。而且,程序使用效率的大幅提高,也会很快将额外的开发工作量弥补掉。

联合字段的数据工作过程如图1所示。 

虽然在界面上可以与数据库系统保持一致,但数据库接口与数据库结构对用户来说是完全不透明的,从这个角度来看,不但没有降低数据的安全性,而且在数据转换与存储的过程中,还可以采取灵活的手段进行加解密,提高原有数据的安全性。由于变换后的数据对数据厂商也是不透明的,因此,就实现了数据的双向安全性,这正是目前几乎所有大型数据库应用系统一直面临的困惑。 

联合字段实现双向安全性,如图2所示。 

联合字段的作用,是简化可选集的产生过程,提高可选集的检索效率,因为针对硬盘存储的数据库检索,也是以字段为最小单位进行的,字段数量的缩减,以及字段类型的单一化,对于可选集检索效率的贡献是可想而知的。 

3 数据的处理过程(Data processing procedure) 

3.1 数据单元的概念 

为了阐述方便,首先给出“数据单元”的概念,把按规律排列的格式整齐的重复性的一组数据称为一个数据单元,在常规的数据库中,数据单元也许是一条记录,也许是一条记录中的几个字段[5]。例如在上面的人员信息数据库中,每个人员的信息就可以作为一个数据单元,如:“001王勇男”,姓名在中间,左侧是编号(占三个字符),右侧是性别(占两个字符),格式整齐,排列有规律。在这样的一个数据单元中,编号数据可以从单元数据的左侧选取,性别数据可以从单元的右侧选取,中间剩下的就是姓名的数据,这样的选取方法,不要求位于单元中间的姓名数据为特定的长度。 

利用数据单元,可以对原有的字段进行初步的整合,减少字段的数量,简化字段的类型,精简数据库的原有结构。这样变换后,并不影响对原有数据库的常规操作,因为用户界面是根据功能而重新开发的,不依赖于数据库系统,它所使用的是内存中的数据,已经把磁盘中的存储数据库恢复为原有结构的工作数据库[6]。工作数据库根据操作需要,只选取全部数据的一个子集,所以,对于处理速度与实时性的影响有限,这与系统数据库的工作原理是一样的,见图1。只是在得到可选集的条件上,要进行相应的变换,由于数据单元并不复杂,而且是大量的重复性数据,所以在原理上可以保证可选集的确定性。 

如果数据单元的变换已经能够满足应用的需要,优化过程就可以就此为止,有时候,为了简化开发工作,甚至可以将工作数据库与存储数据库保持一致,这样,应用效率的提高,只体现在可选集的产生过程中,尽管如此,变换前后的效率差异还是显而易见的。 

3.2 数据整合 

如果要进一步提升系统的功能,可以在数据单元的基础上,在两个层面上继续对数据进行整合[7]。 

第一个层面,对数据单元进行整合。把多个数据单元连接在一起,进行联合操作。实现的方法是多种多样的,比如,可以使用特定的分隔连接符,把单元数据连接起来,上面的人员信息数据库,整合以后简化成一条记录: 

001王勇男-002李小萌女-003张虹男-… 

上例中分隔符的选择不能与数据库中的任何数据重复,当数据库的性质与内容确定后,找到合适的分隔符并不困难,它的作用只是单纯地将数据单元分隔开来,并且在数据处理以双向过程中作为定位符,实现工作数据库与存储数据库之间的数据传递。 

第二个层面,是对字段进行联合。这可以打破数据库系统对字段容量的限制。数据单元整合后得到的数据,具有单一的字符串类型,跨字段存储只涉及到简单的分割问题,这是稍有编程经验的开发人员都可以完成的工作。在数据处理的过程中,直接对多个字段进行联合操作,处理过程并不复杂,由自主开发的用户接口程序完成这一工作,应用人员不必关心其中的细节。 

数据库系统在进行数据处理时,往往以字符类型为主,如果数据库中存在多种数据类型,在进行数据处理时也会在内部先转换为字符类型,然后再进行相应的操作。对数据库结构进行优化后,联合字段类型可以全部设置为字符串类型,这样就简化了内部的类型转换,提高了处理效率,检索速度也是最快的。 

要注意的是,最好不要让整合后的联合数据超过操作系统平台所允许的长度,否则在开发时就要面临来自操作系统的种种限制,会影响到用户程序开发的效率。 

3.3 整合数据的处理 

对整合数据进行处理,主要是在工作数据库与存储数据库之间建立起联系的通道,数据检索时,根据指定的条件,首先从存储数据库产生可选集,并以此为基础建立工作数据库,其后的大部分操作都是面向工作数据库的,在内存中完成,只有在操作结束后,或者数据出现变动的情况下,才与存储数据库进行数据交换[8]。 

例如,在人员信息数据库中,按姓名查找某个人员,直接输入查询条件,将优化后的联合字段作为操作对象即可。如果有多个查询条件,比如姓名与性别,可以先对条件进行组合,把“姓名+性别”特征串作为查询条件,然后在存储数据库中进行检索。 

由于存储数据库中的字段已经被优化,字段数量减少、存储类型单一,因此,从存储数据库中检索出可选集的效率得到大幅度提高。 

3.4 注意事项 

(1)使用SQL查询语言 

在可选集的产生过程中,应该充分利用数据系统的技术支持,比如SQL查询技术及数据库索引等技术。即使数据库结构保持不变,使用SQL查询语言,也可以成倍提高检索的效率。在具体的检索过程中,数据库系统会自动建立索引文件,进一步提升数据检索的速度。经初步测算,使用SQL查询语言比不使用在速度上可以提高几十倍。 

(2)用户界面与工作数据库 

由于数据库系统对用户来说是不透明的,所以,应该在数据库应用层面上建立特定的用户接口程序,上面已经提到,这部分工作是传统的数据库开发工作之外的额外工作,主要完成可选集的建立工作,与优化后的数据库结构相匹配。此类的开发工作并不复杂,主要内容是进行大量的字符串变换。用户接口程序是双向工作的,在工作数据库与存储数据库之间传递用户的数据。应用系统对数据操作完成以后,用户界面负责临时数据库中的内容交换到存储数据库中,这个过程只在数据存在变换时进行。在用户操作的过程中,使用的数据库是临时的工作数据库,可以建立在原有数据库系统的基础上,使用临时数据库或者数据快照,把整合的数据重新恢复成内容属性的字段,这是与存储数据库无关的过程,只不过针对的是内存中的临时数据库。因此,如果只是使用现有的数据,而不进行数据的改动,这部分操作界面的实现相对简单[9]。

4 使用定制数据库(Using custom database) 

如果数据规模不大,但对安全性要求较高,可以彻底摆脱数据库系统的限制,采取用户定制的数据库,从底层上直接对数据进行操作,同时便于数据的加解密。目前这类系统在国内的应用不多,也没有引起大多数应用人员的重视。近年来,随着网络安全形势的日益恶化,对于涉及国家重大利益的数据操作,安全性已经成为系统开发的首要目标。因此,使用定制数据库与密文存储的技术,将是未来一段时间内数据库应用开发的重要方向。 

定制数据库的工作过程如图3所示。 

4.1 存储形式 

定制数据库,可以用磁盘文件的形式直接存储在物理介质上。如果数据量不大,可以将多张数据表格放在一个文件中,以简化存储结构。如果数据量较大,可以将数据表格单独存储,以提高数据处理的速度。 

文件的格式可以采用BINARY或者ASCII编码的形式,使用开发平台下的文件存取指令进行操作。在文件的头部或尾部,添加指定的数据表及数据块的索引信息,用以标明文件的数据属性。 

在数据的组织上,仍然延用联合字段的思想,只不过不再借用数据库系统的字段结构,直接与磁盘文件进行数据交换。这样就省去了数据的间接操作过程,在底层上控制数据的存储,增加了数据存储与处理的灵活性,提高了系统的工作效率。 

在此类应用中,要求开发人员对数据库系统的结构有大致的了解,除了常规的文件操作外,还应考虑大量的容灾与安分方面的性能。由于对磁盘文件的操作只包括存储与产生可选集两个方面,类似的开发过程肯定比专业的数据库系统简化,否则就失去了定制开发的意义。 

4.2 数据处理的过程 

由于底层数据不再依赖数据库系统的支持,在可选集产生之后,工作数据库也没有必要再使用数据库系统提供的处理功能,而转由常规的数据结构来实现,比如使用动态数组或容器等结构。 

这样,在用户界面的开发方面,就具有了更大的空间和灵活性,打包后的应用系统也更加精简,便于移植与发行,拓宽了应用系统的应用领域,特别是对于一些安全性要求较高的场合较为适用。 

在具体数据的处理过程中,仍然可以使用前面介绍的方法,只是在用户界面的修饰方面,要下一定的功夫,达到与专业数据库系统同样的水平,这方面的开发工作不影响具体的数据应用,只是照顾用户的原有操作习惯。 

4.3 加解密过程 

定制的本地数据库,只对存储环节进行加解密,正常的使用过程,只有数据变动时才需要与存储数据库进行数据交换,大部分操作都是针对内存中的工作(临时)数据库进行的。此类数据加解密过程如图4所示。 

定制的网络数据库,可以通过直接调用底层的网络传输协议进行访问,数据加解密的过程在全部在客户端实现,经过网络传输的数据都是加密后的密文,这样就有效确保了数据传输过程的安全性,也不必考虑众多的网络安全设备(如网络防火墙、网络安全网关等)的影响。 

定制的网络数据库的加解密过程如图5所示。 

4.4 定制数据库的开发环境 

定制的数据库不依赖于商业化的数据库系统,直接对磁盘文件进行读写。因此,在开发环境的选择方面更加自由,包括普通的桌面系统、网络化的C/S、B/S系统、移动(手机、平板)平台等,都可以完成有效的开发工作。 

而且,当基本的应用流程固定以后,可以在不同的平台之间实现快速移植。一个平台上开发完成的代码,只需改动少量的代码,就可以应用到另一个平台上。这样,就彻底摆脱了平台软件与数据库系统对用户程序的开发限制,也减少了庞大的软件与系统资源开销,使开发工作变得更加简单灵活。 

IT产业发展到现阶段,硬件的性能得到了很大的提升,原来依靠专业数据库来支持的大型数据库应用系统,现在如果转而使用定制的数据库,可以将其部署在普通的硬件环境之上,几百万上千万条的数据容量,可以轻而易举地在新平台上流畅运行。 

在移动终端平台上,使用定制的数据库,能够大大减少数据库系统占用的开销,转而支持新的应用项目,使有效的硬件资源得到充分合理的运用。 

5 应用实例 (Application examples) 

以上技术最初应用于《列车时刻表查询软件V4.0》(软著登字第0002941号)中,经实际检测,使用联合字段对数据库结构进行优化以后,数据检索的效率比优化之前提高了70多倍,较好地解决了数据检索速度的瓶颈。下面简要介绍应用的过程。 

(1)问题分析 

交通信息的数据具有统一的规律,就是除了少数的数据以外,大部分数据都是重复性的信息,如到达某个站点的进出站时间与站名等信息。这种数据的特点,比较适合采用联合字段的优化方法。 

如果按着常规的定义方法,每个班次的数据定义成一张独立的表格,如果实现区域联网,数据量将是惊人的。当对联网后的数据库进行模糊检索时,检索效率低下的问题表现得十分明显。因此,采用技术手段对数据库结构进行优化,是解决问题的一个途径。正是基于这样的思路,尝试将联合字段技术应用在大范围交通信息数据库系统的开发过程中,将每个班次的交通信息简化成单条记录,所有区域联网的班次都纳入一张数据表格中,大大简化了数据存储与处理的效率,较好地解决了同类系统开发过程中长期存在的症结。 

(2)数据单元 

将中途站点的数据制作成数据单元,形式为:进站时间+站点名称+出站时间,进出站时间的字符长度直接固定为5,如12:48,因此,数据单元的首尾长度都是确定的,只有中间的站点名称是不确定的。始发站点与终到站点的数据不用特殊处理,直接按上述规则放入数据中即可。 

(3)数据编辑 

数据单元之间使用常规数据中不会出现的特殊字符进行连接,如“-”字符,一个班次的数据按着字符形式存储在一条记录中。数据处理时,通过检索条件在存储库中产生初级可选集,然后对可选集进行具体的操作。

可选集的产生,可以使用数据库系统提供的功能,组合SQL查询条件。在可选集中,根据连接字符将记录中的数据单元分离出来。每个数据单元,先分离出首尾的时间数据,中间余下的就是站点名称数据,并依此建立临时工作数据库,与用户接口程序进行交互。数据变动后,将数据进行逆向处理,最终完成存储数据库的更新过程。 

(4)实例:区间模糊检索 

这是最常规的应用,只设定两个站点的名称,即可以检索出区间内的所有班次。检索条件可以组合为:记录中“前面包含‘出发站点名称’并且后面包含‘到达站点名称’”的可选集”。 

(5)实例:生成站点的班次时刻表 

时刻表是动态生成与显示的,可以直接上物理的大屏系统,为所有站点的出行人员提供信息服务。检索条件可以组合为:记录中“包含‘站点名称’”的可选集。在可选集中,根据进出站时间的特点,可以将班次的属性区分开来,如始发、途经与终到等班次。 

6 结论(Conclusion) 

通过对数据库结构的优化与定制,使数据类型单一化,不但简化了存储形式,而且可以快速实现数据的加解密过程,加解密运算全部在客户端实现,充分发挥了本地处理器的处理能力,不影响网络数据的访问速度。 

可见,数据结构优化后,简化了数据结构,有效提高了数据的处理效率与安全性,节省了存储空间,方便了数据的跨平台移植,是小型数据库应用系统开发的一种新思路,特别适合于以大量重复数据为主体的数据库应用场合。 

参考文献(References) 

[1] 李宏伟.地名本体数据库存储模式及应用研究[J].计算机应用与软件,2012,29(4):35-38;74. 

[2] 陈正举.基于HIBERNATE的数据库访问优化[J].计算机应用与软件,2012,29(7):144-149. 

[3] 林沣.分布式数据库中空间拓扑连接查询优化处理方法研究[J].计算机应用与软件,2013,30(11):247-250;282. 

[4] 房俊华.DB-Tree:一种高性能的闪存数据库索引结构[J].计算机应用与软件,2013,30(11):243-246. 

[5] 陈芬.改进量子粒子群算法优化神经网络的数据库重复记录检测[J].计算机应用与软件,2014,31(3):20-21;115. 

[6] 林桂亚.基于粒子群算法的数据库查询优化[J].计算机应用研究,2012,29(3):947-949. 

[7] 王兵.数据库应用系统逻辑结构设计初探[J].现代计算机,2012,(5):14-17. 

[8] 赵荣.分布式数据库查询优化方法[J].科技视界,2013(5):120-121. 

大数据开发的过程范文4

1计算机软件的设计与开发

计算机软件开发的实际意义就是为了更好地实现计算机软件开发的价值,往往需要在开发的前期准备过程中提前做好需求调查,然后再进行后面的工作。同时,开发的过程中也需要尽可能地使开发的软件能够具有各项应该具备的功能,使其能够高效运行,并逐渐走进市场。随着科技的不断进步,计算机已经成为时代主流,被大家所接受、运用,人们的生活已经无法离开计算机,且也越来越满足顾客的需要,成为大众化的实用工具。因此,软件的开发也需要开发者能够切合实际地考虑消费者的利益,使开发出的软件能够真正满足大众需求,做到普遍性和大众性的有效统一。其中,数据管理是整个计算机软件开发设计的核心环节,起着不容小觑的重要影响。

2数据库管理

2.1数据库管理的具体内容

以目前情况为主要基础,主要包括以下内容:第一,其自身存在的程序以及相关数据拥有一定程度上的独立性,在数据呈现过程中一般会采用数据模型的方式将其中存在的相关关系表示出来,同时包含了数据的相关特征。第二,在开展基础性数据管理工作的过程中将某一部门或企业作为独立的个体,并以此为依据建立一套完善且具备系统化的数据库系统,将其用于对数据的管理与控制。第三,其自身存在的用户接口属于普通型,相关用户在进行数据开发与利用时,会获得一定优势。第四,以实际情况作为具体的参考标准管理相关应用程序,同时通过数据库找寻与之相关并具备实用性的信息,进一步减少存储过程中出现重复储存现象的发生;另外,建立上述新型的数据管理结构可以有效、全面使用数据。

2.2数据库目前存在的相关问题

第一,在管理数据库的过程中出现人为问题。譬如,数据库的相关管理人员在进行相关操作的过程中方法使用不当,没有按照相关安全管理标准进行操作,导致在管理数据库的过程中出现不同种类的安全问题。第二,在开展数据库工作的过程中出现系统自带问题,进而导致出现一系列运用过程中的问题。譬如,随着当前网络技术的发展与创新,其自身的安全性受到极大地挑战,管理过程也必然会出现相应的问题。第三,数据库系统在操作过程中存在的相关问题。就目前的实践情况结果显示,该问题是数据库出现信息泄露的主要原因。同时,随着用户的操作存在一定的不规范性,使计算机受到病毒的入侵。随着这些病毒的爆发,其中的数据与信息会被曝露出去,使计算的运行与工作受到严重影响。此外,在计算机用户进行日常操作时,某些黑客会趁机向数据库进行攻击,修改和破坏其中的内容进,使数据泄露。

2.3数据库在管理时所采取的方法

2.3.1安全策略

第一,以数据库为基础有针对性地进行加密,尤其对于一些重要的数据信息,其对安全性的要求更高。因此,要不断提高该部分数据的安全性,尽量杜绝出现修改数据和非法访问的现象。在实施该措施之后,虽然系统受到一定程度的破坏,但是其中存储的相关数据被散播出去和被窃取的可能性并不是非常大。在整个安全保护系统中,需要建立一个完善的身份认证机制,确保用户与服务器数据进行对接时,能准备核实身份信息等数据,以避免一些非法或其他不当手段入侵后台程序,并限制和打压干扰破坏整个系统的行为,让对方无法进入系统核心,破坏系统安全。具体实行方法可以通过WPKI或Keberos三重加密验证等方法进行用户安全管理。这样一来,可以很好地对用户身份进行识别和辨认,强化安全性能。第二,需要加强访问权的管理。这个管理重点在于对储存内容的访问限制。尤其针对移动管理,需要后台管理员能够随时调动访问口令,实现动态管理用户。第三,需要对信息数据内容进行加密。除了要控制访问权限之外,还需要增加层层防护,提高安全系数。信息加密能够防止数据外泄而导致各种恶性事件的发生。通常情况下,需要根据不同的数据功能模块来安置相对应的安全口令。目前,计算机加密方法各种各样,破解难度各异,其中安全系数较高的包括椭圆曲线密码体制,这种体制当前还没有攻破方法,是个相当不错的加密方式。第四,需要长期进行数据审计跟踪管理,掌握数据动态信息,及时发现异常。另外,还要对攻击手段进行检测,找到系统发生漏洞之处,从而找出问题并进行改善和加固。

2.3.2管理策略

在使用数据库的过程中,必须时刻保持防范意识,增加其警惕性,从根本上杜绝信息泄漏事件。运用之前所说的方法,可以使数据库的安全性得到增强,也能保证使用者的合法权益。增强数据安全性最为有效的方法就是对其进行必要的维护。在对数据库维护与管理的过程中,必须备份有需要的信息,这样即使有黑客入侵,也很难有可乘之机。虽然数据库通过一些安全手段可以在一定程度上提高安全等级,但仍然无法杜绝安全事故发生。因此,加强管理机制十分必要,可采用虚拟服务器和动态分布式数据库管理等方式进行管理,只有这样才可以确保数据库的正常运转,使事故发生时能够及时采取保护手段管理数据安全。

2.3.3维护策略

当前,数据库维护也成为计算机软件开发中需要考虑的重要对象之一,一个安全的系统除了需要有各种防护手段之外,还需要拥有优良的系统维护管理。而数据库的维护水平主要取决于该数据库是否具有强大的维护能力和高效的数据整合能力。就目前的市场而言,提高数据库维护水平可以充分利用市场资源,通过购买各种开源数据库和整合系统来保证自身数据库的安全管理。在日常维护管理过程中,可以很好地利用这些开发公司的数据维护工作。除此之外,计算机设计开发公司需要不断引进复合型人才,注重对专业性人才的培养,并吸纳精英,保证公司的稳定运营和开发工作。为整个系统提供充沛的管理人员,加强维护管理效率,降低风险发生的概率。

3结语

大数据开发的过程范文5

一、软件工程

1软件工程简介

软件工程属于工程类的学科,主要侧重于实践应用,即是将软件工程理论和知识应用于实际的软件设计开发中。软件工程的主要目的是设计出高质量的软件系统,它借鉴了数学建模、计算机科学、管理科学和传统工程科学等多个学科的知识,利用工程科学设计范型、评估成本、权衡风险,应用数学建模和计算机科学构造软件系统的模型及算法,使用管理科学制定计划、分配资源、管理质量、控制成本。

2软件工程的组成

一般来说,软件工程分为三大部分,即软件工程包含下列三大过程[5]:1)项目开发过程,是指系统开发人员设计并开发软件的过程,主要包括客户需求分析、软件系统设计、编码、系统测试等几大内容,类比于传统机械加工中产品在车间的生产过程;2)项目管理过程,是指项目负责人或产品经理在开发过程初期对软件开发过程的规划,并在开发过程中控制开发进度的过程,类比于传统机械加工中对车间加工过程的管理过程;3)项目改进过程,即是对上述项目开发过程和项目管理过程的管理和改进,包括对开发过程和项目管理过程的定义与改进,保证高质量产品的生产过程。可以说,软件工程包含的三大过程构成了一个系统工程,成为软件行业的必备基础。但在现今的软件项目中,项目开发过程往往受到大家更多的关注,而项目管理过程和项目改进过程经常得到忽视,根据实践经验,其实后面两个过程十分重要,在某些时候其重要性甚至超过项目开发过程。随着市场需求的变化,对软件产品的要求也不断发展,软件规模越来越庞大,软件开发也会逐步由个人作坊式开发向工厂流水线化变化,整个软件项目的开发过程也逐渐向传统的机械加工行业的生成过程进化,产品内容、产品质量、生产时间、生产成本等都成为项目管理的工作内容,软件工程逐步向规范化、工程化、工艺化、机械化发展。

3软件工程的开发方法

结构化开发方法由Yourdon和Constantine提出,也被称为面向数据流的开发方法。结构化开发方法是80年代使用最广泛的软件开发方法,它首先用对软件的需求利用结构化分析法进行需求分析,然后利用结构化设计方法对整个软件进行总体设计,最后利用结构化编程方法实现系统。它给出的变换型和事务型两类典型的软件结构,使得软件开发的成功率大大提高。面向数据结构的开发方法是把问题分解为可由三种基本结构形式表示的各部分的层次结构,最典型的代表即Jackson方法。三种基本的结构形式包括顺序、选择和重复,这三种基本数据结构可以进行任意组合,最终形成各种形式的复杂结构体系。该方法从系统的输入、输出数据结构入手,得到整个程序框架结构,再补充细节,最终得到完整的程序结构图。该方法对输入、输出数据结构明确的中小型系统特别有效。面向对象和分布式、并行组成了当前计算机业界最流行术语,面向对象开发方法位于当今计算机业主导地位。面向对象技术是一次软件开发技术的革命,在软件开发史上具有里程碑的意义。该方法包括面向对象编程、面向对象设计和面向对象分析三个步骤,采用了自底向上归纳与自顶向下分解的相结合方法,以对象为开发基础,不仅考虑了输入、输出数据结构,同时也包含了所有对象的数据结构。该方法通过对象模型的建立,实现基于用户的需求,同时大大改善系统的可维护性。

二、图书管理系统的分析与设计

1系统管理需求

系统需求分析是系统开发的基础,它将客户的需求抽象为模型,为软件系统的开发打下基础。本文中需要实现图书馆管理系统主要针面对普通读者借阅和管理员管理两部分:1)普通读者:可以登录系统时不需要输入用户名和密码,可直接查阅图书信息,也可以通过书名、作者、出版社、ISBN编号等多个选项进行查询,了解所需借阅图书的在库情况,但普通读者无权修改库中的数据信息。2)管理员:登陆时需要输入管理员密码,以此保证图书管理系统的安全,管理员拥有对图书信息库数据库进行操作的权限,系统应该为管理员提供了较完善的数据库维护功能,可以是管理员方便的进行图书管理,包括新书入库、图书借还、修改图书信息、图书信息管理等。通过这些功能,管理员可以对图书馆中所有图书以及图书借阅情况进行统一管理。另外,为了保证整个系统的安全保密性,系统还为管理员提供了修改密码的权利,这样是的整个系统的安全保密性得到提高。

2系统模块设计

本系统主要实现对图书信息及其借阅情况的管理,根据上述系统管理需求进行分析,本系统大体分为以下几个模块:登陆模块、管理模块、维护模块和设置模块。系统功能模块图如图1所示。

3系统数据库设计

本系统采用微软公司的.NET开发,开发语言选择C#。C#是集合了JAVA、VB等多种高级编程语言的优点的完全面向对象的编程语言。C#语法优雅,代码较健壮,结合VisualStudio集成开发环境,使得调试过程较为简单。.NET平台包含了微软最新的数据库技术——LINQ(LanguageIntegratedQuery)。LINQ是一组技术的总称,使用LINQ的查询语法,可以让开发者便捷的对数据源执行复杂的操作,和传统的SQL语句相比,LINQ查询语法在语义或性能上没有区别,但比用SQL语句编写的等效表达式更易读。从安全保密性角度考虑,远程数据库比本地数据库更能够保证数据的安全,且便于集中管理,存储的数据也较多。本系统设计为三层构架,客户端通过服务器的WebService服务访问数据库,不与数据库直接通讯,服务器提供WebService服务作为数据交换中心,提供数据的存储、查询、维护等功能接口。采用三层构架的设计可以保证访问数据库过程的安全性,所有访问数据库的代码都运行在服务器端,客户端只是通过服务器端的程序访问数据,使得客户端无法对数据库进行非法操作。

大数据开发的过程范文6

关键词:软件工程;面向数据的软件工程;面向数据的体系结构

一、软件工程的发展历程和研究现状

软件工程这一术语,是在上世纪70年代末在一次会议上被提出来的,其设立的目的就是为了规范整个软件行业,从而进一步促进软件行业的经济效益,节约了大量的人力物力成本。现在公认的软件工程的发展历史包含以下四个时期。首先诞生的是面向过程的软件工程。这一阶段主要是采用结构化的方法,对软件整个生命周期的过程进行设计、优化和测试[1]。随着技术的发展,研究也在不断推进,面向对象的软件工程也被提出,其主要是对面向对象进行分析、设计、编码、测试和软件的后期维护等等,在当时这一理念比较先进,所以其很快被广大从业者接受,并且推广开来。但是面向对象的软件工程仍不能很好地解决软件在使用当中存在复用性低这一问题,因此有人提出了采用组件技术对软件工程进行进行优化,经过实践证明这一技术确实能够提高复用率,降低软件开发过程中的经济成本。而后随着软硬件技术的提高,经济的发展,用户的商业需求也越来越高,软件开发者提出了面向服务的软件工程。时至今日,整个软件开发行业仍是以面向服务的软件开发为主导[2]。可是科技的发展不会一直止步不前,软件工程也一样,随着这些年大数据、云计算思潮的影响,很多学者开始构思能不能开发出一种基于大数据的软件工程。现在国内外已经有不少的学者提出了设计理念和相关模型,例如:我国学者何克清就详细分析了大数据影响下的软件工程的研究方向和一些关键技术。可是这一思想在现实的软件工程中还没有大范围的应用起来。因为其存在两个主要缺点:(1)现在的数据不仅形势复杂,而且增长速率也十分迅速,不仅包含着数据,还包含数据集[3]。因此在数据的储存、管理、分析和挖掘方面,相关的信息技术和软件技术更是难以招架。而且随着社会变革的加快,用户理念也在不断的转变之中,这就为整个软件的开发过程带来了更多的问题。(2)当下的软件开发方法存在一定的缺陷,例如开发复杂、生命周期短、维护难等问题导致软件成本高。

二、面向数据的软件工程的内涵和优势

面向数据的软件工程是基于面向数据的结构体系,然后对软件进行开发。以数据为核心是此类体系的最大特点。整个体系结构以数据生态系统为基础,构建的软件体系能够包含整个数据的生命过程,从保护到授权。相比较现在广泛采用的面向服务的软件工程来说其主要存在以下几个优点:(1)两者核心不同。一个是以数据为核心,具有一定的逻辑性,被数据驱动,可以根据用户的具体需求来进行具体的服务。一个是以服务为核心,是典型的通过模型来驱动的,整个过程中服务不仅可以被发现而且是无状态的[4]。(2)面向数据的体系结构在数据管理方面有着明显的优势,能够通过数据注册中心对数据完成有效管理、挖掘和分析,并且能够在不同结构的系统中实现信息的分享,其相较于当下主流的软件开发方式可以有效地解决信息数据的管理问题。(3)这两种软件工程所采用的软件开发方式都能够有效地提高软件的复用率。以数据为基础的软件能够满足不同用户的需求,追求用户个人体验的满足,但是以服务为基础的软件开发方法却受限于服务重用这一缺陷,没法追求个性化定制。(4)这种面向数据的软件工程能够在数据未被使用时对数据进行加密保护,能够在一定程度上对数据安全进行保护,提高软件的安全性能。

大数据开发的过程范文7

伴随着计算机技术和通信技术的发展,远程数据采集、监控和故障诊断的研究得到了有识之士的广泛注意,如大型火电机组和大型复杂设备的远程故障诊断[1][2]、远程数据采集系统[3]。

可惜目前没有一套统一的标准和可进行二次开发的远程维护系统平台。笔者旨在开发一套中小型机电产品的远程数据采集和维护系统的平台,客户可以在平台上进行二次开发,缩短开发各具体机电设备远程维护系统产品的周期。

1 远程数据采集系统硬件框图

数据采集量含有开关量和模拟量。现有大多数据据采集仪采用微机、内插A/D采集板和开关量采集板,造价高、体积大、携带不方便。采用带有A/D通道的PIC系列单片机采集现场数据,性价比将得到较大的提高。这对于机电产品的远程维护有着很大的意义。系统硬件结构框图见图1。

现场采集采用自行开发的单片机数据采集仪。该数据采集仪含有Modem芯片,可直接与电话网相连。不同地方的数据采集仪可通过拨号与维护中心的计算机联系,得到维护中心的应答信号后才可以把采集数据传送上去。数据采集仪仅把A/D转换的数字量直接上传,标度变换工作留给维护中心的计算机完成,这使得数据采集仪具有较好的通用性。对某一机电产品的远程维护或数据采集仅改变维护中心的计算机软件即可解决。

图2 数据采集仪硬件原理图

2 数据采集仪的硬件电路

该采集仪硬件原理如图2所示。最多采集48点,可以满足大部分小型机电产品测试点数的需要。不同的产品采集点数不同,采集的点数由维护中心的计算机发送下来。不同采集点当选,用不同的转接头,把未采集的点对地短接起来,抑制干扰。考虑到现场人员操作方便,维护中心的电话号码固定在PIC16C76芯片中。按下按钮K,RB4=0,继电器J通电,常闭触头J1闭合,接通电话线。固化在PIC16C76芯片中的电话号码通过RC4送给拨号芯片HT9200A。拔号期间指示灯D1闪亮,拨通并得到PC机的命令,RB4继续为0,指示灯D1常亮,此时可以进行采集数据的传送。若在规定时间内未能拨通,RB4=1,继电器继电,指示灯D1灭,可再次按K键进行拨号。为减小体积,采用超小型PS系列的开关电源模块PS0500AC5SR。

PIC16C76单片机内含复位电路,可采用片外复位和上电片内自行复位,图2选择上电片内复位。PIC16C76内含看门狗电路、368字节RAM和8K字节ROM、5路A/D转换。这里仅用到RA0一路,通过多路模块转换开关MC54HC4051芯片扩展采集路数。每一片多路转换开关有8路,共采用6片。某一片多路转换开关的INH为高电平时,依据RB0、RB1、RB2的取值选择某一路送到RA0。MC74HC04是六反相器,把74LS138选中的某一低电平信号反相变为高电平,从而选中多路模拟转换开关的某一片。MSM7512B是1200bps的半双工FSK Modem芯片,接口电路简单。Mod1、Mod2控制MSM7512B的工作模式——调制/解调/掉电模式。RS是模拟信号输出使能控制端,CD是输入检测的指示端。EAI为外部信号输入端,音频发生器HT9200A产生的信号通过EAI送给模拟输出端AO,AI为模拟输入端。

由于远程传输信号,直接从MSM7512B的AO端输出后通过600Ω的耦合变压器送到电话网上,功率太小。实践证明无法地实现计算机与数据采集仪之间的正确通信,故采用LM324进行运算放大。经过长距离实验证,系统可以准确通信。

3 软件设计

3.1 PC机软件设计

PC机的软件采用Visual C++ 5.0编写。不同的机电产品采集点不同,各点的名称、标度变换不相同,系统故障诊断程序也不可能相同。程序框图3中的参数名、正常值及点数表格显示子程序,标度变换子程序和故障诊断子程序源码开放,客户可利用现的软件平台进行二次开发成某一产品所需的应用软件。

3.2 数据采集仪的程序设计

数据采集仪根据PC机发来的采集点数进行采集,把采集到的数据传送到PC机。不管是开关量还是模拟量,均当作模拟量通过RA0进行A/D转换成8位数字量。程序框图见图4。

4 应用实例

把系统应用到笔者开发的项目——全自动三带同时捆扎大把捆钞机上。实验证实系统可以可靠远程采集大把捆钞机的有关开关量信号,用表格的形式反映开关状态是否正确,帮助维护人员修复故障。有关大把捆钞机介绍见参考文献[4]。

表1是纵带带头送得太长时的待机时刻开关状态表。从表1可知纵带光电开关出问题,导致无法检测纵带头到位信号,纵送带电机仅靠延时停,出现送带过长的故障。大把捆故障诊断程序有一定的难度 ,目前仍是靠技术人员根据测试状态和表格提示判断故障点。

大数据开发的过程范文8

【关键词】ADF;PL/SQL;数据批量操作

0.引言

多数管理信息系统的开发过程都要探讨数据操作的问题,其中主要包括对于数据操作的灵活性以及数据操作的效率两方面的问题。数据操作的灵活性为衡量开发框架优劣性的重要指标,同时为了提高封装性与开发效率,主流的开发框架对于数据的访问与操作都设计的十分方便。但由于多层的功能封装以及跨平台、跨数据库的设计要求,主流的开发框架在对数据操作灵活性大大提升的同时,也降低了数据批量操作时的效率。

ORACLE ADF框架作为ORALCE主推的JavaEE框架已成为ORACLE公司Fusion理念的主要开发框架。和其它的MVC框架相比,ADF在数据访问与操作方面十分灵活,开发人员甚至无需编程即可完成多数的常见数据操作。但ADF同样在批量数据操作时的效率问题不尽人意,因此应采用ADF BC操作数据和ORACLE PL/SQL存储过程调用相结合的方式进行项目的实际开发。

1.批量数据操作效率比较

为了突出说明问题,使用1万、10万、100万记录级别的数据表分别进行update操作执行效率的比较,比较内容主要包括如下三个类型(三种类型在同一计算机上执行,执行语句也相同):

1.1 VO对数据的直接访问修改

Model层的VO建立后,可在VO对应的XML文件里设置Tuning项对VO数据缓冲等配置进行设置,设置后即可提高VO的执行效率达到最佳状态。然后使用VO对数据表进行循环遍历以测试对数据批量操作的执行效率。

1.2 oracle.jbo.Transaction向数据库发送的SQL语句

Transaction类提供了executeCommand()方法以方便在Model层以事务的形式直接向数据库发送SQL语句进行执行。以下列出了Transaction类执行SQL语句的示例代码:

public static int commandExecute(String amName, String command) {

try {

return ADFUtils.getApplicationModuleForDataControl(amName).getTransaction().executeCommand(command);

} catch (Exception ex) {

JSFUtils.addFacesErrorMessage("SQL语句执行失败。");

ex.printStackTrace();

}

return 0;

}

1.3 PL/SQL存储过程的执行方式

本测试类型记录在ORACLE数据库的管理工具如SQLDeveloper中直接对PL/SQL存储过程进行执行的时间。

测试内容以修改数据表中所有数据的某字段为例,以上三种类型的执行时间比较如下:

通过比较可以看出,对于大批量的数据操作,VO直接访问的方式无法选用。Transaction类访问的形式效率和直接执行PL/SQL存储过程的效率相近,但是由于Transaction类只能单条执行SQL语句,而且SQL语句的错误也可能会带来ADF项目的整体崩溃,因此也不适合大量的SQL语句执行。因此最有效的批量数据操作方案为:将部分数据操作功能独立出来编写成存储过程,在使用时于ADF项目内直接向存储过程传递参数并调用执行。

限于篇辐,以下仅给出了ADF调用ORACLE PL/SQL存储过程的方案。

2.ADF提供对PL/SQL存储过程的访问方案

ADF中对于PL/SQL的调用使用到了java.sql.PreparedStatement类以及oracle.jbo.server.DBTransaction类,传值的参数分别为:AM的名称、存储过程的名称、传递的参数数组。以下代码可以实现对PL/SQL的直接访问。

3.小结

对于小型项目来说,ADF显示出了其开发及使用的优势,但是对于大型项目而言,执行效率是项目主要考察的因素之一。本文通过严格的测试表明,对于批量数据的操作,不可使用传统的MVC框架持久层的操作手段,而应该在数据库端对存储过程进行直接执行。本文同样给出了在ADF中访问PL/SQL存储过程的执行方案及代码。 [科]

【参考文献】

[1]Oracle??Application Development Framework Developer’s Guide.

[2]Oracle??Fusion Middleware Fusion Developer’s Guide for Oracle Application Development Framework.

大数据开发的过程范文9

【关键词】Delphi;SQL Server 2000;数据库;ADO

引言

数据库技术是计算机科学中发展最快的领域之一,也是应用最广的技术之一,它已成为计算机信息系统与应用系统的核心技术和重要基础[1]。

近年来,随着多媒体技术、空间数据库技术和计算机网络的飞速发展,数据库系统的发展十分迅速,应用领域愈来愈广,企事业单位和政府部门的行政管理、办公自动化;银行财务管理;宾馆、酒店房间预定系统;以及最近google推出的全球卫星定位系统、手机GPRS定位系统,其背后都是一个规模巨大的数据库。而Delphi在Windows系统平台下的可视化编程环境中占有相对的优势,是当前最热门的Windows程序开发环境之一,是用来开发数据库管理系统的主流软件,具有高效、优化和可扩展的数据库技术等特点,其功能十分强大[2]。

1、数据库系统理论

数据库(Database)是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。它是一个按数据结构来存储和管理数据的计算机软件系统。数据库为我们提供了一种把与我们的工作和生活机密相关的信息集合在一起的方法,它提供了在某个集中的地方存储和维护这些信息的方法。数据库系统主要由三大部分组成:数据库管理系统、数据库应用程序、数据库。

2、Delphi数据库开发优势

如果使用数据库语言进行传统的算术编程,虽然也能完成相应的功能,但是其编程过程可能极为复杂[3]。如果使用传统的编程语言进行数据库编程,通过调用专用的数据库应用程序接口函数和过程,利用这些函数和过程提供的功能,可能也能做到的比较完善,但这做起来大多繁琐,然而Delphi结合了俩个体系的优点,将传统的编程语言Object Pascal和数据库语言的强大功能融为一体,既可以用于传统的算术编程又可以用于数据库编程,特别是Delphi具有强大的数据库功能,利用Delphi的数据库工具,我们根本不需要编写任何Object Pascal代码便可以创建一个简单的数据库应用。

3、Delphi处理数据库方法

在Delphi开发中,连接数据库的方法一般使用BDE数据引擎和ADO技术,相对而言,BDE数据引擎有很多的优势,但是Borland公司对BDE数据引擎已经进入了后期维护的阶段,停止了对BDE数据引擎的更新开发。相反,ADO具有了广阔的发展前景。ADO技术是微软提出来的处理关系型数据库和非关系型数据库的新技术,它是专门为了给大范围商业数据源提供访问而设计的,包括传统的关系型数据表、电子邮件系统、图形格式、Internet资源等。ADO所需内存更少,更适合大流量和大失误量的网络计算机系统[4]。虽然ADO的执行效率可能有些不如BDE,但是ADO不仅仅具有BDE的一些优点,它还是通用的数据库访问技术,并得到了广泛的支持,使用范围广,升级和维护比较方便。

3.1 ADO与SQL Server 2000数据库连接

在Delphi中提供了ADO作为应用程序和OLE-DB连接的桥梁,ADO是一系列使应用程序具有访问数据库的能力的数据对象。TADOConnection是用来建立与ADO数据库之间联系的组件,各种ADO的数据集及操作组件可以共用这种联系来执行命令,读取数据,并执行相应的操作。

3.2 Delphi与SQL数据库间的数据运行

在SQL数据库中建立产品对应表,作为产品的查询基础信息,通过对应表的设计,将产品信息与客户的内部信息进行有效的关联,再运用Delphi工具开发前台界面,从全部的产品信息中选中客户要求的对应产品添加到产品目录中。

通过Delphi开发前台界面删除SQL数据库中的数据,“注销”功能,代码如下:

begin

adoquery1.Close;

adoquery1.SQL.Clear;

adoquery1.SQL.add('delete from cpxsqd where

djh='''+trim(ComboBox1.text)+'''');

ADOQuery1.ExecSQL;

showmessage('注销成功,并删除作废单据!');

end;

3.3 在Delphi环境下进行SQL数据库备份和导入

数据库的备份问题是开发应用系统中必不可少的一个功能模块,相对于后台

手工操作,本文应用程序自动实现这个功能。备份代码如下:

begin

mandText:='backup database shxs to DISK

='+''''+edit1.text+''''+'with init';

fmbackup.ADOCommand1.Execute;

showmessage('备份成功');

Edit1.Text:='';

end;