The invention discloses a hierarchical state machine implementation method and device for push messages sent, including receiving layer and exchange layer, routing layer and consumption layer, firstly, the receiving respectively from different platform message sent by the server receiving layer; secondly, the receiving layer will exchange the received message and the layers are respectively with two different threads running in the same process in the message to the exchange layer; then, the transfer to the routing layer of the unified message format; finally, the routing layer running on the work thread, the consumption level will be the message received to run on the UI thread. At all levels, the division of labor is fine, and there is no coupling degree, which improves the compatibility and success rate of message push. It solves the technical problems that the third party message push platform is not compatible in the existing technology, resulting in low message delivery service rate, and achieves the technical effect compatible with multiple push platforms, and further improves the success rate of message push.
【技术实现步骤摘要】
一种分层状态机实现消息推送的方法和装置
本专利技术属于安卓电视应用
,特别涉及一种分层状态机实现消息推送的方法和装置。
技术介绍
目前,不同于iOS平台使用统一的iOSCloud推送方案,Android平台由于缺乏统一标准推送方案,也就催生了大量第三方推送平台,比较知名的诸如:友盟推送(UMPush)、极光推送(JPush)、个推推送(GTPush)以及一些厂商推送(小米推送、华为推送、魅族推送)等。使用第三方推送平台推送消息的优势在于无需应用开发商重复搭建服务器,其次第三方推送平台拥有成熟的推送框架与数据及时处理手段。但使用第三方推送平台也存在诸多缺点:首先,第三方推送平台无法兼容所有机型,都存在推送送达率低于80%的问题;其次,第三方推送平台无法同时实现在线(应用进程存活)和离线(应用进程死亡)两种消息推送;再次,第三方推送平台推送的消息类型有限,无法满足app日益增长的多类型消息推送需求;最后,第三方推送平台一旦出现运行故障,app推送也随即处于瘫痪状态,影响app活跃率,带来经济损失巨大。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的一种分层状态机实现消息推送的方法和装置。第一方面,本专利技术实施例中提供了一种分层状态机实现消息推送的方法,所述分层状态机包括接收层、交换层、路由层和消费层,应用于安卓终端,具体包括如下步骤:所述接收层接收服务器发送的分别来自不同平台的消息;所述接收层将接收到的所述消息与所述交换层分别以两个不同的线程运行于同一进程中将所述消息传递给所述交换层;所述交换层对所述消息进 ...
【技术保护点】
一种分层状态机实现消息推送的方法,其特征在于,所述分层状态机包括接收层、交换层、路由层和消费层,应用于安卓终端,包括:所述接收层接收服务器发送的分别来自不同平台的消息;所述接收层将接收到的所述消息与所述交换层分别以两个不同的线程运行于同一进程中将所述消息传递给所述交换层;所述交换层对所述消息进行统一格式转换后传递给所述路由层;所述路由层运行于工作线程,将接收到的所述消息推送给运行于UI线程的所述消费层。
【技术特征摘要】
1.一种分层状态机实现消息推送的方法,其特征在于,所述分层状态机包括接收层、交换层、路由层和消费层,应用于安卓终端,包括:所述接收层接收服务器发送的分别来自不同平台的消息;所述接收层将接收到的所述消息与所述交换层分别以两个不同的线程运行于同一进程中将所述消息传递给所述交换层;所述交换层对所述消息进行统一格式转换后传递给所述路由层;所述路由层运行于工作线程,将接收到的所述消息推送给运行于UI线程的所述消费层。2.如权利要求1所述的方法,其特征在于,在所述接收层接收服务器发送的分别来自不同平台的消息之前,还包括:所述接收层与所述服务器建立长连接通信。3.如权利要求2所述的方法,其特征在于,所述接收层接收服务器发送的分别来自不同平台的消息,包括:当所述服务器与所述接收层的长连接通信处于连接状态时,所述消息直接由所述服务器通过socket通信机制传递至所述接收层;当所述服务器与所述接收层的长连接通信处于断开状态时,所述消息由所述服务器转发至系统消息接收服务代为托管,待所述接收层所在进程被激活后,系统服务再将所述消息转发给所述接收层。4.如权利要求1所述的方法,其特征在于,所述接收层将接收到的所述消息与所述交换层分别以两个不同的线程运行于同一进程中将所述消息传递给所述交换层,包括:所述接收层将接收到的所述消息包裹在服务意图中,启动服务时将意图传递给所述交换层;所述交换层接收所述意图后发送广播给所述接收层,反馈所述消息是否交换成功的信息;所述接收层接收到所述交换层的反馈成功的信息后,随机开始传递下一条消息。5.如权利要求1所述的方法,其特征在于,所述接收层接收到所述交换层的反馈成功的信息后,随机开始传递下一条消息,包括:所述消息的传递以队列形式逐个进行。6.如权利要求1所述的方法,其特征在于,所述交换层对所述消息进行统一格式转换后传递给所述路由层,包括:所述交换层对所述消息按照UMT标准规范进行统一格式的...
【专利技术属性】
技术研发人员:尹成,张文明,陈少杰,
申请(专利权)人:武汉斗鱼网络科技有限公司,
类型:发明
国别省市:湖北,42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。