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

一种用于多维数据结构的分层数据存储方法及系统与流程

2022-10-13 04:45:11 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,具体而言,涉及一种用于多维数据结构的分层数据存储方法及系统。


背景技术:

2.近年来,针对现有互联网的诸多缺陷,人们也在不断改善和研究互联网。目前,在计算机网络中,由于网络数据不仅可存储在网络中的任意节点上,而且网络数据多种多样,通过单个关键字词查询已经不能满足当前复杂网络的查询需求。
3.由此可见,在多维数据的保存过程中,现有技术由于并未对多维数据进行合理有效的分类存储,导致不能快速支持用户的复杂查询,也就导致了用户在查询时容易出错且不便利。因此如何将多维数据进行有效分类和存储是目前亟需解决的问题。


技术实现要素:

4.本发明的目的在于提供一种用于多维数据结构的分层数据存储方法及系统,用以改善现有技术中未对多维数据进行合理有效的分类存储的问题。
5.本发明的实施例是这样实现的:
6.第一方面,本技术实施例提供一种用于多维数据结构的分层数据存储方法,其包括如下步骤:
7.步骤s110:获取待存储多维数据集,待存储多维数据集包含至少一个待存储数据;
8.步骤s120:将各个待存储数据依次输入至数据库中进行匹配,得到对应的数据结构;
9.步骤s130:根据任一待存储数据的数据结构,确定对应的数据特点;
10.步骤s140:根据数据特点,确定相匹配的数据存储层,并基于数据存储层,将该待存储数据存储至金字塔存储模型中;
11.步骤s150:重复执行步骤s130至s140,直至遍历所有待存储数据,同时筛选出存储失败的待存储数据;
12.步骤s160:利用预先建立的虚拟磁盘模拟任一存储失败的待存储数据的逻辑操作和物理操作,并计算逻辑操作和物理操作的总代价值;
13.步骤s170:根据总代价值,确定该待存储数据的性能特点,并基于性能特点,将该待存储数据存储至金字塔存储模型中。
14.在本发明的一些实施例中,上述将该待存储数据存储至金字塔存储模型中的同时,利用预设聚类算法对任一数据存储层中的所有存储数据进行分类,得到多个资源簇;
15.根据所有资源簇,建立多维索引。
16.在本发明的一些实施例中,上述根据所有资源簇,建立多维索引的步骤之后,该方法还包括:
17.获取并根据用户的查询请求,确定查询数据的特点和属性值信息;
18.根据查询数据的特点,确定对应的数据存储层;
19.根据属性值信息,从该数据存储层中定位得到对应的资源簇,并向用户提供资源簇。
20.在本发明的一些实施例中,上述根据属性值信息,从该数据存储层中定位得到对应的资源簇,并向用户提供资源簇的步骤包括:
21.若查询数据来自多个资源簇,则按照匹配权重对多个资源簇进行排序,并向用户提供排序后的资源簇。
22.在本发明的一些实施例中,上述步骤s150之后,该方法还包括:
23.根据金字塔存储模型中存储的数据量和待存储多维数据集中的数据量,计算得到存储完成度;
24.根据存储完成度,对各个数据存储层进行调整。
25.在本发明的一些实施例中,上述基于数据存储层,将该待存储数据存储至金字塔存储模型中的步骤之前,该方法还包括:
26.获取多种数据特点;
27.根据任一数据特点,配置对应的数据存储层,其中,任一数据存储层存储的数据具有相同的性能特点;
28.利用所有数据存储层,构建金字塔存储模型。
29.在本发明的一些实施例中,上述利用预先建立的虚拟磁盘模拟任一存储失败的待存储数据的逻辑操作和物理操作的步骤之前,该方法还包括:
30.获取待存储多维数据集所处的真实磁盘信息;
31.根据真实磁盘信息,创建相匹配的虚拟磁盘。
32.第二方面,本技术实施例提供一种用于多维数据结构的分层数据存储系统,其包括:
33.数据集获取模块,用于获取待存储多维数据集,待存储多维数据集包含至少一个待存储数据;
34.数据结构匹配模块,用于将各个待存储数据依次输入至数据库中进行匹配,得到对应的数据结构;
35.数据特点确定模块,用于根据任一待存储数据的数据结构,确定对应的数据特点;
36.数据存储层确定模块,用于根据数据特点,确定相匹配的数据存储层,并基于数据存储层,将该待存储数据存储至金字塔存储模型中;
37.数据筛选模块,用于重复执行数据特点确定模块至数据存储层确定模块,直至遍历所有待存储数据,同时筛选出存储失败的待存储数据;
38.总代价值计算模块,用于利用预先建立的虚拟磁盘模拟任一存储失败的待存储数据的逻辑操作和物理操作,并计算逻辑操作和物理操作的总代价值;
39.性能特点确定模块,用于根据总代价值,确定该待存储数据的性能特点,并基于性能特点,将该待存储数据存储至金字塔存储模型中。
40.第三方面,本技术实施例提供一种电子设备,其包括存储器,用于存储一个或多个程序;处理器。当一个或多个程序被处理器执行时,实现如上述第一方面中任一项的方法。
41.第四方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,
该计算机程序被处理器执行时实现如上述第一方面中任一项的方法。
42.相对于现有技术,本发明的实施例至少具有如下优点或有益效果:
43.本发明提供一种用于多维数据结构的分层数据存储方法及系统,其包括如下步骤:步骤s110:获取待存储多维数据集,待存储多维数据集包含至少一个待存储数据。步骤s120:将各个待存储数据依次输入至数据库中进行匹配,得到对应的数据结构。步骤s130:根据任一待存储数据的数据结构,确定对应的数据特点。步骤s140:根据数据特点,确定相匹配的数据存储层,并基于数据存储层,将该待存储数据存储至金字塔存储模型中。步骤s150:重复执行步骤s130至s140,直至遍历所有待存储数据,同时筛选出存储失败的待存储数据。由于各个数据存储层只存储对应数据特点的数据,则重复执行步骤s130至s140,在存储所有待存储数据的过程中,会存在存储失败的待存储数据,将这些存储失败的待存储数据全部筛选出来,以进行后续判断,进一步确定数据存储层。步骤s160:利用预先建立的虚拟磁盘模拟任一存储失败的待存储数据的逻辑操作和物理操作,并计算逻辑操作和物理操作的总代价值。其中,预先建立的虚拟磁盘与真实磁盘的容量大小一致,以保证利用虚拟磁盘模拟任一存储失败的待存储数据的逻辑操作和物理操作,得到的总代价值的准确性。步骤s170:根据总代价值,确定该待存储数据的性能特点,并基于性能特点,将该待存储数据存储至金字塔存储模型中。其中,任一数据存储层存储的数据具有相同的性能特点。则根据总代价值,可以确定该待存储数据的性能特点,进而根据性能特点进一步确定数据存储层,以将该待存储数据存储至金字塔存储模型中。从而实现了对待存储多维数据集中的待存储数据进行有效合理的分类存储的目的,也就为支持用户的快速查询提供了基础。
附图说明
44.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
45.图1为本发明实施例提供的一种用于多维数据结构的分层数据存储方法的流程图;
46.图2为本发明实施例提供的另一种用于多维数据结构的分层数据存储方法的流程图;
47.图3为本发明实施例提供的又一种用于多维数据结构的分层数据存储方法的流程图;
48.图4为本发明实施例提供的一种用于多维数据结构的分层数据存储系统的结构框图;
49.图5为本发明实施例提供的一种电子设备的示意性结构框图。
50.图标:110-数据集获取模块;120-数据结构匹配模块;130-数据特点确定模块;140-数据存储层确定模块;150-数据筛选模块;160-总代价值计算模块;170-性能特点确定模块;101-存储器;102-处理器;103-通信接口。
具体实施方式
51.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。
52.因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
53.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
54.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,若出现术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,若出现由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
55.在本技术的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该申请产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。
56.在本技术的描述中,还需要说明的是,除非另有明确的规定和限定,若出现术语“设置”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本技术中的具体含义。
57.下面结合附图,对本技术的一些实施方式作详细说明。在不冲突的情况下,下述的各个实施例及实施例中的各个特征可以相互组合。
58.实施例
59.请参照图1,图1所示为本发明实施例提供的一种用于多维数据结构的分层数据存储方法的流程图。本技术实施例提供一种用于多维数据结构的分层数据存储方法,其包括如下步骤:
60.步骤s110:获取待存储多维数据集,待存储多维数据集包含至少一个待存储数据;
61.步骤s120:将各个待存储数据依次输入至数据库中进行匹配,得到对应的数据结构;
62.其中,上述数据库中包含有种类丰富的数据结构。上述数据结构是指数据的逻辑
结构和存储方法。
63.示例性的,上述数据结构包括线性表、栈、队列和串。
64.步骤s130:根据任一待存储数据的数据结构,确定对应的数据特点;
65.具体的,不同的数据结构具有不同的数据特点。比如线性表按存储方式可分为顺序表和链表。顺序表的特点是元素按逻辑顺序依次存储在一块连续的存储空间中,故是一种随机存取结构。从而根据各个待存储数据的数据结构,可以确定各个待存储数据的数据特点。
66.步骤s140:根据数据特点,确定相匹配的数据存储层,并基于数据存储层,将该待存储数据存储至金字塔存储模型中;
67.其中,上述金字塔存储模型包含多个数据存储层,且按各个数据存储层的存储容量进行配置,将存储容量较小的数据存储层放在金字塔存储模型的顶端,将存储容量较大的数据存储层放在金字塔存储模型的底端。具体的,不同的数据存储层只存储对应数据特点的数据。则根据各个待存储数据的数据特点,分别将各个待存储数据存储至金字塔存储模型中对应的数据存储层中。
68.步骤s150:重复执行步骤s130至s140,直至遍历所有待存储数据,同时筛选出存储失败的待存储数据;
69.具体的,由于各个数据存储层只存储对应数据特点的数据,则重复执行步骤s130至s140,在存储所有待存储数据的过程中,会存在存储失败的待存储数据,将这些存储失败的待存储数据全部筛选出来,以进行后续判断,进一步确定数据存储层。
70.步骤s160:利用预先建立的虚拟磁盘模拟任一存储失败的待存储数据的逻辑操作和物理操作,并计算逻辑操作和物理操作的总代价值;
71.其中,预先建立的虚拟磁盘与真实磁盘的容量大小一致,以保证利用虚拟磁盘模拟任一存储失败的待存储数据的逻辑操作和物理操作,得到的总代价值的准确性。
72.示例的,上述对存储失败的待存储数据的逻辑操作和物理操作可以为:在虚拟磁盘上读取一个数据页的代价用a表示,把数据页写到虚拟磁盘的另一个随机位置的代价用b表示,数据页从一种存储状态转换为另一种状态的代价等于对这个数据页进行物理操作和逻辑操作的代价。
73.步骤s170:根据总代价值,确定该待存储数据的性能特点,并基于性能特点,将该待存储数据存储至金字塔存储模型中。
74.具体的,任一数据存储层存储的数据具有相同的性能特点。则根据总代价值,可以确定该待存储数据的性能特点,进而根据性能特点进一步确定数据存储层,以将该待存储数据存储至金字塔存储模型中。从而实现了对待存储多维数据集中的待存储数据进行有效合理的分类存储的目的,也就为支持用户的快速查询提供了基础。
75.在本实施例的一些实施方式中,上述将该待存储数据存储至金字塔存储模型中的同时,利用预设聚类算法对任一数据存储层中的所有存储数据进行分类,得到多个资源簇;
76.根据所有资源簇,建立多维索引。
77.其中,上述预设聚类算法可以为k-means或k-medoids。
78.具体的,通过预设聚类算法对各个数据存储层中的所有存储数据进行分类,得到多个资源簇,在一个资源簇中的数据之间比不在同一资源簇的数据之间具有更多的相似
性。从而根据各个数据存储层中的所有资源簇,建立多维索引,通过该多维索引可以索引到任一数据存储层的任一资源簇。
79.请参照图2,图2所示为本发明实施例提供的另一种用于多维数据结构的分层数据存储方法的流程图。在本实施例的一些实施方式中,上述根据所有资源簇,建立多维索引的步骤之后,该方法还包括:
80.获取并根据用户的查询请求,确定查询数据的特点和属性值信息;
81.根据查询数据的特点,确定对应的数据存储层;
82.根据属性值信息,从该数据存储层中定位得到对应的资源簇,并向用户提供资源簇。
83.上述实现过程中,当响应于用户的查询请求时,根据查询数据的特点和属性值信息,利用多维索引可以快速定位到对应的资源簇。
84.在本实施例的一些实施方式中,上述根据属性值信息,从该数据存储层中定位得到对应的资源簇,并向用户提供资源簇的步骤包括:
85.若查询数据来自多个资源簇,则按照匹配权重对多个资源簇进行排序,并向用户提供排序后的资源簇。具体的,通过排序后的资源簇可以直观反映各个资源簇分别对于上述查询请求的重要性。
86.请参照图3,图3所示为本发明实施例提供的又一种用于多维数据结构的分层数据存储方法的流程图。在本实施例的一些实施方式中,上述步骤s150之后,该方法还包括:
87.根据金字塔存储模型中存储的数据量和待存储多维数据集中的数据量,计算得到存储完成度;
88.根据存储完成度,对各个数据存储层进行调整。
89.示例性的,如果待存储多维数据集中数据特点c的数据量为100、数据特点d的数据量为200。在步骤s150之后,成功存储至金字塔存储模型中的数据特点c的数据量为80,成功存储至金字塔存储模型中的数据特点d的数据量为180,则数据特点c的存储完成度为80%,数据特点d的存储完成度为90%。从而根据各个数据特点的存储完成度,对各个数据特点配置的数据存储层进行调整,进一步提高数据的存储完成度。
90.在本实施例的一些实施方式中,上述基于数据存储层,将该待存储数据存储至金字塔存储模型中的步骤之前,该方法还包括:
91.获取多种数据特点;
92.根据任一数据特点,配置对应的数据存储层,其中,任一数据存储层存储的数据具有相同的性能特点;
93.利用所有数据存储层,构建金字塔存储模型。
94.具体的,首先根据各个数据特点,配置对应的数据存储层。然后按照各个数据存储层的存储容量构建金字塔存储模型,将存储容量较小的数据存储层放在金字塔存储模型的顶端,将存储容量较大的数据存储层放在金字塔存储模型的底端。
95.在本实施例的一些实施方式中,上述利用预先建立的虚拟磁盘模拟任一存储失败的待存储数据的逻辑操作和物理操作的步骤之前,该方法还包括:
96.获取待存储多维数据集所处的真实磁盘信息;
97.根据真实磁盘信息,创建相匹配的虚拟磁盘。从而使得预先建立的虚拟磁盘与真
memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electric erasable programmable read-only memory,eeprom)等。
109.处理器102可以是一种集成电路芯片,具有信号处理能力。该处理器102可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
110.可以理解,图5所示的结构仅为示意,电子设备还可包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。图5中所示的各组件可以采用硬件、软件或其组合实现。
111.在本技术所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
112.另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
113.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
114.以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
115.对于本领域技术人员而言,显然本技术不限于上述示范性实施例的细节,而且在不背离本技术的精神或基本特征的情况下,能够以其它的具体形式实现本技术。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本技术的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本技术内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
再多了解一些

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

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

相关文献