[发明专利]一种解决消息版本冲突的方法和装置在审
申请号: | 201911166298.2 | 申请日: | 2019-11-25 |
公开(公告)号: | CN112835724A | 公开(公告)日: | 2021-05-25 |
发明(设计)人: | 王红雁 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;H04L29/08 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;张效荣 |
地址: | 100086 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 解决 消息 版本 冲突 方法 装置 | ||
本发明公开了一种解决消息版本冲突的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:根据至少一个第一服务器发送的待存储消息的属性信息,对所述待存储消息进行分组,以使所述属性相同的所述待存储消息位于同一个第二服务器中;根据所述属性信息中含有的时间戳,将分组后的所述待存储消息排列在队列中,其中,属性信息相同的所述待存储消息位于同一个所述队列中;将按所述时间戳排列好的队列提交至存储服务器。该实施方式减少了消息之间的版本冲突,从而可避免消息积压。
技术领域
本发明涉及计算机技术领域,尤其涉及一种解决消息版本冲突的方法和装置。
背景技术
在docker服务器消费kafka集群中的数据,并向Elasticsearch(ES)集群提交大量的kafka数据时,多台docker服务器会同时向ES集群发送消息。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
当两条消息之间的索引、类型和主键等属性信息均相同时,同时提交这两条消息将会发生版本冲突。而当同时消费大量的kafka数据时,多台docker服务器会同时向ES集群提交消息,则消息发生版本冲突较多,这将导致消息一直不能成功写入ES集群,从而造成消息积压。
发明内容
有鉴于此,本发明实施例提供一种解决消息版本冲突的方法和装置,能够降低消息的版本冲突,避免消息积压。
为实现上述目的,根据本发明实施例的第一方面,提供了一种解决消息版本冲突的方法,包括:根据至少一个第一服务器发送的待存储消息的属性信息,对所述待存储消息进行分组,以使所述属性相同的所述待存储消息位于同一个第二服务器中;根据所述属性信息中含有的时间戳,将分组后的所述待存储消息排列在队列中;将按所述时间戳排列好的队列提交至存储服务器。
可选地,当同一个所述队列中存在所述属性信息不同的所述待存储消息时,所述将按所述时间戳排列好的队列提交至存储服务器,包括:确定所述队列中的待存储消息的数量是否达到数量阈值,如果是,从所述消息队列中提取出所述待存储消息;对提取出的所述待存储消息进行分组,以使同一组中的所述待存储消息的所述属性信息相同;针对同一组中的所述待存储消息:根据所述待存储消息的时间戳,提交所述待存储消息。
可选地,进一步包括:根据所述第一服务器中的待处理消息的所述属性信息,对所述待处理消息进行分组,其中,位于同一组的所述待处理消息的所述属性信息相同,所述属性信息指示了所述待处理消息的索引、类型和主键;将同一组的所述待处理消息进行合并,形成所述待存储消息。
可选地,所述将同一组的所述待处理消息进行合并,形成所述待存储消息,包括:根据同一组中所述待处理消息的时间顺序,按照依次覆盖的规则,对所述待处理消息进行合并。
可选地,所述根据所述属性信息中含有的时间戳,将分组后的所述待存储消息排列在队列中,包括:根据所述时间戳指示的时刻,从所述待存储消息中确定出目标消息,其中,所述目标消息的所述时间戳指示的时刻与当前时刻之间的时长不大于第一时长阈值;将所述目标消息排列在所述队列中。
可选地,所述将按所述时间戳排列好的队列提交至存储服务器,包括:当上次提交队列的时刻与当前时刻之间的时长大于第二时长阈值时,将所述队列提交至存储服务器;
或,
当所述队列中的待存储消息的数量达到数量阈值时,将所述队列提交至所述存储服务器。
根据本发明实施例的第二方面,提供了一种解决消息版本冲突的装置,包括:分组模块、排列模块和提交模块;其中,所述分组模块,用于根据至少一个第一服务器发送的待存储消息的属性信息,对所述待存储消息进行分组,以使所述属性相同的所述待存储消息位于同一个第二服务器中;所述排列模块,用于根据所述属性信息中含有的时间戳,将分组后的所述待存储消息排列在队列中;所述提交模块,用于将按所述时间戳排列好的队列提交至存储服务器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911166298.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:透明标本及其制备方法
- 下一篇:一种监测熔断器的方法、装置及电动汽车