[发明专利]一种将队列读写管理整合的软件实现方法有效
申请号: | 202110517809.1 | 申请日: | 2021-05-12 |
公开(公告)号: | CN113190353B | 公开(公告)日: | 2023-07-18 |
发明(设计)人: | 朱晓李;葛长恩 | 申请(专利权)人: | 北京睿芯高通量科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京科龙寰宇知识产权代理有限责任公司 11139 | 代理人: | 孙皓晨 |
地址: | 102600 北京市大兴区北京经济技*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 队列 读写 管理 整合 软件 实现 方法 | ||
本发明公开一种将队列读写管理整合的软件实现方法,其包括:封装一个统一调用接口,统一调用接口的函数包括创建函数、读取函数、写入函数、销毁函数和获取信息函数;任一业务第一次调用创建函数时,创建一个对应的句柄作为该业务的总入口,并根据需求创建对应业务的内存队列,内存队列中包含多个内存节点,所有内存节点均由一链表统一管理;当任一使用者使用内存时,先调用创建函数,然后通过使用者所在业务的对应句柄查找其所要使用的内存节点的节点名称,如果节点存在,则按照节点类型对应的方式使用对应内存节点,并将使用者的用户信息记录到链表中,否则,根据使用者的需求创建新的内存节点。
技术领域
本发明涉及计算机内存管理技术领域,具体而言,涉及一种将队列读写管理整合的软件实现方法。
背景技术
在数据结构中,队列是一种常见的内存管理方法,其包括顺序队列、链式队列、循环队列、双向队列等,每种队列都有各自的逻辑实现方法。在数据处理时若需要用到某种队列,则需要在代码中嵌入对应队列的管理逻辑,这套逻辑可认为是通用逻辑。若多个模块均用到某种队列时,则需要将一套队列逻辑在各个模块重复使用,每次使用都需要独立实现,从而导致重复开发,造成代码冗余。
以环形队列为例,可以将一个固定长度的数组在逻辑上想象成一个环形,队头元素的位置和队尾元素的位置都不是固定的,会随着出队、入队动态改变。如图1所示,可以将队头元素(front变量)和队尾元素(rear变量)看做是两个追逐的点,围着一个圆圈互相追赶,只要他们在追赶过程中没有相遇,队列就不是满的;若队头元素和队尾元素相遇了,则队列可能为满也可能为空。按此逻辑每个数组空间都能不断得到利用。但这个逻辑在使用时需要独立的代码实现,并且不同的实现间可能有微小差别,无法直接彼此替代,因而导致后期要维护的版本较多,增加维护成本。
发明内容
为了解决上述问题,本发明提供一种将队列读写管理整合的软件实现方法,通过将各种队列操作整合到一个模块,对外提供统一接口,用以实现其他模块仅需调用接口即可实现队列的读写管理,集合度高、开发方便,避免了重复冗余的代码,提高开发效率。
为达到上述目的,本发明提供了一种将队列读写管理整合的软件实现方法,其将多种队列操作整合到一个模块中,包括以下步骤:
步骤1:封装一个统一调用接口,用于内存空间的开辟和管理,其中,所述统一调用接口的函数包括创建函数、读取函数、写入函数、销毁函数和获取信息函数;
步骤2:任一业务第一次调用创建函数时,创建一个对应的句柄作为该业务的总入口,并根据需求创建对应业务的内存队列,所述内存队列中包含多个内存节点,所有内存节点均由一链表统一管理,其中,每个内存节点包含节点名称信息;
步骤3:当任一使用者使用内存时,先调用创建函数,然后通过使用者所在业务的对应句柄查找其所要使用的内存节点的节点名称,
如果所要使用的内存节点存在,则按照节点类型对应的方式使用对应内存节点,并将使用者的用户信息记录到链表中;
如果所要使用的内存节点不存在,则根据使用者的需求创建新的内存节点。
在本发明一实施例中,其中,步骤2中任一业务的对应句柄在创建好后,读取函数、写入函数、销毁函数和获取信息函数均以这个句柄作为入参。
在本发明一实施例中,其中,步骤2中的链表将链表头和多个内存节点作为链表的管理对象进行管理。
在本发明一实施例中,其中,步骤2中的所述句柄包括链表信息和内存属性记录信息,其中:
所述内存属性记录信息包括节点类型、任一内存节点的使用情况和使用者的用户信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京睿芯高通量科技有限公司,未经北京睿芯高通量科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110517809.1/2.html,转载请声明来源钻瓜专利网。