微服务网关中元数据更新方法、装置、设备和存储介质与流程

文档序号:33324725发布日期:2023-03-03 22:32阅读:100来源:国知局
微服务网关中元数据更新方法、装置、设备和存储介质与流程

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.接收模块,用于在该微服务网关与配置中心建立通信连接的情况下,接收该配置中心发送的目标微服务的第一元数据;
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.图1为本技术实施例提供的一种微服务网关中元数据更新方法的应用环境图;
102.图2为本技术实施例提供的一种微服务网关中元数据更新方法的流程示意图;
103.图3为本技术实施例提供的一种禁止采用第一元数据更新第二元数据的判断方法
的流程示意图;
104.图4为本技术实施例提供的一种第一特征矩阵确定方法的流程示意图;
105.图5为本技术实施例提供的一种特征向量确定方法的流程示意图;
106.图6为一个实施例中微服务网关中元数据更新装置的结构框图;
107.图7为一个实施例中计算机设备的内部结构图。
具体实施方式
108.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
109.本技术实施例提供的数据更新方法,可以应用于如图1所示的应用环境中。其中,微服务网关101与配置中心102建立连接,配置中心102中的元数据推送给微服务网关101,微服务网关101缓存配置中心102推送过来的元数据。图2是本技术实施例提供的一种数据更新方法的流程示意图,该方法应用于图1中的微服务网关,该方法包括以下步骤:
110.s201、在微服务网关与配置中心建立通信连接的情况下,接收配置中心发送的目标微服务的第一元数据。
111.其中,配置中心可以包括当前给网关发送元数据的配置中心;目标微服务的第一元数据包括配置中心新推送到微服务网关的元数据,第一元数据可以包括微服务定义内容、定义文本长度、定义修改时间、配置中心集群标识等属性信息。
112.本技术实施例中,在微服务网关与配置中心建立通信连接时,微服务网关接收配置中心发送的含有微服务定义内容、定义文本长度、定义修改时间、配置中心集群标识等属性信息的第一元数据。
113.需要说明的是,微服务网关接收配置中心发送的微服务的第一元数据后,对第一元数据进行加载,并利用在微服务网关中添加的元数据的对比学习器,提取出第一元数据的内容。对每一条第一元数据,元数据对比学习器提取出对应的元数据内容。例如json
114.{
[0115]“service”:”com.demo.service1”,
[0116]“version”:”1.0”,
[0117]“app”:”app1”,
[0118]“registertime”:”20220728 20:00:00.000”,
[0119]“dc”:”001”,
[0120]
methods:[
[0121]
{
[0122]“methodname”:”login”,
[0123]“paramtype”:”java.util.map”,
[0124]“returntype”:”java.util.map”[0125]
}
[0126]
]
[0127]
}
[0128]
s202、根据第一元数据得到第一特征矩阵。
[0129]
在本技术实施例中,根据上述s201确定的第一元数据,微服务网关对第一元数据进行编码,可以得到第一特征矩阵。
[0130]
具体地,可以利用微服务定义内容、定义文本长度、定义修改时间、配置中心集群标识,以及自定义属性,这五种属性信息作为第一元数据中的属性信息,构造的第一元数据形如{data:{methodname:“invoke”},datalength:20,mtime:20220902,configcluster:cluster1,qoe:1}。其中,自定义属性包括微服务网关当前网络质量。
[0131]
可以对添加了自定义属性信息的第一元数据先进行独热编码,得到特征向量,再考虑已定义的定义内容、定义文本长度、定义修改时间、配置中心集群标识以及微服务网关当前网络质量5个维度,以及预留一个可训练的高维度特征,共6个维度,对独热编码后得到的特征向量再进行编码得到第一特征矩阵。
[0132]
s203、若微服务网关中已缓存有微服务的第二元数据,则根据第一特征矩阵与第二元数据对应的第二特征矩阵,确定第一元数据与第二元数据的相似度。
[0133]
其中,第二元数据可以包括微服务网关中已缓存的元数据。
[0134]
在本技术实施例中,如果微服务网关中已缓存有微服务的第二元数据,先将第二元数据添加自定义属性信息后再进行独热编码,独热编码后得到第二元数据的特征向量。然后考虑已定义的定义内容、定义文本长度、定义修改时间、配置中心集群标识以及微服务网关当前网络质量5个维度,以及预留一个可训练的高维度特征,共6个维度,对独热编码后产生的第二元数据的特征向量进行编码得到第二特征矩阵。
[0135]
需要说明的是,当微服务网关的缓存中没有微服务的第二元数据时,直接将第二元数据缓存在微服务网关内。
[0136]
具体地,利用余弦相似度算法计算第一特征矩阵和第二特征矩阵的距离,即计算第一元数据与第二元数据的距离,并将所计算得到的结果归一化到[0-1]之间,得到第一元数据与第二元数据的相似度。可以通过如下公式计算第一元数据与第二元数据的距离t(x,y):
[0137][0138]
其中,x是第二元数据对应的第二特征矩阵,y是第一元数据对应的第一特征矩阵,||x||表示第二元数据对应的第二特征矩阵的欧几里得范数,||y||表示第一元数据对应的第一特征矩阵的欧几里得范数,xi表示第二元数据对应的第二特征矩阵中每一个行向量,yi表示第一元数据对应的第一特征矩阵中每一个行向量,
·
表示特征矩阵中元素点乘运算。
[0139]
s204、若相似度小于预设相似度阈值,则禁止采用第一元数据更新第二元数据。
[0140]
在本技术实施例中,如果第一元数据与第二元数据的相似度小于预设相似度阈值,则禁止采用第一元数据更新第二元数据,网关不进行刷新。反之,第一元数据与第二元数据的相似度大于或者等于预设相似度,采用第一元数据更新第二元数据;也可以是将第一元数据与第二元数据的相似度乘以预设系数得到第一结果,当第一结果大于或者等于预设相似度时,则认为是正更新,可以采用第一元数据更新第二元数据。
[0141]
需要说明的是,预设相似度阈值可以通过环境采集器采集微服务环境中正负样
本,对正负样本进行分析后得出经验值。具体是根据软件迭代开发原则:软件迭代开发时正式修改一般只会更新1-2个方法,现有存量接口中的方法个数在5-10个以内,因此当接口的定义需要更新时,第一元数据和第二元数据两个相似度为80%及以上,即大部分是正样本,则确定采用第一元数据更新第二元数据,第一元数据和第二元数据两个为80%以下,即大部分是负样本,则去欸的禁止采用第一元数据更新第二元数据。
[0142]
假设有3个配置中心,分别为配置中心a、配置中心b以及配置中心c,应用最开始部署在配置中心a、配置中心b以及配置中心c三地,在三个配置中心中都配置了元数据,后续由于应用拆分,核心功能保留并仅在配置中心a和配置中心b上部署,取消配置中心c的部署,因此应用在配置中心a和配置中心b里的元数据会不断更新保持一致,例如元数据中记录的服务方法名,参数类型等,配置中心c里的元数据因不再更新,元数据中的服务方法名等不再适用于迭代更新后的程序而属于废弃数据。当出现因网络抖动等因素,导致微服务网关与配置中心c断连,之后配置中心c与网关重新建立连接,此时c配置中心中的元数据重新推送给网关,将该元数据称为第一元数据;网关中已缓存来自配置中心a和配置中心的b的元数据,将该元数据称为第二元数据。则,根据第一元数据进行编码得到第一特征矩阵,再根据第一特征矩阵和第二元数据对应的第二特征矩阵,确定第一元数据与第二元数据的相似度,当第一元数据与第二元数据的相似度大于或者等于80%时,则采用第一元数据更新第二元数据,当第一元数据与第二元数据的相似度小于80%时,则禁止采用第一元数据更新第二元数据。
[0143]
本技术实施例提供的微服务网关中元数据更新方法,在微服务网关与配置中心建立通信连接的情况下,微服务网关接收配置中心发送的目标微服务的第一元数据,根据第一元数据得到第一特征矩阵,若微服务网关中已缓存有微服务的第二元数据,则根据第一特征矩阵与第二元数据对应的第二特征矩阵,确定第一元数据与第二元数据的相似度,若相似度小于预设相似度阈值,则禁止采用第一元数据更新第二元数据。传统技术中,微服务网关订阅配置中心中的元数据,当服务存根需要更新时,服务提供方将配置中心中的元数据同步更新并发布,微服务网关接收到配置中心推送过来的新元数据,刷新微服务网关自身缓存的元数据。但是当微服务网关关联不同配置中心时,由于出现因网络抖动等因素,导致微服务网关与某个含有废弃元数据的配置中心断连后,该配置中心与微服务网关重新建立连接后又将废弃元数据推送给微服务网关,则废弃元数据覆盖了微服务网关中已缓存的正确的元数据,因此当微服务网关关联不同配置中心时,传统技术存在元数据覆盖问题的问题。本技术根据第一特征矩阵与第二元数据对应的第二特征矩阵,确定第一元数据与第二元数据的相似度,最后根据相似度判断是否采用第一元数据更新第二元数据,从而确定是否需要对第二元数据进行更新,避免同一微服务元数据因人为误操作或因微服务网关关联不同配置中心而出现的元数据覆盖问题。
[0144]
图3为本技术实施例提供的一种禁止采用第一元数据更新第二元数据的判断方法的流程示意图,本实施例涉及的是若相似度小于预设相似度阈值,则禁止采用第一元数据更新第二元数据的一种可能的实现方式,上述s204包括:
[0145]
s301、若相似度小于预设相似度阈值,则获取第一元数据的第一属性信息以及第二元数据的第二属性信息。
[0146]
其中,第一属性信息和第二属性信息可以包括定义修改时间的时间戳。
[0147]
在本技术实施例中,如果第一元数据与第二元数据的相似度小于预设相似度阈值,则获取第一元数据的定义修改时间的时间戳,以及第二元数据的定义修改时间的时间戳。
[0148]
s302、若第一元数据的第一属性信息与第二元数据的第二属性信息满足预设配置条件,则禁止采用第一元数据更新第二元数据。
[0149]
其中,预设配置条件可以包括第一元数据和第二元数据的定义修改时间戳相差超过3年。
[0150]
在本技术实施例中,如果第一元数据的第一属性信息与第二元数据的第二属性信息满足预设配置条件,即第一元数据和第二元数据的定义修改时间戳相差超过3年,则禁止采用第一元数据更新第二元数据,网关不进行刷新。
[0151]
本技术实施例提供的一种禁止采用第一元数据更新第二元数据的判断方法,若相似度小于预设相似度阈值,则获取第一元数据的第一属性信息以及第二元数据的第二属性信息,若第一元数据的第一属性信息与第二元数据的第二属性信息满足预设配置条件,则禁止采用第一元数据更新第二元数据。提高了判断元数据是否更新的准确性,进而避免了同一微服务元数据因人为误操作或因关联不同配置中心而出现的元数据覆盖问题。
[0152]
在一个实施例中,本实施例涉及的是若第一元数据的第一属性信息与第二元数据的第二属性信息满足预设配置条件,则禁止采用第一元数据更新第二元数据的一种可能的实现方式,在上述实施例的基础上,s302包括:
[0153]
若第一元数据的修改时间戳与第二元数据的修改时间戳的差值大于等于预设时长、第一元数据所属的配置中心的标识与第二元数据所属的配置中心的标识不同中的至少一项满足,则禁止采用第一元数据更新第二元数据。
[0154]
其中,预设时长优选的为3小时;配置中心的标识可以用来判断第一元数据和第二元数据是否处于不同配置中心。
[0155]
在本技术实施例中,如果第一元数据的修改时间戳与第二元数据的修改时间戳的差值大于等于3小时,或者第一元数据所属的配置中心的标识与第二元数据所属的配置中心的标识不同(即第一元数据和第二元数据处于不同配置中心),则禁止采用第一元数据更新第二元数据,网关不进行刷新。
[0156]
本技术实施例提供的禁止采用第一元数据更新第二元数据的判断方法,通过假设第一元数据的修改时间戳与第二元数据的修改时间戳的差值大于等于预设时长、第一元数据所属的配置中心的标识与第二元数据所属的配置中心的标识不同中的至少一项满足,则禁止采用第一元数据更新第二元数据。提高了判断元数据是否更新的准确性,进而避免同一微服务元数据因人为误操作或因微服务网关关联不同配置中心而出现的元数据覆盖问题。
[0157]
图4为本技术实施例提供的一种第一特征矩阵确定方法的流程示意图,本实施例涉及的是如何根据第一元数据得到第一特征矩阵的一种可能的实现方式,在上述实施例中,s202包括:
[0158]
s401、对第一元数据进行独热编码得到特征向量。
[0159]
在本技术实施例中,由于元数据不存在中文,均为英文,因此可使用英文字典对第一元数据进行独热编码,得到特征向量。具体地,考虑已定义的定义内容、定义文本长度、定
义修改时间、配置中心集群标识进行独热编码得到特征向量;也可以考虑考虑已定义的定义内容、定义文本长度、定义修改时间、配置中心集群标识以及一个自定义属性进行独热编码得到特征向量。
[0160]
s402、利用词向量编码器对特征向量和预设特征进行词向量编码得到第一特征矩阵。
[0161]
其中,预设特征包括一个可训练的高维度特征。
[0162]
在本技术实施例中,可以使用词向量编码器(word2vecembedding)对特征向量和预设特征进行编码得到第一特征矩阵。
[0163]
具体地,可以考虑已定义的定义内容、定义文本长度、定义修改时间、配置中心集群标识4个维度,以及一个预设特征,共5个维度进行词向量编码,构造出特征矩阵;也可以考虑已定义的定义内容、定义文本长度、定义修改时间、配置中心集群标识以及微服务网关当前网络质量5个维度,以及预留一个可训练的高维度特征(即预设特征),共6个维度,构造出特征矩阵。例如:[[0.7429,-0.1430,-0.2286,0.2764,0.0352,0.2620],
[0164]
[-0.2458,0.2041,-0.8451,-1.5177,-0.4381,1.9714],
[0165]
[0.1536,-1.4522,1.3563,-0.9198,-1.2024,-0.9063],
[0166]
[1.3898,-0.2650,-0.0332,-0.2091,1.7436,0.5360],
[0167]
[-0.9750,-0.4989,0.4935,0.0069,-0.8472,0.9891],
[0168]
[0.2754,1.4006,-0.7781,-0.4653,-0.2444,-1.4417],
[0169]
[-1.3187,0.0939,-0.1711,0.6579,0.9924,1.0066],
[0170]
[0.2565,-0.8868,-0.0266,2.0472,0.5390,-0.7274],
[0171]
[0.3484,-0.2776,1.7845,-0.0941,0.1176,-0.4080],
[0172]
[1.0763,0.8564,-0.1878,-0.0547,0.5259,-2.6318],
[0173]
[0.3154,0.7991,1.4066,0.1094,0.1874,-0.3941],
[0174]
[-0.9348,0.3324,-3.0653,0.5261,-0.1676,-0.3948],
[0175]
[-0.0977,-0.0429,1.0277,0.7112,1.7010,0.6622],
[0176]
[-1.5802,1.3197,0.3038,-0.6295,0.6849,0.5501],
[0177]
[-0.0205,0.2663,1.4262,-0.3821,-0.3236,1.4738],
[0178]
[-1.0590,1.5335,0.3938,-0.6251,-1.3143,-1.4214],
[0179]
[0.3761,0.2026,-0.9056,0.9442,0.8787,0.1290],
[0180]
[-0.5573,-0.3904,0.8717,-2.3217,0.0479,-0.5811],
[0181]
[-1.8839,1.2689,-0.8172,1.2722,-0.4869,0.8938],
[0182]
[1.1627,1.0851,-0.1640,-1.4984,0.1418,-0.1259],
[0183]
[0.7423,-0.4177,-1.2492,-1.3658,-0.3494,-1.6605],
[0184]
[0.3596,-1.5221,-0.1379,0.5357,1.0805,1.0964],
[0185]
[0.3244,-0.8056,0.8351,-0.8353,-0.6196,-0.5325],
[0186]
[0.1302,-0.8698,-0.2589,-1.1874,1.0045,-1.5511],
[0187]
[-1.0486,0.0496,0.1910,-0.6786,0.0905,0.7410],
[0188]
[0.0527,-0.4918,-0.5578,-0.1881,1.1141,0.1018],
[0189]
[1.1707,1.3359,-1.7013,0.8276,-1.0066,-1.2873],
[0190]
[-0.1759,1.5320,1.7398,-0.6958,0.0224,-1.0197],
[0191]
[-0.4939,0.4729,-1.1960,-1.2884,1.3391,0.6011],
[0192]
[-0.0910,-0.5186,1.5346,0.0699,0.2328,-0.5973],
[0193]
[0.5900,0.3725,0.1969,-0.7658,-0.8607,2.9495],
[0194]
[0.8127,2.3082,1.6082,1.7962,-0.2186,0.0272],
[0195]
[1.2648,-1.0144,1.7994,0.3519,-0.7487,-0.4007],
[0196]
[-0.1428,-0.1338,1.3104,-1.6004,-0.8033,1.1689],
[0197]
[-1.2252,-0.2710,0.4000,0.8116,0.9895,0.3305],
[0198]
[1.0993,-0.7478,0.4610,1.8034,-0.1326,0.6724],
[0199]
[-0.3462,-0.8695,-0.3788,0.6121,-1.0364,-0.9020],
[0200]
[-0.6563,-0.6356,0.6254,0.3693,0.0355,0.0584]]
[0201]
本技术实施例提供的第一特征矩阵确定方法,通过对第一元数据的第一属性信息进行独热编码得到特征向量,利用词向量编码器对特征向量和预设特征进行词向量编码得到第一特征矩阵,能够提高元数据信息的准确性,进而能够提高判断元数据是否更新的准确性。
[0202]
图5为本技术实施例提供的一种特征向量确定方法的流程示意图,该方法包括:
[0203]
s501、在第一元数据中添加自定义属性信息得到添加自定义属性信息后的第一元数据。
[0204]
其中,自定义属性信息可以包括微服务网关当前网络质量。
[0205]
在本技术实施例中,第一元数据包含微服务定义内容、定义文本长度、定义修改时间、配置中心集群标识这四种属性信息,在原本的四种属性信息的基础上再添加一个自定义属性信息,添加自定义属性信息后的第一元数据(微服务定义内容、定义文本长度、定义修改时间、配置中心集群标识以及微服务网关当前网络质量)。
[0206]
需要说明的是,微服务网关当前网络质量通过与配置中心的重连次数描述。例如,定义微服务网关当前网络质量的初始值为1,当微服务网关与配置中心c重连1次,则微服务网关当前网络质量的更新值=微服务网关当前网络质量的初始值/2,即0.5;当微服务网关与配置中心c重连了2次,则微服务网关当前网络质量的更新值=质量/3,即0.3。
[0207]
对第一元数据进行独热编码得到特征向量,包括:
[0208]
s502、对添加自定义属性信息后的第一元数据进行独热编码得到特征向量。
[0209]
在本技术实施例中,微服务网关对添加自定义属性信息后的第一元数据进行独热编码,可以得到特征向量。具体地,由于元数据不存在中文,均为英文,因此可使用英文字典进行独热编码,得到特征向量。可以将上述添加自定义属性信息后的第一元数据的特征向量表示为[28,33,30,0,9,3,12,30,2,12,11,20,5,36,30,20,11,5,31,30,0,9,3,12,30,7,23,9,30,0,33,3,11,4,2,7,5,37,23,18,35,35,2,19,32,32,7,23,0,30,26,3,33,29,30,0,13,3,20,30,2,14,37,14,14,37,21,14,17,1,14,37,2,37,37,2,37,37,5,37,37,37,23,36,12,2,37,37,7,23,20,30,29,15,11,36,33,2,8,28,20,30,29,15,11,36,24,18,20,30,2,27,11,26,3,4,23,35,18,0,18,20,13,10,35,30,2,6,18,9,18,5,22,29,3,27,5,16,18,35,23,0,30,29,22,0,4,13,10,35,30,2,6,18,9,18,5,22,29,3,27,5,16,18,35,25,34,25]
[0210]
本技术实施例提供的特征向量确定方法,通过在第一元数据中添加自定义属性信息得到添加自定义属性信息后的第一元数据,再对添加自定义属性信息后的第一元数据进行独热编码得到特征向量的方法,能够提高元数据信息的准确性,进而能够提高判断元数据是否更新的准确性。
[0211]
在一个实施例中,本实施例涉及的是如何根据相似度,判断是否采用第一元数据更新第二元数据的一种可能的实现方式,在上述实施例的基础上,上述的s204包括:
[0212]
若相似度大于等于预设相似度阈值,则确定采用第一元数据更新第二元数据。
[0213]
在本技术实施例中,如果第一元数据与第二元数据的相似度大于等于预设相似度阈值,则确定采用第一元数据更新第二元数据,网关刷新为第一元数据。第一元数据和第二元数据两个相似度可以80%及以上,即大部分是正样本,则确定采用第一元数据更新第二元数据。
[0214]
本技术实施例提供的如何根据相似度,判断是否采用第一元数据更新第二元数据的方法,通过相似度大于等于预设相似度阈值,确定采用第一元数据更新第二元数据,提高了判断元数据是否更新的准确性,进而避免了同一微服务元数据因人为误操作或因微服务网关关联不同配置中心而出现的元数据覆盖问题。
[0215]
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0216]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的数据更新方法的数据更新装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据更新装置实施例中的具体限定可以参见上文中对于数据更新方法的限定,在此不再赘述。
[0217]
在一个实施例中,如图6所示,提供了一种微服务网关中元数据更新装置600,包括:接收模块601、第一确定模块602、第二确定模块603和禁止模块604,其中:
[0218]
接收模块601,用于在该微服务网关与配置中心建立通信连接的情况下,接收该配置中心发送的目标微服务的第一元数据。
[0219]
第一确定模块602,用于根据该第一元数据得到第一特征矩阵。
[0220]
第二确定模块603,用于若该微服务网关中已缓存有该微服务的第二元数据,则根据该第一特征矩阵与该第二元数据对应的第二特征矩阵,确定该第一元数据与该第二元数据的相似度。
[0221]
禁止模块604,若该相似度小于该预设相似度阈值,则禁止采用该第一元数据更新该第二元数据。
[0222]
在其中一个实施例中,禁止模块604包括:
[0223]
第一获取单元,用于若该相似度小于该预设相似度阈值,则获取该第一元数据的第一属性信息以及该第二元数据的第二属性信息;
[0224]
禁止单元,用于若该第一元数据的第一属性信息与该第二元数据的第二属性信息满足预设配置条件,则禁止采用该第一元数据更新该第二元数据。
[0225]
在其中一个实施例中,禁止单元包括:
[0226]
禁止子单元,用于若该第一元数据的修改时间戳与该第二元数据的修改时间戳的差值大于等于预设时长、该第一元数据所属的配置中心的标识与该第二元数据所属的配置中心的标识不同中的至少一项满足,则禁止采用该该第一元数据更新该第二元数据。
[0227]
在其中一个实施例中,第一确定模块602包括:
[0228]
第一确定单元,用于对该第一元数据的第一属性信息进行独热编码得到特征向量;
[0229]
第二确定单元,用于利用词向量编码器对该特征向量和预设特征进行词向量编码得到该第一特征矩阵。
[0230]
在其中一个实施例中,该装置还包括:
[0231]
第三确定模块,用于在该第一元数据中添加自定义属性信息得到添加自定义属性信息后的第一元数据;
[0232]
第四确定模块,用于该对该第一元数据进行独热编码得到特征向量,包括:
[0233]
第三确定单元,用于对该添加自定义属性信息后的第一元数据进行独热编码得到该特征向量。
[0234]
在其中一个实施例中,该装置还包括:
[0235]
第五确定模块,用于若该相似度大于等于该预设相似度阈值,则确定采用该第一元数据更新该第二元数据。
[0236]
上述数据更新装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0237]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括处理器、存储器、输入/输出接口(input/output,简称i/o)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据更新方法。
[0238]
本领域技术人员可以理解,图7中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0239]
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
[0240]
在该微服务网关与配置中心建立通信连接的情况下,接收该配置中心发送的目标微服务的第一元数据;
[0241]
根据该第一元数据得到第一特征矩阵;
[0242]
若该微服务网关中已缓存有该微服务的第二元数据,则根据该第一特征矩阵与该第二元数据对应的第二特征矩阵,确定该第一元数据与该第二元数据的相似度;
[0243]
若该相似度小于该预设相似度阈值,则禁止采用该第一元数据更新该第二元数据。
[0244]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0245]
若该相似度小于该预设相似度阈值,则获取该第一元数据的第一属性信息以及该第二元数据的第二属性信息;
[0246]
若该第一元数据的第一属性信息与该第二元数据的第二属性信息满足预设配置条件,则禁止采用该第一元数据更新该第二元数据。
[0247]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0248]
若该第一元数据的修改时间戳与该第二元数据的修改时间戳的差值大于等于预设时长、该第一元数据所属的配置中心的标识与该第二元数据所属的配置中心的标识不同中的至少一项满足,则禁止采用该该第一元数据更新该第二元数据。
[0249]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0250]
对该第一元数据进行独热编码得到特征向量;
[0251]
利用词向量编码器对该特征向量和预设特征进行词向量编码得到该第一特征矩阵。
[0252]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0253]
在该第一元数据中添加自定义属性信息得到添加自定义属性信息后的第一元数据;
[0254]
该对该第一元数据进行独热编码得到特征向量,包括:
[0255]
对该添加自定义属性信息后的第一元数据进行独热编码得到该特征向量。
[0256]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0257]
若该相似度大于等于该预设相似度阈值,则确定采用该第一元数据更新该第二元数据。
[0258]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0259]
在该微服务网关与配置中心建立通信连接的情况下,接收该配置中心发送的目标微服务的第一元数据;
[0260]
根据该第一元数据得到第一特征矩阵;
[0261]
若该微服务网关中已缓存有该微服务的第二元数据,则根据该第一特征矩阵与该第二元数据对应的第二特征矩阵,确定该第一元数据与该第二元数据的相似度;
[0262]
若该相似度小于该预设相似度阈值,则禁止采用该第一元数据更新该第二元数据。
[0263]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0264]
若该相似度小于该预设相似度阈值,则获取该第一元数据的第一属性信息以及该第二元数据的第二属性信息;
[0265]
若该第一元数据的第一属性信息与该第二元数据的第二属性信息满足预设配置
条件,则禁止采用该第一元数据更新该第二元数据。
[0266]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0267]
若该第一元数据的修改时间戳与该第二元数据的修改时间戳的差值大于等于预设时长、该第一元数据所属的配置中心的标识与该第二元数据所属的配置中心的标识不同中的至少一项满足,则禁止采用该该第一元数据更新该第二元数据。
[0268]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0269]
对该第一元数据进行独热编码得到特征向量;
[0270]
利用词向量编码器对该特征向量和预设特征进行词向量编码得到该第一特征矩阵。
[0271]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0272]
在该第一元数据中添加自定义属性信息得到添加自定义属性信息后的第一元数据;
[0273]
该对该第一元数据进行独热编码得到特征向量,包括:
[0274]
对该添加自定义属性信息后的第一元数据进行独热编码得到该特征向量。
[0275]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0276]
若该相似度大于等于该预设相似度阈值,则确定采用该第一元数据更新该第二元数据。
[0277]
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
[0278]
在该微服务网关与配置中心建立通信连接的情况下,接收该配置中心发送的目标微服务的第一元数据;
[0279]
根据该第一元数据得到第一特征矩阵;
[0280]
若该微服务网关中已缓存有该微服务的第二元数据,则根据该第一特征矩阵与该第二元数据对应的第二特征矩阵,确定该第一元数据与该第二元数据的相似度;
[0281]
若该相似度小于该预设相似度阈值,则禁止采用该第一元数据更新该第二元数据。
[0282]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0283]
若该相似度小于该预设相似度阈值,则获取该第一元数据的第一属性信息以及该第二元数据的第二属性信息;
[0284]
若该第一元数据的第一属性信息与该第二元数据的第二属性信息满足预设配置条件,则禁止采用该第一元数据更新该第二元数据。
[0285]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0286]
若该第一元数据的修改时间戳与该第二元数据的修改时间戳的差值大于等于预设时长、该第一元数据所属的配置中心的标识与该第二元数据所属的配置中心的标识不同中的至少一项满足,则禁止采用该该第一元数据更新该第二元数据。
[0287]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0288]
对该第一元数据进行独热编码得到特征向量;
[0289]
利用词向量编码器对该特征向量和预设特征进行词向量编码得到该第一特征矩阵。
[0290]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0291]
在该第一元数据中添加自定义属性信息得到添加自定义属性信息后的第一元数据;
[0292]
该对该第一元数据进行独热编码得到特征向量,包括:
[0293]
对该添加自定义属性信息后的第一元数据进行独热编码得到该特征向量。
[0294]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0295]
若该相似度大于等于该预设相似度阈值,则确定采用该第一元数据更新该第二元数据。
[0296]
需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
[0297]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0298]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0299]
以上实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1