CN105447083A - 一种多源异构数据库数据聚散方法及*** - Google Patents
一种多源异构数据库数据聚散方法及*** Download PDFInfo
- Publication number
- CN105447083A CN105447083A CN201510747165.XA CN201510747165A CN105447083A CN 105447083 A CN105447083 A CN 105447083A CN 201510747165 A CN201510747165 A CN 201510747165A CN 105447083 A CN105447083 A CN 105447083A
- Authority
- CN
- China
- Prior art keywords
- data
- application
- message
- source
- database
- 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
Links
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/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
本发明适用于数据领域,提供了一种多源异构数据库数据聚散方法及***,所述方法包括:多源数据整合***采集数据信息,之后将采集到的数据信息进行整合并存储到目标数据库中;数据分发***接收多源数据整合***的数据信息,并根据应用数据库***中各个应用数据库的应用需求向各个应用数据库分发数据信息;各个应用数据库接收数据分发***分发的数据信息并在实际应用过程中对分发的数据信息分别进行数据使用与数据更新,之后应用数据库***再将更新后的数据信息发送到多源数据整合***。本发明通过一种数据聚散聚的循环方式,使得数据能够循环利用。
Description
技术领域
本发明涉及数据领域,尤其涉及一种多源异构数据库数据聚散方法及***。
背景技术
当前我们处在大数据时代,具有以下特点:
1).大数据时代已经悄然而至。大数据将逐渐成为现代设施的一部分,就像公路、铁路、港口、水电和通信网络一样不可或缺。但就其价值特征而言,大数据却和这些物理化的基础设施不同,它不会因为人们的使用而贬值,反而会变得更加的丰富和全面。例如,一组DNA可能会死亡或毁灭,但数据化的DNA却会永存。因此大数据时代的政治学、社会学和许多科学门类都会发生巨大的甚至是本质上的变化和发展,进而影响人类的价值体系、知识体系和生活方式。今天,每个人、每个行业都在享受着大数据带来的便利。
2).数据整合显价值。在人类的历史长河中,即使是现在社会日新月异的发展中,人们还是主要依赖抽样数据、局部数据和片面数据,甚至在无法获得实证数据的时候,纯粹依赖经验、理论、假设和价值观去发现未知领域的规律。因此,人们对世界的认识往往是表面的、肤浅的、简单的、扭曲的或者是无知的。如果我们还是以部分数据去对未知的事物进行判断,这无疑好比“盲人摸象”,摸到的永远只会是一部分或者说一方面,不能从整体和全局去认识未知的世界。因此我们必须将企业现在分散的数据整合起来,去关联分析和挖掘才能发现更多的类似“啤酒加尿布”的数据挖掘经典案例,才能在最大程度上体现出数据的价值。
3).数据需要按需使用。基于整合的数据,可以实现数据的按需使用,传统模式下的应用***之间数据相互隔离,形成各自的数据孤岛,应用之间数据无法互联互通;基于整合的数据,可以满足应用之间的数据联动,实现跨应用的数据互通互调,从而实现数据的按需使用。
4).让数据流动起来。如今,“大数据”发展的障碍主要在于“流行性”和“可获取性”。因此美国政府创建了Data.gov网站,为大数据敞开了大门;英国、印度也有“数据公开”运动。流动的数据才能使数据实现循环利用,如同工业革命要开放物质交易、流通一样,开放和流通的数据能让数据形成自我循环的生态圈,使数据各取所用,使数据的内在价值得以挖掘利用。
传统IT***多采用“烟囱式”架构设计,多源异构数据库***普遍存在,多个数据库***数据不共享,形成数据孤岛。在当今大数据时代,若无法实现数据整合,数据将无法按需使用,也无法让数据充分流动,导致数据的价值无法被充分挖掘利用。
现有数据整合的技术方案通常使用商业软件来实现,但通常只能实现某种特殊类型的数据库***整合,无法实现数据的按需分发和数据循环流动,例如Oracle公司推出的GoldenGate等,只能实现从多个Oracle数据库整合到某一个Oracle数据库,无法实现MySQL数据库到Oracle数据库的整合;除此之外,这些商业软件不仅收费高昂,而且闭源,无法根据用户自身需求进行个性化定制开发,同时,数据安全、数据隐私也是非常重要的,而在“棱镜门”后时代,通常无法对这些闭源的商业软件进行安全检测,无法确定是否有后门存在。
发明内容
本发明实施例的目的在于提供一种多源异构数据库数据聚散方法及***,旨在提供一种数据聚散聚的循环方式,使得数据能够循环利用。
本发明实施例是这样实现的,一种多源异构数据库数据聚散方法,所述方法包括:
多源数据整合***采集数据信息,之后将采集到的数据信息进行整合并存储到目标数据库中;
数据分发***接收多源数据整合***的数据信息,并根据应用数据库***中各个应用数据库的应用需求向各个应用数据库分发数据信息;
各个应用数据库接收数据分发***分发的数据信息并在实际应用过程中对分发的数据信息分别进行数据使用与数据更新,之后应用数据库***再将更新后的数据信息发送到多源数据整合***。
进一步的,所述多源数据整合***采集数据信息为:
多源数据整合***采集多个不同数据源和/或不同数据结构的数据库中的原始数据;或者
多源数据整合***采集各个应用数据库更新后发送的数据信息。
进一步的,所述将采集到的数据信息进行整合并存储到目标数据库中的步骤包括:
将采集到的数据信息进行一致性处理,使得数据信息具有统一的数据格式;
对具有统一数据格式的数据信息进行整合,并将整合后的数据信息存储到目标数据库中。
进一步的,所述数据分发***采用云计算的分布式信息处理机制,能够根据数据处理的性能需求进行***的动态伸缩。
进一步的,所述数据分发***根据应用数据库***中各个应用数据库的应用需求向各个应用数据库分发数据信息的步骤前还包括:
数据分发***获取各个应用数据库的应用需求信息,包括应用的位置信息以及应用业务类型。
本发明实施例的另一目的在于提供一种多源异构数据库数据聚散***,所述***包括:
多源数据整合***,用于采集数据信息,之后将采集到的数据信息进行整合并存储到目标数据库中;
数据分发***,用于接收多源数据整合***的数据信息,并根据应用数据库***中各个应用数据库的应用需求向各个应用数据库分发数据信息;
应用数据库***,包含有多个应用数据库,用于接收数据分发***分发的数据信息并在实际应用过程中对分发的数据信息进行数据使用与数据更新,之后应用数据库***再将更新后的数据信息发送到多源数据整合***。
进一步的,所述多源数据整合***采集数据信息为:
多源数据整合***采集不同数据源和/或不同数据结构的数据库中的原始数据;或者
多源数据整合***采集应用数据库***更新后发送的数据信息。
进一步的,多源数据整合***包括:
一致性处理***,用于将采集到的数据信息进行一致性处理,使得数据信息具有统一的数据格式;
整合存储***,用于对具有统一数据格式的数据信息进行整合,并将整合后的数据信息存储到目标数据库中。
进一步的,所述数据分发***采用云计算的分布式信息处理机制,能够根据数据处理的性能需求进行***的动态伸缩。
进一步的,所述***还包括:
信息获取单元,用于数据分发***获取应用数据库***中各个应用数据库的应用需求新,包括应用的位置信息以及应用业务类型。
本发明实施例通过一种多源异构数据库数据聚散方法及***,通过多源数据整合***整合所有数据信息,将所有位于不同地理位置以及不同数据结构的数据信息整合成统一数据格式的可用数据,并将统一数据格式后的可用数据存储到一个目标数据库中,完成数据的集中存储,之后由数据分发***分发到应用数据库***中进行数据使用,应用数据库***在使用以后将使用后的数据信息回流到多源数据整合***中,如此循环完成数据的从聚到散再到聚,数据在使用过程中实现了循环流动,使得数据可以不断的进行自我更新,更新后的数据信息可以更好的在应用数据库***中进行实际使用,从而发挥数据信息的最大价值。
附图说明
图1是本发明第一实施例提供的一种多源异构数据库数据聚散方法的实现流程图;
图2是本发明第一实施例提供的多源异构数据库数据聚散***的架构图;
图3是本发明第一实施例提供的数据分发流程图;
图4是本发明第二实施例提供的一种多源异构数据库数据聚散***的结构图;
图5是本发明第二实施例数据分发***的架构图;以及
图6是本发明第二实施例提供的数据的聚散聚的流向图。
具体实施方式
为了使本领域的技术人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
以下结合具体实施例对本发明的具体实现进行详细描述:
实施例一:
图1示出了本发明第一实施例提供的一种多源异构数据库数据聚散方法的实现流程,详述如下:
在步骤S101中,多源数据整合***采集数据信息,之后将采集到的数据信息进行整合并存储到目标数据库中。
在具体实施过程中,多源数据整合***首先采集数据信息,多源数据整合***可以由中间整合数据库和目标数据库组成,中间整合数据库可以将多个不同来源的源数据库整合,多个不同来源的源数据库可以采用不同的数据结构,且多个不同来源的源数据库可以位于不同的物理位置,不同来源的源数据库可以被不同的应用***所直接使用;不同的数据结构指数据库的数据库管理***的型号、版本、字符集等方面可以不同,例如源数据库1的数据库版本是Oracle9i,字符集是ASCII;源数据库2的数据库版本是Oracle10.2,字符集是UTF-8;***n数据库版本是MySQL5.6,字符集是GBK。
多源数据整合***采集数据信息时可以通过不同的方式采集数据,在初始状态时需要采集源数据库的数据信息,此时需要采集不同数据源和/或不同数据结构的数据库中的原始数据,而在***运行中则需要采集应用数据库***更新后发送的数据信息。对于采集到的源数据库中的原始数据则需要进行一致性处理,将多源异构数据整合成统一版本和字符集格式的数据,使得数据信息具有统一的数据格式,然后将整合好的数据全部推送到目标数据库中。在具体实施过程中可以是针对Oracle数据库,使用物化视图将多源异构数据库中的数据全部抽取到中间整合数据库中;也可以是针对MySQL数据库,使用二进制日志和MySQL官方提供的mysqlbinlog工具将多源异构数据库中的数据全部抽取到中间整合数据库中;还可以是针对SQLServer数据库,使用LinkedServer将多源异构数据库中的数据全部抽取到中间整合数据库。根据具体数据库的不同可以采用不同的数据整合方式,这个过程主要实现两个功能,一个是数据转码功能,另外一个是数据整合功能,即将不同编码、不同版本的数据库数据统一为UTF-8编码,并集中存储在某种统一的数据库中例如:Oracle11g中;也可以是针对MySQL数据库,使用二进制日志和mysqlbinlog工具,来实现数据的转码与整合;也可以是针对SQLServer数据库,可以使用LinkedServer来实现数据的转码与整合。因为面临的数据可能是海量的,为了能满足大数据处理的需要,中间整合数据库和目标数据库优选的可以采用云计算的分布式集群架构构建,这样就可以根据数据量、***性能和处理能力对***进行动态伸缩,一方面可以增强本***的处理能力,另一方面也可以避免硬件资源的浪费。在目标数据库中可以对整合的数据进行多维度分析挖掘,为企业的经营决策和发展策略提供数据支持。将原本看似独立无用的数据通过整合、多维度分析挖掘后,让其发挥出最大的作用。
在步骤S102中,数据分发***接收多源数据整合***的数据信息,并根据应用数据库***中各个应用数据库的应用需求向各个应用数据库分发数据信息。
在具体实施过程中,数据分发***为了能够跨越不同的地理位置,例如内外网、多地数据中心,将接收多源数据整合***的数据信息按需的分享出去,数据分发***构建了数据分发***集群架构,数据分发***集群架构由消息前置处理模块、消息队列缓存模块、消息后置处理模块和消息消费处理模块组成。数据分发***与多源数据整合***以及应用数据库***进行数据对接。多源异构数据库数据聚散***的架构图如图2所示,由于应用数据库***和多源数据整合***中集中存储的目标数据库由网闸隔离,形成内网和外网。应用数据库***中各个应用数据库根据应用需求获得数据,此时需要数据分发***采用消息队列机制,透过网闸进行数据分发,将数据按应用数据库***的各个应用数据库的需求分发到对应的应用数据库***的数据库中。
消息前置处理模块位于多源数据整合***的目标数据库和数据分发***的消息队列缓存模块之间,是目标数据库和消息队列缓存模块的桥梁。在具体实施过程中,消息前置处理模块位于整个***架构的内网环境,将目标数据库发送过来的消息做一次转发后,把消息从内网环境发送到位于外网环境或者地理上位于其它地域的消息队列缓存处理模块。在实施过程中,如果在单位时间内,需要转发大量的消息,优选的可以横向的扩展消息前置处理模块的数量,将单节点的消息前置处理模块配置为多个消息前置处理模块的集群环境,来动态的增强消息前置处理模块的消息转发能力。
消息队列缓存模块是消息前置处理模块的消息接收者,是后置消息处理模块消息的提供者。它主要将消息前置处理模块发送过来的消息缓存在内存中,如果内存容量不能满足接收到的消息大小,则将消息存放在硬盘上。消息队列缓存模块可以确保消息零丢失和***稳定。如果在单位时间内需要处理大量的消息,优选的可以增加消息队列的数量,将单个节点的消息队列配置为多个消息队列的集群环境,来动态的增强消息队列缓存模块的消息缓存能力。
消息后置处理模块是消息队列缓存模块和消息消费处理模块的纽带,它从消息队列缓存处理模块中读取消息,然后将读取的消息发送给消息消费处理模块。如果在单位时间内需要处理大量的消息,优选的可以根据消息流量,动态增加或减少消息后置处理模块的数量,从而动态适应消息流量,获得该模块的处理能力自适应。
消息消费处理模块解析消息后置处理模块发送过来的消息,根据消息中的参数做相应规则的解析,然后将解析后的消息发送给对应的应用数据库***。如果在单位时间内,需要消费大量的消息,优选的可以增加消息消费处理模块的数量,将单节点的消息消费处理模块配置为多个节点的集群环境,来动态的增强消息消费处理模块的消息消费能力。
其中需要说明的是:数据分发***在具体的实时过程中为了便于进行实施,可以使用多种计算机语言进行设计,其中优选的可以采用JAVA语言来进行实现,例如消息前置处理模块使用JAVA语言进行实施,实现消息前置处理模块的集群架构;消息队列缓存模块使用Apache的ActiveMQ***来实现消息队列模块集群;消息后置处理模块和消息消费处理模块均是使用JAVA语言进行实施,实现消息后置处理模块和消息消费处理模块的集群架构。数据分发***需要分发的数据首先由消息前置处理模块封装成消息报文,并透过网闸发送给外网的消息队列缓存模块,消息队列缓存模块对消息报文做内存级别或者磁盘级别的缓存后发送给消息后置处理模块,消息后置处理模块将接收到的消息报文转发给消息消费处理模块,消息消费处理模块根据消息报文中的参数将消息报文解析,并存储到距离相应业务应用最近的数据库中。最后数据分发***根据应用数据库***中各个应用数据库的应用需求向各个应用数据库分发数据信息,其中优选的数据分发***在分发数据前获取应用数据库***的位置信息、应用类型等应用需求信息,之后根据应用数据库***的应用需求信息将数据分发到相应应用数据库中,从而实现数据的按需使用。在具体的实施过程中,由于分发数据时,数据分发***需要对接多个应用数据库,此处以一具体实施方式进行说明,首先数据分发***据根据不同应用种类将数据分为应用1数据、应用2数据……应用n数据,这些不同的应用数据可以分别满足不同的应用业务类型,从而满足不同的应用需求,通过数据分发***将这些不同的应用数据根据应用的不同需求分发到对应的应用1数据库、应用2数据库……应用n数据库中,从而实现根据各个应用数据库的应用需求分发数据信息。具体分发的步骤可以如图3所示:
第S301步:在目标数据库的表上建立insert***、update更新、delete删除等触发器,当目标数据库的表上有insert、update、delete等操作时,会触发相应的触发器。
第S302步:触发器中封装了DML数据操作语言操作的SQL语句。
第S303步:触发器调用curl库函数,将相应的DML操作的SQL语句发送到消息前置处理模块。
第S304步:消息前置处理模块通过TCP协议将消息传输给消息队列缓存模块。
第S305步:消息队列缓存模块对消息进行内存级别或磁盘级别的缓存,并通过TCP协议将消息传输给消息后置处理模块。
第S306步:消息后置处理模块将接收到的消息通过TCP协议传输给消息消费处理模块。
第S307步:消息消费处理模块接收到消息报文,从消息报文中解析出相应的SQL语句,再将这些SQL语句发送给相应的应用数据库。
第S308步:应用数据库直接执行接收到的SQL语句,完成数据入库操作。
在步骤S103中,各个应用数据库接收数据分发***分发的数据信息并在实际应用过程中对分发的数据信息分别进行数据使用与数据更新,之后应用数据库***再将更新后的数据信息发送到多源数据整合***。
在具体实施过程中,各个应用数据库接收数据分发***分发的数据信息以后就可以分别进行数据使用,由于数据已经经过多源数据整合***进行整合,数据可以直接被应用数据库***中的具体应用进行识别和使用,在具体使用过程中,应用会将数据进行更新,其中数据更新包括以下数据更新中的一种或多种:对数据本身的更新,对数据使用状态的更新,对数据使用记录的更新,之后应用数据库***就可以将更新后的数据信息发送到多源数据整合***,实现数据的回流,使得数据可以进行更新,更新后的数据再通过数据分发***分发,如此就可以实现数据的循环利用和循环更新。
本发明实施例通过上述方式,一种多源异构数据库数据聚散方法,通过多源数据整合***整合所有数据信息,将所有位于不同地理位置以及不同数据结构的数据信息整合成统一数据格式的可用数据,并将统一数据格式后的可用数据存储到一个目标数据库中,完成数据的集中存储,之后由数据分发***分发到应用数据库***中各个应用数据库中进行数据使用,在实际应用过程中对分发的数据信息进行数据使用与数据更新,应用数据库***中的各个应用数据库在使用以后将使用后的数据信息回流到多源数据整合***中,如此循环完成数据的从聚到散再到聚,数据在使用过程中实现了循环流动,使得数据可以不断的进行自我更新,更新后的数据信息可以更好的在应用数据库***中的各个应用数据库进行实际使用,从而发挥数据信息的最大价值,同时数据在通过数据分发***进行分发时,可以根据具体应用的具体需求进行按需分享,数据分发***的动态伸缩可以最大效率的进行数据的分发处理,保证整个多源异构数据库数据聚散***的稳定性和可靠性,最大效率的发挥***的数据处理能力。
实施例二:
图4示出了本发明第二实施例提供的一种多源异构数据库数据聚散***的结构图,为了便于说明,仅示出了与本发明实施例相关的部分。
多源数据整合***41,用于采集数据信息,之后将采集到的数据信息进行整合并存储到目标数据库中。
在具体实施过程中,多源数据整合***首先采集多源异构的数据信息,多源数据整合***可以由中间整合数据库和目标数据库组成,中间整合数据库可以将多个不同来源的源数据库整合,多个不同来源的源数据库可以采用不同的数据结构,且多个不同来源的源数据库可以位于不同的物理位置,不同来源的源数据库可以被不同的应用***所直接使用;不同的数据结构指数据库的数据库管理***的型号、版本、字符集等方面可以不同,例如源数据库1的数据库版本是Oracle9i,字符集是ASCII;源数据库2的数据库版本是Oracle10.2,字符集是UTF-8;***n数据库版本是MySQL5.6,字符集是GBK。多源数据整合***采集数据信息时可以通过不同的方式采集数据,在初始状态时需要采集源数据库的数据信息,此时需要采集不同数据源和/或不同数据结构的数据库中的原始数据,而在***运行中则需要采集应用数据库***更新后发送的数据信息。对于采集到的源数据库中的原始数据则需要进行一致性处理,通过一致性处理***将多源异构数据整合成统一版本和字符集格式的数据,使得数据信息具有统一的数据格式,然后将整合好的数据通过整合存储***全部推送到目标数据库中。在具体实施过程中可以是针对Oracle数据库,使用物化视图将多源异构数据库中的数据全部抽取到中间整合数据库中;也可以是针对MySQL数据库,使用二进制日志和MySQL官方提供的mysqlbinlog工具将多源异构数据库中的数据全部抽取到中间整合数据库中;还可以是针对SQLServer数据库,使用LinkedServer将多源异构数据库中的数据全部抽取到中间整合数据库。根据具体数据库的不同可以采用不同的数据整合方式,这个过程主要实现两个功能,一个是数据转码功能,另外一个是数据整合功能,即将不同编码、不同版本的数据库数据统一为UTF-8编码,并集中存储在某种统一的数据库中例如:Oracle11g中;也可以是针对MySQL数据库,使用二进制日志和mysqlbinlog工具,来实现数据的转码与整合;也可以是针对SQLServer数据库,可以使用LinkedServer来实现数据的转码与整合。因为面临的数据可能是海量的,为了能满足大数据处理的需要,中间整合数据库和目标数据库优选的可以采用云计算的分布式集群架构构建,这样就可以根据数据量、***性能和处理能力对***进行动态伸缩,一方面可以增强本***的处理能力,另一方面也可以避免硬件资源的浪费。在目标数据库中可以对整合的数据进行多维度分析挖掘,为企业的经营决策和发展策略提供数据支持。将原本看似独立无用的数据通过整合、多维度分析挖掘后,让其发挥出最大的作用。
数据分发***42,用于接收多源数据整合***的数据信息,并根据应用数据库***中各个应用数据库的应用需求向各个应用数据库分发数据信息。
在具体实施过程中,数据分发***为了能够跨越不同的地理位置,例如内外网、多地数据中心,将接收多源数据整合***的数据信息按需的分享出去,数据分发***构建了数据分发***集群架构,如图5所示。数据分发***集群架构由消息前置处理模块、消息队列缓存模块、消息后置处理模块和消息消费处理模块组成。数据分发***与多源数据整合***以及应用数据库***进行数据对接,多源异构数据库数据聚散***的架构图如图2所示,由于应用数据库***和多源数据整合***中集中存储的目标数据库由网闸隔离,形成内网和外网,应用数据库***中各个应用数据库根据应用需求获得数据,此时需要数据分发***采用消息队列机制,透过网闸进行数据分发,将数据按应用数据库***的各个应用数据库的需求分发到相应的应用数据库***的应用数据库中。
数据分发***集群架构如图5所示:
消息前置处理模块集群51,由消息前置处理模块1、消息前置处理模块2、消息前置处理模块n等多个消息前置处理模块构成,进行分布式集群部署,实现对负载的自适应。消息前置处理模块位于多源数据整合***的目标数据库和数据分发***的消息队列缓存模块之间,是目标数据库和消息队列缓存模块的桥梁。在具体实施过程中,消息前置处理模块位于整个***架构的内网环境,将目标数据库发送过来的消息做一次转发后,把消息从内网环境发送到位于外网环境或者地理上位于其它地域的消息队列缓存处理模块。在实施过程中,如果在单位时间内,需要转发大量的消息,优选的可以横向的扩展消息前置处理模块的数量,将单节点的消息前置处理模块配置为多个消息前置处理模块的集群环境,来动态的增强消息前置处理模块的消息转发能力,最终实现数据分发***根据数据处理的性能需求进行***的动态伸缩。
消息队列缓存模块集群52,由消息队列缓存模块1、消息队列缓存模块2、消息队列缓存模块n等多个消息队列缓存模块构成,进行分布式集群部署,实现对负载的自适应。消息队列缓存模块是消息前置处理模块的消息接收者,是消息后置处理模块消息的提供者。它主要将消息前置处理模块发送过来的消息缓存在内存中,如果内存容量不能满足接收到的消息大小,则将消息存放在硬盘上。消息队列缓存模块可以确保消息零丢失和***稳定。如果在单位时间内需要处理大量的消息,优选的可以增加消息队列的数量,将单个节点的消息队列配置为多个消息队列的集群环境,来动态的增强消息队列缓存模块的消息缓存能力,最终实现数据分发***根据数据处理的性能需求进行***的动态伸缩。
消息后置处理模块集群53,由消息后置处理模块1、消息后置处理模块2、消息后置处理模块n等多个消息后置处理模块构成,进行分布式集群部署,实现对负载的自适应。消息后置处理模块是消息队列缓存模块和消息消费处理模块的纽带,它从消息队列缓存处理模块中读取消息,然后将读取的消息发送给消息消费处理模块。如果在单位时间内需要处理大量的消息,优选的可以根据消息流量,动态增加或减少消息后置处理模块的数量,从而动态适应消息流量,获得该模块的处理能力自适应,最终实现数据分发***根据数据处理的性能需求进行***的动态伸缩。
消息消费处理模块集群54,由消息消费处理模块1、消息消费处理模块2、消息消费处理模块n等多个消息消费处理模块构成,进行分布式集群部署,实现对负载的自适应。消息消费处理模块解析消息后置处理模块发送过来的消息,根据消息中的参数做相应规则的解析,然后将解析后的消息发送给对应的应用数据库***。如果在单位时间内,需要消费大量的消息,优选的可以增加消息消费处理模块的数量,将单节点的消息消费处理模块配置为多个节点的集群环境,来动态的增强消息消费处理模块的消息消费能力,最终实现数据分发***根据数据处理的性能需求进行***的动态伸缩。
其中需要说明的是:数据分发***在具体的实时过程中为了便于进行实施,可以使用多种计算机语言进行设计,其中优选的可以采用JAVA语言来进行实现,例如消息前置处理模块使用JAVA语言进行实施,实现消息前置处理模块的集群架构;消息队列缓存模块使用Apache的ActiveMQ***来实现消息队列模块集群;消息后置处理模块和消息消费处理模块均是使用JAVA语言进行实施,实现消息后置处理模块和消息消费处理模块的集群架构。数据分发***需要分发的数据首先由消息前置处理模块封装成消息报文,并透过网闸发送给外网的消息队列缓存模块,消息队列缓存模块对消息报文做内存级别或者磁盘级别的缓存后发送给消息后置处理模块,消息后置处理模块将接收到的消息报文转发给消息消费处理模块,消息消费处理模块根据消息报文中的参数将消息报文解析,并存储到距离相应业务应用最近的数据库中。最后数据分发***根据应用数据库***中各个应用数据库的应用需求向各个应用数据库分发数据信息,其中优选的数据分发***在分发数据前通过信息获取单元获取应用数据库***的位置信息、应用类型等应用需求信息,之后根据应用数据库***的应用需求信息将数据分发到相应应用数据库中,从而实现数据的按需使用,从而实现数据的按需使用,在具体的实时过程中,由于分发数据时,数据分发***需要对接多个应用数据库库,此处以一具体实施方式进行说明,首先数据分发***据根据不同应用种类将数据分为应用1数据、应用2数据……应用n数据,这些不同的应用数据可以分别满足不同的应用业务类型,从而满足不同的应用需求,通过数据分发***将这些不同的应用数据根据应用的不同需求分发到对应的应用1数据库、应用2数据库……应用n数据库中,从而实现根据各个应用数据库的应用需求分发数据信息。例如在采用了MySQLCluster应用数据库时,还可以采用了MySQLCluster缓存加速库技术,实现数据库内存存储,加快数据库的读写性能。具体分发的步骤可以如图3所示:
第S301步:在目标数据库的表上建立insert***、update更新、delete删除等触发器,当目标数据库的表上有insert、update、delete等操作时,会触发相应的触发器。
第S302步:触发器中封装了DML数据操作语言操作的SQL语句。
第S303步:触发器调用curl库函数,将相应的DML操作的SQL语句发送到消息前置处理模块。
第S304步:消息前置处理模块通过TCP协议将消息传输给消息队列缓存模块。
第S305步:消息队列缓存模块对消息进行内存级别或磁盘级别的缓存,并通过TCP协议将消息传输给消息后置处理模块。
第S306步:消息后置处理模块将接收到的消息通过TCP协议传输给消息消费处理模块。
第S307步:消息消费处理模块接收到消息报文,从消息报文中解析出相应的SQL语句,再将这些SQL语句发送给相应的应用数据库。
第S308步:应用数据库直接执行接收到的SQL语句,完成数据入库操作。
应用数据库***43,包含有多个应用数据库,用于接收数据分发***分发的数据信息并在实际应用过程中对分发的数据信息分别进行数据使用与数据更新,之后应用数据库***再将更新后的数据信息发送到多源数据整合***。
在具体实施过程中,各个应用数据库接收数据分发***分发的数据信息以后就可以分别进行数据使用,由于数据已经经过多源数据整合***进行整合,数据可以直接被应用数据库***中的具体应用进行识别和使用,在具体使用过程中,应用会将数据进行更新,其中数据更新包括以下数据更新中的一种或多种:对数据本身的更新,对数据使用状态的更新,对数据使用记录的更新,之后应用数据库***就可以将更新后的数据信息发送到多源数据整合***,多源数据整合***将更新后的数据存储到多源数据整合***的目标数据库中,实现了数据的回流,使得数据可以进行更新,更新后的数据再通过数据分发***分发,如此就可以实现数据的循环利用和循环更新,最终实现数据的聚散聚的循环方式,使得数据能够循环利用,数据的聚散聚的流向图如图6所示。
本发明实施例通过上述方式,一种多源异构数据库数据聚散***,通过多源数据整合***整合所有数据信息,将所有位于不同地理位置以及不同数据结构的数据信息整合成统一数据格式的可用数据,并将统一数据格式后的可用数据存储到一个目标数据库中,完成数据的集中存储,之后由数据分发***分发到应用数据库***中各个应用数据库中进行数据使用,在实际应用过程中对分发的数据信息进行数据使用与数据更新,应用数据库***中的各个应用数据库在使用以后将使用后的数据信息回流到多源数据整合***中,如此循环完成数据的从聚到散再到聚,数据在使用过程中实现了循环流动,使得数据可以不断的进行自我更新,更新后的数据信息可以更好的在应用数据库***中的各个应用数据库进行实际使用,从而发挥数据信息的最大价值,同时数据在通过数据分发***进行分发时,可以根据具体应用的具体需求进行按需分享,数据分发***的动态伸缩可以最大效率的进行数据的分发处理,保证整个多源异构数据库数据聚散***的稳定性和可靠性,最大效率的发挥***的数据处理能力。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种多源异构数据库数据聚散方法,其特征在于,所述方法包括:
多源数据整合***采集数据信息,之后将采集到的数据信息进行整合并存储到目标数据库中;
数据分发***接收多源数据整合***的数据信息,并根据应用数据库***中各个应用数据库的应用需求向各个应用数据库分发数据信息;
各个应用数据库接收数据分发***分发的数据信息并在实际应用过程中对分发的数据信息分别进行数据使用与数据更新,之后应用数据库***再将更新后的数据信息发送到多源数据整合***。
2.如权利要求1所述的方法,其特征在于,所述多源数据整合***采集数据信息为:
多源数据整合***采集多个不同数据源和/或不同数据结构的数据库中的原始数据;或者
多源数据整合***采集各个应用数据库更新后发送的数据信息。
3.如权利要求1所述的方法,其特征在于,所述将采集到的数据信息进行整合并存储到目标数据库中的步骤包括:
将采集到的数据信息进行一致性处理,使得数据信息具有统一的数据格式;
对具有统一数据格式的数据信息进行整合,并将整合后的数据信息存储到目标数据库中。
4.如权利要求1所述的方法,其特征在于,所述数据分发***采用云计算的分布式信息处理机制,能够根据数据处理的性能需求进行***的动态伸缩。
5.如权利要求1所述的方法,其特征在于,所述数据分发***根据应用数据库***中各个应用数据库的应用需求向各个应用数据库分发数据信息的步骤前还包括:
数据分发***获取各个应用数据库的应用需求信息,包括应用的位置信息以及应用业务类型。
6.一种多源异构数据库数据聚散***,其特征在于,所述***包括:
多源数据整合***,用于采集数据信息,之后将采集到的数据信息进行整合并存储到目标数据库中;
数据分发***,用于接收多源数据整合***的数据信息,并根据应用数据库***中各个应用数据库的应用需求向各个应用数据库分发数据信息;
应用数据库***,包含有多个应用数据库,用于接收数据分发***分发的数据信息并在实际应用过程中对分发的数据信息进行数据使用与数据更新,之后应用数据库***再将更新后的数据信息发送到多源数据整合***。
7.如权利要求6所述的***,其特征在于,所述多源数据整合***采集数据信息为:
多源数据整合***采集不同数据源和/或不同数据结构的数据库中的原始数据;或者
多源数据整合***采集应用数据库***更新后发送的数据信息。
8.如权利要求6所述的***,其特征在于,多源数据整合***包括:
一致性处理***,用于将采集到的数据信息进行一致性处理,使得数据信息具有统一的数据格式;
整合存储***,用于对具有统一数据格式的数据信息进行整合,并将整合后的数据信息存储到目标数据库中。
9.如权利要求6所述的***,其特征在于,所述数据分发***采用云计算的分布式信息处理机制,能够根据数据处理的性能需求进行***的动态伸缩。
10.如权利要求6所述的***,其特征在于,所述***还包括:
信息获取单元,用于数据分发***获取应用数据库***中各个应用数据库的应用需求信息,包括应用的位置信息以及应用业务类型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510747165.XA CN105447083A (zh) | 2015-11-06 | 2015-11-06 | 一种多源异构数据库数据聚散方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510747165.XA CN105447083A (zh) | 2015-11-06 | 2015-11-06 | 一种多源异构数据库数据聚散方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105447083A true CN105447083A (zh) | 2016-03-30 |
Family
ID=55557261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510747165.XA Pending CN105447083A (zh) | 2015-11-06 | 2015-11-06 | 一种多源异构数据库数据聚散方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105447083A (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107067233A (zh) * | 2017-05-09 | 2017-08-18 | 中国华电集团公司 | 业务财务一体化的异构erp*** |
CN107066617A (zh) * | 2017-05-09 | 2017-08-18 | 中国华电集团公司 | 用于erp异构***的主数据管理***及方法 |
CN107169069A (zh) * | 2017-05-08 | 2017-09-15 | 山大地纬软件股份有限公司 | 分布式分级抽取多应用方法和数据抽取应用器 |
CN107357791A (zh) * | 2016-05-10 | 2017-11-17 | 中兴通讯股份有限公司 | 一种数据共享方法及装置 |
CN107463137A (zh) * | 2017-09-25 | 2017-12-12 | 山东大学 | 一种多源异构数据一体化同步采集设备及其方法 |
CN107707464A (zh) * | 2017-07-05 | 2018-02-16 | 国网浙江省电力公司 | 一种基于分布式消息队列进行海量数据交互的前置*** |
CN107818431A (zh) * | 2016-09-14 | 2018-03-20 | 北京京东尚科信息技术有限公司 | 一种提供订单轨迹数据的方法和*** |
CN109189813A (zh) * | 2018-08-22 | 2019-01-11 | 中国建设银行股份有限公司 | 一种数据共享方法及装置 |
CN109656987A (zh) * | 2018-10-12 | 2019-04-19 | 深圳壹账通智能科技有限公司 | 数据整合方法、装置、设备及存储介质 |
CN110196923A (zh) * | 2019-05-07 | 2019-09-03 | 中国科学院声学研究所 | 一种面向水下探测的多源异构数据预处理方法及*** |
CN110413673A (zh) * | 2019-07-08 | 2019-11-05 | 中国人民银行清算总中心 | 数据库数据统一采集与分发方法及*** |
CN111566999A (zh) * | 2017-08-03 | 2020-08-21 | 奥恩全球运营有限公司,新加坡分公司 | 使用不同消息格式的参与者之间的数据共享 |
CN112579639A (zh) * | 2019-09-29 | 2021-03-30 | 北京国双科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN112632172A (zh) * | 2020-12-30 | 2021-04-09 | 杭州贝嘟科技有限公司 | 量体数据整合方法、装置、计算机设备和存储介质 |
CN112988701A (zh) * | 2019-12-13 | 2021-06-18 | 中国电信股份有限公司 | 数据库管理方法、装置、***和存储介质 |
CN116303623A (zh) * | 2023-05-12 | 2023-06-23 | 国网信息通信产业集团有限公司 | 一种跨网络异构业务数据汇聚至移动门户的***及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722582A (zh) * | 2012-06-07 | 2012-10-10 | 陈浩 | 基于逆向清理的数据整合***及方法 |
US8589334B2 (en) * | 2010-01-15 | 2013-11-19 | Telcordia Technologies, Inc. | Robust information fusion methods for decision making for multisource data |
CN103701855A (zh) * | 2013-11-30 | 2014-04-02 | 南京大学 | 基于ldm3的省域its大数据云处理中心构建实现方法 |
CN103902286A (zh) * | 2014-03-12 | 2014-07-02 | 郑州轻工业学院 | 基于soa的层级式多源数据融合方法 |
-
2015
- 2015-11-06 CN CN201510747165.XA patent/CN105447083A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8589334B2 (en) * | 2010-01-15 | 2013-11-19 | Telcordia Technologies, Inc. | Robust information fusion methods for decision making for multisource data |
CN102722582A (zh) * | 2012-06-07 | 2012-10-10 | 陈浩 | 基于逆向清理的数据整合***及方法 |
CN103701855A (zh) * | 2013-11-30 | 2014-04-02 | 南京大学 | 基于ldm3的省域its大数据云处理中心构建实现方法 |
CN103902286A (zh) * | 2014-03-12 | 2014-07-02 | 郑州轻工业学院 | 基于soa的层级式多源数据融合方法 |
Non-Patent Citations (2)
Title |
---|
中国石油化工集团公司信息***管理部: "《服务器技术与应用》", 30 September 2012, 中国石化出版社 * |
侯志松 等: "《Hibernate完全手册》", 30 April 2008, 机械工业出版社 * |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107357791A (zh) * | 2016-05-10 | 2017-11-17 | 中兴通讯股份有限公司 | 一种数据共享方法及装置 |
CN107818431A (zh) * | 2016-09-14 | 2018-03-20 | 北京京东尚科信息技术有限公司 | 一种提供订单轨迹数据的方法和*** |
CN107818431B (zh) * | 2016-09-14 | 2021-05-25 | 北京京东尚科信息技术有限公司 | 一种提供订单轨迹数据的方法和*** |
CN107169069B (zh) * | 2017-05-08 | 2020-01-07 | 山大地纬软件股份有限公司 | 分布式分级抽取多应用方法和数据抽取应用器 |
CN107169069A (zh) * | 2017-05-08 | 2017-09-15 | 山大地纬软件股份有限公司 | 分布式分级抽取多应用方法和数据抽取应用器 |
CN107066617A (zh) * | 2017-05-09 | 2017-08-18 | 中国华电集团公司 | 用于erp异构***的主数据管理***及方法 |
CN107067233A (zh) * | 2017-05-09 | 2017-08-18 | 中国华电集团公司 | 业务财务一体化的异构erp*** |
CN107707464B (zh) * | 2017-07-05 | 2021-07-06 | 国网浙江省电力公司 | 一种基于分布式消息队列进行海量数据交互的前置*** |
CN107707464A (zh) * | 2017-07-05 | 2018-02-16 | 国网浙江省电力公司 | 一种基于分布式消息队列进行海量数据交互的前置*** |
CN111566999A (zh) * | 2017-08-03 | 2020-08-21 | 奥恩全球运营有限公司,新加坡分公司 | 使用不同消息格式的参与者之间的数据共享 |
CN111566999B (zh) * | 2017-08-03 | 2023-05-30 | 奥恩全球运营有限公司,新加坡分公司 | 使用不同消息格式的参与者之间的数据共享 |
CN107463137A (zh) * | 2017-09-25 | 2017-12-12 | 山东大学 | 一种多源异构数据一体化同步采集设备及其方法 |
CN109189813B (zh) * | 2018-08-22 | 2021-08-13 | 中国建设银行股份有限公司 | 一种数据共享方法及装置 |
CN109189813A (zh) * | 2018-08-22 | 2019-01-11 | 中国建设银行股份有限公司 | 一种数据共享方法及装置 |
CN109656987A (zh) * | 2018-10-12 | 2019-04-19 | 深圳壹账通智能科技有限公司 | 数据整合方法、装置、设备及存储介质 |
CN110196923A (zh) * | 2019-05-07 | 2019-09-03 | 中国科学院声学研究所 | 一种面向水下探测的多源异构数据预处理方法及*** |
CN110196923B (zh) * | 2019-05-07 | 2021-07-30 | 中国科学院声学研究所 | 一种面向水下探测的多源异构数据预处理方法及*** |
CN110413673A (zh) * | 2019-07-08 | 2019-11-05 | 中国人民银行清算总中心 | 数据库数据统一采集与分发方法及*** |
CN110413673B (zh) * | 2019-07-08 | 2022-02-11 | 中国人民银行清算总中心 | 数据库数据统一采集与分发方法及*** |
CN112579639A (zh) * | 2019-09-29 | 2021-03-30 | 北京国双科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN112988701A (zh) * | 2019-12-13 | 2021-06-18 | 中国电信股份有限公司 | 数据库管理方法、装置、***和存储介质 |
CN112632172A (zh) * | 2020-12-30 | 2021-04-09 | 杭州贝嘟科技有限公司 | 量体数据整合方法、装置、计算机设备和存储介质 |
CN116303623A (zh) * | 2023-05-12 | 2023-06-23 | 国网信息通信产业集团有限公司 | 一种跨网络异构业务数据汇聚至移动门户的***及方法 |
CN116303623B (zh) * | 2023-05-12 | 2023-10-13 | 国网信息通信产业集团有限公司 | 一种跨网络异构业务数据汇聚至移动门户的***及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105447083A (zh) | 一种多源异构数据库数据聚散方法及*** | |
CN102349056B (zh) | 动态组合数据流处理应用程序 | |
Cui et al. | A genetic algorithm based data replica placement strategy for scientific applications in clouds | |
CN110309587B (zh) | 决策模型构建方法、决策方法与决策模型 | |
CN110059150A (zh) | 基于bim+gis的水利工程数字档案*** | |
CN103838617A (zh) | 大数据环境下的数据挖掘平台的构建方法 | |
CN103688250A (zh) | 使用动态方案来优化数据处理 | |
Mohaghar et al. | A meta synthesis of the modeling methods of complex socio-technical systems with a multi paradigm-multi methodology approach | |
CN103824150A (zh) | 一种食品安全监控*** | |
CN109345114A (zh) | 一种电子政务服务*** | |
CN116166191A (zh) | 湖仓一体*** | |
Ali | Real-time big data warehousing and analysis framework | |
CN115981804A (zh) | 一种工业大数据计算任务调度管理*** | |
CN102722368A (zh) | 一种基于文档树和消息泵的插件式软件设计方法 | |
Zhang et al. | MR-IDPSO: a novel algorithm for large-scale dynamic service composition | |
CN108763562A (zh) | 一种基于大数据技术提升数据交换效率的构建方法 | |
Carlini et al. | SmartORC: smart orchestration of resources in the compute continuum | |
CN102447620A (zh) | 一种关联型数据库实时交换管理方法、装置以及*** | |
Xue et al. | Information enterprise architecture for smart transportation system | |
CN114596046A (zh) | 一种基于业务中台及数据中台的统一数字模型的集成平台 | |
CN111767344A (zh) | 提高数据处理能力的新型联盟链 | |
CN102609524B (zh) | 内容管理***及方法 | |
CN101261661A (zh) | 网络游戏分布式服务器实现方法 | |
Marrero et al. | Performance analysis in NoSQL databases, relational databases and NoSQL databases as a service in the cloud | |
CN111695001A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160330 |