[发明专利]一种基于索引队列的内存管理方法以及嵌入式设备在审
申请号: | 201910966192.4 | 申请日: | 2019-10-12 |
公开(公告)号: | CN110727514A | 公开(公告)日: | 2020-01-24 |
发明(设计)人: | 李颖;张磊 | 申请(专利权)人: | 北京无线电测量研究所 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 11212 北京轻创知识产权代理有限公司 | 代理人: | 吴佳 |
地址: | 100854 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 索引队列 内存管理 索引项 数据项 嵌入式设备 过程安全 数据数组 双向链表 随机访问 索引数组 指针操作 迭代器 创建 队列 泄漏 监视 全局 访问 管理 | ||
本发明公开了一种基于索引队列的内存管理方法以及嵌入式设备,所述内存管理方法包括:在内存中创建多个索引项组成的索引队列,所述索引队列在索引数组内,创建多个数据项组成数据数组,并采用所述索引项访问所述数据项。通过由索引项组成的索引队列对内存进行管理,使得内存管理过程安全、不泄漏,相对于双向链表,索引队列不涉及指针操作,采用以上方案可以监视队列长度和首末项,并支持迭代器、随机访问和全局掌控。
技术领域
本发明涉及计算机领域,特别是指一种基于索引队列的内存管理方法以及嵌入式设备。
背景技术
在现有的嵌入式内存管理方法中,静态数组与双向链表是嵌入式操作系统中常见的两种内存管理方法。静态数组内存管理支持随机访问、顺序访问,插入、删除不方便,节点移动大量复制;双向链表内存管理不支持随机访问,插入、删除方便,节点移动不需要复制。这两种方法在处理大量数据在多个如插入、删除和移动等处理过程间来回处理的情况下存在效率较低的问题。
发明内容
本发明所要解决的技术问题是现有技术采用静态数组与双向链表,在处理大量数据在多个如插入、删除和移动等处理过程间来回处理的情况下存在效率较低的问题,有鉴于此,本发明提供一种基于索引队列的内存管理方法以及嵌入式设备。
本发明提供一种基于索引队列的内存管理方法:在内存中创建多个索引项组成的索引队列,所述索引队列在索引数组内,创建多个数据项组成数据数组;所述索引项与所述数据项的数量一致,且具有一一对应关系;采用所述索引项访问所述数据项。
数据项仅用于数据读写;索引项用于维护数据之间的集合关系,索引项在索引队列中的先后顺序表示数据之间的有序关系。
所述索引项包括:指向对应的所述数据项所在的数组下标;指向所述索引项相邻的上一个索引项的数组下标;指向所述索引项相邻的下一个索引项的数组下标;所在索引队列的属性。
优选的,所述创建之后,还包括以下初始化操作:建立所述索引数组和数据数组,建立所述索引项和所述数据项之间的一一对应关系;填写所述索引项的队列属性,生成所述空闲的索引队列。
优选的,所述访问过程之后,还包括:通过对所述索引项执行插入、删除和移动,调整相应的所述数据项。
优选的,所述插入操作,包括:找到一个待插入索引项,在对应的数据项写入数据内容,所述索引项来自所述索引队列;填写该索引项指向的数组下标和归属的索引队列属性,并建立所述索引项与相邻索引项的相互指向。
优选的,所述删除操作,包括:清除待删除索引项对应的待删除数据项的内容,并清除待删除索引项中指向相邻非待删除索引项的数组下标,填写待删除索引项的队列属性为空闲队列;修改待删除索引项的相邻非待删除索引项中,指向所述待删除索引项的数组下标,并建立所述相邻非待删除索引项的相互指向。
优选的,所述数据项的数量为一个时,所述移动操作,包括:修改待移动数据项对应的待移动索引项中指向移动前的相邻索引项的数组下标,建立所述待移动索引项和移动后的相邻索引项之间的相互指向,并同时修改所述待移动索引项的索引队列属性;修改待移动索引项的移动前的相邻索引项中,指向所述待移动索引项的数组下标,并建立所述移动前的相邻索引项的相互指向。
所述数据项的数量为多个时,所述移动操作,包括:将待移动的数据项组的首数据项对应的第一索引项,删除所述第一索引项中指向移动前相邻的上一个索引项的数组下标,并建立所述第一索引项与移动后相邻的上一个索引项的相互指向;将待移动的数据项组的尾数据项对应的第二索引项,删除所述第二索引项中指向移动前相邻的下一个索引项的数组下标,并建立所述第二索引项与移动后相邻的下一个索引项的相互指向;同时修改所述待移动索引项组中所有索引项的索引队列属性;修改待移动的所述索引项组的所述首数据项、和所述尾数据项的所述上一个索引项的数组下标和所述下一个索引项的数组下标,并建立所述移动前相邻索引项的相互指向。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京无线电测量研究所,未经北京无线电测量研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910966192.4/2.html,转载请声明来源钻瓜专利网。