数据处理方法以及数据查询方法与流程

文档序号:31879822发布日期:2022-10-21 22:54阅读:100来源:国知局
数据处理方法以及数据查询方法与流程

1.本技术涉及计算机技术领域,具体涉及一种数据处理方法。本技术同时涉及一种数据处理装置、电子设备及计算机可读存储介质,还涉及一种数据查询方法、装置、电子设备及计算机可读存储介质,还涉及一种位置服务数据处理方法、装置、电子设备及计算机可读存储介质,还涉及一种位置服务数据查询方法、装置、电子设备及计算机可读存储介质。


背景技术:

2.随着互联网的快速发展,线上至线下服务已成为生活中不可或缺的一部分,而物流配送则是衡量服务质量的一个重要环节。
3.在物流配送流程中,运单调度的目的是将运单合理地分配给配送员,通过配送员将运单对应的物品高效及时地配送至用户手中。例如,外卖运单调度通常需要查询配送员与商户之间的距离,并派单给距离最近的配送员进行配送。距离查询所使用的od缓存表存储有大量的od对和对应的移动代价参数,“o”来源于英文origin,指起点,“d”来源于英文destination,指终点,一个起点和一个终点组成一个od对,也就是地理上的起点和终点的数据结构;移动代价参数是指从起点出发到达终点所移动的距离或花费的时间、费用等。od缓存表根据每日查询情况进行更新,存储量巨大,查询并发量较高时,往往无法提供快速查询。


技术实现要素:

4.本技术提供一种数据处理方法,以解决现有技术中由于od缓存表存储量巨大,查询并发量较高时,无法提供快速查询的问题。本技术另外提供一种数据处理装置、电子设备及计算机可读存储介质,一种数据查询方法、装置、电子设备及计算机可读存储介质,一种位置服务数据处理方法、装置、电子设备及计算机可读存储介质,以及一种位置服务数据查询方法、装置、电子设备及计算机可读存储介质。
5.本技术提供的一种数据处理方法,其特殊之处在于,包括:
6.从节点对代价表中获取目标节点对的基准代价参数,所述基准代价参数用于表示从节点对中的一个节点出发移动至另一个节点所需付出的代价;
7.根据所述目标节点对的基准代价参数,对所述目标节点对中的两个节点分别进行向量化表示,分别获得所述两个节点的节点向量;
8.将所述两个节点的节点向量存储到用于存储节点向量的节点向量表中,所述节点向量表用于针对第一节点和第二节点之间的代价参数的查询请求,提供所述第一节点的第一节点向量和所述第二节点的第二节点向量,所述第一节点向量和所述第二节点向量用于获得所述第一节点和第二节点之间的代价参数。
9.可选地,所述根据所述目标节点对的基准代价参数,对所述目标节点对中的两个节点分别进行向量化表示,分别获得所述两个节点的节点向量,包括:
10.获得向量间代价参数与所述目标节点对的基准代价参数匹配时的所述两个节点
的节点向量,所述向量间代价参数是根据所述两个节点的节点向量计算得到的所述两个节点的节点向量之间的代价参数。
11.可选地,所述获得向量间代价参数与所述目标节点对的基准代价参数匹配时的所述两个节点的节点向量,包括:
12.分别获取所述两个节点的初始向量;
13.根据所述两个节点的初始向量,计算所述两个节点的初始向量之间的初始代价参数;
14.判断所述初始代价参数与所述目标节点对的基准代价参数是否匹配;
15.如果所述初始代价参数与所述目标节点对的基准代价参数匹配,则将所述两个节点的初始向量确定为所述两个节点的节点向量;
16.如果所述初始代价参数与所述目标节点对的基准代价参数不匹配,则调整所述两个节点中的至少一个节点的初始向量,根据调整后向量获得所述两个节点的调整后向量之间的调整后代价参数,直至所述两个节点的调整后向量之间的调整后代价参数与所述目标节点对的基准代价参数匹配为止,将所述两个节点的调整后向量之间的调整后代价参数与所述目标节点对的基准代价参数匹配时的所述两个节点的调整后向量确定为所述两个节点的节点向量。
17.可选地,所述分别获取所述两个节点的初始向量,包括:
18.针对所述两个节点中的任意一个节点,获得所述任意一个节点在指定特征维度集合中的每个特征维度下的特征值;
19.根据所述任意一个节点在每个特征维度下的特征值,构建所述任意一个节点的初始向量。
20.可选地,所述根据所述两个节点的初始向量,计算所述两个节点的初始向量之间的初始代价参数,包括:
21.根据所述两个节点的初始向量计算所述两个节点的初始向量之间的欧氏距离,作为所述两个节点的初始向量之间的初始代价参数。
22.可选地,所述判断所述初始代价参数与所述目标节点对的基准代价参数是否匹配,包括:
23.将所述初始代价参数和所述目标节点对的基准代价参数输入到损失函数,获得所述损失函数输出的差异值,所述损失函数用于计算任意一个节点对中的两个节点向量之间的向量间代价参数与所述任意一个节点对的基准代价参数之间的差异值;
24.判断所述差异值是否低于预设阈值,若是,则确定所述初始代价参数与所述目标节点对的基准代价参数匹配,否则,确定所述初始代价参数与所述目标节点对的基准代价参数不匹配。
25.可选地,所述调整所述两个节点中的至少一个节点的初始向量,包括:
26.调整所述指定特征维度集合中的特征维度;
27.或者,调整所述两个节点中的至少一个节点在所述指定特征维度集合中的每个特征维度下的特征值。
28.可选地,所述根据所述目标节点对的基准代价参数,对所述目标节点对中的两个节点分别进行向量化表示,分别获得所述两个节点的节点向量,包括:
29.获得满足下述条件的所述两个节点的节点向量:
30.向量间代价参数与所述目标节点对的基准代价参数匹配,所述向量间代价参数是根据所述两个节点的节点向量计算得到的所述两个节点的节点向量之间的代价参数;
31.如果所述两个节点中的任意一个节点存在于所述节点对代价表中的其他节点对中,则所述两个节点中的所述任意一个节点在其存在的所有节点对中的对应向量都相同。
32.可选地,所述获得满足下述条件的所述两个节点的节点向量,包括:
33.获得向量间代价参数与所述目标节点对的基准代价参数匹配时的所述两个节点的节点向量,作为所述两个节点的代价匹配节点向量;
34.如果所述两个节点中的任意一个节点存在于所述节点对代价表中的其他节点对中,则确定所述两个节点中的所述任意一个节点为频现节点,存在所述频现节点的节点对为频现节点对;
35.如果所述两个节点中的所述频现节点的代价匹配节点向量与其他任意一个频现节点对中的所述频现节点的代价匹配节点向量不同,则调整所述两个节点中的所述频现节点的代价匹配节点向量和/或其他任意一个频现节点对中的所述频现节点的代价匹配节点向量,直至所有频现节点对中的所述频现节点的代价匹配节点向量都相同。
36.可选地,所述方法还包括:
37.获取用于查询第一节点和第二节点之间的代价参数的查询请求;
38.从所述节点向量表中获取所述第一节点的第一节点向量和所述第二节点的第二节点向量;
39.根据所述第一节点的第一节点向量和所述第二节点的第二节点向量,获得所述第一节点和第二节点之间的代价参数;
40.针对所述查询请求,输出所述第一节点和第二节点之间的代价参数。
41.可选地,所述根据所述第一节点的第一节点向量和所述第二节点的第二节点向量,获得所述第一节点和第二节点之间的代价参数,包括:
42.计算所述第一节点向量和所述第二节点向量之间的欧氏距离,作为所述第一节点和第二节点之间的代价参数。
43.可选地,所述方法还包括:
44.针对所述节点对代价表构建节点图,在所述节点图中,任意两个节点之间的边的权重值对应所述任意两个节点之间的基准代价参数;
45.所述从节点对代价表中获取目标节点对的基准代价参数,包括:
46.从所述节点对代价表对应的所述节点图中确定所述目标节点对中的所述两个节点;
47.从所述节点图中获取所述两个节点之间的边的权重值,作为所述目标节点对的基准代价参数。
48.可选地,所述针对所述节点对代价表构建节点图,包括:设定所述节点对代价表中不存在的节点对所对应的两个节点之间的边的权重值为负值或者小于预设权重阈值。
49.可选地,根据从所述节点向量表中查询的、所述节点对代价表中不存在的节点对所对应的两个节点的节点向量,所获得的所述两个节点之间的代价参数为负值或者小于预设权重阈值。
50.可选地,所述从节点对代价表中获取目标节点对的基准代价参数,包括:从所述节点对代价表中获取至少一个目标节点对的基准代价参数;
51.所述根据所述目标节点对的基准代价参数,对所述目标节点对中的两个节点分别进行向量化表示,分别获得所述两个节点的节点向量,包括:
52.设每个目标节点对中的两个节点的节点向量为未知变量;
53.计算所有目标节点对的节点向量距离误差的平均值取最小值时所述未知变量的值,作为相应目标节点对中两个节点的节点向量,所述节点向量距离误差为任意一个目标节点对中的两个节点的节点向量之间的欧氏距离与所述任意一个目标节点对的基准代价参数的差。
54.可选地,所述计算所有目标节点对的节点向量距离误差的平均值取最小值时所述未知变量的值,包括:通过随机梯度下降的方法计算所有目标节点对的节点向量距离误差的平均值取最小值时所述未知变量的值。
55.可选地,所述基准代价参数为从节点对中的一个节点出发移动至另一个节点所需移动的距离或者花费的时间或费用。
56.本技术还提供一种数据查询方法,其特殊之处在于,包括:
57.获取用于查询第一节点和第二节点之间的代价参数的查询请求,所述第一节点和第二节点之间的代价参数用于表示从所述第一节点出发移动至所述第二节点所需付出的代价;
58.从节点向量表中获取所述第一节点的第一节点向量和所述第二节点的第二节点向量,所述节点向量表用于存储和查询节点向量;
59.根据所述第一节点的第一节点向量和所述第二节点的第二节点向量,获得所述第一节点和第二节点之间的代价参数;
60.针对所述查询请求,输出所述第一节点和第二节点之间的代价参数。
61.可选地,所述节点向量表预先通过如下方式获得:
62.从节点对代价表中获取目标节点对的基准代价参数,所述基准代价参数用于表示从节点对中的一个节点出发移动至另一个节点所需付出的代价;
63.根据所述目标节点对的基准代价参数,对所述目标节点对中的两个节点分别进行向量化表示,分别获得所述两个节点的节点向量;
64.将所述两个节点的节点向量存储到所述节点向量表中。
65.可选地,所述根据所述第一节点的第一节点向量和所述第二节点的第二节点向量,获得所述第一节点和第二节点之间的代价参数,包括:
66.计算所述第一节点向量和所述第二节点向量之间的欧氏距离,作为所述第一节点和第二节点之间的代价参数。
67.可选地,所述方法应用于节点数据服务端;
68.所述获取用于查询第一节点和第二节点之间的代价参数的查询请求,包括:获取节点数据查询端发出的用于查询第一节点和第二节点之间的代价参数的查询请求;
69.所述针对所述查询请求,输出所述第一节点和第二节点之间的代价参数,包括:针对所述查询请求,向所述节点数据查询端发送所述第一节点和第二节点之间的代价参数。
70.可选地,所述节点数据查询端为维护节点向量表的维护人员所使用的终端,或者,
所述节点数据查询端为线上到线下服务端,或者,所述节点数据查询端为位置服务端。
71.本技术还提供一种位置服务数据处理方法,其特殊之处在于,包括:
72.从位置节点对代价表中获取目标位置节点对的基准移动代价参数,所述基准移动代价参数用于表示从位置节点对中的一个位置节点出发移动至另一个位置节点所需付出的代价;
73.根据所述目标位置节点对的基准移动代价参数,对所述目标位置节点对中的两个位置节点分别进行向量化表示,分别获得所述两个位置节点的位置节点向量;
74.将所述两个位置节点的位置节点向量存储到用于存储位置节点向量的位置节点向量表中,所述位置节点向量表用于针对第一位置节点和第二位置节点之间的移动代价参数的查询请求,提供所述第一位置节点的第一位置节点向量和所述第二位置节点的第二位置节点向量,所述第一位置节点向量和所述第二位置节点向量用于获得所述第一位置节点和第二位置节点之间的移动代价参数。
75.本技术还提供一种位置服务数据查询方法,其特殊之处在于,包括:
76.获取用于查询第一位置节点和第二位置节点之间的移动代价参数的查询请求,所述第一位置节点和第二位置节点之间的移动代价参数用于表示从所述第一位置节点出发移动至所述第二位置节点所需付出的代价;
77.从位置节点向量表中获取所述第一位置节点的第一位置节点向量和所述第二位置节点的第二位置节点向量,所述位置节点向量表用于存储和查询位置节点向量;
78.根据所述第一位置节点的第一位置节点向量和所述第二位置节点的第二位置节点向量,获得所述第一位置节点和第二位置节点之间的移动代价参数;
79.针对所述查询请求,输出所述第一位置节点和第二位置节点之间的移动代价参数。
80.本技术还提供一种数据处理装置,其特殊之处在于,包括:
81.数据获取单元,用于从节点对代价表中获取目标节点对的基准代价参数,所述基准代价参数用于表示从节点对中的一个节点出发移动至另一个节点所需付出的代价;
82.节点向量化表示单元,用于根据所述目标节点对的基准代价参数,对所述目标节点对中的两个节点分别进行向量化表示,分别获得所述两个节点的节点向量;
83.节点向量存储单元,用于将所述两个节点的节点向量存储到用于存储节点向量的节点向量表中,所述节点向量表用于针对第一节点和第二节点之间的代价参数的查询请求,提供所述第一节点的第一节点向量和所述第二节点的第二节点向量,所述第一节点向量和所述第二节点向量用于获得所述第一节点和第二节点之间的代价参数。
84.本技术还提供一种数据查询装置,其特殊之处在于,包括:
85.数据查询请求获取单元,用于获取用于查询第一节点和第二节点之间的代价参数的查询请求,所述第一节点和第二节点之间的代价参数用于表示从所述第一节点出发移动至所述第二节点所需付出的代价;
86.节点向量获取单元,用于从节点向量表中获取所述第一节点的第一节点向量和所述第二节点的第二节点向量,所述节点向量表用于存储和查询节点向量;
87.代价参数获得单元,用于根据所述第一节点的第一节点向量和所述第二节点的第二节点向量,获得所述第一节点和第二节点之间的代价参数;
88.代价参数输出单元,用于针对所述查询请求,输出所述第一节点和第二节点之间的代价参数。
89.本技术还提供一种位置服务数据处理装置,其特殊之处在于,包括:
90.位置数据获取单元,用于从位置节点对代价表中获取目标位置节点对的基准移动代价参数,所述基准移动代价参数用于表示从所述位置节点对中的一个位置节点出发移动至另一个位置节点所需付出的代价;
91.位置节点向量化表示单元,用于根据所述目标位置节点对的基准移动代价参数,对所述目标位置节点对中的两个位置节点分别进行向量化表示,分别获得所述两个位置节点的位置节点向量;
92.位置节点向量存储单元,用于将所述两个位置节点的位置节点向量存储到用于存储位置节点向量的位置节点向量表中,所述位置节点向量表用于针对第一位置节点和第二位置节点之间的移动代价参数的查询请求,提供所述第一位置节点的第一位置节点向量和所述第二位置节点的第二位置节点向量,所述第一位置节点向量和所述第二位置节点向量用于获得所述第一位置节点和第二位置节点之间的移动代价参数。
93.本技术还提供一种位置服务数据查询装置,其特殊之处在于,包括:
94.位置数据查询请求获取单元,用于获取用于查询第一位置节点和第二位置节点之间的移动代价参数的查询请求,所述第一位置节点和第二位置节点之间的移动代价参数用于表示从所述第一位置节点出发移动至所述第二位置节点所付出的代价;
95.位置节点向量获取单元,用于从位置节点向量表中获取所述第一位置节点的第一位置节点向量和所述第二位置节点的第二位置节点向量,所述位置节点向量表用于存储和查询位置节点向量;
96.移动代价参数获得单元,用于根据所述第一位置节点的第一位置节点向量和所述第二位置节点的第二位置节点向量,获得所述第一位置节点和第二位置节点之间的移动代价参数;
97.移动代价参数输出单元,用于针对所述查询请求,输出所述第一位置节点和第二位置节点之间的移动代价参数。
98.本技术还提供一种电子设备,其特殊之处在于,包括:处理器和存储器;
99.所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现上述数据处理方法,或者上述数据查询方法,或者上述位置服务数据处理方法,或者上述位置服务数据查询方法。
100.本技术还提供一种计算机可读存储介质,其上存储有一条或多条计算机指令,其特殊之处在于,所述一条或多条计算机指令被处理器执行以实现上述数据处理方法,或者上述数据查询方法,或者上述位置服务数据处理方法,或者上述位置服务数据查询方法。
101.与现有技术相比,本技术具有以下优点:
102.本技术提供的数据处理方法,根据从节点对代价表中获取的目标节点对的基准代价参数,对所述目标节点对中的两个节点分别进行向量化表示,分别获得所述两个节点的节点向量,并将所述两个节点的节点向量存储到用于存储和查询节点向量的节点向量表中,作为查询节点对的基准代价参数的新依据。通过上述方法,可以将节点对代价表,比如现有的od缓存表转换为用于存储和查询节点向量的节点向量表,进而可获得任一节点对的
代价参数。节点向量表仅存储各节点的节点向量,存储量相对较小,查询时根据两个节点的节点向量即可获得两个节点之间的代价参数,查询并发量较高时,能够提供快速查询。
附图说明
103.图1是本技术一个应用场景的示意图。
104.图2是现有的od缓存表的示意图。
105.图3是本技术另一个应用场景的示意图。
106.图4是本技术第一实施例的流程图。
107.图5是本技术第一实施例中根据节点对代价表构建节点图的示意图。
108.图6是本技术第一实施例中获得向量间代价参数与目标节点对的基准代价参数匹配时的两个节点的向量的流程图。
109.图7是本技术第二实施例的流程图。
110.图8是本技术第三实施例的流程图。
111.图9是本技术第四实施例的流程图。
112.图10是本技术第五实施例的结构示意图。
113.图11是本技术第六实施例的结构示意图。
114.图12是本技术第七实施例的结构示意图。
115.图13是本技术第八实施例的结构示意图。
116.图14是本技术第九实施例的结构示意图。
具体实施方式
117.为使本技术的目的、优点和特征更加清楚,以下结合附图和具体实施方式对本技术提出的数据处理方法、数据查询方法、位置服务数据处理方法和位置服务数据查询方法,以及各个方法对应的装置、电子设备和计算机可读存储介质作进一步详细说明。在下面的描述中,阐述了很多具体细节以便于充分理解本技术。但是,本技术能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本技术内涵的情况下做类似推广,因此本技术不受下面公开的具体实施方式的限制。
118.需要说明的是,在本技术的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性,以及特定的顺序或先后次序。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本技术中的具体含义。此外,在本技术的描述中,除非另有说明,术语“多个”是指两个或两个以上。术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。术语“包括”和“具有”以及他们的任何变形,旨在覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
119.下面以具体应用场景为例,对本技术相关现有技术及其存在问题以及本技术的技术方案进行简要介绍。
120.以外卖配送为例,通常用户通过线上到线下服务平台在某一商户订购一份外卖
后,服务系统会根据用户的订单,相应地生成一份运单并派发给配送员,配送员会根据运单从当前所处位置出发到达该商户,领取外卖并配送至用户手中。如图1所示场景,商户附近有多个可派单配送员1-5,且多个配送员的位置不同,分别位于o1-o5五个地点,每个配送员以当前所处位置为起点,以商户所在位置d1为终点,其需要移动的距离并不一定相同。那么,服务系统可以根据配送员当前所处位置与商户位置之间的距离进行派单,一般是派单给距离最近的配送员。
121.现有技术中,配送员当前所处位置与商户位置之间的距离可以通过查询od缓存表获得。od缓存表存储有大量的od对和对应的移动代价参数,“o”来源于英文origin,指起点,“d”来源于英文destination,指终点,一个起点和一个终点组成一个od对,也就是地理上的起点和终点的数据结构;移动代价参数是指从起点出发移动至终点所需付出的代价,包括移动的距离或花费的时间、费用等,需要注意的是,从起点出发移动至终点以实际移动路线为准,并不是起点到终点的直线移动。如图2所示,od缓存表将起点、终点以及对应的移动代价参数进行关联存储,图中o1-o6分别代表不同的起点,d1-d3分别代表不同的终点,每一行的起点和终点组成一个od对,并对应一个移动代价参数。查询时,匹配相应的起点和终点,就能够获得对应的移动代价参数。也就是说,服务系统以配送员当前所处位置为起点,以商户位置为终点,通过查询od缓存表就能够获得不同位置的配送员与商户之间的距离,然后根据查询结果进行派单。但事实上,od缓存表存储了所有查询过的od对和对应的移动代价参数,并且还会根据每日查询情况进行更新,存储量巨大,查询并发量较高时,往往无法提供快速查询。
122.此外,在其他应用场景中,也可能存在需要查询od缓存表的情况。例如,用户通过本地生活服务平台搜索某种类型商户,搜索推荐结果通常会根据用户当前所处位置与匹配类型的商户之间的距离进行排序显示。如图3所示场景,用户附近有多个匹配类型的商户1-5,且多个商户的位置不同,分别位于d1
’‑
d5’五个地点,用户以当前所处位置o1’为起点,以每个商户的所在位置为终点,去往不同商户位置需要移动的距离也不一定相同。那么,服务系统可以通过查询od缓存表获得用户当前所处位置与匹配类型的多个商户之间的距离,然后根据距离排序向用户显示搜索推荐结果。同样地,od缓存表的存储量和查询速度关系着服务平台的应用效果。
123.因此,亟需对现有技术进行改进,以缓解od缓存表的存储压力,并能够提供快速精准的查询效果。
124.为了解决上述问题,本技术提供一种数据处理方法,通过将节点对代价表转换为节点向量表,作为查询节点对的基准代价参数的新依据,所述基准代价参数即从所述节点对中的一个节点出发移动至另一个节点所需付出的代价。在实际的位置服务应用场景中,此处的节点即为位置节点,节点对代价表即为位置节点对代价表,节点向量表即为位置节点向量表,代价参数即为移动代价参数。也就是说,将现有位置服务中使用的od缓存表中的od对作为位置节点对,对位置节点对中的两个位置节点分别进行向量化表示,获得两个位置节点向量。以两个位置节点向量之间的关系表征od对之间的移动代价参数,并将位置节点向量进行存储。需要查询任一od对之间的移动代价参数时,只需查询所述od对所对应的两个位置节点的位置节点向量,再根据查询到的两个位置节点向量之间的关系获取所述od对之间的移动代价参数。
125.具体来说,od缓存表中的每一个起点、终点都是一个位置节点,od对即为位置节点对,od对所对应的移动代价参数即为两个位置节点对之间的基准移动代价参数,od缓存表也就是一种位置节点对代价表,根据位置节点对即可直接查询到对应的基准移动代价参数。本技术根据位置节点对之间的基准移动代价参数,对位置节点对中的两个位置节点分别进行向量化表示,从而获得所有位置节点的位置节点向量,并存储在位置节点向量表中。现有技术中,节点的向量化表示方法较多,如图嵌入算法“deepwalk”、“node2vec”等。两个位置节点向量的欧氏距离可用于表征od对之间的移动代价参数。
126.在实际应用中,服务系统需要查询多个配送员当前所处位置分别与商户位置之间的距离,或者查询用户当前所处位置分别与多个商户位置之间的距离时,只需要通过位置节点向量表查询多个配送员当前所处位置的位置节点向量,以及商户位置的位置节点向量,然后分别计算每个配送员当前所处位置的位置节点向量与商户位置的位置节点向量之间的欧氏距离,即可得到二者之间的移动代价参数;或者查询用户当前所处位置的位置节点向量,以及多个商户位置的位置节点向量,然后分别计算用户当前所处位置的位置节点向量与每个商户位置的位置节点向量之间的欧氏距离,即可得到二者之间的移动代价参数。通过位置节点向量表存储位置节点向量,能够缓解od缓存表的存储压力,在精度不损失的情况下降低存储成本、提升查询效率。
127.上述数据处理方法仅仅是本技术提供的数据处理方法的应用场景的一个具体实施例,提供该应用场景实施例的目的是便于理解本技术提供的数据处理方法,而并非用于限定本技术提供的数据处理方法。
128.第一实施例
129.本技术第一实施例提供一种数据处理方法,其应用于服务端,该方法的主要流程如图4所示,包括如下步骤:
130.s401,从节点对代价表中获取目标节点对的基准代价参数,所述基准代价参数用于表示从节点对中的一个节点出发移动至另一个节点所需付出的代价;
131.s402,根据所述目标节点对的基准代价参数,对所述目标节点对中的两个节点分别进行向量化表示,分别获得所述两个节点的节点向量;
132.s403,将所述两个节点的节点向量存储到用于存储节点向量的节点向量表中,所述节点向量表用于针对第一节点和第二节点之间的代价参数的查询请求,提供所述第一节点的第一节点向量和所述第二节点的第二节点向量,所述第一节点向量和所述第二节点向量用于获得所述第一节点和第二节点之间的代价参数。
133.下面针对图4所示实施例中各步骤的具体实施方式进行详细说明。
134.s401,从节点对代价表中获取目标节点对的基准代价参数,所述基准代价参数用于表示从节点对中的一个节点出发移动至另一个节点所需付出的代价。
135.本步骤是从已有的节点对代价表中获取数据的过程。所述节点对代价表实质上就是存储有大量节点对和对应的基准代价参数的数据表,是用于查询节点对的基准代价参数的原有依据。在实际应用中,od缓存表就是一种位置节点对代价表,用于查询现实中的起点到终点的距离。事实上,节点可以是现实中的某一位置,也可以是图像中的某一点。所述节点对就是两个关联的节点的一种数据结构,所述节点对的基准代价参数用于表示从所述节点对中的一个节点出发移动至另一个节点所需付出的代价,包括实际移动的距离、花费的
时间或费用等。
136.从节点对代价表中获取目标节点对的基准代价参数,也就是从节点对代价表中查询匹配目标节点对的两个节点所对应的基准代价参数。在其他实施例中,还可以针对所述节点对代价表构建节点图,如图5所示,针对图中左侧的节点对代价表构建得到右侧的节点图中,存在连线的两个节点为节点对代价表中的一个节点对,节点对中两个节点之间的边的权重值对应所述两个节点之间的基准代价参数。由此,从节点对代价表中获取目标节点对的基准代价参数,就可以先从所述节点对代价表对应的所述节点图中确定所述目标节点对中的所述两个节点,然后从所述节点图中获取所述两个节点之间的边的权重值,作为所述目标节点对的基准代价参数。对于节点对代价表中不存在的节点对,可以设定所述节点对代价表中不存在的节点对所对应的两个节点之间的边的权重值为负值或者小于预设权重阈值。
137.s402,根据所述目标节点对的基准代价参数,对所述目标节点对中的两个节点分别进行向量化表示,分别获得所述两个节点的节点向量。
138.本步骤是将节点进行向量化表示的过程,也是将节点对代价表转换为节点向量表的关键步骤。
139.本技术的核心就是将节点对代价表中的各个节点用合适的向量来表示,以两个节点的节点向量的关系来表征两个节点之间的基准代价参数,因此,在一种实施例中,该步骤包括:获得向量间代价参数与所述目标节点对的基准代价参数匹配时的所述两个节点的节点向量。所述向量间代价参数是根据所述两个节点的节点向量计算得到的所述两个节点的节点向量之间的代价参数。例如,根据所述两个节点的节点向量计算两个节点向量之间的欧氏距离,该欧式距离的值与所述目标节点对的基准代价参数匹配时,则将所述两个节点的向量分别确定为所述两个节点的节点向量。
140.所述获得向量间代价参数与所述目标节点对的基准代价参数匹配时的所述两个节点的节点向量,具体可通过以下步骤实现,如图6所示:
141.s6021,分别获取所述两个节点的初始向量。
142.针对所述两个节点中的任意一个节点,获得所述任意一个节点在指定特征维度集合中的每个特征维度下的特征值,然后根据所述任意一个节点在每个特征维度下的特征值,构建所述任意一个节点的初始向量。
143.指定特征维度集合是指由多个指定的特征维度构成的集合,将任意一个节点在每个特征维度下的特征值,作为初始向量的一个分量,从而构建出该节点的初始向量。例如,指定特征维度包括位置属性(住宅或写字楼)、位置交通拥堵程度(一般、中等、严重)、位置人员密集程度(一般、中等、严重),由这三个指定的特征维度构成特征维度集合。设位置属性为住宅的维度值是1,位置属性为写字楼的维度值是2;位置交通拥堵程度为一般的维度值是1,位置交通拥堵程度为中等的维度值是2,位置交通拥堵程度为严重的维度值是3;位置人员密集程度为一般的维度值是1,位置人员密集程度为中等的维度值是2,位置人员密集程度为严重的维度值是3。某位置节点为住宅,位置交通拥堵程度中等,位置人员密集程度严重,则该位置节点在指定的特征维度下的特征值分别为1、2、3,因此,构建的该位置节点的初始向量为(1,2,3)。
144.s6022,根据所述两个节点的初始向量,计算所述两个节点的初始向量之间的初始
代价参数。
145.两个节点的初始向量之间的初始代价参数,可以通过所述两个节点的初始向量之间的关系进行表征,最简单的,是根据所述两个节点的初始向量计算所述两个节点的初始向量之间的欧氏距离,作为所述两个节点的初始向量之间的初始代价参数。例如,节点o的初始向量为(o1,o2,o3,o4,

,on),节点d的初始向量为(d1,d2,d3,d4,

,dn),则两个节点的初始向量之间的欧氏距离d为d=(o1-d1)2+(o2-d2)2+(o3-d3)2+(o4-d4)2+

+(on-dn)2。
146.s6023,判断所述初始代价参数与所述目标节点对的基准代价参数是否匹配。
147.判断所述初始代价参数与所述目标节点对的基准代价参数是否匹配,也就是判断所述初始代价参数是否等于或近似等于所述目标节点对的基准代价参数。具体是将所述初始代价参数和所述目标节点对的基准代价参数输入到损失函数,获得所述损失函数输出的差异值。
148.所述损失函数用于计算任意一个节点对中的两个节点向量之间的向量间代价参数与所述任意一个节点对的基准代价参数之间的差异值。例如,构建损失函数为loss=(d-d’)2,损失函数中d为上述两个节点的初始向量之间的欧氏距离,d’为所述两个节点之间的基准代价参数,loss为损失函数输出的差异值。
149.得到所述损失函数输出的差异值后,判断所述差异值是否低于预设阈值,若是,则确定所述初始代价参数与所述目标节点对的基准代价参数匹配,否则,确定所述初始代价参数与所述目标节点对的基准代价参数不匹配。
150.s6024,如果所述初始代价参数与所述目标节点对的基准代价参数匹配,则将所述两个节点的初始向量确定为所述两个节点的节点向量。
151.所述初始代价参数与所述目标节点对的基准代价参数匹配时,说明二者的值相等或近似相等,则可以使用所述初始代价参数来表征所述目标节点对的基准代价参数,因此,将所述两个节点的初始向量确定为所述两个节点的节点向量,根据所述两个节点的节点向量就能够获得所述目标节点对的基准代价参数。
152.s6025,如果所述初始代价参数与所述目标节点对的基准代价参数不匹配,则调整所述两个节点中的至少一个节点的初始向量,根据调整后向量获得所述两个节点的调整后向量之间的调整后代价参数,直至所述两个节点的调整后向量之间的调整后代价参数与所述目标节点对的基准代价参数匹配为止,将所述两个节点的调整后向量之间的调整后代价参数与所述目标节点对的基准代价参数匹配时的所述两个节点的调整后向量确定为所述两个节点的节点向量。
153.其中,所述调整所述两个节点中的至少一个节点的初始向量,包括:调整所述指定特征维度集合中的特征维度,例如,将指定的特征维度由位置属性(住宅或写字楼)、位置交通拥堵程度(一般、中等、严重)、位置人员密集程度(一般、中等、严重),调整为位置属性(住宅或写字楼)、位置交通拥堵程度(一般、中等、严重)、位置交通便利程度(一般、中等、优秀),或者调整为位置属性(住宅或写字楼)、位置交通拥堵程度(一般、中等、严重)、位置人员密集程度(一般、中等、严重)、位置交通便利程度(一般、中等、优秀)。又或者,调整所述两个节点中的至少一个节点在所述指定特征维度集合中的每个特征维度下的特征值,例如,将位置节点在指定的特征维度下的特征值1、2、3,调整为1、3、3。
154.每次调整后,同样需要计算所述两个节点的的调整后向量之间的调整后代价参
数,并将调整后代价参数和所述目标节点对的基准代价参数输入到损失函数,获得所述损失函数输出的差异值,根据所述差异值判断二者是否匹配,也就是判断所述差异值是否低于预设阈值,若是,则确定所述调整后代价参数与所述目标节点对的基准代价参数匹配,否则,确定所述调整后代价参数与所述目标节点对的基准代价参数不匹配。若匹配,则将此时的所述两个节点的调整后向量确定为所述两个节点的节点向量。若不匹配,则继续调整,直至所述两个节点的调整后向量之间的调整后代价参数与所述目标节点对的基准代价参数匹配为止。
155.在另一种实施例中,所述根据所述目标节点对的基准代价参数,对所述目标节点对中的两个节点分别进行向量化表示,分别获得所述两个节点的节点向量,需获得满足下述条件的所述两个节点的节点向量:一个条件是向量间代价参数与所述目标节点对的基准代价参数匹配,所述向量间代价参数是根据所述两个节点的节点向量计算得到的所述两个节点的节点向量之间的代价参数;另一个条件时如果所述两个节点中的任意一个节点存在于所述节点对代价表中的其他节点对中,则所述两个节点中的所述任意一个节点在其存在的所有节点对中的对应向量都相同。
156.上述条件是针对节点对代价表中的任意一个节点在不同节点对中同时存在的情况进行的限制。也就是说,要求该节点在不同节点对中的节点向量均相同,且在不同节点对中,计算得到的向量间代价参数与相应的节点对的基准代价参数匹配。
157.满足上述条件的所述两个节点的节点向量,可通过以下方式获得:
158.获得向量间代价参数与所述目标节点对的基准代价参数匹配时的所述两个节点的节点向量,作为所述两个节点的代价匹配节点向量。如果所述两个节点中的任意一个节点存在于所述节点对代价表中的其他节点对中,则确定所述两个节点中的所述任意一个节点为频现节点,存在所述频现节点的节点对为频现节点对。
159.如果所述两个节点中的所述频现节点的代价匹配节点向量与其他任意一个频现节点对中的所述频现节点的代价匹配节点向量不同,则调整所述两个节点中的所述频现节点的代价匹配节点向量和/或其他任意一个频现节点对中的所述频现节点的代价匹配节点向量,直至所有频现节点对中的所述频现节点的代价匹配节点向量都相同。
160.也就是说,先计算得到各个节点对中的两个节点的节点向量,如果某一节点在不同节点对中均存在,且在不同节点对中该节点的节点向量不同,则对该节点在一个节点对中的节点向量进行调整,或者对该节点在多个节点对中或在所有节点对中的节点向量同时进行调整,直至该节点在不同节点对中的节点向量均相同,且在不同节点对中,计算得到的向量间代价参数与相应的节点对的基准代价参数匹配为止。
161.例如,节点a在节点对a,b中的节点向量为(a1,a2,a3),节点a在节点对a,c中的节点向量为(a4,a5,a6),为了使节点a在所有节点对中的节点向量均相同,可以先将节点a在节点对a,b中的节点向量调整为节点a在节点对a,c中的节点向量(a4,a5,a6),然后计算节点a和节点b之间的代价参数,如果计算得到的代价参数与节点对a,b的基准代价参数匹配,则确定节点a在所有节点对中的节点向量为(a4,a5,a6)。如果计算得到的代价参数与节点对a,b的基准代价参数不匹配,再将节点a在节点对a,c中的节点向量调整为节点a在节点对a,b中的节点向量(a1,a2,a3),然后计算节点a和节点c之间的代价参数,如果计算得到的代价参数与节点对a,c的基准代价参数匹配,则确定节点a在所有节点对中的节点向量为(a1,
a2,a3)。如果计算得到的代价参数与节点对a,c的基准代价参数仍然不匹配,则将节点a在所有节点对中的节点向量同时调整成一个新的相同的向量,并通过不同节点对的基准代价参数进行验证,直至在两个节点对中,计算得到的向量间代价参数与相应的节点对的基准代价参数匹配为止。
162.在其他实施例中,所述从节点对代价表中获取目标节点对的基准代价参数,可以是从所述节点对代价表中获取至少一个目标节点对的基准代价参数。
163.所述根据所述目标节点对的基准代价参数,对所述目标节点对中的两个节点分别进行向量化表示,分别获得所述两个节点的节点向量,包括:
164.设每个目标节点对中的两个节点的节点向量为未知变量;
165.计算所有目标节点对的节点向量距离误差的平均值取最小值时所述未知变量的值,作为相应目标节点对中两个节点的节点向量。所述节点向量距离误差为任意一个目标节点对中的两个节点的节点向量之间的欧氏距离与所述任意一个目标节点对的基准代价参数的差。具体可通过随机梯度下降的方法计算所有目标节点对的节点向量距离误差的平均值取最小值时所述未知变量的值。
166.以上步骤均为原理性描述,事实上,根据从节点对代价表中获取的目标节点对的基准代价参数,对所述目标节点对中的两个节点分别进行向量化表示,分别获得所述两个节点的节点向量,可通过现有的图嵌入(graph embedding)/图压缩方法获得,具体可应用node2vec算法。根据节点对代价表构建节点图,然后通过图嵌入方法获得每一个节点的节点向量,通过计算两个节点向量之间的欧氏距离,就可以以较小的误差还原两个节点之间的边的权重值。
167.其中,图嵌入方法所构建的目标函数为:
[0168][0169]
上式中,e为边的集合,y
od
为边的权重值,均为已知;argmin函数表示使目标函数取最小值时的变量值;o和d分别代表两个节点,即节点对中的起点和终点;d(.,.)为距离函数;err(.,.)为误差函数;xo和xd分别为节点o和节点d的节点向量。
[0170]
通过小批量随机梯度下降的方法对上述目标函数求解,即可得到节点o和节点d的节点向量。
[0171]
通过上述步骤即可确定所述目标节点对中的两个节点的节点向量。
[0172]
s403,将所述两个节点的节点向量存储到用于存储节点向量的节点向量表中,所述节点向量表用于针对第一节点和第二节点之间的代价参数的查询请求,提供所述第一节点的第一节点向量和所述第二节点的第二节点向量,所述第一节点向量和所述第二节点向量用于获得所述第一节点和第二节点之间的代价参数。
[0173]
所述节点向量表是替代所述节点对代价表、用于查询节点对的基准代价参数的新依据。节点向量表仅存储节点及其节点向量,相对于节点对代价表来说,其存储量较小。节点在节点向量表中以唯一对应标识进行存储,如每个节点对应一个编码,以编码形式存储,便于查询。只要查询到某节点的对应编码,就能够获得该节点的节点向量。
[0174]
在其他实施例中,本技术提供的数据处理方法还包括以下步骤:
[0175]
获取用于查询第一节点和第二节点之间的代价参数的查询请求;
[0176]
从所述节点向量表中获取所述第一节点的第一节点向量和所述第二节点的第二节点向量;
[0177]
根据所述第一节点的第一节点向量和所述第二节点的第二节点向量,获得所述第一节点和第二节点之间的代价参数,具体可通过计算所述第一节点向量和所述第二节点向量之间的欧氏距离,作为所述第一节点和第二节点之间的代价参数;
[0178]
针对所述查询请求,输出所述第一节点和第二节点之间的代价参数。
[0179]
在获得节点向量表后,即可通过所述节点向量表查询两个节点的节点向量,并计算得到两个节点的节点向量之间的代价参数,以该代价参数替代原节点对代价表中的基准代价参数,所述两个节点的节点向量之间的代价参数与基准代价参数相同或相近。
[0180]
需要说明的是,针对所述节点对代价表构建的节点图,若设定所述节点对代价表中不存在的节点对所对应的两个节点之间的边的权重值为负值或者小于预设权重阈值,则根据从所述节点向量表中查询的、所述节点对代价表中不存在的节点对所对应的两个节点的节点向量,所获得的所述两个节点之间的代价参数也为负值或者小于预设权重阈值,说明这两个节点构成的节点对不存在。
[0181]
通过上述方法,能够缓解节点对代价表的存储压力,并提供快速精准的查询效果。
[0182]
第二实施例
[0183]
本技术第二实施例提供一种数据查询方法,其应用于服务端,该方法的主要流程如图7所示,包括如下步骤:
[0184]
s701,获取用于查询第一节点和第二节点之间的代价参数的查询请求,所述第一节点和第二节点之间的代价参数用于表示从所述第一节点出发移动至所述第二节点所需付出的代价;
[0185]
s702,从节点向量表中获取所述第一节点的第一节点向量和所述第二节点的第二节点向量,所述节点向量表用于存储和查询节点向量;
[0186]
s703,根据所述第一节点的第一节点向量和所述第二节点的第二节点向量,获得所述第一节点和第二节点之间的代价参数;
[0187]
s704,针对所述查询请求,输出所述第一节点和第二节点之间的代价参数。
[0188]
具体地,可通过计算所述第一节点向量和所述第二节点向量之间的欧氏距离,作为所述第一节点和第二节点之间的代价参数。
[0189]
其中,所述节点向量表预先通过如下方式获得:
[0190]
从节点对代价表中获取目标节点对的基准代价参数,所述节点对代价表是用于查询节点对的基准代价参数的原有依据,所述节点对的基准代价参数用于表示从所述节点对中的一个节点出发移动至另一个节点所需付出的代价;
[0191]
根据所述目标节点对的基准代价参数,对所述目标节点对中的两个节点分别进行向量化表示,分别获得所述两个节点的节点向量;
[0192]
将所述两个节点的节点向量存储到所述节点向量表中,所述节点向量表是替代所述节点对代价表、用于查询节点对的基准代价参数的新依据。
[0193]
可以看出,本实施例提供的数据查询方法,即是对第一实施例中得到的节点向量表的查询应用,节点向量表的获得方式具体参见第一实施例。
[0194]
该方法可应用于节点数据服务端,如线上至线下服务平台,或者本地生活服务平
台。所述获取用于查询第一节点和第二节点之间的代价参数的查询请求,包括:获取节点数据查询端发出的用于查询第一节点和第二节点之间的代价参数的查询请求。所述针对所述查询请求,输出所述第一节点和第二节点之间的代价参数,包括:针对所述查询请求,向所述节点数据查询端发送所述第一节点和第二节点之间的代价参数。所述节点数据查询端为维护节点向量表的维护人员所使用的终端,或者,所述节点数据查询端为线上到线下服务端,或者,所述节点数据查询端为位置服务端。
[0195]
第三实施例
[0196]
本技术第三实施例提供一种位置服务数据处理方法,其应用于服务端,该方法的主要流程如图8所示,包括如下步骤:
[0197]
s801,从位置节点对代价表中获取目标位置节点对的基准移动代价参数,所述基准移动代价参数用于表示从位置节点对中的一个位置节点出发移动至另一个位置节点所需付出的代价;
[0198]
s802,根据所述目标位置节点对的基准移动代价参数,对所述目标位置节点对中的两个位置节点分别进行向量化表示,分别获得所述两个位置节点的位置节点向量;
[0199]
s803,将所述两个位置节点的位置节点向量存储到用于存储位置节点向量的位置节点向量表中,所述位置节点向量表用于针对第一位置节点和第二位置节点之间的移动代价参数的查询请求,提供所述第一位置节点的第一位置节点向量和所述第二位置节点的第二位置节点向量,所述第一位置节点向量和所述第二位置节点向量用于获得所述第一位置节点和第二位置节点之间的移动代价参数。
[0200]
本实施例提供的位置服务数据处理方法,主要针对位置服务的应用场景,对第一实施例中所述数据处理方法的应用,具体实施方式参见第一实施例。
[0201]
第四实施例
[0202]
本技术第四实施例提供一种位置服务数据查询方法,其应用于服务端,该方法的主要流程如图9所示,包括如下步骤:
[0203]
s901,获取用于查询第一位置节点和第二位置节点之间的移动代价参数的查询请求,所述第一位置节点和第二位置节点之间的移动代价参数用于表示从所述第一位置节点出发移动至所述第二位置节点所付出的代价;
[0204]
s902,从位置节点向量表中获取所述第一位置节点的第一位置节点向量和所述第二位置节点的第二位置节点向量,所述位置节点向量表用于存储和查询位置节点向量;
[0205]
s903,根据所述第一位置节点的第一位置节点向量和所述第二位置节点的第二位置节点向量,获得所述第一位置节点和第二位置节点之间的移动代价参数;
[0206]
s904,针对所述查询请求,输出所述第一位置节点和第二位置节点之间的移动代价参数。
[0207]
本实施例提供的位置服务数据查询方法,主要针对位置服务的应用场景,对第二实施例中所述数据查询方法的应用,具体实施方式参见第二实施例。
[0208]
第五实施例
[0209]
本技术第五实施例提供一种数据处理装置,如图10所示。该装置与第一实施例提供的数据存储方法相对应,由于装置实施例与方法实施例相似,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
[0210]
本实施例提供的数据处理装置1000,包括:
[0211]
数据获取单元1001,用于从节点对代价表中获取目标节点对的基准代价参数,所述基准代价参数用于表示从节点对中的一个节点出发移动至另一个节点所需付出的代价;
[0212]
节点向量化表示单元1002,用于根据所述目标节点对的基准代价参数,对所述目标节点对中的两个节点分别进行向量化表示,分别获得所述两个节点的节点向量;
[0213]
节点向量存储单元1003,用于将所述两个节点的节点向量存储到用于存储节点向量的节点向量表中,所述节点向量表用于针对第一节点和第二节点之间的代价参数的查询请求,提供所述第一节点的第一节点向量和所述第二节点的第二节点向量,所述第一节点向量和所述第二节点向量用于获得所述第一节点和第二节点之间的代价参数。
[0214]
可选地,所述根据所述目标节点对的基准代价参数,对所述目标节点对中的两个节点分别进行向量化表示,分别获得所述两个节点的节点向量,包括:获得向量间代价参数与所述目标节点对的基准代价参数匹配时的所述两个节点的节点向量,所述向量间代价参数是根据所述两个节点的节点向量计算得到的所述两个节点的节点向量之间的代价参数。
[0215]
可选地,所述获得向量间代价参数与所述目标节点对的基准代价参数匹配时的所述两个节点的节点向量,包括:分别获取所述两个节点的初始向量;根据所述两个节点的初始向量,计算所述两个节点的初始向量之间的初始代价参数;判断所述初始代价参数与所述目标节点对的基准代价参数是否匹配;如果所述初始代价参数与所述目标节点对的基准代价参数匹配,则将所述两个节点的初始向量确定为所述两个节点的节点向量;如果所述初始代价参数与所述目标节点对的基准代价参数不匹配,则调整所述两个节点中的至少一个节点的初始向量,根据调整后向量获得所述两个节点的调整后向量之间的调整后代价参数,直至所述两个节点的调整后向量之间的调整后代价参数与所述目标节点对的基准代价参数匹配为止,将所述两个节点的调整后向量之间的调整后代价参数与所述目标节点对的基准代价参数匹配时的所述两个节点的调整后向量确定为所述两个节点的节点向量。
[0216]
可选地,所述分别获取所述两个节点的初始向量,包括:针对所述两个节点中的任意一个节点,获得所述任意一个节点在指定特征维度集合中的每个特征维度下的特征值;根据所述任意一个节点在每个特征维度下的特征值,构建所述任意一个节点的初始向量。
[0217]
可选地,所述根据所述两个节点的初始向量,计算所述两个节点的初始向量之间的初始代价参数,包括:根据所述两个节点的初始向量计算所述两个节点的初始向量之间的欧氏距离,作为所述两个节点的初始向量之间的初始代价参数。
[0218]
可选地,所述判断所述初始代价参数与所述目标节点对的基准代价参数是否匹配,包括:将所述初始代价参数和所述目标节点对的基准代价参数输入到损失函数,获得所述损失函数输出的差异值,所述损失函数用于计算任意一个节点对中的两个节点向量之间的向量间代价参数与所述任意一个节点对的基准代价参数之间的差异值;判断所述差异值是否低于预设阈值,若是,则确定所述初始代价参数与所述目标节点对的基准代价参数匹配,否则,确定所述初始代价参数与所述目标节点对的基准代价参数不匹配。
[0219]
可选地,所述调整所述两个节点中的至少一个节点的初始向量,包括:调整所述指定特征维度集合中的特征维度;或者,调整所述两个节点中的至少一个节点在所述指定特征维度集合中的每个特征维度下的特征值。
[0220]
可选地,所述根据所述目标节点对的基准代价参数,对所述目标节点对中的两个
节点分别进行向量化表示,分别获得所述两个节点的节点向量,包括:获得满足下述条件的所述两个节点的节点向量:向量间代价参数与所述目标节点对的基准代价参数匹配,所述向量间代价参数是根据所述两个节点的节点向量计算得到的所述两个节点的节点向量之间的代价参数;如果所述两个节点中的任意一个节点存在于所述节点对代价表中的其他节点对中,则所述两个节点中的所述任意一个节点在其存在的所有节点对中的对应向量都相同。
[0221]
可选地,所述获得满足下述条件的所述两个节点的节点向量,包括:获得向量间代价参数与所述目标节点对的基准代价参数匹配时的所述两个节点的节点向量,作为所述两个节点的代价匹配节点向量;如果所述两个节点中的任意一个节点存在于所述节点对代价表中的其他节点对中,则确定所述两个节点中的所述任意一个节点为频现节点,存在所述频现节点的节点对为频现节点对;如果所述两个节点中的所述频现节点的代价匹配节点向量与其他任意一个频现节点对中的所述频现节点的代价匹配节点向量不同,则调整所述两个节点中的所述频现节点的代价匹配节点向量和/或其他任意一个频现节点对中的所述频现节点的代价匹配节点向量,直至所有频现节点对中的所述频现节点的代价匹配节点向量都相同。
[0222]
可选地,所述数据处理装置1000还包括:数据查询请求获取单元,用于获取用于查询第一节点和第二节点之间的代价参数的查询请求;节点向量获取单元,用于从所述节点向量表中获取所述第一节点的第一节点向量和所述第二节点的第二节点向量;代价参数获得单元,用于根据所述第一节点的第一节点向量和所述第二节点的第二节点向量,获得所述第一节点和第二节点之间的代价参数;代价参数输出单元,用于针对所述查询请求,输出所述第一节点和第二节点之间的代价参数。
[0223]
可选地,所述根据所述第一节点的第一节点向量和所述第二节点的第二节点向量,获得所述第一节点和第二节点之间的代价参数,包括:计算所述第一节点向量和所述第二节点向量之间的欧氏距离,作为所述第一节点和第二节点之间的代价参数。
[0224]
可选地,所述数据处理装置1000还包括:节点图构建单元,用于针对所述节点对代价表构建节点图,在所述节点图中,任意两个节点之间的边的权重值对应所述任意两个节点之间的基准代价参数;所述从节点对代价表中获取目标节点对的基准代价参数,包括:从所述节点对代价表对应的所述节点图中确定所述目标节点对中的所述两个节点;从所述节点图中获取所述两个节点之间的边的权重值,作为所述目标节点对的基准代价参数。
[0225]
可选地,所述针对所述节点对代价表构建节点图,包括:设定所述节点对代价表中不存在的节点对所对应的两个节点之间的边的权重值为负值或者小于预设权重阈值。
[0226]
可选地,根据从所述节点向量表中查询的、所述节点对代价表中不存在的节点对所对应的两个节点的节点向量,所获得的所述两个节点之间的代价参数为负值或者小于预设权重阈值。
[0227]
可选地,所述从节点对代价表中获取目标节点对的基准代价参数,包括:从所述节点对代价表中获取至少一个目标节点对的基准代价参数;所述根据所述目标节点对的基准代价参数,对所述目标节点对中的两个节点分别进行向量化表示,分别获得所述两个节点的节点向量,包括:设每个目标节点对中的两个节点的节点向量为未知变量;计算所有目标节点对的节点向量距离误差的平均值取最小值时所述未知变量的值,作为相应目标节点对
中两个节点的节点向量,所述节点向量距离误差为任意一个目标节点对中的两个节点的节点向量之间的欧氏距离与所述任意一个目标节点对的基准代价参数的差。
[0228]
可选地,所述计算所有目标节点对的节点向量距离误差的平均值取最小值时所述未知变量的值,包括:通过随机梯度下降的方法计算所有目标节点对的节点向量距离误差的平均值取最小值时所述未知变量的值。
[0229]
可选地,所述基准代价参数为从节点对中的一个节点出发移动至另一个节点所需移动的距离或者花费的时间或费用。
[0230]
第六实施例
[0231]
本技术第六实施例提供一种数据查询装置,如图11所示。该装置与第二实施例提供的数据查询方法相对应,由于装置实施例与方法实施例相似,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
[0232]
本实施例提供的数据查询装置1100,包括:
[0233]
数据查询请求获取单元1101,用于获取用于查询第一节点和第二节点之间的代价参数的查询请求,所述第一节点和第二节点之间的代价参数用于表示从所述第一节点出发移动至所述第二节点所需付出的代价;
[0234]
节点向量获取单元1102,用于从节点向量表中获取所述第一节点的第一节点向量和所述第二节点的第二节点向量,所述节点向量表用于存储和查询节点向量;
[0235]
代价参数获得单元1103,用于根据所述第一节点的第一节点向量和所述第二节点的第二节点向量,获得所述第一节点和第二节点之间的代价参数;
[0236]
代价参数输出单元1104,用于针对所述查询请求,输出所述第一节点和第二节点之间的代价参数。
[0237]
可选地,所述节点向量表预先通过如下方式获得:从节点对代价表中获取目标节点对的基准代价参数,所述节点对代价表是用于查询节点对的基准代价参数的原有依据,所述节点对的基准代价参数用于表示从所述节点对中的一个节点出发移动至另一个节点所需付出的代价;根据所述目标节点对的基准代价参数,对所述目标节点对中的两个节点分别进行向量化表示,分别获得所述两个节点的节点向量;将所述两个节点的节点向量存储到所述节点向量表中,所述节点向量表是替代所述节点对代价表、用于查询节点对的基准代价参数的新依据。
[0238]
可选地,所述根据所述第一节点的第一节点向量和所述第二节点的第二节点向量,获得所述第一节点和第二节点之间的代价参数,包括:计算所述第一节点向量和所述第二节点向量之间的欧氏距离,作为所述第一节点和第二节点之间的代价参数。
[0239]
可选地,所述装置应用于节点数据服务端;所述获取用于查询第一节点和第二节点之间的代价参数的查询请求,包括:获取节点数据查询端发出的用于查询第一节点和第二节点之间的代价参数的查询请求;所述针对所述查询请求,输出所述第一节点和第二节点之间的代价参数,包括:针对所述查询请求,向所述节点数据查询端发送所述第一节点和第二节点之间的代价参数。
[0240]
可选地,所述节点数据查询端为维护节点向量表的维护人员所使用的终端,或者,所述节点数据查询端为线上到线下服务端,或者,所述节点数据查询端为位置服务端。
[0241]
第七实施例
[0242]
本技术第七实施例提供一种位置服务数据处理装置,如图12所示。该装置与第三实施例提供的位置服务数据处理方法相对应,由于装置实施例与方法实施例相似,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
[0243]
本实施例提供的位置服务数据处理装置1200,包括:
[0244]
位置数据获取单元1201,用于从位置节点对代价表中获取目标位置节点对的基准移动代价参数,所述基准移动代价参数用于表示从位置节点对中的一个位置节点出发移动至另一个位置节点所需付出的代价;
[0245]
位置节点向量化表示单元1202,用于根据所述目标位置节点对的基准移动代价参数,对所述目标位置节点对中的两个位置节点分别进行向量化表示,分别获得所述两个位置节点的位置节点向量;
[0246]
位置节点向量存储单元1203,用于将所述两个位置节点的位置节点向量存储到用于存储位置节点向量的位置节点向量表中,所述位置节点向量表用于针对第一位置节点和第二位置节点之间的移动代价参数的查询请求,提供所述第一位置节点的第一位置节点向量和所述第二位置节点的第二位置节点向量,所述第一位置节点向量和所述第二位置节点向量用于获得所述第一位置节点和第二位置节点之间的移动代价参数。
[0247]
第八实施例
[0248]
本技术第八实施例提供一种位置服务数据查询装置,如图13所示。该装置与第四实施例提供的位置服务数据查询方法相对应,由于装置实施例与方法实施例相似,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
[0249]
本实施例提供的位置服务数据查询装置1300,包括:
[0250]
位置数据查询请求获取单元1301,用于获取用于查询第一位置节点和第二位置节点之间的移动代价参数的查询请求,所述第一位置节点和第二位置节点之间的移动代价参数用于表示从所述第一位置节点出发移动至所述第二位置节点所需付出的代价;
[0251]
位置节点向量获取单元1302,用于从位置节点向量表中获取所述第一位置节点的第一位置节点向量和所述第二位置节点的第二位置节点向量,所述位置节点向量表用于存储和查询位置节点向量;
[0252]
移动代价参数获得单元1303,用于根据所述第一位置节点的第一位置节点向量和所述第二位置节点的第二位置节点向量,获得所述第一位置节点和第二位置节点之间的移动代价参数;
[0253]
移动代价参数输出单元1304,用于针对所述查询请求,输出所述第一位置节点和第二位置节点之间的移动代价参数。
[0254]
第九实施例
[0255]
本技术第九实施例提供一种电子设备,如图14所示。该电子设备包括:至少一个处理器1401,至少一个存储器1402,至少一个通信接口1403和至少一个通信总线1404。可选的,处理器1401可能是处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本技术实施例的一个或多个集成电路。存储器1402可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。通信接口1403可以为通信模块的接口,如gsm模块的接口。其中,存储器1402存储有程序和数据,处理器1401调用存储器1402所存储的程序,以实现上述数据
处理方法,或者上述数据查询方法,或者上述位置服务数据处理方法,或者上述位置服务数据查询方法。
[0256]
第十实施例
[0257]
本技术第十实施例提供一种计算机可读存储介质,其上存储有一条或多条计算机指令,所述一条或多条计算机指令被处理器执行以实现上述数据处理方法,或者上述数据查询方法,或者上述位置服务数据处理方法,或者上述位置服务数据查询方法。
[0258]
需要说明的是,尽管在上文详细描述中提及了用于动作执行的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本技术的具体实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0259]
此外,尽管在附图中以特定顺序描述了本技术中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
[0260]
应当注意,本技术的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、cd或dvd-rom的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本技术的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
[0261]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,凡在本技术的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1