一种信息处理方法、装置及计算机可读存储介质与流程

文档序号:24034199发布日期:2021-02-23 14:25阅读:61来源:国知局
一种信息处理方法、装置及计算机可读存储介质与流程

[0001]
本发明涉及计算机技术领域,具体涉及一种信息处理方法、装置及计算机可读存储介质。


背景技术:

[0002]
脚本是使用一种特定的描述性语言,依据一定的格式编写的可执行文件。在互联网应用开发中,为了满足业务需求,有部分逻辑需要以脚本形式运行在设备上。脚本在运行过程中会出现各种问题导致脚本执行失败。因此,在脚本运行过程中能够及时解决出现的问题,需要工作人员实时监控脚本的运行情况。


技术实现要素:

[0003]
本发明实施例公开一种信息处理方法、装置及计算机可读存储介质,用于解决在脚本运行过程中能够及时解决出现的问题,需要工作人员实时监控脚本运行情况的问题。
[0004]
本发明实施例第一方面公开一种信息处理方法,包括:
[0005]
获取托管脚本;
[0006]
运行所述托管脚本;
[0007]
记录所述托管脚本的运行情况;
[0008]
根据所述运行情况判断所述托管脚本是否成功执行;
[0009]
当所述托管脚本未成功执行时,输出用于提示用户所述托管脚本存在问题的第一提示信息。
[0010]
作为一种可能的实现方式,所述获取托管脚本包括:
[0011]
获取托管脚本和所述托管脚本对应的间隔时间;
[0012]
所述方法还包括:
[0013]
当所述托管脚本成功执行时,判断所述托管脚本是否为循环执行脚本;
[0014]
当所述托管脚本为循环执行脚本时,等待所述间隔时间,运行所述托管脚本。
[0015]
作为一种可能的实现方式,所述判断所述托管脚本是否为循环执行脚本包括:
[0016]
判断所述间隔时间是否大于第一阈值,当所述间隔时间大于所述第一阈值时,确定所述托管脚本为循环执行脚本。
[0017]
作为一种可能的实现方式,所述获取托管脚本包括:
[0018]
获取托管脚本和所述托管脚本对应的超时时间;
[0019]
所述方法还包括:
[0020]
记录所述托管脚本的运行时间;
[0021]
判断所述运行时间是否大于所述超时时间;
[0022]
当所述运行时间大于所述超时时间时,输出用于提示用户所述托管脚本运行超时的第二提示信息。
[0023]
作为一种可能的实现方式,当所述运行时间大于所述超时时间时,所述方法还包
括:
[0024]
终断所述托管脚本的运行。
[0025]
作为一种可能的实现方式,所述方法还包括:
[0026]
判断所述托管脚本是否为单次执行脚本,当所述托管脚本为单次执行脚本时,记录所述托管脚本的运行时间。
[0027]
作为一种可能的实现方式,所述判断所述托管脚本是否为单次执行脚本包括:
[0028]
判断所述超时时间是否大于第二阈值,当所述超时时间大于所述第二阈值时,确定所述托管脚本为单次执行脚本。
[0029]
本发明实施例第二方面公开一种信息处理装置,包括:
[0030]
获取单元,用于获取托管脚本;
[0031]
运行单元,用于运行所述托管脚本;
[0032]
记录单元,用于记录所述托管脚本的运行情况;
[0033]
判断单元,用于根据所述运行情况判断所述托管脚本是否成功执行;
[0034]
输出单元,用于当所述托管脚本未成功执行时,输出用于提示用户所述托管脚本存在问题的第一提示信息。
[0035]
作为一种可能的实现方式,所述获取单元,具体用于获取托管脚本和所述托管脚本对应的间隔时间;
[0036]
所述判断单元,还用于当所述托管脚本成功执行时,判断所述托管脚本是否为循环执行脚本;
[0037]
所述装置还包括:
[0038]
等待单元,用于当所述托管脚本为循环执行脚本时,等待所述间隔时间,触发所述运行单元运行所述托管脚本。
[0039]
作为一种可能的实现方式,所述判断单元判断所述托管脚本是否为循环执行脚本包括:
[0040]
判断所述间隔时间是否大于第一阈值,当所述间隔时间大于所述第一阈值时,确定所述托管脚本为循环执行脚本。
[0041]
作为一种可能的实现方式,所述获取单元,具体用于获取托管脚本和所述托管脚本对应的超时时间;
[0042]
所述记录单元,还用于记录所述托管脚本的运行时间;
[0043]
所述判断单元,还用于判断所述运行时间是否大于所述超时时间;
[0044]
所述输出单元,还用于当所述运行时间大于所述超时时间时,输出用于提示用户所述托管脚本运行超时的第二提示信息。
[0045]
作为一种可能的实现方式,所述装置还包括:
[0046]
终断单元,用于当所述运行时间大于所述超时时间时,终断所述托管脚本的运行。
[0047]
作为一种可能的实现方式,所述判断单元,还用于判断所述托管脚本是否为单次执行脚本,当所述托管脚本为单次执行脚本时,触发所述记录单元记录所述托管脚本的运行时间。
[0048]
作为一种可能的实现方式,所述判断单元判断所述托管脚本是否为单次执行脚本包括:
[0049]
判断所述超时时间是否大于第二阈值,当所述超时时间大于所述第二阈值时,确定所述托管脚本为单次执行脚本。
[0050]
本发明实施例第三方面公开了一种信息处理装置,包括处理器和存储器,所述处理器和所述存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括计算机程序指令,所述处理器用于调用所述计算机程序指令,执行本发明实施例第一方面或第一方面任一可能的实现方式公开的信息处理方法。
[0051]
本发明实施例第四方面公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括计算机程序指令,所述计算机程序指令当被处理器执行时使所述处理器执行本发明实施例第一方面或第一方面任一可能的实现方式公开的信息处理方法。
[0052]
本发明实施例第五方面公开了一种应用程序,该应用程序用于在运行时执行本发明实施例第一方面或第一方面任一可能的实现方式公开的信息处理方法。
[0053]
本发明实施例中,获取托管脚本,运行托管脚本,记录托管脚本的运行情况,根据运行情况判断托管脚本是否成功执行,当托管脚本未成功执行时,输出用于提示用户托管脚本存在问题的第一提示信息。可见,在脚本运行过程中可以对脚本运行情况进行实时记录,从而可以实现对脚本运行的自动监控。此外,在脚本未运行成功的情况,可以输出提示信息,以便用户可以根据提示信息快速、及时地解决脚本运行中遇到的问题。
附图说明
[0054]
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0055]
图1是本发明实施例公开的一种信息处理方法的流程示意图;
[0056]
图2是本发明实施例公开的另一种信息处理方法的流程示意图;
[0057]
图3是本发明实施例公开的一种信息处理装置的结构示意图;
[0058]
图4是本发明实施例公开的另一种信息处理装置的结构示意图。
具体实施方式
[0059]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0060]
本发明实施例公开一种信息处理方法、装置及计算机可读存储介质,用于解决在脚本运行过程中能够及时解决出现的问题,需要工作人员实时监控脚本运行情况的问题。以下分别进行详细说明。
[0061]
为了更好地理解本发明实施例公开的一种信息处理方法及装置,下面先对本发明使用的用语进行介绍。
[0062]
1、脚本
[0063]
脚本是批处理文件的延伸,是一种纯文本保存的程序。一般来说,脚本程序是确定
的一系列控制计算机、服务器等设备进行运算操作的动作的集合,使用某种特定的描述性语言,依据一定的格式编写的可执行文件,可以实现一定的逻辑分支。
[0064]
2、supervisor
[0065]
supervisor是由达内(python)开发的,在linux/unix操作系统上的一个通用进程监控管理工具。可用于管理和监控linux/unix上的进程,能将一个普通的命令行进程变为后台精灵虚拟光驱(daemon),并监控进程状态,异常退出时能自动重启。
[0066]
3、命令(crontab)
[0067]
crontab是linux/unix系统上的一个命令,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。通常,crontab储存的指令被守护进程激活。
[0068]
4、托管程序
[0069]
在计算机领域中,托管程序通常指由系统提供程序相关的维护、运行、监控管理等服务的程序,无需自身实现。例如:supervisor托管进程等。
[0070]
为了更好地理解本发明实施例公开的一种信息处理方法及装置,下面先对本发明的应用场景进行介绍。
[0071]
在应用(application,app)/全球广域网(world wide web,web)等互联网应用开发中,通常有一部分逻辑需要以脚本形式运行在服务器上,如定时任务、异步任务、常驻任务等,以满足业务需求。脚本形式具有丰富多样性,会根据研发人员的编程风格而迥异,没有统一的规范。此外,有些脚本是一次性的,用于临时执行某些特定逻辑。在实际应用中,脚本执行通常会出现程序执行崩溃、卡死、超时、无限循环、异常退出等问题,但倘若针对每个脚本定制开发异常监控、防卡死机制、超时检查等逻辑,未免有些“重复造轮子”,研发效率低。
[0072]
目前,为了解决上述问题可以采用以下方式。
[0073]
1、人工运行
[0074]
通常用于处理紧急事务,临时执行某些特定逻辑的一次性脚本。在人工确认无误后可以直接在设备上执行。由于人工运行脚本是为了快速实现功能而迅速开发的脚本,因此,降低了脚本运行的安全性。
[0075]
2、crontab任务
[0076]
crontab任务是linux/unix系统提供的一种定时任务功能,通过crontab命令设置周期性被执行的指令集合,可定时运行脚本程序。例如,系统每隔1分钟可以检查是否有待执行的作业任务。通常用于逻辑相对简单的脚本运行,仅提供定时执行功能,而脚本崩溃、卡死、异常退出等情况则不易被发现。
[0077]
3、supervisor托管
[0078]
supervisor托管是最常用的脚本托管工具,功能比较丰富。但配置参数较为复杂,且当更新配置/脚本逻辑时需重启supervisor服务才能生效。在重启时会中断未执行完的脚本进程导致异常退出。
[0079]
因此,如何实现对所有脚本运行问题的监控已成为一个亟待解决的技术问题。
[0080]
请参阅图1,图1是本发明实施例公开的一种信息处理方法的流程示意图。其中,该信息处理方法可以应用于能够运行脚本、支持脚本超时中断、防卡死机制、定时执行、日志
收集、异常监控、报警等功能的应用或设备。如图1所示,该信息处理方法可以包括以下步骤。
[0081]
101、获取托管脚本。
[0082]
当需要运行托管脚本时,可以获取托管脚本。当接收到用于运行托管脚本的运行指令,或者检测到生成的用于运行托管脚本的运行指令,或者当当前时间为预设时间时,可以认为需要运行托管脚本。接收的运行指令可以为用户输入的,也可以为其它设备发送的。托管脚本可以存储在本地,也可以存储在其它设备。因此,可以从本地获取托管脚本,也可以从其它设备获取托管脚本。
[0083]
102、运行托管脚本。
[0084]
获取到托管脚本之后,可以运行托管脚本,即执行托管脚本,也即运行托管脚本逻辑,也即运行业务相关逻辑。
[0085]
103、记录托管脚本的运行情况。
[0086]
运行托管脚本之后,可以记录托管脚本的运行情况,即在托管脚本运行过程中可以监控托管脚本的运行情况,也即将托管脚本运行日志统一输出到指定的日志收集路径。运行情况可以包括运行状态和运行结果。运行状态可以为正在运行,也可以为结束运行,即运行完成。运行结果可以包括最终结果,也可以包括中间结果和最终结果,还可以包括从运行开始到运行结束产生的所有警告、中断的信息,还可以包括运行结束时执行的代码在托管脚本中的位置。当托管脚本执行失败时,运行结果还可以包括脚本运行失败的原因。
[0087]
104、根据运行情况判断托管脚本是否成功执行,当判断出托管脚本未成功执行时,执行步骤105。
[0088]
可以根据运行情况判断托管脚本是否成功执行。可以先判断运行状态是否为结束运行,当判断出运行状态为正在运行时,可以继续执行步骤103。当判断出运行状态为结束运行时,可以根据运行结果继续判断托管脚本是否成功执行。当判断出托管脚本未成功执行时,表明托管脚本在运行过程中出现了问题,可以执行步骤105。当判断出托管脚本成功执行时,可以结束。
[0089]
可以根据运行结束时正在执行的代码在托管脚本中的位置进行判断。可以判断运行结束时正在执行的代码是否处于托管脚本的末尾位置,当运行结束时正在执行的代码处于托管脚本的末尾位置时,可以确定托管脚本成功执行。当运行结束时正在执行的代码处于托管脚本的非末尾时,可以确定托管脚本未成功执行。
[0090]
也可以根据最终结果进行判断。可以判断最终结果是否为预设值(或预设范围,或预设信息),当判断出最终结果为预设值(或预设范围,或预设信息)时,可以确定托管脚本成功执行。当判断出最终结果不是预设值(或预设范围,或预设信息)时,可以确定托管脚本未成功执行,即执行失败。
[0091]
还可以根据最终结果和中间结果进行判断,还可以根据其它信息判断,还可以根据上述信息的不同组合进行判断,在此不加限定。
[0092]
105、输出用于提示用户托管脚本存在问题的第一提示信息。
[0093]
当判断出托管脚本未成功执行时,可以输出用于提示用户托管脚本存在问题的第一提示信息。输出第一信息,可以为在显示屏上显示第一提示信息,也可以向其它设备发送第一提示信息,还可以向用户的邮箱、用户的手机号对应的手机、用户的即时通信应用等发
送第一提示信息,还可以输出警告。
[0094]
在图1所描述的信息处理方法中,获取托管脚本,运行托管脚本,记录托管脚本的运行情况,根据运行情况判断托管脚本是否成功执行,当托管脚本未成功执行时,输出用于提示用户托管脚本存在问题的第一提示信息。可见,在脚本运行过程中可以对脚本运行情况进行实时记录,从而可以实现对脚本运行的自动监控。此外,在脚本未运行成功的情况,可以输出提示信息,以便用户可以根据提示信息快速地解决脚本运行中遇到的问题。
[0095]
请参阅图2,图2是本发明实施例公开的另一种信息处理方法的流程示意图。其中,该信息处理方法可以应用于能够运行脚本、支持脚本超时中断、防卡死机制、定时执行、日志收集、异常监控、报警等功能的应用或设备。如图2所示,该信息处理方法可以包括以下步骤。
[0096]
201、获取托管脚本、托管脚本对应的间隔时间和超时时间。
[0097]
当需要运行托管脚本时,可以获取托管脚本、托管脚本对应的间隔时间和超时时间。步骤201的详细描述可以参考步骤101。
[0098]
202、运行托管脚本。
[0099]
获取到托管脚本、托管脚本对应的间隔时间和超时时间之后,可以运行托管脚本,即执行托管脚本,也即运行托管脚本逻辑,也即运行业务相关逻辑。
[0100]
203、记录托管脚本的运行情况。
[0101]
其中,步骤203与步骤103相同,详细描述可以参考步骤103。
[0102]
204、根据运行情况判断托管脚本是否成功执行,当判断出托管脚本未成功执行时,执行步骤205,当判断出托管脚本成功执行时,执行步骤206。
[0103]
可以根据运行情况判断托管脚本是否成功执行。可以先判断运行状态是否为结束运行,当判断出运行状态为正在运行时,可以继续执行步骤203。当判断出运行状态为结束运行时,可以根据运行结果继续判断托管脚本是否成功执行。当判断出托管脚本未成功执行时,表明托管脚本在运行过程中出现了问题,可以执行步骤205。当判断出托管脚本成功执行时,表明托管脚本在运行过程中没有出现任何问题,可以执行步骤206。步骤204的详细描述可以参考步骤104。
[0104]
205、输出用于提示用户托管脚本存在问题的第一提示信息。
[0105]
其中,步骤205与步骤105相同,详细描述可以参考步骤105。
[0106]
206、判断托管脚本是否为循环执行脚本,当判断出托管脚本为循环执行脚本时,执行步骤207。
[0107]
当判断出托管脚本成功执行时,可以判断托管脚本是否为循环执行脚本,当判断出托管脚本为循环执行脚本时,可以执行步骤207,当判断出托管脚本为单次执行脚本时,可以结束。
[0108]
可以判断托管脚本对应的间隔时间是否大于第一阈值,当判断出托管脚本对应的间隔时间大于第一阈值时,可以确定托管脚本为循环执行脚本。当判断出托管脚本对应的间隔时间小于或等于第一阈值时,可以确定托管脚本为单次执行脚本。
[0109]
207、等待间隔时间。
[0110]
当判断出托管脚本为循环执行脚本时,可以等待间隔时间,即进入休眠状态,之后可以再次执行步骤202。
[0111]
208、记录托管脚本的运行时间。
[0112]
在托管脚本的运行过程中,可以记录托管脚本的运行时间,即可以确定当前时间与托管脚本开始运行的时间之间的时间间隔。
[0113]
在一种情况下,不管托管脚本为单次执行脚本还是为循环执行脚本,均需要进行超时判断。
[0114]
在另一种情况下,只有当托管脚本为单次执行脚本时,才需要进行超时判断。因此,可以先判断托管脚本是否为单次执行脚本,当托管脚本为单次执行脚本时,可以记录托管脚本的运行时间。当判断出托管脚本为循环执行脚本时,可以不执行步骤208-211。可以判断托管脚本对应的超时时间是否大于第二阈值,当判断出超时时间大于第二阈值时,可以确定托管脚本为单次执行脚本;当判断出超时时间小于或等于第二阈值时,可以确定托管脚本为循环执行脚本。
[0115]
209、判断运行时间是否大于超时时间,当判断出运行时间大于超时时间,执行步骤210和步骤211,当判断出运行时间小于或等于超时时间,执行步骤208。
[0116]
运行托管脚本之后,可以周期性地,如每隔1s,判断运行时间是否大于超时时间,当判断出运行时间大于超时时间,表明托管脚本的运行时间已经超过了最大允许运行时间,可以执行步骤210和步骤211,当判断出运行时间小于或等于超时时间,可以继续执行步骤208-步骤209。
[0117]
210、输出用于提示用户托管脚本运行超时的第二提示信息。
[0118]
其中,输出第二提示信息的描述可以参考输出第一提示信息的描述。
[0119]
211、终断托管脚本的运行。
[0120]
当判断出运行时间大于超时时间时,可以终断托管脚本的运行,即强制停止托管脚本的运行,且后续不会恢复。
[0121]
其中,步骤210与步骤211可以串行执行,也可以并行执行。
[0122]
应理解,步骤208-步骤210可以由主进程执行,而步骤202-步骤207可以由子进程执行。子进程是通过复制主进程得到的。
[0123]
在图2所描述的信息处理方法中,在脚本运行过程中可以对脚本运行情况进行实时记录,从而可以实现对脚本运行的自动监控。此外,在脚本未运行成功的情况,可以输出提示信息,以便用户可以根据提示信息快速地解决脚本运行中遇到的问题。在配置好相关参数,如超时时间和间隔时间,的情况下,就可以实现对脚本的托管。
[0124]
请参阅图3,图3是本发明实施例公开的一种信息处理装置的结构示意图。其中,该信息处理装置可以为能够运行脚本、支持脚本超时中断、防卡死机制、定时执行、日志收集、异常监控、报警等功能的应用或设备。如图3所示,该信息处理装置可以包括:
[0125]
获取单元301,用于获取托管脚本;
[0126]
运行单元302,用于运行托管脚本;
[0127]
记录单元303,用于记录托管脚本的运行情况;
[0128]
判断单元304,用于根据运行情况判断托管脚本是否成功执行;
[0129]
输出单元305,用于当托管脚本未成功执行时,输出用于提示用户托管脚本存在问题的第一提示信息。
[0130]
在一个实施例中,获取单元301,具体用于获取托管脚本和托管脚本对应的间隔时
array,fpga)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其他任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框、模板和电路。处理器401也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合得到。
[0149]
总线404可以是外设部件互联标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。总线404可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0150]
除了图4所示的处理器401、存储器402、输出装置403和总线404之外,实施例中信息处理装置通常根据该信息处理装置的实际功能,还可以包括其他硬件,对此不再赘述。
[0151]
输出装置403可以为显示屏,也可以为其它输出装置。
[0152]
该信息处理装置的详细描述可以根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
[0153]
在一个实施例中公开了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时使处理器执行图1-图2的信息处理方法。
[0154]
在一个实施例中公开了一种应用程序,该应用程序用于在运行时执行图1-图2的信息处理方法。
[0155]
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-only memory,rom)、随机存取器(random access memory,ram)、磁盘或光盘等。
[0156]
以上对本发明实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1