一种分布式物联设备跨区域数据一致性的方法和服务集群技术

技术编号:28223211 阅读:24 留言:0更新日期:2021-04-28 09:51
一种分布式物联设备跨区域数据一致性的方法和物联设备的服务集群,在服务集群之间数据同步时,当判断所述物联设备的服务集群的标识不是当前服务集群的标识,当前服务集群的OTI模块会向其他服务集群发起问询动作,然后会相比所有获取到的以及本地已有的设备信息版本号,选择最大的版本号并更新,最后再使用“流言”(Gossip)协议向其余服务集群同步物联设备的带最新版本号的设备信息。本申请服务集群之间的设备数据同步,采用“问询”(Query)与“流言”(Gossip)机制,提供了一种分布式物联设备跨区域数据一致性的解决方案。备跨区域数据一致性的解决方案。备跨区域数据一致性的解决方案。

【技术实现步骤摘要】
一种分布式物联设备跨区域数据一致性的方法和服务集群


[0001]本专利技术涉及一种分布式物联设备跨区域数据一致性的方法和物联设备的服务集群。

技术介绍

[0002]物联网(IoT,Internet of Things)是近年在各行各业普及得比较广泛的技术,广义上只要通过网络连接技术,如WiFi、蓝牙、近场通讯等接入局域或广域网的设备都是物联网的接入对象。由于物联设备普遍具有无人值守和需遥测操控等特性,因此在保持连接的过程中,物联网设备与云端服务器(特别是跨多个区域数据中心)的数据状态同步是比较艰难的一项任务。

技术实现思路

[0003]本专利技术提供一种分布式物联设备跨区域数据一致性的方法和物联设备的服务集群,下面具体说明。
[0004]根据第一方面,一种实施例中提供一种分布式物联设备跨区域数据一致性的方法,应用于服务集群,所述服务集群包括OTI集群、MQTT代理集群、容器管理系统、分布式缓存和数据库,所述OTI集群包括一个或多个OTI模块,所述MQTT代理集群包括一个或多个MQTT代理模块;所述方法包括:
[0005]当一物联设备从一个服务集群的服务区域移动到另一个服务集群的服务区域时,当前服务集群的MQTT代理模块与所述物联设备建立连接,接收所述物联设备使用自身设备ID并携带该物联设备最后连接的服务集群的标识的注册;
[0006]当前服务集群的MQTT代理模块向当前服务集群中的OTI模块,发送所述物联设备的注册事件;
[0007]当判断所述物联设备的服务集群的标识不是当前服务集群的标识,并向当前服务集群的容器管理系统查询确认无所述物联设备的设备信息时,则当前服务集群的OTI模块向其他服务集群发起问询动作;
[0008]当前服务集群的OTI模块接收所有的问询应答;其中具有所述物联设备的设备信息的其他服务集群会响应于所述问询动作返回所述物联设备的设备信息,所述设备信息包含有版本号;
[0009]当有问询应答有效,则当前服务集群的OTI模块比较问询应答中返回的设备信息所携带的版本号和本地已有的设备信息的版本号,选择其中最大的版本号并更新该版本号;
[0010]当前服务集群的OTI模块,将所述物联设备更新版本号后的设备信息保存至当前服务集群的容器管理系统,以及将所述物联设备的注册事件保存至当前服务集群的分布式缓存和数据库;
[0011]当前服务集群的OTI模块使用流言协议向其他服务集群发送所述物联设备带有新
版本号的设备信息,以进行同步。
[0012]一实施例中,在当前服务集群的OTI模块使用流言协议向其他服务集群发送所述物联设备带有新版本号的设备信息后,任意一接收到该设备信息的服务集群都会将该设备信息与自身保存的设备信息进行比较,若自身保存的设备信息中的版本号早于接收到的设备信息中的版本号,则使用接收到的设备信息中的版本号更新自身设备信息中的版本号,反之,则丢弃所接收到的设备信息。
[0013]一实施例中,本文的方法还包括:
[0014]当一物联设备初次注册时,该初次注册的物联设备所在服务区域的服务集群的MQTT代理模块,与所述初次注册的物联设备建立连接,接收该物联设备使用自身设备ID的注册;
[0015]所述初次注册的物联设备所在服务区域的服务集群的MQTT代理模块向同一服务集群中的一OTI模块发送注册信息,其中所述注册信息包含有物联设备的设备ID;
[0016]接收注册信息的OTI模块向同一服务集群中的容器管理系统请求验证所述初次注册的物联设备的合法性;
[0017]当同一服务集群中的容器管理系统根据设备ID验证所述初次注册的物联设备合法时,所述接收注册信息的OTI模块将注册事件保存至同一服务集群的分布式缓存和数据库;
[0018]接收所述初次注册的物联设备的注册的MQTT代理模块,接收该物联设备发布的设备信息事件;
[0019]接收设备信息事件的MQTT代理模块,向同一服务集群中的OTI模块发送携带有设备ID的设备信息事件;
[0020]接收设备信息事件的OTI模块向同一服务集群中的容器管理系统请求验证所述初次注册的物联设备的合法性;当合法时,则该OTI模块将设备信息事件保存至同一服务集群的分布式缓存和数据库。
[0021]一实施例中,该初次注册的物联设备所在服务区域的服务集群的容器管理系统,在该物联设备进行初次注册前,已将所述初次注册的物联设备的设备ID进行了初始化导入。
[0022]一实施例中,本文的方法还包括:
[0023]在MQTT代理模块接收到物联设备的注册前,物联设备所在服务区域的服务集群的OTI模块会接收到物联设备的Ticket请求;
[0024]当接收到物联设备的Ticket请求后,OTI模块向物联设备返回Ticket,该Ticket包含当前服务区域可用的服务集群列表,在服务集群列表中各服务集群都包含有其自各的MQTT代理模块的访问地址,以使得物联设备根据自身的网络状况和地理位置,选取其中一个MQTT代理模块进行连接。
[0025]根据第二方面,一种实施例中提供一种物联设备的服务集群,包括OTI集群、MQTT代理集群、容器管理系统、分布式缓存和数据库;
[0026]当一物联设备从其他服务集群的服务区域移动到当前服务集群的服务区域时,当前服务集群的MQTT代理模块与所述物联设备建立连接,接收所述物联设备使用自身设备ID并携带该物联设备最后连接的服务集群的标识的注册;
[0027]当前服务集群的MQTT代理模块向当前服务集群中的OTI模块,发送所述物联设备的注册事件;
[0028]当判断所述物联设备的服务集群的标识不是当前服务集群的标识,并向当前服务集群的容器管理系统查询确认无所述物联设备的设备信息时,则当前服务集群的OTI模块向其他服务集群发起问询动作;
[0029]当前服务集群的OTI模块接收所有的问询应答;其中具有所述物联设备的设备信息的其他服务集群会响应于所述问询动作返回所述物联设备的设备信息,所述设备信息包含有版本号;
[0030]当有问询应答有效,则当前服务集群的OTI模块比较问询应答中返回的设备信息所携带的版本号和本地已有的设备信息的版本号,选择其中最大的版本号并更新该版本号;
[0031]当前服务集群的OTI模块,将所述物联设备更新版本号后的设备信息保存至当前服务集群的容器管理系统,以及将所述物联设备的注册事件保存至当前服务集群的分布式缓存和数据库;
[0032]当前服务集群的OTI模块使用流言协议向其他服务集群发送所述物联设备带有新版本号的设备信息,以进行同步。
[0033]一实施例中,在当前服务集群的OTI模块使用流言协议向其他服务集群发送所述物联设备带有新版本号的设备信息后,任意一接收到该设备信息的服务集群都会将该设备信息与自身保存的设备信息进行比较,若自身保存的设备信息中的版本号早于接收到的设备信息中的版本号,则使用接收到的设备信息中的版本号更新自身设备信息本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式物联设备跨区域数据一致性的方法,应用于服务集群,所述服务集群包括OTI集群、MQTT代理集群、容器管理系统、分布式缓存和数据库,所述OTI集群包括一个或多个OTI模块,所述MQTT代理集群包括一个或多个MQTT代理模块;其特征在于,所述方法包括:当一物联设备从一个服务集群的服务区域移动到另一个服务集群的服务区域时,当前服务集群的MQTT代理模块与所述物联设备建立连接,接收所述物联设备使用自身设备ID并携带该物联设备最后连接的服务集群的标识的注册;当前服务集群的MQTT代理模块向当前服务集群中的OTI模块,发送所述物联设备的注册事件;当判断所述物联设备的服务集群的标识不是当前服务集群的标识,并向当前服务集群的容器管理系统查询确认无所述物联设备的设备信息时,则当前服务集群的OTI模块向其他服务集群发起问询动作;当前服务集群的OTI模块接收所有的问询应答;其中具有所述物联设备的设备信息的其他服务集群会响应于所述问询动作返回所述物联设备的设备信息,所述设备信息包含有版本号;当有问询应答有效,则当前服务集群的OTI模块比较问询应答中返回的设备信息所携带的版本号和本地已有的设备信息的版本号,选择其中最大的版本号并更新该版本号;当前服务集群的OTI模块,将所述物联设备更新版本号后的设备信息保存至当前服务集群的容器管理系统,以及将所述物联设备的注册事件保存至当前服务集群的分布式缓存和数据库;当前服务集群的OTI模块使用流言协议向其他服务集群发送所述物联设备带有新版本号的设备信息,以进行同步。2.如权利要求1所述的方法,其特征在于,在当前服务集群的OTI模块使用流言协议向其他服务集群发送所述物联设备带有新版本号的设备信息后,任意一接收到该设备信息的服务集群都会将该设备信息与自身保存的设备信息进行比较,若自身保存的设备信息中的版本号早于接收到的设备信息中的版本号,则使用接收到的设备信息中的版本号更新自身设备信息中的版本号,反之,则丢弃所接收到的设备信息。3.如权利要求1所述的方法,其特征在于,还包括:当一物联设备初次注册时,该初次注册的物联设备所在服务区域的服务集群的MQTT代理模块,与所述初次注册的物联设备建立连接,接收该物联设备使用自身设备ID的注册;所述初次注册的物联设备所在服务区域的服务集群的MQTT代理模块向同一服务集群中的一OTI模块发送注册信息,其中所述注册信息包含有物联设备的设备ID;接收注册信息的OTI模块向同一服务集群中的容器管理系统请求验证所述初次注册的物联设备的合法性;当同一服务集群中的容器管理系统根据设备ID验证所述初次注册的物联设备合法时,所述接收注册信息的OTI模块将注册事件保存至同一服务集群的分布式缓存和数据库;接收所述初次注册的物联设备的注册的MQTT代理模块,接收该物联设备发布的设备信息事件;接收设备信息事件的MQTT代理模块,向同一服务集群中的OTI模块发送携带有设备ID
的设备信息事件;接收设备信息事件的OTI模块向同一服务集群中的容器管理系统请求验证所述初次注册的物联设备的合法性;当合法时,则该OTI模块将设备信息事件保存至同一服务集群的分布式缓存和数据库。4.如权利要求3所述的方法,其特征在于,该初次注册的物联设备所在服务区域的服务集群的容器管理系统,在该物联设备进行初次注册前,已将所述初次注册的物联设备的设备ID进行了初始化导入。5.如权利要求1或3所述的方法,其特征在于,还包括:在MQTT代理模块接收到物联设备的注册前,物联设备所在服务区域的服务集群的OTI模块会接收到物联设备的Ticket请求;当接收到物联设备的Ticket请求后,OTI模块向物联设备返回Ticket,该Ticket包含当前服务区域可用的服务集群列表,在服务集群列表中各服务集群都包含有其自各的MQTT代理模块的访问地址,以使得物联设...

【专利技术属性】
技术研发人员:金辉刘一帆
申请(专利权)人:深圳杰睿联科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1