CN108733498A - 推送进程常驻方法、装置、终端及存储介质 - Google Patents
推送进程常驻方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN108733498A CN108733498A CN201810499304.5A CN201810499304A CN108733498A CN 108733498 A CN108733498 A CN 108733498A CN 201810499304 A CN201810499304 A CN 201810499304A CN 108733498 A CN108733498 A CN 108733498A
- Authority
- CN
- China
- Prior art keywords
- application
- push
- priority
- pushing tool
- tool packet
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/541—Client-server
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提出一种推送进程常驻方法、装置、终端及计算机可读存储介质。其中推送进程常驻方法包括:将至少两个应用接入推送工具包,推送工具包用于管理推送进程;选择接入推送工具包且被打开的应用中的一个应用作为推送应用,并通过统一推送通道推送消息,其中,推送应用是占用推送进程的应用;在推送应用被终止时,推送工具包在关闭推送应用的推送进程之前向接入推送工具包且被打开的其他应用发出广播;以及其他应用收到广播后,从其他应用中重新选取推送应用。本发明实施例使推送进程能够稳定长久存活于后台,且在占用用户资源极少的情况下,使推送消息快速高效地到达用户手中,进而及时地召回用户,提升用户的留存率和产品的日活。
Description
技术领域
本发明涉及信息技术领域,尤其涉及一种推送进程常驻方法、装置、终端及计算机可读存储介质。
背景技术
为了能够节省电量、流量和优化CPU分配,各个厂商的产品对后台进程都做了一定的限制,不在白名单的应用一定时间内会被系统自动杀死。以Android系统为例,Google随着Android5.0系统以后的版本升级不断加大对后台进程存活的限制,以及国内杀毒软件对于非允许后台运行的进程强力查杀,导致了Android端App进程在没有被添加到用户白名单的情况下,极短时间内就会被主动杀死,Android端用户无法及时收到推送消息。
现有技术实现Android端推送的方法包括以下几种:方法一:接入手机厂商统一平台;方法二:接入第三方推送平台;方法三:自身进程保活。
现有技术的实现方法主要存在以下缺点:
方法一:目前占用此技术的手机厂商有限,所以接入后效果有限,对于一款App整体的收益比较有限。
方法二:该方法是通过一个App启动后,多个关联App都会随之启动,分别启动自己的推送进程,造成耗电量巨大,CPU资源等使用激增,用户体验极差。
方法三:目前Google官方已经加大了后台进程的查杀力度,所以导致后台存活的难度越来越大,成本越来越高,而且受Google影响比较大。
在上述方法二和方法三中,虽然App有更高的自主权,但是对用户造成了极大地困扰,当各个应用的推送通道都打开时,手机所有资源都会极大地被这些各自的推送进程消耗。
发明内容
本发明实施例提供一种推送进程常驻方法、装置、终端及计算机可读存储介质,以至少解决现有技术中的一个或多个技术问题。
第一方面,本发明实施例提供了一种推送进程常驻方法,包括:将至少两个应用接入推送工具包,所述推送工具包用于管理推送进程;选择接入推送工具包且被打开的应用中的一个应用作为推送应用,并通过统一推送通道推送消息,其中,所述推送应用是占用所述推送进程的应用;在所述推送应用被终止时,所述推送工具包在关闭所述推送应用的推送进程之前向接入推送工具包且被打开的其他应用发出广播;以及所述其他应用收到所述广播后,从所述其他应用中重新选取所述推送应用。
结合第一方面,本发明实施例在第一方面的第一种实现方式中,所述通过统一推送通道推送消息,包括:推送工具包根据应用标识将所述消息推送给与应用标识对应的应用,所述应用标识包括应用标识符。
结合第一方面、第一方面的第一种实现方式,本发明实施例在第一方面的第二种实现方式中,所述选择接入推送工具包且被打开的应用中的一个应用作为推送应用,包括:预先设置接入推送工具包的应用的优先级;根据接入推送工具包且被打开的应用的优先级确定所述推送应用。
结合第一方面的第二种实现方式,本发明实施例在第一方面的第三种实现方式中,根据接入推送工具包且被打开的应用的优先级确定所述推送应用,包括:在打开接入推送工具包的第一应用时,所述推送工具包判断是否存在占用推送进程的第二应用;若判断存在所述第二应用,判断所述第一应用与所述第二应用的优先级关系;若所述第二应用的优先级高于所述第一应用的优先级,则关闭所述第一应用的推送进程;以及若所述第一应用的优先级高于所述第二应用的优先级,则向所述第二应用发送关闭信号,以使所述第二应用收到所述关闭信号后关闭自身的推送进程。
结合第一方面的第三种实现方式,本发明实施例在第一方面的第四种实现方式中,所述方法还包括:若所述第二应用的优先级与所述第一应用的优先级相同,则比较所述第二应用与所述第一应用的启动时间;选择所述启动时间早的应用作为所述推送应用。
结合第一方面的第二种实现方式,本发明实施例在第一方面的第五种实现方式中,所述其他应用收到所述广播后,从所述其他应用中重新选取所述推送应用,包括:选择优选应用作为所述推送应用,通过统一推送通道推送消息,其中,所述优选应用是所述其他应用中优先级最高的应用中启动时间最早的应用。
第二方面,本发明实施例提供了一种推送进程常驻装置,包括:接入单元,用于将至少两个应用接入推送工具包,所述推送工具包用于管理推送进程;推送管理单元,用于选择接入推送工具包且被打开的应用中的一个应用作为推送应用,并通过统一推送通道推送消息,其中,所述推送应用是占用所述推送进程的应用;广播单元,用于在所述推送应用被终止时,所述推送工具包在关闭所述推送应用的推送进程之前向接入推送工具包且被打开的其他应用发出广播;以及重建单元,用于所述其他应用收到所述广播后,从所述其他应用中重新选取所述推送应用。
结合第二方面,本发明实施例在第二方面的第一种实现方式中,所述推送管理单元包括推送子单元,用于:推送工具包根据应用标识将所述消息推送给与应用标识对应的应用,所述应用标识包括应用标识符。
结合第二方面、第二方面的第一种实现方式,本发明实施例在第二方面的第二种实现方式中,所述推送管理单元还包括:优先级设置子单元,用于预先设置接入推送工具包的应用的优先级;进程管理子单元,用于根据接入推送工具包且被打开的应用的优先级确定所述推送应用。
结合第二方面的第二种实现方式,本发明实施例在第二方面的第三种实现方式中,所述进程管理子单元还用于:在打开接入推送工具包的第一应用时,所述推送工具包判断是否存在占用推送进程的第二应用;若判断存在所述第二应用,判断所述第一应用与所述第二应用的优先级关系;若所述第二应用的优先级高于所述第一应用的优先级,则关闭所述第一应用的推送进程;以及若所述第一应用的优先级高于所述第二应用的优先级,则向所述第二应用发送关闭信号,以使所述第二应用收到所述关闭信号后关闭自身的推送进程。
结合第二方面的第三种实现方式,本发明实施例在第二方面的第四种实现方式中,所述进程管理子单元还用于:若所述第二应用的优先级与所述第一应用的优先级相同,则比较所述第二应用与所述第一应用的启动时间;选择所述启动时间早的应用作为所述推送应用。
结合第二方面的第二种实现方式,本发明实施例在第二方面的第五种实现方式中,所述重建单元还用于:选择优选应用作为所述推送应用,通过统一推送通道推送消息,其中,所述优选应用是所述其他应用中优先级最高的应用中启动时间最早的应用。
第三方面,本发明实施例提供了一种终端,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述第一方面中任一所述的方法。
在一个可能的设计中,推送进程常驻装置的结构中包括处理器和存储器,所述存储器用于存储支持推送进程常驻装置执行上述第一方面中推送进程常驻方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述推送进程常驻装置还可以包括通信接口,用于推送进程常驻装置与其他设备或通信网络通信。
第四方面,本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现上述第一方面中任一所述的方法。
上述技术方案中的一个技术方案具有如下优点或有益效果:使得推送进程能够稳定长久存活于后台,而且在占用用户资源极少的情况下实现推送消息,使推送消息快速高效地到达用户手中,进而及时地召回用户,提升用户的留存率和产品的日活。
上述技术方案中的另一个技术方案具有如下优点或有益效果:根据接入推送工具包的应用的优先级确定占用推送进程的应用,使优先级高的应用占用推送进程,保证相对重要的消息推送给用户,有助于提升用户的留存率和产品的日活。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。
图1为本发明实施例的推送进程常驻方法的整体框架图;
图2为本发明实施例的推送进程常驻方法的统一推送通道的示意图;
图3为本发明提供的推送进程常驻方法的一种优选实施例的步骤流程图;
图4为本发明提供的推送进程常驻方法的另一优选实施例的步骤流程图;
图5为本发明实施例的推送进程常驻装置的整体框架图;
图6为本发明提供的推送进程常驻装置的一种优选实施例的结构框图;
图7为本发明实施例的终端的结构框图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述的内容被认为本质上是示例性的而非限制性的。
本发明实施例提供了一种推送进程常驻方法。图1为本发明实施例的推送进程常驻方法的整体框架图。如图1所示,本发明实施例的推送进程常驻方法包括:步骤S110,将至少两个应用接入推送工具包,所述推送工具包用于管理推送进程;步骤S120,选择接入推送工具包且被打开的应用中的一个应用作为推送应用,并通过统一推送通道推送消息,其中,所述推送应用是占用所述推送进程的应用;步骤S130,在所述推送应用被终止时,所述推送工具包在关闭所述推送应用的推送进程之前向接入推送工具包且被打开的其他应用发出广播;以及步骤S140,所述其他应用收到所述广播后,从所述其他应用中重新选取所述推送应用。在现有技术的实现方案中,在多个App(Application,应用)同时使用的情况下,往往是在启动多个App时,每个App分别创建自己的推送通道,因此导致有多条推送通道,流量电量无端损耗。
有鉴于此,在本发明提供的技术方案中,多个App都集成到统一推送工具包,例如多个App统一接入推送SDK(Software Development Kit,软件开发工具包),由推送SDK负责同一个后台推送进程。当用户打开其中一个接入推送SDK的App时,该App会在后台启动一个推送进程,服务端统一平台将推送消息推送到手机端;当打开多个接入推送SDK的App时,在所有的推送进程中会在后台只保留一个推送通道,这样后台总会有一个且只有一个存活的后台推送进程,服务端统一平台通过统一推送通道将推送消息推送到手机端。图2为本发明实施例的推送进程常驻方法的统一推送通道的示意图。如图2所示,A、B、C分别表示三个接入推送SDK的应用,由推送SDK对推送进程进行管理。当打开多个接入推送SDK的App时,使A、B、C三个应用中的一个应用占用推送进程,通过统一推送通道推送消息,使后台总会有一个存活的推送进程。
在步骤S130中,在占用推送进程的App被终止时,例如占用推送进程的App被杀,则推送SDK会在关闭前向其他接入推送SDK的应用发出广播。在步骤S140中,当其他集成推送SDK的App收到广播后,会重建自己的推送通道,以便始终会有一条推送通道存在。
上述技术方案具有如下优点或有益效果:使得推送进程能够稳定长久存活于后台,而且在占用用户资源极少的情况下实现推送消息,使推送消息快速高效地到达用户手中,进而及时地召回用户,提升用户的留存率和产品的日活。
根据本发明推送进程常驻方法的一种实施方式,在步骤S120中,所述通过统一推送通道推送消息,包括:推送工具包根据应用标识将所述消息推送给与应用标识对应的应用,所述应用标识包括应用标识符。参见图2,当服务端统一平台将推送消息推送到手机端后,推送SDK首先识别推送消息中包括的应用ID,根据不同的应用ID区分具体的App显示通知。
根据本发明推送进程常驻方法的一种实施方式,在步骤S120中,所述选择接入推送工具包且被打开的应用中的一个应用作为推送应用,包括:预先设置接入推送工具包的应用的优先级;根据接入推送工具包且被打开的应用的优先级确定所述推送应用。
在这种实施方式中,当打开多个接入推送SDK的App时,所有的推送进程会根据优先级在后台只保留一个优先级最高的推送通道,后台总会有一个存活的优先级最高的推送进程,保证推送进程常驻后台。
上述技术方案具有如下优点或有益效果:根据接入推送SDK的应用的优先级确定占用推送进程的应用,使优先级高的应用占用推送进程,保证相对重要的消息推送给用户,有助于提升用户的留存率和产品的日活。
图3为本发明提供的推送进程常驻方法的一种优选实施例的步骤流程图。如图3所示,根据本发明推送进程常驻方法的一种实施方式,根据接入推送工具包且被打开的应用的优先级确定所述推送应用,包括:在打开接入推送工具包的第一应用时,所述推送工具包判断是否存在占用推送进程的第二应用;若判断存在所述第二应用,判断所述第一应用与所述第二应用的优先级关系;若所述第二应用的优先级高于所述第一应用的优先级,则关闭所述第一应用的推送进程;以及若所述第一应用的优先级高于所述第二应用的优先级,则向所述第二应用发送关闭信号,以使所述第二应用收到所述关闭信号后关闭自身的推送进程。
这种实施方式具体的实现流程如下:
(1)A、B、C分别表示三个接入推送SDK的应用,A、B、C三个应用都集成了统一推送SDK,且优先级分别为1,2,3。
(2)当后台启动应用A时,应用A中的SDK主动打开推送进程,保证通过统一推送平台推送过来的消息都能实时收到。
(3)若此时应用B打开,应用B中的SDK判断出已经存在一个应用A的推送进程,则进一步判断应用A和应用B两者之间的优先级关系。如果应用A的优先级高于应用B,则应用B的推送进程自动关闭;如果应用B的优先级高于应用A,则向应用A发送signal,signal是用于通知关闭推送进程的关闭信号,应用A中的SDK收到指定signal后关闭自身推送进程,保证只有一条推送通道存活。
图4为本发明提供的推送进程常驻方法的另一优选实施例的步骤流程图。如图4所示,根据本发明推送进程常驻方法的一种实施方式,上述方法还包括:步骤S250,若所述第二应用的优先级与所述第一应用的优先级相同,则比较所述第二应用与所述第一应用的启动时间;步骤S260,选择所述启动时间早的应用作为所述推送应用。使在所述第二应用与所述第一应用中启动时间早的应用占用推送进程。
在这种实施方式中,当打开多个接入推送SDK的App时,首先根据接入推送SDK的应用的优先级确定占用推送进程的应用。如果打开的多个接入推送SDK的App的优先级相同,则优先保留其中一个最早启动的App的推送通道。
根据本发明推送进程常驻方法的一种实施方式,步骤S140,所述其他应用收到所述广播后,从所述其他应用中重新选取所述推送应用,包括:选择优选应用作为所述推送应用,通过统一推送通道推送消息,其中,所述优选应用是所述其他应用中优先级最高的应用中启动时间最早的应用。
在这种实施方式中,根据优先级和启动时间重建统一推送通道。在步骤S130中,在占用推送进程的App被终止时,推送SDK在关闭前向其他接入推送SDK的应用发出广播。在步骤S140中,当其他集成推送SDK的App收到广播后,会根据优先级和启动时间重建自己的推送通道。具体地,在其他集成推送SDK的App中,根据优先级在后台只保留一个优先级最高的推送通道;如果其他集成推送SDK的App中,优先级最高的应用个数有两个以上,则优先保留其中一个最早启动的App的推送通道。
又一方面,本发明实施例提供了一种推送进程常驻装置。图5为本发明实施例的推送进程常驻装置的整体框架图。如图5所示,本发明实施例的推送进程常驻装置包括:接入单元100,用于将至少两个应用接入推送工具包,所述推送工具包用于管理推送进程;推送管理单元200,用于选择接入推送工具包且被打开的应用中的一个应用作为推送应用,并通过统一推送通道推送消息,其中,所述推送应用是占用所述推送进程的应用;广播单元300,用于在所述推送应用被终止时,所述推送工具包在关闭所述推送应用的推送进程之前向接入推送工具包且被打开的其他应用发出广播;以及重建单元400,用于所述其他应用收到所述广播后,从所述其他应用中重新选取所述推送应用。
图6为本发明提供的推送进程常驻装置的一种优选实施例的结构框图。如图6所示,根据本发明推送进程常驻装置的一种实施方式,所述推送管理单元200包括推送子单元210,用于:推送SDK根据应用标识将所述消息推送给与应用标识对应的应用,所述应用标识包括应用标识符。
根据本发明推送进程常驻装置的一种实施方式,所述推送管理单元200还包括:优先级设置子单元220,用于预先设置接入推送工具包的应用的优先级;进程管理子单元230,用于根据接入推送工具包且被打开的应用的优先级确定所述推送应用。
根据本发明推送进程常驻装置的一种实施方式,所述进程管理子单元230还用于:在打开接入推送工具包的第一应用时,所述推送工具包判断是否存在占用推送进程的第二应用;若判断存在所述第二应用,判断所述第一应用与所述第二应用的优先级关系;若所述第二应用的优先级高于所述第一应用的优先级,则关闭所述第一应用的推送进程;以及若所述第一应用的优先级高于所述第二应用的优先级,则向所述第二应用发送关闭信号,以使所述第二应用收到所述关闭信号后关闭自身的推送进程。
根据本发明推送进程常驻装置的一种实施方式,所述进程管理子单元230还用于:若所述第二应用的优先级与所述第一应用的优先级相同,则比较所述第二应用与所述第一应用的启动时间;选择所述启动时间早的应用作为所述推送应用。
根据本发明推送进程常驻装置的一种实施方式,所述重建单元400还用于:选择优选应用作为所述推送应用,通过统一推送通道推送消息,其中,所述优选应用是所述其他应用中优先级最高的应用中启动时间最早的应用。
本发明实施例的装置中各模块的功能可以参见上述方法的相关描述,在此不再赘述。
又一方面,本发明实施例提供了一种终端,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述第一方面中任一所述的方法。
在一个可能的设计中,推送进程常驻装置的结构中包括处理器和存储器,所述存储器用于存储支持推送进程常驻装置执行上述第一方面中推送进程常驻方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述推送进程常驻装置还可以包括通信接口,用于推送进程常驻装置与其他设备或通信网络通信。
图7为本发明实施例的终端的结构框图。如图7所示,该装置包括:存储器101和处理器102,存储器101内存储有可在处理器102上运行的计算机程序。所述处理器102执行所述计算机程序时实现上述实施例中的推送进程常驻方法。所述存储器101和处理器102的数量可以为一个或多个。
该终端还包括:
通信接口103,用于与外界设备进行通信,进行数据交互传输。
存储器101可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
如果存储器101、处理器102和通信接口103独立实现,则存储器101、处理器102和通信接口103可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(ISA,Industry Standard Architecture)总线、外部设备互连(PCI,PeripheralComponent)总线或扩展工业标准体系结构(EISA,Extended Industry StandardComponent)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器101、处理器102及通信接口103集成在一块芯片上,则存储器101、处理器102及通信接口103可以通过内部接口完成相互间的通信。
又一方面,本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现上述推送进程常驻方法中任一所述的方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。所述存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (14)
1.一种推送进程常驻方法,其特征在于,包括:
将至少两个应用接入推送工具包,所述推送工具包用于管理推送进程;
选择接入推送工具包且被打开的应用中的一个应用作为推送应用,并通过统一推送通道推送消息,其中,所述推送应用是占用所述推送进程的应用;
在所述推送应用被终止时,所述推送工具包在关闭所述推送应用的推送进程之前向接入推送工具包且被打开的其他应用发出广播;以及
所述其他应用收到所述广播后,从所述其他应用中重新选取所述推送应用。
2.根据权利要求1所述的方法,其特征在于,所述通过统一推送通道推送消息,包括:
推送工具包根据应用标识将所述消息推送给与应用标识对应的应用,所述应用标识包括应用标识符。
3.根据权利要求1或2所述的方法,其特征在于,所述选择接入推送工具包且被打开的应用中的一个应用作为推送应用,包括:
预先设置接入推送工具包的应用的优先级;
根据接入推送工具包且被打开的应用的优先级确定所述推送应用。
4.根据权利要求3所述的方法,其特征在于,根据接入推送工具包且被打开的应用的优先级确定所述推送应用,包括:
在打开接入推送工具包的第一应用时,所述推送工具包判断是否存在占用推送进程的第二应用;
若判断存在所述第二应用,判断所述第一应用与所述第二应用的优先级关系;
若所述第二应用的优先级高于所述第一应用的优先级,则关闭所述第一应用的推送进程;以及
若所述第一应用的优先级高于所述第二应用的优先级,则向所述第二应用发送关闭信号,以使所述第二应用收到所述关闭信号后关闭自身的推送进程。
5.根据权利要求4所述的方法,其特征在于,还包括:
若所述第二应用的优先级与所述第一应用的优先级相同,则比较所述第二应用与所述第一应用的启动时间;
选择所述启动时间早的应用作为所述推送应用。
6.根据权利要求3所述的方法,其特征在于,所述其他应用收到所述广播后,从所述其他应用中重新选取所述推送应用,包括:
选择优选应用作为所述推送应用,通过统一推送通道推送消息,其中,所述优选应用是所述其他应用中优先级最高的应用中启动时间最早的应用。
7.一种推送进程常驻装置,其特征在于,包括:
接入单元,用于将至少两个应用接入推送工具包,所述推送工具包用于管理推送进程;
推送管理单元,用于选择接入推送工具包且被打开的应用中的一个应用作为推送应用,并通过统一推送通道推送消息,其中,所述推送应用是占用所述推送进程的应用;
广播单元,用于在所述推送应用被终止时,所述推送工具包在关闭所述推送应用的推送进程之前向接入推送工具包且被打开的其他应用发出广播;以及
重建单元,用于所述其他应用收到所述广播后,从所述其他应用中重新选取所述推送应用。
8.根据权利要求7所述的装置,其特征在于,所述推送管理单元包括推送子单元,用于:
推送工具包根据应用标识将所述消息推送给与应用标识对应的应用,所述应用标识包括应用标识符。
9.根据权利要求7或8所述的装置,其特征在于,所述推送管理单元还包括:
优先级设置子单元,用于预先设置接入推送工具包的应用的优先级;
进程管理子单元,用于根据接入推送工具包且被打开的应用的优先级确定所述推送应用。
10.根据权利要求9所述的装置,其特征在于,所述进程管理子单元还用于:
在打开接入推送工具包的第一应用时,所述推送工具包判断是否存在占用推送进程的第二应用;
若判断存在所述第二应用,判断所述第一应用与所述第二应用的优先级关系;
若所述第二应用的优先级高于所述第一应用的优先级,则关闭所述第一应用的推送进程;以及
若所述第一应用的优先级高于所述第二应用的优先级,则向所述第二应用发送关闭信号,以使所述第二应用收到所述关闭信号后关闭自身的推送进程。
11.根据权利要求10所述的装置,其特征在于,所述进程管理子单元还用于:
若所述第二应用的优先级与所述第一应用的优先级相同,则比较所述第二应用与所述第一应用的启动时间;
选择所述启动时间早的应用作为所述推送应用。
12.根据权利要求9所述的装置,其特征在于,所述重建单元还用于:
选择优选应用作为所述推送应用,通过统一推送通道推送消息,其中,所述优选应用是所述其他应用中优先级最高的应用中启动时间最早的应用。
13.一种终端,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-6中任一所述的方法。
14.一种计算机可读存储介质,其存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810499304.5A CN108733498A (zh) | 2018-05-23 | 2018-05-23 | 推送进程常驻方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810499304.5A CN108733498A (zh) | 2018-05-23 | 2018-05-23 | 推送进程常驻方法、装置、终端及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108733498A true CN108733498A (zh) | 2018-11-02 |
Family
ID=63935185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810499304.5A Pending CN108733498A (zh) | 2018-05-23 | 2018-05-23 | 推送进程常驻方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108733498A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109769214A (zh) * | 2018-12-26 | 2019-05-17 | 彩讯科技股份有限公司 | 一种消息推送方法、装置、终端及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105847366A (zh) * | 2016-03-29 | 2016-08-10 | 乐视控股(北京)有限公司 | 一种共享推送服务的方法和装置 |
CN107229528A (zh) * | 2017-05-27 | 2017-10-03 | 北京奇虎科技有限公司 | 消息推送的多路复用方法及装置、电子设备 |
CN107957913A (zh) * | 2017-11-21 | 2018-04-24 | 广东欧珀移动通信有限公司 | 关联启动的管控方法、装置、存储介质及移动终端 |
-
2018
- 2018-05-23 CN CN201810499304.5A patent/CN108733498A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105847366A (zh) * | 2016-03-29 | 2016-08-10 | 乐视控股(北京)有限公司 | 一种共享推送服务的方法和装置 |
CN107229528A (zh) * | 2017-05-27 | 2017-10-03 | 北京奇虎科技有限公司 | 消息推送的多路复用方法及装置、电子设备 |
CN107957913A (zh) * | 2017-11-21 | 2018-04-24 | 广东欧珀移动通信有限公司 | 关联启动的管控方法、装置、存储介质及移动终端 |
Non-Patent Citations (1)
Title |
---|
HONG JACK: "Android的推送sdk是如何唤醒App的?", 《HTTPS://WWW.ZHIHU.COM/QUESTION/35523594》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109769214A (zh) * | 2018-12-26 | 2019-05-17 | 彩讯科技股份有限公司 | 一种消息推送方法、装置、终端及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9864595B2 (en) | Software updating method, system, and device | |
CN109766200A (zh) | 一种消息队列处理方法、装置、设备及存储介质 | |
JP2020537449A (ja) | 通信ネットワークにおけるサービス登録 | |
CN105516787B (zh) | 应用缓存数据的存储控制方法及装置 | |
JP2002506329A5 (zh) | ||
CN105611422B (zh) | 基于多媒体榜单的在线直播方法及装置 | |
CN111786998A (zh) | 基于微服务调用的权限管理方法、装置及存储介质 | |
US11323562B2 (en) | Communication method for processing crank call | |
CN104394067A (zh) | 局域网通讯方法和装置 | |
WO2011029344A1 (zh) | 基于智能网的自动回复方法及系统 | |
CN115038130A (zh) | 一种移动数据业务切换方法、终端及计算机存储介质 | |
CN110475229A (zh) | 业务数据访问的方法、装置、计算机设备和存储介质 | |
CN115098426B (zh) | Pcie设备管理方法、接口管理模块、pcie系统、设备和介质 | |
CN108733498A (zh) | 推送进程常驻方法、装置、终端及存储介质 | |
CN106200866B (zh) | 一种应用冻结方法及移动终端 | |
CN104461700A (zh) | 应用平台化配置方法和装置 | |
CN112787828B (zh) | 一种应用程序的流量统计方法、设备、移动电子设备 | |
CN110856161A (zh) | 一种sim卡设置方法、终端及计算机存储介质 | |
US10327133B2 (en) | Making subscriber data addressable as a device in a mobile data network | |
CN108920333B (zh) | 事件状态监测方法、事件状态监测器 | |
CN102299961A (zh) | Femto设备实现网络资源共享方法及Femto设备 | |
CN112422457B (zh) | 报文处理方法、装置和计算机存储介质 | |
CN115469961A (zh) | 容器组的创建方法和装置、电子设备和存储介质 | |
CN103561470B (zh) | 业务运行控制方法及装置 | |
US20180375920A1 (en) | Distributing subscriber data in a mobile data network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181102 |