[发明专利]一种消息队列桥接增强的方法有效
申请号: | 202110287454.1 | 申请日: | 2021-03-17 |
公开(公告)号: | CN113051087B | 公开(公告)日: | 2023-10-03 |
发明(设计)人: | 施火炎;王鹏;黄惠杰;游晓娟 | 申请(专利权)人: | 厦门立林科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 厦门致群财富专利代理事务所(普通合伙) 35224 | 代理人: | 刘兆庆 |
地址: | 361000 福建省厦门*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 消息 队列 增强 方法 | ||
本发明公开了一种消息队列桥接增强的方法,包括如下步骤:设备的排序:定义设备得分和优先级得分,并分别作为任务设备列表和优先级设备列表的排序依据;消息的排序:定义消息得分,作为消息列表的排序依据;消息的过滤:根据新消息对具有相同消息属性的堆积消息进行覆盖并更新;消息的清理:根据删除指令清除消息队列中满足条件的消息;消息的送达:接收来自设备的确认字符,确认消息送达。本发明提供了设备得分与优先级得分的计算方法,并作为排序依据,提高消息发送的精准度;利用消息属性和删除指令对消息进行过滤和清理,减少大量重复无用的消息,提高用户体验、减少宽带浪费;利用设备的确认字符,保证消息的送达。
技术领域
本发明涉及计算机技术领域,特别涉及一种消息队列桥接增强的方法。
背景技术
在物联网中,当我们给设备发送消息,消息首先会经过消息队列(如:RabbitMQ),通过桥接,将消息转发至另一个消息队列(如:EMQ),进而投递给设备(如图1所示)。在现有的物联网环境下,由于延迟发送、网络环境差、设备断网、设备本身消费消息慢、消息队列的特性等原因,会存在消息堆积的情况,而随着时间的推移,将出现:1、优先级高的设备可能是最后才收到消息;2、产生大量无用的信息;3、信息丢失。这些都导致了消息传送的精准度不够。
发明内容
为解决上述问题,本发明提供了一种消息队列桥接增强的方法,以提高消息传送的精准度。
本发明采用以下技术方案:
一种消息队列桥接增强的方法,包括如下步骤:
设备的排序:定义设备得分和优先级得分,并分别作为任务设备列表和优先级设备列表的排序依据;
消息的排序:定义消息得分,作为消息列表的排序依据;
消息的过滤:根据新消息对具有相同消息属性的堆积消息进行覆盖并更新;
消息的清理:根据删除指令清除消息队列中满足条件的消息;
消息的送达:接收来自设备的确认字符,确认消息送达。
进一步地,所述任务设备列表为云端存有待发送消息的设备列表,所述优先级设备列表是从所述任务设备列表同步得到,同步长度即为支持同时发送的设备的限制数。
进一步地,所述设备得分score的影响因子包括设备角色S1、待发送消息数S2、消息优先级总S3和和历史成功率suc,所述设备得分score的计算为:score=(S1+S2+S3)×suc。
进一步地,所述优先级得分即为设备从所述任务设备列表同步到所述优先级设备列表时的同步时间,若消息发送给设备且设备应答,则将优先级得分更新为应答时间。
进一步地,所述设备角色S1为固定值,所述设备角色S1的计算为:S1=(n1÷n2)×50%,其中,n1为当前设备的设备角色的分值,n2为设备角色的最大分值,50%为所述设备角色的权重。
进一步地,所述待发送消息数S2的计算为:S2=(m÷M)×15%,其中,m为当前设备堆积的消息数,M为所有堆积消息总数,15%为所述待发送消息数的权重。
进一步地,所述消息优先级总和S3的计算为:S3=(p÷P)×35%,其中,p为当前设备所有消息的优先级总和,P为所有堆积消息的优先级总和,35%为所述消息优先级总和的权重。
进一步地,所述历史成功率suc的计算为:suc=f÷F,其中,f为成功次数,F为请求总数,且F>5。
进一步地,所述消息属性由设备地址、业务类型和业务ID组成。
进一步地,所述消息的清理具体为:接收删除指令并立即缓存到分布式缓存中间件中,
对于已入库的消息,若满足删除条件则删除消息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门立林科技有限公司,未经厦门立林科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110287454.1/2.html,转载请声明来源钻瓜专利网。