资源数据查询方法、装置、电子设备以及存储介质与流程

文档序号:26586060发布日期:2021-09-10 19:15阅读:69来源:国知局
资源数据查询方法、装置、电子设备以及存储介质与流程

1.本公开涉及数据处理技术领域,尤其涉及一种资源数据查询方法、装置、电子设备以及存储介质。


背景技术:

2.随着大数据时代的到来,数据呈爆炸式增长,在许多场景下都出现了基于海量(pb级)数据的查询诉求。例如,在数据的多维分析场景下,当用户想要查询点击率排名靠前的数据时(也可以理解为top n查询),数据查询系统往往面临的是百亿

千亿/天的海量原始数据,这已远远超出了传统计算技术和信息系统的查询能力。
3.目前,在面对海量资源数据时,top n查询方法通常需要对所有相关的资源数据进行聚合,使得资源数据扫描的计算量较大,资源数据传输成本较高,从而导致资源数据查询的执行时间较长,查询效率不高。


技术实现要素:

4.本公开提供一种资源数据查询方法、装置、电子设备以及存储介质,能够缩短数据查询的时间,提高数据查询效率。本公开的技术方案如下:
5.根据本公开实施例的第一方面,提供一种资源数据查询方法,包括:
6.接收终端的查询请求,该查询请求用于获取资源数据库中资源参数排序在前n位的资源和资源参数,n为正整数;
7.从该资源数据库对应的多个存储节点中,获取多个资源序列,该资源序列包括对应的存储节点中资源参数排序在前n位的候选资源和资源参数;
8.基于该多个资源序列,生成查询结果,向该终端发送该查询结果,该查询结果包括n个目标资源和该n个目标资源的目标资源参数。
9.在一些实施例中,该基于该多个资源序列,生成查询结果,包括:
10.基于该多个资源序列中多个候选资源的资源参数,确定资源参数排序在前n位的该n个目标资源;
11.从该多个存储节点中,获取该n个目标资源的至少一个资源参数;
12.基于该n个目标资源的至少一个资源参数,生成该查询结果。
13.在一些实施例中,该基于该多个资源序列中多个候选资源的资源参数,确定资源参数排序在前n位的该n个目标资源,包括:
14.对于处于不同资源序列中的第一候选资源,获取该第一候选资源的资源参数和值,该第一候选资源为任一候选资源;
15.按照该第一候选资源的资源参数和值,对该多个资源序列中的候选资源进行排序,将排序在前n位的候选资源确定为该n个目标资源。
16.在一些实施例中,该从该多个存储节点中,获取该n个目标资源的至少一个资源参数,包括:
17.向该多个存储节点发送第一资源获取请求,该第一资源获取请求携带该n个目标资源的资源标识;
18.接收该多个存储节点返回的该n个目标资源的至少一个资源参数。
19.在一些实施例中,该从该多个存储节点中,获取该n个目标资源的至少一个资源参数,包括:
20.响应于该多个资源序列中存在第一资源序列,向该第一资源序列对应的第一存储节点发送第二资源获取请求,该第一资源序列未包含第一目标资源,该第一目标资源为该n个目标资源中的任一个,该第二资源获取请求携带该第一目标资源的资源标识;
21.接收该第一存储节点返回的该第一目标资源的至少一个资源参数。
22.在一些实施例中,该基于该n个目标资源的至少一个资源参数,生成该查询结果,包括:
23.基于该n个目标资源的至少一个资源参数,获取该n个目标资源的资源参数和值;
24.将该n个目标资源的资源参数和值作为该n个目标资源的目标资源参数,生成该查询结果。
25.在一些实施例中,该资源序列还包括对应的存储节点中资源参数排序在第n+1位至第m位的候选资源和资源参数,其中,m为大于n的正整数。
26.在一些实施例中,该基于该多个资源序列,生成查询结果,包括:
27.基于该多个资源序列中多个候选资源的资源参数,确定资源参数排序在前m位的m个候选资源;
28.从该多个存储节点中,获取该m个候选资源的至少一个资源参数;
29.基于该m个候选资源的至少一个资源参数,获取该m个候选资源的资源参数和值;
30.按照该m个候选资源的资源参数和值,对该m个候选资源进行排序,将该m个候选资源中排序在前n位的候选资源作为该n个目标资源,生成该查询结果。
31.根据本公开实施例的第二方面,提供一种资源数据查询装置,包括:
32.接收模块,被配置为执行接收终端的查询请求,该查询请求用于获取资源数据库中资源参数排序在前n位的资源和资源参数,n为正整数;
33.获取模块,被配置为执行从该资源数据库对应的多个存储节点中,获取多个资源序列,该资源序列包括对应的存储节点中资源参数排序在前n位的候选资源和资源参数;
34.生成模块,被配置为执行基于该多个资源序列,生成查询结果,向该终端发送该查询结果,该查询结果包括n个目标资源和该n个目标资源的目标资源参数。
35.在一些实施例中,该生成模块包括:
36.确定单元,被配置为执行基于该多个资源序列中多个候选资源的资源参数,确定资源参数排序在前n位的该n个目标资源;
37.获取单元,被配置为执行从该多个存储节点中,获取该n个目标资源的至少一个资源参数;
38.生成单元,被配置为执行基于该n个目标资源的至少一个资源参数,生成该查询结果。
39.在一些实施例中,该确定单元被配置为执行:
40.对于处于不同资源序列中的第一候选资源,获取该第一候选资源的资源参数和
值,该第一候选资源为任一候选资源;
41.按照该第一候选资源的资源参数和值,对该多个资源序列中的候选资源进行排序,将排序在前n位的候选资源确定为该n个目标资源。
42.在一些实施例中,该获取单元被配置为执行:
43.向该多个存储节点发送第一资源获取请求,该第一资源获取请求携带该n个目标资源的资源标识;
44.接收该多个存储节点返回的该n个目标资源的至少一个资源参数。
45.在一些实施例中,该获取单元被配置为执行:
46.响应于该多个资源序列中存在第一资源序列,向该第一资源序列对应的第一存储节点发送第二资源获取请求,该第一资源序列未包含第一目标资源,该第一目标资源为该n个目标资源中的任一个,该第二资源获取请求携带该第一目标资源的资源标识;
47.接收该第一存储节点返回的该第一目标资源的至少一个资源参数。
48.在一些实施例中,该生成单元被配置为执行:
49.基于该n个目标资源的至少一个资源参数,获取该n个目标资源的资源参数和值;
50.将该n个目标资源的资源参数和值作为该n个目标资源的目标资源参数,生成该查询结果。
51.在一些实施例中,该资源序列还包括对应的存储节点中资源参数排序在第n+1位至第m位的候选资源和资源参数,其中,m为大于n的正整数。
52.在一些实施例中,该生成单元被配置为执行:
53.基于该多个资源序列中多个候选资源的资源参数,确定资源参数排序在前m位的m个候选资源;
54.从该多个存储节点中,获取该m个候选资源的至少一个资源参数;
55.基于该m个候选资源的至少一个资源参数,获取该m个候选资源的资源参数和值;
56.按照该m个候选资源的资源参数和值,对该m个候选资源进行排序,将该m个候选资源中排序在前n位的候选资源作为该n个目标资源,生成该查询结果。
57.根据本公开实施例的第三方面,提供一种电子设备,该电子设备包括:
58.一个或多个处理器;
59.用于存储该处理器可执行程序代码的存储器;
60.其中,该处理器被配置为执行该程序代码,以实现上述的资源数据查询方法。
61.根据本公开实施例的第四方面,提供一种计算机可读存储介质,该计算机可读存储介质包括:当该计算机可读存储介质中的程序代码由电子设备的处理器执行时,使得电子设备能够执行上述的资源数据查询方法。
62.根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的资源数据查询方法。
63.本公开的实施例提供的技术方案至少带来以下有益效果:
64.当终端请求获取资源数据库中资源参数排序在前n位的资源和资源参数时(n为正整数),先进行粗略查询,从资源数据库对应的多个存储节点中选出一部分候选资源,这些候选资源为对应存储节点中资源参数排序在前n位的资源,然后再基于这些候选资源进行精细查询,得到n个目标资源和对应的目标资源参数,从而生成查询结果返回给终端。采用
上述方法避免了对多个存储节点中的所有资源进行聚合,能够减少资源数据查询时的数据传输成本和数据扫描计算量,从而大大缩短了数据查询时间,提高了数据查询效率。
65.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
66.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
67.图1是根据一示例性实施例示出的一种资源数据查询方法的实施环境示意图;
68.图2是根据一示例性实施例示出的一种资源数据查询方法的流程图;
69.图3是根据一示例性实施例示出的一种资源数据查询方法的流程图;
70.图4是根据一示例性实施例示出的一种资源数据查询方法的示意图;
71.图5是根据一示例性实施例示出的一种资源数据查询方法的示意图;
72.图6是根据一示例性实施例示出的一种资源数据查询方法的示意图;
73.图7是根据一示例性实施例示出的一种资源数据查询装置的框图;
74.图8是根据一示例性实施例示出的一种服务器的框图。
具体实施方式
75.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
76.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
77.本公开所涉及的数据可以为经用户授权或者经过各方充分授权的数据。
78.图1是本公开实施例提供的一种资源数据查询方法的实施环境示意图,参见图1,该实施环境中包括:终端101和存储系统102,终端101和存储系统102之间可以通过有线或无线网络连接。
79.终端101可以为智能手机、智能手表、台式电脑、手提电脑、虚拟现实终端、增强现实终端、无线终端和膝上型便携计算机等设备中的至少一种,终端101具有通信功能,可以接入互联网,终端101可以泛指多个终端中的一个,本实施例仅以终端101来举例说明。本领域技术人员可以知晓,上述终端的数量可以更多或更少。终端101可以运行有目标应用,用于提供资源数据的查询功能。示意性地,该资源数据为广告的点击次数,终端101在运行目标应用的过程中,用户能够在目标应用的界面上进行操作,触发终端101向存储系统102发送资源数据查询请求。
80.存储系统102可以包括控制节点和多个存储节点,控制节点和多个存储节点通过有线或无线网络连接。控制节点以及多个存储节点中的每个存储节点可以是独立的物理服
务器,也可以是多个物理服务器构成的服务器集群或者分布式文件系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器,本公开实施例对此不作限定。存储系统102可以用于为目标应用提供后台服务,例如,存储系统102在接收到终端101基于目标应用发送的资源数据查询请求后,基于该资源数据查询请求,从多个存储节点中查询到相应的资源数据并返回给终端101。在一些实施例中,上述存储系统102的数量可以更多或更少,本公开实施例对此不加以限定。当然,存储系统102还可以包括其他节点,以便提供更全面且多样化的服务,例如,存储系统102还包括处理节点、代理节点以及管理节点等,本公开实施例对此不作限定。
81.图2是根据一示例性实施例示出的一种资源数据查询方法的流程图,如图2所示,该资源数据查询方法用于存储系统102,示意性地,该资源数据查询方法可应用于存储系统102的控制节点中。该资源数据查询方法包括以下步骤:
82.在步骤201中,控制节点接收终端的查询请求,该查询请求用于获取资源数据库中资源参数排序在前n位的资源和资源参数,n为正整数。
83.在本公开实施例中,资源数据库用于存储多个资源和资源参数。资源参数用于表征资源的展示效果。例如,资源数据库为广告数据库,用于存储广告的广告标识和广告参数,该广告参数包括但不限于展示数、点击次数、点击率等。又例如,资源数据库为在线课堂数据库,用于存储课程的课程标识和课程参数,该课程参数包括但不限于观看时长、点击次数、观看人数等。本公开实施例对于资源数据库存储的资源和资源参数的类型不作限定。
84.在步骤202中,控制节点从资源数据库对应的多个存储节点中,获取多个资源序列,该资源序列包括对应的存储节点中资源参数排序在前n位的候选资源和资源参数。
85.在本公开实施例中,资源数据库由多个存储节点组成,每个存储节点用于存储至少一种资源数据,每种资源数据包括资源和对应的资源参数。例如,资源数据为广告的点击次数,资源可以为某一条广告的广告标识,资源参数可以为某一条广告的点击次数。
86.在步骤203中,控制节点基于多个资源序列,生成查询结果,向终端发送该查询结果,该查询结果包括n个目标资源和该n个目标资源的目标资源参数。
87.在本公开实施例中,目标资源为资源数据库中资源参数排序在前n位的资源。
88.本公开实施例提供了一种资源数据查询方法,当终端请求获取资源数据库中资源参数排序在前n位的资源和资源参数时(n为正整数),先进行粗略查询,从资源数据库对应的多个存储节点中选出一部分候选资源,这些候选资源为对应存储节点中资源参数排序在前n位的资源,然后再基于这些候选资源进行精细查询,得到n个目标资源和对应的目标资源参数,从而生成查询结果返回给终端。采用上述方法避免了对多个存储节点中的所有资源进行聚合,能够减少资源数据查询时的数据传输成本和数据扫描计算量,从而大大缩短了数据查询时间,提高了数据查询效率。
89.上述图2所示仅为本公开的基本流程,下面基于一种具体实施方式,来对本公开提供的方案进行进一步阐述,图3是根据一示例性实施例示出的一种资源数据查询方法的流程图,参见图3,该资源数据查询方法应用于存储系统,下面以控制节点和存储节点之间的交互为例,对本公开实施例提供的资源数据查询方法进行说明,该方法包括:
90.在步骤301中,控制节点接收终端的查询请求,该查询请求用于获取资源数据库中
资源参数排序在前n位的资源和资源参数,n为正整数。
91.在本公开实施例中,终端上显示有查询界面,用于提供资源数据的查询功能,用户能够在查询界面上输入查询条件来实现查询操作,终端响应于用户的查询操作,生成相应的查询请求,并将该查询请求发送给控制节点。在一些实施例中,查询条件的输入方式包括但不限于文字输入、图片输入和语音输入等,本公开实施例对此不作限定。
92.在一些实施例中,控制节点接收终端的查询请求,并对查询请求进行解析,将查询请求中的查询信息转化为可执行的第一查询语句,该第一查询语句用于查询资源数据库中资源参数排序在前n位的资源和资源参数。
93.在另一些实施例中,终端的查询请求中携带第一查询语句,控制节点接收终端的查询请求,并从该查询请求中获取第一查询语句,本公开实施例对此不作限定。
94.另外,需要说明的是,在一些实施例中,该第一查询语句为结构化查询语句(structured query language,sql),本公开实施例对于第一查询语句的类型不作限定。
95.在步骤302中,控制节点基于查询请求,向资源数据库对应的多个存储节点发送第一子查询请求,该第一子查询请求用于获取对应存储节点中资源参数排序在前n位的资源和资源参数。
96.在本公开实施例中,查询请求中携带资源参数的参数信息,控制节点能够根据该参数信息,确定用于存储该资源参数的多个存储节点,并向多个存储节点发送第一子查询请求。在一些实施例中,资源数据库对应的多个存储节点的每个存储节点均存储有资源参数,则控制节点向多个存储节点中的每个存储节点发送第一子查询请求。在另一些实施例中,资源数据库对应的多个存储节点中,存在部分存储节点存储有资源参数,则控制节点向多个存储节点中的部分存储节点发送第一子查询请求,本公开实施例对此不作限定。
97.在步骤303中,多个存储节点接收控制节点发送的第一子查询请求,生成多个资源序列,将多个资源序列发送给控制节点,该资源序列包括对应的存储节点中资源参数排序在前n位的候选资源和资源参数。
98.在本公开实施例中,对于多个存储节点中的任一个存储节点,该存储节点在接收到第一子查询请求后,按照资源参数,对该存储节点中的资源进行排序,将排序在前n位的资源作为候选资源,生成该存储节点的资源序列,并将该资源序列发送给控制节点。
99.在步骤304中,控制节点接收多个存储节点发送的多个资源序列。
100.需要说明的是,上述步骤302至步骤304的过程,也即是“控制节点从资源数据库对应的多个存储节点中,获取多个资源序列,该资源序列包括对应的存储节点中资源参数排序在前n位的候选资源和资源参数”的过程。
101.下面参考图4,对上述步骤302至步骤304进行示意性说明。图4是根据一示例性实施例示出的一种资源数据查询方法的示意图。如图4所示,控制节点为broker node,存储节点为data node,以资源数据库为广告数据库为例,该广告数据库中的列表包括两列数据,分别为k和v,k用于表示广告(也即是资源),key用于表示广告标识(也即是资源标识),v用于表示点击次数(也即是资源参数)。示意性地,第一查询语句用于查询列表中v的和值排序在第1位的k以及k对应的v的和值。下面以图4为例,根据如下步骤302a至步骤304a,来对上述步骤302至步骤304进行举例说明:
102.在步骤302a中,控制节点在接收到查询请求后,确定对应的存储节点,并将第一子
查询请求分别发送给存储节点1、存储节点2以及存储节点3。
103.在步骤303a中,各个存储节点在接收到第一子查询请求后,按照v值,对当前存储节点中的k进行排序,将v值排序在第1位的k作为候选资源,并将该k和对应的v值发送给控制节点。
104.在步骤304a中,控制节点接收各个存储节点返回的多个资源序列,分别为存储节点1对应的资源序列“k=key1,v=10”、存储节点2对应的资源序列“k=key2,v=9”以及存储节点3对应的资源序列“k=key1,v=7”。
105.应理解,上述图4所示仅为示意性地,在一些实施例中,当n大于1时,资源序列中包括多个k和对应的资源参数。本公开对此不作限定。
106.在步骤305中,对于处于不同资源序列中的第一候选资源,控制节点获取该第一候选资源的资源参数和值,该第一候选资源为任一候选资源。
107.在本公开实施例中,不同资源序列中有时会出现重合的候选资源,将这些候选资源称为第一候选资源。对于第一候选资源,控制节点获取该第一候选资源在不同资源序列中的资源参数,并计算得到该第一候选资源的资源参数和值。
108.下面以n=3为例,对本步骤305进行举例说明。
109.示意性地,资源序列a中包括3个候选资源和资源参数:“k=key1,v=10”、“k=key2,v=8”以及“k=key3,v=9”;资源序列b中包括3个候选资源和资源参数:“k=key2,v=7”、“k=key3,v=5”以及“k=key4,v=9”。则k=key2和k=key3均为第一候选资源,控制节点获取这两个第一候选资源在资源序列a和资源序列b中的资源参数,并计算得到第一候选资源k=key2的资源参数和值v=15,第一候选资源k=key3的资源参数和值v=14。
110.在步骤306中,控制节点按照第一候选资源的资源参数和值,对多个资源序列中的候选资源进行排序,将排序在前n位的候选资源确定为n个目标资源。
111.在本公开实施例中,多个资源序列中有时会出现仅存在于一个资源序列中的候选资源,将这些候选资源称为第二候选资源。控制节点按照第一候选资源的资源参数和值,以及第二候选资源的资源参数,对多个资源序列中的候选资源进行排序,将排序在前n位的候选资源确定为n个目标资源。
112.下面以n=3为例,对本步骤306进行举例说明。
113.示意性地,资源序列a中包括3个候选资源和资源参数:“k=key1,v=10”、“k=key2,v=8”以及“k=key3,v=9”;资源序列b中包括3个候选资源和资源参数:“k=key2,v=7”、“k=key3,v=5”以及“k=key4,v=9”。则k=key2和k=key3为第一候选资源,这两个第一候选资源的资源参数和值分别为v=15和v=14;k=key1和k=key4为第二候选资源,这两个第二候选资源的资源参数分别为v=10和v=9。然后控制节点对这四个候选资源进行排序,将排序在前3位的候选资源确定为3个目标资源,分别为k=key2、k=key3以及k=key1。
114.下面继续参考图4,对上述步骤305和步骤306进行示意性说明。如图4所示,经过上述步骤304后,控制节点接收3个存储节点返回的3个资源序列,分别为存储节点1返回的“k=key1,v=10”、存储节点2返回的“k=key2,v=9”以及存储节点3返回的“k=key1,v=7”。其中,k=key1对应两个v值,分别为v=10和v=7,将这两个v值相加,得到k=key1对应的v的和值v=17;k=key2对应一个v值为9。然后由控制节点对这两个k对应的v的和值进行排
序,将排序在第1位的候选资源k=key1确定为目标资源。
115.需要说明的是,经过上述步骤301至步骤306,控制节点从资源数据库的多个存储节点中获取到了多个资源序列,并从中确定出n个目标资源。在一些实施例中,控制节点基于上述步骤304确定的n个目标资源以及对应的资源参数,生成第一查询结果,发送给终端。应理解,该第一查询结果中的资源参数并不是精确的,例如,参考图4,如图4所示,经过上述步骤306,控制节点确定的目标资源为k=key1,生成的第一查询结果为“k=key1,v=17”,而在存储节点2中还包括该目标资源的资源参数v=8,也即是,第一查询结果得到的是目标资源的预测资源参数,而目标资源在资源数据库中的目标资源参数应该为v=25。在本公开实施例中,控制节点通过执行下述步骤307至步骤309来进一步得到n个目标资源的目标资源参数。
116.在步骤307中,控制节点从多个存储节点中,获取n个目标资源的至少一个资源参数。
117.在本公开实施例中,控制节点基于n个目标资源的资源标识,生成第二查询语句,该第二查询语句用于查询资源数据库中n个目标资源的资源参数和值,然后控制节点基于该第二查询语句,向多个存储节点发送第二子查询请求,该第二子查询请求用于获取n个目标资源的至少一个资源参数,基于此,控制节点接收多个存储节点返回的n个目标资源的至少一个资源参数。
118.在一些实施例中,第二子查询请求包括以下两种形式,分别为第一资源获取请求和第二资源获取请求,下面基于这两种形式对本步骤307进行详细说明,示意性地,本步骤307包括但不限于如下两种实现方式:
119.方式一、控制节点向多个存储节点发送第一资源获取请求,该第一资源获取请求携带n个目标资源的资源标识;控制节点接收多个存储节点返回的n个目标资源的至少一个资源参数。
120.在一些实施例中,对于多个存储节点中的任一个存储节点,控制节点向该存储节点发送第一资源获取请求,该存储节点在接收到第一资源获取请求后,基于n个目标资源的资源标识,与该存储节点中所有的资源标识进行匹配,以确定该存储节点中是否存在任意一个目标资源,若存在,则将该目标资源以及对应的资源参数发送给控制节点。基于此,控制节点接收到多个存储节点返回的n个目标资源的至少一个资源参数。
121.在上述方式一中,控制节点对多个存储节点中的任一个存储节点都发送第一资源获取请求,能够确保接收到目标资源在各个存储节点中的所有资源参数,为后续计算目标资源的目标资源参数提供了基础,从而提高了目标资源参数的精确度。
122.方式二、控制节点响应于多个资源序列中存在第一资源序列,向第一资源序列对应的第一存储节点发送第二资源获取请求,该第一资源序列未包含第一目标资源,该第一目标资源为n个目标资源中的任一个,该第二资源获取请求携带该第一目标资源的资源标识;控制节点接收该第一存储节点返回的第一目标资源的至少一个资源参数。
123.在一些实施例中,对于多个资源序列中的任一个资源序列,控制节点基于n个目标资源的资源标识,与该资源序列中候选资源的资源标识进行匹配,若n个目标资源的资源标识中,存在第一资源标识与该资源序列中候选资源的资源标识都不匹配,则该第一资源标识对应的目标资源即为第一目标资源,该资源序列即为第一资源序列。然后,控制节点向该
第一资源序列对应的第一存储节点发送第二资源获取请求,该第一存储节点在接收到第二资源获取请求后,基于第一目标资源的资源标识,将该第一存储节点中的第一目标资源和对应的资源参数发送给控制节点。
124.需要说明的是,若第一资源序列的个数大于2,第一存储节点的数量也大于2,相应地,控制节点接收到的第一目标资源的资源参数的个数大于2,本公开实施例对此不作限定。
125.在上述方式二中,控制节点对第一资源序列对应的第一存储节点发送第二资源获取请求,避免了对所有存储节点均发送第二资源获取请求,能够减少数据传输成本和数据扫描计算量,从而缩短数据查询时间,提高数据查询效率。
126.在步骤308中,控制节点基于n个目标资源的至少一个资源参数,获取n个目标资源的资源参数和值。
127.在本公开实施例中,本步骤308包括但不限于如下两种方式:
128.方式一、在控制节点以上述步骤307中所示的方式一来获取n个目标资源的至少一个资源参数的场景下,对于n个目标资源中的任一个目标资源,控制节点获取到该目标资源的至少一个资源参数,并对该至少一个资源参数进行求和,得到该目标资源的资源参数和值。
129.在上述方式一中,控制节点对n个目标资源中的每个目标资源均进行资源参数的求和,确保了目标资源参数的准确性,进而提高了查询结果的精确度。
130.方式二、在控制节点以上述步骤307中所示的方式二来获取n个目标资源的至少一个资源参数的场景下,控制节点响应于接收到第一目标资源的至少一个资源参数,对第一目标资源的至少一个资源参数进行求和,得到第一目标资源的资源参数和值,基于第一目标资源的资源参数和值以及第二目标资源的资源参数和值,得到n个目标资源的资源参数和值,第二目标资源为n个目标资源中除第一目标资源以外的目标资源。
131.在上述方式二中,第二目标资源的资源参数和值是通过上述步骤306计算得到的,控制节点仅对第一目标资源的至少一个资源参数进行求和,能够减少数据处理的计算量,从而缩短数据查询时间,提高数据查询效率。
132.在步骤309中,控制节点将n个目标资源的资源参数和值作为n个目标资源的目标资源参数,生成查询结果,向终端发送该查询结果,该查询结果包括n个目标资源和该n个目标资源的目标资源参数。
133.在本公开实施例中,控制节点将n个目标资源的资源参数和值作为n个目标资源的目标资源参数,并按照目标资源参数,对n个目标资源进行排序,生成查询结果。
134.在一些实施例中,控制节点在确定n个目标资源的目标资源参数后,按照目标资源参数从大到小的顺序,对n个目标资源进行排序,生成查询结果。在另一些实施例中,服务器在确定n个目标资源的目标资源参数后,按照目标资源参数从小到大的顺序,对n个目标资源进行排序,生成查询结果。在另一些实施例中,服务器在确定n个目标资源的目标资源参数后,按照任意顺序,生成查询结果,本公开实施例对于查询结果中目标资源的排序方式不作限定。
135.下面继续参考图4,对上述步骤307至步骤309进行示意性说明。如图4所示,经过上述步骤306后,控制节点将排序在第1位的候选资源k=key1确定为目标资源,然后控制节点
基于目标资源的资源标识,生成第二查询语句,并基于该第二查询语句,向多个存储节点发送第二子查询请求。示意性地,该第二查询语句用于查询列表中k=key1对应的v的和值,并对k按照v值降序排序。控制节点将第二子查询请求发送给3个存储节点,这3个存储节点基于目标资源的资源标识“key1”,将当前节点中的k=key1以及对应的资源参数发送给控制节点。然后控制节点基于接收到的k=key1的3个资源参数,得到k=key1的目标资源参数v=25。
136.需要说明的是,上述图4所示仅为示意性地,图4所示的目标资源仅有1个,因此在上述描述中未涉及到按照v值降序排序。在一些实施例中,当n=3时,假设3个目标资源分别为k=key1、k=key2以及k=key3,这3个目标资源的目标资源参数分别为v=25、v=30以及v=28,则控制节点按照v值,对3个目标资源进行降序排序,最终生成查询结果“k=key2,v=30;k=key3,v=28;k=key3,v=25”。
137.经过上述步骤307至步骤309,控制节点基于确定好的n个目标资源,从多个存储节点中获取n个目标资源的至少一个资源参数,从而得到n个目标资源的目标资源参数,也即是,控制节点基于上述步骤306得到的n个目标资源进行了二次查询,从而获取到n个目标资源的目标资源参数,实现了在减少数据传输成本和数据扫描计算量的基础上,提高目标资源参数的准确性。
138.需要说明的是,在上述步骤302至步骤304中,该资源序列包括对应的存储节点中资源参数排序在前n位的候选资源和资源参数。在一些实施例中,该资源序列还包括对应的存储节点中资源参数排序在第n+1位至第m位的候选资源和资源参数,其中,m为大于n的正整数,也即是,该资源序列包括对应的存储节点中资源参数排序在前m位的候选资源和资源参数”。下面以这种情况为例,对本公开实施例提供的资源数据查询方法进行说明,相应地,上述步骤302至步骤309能够替换为下述步骤310至步骤314:
139.在步骤310中,控制节点从资源数据库对应的多个存储节点中,获取多个资源序列,该资源序列包括对应的存储节点中资源参数排序在前m位的候选资源和资源参数。
140.示意性地,控制节点基于终端的查询请求,生成第三查询语句,该第三查询语句用于获取资源数据库中资源参数排序在前m位的资源和资源参数,然后控制节点基于该第三查询语句,向多个存储节点发送第三子查询请求,并接收多个存储节点返回的多个资源序列,该第三子查询请求用于获取对应存储节点中资源参数排序在前m位的资源和资源参数。应理解,本步骤310的具体实施方式可参考上述步骤302至步骤304,本公开在此不再赘述。
141.在步骤311中,控制节点基于多个资源序列中多个候选资源的资源参数,确定资源参数排序在前m位的m个候选资源。
142.其中,本步骤311的实施方式可参考上述步骤305和步骤306,在此不再赘述。不同之处仅在于,在步骤306中,控制节点按照第一候选资源的资源参数和值,对多个资源序列中的候选资源进行排序后,将排序在前n位的候选资源确定为n个目标资源,而在本步骤311中,控制节点确定资源参数排序在前m位的m个候选资源。
143.在步骤312中,控制节点从多个存储节点中,获取m个候选资源的至少一个资源参数。
144.其中,本步骤312的实施方式可参考上述步骤307,在此不再赘述。
145.在步骤313中,控制节点基于m个候选资源的至少一个资源参数,获取该m个候选资
源的资源参数和值。
146.其中,本步骤313的实施方式可参考上述步骤308,在此不再赘述。
147.在步骤314中,控制节点按照m个候选资源的资源参数和值,对m个候选资源进行排序,将m个候选资源中排序在前n位的候选资源确定为n个目标资源,生成查询结果。
148.其中,控制节点将m个候选资源中排序在前n位的候选资源确定为n个目标资源后,按照n个目标资源的资源参数和值,对n个目标资源进行排序,生成查询结果。
149.需要说明的是,经过上述步骤301以及上述步骤310至步骤314,控制节点基于终端的查询请求,通过调整资源序列中候选资源的数量,来最终生成查询结果,能够提高目标资源参数的精确度。也即是,以n=100为例,查询请求用于获取资源数据库中资源参数排序在前100位的资源和资源参数,则控制节点获取到的资源序列中包括资源参数排序在前1000位的候选资源和资源参数。
150.下面参考图5和图6,对根据上述实施例中涉及到的两种资源数据查询方法生成的查询结果进行说明。其中,第一种资源数据查询方法由上述步骤301至步骤307组成,第二种资源数据查询方法由上述步骤301至步骤302以及上述步骤308至步骤311组成。
151.首先,参考图5,图5是根据一示例性实施例示出的一种资源数据查询方法的示意图。如图5所示,终端的查询请求用于获取资源数据库中资源参数排序在第1位的资源和资源参数,通过上述第一种资源数据查询方法,各个存储节点将当前节点中资源参数排序在第1位的候选资源和资源参数返回给控制节点,其中,存储节点1返回k=key1,v=10,存储节点2返回k=key1,v=8,存储节点3返回k=key1,v=7,控制节点将k=key1对应的3个v值相加,得到v=25,最终生成查询结果为“k=key1,v=25”,实际上这个查询结果并不准确,准确的查询结果应当是“k=key2,v=26”。
152.接着,参考图6,图6是根据一示例性实施例示出的一种资源数据查询方法的示意图。如图6所示,终端的查询请求用于获取资源数据库中资源参数排序在第1位的资源和资源参数,通过上述第二种资源数据查询方法,各个存储节点将当前节点中资源参数排序在前2位的候选资源和资源参数返回给控制节点,其中,存储节点1返回k=key1,v=10以及k=key2,v=8,存储节点2返回k=key1,v=8以及k=key2,v=15,存储节点3返回k=key1,v=7以及k=key2,v=3,控制节点将k=key1对应的3个v值相加,得到v=25,将k=key2对应的3个v值相加,得到v=26,最终生成的查询结果为“k=key2,v=26”。
153.因此,控制节点能够通过调整资源序列中候选资源的数量来提高查询结果的精确度。本公开实施例对于上述实施例中n与m的取值不作限定,从理论上来讲,m的取值越大,最终得到的查询结果的精确度越高,在实际应用中,开发人员能够根据需求对m的取值进行设置,本公开实施对此不作限定。
154.下面以短视频平台中查询一周内点击次数排序在前10位(也即是n=10)的广告为例,对本公开提供的资源数据查询方法做进一步说明。
155.相关技术中,存储系统需要根据查询请求,从各个存储节点中获取所有广告在一周内的点击次数,时间跨度较大,存储系统需要对数亿条广告数据进行汇总,然后计算所有广告的点击次数和值,并按照和值对所有广告进行排序,得到点击次数排序在前10位的广告,整个查询过程耗时将超过10分钟。
156.而采用本公开实施例提供的资源数据查询方法,存储系统中的控制节点仅需要从
多个存储节点中获取多个广告序列,每个广告序列中仅包括10个候选广告,通过确定多个广告序列中点击次数排序在前10位的目标广告,最终生成查询结果。或者,控制节点从多个存储节点中获取多个广告序列,每个广告序列中包括100个候选广告(也即是m=100),然后控制节点确定点击次数排序在前100位的100个候选广告,对这100个候选广告进行排序,最终得到10个目标广告,生成查询结果。整个查询过程耗时仅为秒级。
157.综上,本公开实施例提供了一种资源数据查询方法,当终端请求获取资源数据库中资源参数排序在前n位的资源和资源参数时(n为正整数),先进行粗略查询,从资源数据库对应的多个存储节点中选出一部分候选资源,这些候选资源为对应存储节点中资源参数排序在前n位的资源,然后再基于这些候选资源进行精细查询,得到n个目标资源和对应的目标资源参数,从而生成查询结果返回给终端。采用上述方法避免了对多个存储节点中的所有资源进行聚合,能够减少资源数据查询时的数据传输成本和数据扫描计算量,从而大大缩短了数据查询时间,提高了数据查询效率。
158.图7是根据一示例性实施例示出的一种资源数据查询装置的框图。参照图7,该装置包括接收模块701、获取模块702和生成模块703。
159.接收模块701,被配置为执行接收终端的查询请求,该查询请求用于获取资源数据库中资源参数排序在前n位的资源和资源参数,n为正整数;
160.获取模块702,被配置为执行从该资源数据库对应的多个存储节点中,获取多个资源序列,该资源序列包括对应的存储节点中资源参数排序在前n位的候选资源和资源参数;
161.生成模块703,被配置为执行基于该多个资源序列,生成查询结果,向该终端发送该查询结果,该查询结果包括n个目标资源和该n个目标资源的目标资源参数。
162.在一些实施例中,该生成模块703包括:
163.确定单元,用于基于该多个资源序列中多个候选资源的资源参数,确定资源参数排序在前n位的该n个目标资源;
164.获取单元,用于从该多个存储节点中,获取该n个目标资源的至少一个资源参数;
165.生成单元,用于基于该n个目标资源的至少一个资源参数,生成该查询结果。
166.在一些实施例中,该确定单元被配置为执行:
167.对于处于不同资源序列中的第一候选资源,获取该第一候选资源的资源参数和值,该第一候选资源为任一候选资源;
168.按照该第一候选资源的资源参数和值,对该多个资源序列中的候选资源进行排序,将排序在前n位的候选资源确定为该n个目标资源。
169.在一些实施例中,该获取单元被配置为执行:
170.向该多个存储节点发送第一资源获取请求,该第一资源获取请求携带该n个目标资源的资源标识;
171.接收该多个存储节点返回的该n个目标资源的至少一个资源参数。
172.在一些实施例中,该获取单元被配置为执行:
173.响应于该多个资源序列中存在第一资源序列,向该第一资源序列对应的第一存储节点发送第二资源获取请求,该第一资源序列未包含第一目标资源,该第一目标资源为该n个目标资源中的任一个,该第二资源获取请求携带该第一目标资源的资源标识;
174.接收该第一存储节点返回的该第一目标资源的至少一个资源参数。
175.在一些实施例中,该生成单元被配置为执行:
176.基于该n个目标资源的至少一个资源参数,获取该n个目标资源的资源参数和值;
177.将该n个目标资源的资源参数和值作为该n个目标资源的目标资源参数,生成该查询结果。
178.在一些实施例中,该资源序列还包括对应的存储节点中资源参数排序在第n+1位至第m位的候选资源和资源参数,其中,m为大于n的正整数。
179.在一些实施例中,该生成单元被配置为执行:
180.基于该多个资源序列中多个候选资源的资源参数,确定资源参数排序在前m位的m个候选资源;
181.从该多个存储节点中,获取该m个候选资源的至少一个资源参数;
182.基于该m个候选资源的至少一个资源参数,获取该m个候选资源的资源参数和值;
183.按照该m个候选资源的资源参数和值,对该m个候选资源进行排序,将该m个候选资源中排序在前n位的候选资源作为该n个目标资源,生成该查询结果。
184.本公开实施例提供了一种资源数据查询装置,当终端请求获取资源数据库中资源参数排序在前n位的资源和资源参数时(n为正整数),先进行粗略查询,从资源数据库对应的多个存储节点中选出一部分候选资源,这些候选资源为对应存储节点中资源参数排序在前n位的资源,然后再基于这些候选资源进行精细查询,得到n个目标资源和对应的目标资源参数,从而生成查询结果返回给终端。采用上述装置避免了对多个存储节点中的所有资源进行聚合,能够减少资源数据查询时的数据传输成本和数据扫描计算量,从而大大缩短了数据查询时间,提高了数据查询效率。
185.需要说明的是:上述实施例提供的资源数据查询装置在查询资源数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的资源数据查询装置与资源数据查询方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
186.本公开实施例还提供了一种电子设备,该电子设备包括:
187.一个或多个处理器;
188.用于存储该处理器可执行程序代码的存储器;
189.其中,该处理器被配置为执行该程序代码,以实现上述各个方法实施例提供的资源数据查询方法中服务器执行的过程。
190.在一些实施例中,本技术实施例所涉及的程序代码可被部署在一个电子设备上执行,或者在位于一个地点的多个电子设备上执行,分布在多个地点且通过有线网络或无线网络互连的多个电子设备可以组成区块链系统。
191.以电子设备为服务器为例,图8是根据一示例性实施例示出的一种服务器的框图,该服务器800可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(cent ral processing units,cpu)801和一个或多个的存储器802,其中,该一个或多个存储器802中存储有至少一条程序代码,该至少一条程序代码由该一个或多个处理器801加载并执行以实现上述各个方法实施例提供的资源数据查询方法中服务器执行的过程。当然,该服务器800还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输
出,该服务器800还可以包括其他用于实现设备功能的部件,在此不做赘述。
192.在示例性实施例中,还提供了一种包括程序代码的计算机可读存储介质,例如包括程序代码的存储器802,上述程序代码可由服务器800的处理器801执行以完成上述资源数据查询方法。在一些实施例中,计算机可读存储介质可以是只读内存(read

only memory,rom)、随机存取存储器(random access memory),ram)、只读光盘(compact

disc read

only memory,cd

rom)、磁带、软盘和光数据存储设备等。
193.在示例性实施例中,还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的资源数据查询方法。
194.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。
195.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1