logo好方法网

一种将物联网设备均衡分配接入的方法及装置


技术摘要:
本发明提供了一种将物联网设备均衡分配接入的方法及装置,方法包括:获取待接入设备以及接入服务器的信息;计算接入服务器唯一标识的第一哈希值,将各个接入服务器与其第一哈希值进行关联存储,并构建一致性哈希环;计算待接入设备唯一标识的第二哈希值;若从一致性哈  全部
背景技术:
在物联网系统中,各个物联网设备需要通过接入服务将设备和网络进行连接,可 以通过SDK或者网络协议进行对接,从设备中获取数据上送到物联网系统内进行计算,以及 将系统上层的设备控制指令发送给设备,从而实现设备控制。但是,由于物联网系统中需要 接入的设备可能有很多,单个接入服务无法承载较多设备的连接,所以在物联网系统中往 往可以横向扩展开多个接入服务,这时候就需要对接入服务进行负载均衡。 目前物联网系统中实现的设备均衡算法通常为“均分”的方式,这种方式当接入服 务出现故障下线,或者需要新增接入服务时,重新均分的成本比较高,可能出现原先分配到 的设备,当重新均衡后,这些设备已都不属于自己,这样会出现设备需要先下线,再在新分 配的服务上线,这样就会造成系统的波动,例如如果是监控设备,则会出现正在预览的视频 画面出现一段时间的无画面,造成用户体验下降。
技术实现要素:
本发明提供一种将物联网设备均衡分配接入的方法及装置,以解决现有的物联网 设备均衡分配方案容易造成系统波动的问题。 为了解决上述技术问题,本发明实施例提供了一种将物联网设备均衡分配接入的 方法,包括: 获取若干个待接入设备的信息以及若干个接入服务器的信息;所述待接入设备的 信息包括待接入设备唯一标识、所述接入服务器的信息包括接入服务器唯一标识; 采用预设的哈希函数计算每一所述接入服务器唯一标识的第一哈希值,通过预设 的有序数据结构将各个所述接入服务器唯一标识与其第一哈希值进行关联存储,并根据所 述有序数据结构中顺序存储的第一哈希值构建一致性哈希环; 采用所述哈希函数计算每一所述待接入设备唯一标识的第二哈希值,并将每一所 述第二哈希值与所述一致性哈希环中的第一哈希值进行一一比较; 若从所述一致性哈希环中查询到大于所述第二哈希值的候选哈希值集合,则从所 述候选哈希值集合中选择最小的第一哈希值与该第二哈希值建立绑定关系; 若从所述一致性哈希环中没有查询到大于所述第二哈希值的候选哈希值集合,则 从所述一致性哈希环中选择最小的第一哈希值与该第二哈希值建立绑定关系; 按照所述绑定关系将每一所述待接入设备分配接入到对应的接入服务器中。 进一步地,所述采用预设的哈希函数计算每一所述接入服务器唯一标识的第一哈 希值,通过预设的有序数据结构将各个所述接入服务器唯一标识与其第一哈希值进行关联 存储,并根据所述有序数据结构中顺序存储的第一哈希值构建一致性哈希环,具体包括: 5 CN 111614760 A 说 明 书 2/8 页 将每一所述接入服务器转化为若干个接入服务器虚拟节点,并对每一所述接入服 务器虚拟节点分配一个唯一标识; 采用所述哈希函数计算每一所述接入服务器虚拟节点唯一标识的第一哈希值; 通过预设的有序数据结构将各个所述接入服务器虚拟节点唯一标识与其第一哈 希值进行关联存储; 根据所述有序数据结构中顺序存储的第一哈希值构建一致性哈希环。 进一步地,所述第一哈希值为采用所述哈希函数对接入服务器唯一标识MD5字符 串进行计算得到;其中,所述接入服务器唯一标识MD5字符串为采用MD5算法对该接入服务 器唯一标识进行计算得到; 所述第二哈希值为采用所述哈希函数对待接入设备唯一标识MD5字符串进行计算 得到;其中,所述待接入设备唯一标识MD5字符串为采用所述MD5算法对该待接入设备唯一 标识进行计算得到。 进一步地,所述的将物联网设备均衡分配接入的方法还包括: 当出现接入服务器故障时,将接入到该故障的接入服务器上的设备按预设的顺序 分配接入至下一接入服务器中,并将该故障的接入服务器从所述一致性哈希环中移除。 进一步地,所述的将物联网设备均衡分配接入的方法还包括: 当新增接入服务器时,采用所述哈希函数计算所述新增接入服务器唯一标识的第 一哈希值,并根据所述有序数据结构的存储顺序将该新增接入服务器唯一标识的第一哈希 值插入至对应的位置中; 根据新增数据后的有序数据结构对所述一致性哈希环进行更新,并找出所述新增 接入服务器在一致性哈希环中的下一接入服务器作为待调整接入服务器; 将接入到所述待调整接入服务器中的设备进行重新计算比较和调整绑定关系,并 根据重新调整的绑定关系对待调整接入服务器中的设备进行重新分配接入。 进一步地,所述哈希函数为BKDR哈希函数。 为了解决相同的技术问题,本发明还提供了一种将物联网设备均衡分配接入的装 置,包括: 信息获取模块,用于获取若干个待接入设备的信息以及若干个接入服务器的信 息;所述待接入设备的信息包括待接入设备唯一标识、所述接入服务器的信息包括接入服 务器唯一标识; 哈希环构建模块,用于采用预设的哈希函数计算每一所述接入服务器唯一标识的 第一哈希值,通过预设的有序数据结构将各个所述接入服务器唯一标识与其第一哈希值进 行关联存储,并根据所述有序数据结构中顺序存储的第一哈希值构建一致性哈希环; 哈希值比较模块,用于采用所述哈希函数计算每一所述待接入设备唯一标识的第 二哈希值,并将每一所述第二哈希值与所述一致性哈希环中的第一哈希值进行一一比较; 第一绑定模块,用于若从所述一致性哈希环中查询到大于所述第二哈希值的候选 哈希值集合,则从所述候选哈希值集合中选择最小的第一哈希值与该第二哈希值建立绑定 关系; 第二绑定模块,用于若从所述一致性哈希环中没有查询到大于所述第二哈希值的 候选哈希值集合,则从所述一致性哈希环中选择最小的第一哈希值与该第二哈希值建立绑 6 CN 111614760 A 说 明 书 3/8 页 定关系; 设备接入模块,用于按照所述绑定关系将每一所述待接入设备分配接入到对应的 接入服务器中。 进一步地,所述哈希环构建模块,具体包括: 节点虚拟单元,用于将每一所述接入服务器转化为若干个接入服务器虚拟节点, 并对每一所述接入服务器虚拟节点分配一个唯一标识; 哈希计算单元,用于采用所述哈希函数计算每一所述接入服务器虚拟节点唯一标 识的第一哈希值; 关联存储单元,用于通过预设的有序数据结构将各个所述接入服务器虚拟节点唯 一标识与其第一哈希值进行关联存储; 哈希环构建单元,用于根据所述有序数据结构中顺序存储的第一哈希值构建一致 性哈希环。 进一步地,所述第一哈希值为采用所述哈希函数对接入服务器唯一标识MD5字符 串进行计算得到;其中,所述接入服务器唯一标识MD5字符串为采用MD5算法对该接入服务 器唯一标识进行计算得到; 所述第二哈希值为采用所述哈希函数对待接入设备唯一标识MD5字符串进行计算 得到;其中,所述待接入设备唯一标识MD5字符串为采用所述MD5算法对该待接入设备唯一 标识进行计算得到。 进一步地,所述的将物联网设备均衡分配接入的装置还包括故障调整模块,用于: 当出现接入服务器故障时,将接入到该故障的接入服务器上的设备按预设的顺序 分配接入至下一接入服务器中,并将该故障的接入服务器从所述一致性哈希环中移除。 与现有技术相比,本发明具有如下有益效果: 本发明实施例提供了一种将物联网设备均衡分配接入的方法及装置,所述方法包 括:获取若干个待接入设备的信息以及若干个接入服务器的信息;所述待接入设备的信息 包括待接入设备唯一标识、所述接入服务器的信息包括接入服务器唯一标识;采用预设的 哈希函数计算每一所述接入服务器唯一标识的第一哈希值,通过预设的有序数据结构将各 个所述接入服务器唯一标识与其第一哈希值进行关联存储,并根据所述有序数据结构中顺 序存储的第一哈希值构建一致性哈希环;采用所述哈希函数计算每一所述待接入设备唯一 标识的第二哈希值,并将每一所述第二哈希值与所述一致性哈希环中的第一哈希值进行一 一比较;若从所述一致性哈希环中查询到大于所述第二哈希值的候选哈希值集合,则从所 述候选哈希值集合中选择最小的第一哈希值与该第二哈希值建立绑定关系;若从所述一致 性哈希环中没有查询到大于所述第二哈希值的候选哈希值集合,则从所述一致性哈希环中 选择最小的第一哈希值与该第二哈希值建立绑定关系;按照所述绑定关系将每一所述待接 入设备分配接入到对应的接入服务器中。本发明能够解决现有的物联网设备均衡分配方案 容易造成系统波动的问题,利用一致性哈希算法将物联网设备进行均衡分配接入到接入服 务器中,从而能够使物联网系统在设备接入服务故障/新增时,设备接入重新均衡分配过程 能够平稳过渡,不会造成系统运行的大波动性,从而减少用户体验的下降。 7 CN 111614760 A 说 明 书 4/8 页 附图说明 图1是本发明一实施例提供的将物联网设备均衡分配接入的方法的流程示意图; 图2是本发明一实施例提供的哈希环构建示意图; 图3是本发明一实施例提供的设备均衡分配示意图; 图4是本发明一实施例提供的将物联网设备均衡分配接入的装置的结构示意图。
分享到:
收藏