APP下载

复杂通信设备关键板卡热备份技术研究与应用*

2020-08-14施彦媛

通信技术 2020年8期
关键词:板卡增量备份

胡 鹏,康 敏,施彦媛

(中国电子科技集团公司第三十研究所,四川 成都 610041)

0 引言

随着通信技术的发展和高带宽需求,通信设备往大容量、高性能发展。现代高性能通信设备一般是基于分布式处理的体系架构进行设计,设备内部由多个功能相对独立的板卡组成,这些板卡在软硬件设计、功能实现上均很复杂[1],在一定程度上增加了故障发生率,为了将故障对通信网络的影响降低到最小,通过关键板卡热备份技术来提高核心设备的可靠性。本文提出了一套高效易用的热备份机制(HSP,Hot Standby Protocol),能够在保证不影响业务处理前提下,平滑排除故障,恢复正常功能[2]。

1 热备份通信机制现状分析

目前,设备热备份机制没有标准可供遵循,基本都是按设备应用场景具体情况进行设计,总的来说主要可以分为以下两种方式。

方式1:基于存储设备方式,两台需要热备的设备使用共享存储设备,两台服务器可以采用主备、并行等不同的运行方式。但是在基于共享存储设备方式中,存在存储设备故障问题。

方式2:基于数据复制设备方式,两台服务器将数据实时复制到另外一台服务器上,服务器上都存有数据,如果一台服务器出现故障,则可以切换到另外一台服务器。但是没有共享存储设备软件,针对不同的应用场景,单独设计不同的热备通信架构,接口众多且格式不统一,新增功能对整个系统影响大,扩展性差,无法满足复杂通信设备的要求。

2 设备系统结构介绍

复杂通信设备系统结构示意如图1所示,设计有多种功能板卡。例如,网管板支持将整机设备数据上传给网管服务器;主控板进行整机控制管理,交换板用于信令业务数据转发;信令板完成信令协议处理等。各个板卡之间存在大量通信信息交互,其中主控板[3]、交换板、信令板是整个设备中的核心板卡,如果核心板卡一旦出现故障,则整个通信设备处于不工作状态,因此将核心板卡设计为主备板卡,确保某一块板卡出现故障后自动切换到另外一块进行工作。

图1 复杂通信设备系统结构

通过研究现有的热备份机制[4]发现其存在不足,并不能有效的实现此功能,我们需要对基于存储设备、数据复制等热备技术加以改进,形成一套用于复杂设备的关键板卡热备份有效机制(HSP),实现整机设备功能高效可靠运行。

复杂通信设备中各热备板卡的动态插拔、自动切换、数据热备同步等消息均通过下层的HSP服务框架进行传递,从而实现板卡的热备和系统的可靠运行。

3 热备份技术

HSP提出的主要目的是向上层应用屏蔽通信设备内部物理连接关系,不用关心提供的服务模块在那块板卡上以及通过什么物理接口,各板卡可通过灵活配置支持不通的功能。HSP相关术语定义如下。

模块标识:HSP实体提供服务的标识,每类模块唯一分配一个模块标识,供应用协议调用。

服务主用者:提供HSP服务的主用实体,简称主用者。

服务备用者:提供HSP服务的备用实体,简称备用者。

通信对等体:进行热备份通信的主用者与备用者,主用者模块标识号与备用者模块标识号是一一对应关系。

热备项:每个模块标识下注册的不同数据同步项。

3.1 协议架构

关键板卡热备份技术通过自定义协议操作[5],根据上层应用的热备需求,为应用预分配动态、静态同步热备项标识,建立起对等体间的主备同步关系,为对等体间传输数据提供传输通道。其协议架构如图2所示,为上层应用提供相应的注册接口、数据同步调用接口,向下直接使用链路层协议承载,屏蔽下层通信细节,为上层应用协议完成信息收发。

3.2 协议报文格式

热备份协议通过收发HSP消息实现。HSP协议采用链路层协议作为下层传输机制。HSP消息由消息头和消息体构成。消息头格式如图3所示。

VER:HSP协议版本。

MODULE:上层应用注册的模块ID,主用者与备用者一一对应。

TYPE:标识HSP不同的报文类型。不同的报文,消息体的内容不同。

OPT:保留字段。

图2 热备份技术在协议体系的位置

图3 HSP报文格式

SEQ:基于报文的递增数,可用于区分不同的消息。

ID:模块下进行数据热备的热备项号。

SUB_ID:每个热备项下的热备子项号。

LEN:用于标识热备负载消息长度。

3.3 协议报文类型

HSP协议包括14个自定义的消息数据报文,分别为请求同步数据消息(SynAsk),请求同步数据确认消息(SynAskCon),同步数据消息(Syn),同步数据确认消息(SynCon),同步数据完成消息(SynDone),同步数据完成确认(SynDoneCon),同步数据全部接收消息(SynAllRecv),同步数据全部接收确认消息(SynAllRecvCon),同步增量数据消息(SynNew),同步增量数据确认消息(SynNewCon),同步增量数据完成消息(SynNewDone),同步增量数据完成确认(SynNewDoneCon),同步业务消息(SynTra),同步业务确认消息(SynTraCon)。

SynAsk由备用者发送,备用者根据上层应用注册的模块ID以及数据热备项,每一个热备项均向主用者发送请求同步数据消息。

SynAskCon由主用者发送,对备用者发送的请求同步项消息进行确认,判断当前热备项是否存在。

Syn由主用者发送,主用者将每个数据热备项内容进行封装发送到备用者。

SynCon由备用者发送,备用者接收解析同步数据内容后向主用者发送确认消息。

SynDone由主用者发送,主用者收到备用者发送的数据同步确认消息后,判断本模块下热备项是否同步完成,同步完成之后向备用者发送本模块数据同步完成消息。

SynDoneCon由备用者发送,备用者收到此消息后判断备用者本模块下是否热备项完成,完成则向主用者发送确认消息。

SynAllRecv由备用者发送,备用者判断本板卡下所有模块热备项均完成,则向主用者发送此消息。

SynAllRecvCon由主用者发送,主用者收到此消息后确认所有数据已经同步完到备用板。

SynNew由主用者发送,主用者将前阶段同步数据过程中产生变化的数据通过此同步增量数据消息同步到备用板。

SynNewCon由备用者发送,备用者接收解析增量同步数据内容后向主用者发送确认消息。

SynNewDone由主用者发送,主用者收到备用者发送的同步增量数据确认消息后,判断本模块下其它热备项是否完成,同步完成之后向备用者发送本模块增量数据同步完成消息。

SynNewDoneCon由备用者发送,备用者收到此消息后判断备用者本模块下热备项同步增量数据是否完成,完成则向主用者发送确认消息。

SynTra由主用者发送,数据同步完成之后,在运行过程中当主用者数据产生变化,则通过此消息向备用者同步变化数据。

SynTraCon由备用者发送,备用者接收解析同步数据内容后向主用者发送确认消息。

3.4 协议流程

热备份实体互操作流程如图4所示,主要过程分为4个阶段—主备发现、静态同步、静态增量同步、动态同步。

3.4.1 主备发现

板卡上电后,由其它软件模块从硬件读取当前板卡主备状态,并调用热备份模块中指定的主备函数接口来通知热备份模块当前工作主备状态。

运行过程中,通过定时器监测板卡硬件主备状态,并调用主备函数接口来通知热备份模块当前工作主备状态,确保板卡切换后热备份工作正常。

3.4.2 静态同步

静态同步发生在软件模块初始化阶段,此过程主要目的是将主用板卡上相关软件模块的状态信息同步到备用板卡上对应的软件模块,使得两者之间的状态信息完全同步,保障备用板卡上软件模块可以在此状态信息的基础上稳定运行。

3.4.3 静态增量同步

静态增量同步发生在软件模块初始化阶段,主要目的是将静态同步阶段中,主用板卡软件模块产生变化的状态信息再一次同步到备用板卡上对应软件模块,使得两者之间的状态信息完全同步,此过程同步时间相对于静态同步时间大大减少。

3.4.4 动态同步

动态同步发生在软件模块正常运行过程中。此过程主要目的是将主用板卡在运行过程中产生或改变的状态信息及时同步到备用板卡上,以使得备用板卡与主用板卡的状态时刻保持一致。保证备用板卡上软件模块可以在此状态信息的基础上稳定运行。

3.5 协议状态机

3.5.1 主用者状态机

HSP主用者在静态同步、静态增量同步过程中有4个状态,分别是S_NON、S_SND1、S_SND2、S_DON2。如图5所示:

S_NONE:主用者初始状态。

S_SND1:发送静态数据状态。主用者向备用者发送同步数据消息后,从S_NONE状态进入该状态。当备用者下线时,回到S_NONE状态。

S_SND2:发送静态增量数据状态。主用者向备用者发送同步增量数据消息后,从S_SND1状态进入该状态。当备用者下线时,回到S_NONE状态。

S_DON2:静态增量数据完成状态。主用者收到备用者发送的同步增量数据确认消息后,从S_SND2状态进入该状态。当主备切换、备用者下线时,回到S_NONE状态。

图4 HSP热备实体互操作流程

图5 HSP主用者状态机

3.5.2 备用者状态机

HSP备用者在静态同步、静态增量同步过程中有6个状态,分别是S_NON、S_ASK、S_REV1、S_DON1、S_REV2、S_DON2。如图6所示。

S_NON:备用者初始状态。

S_ASK:请求状态。备用者向主用者发送请求同步数据消息后。从S_NONE状态进入该状态。当主用者下线时,回到S_NONE状态。

S_REV1:收静态数据状态。备用者收到主用者发送的同步数据消息后。从S_ASK状态进入该状态。当主用者下线时,回到S_NONE状态。

S_DON1:静态数据完成状态。备用者收到主用者发送的同步数据完成消息后,从S_REV1状态进入该状态。当主用者下线时,回到S_NONE状态。

S_REV2:收静态增量数据状态。备用者收到主用者发送的同步增量数据消息后,从S_DON1状态进入该状态。当主用者下线时,回到S_NONE状态。

S_DON2:静态增量数据完成状态。备用者收到主用者发送的同步增量数据完成消息后,从S_REV2状态进入该状态。当主备切换、备用者下线时,回到S_NONE状态。

图6 HSP备用者状态机

4 结语

关键板卡热备份技术支持复杂通信设备在保证不影响业务处理前提下,平滑排除故障,自动切换恢复正常功能。能够大幅提高通信设备的稳定性、可靠性,进而提升整个通信网络的稳定、可靠性。同时热备份技术具备智能化设计思想、对外接口统一、模块化和扩展性好等特点,在多个设备上已推广使用。

猜你喜欢

板卡增量备份
浅谈数字化条件下的数据备份管理
导弹增量式自适应容错控制系统设计
提质和增量之间的“辩证”
全现款操作,年增量1千万!这家GMP渔药厂为何这么牛?
车载控制器CVRE板卡显红故障分析及处理
创建vSphere 备份任务
Windows10应用信息备份与恢复
特大城市快递垃圾增量占垃圾增量93%
基于组态王软件和泓格PIO-D64 板卡的流水灯控制
旧瓶装新酒天宫二号从备份变实验室