一种数据传输方法、装置、网关设备及可读存储介质
技术领域
本发明涉及通信技术领域,尤其涉及一种数据传输方法、装置、网关设备及可读存储介质。
背景技术
对于实现网关设备的高可用性,通常做法是部署主备机或主备板卡,当主机出现负荷过载或突然掉电死机等意外情况,备机能尽可能快地顶替主机承担信令业务,尽量保证业务不中断。主备切换的快慢是HA(High Available,高可用性)高可用性正常实现的关键因素,而影响到切换快慢的因素在于M3UA(MTP3User Adaptation,MTP第三级用户的适配层协议)信令链路能否在备机以最快的速度建立起来。
现有技术中常用的做法是通过底层SCTP(Stream Control TransmissionProtocol,流控制传输协议)偶联备份和上层M3UA状态备份的方法快速备份信令链路。
上述方式虽然不需要重新进行信令交互来重建链路,但是由于技术原因,SCTP偶联备份实现起来遇到颇多困难,至少包括以下问题:第一,偶联相关参数具有实时性,必须频繁备份,稍有备份数据不一致就会导致备份后的SCTP偶联无法建立,尤其是针对备份数据的实时性要求比较高的业务如高频率业务,备份数据的实时性很难保证,网关设备的高可用性差;第二、由于网关设备与核心网侧的SCTP的主备态变更检测存在反应时间,当备机的SCTP由备态切换为主态时存在时间损耗,备机切换为主机时的时间消耗造成核心网发送信令业务尤其是高频率业务时感知到中断,网关设备的高可用性差。
发明内容
本发明提供了一种数据传输方法、装置、网关设备及可读存储介质,用以解决现有技术中主备切换时网关设备的高可用性差的问题。
本发明提供了一种数据传输方法,应用于网关设备,该方法包括:
如果所述网关设备的状态为备机,当识别到与作为备机的所述网关设备连接的主机发生故障时,将预先保存的所述主机的主机链路的状态置为断开态;
保持预先保存的作为备机的所述网关设备的备机链路的状态为激活态不变,其中作为备机的所述网关设备中存在至少一条备机链路与所述主机链路可达的目的信令点DPC相同;
将所述网关设备的状态由备机切换为主机,将所述备机链路切换为主机链路承担信令业务。
进一步地,作为备机的所述网关设备与所述主机之间连接有数据传输通道,识别与作为备机的所述网关设备连接的主机发生故障包括:
当识别到所述数据传输通道断开时,确定与所述网关设备连接的主机发生故障。
进一步地,如果所述网关设备的状态为备机,且与作为备机的所述网关设备连接的主机未发生故障,所述方法还包括:
如果接收到核心网发送的业务的第一下行信令,将所述第一下行信令通过所述数据传输通道发送给与作为备机的所述网关设备连接的主机。
进一步地,将所述备机链路切换为主机链路承担信令业务包括:
如果接收到业务的上行信令,根据所述上行信令中携带的目标DPC和选路关键字的信息,在切换后的主机链路中确定用于传输所述上行信令的目标链路;采用所述目标链路将所述上行信令发送给所述目标DPC;
如果通过所述备机链路接收到业务的第二下行信令,将所述第二下行信令发送给对应的基站。
进一步地,作为备机的网关设备与其连接的作为主机的网关设备上均配置有可达同一DPC的链路,且网关设备中可达同一DPC的链路归属于网关设备的同一链路集;
根据所述上行信令中携带的目标DPC和选路关键字的信息,在所述备机链路中确定用于传输所述上行信令的目标备机链路包括:
根据所述上行信令中携带的目标DPC的信息,及每个链路集可达的DPC,确定可达所述目标DPC的目标链路集;根据所述上行信令中携带的目标DPC和选路关键字的信息在所述目标链路集中确定用于传输所述上行信令的目标备机链路。
进一步地,所述方法还包括:
如果所述网关设备的状态为主机,当识别到作为主机的所述网关设备发生故障时,将预先保存的作为主机的所述网关设备的主机链路的状态置为断开态,并断开所述数据传输通道;
将所述网关设备的状态由主机切换为备机,将所述主机链路切换为备机链路。
进一步地,所述将所述网关设备的状态由主机切换为备机,将所述主机链路切换为备机链路之后,所述方法还包括:
如果所述备机重新与核心网建立了连接,将切换后的备机链路的状态置为激活态,并重新连接所述数据传输通道;
将切换后的备机链路已激活的信息发送给与所述备机连接的主机,使所述主机将自身保存的所述切换后的备机链路的状态置为激活态。
进一步地,可达的DPC相同的主机链路的数量与备机链路的数量相同。
本发明提供了一种数据传输装置,应用于网关设备,该装置包括:
状态更新模块,用于如果所述网关设备的状态为备机,当识别到与作为备机的所述网关设备连接的主机发生故障时,将预先保存的所述主机的主机链路的状态置为断开态;保持预先保存的作为备机的所述网关设备的备机链路的状态为激活态不变,其中作为备机的所述网关设备中存在至少一条备机链路与所述主机链路可达的目的信令点DPC相同;
传输模块,用于将所述网关设备的状态由备机切换为主机,将所述备机链路切换为主机链路承担信令业务。
进一步地,作为备机的所述网关设备与所述主机之间连接有数据传输通道,所述状态更新模块,还用于当识别到所述数据传输通道断开时,确定与所述网关设备连接的主机发生故障。
进一步地,如果所述网关设备的状态为备机,且与作为备机的所述网关设备连接的主机未发生故障,所述传输模块,还用于如果接收到核心网发送的业务的第一下行信令,将所述第一下行信令通过所述数据传输通道发送给与作为备机的所述网关设备连接的主机。
进一步地,所述传输模块,具体用于如果接收到业务的上行信令,根据所述上行信令中携带的目标DPC和选路关键字的信息,在切换后的主机链路中确定用于传输所述上行信令的目标链路;采用所述目标链路将所述上行信令发送给所述目标DPC;如果通过切换后的主机链路接收到业务的第二下行信令,将所述第二下行信令发送给对应的基站。
进一步地,作为备机的网关设备与其连接的作为主机的网关设备上均配置有可达同一DPC的链路,且网关设备中可达同一DPC的链路归属于网关设备的同一链路集;
所述传输模块,具体用于根据所述上行信令中携带的目标DPC的信息,及每个链路集可达的DPC,确定可达所述目标DPC的目标链路集;根据所述上行信令中携带的目标DPC和选路关键字的信息在所述目标链路集中确定用于传输所述上行信令的目标链路。
进一步地,所述状态更新模块,还用于如果所述网关设备的状态为主机,当识别到作为主机的所述网关设备发生故障时,将预先保存的作为主机的所述网关设备的主机链路的状态置为断开态,并断开所述数据传输通道;
所述传输模块,还用于将所述网关设备的状态由主机切换为备机,将所述主机链路切换为备机链路。
进一步地,所述传输模块,还用于如果所述备机重新与核心网建立了连接,将切换后的备机链路的状态置为激活态,并重新连接所述数据传输通道;将切换后的备机链路已激活的信息发送给与所述备机连接的主机,使所述主机将自身保存的所述切换后的备机链路的状态置为激活态。
进一步地,可达的DPC相同的主机链路的数量与备机链路的数量相同。
本发明提供了一种网关设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器中存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行上述任一项所述方法的步骤。
本发明提供了一种计算机可读存储介质,其存储有可由网关设备执行的计算机程序,当所述程序在所述网关设备上运行时,使得所述网关设备执行上述任一项所述方法的步骤。
本发明提供了一种数据传输方法、装置、网关设备及可读存储介质,该方法包括:如果所述网关设备的状态为备机,当识别到与作为备机的所述网关设备连接的主机发生故障时,将预先保存的所述主机的主机链路的状态置为断开态;保持预先保存的作为备机的所述网关设备的备机链路的状态为激活态不变,其中作为备机的所述网关设备中存在至少一条备机链路与所述主机链路可达的目的信令点DPC相同;将所述网关设备的状态由备机切换为主机,将所述备机链路切换为主机链路承担信令业务。本发明中不关注SCTP层,因此无需进行SCTP偶联参数的备份,避免了因备份数据不一致导致的偶联无法建立,并且主机故障时备机中处于激活态的备机链路能立即顶替主机链路与DPC连接,主备机切换过程中DPC永远可达,因此核心网感知不到中断,提高了网关设备的高可用性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1提供的一种数据传输过程的示意图;
图2为本发明实施例2提供的一种主机与备机之间的数据传输通道的示意图;
图3为本发明实施例3提供的一种主备切换前的数据传输过程的示意图;
图4为本发明实施例4提供的一种主备切换后的数据传输过程的示意图;
图5为本发明实施例6提供的一种主机A发生故障时主备切换过程中的工作示意图;
图6为本发明实施例8提供的一种链路配置的示意图;
图7为本发明实施例9提供的一种网关设备的结构示意图;
图8为本发明实施例提供的一种数据传输装置示意图。
具体实施方式
为了提高网关设备的高可用性,本发明实施例提供了一种数据传输方法、装置、网关设备及可读存储介质。
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
图1为本发明实施例提供的一种数据传输过程的示意图,该过程包括以下步骤:
S101:如果所述网关设备的状态为备机,当识别到与作为备机的所述网关设备连接的主机发生故障时,将预先保存的所述主机的主机链路的状态置为断开态。
本发明实施例提供的数据传输方法应用于网关设备,在不同的场景下,网关设备的状态可能为备机可能为主机,并且网关设备的状态为备机或主机时,执行相应的备机或主机的功能。
如果网关设备的状态为备机时,则存在至少一个与该作为备机的网关设备(本发明实施例中简称为备机)连接的主机,在此对与备机连接的主机的数量不做限定,通常情况下一台备机与一台主机连接。
为了提高网关设备的高可用性,如果网关设备的状态为备机时,备机能够识别到与其连接的主机是否发生了故障,具体地可以是备机和主机之间连接有数据传输通道,备机根据判断该数据传输通道的断开或连通确定主机是否发生了故障,也可以是备机通过接收到主机或其他设备发送的该主机已故障的信息,来确定主机是否发生了故障等。
备机确定与其连接的主机发生故障的时间点可以认为是主备机切换发生的时间点,因此下述过程可以理解为是主备机的切换过程。
备机中预先保存有与其连接的主机的主机链路的状态,主机链路为主机与DPC(Destination Point Code,目的信令点)之间的信令链路,具体地该信令链路可以为M3UA信令链路。当备机确定与其连接的主机未发生故障时,备机中预先保存的该主机的主机链路的状态为激活态,当备机识别到与其连接的主机发生故障时,备机将该主机的主机链路的状态置为断开态,即将预先保存的主机链路的状态由激活态更新为断开态。
备机将该主机的主机链路的状态置为断开态,具体将主机链路的状态置为SCTP断开态,以标记主机链路不可用。
S102:保持预先保存的作为备机的所述网关设备的备机链路的状态为激活态不变,其中作为备机的所述网关设备中存在至少一条备机链路与所述主机链路可达的目的信令点DPC相同。
备机中预先保存有自身的备机链路的状态,备机链路为备机与DPC之间的信令链路,具体地该信令链路可以为M3UA信令链路,备机中存在至少一条备机链路与主机链路可达的DPC相同。当备机确定与其连接的主机未发生故障时,备机中预先保存的自身的备机链路的状态为激活态,当备机识别到与其连接的主机发生故障时,备机保持自身的备机链路的状态为激活态不变,从而在主备切换过程中到核心网的DPC是永远可达的。
由于备机的备机链路的状态在主机发生故障前后均维持激活态不变,因此可以认为主备机切换过程中始终有备机的信令链路是可以正常业务的业务始终能走通,到核心网的DPC是永远可达,即使针对高频率业务,核心网也感知不到发生过HA切换,当然也不会感知到业务中断。
由于网关设备的状态为备机时,备机中保存有与其连接的主机的主机链路的状态,并保存有自身的备机链路的状态,相应地,网关设备的状态为主机时,主机中保存有自身的主机链路的状态,并保存有与其连接的备机的备机链路的状态,因此可以认为主机和备机中均能够获取对方的信令链路的状态,并将自身的信令链路的状态及对方的信令链路的状态进行统一保存和管理。
该数据传输方法中只需要能够实现主备机之间的信令链路状态的及时备份即可,由于主机或备机发生故障时,信令链路状态的状态才会发生变化,信令链路的状态发生变更的频率很小,因此不需要频繁交互,大大减少了资源的占用。
S103:将所述网关设备的状态由备机切换为主机,将所述备机链路切换为主机链路承担信令业务。
该作为备机的网关设备的状态由备机切换为主机,此时可以认为完成了主备机切换,即主备机切换过程结束,为了实现后续数据的传输,可以将该备机链路作为切换后的主机的主机链路承担信令业务,即作为状态由备机切换为主机的网关设备的主机链路承担信令业务。
下面以一个具体的实施例对本发明实施例进行说明,存在一个状态为主机的网关设备A(以下简称主机A),以及状态为备机的网关设备B(以下简称备机B),主机A为与备机B连接的主机,主机A中配置有链路1实体,即主机链路为链路1,因此保存有链路1状态,备机B中配置有链路2实体,即备机链路为链路2,因此保存有链路2状态,其中该链路1实体和链路2实体可达的DPC相同,并且主机A中保存有链路2状态,备机B中保存有链路1状态。当备机B识别到主机A发生故障时,将自身保存的链路1状态置为SCTP断开态,并保持自身的链路2状态为激活态不变,网关设备B的状态由备机切换为主机,即备机B切换为主机B,将原备机链路的链路2实体作为主机链路的链路2承担信令业务。进一步地,网关设备A的状态由主机切换为备机,即主机A切换为备机A,将原主机链路的链路1实体作为备机链路的链路1实体。
本发明实施例中不关注SCTP层,因此无需进行SCTP偶联参数的备份,避免了因备份数据不一致导致的偶联无法建立,并且主机故障时备机中处于激活态的备机链路能立即顶替主机链路与DPC连接,主备机切换过程中DPC永远可达,因此核心网感知不到中断,提高了网关设备的高可用性。
实施例2:
在上述实施例的基础上,本发明实施例中,作为备机的所述网关设备与所述主机之间连接有数据传输通道,识别与作为备机的所述网关设备连接的主机发生故障包括:
当识别到所述数据传输通道断开时,确定与所述网关设备连接的主机发生故障。
作为备机的网关设备(本发明实施例中简称为备机)与主机之间通过数据传输通道连接,备机可以通过识别到与主机之间的数据传输通道是否断开,来确定主机是否发生故障。
当备机识别到与主机之间连接的数据传输通道断开时,确定与自身连接的主机发生了故障,如果备机识别到与主机之间连接的数据传输通断未断开,确定与自身连接的主机未发生故障,由于备机能够及时识别到的与主机之间的数据传输通道是否断开,因此备机能够及时确定主机是否发生故障。
数据传输通道在本发明实施例中起到的作用主要包括同步主备机之间的链路状态,主备机任何一方的链路状态发生改变均能够触发该数据传输通道同步链路状态到对端。
还以上述实施例为例,主机A与备机B之间的数据传输通道如图2所示,链路1实体和链路2实体均为M3UA信令链路,主机A中包括业务模块和M3UA链路集1,主机A的M3UA链路集1中保存有链路1实体和链路2状态,备机B中包括业务模块和M3UA链路集1,备机B的M3UA链路集1中保存有链路1状态和链路2实体。
由于本发明实施例中作为备机的网关设备通过识别与主机之间连接的数据传输通道是否断开,能够更加及时地确定与其连接的主机是否发生故障,进一步提高了网关设备的高可用性。
实施例3:
在上述各实施例的基础上,本发明实施例中,如果所述网关设备的状态为备机,且与作为备机的所述网关设备连接的主机未发生故障,所述方法还包括:
如果接收到核心网发送的业务的第一下行信令,将所述第一下行信令通过所述数据传输通道发送给与作为备机的所述网关设备连接的主机。
当主机未发生故障时,网关设备的主备机状态不变,因此作为备机的网关设备(本发明实施例中简称备机)可能会接收到核心网发送的业务的第一下行信令,该备机可以通过数据传输通道将该第一下行信令发送给与其连接的主机,因此在此场景下,数据传输通道还可以起到信令转发的作用。
当与作为备机的网关设备连接的主机未发生故障时,核心网发送的业务的第一下行信令可能发送给该备机,可能发送给该主机。
如果是作为备机的网关设备接收到了核心网发送的业务的第一下行信令,则将该第一下行信令通过数据传输通道发送给该主机。
还以上述实施例为例,对本发明实施例进行说明,如图3所示,根据每个实体之间连接的箭头可知数据的流向,主机A中的业务模块与链路管理模块中的M3UA链路集1可以进行数据交互,主机A的M3UA链路集1中的链路1实体可以与交换机进行数据交互,从而实现与核心网的数据交互(具体为与核心网中DPC之间的数据交互);备机B的M3UA链路集1中的链路2实体可以通过交换机接收到核心网下发的业务的第一下行信令,备机B通过数据传输通道将下行报文即第一下行信令发送给主机A。
本发明实施例中的数据传输通道还可以实现数据的转发,因此在主机未发生故障时,备机可以通过数据传输通道将接收到的下行信令发生给主机,因此能够实现信令的及时处理。
实施例4:
在上述各实施例的基础上,本发明实施例中,将所述备机链路切换为主机链路承担信令业务包括:
如果接收到业务的上行信令,根据所述上行信令中携带的目标DPC和选路关键字的信息,在切换后的主机链路中确定用于传输所述上行信令的目标链路;采用所述目标链路将所述上行信令发送给所述目标DPC;
如果通过切换后的主机链路接收到业务的第二下行信令,将所述第二下行信令发送给对应的基站。
如果与作为备机的网关设备连接的主机发生了故障,且主备机切换过程完成后,状态切换为主机的网关设备中的信令链路作为切换后的主机链路承担信令业务,实现上行信令和下行信令的传输处理。
在网关设备的状态由备机切换为主机后,可以接收到业务的上行信令,该上行信令可以是基站发送给该切换为主机的网关设备的。
上行信令中携带的目标DPC和选路关键字的信息,切换为主机的网关设备如果接收到上行信令,可以根据上行信令中携带的目标DPC和选路关键字的信息,在切换后的主机链路中确定用于传输上传信令的目标链路,该目标链路可以理解为目标主机链路。
根据目标DPC和选路关键字,在至少一条链路中选取用于传输的目标链路的过程可以采用现有技术实现,在本发明实施例中不做赘述。
切换为主机的网关设备确定目标链路后,采用该目标链路将该上行信令发送给目标DPC,此时由于在切换后的主机链路中选取的目标链路为属于切换为主机的网关设备的链路,即切换为主机的网关设备的主机链路中确定用于传输上行信令的目标信令链路,相当于切换为主机的网关设备中的信令链路起到了主机链路承担信令业务的作用。
在网关设备的状态由备机切换为主机后,可以通过切换后的主机链路接收到业务的第二下行信令,该第二下行信令可以是与切换为主机的网关设备连接的备机发送的,可以是核心网通过交换机发送的等。
切换为主机的网关设备对应有基站,切换为主机的网关设备如果接收到第二下行信令,可以将该第二下行信令发送给对应的基站,此时由于通过备机链路接收到了业务的第二下行信令,相当于切换为主机的网关设备中的信令链路起到了主机链路承担信令业务的作用。
上述图3可以看作是主备切换前的数据传输过程,如图4所示为主备切换后的数据传输过程,在图4中主机A切换为了备机A,备机B切换为了主机B,根据每个实体之间连接的箭头可知数据的流向,主机B中的业务模块与链路管理模块中的M3UA链路集1可以进行数据交互,主机B的M3UA链路集2中的链路2实体可以与交换机进行数据交互,从而实现与核心网的数据交互(具体为与核心网中DPC之间的数据交互);备机A的M3UA链路集1中的链路1实体可以通过交换机接收到核心网下发的业务的第一下行信令,备机A通过数据传输通道将下行报文即下行信令发送给主机A。
由于本发明实施例中切换为主机的网关设备中的信令链路能够承担主机链路的信令业务,因此能够保证主备机切换过程中DPC永远可达,核心网感知不到中断,提高了网关设备的高可用性。
实施例5:
在上述各实施例的基础上,本发明实施例中,作为备机的网关设备与其连接的作为主机的网关设备上均配置有可达同一DPC的链路,且网关设备中可达同一DPC的链路归属于网关设备的同一链路集;
所述根据所述上行信令中携带的目标DPC和选路关键字的信息,在所述备机链路中确定用于传输所述上行信令的目标链路包括:
根据所述上行信令中携带的目标DPC的信息,及每个链路集可达的DPC,确定可达所述目标DPC的目标链路集;根据所述上行信令中携带的目标DPC和选路关键字的信息在所述目标链路集中确定用于传输所述上行信令的目标链路。
为了提高数据传输的效率,网关设备根据到核心网的DPC的数量划分出多个具有DPC链路集映射关系的链路集,且链路集ID唯一,在目标DPC对应的目标链路集中确定目标链路。
针对每条链路可达的DPC,将可达同一DPC的链路添加到同一链路集中,实现网关设备中链路的初始配置,并且作为备机的网关设备与作为主机的网关设备相互连接,作为备机的网关设备与作为主机的网关设备上均配置有可达同一DPC的链路。
由于划分了链路集,切换为主机的网关设备根据目标DPC和选路关键字的信息,在切换后的主机链路中确定目标链路时,根据上行信令中携带的目标DPC,及每个链路集可达的DPC,确定可达该目标DPC的目标链路集,然后根据上行信令中携带的目标DPC和选路关键字,在目标链路集中确定目标链路。
根据目标DPC和选路关键字,在至少一条链路中选取用于传输的目标链路的过程可以采用现有技术实现,在本发明实施例中不做赘述。
由于本发明实施例中在上行信令携带的目标DPC对应的目标链路集中确定目标链路,因此提高了数据传输的效率。
实施例6:
在上述各实施例的基础上,本发明实施例中,所述方法还包括:
如果所述网关设备的状态为主机,当识别到作为主机的所述网关设备发生故障时,将预先保存的作为主机的所述网关设备的主机链路的状态置为断开态,并断开所述数据传输通道;
将所述网关设备的状态由主机切换为备机,将所述主机链路切换为备机链路。
为了保证主机发生故障时DPC永远可达,核心网感知不到中断,提高网关设备的高可用性,本发明实施例中作为主机的网关设备在确定自身发生故障时,通过断开数据传输通道以通知作为备机的网关设备及时顶替主机承担信令业务。
如果网关设备的状态为主机,该状态为主机的网关设备可以是主备机初始启动时即为主机状态,可以是状态由备机切换为的主机状态。
作为主机的网关设备(本发明实施例中简称主机)可以识别到自身是否发生了故障,当识别到自身发生故障时,将预先保存的自身的主机链路的状态置为断开态,并断开数据传输通道,使与该主机连接的备机(即作为备机的网关设备)根据该数据传输通道的断开事件,确定主机发生故障,及时完成主备机切换。
作为主机的网关设备在断开数据传输通道后,为了进一步完成主备机切换,该作为主机的网关设备的状态由主机切换为备机,为了实现后续数据的传输,可以将该作为主机的网关设备的主机链路作为备机链路,即作为切换后的备机的备机链路。
图5为在图3的基础上,主机A发生故障时主备切换过程中的工作示意图,当主机A发生故障时,主机A将链路管理模块中的M3UA链路集1中的链路1实体的状态置为断开态,并断开与备机B之间的数据传输通道,此时故障的主机A无法与基站及核心网进行数据交互,故障的主机A状态切换为备机,备机B识别到数据传输通道断开时,确定主机A故障,进行后续备机B的状态切换为主机,顶替主机承担业务信令。
由于本发明实施例中作为主机的网关设备在确定自身发生故障时,通过断开数据传输通道以通知作为备机的网关设备及时顶替主机承担信令业务,保证了主机发生故障时DPC永远可达,核心网感知不到中断,提高网关设备的高可用性。
实施例7:
在上述各实施例的基础上,本发明实施例中,将所述网关设备的状态由主机切换为备机,将所述主机链路切换为备机链路之后,所述方法还包括:
如果所述备机重新与核心网建立了连接,将切换后的备机链路的状态置为激活态,并重新连接所述数据传输通道;
将切换后的备机链路已激活的信息发送给与所述备机连接的主机,使所述主机将自身保存的所述切换后的备机链路的状态置为激活态。
当切换为备机的网关设备重新与核心网建立了连接后,及时通过数据传输通道更新信令链路的状态,方便后续主机发生故障时的网关设备的高可用性。
如果切换为备机的网关设备(本发明实施例简称为备机)与核心网重新建立了连接,该备机将自身的备机链路即自身的信令链路的状态置为激活态,并重新建立该备机与其连接的主机之间的数据传输通道。
为了保证切换为主机的网关设备(本发明实施例简称为主机)能够及时获知到更新后的信令链路的状态,备机可以将其备机链路已激活的信息发送给该主机,具体地可以是通过数据传输通道发送备机链路已激活的信息,可以是通过其他设备发送备机链路已激活的信息。
此外,备机可以是主动将其备机链路已激活的信息发送给主机,可以是当接收到主机的获取链路状态的请求后,将其备机链路已激活的信息发送给主机。
主机接收到备机链路已激活的信息,将自身保存的该备机链路的状态置为激活态。
由于本发明实施例中当切换为备机的网关设备重新与核心网建立了连接后,及时通过数据传输通道更新信令链路的状态,方便后续主机发生故障时的网关设备的高可用性。
实施例8:
在上述各实施例的基础上,本发明实施例中,可达的DPC相同的主机链路的数量与备机链路的数量相同。
为了实现负荷分担,提高HA切换成功率,在本发明实施例中可达的DPC相同的主机链路的数量与备机链路的数量相同。
可以是在设置过程中主机和备机配有均等数量且链路ID唯一的M3UA链路,根据到核心网的DPC的数量划分出多个具有DPC链路集映射关系的M3UA信令链路集,且链路集ID唯一,M3UA信令链路集配置为负荷分担方式管理,每个信令链路集均要求包含等量的主机链路和备机链路。
需要注意的是,在如交换机故障导致备机的链路也全部断开从而切换后无链路可用等特例情况下,本发明实施例中提供的数据传输方式均能够实现,HA切换成功率极高。
具体地可以是如图6所示,在初始配置时,可达DPC1的链路集对应为M3UA链路集1,把奇数ID的信令链路配置在主机A上,即链路1实体、链路3实体、链路5实体和链路7实体配置在主机A上,把偶数ID的信令链路配置为备机B上,即链路2实体、链路4实体、链路6实体和链路8实体配置在备机B上。
切换前要求主机A和备机B启动后都确保M3UA信令链路建立至激活态,主机A和备机B均能获取对方的M3UA链路状态,用以对DPC可达状态、链路集和链路状态进行统一管理,两台机均会产生一张链路状态管理表,即除保存自身链路的状态外,主机A中还保存有备机B的链路2状态、链路4状态、链路6状态和链路8状态,备机B中还保存有主机A的链路1状态、链路3状态、链路5状态和链路7状态。主备机AB之间会有一条数据传输通道来确保链路状态的同步。
主机A和备机B,两台机上都包含业务模块和链路管理模块,当有信令业务通过基站到达主机A信令处理模块,主机A中的业务模块传输的信令会携带DPC和选路关键字,链路管理模块根据DPC和选路关键字查询链路状态管理表,选出一条位于主机上并指向目标DPC的激活态链路进行业务传输到核心网。当核心网选择回包的链路路由到了网关的备机B上,备机B会将收到的回包通过数据传输通道发送给主机A处理,主机A再将结果回给基站;当核心网选择回包的链路路由到了网关的主机A上,则正常回包给基站。
主机A发生故障时,主机M3UA信令链路全部主动断开SCTP层连接让核心网认为不可用,主备机间的数据传输通道也会断开,备机B根据通道断开事件触发将备机B保存的主机链路状态全部置为SCTP断开态标记这些链路已经不可用了,但是备机B自身信令链路状态维持激活态不变,整个切换中过程始终有备机B的链路是可以正常业务的,不会感知到业务中断。
备机B切换为主机B时及切换为主机B后,信令业务会选择新的主机B上的M3UA链路和核心网交互,整个切换过程到核心网的DPC是永远可达的。当备机A被重新拉起后会重新建立和核心网的M3UA信令连接置激活态,同时备机A和主机B也会互相同步链路状态到对方进行保存管理。
由于本发明实施例中可达的DPC相同的主机链路的数量与备机链路的数量相同,能够实现负荷分担,提高HA切换成功率。
实施例9:
在上述各实施例的基础上,本发明实施例还提供了一种网关设备700,如图7所示,包括:处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信;
所述存储器703中存储有计算机程序,当所述程序被所述处理器701执行时,使得所述处理器701执行上述任一实施例。
上述网关设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口702用于上述网关设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括中央处理器、网络处理器(NetworkProcessor,NP)等;还可以是数字指令处理器(Digital Signal Processing,DSP)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
实施例10:
在上述各实施例的基础上,本发明实施例还提供了一种计算机存储可读存储介质,所述计算机可读存储介质内存储有可由网关设备执行的计算机程序,当所述程序在所述网关设备上运行时,使得所述网关设备执行时实现上述任一实施例。
上述计算机可读存储介质可以是网关设备中的处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器如软盘、硬盘、磁带、磁光盘(MO)等、光学存储器如CD、DVD、BD、HVD等、以及半导体存储器如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD)等。
图8为本发明实施例提供的一种数据传输装置示意图,应用于网关设备,该装置包括:
状态更新模块81,用于如果所述网关设备的状态为备机,当识别到与作为备机的所述网关设备连接的主机发生故障时,将预先保存的所述主机的主机链路的状态置为断开态;保持预先保存的作为备机的所述网关设备的备机链路的状态为激活态不变,其中作为备机的所述网关设备中存在至少一条备机链路与所述主机链路可达的目的信令点DPC相同;
传输模块82,用于将所述网关设备的状态由备机切换为主机,将所述备机链路切换为主机链路承担信令业务。
作为备机的所述网关设备与所述主机之间连接有数据传输通道,所述状态更新模块81,还用于当识别到所述数据传输通道断开时,确定与所述网关设备连接的主机发生故障。
如果所述网关设备的状态为备机,且与作为备机的所述网关设备连接的主机未发生故障,所述传输模块82,还用于如果接收到核心网发送的业务的第一下行信令,将所述第一下行信令通过所述数据传输通道发送给与作为备机的所述网关设备连接的主机。
所述传输模块82,具体用于如果接收到业务的上行信令,根据所述上行信令中携带的目标DPC和选路关键字的信息,在切换后的主机链路中确定用于传输所述上行信令的目标链路;采用所述目标链路将所述上行信令发送给所述目标DPC;如果通过切换后的主机链路接收到业务的第二下行信令,将所述第二下行信令发送给对应的基站。
作为备机的网关设备与其连接的作为主机的网关设备上均配置有可达同一DPC的链路,且网关设备中可达同一DPC的链路归属于网关设备的同一链路集;
所述传输模块82,具体用于根据所述上行信令中携带的目标DPC的信息,及每个链路集可达的DPC,确定可达所述目标DPC的目标链路集;根据所述上行信令中携带的目标DPC和选路关键字的信息在所述目标链路集中确定用于传输所述上行信令的目标链路。
所述状态更新模块81,还用于如果所述网关设备的状态为主机,当识别到作为主机的所述网关设备发生故障时,将预先保存的作为主机的所述网关设备的主机链路的状态置为断开态,并断开所述数据传输通道;
所述传输模块82,还用于将所述网关设备的状态由主机切换为备机,将所述主机链路切换为备机链路。
所述传输模块82,还用于如果所述备机重新与核心网建立了连接,将切换后的备机链路的状态置为激活态,并重新连接所述数据传输通道;将切换后的备机链路已激活的信息发送给与所述备机连接的主机,使所述主机将自身保存的所述切换后的备机链路的状态置为激活态。
可达的DPC相同的主机链路的数量与备机链路的数量相同。
本发明实施例中不关注SCTP层,因此无需进行SCTP偶联参数的备份,避免了因备份数据不一致导致的偶联无法建立,并且主机故障时备机中处于激活态的备机链路能立即顶替主机链路与DPC连接,主备机切换过程中DPC永远可达,因此核心网感知不到中断,提高了网关设备的高可用性。
对于系统/装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者一个操作与另一个实体或者另一个操作区分开来,而不一定要求或者暗示这些实体或者操作之间存在任何这种实际的关系或者顺序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。