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

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

2021-11-05 19:11:00 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,特别是涉及一种数据处理方法、装置、电子设备和存储介质。


背景技术:

2.随着计算机技术的发展,各种数据的体量越来越大,对于数据处理的难度也越来越高。尤其是非结构化的数据,非结构化的数据是计算机无法直接理解的数据,例如图片、视频、文本等。
3.目前,传统的数据处理方式无法高效的处理非结构化数据。


技术实现要素:

4.有鉴于此,本技术实施例提供一种数据处理方法、装置、电子设备和存储介质,以实现高效的处理非结构化数据。
5.第一方面,提供了一种数据查询方法,所述方法应用于电子设备,所述方法包括:
6.接收数据查询请求,所述数据查询请求至少包括参考数据。
7.基于所述参考数据,确定所述数据查询请求对应的目标索引方式。
8.基于所述目标索引方式,确定所述数据查询请求对应的至少一个目标数据。
9.第二方面,提供了一种数据存储方法,所述方法应用于电子设备,所述方法包括:
10.接收索引构建请求,所述索引构建请求包括原始数据的数据类型和数据特性。
11.根据所述数据类型和数据特性确定对应的索引创建方式。
12.根据所述索引创建方式,构建原始数据的索引,并对所述原始数据进行对应的存储。
13.第三方面,提供了一种数据查询装置,所述装置应用于电子设备,所述装置包括:
14.第一接收模块,用于接收数据查询请求,所述数据查询请求至少包括参考数据。
15.第一确定模块,用于基于所述参考数据,确定所述数据查询请求对应的目标索引方式。
16.查询模块,用于基于所述目标索引方式,确定所述数据查询请求对应的至少一个目标数据。
17.第四方面,提供了一种数据存储装置,所述装置应用于电子设备,所述装置包括:
18.第二接收模块,用于接收索引构建请求,所述索引构建请求包括原始数据的数据类型和数据特性。
19.第二确定模块,用于根据所述数据类型和数据特性确定对应的索引创建方式。
20.存储模块,用于根据所述索引创建方式,构建原始数据的索引,并对所述原始数据进行对应的存储。
21.第五方面,本技术实施例提供了一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理
器执行以实现如第一方面和第二方面所述的方法。
22.第六方面,本技术实施例提供了一种计算机存储介质,其上存储计算机程序指令,所述计算机程序指令在被处理器执行时实现如第一方面和第二方面所述的方法。
23.通过本技术实施例,可以在存储数据时基于原始数据的数据类型和数据特性确定适合原始数据的索引创建方式,然后根据适合原始数据的索引创建方式创建原始数据的索引并存储原始数据。这样,在接收到数据查询请求时,本技术实施例可以根据适应的索引方式,对目标数据进行查询,提高了数据处理的效率。
附图说明
24.通过以下参照附图对本技术实施例的描述,本技术实施例的上述以及其它目的、特征和优点将更为清楚,在附图中:
25.图1为本技术实施例数据查询方法的流程图;
26.图2为本技术实施例基于路由索引确定目标数据的流程图;
27.图3为本技术实施例基于路由索引和压缩索引确定目标数据的流程图;
28.图4为本技术实施例基于压缩索引和全量索引确定目标数据的流程图;
29.图5为本技术实施例基于路由索引、压缩索引和全量索引确定目标数据的流程图;
30.图6为本技术实施例数据存储方法的流程图;
31.图7为本技术实施例数据查询装置的结构示意图;
32.图8为本技术实施例数据存储装置的结构示意图;
33.图9为本技术实施例提供的一种电子设备的结构示意图;
34.图10为本技术实施例提供的另一种电子设备的结构示意图。
具体实施方式
35.以下基于实施例对本技术进行描述,但是本技术并不仅仅限于这些实施例。在下文对本技术的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本技术。为了避免混淆本技术的实质,公知的方法、过程、流程、元件和电路并没有详细叙述。
36.此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。
37.除非上下文明确要求,否则在说明书的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
38.在本技术的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本技术的描述中,除非另有说明,“多个”的含义是两个或两个以上。
39.在相关技术中,对于非结构化数据,一般会通过近似最近邻搜索(approximate nearest neighbor search,anns)来对非结构化数据进行查询,其中,anns是通过一个参考数据与数据库中的数据之间的距离(即相似度)来确定与该参考数据最相似的一个或多个目标数据,进而实现非结构化数据的查询。具体的,通过anns可以将非结构化数据表示为高维空间上的向量,然后在高维空间计算向量之间的距离,进而实现非结构化数据的查询。
40.在相关技术中,anns主要采用的查询方式主要包括基于聚类的索引方式、基于图或树结构的索引方式、基于量化的索引方式和基于哈希的索引方式。其中,由于图或树结构的索引以维度的指数作为索引的空间复杂度和检索的时间复杂度,所以难以应用于高维度的向量空间。而基于哈希的索引方式因为哈希表结构需要大量的存储空间,所以不适用于海量的数据集。
41.而聚类的索引方式和基于量化的索引方式并不能同时满足低查询时间和高查询精度,所以,传统的数据处理方式无法高效的处理非结构化数据。
42.为了解决上述问题,本技术实施例提供一种数据查询方法,该方法可以应用于电子设备。其中,电子设备可以是终端或者服务器,终端可以是智能手机、平板电脑或者个人计算机(personal computer,pc)等,服务器可以是单个服务器,也可以是以分布式方式配置的服务器集群,还可以是云服务器。
43.下面将结合具体实施方式,对本技术实施例的数据查询方法进行详细的说明,如图1所示,具体步骤如下:
44.在步骤11,接收数据查询请求。
45.其中,数据查询请求至少包括参考数据。参考数据是本技术实施例在进行数据查询时参照用的数据,例如,若本技术实施例在进行图片查询,则参考数据可以是一张图片a,然后,电子设备可以根据该图片a在数据库进行查询,然后确定数据库中与图片a相匹配的目标图片(目标数据)。
46.在步骤12,基于参考数据,确定数据查询请求对应的目标索引方式。
47.在本技术实施例中,可以通过多层级的索引来实现不同的查询目的,其中,目标索引方式可以包括路由索引、压缩索引和全量索引中的一种或多种。
48.具体的,路由索引可以用于确定参考数据对应的目标索引标签,压缩索引可以用于确定参考数据在各压缩数据集中对应的目标压缩数据,全量索引可以用于确定参考数据在各全量数据集中对应的目标全量数据。
49.在本技术实施例中,通过路由索引和压缩索引可以进行快速查询,通过全量索引可以进行精确查询。因此,通过多种索引结合的查询方式可以实现快速、精确的查询。也就是说,通过上述一种或多种索引方式所构建的多层级索引结构,可以用于应对不同的应用场景。
50.在步骤13,基于目标索引方式,确定数据查询请求对应的至少一个目标数据。
51.通过本技术实施例,可以通过目标索引方式来对数据库中的数据进行特定方式的查询,以确定至少一个目标数据。在此过程中,本技术实施例可以基于合适的索引方式来进行数据查询,所以,通过本技术实施例可以实现快速、精确的数据查询。
52.在一种优选的实施方式中,如果本技术实施例基于参考数据确定的目标索引方式为路由索引,则步骤13可以执行为:基于预先设置的第一索引算法和参考数据,确定参考数据对应的至少一个目标索引标签,确定各目标索引标签对应的目标数据集,以及根据参考数据和各目标数据集中数据的相似度,确定至少一个目标数据。
53.例如,如图2所示,图2为本技术实施例基于路由索引确定目标数据的流程图。其中,数据查询请求21包括参考数据211,索引标签包括索引标签221、索引标签222、索引标签223和索引标签224,每个索引标签可以分别对应一个目标数据集(索引标签221对应目标数
据集a,索引标签222对应目标数据集b,索引标签223对应目标数据集c,索引标签224对应目标数据集d)。
54.在确定目标数据23的过程中,本技术实施例可以先基于第一索引算法来确定参考数据211和各索引标签之间的相似度,然后根据参考数据211和各索引标签之间的相似度来确定与参考数据211相似度较高的一个或多个索引标签。在图2中,与参考数据211相似度较高的索引标签为索引标签221和索引标签223。
55.在一种优选的实施方式中,第一索引算法可以为分层导航小世界(hierarchical navigable small world,hnsw)算法、倒排文件(inverted file,ivf)算法或者倒排多索引(inverted multi

index,imi)算法。
56.其中,hnsw是一种近似最近邻搜索算法,具体的,hnsw是一种基于图的最邻近搜索算法,hnsw是把d维空间中所有的向量构建成一张相互联通的图,并基于这张图搜索与某个顶点最邻近的多个点。
57.ivf是一种通过聚类进行查询的算法,具体的,ivf可以对不同的向量空间进行聚类,然后针对每个聚类进行查询,这样,可以降低查询的计算量,提高查询速度。
58.imi是点积量化算法的变种,imi可以将数据维度划分为两份,分别使用聚类算法将数据的一半维度划分到不同的中心点中。相比于ivf,imi采用大量的中心点,更加适用于数据密集的场景。
59.在确定索引标签221和索引标签223之后,本技术实施例可以确定索引标签221和索引标签223各自对应的目标数据集(即目标数据集a和目标数据集c)。
60.在确定目标数据集a和目标数据集c之后,本技术实施例可以根据参考数据211和各目标数据集中数据的相似度,确定目标数据23,其中,图2中的目标数据23既可以表征单个目标数据,也可以表征目标数据的集合。
61.通过本技术实施例,可以先确定索引标签,然后再根据索引标签来进一步确定目标数据。在此过程中,无需计算参考数据和每一个数据集中数据的相似度,仅需计算参考数据和目标数据集中数据的相似度即可,节省了运算量,提高了数据查询的效率。
62.另外,在一种优选的实施方式中,索引标签可以用于表征对应数据集的聚类特征。
63.进而,本技术实施例基于第一索引算法和参考数据确定目标索引标签的过程可以执行为:基于预先设置的第一索引算法,确定参考数据和各数据集的索引标签之间的相似度,然后基于预先设置的第一相似度条件,确定相似度满足第一相似度条件的至少一个目标索引标签。
64.其中,第一相似度条件可以是参考数据和各数据集的索引标签之间的相似度大于一个预定阈值,该阈值可以是根据实际情况进行设置的数值。当参考数据和某一个/多个数据集的索引标签之间的相似度大于预定阈值时,本技术实施例可以将相似度大于预定阈值的索引标签确定为目标索引标签。
65.在另一种优选的实施方式中,如果本技术实施例基于参考数据确定的目标索引方式为路由索引和压缩索引,则步骤13可以执行为:基于预先设置的第一索引算法和参考数据,确定参考数据对应的至少一个目标索引标签,然后基于预先设置的第二索引算法和参考数据,在各目标索引标签对应的压缩数据集中确定至少一个目标压缩数据,然后根据目标压缩数据确定目标数据。
66.其中,每个索引标签分别对应一个压缩数据集。
67.例如,如图3所示,图3为本技术实施例基于路由索引和压缩索引确定目标数据的流程图。其中,数据查询请求31包括参考数据311,索引标签包括索引标签321、索引标签322、索引标签323和索引标签324,每个索引标签可以分别对应一个压缩数据集(索引标签321对应压缩数据集e,索引标签322对应压缩数据集f,索引标签323对应压缩数据集g,索引标签324对应压缩数据集h)。
68.在确定目标数据34的过程中,本技术实施例可以先基于第一索引算法来确定参考数据311和各索引标签之间的相似度,然后根据参考数据311和各索引标签之间的相似度来确定与参考数据311相似度较高的一个或多个索引标签。在图3中,与参考数据311相似度较高的索引标签为索引标签321和索引标签323。
69.在确定索引标签321和索引标签323之后,本技术实施例可以确定索引标签321和索引标签323各自对应的压缩数据集(即压缩数据集e和压缩数据集g)。
70.然后,本技术实施例可以基于第二索引算法来确定参考数据311和压缩数据集e、压缩数据集g中各压缩数据之间的相似度,然后根据参考数据311和压缩数据集e、压缩数据集g中各压缩数据之间的相似度来确定与参考数据311相似度较高的目标压缩数据33,其中,目标压缩数据33可以用于表征单个目标压缩数据,也可以用于表征目标压缩数据的集合。
71.在一种优选的实施方式中,第二索引算法可以为标量量化(scalar quantizer,sq)算法或者乘积量化(product quantizer,pq)算法。
72.其中,sq和pq可以在压缩索引内使用量化后的数据,不仅能够有效地减少内存需求,而且能够加快检索速度。使用量化索引结构的压缩索引能够将所有的量化数据和索引结构保存在内存中。
73.在确定目标压缩数据33之后,本技术实施例可以根据目标压缩数据33来确定目标数据34。
74.其中,本技术实施例可以根据压缩数据与全量数据之间的对应关系,先确定目标压缩数据33对应的全量数据,然后根据参考数据311和目标压缩数据33对应的全量数据之间的相似度,确定与参考数据311相似度较高的全量数据为目标数据34。
75.通过本技术实施例,可以先确定索引标签,然后再根据索引标签来进一步确定目标压缩数据,然后再根据压缩数据来进一步确定目标数据(例如通过压缩数据确定压缩数据对应的全量数据)。在此过程中,无需计算参考数据和每一个数据集中数据的相似度,而且,由于压缩索引是针对量化的压缩数据进行索引,所以,通过路由索引和压缩索引的方式,可以实现在电子设备内存中快速检索,节省了运算量,提高了数据查询的效率。
76.另外,本技术实施例基于第二索引算法和参考数据确定目标压缩数据的过程可以执行为:确定各目标索引标签对应的压缩数据集,然后基于预先设置的第二索引算法,确定参考数据和各压缩数据集中压缩数据之间的相似度,然后基于预先设置的第二相似度条件,确定相似度满足第二相似度条件的至少一个目标压缩数据。
77.其中,第二相似度条件可以是参考数据和各压缩数据集中压缩数据之间的相似度大于一个预定阈值,该阈值可以是根据实际情况进行设置的数值。当参考数据和某一个/多个压缩数据之间的相似度大于预定阈值时,本技术实施例可以将相似度大于预定阈值的压
缩数据确定为目标压缩数据。
78.在另一种优选的实施方式中,如果本技术实施例基于参考数据确定的目标索引方式为压缩索引和全量索引,则步骤13可以执行为:基于预先设置的第二索引算法和参考数据,在压缩数据集中确定至少一个目标压缩数据,然后基于预先设置的第三索引算法和参考数据,在各目标压缩数据对应的全量数据中确定至少一个目标数据。
79.其中,每个压缩数据分别对应一个全量数据。
80.例如,如图4所示,图4为本技术实施例基于压缩索引和全量索引确定目标数据的流程图。其中,数据查询请求41包括参考数据411。
81.在确定目标数据44的过程中,本技术实施例可以先基于第二索引算法来确定参考数据411和各压缩数据集(压缩数据集e、压缩数据集f、压缩数据集g和压缩数据集h)中的压缩数据之间的相似度,然后根据参考数据411和各压缩数据集中的压缩数据之间的相似度,确定与参考数据411相似度较高的目标压缩数据42。其中,目标压缩数据42可以用于表征单个目标压缩数据,也可以用于表征目标压缩数据的集合。
82.在确定目标压缩数据42之后,本技术实施例可以根据压缩数据与全量数据之间的对应关系,确定目标压缩数据42对应的目标全量数据43。
83.在确定目标全量数据43之后,本技术实施例可以基于第三索引算法来确定参考数据411和目标全量数据43之间的相似度,然后根据参考数据411和目标全量数据43之间的相似度,确定与参考数据411相似度较高的目标全量数据43为目标数据44。
84.在一种优选的实施方式中,第三索引算法可以为全量精确搜索算法,例如,第三索引算法可以为计算全量向量之间距离的算法,计算得到的距离即为数据相似度。
85.通过本技术实施例,可以先确定与参考数据相似的目标压缩数据,然后再根据目标压缩数据对应的全量数据来确定目标数据。在此过程中,无需计算参考数据和每一个数据集中数据的相似度,而且,由于压缩索引是针对量化的压缩数据进行索引,所以,通过压缩索引和全量索引的方式,可以在保证精度的同时节省运算量,提高了数据查询的效率。
86.另外,在一种优选的实施方式中,压缩数据集还可以包括对应的码本,其中,码本可以用于记录压缩数据集中各压缩数据和存储介质中各全量数据之间的对应关系。
87.进而,本技术实施例基于第三索引算法和参考数据确定目标数据的过程可以执行为:基于各压缩数据集对应的码本,确定各目标压缩数据对应的全量数据,然后基于预先设置的第三索引算法,确定参考数据和各目标压缩数据对应的全量数据之间的相似度,然后基于预先设置的第三相似度条件,确定相似度满足第三相似度条件的至少一个目标数据。
88.其中,第三相似度条件可以是参考数据和各目标压缩数据对应的全量数据之间的相似度大于一个预定阈值,该阈值可以是根据实际情况进行设置的数值。当参考数据和某一个/多个全量数据之间的相似度大于预定阈值时,本技术实施例可以将相似度大于预定阈值的全量数据确定为目标数据。
89.在另一种优选的实施方式中,如果本技术实施例基于参考数据确定的目标索引方式为路由索引、压缩索引和全量索引,则步骤13可以执行为:基于预先设置的第一索引算法和参考数据,确定参考数据对应的至少一个目标索引标签,然后基于预先设置的第二索引算法和参考数据,在各目标索引标签对应的压缩数据集中确定至少一个目标压缩数据,然后基于预先设置的第三索引算法和参考数据,在各目标压缩数据对应的全量数据中确定至
少一个目标数据。
90.其中,每个索引标签分别对应一个压缩数据集,每个压缩数据分别对应一个全量数据。
91.例如,如图5所示,图5为本技术实施例基于路由索引、压缩索引和全量索引确定目标数据的流程图。其中,数据查询请求51包括参考数据511,索引标签包括索引标签521、索引标签522、索引标签523和索引标签524,每个索引标签可以分别对应一个压缩数据集(索引标签521对应压缩数据集e,索引标签522对应压缩数据集f,索引标签523对应压缩数据集g,索引标签524对应压缩数据集h)。
92.在确定目标数据54的过程中,本技术实施例可以先基于第一索引算法来确定参考数据511和各索引标签之间的相似度,然后根据参考数据511和各索引标签之间的相似度来确定与参考数据511相似度较高的一个或多个索引标签。在图5中,与参考数据511相似度较高的索引标签为索引标签521和索引标签523。
93.在确定索引标签521和索引标签523之后,本技术实施例可以确定索引标签521和索引标签523各自对应的压缩数据集(即压缩数据集e和压缩数据集g)。
94.然后,本技术实施例可以基于第二索引算法来确定参考数据511和压缩数据集e、压缩数据集g中各压缩数据之间的相似度,然后根据参考数据511和压缩数据集e、压缩数据集g中各压缩数据之间的相似度来确定与参考数据511相似度较高的目标压缩数据53,其中,目标压缩数据53可以用于表征单个目标压缩数据,也可以用于表征目标压缩数据的集合。
95.在确定目标压缩数据53之后,本技术实施例可以根据压缩数据与全量数据之间的对应关系,确定目标压缩数据53对应的目标全量数据54。
96.在确定目标全量数据54之后,本技术实施例可以基于第三索引算法来确定参考数据511和目标全量数据54之间的相似度,然后根据参考数据511和目标全量数据54之间的相似度,确定与参考数据511相似度较高的目标全量数据54为目标数据55。其中,目标数据55可以用于表征单个目标数据,也可以用于表征目标数据的集合。
97.通过本技术实施例,可以先确定索引标签,然后根据索引标签来确定目标压缩数据,然后根据目标压缩数据对应的全量数据来确定目标数据。在此过程中,无需计算参考数据和每一个数据集中数据的相似度,可以在保证精度的同时节省运算量,提高了数据查询的效率。
98.以上实施例从数据查询的角度对本技术实施例进行解释说明,下面将结合具体实施方式,从数据存储的角度对本技术实施例进行解释说明,具体的,本技术实施例提供一种数据存储方法,如图6所示,具体步骤如下:
99.在步骤61,接收索引构建请求。
100.其中,索引构建请求包括原始数据的数据类型和数据特性。
101.在本技术实施例中,数据类型可以用于表征原始数据的文件格式,例如,原始数据可以是图片格式的数据、视频格式的数据或者文本格式的数据。数据特性可以用于表征原始数据的数据分布、数据稀疏情况和维度特征等。
102.在步骤62,根据数据类型和数据特性确定对应的索引创建方式。
103.在本技术实施例中,不同数据类型和数据特性的原始数据可能对应不同的最佳索
引创建方式,因此,确定最佳的索引创建方式可以有效提高后续数据查询的效率。
104.例如,针对数据量较大、数据较为密集的原始数据,可以创建如图3或图5所示的查询结构,再例如,针对数据量较大、数据较为稀疏的原始数据,可以创建如图4所示的查询结构。
105.在步骤63,根据索引创建方式,构建原始数据的索引,并对原始数据进行对应的存储。
106.在确定索引创建方式之后,本技术实施例可以基于确定的索引创建方式构建原始数据的索引并对原始数据进行对应的存储。在针对原始数据存储之后,本技术实施例可以根据数据查询请求以及创建好的索引方式,实现高效的数据查询。
107.在一种优选的实施方式中,若索引创建方式包括路由索引创建和压缩索引创建,则步骤63可以执行为:响应于索引创建方式包括路由索引创建和压缩索引创建,对原始数据进行聚类,获取至少一个数据子集,创建各数据子集的路由索引,然后对各数据子集进行量化压缩,创建压缩后的各数据子集中的数据的压缩索引。
108.在本技术实施例中,若针对原始数据创建了路由索引和压缩索引,则在电子设备接收到后续的数据查询请求后,电子设备可以根据数据查询请求中的参考数据进行路由索引和压缩索引,然后得到目标数据。具体的,基于路由索引和压缩索引进行数据查询的过程可以参照上述图3所述的内容,本技术实施例在此不做赘述。
109.在另一种优选的实施方式中,若索引创建方式包括压缩索引创建和全量索引创建,则步骤63可以执行为:响应于索引创建方式包括压缩索引创建和全量索引创建,对原始数据进行量化压缩,创建压缩后的数据的压缩索引,然后根据压缩后的数据与原始数据之间的对应关系,创建全量索引。
110.在本技术实施例中,若针对原始数据创建了压缩索引和全量索引,则在电子设备接收到后续的数据查询请求后,电子设备可以根据数据查询请求中的参考数据进行压缩索引和全量索引,然后得到目标数据。具体的,基于压缩索引和全量索引进行数据查询的过程可以参照上述图4所述的内容,本技术实施例在此不做赘述。
111.在另一种优选的实施方式中,若索引创建方式包括路由索引创建、压缩索引创建和全量索引创建,则步骤63可以执行为:响应于索引创建方式包括路由索引创建、压缩索引创建和全量索引创建,对原始数据进行聚类,获取至少一个数据子集,创建各数据子集的路由索引,然后对各数据子集进行量化压缩,创建压缩后的各数据子集中的数据的压缩索引,然后根据压缩后的数据与原始数据之间的对应关系,创建全量索引。
112.在本技术实施例中,若针对原始数据创建了路由索引、压缩索引和全量索引,则在电子设备接收到后续的数据查询请求后,电子设备可以根据数据查询请求中的参考数据进行路由索引、压缩索引和全量索引,然后得到目标数据。具体的,基于路由索引、压缩索引和全量索引进行数据查询的过程可以参照上述图5所述的内容,本技术实施例在此不做赘述。
113.进一步的,创建路由索引的过程具体可以执行为:基于原始数据,对路由索引对应的第一索引算法进行训练,确定原始数据对应的n个数据子集和每个数据子集的索引标签。
114.其中,n为大于等于1的自然数,索引标签用于表征对应数据集的聚类特征。
115.在本技术实施例中,可以通过训练后的第一索引算法对各数据子集进行聚类,并确定各数据子集对应的索引标签,该索引标签可以用于数据查询时的路由索引。
116.在本技术实施例确定各数据子集的索引标签之后,可以进一步的根据索引标签来创建压缩索引,具体的,该过程可以执行为:基于各数据子集的索引标签,对压缩索引对应的第二索引算法进行训练,确定n个数据子集对应的映射查找表,然后对各数据子集中的数据进行量化压缩,确定n个压缩数据集。
117.其中,量化压缩后的数据子集即为压缩数据集。在创建压缩索引之后,电子设备可以根据训练后的第二索引算法和映射查找表,确定数据查询请求中的参考数据在各压缩数据集中对应的压缩数据。
118.进一步的,对第二索引算法进行训练以及确定映射查找表的过程可以执行为:确定各索引标签与对应数据子集中数据的残差向量或者原始向量,然后基于各残差向量或者各原始向量对压缩索引对应的第二索引算法进行训练,然后对各残差向量或者各原始向量进行拆解,确定n个压缩数据集对应的映射查找表。
119.在对残差向量进行拆解的过程中,本技术实施例可以将单个残差向量拆解为m组的d/m维的子向量,然后基于m组的d/m维的子向量生成m组的d/m维的子向量到n位二进制串映射的查找表。
120.在确定n个数据子集对应的映射查找表后,本技术实施例可以进一步基于n个数据子集对应的映射查找表创建全量索引,具体的,该过程可以执行为:基于映射查找表确定n个压缩数据集对应的码本,然后基于各压缩数据集,将各原始数据存储至存储介质。
121.其中,码本用于记录压缩数据集中各压缩数据对应的全量数据。在后续查询的过程中,当电子设备确定数据查询请求对应的目标压缩数据之后,可以根据创建全量索引时生成的码本,确定目标压缩数据对应的全量数据,进而可以在目标压缩数据对应的全量数据中确定目标数据,节省了算力,提高了数据查询的效率。
122.另外,确定码本的过程具体可以执行为:根据映射查找表对各残差向量进行编码,确定n个压缩数据集对应的码本。
123.例如,电子设备可以将d维的残差向量划分为m组子向量的组合表示,然后根据映射查找表,将每组子向量编码为n位表示的数据,进而,原始的d维残差向量就可以被表示为m*n位的码本。
124.在一种优选的实施方式中,电子设备还可以对数据进行批量插入操作,具体的,该过程可以执行为:接收批量插入请求,批量插入请求包括至少一个待处理数据,然后删除已构建的索引,然后基于各待处理数据和原始数据构建索引。
125.在实际应用中,若需要大批量的数据插入,则针对每个待处理数据创建索引会降低数据处理的效率。因此,本技术实施例可以先将原始的索引进行删除,然后针对所有数据(待处理数据和原始数据)统一创建索引,提高了数据处理的效率。
126.在另一种优选的实施方式中,电子设备还可以对数据进行追加插入操作,具体的,该过程可以执行为:接收追加插入请求,然后基于至少一个待处理数据进行查询操作,确定至少一个待更新的压缩数据集,然后将至少一个待处理数据压缩并插入对应待更新的压缩数据集,然后确定更新后的压缩数据集对应的码本,然后将待处理数据存储至存储介质。
127.在本技术实施例中,追加插入适用于数据量较小的待处理数据的插入,追加插入请求包括至少一个待处理数据。
128.另外,若插入数据后的压缩数据集数据量过大,则还可以执行:响应于更新后的压
缩数据集的数据量大于预定数据量上限阈值,将更新后的压缩数据集拆分为至少2个压缩数据集,然后确定拆分后的各压缩数据集对应的索引标签。
129.其中,预定数据量上限阈值可以是根据实际情况进行设置的合理数值,通过对压缩数据集的拆分,可以保证每个压缩数据集具有较为合适的数据量大小,使得数据处理时无需占用过多的算力,提高了数据处理的效率。
130.在另一种优选的实施方式中,电子设备还可以对数据进行删除操作,具体的,该过程可以执行为:接收数据删除请求,然后基于待删除数据的数据标识进行查询操作,确定各待删除数据,然后删除各待删除数据、各待删除数据对应的压缩数据,然后更新各待删除数据对应的码本和索引标签。
131.其中,数据删除请求至少包括待删除数据的数据标识。
132.另外,若删除数据后的压缩数据集数据量过小,则还可以执行:响应于删除压缩数据后的压缩数据集的数据量小于预定数据量下限阈值,将删除压缩数据后的压缩数据集与其它压缩数据集进行合并,确定合并数据集,然后将删除压缩数据后的压缩数据集对应的索引信息删除,然后更新合并数据集对应的索引信息。
133.其中,合并数据集的数据量小于预定数据量上限阈值,预定数据量下限阈值可以是根据实际情况进行设置的合理数值。通过对压缩数据集的合并,可以保证每个压缩数据集具有较为合适的数据量大小,无需占用多余的存储路径,节省了存储空间。
134.基于相同的技术构思,本技术实施例还提供了一种数据查询装置,如图7所示,该装置包括:第一接收模块71、第一确定模块72和查询模块73。
135.第一接收模块71,用于接收数据查询请求,数据查询请求至少包括参考数据。
136.第一确定模块72,用于基于参考数据,确定数据查询请求对应的目标索引方式;以及
137.查询模块73,用于基于目标索引方式,确定数据查询请求对应的至少一个目标数据。
138.通过本技术实施例,可以通过目标索引方式来对数据库中的数据进行特定方式的查询,以确定至少一个目标数据。在此过程中,本技术实施例可以基于合适的索引方式来进行非结构化数据的查询,所以,通过本技术实施例可以进行高效的处理非结构化数据。
139.基于相同的技术构思,本技术实施例还提供了一种数据存储装置,如图8所示,该装置包括:第二接收模块81、第二确定模块82和存储模块83。
140.第二接收模块81,用于接收索引构建请求,索引构建请求包括原始数据的数据类型和数据特性。
141.第二确定模块82,用于模块根据数据类型和数据特性确定对应的索引创建方式。
142.存储模块83,用于根据索引创建方式,构建原始数据的索引,并对原始数据进行对应的存储。
143.本技术实施例可以基于确定的索引创建方式构建原始数据的索引并对原始数据进行对应的存储。在针对原始数据存储之后,本技术实施例可以根据数据查询请求以及创建好的索引方式,实现高效的数据查询。
144.图9是本技术实施例的电子设备的示意图。如图9所示,图9所示的电子设备为通用地址查询装置,其包括通用的计算机硬件结构,其至少包括处理器91和存储器92。处理器91
和存储器92通过总线93连接。存储器92适于存储处理器91可执行的指令或程序。处理器91可以是独立的微处理器,也可以是一个或者多个微处理器集合。由此,处理器91通过执行存储器92所存储的指令,从而执行如上所述的本技术实施例的方法流程实现对于数据的处理和对于其它装置的控制。总线93将上述多个组件连接在一起,同时将上述组件连接到显示控制器94和显示装置以及输入/输出(i/o)装置95。输入/输出(i/o)装置95可以是鼠标、键盘、调制解调器、网络接口、触控输入装置、体感输入装置、打印机以及本领域公知的其他装置。典型地,输入/输出装置95通过输入/输出(i/o)控制器96与系统相连。
145.在一种优选的实施方式中,电子设备还可以包括存储介质和协处理器,如图10所示,图10为本技术实施例另一种电子设备的结构示意图,该示意图包括:处理器101、存储器102、总线103、显示控制器104、输入/输出(i/o)装置105、输入/输出(i/o)控制器106、存储介质107和协处理器108。
146.在本技术实施例中,协处理器108可以被配置为确定参考数据对应的目标索引标签(即被配置为执行路由索引相关步骤),存储介质107可以被配置为存储全量数据。其中,协处理器108可以是图形处理器(graphics processing unit,gpu)、可编程门级阵列或者定制化芯片。存储介质107可以是机械硬盘(hard disk disk,hdd)、固态硬盘(solid state drive,ssd)、闪存(flash)或新型的非易失存储器件,如存储级内存(storage class memory,scm)。
147.本领域的技术人员应明白,本技术的实施例可提供为方法、装置(设备)或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品。
148.本技术是参照根据本技术实施例的方法、装置(设备)和计算机程序产品的流程图来描述的。应理解可由计算机程序指令实现流程图中的每一流程。
149.这些计算机程序指令可以存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现流程图一个流程或多个流程中指定的功能。
150.也可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程中指定的功能的装置。
151.本技术的另一实施例涉及一种非易失性存储介质,用于存储计算机可读程序,所述计算机可读程序用于供计算机执行上述部分或全部的方法实施例。
152.即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指定相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
153.以上所述仅为本技术的优选实施例,并不用于限制本技术,对于本领域技术人员而言,本技术可以有各种改动和变化。凡在本技术的精神和原理之内所作的任何修改、等同
替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献