具体实施方式
请参照图式,其中相同的组件符号代表相同的组件,本发明的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本发明具体实施例,其不应被视为限制本发明未在此详述的其它具体实施例。
本文所使用的词语“优选的”意指用作实例、示例或例证。奉文描述为“优选的”任意方面或设计不必被解释为比其他方面或设计更有利。相反,词语“优选的”的使用旨在以具体方式提出概念。如本申请中所使用的术语“或”旨在意指包含的“或”而非排除的“或”。即,除非另外指定或从上下文中清楚,“X使用A或B”意指自然包括排列的任意一个。即,如果X使用A;X使用B;或X使用A和B二者,则“X使用A或B”在前述任一示例中得到满足。
而且,尽管已经相对于一个或多个实现方式示出并描述了本公开,但是本领域技术人员基于对本说明书和附图的阅读和理解将会想到等价变型和修改。本公开包括所有这样的修改和变型,并且仅由所附权利要求的范围限制。特别地关于由上述组件(例如元件、资源等)执行的各种功能,用于描述这样的组件的术语旨在对应于执行所述组件的指定功能(例如其在功能上是等价的)的任意组件(除非另外指示),即使在结构上与执行本文所示的本公开的示范性实现方式中的功能的公开结构不等同。此外,尽管本公开的特定特征已经相对于若干实现方式中的仅一个被公开,但是这种特征可以与如可以对给定或特定应用而言是期望和有利的其他实现方式的一个或多个其他特征组合。而且,就术语“包括”、“具有”、“含有”或其变形被用在具体实施方式或权利要求中而言,这样的术语旨在以与术语“包含”相似的方式包括。
第一实施例
请参阅图1,图1是本发明第一实施例提供的脚本工具的处理方法的流程示意图。其中,所述方法包括:
在步骤S101中,建立脚本数据库,所述脚本数据库用于存储至少一个的脚本工具和所述脚本工具对应的脚本参数。
可以理解的是,本发明提供的所述脚本工具的处理方法是基于BS(浏览器browser,服务器server)的系统结构的,用户通过浏览器使用该系统,执行任务时,由系统server与目标服务器集群进行交互。
本发明实施例中,所述脚本工具的处理方法可基于PHP(HypertextPreprocessor,超文本预处理器)、MYSQL(关系型数据库管理系统)、APACHE(网页服务器)、PERL(PracticalExtractionandReportLanguage,实用报表提取语言)实现。
其中,为方便理解,该处理系统可包括前端页面和后台系统,前台系统和后台系统通过DB(Database,数据库)进行交互,所述前台系统主要负责脚本工具的接入和任务的提交,并对脚本工具的接入及任务执行的流程进行展示等,所述后台系统用于对接入的脚本工具进行处理,主要负责任务的启动、执行和停止等。
在所述步骤S101中建立脚本数据库可认为是在任务提交前,在前端页面完成了脚本工具的接入操作,所述脚本数据库存储有脚本工具以及对应的脚本参数,可以理解的是,所述脚本数据库还存储有所述脚本文件对应的脚本配置文件以及任务池,所述脚本配置文件为脚本工具执行时需要用到的文件,可提供脚本工具执行时的默认环境和资源,一般包含一个或多个安装包文件、压缩包文件、文本文件、图片文件等;所述任务池用于存储任务,以传输至后台系统解析和执行。
在步骤S102中,接收任务信息,所述任务信息指示需要执行的脚本工具以及脚本参数。
当用户需要使用脚本工具时,可通过前端页面进行任务信息的输入,其中,该任务信息指示需要执行的脚本工具以及对应的脚本参数;其中,可根据所述任务信息生成相应的任务,并将所述任务存储于所述脚本数据库,以便后台系统进行监测,并对其进行解析和执行。
在步骤S103中,根据所述任务信息的指示从所述脚本数据库中调用对应的脚本工具和脚本参数。
在步骤S104中,根据调用的脚本工具和脚本参数执行所述任务信息指示的任务。
可以理解的是,所述步骤S103和步骤S104可具体包括:
所述后台系统根据所述任务信息的指示,启用相关的调度进程和执行进程,从脚本数据库中调用相对应的脚本工具和脚本参数等,启动、执行并停止所述任务指令指示的任务;其后,根据在所述前端页面输入执行结果查询请求可进行任务的执行结果的拉取和反馈。
由上述可知,本实施例中提供的脚本工具的处理方法,建立脚本数据库,其中脚本数据库用于存储至少一个的脚本工具和对应的脚本参数;接收指示需要执行的脚本工具以及脚本参数的任务信息,并将其提交至后台进行脚本工具的使用和任务执行。本发明可以有效地将运营中常用的脚本工具进行整合,易于扩展,可避免脚本工具混乱,降低运维人员使用脚本工具容易出错的风险,降低运维人员的负担,提高了海量运营的安全性,为高效运维提供环境支持,提高用户体验。
第二实施例
请参阅图2,图2是本发明第一实施例提供的脚本工具的处理方法的流程示意图。需要说明的是,本发明提供的所述脚本工具的处理方法是基于BS的系统结构,用户通过浏览器使用该系统,执行任务时,由系统server与目标服务器集群进行交互。可具体的,所述脚本工具的处理方法可基于PHP、MYSQL、APACHE、PERL实现。
为方便理解,该处理系统可包括前端页面和后台系统,前台系统和后台系统通过数据库进行交互,所述前台系统主要负责脚本工具的接入和任务的提交,并对脚本工具的接入及任务执行的流程进行展示等,所述后台系统用于对接入的脚本工具进行处理,主要负责任务的启动、执行和停止等。
其中,所述方法包括:
在步骤S201中,获取创建指令,根据所述创建指令创建三级菜单,将所述三级菜单存储于脚本数据库。
在步骤S202中,对所述三级菜单的使用者权限信息进行设置,将所述使用者权限信息存储于所述脚本数据库。
可以理解的是,所述步骤S201及步骤S202具体包括:
首先,用户(如运维或开发人员)可根据需求开发简单的脚本工具,这些脚本工具可在目的设备上以本地的方式执行,其中,所述目的设备为集群server中的一台服务器。在脚本工具接入前端页面时,需要先在该平台的菜单管理下创建多级菜单,可以理解的是,该实施例中创建的多级菜单为三级菜单,并对三级菜单的使用者权限信息进行设置,也就是说授权该三级菜单下脚本工具的执行权限给相应的用户(如运维或开发人员),以便后台系统根据所述使用者权限信息进行权限验证,当权限验证通过时,才接收任务信息,保证系统安全性。
将所述三级菜单以及所述三级菜单的使用者权限信息存储于所述脚本数据库,所述脚本数据库向前端页面返回结果。
在步骤S203中,获取脚本工具和所述脚本工具对应的脚本配置文件。
在步骤S204中,将所述脚本工具接入于所述三级菜单下,配置所述脚本工具的脚本参数,并将所述脚本工具对应的脚本参数以及脚本配置文件接入至所述三级菜单下。
可以理解的是,所述步骤S203及步骤S204具体包括:
该实施例中,所述脚本参数包括默认IP,所述脚本参数的输入形式包括下拉框、复选框以及文本输入框。进一步的,在将所述脚本工具接入于所述三级菜单下后,可以将所述脚本工具及对应的脚本配置文件上传至平台文件系统,所述平台文件系统向所述前端页面返回存储结果,其中,所述平台文件系统可理解为脚本工具处理系统的一部分,对脚本数据库进行处理的操作系统,是管理和控制计算机硬件和软件资源的计算机程序,是直接运行在裸机上的最基本的系统软件。本实施例中,该平台在linux开源操作系统上进行。
优选的,将所述脚本工具对应的脚本参数以及脚本配置文件接入至所述三级菜单下之后,还可以包括:对脚本工具接入结果的合法性进行审核;当审核通过时,则将审核结果存储于所述脚本数据库。可以理解的是,当审核通过并存储所述审核结果后,可认为该脚本工具的接入完成,并向所述前端页面反馈;当审核不通过时,则拒绝该脚本工具的接入并清除接入过程中产生的文件等,此处不作具体限定。
在本实施例中,所述步骤S201至步骤S204为脚本工具接入的过程,即建立脚本数据库的过程,该过程可认为是前台系统在任务提交前,在前端页面完成了脚本工具的接入操作,所述脚本数据库存储有脚本工具以及对应的脚本参数,可以理解的是,所述脚本数据库还存储有所述脚本文件对应的脚本配置文件以及任务池,所述脚本配置文件为脚本工具执行时需要用到的文件,可提供脚本工具执行时的默认环境和资源,一般包含一个或多个安装包文件、压缩包文件、文本文件、图片文件等;所述任务池用于存储任务,以传输至后台系统解析和执行。
在步骤S205中,接收任务信息,所述任务信息指示需要执行的脚本工具以及脚本参数。
当用户需要使用脚本工具时,可通过前端页面进行任务信息的输入,其中,该任务信息指示需要执行的脚本工具以及对应的脚本参数;其中,可根据所述任务信息生成相应的任务,并将所述任务存储于所述脚本数据库,以便后台系统进行监测,并对其进行解析和执行。
在步骤S206中,根据所述任务信息的指示从所述脚本数据库中调用对应的脚本工具和脚本参数。
在步骤S207中,根据调用的脚本工具和脚本参数执行所述任务信息指示的任务。
所述后台系统根据所述任务信息的指示,启用相关的调度进程和执行进程,从脚本数据库中调用相对应的脚本工具和脚本参数等,启动、执行并停止所述任务指令指示的任务;其后,根据在所述前端页面输入执行结果查询请求可进行任务的执行结果的拉取和反馈。
由上述可知,本实施例中提供的脚本工具的处理方法,建立脚本数据库,其中脚本数据库用于存储至少一个的脚本工具和对应的脚本参数;接收指示需要执行的脚本工具以及脚本参数的任务信息,并将其提交至后台进行脚本工具的使用和任务执行;进一步的,可对脚本工具进行分级管理以及权限管理,获取任务的执行结果,且对执行结果进行查询或统计。本发明可以有效地将运营中常用的脚本工具进行整合,易于扩展,可避免脚本工具混乱,降低运维人员使用脚本工具容易出错的风险,降低运维人员的负担,提高了海量运营的安全性,为高效运维提供环境支持,提高用户体验。
第三实施例
为了更好的理解本发明脚本工具的处理方法,以下第三实施例主要根据脚本工具接入的过程进行具体分析;请一并参考图3a和图3b,其中,图3a为脚本工具接入的时序示意图,图3b为脚本工具接入的页面设计示意图。
其中,本发明提供的所述脚本工具的处理方法是基于BS的系统结构,用户通过浏览器使用该系统,执行任务时,由系统server与目标服务器集群进行交互;为方便理解,该处理系统可包括前端页面和后台系统,前台系统和后台系统通过数据库进行交互,所述前台系统主要负责脚本工具的接入和任务的提交,并对脚本工具的接入及任务执行的流程进行展示等,所述后台系统用于对接入的脚本工具进行处理,主要负责任务的启动、执行和停止等。
如图3a所示,所述系统可以具体包括用户(如运维或开发人员)31、前端页面32、脚本数据库(DB)33、平台文件系统34以及审核系统35,容易想到的是,所述用户31并不构成所述系统结构的一部分,仅仅为了方便描述而提出,所述后台系统包括所述脚本数据库33、平台文件系统34以及审核系统35。本发明实施例中,基于第二实施例提供的脚本工具的处理方法,对脚本工具的接入进行分析,其具体流程可以包括:
在步骤S301中,在前端页面32创建三级菜单;
用户(如运维人员)根据需求开发简单的脚本工具,脚本工具可在目的设备上以本地启动的方式执行,其中,所述目的设备为集群server中的一台服务器。接入前端页面32时,首先在平台的菜单管理中创建三级菜单。
在步骤S302中,将所述三级菜单及菜单的拥有者权限信息存储于脚本数据库33;
在创建三级菜单的同时,授权该菜单下脚本工具的执行权限给相应的运维或开发人员,并将所述三级菜单及菜单权限拥有者信息写入所述脚本数据库33,所述脚本数据库33向所述前端页面32返回写入结果。
在步骤S303中,在所述前端页面32将脚本工具接入于所述三级菜单下;
在步骤S304中,上传所述脚本工具以及对应的脚本配置文件上传至平台文件系统34;
所述平台文件系统34向所述前端页面32返回存储结果。
在步骤S305中,将所述脚本工具、对应的脚本配置文件以及所脚本参数接入至所述脚本数据库33;
即在所述前端页面32,上传相应的脚本工具、脚本配置文件到该三级菜单下,确定参数的个数和类型,一并保存在脚本数据库33中。所述脚本数据库33向所述前端页面32返回接入结果。
在步骤S306中,在所述前端页面32提交合法性审核的请求;
在步骤S307中,推送审核请求至审核系统35;
所述审核系统35主要对新接入的脚本工具进行审核;
在步骤S308中,将脚本工具的审核结果存储于所述脚本数据库33;
若审核通过,则将脚本工具的审核结果存储于所述脚本数据库33,即代表接入的该脚本工具可提供使用,脚本工具的接入完成。
需要说明的是,由脚本工具的接入过程可知,前台系统对接入的脚本工具分三级菜单管理,且脚本工具最终挂载在第三级菜单下,每个三级菜单下可包含多个功能类似的工具。对每一级的菜单权限进行配置,即具有菜单权限的用户才有相应工具的执行权限。其中,菜单分级的目的是便于脚本工具的分类管理,查找和使用方便。
脚本工具接入的过程中包括脚本参数的接入,需控制接入的脚本参数的个数和脚本参数的输入形式,其主要包括有下拉框,复选框和文本输入框;可以理解的是,每个脚本工具都固定包含第一个默认参数,即默认IP,其中在执行任务时该参数不传递给脚本工具,用来控制用户每次需要执行脚本工具的server对象。
请一并参考图3b所示脚本工具接入时页面设计,上传脚本工具及配置文件,配置相应脚本参数,授权可使用的人员;提交后,需要审核脚本工具是否正确可靠(合法性审核),以防脚本工具存在bug而导致现网故障,审核通过后,接入完成,代表该渐变工具可提供给授权者使用;该实施例中,接入的脚本工具用于PING检测,PING(网络诊断工具)利用“ping”命令可以检查网络是否连通,可以很好地协助用户分析和判定网络故障;该脚本参数包括默认IP、dest_ip、count以及size四个参数,其中,默认IP为需要提交执行的serverip,dest_ip为检测的目的IP,count为PING包数,size为PING包大小;可如图4b所示,这四个参数通过文本输入框的形式供用户进行配置;可以理解的是,在某些实施例中,脚本参数还可以通过下拉框,复选框的形式进行选择配置,并且还可以根据具体情况进行脚本参数的添加和删减,此处不作具体限定。
第四实施例
请参阅图4,图4为本发明第四实施例提供的脚本工具的处理方法的流程示意图。需要说明的是,本发明提供的所述脚本工具的处理方法是基于BS的系统结构,用户通过浏览器使用该系统,执行任务时,由系统server与目标服务器集群进行交互。可具体的,所述脚本工具的处理方法可基于PHP、MYSQL、APACHE、PERL实现。
为方便理解,该处理系统可包括前端页面和后台系统,前台系统和后台系统通过数据库进行交互,所述前台系统主要负责脚本工具的接入和任务的提交,并对脚本工具的接入及任务执行的流程进行展示等,所述后台系统用于对接入的脚本工具进行处理,主要负责任务的启动、执行和停止等。
其中,所述方法包括:
在步骤S401中,建立脚本数据库,所述脚本数据库用于存储至少一个的脚本工具和所述脚本工具对应的脚本参数。
优选的,建立脚本数据库的步骤可以包括:获取创建指令,根据所述创建指令创建三级菜单,将所述三级菜单存储于脚本数据库;对所述三级菜单的使用者权限信息进行设置,将所述使用者权限信息存储于所述脚本数据库;获取脚本工具和所述脚本工具对应的脚本配置文件;将所述脚本工具接入于所述三级菜单下,配置所述脚本工具的脚本参数,并将所述脚本工具对应的脚本参数以及脚本配置文件接入至所述三级菜单下。本实施例中,所述脚本参数包括默认IP,所述脚本参数的输入形式包括下拉框、复选框以及文本输入框。
进一步的,将所述脚本工具对应的脚本参数以及脚本配置文件接入至所述三级菜单下之后,还可以包括:对脚本工具接入结果的合法性进行审核;当审核通过时,则将审核结果存储于所述脚本数据库。可以理解的是,当审核通过并存储所述审核结果后,可认为该脚本工具的接入完成,并向所述前端页面反馈;当审核不通过时,则拒绝该脚本工具的接入并清除接入过程中产生的文件等,此处不作具体限定。
可以理解的是,前台系统在任务提交前,完成了脚本工具接入脚本数据库,从而建立脚本数据库的具体过程,可参考第二实施例中步骤S201至步骤S204及第三实施例中步骤S301至步骤S307的相关描述,此处不再赘述。
在步骤S402中,接收任务信息,所述任务信息指示需要执行的脚本工具以及脚本参数。
在步骤S403中,根据所述任务信息的指示生成相应的任务,并将所述任务存储至所述脚本数据库。
在步骤S404中,通过后台调度进程Dispatch实时监测所述脚本数据库,在判断出存在任务时,根据所述任务从所述脚本数据库中调用对应的脚本工具和脚本参数。
可以理解的是,所述步骤S402、步骤S403及步骤S404可具体包括:
优选的,后台系统根据所述使用者权限信息进行权限验证,当权限验证通过时,才接收任务信息,以保证系统安全性。
当用户(如开发或运维人员)需要使用脚本工具时,可通过所述前端页面进行任务信息的输入,其中,所述任务信息指示需要执行的脚本工具以及脚本参数,也就是说,用户选择需要执行的脚本工具以及对所需要的脚本参数进行配置;在接收到所述任务信息后,根据所述任务信息的指示生成相应的任务并存储至脚本数据库,即用户通过前端页面提交了任务,以便后台系统进行监测,并对其进行解析和执行。
进一步的,在该系统启动时,通过后台调度进程Dispatch实时监测所述脚本数据库,以判断所述脚本数据库中是否存在有新任务,若检测到有新任务,则根据所述任务从所述脚本数据库中调用对应的脚本工具和脚本参数,以触发执行该任务。可以理解的是,该监测步骤为实时监控,此处描述并未对其执行顺序进行限定。
在步骤S405中,根据所述任务的执行方式,利用Dispatch执行程序开启所述任务对应的执行进程。
在步骤S406中,通过远程执行程序ggauto到集群服务器上初始化所述执行进程的执行环境,所述初始化所述执行进程的执行环境包括创建临时目录、拷贝脚本工具和脚本配置文件到所述临时目录。
在步骤S407中,根据所述脚本工具对应的脚本参数,登陆到所述集群服务器上启动需要执行的所述脚本工具,并将执行结果重定向到本地文件中。
可以理解的是,所述步骤S405、步骤S406和步骤S407可具体包括:
当后台调度进程Dispatch实时监测脚本数据库并获取用户新提交的任务,发现有新任务时,根据所述任务指令指示的任务的执行方式(包括串行或并发),对应的启动Dispatch执行程序,每个任务对应开启一个执行进程,该执行进程通过ggauto到目的设备上初始化执行环境;其中,该实施例中,ggauto主要通过expect自动登陆实现;所述初始化执行环境包括创建临时目录、拷贝脚本工具和脚本配置文件到所述临时目录。
执行环境初始化完后,根据用户传入的参数值(即步骤S402的脚本参数的具体值),再次登陆到目的设备,启动需要执行的脚本工具,并将执行结果重定向到本地server的日志文件中。
在某些实施方式中,在集群服务器上初始化所述执行进程的执行环境的执行方式可以通过pubickkey直接免密登录执行指令,也可以开发server和客户端设备间通信的机制,server可直接提交执行指令给客户端,客户端收到指令后执行相应操作,此处不作具体限定。
在本实施例中,所述步骤S405至步骤S407为根据获取的脚本工具及其对应的脚本参数和脚本配置文件执行所述任务的过程,即脚本工具使用和任务执行的过程,该过程中,后台系统根据所述任务,启用相关的调度进程和执行进程,从脚本数据库中调用相对应的脚本工具、脚本参数和脚本配置文件等,启动、执行并停止所述任务;其后,根据在所述前端页面输入执行结果查询请求可进行执行结果的拉取和反馈。
可具体的,在一种实施方式中,获取在所述前端页面发送的第一查询指令;根据所述第一查询指令从所述本地文件中获取所述执行结果,并将所述执行结果反馈至所述前端页面。也就是说,用户可以在所述前端页面从本地日志中获取实时执行的结果信息。
在另一种实施方式中,将执行结果重定向到本地文件中之后,还包括将执行结果更新至所述脚本数据库的步骤;其后,获取前端页面发送的第二查询指令;根据所述第二查询指令从所述脚本数据库获取所述执行结果,并将所述执行结果反馈至所述前端页面。也就是说,用户可以在所述前端页面从脚本数据库中获取实时执行的结果信息。
由上述可知,本实施例中提供的脚本工具的处理方法,建立脚本数据库,其中脚本数据库用于存储至少一个的脚本工具和对应的脚本参数;接收指示需要执行的脚本工具以及脚本参数的任务信息,并将其提交至后台进行脚本工具的使用和任务执行。进一步的,可对脚本工具进行分级管理以及权限管理,获取任务的执行结果,且对执行结果进行查询或统计。本发明可以有效地将运营中常用的脚本工具进行整合,易于扩展,可避免脚本工具混乱,降低运维人员使用脚本工具容易出错的风险,降低运维人员的负担,提高了海量运营的安全性,为高效运维提供环境支持,提高用户体验。
第五实施例
为了更好的理解本发明脚本工具的处理方法,以下第五实施例主要根据脚本工具的提交使用以及任务的执行的过程进行具体分析;请一并参考图5a和图5b,其中,图5a为脚本工具的提交以及任务的执行的时序示意图,图5b为脚本工具使用(即任务执行)的页面设计示意图。
其中,本发明提供的所述脚本工具的处理方法是基于BS的系统结构,用户通过浏览器使用该系统,执行任务时,由系统server与目标服务器集群进行交互;为方便理解,该处理系统可包括前端页面和后台系统,前台系统和后台系统通过数据库进行交互,所述前台系统主要负责脚本工具的接入和任务的提交,并对脚本工具的接入及任务执行的流程进行展示等,所述后台系统用于对接入的脚本工具进行处理,主要负责任务的启动、执行和停止等。
如图5a所示,所述系统可以包括用户(如运维或开发人员)51、前端页面52、脚本数据库(DB)53、Dispatch调度程序54、Dispatch执行程序55、ggauto远程执行程序56及执行对象57;容易想到的是,所述用户51并不构成所述系统结构的一部分,仅仅为了方便描述而提出;所述后台系统可形象的包括所述脚本数据库53、Dispatch调度程序54、Dispatch执行程序55、ggauto远程执行程序56;所述执行对象为目标设备,可以为sever集群服务器中的一台服务器。本发明实施例中,基于第四实施例提供的脚本工具的处理方法,对脚本工具的提交使用以及任务的执行进行分析,其具体流程可以包括:
在步骤S501中,在所述前端52选择需要使用的脚本工具,并对所述脚本工具的脚本参数进行配置;
在步骤S502中,向所述脚本数据库53写入执行任务;
所述用户51在需要使用脚本工具时,在所述前端页面52选择需要使用的脚本工具,并对所述脚本工具的脚本参数进行配置,所述需要使用的脚本工具及对应的脚本参数即为任务信息,根据所述任务信息生成任务,以向所述前端页面52提交了需要执行的任务,并将所述任务写入所述脚本数据库53,所述脚本数据库53向所述前端页面52返回写入结果。
在步骤S503中,Dispatch调度程序54实时监测所述脚本数据库是否存在有任务指令;
即Dispatch调度程序54实时检测是否存在新任务;
在步骤S504中,根据任务的执行方式,Dispatch执行程序55开启任务对应的执行进程;
其中,任务的执行方式包括串行和并行;
在步骤S505中,Dispatch执行程序55开启ggauto远程执行程序56;
在该过程中,Dispatch调度程序54根据所述任务,从所述脚本数据库中调用需要执行的脚本工具、对应的脚本配置文件以及对应的脚本参数,并将对应的脚本参数,并传递至所述ggauto远程执行程序56。
在步骤S506中,ggauto远程执行程序56在执行对象57上创建临时目录;
其中,所述执行对象57为集群服务器的目的设备,所述执行对象57返回执行结果;
在步骤S507中,ggauto远程执行程序56拷贝脚本工具和脚本配置文件到所述临时目录;
其中,所述执行对象57返回拷贝结果;所述创建临时目录与所述拷贝脚本工具和脚本配置文件到所述临时目录的过程为初始化执行环境的步骤。
在步骤S508中,所述ggauto远程执行程序56远端执行脚本工具;
根据对应的脚本参数,登陆到所述集群服务器上启动需要执行的脚本工具(即所述步骤S505调用的脚本工具);
在步骤S509中,所述执行对象57将执行结果重定向到本地文件中;
在步骤S510中,Dispatch执行程序55将任务执行结果更新至所述脚本数据库53中;
在步骤S511中,用户51向前端页面52发送任务执行结果的查询请求;
在步骤S512中,前端页面52从所述脚本数据库53中拉取任务执行结果;
即将任务执行结果的信息反馈至用户51,即脚本工具的提交使用及任务的执行完成。
需要说明的是,每次提交任务时,在脚本数据库53中对每个ip对象创建一条提交记录,该记录包含ip、脚本工具的id、需要上传的脚本工具的配置文件信息、执行状态(待执行)、提交者、执行方式(并发、串行)和空格分隔的参数串等。
可具体的,任务提交后,ggauto远程执行程序56初始化执行环境,包括建临时目录、拷贝脚本工具和脚本配置文件到所述临时目录;并且,按顺序传入用户输入的脚本参数值,在目标设备上提交执行,目标设备的执行方式为:cd$dir&&./script.sh"para1""para2"……。该方式中,文件拷贝和提交调用命令的方式是通过expect模拟自动登陆实现。
另外,Dispatch执行程序55实时读取脚本数据库53中的记录,发现有新任务请求时,根据任务的执行方式,串行或并发启动Dispatch执行进程,每个对象的执行任务创建一个执行进程,将相关信息传递到目标设备,并启动相应的脚本工具。为了保证获取执行结果的实时性,该方案将Dispatch执行进程的结果实时重定向到本地日志文件,任务执行完后可进一步将执行结果更新至脚本数据库53,用户查看时,先从脚本数据库53中获取数据,如果脚本数据库53中执行结果为空,则从server本地重定向的日志文件中获取执行结果。
如图5b所示为脚本工具接入时页面设计,上传脚本工具及配置文件,配置相应脚本参数,授权可使用的人员;提交后,需要审核脚本工具是否正确可靠(合法性审核),以防脚本工具存在bug而导致现网故障,审核通过后,接入完成,代表该渐变工具可提供给授权者使用;其后,工具使用页面设计如图5b,该实施例中,所述任务为PING测试,每一个任务需要调用一脚本工具进行执行,根据在文本输入框中输入脚本工具以及脚本参数的配置信息,提交执行任务,并利用Dispatch调度程序54、Dispatch执行程序55以及ggauto远程执行程序56,启动需要执行的脚本工具以完成执行任务。
第六实施例
为便于更好的实施本发明实施例提供的脚本工具的处理方法,本发明实施例还提供基于上述脚本工具的处理方法的装置。其中名词的含义与上述终脚本工具的处理方法中相同,具体实现细节可以参考方法实施例中的说明。
请参阅图6,图6为本发明第八实施例提供的脚本工具的处理装置的结构示意图,本发明提供的所述脚本工具的处理装置是基于BS系统结构,用户通过浏览器使用该系统,执行任务时,由系统server与目标服务器集群进行交互。本发明实施例中,所述脚本工具的处理装置可基于PHP、MYSQL、APACHE、PERL实现。为方便理解,该处理系统可包括前端页面和后台系统,前台系统和后台系统通过数据库进行交互,所述前台系统主要负责脚本工具的接入和任务的提交,并对脚本工具的接入及任务执行的流程进行展示等,所述后台系统用于对接入的脚本工具进行处理,主要负责任务的启动、执行和停止等。
该实施例中,所述脚本工具的处理装置包括建立模块61、接收模块62、调用模块63以及执行模块64:
所述建立模块61,用于建立脚本数据库,所述脚本数据库用于存储至少一个的脚本工具和所述脚本工具对应的脚本参数;所述接收模块62,用于接收任务信息,所述任务信息指示需要执行的脚本工具以及脚本参数。
其中,在所述建立模块61建立脚本数据库可认为是在任务提交前,在前端页面完成了脚本工具的接入操作,所述脚本数据库存储有脚本工具以及对应的脚本参数,可以理解的是,所述脚本数据库还存储有所述脚本文件对应的脚本配置文件以及任务池,所述脚本配置文件为脚本工具执行时需要用到的文件,可提供脚本工具执行时的默认环境和资源,一般包含一个或多个安装包文件、压缩包文件、文本文件、图片文件等;所述任务池用于存储任务,以传输至后台系统解析和执行。
当用户需要使用脚本工具时,可通过前端页面进行任务信息的输入,其中,该任务信息指示需要执行的脚本工具以及对应的脚本参数;其中,可根据所述任务信息生成相应的任务,并将所述任务存储于所述脚本数据库,以便后台系统进行监测,并对其进行解析和执行。
所述调用模块63,用于根据所述任务信息的指示从所述脚本数据库中调用对应的脚本工具和脚本参数;所述执行模块64,用于根据调用的脚本工具和脚本参数执行所述任务信息指示的任务。
所述后台系统根据所述任务信息的指示,启用相关的调度进程和执行进程,从脚本数据库中调用相对应的脚本工具和脚本参数等,启动、执行并停止所述任务指令指示的任务;其后,根据在所述前端页面输入执行结果查询请求可进行任务的执行结果的拉取和反馈。
由上述可知,本实施例中提供的脚本工具的处理装置,建立脚本数据库,其中脚本数据库用于存储至少一个的脚本工具和对应的脚本参数;接收指示需要执行的脚本工具以及脚本参数的任务信息,并将其提交至后台进行脚本工具的使用和任务执行。本发明可以有效地将运营中常用的脚本工具进行整合,易于扩展,可避免脚本工具混乱,降低运维人员使用脚本工具容易出错的风险,降低运维人员的负担,提高了海量运营的安全性,为高效运维提供环境支持,提高用户体验。
第七实施例
请参阅图7,图7为本发明第七实施例提供的脚本工具的处理装置的结构示意图;需要说明的是,本发明提供的所述脚本工具的处理方法是基于BS的系统结构,用户通过浏览器使用该系统,执行任务时,由系统server与目标服务器集群进行交互。可具体的,所述脚本工具的处理方法可基于PHP、MYSQL、APACHE、PERL实现。为方便理解,该处理系统可包括前端页面和后台系统,所述前端页面用于接收用户的接入的脚本工具及脚本参数、向用户进行任务执行的流程展示等,所述后台系统用于对接入的脚本工具进行处理,对任务进行执行等。
该实施例中,所述脚本工具的处理装置包括建立模块701、接收模块702、调用模块703以及执行模块704,其中,上述各功能模块的功能实现可参考上述实施例的建立模块61、接收模块62、调用模块63以及执行模块64的描述,此处不再赘述。
进一步的,所述建立模块701包括获取单元7011、创建单元7012以及接入配置单元7013:所述获取单元7011,用于获取创建指令,以及获取脚本工具和所述脚本工具对应的脚本配置文件;所述创建单元7012,用于根据所述创建指令创建三级菜单,将所述三级菜单存储于脚本数据库;所述接入配置单元7013,用于将所述脚本工具接入于所述三级菜单下,配置所述脚本工具的脚本参数,并将所述脚本工具对应的脚本参数以及脚本配置文件接入至所述三级菜单下。
优选的,所述装置还可以包括权限设置模块705,用于对所述三级菜单的使用者权限信息进行设置,将所述使用者权限信息存储于所述脚本数据库。
首先,用户(如运维或开发人员)可根据需求开发简单的脚本工具,这些脚本工具可在目的设备上以本地的方式执行,其中,所述目的设备为集群server中的一台服务器。在脚本工具接入前端页面时,需要先在该平台的菜单管理下创建多级菜单,可以理解的是,该实施例中创建的多级菜单为三级菜单,并对三级菜单的使用者权限信息进行设置,也就是说授权该三级菜单下脚本工具的执行权限给相应的用户(如运维或开发人员),以便后台系统根据所述使用者权限信息进行权限验证,当权限验证通过时,才接收任务信息,保证系统安全性。
其后,将所述三级菜单以及所述三级菜单的使用者权限信息存储于所述脚本数据库,所述脚本数据库向前端页面返回结果。所述脚本参数包括默认IP,所述脚本参数的输入形式包括下拉框、复选框以及文本输入框。进一步的,在将所述脚本工具接入于所述三级菜单下后,可以将所述脚本工具及对应的脚本配置文件上传至平台文件系统,所述平台文件系统向所述前端页面返回存储结果,其中,所述平台文件系统可理解为脚本工具处理系统的一部分,对脚本数据库进行处理的操作系统,是管理和控制计算机硬件和软件资源的计算机程序,是直接运行在裸机上的最基本的系统软件。本实施例中,该平台在linux开源操作系统上进行。
进一步优选的,所述装置还包括:审核模块706,用于对脚本工具接入结果的合法性进行审核,当审核通过时,则将审核结果存储于所述脚本数据库。可以理解的是,当审核通过并存储所述审核结果后,可认为该脚本工具的接入完成,并向所述前端页面反馈;当审核不通过时,则拒绝该脚本工具的接入并清除接入过程中产生的文件等,此处不作具体限定。
综上,为建立脚本数据库的过程,该过程可认为脚本工具接入的过程,即建立脚本数据库的过程,该过程可认为是前台系统在任务提交前,在前端页面完成了脚本工具的接入操作,所述脚本数据库存储有脚本工具以及对应的脚本参数,可以理解的是,所述脚本数据库还存储有所述脚本文件对应的脚本配置文件以及任务池,所述任务池用于存储任务,以传输至后台系统解析和执行。
更进一步的,针对于脚本工具的使用以及任务的执行的过程,所述装置还包括:生成模块707,用于根据所述任务信息的指示生成相应的任务,并将所述任务存储至所述脚本数据库;该方式下,则所述调用模块703,还用于通过后台调度进程Dispatch实时监测所述脚本数据库,在判断出存在任务时,根据所述任务从所述脚本数据库中调用对应的脚本工具和脚本参数。
当用户(如开发或运维人员)需要使用脚本工具时,可通过所述前端页面进行任务信息的输入,其中,所述任务信息指示需要执行的脚本工具以及脚本参数,也就是说,用户选择需要执行的脚本工具以及对所需要的脚本参数进行配置;在接收到所述任务信息后,根据所述任务信息的指示生成相应的任务并存储至脚本数据库,即用户通过前端页面提交了任务,以便后台系统进行监测,并对其进行解析和执行。
在该实施例中,所述执行模块704包括:进程执行单元7041、环境初始化单元7042以及工具启动单元7043,其中,所述进程执行单元7041,用于根据所述任务的执行方式,利用Dispatch执行程序开启所述任务对应的执行进程,所述任务的执行方式包括串行或并发;所述环境初始化单元7042,用于通过远程执行程序ggauto到集群服务器上初始化所述执行进程的执行环境,所述初始化所述执行进程的执行环境包括创建临时目录、拷贝脚本工具和脚本配置文件到所述临时目录;所述工具启动单元7043,用于根据所述脚本工具对应的脚本参数,登陆到所述集群服务器上启动需要执行的所述脚本工具,并将执行结果重定向到本地文件中。
当后台调度进程Dispatch实时监测脚本数据库并获取用户新提交的任务,发现有新任务时,根据所述任务指令指示的任务的执行方式(包括串行或并发),对应的启动Dispatch执行程序,每个任务对应开启一个执行进程,该执行进程通过ggauto到目的设备上初始化执行环境;其中,该实施例中,ggauto主要通过expect自动登陆实现;所述初始化执行环境包括创建临时目录、拷贝脚本工具和脚本配置文件到所述临时目录。
执行环境初始化完后,根据用户传入的参数值,再次登陆到目的设备,启动需要执行的脚本工具,并将执行结果重定向到本地server的日志文件中。
在某些实施方式中,在集群服务器上初始化所述执行进程的执行环境的执行方式可以通过pubickkey直接免密登录执行指令,也可以开发server和客户端设备间通信的机制,server可直接提交执行指令给客户端,客户端收到指令后执行相应操作,此处不作具体限定。
可选的,可根据在所述前端页面输入执行结果查询指令进行执行结果的拉取和反馈。在一种实施方式中,所述装置还包括第一指令获取模块和第一结果获取模块,所述第一指令获取模块用于获取第一查询指令;所述第一结果获取模块,用于根据所述第一查询指令从所述本地文件中获取所述执行结果,并将所述执行结果反馈至所述前端页面。也就是说,用户可以在所述前端页面从本地日志中获取实时执行的结果信息。
在另一种实施方式中,所述装置还包括结果更新模块、第二指令获取模块和第二结果获取模块,所述结果更新模块,用于将执行结果更新至所述脚本数据库。则所述第二指令获取模块,用于获取查询指令;所述第二结果获取模块,用于根据所述查询指令从所述脚本数据库获取所述执行结果,并将所述执行结果反馈至前端页面。
由上述可知,本实施例提供的脚本工具的处理装置,建立脚本数据库,其中脚本数据库用于存储至少一个的脚本工具和对应的脚本参数;接收指示需要执行的脚本工具以及脚本参数的任务信息,并将其提交至后台进行脚本工具的使用和任务执行。进一步的,可对脚本工具进行分级管理以及权限管理,获取任务的执行结果,且对执行结果进行查询或统计。本发明可以有效地将运营中常用的脚本工具进行整合,易于扩展,可避免脚本工具混乱,降低运维人员使用脚本工具容易出错的风险,降低运维人员的负担,提高了海量运营的安全性,为高效运维提供环境支持,提高用户体验。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对脚本工具的处理方法的详细描述,此处不再赘述。
第八实施例
本发明实施例还提供一种服务器,如图8所示,其示出了本发明实施例所涉及的服务器的结构示意图,具体来讲:
该服务器可以包括一个或者一个以上处理核心的处理器801、一个或一个以上计算机可读存储介质的存储器802、射频(RadioFrequency,RF)电路803、电源804、输入单元805、以及显示单元806等部件。本领域技术人员可以理解,图8中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器801是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器802内的软件程序和/或模块,以及调用存储在存储器802内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器801可包括一个或多个处理核心;优选的,处理器801可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器801中。
存储器802可用于存储软件程序以及模块,处理器801通过运行存储在存储器802的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器802可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器802还可以包括存储器控制器,以提供处理器801对存储器802的访问。
RF电路803可用于收发信息过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器801处理;另外,将涉及上行的数据发送给基站。通常,RF电路803包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、低噪声放大器(LNA,LowNoiseAmplifier)、双工器等。此外,RF电路803还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GSM,GlobalSystemofMobilecommunication)、通用分组无线服务(GPRS,GeneralPacketRadioService)、码分多址(CDMA,CodeDivisionMultipleAccess)、宽带码分多址(WCDMA,WidebandCodeDivisionMultipleAccess)、长期演进(LTE,LongTermEvolution)、电子邮件、短消息服务(SMS,ShortMessagingService)等。
服务器还包括给各个部件供电的电源804(比如电池),优选的,电源可以通过电源管理系统与处理器801逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源804还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该服务器还可包括输入单元805,该输入单元805可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
该服务器还可包括显示单元806,该显示单元806可用于显示由用户输入的信息或提供给用户的信息以及服务器的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元1008可包括显示面板,可选的,可以采用液晶显示器(LCD,LiquidCrystalDisplay)、有机发光二极管(OLED,OrganicLight-EmittingDiode)等形式来配置显示面板。
具体在本实施例中,服务器中的处理器801会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器802中,并由处理器801来运行存储在存储器802中的应用程序,从而实现各种功能,如下:
建立脚本数据库,所述脚本数据库用于存储至少一个的脚本工具和所述脚本工具对应的脚本参数;接收任务信息,所述任务信息指示需要执行的脚本工具以及脚本参数;根据所述任务信息的指示从所述脚本数据库中调用对应的脚本工具和脚本参数;根据获取的脚本工具和脚本参数执行所述任务信息指示的任务。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对地图数据处理方法的详细描述,此处不再赘述。
由上述可知,本实施例中提供的服务器,建立脚本数据库,其中脚本数据库用于存储至少一个的脚本工具和对应的脚本参数;接收指示需要执行的脚本工具以及脚本参数的任务信息,并将其提交至后台进行脚本工具的使用和任务执行。本发明可以有效地将运营中常用的脚本工具进行整合,易于扩展,可避免脚本工具混乱,降低运维人员使用脚本工具容易出错的风险,降低运维人员的负担,提高了海量运营的安全性,为高效运维提供环境支持,提高用户体验。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,ReadOnlyMemory)、随机存取记忆体(RAM,RandomAccessMemory)、磁盘或光盘等。
以上对本发明实施例所提供的一种脚本工具的处理方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。