一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种主备协商方法及设备与流程

2022-07-15 23:46:36 来源:中国专利 TAG:


1.本技术实施例涉及通信领域,尤其涉及一种主备协商方法及设备。


背景技术:

2.宽带网络网关(broadband network gateway,bng)设备,在用户宽带接入业务和场景中非常重要,其主要功能为用户认证、接入控制、流量调度等。随着各种互联网业务的不断发展,bng设备需支持的用户会话数不断增加,用户接入带宽也不断提高。bng设备需要通过转发与控制之间的解耦来提升其自身性能以满足互联网发展的需求,因此一种基于转控分离架构的bng设备得到了广泛应用。
3.目前基于转控分离架构的bng设备,包括控制面(control plane,cp)以及用户面(user plane,up)(或者称为转发面)。家庭网关可以向up发送拨号请求使up上线。up上线后,家庭网关可以向up发送业务数据,up向cp转发该业务数据,以便于cp对家庭网关的业务进行接入。其中,一个cp可以通过连接多个up,以分别对多个家庭网关的业务进行接入。若cp发生故障,则会导致多个家庭网关的业务无法接入。因此,在转控分离架构的bng设备中,通常会设置一个主cp和一个备cp,以提高该bng设备的可靠性。up可分别向主cp和备cp转发家庭网关的业务数据,主cp负责家庭网关的业务接入,备cp负责业务数据的备份。其中,主cp和备cp之间可以通过心跳消息来进行主备协商,以在主cp故障的情况下,能够通过备cp进行家庭网关的业务接入。例如,备cp通过判断是否接收到来自于主cp的心跳消息来确定主cp是否故障。当备cp确定主cp故障时,备cp将代替主cp进行家庭网关的业务接入。
4.但是,上述bng设备中,若用于主cp和备cp之间传输心跳消息的通道出现故障,则会导致备cp因无法接收到心跳消息而做出主cp故障的判断,开始进行家庭网关的业务接入操作。从而出现主cp和备cp同时进行家庭网关业务接入的双主问题,产生业务接入冲突。


技术实现要素:

5.本技术实施例提供一种主备协商方法及设备,解决了主cp和备cp同时进行家庭网关业务接入,导致业务接入冲突的问题。
6.为达到上述目的,本技术实施例采用如下技术方案:
7.第一方面,本技术实施例提供一种主备协商方法,该方法可应用于网络系统中的第一控制单元,网络系统还可以包括第二控制单元和至少一个用户单元。其中,第一控制单元与用户单元之间建立通信连接,第二控制单元与用户单元之间建立通信连接。该方法可以包括:
8.第一控制单元利用其与用户单元之间的通信协议生成心跳消息。然后,第一控制单元向用户单元发送该心跳消息。其中,心跳消息可以被用户单元发送至第二控制单元,以用于第二控制单元进行主备决策。
9.基于第一方面的方法,第一控制单元和第二控制单元间可以通过用户单元来转发主控制单元(如第一控制单元)发送的心跳消息。通常用户单元具有多个,当某个用户单元
发生故障时,备控制单元(如第二控制单元)仍可接收到来自其他用户单元转发的上述心跳消息。如此,能够避免第一控制单元和第二控制单元之间直接通信连接以发送心跳消息时,因通信通道发生故障而导致备控制单元(如第二控制单元)因接收不到心跳消息而误判主控制单元(如第一控制单元)故障,开始进行新接入家庭网关的业务接入和已接入家庭网关的业务续存,而出现双主的问题。
10.在一种可能的设计中,第一控制单元和第二控制单元可以包括控制面(cp)、虚拟控制面(vcp)、虚拟宽带网络网关控制面(vbng-cp)等中的至少一种。用户单元可以包括用户面(up)、虚拟用户面(vup)、虚拟宽带网络网关用户面(vbng-up)等中的至少一种。例如,第一控制单元为第一cp,第二控制单元为第二cp,用户单元为up。
11.在一种可能的设计中,心跳消息可以为转控分离协议(cusp)消息。基于该可能的设计,采用控制单元与用户单元之间已建立的协议通道来传输心跳消息,能够简化系统设计,便于实现。
12.在一种可能的设计中,cusp消息可以包括:第一字段和第二字段。其中,第一字段可以用于指示cusp消息的消息类型是心跳消息,第二字段可以用于指示第一控制单元和第二控制单元的主备状态。基于该可能的设计,通过设置的第一字段能够使接收到该心跳消息的备控制单元(如第二控制单元)确定该消息为心跳消息。通过设置的第二字段,能够使第二控制单元接收到心跳消息后,能够对其自身的主备状态进行确定,即进行主备决策。
13.在一种可能的设计中,第二字段可为第一控制单元的优先级。基于该可能的设计,通过优先级来指示第一控制单元和第二控制单元的主备状态,便于实现,能够简化系统设计。
14.在一种可能的设计中,cusp消息还可以包括第三字段。该第三字段可以用于指示与主备状态对应的用户组。基于该可能的设计,当第一控制单元和第二控制单元间的主备状态是根据不同用户单元,不同用户单元组或用户单元的不同接口等组成的用户组分别设置时,第二控制单元接收到心跳消息后,能够根据第三字段的指示确定是对哪些用户单元,用户单元组或用户单元的接口进行主备协商。
15.在一种可能的设计中,第三字段可为用户组的标识。例如,该用户组的标识可以是主备状态对应的用户单元的标识,主备状态对应的用户单元组的标识,或主备状态对应的用户单元的接口的标识等。
16.第二方面,本技术实施例提供一种网络设备,该网络设备可应用于包括第一控制单元,第二控制单元和用户单元的网络系统。其中第一控制单元和第二控制单元分别与用户单元连接。该网络设备为第一控制单元,可以实现上述第一方面或第一方面可能的设计中第一控制单元所执行的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个上述功能相应的模块。如:该网络设备可以包括:生成模块,发送模块等。
17.其中,生成模块,可以用于利用第一控制单元与用户单元之间的通信协议生成心跳消息。而发送模块,可以用于向用户单元发送心跳消息。其中,心跳消息可被用户单元发送至第二控制单元,以用于第二控制单元进行主备决策。
18.在一种可能的设计中,第一控制单元和第二控制单元可以包括控制面(cp)、虚拟控制面(vcp)、虚拟宽带网络网关控制面(vbng-cp)等中的至少一种。用户单元可以包括用
户面(up)、虚拟用户面(vup)、虚拟宽带网络网关用户面(vbng-up)等中的至少一种。例如,第一控制单元为第一cp,第二控制单元为第二cp,用户单元为up。
19.在一种可能的设计中,心跳消息可以为cusp消息。
20.在一种可能的设计中,cusp消息可包括:第一字段和第二字段。其中,第一字段可以用于指示cusp消息的消息类型是心跳消息,第二字段可以用于指示第一控制单元和第二控制单元的主备状态。
21.在一种可能的设计中,第二字段可为第一控制单元的优先级。
22.在一种可能的设计中,cusp消息还可包括第三字段。该第三字段可以用于指示与主备状态对应的用户组。
23.在一种可能的设计中,第三字段可为用户组的标识。
24.第三方面,本技术实施例提供一种网络设备,该网络设备可应用于包括第一控制单元,第二控制单元和用户单元的网络系统。其中第一控制单元和第二控制单元分别与用户单元连接。该网络设备为第一控制单元,可以包括:处理器和存储器。该存储器用于存储计算机执行指令,当该网络设备运行时,该处理器执行该存储器存储的该计算机执行指令,以使该网络设备执行如上述第一方面或者第一方面的任一种可能的设计所述的主备协商方法。
25.第四方面,本技术实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机可以执行上述第一方面或者上述方面的任一种可能的设计所述的主备协商方法。
26.第五方面,本技术实施例提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述第一方面或者上述第一方面的任一种可能的设计所述的主备协商方法。
27.第六方面,本技术实施例提供一种芯片系统,该芯片系统可以包括处理器、收发器,用于支持第一控制单元实现上述第一方面或者第一方面的任一种可能的设计中所涉及的功能。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器用于保存第一控制单元必要的程序指令和数据。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
28.其中,第二方面至第六方面中任一种设计方式所带来的技术效果可参见上述第一方面或者第一方面的任一种可能的设计所带来的技术效果,不再赘述。
29.第七方面,本技术实施例提供又一种主备协商方法,该方法可以应用于网络系统的用户单元,该网络系统还可以包括第二控制单元和至少一个用户单元。其中,第一控制单元与用户单元之间建立通信连接,第二控制单元与用户单元之间建立通信连接。该方法可以包括:
30.当第一控制单元向用户单元发送心跳消息时,用户单元接收来自于第一控制单元的心跳消息。然后,用户单元向第二控制单元发送心跳消息,以使第二控制单元根据心跳消息进行主备决策。
31.基于第七方面的方法,第一控制单元和第二控制单元间可以通过用户单元来转发主控制单元(如第一控制单元)发送的心跳消息。通常用户单元具有多个,当某个用户单元发生故障时,备控制单元(如第二控制单元)仍可接收到来自其他用户单元转发的上述心跳
消息。如此,能够避免第一控制单元和第二控制单元之间直接通信连接以发送心跳消息时,因通信通道发生故障而导致备控制单元(如第二控制单元)因接收不到心跳消息而误判主控制单元(如第一控制单元)故障,开始进行新接入家庭网关的业务接入和已接入家庭网关的业务续存,而出现双主的问题。
32.在一种可能的设计中,第一控制单元和第二控制单元可以包括控制面(cp)、虚拟控制面(vcp)、虚拟宽带网络网关控制面(vbng-cp)等中的至少一种。用户单元可以包括用户面(up)、虚拟用户面(vup)、虚拟宽带网络网关用户面(vbng-up)等中的至少一种。例如,第一控制单元为第一cp,第二控制单元为第二cp,用户单元为up。
33.在一种可能的设计中,心跳消息可以为cusp消息。基于该可能的设计,采用控制单元与用户单元之间已建立的协议通道来传输心跳消息,能够简化系统设计,便于实现。
34.在一种可能的设计中,cusp消息可以包括:第一字段和第二字段。其中,第一字段可用于指示cusp消息的消息类型是心跳消息,第二字段可用于指示第一控制单元和第二控制单元的主备状态。基于该可能的设计,通过设置的第一字段能够使接收到该心跳消息的备控制单元(如第二控制单元)确定该消息为心跳消息。通过设置的第二字段,能够使第二控制单元接收到心跳消息后,能够对其自身的主备状态进行确定,即进行主备决策。
35.在一种可能的设计中,第二字段可以为第一控制单元的优先级。基于该可能的设计,通过优先级来指示第一控制单元和第二控制单元的主备状态,便于实现,能够简化系统设计。
36.在一种可能的设计中,cusp消息还可以包括第三字段。通过第三字段可用于指示与主备状态对应的用户组。基于该可能的设计,当第一控制单元和第二控制单元间的主备状态是根据不同用户单元,不同用户单元组或用户单元的不同接口等组成的用户组分别设置时,第二控制单元接收到心跳消息后,能够根据第三字段的指示确定是对哪些用户单元,用户单元组或用户单元的接口进行主备协商。
37.在一种可能的设计中,第三字段可以为用户组的标识。例如,该用户组的标识可以是主备状态对应的用户单元的标识,主备状态对应的用户单元组的标识,或主备状态对应的用户单元的接口的标识等。
38.第八方面,本技术实施例提供一种网络设备,该网络设备可应用于包括第一控制单元,第二控制单元和用户单元的网络系统。其中第一控制单元和第二控制单元分别与用户单元连接。该网络设备为用户单元,可以实现上述第七方面或第七方面可能的设计中用户单元所执行的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个上述功能相应的模块。如:该网络设备可以包括:发送模块和接收模块等。
39.其中,接收模块,可以用于在第一控制单元发送心跳消息时,接收来自于第一控制单元的心跳消息。而发送模块,可以用于向第二控制单元发送该心跳消息,以使第二控制单元可以根据心跳消息进行主备决策。
40.在一种可能的设计中,第一控制单元和第二控制单元可以包括控制面(cp)、虚拟控制面(vcp)、虚拟宽带网络网关控制面(vbng-cp)等中的至少一种。用户单元可以包括用户面(up)、虚拟用户面(vup)、虚拟宽带网络网关用户面(vbng-up)等中的至少一种。例如,第一控制单元为第一cp,第二控制单元为第二cp,用户单元为up。
41.在一种可能的设计中,心跳消息可以为cusp消息。
42.在一种可能的设计中,cusp消息可以包括:第一字段和第二字段。其中,第一字段可用于指示cusp消息的消息类型是心跳消息,第二字段可用于指示第一控制单元和第二控制单元的主备状态。
43.在一种可能的设计中,第二字段可以为第一控制单元的优先级。
44.在一种可能的设计中,cusp消息还可包括第三字段。通过第三字段可指示与主备状态对应的用户组。
45.在一种可能的设计中,第三字段可以为用户组的标识。
46.第九方面,本技术实施例提供一种网络设备,该网络设备可应用于包括第一控制单元,第二控制单元和用户单元的网络系统。其中第一控制单元和第二控制单元分别与用户单元连接。该网络设备为用户单元,可以包括处理器和存储器。该存储器用于存储计算机执行指令,当该网络设备运行时,该处理器执行该存储器存储的该计算机执行指令,以使该网络设备执行如上述第七方面或者第七方面的任一种可能的设计所述的主备协商方法。
47.第十方面,本技术实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机可以执行上述第七方面或者上述方面的任一种可能的设计所述的主备协商方法。
48.第十一方面,本技术实施例提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述第七方面或者上述第七方面的任一种可能的设计所述的主备协商方法。
49.第十二方面,本技术实施例提供一种芯片系统,该芯片系统可以包括处理器、收发器,用于支持用户单元实现上述第七方面或者第七方面的任一种可能的设计中所涉及的功能。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器用于保存用户单元必要的程序指令和数据。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
50.其中,第八方面至第十二方面中任一种设计方式所带来的技术效果可参见上述第七方面或者第七方面的任一种可能的设计所带来的技术效果,不再赘述。
51.第十三方面,本技术实施例提供又一种主备协商方法,该方法可以应用于网络系统中的第二控制单元,网络设备还包括第一控制单元和至少一个用户单元。其中,第一控制单元与用户单元之间建立通信连接,第二控制单元与用户单元之间建立通信连接。该方法可以包括:
52.当用户单元向第二控制单元发送心跳消息时,第二控制单元接收来自于用户单元的心跳消息。然后,第二控制单元根据该心跳消息进行主备决策。
53.基于第十三方面的方法,第一控制单元和第二控制单元间可以通过用户单元来转发主控制单元(如第一控制单元)发送的心跳消息。通常用户单元具有多个,当某个用户单元发生故障时,备控制单元(如第二控制单元)仍可接收到来自其他用户单元转发的上述心跳消息。如此,能够避免第一控制单元和第二控制单元之间直接通信连接以发送心跳消息时,因通信通道发生故障而导致备控制单元(如第二控制单元)因接收不到心跳消息而误判主控制单元(如第一控制单元)故障,开始进行新接入家庭网关的业务接入和已接入家庭网关的业务续存,而出现双主的问题。
54.在一种可能的设计中,第一控制单元和第二控制单元可以包括控制面(cp)、虚拟
控制面(vcp)、虚拟宽带网络网关控制面(vbng-cp)等中的至少一种。用户单元可以包括用户面(up)、虚拟用户面(vup)、虚拟宽带网络网关用户面(vbng-up)等中的至少一种。例如,第一控制单元为第一cp,第二控制单元为第二cp,用户单元为up。
55.在一种可能的设计中,心跳消息可以为cusp消息。基于该可能的设计,采用控制单元与用户单元之间已建立的协议通道来传输心跳消息,能够简化系统设计,便于实现。
56.在一种可能的设计中,cusp消息可以包括:第一字段和第二字段。其中,第一字段可用于指示cusp消息的消息类型是心跳消息,第二字段可用于指示第一控制单元和第二控制单元的主备状态。基于该可能的设计,通过设置的第一字段能够使接收到该心跳消息的备控制单元(如第二控制单元)确定该消息为心跳消息。通过设置的第二字段,能够使第二控制单元接收到心跳消息后,能够对其自身的主备状态进行确定,即进行主备决策。
57.在一种可能的设计中,第二字段可以为第一控制单元的优先级。处理模块,可以具体用于根据第一控制单元的优先级和第二控制单元的优先级进行主备决策。基于该可能的设计,通过优先级来指示第一控制单元和第二控制单元的主备状态,便于实现,能够简化系统设计。
58.在一种可能的设计中,cusp消息还可以包括第三字段。通过第三字段可以指示与主备状态对应的用户组。基于该可能的设计,当第一控制单元和第二控制单元间的主备状态是根据不同用户单元,不同用户单元组或用户单元的不同接口等组成的用户组分别设置时,第二控制单元接收到心跳消息后,能够根据第三字段的指示确定是对哪些用户单元,用户单元组或用户单元的接口进行主备协商。
59.在一种可能的设计中,第三字段可以为用户组的标识。例如,该用户组的标识可以是主备状态对应的用户单元的标识,主备状态对应的用户单元组的标识,或主备状态对应的用户单元的接口的标识等。
60.第十四方面,本技术实施例提供一种网络设备,该网络设备可应用于包括第一控制单元,第二控制单元和用户单元的网络系统。其中第一控制单元和第二控制单元分别与用户单元连接。该网络设备为第二控制单元,可以实现上述第十三方面或第十三方面可能的设计中第二控制单元所执行的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个上述功能相应的模块。如:该网络设备可以包括:接收模块和处理模块等。
61.其中,接收模块,可以用于当用户单元发送心跳消息时,接收来自于用户单元的心跳消息。而处理模块,可以用于根据该心跳消息进行主备决策。
62.在一种可能的设计中,第一控制单元和第二控制单元可以包括控制面(cp)、虚拟控制面(vcp)、虚拟宽带网络网关控制面(vbng-cp)等中的至少一种。用户单元可以包括用户面(up)、虚拟用户面(vup)、虚拟宽带网络网关用户面(vbng-up)等中的至少一种。例如,第一控制单元为第一cp,第二控制单元为第二cp,用户单元为up。
63.在一种可能的设计中,心跳消息可为cusp消息。
64.在一种可能的设计中,cusp消息可包括:第一字段和第二字段,第一字段用于指示cusp消息的消息类型是心跳消息,第二字段用于指示第一控制单元和第二控制单元的主备状态。
65.在一种可能的设计中,第二字段可以为第一控制单元的优先级。
66.在一种可能的设计中,cusp消息还包括第三字段,可通过第三字段指示与主备状态对应的用户组。
67.在一种可能的设计中,第三字段可以为用户组的标识。
68.第十五方面,本技术实施例提供一种网络设备,该网络设备可应用于包括第一控制单元,第二控制单元和用户单元的网络系统。其中第一控制单元和第二控制单元分别与用户单元连接。该网络设备为第二控制单元,可以包括处理器和存储器,该存储器用于存储计算机执行指令,当该网络设备运行时,该处理器执行该存储器存储的该计算机执行指令,以使该网络设备执行如上述第十三方面或者第十三方面的任一种可能的设计所述的主备协商方法。
69.第十六方面,本技术实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机可以执行上述第十三方面或者上述方面的任一种可能的设计所述的主备协商方法。
70.第十七方面,本技术实施例提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述第十三方面或者上述第十三方面的任一种可能的设计所述的主备协商方法。
71.第十八方面,本技术实施例提供一种芯片系统,该芯片系统可以包括处理器、收发器,用于支持第二控制单元实现上述第十三方面或者第十三方面的任一种可能的设计中所涉及的功能。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器用于保存第二控制单元必要的程序指令和数据。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
72.其中,第十四方面至第十八方面中任一种设计方式所带来的技术效果可参见上述第十三方面或者第十三方面的任一种可能的设计所带来的技术效果,不再赘述。
73.第十九方面,本技术实施例提供一种网络系统,该网络系统可以包括第一控制单元、第二控制单元以及至少一个用户单元。其中,第一控制单元和第二控制单元分别与用户单元连接。第一控制单元,可以向用户单元发送用于指示第二控制单元进行主备决策的心跳消息,用户单元接收到心跳消息后,可以向第二控制单元发送接收到的心跳消息。然后,第二控制单元,可以根据接收到的心跳消息进行主备决策。
74.在一种可能的设计中,第一控制单元和第二控制单元可以包括控制面(cp)、虚拟控制面(vcp)、虚拟宽带网络网关控制面(vbng-cp)等中的至少一种。用户单元可以包括用户面(up)、虚拟用户面(vup)、虚拟宽带网络网关用户面(vbng-up)等中的至少一种。例如,第一控制单元为第一cp,第二控制单元为第二cp,用户单元为up。
75.在一种可能的设计中,心跳消息可以为cusp消息。
76.在一种可能的设计中,cusp消息可以包括:第一字段和第二字段,第一字段用于指示cusp消息的消息类型是心跳消息,第二字段用于指示第一控制单元和第二控制单元的主备状态。
77.在一种可能的设计中,第二字段可以为第一控制单元的优先级。
78.在一种可能的设计中,cusp消息还可以包括第三字段,第三字段用于指示与主备状态对应的用户组。
79.在一种可能的设计中,第三字段可以为用户组的标识。
80.其中,第十九方面中任一种设计方式所带来的技术效果可参见上述第一方面、第七方面以及第十三方面的任一种可能的设计所带来的技术效果,不再赘述。
附图说明
81.图1为现有技术提供的一种转控分离架构的bng设备的结构示意图;
82.图2为现有技术提供的另一种转控分离架构的bng设备的结构示意图;
83.图3为本技术实施例提供的一种网络系统的组成示意图;
84.图4为本技术实施例提供的一种主备协商方法的流程示意图;
85.图5为本技术实施例提供的一种cusp消息的报文结构示意图;
86.图6为本技术实施例提供的另一种cusp消息的报文结构示意图;
87.图7为本技术实施例提供的另一种cusp消息的报文结构示意图;
88.图8为本技术实施例提供的另一种cusp消息的报文结构示意图;
89.图9为本技术实施例提供的一种网络设备的结构示意图;
90.图10为本技术实施例提供的另一种网络设备的结构示意图;
91.图11为本技术实施例提供的另一种网络设备的结构示意图;
92.图12为本技术实施例提供的另一种网络设备的结构示意图。
具体实施方式
93.随着软件定义型网络(software designed network,sdn)技术和网络功能虚拟化(network functions virtualization nfv)技术的发展,城域网由传统以网络为核心的架构向以数据中心为核心的架构演进;传统的网络设备也从专业化朝着通用化演进。bng设备作为传统的宽带接入网关设备,在用户宽带接入业务和场景中非常重要。当前,基于转控分离架构的bng设备被广泛应用。
94.图1示出了一种转控分离架构的bng设备。如图1所示,该bng设备包括通信连接的cp 101以及up 102。up 102可以将来自于家庭网关的业务数据转发给cp 101,以使cp 101对相应的家庭网关进行业务接入。其中,如图1中所示,一个cp 101可以连接多个up 102,以使cp 101分别对多个up 102进行控制,实现一个cp 101可对多个家庭网关进行业务接入。从而使该bng设备中cp 101的性能可以得到更好的利用,具有更高的利用率。
95.为了避免因cp出现故障,而导致多个家庭网关的业务无法接入的问题。如图2所示,上述bng设备中通常会设置两个cp,其中一个cp作为主cp(如,图2中的主cp 201),负责家庭网关的业务接入;而另一个cp作为备cp(如,图2中的备cp 202),负责对来自于家庭网关的业务数据进行热备份。当主cp 201出现故障时,则备cp 202可以代替主cp 201进行新连接家庭网关(或者称为新家庭网关)的业务接入,以及已连接家庭网关(或者称为老家庭网关)的业务续存。其中,新连接家庭网关是指主cp 201出现故障之后,向up 203发送拨号请求以请求业务接入的家庭网关;已连接家庭网关是指已经通过主cp 201进行了业务接入的家庭网关。如图2所示,主cp 201和备cp 202之间通信连接,主cp 201和备cp 202间可以通过发送心跳消息的方式,在两者之间进行主备协商。从而当主cp 201发生故障时,备cp 202可以进行新连接的家庭网关的业务接入,以及已连接家庭网关的业务续存。
96.可以看到,备cp需要通过其与主cp之间传输的心跳消息来确定主cp是否故障,从
而确定是否需要进行新连接的家庭网关的业务接入,以及已连接家庭网关的业务续存。所以,当主cp与备cp之间的通信通道发生故障时,备cp则无法接收到主cp发送的心跳消息。从而备cp会做出主cp发生故障的误判,此时,备cp开始对新连接家庭网关进行业务接入,以及对已连接家庭网关的业务操作进行业务续存。导致bng设备中,对于同一个up所转发的业务数据,主cp和备cp均会进行对应的业务操作,即主cp和备cp会对同一个家庭网关同时进行业务接入,从而使bng设备在对家庭网关进行业务接入时产生冲突。
97.因此,本技术实施例提供一种主备协商方法,该方法可以应用于网络设备中。该网络设备可以包括通信连接的第一控制单元、第二控制单元以及用户单元。以该网络设备为bng设备,第一控制单元和第二控制单元均为cp,如分别称为第一cp和第二cp,用户单元为up为例,图3示出了本技术实施例提供的一种网络系统的组成示意图。如图3所示,该网络设备可以包括第一cp 301、第二cp 302以及up 303。其中,up 303可以包括多个(如,图3中的up 1、up 2、up 3以及up 4),每个up 303分别与第一cp 301和第二cp 302通信连接。当家庭网关向某个up 303,例如图3中的up 1,发送业务数据时,该up 1可以将来自于家庭网关的业务数据分别转发给第一cp 301和第二cp 302。之后,第一cp 301和第二cp 302可以根据各自的主备状态对业务数据分别进行对应处理。例如,第一cp 301可以作为主cp根据接收到的业务数据对相应的家庭网关进行业务接入。第二cp 302可以作为备cp对接收到的业务数据进行存储备份。
98.需要说明的是,在本实施例中,网络设备中的第一控制单元(如上述第一cp)、第二控制单元(如上述第二cp)以及用户单元(如上述up)均可采用软件或硬件的形式实现,此处不做限制。
99.以下结合附图,将以网络设备为bng设备为例对本技术实施例提供的主备协商方法的具体实现进行详细介绍。
100.需要说明的是,在本技术的描述中,“第一”、“第二”等字样仅仅是为了区分描述,并不用于对某个特征的特别限定。本技术实施例的描述中,“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本技术中所涉及的至少一个是指一个或多个;多个,是指两个或两个以上。
101.图4示出了本技术实施例提供的一种主备协商方法的流程示意图。该方法可以应用于网络设备,在本实施例中,以网络设备为bng设备,第一控制单元和第二控制单元均为cp,如分别称为第一cp和第二cp,用户单元为up,第一cp为主cp(或称为主控制单元),第二cp为备cp(或者称为备控制单元)为例。如图4所示,该主备协商方法可以包括以下s401-s403。
102.s401、第一cp向up发送心跳消息。
103.可选地,up可以设置有多个,则第一cp可以向每个up发送心跳消息,或者向这些cp中的一个或多个发送心跳消息,从而使后续第二cp能够接收到多个up转发的心跳消息,避免出现因某个up故障而无法接收到心跳消息的情况。例如图3所示的bng设备,其设置有四个up 303。此时,第一cp 301可以分别向每个up 303发送心跳消息,以使后续第二cp 302能够接收到多个up 303转发的心跳消息。或者,第一cp 301可以分别向这四个up 303中的某两个或某三个发送心跳消息,以使后续第二cp 302能够接收到多个up 303转发的心跳消
息。
104.在一些实施例中,心跳消息可以是转控分离协议(control plane and user plane separated protocol,cusp)消息。其中,该cusp消息采用的cusp协议为bng设备中cp(如第一cp和第二cp)与up间用于处理家庭网关相应业务而建立的通信协议。该cusp消息(或者说心跳消息)通常按照一定的周期重复发送,以便于接收心跳消息的接收方(如第二cp)可根据预设周期内是否接收到心跳消息来判断该第一cp的活动状态,从而使第二cp可通过心跳消息进行主备决策。
105.示例地,该cusp消息可以包括两个字段,如第一字段和第二字段。可以通过第一字段来指示该cusp消息的消息类型为心跳消息。可以通过第二字段来指示第一cp和第二cp的主备状态。例如,第一字段可以为消息类型的标识(如消息类型的编号等),该类型标识与消息类型为心跳消息相对应,即通过该类型标识可以指示消息类型为心跳消息。第二字段可以为第一cp的优先级(优先级是指cp进行家庭网关业务接入的优先级),以便于第二cp接收到心跳消息后能够根据第二cp的优先级以及第一cp的优先级进行主备决策。
106.其中,第一cp可以为主cp,通过up向作为备cp的第二cp发送心跳消息,第一cp也可以为备cp,向作为主cp的第二cp发送心跳消息,或者第一cp和第二cp可以相互发送心跳消息,此处不做限制。
107.在一些可能的实施例中,原本的cusp协议中定义的消息类型均用于cp和up之间的业务交互。即cp在接收到某种类型的cusp消息后,会进行相应的业务处理;或者,up在接收到某种类型的cusp消息后,会进行相应的业务处理。例如表1所示,为该cusp协议中已有的消息类型。
108.表1
109.编号名称0reserved1hello2keepalive3sync_request4sync_begin5sync_data6sync_end7update_request8update_response9report10event11vendor12error13-199unassigned200addr_allocation_req201addr_allocation_ack202addr_renew_req
203addr_renew_ack204addr205addr_release_ack206-254unassigned255reserved
110.其中,reserved用于指示消息类型为保留标识符,keepalive用于指示存活检测机制,sync_request用于指示同步请求,sync_begin用于指示同步开始,sync_data用于指示同步数据,sync_end用于指示同步结束,update_request用于指示更新请求,update_response用于指示更新响应,report用于指示报告消息,event用于指示事件消息,vendor用于指示第三方消息,error用于指示报错消息,unassigned为未分配的消息类型(即其对应的编号未分配相应的消息类型),addr_allocation_req用于指示地址分配请求,addr_allocation_ack用于指示地址分配确认,addr_renew_req用于指示地址延续请求,addr_renew_ack用于指示地址延续确认,addr用于指示地址消息,addr_release_ack用于指示地址释放确认。
111.在本实施例中,可以在cusp协议中新增一个心跳消息的消息类型。该消息类型的编号(或者说消息类型的标识)可以是cusp协议中已有的消息类型中预留的消息类型编号(或者说未分配相应的消息类型的编号)。例如,如表2所示,新增的消息类型的编号为“15”,消息类型的名称为“cp heartbeat”。
112.表2
113.编号名称15cp heartbeat
114.在一些其他的实施例中,可以对各up进行划分以组成用户组。例如,可以将每个up分别作为一个用户组,或者以某几个(如两个等)up作为一个用户组,又或者以up的每个接口作为一个用户组等。第一cp和第二cp之间的主备状态,可以针对不同用户组进行设置,即对于不同用户组,第一cp和第二cp可以设置不同的主备状态。
115.示例地,以每个up分别作为一个用户组,或者以某几个up作为一个用户组时,第一cp和第二cp可以针对各用户组设置不同的主备状态。例如,在bng设备中包括up1、up2、up3以及up4四个up。四个up均分别与第一cp和第二cp连接。其中up1和up2可以划分为第一用户组(或者说第一灾备组、第一up组),up2和up3可以划分为第二用户组(或者说第二灾备组、第二up组)。针对于第一用户组,可以设置第一cp为主cp,第二cp为备cp,即第一cp进行家庭网关业务接入的优先级高于第二cp进行家庭网关业务接入的优先级。针对于第二up组,可以设置第二cp为主cp,第一cp为备cp,即第二cp进行家庭网关业务接入的优先级高于第一cp进行家庭网关业务接入的优先级。又例如,在bng设备中包括up1和up2两个up,其中up1作为第一用户组,up2作为第二用户组。针对于第一用户组,可以设置第一cp为主cp,第二cp为备cp,即第一cp进行家庭网关业务接入的优先级高于第二cp进行家庭网关业务接入的优先级。针对于第二用户组,可以设置第二cp为主cp,第一cp为备cp,即第二cp进行家庭网关业务接入的优先级高于第一cp进行家庭网关业务接入的优先级。
116.示例地,以up的每个接口作为一个用户组时,第一cp和第二cp还可以针对各用户组设置不同的主备状态(或者说第一cp和第二cp针对up的不同接口设置不同的主备状态)。
例如,在bng设备中包括多个up,其中某个up(如第一up)具有接口1和接口2,其中接口1作为第一用户组,接口2作为第二用户组。则针对于第一用户组,可以设置第一cp为主cp,第二cp为备cp,即第一cp进行家庭网关业务接入的优先级高于第二cp进行家庭网关业务接入的优先级。针对于第二用户组,可以设置第二cp为主cp,第一cp为备cp,即第二cp进行家庭网关业务接入的优先级高于第一cp进行家庭网关业务接入的优先级。
117.通过该方式对第一cp和第二cp间的主备状态进行设置,能够使第一cp和第二cp均正常运行时,两者均能够得到充分利用,提高第一cp和第二cp的利用率。
118.因此,上述cusp消息还可以包括其他字段,例如第三字段,以通过该字段来指示第一cp和第二cp的主备状态对应的用户组。从而便于第二cp能够根据该第三字段确定上述第二字段是指示的主备状态具体对应的用户组,之后第二cp可以根据第二字段对确定的用户组进行主备状态的确认(或者说主备协商)。
119.示例地,第三字段可以是第一cp和第二cp的主备状态对应的用户组的标识。例如,当第一cp和第二cp的主备状态是根据不同的up组(即多个up组成的用户组)进行设置时,则第三字段可以是上述第二字段所指示的主备状态所对应的up组的标识。当第一cp和第二cp的主备状态是根据不同的up进行单独设置时(即以每个up作为一个用户组),则第三字段可以是上述第二字段所指示的主备状态所对应的up的标识。当第一cp和第二cp的主备状态是根据up的不同接口进行设置时(即以up的每个接口作为一个用户组),则第三字段可以是上述第二字段所指示的主备状态所对应的up接口的标识。
120.示例地,以心跳消息的消息类型为新增消息类型,第一cp为主cp、第二cp为备cp,第二字段为第一cp为主cp时的优先级为例。
121.cusp消息的消息格式可以为:
[0122][0123]
其中,《common header》为该cusp消息的报文头。如图5所示,cusp消息的报文头可以包括:版本501、保留字段502、消息类型503、消息长度504、业务标识505等字段。其中,消息类型可以为心跳消息,可以通过消息类型对应的编号表示,例如“15”等(即上述cusp消息中的第一字段)。
[0124]
其中,《disaster negotiation tlv》为该cusp消息的报文体,即具体的消息内容。其可以包括第一cp和第二cp的主备状态对应的用户组的标识,例如,up的接口的标识、up的标识或up组的标识等(即上述第三字段),也即《disaster key subtlv》;还可以包括第一cp的优先级(即上述第二字段),也即《disaster priority subtlvs》。
[0125]
其中,《disaster negotiation tlv》可以采用如图6所示的tlv(type length value)格式。如图6所示,该tlv格式的《disaster negotiation tlv》,可以包括操作(oper)601,该oper可以用来指示对数据集进行操作的消息类型。示例地,该oper的值可以为0等。数据类型(type)602(如该字段的值为103等),数据的长度603(length)(如该字段的值为《disaster key subtlv》和《disaster priority subtlvs》的总长度),以及数据值604(value)。
[0126]
其中,《disaster key subtlv》和《disaster priority subtlvs》,可以分别采用子tlv格式作为《disaster negotiation tlv》的value字段。图7示出了一种子tlv格式。如图7所示,该子tlv格式可以包括数据类型(type)701,数据长度(length)702,以及数据值(value)703。
[0127]
示例地,《disaster key subtlv》中,type的值可以为11,length的值可以为128。当第一cp和第二cp间的主备状态是根据不同up组进行设置时,则value可以是第一cp和第二cp的主备状态对应的up组的标识。当第一cp和第二cp间的主备状态是根据不同up单独设置时,则value可以是第一cp和第二cp的主备状态对应的up的标识。当第一cp和第二cp间的主备状态是根据up的不同接口设置时,则value可以是第一cp和第二cp的主备状态对应的up的接口的标识。
[0128]
示例地,《disaster priority subtlvs》中,type的值可以为12,length的值可以为8。其value可以如图8所示,可以包括优先级类型801(priority type)、预留字段802(reserved)、以及优先级的值803(priority)。其中,优先级类型的长度可以为1字节,预留字段的长度可以为3字节,优先级的值的长度可以为4字节。通过优先级类型可以表示优先级的值为当前优先级还是配置优先级。例如,当优先级类型为0时,表示优先级的值为当前优先级,当优先级类型为1时,表示优先级的值为配置优先级等。其中,优先级的值可以为第一cp为主cp时的优先级,即第一cp相对于上述《disaster key subtlv》中的value的值所指示的用户组对应设置的优先级。
[0129]
s402、up向第二cp发送接收到的心跳消息。
[0130]
其中,up接收来自第一cp的心跳消息以及向第二cp发送心跳消息的过程可以为转发过程。即当up接收到来自第一cp的cusp消息时,up确定该cusp消息为心跳消息后,up可以向第二cp转发其接收到的来自于第一cp的该cusp消息。
[0131]
需要说明的是,当bng设备中设置有分别与第一cp和第二cp连接的多个up时,可以通过所有up分别对第一cp的心跳消息进行转发,也可以通过这些up中的一个或多个对心跳消息进行转发,此处不做限制。其中,当多个up进行心跳消息的转发时,若up中的某个出现故障而无法转发心跳消息,第二cp仍可接收到来自其他up转发的心跳消息,从而提高心跳消息传输的可靠性。
[0132]
s403、第二cp根据心跳消息进行主备决策。
[0133]
在一些实施例中,第二cp可以根据接收到的心跳消息中的相关字段来确定第一cp和第二cp的主备状态。例如,当第二cp接收到心跳消息并确定第一cp为主cp时,第二cp作为备cp对up转发的家庭网关的业务数据进行备份。或者当第一cp的优先级发生变化,第二cp接收到心跳消息并确定第二cp为主cp时,第二cp将转换为主cp以对家庭网关进行业务接入。此时,第二cp将开始向第一cp发送心跳消息,以使第一cp根据接收到的心跳消息确定其为备cp,第一cp将转换为备cp以对up转发的家庭网关的业务数据进行备份。
[0134]
示例地,在第一cp和第二cp,针对所有up均设置为相同的主备状态情况下,第一cp和第二cp中仅相互设置有一组对应的优先级以定义出第一cp和第二cp间的主备状态。例如,针对所有up,均设置第一cp为主cp,第二cp为备cp,即第一cp设置的优先级高于第二cp设置的优先级。在第二cp接收到上述心跳消息后,第二cp可以根据心跳消息中的第二字段确定第一cp和第二cp之间的主备状态。例如,第二字段为第一cp的优先级,第二cp可以根据
该优先级以及自己的优先级进行比对,从而确定第一cp和第二cp间的主备状态,即第一cp的优先级高于第二cp的优先级,第二cp确定第一cp为主cp、第二cp为备cp。若第一cp的优先级发生变化,改变后的第一cp的优先级低于第二cp的优先级,则第二cp可确定自己为主cp,此时,第二cp将转换为主cp以对家庭网关进行业务接入。并且,第二cp向第一cp发送心跳消息,以使第一cp根据接收到的心跳消息确定自己为备cp,从而第一cp转换为备cp以对up转发的家庭网关的业务数据进行备份。
[0135]
在第一cp和第二cp之间的主备状态是根据不同的up组进行设置(即以多个up组成一个用户组)的情况下,则第一cp和第二cp中可以针对不同up组分别设置多组对应的优先级,以针对不同的up组定义出第一cp和第二cp间的主备状态。例如,在bng设备中设置有up1、up2、up3以及up4四个up(如,图3中的up 303)。其中up1和up2划分为第一up组,up3和up4划分为第二up组。针对于第一up组,可以设置第一cp为主cp,第二cp为备cp。即对第一cp和第二cp对应设置一针对第一up组的优先级组,如第一优先级组,其中第一cp的优先级高于第二cp的优先级。而针对第二up组,可以设置第一cp为备cp,第二cp为主cp。即对第一cp和第二cp对应设置一针对第二up组的优先级组,如第二优先级组,其中第一cp的优先级低于第二cp的优先级。在第二cp接收到上述心跳消息后,第二cp可以根据心跳消息中的第二字段以及第三字段确定第一cp和第二cp之间的主备状态。例如第二字段为第一cp为主cp时所对应的优先级,即第一优先级组中设置的第一cp的优先级。第三字段为第一cp为主cp时(或者说第一cp为主cp时的主备状态)对应的up组的标识,即第一up组的标识。此时,第二cp可根据第三字段确定采用其在对第一up组所设置的第一优先级组中的优先级,与心跳消息中的第一cp的优先级进行比对,从而确定第一cp和第二cp间的主备状态,即第一cp的优先级高于第二cp的优先级,第二cp确定第一cp为主cp、第二cp为备cp。若第一cp的优先级发生变化,改变后的第一cp的优先级低于第二cp的优先级,则第二cp可确定自己为主cp,此时,第二cp将转换为主cp以对家庭网关进行业务接入。并且,第二cp向第一cp发送心跳消息,以使第一cp根据接收到的心跳消息确定自己为备cp,从而第一cp转换为备cp以对up转发的家庭网关的业务数据进行备份。
[0136]
在第一cp和第二cp之间的主备状态是根据不同的up单独进行设置(即以每个up作为一个用户组)的情况下,则第一cp和第二cp中可以针对不同up分别设置多组对应的优先级,以针对不同的up定义出第一cp和第二cp间的主备状态。例如,在bng设备中设置有up1和up2两个up。针对于up1,可以设置第一cp为主cp,第二cp为备cp。即对第一cp和第二cp对应设置一针对up1的优先级组,如第一优先级组,其中第一cp的优先级高于第二cp的优先级。而针对up2,可以设置第一cp为备cp,第二cp为主cp。即对第一cp和第二cp对应设置一针对up2的优先级组,如第二优先级组,其中第一cp的优先级低于第二cp的优先级。在第二cp接收到上述心跳消息后,第二cp可以根据心跳消息中的第二字段以及第三字段确定第一cp和第二cp之间的主备状态。例如第二字段为第一cp为主cp时所对应的优先级,即第一优先级组中设置的第一cp的优先级。第三字段为第一cp为主cp时(或者说第一cp为主cp时的主备状态)对应的up的标识,即up1的标识。此时,第二cp可根据第三字段确定采用其在对up1所设置的第一优先级组中的优先级,与心跳消息中的第一cp的优先级进行比对,从而确定第一cp和第二cp间的主备状态,即第一cp的优先级高于第二cp的优先级,第二cp确定第一cp为主cp、第二cp为备cp。若第一cp的优先级发生变化,改变后的第一cp的优先级低于第二cp
的优先级,则第二cp可确定自己为主cp,此时,第二cp将转换为主cp以对家庭网关进行业务接入。并且,第二cp向第一cp发送心跳消息,以使第一cp根据接收到的心跳消息确定自己为备cp,从而第一cp转换为备cp以对up转发的家庭网关的业务数据进行备份。
[0137]
在第一cp和第二cp之间的主备状态是根据up的不同接口单独进行设置(即以up的每个接口作为一个用户组)的情况下,则第一cp和第二cp中可以针对up的不同接口分别设置多组对应的优先级,以针对up的不同接口定义出第一cp和第二cp间的主备状态。例如,在bng设备中包括多个up,其中某个up(如第一up)具有接口1和接口2。针对于接口1,可以设置第一cp为主cp,第二cp为备cp。即对第一cp和第二cp对应设置一针对接口1的优先级组,如第一优先级组,其中第一cp的优先级高于第二cp的优先级。而针对接口2,可以设置第一cp为备cp,第二cp为主cp。即对第一cp和第二cp对应设置一针对接口2的优先级组,如第二优先级组,其中第一cp的优先级低于第二cp的优先级。在第二cp接收到上述心跳消息后,第二cp可以根据心跳消息中的第二字段以及第三字段确定第一cp和第二cp之间的主备状态。例如第二字段为第一cp为主cp时所对应的优先级,即第一优先级组中设置的第一cp的优先级。第三字段为第一cp为主cp时(或者说第一cp为主cp时的主备状态)对应的up的接口的标识,即第一up的接口1的标识。此时,第二cp可根据第三字段确定采用其在对接口1所设置的第一优先级组中的优先级,与心跳消息中的第一cp的优先级进行比对,从而确定第一cp和第二cp间的主备状态,即第一cp的优先级高于第二cp的优先级,第二cp确定第一cp为主cp、第二cp为备cp。若第一cp的优先级发生变化,改变后的第一cp的优先级低于第二cp的优先级,则第二cp可确定自己为主cp,此时,第二cp将转换为主cp以对家庭网关进行业务接入。并且,第二cp向第一cp发送心跳消息,以使第一cp根据接收到的心跳消息确定自己为备cp,从而第一cp转换为备cp以对up转发的家庭网关的业务数据进行备份。
[0138]
在一些可能的实施例中,在第二cp无法接收到来自于up的心跳消息时,则说明第一cp未发送心跳消息。从而第二cp可以确定第一cp发生故障,第二cp将开始进行新接入家庭网关的业务接入,以及对第一cp已接入的家庭网关的业务进行业务续存,即当第二cp确定第一cp发生故障时升主。其中,为了避免误判,第二cp可以在预设时长内未接收到心跳消息时再升主。例如,预设周期为连续三个周期内未接收到心跳消息时,第二cp再开始进行新接入家庭网关的业务接入,以及对第一cp已接入的家庭网关的业务进行业务续存。
[0139]
采用以上实施例的方法,bng设备中的第一cp和第二cp之间的主备状态的协商以及备cp(如第二cp)确定主cp(如第一cp)故障时,备cp进行新接入家庭网关的业务接入和已连接的家庭网关的业务续存的主备协商操作,均可通过第一cp和第二cp间由up转发的心跳消息来实现。例如,第一cp作为主cp发送心跳消息,并通过up向作为备cp的第二cp转发该心跳消息。bng设备中通常设置有多个up,通过各up分别向第二cp转发来自第一cp的心跳消息,若up中的某个出现故障而无法转发心跳消息,第二cp仍可接收到来自其他up转发的心跳消息。如此,能够避免第一cp和第二cp之间直接通信连接以发送心跳消息时,因通信通道发生故障而导致备cp(如第二cp)因接收不到心跳消息而误判主cp(如第一cp)故障,开始进行新接入家庭网关的业务接入和已接入家庭网关的业务续存,而出现双主的问题。
[0140]
上述主要从各个单元之间交互的角度对本技术实施例提供的方案进行了介绍。可以理解的是,各个单元,例如用户单元、第一控制单元、第二控制单元,为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识
到,结合本文中所公开的实施例描述的各示例的算法步骤,本技术实施例的方法能够以硬件、软件、或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但这种实现不应认为超出本技术的范围。
[0141]
本技术实施例可以根据上述方法示例对用户单元、第一控制单元、第二控制单元进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0142]
在具体实现时,本技术所示各单元,如:用户单元、第一控制单元、第二控制单元可采用图9所示的组成结构或者包括图9所示的部件。图9为本技术实施例提供的一种网络设备的结构示意图。具有本技术实施例,如上述图1-图4所示的实施例中的所述的用户单元的功能时,该网络设备可以为用户单元或用户单元中的芯片或片上系统。当该网络设备具有本技术实施例,如上述图1-图4所示的实施例中的所述的控制单元(如第一控制单元或者第二控制单元)的功能时,网络设备可以为控制单元或者控制单元中的芯片或片上系统。
[0143]
如图9所示,该网络设备可以包括处理器901,通信线路902以及收发器903。其中,处理器901,存储器904以及收发器903之间可以通过通信线路902连接。在一种示例中,处理器901可以包括一个或多个cpu,例如图9中的cpu 0和cpu 1。
[0144]
作为一种可选的实现方式,网络设备包括多个处理器,例如,除图9中的处理器901之外,还可以包括处理器907。
[0145]
其中,处理器901可以是中央处理器(central processing unit,cpu)、通用处理器网络处理器(network processor,np)、数字信号处理器(digital signal processing,dsp)、微处理器、微控制器、可编程逻辑器件(programmable logic device,pld)或它们的任意组合。处理器901还可以是其它具有处理功能的装置,如电路、器件或软件模块等。
[0146]
通信线路902,用于在电子设备所包括的各部件之间传送信息。
[0147]
收发器903,用于与其他设备进行通信。收发器903可以是接口电路、管脚、射频模块、收发器或者任何能够实现通信的装置。
[0148]
进一步的,该电子设备还可以包括存储器904。存储器904,用于存储指令。其中,指令可以是计算机程序。
[0149]
其中,存储器904可以是只读存储器(read_only memory,rom)或可存储静态信息和/或指令的其他类型的静态存储设备,也可以是随机存取存储器(random access memory,ram)或者可存储信息和/或指令的其他类型的动态存储设备,还可以是电可擦可编程只读存储器(electrically erasable programmable read_only memory,eeprom)、只读光盘(compact disc read_only memory,cd_rom)或其他光盘存储、光碟存储、磁盘存储介质或其他磁存储设备,光碟存储包括压缩光碟、激光碟、光碟、数字通用光碟、或蓝光光碟等。
[0150]
需要说明的是,存储器904可以独立于处理器901存在,也可以和处理器901集成在一起。存储器904可以用于存储指令或者程序代码或者一些数据等。存储器904可以位于网
络设备内,也可以位于网络设备外,不予限制。处理器901执行存储器904中存储的指令时,可以实现本技术上述实施例提供的主备协商方法。
[0151]
作为一种可选的实现方式,网络设备还包括输出设备905和输入设备906。示例性地,输入设备906是键盘、鼠标、麦克风或操作杆等设备,输出设备905是显示屏、扬声器(speaker)等设备。
[0152]
需要说明的是,图9中示出的组成结构并不构成对该网络设备的限定,除图9所示部件之外,该网络设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0153]
当该网络设备为具有本技术实施例,如上述图1-图4所示的实施例中的所述的用户单元的功能时,所述处理器执行所述存储器中的指令促使所述网络设备执行如下处理:
[0154]
接收来自于第一控制单元的心跳消息,然后向第二控制单元发送该心跳消息,以便第二控制单元根据心跳消息进行主备决策。具体实现方式,请参考如图4所述实施例中步骤401的详细描述,以及步骤402的详细描述,这里不再赘述。
[0155]
当该网络设备具有本技术实施例,如上述图1-图4所示的实施例中的所述的第一控制单元的功能时,所述处理器执行所述存储器中的指令促使所述网络设备执行如下处理:
[0156]
利用其与用户单元之间的通信协议生成心跳消息,然后向用户单元发送心跳消息。以便于用户单元向第二控制单元发送该心跳消息,使第二控制单元可根据心跳消息进行主备决策。具体实现方式,请参考如图4所述实施例中步骤401的详细描述,这里不再赘述。
[0157]
当该网络设备具有本技术实施例,如上述图1-图4所示的实施例中的所述的第二控制单元的功能时,所述处理器执行所述存储器中的指令促使所述网络设备执行如下处理:
[0158]
当用户单元发送心跳消息时,接收来自于用户单元转发的第一控制单元的心跳消息,然后根据心跳消息进行主备决策。具体实现方式,请参考如图4所述实施例中步骤403的详细描述,这里不再赘述。
[0159]
本技术实施例中,芯片系统可以由芯片构成,也可以包括芯片和其他分立器件。
[0160]
图10示出了另一种网络设备1000的结构示意图,该网络设备1000应用于网络系统,网络系统包括第一控制单元,第二控制单元,用户单元,其中该网络设备1000为第一控制单元,该网络设备1000可以为整机形态的设备、设备中的芯片、片上系统或者其他能够实现本技术实施例,如上述图1-图4所示实施例中的第一控制单元的功能的设备等,该网络设备1000可以用于执行上述方法实施例中涉及的第一控制单元的功能。作为一种可实现方式,图10所示网络设备1000包括:生成模块1001,发送模块1002等。
[0161]
其中,生成模块1001,可以用于利用第一控制单元与用户单元之间的通信协议生成心跳消息。发送模块1002,可以用于向用户单元发送心跳消息,心跳消息用于第二控制单元进行主备决策。具体实现方式,请参考如图4所示实施例中步骤401的详细描述,这里不再赘述。
[0162]
在一种具体的实施方式中,心跳消息为cusp消息。
[0163]
在一种可能的设计中,cusp消息包括:第一字段和第二字段,第一字段用于指示
cusp消息的消息类型是心跳消息,第二字段用于指示第一控制单元和第二控制单元的主备状态。
[0164]
在一种可能的设计中,第二字段为第一控制单元的优先级。
[0165]
在一种可能的设计中,cusp消息还包括第三字段,第三字段用于指示第一控制单元为主控制单元时控制的用户单元。
[0166]
在一种可能的设计中,第三字段为与主备状态对应的用户单元标识。
[0167]
该第一控制单元可以用于执行前述主备协商方法中第一控制单元的功能,因此可以达到与前述主备协商方法相同的效果,此处不做赘述。
[0168]
图11示出了另一种网络设备1100的结构示意图,该网络设备1100应用于网络系统,网络系统包括第一控制单元,第二控制单元,用户单元,其中该网络设备1100为用户单元,该网络设备1100可以为整机形态的设备、设备中的芯片、片上系统或者其他能够实现本技术实施例,如上述图1-图4所示实施例中的用户单元的功能的设备等,该网络设备1100可以用于执行上述方法实施例中涉及的用户单元的功能。作为一种可实现方式,图11所示网络设备1100包括:发送模块1101和接收模块1102等。
[0169]
其中,接收模块1102,可以用于接收来自于第一控制单元的心跳消息;发送模块1101,可以用于向第二控制单元发送心跳消息,心跳消息用于第二控制单元进行主备决策。具体实现方式,请参考如图4所示实施例中步骤402的详细描述,这里不再赘述。
[0170]
在一种具体的实施方式中,心跳消息为cusp消息。
[0171]
在一种可能的设计中,cusp消息包括:第一字段和第二字段,第一字段用于指示cusp消息的消息类型是心跳消息,第二字段用于指示第一控制单元和第二控制单元的主备状态。
[0172]
在一种可能的设计中,第二字段为第一控制单元的优先级。
[0173]
在一种可能的设计中,cusp消息还包括第三字段,第三字段用于指示第一控制单元为主控制单元时控制的用户单元。
[0174]
在一种可能的设计中,第三字段为与主备状态对应的用户单元标识。
[0175]
该网络设备可以用于执行前述主备协商方法中用户单元的功能,因此可以达到与前述主备协商方法相同的效果,此处不做赘述。
[0176]
图12示出了另一种网络设备1200的结构示意图,该网络设备1200应用于网络系统,网络系统包括第一控制单元,第二控制单元,用户单元,其中该网络设备1200为第二控制单元,该网络设备1200可以为整机形态的设备、设备中的芯片、片上系统或者其他能够实现本技术实施例,如上述图1-图4所示实施例中的第二控制单元的功能的设备等,该网络设备1200可以用于执行上述方法实施例中涉及的第二控制单元的功能。作为一种可实现方式,图12所示网络设备1200包括:接收模块1201和处理模块1202等。
[0177]
其中,接收模块1201,可以用于接收来自于用户单元的心跳消息;处理模块1202,可以用于根据心跳消息进行主备决策。具体实现方式,请参考如图4所示实施例中步骤403的详细描述,这里不再赘述。
[0178]
在一种具体的实施方式中,心跳消息为cusp消息。
[0179]
在一种可能的设计中,cusp消息包括:第一字段和第二字段,第一字段用于指示cusp消息的消息类型是心跳消息,第二字段用于指示第一控制单元和第二控制单元的主备
状态。
[0180]
在一种可能的设计中,第二字段为第一控制单元的优先级。
[0181]
在一种可能的设计中,cusp消息还包括第三字段,第三字段用于指示第一控制单元为主控制单元时控制的用户单元。
[0182]
在一种可能的设计中,第三字段为与主备状态对应的用户单元标识。
[0183]
该网络设备可以用于执行前述主备协商方法中第二控制单元的功能,因此可以达到与前述主备协商方法相同的效果,此处不做赘述。
[0184]
本技术实施例提供一种网络系统,该网络系统可以包括第一控制单元、第二控制单元以及至少一个用户单元,第一控制单元和第二控制单元分别与用户单元连接。
[0185]
其中,第一控制单元,可以用于向用户单元发送心跳消息,心跳消息用于指示第二控制单元进行主备决策。用户单元,可以用于向第二控制单元发送接收到的心跳消息。第二控制单元,可以用于根据接收到的心跳消息进行主备决策。具体实现方式,请参考如图4所示实施例中步骤401至步骤403的详细描述,这里不再赘述。
[0186]
在一种具体的实施方式中,心跳消息为cusp消息。
[0187]
在一种可能的设计中,cusp消息包括:第一字段和第二字段,第一字段用于指示cusp消息的消息类型是心跳消息,第二字段用于指示第一控制单元和第二控制单元的主备状态。
[0188]
在一种可能的设计中,第二字段为第一控制单元的优先级。
[0189]
在一种可能的设计中,cusp消息还包括第三字段,第三字段用于指示第一控制单元为主控制单元时控制的用户单元。
[0190]
在一种可能的设计中,第三字段为与主备状态对应的用户单元标识。
[0191]
该网络设备可以用于执行前述主备协商方法,因此可以达到与前述主备协商方法相同的效果,此处不做赘述。
[0192]
本技术实施例还提供了一种计算机可读存储介质。上述方法实施例中的全部或者部分流程可以由计算机程序来指令相关的硬件完成,该程序可存储于上述计算机可读存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。示例地,计算机可读存储介质可以是前述任一实施例的用户单元,如:包括数据发送端和/或数据接收端的内部存储单元,例如用户单元的硬盘或内存。上述计算机可读存储介质也可以是上述用户单元的外部存储设备,例如上述用户单元上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,上述计算机可读存储介质还可以既包括上述用户单元的内部存储单元也包括外部存储设备。上述计算机可读存储介质用于存储上述计算机程序以及上述用户单元所需的其他程序和数据。上述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
[0193]
本技术实施例还提供了一种计算机指令。上述方法实施例中的全部或者部分流程可以由计算机指令来指令相关的硬件(如计算机、处理器、网络设备、和终端等)完成。该程序可被存储于上述计算机可读存储介质中。
[0194]
本技术实施例还提供了一种芯片系统。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件,不予限制。该芯片系统包括处理器以及收发器,上述方法实施例中的全部或者部分流程可以由该芯片系统完成,如该芯片系统可以用于实现上述方法实施例中
用户单元所执行的功能,或者,实现上述方法实施例中第一控制单元或者第二控制单元所执行的功能。
[0195]
在一种可能的设计中,上述芯片系统还包括存储器,所述存储器,用于保存程序指令和/或数据,当该芯片系统运行时,该处理器执行该存储器存储的该程序指令,以使该芯片系统执行上述方法实施例中用户单元所执行的功能,或者执行上述方法实施例中第一控制单元所执行的功能,或者上述方法实施例中第二控制单元所执行的功能。
[0196]
在本技术实施例中,处理器可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0197]
在本技术实施例中,存储器可以是非易失性存储器,比如硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd)等,还可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram)。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本技术实施例中的存储器还可以是电路或者其它任意能够实现存储功能的装置,用于存储指令和/或数据。
[0198]
需要说明的是,本技术的说明书、权利要求书及附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0199]
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
[0200]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0201]
所述作为分离部件说明的单元可以是或也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0202]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存
储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备,如:可以是单片机,芯片等,或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0203]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献