链表管理方法、链表管理系统和链表管理结构技术方案

技术编号:36460938 阅读:8 留言:0更新日期:2023-01-25 23:00
本发明专利技术提供了一种链表管理方法、链表管理系统和链表管理结构,应用于链表管理结构,链表管理结构包括至少一个结点管理模块;方法包括:获取当前链表的操作信息和当前链表对应的每个结点管理模块;其中,操作信息包括查询结点、插入结点、删除结点、追加结点、创建新链表和删除链表;将操作信息发送至每个结点管理模块,以使每个结点管理模块同步确定需要执行的操作,并独立执行相应的操作。该方式中,采用硬件的方式记录每个结点的情况,使每个结点的行为相对独立同步的自行判断需要进行的操作,从而缩短链表管理周期,进而提升链表管理效率。进而提升链表管理效率。进而提升链表管理效率。

【技术实现步骤摘要】
链表管理方法、链表管理系统和链表管理结构


[0001]本专利技术涉及存储
,尤其是涉及一种链表管理方法、链表管理系统和链表管理结构。

技术介绍

[0002]如果需要查询某条链表的第N个结点,需要从链表开始位置,依次读取结点内容,并找到每个结点的下一个结点,直到找到需要的结点为止。当一个链表太长时,CPU(central processing unit,中央处理器)需要一个一个结点读取并判断,期间不断进行数据读取、地址跳转、数据判断等操作。删除结点、插入结点、追加结点等都需要进行类似的操作,而且这些操作都是基于软件进行,只能以串行的方式进行,需要占用CPU大量时间,效率较低。

技术实现思路

[0003]有鉴于此,本专利技术的目的在于提供一种链表管理方法、链表管理系统和链表管理结构,采用硬件的方式记录每个结点的情况,使每个结点的行为相对独立同步的自行判断需要进行的操作,从而缩短链表管理周期,进而提升链表管理效率。
[0004]第一方面,本专利技术实施例提供了一种链表管理方法,应用于链表管理结构,链表管理结构包括至少一个结点管理模块;方法包括:获取当前链表的操作信息和当前链表对应的每个结点管理模块;其中,操作信息包括查询结点、插入结点、删除结点、追加结点、创建新链表和删除链表;将操作信息发送至每个结点管理模块,以使每个结点管理模块同步确定需要执行的操作,并独立执行相应的操作。
[0005]进一步的,将操作信息发送至每个结点管理模块,以使每个结点管理模块同步确定需要执行的操作,并独立执行相应的操作的步骤,包括:当操作信息为查询结点时,获取第一目标结点的第一链表编号和第一结点编号;将第一链表编号和第一结点编号发送至每个结点管理模块,以通过结点管理模块判断结点管理模块的当前参数是否满足第一预设条件;如果结点管理模块满足第一预设条件,确定满足第一预设条件的结点管理模块为第一目标结点,并将第一目标结点输出独热编码信号发送至译码器,以使译码器将独热编码信号译码为顺序编码;获取满足第一目标结点的物理地址,并输出物理地址;其中,第一预设条件为结点管理模块的当前有效值为1,且结点管理模块的当前链表编号和当前结点编号分别与第一链表编号和第一结点编号相同。
[0006]进一步的,将操作信息发送至每个结点管理模块,以使每个结点管理模块同步确定需要执行的操作,并独立执行相应的操作的步骤,还包括:当操作信息为插入结点时,获取待插入结点的第二链表编号、第二物理地址和第二结点编号;将第二链表编号和第二结点编号发送至每个结点管理模块,以通过结点管理模块判断结点管理模块的当前参数是否满足第二预设条件;其中,第二预设条件为结点管理模块的当前有效值为1,且当前链表编号与第二链表编号相同,且当前结点编号大于或等于第二结点编号;如果当前参数满足第
二预设条件,将结点管理模块的当前结点编号加1;基于有效选择模块,获取所有结点管理模块的第二有效值和结点管理模块编号,确定第二有效值为0且结点管理模块编号最小的结点管理模块为插入结点管理模块;其中,有效选择模块设置在链表管理结构上;将插入结点管理模块的第二有效值确定为1、链表编号确定为第二链表编号、物理结点地址确定为第二物理地址和结点编号确定为第二结点编号。
[0007]进一步的,将操作信息发送至每个结点管理模块,以使每个结点管理模块同步确定需要执行的操作,并独立执行相应的操作的步骤,还包括:当操作信息为删除结点时,获取待删除结点的第三链表编号和第三结点编号;将第三链表编号和第三结点编号发送至每个结点管理模块,以通过结点管理模块判断结点管理模块的当前参数是否满足第三预设条件或第四预设条件;其中,第三预设条件为结点管理模块的当前有效值是否为1,且当前链表编号和当前结点编号分别与第三链表编号和第三结点编号相同;第四预设条件为结点管理模块的当前有效值是否为1,且当前链表编号与第三链表编号相同,且当前结点编号大于第三结点编号;当当前参数满足第三预设条件时,确定结点管理模块为待删除结点,将待删除结点对应的当前有效值修改为0;当当前参数满足第四预设条件时,将结点管理模块的当前结点编号减1。
[0008]进一步的,将操作信息发送至每个结点管理模块,以使每个结点管理模块同步确定需要执行的操作,并独立执行相应的操作的步骤,还包括:当操作信息为追加结点时,获取待追加结点的第四链表编号;基于链表长度记录模块,获取链表编号为第四链表编号的第四链表的链表长度;其中,链表长度记录模块设置在链表管理结构上;基于有效选择模块,获取所有结点管理模块的第四有效值和结点管理模块编号,确定第四有效值为0且结点管理模块编号最小的结点管理模块为追加结点管理模块;其中,有效选择模块设置在链表管理结构上;将追加结点管理模块的第四有效值确定为1、链表编号确定为第四链表编号、物理结点地址确定为第四物理地址和第四结点编号确定为链表长度加1。
[0009]进一步的,链表管理结构还包括与结点管理模块相连的链表编号管理模块和有效选择模块;将操作信息发送至每个结点管理模块,以使每个结点管理模块同步确定需要执行的操作,并独立执行相应的操作的步骤,还包括:当操作信息为创建新链表时,获取待创建链表中待创建结点的第五结点编号和第五物理地址;基于链表编号管理模块,获取还未被使用的链表编号为待创建链表的第五链表编号;基于有效选择模块,获取所有结点管理模块的第五有效值和结点管理模块编号,确定第五有效值为0且结点管理模块编号最小的结点管理模块为待创建结点管理模块;将待创建结点管理模块的第五有效值确定为1、链表编号确定为第五链表编号、物理结点地址确定为第五物理地址和结点编号确定为第五结点编号。
[0010]进一步的,链表管理结构还包括与结点管理模块相连的链表编号管理模块和有效选择模块;将操作信息发送至每个结点管理模块,以使每个结点管理模块同步确定需要执行的操作,并独立执行相应的操作的步骤,还包括:当操作信息为删除链表时,获取待删除链表的第六链表编号;将第六链表编号发送至每个结点管理模块,以通过结点管理模块判断其是否满足第五预设条件;如果结点管理模块满足第五预设条件,确定满足第五预设条件的结点管理模块为待删除结点管理模块,并将待删除结点管理模块的第五有效值修改为0;其中,第五预设条件包括当前有效值为1,且当前链表编号与第六链表编号相同。
[0011]第二方面,本专利技术实施例提供了一种链表管理系统,应用于链表管理结构,链表管理结构包括至少一个结点管理模块;系统包括:信息获取模块,用于获取当前链表的操作信息和当前链表对应的每个结点管理模块;其中,操作信息包括查询结点、插入结点、删除结点、追加结点、创建新链表和删除链表;操作执行模块,用于将操作信息发送至每个结点管理模块,以使每个结点管理模块同步确定需要执行的操作,并独立执行相应的操作。
[0012]第三方面,本专利技术实施例提供了一种链表管理结构,应用于CPU,包括:至少一个结点管理模块和与结点管理模块分别相连的链表编号管理模块、选择模块、译码器和链表长度记录模块;每个结点管理模块之间相互独立;选择模块,用于本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种链表管理方法,其特征在于,应用于链表管理结构,所述链表管理结构包括至少一个结点管理模块;所述方法包括:获取当前链表的操作信息和所述当前链表对应的每个所述结点管理模块;其中,所述操作信息包括查询结点、插入结点、删除结点、追加结点、创建新链表和删除链表;将所述操作信息发送至每个所述结点管理模块,以使每个所述结点管理模块同步确定需要执行的操作,并独立执行相应的操作。2.根据权利要求1所述的链表管理方法,其特征在于,所述将所述操作信息发送至每个所述结点管理模块,以使每个所述结点管理模块同步确定需要执行的操作,并独立执行相应的操作的步骤,包括:当所述操作信息为查询结点时,获取第一目标结点的第一链表编号和第一结点编号;将所述第一链表编号和所述第一结点编号发送至每个所述结点管理模块,以通过所述结点管理模块判断所述结点管理模块的当前参数是否满足第一预设条件;如果所述结点管理模块满足所述第一预设条件,确定满足所述第一预设条件的所述结点管理模块为所述第一目标结点,并将所述第一目标结点输出独热编码信号发送至译码器,以使所述译码器将所述独热编码信号译码为顺序编码;获取满足所述第一目标结点的物理地址,并输出所述物理地址;其中,所述第一预设条件为所述结点管理模块的当前有效值为1,且所述结点管理模块的当前链表编号和当前结点编号分别与所述第一链表编号和所述第一结点编号相同。3.根据权利要求1所述的链表管理方法,其特征在于,所述将所述操作信息发送至每个所述结点管理模块,以使每个所述结点管理模块同步确定需要执行的操作,并独立执行相应的操作的步骤,还包括:当所述操作信息为插入结点时,获取待插入结点的第二链表编号、第二物理地址和第二结点编号;将所述第二链表编号和所述第二结点编号发送至每个所述结点管理模块,以通过所述结点管理模块判断所述结点管理模块的当前参数是否满足第二预设条件;其中,所述第二预设条件为所述结点管理模块的当前有效值为1,且当前链表编号与所述第二链表编号相同,且当前结点编号大于或等于所述第二结点编号;如果所述当前参数满足所述第二预设条件,将所述结点管理模块的所述当前结点编号加1;基于有效选择模块,获取所有所述结点管理模块的第二有效值和结点管理模块编号,确定所述第二有效值为0且所述结点管理模块编号最小的所述结点管理模块为插入结点管理模块;其中,所述有效选择模块设置在所述链表管理结构上;将所述插入结点管理模块的所述第二有效值确定为1、链表编号确定为第二链表编号、物理结点地址确定为第二物理地址和结点编号确定为第二结点编号。4.根据权利要求1所述的链表管理方法,其特征在于,所述将所述操作信息发送至每个所述结点管理模块,以使每个所述结点管理模块同步确定需要执行的操作,并独立执行相应的操作的步骤,还包括:当所述操作信息为删除结点时,获取待删除结点的第三链表编号和第三结点编号;将所述第三链表编号和所述第三结点编号发送至每个所述结点管理模块,以通过所述
结点管理模块判断所述结点管理模块的当前参数是否满足第三预设条件或第四预设条件;其中,所述第三预设条件为所述结点管理模块的当前有效值是否为1,且当前链表编号和当前结点编号分别与所述第三链表编号和所述第三结点编号相同;所述第四预设条件为所述结点管理模块的当前有效值是否为1,且当前链表编号与所述第三链表编号相同,且当前结点编号大于所述第三结点编号;当所述当前参数满足所述第三预设条件时,确定所述结点管理模块为待删除结点,将所述待删除结点对应的当前有效值修改为0;当所述当前参数满足所述第四预设条件时,将所述结点管理模块的当前结点编号减1。5.根据权利要求1所述的链表管理方法,其特征在于,所述将所述操作信息发送至每个所述结点管理模块,以使每个所述结点管理模块同步确定需要执行的操作,并独立执行相应的操作的步骤,还包括:当所述操作信息为追加结点时,获取待追加结点的第四链表编号;基于链表长度记录模块,获取链表编号为所述第四链表编号的第四链表的链表长度;其中,所述链表长度记录模块设置在链表管理结构上;基于有效选择模块,获取所有所述结点管理模块的第...

【专利技术属性】
技术研发人员:周强叶云杰王斐
申请(专利权)人:深圳市德明利技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1