软件升级方法及系统与流程

文档序号:24539434发布日期:2021-04-02 10:22阅读:186来源:国知局
软件升级方法及系统与流程

本申请涉及通信技术领域,特别涉及一种软件升级方法及系统。



背景技术:

长期演进(longtermevolution,lte)架构中的演进型分组核心(evolvedpacketcore,epc)系统包含了多种网元,网元间通过接口协议进行通信,主要提供移动声音和数据的处理以及交换功能。在实现各种网元的分布式部署时,通常将每个网元部署成多个安装有相同的业务软件的业务服务器,并设置流裁决器,这样,可以通过流裁决器决定将业务转发给哪个业务服务器进行处理。

当需要对业务软件进行更新时,epc系统中的系统管理器控制所有业务服务器断开与所有用户设备的连接,再控制每个业务服务器将安装的业务软件由第一版本升级为第二版本,在所有业务服务器中的业务软件升级成功后,流裁决器接收用户设备发送的业务请求,将业务请求转发给升级后的业务服务器。

由于无法使用现网的业务数据对第二版本的业务软件进行验证,所以,第二版本的业务软件中潜在的漏洞会在上线后暴露,从而导致全部的业务中断。另外,在业务中断后,还需要将业务服务器中的业务软件由第二版本回退到第一版本,回退过程也会导致全部的业务中断。



技术实现要素:

为了解决升级过程中潜在的漏洞导致全部的业务中断以及回退导致全部的业务中断的问题,本申请提供了一种软件升级方法及系统。

第一方面,提供了一种软件升级方法,用于epc系统中,epc系统包括系统管理器、流裁决器、第一业务服务器和第二业务服务器,第一业务服务器和第二业务服务器中安装有业务软件的第一版本;该方法包括:系统管理器控制第二业务服务器将安装的业务软件由第一版本升级到第二版本,控制流裁决器将第一业务服务器上的业务数据流包含的业务流标识设置为指示第二业务服务器,并控制第一业务服务器将第一业务服务器上包含业务流标识的业务数据流转移到第二业务服务器上;流裁决器接收用户设备发送的业务数据流,根据业务数据流中的业务流标识将业务数据流转发给第二业务服务器;在第二业务服务器稳定后,系统管理器控制第一业务服务器将安装的业务软件由第一版本升级到第二版本。

通过对承载少量用户的第二业务服务器中安装的业务软件进行升级,这样,即使第二版本的业务软件中潜在的漏洞暴露,也只会导致升级后的第二业务服务器上承载的少量用户的业务中断,承载大量用户的第一业务服务器上的业务还是会在第一业务服务器上正常运行,可以避免对所有的业务服务器中安装的业务软件进行升级后,潜在的漏洞暴露时全部的业务中断的问题,还可以避免回退时全部的业务中断的问题,可以保证业务的连续性。在升级后的第二业务服务器稳定时,再逐步控制剩余的第一业务服务器对安装的业务软件进行升级,这也可以看成是利用现网的业务数据对业务软件进行验证,从而保证了epc系统的稳定性。

对于某些不下线的用户设备来说,通过将第一业务服务器上的业务数据流转移至升级后的第二业务服务器,而不是通过断开与这些用户设备的连接来使这些用户设备重新接入epc系统,可以保证业务的连续性,提升用户的体验。

通过业务流标识来指示将业务数据流转发给第一业务服务器还是升级后的第二业务服务器,可以避免专门设置新的信令来传输业务流标识时,导致信令开销大的问题,可以节省信令开销。

在一种可能的实现方案中,该方法还包括:流裁决器接收用户设备发送的业务请求,将业务请求转发给第二业务服务器;第二业务服务器为用户设备的业务请求分配业务流标识;流裁决器接收用户设备发送的业务数据流,根据业务数据流中的业务流标识将业务数据流转发给第二业务服务器。

通过将首次接入epc系统的用户设备发送的业务请求转发给升级后的第二业务服务器,可以避免将该业务请求转发给第一业务服务器时,后续需要升级该第一业务服务器中安装的业务软件时,需要将该用户设备发送的业务数据流转移到升级后的第二业务服务器的问题,可以简化软件的升级方案。

通过先将新接入epc系统的用户设备发送的业务数据流转发给升级后的第二业务服务器,再迁移第一业务服务器上业务数据流,实现分批迁移业务数据流,可以避免将所有业务数据流一次性迁移至升级后的第二业务服务器,潜在的漏洞暴露时全部的业务中断的问题,还可以避免回退时全部的业务中断的问题。在升级后的第二业务服务器稳定时,再逐步增加转发给升级后的第二业务服务器处理的业务数据流,从而保证了epc系统的稳定性。

在一种可能的实现方案中,该方法还包括:第二业务服务器获取分配的业务流标识的取值区间,不同版本业务软件的业务流标识的取值区间不同;第二业务服务器为用户设备的业务请求分配业务流标识,包括:第二业务服务器从取值区间中选取一个数值,作为业务流标识。

在一种可能的实现方案中,该方法还包括:流裁决器获取用户设备的属性信息,当该属性信息指示该用户设备属于预设用户群时,触发执行将该业务请求转发给第二业务服务器的步骤;当属性信息指示该用户设备不属于预设用户群时,将该业务请求转发给第一业务服务器。

当预设用户群是友好用户群时,通过友好用户试用第二版本的业务软件,这样,即使该第二版本的业务软件中潜在的漏洞暴露导致业务中断,友好用户也不会投诉,可以保证epc系统的信誉。

在一种可能的实现方案中,在系统管理器控制第二业务服务器将安装的业务软件由第一版本升级到第二版本之后,该方法还包括:在第二业务服务器发生异常后,系统管理器控制第二业务服务器将安装的业务软件由第二版本回退到第一版本。

第一,当第二业务服务器发生异常是指处理业务数据流异常时,第二业务服务器将第二业务服务器中的业务数据流迁移到第一业务服务器,系统管理器控制第二业务服务器将安装的业务软件由第二版本回退到第一版本。

第二,当第二业务服务器发生异常是指第二业务服务器崩溃时,系统管理器控制第二业务服务器将安装的业务软件由第二版本回退到第一版本。

由于只要控制第二业务服务器将业务软件回退到第一版本,可以加快回退速度且不造成事故。

在一种可能的实现方案中,业务请求包括控制面的业务请求和用户面的业务请求,业务数据流包括控制面的业务数据流和用户面的业务数据流。

在一种可能的实现方案中,控制面的协议包括:通用分组无线业务gprs隧道协议-控制面gtp-c、流控制传输协议sctp、代理移动因特网协议ippmip、s1接口应用协议s1-ap、无线接入网络应用部分ranap;用户面的协议包括:gprs隧道协议-用户面gtp-u或ip。

第二方面,提供了一种演进型分组核心epc系统,其特征在于,epc系统包括系统管理器、流裁决器、第一业务服务器和第二业务服务器,第一业务服务器和第二业务服务器中安装有业务软件的第一版本;

系统管理器,用于控制第二业务服务器将安装的业务软件由第一版本升级到第二版本,控制所述流裁决器将所述第一业务服务器上的业务数据流包含的业务流标识设置为指示所述第二业务服务器,并控制所述第一业务服务器将所述第一业务服务器上包含所述业务流标识的业务数据流转移到所述第二业务服务器上;流裁决器,还用于接收用户设备发送的业务数据流,根据业务数据流中的业务流标识将业务数据流转发给第二业务服务器;系统管理器,还用于在第二业务服务器稳定后,控制第一业务服务器将安装的业务软件由第一版本升级到第二版本。

通过对承载少量用户的第二业务服务器中安装的业务软件进行升级,这样,即使第二版本的业务软件中潜在的漏洞暴露,也只会导致升级后的第二业务服务器上承载的少量用户的业务中断,承载大量用户的第一业务服务器上的业务还是会在第一业务服务器上正常运行,可以避免对所有的业务服务器中安装的业务软件进行升级后,潜在的漏洞暴露时全部的业务中断的问题,还可以避免回退时全部的业务中断的问题,可以保证业务的连续性。在升级后的第二业务服务器稳定时,再逐步控制剩余的第一业务服务器对安装的业务软件进行升级,这也可以看成是利用现网的业务数据对业务软件进行验证,从而保证了epc系统的稳定性。

对于某些不下线的用户设备来说,通过将第一业务服务器上的业务数据流转移至升级后的第二业务服务器,而不是通过断开与这些用户设备的连接来使这些用户设备重新接入epc系统,可以保证业务的连续性,提升用户的体验。

通过业务流标识来指示将业务数据流转发给第一业务服务器还是升级后的第二业务服务器,可以避免专门设置新的信令来传输业务流标识时,导致信令开销大的问题,可以节省信令开销。

在一种可能的实现方案中,流裁决器,还用于获取用户设备的属性信息;当属性信息指示用户设备属于预设用户群时,触发执行将业务请求转发给第二业务服务器的步骤;当属性信息指示用户设备不属于预设用户群时,流裁决器,还用于将业务请求转发给第一业务服务器。

通过友好用户试用第二版本的业务软件,这样,即使该第二版本的业务软件中潜在的漏洞暴露导致业务中断,友好用户也不会投诉,可以保证epc系统的信誉。

在一种可能的实现方案中,第二业务服务器,还用于获取分配的业务流标识的取值区间,不同版本业务软件的业务流标识的取值区间不同;第二业务服务器,还用于从取值区间中选取一个数值,作为业务流标识。

在一种可能的实现方案中,流裁决器,用于接收用户设备发送的业务请求,将业务请求转发给第二业务服务器;第二业务服务器,用于为用户设备的业务请求分配业务流标识;;流裁决器,还用于接收用户设备发送的业务数据流,根据业务数据流中的业务流标识将业务数据流转发给第二业务服务器,并将第一业务服务器上包含业务流标识的业务数据流转移到第二业务服务器上。

通过将首次接入epc系统的用户设备发送的业务请求转发给升级后的第二业务服务器,可以避免将该业务请求转发给第一业务服务器时,后续需要升级该第一业务服务器中安装的业务软件时,需要将该用户设备发送的业务数据流转移到升级后的第二业务服务器的问题,可以简化软件的升级方案。

通过先将新接入epc系统的用户设备发送的业务数据流转发给升级后的第二业务服务器,再迁移第一业务服务器上业务数据流,实现分批迁移业务数据流,可以避免将所有业务数据流一次性迁移至升级后的第二业务服务器,潜在的漏洞暴露时全部的业务中断的问题,还可以避免回退时全部的业务中断的问题。在升级后的第二业务服务器稳定时,再逐步增加转发给升级后的第二业务服务器处理的业务数据流,从而保证了epc系统的稳定性。

在一种可能的实现方案中,第二业务服务器,还用于获取分配的业务流标识的取值区间,不同版本业务软件的业务流标识的取值区间不同;第二业务服务器,还用于从取值区间中选取一个数值,作为业务流标识。

在一种可能的实现方案中,流裁决器,还用于获取用户设备的属性信息,当该属性信息指示该用户设备属于预设用户群时,触发执行将该业务请求转发给第二业务服务器的步骤;当属性信息指示该用户设备不属于预设用户群时,将该业务请求转发给第一业务服务器。

当预设用户群是友好用户群时,通过友好用户试用第二版本的业务软件,这样,即使该第二版本的业务软件中潜在的漏洞暴露导致业务中断,友好用户也不会投诉,可以保证epc系统的信誉。

在一种可能的实现方案中,系统管理器,还用于在控制第二业务服务器将安装的业务软件由第一版本升级到第二版本之后,若第二业务服务器发生异常,则控制第二业务服务器将安装的业务软件由第二版本回退到第一版本。

第一,当第二业务服务器发生异常是指处理业务数据流异常时,第二业务服务器,还用于将第二业务服务器中的业务数据流迁移到第一业务服务器,系统管理器,还用于控制第二业务服务器将安装的业务软件由第二版本回退到第一版本。

第二,当第二业务服务器发生异常是指第二业务服务器崩溃时,系统管理器,还用于控制第二业务服务器将安装的业务软件由第二版本回退到第一版本。

由于只要控制第二业务服务器将业务软件回退到第一版本,可以加快回退速度且不造成事故。

在一种可能的实现方案中,业务请求包括控制面的业务请求和用户面的业务请求,业务数据流包括控制面的业务数据流和用户面的业务数据流。

在一种可能的实现方案中,控制面的协议包括:通用分组无线业务gprs隧道协议-控制面gtp-c、流控制传输协议sctp、代理移动因特网协议ippmip、s1接口应用协议s1-ap、无线接入网络应用部分ranap;用户面的协议包括:gprs隧道协议-用户面协议gtp-u或ip。

附图说明

图1是本申请一示例性实施例提供的lte系统结构示意图;

图2是本申请一示例性实施例提供的网元的结构示意图;

图3是本申请一示例性实施例提供的相关技术中的软件升级的示意图;

图4是本申请一示例性实施例提供的软件升级方法的流程图;

图5是本申请一示例性实施例提供的流裁决器在协议单元上的分布示意图;

图6是本申请一示例性实施例提供的用户设备发送的业务请求的处理路径的示意图;

图7是本申请一示例性实施例提供的用户设备发送的业务数据流的处理路径的示意图;

图8是本申请一示例性实施例提供的本申请中的软件升级的示意图;

图9是本申请一示例性实施例提供的软件升级装置的结构图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

在本文中提及的“单元”是指按照逻辑划分的功能性结构,该“单元”可以由纯硬件实现,或者,软硬件的结合实现。

请参考图1,其示出了本申请一个示例性实施例提供的lte系统100的结构示意图。该lte系统100包括:用户设备(英文:userequipment;简称:ue)、演进的umts陆地无线接入网(英文:evolvedumtsterrestrialradioaccessnetwork;简称:e-utran)、umts陆地无线接入网(英文:umtsterrestrialradioaccessnetwork;简称:utran)、gsm/edge无线接入网(英文:gsm/edgeradioaccessnetwork;简称:geran)、epc系统和因特网协议(internetprotocol,ip)服务。其中,epc系统包括如下网元:移动性管理网元(英文:mobilitymanagemententity;简称:mme)、服务网关(英文:servinggateway;简称:s-gw)、分组数据网络网关实体(英文:packetdatanetworkgateway;简称:p-gw)、策略和计费规则功能单元(英文:policyandchargingrulefunction;简称:pcrf)、归属网络服务器(英文:homesubscriberserver;简称:hss)、服务通用分组无线业务支持节点(英文:servinggprssupportingnode;简称:sgsn)、设备标识寄存器(equipmentidentityregister,eir)和公共搜索空间(commonsearchspace,css)。

其中,e-utran用于实现与无线演进网络有关的功能;mme负责控制面的移动性管理,如用户上下文和移动状态管理以及分配用户临时身份标识等;s-gw是第三代合作伙伴计划(英文:3rdgenerationpartnerproject;简称:3gpp)接入网络间的用户面锚点;p-gw是3gpp接入网络和非3gpp接入网络之间的用户面锚点,以及外部分组数据网络(英文:packetdatanetwork;简称:pdn)的接口;pcrf用于策略控制规则的制定以及基于流的计费;hss用于存储用户签约信息;ue通过e-utran与sae进行控制面与用户面交互的用户终端设备。utran、geran用于实现所有与现有gprs/umts网络中与无线有关的功能。sgsn用于实现gprs/umts网络中路由转发、移动性管理、会话管理以及用户信息存储等功能。

其中,各个网元之间通过协议和接口进行通信,详见图1所示的接口和协议。其中,控制面的协议包括:gprs隧道协议-控制面(generalpacketradioservicetunnelprotocol-control,gtp-c)、流控制传输协议(streamcontroltransmissionprotocol,sctp)、代理移动ip(proxymobileinternetprotocol,pmip)、s1接口应用协议s1-ap(s1-applicationprotocol,s1-ap)、无线接入网络应用部分(radioaccessnetworkapplicationpart,ranap);用户面的协议包括:gprs隧道协议-用户面(generalpacketradioservicetunnelprotocol-user,gtp-u)或ip。

除了实现不同网元之间的通信,还可以将epc系统中的每个网元部署成多个业务服务器,每个业务服务器中安装有相同的业务软件,从而为不同地区的用户设备提供相同的服务,以实现分布式部署。此时,还需要在epc系统中设置系统管理器和流裁决器,其中,系统管理器用于控制epc系统中的各个网元,流裁决器用于裁决将业务请求后业务数据流转发给哪个业务服务器。

请参考图2,其示出了本申请另一个示例性实施例示出的网元200的结构示意图。该网元200包括:处理器220、与处理器220相连的无线收发器240。

该无线收发器240可由一个或多个天线组成,该天线使得网元200能够发送或接收无线电信号。

无线收发器240可连接至通信电路260,该通信电路260可对经由无线收发器240接收或经由无线收发器240发送的信号执行各种处理,如:调制经由无线收发器240发送的信号,解调经由无线收发器240接收的信号,在实际实现时,该通信电路260可由射频(英文:radiofrequency,rf)芯片和基带芯片组成。

通信电路260可连接至处理器220。可替换的该通信电路260也可集成在处理器220中。处理器220是网元的控制中心,该处理器220可以是中央处理器(英文:centralprocessingunit,cpu),网络处理器(英文:networkprocessor,np)或者cpu和np的组合。处理器220还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specificintegratedcircuit,asic),可编程逻辑器件(英文:programmablelogicdevice,pld)或其组合。上述pld可以是复杂可编程逻辑器件(英文:complexprogrammablelogicdevice,cpld),现场可编程逻辑门阵列(英文:field-programmablegatearray,fpga),通用阵列逻辑(英文:genericarraylogic,gal)或其任意组合。

存储器280用总线或其它方式与处理器220相连,存储器280可以为易失性存储器(英文:volatilememory),非易失性存储器(英文:non-volatilememory)或者它们的组合。易失性存储器可以为随机存取存储器(英文:random-accessmemory,ram),例如静态随机存取存储器(英文:staticrandomaccessmemory,sram),动态随机存取存储器(英文:dynamicrandomaccessmemory,dram)。非易失性存储器可以为只读存储器(英文:readonlymemoryimage,rom),例如可编程只读存储器(英文:programmablereadonlymemory,prom),可擦除可编程只读存储器(英文:erasableprogrammablereadonlymemory,eprom),电可擦除可编程只读存储器(英文:electricallyerasableprogrammableread-onlymemory,eeprom)。非易失性存储器也可以为快闪存储器(英文:flashmemory),磁存储器,例如磁带(英文:magnetictape),软盘(英文:floppydisk),硬盘。非易失性存储器也可以为光盘。

请参考图3,相关技术是一次性将所有的用户设备发送的业务数据流全部转移到升级后的业务服务器上,升级过程中潜在的漏洞导致全部的业务中断以及回退导致全部的业务中断的问题,为了解决上述问题,本申请中,通过分批升级业务服务器,再分批将用户设备发送的业务数据流迁移到升级后的业务服务器中,详见下面的实施例中的描述。

需要说明的是,一个网元设备可以包括多个业务服务器,可以按照比例分批升级业务服务器。比如,每次升级固定比例的业务服务器,如10%,或者,逐渐增加每次升级的比例,如第一次5%,第二次10%等等,本实施例不作限定。为了便于说明,下面的实施例仅以升级两个业务服务器为例进行举例,且将先升级的业务服务器称为第二业务服务器,将后升级的业务服务器称为第一业务服务器。

请参考图4,其示出了本申请一示例性实施例提供的软件升级方法的流程图。本实施例以该方法用于如图1所示的epc系统中,本实施例中仅以一个第一业务服务器和一个第二业务服务器来举例说明,该方法包括以下几个步骤:

步骤401,系统管理器控制第二业务服务器将安装的业务软件由第一版本升级到第二版本。

本实施例中将业务软件升级前的版本称为第一版本,升级后的版本称为第二版本。

系统管理器可以从两个业务服务器中随机选择一个作为第二业务服务器,直接控制第二业务服务器将安装的业务软件由第一版本升级到第二版本。然而,当第二业务服务器正在处理用户设备发送的业务数据流时,若需要升级第二业务服务器上的业务软件,则需要断开epc系统与这些用户设备的连接,强迫这些用户设备下线,会影响用户体验,所以,在一种可能的实现方式中,系统管理器可以选择处于空闲状态的业务服务器作为第二业务服务器,控制第二业务服务器将安装的业务软件由第一版本升级到第二版本。其中,处于空闲状态是指业务服务器不处理或处理少量的业务数据流。

在一种实现方式中,系统管理器可以向第二业务服务器发送升级指令,第二业务服务器在接收到升级指令后,获取并安装第二版本的业务软件,将业务软件由第一版本升级到第二版本。下文所说的第二业务服务器是指安装的业务软件升级到第二版本的第二业务服务器。

步骤402,流裁决器接收用户设备发送的业务请求,将业务请求转发给第二业务服务器。

此时的用户设备是首次接入epc系统的用户设备。比如,用户设备可以是下线后再重新上线的用户设备。在用户设备下线后,其之前发送的且被流裁决器转发给第一业务服务器的业务数据流会被删除。

流裁决器在接收到业务请求后,对业务请求进行解析,当解析结果是新到来的用户信令或初始业务接入请求时,确定该用户设备是首次接入epc系统的用户设备,将该业务请求发送给第二业务服务器。其中,业务请求包括控制面的业务请求和用户面的业务请求。这样,可以避免将该业务请求转发给第一业务服务器时,后续需要升级该第一业务服务器中安装的业务软件时,需要将该用户设备发送的业务数据流转移到升级后的第二业务服务器的问题,可以简化软件的升级方案。

可选的,流裁决器获取用户设备的属性信息;当属性信息指示用户设备属于预设用户群时,流裁决器触发执行将业务请求转发给第二业务服务器的步骤;当属性信息指示用户设备不属于预设用户群时,流裁决器将业务请求转发给第一业务服务器。这样,当预设用户群是友好用户群时,通过友好用户试用第二版本的业务软件,这样,即使该第二版本的业务软件中潜在的漏洞暴露导致业务中断,友好用户也不会投诉,可以保证epc系统的信誉。

本实施例中,epc系统包括一个逻辑性的流裁决器,这个逻辑性的流裁决器可以实现分布式部署,比如,流裁决器部署在负载均衡器上和协议单元上或其他位置。请参考图5,图5中以圆环表示流裁决器,即,每个协议单元上设置有一个流裁决器。

请参考图6,以第一业务服务器对应于一个旧流裁决器,第二业务服务器对应于一个新流裁决器,且每个协议单元对应一个流裁决器为例进行说明,db(old)为存储第一版本的业务软件的数据库,db(new)为存储第二版本的业务软件的数据库,trafficdecider为流裁决器,且每个业务服务器包括diameter/sctp协议单元和gtp-c协议单元,在旧流裁决器接收到业务请求后,无法解析业务请求,将该业务请求转发给第一业务服务器上的gtp-c协议单元,gtp-c协议单元解析出是新到来的用户信令或初始业务接入请求,确定用户设备首次接入epc系统,通过自身的流裁决器将该业务请求转发给新流裁决器,新流裁决器将该业务请求转发给第二业务服务器上的gtp-c协议单元,gtp-c协议单元将处理结果发送给新流裁决器,若只有一条数据链路,则新流裁决器将处理结果发送给旧流裁决器,旧流裁决器输出处理结果;若有多条数据链路,新流裁决器可以通过其它链路输出处理结果,上述处理过程可以通过图6中的箭头表示。

步骤403,第二业务服务器为用户设备的业务请求分配业务流标识。

业务流标识可以携带在业务数据流中进行传输,可以避免专门设置新的信令来传输业务流标识时,导致信令开销大的问题,可以节省信令开销。

其中,在第二业务服务器为用户设备的业务请求分配业务流标识之前,第二业务服务器获取分配的业务流标识的取值区间,不同版本业务软件的业务流标识的取值区间不同。这里的业务流标识也可以称为协议标识。

此时,第二业务服务器从取值区间中选取一个数值,作为业务流标识。

下面对业务流标识进行介绍:gtp-c和gtp-u的业务流标识是teid,pmip的业务流标识是mnnai,sctp的业务流标识是五元组或vtag,ip(diameter)的业务流标识是五元组,s1-ap的业务流标识是s1-apid,ranap的业务流标识是ranapid。

业务流标识的取值区间可以是系统管理器为第二业务服务器分配的,也可以是预先配置的,本实施例不作限定。

本实施例中,还需要通知流裁决器第二业务服务器对应的业务流标识的取值区间,由于第一业务服务器中存有第一业务服务器对应的业务流标识的取值区间,且不同版本业务软件的业务流标识的取值区间不同,这样,第二业务服务器为用户设备的业务请求分配的业务流标识必然和第一业务服务器为用户设备的业务请求分配的业务流标识不同,流裁决器可以根据业务流标识确定将业务数据流转发给第一业务服务器还是第二业务服务器。

步骤404,流裁决器接收用户设备的业务数据流,根据业务数据流中的业务流标识将业务数据流转发给第二业务服务器。

此时的用户设备是非首次接入epc系统,且之前发送的业务请求被转发给了第二业务服务器的用户设备。

其中,业务数据流包括控制面的业务数据流和用户面的业务数据流。

控制面的业务数据流在第二业务服务器上生成新用户注册数据或新的控制面报文的上下文,用户面的业务数据流在第二业务服务器上生成新用户注册数据或新的用户面报文的上下文。

请参考图7,图7与图6相比,区别在于接收到的是业务数据流,旧流裁决器可以识别出业务流标识,根据业务流标识确定将该业务数据流转发给第二业务服务器中的gtp-c协议单元,gtp-c协议单元将处理结果发送给新流裁决器,若只有一条数据链路,则新流裁决器将处理结果发送给旧流裁决器,旧流裁决器输出处理结果;若有多条数据链路,新流裁决器可以通过其它链路输出处理结果,上述处理过程可以通过图7中的箭头表示。

步骤402-404是针对从epc系统下线再上线的用户设备的处理方式,对于某些不下线的用户设备,可以强制断开epc系统与这些用户设备的连接,从而迫使这些用户设备下线,但是这样会导致业务中断,影响用户的体验,因此,可以通过步骤405-406来实现业务数据流的迁移。本实施例不限定步骤402-404和步骤405-406的先后执行顺序。

步骤405,系统管理器控制流裁决器将第一业务服务器上的业务数据流包含的业务流标识设置为指示第二业务服务器,并控制第一业务服务器将第一业务服务器上包含业务流标识的业务数据流转移到第二业务服务器上。

转移业务数据流是指将在第一业务服务器上的控制面报文的上下文和用户面报文的上下文转移到第二业务服务器上。可选的,还可以对转移后的上下文进行转换,以使上下文能够适用于第二业务服务器。

对于某些不下线的用户设备来说,通过将第一业务服务器上的业务数据流转移至第二业务服务器,而不是通过断开epc系统与这些用户设备的连接来使这些用户设备重新接入epc系统,可以保证业务的连续性,提升用户的体验。

步骤406,流裁决器接收用户设备发送的业务数据流,根据业务数据流中的业务流标识将业务数据流转发给第二业务服务器。

此时的用户设备是发送的业务数据流从第一业务服务器转移到第二业务服务器的用户设备。

可选的,还可以多次执行步骤405-406,从而分批将第一业务服务器上的业务数据流转移到第二业务服务器上。请参考图8,分五批转移业务数据流,比如,第一批转移10%的用户,第二批转移20%的用户,第三批转移40%的用户,第四批转移60%的用户,第二批转移100%的用户。

通过先将新接入epc系统的用户设备发送的业务数据流转发给第二业务服务器,再迁移第一业务服务器上业务数据流,实现分批迁移业务数据流,可以避免将所有业务数据流一次性迁移至第二业务服务器,潜在的漏洞暴露时全部的业务中断的问题,还可以避免回退时全部的业务中断的问题。

步骤407,在第二业务服务器稳定后,系统管理器控制第一业务服务器将安装的业务软件由第一版本升级到第二版本。

第二业务服务器稳定是指在处理业务请求和业务数据流的过程中,第二业务服务器上的各项指标正常且稳定。

在第二业务服务器稳定后,系统管理器可以直接控制第一业务服务器将安装的业务软件由第一版本升级到第二版本。然而,当第一业务服务器正在处理用户设备发送的业务数据流时,若需要升级第一业务服务器上的业务软件,则需要断开epc系统与这些用户设备的连接,以使这些用户设备下线,会影响用户体验,所以,在一种可能的实现方式中,系统管理器可以在第一业务服务器上的所有业务数据流均被转移或删除,即处于空闲状态后,再控制第一业务服务器将安装的业务软件由第一版本升级到第二版本。

其中,第一业务服务器中安装的业务软件的升级过程与第二业务服务器中安装的业务软件的升级过程相同,详见步骤401中的描述,此处不作赘述。

步骤408,在第二业务服务器发生异常后,系统管理器控制第二业务服务器将安装的业务软件由第二版本回退到第一版本。

在由于第二版本的业务软件中潜在的漏洞被暴露导致第二业务服务器崩溃后,当第二业务服务器发生异常是指处理业务数据流异常时,还可以迁移业务数据流,则第二业务服务器将第二业务服务器中的业务数据流迁移到第一业务服务器,系统管理器控制第二业务服务器将安装的业务软件由第二版本回退到第一版本。当第二业务服务器发生异常是指第二业务服务器崩溃时,不可以迁移业务数据流,则第二业务服务器承载的用户设备会断开与epc系统的连接,即该用户设备会被下线,再次接入epc系统时,其发送的业务请求和业务数据流将会被流裁决器转发给第一业务服务器。

由于只要控制第二业务服务器将业务软件回退到第一版本,可以加快回退速度且不造成事故。

综上所述,本申请实施例提供的软件升级方法,通过对承载少量用户的第二业务服务器中安装的业务软件进行升级,这样,即使第二版本的业务软件中潜在的漏洞暴露,也只会导致升级后的第二业务服务器上的业务中断,承载大量用户的第一业务服务器上的业务还是会在第一业务服务器上正常运行,可以避免对所有的业务服务器中安装的业务软件进行升级后,潜在的漏洞暴露时全部的业务中断的问题,还可以避免回退时全部的业务中断的问题,可以保证业务的连续性。在升级后的第二业务服务器稳定时,再逐步控制剩余的第一业务服务器对安装的业务软件进行升级,这也可以看成是利用现网的业务数据对业务软件进行验证,从而保证了epc系统的稳定性。

对于某些不下线的用户设备来说,通过将第一业务服务器上的业务数据流转移至升级后的第二业务服务器,而不是通过断开与这些用户设备的连接来使这些用户设备重新接入epc系统,可以保证业务的连续性,提升用户的体验。

通过将首次接入epc系统的用户设备发送的业务请求转发给升级后的第二业务服务器,可以避免将该业务请求转发给第一业务服务器时,后续需要升级该第一业务服务器中安装的业务软件时,需要将该用户设备发送的业务数据流转移到升级后的第二业务服务器的问题,可以简化软件的升级方案。

通过业务流标识来指示将业务数据流转发给第一业务服务器还是升级后的第二业务服务器,可以避免专门设置新的信令来传输业务流标识时,导致信令开销大的问题,可以节省信令开销。

通过友好用户试用第二版本的业务软件,这样,即使该第二版本的业务软件中潜在的漏洞暴露导致业务中断,友好用户也不会投诉,可以保证epc系统的信誉。

通过先将新接入epc系统的用户设备发送的业务数据流转发给升级后的第二业务服务器,再迁移第一业务服务器上业务数据流,实现分批迁移业务数据流,可以避免将所有业务数据流一次性迁移至升级后的第二业务服务器,潜在的漏洞暴露时全部的业务中断的问题,还可以避免回退时全部的业务中断的问题。在升级后的第二业务服务器稳定时,再逐步增加转发给升级后的第二业务服务器处理的业务数据流,从而保证了epc系统的稳定性。

由于只要控制第二业务服务器将业务软件回退到第一版本,可以加快回退速度且不造成事故。

请参考图9,其示出了本申请一个实施例提供的epc系统的框图。该epc系统可以包括:系统管理器、流裁决器、第一业务服务器和第二业务服务器。

系统管理器,用于实现上述步骤401、405、407和408的功能。

流裁决器,用于实现上述步骤402、404的功能、步骤405中设置业务流标识的功能、步骤406的功能。

第一业务服务器,用于实现上述步骤405中迁移业务数据流的功能、步骤407中软件升级的功能。

第二业务服务器,用于实现上述步骤401中软件升级的功能、步骤403的功能、步骤408中软件回退的功能。

相关细节可结合参考图4所述的方法实施例。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。

本领域普通技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1