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

智能设备影子管理方法、系统、装置、设备和介质与流程

2022-07-10 02:21:10 来源:中国专利 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.为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
35.在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
36.针对上述技术问题,本公开实施例提供了一种智能设备影子管理方法。通过下述
一个或多个实施例进行详细说明。
37.图1为本公开实施例提供的一种智能设备影子管理方法的流程示意图,应用于具有影子服务功能的多个实际副本,所述影子服务对应有多个实际副本,具体包括如图1所示的如下步骤s110至s130:
38.可理解的,云端包括多个服务组,每个服务组对应不同的服务,具体的,多个服务组对应多种影子服务,多种影子服务可以记为影子服务1和影子服务2,每个影子服务对应有多个实际副本,多个实际副本组成具有影子服务功能的服务组,也就是每个影子服务都存在多个处于运行状态的实际副本以实现该影子服务的功能,处于运行状态的副本可以称为实际副本或者影子服务节点,同时运行多个实际副本/节点可以提高影子服务的安全性和可使用性,例如,影子服务1存在对应的5个实际副本,5个实际副本实现的都是同一个影子服务(影子服务1)的功能,5个实际副本组成具有影子服务1功能的服务组1,5个实际副本可以称为实际副本1至实际副本5,或者影子服务节点1至影子服务节点5。
39.可理解的,本公开提供的方法应用于具有影子服务功能的服务组,服务组由多个实际副本组成,例如,本公开提供的方法应用于上述实现影子服务1功能的5个处于运行状态的实际副本组成的服务组1。其中,目标实际副本可以理解为能够实现影子服务功能且处于运行状态的多个实际副本中接收到握手消息的实际副本;可理解的是,消息中间件以预设策略在多个实际副本中选择一个实际副本,并将握手消息发送至该实际副本,该实际副本可以称为目标实际副本。
40.可理解的,实现影子服务功能的实际副本具体包括如下模块:消息模块、握手处理模块、分片模块、业务模块、资源监控模块和副本模块,其中,消息模块用于接收由消息中间件发送的握手消息,消息中间件用于接收智能设备生成并发送的握手消息,智能设备可以是物联网设备,握手处理模块用于从握手消息中解析出物联网设备的唯一标识,分片模块用于根据标识计算出物联网设备的影子的具体创建位置,也就是影子应该创建在哪个实际副本上,业务模块用于创建和物联网设备具有相同标识的影子,资源监控模块用于监控副本上影子的状态,副本模块用于对实际副本上运行的影子进行分配。
41.s110、所述多个实际副本中接收握手消息的目标实际副本根据所述握手消息,确定发送所述握手消息的智能设备的唯一标识。
42.可理解的,目标实际副本中的消息模块接收来自消息中间件发送的握手消息,握手消息可以理解为带有智能设备的唯一标识等信息的消息,智能设备可以是物联网设备,例如车辆,握手消息可以是车辆生成的,随后车辆将握手消息发送至消息中间件,消息中间件以预设策略在多个实际副本中选择一个实际副本,并将接收到的由车辆发送的握手消息发送至选择的一个实际副本,该获取到握手消息的实际副本记为目标实际副本;目标实际副本对握手消息进行解析,确定发送握手消息的智能设备的唯一标识,对于车辆来说,该唯一标识可以是车辆识别号码(vin码),车辆识别号码是一组由17个字母或数字组成的独一无二的号码,根据该号码可以定位具体车辆。
43.s120、所述目标实际副本根据所述唯一标识确定待创建的所述智能设备的影子对应的第一实际副本。
44.可理解的,在上述s110的基础上,目标实际副本确定智能设备的唯一标识后,目标实际副本中的分片模块采用分片方法根据唯一标识确定待创建的智能设备的影子对应的
第一实际副本,也就是在多个实际副本中确定创建影子的实际副本,随后,第一实际副本会创建该影子,创建完成的影子也会在第一实际副本上运行。
45.s130、所述第一实际副本根据所述唯一标识创建所述智能设备的影子。
46.可理解的,在上述s120的基础上,确定待创建的智能设备的影子对应的第一实际副本后,第一实际副本基于智能设备的唯一标识创建影子,影子的标识与智能设备的唯一标识相同或具有一一对应的关系。可理解的是,第一实际副本首次创建的该智能设备的影子,通常情况下和智能设备只具有相同或者对应的标识,可以理解为仅建立了影子和智能设备之间的关联关系,随着影子和智能设备逐渐进行数据交互和信息传输,影子能够更加真实全面的反应智能设备的运行状态,具体表现在影子的外形结构和智能设备相同。
47.可选的,上述s130具体包括如下步骤s131至s132:
48.s131、若所述第一实际副本与所述目标实际副本为同一副本,则所述第一实际副本根据所述唯一标识创建所述智能设备的影子。
49.s132、若所述第一实际副本与所述目标实际副本不是同一副本,则所述目标实际副本将所述唯一标识发送至所述第一实际副本,所述第一实际副本根据所述唯一标识创建所述智能设备的影子。
50.可理解的,目标实际副本确定影子对应的第一实际副本后,将第一实际副本所代表的副本的名称和目标实际副本的名称进行比对,确定第一实际副本是否是目标实际副本,也就是判断影子是否需要创建在目标实际副本上。一种可行的实施方式,可以判断两个实际副本的名称是否相同,来确定两个实际副本是不是同一个副本,例如,若第一实际副本的副本名称和目标实际副本的名称相同,可以确定第一实际副本和目标实际副本为同一副本,则第一实际副本(目标实际副本)基于智能设备的唯一标识创建影子,影子和智能设备具有相同或对应的标识,便于后续根据唯一标识将智能设备和影子进行快速连接,下述实施例以智能设备为车辆为例进行说明;影子创建成功,可以确定影子和车辆握手成功,即车辆和影子建立连接关系,开始具体的业务逻辑进行数据传输,逐渐更新影子数据,得到和车辆状况同步的影子数据,和车辆状况同步也表现在影子的外形结构上。若确定第一实际副本和目标实际副本不是同一个副本,该种情况下,目标实际副本需要将唯一标识发送至第一实际副本,第一实际副本基于智能设备的唯一标识创建影子。
51.可理解的,针对待创建影子的多个智能设备,目标实际副本可能不同,目标实际副本中的分片模块每次确定的影子对应的第一实际副本可能相同,也可能不同,具体的,可以根据实际副本的名称来确定目标实际副本和第一实际副本是否为同一副本。
52.可选的,本技术中的方法还可以对多个实际副本上的影子状态进行监测,具体包括如下步骤:针对所述多个实际副本中的每个实际副本,每个所述实际副本获取运行的影子的影子数据,并根据所述影子数据确定所述影子的状态,若所述影子的状态为失联状态,则将所述影子的影子数据删除;其中,所述失联状态是指影子数据在预设时间段内处于未更新的状态。
53.可理解的,针对所述多个实际副本中的每个实际副本,每个实际副本都会基于其上包括的资源监控模块对运行的所有影子的状态进行监测,具体的,资源监控模块定期(预设时间内)获取实际副本上运行的所有影子的影子数据,例如资源监控模块每5分钟获取运行的所有影子的影子数据,随后对获取的每个影子数据进行分析,确定每个影子的状态;若
确定影子的状态为失联状态,则将该影子的影子数据删除,也就是清除实际副本中过期的影子数据,以减少副本的负载;其中,失联状态是指影子数据在预设时间段内处于未更新的状态,预设时间段可以是10天,预设时间段可以根据需求自行确定,在此不作限定,也就是在10内车辆和影子没有建立连接,使得影子数据在10内没有发生更新,该影子数据就可以理解为过期的影子数据,没有更新可能是车辆的唯一标识发生了变化,或者车辆长时间未使用。
54.本公开实施例提供了一种智能设备影子管理方法,方法具体包括:实现同一影子服务的多个实际副本中的某一实际副本接收由消息中间件传输的握手消息,随后某一实际副本(目标实际副本)确定发送握手消息的智能设备的唯一标识,根据唯一标识确定需要创建智能设备的影子的第一实际副本,第一实际副本创建和智能设备具有相同标识的影子。本公开提供的方法能够快速准确的确定待创建的影子对应的实际副本,在加快创建影子的速度的同时,还能确保影子在实际副本上的完整映射,便于后续用户通过影子实时全面的了解智能设备的运行状态,同时也提高了智能设备影子管理服务的性能和可用性。
55.在上述实施例的基础上,图2为本公开实施例提供的一种智能设备影子管理方法的流程示意图,可选的,所述目标实际副本根据所述唯一标识确定待创建的所述智能设备的影子对应的第一实际副本,具体包括如图2所示的如下步骤s210至s220:
56.可选的,所述哈希环由所述多个实际副本和多个虚拟副本组成,所述目标虚拟副本为所述多个虚拟副本的其中一个虚拟副本。
57.可理解的,哈希环是由实现同一个影子服务功能的多个实际副本以及多个虚拟副本组成,虚拟副本可以看作是实际副本的虚拟副本,哈希环可以理解为由一系列字符组成的字符环,且哈希环为一个圆环,每个实际副本在哈希环中都存在对应的哈希值,每个虚拟副本在哈希环中也都存在对应的哈希值,且每个副本对应的哈希值不同;多个实际副本将哈希环均匀划分,虚拟副本将相邻的两个实际副本之间对应的一段哈希环均匀划分。下述实施例以哈希环由一系列连续的整数组成为例进行说明,例如,哈希环是由0至1000的整数以及0组成的首尾相连的数字圆环。
58.示例性的,参见图3,图3为本公开实施例提供的一种哈希环的示意图,哈希环300包括3个将哈希环均匀划分的实际副本,记为实际副本310、实际副本320和实际副本330,实际副本310和实际副本320之间还包括2个将实际副本310和实际副本320之间对应的一段哈希环均匀划分的虚拟副本,分别是虚拟副本340和虚拟副本350,哈希环300中还包括影子311和影子321。
59.s210、所述目标实际副本根据所述唯一标识确定哈希值,并根据所述哈希值和预设方向,在预先构建的哈希环中确定目标虚拟副本。
60.可理解的,目标实际副本中的分片模块在接收到副本查询请求后,采用一致性哈希算法根据智能设备对应的唯一标识计算出哈希值,由计算出的哈希值查找影子所述的实际副本,副本查询请求是由目标实际副本的握手处理模块生成的,握手处理模块接收到握手消息后会调用分片模块中的影子查询接口,副本查询请求是指查询影子落在哪个实际副本上,其中,哈希值也是由多个字符组成的值。
61.可理解的,目标实际副本确定哈希值后,截取哈希值的前4位,将前4位字符转换成对应的数值,转换后的数值在哈希环包括的数值范围内,使得确定的哈希值落在哈希环上,
进一步确定影子所属的实际副本。如图3所示,哈希环300中影子321为智能设备的影子,影子321落在实际副本310和虚拟副本340之间,例如,影子321转换后确定的哈希值为55,实际副本310的哈希值为0,虚拟副本340的哈希值为111,按照预设方向,预设方向为顺时针方向,即按照顺时针方向确定和影子321最接近的虚拟副本,由哈希环300可知影子321落在虚拟副本340上,此时目标虚拟副本为虚拟副本340。具体的,预设方向可以根据用户需求自行确定,在次不作限定。
62.s220、所述目标实际副本根据所述目标虚拟副本和所述预设方向,在所述哈希环中确定所述智能设备的影子对应的第一实际副本。
63.可理解的,在上述s210的基础上,目标实际副本确定目标虚拟副本后,根据目标虚拟副本和顺时针方向(预设方向)确定离目标虚拟副本最近的实际副本,该实际副本记为第一实际副本,第一实际副本可能是目标实际副本也可能不是目标实际副本,参见图3,哈希环300中按照顺时针方向离虚拟副本340最接近的实际副本为实际副本320,此时,第一实际副本为实际副本320,实际副本320需要创建并运行影子321。具体的,若目标实际副本为实际副本320,那么第一实际副本和目标实际副本就是同一个副本,若目标实际副本为实际副本310,那么第一实际副本和目标实际副本就不是同一个副本。
64.本公开实施例提供了一种智能设备影子管理方法,通过智能设备的唯一标识和哈希环就能准确的确定待创建的影子对应的第一实际副本,具体的,根据唯一标识确定哈希值,根据哈希值按照顺时针方向在哈希环中确定影子对应的目标虚拟副本,在按照顺时针方向在哈希环中确定第一实际副本,能够快速确定每个影子对应的实际副本,准确的对影子进行定位,且计算方法比较简便,还能够最大限度的均匀分配落在每个实际副本中的影子,避免实际副本因运行的影子数量较多出现超负载的情况,进而提高单个实际副本的性能。
65.在上述实施例的基础上,图4为本公开实施例提供的一种智能设备影子管理方法的流程示意图,可选的,所述第一实际副本根据所述唯一标识创建所述智能设备的影子后,具体包括如图4所示的如下步骤s410至s430:
66.s410、所述第一实际副本获取当前运行的影子的第一数量。
67.可理解的,智能设备的影子在第一实际副本上创建成功后,第一实际副本会触发一次资源监控事件,来监控自身的负载情况,第一实际副本中的资源监控模块接收到资源监控事件后,获取当前运行的所有影子的第一数量,第一数量即为第一实际副本上运行的所有影子的数量。
68.s420、所述第一实际副本根据所述第一数量和所述第一实际副本可处理的影子的第二数量,确定当前负载值。
69.可理解的,在上述s410的基础上,第一实际副本获取其上存储的配置文件,第一实际副本获取到配置文件后,在配置文件中获取可处理影子的最大数量,最大数量是指第一实际副本支持运行的影子数量,最大数量记为第二数量。第一实际副本确定可处理的影子的第二数量后,根据第一数量和第二数量确定自身的当前负载值,来监控负载情况,例如,第一实际副本上当前运行的影子数量为40,第一实际副本可处理的影子数量为100,计算得到的第一实际副本的当前负载值为40%。
70.s430、所述第一实际副本根据所述当前负载值和预设负载阈值,生成请求消息,所
述请求消息包括请求副本缩容消息或请求副本扩容消息。
71.可理解的,预设负载值包括第一预设负载值和第二预设负载值,第一预设负载值和第二预设负载值可以根据用户需求自行确定。
72.可选的,上述s430中第一实际副本根据所述当前负载值和预设负载阈值,生成请求消息,具体包括如下步骤s431至s432:
73.s431、若所述当前负载值小于所述第一预设负载值,则生成请求副本缩容消息。
74.s432、若所述当前负载值大于所述第二预设负载值,则生成请求副本扩容消息。
75.可理解的,在上述s420的基础上,确定第一实际副本的当前负载值后,第一实际副本判断当前负载值和预设负载阈值的关系,并生成请求消息,并将请求消息发送至服务编排工具,服务编排工具可以是可移植容器的编排管理工具(kubernetes,k8s),服务编排工具接收到请求消息后,生成请求消息对应的副本变更事件,并将副本变更事件发送至多个实际副本,多个实际副本中的每个实际副本接收到副本变更事件后,会重新分配其上运行的影子;具体的,若当前负载值小于第一预设负载值,则生成请求副本缩容消息,第一预设负载值可以是5%,第一实际副本生成了请求副本缩容消息后,将第一实际副本上运行的影子分配到其他实际副本后,服务编排工具将第一实际副本删除,其上运行的影子以及影子数据也会随之删除,例如影子服务对应的多个实际副本的数量为3个,将第一实际副本删除后,影子服务对应的实际副本的数量为2个;若当前负载值大于第二预设负载值,则生成请求副本扩容消息,第二预设负载值可以是90%,副本扩容是指在原多个实际副本的基础上增加新的实际副本,也就是需要增加新的实际副本以减轻当前负载值超过90%的实际副本的负载情况,第一实际副本的负载值超过90%后,会向服务编排工具发送请求副本扩容消息,随后服务编排工具生成副本扩容事件,并将副本扩容时间发送至多个实际副本,多个实际副本之间可以通过集群感知(swim)协议互相感知,多个实际副本中的每个实际副本会重新分配其上运行的影子,以减少超负载的第一实际副本的负载情况,例如,例如影子服务对应的多个实际副本的数量为3个,根据第一实际副本的负载情况,需要增加1个新的实际副本,增加新的实际副本后,影子服务对应的实际副本的数量为4个。
76.可选的,上述s430中所述第一实际副本根据所述当前负载值和预设负载阈值,生成请求消息后,所述方法还包括如下步骤s440至s460:
77.s440、所述第一实际副本获取所述第一数量的影子中每个影子的标识,并根据每个所述影子的标识,计算每个所述影子对应的第二实际副本,所述第二实际副本为待创建所述影子的实际副本。
78.可理解的,在上述s430的基础上,多个实际副本中的每个实际副本接收到服务编排工具发送的副本变更事件后,每个实际副本会对其上运行的影子进行分配;以第一实际副本为例,第一实际副本接收到副本变更事件后,获取其上运行的第一数量的影子中每个影子的标识,随后根据每个影子的标识,计算每个影子对应的第二实际副本,也就是发生副本变更事件后重新确定每个影子所属的副本,第二实际副本为待创建影子的实际副本,第二实际副本为多个实际副本中的任一实际副本。
79.s450、若生成的所述请求消息是所述请求副本缩容消息,则所述第一实际副本将每个所述影子的影子数据传输至所述第二实际副本,所述第二实际副本根据接收到的所述影子数据创建影子;其中,所述第二实际副本是所述多个实际副本中除所述第一实际副本
之外的其他实际副本。
80.s460、若生成的所述请求消息是所述请求副本扩容消息,则所述第一实际副本针对运行的每个影子,判断每个所述影子对应的第二实际副本和所述第一实际副本是否是同一个副本;若是,则将所述影子的影子数据传输至所述第二实际副本,并将完成传输的影子数据删除。
81.可理解的,在上述s440的基础上,若第一实际副本生成的请求消息是请求副本缩容消息,也就是需要将第一实际副本删除,在服务编排工具将第一实际副本删除之前,需要将第一实际副本上运行的影子分配到其他实际副本中,针对第一实际副本上运行的每个影子,确定每个影子对应的第二实际副本,第一实际副本将该影子的影子数据传输至该影子对应的第二实际副本,第一实际副本是需要被删除的副本,所以第二实际副本和第一实际副本不是同一个副本,因此可以直接将每个影子的影子数据传输至该影子对应的第二实际副本,不需要再判断第二实际副本和第一实际副本是不是同一个副本,第二实际副本会开启远程调用服务框架(remote procedure calls,grpc)来监听其他实际副本的连接,第二实际副本在接收到第一实际副本发送的影子数据后,会根据影子数据创建影子,该影子会在第二实际副本上运行,并维护该影子的生命周期。
82.示例性的,参见图3,若第一实际副本是哈希环300中的实际副本310,确定要将第一实际副本删除但是尚未将第一实际副本删除时,在哈希环300中会先将第一实际副本删除,也就是将哈希环300中的实际副本310删除,得到更新后的哈希环,更新后的哈希环记为哈希环360,哈希环360中包括实际副本320和实际副本330,实际副本320和实际副本330将哈希环360均匀划分,实际副本320和实际副本330之间的虚拟副本也重新划分,此时,哈希环360上的影子对应的实际副本也随之变化,因此第一实际副本(实际副本310)需要根据哈希环360重新确定其上运行的每个影子对应的第二实际副本,该种情况下第二实际副本可能是哈希环360中的实际副本320或者实际副本330,以影子311为例,第一实际副本根据哈希环360可以确定影子311对应的第二实际副本为实际副本320,在哈希环300中,影子311对应的实际副本为实际副本310,影子311对应的实际副本发生了变化;根据哈希环360可以将第一实际副本上运行的影子进行重新分配,其中,哈希环360只示出了实际副本以及部分影子,虚拟副本和部分影子未示出;将第一实际副本上运行的每个影子的影子数据传输至第二实际副本后,服务编排工具会将第一实际副本删除,也就是完成第一实际副本上影子的分配后,才将第一实际副本删除。
83.可理解的,在上述s440的基础上,若第一实际副本生成的请求消息是请求副本扩容消息,也就是新增了一个新的实际副本,此时需要将第一实际副本上的部分影子的影子数据传输至其他实际副本,相应的,哈希环300也会随之变化,进而导致除第一实际副本之外的其他实际副本上运行的部分影子也需要重新进行分配,因此,除新增的实际副本之外的其他实际副本,均需要重新确定其上运行的影子对应的第二实际副本,具体的,增加新的实际副本后,采用哈希环计算影子对应的实际副本的方法同上述删除实际副本时所采用的方法,在此不作赘述。以第一实际副本超负载、需要将其上运行的部分影子分配到其他实际副本上运行为例进行说明,第一实际副本针对运行的每个影子,判断每个影子对应的第二实际副本和第一实际副本是否是同一个副本,也就是判断是否需要将该影子转移至其他实际副本,第一实际副本会将不属于本副本的影子转移;若是,也就是该影子不属于本副本
(第一实际副本),第一实际副本将该影子的影子数据传输至第二实际副本,由第二实际副本根据影子数据创建影子并维护该影子的生命周期,同时第一实际副本将完成传输的影子数据删除,该种情况下,第二实际副本可能是新增的实际副本,也可能是原多个实际副本中除第一实际副本之外的其他实际副本,以减少第一实际副本的负载,提高第一实际副本的运行速度。
84.本公开实施例提供了一种智能设备影子管理方法,通过确定实际副本的当前负载情况,进行副本的动态扩容或缩容,可以适用于多种使用场景,进一步提高了智能设备影子管理服务的性能和可用性。
85.在上述实施例的基础上,针对智能设备影子创建过程,图5为本公开实施例提供的一种智能设备影子管理方法的流程示意图,具体包括如图5所示的如下步骤s510至s580:
86.s510、智能设备将生成的握手消息发送至消息中间件。
87.s520、消息中间件将接收的握手消息发送至目标实际副本。
88.s530、目标实际副本中的消息模块将握手消息发送至目标实际副本中的握手处理模块。
89.s540、握手处理模块根据握手消息确定智能设备的唯一标识,并将唯一标识发送至目标实际副本中的分片模块。
90.s550、分片模块根据唯一标识确定智能设备待创建的影子对应的第一实际副本。
91.s560、目标实际副本根据第一实际副本判断待创建的影子是否创建在目标实际副本上。
92.可理解的,在上述s550的基础上,目标实际副本判断和第一实际副本是否是同一副本,以确定待创建的影子是需要创建在目标实际副本上,还是创建在第一实际副本上;影子若是需要创建在目标实际副本上,执行s570;影子若是需要创建在第一实际副本上,执行s580,该种情况下,第一实际副本是多个实际副本中除目标实际副本之外的其他副本。
93.s570、若待创建的影子创建在目标实际副本上,则目标实际副本中的业务模块创建和智能设备具有相同标识的影子。
94.可理解的,在上述s560的基础上,目标实际副本确定待创建的影子需要创建在本副本上后,目标实际副本中的业务模块获取预先存储的初始化影子数据创建和智能设备具有相同标识的影子。
95.s580、若待创建的影子未创建在目标实际副本上,则目标实际副本将唯一标识发送至第一实际副本;第一实际副本创建和智能设备具有相同标识的影子。
96.可理解的,在上述s560的基础上,目标实际副本确定待创建的影子需要创建在其他副本上后,目标实际副本将影子的唯一标识发送至第一实际副本,影子的唯一标识和智能设备的唯一标识相同;随后第一实际副本中的业务模块获取预先存储的初始化影子数据创建和智能设备具有相同标识的影子。
97.可理解的是,上述s510至s550的实现步骤同上述步骤相同,在此不作赘述。
98.在上述实施例的基础上,针对智能设备的影子更新过程,图6为本公开实施例提供的一种智能设备影子管理方法的流程示意图,具体包括如图6所示的如下步骤s610至s670:
99.s610、目标实际副本创建影子成功后,触发影子创建事件。
100.s620、目标实际副本中的资源监控模块接收到影子创建事件后,获取运行的影子
的第一数量。
101.s630、目标实际副本根据第一数量和获取的配置信息中可处理的影子的第二数量,确定当前负载值。
102.s640、目标实际副本根据当前负载值和预设负载阈值生成请求信息,并将请求信息发送至服务编排工具。
103.s650、目标实际副本中的副本模块若接收到服务编排工具发送的副本变更事件,则获取当前运行的影子的唯一标识。
104.s660、目标实际副本中的分片模块根据唯一标识确定影子对应的第二实际副本。
105.s670、目标实际副本基于第二实际副本将不属于目标实际副本的影子的影子数据发送至第二实际副本;第二实际副本用于根据影子数据创建影子。
106.可理解的,在上述s660的基础上,目标实际副本根据其上运行的影子对应的第二实际副本判断该影子是否属于本副本(目标实际副本)的,并将不属于目标实际副本的影子的影子数据发送至第二实际副本,第二实际副本是多个实际副本中除目标实际副本之外的其他副本。
107.可理解的,s610至s660和上述步骤的实现方式相同,在此不作赘述。
108.图7为本公开实施例提供的一种智能设备影子管理系统的结构示意图,影子管理系统700包括智能设备710、消息中间件720和具有影子服务功能的多个实际副本730。
109.所述智能设备710向所述消息中间件720发送握手消息;
110.所述消息中间件720向所述多个实际副本730发送接收的所述握手消息;
111.所述多个实际副本730中接收到所述握手消息的目标实际副本对所述握手消息进行处理,生成握手应答消息,并将所述握手应答消息通过所述消息中间件720返回至所述智能设备710。
112.可选的,所述多个实际副本中接收到所述握手消息的目标实际副本对所述握手消息进行处理,生成握手应答消息,并将所述握手应答消息通过所述消息中间件返回至所述智能设备,具体包括如下流程:
113.可理解的,多个实际副本730中的每个实际副本都包括多种模块,实际副本通过多种模块对影子的生命周期进行管理。其中,以多个实际副本730中的目标实际副本为例进行说明。
114.所述多个实际副本中接收到所述握手消息的目标实际副本根据所述握手消息确定所述智能设备的唯一标识,若根据所述唯一标识确定待创建的所述智能设备的影子对应的第一实际副本不是所述目标实际副本,则将所述唯一标识发送至所述第一实际副本;所述第一实际副本在创建和所述智能设备具有相同标识的影子后,将生成的握手应答消息发送至所述目标实际副本,所述目标实际副本将所述握手应答消息通过所述消息中间件返回至所述智能设备;其中,所述第一实际副本是所述多个实际副本中除所述目标实际副本之外的其他实际副本。
115.可理解的,目标实际副本基于其上部署的多个模块对运行的影子进行管理的方法同上述实施例,在此不作赘述。
116.图8为本公开实施例提供的智能设备影子管理装置的结构示意图。本公开实施例提供的智能设备影子管理装置可以执行上述智能设备影子管理方法实施例提供的处理流
程,应用于具有影子服务功能的多个实际副本,所述影子服务对应有多个实际副本,如图8所示,智能设备影子管理装置800包括:
117.第一确定单元810,所述多个实际副本中接收握手消息的目标实际副本用于根据所述握手消息,确定发送所述握手消息的智能设备的唯一标识;
118.第二确定单元820,所述目标实际副本用于根据所述唯一标识确定待创建的所述智能设备的影子对应的第一实际副本;
119.创建单元830,所述第一实际副本用于根据所述唯一标识创建所述智能设备的影子。
120.可选的,创建单元830中所述第一实际副本根据所述唯一标识创建所述智能设备的影子,具体用于:
121.若所述第一实际副本与所述目标实际副本为同一副本,则所述第一实际副本根据所述唯一标识创建所述智能设备的影子;或者,
122.若所述第一实际副本与所述目标实际副本不是同一副本,则所述目标实际副本将所述唯一标识发送至所述第一实际副本,所述第一实际副本根据所述唯一标识创建所述智能设备的影子。
123.可选的,第二确定单元820中所述目标实际副本根据所述唯一标识确定待创建的所述智能设备的影子对应的第一实际副本,具体用于:
124.所述目标实际副本根据所述唯一标识确定哈希值,并根据所述哈希值和预设方向,在预先构建的哈希环中确定目标虚拟副本;
125.所述目标实际副本根据所述目标虚拟副本和所述预设方向,在所述哈希环中确定所述智能设备的影子对应的第一实际副本;
126.其中,所述哈希环由所述多个实际副本和多个虚拟副本组成,所述目标虚拟副本为所述多个虚拟副本的其中一个虚拟副本。
127.可选的,装置800还包括生成单元,生成单元用于所述第一实际副本根据所述唯一标识创建所述智能设备的影子后,具体用于:
128.所述第一实际副本获取当前运行的影子的第一数量;
129.所述第一实际副本根据所述第一数量和所述第一实际副本可处理的影子的第二数量,确定当前负载值;
130.所述第一实际副本根据所述当前负载值和预设负载阈值,生成请求消息,所述请求消息包括请求副本缩容消息或请求副本扩容消息。
131.可选的,装置800还包括更新单元,更新单元用于所述第一实际副本根据所述当前负载值和预设负载阈值,生成请求消息后,具体用于:
132.所述第一实际副本获取所述第一数量的影子中每个影子的标识,并根据每个所述影子的标识,计算每个所述影子对应的第二实际副本,所述第二实际副本为待创建所述影子的实际副本;
133.若生成的所述请求消息是所述请求副本缩容消息,则所述第一实际副本将每个所述影子的影子数据传输至所述第二实际副本,所述第二实际副本根据接收到的所述影子数据创建影子;其中,所述第二实际副本是所述多个实际副本中除所述第一实际副本之外的其他实际副本。
134.可选的,更新单元还用于:
135.若生成的所述请求消息是所述请求副本扩容消息,则所述第一实际副本针对运行的每个影子,判断每个所述影子对应的第二实际副本和所述第一实际副本是否是同一个副本;若是,则将所述影子的影子数据传输至所述第二实际副本,并将完成传输的影子数据删除。
136.可选的,装置800还包括监控单元,监控单元具体用于:
137.针对所述多个实际副本中的每个实际副本,每个所述实际副本获取运行的影子的影子数据,并根据所述影子数据确定所述影子的状态,若所述影子的状态为失联状态,则将所述影子的影子数据删除;其中,所述失联状态是指影子数据在预设时间段内处于未更新的状态。
138.图8所示实施例的智能设备影子管理装置可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
139.图9为本公开实施例提供的电子设备的结构示意图。本公开实施例提供的电子设备可以执行上述实施例提供的处理流程,如图9所示,电子设备900包括:处理器910、通讯接口920和存储器930;其中,计算机程序存储在存储器930中,并被配置为由处理器910执行如上述的智能设备影子管理方法。
140.另外,本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述实施例所述的智能设备影子管理方法。
141.此外,本公开实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序或指令,该计算机程序或指令被处理器执行时实现如上所述的智能设备影子管理方法。
142.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
143.以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

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

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

相关文献