[发明专利]内存队列持久化处理方法、装置、电子设备、介质及产品在审
申请号: | 202210590254.8 | 申请日: | 2022-05-26 |
公开(公告)号: | CN115048230A | 公开(公告)日: | 2022-09-13 |
发明(设计)人: | 霍辉东 | 申请(专利权)人: | 奇安信科技集团股份有限公司;奇安信安全技术(珠海)有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F12/02 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 孟省 |
地址: | 100088 北京市西城区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 队列 持久 处理 方法 装置 电子设备 介质 产品 | ||
1.一种内存队列持久化处理方法,其特征在于,包括:
在消息写入内存队列时,确定所述内存队列中的第一写块是否有剩余空间,所述内存队列包括多个写块;
如果没有,则分配第二写块,将所述消息的长度信息和所述消息写入第二写块,并将第一写块所存储的消息以及其位置指针索引进行磁盘映射。
2.根据权利要求1所述的内存队列持久化处理方法,其特征在于,所述方法还包括:
如果所述内存队列中的第一写块有剩余空间,则将所述消息的长度信息和所述消息写入第一写块,并根据所述消息的长度信息更新第一写块的位置指针索引,以使更新后的位置指针索引指向所述第一写块。
3.根据权利要求1所述的内存队列持久化处理方法,其特征在于,将所述消息的长度信息和所述消息写入第一写块,包括:
创建消息头,以记录所述消息的长度信息;
将所述消息头以及所述消息写入第一写块。
4.根据权利要求1所述的内存队列持久化处理方法,其特征在于,分配第二写块时,更新位置指针索引,以指向第二写块。
5.根据权利要求1所述的内存队列持久化处理方法,其特征在于,所述方法还包括:
从内存队列中读出消息时,确认写块的指针与读块的指针是否一致、写块的位置指针索引与读块的位置指针索引是否一致;
如果写块的指针与读块的指针是一致,且写块的位置指针索引与读块的位置指针索引一致,则表示无消息可读;
否则,根据消息的长度信息以及位置指针索引,读取消息。
6.根据权利要求1-5任一项所述的内存队列持久化处理方法,其特征在于,还包括:
创建线程;
根据第一写块、第二写块的位置指针索引信息,通过所述线程将第一写块所存储的消息、第二写块所存储的消息进行磁盘映射。
7.根据权利要求1-5任一项所述的内存队列持久化处理方法,其特征在于,还包括:
根据第一写块和/或第二写块的位置指针索引信息以及所述消息的长度信息确定所述第一写块所存储消息的数据量和/或第二写块所存储消息的数据量;
当所述第一写块所存储消息的数据量和/或第二写块所存储消息的数据量大于或等于预设的数据量阈值时,将所述第一写块所存储的消息和/或第二写块所存储的消息进行磁盘映射。
8.一种内存队列持久化处理装置,其特征在于,包括:
确定模块,用于在消息写入内存队列时,确定所述内存队列中的第一写块是否有剩余空间,所述内存队列包括多个写块;
映射模块,如果没有,则用于分配第二写块,将所述消息的长度信息和所述消息写入第二写块,并将第一写块所存储的消息以及其位置指针索引进行磁盘映射。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线,其中,
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至7中任一项所述内存队列持久化处理方法的步骤。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使计算机执行如权利要求1至7中任一项所述内存队列持久化处理方法的步骤。
11.一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,其特征在于,所述指令在被执行时用于执行如权利要求1至7中任一项所述内存队列持久化处理方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于奇安信科技集团股份有限公司;奇安信安全技术(珠海)有限公司,未经奇安信科技集团股份有限公司;奇安信安全技术(珠海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210590254.8/1.html,转载请声明来源钻瓜专利网。