CN111399982A - 一种支持多环境的命令远程执行装置及方法 - Google Patents
一种支持多环境的命令远程执行装置及方法 Download PDFInfo
- Publication number
- CN111399982A CN111399982A CN202010186141.2A CN202010186141A CN111399982A CN 111399982 A CN111399982 A CN 111399982A CN 202010186141 A CN202010186141 A CN 202010186141A CN 111399982 A CN111399982 A CN 111399982A
- Authority
- CN
- China
- Prior art keywords
- command
- execution
- node
- request
- log
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Abstract
本发明公开了一种支持多环境的命令远程执行装置及方法,其中,该装置配置有被访问策略,发起节点的装置通过执行节点的装置的被访问策略建立通信,包括:发起节点的命令收发模块,用于在发起执行命令请求时,接收执行命令请求;发起节点的规则处理栈模块,用于对执行命令请求进行校验,在校验确认通过后,通过发起节点的命令收发模块将执行命令请求发送至执行节点的装置;执行节点的命令收发模块,用于接收发起节点发送的执行命令请求;执行节点的规则处理栈模块,用于对执行命令请求进行校验,在校验确认通过后,生成执行节点的命令ID,并发送至发起节点的装置;执行节点的系统命令执行器,用于异步执行执行命令请求对应的命令,获得执行结果。
Description
技术领域
本发明属于计算机技术领域,尤指一种支持多环境的命令远程执行装置及方法。
背景技术
目前,在一些系统中可能需要利用一台机器远程调用另一台机器的操作系统命令,以达到某些目的(比如,环境安装、部署、清理等等)。
现在复杂系统可能会使用物理机、虚拟机、容器等混合部署,出于某些需求,这些机器之间可能会进行远程命令调用。在现有技术中,一般使用Linux操作系统提供的ssh做远程操作系统命令调用。但是,这种方式存在以下缺点:
1、执行ssh命令需要提前建立两两互信,当机器数量为n时,就需要建立n(n-1)次互信才可以保证任意两台机器能互相使用ssh调用命令。
2、如果当机器做迁移时,互信需要重新建立,使用较为不便。
3、无法做一些安全性过滤(比如,选择执行某些命令,而拒绝执行某些命令)。
4、如果是外部系统访问docker容器环境,也无法通过scp或者ssh的方式访问,需要单独考虑方案。
5、某些管控比较严格的环境,ssh命令是被封禁的,即禁止使用。
因此,亟需一种可以克服上述缺点,且适用于多种混合环境,机器之间相互调用方便的命令远程执行方案。
发明内容
为解决上述问题,本发明提出了一种支持多环境的命令远程执行装置及方法,可以提供适用于物理机、虚拟机、容器等混合环境的命令远程执行方案,使得机器之间可以互相调用操作系统命令,并且调用过程是可控的,每台机器都可以配置策略决定是否执行本次命令;调用是可追踪的,调用情况会有日志记录。
在本发明一实施例中,提出了一种支持多环境的命令远程执行装置,该装置配置有被访问策略,包括:命令收发模块、规则处理栈模块及系统命令执行器;发起节点的装置通过执行节点的装置的所述被访问策略建立通信;其中,
所述发起节点的命令收发模块,用于在发起执行命令请求时,接收所述执行命令请求;
所述发起节点的规则处理栈模块,用于对所述执行命令请求进行校验,在校验确认通过后,通过所述发起节点的命令收发模块将执行命令请求发送至执行节点的装置;
所述执行节点的命令收发模块,用于接收所述发起节点发送的所述执行命令请求;
所述执行节点的规则处理栈模块,用于对所述执行命令请求进行校验,在校验确认通过后,生成执行节点的命令ID,并发送至发起节点的装置;
所述执行节点的系统命令执行器,用于异步执行所述执行命令请求对应的命令,获得执行结果。
进一步的,所述发起节点的命令收发模块,还用于在发起查询命令结果请求时,接收所述查询命令结果请求;
所述发起节点的命令结果管理模块,用于在本地的日志模块中,查询是否有所述查询命令结果请求所要查询的命令的相关日志:
如果未查询到所述命令的相关日志,返回结果查询失败信息;
如果查询到所述命令的日志,并且所述命令的状态为命令未发送、命令发送中、命令发送失败、命令执行成功或命令执行失败,返回对应的所述命令的状态信息及相关日志;
如果查询到命令的日志,并且该命令状态为命令执行中,根据日志中的执行节点信息及执行节点的命令ID,发送查询命令结果请求到执行节点的装置;
所述执行节点的命令收发模块,还用于接收所述发起节点发送的所述查询命令结果请求;
所述执行节点的命令结果管理模块,用于根据执行节点的命令ID查询对应的日志信息并返回至发起节点的装置。
在本发明另一实施例中,还提出了一种支持多环境的命令远程执行方法,该方法包括:
在发起执行命令请求时,由发起节点接收所述执行命令请求;
在所述发起节点对所述执行命令请求进行校验,在校验确认通过后,将执行命令请求发送至执行节点;
由执行节点接收所述发起节点发送的所述执行命令请求;
在所述执行节点对所述执行命令请求进行校验,在校验确认通过后,生成执行节点的命令ID,并发送至发起节点;
在所述执行节点异步执行所述执行命令请求对应的命令,获得执行结果。
进一步,该方法还包括:在发起查询命令结果请求时,由所述发起节点接收所述查询命令结果请求;
在所述发起节点的日志模块中,查询是否有所述查询命令结果请求所要查询的命令的相关日志:
如果未查询到所述命令的相关日志,返回结果查询失败信息;
如果查询到所述命令的日志,并且所述命令的状态为命令未发送、命令发送中、命令发送失败、命令执行成功或命令执行失败,返回对应的所述命令的状态信息及相关日志;
如果查询到命令的日志,并且该命令状态为命令执行中,根据日志中的执行节点信息及执行节点的命令ID,发送查询命令结果请求到执行节点;
由所述执行节点接收所述发起节点发送的所述查询命令结果请求;
在所述执行节点,根据执行节点的命令ID查询对应的日志信息并返回至发起节点。
本发明提出的支持多环境的命令远程执行装置及方法相较于现有技术,至少具有以下优点:
1、无需提前建立两两互信,只需要配置本装置的被访问策略即可,在访问其它机器时,遵循其它机器的被访问策略即可进行访问。
2、在机器做迁移时,无需做任何变动。
3、灵活调整安全策略,提高了装置安全性。
4、可以访问docker容器内部环境调用其系统命令。
5、在某些管控严格的禁止ssh的环境,开通网络访问关系后也可以使用。
6、在处理过程中写入执行日志,使操作内容可以通过日志追踪。
附图说明
图1是本发明一实施例的支持多环境的命令远程执行装置架构示意图。
图2是本发明一实施例的处理执行命令请求的架构关系示意图。
图3是本发明一实施例的处理查询命令结果请求的架构关系示意图。
图4是本发明一实施例的支持多环境的命令远程执行方法流程示意图。
图5是本发明一实施例的查询命令结果请求的处理方法流程示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种支持多环境的命令远程执行装置及方法。
在本发明实施例中,需要说明的术语有:
SDK(软件开发工具包)一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。
(命令)发起节点:发起一个远程执行命令的机器。
(命令)执行节点:命令最终执行的机器,发起节点希望在执行节点上执行一个远程执行命令。需要注意,一个节点可以是一个命令的发起节点,同时可以是另一个命令的执行节点。
(命令)执行节点IP/名称:当调用API时,传入该值表示需要在这台机器上执行操作系统命令。
(命令)执行节点端口:调用API时同时需要指定执行节点的系统代理装置监听的端口才可以正确连接。
命令ID:本装置提供的一个命令在某台机器上的唯一标识。
(命令)执行状态:操作系统命令的执行状态,分为00-命令未发送,01-命令发送中,02-命令发送失败,11-命令执行中,21-命令执行成功,23-命令执行失败,33-结果查询失败。
(命令)执行日志:操作系统命令的执行日志,或者异常日志。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
图1所示为本发明一实施例的支持多环境的命令远程执行装置架构示意图。如图1所示,该装置包括:系统代理装置100、SDK 300;其中,
系统代理装置100具体包括命令收发模块110、规则处理栈模块120、系统命令执行器130、命令结果查询模块140、配置信息模块150及日志模块160。
命令收发模块110位于接入层,更详细的包含:外部接入单元111、接出单元112、内部接入单元113。
规则处理栈模块120、系统命令执行器130、命令结果查询模块140及配置信息模块150位于执行层。
日志模块160位于持久化层。
SDK是一个工具包供使用者程序所依赖或引用,可以包含Java SDK、Python SDK、C++SDK等。
该命令远程执行装置可以部署于各个机器,并配置有被访问策略,某一节点想访问其它机器时,只需遵循其它机器的被访问策略即可坚立通信。
具体的,以一发起节点和执行节点进行说明,结合图2,为本发明一实施例的处理执行命令请求的架构关系示意图。
如图2所示,首先,发起节点的的装置通过执行节点的装置的所述被访问策略建立通信。
应用程序调用SDK 300发起执行命令请求,传入执行节点IP、执行节点端口、命令、发起节点端口。所述SDK 300包含执行命令接口301,用于在应用程序发起执行命令时被调用,发起执行命令请求,并发送至发起节点的内部接入单元113。
内部接入单元113用于在发起执行命令请求时,接收所述执行命令请求;
发起节点的规则处理栈模块120,用于对所述执行命令请求进行校验,在校验确认通过后,生成发起节点的命令ID,并在本地记录日志。
通过所述发起节点的接出单元112将执行命令请求发送至执行节点的系统代理装置200;系统代理装置200的架构与系统代理装置100的架构相同。在本实施例中,命令收发模块210更详细的包含:外部接入单元211、接出单元212、内部接入单元213。
所述执行节点的外部接入单元211,用于接收所述发起节点发送的所述执行命令请求;
所述执行节点的规则处理栈模块220,用于对所述执行命令请求进行校验,在校验确认通过后,生成执行节点的命令ID,并发送至发起节点的装置;
所述执行节点的系统命令执行器230,用于异步执行所述执行命令请求对应的命令,获得执行结果。
进一步的,系统命令执行器230还用于将执行日志写入所述执行节点的日志模块260,在命令执行完毕后,将所述执行日志发送至所述发起节点的日志模块160。
在本实施例中,日志模块160/日志模块260用于日志的读取和写入,并存储日志,其中包括发起节点信息、时间、执行命令请求的原始命令、执行节点信息、发起节点的命令ID、执行节点的命令ID、执行状态及执行日志。
如图1及图2所示,配置信息模块150/配置信息模块250,用于存储设置的配置信息,包括:日志文件的存放地点、访问策略、日志清理策略、命令收发模块的监听端口的配置及规则处理栈的配置。
在另一实施例中,结合图3,为本发明一实施例的处理查询命令结果请求的架构关系示意图。如图所示,应用程序调用SDK 300发起查询命令结果请求,传入发起节点的命令ID、发起节点端口。所述SDK 300包含查询命令结果接口302,用于在应用程序发起查询命令结果时被调用,发起查询命令结果请求,并发送至发起节点的命令收发模块110中的内部接入单元113。
内部接入单元113,还用于在发起查询命令结果请求时,接收所述查询命令结果请求;
所述发起节点的命令结果管理模块140,用于在本地的日志模块160中,查询是否有所述查询命令结果请求所要查询的命令的相关日志:
如果未查询到所述命令的相关日志,返回33-结果查询失败信息;
如果查询到所述命令的日志,并且所述命令的状态为00-命令未发送、01-命令发送中、02-命令发送失败、21-命令执行成功或23-命令执行失败,返回对应的所述命令的状态信息及相关日志;
如果查询到命令的日志,并且该命令状态为11-命令执行中,根据日志中的执行节点信息及执行节点的命令ID,发送查询命令结果请求到执行节点的系统代理装置200;
所述执行节点的命令收发模块210中的外部接入单元211,还用于接收所述发起节点发送的所述查询命令结果请求;
所述执行节点的命令结果管理模块240,用于根据执行节点的命令ID查询对应的日志信息并返回至发起节点。
需要注意的是,如果这个命令已执行完结(成功或失败),则这个查询会更新发起节点的状态和日志;如果命令尚未完结,执行日志不会被记录。
为了对上述支持多环境的命令远程执行装置进行更为清楚的解释,下面结合具体的实施例来进行说明,然而值得注意的是该实施例仅是为了更好地说明本发明,并不构成对本发明不当的限定。
结合图1来看,本装置所利用的SDK 300是一个工具包供使用者程序所依赖或引用,其中暴露给应用程序代码可以调用的API(Application Programming Interface,应用程序接口)有两个,如表1所示:
表1应用程序接口、输入、输出、说明
其中,命令ID格式为14位时间戳yyyyMMddHHmmss加上4位顺序号,每台机器上编号保持唯一,但不同机器可能重复,并且一条命令在发起节点和执行节点上的编号可以不同。
针对每种编程语言可以根据接口规范编写一套SDK,这样可以在多种编程语言中都使用这套装置。
对于系统代理装置100,每台机器(无论是物理机、虚拟机、容器)都需要安装这个模块后才可以使用本方案的功能。如图1所示,系统代理装置100分为三层:接入层、执行层、持久化层。其中,
接入层用于命令的收发,主要包含三部分:外部接入单元111、接出单元112及内部接入单元113。
外部接入单元111:负责接收其他机器发来的命令执行或者结果查询请求,记录请求机器的IP、机器名等信息。
接出单元112:负责向其他机器发送命令执行或者结果查询请求。
内部接入单元113:负责接收本机器上SDK的命令执行或者结果查询请求,记录请求进程信息。
执行层主要包含四部分:规则处理栈模块120、系统命令执行器130、命令结果管理模块140及配置信息模块150。
规则处理栈模块120:提供一个类似规则引擎的模块,通过配置通用的规则或者自定义的规则,以达到判断是否处理当前请求的目的。规则可以在配置文件中配置,包括的类型如表2所示:
表2规则类型、规则可选配置
其中,通过规则处理栈模块校验后的命令,会交由执行节点的系统命令执行器来执行。
系统命令执行器130:用于执行当前接收到的命令,并不断记录状态和结果到日志中。
命令结果管理模块140:用于查询命令的结果。
配置信息模块150:存储设置的当前系统代理装置的基本配置信息,包括日志文件的存放地点、清理策略、监听端口、规则处理栈的配置等等。
持久化层主要包含日志模块160。
日志模块160:负责日志的读取和写入。
根据命令执行情况不同,发起方与执行方日志记录的内容如表3所示:
表3日志记录
应当注意,尽管在上文详细描述中提及了支持多环境的命令远程执行装置的若干模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。
以上所使用的术语“模块”或者“单元”,可以是实现预定功能的软件和/或硬件的组合。尽管以上实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
在介绍了本发明示例性实施方式的装置之后,接下来,参考图4至图5对本发明示例性实施方式的支持多环境的命令远程执行方法进行介绍。
支持多环境的命令远程执行方法的实施可以参见上述装置的实施,重复之处不再赘述。
基于同一发明构思,本发明还提出了一种支持多环境的命令远程执行方法,如图4所示,该方法包括:
步骤S401,在发起执行命令请求时,由发起节点接收所述执行命令请求;
步骤S402,在所述发起节点对所述执行命令请求进行校验,在校验确认通过后,将执行命令请求发送至执行节点;
步骤S403,由执行节点接收所述发起节点发送的所述执行命令请求;
步骤S404,在所述执行节点对所述执行命令请求进行校验,在校验确认通过后,生成执行节点的命令ID,并发送至发起节点;
步骤S405,在所述执行节点异步执行所述执行命令请求对应的命令,获得执行结果。执行结果可以发送至发起节点,写入发起节点的日志模块。
进一步的,该方法还包括查询命令结果请求的处理方法。如图5所示,该方法包括:
步骤S501,在发起查询命令结果请求时,由所述发起节点接收所述查询命令结果请求;
步骤S502,在所述发起节点的日志模块中,查询是否有所述查询命令结果请求所要查询的命令的相关日志:
步骤S503,如果未查询到所述命令的相关日志,返回结果查询失败信息;
步骤S504,如果查询到所述命令的日志,并且所述命令的状态为命令未发送、命令发送中、命令发送失败、命令执行成功或命令执行失败,返回对应的所述命令的状态信息及相关日志;
步骤S505,如果查询到命令的日志,并且该命令状态为命令执行中,根据日志中的执行节点信息及执行节点的命令ID,发送查询命令结果请求到执行节点;
步骤S506,由所述执行节点接收所述发起节点发送的所述查询命令结果请求;
步骤S507,在所述执行节点,根据执行节点的命令ID查询对应的日志信息并返回至发起节点。
需要说明的是,尽管在上述实施例及附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本发明提出的支持多环境的命令远程执行装置及方法相较于现有技术,至少具有以下优点:
1、无需提前建立两两互信,只需要配置本装置的被访问策略即可,在访问其它机器时,遵循其它机器的被访问策略即可进行访问。
2、在机器做迁移时,无需做任何变动。
3、灵活调整安全策略,提高了装置安全性。
4、可以访问docker容器内部环境调用其系统命令。
5、在某些管控严格的禁止ssh的环境,开通网络访问关系后也可以使用。
6、在处理过程中写入执行日志,使操作内容可以通过日志追踪。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (13)
1.一种支持多环境的命令远程执行装置,其特征在于,该装置配置有被访问策略,包括:命令收发模块、规则处理栈模块及系统命令执行器;发起节点的装置通过执行节点的装置的所述被访问策略建立通信;其中,
所述发起节点的命令收发模块,用于在发起执行命令请求时,接收所述执行命令请求;
所述发起节点的规则处理栈模块,用于对所述执行命令请求进行校验,在校验确认通过后,通过所述发起节点的命令收发模块将执行命令请求发送至执行节点的装置;
所述执行节点的命令收发模块,用于接收所述发起节点发送的所述执行命令请求;
所述执行节点的规则处理栈模块,用于对所述执行命令请求进行校验,在校验确认通过后,生成执行节点的命令ID,并发送至发起节点的装置;
所述执行节点的系统命令执行器,用于异步执行所述执行命令请求对应的命令,获得执行结果。
2.根据权利要求1所述的支持多环境的命令远程执行装置,其特征在于,所述发起节点的规则处理栈模块具体用于:
对所述执行命令请求进行校验,在校验确认通过后,生成发起节点的命令ID,并在本地记录日志。
3.根据权利要求2所述的支持多环境的命令远程执行装置,其特征在于,该装置还包括:日志模块;其中,
所述日志模块,用于日志的读取和写入,并存储日志,其中包括存储发起节点信息、时间、执行命令请求的原始命令、执行节点信息、发起节点的命令ID、执行节点的命令ID、执行状态及执行日志。
4.根据权利要求3所述的支持多环境的命令远程执行装置,其特征在于,所述执行节点的系统命令执行器具体用于:
异步执行所述执行命令请求对应的命令,获得执行结果,并将执行日志写入所述执行节点的日志模块,在命令执行完毕后,将所述执行日志发送至所述发起节点的日志模块。
5.根据权利要求4所述的支持多环境的命令远程执行装置,其特征在于,所述命令收发模块,包括:内部接入单元、外部接入单元、接出单元;其中,
在发起执行命令请求时,由所述发起节点的内部接入单元接收所述执行命令请求,并发送至所述发起节点的规则处理栈模块;
所述发起节点的接出单元,用于在所述发起节点的规则处理栈模块对所述执行命令请求进行校验且校验确认通过后,将所述执行命令请求发送至执行节点的装置;
所述执行节点的外部接入单元,用于接收所述发起节点的发送的执行命令请求。
6.根据权利要求5所述的支持多环境的命令远程执行装置,其特征在于,该装置还包括:配置信息模块,用于存储设置的配置信息,包括:日志文件的存放地点、访问策略、日志清理策略、命令收发模块的监听端口的配置及规则处理栈的配置。
7.根据权利要求6所述的支持多环境的命令远程执行装置,其特征在于,该装置还包括:SDK;其中,
所述SDK包含执行命令接口,用于在应用程序发起执行命令时被调用,发起执行命令请求,并发送至发起节点的命令收发模块。
8.根据权利要求7所述的支持多环境的命令远程执行装置,其特征在于,该装置还包括:命令结果管理模块,用于查询执行命令的执行结果。
9.根据权利要求8所述的支持多环境的命令远程执行装置,其特征在于,所述发起节点的命令收发模块,还用于在发起查询命令结果请求时,接收所述查询命令结果请求;
所述发起节点的命令结果管理模块,用于在本地的日志模块中,查询是否有所述查询命令结果请求所要查询的命令的相关日志:
如果未查询到所述命令的相关日志,返回结果查询失败信息;
如果查询到所述命令的日志,并且所述命令的状态为命令未发送、命令发送中、命令发送失败、命令执行成功或命令执行失败,返回对应的所述命令的状态信息及相关日志;
如果查询到命令的日志,并且该命令状态为命令执行中,根据日志中的执行节点信息及执行节点的命令ID,发送查询命令结果请求到执行节点的装置;
所述执行节点的命令收发模块,还用于接收所述发起节点发送的所述查询命令结果请求;
所述执行节点的命令结果管理模块,用于根据执行节点的命令ID查询对应的日志信息并返回至发起节点的装置。
10.根据权利要求9所述的支持多环境的命令远程执行装置,其特征在于,在发起查询命令结果请求时,所述发起节点的内部接入单元,还用于接收所述查询命令结果请求,并发送至发起节点的命令结果管理模块;
所述发起节点的接出单元,还用于将所述查询命令结果请求发送至执行节点的装置;
所述执行节点的外部接入单元,还用于接收所述发起节点的发送的查询命令结果请求。
11.根据权利要求9所述的支持多环境的命令远程执行装置,其特征在于,所述SDK还包含查询命令结果接口,用于在应用程序发起查询命令结果时被调用,发起查询命令结果请求,并发送至发起节点的命令收发模块。
12.一种利用权利要求1-11中任一项所述的装置实现支持多环境的命令远程执行方法,其特征在于,该方法包括:
在发起执行命令请求时,由发起节点接收所述执行命令请求;
在所述发起节点对所述执行命令请求进行校验,在校验确认通过后,将执行命令请求发送至执行节点;
由执行节点接收所述发起节点发送的所述执行命令请求;
在所述执行节点对所述执行命令请求进行校验,在校验确认通过后,生成执行节点的命令ID,并发送至发起节点;
在所述执行节点异步执行所述执行命令请求对应的命令,获得执行结果。
13.根据权利要求12所述的支持多环境的命令远程执行方法,其特征在于,该方法还包括:
在发起查询命令结果请求时,由所述发起节点接收所述查询命令结果请求;
在所述发起节点的日志模块中,查询是否有所述查询命令结果请求所要查询的命令的相关日志:
如果未查询到所述命令的相关日志,返回结果查询失败信息;
如果查询到所述命令的日志,并且所述命令的状态为命令未发送、命令发送中、命令发送失败、命令执行成功或命令执行失败,返回对应的所述命令的状态信息及相关日志;
如果查询到命令的日志,并且该命令状态为命令执行中,根据日志中的执行节点信息及执行节点的命令ID,发送查询命令结果请求到执行节点;
由所述执行节点接收所述发起节点发送的所述查询命令结果请求;
在所述执行节点,根据执行节点的命令ID查询对应的日志信息并返回至发起节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010186141.2A CN111399982A (zh) | 2020-03-17 | 2020-03-17 | 一种支持多环境的命令远程执行装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010186141.2A CN111399982A (zh) | 2020-03-17 | 2020-03-17 | 一种支持多环境的命令远程执行装置及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111399982A true CN111399982A (zh) | 2020-07-10 |
Family
ID=71430917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010186141.2A Pending CN111399982A (zh) | 2020-03-17 | 2020-03-17 | 一种支持多环境的命令远程执行装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111399982A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112214377A (zh) * | 2020-10-21 | 2021-01-12 | 新华三信息安全技术有限公司 | 一种设备管理方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6389543B1 (en) * | 1998-08-31 | 2002-05-14 | International Business Machines Corporation | System and method for command routing and execution in a multiprocessing system |
CN103078938A (zh) * | 2012-12-31 | 2013-05-01 | 中国工商银行股份有限公司 | 一种远程访问控制系统及方法 |
CN106777026A (zh) * | 2016-12-08 | 2017-05-31 | 用友网络科技股份有限公司 | 支持微服务架构事务最终一致性的方法、装置及系统 |
CN107873092A (zh) * | 2015-06-25 | 2018-04-03 | 亚马逊科技公司 | 控制对命令执行的用户访问 |
CN108292349A (zh) * | 2015-10-26 | 2018-07-17 | 亚马逊科技有限公司 | 在分布式计算环境中提供虚拟机实例的细粒度访问远程命令执行 |
CN108429639A (zh) * | 2018-02-27 | 2018-08-21 | 深圳神州数码云科数据技术有限公司 | 一种基于snmp协议的集群管理方法及系统 |
-
2020
- 2020-03-17 CN CN202010186141.2A patent/CN111399982A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6389543B1 (en) * | 1998-08-31 | 2002-05-14 | International Business Machines Corporation | System and method for command routing and execution in a multiprocessing system |
CN103078938A (zh) * | 2012-12-31 | 2013-05-01 | 中国工商银行股份有限公司 | 一种远程访问控制系统及方法 |
CN107873092A (zh) * | 2015-06-25 | 2018-04-03 | 亚马逊科技公司 | 控制对命令执行的用户访问 |
CN108292349A (zh) * | 2015-10-26 | 2018-07-17 | 亚马逊科技有限公司 | 在分布式计算环境中提供虚拟机实例的细粒度访问远程命令执行 |
CN106777026A (zh) * | 2016-12-08 | 2017-05-31 | 用友网络科技股份有限公司 | 支持微服务架构事务最终一致性的方法、装置及系统 |
CN108429639A (zh) * | 2018-02-27 | 2018-08-21 | 深圳神州数码云科数据技术有限公司 | 一种基于snmp协议的集群管理方法及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112214377A (zh) * | 2020-10-21 | 2021-01-12 | 新华三信息安全技术有限公司 | 一种设备管理方法及系统 |
CN112214377B (zh) * | 2020-10-21 | 2022-09-27 | 新华三信息安全技术有限公司 | 一种设备管理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5778176A (en) | System for automatically transferring access authorization of third node to first node even through first node is not previously authorized to access function of second node in computer network | |
CN1470989B (zh) | 独立于过程模式的驱动器模型 | |
EP1949595B1 (en) | Method for the construction and execution of a distributed workflow in a communication system | |
EP1025507B1 (en) | Combined internet and data access system | |
EP0648354B1 (en) | Method and system for implementation-independent interface specification | |
CN102394872B (zh) | 数据通信协议 | |
US9442822B2 (en) | Providing a visual representation of a sub-set of a visual program | |
CN111061685B (zh) | 日志查询方法、装置、节点设备及存储介质 | |
CN106911648B (zh) | 一种环境隔离方法及设备 | |
US6633876B1 (en) | Analyzing post-mortem information on a remote computer system using a downloadable code module | |
CN109871225B (zh) | 电子控制单元ecu升级方法及ecu | |
CN111625496B (zh) | 分布式文件系统在虚拟机环境下的部署方法、装置及设备 | |
CN109923547B (zh) | 程序行为监控设备、分布式对象生成管理设备、存储介质、以及程序行为监视系统 | |
CN107797859A (zh) | 一种定时任务的调度方法及一种调度服务器 | |
CN112069511B (zh) | 数据保护方法、装置、电子控制单元、设备及存储介质 | |
EP3352415B1 (en) | Smb service failure handling method, and storage device | |
CN111399982A (zh) | 一种支持多环境的命令远程执行装置及方法 | |
TW582147B (en) | Inbound connector | |
CN112395104B (zh) | 一种分布式事务上下文在路由层传递的实现方法与装置 | |
CN114298711A (zh) | 一种基于区块链的工控设备控制方法及装置、系统 | |
CN114024822A (zh) | 基于区块链的物联网设备管理方法、设备、服务器及介质 | |
CN116233250B (zh) | 一种服务调用方法及网关设备 | |
JP4412078B2 (ja) | ネットワーク管理装置,中継装置,ネットワーク管理システム及びネットワーク管理プログラム | |
JP2001034555A (ja) | データ伝送システム | |
EP3702920A1 (en) | Heterogeneous execution engines in a network centric process control system |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220914 Address after: 25 Financial Street, Xicheng District, Beijing 100033 Applicant after: CHINA CONSTRUCTION BANK Corp. Address before: 25 Financial Street, Xicheng District, Beijing 100033 Applicant before: CHINA CONSTRUCTION BANK Corp. Applicant before: Jianxin Financial Science and Technology Co.,Ltd. |