[发明专利]一种单向链表中断的修复方法和装置有效
申请号: | 201711440304.X | 申请日: | 2017-12-27 |
公开(公告)号: | CN108052411B | 公开(公告)日: | 2020-12-29 |
发明(设计)人: | 杜剑锋 | 申请(专利权)人: | 杭州迪普科技股份有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
地址: | 310051 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 单向 中断 修复 方法 装置 | ||
本申请提供一种单向链表中断的修复方法和装置,应用于存储设备,所述方法包括:当单向链表中任一目标节点中的指针丢失或错误时,判断所述目标节点在逻辑上所属的目标链表;在所述目标节点以及所述目标链表中所述目标节点之前的各节点、所述目标链表中的尾节点、在逻辑上所述单向链表中除所述目标链表以外的另一链表中的各节点中携带用于标识节点已被找到的标记;当基于预设的查询方式在所述目标链表中查找到所述目标节点的后一个节点后,在所述目标节点中修复指向所述目标节点的后一个节点的指针。采用本申请的技术方法,可以提高单向链表的可靠性。
技术领域
本申请涉及数据存储技术领域,特别涉及一种单向链表中断的修复方法和装置。
背景技术
单向链表,是一种基础的数据结构,由若干个节点组成,每一个节点由数据域和指针域两部分组成。其中,数据域用于存储数据,指针域用于存储下一个节点的指针。
请参见图1,图1为单向链表的一种示意图。在物理结构上,单向链表的各节点呈连续存储状态,在逻辑上,单向链表的各节点基于指针确定各节点的访问顺序。当由于硬件或者软件问题导致某一节点的指针域中的指针被破坏时,存储设备将无法访问到该节点后的各节点中的数据,导致单向链表的中断。
例如,图1中,当节点2中的指针被破坏时,存储设备将无法访问到节点3和节点Use_tail。
现有技术中,为了解决单向链表的中断问题,提出了一种双向链表。请参见图2,图2为现有技术中提出的一种双向链表的示意图。双向链表中各节点包括一个数据域和两个指针域,数据域用于存储数据,一个指针域用于存储下一个节点的指针,另一个指针域用于存储上一个节点的指针。同样地,在物理结构上,双向链表的各节点呈连续状态,在逻辑上,双向链表的各节点基于指针确定各节点的访问顺序。其中,双向链表中存在正向访问和反向访问。正向访问为从链表的头节点开始,基于各节点中指向下一个节点的指针进行访问,直到链表的尾节点为止。反向访问为从链表的尾节点开始,基于各节点中指向上一个节点的指针的顺序进行访问,直到链表的头结点为止。
当存储设备基于某一方向访问双向链表的各节点时,如果双向链表发生中断,那么存储设备可以基于另一个方向访问双向链表的各节点,从而可以保证在某一访问方向发生链表中断的情况下,通过另一访问方向仍然可以访问到双向链表中的各节点,以此来提高双向链表的可靠性。
在现有技术中,不管是单向链表还是双向链表都支持节点的增加和删除操作。由于双向链表中的节点比单向链表中的节点多一个保存指向前一个节点的指针,因此,双向链表比单向链表多消耗内存,同时,在双向链表中增加或者删除节点所消耗的时间比在单向链表中增加或者删除节点所消耗的时间更多。
在对处理性能要求比较高的设备中,双向链表不适合作为这类设备的数据存储结构。
发明内容
有鉴于此,本申请提供一种单向链表中断的修复方法和装置,应用于存储设备,用于提高单向链表的可靠性。
具体地,本申请是通过如下技术方案实现的:
一种单向链表中断的修复方法,应用于存储设备,在逻辑上,所述单向链表分为使用链表和空闲链表,在物理上,所述单向链表中各节点连续存储,包括:
当单向链表中任一目标节点中的指针丢失或错误时,判断所述目标节点在逻辑上所属的目标链表;
在所述目标节点以及所述目标链表中所述目标节点之前的各节点、所述目标链表中的尾节点、在逻辑上所述单向链表中除所述目标链表以外的另一链表中的各节点中携带用于标识节点已被找到的标记;
当基于预设的查询方式在所述目标链表中查找到所述目标节点的后一个节点后,在所述目标节点中修复指向所述目标节点的后一个节点的指针;其中,所述目标节点的后一个节点为基于所述查询方式查找到的最后一次遍历所述目标链表时的起始节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州迪普科技股份有限公司,未经杭州迪普科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711440304.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种治疗脚癣的药物
- 下一篇:纵向“U”型磁链的电磁加永磁组合式磁力吸盘