掌桥专利:专业的专利平台
掌桥专利
首页

一种应用程序的保活方法、装置及计算机设备

文献发布时间:2023-06-19 09:27:35


一种应用程序的保活方法、装置及计算机设备

技术领域

本发明涉及物联网技术领域,具体涉及一种应用程序的保活方法、装置及计算机设备。

背景技术

万物互联时代,物联网设备越来越多,形式也是多种多样的,远程控制物联网设备改变了生活,但同时对物联网设备的运维成本也越来越高。人们在很多公众场合可以看到许多物联网设备(例如,广告机、娃娃机、快递柜、取票机等)。但是经常可以看到广告机不再播放广告,而是停在了系统桌面;或者在取票时发现取票机死机,点不动,导致用户体验差,故亟待提出一种应用程序的保活方法以及时监控应用程序的运行状态,以便于对非正常运行状态的应用程序及时进行处理,保证应用程序的功能服务正常运行,提高物联网设备的用户使用体验。

发明内容

因此,本发明要解决的技术问题在于克服现有技术中不能及时监控物联网设备应用程序的运行状态,影响用户使用体验的缺陷,从而提供一种应用程序的保活方法、装置及计算机设备。

根据第一方面,本发明实施例公开了一种应用程序的保活方法,应用于监听设备,包括如下步骤:获取待监听应用程序;监听所述待监听应用程序,确定所述待监听应用程序的运行状态;当所述待监听应用程序的运行状态处于非正常运行时,控制所述待监听应用程序重启。

可选地,所述监听所述待监听应用程序,确定所述待监听应用程序的运行状态,包括:接收所述待监听应用程序发送的心跳包;当连续目标次数接收不到心跳包时,确定所述待监听应用程序的运行状态为非正常运行状态。

可选地,所述监听所述待监听应用程序,确定所述待监听应用程序的运行状态,包括:监听所述待监听应用程序的运行进程;当所述运行进程不存在时,确定所述待监听应用程序的运行状态为非正常运行状态。

可选地,所述待监听应用程序对应的物联网设备与所述监听设备均连接网络,所述监听所述待监听应用程序,确定所述待监听应用程序的运行状态,包括:接收所述待监听应用程序发送的网络心跳包;当在第一目标间隔时间接收不到网络心跳包时,确定所述待监听应用程序的运行状态为非正常运行状态。

可选地,所述方法还包括:按照第二目标间隔时间检测所述待监听应用程序的显示页面,若所述显示页面不是目标显示页面,控制所述待监听应用程序的显示界面显示所述目标显示页面。

可选地,在所述获取待监听应用程序之前,所述方法还包括:将监听进程的优先级设置为目标优先级;将所述监听进程对应的服务设置为不可退出模式。

根据第二方面,本发明实施例还公开了一种应用程序的保活装置,应用于监听设备,包括:获取模块,用于获取待监听应用程序;监听模块,用于监听所述待监听应用程序,确定所述待监听应用程序的运行状态;重启模块,用于当所述待监听应用程序的运行状态处于非正常运行时,控制所述待监听应用程序重启。

可选地,所述监听模块包括:第一接收模块,用于接收所述待监听应用程序发送的心跳包;第一确定模块,用于当连续目标次数接收不到心跳包时,确定所述待监听应用程序的运行状态为非正常运行状态。

根据第三方面,本发明实施例还公开了一种计算机设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行如第一方面或第一方面任一可选实施方式所述的应用程序的保活方法的步骤。

根据第四方面,本发明实施例还公开了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第一方面任一可选实施方式所述的应用程序的保活方法的步骤。

本发明技术方案,具有如下优点:

本发明提供的应用程序的保活方法及装置,通过获取待监听应用程序,监听待监听应用程序,确定待监听应用程序的运行状态,当待监听应用程序的运行状态处于非正常运行时,控制待监听应用程序重启。本发明通过监听设备实时监听待监听应用程序的运行状态,在待监听应用程序处于非正常运行状态时,拉起处于非正常运行状态的待监听应用程序,以使应用程序一直处于正常工作状态,保证了其功能服务正常运行,提高用户体验。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中应用程序的保活方法的一个具体示例的流程图;

图2为本发明实施例中应用程序的保活装置的一个具体示例的原理框图;

图3为本发明实施例中计算机设备的一个具体示例图。

具体实施方式

下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。

本发明实施例公开了一种应用程序的保活方法,应用于监听设备,如图1所示,包括如下步骤:

S11:获取待监听应用程序。

示例性地,该待监听应用程序的获取方法可以为后台操作人员发送到监听设备,也可以根据物联网设备终端向监听设备发送的监听请求获得,本发明实施例对该待监听应用程序的获取方法不作具体限定,本领域技术人员可以根据实际情况选择。该待监听应用程序的数量可以为1个,也可以为多个,本发明实施例对该待监听应用程序的数量不作具体限定,本领域技术人员可以根据实际情况设定。

S12:监听待监听应用程序,确定待监听应用程序的运行状态。

示例性地,运行状态可以包括:正常运行和非正常运行。监听待监听应用程序,确定待监听应用程序的运行状态可以通过监听应用程序的运行进程确定待监听应用程序的运行状态,也可以为通过监听应用程序发送的心跳包确定待监听应用程序的运行状态,也可以通过监听应用程序的网络心跳包确定待监听应用程序的运行状态。对于上述确定待监听应用程序的运行状态的方法,可以只选择一种,也可以同时选择多种,本发明实施例对该运行状态的确定方法不作具体限定,本领域技术人员可以根据实际情况选择。

S13:当待监听应用程序的运行状态处于非正常运行时,控制待监听应用程序重启。

示例性地,非正常运行可以包括:关机、死机等。当待监听应用程序的运行状态处于非正常运行时,控制待监听重启应用程序以使应用程序处于正常工作状态。具体地,向待监听应用程序发送开启信号,控制待监听应用程序重启。

本发明提供的应用程序的保活方法,通过获取待监听应用程序,监听待监听应用程序,确定待监听应用程序的运行状态,当待监听应用程序的运行状态处于非正常运行时,控制待监听应用程序重启。本发明通过监听设备实时监听待监听应用程序的运行状态,在待监听应用程序处于非正常运行状态时,拉起处于非正常运行状态的待监听应用程序,以使应用程序一直处于正常工作状态,保证了其功能服务正常运行,提高用户体验。

作为本发明实施例一个可选实施方式,上述步骤S12包括:

首先,接收待监听应用程序发送的心跳包。

示例性地,待监听应用程序中提前设置好定时发送心跳包,监听设备实时监听待监听应用程序发送的心跳包以确定待监听应用程序的运行状态。心跳包的接收方式可以为通过有线或无线方式接收,本发明实施例对该心跳包的接收方法不作具体限定,本领域技术人员可以根据实际情况设定。

其次,当连续目标次数接收不到心跳包时,确定待监听应用程序的运行状态为非正常运行状态。

示例性地,该目标次数可以为多次,本发明实施例对该目标次数不作具体限定,本领域技术人员可也根据实际情况设定。本发明实施例以目标次数为3次进行说明。当连续3次接收不到待监听应用程序发送的心跳包,说明待监听应用程序的心跳停止,即其运行状态为非正常运行状态,重启该待监听应用程序。

本发明实施例通过监听待监听应用程序的心跳,进而确定待监听应用程序的运行状态,当处于非正常运行状态时,主动重启该待监听应用程序,保证应用程序运行正常。

作为本发明实施例一个可选实施方式,上述步骤S12包括:

首先,监听待监听应用程序的运行进程。

示例性地,每个应用程序都有独立的运行进程,当应用程序运行时,一定有相应的运行进程,而当应用程序的运行进程被杀掉时,应用程序也就被杀掉了。因此,通过目标命令,定时检查待监听应用程序对应的进程是否存在。

其次,当运行进程不存在时,确定待监听应用程序的运行状态为非正常运行状态。

示例性地,当运行进程不存在时,确定待监听应用程序已被杀掉,即其运行状态为非正常运行状态,重启该待监听应用程序。

本发明实施例通过监听待监听应用程序的运行进程,进而确定待监听应用程序的运行状态,当处于非正常运行状态时,主动重启该待监听应用程序,保证应用程序运行正常。

作为本发明实施例一个可选实施方式,待监听应用程序对应的物联网设备与监听设备均连接网络,上述步骤S12包括:

首先,接收待监听应用程序发送的网络心跳包。

示例性地,在待监听应用程序对应的物联网设备与监听设备均连接网络时,待监听应用程序对应的物联网设备与监听设备之间通过TCP协议保持连接,当待监听应用程序对应的物联网设备和/或监听设备开启“keepalive”功能后,就会在规定时间内向对方发送网络心跳包,而另一方在接收到心跳包后会自动回复一个网络心跳包,以告诉对方在线。

在网络较好的时候,接收待监听应用程序发送的网络心跳包,该网络心跳包的接收方法可以为通过TCP协议接收,接收到的网络心跳包可以是不加密的,为了提高网络心跳包的安全性,该网络心跳包可以是加密的,加密方法由待监听应用程序对应的物联网设备与监听设备提前约定好,在监听设备接收到加密的网络心跳包时,按照约定的加密方法解密得到。本发明实施例对该网络心跳包的接收状态不作具体限定,本领域技术人员可以根据实际情况设定。

其次,当在第一目标间隔时间接收不到网络心跳包时,确定待监听应用程序的运行状态为非正常运行状态。

示例性地,该第一目标间隔时间可以为1个小时,本发明实施例对该第一目标间隔时间不作具体限定,本领域技术人员可以根据实际情况设定。网络连接状态好时,在第一目标间隔时间接收不到网络心跳包,确定待监听应用程序不在线,即其运行状态为非正常运行状态,重启该待监听应用程序。

本发明实施例通过在网络状态好时发送接收待监听应用程序的网络心跳包,进而确定待监听应用程序的运行状态,当处于非正常运行状态时,主动重启该待监听应用程序,保证应用程序运行正常。

作为本发明实施例一个可选实施方式,该应用程序的保活方法还包括:

按照第二目标间隔时间检测待监听应用程序的显示页面,若显示页面不是目标显示页面,控制待监听应用程序的显示界面显示目标显示页面。

示例性地,该第二目标间隔时间可以为1天,本发明实施例对该第二目标间隔时间不作具体限定,本领域技术人员可以根据时间情况设定。待监听应用程序的显示页面的检测方法可以为定时向待监听应用程序对应的物联网设备发送检测信号,接收待监听应用程序对应的物联网设备根据该检测信号返回的显示页面。本发明实施例通过定时监控待监听应用程序的显示界面,保证物联网设备展示内容的可靠性。

作为本发明实施例一个可选实施方式,在上述步骤S11之前,该应用程序的保活方法还包括:

首先,将监听进程的优先级设置为目标优先级。

示例性地,该目标优先级可以为最高级,也可以为其他较高优先级,本发明实施例对该目标优先级不作具体限定,本领域技术人员可以根据实际情况设定。将监听进程的优先级设置为目标优先级具体可以为接收后台操作人员发送的目标优先级以及设置指令,根据该设置指令以及目标优先级将监听进程的优先级设置为目标优先级,防止该进程被系统清理掉。

其次,将监听进程对应的服务设置为不可退出模式。

示例性地,将监听进程对应的服务设置为不可退出模式具体可以为接收后台操作人员发送的设置指令,根据该设置指令将监听进程对应的服务设置为不可退出模式,这样即使该监听进程被系统清理掉,仍然可以主动拉起该进程,保证监听服务一直保持在监听状态,可是实时监控物联网设备应用程序的运行状态。

本发明实施例还公开了一种应用程序的保活装置,应用于监听设备,如图2所示,包括:

获取模块21,用于获取待监听应用程序;具体实现方式见实施例中步骤S11的相关描述,在此不再赘述。

监听模块22,用于监听待监听应用程序,确定待监听应用程序的运行状态;具体实现方式见实施例中步骤S12的相关描述,在此不再赘述。

重启模块23,用于当待监听应用程序的运行状态处于非正常运行时,控制待监听应用程序重启。具体实现方式见实施例中步骤S13的相关描述,在此不再赘述。

本发明提供的应用程序的保活装置,通过获取待监听应用程序,监听待监听应用程序,确定待监听应用程序的运行状态,当待监听应用程序的运行状态处于非正常运行时,控制待监听应用程序重启。本发明通过监听设备实时监听待监听应用程序的运行状态,在待监听应用程序处于非正常运行状态时,拉起处于非正常运行状态的待监听应用程序,以使应用程序一直处于正常工作状态,保证了其功能服务正常运行,提高用户体验。

作为本发明实施例一个可选实施方式,上述监听模块22包括:

第一接收模块,用于接收待监听应用程序发送的心跳包;具体实现方式见实施例中对应的步骤的相关描述,在此不再赘述。

第一确定模块,用于当连续目标次数接收不到心跳包时,确定待监听应用程序的运行状态为非正常运行状态。具体实现方式见实施例中对应的步骤的相关描述,在此不再赘述。

作为本发明实施例一个可选实施方式,上述监听模块22包括:

监听子模块,用于监听待监听应用程序的运行进程;具体实现方式见实施例中对应的步骤的相关描述,在此不再赘述。

第二确定模块,用于当运行进程不存在时,确定待监听应用程序的运行状态为非正常运行状态。具体实现方式见实施例中对应的步骤的相关描述,在此不再赘述。

作为本发明实施例一个可选实施方式,待监听应用程序对应的物联网设备与监听设备均连接网络,上述监听模块22包括:

第二接收模块,用于接收待监听应用程序发送的网络心跳包;具体实现方式见实施例中对应的步骤的相关描述,在此不再赘述。

第三确定模块,用于当在第一目标间隔时间接收不到网络心跳包时,确定待监听应用程序的运行状态为非正常运行状态。具体实现方式见实施例中对应的步骤的相关描述,在此不再赘述。

作为本发明实施例一个可选实施方式,该应用程序的保活装置还包括:

检测模块,用于按照第二目标间隔时间检测待监听应用程序的显示页面,若显示页面不是目标显示页面,控制待监听应用程序的显示界面显示目标显示页面。具体实现方式见实施例中对应的步骤的相关描述,在此不再赘述。

作为本发明实施例一个可选实施方式,该应用程序的保活装置还包括:

第一设置模块,用于将监听进程的优先级设置为目标优先级;具体实现方式见实施例中对应的步骤的相关描述,在此不再赘述。

第二设置模块,用于将监听进程对应的服务设置为不可退出模式。具体实现方式见实施例中对应的步骤的相关描述,在此不再赘述。

本发明实施例还提供了一种计算机设备,如图3所示,该计算机设备可以包括处理器31和存储器32,其中处理器31和存储器32可以通过总线或者其他方式连接,图3中以通过总线连接为例。

处理器31可以为中央处理器(Central Processing Unit,CPU)。处理器31还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。

存储器32作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的应用程序的保活方法对应的程序指令/模块(例如,图2所示的获取模块21、监听模块22和重启模块23)。处理器31通过运行存储在存储器32中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的应用程序的保活方法。

存储器32可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器31所创建的数据等。此外,存储器32可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器32可选包括相对于处理器31远程设置的存储器,这些远程存储器可以通过网络连接至处理器31。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

所述一个或者多个模块存储在所述存储器32中,当被所述处理器31执行时,执行如图1所示实施例中的应用程序的保活方法。

上述计算机设备具体细节可以对应参阅图1所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。

本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(RandomAccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。

虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

技术分类

06120112176871