CN106817250B - 一种动态选举方法及系统 - Google Patents
一种动态选举方法及系统 Download PDFInfo
- Publication number
- CN106817250B CN106817250B CN201611207665.5A CN201611207665A CN106817250B CN 106817250 B CN106817250 B CN 106817250B CN 201611207665 A CN201611207665 A CN 201611207665A CN 106817250 B CN106817250 B CN 106817250B
- Authority
- CN
- China
- Prior art keywords
- host
- area network
- local area
- broadcast
- master
- 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
Images
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/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0668—Management 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
-
- 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/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开一种动态选举方法及系统,应用于配置有多台主机的局域网,在预设的重新选举操作被触发后,确定广播主机,所述广播主机在所述局域网内发送备选广播包,所述备选广播包用于请求局域网内的主机上报主机的系统信息;接收携带有系统信息的备选应答包,建立系统信息与发送备选应答包的主机的主机标识的对应关系;广播主机在所述局域网内发送投票广播包,投票广播包携带有预先建立的系统信息与主机标识之间的对应关系;广播主机对接收到的投票应答包中携带的主机标识进行统计,并根据统计结果确定Master主机。本发明能够在局域网内的主机中动态选举出负责统一软件升级、缓存更新、证书更新等服务的主机,并且避免该主机发生单点故障产生的问题。
Description
技术领域
本发明涉及数据处理领域,具体涉及一种动态选举方法及系统。
背景技术
在为同一局域网内的主机进行统一的软件升级、缓存更新、证书更新等操作时,需要从云端服务器同步数据,且同步时主机端和云端都会产生互联网流量。
以软件升级为例,云端服务器在发布一个大小为10MB的新版本软件升级包后,由于同一局域网内的N个主机均需要升级到该新版本,如果按照传统的软件升级方法,则在主机端和云端均需要产生N*10MB的总流量。
为了节省两端的流量开销,同时也能够缓解网络压力,现有的方法中在局域网中设立一个主机,专门负责该局域网内统一的软件升级、缓存更新、证书更新等服务。如图1所示,为现有技术的系统架构示意图,其中,由主机1负责从云端服务器同步数据,并分别将同步的数据下发至该局域网内的其他主机,完成该局域网内的所有主机的数据更新。
但是,现有技术的方法仍然存在问题,即如果被选定的主机出现单点故障,则整个局域网内的所有主机均不能实现数据更新。
发明内容
本发明提供了一种动态选举方法及装置,能够在局域网内的主机中动态选举用于专门负责该局域网内统一的软件升级、缓存更新、证书更新等服务的主机,即在被选定的主机出现单点故障后,动态选举出其他主机负责,有效避免了被选定的主机出现单点故障后整个局域网内的主机不能进行数据更新的情况发生。
本发明提供了一种动态选举方法,所述方法应用于配置有多台主机的局域网,在预设的重新选举操作被触发后,确定广播主机,所述方法包括:
所述广播主机在所述局域网内发送备选广播包,所述备选广播包用于请求所述局域网内的主机上报所述主机的系统信息;
接收携带有系统信息的备选应答包,并建立所述系统信息与发送所述备选应答包的主机的主机标识的对应关系;
所述广播主机在所述局域网内发送投票广播包,所述投票广播包携带有预先建立的系统信息与主机标识之间的对应关系;
所述广播主机对接收到的投票应答包中携带的主机标识进行统计,并根据统计结果确定Master主机。
优选地,所述根据所述投票应答包中携带的主机标识确定Master主机之后,还包括:
所述广播主机在所述局域网内发送携带有所述Master主机的主机标识的结果广播包,以通知所述局域网内的主机。
优选地,所述广播主机对接收到的投票应答包中携带的主机标识进行统计,并根据统计结果确定Master主机,包括:
如果所述广播主机接收到的投票应答包的数量为0,则所述广播主机将自身的状态更新为Master主机;
或者,所述广播主机分别获取接收到的投票应答包中携带的主机标识,并统计各个主机标识的数量,将数量最多的主机标识对应的主机确定为Master主机。
优选地,所述多台主机中包括备选主机,所述方法还包括:
所述备选主机在接收到所述投票广播包后,根据所述系统信息与主机标识之间的对应关系中的各个系统信息确定投票的主机标识;
返回携带有所述主机标识的投票应答包。
优选地,所述方法还包括:
所述Master主机在所述局域网内发送探测广播包,并利用预设时间内接收到的探测应答包更新主机状态表,所述主机状态表中存储有正常运行的主机的地址。
优选地,所述方法还包括:
如果所述Master主机在预设时间内未发送探测广播包,则触发预设的重新选举操作。
优选地,所述方法还包括:
如果所述Master主机的空闲时间达到预设时长,则触发预设的重新选举操作。
优选地,所述方法还包括:
所述Master主机从云端服务器获取更新数据,并根据所述主机状态表中存储的正常运行的主机的地址,下发所述更新数据。
优选地,所述在预设的重新选举操作被触发后,确定广播主机,包括:
在预设的重新选举操作被触发后,预先将所述局域网内的任一台主机确定为广播主机。
优选地,所述在预设的重新选举操作被触发后,预先将所述局域网内的任一台主机确定为广播主机,包括:
在预设的重新选举操作被触发后,分别为所述局域网内的各个主机设置定时器,其中各个定时器的延迟时间为随机生成的;
将所述局域网内最先启动的定时器对应的主机确定为广播主机。
本发明还提供了一种动态选举系统,所述系统应用于配置有多台主机的局域网;
所述系统,用于在检测到预设的重新选举操作被触发后,确定广播主机;
所述系统包括所述广播主机,所述广播主机包括第一发送模块,第一接收模块,第二发送模块和第一确定模块;
所述第一发送模块,用于在所述局域网内发送备选广播包,所述备选广播包用于请求所述局域网内的主机上报所述主机的系统信息;
所述第一接收模块,用于接收携带有系统信息的备选应答包,并建立所述系统信息与发送所述备选应答包的主机的主机标识的对应关系;
所述第二发送模块,用于在所述局域网内发送投票广播包,所述投票广播包携带有预先建立的系统信息与主机标识之间的对应关系;
所述第一确定模块,用于对接收到的投票应答包中携带的主机标识进行统计,并根据统计结果确定Master主机。
优选地,所述广播主机还包括第三发送模块:
所述第三发送模块,用于在所述局域网内发送携带有所述Master主机的主机标识的结果广播包,以通知所述局域网内的主机。
优选地,所述第一确定模块包括:
第一确定子模块,用于在确定接收到的投票应答包的数量为0时,将自身的状态更新为Master主机;
第二确定子模块,用于分别获取接收到的投票应答包中携带的主机标识,并统计各个主机标识的数量,将数量最多的主机标识对应的主机确定为Master主机。
优选地,所述系统还包括备选主机,所述备选主机包括第二确定模块和返回模块:
所述第二确定模块,用于在接收到所述投票广播包后,根据所述系统信息与主机标识之间的对应关系中的各个系统信息确定投票的主机标识;
所述返回模块,用于返回携带有所述主机标识的投票应答包。
优选地,所述系统还包括所述Master主机,所述Master主机包括更新模块:
所述更新模块,用于在所述局域网内发送探测广播包,并利用预设时间内接收到的探测应答包更新主机状态表,所述主机状态表中存储有正常运行的主机的地址。
优选地,所述Master主机还包括第一触发模块:
所述第一触发模块,用于在预设时间内所述更新模块未发送探测广播包时,触发预设的重新选举操作。
优选地,所述Master主机还包括第二触发模块:
所述第二触发模块,用于在所述Master主机的空闲时间达到预设时长时,触发预设的重新选举操作。
优选地,所述Master主机还包括数据更新模块:
所述数据更新模块,用于从云端服务器获取更新数据,并根据所述主机状态表中存储的正常运行的主机的地址,下发所述更新数据。
优选地,所述系统具体用于:在预设的重新选举操作被触发后,预先将所述局域网内的任一台主机确定为广播主机。
优选地,所述系统具体用于:在预设的重新选举操作被触发后,分别为所述局域网内的各个主机设置定时器,其中各个定时器的延迟时间为随机生成的;并将所述局域网内最先启动的定时器对应的主机确定为广播主机。
本发明提供了一种动态选举方法,应用于配置有多台主机的局域网,并在预设的重新选举操作被触发后,确定广播主机。具体的,所述广播主机在所述局域网内发送备选广播包,所述备选广播包用于请求所述局域网内的主机上报所述主机的系统信息。然后,接收携带有系统信息的备选应答包,并建立所述系统信息与发送所述备选应答包的主机的主机标识的对应关系。所述广播主机在所述局域网内发送投票广播包,所述投票广播包携带有预先建立的系统信息与主机标识之间的对应关系。最后,所述广播主机对接收到的投票应答包中携带的主机标识进行统计,并根据统计结果确定Master主机。本发明能够在局域网内的主机中动态选举出负责所述局域网内统一的软件升级、缓存更新、证书更新等服务的主机,避免被选举的主机出现单点故障而导致的整个局域网内的主机不能进行数据更新的情况发生。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术的系统架构示意图;
图2为本发明实施例提供的一种动态选举方法流程图;
图3为本发明实施例提供的另一种动态选举的方法流程图;
图4为本发明实施例提供的一种充电站架构示意图;
图5为现有技术的图1应用于充电站的架构示意图;
图6为本发明实施例提供的一种应用于充电站的动态选举方法的信令交互图;
图7为本发明实施例提供的一种应用于充电站的数据更新方法的信令交互图;
图8为本发明实施例提供的一种用于动态选举的广播主机的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下进行实施例具体内容的介绍。
本发明实施例提供了一种动态选举方法,在局域网内动态选举负责统一软件升级、缓存更新、证书更新等服务的主机,即使被选举的主机出现单点故障,还可以重新动态选举出其他主机用于完成数据更新。
本发明实施例提供了一种动态选举方法,参考图2,为本发明实施例提供的一种动态选举方法流程图,所述方法应用于配置有多台主机的局域网,所述方法具体包括:
S201:在预设的重新选举操作被触发后,确定广播主机。
S202:所述广播主机在所述局域网内发送备选广播包,所述备选广播包用于请求所述局域网内的主机上报所述主机的系统信息。
本发明实施例中,在预设的重新选举操作被触发后,首先确定所述局域网中的一台主机为广播主机。所述广播主机以预设频率在所述局域网内发送备选广播包,总共发送预设次数即可。其中,所述备选广播包用于请求所述局域网内的主机上报自身的系统信息,所述系统信息包括MCU主频、空闲内存、空闲存储等信息。
本发明实施例中,用于确定广播主机的方式较多,可以直接指定所述局域网内的一台正常运行的主机为广播主机,也可以动态的确定出所述局域网内的一台主机为广播主机。具体的,动态确定广播主机的方法包括:
预先为所述局域网内的各个主机分别配置定时器,其中各个定时器的延迟时间为随机生成的。随着时间的推移,各个定时器均启动,本发明实施例将最先启动的定时器对应的主机确定为广播主机。
一种实现方式中,当任一定时器启动后,该定时器对应的主机在所述局域网内定时的发送广播包。相应的,所述局域网内的其他主机会接收到该广播包。对于一个主机来说,如果该主机在发送广播包之前,首先接收到了来自其他主机的广播包,则该主机自动放弃广播主机的身份,并且停止发送广播包。依据上述方式最终确定的广播主机即为最先启动的定时器对应的主机。
但是,由于广播包的发送与接收存在时延,也就是说,即使是最先启动的定时器对应的主机发送了广播包,而在该广播包被其他主机接收到之前还需要消耗时间。那么在这段时间内很可能有其他主机也发送了广播包,也就是说,存在发送了广播包之后同时也接收到了其他主机发送的广播包的主机,对于这种主机,在接收到广播包后对该广播包进行解析,得到该广播包的源地址,并判断该源地址是否满足预设条件,例如该源地址与所述主机的地址之间的大小关系。如果该源地址满足预设条件,则所述主机放弃广播主机的身份。也就是说,依据上述方式最终确定的广播主机可能为最先启动的定时器对应的主机,具体的,可能为最先启动的定时器对应的主机与次先启动的定时器对应的主机之中地址相对较小或较大的主机。
值得注意的是,所述局域网中除了所述广播主机之外的其他主机被称为备选主机。
另外,对于在动态选举广播主机期间新加入所述局域网的主机只能被确定为备选主机,即直接自动放弃广播主机的身份。
由于所述局域网内的广播主机是动态选举的,所以即使当前的广播主机出现单点故障,也可以根据上述方式动态选举出新的广播主机。
S203:接收携带有系统信息的备选应答包,并建立所述系统信息与发送所述备选应答包的主机的主机标识的对应关系。
本发明实施例中,所述广播主机在接收到备选应答包后,获取所述备选应答包中的系统信息,并建立所述系统信息和发送该备选应答包的主机的主机标识的对应关系。其中,所述主机标识用于唯一标识所述主机,可以为所述主机的主机号、地址等。
由于所述广播主机在所述局域网内定时发送备选广播包后,会接收到所述局域网内正常运行的各台主机的备选应答包,所以,所述广播主机建立的主机标识与系统信息的对应关系中包括所述局域网内各台正常运行的主机的系统信息,另外还包括所述广播主机自身的主机标识与系统信息的对应关系。
S204:所述广播主机在所述局域网内发送投票广播包,所述投票广播包携带有预先建立的系统信息与主机标识之间的对应关系。
在动态选举期间,所述广播主机收集到所述局域网内各台正常运行的主机的主机标识与系统信息的对应关系后,在所述局域网内定时发送投票广播包,其中所述投票广播包携带预先建立的主机标识与系统信息的对应关系,所述投票广播包用于指示接收到所述投票广播包的主机进行投票,即选举出一台主机。
实际应用中,在所述局域网内的各台备选主机接收到所述投票广播包后,根据所述投票广播包中携带的主机标识与系统信息的对应关系,选举出一台主机作为投票目标,并将所述主机的主机标识加入投票应答包中返回给所述广播主机。
一种优选地实现方式中,所述备选主机根据所述系统信息与主机标识之间的对应关系中的各个系统信息确定投票的主机标识。具体的,可以对各个主机标识对应的系统信息进行计算,假设所述系统信息包括MCU主频、空闲内存和空闲存储的值,本发明实施例可以计算各个系统信息中的MCU主频、空闲内存和空闲存储的值之和,并将和最大的系统信息对应的主机标识确定为投票目标。
另一种实现方式中,由于对于系统信息区别较小的主机之间无论哪个主机被选举成功都不会造成影响,所以,为了体现投票选举的特点,避免每个备选主机的投票目标均相同,本发明实施例针对所述系统信息与主机标识的对应关系中的每台主机,备选主机为其分别确定一个随机数范围。具体的,所述随机数范围与该主机的系统信息有关,假设某台主机的系统信息包括的MCU主频、空闲内存和空闲存储的值分别为A、B、C,则该主机的随机数范围可以为[0,(A+B+C)/30],值得注意的是,所述随机数范围的量级最好与系统信息的值的量级相差较大,因为设置随机数范围的目的是弱化系统信息区别较小的主机,但还是要体现系统信息区别较大的主机之间的差异。各个备选主机在确定各个主机的随机数范围后,分别在所述随机数范围内随机得到一个随机数,作为计算各个系统信息中的MCU主频、空闲内存和空闲存储的值之和的附加值,即最终计算出的各个主机对应的和为系统信息中的MCU主频、空闲内存、空闲存储的值以及该随机数的和,最终将计算得到的最大的和值对应的主机标识确定为投票目标。
S205:所述广播主机对接收到的投票应答包中携带的主机标识进行统计,并根据统计结果确定Master主机。
本发明实施例中,所述广播主机接收携带有主机标识的投票应答包,并对接收到的投票应答包进行统计计算,最终确定出一个主机作为Master主机,负责所述局域网内的主机统一的软件升级、缓存更新、证书更新等服务。
一种情况中,所述广播主机对接收到的投票应答包进行解析,得到主机标识,然后统计各个主机标识的数量,即表示主机被投票的次数。最终,将数量最多的主机标识对应的主机确定为Master主机,也就是说,将被投票次数最多的主机确定为Master主机。
另一种情况中,所述广播主机未接收到任何投票应答包,即没有备选主机进行投票,则所述广播主机直接将本机确定为Master主机。
本发明实施例提供了一种动态选举方法,应用于配置有多台主机的局域网,并在预设的重新选举操作被触发后,确定广播主机。具体的,所述广播主机在所述局域网内发送备选广播包,所述备选广播包用于请求所述局域网内的主机上报所述主机的系统信息。然后,接收携带有系统信息的备选应答包,并建立所述系统信息与发送所述备选应答包的主机的主机标识的对应关系。所述广播主机在所述局域网内发送投票广播包,所述投票广播包携带有预先建立的系统信息与主机标识之间的对应关系。最后,所述广播主机对接收到的投票应答包中携带的主机标识进行统计,并根据统计结果确定Master主机。本发明实施例能够在局域网内的主机中动态选举出负责所述局域网内统一的软件升级、缓存更新、证书更新等服务的主机,避免被选举的主机出现单点故障而导致的整个局域网内的主机不能进行数据更新的情况发生。
参考图3,为本发明实施例提供的另一种动态选举的方法流程图,其中,在上述动态选举方法的基础上,本发明实施例提供的动态选举方法还包括:
S301:所述广播主机在所述局域网内发送携带有所述Master主机的主机标识的结果广播包,以通知所述局域网内的主机。
本发明实施例中,所述广播主机在确定Master主机后,在所述局域网内发送携带有所述Master主机的主机标识的结果广播包,所述结果广播包用于通知所述局域网内的备选主机所述Master主机,如将所述Master主机的地址发送至各个备选主机。
实际应用中,所述局域网内的备选主机接收到来自所述广播主机的结果广播包后,根据所述结果广播包中的主机标识更新自身的状态。具体的,对于所述局域网内的任意一台备选主机,当所述备选主机接收到所述结果广播包后,解析所述结果广播包得到所述主机标识,并将所述主机标识与自身的主机标识相比较,如果相同,则将自身的状态更新为Master主机,负责所述局域网内统一的软件升级、缓存更新、证书更新等服务;否则,将自身的状态更新为Slave主机,用于接收来自所述Master主机的更新数据。值得注意的是,所述局域网中除了Master主机之外的其他主机可以被称为Slave主机。
S303:所述Master主机在所述局域网内发送探测广播包,并利用预设时间内接收到的探测应答包更新主机状态表,所述主机状态表中存储有所述局域网内正常运行的主机的地址。
本发明实施例中,所述Master主机需要保持与所述局域网内的各个Slave主机的通讯连接,以便在接收到更新数据后及时将其发送给当前处于正常运行状态的Slave主机。所以,所述Master主机可以定时的在所述局域网内发送探测广播包,用于维持与其他主机的通讯连接。所述Master主机利用在预设时间内接收到的探测应答包更新本地的主机状态表,其中,所述主机状态表中存储有所述局域网内当前正常运行的主机的地址,具体的,利用在预设时间内返回探测应答包的Slave主机的地址更新所述主机状态表,即删除在预设时间内未返回探测应答包的Slave主机的地址。
值得注意的是,如果所述Master主机在预设时间内未接收到任何探测应答包,则触发预设的重新选举操作。
S304:如果所述Master主机在预设时间内未发送探测广播包,则触发预设的重新选举操作。
本发明实施例中,一旦Master主机发生宕机或网络故障等问题,则需要触发重新选举操作,即进行重新选举。具体的,如果任一正常运行的Slave主机在预设时间内未接收到所述Master主机的探测广播包,则说明所述Master主机在预设时间内未发送探测广播包,可以证明的是所述Master主机发生了单点故障,此时需要触发重新选举操作,进行重新选举。
S306:所述Master主机从云端服务器获取更新数据,并根据所述主机状态表中存储的正常运行的主机的地址,下发所述更新数据。
本发明实施例中,所述Master主机建立与云端服务器的数据更新通道,从所述云端服务器获取更新数据。然后,根据本地的主机状态表中记载的主机的地址,下发所述更新数据,完成所述局域网内统一的数据更新。
S308:如果所述Master主机的空闲时间达到预设时长,则触发预设的重新选举操作。
本发明实施例中,如果所述Master主机的空闲时间达到预设时长,也就是说一定时间内没有数据更新任务,则可以触发预设的重新选举操作,进行重新选举。
本发明实施例中预先设置重新选举操作,一旦检测到预设的重新选举操作被触发后,重新选举负责所述局域网内统一的软件升级、缓存更新、证书更新等服务的主机,有效避免Master主机出现单点故障而导致的整个局域网内的主机不能进行数据更新的情况发生。
一种应用场景中,本发明实施例提供的动态选举方法能够应用于电动汽车充电站中的充电桩的软件升级、缓存更新、证书更新等服务中。具体的,本发明实施例能够动态选举充电站中的Master主机,用于从充电桩云端服务器中下载更新数据,进而下发至所述充电站中的Slave主机。
参考图4,为本发明实施例提供的一种充电站架构示意图,图5为现有技术的图1应用于充电站的架构示意图,其中,二者相比,本发明实施例提供的图4中的充电站架构不包括图5中预设的场站主机,而是动态的从所述充电站中的各个充电桩中选举出负责软件升级、缓存更新、证书更新等服务的充电桩。
参考图6,为本发明实施例提供的一种应用于充电站的动态选举方法的信令交互图,所述方法包括:
S600:所述充电站中预设的重新选举操作被触发后,重新确定广播主机。
值得注意的是,本发明实施例中的主机即为所述充电站中的充电桩。
S601:所述广播主机在所述充电站所处的局域网内定时的发送若干次备选广播包,用于请求各个充电桩上报自身的系统信息。
S602:所述充电站内的备选主机(除了广播主机之外的其他主机)在接收到所述备选广播包后返回备选应答包,包括自身的系统信息。
S603:所述广播主机将预设时间内接收到的备选应答包内的系统信息进行整理,建立系统信息与发送该系统信息的主机的主机标识之间的对应关系。
值得注意的是,各个备选主机可以设置定时器,并在每接收到一次备选广播包后重置所述定时器,在所述定时器被启动之前未收到来自广播主机的备选广播包,则触发预设的重新选举操作,进行重新选举,以防止广播主机发生单点故障。值得注意的是,各个定时器具有预设的被重置的次数。
S604:所述广播主机在所述充电站所处的局域网内定时的发送若干次投票广播包,用于请求各个备选主机进行投票。所述投票广播包中包括系统信息与主机标识的对应关系。
S605:所述充电站内的备选主机在接收到所述投票广播包后,根据所述系统信息与主机标识的对应关系,确定一个主机进行投票。
S606:各个备选主机返回携带有主机标识的投票应答包。
S607:所述广播主机在接收到来自各个备选主机的投票应答包之后,统计并计算投票结果,确定Master主机。
S608:所述广播主机在所述充电站所处的局域网内定时的发送若干次携带有所述Master主机的主机标识的结果广播包。
参考图7,为本发明实施例提供的一种应用于充电站的数据更新方法的信令交互图,其中,在确定所述充电站中的Master主机后,所述方法包括:
S701:Master主机建立与云端服务器的数据更新通道,并从所述云端服务器获取更新数据。
S702:根据预先获取的主机状态表中存储的正常运行的主机的地址,下发所述更新数据。
S703:判断Master主机的空闲时间是否达到预设时长,如果是,则触发预设的重新选举操作。
S704:Master主机定时发送探测广播包,以便与各个Slave主机保持通讯连接。
S705:Master主机根据返回的探测应答包维护更新所述主机状态表,其中,所述主机状态表中记载有所述充电站中当前正常运行的Slave主机的主机标识。
本发明实施例中,为了保证数据安全性,所有的数据包(包括广播包)的发送方在发送数据包之前均可以为该数据包添加数字签名,该数据包的接收方在接收到该数据包后对其进行签名验证,确认发送方的身份安全性,以防止恶意攻击。
本发明实施例提供的动态选举方法应用于充电站中,能够动态选举出负责充电站内各个充电桩统一的软件升级、缓存更新、证书更新等服务的充电桩,有效避免被选举出的充电桩出现单点故障而导致的整个充电站内的充电桩均不能进行数据更新的情况发生。
本发明实施例提供了一种动态选举系统,应用于配置有多台主机的局域网;所述系统,用于在检测到预设的重新选举操作被触发后,确定广播主机;所述系统包括所述广播主机。
参考图8,为本发明实施例提供的一种用于动态选举的广播主机的结构示意图。其中,所述广播主机包括第一发送模块801,第一接收模块802,第二发送模块803和第一确定模块804;
所述第一发送模块,用于在所述局域网内发送备选广播包,所述备选广播包用于请求所述局域网内的主机上报所述主机的系统信息;
所述第一接收模块,用于接收携带有系统信息的备选应答包,并建立所述系统信息与发送所述备选应答包的主机的主机标识的对应关系;
所述第二发送模块,用于在所述局域网内发送投票广播包,所述投票广播包携带有预先建立的系统信息与主机标识之间的对应关系;
所述第一确定模块,用于对接收到的投票应答包中携带的主机标识进行统计,并根据统计结果确定Master主机。
另外,所述广播主机还包括第三发送模块:
所述第三发送模块,用于在所述局域网内发送携带有所述Master主机的主机标识的结果广播包,以通知所述局域网内的主机。
具体的,所述第一确定模块包括:
第一确定子模块,用于在确定接收到的投票应答包的数量为0时,将自身的状态更新为Master主机;
第二确定子模块,用于分别获取接收到的投票应答包中携带的主机标识,并统计各个主机标识的数量,将数量最多的主机标识对应的主机确定为Master主机。
另外,所述系统还包括备选主机,所述备选主机包括第二确定模块和返回模块:
所述第二确定模块,用于在接收到所述投票广播包后,根据所述系统信息与主机标识之间的对应关系中的各个系统信息确定投票的主机标识;
所述返回模块,用于返回携带有所述主机标识的投票应答包。
另外,所述系统还包括所述Master主机,所述Master主机包括更新模块:
所述更新模块,用于在所述局域网内发送探测广播包,并利用预设时间内接收到的探测应答包更新主机状态表,所述主机状态表中存储有正常运行的主机的地址。
所述Master主机还包括第一触发模块:
所述第一触发模块,用于在预设时间内所述更新模块未发送探测广播包时,触发预设的重新选举操作。
所述Master主机还包括第二触发模块:
所述第二触发模块,用于在所述Master主机的空闲时间达到预设时长时,触发预设的重新选举操作。
所述Master主机还包括数据更新模块:
所述数据更新模块,用于从云端服务器获取更新数据,并根据所述主机状态表中存储的正常运行的主机的地址,下发所述更新数据。
实际应用中,所述系统具体用于:在预设的重新选举操作被触发后,预先将所述局域网内的任一台主机确定为广播主机。
另外,所述系统具体用于:在预设的重新选举操作被触发后,分别为所述局域网内的各个主机设置定时器,其中各个定时器的延迟时间为随机生成的;并将所述局域网内最先启动的定时器对应的主机确定为广播主机。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明实施例所提供的一种动态选举方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (14)
1.一种动态选举方法,其特征在于,所述方法应用于配置有多台主机的局域网,所述多台主机中包括备选主机,在预设的重新选举操作被触发后,分别为所述局域网内的各个主机设置定时器,其中各个定时器的延迟时间为随机生成的;将所述局域网内最先启动的定时器对应的主机确定为广播主机,所述方法包括:
所述广播主机在所述局域网内发送备选广播包,所述备选广播包用于请求所述局域网内的主机上报所述主机的系统信息;
接收携带有系统信息的备选应答包,并建立所述系统信息与发送所述备选应答包的主机的主机标识的对应关系;
所述广播主机在所述局域网内发送投票广播包,所述投票广播包携带有预先建立的系统信息与主机标识之间的对应关系;
所述备选主机在接收到所述投票广播包后,针对所述系统信息与主机标识的对应关系中的每台主机,所述备选主机为其分别确定一个随机数范围,在确定各个主机的随机数范围后,分别在所述随机数范围内随机得到一个随机数,计算得到各个主机对应的系统信息中的MCU主频、空闲内存、空闲存储的值以及该随机数的和,最终将计算得到的最大的和值对应的主机标识确定为投票的主机标识;返回携带有所述主机标识的投票应答包;
所述广播主机对接收到的投票应答包中携带的主机标识进行统计,并根据统计结果确定Master主机。
2.根据权利要求1所述的动态选举方法,其特征在于,所述根据所述投票应答包中携带的主机标识确定Master主机之后,还包括:
所述广播主机在所述局域网内发送携带有所述Master主机的主机标识的结果广播包,以通知所述局域网内的主机。
3.根据权利要求1所述的动态选举方法,其特征在于,所述广播主机对接收到的投票应答包中携带的主机标识进行统计,并根据统计结果确定Master主机,包括:
如果所述广播主机接收到的投票应答包的数量为0,则所述广播主机将自身的状态更新为Master主机;
或者,所述广播主机分别获取接收到的投票应答包中携带的主机标识,并统计各个主机标识的数量,将数量最多的主机标识对应的主机确定为Master主机。
4.根据权利要求1所述的动态选举方法,其特征在于,所述方法还包括:
所述Master主机在所述局域网内发送探测广播包,并利用预设时间内接收到的探测应答包更新主机状态表,所述主机状态表中存储有正常运行的主机的地址。
5.根据权利要求4所述的动态选举方法,其特征在于,所述方法还包括:
如果所述Master主机在预设时间内未发送探测广播包,则触发预设的重新选举操作。
6.根据权利要求1所述的动态选举方法,其特征在于,所述方法还包括:
如果所述Master主机的空闲时间达到预设时长,则触发预设的重新选举操作。
7.根据权利要求4所述的动态选举方法,其特征在于,所述方法还包括:
所述Master主机从云端服务器获取更新数据,并根据所述主机状态表中存储的正常运行的主机的地址,下发所述更新数据。
8.一种动态选举系统,其特征在于,所述系统应用于配置有多台主机的局域网;
所述系统,用于在预设的重新选举操作被触发后,分别为所述局域网内的各个主机设置定时器,其中各个定时器的延迟时间为随机生成的;并将所述局域网内最先启动的定时器对应的主机确定为广播主机;
所述系统包括所述广播主机,所述广播主机包括第一发送模块,第一接收模块,第二发送模块和第一确定模块;
所述第一发送模块,用于在所述局域网内发送备选广播包,所述备选广播包用于请求所述局域网内的主机上报所述主机的系统信息;
所述第一接收模块,用于接收携带有系统信息的备选应答包,并建立所述系统信息与发送所述备选应答包的主机的主机标识的对应关系;
所述第二发送模块,用于在所述局域网内发送投票广播包,所述投票广播包携带有预先建立的系统信息与主机标识之间的对应关系;
所述第一确定模块,用于对接收到的投票应答包中携带的主机标识进行统计,并根据统计结果确定Master主机;
所述系统还包括备选主机,所述备选主机包括第二确定模块和返回模块:
所述第二确定模块,用于在接收到所述投票广播包后,针对所述系统信息与主机标识的对应关系中的每台主机,所述备选主机为其分别确定一个随机数范围,在确定各个主机的随机数范围后,分别在所述随机数范围内随机得到一个随机数,计算得到各个主机对应的系统信息中的MCU主频、空闲内存、空闲存储的值以及该随机数的和,最终将计算得到的最大的和值对应的主机标识确定为投票的主机标识;
所述返回模块,用于返回携带有所述主机标识的投票应答包。
9.根据权利要求8所述的动态选举系统,其特征在于,所述广播主机还包括第三发送模块:
所述第三发送模块,用于在所述局域网内发送携带有所述Master主机的主机标识的结果广播包,以通知所述局域网内的主机。
10.根据权利要求8所述的动态选举系统,其特征在于,所述第一确定模块包括:
第一确定子模块,用于在确定接收到的投票应答包的数量为0时,将自身的状态更新为Master主机;
第二确定子模块,用于分别获取接收到的投票应答包中携带的主机标识,并统计各个主机标识的数量,将数量最多的主机标识对应的主机确定为Master主机。
11.根据权利要求8所述的动态选举系统,其特征在于,所述系统还包括所述Master主机,所述Master主机包括更新模块:
所述更新模块,用于在所述局域网内发送探测广播包,并利用预设时间内接收到的探测应答包更新主机状态表,所述主机状态表中存储有正常运行的主机的地址。
12.根据权利要求11所述的动态选举系统,其特征在于,所述Master主机还包括第一触发模块:
所述第一触发模块,用于在预设时间内所述更新模块未发送探测广播包时,触发预设的重新选举操作。
13.根据权利要求8所述的动态选举系统,其特征在于,所述Master主机还包括第二触发模块:
所述第二触发模块,用于在所述Master主机的空闲时间达到预设时长时,触发预设的重新选举操作。
14.根据权利要求11所述的动态选举系统,其特征在于,所述Master主机还包括数据更新模块:
所述数据更新模块,用于从云端服务器获取更新数据,并根据所述主机状态表中存储的正常运行的主机的地址,下发所述更新数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611207665.5A CN106817250B (zh) | 2016-12-23 | 2016-12-23 | 一种动态选举方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611207665.5A CN106817250B (zh) | 2016-12-23 | 2016-12-23 | 一种动态选举方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106817250A CN106817250A (zh) | 2017-06-09 |
CN106817250B true CN106817250B (zh) | 2020-07-10 |
Family
ID=59110055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611207665.5A Active CN106817250B (zh) | 2016-12-23 | 2016-12-23 | 一种动态选举方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106817250B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108011888B (zh) * | 2017-12-15 | 2020-12-29 | 东软集团股份有限公司 | 一种实现证书重构的方法、装置及存储介质、程序产品 |
CN112398664B (zh) * | 2019-08-13 | 2023-08-08 | 中兴通讯股份有限公司 | 主设备选择方法、设备管理方法、电子设备以及存储介质 |
CN110611827A (zh) * | 2019-10-17 | 2019-12-24 | 星宏集群有限公司 | 一种Android设备对于直播流的局域网内分发方法及系统 |
CN111884888A (zh) * | 2020-07-27 | 2020-11-03 | 宁波奥克斯电气股份有限公司 | 裁判机选举方法、装置、智能设备和计算机可读存储介质 |
CN112073231B (zh) * | 2020-08-31 | 2023-08-18 | 深圳市国电科技通信有限公司 | 局域网联动防护方法、装置、计算机设备及存储介质 |
CN114827003B (zh) * | 2022-03-21 | 2024-05-14 | 浪潮思科网络科技有限公司 | 一种分布式系统的拓扑选举方法、装置、设备及介质 |
CN115022109A (zh) * | 2022-07-20 | 2022-09-06 | 北京城建智控科技股份有限公司 | 一种用于智能边缘一体机的数据管理方法及车站云系统 |
CN116684406A (zh) * | 2023-07-31 | 2023-09-01 | 北京朝歌数码科技股份有限公司 | 内网设备的内容下载方法 |
CN117440031B (zh) * | 2023-12-15 | 2024-04-12 | 广东朝歌智慧互联科技有限公司 | 云平台向内网设备下发指令的方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101924650B (zh) * | 2010-08-04 | 2012-03-28 | 浙江省电力公司 | 故障信息系统的服务和服务器智能自治的实现方法 |
CN102843259A (zh) * | 2012-08-21 | 2012-12-26 | 武汉达梦数据库有限公司 | 集群内中间件自管理热备方法及系统 |
CN104468163B (zh) * | 2013-09-18 | 2018-11-09 | 腾讯科技(北京)有限公司 | 容灾网络组网的方法、装置及容灾网络 |
CN103634375B (zh) * | 2013-11-07 | 2017-01-11 | 华为技术有限公司 | 扩容集群节点的方法、装置及设备 |
KR101694298B1 (ko) * | 2014-02-28 | 2017-01-09 | 한국전자통신연구원 | 이중화시스템에서의 마스터 선정 장치 |
CN104320459B (zh) * | 2014-10-24 | 2018-01-09 | 新华三技术有限公司 | 一种节点管理方法和装置 |
CN104539055B (zh) * | 2015-01-07 | 2016-10-05 | 山东鲁能智能技术有限公司 | 基于网络的电力系统关键设备多机备一的方法及系统 |
-
2016
- 2016-12-23 CN CN201611207665.5A patent/CN106817250B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106817250A (zh) | 2017-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106817250B (zh) | 一种动态选举方法及系统 | |
CN102291430B (zh) | 物联网配置信息处理方法、物联网平台及系统 | |
CN106331046A (zh) | 集群主节点选举方法及装置 | |
CN107743154B (zh) | 一种基于Wi-Fi智能终端的追踪及考勤系统及其方法 | |
WO2016173280A1 (zh) | 监控管理方法及装置 | |
CN107135548B (zh) | 一种更新bssid和连接网络的方法和装置 | |
CN103312593B (zh) | 一种消息分发系统及方法 | |
WO2014028730A1 (en) | Auto management of a virtual device context enabled network infrastructure | |
CN100442706C (zh) | 一种使维护节点标识与媒体访问控制地址对应的方法 | |
US20170126828A1 (en) | Sending Method and Apparatus and Computer Storage Medium of Notification Message | |
CN103237075A (zh) | 一种数据同步方法、装置及系统 | |
CN103414641B (zh) | 邻居表项释放方法、装置和网络设备 | |
CN110674096A (zh) | 节点故障排查方法、装置、设备及计算机可读存储介质 | |
CN103281356A (zh) | 一种分发文件的方法及系统 | |
CN110659863A (zh) | 对象监听方法、装置、电子设备及计算机可读存储介质 | |
CN106487611A (zh) | 一种检测sdn集群分裂的方法及装置 | |
CN103023990A (zh) | 堆叠系统中的镜像文件升级系统及方法 | |
CN112654052B (zh) | 一种pci冲突的检测、调整方法以及设备 | |
CN109344202B (zh) | 一种数据同步方法及管理节点 | |
CN110581828B (zh) | 专网集群终端的对时方法和装置 | |
CN110636638B (zh) | 邻区管理方法、装置、基站及存储介质 | |
CN102255753B (zh) | 一种业务配置同步方法和系统 | |
US20100325256A1 (en) | Ipmi server management system and method | |
CN101888387B (zh) | 重新建立绑定表项的方法、装置及侦听设备 | |
CN107547723B (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200923 Address after: 201805 room 1703, No. 888, South Moyu Road, Anting Town, Jiading District, Shanghai Patentee after: NEUSOFT REACH AUTOMOTIVE TECHNOLOGY (SHANGHAI) Co.,Ltd. Address before: Hunnan rookie street Shenyang city Liaoning province 110179 No. 2 Patentee before: NEUSOFT Corp. Patentee before: NEUSOFT REACH AUTOMOTIVE TECHNOLOGY (SHANGHAI) Co.,Ltd. |
|
TR01 | Transfer of patent right |