[发明专利]一种高可用性的实时消息分发方法及装置在审
申请号: | 202111526225.7 | 申请日: | 2021-12-14 |
公开(公告)号: | CN114793236A | 公开(公告)日: | 2022-07-26 |
发明(设计)人: | 夏科睿;张韬庚;彭超;马姓;张成林 | 申请(专利权)人: | 合肥哈工轩辕智能科技有限公司 |
主分类号: | H04L67/1095 | 分类号: | H04L67/1095;H04L67/5682;H04L67/55 |
代理公司: | 合肥市浩智运专利代理事务所(普通合伙) 34124 | 代理人: | 丁瑞瑞 |
地址: | 236000 安徽省合肥市经济技术*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 可用性 实时 消息 分发 方法 装置 | ||
1.一种高可用性的实时消息分发方法,其特征在于,所述方法包括:
在消息实时分发过程中根据消息订阅频次计算消息热度;
根据消息热度大小将各消息划分到不同的缓存队列中并进行自适应副本同步,释放热度低于预设值的消息的副本;
带权重的队列选择器根据消息热度大小给各缓存队列分配权重并根据权重与消息发布频率之间的映射关系,将消息按照不同频率分发,消息热度的大小与权重大小成正比;
消息发送线程读取带权重的队列选择器发送过来的消息并经消息代理发送给消息订阅者,消息发送线程读取消息的过程中,缓存队列里的数据有问题的情况下拉取其对应的同步副本数据。
2.根据权利要求1所述的一种高可用性的实时消息分发方法,其特征在于,所述计算消息热度包括:
通过公式Si=∑Ei/Ti计算第i个时间周期Ti内的消息访问热度,其中,Ei表示第i个时间周期Ti内消息被访问的次数;
通过公式H(i)=εSi+(1-ε)H(i-1)计算第i个时间周期Ti内消息热度,其中,ε表示当前所求得的消息热度对预估值的影响权值。
3.根据权利要求2所述的一种高可用性的实时消息分发方法,其特征在于,所述自适应副本同步包括:
通过公式Fi=W/Ti计算周期Ti内的消息的副本更新频率,其中,W代表某个周期Ti中消息补偿偏移量;
当H(i)/Fi1时,采用同步方式对消息进行副本同步;
当H(i)/Fi1时,对消息从待更新副本集合中移除,不进行副本同步。
4.根据权利要求3所述的一种高可用性的实时消息分发方法,其特征在于,所述自适应副本同步还包括:
通过MD5散列算法计算缓存队列中同一位置的消息当前时刻与上一时刻的MD5值,判断MD5值是否相同,若相同则消息未更新,若不同则消息已更新,消息已更新的情况下拉取当前时刻的消息作为该消息的副本,替换该消息之前的副本。
5.根据权利要求1所述的一种高可用性的实时消息分发方法,其特征在于,所述根据消息热度大小将各消息划分到不同的缓存队列包括:
根据消息热度大小将各消息划分到高频次消息缓存、中频次消息缓存以及低频次消息缓存中,所述消息热度大小在第一范围内的消息分到高频次消息缓存中,所述消息热度大小在第二范围内的消息分到中频次消息缓存中,所述消息热度大小在第三范围内的消息分到低频次消息缓存中,第一范围的消息热度大于第二范围的消息热度,第二范围的消息热度大于第三范围的消息热度。
6.根据权利要求5所述的一种高可用性的实时消息分发方法,其特征在于,所述带权重的队列选择器根据消息热度大小给各缓存队列分配权重包括:
将时间戳与截止时间差值小于阈值的消息提升到上一个层次的消息缓存中,如果上一个层次的消息缓存中无剩余空间,则时间戳与截止时间差值小于阈值的消息仍然在原缓存中。
7.根据权利要求6所述的一种高可用性的实时消息分发方法,其特征在于,所述将时间戳与截止时间差值小于阈值的消息提升到上一个层次的消息缓存中包括:
当高频次消息缓存有剩余空间,将时间戳与截止时间差值小于阈值的中频次消息缓存中的消息放入高频次消息缓存中;当中频次消息缓存有剩余空间,将时间戳与截止时间差值小于阈值的低频次消息缓存中的消息放入中频次消息缓存中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于合肥哈工轩辕智能科技有限公司,未经合肥哈工轩辕智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111526225.7/1.html,转载请声明来源钻瓜专利网。