[发明专利]消息中间件的消息写入方法、装置、设备及可读存储介质在审

专利信息
申请号: 202010806295.7 申请日: 2020-08-12
公开(公告)号: CN111930528A 公开(公告)日: 2020-11-13
发明(设计)人: 李升亮;郑鸣;李诗君;王继业;张晓涛;钟存木 申请(专利权)人: 银联商务股份有限公司
主分类号: G06F9/52 分类号: G06F9/52;G06F9/54
代理公司: 北京集佳知识产权代理有限公司 11227 代理人: 刘颖
地址: 201203 上海市中国(上海*** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 消息 中间件 写入 方法 装置 设备 可读 存储 介质
【权利要求书】:

1.一种消息中间件的消息写入方法,其特征在于,包括:

响应于第一线程的消息写入请求,查询第一偏移量,所述第一偏移量为当前的文件偏移量;

基于所述第一偏移量和所述第一线程待写入的消息的长度,获取第二偏移量;

使用自旋锁,将所述当前的文件偏移量更新为所述第二偏移量;

响应于更新成功,向所述第一线程反馈所述第一偏移量,所述第一偏移量用于所述第一线程向所述消息中间件写入所述消息。

2.根据权利要求1所述的方法,其特征在于,所述使用自旋锁,将所述当前的文件偏移量更新为所述第二偏移量,包括:

使用比较并交换CAS技术,将所述当前的文件偏移量更新为所述第二偏移量。

3.根据权利要求1或2所述的方法,其特征在于,所述基于所述第一偏移量和所述第一线程待写入的消息的长度,获取第二偏移量,包括:

计算作为文件偏移量的第一数值,所述第一数值为所述第一偏移量和所述第一线程待写入的消息的长度之和;

如果所述第一偏移量与所述第一数值位于同一文件,将所述第一数值作为所述第二偏移量。

4.根据权利要求3所述的方法,其特征在于,还包括:

如果所述第一偏移量与所述第一数值没有位于同一文件,将下一文件的起始偏移量与所述消息的长度之和,作为所述第二偏移量。

5.根据权利要求1或2所述的方法,其特征在于,还包括:

响应于更新不成功,重新查询所述第一偏移量以及重新获取所述第二偏移量,并将所述当前的文件偏移量更新为所述第二偏移量。

6.根据权利要求1或2所述的方法,其特征在于,在所述向所述第一线程反馈所述第一偏移量之后,还包括:

存储所述第一线程写入的所述消息的内容。

7.根据权利要求6所述的方法,其特征在于,在所述存储所述第一线程写入的所述消息的内容之前,还包括:

计算作为文件偏移量的第二数值,所述第二数值为所述第一偏移量和所述第一线程待写入的消息的长度之和;

如果所述第一偏移量与所述第二数值没有位于同一文件,在当前文件的剩余空间填充预设的字符。

8.一种消息中间件的消息写入装置,其特征在于,包括:

查询单元,用于响应于第一线程的消息写入请求,查询第一偏移量,所述第一偏移量为当前的文件偏移量;

偏移量获取单元,用于基于所述第一偏移量和所述第一线程待写入的消息的长度,获取第二偏移量;

更新单元,用于使用自旋锁,将所述当前的文件偏移量更新为所述第二偏移量;

反馈单元,用于响应于更新成功,向所述第一线程反馈所述第一偏移量,所述第一偏移量用于所述第一线程向所述消息中间件写入所述消息。

9.一种消息中间件的消息写入设备,其特征在于,包括:存储器和处理器;

所述存储器,用于存储程序;

所述处理器,用于执行所述程序,实现如权利要求1~7中任一项所述的消息中间件的消息写入方法的各个步骤。

10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1~7中任一项所述的消息中间件的消息写入方法的各个步骤。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于银联商务股份有限公司,未经银联商务股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202010806295.7/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top