发明内容
本发明要解决的技术问题是提供一种实现业务数据分流的方法、终端及***,在不改变移动核心网架构的前提下实现终端上业务数据在不同网络接入上的分流。
为解决上述技术问题,本发明的一种实现业务数据分流的方法,包括:
在网络侧设置策略服务器,该策略服务器记录终端发布的当前可用网络接入的信息;
终端发起业务,为该业务选择本地的网络接入,并从策略服务器订阅业务对端的当前可用网络接入的信息,按照本地的网络接入的信息和业务对端的当前可用网络接入的信息配置业务连接,进行业务交互。
进一步地,该方法还包括:
终端为业务选择本地的网络接入后,还将该本地的网络接入的信息发布到策略服务器,作为该终端的当前可用网络接入的信息。
进一步地,策略服务器记录的终端发布的当前可用网络接入的信息包括:可用网络接入的IP地址。
进一步地,终端中保存有业务配置信息,该业务配置信息包括:业务占用的端口和协议名称。
进一步地,按照本地的网络接入的信息和业务对端的当前可用网络接入的信息配置业务连接包括:
终端为业务连接配置源IP地址、源端口、目的IP地址、目的端口和传输层协议,其中,源IP地址为本地的网络接入的IP地址,目的IP地址为业务对端的可用网络接入的IP地址,源端口和目的端口均为业务对应的业务配置信息中业务占用的端口,传输层协议为业务配置信息中的协议名称。
进一步地,终端在为业务选择本地的网络接入时,根据业务的网络接入优先级和该终端的网络接入的数据流量进行选择。
进一步地,根据业务的网络接入优先级和该终端的网络接入的数据流量进行选择包括:
业务配置信息中包含缺省流量,终端根据业务的网络接入优先级选择网络接入,判断所选网络接入的数据流量与业务配置信息中的缺省流量之和是否大于该网络接入的负荷上限,如果大于,则从网络接入优先级中选择下一级的网络接入;否则,选择该网络接入作为本地的网络接入。
进一步地,一种实现业务数据分流的终端,包括:接口选择模块,其中:
接口选择模块,用于在终端发起业务时,为该业务选择本地的网络接入,并从网络侧的策略服务器订阅业务对端的当前可用网络接入的信息,按照本地的网络接入的信息和业务对端的当前可用网络接入的信息配置业务连接,以进行业务交互。
进一步地,接口选择模块,还用于为业务选择本地的网络接入后,将该本地的网络接入的信息发布到策略服务器,作为该终端的当前可用网络接入的信息。
进一步地,接口选择模块,还用于保存业务配置信息,该业务配置信息包括业务占用的端口和协议名称;
接口选择模块按照本地的网络接入的信息和业务对端的当前可用网络接入的信息配置业务连接时,为该业务连接配置源IP地址、源端口、目的IP地址、目的端口以和传输层协议,其中,源IP地址为本地的网络接入的IP地址,目的IP地址为业务对端的可用网络接入的IP地址,源端口和目的端口均为业务对应的业务配置信息中业务占用的端口,传输层协议为业务配置信息中的协议名称。
进一步地,该终端还包括接口监测模块,其中:
接口监测模块,用于监测并记录该终端的网络接入的数据流量,供接口选择模块查询;
接口选择模块在为业务选择本地的网络接入时,根据业务的网络接入优先级和从接口监测模块查询的该终端的网络接入的数据流量进行选择。
进一步地,一种实现业务数据分流的***,包括:策略服务器和终端,其中:
策略服务器,用于记录终端发布的当前可用网络接入的信息;
终端,用于发起业务,为该业务选择本地的网络接入,并从策略服务器订阅业务对端的当前可用网络接入的信息,按照本地的网络接入的信息和业务对端的当前可用网络接入的信息配置业务连接,进行业务交互。
进一步地,终端,还用于为业务选择本地的网络接入后,将该本地的网络接入的信息发布到策略服务器,作为该终端的当前可用网络接入的信息。
进一步地,终端,还用于保存业务配置信息,该业务配置信息包括业务占用的端口和协议名称;策略服务器记录的终端发布的当前可用网络接入的信息包括可用网络接入的IP地址;
终端按照本地的网络接入的信息和业务对端的当前可用网络接入的信息配置业务连接时,为业务连接配置源IP地址、源端口、目的IP地址、目的端口和传输层协议,其中,源IP地址为本地的网络接入的IP地址,目的IP地址为业务对端的可用网络接入的IP地址,源端口和目的端口均为业务对应的业务配置信息中业务占用的端口,传输层协议为业务配置信息中的协议名称。
进一步地,终端在为业务选择本地的网络接入时,根据业务的网络接入优先级和该终端的网络接入的数据流量进行选择。
综上所述,本发明终端上不同的应用可以根据当前各个网络接入上业务数据负载,动态分配各个业务使用不同的网络接入。
具体实施方式
下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本文中的终端是一种固定移动融合(Fix-Mobile Convergence,FMC)终端,此类终端既可接入无线局域网,也可以接入CDMA 1x、CDMA evdo、GSM/GPRS、WCDMA和TD-SCDMA等移动网络中,本文中将此类终端简称为终端。
本实施方式中,当终端建立多个网络接入后,会根据网络接入优先级选择一个网络接入作为当前可用网络接入,比如无线局域网链路,并通过SIP信令发布给策略服务器,以便在其他终端发起对本端的业务交互时,可以查询到当前选择的可用网络接入以及相应的IP地址。相当于在开机或者未启动任何应用的情况下配置一个缺省的网络接入。
终端通过对不同网络接入数据流量和业务运行状态的监测,在业务启动时,根据终端上预置策略中业务的网络接入优先级,为业务动态选择网络接入,并通过与策略服务器的交互,发布当前选择的网络接入,同时可以从策略服务器获知业务对端的当前可用网络接入的选择情况。当终端某个网络接入出现拥塞时,终端可以选择一个相对空闲的网络接入,当本端发起一个新的业务或接收到一个新的来自对端的业务请求时,由当前选择的网络接入进行承载,避免了终端上多路网络接入的数据负载不均衡的问题。
实现本实施方式的方法的前提条件是具备至少两个网络接入能力的终端,并获取到各网络分配的IP地址。终端通过一个五元组来分流各项业务的数据,五元组内容包含:源IP地址、源端口、目的IP地址、目的端口和传输层协议,分别对应发起业务的终端的IP地址和端口、业务对端的IP地址和端口以及传输层协议名称。源IP地址为发起业务的终端在网络接入上获取的IP地址。
本实施方式在终端中增加接口选择模块,用以进行网络接入选择,网络接入选择的判定条件为各网络接入上的负载情况和终端上配置的策略。当终端启动某个业务并发起网络数据传输时,接口选择模块根据策略中业务对应的网络接入优先级,先考察无线局域网链路,在无线局域网链路上数据流量已经达到或超过阈值,而蜂窝网络分组域链路上数据流量没有达到阈值,且满足业务对接入网络的要求时,终端选择蜂窝网络分组域链路作为当前业务的网络接入。终端在为业务分配五元组时,将五元组中源IP地址设置为蜂窝网络中分组链路上获取的IP地址,源端口和目的端口的选择取决于业务本身的要求,比如浏览器应用通常只在80端口上收发数据。通过上述过程,作为发送方的终端完成对网络接入的选择。
终端与策略服务器间信令采用SIP协议,SIP信令各个头域字段采用标准定义,SIP信令中的用户身份标识,采用SIP URI格式,基于用户MSISDN号和配置的域名扩展,例如用户MSISDN号为13313333133,域名扩展为cmobile.com,则用户SIP身份标识为sip:13313333133cmobile.com。SIP信令的收发与解析由终端上的接口选择模块完成。
策略服务器用于接收和下发终端发布的当前可用网络接入的信息。为完成终端与策略服务器之间信令交互,终端在满足策略服务器的可访问条件时,即当终端的接口选择模块与服务器之间的消息路由畅通时,接口选择模块发起注册过程。判断服务器路由是否畅通可以通过服务器域名解析的方式进行,或者确定某一类网络接入可以保证服务器路由畅通,例如通过WCDMA分组链路才能访问策略服务器。当终端发起注册时,采用SIP信令中Register消息,身份标识采用上文描述的基于MSISDN号扩展的SIP URI。信令中各个头域字段中涉及的终端IP地址均设置为满足策略服务器路由畅通的网络接入上获取的IP地址。Register采用RFC3261规范定义的标准格式。
终端在选择了当前可用网络接入后,通过SIP Publish消息向策略服务器通知选择结果,消息体采用自定义XML编码格式,格式如下:
<access_preference>
<id>sip:13313333133cmobile.com</id>
<name>WLAN</name>
<address>10.11.12.13</address>
</access_preference>
以上消息体中,<access_preference>和</access_preference>分别为接入参数的起始和结束标识;<id>sip:13313333133cmobile.com</id>表示终端标识;<name>WLAN</name>表示网络接入的名称;<address>10.11.12.13</address>表示IP地址。
终端在发起业务之前,还需了解业务对端对网络接入的选择。终端向策略服务器发起针对业务对端的订阅请求,订阅请求为SIP信令的Subscribe消息。终端向策略服务器发出对业务对端的网络接入选择的订阅请求,即SIP的Subscribe信令,终端在收到策略服务器返回的通知消息后,即SIP的Notify信令,得到业务对端的当前可用网络接入。Notify采用RFC3261定义的标准格式,消息体采用自定义XML编码格式,格式采用上文描述的Publish消息体格式。
下面结合附图对本发明的技术方案进行更详细的说明。
结合图1说明实现本实施方式的终端的各个模块和接口。终端新增接口选择模块和接口监测模块,接口选择模块用于管理业务配置信息,每条配置信息对应于业务中的每个媒体流(包括视频、音频、图像和字符文本等),业务配置信息包括:占用的端口、缺省流量、协议名称和预留扩展项。配置信息由业务通过图1中接口2向接口选择模块注册,也可通过独立的设置界面完成各个业务配置信息的注册。
业务使用标准的TCP/IP协议提供的Socket接口,完成应用数据收发,参见图1接口1。
接口选择模块在确定了网络接入后,通过接口4,设置TCP/UDP协议模块中的路由选项,指定当前网络接入对应的设备接口为缺省路由中的本地设备接口,部分终端操作***支持路由表设置,接口4可以通过操作***提供的路由表控制接口完成路由设置。
接口选择模块在为终端发起的业务选择本地的网络接入时,根据业务的网络接入优先级和从接口监测模块查询的网络接入的数据流量进行选择,首先从根据业务的网络接入优先级挑选出一个网络接入,判断该网络接入的数据流量与业务配置信息中的缺省流量之和是否大于该网络接入的负荷上限,如果大于,则从网络接入优先级中挑选下一级的网络接入,再判断否则判断该网络接入的数据流量与业务配置信息中的缺省流量之和是否大于该网络接入的负荷上限;如果不大于,选择该网络接入作为本地的网络接入。
接口选择模块从策略服务器订阅业务对端的当前可用网络接入的信息后,按照本地的网络接入的信息和业务对端的当前可用网络接入的信息配置业务连接,包括:为该业务连接配置源IP地址、源端口、目的IP地址、目的端口以和传输层协议,其中,源IP地址为本地的网络接入的IP地址,目的IP地址为所述业务对端的可用网络接入的IP地址,源端口和目的端口均为业务对应的业务配置信息中业务占用的端口,传输层协议为所述业务配置信息中的协议名称。
TCP/UDP协议模块在发送数据时通过接口3得到发送数据所需设备接口和源IP地址,设备接口和源IP均通过路由选项得到。
接口选择模块通过接口7向接口监测模块查询各个网络接入上的实时流量统计。
TCP/UDP协议模块通过接口5和接口6收发IP数据报文,接口6为数据链路层与IP层之间的开放接口,与接口1一样,为通用实现。接口5与接口6的区别在于所连接设备的不同,图1中所示“设备”为一概念模块,实际指代了包含射频、无线协议栈、相关设备驱动在内的无线设备模块。“设备一”指代了在无线分组域链路提供IP链路的设备,如WCDMA或TD-SCDMA或LTE终端等,而“设备二”指代了如无线局域网802.11a/g等类的无线设备,两者的区别在于提供给上层协议的层次不同,“设备一”直接提供IP功能接口,而“设备二”提供数据链路层的功能接口。接口5与接口6的实际功能相同,均为IP报文收发接口。
接口监测模块通过接口8完成各个接口上数据流量监测,可以采用在IP协议中收发接口中注册回调函数来实现。
IP获取模块只用于“设备二”所在链路上。“设备一”在分组域链路建立过程中,由网络侧完成IP申请和分配过程。当无线局域网链路建立成功之后,通常终端采用动态主机设置协议(Dynamic Host Configuration Protocol,DHCP)获取合法IP地址,IP协议模块通过接口9获知IP地址。设备一所获IP地址可由TCP/UDP协议模块通过接口5获取。
IP协议模块调用数据链路层的接口10完成数据收发。接口11为设备提供的驱动接口。两部分均为开放接口,具体实现根据硬件厂家定义或数据链路层协议而定。
图3为网络结构示意图,图中策略服务器连接移动网络分组域网关,此处默认定义为终端只能通过移动蜂窝网络的分组域访问策略服务器。
结合图3说明终端确定业务数据所用网络接入的流程。假设终端具备同时接入无线局域网和WCDMA网络的能力且已经同时接入两个网络。
步骤301,当用户在界面上发起视频通话业务时,首先触发了接口选择模块中网络接入的选择功能;
步骤302,接口选择模块查询视频通话业务对应的网络接入优先级策略;假定WCDMA网络优先;
步骤303,接口选择模块向接口监测模块查询当前WCDMA分组链路上负载情况,如果当前WCDMA网络分组域链路上实时数据流量与视频通话业务的缺省流量相加之和大于网络接入所能承担的负载上限,即超过预置的阈值,而优先级策略中次一级的无线局域网链路上的数据流量状况满足视频通话业务需求,且无线局域网链路满足视频通话业务对接入网络的要求,则接口选择模块为视频通话业务选定无线局域网链路作为业务数据所用的网络接入;
步骤304,接口选择模块确定了业务使用的网络接入后,比较上一次的网络接入选择结果,如果发生改变则利用SIP Publish发布新的网络接入选择。
结合图4说明终端完成策略五元组设置并启动业务数据交互的流程,包括:
步骤401,接口选择模块管理业务配置信息,如业务缺省流量、媒体流对应的端口号和协议名称;
步骤402,接口选择模块在为业务选定网络接入后,为业务配置五元组中的源IP地址、源端口号和协议名称;
视频通话业务涉及音频和视频两类媒体流交互,接口选择模块在为业务选定网络接入后,为业务的两类媒体流,分别配置一条五元组,将通话模块交换获得的无线局域网链路上分配的IP地址作为五元组的源IP地址,端口号分别设置为业务配置信息中的端口记录,协议名称字段也根据业务配置信息中记录来做设置,本例中音频流和视频流均采用UDP协议。
步骤403,接口选择模块利用SIP Subscribe向策略服务器发起一次对于业务对端的当前可用网络接入选择的订阅请求;
五元组中的目的IP地址代表了业务会话对端的网络接入选择。当业务对端的用户所在终端也通过SIP Publish及时发布最新的可用网络接入选择时,可以认为终端向策略服务器发起订阅后,得到的网络接入选择通知反映了业务对端当前最新可用网络接入。为简化服务器的处理逻辑,订阅没有有效时限,仅单次有效。
步骤404,终端在得到业务对端发布的可用网络接入选择后,即设定视频会话业务关联的五元组中目的IP地址,并根据业务配置信息设置目的端口号。
至此,视频会话的通讯两端均根据各自网络接入状况,实时分配了合适的网络接入来进行业务交互。设置路由控制选项,开始业务数据收发。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
当然,本发明还可有多种实施方式,在不背离本发明精神及其实质的情况,熟悉本领域的技术人员当可根据本发明做出各种相应的更改或变化,但凡在本发明的精神和原则之内所作的任何修改、等同替换、改进,均应包含在本发明的保护范围之内。