CN106407026A - 一种在流式计算中消息id的生成方法 - Google Patents

一种在流式计算中消息id的生成方法 Download PDF

Info

Publication number
CN106407026A
CN106407026A CN201610831613.9A CN201610831613A CN106407026A CN 106407026 A CN106407026 A CN 106407026A CN 201610831613 A CN201610831613 A CN 201610831613A CN 106407026 A CN106407026 A CN 106407026A
Authority
CN
China
Prior art keywords
message
topic
calculating
cluster
streaming
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
Application number
CN201610831613.9A
Other languages
English (en)
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.)
BEIJING GEO POLYMERIZATION TECHNOLOGY Co Ltd
Original Assignee
BEIJING GEO POLYMERIZATION TECHNOLOGY 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 BEIJING GEO POLYMERIZATION TECHNOLOGY Co Ltd filed Critical BEIJING GEO POLYMERIZATION TECHNOLOGY Co Ltd
Priority to CN201610831613.9A priority Critical patent/CN106407026A/zh
Publication of CN106407026A publication Critical patent/CN106407026A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开一种在流式计算中消息ID的生成方法,其能够确保消息ID的唯一性,消息ID可以重复生成且重复生成后消息ID没有任何变化。这种在流式计算中消息ID的生成方法,该方法通过kafka集群进行消息的发布与订阅;使用kafka集群中的一个topic来标识一个消息的来源,以便唯一标识消息的来源;使用每个topic的分区的编号partitionid;使用每个分区中的消息的偏移量offset来标识每条消息;topic、paritionid以及offset这三个变量组成的三元组,唯一确定每条消息,并且实现无限次地重复生成。

Description

一种在流式计算中消息ID的生成方法
技术领域
本发明涉及大数据处理的技术领域,尤其涉及一种在流式计算中消息ID的生成方法。
背景技术
在加工处理流式输入的消息数据时,往往会面临流式消息的标识问题,流式消息的标识的目的是表达消息的唯一性,并且在消息重复消费时消息ID需要保持前后一致。
现有的技术方案如下:
方法一:logid的生成方法,使用13位时间戳拼接上随机生成的随机数字。
根据当前系统时间可以取出一个13位的整型时间戳,在一毫秒内可能要同时生成多个logid,需要再加上一个使用random(随机)方式使用的一个定长的随机数。
存在问题:
1、ID生成与时间相关,消息ID不可重复生成,会导致同一条消息在重复消费后所产生的消息ID不是相同的。
2、流式计算一般是在一个集群中所进行中,在这样的一个分布式系统中,各服务器在同时运算的情况下ID生成的唯一性无法保证,导致ID不可用。
方法二:由独立服务器来统一控制消息id的生成。
部署一个独立的服务器,向外提供接口,每调用一次接口,服务器会通过自增的方式来生成一个唯一的新消息ID,通过接口返回给调用方。
存在的问题:
1、消息ID虽然保证了唯一性,但是在流量计算的海量数据处理的场景下,ID生成服务压力非常大,生成代价非常高。
2、消息在重复消费的情况下,消息ID会重新生成,不能保证消息重复消费情境下的一致性。
发明内容
为克服现有技术的缺陷,本发明要解决的技术问题是提供了一种在流式计算中消息ID的生成方法,其能够确保消息ID的唯一性,消息ID可以重复生成且重复生成后消息ID没有任何变化。
本发明的技术方案是:这种在流式计算中消息ID的生成方法,该方法通过kafka集群进行消息的发布与订阅;
使用kafka集群中的一个topic来标识一个消息的来源,以便唯一标
识消息的来源;
使用每个topic的分区的编号partitionid;
使用每个分区中的消息的偏移量offset来标识每条消息;
topic、paritionid以及offset这三个变量组成的三元组,唯一确定
每条消息,并且实现无限次地重复生成。
本发明通过topic、paritionid以及offset这三个变量组成的三元组,便可以确定每条消息的唯一性,并且可以无限次地重复生成,从而能够确保消息ID的唯一性,消息ID可以重复生成且重复生成后消息ID没有任何变化。
附图说明
图1所示为根据本发明的在流式计算中消息ID的生成方法的流程图。
具体实施方式
如图1所示,这种在流式计算中消息ID的生成方法,该方法通过kafka集群进行消息的发布与订阅;
使用kafka集群中的一个topic来标识一个消息的来源,以便唯一标识消息的来源;
使用每个topic的分区的编号partitionid;
使用每个分区中的消息的偏移量offset来标识每条消息;
topic、paritionid以及offset这三个变量组成的三元组,唯一确定每条消息,并且实现无限次地重复生成。
本发明通过topic、paritionid以及offset这三个变量组成的三元组,便可以确定每条消息的唯一性,并且可以无限次地重复生成,从而能够确保消息ID的唯一性,消息ID可以重复生成且重复生成后消息ID没有任何变化。
另外,该方法部署到storm集群中,由storm中的topology来负责组织消息ID的生成并落地到Hadoop分布式文件系统hdfs。
另外,该方法应用到Map Reduce程序中,提交到hadoop集群执行,由Map Reduce来生成消息ID并落地到hdfs。
本发明的有益效果如下:
1.消息ID没有重复,重复概率为0,确保了唯一性;
2.本消息ID可以重复生成,重复生成之后,消息ID没有任何变化。
以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属本发明技术方案的保护范围。

Claims (3)

1.一种在流式计算中消息ID的生成方法,其特征在于:该方法通过
kafka集群进行消息的发布与订阅;
使用kafka集群中的一个topic来标识一个消息的来源,以便唯一标识消息的来源;
使用每个topic的分区的编号partitionid;
使用每个分区中的消息的偏移量offset来标识每条消息;
topic、paritionid以及offset这三个变量组成的三元组,唯一确定每条消息,并且实现无限次地重复生成。
2.根据权利要求1所述的在流式计算中消息ID的生成方法,其特征在于:该方法部署到storm集群中,由storm中的topology来负责组织消息ID的生成并落地到Hadoop分布式文件系统hdfs。
3.根据权利要求1所述的在流式计算中消息ID的生成方法,其特征在于:该方法应用到Map Reduce程序中,提交到hadoop集群执行,由Map Reduce来生成消息ID并落地到hdfs。
CN201610831613.9A 2016-09-19 2016-09-19 一种在流式计算中消息id的生成方法 Pending CN106407026A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610831613.9A CN106407026A (zh) 2016-09-19 2016-09-19 一种在流式计算中消息id的生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610831613.9A CN106407026A (zh) 2016-09-19 2016-09-19 一种在流式计算中消息id的生成方法

Publications (1)

Publication Number Publication Date
CN106407026A true CN106407026A (zh) 2017-02-15

Family

ID=57996888

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610831613.9A Pending CN106407026A (zh) 2016-09-19 2016-09-19 一种在流式计算中消息id的生成方法

Country Status (1)

Country Link
CN (1) CN106407026A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109002484A (zh) * 2018-06-25 2018-12-14 北京明朝万达科技股份有限公司 一种用于顺序消费数据的方法及系统
CN112925662A (zh) * 2021-03-25 2021-06-08 支付宝(杭州)信息技术有限公司 标识生成方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105681303A (zh) * 2016-01-15 2016-06-15 中国科学院计算机网络信息中心 一种大数据驱动的网络安全态势监测及可视化方法
CN105791431A (zh) * 2016-04-26 2016-07-20 北京邮电大学 一种在线分布式监控视频处理任务调度方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105681303A (zh) * 2016-01-15 2016-06-15 中国科学院计算机网络信息中心 一种大数据驱动的网络安全态势监测及可视化方法
CN105791431A (zh) * 2016-04-26 2016-07-20 北京邮电大学 一种在线分布式监控视频处理任务调度方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
于金良 等: ""一种分布式消息队列研究与测试"", 《物联网技术》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109002484A (zh) * 2018-06-25 2018-12-14 北京明朝万达科技股份有限公司 一种用于顺序消费数据的方法及系统
CN109002484B (zh) * 2018-06-25 2020-08-07 北京明朝万达科技股份有限公司 一种用于顺序消费数据的方法及系统
CN112925662A (zh) * 2021-03-25 2021-06-08 支付宝(杭州)信息技术有限公司 标识生成方法和装置
CN112925662B (zh) * 2021-03-25 2024-02-27 支付宝(杭州)信息技术有限公司 标识生成方法和装置

Similar Documents

Publication Publication Date Title
HRP20201936T1 (hr) Postupci i uređaj za distribuiranu bazu podataka unutar mreže
CN109688199B (zh) 一种多域分层物联网联盟链平台及其分片方法、计算机
EP4235514A3 (en) Methods, systems, articles of manufacture and apparatus to map workloads
CN104113435B (zh) 生成标识的方法及装置
MY190598A (en) Blockchain data processing method and apparatus
WO2019101242A3 (en) System and method for ending view change protocol
SG11201807494UA (en) Optimization method, evaluation method and processing method and apparatuses for data migration
CN103699618B (zh) 数据报表的生成方法和系统
US20200396281A1 (en) System architecture and method of processing data therein
CN106407026A (zh) 一种在流式计算中消息id的生成方法
CN111064776B (zh) 区块链中区块的生成方法、记账节点及存储介质
CN106162365A (zh) 基于时间轮盘和弹幕行为的活跃用户集维护方法及系统
CN107977310B (zh) 一种遍历测试命令生成方法及装置
AU2021290402A1 (en) Method for identifying a device using attributes and location signatures from the device
CN105511956A (zh) 一种基于共享调度信息的任务调度方法和系统
EP3352418B1 (en) Data processing status monitoring method and device
CN104965840B (zh) 一种数据节点的随机分配方法及系统
CN104239204A (zh) 一种最小测试用例集的生成方法
WO2015165112A1 (en) Validating analytics results
CN106294457A (zh) 网络信息推送方法及装置
CN106446308A (zh) 基于稀疏贝叶斯的故障定位方法及系统
CN102487334B (zh) 关联告警信息的确定方法及装置
CN106484787A (zh) 一种在Map Reduce分布式运算中UUID的计算方法
US20130283293A1 (en) System and method for Intelligently distributing a plurality of transactions for parallel processing
CN104933058A (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: 20170215