CN116346581A - 通信方法及装置、通信系统 - Google Patents

通信方法及装置、通信系统 Download PDF

Info

Publication number
CN116346581A
CN116346581A CN202210330790.4A CN202210330790A CN116346581A CN 116346581 A CN116346581 A CN 116346581A CN 202210330790 A CN202210330790 A CN 202210330790A CN 116346581 A CN116346581 A CN 116346581A
Authority
CN
China
Prior art keywords
node
virtual mac
target
mac address
nodes
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
Application number
CN202210330790.4A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to PCT/CN2022/137688 priority Critical patent/WO2023116458A1/zh
Publication of CN116346581A publication Critical patent/CN116346581A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • 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

Abstract

一种通信方法及装置、通信系统,属于通信技术领域。所述方法包括:CP节点基于vBNG系统中的多个UP节点中的目标UP节点满足目标条件,将所述多个UP节点具有的多个虚拟MAC地址中的第一虚拟MAC地址从所述多个UP节点中的第一UP节点转移至所述目标UP节点;其中,所述目标条件与所述目标UP节点的负载相关。本申请解决了UP节点较容易超载和故障的问题,本申请用于vBNG系统。

Description

通信方法及装置、通信系统
本申请要求于2021年12月24日提交的申请号为202111602645.9、发明名称为“一种基于多转发设备负载分担的宽带用户接入方案”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,特别涉及一种通信方法及装置、通信系统。
背景技术
虚拟宽带网络网关(virtual broadband network gateway,vBNG)系统通常包括控制平面(control plane,CP)节点和多个用户平面(user plane,UP)节点,并且为了保证vBNG系统的高可用性,通常该多个UP节点包括多个活动UP节点和一个备份UP节点。也称为N:1温备技术。
其中,活动UP节点具有用于接入用户的虚拟MAC地址,备份UP节点不具有用于接入用户的虚拟MAC地址。在活动UP节点正常工作时,活动UP节点可以采用虚拟MAC地址接入用户,与用户通信,并且此时备份UP节点无法与用户通信。在活动UP节点故障时,CP节点会将该活动UP节点中接入用户的虚拟MAC地址转移至备份UP节点,以使备份UP节点采用该虚拟MAC地址与用户通信,保障用户的通信不中断。
但是,CP节点会将所有需要转移的虚拟MAC地址转移至备份UP节点,当转移至备份UP节点的虚拟MAC地址较多时,备份UP节点较容易超载和故障。
发明内容
本申请提供了一种通信方法及装置、通信系统,可以解决UP节点较容易超载和故障的问题,所述技术方案如下:
第一方面,提供了一种通信方法,所述方法包括:CP节点基于vBNG系统中的多个UP节点中的目标UP节点满足目标条件,将所述多个UP节点具有的多个虚拟MAC地址中的第一虚拟MAC地址从所述多个UP节点中的第一UP节点转移至所述目标UP节点;其中,所述目标条件与所述目标UP节点的负载相关。
在采用N:1温备技术的相关技术中CP节点在转移虚拟MAC地址时,并未考虑与负载相关的目标条件,而是直接将虚拟MAC地址转移至备份UP节点。当CP节点多次将不同的虚拟MAC地址转移至固定的备份UP节点时,较容易导致备份UP节点超载和故障。而本申请中,CP节点在转移虚拟MAC地址时,需要考虑目标UP节点满足与负载相关的目标条件,进而才能将第一虚拟MAC地址转移至目标UP节点。可见,本申请提供了CP节点的另一种虚拟MAC地址转移的方法,丰富了CP节点的功能。并且,本申请中,在CP节点多次执行转移第一虚拟MAC地址的操作时,多次根据目标条件选中的多个目标UP节点可能不同。这样一来,多次转移的多个第一虚拟MAC地址可能会被转移至不同的目标UP节点,从而能够降低将多个第一虚拟MAC地址转移至一个UP节点而导致该UP节点超载和故障的概率。
另外,采用N:1温备技术的相关技术中,CP节点在向备份UP节点转移虚拟MAC地址之前,备份UP节点并不具有用于接入用户的虚拟MAC地址,因此会造成备份UP节点的资源闲置。而本申请中,多个UP节点具有用于接入用户的多个虚拟MAC地址,且本申请中以多个UP节点中的每个UP节点均具有用于接入用户的虚拟MAC地址为例。例如,在将第一虚拟MAC地址从第一UP节点转移至目标节点之前,目标节点可以具有其他虚拟MAC地址,例如第二虚拟MAC地址。这种情况也可以称为N+1温备技术。这种情况下,CP节点在具有虚拟MAC地址的多个UP节点中确定目标UP节点,并将第一虚拟MAC地址转移至目标UP节点。并且,在CP节点将第一虚拟MAC地址转移至目标UP节点之前,由于目标UP节点具有用于接入用户的虚拟MAC地址,因此,目标UP节点也能够与用户通信,避免了目标UP节点的资源闲置,提升了vBNG系统的通信效率。本申请采用N+1温备技术,可以不区分多个UP节点中的活动UP节点和备份UP节点。
需要说明的是,目标UP节点的负载可以与目标UP节点的至少一种参数相关,可以利用这至少一种参数衡量目标UP节点的负载。示例地,该至少一种参数包括目标UP节点上所承载的用户数、用户带宽等。比如,目标UP节点的负载与目标UP节点上所承载的用户数正相关。目标UP节点具有用于接入用户的一个或多个虚拟MAC地址,该虚拟MAC地址可以用于承载用户,目标UP节点承载的用户数可以是目标UP节点上的所有虚拟MAC地址承载的用户数之和。
进一步地,本申请中,CP节点基于目标UP节点满足目标条件,将第一虚拟MAC地址从第一UP节点转移至目标UP节点。此处的第一UP节点、第一虚拟MAC地址和目标UP节点均可以具有多种可实现方式。
(1)对于第一虚拟MAC地址来说,第一虚拟MAC地址可以是第一UP节点上的任一虚拟MAC地址。
可选地,第一虚拟MAC地址可以是CP节点在第一UP节点上随机选择的虚拟MAC地址;
或者,在CP节点将第一虚拟MAC地址转移至目标UP节点之前,第一虚拟MAC地址可以为第一UP节点上能够被目标UP节点的剩余负载容纳的负载最高的虚拟MAC地址。这种情况下,将第一虚拟MAC地址转移至目标UP节点能够大幅度地降低第一UP节点的负载,促进多个UP节点的负载均衡;
或者,在CP节点将第一虚拟MAC地址转移至目标UP节点之前,第一虚拟MAC地址可以为第一UP节点上能够被目标UP节点的剩余负载容纳的负载最低的虚拟MAC地址。这种情况下,将第一虚拟MAC地址转移至目标UP节点能够降低第一UP节点的负载,且目标UP节点的负载不会较高,提升多个UP节点实现负载均衡的概率;
或者,在CP节点将第一虚拟MAC地址转移至目标UP节点之前,第一虚拟MAC地址可以为第一UP节点上接入用户且能够被目标UP节点的剩余负载容纳的负载最低的虚拟MAC地址。这种情况下,将第一虚拟MAC地址转移至目标UP节点能够降低第一UP节点的负载,且目标UP节点的负载不会较高,提升多个UP节点实现负载均衡的概率;并且,由于第一虚拟MAC地址接入用户,因此还可以实现将第一虚拟MAC地址接入的用户转移至目标UP节点。
需要说明的是,虚拟MAC地址的负载可以与虚拟MAC地址的至少一种参数相关,可以利用这至少一种参数衡量虚拟MAC地址的负载。示例地,该至少一种参数包括虚拟MAC地址所承载的用户数、用户带宽等。比如,虚拟MAC地址的负载与虚拟MAC地址所承载的用户数正相关。
(2)对于目标UP节点来说,目标UP节点满足目标条件,该目标条件可以是与负载相关的任一种条件。
(2.1)示例地,目标条件包括:目标UP节点的剩余负载能够容纳第一虚拟MAC地址。这种情况下,在CP节点将第一虚拟MAC地址转移至目标UP节点后,目标UP节点不会超载,从而避免了目标UP节点故障。
(2.2)又示例地,目标条件包括:目标UP节点为多个UP节点中除第一UP节点之外的UP节点中,剩余负载能够容纳第一虚拟MAC地址的负载最低的UP节点。这样一来,将第一虚拟MAC地址转移至目标UP节点不会导致目标UP节点的负载远远超出剩余UP节点,能够促进多个UP节点的负载均衡。
(2.3)再示例地,目标条件包括:目标UP节点的负载小于第一UP节点的负载。在这种情况下,在CP节点将第一虚拟MAC地址转移至目标UP节点后,能够使第一UP节点的负载降低,以及使目标UP节点的负载升高,从而可以使得多个UP节点趋于负载均衡。
(2.4)再示例地,目标条件包括:目标UP节点上虚拟MAC地址的数量小于第一UP节点上虚拟MAC地址的数量。
需要说明的是,在目标条件包括目标UP节点上虚拟MAC地址的数量小于第一UP节点上虚拟MAC地址的数量时,将第一虚拟MAC地址从第一UP节点转移至目标UP节点,能够使第一UP节点上虚拟MAC地址的数量和目标UP节点上虚拟MAC地址的数量趋于均衡。随着时间的推移,用户会不断上线和下线,各个虚拟MAC地址的负载会趋于均衡,此时,若第一UP节点上虚拟MAC地址的数量和目标UP节点上虚拟MAC地址的数量趋于均衡,那么就会使多个UP节点的负载趋于均衡。
(2.5)再示例地,目标条件包括:参考数量与目标UP节点上虚拟MAC地址的数量的第一差值大于m,m≥0;参考数量S=((Z-1)/N)+1,Z表示多个虚拟MAC地址中虚拟MAC地址的数量,N表示多个UP节点中UP节点的数量。
参考数量与多个UP节点上虚拟MAC地址的均值相关,在参考数量与目标UP节点上虚拟MAC地址的数量的第一差值大于m时,说明目标UP节点上的虚拟MAC地址的数量较少,此时需要向目标UP节点上转移虚拟MAC地址,以使多个UP节点上的虚拟MAC地址的数量趋于均衡。随着时间的推移,用户会不断上线和下线,各个虚拟MAC地址的负载会趋于均衡,此时,若多个UP节点上虚拟MAC地址的数量趋于均衡,那么就会使多个UP节点的负载趋于均衡。
(2.6)再示例地,目标条件包括:目标UP节点为多个UP节点中的新增UP节点,新增UP节点可以不具有用于接入用户的虚拟MAC地址。该新增UP节点可以是故障修复后重新加入该多个UP节点的UP节点,也可以是未曾故障也未曾加入该多个UP节点的UP节点。本申请中以目标UP节点为新增UP节点为例,当然,该目标UP节点也可以不是新增UP节点,本申请对此不作限定。
本申请中,上述(2.1)至(2.6)共提供了目标条件中的六种条件,可以理解的是,目标条件可以包括这六种条件中的至少一种条件,本申请对此不作限定。在目标条件包括这六种条件中的至少两种条件时,目标UP节点需要同时满足该至少两种条件,CP节点需要根据该至少两种条件,查找同时满足该至少两种条件的目标UP节点。
(3)对于第一UP节点来说,第一UP节点可以是多个UP节点中的任一UP节点。
可选地,第一UP节点可以是多个UP节点中的故障节点或未故障节点。
一方面,在第一UP节点为故障节点时,CP节点在基于目标UP节点满足目标条件,将第一虚拟MAC地址从第一UP节点转移至目标UP节点时,可以基于目标UP节点满足目标条件且第一UP节点故障,将第一虚拟MAC地址从第一UP节点转移至目标UP节点。可见,在多个UP节点中出现故障节点(第一UP节点),且目标UP节点满足目标条件时,CP可以将第一UP节点上的第一虚拟MAC地址转移至目标UP节点,从而避免由于第一UP节点故障而导致的第一虚拟MAC地址所接入的用户的通信中断。
另一方面,在第一UP节点为未故障节点时,CP节点将第一虚拟MAC地址从第一UP节点上转移至目标UP节点上,能够使得第一虚拟MAC地址承载的用户从第一UP节点上转移至目标UP节点,且可以使用户无感知。
可选地,在第一UP节点为未故障节点时,第一UP节点为多个UP节点中具有能够被目标UP节点的剩余负载容纳的虚拟MAC地址的负载最高的UP节点。这种情况下,将第一虚拟MAC地址从第一UP节点转移至目标UP节点,能够降低第一UP节点的负载,避免第一UP节点超载,促进了多个UP节点的负载均衡。
可以理解的是,在第一UP节点为未故障节点时,第一UP节点还可以有其他实现方式。
比如,在第一UP节点为未故障节点时,第一UP节点也可以是CP节点在多个UP节点中随机选择的UP节点。
又比如,在第一UP节点为未故障节点时,第一UP节点也可以是虚拟MAC地址的数量与参考数量的第二差值大于m的UP节点;其中,m≥0;参考数量S=((Z-1)/N)+1,Z表示多个虚拟MAC地址中虚拟MAC地址的数量,N表示多个UP节点中UP节点的数量。
需要说明的是,参考数量与多个UP节点上虚拟MAC地址的均值相关,在第一UP节点上的虚拟MAC地址的数量与参考数量的第二插值大于m时,说明第一UP节点上的虚拟MAC地址的数量较多,此时需要将第一UP节点上的第一虚拟MAC地址转移至其他UP节点,以使多个UP节点上的虚拟MAC地址的数量趋于均衡。随着时间的推移,用户会不断上线和下线,各个虚拟MAC地址的负载会趋于均衡,此时,若多个UP节点上虚拟MAC地址的数量趋于均衡,那么就会使多个UP节点的负载趋于均衡。
本申请中以在第一UP节点上虚拟MAC地址的数量与参考数量的第二差值大于m,且第一UP节点上具有能够被目标UP节点的剩余负载容纳的至少一个虚拟MAC地址时,目标条件包括:参考数量与目标UP节点上虚拟MAC地址的数量的第一差值大于m为例。这种情况下,CP节点在将第一虚拟MAC地址从多个UP节点中的第一UP节点转移至目标UP节点时,可以将第一UP节点上的至少一个虚拟MAC地址从第一UP节点转移至目标UP节点。其中,第一UP节点上的该至少一个虚拟MAC地址中虚拟MAC地址的数量小于或等于第一差值和第二差值,并且该至少一个虚拟MAC地址包括上述第一虚拟MAC地址。在该至少一个虚拟MAC地址包括多个虚拟MAC地址时,CP节点可以一次性将多个虚拟MAC地址从第一UP节点转移至目标UP节点,且能够提升第一UP节点上虚拟MAC地址的数量和目标UP节点上虚拟MAC地址的数量趋于均衡的效率。
以上描述了本申请中第一UP节点的多种实现方式,第一虚拟MAC地址的多种实现方式,以及目标UP节点的多种实现方式(与目标条件的多种实现方式相关)。可以理解的是,本申请中第一UP节点的任一种实现方式,第一虚拟MAC地址的任一种实现方式,以及目标UP节点的任一种实现方式可以互相组合,所得到的通信方法均属于本申请的保护范围。
以下将以其中三个示例为例,对本申请保护的通信方法进行举例说明。
示例1,CP节点在基于所述目标UP节点满足目标条件且所述第一UP节点故障,将所述第一虚拟MAC地址从所述第一UP节点转移至所述目标UP节点时,可以基于第一UP节点故障,在所述第一UP节点上存在接入用户的虚拟MAC地址时,执行至少一次第一操作,直至所述第一UP节点上不存在接入用户的虚拟MAC地址,或者,直至所述多个UP节点中除所述第一UP节点之外的各个UP节点中不存在剩余负载能够容纳所述第一虚拟MAC地址的UP节点;其中,所述第一操作包括:在所述第一UP节点上接入用户的虚拟MAC地址中筛选负载最高的所述第一虚拟MAC地址;按照UP节点的负载依次增高的顺序,依次判断所述多个UP节点中除所述第一UP节点之外的各个UP节点的剩余负载是否能够容纳所述第一虚拟MAC地址,直至确定所述目标UP节点;将所述第一虚拟MAC地址转移至所述目标UP节点。
在示例1中,第一UP节点可以为故障节点,第一虚拟MAC地址可以为第一UP节点上接入用户且能够被目标UP节点的剩余负载容纳的负载最高的虚拟MAC地址,目标条件可以包括:目标UP节点为多个UP节点中除第一UP节点之外的UP节点中,剩余负载能够容纳第一虚拟MAC地址的负载最低的UP节点。
根据本示例的内容可知,CP节点在第一UP节点上接入用户的虚拟MAC地址中筛选第一虚拟MAC地址,这种情况下,经过多次重复执行第一操作,存在将故障的第一UP节点上接入用户的虚拟MAC地址均转移至其他UP节点的情况。这样一来,便可以将故障的第一UP节点上承载的用户转移至其他UP节点,保证这些用户的通信。
CP节点在第一UP节点上接入用户的虚拟MAC地址中筛选负载最高的第一虚拟MAC地址,则CP节点将第一虚拟MAC地址转移至目标UP节点能够大幅度地降低第一UP节点的负载,以及保证第一UP节点承载的较多用户(该第一虚拟MAC地址承载的用户)的通信不中断。若CP节点多次重复执行第一操作,则可以实现CP节点按照虚拟MAC地址的负载从高到低的顺序转移第一UP节点上接入用户的虚拟MAC地址,保证第一UP节点承载的较多用户的通信不中断。
CP节点选择的目标UP节点的剩余负载能够容纳第一虚拟MAC地址。这种情况下,在CP节点将第一虚拟MAC地址转移至目标UP节点后,目标UP节点不会超载,从而避免了目标UP节点故障。并且,CP节点按照UP节点的负载依次增高的顺序,依次判断多个UP节点中除第一UP节点之外的各个UP节点的剩余负载是否能够容纳第一虚拟MAC地址,直至确定目标UP节点。这样一来,CP节点选择的目标UP节点为多个UP节点中除第一UP节点之外的各个UP节点中,剩余负载能够容纳第一虚拟MAC地址的负载最低的UP节点,将第一虚拟MAC地址转移至目标UP节点不会导致目标UP节点的负载远远超出其他UP节点,能够促进多个UP节点的负载均衡。
示例2,CP节点在基于所述多个UP节点中的目标UP节点满足目标条件,将所述多个虚拟MAC地址中的第一虚拟MAC地址从所述多个UP节点中的第一UP节点转移至所述目标UP节点时,可以在所述目标UP节点并非所述多个UP节点中负载最高的UP节点时,执行至少一次第二操作,直至所述目标UP节点为所述多个UP节点中负载最高的UP节点,或者,直至所述多个UP节点中负载最高的UP节点上不存在能够被所述目标UP节点的剩余负载容纳的虚拟MAC地址;所述第二操作包括:在所述多个UP节点中筛选负载最高的所述第一UP节点;将所述第一UP节点上的至少一个虚拟MAC地址转移至所述目标UP节点,以更新所述多个UP节点的负载;所述至少一个虚拟MAC地址包括所述第一虚拟MAC地址。
在示例2中,第一UP节点可以为多个UP节点中除目标UP节点之外的UP节点中,具有能够被目标UP节点的剩余负载容纳的虚拟MAC地址的负载最高的UP节点;第一虚拟MAC地址可以为第一UP节点上能够被目标UP节点的剩余负载容纳的负载最高的虚拟MAC地址;目标条件可以包括:目标UP节点为新增UP节点。
根据本示例的内容可知,CP节点在多个UP节点中筛选负载最高的第一UP节点,则CP节点将第一虚拟MAC地址转移至目标UP节点能够大幅度地降低第一UP节点的负载,避免第一UP节点由于负载过高而故障,保证第一UP节点承载的较多用户(该第一虚拟MAC地址承载的用户)的通信不中断。经过多次重复执行第二操作,可以实现CP节点将多个UP节点中负载较高的UP节点的至少部分虚拟MAC地址转移至目标UP节点,促进多个UP节点的负载均衡。
CP节点按照虚拟MAC地址的负载依次降低的顺序,依次判断第一UP节点的各个虚拟MAC地址是否能够被目标UP节点的剩余负载容纳,直至确定第一虚拟MAC地址。这样一来,CP节点选择的第一虚拟MAC地址为第一UP节点上能够被目标UP节点的剩余负载容纳的虚拟MAC地址中,负载最高的虚拟MAC地址。将第一虚拟MAC地址转移至目标UP节点,能够提升多个UP节点的负载均衡的效率。
另外,当CP节点选择的第一虚拟MAC地址为:第一UP节点上能够被目标UP节点的剩余负载容纳的负载最低的虚拟MAC地址时,上CP节点可以按照虚拟MAC地址的负载依次增高的顺序,依次判断第一UP节点的各个虚拟MAC地址是否能够被目标UP节点的剩余负载容纳,直至确定第一虚拟MAC地址。
示例3,CP节点在基于所述多个UP节点中的目标UP节点满足目标条件,将所述第一UP节点上的至少一个虚拟MAC地址从所述第一UP节点转移至所述目标UP节点时,在所述第一差值大于m时,依次对所述多个UP节点中除所述目标UP节点之外的各个UP节点执行第三操作,直至所述第一差值小于或等于m;其中,所述第三操作包括:将所述第一UP节点上的至少一个虚拟MAC地址转移至所述目标UP节点,以更新各个UP节点上虚拟MAC地址的数量。
在示例3中,第一UP节点上虚拟MAC地址的数量可以与参考数量的第二差值大于m,且第一UP节点上具有能够被目标UP节点的剩余负载容纳的至少一个虚拟MAC地址;第一虚拟MAC地址可以为第一UP节点上能够被目标UP节点的剩余负载容纳的负载最低的虚拟MAC地址;目标条件可以包括:目标UP节点为新增UP节点,且参考数量与目标UP节点上虚拟MAC地址的数量的第一差值大于m。
根据示例3的内容可知,CP节点确定出的第一UP节点上虚拟MAC地址的数量与参考数量的第二差值大于m,而参考数量与目标UP节点上虚拟MAC地址的数量的第一差值大于m,可见,第一UP节点上虚拟MAC地址的数量大于参考数量,且参考数量大于目标UP节点上虚拟MAC地址的数量。这样一来,将第一UP节点上的至少一个虚拟MAC地址转移到目标UP节点上,就能够使得第一UP节点和目标UP节点上虚拟MAC地址的数量趋于均衡,多个UP节点上虚拟MAC地址的数量趋于均衡。随着时间的推移,用户会不断上线和下线,各个虚拟MAC地址的负载会趋于均衡,此时,若第一UP节点上虚拟MAC地址的数量和目标UP节点上虚拟MAC地址的数量趋于均衡,那么就会使多个UP节点的负载趋于均衡。
CP节点选择的至少一个虚拟MAC地址为:第一UP节点上能够被目标UP节点的剩余负载容纳的负载较低的至少一个虚拟MAC地址。这种情况下,在CP节点将该至少一个虚拟MAC地址转移至目标UP节点后,目标UP节点不会超载,从而避免了目标UP节点故障。并且,将该至少一个虚拟MAC地址转移至目标UP节点,也不会导致目标UP节点的负载过高,从而能够提升多个UP节点的负载均衡的效率。
上述内容中,CP节点基于目标UP节点为多个UP节点中的新增UP节点,且参考数量与目标UP节点上虚拟MAC地址的数量的第一差值大于m,依次对多个UP节点中除目标UP节点之外的各个UP节点执行第三操作,直至第一差值小于或等于m。这样就实现了CP节点基于多个UP节点中的目标UP节点满足目标条件,将多个虚拟MAC地址中的第一虚拟MAC地址从多个UP节点中的第一UP节点转移至目标UP节点。
进一步地,假设第一UP节点为未故障节点,且第一UP节点上虚拟MAC地址的数量与参考数量的第二差值大于m,且第一UP节点上具有能够被目标UP节点的剩余负载容纳的至少一个虚拟MAC地址;目标条件包括:参考数量与目标UP节点上虚拟MAC地址的数量的第一差值大于m;CP节点基于目标UP节点满足目标条件,将第一UP节点上的至少一个虚拟MAC地址转移至目标UP节点。其中,第一UP节点上的该至少一个虚拟MAC地址中虚拟MAC地址的数量小于或等于第一差值和第二差值,第一UP节点上的该至少一个虚拟MAC地址包括第一虚拟MAC地址。那么,在CP节点基于多个UP节点中的目标UP节点满足目标条件,将多个虚拟MAC地址中的第一虚拟MAC地址从多个UP节点中的第一UP节点转移至目标UP节点之后,CP节点还可以基于目标UP节点满足辅助条件,将多个UP节点中第二UP节点上的至少一个虚拟MAC地址转移至目标UP节点。其中,该辅助条件包括:参考数量与目标UP节点的虚拟MAC地址的数量的第三差值大于n,第二UP节点上虚拟MAC地址的数量与参考数量的第四差值大于或等于n,且第二UP节点上的该至少一个虚拟MAC地址能够被目标UP节点的剩余负载容纳;其中,n>m,第二UP节点上的至少一个虚拟MAC地址中虚拟MAC地址的数量小于或等于第三差值和第四差值。
示例地,CP节点在基于目标UP节点满足辅助条件,将多个UP节点中第二UP节点上的至少一个虚拟MAC地址转移至目标UP节点时,可以基于目标UP节点为多个UP节点中的新增UP节点,且第三差值大于n,依次对多个UP节点中除目标UP节点之外的各个UP节点执行第四操作,直至第三差值小于或等于n。第四操作包括:将所述第二UP节点上的至少一个虚拟MAC地址转移至所述目标UP节点,以更新各个UP节点上虚拟MAC地址的数量。
根据上述内容可知,CP节点确定出的第二UP节点上虚拟MAC地址的数量与参考数量的第四差值大于n,而参考数量与目标UP节点上虚拟MAC地址的数量的第三差值大于n,可见,第二UP节点上虚拟MAC地址的数量大于参考数量,且参考数量大于目标UP节点上虚拟MAC地址的数量。这样一来,将第二UP节点上的至少一个虚拟MAC地址转移到目标UP节点上,就能够使得第二UP节点和目标UP节点上虚拟MAC地址的数量趋于均衡,多个UP节点上虚拟MAC地址的数量趋于均衡。随着时间的推移,用户会不断上线和下线,各个虚拟MAC地址的负载会趋于均衡,此时,若第二UP节点上虚拟MAC地址的数量和目标UP节点上虚拟MAC地址的数量趋于均衡,那么就会使多个UP节点的负载趋于均衡。
CP节点选择的至少一个虚拟MAC地址可以为:第二UP节点上能够被目标UP节点的剩余负载容纳的负载较低的至少一个虚拟MAC地址。这种情况下,在CP节点将该至少一个虚拟MAC地址转移至目标UP节点后,目标UP节点不会超载,从而避免了目标UP节点故障。并且,将该至少一个虚拟MAC地址转移至目标UP节点,也不会导致目标UP节点的负载过高,从而能够提升多个UP节点的负载均衡的效率。
本示例中,参考数量可以看做是UP节点上虚拟MAC地址的基准数量。在参考数量与目标UP节点上虚拟MAC地址的数量的第一差值大于m时,CP节点可以确定目标UP节点上虚拟MAC地址的数量与其他UP节点上虚拟MAC地址的数量存在一定的差异。此时CP节点需要向该目标UP节点转入虚拟MAC地址,促进各个UP节点的虚拟MAC地址的数量的均衡。并且,还可以使参考数量与目标UP节点上虚拟MAC地址的数量的第一差值减小。在CP节点基于第一差值大于m,向目标UP节点转移虚拟MAC地址之后,若参考数量与目标UP节点的虚拟MAC地址的数量的第三差值大于n(n>m),则CP节点可以确定目标UP节点上虚拟MAC地址的数量与其他UP节点上虚拟MAC地址的数量差异较大。此时CP节点需要继续向该目标UP节点转入虚拟MAC地址,以进一步促进各个UP节点的虚拟MAC地址的数量的均衡。并且,还可以使参考数量与目标UP节点上虚拟MAC地址的数量的第三差值尽量小于或等于n,尽量避免目标UP节点上虚拟MAC地址的数量与其他UP节点上虚拟MAC地址的数量差异较大的情况,促进多个UP节点的负载均衡。
另外,若在CP节点基于第一差值大于m,向目标UP节点转移虚拟MAC地址之后,参考数量与目标UP节点的虚拟MAC地址的数量的第三差值小于或等于n,则CP节点可以确定目标UP节点上虚拟MAC地址的数量与其他UP节点上虚拟MAC地址的数量并不是差异较大,各个UP节点的虚拟MAC地址的数量较为均衡。所以,CP节点无需继续向该目标UP节点转入虚拟MAC地址。
可以理解的是,在CP节点基于多个UP节点中的目标UP节点满足目标条件,将多个虚拟MAC地址中的第一虚拟MAC地址从多个UP节点中的第一UP节点转移至目标UP节点之后,CP节点也可以不基于目标UP节点满足辅助条件,将多个UP节点中第二UP节点上的至少一个虚拟MAC地址转移至目标UP节点。
第二方面,本申请还提供了一种通信方法,所述方法包括:vBNG系统中的CP节点在第一时刻,根据vBNG系统中具有用于接入用户的多个虚拟MAC地址的多个UP节点中每个UP节点与所述CP节点之间链路的质量,向所述多个UP节点中的第一UP节点发送所述第一UP节点响应用户请求的第一优先级;在第二时刻,CP节点根据所述多个UP节点中每个UP节点与所述CP节点之间链路的质量,向所述多个UP节点中与所述第一UP节点不同的第二UP节点发送所述第二UP节点响应用户请求的第二优先级。
CP节点可以执行多次优先级分配操作,其中,上述第一时刻执行的操作为一次优先级分配操作,第二时刻执行的操作为另一次优先级分配操作。本申请中CP节点在执行每次优先级操作时,可以根据多个UP节点中每个UP节点与CP节点之间链路的质量,向UP节点(如第一UP节点或第二UP节点)发送UP节点响应用户请求的优先级。在多个UP节点中具有更高优先级的UP节点优先响应用户的接入请求。可见,在本申请中,UP节点响应用户请求的优先级与UP节点与CP节点之间链路的质量相关。这样一来,CP节点便可以结合每个UP节点与CP节点之间链路的质量,确定UP节点响应用户请求的优先级,以使UP节点响应用户请求的优先级更加合理。
可选地,多个UP节点中的至少一个UP节点与CP节点之间链路的质量,在第二时刻相对第一时刻发生变化。可见,在CP节点在执行不同的优先级分配操作时,若多个UP节点中至少一个UP节点与CP节点之间链路的质量发生变化,则不同的优先级分配操作中接收到响应用户请求的优先级的至少一个UP节点发生变化(如由第一UP节点变为第二UP节点)。
可选地,CP节点每次执行的优先级分配操作中,对于接收到响应用户请求的优先级的UP节点,该UP节点与CP节点之间链路的质量高于或等于质量阈值。或者,CP节点一些次执行的优先级分配操作中,对于接收到响应用户请求的优先级的UP节点,该UP节点与CP节点之间链路的质量高于或等于质量阈值;但CP节点另一些次执行的优先级分配操作中,对于接收到响应用户请求的优先级的UP节点,该UP节点与CP节点之间链路的质量也可以小于质量阈值。比如,第一UP节点与CP节点之间链路的质量高于或等于第一质量;以及,第二UP节点与CP节点之间链路的质量高于或等于第二质量。该第一质量为第一时刻的质量阈值,第二质量为第二时刻的质量阈值。又比如,第一时刻的第一UP节点与CP节点之间链路的质量高于或等于第一质量;或者,第二时刻的第二UP节点与CP节点之间链路的质量高于或等于第二质量。
在CP节点执行的优先级分配操作中,若接收到响应用户请求的优先级的UP节点与CP节点之间链路的质量高于或等于质量阈值,则能够避免向与CP节点之间链路的质量低于质量阈值的UP节点发送响应用户请求的优先级,避免该UP节点响应用户请求,保证用户通信的可靠性。当然,本申请也可以是在每次优先级分配操作中,每个UP节点都会接收到CP节点发送的响应用户请求的优先级,本申请对此不作限定。
进一步地,对于不同次的优先级分配操作,质量阈值可以相同也可以不同。比如第一时刻的质量阈值(第一质量)与第一时刻的质量阈值(第二质量)可以相同也可以不同。
可选地,当CP节点在不同次的优先级分配操作中,第一UP节点接收到的响应用户请求的第一优先级与第二UP节点接收到的响应用户请求的第二优先级可以相同也可以不同。比如,第一优先级高于第二优先级;或者,第二优先级高于第一优先级。
可选地,UP节点响应用户请求的优先级可以与UP节点与CP节点之间链路的质量正相关。比如,CP节点向至少两个UP节点发送响应用户请求的优先级,并且,对于该至少两个UP节点,与CP节点之间链路的质量较高的UP节点具有较高的响应用户请求的优先级,与CP节点之间链路的质量较低的UP节点具有较低的响应用户请求的优先级。又比如,在不同优先级分配操作过程中接收到响应用户请求的优先级的两个UP节点,与CP节点之间链路的质量较高的UP节点具有较高的响应用户请求的优先级,与CP节点之间链路的质量较低的UP节点具有较低的响应用户请求的优先级。示例地,在上述第二优先级高于第一优先级时,第二UP节点与CP节点之间链路的质量,高于第一UP节点与CP节点之间链路的质量。
在UP节点响应用户请求的优先级与UP节点与CP节点之间链路的质量正相关时,CP节点便可以设置与CP节点之间链路的质量最高的UP节点的响应用户请求的优先级最高,从而使得用户可以接入该UP节点,保证UP节点响应用户请求的高效率,提升用户体验。
第三方面,提供了一种宽带网络接入方法,应用于CU分离的宽带网络接入(broadband networkgateway control plane,BNG)系统,CU分离的宽带网络接入(BNG)系统是指:包括CP节点(简称CP)和UP节点(简称UP)的BNG系统。CU分离的BNG系统也可以称vBNG系统。所述BNG系统包括第一UP和第二UP,所述方法包括:第一UP将第一用户接入网络;第二UP将第二用户接入网络;基于第一UP发生故障,第二UP将第一用户接入网络。可见,第一UP和第二UP均可以将用户接入网络,且在第一UP故障时,原本由第一UP接入网络的第一用户可以由第二UP接入网络。并且,在第一UP故障之前,第二UP还可以将第二用户接入网络,即第一UP和第二UP之间实现N+1温备份技术,从而避免了第二UP的资源闲置。
第四方面,提供了一种宽带网络接入方法,应用于CU分离的BNG系统,所述BNG系统包括第一UP、第二UP和第三UP,所述方法包括:所述第一UP将第一用户和第二用户接入网络;所述第二UP将第三用户接入网络;所述第三UP将第四用户接入网络;基于所述第一UP发生故障,所述第二UP将所述第一用户接入网络,所述第三UP将所述第二用户接入网络。可见,第一UP、第二UP和第三UP均可以将用户接入网络,且在第一UP故障时,原本由第一UP接入网络的第一用户和第二用户可以由第二UP和第三UP接入网络。其中,第一用户由第三UP接入网络,第二用户由第四UP接入网络,这样一来,第二UP和第三UP可以实现负载均衡,避免将第一用户和第二用户均接入第二UP或第三UP,而导致第二UP或第三UP超载和故障。并且,在第一UP故障之前,第二UP还可以将第三用户接入网络,第三UP还可以将第四用户接入网络,即第一UP、第二UP和第三UP之间实现N+1温备份技术,从而避免了第二UP和第三UP的资源闲置。
第五方面,提供了一种通信装置,所述通信装置属于vBNG系统中的CP节点,所述vBNG系统还包括:多个用户平面UP节点,所述多个UP节点具有用于接入用户的多个虚拟MAC地址,所述通信装置包括:第一转移模块,用于基于所述多个UP节点中的目标UP节点满足目标条件,将所述多个虚拟MAC地址中的第一虚拟MAC地址从所述多个UP节点中的第一UP节点转移至所述目标UP节点;其中,所述目标条件与所述目标UP节点的负载相关。
需要说明的是,目标UP节点的负载可以与目标UP节点的至少一种参数相关,可以利用这至少一种参数衡量目标UP节点的负载。示例地,该至少一种参数包括目标UP节点上所承载的用户数、用户带宽等。比如,目标UP节点的负载与目标UP节点上所承载的用户数正相关。目标UP节点具有用于接入用户的一个或多个虚拟MAC地址,该虚拟MAC地址可以用于承载用户,目标UP节点承载的用户数可以是目标UP节点上的所有虚拟MAC地址承载的用户数之和。
进一步地,本申请实施例中,CP节点基于目标UP节点满足目标条件,将第一虚拟MAC地址从第一UP节点转移至目标UP节点。此处的第一UP节点、第一虚拟MAC地址和目标UP节点均可以具有多种可实现方式。
(1)对于第一虚拟MAC地址来说,第一虚拟MAC地址可以是第一UP节点上的任一虚拟MAC地址。
可选地,第一虚拟MAC地址可以是第一转移模块在第一UP节点上随机选择的虚拟MAC地址;
或者,在第一转移模块将第一虚拟MAC地址转移至目标UP节点之前,第一虚拟MAC地址可以为第一UP节点上能够被目标UP节点的剩余负载容纳的负载最高的虚拟MAC地址。
或者,在第一转移模块将第一虚拟MAC地址转移至目标UP节点之前,第一虚拟MAC地址可以为第一UP节点上能够被目标UP节点的剩余负载容纳的负载最低的虚拟MAC地址。
或者,在第一转移模块将第一虚拟MAC地址转移至目标UP节点之前,第一虚拟MAC地址可以为第一UP节点上接入用户且能够被目标UP节点的剩余负载容纳的负载最低的虚拟MAC地址。
需要说明的是,虚拟MAC地址的负载可以与虚拟MAC地址的至少一种参数相关,可以利用这至少一种参数衡量虚拟MAC地址的负载。示例地,该至少一种参数包括虚拟MAC地址所承载的用户数、用户带宽等。比如,虚拟MAC地址的负载与虚拟MAC地址所承载的用户数正相关。
(2)对于目标UP节点来说,目标UP节点满足目标条件,该目标条件可以是与负载相关的任一种条件。
(2.1)示例地,目标条件包括:目标UP节点的剩余负载能够容纳第一虚拟MAC地址。
(2.2)又示例地,目标条件包括:目标UP节点为多个UP节点中除第一UP节点之外的UP节点中,剩余负载能够容纳第一虚拟MAC地址的负载最低的UP节点。
(2.3)再示例地,目标条件包括:目标UP节点的负载小于第一UP节点的负载。
(2.4)再示例地,目标条件包括:目标UP节点上虚拟MAC地址的数量小于第一UP节点上虚拟MAC地址的数量。
(2.5)再示例地,目标条件包括:参考数量与目标UP节点上虚拟MAC地址的数量的第一差值大于m,m≥0;参考数量S=((Z-1)/N)+1,Z表示多个虚拟MAC地址中虚拟MAC地址的数量,N表示多个UP节点中UP节点的数量。
(2.6)再示例地,目标条件包括:目标UP节点为多个UP节点中的新增UP节点。
本申请中,上述(2.1)至(2.6)共提供了目标条件中的六种条件,可以理解的是,目标条件可以包括这六种条件中的至少一种条件,本申请对此不作限定。在目标条件包括这六种条件中的至少两种条件时,目标UP节点需要同时满足该至少两种条件,第一转移模块需要根据该至少两种条件,查找同时满足该至少两种条件的目标UP节点。
(3)对于第一UP节点来说,第一UP节点可以是多个UP节点中的任一UP节点。
可选地,第一UP节点可以是多个UP节点中的故障节点或未故障节点。
一方面,在第一UP节点为故障节点时,第一转移模块在基于目标UP节点满足目标条件,将第一虚拟MAC地址从第一UP节点转移至目标UP节点时,可以基于目标UP节点满足目标条件且第一UP节点故障,将第一虚拟MAC地址从第一UP节点转移至目标UP节点。
另一方面,在第一UP节点为未故障节点时,第一转移模块将第一虚拟MAC地址从第一UP节点上转移至目标UP节点上,能够使得第一虚拟MAC地址承载的用户从第一UP节点上转移至目标UP节点,且可以使用户无感知。
可选地,在第一UP节点为未故障节点时,第一UP节点为多个UP节点中具有能够被目标UP节点的剩余负载容纳的虚拟MAC地址的负载最高的UP节点。
可以理解的是,在第一UP节点为未故障节点时,第一UP节点还可以有其他实现方式。
比如,在第一UP节点为未故障节点时,第一UP节点也可以是第一转移模块在多个UP节点中随机选择的UP节点。
又比如,在第一UP节点为未故障节点时,第一UP节点也可以是虚拟MAC地址的数量与参考数量的第二差值大于m的UP节点;其中,m≥0;参考数量S=((Z-1)/N)+1,Z表示多个虚拟MAC地址中虚拟MAC地址的数量,N表示多个UP节点中UP节点的数量。
本申请中以在第一UP节点上虚拟MAC地址的数量与参考数量的第二差值大于m,且第一UP节点上具有能够被目标UP节点的剩余负载容纳的至少一个虚拟MAC地址时,目标条件包括:参考数量与目标UP节点上虚拟MAC地址的数量的第一差值大于m为例。这种情况下,第一转移模块在将第一虚拟MAC地址从多个UP节点中的第一UP节点转移至目标UP节点时,可以将第一UP节点上的至少一个虚拟MAC地址从第一UP节点转移至目标UP节点。其中,第一UP节点上的该至少一个虚拟MAC地址中虚拟MAC地址的数量小于或等于第一差值和第二差值,并且该至少一个虚拟MAC地址包括上述第一虚拟MAC地址。在该至少一个虚拟MAC地址包括多个虚拟MAC地址时,第一转移模块可以一次性将多个虚拟MAC地址从第一UP节点转移至目标UP节点,且能够提升第一UP节点上虚拟MAC地址的数量和目标UP节点上虚拟MAC地址的数量趋于均衡的效率。
以上描述了本申请中第一UP节点的多种实现方式,第一虚拟MAC地址的多种实现方式,以及目标UP节点的多种实现方式(与目标条件的多种实现方式相关)。可以理解的是,本申请中第一UP节点的任一种实现方式,第一虚拟MAC地址的任一种实现方式,以及目标UP节点的任一种实现方式可以互相组合,所得到的通信装置均属于本申请的保护范围。
以下将以其中三个示例为例,对本申请保护的通信装置进行举例说明。
示例1,第一转移模块在基于所述目标UP节点满足目标条件且所述第一UP节点故障,将所述第一虚拟MAC地址从所述第一UP节点转移至所述目标UP节点时,可以基于第一UP节点故障,在所述第一UP节点上存在接入用户的虚拟MAC地址时,执行至少一次第一操作,直至所述第一UP节点上不存在接入用户的虚拟MAC地址,或者,直至所述多个UP节点中除所述第一UP节点之外的各个UP节点中不存在剩余负载能够容纳所述第一虚拟MAC地址的UP节点;其中,所述第一操作包括:在所述第一UP节点上接入用户的虚拟MAC地址中筛选负载最高的所述第一虚拟MAC地址;按照UP节点的负载依次增高的顺序,依次判断所述多个UP节点中除所述第一UP节点之外的各个UP节点的剩余负载是否能够容纳所述第一虚拟MAC地址,直至确定所述目标UP节点;将所述第一虚拟MAC地址转移至所述目标UP节点。
在示例1中,第一UP节点可以为故障节点,第一虚拟MAC地址可以为第一UP节点上接入用户且能够被目标UP节点的剩余负载容纳的负载最高的虚拟MAC地址,目标条件可以包括:目标UP节点为多个UP节点中除第一UP节点之外的UP节点中,剩余负载能够容纳第一虚拟MAC地址的负载最低的UP节点。
示例2,第一转移模块在基于所述多个UP节点中的目标UP节点满足目标条件,将所述多个虚拟MAC地址中的第一虚拟MAC地址从所述多个UP节点中的第一UP节点转移至所述目标UP节点时,可以在所述目标UP节点并非所述多个UP节点中负载最高的UP节点时,执行至少一次第二操作,直至所述目标UP节点为所述多个UP节点中负载最高的UP节点,或者,直至所述多个UP节点中负载最高的UP节点上不存在能够被所述目标UP节点的剩余负载容纳的虚拟MAC地址;所述第二操作包括:在所述多个UP节点中筛选负载最高的所述第一UP节点;将所述第一UP节点上的至少一个虚拟MAC地址转移至所述目标UP节点,以更新所述多个UP节点的负载;所述至少一个虚拟MAC地址包括所述第一虚拟MAC地址。
在示例2中,第一UP节点可以为多个UP节点中除目标UP节点之外的UP节点中,具有能够被目标UP节点的剩余负载容纳的虚拟MAC地址的负载最高的UP节点;第一虚拟MAC地址可以为第一UP节点上能够被目标UP节点的剩余负载容纳的负载最高的虚拟MAC地址;目标条件可以包括:目标UP节点为新增UP节点。
示例3,第一转移模块在基于所述多个UP节点中的目标UP节点满足目标条件,将所述第一UP节点上的至少一个虚拟MAC地址从所述第一UP节点转移至所述目标UP节点时,在所述第一差值大于m时,依次对所述多个UP节点中除所述目标UP节点之外的各个UP节点执行第三操作,直至所述第一差值小于或等于m;其中,所述第三操作包括:将所述第一UP节点上的至少一个虚拟MAC地址转移至所述目标UP节点,以更新各个UP节点上虚拟MAC地址的数量。
在示例3中,第一UP节点上虚拟MAC地址的数量可以与参考数量的第二差值大于m,且第一UP节点上具有能够被目标UP节点的剩余负载容纳的至少一个虚拟MAC地址;第一虚拟MAC地址可以为第一UP节点上能够被目标UP节点的剩余负载容纳的负载最低的虚拟MAC地址;目标条件可以包括:目标UP节点为新增UP节点,且参考数量与目标UP节点上虚拟MAC地址的数量的第一差值大于m。
进一步地,假设第一UP节点为未故障节点,且第一UP节点上虚拟MAC地址的数量与参考数量的第二差值大于m;目标条件包括:参考数量与目标UP节点上虚拟MAC地址的数量的第一差值大于m,且所述目标UP节点的剩余负载能够容纳所述第一UP节点上的至少一个虚拟MAC地址;第一转移模块基于目标UP节点满足目标条件,将第一UP节点上的至少一个虚拟MAC地址转移至目标UP节点。其中,第一UP节点上的该至少一个虚拟MAC地址中虚拟MAC地址的数量小于或等于第一差值和第二差值,第一UP节点上的该至少一个虚拟MAC地址包括第一虚拟MAC地址。那么,所述通信装置还包括:第二转移模块。
该第二转移模块用于:在第一转移模块基于多个UP节点中的目标UP节点满足目标条件,将多个虚拟MAC地址中的第一虚拟MAC地址从多个UP节点中的第一UP节点转移至目标UP节点之后,基于目标UP节点满足辅助条件,将多个UP节点中第二UP节点上的至少一个虚拟MAC地址转移至目标UP节点。其中,该辅助条件包括:参考数量与目标UP节点的虚拟MAC地址的数量的第三差值大于n;其中,第二UP节点上虚拟MAC地址的数量与参考数量的第四差值大于或等于n;所述第二UP节点上的至少一个虚拟MAC地址能够被目标UP节点的剩余负载容纳;n>m,第二UP节点上的至少一个虚拟MAC地址中虚拟MAC地址的数量小于或等于第三差值和第四差值。
示例地,第二转移模块用于基于目标UP节点为多个UP节点中的新增UP节点,且第三差值大于n,依次对多个UP节点中除目标UP节点之外的各个UP节点执行第四操作,直至第三差值小于或等于n。第四操作包括:将所述第二UP节点上的至少一个虚拟MAC地址转移至所述目标UP节点,以更新各个UP节点上虚拟MAC地址的数量。
第六方面,提供了一种通信装置,所述通信装置属于vBNG系统中的CP节点,所述vBNG系统还包括:多个用户面UP节点,所述多个UP节点具有用于接入用户的多个虚拟MAC地址,所述通信装置包括:第一发送模块和第二发送模块。其中,第一发送模块,用于在第一时刻,根据所述多个UP节点中每个UP节点与所述CP节点之间链路的质量,向所述多个UP节点中的第一UP节点发送所述第一UP节点响应用户请求的第一优先级;第二发送模块,用于在第二时刻,根据所述多个UP节点中每个UP节点与所述CP节点之间链路的质量,向所述多个UP节点中的第二UP节点发送所述第二UP节点响应用户请求的第二优先级,所述第二UP节点与所述第一UP节点不同。
CP节点可以执行多次优先级分配操作,其中,上述第一时刻执行的操作为一次优先级分配操作,第二时刻执行的操作为另一次优先级分配操作。本申请中CP节点在执行每次优先级操作时,可以根据多个UP节点中每个UP节点与CP节点之间链路的质量,向UP节点(如第一UP节点或第二UP节点)发送UP节点响应用户请求的优先级。可见,在本申请中,UP节点响应用户请求的优先级与UP节点与CP节点之间链路的质量相关。这样一来,CP节点便可以结合每个UP节点与CP节点之间链路的质量,确定UP节点响应用户请求的优先级,以使UP节点响应用户请求的优先级更加合理。
可选地,多个UP节点中的至少一个UP节点与CP节点之间链路的质量,在第二时刻相对第一时刻发生变化。
可选地,第一时刻的第一UP节点与CP节点之间链路的质量高于或等于第一质量;或者,第二时刻的第二UP节点与CP节点之间链路的质量高于或等于第二质量。
可选地,第一优先级高于第二优先级;或者,第二优先级高于第一优先级。
可选地,在上述第二优先级高于第一优先级时,第二UP节点与CP节点之间链路的质量,高于第一UP节点与CP节点之间链路的质量。
第七方面,提供了一种宽带网络接入装置,属于CU分离的BNG系统中的UP,该宽带网络接入装置包括:用于执行上述第三方面或第四方面中任一UP用于执行的方法的各个模块。
第八方面,提供了一种通信设备,所述通信设备包括:处理器和存储器,所述存储器中存储有程序;所述处理器用于调用所述存储器中存储的程序,以使得所述通信设备执行如上述第一方面或第二方面中任一设计所述的通信方法,或者,以使得所述通信设备执行如上述第三方面或第四方面中任一UP用于执行的方法。
第九方面,提供了一种通信系统,所述通信系统为vBNG系统,所述vBNG系统包括:CP节点和多个UP节点,所述多个UP节点具有用于接入用户的多个虚拟MAC地址;
所述CP节点用于执行上述第一方面或第二方面提供的任一种方法;和/或,所述UP节点用于执行上述第三方面或第四方面提供的任一种方法中由UP节点执行的方法。
第十方面,提供了一种计算机存储介质,所述存储介质内存储有计算机程序;所述计算机程序在计算机上运行时,使得计算机执行如第一方面或第二方面所述的通信方法,或者,使得计算机执行如第三方面或第四方面中由任一UP执行的方法。
第十一方面,提供了一种计算机程序产品,当所述计算机程序产品在通信设备上运行时,使得通信设备执行如第一方面或第二方面所述的通信方法,或者,使得通信设备执行如第三方面或第四方面中由任一UP执行的方法。
第十二方面,提供了一种芯片,所述芯片包括可编程逻辑电路和/或程序指令,当所述芯片运行时用于实现如第一方面或第二方面所述的通信方法,或者,如第三方面或第四方面中由任一UP执行的方法。
上述第五方面至第十二方面的有益效果可以参考上述第一方面至第四方面中的相应描述,本申请在此不做赘述。
附图说明
图1为本申请实施例提供的一种通信设备的结构示意图;
图2为本申请实施例提供的一种vBNG系统的示意图;
图3为本申请实施例提供的另一种vBNG系统的示意图;
图4为本申请实施例提供的另一种vBNG系统的示意图;
图5为本申请实施例提供的通信方法中一种第一操作的流程图;
图6为本申请实施例提供的通信方法的一种流程图;
图7为本申请实施例提供的通信方法中一种第二操作的流程图;
图8为本申请实施例提供的通信方法的另一种流程图;
图9为本申请实施例提供的通信方法中一种第三操作的流程图;
图10为本申请实施例提供的通信方法中一种第四操作的流程图;
图11为本申请实施例提供的通信方法的另一种流程图;
图12为本申请实施例提供的一种通信方法的流程图;
图13为本申请实施例提供的一种通信装置的框图;
图14为本申请实施例提供的另一种通信装置的框图。
具体实施方式
为使本申请的原理和技术方案更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请实施例提供了一种通信系统。该通信系统包括多个节点。节点可以是通信设备,也可以是通信设备的一部分(如接口板(slot)、接口板上的端口等)。
通信设备可以是服务器、服务器集群、网关、路由器等。示例地,通信设备可以包括:处理器;处理器用于与存储器耦合,并读取存储器中的指令之后,根据指令执行如本申请实施例描述的由通信设备执行的方法。在该通信设备中,处理器的个数可以为多个,与处理器耦合的存储器可以独立于处理器之外或独立于通信设备之外,也可以在处理器或网络设备之内。存储器可以是物理上独立的单元,也可以是云服务器上的存储空间或网络硬盘等。可选地,存储器可以为一个或多个。当存储器的个数为多个时,可以位于相同的或不同的位置,并且可以独立或配合使用。示例性地,当存储器位于通信设备内部时,请参考图1,图1为本申请实施例提供的一种通信设备的结构示意图。该通信设备100包括:处理器102和存储器101,其中,存储器101用于存储程序,处理器102用于调用存储器101中存储的程序,以使得该通信设备执行相应的方法或功能。可选地,如图1所示,该通信设备100还可以包括至少一个通信接口103和至少一个通信总线104。存储器101、处理器102以及通信接口103通过通信总线104通信连接。其中,通信接口103用于在处理器102的控制下与其他设备通信,处理器102可以通过通信总线104调用存储器101中存储的程序。
在节点为通信设备的一部分时,节点的结构可以参考该通信设备的结构,本申请实施例在此不做赘述。
本申请实施例提供的通信系统可以是vBNG系统。如图2所示,vBNG系统中的多个节点通常包括CP节点01和至少两个UP节点。图2中以该至少两个UP节点包括:UP节点021、UP节点022和UP节点023为例,该至少两个UP节点中UP节点的个数可以是2、3、4、5......等,本申请实施例对此不作限定。该至少两个UP节点可以是通信系统中的所有UP节点或部分UP节点,本申请实施例对此不作限定。vBNG系统可以是任一种包括CP节点和至少两个UP节点的通信系统,如,用于为用户提供宽带接入服务(如认证、授权、计费以及QoS等)的BRAS系统。
CP节点01与各个UP节点通信连接,UP节点与用户通信连接(是指UP节点与用户使用的设备通信连接)。比如UP节点可以与用户直接通信连接,或者,UP节点可以通过其他节点(如网络侧边缘(Provider Edge,PE)节点、网关节点等)与用户间接通信连接,图2中以UP节点均通过PE节点03与用户通信连接为例。CP节点负责对vBNG系统的核心业务进行处理,CP节点通常部署在运营商的私有云或公有云中。UP节点用于承载用户数据(携带在用户报文中)的高速转发和相关的服务质量(quality of service,QoS)业务,UP节点通常运行在供应商采购的专用物理设备上。
进一步地,为了保证通信系统的高可用性,通常vBNG系统采用N:1温备技术(N>1),此时vBNG系统中的至少两个UP节点划分为N个活动UP节点和一个备份UP节点。当出现故障的活动UP节点时,该活动UP节点所承载的用户流量,可以“无缝”地迁移到备份UP节点上,该过程对用户来说完全不感知。
示例地,活动UP节点具有用于接入用户的虚拟MAC地址,备份UP节点不具有用于接入用户的虚拟MAC地址。其中,UP节点具有用于接入用户的虚拟MAC地址是指,UP节点在与用户所使用的设备通信时,可以将该虚拟MAC地址作为UP节点的MAC地址进行通信。需要说明的是,虚拟MAC地址不属于某个固定的UP节点,它可以根据需要在不同的UP节点之间迁移,以实现用户流量在不同UP节点间迁移。在活动UP节点正常工作时,活动UP节点可以采用虚拟MAC地址接入用户,与用户通信(是指与用户所使用的设备通信),并且此时备份UP节点无法与用户通信。CP节点还用于对UP节点以及UP节点上的虚拟MAC地址进行管理。在活动UP节点故障时,CP节点会将该活动UP节点中接入用户的虚拟MAC地址转移至备份UP节点,以使备份UP节点采用该虚拟MAC地址与用户通信,保障用户的通信不中断。
例如,假设图2中的UP节点021和UP节点022均为活动UP节点,且UP节点023为备份UP节点。UP节点021具有用于接入用户的虚拟MAC地址1,UP节点022具有用于接入用户的虚拟MAC地址2,UP节点023不具有虚拟MAC地址。在UP节点021和UP节点022均未故障时,UP节点021采用虚拟MAC地址1接入用户,UP节点022采用虚拟MAC地址2接入用户。在UP节点021故障时,CP节点01可以将虚拟MAC地址1从UP节点021转移至UP节点023,以使UP节点023利用虚拟MAC地址1接入用户。在UP节点022故障时,CP节点01可以将虚拟MAC地址2从UP节点022转移至UP节点023,以使UP节点023还利用虚拟MAC地址2接入用户。
但是,在N个活动UP节点中的多个活动UP节点故障时,该多个活动UP节点的虚拟MAC地址均转移至备份UP节点。比如,在图2中的UP节点021和UP节点022均故障时,UP节点021的虚拟MAC地址1和UP节点022的虚拟MAC地址2均转移至UP节点023。此时,较容易导致备份UP节点超载,导致用户流量丢包或用户连接中断。并且,在N个活动UP节点正常工作时,备份UP节点无法与用户通信。比如,在图2中的UP节点021和UP节点022均未故障时,UP节点023无法接入用户。因此,备份UP节点的资源闲置,导致通信系统的通信效率较低。
本申请实施例提供了一种通信方法,该方法可以用于本申请实施例提供的vBNG系统,该方法中CP节点可以根据与UP节点的负载相关的条件确定虚拟MAC地址转移至的目标UP节点,再将该虚拟MAC地址转移至目标UP节点。在一些情况下,可以避免UP节点超载。并且,该通信方法中,可以不设置备份UP节点,因此能够避免在备份UP节点的资源闲置的问题。
在讲述本申请实施例提供的通信方法之前,先对该通信方法所用于的vBNG系统相对图2所示的vBNG系统的变化进行简单介绍。示例地,在该通信方法所适用的vBNG系统包括CP节点和至少两个UP节点。本申请实施例中以该至少两个UP节点中的每个UP节点均具有用于接入用户的虚拟MAC地址,每个UP节点均可以利用其虚拟MAC地址接入用户为例。可选地,也可以是该至少两个UP节点中的一部分UP节点具有用于接入用户的虚拟MAC地址,而另一部分UP节点不具有用于接入用户的虚拟MAC地址。
比如,图2所示的vBNG系统中,UP节点021具有用于接入用户的虚拟MAC地址1,UP节点022具有用于接入用户的虚拟MAC地址2,UP节点023具有用于接入用户的虚拟MAC地址3,这三个UP节点均可以采用各自的虚拟MAC地址接入用户。
又比如,如图3所示,vBNG系统包括UP节点1024、UP节点1025、UP节点1026、UP节点1027,UP节点1024具有用于接入用户的虚拟MAC地址1、2和3,UP节点1025具有用于接入用户的虚拟MAC地址4、5和6,UP节点1026具有用于接入用户的虚拟MAC地址7、8和9,UP节点1027具有用于接入用户的虚拟MAC地址10、11和12。各个UP节点通过用户侧汇聚交换机接入用户,以及可选的,各个UP节点可以通过核心路由器(core router,CR)接入CP节点,也可以直接接入CP节点。
可选地,CP节点也可以采用备份技术,此时vBNG系统包括主CP节点和备CP节点(如图3中的主CP节点011和备CP节点012)。在主CP节点未故障时,由主CP节点实现CP节点的功能,在主CP节点故障时,由备CP节点实现CP节点的功能。
进一步地,该通信方法所用于的vBNG系统可以包括一组UP节点或多组UP节点,每组UP节点包括具有用于接入用户的多个虚拟MAC地址的多个UP节点。本申请实施例中以每组UP节点中的多个UP节点均具有用于接入用户的虚拟MAC地址为例。可选地,也可以是每组UP节点中的一部分UP节点具有用于接入用户的虚拟MAC地址,而另一部分UP节点不具有用于接入用户的虚拟MAC地址。比如,该多个UP节点中,N个UP节点(可以称为活动UP节点)均具有用于接入用户的虚拟MAC地址,1个UP节点(可以称为备份UP节点)不具有用于接入用户的虚拟MAC地址。
示例地,如图4所示,该vBNG系统包括通信连接至CP节点的UP节点1、2、3,每个UP节点均包括三个接口板,每个接口板包括三个端口。示例地,UP节点1共包括端口A1、B1、C1、D1、E1、F1、G1、H1和I1。UP节点2共包括端口A2、B2、C2、D2、E2、F2、G2、H2和I2。UP节点3共包括端口A3、B3、C3、D3、E3、F3、G3、H3和I3。每个UP节点的每个端口上具有至少一个虚拟MAC地址。
UP节点1、2、3中的每个UP节点加入至少一个备份组,图4中以UP节点1、2、3均加入备份组1至7为例。对于该至少一个备份组中的每个备份组,加入该备份组的UP节点上具有与该备份组对应的虚拟MAC地址。
示例地,对于加入备份组1的UP节点1、2、3,UP节点1的端口A1、UP节点2的端口A2以及UP节点3的端口A3上的虚拟MAC地址均对应该备份组1;对于加入备份组2的UP节点1、2、3,UP节点1的端口B1、UP节点2的端口B2以及UP节点3的端口B3上的虚拟MAC地址均对应该备份组2;对于加入备份组3的UP节点1、2、3,UP节点1的端口C1、UP节点2的端口C2以及UP节点3的端口C3上的虚拟MAC地址均对应该备份组3;对于加入备份组4的UP节点1、2、3,UP节点1的端口D1、UP节点2的端口D2以及UP节点3的端口D3上的虚拟MAC地址均对应该备份组4;对于加入备份组5的UP节点1、2、3,UP节点1的端口E1、UP节点2的端口E2以及UP节点3的端口E3上的虚拟MAC地址均对应该备份组5;对于加入备份组6的UP节点1、2、3,UP节点1的端口F1、G1、UP节点2的端口F2、G2、UP节点3的端口F3、G3上的虚拟MAC地址均对应该备份组6;对于加入备份组7的UP节点1、2、3,UP节点1的端口H1、I1、UP节点2的端口H2、I2、UP节点3的端口H3、I3上的虚拟MAC地址均对应该备份组7。
如图4所示,对应同一备份组的多个虚拟MAC地址可以包括:在不同UP节点上的不同虚拟MAC地址(如端口F1、F2和F3上的虚拟MAC地址),和/或,在相同UP节点上的不同虚拟MAC地址(如端口F1和G1上的虚拟MAC地址)。其中,当对应同一备份组的多个虚拟MAC地址包括:在不同UP节点上的不同虚拟MAC地址时,若该不同UP节点中的一个UP节点故障,则CP节点可以将该故障的UP节点上对应该备份组的虚拟MAC地址转移至该不同UP节点中的其他UP节点,从而通过该其他UP节点对该故障的UP节点进行备份。另外,对应同一备份组的多个虚拟MAC地址可以包括:在不同接口板上的不同虚拟MAC地址(如端口F1和G1上的虚拟MAC地址),和/或,在相同接口板上的不同虚拟MAC地址(如端口H1和I1上的虚拟MAC地址)。
可以理解的是,也可以将图4中UP节点中的接口板或端口看做UP节点,此时每个UP节点也可以加入至少一个备份组。并且,对于该至少一个备份组中的每个备份组,加入该备份组的UP节点上具有与该备份组对应的虚拟MAC地址。比如,当将图4中的接口板看做UP节点时,端口A1、B1和C1所在的接口板加入备份组1、2、3,且该接口板中端口A1上的虚拟MAC地址对应备份组1,该接口板中端口B1上的虚拟MAC地址对应备份组2,该接口板中端口C1上的虚拟MAC地址对应备份组3。当将图4中的端口看做UP节点时,端口A1加入备份组1,且端口A1上的虚拟MAC地址对应备份组1。
需要说明的是,本申请实施例提供的vBNG系统还可以包括除CP节点和该至少一个备份组之外的其他节点,本申请实施例对此不作限定。
以下将以vBNG系统中加入一个备份组的多个UP节点为例,对本申请实施例提供的通信方法进行介绍。当vBNG系统中的UP节点加入包括多个备份组时,加入每个备份组的多个UP节点相关的通信方法可以参考加入该一个备份组的多个UP节点相关的通信方法。并且,对于加入一个备份组的多个UP节点相关的通信方法,该通信方法中UP节点上的虚拟MAC地址是指:该UP节点上对应该备份组的虚拟MAC地址。
示例地,本申请实施例提供的通信方法由vBNG系统中的CP节点执行,在该方法中,CP节点基于多个UP节点中的目标UP节点满足目标条件,将多个虚拟MAC地址中的第一虚拟MAC地址从多个UP节点中的第一UP节点转移至目标UP节点。
目标条件与目标UP节点的负载相关。需要说明的是,目标UP节点的负载可以与目标UP节点的至少一种参数相关,可以利用这至少一种参数衡量目标UP节点的负载。示例地,该至少一种参数包括目标UP节点上所承载的用户数、用户带宽等。比如,目标UP节点的负载与目标UP节点上所承载的用户数正相关。目标UP节点具有用于接入用户的一个或多个虚拟MAC地址,该虚拟MAC地址可以用于承载用户,目标UP节点承载的用户数可以是目标UP节点上的所有虚拟MAC地址承载的用户数之和。
可以看出,本申请实施例中的CP节点可以基于与目标UP节点的负载相关的目标条件,在多个UP节点中查找第一虚拟MAC地址需要转移至的目标UP节点。示例地,目标条件可以是目标UP节点的剩余负载能够容纳第一虚拟MAC地址。目标UP节点的剩余负载是指:该目标UP节点能够承载的总负载与目标UP节点当前的负载之差。在目标UP节点的剩余负载能够容纳第一虚拟MAC地址时,目标UP节点的处理能力可以容纳第一虚拟MAC地址上的所有用户。这种情况下,CP节点可以在多个UP节点中除第一UP节点之外的节点中查找剩余负载能够容纳第一虚拟MAC地址的目标UP节点,之后再将第一虚拟MAC地址转移至该目标UP节点。
在采用N:1温备技术的相关技术中,CP节点在转移虚拟MAC地址时,并未考虑与负载相关的目标条件,而是直接将虚拟MAC地址转移至备份UP节点。当CP节点多次将不同的虚拟MAC地址转移至固定的备份UP节点时,较容易导致备份UP节点超载和故障。而本申请实施例中,CP节点在转移虚拟MAC地址时,需要考虑目标UP节点满足与负载相关的目标条件,进而才能将第一虚拟MAC地址转移至目标UP节点。可见,本申请实施例提供了CP节点的另一种虚拟MAC地址转移的方法,丰富了CP节点的功能。并且,本申请实施例中,在CP节点多次执行转移第一虚拟MAC地址的操作时,多次根据目标条件选中的多个目标UP节点可能不同。这样一来,多次转移的多个第一虚拟MAC地址可能会被转移至不同的目标UP节点,从而能够降低将多个第一虚拟MAC地址转移至一个UP节点而导致该UP节点超载和故障的概率。
另外,采用N:1温备技术的相关技术中,CP节点在向备份UP节点转移虚拟MAC地址之前,备份UP节点并不具有用于接入用户的虚拟MAC地址,因此会造成备份UP节点的资源闲置。而本申请实施例中,多个UP节点具有用于接入用户的多个虚拟MAC地址,且本申请实施例中以多个UP节点中的每个UP节点均具有用于接入用户的虚拟MAC地址为例。例如,在将第一虚拟MAC地址从第一UP节点转移至目标节点之前,目标节点可以具有其他虚拟MAC地址,例如第二虚拟MAC地址。这种情况也可以称为N+1温备技术。这种情况下,CP节点在具有虚拟MAC地址的多个UP节点中确定目标UP节点,并将第一虚拟MAC地址转移至目标UP节点。并且,在CP节点将第一虚拟MAC地址转移至目标UP节点之前,由于目标UP节点具有用于接入用户的虚拟MAC地址,因此,目标UP节点也能够与用户通信,避免了目标UP节点的资源闲置,提升了vBNG系统的通信效率。本申请采用N+1温备技术,可以不区分多个UP节点中的活动UP节点和备份UP节点。
可选地,对于具有虚拟MAC地址的UP节点,该UP节点可以具有一个或多个虚拟MAC地址。在第一UP节点具有多个虚拟MAC地址时,CP节点可以采用本申请实施例提供的方法,将第一UP节点上的多个虚拟MAC地址转移至不同的目标UP节点,避免将多个虚拟MAC地址均转移至同一UP节点,从而能够促使多个UP节点的负载均衡。
另外,本申请实施例中需要将第一虚拟MAC地址转移至目标UP节点,该目标UP节点可以是非故障的UP节点,当然,该目标UP节点也可以是故障的UP节点,本申请实施例对此不作限定。在目标UP节点是非故障的UP节点时,将第一虚拟MAC地址从第一UP节点转移至目标UP节点,能够使得第一虚拟MAC地址承载的用户从第一UP节点上转移至目标UP节点,且可以使用户无感知。
示例地,多个UP节点均可以通过用户侧汇聚节点(如图3所示)接入用户。当第一虚拟MAC地址在第一UP节点上时,第一UP节点会向用户侧汇聚节点发送无故地址解析协议(address resolution protocol,ARP)报文。该无故ARP报文包括该多个UP节点共同采用的网际互连协议(internet protocol,IP)地址,以及第一虚拟MAC地址。用户侧汇聚节点可以根据该无故ARP报文建立该IP地址、该第一虚拟MAC地址和该用户侧汇聚节点上接收到该无故ARP报文的端口的对应关系。后续用户侧汇聚节点接收到用于发往该IP地址以及该第一虚拟MAC地址的用户报文时,可以根据该对应关系,将该用户报文从该端口传输至第一UP节点。
在CP节点将第一虚拟MAC地址从第一UP节点转移至目标UP节点时,目标UP节点会向用户侧汇聚节点发送上述无故ARP报文,该无故ARP报文包括上述IP地址和第一虚拟MAC地址。用户侧汇聚节点可以根据该无故ARP报文将之前记录的对应关系中的端口更改为该用户侧汇聚节点上接收到该无故ARP报文的端口,以更新该对应关系。后续用户侧汇聚节点接收到用于发往该IP地址以及该第一虚拟MAC地址的用户报文时,可以根据该对应关系,将该用户报文从该端口传输至目标UP节点。
这样一来,在CP节点将第一虚拟MAC地址从第一UP节点转移至目标UP节点前后,用户报文被用户侧汇聚节点转发至不同的UP节点,但用户报文均携带相同的IP地址和第一虚拟MAC地址,从而实现了用户无感知。
进一步地,本申请实施例中,CP节点基于目标UP节点满足目标条件,将第一虚拟MAC地址从第一UP节点转移至目标UP节点。此处的第一UP节点、第一虚拟MAC地址和目标UP节点均可以具有多种可实现方式。
(1)对于第一UP节点来说,第一UP节点可以是多个UP节点中的任一UP节点。
可选地,第一UP节点可以是多个UP节点中的故障节点或未故障节点。
一方面,在第一UP节点为故障节点时,CP节点在基于目标UP节点满足目标条件,将第一虚拟MAC地址从第一UP节点转移至目标UP节点时,可以基于目标UP节点满足目标条件且第一UP节点故障,将第一虚拟MAC地址从第一UP节点转移至目标UP节点。可见,在多个UP节点中出现故障节点(第一UP节点),且目标UP节点满足目标条件时,CP可以将第一UP节点上的第一虚拟MAC地址转移至目标UP节点,从而避免由于第一UP节点故障而导致的第一虚拟MAC地址所接入的用户的通信中断。
另一方面,在第一UP节点为未故障节点时,CP节点将第一虚拟MAC地址从第一UP节点上转移至目标UP节点上,能够使得第一虚拟MAC地址承载的用户从第一UP节点上转移至目标UP节点,且可以使用户无感知。
可选地,在第一UP节点为未故障节点时,第一UP节点为多个UP节点中具有能够被目标UP节点的剩余负载容纳的虚拟MAC地址的负载最高的UP节点。这种情况下,将第一虚拟MAC地址从第一UP节点转移至目标UP节点,能够降低第一UP节点的负载,避免第一UP节点超载,促进了多个UP节点的负载均衡。示例地,以图2所示的场景为例,假设UP节点021为目标UP节点,UP节点022和UP节点023的负载依次降低,且UP节点022具有能够被目标UP节点的剩余负载容纳的虚拟MAC地址2,UP节点023具有能够被目标UP节点的剩余负载容纳的虚拟MAC地址3,则CP节点可以确定UP节点022为第一UP节点。
可以理解的是,在第一UP节点为未故障节点时,第一UP节点还可以有其他实现方式。
比如,在第一UP节点为未故障节点时,第一UP节点也可以是CP节点在多个UP节点中随机选择的UP节点。
又比如,在第一UP节点为未故障节点时,第一UP节点也可以是虚拟MAC地址的数量与参考数量的第二差值大于m的UP节点;其中,m≥0;参考数量S=((Z-1)/N)+1,Z表示多个虚拟MAC地址中虚拟MAC地址的数量,N表示多个UP节点中UP节点的数量。
需要说明的是,参考数量与多个UP节点上虚拟MAC地址的均值相关,在第一UP节点上的虚拟MAC地址的数量与参考数量的第二插值大于m时,说明第一UP节点上的虚拟MAC地址的数量较多,此时需要将第一UP节点上的第一虚拟MAC地址转移至其他UP节点,以使多个UP节点上的虚拟MAC地址的数量趋于均衡。随着时间的推移,用户会不断上线和下线,各个虚拟MAC地址的负载会趋于均衡,此时,若多个UP节点上虚拟MAC地址的数量趋于均衡,那么就会使多个UP节点的负载趋于均衡。
示例地,以图2所示的场景为例,假设多个UP节点包括图2中的UP节点021、UP节点022和UP节点023,UP节点021是新增UP节点,且UP节点021上不具有用于接入用户的虚拟MAC地址,UP节点022上的虚拟MAC地址包括:负载依次降低的虚拟MAC地址1和2;UP节点023上的虚拟MAC地址包括:负载依次降低的虚拟MAC地址3、4、5、6、7和8。那么,参考数量S=((Z-1)/N)+1=((8-1)/3)+1≈3.3。以m=0为例,UP节点021上虚拟MAC地址的数量0与参考数量3.3的第二差值-3.3并不大于m,UP节点022上虚拟MAC地址的数量2与参考数量3.3的第二差值-1.3并不大于m,UP节点023上虚拟MAC地址的数量6与参考数量3.3的第二差值2.7大于m,因此,UP节点023为第一UP节点。
(2)对于第一虚拟MAC地址来说,第一虚拟MAC地址可以是第一UP节点上的任一虚拟MAC地址。
可选地,第一虚拟MAC地址可以是CP节点在第一UP节点上随机选择的虚拟MAC地址;
或者,在CP节点将第一虚拟MAC地址转移至目标UP节点之前,第一虚拟MAC地址可以为第一UP节点上能够被目标UP节点的剩余负载容纳的负载最高的虚拟MAC地址。这种情况下,将第一虚拟MAC地址转移至目标UP节点能够大幅度地降低第一UP节点的负载,促进多个UP节点的负载均衡;
或者,在CP节点将第一虚拟MAC地址转移至目标UP节点之前,第一虚拟MAC地址可以为第一UP节点上能够被目标UP节点的剩余负载容纳的负载最低的虚拟MAC地址。这种情况下,将第一虚拟MAC地址转移至目标UP节点能够降低第一UP节点的负载,且目标UP节点的负载不会较高,提升多个UP节点实现负载均衡的概率;
或者,在CP节点将第一虚拟MAC地址转移至目标UP节点之前,第一虚拟MAC地址可以为第一UP节点上接入用户且能够被目标UP节点的剩余负载容纳的负载最低的虚拟MAC地址。这种情况下,将第一虚拟MAC地址转移至目标UP节点能够降低第一UP节点的负载,且目标UP节点的负载不会较高,提升多个UP节点实现负载均衡的概率;并且,由于第一虚拟MAC地址接入用户,因此还可以实现将第一虚拟MAC地址接入的用户转移至目标UP节点。
示例地,以图2所示的场景为例,假设UP节点021为目标UP节点,UP节点022为第一UP节点,UP节点022具有能够被目标UP节点的剩余负载容纳的虚拟MAC地址1、2和3,且虚拟MAC地址1、2、3的负载依次降低,虚拟MAC地址1和2接入用户,且虚拟MAC地址3并未接入用户。若在CP节点将第一虚拟MAC地址转移至目标UP节点之前,第一虚拟MAC地址可以为第一UP节点上能够被目标UP节点的剩余负载容纳的负载最高的虚拟MAC地址,那么第一虚拟MAC地址为1;若在CP节点将第一虚拟MAC地址转移至目标UP节点之前,第一虚拟MAC地址可以为第一UP节点上能够被目标UP节点的剩余负载容纳的负载最低的虚拟MAC地址,那么第一虚拟MAC地址为3;若在CP节点将第一虚拟MAC地址转移至目标UP节点之前,第一虚拟MAC地址可以为第一UP节点上接入用户且能够被所述目标UP节点的剩余负载容纳的负载最低的虚拟MAC地址,那么第一虚拟MAC地址为2。
需要说明的是,虚拟MAC地址的负载可以与虚拟MAC地址的至少一种参数相关,可以利用这至少一种参数衡量虚拟MAC地址的负载。示例地,该至少一种参数包括虚拟MAC地址所承载的用户数、用户带宽等。比如,虚拟MAC地址的负载与虚拟MAC地址所承载的用户数正相关。
(3)对于目标UP节点来说,目标UP节点可以是多个UP节点中的任一UP节点,目标UP节点满足目标条件,该目标条件可以是与负载相关的任一种条件。
(3.1)示例地,目标条件包括:目标UP节点的剩余负载能够容纳第一虚拟MAC地址。这种情况下,在CP节点将第一虚拟MAC地址转移至目标UP节点后,目标UP节点不会超载,从而避免了目标UP节点故障。
(3.2)又示例地,目标条件包括:目标UP节点为多个UP节点中除第一UP节点之外的UP节点中,剩余负载能够容纳第一虚拟MAC地址的负载最低的UP节点。这样一来,将第一虚拟MAC地址转移至目标UP节点不会导致目标UP节点的负载远远超出剩余UP节点,能够促进多个UP节点的负载均衡。
示例地,以图2所示的场景为例,假设UP节点022为第一UP节点,第一虚拟MAC地址为UP节点021上的虚拟MAC地址1。UP节点021和UP节点023的负载依次降低,且UP节点021和023的剩余负载均能够容纳虚拟MAC地址1。此时,UP节点023可以是目标UP节点。
(3.3)再示例地,目标条件包括:目标UP节点的负载小于第一UP节点的负载。在这种情况下,在CP节点将第一虚拟MAC地址转移至目标UP节点后,能够使第一UP节点的负载降低,以及使目标UP节点的负载升高,从而可以使得多个UP节点趋于负载均衡。
示例地,以图2所示的场景为例,假设UP节点022为第一UP节点,第一虚拟MAC地址为UP节点021上的虚拟MAC地址1。UP节点021的负载大于UP节点022的负载,且UP节点023的负载小于UP节点022。此时,UP节点023为目标UP节点。
(3.4)再示例地,目标条件包括:目标UP节点上虚拟MAC地址的数量小于第一UP节点上虚拟MAC地址的数量。
需要说明的是,在目标条件包括目标UP节点上虚拟MAC地址的数量小于第一UP节点上虚拟MAC地址的数量时,将第一虚拟MAC地址从第一UP节点转移至目标UP节点,能够使第一UP节点上虚拟MAC地址的数量和目标UP节点上虚拟MAC地址的数量趋于均衡。随着时间的推移,用户会不断上线和下线,各个虚拟MAC地址的负载会趋于均衡,此时,若第一UP节点上虚拟MAC地址的数量和目标UP节点上虚拟MAC地址的数量趋于均衡,那么就会使多个UP节点的负载趋于均衡。
示例地,以图2所示的场景为例,假设UP节点021上有1个虚拟MAC地址,UP节点022上有2个虚拟MAC地址,UP节点023上有3个虚拟MAC地址。并且,UP节点022为第一UP节点,那么,UP节点021为目标UP节点。
(3.5)再示例地,目标条件包括:参考数量与目标UP节点上虚拟MAC地址的数量的第一差值大于m,m≥0;参考数量S=((Z-1)/N)+1,Z表示多个虚拟MAC地址中虚拟MAC地址的数量,N表示多个UP节点中UP节点的数量。
需要说明的是,参考数量与多个UP节点上虚拟MAC地址的均值相关,在参考数量与目标UP节点上虚拟MAC地址的数量的第一差值大于m时,说明目标UP节点上的虚拟MAC地址的数量较少,此时需要向目标UP节点上转移虚拟MAC地址,以使多个UP节点上的虚拟MAC地址的数量趋于均衡。随着时间的推移,用户会不断上线和下线,各个虚拟MAC地址的负载会趋于均衡,此时,若多个UP节点上虚拟MAC地址的数量趋于均衡,那么就会使多个UP节点的负载趋于均衡。
示例地,以图2所示的场景为例,假设多个UP节点包括图2中的UP节点021、UP节点022和UP节点023,UP节点021是新增UP节点,且UP节点021上不具有用于接入用户的虚拟MAC地址,UP节点022上的虚拟MAC地址包括:负载依次降低的虚拟MAC地址1和2;UP节点023上的虚拟MAC地址包括:负载依次降低的虚拟MAC地址3、4、5、6、7和8。那么,参考数量S=((Z-1)/N)+1=((8-1)/3)+1≈3.3。以m=0为例,参考数量3.3与UP节点021上虚拟MAC地址的数量0的第一差值3.3大于m,参考数量3.3与UP节点022上虚拟MAC地址的数量2的第一差值1.3大于m,参考数量3.3与UP节点023上虚拟MAC地址的数量6的第一差值-2.7小于m,因此,UP节点021或022为目标UP节点。
需要说明的是,当参考数量与目标UP节点上虚拟MAC地址的数量的第一差值大于m时,目标UP节点上虚拟MAC地址的数量不一定小于第一UP节点上虚拟MAC地址的数量。第一UP节点上虚拟MAC地址的数量与参考数量的第二差值也不一定大于m。
本申请实施例中以在第一UP节点上虚拟MAC地址的数量与参考数量的第二差值大于m,且第一UP节点上具有能够被目标UP节点的剩余负载容纳的至少一个虚拟MAC地址时,目标条件包括:参考数量与目标UP节点上虚拟MAC地址的数量的第一差值大于m为例。这种情况下,CP节点在将第一虚拟MAC地址从多个UP节点中的第一UP节点转移至目标UP节点时,可以将第一UP节点上的至少一个虚拟MAC地址从第一UP节点转移至目标UP节点。其中,第一UP节点上的该至少一个虚拟MAC地址中虚拟MAC地址的数量小于或等于第一差值和第二差值,并且该至少一个虚拟MAC地址包括上述第一虚拟MAC地址。在该至少一个虚拟MAC地址包括多个虚拟MAC地址时,CP节点可以一次性将多个虚拟MAC地址从第一UP节点转移至目标UP节点,且能够提升第一UP节点上虚拟MAC地址的数量和目标UP节点上虚拟MAC地址的数量趋于均衡的效率。
另外,在本申请实施例中,无论CP节点从第一UP节点上向目标UP节点转移一个或多个虚拟MAC地址,在转移虚拟MAC地址之前,CP节点均可以确定目标UP节点的剩余负载能够容纳待转移的该一个或多个虚拟MAC地址。当然,CP节点也可以无需考虑目标UP节点的剩余负载是否能够容纳待转移的该一个或多个虚拟MAC地址,本申请实施例对此不作限定。
(3.6)再示例地,目标条件包括:目标UP节点为多个UP节点中的新增UP节点,新增UP节点可以不具有用于接入用户的虚拟MAC地址。该新增UP节点可以是故障修复后重新加入该多个UP节点的UP节点,也可以是未曾故障也未曾加入该多个UP节点的UP节点。本申请实施例中以目标UP节点为新增UP节点为例,当然,该目标UP节点也可以不是新增UP节点,本申请实施例对此不作限定。
本申请实施例中,上述(3.1)至(3.6)共提供了目标条件中的六种条件,可以理解的是,目标条件可以包括这六种条件中的至少一种条件,本申请实施例对此不作限定。在目标条件包括这六种条件中的至少两种条件时,目标UP节点需要同时满足该至少两种条件,CP节点需要根据该至少两种条件,查找同时满足该至少两种条件的目标UP节点。
以上描述了本申请实施例中第一UP节点的多种实现方式,第一虚拟MAC地址的多种实现方式,以及目标UP节点的多种实现方式(与目标条件的多种实现方式相关)。可以理解的是,本申请实施例中第一UP节点的任一种实现方式,第一虚拟MAC地址的任一种实现方式,以及目标UP节点的任一种实现方式可以互相组合,所得到的通信方法均属于本申请的保护范围。
以下将以其中三个示例为例,对本申请实施例保护的通信方法进行举例说明。
示例1:第一UP节点为故障节点,第一虚拟MAC地址为第一UP节点上接入用户且能够被目标UP节点的剩余负载容纳的负载最高的虚拟MAC地址,目标条件包括:目标UP节点为多个UP节点中除第一UP节点之外的UP节点中,剩余负载能够容纳第一虚拟MAC地址的负载最低的UP节点。
由这些可实现方式所组合得到的通信方法中,CP节点可以检测多个UP节点中是否存在故障节点。在检测到多个UP节点中的故障的UP节点时,CP节点可以确定该故障的UP节点为第一UP节点。并且,CP节点还可以基于第一UP节点故障,在第一UP节点上存在接入用户的虚拟MAC地址时,执行至少一次第一操作,直至第一UP节点上不存在接入用户的虚拟MAC地址,或者,直至多个UP节点中除第一UP节点之外的各个UP节点中不存在剩余负载能够容纳第一虚拟MAC地址的UP节点。
如图5所示,第一操作包括:
S501、CP节点在第一UP节点上接入用户的虚拟MAC地址中筛选负载最高的第一虚拟MAC地址。
在本示例中,第一虚拟MAC地址为第一UP节点上接入用户且能够被目标UP节点的剩余负载容纳的负载最高的虚拟MAC地址。此时,CP节点可以在第一UP节点上的虚拟MAC地址中确定接入用户的虚拟MAC地址,再在这些接入用户的虚拟MAC地址中筛选负载最高的第一虚拟MAC地址。
S502、CP节点按照UP节点的负载依次增高的顺序,依次判断多个UP节点中除第一UP节点之外的各个UP节点的剩余负载是否能够容纳第一虚拟MAC地址,直至确定目标UP节点。
在该过程中,若CP节点判断某一UP节点的剩余负载无法容纳第一虚拟MAC地址,则CP节点可以进一步判断下一个UP节点的剩余负载是否能够容纳第一虚拟MAC地址。若CP节点判断某一UP节点的剩余负载能够容纳第一虚拟MAC地址,则CP节点可以确定该UP节点满足目标条件,并将该UP节点确定为目标UP节点,且不会继续判断后续UP节点的剩余负载是否能够容纳第一虚拟MAC地址。
S503、CP节点将第一虚拟MAC地址转移至目标UP节点。
在筛选好第一虚拟MAC地址和确定好目标UP节点之后,CP节点便可以将第一虚拟MAC地址从第一UP节点转移至目标UP节点。
在本示例中,在CP节点执行完毕一次第一操作(S501至S503)之后,若第一UP节点上还存在接入用户的虚拟MAC地址,那么CP节点可以重复执行第一操作。并且,在重复执行第一操作之前已经从第一UP节点转出的虚拟MAC地址将不再属于第一UP节点,因此,在重复执行第一操作中的S501中,第一UP节点上的虚拟MAC地址相对上一次执行S501时的虚拟MAC地址减少。
另外,在CP节点执行完毕一次第一操作(S501至S503)之后,若第一UP节点上不存在接入用户的虚拟MAC地址,那么CP节点无需重复执行第一操作。在CP节点执行第一操作的过程中,若在S502中确定多个UP节点中除第一UP节点之外的各个UP节点中不存在剩余负载能够容纳第一虚拟MAC地址的目标UP节点,那么CP节点可以停止执行该第一操作,且无需重复执行第一操作。
对于CP节点执行的不同第一操作,S501中CP节点筛选出的第一虚拟MAC地址不同,S502中CP节点确定出的目标UP节点可以相同也可以不同,因此,第一UP节点中不同的第一虚拟MAC地址可能会被转移至相同或不同的UP节点。
根据本示例的内容可知,上述S501中CP节点在第一UP节点上接入用户的虚拟MAC地址中筛选第一虚拟MAC地址,这种情况下,经过多次重复执行第一操作,存在将故障的第一UP节点上接入用户的虚拟MAC地址均转移至其他UP节点的情况。这样一来,便可以将故障的第一UP节点上承载的用户转移至其他UP节点,保证这些用户的通信。可以理解的是,S501中也可以是CP节点在第一UP节点上的虚拟MAC地址中筛选第一虚拟MAC地址,这种情况下,经过多次重复执行第一操作,存在将故障的第一UP节点上的所有虚拟MAC地址均转移至其他UP节点的情况。
上述S501中CP节点在第一UP节点上接入用户的虚拟MAC地址中筛选负载最高的第一虚拟MAC地址,则在S503中CP节点将第一虚拟MAC地址转移至目标UP节点能够大幅度地降低第一UP节点的负载,以及保证第一UP节点承载的较多用户(该第一虚拟MAC地址承载的用户)的通信不中断。若CP节点多次重复执行第一操作,则可以实现CP节点按照虚拟MAC地址的负载从高到低的顺序转移第一UP节点上接入用户的虚拟MAC地址,保证第一UP节点承载的较多用户的通信不中断。
上述S502中CP节点选择的目标UP节点的剩余负载能够容纳第一虚拟MAC地址。这种情况下,在CP节点将第一虚拟MAC地址转移至目标UP节点后,目标UP节点不会超载,从而避免了目标UP节点故障。并且,上述S502中CP节点按照UP节点的负载依次增高的顺序,依次判断多个UP节点中除第一UP节点之外的各个UP节点的剩余负载是否能够容纳第一虚拟MAC地址,直至确定目标UP节点。这样一来,CP节点选择的目标UP节点为多个UP节点中除第一UP节点之外的各个UP节点中,剩余负载能够容纳第一虚拟MAC地址的负载最低的UP节点,将第一虚拟MAC地址转移至目标UP节点不会导致目标UP节点的负载远远超出其他UP节点,能够促进多个UP节点的负载均衡。
本申请实施例中以第一虚拟MAC地址为第一UP节点上接入用户且能够被目标UP节点的负载容纳的负载最高的虚拟MAC地址,目标UP节点为多个UP节点中除第一UP节点之外的UP节点中,剩余负载能够容纳第一虚拟MAC地址的负载最低的UP节点为例。可选地,第一虚拟MAC地址也可以为第一UP节点中随机选择的一个虚拟MAC地址,或者,第一虚拟MAC地址也可以是第一UP节点中能够被目标UP节点的负载容纳的负载最低的虚拟MAC地址,或者,第一虚拟MAC地址也可以是第一UP节点中接入用户且能够被目标UP节点的负载容纳的负载最低的虚拟MAC地址,或者,第一虚拟MAC地址为第一UP节点上能够被目标UP节点的负载容纳的负载最高的虚拟MAC地址等。目标UP节点也可以是多个UP节点中除第一UP节点之外的能够承载第一虚拟MAC地址的UP节点中随机选择的一个UP节点,或者,目标UP节点也可以是多个UP节点中除第一UP节点之外的能够承载第一虚拟MAC地址的UP节点中负载最高的UP节点等。
本申请实施例中,可以根据不同场景的需求,比如对通信性能、负载均衡的精度、用户迁移成功率的要求,选择合适的第一虚拟MAC地址和目标UP节点。示例地,第一虚拟MAC地址为第一UP节点中接入用户且能够被目标UP节点的负载容纳的负载最低的虚拟MAC地址,目标UP节点为多个UP节点中除第一UP节点之外的能够承载第一虚拟MAC地址的负载最高的UP节点。当CP节点选择的目标UP节点为多个UP节点中除第一UP节点之外的节点中,剩余负载能够容纳第一虚拟MAC地址的负载最高的UP节点时,上述S502中CP节点可以按照UP节点的负载依次降低的顺序,依次判断多个UP节点中除第一UP节点之外的各个UP节点的剩余负载是否能够容纳第一虚拟MAC地址,直至确定目标UP节点。
进一步地,示例1提供的通信方法可以采用如图6所示的流程图表示,请参考图6,该通信方法中,CP节点可以在第一UP节点故障时,判断故障的第一UP节点上是否存在接入用户的虚拟MAC地址。若故障的第一UP节点上存在接入用户的虚拟MAC地址,则CP节点可以在第一UP节点上接入用户的虚拟MAC地址中筛选负载最高的第一虚拟MAC地址。
之后,CP节点可以在该各个UP节点中存在未尝试的UP节点时,CP节点可以选择未尝试的UP节点中负载最低的UP节点,并判断选择的该UP节点的剩余负载是否能够容纳第一虚拟MAC地址,以完成对该UP节点的尝试。若该UP节点的剩余负载能够容纳第一虚拟MAC地址,则CP节点确定该UP节点为目标UP节点,并将第一虚拟MAC地址转移至该目标UP节点;若该UP节点的剩余负载无法容纳第一虚拟MAC地址,则CP节点可以重新判断对多个UP节点中除第一UP节点之外的各个UP节点中是否还有未尝试的UP节点。若CP节点确定多个UP节点中除第一UP节点之外的各个UP节点中没有未尝试的UP节点,则CP节点可以确定当前多个UP节点中除第一UP节点之外的各个UP节点的剩余负载均无法容纳该第一虚拟MAC地址。此时,CP节点可以结束操作。
在CP节点将上述第一虚拟MAC地址转移至目标UP节点后,CP节点可以重新判断故障的第一UP节点上是否存在接入用户的虚拟MAC地址,若第一UP节点上还存在接入用户的虚拟MAC地址,则CP节点可以将该虚拟MAC地址作为第一虚拟MAC地址,并按照上述方法转移该第一虚拟MAC地址。若第一UP节点上不存在接入用户的虚拟MAC地址,则说明第一UP节点上接入用户的虚拟MAC地址均完成转移,此时CP节点结束操作。
以下将通过一个例子对示例1提供的通信方法进行举例说明。
假设多个UP节点包括图2中的UP节点021、UP节点022和UP节点023,UP节点021故障,且UP节点021上的虚拟MAC地址包括:虚拟MAC地址1、2、3和4,其中,虚拟MAC地址1和2接入用户,虚拟MAC地址1和2的负载依次降低,且虚拟MAC地址3和4未接入用户。UP节点022和UP节点023的负载依次降低。
在这种情况下,CP节点01可以基于UP节点021故障,执行至少一次第一操作。
在第一次执行第一操作的过程中,CP节点01可以在UP节点021上接入用户的虚拟MAC地址1和2中筛选负载最高的虚拟MAC地址1;之后,CP节点01依次判断UP节点022和023的剩余负载是否能够容纳虚拟MAC地址1;假设UP节点022的剩余负载能够容纳虚拟MAC地址1,则CP节点01可以将虚拟MAC地址1转移至UP节点022。在第一次的第一操作结束后,由于故障的UP节点021还具有接入用户的虚拟MAC地址2,因此,CP节点01可以执行第二次第一操作。
在第二次执行第一操作的过程中,CP节点01可以在UP节点021上接入用户的虚拟MAC地址2中筛选负载最高的虚拟MAC地址2;之后,若UP节点023和022的负载依次降低,则CP节点01依次判断UP节点023和022的剩余负载是否能够容纳虚拟MAC地址2;假设UP节点023的剩余负载能够容纳虚拟MAC地址2,则CP节点01可以将虚拟MAC地址2转移至UP节点023。在第二次的第一操作结束后,由于故障的UP节点021不具有接入用户的虚拟MAC地址,因此,CP节点01可以不执行下一次第一操作。
根据以上两次第一操作可知,CP节点01将故障的UP节点021上接入用户的虚拟MAC地址1转移至UP节点022,以及将接入用户的虚拟MAC地址2转移至UP节点023。这样一来,就保证了虚拟MAC地址1和2上承载的用户的通信不中断,并且,能够实现未故障的UP节点022和UP节点023的负载均衡。
示例2:第一UP节点为多个UP节点中除目标UP节点之外的UP节点中,具有能够被目标UP节点的剩余负载容纳的虚拟MAC地址的负载最高的UP节点;第一虚拟MAC地址为第一UP节点上能够被目标UP节点的剩余负载容纳的负载最高的虚拟MAC地址;目标条件包括:目标UP节点为新增UP节点。
由这些可实现方式所组合得到的通信方法中,CP节点可以在多个UP节点中出现新增UP节点时,确定该新增UP节点为目标UP节点。并且,CP节点还可以在目标UP节点并非多个UP节点中负载最高的UP节点时,执行至少一次第二操作,直至目标UP节点为多个UP节点中负载最高的UP节点,或者,直至多个UP节点中负载最高的UP节点上不存在能够被目标UP节点的剩余负载容纳的虚拟MAC地址。
如图7所示,第二操作包括:
S601、CP节点在多个UP节点中筛选负载最高的第一UP节点。
通常多个UP节点中的新增UP节点并未接入用户,因此,新增UP节点通常不是多个UP节点中负载最高的UP节点。所以,在多个UP节点中出现新增UP节点时,CP节点便可以在多个UP节点中筛选负载最高的第一UP节点,以通过第二操作将第一UP节点的至少部分虚拟MAC地址迁移至目标UP节点,促进多个UP节点的负载均衡。
S602、CP节点按照虚拟MAC地址的负载依次减小的顺序,依次判断第一UP节点上的各个虚拟MAC地址是否能够被目标UP节点的剩余负载容纳,直至确定第一UP节点上能够被目标UP节点的剩余负载容纳的负载最高的第一虚拟MAC地址。
在筛选好第一UP节点后,CP节点可以按照虚拟MAC地址的负载依次减小的顺序,依次判断第一UP节点上的各个虚拟MAC地址是否能够被目标UP节点的剩余负载容纳。在该过程中,若CP节点判断目标UP节点的剩余负载无法容纳某一个虚拟MAC地址,则CP节点可以进一步判断目标UP节点的剩余负载是否能够容纳下一个虚拟MAC地址。若CP节点判断目标UP节点的剩余负载能够容纳某一个虚拟MAC地址,则CP节点可以确定该虚拟MAC地址为第一虚拟MAC地址,且不会进一步判断下一个虚拟MAC地址能否被目标UP节点的剩余负载容纳。
S603、CP节点将第一虚拟MAC地址转移至目标UP节点。
在筛选好第一虚拟MAC地址之后,CP节点便可以将第一虚拟MAC地址从第一UP节点转移至目标UP节点。
在本示例中,在CP节点执行完毕一次第二操作(S601至S603)之后,若目标UP节点并不是多个UP节点中负载最高的UP节点,那么CP节点可以重复执行第二操作。并且,在重复执行第二操作之前已经从某一UP节点转出的虚拟MAC地址将不再属于该UP节点,多个UP节点的负载也被更新,因此,在重复执行第二操作中的S601中,多个UP节点中负载最高的UP节点可能会发生变化。
另外,在CP节点执行完毕一次第二操作(S601至S603)之后,若目标UP节点是多个UP节点中负载最高的UP节点,那么CP节点无需重复执行第二操作。在CP节点执行第二操作的过程中,若在S602中确定第一UP节点中不存在能够被目标UP节点的剩余负载容纳的第一虚拟MAC地址,那么CP节点可以停止执行该第二操作,且无需重复执行第二操作。在CP节点对多个UP节点中除目标UP节点之外的各个UP节点均执行第二操作后,CP节点可以停止对UP节点执行第二操作。
对于CP节点执行的不同第二操作,S601中确定出的第一UP节点可以相同也可以不同,S602中CP节点筛选出的第一虚拟MAC地址不同,因此,转移至目标UP节点的不同第一虚拟MAC地址可能来自相同的UP节点,也可能来自不同的UP节点。
根据本示例的内容可知,上述S601中CP节点在多个UP节点中筛选负载最高的第一UP节点,则在S603中CP节点将第一虚拟MAC地址转移至目标UP节点能够大幅度地降低第一UP节点的负载,避免第一UP节点由于负载过高而故障,保证第一UP节点承载的较多用户(该第一虚拟MAC地址承载的用户)的通信不中断。经过多次重复执行第二操作,可以实现CP节点将多个UP节点中负载较高的UP节点的至少部分虚拟MAC地址转移至目标UP节点,促进多个UP节点的负载均衡。
上述S602中CP节点按照虚拟MAC地址的负载依次降低的顺序,依次判断第一UP节点的各个虚拟MAC地址是否能够被目标UP节点的剩余负载容纳,直至确定第一虚拟MAC地址。这样一来,CP节点选择的第一虚拟MAC地址为第一UP节点上能够被目标UP节点的剩余负载容纳的虚拟MAC地址中,负载最高的虚拟MAC地址。将第一虚拟MAC地址转移至目标UP节点,能够提升多个UP节点的负载均衡的效率。
另外,当CP节点选择的第一虚拟MAC地址为:第一UP节点上能够被目标UP节点的剩余负载容纳的负载最低的虚拟MAC地址时,上述S602中CP节点可以按照虚拟MAC地址的负载依次增高的顺序,依次判断第一UP节点的各个虚拟MAC地址是否能够被目标UP节点的剩余负载容纳,直至确定第一虚拟MAC地址。
进一步地,示例2提供的通信方法可以采用如图8所示的流程图表示,请参考图8,该通信方法中,CP节点可以在出现新增的目标UP节点时,判断目标UP节点的负载是否大于或等于多个UP节点中负载最高的UP节点的负载。也即判断目标UP节点是否为多个UP节点中负载最高的UP节点。
若目标UP节点的负载小于多个UP节点中负载最高的UP节点的负载,则CP节点可以选择多个UP节点中负载最高的UP节点。之后,CP节点可以判断选择的该UP节点是否还有未尝试的虚拟MAC地址,在该UP节点中存在未尝试的虚拟MAC地址时,CP节点可以选择未尝试的虚拟MAC地址中负载最高的虚拟MAC地址,并判断目标UP节点的剩余负载是否能够容纳选择的该虚拟MAC地址,以完成对该虚拟MAC地址的尝试。
若目标UP节点的剩余负载能够容纳选择的该虚拟MAC地址,则CP节点确定当前选择的UP节点为第一UP节点,以及当前选择的虚拟MAC地址为第一虚拟MAC地址,并将该第一虚拟MAC地址转移至该目标UP节点;若目标UP节点的剩余负载无法容纳选择的该虚拟MAC地址,则CP节点可以重新判断当前选择的UP节点中是否还有未尝试的虚拟MAC地址。若CP节点确定该UP节点上没有未尝试的虚拟MAC地址,则CP节点可以确定当前选择的UP节点上没有能够被目标UP节点的剩余负载容纳的虚拟MAC地址,此时,CP节点可以结束操作。
在CP节点将上述第一虚拟MAC地址转移至目标UP节点后,CP节点可以重新判断目标UP节点的负载是否大于或等于多个UP节点中负载最高的UP节点的负载。若目标UP节点的负载小于多个UP节点中负载最高的UP节点的负载,则CP节点可以按照上述方法继续向目标UP节点转移虚拟MAC地址。若目标UP节点的负载大于或等于多个UP节点中负载最高的UP节点的负载,则说明目标UP节点的负载较高,此时不适合再向目标UP节点转移虚拟MAC地址,此时CP节点结束操作。
以下将通过一个例子对示例2提供的通信方法进行举例说明。
假设多个UP节点包括图2中的UP节点021、UP节点022和UP节点023,UP节点021是新增UP节点,且UP节点022上的虚拟MAC地址包括:负载依次降低的虚拟MAC地址1和2;UP节点023上的虚拟MAC地址包括:负载依次降低的虚拟MAC地址3和4。UP节点022和UP节点023的负载依次降低。
在这种情况下,CP节点01可以基于UP节点021为新增UP节点,执行至少一次第二操作。
在第一次执行第二操作的过程中,CP节点01可以在UP节点022和UP节点023中筛选负载最高的UP节点022;之后,CP节点01依次判断UP节点022的虚拟MAC地址1和2是否能够被UP节点021的剩余负载容纳;假设UP节点021的剩余负载能够容纳虚拟MAC地址1,则CP节点01可以将虚拟MAC地址1转移至UP节点021。在第一次的第二操作结束后,假设UP节点023、UP节点022和UP节点021的负载依次降低,此时,UP节点021并不是多个UP节点中负载最高的UP节点,因此,CP节点01可以执行第二次第二操作。
在第二次执行第二操作的过程中,CP节点01可以在UP节点022和UP节点023中筛选负载最高的UP节点023;之后,CP节点01依次判断UP节点023的虚拟MAC地址3和4是否能够被UP节点021的剩余负载容纳;假设UP节点021的剩余负载能够容纳虚拟MAC地址3,则CP节点01可以将虚拟MAC地址3转移至UP节点021。在第二次的第二操作结束后,假设UP节点021、UP节点022和UP节点023的负载依次降低,此时,UP节点021是多个UP节点中负载最高的UP节点,因此,CP节点01可以停止重复执行第二操作。
根据以上两次第二操作可知,CP节点01将负载较高的UP节点022上负载较高的虚拟MAC地址1,以及负载较高的UP节点023上的虚拟MAC地址3转移至新增的UP节点021,使得UP节点021、UP节点022和UP节点023能够负载均衡。
在示例2中,CP节点在第二操作的过程中,可以将第一UP节点上能够被目标UP节点的剩余负载容纳的负载最高的虚拟MAC地址转移至目标UP节点,以更新多个UP节点的负载。当然,CP节点在第二操作的过程中,也可以将第一UP节点上能够被目标UP节点的剩余负载容纳的至少一个虚拟MAC地址(包括第一虚拟MAC地址)转移至目标UP节点,以更新多个UP节点的负载。这种情况下,S602中CP节点判断第一UP节点上的各个虚拟MAC地址是否能够被目标UP节点的剩余负载容纳的顺序可以是任意顺序,比如,该任意顺序与按照虚拟MAC地址的负载依次减小的顺序相同或不同。
示例3:第一UP节点上虚拟MAC地址的数量与参考数量的第二差值大于m,且第一UP节点上具有能够被目标UP节点的剩余负载容纳的至少一个虚拟MAC地址;第一虚拟MAC地址为第一UP节点上能够被目标UP节点的剩余负载容纳的负载最低的虚拟MAC地址;目标条件包括:目标UP节点为新增UP节点,且参考数量与目标UP节点上虚拟MAC地址的数量的第一差值大于m。
由这些可实现方式所组合得到的通信方法中,CP节点可以在多个UP节点中出现新增UP节点时,若参考数量与该新增UP节点上虚拟MAC地址的数量的第一差值大于m,则确定该新增UP节点为目标UP节点。并且,CP节点还可以基于目标UP节点为多个UP节点中的新增UP节点,且参考数量与目标UP节点上虚拟MAC地址的数量的第一差值大于m,依次对多个UP节点中除目标UP节点之外的各个UP节点执行第三操作,直至第一差值小于或等于m。第三操作包括:CP节点将第一UP节点上的至少一个虚拟MAC地址转移至目标UP节点。
示例地,如图9所示,第三操作包括:
S701、CP节点判断UP节点上虚拟MAC地址的数量与参考数量的第二差值是否大于m。在该UP节点上虚拟MAC地址的数量与参考数量的第二差值大于m时,确定该UP节点为第一UP节点,并执行S702。
通常多个UP节点中的新增UP节点并不具有用于接入用户的虚拟MAC地址,因此,参考数量与新增UP节点上虚拟MAC地址的数量的第一差值通常大于m。所以,在多个UP节点中出现新增UP节点时,CP节点便可以在多个UP节点中筛选第一UP节点,以通过第三操作将第一UP节点的至少部分虚拟MAC地址迁移至目标UP节点,促进多个UP节点的负载均衡。
在示例3中,CP节点需要依次对多个UP节点中除目标UP节点之外的各个UP节点执行第三操作,直至第一差值小于或等于m。在对一个UP节点执行第三操作的过程中,在S701中CP节点可以判断该UP节点上虚拟MAC地址的数量与参考数量的第二差值是否大于m;在该UP节点上虚拟MAC地址的数量与参考数量的第二差值大于m时,CP节点可以确定该UP节点为第一UP节点,从而可以执行S702和S703以将第一UP节点上的至少部分虚拟MAC地址转移至新增的目标UP节点。在UP节点上虚拟MAC地址的数量与参考数量的第二差值小于或等于m时,CP节点可以确定该UP节点不是第一UP节点,并停止执行该第三操作,以及开始对下一个UP节点执行第三操作。
S702、CP节点按照虚拟MAC地址的负载依次增高的顺序,依次判断第一UP节点上的各个虚拟MAC地址是否能够被目标UP节点的剩余负载容纳,直至确定第一UP节点上能够被目标UP节点的剩余负载容纳的至少一个虚拟MAC地址。
在确定第一UP节点后,CP节点可以按照虚拟MAC地址的负载依次增高的顺序,依次判断第一UP节点上的各个虚拟MAC地址是否能够被目标UP节点的剩余负载容纳。在该过程中,若CP节点查找到第一UP节点上能够被目标UP节点的剩余负载容纳的至少一个虚拟MAC地址,则CP节点可以停止判断下一个虚拟MAC地址能否被目标UP节点的剩余负载容纳。
示例地,该至少一个虚拟MAC地址中虚拟MAC地址的数量可以是x,x小于第一差值和第二差值。若CP节点查找到第一UP节点上能够被目标UP节点的剩余负载容纳的x个虚拟MAC地址,则CP节点可以停止判断下一个虚拟MAC地址能否被目标UP节点的剩余负载容纳,并将该x个虚拟MAC地址作为上述至少一个虚拟MAC地址。若CP节点在判断第一UP节点上的所有虚拟MAC地址能否被目标UP节点的剩余负载容纳后,确定第一UP节点上能够被目标UP节点的剩余负载容纳的y个虚拟MAC地址,0<y<x,则CP节点可以将这y个虚拟MAC地址作为上述至少一个虚拟MAC地址。
由于CP节点按照虚拟MAC地址的负载依次增高的顺序,依次判断第一UP节点上的各个虚拟MAC地址是否能够被目标UP节点的剩余负载容纳,因此,CP节点在S702中确定出的至少一个虚拟MAC地址为:第一UP节点上能够被目标UP节点的剩余负载容纳的负载较低的至少一个虚拟MAC地址。该至少一个虚拟MAC地址包括:第一UP节点上能够被目标UP节点的剩余负载容纳的负载最低的第一虚拟MAC地址。
S703、CP节点将第一UP节点上的至少一个虚拟MAC地址转移至目标UP节点。
在筛选好第一UP节点上的至少一个虚拟MAC地址之后,CP节点便可以将这至少一个虚拟MAC地址从第一UP节点转移至目标UP节点。
在本示例中,在CP节点对一个UP节点执行完毕第三操作(S701至S703)(或者第三操作在执行过程中停止执行)之后,目标UP节点上虚拟MAC地址的数量可能会发生变化。此时,参考数量与目标UP节点上虚拟MAC地址的数量的第一差值也可能发生变化。
若在CP节点对一个UP节点执行完毕第三操作(S701至S703)(或者第三操作在执行过程中停止执行)之后,第一差值还是大于m,那么CP节点可以对下一个UP节点执行第三操作。并且,在CP节点可以对下一个UP节点执行第三操作之前,已经从某一UP节点转出的虚拟MAC地址将不再属于该UP节点,各个UP节点上虚拟MAC地址的数量被更新,各个UP节点的负载也被更新。
另外,若在CP节点对一个UP节点执行完毕第三操作(S701至S703)(或者第三操作在执行过程中停止执行)之后,第一差值小于或等于m,那么CP节点无需对下一UP节点执行第三操作。在CP节点对多个UP节点中除目标UP节点之外的各个UP节点均执行第三操作后,无论第一差值是否大于m,CP节点均停止对UP节点执行第三操作。
根据示例3的内容可知,上述S701中CP节点确定出的第一UP节点上虚拟MAC地址的数量与参考数量的第二差值大于m,而参考数量与目标UP节点上虚拟MAC地址的数量的第一差值大于m,可见,第一UP节点上虚拟MAC地址的数量大于参考数量,且参考数量大于目标UP节点上虚拟MAC地址的数量。这样一来,将第一UP节点上的至少一个虚拟MAC地址转移到目标UP节点上,就能够使得第一UP节点和目标UP节点上虚拟MAC地址的数量趋于均衡,多个UP节点上虚拟MAC地址的数量趋于均衡。随着时间的推移,用户会不断上线和下线,各个虚拟MAC地址的负载会趋于均衡,此时,若第一UP节点上虚拟MAC地址的数量和目标UP节点上虚拟MAC地址的数量趋于均衡,那么就会使多个UP节点的负载趋于均衡。
上述S702中CP节点选择的至少一个虚拟MAC地址为:第一UP节点上能够被目标UP节点的剩余负载容纳的负载较低的至少一个虚拟MAC地址。这种情况下,在CP节点将该至少一个虚拟MAC地址转移至目标UP节点后,目标UP节点不会超载,从而避免了目标UP节点故障。并且,将该至少一个虚拟MAC地址转移至目标UP节点,也不会导致目标UP节点的负载过高,从而能够提升多个UP节点的负载均衡的效率。
进一步地,上述内容中,CP节点基于目标UP节点为多个UP节点中的新增UP节点,且参考数量与目标UP节点上虚拟MAC地址的数量的第一差值大于m,依次对多个UP节点中除目标UP节点之外的各个UP节点执行第三操作,直至第一差值小于或等于m。这样就实现了CP节点基于多个UP节点中的目标UP节点满足目标条件,将多个虚拟MAC地址中的第一虚拟MAC地址从多个UP节点中的第一UP节点转移至目标UP节点。
假设第一UP节点为未故障节点,且第一UP节点上虚拟MAC地址的数量与参考数量的第二差值大于m,且第一UP节点上具有能够被目标UP节点的剩余负载容纳的至少一个虚拟MAC地址;目标条件包括:参考数量与目标UP节点上虚拟MAC地址的数量的第一差值大于m,且CP节点基于目标UP节点满足目标条件,将第一UP节点上的至少一个虚拟MAC地址转移至目标UP节点。其中,第一UP节点上的该至少一个虚拟MAC地址中虚拟MAC地址的数量小于或等于第一差值和第二差值,第一UP节点上的该至少一个虚拟MAC地址包括第一虚拟MAC地址。那么,在CP节点基于多个UP节点中的目标UP节点满足目标条件,将多个虚拟MAC地址中的第一虚拟MAC地址从多个UP节点中的第一UP节点转移至目标UP节点之后,CP节点还可以基于目标UP节点满足辅助条件,将多个UP节点中第二UP节点上的至少一个虚拟MAC地址转移至目标UP节点。其中,该辅助条件包括:参考数量与目标UP节点的虚拟MAC地址的数量的第三差值大于n;第二UP节点上虚拟MAC地址的数量与参考数量的第四差值大于或等于n,且第二UP节点上的该至少一个虚拟MAC地址能够被目标UP节点的剩余负载容纳;其中,n>m,第二UP节点上的至少一个虚拟MAC地址中虚拟MAC地址的数量小于或等于第三差值和第四差值。
示例地,CP节点在基于目标UP节点满足辅助条件,将多个UP节点中第二UP节点上的至少一个虚拟MAC地址转移至目标UP节点时,可以基于目标UP节点为多个UP节点中的新增UP节点,且第三差值大于n,依次对多个UP节点中除目标UP节点之外的各个UP节点执行第四操作,直至第三差值小于或等于n。第四操作包括:CP节点将第二UP节点中的至少一个虚拟MAC地址转移至目标UP节点。
如图10所示,第四操作包括:
S801、CP节点判断UP节点上虚拟MAC地址的数量与参考数量的第四差值是否大于n。在该UP节点上虚拟MAC地址的数量与参考数量的第四差值大于n时,确定该UP节点为第二UP节点,并执行S802。
S801可以参考S701,本申请实施例在此不做赘述。
S802、CP节点按照虚拟MAC地址的负载依次增高的顺序,依次判断第二UP节点上的各个虚拟MAC地址是否能够被目标UP节点的剩余负载容纳,直至确定第二UP节点上能够被目标UP节点的剩余负载容纳的至少一个虚拟MAC地址。
S802可以参考S702,本申请实施例在此不做赘述。
S803、CP节点将第二UP节点中的至少一个虚拟MAC地址转移至目标UP节点。
S803可以参考S703,本申请实施例在此不做赘述。
在本示例中,在CP节点对一个UP节点执行完毕第四操作(S801至S803)(或者第四操作在执行过程中停止执行)之后,目标UP节点上虚拟MAC地址的数量可能会发生变化。此时,参考数量与目标UP节点上虚拟MAC地址的数量的第三差值也可能发生变化。
若在CP节点对一个UP节点执行完毕第四操作(S801至S803)(或者第四操作在执行过程中停止执行)之后,第三差值还是大于n,那么CP节点可以对下一个UP节点执行第四操作。并且,在CP节点可以对下一个UP节点执行第四操作之前,已经从某一UP节点转出的虚拟MAC地址将不再属于该UP节点,各个UP节点上虚拟MAC地址的数量被更新,各个UP节点的负载也被更新。
另外,若在CP节点对一个UP节点执行完毕第四操作(S801至S803)(或者第四操作在执行过程中停止执行)之后,第三差值小于或等于n,那么CP节点无需对下一UP节点执行第四操作。在CP节点对多个UP节点中除目标UP节点之外的各个UP节点均执行第四操作后,无论第三差值是否大于n,CP节点均停止对UP节点执行第四操作。
根据示例3的内容可知,上述S801中CP节点确定出的第二UP节点上虚拟MAC地址的数量与参考数量的第四差值大于n,而参考数量与目标UP节点上虚拟MAC地址的数量的第三差值大于n,可见,第二UP节点上虚拟MAC地址的数量大于参考数量,且参考数量大于目标UP节点上虚拟MAC地址的数量。这样一来,将第二UP节点上的至少一个虚拟MAC地址转移到目标UP节点上,就能够使得第二UP节点和目标UP节点上虚拟MAC地址的数量趋于均衡,多个UP节点上虚拟MAC地址的数量趋于均衡。随着时间的推移,用户会不断上线和下线,各个虚拟MAC地址的负载会趋于均衡,此时,若第二UP节点上虚拟MAC地址的数量和目标UP节点上虚拟MAC地址的数量趋于均衡,那么就会使多个UP节点的负载趋于均衡。
上述S802中CP节点选择的至少一个虚拟MAC地址为:第二UP节点上能够被目标UP节点的剩余负载容纳的负载较低的至少一个虚拟MAC地址。这种情况下,在CP节点将该至少一个虚拟MAC地址转移至目标UP节点后,目标UP节点不会超载,从而避免了目标UP节点故障。并且,将该至少一个虚拟MAC地址转移至目标UP节点,也不会导致目标UP节点的负载过高,从而能够提升多个UP节点的负载均衡的效率。
本示例中,参考数量可以看做是UP节点上虚拟MAC地址的基准数量。在参考数量与目标UP节点上虚拟MAC地址的数量的第一差值大于m时,CP节点可以确定目标UP节点上虚拟MAC地址的数量与其他UP节点上虚拟MAC地址的数量存在一定的差异。此时CP节点需要向该目标UP节点转入虚拟MAC地址,促进各个UP节点的虚拟MAC地址的数量的均衡。并且,还可以使参考数量与目标UP节点上虚拟MAC地址的数量的第一差值减小。
在CP节点基于第一差值大于m,向目标UP节点转移虚拟MAC地址之后,若参考数量与目标UP节点的虚拟MAC地址的数量的第三差值大于n(n>m),则CP节点可以确定目标UP节点上虚拟MAC地址的数量与其他UP节点上虚拟MAC地址的数量差异较大。此时CP节点需要继续向该目标UP节点转入虚拟MAC地址,以进一步促进各个UP节点的虚拟MAC地址的数量的均衡。并且,还可以使参考数量与目标UP节点上虚拟MAC地址的数量的第三差值尽量小于或等于n,尽量避免目标UP节点上虚拟MAC地址的数量与其他UP节点上虚拟MAC地址的数量差异较大的情况,促进多个UP节点的负载均衡。
另外,若在CP节点基于第一差值大于m,向目标UP节点转移虚拟MAC地址之后,参考数量与目标UP节点的虚拟MAC地址的数量的第三差值小于或等于n,则CP节点可以确定目标UP节点上虚拟MAC地址的数量与其他UP节点上虚拟MAC地址的数量并不是差异较大,各个UP节点的虚拟MAC地址的数量较为均衡。所以,CP节点无需继续向该目标UP节点转入虚拟MAC地址。
可以理解的是,在CP节点基于多个UP节点中的目标UP节点满足目标条件,将多个虚拟MAC地址中的第一虚拟MAC地址从多个UP节点中的第一UP节点转移至目标UP节点之后,CP节点也可以不基于目标UP节点满足辅助条件,将多个UP节点中第二UP节点上的至少一个虚拟MAC地址转移至目标UP节点。
进一步地,示例3提供的通信方法可以采用如图11所示的流程图表示,请参考图11,该通信方法中,CP节点可以在出现新增的目标UP节点时,判断参考数量与新增的目标UP节点上虚拟MAC地址的数量的第一差值是否大于m。
若第一差值大于m,则CP节点判断多个UP节点中除目标UP节点之外的各个UP节点中是否还有未进行第一尝试的UP节点。当存在未进行第一尝试的UP节点时,CP节点可以选择一个未进行第一尝试的UP节点,并判断该UP节点是否为第一UP节点,以完成对该UP节点的第一尝试。其中,CP节点判断该UP节点是否为第一UP节点时,CP节点可以判断该UP节点上虚拟MAC地址的数量与参考数量的第二差值是否大于m,以及判断该UP节点上是否存在能够被目标UP节点的剩余负载容纳的虚拟MAC地址。
若选择的UP节点为第一UP节点,则CP节点可以将该第一UP节点上能够被目标UP节点的剩余负载容纳的负载最低的至少一个虚拟MAC地址转移至目标UP节点。若选择的UP节点并不是第一UP节点,则CP节点可以重新判断是否还有未进行第一尝试的UP节点。
在CP节点将上述第一UP节点上的至少一个虚拟MAC地址转移至目标UP节点后,CP节点可以重新判断第一差值是否大于m。若第一差值还是大于m,则CP节点可以按照上述方法继续向目标UP节点转移虚拟MAC地址。若第一差值小于或等于m,则说明目标UP节点上的虚拟MAC地址的数量较多,此时不适合再向目标UP节点转移虚拟MAC地址,此时CP节点结束操作。
进一步地,若CP节点在判定第一差值大于m后,确定多个UP节点中除目标UP节点之外的各个节点中不存在未进行第一尝试的UP节点,则CP节点可以采用其他操作进一步向目标UP节点上转移虚拟MAC地址,以尽量避免目标UP节点上虚拟MAC地址的数量低于参考数量,且目标UP节点上虚拟MAC地址的数量与参考数量的差距较大。
比如,CP节点可以判断参考数量与新增的目标UP节点上虚拟MAC地址的数量的第三差值是否大于n。
若第三差值大于n,则CP节点判断多个UP节点中除目标UP节点之外的各个UP节点中是否还有未进行第二尝试的UP节点。当存在未进行第二尝试的UP节点时,CP节点可以选择一个未进行第二尝试的UP节点,并判断该UP节点是否为第二UP节点,以完成对该UP节点的第二尝试。其中,CP节点判断该UP节点是否为第二UP节点时,CP节点可以判断该UP节点上虚拟MAC地址的数量与参考数量的第四差值是否大于n,以及判断该UP节点上是否存在能够被目标UP节点的剩余负载容纳的虚拟MAC地址。
若选择的UP节点为第二UP节点,则CP节点可以将该第二UP节点上能够被目标UP节点的剩余负载容纳的负载最低的至少一个虚拟MAC地址转移至目标UP节点。若选择的UP节点并不是第二UP节点,则CP节点可以重新判断是否还有未进行第二尝试的UP节点。
若多个UP节点中除目标UP节点之外的各个UP节点中没有未进行第二尝试的UP节点,则CP节点可以结束操作。
在CP节点将上述第二UP节点上的至少一个虚拟MAC地址转移至目标UP节点后,CP节点可以重新判断第二差值是否大于n。若第二差值还是大于n,则CP节点可以按照上述方法继续向目标UP节点转移虚拟MAC地址。若第二差值小于或等于n,则说明目标UP节点上的虚拟MAC地址的数量并不是较少,可以不再向目标UP节点转移虚拟MAC地址,此时CP节点结束操作。
以下将通过一个例子对示例3提供的通信方法进行举例说明。
假设多个UP节点包括图2中的UP节点021、UP节点022和UP节点023,UP节点021是新增UP节点,且UP节点022上的虚拟MAC地址包括:负载依次降低的虚拟MAC地址1和2;UP节点023上的虚拟MAC地址包括:负载依次降低的虚拟MAC地址3、4、5、6、7和8。参考数量S=((Z-1)/N)+1=((8-1)/3)+1≈3.3。
以m=0,n=1,第一UP节点上的至少一个虚拟MAC地址包括一个虚拟MAC地址,第二UP节点上的至少一个虚拟MAC地址包括一个虚拟MAC地址为例。
在这种情况下,参考数量3.3与UP节点021上虚拟MAC地址的数量0的第一差值为3.3,该第一差值大于m。CP节点01可以基于第一差值大于m,依次对UP节点022和023执行第三操作。
在对UP节点022执行第三操作时,CP节点01确定UP节点022上虚拟MAC地址的数量2与参考数量3.3的第二差值-1.3并不大于m。因此,CP节点01停止对UP节点022执行第三操作,并开始对UP节点023执行第三操作。
在对UP节点023执行第三操作时,CP节点01确定UP节点023上虚拟MAC地址的数量6与参考数量3.3的第二差值2.7大于m。因此,CP节点01确定UP节点023为第一UP节点,并依次判断UP节点023上的虚拟MAC地址8、7、6、5、4、3是否能够被UP节点021的剩余负载容纳,直至确定UP节点023上能够被UP节点02的剩余负载容纳的1个虚拟MAC地址。若虚拟MAC地址8能够被UP节点021的剩余负载容纳,那么CP节点01便可以将虚拟MAC地址8转移至UP节点021。
在CP节点01依次对UP节点022和023执行第三操作完毕后,UP节点021上的虚拟MAC地址包括:虚拟MAC地址8;UP节点022上的虚拟MAC地址包括:虚拟MAC地址1和2;UP节点023上的虚拟MAC地址包括:虚拟MAC地址3、4、5、6和7。此时,相比在CP节点01依次对UP节点022和023执行第三操作之前,第一差值减小,各个UP节点上虚拟MAC地址的数量趋于均衡。
但是,在CP节点01依次对UP节点022和023执行第三操作完毕后,CP节点01还确定参考数量3.3与UP节点021上虚拟MAC地址的数量1的第三差值2.3大于n,表明当前UP节点021上虚拟MAC地址的数量与其他UP节点上虚拟MAC地址的数量仍然差异较大。此时,CP节点01可以基于第三差值大于n,依次对UP节点022和023执行第四操作,以尽量避免UP节点021和其他UP节点上虚拟MAC地址的数量差异较大的情况。
在对UP节点022执行第四操作时,CP节点01确定UP节点022上虚拟MAC地址的数量2与参考数量3.3的第四差值-1.3并不大于n。因此,CP节点01停止对UP节点022执行第四操作,并开始对UP节点023执行第四操作。
在对UP节点023执行第四操作时,CP节点01确定UP节点023上虚拟MAC地址的数量5与参考数量3.3的第四差值1.7大于n。因此,CP节点01确定UP节点023为第二UP节点,并依次判断UP节点023上的虚拟MAC地址7、6、5、4、3是否能够被UP节点021的剩余负载容纳,直至确定UP节点023上能够被UP节点02的剩余负载容纳的1个虚拟MAC地址。若虚拟MAC地址7能够被UP节点021的剩余负载容纳,那么CP节点01便可以将虚拟MAC地址7转移至UP节点021。
在CP节点依次对UP节点022和023执行第四操作完毕后,UP节点021上的虚拟MAC地址包括:虚拟MAC地址7和8;UP节点022上的虚拟MAC地址包括:虚拟MAC地址1和2;UP节点023上的虚拟MAC地址包括:虚拟MAC地址3、4、5和6。此时,相比在CP节点01依次对UP节点022和023执行第四操作之前,UP节点021和其他UP节点上虚拟MAC地址的数量差异减小,各个UP节点上虚拟MAC地址的数量趋于均衡。
在示例3中,以S702中CP节点按照虚拟MAC地址的负载依次增高的顺序,依次判断第一UP节点上的各个虚拟MAC地址是否能够被目标UP节点的剩余负载容纳,以及S802中CP节点按照虚拟MAC地址的负载依次增高的顺序,依次判断第二UP节点上的各个虚拟MAC地址是否能够被目标UP节点的剩余负载容纳为例。当然,CP节点也可以按照其他顺序依次判断第一UP节点上的各个虚拟MAC地址是否能够被目标UP节点的剩余负载容纳,以及按照其他顺序依次判断第二UP节点上的各个虚拟MAC地址是否能够被目标UP节点的剩余负载容纳。比如,该其他顺序可以是虚拟MAC地址的负载依次降低的顺序等。
在本申请实施例提供的通信方法中,CP节点可以执行上述示例1、2和3中至少一种示例中的方法。其中,上述示例1涉及第一UP节点故障的场景,上述示例2和3涉及第一UP节点未故障的场景。通常多个UP节点中存在故障的UP节点的概率较小,此时,可以通过上述示例2和3提供的方案,促进多个UP节点之间的负载均衡。
进一步地,在本申请实施例中,CP节点可以多次执行优先级分配操作(如周期性地执行优先级分配操作)。在每次执行优先级分配操作时,CP可以向多个UP节点中的至少一个UP节点发送这些UP节点响应用户请求(也称用户发送的请求报文)的优先级,并且,在该至少一个UP节点包括至少两个UP节点时,不同UP节点响应用户请求的优先级不同。并且,CP节点在不同次执行优先级分配操作的过程中可以向相同或不同的UP节点发送UP节点响应用户请求的优先级,本申请实施例对此不作限定。
UP节点在接收到其响应用户请求的优先级后,可以根据该优先级确定该UP节点响应用户请求的时延。UP节点响应用户请求的时延与UP节点响应用户请求的优先级负相关,也就是说,UP节点响应用户请求的优先级越高,那么该UP节点响应用户请求的时延越低。这样一来,响应用户请求的最高优先级的UP节点响应用户请求的时延最短,响应用户请求的最低优先级的UP节点响应用户请求的时延最长。
用户与UP节点之间的报文均可以基于以太网(ethernet)协议完成链路层封装,此时用户与UP节点之间可以采用点到点协议(Point to Point Protocol,PPP)、以太网上的网际互连协议(Internet Protocol over Ethernet,IPoE)等协议通信连接。用户在上线过程中发送的首个请求报文(用户请求)均以广播方式发送到该多个UP节点。接收到响应用户请求的优先级的UP节点在根据该优先级确定上述时延后,可以在该时延后响应该用户请求(如向用户发送该用户请求的响应)。用户可以接入第一个响应该用户的用户请求的UP节点(如响应用户请求的优先级最高的UP节点,响应用户请求的时延最短的UP节点)。另外,若具有响应用户请求的最高优先级的UP节点与用户之间的链路发生异常,如该链路拥塞或链路故障时,用户仍然可以接入其它UP节点(如具有响应用户请的次高优先级的UP节点)。
可以看出,上线的用户会接入第一个响应该用户的用户请求的UP节点,而UP节点响应用户请求的顺序与UP节点响应用户的优先级相关。该优先级是由CP节点在执行优先级分配操作时发送的,所以,CP节点可以通过执行优先级分配操作,指定上线的用户接入的UP节点。当两次优先级分配操作过程中具有响应用户请求的最高优先级的UP节点发生变化时,那么上线的用户接入的UP节点可能也发生变化,从而可以避免上线的用户均接入同一UP节点,从而促进了多个UP节点的负载均衡。
进一步地,CP节点多次执行优先级分配操作的方式多种多样。以下将以其中的几种方式为例进行讲解。
(1)CP节点多次执行优先级分配操作的方式1:
如图12所示,CP节点多次执行优先级分配操作时,CP节点用于执行的通信方法可以包括:
S901、在第一时刻,CP节点根据多个UP节点中每个UP节点与CP节点之间链路的质量,向多个UP节点中的第一UP节点发送第一UP节点响应用户请求的第一优先级。
S902、在第二时刻,CP节点根据多个UP节点中每个UP节点与CP节点之间链路的质量,向多个UP节点中的第二UP节点发送第二UP节点响应用户请求的第二优先级,第二UP节点与第一UP节点不同。
上述S901中,CP节点在第一时刻执行一次优先级分配操作,以向至少一个UP节点(包括第一UP节点)发送UP节点响应用户请求的优先级;上述S902中,CP节点在第二时刻执行另一次优先级分配操作,以向至少一个UP节点(包括与第一UP节点不同的第二UP节点)发送UP节点响应用户请求的优先级。这样一来,CP节点便可以在不同次的优先级分配操作中,向不同的第一UP节点和第二UP节点发送响应用户请求的优先级。在第一UP节点为S901中的至少一个UP节点中响应用户请求的优先级最高的UP节点,且第二UP节点为S902中的至少一个UP节点中响应用户请求的优先级最高的UP节点时,能够使用户在第一时刻和第二时刻接入不同的UP节点。
当然,第一UP节点和第二UP节点也可以相同,此时CP节点也可以在不同次的优先级分配操作中,向相同的第一UP节点和第二UP节点发送响应用户请求的优先级,本申请实施例对此不作限定。并且,当CP节点在不同次的优先级分配操作中,第一UP节点接收到的响应用户请求的第一优先级与第二UP节点接收到的响应用户请求的第二优先级可以相同也可以不同。比如,第一优先级高于第二优先级;或者,第二优先级高于第一优先级。
需要说明的是,用户在上线过程中,用户请求会发送至UP节点,UP节点在响应用户请求之前,需要向CP节点发送报文,以使得CP节点根据该报文完成与该用户相关的一些操作(如认证、授权等),之后,CP节点会将这些操作的结果携带在该报文的响应报文中反馈给UP节点,以便于UP节点根据这些操作的结果响应该用户请求。可见,UP节点响应用户请求之前,UP节点需要与CP节点通信,且该通信的效率影响UP节点响应用户请求的效率。UP节点与CP节点的通信效率又与该UP节点与CP节点之间链路的质量正相关,所以,UP节点响应用户请求的效率与该UP节点与CP节点之间链路的质量正相关。若UP节点与CP节点之间链路的质量较差,则在用户上线的过程中,UP节点与CP节点之间传输的报文可能出现因链路拥塞和链路可靠性较低等问题而导致丢包或重传,从而影响用户的上线性能,严重时可能会导致用户无法接入该UP节点。
根据上述S901和S902可知,本申请实施例中CP节点在每次执行优先级分配操作时,可以根据多个UP节点中每个UP节点与CP节点之间链路的质量,向UP节点(如第一UP节点或第二UP节点)发送UP节点响应用户请求的优先级。在多个UP节点中具有更高优先级的UP节点优先响应用户的接入请求。可见,在本申请实施例中,UP节点响应用户请求的优先级与UP节点与CP节点之间链路的质量相关。这样一来,CP节点便可以结合每个UP节点与CP节点之间链路的质量,确定UP节点响应用户请求的优先级,以使UP节点响应用户请求的优先级更加合理。
示例地,UP节点响应用户请求的优先级可以与UP节点与CP节点之间链路的质量正相关。比如,在一次执行优先级分配操作过程中,CP节点向至少两个UP节点发送响应用户请求的优先级,并且,对于该至少两个UP节点,与CP节点之间链路的质量较高的UP节点具有较高的响应用户请求的优先级,与CP节点之间链路的质量较低的UP节点具有较低的响应用户请求的优先级。又比如,在不同优先级分配操作过程中接收到响应用户请求的优先级的两个UP节点,与CP节点之间链路的质量较高的UP节点具有较高的响应用户请求的优先级,与CP节点之间链路的质量较低的UP节点具有较低的响应用户请求的优先级。示例地,在上述S902中的第二优先级高于S901中的第一优先级时,第二UP节点与CP节点之间链路的质量,高于第一UP节点与CP节点之间链路的质量。
在UP节点响应用户请求的优先级与UP节点与CP节点之间链路的质量正相关时,CP节点便可以设置与CP节点之间链路的质量最高的UP节点的响应用户请求的优先级最高,从而使得用户可以接入该UP节点,保证UP节点响应用户请求的高效率,提升用户体验。
可选地,多个UP节点中的至少一个UP节点与CP节点之间链路的质量,在第二时刻相对第一时刻发生变化。可见,在CP节点在执行不同的优先级分配操作时,若多个UP节点中至少一个UP节点与CP节点之间链路的质量发生变化,则不同的优先级分配操作中接收到响应用户请求的优先级的至少一个UP节点发生变化(如由第一UP节点变为第二UP节点)。
本申请实施例中,CP节点在执行优先级分配操作的过程中,可以根据每个UP节点与CP节点之间链路的质量,向至少一个UP节点发送UP节点响应用户请求的优先级。在至少一次优先级分配操作中,对于接收到响应用户请求的优先级的UP节点,该UP节点与CP节点之间链路的质量高于或等于质量阈值,这样一来,便使得响应用户请求的UP节点(接收到响应用户请求的优先级的UP节点)与CP节点之间链路的质量较高,保证该UP节点对用户请求的响应效率较高。而与CP节点之间链路的质量低于质量阈值的UP节点,该UP节点对用户请求的响应效率较低,因此,CP节点可以不向该UP节点发送响应用户请求的优先级,以避免该UP节点响应用户请求。当然,也可以是CP节点在执行优先级分配操作的过程中,向每个UP节点均发送UP节点响应用户请求的优先级,以使每个UP节点均响应用户请求,本申请实施例对此不作限定。
可选地,CP节点每次执行的优先级分配操作中,对于接收到响应用户请求的优先级的UP节点,该UP节点与CP节点之间链路的质量高于或等于质量阈值。或者,CP节点一些次执行的优先级分配操作中,对于接收到响应用户请求的优先级的UP节点,该UP节点与CP节点之间链路的质量高于或等于质量阈值;但CP节点另一些次执行的优先级分配操作中,对于接收到响应用户请求的优先级的UP节点,该UP节点与CP节点之间链路的质量也可以小于质量阈值。比如,S901中的第一UP节点与CP节点之间链路的质量高于或等于第一质量;以及,S902中的第二UP节点与CP节点之间链路的质量高于或等于第二质量。该第一质量为S901中的质量阈值,第二质量为S902中的质量阈值。又比如,S901中的第一UP节点与CP节点之间链路的质量高于或等于第一质量;或者,S902中的第二UP节点与CP节点之间链路的质量高于或等于第二质量。
在CP节点执行的优先级分配操作中,若接收到响应用户请求的优先级的UP节点与CP节点之间链路的质量高于或等于质量阈值,则能够避免向与CP节点之间链路的质量低于质量阈值的UP节点发送响应用户请求的优先级,避免该UP节点响应用户请求,保证用户通信的可靠性。当然,本申请实施例也可以是在每次优先级分配操作中,每个UP节点都会接收到CP节点发送的响应用户请求的优先级,本申请实施例对此不作限定。
进一步地,对于不同次的优先级分配操作,质量阈值可以相同也可以不同。比如S901中的质量阈值(第一质量)与S902中的质量阈值(第二质量)可以相同也可以不同。
UP节点与CP节点之间的链路质量可以通过UP节点与CP节点的至少一种通信参数衡量。该至少一种通信参数可以包括UP节点与CP节点之间的网络层参数和/或链路层参数。比如,该至少一种参数可以包括:CP节点到该UP节点的报文队列的深度(一种网络层参数),以及CP节点中对应该UP节点的可用的发送令牌的数量(一种网络层参数)中的至少一种。
示例地,UP节点与CP节点之间的链路质量与CP节点到该UP节点的报文队列的深度负相关,当该报文队列的深度未超过深度阈值(如深度阈值为报文队列的总深度的30%)时,CP节点可以确定该链路质量较好,当该报文队列的深度超过该深度阈值时,CP节点可以确定该链路质量较差。和/或,UP节点与CP节点之间的链路质量与CP节点中对应该UP节点的可用的发送令牌的数量正相关,当CP节点中对应该UP节点的可用的发送令牌的数量超过数量阈值时,CP节点可以确定该链路质量较好,当CP节点中对应该UP节点的可用的发送令牌的数量未超过该数量阈值时,CP节点可以确定该链路质量较差。
需要说明的是,在UP节点与CP节点通信的过程中,CP节点会将需要发送给UP节点的报文加入CP节点到该UP节点的报文队列,之后,再依次发送该报文队列中的报文。当UP节点与CP节点之间的链路质量较高时,CP节点向该UP节点发送的绝大多数报文都已发出,该报文队列中等待发送的报文较少,该报文队列的长度较短。因此,UP节点与CP节点之间的链路质量与CP节点到该UP节点的报文队列的深度负相关。
另外,CP节点上配置了每个UP节点对应的一定数量的发送令牌,在UP节点与CP节点通信的过程中,CP向该UP发送的每个报文均需要携带一个发送令牌,并且,在该报文传输至该UP节点后,该UP节点向CP节点发送的该报文的响应报文也会携带有该发送令牌。在CP节点向UP节点发送报文之后,以及CP节点接收到该报文的响应报文之前,该报文中携带的该UP节点对应的发送令牌不可用。如果此时CP节点需要向该UP节点发送报文,则需要在该报文中携带该UP节点对应的另一可用的发送令牌。当UP节点与CP节点之间的链路质量较高时,CP节点发送给该UP节点的绝大多数报文都会快速有响应报文传输至CP节点,此时,CP节点上该UP节点对应的可用的发送令牌较多,因此,UP节点与CP节点之间的链路质量与CP节点中对应该UP节点的可用的发送令牌的数量正相关。
UP节点与CP节点之间链路的质量可以是该链路在一个时刻的质量,或者该链路在一个时间段的质量。当UP节点与CP节点之间链路的质量是该链路在一个时间段的质量时,该链路的质量高于或等于质量阈值是指:该链路在该一个时间段(如5秒、6秒等)内的各个时刻的质量均高于某一质量,或者,该链路在该一个时间段(如5秒、6秒等)内低于该质量的时长小于时长阈值,该时长阈值小于该时间段的时长。当UP节点与CP节点之间链路的质量是该链路在一个时间段的质量时,通过对该链路在一个时间段内质量进行检测,能够保证CP节点确定出的该链路的质量较为准确,避免该链路不稳定而影响用户上线。
(2)CP节点多次执行优先级分配操作的方式2:
在上述CP节点多次执行优先级分配操作的方式(1)的基础上,UP节点响应用户请求的优先级不仅与UP节点与CP节点之间链路的质量正相关,UP节点响应用户请求的优先级还可以与UP节点的负载负相关。
当UP节点响应用户请求的优先级与UP节点的负载负相关时,若UP节点的负载较高,则说明该UP节点不太适合再接入更多的用户,因此,CP节点可以将该UP节点响应用户请求的优先级适当降低。若UP节点的负载较低,则说明该UP节点还可以接入更多的用户,因此,CP节点可以将该UP节点响应用户请求的优先级适当提高。这样一来,CP节点在确定用户接入的UP节点时,不仅可以考虑UP节点与CP节点之间的链路的质量,还可以考虑UP节点的负载,从而避免UP节点超载,促进多个UP节点之间的负载均衡。
示例地,UP节点响应用户请求的优先级与该UP节点的优先级参数负相关。UP节点的优先级参数P=L*C1+(1-R)*C2,L表示该UP节点的负载(如负载率),R表示该UP节点与CP节点之间链路的质量(可以用百分比表示),C1和C2均为常数,且C1+C2=1。可选地,C2可以大于C1,或者,C2小于C1,或者C2等于C1。在C2大于C1时,UP节点与CP节点之间链路的质量对该UP节点响应用户请求的优先级影响较高,从而避免响应用户请求的最高优先级的UP节点与CP节点之间链路的质量较差。在C1大于C2时,UP节点的负载对该UP节点响应用户请求的优先级影响较高,从而避免响应用户请求的最高优先级的UP节点的负载较高。在C2等于C1时,UP节点与CP节点之间链路的质量和该UP节点的负载对该UP节点响应用户请求的优先级影响相同。
可选地,类似方式1,在方式2中,CP节点每次执行的优先级分配操作中,对于接收到响应用户请求的优先级的UP节点,该UP节点与CP节点之间链路的质量高于或等于质量阈值。或者,CP节点一些次执行的优先级分配操作中,对于接收到响应用户请求的优先级的UP节点,该UP节点与CP节点之间链路的质量高于或等于质量阈值;但CP节点另一些次执行的优先级分配操作中,对于接收到响应用户请求的优先级的UP节点,该UP节点与CP节点之间链路的质量也可以小于质量阈值。又或者,CP节点每次执行的优先级分配操作中,每个UP节点都会接收到响应用户请求的优先级。
(3)CP节点多次执行优先级分配操作的方式3:
CP节点在多次执行优先级分配操作时,具有响应用户请求的最高优先级的UP节点在多个UP节点之间轮询。这样一来,便可以使得多个UP节点依次接入用户,从而促进各个UP节点之间负载均衡。
可选地,在CP节点在多次执行优先级分配操作时,当具有响应用户请求的最高优先级的UP节点轮询到某一UP节点时,该UP节点满足跳过条件,则CP节点可以跳过该UP节点,并将该UP节点的下一UP节点设置为具有响应用户请求的最高优先级的UP节点。该跳过条件可以包括:该UP节点与CP节点之间的链路的质量低于质量阈值,和/或,该UP节点的负载高于负载阈值。这样一来,便可以避免将满足跳过条件的UP节点设置为响应用户请求的最高优先级的UP节点,避免用户接入这些UP节点,保证用户的上线效率。
(4)CP节点多次执行优先级分配操作的方式4:
CP节点在每次执行优先级分配操作时,均设置负载最低的UP节点为响应用户请求的最高优先级的UP节点。这样一来,便可以使得用户接入当前负载最低的UP节点,从而避免UP节点超载,促进多个UP节点之间的负载均衡。需要说明的是,随着用户的上线和下线,各个UP节点的负载会发生变化,CP节点在不同次执行优先级分配操作时负载最低的UP节点可能会发生变化,也可能不发生变化。
进一步地,无论CP节点采用何种优先级分配操作的方式,在每次优先级分配操作的过程中,对于接收到响应用户请求的UP节点,CP节点或该UP节点均需要指定该UP节点所响应的用户待接入的虚拟MAC地址。该MAC地址可以是该UP节点的任一虚拟MAC地址。在用户广播的用户请求发送至各个UP节点后,若UP节点需要回应该用户请求,那么UP节点还需要在回应该用户请求时携带该用户待接入的虚拟MAC地址。
该虚拟MAC地址可以是由UP节点或CP节点指定。当该虚拟MAC地址由CP节点指定时,CP节点可以将该UP节点响应用户请求的优先级,以及该UP节点响应用户请求时所采用的虚拟MAC地址携带在同一报文(或者不同的报文)中发送给该UP节点。当该虚拟MAC地址由该UP节点指定时,该UP节点可以在每接收到响应用户请求的优先级后,指定一个虚拟MAC地址为用户待接入的虚拟MAC地址。
CP节点或UP节点可以根据一定的负载均衡策略,选择用户在UP节点上待接入的虚拟MAC地址。比如,在多次优先级分配操作的过程中,用户在UP节点上待接入的虚拟MAC地址在该UP节点的各个虚拟MAC地址之间轮询,从而促进各个虚拟MAC地址的负载均衡。或者,在每次优先级分配操作的过程中,用户在UP节点上待接入的虚拟MAC地址为该UP节点的各个虚拟MAC地址中负载最低的虚拟MAC地址,从而能够避免某些虚拟MAC地址的负载过高,促进各个虚拟MAC地址的负载均衡。
根据以上内容可知,本申请提供的通信方法中,CP节点不仅可以考虑多个UP节点之间的负载均衡,还可以考虑多个UP节点上多个虚拟MAC地址之间的负载均衡。这样一来,多个虚拟MAC地址中不会存在负载过大的虚拟MAC地址,当CP节点在将某一UP节点(如故障的UP节点)上的虚拟MAC地址转移至其他UP节点时,可以较容易找到剩余负载能够容纳该虚拟MAC地址的目标UP节点,使得该虚拟MAC地址具有较高的转移成功率。并且,由于各个虚拟MAC地址的负载较为均衡,且在转移虚拟MAC地址的过程中同时还会考虑UP节点之间的负载均衡,因此,能够使得转移出的虚拟MAC地址较为均匀的转移至多个UP节点。在转移虚拟MAC地址之后,各个UP节点可以具有相近的负载,使得各个UP节点的负载能够趋于均衡。
进一步地,本申请实施例还提供了一种宽带网络接入方法,应用于CU分离的BNG系统,CU分离的BNG系统是指:包括CP节点(简称CP)和UP节点(简称UP)的BNG系统。BNG系统也称vBNG系统。
示例地,BNG系统包括第一UP和第二UP,本申请实施例提供的宽带网络接入方法包括:第一UP将第一用户接入网络,以及第二UP将第二用户接入网络;基于第一UP发生故障,第二UP将第一用户接入网络。可见,第一UP和第二UP均可以将用户接入网络,且在第一UP故障时,原本由第一UP接入网络的第一用户可以由第二UP接入网络。并且,在第一UP故障之前,第二UP还可以将第二用户接入网络,即第一UP和第二UP之间实现N+1温备份技术,从而避免了第二UP的资源闲置。
又示例地,BNG系统包括第一UP、第二UP和第三UP,本申请实施例提供的宽带网络接入方法包括:第一UP将第一用户和第二用户接入网络;第二UP将第三用户接入网络;第三UP将第四用户接入网络;基于第一UP发生故障,第二UP将第一用户接入网络,第三UP将第二用户接入网络。可见,第一UP、第二UP和第三UP均可以将用户接入网络,且在第一UP故障时,原本由第一UP接入网络的第一用户和第二用户可以由第二UP和第三UP接入网络。其中,第一用户由第三UP接入网络,第二用户由第四UP接入网络,这样一来,第二UP和第三UP可以实现负载均衡,避免将第一用户和第二用户均接入第二UP或第三UP,而导致第二UP或第三UP超载和故障。并且,在第一UP故障之前,第二UP还可以将第三用户接入网络,第三UP还可以将第四用户接入网络,即第一UP、第二UP和第三UP之间实现N+1温备份技术,从而避免了第二UP和第三UP的资源闲置。
上文中结合图1至图12,详细描述了本申请所提供的通信方法,可以理解的是,设备为了实现上述各方法所描述的功能,其需包含执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各方法的执行过程,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方式来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本实施例可以根据上述方法实施例对相应的设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块可以采用硬件的形式实现。需要说明的是,本实施例中对模块的划分是示意性的,具体作为一种逻辑功能可能的划分方式,实际实现时可以有另外的划分方式。
当采用功能模块划分方式时,下面将结合图13和图14描述本申请所提供的通信装置。
图13为本申请实施例提供的一种通信装置的框图,该通信设备例如可以属于前述各实施例中的CP节点。该通信装置包括:第一转移模块1001。
第一转移模块1001,用于基于所述多个UP节点中的目标UP节点满足目标条件,将所述多个虚拟MAC地址中的第一虚拟MAC地址从所述多个UP节点中的第一UP节点转移至所述目标UP节点;其中,所述目标条件与所述目标UP节点的负载相关。第一转移模块1001用于执行的操作可以参考前述实施例中相关的描述,本申请实施例在此不做赘述。
在采用N:1温备技术的相关技术中,CP节点在转移虚拟MAC地址时,并未考虑与负载相关的目标条件,而是直接将虚拟MAC地址转移至备份UP节点。当CP节点多次将不同的虚拟MAC地址转移至固定的备份UP节点时,较容易导致备份UP节点超载和故障。而本申请中,CP节点在转移虚拟MAC地址时,需要考虑目标UP节点满足与负载相关的目标条件,进而才能将第一虚拟MAC地址转移至目标UP节点。可见,本申请提供了CP节点的另一种虚拟MAC地址转移的方式,丰富了CP节点的功能。并且,本申请中,在CP节点多次执行转移第一虚拟MAC地址的操作时,多次根据目标条件选中的多个目标UP节点可能不同。这样一来,多次转移的多个第一虚拟MAC地址可能会被转移至不同的目标UP节点,从而能够降低将多个第一虚拟MAC地址转移至一个UP节点而导致该UP节点超载和故障的概率。
另外,在采用N:1温备技术的相关技术中,CP节点在向备份UP节点转移虚拟MAC地址之前,备份UP节点并不具有用于接入用户的虚拟MAC地址,因此会造成备份UP节点的资源闲置。而本申请中,多个UP节点具有用于接入用户的多个虚拟MAC地址,且本申请实施例中以多个UP节点中的每个UP节点均具有用于接入用户的虚拟MAC地址为例。例如,在将第一虚拟MAC地址从第一UP节点转移至目标节点之前,目标节点可以具有其他虚拟MAC地址,例如第二虚拟MAC地址。这种情况也可以称为N+1温备技术。这种情况下,CP节点在具有虚拟MAC地址的多个UP节点中确定目标UP节点,并将第一虚拟MAC地址转移至目标UP节点。并且,在CP节点将第一虚拟MAC地址转移至目标UP节点之前,由于目标UP节点具有用于接入用户的虚拟MAC地址,因此,目标UP节点也能够与用户通信,避免了目标UP节点的资源闲置,提升了vBNG系统的通信效率。本申请采用N+1温备技术,可以不区分多个UP节点中的活动UP节点和备份UP节点。
需要说明的是,目标UP节点的负载可以与目标UP节点的至少一种参数相关,可以利用这至少一种参数衡量目标UP节点的负载。示例地,该至少一种参数包括目标UP节点上所承载的用户数、用户带宽等。比如,目标UP节点的负载与目标UP节点上所承载的用户数正相关。目标UP节点具有用于接入用户的一个或多个虚拟MAC地址,该虚拟MAC地址可以用于承载用户,目标UP节点承载的用户数可以是目标UP节点上的所有虚拟MAC地址承载的用户数之和。
进一步地,本申请实施例中,CP节点基于目标UP节点满足目标条件,将第一虚拟MAC地址从第一UP节点转移至目标UP节点。此处的第一UP节点、第一虚拟MAC地址和目标UP节点均可以具有多种可实现方式。
(1)对于第一虚拟MAC地址来说,第一虚拟MAC地址可以是第一UP节点上的任一虚拟MAC地址。
可选地,第一虚拟MAC地址可以是第一转移模块1001在第一UP节点上随机选择的虚拟MAC地址;
或者,在第一转移模块1001将第一虚拟MAC地址转移至目标UP节点之前,第一虚拟MAC地址可以为第一UP节点上能够被目标UP节点的剩余负载容纳的负载最高的虚拟MAC地址。这种情况下,将第一虚拟MAC地址转移至目标UP节点能够大幅度地降低第一UP节点的负载,促进多个UP节点的负载均衡;
或者,在第一转移模块1001将第一虚拟MAC地址转移至目标UP节点之前,第一虚拟MAC地址可以为第一UP节点上能够被目标UP节点的剩余负载容纳的负载最低的虚拟MAC地址。这种情况下,将第一虚拟MAC地址转移至目标UP节点能够降低第一UP节点的负载,且目标UP节点的负载不会较高,提升多个UP节点实现负载均衡的概率;
或者,在第一转移模块1001将第一虚拟MAC地址转移至目标UP节点之前,第一虚拟MAC地址可以为第一UP节点上接入用户且能够被目标UP节点的剩余负载容纳的负载最低的虚拟MAC地址。这种情况下,将第一虚拟MAC地址转移至目标UP节点能够降低第一UP节点的负载,且目标UP节点的负载不会较高,提升多个UP节点实现负载均衡的概率;并且,由于第一虚拟MAC地址接入用户,因此还可以实现将第一虚拟MAC地址接入的用户转移至目标UP节点。
需要说明的是,虚拟MAC地址的负载可以与虚拟MAC地址的至少一种参数相关,可以利用这至少一种参数衡量虚拟MAC地址的负载。示例地,该至少一种参数包括虚拟MAC地址所承载的用户数、用户带宽等。比如,虚拟MAC地址的负载与虚拟MAC地址所承载的用户数正相关。
(2)对于目标UP节点来说,目标UP节点满足目标条件,该目标条件可以是与负载相关的任一种条件。
(2.1)示例地,目标条件包括:目标UP节点的剩余负载能够容纳第一虚拟MAC地址。这种情况下,在第一转移模块1001将第一虚拟MAC地址转移至目标UP节点后,目标UP节点不会超载,从而避免了目标UP节点故障。
(2.2)又示例地,目标条件包括:目标UP节点为多个UP节点中除第一UP节点之外的UP节点中,剩余负载能够容纳第一虚拟MAC地址的负载最低的UP节点。这样一来,将第一虚拟MAC地址转移至目标UP节点不会导致目标UP节点的负载远远超出剩余UP节点,能够促进多个UP节点的负载均衡。
(3.3)再示例地,目标条件包括:目标UP节点的负载小于第一UP节点的负载。在这种情况下,在第一转移模块1001将第一虚拟MAC地址转移至目标UP节点后,能够使第一UP节点的负载降低,以及使目标UP节点的负载升高,从而可以使得多个UP节点趋于负载均衡。
(2.4)再示例地,目标条件包括:目标UP节点上虚拟MAC地址的数量小于第一UP节点上虚拟MAC地址的数量。
需要说明的是,在目标条件包括目标UP节点上虚拟MAC地址的数量小于第一UP节点上虚拟MAC地址的数量时,将第一虚拟MAC地址从第一UP节点转移至目标UP节点,能够使第一UP节点上虚拟MAC地址的数量和目标UP节点上虚拟MAC地址的数量趋于均衡。随着时间的推移,用户会不断上线和下线,各个虚拟MAC地址的负载会趋于均衡,此时,若第一UP节点上虚拟MAC地址的数量和目标UP节点上虚拟MAC地址的数量趋于均衡,那么就会使多个UP节点的负载趋于均衡。
(2.5)再示例地,目标条件包括:参考数量与目标UP节点上虚拟MAC地址的数量的第一差值大于m,m≥0;参考数量S=((Z-1)/N)+1,Z表示多个虚拟MAC地址中虚拟MAC地址的数量,N表示多个UP节点中UP节点的数量。
参考数量与多个UP节点上虚拟MAC地址的均值相关,在参考数量与目标UP节点上虚拟MAC地址的数量的第一差值大于m时,说明目标UP节点上的虚拟MAC地址的数量较少,此时需要向目标UP节点上转移虚拟MAC地址,以使多个UP节点上的虚拟MAC地址的数量趋于均衡。随着时间的推移,用户会不断上线和下线,各个虚拟MAC地址的负载会趋于均衡,此时,若多个UP节点上虚拟MAC地址的数量趋于均衡,那么就会使多个UP节点的负载趋于均衡。
(2.6)再示例地,目标条件包括:目标UP节点为多个UP节点中的新增UP节点,新增UP节点可以不具有用于接入用户的虚拟MAC地址。该新增UP节点可以是故障修复后重新加入该多个UP节点的UP节点,也可以是未曾故障也未曾加入该多个UP节点的UP节点。本申请中以目标UP节点为新增UP节点为例,当然,该目标UP节点也可以不是新增UP节点,本申请对此不作限定。
本申请中,上述(2.1)至(2.6)共提供了目标条件中的六种条件,可以理解的是,目标条件可以包括这六种条件中的至少一种条件,本申请对此不作限定。在目标条件包括这六种条件中的至少两种条件时,目标UP节点需要同时满足该至少两种条件,第一转移模块1001需要根据该至少两种条件,查找同时满足该至少两种条件的目标UP节点。
(3)对于第一UP节点来说,第一UP节点可以是多个UP节点中的任一UP节点。
可选地,第一UP节点可以是多个UP节点中的故障节点或未故障节点。
一方面,在第一UP节点为故障节点时,第一转移模块1001在基于目标UP节点满足目标条件,将第一虚拟MAC地址从第一UP节点转移至目标UP节点时,可以基于目标UP节点满足目标条件且第一UP节点故障,将第一虚拟MAC地址从第一UP节点转移至目标UP节点。可见,在多个UP节点中出现故障节点(第一UP节点),且目标UP节点满足目标条件时,CP可以将第一UP节点上的第一虚拟MAC地址转移至目标UP节点,从而避免由于第一UP节点故障而导致的第一虚拟MAC地址所接入的用户的通信中断。
另一方面,在第一UP节点为未故障节点时,第一转移模块1001将第一虚拟MAC地址从第一UP节点上转移至目标UP节点上,能够使得第一虚拟MAC地址承载的用户从第一UP节点上转移至目标UP节点,且可以使用户无感知。
可选地,在第一UP节点为未故障节点时,第一UP节点为多个UP节点中具有能够被目标UP节点的剩余负载容纳的虚拟MAC地址的负载最高的UP节点。这种情况下,将第一虚拟MAC地址从第一UP节点转移至目标UP节点,能够降低第一UP节点的负载,避免第一UP节点超载,促进了多个UP节点的负载均衡。
可以理解的是,在第一UP节点为未故障节点时,第一UP节点还可以有其他实现方式。
比如,在第一UP节点为未故障节点时,第一UP节点也可以是第一转移模块1001在多个UP节点中随机选择的UP节点。
又比如,在第一UP节点为未故障节点时,第一UP节点也可以是虚拟MAC地址的数量与参考数量的第二差值大于m的UP节点;其中,m≥0;参考数量S=((Z-1)/N)+1,Z表示多个虚拟MAC地址中虚拟MAC地址的数量,N表示多个UP节点中UP节点的数量。
需要说明的是,参考数量与多个UP节点上虚拟MAC地址的均值相关,在第一UP节点上的虚拟MAC地址的数量与参考数量的第二插值大于m时,说明第一UP节点上的虚拟MAC地址的数量较多,此时需要将第一UP节点上的第一虚拟MAC地址转移至其他UP节点,以使多个UP节点上的虚拟MAC地址的数量趋于均衡。随着时间的推移,用户会不断上线和下线,各个虚拟MAC地址的负载会趋于均衡,此时,若多个UP节点上虚拟MAC地址的数量趋于均衡,那么就会使多个UP节点的负载趋于均衡。
本申请中以在第一UP节点上虚拟MAC地址的数量与参考数量的第二差值大于m,且第一UP节点上具有能够被目标UP节点的剩余负载容纳的至少一个虚拟MAC地址时,目标条件包括:参考数量与目标UP节点上虚拟MAC地址的数量的第一差值大于m为例。这种情况下,第一转移模块1001在将第一虚拟MAC地址从多个UP节点中的第一UP节点转移至目标UP节点时,可以将第一UP节点上的至少一个虚拟MAC地址从第一UP节点转移至目标UP节点。其中,第一UP节点上的该至少一个虚拟MAC地址中虚拟MAC地址的数量小于或等于第一差值和第二差值,并且该至少一个虚拟MAC地址包括上述第一虚拟MAC地址。在该至少一个虚拟MAC地址包括多个虚拟MAC地址时,第一转移模块1001可以一次性将多个虚拟MAC地址从第一UP节点转移至目标UP节点,且能够提升第一UP节点上虚拟MAC地址的数量和目标UP节点上虚拟MAC地址的数量趋于均衡的效率。
以上描述了本申请中第一UP节点的多种实现方式,第一虚拟MAC地址的多种实现方式,以及目标UP节点的多种实现方式(与目标条件的多种实现方式相关)。可以理解的是,本申请中第一UP节点的任一种实现方式,第一虚拟MAC地址的任一种实现方式,以及目标UP节点的任一种实现方式可以互相组合,所得到的通信装置均属于本申请的保护范围。
以下将以其中三个示例为例,对本申请保护的通信装置进行举例说明。
示例1,第一转移模块1001在基于所述目标UP节点满足目标条件且所述第一UP节点故障,将所述第一虚拟MAC地址从所述第一UP节点转移至所述目标UP节点时,可以基于第一UP节点故障,在所述第一UP节点上存在接入用户的虚拟MAC地址时,执行至少一次第一操作,直至所述第一UP节点上不存在接入用户的虚拟MAC地址,或者,直至所述多个UP节点中除所述第一UP节点之外的各个UP节点中不存在剩余负载能够容纳所述第一虚拟MAC地址的UP节点;其中,所述第一操作包括:在所述第一UP节点上接入用户的虚拟MAC地址中筛选负载最高的所述第一虚拟MAC地址;按照UP节点的负载依次增高的顺序,依次判断所述多个UP节点中除所述第一UP节点之外的各个UP节点的剩余负载是否能够容纳所述第一虚拟MAC地址,直至确定所述目标UP节点;将所述第一虚拟MAC地址转移至所述目标UP节点。
在示例1中,第一UP节点可以为故障节点,第一虚拟MAC地址可以为第一UP节点上接入用户且能够被目标UP节点的剩余负载容纳的负载最高的虚拟MAC地址,目标条件可以包括:目标UP节点为多个UP节点中除第一UP节点之外的UP节点中,剩余负载能够容纳第一虚拟MAC地址的负载最低的UP节点。
根据本示例的内容可知,第一转移模块1001在第一UP节点上接入用户的虚拟MAC地址中筛选第一虚拟MAC地址,这种情况下,经过多次重复执行第一操作,存在将故障的第一UP节点上接入用户的虚拟MAC地址均转移至其他UP节点的情况。这样一来,便可以将故障的第一UP节点上承载的用户转移至其他UP节点,保证这些用户的通信。
第一转移模块1001在第一UP节点上接入用户的虚拟MAC地址中筛选负载最高的第一虚拟MAC地址,则第一转移模块1001将第一虚拟MAC地址转移至目标UP节点能够大幅度地降低第一UP节点的负载,以及保证第一UP节点承载的较多用户(该第一虚拟MAC地址承载的用户)的通信不中断。若第一转移模块1001多次重复执行第一操作,则可以实现第一转移模块1001按照虚拟MAC地址的负载从高到低的顺序转移第一UP节点上接入用户的虚拟MAC地址,保证第一UP节点承载的较多用户的通信不中断。
第一转移模块1001选择的目标UP节点的剩余负载能够容纳第一虚拟MAC地址。这种情况下,在第一转移模块1001将第一虚拟MAC地址转移至目标UP节点后,目标UP节点不会超载,从而避免了目标UP节点故障。并且,第一转移模块1001按照UP节点的负载依次增高的顺序,依次判断多个UP节点中除第一UP节点之外的各个UP节点的剩余负载是否能够容纳第一虚拟MAC地址,直至确定目标UP节点。这样一来,第一转移模块1001选择的目标UP节点为多个UP节点中除第一UP节点之外的各个UP节点中,剩余负载能够容纳第一虚拟MAC地址的负载最低的UP节点,将第一虚拟MAC地址转移至目标UP节点不会导致目标UP节点的负载远远超出其他UP节点,能够促进多个UP节点的负载均衡。
示例2,第一转移模块1001在基于所述多个UP节点中的目标UP节点满足目标条件,将所述多个虚拟MAC地址中的第一虚拟MAC地址从所述多个UP节点中的第一UP节点转移至所述目标UP节点时,可以在所述目标UP节点并非所述多个UP节点中负载最高的UP节点时,执行至少一次第二操作,直至所述目标UP节点为所述多个UP节点中负载最高的UP节点,或者,直至所述多个UP节点中负载最高的UP节点上不存在能够被所述目标UP节点的剩余负载容纳的虚拟MAC地址;所述第二操作包括:在所述多个UP节点中筛选负载最高的所述第一UP节点;将所述第一UP节点上的至少一个虚拟MAC地址转移至所述目标UP节点,以更新所述多个UP节点的负载;所述至少一个虚拟MAC地址包括所述第一虚拟MAC地址。
在示例2中,第一UP节点可以为多个UP节点中除目标UP节点之外的UP节点中,具有能够被目标UP节点的剩余负载容纳的虚拟MAC地址的负载最高的UP节点;第一虚拟MAC地址可以为第一UP节点上能够被目标UP节点的剩余负载容纳的负载最高的虚拟MAC地址;目标条件可以包括:目标UP节点为新增UP节点。
根据本示例的内容可知,第一转移模块1001在多个UP节点中筛选负载最高的第一UP节点,则第一转移模块1001将第一虚拟MAC地址转移至目标UP节点能够大幅度地降低第一UP节点的负载,避免第一UP节点由于负载过高而故障,保证第一UP节点承载的较多用户(该第一虚拟MAC地址承载的用户)的通信不中断。经过多次重复执行第二操作,可以实现第一转移模块1001将多个UP节点中负载较高的UP节点的至少部分虚拟MAC地址转移至目标UP节点,促进多个UP节点的负载均衡。
第一转移模块1001按照虚拟MAC地址的负载依次降低的顺序,依次判断第一UP节点的各个虚拟MAC地址是否能够被目标UP节点的剩余负载容纳,直至确定第一虚拟MAC地址。这样一来,第一转移模块1001选择的第一虚拟MAC地址为第一UP节点上能够被目标UP节点的剩余负载容纳的虚拟MAC地址中,负载最高的虚拟MAC地址。将第一虚拟MAC地址转移至目标UP节点,能够提升多个UP节点的负载均衡的效率。
另外,当第一转移模块1001选择的第一虚拟MAC地址为:第一UP节点上能够被目标UP节点的剩余负载容纳的负载最低的虚拟MAC地址时,上第一转移模块1001可以按照虚拟MAC地址的负载依次增高的顺序,依次判断第一UP节点的各个虚拟MAC地址是否能够被目标UP节点的剩余负载容纳,直至确定第一虚拟MAC地址。
示例3,第一转移模块1001在基于所述多个UP节点中的目标UP节点满足目标条件,将所述第一UP节点上的至少一个虚拟MAC地址从所述第一UP节点转移至所述目标UP节点时,在所述第一差值大于m时,依次对所述多个UP节点中除所述目标UP节点之外的各个UP节点执行第三操作,直至所述第一差值小于或等于m;其中,所述第三操作包括:将所述第一UP节点上的至少一个虚拟MAC地址转移至所述目标UP节点,以更新各个UP节点上虚拟MAC地址的数量。
在示例3中,第一UP节点上虚拟MAC地址的数量可以与参考数量的第二差值大于m;第一虚拟MAC地址可以为第一UP节点上能够被目标UP节点的剩余负载容纳的负载最低的虚拟MAC地址;目标条件可以包括:目标UP节点为新增UP节点,且参考数量与目标UP节点上虚拟MAC地址的数量的第一差值大于m。
根据示例3的内容可知,第一转移模块1001确定出的第一UP节点上虚拟MAC地址的数量与参考数量的第二差值大于m,而参考数量与目标UP节点上虚拟MAC地址的数量的第一差值大于m,可见,第一UP节点上虚拟MAC地址的数量大于参考数量,且参考数量大于目标UP节点上虚拟MAC地址的数量。这样一来,将第一UP节点上的至少一个虚拟MAC地址转移到目标UP节点上,就能够使得第一UP节点和目标UP节点上虚拟MAC地址的数量趋于均衡,多个UP节点上虚拟MAC地址的数量趋于均衡。随着时间的推移,用户会不断上线和下线,各个虚拟MAC地址的负载会趋于均衡,此时,若第一UP节点上虚拟MAC地址的数量和目标UP节点上虚拟MAC地址的数量趋于均衡,那么就会使多个UP节点的负载趋于均衡。
第一转移模块1001选择的至少一个虚拟MAC地址为:第一UP节点上能够被目标UP节点的剩余负载容纳的负载较低的至少一个虚拟MAC地址。这种情况下,在第一转移模块1001将该至少一个虚拟MAC地址转移至目标UP节点后,目标UP节点不会超载,从而避免了目标UP节点故障。并且,将该至少一个虚拟MAC地址转移至目标UP节点,也不会导致目标UP节点的负载过高,从而能够提升多个UP节点的负载均衡的效率。
上述内容中,第一转移模块1001基于目标UP节点为多个UP节点中的新增UP节点,且参考数量与目标UP节点上虚拟MAC地址的数量的第一差值大于m,依次对多个UP节点中除目标UP节点之外的各个UP节点执行第三操作,直至第一差值小于或等于m。这样就实现了第一转移模块1001基于多个UP节点中的目标UP节点满足目标条件,将多个虚拟MAC地址中的第一虚拟MAC地址从多个UP节点中的第一UP节点转移至目标UP节点。
进一步地,假设第一UP节点为未故障节点,且第一UP节点上虚拟MAC地址的数量与参考数量的第二差值大于m,且第一UP节点上具有能够被目标UP节点的剩余负载容纳的至少一个虚拟MAC地址;目标条件包括:参考数量与目标UP节点上虚拟MAC地址的数量的第一差值大于m;第一转移模块1001基于目标UP节点满足目标条件,将第一UP节点上的至少一个虚拟MAC地址转移至目标UP节点。其中,第一UP节点上的该至少一个虚拟MAC地址中虚拟MAC地址的数量小于或等于第一差值和第二差值,第一UP节点上的该至少一个虚拟MAC地址包括第一虚拟MAC地址。那么,如图13所示,所述通信装置还包括:第二转移模块1002。
该第二转移模块1002用于:在第一转移模块1001基于多个UP节点中的目标UP节点满足目标条件,将多个虚拟MAC地址中的第一虚拟MAC地址从多个UP节点中的第一UP节点转移至目标UP节点之后,基于目标UP节点满足辅助条件,将多个UP节点中第二UP节点上的至少一个虚拟MAC地址转移至目标UP节点。其中,该辅助条件包括:参考数量与目标UP节点的虚拟MAC地址的数量的第三差值大于n;第二UP节点上虚拟MAC地址的数量与参考数量的第四差值大于或等于n;其中,n>m,第二UP节点上的该至少一个虚拟MAC地址能够被目标UP节点的剩余负载容纳;第二UP节点上的至少一个虚拟MAC地址中虚拟MAC地址的数量小于或等于第三差值和第四差值。第二转移模块1002用于执行的操作可以参考前述通信方法实施例中相关的描述,本申请实施例在此不做赘述。
示例地,第二转移模块用于基于目标UP节点为多个UP节点中的新增UP节点,且第三差值大于n,依次对多个UP节点中除目标UP节点之外的各个UP节点执行第四操作,直至第三差值小于或等于n。第四操作包括:将所述第二UP节点上的至少一个虚拟MAC地址转移至所述目标UP节点,以更新各个UP节点上虚拟MAC地址的数量。
根据上述内容可知,第二转移模块1002确定出的第二UP节点上虚拟MAC地址的数量与参考数量的第四差值大于n,而参考数量与目标UP节点上虚拟MAC地址的数量的第三差值大于n,可见,第二UP节点上虚拟MAC地址的数量大于参考数量,且参考数量大于目标UP节点上虚拟MAC地址的数量。这样一来,将第二UP节点上的至少一个虚拟MAC地址转移到目标UP节点上,就能够使得第二UP节点和目标UP节点上虚拟MAC地址的数量趋于均衡,多个UP节点上虚拟MAC地址的数量趋于均衡。随着时间的推移,用户会不断上线和下线,各个虚拟MAC地址的负载会趋于均衡,此时,若第二UP节点上虚拟MAC地址的数量和目标UP节点上虚拟MAC地址的数量趋于均衡,那么就会使多个UP节点的负载趋于均衡。
第二转移模块1002选择的至少一个虚拟MAC地址可以为:第二UP节点上能够被目标UP节点的剩余负载容纳的负载较低的至少一个虚拟MAC地址。这种情况下,在第二转移模块将该至少一个虚拟MAC地址转移至目标UP节点后,目标UP节点不会超载,从而避免了目标UP节点故障。并且,将该至少一个虚拟MAC地址转移至目标UP节点,也不会导致目标UP节点的负载过高,从而能够提升多个UP节点的负载均衡的效率。
本示例中,参考数量可以看做是UP节点上虚拟MAC地址的基准数量。在参考数量与目标UP节点上虚拟MAC地址的数量的第一差值大于m时,第一转移模块1001可以确定目标UP节点上虚拟MAC地址的数量与其他UP节点上虚拟MAC地址的数量存在一定的差异。此时第一转移模块1001需要向该目标UP节点转入虚拟MAC地址,促进各个UP节点的虚拟MAC地址的数量的均衡。并且,还可以使参考数量与目标UP节点上虚拟MAC地址的数量的第一差值减小。
在第一转移模块1001基于第一差值大于m,向目标UP节点转移虚拟MAC地址之后,若参考数量与目标UP节点的虚拟MAC地址的数量的第三差值大于n(n>m),则第二转移模块1002可以确定目标UP节点上虚拟MAC地址的数量与其他UP节点上虚拟MAC地址的数量差异较大。此时第二转移模块1002需要继续向该目标UP节点转入虚拟MAC地址,以进一步促进各个UP节点的虚拟MAC地址的数量的均衡。并且,还可以使参考数量与目标UP节点上虚拟MAC地址的数量的第三差值尽量小于或等于n,尽量避免目标UP节点上虚拟MAC地址的数量与其他UP节点上虚拟MAC地址的数量差异较大的情况,促进多个UP节点的负载均衡。
另外,若在第一转移模块1001基于第一差值大于m,向目标UP节点转移虚拟MAC地址之后,参考数量与目标UP节点的虚拟MAC地址的数量的第三差值小于或等于n,则第二转移模块1002可以确定目标UP节点上虚拟MAC地址的数量与其他UP节点上虚拟MAC地址的数量并不是差异较大,各个UP节点的虚拟MAC地址的数量较为均衡。所以,第二转移模块1002无需继续向该目标UP节点转入虚拟MAC地址。
可以理解的是,在第一转移模块1001基于多个UP节点中的目标UP节点满足目标条件,将多个虚拟MAC地址中的第一虚拟MAC地址从多个UP节点中的第一UP节点转移至目标UP节点之后,第二转移模块1002也可以不基于目标UP节点满足辅助条件,将多个UP节点中第二UP节点上的至少一个虚拟MAC地址转移至目标UP节点。
图14为本申请实施例提供的另一种通信装置的框图,该通信设备例如可以属于前述各实施例中的CP节点。该通信装置包括:第一发送模块1101和第二发送模块1102。
第一发送模块1101,用于在第一时刻,根据所述多个UP节点中每个UP节点与所述CP节点之间链路的质量,向所述多个UP节点中的第一UP节点发送所述第一UP节点响应用户请求的第一优先级;第一发送模块1101用于执行的操作可以参考图12所示的实施例中的S901,本申请实施例在此不做赘述。
第二发送模块1102,用于在第二时刻,根据所述多个UP节点中每个UP节点与所述CP节点之间链路的质量,向所述多个UP节点中的第二UP节点发送所述第二UP节点响应用户请求的第二优先级,所述第二UP节点与所述第一UP节点不同。第二发送模块1102用于执行的操作可以参考图12所示的实施例中的S902,本申请实施例在此不做赘述。
CP节点可以执行多次优先级分配操作,其中,上述第一时刻执行的操作为一次优先级分配操作,第二时刻执行的操作为另一次优先级分配操作。本申请实施例中CP节点在执行每次优先级操作时,可以根据多个UP节点中每个UP节点与CP节点之间链路的质量,向UP节点(如第一UP节点或第二UP节点)发送UP节点响应用户请求的优先级。在多个UP节点中具有更高优先级的UP节点优先响应用户的接入请求。可见,在本申请实施例中,UP节点响应用户请求的优先级与UP节点与CP节点之间链路的质量相关。这样一来,CP节点便可以结合每个UP节点与CP节点之间链路的质量,确定UP节点响应用户请求的优先级,以使UP节点响应用户请求的优先级更加合理。
可选地,多个UP节点中的至少一个UP节点与CP节点之间链路的质量,在第二时刻相对第一时刻发生变化。可见,在CP节点在执行不同的优先级分配操作时,若多个UP节点中至少一个UP节点与CP节点之间链路的质量发生变化,则不同的优先级分配操作中接收到响应用户请求的优先级的至少一个UP节点发生变化(如由第一UP节点变为第二UP节点)。
可选地,CP节点每次执行的优先级分配操作中,对于接收到响应用户请求的优先级的UP节点,该UP节点与CP节点之间链路的质量高于或等于质量阈值。或者,CP节点一些次执行的优先级分配操作中,对于接收到响应用户请求的优先级的UP节点,该UP节点与CP节点之间链路的质量高于或等于质量阈值;但CP节点另一些次执行的优先级分配操作中,对于接收到响应用户请求的优先级的UP节点,该UP节点与CP节点之间链路的质量也可以小于质量阈值。比如,第一UP节点与CP节点之间链路的质量高于或等于第一质量;以及,第二UP节点与CP节点之间链路的质量高于或等于第二质量。该第一质量为第一时刻的质量阈值,第二质量为第二时刻的质量阈值。又比如,第一时刻的第一UP节点与CP节点之间链路的质量高于或等于第一质量;或者,第二时刻的第二UP节点与CP节点之间链路的质量高于或等于第二质量。
在CP节点执行的优先级分配操作中,若接收到响应用户请求的优先级的UP节点与CP节点之间链路的质量高于或等于质量阈值,则能够避免向与CP节点之间链路的质量低于质量阈值的UP节点发送响应用户请求的优先级,避免该UP节点响应用户请求,保证用户通信的可靠性。当然,本申请也可以是在每次优先级分配操作中,每个UP节点都会接收到CP节点发送的响应用户请求的优先级,本申请对此不作限定。
进一步地,对于不同次的优先级分配操作,质量阈值可以相同也可以不同。比如第一时刻的质量阈值(第一质量)与第一时刻的质量阈值(第二质量)可以相同也可以不同。
可选地,当CP节点在不同次的优先级分配操作中,第一UP节点接收到的响应用户请求的第一优先级与第二UP节点接收到的响应用户请求的第二优先级可以相同也可以不同。比如,第一优先级高于第二优先级;或者,第二优先级高于第一优先级。
可选地,UP节点响应用户请求的优先级可以与UP节点与CP节点之间链路的质量正相关。比如,CP节点向至少两个UP节点发送响应用户请求的优先级,并且,对于该至少两个UP节点,与CP节点之间链路的质量较高的UP节点具有较高的响应用户请求的优先级,与CP节点之间链路的质量较低的UP节点具有较低的响应用户请求的优先级。又比如,在不同优先级分配操作过程中接收到响应用户请求的优先级的两个UP节点,与CP节点之间链路的质量较高的UP节点具有较高的响应用户请求的优先级,与CP节点之间链路的质量较低的UP节点具有较低的响应用户请求的优先级。示例地,在上述第二优先级高于第一优先级时,第二UP节点与CP节点之间链路的质量,高于第一UP节点与CP节点之间链路的质量。
在UP节点响应用户请求的优先级与UP节点与CP节点之间链路的质量正相关时,CP节点便可以设置与CP节点之间链路的质量最高的UP节点的响应用户请求的优先级最高,从而使得用户可以接入该UP节点,保证UP节点响应用户请求的高效率,提升用户体验。
另外,本申请实施例还提供了一种宽带网络接入装置,属于CU分离的BNG系统中的UP,该宽带网络接入装置包括:用于执行上述任一种宽带网络接入方法中任一UP用于执行的方法的各个模块。
本申请实施例提供了一种计算机存储介质,所述存储介质内存储有计算机程序;所述计算机程序在计算机上运行时,使得计算机执行本申请实施例提供的任一种方法中由CP节点或UP节点执行的方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当计算机程序产品在通信设备上运行时,使得通信设备执行本申请实施例提供的任一种方法中由CP节点或UP节点执行的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机的可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者包含一个或多个可用介质集成的服务器、数据中心等数据存储装置。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质,或者半导体介质(例如固态硬盘)等。
本申请实施例还提供了一种芯片,该芯片包括可编程逻辑电路和/或程序指令,当芯片运行时用于实现如本申请实施例提供的任一种方法中由CP节点或UP节点执行的方法。
在本申请中,术语“第一”和“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“至少一个”指一个或多个,“多个”指两个或两个以上,除非另有明确的限定。术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请实施例提供的方法实施例和设备实施例等不同类型的实施例均可以相互参考,本申请实施例对此不做限定。本申请实施例提供的方法实施例操作的先后顺序能够进行适当调整,操作也能够根据情况进行相应增减,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
在本申请提供的相应实施例中,应该理解到,所揭露的系统和设备等可以通过其它的构成方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元描述的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个设备上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (31)

1.一种通信方法,其特征在于,所述方法由虚拟宽带网络网关vBNG系统中的控制平面CP节点执行,所述vBNG系统还包括:多个用户平面UP节点,所述多个UP节点具有用于接入用户的多个虚拟MAC地址,所述方法包括:
基于所述多个UP节点中的目标UP节点满足目标条件,将所述多个虚拟MAC地址中的第一虚拟MAC地址从所述多个UP节点中的第一UP节点转移至所述目标UP节点;其中,所述目标条件与所述目标UP节点的负载相关。
2.根据权利要求1所述的方法,其特征在于,所述目标UP节点的负载与所述目标UP节点上所承载的用户数正相关。
3.根据权利要求1或2所述的方法,其特征在于,在将所述第一虚拟MAC地址转移至所述目标UP节点之前,所述第一虚拟MAC地址满足以下任一条件:
所述第一虚拟MAC地址为所述第一UP节点上能够被所述目标UP节点的剩余负载容纳的负载最高的虚拟MAC地址;
所述第一虚拟MAC地址为所述第一UP节点上能够被所述目标UP节点的剩余负载容纳的负载最低的虚拟MAC地址;
以及,所述第一虚拟MAC地址为所述第一UP节点上接入用户且能够被所述目标UP节点的剩余负载容纳的负载最低的虚拟MAC地址。
4.根据权利要求3所述的方法,其特征在于,所述虚拟MAC地址的负载与所述虚拟MAC地址所承载的用户数正相关。
5.根据权利要求1至4任一所述的方法,其特征在于,所述目标条件包括:所述目标UP节点的剩余负载能够容纳所述第一虚拟MAC地址。
6.根据权利要求1至5任一所述的方法,其特征在于,所述目标条件包括:所述目标UP节点为所述多个UP节点中除所述第一UP节点之外的UP节点中,剩余负载能够容纳所述第一虚拟MAC地址的负载最低的UP节点。
7.根据权利要求1至6任一所述的方法,其特征在于,所述目标条件包括:所述目标UP节点为所述多个UP节点中的新增UP节点。
8.根据权利要求1至7任一所述的方法,其特征在于,所述目标条件包括:所述目标UP节点的负载小于所述第一UP节点的负载。
9.根据权利要求1至8任一所述的方法,其特征在于,所述目标条件包括:所述目标UP节点上虚拟MAC地址的数量小于所述第一UP节点上虚拟MAC地址的数量。
10.根据权利要求1至9任一所述的方法,其特征在于,所述目标条件包括:参考数量与所述目标UP节点上虚拟MAC地址的数量的第一差值大于m;
其中,m≥0;所述参考数量S=((Z-1)/N)+1,Z表示所述多个虚拟MAC地址中虚拟MAC地址的数量,N表示所述多个UP节点中UP节点的数量。
11.根据权利要求1至10任一所述的方法,其特征在于,所述第一UP节点为故障节点,基于所述多个UP节点中的目标UP节点满足目标条件,将所述多个虚拟MAC地址中的第一虚拟MAC地址从所述多个UP节点中的第一UP节点转移至所述目标UP节点,包括:
基于所述目标UP节点满足目标条件且所述第一UP节点故障,将所述第一虚拟MAC地址从所述第一UP节点转移至所述目标UP节点。
12.根据权利要求1至10任一所述的方法,其特征在于,所述第一UP节点为未故障节点。
13.根据权利要求12所述的方法,其特征在于,所述第一UP节点为所述多个UP节点中除所述目标UP节点之外的UP节点中,具有能够被目标UP节点的剩余负载容纳的虚拟MAC地址的负载最高的UP节点。
14.根据权利要求12所述的方法,其特征在于,所述第一UP节点上虚拟MAC地址的数量与参考数量的第二差值大于m;
其中,m≥0;所述参考数量S=((Z-1)/N)+1,Z表示所述多个虚拟MAC地址中虚拟MAC地址的数量,N表示所述多个UP节点中UP节点的数量。
15.根据权利要求14所述的方法,其特征在于,所述目标条件包括:所述参考数量与所述目标UP节点上虚拟MAC地址的数量的第一差值大于m;
所述第一UP节点具有能够被所述目标UP节点的剩余负载容纳的至少一个虚拟MAC地址,基于所述多个UP节点中的目标UP节点满足目标条件,将所述多个虚拟MAC地址中的第一虚拟MAC地址从所述多个UP节点中的第一UP节点转移至所述目标UP节点,包括:
基于所述多个UP节点中的目标UP节点满足目标条件,将所述第一UP节点上的至少一个虚拟MAC地址从所述第一UP节点转移至所述目标UP节点;其中,所述第一UP节点上的至少一个虚拟MAC地址中虚拟MAC地址的数量小于或等于所述第一差值和所述第二差值,所述第一UP节点上的至少一个虚拟MAC地址包括所述第一虚拟MAC地址。
16.根据权利要求11所述的方法,其特征在于,基于所述目标UP节点满足目标条件且所述第一UP节点故障,将所述第一虚拟MAC地址从所述第一UP节点转移至所述目标UP节点,包括:
基于第一UP节点故障,在所述第一UP节点上存在接入用户的虚拟MAC地址时,执行至少一次第一操作,直至所述第一UP节点上不存在接入用户的虚拟MAC地址,或者,直至所述多个UP节点中除所述第一UP节点之外的各个UP节点中不存在剩余负载能够容纳所述第一虚拟MAC地址的UP节点;
其中,所述第一操作包括:在所述第一UP节点上接入用户的虚拟MAC地址中筛选负载最高的所述第一虚拟MAC地址;按照UP节点的负载依次增高的顺序,依次判断所述多个UP节点中除所述第一UP节点之外的各个UP节点的剩余负载是否能够容纳所述第一虚拟MAC地址,直至确定所述目标UP节点;将所述第一虚拟MAC地址转移至所述目标UP节点。
17.根据权利要求13所述的方法,其特征在于,基于所述多个UP节点中的目标UP节点满足目标条件,将所述多个虚拟MAC地址中的第一虚拟MAC地址从所述多个UP节点中的第一UP节点转移至所述目标UP节点,包括:
在所述目标UP节点并非所述多个UP节点中负载最高的UP节点时,执行至少一次第二操作,直至所述目标UP节点为所述多个UP节点中负载最高的UP节点,或者,直至所述多个UP节点中负载最高的UP节点上不存在能够被所述目标UP节点的剩余负载容纳的虚拟MAC地址;
所述第二操作包括:在所述多个UP节点中筛选负载最高的所述第一UP节点;将所述第一UP节点上的至少一个虚拟MAC地址转移至所述目标UP节点,以更新所述多个UP节点的负载;所述至少一个虚拟MAC地址包括所述第一虚拟MAC地址。
18.根据权利要求15所述的方法,其特征在于,基于所述多个UP节点中的目标UP节点满足目标条件,将所述第一UP节点上的至少一个虚拟MAC地址从所述第一UP节点转移至所述目标UP节点,包括:
在所述第一差值大于m时,依次对所述多个UP节点中除所述目标UP节点之外的各个UP节点执行第三操作,直至所述第一差值小于或等于m;
其中,所述第三操作包括:将所述第一UP节点上的至少一个虚拟MAC地址转移至所述目标UP节点,以更新各个UP节点上虚拟MAC地址的数量。
19.根据权利要求15或18所述的方法,其特征在于,在基于所述多个UP节点中的目标UP节点满足目标条件,将所述多个虚拟MAC地址中的第一虚拟MAC地址从所述多个UP节点中的第一UP节点转移至所述目标UP节点之后,所述方法还包括:
基于所述目标UP节点满足辅助条件,将所述多个UP节点中第二UP节点上的至少一个虚拟MAC地址转移至所述目标UP节点;
所述辅助条件包括:所述参考数量与所述目标UP节点的虚拟MAC地址的数量的第三差值大于n,所述第二UP节点上虚拟MAC地址的数量与所述参考数量的第四差值大于或等于n,且所述第二UP节点上的至少一个虚拟MAC地址能够被所述目标UP节点的剩余负载容纳;其中,n>m,所述第二UP节点上的至少一个虚拟MAC地址中虚拟MAC地址的数量小于或等于所述第三差值和所述第四差值。
20.根据权利要求19所述的方法,其特征在于,基于所述目标UP节点满足辅助条件,将所述多个UP节点中第二UP节点上的至少一个虚拟MAC地址转移至所述目标UP节点,包括:
在所述第三差值大于n时,依次对所述多个UP节点中除所述目标UP节点之外的各个UP节点执行第四操作,直至所述第三差值小于或等于n;
其中,所述第四操作包括:将所述第二UP节点上的至少一个虚拟MAC地址转移至所述目标UP节点,以更新各个UP节点上虚拟MAC地址的数量。
21.根据权利要求19或20所述的方法,其特征在于,所述第二UP节点上的至少一个虚拟MAC地址为:所述第二UP节点上能够被所述目标UP节点的剩余负载容纳的虚拟MAC地址中,负载较低的至少一个虚拟MAC地址。
22.一种通信方法,其特征在于,所述方法由虚拟宽带网络网关vBNG系统中的控制平面CP节点执行,所述vBNG系统还包括:多个用户面UP节点,所述多个UP节点具有用于接入用户的多个虚拟MAC地址,所述方法包括:
在第一时刻,根据所述多个UP节点中每个UP节点与所述CP节点之间链路的质量,向所述多个UP节点中的第一UP节点发送所述第一UP节点响应用户请求的第一优先级;
在第二时刻,根据所述多个UP节点中每个UP节点与所述CP节点之间链路的质量,向所述多个UP节点中的第二UP节点发送所述第二UP节点响应用户请求的第二优先级,所述第二UP节点与所述第一UP节点不同。
23.根据权利要求22所述的方法,其特征在于,所述多个UP节点中的至少一个UP节点与所述CP节点之间链路的质量,在所述第二时刻相对所述第一时刻发生变化。
24.根据权利要求22或23所述的方法,其特征在于,
所述第一UP节点与所述CP节点之间链路的质量高于或等于第一质量;
和/或,所述第二UP节点与所述CP节点之间链路的质量高于或等于第二质量。
25.根据权利要求22至24任一所述的方法,其特征在于,所述第二优先级高于所述第一优先级。
26.根据权利要求25所述的方法,其特征在于,所述第二UP节点与所述CP节点之间链路的质量,高于所述第一UP节点与所述CP节点之间链路的质量。
27.一种通信设备,其特征在于,所述通信设备包括:处理器和存储器,所述存储器中存储有程序;
所述处理器用于调用所述存储器中存储的程序,以使得所述通信设备执行如权利要求1至26任一所述的通信方法。
28.一种通信系统,其特征在于,所述通信系统为虚拟宽带网络网关vBNG系统,所述vBNG系统包括:控制平面CP节点和多个用户平面UP节点,所述多个UP节点具有用于接入用户的多个虚拟MAC地址;
所述CP节点用于执行权利要求1至26任一所述的通信方法。
29.一种计算机存储介质,其特征在于,所述存储介质内存储有计算机程序;
所述计算机程序在计算机上运行时,使得计算机执行权利要求1至26任一所述的通信方法。
30.一种计算机程序产品,其特征在于,当所述计算机程序产品在通信设备上运行时,使得通信设备执行如权利要求1至29任一所述的通信方法。
31.一种芯片,其特征在于,所述芯片包括可编程逻辑电路和/或程序指令,当所述芯片运行时用于实现如权利要求1至29任一所述的通信方法。
CN202210330790.4A 2021-12-24 2022-03-30 通信方法及装置、通信系统 Pending CN116346581A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2022/137688 WO2023116458A1 (zh) 2021-12-24 2022-12-08 通信方法及装置、通信系统

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111602645 2021-12-24
CN2021116026459 2021-12-24

Publications (1)

Publication Number Publication Date
CN116346581A true CN116346581A (zh) 2023-06-27

Family

ID=86875264

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210330790.4A Pending CN116346581A (zh) 2021-12-24 2022-03-30 通信方法及装置、通信系统

Country Status (2)

Country Link
CN (1) CN116346581A (zh)
WO (1) WO2023116458A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016013588A1 (de) * 2016-11-09 2018-05-09 Hydac Filtertechnik Gmbh Filtervorrichtung
CN106657330B (zh) * 2016-12-22 2019-08-27 北京华为数字技术有限公司 用户数据迁移方法和用户数据备份方法、装置及系统
CN115344551A (zh) * 2017-06-26 2022-11-15 华为技术有限公司 一种数据迁移的方法以及数据节点
CN110519406B (zh) * 2019-08-16 2022-05-17 济南浪潮数据技术有限公司 一种虚拟地址分配方法、装置及ctdb集群和存储介质
CN112737806B (zh) * 2019-10-28 2022-05-13 华为技术有限公司 网络流量的迁移方法及装置

Also Published As

Publication number Publication date
WO2023116458A1 (zh) 2023-06-29

Similar Documents

Publication Publication Date Title
CN110166356B (zh) 发送报文的方法和网络设备
EP2845372B1 (en) Two level packet distribution with stateless first level packet distribution to a group of servers and stateful second level packet distribution to a server within the group
EP2993838B1 (en) Methods for setting a member identity of gateway device and corresponding management gateway devices
US20190028538A1 (en) Method, apparatus, and system for controlling service traffic between data centers
US8842518B2 (en) System and method for supporting management network interface card port failover in a middleware machine environment
US8549120B2 (en) System and method for location based address assignment in the distribution of traffic in a virtual gateway
US5918021A (en) System and method for dynamic distribution of data packets through multiple channels
EP1763204B1 (en) System and method for redundant switches taking into account learning bridge functionality
US8121051B2 (en) Network resource teaming on a per virtual network basis
CN111698158B (zh) 主设备选举方法、装置及机器可读存储介质
US7561587B2 (en) Method and system for providing layer-4 switching technologies
EP3253010A1 (en) Network relay device, gateway redundancy system, program, and redundancy method
US10601727B1 (en) Methods and apparatus for efficient use of link aggregation groups
US20210218688A1 (en) Method and Apparatus for Load Balancing and Packet Re-Sequencing on Network
US11546267B2 (en) Method for determining designated forwarder (DF) of multicast flow, device, and system
CN113472646B (zh) 一种数据传输方法、节点、网络管理器及系统
US20150138986A1 (en) Load balancing in a link aggregation
US9591034B2 (en) Method and gateway device for managing address resource
CN105450540A (zh) 一种负载均衡方法、装置及dhcp服务器
CN107426099B (zh) 多机箱链路聚合流量重分布时的报文保序方法及系统
WO2023116458A1 (zh) 通信方法及装置、通信系统
EP4221142A1 (en) Packet sending method, device, and system
CN111786805B (zh) 一种专线业务的配置方法、设备及存储介质
CN113595760B (zh) 一种系统故障的处理方法和装置
EP3879765B1 (en) Group load balancing for virtual router redundancy

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication