数据模型构建方法、数据模型构建装置以及可读存储介质与流程

文档序号:33555007发布日期:2023-03-22 11:24阅读:34来源:国知局
数据模型构建方法、数据模型构建装置以及可读存储介质与流程

1.本发明涉及数据结构技术领域,具体而言,涉及一种数据模型构建方法、数据模型构建装置以及可读存储介质。


背景技术:

2.相关技术中,数据模型中的链表结构中在处理多种类型的数据时,获取其中某一类数据或插入某一类数据时,需要对整个链表结构进行遍历,效率较低,且时间复杂度较高。


技术实现要素:

3.本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
4.有鉴于此,本发明的一个目的在于提供一种数据模型构建方法。
5.本发明的另一个目的在于提供一种数据模型构建装置。
6.本发明的又一个目的在于提供一种数据模型构建装置。
7.本发明的再一个目的在于提供一种可读存储介质。
8.为了实现上述至少一个目的,本发明的第一方面的技术方案提出了一种数据模型构建方法,包括:将第一数据存储在n个第一数据容器中,n为正整数;根据第一数据容器中的类型信息,将n个第一数据容器中的至少部分数据容器分别存储在m个第二数据容器中,m为正整数;对m个第二数据容器,分别配置相应的第一索引标识;将n个第一数据容器构建为第一数据链表,以及将m个第二数据容器构建为第二数据链表;根据第一数据链表和第二数据链表,构建目标数据模型。
9.在该技术方案中,本技术通过将第一数据存储在n个第一数据容器中,n为正整数,根据第一数据容器中的类型信息,将n个第一数据容器中的至少部分数据容器分别存储在m个第二数据容器中,m为正整数,能够根据类型信息的不同对第一数据容器进行分类,与相关技术中的linkedlist(链接列表)数据结构相比,能够根据类型信息对数据针对性的存储,从而提高针对某一类数据对应的数据容器的查找速度,便于对某一类数据对应的数据容器执行的相应操作;对m个第二数据容器,分别配置相应的第一索引标识,能够根据第一索引标识查找第一数据容器,提高数据容器的查找速度,便于第一数据容器的准确定位;将n个第一数据容器构建为第一数据链表,以及将m个第二数据容器构建为第二数据链表,能够针对第一数据链表和第二数据链表执行查找数据容器和插入数据容器的操作,与相关技术中的linkedlist数据结构从头遍历相比,不需要增加索引值,也降低了相应算法的时间复杂度,提高执行效率;根据第一数据链表和第二数据链表,构建目标数据模型,能够满足多种类型数据的业务场景使用需求,插入方式和查找方式更灵活,对某类数据对应的数据容器进行针对性的处理,提升用户的使用体验。
10.另外,本发明提供的上述技术方案中的数据模型构建方法还可以具有如下附加技术特征:
11.在上述技术方案中,将n个第一数据容器构建为第一数据链表包括:分别确定m个第二数据容器中第一数据容器所处的位置;根据第一数据容器所处的位置,将第一数据容器相互连接,得到m个第一数据容器序列;将未存储在第二数据容器中的第一数据容器插入至m个第一数据容器序列之间,得到第一数据链表。
12.在该技术方案中,分别确定m个第二数据容器中第一数据容器所处的位置,根据第一数据容器所处的位置,将第一数据容器相互连接,得到m个第一数据容器序列,能够在查找第一数据容器或插入新的第一数据容器时,能够第一数据容器的位置进行相应的查找或插入操作,从而保证查找或插入操作的准确性;将未存储在第二数据容器中的第一数据容器插入至m个第一数据容器序列之间,得到第一数据链表,能够保证第一数据链表的完整性,避免数据容器和数据容器中的数据查找不到现象的发生,从而满足多种类型数据的业务场景使用需求,提升用户的使用体验。
13.在上述任一技术方案中,根据第一数据容器所处的位置,将第一数据容器相互连接,得到m个第一数据容器序列包括:确定m个第二数据容器中每个第二数据容器的首位第一数据容器和末位第一数据容器;将首位第一数据容器和末位第一数据容器之间的第一数据容器依次连接,得到m个第一数据容器序列。
14.在该技术方案中,确定m个第二数据容器中每个第二数据容器的首位第一数据容器和末位第一数据容器,能够根据首位内层容器或末位内层容器进行相应的查找操作和插入操作时,确定查找方向和插入方向;将首位第一数据容器和末位第一数据容器之间的第一数据容器依次连接,得到m个第一数据容器序列,使得查找操作和插入操作时遍历查找其中的某一个具体内层容器更简便,与相关技术中的linkedlist数据结构从头全部遍历相比,本技术可以在某一个中层容器遍历,减少遍历内层容器的数量,减少相应算法的处理时间,提高执行效率,提高用户的使用体验,提升用户的满意度。
15.在上述任一技术方案中,将未存储在第二数据容器中的第一数据容器插入至m个第一数据容器序列之间,得到第一数据链表包括:对m个第一数据容器序列进行随机排列,得到第一目标数据容器序列;将未存储在第二数据容器中的第一数据容器插入第一目标数据容器序列中,得到第一数据链表。
16.在该技术方案中,对m个第一数据容器序列进行随机排列,得到第一目标数据容器序列,能够在对第一数据容器进行遍历时,可以从任意位置开始遍历,提高遍历的灵活性,与相关技术中linkedlist数据结构从头遍历相比,降低相应算法的时间复杂度,提高执行效率;将未存储在第二数据容器中的第一数据容器插入第一目标数据容器序列中,得到第一数据链表,保证第一数据链表的完整性,从而保证在对第一数据链表进行遍历时,能够查找到具体的内层容器,对其进行上一个内层容器或下一个内层容器的查找的准确性,并保证新的内层容器插入位置的准确性,提高用户的使用体验。
17.在上述任一技术方案中,将未存储在第二数据容器中的第一数据容器插入至m个第一数据容器序列之间,得到第一数据链表还包括:根据预设排列规则,对m个第一数据容器序列进行排列,得到第二目标数据容器序列;将未存储在第二数据容器中的第一数据容器插入第二目标数据容器序列中,得到第一数据链表。
18.在该技术方案中,根据预设排列规则,对m个第一数据容器序列进行排列,得到第二目标数据容器序列,能够根据用户需求确定第一数据容器序列;将未存储在第二数据容
器中的第一数据容器插入第二目标数据容器序列中,得到第一数据链表,保证第一数据链表的完整性,从而保证在对第一数据链表进行遍历时,能够查找到具体的内层容器,对其进行上一个内层容器或下一个内层容器的查找的准确性,并保证新的内层容器插入位置的准确性,提高用户的使用体验。
19.在上述任一技术方案中,将m个第二数据容器构建为第二数据链表包括:对m个第二数据容器进行随机排列,得到第二数据链表。
20.在该技术方案中,对第二数据容器进行随机排列,得到第二数据链表,使得在对第二数据容器进行遍历时,可以从任意位置的第二数据容器开始遍历,与相关技术中的linkedlist数据结构从头遍历相比,降低相应算法的时间复杂度,提高执行效率,从而满足业务场景的使用需求,提高用户的使用体验。
21.在上述任一技术方案中,第一数据链表和第二数据链表为双向链表结构。
22.在该技术方案中,第一数据链表和第二数据链表为双向链表结构,可以使得对数据列表遍历时,可以选择从第一数据链表和第二数据链表的任意一侧开始遍历,与相关技术中的linkedlist数据结构从头遍历相比,执行效率更高,从而满足业务场景的使用需求,提高用户的使用体验。
23.本发明的第二方面的技术方案提出了一种数据模型构建装置,包括:存储单元,存储单元用于将第一数据存储在n个第一数据容器中,n为正整数;存储单元还用于根据第一数据容器中的类型信息,将n个第一数据容器中的至少部分数据容器分别存储在m个第二数据容器中,m为正整数;配置单元,配置单元用于对m个第二数据容器,分别配置相应的第一索引标识;构建单元,构建单元用于将n个第一数据容器构建为第一数据链表,以及将m个第二数据容器构建为第二数据链表;构建单元还用于根据第一数据链表和第二数据链表,构建目标数据模型。
24.在该技术方案中,存储单元用于将第一数据存储在n个第一数据容器中,n为正整数,存储单元还用于根据第一数据容器中的类型信息,将n个第一数据容器中的至少部分数据容器分别存储在m个第二数据容器中,m为正整数,能够根据类型信息,将存储某一类数据的第一数据容器存储在第二数据容器中,从而能够通过第二数据容器对第一数据容器进行分类;配置单元用于对m个第二数据容器,分别配置相应的第一索引标识,能够使得在单独处理某类数据时,能够根据索引标识查找相应的第二数据容器中的第一数据容器;构建单元用于将n个第一数据容器构建为第一数据链表,以及将m个第二数据容器构建为第二数据链表,能够快速定位某一个类型信息对应的具体第一数据容器,并通过具体第一数据容器查找下一个第一数据容器或下一个第一数据容器,便于第一数据容器前方或后方插入新的第一数据容器,同时能够快速查找某一个第二数据容器,并根据某一个第二数据容器查找上一个第二数据容器或下一个第二数据容器,与相关技术中的linkedlist数据结构从头遍历相比,降低相应算法的时间复杂度,提高执行效率;构建单元还用于根据第一数据链表和第二数据链表,构建目标数据模型,能够满足多种类型数据的业务场景使用需求,插入方式和查找方式更灵活,并对某类数据对应的数据容器进行针对性的处理,提升用户的使用体验。
25.本技术的第三方面提出了一种数据模型构建装置,包括:存储器和处理器,存储器存储可在处理器上运行的程序或指令,程序或指令被处理器执行时实现如第一方面的数据
模型构建方法的步骤。
26.在该技术方案中,数据模型构建装置包括存储器和处理器,存储器存储可在处理器上运行的程序或指令,程序或指令被处理器执行时实现如第一方面的数据模型构建方法的步骤,从而具有第一方面的全部有益技术效果,在此不再赘述。
27.本技术的第四方面提出了一种可读存储介质,其上存储有程序或指令,程序或指令被处理器执行时实现如第一方面的数据模型构建方法的步骤。
28.在该技术方案中,可读存储介质,其上存储有程序或指令,程序或指令被处理器执行时实现如上述第一方面的数据模型构建方法的步骤,从而具有上述第一方面的全部有益技术效果,在此不再赘述。
29.本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。
附图说明
30.图1示出了根据本发明的一个实施例的数据模型构建方法的流程示意图之一;
31.图2示出了根据本发明的一个实施例的数据模型构建方法的流程示意图之二;
32.图3示出了根据本发明的一个实施例的数据模型构建方法的流程示意图之三;
33.图4示出了根据本发明的一个实施例的数据模型构建方法的流程示意图之四;
34.图5示出了根据本发明的一个实施例的数据模型构建方法的流程示意图之五;
35.图6示出了根据本发明的一个实施例的数据模型构建方法的流程示意框图;
36.图7示出了根据本发明的一个实施例的数据模型构建装置的结构示意框图之一;
37.图8示出了根据本发明的一个实施例的数据模型构建装置的结构示意框图之二。
具体实施方式
38.为了可以更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本技术的实施例及实施例中的特征可以相互组合。
39.在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
40.下面参照图1至图8描述根据本发明的一些实施例的数据模型构建方法、数据模型构建装置以及可读存储介质。
41.如图1所示,本发明一些实施例的数据模型构建方法,包括:
42.步骤102,将第一数据存储在n个第一数据容器中,n为正整数;
43.第一数据容器为内层容器,内层容器中存储的第一数据为根据用户需求设置的数据,本技术并不对数据的具体类型做出严格限制。
44.步骤104,根据第一数据容器中的类型信息,将n个第一数据容器中的至少部分数据容器分别存储在m个第二数据容器中,m为正整数;
45.根据类型信息,将存储某一类数据的第一数据容器存储在第二数据容器中,第二数据容器为中层容器,从而能够通过中层容器对内层容器进行分类,与相关技术中的
linkedlist(链接列表)数据结构相比,在处理多种类型数据的业务时,对某类数据的前一个内层容器或后一个内层容器操作时更加方便,使得在某一个内层容器的前面或后面插入一个新的内层容器更加方便。
46.可以理解的是,类型信息包括存储的数据类型,根据用户需求设置的分类规则和分类标准等,本技术并不对类型信息做出严格限制。
47.本技术并不对m和n的数量做出严格限制,可以理解的是,n代表中层容器对应的内层容器的数量,m代表中层容器的数量。n的数量可以由用户进行设置,任何整数个的n都在本技术的保护范围之内。
48.步骤106,对m个第二数据容器,分别配置相应的第一索引标识;
49.第一索引标识为中层容器标识符。每个第二数据容器配置有单独的索引标识,能够使得在单独处理某类数据时,根据索引标识查找相应的中层容器,与相关技术中的linkedlist数据结构只能从头遍历相比,可以从任意位置的内层容器开始遍历,满足处理多种类型数据的使用场景需求,从而提升数据模型面对多种类型数据业务请求的适配度,提升用户的使用体验。
50.步骤108,将n个第一数据容器构建为第一数据链表,以及将m个第二数据容器构建为第二数据链表;
51.第一数据链表为内层容器链表,第二数据链表为中层容器链表。构建内层容器链表,能够根据用户需求,根据索引标识快速查找某一个具体内层容器与相关技术中的linkedlist数据结构只能从头遍历相比,能够提升定位内层容器的速度。同时,查找某一个具体内层容器的时间复杂度为对数阶的时间复杂度,与相关技术中linkedlist数据结构的线性时间复杂度相比,执行相应算法消耗的时间更少,处理速度更快,能够提高查找某一个具体内层容器的执行效率。
52.构建内层容器链表,能够通过上一个内层容器查找下一个内层容器或通过下一个内层容器查找上一个内层容器,而相关技术中的linkedlist数据结构并未提供获取上一个内层容器或下一个内层容器的方法,只能通过减少或增加索引值的方式,从头遍历。本技术通过调用查找上一个内层容器或下一个内层容器的方式的时间复杂度为常数时间复杂度,与相关技术中的线性时间复杂度相比,执行相应算法消耗的时间更少,处理速度更快,能够提高查找上一个内层容器或下一个内层容器的执行效率。
53.构建内层容器链表,能够根据用户需求,在内层容器前方或后方插入新的内层容器,而相关技术中的linkedlist数据结构只能从头遍历在索引值对应的位置的前方插入。本技术的插入内层容器的方式更加灵活,同时在已定位内层容器的基础上插入,避免了相关技术中的循环遍历,提高了内层容器的插入效率。同时,时间复杂度为常数时间复杂度,与相关技术中的线性时间复杂度相比,执行相应算法消耗的时间更少,处理速度更快,能够提高查找上一个内层容器或下一个内层容器的执行效率。
54.构建中层容器链表,能够根据用户需求快速查找某一个中层容器,并根据某一个中层容器查找上一个中层容器或下一个中层容器,提高了中层容器的定位速度和查找速度,进一步提高用户的使用体验。
55.步骤110,根据第一数据链表和第二数据链表,构建目标数据模型。
56.目标数据模型由外层容器、中层容器和内层容器三部分组成。其中外层容器是一
类数据的访问句柄,用户能够根据访问句柄得到外层容器的所有信息,包括外层容器中的内层容器和中层容器。每个外层容器均设置有独立的外层容器标识符,外层容器是jvm(javavirtulmachine,java虚拟机)运行时的临时产物,外层容器标识符在运行的jvm内存中具有唯一性。
57.目标数据模型可以用于统计班次和工作人员的假勤统计场景,从而统计出相应的假勤日月报。目标数据模型用于统计假勤日月报时,能够统计多种类型数据的相关业务,将复杂的业务简单化,同时,能够满足用户提出的多班次、排班方式和休假等复杂使用需求,实现全场景覆盖。
58.当对内层容器链表进行遍历时,可以直接从内层容器链表的任意位置开始遍历,与相关技术中linkedlist数据结构只能从头遍历相比,遍历速度更快,遍历方式更丰富,能够满足用户的使用需求,提升用户的满意度。
59.当对内层容器链表进行遍历时,可以只遍历中层容器相关的内层容器,从中层容器中所包含的任意位置的内层容器开始遍历,从而能够根据数据的分类进行针对性的遍历,避免对内层容器的全部遍历,减少遍历的时间,提高遍历效率。
60.在对中层容器链表进行遍历时,可以从中层链表的任意位置开始遍历,避免从头遍历,提高遍历效率。
61.将第一数据存储在n个第一数据容器中,n为正整数,能够将内层容器外置,便于后续对内层容器的查找和插入;根据第一数据容器中的类型信息,将n个第一数据容器中的至少部分数据容器分别存储在m个第二数据容器中,m为正整数,能够根据中层容器对内层容器进行分类,进而提高内层容器的查找速度和插入速度;对m个第二数据容器,分别配置相应的第一索引标识,能够根据中层容器标识符查找相关联的内层容器,进一步提高内层容器的查找速度和插入速度;将n个第一数据容器构建为第一数据链表,以及将m个第二数据容器构建为第二数据链表,能够对内层容器执行相应的查找操作和插入操作,插入操作灵活的同时,降低时间复杂度,提高执行效率;根据第一数据链表和第二数据链表,构建目标数据模型,能够满足多种类型数据的应用场景的使用需求,提升用户的满意度。
62.本技术通过将第一数据存储在n个第一数据容器中,n为正整数,根据第一数据容器中的类型信息,将n个第一数据容器中的至少部分数据容器分别存储在m个第二数据容器中,m为正整数,能够根据类型信息的不同对第一数据容器进行分类,与相关技术中的linkedlist数据结构相比,能够根据类型信息对数据针对性的存储,从而提高针对某一类数据对应的数据容器的查找速度,便于对某一类数据对应的数据容器执行的相应操作;对m个第二数据容器,分别配置相应的第一索引标识,能够根据第一索引标识查找第一数据容器,提高数据容器的查找速度,便于第一数据容器的准确定位;将n个第一数据容器构建为第一数据链表,以及将m个第二数据容器构建为第二数据链表,能够针对第一数据链表和第二数据链表执行查找数据容器和插入数据容器的操作,与相关技术中的linkedlist数据结构从头遍历相比,不需要增加索引值,也降低了相应算法的时间复杂度,提高执行效率;根据第一数据链表和第二数据链表,构建目标数据模型,能够满足多种类型数据的业务场景使用需求,插入方式和查找方式更灵活,对某类数据对应的数据容器进行针对性的处理,提升用户的使用体验。
63.如图2所示,在本技术的一个实施例中,将n个第一数据容器构建为第一数据链表
包括:
64.步骤202,分别确定m个第二数据容器中第一数据容器所处的位置;
65.确定每个中层容器中的内层容器的位置,能够便于根据位置进行内层容器的查找,同时便于后续针对性的对某类数据的内层容器进行插入。
66.步骤204,根据第一数据容器所处的位置,将第一数据容器相互连接,得到m个第一数据容器序列;
67.将中层容器中的内层容器相互连接,保证中层容器对应内层容器数量的完整,同时也便于根据中层容器对内层容器执行相应的查找和插入操作。
68.步骤206,将未存储在第二数据容器中的第一数据容器插入至m个第一数据容器序列之间,得到第一数据链表。
69.将未对应中层容器的内层容器插入到第一数据容器序列之间,得到第一数据链表,能够保证第一数据链表的完整性,从而保证后续对内层容器进行查找和插入时,保证内层容器在数据链表中位置的准确性。
70.在该实施例中,分别确定m个第二数据容器中第一数据容器所处的位置,根据第一数据容器所处的位置,将第一数据容器相互连接,得到m个第一数据容器序列,能够在查找第一数据容器或插入新的第一数据容器时,能够第一数据容器的位置进行相应的查找或插入操作,从而保证查找或插入操作的准确性;将未存储在第二数据容器中的第一数据容器插入至m个第一数据容器序列之间,得到第一数据链表,能够保证第一数据链表的完整性,避免数据容器和数据容器中的数据查找不到现象的发生,从而满足多种类型数据的业务场景使用需求,提升用户的使用体验。
71.如图3所示,在本技术的一个实施例中,根据第一数据容器所处的位置,将第一数据容器相互连接,得到m个第一数据容器序列包括:
72.步骤302,确定m个第二数据容器中每个第二数据容器的首位第一数据容器和末位第一数据容器;
73.首位第一数据容器为首位内层容器,末位第一数据容器为末位内层容器。确定中层容器中的首位内层容器和末位内层容器,能够根据首位内层容器和末位内层容器进行相应的查找操作和插入操作时,确定查找方向和插入方向,使得查找操作和插入操作更简便,提高查找和插入的效率,提高用户的使用体验。
74.步骤304,将首位第一数据容器和末位第一数据容器之间的第一数据容器依次连接,得到m个第一数据容器序列。
75.将首位第一数据容器和末位第一数据容器之间的第一数据容器依次连接,从而能够根据从首位内层容器到末位内层容器的顺序或从末位内层容器到首位内层容器的顺序进行相应的查找操作和插入操作,提高了遍历方式的灵活性,从而保证查找操作和插入操作的准确性。
76.可以理解的是,可以根据用户需求对首位内层容器和末位内层容器之间的内层容器进行排列,从而提升用户的满意度。本技术并不对首位内层容器和末位内层容器之间的内层容器进行排列的方式作出严格地限制。
77.在该实施例中,确定m个第二数据容器中每个第二数据容器的首位第一数据容器和末位第一数据容器,能够根据首位内层容器或末位内层容器进行相应的查找操作和插入
操作时,确定查找方向和插入方向;将首位第一数据容器和末位第一数据容器之间的第一数据容器依次连接,得到m个第一数据容器序列,使得查找操作和插入操作时遍历查找其中的某一个具体内层容器更简便,与相关技术中的linkedlist数据结构从头全部遍历相比,本技术可以在某一个中层容器遍历,减少遍历内层容器的数量,减少相应算法的处理时间,提高执行效率,提高用户的使用体验,提升用户的满意度。
78.如图4所示,在本技术的一个实施例中,将未存储在第二数据容器中的第一数据容器插入至m个第一数据容器序列之间,得到第一数据链表包括:
79.步骤402,对m个第一数据容器序列进行随机排列,得到第一目标数据容器序列;
80.对内层容器序列进行随机排列时,在不改变内层容器中首位内层容器和末位内层容器的相对位置的情况下,可以调整内层容器序列中的内层容器位置,从而便于能够从任意位置的内层容器进行遍历,与相关技术中的linkedlist数据结构从头遍历相比,降低相应算法的时间复杂度,提高执行效率。
81.步骤404,将未存储在第二数据容器中的第一数据容器插入第一目标数据容器序列中,得到第一数据链表。
82.将未存储在第二数据容器中的第一数据容器插入第一目标数据容器序列中,能够保证第一数据链表的完整性,从而保证在对第一数据链表进行遍历时,能够查找到具体的内层容器,对其进行上一个内层容器或下一个内层容器的查找的准确性,并保证新的内层容器插入位置的准确性,提高用户的使用体验。
83.在该实施例中,对m个第一数据容器序列进行随机排列,得到第一目标数据容器序列,能够在对第一数据容器进行遍历时,可以从任意位置开始遍历,提高遍历的灵活性,与相关技术中linkedlist数据结构从头遍历相比,降低相应算法的时间复杂度,提高执行效率;将未存储在第二数据容器中的第一数据容器插入第一目标数据容器序列中,得到第一数据链表,保证第一数据链表的完整性,从而保证在对第一数据链表进行遍历时,能够查找到具体的内层容器,对其进行上一个内层容器或下一个内层容器的查找的准确性,并保证新的内层容器插入位置的准确性,提高用户的使用体验。
84.如图5所示,在本技术的一个实施例中,将未存储在第二数据容器中的第一数据容器插入至m个第一数据容器序列之间,得到第一数据链表还包括:
85.步骤502,根据预设排列规则,对m个第一数据容器序列进行排列,得到第二目标数据容器序列;
86.根据用户设置的预设排列规则,确定内层容器的排列顺序,得到第二目标数据容器序列,能够满足用户的使用需求,提升用户的满意度。本技术并不对预设排列规则做出严格限制。
87.步骤504,将未存储在第二数据容器中的第一数据容器插入第二目标数据容器序列中,得到第一数据链表。
88.将未存储在第二数据容器中的第一数据容器插入第二目标数据容器序列中,能够保证第一数据链表的完整性,从而保证在对第一数据链表进行遍历时,能够查找到具体的内层容器,对其进行上一个内层容器或下一个内层容器的查找的准确性,并保证新的内层容器插入位置的准确性,提高用户的使用体验。
89.在该实施例中,根据预设排列规则,对m个第一数据容器序列进行排列,得到第二
目标数据容器序列,能够根据用户需求确定第一数据容器序列;将未存储在第二数据容器中的第一数据容器插入第二目标数据容器序列中,得到第一数据链表,保证第一数据链表的完整性,从而保证在对第一数据链表进行遍历时,能够查找到具体的内层容器,对其进行上一个内层容器或下一个内层容器的查找的准确性,并保证新的内层容器插入位置的准确性,提高用户的使用体验。
90.在上述任一实施例中,将m个第二数据容器构建为第二数据链表包括:对m个第二数据容器进行随机排列,得到第二数据链表。
91.在该实施例中,对第二数据容器进行随机排列,得到第二数据链表,使得在对第二数据容器进行遍历时,可以从任意位置的第二数据容器开始遍历,与相关技术中的linkedlist数据结构从头遍历相比,降低相应算法的时间复杂度,提高执行效率,从而满足业务场景的使用需求,提高用户的使用体验。
92.在上述任一实施例中,第一数据链表和第二数据链表为双向链表结构。
93.在该实施例中,第一数据链表和第二数据链表为双向链表结构,可以使得对数据列表遍历时,可以选择从第一数据链表和第二数据链表的任意一侧开始遍历,与相关技术中的linkedlist数据结构从头遍历相比,执行效率更高,从而满足业务场景的使用需求,提高用户的使用体验。
94.如图6所示,在本技术的一个实施例中,目标数据模型包括外层容器,中层容器和内层容器三个部分。其中,外层容器包括中层容器和内层容器。
95.中层容器集合是一个提供键到值映射的集合,其中,中层容器的标识符为键,具体的中层容器为标识符映射的值。
96.中层容器标识符a映射的值为中层容器a,中层容器标识符b映射的值为中层容器b,中层容器标识符c映射的值为中层容器c。三个中层容器首尾相连,能够组成双向的中层容器链表。
97.可以理解的是,本技术并不严格要求中层容器a、中层容器b和中层容器c的连接方式,具体地,可以构成依次连接中层容器a、中层容器c和中层容器b的中层容器链表,也可以构成依次连接中层容器c、中层容器b和中层容器a的中层容器链表。本技术也不对中层容器的数量和标识符的具体形式作出严格限制。
98.示例性地,中层容器中仅存储有首位内层容器和末位内层容器,例如中层容器a中存储有首位内层容器a1和末位内从内层容器a3,中层容器b中存储有首位内层容器b1和末位内层容器b2,中层容器c中存储有首位内层容器c1和末位内层容器c3。中层容器中仅存储有首位内层容器和末位内层容器,不需要将与中层容器相关联的全部内层容器存储在中层容器中,从而节约中层容器所占据的空间。中层容器和内层容器是根据内层容器的类型信息建立的关联关系。本技术并不对中层容器关联的内层容器数量和类型信息作出严格限制。
99.可以理解的是,在查找内层容器的位置和插入新的内层容器时,可以通过中层容器根据首位内层容器到末位内层容器的顺序或末位内层容器到首位内层容器的顺序,进行遍历,在保证查找和插入操作准确性的同时,与相关技术中linkedlist数据结构从头遍历相比,执行效率更高,从而能够对内层容器进行针对性地操作,保证操作速度,满足业务场景的使用需求,提高用户的使用体验。
100.内层容器的数据中存在着与中层容器不对应的情况。在对所有内层容器组成双向结构的内层容器链表时,需要将不对应的内层容器插入至内层容器链表中,从而保证内层容器的完整。
101.可以理解的是,在构建内层容器链表时,可以对内层容器在内层容器链表的位置进行调整。以图6为例,内层容器a1位于内层容器b1之前,也可以将内层容器b1设置在内层容器a1之前。
102.当中层容器关联两个以上内层容器时,在构建内层容器链表对内层容器的位置进行调整时,不应改变首位内层容器a1和末位内层容器a3的相对位置关系,也即,在调整内层容器的位置时,内层容器a1始终在内层容器a3之前,内层容器a2始终在内层容器a1和内层容器a3之间,内层容器a2不会出现在内层容器a1之前,也不会出现在内层容器a3之后。
103.当中层容器仅关联一个内层容器时,可以将该内层容器的位置进行随机设置。
104.如图7所示,在本技术的一些实施例提出了一种数据模型构建装置700包括:存储单元702,存储单元702用于将第一数据存储在n个第一数据容器中,n为正整数;存储单元702还用于根据第一数据容器中的类型信息,将n个第一数据容器中的至少部分数据容器分别存储在m个第二数据容器中,m为正整数;配置单元704,配置单元704用于对m个第二数据容器,分别配置相应的第一索引标识;构建单元706,构建单元706用于将n个第一数据容器构建为第一数据链表,以及将m个第二数据容器构建为第二数据链表;构建单元706还用于根据第一数据链表和第二数据链表,构建目标数据模型。
105.在该实施例中,存储单元702用于将第一数据存储在n个第一数据容器中,n为正整数,存储单元702还用于根据第一数据容器中的类型信息,将n个第一数据容器中的至少部分数据容器分别存储在m个第二数据容器中,m为正整数,能够根据类型信息,将存储某一类数据的第一数据容器存储在第二数据容器中,从而能够通过第二数据容器对第一数据容器进行分类;配置单元704用于对m个第二数据容器,分别配置相应的第一索引标识,能够使得在单独处理某类数据时,能够根据索引标识查找相应的第二数据容器中的第一数据容器;构建单元706用于将n个第一数据容器构建为第一数据链表,以及将m个第二数据容器构建为第二数据链表,能够快速定位某一个类型信息对应的具体第一数据容器,并通过具体第一数据容器查找下一个第一数据容器或下一个第一数据容器,便于第一数据容器前方或后方插入新的第一数据容器,同时能够快速查找某一个第二数据容器,并根据某一个第二数据容器查找上一个第二数据容器或下一个第二数据容器,与相关技术中的linkedlist数据结构从头遍历相比,降低相应算法的时间复杂度,提高执行效率;构建单元706还用于根据第一数据链表和第二数据链表,构建目标数据模型,能够满足多种类型数据的业务场景使用需求,插入方式和查找方式更灵活,并对某类数据对应的数据容器进行针对性的处理,提升用户的使用体验。
106.在上述任一实施例中,构建单元706还用于分别确定m个第二数据容器中第一数据容器所处的位置能够针对性的对某类数据的第一数据容器进行插入。
107.在上述任一实施例中,构建单元706还用于根据第一数据容器所处的位置,将第一数据容器相互连接,得到m个第一数据容器序列,能够偶将中层容器中的内层容器相互连接,保证中层容器对应内层容器数量的完整,同时也便于根据中层容器对内层容器执行相应的查找和插入操作。
108.在上述任一实施例中,构建单元706还用于将未存储在第二数据容器中的第一数据容器插入至m个第一数据容器序列之间,得到第一数据链表,能够保证第一数据链表的完整性,保证第一数据容器定位的准确性和插入位置的准确性。
109.在上述任一实施例中,构建单元706还用于确定m个第二数据容器中每个第二数据容器的首位第一数据容器和末位第一数据容器,能够根据首位第一数据容器和末位第一数据容器进行相应的查找操作和插入操作时,确定查找方向和插入方向,使得查找操作和插入操作更简便,提高查找和插入的效率。
110.在上述任一实施例中,构建单元706还用于将首位第一数据容器和末位第一数据容器之间的第一数据容器依次连接,得到m个第一数据容器序列能够根据从首位内层容器到末位内层容器的顺序或从末位内层容器到首位内层容器的顺序进行相应的查找操作和插入操作,提高了遍历方式的灵活性,从而保证查找操作和插入操作的准确性。在上述任一实施例中,构建单元706还用于对m个第一数据容器序列进行随机排列,得到第一目标数据容器序列,能够从任意位置的内层容器进行遍历,与相关技术中的linkedlist数据结构从头遍历相比,降低相应算法的时间复杂度,提高执行效率。
111.在上述任一实施例中,构建单元706还用于将未存储在第二数据容器中的第一数据容器插入第一目标数据容器序列中,得到第一数据链表,能够保证第一数据链表的完整性,从而保证在对第一数据链表进行遍历时,能够查找到具体的第一数据容器,对其进行上一个第一数据容器或下一个第一数据容器的查找的准确性,并保证新的第一数据容器插入位置的准确性,提高用户的使用体验。
112.在上述任一实施例中,构建单元706还用于根据预设排列规则,对m个第一数据容器序列进行排列,得到第二目标数据容器序列,能够根据用户设置的预设排列规则,确定内层容器的排列顺序,得到第二目标数据容器序列,能够满足用户的使用需求,提升用户的满意度。
113.在上述任一实施例中,构建单元706还用于将未存储在第二数据容器中的第一数据容器插入第二目标数据容器序列中,得到第一数据链表,能够保证第一数据链表的完整性,从而保证在对第一数据链表进行遍历时,能够查找到具体的第一数据容器,对其进行上一个第一数据容器或下一个第一数据容器的查找的准确性,并保证新的第一数据容器插入位置的准确性,提高用户的使用体验。
114.在上述任一实施例中,构建单元706还用于将m个第二数据容器构建为第二数据链表包括:对m个第二数据容器进行随机排列,得到第二数据链表,能够在对第二数据容器进行遍历时,可以从任意位置的第二数据容器开始遍历,与相关技术中的linkedlist数据结构从头遍历相比,降低相应算法的时间复杂度,提高执行效率,从而满足业务场景的使用需求,提高用户的使用体验。
115.如图8所示,在本技术的一个实施例提出了一种数据模型构建装置800,包括:存储器802和处理器804,存储器802存储可在处理器804上运行的程序或指令,程序或指令被处理器804执行时实现如上述任一实施例的数据模型构建方法的步骤。
116.在该实施例中,数据模型构建装置800包括存储器802和处理器804,存储器802存储可在处理器804上运行的程序或指令,程序或指令被处理器804执行时实现如上述任一实施例的数据模型构建方法的步骤,从而具有上述任一实施例的全部有益技术效果,在此不
再赘述。
117.本技术的一个实施例提出了一种可读存储介质,其上存储有程序或指令,程序或指令被处理器执行时实现如上述任一实施例的数据模型构建方法的步骤。
118.在该实施例中,可读存储介质,其上存储有程序或指令,程序或指令被处理器执行时实现如上述任一实施例的数据模型构建方法的步骤,从而具有上述任一实施例的全部有益技术效果,在此不再赘述。
119.进一步地,可以理解的是,流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
120.在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
121.应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
122.本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
123.此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个可读取存储介质中。
124.上述提到的存储介质可以是只读存储器,磁盘或光盘等。
125.以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人
员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1