[发明专利]分布式消息处理方法及系统有效
申请号: | 202010401681.8 | 申请日: | 2020-05-13 |
公开(公告)号: | CN111611090B | 公开(公告)日: | 2021-12-28 |
发明(设计)人: | 张晨 | 申请(专利权)人: | 浙江创邻科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F16/182;G06F16/16 |
代理公司: | 杭州裕阳联合专利代理有限公司 33289 | 代理人: | 姚宇吉 |
地址: | 310012 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 消息 处理 方法 系统 | ||
本发明公开一种分布式消息处理方法及系统,其中方法包括以下步骤:接收客户端发送的消息发送请求,根据所述消息发送请求生成包含发送时间戳的消息,将所述消息加入相应的消息队列,所述发送时间戳在所述消息队列中具有唯一性,基于所述发送时间戳对消息队列中的消息进行排列;判断消息是否超时,根据判断结果标记超时消息并将所述超时消息备份至分布式文件系统;按照预设的清除时间,周期性的删除消息队列中的超时消息。本发明通过对发送时间戳的设计保证消息传递的顺序;通过对超时消息进行判断和清除步骤的设计,能够令分布式文件系统和消息队列相互配合,便于客户端查询消息的同时减轻消息队列带来的数据存储压力。
技术领域
本发明涉及计算机软件技术领域,尤其涉及一种分布式消息处理方法及系统。
背景技术
Hadoop平台是著名的大数据平台,现今大数据处理技术栈都基于Hadoop构建,而基于大数据平台的大多应用程序都需要处理分布式的消息;
然而现有消息处理系统过于专业化/复杂化或过于简单,如微软的MSMQ为具有强大功能和硬交付保证的工业级消息处理系统,但其部署需要微软的专有系统,成本高昂;如亚马逊提供了一种低成本的简单队列服务(Simple Queue Service,SQS),它仅具有基本的消息传递操作(发送/接收),无法保证消息传递的顺序。
故现今为Hadoop用户提供保证消息传递顺序的消息队列功能时,往往需要额外部署现今过于专业化/复杂化的消息处理系统,成本过高且将提高对应应用程序的复杂性。
发明内容
本发明针对现有技术中的缺点,提供了能够按序传递消息且部署成本低的一种分布式消息处理方法及系统。
为了解决上述技术问题,本发明通过下述技术方案得以解决:
一种分布式消息处理方法,包括以下步骤:
接收客户端发送的消息发送请求,根据所述消息发送请求生成包含发送时间戳的消息,将所述消息加入相应的消息队列,所述发送时间戳在所述消息队列中具有唯一性,基于所述发送时间戳对消息队列中的消息进行排列;
判断消息是否超时,根据判断结果标记超时消息并将所述超时消息备份至分布式文件系统;
按照预设的清除时间,周期性的删除消息队列中的超时消息。
作为一种可实施方式,将所述消息加入相应的消息队列后,还包括消息传递步骤,具体步骤为:
接收客户端发送的消息接收请求,基于消息接收请求扫描消息队列和/或分布式文件系统中的消息,获得第一待传递消息;
基于发送时间戳按序为第一待传递消息添加送达时间戳,并标记所述第一待传递消息为已传递后将其发送至客户端。
作为一种可实施方式:
接收客户端发送的消息接收请求,所述消息接收请求包括最近接收时间戳;
基于所述消息接收请求获取当前接收时间戳并反馈,使客户端根据所述当前接收时间戳更新其最近接收时间戳;
基于最近接收时间戳计算待扫描时间,基于待扫描时间判断是否需要扫描超时消息,当判定不需要扫描超时消息时,基于最近接收时间戳扫描消息队列的消息,否则基于最近接收时间戳扫描消息队列和分布式文件系统中的消息,获得第二待传递消息;
从第二待传递消息中提取第一待传递消息。
作为一种可实施方式:
当最近接收时间戳为空时,对消息队列和分布式文件系统中的所有消息进行扫描。
作为一种可实施方式:
消息发送请求包括传递保证;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江创邻科技有限公司,未经浙江创邻科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010401681.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:多功能疼痛评估模具
- 下一篇:用于塑料制品生产的智能搬运设备