CN103678575A - 通过中间件实现多种数据库数据统一处理的方法和系统 - Google Patents
通过中间件实现多种数据库数据统一处理的方法和系统 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information 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/84—Mapping; Conversion
- G06F16/86—Mapping to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating 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语句。
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106777375A (zh) * | 2017-02-07 | 2017-05-31 | 山东浪潮云服务信息科技有限公司 | 一种数据适配系统 |
Citations (4)
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 | 高丹 | 不同语言环境下异构数据库数据的统合中间件 |
-
2013
- 2013-12-11 CN CN201310665717.3A patent/CN103678575B/zh active Active
Patent Citations (4)
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)
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 |