CN105848118A - 应用指示信息携带方法 - Google Patents
应用指示信息携带方法 Download PDFInfo
- Publication number
- CN105848118A CN105848118A CN201510999606.5A CN201510999606A CN105848118A CN 105848118 A CN105848118 A CN 105848118A CN 201510999606 A CN201510999606 A CN 201510999606A CN 105848118 A CN105848118 A CN 105848118A
- Authority
- CN
- China
- Prior art keywords
- clientapp
- short message
- smscode
- pushcenter
- communication terminal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
- H04W4/14—Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
Abstract
在本发明中,公开了一种应用指示信息携带方法,通过在网络侧建立ClientApp与短消息业务代码(SMSCode)的对应关系;在通信终端侧,建立SMSCode与相应ClientApp的对应关系;在发送短消息时通过相应的SMSCode携带对应的应用指示信息,从而减少了对短消息有效载荷的占用。还公开了一种应用指示信息携带方法,通过给相应ClientApp指配编号,通过该编号来携带应用指示信息,从而减少了对短消息有效载荷的占用。本发明还对应公开了推送配置方法,用于实现相应推送流程中相关配置数据的自动设置。
Description
技术领域
本发明涉及互联网技术领域,更确切地说涉及应用指示信息携带方法,以及相关的推送配置方法。
背景技术
现有消息推送业务一般是由通信终端的系统平台服务提供商提供,或者是由相应通信终端的制造商提供。
以苹果通信终端为例,其消息推送业务由苹果公司的云端服务提供,并由苹果通信终端操作系统支持来实现的。
如图1所示,为IOS消息推送机制图。在该图中,Provider是指某个iPhone软件的应用服务器(AppServer,Application Server),所述iPhone软件即客户端应用(ClientApp,Client Application),例如微信或易信客户端。APNS是Apple Push Notification Service(Apple Push服务)的缩写,是由苹果提供的云服务,一般由一个服务器或一组服务器组成,也可以是由多组服务器组成的一个服务网络,是苹果的消息推送中心(PushCenter,PushCenter)。
上图分为三个阶段:
第一阶段:Provider把要推送的信息、目的通信终端的标识,即设备标识(DeviceToken),打包,发给APNS。这里,通信终端是iPhone。
第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有相应标识的iPhone,并把要推送的信息发到相应的iPhone。
第三阶段:iPhone把发来的信息传给相应的ClientApp,并按照设定弹出Push通知。
如图2所示,为苹果消息推送完整流程,该流程由以下五部分组成:
1、ClientApp注册消息推送。
2、IOS跟APNS Service要DeviceToken。
3、ClientApp接收DeviceToken,将DeviceToken发送给Provider。
4、当需要向某iPhone推送信息时,Provider向APNS发送包括要推送的信息和目的DeviceToken的消息。
5、APNS按照目的DeviceToken将要推送的信息发送给ClientApp。
其中,第1、2、3三步执行的是推送配置流程。
以安卓通信终端为例,其消息推送业务可以是有谷歌公司的云端服务提供,也可以是由相应通信终端设备商的云端服务提供。例如,三星通信终端的消息推送是由三星公司的云端服务提供。
现有消息推送业务都需要相应的通信终端与对应的PushCenter建立有IP连接。但是,让通信终端一直连接到IP网络,因为心跳问题不只是扰动移动通信网络,并要消耗网络流量,更重要的是消耗通信终端电池的电量,从而大大缩短通信终端的待机时间。
因此,作为一种优化,在通信终端待机时,让其断开IP网络,处于电信网中一种蛰伏状态(除了位置更新等等情况外,基本不向基站发送信号,但侦听网络信号),可以节约通信终端的能耗,从而延长通信终端待机时间。这样,在有消息需要推送时,对应的PushCenter就无法及时将相应消息发送到目的通信终端。
针对所述的PushCenter在通信终端不在线(例如没有连接到IP网络)时,无法向通信终端推送信息的问题,一些文章或专利中,都提到了通过短消息来承载要推送的信息,例如,在申请号为201310132256.3的《短信推送方法、短信推送系统及短信推送云端服务器》发明专利中,提到通过短消息承载要推送的信息,从而可以有效解决所述问题。但是,诸多方法,都较为粗放,即只解决可行性问题,不考虑短消息承载的效率问题。
我们知道,一条短消息的有效载荷(现有的一条短消息中,用户数据部分最多包含140字节)十分有限,为提高应用层面业务的可扩展性,也即为了减少需要发送的短消息数量(例如避免因一条短消息无法承载要推送的信息,而需要发送二条短消息的情况),就需要选择好的承载方式,以提高短消息的承载效率,从而间接地提高基于短消息的推送业务的效率,并帮助节省短消息的通信费用。
发明内容
有鉴于此,本发明公开了一种应用指示信息携带方法,该方法通过短消息主叫号码携带相应的应用指示信息,减少了对短消息有效载荷的占用,提供了承载效率。所述应用指示信息携带方法包括:
在PushCenter侧,建立ClientApp与短消息业务代码(SMSCode)的对应关系;在通信终端侧,建立SMSCode与相应ClientApp的对应关系;所述方法包括以下步骤:
a、在PushCenter侧,构造短消息,将目的通信终端的通信号码作为该短消息的被叫号码,将目的ClientApp对应的SMSCode作为该短消息的主叫号码,在短消息内容部分携带所述要推送的信息,将该短消息发送出去;
b、在所述目的通信终端侧,接收短消息,根据该短消息的主叫号码,按照所建立的SMSCode与相应ClientApp的对应关系,确定对应的ClientApp。
优选地,在PushCenter侧,所述建立ClientApp与SMSCode的对应关系进一步是:针对各个通信终端分别进行;相应地,在步骤a中,所述目的ClientApp对应的SMSCode是根据对应通信终端和目的ClientApp,按照所建立的对应关系来确定。
还公开一种推送配置方法,包括:
c1、ClientApp向PushAgent发送注册推送消息请求;
c2、PushAgent向PushCenter发送注册请求,请求中携带所述ClientApp指示信息;
c3、PushCenter收到所述注册请求后,得到对应通信终端的DeviceToken,针对该通信终端,为所述ClientApp指配一个SMSCode;向PushAgent返回所述DeviceToken和所述SMSCode;
c4、PushAgent收到PushCenter的返回消息后,建立所述SMSCode值和所述ClientApp的对应关系;将所述DeviceToken发送给AppServer;
c5、AppServer在用户的账户信息中保存所述DeviceToken。
还公开一种应用指示信息携带方法,包括:
在通信终端侧,建立SMSCode与相应ClientApp的对应关系;在AppServer中,在用户的账户信息中,保存对应的SMSCode;所述方法包括以下步骤:
a、AppServer将目的通信终端的DeviceToken、对应保存的SMSCode和要推送的信息发送给PushCenter;
b、在PushCenter侧,收到所述消息后,根据该消息中携带的DeviceToken值,确定目的通信终端的通信号码;构造短消息,将所确定的通信号码作为该短消息的被叫号码,将所述消息中携带的SMSCode作为该短消息的主叫号码,在短消息内容部分携带所要推送的信息,将该短消息发送出去;
c、在所述目的通信终端侧,接收短消息,根据该短消息的主叫号码,按照所建立的SMSCode与相应ClientApp的对应关系,确定对应的ClientApp。
优选地,在PushCenter中,给各个SMSCode分别指配一个编号;在AppServer中,所述的在用户的账户信息中保存对应的SMSCode进一步是:在用户的账户信息中保存对应SMSCode的编号;
所述步骤a进一步是:AppServer将目的通信终端的DeviceToken、对应的编号和要推送的信息发送给PushCenter;
所述步骤b进一步是:在PushCenter侧,收到所述消息后,根据该消息中携带的DeviceToken值,确定目的通信终端的通信号码;根据该消息中携带的编号,确定对应的SMSCode值;构造短消息,将所确定的通信号码作为该短消息的被叫号码,将所确定的SMSCode作为该短消息的主叫号码,在短消息内容部分携带所要推送的信息,将该短消息发送出去;
还公开一种推送配置方法,包括:
c1、ClientApp向PushAgent发送注册推送消息请求;
c2、PushAgent向PushCenter发送注册请求;
c3、PushCenter收到所述注册请求后,得到对应通信终端的DeviceToken;向PushAgent返回所述DeviceToken;
c4、PushAgent收到PushCenter的返回消息后,为所述ClientApp指配一个SMSCode,将所述DeviceToken和所述SMSCode值发送给AppServer;
c5、AppServer在用户的账户信息中保存所述DeviceToken和所述SMSCode值。
还公开一种应用指示信息携带方法,包括:
在PushCenter侧,针对各个通信终端,为相应ClientApp分别指配一个编号;在通信终端侧,建立所述编号与相应ClientApp的对应关系;所述方法包括以下步骤:
a、在PushCenter侧,根据DeviceToken值和目的ClientApp确定匹配的编号;
b、在PushCenter侧,构造短消息,将目的通信终端的通信号码作为该短消息的被叫号码,在短消息内容部分携带所要推送的信息,以及所确定的编号,将该短消息发送出去;
c、在所述目的通信终端侧,接收短消息,用该短消息中携带的编号来确定对应的ClientApp。
还公开一种推送配置方法,包括:
c1、ClientApp向PushAgent发送注册推送消息请求;
c2、PushAgent向PushCenter发送注册请求,请求中携带所述ClientApp指示信息;
c3、PushCenter收到所述注册请求后,得到对应通信终端的DeviceToken,针对该通信终端,为所述ClientApp指配一个编号;向PushAgent返回所述DeviceToken和所述编号;
c4、PushAgent收到PushCenter的返回消息后,建立所述编号与所述ClientApp的对应关系;将所述DeviceToken发送给AppServer;
c5、AppServer在用户的账户信息中保存所述DeviceToken。
还公开一种应用指示信息携带方法,包括:
在通信终端侧,为各个ClientApp分别指配一个编号;在AppServer中,在用户的账户信息中,保存对应的编号;所述方法包括以下步骤:
a、AppServer将目的通信终端的DeviceToken、对应的编号和要推送的信息发送给PushCenter;
b、在PushCenter侧,收到该消息后,根据消息中携带的DeviceToken值,确定对应通信号码;构造短消息,将所确定的通信号码作为该短消息的被叫号码,在短消息内容部分携带所要推送的信息,以及接收自AppServer的编号,将该短消息发送出去;
c、在所述目的通信终端侧,接收短消息,用该短消息中携带的编号来确定对应的ClientApp。
还公开一种推送配置方法,包括:
c1、ClientApp向PushAgent发送注册推送消息请求;
c2、PushAgent向PushCenter发送注册请求;
c3、PushCenter收到所述注册请求后,得到对应通信终端的DeviceToken;向PushAgent返回所述DeviceToken;
c4、PushAgent收到PushCenter的返回消息后,为所述ClientApp指配一个编号,将所述DeviceToken和所述编号发送给AppServer;
c5、AppServer在用户的账户信息中保存所述DeviceToken和所述编号。
按照本发明方法,在基于短消息来承载相应的推送消息时,可以减少对短消息有效载荷的占用,提高了短消息的承载效率,可以帮助减少短消息发送的数量,从而帮助降低运营成本,以及帮助提高业务效率。
附图说明
图1所示,为IOS消息推送机制图。
图2所示,为苹果消息推送完整流程。
图3至图8所示,分别为本发明应用指示信息携带方法实施方式一至六的流程图。
具体实施方式
所述应用指示信息可以是相应ClientApp的全名,例如QQ的ClientApp的全名为“C:\Program Files\Tencent\QQ\QQProtect\Bin\QQProtect.exe”。
所述应用指示信息也可以是所述ClientApp对应的域名,例如,QQ的ClientApp对应的域名为qq.com。
所述应用指示信息也可以是操作系统或相应的系统平台服务商分配给所述ClientApp的标识(AppID,Application ID),例如是PushCenter为所述ClientApp分配的一个32位的长整形数字标识。本发明后面以此为例,但不用于限定本发明。
本发明提出一种应用指示信息携带方法,该方法在PushCenter侧建立ClientApp与短消息业务代码(SMSCode,SMS Code)的对应关系。
相应地,在通信终端侧,建立SMSCode与相应ClientApp的对应关系。
如图3所示为本发明应用指示信息携带方法实施方式一流程图。在该实施方式中,
首先在步骤11、在PushCenter侧,构造短消息,将目的通信终端的通信号码作为该短消息的被叫号码,将目的ClientApp对应的SMSCode作为该短消息的主叫号码,在短消息内容部分携带所述要推送的信息,将该短消息发送出去。
步骤12、在相应的通信终端侧,接收所述短消息,根据该短消息的主叫号码,按照所建立的SMSCode与相应ClientApp的对应关系,确定对应的ClientApp。
这样,就完成了相关应用指示信息的携带。
由于这种携带应用指示信息的方式是通过短消息的主叫号码来实现的,不需要占用短消息的有效载荷,提高了短消息的承载效率,有利于业务层面的业务扩展,最终帮助减少需要发送的短消息数量(例如避免因一条短消息无法承载要推送的信息,而需要发送二条短消息的情况),从而帮助节省短消息的通信费用。
本发明提供两种在PushCenter侧建立ClientApp与SMSCode的对应关系的方式。
方式一、分布式建立ClientApp与SMSCode的对应关系
将所述对应关系分布保存到各个AppServer中。例如,对于两个AppServer:AppServer-A和AppServer-B来说,在AppServer-A中,保存SMSCode值1065901020507,在AppServer-B中,保存SMSCode值1065905790015160169。
AppServer在向PushCenter发送推送消息时,还携带自己保存的SMSCode值。这样,当PushCenter发现目的通信终端没有连接到自己时,可以通过短消息向该目的通信终端发送推送信息,并将所保存的SMSCode值作为该短消息的主叫号码。
方式二、集中式建立ClientApp与SMSCode的对应关系
在PushCenter中,设置如表1所示的ClientApp描述表用来描述ClientApp与SMSCode的对应关系。
表1
AppID | SMSCode |
AppID1 | 1065901020507 |
AppID2 | 1065905790015160169 |
按照如表1所示的ClientApp描述表,可以根据一个ClientApp的AppID值来确定对应的SMSCode值。
如果PushCenter与相应的AppServer建立了长期的连接,那么,也可以直接根据该连接标识来保存对应的SMSCode值,或者,根据该连接标识保存对应的AppID和SMSCode值。这种情况下,PushCenter在通过一个连接接收来自相应AppServer的推送消息时,可以直接获得对应的SMSCode值。
实际当中,可以到相应的电信公司申请多个用于发送短消息的SMSCode,并将这些SMSCode分别指配给不同的ClientApp。例如,针对微信与QQ,分别指配SMSCode值1065901020507和SMSCode值1065905790015160169。
在步骤11之前,PushCenter可以按照如表1所示的ClientApp描述表,确定一个ClientApp对应的SMSCode。例如,根据一个ClientApp的AppID,按照如表1所示的ClientApp描述表,确定匹配的SMSCode。
在步骤11中,所述主叫通信终端的通信号码可以是由相应的AppServer在发送推送消息时携带。较佳地,预先在PushCenter中保存目的通信终端的通信号码,例如,对于移动通信终端来说,一般地,该通信号码可以为所述通信终端的MSISDN(The Mobile Station ISDNnumber)。
例如,以DeviceToken为一个32位长二进制数为例,在PushCenter中设置如表2所示的通信终端描述表:
表2
DeviceToken | MSISDN |
DeviceToken1 | 8613316882223 |
DeviceToken2 | 8613823756563 |
这样,按照如表2所示的通信终端描述表,根据一个DeviceToken来确定对应通信终端的通信号码。本发明后面以此为例,但不用于限定本发明。
实际当中,可以在如表2所示的通信终端描述表中进一步包括对应通信终端的IP地址信息,这样,当PushCenter在收到来自AppServer的携带了DeviceToken的推送消息后,根据携带的DeviceToken,从如表2所示的通信终端描述表中确定目的通信终端,在判断目的通信终端的IP地址无效时,执行本发明的通过短消息承载所述推送信息的流程。
本发明提供两种方式用于在通信终端侧建立SMSCode与相应ClientApp的对应关系。
方式一、分布式建立SMSCode与相应ClientApp的对应关系
将所述对应关系分布保存到各个应用中。例如,对于两个ClientApp:ClientApp-1和ClientApp-2来说,在ClientApp-1中,保存SMSCode值1065901020507,在ClientApp-2中,保存SMSCode值1065905790015160169。
相应ClientApp侦测终端收到的短消息,判断该短消息的主叫号码匹配自己保存的SMSCode值时,将该短消息视为承载推送信息的短消息,并从该短消息中解析出对应的推送信息。
例如,Android操作系统向各种应用提供注册接收短消息事件通知的机制,相关ClientApp通过向操作系统注册接收短消息事件通知,侦测通信终端侧所收到的短消息。这样,当通信终端侧收到一个短消息后,操作系统会按照注册的短消息事件通知表所登记的ClientApp,将该短消息事件通知发送给相应的ClientApp。由于是成熟的技术应用,后续不再赘述。
通过让各个注册了消息推送业务的ClientApp分布实施所述的“建立SMSCode与相应ClientApp的对应关系”,以及所述的“根据该短消息的主叫号码,按照所建立的SMSCode与相应ClientApp的对应关系,确定对应的ClientApp”等操作的做法,所涉及的修改面较广泛,因此,该方式一般不被提倡。
需要说明的是,后面提及的各种集中式建立SMSCode与相应ClientApp的对应关系的方式,都可以按照这里提到的分布式建立SMSCode与相应ClientApp的对应关系的方式所给予的提示,找到对应的分布式建立SMSCode与相应ClientApp的对应关系的方式。因此,后面只针对集中式建立SMSCode与相应ClientApp的对应关系的方式进行阐述,但不用于限定本发明。
方式二、集中式建立SMSCode与相应ClientApp的对应关系
设置如表1-B所示的SMSCode描述表来描述所述SMSCode与相应ClientApp的对应关系。
表1-B
SMSCode | AppID |
1065901020507 | AppID1 |
1065905790015160169 | AppID2 |
在步骤12中,在通信终端侧,根据所述短消息的主叫号码,按照设置的如表1-B所示的SMSCode描述表,确定对应的ClientApp。
一般地,在通信终端里设置推送代理模块(PushAgent,Push Agent)来处理来自PushCenter的推送消息的分发。例如,在步骤12中,由所述PushAgent根据所述短消息的主叫号码,按照设置的如表1-B所示的SMSCode描述表,确定对应的ClientApp。这样,所述PushAgent就可以将所述短消息所承载的推送信息发送给所确定的ClientApp。
例如,所述PushAgent作为一个特殊的ClientApp,侦测通信终端收到的短消息,用该短消息的主叫号码匹配设置的如表1-B所示的SMSCode描述表,确定对应的ClientApp;将该短消息所承载的推送信息发送给所确定的ClientApp。
在通信终端侧,在用所述短消息的主叫号码匹配设置的如表1-B所示的SMSCode描述表时,如果没有匹配到对应的ClientApp,则说明该短消息不是用于承载推送信息的短消息。后面类似之处不再赘述。
不难理解,通信终端平台操作系统可以直接通过扩展短消息业务处理模块来实现所述PushAgent职能。
由于所述PushAgent根据所述短消息的主叫号码,按照设置的如表1-B所示的SMSCode描述表,可以进行推送消息的分发,因此,免去了对短消息内容进行解析的麻烦,降低了系统耦合度,提高了可扩展性。
下面通过例1展示一个AppServer向某一通信终端的相应ClientApp推送消息的流程。
例1:在PushCenter侧设置如表1所示的ClientApp描述表,以及如表2所示的通信终端描述表。在通信终端侧设置如表1-B所示的SMSCode描述表。
步骤1-101、AppServer将目的通信终端的DeviceToken和要推送的信息发送给PushCenter。
例如,针对目的账户,将该目的账户的DeviceToken和要推送的信息发送给PushCenter,让PushCenter将该信息推送给该目的账户对应的ClientApp。
步骤1-102、在PushCenter侧,收到所述消息后,根据该消息中携带的DeviceToken,按照如表2所示的通信终端描述表确定对应的通信号码。
需要说明的是,在根据DeviceToken确定目的通信终端时,即可确定对应的通信号码。例如,在如表2所述的通信终端描述表中,进一步包括对应通信终端的IP地址,在根据DeviceToken确定目的通信终端后,判断该IP地址有效,则直接通过IP数据包向该通信终端发送推送信息;如果发现该IP地址无效,则执行下面的通过短消息方式向该通信终端发送推送信息,其中,该短消息的被叫号码为该通信终端的通信号码。
后面其它用例的相应步骤中,不再就这种情况进行赘述。
步骤1-103、在PushCenter侧,构造短消息,将所确定的通信号码作为该短消息的被叫号码,将目的ClientApp对应的SMSCode作为该短消息的主叫号码,在短消息内容部分携带所述要推送的信息,将该短消息发送出去。
步骤1-104、在所述通信终端侧,接收所述短消息,用该短消息的主叫号码匹配如表1-B所示的SMSCode描述表,确定对应的ClientApp。
步骤1-105、在所述通信终端侧,将所述短消息所承载的推送信息发送给所确定的ClientApp。
在步骤1-104中,如果确定不到对应的ClientApp,则说明所述短消息没有承载相应的推送信息。
PushCenter在接收来自AppServer的推送消息时,可以确定对应的ClientApp。
例如,AppServer在向PushCenter发送推送消息时,可以在该消息中直接携带相应ClientApp的AppID,较佳地,在AppServer与PushCenter建立连接时,PushCenter就获取相应ClientApp的AppID,并建立该AppID与对应连接的对应关系,这样,PushCenter在接收消息时,即可获取对应的AppID。例如,PushCenter根据一个AppServer建立连接时对应的证书可以知道是哪一个AppServer所发送的消息,从而知道要推送消息的目的ClientApp。本发明后面不再就此赘述。
也即,在步骤1-102中,PushCenter收到来自所述AppServer的推送消息后,可以确定目的ClientApp,这样,按照设置的如表1所示的ClientApp描述表,来确定对应的SMSCode,以用于在步骤1-103中作为所述短消息的主叫号码。
本领域技术人员明白,将如表1所示的ClientApp描述表中对应的AppID置换为面向相应AppServer的连接信息,可以达到同样效果。例如,AppServer向PushCenter发起连接器请求,并将对应的SMSCode发送给PushCenter,或者,在PushCenter与AppServer建立连接后,所述AppServer将对应的SMSCode发送给PushCenter,这时,PushCenter可以根据所述连接的标识来保存对应的SMSCode。这样,PushCenter在接收到来自AppServer的推送消息后,即可得到所述AppServer对应的SMSCode,也即所述的目的ClientApp对应的SMSCode。
如果不在PushCenter侧设置如表1所示的ClientApp描述表,而是在各个AppServer中保存对应的SMSCode值,则相应地,所述步骤1-101是:AppServer将目的通信终端的DeviceToken和要推送的信息,以及保存的SMSCode值发送给PushCenter。相应地,在步骤1-103中,所述的目的ClientApp对应的SMSCode为收到的来自相应的AppServer的SMSCode值。
由上可知,以应用指示信息为4个字节长的AppID为例,按照该实施方式,可以节省短消息有效载荷4个字节。
针对本发明应用指示信息携带方法实施方式一,以相应SMSCode分别由各个AppServer提供商申请并提供使用为例,在这里提供一种推送配置方法,通过该方法,完成推送流程中相关配置数据的设置。该方法包括如下步骤:
步骤C11、ClientApp向PushAgent发送注册推送消息请求,请求中携带对应的SMSCode值。这里,所述ClientApp可以预先从相应AppServer获取对应的SMSCode。
步骤C12、所述PushAgent收到所述请求后,建立所述SMSCode值和所述ClientApp的对应关系;向PushCenter发送注册请求。
例如,通过在如表1-B所示的SMSCode描述表中,根据所述SMSCode值保存所述ClientApp的AppID值,来建立所述SMSCode值和该ClientApp的对应关系。
步骤C13、PushCenter收到所述注册请求后,得到对应通信终端的DeviceToken,向所述PushAgent返回该DeviceToken。
步骤C14、所述PushAgent收到所述DeviceToken后,将该DeviceToken发送给所述ClientApp。
步骤C15、所述ClientApp收到所述DeviceToken,将该DeviceToken发送给相应的AppServer。
步骤C16、所述AppServer收到所述DeviceToken后,针对相应用户保存所述DeviceToken,例如,在用户的账户信息中保存所述DeviceToken。
如果在AppServer中不保存对应的SMSCode值,即AppServer在向PushCenter发送推送消息时,不携带所述SMSCode值,则:在步骤C12中,所述注册请求中还携带所述SMSCode值和所述AppID值。相应地,在步骤C13中,PushCenter收到所述SMSCode值和AppID值后,还在如表1所示的ClientApp描述表中保存所述AppID值和所述SMSCode值的对应关系。
在步骤C13中,如果针对一个通信终端,还没有对应的DeviceToken,则为该通信终端生成一个独一无二的DeviceToken。由于在苹果的推送系统中已有成熟应用,因此,这里和后面都不赘述。
实际当中,注册推送业务的ClientApp种类可能很多,例如,苹果应用中心的应用有数十万,需要推送业务的应用可能会很多。这样,就需要为众多ClientApp指配数量庞大的SMSCode,从而导致SMSCode资源的浪费。对此,本发明更进一步地提出SMSCode复用的方法,按照该方法,可以大幅度地降低对SMSCode的需求数量。
具体地说,在PushCenter侧,针对各个通信终端,分别建立ClientApp与SMSCode的对应关系。参见如表3所示的终端——ClientApp描述表:
表3
DeviceToken | AppID | SMSCode |
DeviceToken1 | AppID1 | 1065901020507 |
DeviceToken1 | AppID2 | 1065905790015160169 |
DeviceToken2 | AppID1 | 1065905790015160169 |
DeviceToken2 | AppID3 | 1065901020507 |
从如表3所示的终端——ClientApp描述表中可以看出,对于SMSCode值1065905790015160169来说,对应于不同的通信终端,所对应的ClientApp可以不同。对于AppID1值AppID1对应的ClientApp来说,在不同的通信终端,该ClientApp所对应的SMSCode也可以不同。
这样,在申请SMSCode时,只需要考虑一个通信终端中,注册推送业务的应用的最大数量即可。例如,允许一个通信终端上登记推送业务的应用数量为20个,那么,只需要申请使用20个SMSCode即可。
相应地,在通信终端侧,建立SMSCode与相应ClientApp的对应关系。这里以在通信终端侧,设置如表1-B所示的SMSCode描述表为例。
在PushCenter侧,保存可以使用的各个SMSCode值。
如图4所示为本发明应用指示信息携带方法实施方式二流程图。在该实施方式中,
首先在步骤21、在PushCenter侧,根据DeviceToken值和目的ClientApp的AppID,从如表3所示的终端——ClientApp描述表中确定相应的SMSCode。
步骤22、在PushCenter侧,构造短消息,将目的通信终端的通信号码作为该短消息的被叫号码,将所确定的SMSCode作为该短消息的主叫号码,在短消息内容部分携带所要推送的信息,将该短消息发送出去。
步骤23、在相应的通信终端侧,接收所述短消息,根据该短消息的主叫号码,按照所建立的SMSCode与相应ClientApp的对应关系,确定对应的ClientApp。
例如,在所述目的通信终端侧,用所述短消息的主叫号码匹配如表1-B所示的SMSCode描述表,确定对应的ClientApp。
实际当中,在PushCenter侧,设置有如表2所示的通信终端描述表。
下面通过例2展示一个AppServer向某一通信终端的相应ClientApp推送消息的流程。
例2:在PushCenter侧设置如表3所示的终端——ClientApp描述表,以及如表2所示的通信终端描述表。相应地,在通信终端侧,设置如表1-B所示的SMSCode描述表。
步骤2-101、AppServer将目的通信终端的DeviceToken和要推送的信息发送给PushCenter。
例如,针对目的账户,将该目的账户的DeviceToken和要推送的信息发送给PushCenter,让PushCenter将要推送的信息推送给该目的账户对应的ClientApp。
步骤2-102、在PushCenter侧,收到所述消息后,根据该消息中携带的DeviceToken值,按照如表2所示的通信终端描述表确定对应通信号码;根据该消息中携带的DeviceToken值和目的ClientApp的AppID,从如表3所示的终端——ClientApp描述表中确定相应的SMSCode。
步骤2-103、在PushCenter侧,构造短消息,将所确定的通信号码作为该短消息的被叫号码,将所确定的SMSCode作为该短消息的主叫号码,在短消息内容部分携带所要推送的信息,将该短消息发送出去。
步骤2-104、在相应通信终端侧,接收所述短消息,用该短消息的主叫号码匹配如表1-B所示的SMSCode描述表,确定对应的ClientApp。
步骤2-105、在相应通信终端侧,将所述短消息所承载的推送信息发送给所确定的ClientApp。
在步骤2-104中,如果确定不到对应的ClientApp,则说明所述短消息没有承载相应的推送信息。
如上所述,在步骤2-102中,PushCenter收到来自所述AppServer的消息后,可以确定目的ClientApp。
由上可知,以应用指示信息为4个字节长的AppID为例,按照该实施方式,可以节省短消息有效载荷4个字节。
针对本发明应用指示信息携带方法实施方式二,以相应SMSCode由相应PushCenter提供商申请并提供使用为例,在这里提供一种推送配置方法,通过该方法,完成推送流程中相关配置数据的设置。该方法包括如下步骤:
步骤C21、ClientApp向PushAgent发送注册推送消息请求。
步骤C22、所述PushAgent收到所述请求后,向PushCenter发送注册请求,请求中携带所述ClientApp的AppID值。
步骤C23、PushCenter收到所述注册请求后,得到对应通信终端的DeviceToken,针对该通信终端,为所述ClientApp指配一个SMSCode;在如表3所示的终端——ClientApp描述表中,根据所述DeviceToken和所述AppID值保存所述SMSCode值;向所述PushAgent返回所述DeviceToken和所述SMSCode值。
步骤C24、所述PushAgent收到PushCenter的返回消息后,在如表1-B所示的SMSCode描述表中保存所述SMSCode值和所述ClientApp的AppID值的对应关系;将所述DeviceToken发送给所述ClientApp。
步骤C25、所述ClientApp收到所述DeviceToken后,将该DeviceToken发送给相应的AppServer。
步骤C26、所述AppServer收到所述DeviceToken后,针对相应用户保存所述DeviceToken,例如,在用户的账户信息中保存所述DeviceToken。
实际当中,在步骤C23中,PushCenter向所述PushAgent返回的消息中,还可以进一步地直接包括所述AppID值,例如,PushCenter向所述PushAgent返回所述DeviceToken、所述AppID值和所述SMSCode值。
本领域技术人员由上能够想到,为一个ClientApp指配相应SMSCode的操作也可以由通信终端侧来实现。这种情况下,不需要在PushCenter侧保存所述的可以使用的各个SMSCode值,而是在通信终端侧保存可以使用的各个SMSCode值。例如:
所述步骤C22进一步是,所述PushAgent收到所述请求后,为所述ClientApp指配一个SMSCode,在如表1-B所示的SMSCode描述表中保存所述SMSCode值和所述ClientApp的AppID值的对应关系;向PushCenter发送注册请求,请求中携带所述ClientApp的AppID值和指配的SMSCode。
相应地,所述步骤C23进一步是:PushCenter收到所述注册请求后,得到对应通信终端的DeviceToken,在如表3所示的终端——ClientApp描述表中,根据所述DeviceToken和所述AppID值保存所述SMSCode值;向所述PushAgent返回所述DeviceToken。
相应地,所述步骤C24进一步是:所述PushAgent收到PushCenter的返回消息后;将所述DeviceToken发送给所述ClientApp。
为了减少所述应用指示信息对短消息有效载荷的占用,在PushCenter侧,也可以针对各个通信终端,为各个ClientApp分别指配一个编号。所指配的编号的长度可以根据通信终端侧允许注册推送业务的ClientApp数量而定,例如,编号长度为一个字节,可以支持最多256个ClientApp注册推送业务。
例如,设置如表4所示的终端——ClientApp编号表:
表4
DeviceToken | AppID | 编号 |
DeviceToken1 | AppID1 | 1 |
DeviceToken1 | AppID2 | 2 |
DeviceToken1 | AppID3 | 5 |
DeviceToken1 | AppID4 | 7 |
DeviceToken2 | AppID1 | 2 |
DeviceToken2 | AppID2 | 3 |
DeviceToken2 | AppID3 | 8 |
相应地,在通信终端侧建立所述编号与相应ClientApp的对应关系。例如,设置如表4-B所示的ClientApp编号表:
表4-B
编号 | AppID |
2 | AppID1 |
3 | AppID2 |
8 | AppID3 |
这样,通过短消息携带较短的编号即可指示目的ClientApp。这样,就不需要申请多个SMSCode值。例如,为PushCenter指配一个SMSCode值,并由PushCenter保存。
如图5所示为本发明应用指示信息携带方法实施方式三流程图。在该实施方式中,
首先在步骤31、在PushCenter侧,根据DeviceToken值和目的ClientApp的AppID,从如表4所示的终端——ClientApp编号表中确定匹配的编号。
步骤32、在PushCenter侧,构造短消息,将目的通信终端的通信号码作为该短消息的被叫号码,将保存的SMSCode作为该短消息的主叫号码,在短消息内容部分携带所要推送的信息,以及所确定的编号,将该短消息发送出去。
步骤33、在相应通信终端侧,接收所述短消息,用该短消息中携带的编号匹配如表4-B所示的ClientApp编号表,确定对应的ClientApp。
实际当中,在PushCenter侧,设置有如表2所示的通信终端描述表。
通信终端如何识别一个短消息是用于承载推送消息的呢?本发明介绍两种识别方式:
识别方式一、操作标识识别方式
在短消息中携带一个操作码,用于指示该短消息是用于承载推送消息。
通信终端收到短消息后,判断短消息中是否携带了对应的操作码,如果是,则将该短消息视为用于承载推送消息。
识别方式二、主叫号码识别方式
通信终端收到短消息后,判断该短消息的主叫号码是否匹配保存的SMSCode,如果匹配,则将该短消息视为用于承载推送消息。
实际当中,也可以同时采用上述两种识别方式来识别一个短消息是否用于推送消息。例如,首先根据主叫号码识别方式确定所述短消息是用于承载控制信息的短消息,而后用操作标识识别方式确定该控制信息是用于推送消息。可以参见申请号为201410244991.8的《控制信息处理方法》发明专利中关于控制信息处理的方式。
主叫号码识别方式不需要占用短消息的有效载荷。
后面以主叫号码识别方式为例,但不用于限定本发明。
例如,在步骤33中,在通信终端侧,在收到所述短消息后,判断短消息的主叫号码为自己保存的SMSCode时,将该短消息视为用于承载推送消息,于是执行所述的“用该短消息中携带的编号匹配如表4-B所示的ClientApp编号表,确定对应的ClientApp”操作。
下面通过例3展示一个AppServer向某一通信终端的相应ClientApp推送消息的流程。
例3:在PushCenter侧设置如表4所示的终端——ClientApp编号表,以及如表2所示的通信终端描述表,并保存SMSCode值。相应地,在通信终端侧,设置如表4-B所示的ClientApp编号表;并对应保存所述SMSCode值,用于识别相应短消息是否用于承载推送消息。
步骤3-101、AppServer将目的通信终端的DeviceToken和要推送的信息发送给PushCenter。
例如,针对目的账户,将该目的账户的DeviceToken和要推送的信息发送给PushCenter,让PushCenter将该信息推送给该目的账户对应的ClientApp。
步骤3-102、在PushCenter侧,收到所述消息后,根据该消息中携带的DeviceToken值,按照如表2所示的通信终端描述表确定对应的通信号码;根据该消息中携带的DeviceToken,和目的ClientApp的AppID,从如表4所示的终端——ClientApp编号表中确定匹配的编号。
步骤3-103、在PushCenter侧,构造短消息,将所确定的通信号码作为该短消息的被叫号码,将所保存的SMSCode作为该短消息的主叫号码,在短消息内容部分携带所要推送的信息,以及所确定的编号,将该短消息发送出去。
步骤3-104、在相应通信终端侧,接收所述短消息,用该短消息的主叫号码匹配保存的SMSCode,由于二者匹配,因此,判断出该短消息用于承载推送消息,于是用该短消息中携带的编号,匹配如表4-B所示的ClientApp编号表,确定对应的ClientApp。
步骤3-105、在所述通信终端侧,将所述短消息所承载的推送信息发送给所确定的ClientApp。
在步骤1-104中,如果二者不匹配,则说明所述短消息不是用于承载推送消息。
如上所述,在步骤3-102中,所述PushCenter收到来自所述AppServer的消息后,可以确定目的ClientApp。
由上可知,以应用指示信息为4个字节长的AppID,且所述编号为一个字节长为例,按照该实施方式,可以节省短消息有效载荷3个字节。
针对本发明应用指示信息携带方法实施方式三,在这里提供一种推送配置方法,通过该方法,完成推送流程中相关配置数据的设置。该方法包括如下步骤:
步骤C31、ClientApp向PushAgent发送注册推送消息请求。
步骤C32、所述PushAgent收到所述请求后,向PushCenter发送注册请求,请求中携带所述ClientApp的AppID值。
步骤C33、所述PushCenter收到所述注册请求后,得到对应通信终端的DeviceToken,针对该通信终端,为所述ClientApp指配一个编号;在如表4所示的终端——ClientApp编号表中,根据所述DeviceToken和所述AppID值保存所述编号;向所述PushAgent返回所述DeviceToken和所述编号。
步骤C34、所述PushAgent收到PushCenter的返回消息后,在如表4-B所示的ClientApp编号表中保存所述编号和所述ClientApp的AppID值的对应关系;将所述DeviceToken发送给所述ClientApp。
步骤C35、所述ClientApp收到所述DeviceToken后,将该DeviceToken发送给相应的AppServer。
步骤C36、所述AppServer收到所述DeviceToken后,针对相应用户保存所述DeviceToken,例如,在用户的账户信息中保存所述DeviceToken。
实际当中,在步骤C33中,PushCenter向所述PushAgent返回的消息中,还可以进一步地直接包括所述AppID值,例如,PushCenter向所述PushAgent返回所述DeviceToken、所述AppID值和所述编号。
本领域技术人员由上能够想到,为一个ClientApp指配一个编号的操作也可以在通信终端侧来实现。例如:
所述步骤C32进一步是,所述PushAgent收到所述请求后,为所述ClientApp指配一个编号,在如表4-B所示的ClientApp编号表中保存所述编号和所述ClientApp的AppID值的对应关系;向PushCenter发送注册请求,请求中携带所述ClientApp的AppID值和指配的编号。
相应地,所述步骤C33进一步是:PushCenter收到所述注册请求后,得到对应通信终端的DeviceToken,在如表4所示的终端——ClientApp编号表中,根据所述DeviceToken和所述AppID值保存所述编号;向所述PushAgent返回所述DeviceToken。
相应地,所述步骤C34进一步是:所述PushAgent收到PushCenter的返回消息后;将所述DeviceToken发送给所述ClientApp。
实际当中,本领域技术人员由本发明应用指示信息携带方法实施方式二和本发明应用指示信息携带方法实施方式三能够想到,作为一种折衷技术方案,在PushCenter侧,针对各个通信终端,为各个ClientApp分别指配一个(SMSCode,编号)对。参见如表3X4所示的终端——ClientApp复合描述表:
表3X4
DeviceToken | AppID | SMSCode | 编号 |
DeviceToken1 | AppID1 | 1065901020507 | 1 |
DeviceToken1 | AppID2 | 1065901020507 | 2 |
DeviceToken1 | AppID3 | 1065905790015160169 | 1 |
DeviceToken1 | AppID4 | 1065905790015160169 | 5 |
DeviceToken2 | AppID1 | 1065905790015160169 | 1 |
DeviceToken2 | AppID2 | 1065901020507 | 3 |
DeviceToken2 | AppID3 | 1065901020507 | 8 |
相应地,在通信终端侧建立所述(SMSCode,编号)对与相应ClientApp的对应关系。例如,设置如表3X4-B所示的(SMSCode,编号)对表:
表3X4-B
SMSCode | 编号 | AppID |
1065901020507 | 1 | AppID1 |
1065901020507 | 2 | AppID2 |
1065905790015160169 | 1 | AppID3 |
1065905790015160169 | 5 | AppID4 |
这样,通过短消息的主叫号码与短消息携带的编号即可指示目的ClientApp。这样,就不需要为一个PushCenter申请过多的SMSCode。例如,为申请两个SMSCode,并由PushCenter保存。
如图6所示为本发明应用指示信息携带方法实施方式四流程图。在该实施方式中,
首先在步骤41、在PushCenter侧,根据DeviceToken值和目的ClientApp的AppID,从如表3X4所示的终端——ClientApp复合描述表中确定匹配的SMSCode值和编号。
步骤42、在PushCenter侧,构造短消息,将目的通信终端的通信号码作为该短消息的被叫号码,将所确定的SMSCode作为该短消息的主叫号码,在短消息内容部分携带所要推送的信息,以及所确定的编号,将该短消息发送出去。
步骤43、在相应通信终端侧,接收所述短消息,用该短消息的主叫号码和短消息内容中预期携带的编号匹配如表3X4-B所示的(SMSCode,编号)对表,确定对应的ClientApp。
实际当中,在PushCenter侧,设置有如表2所示的通信终端描述表。
下面通过例4展示一个AppServer向某一通信终端的相应ClientApp推送消息的流程。
例4:申请若干SMSCode。在PushCenter侧,保存所申请的SMSCode,设置如表3X4所示的终端——ClientApp复合描述表,以及如表2所示的通信终端描述表。相应地,在通信终端侧,相应设置如表3X4-B所示的(SMSCode,编号)对表。
步骤4-101、AppServer将目的通信终端的DeviceToken和要推送的信息发送给PushCenter。
例如,针对目的账户,将该目的账户的DeviceToken和要推送的信息发送给PushCenter,让PushCenter将该信息推送给该目的账户对应的ClientApp。
步骤4-102、在PushCenter侧,收到所述消息后,根据该消息中携带的DeviceToken值,按照如表2所示的通信终端描述表确定对应的通信号码;根据该消息中携带的DeviceToken值,和目的ClientApp的AppID,从如表3X4所示的终端——ClientApp复合描述表中确定匹配的SMSCode和编号。
步骤4-103、在PushCenter侧,构造短消息,将所确定的通信号码作为该短消息的被叫号码,将所确定的SMSCode作为该短消息的主叫号码,在短消息内容部分携带所要推送的信息,以及所确定的编号,将该短消息发送出去。
步骤4-104、在相应通信终端侧,接收所述短消息,用该短消息的主叫号码和短消息内容中预期携带的编号匹配如表3X4-B所示的(SMSCode,编号)对表,确定对应的ClientApp。
步骤4-105、在所述通信终端侧,将所述短消息所承载的推送信息发送给所确定的ClientApp。
在步骤4-104中,如果确定不到对应的ClientApp,则说明所述短消息不是用于承载相应的推送信息。
如上所述,在步骤4-102中,PushCenter收到来自所述AppServer的消息后,可以确定目的ClientApp。
由上可知,以应用指示信息为4个字节长的AppID,且所述编号为半个字节长为例,按照该实施方式,可以节省短消息有效载荷3.5个字节。
实际当中,如表3所示的终端——ClientApp描述表的规模可能会十分庞大,这样,要保证检索速度,就可能要大大增加PushCenter侧的成本。对此,本发明进一步提出改进方法,按照该方法,不在PushCenter中设置如表3所示的终端——ClientApp描述表,而是将如表3所示的终端——ClientApp描述表中描述的对应关系分布保存到相应的AppServer中。
例如,在AppServer中,在用户的账户信息中,保存对应的SMSCode。这样,AppServer在确定目的账户时,即可得到对应的SMSCode。这种情况下,AppServer在向PushCenter发送推送消息时,还携带目的账户对应的SMSCode。
相应地,在通信终端侧,建立SMSCode与相应ClientApp的对应关系。这里以在通信终端侧,设置如表1-B所示的SMSCode描述表为例。
在PushCenter侧,设置如表2所示的通信终端描述表。
如图7所示为本发明应用指示信息携带方法实施方式五流程图。在该实施方式中,
首先在步骤51、AppServer将目的通信终端的DeviceToken、对应的SMSCode值和要推送的信息发送给PushCenter。
步骤52、在PushCenter侧,收到所述消息后,根据该消息中携带的DeviceToken值,按照如表2所示的通信终端描述表确定相应的通信号码;构造短消息,将所确定的通信号码作为该短消息的被叫号码,将所述消息中携带的SMSCode值作为该短消息的主叫号码,在短消息内容部分携带所要推送的信息,将该短消息发送出去。
步骤53、在相应通信终端侧,接收所述短消息,根据该短消息的主叫号码,按照所建立的SMSCode与相应ClientApp的对应关系,确定对应的ClientApp。
这样,在所述通信终端侧,就可以将所述短消息所承载的推送信息发送给所确定的ClientApp。
下面通过例5展示一个AppServer向某一通信终端的相应ClientApp推送消息的流程。
例5:在AppServer侧,在用户的账户信息中,保存对应的SMSCode。在PushCenter侧,设置如表2所示的通信终端描述表。在通信终端侧,设置如表1-B所示的SMSCode描述表。
步骤5-101、AppServer将目的通信终端的DeviceToken、对应的SMSCode和要推送的信息发送给PushCenter。
例如,针对目的账户,将该目的账户的DeviceToken、对应的SMSCode和要推送的信息发送给PushCenter,让PushCenter将该信息推送给该目的账户对应的ClientApp。
步骤5-102、在PushCenter侧,收到所述消息后,根据消息中携带的DeviceToken值,按照如表2所示的通信终端描述表确定对应的通信号码。
步骤5-103、在PushCenter侧,构造短消息,将所确定的通信号码作为该短消息的被叫号码,将所述消息中携带的SMSCode作为该短消息的主叫号码,在短消息内容部分携带所要推送的信息,将该短消息发送出去。
步骤5-104、在相应的通信终端侧,接收所述短消息,用该短消息的主叫号码匹配如表1-B所示的SMSCode描述表,确定对应的ClientApp。
步骤5-105、在所述通信终端侧,将所述短消息所承载的推送信息发送给所确定的ClientApp。
在步骤5-104中,如果确定不到对应的ClientApp,则说明所述短消息不是用于承载相应的推送信息。
由上可知,以应用指示信息为4个字节长的AppID为例,按照该实施方式,可以节省短消息有效载荷4个字节。
针对本发明应用指示信息携带方法实施方式五,以相应SMSCode由相应PushCenter提供商申请并提供使用为例,在这里提供一种推送配置方法,通过该方法,完成推送流程中相关配置数据的设置。该方法预先在通信终端侧保存可以使用的各个SMSCode值。该方法包括如下步骤:
步骤C51、ClientApp向PushAgent发送注册推送消息请求。
步骤C52、所述PushAgent收到所述请求后,向PushCenter发送注册请求。
步骤C53、PushCenter收到所述注册请求后,得到对应通信终端的DeviceToken;向所述PushAgent返回所述DeviceToken。
步骤C54、所述PushAgent收到PushCenter的返回消息后,为所述ClientApp指配一个SMSCode,在如表1-B所示的SMSCode描述表中保存所述SMSCode值和所述ClientApp的AppID值的对应关系;将所述DeviceToken和所述SMSCode值发送给所述ClientApp。
步骤C55、所述ClientApp将收到的所述DeviceToken和所述SMSCode值发送给相应的AppServer。
步骤C56、所述AppServer收到所述消息后,针对相应用户保存所述DeviceToken和所述SMSCode值,例如,在用户的账户信息中保存所述DeviceToken和所述SMSCode值。
考虑到SMSCode的更换会影响到AppServer,较佳地,在PushCenter中,给各个SMSCode分别指配一个编号,参见如表5所示的SMSCode编号表。
表5
SMSCode_No | SMSCode |
1 | 1065901020507 |
2 | 1065905790015160169 |
相应地,在AppServer中,在用户的账户信息中,不直接保存对应的SMSCode,而是保存相应SMSCode的编号。这种情况下,AppServer在向PushCenter发送推送信息时,进一步携带相应SMSCode的编号。这样,在PushCenter侧,根据所述编号,从如表5所示的SMSCode编号表中确定对应的SMSCode。
这样,所述步骤51进一步是:AppServer将目的通信终端的DeviceToken、对应的编号和要推送的信息发送给PushCenter。
相应地,所述步骤52进一步是:在PushCenter侧,收到所述消息后,根据该消息中携带的DeviceToken值,按照如表2所示的通信终端描述表确定相应的通信号码;根据该消息中携带的编号,按照如表5所示的SMSCode编号表确定对应的SMSCode值;构造短消息,将所确定的通信号码作为该短消息的被叫号码,将所确定的SMSCode值作为该短消息的主叫号码,在短消息内容部分携带所要推送的信息,将该短消息发送出去。
例如:
所述步骤5-101进一步是:AppServer将目的通信终端的DeviceToken、对应的编号和要推送的信息发送给PushCenter。
相应地,所述步骤5-102进一步是:在PushCenter侧,收到该消息后,根据消息中携带的DeviceToken值,按照如表2所示的通信终端描述表确定对应的通信号码;根据该消息中携带的编号,按照如表5所示的SMSCode编号表确定对应的SMSCode。
相应地,所述步骤5-103进一步是:在PushCenter侧,构造短消息,将所确定的通信号码作为该短消息的被叫号码,将所确定的SMSCode作为该短消息的主叫号码,在短消息内容部分携带所要推送的信息,将该短消息发送出去。
这样,当某个SMSCode发生变更时,只需要更新如表5所示的SMSCode编号表中的SMSCode值,以及登记了推送业务的相应通信终端中设置的如表1-B所示的SMSCode描述表中对应的SMSCode值即可,而数量庞大的AppServer中的配置数据则不需要同步更新。
这种情况下,一般地,在通信终端侧保存如表5所示的SMSCode编号表以用于推送配置。例如:
所述步骤C54进一步是:所述PushAgent收到PushCenter的返回消息后,为所述ClientApp指配一个SMSCode,在如表1-B所示的SMSCode描述表中保存所述SMSCode值和所述ClientApp的AppID值的对应关系;将所述DeviceToken和所述SMSCode值对应的编号发送给所述ClientApp。
相应地,所述步骤C55进一步是:所述ClientApp将收到的所述DeviceToken和所述编号发送给相应的AppServer。
相应地,所述步骤C56进一步是:所述AppServer在收到所述DeviceToken和所述编号后,在用户的账户信息中保存所述DeviceToken和所述编号。
同样,如表4所示的终端——ClientApp编号表的规模可能会十分庞大,这样,就可能大大增加PushCenter侧的成本。对此,本发明进一步提出改进方法,按照该方法,在PushCenter侧不需要设置如表4所示的终端——ClientApp编号表。
具体地说,在AppServer中,在用户的账户信息中,保存对应的编号。这种情况下,AppServer在向PushCenter发送推送消息时,还携带目的账户对应的编号。
相应地,在通信终端侧建立所述编号与相应ClientApp的对应关系。例如,在通信终端侧,设置如表4-B所示的ClientApp编号表。
在PushCenter侧,设置如表2所示的通信终端描述表,保存SMSCode。在通信终端侧,对应保存所述SMSCode。
如图8所示为本发明应用指示信息携带方法实施方式六流程图。在该实施方式中,
首先在步骤61、AppServer将目的通信终端的DeviceToken、对应的编号和要推送的信息发送给PushCenter。
步骤62、在PushCenter侧,收到所述消息后,根据消息中携带的DeviceToken值,按照如表2所示的通信终端描述表确定对应的通信号码;构造短消息,将所确定的通信号码作为该短消息的被叫号码,将保存的SMSCode作为该短消息的主叫号码,在短消息内容部分携带所要推送的信息,以及接收的编号,将该短消息发送出去。
步骤63、在相应的通信终端侧,接收所述短消息,用该短消息中携带的编号匹配如表4-B所示的ClientApp编号表,确定对应的ClientApp。
这样,在所述通信终端侧,就可以将所述短消息所承载的推送信息发送给所确定的ClientApp。
在步骤63中,在通信终端侧,判断短消息的主叫号码为自己保存的SMSCode时,将该短消息视为用于推送消息,于是执行所述的“用该短消息中携带的编号匹配如表4-B所示的ClientApp编号表,确定对应的ClientApp”的操作。
下面通过例6展示一个AppServer向某一通信终端的相应ClientApp推送消息的流程。
例6:在AppServer侧,在用户的账户信息中,保存对应的编号。在PushCenter侧,设置如表2所示的通信终端描述表,保存SMSCode值。在通信终端侧,对应保存所述SMSCode值,设置如表4-B所示的ClientApp编号表。
步骤6-101、AppServer将目的通信终端的DeviceToken、对应的编号和要推送的信息发送给PushCenter。
例如,针对目的账户,将该目的账户的DeviceToken、对应的编号和要推送的信息发送给PushCenter,让PushCenter将该信息推送给该目的账户对应的ClientApp。
步骤6-102、在PushCenter侧,收到所述消息后,根据消息中携带的DeviceToken值,按照如表2所示的通信终端描述表确定对应的通信号码。
步骤6-103、在PushCenter侧,构造短消息,将所确定的通信号码作为该短消息的被叫号码,将所述SMSCode作为该短消息的主叫号码,在短消息内容部分携带所要推送的信息和所述编号,将该短消息发送出去。
步骤6-104、在相应的通信终端侧,接收所述短消息,用该短消息的主叫号码匹配保存的SMSCode,由于二者匹配,因此,判断出该短消息用于承载推送消息,于是用该短消息中携带的编号,匹配如表4-B所示的ClientApp编号表,确定对应的ClientApp。
步骤6-105、在所述通信终端侧,将所述短消息所承载的推送信息发送给所确定的ClientApp。
在步骤6-104中,如果二者不匹配,则说明所述短消息不是用于承载相应的推送信息。
由上可知,以{应用指示信息为4个字节长的AppID,且所述编号为一个字节长}为例,按照该实施方式,可以节省短消息有效载荷3个字节。
针对本发明应用指示信息携带方法实施方式六,以相应SMSCode由对应PushCenter提供商申请并提供使用为例,在这里提供一种推送配置方法,通过该方法,完成推送流程中相关配置数据的设置。该方法包括如下步骤:
步骤C61、ClientApp向PushAgent发送注册推送消息请求。
步骤C62、所述PushAgent收到所述请求后,向PushCenter发送注册请求。
步骤C63、PushCenter收到所述注册请求后,得到对应通信终端的DeviceToken;向所述PushAgent返回所述DeviceToken。
步骤C64、所述PushAgent收到PushCenter的返回消息后,为所述ClientApp指配一个编号,在如表4-B所示的ClientApp编号表中保存所述编号和所述ClientApp的AppID值的对应关系;将所述DeviceToken和所述编号发送给所述ClientApp。
步骤C65、所述ClientApp将收到的所述DeviceToken和所述编号发送给相应的AppServer。
步骤C66、所述AppServer收到所述消息后,针对相应用户保存所述DeviceToken和所述编号,例如,在用户的账户信息中保存所述DeviceToken和所述编号。
短消息在用于承载推送信息时,如果相应推送信息中还包括用户的隐私信息,或者需要防止骚扰,进而需要对承载信息进行加密或者包括签名信息,等等,诸多情况下,都会使得一条短消息实际能够承载的有效信息量将十分有限。由此,可见,本发明对短消息有效载荷的节约,将会在很大程度上减少短消息发送数量,从而帮助PushCenter运营商降低通信费用,或者是帮助AppServer运营商提高业务层面扩展的灵活性。
以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之类,所作的任何修改、改进、等同替换等均应包含在本发明的保护范围之内。
Claims (10)
1.一种应用指示信息携带方法,其特征在于,在PushCenter侧,建立ClientApp与短消息业务代码(SMSCode)的对应关系;在通信终端侧,建立SMSCode与相应ClientApp的对应关系;所述方法包括以下步骤:
a、在PushCenter侧,构造短消息,将目的通信终端的通信号码作为该短消息的被叫号码,将目的ClientApp对应的SMSCode作为该短消息的主叫号码,在短消息内容部分携带所述要推送的信息,将该短消息发送出去;
b、在所述目的通信终端侧,接收短消息,根据该短消息的主叫号码,按照所建立的SMSCode与相应ClientApp的对应关系,确定对应的ClientApp。
2.根据权利要求1所述的方法,其特征在于,在PushCenter侧,所述建立ClientApp与SMSCode的对应关系进一步是:针对各个通信终端分别进行;相应地,在步骤a中,所述目的ClientApp对应的SMSCode是根据对应通信终端和目的ClientApp,按照所建立的对应关系来确定。
3.一种推送配置方法,其特征在于,所述方法包括以下步骤:
c1、ClientApp向PushAgent发送注册推送消息请求;
c2、PushAgent向PushCenter发送注册请求,请求中携带所述ClientApp指示信息;
c3、PushCenter收到所述注册请求后,得到对应通信终端的DeviceToken,针对该通信终端,为所述ClientApp指配一个SMSCode;向PushAgent返回所述DeviceToken和所述SMSCode;
c4、PushAgent收到PushCenter的返回消息后,建立所述SMSCode值和所述ClientApp的对应关系;将所述DeviceToken发送给AppServer;
c5、AppServer在用户的账户信息中保存所述DeviceToken。
4.一种应用指示信息携带方法,其特征在于,在通信终端侧,建立SMSCode与相应ClientApp的对应关系;在AppServer中,在用户的账户信息中,保存对应的SMSCode;所述方法包括以下步骤:
a、AppServer将目的通信终端的DeviceToken、对应保存的SMSCode和要推送的信息发送给PushCenter;
b、在PushCenter侧,收到所述消息后,根据该消息中携带的DeviceToken值,确定目的通信终端的通信号码;构造短消息,将所确定的通信号码作为该短消息的被叫号码,将所述消息中携带的SMSCode作为该短消息的主叫号码,在短消息内容部分携带所要推送的信息,将该短消息发送出去;
c、在所述目的通信终端侧,接收短消息,根据该短消息的主叫号码,按照所建立的SMSCode与相应ClientApp的对应关系,确定对应的ClientApp。
5.根据权利要求4所述的方法,其特征在于,在PushCenter中,给各个SMSCode分别指配一个编号;在AppServer中,所述的在用户的账户信息中保存对应的SMSCode进一步是:在用户的账户信息中保存对应SMSCode的编号;
所述步骤a进一步是:AppServer将目的通信终端的DeviceToken、对应的编号和要推送的信息发送给PushCenter;
所述步骤b进一步是:在PushCenter侧,收到所述消息后,根据该消息中携带的DeviceToken值,确定目的通信终端的通信号码;根据该消息中携带的编号,确定对应的SMSCode值;构造短消息,将所确定的通信号码作为该短消息的被叫号码,将所确定的SMSCode作为该短消息的主叫号码,在短消息内容部分携带所要推送的信息,将该短消息发送出去。
6.一种推送配置方法,其特征在于,所述方法包括以下步骤:
c1、ClientApp向PushAgent发送注册推送消息请求;
c2、PushAgent向PushCenter发送注册请求;
c3、PushCenter收到所述注册请求后,得到对应通信终端的DeviceToken;向PushAgent返回所述DeviceToken;
c4、PushAgent收到PushCenter的返回消息后,为所述ClientApp指配一个SMSCode,将所述DeviceToken和所述SMSCode值发送给AppServer;
c5、AppServer在用户的账户信息中保存所述DeviceToken和所述SMSCode值。
7.一种应用指示信息携带方法,其特征在于,在PushCenter侧,针对各个通信终端,为相应ClientApp分别指配一个编号;在通信终端侧,建立所述编号与相应ClientApp的对应关系;所述方法包括以下步骤:
a、在PushCenter侧,根据DeviceToken值和目的ClientApp确定匹配的编号;
b、在PushCenter侧,构造短消息,将目的通信终端的通信号码作为该短消息的被叫号码,在短消息内容部分携带所要推送的信息,以及所确定的编号,将该短消息发送出去;
c、在所述目的通信终端侧,接收短消息,用该短消息中携带的编号来确定对应的ClientApp。
8.一种推送配置方法,其特征在于,所述方法包括以下步骤:
c1、ClientApp向PushAgent发送注册推送消息请求;
c2、PushAgent向PushCenter发送注册请求,请求中携带所述ClientApp指示信息;
c3、PushCenter收到所述注册请求后,得到对应通信终端的DeviceToken,针对该通信终端,为所述ClientApp指配一个编号;向PushAgent返回所述DeviceToken和所述编号;
c4、PushAgent收到PushCenter的返回消息后,建立所述编号与所述ClientApp的对应关系;将所述DeviceToken发送给AppServer;
c5、AppServer在用户的账户信息中保存所述DeviceToken。
9.一种应用指示信息携带方法,其特征在于,在通信终端侧,为各个ClientApp分别指配一个编号;在AppServer中,在用户的账户信息中,保存对应的编号;所述方法包括以下步骤:
a、AppServer将目的通信终端的DeviceToken、对应的编号和要推送的信息发送给PushCenter;
b、在PushCenter侧,收到该消息后,根据消息中携带的DeviceToken值,确定对应通信号码;构造短消息,将所确定的通信号码作为该短消息的被叫号码,在短消息内容部分携带所要推送的信息,以及接收自AppServer的编号,将该短消息发送出去;
c、在所述目的通信终端侧,接收短消息,用该短消息中携带的编号来确定对应的 ClientApp。
10.一种推送配置方法,其特征在于,所述方法包括以下步骤:
c1、ClientApp向PushAgent发送注册推送消息请求;
c2、PushAgent向PushCenter发送注册请求;
c3、PushCenter收到所述注册请求后,得到对应通信终端的DeviceToken;向PushAgent返回所述DeviceToken;
c4、PushAgent收到PushCenter的返回消息后,为所述ClientApp指配一个编号,将所述DeviceToken和所述编号发送给AppServer;
c5、AppServer在用户的账户信息中保存所述DeviceToken和所述编号。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510050602 | 2015-01-31 | ||
CN2015100506022 | 2015-01-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105848118A true CN105848118A (zh) | 2016-08-10 |
Family
ID=56580530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510999606.5A Pending CN105848118A (zh) | 2015-01-31 | 2015-12-27 | 应用指示信息携带方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105848118A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101296397A (zh) * | 2007-04-28 | 2008-10-29 | 中国移动通信集团山东有限公司 | 第三方业务接入方法、增值业务提供方法及系统 |
CN101621764A (zh) * | 2009-08-07 | 2010-01-06 | 中兴通讯股份有限公司 | 基于Java Push机制手机通讯应用的信息传送方法及系统 |
CN102479396A (zh) * | 2010-11-25 | 2012-05-30 | 王正伟 | 目标装置选择方法、系统及装置 |
CN103037072A (zh) * | 2012-02-04 | 2013-04-10 | 个信互动(北京)网络科技有限公司 | 一种短信内容提取到场景应用的实现方法 |
CN103167437A (zh) * | 2011-12-12 | 2013-06-19 | 中国电信股份有限公司 | 在cdma 通信系统中实现ussd 业务的方法与系统、业务平台 |
CN103209389A (zh) * | 2013-04-16 | 2013-07-17 | 百度在线网络技术(北京)有限公司 | 短信推送方法、短信推送系统及短信推送云端服务器 |
US20140256289A1 (en) * | 2004-03-08 | 2014-09-11 | Rafi Nehushtan | Cellular device security apparatus and method |
-
2015
- 2015-12-27 CN CN201510999606.5A patent/CN105848118A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140256289A1 (en) * | 2004-03-08 | 2014-09-11 | Rafi Nehushtan | Cellular device security apparatus and method |
CN101296397A (zh) * | 2007-04-28 | 2008-10-29 | 中国移动通信集团山东有限公司 | 第三方业务接入方法、增值业务提供方法及系统 |
CN101621764A (zh) * | 2009-08-07 | 2010-01-06 | 中兴通讯股份有限公司 | 基于Java Push机制手机通讯应用的信息传送方法及系统 |
CN102479396A (zh) * | 2010-11-25 | 2012-05-30 | 王正伟 | 目标装置选择方法、系统及装置 |
CN103167437A (zh) * | 2011-12-12 | 2013-06-19 | 中国电信股份有限公司 | 在cdma 通信系统中实现ussd 业务的方法与系统、业务平台 |
CN103037072A (zh) * | 2012-02-04 | 2013-04-10 | 个信互动(北京)网络科技有限公司 | 一种短信内容提取到场景应用的实现方法 |
CN103209389A (zh) * | 2013-04-16 | 2013-07-17 | 百度在线网络技术(北京)有限公司 | 短信推送方法、短信推送系统及短信推送云端服务器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9762449B2 (en) | Distributing information | |
CN100571275C (zh) | Sip服务器、终端装置、加入者信息管理装置、通信控制方法 | |
CN100403695C (zh) | 一种实现负载均衡的方法和系统 | |
EP1278351A3 (en) | Mobile communication system | |
CN107343027A (zh) | App分享方法 | |
WO2004082300A3 (en) | Method and apparatus for determining mobile subscriber number for subscribers having same calling line identity | |
CN105323229A (zh) | 一种基于cpe的数据传输方法、网元、平台及系统 | |
CN104040539A (zh) | 数据存储方法和装置、数据操作方法、系统及接入服务器 | |
EP2039138B1 (en) | Identifying network entities in a peer-to-peer network | |
CN106211129A (zh) | 一种空中开卡的方法、系统及平台 | |
CN102546727B (zh) | 车辆全时在线系统和方法 | |
CN110012107B (zh) | 一种数据通信方法、设备、装置、系统及存储介质 | |
CN105516250A (zh) | 物联网服务调用平台和系统 | |
CN101754277A (zh) | 一种选择接入网关的方法和接入网关控制节点 | |
CN101958900A (zh) | 一种服务器处理业务的方法及装置 | |
WO2008093164A3 (en) | Communication system and method | |
CN105357650A (zh) | 智能移动数字对讲方法、服务器及系统 | |
CN102420858B (zh) | 一种ftp模式配置方法、数据传输方法及设备 | |
CN102469442A (zh) | 一种用户终端所支持的业务的确定方法及装置 | |
CN105848118A (zh) | 应用指示信息携带方法 | |
CN106255179A (zh) | 无线局域网中配网的方法和装置 | |
CN101150769B (zh) | 发送短消息的方法和短消息平台 | |
CN105025042B (zh) | 一种确定数据信息的方法及系统、代理服务器 | |
CN100551136C (zh) | 一种支持位置业务接入移动定位中心的方法与设备 | |
CN103096273B (zh) | 一种上行短消息发送的方法、设备及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160810 |
|
WD01 | Invention patent application deemed withdrawn after publication |