用于即时通信的方法、介质、装置和计算设备制造方法及图纸

技术编号:18591646 阅读:21 留言:0更新日期:2018-08-04 19:59
本发明专利技术的实施方式提供了一种用于即时通信的方法,所述即时通信包括通过用户交互进程和推送进程进行信息传输,包括:建立所述用户交互进程与所述推送进程之间的通信链接通道,用于所述用户交互进程和所述推送进程之间的信息传输;从所述连接记录中移除所述通信链接通道的信息;以及建立所述用户交互进程与所述推送进程之间的辅助连接通道,其中,所述辅助连接通道的信息被记录在所述连接记录中,用于保持所述推送进程的优先级。本发明专利技术的方法避免了通信链接通道意外情况断开链接后无法在重新建立的问题,并同时保证了推送进程的优先级。此外,本发明专利技术的实施方式提供了一种用于即时通信的计算机可读介质、装置、和计算设备。

Method, medium, device and computing device for instant communication

The embodiment of the invention provides a method for instant communication, which includes information transmission through the user interaction process and the push process, including the establishment of a communication link channel between the user interaction process and the proposed push process for the user interaction process and the proposed push process. Information transmission between the communication link channels from the connection record, and the establishment of an auxiliary connection channel between the user interaction process and the proposed push process, in which the information of the auxiliary connection channel is recorded in the connection record, and the priority of the process is pushed by Yu Baochi. The method of the invention avoids the problem that the communication link channel can not be rebuilt after unexpected disconnection of the link, and ensures the priority of the push process. In addition, an embodiment of the present invention provides a computer-readable medium, device, and computing device for instant communication.

【技术实现步骤摘要】
用于即时通信的方法、介质、装置和计算设备
本专利技术的实施方式涉及互联网领域,更具体地,本专利技术的实施方式涉及一种用于即时通信的方法、介质、装置和计算设备。
技术介绍
本部分旨在为权利要求书中陈述的本专利技术的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。在整个即时通信
中,信息传输的稳定性、准确性和及时性是非常关键的。根据即时通信的进程和业务拆分,可以将即时通信系统架构分为单进程结构和多进程结构。在多进程结构中,一种常见的结构为双进程结构。在双进程结构中,可以通过用户交互进程与推送进程协同工作实现即时通信的功能。在双进程结构中,用户交互进程和推送进程之间往往仅有一个通信链接通道,并且用户交互进程和推送进程通过该通信链接通道实现彼此绑定、以及传输信息。然而,现有技术中,在一些极端情况下,推送进程中建立的通信链接通道的服务模块被意外杀死后,在即时通信系统可能就无法重新建立起用户交互进程与所述推送进程之间的通信链接通道。在这种情况下,用户交互进程和推送进程就无法继续传输信息,从而导致即时通信系统失效,无法再正常使用。
技术实现思路
在本上下文中,本专利技术的实施方式期望提供一种更加稳定的用于即时通信的方法、介质、装置和计算设备。在本专利技术实施方式的第一方面中,提供了一种用于即时通信的方法。所述即时通信包括通过用户交互进程和推送进程进行信息传输,其中,所述用户交互进程用于接收和处理用户交互信息,所述推送进程用于维护与外部服务器的长连接。所述方法包括:建立所述用户交互进程与所述推送进程之间的通信链接通道,其中,所述通信链接通道用于所述用户交互进程和所述推送进程之间的信息传输,所述通信链接通道的信息被记录在连接记录中;从所述连接记录中移除所述通信链接通道的信息;以及建立所述用户交互进程与所述推送进程之间的辅助连接通道,其中,所述辅助连接通道的信息被记录在所述连接记录中,用于保持所述推送进程的优先级。在本专利技术的一个实施例中,所述通信链接通道的信息包括表征所述用户交互进程绑定了所述推送进程的信息。在本专利技术的另一个实施例中,从所述连接记录中移除所述通信链接通道的信息,包括在监测到将所述用户交互进程和所述推送进程解除绑定的情况下,从所述连接记录中移除所述通信链接通道的信息。在本专利技术的又一个实施例中,所述辅助连接通道的信息包括表征所述用户交互进程绑定了所述推送进程的信息。在本专利技术的又一个实施例中,所述方法还包括所述用户交互进程与所述推送进程通过所述通信链接通道传输信息。在本专利技术的又一个实施例中,当所述用户交互进程与所述推送进程之间传输的数据包的数据量大于阈值数据量时,所述用户交互进程与所述推送进程通过所述通信链接通道传输信息,包括将所述数据包拆分成多个子数据包,其中所述多个子数据包中的每个数据包的数据量小于所述阈值数据量,通过所述通信链接通道依次传输所述多个子数据包,以及将传输完成的所述多个子数据包进行组装,得到所述数据包。在本专利技术的又一个实施例中,所述用户交互进程与所述推送进程通过所述通信链接通道传输信息,包括所述用户交互进程接收到所述推送进程发送的数据包后向所述推送进程发送确认回执,以及所述推送进程在接收到所述确认回执后再向所述用户交互进程发送下一个数据包。在本专利技术的又一个实施例中,所述推送进程在接收到所述确认回执后再向所述用户交互进程发送下一个数据包,包括当所述推送进程在预设确收时间内未收到所述确认回执时,所述推送进程重复以下操作,直到接收到所述确认回执:向所述外部服务器发送所述数据包补充请求,以及在接收到所述外部服务器发送的所述数据包后将所述数据包发送至所述用户交互进程。在本专利技术的又一个实施例中,所述方法还包括所述推送进程监听所述用户交互进程的生命周期是否结束,以及响应于所述用户交互进程的生命周期的结束,所述推送进程执行自杀机制以退出服务且不被自动唤醒。在本专利技术的又一个实施例中,所述推送进程执行自杀机制以退出服务且不被自动唤醒,包括所述推送进程切断所述推送进程的唤醒路径,以及所述推送进程退出服务。在本专利技术的又一个实施例中,所述方法还包括所述推送进程创建与所述通信链接通道对应的第一前台服务,所述推送进程创建与所述辅助连接通道对应的第二前台服务,其中第二前台服务与所述第一前台服务的标识相同,以及所述推送进程取消所述第一前台服务和所述第二前台服务其中之一。在本专利技术的又一个实施例中,当所述推送进程接收到所述外部服务器发送的消息时,且在所述用户交互进程处于未运行的状态下,所述方法还包括所述推送进程唤醒所述用户交互进程。在本专利技术的又一个实施例中,所述推送进程唤醒所述用户交互进程,包括在所述用户交互进程未被唤醒之前每隔预设唤醒时长唤醒一次,直到所述用户交互进程被唤醒为止,或者直到当唤醒的持续时长大于阈值持续时长为止。在本专利技术的又一个实施例中,在当唤醒的持续时长大于阈值持续时长时所述用户交互进程仍未被唤醒的情况下,所述方法还包括所述推送进程启动自杀机制以退出服务且不被自动唤醒。在本专利技术的又一个实施例中,所述方法还包括所述用户交互进程与所述推送进程通过内容提供器ContentProvider共享数据。在本专利技术的又一个实施例中,所述用户交互进程与所述推送进程通过内容提供器ContentProvider共享数据,包括所述用户交互进程获取所述推送进程的最新数据,和/或所述用户交互进程更新所述推送进程的数据,以及决定是否通知所述内容提供器ContentProvider提供的数据源观察者,和/或所述用户交互进程监听所述推送进程的数据变更,和/或所述用户交互进程发送数据包给所述推送进程进行处理,和/或所述用户交互进程移除所述推送进程的数据。在本专利技术的又一个实施例中,所述用户交互进程与所述推送进程通过内容提供器ContentProvider共享数据,还包括所述推送进程更新所述用户交互进程的数据,以及通知所述用户交互进程。在本专利技术的又一个实施例中,所述方法还包括所述推送进程通过安卓系统的精准闹钟Alarm执行心跳机制,以确定所述推送进程与外部服务器的长连接的有效性。在本专利技术的又一个实施例中,所述方法还包括从执行心跳机制中首次未收到外部服务器的回应信息超过阈值回应时长时,以第二时间间隔补充发送心跳包,所述第二时间间隔与精准闹钟Alarm中的定时时间间隔相同或不同。在本专利技术的又一个实施例中,在以第二时间间隔补充发送心跳包的次数达到第二阈值次数时,所述方法还包括所述推送进程断开所述推送进程与外部服务器的连接,以及所述推送进程启动重新建立所述推送进程与外部服务器的长连接。在本专利技术的又一个实施例中,所述方法还包括在监测到所述用户交互进程回到前台时或者所述推送进程与外部服务器的长连接连接超时的情况下,所述推送进程向所述外部服务器发送心跳包,以检测所述推送进程与外部服务器的长连接的有效性。在本专利技术实施方式的第二方面中,提供了一种计算机可读介质,其上存储有可执行指令,所述指令在被处理器执行时使处理器执行如上所述的用于即时通信的方法。在本专利技术实施方式的第三方面中,提供了一种用于即时通信的装置。所述即时通信包括通过用户交互进程和推送进程进行信息传输,其中,所述用户交互进程用于接收和处理用户交互信息,所述推送进程用于维护与外部服务器的长连接本文档来自技高网...

【技术保护点】
1.一种用于即时通信的方法,所述即时通信包括通过用户交互进程和推送进程进行信息传输,其中,所述用户交互进程用于接收和处理用户交互信息,所述推送进程用于维护与外部服务器的长连接,所述方法包括:建立所述用户交互进程与所述推送进程之间的通信链接通道,其中,所述通信链接通道用于所述用户交互进程和所述推送进程之间的信息传输,所述通信链接通道的信息被记录在连接记录中;从所述连接记录中移除所述通信链接通道的信息;以及建立所述用户交互进程与所述推送进程之间的辅助连接通道,其中,所述辅助连接通道的信息被记录在所述连接记录中,用于保持所述推送进程的优先级。

【技术特征摘要】
1.一种用于即时通信的方法,所述即时通信包括通过用户交互进程和推送进程进行信息传输,其中,所述用户交互进程用于接收和处理用户交互信息,所述推送进程用于维护与外部服务器的长连接,所述方法包括:建立所述用户交互进程与所述推送进程之间的通信链接通道,其中,所述通信链接通道用于所述用户交互进程和所述推送进程之间的信息传输,所述通信链接通道的信息被记录在连接记录中;从所述连接记录中移除所述通信链接通道的信息;以及建立所述用户交互进程与所述推送进程之间的辅助连接通道,其中,所述辅助连接通道的信息被记录在所述连接记录中,用于保持所述推送进程的优先级。2.根据权利要求1所述的方法,其中,所述通信链接通道的信息包括表征所述用户交互进程绑定了所述推送进程的信息。3.根据权利要求1所述的方法,其中,所述辅助连接通道的信息包括表征所述用户交互进程绑定了所述推送进程的信息。4.根据权利要求1所述的方法,还包括:所述用户交互进程与所述推送进程通过所述通信链接通道传输信息。5.根据权利要求1所述的方法,还包括:所述推送进程监听所述用户交互进程的生命周期是否结束;以及响应于所述用户交互进程的生命周期的结束,所述推送进程执行自杀机制以退出服务且不被自动唤醒。6.根据权利要求1所述的方法,还包括:所述推送进程创建与所述通信链接通道对应的第一前台服务,所述推送进程创建与所述辅助连...

【专利技术属性】
技术研发人员:黄俊周江华苏甦
申请(专利权)人:杭州朗和科技有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1