[发明专利]一种消息持久化方法、服务器和计算机可读存储介质有效
申请号: | 201710960147.9 | 申请日: | 2017-10-16 |
公开(公告)号: | CN107704604B | 公开(公告)日: | 2020-09-18 |
发明(设计)人: | 余波;陈宇珽;茅廷;许再越;李正;牛文宇;李升先;李志斌 | 申请(专利权)人: | 中汇信息技术(上海)有限公司 |
主分类号: | G06F16/172 | 分类号: | G06F16/172;G06F16/13 |
代理公司: | 北京睿派知识产权代理事务所(普通合伙) 11597 | 代理人: | 刘锋 |
地址: | 201203 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 消息 持久 方法 服务器 计算机 可读 存储 介质 | ||
1.一种消息持久化方法,包括:
接收需要持久化的消息后,获取所述消息所属的消息主题;
将所述消息存储在所述消息主题对应的数据文件中,所述消息包括消息序列号;
定时更新消息索引文件,生成所述消息对应的消息索引记录;其中,所述消息索引文件在预先设定的时间点创建;所述消息索引记录包括数据文件标识和所述消息在所述数据文件中的偏移地址;
所述消息索引记录根据预定规则更新添加至所述消息索引文件以使得能够根据消息序列号索引对应的消息,所述预定规则与所述数据文件中消息的排列规则一致,消息对应的消息索引记录在所述消息索引文件中的序号为消息序列号;
其中,所述消息索引文件还包括索引头,所述索引头包括参考时间戳,所述参考时间戳用于表征所述消息索引文件的创建时间,所述索引头和所述消息索引记录具有固定的字节长度值,以使得在数据查询时根据消息序列号的数值、以及单个消息索引记录的字节长度值便可以确定所述消息序列号对应的消息索引记录;
其中,在数据查询时,若所述索引头的字节长度值和所述消息索引记录的字节长度值相同,将给定的消息序列号的数值与所述单个消息索引记录的字节长度值相乘,根据计算获得的乘积确定所述给定的消息序列号对应的消息索引记录。
2.根据权利要求1所述的消息持久化方法,其特征在于,所述方法还包括:
在接收到读取给定消息序列号的消息的指令后根据所述消息索引文件索引并读取对应数据文件中对应的消息。
3.根据权利要求2所述的消息持久化方法,其特征在于,根据所述消息索引文件索引并读取对应数据文件中对应的消息包括:
根据所述消息序列号的数值和消息索引记录的字节长度值计算所述消息序列号对应的消息索引记录在消息索引文件中的偏移地址;
根据所计算的偏移地址查询获得所述消息序列号对应的消息索引记录;
根据所获得的消息索引记录在对应的数据文件中查询并读取对应的消息。
4.根据权利要求1所述的消息持久化方法,其特征在于,每个消息主题对应一个所述消息索引文件和至少一个所述数据文件。
5.根据权利要求1所述的消息持久化方法,其特征在于,所述方法还包括:
创建第一个数据文件,所述第一个数据文件在预先设定的时间点创建和/或在存储此消息主题的第一条消息时创建;
在所述数据文件大小达到预定的阈值时,创建新的数据文件。
6.根据权利要求1所述的消息持久化方法,其特征在于,在所述数据文件中所述消息的前缀信息和/或后缀信息用于隔离所存储的消息。
7.一种服务器,包括:
至少一个处理器;
存储器,用于存储所述处理器可执行的指令;
所述处理器被配置为执行如权利要求1-6中任一项所述的方法。
8.一种计算机可读存储介质,其上存储计算机程序指令,其特征在于,所述计算机程序指令在被处理器执行时实现如权利要求1-6任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中汇信息技术(上海)有限公司,未经中汇信息技术(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710960147.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:业务评估方法和系统
- 下一篇:电力市场风险管理系统及方法