首页> 中国专利> 分布式数据源数据集成系统及方法

分布式数据源数据集成系统及方法

摘要

本发明公开一种分布式数据源数据集成系统及方法,该发明利用管理器数据集成应用动态管理;利用应用解析器实现将外部数据集成应用需求解析为内部数据集成任务,并实现将最终数据集成任务结果集返回给外部数据集成应用;利用数据源管理器实现系统中分布式数据源管理,配制数据集成任务;利用查询转换器实现数据集成任务中面向异构数据源的查询指令格式及函数转换;利用通信对话器实现系统与数据源端采集器之间的网络通信;本发明提供数据集成低成本、高效灵活的应用,也决定了网络数据交换、数据集成等数据应用的现实可行性,具有重要的社会意义和经济效益。

著录项

  • 公开/公告号CN1687922A

    专利类型发明专利

  • 公开/公告日2005-10-26

    原文格式PDF

  • 申请/专利权人 北京慧讯信息技术有限公司;

    申请/专利号CN200510072339.3

  • 发明设计人 杨肖;孙晓红;

    申请日2005-05-30

  • 分类号G06F17/00;G06F17/30;H04L12/00;

  • 代理机构北京中海智圣专利商标代理事务所;

  • 代理人徐金伟

  • 地址 100085 北京市海淀区五街7号昊海大厦一层

  • 入库时间 2023-12-17 16:38:09

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-07-25

    未缴年费专利权终止 IPC(主分类):G06F17/00 授权公告日:20080709 终止日期:20110530 申请日:20050530

    专利权的终止

  • 2008-07-09

    授权

    授权

  • 2005-12-21

    实质审查的生效

    实质审查的生效

  • 2005-10-26

    公开

    公开

说明书

技术领域

本发明涉及一种与分布式数据存储技术以及网络计算技术相关的数据集成技术领域,更具体地涉及一种分布式数据源数据集成系统及方法。

背景技术

随着我国各行各业信息化工作的快速发展,各行业、各企业大多建设了内部的信息系统,在发展过程中积累了大量数据。由于企业往往拥有众多分支机构,分布在不同地域,应用不同的系统,采用不同的操作平台,数据信息存储在不同的数据库,各数据库采用不同的结构设计,数据表与字段定义存在差异,这样情况导致在共享信息时遇到诸多问题。由于各个数据源分散在各地,数据集成不可能通过局域网实现;由于数据源的操作平台和数据库类型差异,及数据属性差异和数据结构差异,严重制约众多数据源中存储数据信息共享。

现有传统的分布式数据集成系统要求在数据中心搭建中心数据库,将所有分布式数据源的数据全部汇集到中心数据库中,而各项应用只限于对中心数据库的调用。我们发现传统的分布式数据源集成系统存在下列缺陷:

1.搭建中心数据库需要支付高额的数据库软件费用;

2.所有数据存储在中心数据库中,随着数据量迅速膨胀,相应的存储硬件费用巨大;

3.中心数据库需要耗费大量系统资源实现与分布式数据源数据同步;

4.面向中心数据库的数据应用不可预知,导致中心数据库存储的数据利用率不高;

5.需要开发对不同异构数据源的数据接口;

6.对分布式数据源的维护繁琐,当数据源数量、物理位置变化时需要中心数据库进行大量操作;

7.数据集成应用计算集中发生在中心数据库中,对数据中心硬件压力大。

发明内容

本发明的目的是提供一种适用于生产企业集团、金融保险机构、各级政府所需要的低成本、高效的、实用、灵活的、可运行在互联网环境下的、支持数据源集群的分布式数据源数据集成系统及方法。

本发明是这样实现的:

一种分布式数据源数据集成系统,该系统是一种在互联网、局域网和广域网环境中,具有开放性和低成本的数据集成应用解析、数据源管理、查询转换、通信对话、数据采集、数据聚集能力的跨网络、跨平台、跨数据库的分布式数据源数据集成系统,该系统包括:

一个实现了数据集成应用动态管理、应用任务建立、数据源资源分配、数据查询语言转换、数据源通信对话的管理器,该管理器提供上述系统在数据集成系统中的模块调用和设备管理;

一个连接在上述管理器的应用解析器,该应用解析器实现将外部数据集成应用需求解析为内部数据集成任务,并实现将最终数据集成任务结果集返回给外部数据集成应用;

一个连接在上述管理器的数据源管理器,该数据源管理器实现管理数据集成系统中分布式数据源,配制数据集成任务,将数据集成任务涉及的数据源属性,如数据源地址、数据源连接、数据库类型、数据表名及字段名、数据查询指令赋予数据集成任务;

一个连接在上述管理器的查询转换器,该查询转换器实现针对数据集成任务涉及的数据源数据库类型,完成数据查询指令语句中字段格式转换、查询条件格式转换和函数转换;

一个连接在上述管理器的通信对话器,该通信对话器建立管理器与采集器之间的对话通道,实现数据集成任务分解及分发,实现数据收集和校验,进行系统与分布式数据源端采集器之间的数据交换和设备管理;

一个连接在上述管理器的数据聚集器,该数据聚集器实现聚集基于数据集成任务来自分布式数据源的数据并标准化,实现数据集成任务最终数据结果集管理;

一个实现了数据集成任务数据源端数据动态采集管理的采集器,该采集器支持异构数据源访问,提供数据集成采集过程的算法、模型、字典、进程调用和设备管理。

所述的管理器、应用解析器、数据源管理器、查询转换器、通信对话器、数据聚集器运行在数据中心,提供数据集成应用与分布式数据源集群上的需求实现,实现接收外部应用需求,并将需求转化为机器语言发布给采集器集合,实现开放平台管理中心的任务调度和数据合并;采集器运行在分布式数据源端,并与分布式数据源动态连接,实现数据源端的指令信息交换和事务调度功能,实现数据交换服务。

一种分布式数据源数据集成方法,该方法是一种在互联网、局域网和广域网环境中的数据集成应用解析、数据源管理配制、任务查询格式转换、任务分解及分发、数据采集、数据收集及校验、数据聚集及标准化、集成应用结果输出的分布式数据源数据集成方法,该方法使用数据集成任务包实现模块间控制信息和数据信息传递,是一种具有开放性和标准性的数据集成方法,该方法包括下列步骤:

利用应用解析器收到外部应用请求,创建数据集成任务包,增加任务序列号包头,数据集成范围包头,数据项集合包头,条件限定信息包头,数据集成属性包头;

基于上述步骤的结果,利用数据源管理器根据数据集成任务包中的任务序列号包头信息,创建数据源列表包头;处理数据集成任务包中的数据集成范围包头信息,添加数据源列表包头中的数据源各项参数及属性;处理数据集成任务包中的数据项集合包头信息,确定数据表名集合和数据字段名集合,添加数据源列表包头中的标准查询命令;处理数据集成任务包中的条件限定包头信息,添加数据源列表包头中的标准查询条件;

基于上述步骤的结果,利用查询转换器处理数据集成任务包中数据源列表包头信息,根据数据源参数,对数据源列表中的查询命令和查询条件进行文法格式转换及函数转换;

基于上述步骤的结果,利用通信对话器处理数据集成任务包,根据数据源列表包头信息,分解生成数据集成任务子包,并分发任务;

基于上述步骤的结果,利用采集器运行数据集成任务子包中的数据集成任务,得到数据文件,合并数据集成任务子包和数据文件,生成数据集成任务采集数据包;

基于上述步骤的结果,利用通信对话器校验数据集成任务采集数据包,标注确认后,简单合并拥有相同任务序列号的所有采集数据包,生成一个包含所有采集数据的数据集成任务包;

基于上述步骤的结果,利用数据聚集器处理数据集成任务包中的数据,统一数据项名描述,统一数据格式,生成完整的、标准的数据采集任务包;

基于上述步骤的结果,利用应用解析器处理数据采集任务包,删除所有控制信息包头,生成标准XML数据文件,传给外部应用。

所述的数据集成任务包通过增加或删除包头,分解和聚合数据集成任务包来传递数据集成过程中的控制信息和数据集合。

与现有技术比较,本发明具备如下优点:

1.系统无需搭建中心数据库,数据集成过程由管理器动态管理;

2.数据存储在分布式数据源中,系统不直接存储数据;

3.数据集成系统按应用需求动态集成分布式数据源上存储的数据,不存在数据源数据同步问题;

4.数据集成任务由应用需求驱动,数据利用率100%;

5.采集器支持异构数据源,向开放平台管理器提供统一接口,解决异构数据源数据集成接口问题;

6.分布式数据源字典由管理器集中管理,可以方便适应数据源变化;

7.数据集成应用计算分解在数据源端完成,实现数据网络计算。

附图说明

根据下面附图及最佳实施例的描述,本发明的特性和优点将会更加易于理解。

图1是本发明的分布式数据源数据集成系统的总体方框图;

图2是本发明的分布式数据源数据集成方法的总体步骤流程图;

图3为图2中数据集成应用解析的详细步骤流程图;

图4为图2中数据源管理配制的详细步骤流程图;

图5为图2中任务查询格式转换的详细步骤流程图;

图6为图2中任务分解及分发的详细步骤流程图;

图7为图2中数据采集的详细步骤流程图;

图8为图2中数据收集及校验的详细步骤流程图;

图9为图2中数据聚集及标准化的详细步骤流程图;

图10为图2中集成应用结果输出的详细步骤流程图。

具体实施方式

图1是本发明分布式数据源数据集成系统的总体方框图,在图1中,本发明包括管理器1、应用解析器2、数据源管理器3、查询转换器4、通信对话器5、数据聚集器6和采集器7。

管理器1提供数据集成系统中的模块调用和设备管理;与管理器1连接的应用解析器2提供与外部数据集成应用的接口,将外部数据集成应用需求转化为分布式数据源数据集成系统可以识别的数据集成任务,并提供将最终数据集成结果集返回外部数据集成应用功能;与管理器1连接的数据源管理器3管理分布式数据源字典,实现配制数据集成任务涉及的数据源地址集、数据源连接属性集、数据库类型集,管理分布式数据源结构字典,实现配制数据集成任务涉及的数据表名、字段名列表;与管理器1连接的查询转换器4结合数据集成任务所选数据源数据库类型,实现数据集成任务中数据源列表中数据查询指令行字段格式转换、查询条件格式转换和函数转换;与管理器1连接的通信对话器5实现建立管理管理器1与采集器7之间对话通道,实现数据集成任务运行进程调度管理,实现数据集成任务的解与分发管理,实现数据收集与校验管理;与管理器1连接的数据聚集器6实现对来自数据源的集成数据的聚集和标准化管理,实现数据集成任务最终数据结果集管理;采集器7实现数据集成任务数据源端数据动态采集管理,访问异构数据源,提供数据集成采集过程中的算法、模型、字典,和设备管理。

应用解析器2、数据源管理器3、查询转换器4、通信对话器5、数据聚集器6之间通过管理器1中设定的数据集成任务信息包实现控制数据内部传输;管理器1与采集器2之间通过标准网络通信协议进行指令及数据交换。

图2说明了分布式数据源数据集成方法的总体步骤流程图。

在步骤30中,由应用解析器2接收到外部数据集成应用请求,解析外部数据应用需求,创建内部数据集成任务,配制数据集成任务方法与属性。

在步骤31中,由数据源管理器3接收到应用解析器2转递来的数据集成任务,配制具体任务需求细节,创建分布式数据源列表,配制数据源属性和数据集成任务涉及的数据表信息、字段信息、查询条件、数据采集频度和数据传递时间等。

在步骤32中,由查询转换器4接收到数据源管理器3转递来的数据集成任务,对数据集成方法进行基于不同数据库的查询指令语句格式、条件格式和函数转换。

在步骤33中,由通信对话器5接收到查询转换器4转递来的数据集成任务,按分布式数据源目标地址分解任务,建立通信对话通道,向分布式数据源分发任务子包。

在步骤34中,由采集器7在数据源端接收到通信对话器5分发的数据集成任务子包,创建采集任务,管理数据采集进程,存储数据采集结果,通过通信对话通道上传数据采集结果。

在步骤35中,由通信对话器5接收到采集器7上传的数据采集数据包,经过数据包校验、任务校验,收集所有任务子包数据,简单合并数据,生成新的数据集成任务包。

在步骤36中,由数据聚集器6接收到通信对话器5转递来的数据集成任务包,对包中的数据进行标准化处理,聚合所有采集数据,重新构架生成标准的数据集成任务包。

在步骤37中,由应用解析器2接收到数据聚集器6转递来的数据集成任务包文件,解析外部应用地址,构架标准XML数据文件,传递给外部数据集成应用。

图3更深入地说明了应用解析器2中各个模块组件处理数据集成应用解析的全过程。在步骤301中,应用解析器2接收到外部数据集成应用请求,动态创建新的数据集成任务,生成一个空的数据集成任务包;在步骤302中,应用解析器2开始分步骤对数据集成任务包进行初始化;在步骤303中,应用解析器2自动产生一个系统内部任务序列号,该任务序列号为数据集成开放平台任务管理唯一标识,并将任务序列号赋予新的数据集成任务包;在步骤304中,应用解析器2对外部数据集成应用请求进行分析,明确该数据集成应用请求涉及到数据源范围,将数据集成范围信息添加至数据集成任务包;在步骤305中,应用解析器2对外部数据集成应用请求进行分析,罗列出该数据集成应用请求在目标数据源中要集成的数据项集合,将数据项列表添加至数据集成任务包;在步骤306中,应用解析器2对外部数据集成应用请求进行分析,确立数据集成的各项条件限定内容,将条件限定信息添加至数据集成任务包;在步骤307中,应用解析器2继续对外部数据集成应用请求进行分析,将采集频度信息和数据集成时段信息等数据集成属性添加至数据集成任务包,最终完成对外部数据集成应用请求的解析。

图4更深入地说明了数据源管理器3中各个模块组件处理数据源管理配制的全过程。在步骤311中,数据源管理器3打开应用解析器2转递来的数据集成任务包;在步骤312中,数据源管理器3读取数据集成任务包中存储的数据集成范围参数,查询存储在数据源管理器12的分布式数据源字典,查询结果为符合范围参数要求的分布式数据源集合;在步骤313中,逐一遍历分布式数据源集合;在步骤314中,在数据集成任务包数据源列表中添加一条数据源空记录,将数据源数据库地址参数、数据源连接参数(用户名、用户密码)、数据源数据库类型等属性添加到数据源空记录中;在步骤315中,数据源管理器3读取数据集成任务包中存储的数据项集合参数,查询存储在数据源管理器3的分布式数据源结构字典,查询结果为与数据项对应的数据表名集合及数据字段名集合,根据数据表名和数据项名生成标准的数据库查询语句结构;在步骤316中,数据源管理器3读取数据集成任务包中存储的数据条件参数,查询存储在数据源管理器3的分布式数据源结构字典,查询结果为与数据条件对应的数据表名集合及条件限定字段名集合,根据条件限定字段名及对应的数据表名生成标准的数据库查询语句的条件限定结构;在步骤317中,数据源管理器3将数据库查询语句结构与数据库查询语句的条件限定结构合并为标准的数据库查询语句,并添加到数据源空记录中;在步骤318中,数据源管理器3判断数据源集合是否遍历完毕,如否,转至步骤313,如是,转至步骤319;在步骤319中,数据源管理器3完成对数据集成任务包的数据源配置,关闭数据集成任务包。

图5更深入地说明了查询转换器4中各个模块组件处理查询格式转换的全过程。在步骤321中,查询转换器4打开数据源管理器3转递来的数据集成任务包;在步骤322中,查询转换器4遍历数据集成任务包中数据源列表记录;在步骤323中,读取数据源属性信息;在步骤324中,根据属性信息,判断分布式数据源数据库类型;在步骤325中,根据数据源数据库类型,打开相应的数据库查询命令文法库,对数据集成任务包中当前数据源记录中的标准数据库查询语句进行基于不同数据库的文法格式转换;在步骤326中,根据数据源数据库类型,打开相应的数据库函数库,对数据集成任务包中当前数据源记录中的标准数据库查询语句中函数进行基于不同数据库的函数转换;在步骤327中,查询转换器4判断数据源列表是否遍历完毕,如否,转至步骤322,如是,转至步骤328;在步骤328中,查询转换器4完成对数据集成任务包的数据源列表所有记录中数据库查询语句的转换,关闭数据集成任务包。

图6更深入地说明了通信对话器5中各个模块组件处理任务分解及分发的全过程。在步骤331中,通信对话器5打开查询转换器4转递来的数据集成任务包;在步骤332中,读取数据集成任务包中的任务属性,包括任务序列号、采集频度信息和数据集成时段信息;在步骤333中,通信对话器5遍历数据集成任务包中数据源列表记录;在步骤334中,读取数据集成任务包中数据源列表属性,包括数据源地址、数据源连接参数、数据库查询语句信息;在步骤335中,合并任务属性和数据源属性,生成数据集成任务子包;在步骤336中,根据数据源地址,利用标准网络通信协议,建立管理器1与安装在数据源端的采集器7之间对话通道;在步骤337中,将数据集成任务子包传送至采集器7;在步骤338中,通信对话器5判断数据源列表是否遍历完毕,如否,转至步骤333,如是,转至步骤339;在步骤339中,通信对话器5完成对数据集成任务包的分解和任务分发,关闭数据集成任务包,并将数据集成任务包存储在通信对话器5中备查。

图7更深入地说明了采集器7中各个模块组件处理数据采集的全过程。采集器7安装在数据源端,提供与分布式数据源之间物理接口。在步骤341中,采集器7接收到由通信对话器5下发的数据集成任务子包;在步骤342中,读取数据集成任务子包中的任务属性和数据源属性;在步骤343中,采集器7创建新的数据采集任务;在步骤344中,采集器7将读取的任务属性和数据源属性信息赋予给新建的数据采集任务,配制数据源连接、数据源查询及采集命令、数据采集频度和数据集成上传时段等;在步骤345中,启动新建立的采集任务,由采集器7统一管理运行在采集器7上的所有数据采集任务,监测及管理数据采集频度;在步骤346中,当系统时间达到数据采集频度要求时,根据数据源连接属性动态连接数据源,运行数据源查询语句,将查询结果数据生成XML数据包文件,输出并存储于采集器7数据池中;在步骤347中,将XML数据包文件与数据集成任务子包合并,生成数据集成任务采集数据包;在步骤348中,根据数据采集任务中设定的数据集成上传属性,由采集器7管理在指定时段上传数据集成任务采集数据包至管理器1的通信对话器5。

图8更深入地说明了通信对话器5中各个模块组件处理数据收集和校验的全过程。在步骤351中,通信对话器5接收到由采集器7上传的数据集成任务采集数据包;在步骤352中,通信对话器5对数据集成任务采集数据包进行完整性校验;在步骤353中,判断数据集成任务采集数据包是否通过校验,如否,转至步骤354,如是,转至步骤355;在步骤354中,通信对话器5对没有通过校验的数据集成任务采集数据包,向对应的采集器7发出数据包再传请求;在步骤355中,对通过校验的数据集成任务采集数据包,读取其中的任务序列号、数据源地址信息,查询存储在通信对话器5数据集成任务包,标注已经收到数据采集数据包的数据源地址;在步骤356中,通信对话器5定时对存储的数据集成任务进行扫描,查看数据集成任务包中数据源列表,校验是否完成任务;在步骤357中,判断数据集成任务是否完成,如否,说明还有数据源采集器7尚未上传数据,继续等待,转至步骤351,如是,说明所有任务涉及的数据源都已经上传数据,数据采集任务完成,转至步骤358;在步骤358中,简单合并拥有相同任务序列号所有采集数据包,将这些采集数据包追加到数据集成任务包的后面,生成一个包含所有采集数据的数据集成任务包。

图9更深入地说明了数据聚集器6中各个模块组件处理数据聚集及数据标准化的全过程。在步骤361中,数据聚集器6打开通信对话器5转递来的数据集成任务包;在步骤362中,读取数据集成任务包中的数据项表;在步骤363中,将数据集成任务包后缀中的所有来自分布式数据源的数据采集数据中的不同的数据字段名描述统一更改为对应的数据项名描述;在步骤364中,将数据集成任务包中后缀的采集数据按更改后的数据项统一更改数据格式类型;在步骤365中,重新构造数据集成任务包,按统一格式聚合任务涉及的所有数据源的采集数据,生成一个完整的、标准的数据集成任务包,文件包括任务序列号、数据源列表、数据采集数据结果集;在步骤366中,关闭经过数据聚集器6处理的数据集成任务包。

图10更深入地说明了应用解析器2中各个模块组件处理集成应用结果输出的全过程。在步骤371中,应用解析器2打开来自数据聚集器6转递来的数据集成任务包;在步骤372中,读取任务包中的任务序列号;在步骤373中,根据任务序列号,查询存储在应用解析器2中的数据集成任务列表;在步骤374中,记录查询到的与数据集成任务对应的外部应用地址;步骤375中,只提取数据集成任务包中的数据采集数据结果集,生成标准的XML数据文件;步骤376中,按照外部数据集成应用地址,将标准的XML数据文件传递给外部数据集成应用,完成整个数据集成过程。

应当理解前面只是图解本发明的原理,本领域的技术人员在不脱离本发明的范围和本质的情况下可以进行各种修改。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号