[发明专利]消息存储方法、装置、设备及存储介质有效
申请号: | 201811597366.6 | 申请日: | 2018-12-26 |
公开(公告)号: | CN109739822B | 公开(公告)日: | 2021-04-13 |
发明(设计)人: | 徐朋朋 | 申请(专利权)人: | 中国移动通信集团江苏有限公司;中国移动通信集团有限公司 |
主分类号: | G06F16/18 | 分类号: | G06F16/18;G06F16/172 |
代理公司: | 北京东方亿思知识产权代理有限责任公司 11258 | 代理人: | 彭琼 |
地址: | 210029 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 消息 存储 方法 装置 设备 介质 | ||
本发明实施例公开了一种消息存储方法、装置、设备及存储介质。该方法包括:获得待存储消息;将待存储消息存储在消息日志文件中;从检查点文件中提取最大自增消息序列值对应的消息在消息日志文件中的偏移地址;根据偏移地址,获取偏移地址对应的消息的自增消息序列值;比较获得的自增消息序列值与待存储消息对应的自增消息序列值;根据比较结果,生成待存储消息对应的消息索引信息;将消息索引信息存储在消息索引文件中。本发明实施例的消息存储方法、装置、设备及存储介质,能够提高消息存储系统的性能,减少消息存储系统维护难度,提高消息存储系统的处理效率。
技术领域
本发明涉及数据存储技术领域,尤其涉及一种消息存储方法、装置、设备及存储介质。
背景技术
消息系统一般包含三个角色:消息发送者、消息接收者和消息队列。其中,消息发送者生产并发送消息至消息队列,消息队列存储消息并建立消息索引,消息接收者接收消息。消息队列作为在消息的传输过程中保存消息的容器,在整个消息系统中占据核心地位,消息队列的设计直接关系到整个消息系统的性能。
当前主流的消息存储系统中,消息的存储一般基于关系型数据库和文件系统。基于关系型数据库的消息存储系统,消息会被直接存储在对应的表中,对消息的读写操作,需要通过对表的操作来完成;基于文件系统的消息存储系统,一般会有日志文件和索引文件组成,消息存储在日志文件中,通过索引文件对消息进行索引。
基于关系型数据库存储的消息,受限于关系型数据库本身的能力,一般性能都比较差,应用数据修改可能会触发数据库数据结构修改,带来共享数据的应用改造,增加维护集成难度。基于文件系统存储的消息,一般存储和索引结构设计复杂,维护难度较高。
发明内容
本发明实施例提供一种消息存储方法、装置、设备及存储介质,能够提高消息存储系统的性能,减少消息存储系统维护难度,提高消息存储系统的处理效率。
一方面,本发明实施例提供了一种消息存储方法,方法包括:
获得待存储消息;
将待存储消息存储在消息日志文件中;
从检查点文件中提取最大自增消息序列值对应的消息在消息日志文件中的偏移地址;
根据偏移地址,获取偏移地址对应的消息的自增消息序列值;
比较获得的自增消息序列值与待存储消息对应的自增消息序列值;
根据比较结果,生成待存储消息对应的消息索引信息;
将消息索引信息存储在消息索引文件中。
在本发明的一个实施例中,根据比较结果,生成待存储消息对应的消息索引信息,包括:
若获得的自增消息序列值小于待存储消息对应的自增消息序列值,根据待存储消息对应的自增消息序列值、待存储消息在消息日志文件中的偏移地址、待存储消息占用的字节数与待存储消息对应的校验和占用的字节数之和,生成待存储消息对应的消息索引信息。
在本发明的一个实施例中,本发明实施例提供的消息存储方法还包括:
将检查点文件中存储的最大自增消息序列值对应的消息在消息日志文件中的偏移地址,修改为待存储消息在消息日志文件中的偏移地址。
在本发明的一个实施例中,根据比较结果,生成待存储消息对应的消息索引信息,包括:
若获得的自增消息序列值不小于待存储消息对应的自增消息序列值,将待存储消息对应的自增消息序列值修改为用于表示消息为重复消息的标识信息,根据标识信息、待存储消息在消息日志文件中的偏移地址、待存储消息占用的字节数与待存储消息对应的校验和占用的字节数之和,生成待存储消息对应的消息索引信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国移动通信集团江苏有限公司;中国移动通信集团有限公司,未经中国移动通信集团江苏有限公司;中国移动通信集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811597366.6/2.html,转载请声明来源钻瓜专利网。