CN104615778A - 一种避免数据重抽的方法和装置及*** - Google Patents
一种避免数据重抽的方法和装置及*** Download PDFInfo
- Publication number
- CN104615778A CN104615778A CN201510090199.6A CN201510090199A CN104615778A CN 104615778 A CN104615778 A CN 104615778A CN 201510090199 A CN201510090199 A CN 201510090199A CN 104615778 A CN104615778 A CN 104615778A
- Authority
- CN
- China
- Prior art keywords
- data
- service
- type
- topic
- current extraction
- 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/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (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
本发明提供一种避免数据重抽的方法、装置和***。该方法包括:建立对应每一种业务类型的Topic;从所述源数据库中抽取数据;确定当前抽取的数据的业务类型;将当前抽取的数据保存到所确定的业务类型对应的Topic中;从Topic中取出数据,将取出的数据分别分发给各个应用***。本方案能够避免对源数据库的数据重抽问题。
Description
技术领域
本发明涉及网络通信技术领域,特别涉及一种避免数据重抽的方法和装置及***。
背景技术
随着信息数据量的几何增长,数据库中的数据亦疯***涨。然而因为一些特定需求,需要将一个数据库中的某些(或全部)数据输送到多个应用***中,比如应用***的数据库(关系或非关系)中。
目前,将一个源数据库比如数据库A中的某些(或全部)数据导入到多个应用***的方法包括:需要使用数据的多个应用***各自分别从源数据库中直接抽取数据。
可见,在现有技术中,对于一个源数据库中的同一份数据,需要被不同的应用***重复抽取多次,从而导致了数据多次抽取的各种问题。比如,多次抽取,对源数据库如上述数据库A产生了较大处理压力。再如,当数据量很大时,多次数据抽取将过度占用网络带宽,可能对正常网络通信产生较大影响。
发明内容
本发明提供一种避免数据重抽的方法和装置,能够解决现有技术中数据多次重抽的问题。
一种避免数据重抽的方法,包括:
建立对应每一种业务类型的Topic;
从所述源数据库中抽取数据;
确定当前抽取的数据的业务类型;
将当前抽取的数据保存到所确定的业务类型对应的Topic中;
从Topic中取出数据,将取出的数据分别分发给各个应用***。
该方法进一步包括:根据业务类型的数据量的大小,将多个业务类型设置为同属于第一业务类型组;
所述建立对应每一种业务类型的Topic包括:将属于第一业务类型组的多个业务类型设置为对应一个第一Topic;
在所述建立对应每一种业务类型的Topic之后,进一步包括:在所述第一Topic中设置多个标签tag,每一个tag对应第一业务类型组中的一个业务类型;
所述将当前抽取的数据保存到所确定的业务类型对应的Topic中包括:如果当前抽取的数据的业务类型属于所述第一业务类型组,则将当前抽取的数据保存到第一Topic中的所确定业务类型对应的Tag下。
所述tag表示数据中的具体表或者一个特定的数据逻辑。
所述将取出的数据分别分发给各个应用***包括:
由strom将取出的数据分别分发给各个应用***。
基于RoketMQ数据总线,执行所述从所述源数据库中抽取数据及所述将当前抽取的数据保存到所确定的业务类型对应的Topic中。
一种避免数据重抽的装置,包括:
Topic建立单元,用于建立对应每一种业务类型的Topic;
数据抽取单元,用于从所述源数据库中抽取数据;
保存处理单元,用于确定当前抽取的数据的业务类型;将当前抽取的数据保存到所确定的业务类型对应的Topic中;
分发单元,用于从Topic中取出数据,将取出的数据分别分发给各个应用***。
进一步包括:类型划分单元,用于根据业务类型的数据量的大小,将多个业务类型设置为同属于第一业务类型组;
所述Topic建立单元,将属于第一业务类型组的多个业务类型设置为对应一个第一Topic;并进一步在所述第一Topic中设置多个标签tag,每一个tag对应第一业务类型组中的一个业务类型;
所述保存处理单元,在当前抽取的数据的业务类型属于所述第一业务类型组时,将当前抽取的数据保存到第一Topic中的所确定业务类型对应的Tag下。
所述分发单元为基于实时数据处理框架strom单元。
所述数据抽取单元与所述保存处理单元基于RoketMQ数据总线,执行所述从所述源数据库中抽取数据及所述将当前抽取的数据保存到所确定的业务类型对应的Topic中。
一种避免数据重抽的***,包括多个应用***,以及上述任意一种避免数据重抽的装置。
本发明实施例提供了一种避免数据重抽的方法、装置和***,从源数据库中抽取一次数据,并将数据保存到Topic中,后续多个应用***无需从源数据库中抽取数据,而是将Topic中的数据分别分发到各个应用***即可。可见,对于源数据库没有进行针对多个应用***的多次重抽。
在本发明实施例中,源数据库中的数据会对应多种业务类型,可以根据数据的业务类型来建立Topic,后续从源数据库中抽取的数据可以按照数据类型保存到各自的Topic中,这样则可以避免数据存入Topic时发生的数据阻塞的问题。
在本发明实施例中,一次抽取,多处分发,从根本上减小了源数据库的压力,减轻了网络通信的负担,使对高性能服务器的依赖性降低,增强了工作的效率和稳定性,且拥有较好的可扩展性,具有很好的推广使用价值。
附图说明
图1是本发明一个实施例中避免数据重抽的方法的流程图。
图2是本发明另一个实施例中避免数据重抽的方法的流程图。
图3是本发明一个实施例中避免数据重抽的装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明一个实施例提出了一种避免数据重抽的方法,参见图1,该方法包括:
步骤101:建立对应每一种业务类型的Topic;
步骤102:从源数据库中抽取数据;
步骤103:确定当前抽取的数据的业务类型;
步骤104:将当前抽取的数据保存到所确定的业务类型对应的Topic中;
步骤105:从Topic中取出数据,将取出的数据分别分发给各个应用***。
可见,本发明该实施例能够从源数据库中抽取一次数据,并将数据保存到Topic中,后续多个应用***无需从源数据库中抽取数据,而是将Topic中的数据分别分发到各个应用***即可。可见,对于源数据库没有进行针对多个应用***的多次重抽。
在本发明的一个实施例中,为了复用Topic资源,可以将数据量较小的业务类型的数据保存到同一个Topic中,并通过对应各个业务类型的标签来区分同一个Topic中的不同业务类型。
在本发明的一个实施例中,可以由strom或者其他的下线处理***执行将取出的数据集分别分发给各个应用***。
在本发明的一个实施例中,可以是基于RoketMQ数据总线执行有序分发的处理。比如,执行所述从所述源数据库中抽取数据及所述将当前抽取的数据保存到所确定的业务类型对应的Topic中。
参见图2,在本发明的另一个实施例中,避免数据重抽的过程包括:
步骤201:根据业务类型的数据量的大小,将数据量较小的多个业务类型设置为对应一个Topic。
对于此类对应多个业务类型的Topic,记为第一Topic。
这里,可以有多个第一Topic,比如一个第一Topic中对应业务类型A和B,另一个第一Topic中对应业务类型C、D和E。
步骤202:根据业务类型的数据量的大小,将数据量较大的每一个业务类型设置为分别对应一个Topic。
在实际的业务实现中,每一种业务类型的数据量大小是相差很大的。比如,对于卡口数据,其采集的是道路上各种车辆及其他交通信息,其数据量非常大。而对于其他的业务类型,比如宾馆数据或者网吧数据,其数据量则相对较小。为了后续能够复用Topic资源,在上述步骤中,可以将数据量较小的业务类型设置为对应同一个Topic,以便复用该Topic,而数据量较大的业务类型则需要分别各自占用一个Topic。比如,对于宾馆数据或者网吧数据,可以设置其均对应Topic1,而对于卡口数据,设置其对应Topic2。
步骤203:在第一Topic中设置多个标签tag,每一个tag对应该第一Topic所对应的多个业务类型中的一个业务类型。
比如,上述Topic1中可以设置2个标签tag,tag1对应宾馆数据,tag2对应网吧数据,从而能够从一个Topic中区分出不同业务类型的数据,分别存储和分发。
并且,所述tag可以表示数据中的具体表或者一个特定的数据逻辑。
步骤204:基于RoketMQ数据总线从源数据库中抽取数据。
步骤205:确定当前抽取的数据的业务类型。
步骤206:基于RoketMQ数据总线,将当前抽取的数据保存到所确定的业务类型对应的Topic中。
在上述步骤205和步骤206中,比如确定的数据的业务类型为卡口数据,则可以将数据保存到卡口数据对应的Topic2中。
如果当前抽取的数据的业务类型属于上述复用Topic的多个业务类型中的一个,比如为网吧数据,则将当前抽取的数据保存到Topic1中的Tag2下。
步骤207:Storm从Topic中取出数据,将取出的数据分别分发给各个应用***。
这里,为了进一步保证数据分发的实时性,可以由Storm中的Spout实时监听所述Topic,在监听到有数据被存入所述Topic时,拉取所述Topic中当前被存入的数据,并将拉取的数据发送给Storm中的Bolt;Bolt根据预先获取的逻辑规则,对所述拉取的数据进行逻辑处理,比如分别分发给各个应用***。
在本步骤中,也可以是其他的下线处理***从Topic中取出数据,将取出的数据分别分发给各个应用***。
本发明一个实施例提出了一种避免数据重抽的装置,参见图3,包括:
Topic建立单元301,用于建立对应每一种业务类型的Topic;
数据抽取单元302,用于从所述源数据库中抽取数据;
保存处理单元303,用于确定当前抽取的数据的业务类型;将当前抽取的数据保存到所确定的业务类型对应的Topic中;
分发单元304,用于从Topic中取出数据,将取出的数据分别分发给各个应用***。
在本发明一个实施例中,所述Topic建立单元301,用于根据业务类型的数据量的大小,将多个业务类型设置为对应一个第一Topic;并进一步在所述第一Topic中设置多个标签tag,每一个tag对应所述多个业务类型中的一个业务类型;
所述保存处理单元303,在当前抽取的数据的业务类型属于所述多个业务类型中的一个时,则将当前抽取的数据保存到第一Topic中的所确定业务类型对应的Tag下。
在本发明一个实施例中,所述分发单元304为基于实时数据处理框架strom单元。
在本发明一个实施例中,所述数据抽取单元302与所述保存处理单元303基于RoketMQ数据总线,执行所述从所述源数据库中抽取数据及所述将当前抽取的数据保存到所确定的业务类型对应的Topic中。
本发明一个实施例还提出了一种避免数据重抽的***,包括多个应用***,以及本发明任意一个实施例提出的避免数据重抽的装置。
本发明的实施例至少具有如下的有益效果:
1、从源数据库中抽取一次数据,并将数据保存到Topic中,这样,Topic就可以作为抽取数据的中间代理,后续多个应用***无需从源数据库中抽取数据,而是将作为中间代理的Topic中的数据分别分发到各个应用***即可。可见,对于源数据库没有进行针对多个应用***的多次重抽。
2、源数据库中的数据会对应多种业务类型,可以根据数据的业务类型来建立Topic,后续从源数据库中抽取的数据可以按照数据类型保存到各自的Topic中,这样则可以避免数据存入Topic时发生的数据阻塞的问题。
3、一次抽取,多处分发,从根本上减小了源数据库的压力,减轻了网络通信的负担,使对高性能服务器的依赖性降低,增强了工作的效率和稳定性,且拥有较好的可扩展性,具有很好的推广使用价值。
4、可以由Storm中的Spout实时监听所述Topic,在监听到有数据被存入所述Topic时,拉取所述Topic中当前被存入的数据,并将拉取的数据发送给Storm中的Bolt;Bolt根据预先获取的逻辑规则,对所述拉取的数据进行逻辑处理,比如分别分发给各个应用***。从而进一步保证了数据分发的实时性。
5、可以将数据量较小的多个业务类型的数据保存到同一个Topic中,并通过对应各个业务类型的标签来区分同一个Topic中的不同业务类型,从而能够复用Topic资源。
6、能够利用RocketMQ数据总线技术实现避免数据重抽,因此,可以实现支持严格的消息顺序、亿级消息堆积能力、比较友好的分布式特性、支持Topic与Queue两种模式。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种避免数据重抽的方法,其特征在于,包括:
建立对应每一种业务类型的Topic;
从所述源数据库中抽取数据;
确定当前抽取的数据的业务类型;
将当前抽取的数据保存到所确定的业务类型对应的Topic中;
从Topic中取出数据,将取出的数据分别分发给各个应用***。
2.根据权利要求1所述的方法,其特征在于,所述建立对应每一种业务类型的Topic包括:根据业务类型的数据量的大小,将多个业务类型设置为对应一个第一Topic;
在所述建立对应每一种业务类型的Topic之后,进一步包括:在所述第一Topic中设置多个标签tag,每一个tag对应所述多个业务类型中的一个业务类型;
所述将当前抽取的数据保存到所确定的业务类型对应的Topic中包括:如果当前抽取的数据的业务类型属于所述多个业务类型中的一个,则将当前抽取的数据保存到第一Topic中的所确定业务类型对应的Tag下。
3.根据权利要求2所述的方法,其特征在于,
所述tag表示数据中的具体表或者一个特定的数据逻辑。
4.根据权利要求1所述的方法,其特征在于,所述将取出的数据分别分发给各个应用***包括:
由strom将取出的数据分别分发给各个应用***。
5.根据权利要求1至4中任一所述的方法,其特征在于,基于RoketMQ数据总线,执行所述从所述源数据库中抽取数据及所述将当前抽取的数据保存到所确定的业务类型对应的Topic中。
6.一种避免数据重抽的装置,其特征在于,包括:
Topic建立单元,用于建立对应每一种业务类型的Topic;
数据抽取单元,用于从所述源数据库中抽取数据;
保存处理单元,用于确定当前抽取的数据的业务类型;将当前抽取的数据保存到所确定的业务类型对应的Topic中;
分发单元,用于从Topic中取出数据,将取出的数据分别分发给各个应用***。
7.根据权利要求6所述的装置,其特征在于,所述Topic建立单元,用于根据业务类型的数据量的大小,将多个业务类型设置为对应一个第一Topic;并进一步在所述第一Topic中设置多个标签tag,每一个tag对应所述多个业务类型中的一个业务类型;
所述保存处理单元,在当前抽取的数据的业务类型属于所述多个业务类型中的一个时,则将当前抽取的数据保存到第一Topic中的所确定业务类型对应的Tag下。
8.根据权利要求6所述的装置,其特征在于,
所述分发单元为基于实时数据处理框架strom单元。
9.根据权利要求6至8中任一所述的装置,其特征在于,所述数据抽取单元与所述保存处理单元基于RoketMQ数据总线,执行所述从所述源数据库中抽取数据及所述将当前抽取的数据保存到所确定的业务类型对应的Topic中。
10.一种避免数据重抽的***,其特征在于,包括多个应用***,以及如权利要求6至9中任一所述的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510090199.6A CN104615778A (zh) | 2015-02-27 | 2015-02-27 | 一种避免数据重抽的方法和装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510090199.6A CN104615778A (zh) | 2015-02-27 | 2015-02-27 | 一种避免数据重抽的方法和装置及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104615778A true CN104615778A (zh) | 2015-05-13 |
Family
ID=53150220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510090199.6A Pending CN104615778A (zh) | 2015-02-27 | 2015-02-27 | 一种避免数据重抽的方法和装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104615778A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105119758A (zh) * | 2015-09-14 | 2015-12-02 | 中国联合网络通信集团有限公司 | 一种数据采集的方法及采集*** |
CN108762846A (zh) * | 2018-05-30 | 2018-11-06 | 努比亚技术有限公司 | 插件化实时推荐方法、服务器及计算机可读存储介质 |
CN109450978A (zh) * | 2018-10-10 | 2019-03-08 | 四川长虹电器股份有限公司 | 一种基于storm的数据分类和负载均衡处理方法 |
CN111581269A (zh) * | 2020-04-24 | 2020-08-25 | 贵州力创科技发展有限公司 | 一种数据抽取方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101582135A (zh) * | 2008-05-14 | 2009-11-18 | 北京中食新华科技有限公司 | 一种具有数据挖掘方法的物流管理*** |
CN102117303A (zh) * | 2009-12-31 | 2011-07-06 | 潘晓梅 | 一种专利数据分析方法和*** |
US20130166565A1 (en) * | 2011-12-23 | 2013-06-27 | Kevin LEPSOE | Interest based social network system |
CN103678665A (zh) * | 2013-12-24 | 2014-03-26 | 焦点科技股份有限公司 | 一种基于数据仓库的异构大数据整合方法和*** |
-
2015
- 2015-02-27 CN CN201510090199.6A patent/CN104615778A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101582135A (zh) * | 2008-05-14 | 2009-11-18 | 北京中食新华科技有限公司 | 一种具有数据挖掘方法的物流管理*** |
CN102117303A (zh) * | 2009-12-31 | 2011-07-06 | 潘晓梅 | 一种专利数据分析方法和*** |
US20130166565A1 (en) * | 2011-12-23 | 2013-06-27 | Kevin LEPSOE | Interest based social network system |
CN103678665A (zh) * | 2013-12-24 | 2014-03-26 | 焦点科技股份有限公司 | 一种基于数据仓库的异构大数据整合方法和*** |
Non-Patent Citations (1)
Title |
---|
李福娟等: "航空公司数据仓库模型设计与实现", 《计算机***应用》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105119758A (zh) * | 2015-09-14 | 2015-12-02 | 中国联合网络通信集团有限公司 | 一种数据采集的方法及采集*** |
CN108762846A (zh) * | 2018-05-30 | 2018-11-06 | 努比亚技术有限公司 | 插件化实时推荐方法、服务器及计算机可读存储介质 |
CN108762846B (zh) * | 2018-05-30 | 2024-02-09 | 努比亚技术有限公司 | 插件化实时推荐方法、服务器及计算机可读存储介质 |
CN109450978A (zh) * | 2018-10-10 | 2019-03-08 | 四川长虹电器股份有限公司 | 一种基于storm的数据分类和负载均衡处理方法 |
CN111581269A (zh) * | 2020-04-24 | 2020-08-25 | 贵州力创科技发展有限公司 | 一种数据抽取方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103379138B (zh) | 实现负载均衡的方法及***和灰度发布的方法及装置 | |
CN104615778A (zh) | 一种避免数据重抽的方法和装置及*** | |
WO2018217693A3 (en) | SYSTEMS AND METHODS FOR RISK PROCESSING ON DATA OF A LOGISTIC CHAIN MANAGEMENT SYSTEM | |
CN104462121A (zh) | 数据处理方法、装置及*** | |
CN104536965B (zh) | 一种大数据条件下的数据查询展示***及方法 | |
CN103209153B (zh) | 消息处理方法、装置及*** | |
CN104636084B (zh) | 一种对电力大数据进行分布存储的装置和方法 | |
CN103516529A (zh) | 一种配置文件的管理方法、装置及*** | |
CN102646248A (zh) | 一种广告发布方法及*** | |
WO2019076001A1 (zh) | 信息更新方法和装置 | |
GB0724425D0 (en) | Method and apparatus for clustered filtering in an rfid infrastructure | |
CN105389617A (zh) | 自动化的订单处理方法及*** | |
CN107329853A (zh) | 数据库集群的备份方法、备份***及电子设备 | |
CN107169803A (zh) | 一种提前生成优惠券的方法、***及装置、服务器 | |
CN104363282A (zh) | 一种云计算资源调度方法及装置 | |
CN108134746B (zh) | 轨道交通数据的处理方法及装置 | |
CN110858197A (zh) | 一种同步数据的方法和装置 | |
CN112686418A (zh) | 一种履约时效预测方法和装置 | |
CN109462403A (zh) | 一种实现寄递地址编码的方法及*** | |
CN106776072A (zh) | 消息推送方法及*** | |
CN105930380A (zh) | 一种基于hadoop的图表监控方法和装置 | |
CN105187490B (zh) | 一种物联网数据的中转处理方法 | |
CN105335362B (zh) | 实时数据的处理方法及***、即时处理*** | |
CN105357317A (zh) | 一种基于多客户端轮循排队的数据上传方法及*** | |
CN104933119A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150513 |