CN106973021A - 网络系统中负载均衡的方法和节点 - Google Patents
网络系统中负载均衡的方法和节点 Download PDFInfo
- Publication number
- CN106973021A CN106973021A CN201710107909.0A CN201710107909A CN106973021A CN 106973021 A CN106973021 A CN 106973021A CN 201710107909 A CN201710107909 A CN 201710107909A CN 106973021 A CN106973021 A CN 106973021A
- Authority
- CN
- China
- Prior art keywords
- node
- load
- associated nodes
- load factor
- nodes set
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1029—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种网络系统中负载均衡的方法和节点。该网络系统包括多个节点,该方法包括:该多个节点中的第一节点获取关联节点集合中每个节点的负载状态,该关联节点集合包括该第一节点的路由表中的所有节点,以及在该网络系统中与该第一节点在预设间隔范围内相邻的节点;第一节点根据该关联节点集合中的节点和该第一节点的负载状态,进行负载迁移。这样网络系统中的每个节点都按照第一节点的方式与当前负载进行迁移管理,进而实现负载均衡,从而提高网络系统的效率。
Description
技术领域
本申请涉及通信领域,并且更具体地,涉及网络系统中负载均衡的方法和节点。
背景技术
随着网络技术的迅速发展,网络集群中节点的数量越来越多。现有的网络集群主要包括集中式网络和分布式网络,其中,集中式网络因为容易形成单点瓶颈,扩展性较差,不适合大型网络,而分布式网络较为广泛的应用。分布式网络分为无结构分布式网络和结构化分布式网络,由于结构化分布式网络是基于分布式哈希表(distributed hash table,DHT)技术的,因此分布式网络又可以称为DHT网络。
在DHT网络中,通过分布式哈希算法为节点分配数据对象,理想情况下,分布式哈希算法所带来的随机性会使节点的数据对象分布趋于均匀。然而,在实际应用中,分布式哈希算法无法使得DHT网络实现负载平衡,而负载均衡对于DHT网络的效率有直接的影响,因此,亟待一种能够解决负载不均衡问题的方法。
发明内容
本申请实施例提供了一种网络系统中负载均衡的方法和节点,能够实现负载均衡,提高了网络系统的效率。
第一方面,提供了一种网络系统中负载均衡的方法。该网络系统包括多个节点,该方法包括:该多个节点中的第一节点获取关联节点集合中每个节点的负载状态,该关联节点集合包括该第一节点的路由表中的所有节点,以及在该网络系统中与该第一节点在预设间隔范围内相邻的节点;第一节点根据该关联节点集合中的节点和该第一节点的负载状态,进行负载迁移。
第一节点获取关联节点集合中每个节点的负载状态,并根据该关联节点集合中的节点和该第一节点的负载状态,进行负载迁移,这样网络系统中的每个节点都按照第一节点的方式进行负载迁移,从而能够有效实现负载均衡,进而提高网络系统的效率。
在一些可能的实现方式中,该方法还包括:该第一节点确定该关联节点集合中是否存在第二节点,该第一节点的负载率大于该第二节点的负载率,且该第一节点的负载率与该第二节点的负载率的差值大于或等于第一预设负载率阈值;该第一节点接收第一负载请求;其中,该第一节点根据该关联节点集合中的节点和该第一节点的负载状态,进行负载迁移包括:该第一节点向第三节点发送该第一负载请求,该第三节点的负载率小于该关联节点集合中其他节点的负载率。
第一节点对后续到来的负载请求进行迁移,进而将负载请求对应的负载直接交于第三节点进行处理,避免将已经处理的负载迁移到第三节点,减少对系统的影响。
在一些可能的实现方式中,该第一节点存储迁移第二负载的路径信息,该第二负载属于该第一节点,该方法还包括:该第一节点确定该关联节点集合中第四节点,该第一节点的负载率小于该第四节点的负载率,且该第四节点的负债率与该第一节点的负载率的差值大于或等于第二预设负载率阈值的第四节点;该第一节点根据该路径信息,确定该第一节点是否向该第四节点迁移过该第二负载;其中,该第一节点根据该关联节点集合中的节点和该第一节点的负载状态,进行负载迁移包括:
若确定该第一节点向该第四节点迁移过该第二负载,该第一节点从该第四节点中获取该第二负载。
第一节点通过记录迁移负载的路径信息,能够方便负载的取回,还能够方便路由过程中的查询。
在一些可能的实现方式中,该第一节点获取关联节点集合中每个节点的负载状态包括:该第一节点接收关联节点集合中每个节点发送的心跳信息,该心跳信息包括对应节点的负载状态。
关联节点集合中每个节点主动发送心跳信息,避免第一节点在需要时获取关联节点集合中每个节点,节省了负载均衡的时延。
在一些可能的实现方式中,该第一节点接收心跳信息包括:该第一节点周期性接收关联节点集合中每个节点发送的该心跳信息;该方法还包括:该第一节点根据该周期性接收到的关联节点集合中每个节点发送的心跳信息,更新对应节点的负载状态。
这样第一节点可以及时更新关联节点集合中每个节点的负载状态,提高判断关联节点集合中每个节点负载状态的准确性,进一步提高DHT网络系统的负载均衡的精度。
在一些可能的实现方式中,该第一节点的负载率为该第一节点当前的负载与该第一节点能够承载的最大负载的比值,该第二节点的负载率为该第二负载当前的负载与该第二节点能够承载的最大负载的比值。
这样异构节点可以根据性能差异承载不同的负载,进而能够充分利用高性能节点,提高了系统处理效率。
第二方面,提供了一种节点,包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的模块。
第三方面,提供了一种节点,包括:处理器、存储器和通信接口。处理器与存储器和通信接口连接。存储器用于存储指令,处理器用于执行该指令,通信接口用于在处理器的控制下与其他网元进行通信。该处理器执行该存储器存储的指令时,该执行使得该处理器执行第一方面或第一方面的任意可能的实现方式中的方法。
第四方面,提供了一种计算机存储介质,该计算机存储介质中存储有程序代码,该程序代码用于指示执行上述第一方面或第一方面的任一种可能的实现方式中的网络系统中负载均衡的方法的指令。
基于上述技术方案,第一节点获取关联节点集合中每个节点的负载状态,该关联节点集合包括该第一节点的路由表中的所有节点,以及在该网络系统中与该第一节点在预设间隔范围内相邻的节点并根据该关联节点集合中的节点和该第一节点的负载状态进行负载迁移,这样网络系统中的每个节点都按照第一节点的方式进行负载迁移,从而能够实现负载均衡,进而提高网络系统的效率。此外,第一节点可以灵活调节负载均衡的范围和涉及的节点数目,从而能够满足不同系统对负载均衡效果的差异化需求。
附图说明
图1是本申请实施例的哈希环(Chord环)的示意图;
图2是本申请一个实施例的节点路由表的示意图;
图3是本申请一个实施例的路由过程的示意图;
图4是本申请一个实施例的网络系统中负载均衡的方法的示意图;
图5是本申请实施例的第一节点的示意性框图;
图6是本申请实施例的第一节点的结构示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请的技术方案可以应用于各种通信系统,例如:全球移动通讯(GlobalSystem of Mobile communication,GSM)系统、码分多址(Code Division MultipleAccess,CDMA)系统、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)系统、通用分组无线业务(General Packet Radio Service,GPRS)、LTE系统、先进的长期演进(Advanced Long Term Evolution,LTE-A)系统、通用移动通信系统(Universal MobileTelecommunication System,UMTS)等。
在本申请实施例中,节点包括但不限于用户设备(User Equipment,UE)、移动台(Mobile Station,MS)、移动终端(Mobile Terminal)、移动电话(Mobile Telephone)、手机(handset)及便携设备(portable equipment)等,该终端可以经无线接入网(Radio AccessNetwork,RAN)与一个或多个核心网进行通信,例如,终端可以是移动电话(或称为“蜂窝”电话)、具有无线通信功能的计算机等,该终端还可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置。
本申请实施例中,节点可以是GSM或CDMA中的基站(Base Transceiver Station,BTS),也可以是WCDMA中的基站(Node B),还可以是LTE中的演进型基站(evolved Node B,eNB或e-NodeB),还可以是其他任何具有发送功能的设备,本申请实施例并不限定,例如,上述基站还可以是分布式天线系统中的射频拉远头(Remote Radio Head,RRH)、中继网络中的中继站以及异构网络中的微基站。
DHT系统中的每个节点都会被分配一个散列块,并分别由每个节点负责管理该散列块。资源集合对应一组关键字,一个关键字唯一标识了资源集合中的一份资源。系统在对关键字进行哈希后,会得到关键字的标识符(key),同时系统也会提取网络中每个节点的元数据信息,例如互联网协议(Internet Protocol,IP)地址,并对元数据进行哈希,得到节点的标识符(identity,ID)。关键字标识符key和节点标识符ID都具有唯一性,系统按照特定的映射关系,将key映射到ID上,该ID对应的节点就负责管理此key对应的数据。数值(Value)表示要存储的信息,所有的<key,value>对在逻辑上构成一张很大的文件索引散列表,每个节点按照key与ID的映射关系负责维护散列表的一部分。用户在DHT网络中搜索资源时,利用系统所规定的哈希算法对资源的关键字标识符进行哈希,并根据哈希结构查找资源的存储位置,就能够快速的在多个节点间定位数据的位置,找到所需的数据。
DHT系统的路由工作依赖于一个被称为路由表的数据结构,所以每个节点都维护着一个路由表。路由表的表项包含了对应节点的ID和IP地址、端口号等信息。稳定状态下,一个N节点的Chord系统中,每个节点需要保存O(logN)个其他节点的路由信息,保存此路由信息的数据结构称作路由表。通常情况下,在一个N节点的网络中,查找一个关键字所需的路由跳数为O(logN)。
Chord算法是DHT的一种经典实现,下面以Chord算法为例进行说明DHT算法的原理。Chord算法基于一维环形空间,每个节点分配一个m bit的标识符,通常是提取节点的IP地址,利用安全散列算法(Secure Hash Algorithm,SHA)-1算法对IP进行哈希,得到节点的标识符。
图1示出了Chord算法的示意图。如图1所示,所有节点根据ID从小到大的顺序,按顺时针的方向依次映射为Chord环上一点。系统在存储<key,value>对时,会以key为起点,沿着Chord环顺时针移动,将此<key,value>对存储在遇到的第一个节点(即后继节点)上。
系统的路由工作依赖路由表的数据结构,每个节点都维护着一个路由表,路由表的表项包含了对应节点的ID和IP地址、端口号信息。稳定状态下,一个N节点的Chord系统中,每个节点需要保存O(logN)个其他节点的路由信息,保存此路由信息的数据结构称为路由表。将文件和节点的标识符用二进制数表示,标识符最大有多少个数位,路由表中就最多包含多少个表项。以ID为n的节点为例,路由表中的第i项是以n+2i-1为起点,沿着Chord环顺时针查找找到的第一个节点s,此节点s被称为节点n的第i个指针。其中,路由表的第一项是Chord环上位于节点n后面的,紧邻着节点n的节点,可以称为节点n的后继节点。如图2示出了节点8的路由表内容。
图3示出了查找关键字的路由过程。如图3所示,以节点标识符为8为引导节点,查找关键字为54的文件。其中,节点8的路由表包括N14,N21,N32和N42,具体节点8的路由表包括的节点为N8+2n,n=0,1,2,…,5,且在n=0,1,2时,在Chord环上不存在对应的N8+2n节点,都取节点8的下一个节点N14。
当节点8收到查询请求时,将key进行哈希,检查哈希值是否大于该节点ID并小于或等于后继节点ID,如果是,则说明后继节点上存储有目标key对应的资源。否则,节点8将在自己的路由表中查找ID值最大且小于或等于key的哈希值的节点,联系该节点处理此查询请求。重复上述过程,查询请求最终会被传递到存储到目标key对应的资源的节点之上。在节点8的路由表中,节点标识符比54小的最大的指针为节点42,所以节点8会将这个查询请求转发给节点42处理。节点42也存在对应的路由表,并进行与节点8相同的判断和处理,重复上述过程,最终找到目标节点56。
传统技术方案中,DHT网络系统还可以采用虚拟服务器算法为不同节点分配负载。虚拟服务器算法把一个物理存储节点虚拟成多个虚拟存储节点(即虚拟服务器),让虚拟存储节点独立地参与到系统的负载分配与负载平衡过程中。当系统需要进行负载迁移工作时,以虚拟服务器作为最小迁移单位在进行负载迁移时,从负载较重的物理节点上选择一个虚拟节点“离开网络”,同时将另一个负载较轻的物理节点重新“加入网络”,然后将虚拟节点负责的数据对象由原节点迁移到新节点上。
传统技术方案中,DHT网络系统也可以通过多哈希选择算法为不同节点分配负载。多哈希选择算法采用多个不同的哈希算法来定位资源和完成负载的分配,以此完成数据对象在不同节点间的迁移。多哈希选择算法适用于动态环境的负载迁移算法,通过对一个数据对象利用多个不同的哈希函数进行多次哈希,选定n(n>=2)个哈希函数h1()、h2()……hd(),在数据对象插入网络时,用这n个哈希函数对数据对象的关键字进行哈希,根据得到的结果集确定n个负责节点,比较这n个节点的负载状态,找出负载最轻的节点插入数据对象。多哈希算法用负载触发器进行负载平衡调节,触发器事件会在系统中某节点的负载过重时被触发。触发器选定需要进行迁移的负载后,利用上述的n个哈希函数为负载重新寻找负责节点,并以重新添加到网络中的方式完成负载的转移。
然而,无论DHT系统采用何种方式为不同节点分配负载,都会存在不同程度的负载不均衡。
图4示出了本申请实施例的一种网络系统中负载均衡的方法400的示意性图。如图4所示,该方法400应用于网络系统中,该网络系统中包括多个节点,该方法400包括:
S410,多个节点中的第一节点获取关联节点集合中每个节点的负载状态,该关联节点集合包括该第一节点的路由表中的所有节点,以及在该网络系统中与该第一节点在预设间隔范围内相邻的节点;
S420,该第一节点根据该关联节点集合中的节点和该第一节点的负载状态,进行负载迁移。
具体而言,该网络系统可以是DHT网络系统,也可以是其他网络系统,为描述方便下述以DHT网络系统为例进行说明,但本申请对此不进行限定。第一节点可以是网络系统中包括的多个节点中的任意一个节点,第一节点确定关联节点集合,该关联节点集合包括第一节点的路由表中的所有节点和在该网络系统中与该第一节点在预设间隔范围内相邻的节点。第一节点获取关联节点集合中每个节点的负载状态,并根据该关联节点集合中的节点的负载状态和该第一节点的负载状态,进行负载迁移,这样网络系统中的每个节点都按照第一节点的方式进行负载迁移,从而能够有效实现负载均衡,进而提高网络系统的效率。
需要说明的是,与该第一节点在预设间隔范围内相邻的节点可以在DHT网络系统中与该第一节点间隔不超过预设间隔的所有节点。在DHT网络系统中,利用哈希函数对每个节点的IP进行哈希得到节点的标识符ID,并将每个节点按照节点的标识符ID从小到大进行排序形成首尾相接的环形。因此,与第一节点相邻可以是与第一节点的ID相邻。可选地,DHT网络系统可以通过Chord算法实现,这样第一节点的标识符ID可以映射到Chord环,系统在存储<key,value>对时,以key为起点,沿着Chord环顺时针移动,将<key,value>对存储到遇到的第一个节点上,即与第一节点相邻可以是在Chord环上相邻的节点。
例如,如图2所示,在预设间隔为2时,与节点N8在该预设间隔范围内的节点包括从N8节点在Chord环上逆时针旋转的两个节点N1和N56,以及在Chord环上顺时针旋转的两个节点N14和N21。为描述方便,下述实施例将与该第一节点在预设间隔范围内相邻的节点称为“叶子节点”。
应理解,第一节点可以定时或周期性获取该关联节点集合中每个节点的负载状态信息。预设间隔可以根据DHT网络系统对负载均衡效果进行差异化设定,本申请对此不进行限定。
还应理解,第一节点可以是基站或微基站,也可以是UE,本申请对此不进行限定。
因此,本申请实施例的网络系统中负载均衡的方法,第一节点获取关联节点集合中每个节点的负载状态,并根据该关联节点集合中的节点和该第一节点的负载状态,进行负载迁移,这样DHT网络系统中的每个节点都按照第一节点的方式进行负载迁移,从而能够有效实现负载均衡,进而提高网络系统的效率。此外,第一节点可以灵活调节负载均衡的范围和涉及的节点数目,从而能够满足不同系统对负载均衡效果的差异化需求。
可选地,本申请实施例对DHT网络系统的原有算法影响很小,可以与传统方案的负载分配方式进行兼容,即通过DHT网络系统的负载分配之后,再通过本方案对DHT网络系统进行负载均衡的优化。例如,DHT网络系统可以先采用虚拟服务器算法进行负载分配再执行本申请实施例,或者先采用多哈希选择算法进行负载分配再执行本申请实施例,从而提高负载均衡的精度。
可选地,第一节点获取关联节点集合中每个节点的负载状态可以通过接收关联节点集合中每个节点的心跳信息,每个节点的心跳信息包括对应节点的负载状态。这样关联节点集合中每个节点主动发送心跳信息,避免第一节点在需要时获取关联节点集合中每个节点,节省了负载均衡的时延。
需要说明的是,关联节点集合中的其他节点之间也可以相互发送心跳信息,或者第一节点也可以向其他关联节点集合中的其他节点发送心跳信息。
应理解,该负载状态可以是对应节点的负载率,也可以是对应节点当前的负载以及对应节点所能承受的最大负载,本申请对此不进行限定。
可选地,第一节点可以周期性接收心跳信息,并根据该周期性接收到的关联节点集合中每个节点发送的心跳信息,更新对应节点的负载状态。这样第一节点能够提高判断关联节点集合中每个节点负载状态的准确性,进一步提高DHT网络系统的负载均衡的精度。
可选地,第一节点确定关联节点集合中的是否存在第二节点,该第一节点的负载率大于该第二节点的负载率,且该第一节点的负载率与该第二节点的负载率的差值大于或等于第一预设负载率阈值。若第一节点确定关联节点集合中存在该第二节点,则表示第一节点的负载过重。这时第一节点再接收到属于自己的第一负载,第一节点可以将该第一负载迁移到第三节点,实现负载均衡,其中该第三节点的负载率小于该关联节点集合中其他节点的负载率,即第三节点为关联节点集合中负载率最小的节点。
需要说明的是,在第一节点的负载率大于关联节点集合中的任意一个节点的负载率时,也可以认为负载不均衡,进而将后续收到的负载迁移到第三节点。
应理解,第一节点的负载率与其的负载率的差值大于或等于第一预设负载率阈值的节点可以是一个或多个,若只有一个时,该第二节点可以与该第三节点为同一个节点。
还应理解,第一节点的负载率与第二节点的负载率的差值可以是第一节点的负载率减去第二节点的负载率的差,也可以是第二节点的负载率减去第一节点的负载率的差,本申请对不进行限定。
可选地,在该第一节点的负载率大于该第二节点的负载率,且该第一节点的负载率与该第二节点的负载率的差值大于或等于第一预设负载率阈值的情况下,第一节点可以在接收到第一负载请求时,向该第三节点发送该第一负载请求,后续接收到的第一负载请求对应的第一负载直接由第三节点处理。这样第一节点对负载请求进行迁移,避免将已经处理的负载迁移到第三节点,避免了频繁的进行负载迁移,降低系统的功耗。
例如,在该第一节点的负载率大于该第二节点的负载率,且该第一节点的负载率与该第二节点的负载率的差值大于或等于第一预设负载率阈值的情况下,第一节点接收到了属于第一节点的写请求,第一节点就可以将该写请求发送给该第二节点,后续的写数据直接写入该第二节点。
还应理解,第一节点接收属于自己的第一负载,可以是对负载的关键字进行哈希函数处理得到的关键字ID,该关键字ID与第一节点的IP地址的标识符ID对应,本申请对此不进行限定。
可选地,第一节点的负载率可以是该第一节点当前的负载与该第一节点所能承受的最大负载的比值,第二节点的负载率可以是该第二节点当前的负载与该第二节点所能承受的最大负载的比值。这样异构节点可以根据性能差异承载不同的负载,进而能够充分利用高性能节点,提高了系统处理效率。
可选地,第一节点记录迁移负载的路径信息,也就是说,第一节点存储属于自己的负载分别迁移到哪些节点上。第一节点确定关联节点集合中是否存在第四节点,该第四节点的负载率大于第一节点的负载率,且第四节点的负载率与第一节点的负载率的差值大于或等于第二预设负载率阈值。若第一节点确定存在该第四节点,则表示第一节点的负载较轻。这时,第一节点可以根据路径信息,确定第一节点是否向该第四节点迁移过属于第一节点的负载。若第一节点确定向该第四节点迁移过属于第一节点的负载时,第一节点从第四节点中获取属于第一节点的负载。因此,第一节点通过记录迁移负载的路径信息,能够方便负载的取回,还能够方便路由过程中的查询。
需要说明的是,在第一节点的负载率小于关联节点集合中的某个节点的负载率时,就可以认为负载不均衡,进而去判断该节点是否存在第一节点迁移过去的负载,进而取回该负载。
应理解,第一节点的负载率与第四节点的负载率的差值可以是第一节点的负载率减去第四节点的负载率的差,也可以是第四节点的负载率减去第一节点的负载率的差,本申请对不进行限定。
还应理解,第一预设负载率阈值和第二预设负载率阈值可以相同,也可以不同,本申请对此不进行限定。
还应理解,该第四节点可以与该第三节点为同一个节点,本申请对此不进行限定。
可选地,若存在多个节点的负载率大于第一节点的负载率,且与第一节点的负载率的差值大于或等于第二预设负载阈值时,第一节点可以对这多个节点按照负载率从高到低进行排序,然后第一节点查询路径信息,依次确定第一节点是否向对应的节点迁移过属于第一节点的负载。若确定第一节点迁移过属于第一节点的负载,则将对应节点中的对应负载取回来。
应理解,第一节点每次取回一个负载后,都要更新第一节点和对应节点的负载率,并重新判断关联节点集合中是否有负载过重的节点,直到处理完关联节点集合中所有负载重的节点。
下面以节点N8为例进行说明,节点N8的关联节点集合可以取其路由表中的节点N14、N21、N32和N42,以及取系统中预设间距为2的相邻节点N56、N1、N14和N21。第一节点可以统计获取到关联节点集合中每个节点的负载信息如表1所示的数据结构。
表1
假设节点8当前负载率为0.1,预设负载率阈值为0.05,则负载率与节点N8的负载率的差值超过预设负载率阈值的关联节点有N32、N42、N56、N1,其中负载重的有N32、N42、N1,负载轻的有N56。
节点8会依次检查是否有属于节点8的负载被转交给了N32、N42、N1,如果有,则将负载取回到节点8,并且在取回负载时,动态更新节点8的负载率,重新判断节点8与关联节点间的负载差异。假设这一步骤结束后,节点8负载率没变,则后续有负载落到节点8上时,节点8都会将这些负载转交给N56处理,同时做好负载转交记录,更新转交后N56的负载率,直到节点8与N56之间的负载差异小于阈值为止。
因此,本申请实施例的网络系统中负载均衡的方法,第一节点获取关联节点集合中每个节点的负载状态,并根据该关联节点集合中的节点和该第一节点的负载状态,进行负载迁移,这样网络系统中的每个节点都按照第一节点的方式进行负载迁移,从而能够有效实现负载均衡,进而提高网络系统的效率。此外,第一节点可以灵活调节负载均衡的范围和涉及的节点数目,从而能够满足不同系统对负载均衡效果的差异化需求。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文详细描述了根据本申请实施例的网络系统中负载均衡的方法,下面将结合图5和图6,详细描述根据本申请实施例的负载均衡的设备。
图5示出了根据本申请实施例的节点500的示意性框图。该节点500可以对应于图4中的第一节点,如图5所示,该节点500包括:
获取模块510,用于获取关联节点集合中每个节点的负载状态,该关联节点集合包括该节点的路由表中的所有节点,以及在网络系统的多个节点中与该节点在预设间隔范围内相邻的节点;
处理模块520,用于根据该关联节点集合中的节点和该节点的负载状态,进行负载迁移。
因此,本申请实施例的管理负载的节点,通过获取关联节点集合中每个节点的负载状态,并根据该关联节点集合中的节点和该节点的负载状态,进行负载迁移,这样网络系统中的每个节点都按照节点的方式进行负载迁移,从而能够有效实现负载均衡,进而提高网络系统的效率。此外,该节点可以灵活调节负载均衡的范围和涉及的节点数目,从而能够满足不同系统对负载均衡效果的差异化需求。
可选地,该处理模块520,用于确定该关联节点集合中是否存在第二节点,所述节点的负载率大于所述第二节点的负载率,且该节点的负载率与该第二节点的负载率的差值大于或等于第一预设负载率阈值;该节点500还包括:接收模块,用于接收第一负载请求;该处理模块520具体用于:向第三节点发送该第一负载请求,该第三节点的负载率小于该关联节点集合中其他节点的负载率。
可选地,该节点存储迁移第二负载的路径信息,该第二负载属于该第一节点,该处理模块,还用于该节点确定该关联节点集合中的第四节点,所述节点的负载率小于所述第四节点的负载率,且所述第四节点的负债率与该节点的负载率的差值大于或等于第二预设负载率阈值的第四节点;根据该路径信息,确定该节点是否向该第四节点迁移过该第二负载;若确定该节点向该第四节点迁移过该第二负载,该节点从该第四节点中获取该第二负载。
可选地,该获取模块510具体用于:接收关联节点集合中每个节点发送的心跳信息,该心跳信息包括对应节点的负载状态。
可选地,该获取模块510具体用于:周期性接收关联节点集合中每个节点发送的该心跳信息;该处理模块520,还用于根据该周期性接收到的关联节点集合中每个节点发送的心跳信息,更新对应节点的负载状态。
可选地,该节点的负载率为该节点当前的负载与该节点能够承载的最大负载的比值,该第二节点的负载率为该第二负载当前的负载与该第二节点能够承载的最大负载的比值。
因此,本申请实施例的管理负载的节点,通过获取关联节点集合中每个节点的负载状态,并根据该关联节点集合中的节点和该节点的负载状态,进行负载迁移,这样网络系统中的每个节点都按照该节点的方式进行负载迁移,从而能够有效实现负载均衡,进而提高网络系统的效率。此外,该节点可以灵活调节负载均衡的范围和涉及的节点数目,从而能够满足不同系统对负载均衡效果的差异化需求。
图6示出了本申请的实施例提供的节点的结构示意图。如图6所示,该节点包括至少一个处理器602(例如具有计算和处理能力的通用处理器CPU、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gata Array,FPGA)等),处理器602用于对节点内各模块和器件进行管理和调度。图5所示的实施例中的处理模块520可以通过处理器602实现。该节点还包括至少一个收发器605(接收器/发送器),存储器606。图5所示的实施例中的获取模块510可以通过收发器605实现。节点的各个组件通过内部连接通路互相通信,传递控制和/或数据信号。
上述本申请实施例揭示的方法可以应用于处理器602,或者用于执行存储器606中存储的可执行模块,例如计算机程序。存储器606可能包含高速随机存取存储器(RandomAccess Memory,RAM),也可能还包括非不稳定的存储器(non-volatile memory),存储器可以包括只读存储器和随机存取存储器,并向处理器提供需要的信令或数据、程序等等。存储器的一部分还可以包括非易失行随机存取存储器(NVRAM)。通过至少一个收发器605(可以是有线或者无线)实现与至少一个其他网元之间的通信连接。
在一些实施方式中,存储器606存储了程序6061,处理器602执行程序6061,用于执行以下操作:
获取关联节点集合中每个节点的负载状态,该关联节点集合包括该节点的路由表中的所有节点,以及在该网络系统中与该节点在预设间隔范围内相邻的节点;
根据该关联节点集合中的节点和该节点的负载状态,进行负载迁移。
需要说明的是,该节点可以具体为图5所示的实施例中的节点500,并且可以用于执行图4所示的方法实施例中与第一节点对应的各个步骤和/或流程。
从本申请实施例提供的以上技术方案可以看出,通过获取关联节点集合中每个节点的负载状态,并根据该关联节点集合中的节点和该节点的负载状态,进行负载迁移,这样网络系统中的每个节点都按照该节点的方式进行负载迁移,从而能够有效实现负载均衡,进而提高网络系统的效率。此外,该节点可以灵活调节负载均衡的范围和涉及的节点数目,从而能够满足不同系统对负载均衡效果的差异化需求。
本申请实施例还提供一种计算机存储介质,该计算机存储介质可以存储用于指示上述任一种方法的程序指令。
可选地,该存储介质具体可以为存储器606。
应理解,本申请中的具体的例子只是为了帮助本领域技术人员更好地理解本申请实施例,而非限制本申请实施例的范围。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (12)
1.一种网络系统中负载均衡的方法,其特征在于,所述网络系统包括多个节点,所述方法包括:
所述多个节点中的第一节点获取关联节点集合中每个节点的负载状态,所述关联节点集合包括所述第一节点的路由表中的所有节点,以及在所述网络系统中与所述第一节点在预设间隔范围内相邻的节点;
所述第一节点根据所述关联节点集合中的节点的负载状态和所述第一节点的负载状态,进行负载迁移。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一节点确定所述关联节点集合中是否存在第二节点,所述第一节点的负载率大于所述第二节点的负载率,且所述第一节点的负载率与所述第二节点的负载率的差值大于或等于第一预设负载率阈值;
所述第一节点接收第一负载请求;
其中,所述第一节点根据所述关联节点集合中的节点和所述第一节点的负载状态,进行负载迁移包括:
所述第一节点向第三节点发送所述第一负载请求,所述第三节点的负载率小于所述关联节点集合中其他节点的负载率。
3.根据权利要求1或2所述的方法,其特征在于,所述第一节点存储迁移第二负载的路径信息,所述第二负载属于所述第一节点,所述方法还包括:
所述第一节点确定所述关联节点集合中的第四节点,所述第一节点的负载率小于所述第四节点的负载率,且所述第四节点的负债率与所述第一节点的负载率的差值大于或等于第二预设负载率阈值的第四节点;
所述第一节点根据所述路径信息,确定所述第一节点是否向所述第四节点迁移过所述第二负载;
其中,所述第一节点根据所述关联节点集合中的节点和所述第一节点的负载状态,进行负载迁移包括:
若确定所述第一节点向所述第四节点迁移过所述第二负载,所述第一节点从所述第四节点中获取所述第二负载。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述第一节点获取关联节点集合中每个节点的负载状态包括:
所述第一节点接收关联节点集合中每个节点发送的心跳信息,所述心跳信息包括对应节点的负载状态。
5.根据权利要求4所述的方法,其特征在于,所述第一节点接收心跳信息包括:
所述第一节点周期性接收关联节点集合中每个节点发送的所述心跳信息;
所述方法还包括:
所述第一节点根据所述周期性接收到的关联节点集合中每个节点发送的心跳信息,更新对应节点的负载状态。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述第一节点的负载率为所述第一节点当前的负载与所述第一节点能够承载的最大负载的比值,所述第二节点的负载率为所述第二负载当前的负载与所述第二节点能够承载的最大负载的比值。
7.一种节点,其特征在于,包括:
获取模块,用于获取关联节点集合中每个节点的负载状态,所述关联节点集合包括所述节点的路由表中的所有节点,以及在网络系统的多个节点中与所述节点在预设间隔范围内相邻的节点;
处理模块,用于根据所述关联节点集合中的节点和所述节点的负载状态,进行负载迁移。
8.根据权利要求7所述的节点,其特征在于,所述处理模块,用于确定所述关联节点集合中是否存在第二节点,所述节点的负载率大于所述第二节点的负载率,且所述节点的负载率与所述第二节点的负载率的差值大于或等于第一预设负载率阈值;
所述节点还包括:
接收模块,用于接收第一负载请求;
所述处理模块具体用于:
向第三节点发送所述第一负载请求,所述第三节点的负载率小于所述关联节点集合中其他节点的负载率。
9.根据权利要求7或8所述的节点,其特征在于,所述节点存储迁移第二负载的路径信息,所述第二负载属于所述节点,所述处理模块,还用于所述节点确定所述关联节点集合中的第四节点,所述节点的负载率小于所述第四节点的负载率,且所述第四节点的负债率与所述节点的负载率的差值大于或等于第二预设负载率阈值的第四节点;
根据所述路径信息,确定所述节点是否向所述第四节点迁移过所述第二负载;
若确定所述节点向所述第四节点迁移过所述第二负载,所述节点从所述第四节点中获取所述第二负载。
10.根据权利要求7至9中任一项所述的节点,其特征在于,所述获取模块具体用于:
接收关联节点集合中每个节点发送的心跳信息,所述心跳信息包括对应节点的负载状态。
11.根据权利要求10所述的节点,其特征在于,所述获取模块具体用于:
周期性接收关联节点集合中每个节点发送的所述心跳信息;
所述处理模块,还用于根据所述周期性接收到的关联节点集合中每个节点发送的心跳信息,更新对应节点的负载状态。
12.根据权利要求7至11中任一项所述的节点,其特征在于,所述节点的负载率为所述节点当前的负载与所述节点能够承载的最大负载的比值,所述第二节点的负载率为所述第二负载当前的负载与所述第二节点能够承载的最大负载的比值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710107909.0A CN106973021A (zh) | 2017-02-27 | 2017-02-27 | 网络系统中负载均衡的方法和节点 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710107909.0A CN106973021A (zh) | 2017-02-27 | 2017-02-27 | 网络系统中负载均衡的方法和节点 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106973021A true CN106973021A (zh) | 2017-07-21 |
Family
ID=59328757
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710107909.0A Pending CN106973021A (zh) | 2017-02-27 | 2017-02-27 | 网络系统中负载均衡的方法和节点 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106973021A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110012044A (zh) * | 2018-01-04 | 2019-07-12 | 财团法人工业技术研究院 | 动态工作移转方法及服务器 |
CN110098920A (zh) * | 2019-05-07 | 2019-08-06 | 山大地纬软件股份有限公司 | 一种减少节点碰撞的区块链节点负载均衡方法及装置 |
CN110224847A (zh) * | 2018-05-02 | 2019-09-10 | 腾讯科技(深圳)有限公司 | 基于社交网络的社团划分方法、装置、存储介质及设备 |
CN110391995A (zh) * | 2018-04-17 | 2019-10-29 | 华为技术有限公司 | 一种rpl网络负载均衡方法及装置 |
CN113515364A (zh) * | 2021-09-14 | 2021-10-19 | 腾讯科技(深圳)有限公司 | 一种数据迁移的方法及装置、计算机设备和存储介质 |
CN113821340A (zh) * | 2021-08-27 | 2021-12-21 | 济南浪潮数据技术有限公司 | 分布式系统的动态均衡方法、系统、终端及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103297331A (zh) * | 2012-03-01 | 2013-09-11 | 华为技术有限公司 | 宽带网络网关使用方法和装置 |
CN103345430A (zh) * | 2013-07-03 | 2013-10-09 | 中国科学院高能物理研究所 | 分布式存储池的模糊平衡方法及系统 |
US20150100681A1 (en) * | 2013-10-03 | 2015-04-09 | International Business Machines Corporation | Temperature sensitive routing of data in a computer system |
CN105323798A (zh) * | 2014-07-24 | 2016-02-10 | 普天信息技术有限公司 | 一种实现负载均衡的方法及基站 |
-
2017
- 2017-02-27 CN CN201710107909.0A patent/CN106973021A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103297331A (zh) * | 2012-03-01 | 2013-09-11 | 华为技术有限公司 | 宽带网络网关使用方法和装置 |
CN103345430A (zh) * | 2013-07-03 | 2013-10-09 | 中国科学院高能物理研究所 | 分布式存储池的模糊平衡方法及系统 |
US20150100681A1 (en) * | 2013-10-03 | 2015-04-09 | International Business Machines Corporation | Temperature sensitive routing of data in a computer system |
CN105323798A (zh) * | 2014-07-24 | 2016-02-10 | 普天信息技术有限公司 | 一种实现负载均衡的方法及基站 |
Non-Patent Citations (1)
Title |
---|
郭方方等: "基于Hash算法的分布式状态检测技术", 《武汉大学学报(理学版)》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110012044A (zh) * | 2018-01-04 | 2019-07-12 | 财团法人工业技术研究院 | 动态工作移转方法及服务器 |
CN110012044B (zh) * | 2018-01-04 | 2022-01-14 | 财团法人工业技术研究院 | 动态工作移转方法及服务器 |
CN110391995A (zh) * | 2018-04-17 | 2019-10-29 | 华为技术有限公司 | 一种rpl网络负载均衡方法及装置 |
CN110224847A (zh) * | 2018-05-02 | 2019-09-10 | 腾讯科技(深圳)有限公司 | 基于社交网络的社团划分方法、装置、存储介质及设备 |
CN110224847B (zh) * | 2018-05-02 | 2021-12-14 | 腾讯科技(深圳)有限公司 | 基于社交网络的社团划分方法、装置、存储介质及设备 |
CN110098920A (zh) * | 2019-05-07 | 2019-08-06 | 山大地纬软件股份有限公司 | 一种减少节点碰撞的区块链节点负载均衡方法及装置 |
CN113821340A (zh) * | 2021-08-27 | 2021-12-21 | 济南浪潮数据技术有限公司 | 分布式系统的动态均衡方法、系统、终端及存储介质 |
CN113515364A (zh) * | 2021-09-14 | 2021-10-19 | 腾讯科技(深圳)有限公司 | 一种数据迁移的方法及装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106973021A (zh) | 网络系统中负载均衡的方法和节点 | |
US10623318B2 (en) | Probabilistic message filtering and grouping | |
CN106209506B (zh) | 一种虚拟化深度包检测流量分析方法及系统 | |
CN110389836A (zh) | 一种多集群管理方法、装置、服务器及存储介质 | |
CN109271391A (zh) | 数据存储方法、服务器、存储介质及装置 | |
CN105975433B (zh) | 一种报文处理方法及装置 | |
CN104298541A (zh) | 云存储系统的数据分布算法及其装置 | |
CN110413845B (zh) | 基于物联网操作系统的资源存储方法及装置 | |
CN107004013A (zh) | 用于使用基于硬件的处理来提供分布式树遍历的系统和方法 | |
CN110737663B (zh) | 一种数据存储方法、装置、设备及存储介质 | |
CN105847336A (zh) | 一种通讯录同步方法及装置 | |
US20110055219A1 (en) | Database management device and method | |
US20210109925A1 (en) | Information management device, information management method, and information management program | |
CN110198267B (zh) | 一种流量调度方法、系统及服务器 | |
CN109150745A (zh) | 一种报文处理方法及装置 | |
CN110099112A (zh) | 基于点对点网络的数据存储方法、装置、介质及终端设备 | |
CN106528844A (zh) | 一种数据请求方法及装置和数据存储系统 | |
CN111294285B (zh) | 一种网络数据的分发方法及负载均衡器 | |
CN108259544A (zh) | Url查询方法和url查询服务器 | |
US8978048B2 (en) | Information processing system, control method, and non-transitory computer readable medium storing program | |
CN107145502A (zh) | 一种海量图片存储和搜索的方法 | |
CN106506647A (zh) | 一种客户端具有数据备份装置的智慧社区云存储系统 | |
CN110417860A (zh) | 文件传输管理方法、装置、设备及存储介质 | |
CN104092735A (zh) | 一种基于二叉树的云计算数据访问方法及系统 | |
CN106202303B (zh) | 一种Chord路由表压缩方法及优化文件查找方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170721 |
|
RJ01 | Rejection of invention patent application after publication |