异常任务注入方法、装置和系统与流程

文档序号:14911023发布日期:2018-07-10 23:25阅读:114来源:国知局
本发明涉及计算机
技术领域
:,特别涉及一种异常任务注入方法、装置和系统。
背景技术
::目前,分布式系统中包括大量设备,大量设备所担任的角色非常多,并且设备与设备之间的交互也非常复杂。对于分布式系统来说,网络异常、链接异常、CPU(CentralProcessingUnit,中央处理器)异常、磁盘异常、内存异常、管道异常、线程异常或者进程异常等异常任务不可避免,并且这些异常任务时刻冲击着分布式系统的稳定性。因此,在分布式系统上线之前,需要向分布式系统中的目标设备注入异常任务,使得该目标设备执行该异常任务,从而对分布式系统的稳定性进行测试。异常任务包括执行程序和异常命令;在现有技术中,向目标设备中注入异常任务时,测试人员手动编写异常任务对应的执行程序或异常命令,将该执行程序或异常命令写入该目标设备中,以使目标设备根据该异常命令或执行程序,执行该异常任务。在实现本发明的过程中,发明人发现现有技术至少存在以下问题:测试人员手动编写异常任务对应的执行程序或异常命令耗时较长,导致异常任务注入效率低。技术实现要素:为了解决现有技术的问题,本发明提供了一种异常任务注入方法、装置和系统。技术方案如下:第一方面,本发明提供了一种异常任务注入系统,所述系统包括:处理器、数据库、文件服务器和应用程序编程接口API;所述数据库,用于存储异常命令;所述文件服务器,用于存储执行程序;所述API,用于获取待注入的异常任务的任务标识;所述处理器,用于根据所述任务标识,从所述数据库中获取所述异常任务的异常命令,或根据所述任务标识,从所述文件服务器中获取所述异常任务的执行程序;所述处理器,还用于获取注入所述异常任务的目标设备的设备标识,根据所述设备标识,向所述目标设备注入所述执行程序,或根据所述设备标识,向所述目标设备下发所述异常命令,以使所述目标设备根据所述执行程序或所述异常命令,执行所述异常任务。第二方面,本发明提供了一种异常任务注入方法,所述方法应用在异常注入系统,所述异常注入系统中存储异常任务的执行程序和异常命令,所述方法包括:获取待注入的异常任务的任务标识,以及,获取注入所述异常任务的目标设备的设备标识;根据所述任务标识,获取所述异常任务的执行程序或异常命令;根据所述设备标识,向所述目标设备注入所述执行程序,或根据所述设备标识,向所述目标设备下发所述异常命令,以使所述目标设备根据所述执行程序或所述异常命令,执行所述异常任务。第三方面,本发明提供了一种异常任务注入装置,所述装置应用在异常注入系统,所述异常注入系统中存储异常任务的执行程序和异常命令,所述装置包括:第一获取模块,用于获取待注入的异常任务的任务标识;第二获取模块,用于获取注入所述异常任务的目标设备的设备标识;第三获取模块,用于根据所述任务标识,获取所述异常任务的执行程序或异常命令;注入模块,用于根据所述设备标识,向所述目标设备注入所述执行程序,或根据所述设备标识,向所述目标设备下发所述异常命令,以使所述目标设备根据所述执行程序或所述异常命令,执行所述异常任务。在本发明实施例中,异常注入系统中存储异常任务的执行程序和异常命令;当向目标设备注入异常任务时,异常注入系统根据待注入的异常任务的任务标识,获取该异常任务对应的执行程序或异常命令,向目标设备注入该执行程序,或向目标设备下发给异常命令;由于不需要用户手动编写执行程序或异常命令,从而缩短了获取执行程序或异常命令的时间,提高了异常任务注入效率。附图说明图1是本发明实施例提供的一种实施环境示意图;图2是本发明实施例提供的一种异常注入系统示意图;图3是本发明实施例提供的一种异常任务注入方法流程图;图4是本发明实施例提供的一种任务注入界面的示意图;图5是本发明实施例提供的一种任务定义界面的示意图;图6是本发明实施例提供的一种数据库的示意图;图7是本发明实施例提供的一种异常任务注入装置结构示意图;图8是本发明实施例提供的一种异常注入系统的结构示意图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。图1是本发明实施例提供的一种实施环境的示意图,参见图1,该实施环境包括:异常注入系统1和目标设备2,异常注入系统1与目标设备2之间通过通信网络连接。其中,该异常注入系统1可以为一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务器中心。目标设备2可以为分布式系统中的一个设备或者多个设备,且目标设备2可以为电脑终端或者PAD(portableandroiddevice,平板电脑)终端或者服务器等。由于分布式系统包括大量设备,且设备容易出现异常任务;这些异常任务不可避免,且时刻冲击着分布式系统的稳定性;因此,在分布式系统上线之前,异常注入系统向分布式系统中的目标设备注入异常任务,使得目标设备执行该异常任务,从而对分布式系统的稳定性进行测试。其中,异常任务可以为网络异常、链接异常、CPU异常、磁盘异常、内存异常、管道异常、线程异常或者进程异常等。异常注入系统中存储多种异常任务的执行程序和异常命令,异常注入系统在向目标设备注入异常任务时,获取待注入的异常任务的任务标识,根据该任务标识,从多种异常任务的执行程序和异常命令中,获取该异常任务的执行程序或异常命令,向目标设备注入该执行程序,或向目标设备下发该异常命令。由于不需要用户手动编写执行程序或异常命令,从而缩短了获取执行程序或异常命令的时间,提高了异常任务注入效率。图2是本发明实施例提供的一种异常任务注入系统,该系统包括处理器、数据库、文件服务器和应用程序编程接口API。数据库,用于存储结构化数据,该结构化数据可以为任务标识和执行程序的对应关系,或者任务标识和异常命令的对应关系;文件服务器,用于存储非结构化数据,该非结构化数据可以为执行程序和异常命令;API,用于获取待注入的异常任务的任务标识;处理器,用于根据该任务标识,从数据库中获取该异常任务的异常命令,或根据该任务标识,从文件服务器中获取该异常任务的执行程序;处理器,还用于获取注入该异常任务的目标设备的设备标识,根据该设备标识,向目标设备注入该执行程序,或根据该设备标识,向目标设备下发该异常命令,以使目标设备根据该执行程序或该异常命令,执行该异常任务。可选的,该系统还可以包括显示器,用于显示任务注入界面,该任务注入界面中包括多个异常任务的任务标识。处理器,还用于获取用户从多个异常任务的任务标识中选择的待输入的异常任务的任务标识。在目标设备执行该异常任务的过程中,处理器,还用于获取查看命令,根据该查看命令,获取该异常任务的执行情况。显示器,还用于显示任务查看界面,该任务查看界面中包括查看按钮。处理器,还用于检测到该查看按钮被触发时,生成查看命令。API,还用于接收用户输入的查看命令,将该查看命令传输给处理器。处理器,还用于在目标设备执行该异常任务的过程中,获取终止命令,根据该终止命令,控制目标设备停止执行该异常任务。显示器,还用于显示任务运行界面中,该任务查看界面中包括终止按钮。处理器,还用于当检测到任务运行界面中的终止按钮被触发时,生成终止命令。API,还用于接收用户输入的终止命令,将该终止命令传输给处理器。图3是本发明实施例提供的一种异常任务注入方法的流程图,该发明实施例的执行主体为异常注入系统,参见图3,该方法包括:步骤201:异常注入系统获取待注入的异常任务的任务标识,以及获取注入该异常任务的目标设备的设备标识。异常注入系统中包括多个待注入的异常任务的任务标识,分布式系统中包括大量的设备;在对分布式系统进行测试时,异常注入系统通过以下步骤2011和2012获取待注入的异常任务的任务标识和注入该异常任务的目标设备的设备标识。2011:异常注入系统获取待注入的异常任务的任务标识。异常注入系统可以通过前台异常注入方式,获取待注入的异常任务的任务标识,也即以下第一种实现方式;异常注入系统也可以通过后台异常注入方式,获取待注入的异常任务的任务标识,也即以下第二种实现方式。对于第一种实现方式,本步骤可以为:异常注入系统通过显示器,显示任务注入界面,该任务注入界面中至少包括多个异常任务的任务标识,用户可以在该多个异常任务的任务标识中选择待注入的异常任务的任务标识;异常注入系统获取用户从多个异常任务的任务标识中选择的待输入的异常任务的任务标识。该任务注入界面中还可以包括每个异常任务的异常命令和下发每个异常任务的目标设备的设备标识,异常命令包括异常任务的异常参数和执行时间等,异常参数可以为异常类型和异常参数值等。例如,当异常任务为网络异常时,该异常类型可以为网络延时,异常参数值可以为网络延时的时长;再如,当异常任务为CPU异常时,该异常类型可以为CPU崩溃,异常参数值可以为当前CPU值等。该注入界面中还可以包括修改按钮,用户可以通过该修改按钮修改异常参数和/或执行时间;异常注入系统检测到该修改按钮被触发时,显示异常参数输入框和/或执行时间输入框,用户可以在该异常参数输入框和/或执行时间输入框中输入更新的异常参数和/或执行时间;异常注入系统获取更新的异常参数和/或执行时间,更新该异常任务的异常参数和/或执行时间。任务标识可以为任务名称或者任务编号等;设备标识可以为设备的IP(InternetProtocol,网络之间互连的协议)地址或者设备编号等。在本发明实施例中,任务标识为任务名称,设备标识为设备的IP地址为例进行说明,但并不对任务标识和设备标识作具体限定。例如,参见图4,任务注入界面中包括三个异常任务的任务标识,分别为windyliu、test0817和test-losd-florian2;windyliu、test0817和test-losd-florian2的异常参数分别为[“kill_stop_by_port”]、[“package_reorder”]和[“lo_busy”],windyliu、test0817和test-losd-florian2的执行时间分别为60s、60s、6000s;下发windyliu、test0817和test-losd-florian2的目标设备的设备标识分别为[“10.212.13.102”]、[“10.166.136.230”]和[“10.149.27.95”];该任务注入界面中还包括选择按钮,如果用户选择某个异常任务的任务标识时,用户可以点击该任务标识对应的选择按钮。对于第二种实现方式,本步骤可以为:异常注入系统还可以为用户提供API(ApplicationProgrammingInterface,应用程序编程接口),用户可以通过该API向异常注入系统输入注入命令;异常注入系统接收用户输入的注入命令,该注入命令中包括待注入的异常任务的任务标识;异常注入系统解析该注入命令,从该注入命令中提取待注入的异常任务的任务标识。该注入命令可以为APIurl(uniformresourelocator,统一资源定位器)格式的注入命令;因此,异常注入系统可以通过curl(commandLineuniformresourcelocator,利用url语法在命令行方式下工作的开源文件传输工具)命令或者其他语言命令解析该注入命令,从而从该注入命令中提取待注入的异常任务的任务标识。该注入命令至少包括待注入的异常任务的任务标识,还可以包括异常注入系统的标识;异常注入系统的标识可以为异常注入系统的IP地址和/或端口地址等。例如,该任务标识exceptName可以为test_exception,该异常注入系统的标识可以为192.168.1.100:8081,则用户输入的注入命令可以为:curl“http://192.168.1.100:8081/index.php/api/start?exceptName=test_exception”。需要说明的是,该注入命令中包含该任务标识;当该任务标识为任务名称时,该任务名称的类型为字符串,该任务名称并无参考值和默认值。可选的,在本步骤之前,异常注入系统可以查询是否存在该异常任务的任务标识;如果存在,执行步骤201;如果不存在,异常注入系统定义该异常任务。异常注入系统查询是否存在该异常任务的任务标识时,可以通过前台查询方式查询,也可以通过后台查询方式查询。异常注入系统通过前台查询方式查询异常注入系统中是否存在该异常任务的任务标识的过程可以为:异常注入系统显示主界面,该主界面中包括查询按钮,用户可以点击该查询按钮以触发异常注入系统显示任务查询界面。该任务查询界面中至少包括任务标识输入框,用户可以在该任务标识输入框中输入待查询的异常任务的任务标识;异常注入系统获取用户输入的待查询的异常任务的任务标识,查询是否已存在该任务标识,并返回任务查询结果,任务查询结果可以为存在或者不存在。该任务查询界面中还可以包括异常命令输入框;用户可以在异常命令输入框中输入异常命令;异常注入系统获取用户输入异常命令,查询是否存在该异常命令,并返回任务查询结果。异常注入系统通过后台查询方式查询是否存在该异常任务的任务标识的过程可以为:用户向异常注入系统输入查询命令,异常注入系统接收用户输入的查询命令,从该查询命令中获取待查询的异常任务的任务标识,根据该任务标识,确定异常注入系统中是否存在该异常任务的任务标识,返回任务查询结果,该任务查询结果可以为存在或者不存在。例如,该查询命令可以为curl“http://192.168.1.100:8081/index.php/task/query_last?taskName=$taskName”。2012:异常注入系统获取注入该异常任务的目标设备的设备标识。在本步骤之前,用户可以在异常注入系统中输入异常任务的任务标识以及注入该异常任务的目标设备的设备标识,异常注入系统获取用户输入的该异常任务的任务标识和目标设备的设备标识,建立该异常任务的任务标识和目标设备的设备标识的对应关系。相应的,本步骤可以为:异常注入系统根据该异常任务的任务标识,从任务标识和设备标识的对应关系中获取注入该异常任务的目标设备的设备标识。异常注入系统通过显示器显示主界面,主界面中包括新建任务按钮;当用户在异常注入系统中输入异常任务的任务标识时,用户可以点击该新建任务按钮;异常注入系统检测到该新建任务按钮被触发时,显示任务定义界面,参见图5,该任务定义界面中包括任务标识输入框和设备标识输入框,用户可以在任务标识输入框中输入或者选择任务标识,在设备标识输入框中选择或者输入目标设备的设备标识。异常注入系统获取用户输入的该异常任务的任务标识和目标设备的设备标识,建立该异常任务的任务标识和目标设备的设备标识的对应关系。该任务定义界面中还可以包括用户标识输入框,用户可以在该用户标识输入框中输入用户标识;异常注入系统获取用户输入的用户标识,存储该用户标识。则在步骤2011中,异常注入系统在任务注入界面中显示任务标识时,还可以显示该任务标识对应的用户标识。步骤202:异常注入系统根据该任务标识,获取该异常任务的执行程序或异常命令。异常注入系统中存储任务标识和执行程序的对应关系,以及,异常任务的任务标识和异常命令的对应关系。相应的,本步骤可以为:异常注入系统根据该任务标识,从任务标识和执行程序的对应关系中获取该异常任务的执行程序;或,根据该任务标识,从任务标识和异常命令的对应关系中获取该异常任务的异常命令。异常注入系统中存储多个异常任务的执行程序,每个异常任务的执行程序存储在一个异常文件中,该异常文件存储在异常注入系统的预设存储空间中;该预设存储空间可以为异常注入系统的web(网络)目录的except-file或sxcept-zip文件夹中。相应的,异常注入系统存储异常任务的任务标识和执行程序的对应关系的步骤可以为:异常注入系统存储异常任务的任务标识和存储路径的对应关系,该存储路径为该异常任务的执行程序所在的异常文件的存储路径。相应的,异常注入系统根据该任务标识,从任务标识和执行程序的对应关系中获取该异常任务的执行程序的步骤可以为:异常注入系统根据该任务标识,从任务标识和存储路径的对应关系中获取该异常任务的执行程序所在的异常文件的存储路径;根据该存储路径,获取该异常任务的执行程序所在的异常文件,从该异常文件中获取该异常任务的执行程序。需要说明的是,异常注入系统可以将该异常文件的存储路径存储到数据库(mysql)中,并且,异常注入系统中的数据库中存储每个异常任务的异常命令,如图5所示,一个异常任务对应一个数据表,该数据表用于存储该异常任务的异常命令。相应的,异常注入系统根据该任务标识,从任务标识和异常命令的对应关系中获取该异常任务的异常命令的步骤可以为:异常注入系统根据该任务标识,从数据库中存储的任务标识和数据表的对应关系中获取该异常任务的数据表,从该数据表中获取该异常任务的异常命令。异常注入系统可以包括php(hypertextpreprocessor,超文本预处理器)文件服务器和数据库,异常文件存储在该php文件服务器中,异常命令存储在数据块中。在本步骤之前,用户可以向异常注入系统输入该任务标识和该异常命令;异常注入系统获取用户输入的该任务标识和该异常命令,建立该任务标识和该异常命令的对应关系。参见图6,该任务定义界面包括任务标识输入框,异常命令包括的执行时间输入框,异常命令包括的异常参数输入框等。用户可以在任务标识输入框中输入或选择任务标识,在执行时间输入框中输入或者选择执行时间,在异常参数输入框中输入或者选择异常参数。异常注入系统获取用户输入或选择的的执行时间和异常参数,将该执行时间和异常参数组成该异常命令,建立该任务标识和该异常命令的对应关系。异常注入系统中存储任务标识、执行程序和异常命令的对应关系;相应的,本步骤可以为:异常注入系统根据该任务标识,从任务标识、执行程序和异常命令的对应关系中获取该异常任务的执行程序或异常命令。异常任务包括执行程序和异常命令,通过以下步骤203向目标设备注入执行程序,或者,通过以下步骤204向目标设备下发异常命令。步骤203:异常注入系统根据该设备标识,向目标设备注入该执行程序,执行步骤205。异常注入系统根据该设备标识,向目标设备发送该执行程序;目标设备接收异常注入系统发送的该执行程序,根据该执行程序,执行该异常任务。可选的,用户还可以事先设置该执行程序的注入时间;异常注入系统获取用户设置的注入时间,在该注入时间到达时,根据该设备标识,向目标设备注入该执行程序。步骤204:异常注入系统根据该设备标识,向目标设备下发该异常命令。目标设备接收异常注入系统发送的该异常命令,根据该异常命令,执行该异常任务。可选的,用户还可以事先设置该异常命令的下发时间;异常注入系统获取用户设置的下发时间,在该下发时间到达时,根据该设备标识,向目标设备下发该异常命令。由于只有代理进程才能执行异常命令;因此,异常注入系统向目标设备下发该异常命令之前,还需要检测目标设备是否已安装执行该异常命令的代理进程;如果目标设备已安装该代理进程,执行步骤204;如果目标设备没有安装该代理进程,控制目标设备安装该代理进程,在目标设备安装该代理进程后,执行步骤204。异常注入系统控制目标设备安装该代理进程的步骤可以为:异常注入系统向目标设备发送该代理进程安装包;目标设备接收异常注入系统发送的该代理进程安装包,根据该代理进程安装包,安装该代理进程。目标设备安装该代理进程之后,向异常注入系统发送通知消息,该通知消息用于指示目标设备已经安装该代理进程;异常注入系统接收目标设备发送的通知消息,根据该通知消息,确定目标设备安装该代理进程。其中,该代理进程可以为agent(代理)进程。异常注入系统检测到目标设备没有安装该代理进程时,自动控制目标设备安装该代理进程,无需人工操作,并且,安装该代理进程的时间小于1分钟,安装效率高。步骤205:当执行该异常任务结束时,异常注入系统输出该异常任务的执行结果。当执行该异常任务结束时,异常注入系统获取该异常任务的执行结果,通过显示器显示该异常任务的执行结果。其中,执行结果可以为执行成功或者执行失败;在目标设备执行该异常任务的过程中,用户控制目标设备停止执行该异常任务,该执行结果还可以为提前结束。例如,异常任务windyliu、test0817、test-losd-florian2、test-losd-florian和test的执行情况如下表1所示:表1在目标设备执行该异常任务的过程中,用户可以查看该异常任务的执行情况,具体过程可以为:在目标设备执行该异常任务的过程中,用户可以向异常注入系统提交查看命令,异常注入系统获取查看命令,根据该查看命令,获取该异常任务的执行情况,执行情况包括初始状态、运行状态和结束状态;其中,初始状态包括:等待开始和等待运行;运行状态包括:环境检查、异常执行、异常恢复;结束状态包括成功、失败和提前结束。用户向异常注入系统提交查看命令时,用户可以在任务查看界面中提交查看命令;则异常注入系统获取查看命令的步骤可以为:异常注入系统通过显示器显示任务查看界面,该任务查看界面包括查看按钮;用户查看该异常任务的执行情况时,用户可以点击该查看按钮以触发异常注入系统生成查看命令;当检测到任务查看界面中的查看按钮被触发时,异常注入系统生成该查看命令。用户向异常注入系统提交查看命令时,用户还可以直接向异常注入系统输入查看命令,异常注入系统接收用户输入的该查看命令。异常注入系统根据该查看命令,获取该异常任务的执行情况的步骤可以为:异常注入系统根据该查看命令,从目标设备中获取该异常任务的状态码,根据该状态码,从状态码和执行情况的对应关系中获取该异常任务的执行情况。异常注入系统中事先存储状态码和执行情况的对应关系如下表2所示:表2在目标设备执行该异常任务的过程中,用户可以控制目标设备停止执行该异常任务,具体过程可以为:在目标设备执行该异常任务的过程中,异常注入系统获取终止命令,根据该终止命令,控制目标设备停止执行该异常任务。用户向异常注入系统提交终止命令时,用户可以在任务运行界面中提交终止;则异常注入系统获取终止命令的步骤可以为:异常注入系统通过显示器显示任务运行界面,该任务运行界面包括终止按钮;用户终止该异常任务时,用户可以点击该终止按钮以触发异常注入系统生成该终止命令;当检测到任务运行界面中的终止按钮被触发时,异常注入系统生成该终止命令。用户向异常注入系统提交终止命令时,用户还可以直接向异常注入系统输入终止命令,异常注入系统接收用户输入的该终止命令。该终止命令包括该异常任务标识和异常注入系统的标识;该异常任务名称taskName为$taskName,异常注入系统的标识为192.168.1.100:8081,则该终止命令为curl“http://192.168.1.100:8081/index.php/task/start?taskName=$taskName”。需要说明的是,该终止命令中还可以包括该异常任务的ID,该异常任务的ID的类型为字符串,参考值为1,没有默认值。该异常任务的名称的类型也为字符串,该异常任务的名称也是非必须的,参考值为Tast,没有默认值。异常注入系统控制目标设备停止执行该异常任务之后,目标设备向异常注入系统返回控制结果,该控制结果可以为终止成功或者终止失败。异常注入系统接收目标设备发送的该控制结果,输出该控制结果。如果异常注入系统通过前台控制方式,获取终止命令,则异常注入系统输出该控制结果的步骤可以为:通过显示器显示该控制结果。如果异常注入系统通过后台控制方式,获取终止命令,则异常注入系统输出该控制结果的步骤可以为:输出控制结果的命令。其中,该控制结果为终止成功,则控制结果的命令可以为{“status”:1,“describe”:“Commandistransfered”};该控制结果为终止失败时,则控制结果的命令可以为{“status”:0,“describe”:“”}。“status”为控制结果的命令,“status”的类型为整形,参考值为[0,1];当“status”:1,则控制结果为终止成功;当“status”:0,则控制结果为终止失败。“describe”为额外说明,“describe”的类型为字符串。本发明实施例中,提供了前台注入方式(显示界面方式)和后台注入方式(直接输入命令的方式),从而提高了异常任务注入的适用性。并且通过本发明实施例提供的异常任务注入方法向目标设备中注入异常任务,从而对分布式系统进行测试,提供了分布式系统的稳定性。在本发明实施例中,异常注入系统中存储异常任务的执行程序和异常命令;当向目标设备注入异常任务时,异常注入系统根据待注入的异常任务的任务标识,获取该异常任务对应的执行程序或异常命令,向目标设备注入该执行程序,或向目标设备下发给异常命令;由于不需要用户手动编写执行程序或异常命令,从而缩短了获取执行程序或异常命令的时间,提高了异常任务注入效率。本发明实施例提供了一种异常任务注入装置,该装置可以应用在异常注入系统中,异常注入系统中存储异常任务的执行程序和异常命令,用于执行以上异常任务注入方法,参见图7,该装置包括:第一获取模块301,用于获取待注入的异常任务的任务标识;第二获取模块302,用于获取注入所述异常任务的目标设备的设备标识;第三获取模块303,用于根据所述任务标识,获取所述异常任务的执行程序或异常命令;注入模块304,用于根据所述设备标识,向所述目标设备注入所述执行程序,或根据所述设备标识,向所述目标设备下发所述异常命令,以使所述目标设备根据所述执行程序或所述异常命令,执行所述异常任务。在一个可能的设计中,所述第一获取模块301,包括:显示单元,用于显示任务注入界面,所述任务注入界面中包括多个异常任务的任务标识;获取单元,用于获取用户从所述多个异常任务的任务标识中选择的待输入的异常任务的任务标识;或者,所述第一获取模块301,包括:接收单元,用于接收用户输入的注入命令;提取单元,用于从所述注入命令中提取所述待注入的异常任务的任务标识。在一个可能的设计中,所述第二获取模块302,还用于根据所述任务标识,从任务标识和设备标识的对应关系中获取注入所述异常任务的目标设备的设备标识。在一个可能的设计中,所述第三获取模块303,还用于根据所述任务标识,从任务标识和执行程序的对应关系中获取所述异常任务的执行程序;或,所述第三获取模块303,还用于根据所述任务标识,从任务标识和异常命令的对应关系中,获取所述异常任务的异常命令。在一个可能的设计中,所述装置还包括:所述第三获取模块303,还用于根据所述任务标识,从任务标识、执行程序和异常命令的对应关系中获取所述异常任务的执行程序或异常命令。在一个可能的设计中,所述装置还包括:检测模块,用于检测所述目标设备是否已安装执行所述异常命令的代理进程;如果所述目标设备已安装所述代理进程,所述注入模块304用于根据所述设备标识,向所述目标设备下发所述异常命令;如果所述目标设备没有安装所述代理进程,控制模块,用于控制所述目标设备安装所述代理进程,在所述目标设备安装所述代理进程后,所述注入模块304用于根据所述设备标识,向所述目标设备下发所述异常命令,以使所述目标设备通过所述代理进程执行所述异常命令。在一个可能的设计中,所述装置还包括:第四获取模块,用于在所述目标设备执行所述异常任务的过程中,获取查看命令;第五获取模块,用于根据所述查看命令,获取所述异常任务的执行情况。在一个可能的设计中,所述第四获取模块,还用于当检测到任务查看界面中的查看按钮被触发时,生成所述查看命令;或者,所述第四获取模块,还用于接收用户输入的所述查看命令。在一个可能的设计中,所述装置还包括:输出模块,用于当执行所述异常任务结束时,输出所述异常任务的执行结果。在一个可能的设计中,所述装置还包括:第六获取模块,用于在所述目标设备执行所述异常任务的过程中,获取终止命令;控制模块,用于根据所述终止命令,控制所述目标设备停止执行所述异常任务。在一个可能的设计中,所述第六获取模块,还用于当检测到任务运行界面中的终止按钮被触发时,生成所述终止命令;或者,所述第六获取模块,还用于接收用户输入的所述终止命令。在本发明实施例中,异常注入系统中存储异常任务的执行程序和异常命令;当向目标设备注入异常任务时,异常注入系统根据待注入的异常任务的任务标识,获取该异常任务对应的执行程序或异常命令,向目标设备注入该执行程序,或向目标设备下发给异常命令;由于不需要用户手动编写执行程序或异常命令,从而缩短了获取执行程序或异常命令的时间,提高了异常任务注入效率。需要说明的是:上述实施例提供的异常任务注入装置在异常任务注入时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的异常任务注入装置与异常任务注入方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。图8是本发明实施例提供的一种异常注入系统的结构示意图;该异常注入系统400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,CPU)422(例如,一个或一个以上处理器)和存储器432,一个或一个以上存储应用程序442或数据444的存储介质430(例如一个或一个以上海量存储设备)。其中,存储器432和存储介质430可以是短暂存储或持久存储。存储在存储介质430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对异常注入系统中的一系列指令操作。更进一步地,中央处理器422可以设置为与存储介质430通信,在异常注入系统400上执行存储介质430中的一系列指令操作。异常注入系统400还可以包括一个或一个以上电源426,一个或一个以上有线或无线网络接口450,一个或一个以上输入输出接口458,一个或一个以上键盘456,和/或,一个或一个以上操作系统441,例如WindowsServerTM,MacOSXTM,UnixTM,LinuxTM,FreeBSDTM等等。该异常注入系统400可以用于执行上述实施例提供的异常任务注入方法中异常注入系统所执行的步骤。在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成上述实施例中异常任务注入方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。在本发明实施例中,异常注入系统中存储异常任务的执行程序和异常命令;当向目标设备注入异常任务时,异常注入系统根据待注入的异常任务的任务标识,获取该异常任务对应的执行程序或异常命令,向目标设备注入该执行程序,或向目标设备下发给异常命令;由于不需要用户手动编写执行程序或异常命令,从而缩短了获取执行程序或异常命令的时间,提高了异常任务注入效率。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1