在push服务器和客户端之间进行通信的方法和装置的制作方法

文档序号:7695428阅读:161来源:国知局

专利名称::在push服务器和客户端之间进行通信的方法和装置的制作方法
技术领域
:本发明涉及网络通信领域,尤其涉及一种在PUSH服务器和客户端之间进行通信的方法和装置。
背景技术
:Push(推送)业务是一个内容分发的机制,该机制采用客户端/服务器模式的工作方式,服务器不需要客户端发出请求就可以主动将客户端所需要的内容分发给客户端。一种实现Push业务的系统的结构示意图如图1所示,该系统由三部分组成PI(Push消息发起者,PushInitiator)、PPG(Push代理网关,PushProxyGateway)和客户端,其中PPG可以设置在Push服务器上,也可以直接作为Push服务器。Push业务的主要工作过程为在Push服务器的发起下,PI通过PAP(Push接入协议,PushAccessProtocol)协议发送push内容和命令给PPG,PPG根据接收到的命令,通过Push-OTA(空中协议,OverTheAir)协议将接收到的push内容发送给客户端,该客户端可以为WAP(无线应用协议,WirelessApplicationProtocol)客户端。PPG的主要功能是处理Push内容、命令提交的相关操作,传递Push内容给客户端,PPG的服务包括Pl的识别和认证,接入控制,客户端(包括客户端能力)发现服务,Push内容接受者的地址解析,协议转换等。PPG必须支持PAP协议,以便与PI交换PUSH信息;还必须支持Push-OTA空中协议,以便与客户端交互PUSH信息。SIP(初始会话协议,SessionInitiatedProtocol)Push业务在Push业务的基础上发展起来的,SIPPush业务将PUSHOTA内容封装在SIP消息中,利用现有的SIP/IP核心网络进行传送。一种实现SIPPush业务的系统的结构示意图如图2所示,从图2中可以看出,SIPPush业务与传统的Push业务最大的区别在于PPG和客户端之间的会话可以采用SIP技术实现。在图2所示的实现SIPPush业务的系统中,在PPG和客户端之间传递Push消息之前,PPG和客户端之间必须建立一种OTA协议支持的会话。然后,PPG按照PI给出的指令要求,使用上述OTA协议支持的会话将接收到的Push消息传递到客户端。上述OTA协议支持的会话包括WSP(无线会话协议,WirelessSessionProtocol)会话、HTTP(超文本传输协议,HypertextTransferProtocol)会话、SIP会话。现有技术中的一种建立上述OTA协议支持的会话的方法为PPG向客户端发送一个SIR(SessionInitiationRequest,会话发起请求)消息,该SIR消息中携带如下参数ClientAddress:表示请求建立会话的客户端地址;ServerAddress:表示PPG(Push服务器)的地址;Pushheaders:描述Push消息特征的信息,此处可包含表示向客户端上的SIA(会话发起应用,SessionInitiationApplication)应用发送SIR消息等化息;SIAContent:表示PPG上的应用列表和联系点列表信息,该联系点列表中包括OTA协议支持的WSP会话、HTTP会话等会话方式信息,以及PPG上可用的IP地址和端口号信息,但是不包括SIP会话的信息。客户端接收到上述SIR消息后,利用上述SIAContent中携带的PPG上可用的IP地址和端口号,向PPG建立上述WSP会话或HTTP会话等会话方式。在实现本发明的过程中,发明人发现上述现有技术中的建立上述OTA协议支持的会话的方法的缺点为该方法不能在PPG和客户端之间建立SIP会话,而SIPPush业务是基于SIP的业务,如果PPG和客户端之间不建立SIP会话,将导致SIPPush业务不能很好地开展。客户端建立WSP会话、HTTP会话、IP连接或TCP/UDP连接的IP地址和端口号可以是相同的或不同,客户端接收到上述SIR消息后,并不清楚每一种会话方式对应的IP地址和端口号,从而导致客户端使用错误的IP地址和端口号来建立会话方式。
发明内容本发明实施例提供一种在PUSH服务器和客户端之间进行通信的方法,从而可以解决现有技术中不能在PPG和客户端之间建立SIP会话的问题。本发明实施例是通过以下技术方案实现的一种在PUSH服务器和客户端之间进行通信的方法,包括向客户端发送包含指示信息的消息;接收所述客户端才艮据所述指示信息发送的消息。一种Push服务器,包括指示信息发送模块,用于向客户端发送包含指示信息的消息;消息接收模块,用于接收所述客户端根据所述指示信息发送的消息。由上述本发明提供的技术方案可以看出,本发明实施例通过Push服务器向客户端发送包含指示信息的消息,可以使客户端根据Push服务器的指示,向Push服务器发送相应的消息,该消息可以为建立SIP会话的消息。从而可以避免当需要在Push服务器和客户端之间建立SIP会话时,而错误地建立WSP会话或HTTP会话的情况。图1为现有技术中一种实现Push业务的系统的结构示意图;图2为现有技术中一种实现SIPPush业务的系统的结构示意图;图3为本发明实施例一提供的在PUSH服务器和客户端之间建立会话的方法的处理流程图;图4为本发明实施例二提供的在PUSH服务器和客户端之间建立会话的方法的处理流程图;图5为本发明实施例三提供的客户端向PUSH服务器进行注册或订阅的方法的处理流程图;图6为本发明实施例四提供的一种PUSH服务器的结构示意图。具体实施方式在本发明实施例中,PUSH服务器向客户端发送包含指示信息的消息,该指示信息可以为指示客户端建立会话的信息、指示客户端进行注册的信息、指示客户端进行订阅的信息中的至少一项,上述指示客户端建立会话的信息可以为会话和会话的标识之间的对应关系信息;或者,会话和建立会话所用的地址信息之间的对应关系信息。客户端接收到上述包含指示信息的消息后,根据上述指示信息向PUSH服务器发送相应的消息。该消息可以为向Push服务器建立会话的消息,或者,向Push服务器进行注册的消息,或者,向Push服务器进行事件通知的订阅。进一步地,上述指示信息可以通过SIR消息来携带,并且设置在SIR消息的SIAContent参数的新增的次级参数或已有的次级参数中。进一步地,上述建立会话所用的地址信息包括IP地址信息和端口号信息中的至少一项。进一步地,上述会话可以为WSP会话、HTTP会话和SIP会话中的至少一项。为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。在本发明实施例中,PPG直接作为Push服务器应用。实施例一本发明实施例一提供的在PUSH服务器和客户端之间建立会话的方法的处理流程如图3所示,该实施例在原SIR消息的SIAContent参数中增加新的次级参数Methondlndicator,通过该Methondlndicator来携带建立SIP会话的标识,用来指示客户端向PPG建立SIP会话。该实施例的具体处理过程包括如下步骤步骤31、Push服务器向SIP/IP核心网发送扩展的SIR消息,该扩展的SIR消息的SIAContent参数的Methondlndicator中携带SIP会话对应的标识。原SIR消息是由一个消息头域和一个消息体组成的,原SIR消息的消息头域中包括上述ClientAddress、ServerAddress、PushHeaders和SIAContent参数,其中SIAContent参数中又包括Version(版本)、AppldListLen(应用标识列表长度)、AppIdList(应用标识列表)、ContactPointLen(联系点长度)和ContactPoint(联系点)等次级参数。每个参数和次级参数都对应相应的参数值。本发明实施例在SIAContent参数中增加新的次级参数MethodlndicatorLen(方法才旨示长度)和Methondlndicator(方法指示)。MethodlndicatorLen表示Methondlndicator的长度,在Methondlndicator的Y直域中携带SIP会话对应的标识,该标识可以为"SIP";或者,在Methondlndicator的值域中携带所有协议变量标识,比如WSP会话、HTTP会方式分别对应的标识。扩展后的SIAContent参数的结构如下述表1所示:表1:参数值VersionAppldListLenAppIdListContactPointLenContactPointMethodIndicatorLenMeth0ndlndic3t0rSIP会话对应的标识;或者,所有协议变量对应的标识上述扩展后的SIAContent参数可以通过XML(可扩展标记语言,ExtensibleMarkupLanguage)文才当来表示,该XML文才当的举例为<xmlversion="1.0"encoding="UTF-8"><!—W3CSchemageneratedbyXMLSPYv5rel.4U(http:〃www,xmlspy.com)—><xs:schemaxmlns:xs="http:〃www.w3.org/2001/XMLSchema"elementFormDefault="qualified">以上为本XML文档格式的规范<xs:elementname="SIA—Content"><xs:attributename="Version"type="xs:string"use="required'V><xs:attributename="AppldListLen"type="xs:string"use="requirecT/><xs:attributename="App_ld—List"type="xs:string"use="required"/><xs:attributename="ContactPointLen"type="xs:string"use="required"/><xs:attributename="Contact_Point"type="xs:string"use="required"/>以上为原SIR中携带的相关连接信息。<xs:attributename="Methodl_en"type="xs:string"use="required7><xs:attributename="Methondlndicator"type="xs:string"value="SIP"use="required7>以上为新增加的属性,指示支持SIP会话,或指示只建立SIP会话</xs:complexType></xs:6lsm6nt></xs:schem3>Push服务器利用上述扩展后的SIAContent参数来构造扩展的SIR消息,向SIP/lP核心网发送该扩展的SIR消息。步骤32、SIP/IP核心网将接收到的扩展的SIR消息转发给客户端。步骤33、客户端获取SIR消息中携带的SIP会话对应的标识信息,向Push服务器建立SIP会话。客户端接收到上述扩展的SIR消息后,对该SIR消息进行解析,获取该SIR消息中的上述Methondlndicator的值域中携带的标识信息。当客户端从上述Methondlndicator的值域中只获取了SIP会话对应的标识时,该标识将指示Push服务器可以向客户端提供SIP会话的会话方式。于是,客户端可以根据实际情况,选择向Push服务器建立SIP会话、WSP会话或HTTP会话方式,比如,客户端想实现基于PS(packetswitching,分组交换)域的业务,那么客户端将选择向Push服务器建立SIP会话。上述标识还可以指示客户端只向Push服务器建立SIP会话,即客户端获取上述标识后,只选择向Push服务器建立SP会话,而不向Push服务器建立WSP会话或HTTP会话方式。WSP会话、HTTP会话、SIP会话三种会话分别对应的标识时,客户端可以根据实际情况,选择向Push服务器建立正确的会话方式。该实施例可以使客户端选择向Push服务器建立SIP会话,或者,指示客户端只向Push服务器建立SIP会话,从而可以避免当需要在Push服务器和客户端之间建立SIP会话时,而错误地建立WSP会话或HTTP会话,导致业务异常或被拒绝而不能提供服务。实施例二本发明实施例二提供的在PUSH服务器和客户端之间建立会话的方法的处理流程如图4所示,该实施例在原SIR消息的SIAContent参数的次级参数ContactPoint中携带SIP会话对应的端口号。该实施例的具体处理过程包括如下步骤步骤41、Push服务器向SIP/IP核心网发送扩展的SIR消息,该扩展的SIR消息的SIAContent参数的次级参数ContactPoint中携带建立SIP会话的标识。在原SIAContent参数的次级参数ContactPoint的值域中携带有Push服务器目前可用的端口号信息,该端口号可以用来建立WSP会话、HTTP会话等会话方式。本发明实施例在SIAContent参数的次级参数ContactPoint的值域中增加携带SIP会话对应的端口号。增加了SIP会话对应的端口号的SIAContent参数的格式如下述表2所示。表2:参数值VersionAppldListLenAppIdListContactPointLenContactPointIP+PortNumber—指示建立WSP会话IP+PortNumber—指示建立HTTP会话SIP:IP+PortNumber—-通过增加SIP前缀,指示建立SIP会话上述扩展后的SIAContent参数可以通过XML文档来表示,该XML文档的举例为<7xmlversion="1.0"encoding="UTF-8H/><!—W3CSchemageneratedbyXMLSPYv5rel.4U(http:〃www.xmlspy.com)—><xs:schemaxmlns:xs="http:〃www.w3.org/2001/XMI_Schema"elementFormDefault="qualified">以上为本XML文档格式的身见范<xs:elementn3me="SIA_Content"><xs:complexType><xs:3ttributename="Version"type="xs:string"use="required"/><xs:attributename="AppldUstLen"type="xs:string"use="required'V><xs:attributename="App_ld_List"type="xs:string"use="required7><xs:attributename="ContactPointLen"type="xs:string"use="required"/></xs:attribute><xs:attributename="Contact—Point"type="xs:string"use="required"/>以上为原SIR中携带的相关连接信息。以下为扩展过的SIA内容。<xs:simpleType><xs:restrictionbase="xs:NMTOKEN"><xs:enumerationvalue="WSP:IP+PortNumber7><xs:enumerationvalue="HTTP:IP+PortNumber"/><xs:enumerationvalueSIP:IP+PortNumber'7></xs:restriction></xs:simpleType></xs:attribute></xs:complexType></xs:6lsmsnt></xs:sch6m3>在上述SIAContent参数的次级参数ContactPoint的值域中还可以增加携带所有会话方式,比如WSP会话、HTTP会话、SIP会话三种会话方式分别对应的端口号。增加了WSP会话、HTTP会话、SIP会话对应的端口号的SIAContent参数的格式如下述表3所示。表3:参数值VersionAppld匕istLenAppIdListContactPointLenContactPointWSP:IP+PortNumber—指示建立WSP会话HTTP:IP+PortNumber誦-誦指示建立HTTP会话SIP:IP+PortNumber——通过增加SIP前缀,指示建立SIP会话Push服务器利用上述扩展后的SIAContent参数来构造扩展的SIR消息,向SIP/lP核心网发送该扩展的SIR消息。步骤42、SIP/IP核心网将接收到的扩展的SIR消息转发给客户端。步骤43、客户端获取SIR消息中携带的SIP会话对应的端口号信息,向Push服务器建立SIP会话。客户端接收到上述扩展的SIR消息后,对该SIR消息进行解析,获取该SIR消息中的SIAContent参数的次级参数ContactPoint的值域中携带的端口号信息。当客户端从上述ContactPoint的值域中只获取了SIP会话对应的端口号时,该标识将指示Push服务器可以向客户端提供SIP会话的会话方式。于是,客户端可以根据实际情况,选择向Push服务器建立SIP会话、WSP会话或HTTP会话的会话方式,比如,客户端想实现基于PS域的业务,那么客户端将选择向Push服务器建立SIP会话。当客户端从上述ContactPoint的值域中获取了所有会话方式,比如WSP会话、HTTP会话、SIP会话三种会话方式分别对应的端口号时,客户端可以根据实际情况,选择向Push服务器建立适当的会话方式,在建立该适当的会话方式时,可以直接利用已经获取的该适当的会话方式对应的端口号信息。该实施例可以使客户端利用指定的端口号选择向Push服务器建立SIP会话,或者,使客户端利用指定的每种会话方式分别对应的端口号,选择向Push服务器建立适当的会话方式。从而可以避免客户端不能确定每种会话方式对应的端口号的情况。实施例三本发明实施例三提供的客户端向PUSH服务器进行注册或订阅的方法的处理流程如图5所示,该实施例在原SIR消息的SIAContent参数中增加新的次级参数Actionlndicator,通过该Actionlndicator来携带指示客户端进行注册和/或事件通知的订阅的标识。该实施例的具体处理过程包括如下步骤步骤51、Push服务器向SIP/IP核心网发送扩展的SIR消息,该扩展的SIR消息的SIAContent参数的Actionlndicator中携带指示客户端进行注册或订阅的标识。(动作指令长度)和Actionlndicator(动作指令)。Actionlndicatorlen表示Actionlndicator的长度,在Actionlndicator的值域中携带指示客户端进行注册或事件通知的订阅的标识,该标识可以为"REGISTER或SUBSCR旧E,,。扩展后的SIAContent参数的结构如下述表4所示<table>tableseeoriginaldocumentpage17</column></row><table>hActionlndicatorREGISTER/SUBSCR旧E——指示客户端进行注册或事件通知的订阅上述扩展后的SIAContent参数可以通过XML文档来表示,该XML文档的举例为<7xmlversion="1.0"encoding="UTF-8"7><!—W3CSchemageneratedbyXMLSPYv5rel.4U(http:〃www.xmlspy.com)—><xs:schemaxmlns:xs="http:〃www.w3.org/2001/XMLSchema"elementFormDefault="qualified">以上为本XML文档格式的规范<xs:elementn3me="SIA_Content"><xs:complexType><xs:3ttributen3me="Version"type="xs:string"use="required"/><xs:attributename="Appldl_istLen"type="xs:string"use="required"/><xs:attributename="App_ld_List"type="xs:string"use="required"/><xs:attributename="ContactPointLen"type="xs:string"use="required7><xs:attributename="Contact_Point"type="xs:string"use="required"/>以上为原SIR中携带的相关连接信息。<xs:attributename="Actionl_en"type="xs:string"use="required"/><xs:attributename="Actionlndicator"type="xs:string"value="REGISTER"use="required"/>以上为新增加的属性,并指示支持SIP,或指示只使用SIP方法建立会话</xs:complexType></xs:6l6msnt></XS:SCh6ITI3>Push服务器利用上述扩展后的SIAContent参数来构造扩展的SIR消息,向SIP/IP核心网发送该扩展的SIR消息。步骤52、SIP/IP核心网将接收到的扩展的SIR消息转发给客户端。步骤53、客户端获取SIR消息中携带的指示客户端进行注册或订阅的标识信息,向Push服务器进行注册或订阅。客户端接收到上述扩展的SIR消息后,对该SIR消息进行解析,获取该SIR消息中的上述Actionlndicator的值域中携带的上述标识信息。向Push服务器进行注册或事件通知的订阅。上述携带指示客户端进行注册或订阅的标识的SIR消息,可以在客户端和Push服务器之间建立了相应的会话方式之前或之后来发送。本实施例可以使客户端根据Push服务器的指示,进行注册或事件通知的订阅。本发明实施例提供的一种PUSH服务器的结构示意图如图6所示,包括如下模块指示信息发送模块61,用于向客户端发送包含指示信息的消息。包括标识信息发送模块611、端口号信息发送模块612中的至少一项。消息接收模块62,用于接收所述客户端根据所述指示信息发送的消息。上述的指示信息发送模块61中的标识信息发送模块611,用于向客户端发送携带了会话对应的标识信息的SIR消息;上述的指示信息发送模块61中的端口号信息发送模块612,用于向客户端发送携带了会话和建立会话所用的地址信息之间的对应关系信息的SIR消息。上述建立会话所用的地址信息包括IP地址信息和端口号信息中的至少一项。上述的指示信息发送模块61中还可以包括注册或订阅指示信息发送模块613,用于向客户端发送携带指示客户端进行注册或事件通知的订阅的指示信息的SlR消息。综上所述,本发明实施例可以使客户端选择向Push服务器建立SIP会话,或者,指示客户端只向Push服务器建立SIP会话,从而可以避免当需要在Push服务器和客户端之间建立SIP会话时,而错误地建立WSP会话或HTTP会话,导致业务异常或被拒绝而不能提供服务。可以使客户端利用指定的端口号向Push服务器建立SIP会话,或者,使客户端利用指定的每种会话方式分别对应的端口号,选择向Push服务器建立适当的会话方式。从而可以避免客户端不能确定每种会话方式对应的端口号的情况。可以使客户端根据Push服务器的指示,进行注册或事件通知的订阅。以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。权利要求1、一种在PUSH服务器和客户端之间进行通信的方法,其特征在于,包括向客户端发送包含指示信息的消息;接收所述客户端根据所述指示信息发送的消息。2、根据权利要求1所述的方法,其特征在于,所述指示信息包括指示客户端建立会话的信息、指示客户端进行注册的信息、指示客户端进行订阅的信息中的至少一项。3、根据权利要求2所述的方法,其特征在于,所述会话包括无线会话协议WSP会话、超文本传输协议HTTP会话和初始会话协议SIP会话中的至少一项。4、根据权利要求3所述的方法,其特征在于,所述向客户端发送包含指示信息的消息,具体包括向所述客户端发送设置有指示信息的会话发起请求SIR消息。5、根据权利要求4所述的方法,其特征在于,所述接收所述客户端根据所述指示信息发送的消息,具体包括所述客户端接收到所述SIR消息后,获取所述SIR消息中设置的指示信息,根据该指示信息向推送PUSH服务器建立会话。6、根据权利要求4所述的方法,其特征在于,所述指示信息的设置包括在SIR消息的会话发起应用内容SIAContent参数中增加新的次级参数,将会话对应的标识信息设置在该新的次级参数中。7、根据权利要求6所述的方法,其特征在于,所述接收所述客户端根据所述指示信息发送的消息,具体包括所述客户端接收到所述SIR消息后,获取所述SIR消息中设置的会话对应的标识信息,为所述标识信息向PUSH服务器发送建立会话请求。8、根据权利要求4所述的方法,其特征在于,所述指示信息的设置包括在SIR消息的SIAContent参数的连接点ContactPoint参数中设置会话和建立会话所用的地址信息之间的对应关系信息。9、根据权利要求8所述的方法,其特征在于,所述地址信息包括IP地址信息和端口号信息中的至少一项。10、根据权利要求8所述的方法,其特征在于,所述接收所述客户端根据所述指示信息发送的请求,具体包括所述客户端接收到所述SIR消息后,获取所述SIR消息中设置的会话和建立会话所用的地址信息之间的对应关系信息,所述客户端利用所述会话对应的地址信息,向PUSH服务器发送建立所述会话的消息。11、根据权利要求4所述的方法,其特征在于,所述指示信息的设置具体包括在SIR消息的SIAContent参数中增加新的次级参数,将指示客户端进行注册或事件通知的订阅的指示信息设置在该新的次级参数中。12、根据权利要求11所述的方法,其特征在于,所述接收所述客户端根据所述指示信息发送的请求,具体包括所述客户端接收到所述SIR消息后,获取所述SIR消息中设置的指示客户端进行注册或事件通知的订阅的指示信息;所述客户端向Push服务器进行注册或事件通知的订阅。13、一种Push服务器,其特征在于,包括指示信息发送模块,用于向客户端发送包含指示信息的消息;消息接收模块,用于接收所述客户端根据所述指示信息发送的消息。14、根据权利要求13所述的Push服务器,其特征在于,所述指示信息发送模块具体包括标识信息发送模块、地址信息发送模块中的至少一项,标识信息发送模块,用于向客户端发送携带了会话对应的标识信息的SIR消息;地址信息发送模块,用于向客户端发送携带了会话和建立会话所用的地址信息之间的对应关系信息的SIR消息。15、根据权利要求14所述的Push服务器,其特征在于,所述指示信息发送模块还包括注册或订阅指示信息发送模块,用于向客户端发送携带指示客户端进行注册或事件通知的订阅的指示信息的SIR消息。全文摘要本发明实施例提供了一种在PUSH服务器和客户端之间进行通信的方法和装置。该方法主要包括PUSH(推送)服务器向客户端发送包含指示信息的消息,所述PUSH服务器接收所述客户端根据所述指示信息发送的消息。利用本发明,可以使客户端根据Push服务器的指示,向Push服务器发送相应的消息,该消息可以为建立SIP会话的消息。从而可以避免当需要在Push服务器和客户端之间建立SIP会话时,而错误地建立WSP会话或HTTP会话的情况。文档编号H04L29/08GK101610280SQ20081011534公开日2009年12月23日申请日期2008年6月20日优先权日2008年6月20日发明者健杨,雷王,范姝男,挺董申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1