CN105183858B - 一种基于消息队列的分布式数据实时去重方法 - Google Patents
一种基于消息队列的分布式数据实时去重方法 Download PDFInfo
- Publication number
- CN105183858B CN105183858B CN201510572334.0A CN201510572334A CN105183858B CN 105183858 B CN105183858 B CN 105183858B CN 201510572334 A CN201510572334 A CN 201510572334A CN 105183858 B CN105183858 B CN 105183858B
- Authority
- CN
- China
- Prior art keywords
- duplicate removal
- data
- information
- server
- removal
- 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
Links
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (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)
- Computational Linguistics (AREA)
- Quality & Reliability (AREA)
Abstract
本发明公开一种基于消息队列的分布式数据实时去重方法,根据消息网络接口,配置若干台数据从服务器,并加入消息网络;为每一种需去重的数据配置添加原始数据信息、去重数据信息、去重服务信息;根据原始数据信息,去重数据信息及去重服务信息确定从服务器;原始数据产生者查询重服务信息,并将原始数据发送至相应的原始数据队列;数据从去重服务器查询去重服务信息,从相应的原始数据队列中消费数据,并输入至数据去重引擎,之后将去重后的数据输入到相应的去重数据队列;去重数据消费者查询去重服务信息,并从相应的去重数据队列中消费数据;主服务器根据从服务器信息更新从服务器信息。
Description
技术领域
本发明涉及分布式计算技术领域,尤其涉及一种分布式环境下高效、实时的数据去重方法。
背景技术
飞速发展的互联网对数据处理的效率和扩展性提供了更高的要求。如今,越来越多的解决方案使用分布式系统来应对这一挑战。与集中式系统相对,分布式系统将应用分解成许多小的部分,分配给多台计算机进行处理,具有扩展性好、整体成本低、处理效率高等特征。
分布式系统是建立在网络上的软件系统,其展现给用户的是一个统一的整体,但内部独立的分布式计算模块之间却涉及复杂的数据交互。在某些应用场景下,例如有多个数据生产者同时产生相同类型的数据,有多个消费者随机的实时消费这些数据。为了确保一致性,对数据生产者产生的数据进行实时去重就显得尤为重要。
发明内容
本发明公开一种基于消息队列的分布式数据实时去重方法,该方法在消息网络的基础上,加入一组数据去重信息服务器,一方面消费原始数据产生着生成的数据,另一方面对原始数据去重后提供给数据消费者使用。
为解决上述问题,本发明提供了一种基于消息队列的分布式数据实时去重方法,该方法包括步骤:
S1.配置一台去重信息服务器;
S2.配置一台主服务器;
S3.根据消息网络接口,配置若干台数据从服务器,并加入消息网络;
S4.为每一种需去重的数据配置添加原始数据信息、去重数据信息、去重服务信息;
S5.根据原始数据信息,去重数据信息及去重服务信息确定从服务器;
S6.原始数据产生者查询重服务信息,并将原始数据发送至相应的原始数据队列;
S7.数据从去重服务器查询去重服务信息,从相应的原始数据队列中消费数据,并输入至数据去重引擎,之后将去重后的数据输入到相应的去重数据队列;
S8.去重数据消费者查询去重服务信息,并从相应的去重数据队列中消费数据;
S9.主服务器根据从服务器信息更新从服务器信息。
具体实施方式
本发明的一种基于消息队列的分布式数据实时去重方法,包括如下步骤:
S1.配置一台去重信息服务器;
S2.配置一台主服务器;
S3.根据消息网络接口,配置若干台数据从服务器,并加入消息网络;
S4.为每一种需去重的数据配置添加原始数据信息、去重数据信息、去重服务信息;
S5.根据原始数据信息,去重数据信息及去重服务信息确定从服务器;
S6.原始数据产生者查询重服务信息,并将原始数据发送至相应的原始数据队列;
S7.数据从去重信息服务器查询去重服务信息,从相应的原始数据队列中消费数据,并输入至数据去重引擎,之后将去重后的数据输入到相应的去重数据队列;
S8.去重数据消费者查询去重服务信息,并从相应的去重数据队列中消费数据;
S9.主服务器根据从服务器信息更新从服务器信息。
其中,步骤S1之前还包括步骤:
A1.启动异步消息网络系统。
其中,步骤S1还包括步骤:
S1.1配置原始数据信息表,该表包括三元组,<Pri-MagicID,Pri-MQ,Duration>,其中,Pri-MagicID为去重服务与原始数据产生者约定的ID,可预先分配;Pri-MQ为存放原始数据的消息队列;Duration为去重老化时间;
S1.2配置去重数据信息表,该表包括二元组,<Inst-MagicID,Inst-MQ>,其中,Inst-MagicID为去重服务与去重数据消费者约定的ID,可预先分配;Inst-MQ为存放去重数据的消息队列;
S1.3配置去重服务信息表,该表包括三元组,<Pri-MagicID,Inst_MagicID,ProcessingHost>,其中,Pri-MagicID为去重服务与原始数据产生者约定的ID;Inst-MagicID为去重服务与去重数据消费者约定的ID;ProcessingHost为从服务器;
S1.4配置去重信息服务信息表,该表包括三元组,<ProcessingHost,CPU,Mem,Disk,Net,Time>,其中,ProcessingHost为从服务器,CPU为该服务器当前CPU利用率;Mem为该服务器当前内存使用率;Disk为该服务器当前磁盘使用率;Net为该服务器当前带宽使用率;Time为最后更新时间。
其中,步骤S2还包括步骤:
S2.1主服务器每1秒钟读取去重信息服务器中的去重服务信息表,去重服务器信息表;
其中,步骤S3还包括步骤:
S3.1从服务器每1秒钟采集CPU、内存、磁盘及带宽使用率,并将这些信息更新至去重信息服务器中的去重服务信息表。
其中,步骤S4还包括步骤:
S4.1为每种去重应用分配Pri-MagicID,确定Duration,同时在消息网络中初始化Pri-MQ,并将这些信息更新至去重信息服务器的原始数据信息表;
S4.2为每种去重应用分配Inst-MagicID,同时在消息网络中初始化Inst-MQ,并将这些信息更新至去重信息服务器的原始数据信息表;
S4.3为每种去重应用在去重服务信息表中添加去重服务信息,填写Pri-MagicID和Inst_MagicID字段。
其中,步骤S5还包括步骤:
S5.1从读取的去重服务信息表中查找未分配ProcessingHost的去重服务;
S5.2从最近5秒内更新过信息的从服务器中,根据下式计算负载系数;
P=CPU*0.3+Mem*0.3+Disk*0.1+Net*0.3
S5.3选择负载系数最小的从服务器,并将信息更新至去重服务信息表。
其中,步骤S6还包括步骤:
S6.1原始数据产生者每1秒钟查询去重服务信息;
S6.2若存在ProcessingHost,则将原始数据发送至相应的Pri-MQ。
其中,步骤S7还包括步骤:
S7.1从服务器每1秒钟查询去重服务信息表;
S7.2若存在与本机相对应的ProcessingHost,则初始化去重引擎;
S7.3根据去重服务信息读取Pri-MQ的原始数据,并输入至引擎在Duration规定的时间内进行去重;
S7.4去重结果输入至去重服务信息表中的Inst-MQ。
其中,步骤S8还包括步骤:
S8.1去重数据消费者每1秒钟查询去重服务信息;
S8.2若存在ProcessingHost,则从Inst-MQ中消费去重数据。
其中,步骤S9还包括步骤:
S9.1从服务器从读取的去重服务信息表中获取去重服务信息;
S9.2若从服务器信息的负载系数超过0.8,或5秒钟内未更新资源使用状态,则从去重服务信息表中去除该服务器,并重新执行步骤S5。
Claims (9)
1.一种基于消息队列的分布式数据实时去重方法,其特征在于,包括以下步骤:
S1.配置一台去重信息服务器;
步骤S1还包括步骤:
S1.1配置原始数据信息表,该表包括三元组,<Pri-MagicID,Pri-MQ,Duration>,其中,Pri-MagicID为去重服务与原始数据产生者约定的ID,可预先分配;Pri-MQ为存放原始数据的消息队列;Duration为去重老化时间;
S1.2配置去重数据信息表,该表包括二元组,<Inst-MagicID,Inst-MQ>,其中,Inst-MagicID为去重服务与去重数据消费者约定的ID,可预先分配;Inst-MQ为存放去重数据的消息队列;
S1.3配置去重服务信息表,该表包括三元组,<Pri-MagicID,Inst_MagicID,ProcessingHost>,其中,Pri-MagicID为去重服务与原始数据产生者约定的ID;Inst-MagicID为去重服务与去重数据消费者约定的ID;ProcessingHost为从服务器;
S1.4配置去重信息服务信息表,该表包括三元组,<ProcessingHost,CPU,Mem,Disk,Net,Time>,其中,ProcessingHost为从服务器,CPU为该服务器当前CPU利用率;Mem为该服务器当前内存使用率;Disk为该服务器当前磁盘使用率;Net为该服务器当前带宽使用率;Time为最后更新时间;
S2.配置一台主服务器;
S3.根据消息网络接口,配置若干台数据从服务器,并加入消息网络;
S4.为每一种需去重的数据配置添加原始数据信息、去重数据信息、去重服务信息;
S5.根据原始数据信息,去重数据信息及去重服务信息确定从服务器;
S6.原始数据产生者查询重服务信息,并将原始数据发送至相应的原始数据队列;
S7.数据从去重服务器查询去重服务信息,从相应的原始数据队列中消费数据,并输入至数据去重引擎,之后将去重后的数据输入到相应的去重数据队列;
S8.去重数据消费者查询去重服务信息,并从相应的去重数据队列中消费数据;
S9.主服务器根据从服务器信息更新从服务器信息。
2.如权利要求1所述的一种基于消息队列的分布式数据实时去重方法,其特征在于,其中,步骤S1之前还包括步骤:
A1.启动异步消息网络系统。
3.如权利要求1或2所述的一种基于消息队列的分布式数据实时去重方法,其特征在于,其中,步骤S2还包括步骤:
S2.1主服务器每1秒钟读取去重信息服务器中的去重服务信息表,去重服务器信息表。
4.如权利要求1或2所述的一种基于消息队列的分布式数据实时去重方法,其特征在于,其中,步骤S3还包括步骤:
S3.1从服务器每1秒钟采集CPU、内存、磁盘及带宽使用率,并将这些信息更新至去重信息服务器中的去重服务信息表。
5.如权利要求1或2所述的一种基于消息队列的分布式数据实时去重方法,其特征在于,其中,步骤S4还包括步骤:
S4.1为每种去重应用分配Pri-MagicID,确定Duration,同时在消息网络中初始化Pri-MQ,并将这些信息更新至去重信息服务器的原始数据信息表;
S4.2为每种去重应用分配Inst-MagicID,同时在消息网络中初始化Inst-MQ,并将这些信息更新至去重信息服务器的原始数据信息表;
S4.3为每种去重应用在去重服务信息表中添加去重服务信息,填写Pri-MagicID和Inst_MagicID字段。
6.如权利要求1所述的一种基于消息队列的分布式数据实时去重方法,其特征在于,其中,步骤S5还包括步骤:
S5.1从读取的去重服务信息表中查找未分配ProcessingHost的去重服务;
S5.2从最近5秒内更新过信息的从服务器中,根据下式计算负载系数;
P=CPU*0.3+Mem*0.3+Disk*0.1+Net*0.3
S5.3选择负载系数最小的从服务器,并将信息更新至去重服务信息表。
7.如权利要求1或2所述的一种基于消息队列的分布式数据实时去重方法,其特征在于,其中,步骤S6还包括步骤:
S6.1原始数据产生者每1秒钟查询去重服务信息;
S6.2若存在ProcessingHost,则将原始数据发送至相应的Pri-MQ。
8.如权利要求1或2所述的一种基于消息队列的分布式数据实时去重方法,其特征在于,其中,步骤S7还包括步骤:
S7.1从服务器每1秒钟查询去重服务信息表;
S7.2若存在与本机相对应的ProcessingHost,则初始化去重引擎;
S7.3根据去重服务信息读取Pri-MQ的原始数据,并输入至引擎在Duration规定的时间内进行去重;
S7.4去重结果输入至去重服务信息表中的Inst-MQ。
9.如权利要求1或2所述的一种基于消息队列的分布式数据实时去重方法,其特征在于,其中,步骤S9还包括步骤:
S9.1从服务器从读取的去重服务信息表中获取去重服务信息;
S9.2若从服务器信息的负载系数超过0.8,或5秒钟内未更新资源使用状态,则从去重服务信息表中去除该服务器,并重新执行步骤S5。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510572334.0A CN105183858B (zh) | 2015-09-10 | 2015-09-10 | 一种基于消息队列的分布式数据实时去重方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510572334.0A CN105183858B (zh) | 2015-09-10 | 2015-09-10 | 一种基于消息队列的分布式数据实时去重方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105183858A CN105183858A (zh) | 2015-12-23 |
CN105183858B true CN105183858B (zh) | 2018-12-21 |
Family
ID=54905939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510572334.0A Expired - Fee Related CN105183858B (zh) | 2015-09-10 | 2015-09-10 | 一种基于消息队列的分布式数据实时去重方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105183858B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103475687A (zh) * | 2013-05-24 | 2013-12-25 | 北京网秦天下科技有限公司 | 用于下载网站数据的分布式方法和系统 |
CN103646111A (zh) * | 2013-12-25 | 2014-03-19 | 普元信息技术股份有限公司 | 大数据环境下实现实时数据关联的系统及方法 |
CN104834558A (zh) * | 2015-05-19 | 2015-08-12 | 北京京东尚科信息技术有限公司 | 一种数据处理的方法及系统 |
-
2015
- 2015-09-10 CN CN201510572334.0A patent/CN105183858B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103475687A (zh) * | 2013-05-24 | 2013-12-25 | 北京网秦天下科技有限公司 | 用于下载网站数据的分布式方法和系统 |
CN103646111A (zh) * | 2013-12-25 | 2014-03-19 | 普元信息技术股份有限公司 | 大数据环境下实现实时数据关联的系统及方法 |
CN104834558A (zh) * | 2015-05-19 | 2015-08-12 | 北京京东尚科信息技术有限公司 | 一种数据处理的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105183858A (zh) | 2015-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115328663B (zh) | 基于PaaS平台进行资源调度的方法、装置、设备和存储介质 | |
CN109032803B (zh) | 数据处理方法和装置、客户端 | |
CN106155811B (zh) | 资源服务装置、资源调度方法和装置 | |
WO2014101475A1 (zh) | 云平台应用部署方法及装置 | |
CN104317749A (zh) | 信息写入方法和装置 | |
KR102174221B1 (ko) | 제공자 네트워크에서의 그래픽 처리 가상화 | |
US20220004873A1 (en) | Techniques to manage training or trained models for deep learning applications | |
CN109145053B (zh) | 数据处理方法和装置、客户端、服务器 | |
CN109104368B (zh) | 一种请求连接方法、装置、服务器及计算机可读存储介质 | |
CN104219298A (zh) | 集群系统及其数据备份的方法 | |
CN110019537A (zh) | 本地缓存刷新方法、装置、计算机设备及存储介质 | |
US10789183B2 (en) | Aggregation handling | |
CN113220432B (zh) | 多云互联方法、装置、设备、存储介质及产品 | |
EP3387816A1 (en) | Connecting and retrieving security tokens based on context | |
CN109586970A (zh) | 资源分配方法、装置及系统 | |
CN116932147A (zh) | 流式作业处理方法、装置、电子设备及介质 | |
EP2622499B1 (en) | Techniques to support large numbers of subscribers to a real-time event | |
CN105183858B (zh) | 一种基于消息队列的分布式数据实时去重方法 | |
US10616317B2 (en) | Method and system for affinity load balancing | |
US20150212834A1 (en) | Interoperation method of newtork device performed by computing device including cloud operating system in could environment | |
CN105653364A (zh) | 应用进程管理方法及应用进程管理装置 | |
CN116185578A (zh) | 计算任务的调度方法和计算任务的执行方法 | |
CN114020453A (zh) | 服务总线消息处理方法、服务总线系统、电子设备及介质 | |
CN109032804B (zh) | 数据处理方法和装置、服务器 | |
US20150263958A1 (en) | Load balancing apparatus and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
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: 20181221 Termination date: 20210910 |