业务发送方法及装置与流程

文档序号:14993894发布日期:2018-07-20 23:10阅读:193来源:国知局

本发明涉及通信领域,具体而言,涉及一种业务发送方法及装置。



背景技术:

在ip多媒体子系统(ipmultimediacorenetworksubsystem,简称为ims)网络中,采用会话初始协议(sessioninitiationprotocol,简称为sip)作为呼叫控制协议。作为ims的核心网元,呼叫会话控制功能(callsessioncontrolfunction,简称为cscf),包括代理呼叫会话控制功能(proxy-cscf,简称为p-cscf)、查询呼叫会话控制功能(interrogating-cscf,简称为i-cscf)、服务呼叫会话控制功能(serving-cscf,简称为s-cscf)以及边界网关控制功能(bordergatewaycontrolfunction,简称为bgcf)4个逻辑网元,主要完成ims系统中用户注册、多媒体会话功能、计费等功能。

在ims域中,作为ims核心网元的cscf,其上要处理大量的sip消息。为了提高网络的负载能力,网络中的cscf网元通常会有多个,为了能够在多个网元间实现负荷均衡,目前多是通过在网元静态配置负荷分担权重达到目的。但是静态配置方式,要求运维人员对于网络中各网元的负荷能力有比较准确的估计。然而在实际运行过程中,各网元实际负荷情况常常是多变的,很难准确的估计,静态配置的方式显得低效而迟钝。

因此,相关技术中通过静态配置来实现网元间负荷均衡的方式,存在难以准确估计网络中各网元的负荷能力的问题。



技术实现要素:

本发明实施例提供了一种业务发送方法及装置,以至少解决相关技术中通过静态配置来实现网元间负荷均衡的方式,存在难以准确估计网络中各网元的负荷能力的问题。

根据本发明的一个实施例,提供了一种业务发送方法,包括:获取至少两个下游网元节点的负荷状况信息;根据获取的所述负荷状况信息,从所述至少两个下游网元节点中选择一个下游节点,进行业务发送。

可选地,获取至少两个下游网元节点的负荷状况信息包括:周期性地向所述至少两个下游网元节点发送用于检测邻接网元状态的options消息;接收所述至少两个下游网元节点返回的所述options消息的响应消息,其中,所述响应消息中携带有所述负荷状况信息。

可选地,所述负荷状况信息携带在所述options消息的扩展头部;或者,所述负荷状况信息携带在所述options消息的用于携带所述负荷状况信息的消息体中。

可选地,获取至少两个下游网元节点的负荷状况信息包括:接收所述至少两个下游网元节点通过负荷中心转发的所述负荷状况信息,其中,所述负荷中心用于进行负荷状况信息转发,所述负荷状况信息通过所述负荷中心的广播消息进行发送。

可选地,所述负荷状况信息包括:与所述业务对应的资源类型的资源的占用情况。

根据本发明的另一个实施例,提供了一种业务发送装置,包括:获取模块,用于获取至少两个下游网元节点的负荷状况信息;发送模块,用于根据获取的所述负荷状况信息,从所述至少两个下游网元节点中选择一个下游节点,进行业务发送。

可选地,所述获取模块包括:发送单元,用于周期性地向所述至少两个下游网元节点发送用于检测邻接网元状态的options消息;第一接收单元,用于接收所述至少两个下游网元节点返回的所述options消息的响应消息,其中,所述响应消息中携带有所述负荷状况信息。

可选地,所述负荷状况信息携带在所述options消息的扩展头部;或者,所述负荷状况信息携带在所述options消息的用于携带所述负荷状况信息的消息体中。

可选地,所述获取模块包括:第二接收单元,用于接收所述至少两个下游网元节点通过负荷中心转发的所述负荷状况信息,其中,所述负荷中心用于进行负荷状况信息转发,所述负荷状况信息通过所述负荷中心的广播消息进行发送。

可选地,所述负荷状况信息包括:与所述业务对应的资源类型的资源的占用情况。

根据本发明的又一个实施例,还提供了一种存储介质。该存储介质设置为存储用于执行以下步骤的程序代码:获取至少两个下游网元节点的负荷状况信息;根据获取的所述负荷状况信息,从所述至少两个下游网元节点中选择一个下游节点,进行业务发送。

可选地,存储介质还设置为存储用于执行以下步骤的程序代码:获取至少两个下游网元节点的负荷状况信息包括:周期性地向所述至少两个下游网元节点发送用于检测邻接网元状态的options消息;接收所述至少两个下游网元节点返回的所述options消息的响应消息,其中,所述响应消息中携带有所述负荷状况信息。

可选地,存储介质还设置为存储用于执行以下步骤的程序代码:所述负荷状况信息携带在所述options消息的扩展头部;或者,所述负荷状况信息携带在所述options消息的用于携带所述负荷状况信息的消息体中。

可选地,存储介质还设置为存储用于执行以下步骤的程序代码:获取至少两个下游网元节点的负荷状况信息包括:接收所述至少两个下游网元节点通过负荷中心转发的所述负荷状况信息,其中,所述负荷中心用于进行负荷状况信息转发,所述负荷状况信息通过所述负荷中心的广播消息进行发送。

可选地,存储介质还设置为存储用于执行以下步骤的程序代码:所述负荷状况信息包括:与所述业务对应的资源类型的资源的占用情况。

通过本发明,上游网元节点通过根据获取的下游网元节点的负荷状况信息,从至少两个下游网元节点中选择一个下游节点,进行业务发送,由于处理业务的节点是根据下游网元节点的负荷状况信息进行确定的,可以进行动态地负荷分配,实现网络中各网元间的负荷均衡,因此,可以解决相关技术中通过静态配置来实现网元间负荷均衡的方式,存在难以准确估计网络中各网元的负荷能力的问题,达到提高整个网络的负荷能力和业务接通率的效果。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明实施例的一种业务发送方法的网元节点的硬件结构框图;

图2是根据本发明实施例的业务发送方法的流程图;

图3是根据本发明优选实施例的业务发送方法的流程图一;

图4是根据本发明优选实施例的业务发送方法的流程图二;

图5是根据本发明优选实施例的业务发送方法的流程图三;

图6是根据本发明实施例的业务发送装置的结构框图;

图7是根据本发明实施例的业务发送装置中获取模块62的结构框图一;

图8是根据本发明实施例的业务发送装置中获取模块62的结构框图二。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

实施例1

本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在网元节点上为例,图1是本发明实施例的一种业务发送方法的网元节点的硬件结构框图。如图1所示,网元节点10可以包括一个或多个(图中仅示出一个)处理器12(处理器12可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器14、以及用于通信功能的传输装置16。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,网元节点10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器14可用于存储应用软件的软件程序以及模块,如本发明实施例中的业务发送方法对应的程序指令/模块,处理器12通过运行存储在存储器14内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器14可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器14可进一步包括相对于处理器12远程设置的存储器,这些远程存储器可以通过网络连接至网元节点10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置16用于经由一个网络接收或者发送数据。上述的网络具体实例可包括网元节点10的通信供应商提供的无线网络。在一个实例中,传输装置16包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置16可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

在本实施例中提供了一种运行于上述网元节点的业务发送方法,图2是根据本发明实施例的业务发送方法的流程图,如图2所示,该流程包括如下步骤:

步骤s202,获取至少两个下游网元节点的负荷状况信息;

步骤s204,根据获取的负荷状况信息,从至少两个下游网元节点中选择一个下游节点,进行业务发送。

通过上述步骤,通过根据获取的下游网元节点的负荷状况信息,从至少两个下游网元节点中选择一个下游节点,进行业务发送,解决了相关技术中通过静态配置来实现网元间负荷均衡的方式,存在难以准确估计网络中各网元的负荷能力的问题,提高了整个网络的负荷能力和业务接通率。

可选地,在步骤s202中,可以采用多种方式获取至少两个下游网元节点的负荷状况信息。

例如,可以接收至少两个下游网元节点通过用于进行负荷状况信息转发的负荷中心转发的负荷状况信息,负荷状况信息通过负荷中心的广播消息进行发送。负荷中心可以是网络中新增的网元节点,也可以是网络中已有网元节点,在该已有网元节点中新增负荷控制功能。

通过负荷中心转发负荷状况信息的方式,可以提高负荷均衡方式(该业务发送方法)的适用范围。

又例如,可以周期性地向至少两个下游网元节点发送用于检测邻接网元状态的options消息,接收至少两个下游网元节点返回的options消息的响应消息,其中,该响应消息中携带有负荷状况信息。发送options消息的周期可以根据相关的协议进行设定,也可以由接收方和发送方根据预先的约定进行设定。对于不同的下游网元节点,发送options消息的时机可以是相同的,(即,同时向多个下游网元节点发送options消息),也可以是不同的(在不同的时机分别向多个下游网元节点发送options消息)。具体地可以根据需要进行设定,在此不做具体限定。

可选地,在本实施例中,负荷状况信息可以携带在options消息的扩展头部;或者,负荷状况信息可以携带在options消息的用于携带负荷状况信息的消息体中。

options检测功能是当前在各sip网元中普遍实现的功能,通过在options消息中携带有负荷状况信息的方式,可以在不增加网元间的sip消息流量的基础上实现负荷控制,提高网络资源的利用率。

可选地,负荷状况信息可以包括:与业务对应的资源类型的资源的占用情况。

例如,如果下游网元节点需要进行媒体处理,媒体资源是影响网元的业务处理能力的一项关键资源(比如媒体网关之类的网元),负荷状况信息中可以携带媒体资源的占用状况。又例如,下游网元节点在处理呼叫时需要通过diameter访问用户数据中心,diameter的链路资源是影响网元业务处理能力的一项关键资源(比如媒体网关之类的网元),负荷状况信息中可以携带链路资源的占用状况。对于负荷状况信息中携带何种资源类型的资源的占用情况,根据具体的需要进行设定,在此不做具体限定。

通过获取与业务对应的资源类型的资源的占用情况,可以更有针对的进行资源调度,实现负荷均衡。

基于上述实施例及优选实施方式,为说明方案的整个流程交互,在本优选实施例中,提供了一种业务处理方法,需要说明的是,该业务发送方法可以适用于多种网络,在本实施例中以sip网络为例说明。

对于网络中网元间的负荷均衡,如果能够动态的根据网络中的各网元运行时的负荷状况,调整新增业务在网元中的负荷分配,则能更好的实现网络中各网元间的负荷均衡,从而提高整个网络的负荷能力和业务接通率。

有鉴于此,本发明优选实施里中所提供的业务发送方法,主要是基于sip协议,在options响应消息中携带发送网元的负荷现状,进而在sip网络上进行的动态负荷均衡。本发明优选实施里中所提供的业务发送方法通过以下方式实现:

在sip基础协议rfc3261中定义了options方法,该方法通常用来检测邻接网元状态,sip网元通过向邻接网元周期性的发送options请求,根据接收到的响应状况来判断邻接网元是否可用。当前也有许多应用根据options检测结果,决定是否对邻接网元进行容灾处理的。

本优选实施例中的业务处理方法利用上述机制,在options请求的响应消息中增加扩展内容,通过扩展内容携带本网元的当前负荷状况,这样上游sip网元,在转发sip请求时,就可以根据接收到的options响应中携带的负荷现状选择下一跳网元,从而实现下一跳网元间的负荷均衡。

本优选实施例中所提供的业务发送方法需要在options响应消息中携带负荷现状消息,携带方式与具体实现相关,可以新增扩展新头部,也可以新增消息体类型,在消息体内携带。

下面给出一种实现方式下的扩展示例(采用扩展新头部方式):

x-undertaken="x-undertaken"equalwhole-load*(semiload-detail-param)

whole-load=1*2digit%;描述整体负荷百分比。

load-detail-param=cpu-occupy/space-occupy/media-occupy/link-occupy/generic-param

cpu-occupy="cpu"equalqvalue1*digit%;描述cpu占用百分比。

space-occupy="space"equalqvalue1*digit%;描述cpu占用百分比。

media-occupy="media"equalqvalue1*digit%;描述媒体资源占用百分比。

link-occupy="link"equalqvalue1*digit%;描述媒体资源占用百分比。

这里面仅列出了几种常见的资源,在具体实施的时候可以根据本网元业务状况,将影响本网元处理能力的关键资源通过新增扩展参数或者在whole–occupy中体现。

举例如下:

x-undertaken:20%;cpu=20%;space=15%。

下面结合具体的示例对该业务发送方法的技术方案进一步详细阐述。

示例1:

图3是根据本发明优选实施例的业务发送方法的流程图一,如图3所示,该流程包括如下步骤:

步骤s302~s304,sip网络单元(networkentity,简称为ne)1向sipne2发起options检测,sipne2在sipne1发送的options200中携带自身的负荷状况,sipne1收到options200后保存sipne2的负荷状况信息;

步骤s306~s308,sipne1向sipne3发起options检测,sipne3在sipne1发送的options200中携带自身的负荷状况,sipne1收到options200后保存sipne3的负荷状况信息;

步骤s310,sipne1在向下一跳网元发起新的sip业务时(这里以register举例),发现有sipne2、sipne3两个网元可用,sipne1根据前面检测结果保存的sipne2、sipne3的负荷状况,选择下一跳网元为sipne2(选择标准可以为负荷低的处理较多的新增业务、负荷高的处理较少的新增业务),将新的注册请求发送到sipne2上。

步骤s312,sipne2向sipne1发送注册请求响应消息register200。

示例2:

本示例中下一跳网元需要进行媒体处理,媒体资源是影响网元业务处理能力的一项关键资源(比如媒体网关之类的网元),负荷信息中携带了媒体资源的占用状况。

图4是根据本发明优选实施例的业务发送方法的流程图二,如图4所示,该流程包括如下步骤:

步骤s402~s404,sipne1向sipne2发起options检测,sipne2在sipne1发送的options200中携带自身的负荷状况,sipne1收到options200后保存sipne2的负荷状况信息;

步骤s406~s408,sipne1向sipne3发起options检测,sipne3在sipne1发送的options200中携带自身的负荷状况,sipne1收到options200后保存sipne3的负荷状况信息;

步骤s410,sipne1在向下一跳网元发起新的呼叫业务,发现有sipne2、sipne3两个网元可用,sipne1根据前面检测结果保存的sipne2、sipne3的负荷状况,选择下一跳网元为sipne2(选择标准为负荷低的处理较多的新增业务、负荷高的处理较少的新增业务),将新的呼叫请求发送到sipne2上。

示例3:

本示例中下一跳网元在处理呼叫时需要通过diameter访问用户数据中心,diameter的链路资源是影响网元业务处理能力的一项关键资源(比如媒体网关之类的网元),负荷信息中携带了链路资源的占用状况。

图5是根据本发明优选实施例的业务发送方法的流程图三,如图5所示,该流程包括如下步骤:

步骤s502~s504,sipne1向sipne2发起options检测,sipne2在sipne1发送的options200中携带自身的负荷状况,sipne1收到options200后保存sipne2的负荷状况信息;

步骤s506~s508,sipne1向sipne3发起options检测,sipne3在sipne1发送的options200中携带自身的负荷状况,sipne1收到options200后保存sipne3的负荷状况信息;

步骤s510,sipne1在向下一跳网元发起新的呼叫业务,发现有sipne2、sipne3两个网元可用,sipne1根据前面检测结果保存的sipne2、sipne3的负荷状况,选择下一跳网元为sipne2(选择标准为负荷低的处理较多的新增业务、负荷高的处理较少的新增业务),将新的呼叫请求发送到sipne2上。

通过本发明优选实施例的上述技术方案,options检测功能是当前各sip网元普遍实现的功能,在此基础上实现负荷控制不会增加网元间的sip消息流量;负荷均衡后可以跳高网络的接通成功率,避免在达到网络负荷极限前就应为负荷不均而出现接通失败场景;该方式在上下游网元有任一不支持新增参数的情况下,不会影响原有的options检测功能,兼容性较好。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

实施例2

在本实施例中还提供了一种业务发送装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图6是根据本发明实施例的业务发送装置的结构框图,如图6所示,该装置包括:

获取模块62,用于获取至少两个下游网元节点的负荷状况信息;

发送模块64,连接至上述获取模块62,用于根据获取的负荷状况信息,从至少两个下游网元节点中选择一个下游节点,进行业务发送。

图7是根据本发明实施例的业务发送装置中获取模块62的结构框图一,如图7所示,该获取模块62包括:

发送单元72,用于周期性地向至少两个下游网元节点发送用于检测邻接网元状态的options消息;

第一接收单元74,连接至上述发送单元72,用于接收至少两个下游网元节点返回的options消息的响应消息,其中,响应消息中携带有负荷状况信息。

可选地,负荷状况信息可以携带在options消息的扩展头部;或者,负荷状况信息可以携带在options消息的用于携带负荷状况信息的消息体中。

图8是根据本发明实施例的业务发送装置中获取模块62的结构框图二,如图8所示,该获取模块62包括:

第二接收单元82,用于接收至少两个下游网元节点通过负荷中心转发的负荷状况信息,其中,负荷中心用于进行负荷状况信息转发,负荷状况信息通过负荷中心的广播消息进行发送。

可选地,负荷状况信息可以包括:与业务对应的资源类型的资源的占用情况。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

实施例3

本发明的实施例中还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:

s1,获取至少两个下游网元节点的负荷状况信息;

s2,根据获取的负荷状况信息,从至少两个下游网元节点中选择一个下游节点,进行业务发送。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:

获取至少两个下游网元节点的负荷状况信息包括:

s1,周期性地向至少两个下游网元节点发送用于检测邻接网元状态的options消息;

s2,接收至少两个下游网元节点返回的options消息的响应消息,其中,响应消息中携带有负荷状况信息。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:

获取至少两个下游网元节点的负荷状况信息包括:

s1,接收至少两个下游网元节点通过负荷中心转发的负荷状况信息,其中,负荷中心用于进行负荷状况信息转发,负荷状况信息通过负荷中心的广播消息进行发送。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述实施例中的方法步骤。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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