一种控制服务质量的方法、应用服务器及终端
技术领域
本发明属于通信领域,尤其涉及一种控制服务质量的方法、应用服务器及终端。
背景技术
移动终端首先通过无线连接把IP分组数据发往无线基站,无线基站将IP分组数据发往系统架构演进网关(System Architecture Evolution Gateway,SAE GW),SAE GW将IP分组数据路由到应用服务器,由应用服务器提供对应的分组业务,应用服务器主要提供分组业务,比如网页浏览,FTP下载,即时通信等。SAE GW还完成计费,策略执行等功能,比如统计用户数据流量,以便于计费系统扣费,策略和计费规则功能实体(Policy and ChargingRules Function,PCRF)主要完成策略控制功能,比如针对不同的业务制定不同的服务质量(Quality of Service,QoS)或者计费策略,并下发到SAE GW执行。在以前的移动应用中,很多都是客户端-服务器模型(Client-Server,CS),例如,要和别人聊天,需要安装QQ或者MSN软件,在CS模型中,每个应用都要安装独立的客户端软件,而现在随着超文本标记语言(Hypertext Markup Language,HTML)5标准的制定和完善,未来会有越来越多的业务通过浏览器-服务器(Brower-Server,BS)模型来实现,即所有的业务都是通过浏览器呈现给用户,不需要额外安装除浏览器以外的其他软件,比如WEB网游、开心网偷菜等都属于BS模型。
在BS模型中终端通过解析业务对应的HTML页面,层叠样式单(Cascading StyleSheet,CSS)文件以及JAVA脚本来提供各种各样的业务给终端,每种应用不需要提供额外的客户端软件,终端只需要安装一个浏览器即可。需要注意的是,不同应用对于移动网络传输的需求是不一样的。比如实时通信,在线游戏等对于传输时延有严格的要求,如果时延很高,实时通信或者在线游戏无法进行,再比如在线视频点播对于带宽有一定要求,当网络带宽很低时就会出现停顿,无法流畅观看。为了满足不同应用的QoS需求,3GPP标准定义了如下的策略控制解决方案。
终端向应用服务器请求业务,比如通过浏览器观看某个高清视频文件;因为视频传输需要较高的带宽,应用服务器向移动网络运营商的QoS控制功能实体请求提升QoS,包含业务流信息,所需带宽。这个QoS控制功能实体可以是移动带宽网络的PCRF网元,也可以是独立的能力开发平台;QoS控制功能实体生成基于业务的策略,并下发给SAE GW;SAE GW触发专有承载建立或者修改流程,指示无线基站为该承载预留无线资源;专有承载建立或者修改程序完成;SAE GW向QoS控制功能实体返回确认消息;QoS控制功能实体向应用服务器返回QoS提升成功;一旦完成QoS提升后,移动网络为业务传输建立一个从UE到SAE GW之间有QoS保证的传输通道,从而满足应用对于网络传输的时延带宽需求。
现有技术虽然可以满足不同应用对于网络传输QoS需求的问题,但是因为应用服务器提供的业务并不局限于特定移动网络的用户,从而使得应用服务器需要和不同移动网络运营商的QoS控制实体交互,这一方面导致了应用服务器实现复杂,也导致了QoS控制功能实体实现复杂,以中国移动网络为例,例如一个在线游戏需要QoS提升以满足时延的要求,则要分别和中国移动,中国联通,中国电信各自的QoS控制功能实体交互,每个QoS控制功能实体对外开放的接口可能还不一样,应用服务器需要能够处理这种差异性;另一方面而对于网络运营商的QoS控制功能实体来说,比如要和不同的应用服务器交互,这个问题一般称为能力开放碎片化,这也是网络能力开放难于普及的原因之一。
现有技术另外一个问题是,运营商提供的QoS控制能力,特别是QoS提升,因为预留了额外的无线资源,一般是要付费的,如果是应用服务器付费,则现有技术不存在问题,但如果是用户付费,需要现有技术在应用服务器和用户之间引入额外的交互机制,以确保用户愿意为该QoS提升付费,这同样增加了应用实现复杂性。
发明内容
本发明实施例的目的在于提供一种控制服务质量的方法,旨在解决应用服务器和不同网络运营商的QoS控制实体交互时接口不同的问题和QoS控制实体的能力开放碎片的问题。
第一方面,一种控制服务质量的方法,所述方法包括:
应用服务器接收终端HTML页面请求;
在超文本标记语言HTML页面插入服务质量QoS控制指示;
将包含所述服务质量QoS控制的HTML页面返回给终端,使得终端根据所述HTML页面的QoS控制指示,向运营商的Qos控制功能实体请求QoS控制,所述Qos控制包括Qos状态查询和/或QoS提升。
结合第一方面,在第一方面的第一种可能的实现方式中,所述QoS控制指示是一段java脚本,或新定义的HTML标记,或新增属性的HTML标记。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,当所述QoS控制指示是一段java脚本时:
所述java脚本要求所述终端调用QoS查询API,如果所述QoS查询API返回值的时延大于预设的时间值时,则所述终端调用QoS请求API,请求所述QoS小于预设的时间值。
结合第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,当所述QoS控制指示是新定义的HTML标记时:
所述新定义的HTML标记包含预先设置一定的带宽和/或时延,当数据传输小于预先设置的带宽和/或数据传输大于预先设置的时延时,所述终端向运营商的QoS控制功能实体发出请求,使得数据传输满足预先设置的带宽和/或时延。
结合第一方面的第一种可能的实现方式,在第一方面的第四种可能的实现方式中,当所述QoS控制指示是新增属性的HTML标记具体为:
所述新增属性的HTML标记包含预先设置一定的带宽,当数据传输小于预先设置的带宽时,所述终端向运营商的QoS控制功能实体发出请求,使得数据传输满足预先设置的带宽。
结合第一方面或者第一方面的第一种可能的实现方式或者第一方面的第二种可能的实现方式或者第一方面的第三种可能的实现方式或者第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述方法还包括:
所述应用服务器在HTML页面插入应用服务器证书;
终端向运营商的QoS控制功能实体发出请求时携带所述应用服务器证书,QoS控制功能实体通过所述应用服务器证书确定所述QoS控制由应用触发,并向所述应用计费。
第二方面,一种控制服务质量的方法,所述方法包括:
终端解析HTML页面的QoS控制指示,并向运营商的QoS控制功能实体请求QoS控制;
接收所述QoS控制功能实体返回的请求结果,并根据请求结果进行处理。
结合第二方面,在第二方面的第一种可能的实现方式中,所述终端解析所述HTML页面的QoS控制指示,并向运营商的QoS控制功能实体请求QoS控制,包括:
所述终端解析所述HTML页面的QoS控制指示,并调用安装在终端上的浏览器插件,通过所述浏览器插件向运营商的QoS控制功能实体发送QoS控制请求。
结合第二方面,在第二方面的第二种可能的实现方式中,所述终端解析所述HTML页面的QoS控制指示,并向运营商的QoS控制功能实体请求QoS控制,包括:
所述终端解析所述HTML页面的QoS控制指示,向通用的能力开放平台调用应用程序编程接口API,通过所述通用的能力开放平台向运营商的QoS控制功能实体发送QoS控制请求。
结合第二方面或者第二方面的第一种可能的实现方式或者第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述方法还包括:
在所述终端向所述运营商QoS控制功能实体发送QoS控制请求之前,根据预先配置的信息确定是否需要提醒用户发送QoS控制请求,或者根据网络运营商的浏览器插件或者通用的能力开放平台和所述运营商QoS控制功能实体的交互结果确定是否需要提醒用户发送QoS控制请求;
所述提示用户发送QoS控制请求,包括:
弹出提示窗口或者在现有窗口添加提示信息。
第三方面,一种应用服务器,所述应用服务器包括:
插入单元,用于应用服务器在超文本标记语言HTML页面插入服务质量QoS控制指示;
接收单元,用于接收终端HTML页面请求,将包含所述QoS服务质量QoS的HTML页面返回给终端,使得终端根据所述HTML页面的QoS控制指示,向运营商的Qos控制功能实体请求QoS控制,所述Qos控制包括Qos状态查询和/或QoS提升。
结合第三方面,在第三方面的第一种可能的实现方式中,所述QoS控制指示是一段java脚本,或新定义的HTML标记,或新增属性的HTML标记。
结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述插入单元,具体用于:
在HTML页面插入java脚本,所述java脚本要求所述终端调用QoS查询API,如果所述QoS查询API的返回值大于预设的时延值时,则所述终端调用QoS请求API,,请求所述QoS小于预设的时间值。
结合第三方面的第一种可能的实现方式,在第三方面的第三种可能的实现方式中,所述插入单元,具体用于:
在HTML页面插入新定义的HTML标记,所述新定义的HTML标记包含预先设置一定的带宽和/或时延,当数据传输小于预先设置的带宽和/或数据传输大于预先设置的时延时,所述终端向运营商的QoS控制功能实体发出请求,使得数据传输满足预先设置的带宽和/或时延。
结合第三方面的第一种可能的实现方式,在第三方面的第四种可能的实现方式中,所述插入单元,具体用于:
应用服务器在HTML页面插入新增属性的HTML标记,所述新增属性包含预先设置一定的带宽,当数据传输小于预先设置的带宽时,所述终端向运营商的QoS控制功能实体发出请求,使得数据传输满足预先设置的带宽。
结合第三方面或者第三方面的第一种可能的实现方式或者第三方面的第二种可能的实现方式或者第三方面的第三种可能的实现方式或者第三方面的第四种可能的实现方式,在第三方面的第五种可能的实现方式中,所述应用服务器还包括:
插入子单元,用于所述插入单元在HTML页面插入应用服务器证书,当接收所述终端HTML页面请求中有所述应用服务器证书,QoS控制功能实体通过所述应用服务器证书确定所述QoS控制由应用触发,并向所述应用计费。
第四方面,一种终端,所述终端包括:
解析单元,用于终端解析HTML页面的QoS控制指示,
发送单元,用于向运营商的QoS控制功能实体请求QoS控制;
呈现单元,用于根据所述QoS控制功能实体返回的请求结果进行处理。
结合第四方面,在第四方面的第一种可能的实现方式中,所述解析单元,具体用于:
解析所述HTML页面的QoS控制指示,并调用安装在终端上的浏览器插件,通过所述浏览器插件,向运营商的QoS控制功能实体发送QoS控制请求,所述浏览器插件是终端所属的运营商提供的。
结合第四方面,在第四方面的第二种可能的实现方式中,所述解析单元,具体用于:
所述解析单元解析所述HTML页面的QoS控制指示,向通用的能力开放平台调用应用程序编程接口API,通过所述通用的能力开放平台向运营商的QoS控制功能实体发送QoS控制请求。
结合第四方面或者第四方面的第一种可能的实现方式或者第四方面的第二种可能的实现方式,在第四方面的第三种可能的实现方式中,所述终端还包括:
提醒单元,用于在所述终端向所述运营商QoS控制功能实体发送QoS控制请求之前,根据预先配置的信息确定是否需要提醒用户发送QoS控制请求,或者根据网络运营商的浏览器插件或者通用的能力开放平台和所述运营商QoS控制功能实体的交互结果确定是否需要提醒用户发送QoS控制请求;
所述提示用户发送QoS控制请求,包括:
弹出提示窗口或者在现有窗口添加提示信息。
与现有技术相比,本发明实施例公开了一种控制服务质量的方法,所述方法中应用服务器在HTML页面插入QoS控制指示,使得终端解析所述HTML页面的QoS控制指示,向运营商的QoS控制功能实体请求QoS控制,从而使得QoS控制能力由应用服务器和网络运营商之间的交互,变成终端和网络运营商之间的交互,不需要应用服务器和对应的网络运营商QoS控制功能实体交互,简化了应用服务器的处理;同时,对于网络运营商的QoS控制功能实体而言,只需要和网络运营商安装在终端浏览器的插件或者通用的能力开放平台交互,避免了和不同的应用服务器交互,同样简化了QoS控制功能实体的实现,从而解决了能力开放碎片化的问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种控制服务质量的方法流程图;
图2是本发明实施例提供的一种控制服务质量的方法示意图;
图3是本发明实施例提供的一种控制服务质量的方法示意图;
图4是本发明实施例提供的一种控制服务质量的方法示意图;
图5是本发明实施例二提供的一种控制服务质量的方法流程图;
图6是本发明实施例三提供的一种应用服务器的装置结构图;
图7是本发明实施例四提供的一种终端的装置结构图;
图8是本发明实施例五提供的一种应用服务器的装置结构图;
图9是本发明实施例六提供的一种终端的装置结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
实施例一
参考图1,图1是本发明实施例一提供的一种控制服务质量的方法流程图。如图1所示,所述方法包括以下步骤:
步骤101,应用服务器接收终端HTML页面请求;
步骤102,在超文本标记语言HTML页面插入服务质量QoS控制指示;
其中,所述QoS控制指示是一段java脚本,或新定义的HTML标记,或新增属性的HTML标记。
可选地,所述应用服务器在HTML页面插入QoS控制指示,所述QoS控制指示是一段java脚本具体为:
应用服务器在HTML页面插入java脚本,所述java脚本要求所述终端调用QoS查询API,如果所述QoS查询API的返回值大于预设的时延值时,则调用QoS请求API,请求所述QoS小于预设的时间值。
具体的,参考图2的步骤202,在线游戏网站对于传输时延有一定要求,应用服务器在HTML页面插入如下java脚本:
Navigator.QoScontrol.getCurrentQoS(QoS information);
if QoS information.delay>100ms,
then Navigator.QoScontrol.UpdatetQoS(100ms);
上述脚本的含义是首先要求浏览器调用QoS查询API,如果所述QoS查询API的返回值的时延大于100ms,则调用QoS请求API,要求网络传输时延小于100ms;
可选地,所述应用服务器在HTML页面插入QoS控制指示,所述QoS控制指示是新定义的HTML标记具体为:
应用服务器在HTML页面插入新定义的HTML标记,所述新定义的HTML标记包含预先设置一定的带宽和/或时延,当数据传输小于预先设置的带宽和/或数据传输大于预先设置的时延时,所述终端向运营商的QoS控制功能实体发出请求,使得数据传输满足预先设置的带宽和/或时延。
具体的,参考图3的步骤303,针对视频网站提供同一电影的不同分辨率视频文件,分别对应高清,标清等,所述应用服务器返回HTML页面的中包含如下内容:
<video id="movie">
<source src="XXX.mp4"type='video/mp4;bandwidth required=512Kbit/s/>
<source src="YYY.mp4"type='video/mp4;bandwidth required=1Mbits/s/>
</video>
Source src部分表示不同分辨率视频文件,例如,"XXX.mp4"type表示标清文件,"YYY.mp4"type表示高清文件,Bandwidth required部分表示不同分辨率视频文件所需要的最小带宽,可以以现有HTML标记(video)中新增属性的方式实现。
可选地,所述应用服务器在HTML页面插入QoS控制指示,所述QoS控制指示是新增属性的HTML标记具体为:
应用服务器在HTML页面插入新增属性的HTML标记,所述新增属性包含预先设置一定的带宽,当数据传输小于预先设置的带宽时,所述终端向运营商的QoS控制功能实体发出请求,使得数据传输满足预先设置的带宽。
具体的,参考图4的步骤402,针对通信对于传输时延和带有有一定要求,其可以在HTML页面中插入新增的QoS标记
<QoS>
<guaranteed bandwidth=512Kbit/s/>
<guaranteed delay<=100ms>
</QoS>
guaranteed bandwidth部分表示传输带宽的要求,guaranteed delay部分表示传输时延的要求。
作为另一种可选的实施例,所述方法还包括:
所述应用服务器在HTML页面插入应用服务器证书;
终端向运营商的QoS控制功能实体发出请求时携带所述应用服务器证书,QoS控制功能实体通过所述应用服务器证书确定所述QoS控制由应用触发,并向所述应用计费。
具体的,参考图4的步骤403和步骤404,终端解析HTML页面,当发现新增的QoS标记后,向通用的能力开放平台调用QoS提升API,除了包含用户标识、QoS需求、业务流标识外,还包含应用证书信息;所述通用的能力开放平台根据所述应用证书信息,从应用服务器对应的账户扣费,所述账户可以是应用服务器预先提供给通用的能力开放平台的,比如应用服务器提供的信用卡信息等。
步骤103,将包含所述服务质量QoS控制的HTML页面返回给终端,使得终端根据所述HTML页面的QoS控制指示,向运营商的Qos控制功能实体请求QoS控制,所述Qos控制包括Qos状态查询和/或QoS提升。
本发明实施例公开了一种控制服务质量的方法,所述方法中应用服务器在HTML页面插入QoS控制指示,使得终端解析所述HTML页面的QoS控制指示,向运营商的QoS控制功能实体请求QoS控制,从而使得QoS控制能力由应用服务器和网络运营商之间的交互,变成终端和网络运营商之间的交互,不需要应用服务器和对应的网络运营商QoS控制功能实体交互,简化了应用服务器的处理;同时,对于网络运营商的QoS控制功能实体而言,只需要和网络运营商安装在终端的插件或者通用的能力开放平台交互,避免了和不同的应用服务器交互,同样简化了QoS控制功能实体的实现,从而解决了能力开放碎片化的问题。
实施例二
参考图5,图5是本发明实施例二提供的一种控制服务质量的方法流程图。如图5所示,所述方法包括以下步骤:
步骤501,终端解析所述HTML页面的QoS控制指示,并向运营商的QoS控制功能实体请求QoS控制;
可选地,所述终端解析所述HTML页面的QoS控制指示,并向运营商的QoS控制功能实体请求QoS控制,包括:
所述终端解析所述HTML页面的QoS控制指示,并调用安装在终端上的浏览器插件,通过所述浏览器插件向运营商的QoS控制功能实体发送QoS控制请求,所述浏览器插件是终端所属的运营商提供的。
具体的,参考图3的步骤304,终端解析HTML页面中的标记,当发现HTML页面的QoS控制指示后,调用安装在终端上的浏览器插件,由所述浏览器插件向网络运营商的QoS控制功能实体发送QoS查询消息或者调用QoS查询应用程序编程接口(ApplicationProgramming Interface,API),所述QoS查询消息或者调用QoS查询API可以承载在HTTPS上以保证安全。
可选地,所述终端解析所述HTML页面的QoS控制指示,并向运营商的QoS控制功能实体请求QoS控制,包括:
所述终端解析所述HTML页面的QoS控制指示,向通用的能力开放平台调用应用程序编程接口API,通过所述通用的能力开放平台向运营商的QoS控制功能实体发送QoS控制请求。
具体的,参考图2的步骤203,终端解析HTML页面的java脚本,当发现所述HTML页面的QoS控制指示后,直接向通用的能力开放平台调用QoS查询API查询当前网络传输时延情况,所述通用开放能力平台可能是和终端绑定的,比如微软公司的IE浏览器会向微软的能力开放平台调用QoS查询API,谷歌的chrome浏览器会向谷歌的能力开放平台调用QoS查询API,所述能力开放平台也可以和浏览器无关,由第三方提供,任何浏览器都可以向所述能力开放平台调用QoS查询API。无论所述能力开放平台是否与终端绑定,所述终端向所述能力开放平台调用QoS查询API时需要考虑终端用户属于哪个网络运营商。
作为一种可选的实施例,所述方法还包括:
在所述终端向所述运营商QoS控制功能实体发送QoS控制请求之前,根据预先配置的信息确定是否需要提醒用户发送QoS控制请求,或者根据网络运营商的浏览器插件或者通用的能力开放平台和所述运营商QoS控制功能实体的交互结果确定是否需要提醒用户发送QoS控制请求;
所述提示用户发送QoS控制请求,包括:
弹出提示窗口或者在现有窗口添加提示信息。
具体的,参考图2的步骤207,当传输时延大于100ms,由于不满足在线游戏的需求,根据脚本的判断逻辑,需要调用QoS提升API。由于QoS提升API可能需要预留更多的无线资源,所以网络运营商对于这个API是付费的,终端在调用这个API前,可以向用户弹出提示信息,只有当用户确认后所述终端才会调用QoS提升API。具体提示用户的方式包括弹出提示窗口或者在现有窗口上添加提示信息;
同时,终端可以配置哪些些QoS控制API需要提示用户,比如对于QoS查询API就不需要提示用户;或者终端也可以直接向能力开放平台调用QoS提升API,通用能力开放平台发现该QoS提升需要额外付费,则可以在QoS提升API的响应消息中指示浏览器提示用户,并在用户确认后重新请求QoS提升API。
步骤502,接收所述QoS控制功能实体返回的请求结果,并根据请求结果进行处理。
例如,终端根据所述QoS控制功能实体返回的请求结果,将与所述QoS控制相关的业务呈现给用户。
本发明实施例公开了一种控制服务质量的方法,所述方法中应用服务器在HTML页面插入QoS控制指示,使得终端解析所述HTML页面的QoS控制指示,向运营商的QoS控制功能实体请求QoS控制,从而使得QoS控制能力由应用服务器和网络运营商之间的交互,变成终端和网络运营商之间的交互,不需要应用服务器和对应的网络运营商QoS控制功能实体交互,简化了应用服务器的处理;同时,对于网络运营商的QoS控制功能实体而言,只需要和网络运营商安装在终端浏览器的插件或者通用的能力开放平台交互,避免了和不同的应用服务器交互,同样简化了QoS控制功能实体的实现,从而解决了能力开放碎片化的问题。
下面以图2、图3和图4为例,对实施例一和实施例二中应用服务器和终端交互的方法进行进一步说明,对图2、图3、图4中各步骤的顺序不做限制,仅以其中一种方式进行举例说明。
参考图2,图2是本发明实施例提供的一种控制服务质量的方法示意图。
本实施例中应用服务器提供在线游戏业务,由于在线游戏对于时延要求较高,该业务需要查询网络当前时延,当时延不满足业务需求后,需要调用QOS提升API减小网络传输时延以满足业务的需求。如图2所示,
步骤201,终端向应用服务器发送HTTP请求,请求在线游戏的页面;
步骤202,针对本例在线游戏网站对于传输时延有一定要求,应用服务器可以在HTML页面中插入如下java脚本:
Navigator.QoScontrol.getCurrentQoS(QoS information);
if QoS information.delay>100ms,
then Navigator.QoScontrol.UpdatetQoS(100ms);
上述脚本的含义是首先要求浏览器调用QoS查询API,如果所述QoS查询API返回值的时延大于100ms,则调用QoS请求API,要求网络传输时延小于100ms;
步骤203,终端解析HTML页面中的java脚本,当发现上述语句后,首先调用QoS查询API查询当前网络传输时延情况,浏览器直接向通用的能力开放平台调用QoS查询API,该通用能力开放平台可能是和浏览器绑定的,比如微软公司的IE浏览器会向微软的能力开放平台调用QoS查询API,谷歌的chrome浏览器会向谷歌的能力开放平台调用QoS查询API,该能力开放平台也可以与浏览器无关,由第三方提供,任何浏览器都可以向该能力开放平台调用QoS查询API。不论该能力开放平台是否与浏览器绑定,浏览器在向该能力开放平台调用QoS查询API时不需要考虑用户属于那个网络运营商。
步骤204,通用的能力开放平台根据QoS查询API里包含的用户ID,比如电话号码等,确定该用户所属的网络运营商,并向该运营商的QoS控制实体发送QoS查询请求消息或者QoS查询API;
步骤205,网络运营商的QoS控制实体返回当前用户的QoS状态;
步骤206,能力开放平台向浏览器返回当前QoS状态;
步骤207,针对本实施例,当前的传输时延大于100ms,由于不满足在线游戏的需求,根据脚本的判断逻辑,需要调用QoS提升API。由于QoS提升API可能需要预留更多的无线资源,所以网络运营商对于这个API是付费的,浏览器在调用这个API前,可以向用户弹出提示信息,只有当用户确认后浏览器才会调用QoS提升API。具体提示用户包括弹出提示窗口或者在现有窗口上添加提示信息。
同时,浏览器可以配置那些QoS控制API需要提示用户,比如对于QoS查询API就不需要提示用户;浏览器也可以直接向能力开放平台调用QoS提升API,通用能力开放平台发现该QoS提升需要额外付费,则可以在QoS提升API的响应消息中指示浏览器提示用户,并在用户确认后重新请求QoS提升API;
步骤208,浏览器向通用能力开放平台调用QoS提升API,包含用户ID,业务所需的QoS,针对本例就是时延小于100ms,以及业务流信息,该业务流表明了该在线游戏业务,具体格式可以是IP五元组;
步骤209,通用的能力开放平台根据QoS提升API里包含的用户ID,确定该用户所属的网络运营商,并向该运营商的QoS控制功能实体发送QoS提升请求消息或者QoS提升API;
步骤210,针对本例网络运营商的QoS控制功能实体是个独立的网元,该独立的功能网元可以通过现有标准已经定义的Rx接口指示PCRF满足该业务流的QoS需求;
步骤211,PCRF生成基于业务的策略,并下发给SAE网关
步骤212,SAE网关触发专有承载建立或者修改流程,指示无线基站为该承载预留无线资源以保障该业务的QoS
步骤213,专有承载建立或者修改流程完成
步骤214,SAE网关向PCRF返回确认消息
步骤215,PCRF向独立的QoS控制功能实体返回确认消息
步骤216,QoS控制功能实体向通用的能力开放平台返回QoS提升结果;
步骤217,通用能力开放平台把QoS提升结果返回给浏览器,浏览器和应用服务器交互以提供在线游戏,由于通过QoS提升时延已经小于100ms,所以用户可以流畅的进行在线游戏;
通过本实施例可以看出,对于应用服务器来说,只需要在现有的标记中插入统一的JAVA脚本语句,不需要应用服务器和对应的网络运营商QoS控制功能实体交互,简化了应用服务器的处理。对与网络运营商QoS控制功能实体来说,仅需要和通用能力开放平台交互,不需要和单独的应用服务器交互,简化了QoS控制功能实体的实现。对于浏览器而言,只需要同通用能力开放平台交互,由能力开放平台负责选择对应网络运营商并完成相关QoS控制操作。
参考图3,图,3是本发明实施例提供的一种控制服务质量的方法示意图。
本实施例应用服务器提供WEB视频点播业务,应用服务本身有多种分辨率的视频文件,比如有高清,标清等,不同分辨率对于网络带宽要求不同,分辨率越低的对于网络带宽要求越小。
如图3所示,所述方法包括如下步骤:
步骤301,终端和应用服务器之间建立传输控制协议(Transmission ControlProtocol,TCP)连接;
步骤302,终端发送超文本传输协议(Hypertext Tranfer Progocol,HTTP)请求,请求视频网站的页面;
步骤303,针对本例视频网站提供同一电影的不同分辨率视频文件,分别对应高清,标清等,其返回HTML页面的中包含如下内容:
<video id="movie">
<source src="XXX.mp4"type='video/mp4;bandwidth required=512Kbit/s/>
<source src="YYY.mp4"type='video/mp4;bandwidth required=1Mbits/s/>
</video>
Source src部分表示不同分辨率视频文件,例如,"XXX.mp4"type表示标清文件,"YYY.mp4"type表示高清文件,Bandwidth required部分表示不同分辨率视频文件所需要的最小带宽,在本实施例中是以现有HTML标记(video)中新增属性的方式实现。
步骤304,浏览器解析HTML页面中的标记,当发现上述新增属性后,调用安装在终端上的浏览器插件,由浏览器插件向网络运营商的QoS控制功能实体发送QoS查询消息或者调用QoS查询API,QoS查询消息或者QoS查询API可以承载在HTTPS上以保证安全性。可选的在查询消息中可以包含终端当前所在位置信息,比如当前终端所在的无线小区信息。需要说明的是,这里的浏览器插件是终端用户所属的网络运营商安装的,比如终端用户A属于移动运营商X,则安装移动运营商X的浏览器插件,该插件负责和网络运营商X的QoS控制功能实体交互,同理终端用户B属于属于移动运营商Y,则安装移动运营商Y的浏览器插件,该插件负责和网络运营商Y的QoS控制功能实体交互。
步骤305,网络运营商的QoS控制功能实体在收到QoS查询消息或者收到QoS查询API调用后,根据消息里的位置信息,向对应的无线基站查询用户当前QoS状态信息;
同时,这里的QoS控制功能实体即可以是网络运营商独立的能力开放平台也可以是现在标准定义的策略和计费规则功能实体(Policy and charging rules function,PCRF)网元。
步骤306,无线基站根据当前无线资源使用情况,返回用户当前的QoS状态,包括可用的最大带宽,当前最大传输时延,以及当前网络是否拥塞等;
步骤307,QoS控制功能实体向浏览器插件返回当前可用QoS信息,
步骤308,浏览器根据浏览器插件得到可用QoS信息,选择合适分辨率的视频文件,针对本例QoS控制功能实体返回的用户可用最大带宽为600Kbits/s,根据这个结果,浏览器选择下载XXX.mp4视频文件(对应标清视频)并呈现给用户;
步骤309,浏览器想应用服务器发起第二个HTTP请求,下载标清视频文件;
步骤310,应用服务器返回对应的视频文件。
通过本实施例可以看出,对于应用服务器来说,只需要在现有的标记中插入统一的新增属性,就可以触发浏览器调用相关的QoS控制操作,而不用关注该用户属于那个网络运营商,也不需要应用服务器和对应的网络运营商QoS控制功能实体交互,简化了应用服务器的处理。对于网络运营商QoS控制功能实体而言,只需要和网络运营商安装在用户终端的浏览器插件交互,避免了和不同应用服务器交互,同样简化了QoS控制功能实体的实现。这样就解决了现有技术能力开放碎片化的问题。
参考图4,图4是本发明实施例提供的一种控制服务质量的方法示意图。如图4和图2一样,都需要向网络请求QoS提升,但与图2不同的是,在本实施例里,QoS提升API是由应用服务器付费而不是用户付费。
步骤401,终端发送HTTP请求,请求基于WEB的实时通信服务,比如视频聊天业务;
步骤402,针对本例在实施通信对于传输时延和带有有一定要求,其可以在HTML页面中插入新增的QoS标记
<QoS>
<guaranteed bandwidth=512Kbit/s/>
<guaranteed delay<=100ms>
</QoS>
因为本实施例里是由应用为该QoS需求付费的,所以在HTML页面中可以插入应用证书等信息以标识该应用;
步骤403,浏览器解析HTML页面,当发现上述QoS标记后,向通用开放平台调用QoS提升API,除了包含用户标识,QoS需求,业务流标识外,还包含应用证书信息;
步骤404,通用能力开放平台根据应用证书信息,从应用服务器对应的账户扣费,该账户可以是应用服务器预先提供给通用能力开放平台的,比如应用服务器提供的信用卡信息;
步骤405,通用的能力开放平台根据QoS提升API里包含的用户ID,确定该用户所属的网络运营商,并向该运营商的QoS控制功能实体发送QoS提升请求消息或者QoS提升API,需要说明的是本实例QoS控制功能实体就集成在现有移动网络的PCRF上,通用能力开放平台与QoS控制功能实体之间的交互可以通过标准已经定义的Rx接口,也可以利用QoS控制功能实体开放的API来实现;
步骤406,QoS控制功能实体生成策略和计费控制(Policy and chargingcontrol,PCC)规则,该消息同时包含通用平台的计费ID;
步骤407,网关执行策略,触发专有承载的建立;
步骤408,专有承载建立成功;
步骤409,网关向QoS控制功能实体返回应答消息。同时网关与移动网络运营商的计费系统交互,针对该业务流计费,在交互过程中网关把QoS控制功能实体下发的通用平台的计费ID装发给计费系统,移动网络运营商对于该通用能力平台账户进行扣费;
步骤410,QoS控制功能实体向能力开放平台返回QoS提升确认消息;
步骤411,通用能力开放平台把QoS提升结果返回给浏览器,浏览器和应用服务器交互以提供基于WEB的实时通信业务,由于带宽和时延都得到了保障,用户具有良好的业务体验。
在本实施例里,通用能力开放平台不但由于选择对应网络运营商的QoS控制功能实体,还作为一个计费代理,一方面向网络运营商付费,另一方面向应用服务器中特定的应用收费。
本发明实施例公开了一种控制服务质量的方法,所述方法中应用服务器在HTML页面插入QoS控制指示,使得终端解析所述HTML页面的QoS控制指示,向运营商的QoS控制功能实体请求QoS控制,从而使得QoS控制能力由应用服务器和网络运营商之间的交互,变成终端和网络运营商之间的交互,不需要应用服务器和对应的网络运营商QoS控制功能实体交互,简化了应用服务器的处理;同时,对于网络运营商的QoS控制功能实体而言,只需要和网络运营商安装在终端浏览器的插件或者通用的能力开放平台交互,避免了和不同的应用服务器交互,同样简化了QoS控制功能实体的实现,从而解决了能力开放碎片化的问题。
实施例三
参考图6,图6是本发明实施例三提供的一种应用服务器的装置结构图。如图6所示,所述应用服务器包括以下单元:
插入单元601,用于应用服务器在超文本标记语言HTML页面插入服务质量QoS控制指示;
其中,所述QoS控制指示是一段java脚本,或新定义的HTML标记,或新增属性的HTML标记。
可选地,所述插入单元601,具体用于:
应用服务器在HTML页面插入java脚本,所述java脚本要求所述终端调用QoS查询API,如果所述QoS查询API的返回值大于预设的时间值时,则所述终端调用QoS查询API,请求所述Qo小于预设的时间值。
具体的,参考图2的步骤202,在线游戏网站对于传输时延有一定要求,应用服务器在HTML页面插入如下java脚本:
Navigator.QoScontrol.getCurrentQoS(QoS information);
if QoS information.delay>100ms,
then Navigator.QoScontrol.UpdatetQoS(100ms);
上述脚本的含义是首先要求浏览器调用QoS API,如果所述QoS查询API的返回值的时延大于100ms,则调用QoS请求API,要求网络传输时延小于100ms。
可选地,所述插入单元601,具体用于:
在HTML页面插入新定义的HTML标记,所述新定义的HTML标记包含预先设置一定的带宽和/或时延,当数据传输小于预先设置的带宽和/或数据传输大于预先设置的时延时,所述终端向运营商的QoS控制功能实体发出请求,使得数据传输满足预先设置的带宽和/或时延。
具体的,参考图3的步骤303,针对视频网站提供同一电影的不同分辨率视频文件,分别对应高清,标清等,所述应用服务器返回HTML页面的中包含如下内容:
<video id="movie">
<source src="XXX.mp4"type='video/mp4;bandwidth required=512Kbit/s/>
<source src="YYY.mp4"type='video/mp4;bandwidth required=1Mbits/s/>
</video>
Bandwidth required部分表示不同分辨率视频文件所需要的最小带宽,可以以现有HTML标记(video)中新增属性的方式实现。
可选地,所述插入单元601,具体用于:
应用服务器在HTML页面插入新增属性的HTML标记,所述新增属性包含预先设置一定的带宽,当数据传输小于预先设置的带宽时,所述终端向运营商的QoS控制功能实体发出请求,使得数据传输满足预先设置的带宽。
具体的,参考图4的步骤402,针对通信对于传输时延和带有有一定要求,其可以在HTML页面中插入新增的QoS标记
<QoS>
<guaranteed bandwidth=512Kbit/s/>
<guaranteed delay<=100ms>
</QoS>
guaranteed bandwidth部分表示传输带宽的要求,guaranteed delay部分表示传输时延的要求。
作为一种可选的实施例,所述应用服务器还包括:
插入子单元,用于所述插入单元在HTML页面插入应用服务器证书,当接收所述终端HTML页面请求中有所述应用服务器证书,QoS控制功能实体通过所述应用服务器证书确定所述QoS控制由应用触发,并向所述应用计费。
具体的,参考图4的步骤403和步骤404,终端解析HTML页面,当发现新增的QoS标记后,向通用的能力开放平台调用QoS提升API,除了包含用户标识、QoS需求、业务流标识外,还包含应用证书信息;所述通用的能力开放平台根据所述应用证书信息,从应用服务器对应的账户扣费,所述账户可以是应用服务器预先提供给通用的能力开放平台的,比如应用服务器提供的信用卡信息等。
接收单元602,用于接收终端HTML页面请求,将包含所述QoS服务质量QoS的HTML页面返回给终端,使得终端根据所述HTML页面的QoS控制指示,向运营商的Qos控制功能实体请求QoS控制,所述Qos控制包括Qos状态查询和/或QoS提升。
本发明实施例公开了一种应用服务器,所述应用服务器在HTML页面插入QoS控制指示,使得终端解析所述HTML页面的QoS控制指示,向运营商的QoS控制功能实体请求QoS控制,从而使得QoS控制能力由应用服务器和网络运营商之间的交互,变成终端和网络运营商之间的交互,不需要应用服务器和对应的网络运营商QoS控制功能实体交互,简化了应用服务器的处理;同时,对于网络运营商的QoS控制功能实体而言,只需要和网络运营商安装在终端浏览器的插件或者通用的能力开放平台交互,避免了和不同的应用服务器交互,同样简化了QoS控制功能实体的实现,从而解决了能力开放碎片化的问题。
实施例四
参考图7,图7是本发明实施例四提供的一种终端的装置结构图。如图7所示,所述终端包括以下单元:
解析单元701,用于终端解析HTML页面的QoS控制指示;
发送单元702,用于向运营商的QoS控制功能实体请求QoS控制;
可选地,所述解析单元701,具体用于:
所述终端解析所述HTML页面的QoS控制指示,并调用安装在终端上的浏览器插件,通过所述浏览器插件向运营商的QoS控制功能实体发送QoS控制请求,所述浏览器插件是终端所属的运营商提供的。
具体的,参考图3的步骤304,终端解析HTML页面中的标记,当发现HTML页面的QoS控制指示后,调用安装在终端上的浏览器插件,由所述浏览器插件向网络运营商的QoS控制功能实体发送QoS查询消息或者调用QoS查询应用程序编程接口(ApplicationProgramming Interface,API),所述QoS查询消息或者调用QoS查询API可以承载在HTTPS上以保证安全。
可选地,所述解析单元701,具体用于:
所述终端解析所述HTML页面的QoS控制指示,向通用的能力开放平台调用应用程序编程接口API,通过所述通用的能力开放平台向运营商的QoS控制功能实体发送QoS控制请求。
具体的,参考图2的步骤203,终端解析HTML页面的java脚本,当发现所述HTML页面的QoS控制指示后,直接向通用的能力开放平台调用QoS查询API查询当前网络传输时延情况,所述通用开放能力平台可能是和终端绑定的,比如微软公司的IE浏览器会向微软的能力开放平台调用QoS查询API,谷歌的chrome浏览器会向谷歌的能力开放平台调用QoS查询API,所述能力开放平台也可以和浏览器无关,由第三方提供,任何浏览器都可以向所述能力开放平台调用QoS查询API。无论所述能力开放平台是否与终端绑定,所述终端向所述能力开放平台调用QoS查询API时需要考虑终端用户属于哪个网络运营商。
呈现单元703,用于根据所述QoS控制功能实体返回的请求结果进行处理。
作为另一种可选的实施例,所述终端还包括:
提醒单元,用于在所述终端向所述运营商QoS控制功能实体发送QoS控制请求之前,根据预先配置的信息确定是否需要提醒用户发送QoS控制请求,或者根据网络运营商的浏览器插件或者通用的能力开放平台和所述运营商QoS控制功能实体的交互结果确定是否需要提醒用户发送QoS控制请求;
所述提示用户发送QoS控制请求,包括:
弹出提示窗口或者在现有窗口添加提示信息。
具体的,参考图2的步骤207,当传输时延大于100ms,由于不满足在线游戏的需求,根据脚本的判断逻辑,需要调用QoS提升API。由于QoS提升API可能需要预留更多的无线资源,所以网络运营商对于这个API是付费的,终端在调用这个API前,可以向用户弹出提示信息,只有当用户确认后所述终端才会调用QoS提升API。具体提示用户的方式包括弹出提示窗口或者在现有窗口上添加提示信息;
同时,终端可以配置哪些些QoS控制API需要提示用户,比如对于QoS查询API就不需要提示用户;或者终端也可以直接向能力开放平台调用QOS提升API,通用能力开放平台发现该QoS提升需要额外付费,则可以在QoS提升API的响应消息中指示浏览器提示用户,并在用户确认后重新请求QoS提升API。
本发明实施例公开了一种终端,所述终端解析所述应用服务器在HTML页面插入的QoS控制指示,向运营商的QoS控制功能实体请求QoS控制,从而使得QoS控制能力由应用服务器和网络运营商之间的交互,变成终端和网络运营商之间的交互,不需要应用服务器和对应的网络运营商QoS控制功能实体交互,简化了应用服务器的处理;同时,对于网络运营商的QoS控制功能实体而言,只需要和网络运营商安装在终端浏览器的插件或者通用的能力开放平台交互,避免了和不同的应用服务器交互,同样简化了QoS控制功能实体的实现,从而解决了能力开放碎片化的问题。
实施例五
参考图8,图8是本发明实施例五提供的一种应用服务器的装置结构图。参考图8,图8是本发明实施例提供的一种应用服务器800,本发明具体实施例并不对所述应用服务器的具体实现做限定。所述应用服务器800包括:
处理器(processor)801,通信接口(Communications Interface)802,存储器(memory)803,总线804。
处理器801,通信接口802,存储器803通过总线804完成相互间的通信。
通信接口802,用于与终端进行通信;
处理器801,用于执行程序。
具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。
处理器801可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器803,用于存放程序。存储器803可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory)。程序具体可以用于:
应用服务器在超文本标记语言HTML页面插入服务质量QoS控制指示;
接收终端HTML页面请求,将包含所述服务质量QoS控制的HTML页面返回给终端,使得终端根据所述HTML页面的QoS控制指示,向运营商的Qos控制功能实体请求QoS控制,所述Qos控制包括Qos状态查询和/或QoS提升。
所述QoS控制指示是一段java脚本,或新定义的HTML标记,或新增属性的HTML标记。
所述应用服务器在HTML页面插入QoS控制指示,所述QoS控制指示是一段java脚本具体为:
应用服务器在HTML页面插入java脚本,所述java脚本要求所述终端调用QoS查询API,如果所述QoS查询API的返回值的时延大于预设的时间值时,则所述终端调用QoS请求API,请求所述QoS小于预设的时间值。
当所述QoS控制指示是新定义的HTML标记时:
所述新定义的HTML标记包含预先设置一定的带宽和/或时延,当数据传输小于预先设置的带宽和/或数据传输大于预先设置的时延时,所述终端向运营商的QoS控制功能实体发出请求,使得数据传输满足预先设置的带宽和/或时延。
当所述QoS控制指示是新增属性的HTML标记具体为:
所述新增属性的HTML标记包含预先设置一定的带宽,当数据传输小于预先设置的带宽时,所述终端向运营商的QoS控制功能实体发出请求,使得数据传输满足预先设置的带宽。
所述方法还包括:
所述应用服务器在HTML页面插入应用服务器证书,当接收所述终端HTML页面请求中有所述应用服务器证书,通过所述应用服务器证书确定所述QoS控制由应用触发,并向所述应用计费。
实施例六
参考图9,图9是本发明实施例六提供的一种终端的装置结构图。参考图9,图9是本发明实施例提供的一种终端900,本发明具体实施例并不对所述终端的具体实现做限定。所述终端900包括:
处理器(processor)901,通信接口(Communications Interface)902,存储器(memory)903,总线904。
处理器901,通信接口902,存储器903通过总线904完成相互间的通信。
通信接口902,用于与应用服务器进行通信;
处理器901,用于执行程序。
具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。
处理器901可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器903,用于存放程序。存储器803可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory)。程序具体可以用于:
终端解析HTML页面的QoS控制指示,并向运营商的QoS控制功能实体请求QoS控制;
根据所述QoS控制功能实体返回的请求结果进行处理。
所述终端解析所述HTML页面的QoS控制指示,并向运营商的QoS控制功能实体请求QoS控制,包括:
所述终端解析所述HTML页面的QoS控制指示,向运营商的QoS控制功能实体发送QoS控制请求,所述浏览器插件是终端所属的运营商提供的。
所述终端解析所述HTML页面的QoS控制指示,并向运营商的QoS控制功能实体请求QoS控制,包括:
所述终端解析所述HTML页面的QoS控制指示,向通用的能力开放平台调用应用程序编程接口API,通过所述通用的能力开放平台向运营商的QoS控制功能实体发送QoS控制请求。
所述方法还包括:
在所述终端向所述运营商QoS控制功能实体发送QoS控制请求之前,根据预先配置的信息确定是否需要提醒用户发送QoS控制请求,或者根据网络运营商的浏览器插件或者通用的能力开放平台和所述运营商QoS控制功能实体的交互结果确定是否需要提醒用户发送QoS控制请求;
所述提示用户发送QoS控制请求,包括:
弹出提示窗口或者在现有窗口添加提示信息。
以上所述仅为本发明的优选实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明要求包含范围之内。