CN103678575A - 通过中间件实现多种数据库数据统一处理的方法和系统 - Google Patents

通过中间件实现多种数据库数据统一处理的方法和系统 Download PDF

Info

Publication number
CN103678575A
CN103678575A CN201310665717.3A CN201310665717A CN103678575A CN 103678575 A CN103678575 A CN 103678575A CN 201310665717 A CN201310665717 A CN 201310665717A CN 103678575 A CN103678575 A CN 103678575A
Authority
CN
China
Prior art keywords
data
database
middleware
request
statement
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.)
Granted
Application number
CN201310665717.3A
Other languages
English (en)
Other versions
CN103678575B (zh
Inventor
兰俊松
刘念林
王德鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Jiuzhou Investment Holding Group Co.,Ltd.
Original Assignee
Sichuan Jiuzhou Electric Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sichuan Jiuzhou Electric Group Co Ltd filed Critical Sichuan Jiuzhou Electric Group Co Ltd
Priority to CN201310665717.3A priority Critical patent/CN103678575B/zh
Publication of CN103678575A publication Critical patent/CN103678575A/zh
Application granted granted Critical
Publication of CN103678575B publication Critical patent/CN103678575B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion
    • G06F16/86Mapping to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及数据库技术领域,本发明公开了一种通过中间件实现多种数据库统一处理的方法,其包括以下步骤:步骤一、将数据库中的每个数据表映射成一个XML文件;步骤二、应用软件将用户的数据请求发送到中间件,中间件收到客户端应用软件的数据请求后进行分析,根据数据请求的内容生成相应的SQL语句;步骤三、将数据通过统一的客户端访问接口API进行展示,表现层收到数据后,对前端页面的HTML文件进行数据绑定,将HTML文件中的节点与获取的XML节点进行数据绑定,从而进行数据展示。本发明还公开了一种通过中间件实现多种数据库统一处理的系统。根据数据请求自动生成相应的SQL语句,避免了应用层与数据库之间过于紧密的绑定和约束,从而实现多种数据库的快速移植和管理。

Description

通过中间件实现多种数据库数据统一处理的方法和系统
技术领域
本发明属于信息系统开发和数据库技术领域,尤其涉及一种通过中间件实现多种数据库数据统一处理的方法和系统。
背景技术
数据库指的是以一定方式储存在一起的数据集合,能为多个用户共享并具有尽可能小的冗余度,其与应用程序彼此独立。现有技术中数据库包括ORACLE、DB2、SQL Server、Sybase、Informix、MySQL、VF、Access等等。
现有技术中,应用软件都是使用特定的数据库作为数据层处理的中心,数据库访问接口和语法都是在标准的SQL上进行的,因此导致应用层的访问与特定的数据库之间进行了过于紧密的绑定和约束,没有能够进行多种数据库数据统一处理的方法,因此很难实现多种数据库的移植和管理。
比如,当要查询数据库中某一类数据时,用户需要在客户端程序上书写完整的SQL查询语句,比如需要查询的是:工资在999和1001之间的数据,则需要书写完整的SQL查询语句:select * from table where gongzi between 999 and 1001,并将这个SQL查询语句发送给对应的数据库进行处理。而如果换一个数据库,如果保存工资的表变成table,则显然上述的查询语句也要相应重新进行书写,这无疑增加了客户端应用程序的开发周期和人力成本。同时,对于客户而言,也不能轻易更换数据库,因为更换数据库就必然导致其他应用程序需要更新,导致用户不能任意选择数据库。
发明内容
本发明的目的是针对现有技术中客户端程序与数据库绑定过密导致客户端程序开发困难以及用户数据库选择受限的技术问题,本发明公开了一种通过中间件实现多种数据库统一处理的方法,通过本发明的方法,避免了客户端程序与数据库绑定过密的问题。本发明还公开了一种通过中间件实现多种数据库统一处理的系统。
本发明的目的通过下述技术方案来实现:
一种通过中间件实现多种数据库统一处理的方法,其具体包括以下的步骤:步骤一、将数据库中的每个数据表映射成一个XML文件,每一个XML文件的节点与数据表中的一个字段一一映射;步骤二、客户端应用软件将用户的数据请求发送到中间件,中间件收到客户端应用软件的数据请求后进行分析,根据数据请求的内容生成相应的SQL语句;步骤三、将数据通过统一的客户端访问接口API进行展示,表现层收到数据后,对前端页面的HTML文件进行数据绑定,将HTML文件中的节点与获取的XML节点进行数据绑定,从而进行数据展示。
更进一步地,上述用户的请求数据通过标准的XMLHTTP方法类中的soap和send方法将数据请求发送到中间件。
更进一步地,上述中间件对数据请求进行分析的具体过程为:首先分析M:F标识,当M:F=N表示新增记录,后续生成数据库插入insert语句;当M:F=M表示修改记录,后续生成数据库插入update语句;当M:F=D表示删除记录,后续生成数据库插入delete语句。
本发明还公开了一种通过中间件实现多种数据库统一处理的系统,其具体包括文件映射模块、数据库语句生成模块和数据显示模块;所述文件映射模块用于将数据库中的每个数据表映射成一个XML文件,每一个XML文件的节点与数据表中的一个字段的一一映射;所述数据库语句生成模块用于SQL语句的生成,对客户端应用软件的数据请求进行分析,生成相应的SQL语句;所述数据显示模块用于将数据通过统一的客户端访问接口API进行展示,表现层收到数据后,对前端页面的HTML文件进行数据绑定,将HTML文件中的节点与获取的XML节点进行数据绑定,从而进行数据展示。
更进一步地,上述用户的请求数据通过标准的XMLHTTP方法类中的soap和send方法将数据请求发送到中间件。
更进一步地,上述数据请求进行分析的具体过程为:首先分析M:F标识,当M:F=N表示新增记录,后续生成数据库插入insert语句;当M:F=M表示修改记录,后续生成数据库插入update语句;当M:F=D表示删除记录,后续生成数据库插入delete语句。
通过采用以上技术方案,本发明具有以下有益效果:通过对数据库中的元数据MD进行封装,采用标准的XML作为统一的数据载体,把XML树作为一种抽象的数据结构,通过对XML树进行处理,实现应用逻辑的处理。并把这种处理结果反馈到用户层,从而实现完整的数据处理流程。本发明使得应用软件中在书写代码时不需要具体描述SQL语句,而是通过中间件根据客户端应用软件的数据请求自动生成相应的SQL语句,避免了应用层的访问与特定的数据库之间进行了过于紧密的绑定和约束,从而实现多种数据库的快速移植和管理。
附图说明
图1为本发明的通过中间件实现多种数据库统一处理的方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合说明书附图及具体实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为本发明的通过中间件实现多种数据库统一处理的方法的流程图。第一步:元数据MD的XML封装和映射。通过把一个数据表与一个标准的XML文件进行绑定,表中每一个字段对应一个XML文件节点。实现了异构的数据库表统一到标准的XML数据结构的映射;第二步:XML数据逻辑处理过程和表现层数据生成。在数据处理层,通过中间件的逻辑处理模块,划分出数据查询QE引擎、数据读写DE引擎。前者负责应用层数据的查询,后者负责应用层数据的增加、删除和修改。一方面,中间件对数据处理结果进行表现层的访问和数据生成,另一方面实现用户层提交的逻辑处理需求进行分析,自动生成相应的标准SQL语句,进行数据库的操作。第三步:表现层数据访问接口和展示。将数据通过一套统一的客户端访问接口API进行展示。客户端通过各种具体功能需求,发送不同的数据请求到中间件。从而实现数据的交互和访问。
本发明的具体实现过程如下
本发明公开了一种通过中间件实现多种数据库统一处理的方法,其具体包括以下的步骤:
步骤一、将数据库中的每个数据表映射成一个XML文件,实现每一个XML节点与数据库表中一个字段的一一映射关系。比如其中一个数据表为“数据库人员信息表tab1”,这个表包括5个字段,分别为:字段1:姓名XM,字段2:性别XB,字段3:名族MZ,字段4:年龄NL,字段5:籍贯JG。将这个数据表的每个字段一一映射为XML文件中的一个节点,映射后XML文件中保存的是一条条具体的文本信息。
步骤二、客户端应用软件将用户需求通过标准的XMLHTTP方法类中的soap和send方法将数据请求发送到中间件,中间件收到客户端应用软件的数据请求后进行分析,首先分析M:F标识,当M:F=N表示新增记录,后续生成数据库插入insert语句;当M:F=M表示修改记录,后续生成数据库插入update语句;当M:F=D表示删除记录,后续生成数据库插入delete语句;例如:可以生成如下sql语句:insert into tabl values(“张三”,null,null,null,null)和update tabl set JG=“四川省成都市”。
步骤三、将数据通过统一的客户端访问接口API进行展示,表现层收到数据后,对前端页面的HTML文件进行数据绑定,将HTML文件中的节点与获取的XML节点进行数据绑定,从而进行数据展示。例如一个HTML的TD节点与一个XML的姓名XM节点进行绑定,就显示出查询的数据:“张三”。
通过对数据库中的元数据MD进行封装,采用标准的XML作为统一的数据载体,把XML树作为一种抽象的数据结构,通过对XML树进行处理,实现应用逻辑的处理。并把这种处理结果反馈到用户层,从而实现完整的数据处理流程。本发明使得应用软件中在书写代码时不需要具体描述SQL语句,而是通过中间件根据客户端应用软件的数据请求自动生成相应的SQL语句,避免了应用层的访问与特定的数据库之间进行了过于紧密的绑定和约束,从而实现多种数据库的快速移植和管理。
本发明还公开了通过中间件实现多种数据库统一处理的系统,其具体包括文件映射模块,数据库语句生成模块和数据显示模块,所述文件映射模块用于将数据库中的每个数据表映射成一个XML文件,实现每一个XML节点与数据库表中一个字段的一一映射关系。比如其中一个数据表为“数据库人员信息表tab1”,这个表包括5个字段,分别为:字段1:姓名XM,字段2:性别XB,字段3:名族MZ,字段4:年龄NL,字段5:籍贯JG。将这个数据表的每个字段一一映射为XML文件中的一个节点,映射后XML文件中保存的是一条条具体的文本信息。所述数据库语句生成模块用于面向数据库的语句的生成,在客户端应用软件将用户需求通过标准的XMLHTTP方法类中的soap和send方法将数据请求发送到中间件,中间件收到客户端应用软件的数据请求后进行分析,首先分析M:F标识,当M:F=N表示新增记录,后续生成数据库插入insert语句;当M:F=M表示修改记录,后续生成数据库插入update语句;当M:F=D表示删除记录,后续生成数据库插入delete语句。例如:可以生成如下sql语句:insert into tabl values(“张三”,null,null,null,null)和update tabl set JG=“四川省成都市”。所述数据显示模块用于将数据通过统一的客户端访问接口API进行展示,表现层收到数据后,对前端页面的HTML文件进行数据绑定,将HTML文件中的节点与获取的XML节点进行数据绑定,从而进行数据展示。例如一个HTML的TD节点与一个XML的姓名XM节点进行绑定,就显示出查询的数据:“张三”。
上述的实施例中所给出的系数和参数,是提供给本领域的技术人员来实现或使用本发明的,本发明并不限定仅取前述公开的数值,在不脱离本发明的发明思想的情况下,本领域的技术人员可以对上述实施例做出种种修改或调整,因而本发明的保护范围并不被上述实施例所限,而应该是符合权利要求书提到的创新性特征的最大范围。

Claims (6)

1.一种通过中间件实现多种数据库统一处理的方法,其具体包括以下的步骤:步骤一、将数据库中的每个数据表映射成一个XML文件,每一个XML文件的节点与数据表中的一个字段一一映射;步骤二、客户端应用软件将用户的数据请求发送到中间件,中间件收到客户端应用软件的数据请求后进行分析,根据数据请求的内容生成相应的SQL语句;步骤三、将数据通过统一的客户端访问接口API进行展示,表现层收到数据后,对前端页面的HTML文件进行数据绑定,将HTML文件中的节点与获取的XML节点进行数据绑定,从而进行数据展示。
2.如权利要求1所述的通过中间件实现多种数据库统一处理的方法,其特征在于所述用户的请求数据通过标准的XMLHTTP方法类中的soap和send方法将数据请求发送到中间件。
3.如权利要求2所述的通过中间件实现多种数据库统一处理的方法,其特征在于所述中间件对数据请求进行分析的具体过程为:首先分析M:F标识,当M:F=N表示新增记录,后续生成数据库插入insert语句;当M:F=M表示修改记录,后续生成数据库插入update语句;当M:F=D表示删除记录,后续生成数据库插入delete语句。
4.一种通过中间件实现多种数据库统一处理的系统,其特征在于具体包括文件映射模块、数据库语句生成模块和数据显示模块;所述文件映射模块用于将数据库中的每个数据表映射成一个XML文件,每一个XML文件的节点与数据表中的一个字段的一一映射;所述数据库语句生成模块用于SQL语句的生成,对客户端应用软件的数据请求进行分析,生成相应的SQL语句;所述数据显示模块用于将数据通过统一的客户端访问接口API进行展示,表现层收到数据后,对前端页面的HTML文件进行数据绑定,将HTML文件中的节点与获取的XML节点进行数据绑定,从而进行数据展示。
5.如权利要求4所述的通过中间件实现多种数据库统一处理的系统,其特征在于所述用户的请求数据通过标准的XMLHTTP方法类中的soap和send方法将数据请求发送到中间件。
6.如权利要求5所述的通过中间件实现多种数据库统一处理的系统,其特征在于所述数据请求进行分析的具体过程为:首先分析M:F标识,当M:F=N表示新增记录,后续生成数据库插入insert语句;当M:F=M表示修改记录,后续生成数据库插入update语句;当M:F=D表示删除记录,后续生成数据库插入delete语句。
CN201310665717.3A 2013-12-11 2013-12-11 通过中间件实现多种数据库数据统一处理的方法和系统 Active CN103678575B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310665717.3A CN103678575B (zh) 2013-12-11 2013-12-11 通过中间件实现多种数据库数据统一处理的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310665717.3A CN103678575B (zh) 2013-12-11 2013-12-11 通过中间件实现多种数据库数据统一处理的方法和系统

Publications (2)

Publication Number Publication Date
CN103678575A true CN103678575A (zh) 2014-03-26
CN103678575B CN103678575B (zh) 2016-03-02

Family

ID=50316120

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310665717.3A Active CN103678575B (zh) 2013-12-11 2013-12-11 通过中间件实现多种数据库数据统一处理的方法和系统

Country Status (1)

Country Link
CN (1) CN103678575B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104133890A (zh) * 2014-07-30 2014-11-05 四川中亚联邦科技有限公司 一种云端大数据处理方法和系统
CN105159997A (zh) * 2015-09-08 2015-12-16 深圳禧金信息技术有限公司 报表处理方法及报表处理系统
CN105160012A (zh) * 2015-09-23 2015-12-16 烽火通信科技股份有限公司 一种异构数据库的管理方法及系统
CN105404665A (zh) * 2015-11-12 2016-03-16 南威软件股份有限公司 一种json格式数据的查询管理系统
CN105915508A (zh) * 2016-04-07 2016-08-31 广西新章物电防伪技术开发有限公司 一种非中间件技术的b/s/s模式电子签章系统及其签章方法
CN106095409A (zh) * 2016-05-31 2016-11-09 浪潮通用软件有限公司 一种数据映射的装置及方法
CN106483860A (zh) * 2015-09-02 2017-03-08 上海宝信软件股份有限公司 针对plc的数据自动采集中间件及其使用方法
CN106874493A (zh) * 2017-02-23 2017-06-20 济南浪潮高新科技投资发展有限公司 一种数据转换方法及装置
WO2019174191A1 (zh) * 2018-03-15 2019-09-19 平安科技(深圳)有限公司 报表数据初始化方法、装置、计算机设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106777375A (zh) * 2017-02-07 2017-05-31 山东浪潮云服务信息科技有限公司 一种数据适配系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1713196A (zh) * 2005-07-14 2005-12-28 上海交通大学 基于自动化设计网格的产品定制系统
CN1877523A (zh) * 2006-06-23 2006-12-13 清华大学 一种支持异构构件的构件库统一管理方法
CN1904885A (zh) * 2005-07-29 2007-01-31 北京航空航天大学 数据库适配器
CN101290570A (zh) * 2007-04-17 2008-10-22 高丹 不同语言环境下异构数据库数据的统合中间件

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1713196A (zh) * 2005-07-14 2005-12-28 上海交通大学 基于自动化设计网格的产品定制系统
CN1904885A (zh) * 2005-07-29 2007-01-31 北京航空航天大学 数据库适配器
CN1877523A (zh) * 2006-06-23 2006-12-13 清华大学 一种支持异构构件的构件库统一管理方法
CN101290570A (zh) * 2007-04-17 2008-10-22 高丹 不同语言环境下异构数据库数据的统合中间件

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104133890B (zh) * 2014-07-30 2016-02-10 四川中亚联邦科技有限公司 一种云端大数据处理方法和系统
CN104133890A (zh) * 2014-07-30 2014-11-05 四川中亚联邦科技有限公司 一种云端大数据处理方法和系统
CN106483860A (zh) * 2015-09-02 2017-03-08 上海宝信软件股份有限公司 针对plc的数据自动采集中间件及其使用方法
CN105159997B (zh) * 2015-09-08 2018-05-08 深圳数加信息技术有限公司 报表处理方法及报表处理系统
CN105159997A (zh) * 2015-09-08 2015-12-16 深圳禧金信息技术有限公司 报表处理方法及报表处理系统
CN105160012A (zh) * 2015-09-23 2015-12-16 烽火通信科技股份有限公司 一种异构数据库的管理方法及系统
CN105160012B (zh) * 2015-09-23 2019-03-26 烽火通信科技股份有限公司 一种异构数据库的管理方法及系统
CN105404665A (zh) * 2015-11-12 2016-03-16 南威软件股份有限公司 一种json格式数据的查询管理系统
CN105404665B (zh) * 2015-11-12 2019-04-26 南威软件股份有限公司 一种json格式数据的查询管理系统
CN105915508A (zh) * 2016-04-07 2016-08-31 广西新章物电防伪技术开发有限公司 一种非中间件技术的b/s/s模式电子签章系统及其签章方法
CN105915508B (zh) * 2016-04-07 2020-06-12 广西新章物电防伪技术开发有限公司 一种非中间件技术的b/s/s模式电子签章系统及其签章方法
CN106095409A (zh) * 2016-05-31 2016-11-09 浪潮通用软件有限公司 一种数据映射的装置及方法
CN106874493A (zh) * 2017-02-23 2017-06-20 济南浪潮高新科技投资发展有限公司 一种数据转换方法及装置
WO2019174191A1 (zh) * 2018-03-15 2019-09-19 平安科技(深圳)有限公司 报表数据初始化方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN103678575B (zh) 2016-03-02

Similar Documents

Publication Publication Date Title
CN103678575B (zh) 通过中间件实现多种数据库数据统一处理的方法和系统
US20180107725A1 (en) Data Storage Method and Apparatus, and Data Read Method and Apparatus
US10609140B2 (en) Dynamic resource management systems and methods
US8977646B2 (en) Leveraging graph databases in a federated database system
US9235636B2 (en) Presenting data in response to an incomplete query
US8719254B2 (en) Efficient querying using on-demand indexing of monitoring tables
EP2854048B1 (en) Method of operating a mobile telecommunications device
US9529933B2 (en) Dynamic assignment of business logic based on schema mapping metadata
US20180218052A1 (en) Extensible data driven etl framework
CN105900093A (zh) 一种KeyValue数据库的数据表的更新方法与表数据更新装置
CN103853759B (zh) 一种自适应表单的生成方法及系统
JP2022549983A (ja) コンテキスト付きのコンテンツ・アイテム共有
US20140114916A1 (en) Code generation and implementation method, system, and storage medium for delivering bidirectional data aggregation and updates
CN104699477A (zh) 基于近场通信的数据传送
CN109063061B (zh) 跨分布式系统数据处理方法、装置、设备及存储介质
US9866537B2 (en) Systems and methods for long universal resource locator compression
US10956386B2 (en) Methods and apparatuses for automated performance tuning of a data modeling platform
US11544220B2 (en) Systems and methods for a specialized computer file system
US10114864B1 (en) List element query support and processing
US20110320927A1 (en) Methods and Apparatus Utilizing XooML: Cross (X) Tool Markup Language
CN114356945A (zh) 数据处理方法、装置、计算机设备和存储介质
CN106547843A (zh) 多级分类查询方法和装置
CN114741444A (zh) 一种组织架构调整方法、装置、电子设备及存储介质
US8818955B2 (en) Reducing storage costs associated with backing up a database
CN112052234A (zh) 业务数据的处理方法和装置、存储介质、电子装置

Legal Events

Date Code Title Description
PB01 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
TR01 Transfer of patent right

Effective date of registration: 20210517

Address after: No. 6, Jiuhua Road, khuchuang Park, Mianyang, Sichuan

Patentee after: Sichuan Jiuzhou Investment Holding Group Co.,Ltd.

Address before: No. 6, Jiuhua Road, khuchuang Park, Mianyang, Sichuan

Patentee before: SICHUAN JIUZHOU ELECTRIC GROUP Co.,Ltd.

TR01 Transfer of patent right