The embodiment of the present invention discloses a message storage method, device, device and storage medium. The method includes: obtaining the message to be stored; storing the message to be stored in the message log file; extracting the offset address of the message corresponding to the maximum self-increasing message sequence value from the checkpoint file in the message log file; obtaining the self-increasing message sequence value of the message corresponding to the offset address according to the offset address; comparing the value of the self-increasing message sequence obtained with the message to be stored. Increase the value of message sequence; generate the message index information corresponding to the message to be stored according to the comparison results; store the message index information in the message index file. The message storage method, device, device and storage medium according to the embodiment of the present invention can improve the performance of the message storage system, reduce the maintenance difficulty of the message storage system and improve the processing efficiency of the message storage system.
【技术实现步骤摘要】
消息存储方法、装置、设备及存储介质
本专利技术涉及数据存储
,尤其涉及一种消息存储方法、装置、设备及存储介质。
技术介绍
消息系统一般包含三个角色:消息发送者、消息接收者和消息队列。其中,消息发送者生产并发送消息至消息队列,消息队列存储消息并建立消息索引,消息接收者接收消息。消息队列作为在消息的传输过程中保存消息的容器,在整个消息系统中占据核心地位,消息队列的设计直接关系到整个消息系统的性能。当前主流的消息存储系统中,消息的存储一般基于关系型数据库和文件系统。基于关系型数据库的消息存储系统,消息会被直接存储在对应的表中,对消息的读写操作,需要通过对表的操作来完成;基于文件系统的消息存储系统,一般会有日志文件和索引文件组成,消息存储在日志文件中,通过索引文件对消息进行索引。基于关系型数据库存储的消息,受限于关系型数据库本身的能力,一般性能都比较差,应用数据修改可能会触发数据库数据结构修改,带来共享数据的应用改造,增加维护集成难度。基于文件系统存储的消息,一般存储和索引结构设计复杂,维护难度较高。
技术实现思路
本专利技术实施例提供一种消息存储方法、装置、设备及存储 ...
【技术保护点】
1.一种消息存储方法,其特征在于,所述方法包括:获得待存储消息;将所述待存储消息存储在消息日志文件中;从检查点文件中提取最大自增消息序列值对应的消息在消息日志文件中的偏移地址;根据所述偏移地址,获取所述偏移地址对应的消息的自增消息序列值;比较获得的自增消息序列值与所述待存储消息对应的自增消息序列值;根据比较结果,生成所述待存储消息对应的消息索引信息;将所述消息索引信息存储在消息索引文件中。
【技术特征摘要】
1.一种消息存储方法,其特征在于,所述方法包括:获得待存储消息;将所述待存储消息存储在消息日志文件中;从检查点文件中提取最大自增消息序列值对应的消息在消息日志文件中的偏移地址;根据所述偏移地址,获取所述偏移地址对应的消息的自增消息序列值;比较获得的自增消息序列值与所述待存储消息对应的自增消息序列值;根据比较结果,生成所述待存储消息对应的消息索引信息;将所述消息索引信息存储在消息索引文件中。2.根据权利要求1所述的方法,其特征在于,所述根据比较结果,生成所述待存储消息对应的消息索引信息,包括:若所述获得的自增消息序列值小于所述待存储消息对应的自增消息序列值,根据所述待存储消息对应的自增消息序列值、所述待存储消息在所述消息日志文件中的偏移地址、所述待存储消息占用的字节数与所述待存储消息对应的校验和占用的字节数之和,生成所述待存储消息对应的消息索引信息。3.权利要求2所述的方法,其特征在于,所述方法还包括:将所述检查点文件中存储的最大自增消息序列值对应的消息在消息日志文件中的偏移地址,修改为所述待存储消息在所述消息日志文件中的偏移地址。4.根据权利要求1所述的方法,其特征在于,所述根据比较结果,生成所述待存储消息对应的消息索引信息,包括:若所述获得的自增消息序列值不小于所述待存储消息对应的自增消息序列值,将所述待存储消息对应的自增消息序列值修改为用于表示消息为重复消息的标识信息,根据所述标识信息、所述待存储消息在所述消息日志文件中的偏移地址、所述待存储消息占用的字节数与所述待存储消息对应的校验和占用的字节数之和,生成所述待存储消息对应的消息索引信息。5.根据权利要求1所述的方法,其特征在于,消息日志文件的文件大小为M字节,消息索引文件的文件大小为N字节,消息索引文件中每条消息索引信息占用的字节数相同。6.根据权利要求1所述的方法,其特征在于,消息日志文件的文件名称为消息日志文件的起始偏移量;消息索引文件的文件名称为消息索引文件的起始偏移量。7.一种消息存储装置,其特征在于,所述装置包括:第一获取模块,用于获取待存储消息;第一存储模块,用于将所述待存储消息存储在消息日志文件中...
【专利技术属性】
技术研发人员:徐朋朋,
申请(专利权)人:中国移动通信集团江苏有限公司,中国移动通信集团有限公司,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。