CN115277351B - 一种分布式管理系统 - Google Patents
一种分布式管理系统 Download PDFInfo
- Publication number
- CN115277351B CN115277351B CN202210894147.4A CN202210894147A CN115277351B CN 115277351 B CN115277351 B CN 115277351B CN 202210894147 A CN202210894147 A CN 202210894147A CN 115277351 B CN115277351 B CN 115277351B
- Authority
- CN
- China
- Prior art keywords
- server
- configuration
- user equipment
- network
- configuration server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012217 deletion Methods 0.000 claims description 23
- 230000037430 deletion Effects 0.000 claims description 23
- 230000004044 response Effects 0.000 claims description 12
- 239000000523 sample Substances 0.000 claims description 11
- 238000001514 detection method Methods 0.000 claims description 2
- 238000000034 method Methods 0.000 description 44
- 238000010586 diagram Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000012546 transfer Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/042—Network management architectures or arrangements comprising distributed management centres cooperatively managing the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0889—Techniques to speed-up the configuration process
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
一种分布式管理系统,该系统包括管理服务器和第一配置服务器。管理服务器在收到来自用户设备的请求之后,根据选择策略为该用户设备从多个配置服务器选择与该用户设备之前建立过连接的配置服务器,后续由该配置服务器向该用户设备发送用于配置该用户设备的配置信息。一方面,由于该选择出的配置服务器之前与用户设备建立过连接,该配置服务器中可能存储有该用户设备的上下文信息,因此可以实现连接的快速建立。另一方面,由于该选择出的配置服务器之前与用户设备建立过连接,因此该配置服务器中可能在上次建立连接之后已经获取到该用户设备的配置信息,然后在本次完成连接之后,可以快速向用户设备发送配置信息,实现用户设备的快速配置。
Description
技术领域
本申请涉及网络通讯技术领域,尤其涉及一种分布式管理系统。
背景技术
目前,随着通信技术的发展以及互联网的广泛应用,越来越多的用户存在着建立局域网的需求。
为了能够建立局域网,一般要求用户先购买服务商提供的用户设备,然后将该用户设备连接至服务商的网络设备,由该网络设备联合该用户设备为用户提供局域网服务。
在用户设备连接至网络设备之前,用户设备还需要连接至服务商配置的多个配置服务器中的某个配置服务器,由该配置服务器向该用户设备发送配置信息,通过该配置信息完成对用户设备的相关参数的配置。
然而,如何为用户设备选择合适的配置服务器,有待解决。
发明内容
本申请提供一种分布式管理系统,用以为用户设备选择合适的配置服务器。
本申请实施例提供一种分布式管理系统,该管理系统包括管理服务器和第一配置服务器;所述管理服务器,用于接收来自用户设备的第一请求,所述第一请求包括所述用户设备的标识信息;根据选择策略从M个配置服务器中选择所述第一配置服务器;向所述用户设备发送所述第一配置服务器的地址信息;其中,所述选择策略包括:当所述M个配置服务器中存在与所述用户设备建立过连接的配置服务器,则选择与所述用户设备最近一次建立连接的配置服务器作为所述第一配置服务器;所述第一配置服务器,用于接收来自所述用户设备的第二请求,所述第二请求用于请求建立连接;根据所述第二请求建立与所述用户设备之间的连接。
上述方案,分布式管理系统中的管理服务器在收到来自用户设备的请求之后,根据选择策略为该用户设备从多个配置服务器选择与该用户设备之前建立过连接的配置服务器,后续由该配置服务器向该用户设备发送用于配置该用户设备的配置信息。一方面,由于该选择出的配置服务器之前与用户设备建立过连接,因此该配置服务器中可能存储有该用户设备的上下文信息,因此可以实现连接的快速建立。另一方面,由于该选择出的配置服务器之前与用户设备建立过连接,因此该配置服务器中可能在上次建立连接之后已经获取到该用户设备的配置信息,然后在本次完成连接之后,可以快速向用户设备发送配置信息,实现用户设备的快速配置。
一种可能的实现方法中,所述选择策略还包括:当所述M个配置服务器中不存在与所述用户设备建立过连接的配置服务器,则根据所述M个配置服务器的负载选择所述第一配置服务器。比如,从M个配置服务器中选择负载最轻的一个配置服务器作为第一配置服务器。再比如,从M个配置服务器中选择负载最轻的K个配置服务器,然后从K个配置服务器中随机选择一个作为第一配置服务器。本申请实施例对此不限定。
上述方案,由于根据M个配置服务器的负载,从M个配置服务器中选择一个配置服务器与用户设备连接,因此该方案能够实现多个配置服务器之间的负载均衡,从而提升分布式管理系统的性能。
一种可能的实现方法中,所述第一配置服务器,还用于在建立与所述用户设备之间的连接之后,向数据库服务器发送第一记录信息,所述第一记录信息用于指示所述用户设备与所述第一配置服务器已经建立了连接。
上述方案,由于在数据库服务器中记载了用户设备与配置服务器之间的连接情况,因此当其它设备,比如控制服务器,需要获知与该用户设备建立连接的配置服务器的信息时,可以通过查询该数据库服务器,快速以及准确地获得查询结果,也即查询到与该用户设备建立连接的配置服务器的信息。
一种可能的实现方法中,所述第一配置服务器,还用于在断开与所述用户设备之间的连接之后,向所述数据库服务器发送第一删除指示,所述第一删除指示用于指示删除所述记录信息。
上述方案,第一配置服务器与用户设备断开连接后,将用于指示第一配置服务器与用户设备之间建立连接的记录信息删除,可以保持数据库服务器中的记录信息的准确性,进而能够使得其它设备通过查询数据库服务器,准确获知用户设备与配置服务器之间的连接状态,减少数据库服务器的负载,并且减少查找数据库表时间,从而提高分布式管理系统的性能。
一种可能的实现方法中,所述管理系统还包括控制服务器,所述控制服务器与所述第一配置服务器连接;所述控制服务器,用于接收第三请求,所述第三请求中包括所述用户设备的标识信息和所述用户设备的第一配置信息;根据所述用户设备的标识信息,确定与所述用户设备保持连接的所述第一配置服务器;向所述第一配置服务器发送第四请求,所述第四请求中包括所述用户设备的标识信息和所述第一配置信息;所述第一配置服务器,还用于根据所述第一配置信息,对所述用户设备进行配置。
上述方案,由控制服务器确定与用户设备建立连接的第一配置服务器,然后请求该第一配置服务器为用户设备进行配置,能够实现对用户设备的快速有效配置。
一种可能的实现方法中,控制服务器确定与所述用户设备保持连接的所述第一配置服务器,具体包括:控制服务器通过查询数据库服务器,确定与所述用户设备保持连接的所述第一配置服务器。比如,控制服务器向数据库服务器发送查询请求,该查询请求用于查询与所述用户设备保持连接的配置服务器,然后数据库服务器基于该查询请求,获取与所述用户设备保持连接的配置服务器的信息,即第一配置服务器的信息,然后向控制服务器发送第一配置服务器的信息。
上述方案,通过控制服务器查询数据库服务器,可以实现快速以及准确地确定与用户设备建立连接的配置服务器。一种可能的实现方法中,所述控制服务器,还用于周期性地向所述第一配置服务器发送探测消息;当未收到针对一个周期内发送的K个探测消息的响应消息,则向数据库服务器发送第二删除指示,所述第二删除指示用于指示删除与所述第一配置服务器有关的第二记录信息,所述第二记录信息用于记录与所述第一配置服务器连接的用户设备,所述K为正整数。
上述方案,控制服务器通过周期性地向第一配置服务器发送探测消息,并基于第一配置服务器是否反馈了响应消息,来准确地判断第一配置服务器的状态。如果没有收到针对探测消息的响应消息,表明该第一配置服务器不在线或关机,因此控制服务器通知数据库服务器删除与该第一配置服务器有关的记录信息,该记录信息用于记录与第一配置服务器连接的用户设备。因此保持数据库服务器中的记录信息的准确性,进而能够使得其它设备通过查询数据库服务器,准确获知用户设备与配置服务器之间的连接状态。
一种可能的实现方法中,所述第一配置服务器,还用于在重启之后,向数据库服务器发送第三删除指示,所述第三删除指示用于指示删除与所述第一配置服务器有关的第三记录信息,所述第三记录信息用于记录与所述第一配置服务器连接的用户设备。
上述方案,当第一配置服务器发生重启,则第一配置服务器与先前已经建立连接用户设备之间的连接会断开,因此第一配置服务器通知数据库服务器删除与该第一配置服务器有关的记录信息,该记录信息用于记录与第一配置服务器连接的用户设备。因此保持数据库服务器中的记录信息的准确性,进而能够使得其它设备通过查询数据库服务器,准确获知用户设备与配置服务器之间的连接状态。
一种可能的实现方法中,所述管理系统还包括网络服务器;所述控制服务器,用于接收第二配置信息;根据所述第二配置信息确定网络设备,以及确定与所述网络设备保持连接的网络服务器;向所述网络服务器发送第五请求,所述第五请求中包括所述网络设备的标识信息和所述第二配置信息;所述网络服务器,用于根据所述第二配置信息,对所述网络设备进行配置。
上述方案,由控制服务器确定与网络设备建立连接的网络服务器,然后请求该网络服务器为网络设备进行配置,能够实现对网络设备的快速有效配置。
一种可能的实现方法中,控制服务器确定与所述网络设备保持连接的所述网络服务器,具体包括:控制服务器通过查询数据库服务器,确定与所述网络设备保持连接的所述网络服务器。比如,控制服务器向数据库服务器发送查询请求,该查询请求用于查询与所述网络设备保持连接的网络服务器,然后数据库服务器基于该查询请求,获取与所述网络设备保持连接的网络服务器的信息,然后向控制服务器发送该网络服务器的信息。
一种可能的实现方法中,所述网络服务器,还用于在重启之后,向数据库服务器发送第六请求,所述第六请求用于获取所述网络服务器对应的网络设备;向所述网络服务器对应的网络设备发送第七请求,所述第七请求用于请求建立与所述网络设备之间的连接。
上述方案,网络服务器重启后,网络设备与网络服务器的连接会断开,网络服务器向数据库服务器请求获取与所述网络服务器对应的网络设备,并向该网络设备发送连接请求,从而建立网络服务器与网络设备建立连接,因此能够实现网络服务器与网络设备长期处于连接状态,有助于保障分布式管理系统的正常工作。
一种可能的实现方法中,所述管理服务器是主备模式的管理服务器。
上述方案,管理服务器采用主备模式,当主管理服务器出现异常情况时,备管理服务器会代替主管理服务器工作,有助于保障分布式管理系统的正常工作,从而提升分布式管理系统的性能。
一种可能的实现方法中,配置服务器是主备模式的配置服务器。这里的配置服务器包括上述描述的第一配置服务器。
上述方案,配置服务器采用主备模式,当主配置服务器出现异常情况时,备配置服务器会代替主配置服务器工作,有助于保障分布式管理系统的正常工作,从而提升分布式管理系统的性能。
一种可能的实现方法中,所述控制服务器是主备模式的控制服务器。
上述方案,控制服务器采用主备模式,当主控制服务器出现异常情况时,备控制服务器会代替主控制服务器工作,有助于保障分布式管理系统的正常工作,从而提升分布式管理系统的性能。
一种可能的实现方法中,所述网络服务器是主备模式的网络服务器。
上述方案,网络服务器采用主备模式,当主网络服务器出现异常情况时,备网络服务器会代替主网络服务器工作,有助于保障分布式管理系统的正常工作,从而提升分布式管理系统的性能。
附图说明
图1为本申请实施例提供的一种分布式管理系统的示意图;
图2为本申请实施例提供的一种配置方法流程示意图;
图3为本申请实施例提供的一种配置服务器对用户设备进行配置的方法的流程示意图;
图4为本申请实施例提供的一种网络服务器对网络设备进行配置的方法的流程示意图。
具体实施方式
图1为本申请实施例提供的一种分布式管理系统,该系统包括管理服务器和M个配置服务器,该M为大于1的整数。可选的,该系统还包括以下设备中一个或多个:中转服务器、控制服务器或网络服务器。
其中,网络服务器的数量为一个或多个,图1中以分布式管理系统包括一个网络服务器作为示例。
管理服务器,用于为用户设备选择合适的配置服务器。在具体实现中,该管理服务器可以是dispatch-IP服务器,当然也可以是其它服务器,本申请对此不限定。
配置服务器,用于在建立配置服务器与用户设备的连接之后,为用户设备进行配置,例如配置网络带宽、用户权限等。
控制服务器,用于获取配置信息并向相应的配置服务器发送配置信息,由配置服务器基于该配置信息对用户设备进行配置。以及获取配置信息并向相应的网络服务器发送配置信息,由网络服务器基于该配置信息对网络设备进行配置。
数据库服务器,用于记录配置服务器与用户设备之间的连接关系。比如,当某个配置服务器与某个用户设备之间建立了连接,在该数据库服务器中存储一条记录信息,该记录信息记录了配置服务器与用户设备之间的连接关系。可选的,如果该连接关系断开,则可以从数据库服务器中删除该记录信息。以及,还用于记录网络服务器与网络设备之间的连接关系。比如,当某个网络服务器与某个网络设备之间建立了连接,在该数据库服务器中存储一条记录信息,该记录信息记录了网络服务器与网络设备之间的连接关系。
网络服务器,用于在建立网络服务器与网络设备的连接之后,为网络设备进行配置,例如配置该网络设备与该网络设备所服务的用户设备之间的对应关系。
中转服务器,用于接收来自用户的携带有配置信息的配置请求,并将配置请求转发给控制服务器,从而控制服务器基于该配置请求获取到配置信息。该中转服务器支持作为超文本传输协议(Hyper Text Transfer Protocol,HTTP)代理服务对外进行服务,可以将https请求转为http请求。
本申请实施例中的用户设备,指的是用户使用的用于配置局域网服务的硬件设备,该用户设备也可以称为配置盒子。在具体实现中,该用户设备可以是EDGE设备,当然也可以是其它设备,本申请对此不限定。
本申请实施例中的网络设备,指的是服务商在多个地理位置部署的用于为用户提供局域网服务的硬件设备,该网络设备也可以称为网络盒子。在具体实现中,该网络设备可以是POP设备,当然也可以是其它设备,本申请对此不限定。
本申请实施例中,当用户设备建立与网络设备之间的连接后,可以构成用户的局域网,从而为用户提供局域网服务。
一种可能的实现方法中,图1中的各个服务器均可以采用主备模式来实现。以控制服务器为例,当采用主备模式,该分布式管理系统中至少包括两个控制服务器,其中存在一个主控制服务器,存在一个或多个备控制服务器。当主控制服务器故障或负载过重,可以启用一个或多个备控制服务器进行工作。
图2为本申请实施例提供的一种用户设备与配置服务器之间建立连接的方法的流程示意图,下面结合图1所示的分布式管理系统介绍该方法。该方法包括以下步骤:
步骤201,用户设备向管理服务器发送第一请求。相应地,管理服务器接收到该第一请求。
该第一请求中包括该用户设备的标识信息,该标识信息例如可以是一个序列号(Sequence Number,SN),或者是其它唯一标识信息。
该第一请求用于请求为该用户设备选择一个合适的配置服务器。
一种可能的实现方法,用户设备开机或重启之后,产生请求消息1,该请求消息1中包括该用户设备的标识信息,以及公网因特网协议(internet protocol,IP)+公网端口号,然后用户设备向中转服务器发送该请求消息1。中转服务器将请求消息1中的公网IP+公网端口号转换为第一VIP+内网端口号,然后中转服务器向管理服务器发送请求消息2,该请求消息2中包括用户设备的标识信息,以及第一VIP+内网端口号。其中,公网IP+公网端口号用于进行外网访问,第一VIP+内网端口号用于内网访问。VIP是虚拟IP(Virtual IP)的简称。其中,该公网端口号与该内网端口号可以相同也可以不同。本申请实施例中的虚拟IP也可以称为内网IP。
步骤202,管理服务器根据预配置的选择策略,为该用户设备从M个配置服务器中选择一个配置服务器。
本申请实施例将该选择出的配置服务器称为第一配置服务器。
该选择策略具体为:当M个配置服务器中存在与该用户设备建立过连接的配置服务器,则选择与该用户设备最近一次建立连接的配置服务器作为第一配置服务器。
如果该M个配置服务器中存在与该用户设备建立过连接的配置服务器,则管理服务器选择与该用户设备最近一次建立连接的配置服务器作为第一配置服务器。示例性地,管理服务器中存储有一张哈希表(hash),该哈希表用于记录用户设备最近一次连接的配置服务器的信息。因此管理服务器可以通过查询该哈希表,如果该哈希表中没有记录该用户设备最近一次连接的配置服务器的信息,表明该M个配置服务器均没有与该用户设备建立过连接。如果该哈希表中记录了与该用户设备最近一次连接的配置服务器的信息,则该配置服务器即为与该用户设备最近一次建立连接的配置服务器。需要说明的是,该哈希表是动态更新的,后续如果该用户设备断开了与当前配置服务器之间的连接,并建立了与其它配置服务器之间的连接,则更新该哈希表中的相关记录,表明该用户设备最近一次连接的配置服务器是该其它配置服务器。
如果该M个配置中不存在与该用户设备建立过连接的配置服务器,则管理服务器可以通过其他方式从M个配置服务器选择一个配置服务器作为第一配置服务器。比如,选择负载最轻的作为第一配置服务器。再比如,选择负载最轻的N个配置服务器,N为大于1的整数,并从负载最轻的N个配置服务器随机选择一个配置服务器作为第一配置服务器。再比如,从图1所示的M个配置服务器中随机选择K个配置服务器,K为大于1的整数,然后从K个配置服务器选择负载最轻的配置服务器作为第一配置服务器。
在上述选择配置服务器的方案中,是优先选择与用户设备最近一次建立过连接的配置服务器。当然,如果存在与该用户设备最近一次建立过连接的配置服务器,但该配置服务器负载超过某个阈值,则可以不选择该配置服务器,而是从其它M-1个配置服务器选择一个配置服务器,例如可以根据该M-1个配置服务器的负载选择一个配置服务器,具体方法可以参考前面描述。
需要说明的是,管理服务器也可以通过其它方法选择配置服务器,本申请实施例不做限定。
步骤203,管理服务器向用户设备发送第一响应。
该第一响应中包括第一配置服务器的信息,例如该第一配置服务器的信息可以是IP地址或标识信息。
步骤204,用户设备向第一配置服务器发送第二请求。
该第二请求用于请求建立连接,第一配置服务器响应该第二请求,建立用户设备与第一配置服务器之间的连接。其中,该连接例如可以是传输控制协议(TransmissionControl protocol,TCP)连接,本申请对此不限定。
基于上述方案,管理服务器在收到来自用户设备的请求之后,根据选择策略为该用户设备从多个配置服务器选择与该用户设备之前建立过连接的配置服务器,后续由该配置服务器向该用户设备发送用于配置该用户设备的配置信息。一方面,由于该选择出的配置服务器之前与用户设备建立过连接,因此该配置服务器中可能存储有该用户设备的上下文信息,因此可以实现连接的快速建立。另一方面,由于该选择出的配置服务器之前与用户设备建立过连接,因此该配置服务器中可能在上次建立连接之后已经获取到该用户设备的配置信息,然后在本次完成连接之后,可以快速向用户设备发送配置信息,实现用户设备的快速配置。一种可能的实现方法中,在上述步骤204之后,还可以执行以下步骤205。
步骤205,第一配置服务器向数据库服务器发送第一记录信息。
该第一记录信息用于指示用户设备与第一配置服务器已经建立了连接。
下面结合一个具体示例,说明该第一记录信息的实现方法。
表1为本申请实施例提供的一种记录信息的实现方法。
表1
netconf_stack | device ID | time | netconf_node_id |
10.1.34.193:8181 | CTCE10140158EDGE | 2022-01-01:01:01:01 | 10.1.40.158:5923 |
第一记录信息中包括netconf_stack、device ID、time和netconf_node_id。其中,netconf_stack是第一配置服务器的标识信息,该标识信息是用VIP+内网端口号进行表示,比如是10.1.34.193:8181。device ID是用户设备的标识信息,该标识信息可以用户设备的序列号,比如是CTCE10140158EDGE。time用于表示第一配置服务器与用户设备建立连接的时间,比如是2022-01-01:01:01:01。netconf_node_id是该用户设备的公网IP+公网端口号,比如是10.1.40.158:5923。
基于该步骤205,由于在数据库服务器中记载了用户设备与配置服务器之间的连接情况,因此当其它设备,比如控制服务器,需要获知与该用户设备建立连接的配置服务器的信息时,可以通过查询该数据库服务器,快速以及准确地获得查询结果,也即查询到与该用户设备建立连接的配置服务器的信息。一种可能的实现方法中,在上述步骤205之后,如果第一配置服务器断开了与用户设备之间的连接,则在断开连接之后,还可以执行以下步骤206。
步骤206,第一配置服务器向数据库服务器发送第一删除指示。
该第一删除指示用于指示删除上述第一记录信息。
基于该步骤206,第一配置服务器与用户设备断开连接后,将用于指示第一配置服务器与用户设备之间建立连接的记录信息删除,可以保持数据库服务器中的记录信息的准确性,进而能够使得其它设备通过查询数据库服务器,准确获知用户设备与配置服务器之间的连接状态,减少数据库服务器的负载,并且减少查找数据库表时间,从而提高分布式管理系统的性能。基于表1的示例,当第一配置服务器与用户设备断开连接之后,需要删除表1中的第一记录信息。
一种实现方法中,本申请实施例中,可以对用户设备的上下线任务增加分布式锁,以避免数据库服务器中的记录信息发生错误。这里的用户设备上线指的是用户设备建立与某个配置服务器之间的连接,这里的下线指的是用户设备断开与某个配置服务器之间的连接。下面结合示例说明该分布式锁的工作原理。
在t1时刻,用户设备1上线,并请求建立用户设备1与配置服务器1之间的连接,此时配置服务器1产生任务1,该任务1是在数据库服务器中添加记录信息1,该记录信息1用于记录用户设备1与配置服务器1之间的连接关系。
在t2时刻,用户设备1下线,并请求删除用户设备1与配置服务器1之间的连接,此时,配置服务器1产生任务2,该任务2是请求数据库服务器删除用户设备1与配置服务器1之间的连接关系。然而,如果t2与t1相隔时间很短,上述任务1还在处理过程中,即还没有来得及在数据库服务器中添加上述记录信息1。如果不对任务添加分布式锁的话,则该任务1与任务2将会并发执行,由于任务2需要的时间可能比较短,因此任务2先被执行,也即在上述记录信息1被记录在数据库服务器之前,数据库服务器执行删除用户设备1与配置服务器1之间的连接关系的操作。由于数据库服务器中并没有记录用户设备1与配置服务器1之间的连接关系,因此该删除操作失败。
在任务2执行完成之后,上述任务1还在处理过程中,后续该任务1被执行完成之后,会在数据库服务器中添加记录信息1,该记录信息1用于记录用户设备1与配置服务器1之间的连接关系。然而,此时用户设备1与配置服务器1之间已经断开连接,因此该记录信息1属于一条错误的信息。
为此,本申请实施例通过对任务添加分布式锁,可以解决上述问题。具体的,在任务1产生之后,对该任务1添加分布式锁,在任务1执行完毕之前,新增上述任务2,此时需要等待该任务1被执行完毕之后且任务1的分布式锁被释放之后,该任务2才会被执行。具体的,上述任务1被执行完毕之后,在数据库服务器中生成上述记录信息1,然后再执行上述任务2,则会将该记录信息1删除,保证了数据库服务器中的信息的正确性。
图3为本申请实施例提供的一种配置服务器对用户设备进行配置的方法的流程示意图,下面结合图1所示的分布式管理系统介绍该方法。该方法可以与图2的实施例相结合实施,也可以单独实施。
该方法包括以下步骤:
步骤301,控制服务器接收第三请求。
该控制服务器在接收第三请求之前,用户设备已经建立了与第一配置服务器之间的连接。该第三请求中包括用户设备的标识信息和用户设备的第一配置信息。
一种可能的实现方法中,用户在客户端的浏览器上输入网址,即公网IP+端口号,弹出一个界面,该界面用于为用户设备做配置。用户在该界面上输入相关信息,产生第一配置信息,其中包括最大带宽值,用户权限等,然后用户点击“提交”按钮,产生请求消息a,该请求消息a包括用户设备的标识信息,第一配置信息,以及公网IP+公网端口号。然后该请求消息a经过防火墙之后,被转发至中转服务器,中转服务器将请求信息a中的公网IP+公网端口号转换为第二VIP+内网端口号,并根据第二VIP+内网端口号向控制服务器发送请求消息b,该请求消息b中包括用户设备的标识信息和第一配置信息。其中,公网IP+公网端口号用于进行外网访问,第二VIP+内网端口号用于内网访问。其中,该公网端口号与该内网端口号可以相同也可以不同。
步骤302,控制服务器根据用户设备的标识信息,确定与用户设备保持连接的第一配置服务器。
一种实现方法中,控制服务器通过查询数据库服务器,确定与用户设备保持连接的第一配置服务器。比如,控制服务器向数据库服务器发送查询请求,该查询请求用于查询与用户设备保持连接的配置服务器,然后数据库服务器基于该查询请求,获取与用户设备保持连接的配置服务器的信息,即第一配置服务器的信息,然后向控制服务器发送第一配置服务器的信息。该方案,通过控制服务器查询数据库服务器,可以实现快速以及准确地确定与用户设备建立连接的配置服务器。
一般情况下,针对某个用户设备,如果该用户设备已经建立了与某个配置服务器之间的连接,则数据库服务器中会记录一条记录信息,该记录信息记录了用户设备与该配置服务器之间的连接,但在特殊情况下,数据库服务器中可能会记录多条记录信息。例如,用户设备1在t1时刻建立了与配置服务器1之间的连接,然后数据库服务器生成记录信息1,该记录信息1记录了用户设备1与该配置服务器1之间的连接。然后在t2时刻用户设备1断开了与配置服务器1之间的连接,并快速建立了与配置服务器2之间的连接,如果t2与t1相隔很短,则配置服务器1可能还没来得及删除上述记录信息1,然后数据库服务器又生成了记录信息2,该记录信息2记录了用户设备1与该配置服务器2之间的连接,从而导致数据库服务器中同时存在记录信息1和记录信息2。在这种情形下,如果控制服务器根据用户设备的标识信息,在数据库服务器中查找到多个配置服务器的信息,则控制服务器可以根据以下方法从多个配置服务器中选择一个:控制服务器向该多个配置服务器分别发送请求消息,该请求消息包括用户设备的信息,然后控制服务器从该多个配置服务器分别接收响应消息,该响应消息用于指示是否与该用户设备建立了连接,从而控制服务器可以获知与该用户设备当前建立连接的那个配置服务器。
步骤303,控制服务器向第一配置服务器发送第四请求。
该第四请求中包括用户设备的标识信息和第一配置信息。
步骤304,第一配置服务器根据第一配置信息对用户设备进行配置。
即第一配置服务器向用户设备发送第一配置信息,然后用户设备根据该第一配置信息对用户设备进行配置。
上述方案,由控制服务器确定与用户设备建立连接的第一配置服务器,然后请求该第一配置服务器为用户设备进行配置,能够实现对用户设备的快速有效配置。
一种可能的实现方法中,控制服务器可以对图1所示的M个配置服务器进行探测,比如,控制服务器周期性地向各个配置服务器发送探测消息。为便于说明,下面以M个配置服务器中的配置服务器A为例进行说明。控制服务器周期性地向配置服务器A发送探测消息,当未从配置服务器A收到针对一个周期内发送的K个探测消息的响应消息,K为正整数,也即控制服务器向配置服务器A发送了K个探测消息,且未收到来自该配置服务器A的任何响应消息,则控制服务器向数据库服务器发送第二删除指示,用于指示删除与配置服务器A有关的记录信息,该记录信息用于记录与配置服务器A连接的用户设备。其中,该配置服务器A可以是前述第一配置服务器,也可以是其它M-1个配置服务器中的任意服务器。该方案,控制服务器通过周期性地向配置服务器发送探测消息,并基于配置服务器是否反馈了响应消息,来准确地判断配置服务器的状态。如果没有收到针对探测消息的响应消息,表明该配置服务器不在线或关机,因此控制服务器通知数据库服务器删除与该配置服务器有关的记录信息,该记录信息用于记录与配置服务器连接的用户设备。因此保持数据库服务器中的记录信息的准确性,进而能够使得其它设备通过查询数据库服务器,准确获知用户设备与配置服务器之间的连接状态。一种可能的实现方法中,第一配置服务器在重启之后,可以向数据库服务器发送第三删除指示,该第三删除指示用于指示删除与第一配置服务器有关的第三记录信息,该第三记录信息用于记录与第一配置服务器连接的用户设备。该方案,当第一配置服务器发生重启,则第一配置服务器与先前已经建立连接用户设备之间的连接会断开,因此第一配置服务器通知数据库服务器删除与该第一配置服务器有关的记录信息,该记录信息用于记录与第一配置服务器连接的用户设备。因此保持数据库服务器中的记录信息的准确性,进而能够使得其它设备通过查询数据库服务器,准确获知用户设备与配置服务器之间的连接状态。
图4为本申请实施例提供的一种网络服务器对网络设备进行配置的方法的流程示意图,下面结合图1所示的分布式管理系统介绍该方法。该方法可以与图1和/或图2的实施例相结合实施,也可以单独实施。
该方法包括以下步骤:
步骤401,控制服务器接收第二配置信息。
该控制服务器在接收第二配置信息之前,网络设备已经建立了与网络服务器之间的连接。
一种可能的实现方法中,用户在客户端的浏览器上输入网址,即公网IP+公网端口号,弹出一个界面,该界面用于为网络设备做配置。用户在该界面上输入相关信息,生成第二配置信息,其中包括多个地理位置的信息,也即用户希望将该多个地理位置组成一个局域网。然后用户点击“提交”按钮,产生请求消息c,该请求消息c包括第二配置信息,以及公网IP+公网端口号。然后该请求消息c经过防火墙之后,被转发至中转服务器,中转服务器将请求信息c中的公网IP+公网端口号转换为第三VIP+内网端口号,并根据第三VIP+内网端口号向控制服务器发送请求消息d,该请求消息d中包括网络设备的标识信息和第二配置信息。其中,公网IP+公网端口号用于进行外网访问,第三VIP+内网端口号用于内网访问。其中,该公网端口号与该内网端口号可以相同也可以不同。
步骤402,控制服务器根据网络设备的标识信息,确定与网络设备保持连接的网络服务器。
一种实现方法中,控制服务器通过查询数据库服务器,确定与网络设备保持连接的网络服务器。比如,控制服务器向数据库服务器发送查询请求,该查询请求用于查询与网络设备保持连接的网络服务器,然后数据库服务器基于该查询请求,获取与网络设备保持连接的网络服务器的信息,然后向控制服务器发送网络服务器的信息。该方案,通过控制服务器查询数据库服务器,可以实现快速以及准确地确定与网络设备建立连接的网络服务器。
需要说明的是,如果网络服务器采用主备模式,则与该网络设备保持连接的网络服务器的数量可能是多个,因此数据库服务器中可能存储多条记录信息,每条记录信息记录了该网络设备与该多个网络服务器之间的连接状态。例如,以下表2记录了网络设备与多个网络服务器之间的连接关系。
表2
id | border_address | protocol_address | status |
10.1.40.154:10.1.34.193 | 10.1.40.154 | 10.1.34.193 | online |
10.1.40.154:10.1.34.193 | 10.1.40.154 | 10.1.34.194 | online |
其中,表2中的id表示网络设备的IP地址与网络服务器的IP地址的对应关系,border_address是网络设备的IP地址,比如上述10.1.40.154即为网络设备的IP地址。protocol_address表示网络服务器的IP地址,比如上述10.1.34.193是主网络服务器的IP地址,上述10.1.34.194是备网络服务器的IP地址。status表示网络设备与网络服务器的连接状态,比如online表示在线,即连接建立成功。
其中,如果网络设备与网络服务器之间的连接断开,则可以将数据库服务器中的相应记录信息中的status更新为offline即可。
步骤403,控制服务器向网络服务器发送第五请求。
该第五请求中包括第二配置信息。
一种实现方法中,控制服务器根据第二配置信息,确定一个或多个网络设备,然后确定与该一个或多个网络设备连接的网络服务器,并向该网络服务器发送第五请求,该第五请求中包括网络设备的标识信息和第二配置信息。例如,控制服务器根据第二配置信息确定网络设备1和网络设备2,其中,网络设备1连接网络服务器1,网络设备2连接网络服务器2,则控制服务器向网络设备1发送第五请求,该第五请求中包括网络设备1的标识信息和第二配置信息,以及向网络设备2发送第五请求,该第五请求中包括网络设备2的标识信息和第二配置信息。
其中,控制服务器根据第二配置信息,确定一个或多个网络设备,比如可以是:控制服务器中存储有地理位置的信息与网络设备之间的对应关系,因此控制服务器根据第二配置信息中的地理位置的信息,确定相应的网络设备。
步骤404,网络服务器根据第二配置信息对网络设备进行配置。
即网络服务器向网络设备发送第二配置信息,然后网络设备根据该第二配置信息对网络设备进行配置。也即网络服务器将第二配置信息发送网络设备。
上述方案,由控制服务器确定与网络设备建立连接的网络服务器,然后请求该网络服务器为网络设备进行配置,能够实现对网络设备的快速有效配置。
一种可能的实现方法中,网络服务器在重启之后,向数据库服务器发送第六请求,该第六请求用于获取网络服务器对应的网络设备,然后网络服务器向网络服务器对应的网络设备发送第七请求,该第七请求用于请求建立与网络设备之间的连接。例如,数据库服务器中记录了网络服务器A与3个网络设备之间的连接关系,因此在网络服务器A重启之后,向数据库服务器请求获取网络服务器A对应的网络设备,则数据库服务器向网络服务器A发送该3个网络设备的信息,进而网络服务器A分别重新建立与该3个网络设备之间的连接。
需要说明的是,本申请的实施例中,上述管理服务器、控制服务器、中转服务器以及配置服务器均可以采用主备模式(也称为双活模式,或主备双活模式),在主服务器异常挂掉之后,备服务器继续处理主服务器的业务及后续其他业务。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (9)
1.一种分布式管理系统,其特征在于,包括管理服务器、控制服务器和第一配置服务器;所述控制服务器与所述第一配置服务器连接;
所述管理服务器,用于接收来自用户设备的第一请求,所述第一请求包括所述用户设备的标识信息;根据选择策略从M个配置服务器中选择所述第一配置服务器,所述M为大于1的整数;向所述用户设备发送所述第一配置服务器的地址信息;其中,所述选择策略包括:当所述M个配置服务器中存在与所述用户设备建立过连接的配置服务器,则选择与所述用户设备最近一次建立连接的配置服务器作为所述第一配置服务器;若与所述用户设备最近一次建立连接的配置服务器的负载超过某个阈值,则根据负载情况从其它M-1个配置服务器选择一个配置服务器作为所述第一配置服务器;
所述第一配置服务器,用于接收来自所述用户设备的第二请求,所述第二请求用于请求建立连接;根据所述第二请求建立与所述用户设备之间的连接;
所述控制服务器,用于接收来自所述用户设备的第三请求,所述第三请求中包括所述用户设备的标识信息和所述用户设备的第一配置信息;根据所述用户设备的标识信息,确定与所述用户设备保持连接的所述第一配置服务器;向所述第一配置服务器发送第四请求,所述第四请求中包括所述用户设备的标识信息和所述第一配置信息;
所述第一配置服务器,还用于根据所述第一配置信息,对所述用户设备进行配置。
2.如权利要求1所述的系统,其特征在于,所述选择策略还包括:当所述M个配置服务器中不存在与所述用户设备建立过连接的配置服务器,则根据所述M个配置服务器的负载选择所述第一配置服务器。
3.如权利要求1或2所述的系统,其特征在于,所述第一配置服务器,还用于在建立与所述用户设备之间的连接之后,向数据库服务器发送第一记录信息,所述第一记录信息用于指示所述用户设备与所述第一配置服务器已经建立了连接。
4.如权利要求3所述的系统,其特征在于,所述第一配置服务器,还用于在所述第一配置服务器断开与所述用户设备之间的连接之后,向所述数据库服务器发送第一删除指示,所述第一删除指示用于指示删除所述第一记录信息。
5.如权利要求1所述的系统,其特征在于,所述控制服务器,还用于周期性地向所述第一配置服务器发送探测消息;当未收到针对一个周期内发送的K个探测消息的响应消息,则向数据库服务器发送第二删除指示,所述第二删除指示用于指示删除与所述第一配置服务器有关的第二记录信息,所述第二记录信息用于记录与所述第一配置服务器连接的用户设备,所述K为正整数。
6.如权利要求5所述的系统,其特征在于,所述第一配置服务器,还用于在重启之后,向数据库服务器发送第三删除指示,所述第三删除指示用于指示删除与所述第一配置服务器有关的第三记录信息,所述第三记录信息用于记录与所述第一配置服务器连接的用户设备。
7.如权利要求6所述的系统,其特征在于,所述系统还包括网络服务器;
所述控制服务器,用于接收来自所述用户设备的第二配置信息;根据所述第二配置信息确定网络设备,以及确定与所述网络设备保持连接的网络服务器;向所述网络服务器发送第五请求,所述第五请求中包括所述网络设备的标识信息和所述第二配置信息;
所述网络服务器,用于根据所述第二配置信息,对所述网络设备进行配置。
8.如权利要求7所述的系统,其特征在于,所述网络服务器,还用于在重启之后,向数据库服务器发送第六请求,所述第六请求用于获取所述网络服务器对应的所述网络设备;向所述网络服务器对应的所述网络设备发送第七请求,所述第七请求用于请求建立与所述网络设备之间的连接。
9.如权利要求8所述的系统,其特征在于,管理服务器是主备模式的管理服务器,第一配置服务器是主备模式的配置服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210894147.4A CN115277351B (zh) | 2022-07-27 | 2022-07-27 | 一种分布式管理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210894147.4A CN115277351B (zh) | 2022-07-27 | 2022-07-27 | 一种分布式管理系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115277351A CN115277351A (zh) | 2022-11-01 |
CN115277351B true CN115277351B (zh) | 2024-07-05 |
Family
ID=83771364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210894147.4A Active CN115277351B (zh) | 2022-07-27 | 2022-07-27 | 一种分布式管理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115277351B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102143075A (zh) * | 2011-03-28 | 2011-08-03 | 中国人民解放军国防科学技术大学 | 实现负载均衡的方法和系统 |
CN102893557A (zh) * | 2010-03-22 | 2013-01-23 | 皇家Kpn公司 | 用于处理配置请求的系统和方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101350734B (zh) * | 2007-07-20 | 2012-03-07 | 中兴通讯股份有限公司 | 自动配置终端设备关联的自动配置服务器的方法 |
CN101729591B (zh) * | 2008-10-29 | 2013-02-13 | 中国移动通信集团公司 | 一种用户引导装置、系统和方法 |
CN101771730A (zh) * | 2008-11-28 | 2010-07-07 | 华为终端有限公司 | 一种发放业务的方法、装置和系统 |
CN102075506B (zh) * | 2009-11-23 | 2015-05-20 | 皇家Kpn公司 | 用于远程设备管理的方法和系统 |
CN102263652A (zh) * | 2010-05-31 | 2011-11-30 | 鸿富锦精密工业(深圳)有限公司 | 网络装置及更改其参数设定的方法 |
US20130268578A1 (en) * | 2012-04-10 | 2013-10-10 | Arabinda Bose | Method And Apparatus For Facilitating Communications With A Managed Client Device |
CN104079630A (zh) * | 2014-06-09 | 2014-10-01 | 中国建设银行股份有限公司 | 一种业务服务端负载均衡方法、客户端、服务端以及系统 |
CN108616379B (zh) * | 2016-12-13 | 2021-11-02 | 南宁富桂精密工业有限公司 | 管理自动配置服务器的方法与系统 |
CN114006807B (zh) * | 2020-07-14 | 2024-10-29 | 海信集团控股股份有限公司 | 客户终端设备及其配置方法、配置服务器 |
CN114745413B (zh) * | 2022-04-06 | 2023-08-08 | 苏州浪潮智能科技有限公司 | 服务端的访问控制方法、装置、计算机设备及存储介质 |
-
2022
- 2022-07-27 CN CN202210894147.4A patent/CN115277351B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102893557A (zh) * | 2010-03-22 | 2013-01-23 | 皇家Kpn公司 | 用于处理配置请求的系统和方法 |
CN102143075A (zh) * | 2011-03-28 | 2011-08-03 | 中国人民解放军国防科学技术大学 | 实现负载均衡的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115277351A (zh) | 2022-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10680874B2 (en) | Network service fault handling method, service management system, and system management module | |
US7978631B1 (en) | Method and apparatus for encoding and mapping of virtual addresses for clusters | |
JP3966598B2 (ja) | サーバ選択システム | |
US9659075B2 (en) | Providing high availability in an active/active appliance cluster | |
EP3490224A1 (en) | Data synchronization method and system | |
US9391859B2 (en) | Service coordination for a data center | |
JP4087271B2 (ja) | 代理応答装置およびネットワークシステム | |
US20120102192A1 (en) | Network system | |
US9900385B2 (en) | Connection management device, communication system, connection management method, and computer program product | |
JP2014529366A (ja) | カテゴリ情報の送信 | |
US20130346513A1 (en) | Migrating a chat message service provided by a chat server to a new chat server | |
TWI740210B (zh) | 終端設備管理方法及伺服器 | |
CN110474802B (zh) | 设备切换方法及装置、服务系统 | |
JP6540063B2 (ja) | 通信情報制御装置、中継システム、通信情報制御方法、および、通信情報制御プログラム | |
CN112671554A (zh) | 一种节点故障处理方法及相关装置 | |
EP3171565B1 (en) | Methods, devices and system for netconf hello packets interaction | |
CN115277351B (zh) | 一种分布式管理系统 | |
CN114090342A (zh) | 存储容灾的链路管理方法及消息执行节点、存储控制集群 | |
CN106708881B (zh) | 基于网络文件系统的交互方法和装置 | |
WO2018032499A1 (zh) | 一种负载均衡的方法及相关装置 | |
WO2019242459A1 (zh) | 节点切换方法、网络节点、网络系统及存储介质 | |
EP4057577B1 (en) | Addressing method and addressing apparatus | |
US12061921B2 (en) | Management apparatus, management system, management method and management program | |
US11757987B2 (en) | Load balancing systems and methods | |
CN114615248A (zh) | 一种远程操作控制方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |