[发明专利]一种处理实时消息的方法和系统有效
申请号: | 201711084607.2 | 申请日: | 2017-11-07 |
公开(公告)号: | CN110019671B | 公开(公告)日: | 2022-04-12 |
发明(设计)人: | 路德棋 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F16/33 | 分类号: | G06F16/33;G06F16/953;H04L67/568 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;杨晓伟 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 处理 实时 消息 方法 系统 | ||
本发明公开了一种处理实时消息的方法和系统,涉及计算机技术领域。该方法的一具体实施方式包括:接收一个或多个主键相同的实时消息;对所述实时消息进行组装以得到一个或多个更新操作对象;发起对搜索系统的访问,然后在本次访问中向所述搜索系统发送所有的所述更新操作对象。该实施方式通过组装主键相同的实时消息,将组装得到的所有更新操作对象发送至Elasticsearch进行聚合处理,实现了对更新操作对象的批量发送,减少了对Elasticsearch的频繁访问,提升了Storm的吞吐量。
技术领域
本发明涉及计算机领域,尤其涉及一种处理实时消息的方法和系统。
背景技术
随着互联网行业的飞速发展,数据越来越重要。其中,实时消息更是关注的焦点。现有技术中一般通过实时流式计算系统对海量实时数据进行处理,具体方案为:实时流式计算系统(Storm)在接收到一条消息后,根据该消息组装在累加聚合时所需的主键,根据该主键从Elasticsearch中查询对应的消息记录,如果未查询到,则将该消息插入到Elasticsearch中;如果查询到消息记录,则将消息记录中的指标值和该消息的指标值(比如网站的浏览量、销售额等)加和后更新到Elasticsearch中,通过上述方式实现了指标值的实时累加聚合。其中,Storm是一个分布式的实时流式计算系统,可以水平扩展、自动容错,延迟达到毫秒级,常用于实时分析、在线机器学习等。Elasticsearch是一个分布式、可扩展的实时搜索与数据分析引擎,可实现数据的存储、聚合、全文检索等。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:Storm每接收一条消息需操作两次Elasticsearch,当消息的数量比较大时,将消息插入到Elasticsearch往往成为瓶颈,导致在实时消息的处理过程中Storm的吞吐量降低。
发明内容
有鉴于此,本发明实施例提供一种处理实时消息的方法和系统,通过组装主键相同的实时消息,将组装得到的所有更新操作对象发送至Elasticsearch进行聚合处理,实现了对更新操作对象的批量发送,减少了对Elasticsearch的频繁访问,提升了Storm的吞吐量。
为实现上述目的,根据本发明实施例的一个方面,提供了一种处理实时消息的方法。
本发明实施例的一种处理实时消息的方法,包括:接收一个或多个主键相同的实时消息;对所述实时消息进行组装以得到一个或多个更新操作对象;发起对搜索系统的访问,然后在本次访问中向所述搜索系统发送所有的所述更新操作对象。
可选地,所述对所述实时消息进行组装以得到一个或多个更新操作对象的步骤之前,还包括:接收系统消息;所述对所述实时消息进行组装以得到一个或多个更新操作对象的步骤之后以及所述发起对搜索系统的访问的步骤之前还包括:确认接收到的消息为所述系统消息,或者确认接收到的消息不是所述系统消息且所述更新操作对象的数量大于等于设定阈值。
可选地,所述对所述实时消息进行组装以得到一个或多个更新操作对象,包括:对所述实时消息进行格式变换后得到消息体对象,根据所述消息体对象和所述实时消息中的指标组装成Script对象,所述Script对象即为更新操作对象。
可选地,所述在本次访问中向所述搜索系统发送所有的所述更新操作对象的步骤之后,还包括:根据发送频次和预设的频次取值区间动态调整所述阈值。
可选地,所述根据发送频次和预设的频次取值区间动态调整所述阈值,包括:当所述发送频次大于所述频次取值区间的最大值时,按照预设增量增加所述阈值;当所述发送频次小于所述频次取值区间的最小值时,按照预设减量减少所述阈值;当所述发送频次在所述频次取值区间内时,所述阈值保持不变。
可选地,采用Storm执行所述处理实时消息的步骤,所述搜索系统为Elasticsearch。
为实现上述目的,根据本发明实施例的另一方面,提供了一种处理实时消息的系统。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711084607.2/2.html,转载请声明来源钻瓜专利网。