双向链表的存储方法、装置、终端设备及存储介质与流程

文档序号:33477353发布日期:2023-03-15 10:47阅读:29来源:国知局
双向链表的存储方法、装置、终端设备及存储介质与流程

1.本发明涉及链表存储技术领域,尤其涉及双向链表的存储方法、装置、终端设备及存储介质。


背景技术:

2.对于数据的存储而言,多数情况下都采用数据库进行存储,数据库有着统一的存储方案和检索方案。然而,数据库的数据存储形式仍存在以下问题:对于复杂的数据结构,使用数据库存储时并不方便;在数据量较大且数据结构复杂时,检索的性能不够理想;对于微型计算机等难以部署数据库的环境,无法使用该数据库的存储方案。如双向链表的存储,需要在数据库已有的存储模式上再进行设计,当无法使用数据库或不方便使用数据库存储时,双向链表的存储存在困难。
3.因此,如何便捷地存储双向链表是当前亟待解决的问题。


技术实现要素:

4.本技术的主要目的在于提供双向链表的存储方法、装置、终端设备及存储介质,旨在解决如何便捷地存储双向链表是当前亟待解决的问题。
5.为实现上述目的,本技术提供双向链表的存储方法,应用于链表存储技术领域,所述双向链表的存储方法包括以下步骤:接收节点的存储指令、节点的存储信息,所述节点的存储指令包括第一类节点的存储指令和第二类节点的存储指令;根据所述存储指令,确定存储模式;根据所述存储模式、所述节点的存储信息,存储所述节点到对应的目标文件;修改所述目标文件中的存储描述信息。
6.可选的,所述根据所述存储指令,确定存储模式的步骤包括:当所述节点的存储指令为第一类节点的存储指令时,确定所述节点的存储模式为第一类节点存储模式;当所述节点的存储指令为第二类节点的存储指令时,确定所述节点的存储模式为第二类节点存储模式。
7.可选的,所述根据所述存储模式、所述节点的存储信息,存储所述节点到对应的目标文件的步骤包括:当所述存储模式为第一类节点存储模式时,根据所述节点的存储信息,确定所述目标文件;根据所述目标文件的偏移位的值,确定所述节点的存储位置,存储所述节点。
8.可选的,所述第二类节点是所述第一类节点的附属节点,所述根据所述存储模式、所述节点的存储信息,存储所述节点到对应的目标文件的步骤还包括:当所述存储模式为第二类节点存储模式时,根据所述节点的存储信息中附属的第
一类节点,确定所述目标文件;根据所述目标文件中所述附属的第一类节点的偏移位,确定所述节点的存储位置,存储所述节点。
9.可选的,所述当所述存储模式为第一类节点存储模式时,根据所述节点的存储信息,确定所述目标文件的步骤之后还包括:遍历所述目标文件的第一类节点;若遍历到与所述节点相同的第一类节点,则停止存储。
10.可选的,所述当所述存储模式为第二类节点存储模式时,根据所述节点的存储信息中附属的第一类节点,确定所述目标文件的步骤之后还包括:根据所述节点的存储信息中附属的第一类节点,遍历所述节点的附属节点;若遍历到所述附属的第一类节点的对应子节点与所述节点相同,则停止存储。
11.可选的,所述存储描述信息至少包括第一类节点个数、第二类节点个数、目标文件的偏移位、第一类节点的偏移位,链表末尾位,所述修改所述目标文件中的存储描述信息的步骤包括:当所述节点是第一类节点时,修改所述第一类节点个数、所述目标文件的偏移位、所述链表末尾位;当所述节点是第二类节点时,修改所述第二类节点个数,所述节点附属的第一类节点的偏移位、所述链表末尾位。
12.本技术实施案例还提出一种双向链表的存储装置,所述双向链表的存储装置包括:获取模块,用于接收节点的存储指令、节点的存储信息,所述节点的存储指令包括第一类节点的存储指令和第二类节点的存储指令;判定模块,用于根据所述存储指令,确定存储模式;存储模块,用于根据所述存储模式、所述节点的存储信息,存储所述节点到对应的目标文件;修改模块,用于修改所述目标文件中的存储描述信息。
13.本技术实施案例还提出一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的双向链表的存储程序,所述双向链表的存储程序被所述处理器执行时实现所述双向链表的存储方法的步骤。
14.本技术实施案例还提出一种存储介质,所述存储介质上存储有双向链表的存储程序,所述双向链表的存储程序被处理器执行时实现所述双向链表的存储方法的步骤。
15.本技术提出的双向链表的存储方法、装置、终端设备及存储介质。通过接收节点的存储指令、节点的存储信息,所述节点的存储指令包括第一类节点的存储指令和第二类节点的存储指令;根据所述存储指令,确定存储模式;根据所述存储模式、所述节点的存储信息,存储所述节点到对应的目标文件;修改所述目标文件中的存储描述信息。基于本技术,实现了将双向链表的节点存储到目标文件中的目的,达到了便捷地存储双向链表的效果。
附图说明
图1为本技术双向链表的存储装置所属终端设备的功能模块示意图;
图2为本技术双向链表的存储方法第一示例性实施例的流程示意图;图3为本技术双向链表的存储方法涉及的双向链表的结构示意图;图4为本技术双向链表的存储方法第二示例性实施例的流程示意图;图5为本技术双向链表的存储方法涉及的第一类节点存储结构;图6为本技术双向链表的存储方法第三示例性实施例的流程示意图;图7为本技术双向链表的存储方法第四示例性实施例的流程示意图;图8为本技术双向链表的存储方法第五示例性实施例的流程示意图;图9为本技术双向链表的存储方法第六示例性实施例的流程示意图。
16.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
17.应当理解,此处所描述的具体实施案例仅仅用以解释本技术,并不用于限定本技术。
18.本技术实施例的主要解决方案是通过接收节点的存储指令、节点的存储信息,所述节点的存储指令包括第一类节点的存储指令和第二类节点的存储指令;根据所述存储指令,确定存储模式;根据所述存储模式、所述节点的存储信息,存储所述节点到对应的目标文件;修改所述目标文件中的存储描述信息。基于本技术,实现了将双向链表的节点存储到目标文件中的目的,达到了便捷地存储双向链表的效果。具体地,参照图1,图1为本技术双向链表的存储装置所属终端设备的功能模块示意图。该双向链表的存储装置为基于终端设备的、能够便捷地将双向链表存储到目标文件中的装置,其可以通过硬件或软件的形式承载于终端设备上。
19.在本实施例中,该双向链表的存储装置所属终端设备至少包括输出模块110、处理器120、存储器130以及通信模块140。
20.存储器130中存储有操作系统以及双向链表的存储程序,所述双向链表的存储装置可以将接收节点的存储指令、节点的存储信息,所述节点的存储指令包括第一类节点的存储指令和第二类节点的存储指令;根据所述存储指令,确定存储模式;根据所述存储模式、所述节点的存储信息,存储所述节点到对应的目标文件;修改所述目标文件中的存储描述信息等信息存储于该存储器130中;输出模块110可为显示屏等。通信模块140可以包括wifi模块、移动通信模块以及蓝牙模块等,通过通信模块140与外部设备或服务器进行通信。
21.其中,存储器130中的双向链表的存储程序,所述双向链表的存储程序被处理器执行时实现以下步骤:接收节点的存储指令、节点的存储信息,所述节点的存储指令包括第一类节点的存储指令和第二类节点的存储指令;根据所述存储指令,确定存储模式;根据所述存储模式、所述节点的存储信息,存储所述节点到对应的目标文件;修改所述目标文件中的存储描述信息。
22.进一步地,存储器130中的双向链表的存储程序被处理器执行时还实现以下步骤:当所述节点的存储指令为第一类节点的存储指令时,确定所述节点的存储模式为
第一类节点存储模式;当所述节点的存储指令为第二类节点的存储指令时,确定所述节点的存储模式为第二类节点存储模式。
23.进一步地,存储器130中的双向链表的存储程序被处理器执行时还实现以下步骤:当所述存储模式为第一类节点存储模式时,根据所述节点的存储信息,确定所述目标文件;根据所述目标文件的偏移位的值,确定所述节点的存储位置,存储所述节点。
24.进一步地,所述第二类节点是所述第一类节点的附属节点,存储器130中的双向链表的存储程序被处理器执行时还实现以下步骤:当所述存储模式为第二类节点存储模式时,根据所述节点的存储信息中附属的第一类节点,确定所述目标文件;根据所述目标文件中所述附属的第一类节点的偏移位,确定所述节点的存储位置,存储所述节点。
25.进一步地,存储器130中的双向链表的存储程序被处理器执行时还实现以下步骤:遍历所述目标文件的第一类节点;若遍历到与所述节点相同的第一类节点,则停止存储。
26.进一步地,存储器130中的双向链表的存储程序被处理器执行时还实现以下步骤:根据所述节点的存储信息中附属的第一类节点,遍历所述节点的附属节点;若遍历到所述附属的第一类节点的对应子节点与所述节点相同,则停止存储。
27.进一步地,所述存储描述信息至少包括第一类节点个数、第二类节点个数、目标文件的偏移位、第一类节点的偏移位,链表末尾位,存储器130中的双向链表的存储程序被处理器执行时还实现以下步骤:当所述节点是第一类节点时,修改所述第一类节点个数、所述目标文件的偏移位、所述链表末尾位;当所述节点是第二类节点时,修改所述第二类节点个数,所述节点附属的第一类节点的偏移位、所述链表末尾位。
28.基于上述终端设备架构但不限于上述架构,提出本技术方法实施例。
29.参照图2,图3,图2为双向链表的存储方法第一示例性实施例的流程示意图,图3为本技术双向链表的结构示意图,所述双向链表的存储方法包括:步骤s110,接收节点的存储指令、节点的存储信息,所述节点的存储指令包括第一类节点的存储指令和第二类节点的存储指令;具体地,节点的存储指令会指定存储节点的类型,具体包括第一类节点的存储指令和第二类节点的存储指令;节点的存储信息包括了节点存储的内容。
30.步骤s120,根据所述存储指令,确定存储模式;具体地,当所述节点的存储指令为第一类节点的存储指令时,确定所述节点的存储模式为第一类节点存储模式;当所述节点的存储指令为第二类节点的存储指令时,确定所述节点的存储模式为第二类节点存储模式。
31.步骤s130,根据所述存储模式、所述节点的存储信息,存储所述节点到对应的目标文件;
具体地,根据节点的存储信息可以确定文件的名称,文件的名称是根据节点的存储信息的一部分生成的,例如,节点中存在hash,可以视数据量选择hash的一部分作为文件名或作为文件名的一部分,如hash为a9993e364706816aba3e25717850c26c9cd0d89d,则可以将a、a9或a99等hash前缀作为文件名,其他所有hash以a9开头的a类结点,都存储在文件a9中。hash只是用作分类的数据的一种,其余可用作文件名称的关键数据可以是任意一类,比如数字、时间、字符串等。根据不同的存储模式、将节点的存储信息存储到上述得到的文件中。
32.步骤s140,修改所述目标文件中的存储描述信息。
33.具体地,文件中的存储描述信息包括第一类节点个数、第二类节点个数、目标文件的偏移位、第一类节点的偏移位,链表末尾位,当所述节点是第一类节点时,修改所述第一类节点个数、所述目标文件的偏移位、所述链表末尾位;当所述节点是第二类节点时,修改所述第二类节点个数,所述节点附属的第一类节点的偏移位、所述链表末尾位。
34.本实施例通过上述方案,具体通过接收节点的存储指令、节点的存储信息,所述节点的存储指令包括第一类节点的存储指令和第二类节点的存储指令;根据所述存储指令,确定存储模式;根据所述存储模式、所述节点的存储信息,存储所述节点到对应的目标文件;修改所述目标文件中的存储描述信息。基于本方案,通过将不同类的节点存储到对应的目标文件,达到了无需使用数据库即可方便的存储双向链表的效果。
35.进一步地,参照图4,图5为本技术涉及的第一类节点存储结构,图4为双向链表的存储方法第二示例性实施例的流程示意图,所述根据所述存储模式、所述节点的存储信息,存储所述节点到对应的目标文件的步骤包括:步骤s1301,当所述存储模式为第一类节点存储模式时,根据所述节点的存储信息,确定所述目标文件;具体地,第一类节点存储模式存储时,根据节点的存储信息可以确定文件的名称,文件的名称是根据节点的存储信息的一部分生成的,例如,节点中存在hash,可以视数据量选择hash的一部分作为文件名或作为文件名的一部分,如hash为a9993e364706816aba3e25717850c26c9cd0d89d,则可以将a、a9或a99等hash前缀作为文件名,其他所有hash以a9开头的a类结点,都存储在文件a9中。hash只是用作分类的数据的一种,其余可用作文件名称的关键数据可以是任意一类,比如数字、时间、字符串等。
36.步骤s1302,根据所述目标文件的偏移位的值,确定所述节点的存储位置,存储所述节点。
37.具体地,参照图5,图5为本技术涉及的第一类节点存储结构,其中末尾节点偏移指当前目标文件中第一类节点即a类节点,在本文件的最后一个节点;文件偏移指文件偏移的位置下个位置的a类节点,相对于文件头的绝对偏移位置;最后一个文件偏移以0结尾。
38.本实施例通过上述方案,具体通过当所述存储模式为第一类节点存储模式时,根据所述节点的存储信息,确定所述目标文件;根据所述目标文件的偏移位的值,确定所述节点的存储位置,存储所述节点。基于本方案,通过对第一类节点进行存储,保障了第一类节点的存储方式,以便后续可以根据此种存储方式进行查询。
39.进一步地,参照图6,图6为双向链表的存储方法第三示例性实施例的流程示意图,所述第二类节点是所述第一类节点的附属节点,所述根据所述存储模式、所述节点的存储
信息,存储所述节点到对应的目标文件的步骤还包括:步骤s1303,当所述存储模式为第二类节点存储模式时,根据所述节点的存储信息中附属的第一类节点,确定所述目标文件;具体地,当存储模式为第二类节点存储模式,首先需要确定所述节点即第二类节点所属的第一类节点是什么,可以从存储信息中获取附属的第一类节点,从而根据第一类节点的存储信息确定目标文件。确定方式同上述步骤s1301,通过存储信息中的关键数据确定。
40.步骤s1304,根据所述目标文件中所述附属的第一类节点的偏移位,确定所述节点的存储位置,存储所述节点。
41.具体地,根据存储时指示的所属的a类结点的关键数据,通过对文件中a类链表的遍历,找到该a类结点;如果没找到,则先存储该a类结点;找到对应a类结点后,从该a类结点后面的位置,读取b类结点即本技术所述的第二类节点,根据该b类结点的“文件偏移”,遍历这条b类链表,找到最后一个结点,将该结点的“文件偏移”修改为文件尾的偏移。
42.本实施例通过上述方案,具体通过当所述存储模式为第二类节点存储模式时,根据所述节点的存储信息中附属的第一类节点,确定所述目标文件;根据所述目标文件中所述附属的第一类节点的偏移位,确定所述节点的存储位置,存储所述节点。基于本方案,实现了将第二类节点存储到目标文件中的目的,达到了对双向链表存储到目标文件中的效果。
43.进一步地,参照图7,图7为双向链表的存储方法第四示例性实施例的流程示意图,所述当所述存储模式为第一类节点存储模式时,根据所述节点的存储信息,确定所述目标文件的步骤之后还包括:步骤s13011,遍历所述目标文件的第一类节点;步骤s13012,若遍历到与所述节点相同的第一类节点,则停止存储。
44.本实施例通过上述方案,具体通过在存储时检查是否重复存储,从而达到了避免重复存储节点的目的。
45.进一步地,参照图8,图8为双向链表的存储方法第五示例性实施例的流程示意图,所述当所述存储模式为第二类节点存储模式时,根据所述节点的存储信息中附属的第一类节点,确定所述目标文件的步骤之后还包括:步骤s13031,根据所述节点的存储信息中附属的第一类节点,遍历所述节点的附属节点;步骤s13032,若遍历到所述附属的第一类节点的对应子节点与所述节点相同,则停止存储。
46.本实施例通过上述方案,具体通过在存储时检查存储的第二类节点是否重复存储,从而达到了避免重复存储第二类节点的目的。
47.进一步的,参照图9,图9为双向链表的存储方法第六示例性实施例的流程示意图,所述存储描述信息至少包括第一类节点个数、第二类节点个数、目标文件的偏移位、第一类节点的偏移位,链表末尾位,所述修改所述目标文件中的存储描述信息的步骤包括:步骤s1401,当所述节点是第一类节点时,修改所述第一类节点个数、所述目标文件的偏移位、所述链表末尾位;
步骤s1402,当所述节点是第二类节点时,修改所述第二类节点个数,所述节点附属的第一类节点的偏移位、所述链表末尾位。
48.本技术实施例通过上述方案,具体通过当所述节点是第一类节点时,修改所述第一类节点个数、所述目标文件的偏移位、所述链表末尾位;当所述节点是第二类节点时,修改所述第二类节点个数,所述节点附属的第一类节点的偏移位、所述链表末尾位。基于本方案,通过修改目标文件的存储描述信息,便于后续节点的存储和检索。
49.此外,本技术实施例还提出一种双向链表的存储装置,所述双向链表的存储装置包括:获取模块,用于接收节点的存储指令、节点的存储信息,所述节点的存储指令包括第一类节点的存储指令和第二类节点的存储指令;判定模块,用于根据所述存储指令,确定存储模式;存储模块,用于根据所述存储模式、所述节点的存储信息,存储所述节点到对应的目标文件;修改模块,用于修改所述目标文件中的存储描述信息。
50.此外,本技术实施例还提出一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的双向链表的存储程序,所述双向链表的存储程序被所述处理器执行时实现所述双向链表的存储方法的步骤。
51.由于本双向链表的存储程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。
52.此外,本技术实施例还提出一种可读存储介质,所述存储介质上存储有程序,所述双向链表的存储程序被处理器执行时实现如上所述的双向链表的存储方法的步骤。
53.由于本双向链表的存储程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。
54.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
55.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
56.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,被控终端,或者网络设备等)执行本技术每个实施例的方法。
57.以上仅为本技术的优选实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技
术领域,均同理包括在本技术的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1