CN104809045B - 监控脚本的运行方法及装置 - Google Patents

监控脚本的运行方法及装置 Download PDF

Info

Publication number
CN104809045B
CN104809045B CN201510204468.7A CN201510204468A CN104809045B CN 104809045 B CN104809045 B CN 104809045B CN 201510204468 A CN201510204468 A CN 201510204468A CN 104809045 B CN104809045 B CN 104809045B
Authority
CN
China
Prior art keywords
script
monitoring
library
monitored
application program
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
Application number
CN201510204468.7A
Other languages
English (en)
Other versions
CN104809045A (zh
Inventor
吴磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201510204468.7A priority Critical patent/CN104809045B/zh
Publication of CN104809045A publication Critical patent/CN104809045A/zh
Application granted granted Critical
Publication of CN104809045B publication Critical patent/CN104809045B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种监控脚本的运行方法,包括步骤:在启动应用程序监测功能后,加载库脚本并确定所述待监测应用程序;在库脚本加载成功后,通过调用库脚本的传参数接口将待监测应用程序的参数传入库脚本;通过调用库脚本的功能检查接口读取与所述待监测应用程序对应的监测全局变量,监测所述待监测应用程序的运行状态,以完成监控脚本的运行。本发明还公开一种监控脚本的运行装置。本发明降低了监控脚本的编写过程的复杂度、难度,提高了监控监本的编写效率。

Description

监控脚本的运行方法及装置
技术领域
本发明涉及到软件应用技术领域,特别涉及到监控脚本的运行方法及装置。
背景技术
大型互联网产品的后台系统,通常都是由数目繁多的不同功能程序组成,而针对每个程序都需要单独定制一个监控脚本用于检查程序的运行状态,确保程序的正常运行,监控脚本内需要编写大量代码。
在现有的这种监控脚本的编写方式下,需要熟悉脚本语言才能完成监控脚本的编写,且每次对监控脚本增加功能都需要更新所有脚本。导致监控脚本的编写过程复杂、难度高,使得监控脚本的编写效率差。
发明内容
本发明实施例提供一种监控脚本的运行方法及装置,旨在解决在现有的这种监控脚本的编写方式下,需要熟悉脚本语言才能完成监控脚本的编写,且每次对监控脚本增加功能都需要更新所有脚本。导致监控脚本的编写过程复杂、难度高,使得监控脚本的编写效率差的问题。
为实现上述目的,本发明实施例提出一种监控脚本的运行方法,包括步骤:
在启动应用程序监测功能后,加载库脚本并确定所述待监测应用程序;
在库脚本加载成功后,通过调用库脚本的传参数接口将待监测应用程序的参数传入库脚本;
通过调用库脚本的功能检查接口读取与所述待监测应用程序对应的监测全局变量,监测所述待监测应用程序的运行状态,以完成监控脚本的运行。
为了实现上述目的,本发明实施例还进一步提出一种监控脚本的运行装置,包括:
加载模块,用于在启动应用程序监测功能后,加载库脚本;
处理模块,用于确定所述待监测应用程序;
参数传入模块,用于在库脚本加载成功后,通过调用库脚本的传参数接口将待监测应用程序的参数传入库脚本;
读取模块,用于通过调用库脚本的功能检查接口读取与所述待监测应用程序对应的监测全局变量;
检测模块,用于监测所述待监测应用程序的运行状态,以完成监控脚本的运行。
本发明通过将复杂的脚本代码编入库脚本中,在更新时,将库脚本复制到所有服务器即可,操作过程简单。有效避免在现有的这种监控脚本的编写方式下,需要熟悉脚本语言才能完成监控脚本的编写,且每次对监控脚本增加功能都需要更新所有脚本。导致监控脚本的编写过程复杂、难度高,使得监控脚本的编写效率差的问题。降低了监控脚本的编写过程的复杂度、难度,提高了监控监本的编写效率。
附图说明
图1为本发明实施例监控脚本的运行装置所涉及的硬件架构示意图;
图2为本发明监控脚本的运行方法的第一实施例的流程示意图;
图3为本发明监控脚本和库脚本一实施例的架构示意图;
图4为本发明脚本代码的编写过程一实施例的流程示意图;
图5为本发明监控脚本的运行方法的第二实施例的流程示意图
图6为本发明监控脚本的运行装置的较佳实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:在启动应用程序监测功能后,加载库脚本并确定所述待监测应用程序;在库脚本加载成功后,通过调用库脚本的传参数接口将待监测应用程序的参数传入库脚本;通过调用库脚本的功能检查接口读取与所述待监测应用程序对应的监测全局变量,监测所述待监测应用程序的运行状态,以完成监控脚本的运行。通过将复杂的脚本代码编入库脚本中,在更新时,将库脚本复制到所有服务器即可,操作过程简单。有效避免在现有的这种监控脚本的编写方式下,需要熟悉脚本语言才能完成监控脚本的编写,且每次对监控脚本增加功能都需要更新所有脚本。导致监控脚本的编写过程复杂、难度高,使得监控脚本的编写效率差的问题。降低了监控脚本的编写过程的复杂度、难度,提高了监控监本的编写效率。
由于在现有的这种监控脚本的编写方式下,需要熟悉脚本语言才能完成监控脚本的编写,且每次对监控脚本增加功能都需要更新所有脚本。导致监控脚本的编写过程复杂、难度高,使得监控脚本的编写效率差。
本发明实施例架构一监控脚本的运行装置,该监控脚本的运行装置通过将复杂的脚本代码编入库脚本中,在更新时,将库脚本复制到所有服务器即可,操作过程简单。有效避免在现有的这种监控脚本的编写方式下,需要熟悉脚本语言才能完成监控脚本的编写,且每次对监控脚本增加功能都需要更新所有脚本。导致监控脚本的编写过程复杂、难度高,使得监控脚本的编写效率差的问题。降低了监控脚本的编写过程的复杂度、难度,提高了监控监本的编写效率。
其中,本实施例监控脚本的运行装置可以承载于PC端,也可以承载于手机、平板电脑等可以使用应用程序的电子终端。该监控脚本的运行装置所涉及的硬件架构可以如图1所示。
图1示出了本发明实施例监控脚本的运行装置所涉及的硬件架构。如图1所示,所述监控脚本的运行装置所涉及的硬件包括:处理器301,例如CPU,网络接口304,用户接口303,存储器305,通信总线302。其中,通信总线302用于实现该信息推送平台中各组成部件之间的连接通信。用户接口303可以包括显示屏(Display)、键盘(Keyboard)、鼠标等组件,用于接收用户输入的信息,并将接收的信息发送至处理器305进行处理。显示屏可以为LCD显示屏、LED显示屏,也可以为触摸屏,用于显示监控脚本的运行装置需要显示的数据,例如显示应用操作界面、监控脚本的运行等操作界面。可选用户接口303还可以包括标准的有线接口、无线接口。网络接口304可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器305可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器305可选的还可以是独立于前述处理器301的存储装置。如图1所示,作为一种计算机存储介质的存储器305中可以包括操作系统、网络通信模块、用户接口模块以及监控脚本的运行程序。
在图1所示的监控脚本的运行装置所涉及的硬件中,网络接口304主要用于连接应用平台,与应用平台进行数据通信;用户接口303主要用于连接客户端,与客户端进行数据通信,接收客户端输入的信息和指令;而处理器301可以用于调用存储器305中存储的监控脚本的运行程序,并执行以下操作:
在启动应用程序监测功能后,加载库脚本并确定所述待监测应用程序;
在库脚本加载成功后,通过调用库脚本的传参数接口将待监测应用程序的参数传入库脚本;
通过调用库脚本的功能检查接口读取与所述待监测应用程序对应的监测全局变量,监测所述待监测应用程序的运行状态,以完成监控脚本的运行。
进一步地,在一个实施例中,处理器301调用存储器305中存储的监控脚本的运行程序可以执行以下操作:
在监测到所述待监测应用程序的运行状态为异常时,通过调用库脚本功能检查接口读取与所述待检测应用程序对应的启动全局变量,以通过所述启动全局变量重新启动所述待监测应用程序。
进一步地,在一个实施例中,处理器301调用存储器305中存储的监控脚本的运行程序可以执行以下操作:
接收全局变量设置指令,设置与所述全局变量设置指令对应的全局变量并保存在所述库脚本中。
进一步地,在一个实施例中,处理器301调用存储器305中存储的监控脚本的运行程序可以执行以下操作:
接收脚本代码设置指令,确定所述脚本代码设置指令对应的脚本代码;
将复杂度大于预设复杂度阈值的脚本代码封装在库脚本中;
将复杂度小于或等于预设复杂度阈值的脚本封装在监控脚本中。
进一步地,在一个实施例中,处理器301调用存储器305中存储的监控脚本的运行程序可以执行以下操作:
启动功能检查接口逻辑的更新操作,批量复制库脚本发布至所有应用服务器上。
本实施例根据上述方案,通过将复杂的脚本代码编入库脚本中,在更新时,将库脚本复制到所有服务器即可,操作过程简单。有效避免在现有的这种监控脚本的编写方式下,需要熟悉脚本语言才能完成监控脚本的编写,且每次对监控脚本增加功能都需要更新所有脚本。导致监控脚本的编写过程复杂、难度高,使得监控脚本的编写效率差的问题。降低了监控脚本的编写过程的复杂度、难度,提高了监控监本的编写效率。
基于上述硬件架构,提出本发明监控脚本的运行方法实施例。
如图2所示,提出本发明一种监控脚本的运行方法的第一实施例,所述监控脚本的运行方法包括:
步骤S10,在启动应用程序监测功能后,加载库脚本并确定所述待监测应用程序;
参考图3,库脚本包括至少一个全局变量,一个传参数接口,至少一个功能检查接口。
全局变量包括:${程序名}、${程序监听端口}、${程序启动命令}等,初始值设置为空;
传参数接口函数:用于更新全局变量;
功能检查接口分为多个(以下涉及一些基本Linux命令):
功能检查接口1(程序是否运行):ps-ef|grep${程序名}|wc-|;
功能检查接口2(程序监听端口):nc${本机IP$|程序监听端口|;
功能检查接口3(程序日志状态):stat-c“%¥”日志文件。在本发明其他实施例中功能检查接口不仅上述3个,可以根据系统中实际情况不断添加,例如可以增加http服务检查接口,接口实现方法可以用curl工具探测80端口是否正常,当然也还可以增加其他功能检查接口。
启动应用程序检测功能的启动触发可以包括:在接收到启动应用程序检测功能指令时所述启动触发;预设一时间间隔(例如,1分钟、2分钟等),在预设时间间隔到达时所述启动触发;在应用程序启动时所述启动触发等触发方式,可以是上述列举的方式的结合,例如,在应用程序启动时所述启动触发,在应用程序运行过程中通过预设时间间隔来触发。
监控脚本的编写通常只有3-6行代码:
加载库脚本,1行代码,内容固定;
调用传参数接口(把程序的特征传入库脚本,1行代码,内容需根据程序情况自定义);
调用功能检查接口(可多个,一般为1-4行,内容固定可选)。监控脚本是极其简单,但需要根据程序实际情况自定义内容的。
在启动应用程序检测功能后,加载库脚本并确定所述待检测应用程序。所述待检测应用程序可以为1个或多个,根据实际情况所需来完成某个或某些应用程序的监测。
步骤S20,在库脚本加载成功后,通过调用库脚本的传参数接口将待监测应用程序的参数传入库脚本;
在库脚本加载成功后,通过调用库脚本的传参数接口将待检测应用程序的参数传入库脚本。所述应用程序的参数包括但不限于应用程序的程序名、程序运行代码等。通过把程序的特征传入库脚本,内容根据程序情况自定义,完成对应用程序的监测。
步骤S30,通过调用库脚本的功能检查接口读取与所述待监测应用程序对应的监测全局变量,监测所述待监测应用程序的运行状态,以完成监控脚本的运行。
接收全局变量设置指令,设置于所述全局变量设置指令对应的全局变量并保存在所述库脚本中。所述全局变量为通用的、常用的变量。
通过调用库脚本的功能检查接口读取与所述待监测应用程序对应的监测全局变量,监测所述待监测应用程序的运行状态,即监测待监测应用程序是否运行正常,以完成监控脚本的运行。监控脚本:检查应用程序是否正常运行的脚本。
在本发明其他实施例中还可以通过调用功能检查接口2(程序监听端口):nc${本机IP$|程序监听端口|对所述待监测应用程序进行监听,即监听所述待监测应用程序是否运行正常。在侦听所述待监测应用程序是否正常运行的过程之前,还可以是:通过功能检查接口1(程序是否运行):ps-ef|grep${程序名}|wc-|来监测应用程序是否运行。也还可以是通过功能检查接口3(程序日志状态):stat-c“%¥”日志文件监测应用程序运行过程中的情况,对程序运行的过程进行监测。
在更新功能检查接口逻辑时,启动功能检查接口逻辑的更新操作,批量复制库脚本至所有应用服务器上,即将常用的全局变量封装在库脚本中,通过简单的复制操作发布到全网。
具体的,参考图4,脚本代码的编写过程可以包括:
步骤S11,接收脚本代码设置指令,确定所述脚本代码设置指令对应的脚本代码;
步骤S12,将复杂度大于预设复杂度阈值的脚本代码封装在库脚本中;
步骤S13,将复杂度小于或等于预设复杂度阈值的脚本封装在监控脚本中。
接收脚本代码设置指令,确定所述脚本代码设置指令对应的脚本代码,所述脚本代码包括但不限于对应用程序监测的简单的脚本代码和复杂的脚本代码。提前预设复杂度阈值,所述复杂度阈值可以是2或3等,也还可是二级或三级等,在设置脚本代码时,判断需要设置的脚本代码的复杂度是否大于预设复杂度阈值,在需设置的脚本代码的复杂度大于预设复杂度阈值时,将复杂度大于预设复杂度阈值的脚本代码封装在库脚本中;将复杂度小于或等于预设复杂度阈值的脚本封装在监控脚本中。例如,脚本代码的复杂度为1时,复杂度阈值为2,则将该脚本代码编写在监控脚本中,若脚本代码的复杂度为4,复杂度阈值为2,则将该脚本代码编写在库脚本中。在本发明也还可以是通过脚本代码是否常用来确定脚本代码是否编写在库脚本中,若脚本代码为常用脚本代码,则编写在库脚本中,为不常用脚本代码,则编写在监控脚本或库脚本中,判断是否为常用脚本代码的过程可以通过脚本代码的使用率来判断,即在脚本代码的使用率超过预设使用率阈值(例如,为70%或60%等)时,判断为常用脚本代码。通过将常用、复杂度高的脚本代码编写在库脚本中,而不编写在监控脚本中,将监控脚本的编写变得更加简单,高效。
本实施例通过将复杂的脚本代码编入库脚本中,在更新时,将库脚本复制到所有服务器即可,操作过程简单。有效避免在现有的这种监控脚本的编写方式下,需要熟悉脚本语言才能完成监控脚本的编写,且每次对监控脚本增加功能都需要更新所有脚本。导致监控脚本的编写过程复杂、难度高,使得监控脚本的编写效率差的问题。降低了监控脚本的编写过程的复杂度、难度,提高了监控监本的编写效率。
进一步地,基于上述监控脚本的运行方法的第一实施例,提出本发明的第二实施例。如图5所示,所述步骤S30之后,还可以包括:
步骤S40,在监测到所述待监测应用程序的运行状态为异常时,通过调用库脚本功能检查接口读取与所述待检测应用程序对应的启动全局变量,以通过所述启动全局变量重新启动所述待监测应用程序。
在功能检查接口发现应用程序运行异常时,会先kill(杀死)应用程序的程序名,再通过调用库脚本功能检查接口读取与所述待检测应用程序对应的启动全局变量,即通过使用${程序启动命令}重启运行异常的应用程序。
本实施例,通过将复杂的脚本代码编写在库脚本中,通过简单的监控监本调用库脚本中的全局变量,来完成监控脚本的运行,即完成应用程序的监控和重启操作,使得监控脚本的编写更加简单,提高了监控脚本的编写效率。
上述第一至第二实施例的监控监本的运行方法的执行主体均可以为终端。更进一步地,该监控监本的运行方法可以由安装在终端上的客户端基于监控监本的运行程序(例如,监控监本的运行监测软件或监控脚本等)实现,其中,该终端包括但不限于手机、pad、掌上电脑、笔记本等。
对应地,基于上述监控脚本的运行方法的实施例,提出本发明监控脚本的运行装置的较佳实施例。参考图5,所述监控脚本的运行装置包括加载模块10、处理模块20、参数传入模块30、读取模块40、监测模块50、接发模块60、设置模块70、存储模块80、更新模块90及编写模块100。
所述加载模块10,用于在启动应用程序监测功能后,加载库脚本;
所述处理模块20,用于确定所述待监测应用程序;
参考图3,库脚本包括至少一个全局变量,一个传参数接口,至少一个功能检查接口。
全局变量包括:${程序名}、${程序监听端口}、${程序启动命令}等,初始值设置为空;
传参数接口函数:用于更新全局变量;
功能检查接口分为多个(以下涉及一些基本Linux命令):
功能检查接口1(程序是否运行):ps-ef|grep${程序名}|wc-|;
功能检查接口2(程序监听端口):nc${本机IP$|程序监听端口|;
功能检查接口3(程序日志状态):stat-c“%¥”日志文件。在本发明其他实施例中功能检查接口不仅上述3个,可以根据系统中实际情况不断添加,例如可以增加http服务检查接口,接口实现方法可以用curl工具探测80端口是否正常,当然也还可以增加其他功能检查接口。
启动应用程序检测功能的启动触发可以包括:在接收到启动应用程序检测功能指令时所述启动触发;预设一时间间隔(例如,1分钟、2分钟等),在预设时间间隔到达时所述启动触发;在应用程序启动时所述启动触发等触发方式,可以是上述列举的方式的结合,例如,在应用程序启动时所述启动触发,在应用程序运行过程中通过预设时间间隔来触发。
监控脚本的编写通常只有3-6行代码:
加载库脚本,1行代码,内容固定;
调用传参数接口(把程序的特征传入库脚本,1行代码,内容需根据程序情况自定义);
调用功能检查接口(可多个,一般为1-4行,内容固定可选)。监控脚本是极其简单,但需要根据程序实际情况自定义内容的。
在启动应用程序检测功能后,加载模块10加载库脚本并通过处理模块20确定所述待检测应用程序。所述待检测应用程序可以为1个或多个,根据实际情况所需来完成某个或某些应用程序的监测。
所述参数传入模块30,用于在库脚本加载成功后,通过调用库脚本的传参数接口将待监测应用程序的参数传入库脚本;
在库脚本加载成功后,通过调用库脚本的传参数接口将待检测应用程序的参数传入库脚本。所述应用程序的参数包括但不限于应用程序的程序名、程序运行代码等。通过把程序的特征传入库脚本,内容根据程序情况自定义,完成对应用程序的监测。
所述读取模块40,用于通过调用库脚本的功能检查接口读取与所述待监测应用程序对应的监测全局变量;
所述监测模块50,用于监测所述待监测应用程序的运行状态,以完成监控脚本的运行。
所述接发模块60,用于接收全局变量设置指令;
所述设置模块70,用于设置于所述全局变量设置指令对应的全局变量;
所述存储模块80,用于将所设置的全局变量保存在所述库脚本中。所述全局变量为通用的、常用的变量。
通过调用库脚本的功能检查接口读取与所述待监测应用程序对应的监测全局变量,监测所述待监测应用程序的运行状态,即监测待监测应用程序是否运行正常,以完成监控脚本的运行。监控脚本:检查应用程序是否正常运行的脚本。
在本发明其他实施例中还可以通过调用功能检查接口2(程序监听端口):nc${本机IP$|程序监听端口|对所述待监测应用程序进行监听,即监听所述待监测应用程序是否运行正常。在侦听所述待监测应用程序是否正常运行的过程之前,还可以是:通过功能检查接口1(程序是否运行):ps-ef|grep${程序名}|wc-|来监测应用程序是否运行。也还可以是通过功能检查接口3(程序日志状态):stat-c“%¥”日志文件监测应用程序运行过程中的情况,对程序运行的过程进行监测。
所述更新模块90,用于在更新功能检查接口逻辑时,启动功能检查接口逻辑的更新操作,批量复制库脚本至所有应用服务器上,即将常用的全局变量封装在库脚本中,通过简单的复制操作发布到全网。
所述接发模块60,还用于接收脚本代码设置指令;所述处理模块20,还用于确定所述脚本代码设置指令对应的脚本代码;
所述编写模块100,用于将复杂度大于预设复杂度阈值的脚本代码封装在库脚本中;还用于将复杂度小于或等于预设复杂度阈值的脚本封装在监控脚本中。
接发模块60接收脚本代码设置指令,处理模块20确定所述脚本代码设置指令对应的脚本代码,所述脚本代码包括但不限于对应用程序监测的简单的脚本代码和复杂的脚本代码。提前预设复杂度阈值,所述复杂度阈值可以是2或3等,也还可是二级或三级等,在设置脚本代码时,编写模块80判断需要设置的脚本代码的复杂度是否大于预设复杂度阈值,编写模块80在需设置的脚本代码的复杂度大于预设复杂度阈值时,将复杂度大于预设复杂度阈值的脚本代码封装在库脚本中;编写模块80将复杂度小于或等于预设复杂度阈值的脚本封装在监控脚本中。例如,脚本代码的复杂度为1时,复杂度阈值为2,则将该脚本代码编写在监控脚本中,若脚本代码的复杂度为4,复杂度阈值为2,则将该脚本代码编写在库脚本中。在本发明也还可以是通过脚本代码是否常用来确定脚本代码是否编写在库脚本中,若脚本代码为常用脚本代码,则编写在库脚本中,为不常用脚本代码,则编写在监控脚本或库脚本中,判断是否为常用脚本代码的过程可以通过脚本代码的使用率来判断,即在脚本代码的使用率超过预设使用率阈值(例如,为70%或60%等)时,判断为常用脚本代码。通过将常用、复杂度高的脚本代码编写在库脚本中,而不编写在监控脚本中,将监控脚本的编写变得更加简单,高效。
本实施例通过将复杂的脚本代码编入库脚本中,在更新时,将库脚本复制到所有服务器即可,操作过程简单。有效避免在现有的这种监控脚本的编写方式下,需要熟悉脚本语言才能完成监控脚本的编写,且每次对监控脚本增加功能都需要更新所有脚本。导致监控脚本的编写过程复杂、难度高,使得监控脚本的编写效率差的问题。降低了监控脚本的编写过程的复杂度、难度,提高了监控监本的编写效率。
进一步地,所述读取模块40,还用于在监测到所述待监测应用程序的运行状态为异常时,通过调用库脚本功能检查接口读取与所述待检测应用程序对应的启动全局变量,以通过所述启动全局变量重新启动所述待监测应用程序。
在功能检查接口发现应用程序运行异常时,处理模块20会先kill(杀死)应用程序的程序名,再通过读取模块40调用库脚本功能检查接口读取与所述待检测应用程序对应的启动全局变量,即通过使用${程序启动命令}重启运行异常的应用程序。
本实施例,通过将复杂的脚本代码编写在库脚本中,通过简单的监控监本调用库脚本中的全局变量,来完成监控脚本的运行,即完成应用程序的监控和重启操作,使得监控脚本的编写更加简单,提高了监控脚本的编写效率。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

Claims (11)

1.一种监控脚本的运行方法,其特征在于,应用于安装监控脚本的终端,包括步骤:
在启动应用程序监测功能后,通过监控脚本加载库脚本并确定待监测应用程序;
在库脚本加载成功后,所述监控脚本通过调用库脚本的传参数接口将待监测应用程序的参数传入库脚本;
通过所述监控脚本调用库脚本的功能检查接口读取与所述待监测应用程序对应的监测全局变量,所述监控脚本监测所述待监测应用程序的运行状态,以完成监控脚本的运行;
其中,所述监控脚本中编写有复杂度小于等于预设复杂度阈值、且在功能检查接口逻辑更新时不被执行更新操作的脚本代码,所述库脚本中存储有复杂度大于预设复杂度阈值的脚本代码,所述库脚本存储在服务器中。
2.如权利要求1所述的监控脚本的运行方法,其特征在于,所述通过所述监控脚本调用库脚本的功能检查接口读取与所述待监测应用程序对应的全局变量,所述监控脚本监测所述应用程序的运行状态,以完成监控脚本的运行的步骤之后,还包括:
在监测到所述待监测应用程序的运行状态为异常时,通过调用库脚本功能检查接口读取与所述待监测 应用程序对应的启动全局变量,以通过所述启动全局变量重新启动所述待监测应用程序。
3.如权利要求1或2所述的监控脚本的运行方法,其特征在于,所述通过监控脚本加载库脚本并确定待监测应用程序的步骤之前,还包括:
接收全局变量设置指令,设置与所述全局变量设置指令对应的全局变量并保存在所述库脚本中。
4.如权利要求1或2所述的监控脚本的运行方法,其特征在于,所述通过监控脚本加载库脚本并确定待监测应用程序的步骤之前,还包括:
接收脚本代码设置指令,确定所述脚本代码设置指令对应的脚本代码;
将复杂度大于预设复杂度阈值的脚本代码封装在库脚本中;
将复杂度小于或等于预设复杂度阈值的脚本代码封装在监控脚本中。
5.如权利要求1或2所述的监控脚本的运行方法,其特征在于,所述监控脚本的运行方法还包括:
启动功能检查接口逻辑的更新操作,批量复制库脚本发布至所有应用服务器上。
6.一种监控脚本的运行装置,其特征在于,应用于安装监控脚本的终端,包括:
加载模块,用于在启动应用程序监测功能后,通过监控脚本加载库脚本;
处理模块,用于所述监控脚本确定待监测应用程序;
参数传入模块,用于在库脚本加载成功后,所述监控脚本通过调用库脚本的传参数接口将待监测应用程序的参数传入库脚本;
读取模块,用于通过所述监控脚本调用库脚本的功能检查接口读取与所述待监测应用程序对应的监测全局变量;
监测模块,用于所述监控脚本监测所述待监测应用程序的运行状态,以完成监控脚本的运行;
其中,所述监控脚本中编写有复杂度小于等于预设复杂度阈值、且在功能检查接口逻辑更新时不被执行更新操作的脚本代码,所述库脚本中存储有复杂度大于预设复杂度阈值的脚本代码,所述库脚本存储在服务器中。
7.如权利要求6所述的监控脚本的运行装置,其特征在于,所述读取模块,还用于在监测到所述待监测应用程序的运行状态为异常时,通过调用库脚本功能检查接口读取与所述待监测 应用程序对应的启动全局变量,以通过所述启动全局变量重新启动所述待监测应用程序。
8.如权利要求6或7所述的监控脚本的运行装置,其特征在于,所述监控脚本的运行装置还包括接发模块、设置模块和存储模块,
所述接发模块,用于接收全局变量设置指令;
所述设置模块,用于设置,设置与所述全局变量设置指令对应的全局变量;
所述存储模块,用于将所设置的全局变量保存在所述库脚本中。
9.如权利要求8所述的监控脚本的运行装置,其特征在于,所述监控脚本的运行装置还包括编写模块,
所述接发模块,还用于接收脚本代码设置指令;
所述处理模块,还用于确定所述脚本代码设置指令对应的脚本代码;
所述编写模块,用于将复杂度大于预设复杂度阈值的脚本代码封装在库脚本中;还用于将复杂度小于或等于预设复杂度阈值的脚本代码封装在监控脚本中。
10.如权利要求8所述的监控脚本的运行装置,其特征在于,所述监控脚本的运行装置还包括更新模块,用于启动功能检查接口逻辑的更新操作,批量复制库脚本发布至所有应用服务器上。
11.一种存储介质,其特征在于,其上存储有计算机指令,所述计算机指令被执行时用于实现如权利要求1-5任一项所述的监控脚本的运行方法。
CN201510204468.7A 2015-04-27 2015-04-27 监控脚本的运行方法及装置 Active CN104809045B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510204468.7A CN104809045B (zh) 2015-04-27 2015-04-27 监控脚本的运行方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510204468.7A CN104809045B (zh) 2015-04-27 2015-04-27 监控脚本的运行方法及装置

Publications (2)

Publication Number Publication Date
CN104809045A CN104809045A (zh) 2015-07-29
CN104809045B true CN104809045B (zh) 2021-01-05

Family

ID=53693890

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510204468.7A Active CN104809045B (zh) 2015-04-27 2015-04-27 监控脚本的运行方法及装置

Country Status (1)

Country Link
CN (1) CN104809045B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105117265B (zh) * 2015-09-17 2019-02-15 珠海豹趣科技有限公司 一种文件升级的方法、装置和终端
CN105354126B (zh) * 2015-10-13 2018-07-27 金蝶软件(中国)有限公司 监控页面脚本文件中异常的方法和装置
CN105515913A (zh) * 2015-12-23 2016-04-20 北京奇虎科技有限公司 一种设备性能的监控方法和装置
CN106293983B (zh) * 2016-08-09 2019-06-07 厦门天锐科技股份有限公司 一种检测服务器是否正常运行的方法
CN106817411B (zh) * 2016-12-28 2020-06-02 华为技术有限公司 业务访问请求的处理方法和相关设备
CN110177300B (zh) * 2019-05-23 2021-12-28 北京字节跳动网络技术有限公司 程序运行状态的监控方法、装置、电子设备和存储介质
CN111064769A (zh) * 2019-11-06 2020-04-24 江苏三希科技股份有限公司 一种电量集中器的远程调试方法、系统及设备
CN113553230A (zh) * 2021-06-30 2021-10-26 珠海豹趣科技有限公司 应用程序性能监控方法、装置、存储介质及电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1114861C (zh) * 1994-04-05 2003-07-16 英特尔公司 监视与控制网络中的程序的方法与装置
US7987497B1 (en) * 2004-03-05 2011-07-26 Microsoft Corporation Systems and methods for data encryption using plugins within virtual systems and subsystems
CN102831043A (zh) * 2011-06-17 2012-12-19 阿里巴巴集团控股有限公司 应用程序监控方法和装置
CN102937930A (zh) * 2012-09-29 2013-02-20 重庆新媒农信科技有限公司 应用程序监控系统及方法
CN103810424A (zh) * 2012-11-05 2014-05-21 腾讯科技(深圳)有限公司 一种异常应用程序的识别方法及装置
JP2014203181A (ja) * 2013-04-03 2014-10-27 三菱電機株式会社 障害診断装置およびプログラム
CN104408367A (zh) * 2014-11-28 2015-03-11 北京奇虎科技有限公司 应用程序配置方法与装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102622289B (zh) * 2011-01-26 2015-03-18 阿里巴巴集团控股有限公司 程序设置方法、程序监控方法与装置、系统
CN103092732B (zh) * 2013-01-23 2016-08-17 加弘科技咨询(上海)有限公司 利用脚本动态监控设备的系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1114861C (zh) * 1994-04-05 2003-07-16 英特尔公司 监视与控制网络中的程序的方法与装置
US7987497B1 (en) * 2004-03-05 2011-07-26 Microsoft Corporation Systems and methods for data encryption using plugins within virtual systems and subsystems
CN102831043A (zh) * 2011-06-17 2012-12-19 阿里巴巴集团控股有限公司 应用程序监控方法和装置
CN102937930A (zh) * 2012-09-29 2013-02-20 重庆新媒农信科技有限公司 应用程序监控系统及方法
CN103810424A (zh) * 2012-11-05 2014-05-21 腾讯科技(深圳)有限公司 一种异常应用程序的识别方法及装置
JP2014203181A (ja) * 2013-04-03 2014-10-27 三菱電機株式会社 障害診断装置およびプログラム
CN104408367A (zh) * 2014-11-28 2015-03-11 北京奇虎科技有限公司 应用程序配置方法与装置

Also Published As

Publication number Publication date
CN104809045A (zh) 2015-07-29

Similar Documents

Publication Publication Date Title
CN104809045B (zh) 监控脚本的运行方法及装置
CN108121559B (zh) 配置文件推送方法、服务器及存储介质
CN105302711B (zh) 一种应用修复方法、装置及终端
CN108733553B (zh) 基于docker的测试装置的配置方法、装置和系统
CN100492300C (zh) 在微处理器实现的设备上执行进程的系统和方法
CN110113391B (zh) 一种客户端上线方法、装置及一种客户端运行方法、装置
US10372908B2 (en) System and method for detecting malware in a stream of bytes
CN109743359B (zh) Hybrid通讯处理方法、装置、计算机设备及存储介质
US20150331784A1 (en) System and method for controlling test script execution by smartphone
US11055416B2 (en) Detecting vulnerabilities in applications during execution
CN103064705B (zh) 计算机系统启动处理方法与装置
CN104598267A (zh) 应用的调起方法及装置
CN110837383B (zh) 应用免安装升级方法及装置
CN113051088A (zh) 程序加载方法、装置、设备及计算机可读介质
CN109408133B (zh) 一种启动组件的方法和设备
CN113127329B (zh) 脚本调试方法、装置及计算机存储介质
CN109783261B (zh) 终端应用的崩溃处理方法及装置、电子设备、存储介质
WO2020117222A1 (en) Comparisons of application programming interface interactions to determine compatibilities
CN107704279B (zh) 一种数据加载方法以及装置
CN114443065A (zh) 平台部署方法、装置、电子设备和存储介质
CN114047933A (zh) 多开Android应用的方法、装置、设备和介质
CN111190725B (zh) 任务处理方法、装置、存储介质及服务器
CN113282363A (zh) 一种优化混合app的方法及装置
CN112596751A (zh) 应用程序安装包的编译方法、终端、服务器及存储介质
KR101420026B1 (ko) 부팅 프로세스 중에 파일들을 로딩하기 위한 방법, 장치 및 컴퓨터 판독가능 저장 매체

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant