CN104023020B - 针对移动设备的TypeB报文订阅推送系统及相应方法 - Google Patents
针对移动设备的TypeB报文订阅推送系统及相应方法 Download PDFInfo
- Publication number
- CN104023020B CN104023020B CN201410263030.1A CN201410263030A CN104023020B CN 104023020 B CN104023020 B CN 104023020B CN 201410263030 A CN201410263030 A CN 201410263030A CN 104023020 B CN104023020 B CN 104023020B
- Authority
- CN
- China
- Prior art keywords
- user
- typeb
- mobile
- messages
- platform
- 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.)
- Active
Links
Landscapes
- Mobile Radio Communication Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及民航数据通信业务领域,提供了一种针对移动设备的TypeB报文订阅推送系统及相应的方法,所述系统采用C/S架构,由TypeB报文订阅推送平台、移动推送平台和客户端组成;所述TypeB报文订阅推送平台包括TypeB报文分发转换模块、订阅规则引擎和用户订阅管理模块,所述客户端由不同移动平台的客户端库组成。本发明提供的TypeB报文订阅推送系统及相应的方法,支持主流移动平台Android和iOS,并统一管理终端用户订阅,支持复杂的订阅条件匹配,将TypeB报文转换为更开放的格式,并安全可靠地传输至用户终端。
Description
技术领域
本发明涉及民航数据通信业务领域,提供了一种针对移动设备的民航领域TypeB报文订阅推送系统及相应方法。
背景技术
民航TypeB报文是一种国际通用的存储转发通信机制,大多为单向通信,由国际航协IATA根据民航领域快速、可靠、安全的消息传送需求特别开发。多年来民航业内一直依靠TypeB通信机制来完成国际电子信息交换,并逐渐覆盖了民航业务操作的全部领域。TypeB消息传递服务被航空公司和许多相关企业广泛使用,包括全球分销系统(GDS)、民航订票系统(CRS)、航空货运系统、地面服务系统、机场相关系统等。
近年来,移动互联网的兴起给各行业带来了新的机遇,民航业也不例外。但移动应用提供的服务需要实时的关键业务数据的支撑,如何将这些数据由数据源头高效稳定的传输至用户端成为必须要解决的紧迫任务。在国内,中国民航已使用TypeB报文作为数据发布的载体,对内外部子系统提供航空业务数据的支持,但并没有向移动应用传输报文的通用方法,而是需要各个业务系统自行接入TypeB,管理订阅、并针对不同平台实现推送。由于涉及环节多,与子系统耦合紧密,且用户终端环境复杂,出现问题不易排查。
发明内容
为了克服现有技术的不足,本发明设计并实现了一整套面向移动应用的TypeB报文订阅推送系统及相应的方法,支持主流移动平台Android和iOS,并统一管理终端用户订阅,支持复杂的订阅条件匹配,将TypeB报文转换为更开放的格式,并安全可靠地传输至用户终端;从而让各业务子系统从数据推送的繁琐实现中解放出来,更多的精力专注于核心业务开发。
本发明提供了一种民航TypeB报文订阅推送系统,所述系统采用C/S架构,由TypeB报文订阅推送平台、移动推送平台和客户端组成;所述TypeB报文订阅推送平台包括TypeB报文分发转换模块、订阅规则引擎和用户订阅管理模块;所述客户端由不同应用平台的客户端库组成;
所述TypeB报文分发转换模块使用JMS从消息队列MQ中实时获取TypeB报文,经过解析分析出数据类型,进行TypeB报文的预处理,然后调用订阅规则引擎对报文内容进行订阅规则的匹配,规则命中后,按照规则中的自定义属性,对TypeB报文进行定制,同时将TypeB报文转换为定义好的XML格式,然后发往移动推送平台;
所述订阅规则引擎定时从数据库加载各种报文数据的最新的用户订阅规则,将订阅规则表达式文本解析生成决策树放入内存中;
所述用户订阅管理模块为用户设置、修改、删除订阅规则的接口,提供各种业务数据的订阅模板;
所述移动推送平台为不同应用平台的移动终端提供推送服务,实时发送TypeB报文分发转换模块转达的消息,支持离线发送和系统群发通知;
所述客户端库为移动应用接收TypeB报文提供支持,封装了接收TypeB报文所需的后台用户注册、登录、接收数据、确认接收消息。
进一步地,所述TypeB报文分发转换模块进一步包括:解析模块、转换模块、查询模块、地址转换模块以及推送模块:
解析模块,解析TypeB报文,将其存入结构化实体中;
转换模块,判断TypeB报文数据类型,遍历该数据类型的订阅规则,调用规则引擎匹配所述订阅规则,命中后根据数据类型和用户订阅规则进行加工组装消息,同时将TypeB报文转换为预先定义好的XML格式;
查询模块,查询用户配置缓存中订阅用户的目的地址,以及相关属性;
地址转换模块,将TypeB报文目的地址改为用户的地址,如果用户为移动用户的话转发给移动推送平台;
推送模块,将转换后的TypeB报文放入移动推送平台的接收MQ中。
进一步地,所述推送模块在将转换后的TypeB报文放入移动推送平台的接收MQ之后更新用户的流量信息。
进一步地,所述订阅规则引擎还支持数据包装,将同一种数据源包装成不同的数据产品发布,用户可同时订阅包装后的数据产品,并设置不同的订阅规则。
进一步地,所述用户订阅管理模块中每个用户每种数据类型只能有一条订阅规则,用户可自由组合订阅条件,支持复杂的逻辑表达式。
进一步地,所述移动推送平台将推送给客户端的TypeB报文都先存在缓存服务器中,待收到客户端确认后才会删除该报文,如果一段时间内仍未接收到客户端的确认,认定该次推送失败,下个发送周期将重新推送。
进一步地,每条TypeB报文都有唯一的id值,客户端在收到重发的TypeB报文时可根据id值进行滤重处理。
进一步地,所述应用平台包括:Android平台和iOS平台。
进一步地,所述移动推送平台进一步包括:用户名提取模块、用户类型查询模块、缓存模块、推送模块和重发模块;其中,
用户名提取模块,接收TypeB报文数据,提取目标用户名;
用户类型查询模块,查询用户信息,判断用户是否已注册,以及是Android用户还是iOS用户;
缓存模块,缓存所述TypeB报文数据;
推送模块,如果是Android用户,则找到相应的ClientSession信息,发送TypeB报文;如果是有效iOS用户的话,转换TypeB报文格式,发送至APNS;
重发模块,如果Android用户不在线或iOS用户DeviceToken无效,暂不发送,等待用户下次登录或重新注册DeviceToken时发送。
进一步地,如果客户端采用Android平台,则客户端进一步执行以下步骤:
步骤1,用户登录APP服务端,获得绑定的推送账号信息;
步骤2,根据APP服务端的返回结果,判断是否需要注册或重新注册,如不需注册跳至步骤5;
步骤3,客户端库访问移动推送平台注册;
步骤4,注册成功后调用APP服务端绑定新注册的推送账号;
步骤5,访问移动推送平台,获取登录Token;
步骤6,使用获得的登录Token向APP服务端获取本次登录密码串;
步骤7,使用登录密码串登录移动推送平台,客户端库与登录移动推送平台建立长连接;
步骤8,有用户的TypeB报文数据到达时,移动推送平台将TypeB报文数据实时推送至客户端;
步骤9,客户端回应所述移动推送平台一个接收数据确认。
进一步地,如果客户端采用iOS平台,则客户端进一步执行以下步骤:
步骤1,用户登录APP服务端,获得绑定的推送账号信息;
步骤2,APP访问APNS,获取APNS返回的DeviceToken,与APP服务端的返回结果对比,判断是否需要注册或重新注册,如不需注册跳至步骤5;
步骤3,客户端库访问移动推送平台注册;
步骤4,注册成功后调用APP服务端绑定新注册的推送账号;
步骤5,有用户的数据到达时,移动推送平台将数据实时推送至APNS;
步骤6,APNS将数据发送至客户端;
步骤7,移动推送平台获取APNS的推送反馈。
本发明提供了一种Android用户TypeB报文订阅推送方法,包括以下步骤:
步骤1,解析TypeB报文,将其存入结构化实体中;
步骤2,判断TypeB报文数据类型,遍历该数据类型的订阅规则,调用规则引擎匹配所述订阅规则,命中后根据数据类型和用户订阅规则进行加工组装消息,同时将TypeB报文转换为预先定义好的XML格式;
步骤3,查询用户配置缓存中订阅用户的目的地址,以及相关属性;
步骤4,将TypeB报文目的地址改为用户的接收地址,如果用户为移动用户的话转发给移动推送平台;
步骤5,将转换后的TypeB报文放入移动推送平台的接收MQ中,更新用户的流量信息;
步骤6,用户登录APP服务端,获得绑定的推送账号信息;
步骤7,根据APP服务端的返回结果,判断是否需要注册或重新注册,如不需注册跳至步骤10;
步骤8,客户端库访问移动推送平台注册;
步骤9,注册成功后调用APP服务端绑定新注册的推送账号;
步骤10,访问移动推送平台,获取登录Token;
步骤11,使用获得的登录Token向APP服务端获取本次登录密码串;
步骤12,使用登录密码串登录移动推送平台,客户端库与登录移动推送平台建立长连接;
步骤13,有用户的TypeB报文数据到达时,移动推送平台将TypeB报文数据实时推送至客户端;
步骤14,客户端回应所述移动推送平台一个接收数据确认。
本发明还提供了一种iOS用户TypeB报文订阅推送方法,包括以下步骤:
步骤1,解析TypeB报文,将其存入结构化实体中,方便后续的处理;
步骤2,判断TypeB报文数据类型,遍历该数据类型的订阅规则,调用规则引擎匹配所述订阅规则,命中后根据数据类型和用户订阅规则进行加工组装消息,同时将TypeB报文转换为预先定义好的XML格式;
步骤3,查询用户配置缓存中订阅用户的目的地址,以及相关属性;
步骤4,将TypeB报文目的地址改为用户的接收地址,如果用户为移动用户的话转发给移动推送平台;
步骤5,将转换后的TypeB报文放入移动推送平台的接收MQ中,更新用户的流量信息;
步骤6,用户登录APP服务端,获得绑定的推送账号信息;
步骤7,APP访问APNS,获取APNS返回的DeviceToken,与APP服务端的返回结果对比,判断是否需要注册或重新注册,如不需注册跳至步骤10;
步骤8,客户端库访问移动推送平台注册;
步骤9,注册成功后调用APP服务端绑定新注册的推送账号;
步骤10,有用户的数据到达时,移动推送平台将数据实时推送至APNS;
步骤11,APNS将数据发送至客户端;
步骤12,移动推送平台获取APNS的推送反馈。
附图说明
图1 所示为本系统结构图;
图2 所示为本系统TypeB报文转发平台工作流程图;
图3 所示为本系统移动推送平台工作流程图;
图4 所示为本系统Android客户端流程图;
图5 所示为本系统iOS客户端流程图。
具体实施方式
如图1所示,本发明一种应用于移动设备的TypeB报文订阅推送系统是将民航TypeB报文推送至移动终端的一整套解决方案,采用C/S架构,服务端包括TypeB报文分发转换模块、订阅规则引擎、用户订阅管理、移动推送平台,客户端由不同平台的客户端库组成。
TypeB报文分发转换模块使用JMS从消息队列MQ中实时获取TypeB报文,经过解析分析出数据类型,进行报文的预处理,然后调用订阅规则引擎对报文内容进行订阅规则的匹配,规则命中后,按照规则中的自定义属性,对报文进行定制,同时将报文转换为预先定义好的XML格式,然后发往移动推送平台。
订阅规则引擎定时从数据库加载各种报文数据的最新的用户订阅规则,将订阅规则从规则表达式文本解析生成决策树放入内存中。另外,订阅规则引擎还支持数据包装,将同一种数据源包装成不同的数据产品发布,用户可以同时订阅包装后的数据产品,并设置不同的订阅规则。
用户订阅管理为用户设置、修改、删除订阅规则的接口,提供各种业务数据的订阅模板,每个用户每种数据类型只能有一条订阅规则,用户可以自由组合订阅条件,支持复杂的逻辑表达式。订阅规则举例:
(({IssueOffice:SZX485:SZX485}O{IssueOffice:YCU100:YCU100})A{BookOffice:BJS115:BJS115})表示用户订阅该种报文中BookOffice为BJS115且IssueOffice为SZX485或YCU100的数据。
如图2所示,TypeB报文分发转换模块收到TypeB报文转发至移动推送平台的过程如下:
步骤1,解析TypeB报文,将其存入结构化实体中,方便后续的处理;
步骤2,判断报文数据类型,遍历该数据类型的订阅规则,调用规则引擎匹配规则,命中后根据数据类型和用户订阅规则进行加工组装消息,同时将报文转换为预先定义好的XML格式;
步骤3,查询用户配置缓存中订阅用户的目的地址,以及相关属性;
步骤4,将报文目的地址改为用户的接收地址,如果用户为移动用户的话转发给移动推送平台;
步骤5,将转换后的新报文放入移动推送平台的接收MQ中,更新用户的流量信息。
移动推送平台统一管理客户端后台推送用户,对Android平台来说,客户端经过一系列流程登录成功后,与移动推送平台建立长连接,并定期向平台发送心跳包保持在线,平台在每次收到心跳包时检测有无该用户的数据,有的话开始发送。发送时用户的初始窗口设为一个值,发送一条数据该值减1,收到一条数据确认时加1,当用户的窗口值低于低水位时,暂停发送,等待窗口值恢复到高水位再继续发送,从而避免客户端接收过慢造成的流量冲击。
为了确保TypeB报文可靠到达,每条推送给客户端的报文都会先存在缓存服务器中,待收到客户端确认后才会删除该报文,如果一段时间内仍未接收到客户端的确认,认为该次推送失败,下个发送周期将重新推送,从而保证了报文送达的可靠性。由于每条消息都有唯一的id值,所以客户端在收到重发的报文时可以根据id值进行滤重处理,以消除网络异常时可能重发数据造成的影响。
当数据到达而用户不在线时,移动推送平台将消息进行存储,待用户下次上线后按序继续发送。
对于iOS平台,由于采用的苹果公司官方提供的APNS服务,所以移动推送平台与客户端的交互简单很多,客户端不需要直接与移动推送平台建立连接,而是连接APNS,用户的数据到达时,移动推送平台使用客户端登记的DeviceToken将消息发送给APNS,并设置有效时间,由APNS将消息推送至终端设备。移动推送平台同时起线程监听APNS提供的Feedback服务,如某些DeviceToken失效,将用户置为不在线,等待用户下次注册新DeviceToken后继续推送消息。
如图3所示,移动推送平台接收到转发的消息或是在控制台发送通知时推送过程如下:
步骤1,接收数据,提取目标用户名;
步骤2,查询用户,判断用户是否已注册,是Android还是iOS用户;
步骤3,保存数据至数据缓存;
步骤4,Android用户找到相应的ClientSession信息,发送报文;iOS用户有效的话,转换报文格式,发送至APNS;
步骤5,如Android用户不在线或iOS用户DeviceToken无效,暂不发送,等待用户下次登录或重新注册DeviceToken时发送。
用户可以在多个移动终端使用本TypeB报文转换和推送系统,对于同一个移动应用同一个账号而言,后使用的客户端将会使之前登录的客户端强制下线,新数据将发送至新登录的客户端。
客户端为了实时获得推送的报文,需要保持与移动推送平台或APNS的长连接,其中Android客户端主要包括如下步骤,如图4所示:
步骤1,用户登录APP服务端,获得绑定的推送账号信息;
步骤2,根据APP服务端的返回结果,判断是否需要注册或重新注册,如不需注册跳至步骤5;
步骤3,客户端库访问移动推送平台注册;
步骤4,注册成功后调用APP服务端绑定新注册的推送账号;
步骤5,访问移动推送平台,获取登录Token;
步骤6,使用获得的登录Token向APP服务端获取本次登录密码串;
步骤7,使用登录密码串登录移动推送平台,客户端库与登录移动推送平台建立长连接;
步骤8,有用户的数据到达时,移动推送平台将数据实时推送至客户端;
步骤9,客户端回应一个接收数据确认。
iOS客户端包括如下步骤,如图5所示:
步骤1,用户登录APP服务端,获得绑定的推送账号信息;
步骤2,APP访问APNS,获取APNS返回的DeviceToken,与APP服务端的返回结果对比,判断是否需要注册或重新注册,如不需注册跳至步骤5;
步骤3,客户端库访问移动推送平台注册;
步骤4,注册成功后调用APP服务端绑定新注册的推送账号;
步骤5,有用户的数据到达时,移动推送平台将数据实时推送至APNS;
步骤6,APNS将数据发送至APP;
步骤7,移动平台获取APNS的推送反馈。
本发明在民航领域机票分销业务上,可以应用于CRS OfficeQ信息向移动终端设备的推送,例如:SZX485的代理人用户希望获得OfficeQ中航班变更的最新通知,此前,这只能通过用户人工登录CRS主机的前端系统使用指令进行查询,费力且容易遗漏,非常不便。现在只需在本发明的客户端库基础上开发一个CRS移动前端APP,调用接口订阅该Office下SC类型的航班变更Q,订阅规则:({Office: BJS187: SZX485}A{ResonType:SC: SZX485}),之后主机如有相关Q产生,用户的移动终端将自动提示相关内容,如:
<PushOPQ><QItemNbr>2448577285</QItemNbr><Office>SZX485</Office><QContentType>0</QContentType><ReasonCode>SC</ReasonCode><QItemType>1
</QItemType><TranID>HTH</TranID><PushAgent>31543</PushAgent><PushPid>82512</PushPid><PushDate>21OCT13</PushDate><PushTime>004620</Pu
shTime><ReadPNFlag>0</ReadPNFlag><PNRAgent>31901</PNRAgent><PNRDate>101813</PNRDate><QContent>HXHDCF</QContent></PushOPQ>
用户可以根据这条消息第一时间直接进行处理,且不受环境约束,更方便的提升分销代理人的服务能力。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (13)
1.一种针对移动设备的民航TypeB报文订阅推送系统,其特征在于:
所述系统采用C/S架构,由TypeB报文订阅推送平台、移动推送平台和客户端组成;
所述TypeB报文订阅推送平台包括TypeB报文分发转换模块、订阅规则引擎和用户订阅管理模块;
所述客户端由不同应用平台的客户端库组成;
所述TypeB报文分发转换模块使用JMS从消息队列MQ中实时获取TypeB报文,经过解析分析出数据类型,进行TypeB报文的预处理,然后调用订阅规则引擎对报文内容进行订阅规则的匹配,规则命中后,按照规则中的自定义属性,对TypeB报文进行定制,同时将TypeB报文转换为定义好的XML格式,然后发往移动推送平台;
所述订阅规则引擎定时从数据库加载各种报文数据的最新的用户订阅规则,将订阅规则表达式文本解析生成决策树放入内存中;
所述用户订阅管理模块为用户设置、修改、删除订阅规则的接口,提供各种业务数据的订阅模板;
所述移动推送平台为不同应用平台的移动终端提供推送服务,实时发送TypeB报文分发转换模块转达的消息,支持离线发送和系统群发通知;
所述客户端库为移动应用接收TypeB报文提供支持,封装了接收TypeB报文所需的后台用户注册、登录、接收数据、确认接收消息。
2.如权利要求1所述的系统,其特征在于:所述TypeB报文分发转换模块进一步包括:解析模块、转换模块、查询模块、地址转换模块以及推送模块:
解析模块,解析TypeB报文,将其存入结构化实体中;
转换模块,判断TypeB报文数据类型,遍历该数据类型的订阅规则,调用规则引擎匹配所述订阅规则,命中后根据数据类型和用户订阅规则进行加工组装消息,同时将TypeB报文转换为预先定义好的XML格式;
查询模块,查询用户配置缓存中订阅用户的目的地址,以及用于指示用户是否为移动用户的相关属性;
地址转换模块,将TypeB报文目的地址改为用户的地址,如果用户为移动用户的话转发给移动推送平台;
推送模块,将转换后的TypeB报文放入移动推送平台的接收MQ中。
3.如权利要求2所述的系统,所述推送模块在将转换后的TypeB报文放入移动推送平台的接收MQ之后更新用户的流量信息。
4.如权利要求1-3之一所述的系统,所述订阅规则引擎还支持数据包装,将同一种数据源包装成不同的数据产品发布,用户可同时订阅包装后的数据产品,并设置不同的订阅规则。
5.如权利要求1-3之一所述的系统,所述用户订阅管理模块中每个用户每种数据类型只能有一条订阅规则,用户可自由组合订阅条件,支持复杂的逻辑表达式。
6.如权利要求1-3之一所述的系统,所述移动推送平台将推送给客户端的TypeB报文都先存在缓存服务器中,待收到客户端确认后才会删除该报文,如果一段时间内仍未接收到客户端的确认,认定该次推送失败,下个发送周期将重新推送。
7.如权利要求6所述的系统,每条TypeB报文都有唯一的id值,客户端在收到重发的TypeB报文时可根据id值进行滤重处理。
8.如权利要求1-3之一所述的系统,所述应用平台包括:Android平台和iOS平台。
9.如权利要求8所述的系统,所述移动推送平台进一步包括:用户名提取模块、用户类型查询模块、缓存模块、推送模块和重发模块;其中,
用户名提取模块,接收TypeB报文数据,提取目标用户名;
用户类型查询模块,查询用户信息,判断用户是否已注册,以及是Android用户还是iOS用户;
缓存模块,缓存所述TypeB报文数据;
推送模块,如果是Android用户,则找到相应的ClientSession信息,发送TypeB报文;如果是有效iOS用户的话,转换TypeB报文格式,发送至APNS;
重发模块,如果Android用户不在线或iOS用户DeviceToken无效,暂不发送,等待用户下次登录或重新注册DeviceToken时发送。
10.如权利要求8所述的系统,如果客户端采用Android平台,则客户端进一步执行以下步骤:
步骤1,用户登录APP服务端,获得绑定的推送账号信息;
步骤2,根据APP服务端的返回结果,判断是否需要注册或重新注册,如不需注册跳至步骤5;
步骤3,客户端库访问移动推送平台注册;
步骤4,注册成功后调用APP服务端绑定新注册的推送账号;
步骤5,访问移动推送平台,获取登录Token;
步骤6,使用获得的登录Token向APP服务端获取本次登录密码串;
步骤7,使用登录密码串登录移动推送平台,客户端库与登录移动推送平台建立长连接;
步骤8,有用户的TypeB报文数据到达时,移动推送平台将TypeB报文数据实时推送至客户端;
步骤9,客户端回应所述移动推送平台一个接收数据确认。
11.如权利要求8所述的系统,如果客户端采用iOS平台,则客户端进一步执行以下步骤:
步骤1,用户登录APP服务端,获得绑定的推送账号信息;
步骤2,APP访问APNS,获取APNS返回的DeviceToken,与APP服务端的返回结果对比,判断是否需要注册或重新注册,如不需注册跳至步骤5;
步骤3,客户端库访问移动推送平台注册;
步骤4,注册成功后调用APP服务端绑定新注册的推送账号;
步骤5,有用户的数据到达时,移动推送平台将数据实时推送至APNS;
步骤6,APNS将数据发送至客户端;
步骤7,移动推送平台获取APNS的推送反馈。
12.一种Android用户TypeB报文订阅推送方法,其特征在于:
步骤1,解析TypeB报文,将其存入结构化实体中;
步骤2,判断TypeB报文数据类型,遍历该数据类型的订阅规则,调用规则引擎匹配所述订阅规则,命中后根据数据类型和用户订阅规则进行加工组装消息,同时将TypeB报文转换为预先定义好的XML格式;
步骤3,查询用户配置缓存中订阅用户的目的地址,以及用于指示用户是否为移动用户的相关属性;
步骤4,将TypeB报文目的地址改为用户的接收地址,如果用户为移动用户的话转发给移动推送平台;
步骤5,将转换后的TypeB报文放入移动推送平台的接收MQ中,更新用户的流量信息;
步骤6,用户登录APP服务端,获得绑定的推送账号信息;
步骤7,根据APP服务端的返回结果,判断是否需要注册或重新注册,如不需注册跳至步骤10;
步骤8,客户端库访问移动推送平台注册;
步骤9,注册成功后调用APP服务端绑定新注册的推送账号;
步骤10,访问移动推送平台,获取登录Token;
步骤11,使用获得的登录Token向APP服务端获取本次登录密码串;
步骤12,使用登录密码串登录移动推送平台,客户端库与登录移动推送平台建立长连接;
步骤13,有用户的TypeB报文数据到达时,移动推送平台将TypeB报文数据实时推送至客户端;
步骤14,客户端回应所述移动推送平台一个接收数据确认。
13.一种iOS用户TypeB报文订阅推送方法,其特征在于:
步骤1,解析TypeB报文,将其存入结构化实体中,方便后续的处理;
步骤2,判断TypeB报文数据类型,遍历该数据类型的订阅规则,调用规则引擎匹配所述订阅规则,命中后根据数据类型和用户订阅规则进行加工组装消息,同时将TypeB报文转换为预先定义好的XML格式;
步骤3,查询用户配置缓存中订阅用户的目的地址,以及用于指示用户是否为移动用户的相关属性;
步骤4,将TypeB报文目的地址改为用户的接收地址,如果用户为移动用户的话转发给移动推送平台;
步骤5,将转换后的TypeB报文放入移动推送平台的接收MQ中,更新用户的流量信息;
步骤6,用户登录APP服务端,获得绑定的推送账号信息;
步骤7,APP访问APNS,获取APNS返回的DeviceToken,与APP服务端的返回结果对比,判断是否需要注册或重新注册,如不需注册跳至步骤10;
步骤8,客户端库访问移动推送平台注册;
步骤9,注册成功后调用APP服务端绑定新注册的推送账号;
步骤10,有用户的数据到达时,移动推送平台将数据实时推送至APNS;
步骤11,APNS将数据发送至客户端;
步骤12,移动推送平台获取APNS的推送反馈。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410263030.1A CN104023020B (zh) | 2014-06-13 | 2014-06-13 | 针对移动设备的TypeB报文订阅推送系统及相应方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410263030.1A CN104023020B (zh) | 2014-06-13 | 2014-06-13 | 针对移动设备的TypeB报文订阅推送系统及相应方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104023020A CN104023020A (zh) | 2014-09-03 |
CN104023020B true CN104023020B (zh) | 2017-06-16 |
Family
ID=51439590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410263030.1A Active CN104023020B (zh) | 2014-06-13 | 2014-06-13 | 针对移动设备的TypeB报文订阅推送系统及相应方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104023020B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105634981B (zh) * | 2014-10-30 | 2019-08-16 | 阿里巴巴集团控股有限公司 | 内容缓存和传输方法及其系统 |
CN104717132B (zh) | 2015-02-13 | 2017-10-13 | 腾讯科技(深圳)有限公司 | 消息发送方法、装置和系统 |
CN105141763A (zh) * | 2015-08-11 | 2015-12-09 | 北京思特奇信息技术股份有限公司 | 一种通过智能手机app进行消息群发的方法及系统 |
CN105871966A (zh) * | 2015-09-22 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 消息分发的方法、装置及系统 |
CN105979498B (zh) * | 2016-04-18 | 2019-06-04 | 醇钱科技发展(北京)有限公司 | 移动互联网大规模准实时数据分级订阅发布系统及方法 |
CN105978795A (zh) * | 2016-06-22 | 2016-09-28 | 安徽广行物联科技有限公司 | 移动消息双平台多终端多应用推送方法 |
CN106254390A (zh) * | 2016-09-22 | 2016-12-21 | 曙光信息产业(北京)有限公司 | 消息推送方法及系统 |
CN108023922A (zh) * | 2016-11-04 | 2018-05-11 | 阿里巴巴集团控股有限公司 | 一种下发及设置配置数据的方法、装置及系统 |
CN109286648B (zh) * | 2017-07-21 | 2020-11-06 | 比亚迪股份有限公司 | 数据推送方法、装置、系统和终端设备 |
CN110704049B (zh) * | 2019-10-09 | 2023-07-04 | 紫光云技术有限公司 | 一种简单易用的规则引擎条件配置方法 |
CN111522871B (zh) * | 2020-04-23 | 2023-05-23 | 北京思特奇信息技术股份有限公司 | 订单数据的归集方法、装置及存储介质 |
CN112702386B (zh) * | 2020-11-30 | 2024-05-24 | 中国南方航空股份有限公司 | 一种飞机故障信息实时订阅系统 |
CN113489786B (zh) * | 2021-07-01 | 2023-11-14 | 北京玩蟹科技有限公司 | 一种长连接网络弱网重连方法、重发方法 |
CN113778708A (zh) * | 2021-08-24 | 2021-12-10 | 行云智网络科技(北京)有限公司 | 一种高并发的Push推送服务平台 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102572112A (zh) * | 2012-02-14 | 2012-07-11 | 中国民航信息网络股份有限公司 | 一种基于iPhone手机平台的移动航班动态通知系统及其方法 |
CN102572740A (zh) * | 2012-02-14 | 2012-07-11 | 中国民航信息网络股份有限公司 | 一种基于Android手机平台的移动PNR消息推送系统及其方法 |
CN103020056A (zh) * | 2011-09-20 | 2013-04-03 | 佳都新太科技股份有限公司 | 一种跨开放平台社交消息优化计算的订阅推送引擎 |
-
2014
- 2014-06-13 CN CN201410263030.1A patent/CN104023020B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020056A (zh) * | 2011-09-20 | 2013-04-03 | 佳都新太科技股份有限公司 | 一种跨开放平台社交消息优化计算的订阅推送引擎 |
CN102572112A (zh) * | 2012-02-14 | 2012-07-11 | 中国民航信息网络股份有限公司 | 一种基于iPhone手机平台的移动航班动态通知系统及其方法 |
CN102572740A (zh) * | 2012-02-14 | 2012-07-11 | 中国民航信息网络股份有限公司 | 一种基于Android手机平台的移动PNR消息推送系统及其方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104023020A (zh) | 2014-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104023020B (zh) | 针对移动设备的TypeB报文订阅推送系统及相应方法 | |
CN103905497B (zh) | 实现第三方应用业务网站登录的方法、装置及应用平台 | |
CN103632404B (zh) | 一种基于融合通信技术实现的多企业考勤方法及系统 | |
CN102724324B (zh) | 消息推送整合装置和消息推送整合方法 | |
US20180343214A1 (en) | Information Exchange Method, Client, and Apparatus | |
CN102739560B (zh) | 即时通讯方法、系统和装置 | |
CN105429858A (zh) | 一种多机器人间实时消息传递方法 | |
CN103326929B (zh) | 一种消息传输方法和装置 | |
CN106657426A (zh) | 域名解析请求的处理方法、装置及服务器 | |
CN104660708A (zh) | 一种基于http的移动应用消息推送方法及系统 | |
CN104951524B (zh) | 一种用于数据库运维的移动平台及其使用方法 | |
CN103475685A (zh) | 一种业务审批的方法、系统及移动审批平台 | |
CN103220292A (zh) | 跨安全区数据传输方法和系统 | |
CN102523196B (zh) | 一种信息识别方法、装置及系统 | |
CN105046802A (zh) | 一种基于多柜台的银行排队叫号方法及系统 | |
CN100492986C (zh) | 一种数据更新系统及方法 | |
CN107360054A (zh) | 一种客户端会话对象的维护方法和系统 | |
CN103595611B (zh) | 即时通信应用的实现方法及系统、与设备 | |
CN101924815A (zh) | 3g moa 手机中间件嵌入式系统 | |
CN103944779B (zh) | 一种wap业务性能监测方法及系统 | |
CN105933217B (zh) | 消息同步方法及平台、网络服务器和适配服务器 | |
CN105243002A (zh) | 一种消息中间件的监控方法和系统 | |
CN109089299A (zh) | 一种基于SmartConfig模式让设备注册到云端的配网方法 | |
CN102629345A (zh) | 链式沟通协作方法、装置及系统 | |
CN105515947B (zh) | 一种基于xmpp的异构终端消息互通的方法、服务器及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: 100085 Yumin Street, Houshayu Town, Shunyi District, Beijing Patentee after: CHINA TRAVELSKY HOLDING Co. Address before: 100010, No. 157 West Fourth Street, Beijing, Dongcheng District Patentee before: CHINA TRAVELSKY HOLDING Co. |