在确保软件模块独立的同时实现数据库应用的系统和方法技术方案

技术编号:2847176 阅读:213 留言:0更新日期:2012-04-11 18:40
提供了一种用于在确保软件模块独立的同时实现数据库应用的系统和方法。所述系统包括:XML处理单元、SQL信息单元、对象池和调度程序。系统可保证软件模块的独立和开发数据库应用的灵活性、减少软件程序的开发和维护成本并确保软件程序的独立。

【技术实现步骤摘要】

本专利技术涉及一种开发软件程序的方法和设备,更具体地说,涉及一种在确保各个软件模块独立的同时使用数据库开发软件程序的方法和设备。
技术介绍
由于已经开发具有网络功能的大型软件程序数量的增加,作为这种软件程序的一部分的数据库的重要性已经稳步地增长。另外,更多的公众注意已经被吸引到一种存储在数据库中的数据被软件程序处理的方法、处理存储在数据库中的数据需要的软件模块的类型、和在提高数据库的效率的同时确保软件模块的独立的方法。一般地,不仅仅是开发软件程序,还有更新这样的软件程序,都需要相当多的时间。图1是解释包括用于处理数据的模块的传统的数据库相关的软件程序的格式的框图。参照图1,用于处理数据的软件程序包括应用代码10、数据处理逻辑20和数据库30。应用代码10从用户或除了用户的外部源接收数据,并显示接收的数据。数据处理逻辑20是用于处理由应用执行的各种操作的程序,所述操作例如,搜索数据库30、修改存储在数据库30的数据和将数据输入到数据库30,并且数据处理逻辑20包括结构化查询语言(SQL)语句(statement)。数据库30是用于存储和管理数据的模块。用于搜索数据库30寻找期待的数据所用的时间和数据库30存储数据的方法可根据数据库30的类型而改变。一般地,软件程序可由以下三个理由被改变。第一,当应用代码10将字段,特别地,日志记录字段,加入到协议消息时,软件程序可被改变。应用代码10配合于用户或者外部软件程序,由此应用代码10容易由于各种外部的因素而改变。第二,当数据库30的模式改变时,例如,当组成数据库30的表被改变时或者当表的列的名称被改变时,软件程序可被改变。第三,当数据处理逻辑20由于对应用代码10作出的改变或者对数据库30作出的改变(例如,当数据库30的字段改变时)而改变时,或者当数据处理逻辑20为了提高处理SQL语句的速度被调整时,软件程序可被改变。但是,应用代码10、数据处理逻辑20和数据库30是紧密相关的,从而,在应用代码10、数据处理逻辑20和数据库30之一中的变化可影响其它两者。图2至图4示出用于处理数据的传统的系统或者解决方案的示例。特别地,图2至图4是用于解释处理数据的传统方法的框图。图2是用于解释传统的数据库相关的软件程序的格式的框图,在所述软件程序中SQL语句被硬编码(hard-coded)进包括Java数据库连接(JDBC)并使用JDBC处理数据的应用代码。参照图2,应用代码11使用Java数据库连接(JDBC)21处理数据,并且SQL语句22被硬编码进应用代码11。图2的格式广泛地用于开发唯一地用于特定的解决方案的数据库处理代码,不能确保数据处理程序的独立。因此,当数据库30被改变时,应用代码11中的SQL语句22必须相应地改变。在图2的格式中,调用JDBC 21的数据库处理代码依赖于预定的应用,从而提供一些性能优势。图3是用于解释传统的数据库相关的软件程序的格式的框图,在所述软件程序中SQL语句从包括JDBC并使用JDBC处理数据的应用代码中分离。图3的格式一般被用于商用中间件解决方案中。参照图3,SQL语句22独立于应用代码12而实现。因此,当数据库30被改变时,应用代码12仍然需要相应地改变。图4是用于解释传统的数据库相关的软件程序的格式的框图,在所述软件程序中数据处理代码从应用代码中被分离。参照图4的格式,JDBC 21和SQL语句22被硬编码进数据处理代码。图4的格式一般用于作为开源框架的一种的Spring Framework、由TIBCO软件公司制造的产品、商用数据处理软件开发工具包(SDK),诸如融合框架(fusion framework),和商业web应用服务器(WAS)的数据访问对象(DAO)模块,诸如WebLogic或者JRun。应用代码10仅将输入参数发送到数据处理逻辑,并且数据处理逻辑将SQL语句22输入到数据库,从数据库接收执行SQL语句22的结果,将执行结果作为Java收集对象而不是SQL ResultSet发送到应用代码10。图4中所示的这一格式可确保除SQL语句22以外的所有软件模块的一定程度的独立。表1 是按照确保软件模块相互之间的独立来比较在图2至图4中示出的格式的性能。表1 当软件模块相互不独立时,软件模块之一的变化影响其它软件模块,从而增加相应的软件程序的开发和维持成本。但是,如果软件模块相互独立地被实现,则包括软件模块的系统的性能可恶化。因此,有必要开发确保软件模块互相独立并且防止系统性能恶化的系统。
技术实现思路
本专利技术提供一种在确保程序的软件模块独立的同时用于开发与数据库一起被执行的软件程序的系统和方法。本专利技术还提供一种当与连接到应用的对象一起执行应用时用于减少上下文切换的系统和方法。通过对下面描述的研究,本专利技术的上述方面和其它方面、特点和优点,对于本领域的技术人员将是清晰的。说明性的、非限制性的本专利技术的示例性实施例克服了上述缺点和上面没有描述的其它缺点。另外,本专利技术没有被要求克服上诉缺点,并且说明性的、非限制性的本专利技术的实施例可不克服上诉任何问题。根据本专利技术的一方面,提供一种在确保软件模块的独立的同时,实现数据库应用的系统,所述系统包括XML(可扩展标示语言)处理单元,分析XML文件的元素及提取SQL语句和SQL语句的识别信息;SQL信息单元,将SQL语句和SQL语句的识别信息加载到存储器装置;对象池,包括一个或多个处理对象,所述处理对象从应用接收SQL语句识别信息,搜索与接收的SQL语句识别信息相应的SQL语句,发送发现的SQL语句,从数据库接收执行发现的SQL语句的结果,并将执行结果发送到所述应用;调度程序,从应用接收第一SQL语句识别信息,从对象池选择先前从应用接收第二SQL语句识别信息的处理对象,并将第一SQL语句识别信息发送到选择的处理对象。根据本专利技术的另一方面,提供一种在确保软件模块的独立的同时实现数据库应用的方法,所述方法包括分析XML文件的元素及提取SQL语句和SQL语句的识别信息;将SQL语句和SQL语句的识别信息加载到存储器装置;从应用接收第一SQL语句识别信息,选择先前从应用接收第二SQL语句识别信息的处理对象,并将第一SQL语句识别信息发送到选择的处理对象;使选择的处理对象搜索与第一SQL语句识别信息相应的SQL语句,将发现的SQL语句发送到数据库,从数据库接收执行发现的SQL语句的结果,将执行结果发送到所述应用。附图说明通过参照附图对示例性实施例进行的详细描述,本专利技术的上述和其它特点和优点将会变得更加清楚,其中图1是解释包括用于处理数据的模块的传统的数据库相关的软件程序的格式的框图;图2是用于解释传统的数据库相关的软件程序的格式的框图,在所述软件程序中SQL语句被硬编码(hard-coded)进包括JDBC和使用JDBC处理数据的应用代码;图3是用于解释传统的数据库相关的软件程序的格式的框图,在所述软件程序中SQL语句从包括JDBC并使用JDBC处理数据的应用代码中分离;图4是用于解释传统的数据库相关的软件程序的格式的框图,在所述软件程序中数据处理代码从应用代码中分离;图5是根据本专利技术的示例性实施例的数据处理系统的框图;图6是根据本专利技术的示例性实施例的用于解释数据处理系统的多个本文档来自技高网
...

【技术保护点】
一种系统包括:XML处理单元,分析XML文件的元素及提取SQL语句和SQL语句的识别信息;SQL信息单元,将SQL语句和SQL语句的识别信息加载到存储器装置;对象池,包括一个或多个处理对象,所述处理对象从应用接收SQ L语句识别信息,搜索与接收的SQL语句识别信息相应的SQL语句,发送发现的SQL语句,从数据库接收执行发现的SQL语句的结果,并将执行结果发送到所述应用;和调度程序,从应用接收第一SQL语句识别信息,从对象池选择先前从应用接收第二S QL语句识别信息的处理对象,并将第一SQL语句识别信息发送到选择的处理对象。

【技术特征摘要】
KR 2005-6-7 10-2005-00484701.一种系统包括XML处理单元,分析XML文件的元素及提取SQL语句和SQL语句的识别信息;SQL信息单元,将SQL语句和SQL语句的识别信息加载到存储器装置;对象池,包括一个或多个处理对象,所述处理对象从应用接收SQL语句识别信息,搜索与接收的SQL语句识别信息相应的SQL语句,发送发现的SQL语句,从数据库接收执行发现的SQL语句的结果,并将执行结果发送到所述应用;和调度程序,从应用接收第一SQL语句识别信息,从对象池选择先前从应用接收第二SQL语句识别信息的处理对象,并将第一SQL语句识别信息发送到选择的处理对象。2.如权利要求1所述的系统,其中,XML文件包括执行从XML文件提取的SQL语句必需的数据库信息。3.如权利要求1所述的系统,其中,XML文件或XML文件的元素是加密的,并且XML处理单元包括解密XML文件或XML文件的元素的XML加密/解密处理单元。4.如权利要求1所...

【专利技术属性】
技术研发人员:金奎百
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:KR[韩国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1