CN110445639B - 一种服务器的热备方法及装置 - Google Patents
一种服务器的热备方法及装置 Download PDFInfo
- Publication number
- CN110445639B CN110445639B CN201910606237.7A CN201910606237A CN110445639B CN 110445639 B CN110445639 B CN 110445639B CN 201910606237 A CN201910606237 A CN 201910606237A CN 110445639 B CN110445639 B CN 110445639B
- Authority
- CN
- China
- Prior art keywords
- server
- heartbeat packet
- packet data
- address
- module
- 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/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
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种服务器的热备方法及装置,所述方法包括:所述至少一个视联网终端分别接收所述至少两个视联网服务器发送的接入请求;根据所述接入请求获取接入请求的地址与所述至少一个视联网终端的当前地址;判断所述接入请求的地址与所述当前地址是否相同;若所述接入请求的地址与所述当前地址相同,则与所述接入请求对应的服务器建立连接,确定建立连接的服务器为主服务器,确定没有建立连接的服务器为备用服务器;接收主服务器发送的主心跳包数据;当主服务器发送的主心跳包数据中断时,与所述备用服务器建立连接,接收备用服务器发送的备用心跳包数据。该方法可以在服务器宕机时,让终端与备用服务器迅速连接入网。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种服务器的热备方法以及装置,以及一种计算机可读存储介质。
背景技术
随着科技的不断发展,越来越多的企业开始进入数据化发展,社会进入了数据时代。
近年来,随着数据信息化不断发展,数据对于企业或单位来说至关重要。为了保护好数据,企业或单位会设置关于企业自身的服务器,用于存储数据,方便企业调度数据。
而服务器在使用过程中,服务器的一个小小的软硬件故障或误操作都有可能造成关键业务的瘫痪,导致服务器宕机或瘫痪,无法使用,使企业单位蒙受损失。在以往的非冗余系统中,数据的保护仅凭数据的备份,而系统的恢复则需要技术人员现场手动进行恢复操作,手动恢复的时间很难把控,并且在服务器宕机期间,没有任何辅助服务器提供服务,用户无法调用数据,降低了用户的使用体验。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种服务器的热备方法、一种服务器的热备装置,以及一种计算机可读存储介质。
为了解决上述问题,本发明实施例公开了一种为了解决上述问题,本发明实施例公开了一种服务器的热备方法,所述方法应用于视联网,包括至少两个视联网服务器,以及分别与所述至少两个视联网服务器相连的至少一个视联网终端,所述方法包括:
所述至少一个视联网终端分别接收所述至少两个视联网服务器发送的接入请求;
根据所述接入请求获取接入请求的地址与所述至少一个视联网终端的当前地址;
判断所述接入请求的地址与所述当前地址是否相同;
若所述接入请求的地址与所述当前地址相同,则与所述接入请求对应的服务器建立连接,确定建立连接的服务器为主服务器,确定没有建立连接的服务器为备用服务器;
接收主服务器发送的主心跳包数据;
当主服务器发送的主心跳包数据中断时,与所述备用服务器建立连接,接收备用服务器发送的备用心跳包数据。
可选地,所述心跳包数据包括Mac地址,所述若所述接入请求的地址与所述当前地址相同,则与所述接入请求对应的服务器建立连接,确定建立连接的服务器为主服务器,确定没有建立连接的服务器为备用服务器,包括:
若所述接入请求的地址与所述当前地址相同,则接收所述接入请求对应的服务器发送的第一心跳包数据,获取所述第一心跳包数据的Mac地址;
判断所述Mac地址与所述配置地址是否相同;
若所述Mac地址与所述配置地址相同,则获取所述Mac地址对应的服务器,与所述Mac地址对应的服务器建立连接,并确定建立连接的服务器为主服务器,确定没有建立连接的服务器为备用服务器。
可选地,所述视联网终端包括配置文件,所述配置文件包括配置地址,所述判断所述Mac地址与所述配置地址是否相同,还包括:
若所述Mac地址与所述配置地址不相同,则确定所述Mac地址对应的至少一个服务器为第二服务器;
获取所述第二服务器发送的第二心跳包数据;
判断是否接收至少两个所述第二心跳包数据;
若没有接收至少两个所述第二心跳包数据,则与所述第二服务器建立连接,并确定连接入网的第二服务器为主服务器,确定没有建立连接的第二服务器为备用服务器。
可选地,所述若没有接收至少两个所述第二心跳包数据,则与所述第二服务器建立连接,并确定连接入网的第二服务器为主服务器,确定没有建立连接的第二服务器为备用服务器,包括:
若没有接收至少两个所述第二心跳包数据,则获取接收所述第二心跳包数据的历史次数;
统计所述历史次数与接收所述第二心跳包数据的次数的总和,并判断所述次数的总和是否超过预设次数阈值;
若超过预设次数阈值,则与所述第二服务器建立连接,并确定连接入网的第二服务器为主服务器,确定没有建立连接的第二服务器为备用服务器。
可选地,所述心跳包数据包括还字段,所述字段对应一个优先级,所述判断是否接收至少两个所述第二心跳包数据,还包括:
若接收两个或以上所述第二心跳包数据,则获取两个或以上所述第二心跳包数据的字段;
确定两个或以上所述字段对应的优先级;
确定优先级最高的字段,并获取所述优先级最高的字段对应的目标第二心跳包数据;
获取所述目标第二心跳包数据对应的Mac地址,并将所述目标第二心跳包数据对应的Mac地址写入所述配置文件。
可选地,所述获取所述第二服务器发送的第二心跳包数据,包括:
接收所述第二服务器发送的第二心跳包数据;
判断是否存储与所述第二心跳包数据相同的历史心跳包数据;
若存储与所述第二心跳包数据相同的历史心跳包数据,则获取所述第二心跳包数据,并将所述第二心跳包数据替换所述历史心跳包数据;
若没有存储与所述第二心跳包数据相同的历史心跳包数据,则获取并存储所述第二心跳包数据。
本发明还提出了一种服务器的热备装置,所述装置包括:
接收模块,用于接收所述至少两个视联网服务器发送的接入请求;
地址获取模块,用于根据所述接入请求获取接入请求的地址与所述至少一个视联网终端的当前地址;
当前地址判断模块,用于判断所述接入请求的地址与所述当前地址是否相同;
当前地址相同模块,用于若所述接入请求的地址与所述当前地址相同,则与所述接入请求对应的服务器建立连接,确定建立连接的服务器为主服务器,确定没有建立连接的服务器为备用服务器;
主心跳包接收模块,用于接收主服务器发送的主心跳包数据;
备用心跳包接收模块,用于当主服务器发送的主心跳包数据中断时,与所述备用服务器建立连接,接收备用服务器发送的备用心跳包数据。
可选地,所述当前地址相同模块,包括:
Mac地址模块,用于若所述接入请求的地址与所述当前地址相同,则接收所述接入请求对应的服务器发送的第一心跳包数据,获取所述第一心跳包数据的Mac地址;
配置地址判断模块,用于判断所述Mac地址与所述配置地址是否相同;
配置地址相同模块,用于若所述Mac地址与所述配置地址相同,则获取所述Mac地址对应的服务器,与所述Mac地址对应的服务器建立连接,并确定建立连接的服务器为主服务器,确定没有建立连接的服务器为备用服务器。
可选地,所述配置地址判断模块,还包括:
配置地址不同模块,用于若所述Mac地址与所述配置地址不相同,则确定所述Mac地址对应的至少一个服务器为第二服务器;
第二心跳包获取模块,用于获取所述第二服务器发送的第二心跳包数据;
第二心跳包数量判断模块,用于判断是否接收至少两个所述第二心跳包数据;
第二心跳包数量不足模块,用于若没有接收至少两个所述第二心跳包数据,则与所述第二服务器建立连接,并确定连接入网的第二服务器为主服务器,确定没有建立连接的第二服务器为备用服务器。
可选地,所述第二心跳包数量不足模块,包括:
第二心跳包历史次数模块,用于若没有接收至少两个所述第二心跳包数据,则获取接收所述第二心跳包数据的历史次数;
第二心跳包次数总和模块,用于统计所述历史次数与接收所述第二心跳包数据的次数的总和,并判断所述次数的总和是否超过预设次数阈值;
超过预测次数阈值模块,用于若超过预设次数阈值,则与所述第二服务器建立连接,并确定连接入网的第二服务器为主服务器,确定没有建立连接的第二服务器为备用服务器。
可选地,所述第二心跳包数量判断模块,还包括:
字段获取模块,用于若接收两个或以上所述第二心跳包数据,则获取两个或以上所述第二心跳包数据的字段;
优先级确定模块,用于确定两个或以上所述字段对应的优先级;
目标第二心跳包模块,用于确定优先级最高的字段,并获取所述优先级最高的字段对应的目标第二心跳包数据;
Mac地址写入模块,用于获取所述目标第二心跳包数据对应的Mac地址,并将所述目标第二心跳包数据对应的Mac地址写入所述配置文件。
可选地,所述第二心跳包获取模块,包括:
第二心跳包接收模块,用于接收所述第二服务器发送的第二心跳包数据;
历史心跳包数据判断模块,用于判断是否存储与所述第二心跳包数据相同的历史心跳包数据;
第二心跳包替换模块,用于若存储与所述第二心跳包数据相同的历史心跳包数据,则获取所述第二心跳包数据,并将所述第二心跳包数据替换所述历史心跳包数据;
第二心跳包存储模块,用于若没有存储与所述第二心跳包数据相同的历史心跳包数据,则获取并存储所述第二心跳包数据。
本发明实施例还公开了一种装置,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行如本发明实施例所述的一个或多个的服务器的热备方法。
本发明实施例还公开了一种计算机可读存储介质,其存储的计算机程序使得处理器执行如本发明实施例所述的服务器的热备方法。
本发明实施例包括以下优点:
在本发明实施例中,通过所述至少一个视联网终端分别接收所述至少两个视联网服务器发送的接入请求;根据所述接入请求获取接入请求的地址与所述至少一个视联网终端的当前地址;判断所述接入请求的地址与所述当前地址是否相同;若所述接入请求的地址与所述当前地址相同,则与所述接入请求对应的服务器建立连接,确定建立连接的服务器为主服务器,确定没有建立连接的服务器为备用服务器;接收主服务器发送的主心跳包数据;当主服务器发送的主心跳包数据中断时,与所述备用服务器建立连接,接收备用服务器发送的备用心跳包数据。本申请可以让视联网终端在服务器宕机的情况下,可以让终端与备用服务器迅速连接入网,可以让终端快速重新开始业务,确保终端的使用服务不中断,提高用户的使用体验,也可以不需要人工干预,让终端与服务器重新建立连接,提高终端与服务器的连接入网速度,也降低了服务器宕机后技术人员重新连接服务器的工作量。
附图说明
图1是本发明的一种视联网的组网示意图;
图2是本发明的一种节点服务器的硬件结构示意图;
图3是本发明的一种接入交换机的硬件结构示意图;
图4是本发明的一种以太网协转网关的硬件结构示意图;
图5是本发明实施例的一种服务器的热备方法其中一种实施例的步骤流程图;
图6是本发明实施例的一种服务器的热备方法其中一种实施例的步骤流程图;
图7是本发明实施例的一种服务器的热备方法其中一种实施例的步骤流程图;
图8是本发明实施例的一种服务器的热备装置其中一种实施例的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
视联网是网络发展的重要里程碑,是一个实时网络,能够实现高清视频实时传输,将众多互联网应用推向高清视频化,高清面对面。
视联网采用实时高清视频交换技术,可以在一个网络平台上将所需的服务,如高清视频会议、视频监控、智能化监控分析、应急指挥、数字广播电视、延时电视、网络教学、现场直播、VOD点播、电视邮件、个性录制(PVR)、内网(自办)频道、智能化视频播控、信息发布等数十种视频、语音、图片、文字、通讯、数据等服务全部整合在一个系统平台,通过电视或电脑实现高清品质视频播放。
为使本领域技术人员更好地理解本发明实施例,以下对视联网进行介绍:
视联网所应用的部分技术如下所述:
网络技术(Network Technology)
视联网的网络技术创新改良了传统以太网(Ethernet),以面对网络上潜在的巨大第一视频流量。不同于单纯的网络分组包交换(Packet Switching)或网络电路交换(Circuit Switching),视联网技术采用Packet Switching满足Streaming需求。视联网技术具备分组交换的灵活、简单和低价,同时具备电路交换的品质和安全保证,实现了全网交换式虚拟电路,以及数据格式的无缝连接。
交换技术(Switching Technology)
视联网采用以太网的异步和包交换两个优点,在全兼容的前提下消除了以太网缺陷,具备全网端到端无缝连接,直通用户终端,直接承载IP数据包。用户数据在全网范围内不需任何格式转换。视联网是以太网的更高级形态,是一个实时交换平台,能够实现目前互联网无法实现的全网大规模高清视频实时传输,将众多网络视频应用推向高清化、统一化。
服务器技术(Server Technology)
视联网和统一视频平台上的服务器技术不同于传统意义上的服务器,它的流媒体传输是建立在面向连接的基础上,其数据处理能力与流量、通讯时间无关,单个网络层就能够包含信令及数据传输。对于语音和视频业务来说,视联网和统一视频平台流媒体处理的复杂度比数据处理简单许多,效率比传统服务器大大提高了百倍以上。
储存器技术(Storage Technology)
统一视频平台的超高速储存器技术为了适应超大容量和超大流量的媒体内容而采用了最先进的实时操作系统,将服务器指令中的节目信息映射到具体的硬盘空间,媒体内容不再经过服务器,瞬间直接送达到用户终端,用户等待一般时间小于0.2秒。最优化的扇区分布大大减少了硬盘磁头寻道的机械运动,资源消耗仅占同等级IP互联网的20%,但产生大于传统硬盘阵列3倍的并发流量,综合效率提升10倍以上。
网络安全技术(Network Security Technology)
视联网的结构性设计通过每次服务单独许可制、设备与用户数据完全隔离等方式从结构上彻底根除了困扰互联网的网络安全问题,一般不需要杀毒程序、防火墙,杜绝了黑客与病毒的攻击,为用户提供结构性的无忧安全网络。
服务创新技术(Service Innovation Technology)
统一视频平台将业务与传输融合在一起,不论是单个用户、私网用户还是一个网络的总合,都不过是一次自动连接。用户终端、机顶盒或PC直接连到统一视频平台,获得丰富多彩的各种形态的多媒体视频服务。统一视频平台采用“菜谱式”配表模式来替代传统的复杂应用编程,可以使用非常少的代码即可实现复杂的应用,实现“无限量”的新业务创新。
视联网的组网如下所述:
视联网是一种集中控制的网络结构,该网络可以是树型网、星型网、环状网等等类型,但在此基础上网络中需要有集中控制节点来控制整个网络。
如图1所示,视联网分为接入网和城域网两部分。
接入网部分的设备主要可以分为3类:节点服务器,接入交换机,终端(包括各种机顶盒、编码板、存储器等)。节点服务器与接入交换机相连,接入交换机可以与多个终端相连,并可以连接以太网。
其中,节点服务器是接入网中起集中控制功能的节点,可控制接入交换机和终端。节点服务器可直接与接入交换机相连,也可以直接与终端相连。
类似的,城域网部分的设备也可以分为3类:城域服务器,节点交换机,节点服务器。城域服务器与节点交换机相连,节点交换机可以与多个节点服务器相连。
其中,节点服务器即为接入网部分的节点服务器,即节点服务器既属于接入网部分,又属于城域网部分。
城域服务器是城域网中起集中控制功能的节点,可控制节点交换机和节点服务器。城域服务器可直接连接节点交换机,也可直接连接节点服务器。
由此可见,整个视联网络是一种分层集中控制的网络结构,而节点服务器和城域服务器下控制的网络可以是树型、星型、环状等各种结构。
形象地称,接入网部分可以组成统一视频平台(虚线圈中部分),多个统一视频平台可以组成视联网;每个统一视频平台可以通过城域以及广域视联网互联互通。
视联网设备分类
1.1本发明实施例的视联网中的设备主要可以分为3类:服务器,交换机(包括以太网协转网关),终端(包括各种机顶盒,编码板,存储器等)。视联网整体上可以分为城域网(或者国家网、全球网等)和接入网。
1.2其中接入网部分的设备主要可以分为3类:节点服务器,接入交换机(包括以太网协转网关),终端(包括各种机顶盒,编码板,存储器等)。
各接入网设备的具体硬件结构为:
节点服务器:
如图2所示,主要包括网络接口模块201、交换引擎模块202、CPU模块203、磁盘阵列模块204;
其中,网络接口模块201,CPU模块203、磁盘阵列模块204进来的包均进入交换引擎模块202;交换引擎模块202对进来的包进行查地址表205的操作,从而获得包的导向信息;并根据包的导向信息把该包存入对应的包缓存器206的队列;如果包缓存器206的队列接近满,则丢弃;交换引擎模块202轮询所有包缓存器队列,如果满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。磁盘阵列模块204主要实现对硬盘的控制,包括对硬盘的初始化、读写等操作;CPU模块203主要负责与接入交换机、终端(图中未示出)之间的协议处理,对地址表205(包括下行协议包地址表、上行协议包地址表、数据包地址表)的配置,以及,对磁盘阵列模块204的配置。
接入交换机:
如图3所示,主要包括网络接口模块(下行网络接口模块301、上行网络接口模块302)、交换引擎模块303和CPU模块304;
其中,下行网络接口模块301进来的包(上行数据)进入包检测模块305;包检测模块305检测包的目地地址(DA)、源地址(SA)、数据包类型及包长度是否符合要求,如果符合,则分配相应的流标识符(stream-id),并进入交换引擎模块303,否则丢弃;上行网络接口模块302进来的包(下行数据)进入交换引擎模块303;CPU模块304进来的数据包进入交换引擎模块303;交换引擎模块303对进来的包进行查地址表306的操作,从而获得包的导向信息;如果进入交换引擎模块303的包是下行网络接口往上行网络接口去的,则结合流标识符(stream-id)把该包存入对应的包缓存器307的队列;如果该包缓存器307的队列接近满,则丢弃;如果进入交换引擎模块303的包不是下行网络接口往上行网络接口去的,则根据包的导向信息,把该数据包存入对应的包缓存器307的队列;如果该包缓存器307的队列接近满,则丢弃。
交换引擎模块303轮询所有包缓存器队列,可以包括两种情形:
如果该队列是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零;3)获得码率控制模块产生的令牌;
如果该队列不是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。
码率控制模块308是由CPU模块304来配置的,在可编程的间隔内对所有下行网络接口往上行网络接口去的包缓存器队列产生令牌,用以控制上行转发的码率。
CPU模块304主要负责与节点服务器之间的协议处理,对地址表306的配置,以及,对码率控制模块308的配置。
以太网协转网关:
如图4所示,主要包括网络接口模块(下行网络接口模块401、上行网络接口模块402)、交换引擎模块403、CPU模块404、包检测模块405、码率控制模块408、地址表406、包缓存器407和MAC添加模块409、MAC删除模块410。
其中,下行网络接口模块401进来的数据包进入包检测模块405;包检测模块405检测数据包的以太网MAC DA、以太网MAC SA、以太网length or frame type、视联网目地地址DA、视联网源地址SA、视联网数据包类型及包长度是否符合要求,如果符合则分配相应的流标识符(stream-id);然后,由MAC删除模块410减去MAC DA、MAC SA、length or frame type(2byte),并进入相应的接收缓存,否则丢弃;
下行网络接口模块401检测该端口的发送缓存,如果有包则根据包的视联网目地地址DA获知对应的终端的以太网MAC DA,添加终端的以太网MAC DA、以太网协转网关的MACSA、以太网length or frame type,并发送。
以太网协转网关中其他模块的功能与接入交换机类似。
终端:
主要包括网络接口模块、业务处理模块和CPU模块;例如,机顶盒主要包括网络接口模块、视音频编解码引擎模块、CPU模块;编码板主要包括网络接口模块、视音频编码引擎模块、CPU模块;存储器主要包括网络接口模块、CPU模块和磁盘阵列模块。
1.3城域网部分的设备主要可以分为2类:节点服务器,节点交换机,城域服务器。其中,节点交换机主要包括网络接口模块、交换引擎模块和CPU模块;城域服务器主要包括网络接口模块、交换引擎模块和CPU模块构成。
2、视联网数据包定义
2.1接入网数据包定义
接入网的数据包主要包括以下几部分:目的地址(DA)、源地址(SA)、保留字节、payload(PDU)、CRC。
如下表所示,接入网的数据包主要包括以下几部分:
DA | SA | Reserved | Payload | CRC |
其中:
目的地址(DA)由8个字节(byte)组成,第一个字节表示数据包的类型(例如各种协议包、组播数据包、单播数据包等),最多有256种可能,第二字节到第六字节为城域网地址,第七、第八字节为接入网地址;
源地址(SA)也是由8个字节(byte)组成,定义与目的地址(DA)相同;
保留字节由2个字节组成;
payload部分根据不同的数据报的类型有不同的长度,如果是各种协议包的话是64个字节,如果是单组播数据包话是32+1024=1056个字节,当然并不仅仅限于以上2种;
CRC有4个字节组成,其计算方法遵循标准的以太网CRC算法。
2.2城域网数据包定义
城域网的拓扑是图型,两个设备之间可能有2种、甚至2种以上的连接,即节点交换机和节点服务器、节点交换机和节点交换机、节点交换机和节点服务器之间都可能超过2种连接。但是,城域网设备的城域网地址却是唯一的,为了精确描述城域网设备之间的连接关系,在本发明实施例中引入参数:标签,来唯一描述一个城域网设备。
本说明书中标签的定义和MPLS(Multi-Protocol Label Switch,多协议标签交换)的标签的定义类似,假设设备A和设备B之间有两个连接,那么数据包从设备A到设备B就有2个标签,数据包从设备B到设备A也有2个标签。标签分入标签、出标签,假设数据包进入设备A的标签(入标签)是0x0000,这个数据包离开设备A时的标签(出标签)可能就变成了0x0001。城域网的入网流程是集中控制下的入网过程,也就意味着城域网的地址分配、标签分配都是由城域服务器主导的,节点交换机、节点服务器都是被动的执行而已,这一点与MPLS的标签分配是不同的,MPLS的标签分配是交换机、服务器互相协商的结果。
如下表所示,城域网的数据包主要包括以下几部分:
DA | SA | Reserved | 标签 | Payload | CRC |
即目的地址(DA)、源地址(SA)、保留字节(Reserved)、标签、payload(PDU)、CRC。其中,标签的格式可以参考如下定义:标签是32bit,其中高16bit保留,只用低16bit,它的位置是在数据包的保留字节和payload之间。
参考图5,示出了本发明实施例的一种服务器的热备方法其中一种实施例的步骤流程图,所述方法应用于视联网,所述视联网与以太网通信连接,其中,所述视联网中包括代理发送端、视联网服务器以及代理接收端,所述以太网中包括第一站点和第二站点;所述第一站点与所述代理发送端通信连接,所述第二站点与所述代理接收端通信连接,该方法包括至少两个视联网服务器,以及分别与所述至少两个视联网服务器相连的至少一个视联网终端;在具体实现中,可以包括多个视联网服务器,可以3个,4个,5个或以上,具体可以根据实际使用需要进行调整。视联网终端也可以根据设置多个,具体可以根据实际使用需要进行调整。
该方法具体可以包括如下步骤:
步骤501,所述至少一个视联网终端分别接收所述至少两个视联网服务器发送的接入请求;
在具体实现中,若有两个视联网服务器,一个视联网终端,可以由两个视联网服务器分别向该一个视联网终端发送接入请求;若有两个视联网服务器,分别为第一视联网服务器和第二视联网服务器,有三个视联网终端,第一视联网服务器可以均向三个视联网终端发送接入请求,第二视联网服务器也可以均向三个视联网终端发送接入请求。第一视联网服务器与第二视联网服务器可以同时发送接入请求,也可以不同时发送接入请求。第一视联网服务器或第二视联网服务器可以同时向三个视联网终端发送接入请求,也可以在相同的时间间隔内向三个视联网终端分别发送接入请求。
步骤502,根据所述接入请求获取接入请求的地址与所述至少一个视联网终端的当前地址;
在具体实现中,视联网终端在接收到接入请求后,可以向视联网服务器发送接入响应,视联网服务器可以根据接入响应等等视联网终端的操作;也可以在视联网服务器中设置接入响应等待时间,若在预设的接入响应等待时间内,视联网终端没有发送接入响应,视联网服务器可以再向视联网终端发送接入请求,接入响应等待时间可以根据实际需要进行调整。
在本实施例中,接入请求可以包括请求地址,视联网终端可以根据接入请求获取接入请求的地址,以及视联网终端的当前地址。视联网终端可以使用终端内设的JavaScript获取接入请求的地址。具体的地址获取方式在本实施例中不作限定,可以根据实际使用需要进行调整。
步骤503,判断所述接入请求的地址与所述当前地址是否相同;
在具体实现中,获取了接入请求的地址与终端的当前地址后,可以判断接入请求的地址与终端的当前地址是否相同,若不相同,可以说明服务器所发送的接入请求不是发送给该终端,该服务器可能不是与该终端进行连接,也可以通过判断接入请求,确定该服务器是否与该终端建立连接,从而避免终端与多个不同的服务器进行连接,也可以避免连接出错。也可以通过判断接入请求的地址与终端的当前地址是否相同,从而让终端连接一个服务器,可以与一个服务器进行数据交互。
在其中一种实施例中,若服务器发送的接入请求的地址与终端的地址不相同,终端可以向服务器发送不接入响应,也可以避免服务器在响应等待时间内,多次向终端发送接入请求,拖慢了终端的工作。
步骤504,若所述接入请求的地址与所述当前地址相同,则与所述接入请求对应的服务器建立连接,确定建立连接的服务器为主服务器,确定没有建立连接的服务器为备用服务器;
在具体实现中,确定建立连接的服务器为主服务器,没有建立连接的服务器为备用服务器。与主服务器建立连接后,由主服务器向终端提供服务,终端与主服务器连接入网,备用服务器没有连接入网。
步骤505,接收主服务器发送的主心跳包数据;
在具体实现中,若确定为主服务器,视联网终端可以向主服务器发送连接入网响应,主服务器可以在接收了连接入网响应后,向视联网终端发送主心跳包数据,使视联网终端与主服务器建立连接。
步骤506,当主服务器发送的主心跳包数据中断时,与所述备用服务器建立连接,接收备用服务器发送的备用心跳包数据。
在具体实现中,当主服务器出现宕机或死机的情况时,主服务器无法发送主心跳包数据,视联网终端检测主服务器发送的主心跳包数据中断,视联网终端可以与备用服务器建立连接,视联网终端可以向备用服务器发送连接入网响应,备用服务器可以在接收连接入网响应后向备用心跳包数据。
在本发明可选的实施例中,通过所述至少一个视联网终端分别接收所述至少两个视联网服务器发送的接入请求;根据所述接入请求获取接入请求的地址与所述至少一个视联网终端的当前地址;判断所述接入请求的地址与所述当前地址是否相同;若所述接入请求的地址与所述当前地址相同,则与所述接入请求对应的服务器建立连接,确定建立连接的服务器为主服务器,确定没有建立连接的服务器为备用服务器;接收主服务器发送的主心跳包数据;当主服务器发送的主心跳包数据中断时,与所述备用服务器建立连接,接收备用服务器发送的备用心跳包数据。本申请可以让视联网终端在服务器宕机的情况下,可以让终端与备用服务器迅速连接入网,可以让终端快速重新开始业务,确保终端的使用服务不中断,提高用户的使用体验,也可以不需要人工干预,让终端与服务器重新建立连接,提高终端与服务器的连接入网速度,也降低了服务器宕机后技术人员重新连接服务器的工作量。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参考图6,示出了本发明实施例的一种服务器的热备方法其中一种实施例的步骤流程图;该方法可以应用于视联网,所述视联网与以太网通信连接,其中,所述视联网中包括代理发送端、视联网服务器以及代理接收端,所述以太网中包括第一站点和第二站点;所述第一站点与所述代理发送端通信连接,所述第二站点与所述代理接收端通信连接,该方法可以包括多个视联网服务器,以及分别与所述多个视联网服务器相连的多个视联网终端;在具体实现中,可以包括多个视联网服务器,可以3个,4个,5个或以上,具体可以根据实际使用需要进行调整。视联网终端也可以根据设置多个,具体可以根据实际使用需要进行调整。在本实施例中,以两个视联网服务器,一个视联网终端作例子,两个视联网服务器的配置可以完全相同,具体数量不在本实施例中作限定。
该方法具体可以包括如下步骤:
步骤601,所述至少一个视联网终端分别接收所述至少两个视联网服务器发送的接入请求;
在具体实现中,若有两个视联网服务器,一个视联网终端,可以由两个视联网服务器分别向该一个视联网终端发送接入请求;若有两个视联网服务器,分别为第一视联网服务器和第二视联网服务器,有三个视联网终端,第一视联网服务器可以均向三个视联网终端发送接入请求,第二视联网服务器也可以均向三个视联网终端发送接入请求。第一视联网服务器与第二视联网服务器可以同时发送接入请求,也可以不同时发送接入请求。第一视联网服务器或第二视联网服务器可以同时向三个视联网终端发送接入请求,也可以在相同的时间间隔内向三个视联网终端分别发送接入请求。
在本实施例中,接入请求可以包括优先级字段,视联网终端可以获取接入请求中的字段,根据字段确定字段对应的优先级,确定最高优先级的字段,获取最高优先级字段对应的服务器,与该服务器建立连接入网。
步骤602,根据所述接入请求获取接入请求的地址与所述至少一个视联网终端的当前地址;
在具体实现中,视联网终端在接收到接入请求后,可以向视联网服务器发送接入响应,视联网服务器可以根据接入响应等等视联网终端的操作;也可以在视联网服务器中设置接入响应等待时间,若在预设的接入响应等待时间内,视联网终端没有发送接入响应,视联网服务器可以再向视联网终端发送接入请求,接入响应等待时间可以根据实际需要进行调整。
在本实施例中,接入请求可以包括请求地址,视联网终端可以根据接入请求获取接入请求的地址,以及视联网终端的当前地址。视联网终端可以使用终端内设的JavaScript获取接入请求的地址。具体的地址获取方式在本实施例中不作限定,可以根据实际使用需要进行调整。
步骤603,判断所述接入请求的地址与所述当前地址是否相同;
在具体实现中,获取了接入请求的地址与终端的当前地址后,可以判断接入请求的地址与终端的当前地址是否相同,若不相同,可以说明服务器所发送的接入请求不是发送给该终端,该服务器可能不是与该终端进行连接,也可以通过判断接入请求,确定该服务器是否与该终端建立连接,从而避免终端与多个不同的服务器进行连接,也可以避免连接出错。也可以通过判断接入请求的地址与终端的当前地址是否相同,从而让终端连接一个服务器,可以与一个服务器进行数据交互。
在其中一种实施例中,若服务器发送的接入请求的地址与终端的地址不相同,终端可以向服务器发送不接入连接响应,也可以避免服务器在响应等待时间内,多次向终端发送接入请求,拖慢了终端的工作。
步骤604,若所述接入请求的地址与所述当前地址相同,则接收所述接入请求对应的服务器发送的第一心跳包数据,获取所述第一心跳包数据的Mac地址;
在具体实现中,当接入请求的地址与终端的当前地址相同,终端可以向服务器发送接入连接响应,通知发送了该接入请求的服务器可以与终端进行数据传输,服务器在接收到接入连接响应后,可以向终端发送第一心跳包数据。终端在接收到第一心跳包数据后,也可以向服务器发送一个心跳包数据接收完成响应,或者反馈一个心跳包数据给服务器。
在本实施例中,服务器发送的第一心跳包数据包括Mac地址,每个第一心跳包数据均可以包括Mac地址,可选地,服务器可以发送多个第一心跳包数据,也可以发送一个第一心跳包数据,发送数量可以根据实际需要进行调整。在本实施例中,每个服务器发送的心跳包数据均可以包括Mac地址。
在其中一种实施例中,两个视联网服务器分别为第一视联网服务器与第二视联网服务器,两个视联网服务器分别发送了接入请求,分别为第一接入请求与第二接入请求,视联网终端接收了两个接入请求后,分别获取两个接入请求的地址与视联网终端的地址,可以分别判断第一接入请求的地址和第二接入请求的地址是否与视联网终端的地址相同,若第一接入请求的地址与视联网终端的地址相同,视联网终端向第一视联网服务器发送接入连接响应,并接收第一视联网服务器发送的第一心跳包数据,若第二接入请求的地址与视联网终端的地址也相同,视联网终端向第二视联网服务器发送接入连接响应,并接收第二视联网服务器发送的第一心跳包数据;若第一接入请求的地址与视联网终端的地址相同,第二接入请求的地址与视联网终端的地址不相同,则视联网终端可以向第一视联网服务器发送接入连接响应,并接收第一视联网服务器发送的第一心跳包数据,向第二视联网服务器发送不接入连接响应,不接收第二视联网服务器发送的第一心跳包数据。
步骤605,判断所述Mac地址与所述配置地址是否相同;
在本实施例中,视联网终端可以包括配置文件,在配置文件内可以包括配置地址,具体实现中,获取了Mac地址后,视联网终端可以判断第一心跳包数据的Mac地址与视联网终端的配置文件的配置地址是否相同。可以通过判断Mac地址与配置地址,从而判断发送第一心跳包数据的服务器是否与视联网终端建立过连接,若建立过连接,配置地址与Mac地址相同,视联网终端可以优先与该发送第一心跳包数据的服务器建立连接。可以提高视联网终端与视联网服务器连接的效率,简化了建立连接的过程。
在本实施中,步骤605还可以包括以下步骤:
步骤6051,若所述Mac地址与所述配置地址不相同,则确定所述Mac地址对应的至少一个服务器为第二服务器;
在其中一种实施例中,若第一视联网服务器与第二视联网服务器均向视联网终端发送第一心跳包数据,两个心跳包数据的Mac地址与配置地址均不相同,视联网终端可以确定第一视联网服务器与第二视联网服务器均为第二服务器,可以对两个第二服务器进行一下步判断,判断两个第二服务器是否可以建立连接。若第一视联网服务器的Mac地址与所述配置地址不相同,第二视联网服务器的Mac地址与所述配置地址相同,可以确定第一视联网服务器为第二服务器,可以判断第二服务器是否可以建立连接。
在本实施例中,视联网终端的配置文件可以有多个,每个配置文件中可以设置有多个配置地址,由于视联网终端可以与多个视联网服务器建立连接,可以在配置文件中设置多个配置地址,方便视联网终端与多个视联网服务器建立连接。
步骤6052,获取所述第二服务器发送的第二心跳包数据;
在具体实现中,若视联网终端确定第二服务器后,视联网终端可以向第二服务器发送认证响应,触发第二服务器发送第二心跳包数据,使视联网终端可以根据第二心跳包数据对第二服务器作认证,并根据第二心跳包数据判断是否可以与第二服务器建立连接。发送的认证响应可以根据实际需要进行调整。第二服务器可以设置等待认证响应时间,若第二服务器在等待认证响应时间内没有接收认证响应,第二服务器可以直接发送第二心跳包数据,第二服务器也可以重新发送接入请求,终端对第二服务器发送的接入请求开始再执行一次判断。
在本实施例中,步骤6052可以包括以下子步骤:
子步骤60521,接收所述第二服务器发送的第二心跳包数据;
在具体实现中,第二服务器可以在视联网终端发送认证响应后,向视联网终端发送第二心跳包数据。第二心跳包数据可以发送一个或多个。
子步骤60522,判断是否存储与所述第二心跳包数据相同的历史心跳包数据;
在具体实现中,视联网终端在接收到第二心跳包数据后,获取第二心跳包数据的Mac地址,也可以获取第二心跳包数据的字段,根据第二心跳包数据的Mac地址或字段,判断使得存储与第二心跳包数据相同的历史心跳包数据。
子步骤60523,若存储与所述第二心跳包数据相同的历史心跳包数据,则获取所述第二心跳包数据,并将所述第二心跳包数据替换所述历史心跳包数据;
在具体实现中,若视联网终端有存储与第二心跳包数据相同的历史心跳包数据,视联网终端可以获取第二心跳包数据,并将获取的第二心跳包数据替换历史心跳包数据,并将第二心跳包数据存储起来,留待下一次判断。
子步骤60524,若没有存储与所述第二心跳包数据相同的历史心跳包数据,则获取并存储所述第二心跳包数据。
在具体实现中,若视联网终端没有存储与第二心跳包数据相同的历史心跳包数据,视联网终端可以获取第二心跳包数据并存储。若下一次有相同的第二服务器发送第二心跳包数据,可以在下一次进行判断。
步骤6053,判断是否接收至少两个所述第二心跳包数据;
在具体实现中,第二服务器可以包括多个,如第一视联网服务器与第二视联网服务器均可以被确定为第二服务器,若开始发送接入请求的视联网服务器有多个,如有5个,5个视联网服务器发送的接入请求的地址与视联网终端的地址均相同,5个视联网服务器发送的心跳包数据的Mac地址与视联网终端的配置地址均不相同,5个视联网服务器均可以确定为第二视联网服务器。
在本实施例中,若有多个视联网服务器,多个视联网服务器的配置相同,为了区分多个视联网服务器,可以通过在视联网服务器发送的心跳包数据中设置一个或多个优先级字段,不同字段对应不同的优先级,每个字段都有一个对应的优先级。从而可以根据心跳包数据的字段的优先级,可以区分多个视联网服务器。也可以判断心跳包数据的Mac地址是否相同,可以区分多个视联网服务器,也可以判断心跳包数据的内容,可以区分多个视联网服务器。
在本优选的实施例中,判断是否接收至少两个所述第二心跳包数据,可以判断是否接收至少两个带有相同优先级字段的第二心跳包数据,通过判断是否接收至少两个带有相同优先级字段的第二心跳包数据,可以根据第二心跳包数据获取对应的视联网服务器,可以说明该对应的视联网服务器具有相同优先级,可以对优先级最高的视联网服务器进行判断是否与优先级最高的视联网服务器建立连接。
步骤6054,若没有接收至少两个所述第二心跳包数据,则与所述第二服务器建立连接,并确定连接入网的第二服务器为主服务器,确定没有建立连接的第二服务器为备用服务器。
在本实施例中,若有多个第二服务器,发送了多个第二心跳包数据,若判断没有接收至少两个所述第二心跳包数据,可以说明多个第二服务器的优先级相同,可以与多个第二服务器建立连接,若有一个第二服务器,发送一个第二心跳包数据,可以直接与该一个第二服务器建立连接。
在本实施例中,步骤6054可以包括以下子步骤:
子步骤60541,若没有接收至少两个所述第二心跳包数据,则获取接收所述第二心跳包数据的历史次数;
在本发明其中一种实施例中,可以通过判断第二心跳包数据的字段对应的优先级是否相同,若接收了两个或以上第二心跳包数据,该两个或以上的第二心跳包数据的字段对应的优先级相同,可以判断为接收了至少两个所述第二心跳包数据,若接收了两个或以上的第二心跳包数据,没有两个或以上的第二心跳包数据的字段对应的优先级相同,则判断没有接收至少两个所述第二心跳包数据。也可以判断心跳包数据的Mac地址,若接收了两个或以上第二心跳包数据,该两个或以上的第二心跳包数据的Mac地址相同,可以判断为接收了至少两个所述第二心跳包数据。同理,也可以判断心跳包数据的内容是否相同。在此并不一一阐述,具体的判断方式可以格局实际需要进行调整,本发明并不在此加以限定。
可选地,在判断了没有接收至少两个所述第二心跳包数据,可以统计接收该第二心跳包数据的历史次数,可以根据历史次数确定是否多次接收发送该第二心跳包数据的第二服务器发送的心跳包数据。
子步骤60542,统计所述历史次数与接收所述第二心跳包数据的次数的总和,并判断所述次数的总和是否超过预设次数阈值;
在具体实现中,统计历史数据后,可以计算接收第二心跳包数据的次数的总和,再将次数总和与预设的次数阈值作比较,从而可以确定是否多次接收该第二服务器发送的第二心跳包数据。
子步骤60543,若超过预设次数阈值,则与所述第二服务器建立连接,并确定连接入网的第二服务器为主服务器,确定没有建立连接的第二服务器为备用服务器。
在具体实现中,当次数总和超过预设次数阈值时,可以与发送第二心跳包数据的第二服务器建立连接,并确定该第二服务器为主服务器。在本实施例中,有第一视联网服务器与第二视联网服务器,若两个视联网服务器确定为第二服务器,两个视联网服务器均向视联网终端发送第二心跳包数据,视联网终端可以根据上述的判断,若两个心跳包数据相同,则视联网终端可以与两个视联网服务器建立连接,若两个心跳包数据不相同,则视联网终端判断两个心跳包数据的次数总和,若第一视联网服务器发送的第二心跳包数据次数总和超过预设次数阈值,第二视联网服务器发送的第二心跳包数据次数总和不超过预设次数阈值,则视联网终端与第一视联网服务器建立连接;若第一视联网服务器发送的第二心跳包数据次数总和不超过预设次数阈值,第二视联网服务器发送的第二心跳包数据次数总和超过预设次数阈值,则视联网终端与第二视联网服务器建立连接。
通过判断次数总和是否超过预设次数阈值,则可以知道是否接收过多次相同的心跳包数据,若接收过多次相同的心跳包数据,则可以与发送该心跳包数据的服务器建立连接。在具体实现中,预设次数阈值可以根据实际使用需要进行调整,在本实施例中,预设次数阈值为3次。
在本实施例中,步骤6054还可以包括以下子步骤:
子步骤60544,若接收两个或以上所述第二心跳包数据,则获取两个或以上所述第二心跳包数据的字段;
在具体实现中,若接收了两个或以上心跳包数据,终端可以获取心跳包数据的字段。在本实施例中,每个服务器发送的心跳包数据均包括优先级字段,每个字段对应的优先级不同。优先级可以根据实际需要进行调整。
可以通过获取字段,从而获取优先级,再根据优先级判断心跳包数据的优先级。
子步骤60545,确定两个或以上所述字段对应的优先级;
在本实施例中,获取字段后可以获取字段对应的优先级,在根据优先级判断心跳包数据的优先级。优先级可以根据实际需要进行调整。
子步骤60546,确定优先级最高的字段,并获取所述优先级最高的字段对应的目标第二心跳包数据;
在本实施例中,可以根据字段的优先级,确定优先级最高的字段,在根据优先级最高的字段,获得优先级最高的字段对应目标第二心跳包数据。从而获取两个或以上的第二心跳包数据中的目标第二心跳包数据。
子步骤60547,获取所述目标第二心跳包数据对应的Mac地址,并将所述目标第二心跳包数据对应的Mac地址写入所述配置文件。
在本实施例中,可以获取目标第二心跳包数据的Mac地址,并将目标第二心跳包数据的Mac地址写入终端的配置文件中,终端可以根据目标第二心跳包数据的Mac地址,在下一次与服务器建立连接时进行判断。方便终端的下一次判断操作,从而可以让终端可以快速与发送该目标第二心跳包数据的第二服务器建立连接。
步骤606,若所述Mac地址与所述配置地址相同,则获取所述Mac地址对应的服务器,与所述Mac地址对应的服务器建立连接,并确定建立连接的服务器为主服务器,确定没有建立连接的服务器为备用服务器;
在具体实现中,当Mac地址与配置地址相同,视联网终端可以获取Mac地址对应的视联网服务器,与该视联网服务器建立连接,并确定建立连接的服务器为主服务器,没有建立连接的服务器为备用服务器。与主服务器建立连接后,由主服务器向终端提供服务,终端与主服务器连接入网,备用服务器没有连接入网。
在其中一种实施例中,若第一视联网服务器与第二视联网服务器的Mac地址均与配置地址相同,视联网终端可以确定第一视联网服务器与第二视联网服务器两个服务器均为主服务器;若第一视联网服务器的Mac地址与配置地址相同,第二视联网服务器Mac地址与配置地址不相同,可以确定第一视联网服务器为主服务器,第二视联网服务器为备用服务器;若第一视联网服务器的Mac地址与配置地址不相同,第二视联网服务器Mac地址与配置地址相同,可以确定第一视联网服务器为备用服务器,第二视联网服务器为主服务器。
步骤607,接收主服务器发送的主心跳包数据;
在具体实现中,若确定为主服务器,视联网终端可以向主服务器发送连接入网响应,主服务器可以在接收了连接入网响应后,向视联网终端发送主心跳包数据,使视联网终端与主服务器建立连接,主服务器与视联网终端连接入网。
在本实施例中,视联网终端在确定备用服务器后,可以向备用服务器发送不连接入网响应,备用服务器可以在接收不连接入网响应后,向视联网终端发送备用心跳包数据,视联网终端可以不接收备用心跳包数据,备用服务器可以不断向视联网终端发送备用心跳包数据,使视联网终端与备用服务器保持联系。
步骤608,当主服务器发送的主心跳包数据中断时,与所述备用服务器建立连接,接收备用服务器发送的备用心跳包数据。
在具体实现中,当主服务器出现宕机或死机的情况时,主服务器无法发送主心跳包数据,视联网终端检测主服务器发送的主心跳包数据中断,视联网终端可以与备用服务器建立连接,视联网终端可以向备用服务器发送连接入网响应,备用服务器可以在接收连接入网响应后向备用心跳包数据。
在本实施例中,备用服务器在接收不连接入网响应后,会不断向视联网终端发送备用心跳包数据,可以使得备用服务器与视联网终端保持联系,在主心跳包数据中断时,视联网终端可以快速接收备用心跳包数据,并向备用服务器发送连接入网响应,与备用服务器建立连接,与备用服务器连接入网。
在本实施例中,主服务器与备用服务器的配置相同,在主服务器宕机的情况下,视联网终端可以快与备用服务器建立连接,确保终端的服务正常,可以继续使用。
在其中一种可选的实施例中,两个视联网服务器可以向视联网交换机发送接入请求,再由视联网交换机向视联网终端发送接入请求,视联网终端也可以向视联网交换机发送响应,再由视联网交换机向视联网终端发送响应。
参照图7,示出了本发明实施例的一种服务器的热备方法其中一种实施例的步骤流程图,在本申请优选的实施例中,通过所述至少一个视联网终端分别接收所述至少两个视联网服务器发送的接入请求;根据所述接入请求获取接入请求的地址与所述至少一个视联网终端的当前地址;判断所述接入请求的地址与所述当前地址是否相同;若所述接入请求的地址与所述当前地址相同,则接收所述接入请求对应的服务器发送的第一心跳包数据,获取所述第一心跳包数据的Mac地址;判断所述Mac地址与所述配置地址是否相同;若所述Mac地址与所述配置地址相同,则获取所述Mac地址对应的服务器,与所述Mac地址对应的服务器建立连接,并确定建立连接的服务器为主服务器,确定没有建立连接的服务器为备用服务器;接收主服务器发送的主心跳包数据;当主服务器发送的主心跳包数据中断时,与所述备用服务器建立连接,接收备用服务器发送的备用心跳包数据。
本申请可以让视联网终端在服务器宕机的情况下,可以让终端与备用服务器迅速连接入网,可以让终端快速重新开始业务,确保终端的使用服务不中断,提高用户的使用体验,也可以不需要人工干预,让终端与服务器重新建立连接,提高终端与服务器的连接入网速度,也降低了服务器宕机后技术人员重新连接服务器的工作量。
参考图8,示出了本发明实施例的一种服务器的热备装置,所述装置应用于视联网,所述视联网与以太网通信连接,其中,所述视联网中包括代理发送端、视联网服务器以及代理接收端,所述以太网中包括第一站点和第二站点;所述第一站点与所述代理发送端通信连接,所述第二站点与所述代理接收端通信连接;所述装置可以包括如下模块:
接收模块701,用于接收所述至少两个视联网服务器发送的接入请求;
地址获取模块702,用于根据所述接入请求获取接入请求的地址与所述至少一个视联网终端的当前地址;
当前地址判断模块703,用于判断所述接入请求的地址与所述当前地址是否相同;
当前地址相同模块704,用于若所述接入请求的地址与所述当前地址相同,则与所述接入请求对应的服务器建立连接,确定建立连接的服务器为主服务器,确定没有建立连接的服务器为备用服务器;
主心跳包接收模块705,用于接收主服务器发送的主心跳包数据;
备用心跳包接收模块706,用于当主服务器发送的主心跳包数据中断时,与所述备用服务器建立连接,接收备用服务器发送的备用心跳包数据。
在本实施例中,所述当前地址相同模块704,包括:
Mac地址模块,用于若所述接入请求的地址与所述当前地址相同,则接收所述接入请求对应的服务器发送的第一心跳包数据,获取所述第一心跳包数据的Mac地址;
配置地址判断模块,用于判断所述Mac地址与所述配置地址是否相同;
配置地址相同模块,用于若所述Mac地址与所述配置地址相同,则获取所述Mac地址对应的服务器,与所述Mac地址对应的服务器建立连接,并确定建立连接的服务器为主服务器,确定没有建立连接的服务器为备用服务器。
在本实施例中,所述配置地址判断模块,还包括:
配置地址不同模块,用于若所述Mac地址与所述配置地址不相同,则确定所述Mac地址对应的至少一个服务器为第二服务器;
第二心跳包获取模块,用于获取所述第二服务器发送的第二心跳包数据;
第二心跳包数量判断模块,用于判断是否接收至少两个所述第二心跳包数据;
第二心跳包数量不足模块,用于若没有接收至少两个所述第二心跳包数据,则与所述第二服务器建立连接,并确定连接入网的第二服务器为主服务器,确定没有建立连接的第二服务器为备用服务器。
可选地,所述第二心跳包数量不足模块,包括:
第二心跳包历史次数模块,用于若没有接收至少两个所述第二心跳包数据,则获取接收所述第二心跳包数据的历史次数;
第二心跳包次数总和模块,用于统计所述历史次数与接收所述第二心跳包数据的次数的总和,并判断所述次数的总和是否超过预设次数阈值;
超过预测次数阈值模块,用于若超过预设次数阈值,则与所述第二服务器建立连接,并确定连接入网的第二服务器为主服务器,确定没有建立连接的第二服务器为备用服务器。
在本实施例中,所述第二心跳包数量判断模块,还包括:
字段获取模块,用于若接收两个或以上所述第二心跳包数据,则获取两个或以上所述第二心跳包数据的字段;
优先级确定模块,用于确定两个或以上所述字段对应的优先级;
目标第二心跳包模块,用于确定优先级最高的字段,并获取所述优先级最高的字段对应的目标第二心跳包数据;
Mac地址写入模块,用于获取所述目标第二心跳包数据对应的Mac地址,并将所述目标第二心跳包数据对应的Mac地址写入所述配置文件。
在本实施例中,所述第二心跳包获取模块,包括:
第二心跳包接收模块,用于接收所述第二服务器发送的第二心跳包数据;
历史心跳包数据判断模块,用于判断是否存储与所述第二心跳包数据相同的历史心跳包数据;
第二心跳包替换模块,用于若存储与所述第二心跳包数据相同的历史心跳包数据,则获取所述第二心跳包数据,并将所述第二心跳包数据替换所述历史心跳包数据;
第二心跳包存储模块,用于若没有存储与所述第二心跳包数据相同的历史心跳包数据,则获取并存储所述第二心跳包数据。
对于服务器的热备装置实施例而言,由于其与服务器的热备方法实施例基本相似,所以描述的比较简单,相关之处参见服务器的热备方法实施例的部分说明即可。
本发明实施例还提供了一种装置,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行如本发明实施例所述的一个或多个的服务器的热备方法。
本发明实施例还提供了一种计算机可读存储介质,其存储的计算机程序使得处理器执行如本发明实施例所述的服务器的热备方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种服务器的热备方法、一种服务器的热备装置和一种计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (12)
1.一种服务器的热备方法,其特征在于,所述方法应用于视联网,包括至少两个视联网服务器,以及分别与所述至少两个视联网服务器相连的至少一个视联网终端,所述视联网终端包括配置文件,所述配置文件包括配置地址,所述方法包括:
所述至少一个视联网终端分别接收所述至少两个视联网服务器发送的接入请求;
根据所述接入请求获取接入请求的地址与所述至少一个视联网终端的当前地址;
判断所述接入请求的地址与所述当前地址是否相同;
若所述接入请求的地址与所述当前地址相同,则与所述接入请求对应的服务器建立连接,确定建立连接的服务器为主服务器,确定没有建立连接的服务器为备用服务器;
接收主服务器发送的主心跳包数据;
当主服务器发送的主心跳包数据中断时,与所述备用服务器建立连接,接收备用服务器发送的备用心跳包数据;
其中,所述心跳包数据包括Mac地址,所述若所述接入请求的地址与所述当前地址相同,则与所述接入请求对应的服务器建立连接,确定建立连接的服务器为主服务器,确定没有建立连接的服务器为备用服务器,包括:
若所述接入请求的地址与所述当前地址相同,则接收所述接入请求对应的服务器发送的第一心跳包数据,获取所述第一心跳包数据的Mac地址;
判断所述Mac地址与所述配置地址是否相同,以判断发送所述第一心跳包数据的服务器是否与所述视联网终端建立过连接;
若所述Mac地址与所述配置地址相同,则获取所述Mac地址对应的至少一个服务器,与所述Mac地址对应的至少一个服务器建立连接,并确定建立连接的至少一个服务器为主服务器,确定没有建立过连接的服务器为备用服务器。
2.根据权利要求1所述的方法,其特征在于,所述判断所述Mac地址与所述配置地址是否相同,还包括:
若所述Mac地址与所述配置地址不相同,则确定所述Mac地址对应的至少一个服务器为第二服务器;
获取所述第二服务器发送的第二心跳包数据;
判断是否接收至少两个所述第二心跳包数据;
若没有接收至少两个所述第二心跳包数据,则与所述第二服务器建立连接,并确定连接入网的第二服务器为主服务器,确定没有建立连接的第二服务器为备用服务器。
3.根据权利要求2所述的方法,其特征在于,所述若没有接收至少两个所述第二心跳包数据,则与所述第二服务器建立连接,并确定连接入网的第二服务器为主服务器,确定没有建立连接的第二服务器为备用服务器,包括:
若没有接收至少两个所述第二心跳包数据,则获取接收所述第二心跳包数据的历史次数;
统计所述历史次数与接收所述第二心跳包数据的次数的总和,并判断所述次数的总和是否超过预设次数阈值;
若超过预设次数阈值,则与所述第二服务器建立连接,并确定连接入网的第二服务器为主服务器,确定没有建立连接的第二服务器为备用服务器。
4.根据权利要求2所述的方法,其特征在于,所述心跳包数据还包括字段,所述字段对应一个优先级,所述判断是否接收至少两个所述第二心跳包数据,还包括:
若接收两个或以上所述第二心跳包数据,则获取两个或以上所述第二心跳包数据的字段;
确定两个或以上所述字段对应的优先级;
确定优先级最高的字段,并获取所述优先级最高的字段对应的目标第二心跳包数据;
获取所述目标第二心跳包数据对应的Mac地址,并将所述目标第二心跳包数据对应的Mac地址写入所述配置文件。
5.根据权利要求2所述的方法,其特征在于,所述获取所述第二服务器发送的第二心跳包数据,包括:
接收所述第二服务器发送的第二心跳包数据;
判断是否存储与所述第二心跳包数据相同的历史心跳包数据;
若存储与所述第二心跳包数据相同的历史心跳包数据,则获取所述第二心跳包数据,并将所述第二心跳包数据替换所述历史心跳包数据;
若没有存储与所述第二心跳包数据相同的历史心跳包数据,则获取并存储所述第二心跳包数据。
6.一种服务器的热备装置,其特征在于,所述装置应用于视联网,包括至少两个视联网服务器,以及分别与所述至少两个视联网服务器相连的至少一个视联网终端,所述视联网终端包括配置文件,所述配置文件包括配置地址,所述装置包括:
接收模块,用于接收所述至少两个视联网服务器发送的接入请求;
地址获取模块,用于根据所述接入请求获取接入请求的地址与所述至少一个视联网终端的当前地址;
当前地址判断模块,用于判断所述接入请求的地址与所述当前地址是否相同;
当前地址相同模块,用于若所述接入请求的地址与所述当前地址相同,则与所述接入请求对应的服务器建立连接,确定建立连接的服务器为主服务器,确定没有建立连接的服务器为备用服务器;
主心跳包接收模块,用于接收主服务器发送的主心跳包数据;
备用心跳包接收模块,用于当主服务器发送的主心跳包数据中断时,与所述备用服务器建立连接,接收备用服务器发送的备用心跳包数据;
其中,所述心跳包数据包括Mac地址,所述当前地址相同模块,包括:
Mac地址模块,用于若所述接入请求的地址与所述当前地址相同,则接收所述接入请求对应的服务器发送的第一心跳包数据,获取所述第一心跳包数据的Mac地址;
配置地址判断模块,用于判断所述Mac地址与所述配置地址是否相同,以判断发送所述第一心跳包数据的服务器是否与所述视联网终端建立过连接;
配置地址相同模块,用于若所述Mac地址与所述配置地址相同,则获取所述Mac地址对应的至少一个服务器,与所述Mac地址对应的至少一个服务器建立连接,并确定建立连接的至少一个服务器为主服务器,确定没有建立过连接的服务器为备用服务器。
7.根据权利要求6所述的装置,其特征在于,所述配置地址判断模块,还包括:
配置地址不同模块,用于若所述Mac地址与所述配置地址不相同,则确定所述Mac地址对应的至少一个服务器为第二服务器;
第二心跳包获取模块,用于获取所述第二服务器发送的第二心跳包数据;
第二心跳包数量判断模块,用于判断是否接收至少两个所述第二心跳包数据;
第二心跳包数量不足模块,用于若没有接收至少两个所述第二心跳包数据,则与所述第二服务器建立连接,并确定连接入网的第二服务器为主服务器,确定没有建立连接的第二服务器为备用服务器。
8.根据权利要求7所述的装置,其特征在于,所述第二心跳包数量不足模块,包括:
第二心跳包历史次数模块,用于若没有接收至少两个所述第二心跳包数据,则获取接收所述第二心跳包数据的历史次数;
第二心跳包次数总和模块,用于统计所述历史次数与接收所述第二心跳包数据的次数的总和,并判断所述次数的总和是否超过预设次数阈值;
超过预测次数阈值模块,用于若超过预设次数阈值,则与所述第二服务器建立连接,并确定连接入网的第二服务器为主服务器,确定没有建立连接的第二服务器为备用服务器。
9.根据权利要求7所述的装置,其特征在于,所述心跳包数据还包括字段,所述字段对应一个优先级,所述第二心跳包数量判断模块,还包括:
字段获取模块,用于若接收两个或以上所述第二心跳包数据,则获取两个或以上所述第二心跳包数据的字段;
优先级确定模块,用于确定两个或以上所述字段对应的优先级;
目标第二心跳包模块,用于确定优先级最高的字段,并获取所述优先级最高的字段对应的目标第二心跳包数据;
Mac地址写入模块,用于获取所述目标第二心跳包数据对应的Mac地址,并将所述目标第二心跳包数据对应的Mac地址写入所述配置文件。
10.根据权利要求7所述的装置,其特征在于,所述第二心跳包获取模块,包括:
第二心跳包接收模块,用于接收所述第二服务器发送的第二心跳包数据;
历史心跳包数据判断模块,用于判断是否存储与所述第二心跳包数据相同的历史心跳包数据;
第二心跳包替换模块,用于若存储与所述第二心跳包数据相同的历史心跳包数据,则获取所述第二心跳包数据,并将所述第二心跳包数据替换所述历史心跳包数据;
第二心跳包存储模块,用于若没有存储与所述第二心跳包数据相同的历史心跳包数据,则获取并存储所述第二心跳包数据。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当所述指令由所述一个或多个处理器执行时,使得所述电子设备执行如权利要求1至5任一项所述的服务器的热备方法。
12.一种计算机可读存储介质,其特征在于,其存储的计算机程序使得处理器执行如权利要求1至5任一项所述的服务器的热备方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910606237.7A CN110445639B (zh) | 2019-07-05 | 2019-07-05 | 一种服务器的热备方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910606237.7A CN110445639B (zh) | 2019-07-05 | 2019-07-05 | 一种服务器的热备方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110445639A CN110445639A (zh) | 2019-11-12 |
CN110445639B true CN110445639B (zh) | 2022-07-12 |
Family
ID=68429523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910606237.7A Active CN110445639B (zh) | 2019-07-05 | 2019-07-05 | 一种服务器的热备方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110445639B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112073667B (zh) * | 2020-07-20 | 2024-03-19 | 视联动力信息技术股份有限公司 | 一种恢复业务的方法、装置、电子设备及存储介质 |
CN113079035B (zh) * | 2021-03-10 | 2024-05-10 | 视联动力信息技术股份有限公司 | 一种设备入网方法、装置、终端设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003296167A (ja) * | 2002-03-29 | 2003-10-17 | Fujitsu Social Science Laboratory Ltd | ファイル管理システムおよびファイル管理方法 |
CN101651691A (zh) * | 2009-08-31 | 2010-02-17 | 中兴通讯股份有限公司 | 一种网络系统、接入设备以及应用层服务接入方法 |
CN104639367A (zh) * | 2015-01-04 | 2015-05-20 | 中国联合网络通信集团有限公司 | 一种实现主备服务器切换的方法及系统 |
CN106649000A (zh) * | 2017-01-03 | 2017-05-10 | 星环信息科技(上海)有限公司 | 实时处理引擎的故障恢复方法及相应的服务器 |
CN107087021A (zh) * | 2017-03-30 | 2017-08-22 | 聚好看科技股份有限公司 | 主从服务器确定方法及装置 |
CN107979876A (zh) * | 2017-11-16 | 2018-05-01 | 广州市百果园网络科技有限公司 | 数据传输方法及终端 |
-
2019
- 2019-07-05 CN CN201910606237.7A patent/CN110445639B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003296167A (ja) * | 2002-03-29 | 2003-10-17 | Fujitsu Social Science Laboratory Ltd | ファイル管理システムおよびファイル管理方法 |
CN101651691A (zh) * | 2009-08-31 | 2010-02-17 | 中兴通讯股份有限公司 | 一种网络系统、接入设备以及应用层服务接入方法 |
CN104639367A (zh) * | 2015-01-04 | 2015-05-20 | 中国联合网络通信集团有限公司 | 一种实现主备服务器切换的方法及系统 |
CN106649000A (zh) * | 2017-01-03 | 2017-05-10 | 星环信息科技(上海)有限公司 | 实时处理引擎的故障恢复方法及相应的服务器 |
CN107087021A (zh) * | 2017-03-30 | 2017-08-22 | 聚好看科技股份有限公司 | 主从服务器确定方法及装置 |
CN107979876A (zh) * | 2017-11-16 | 2018-05-01 | 广州市百果园网络科技有限公司 | 数据传输方法及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN110445639A (zh) | 2019-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109617956B (zh) | 一种数据处理方法和装置 | |
CN110475090B (zh) | 一种会议控制的方法和系统 | |
CN111193788A (zh) | 一种音视频流负载均衡方法和装置 | |
CN109120879B (zh) | 一种视频会议的处理方法和系统 | |
CN109587002B (zh) | 一种视联网监控设备的状态检测方法及系统 | |
CN109729388B (zh) | 视联网服务器切换方法和装置 | |
CN110557319B (zh) | 一种基于视联网的报文处理方法及装置 | |
CN109743284B (zh) | 一种基于视联网的视频处理方法及系统 | |
CN111224889A (zh) | 一种数据传输的方法和装置 | |
CN110445639B (zh) | 一种服务器的热备方法及装置 | |
CN110166363B (zh) | 一种组播链路监测方法及装置 | |
CN109698953B (zh) | 一种视联网监控设备的状态检测方法及系统 | |
CN109474661B (zh) | 一种网络请求事件的处理方法和系统 | |
CN110677315A (zh) | 一种状态监控的方法和系统 | |
CN110830817A (zh) | 视频转码容量调节方法及视频转码服务器 | |
CN110213533B (zh) | 一种视联网监控视频流的获取方法及装置 | |
CN110784683B (zh) | 一种监控资源的管理方法、装置及存储介质 | |
CN110166840B (zh) | 一种业务处理方法、系统及装置 | |
CN110445701B (zh) | 一种业务对象的处理方法、装置及存储介质 | |
CN110267110B (zh) | 一种基于视联网的并发点播处理方法和系统 | |
CN110099307B (zh) | 一种节点连接方法、视联网及计算机可读存储介质 | |
CN110177249B (zh) | 基于视联网的录像下载方法和装置 | |
CN110224853B (zh) | 控制系统 | |
CN110365930B (zh) | 一种数据处理方法和装置 | |
CN109474848B (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 |