一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

目录数据处理方法、装置、电子设备及存储介质与流程

2023-01-15 08:28:52 来源:中国专利 TAG:


1.本发明涉及页面设计技术领域,具体而言,涉及一种目录数据处理方法、装置、电子设备及存储介质。


背景技术:

2.随着人们对网页处理文档数据的需求越来越大,对数据展示的逻辑性和美观性要求越来越高。
3.目前,相关技术是通过后端的服务器获取不同应用程序编程接口(application programming interface,简称api)返回的目录字符串,并由服务器对目录字符串中各目录信息进行去重、排序等处理后,得到处理后的目录,并将处理后的目录返回至终端设备进行展示。
4.但是,终端设备展示的各目录之间存在比较散乱的问题,不便于用户直观地发现各目录之间的层级关系。


技术实现要素:

5.本发明的目的在于,针对上述现有技术中的不足,提供一种目录数据处理方法、装置、电子设备及存储介质,以便解决现有技术中终端设备展示的各目录之间存在比较散乱的问题,不便于用户直观地发现各目录之间的层级关系。
6.为实现上述目的,本技术实施例采用的技术方案如下:第一方面,本技术实施例提供了一种目录数据处理方法,所述方法包括:对各应用程序接口返回的各目录字符串分别进行拆分,得到各目录字符串对应的多个目录路径以及各目录路径所在层级,其中,各所述目录路径按照层级依次具有包含关系;将各目录路径存储至各目录路径所在层级对应的层级容器中;按照各层级容器的层级顺序,依次从所述各层级容器中读取关联的目录路径,并根据所述关联的目录路径建立初始目录链表,所述关联的目录路径满足如下条件:若第一层级容器和第二层级容器中,第一层级容器中的第一目录路径包含在第二层级容器中第二目录路径中,则所述第一目录路径和所述第二目录路径为关联的目录路径,其中,所述目录链表中包括多个节点,每个节点中保存一个目录路径;对所述初始目录链表中的各节点按照目录层级关系重新排序,得到处理后的目录链表;将所述处理后的目录链表返回至终端设备,由终端设备对所述处理后的目录链表中各目录路径进行渲染处理,并对渲染后得到的目录树结构进行展示。
7.可选地,所述对各应用程序接口返回的各目录字符串分别进行拆分,得到各目录字符串对应的多个目录路径以及各目录路径所在层级,包括:按照预设的路径分隔符,将所述目录字符串拆分为多个目录路径;
根据各目录路径中路径分隔符的数量,确定各目录路径所在层级。
8.可选地,所述按照各层级容器的层级顺序,依次从所述各层级容器中读取关联的目录路径,根据所述关联的目录路径建立初始目录链表,包括:从当前的第一层级容器中读取第一目录路径,将所述第一目录路径作为所述初始目录链表的第一新增节点增加至所述初始目录链表中;在与所述第一层级容器相邻且在所述第一层级容器之后的第二层级容器中查询包含所述第一目录路径的至少一个第二目录路径,将各所述第二目录路径作为所述初始目录链表中第一新增节点之后的第二新增节点,并将各所述第二新增节点增加至所述初始目录链表中。
9.可选地,所述将各所述第二目录路径作为所述初始目录链表中第一新增节点之后的第二新增节点,并将各所述第二新增节点增加至所述初始目录链表中,包括:若所述第二目录路径的数量为多个,则将首个读取到的第二目录路径添加至所述初始目录链表中所述第一新增节点之后,并按照读取的顺序依次将其他各第二目录路径增加至所述初始目录链表中。
10.可选地,所述对所述初始目录链表中的各节点按照目录层级关系重新排序,得到处理后的目录链表,包括:对所述初始目录链表中各节点进行遍历,针对当前遍历到的节点,确定所述节点中目录路径的上级父目录、下级子目录,按照目录路径的上级父目录、下级子目录,对所述目录链表中各节点重新进行排序;若所述初始目录链表中所有节点均遍历完成,将重新排序后的初始目录链表作为所述处理后的目录链表。
11.可选地,所述针对当前遍历到的节点,确定所述节点中目录路径的上级父目录、下级子目录,按照目录路径的上级父目录、下级子目录,对所述目录链表中各节点重新进行排序,包括:针对当前遍历到的节点,在所述初始目录链表中查找包含所述遍历到的节点中目录路径的子节点以及被所述遍历到的节点中目录路径包含的父节点,将所述父节点移动至所述当前遍历到的节点之前,并将所述子节点移动至所述当前遍历到的节点之后。
12.可选地,所述将各目录路径存储至各目录路径所在层级对应的层级容器中,包括:确定所述目录路径所在层级对应的层级容器中是否存在所述目录路径;若否,则将各目录路径存储至各目录路径所在层级对应的层级容器中。
13.第二方面,本技术实施例还提供了一种目录数据处理装置,所述装置包括:拆分模块,用于对各应用程序接口返回的各目录字符串分别进行拆分,得到各目录字符串对应的多个目录路径以及各目录路径所在层级,其中,各所述目录路径按照层级依次具有包含关系;存储模块,用于将各目录路径存储至各目录路径所在层级对应的层级容器中;建立模块,用于按照各层级容器的层级顺序,依次从所述各层级容器中读取关联的目录路径,并根据所述关联的目录路径建立初始目录链表,所述关联的目录路径满足如下条件:若第一层级容器和第二层级容器中,第一层级容器中的第一目录路径包含在第二层级容器中第二目录路径中,则所述第一目录路径和所述第二目录路径为关联的目录路
径,其中,所述目录链表中包括多个节点,每个节点中保存一个目录路径;排序模块,用于对所述初始目录链表中的各节点按照目录层级关系重新排序,得到处理后的目录链表;返回模块,用于将所述处理后的目录链表返回至终端设备,由终端设备对所述处理后的目录链表中各目录路径进行渲染处理,并对渲染后得到的目录树结构进行展示。
14.可选地,所述拆分模块,还用于:按照预设的路径分隔符,将所述目录字符串拆分为多个目录路径;根据各目录路径中路径分隔符的数量,确定各目录路径所在层级。
15.可选地,所述建立模块,还用于:从当前的第一层级容器中读取第一目录路径,将所述第一目录路径作为所述初始目录链表的第一新增节点增加至所述初始目录链表中;在与所述第一层级容器相邻且在所述第一层级容器之后的第二层级容器中查询包含所述第一目录路径的至少一个第二目录路径,将各所述第二目录路径作为所述初始目录链表中第一新增节点之后的第二新增节点,并将各所述第二新增节点增加至所述初始目录链表中。
16.可选地,所述建立模块,还用于:若所述第二目录路径的数量为多个,则将首个读取到的第二目录路径添加至所述初始目录链表中所述第一新增节点之后,并按照读取的顺序依次将其他各第二目录路径增加至所述初始目录链表中。
17.可选地,所述排序模块,还用于:对所述初始目录链表中各节点进行遍历,针对当前遍历到的节点,确定所述节点中目录路径的上级父目录、下级子目录,按照目录路径的上级父目录、下级子目录,对所述目录链表中各节点重新进行排序;若所述初始目录链表中所有节点均遍历完成,将重新排序后的初始目录链表作为所述处理后的目录链表。
18.可选地,所述排序模块,还用于:针对当前遍历到的节点,在所述初始目录链表中查找包含所述遍历到的节点中目录路径的子节点以及被所述遍历到的节点中目录路径包含的父节点,将所述父节点移动至所述当前遍历到的节点之前,并将所述子节点移动至所述当前遍历到的节点之后。
19.可选地,所述存储模块,还用于:确定所述目录路径所在层级对应的层级容器中是否存在所述目录路径;若否,则将各目录路径存储至各目录路径所在层级对应的层级容器中。
20.第三方面,本技术实施例还提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如第一方面提供的所述方法的步骤。
21.第四方面,本技术实施例还提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面提供的所述方法的步骤。
22.本技术的有益效果是:本技术实施例提供一种目录数据处理方法、装置、电子设备及存储介质,在本方案中,主要先是对各应用程序接口返回的各目录字符串分别进行拆分,以得到各目录字符串对应的多个目录路径及各目录路径所在层级,并将各目录路径存储至各目录路径所在层级对应的层级容器中;然后,再按照各层级容器的层级顺序,依次从各层级容器中读取关联的目录路径,并根据关联的目录路径建立初始目录链表,对初始目录链表中的各节点按照目录层级关系重新排序,得到处理后的目录链表;这样,使得可以按照各目录路径的目录层级,将各目录路径存储至处理后的目录链表中不同的节点中,即处理后的目录链表中存储的目录路径为有序的,且各目录路径之间的目录层级关系清晰,进而使得终端设备按照处理后的目录链表中各目录路径的目录层级关系,对各目录路径进行渲染处理,得到目录树结构,从而使得用户根据终端设备界面上展示的目录树结构,可以一目了然得到完整的目录结构及隐藏的目录内容,更便于用户直观地发现各目录之间的层级关系,解决现有技术中终端设备展示的各目录之间存在比较散乱的问题。
附图说明
23.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
24.图1为本技术实施例提供的一种电子设备的结构示意图;图2为本技术实施例提供的一种目录数据处理方法的流程示意图;图3为本技术实施例提供的层级容器的示意图;图4为本技术实施例提供的初始目录链表的示意图;图5为本技术实施例提供的处理后的目录链表的示意图;图6为本技术实施例提供的目录树结构的示意图;图7为本技术实施例提供的另一种目录数据处理方法的流程示意图;图8为本技术实施例提供的又一种目录数据处理方法的流程示意图;图9为本技术实施例提供的另一种目录数据处理方法的流程示意图;图10为本技术实施例提供的又一种目录数据处理方法的流程示意图;图11为本技术实施例提供的一种目录数据处理装置的结构示意图。
具体实施方式
25.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,应当理解,本技术中附图仅起到说明和描述的目的,并不用于限定本技术的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本技术中使用的流程图示出了根据本技术的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本技术内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
应用程序接口4“d214\\d32311”应用程序接口5“d72”应用程序接口6“d92”应用程序接口7“d214\\d32311\\d323111\\d323222”例如,以应用程序接口2返回的目录字符串为例,对目录字符串“d214\\d32311\\d323111”进行拆分,得到目录路径分别为“d214”、“d214\\d323”、“d214\\d32311\\d323111”。其中,“d214\\d32311\\d323111”包含有“d214”、“d214\\d323”,以及“d214\\d323”包含“d214”,即各目录路径按照层级依次具有包含关系。
39.还可以根据拆分后的各目录路径,得到目录路径“d214”所在层级为一级目录、目录路径“d214\\d323”所在层级为二级目录、以及目录路径“d214\\d32311\\d323111”所在层级为三级目录。其中,各目录路径按照层级依次具有包含关系。
40.同理,也可以采用相同的方式,对其他应用程序接口返回的目录字符串进行拆分,并得到各目录字符串对应的多个目录路径以及各目录路径所在层级。
41.s202、将各目录路径存储至各目录路径所在层级对应的层级容器中。
42.其中,层级容器是用于存储对象的容器。示例性地,例如,层级容器可以为存储桶,每个对象都存储在一个存储桶中,一个存储桶中可存储多个对象。
43.例如,一级目录对应的存储桶为桶1,二级目录对应的存储桶为桶2,三级目录对应的存储桶为桶4。
44.在上述实施例的基础上,参考图3所示,可以根据目录路径“d214”所在层级为一级目录,将目录路径“d214”存储至桶1;根据目录路径“d214\\d323”所在层级为二级目录,将目录路径“d214\\d323”存储至桶2;以及,根据目录路径“d214\\d32311\\d323111”所在层级为三级目录,将目录路径“d214\\d32311\\d323111”存储至桶3。
45.对应用程序接口5返回的目录字符串“d72”进行拆分,得到目录路径“d72”,以及目录路径“d72”所在层级为一级目录,即可以根据目录路径“d72”所在层级为一级目录,将目录路径“d72”存储至桶1。即桶1中可存储有“d214”、“d72”等多个目录路径,且各目录路径所在层级均为一级目录。
46.s203、按照各层级容器的层级顺序,依次从各层级容器中读取关联的目录路径,并根据关联的目录路径建立初始目录链表。
47.关联的目录路径满足如下条件:若第一层级容器和第二层级容器中,第一层级容器中的第一目录路径包含在第二层级容器中第二目录路径中,则第一目录路径和第二目录路径为关联的目录路径,其中,目录链表中包括多个节点,每个节点中保存一个目录路径。
48.示例性地,例如,各层级容器的层级顺序可以为桶1为一级容器、桶2为二级容器、桶3为三级容器等。
49.在本实施例中,可以根据桶1中存储的目录路径“d214”,从桶2中读取与目录路径“d214”关联的目录路径为“d214\\d323”;根据桶2中存储的目录路径“d214\\d323”,从桶3中读取到的关联的目录路径“d214\\d32311\\d323111”。参考图4所示,为根据读取到的关联的目录路径“d214\\d323”和“d214\\d32311\\d323111”,建立的初始目录链表a。
50.同理,也可以根据桶1中存储的目录路径“d72”,从桶2中读取与目录路径“d72”关联的目录路径,桶2中并未存储有与目录路径“d72”关联的目录路径,即不存在与桶1中目录
路径“d72”的关联的目录路径,也可以根据目录路径“d72”,建立初始目录链表b。
51.s204、对初始目录链表中的各节点按照目录层级关系重新排序,得到处理后的目录链表。
52.在本实施例中,考虑到上述步骤s203中的操作是并发实现,故而得到的初始目录链表中各目录路径并非是顺序排列的。因此,需要通过递归原理,对初始目录链表中的各节点存储的目录路径进行排序处理,得到处理后的目录链表,即处理后的目录链表中存储的各目录路径为有序、结构化处理后的,且各目录路径之间的目录层级关系清晰。
53.参考图5所示,对初始目录链表a中的各节点按照目录层级关系重新排序后,得到的处理后的目录链表a。
54.s205、将处理后的目录链表返回至终端设备,由终端设备对处理后的目录链表中各目录路径进行渲染处理,并对渲染后得到的目录树结构进行展示。
55.在本实施例中,参考图6所示,可以将处理后的目录链表a返回至终端设备,由终端设备根据处理后的目录链表a中各目录路径的目录层级关系,对各目录路径进行渲染处理,得到渲染处理后的目录树结构,进而使得用户根据终端设备界面上展示的目录树结构,可以一目了然得到完整的目录结构及隐藏的目录内容,解决现有技术中终端设备展示的各目录之间存在比较散乱的问题,不便于用户直观地发现各目录之间的层级关系。
56.可选地,由于考虑到返回至终端设备的“处理后的目录链表”的数量可能是多个。因此,终端设备对多个处理后的目录链表进行遍历、递归操作等操作,将多个处理后的目录链表渲染为目录树结构。
57.此外,还可以根据处理后的目录链表中各目录路径,将目录树结构中的展示目录、与展示目录对应的目录路径进行链接,生成目录树结构中每个展示目录的点击事件,在点击目录树结构中的目标目录后,即可获取目标目录对应的目录路径下数据;同时,还可以对生成的目录树结构增加折叠效果,即点击目录树结构中的目标目录后,即可以展示/隐藏目标目录及其子目录,灵活的展示需要的数据。
58.综上所述,本技术实施例提供一种目录数据处理方法,在本方案中,主要先是对各应用程序接口返回的各目录字符串分别进行拆分,以得到各目录字符串对应的多个目录路径及各目录路径所在层级,并将各目录路径存储至各目录路径所在层级对应的层级容器中;然后,再按照各层级容器的层级顺序,依次从各层级容器中读取关联的目录路径,并根据关联的目录路径建立初始目录链表,对初始目录链表中的各节点按照目录层级关系重新排序,得到处理后的目录链表;这样,使得可以按照各目录路径的目录层级,将各目录路径存储至处理后的目录链表中不同的节点中,即处理后的目录链表中存储的目录路径为有序的,且各目录路径之间的目录层级关系清晰,进而使得终端设备按照处理后的目录链表中各目录路径的目录层级关系,对各目录路径进行渲染处理,得到目录树结构,从而使得用户根据终端设备界面上展示的目录树结构,可以一目了然得到完整的目录结构及隐藏的目录内容,更便于用户直观地发现各目录之间的层级关系,解决现有技术中终端设备展示的各目录之间存在比较散乱的问题。
59.将通过如下实施例,具体讲解上述步骤s201中如何对各应用程序接口返回的各目录字符串分别进行拆分,得到各目录字符串对应的多个目录路径以及各目录路径所在层级。
60.可选地,参考图7所示,上述步骤s201包括:s701、按照预设的路径分隔符,将目录字符串拆分为多个目录路径。
61.s702、根据各目录路径中路径分隔符的数量,确定各目录路径所在层级。
62.在本实施例中,路径分隔符为“\\”。例如,继续以应用程序接口2返回的目录字符串为例,可以根据目录字符串中的路径分隔符“\\”,对目录字符串“d214\\d32311\\d323111”中进行拆分,得到“d214”、“d214\\d323”、“d214\\d32311\\d323111”等多个目录路径。
63.同时,还可以根据拆分后的目录路径中的路径分隔符的数量,得到各目录路径所在层级。例如,目录路径“d214”中的路径分隔符的数量为0,则目录路径“d214”所在层级为一级目录;目录路径“d214\\d323”中的路径分隔符的数量为1,则目录路径“d214\\d323”所在层级为二级目录;目录路径“d214\\d32311\\d323111”中的路径分隔符的数量为2,则目录路径“d214\\d32311\\d323111”所在层级为三级目录。
64.将通过如下实施例,具体讲解上述步骤s203中如何按照各层级容器的层级顺序,依次从所述各层级容器中读取关联的目录路径,根据所述关联的目录路径建立初始目录链表。
65.可选地,参考图8所示,上述步骤s203包括:s801、从当前的第一层级容器中读取第一目录路径,将第一目录路径作为初始目录链表的第一新增节点增加至初始目录链表中。
66.在本实施例中,以一级目录作为突破口,例如,从桶1中读取到第一目录路径“d214”,同时并创建初始目录链表,初始目录链表为空链表,然后,将“d214”作为创建的初始目录链表中的第一新增节点(即起始节点),并将“d214”存储至初始目录链表中的第一新增节点中。
67.s802、在与第一层级容器相邻且在第一层级容器之后的第二层级容器中查询包含第一目录路径的至少一个第二目录路径,将各第二目录路径作为初始目录链表中第一新增节点之后的第二新增节点,并将各第二新增节点增加至初始目录链表中。
68.在上述实施例的基础上,例如,桶2中存储的目录路径包括:“d214\\d323”,即在与第一层级容器相邻且在第一层级容器之后的第二层级容器桶2中查询到包含第一目录路径“d214”的第二目录路径为“d214\\d323”,将“d214\\d323”作为初始目录链表中第一新增节点之后的第二新增节点,并将“d214\\d323”存储至初始目录链表中的第二新增节点中。
69.循环执行上述步骤s801-s802,在与第二层级容器相邻且在第二层级容器之后的第三层级容器中查询包含第二目录路径的至少一个第三目录路径,将各第三目录路径作为初始目录链表中第二新增节点之后的第三新增节点,并将各第三新增节点增加至初始目录链表中,如果是最后一个层级容器,则将最后一个层级容器中查询到的目录路径,增加至初始目录链表中的最后一个节点,依次类推,直至遍历完所有的层级容器。
70.可选地,将各第二目录路径作为初始目录链表中第一新增节点之后的第二新增节点,并将各第二新增节点增加至初始目录链表中,包括:若第二目录路径的数量为多个,则将首个读取到的第二目录路径添加至初始目录链表中第一新增节点之后,并按照读取的顺序依次将其他各第二目录路径增加至初始目录链表中。
71.应理解,在与第一层级容器相邻且在第一层级容器之后的第二层级容器中查询包含第一目录路径的第二目录路径的数量可以为1个或多个。例如,对应用程序接口4返回的目录字符串“d214\\d32311”进行拆分,得到“d214”、“d214\\d32311”等多个目录路径,其中,目录路径“d214”所在层级为一级目录、目录路径“d214\\d32311”所在层级为二级目录,即可以将目录路径“d214”存储至桶1,将目录路径“d214\\d32311”存储至桶2。
72.此时,桶2中存储的目录路径包括:“d214\\d323”、“d214\\d32311”,即在与第一层级容器相邻且在第一层级容器之后的第二层级容器桶2中查询到包含第一目录路径“d214”的第二目录路径的数量为2个,即“d214\\d323”、“d214\\d32311”。
73.因此,在与第一层级容器相邻且在第一层级容器之后的第二层级容器为桶2中读取到的包含第一目录路径“d214”的第二目录路径
ꢀ“
d214\\d323”、“d214\\d32311”后,按照“d214\\d323”、“d214\\d32311”的读取顺序,将“d214\\d323”、“d214\\d32311”增加至初始目录链表中第一新增节点之后的节点中。
74.将通过如下实施例,具体讲解上述步骤s204中如何对初始目录链表中的各节点按照目录层级关系重新排序,得到处理后的目录链表。
75.可选地,参考图9所示,上述步骤s204包括:s901、对初始目录链表中各节点进行遍历,针对当前遍历到的节点,确定节点中目录路径的上级父目录、下级子目录,按照目录路径的上级父目录、下级子目录,对目录链表中各节点重新进行排序。
76.s902、若初始目录链表中所有节点均遍历完成,将重新排序后的初始目录链表作为处理后的目录链表。
77.在本实施例中,在建立初始目录链表之后,还需要对初始目录链表各节点存储的目录路径进行遍历,以查找到各目录路径的上级父目录、下级子目录。
78.例如,当前遍历到的节点为初始目录链表中第一节点,第一节点中存储的目录路径为“d214”,由于目录路径“d214”所在层级为一级目录,目录路径为“d214”不存在上级父目录。因此,只需要确定目录路径“d214”的下级子目录,经多次遍历查找,得到目录路径“d214”的下级子目录为“d214\\d323”、“d214\\d32311”;同时,可以将目录路径“d214”称为“d214\\d323”、“d214\\d32311”的上级父目录。此时,根据目录路径“d214”、“d214\\d323”、“d214\\d32311”之间的上下级目录关系,对“d214”、“d214\\d323”、“d214\\d32311”进行重新,将重新排序后的初始目录链表作为新的处理后的目录链表。
79.然后,再继续对初始目录链表中各节点进行遍历,分别确定“d214\\d323”、“d214\\d32311”的下级子目录,并经多次遍历查找,得到目录路径“d214\\d323”不存在下级子目录,目录路径“d214\\d32311”的下级子目录为“d214\\d32311\\d323111”,根据目录路径“d214\\d323”、“d214\\d32311”、“d214\\d32311\\d323111”之间的上下级目录关系,对“d214\\d323”、“d214\\d32311”、“d214\\d32311\\d323111”进行重新,将重新排序后的初始目录链表作为新的处理后的目录链表。
80.继续循环执行上述步骤s901,直至初始目录链表中所有节点均遍历完成,并将重新排序后的初始目录链表作为最终得到的处理后的目录链表。
81.可选地,针对当前遍历到的节点,确定节点中目录路径的上级父目录、下级子目录,按照目录路径的上级父目录、下级子目录,对初始目录链表中各节点重新进行排序,包
括:针对当前遍历到的节点,在初始目录链表中查找包含遍历到的节点中目录路径的子节点以及被遍历到的节点中目录路径包含的父节点,将父节点移动至当前遍历到的节点之前,并将子节点移动至当前遍历到的节点之后。
82.在上述实施例的基础上,当前遍历到的节点为初始目录链表中第一节点,第一节点中存储的目录路径为“d214”,在得到目录路径“d214”的下级子目录为“d214\\d323”、“d214\\d32311”时。
83.此时,若初始目录链表中的第一节点中存储的目录路径为“d214”,第二节点中存储的目录路径为“d214\\d32311\\d323111”,第三节点中存储的目录路径为“d214\\d32311”,第四节点中存储的目录路径为“d214\\d323”。
84.可以将父节点移动至当前遍历到的节点之前(即继续保持第一节点中存储的目录路径为“d214”),并将子节点移动至当前遍历到的节点之后,将目录路径“d214”的下级子目录“d214\\d323”、“d214\\d32311”均移动至当前遍历到的第一节点之后,即将“d214\\d323”移动至第一节点之后的第二节点,以及将“d214\\d32311”移动至第三节点之后的第三节点;同时,将第二节点中原先存储的“d214\\d32311\\d323111\\d323222”移动至“d214\\d323”原先所在的第四节点,第三节点中原先存储的目录路径为“d214\\d32311”(即可以保持第三节点中存储的目录路径不变)。
85.因此,在重新排序后的初始目录链表中,第一节点中存储的目录路径为“d214”,第二节点中存储的目录路径“d214\\d323”,第三节点中存储的目录路径为“d214\\d32311”,以及第四节点中存储的目录路径为“d214\\d32311\\d323111\\d323222”。
86.将通过如下实施例,具体讲解上述步骤s202中如何将各目录路径存储至各目录路径所在层级对应的层级容器中。
87.可选地,参考图10所示,上述步骤s202包括:s1001、确定目录路径所在层级对应的层级容器中是否存在目录路径。
88.s1002、若否,则将各目录路径存储至各目录路径所在层级对应的层级容器中。
89.在本实例实中,为了对避免各层级容器中存储有多个相同的目录路径,即在根据某一个目录路径所在层级,将该目录路径存储至该目录路径所在层级对应的层级容器中时,需要判断该目录路径所在层级对应的层级容器中是否已经存储了该目录路径;若否,则将该目录路径存储至该目录路径所在层级对应的层级容器中,若是,则不需要对该目录路径进行重复存储至,以减少资源占用量,从而提高数据处理效率。
90.基于同一发明构思,本技术实施例中还提供了与目录数据处理方法对应的目录数据处理装置,由于本技术实施例中的装置解决问题的原理与本技术实施例上述目录数据处理方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
91.可选地,参考图11所示,本技术实施例还提供了一种目录数据处理装置,该装置包括:拆分模块1101,用于对各应用程序接口返回的各目录字符串分别进行拆分,得到各目录字符串对应的多个目录路径以及各目录路径所在层级,其中,各目录路径按照层级依次具有包含关系;存储模块1102,用于将各目录路径存储至各目录路径所在层级对应的层级容器
中;建立模块1103,用于按照各层级容器的层级顺序,依次从各层级容器中读取关联的目录路径,并根据关联的目录路径建立初始目录链表,关联的目录路径满足如下条件:若第一层级容器和第二层级容器中,第一层级容器中的第一目录路径包含在第二层级容器中第二目录路径中,则第一目录路径和第二目录路径为关联的目录路径,其中,目录链表中包括多个节点,每个节点中保存一个目录路径;排序模块1104,用于对初始目录链表中的各节点按照目录层级关系重新排序,得到处理后的目录链表;返回模块1105,用于将处理后的目录链表返回至终端设备,由终端设备对处理后的目录链表中各目录路径进行渲染处理,并对渲染后得到的目录树结构进行展示。
92.可选地,拆分模块1101,还用于:按照预设的路径分隔符,将目录字符串拆分为多个目录路径;根据各目录路径中路径分隔符的数量,确定各目录路径所在层级。
93.可选地,建立模块1103,还用于:从当前的第一层级容器中读取第一目录路径,将第一目录路径作为初始目录链表的第一新增节点增加至初始目录链表中;在与第一层级容器相邻且在第一层级容器之后的第二层级容器中查询包含第一目录路径的至少一个第二目录路径,将各第二目录路径作为初始目录链表中第一新增节点之后的第二新增节点,并将各第二新增节点增加至初始目录链表中。
94.可选地,建立模块1103,还用于:若第二目录路径的数量为多个,则将首个读取到的第二目录路径添加至初始目录链表中第一新增节点之后,并按照读取的顺序依次将其他各第二目录路径增加至初始目录链表中。
95.可选地,排序模块1104,还用于:对初始目录链表中各节点进行遍历,针对当前遍历到的节点,确定节点中目录路径的上级父目录、下级子目录,按照目录路径的上级父目录、下级子目录,对目录链表中各节点重新进行排序;若初始目录链表中所有节点均遍历完成,将重新排序后的初始目录链表作为处理后的目录链表。
96.可选地,排序模块1104,还用于:针对当前遍历到的节点,在初始目录链表中查找包含遍历到的节点中目录路径的子节点以及被遍历到的节点中目录路径包含的父节点,将父节点移动至当前遍历到的节点之前,并将子节点移动至当前遍历到的节点之后。
97.可选地,存储模块1102,还用于:确定目录路径所在层级对应的层级容器中是否存在目录路径;若否,则将各目录路径存储至各目录路径所在层级对应的层级容器中。
98.上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
99.以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个
或多个特定集成电路(application specific integrated circuit,简称asic),或,一个或多个微处理器(digital singnal processor,简称dsp),或,一个或者多个现场可编程门阵列(field programmable gate array,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。
100.可选地,本发明还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
101.在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
102.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
103.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
104.上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文:read-only memory,简称:rom)、随机存取存储器(英文:random access memory,简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献