一种利用推送服务提供应用信息的方法及系统
技术领域
本发明涉及电信业务领域,尤其涉及利用推送服务提供应用信息的方法及系统。
背景技术
互联网的应用越来越丰富,用户访问互联网上的信息(如网页等信息)时,基本上都是通过超文本传输协议(Hyper Text Transfer Protocol,简称HTTP)访问,即基于用户的主动访问然后服务器作出响应。如果要访问实时更新的内容,就需要用户不停刷新;当然,浏览器也可以设置主动自动刷新(一般实现方为,在浏览器上设置定时器,根据定时器的时间进行定时数据刷新),使用户访问到实时更新的内容,但这种方式,还是属于主动请求的方式。
现在越来越多的业务都在网络上部署,很多业务有实时的信息和数据更新,如果要求所有的应用都保持一个长传输控制协议(Transmission ControlProtocol,简称TCP)连接,这对终端、网络、服务器都是一个很大的负荷。现在微件(Widget)应用越来越普遍,苹果公司的App Store有超过10万个应用程序。其中,有一些应用就需要实时的,但非定时的更新数据,以提供最新信息。现有技术中,采用长连接来进行不确定时间的实时信息更新是比较浪费网络资源的方式。
发明内容
在电信业务领域,推送服务(PUSH)是一个常用的业务,其相关规范和应用都已经成熟,这种通过服务端主动发起,将内容推送给用户的方式。现有规范可以支持有连接和无连接两种模式。如果推送服务当时有连接,那么可以利用现有连接来提供业务,如果当时没有连接,可以通过服务端主动发起SIR(会话初始请求)方式,让在用户侧的用户代理来主动建立连接,来提供业务,现在的PUSH服务可以支持OTA-HTTP(基于HTTP的空中下载)、OTA-WSP(基于WSP的空中下载)、OTA-SIP(基于SIP的空中下载)方式。
本发明要解决的技术问题是提供一种利用推送服务提供应用信息的方法及系统,及时下发更新数据的同时节省网络资源。
为解决上述技术问题,本发明提供了一种利用推送服务提供应用信息的方法,包括:客户端请求推送服务功能体在一个或多个应用的数据发生更新时将更新的数据以推送方式下发。
进一步地,上述方法还具有以下特点:
所述推送服务功能体收到所述请求后,在所述应用的数据发生更新时,将更新的数据以推送方式下发至所述客户端。
进一步地,上述方法还具有以下特点:
所述推送服务功能体收到所述请求后向应用服务功能体发起此请求,所述应用服务功能体维护的所述应用中的数据发生更新时,将更新数据下发至所述推送服务功能体,所述推送服务功能体将收到的更新数据推送至推送代理,所述推送代理将收到的更新数据推送至所述客户端。
进一步地,上述方法还具有以下特点:
第三方应用功能体通过与推送代理交互,由所述推送代理向所述推送服务功能体发起所述请求。
进一步地,上述方法还具有以下特点:
所述客户端请求所述推送服务功能体在一个或多个应用的数据发生更新时将更新的数据以推送方式下发的过程包括:所述客户端向推送代理创建所述应用,并指示采用推送更新方式,所述推送代理向所述服务功能体注册所述应用,并指示采用推送更新方式。
进一步地,上述方法还具有以下特点:
所述客户端请求所述推送服务功能体在一个或多个应用的数据发生更新时将更新的数据以推送方式下发的过程包括:所述推送代理作为中间点维持所述客户端与所述应用服务功能体的连接,所述推送代理决定切换到推送更新方式后,中断与所述应用服务功能体的连接,向所述推送服务功能体注册所述应用。
进一步地,上述方法还具有以下特点:
所述推送服务功能体通过与推送代理的连接直接向所述推送代理发送所述更新的数据;或者;在所述推送代理断开与所述推送服务功能体的连接的情况下,所述推送服务功能体通过短信服务功能体间接向所述推送代理发送所述更新的数据。
为了解决上述技术问题,本发明还提供了一种利用推送服务提供应用信息的方法,包括:客户端向推送代理发起在一个或多个应用的数据发生更新时将更新的数据以推送方式下发的请求,所述推送代理收到此请求后向推送服务功能体发起此请求,所述推送服务功能体收到此请求后向应用服务功能体发起此请求;所述应用服务功能体在所述应用的数据发生更新时将更新的数据发送至所述推送服务功能体,所述推送服务功能体将收到的所述更新的数据以推送的方式发送至所述推送代理,所述推送代理将收到的所述更新的数据以推送的方式发送至所述客户端。
为了解决上述技术问题,本发明还提供了一种利用推送服务提供应用信息的系统,包括客户端和推送服务功能体;所述客户端,用于请求推送服务功能体在一个或多个应用的数据发生更新时将更新的数据以推送方式下发;所述推送服务功能体,用于在收到此请求后,在所述应用的数据发生更新时,将更新的数据推送至所述客户端。
进一步地,上述系统还具有以下特点:
所述系统还包括推送代理,应用服务功能体;所述推送服务功能体,还用于收到所述请求后向应用服务功能体发起此请求;还用于将从应用服务功能体收到的更新数据推送至所述推送代理;所述推送代理,用于将收到的更新数据推送至所述客户端;所述应用服务功能体,用于在维护的所述应用中的数据发生更新时,将更新数据下发至所述推送服务功能体。
进一步地,上述系统还具有以下特点:
所述系统还包括第三方应用功能体;所述推送代理,用于通过与所述第三方应用功能体交互后,获知要求在数据发生更新时将更新的数据以推送方式下发的客户端和应用,向所述推送服务功能体发起所述请求。
进一步地,上述系统还具有以下特点:
所述客户端,还用于向推送代理创建所述应用,并指示采用推送更新方式;所述推送代理,用于向所述服务功能体注册所述应用,并指示采用推送更新方式。
进一步地,上述系统还具有以下特点:
所述推送代理,还用于作为中间点维持所述客户端与所述应用服务功能体的连接,切换到推送更新方式后,中断与所述应用服务功能体的连接,向所述推送服务功能体注册所述应用。
进一步地,上述系统还具有以下特点:
所述系统还包括短信服务功能体;所述推送服务功能体,还用于在所述推送代理断开与所述推送服务功能体的连接的情况下,通过短信服务功能体间接向所述推送代理发送所述更新的数据。
本发明克服了现有技术中通过保持长连接的方式进行内容更新方式导致的较多资源浪费问题,本发明中结合了推送服务以及现有的互联网应用或者微件(Widget)应用,更节省网络资源、终端电量,也能保证信息的及时提供。
附图说明
图1是实施例中利用推送服务提供应用信息的系统结构图;
图2是实施例一中利用推送服务提供应用信息的方法流程图;
图3是实施例二中利用推送服务提供应用信息的方法流程图;
图4是实施例三中利用推送服务提供应用信息的方法流程图。
具体实施方式
本发明中,利用推送服务协助包括互联网应用在内的各种应用进行实时数据更新,本发明中也可以适用于Widget应用。
如图1所示,利用推送服务提供应用信息的系统,包括应用服务功能体和客户端,还包括推送服务功能体,推送代理,短信服务功能体,第三方应用功能体。
因为不同系统中执行同一功能的实体不同,本发明中功能体泛指执行此相应功能的实体。
应用服务功能体在网络侧提供的各种服务和应用,需要实时的更新各种数据给客户端应用。推送服务功能体用于实现电信网络(一般都是指运营商部署和运营的网络)中的推送服务。此推送服务功能体可以是推送代理网关。本发明中,可以由应用服务功能体作为推送发起者(PI),通过接口与推送服务功能体进行连接;也可以由推送服务功能体作为推送发起者(PI),通过接口与应用服务功能体进行连接。
推送代理具有推送服务的客户端功能,也支持客户端应用的推送方式数据更新的一些扩展功能,推送代理可以是驻留在用户终端设备上的一个推送客户端功能。
需要说明的是,安全是服务的重要方面,在本发明中,假设运营商的推送服务已经提供了认证、鉴权、加密、完整性等安全机制,同时,在终端上的Widget引擎部分也有相应的安全机制,以保证整个系统的安全。
所述客户端也称为用户终端,用于请求推送服务功能体在一个或多个应用的数据发生更新时将更新的数据以推送方式下发;还可以通过推送代理向推送服务功能体发送此请求,例如,向推送代理创建应用,并指示采用推送更新方式。
所述推送代理,用于在收到客户端的请求后,向所述服务功能体注册所述应用,并指示采用推送更新方式;还可以用于通过与所述第三方应用功能体交互后,获知要求在数据发生更新时将更新的数据以推送方式下发的客户端和应用,向所述推送服务功能体发起所述请求;还用于将收到的更新数据推送至所述客户端;还用于作为中间点维持所述客户端与所述应用服务功能体的连接,切换到推送更新方式后,中断与所述应用服务功能体的连接,向所述推送服务功能体注册所述应用。
推送服务功能体,用于收到客户端的请求后,在所述应用的数据发生更新时,将更新的数据推送至所述客户端,具体的,可以通过推送代理推送至客户端;还用于收到所述请求后向应用服务功能体发起此请求;还用于在所述推送代理断开与所述推送服务功能体的连接的情况下,通过短信服务功能体间接向所述推送代理发送所述更新的数据。
应用服务功能体,用于在所维护的应用中的数据发生更新时,将更新的数据发送至所述推送服务功能体。
所述短信服务功能体,包括网络侧中提供短信服务的各个设备(可能包括短信网关、短信中心之类的设备),典型应用于推送服务功能体和推送代理之间没有连接情况,用于收到应用服务功能体发送的所述更新的数据后,向推送代理发送所述更新的数据。
本发明中,客户端请求推送服务功能体在一个或多个应用的数据发生更新时将更新的数据以推送方式下发,所述推送服务功能体收到所述请求后,在所述应用的数据发生更新时,将更新的数据以推送方式下发至所述客户端。
下面以多个实施例具体说明本发明。
实施例一
如图2所示,利用推送服务提供应用信息的方法包括以下步骤:
步骤201,客户端向推送代理发起在一个或多个应用的数据发生更新时将更新的数据以推送方式下发的请求。
具体的,客户端可以向推送代理创建一个或多个新的应用,并指示采用推送更新方式,对于与用户可能是新启动的一个服务。
步骤202,推送代理收到此请求后向推送服务功能体发起此请求。
具体的,推送代理向推送服务功能体注册这个应用,要求提交的信息包括:用户信息、应用服务的信息(主要是应用服务的ID)、请求需要更新的信息(包括上一次请求更新的信息)。因为这个数据是一个更新的数据,提供上次数据是为下一次数据更新。
步骤203,推送服务功能体收到此请求后向应用服务功能体发起此请求。
具体的,推送服务功能体向具体的应用服务功能体发起注册该应用。
步骤204,应用服务功能体在所述应用的数据发生更新时将更新的数据发送至所述推送服务功能体。
步骤205,推送服务功能体与推送代理之间有连接时,推送服务功能体将收到的所述更新的数据以推送的方式发送至推送代理。
步骤206,推送代理将收到的所述更新的数据以推送的方式发送至所述客户端。
此客户端中的应用可以是包括Widget应用的各种应用。
实施例二
实施例二中推送代理向推送服务功能体发起应用注册的触发条件为,推送代理决定切换至推送更新方式。
如图3所示,利用推送服务提供应用信息的方法包括以下步骤:
步骤301,推送代理作为中间点维持所述客户端与所述应用服务功能体的连接。
步骤302,推送代理决定切换到推送更新方式。
推送代理决定切换到推送更新方式的原因可以是因为维持非推送更新方式的定时器到时,或者,推送代理与应用服务功能体之间客户端此应用的数据流量小于系统设定的门限值,或者,其它原因。
步骤303,推送代理中断与应用服务功能体的连接。
步骤304,推送代理向推送服务功能体注册这个应用,要求提交的信息包括:用户信息、应用服务的信息(主要是应用服务的ID)、请求需要更新的信息(包括上一次请求更新的信息)。因为这个数据是一个更新的数据,提供上次数据是为下一次数据更新。
步骤305,推送服务功能体向具体的应用服务功能体发起注册该应用。
步骤306,切换成功时,推送服务功能体向推送代理确认切换成功。
步骤307,应用服务功能体中所维护的所述客户端的应用的数据发生更新时,向推送服务功能体发送更新的数据;
步骤308,推送服务功能体与推送代理之间有连接时,推送服务功能体将更新的数据推送至推送代理;
步骤309,推送代理将收到的更新的数据发送至客户端。
此客户端中的应用可以是包括Widget应用的各种应用。
实施例三
实施例三中客户端在应用服务功能体注册应用后,在推送代理断开与推送服务功能体的连接的情况下,应用服务功能体通过短信服务功能体间接向推送代理发送更新的数据。实施例三中推送代理向推送服务功能体发起应用注册的触发条件与实施例一中相同。
如图4所示,利用推送服务提供应用信息的方法包括以下步骤:
步骤401至403与步骤201至203分别对应相同。
步骤404,推送代理决定关闭与应用服务功能体的连接。
推送代理决定关闭与应用服务功能体的连接的原因可以是因为维持非推送更新方式的定时器到时,或者,推送代理与应用服务功能体之间客户端此应用的数据流量小于系统设定的门限值,或者,其它原因。
步骤405,推送代理关闭与应用服务功能体的连接。
步骤406,推送服务功能体保持与应用服务功能体的连接。
步骤407,应用服务功能体中所维护的所述客户端的应用的数据发生更新时,向推送服务功能体发送更新的数据;
步骤408,推送服务功能体将更新的数据推送至短信服务功能体;
步骤409,短信服务功能体将更新的数据发送至推送代理;
步骤410,推送代理将更新的数据发送至客户端。
此客户端中的应用可以是包括Widget应用的各种应用。
实施例四
实施例四与实施例三的流程基本相同,实施例四中推送代理向推送服务功能体发起应用注册的触发条件与实施例二中相同。
步骤501至506与实施例二中步骤301至306分别对应相同;
步骤507至510与实施例三中步骤407至410分别对应相同。
本发明的方法和系统通过引入推送服务,在应用服务功能体所维护的应用中的数据发生更新,及时将更新的数据推送至客户端,也能保证更新信息的及时提供,节省网络资源、终端电量,克服了现有技术中通过保持长连接的方式进行内容更新方式导致的较多资源浪费问题。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。