CN100578498C - 数据集成服务系统及方法 - Google Patents

数据集成服务系统及方法 Download PDF

Info

Publication number
CN100578498C
CN100578498C CN200610083172A CN200610083172A CN100578498C CN 100578498 C CN100578498 C CN 100578498C CN 200610083172 A CN200610083172 A CN 200610083172A CN 200610083172 A CN200610083172 A CN 200610083172A CN 100578498 C CN100578498 C CN 100578498C
Authority
CN
China
Prior art keywords
data
condition
data source
module
query
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.)
Expired - Fee Related
Application number
CN200610083172A
Other languages
English (en)
Other versions
CN101046811A (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.)
Su Normal University Semiconductor Materials and Equipment Research Institute Pizhou Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN200610083172A priority Critical patent/CN100578498C/zh
Publication of CN101046811A publication Critical patent/CN101046811A/zh
Application granted granted Critical
Publication of CN100578498C publication Critical patent/CN100578498C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

一种数据集成服务系统,包括:数据注册模块,用于对该数据源所提供的数据范围进行注册和保存;数据查询模块,与所述数据注册模块以及一个或多个数据源连接,用于向对应的数据源提交查询请求并将查询结果输出给用户。一种数据集成服务方法,包括以下步骤:步骤1为对用户输入的查询条件进行解析并转换为对应字段的数值范围集合;步骤2为根据数值范围集合以及预先保存的数据源提供的数据范围,查找并向对应的数据源提交查询请求并获得查询结果,将查询结果输出给用户。本发明能够支持不同的数据源,屏蔽不同数据源的差异,支持灵活的查询条件,充分利用数据库的强大检索功能,以及提供强大的数据过滤功能从而能够满足复杂的应用开发需要。

Description

数据集成服务系统及方法
技术领域
本发明涉及一种数据集成服务系统及方法,特别涉及一种能够支持不同的数据源,通过统一的数据访问方式屏蔽不同数据源的差异,支持灵活的查询条件,充分利用数据库的强大检索功能,以及提供强大的数据过滤功能从而能够满足复杂的应用开发需要的数据集成服务系统及方法。
背景技术
由于历史或其它原因,许多企业已拥有多种业务系统,导致企业内信息孤岛现象越来越严重,据IDC 2001年的报告,在全球最大的1000家企业中,平均都有14个数据库和48个应用系统,而且随着市场的变化、客户需求的变化,企业还在不断地增加它的应用。出于降低建设维护成本和提高企业竞争力的考虑,对于如此之多的应用系统的集成已变得迫在眉睫,各大电信企业纷纷开始这方面的建设。然而,目前的建设过于注重各类应用的集成,而与之紧密相关的另一问题即数据集成则往往被忽视,导致在企业应用集成项目的实施过程中才发现还需要解决数据集成问题,而由于前期的设计未充分考虑到数据集成的需求,因而分布在各个应用系统中的数据对数据的统一访问和使用构成了很大的挑战。
数据集成是企业信息系统的核心部分之一,它向其他的功能模块提供数据支撑。旧的流程架构中每种业务都有自己的数据库,这些数据一般是不完整的、不一致的。为整合数据,一般需要有数据建模、统一数据系统设计开发、原有系统数据的抽取清洁转换等工作。其中数据信息模型是基础,应该依据业务流程确定数据的要求,建立完整的信息模型。
数据集成服务的目的是使得其使用者不需关心数据源之间的差异,对访问者来说,可以不必了解数据库是何种类型,而只访问其所关心的数据即可。但因为数据源的不同,使得实现数据集成服务时存在很多的约束,并且数据集成服务的可用性也存在诸多不足。不同的关系数据库之间(包括:Oracle、DB2、Informix、Sybase、MSSQL),因为数据库厂家提供了不同的内置函数,并对SQL-92标准的扩充也有很大差异,使得SQL语句写法存在很大的不同,很多时候无法在各数据源使用同一条SQL语句,如获取子字符串时Sybase和MSSQL的函数名为“substring”而Oracle中命名为“substr”。
现有技术中,通常采用以下技术实现数据集成服务:
现有技术一、数据集成服务完全使用与关系型数据库相同的SQL语法来实现数据集成服务数据过滤,数据过滤时只是简单的将查询请求生成SQL语句提交给数据库。
该技术的不足之处在于:
1、数据集成服务访问者需要知道数据源的类型;
2、数据集成服务的客户端应用开发因为数据源的不同而发生改变;
3、同一个数据访问无法跨越不同类型的数据源;
4、受数据库所支持的功能限制,无法完成某些特殊的数据过滤。
现有技术二、数据集成服务提供统一的数据访问,对数据源的访问采用一种简单通用的方式,例如按照键值进行访问的方式,或者完全符合SQL-92标准的数据访问方式。
该技术的不足之处在于:
1、数据过滤的能力有限,无法满足复杂应用的需求;
2、数据转换和整合的规则都融合在定制代码中,发生变化难以灵活地适应。
现有技术三、数据集成服务系统提供统一的数据访问,将数据源中的数据全部读取到数据集成服务系统中,完全由数据集成服务系统完成数据的过滤。
该技术的不足之处在于:
1、无法使用数据库优化器和强大的检索功能,性能不高;
2、其它数据库客户端对数据的更新无法及时通知到数据集成服务;
3、通过形成中间库、或者集中库的方式来解决数据集成,然而这样的做法往往又形成了新的数据孤岛。
发明内容
本发明的目的是针对上述现有技术的不足,提供一种数据集成服务系统及方法,能够支持不同的数据源,通过统一的数据访问方式屏蔽不同数据源的差异,支持灵活的查询条件,充分利用数据库的强大检索功能,以及提供强大的数据过滤功能从而能够满足复杂的应用开发需要。
为实现上述发明目的,本发明提供了一种数据集成服务系统,包括:数据注册模块,用于对数据源所提供的数据范围进行注册和保存;所述数据注册模块包括:注册条件解析模块,用于对用户输入的数据源的注册条件进行解析并转换为对应的条件二叉树;注册条件转换模块,与所述注册条件解析模块连接,用于将所述注册条件解析模块转换生成的条件二叉树转换为对应字段的数值范围集合,并保存该数值范围集合;所述数据集成服务系统还包括数据查询模块,与所述注册条件转换模块以及一个或多个数据源连接,用于:根据用户输入的查询条件和所述注册条件转换模块中保存的数据源提供的数据范围,向对应的数据源提交查询请求并将查询结果输出给用户;所述数据查询模块包括:查询条件解析模块,用于对用户输入的查询条件进行解析并转换为对应的条件二叉树;查询条件转换模块,与所述查询条件解析模块连接,用于将所述查询条件解析模块转换生成的条件二叉树转换为对应字段的数值范围集合。
所述数据查询模块还包括数据源查询模块,与所述查询条件转换模块、所述数据注册模块、以及所述一个或多个数据源连接,用于:根据所述查询条件转换模块转换生成的数值范围集合以及所述数据注册模块保存的数据源提供的数据范围,查找并向对应的数据源提交结构化查询语言(StructuredQuery Language,简称SQL)的查询请求并获得查询结果,将查询结果输出给用户。
更进一步地,所述数据集成服务系统还可包括查询结果过滤模块,与所述查询处理模块连接,用于对所述查询处理模块查询的结果,通过预先设定的内置函数进行过滤。所述数据集成服务系统还可包括内置函数库,与所述查询结果过滤模块连接,用于保存预先设定的所述内置函数。所述数据集成服务系统还可包括:配置文件模块,与所述查询结果过滤模块连接,用于保存配置文件,所述配置文件保存有对所述内置函数库中所有函数的相关参数和返回值的定义。
为实现发明目的,本发明还提供了一种数据集成服务方法,包括以下步骤:在步骤1中,对用户输入的查询条件进行解析并转换为对应字段的数值范围集合;步骤1具体包括:在步骤10中,对用户输入的查询条件进行解析并转换为对应的条件二叉树;在步骤11中,将所述条件二叉树转换为对应字段的数值范围集合;然后在步骤2中,根据所述数值范围集合以及预先保存的数据源提供的数据范围,查找并向对应的数据源提交查询请求并获得查询结果,将查询结果输出给用户;进一步地,所述步骤10之前还可包括预先保存所述数据源提供的数值范围的操作,具体包括以下步骤:在步骤01中,对用户输入的数据源的注册条件进行解析并转换为对应的条件二叉树;然后在步骤02中,将所述条件二叉树转换为对应字段的数值范围集合,并保存该数值范围集合。
其中,步骤01可具体包括以下步骤:在步骤010中,对用户输入的数据源的文本格式的注册条件进行结构化查询语言的语法分析,判断所述注册条件的语法是否正确,是则执行步骤011,否则结束;然后在步骤011中,将经过所述语法分析后的注册条件转换为对应的条件二叉树。
更进一步地,所述步骤2可具体包括以下步骤:在步骤20中,根据所述数值范围集合和预先保存的数据源提供的数据范围,查找与所述数值范围集合对应的数据源;在步骤21中,对所述数值范围集合和查找到的数据源的数据范围进行交集运算,根据运算结果生成对应的结构化查询语言的查询请求;然后在步骤22中,将所述结构化查询语言的查询请求提交给所述查找到的数据源并获得查询结果,将查询结果输出给用户。
其中,步骤22可具体包括以下步骤:在步骤220中,将所述结构化查询语言的查询请求提交给所述查找到的数据源并获得查询结果;然后在步骤221中,通过预先设定的内置函数,对所述查询结果中的数据逐条根据所述查询条件对应的条件二叉树进行过滤;继而在步骤222中,通过预先设定的内置函数,对过滤后的数据逐条根据所述注册条件对应的条件二叉树进行过滤;最后在步骤223中,将经过步骤222过滤后的数据输出给用户。步骤22也可具体包括以下步骤:在步骤220′中,将所述结构化查询语言的查询请求提交给所述查找到的数据源并获得查询结果;然后在步骤221′中,通过预先设定的内置函数,对所述查询结果中的数据逐条根据所述注册条件对应的条件二叉树进行过滤;继而在步骤222′中,通过预先设定的内置函数对过滤后的数据逐条根据所述查询条件对应的条件二叉树进行过滤;最后在步骤223′中将经过步骤222′过滤后的数据输出给用户。
在上述技术方案中,通过将多个数据源的提供数据范围的能力用文本格式的注册条件来描述,并将该注册条件转换为条件二叉树,继而转换为数据范围;并且对用户输入的文本格式的查询条件也作同样的处理,最终转换为数据范围集合;将该数据范围与该数据范围集合进行交集运算,将交集运算的结果转换为完全符合SQL-92标准的SQL查询语句并提交给相应的数据源,从而能够利用数据源强大的检索功能迅速获得查询结果;进一步地,通过强大的内置函数库对该查询结果进行二次过滤,从而能够提供丰富灵活的过滤功能,满足复杂应用的需求。
由上述技术方案可知,本发明通过采用数据注册机制,将不同的数据源的提供数据范围的能力统一地用数据范围来描述并保存,从而屏蔽了不同数据源的差异,为应用提供了统一的数据访问方式,使得在做应用开发时不需关心数据源的类型;进一步地,通过将查询条件同样地统一转换为数据范围集合,并与数据源注册的数据范围做交集运算,将交集运算结果转换为标准SQL语句提交给相应的数据源进行查询,从而能够支持灵活的查询条件,并且能够利用数据源强大的搜索能力,使得在做应用开发时不仅能够不需关心数据源的类型,而且能够使用灵活的查询条件,并且提高了应用开发的效率,同时大幅提高了系统的可维护性。此外,通过提供灵活可扩展的内置函数库,能够提供比数据源的过滤功能更为强大和灵活的数据过滤功能,从而能够满足各种复杂的应用需求。
综上所述,本发明通过数据注册机制以及数据查询和过滤的整体解决方案,能够达到支持不同的数据源,通过统一的数据访问方式屏蔽不同数据源的差异,支持灵活的查询条件,充分利用数据库的强大检索功能,以及提供强大的数据过滤功能从而能够满足复杂的应用开发需要的有益技术效果。
附图说明
图1为本发明具体实施例一的示意图;
图2为本发明具体实施例二的示意图;
图3为本发明具体实施例三的示意图;
图4为本发明具体实施例四的示意图;
图5为本发明具体实施例五的示意图;
图6为本发明具体实施例六的示意图;
图7为本发明具体实施例七的示意图;
图8为本发明具体实施例八的示意图;
图9为本发明具体实施例九的流程图;
图10为本发明具体实施例十的流程图;
图11为本发明具体实施例十的示意图;
图12为本发明具体实施例十一的流程图;
图13为本发明具体实施例十二的流程图;
图14为本发明具体实施例十三的流程图;
图15为本发明具体实施例十四的流程图;
图16为本发明具体实施例十五的流程图;
图17为本发明具体实施例十六的流程图;
图18为本发明具体实施例十七的流程图。
具体实施方式
下面结合附图和实施例,对本发明的技术方案做进一步的详细描述。
图1为本发明具体实施例一的示意图,一种数据集成服务系统A,包括:数据注册模块a,用于对数据源所提供的数据范围进行注册和保存;数据注册模块a具体包括:注册条件解析模块b2,用于对用户输入的数据源的注册条件进行解析并转换为对应的条件二叉树;注册条件转换模块b1,与注册条件解析模块b2连接,用于将注册条件解析模块b2转换生成的条件二叉树转换为对应字段的数值范围集合,并保存该数值范围集合;数据集成服务系统A还包括数据查询模块b,与注册条件转换模块b1以及一个或多个数据源连接,用于:根据用户输入的查询条件和注册条件转换模块b1中保存的数据源提供的数据范围,向对应的数据源提交查询请求并将查询结果输出给用户。本具体实施例中,采用数据注册机制,将不同的数据源的提供数据范围的能力统一地用数据范围来描述并保存,从而屏蔽了不同数据源的差异,为应用提供了统一的数据访问方式,使得在做应用开发时不需关心数据源的类型。
图2为本发明具体实施例二的示意图,一种数据集成服务系统B,与具体实施例一的区别在于:注册条件解析模块b2具体包括:注册条件语法分析模块b21,用于对用户输入的数据源的文本格式的注册条件进行结构化查询语言的语法分析;注册条件二叉树生成模块b22,与注册条件语法分析模块b21连接,用于将注册条件语法分析模块b21分析后的注册条件转换为对应的条件二叉树。
图3为本发明具体实施例三的示意图,一种数据集成服务系统C,与具体实施例二的区别在于:数据查询模块a具体包括:查询条件解析模块a1,用于对用户输入的查询条件进行解析并转换为对应的条件二叉树;查询条件转换模块a2,与查询条件解析模块a1连接,用于将查询条件解析模块a1转换生成的条件二叉树转换为对应字段的数值范围集合;数据源查询模块a3,与查询条件转换模块a2、数据注册模块b、以及所述一个或多个数据源连接,用于:根据查询条件转换模块a2转换生成的数值范围集合以及数据注册模块b保存的数据源提供的数据范围,查找并向对应的数据源提交结构化查询语言的查询请求并获得查询结果,将查询结果输出给用户。本具体实施例中,进一步地将查询条件同样地统一转换为数据范围集合,并与数据源注册的数据范围做交集运算,将交集运算结果转换为标准SQL语句提交给相应的数据源进行查询,从而能够支持灵活的查询条件,并且能够利用数据源强大的搜索能力,使得在做应用开发时不仅能够不需关心数据源的类型,而且能够使用灵活的查询条件,并且提高了应用开发的效率,同时大幅提高了系统的可维护性。
图4为本发明具体实施例四的示意图,一种数据集成服务系统D,与具体实施例三的区别在于:查询条件解析模块a1具体包括:查询条件语法分析模块a11,用于对用户输入的文本格式的查询条件进行结构化查询语言的语法分析;查询条件二叉树生成模块a12,与查询条件语法分析模块a11连接,用于将查询条件语法分析模块a11分析后的查询条件转换为对应的条件二叉树。
图5为本发明具体实施例五的示意图,一种数据集成服务系统E,与具体实施例四的区别在于:数据源查询模块a3具体包括:数据源查找模块a31,与查询条件转换模块a2和数据注册模块b连接,用于:根据查询条件转换模块a2转换生成的数值范围集合和数据注册模块b保存的数据源提供的数据范围,查找与所述数值范围集合对应的数据源;查询处理模块a32,与数据源查找模块a31以及所述一个或多个数据源连接,用于:根据所述数值范围集合和所述数据源的数据范围生成数据源查询条件后提交给所述数据源,并获得所述数据源的查询结果,将查询结果输出给用户。
图6为本发明具体实施例六的示意图,一种数据集成服务系统F,与具体实施例五的区别在于:还包括查询结果过滤模块c,与查询处理模块a32连接,用于对查询处理模块a32查询的结果,通过预先设定的内置函数进行过滤。进一步地,数据集成服务系统F还可包括:内置函数库,与查询结果过滤模块c连接,用于保存预先设定的所述内置函数。数据集成服务系统F也还可包括:配置文件模块,与查询结果过滤模块c连接,用于保存配置文件,所述配置文件保存有对所述内置函数库中所有函数的相关参数和返回值的定义。本具体实施例中,进一步地通过提供灵活可扩展的内置函数或内置函数库,能够提供比数据源的过滤功能更为强大和灵活的数据过滤功能,从而能够满足各种复杂的应用需求。
图7为本发明具体实施例七的示意图,一种数据集成服务系统G,与具体实施例六的区别在于:查询结果过滤模块c1具体包括:注册条件过滤模块c11,与查询处理模块a32连接,用于通过预先设定的内置函数,对查询处理模块a32查询的结果中的数据逐条根据注册条件对应的条件二叉树进行过滤;查询条件过滤模块c12,与注册条件过滤模块c11连接,用于通过预先设定的内置函数,对注册条件过滤模块c11过滤后的数据逐条根据所述查询条件对应的条件二叉树进行过滤。
图8为本发明具体实施例八的示意图,一种数据集成服务系统J,与具体实施例七的区别在于:查询结果过滤模块c2具体包括:查询条件过滤模块c21,与查询处理模块a32连接,用于通过预先设定的内置函数,对查询处理模块a32查询的结果中的数据逐条根据查询条件对应的条件二叉树进行过滤;注册条件过滤模块c22,与查询条件过滤模块c21连接,用于通过预先设定的内置函数,对所述查询条件过滤后的数据逐条根据所述注册条件对应的条件二叉树进行过滤。
图9为本发明具体实施例九的流程图,一种数据集成服务方法,包括以下步骤:在步骤1中,对用户输入的查询条件进行解析并转换为对应字段的数值范围集合;然后在步骤2中,根据所述数值范围集合以及预先保存的数据源提供的数据范围,查找并向对应的数据源提交查询请求并获得查询结果,将查询结果输出给用户。
图10为本发明具体实施例十的流程图,一种数据集成服务方法,包括以下步骤:首先在步骤01中,对用户输入的数据源的注册条件进行解析并转换为对应的条件二叉树;然后在步骤02中,将所述条件二叉树转换为对应字段的数值范围集合,并保存该数值范围集合;继而在步骤1中,对用户输入的查询条件进行解析并转换为对应字段的数值范围集合;最后在步骤2中,根据所述数值范围集合以及预先保存的数据源提供的数据范围,查找并向对应的数据源提交查询请求并获得查询结果,将查询结果输出给用户。
图11为本发明具体实施例十的另一示意图,数据源能够提供什么数据,通过在数据集成服务上注册来设置,并且在注册时可以灵活指定数据范围,数据范围的描述和SQL语句中的查询条件类似,并且能够使用数据集成服务的内置函数库。例如,某个话单查询的服务器只提供号首为“8888”的电话号码中客户级别为1的话单,并且客户级别为是通过电话号码获取的,则在注册时,可以指定数据范围为:“PhoneNo like‘8888%’and getCustLevel(PhoneNo)=1”。数据注册描述了数据源提供数据的能力,数据集成服务在处理查询请求的时候,将分析数据注册的关系,并决定是否将请求提交给哪些数据源。这些文本的过滤条件需要转换为二叉树的数据结构,才能方便的解决编程实现中的问题。步骤01中,将文本方式的数据条件转换为条件二叉树,例如:将数据条件:“((a>1 and a<200 and(b=1 or b=2))or f1(a)=1) and f2(b)=1”转换后的二叉树如图12所示。此外,在步骤02中,通过将所述条件二叉树转换为对应字段的数值范围集合,也即将二叉树的叶子节点转换为对应字段具体的数据取值范围,就可以简单的通过交集(对应过滤条件文本中的and)和并集(对应过滤条件文本中的or)得到每一个字段的取值范围。因为任何一种关系型数据库都支持按取值范围查询,即都支持通过“>”,“>=”,“<”,“<=”,“=”来表示的查询条件。将条件二叉树转换为数据范围,转换的规则是,只对“>”,“>=”,“<”,“<=”,“=”和“like”进行转换,内置函数不做任何转换,因为数据库优化器在分析SQL时,对经过内置函数转换的条件同样不会转换为范围,因而这种实现方式不会造成数据库检索性能的损失。数据注册的条件和查询条件均转换数据范围后,在步骤2中,采用集合的交集运算,如上述的二叉树转换为数据范围为a∈(1,200),b∈{1,2}。如果查询条件是“where a>100 and b>1”,则对应的数据范围为a∈(100,∞),b∈(1,∞)。经过集合运算后,对应的数据范围为a∈(100,200),b∈{2}。数据范围可以很容易的转换为完全符合SQL-92标准的查询SQL语句,如下:“where a>100anda<200 and b=2”。从上面所描述的数据范围集合可以看出,经过集合运算后,对数据源的查询语句的范围是注册范围和查询范围的交集,这样数据库处理查询时的选择范围比直接查询数据源更小,有利于数据库更好的选择索引。
图12为本发明具体实施例十一的流程图,一种数据集成服务方法,与具体实施例十一的区别在于:步骤01具体包括以下步骤:在步骤010中,对用户输入的数据源的文本格式的注册条件进行结构化查询语言的语法分析,判断所述注册条件的语法是否正确,是则执行步骤011,否则结束;然后在步骤011中,将经过所述语法分析后的注册条件转换为对应的条件二叉树。
图13为本发明具体实施例十二的流程图,一种数据集成服务方法,包括以下步骤:在步骤10中,对用户输入的查询条件进行解析并转换为对应的条件二叉树;然后在步骤11中,将所述条件二叉树转换为对应字段的数值范围集合;最后在步骤2中,根据所述数值范围集合以及预先保存的数据源提供的数据范围,查找并向对应的数据源提交查询请求并获得查询结果,将查询结果输出给用户。
图14为本发明具体实施例十三的流程图,一种数据集成服务方法,与具体实施例十三的区别在于:步骤10具体包括以下步骤:在步骤101中,对用户输入的文本格式的查询条件进行结构化查询语言的语法分析,判断所述查询条件的语法是否正确,是则执行步骤102,否则结束;然后在步骤102中,将经过所述语法分析后的查询条件转换为对应的条件二叉树。
图15为本发明具体实施例十四的流程图,一种数据集成服务方法,与具体实施例十四的区别在于:步骤2具体包括以下步骤:在步骤20中,根据所述数值范围集合和预先保存的数据源提供的数据范围,查找与所述数值范围集合对应的数据源;然后在步骤21中,对所述数值范围集合和查找到的数据源的数据范围进行交集运算,根据运算结果生成对应的结构化查询语言的查询请求;最后在步骤22中,将所述结构化查询语言的查询请求提交给所述查找到的数据源并获得查询结果,将查询结果输出给用户。
图16为本发明具体实施例十五的流程图,一种数据集成服务方法,与具体实施例十五的区别在于:具体实施例十五中步骤21在本具体实施例十六中为步骤21′,具体包括:对所述数值范围集合和查找到的数据源的数据范围进行交集运算,并判断运算得到的交集是否为空集,是则结束,否则执行步骤22。
图17为本发明具体实施例十六的流程图,一种数据集成服务方法,与具体实施例十六的区别在于:步骤22具体包括以下步骤:在步骤220中,将所述结构化查询语言的查询请求提交给所述查找到的数据源并获得查询结果;然后在步骤221中,通过预先设定的内置函数,对所述查询结果中的数据逐条根据所述查询条件对应的条件二叉树进行过滤;继而在步骤222中,通过预先设定的内置函数,对过滤后的数据逐条根据所述注册条件对应的条件二叉树进行过滤;最后在步骤223中,将经过步骤222过滤后的数据输出给用户。
图18为本发明具体实施例十七的流程图,一种数据集成服务方法,与具体实施例十六的区别在于:步骤22具体包括以下步骤:在步骤220′中,将所述结构化查询语言的查询请求提交给所述查找到的数据源并获得查询结果;然后在步骤221′中,通过预先设定的内置函数,对所述查询结果中的数据逐条根据所述注册条件对应的条件二叉树进行过滤;继而在步骤222′中,通过预先设定的内置函数,对过滤后的数据逐条根据所述查询条件对应的条件二叉树进行过滤;最后在步骤223′中,将经过步骤222′过滤后的数据输出给用户。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解,依然可以对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换,而不脱离本发明技术方案的精神;其均应涵盖在本发明请求保护的技术方案范围当中。

Claims (17)

1、一种数据集成服务系统,其特征在于,包括:
数据注册模块,用于对数据源所提供的数据范围进行注册和保存;所述数据注册模块包括:注册条件解析模块,用于对用户输入的数据源的注册条件进行解析并转换为对应的条件二叉树;注册条件转换模块,与所述注册条件解析模块连接,用于将所述注册条件解析模块转换生成的条件二叉树转换为对应字段的数值范围集合,并保存该数值范围集合;
数据查询模块,与所述注册条件转换模块以及一个或多个数据源连接,用于:根据用户输入的查询条件和所述注册条件转换模块中保存的数据源提供的数据范围,向对应的数据源提交查询请求并将查询结果输出给用户;所述数据查询模块包括:查询条件解析模块,用于对用户输入的查询条件进行解析并转换为对应的条件二叉树;查询条件转换模块,与所述查询条件解析模块连接,用于将所述查询条件解析模块转换生成的条件二叉树转换为对应字段的数值范围集合。
2、根据权利要求1所述的系统,其特征在于,所述注册条件解析模块具体包括:
注册条件语法分析模块,用于对用户输入的数据源的文本格式的注册条件进行结构化查询语言的语法分析;
注册条件二叉树生成模块,与所述注册条件语法分析模块连接,用于将所述注册条件语法分析模块分析后的注册条件转换为对应的条件二叉树。
3、根据权利要求2所述的系统,其特征在于,所述数据查询模块还包括:
数据源查询模块,与所述查询条件转换模块、所述数据注册模块、以及所述一个或多个数据源连接,用于:根据所述查询条件转换模块转换生成的数值范围集合以及所述数据注册模块保存的数据源提供的数据范围,查找并向对应的数据源提交结构化查询语言的查询请求并获得查询结果,将查询结果输出给用户。
4、根据权利要求3所述的系统,其特征在于,所述查询条件解析模块具体包括:
查询条件语法分析模块,用于对用户输入的文本格式的查询条件进行结构化查询语言的语法分析;
查询条件二叉树生成模块,与所述查询条件语法分析模块连接,用于将所述查询条件语法分析模块分析后的查询条件转换为对应的条件二叉树。
5、根据权利要求3所述的系统,其特征在于,所述数据源查询模块具体包括:
数据源查找模块,与所述查询条件转换模块和所述数据注册模块连接,用于:根据所述查询条件转换模块转换生成的数值范围集合和所述数据注册模块保存的数据源提供的数据范围,查找与所述数值范围集合对应的数据源;
查询处理模块,与所述数据源查找模块以及所述一个或多个数据源连接,用于:根据所述数值范围集合和所述数据源的数据范围生成数据源查询条件后提交给所述数据源,并获得所述数据源的查询结果,将查询结果输出给用户。
6、根据权利要求5所述的系统,其特征在于:还包括查询结果过滤模块,与所述查询处理模块连接,用于对所述查询处理模块查询的结果,通过预先设定的内置函数进行过滤。
7、根据权利要求6所述的系统,其特征在于,所述查询结果过滤模块具体包括:
注册条件过滤模块,与所述查询处理模块连接,用于通过预先设定的内置函数,对所述查询处理模块查询的结果中的数据逐条根据所述注册条件对应的条件二叉树进行过滤;
查询条件过滤模块,与所述注册条件过滤模块连接,用于通过预先设定的内置函数,对所述注册条件过滤模块过滤后的数据逐条根据所述查询条件对应的条件二叉树进行过滤。
8、根据权利要求6所述的系统,其特征在于,所述查询结果过滤模块具体包括:
查询条件过滤模块,与所述查询处理模块连接,用于通过预先设定的内置函数,对所述查询处理模块查询的结果中的数据逐条根据所述查询条件对应的条件二叉树进行过滤;
注册条件过滤模块,与所述查询条件过滤模块连接,用于通过预先设定的内置函数,对所述查询条件过滤后的数据逐条根据所述注册条件对应的条件二叉树进行过滤。
9、根据权利要求6所述的系统,其特征在于,还包括:内置函数库,与所述查询结果过滤模块连接,用于保存预先设定的所述内置函数。
10、根据权利要求9所述的系统,其特征在于,还包括:配置文件模块,与所述查询结果过滤模块连接,用于保存配置文件,所述配置文件保存有对所述内置函数库中所有函数的相关参数和返回值的定义。
11、一种数据集成服务方法,其特征在于,包括以下步骤:
步骤1、对用户输入的查询条件进行解析并转换为对应字段的数值范围集合;步骤1具体包括:步骤10、对用户输入的查询条件进行解析并转换为对应的条件二叉树;步骤11、将所述条件二叉树转换为对应字段的数值范围集合;
步骤2、根据所述数值范围集合以及预先保存的数据源提供的数据范围,查找并向对应的数据源提交查询请求并获得查询结果,将查询结果输出给用户;
所述步骤10之前还包括预先保存所述数据源提供的数值范围的操作,具体包括:
步骤01、对用户输入的数据源的注册条件进行解析并转换为对应的条件二叉树;
步骤02、将所述条件二叉树转换为对应字段的数值范围集合,并保存该数值范围集合。
12、根据权利要求11所述的方法,其特征在于,所述步骤01具体包括:
步骤010、对用户输入的数据源的文本格式的注册条件进行结构化查询语言的语法分析,判断所述注册条件的语法是否正确,是则执行步骤011,否则结束;
步骤011、将经过所述语法分析后的注册条件转换为对应的条件二叉树。
13、根据权利要求11所述的方法,其特征在于,所述步骤10具体包括:
步骤101、对用户输入的文本格式的查询条件进行结构化查询语言的语法分析,判断所述查询条件的语法是否正确,是则执行步骤102,否则结束;
步骤102、将经过所述语法分析后的查询条件转换为对应的条件二叉树。
14、根据权利要求11所述的方法,其特征在于,所述步骤2具体包括:
步骤20、根据所述数值范围集合和预先保存的数据源提供的数据范围,查找与所述数值范围集合对应的数据源;
步骤21、对所述数值范围集合和查找到的数据源的数据范围进行交集运算,根据运算结果生成对应的结构化查询语言的查询请求;
步骤22、将所述结构化查询语言的查询请求提交给所述查找到的数据源并获得查询结果,将查询结果输出给用户。
15、根据权利要求14所述的方法,其特征在于,所述步骤21具体包括:对所述数值范围集合和查找到的数据源的数据范围进行交集运算,并判断运算得到的交集是否为空集,是则结束,否则根据该交集生成对应的结构化查询语言的查询请求。
16、根据权利要求14所述的方法,其特征在于,所述步骤22具体包括以下步骤:
步骤220、将所述结构化查询语言的查询请求提交给所述查找到的数据源并获得查询结果;
步骤221、通过预先设定的内置函数,对所述查询结果中的数据逐条根据所述查询条件对应的条件二叉树进行过滤;
步骤222、通过预先设定的内置函数,对过滤后的数据逐条根据所述注册条件对应的条件二叉树进行过滤;
步骤223、将经过步骤222过滤后的数据输出给用户。
17、根据权利要求14所述的方法,其特征在于,所述步骤22具体包括以下步骤:
步骤220′、将所述结构化查询语言的查询请求提交给所述查找到的数据源并获得查询结果;
步骤221′、通过预先设定的内置函数,对所述查询结果中的数据逐条根据所述注册条件对应的条件二叉树进行过滤;
步骤222′、通过预先设定的内置函数,对过滤后的数据逐条根据所述查询条件对应的条件二叉树进行过滤;
步骤223′、将经过步骤222′过滤后的数据输出给用户。
CN200610083172A 2006-06-07 2006-06-07 数据集成服务系统及方法 Expired - Fee Related CN100578498C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200610083172A CN100578498C (zh) 2006-06-07 2006-06-07 数据集成服务系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200610083172A CN100578498C (zh) 2006-06-07 2006-06-07 数据集成服务系统及方法

Publications (2)

Publication Number Publication Date
CN101046811A CN101046811A (zh) 2007-10-03
CN100578498C true CN100578498C (zh) 2010-01-06

Family

ID=38771427

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200610083172A Expired - Fee Related CN100578498C (zh) 2006-06-07 2006-06-07 数据集成服务系统及方法

Country Status (1)

Country Link
CN (1) CN100578498C (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102054007B (zh) * 2009-11-10 2012-10-31 北大方正集团有限公司 一种检索方法及检索装置
CN101826108A (zh) * 2010-04-09 2010-09-08 北京宇辰龙马信息技术服务有限公司 数据集成平台
CN102402522A (zh) * 2010-09-09 2012-04-04 中国移动通信集团上海有限公司 数据查询系统及方法
CN102402515A (zh) * 2010-09-10 2012-04-04 深圳市鹏海运电子数据交换有限公司 通用自定义查询系统及方法
CN102930053B (zh) * 2012-11-19 2014-08-13 西北大学 一种多维度智能的资源筛选方法
CN103530394A (zh) * 2013-10-22 2014-01-22 金蝶软件(中国)有限公司 报表数据扩展的方法和装置
CN104166704A (zh) * 2014-08-05 2014-11-26 华为技术有限公司 一种屏蔽异构数据源的方法及装置
CN105550225B (zh) * 2015-12-07 2019-05-28 百度在线网络技术(北京)有限公司 索引构建方法、查询方法及装置
CN107368500B (zh) * 2016-05-13 2020-03-03 北京京东尚科信息技术有限公司 数据抽取方法及系统
CN107767010A (zh) * 2017-08-04 2018-03-06 平安科技(深圳)有限公司 范围值数据统计方法、电子装置及计算机可读存储介质
CN107609091B (zh) * 2017-09-08 2020-10-27 国云科技股份有限公司 一种跨库多表联合查询系统的实现方法
CN113434564A (zh) * 2020-03-23 2021-09-24 北京国双科技有限公司 Mysql元数据访问方法、装置、设备及介质

Also Published As

Publication number Publication date
CN101046811A (zh) 2007-10-03

Similar Documents

Publication Publication Date Title
CN100578498C (zh) 数据集成服务系统及方法
EP1639503B1 (en) A data processing method and system
EP2608074B1 (en) Systems and methods for merging source records in accordance with survivorship rules
CN103064875B (zh) 一种服务化空间数据分布式查询方法
JP5193061B2 (ja) 顧客駆動型クエリからの照合を強化するための方法およびシステム
US8712972B2 (en) Query optimization with awareness of limited resource usage
CN111459985B (zh) 标识信息处理方法及装置
US7617198B2 (en) Generation of XML search profiles
US8086592B2 (en) Apparatus and method for associating unstructured text with structured data
CN107169033A (zh) 基于数据模式转换和并行框架的关系数据查询优化方法
CN101021874A (zh) 一种对查询sql请求进行优化的方法及装置
CN102193922A (zh) 一种对数据库进行访问的方法和装置
CN105912594B (zh) Sql语句处理方法和系统
CN105164674A (zh) 涉及多个数据库和执行引擎的查询
CN105868204A (zh) 一种转换Oracle脚本语言SQL的方法及装置
CN107967313A (zh) 一种基于字段数据和坐标共性合并不同行业数据的方法
KR101505858B1 (ko) 대용량 데이터를 용이하게 분석하기 위하여 테이블 관계 및 참조의 템플릿을 검색하여 제공하는 템플릿 기반 온라인 분석보고서 작성 지원 시스템
US20020049747A1 (en) Method for integrating and accessing of heterogeneous data sources
CN101055566B (zh) 一种电子数据表的函数收集方法和装置
CN112965979A (zh) 一种用户行为分析方法、装置及电子设备
CN112926852A (zh) 一种基于数据融合的大气生态环境分析方法
CN116361487A (zh) 一种多源异构政策知识图谱构建和存储方法及系统
CN1809108A (zh) 基于过滤片的话单内存排重方法
Farooq et al. Real-time data warehousing for business intelligence
US20080010328A1 (en) System and method to determine a single SQL BOM solve

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20201204

Address after: Unit 2414-2416, main building, no.371, Wushan Road, Tianhe District, Guangzhou City, Guangdong Province

Patentee after: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

Effective date of registration: 20201204

Address after: 221300 No. 88 Liaohe West Road, Pizhou Economic Development Zone, Xuzhou City, Jiangsu Province

Patentee after: SU Normal University Semiconductor Materials and Equipment Research Institute (Pizhou) Co.,Ltd.

Address before: Unit 2414-2416, main building, no.371, Wushan Road, Tianhe District, Guangzhou City, Guangdong Province

Patentee before: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100106

Termination date: 20200607