CN107291524A - 一种远程命令的处理方法和装置 - Google Patents

一种远程命令的处理方法和装置 Download PDF

Info

Publication number
CN107291524A
CN107291524A CN201610202831.6A CN201610202831A CN107291524A CN 107291524 A CN107291524 A CN 107291524A CN 201610202831 A CN201610202831 A CN 201610202831A CN 107291524 A CN107291524 A CN 107291524A
Authority
CN
China
Prior art keywords
remote command
command
switch parameter
response data
trigger request
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.)
Granted
Application number
CN201610202831.6A
Other languages
English (en)
Other versions
CN107291524B (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610202831.6A priority Critical patent/CN107291524B/zh
Priority to TW106105967A priority patent/TWI738726B/zh
Priority to PCT/CN2017/077727 priority patent/WO2017167103A1/zh
Publication of CN107291524A publication Critical patent/CN107291524A/zh
Application granted granted Critical
Publication of CN107291524B publication Critical patent/CN107291524B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Selective Calling Equipment (AREA)
  • Telephonic Communication Services (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请实施例提供了一种远程命令的处理方法和装置,其中的方法具体包括:接收远程命令的触发请求;依据所述触发请求,获取远程命令及其对应的开关参数;向服务器发送所述远程命令;接收所述服务器针对所述远程命令返回的响应数据;在所述远程命令对应的开关参数为关闭时,将所述响应数据输出。本申请实施例能够节省返回数据的拦截和查找操作所花费的耗时,从而能够提高IO处理性能,并且,能够提高远程命令的执行速度。

Description

一种远程命令的处理方法和装置
技术领域
本申请涉及通信技术领域,特别是涉及一种远程命令的处理方法、以及一种远程命令的处理装置。
背景技术
随着信息时代的持续发展,IT(信息技术,Information Technology)运维已经成为IT服务内涵中重要的组成部分。面对越来越复杂的业务,面对越来越多样化的用户需求,不断扩展的IT应用需要越来越合理的模式来保障IT服务能灵活便捷、安全稳定地持续保障,这种模式中的保障因素就是IT运维。
Fabric是目前开源社区中被广泛使用的SSH(安全外壳协议,SecureShell)命令等远程命令的远程下发执行框架,其提供的功能主要包括:执行本地或远程命令、上传/下载文件,以及其他辅助功能,如提示用户输入、中止执行等。基于Fabric,各企业可方便地开发出自身的运维系统。
目前的远程命令具体可以包括:交互式命令和非交互式命令两种。其中,交互式命令可以为在命令执行过程中,需要客户端进行交互才能继续执行的命令;最常见的场景为:在删除针对某个系统文件的交互式命令时,运维系统会输出需要输入管理员密码的提示,并且,在客户端输入管理员密码后,该交互式命令才被继续执行。非交互式命令可以为在命令执行过程中,不需要客户端进行交互即可完成整个命令执行过程的命令。
为了判断当前远程命令是否需要客户端进行交互,本领域中的传统方案通常为:客户端对远程命令的返回数据进行拦截,并查找该返回数据中是否包含预置关键字,若包含,则确认当前远程命令需要客户端进行交互,若不包含,则确认当前远程命令不需要客户端进行交互。例如,上述查找该返回数据中是否包含预置关键字的过程具体可以包括:客户端可以不停地读取服务器的返回数据,并判断该返回数据中是否包含password、sudo、input等预置关键字。
然而,在当前远程命令为非交互式命令时,传统方案也会进行相应的拦截和查找操作,上述拦截和查找操作将会占用客户端与服务器之间的IO(输入输出,Input-Output)处理时间。尤其是在上述返回数据为大数据量的数据时,由于是按段进行返回数据的拦截和查找操作,因此需要针对单个远程命令的返回数据重复执行多次拦截和查找操作,从而大大地降低了IO处理性能,并且,降低了远程命令的执行速度。而对于大规模的运维系统而言,其远程命令的耗时将严重拖慢整个运维系统的处理速度。
发明内容
本申请实施例所要解决的技术问题是提供一种远程命令的处理方法,能够节省返回数据的拦截和查找操作所花费的耗时,从而能够提高IO处理性能,并且,能够提高远程命令的执行速度。
相应的,本申请实施例还提供了一种远程命令的处理装置,用以保证上述方法的实现及应用。
为了解决上述问题,本申请公开了一种远程命令的处理方法,包括:
接收远程命令的触发请求;
依据所述触发请求,获取远程命令及其对应的开关参数;
向服务器发送所述远程命令;
接收所述服务器针对所述远程命令返回的响应数据;
在所述远程命令对应的开关参数为关闭时,将所述响应数据输出。
可选地,所述触发请求中携带有命令文件的地址信息,则所述依据所述触发请求,获取远程命令及其对应的开关参数的步骤,包括:
依据所述地址信息,从所述命令文件中读取远程命令及其对应的开关参数。
可选地,所述触发请求中携带有命令文件的地址信息和所述命令文件中远程命令的开关参数,则所述依据所述触发请求,获取远程命令及其对应的开关参数的步骤,包括:
依据所述地址信息,从所述命令文件中读取远程命令,并将读取的远程命令与所述触发请求中携带的开关参数进行关联。
可选地,所述方法还包括:
在所述远程命令对应的开关参数为开启时,将所述响应数据进行拦截;
从所拦截的响应数据中查找需要客户端进行交互的交互式命令;
输出所述交互式命令对应的交互提示信息。
可选地,所述接收所述服务器针对所述远程命令返回的响应数据的步骤,包括:
从客户端的套接字接口中读取所述服务器针对所述远程命令返回的响应数据段。
可选地,所述在所述远程命令对应的开关参数为关闭时,将所述响应数据输出的步骤,包括:
在所述响应数据段的内容不为空、且所述远程命令对应的开关参数为关闭时,将所述响应数据输出。
另一方面,本申请公开了一种远程命令的处理装置,包括:
第一接收模块,用于接收远程命令的触发请求;
获取模块,用于依据所述触发请求,获取远程命令及其对应的开关参数;
发送模块,用于向服务器发送所述远程命令;
第二接收模块,用于接收所述服务器针对所述远程命令返回的响应数据;以及
第一输出模块,用于在所述远程命令对应的开关参数为关闭时,将所述响应数据输出。
可选地,所述触发请求中携带有命令文件的地址信息,则所述获取模块,包括:
第一获取子模块,用于依据所述地址信息,从所述命令文件中读取远程命令及其对应的开关参数。
可选地,所述触发请求中携带有命令文件的地址信息和所述命令文件中远程命令的开关参数,则所述获取模块,包括:
第二获取子模块,用于依据所述地址信息,从所述命令文件中读取远程命令,并将读取的远程命令与所述触发请求中携带的开关参数进行关联。
可选地,所述装置还包括:
拦截模块,用于在所述远程命令对应的开关参数为开启时,将所述响应数据进行拦截;
查找模块,用于从所拦截的响应数据中查找需要客户端进行交互的交互式命令;
第二输出模块,用于输出所述交互式命令对应的交互提示信息。
与现有技术相比,本申请实施例包括以下优点:
本申请实施例可以依据远程命令的触发请求,获取远程命令及其对应的开关参数,并在所述远程命令对应的开关参数为关闭时,将所述响应数据输出;由于本申请实施例在所述远程命令对应的开关参数为关闭时,可以不进行返回数据的拦截和查找操作,因此,能够节省返回数据的拦截和查找操作所花费的耗时,从而能够提高IO处理性能,并且,能够提高远程命令的执行速度。
附图说明
图1是本申请的一种远程命令的处理方法的应用环境的示意图;
图2是本申请的一种远程命令的处理方法实施例一的步骤流程图;
图3是本申请的一种远程命令的处理方法实施例二的步骤流程图;
图4是本申请的一种响应数据的示意;
图5是本申请的一种远程命令的处理方法实施例三的步骤流程图;以及
图6是本申请的一种远程命令的处理装置实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
针对传统方案中存在的大数据量传输场景中非交互式命令的判断过程导致IO处理性能低、以及远程命令的执行速度慢的技术问题,本申请实施例可以依据远程命令的触发请求,获取远程命令及其对应的开关参数,并在所述远程命令对应的开关参数为关闭时,将所述响应数据输出;由于本申请实施例在所述远程命令对应的开关参数为关闭时,可以不进行返回数据的拦截和查找操作,因此,能够节省返回数据的拦截和查找操作所花费的耗时,从而能够提高IO处理性能,并且,能够提高远程命令的执行速度。
本申请实施例可以应用于Fabric、Ansible等运维系统的应用场景中,用于提高上述运维系统的提高IO处理性能及远程命令的执行速度,可以理解,本申请实施例对于具体的应用场景不加以限制。
本申请实施例提供的远程命令的处理方法可应用于图1所示的应用环境中,如图1所示,客户端100与服务器200可以位于有线或无线网络中,通过该有线或无线网络,客户端100与服务器200进行数据交互。
具体地,客户端100可以运行在物理机或者虚拟机上,其可以接收用户输入的远程命令的触发请求,依据所述触发请求,获取远程命令及其对应的开关参数,并向服务器发送所述远程命令,以使服务器200获取所述远程命令的响应数据。其中,在所述远程命令为交互式命令时,所述响应数据中可以包括所述远程命令的交互提示信息,在所述远程命令为非交互式命令时,所述响应数据中可以包括所述远程命令的处理结果,可以理解,本申请实施例对于具体的响应数据不加以限制。
并且,客户端100还可以接收所述服务器200针对所述远程命令返回的响应数据,并在所述远程命令对应的开关参数为关闭时,将所述响应数据输出。本申请实施例中,上述开关参数具体可以包括关闭或开启,其中,关闭可用于指示不进行响应数据的拦截和查找操作,开启可用于指示进行响应数据的拦截和查找操作。
可以理解,上述图1所示应用环境只是作为应用示例,本申请实施例中输入流程的目的之一在于,在所述远程命令对应的开关参数为关闭时,可以不进行返回数据的拦截和查找操作,从而可以解决大数据量传输场景中非交互式命令的判断过程导致IO处理性能低、以及远程命令的执行速度慢的技术问题,而对远程命令的处理流程的具体应用环境不加以限制。
方法实施例一
参照图2,示出了本申请的一种远程命令的处理方法实施例一的步骤流程图,具体可以包括如下步骤:
步骤201、接收远程命令的触发请求;
步骤202、依据所述触发请求,获取远程命令及其对应的开关参数;
本申请实施例中,上述触发请求可由用户输入,其可用于触发远程命令,以使客户端向服务器发送对应远程命令。
本技术领域中,客户端会对远程命令的返回数据进行拦截,并查找该返回数据中是否包含预置关键字,若包含,则确认当前远程命令需要客户端进行交互。其中,查找该返回数据中是否包含预置关键字的过程具体可以包括:客户端可以不停地读取服务器的返回数据,并判断该返回数据中是否包含password、sudo、input等预置关键字。
而本申请实施例中的用户可以包括:具有专业知识的运维人员,上述运维人员通常对远程命令比较熟悉,故对于即将触发的远程命令而言,运维人员熟悉远程命令中是否包含上述预置关键字、以至于能够明确其是否需要客户端进行交互,因此,本申请实施例的用户具备准确设置即将触发的远程命令的开关参数的能力,具体地,在即将触发的远程命令需要客户端进行交互(也即为交互式命令)时,用户可以将对应的开关参数设置为开启,或者,在即将触发的远程命令不需要客户端进行交互(也即为非交互式命令)时,用户可以将对应的开关参数设置为关闭。
本申请实施例可以提供依据所述触发请求,获取远程命令及其对应的开关参数的如下技术方案:
技术方案1
技术方案1中,所述触发请求中可以携带有命令文件的地址信息,则所述依据所述触发请求,获取远程命令及其对应的开关参数的步骤202,具体可以包括:
步骤A1、依据所述地址信息,从所述命令文件中读取远程命令及其对应的开关参数。
本申请实施例中,命令文件中可以记录有一个或多个远程命令,该命令文件通常由用户编写得到,故用户能够准确地确定该命令文件中是否包含上述预置关键字、以至于能够明确该命令文件中远程命令是否需要客户端进行交互。因此,在用户明确该命令文件中远程命令是否需要客户端进行交互的基础上,其可以在该命令文件中记录对应的开关参数。其中,该命令文件中记录的开关参数的数目可以为一个,以说明该命令文件中存在需要客户端进行交互的远程命令。或者,该命令文件中记录的开关参数的数目可以与远程命令的数目相同,以标识每个远程命令是否需要客户端进行交互。可以理解,本申请实施例对于开关参数在上述命令文件中的具体记录方式不加以限制。
在本申请的一种可选实施例中,上述命令文件所记录的远程命令及开关参数均可以具有对应的预设位置,例如,开关参数的预设位置可以为第一行或者最后一行或者预设行号等,故步骤A1可以首先依据上述地址信息加载上述命令文件,并按照上述预设位置从所述命令文件中读取远程命令及其对应的开关参数。可以理解,本申请实施例对于依据所述地址信息从所述命令文件中读取远程命令及其对应的开关参数的具体读取过程不加以限制。
技术方案2
技术方案2中,所述触发请求中可以携带有命令文件的地址信息和所述命令文件中远程命令的开关参数,则所述依据所述触发请求,获取远程命令及其对应的开关参数的步骤202,具体可以包括:
步骤B1、依据所述地址信息,从所述命令文件中读取远程命令,并将读取的远程命令与所述触发请求中携带的开关参数进行关联。其中,上述关联可以将远程命令与对应的开关参数关联,假设上述命令文件中记录有M个远程命令,触发请求中携带有N个开关参数,则可以建立M个远程命令与N个开关参数之间的映射关系。
相对于技术方案1在命令文件中同时记录远程命令和开关参数,技术方案2可以仅仅在命令文件中记录远程命令,并通过触发请求携带所述命令文件中远程命令的开关参数;这样,步骤B1可以依据所述地址信息从所述命令文件中读取远程命令,并将读取的远程命令与所述触发请求中携带的开关参数进行关联,以获取远程命令及其对应的开关参数。
需要说明的是,本申请实施例中的触发请求可由用户通过键盘、鼠标等输入方式输入,本申请实施例对于上述触发请求的具体获取方式不加以限制。
可以理解,上述技术方案1和技术方案2只是作为依据所述触发请求,获取远程命令及其对应的开关参数的可选技术方案,实际上,本领域技术人员还可以根据实际应用需求,采用依据所述触发请求,获取远程命令及其对应的开关参数的其他技术方案,例如,可以提供预置接口,以使用户通过该预置接口提交触发请求,并在该触发请求中携带远程命令及其对应的开关参数,其中,该触发请求中可以携带多个远程命令及其对应的开关参数、或者可以携带多个远程命令及每个远程命令对应的开关参数等,本申请实施例对于依据所述触发请求,获取远程命令及其对应的开关参数的具体技术方案不加以限制。
步骤203、向服务器发送所述远程命令;
在本申请的一种应用示例中,客户端可以向服务器发送所述远程命令对应的字符串,以通知服务器执行上述远程命令,其中,可以一次发送一个远程命令,也可以一次发送多个远程命令。
而服务器在接收到上述远程命令后,可以判断上述远程命令是否需要客户端进行交互(例如,是否需要输入密码等),若需要,则可以在向客户端发送的响应数据中携带对应的交互提示信息,若不需要,则可以在向客户端发送的响应数据中携带对应的处理结果。
步骤204、接收所述服务器针对所述远程命令返回的响应数据;
在本申请的一种可选实施例中,所述接收所述服务器针对所述远程命令返回的响应数据的步骤204,具体可以包括:
步骤C1、从客户端的SOCKET(套接字)接口中读取所述服务器针对所述远程命令返回的响应数据段。
上述可选实施例可以适用于大数据量传输场景,其中,上述套接字接口可由客户端的操作系统提供,上述响应数据段中可以包含大数据量的数据,例如,其长度可以为4096 bytes,可以理解,本申请实施例对于上述响应数据段的具体长度不加以限制。
步骤205、在所述远程命令对应的开关参数为关闭时,将所述响应数据输出。
在本申请的一种可选实施例中,上述步骤205将所述响应数据输出的过程具体可以包括:在所述远程命令对应的开关参数为关闭时,直接通过数据流将上述响应数据展示在显示装置上,也即,可以直接将上述响应数据提供给用户;由于对于非交互式命令,可以不进行返回数据的拦截和查找操作,因此,能够节省返回数据的拦截和查找操作所花费的耗时。
在本申请实施例的另一种可选实施例中,在从客户端的SOCKET(套接字)接口中读取所述服务器针对所述远程命令返回的响应数据段的情况下,所述在所述远程命令对应的开关参数为关闭时,将所述响应数据输出的步骤205,具体可以包括:在所述响应数据段的内容不为空、且所述远程命令对应的开关参数为关闭时,将所述响应数据输出。在实际应用中,本可选实施例可以首先判断响应数据段的内容是否为空,若不为空,则可以判断所述远程命令对应的开关参数是否为关闭,在所述响应数据段的内容不为空、且所述远程命令对应的开关参数为关闭时,将所述响应数据输出。
在本申请的再一种可选实施例中,在所述响应数据段的内容为空时,可以结束本申请实施例中远程命令的处理流程。
综上,本申请实施例可以依据远程命令的触发请求,获取远程命令及其对应的开关参数,并在所述远程命令对应的开关参数为关闭时,将所述响应数据输出;由于本申请实施例在所述远程命令对应的开关参数为关闭时,可以不进行返回数据的拦截和查找操作,因此,能够节省返回数据的拦截和查找操作所花费的耗时,从而能够提高IO处理性能,并且,能够提高远程命令的执行速度。
方法实施例二
参照图3,示出了本申请的一种远程命令的处理方法实施例二的步骤流程图,具体可以包括如下步骤:
步骤301、接收远程命令的触发请求;
步骤302、依据所述触发请求,获取远程命令及其对应的开关参数;
步骤303、向服务器发送所述远程命令;
步骤304、接收所述服务器针对所述远程命令返回的响应数据;
步骤305、在所述远程命令对应的开关参数为关闭时,将所述响应数据输出;
相对于图2所示方法实施例一,本实施例的方法还可以包括:
步骤306、在所述远程命令对应的开关参数为开启时,将所述响应数据进行拦截;
步骤307、从所拦截的响应数据中查找需要客户端进行交互的交互式命令;
步骤308、输出所述交互式命令对应的交互提示信息。
本实施例的步骤306-步骤308对响应数据进行拦截和查找处理,以从该响应数据中识别出需要客户端进行交互的交互式命令,进而可以得到对应的交互提示信息信息。
在本申请的一种可选实施例中,上述步骤307具体可以包括:对响应数据进行拦截,对所拦截的响应数据按行(\r、\n、\r\n)进行切割,并对每一个当前行判断其是否包含预置关键字(sudo、password);若是,则可以输出提示框,提示客户端进行交互;若否,则可以将当前行对应的响应数据输出,并通过步骤307继续下一次判断直至所有响应数据被处理完毕
参照图4,示出了本申请的一种响应数据的示意,其中,Fabric可以对10.125.0.171(服务器)返回的响应数据进行拦截和查找处理,其中,在发现某行响应数据包含有“password”关键字时,可以输出交互提示信息“out:[sudo]password for xiong.xiaox:”,以提示用户输入密码,在用户输入密码之后,Fabric可以将用户输入的密码发送回10.125.0.171服务器,以使服务器对该密码进行认证;其中,在该密码的认证通过时,服务器可以继续执行对应的远程命令,并向客户端发送对应的响应数据,其中,该响应数据中可以包括远程命令的执行结果;而在该密码的认证不通过时,服务器可以拒绝执行对应的远程命令,并向客户端发送对应的响应数据,其中,该响应数据中可以包括远程命令的密码错误结果。可以理解,上述只是作为响应数据的处理过程示例,实际上,本申请实施例对于响应数据的具体处理过程不加以限制。
方法实施例三
参照图5,示出了本申请的一种远程命令的处理方法实施例三的步骤流程图,具体可以包括如下步骤:
步骤501、客户端接收远程命令的触发请求;
步骤502、客户端依据所述触发请求,获取远程命令及其对应的开关参数;
步骤503、客户端向服务器发送所述远程命令;
步骤504、客户端从套接字接口中读取所述服务器针对所述远程命令返回的响应数据段;
步骤505、客户端判断上述响应数据段的数据是否为空,若是,则结束流程,否则,执行步骤506;
步骤506、客户端判断所述远程命令对应的开关参数是否为关闭,若是,则执行步骤507,否则,执行步骤508;
步骤507、客户端将所述响应数据输出;
步骤508、客户端将所述响应数据进行拦截;
步骤509、客户端从所拦截的响应数据中查找需要客户端进行交互的交互式命令;
步骤510、客户端输出所述交互式命令对应的交互提示信息。
需要说明的是,在本申请的一种可选实施例中,步骤507还可以将响应数据写入缓存,以备远程命令的处理需要。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
装置实施例
参照图6,示出了本申请的一种远程命令的处理装置实施例的结构框图,具体可以包括如下模块:
第一接收模块601,用于接收远程命令的触发请求;
获取模块602,用于依据所述触发请求,获取远程命令及其对应的开关参数;
发送模块603,用于向服务器发送所述远程命令;
第二接收模块604,用于接收所述服务器针对所述远程命令返回的响应数据;以及
第一输出模块605,用于在所述远程命令对应的开关参数为关闭时,将所述响应数据输出。
在本申请的一种可选实施例中,所述触发请求中可以携带有命令文件的地址信息,则所述获取模块602,具体可以包括:
第一获取子模块,用于依据所述地址信息,从所述命令文件中读取远程命令及其对应的开关参数。
在本申请的另一种可选实施例中,所述触发请求中可以携带有命令文件的地址信息和所述命令文件中远程命令的开关参数,则所述获取模块602,具体可以包括:
第二获取子模块,用于依据所述地址信息,从所述命令文件中读取远程命令,并将读取的远程命令与所述触发请求中携带的开关参数进行关联。
在本申请的再一种可选实施例中,所述装置还可以包括:
拦截模块,用于在所述远程命令对应的开关参数为开启时,将所述响应数据进行拦截;
查找模块,用于从所拦截的响应数据中查找需要客户端进行交互的交互式命令;
第二输出模块,用于输出所述交互式命令对应的交互提示信息。
在本申请的又一种可选实施例中,所述第二接收模块603,具体可以包括:
读取子模块,用于从客户端的套接字接口中读取所述服务器针对所述远程命令返回的响应数据段。
在本申请的一种可选实施例中,所述第一输出模块605,具体可以包括:
输出子模块,用于在所述响应数据段的内容不为空、且所述远程命令对应的开关参数为关闭时,将所述响应数据输出。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种远程命令的处理方法和一种远程命令的处理装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种远程命令的处理方法,其特征在于,包括:
接收远程命令的触发请求;
依据所述触发请求,获取远程命令及其对应的开关参数;
向服务器发送所述远程命令;
接收所述服务器针对所述远程命令返回的响应数据;
在所述远程命令对应的开关参数为关闭时,将所述响应数据输出。
2.根据权利要求1所述的方法,其特征在于,所述触发请求中携带有命令文件的地址信息,则所述依据所述触发请求,获取远程命令及其对应的开关参数的步骤,包括:
依据所述地址信息,从所述命令文件中读取远程命令及其对应的开关参数。
3.根据权利要求1所述的方法,其特征在于,所述触发请求中携带有命令文件的地址信息和所述命令文件中远程命令的开关参数,则所述依据所述触发请求,获取远程命令及其对应的开关参数的步骤,包括:
依据所述地址信息,从所述命令文件中读取远程命令,并将读取的远程命令与所述触发请求中携带的开关参数进行关联。
4.根据权利要求1至3中任一所述的方法,其特征在于,所述方法还包括:
在所述远程命令对应的开关参数为开启时,将所述响应数据进行拦截;
从所拦截的响应数据中查找需要客户端进行交互的交互式命令;
输出所述交互式命令对应的交互提示信息。
5.根据权利要求1至3中任一所述的方法,其特征在于,所述接收所述服务器针对所述远程命令返回的响应数据的步骤,包括:
从客户端的套接字接口中读取所述服务器针对所述远程命令返回的响应数据段。
6.根据权利要求5所述的方法,其特征在于,所述在所述远程命令对应的开关参数为关闭时,将所述响应数据输出的步骤,包括:
在所述响应数据段的内容不为空、且所述远程命令对应的开关参数为关闭时,将所述响应数据输出。
7.一种远程命令的处理装置,其特征在于,包括:
第一接收模块,用于接收远程命令的触发请求;
获取模块,用于依据所述触发请求,获取远程命令及其对应的开关参数;
发送模块,用于向服务器发送所述远程命令;
第二接收模块,用于接收所述服务器针对所述远程命令返回的响应数据;以及
第一输出模块,用于在所述远程命令对应的开关参数为关闭时,将所述响应数据输出。
8.根据权利要求7所述的装置,其特征在于,所述触发请求中携带有命令文件的地址信息,则所述获取模块,包括:
第一获取子模块,用于依据所述地址信息,从所述命令文件中读取远程命令及其对应的开关参数。
9.根据权利要求7所述的装置,其特征在于,所述触发请求中携带有命令文件的地址信息和所述命令文件中远程命令的开关参数,则所述获取模块,包括:
第二获取子模块,用于依据所述地址信息,从所述命令文件中读取远程命令,并将读取的远程命令与所述触发请求中携带的开关参数进行关联。
10.根据权利要求7至9中任一所述的装置,其特征在于,所述装置还包括:
拦截模块,用于在所述远程命令对应的开关参数为开启时,将所述响应数据进行拦截;
查找模块,用于从所拦截的响应数据中查找需要客户端进行交互的交互式命令;
第二输出模块,用于输出所述交互式命令对应的交互提示信息。
CN201610202831.6A 2016-03-31 2016-03-31 一种远程命令的处理方法和装置 Active CN107291524B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201610202831.6A CN107291524B (zh) 2016-03-31 2016-03-31 一种远程命令的处理方法和装置
TW106105967A TWI738726B (zh) 2016-03-31 2017-02-22 遠端命令的處理方法和裝置
PCT/CN2017/077727 WO2017167103A1 (zh) 2016-03-31 2017-03-22 一种远程命令的处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610202831.6A CN107291524B (zh) 2016-03-31 2016-03-31 一种远程命令的处理方法和装置

Publications (2)

Publication Number Publication Date
CN107291524A true CN107291524A (zh) 2017-10-24
CN107291524B CN107291524B (zh) 2020-04-07

Family

ID=59962563

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610202831.6A Active CN107291524B (zh) 2016-03-31 2016-03-31 一种远程命令的处理方法和装置

Country Status (3)

Country Link
CN (1) CN107291524B (zh)
TW (1) TWI738726B (zh)
WO (1) WO2017167103A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110336770A (zh) * 2019-04-04 2019-10-15 平安科技(深圳)有限公司 远程监测漏洞的方法、装置、设备和存储介质
CN113190296A (zh) * 2021-05-19 2021-07-30 瀚高基础软件股份有限公司 基于Paramiko的交互式命令执行方法及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115314536B (zh) * 2022-08-03 2024-02-02 平安付科技服务有限公司 远程执行命令方法及装置、存储介质、计算机设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101105781A (zh) * 2006-07-11 2008-01-16 三星电子株式会社 命令处理设备、命令处理系统及处理命令的方法
CN102739440A (zh) * 2012-05-24 2012-10-17 大唐移动通信设备有限公司 一种硬件设备的访问方法及装置
CN103746843A (zh) * 2013-12-31 2014-04-23 百度在线网络技术(北京)有限公司 一种用于处理rpc命令的方法与设备
CN104486133A (zh) * 2014-12-26 2015-04-01 大唐移动通信设备有限公司 网元代理管理的方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8635214B2 (en) * 2006-07-26 2014-01-21 International Business Machines Corporation Improving results from search providers using a browsing-time relevancy factor
CN102035748B (zh) * 2010-12-31 2014-07-30 深圳市深信服电子科技有限公司 一种基于应用的流量控制方法及流量控制器
WO2015045108A1 (ja) * 2013-09-27 2015-04-02 三菱電機株式会社 クライアントサーバープログラム生成装置およびクライアントサーバープログラム生成プログラム
CN104796279B (zh) * 2014-01-21 2018-05-22 腾讯科技(深圳)有限公司 请求包的处理方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101105781A (zh) * 2006-07-11 2008-01-16 三星电子株式会社 命令处理设备、命令处理系统及处理命令的方法
CN102739440A (zh) * 2012-05-24 2012-10-17 大唐移动通信设备有限公司 一种硬件设备的访问方法及装置
CN103746843A (zh) * 2013-12-31 2014-04-23 百度在线网络技术(北京)有限公司 一种用于处理rpc命令的方法与设备
CN104486133A (zh) * 2014-12-26 2015-04-01 大唐移动通信设备有限公司 网元代理管理的方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110336770A (zh) * 2019-04-04 2019-10-15 平安科技(深圳)有限公司 远程监测漏洞的方法、装置、设备和存储介质
CN113190296A (zh) * 2021-05-19 2021-07-30 瀚高基础软件股份有限公司 基于Paramiko的交互式命令执行方法及装置

Also Published As

Publication number Publication date
TW201737065A (zh) 2017-10-16
TWI738726B (zh) 2021-09-11
WO2017167103A1 (zh) 2017-10-05
CN107291524B (zh) 2020-04-07

Similar Documents

Publication Publication Date Title
US11902313B2 (en) Dynamic hierarchical tagging system and method
Khare et al. Big data in IoT
CN105487867B (zh) 一种轻量级可视化卫星测试程序设计系统及方法
US9805209B2 (en) Systems and methodologies for managing document access permissions
CN110597730B (zh) 基于场景法的自动化测试用例生成方法及系统
CN105827683A (zh) 一种数据同步的方法、服务器及电子设备
CN109086413A (zh) 用于搜索区块链数据的方法、设备及可读存储介质
CN112583815B (zh) 一种操作指令管理方法、装置
CN110162994A (zh) 权限控制方法、系统、电子设备及计算机可读存储介质
CN109871693A (zh) 用于检测漏洞的方法和装置
CN107403108A (zh) 一种数据处理的方法及系统
CN107291524A (zh) 一种远程命令的处理方法和装置
CN108207012A (zh) 一种流量控制方法、装置、终端及系统
CN106991097A (zh) 一种识别数据的处理方法及装置
CN114547204A (zh) 数据同步方法、装置、计算机设备和存储介质
CN110162412A (zh) 在客户端进行数据操作的方法和装置
CN106776833A (zh) 客户端到客户端的信息系统数据交换方法及系统
CN103607508A (zh) 一种凭据的管理方法、装置及手机终端
Yu et al. Design and Deployment of Django-based Housing Information Management System
US20220345517A1 (en) Unified application management for heterogeneous application delivery
CN107894942A (zh) 数据表访问量的监控方法和装置
CN114296651A (zh) 一种用于存储自定义数据信息的方法与设备
CN109150815A (zh) 资源处理方法、装置和机器可读介质
CN117194298B (zh) 一种控制方法、装置、设备及存储介质
CN109165049A (zh) 组件数据处理方法及装置

Legal Events

Date Code Title Description
PB01 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