CN101710336A - 一种利用关系中间件加速数据处理的方法 - Google Patents

一种利用关系中间件加速数据处理的方法 Download PDF

Info

Publication number
CN101710336A
CN101710336A CN200910231027A CN200910231027A CN101710336A CN 101710336 A CN101710336 A CN 101710336A CN 200910231027 A CN200910231027 A CN 200910231027A CN 200910231027 A CN200910231027 A CN 200910231027A CN 101710336 A CN101710336 A CN 101710336A
Authority
CN
China
Prior art keywords
middleware
data
xml
concerns
file
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.)
Pending
Application number
CN200910231027A
Other languages
English (en)
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.)
Inspur Communication Information System Co Ltd
Original Assignee
Inspur Communication Information System 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 Inspur Communication Information System Co Ltd filed Critical Inspur Communication Information System Co Ltd
Priority to CN200910231027A priority Critical patent/CN101710336A/zh
Publication of CN101710336A publication Critical patent/CN101710336A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及计算机应用技术领域,具体涉及OSS及其它中大规模的各种以XML形式的数据与后台数据库之间的检索及修改领域,具体的说是提供一种利用关系中间件加速数据处理的方法。本发明在以XML形式的数据和现有的数据库之间建立一个灵活的、可扩展的数据加速及XML形式的数据与数据库的SQL之间对应的关系中间件(XML-Relational Middleware),能够解决OSS中越来越多的以XML形式的数据与现有数据库之间频繁交互时的检索、修改等数据加速处理问题,从而提高***的处理能力和效率,减少用户查询的平均响应时间。

Description

一种利用关系中间件加速数据处理的方法
技术领域
本发明涉及计算机应用技术领域,具体涉及OSS(运营支撑***)及其它中大规模的各种以XML形式的数据与后台数据库之间的检索及修改领域,具体的说是提供一种利用关系中间件加速数据处理的方法。
背景技术
承于现代通讯企业的不断发展,目前各种网络管理及网络监控产品软件在海量数据的存储和各种检索操作的应用都基本上基于依赖大型关系型数据库,而由于网络管理及网络监控产品软件要与后台数据库服务器进行通信(频繁交互),频繁数据交互方式造成了网络管理及网络监控产品软件***性能的极大下降,另外随着所管网络规模的增大,信息采集的急剧增加,缓慢而频繁的数据库读写操作来不及处理实时采集到的海量数据,就会导致数据丢失,网络管理失真,甚至会导致网络管理及网络监控产品软件***的瘫痪。
以电信领域综合网络管理***为例。综合网络管理***属于电信领域的一个重要的支撑平台,要支持各个地市级子公司和省公司各个方面人员的使用,因此访问量也是非常大,必然造成大量的数据被处理(检索、修改等等)。其中一般报表的查询***处理步骤如图1所示,这种查询***就是直接在数据库中进行查询,这种查询方式往往随着管理信息的不断增长,进而导致读写速度的变缓,甚至导致***的瘫痪。
发明内容
本发明是针对以上问题,在以XML形式的数据和现有的数据库之间建立一个灵活的、可扩展的数据加速及XML形式的数据与数据库的SQL之间对应的关系中间件(XML-Relational Middleware),即在以XML形式的数据和现有的数据库之间架起一座桥梁。其目的就是为了解决OSS中越来越多的以XML形式的数据与现有数据库之间频繁交互时的检索、修改等数据加速处理问题。
本发明解决其技术问题所采用的技术方案是:
一种利用关系中间件加速数据处理的方法,在查询引擎模块和后台数据库之间建立一种关系中间件,此关系中间件能够将XML形式的文件转化为SQL语句,并在后台数据库中进行查询。
XML形式的文件包括XML DTD文件和XML Schema文件。
关系中间件通过映射关系将XML形式的文件转化为SQL语句具体包括以下步骤:
A、XML形式的文件通过元数据管理模块按照映射关系生成二维关系表,并作为XML形式的文件拆分和还原的依据;
B、XML形式的文件通过所述的二维关系表转化为SQL语句传给查询处理引撃模块。
关系中间件包括一个XQuery查询模块,该模块是实现对XQuery或XPath查询请求的语法解析,将查询请求转换为规范的查询表示形式,最后将转换结果传给查询处理引撃模块。
查询处理引撃模块将XQuery查询模块翻译为SQL语句,将查询结构根据元数据管理模块的结构,还原成XML形式的数据给用户,实现用户的透明查询。
本发明针对现有***的应用情况,应用层与后台数据库之间的频繁交互的条件基本是:输入以XML形式的条件查询,查询的输出结果还是以XML形式的内容,从而本专利为了解决上述的工作模式,便设计提出以下几种的工作方案:
1、根据映射技术,将XML形式的XML Schema文件内容或者XML DTD文件内容中的元素、属性、以及元素之间的顺序等等,通过映射模式把其中的元素、属性映射成为一个关系或者一个关系中字段或其它的一些成分。
2、将XML形式的数据文件中的具体的element、attribute等内容,根据1中的分析,分解成一个个元组,保存到后台数据库中。而后台数据库的具体类型和优化策略对用户是成熟和透明的。
3、对XML形式的数据的查询,将此数据的查询翻译成对应数据库的SQL查询,根据在数据库中查询以后的数据集,还原为XML的形式提供给查询者。
4、本发明依据上述方案还设计其工作方法中的存储策略,从而更加灵活地解决应用层与后台数据库之间的频繁交互中的任务,其存储策略为:将以数据为中心的XML文档(例如:OSS***中监控的站点信息、告警信息等)进行拆分,存于相对应的关系表中,以文档为中心的XML数据(例如:OSS监控的站点信息等)作为LOB类型存取。
说明:XML形式的内容在数据库中的存储模式可以根据XML描述数据的特点,有如下三种模式:
  存储模式   优点   缺点
  按结构层次拆分存入相应关系表   映射简单,几乎所有关系数据库都支持。   当层次扩大后,表和表之间的关联复杂,造成数据库执行效率下降。
  作为LOB类型整存整取   大大简化了操作,Xml的整存整取,精简了中间转换。   实际应用种应用环境受到一定的限制。
  作为数据对象存入数据库   能较好的维持原有XML文档数据结构和相关元数据   只能通过XML特有相关技术对数据进行存储,只能在一定的产品中使用,范围小。
其中,将XML DTD文件转化为后台数据库中SQL文件的规则如下:
规则1:如果在XML DTD定义中的某一元素A是另一个元素B的子元素,且B与A的关系为(0,1)或(1),并且不存在其它元素的子元素为A,那么将子元素并入到其父元素所映射得到的关系模式中;
规则2:XML DTD中具有一一对应关联联系的元素,如果两者是完全参与这一关联联系,那么将两者合并作为一个元素;如果双方并不是完全参与,那么应该将部分参与的元素映射为一个关系,并且完全参与一对一关联联系的元素添加外键指向该元素;反之,当由关系模式映射到XML DTD时,两者映射为元素,并且完全参与的元素要添加IDREF属性;
规则3:在一对多的XML DTD模式中,首先根据规则1补充进行部分元素的合并,然后将父元素与其它子元素映射为关系模式的主、子表并建立主外键关系;再建立一张临时表用于存储所有子表所包含的字段并与主表建立主、外键联系;将前面建立的众多的主、子表的连接消除;
规则4:对于XML DTD中的多对多的关联联系,根据规则1补充和规则3补充进行处理,然后对产生的关系模式进行规范化处理;
规则5:由XML文档中所蕴涵的语义键,对于绝对键,所得到的目标集合路径表达式可作为一个索引表,并根据每个的索引建立一一对应的相同结构的表用于存放各个索引下所对应的元素的集合,并与索引表建立连接,当将XML形式的数据存储到关系数据时,根据所属不同索引进入对应的关系表;对于相对键来说可建立多级索引的概念;原理同绝对键的索引建立方式;
将XML Schema文件转化为后台数据库中SQL文件的规则如下:
规则1:将XML Schema模式文档中每一个“attribute”或
“attributeGrioup”映射为数据表中的字段,use为“reguired”
值的属性映射为“not null”。
规则2:元素或属性的简单类型定义网元类型(NetworkType)根据具体的条件映射为数据表中一个相应字段的CONSTRAINT限制。例如如下面的网元类型(NetworkType)映射例子:
Figure G2009102310270D00041
规则3_1:复杂类型A包含一个拥用复杂类型的B元素,这是一个一对一的关系,本专利设计将创建两个表A和B,约束关系为当A的一个实例被删除时,包含于其中的B的实例也一起被删除。
规则4_1:复杂类型A包含多个拥有复杂类型C的元素,拥有复杂类型C的元素包含在复杂类型A中,拥有类型A的其它元素不能共享这些类型为C的子元素,这是一个一对多的关系,约束关系为当类型为A的元素被删除时,包含于其中的类型为C的子元素也一起被删除。例如下面XML模式中的网元类型(NetworkType)一对多关系映射实例:
Figure G2009102310270D00051
规则3_2:复杂类型A含有对复杂类型D的一个引用,反映的是实体间的多对一的关系,本专利设计的工作模式将创建两个表A和D;表A和表D约束关系为级联删除参考完整性,即从依赖表A中删除其外部键与表D中要被删除的主键值相匹配的所有行。例如下面XML模式中的网元类型(NetworkType)多对一关系映射实例:
Figure G2009102310270D00052
规则4_2:复杂类型A含有对复杂类型E的多个引用,反映的是实体间的多对多的关系,并且复杂类型E必须在A之间被创建,所以在映射过程中,除了建立A,E表外,必须创建一个连接表A_E_Link,约束关系为当A或者E中的一个元组被删除时,表A_E_Link中的相关记录也应被删除。例如下面XML模式中的网元类型(NetworkType)多对多关系映射实例:
Figure G2009102310270D00061
本专利设计的工作模式采用XPath作为查询的引导工具,其方法就是完成SQL和XPath或XQuery之间转换,并最终实现应用层与数据库之间的数据查询交互任务。其过程是在XML查询解释模块中,根据XML Schema->RelationalSchema映射的结果,将输入的XPath查询语句,转换为对应的SQL查询。具体的转换方法为;
将XPath查询的Context,转换为SQL的“from子句”;
将XPath查询的path,转换为SQL的“select子句”;
将XPath查询的Expression,转换为SQL的“where子句”。
本发明的一种利用关系中间件加速数据处理的方法,能够解决OSS中越来越多的以XML形式的数据与现有数据库之间频繁交互时的检索、修改等数据加速处理问题,从而提高***的处理能力和效率,减少用户查询的平均响应时间。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1为现有技术下的一般报表的查询***处理步骤流程图;
图2为本发明的实施例的查询***处理步骤流程图;
图3为本发明的工作模式图。
具体实施方式
下面结合附图和具体实施例对本发明的一种利用关系中间件加速数据处理的方法作进一步的描述。
以电信领域综合网络管理***为例说明本发明的具体应用。
综合网络管理***属于电信领域的一个重要的支撑平台,要支持各个地市级子公司和省公司各个方面人员的使用,因此访问量也是非常大,必然造成大量的数据被处理(检索、修改等等)。其中一般报表的查询***处理步骤如图1所示,利用本发明在报表***上,使用该基于中间件的数据加速查询方法,修改为查询步骤如附图2所示,先将以XML形式的查询请求内容转发到数据加速及XML形式的数据与数据库的SQL之间对应的关系中间件(XML-RelationalMiddleware)上,并由XML-Relational Middleware的查询处理引撃对查询条件分析,数据获取,数据处理等过程,再返回用户要查询的结果集。从而提高***的处理能力和效率,减少用户查询的平均响应时间。
实施实例:
第一步:实施前准备
在进行综合网络管理***后台数据库的设计时,可以在后台数据库的表设计器中,将一个字段定义为XML类型。(说明:XML字段不能用来作为主键或者索引键)。同时,也使用SQL语句来创建使用XML字段的数据表,即下面的语句创建一个名为“A_SITE_INFORMATION”的网元站点信息表,该表带有整型主键“id”和非类型化的XML列“xCol”:
CREATE TABLE A_SITE_INFORMATION(id INT PRIMARY KEY,xCol XMLnot null)
说明:由于XML类型除了可以在表中使用,还能够在存储过程、事务、函数等中出现。
第二步:实现对的XML操作,使用SQL语句定义一个XML类型的数据,并为它赋值:
定义XML类型数据
declare@xmlDoc xml;
set@xmlDoc=’<netype=″site″>
                          <site_id>001</site_id>
                          <site_name>JiNan</site_name>
                          <regionid>C2</regionid>
<city>jinan</city>
.
.
.
  </netype>’
第三步:检索数据操作
在定义了一个XML类型的数据之后,最常用的就是查询操作,下面就是使用SQL语句来进行查询操作的实例:
说明:由于SQL可以提供两个对XML类型数据进行查询的函数,分别是query(xquery)和value(xquery,dataType),其中,query(xquery)得到的是带有标签的数据,而value(xquery,dataType)得到的则是标签的内容。
例子1:
使用query(xquery)查询时,需要得到济南市的站点信息,使用query(xquery)来进行查询,查询语句为:
query()函数
[email protected](’/netype/site_id’)
例子2:使用value(xquery,dataType)查询时,同样需要得到济南市的站点信息,使用value函数,需要指明两个参数,一个为xquery,另一个为得到数据的类型。看下面的查询语句:
value()函数
[email protected](’(/netype/site_id)[001]’,’nvarchar(max)’)
例子3:
查询属性值时的语句为:
查询属性
[email protected](’(/netype/@s ite_id)[001]’,’nvarchar(max)’)
例子4:
使用xpath进行查询时,可以方便的得到想要的节点,而不用使用where语句。如下检索方法中,在@xmlDoc中添加了另外一个节点,即重新定义为:
xpath查询
         set@xmlDoc=’<netype>
            <netype=″site″>
                         <site_id>001</site_id>
                         <site_name>JiNan</site_name>
                         <regionid>C2</regionid>
 <city>jinan</city>
.
.
.
                      </netype>
<netype=″bsc″>
             <bsc_id>002</bsc_id>
             <bsc_name>JiNan</bsc_name>
             <region>C2</region>
    .
.
.
                     </netype>
得到netype为″bsc″的网元节点信息的语句为:
[email protected](’(/netype[@netype=″bsc″])’)
最后,将最终的查询结果数据返回给上层应用,进行报表展现,反馈给用户,处理结束。
综上所述,基于XML形式的数据与数据库的SQL之间对应的关系中间件(XML-Relational Middleware)及数据加速查询方法,适用于针对大量的查询请求的情况。也可以广泛应用于其它行业(如电信、财务)等领域,具有一定使用价值。
以上所述的实施例,只是本发明较优选的具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

Claims (5)

1.一种利用关系中间件加速数据处理的方法,其特征是,在查询引擎模块和后台数据库之间建立一种关系中间件,此关系中间件能够将XML形式的文件转化为SQL语句,并在后台数据库中进行查询。
2.根据权利要求1所述的一种利用关系中间件加速数据处理的方法,其特征在于,所述XML形式的文件包括XML DTD文件和XML Schema文件。
3.根据权利要求1所述的一种利用关系中间件加速数据处理的方法,其特征在于,所述关系中间件通过映射关系将XML形式的文件转化为SQL语句具体包括以下步骤:
A、XML形式的文件通过元数据管理模块按照映射关系生成二维关系表,并作为XML形式的文件拆分和还原的依据;
B、XML形式的文件通过所述的二维关系表转化为SQL语句传给查询处理引撃模块。
4.根据权利要求1所述的一种利用关系中间件加速数据处理的方法,其特征在于,所述关系中间件包括一个XQuery查询模块,该模块是实现对XQuery或XPath查询请求的语法解析,将查询请求转换为规范的查询表示形式,最后将转换结果传给查询处理引撃模块。
5.根据权利要求4所述的一种利用关系中间件加速数据处理的方法,其特征在于,所述查询处理引撃模块将XQuery查询模块翻译为SQL语句,将查询结构根据元数据管理模块的结构,还原成XML形式的数据给用户,实现用户的透明查询。
CN200910231027A 2009-12-14 2009-12-14 一种利用关系中间件加速数据处理的方法 Pending CN101710336A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910231027A CN101710336A (zh) 2009-12-14 2009-12-14 一种利用关系中间件加速数据处理的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910231027A CN101710336A (zh) 2009-12-14 2009-12-14 一种利用关系中间件加速数据处理的方法

Publications (1)

Publication Number Publication Date
CN101710336A true CN101710336A (zh) 2010-05-19

Family

ID=42403126

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910231027A Pending CN101710336A (zh) 2009-12-14 2009-12-14 一种利用关系中间件加速数据处理的方法

Country Status (1)

Country Link
CN (1) CN101710336A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102004766A (zh) * 2010-11-09 2011-04-06 北京神州泰岳软件股份有限公司 基于信息***的可配置信息查询方法及***
CN102142007A (zh) * 2010-11-23 2011-08-03 北京中创信测科技股份有限公司 一种通用统计方法和装置
CN102147750A (zh) * 2011-01-27 2011-08-10 中国农业银行股份有限公司 作业处理方法和***
CN102207980A (zh) * 2011-07-11 2011-10-05 东莞市盈达信息科技股份有限公司 一种基于xml与db的数据交换方法及该数据适配器
CN103092869A (zh) * 2011-11-01 2013-05-08 镇江华扬信息科技有限公司 一种使能xml数据库的映射转换方法
CN107491454A (zh) * 2016-06-13 2017-12-19 百度在线网络技术(北京)有限公司 数据查询方法及装置
CN109388670A (zh) * 2018-09-18 2019-02-26 重庆航天职业技术学院 一种xml与关系数据库的转换方法
WO2019227702A1 (zh) * 2018-05-30 2019-12-05 平安科技(深圳)有限公司 数据处理方法、装置、计算机设备以及存储介质
CN111767117A (zh) * 2020-06-22 2020-10-13 博易智软(北京)技术有限公司 基于应用容器的移动端bi中间件技术
CN114510534A (zh) * 2022-01-28 2022-05-17 广东航宇卫星科技有限公司 数据同步方法、装置、设备及存储介质

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102004766A (zh) * 2010-11-09 2011-04-06 北京神州泰岳软件股份有限公司 基于信息***的可配置信息查询方法及***
CN102142007A (zh) * 2010-11-23 2011-08-03 北京中创信测科技股份有限公司 一种通用统计方法和装置
CN102147750A (zh) * 2011-01-27 2011-08-10 中国农业银行股份有限公司 作业处理方法和***
CN102207980A (zh) * 2011-07-11 2011-10-05 东莞市盈达信息科技股份有限公司 一种基于xml与db的数据交换方法及该数据适配器
CN103092869A (zh) * 2011-11-01 2013-05-08 镇江华扬信息科技有限公司 一种使能xml数据库的映射转换方法
CN107491454A (zh) * 2016-06-13 2017-12-19 百度在线网络技术(北京)有限公司 数据查询方法及装置
WO2019227702A1 (zh) * 2018-05-30 2019-12-05 平安科技(深圳)有限公司 数据处理方法、装置、计算机设备以及存储介质
CN109388670A (zh) * 2018-09-18 2019-02-26 重庆航天职业技术学院 一种xml与关系数据库的转换方法
CN111767117A (zh) * 2020-06-22 2020-10-13 博易智软(北京)技术有限公司 基于应用容器的移动端bi中间件技术
CN111767117B (zh) * 2020-06-22 2024-02-20 中兴智慧(北京)技术有限公司 基于应用容器的移动端bi中间件技术
CN114510534A (zh) * 2022-01-28 2022-05-17 广东航宇卫星科技有限公司 数据同步方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN101710336A (zh) 一种利用关系中间件加速数据处理的方法
CN109299102B (zh) 一种基于Elastcisearch的HBase二级索引***及方法
CN106960037B (zh) 一种跨内外网的分布式索引资源整合与共享方法
US6934712B2 (en) Tagging XML query results over relational DBMSs
US7644066B2 (en) Techniques of efficient XML meta-data query using XML table index
CN100468396C (zh) 用于任意数据模型的映射体系结构
US9436779B2 (en) Techniques of efficient XML query using combination of XML table index and path/value index
US6789071B1 (en) Method for efficient query execution using dynamic queries in database environments
US8412746B2 (en) Method and system for federated querying of data sources
US6636845B2 (en) Generating one or more XML documents from a single SQL query
US6611838B1 (en) Metadata exchange
US7921101B2 (en) Index maintenance for operations involving indexed XML data
CN104123392A (zh) 一种关系型数据库迁移到HBase数据库的工具和方法
CN107291807A (zh) 一种基于图遍历的sparql查询优化方法
CN107169033A (zh) 基于数据模式转换和并行框架的关系数据查询优化方法
CN104346377A (zh) 一种基于唯一标识的数据集成和交换方法
US20100235344A1 (en) Mechanism for utilizing partitioning pruning techniques for xml indexes
CN107491476B (zh) 一种适用于多种大数据管理***的数据模型转换及查询分析方法
US20060161525A1 (en) Method and system for supporting structured aggregation operations on semi-structured data
CN106484815B (zh) 一种基于海量数据类sql检索场景的自动识别优化方法
CN102375827A (zh) 一种对版本化的电网模型数据库进行快速加载的方法
CN101216824B (zh) 一种将树型结构数据库发布为分布式xml数据库的方法
CN115237937A (zh) 一种基于星际文件***的分布式协同查询处理***
CN104636265A (zh) 一种cimxml文档的高效内存模型组织的访问方法
CN101719162A (zh) 基于片段模式匹配的多版本开放式地理信息服务访问方法及***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20100519