CN102033871B - 多个信息系统共享公共资源数据的方法和系统 - Google Patents
多个信息系统共享公共资源数据的方法和系统 Download PDFInfo
- Publication number
- CN102033871B CN102033871B CN 200910092985 CN200910092985A CN102033871B CN 102033871 B CN102033871 B CN 102033871B CN 200910092985 CN200910092985 CN 200910092985 CN 200910092985 A CN200910092985 A CN 200910092985A CN 102033871 B CN102033871 B CN 102033871B
- Authority
- CN
- China
- Prior art keywords
- masterplate
- general polling
- management system
- resource data
- resource
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出一种多个信息系统共享公共资源数据的方法和系统,其中方法包括:定义通用查询模版,所述通用查询模版包括:通用查询模版标识、入口参数和出口参数;统一资源管理系统存储所述通用查询模版;任意信息系统的上层应用系统将所述通用查询模版的标识和入口参数发送至统一资源管理系统,统一资源管理系统调用所述通用查询模版查询公共资源数据,根据所述出口参数反馈公共资源数据。本发明能够保证信息系统的上层应用系统简单、可靠、高效地共享公共资源数据。
Description
技术领域
本发明涉及数据库技术领域,特别涉及多个信息系统共享公共资源数据的方法和系统。
背景技术
为了支持业务发展,各行业建立的信息系统越来越多,多个信息系统需要共享公共资源数据的需求也越来越普遍。为满足这一需求,通常建立统一资源管理系统,由其统一维护公共资源数据,供多个信息系统共享。
然而,不同的资源数据并不是互不相关地孤立存在,它们之间存在复杂的关联关系。一般需要采用复杂查询条件、关联多级资源对象才能获取业务逻辑所需数据;还需要将多个关联的资源数据同步更新,以保证资源数据一致性。各信息系统分别、独立维护自己的资源数据时,上述需求一般是通过每个信息系统的数据库管理系统(DBMS)提供的多级复杂的结构查询语言(SQL)或存储过程、通过事务控制机制实现的。
目前,多个信息系统共享公共资源数据时,通常采用以下的方法:
各信息系统并不维护公共资源数据副本,而是在需要时实时调用统一资源管理系统提供的资源共享接口,获取或更新公共资源数据,实现公共资源数据的共享。参见图1,图1为现有的多个信息系统共享公共资源数据的操作模式示意图,包括:
在信息系统上层应用的开发阶段,开发设计人员在分析业务需求和理解资源模型(即公共资源数据的存储逻辑视图)的前提下,编写程序实现对公共资源数据的操作逻辑。
在信息系统上层应用的运行阶段,通过统一资源管理系统提供的资源共享接口查询或更新公共资源数据。由于目前的统一资源管理系统提供的资源共享接口只是针对单一种类资源数据的,因此,当需要查询多类资源数据时,信息系统的上层应用需要多次调用资源共享接口(根据初始查询条件调用接口得到中间结果,分析中间结果形成下次查询条件并再次调用接口,依此类推,经过多次调用接口得到最终查询结果);当需要更新资源数据时,信息系统上层应用同样需要采用类似的过程多次调用资源共享接口,并自行控制事务的提交或回滚。
由上述操作模式可以看出,由于需要实时多次调用资源共享接口,现有的多个信息系统共享公共资源数据的方法存在以下缺陷:
1、传统模式下DBMS可以完成的存储过程、事务控制等机制都需要由每个信息系统的上层应用系统自行实现,不但对系统的性能和稳定性带来了不利影响,而且大大增加了信息系统的上层应用系统逻辑的复杂性,导致统一资源管理系统很难发挥实际作用。
2、信息系统、统一资源管理系统和数据库之间交换的数据量过大,影响系统和网络性能。
3、信息系统的上层应用系统的事务控制无法真正保证原子性,在提交或回滚之前,其他信息系统可能访问到不一致的资源数据、引起逻辑混乱。
发明内容
本发明提出一种多个信息系统共享公共资源数据的方法和系统,可以充分利用DBMS的技术优势,保证信息系统的上层应用系统简单、可靠、高效地共享公共资源数据。
本发明的技术方案是这样实现的:
一种多个信息系统共享公共资源数据的方法,包括:
定义通用查询模版,所述通用查询模版包括:通用查询模版标识、入口参数和出口参数、公共资源数据中包含的资源对象的名称、属性和各个资源对象之间的关系;
统一资源管理系统存储所述通用查询模版;所述统一资源管理系统存储通用查询模版的方式为:采用可扩展标记语言XML格式进行存储;所述统一资源管理系统进一步将所述通用查询模版翻译为SQL语句或者存储过程;
任意信息系统的上层应用系统将所述通用查询模版的标识和入口参数发送至统一资源管理系统,统一资源管理系统调用所述通用查询模版,根据所述资源对象的名称、属性和各个资源对象之间的关系查询所述公共资源数据,根据所述出口参数反馈公共资源数据;
所述统一资源管理系统调用所述通用查询模版的方式为:
所述统一资源管理系统根据通用查询模版的标识,定位所述通用查询模版对应的SQL语句或者存储过程;将通用查询模版的入口参数传递至所述SQL语句或者存储过程,调用所述通用查询模版。
一种多个信息系统共享公共资源数据的系统,包括:
统一资源管理系统,用于存储通用查询模版,所述通用查询模版包括:通用查询模版标识、入口参数、出口参数和公共资源数据中包含的资源对象的名称、属性和各个资源对象之间的关系;所述存储通用查询模版的方式为:采用可扩展标记语言XML格式进行存储;还用于将所述通用查询模版翻译为SQL语句或者存储过程;还用于根据信息系统的上层应用系统发送的通用查询模版的标识和入口参数调用所述通用查询模版,根据所述资源对象的名称、属性和各个资源对象之间的关系查询所述公共资源数据,根据所述出口参数向信息系统的上层应用系统反馈公共资源数据;所述调用所述通用查询模版的方式为:所述统一资源管理系统根据通用查询模版的标识,定位所述通用查询模版对应的SQL语句或者存储过程;将通用查询模版的入口参数传递至所述SQL语句或者存储过程,调用所述通用查询模版;
信息系统的上层应用系统,用于向统一资源管理系统发送通用查询模版的标识和入口参数。
综上可见,本发明提出的多个信息系统共享公共资源数据的方法和系统,在信息系统上层应用系统的开发阶段定义并保存通用查询模版(UQT,Universal Query Template);在运行阶段,信息系统的上层应用系统将UQT的标识和入口参数发送至统一资源管理系统,统一资源管理系统将该UQT在DBMS中执行;根据UQT的出口参数,从执行过程获得的结果中选择出所需信息,并反馈至信息系统的上层应用系统。通过这种方式,克服了信息系统的上层应用系统多次查询的缺陷,可以充分利用DBMS的存储过程和事务控制等机制,保证信息系统的上层应用系统简单、可靠、高效地共享公共资源数据。
附图说明
图1为现有的多个信息系统共享公共资源数据的操作模式示意图;
图2为本发明实施方式多个信息系统共享公共资源数据的方法流程图;
图3为本发明实施方式UQT执行过程流程图;
图4为本发明实施方式多个信息系统共享公共资源数据的操作模式示意图。
具体实施方式
本发明提出一种多个信息系统共享公共资源数据的方法,通过定义通用查询模版(UQT,Universal Query Template),将公共资源数据操纵条件定义与公共资源数据操作执行分离,实现多个信息系统对公共资源数据的有效共享。
参见图2,图2为本发明实施方式多个信息系统共享公共资源数据的方法流程图,包括:
步骤201:UQT定义。开发设计人员在分析业务需求和理解资源模型(即公共资源数据的存储逻辑视图)的前提下,将资源模型抽象为资源对象、属性和关系。其中,资源对象和属性可理解为虚拟表及其字段,关系可理解为通过关系表记录的资源对象间多对多的关系。
定义的UQT包括三部分内容:
(1)资源对象的名称、资源对象的属性和各个资源对象之间的关系。符合一定关系的资源对象、属性集合定义了整个资源模型中的或大或小、或简单或复杂的子集。
例如,定义一个UQT,其标识为UQT1。UQT1中,服务器和交换机分别是2个资源对象的名称。
其中,服务器资源对象的属性包括:名称、IP地址、物理位置、端口号等;交换机资源对象的属性包括:名称、IP地址、物理位置、端口号、负责人等。
服务器资源对象和交换机资源对象的关系为:网络连接关系。
(2)入口参数。定义哪些属性可以作为UQT1的入口参数。
例如,针对上述定义的UQT1,将服务器资源对象的物理位置属性作为UQT1的入口参数。
(3)出口参数。定义哪些属性可以作为UQT1的入口参数。
例如,针对上述定义的UQT1,将交换机资源对象的名称、端口号、负责人作为UQT1的出口参数。
步骤202:UQT存储。
将步骤201中定义的UQT存储在统一资源管理系统中,一般可以采用可扩展标记语言(XML)格式进行存储。同时,统一资源管理系统自动将UQT翻译为SQL语句或者存储过程。
上述步骤201和步骤202均在信息系统的上层应用系统开发阶段完成,可以随时对定义的UQT进行测试,以确定操作结果是否符合预期。
步骤203:UQT执行。在信息系统的上层应用系统运行阶段,信息系统的上层应用系统调用UQT时,将UQT标识和入口参数的内容传递给统一资源管理系统;统一资源管理系统根据UQT标识定位对应的SQL语句或者存储过程,将入口参数的内容传递进去,并启动执行,根据该UQT中定义的资源对象的名称、属性和各个资源对象之间的关系查询公共资源数据;在执行过程中获得的中间结果和最终结果中根据UQT中定义的出口参数挑选所需信息,返回给信息系统的上层应用系统,完成UQT的执行。
以下以上述步骤201中定义的UQT1为例,详细介绍UQT执行过程,参见图3,图3为本发明实施方式UQT执行过程流程图,包括:
步骤301:当信息系统需要查询与位于101号机房的服务器存在网络连接关系的交换机的相关属性(包括名称、端口号、负责人)时,信息系统的上层应用系统通过资源共享接口将UQT标识(即UQT1)和入口参数的内容(即服务器资源对象的物理位置属性=101机房)传递给统一资源管理系统。
步骤302:统一资源管理系统根据UQT标识(即UQT1),定位UQT1对应的SQL语句或者存储过程,将入口参数的内容(即服务器资源对象的物理位置属性=101机房)传递进去,并启动执行UQT1,根据UQT1中定义的资源对象的名称、属性和各个资源对象之间的关系,查询到与101号机房的服务器存在网络连接关系的交换机的所有属性(包括IP地址、物理位置、端口号、负责人)。
步骤303:统一资源管理系统根据UQT1的出口参数(即交换机资源对象的名称、端口号、负责人),从步骤302的查询结果中挑选出所有符合要求的交换机的名称、端口号和负责人,并将挑选出的信息返回给信息系统的上层应用系统。
由上述UQT执行过程可以看出,UQT执行是在信息系统的上层应用系统运行阶段进行的,运行阶段复杂的数据库交互操纵由统一资源管理系统交给数据库本身进行,保证了UQT执行效率和有效的会话控制。
另外,由图2所示的多个信息系统共享公共资源数据的方法可以看出,本发明是在理解公共资源数据资源模型(即公共资源数据的存储逻辑视图)的前提下,根据各个信息系统在实际使用时的业务需求定义UQT的。例如,当发现某一物理位置的服务器出现故障时,信息系统通常需要查询与该服务器存在网络连接关系的交换机的名称、端口号和负责人,以便进行相应处理;根据这一业务需求,系统开发设计人员结合公共资源数据的存储逻辑,定义出上述的UQT1。在信息系统的上层应用系统运行阶段,直接输入UQT1及服务器资源对象的物理位置属性,就可以查询到所需的相关信息。本领域技术人员很容易理解,上述定义的UQT1仅是一个实施方式,在信息系统上层应用系统的开发阶段,开发设计人员还可以根据其它的业务需求定义其它的UQT,并在信息系统上层应用系统的运行阶段使用该UQT进行数据操作;定义及执行方法与UQT1相同,在此不一一举例。
由上述多个信息系统共享公共资源数据的方法可见,本发明实现了数据操纵条件定义与数据操作动作执行的分离,可以达到多个信息系统对公共资源数据的有效共享。并且,信息系统的上层应用系统只需调用一次资源共享接口,克服了上层应用系统多次查询的缺陷,可以充分利用现有的DBMS的存储过程和事务控制机制,保证信息系统的上层应用系统简单、可靠、高效地操纵公共资源数据。
参见图4,图4为本发明实施方式多个信息系统共享公共资源数据的操作模式示意图,与传统方式的区别主要体现在如下几个方面:
数据操纵条件定义和数据操作动作执行的分离。信息系统的上层应用系统设计开发人员理解资源模型(数据存储逻辑视图)和业务需求之后,不是直接编写程序,而是根据信息系统的业务需求,首先在统一资源管理系统中定通用查询模版(UQT),包括多类资源对象之间的复杂关联关系、入口参数和出口参数。统一资源管理系统会统一存储定义的UQT;然后,在信息系统的上层应用系统运行阶段,上层应用系统编写程序,实现对UQT的调用。
开发效率的提升。由于复杂条件查询、更新事务控制都是通过UQT实现的,上层应用开发人员只需调用UQT,无须了解数据存储细节,因此开发复杂性大大降低,开发效率得到提升,这使得多个信息系统的上层应用系统共享公共资源数据变得比较现实。
执行效率的提升。在信息系统的上层应用系统运行时提供入口参数调用UQT,统一资源管理系统把UQT转换为复杂SQL或者存储过程,在DBMS中运行,中间结果不在DBMS、统一资源管理系统和信息系统的上层应用系统之间传输,也可以直接利用DBMS的优化机制,使执行效率和系统性能都得到提升。
本发明实施方式还提出一种多个信息系统共享公共资源数据的系统,包括:
统一资源管理系统,用于存储通用查询模版,所述通用查询模版包括:通用查询模版标识、入口参数和出口参数;还用于根据信息系统的上层应用系统发送的通用查询模版的标识和入口参数调用所述通用查询模版查询公共资源数据,根据所述出口参数向信息系统的上层应用系统反馈公共资源数据;
信息系统的上层应用系统,用于向统一资源管理系统发送通用查询模版的标识和入口参数。
上述通用查询模版还可以包括:公共资源数据中包含的资源对象的名称、属性和各个资源对象之间的关系。
以上所述仅为本发明的较佳实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (5)
1.一种多个信息系统共享公共资源数据的方法,其特征在于,所述方法包括:
定义通用查询模版,所述通用查询模版包括:通用查询模版标识、入口参数、出口参数、公共资源数据中包含的资源对象的名称、属性和各个资源对象之间的关系;
统一资源管理系统存储所述通用查询模版;所述统一资源管理系统存储通用查询模版的方式为:采用可扩展标记语言XML格式进行存储;所述统一资源管理系统进一步将所述通用查询模版翻译为SQL语句或者存储过程;
任意信息系统的上层应用系统将所述通用查询模版的标识和入口参数发送至统一资源管理系统,统一资源管理系统调用所述通用查询模版,根据所述资源对象的名称、属性和各个资源对象之间的关系查询所述公共资源数据,根据所述出口参数反馈公共资源数据;
所述统一资源管理系统调用所述通用查询模版的方式为:
所述统一资源管理系统根据通用查询模版的标识,定位所述通用查询模版对应的SQL语句或者存储过程;将通用查询模版的入口参数传递至所述SQL语句或者存储过程,调用所述通用查询模版。
2.根据权利要求1所述的方法,其特征在于,所述定义通用查询模版的方式为:根据所述多个信息系统的业务需求和所述公共资源数据的资源模型进行定义。
3.根据权利要求1所述的方法,其特征在于,所述信息系统的上层应用系统将通用查询模版的标识和入口参数发送至统一资源管理系统的方式为:信息系统的上层应用系统通过所述统一资源管理系统提供的资源共享接口进行发送。
4.根据权利要求1所述的方法,其特征在于,所述统一资源管理系统根据所述出口参数反馈公共资源数据的方式为:
根据所述出口参数,从所述查询到的公共资源数据中挑选出符合出口参数要求的公共资源数据,将所述挑选出的公共资源数据反馈至所述信息系统的上层应用系统。
5.一种多个信息系统共享公共资源数据的系统,其特征在于,所述系统包括:
统一资源管理系统,用于存储通用查询模版,所述通用查询模版包括:通用查询模版标识、入口参数、出口参数、公共资源数据中包含的资源对象的名称、属性和各个资源对象之间的关系;所述存储通用查询模版的方式为:采用可扩展标记语言XML格式进行存储;还用于将所述通用查询模版翻译为SQL语句或者存储过程;还用于根据信息系统的上层应用系统发送的通用查询模版的标识和入口参数调用所述通用查询模版,根据所述资源对象的名称、属性和各个资源对象之间的关系查询所述公共资源数据,根据所述出口参数向信息系统的上层应用系统反馈公共资源数据;所述调用所述通用查询模版的方式为:所述统一资源管理系统根据通用查询模版的标识,定位所述通用查询模版对应的SQL语句或者存储过程;将通用查询模版的入口参数传递至所述SQL语句或者存储过程,调用所述通用查询模版;
信息系统的上层应用系统,用于向统一资源管理系统发送通用查询模版的标识和入口参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910092985 CN102033871B (zh) | 2009-09-25 | 2009-09-25 | 多个信息系统共享公共资源数据的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910092985 CN102033871B (zh) | 2009-09-25 | 2009-09-25 | 多个信息系统共享公共资源数据的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102033871A CN102033871A (zh) | 2011-04-27 |
CN102033871B true CN102033871B (zh) | 2013-01-02 |
Family
ID=43886785
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910092985 Active CN102033871B (zh) | 2009-09-25 | 2009-09-25 | 多个信息系统共享公共资源数据的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102033871B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106657683A (zh) * | 2016-11-04 | 2017-05-10 | 上海携程商务有限公司 | 用于多个通信系统的统一管理方法及系统 |
CN113515603A (zh) * | 2021-04-27 | 2021-10-19 | 深圳力维智联技术有限公司 | 机房运维监控数据的处理方法、系统及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6327629B1 (en) * | 1996-05-31 | 2001-12-04 | International Business Machines Corporation | Stored procedure universal calling interface |
CN101408899A (zh) * | 2008-11-21 | 2009-04-15 | 北京中企开源信息技术有限公司 | 一种网站多数据源切换方法和装置 |
CN101477596A (zh) * | 2009-02-02 | 2009-07-08 | 中国网络通信集团公司 | 医疗数据中心系统 |
CN101604338A (zh) * | 2009-07-23 | 2009-12-16 | 杭州华三通信技术有限公司 | 一种实现用户自定义的信息查询方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001306371A (ja) * | 2000-04-20 | 2001-11-02 | Ntt Data Corp | データベース構築システム及びデータベース構築方法 |
CN101042751A (zh) * | 2007-01-18 | 2007-09-26 | 北京佳讯飞鸿电气有限责任公司 | 一种灵活、可扩展动态统计的实现方法及系统 |
CN101196926A (zh) * | 2007-12-29 | 2008-06-11 | 中国建设银行股份有限公司 | 一种数据库访问平台及其访问方法 |
CN101256650B (zh) * | 2008-03-21 | 2012-02-15 | 中国科学院软件研究所 | 一种基于业务实体的企业数据提取方法与系统 |
-
2009
- 2009-09-25 CN CN 200910092985 patent/CN102033871B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6327629B1 (en) * | 1996-05-31 | 2001-12-04 | International Business Machines Corporation | Stored procedure universal calling interface |
CN101408899A (zh) * | 2008-11-21 | 2009-04-15 | 北京中企开源信息技术有限公司 | 一种网站多数据源切换方法和装置 |
CN101477596A (zh) * | 2009-02-02 | 2009-07-08 | 中国网络通信集团公司 | 医疗数据中心系统 |
CN101604338A (zh) * | 2009-07-23 | 2009-12-16 | 杭州华三通信技术有限公司 | 一种实现用户自定义的信息查询方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102033871A (zh) | 2011-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103377289B (zh) | 统一表查询处理 | |
CN103377148B (zh) | 一种统一表架构中执行部分合并的方法及系统 | |
US7096231B2 (en) | Export engine which builds relational database directly from object model | |
CN109670089A (zh) | 知识图谱系统及其图服务器 | |
US7596550B2 (en) | System and method for query planning and execution | |
CN109144994A (zh) | 索引更新方法、系统及相关装置 | |
CN109087004B (zh) | 一种基于领域模型的公共工作流引擎系统 | |
US5987452A (en) | Query translation system | |
CN102255752A (zh) | 一种服务器集群的配置管理系统和方法 | |
WO2020135613A1 (zh) | 数据查询处理方法、装置及系统、计算机可读存储介质 | |
US20110010379A1 (en) | Database system with query interception and redirection | |
CN1959676B (zh) | 用于在计算机数据库系统中物化查询表日志的装置和方法 | |
WO2016123921A1 (zh) | 基于Http协议的多数据源的数据处理方法及系统 | |
US6748393B1 (en) | Transparent updates to partitioned views in a federated database system | |
CN106462575A (zh) | 群集内存数据库的设计及实现 | |
CA2627270A1 (en) | System and method for displaying data on a thin client | |
CA2493269A1 (en) | Method and system of unifying data | |
CN110019314B (zh) | 基于数据项分析的动态数据封装方法、客户端和服务端 | |
US20130055235A1 (en) | Custom code innovation management | |
CN104111958A (zh) | 一种数据查询方法及装置 | |
CN109241054A (zh) | 一种多模型数据库系统、实现方法以及服务器 | |
US11893026B2 (en) | Advanced multiprovider optimization | |
CN103336782A (zh) | 一种关系型分布式数据库系统 | |
CN106020847A (zh) | 一种持久层开发框架配置sql的方法和装置 | |
CN109902114A (zh) | Es集群数据复用方法、系统、计算机装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |