CN109462652B - 智能家居***中基于哈希算法的终端网关负载分配方法 - Google Patents

智能家居***中基于哈希算法的终端网关负载分配方法 Download PDF

Info

Publication number
CN109462652B
CN109462652B CN201811388232.3A CN201811388232A CN109462652B CN 109462652 B CN109462652 B CN 109462652B CN 201811388232 A CN201811388232 A CN 201811388232A CN 109462652 B CN109462652 B CN 109462652B
Authority
CN
China
Prior art keywords
gateway
terminal
calculation
data
terminal gateway
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811388232.3A
Other languages
English (en)
Other versions
CN109462652A (zh
Inventor
戴国骏
赵骏
史建凯
张桦
吴以凡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Dianzi University
Original Assignee
Hangzhou Dianzi University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN201811388232.3A priority Critical patent/CN109462652B/zh
Publication of CN109462652A publication Critical patent/CN109462652A/zh
Application granted granted Critical
Publication of CN109462652B publication Critical patent/CN109462652B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L2012/284Home automation networks characterised by the type of medium used
    • H04L2012/2841Wireless

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种智能家居***中基于哈希算法的终端网关负载分配方法。本发明的负载分配是在由多台终端网关和本地服务器组成的网络中,终端网关利用Zigbee协调器接收从Zigbee子设备上发送到的传感器数据,并存储在服务器上;主控网关将数据切分成多个小区间并映射到哈希环上,用虚拟节点代替终端网关在哈希环上的位置,用虚拟节点的数量来表示终端网关的算力,即当终端网关加入边缘计算网络时,主控网关根据终端网关的算力为终端网关分配相应数量的虚拟节点,并将其虚拟节点用哈希函数映射到哈希环上,虚拟节点去捕获固定方向上离它最近的数据,让已经进入边缘计算状态的网关***拥有在动态加入和退出边缘计算网络的同时,仍能实现按算力比值分配负载的能力。

Description

智能家居***中基于哈希算法的终端网关负载分配方法
技术领域
本发明公开了一种智能家居***中基于哈希算法的终端网关负载分配方法。
背景技术
智能家居是在互联网影响之下物联化的体现。智能家居通过物联网技术将家中的各种设备(如音视频设备、照明***、窗帘控制、空调控制、安防***、数字影院***、影音服务器、影柜***、网络家电等)连接到一起,提供家电控制、照明控制、电话远程控制、室内外遥控、防盗报警、环境监测、暖通控制、红外转发以及可编程定时控制等多种功能和手段。与普通家居相比,智能家居不仅具有传统的居住功能,兼备建筑、网络通信、信息家电、设备自动化,提供全方位的信息交互功能,甚至为各种能源费用节约资金。
在此之中,终端网关作为数据转发、交换、流通的汇聚节点,地位显得尤为重要。随着硬件产业的发展,移动终端、设备终端的性能和数量迎来了爆发行的增长,据业内预计,到2020年将有超过500亿的终端与设备联网,仅中国就会产生100亿以上的物联网连接数。物联网的发展让普通人家里的电子器件都变得活泼了起来,仅仅让这些电子器件连上网络是不够的,我们需要更好的利用这些电子元件产生的数据,并利用这些数据更好的为当前家庭服务。在智能家居应用领域,考虑到网络带宽和数据私密保护,我们需要这些数据最好仅能在本地流通,并直接在本地处理即可,而服务器作为智能家居***的运算中心,承担着运算任务的重担。我们需要网关作为边缘结点,让它自己消费家庭里所产生的数据的同时,可以利用网关越来越强大的边缘计算能力为智能家居***提供辅助计算的能力。
终端网关的优先任务应该是用户数据的接收、转发,当处于空闲状态时,服务器可以将需要在云端计算的数据进行业务分流,回传数据到终端网关,进行用户行为推荐、数据格式整理和转换等非紧急的计算任务。该种业务场景在常见的智能家居领域有广阔的应用。传统的云计算解决方案可能会在应用初期,计算性能过剩,造成成本过高;而在应用中后期,随着终端网关增多,用户数据量增大,又会出现计算性能不够的情况,需要加大对云端资源的投入。所以边缘计算的应用可以很好的解决该问题,本地服务器将需要计算的任务切分成多块,下发给终端网关,在网关闲时,进行边缘计算,完成后上传给本地服务器。在应用初期可以在云端算力不大的情况下,辅助计算。在应用后期,由于终端网关数量的提升,边缘计算的性能也随之提升,可以节省云端服务器的资源投入。
由于终端网关需要优先响应数据转发任务,因此会动态的加入和退出边缘计算网络,由此可见如何将计算任务合理的分割,并按照终端网关的计算能力分配给终端设备,让终端设备合理的负载计算任务,就显得尤为关键了。
发明内容
本发明的目的在于提供一种智能家居***中基于哈希算法的终端网关负载分配方法。
本发明应用的***包括网关控制***、本地服务器、传感器控制***和移动终端设备。
所述网关控制***包括主控网关和终端网关,主控网关和终端网关直接采用RPC协议联接,终端网关由多种嵌入式Linux控制板连接Zigbee协调器;传感器控制***由智能插座、照明设备、声光报警器、智能锁具、新风***、空调设备、电动窗帘连接Zigbee模块组成的Zigbee子设备组成;本地服务器根据需要放在家中或者小区物业管理的机房内;移动终端设备包括日常使用的手机或平板等。
所述主控网关和终端网关的控制板采用Tiny4412控制板,它基于三星Exynos4412四核心处理器,主频高达1.5GHz,搭载1G DDR3RAM和4G eMMC高速缓存,并拥有良好的功耗控制。
所述的终端网关***用于接收Zigbee子设备上产生的数据,并转发到服务器进行存储,另一方面,对用户直接控制的移动终端设备上下发的控制指令,进行转发。加入边缘计算网络进行服务器分配的计算任务。
所述Zigbee协调器和Zigbee子设备上采用CC2530开发套件,搭载了8KB RAM和256KB闪存,可支持协调器和254个子设备的大规模组网,并拥有非常低的功耗。
所述的传感控制***一方用于将各种传感器数据上传给主控网关***,一方面用于接收主控网关***下发的各种控制指令,对相应的智能设备进行控制。
所述的本地服务器用于接收和存储主控网关***上传的数据。进行边缘计算的控制,包括边缘计算任务的切分和下发、进行数据加工后的结果处理,对加入和退出边缘计算网络的主控网关的控制和调度。
所述的移动终端设备即用户日常使用的手机或平板电脑等。
本发明的技术解决方案:
本发明的负载分配是在由多台终端网关和本地服务器组成的网络中,终端网关利用Zigbee协调器接收从Zigbee子设备上发送到的传感器数据,并存储在服务器上。主控网关将数据切分成多个小区间并映射到哈希环上,用虚拟节点代替终端网关在哈希环上的位置,用虚拟节点的数量来表示终端网关的算力,即当终端网关加入边缘计算网络时,主控网关根据终端网关的算力为终端网关分配相应数量的虚拟节点,并将其虚拟节点用哈希函数映射到哈希环上,虚拟节点去捕获固定方向上离它最近的数据,让已经进入边缘计算状态的网关***拥有在动态加入和退出边缘计算网络的同时,仍能实现按算力比值分配负载的能力。
本发明解决其技术问题所采用的技术方案具体步骤如下:
步骤1、***初始化时,主控网关里存储一张算力表,以终端网关的网卡MAC值为主键值,查询加入智能家居***的所有终端网关是否已在算力表中记录其算力,如果已经记录,进入步骤1;否则计算当前终端网关的算力,并在算力表中记录当前终端网关的MAC值和对应的算力,然后直至所有终端网关的算力均记录在算力表中后进入步骤2。
步骤2、判断当前数据积累量和***运行时间,如果当前服务器上数据量累积到了C并且***时间运行了T时,由主控网关向服务器和终端网关发起边缘计算请求;否则进入网关正常使用状态。
步骤3、终端网关接收到主控网关发出的边缘计算请求后,判断其自身当前是否处于空闲状态,如果是,则进入边缘计算网络,进入步骤4;否则不加入边缘计算网络。
步骤4、主控网关查询当前算力表中所有正处于边缘计算网络中的终端网关的算力值,并计算其比值β,以K为单位,为每一台终端网关分配N个虚拟节点,每台终端网关的虚拟节点标记为:node(n)={Mn-1,Mn-2,...,Mn-N|n∈1~M,N=Kβ(n)},将它们由哈希函数全部映射到哈希环上。
步骤5、当需要边缘计算的数据总量为Q GB时,主控网关从服务器上获取后,将他们分割为大小为P MB的样本,得到Q/P个数据块,并将分割的数据块按顺序标记为1~Q/P,使用哈希函数,映射到哈希环上。
步骤6、在哈希环上,标记为x的数据分块块按照顺时针方向去找离数据块本身最近的虚拟节点,找到该虚拟节点归属的终端网关,并将该数据块分配到虚拟节点归属的终端网关上进行边缘计算,将这种分配的路径记录在路由表上,存储到服务器上并发送到每个终端网关中,然后将数据分块按照步骤5中标记的顺序依次将数据分块发送到对应的终端网关上。
步骤7、每个终端网关将拿到的数据分块和路由表中的数据路径进行对比,如果当前所在的终端网关拿到的数据分块在路由表中的数据路径指向自己,就进行边缘计算,否则不进行计算。
步骤8、当有新的终端网关接入智能家居***时,同样需要进行步骤(1)的初始化过程。当有新的终端网关进入边缘计算状态时,则同理在算力表中,以MAC值为索引,查找新的终端网关对应的算力值。得到算力值后,计算新终端网关和边缘计算网络中其它终端网关的算力比值β(y),并为新的终端网关分配新的N个虚拟节点,标记为node(y)={My-1,My-2,...,My-N|N=Kβ(y)},根据哈希函数的计算,将新的虚拟节点全部映射到哈希环上,将哈希环上数据分块所在的位置向顺时针旋转,找到最近的终端网关,则新分配的虚拟节点又会捕获到数据分块,在路由表中更新新的分配路径,重新向所有网关发送路由表,服务器根据新的路径发送分块数据。
步骤9、当终端网关由空闲状态切换为非空闲状态时,需要退出边缘计算网络,此时,该终端网关对应的所有虚拟节点退出哈希环,同理在路由表中更新分配路径。
步骤10、每个数据块计算完成,终端网关将计算结果回传给服务器,当所有边缘计算任务完成后,服务器将计算结果汇总,进行相应后续处理和存储。
进一步地,步骤1所述算力表为终端网关处理器算力,可由设备厂家提供,也可以在进行步骤1的处理器算力评估的计算时,由软件计算可得,。
进一步地,步骤2所述当前服务器上数据量累积到了C并且***时间运行了T,具体过程和必要性如下:
(1)过程:当数据量积累到达C时而***运行时间没有达到T时,并不开始进行边缘计算;同理当***运行时间到达T时,数据量没有累积到C时,也不开始进行边缘计算;只有当数据累积量到达C并且***运行时间到达T时,才开始进行边缘计算。
(2)必要性:边缘计算是由数据驱动的,很多计算的应用以大量的数据为依托,数据量不够,会增加无意义的计算;当***运行时间过短时,收集的到数据可能会是大量的冗余数据,样本采集缺乏多样性,对于边缘计算的意义同样不大。
进一步地,步骤3所述的空闲状态,根据当前终端网关的CPU利用率来判定当前网关是否处于空闲状态,根据网关的负载,当CPU利用率小于等于T1(T1可以自定义)超过U时间时,属于空闲状态,加入边缘计算网络;如果当CPU利用率大于T1,属于非空闲状态,则不加入或退出边缘计算网络。
进一步地,步骤4所述计算每一台终端网关的算力值并计算其比值β,以K为单位,为每一台终端网关分配N个虚拟节点的必要性如下:
在实际情况下,由于联接到边缘计算网络的每一台终端网关设备的处理性能不同,而导致算力不同,所以如果将数据分块等分到每个边缘计算的末端显然是不合理的。所以将处理器算力比值作为衡量标准,为每个边缘计算末端的设备分配虚拟节点的个数,就显得尤为必要了。
进一步地,根据步骤6找到的所有数据块的分配路径存储在路由表里,将数据块按照步骤5中标记的顺序分块发送到对应的终端设备上的具体过程和必要性如下:
(1)过程:当路由表确定后,服务器根据路由表的里的信息,将数据块按照步骤(4)中标记的1,2,3...,Q/P,分块发送到对应的终端网关。发送完第一个数据分块后,继续发送剩余的数据分块。
(2)必要性:避免了将所有属于某一个终端网关的数据分块发送完毕,再去发送下一个终端网关的数据分块这种方式带来的负载不合理的缺点。
进一步地,步骤8、9所述新分配的虚拟节点会捕获到数据分块,虚拟节点退出哈希环会释放数据分块,并更新路由表,服务器根据新的路径发送分块数据的具体过程和必要性如下:
(1)过程:当新的虚拟节点进入哈希环以后,必然会有之前已经被捕获的数据分块重新被分配到新的虚拟节点上;同理,当虚拟节点退出哈希环时,必然有之前已经被捕获的数据分块被重新释放出来,由当前仍在哈希环上的虚拟节点来捕获,所以需要更新服务器上的路由表,服务器根据新的路由表,对比旧的路由表,将数据分块标记为三种状态:已发送的数据分块,未发送的数据分块,已失效的数据分块。其中已失效的数据分块为新旧路由表中路径不同数据分块。服务器继续向网关发送未发送的数据分块和已失效的数据分块。
(2)必要性:首先,当新的虚拟节点入环或旧的虚拟节点退时,由于比例固定,在不改变单位K的情况下,原本处于环上的代表各个终端网关的虚拟节点数量和比例不会发生改变。其次,由哈希一致性可知,原本的虚拟节点在哈希环上的位置保持不变,而新的虚拟节点的进入哈希环或部分虚拟节点退环后,根据顺时针捕获数据分块的原则,只有部分的数据分块的路径发送了变化。最后,路由器根据新的路由表下发数据分块,而不采用跨网关数据迁移,减少了网路传输的压力和服务器转发的负载,有利于实现数据分块路径的快速迁移。
本发明的有益效果:
(1)使用本发明,每一个数据分块被分配到每个终端网关的概率是和算力成比例的。所以可以保证在数据块大量下发后,每个终端网关分配到的计算量是合理的。允许终端网关动态加入和退出边缘计算网络,既不会影响终端网关的日常任务需求,又可以利用终端网关的闲时算力,节省了服务器的计算压力和投资成本。
(2)由于任意一个或多个终端网关加入或退出边缘计算网络时,并不会影响边缘计算网络内部终端网关的按算力比值分配负载的状态,所以当任意一个或多个终端网关设备发生故障、用户主动停止使用某一个或几个终端网关、有新增终端网关设备需要接入智能家居***时,始终都是“按力分配,能者多劳”,因此本***具有很灵活的扩展性、裁剪性和可用性。
(3)使用本发明,当新的终端网关加入或退出边缘计算网络时,仅有部分的数据失效,减少了数据迁移量;由服务器重新下发运算数据,代替了由失效数据占有者跨网关传输的做法,减轻了网络数据传送压力。
附图说明
图1为本发明终端网关负载分配方法的结构图。
图2为本发明终端网关负载分配方法工作流程图。
图3为虚拟节点在哈希环上的映射图。
图4为新增虚拟节点M4后在哈希环上的映射图。
图5为删除虚拟节点M3后在哈希环上的映射图。
具体实施方式
以下为结合附图对本发明的进一步说明。
结合图1,本***包括:网关控制***、本地服务器和智能设备控制***、移动终端设备。
其中,网关控制***包括主控网关和终端网关,主控网关和终端网关采用RPC协议联接,终端网关由多种嵌入式Linux控制板连接Zigbee协调器;传感器控制***由智能插座、照明设备、声光报警器、智能锁具、新风***、空调设备、电动窗帘连接Zigbee模块组成的Zigbee子设备组成;本地服务器可以根据需要放在家中或者小区物业管理的机房内;移动终端设备包括日常使用的手机或平板等。
作为一种具体的示例:所述主控网关和终端网关的控制板采用Tiny4412控制板,它基于三星Exynos 4412四核心处理器,主频高达1.5GHz,搭载1G DDR3RAM和4G eMMC高速缓存,并拥有良好的功耗控制。
所述的主控网关***用于接收Zigbee子设备上产生的数据,并转发到服务器进行存储,另一方面,对用户直接控制的移动终端设备上下发的控制指令,进行转发。加入边缘计算网络进行服务器分配的计算任务。
作为一种具体的示例:所述Zigbee协调器和Zigbee子设备上采用CC2530开发套件,搭载了8KB RAM和256KB闪存,可支持协调器和254子设备的大规模组网,并拥有非常低的功耗。
所述的传感控制***一方用于将各种传感器数据上传给终端网关***,一方面用于接收终端网关***下发的各种控制指令,对相应的智能设备进行控制。
所述的本地服务器用于接收和存储主控网关***上传的数据。进行边缘计算的控制,包括边缘计算任务的切分和下发、进行数据加工后的结果处理,对加入和退出边缘计算网络的终端网关的控制和调度。
所述的移动终端设备即用户日常使用的手机或平板电脑等。
结合图1和图2,本发明具体步骤如下:
(1)***初始化时,主控网关里存储一张算力表,以终端网关的网卡MAC值为主键值,查询加入本***内的所有终端网关,是否已在算力表中记录其算力,如果已经记录,进入步骤(2);否则计算其算力,在算力表中记录其MAC值和对应的算力后进入步骤(2)。
(2)判断当前数据积累量和***运行时间,如果当前服务器上数据量累积到了C并且***时间运行了T时,由主控网关发起边沿计算请求;否则进入网关正常使用状态。
(3)终端网关判断当前是否处于空闲状态,如果是,则进入边缘计算网络,进入步骤(4);否则不加入边缘计算网络。
(4)主控网关查询当前算力表中所有正处于边缘计算网络中的终端网关的算力值,并计算其比值β,以K为单位,为每一台终端网关分配N个虚拟节点,每台终端网关的虚拟节点标记为:node(n)={Mn-1,Mn-2,...,Mn-N|n∈1~M,N=Kβ(n)},将它们由哈希函数全部映射到哈希环上。
作为一种具体的示例:如图3,边缘计算网络里有3个终端网关,查询算力表,β(1)=1,β(2)=3,β(3)=2,所以为终端网关分配的虚拟节点个数分别为5个,15个,10个。分别标记为node(1)={M1-1,M1-2,...,M1-5},node(2)={M2-1,M2-2,...,M2-15},node(3)={M3-1,M3-2,...,M3-10}。哈希环的范围为0~232-1,将这三个集合中的全部元素使用哈希函数映射到哈希环上。
进一步地,为每个网关分配以K=5为单位分配虚拟节点仅为图示说明,实现过程中,为每个网关分配的虚拟节点越多,为每个网关最终分配的数据分配越接近算力β的比值。
(5)当需要边缘计算的数据总量为Q GB时,主控网关从服务器上获取后,将他们分割为大小为P MB的样本,得到Q/P个数据块,将它们按顺序标记为1~Q/P,使用哈希函数,映射到哈希环上。
作为一种具体的示例:如图3,若数据总量为10GB时,主控网关将他们切分为10个数据分块,每个数据分块大小为1GB,将这10个数据分块标记为1~10,映射到哈希环上。
(6)在哈希环上,标记为x的数据块按照顺时针方向去找离它最近的虚拟节点,找到的虚拟节点属于哪个终端网关,该数据块就分配到哪个终端网关上进行边缘计算,将这种分配的路径记录在路由表上,存储到服务器上并发送到每个终端网关中,然后将数据块按照步骤(5)中标记的顺序分块发送到对应的终端网关上。
作为一种具体的示例:如图3所示,标记为1的数据分块顺时针寻找离他最近的虚拟节点是属于终端网关1的,那么数据分块1的路由路径为终端网关1,记录在路由表中,其他数据分块同理。当所有数据分块的路由信息记录完毕后,将该路由表下发到每个终端网关中。
(7)每个终端网关拿到数据分块后和路由表中的数据路径进行对比,如果当前所在的网关拿到数据在路由表中的数据路劲指向自己,就进行边缘计算,否则不进行计算。
作为一种具体示例:当终端网关1,拿到数据分块1,并查询路由信息无误后,对数据分块1,进行边缘计算。
进一步地,当终端网关进行边缘计算时,服务器仍然继续发送未发送的数据分块和已失效的数据分块。
(8)当有新的终端网关接入本智能家居***时,同样需要进行步骤(1)的初始化过程。当有新的终端网关进入边缘计算状态时,则同理在算力表中,以MAC值为索引,查找新的终端网关对应的算力值。得到算力值后,计算新终端网关和边缘计算网络中其它终端网关的算力比值β(y),并为新的终端网关分配新的N个虚拟节点,标记为node(y)={My-1,My-2,...,My-N|N=Kβ(y)},根据哈希函数的计算,将新的虚拟节点全部映射到哈希环上,将哈希环上数据块所在的位置向顺时针旋转,找到最近的终端网关,则新分配的虚拟节点又会捕获到数据块,在路由表中更新新的分配路径,重新向所有网关发送路由表,服务器根据新的路径发送分块数据。
作为一种具体示例:如图4所示,当终端网关4进入边缘计算状态时,查询算力表得到终端网关4的算力β(4)=2,所以为其分配新的10个虚拟节点,同理映射到哈希环上,则原本被终端3虚拟节点捕获到的数据分块现在被新的虚拟节点捕获了,主控网关将信息的路由信息记录下来,如果当前数据分块4还未发送,则将数据分块4标记为已失效的,并向所有终端网关和服务器发送新的路由表。服务器根据新的路由表发送将失效的数据分块4重新发送到新的终端网关4中,主控网关进行转发。
(9)当终端网关由空闲状态切换为非空闲状态时,需要退出边缘计算网络,此时,该终端网关对应的所有虚拟节点退出哈希环,同理在路由表中更新分配路径。
作为一种具体的示例:如图5所示,当终端网关M3对应的虚拟节点退出哈希环时,原来被终端网关M3的虚拟节点捕获到的数据分块2,如果在路由表中查询数据分块2已发送,则不更新数据分块2的状态和路由信息;如果数据分块2未发送,则在新的路由表中记录数据分块2为已失效,服务器和终端网关更新路由表,服务器重新发送已失效的数据分块。
(10)每个数据块计算完成,终端网关将计算结果回传给服务器,当所有边缘计算任务完成后,服务器将计算结果汇总,进行相应后续处理和存储。

Claims (2)

1.智能家居***中基于哈希算法的终端网关负载分配方法,其特征在于该方法的负载分配是在由多台终端网关和本地服务器组成的网络中,终端网关利用Zigbee协调器接收从Zigbee子设备上发送到的传感器数据,并存储在服务器上;主控网关将数据切分成多个小区间并映射到哈希环上,用虚拟节点代替终端网关在哈希环上的位置,用虚拟节点的数量来表示终端网关的算力,即当终端网关加入边缘计算网络时,主控网关根据终端网关的算力为终端网关分配相应数量的虚拟节点,并将其虚拟节点用哈希函数映射到哈希环上,虚拟节点去捕获固定方向上离它最近的数据,让已经进入边缘计算状态的网关***拥有在动态加入和退出边缘计算网络的同时,仍能实现按算力比值分配负载的能力;
具体步骤如下:
步骤1、***初始化时,主控网关里存储一张算力表,以终端网关的网卡MAC值为主键值,查询加入智能家居***的所有终端网关是否已在算力表中记录其算力,如果已经记录,进入步骤2;否则计算当前终端网关的算力,并在算力表中记录当前终端网关的MAC值和对应的算力,然后直至所有终端网关的算力均记录在算力表中后进入步骤2;
步骤2、判断当前数据积累量和***运行时间,如果当前服务器上数据量累积到了C并且***时间运行了T时,由主控网关向服务器和终端网关发起边缘计算请求;否则进入网关正常使用状态;
步骤3、终端网关接收到主控网关发出的边缘计算请求后,判断其自身当前是否处于空闲状态,如果是,则进入边缘计算网络,进入步骤4;否则不加入边缘计算网络;
步骤4、主控网关查询当前算力表中所有正处于边缘计算网络中的终端网关的算力值,并计算其比值β,以K为单位,为每一台终端网关分配N个虚拟节点,每台终端网关的虚拟节点标记为:
node(n)={Mn-1,Mn-2,...,Mn-N|n∈1~M,N=Kβ(n)},将标记的虚拟节点由哈希函数全部映射到哈希环上;
步骤5、当需要边缘计算的数据总量为Q GB时,主控网关从服务器上获取后,将数据总量分割为大小为P MB的样本,得到Q*1024/P个数据分块,并将分割的数据分块按顺序标记为1~Q*1024/P,使用哈希函数,映射到哈希环上;
步骤6、在哈希环上,标记为x的数据分块块按照顺时针方向去找离数据分块自身最近的虚拟节点,找到该虚拟节点归属的终端网关,并将该数据块分配到虚拟节点归属的终端网关上进行边缘计算,将这种分配的路径记录在路由表上,存储到服务器上并发送到每个终端网关中,然后将数据分块按照步骤5中标记的顺序依次将数据分块发送到对应的终端网关上;
步骤7、每个终端网关将拿到的数据分块和路由表中的数据路径进行对比,如果当前所在的终端网关拿到的数据分块在路由表中的数据路径指向自己,就进行边缘计算,否则不进行计算;
步骤8、当有新的终端网关接入智能家居***时,同样需要进行步骤1的初始化过程;当有新的终端网关进入边缘计算状态时,则同理在算力表中,以MAC值为索引,查找新的终端网关对应的算力值,得到算力值后,计算新终端网关和边缘计算网络中其它终端网关的算力比值β(y),并为新的终端网关分配新的N个虚拟节点,标记为node(y)={My-1,My-2,...,My-N|N=Kβ(y)},根据哈希函数的计算,将新的虚拟节点全部映射到哈希环上,将哈希环上数据分块所在的位置向顺时针旋转,找到最近的终端网关,则新分配的虚拟节点又会捕获到数据分块,在路由表中更新新的分配路径,重新向所有网关发送路由表,服务器根据新的路径发送分块数据;
步骤9、当终端网关由空闲状态切换为非空闲状态时,需要退出边缘计算网络,此时,该终端网关对应的所有虚拟节点退出哈希环,同理在路由表中更新分配路径;
步骤10、每个数据块计算完成,终端网关将计算结果回传给服务器,当所有边缘计算任务完成后,服务器将计算结果汇总,进行相应后续处理和存储。
2.根据权利要求1所述的智能家居***中基于哈希算法的终端网关负载分配方法,其特征在于步骤3所述的空闲状态,根据当前终端网关的CPU利用率来判定当前网关是否处于空闲状态,根据网关的负载,当CPU利用率小于等于T1超过U时间时,属于空闲状态,加入边缘计算网络;如果当CPU利用率大于T1,属于非空闲状态,则不加入或退出边缘计算网络,T1和U为设定的阈值。
CN201811388232.3A 2018-11-21 2018-11-21 智能家居***中基于哈希算法的终端网关负载分配方法 Active CN109462652B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811388232.3A CN109462652B (zh) 2018-11-21 2018-11-21 智能家居***中基于哈希算法的终端网关负载分配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811388232.3A CN109462652B (zh) 2018-11-21 2018-11-21 智能家居***中基于哈希算法的终端网关负载分配方法

Publications (2)

Publication Number Publication Date
CN109462652A CN109462652A (zh) 2019-03-12
CN109462652B true CN109462652B (zh) 2021-06-01

Family

ID=65611099

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811388232.3A Active CN109462652B (zh) 2018-11-21 2018-11-21 智能家居***中基于哈希算法的终端网关负载分配方法

Country Status (1)

Country Link
CN (1) CN109462652B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110572356B (zh) * 2019-07-24 2021-07-27 南京智能制造研究院有限公司 基于边缘网关数据质量评价的计算能力迁移方法及***
CN112399388B (zh) 2019-08-13 2024-06-14 中兴通讯股份有限公司 一种实现边缘计算的方法、装置和***
CN110636007B (zh) * 2019-09-11 2021-05-18 北京智芯微电子科技有限公司 边缘计算网络的路由编排方法、路由编排器及***
CN112491716B (zh) * 2019-09-12 2023-07-18 华为技术有限公司 算力路由方法及装置
CN111586091B (zh) * 2020-03-25 2021-03-19 光控特斯联(重庆)信息技术有限公司 一种实现算力组配的边缘计算网关***
CN112272239B (zh) * 2020-10-30 2022-09-02 深圳市雷鸟网络传媒有限公司 边缘计算方法、装置、智能终端及计算机可读存储介质
CN112929424B (zh) * 2021-01-26 2022-11-15 成都佳发安泰教育科技股份有限公司 网关负载均衡的方法、装置、设备及存储介质
CN113556380A (zh) * 2021-06-07 2021-10-26 广东东华发思特软件有限公司 物联网设备的边缘分布式多副本处理方法、装置及介质
CN115473753B (zh) * 2022-07-20 2024-07-19 青岛海尔科技有限公司 网关设备的控制方法、装置、存储介质及电子装置
CN115550002B (zh) * 2022-09-20 2024-05-24 贵州电网有限责任公司 一种基于tee的智能家居远程控制方法及相关装置
CN117729206B (zh) * 2024-02-07 2024-05-31 湖南三湘银行股份有限公司 基于物联网的多媒体接入方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105791862A (zh) * 2016-03-21 2016-07-20 杭州电子科技大学 基于边缘复杂度的三维视频编码深度图内部模式选择方法
CN106507326A (zh) * 2015-09-07 2017-03-15 ***通信集团公司 一种计费方法、***及相关设备
CN106792821A (zh) * 2016-12-27 2017-05-31 ***通信集团江苏有限公司 基于虚拟网关的接入控制方法和装置
CN108111542A (zh) * 2018-01-30 2018-06-01 深圳大学 基于SDN的物联网DDoS攻击防御方法、装置、设备及介质
US10104039B1 (en) * 2017-09-28 2018-10-16 Cloudflare, Inc. Establishing and using a tunnel from an origin server in a distributed edge compute and routing service

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106507326A (zh) * 2015-09-07 2017-03-15 ***通信集团公司 一种计费方法、***及相关设备
CN105791862A (zh) * 2016-03-21 2016-07-20 杭州电子科技大学 基于边缘复杂度的三维视频编码深度图内部模式选择方法
CN106792821A (zh) * 2016-12-27 2017-05-31 ***通信集团江苏有限公司 基于虚拟网关的接入控制方法和装置
US10104039B1 (en) * 2017-09-28 2018-10-16 Cloudflare, Inc. Establishing and using a tunnel from an origin server in a distributed edge compute and routing service
CN108111542A (zh) * 2018-01-30 2018-06-01 深圳大学 基于SDN的物联网DDoS攻击防御方法、装置、设备及介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"面向多处理器资源预留的实时程序划分方法";吴以凡,张桦,戴国骏;《电子学报》;20140430;全文 *

Also Published As

Publication number Publication date
CN109462652A (zh) 2019-03-12

Similar Documents

Publication Publication Date Title
CN109462652B (zh) 智能家居***中基于哈希算法的终端网关负载分配方法
CN202218258U (zh) 智能家庭网关及其***
CN105049502B (zh) 一种云端网络管理***中设备软件更新的方法和装置
CN107979534B (zh) 在连接到用户住所装置的设备中实现的方法及相应的装置
CN111586120B (zh) 物联网网关设备、数据传输方法、存储介质及安装方法
CN107820043B (zh) 视频监控***的控制方法、装置及***
CN103023681A (zh) 智能家居控制设备、更新方法
JPWO2015093070A1 (ja) ゲートウェイ、管理センタ、遠隔アクセスシステムおよび遠隔アクセス方法
CN112153090A (zh) 物联网设备的控制方法、装置、网关及可读存储介质
CN103546572A (zh) 一种云存储装置以及多云存储联网***和方法
CN107450434B (zh) 一种基于二级网络的楼宇自控***及方法
KR20090030393A (ko) 홈네트워크 자동 환경 설정 시스템 및 방법
CN108234562B (zh) 一种设备控制方法、控制设备和受控设备
CN101241365A (zh) 自动识别建筑物管理***与设备之间连接的方法和装置
CN111064591B (zh) 数据汇聚方法、装置、设备、存储介质和***
US8438292B2 (en) Network system establishing communication by use of connectionless protocol
CN100366014C (zh) 家庭控制网络***
CN103746836A (zh) 基于arm的嵌入式网管代理***
CN113739382A (zh) 空调控制方法及装置、控制设备和存储介质
CN113452763A (zh) 智慧家庭业务注册的方法、装置和智慧家庭***
CN103023700A (zh) 一种信息中心硬件设备的管理操作***和方法
CN101989918A (zh) 对等网络管理***及其实现管理的方法
CN112769658B (zh) 终端控制***、方法、装置、网关设备和存储介质
CN113742048B (zh) 一种酒店云服务***及其服务方法
EP4072106A1 (en) Dynamic environment monitoring

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant