CN115525442A - 一种远程命令执行方法及装置 - Google Patents
一种远程命令执行方法及装置 Download PDFInfo
- Publication number
- CN115525442A CN115525442A CN202110716206.4A CN202110716206A CN115525442A CN 115525442 A CN115525442 A CN 115525442A CN 202110716206 A CN202110716206 A CN 202110716206A CN 115525442 A CN115525442 A CN 115525442A
- Authority
- CN
- China
- Prior art keywords
- server
- control
- client
- remote command
- 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.)
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- 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/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/544—Remote
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种远程命令执行方法及装置,其中,方法包括:接收控制设备发送的针对客户服务器的控制请求,控制请求携带控制设备的用户信息,以及服务器标识;基于用户信息对控制设备进行鉴权处理;若对控制设备鉴权通过,则基于控制请求生成远程命令,远程命令携带服务器标识;将远程命令发送至接入服务器,以使接入服务器通过与服务器标识对应的客户服务器之间的网络连接,将远程命令发送至客户服务器,客户服务器执行远程命令,网络连接是接入服务器基于客户服务器的身份信息对客户服务器鉴权通过之后建立的,身份信息携带在网络连接请求中,网络连接请求是客户服务器发送至接入服务器的,可实现远程命令的自动化执行。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种远程命令执行方法及装置。
背景技术
随着计算机技术领域中云计算的发展,远程命令调用已成为常态,所谓的远程命令调用指的是:利用一台设备远程调用另一台设备执行某些命令,例如:终端设备使用Linux操作***提供的SSH(Secure Shell,登录云服务器最常见的协议及方法)对云服务器发出命令,以在云服务器内部执行该命令。然而,传统的远程命令执行方法通常需要人工协助;因此,如何自动化实现远程命令的执行成了当下的研究热点。
发明内容
本申请提供了一种远程命令执行方法及装置,可自动化实现远程命令的执行。
一方面,本申请提供了一种远程命令执行方法,包括:
接收控制设备发送的针对客户服务器的控制请求,所述控制请求携带所述控制设备的用户信息,以及服务器标识;
基于所述用户信息对所述控制设备进行鉴权处理;
若对所述控制设备鉴权通过,则基于所述控制请求生成远程命令,所述远程命令携带所述服务器标识;
将所述远程命令发送至接入服务器,以使所述接入服务器通过与所述服务器标识对应的客户服务器之间的网络连接,将所述远程命令发送至所述客户服务器,所述客户服务器执行所述远程命令,所述网络连接是所述接入服务器基于所述客户服务器的身份信息对所述客户服务器鉴权通过之后建立的,所述身份信息携带在网络连接请求中,所述网络连接请求是所述客户服务器发送至所述接入服务器的。
一方面,本申请提供了另一种远程命令执行方法,包括:
向接入服务器发送网络连接请求,所述网络连接请求携带所述客户服务器的身份信息,以使所述接入服务器基于所述身份信息对所述客户服务器进行鉴权处理,若所述客户服务器鉴权通过,则所述接入服务器与所述客户服务器建立网络连接;
通过与所述接入服务器之间的网络连接,接收所述接入服务器发送的远程命令,其中,所述远程命令是管控服务器对控制设备鉴权通过后,基于控制请求发送至所述接入服务器的,所述控制请求是所述控制设备发送至所述管控服务器的,所述控制请求携带服务器标识和所述控制设备的用户信息,所述服务器标识用于标识所述客户服务器,所述用户信息用于所述管控服务器对所述控制设备进行鉴权处理;
执行所述远程命令。
一方面,本申请提供了一种远程处理装置,包括:
第一接收单元,用于接收控制设备发送的针对客户服务器的控制请求,所述控制请求携带所述控制设备的用户信息,以及服务器标识;
鉴权单元,用于基于所述用户信息对所述控制设备进行鉴权处理;
第一生成单元,用于若对所述控制设备鉴权通过,则基于所述控制请求生成远程命令,所述远程命令携带所述服务器标识;
第一发送单元,用于将所述远程命令发送至接入服务器,以使所述接入服务器通过与所述服务器标识对应的客户服务器之间的网络连接,将所述远程命令发送至所述客户服务器,所述客户服务器执行所述远程命令,所述网络连接是所述接入服务器基于所述客户服务器的身份信息对所述客户服务器鉴权通过之后建立的,所述身份信息携带在网络连接请求中,所述网络连接请求是所述客户服务器发送至所述接入服务器的。
一方面,本申请提供了另一种远程处理装置,包括:
第二发送单元,用于向接入服务器发送网络连接请求,所述网络连接请求携带客户服务器的身份信息,以使所述接入服务器基于所述身份信息对所述客户服务器进行鉴权处理,若所述客户服务器鉴权通过,则所述接入服务器与所述客户服务器建立网络连接;
第二接收单元,用于通过与所述接入服务器之间的网络连接,接收所述接入服务器发送的远程命令,其中,所述远程命令是管控服务器对控制设备鉴权通过后,基于控制请求发送至所述接入服务器的,所述控制请求是所述控制设备发送至所述管控服务器的,所述控制请求携带服务器标识和所述控制设备的用户信息,所述服务器标识用于标识所述客户服务器,所述用户信息用于所述管控服务器对所述控制设备进行鉴权处理;
执行单元,用于执行所述远程命令。
一方面,本申请提供了一种管控服务器,包括:
处理器,适于实现一条或多条计算机程序;
计算机存储介质,所述计算机存储介质存储有一条或多条计算机程序,所述一条或多条计算机程序适于由所述处理器加载并执行:
接收控制设备发送的针对客户服务器的控制请求,所述控制请求携带所述控制设备的用户信息,以及服务器标识;基于所述用户信息对所述控制设备进行鉴权处理;若对所述控制设备鉴权通过,则基于所述控制请求生成远程命令,所述远程命令携带所述服务器标识;将所述远程命令发送至接入服务器,以使所述接入服务器通过与所述服务器标识对应的客户服务器之间的网络连接,将所述远程命令发送至所述客户服务器,所述客户服务器执行所述远程命令,所述网络连接是所述接入服务器基于所述客户服务器的身份信息对所述客户服务器鉴权通过之后建立的,所述身份信息携带在网络连接请求中,所述网络连接请求是所述客户服务器发送至所述接入服务器的。
一方面,本申请提供了一种客户服务器,包括:
处理器,适于实现一条或多条计算机程序;
计算机存储介质,所述计算机存储介质存储有一条或多条计算机程序,所述一条或多条计算机程序适于由所述处理器加载并执行:
向接入服务器发送网络连接请求,所述网络连接请求携带所述客户服务器的身份信息,以使所述接入服务器基于所述身份信息对所述客户服务器进行鉴权处理,若所述客户服务器鉴权通过,则所述接入服务器与所述客户服务器建立网络连接;通过与所述接入服务器之间的网络连接,接收所述接入服务器发送的远程命令,其中,所述远程命令是管控服务器对控制设备鉴权通过后,基于控制请求发送至所述接入服务器的,所述控制请求是所述控制设备发送至所述管控服务器的,所述控制请求携带服务器标识和所述控制设备的用户信息,所述服务器标识用于标识所述客户服务器,所述用户信息用于所述管控服务器对所述控制设备进行鉴权处理;执行所述远程命令。
一方面,本申请提供了一种存储介质,所述存储介质存储有一条或多条计算机程序,所述一条或多条计算机程序适于由所述管控服务器的处理器加载并执行:
接收控制设备发送的针对客户服务器的控制请求,所述控制请求携带所述控制设备的用户信息,以及服务器标识;基于所述用户信息对所述控制设备进行鉴权处理;若对所述控制设备鉴权通过,则基于所述控制请求生成远程命令,所述远程命令携带所述服务器标识;将所述远程命令发送至接入服务器,以使所述接入服务器通过与所述服务器标识对应的客户服务器之间的网络连接,将所述远程命令发送至所述客户服务器,所述客户服务器执行所述远程命令,所述网络连接是所述接入服务器基于所述客户服务器的身份信息对所述客户服务器鉴权通过之后建立的,所述身份信息携带在网络连接请求中,所述网络连接请求是所述客户服务器发送至所述接入服务器的。
一方面,本申请提供了另一种存储介质,所述存储介质存储有一条或多条计算机程序,所述一条或多条计算机程序适于由所述客户服务器的处理器加载并执行:
向接入服务器发送网络连接请求,所述网络连接请求携带所述客户服务器的身份信息,以使所述接入服务器基于所述身份信息对所述客户服务器进行鉴权处理,若所述客户服务器鉴权通过,则所述接入服务器与所述客户服务器建立网络连接;通过与所述接入服务器之间的网络连接,接收所述接入服务器发送的远程命令,其中,所述远程命令是管控服务器对控制设备鉴权通过后,基于控制请求发送至所述接入服务器的,所述控制请求是所述控制设备发送至所述管控服务器的,所述控制请求携带服务器标识和所述控制设备的用户信息,所述服务器标识用于标识所述客户服务器,所述用户信息用于所述管控服务器对所述控制设备进行鉴权处理;执行所述远程命令。
一方面,本申请提供了一种计算机程序产品或计算机程序,该计算机程序产品包括计算机程序,该计算机程序存储在存储介质中,管控服务器的处理器从存储介质中读取该计算机程序,处理器执行该计算机程序,使得管控服务器执行:
接收控制设备发送的针对客户服务器的控制请求,所述控制请求携带所述控制设备的用户信息,以及服务器标识;基于所述用户信息对所述控制设备进行鉴权处理;若对所述控制设备鉴权通过,则基于所述控制请求生成远程命令,所述远程命令携带所述服务器标识;将所述远程命令发送至接入服务器,以使所述接入服务器通过与所述服务器标识对应的客户服务器之间的网络连接,将所述远程命令发送至所述客户服务器,所述客户服务器执行所述远程命令,所述网络连接是所述接入服务器基于所述客户服务器的身份信息对所述客户服务器鉴权通过之后建立的,所述身份信息携带在网络连接请求中,所述网络连接请求是所述客户服务器发送至所述接入服务器的。
一方面,本申请提供了又一种计算机程序产品或计算机程序,该计算机程序产品包括计算机程序,该计算机程序存储在存储介质中,客户服务器的处理器从存储介质中读取该计算机程序,处理器执行该计算机程序,使得客户服务器执行:
向接入服务器发送网络连接请求,所述网络连接请求携带所述客户服务器的身份信息,以使所述接入服务器基于所述身份信息对所述客户服务器进行鉴权处理,若所述客户服务器鉴权通过,则所述接入服务器与所述客户服务器建立网络连接;通过与所述接入服务器之间的网络连接,接收所述接入服务器发送的远程命令,其中,所述远程命令是管控服务器对控制设备鉴权通过后,基于控制请求发送至所述接入服务器的,所述控制请求是所述控制设备发送至所述管控服务器的,所述控制请求携带服务器标识和所述控制设备的用户信息,所述服务器标识用于标识所述客户服务器,所述用户信息用于所述管控服务器对所述控制设备进行鉴权处理;执行所述远程命令。
本申请提供的远程命令执行方法通过在网络连接请求上添加客户服务器的身份信息,使得接入服务器可以基于该身份信息对客户服务器进行鉴权处理,避免了人工参与鉴权过程,进而避免了人工参与网络连接过程,实现了网络连接的自动化;进一步地,在接入服务器与客户服务器建立了网络连接之后,可以通过管控服务器基于接收到的控制请求生成远程命令,并将远程命令发送至接入服务器,以使得该接入服务器可以通过与该服务器标识对应的客户服务器之间的网络连接,将该接入服务器接收到的远程命令下发至该客户服务器,进而使得客户服务器可以执行该远程命令,可见,本申请提供的远程命令执行方法通过实现自动化网络连接,进而实现了远程命令的自动化执行,有效提升了远程命令执行的便捷性。
附图说明
为了更清楚地说明本申请技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的一种远程命令执行方案的***架构图;
图2是本申请提供的一种远程命令执行方法的流程示意图;
图3a是本申请提供的一种云厂商控制台页面的示意图;
图3b是本申请提供的一种SDK数据包示意图;
图4是本申请提供的一种远程命令执行方法的流程示意图;
图5a是本申请提供的一种网络连接的建立流程示意图;
图5b是本申请提供的一种周期性下发执行命令的流程示意图;
图5c是本申请提供的一种批量下发及批量执行远程命令的流程示意图;
图5d是本申请提供的一种远程命令下发及执行的流程示意图;
图5e是本申请提供的一种取消执行远程命令的流程示意图;
图6是本申请提供的一种远程命令执行装置的架构示意图;
图7是本申请提供的又一种远程命令执行装置的架构示意图;
图8是本申请提供的一种管控服务器的结构示意图;
图9是本申请提供的一种客户服务器的结构示意图。
具体实施方式
本申请提供了一种远程命令执行方案,用以实现远程命令的自动化执行,该远程命令执行方案的大致原理可结合图1所示的***架构图进行描述,如图1所示,远程命令的执行***可包括用户侧、云环境-管控端、云环境-接入端,以及云环境-租户端,其中,用户侧中提及的云厂商控制台、云厂商SDK或云厂商命令行工具均存在于相同或不同的控制设备中,该控制设备可以支持客户通过云厂商控制台、或云厂商SDK、或云厂商命令行工具等方式下发控制请求;那么结合图1可知,该***架构中的用户侧包括控制设备;云环境-管控端包括后台数据库,以及一个或多个云厂商管控类服务器(即:管控服务器),云厂商管控类服务器可以指:云厂商开放给用户侧供客户调用的管控入口;云环境-接入端包括一个或多个云厂商接入类服务器(即:接入服务器),云厂商接入类服务器可以理解为云环境内的支撑服务器,属于云厂商;云环境-租户端包括一个或多个客户云服务器(即:客户服务器)。其中,控制设备与一个或多个云厂商管控类服务器中的每个管控服务器均建立有连接;后台数据库也与每个云厂商管控类服务器建立有连接,以使得每个云厂商管控类服务器可从该后台数据库中获取数据,或存储数据至该后台数据库中。此外,每个云厂商管控类服务器可以与至少一个云厂商接入类服务器建立连接;每个云厂商接入类服务器可以与至少一个客户云服务器建立网络连接。
具体实现中,每个云厂商接入类服务器、每个客户云服务器、每个云厂商管控类服务器均可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器,本申请对此不作限制。
在一个实施例中,本申请可以利用区块链网络的不可篡改、共识机制以及加密算法等特性,来完成远程命令的传递,身份信息的鉴权等流程。具体地,上述提及的云厂商接入类服务器、云厂商管控类服务器、客户云服务器可构成一个区块链网络,且云厂商接入类服务器、云厂商管控类服务器、客户云服务器均为区块链网络上的节点;或者,上述提及的调度服务器和客户云服务器可构成一个区块链网络,且调度服务器、客户云服务器均为区块链网络上的节点。示例性地,以云厂商接入类服务器、云厂商管控类服务器、客户云服务器可构成区块链网络为例,控制设备可以向该区块链网络中的云厂商管控类服务器节点(以下简称:管控节点)发送控制请求,以使该管控节点基于该控制请求生成远程命令,并将该远程命令发送至客户云服务器,进而使得该客户云服务器可以响应该控制请求,其中,该控制请求的响应结果(如:远程命令执行状态、远程命令执行结果)可以上链;进一步地,控制设备可以向管控节点发送查询请求,管控节点在该区块链网络中查找到该查询请求对应的响应结果之后,将该响应结果发送至该控制设备,其中,控制设备也可以为该区块链网络中的节点,若控制设备为该区块链网络中的节点,则该控制设备可以直接在该区块链网络上查询控制请求的响应结果。
基于上述描述,本申请提供的远程命令执行方案的大致原理可以如下:客户云服务器发送网络连接请求至云厂商接入类服务器,用以请求云厂商接入类服务器与该客户云服务器建立网络连接,该网络连接请求携带该客户云服务器的身份信息,身份信息用于对客户云服务器进行唯一标识;当云厂商接入类服务器接收到网络连接请求之后,可以根据网络连接请求中携带的身份信息对客户云服务器进行鉴权处理,并在该客户云服务器鉴权通过后,与该客户云服务器建立网络连接。进一步地,在云厂商接入类服务器与该客户云服务器建立网络连接之后,若存在客户发起与该客户云服务器相关的控制请求,该控制请求会首先被云厂商管控类服务器接收,其中,该控制请求携带用户信息以及该客户云服务器的服务器标识,示例性地,用户信息可以是登录在该控制设备上的客户身份标识、密钥ID、账户ID等信息;当云厂商管控类服务器接收到控制请求之后,可以基于该控制请求携带的用户信息对发起该控制请求的客户进行鉴权处理(或理解为:对发送该控制请求的控制设备进行鉴权处理),当该客户鉴权处理通过时,云厂商管控类服务器则基于接收到的控制请求生成远程命令,并通过云环境-管控端的后台数据库查找与该客户云服务器具有网络连接的云厂商接入类服务器,进而通知该云厂商接入类服务器向该客户云服务器下发远程命令,使得该客户云服务器可以执行该远程命令。基于上述远程命令执行方案的大致原理描述,可见,本申请提供的远程命令执行方案无需人工参与便可实现客户云服务器与云厂商接入类服务器的网络连接,实现了远程命令的自动化执行。
在一个实施例中,客户服务器的身份信息可以是VPC(Virtual Private Cloud,虚拟私有云)信息,VPC是一种云环境下的网络虚拟化产品,由于每台客户服务器均属于特定的私有网络,且每台客户服务器至少会有一个内网IP(Internet Protocol,网际互连协议),因此,在网络连接请求中添加VPC信息,可以使得接入服务器能够基于“VPC信息+内网IP”确定客户服务器的身份,从而实现对客户服务器的鉴权处理。在又一个实施例中,客户服务器的身份信息也可以是其他任意可以唯一标识该客户服务器的信息,如:客户服务器的UUID(Universally Unique Identifier,通用唯一识别码),本申请对此不做限制。基于上述描述可以理解,若云环境内存在有受信的网络设备对控制请求自动化注入VPC信息,则可以实现对客户服务器的自动化鉴权处理,因此,本申请提出的自动化鉴权方式也可以应用于传统公有云环境、专有云环境、混合云环境、边缘云环境等。
请参见图2所示,图2是本申请提供的一种远程命令执行方法的流程示意图,该远程命令执行方法可以由上述所提及的管控服务器执行;如图2所示,该方法包括:
S201,接收控制设备发送的针对客户服务器的控制请求。
其中,控制设备可以是云环境中的设备,当控制设备为云环境中的设备时,该控制设备可以直接和管控服务器建立连接,进而使得管控服务器可以通过该连接接收发送设备发送的控制请求;可选地,控制设备也可以不是云环境中的设备,当控制设备不是云环境中的设备时,该控制设备可以通过管控服务器提供的接口与管控服务器建立连接,进而使得管控服务器可以通过该接口接收发送设备发送的控制请求。具体实现中,客户可以通过控制设备中的云厂商控制台,或云厂商SDK,或云厂商命令行工具等方式实现发送控制请求至管控类服务器。示例性地,云环境控制台页面可参见图3a所示,客户可以在图3a中的30中填写远程命令内容、执行路径、超时时间等信息,并通过客户点击图3a中的301按钮(即:“立即下发”按钮)生成控制请求,以及下发该控制请求,以使客户服务器内部响应该控制请求(或称:执行该控制请求对应的远程命令)。其中,控制请求可以是命令执行请求,也可以是取消执行请求。
在一个实施例中,当客户通过云厂商SDK发送控制请求时,该控制请求可以是该云厂商SDK所在控制设备生成的SDK数据包,示例性地,该控制设备生成的SDK数据包中的数据可以参见图3b,如图3b所示,该SDK数据包中调用了RunCommand接口,以实现控制请求的下发,需要说明的是,RunCommand接口还可以支持一些高级用法,例如:控制设备可以通过RunCommand接口传入特定参数,来实现控制设备向管控设备定时或批量下发控制请求,进而实现定时或批量向客户服务器下发远程命令。具体应用中,客户还可以通过在SDK数据包中调用DescribeTask接口,以查询远程命令的执行状态及最终执行结果,以及用户可以调用CancelTask接口去取消远程命令的执行。
在另一个实施例中,用户也可以通过控制设备中运行的命令行工具实现控制请求的生成及发送,示例性地,用户可以在命令行工具中输入XXXcmdRunCommand下发远程命令,或在命令行工具中输入XXX cmdCancelTask取消远程命令的执行;或在命令行工具中输入XXX cmdDescribeTask查询远程命令的执行情况;或在命令行工具中输入XXXcmdRunCommandcron="0_9_*_*_*"周期性下发远程命令;以及,客户可以在命令行工具中输入XXX cmdRunCommanddst="ins-aaa,ins-bbb"批量下发远程命令。在上述命令行工具中输入的命令行中的“XXX”可以指云环境中的客户端名称,例如可以为“tccli”,那么,对应地,用户可以在命令行工具中输入tcclicmdRunCommand下发远程命令,或在命令行工具中输入tcclicmdCancelTask取消远程命令的执行,等等。
S202,基于用户信息对控制设备进行鉴权处理。
在管控服务器接收到控制请求之后,可以通过该控制请求携带的用户信息,验证该控制请求的合法性,从而验证发送该控制请求的控制设备的合法性,进而可以实现管控服务器对控制设备的鉴权处理。
S203,若对控制设备鉴权通过,则基于控制请求生成远程命令。
远程命令为控制设备需要客户服务器执行的命令,该远程命令可以由管控服务器在对控制设备鉴权通过之后,基于接收到的控制请求生成令;其中,远程命令可以携带控制请求中携带的服务器标识,以使得该远程命令可以发送至执行该远程命令的客户服务器。
S204,将远程命令发送至接入服务器,以使接入服务器通过与服务器标识对应的客户服务器之间的网络连接,将远程命令发送至客户服务器,客户服务器执行远程命令。
其中,接入服务器与客户服务器之间的网络连接是:接入服务器基于客户服务器的身份信息对该客户服务器鉴权通过之后建立的,该身份信息携带在网络连接请求中,该网络连接请求是该客户服务器发送至该接入服务器的。
本申请提供的远程命令执行方法通过在网络连接请求上添加客户服务器的身份信息,使得接入服务器可以基于该身份信息对客户服务器进行鉴权处理,避免了人工参与鉴权过程,进而避免了人工参与网络连接过程,实现了网络连接的自动化;进一步地,在接入服务器与客户服务器建立了网络连接之后,可以通过管控服务器基于接收到的控制请求生成远程命令,并将远程命令发送至接入服务器,以使得该接入服务器可以通过与该服务器标识对应的客户服务器之间的网络连接,将该接入服务器接收到的远程命令下发至该客户服务器,进而使得客户服务器可以执行该远程命令,可见,本申请提供的远程命令执行方法通过实现自动化网络连接,进而实现了远程命令的自动化执行,有效提升了远程命令执行的便捷性。
请参见图4,图4是本申请提供的又一种远程命令执行方法,如图4所示,该方法包括:
S401,客户服务器向接入服务器发送网络连接请求。
实际应用中,客户服务器可以在该客户服务器中运行的目标客户端启动之后,发送网络连接请求至接入服务器,其中,目标客户端为客户服务器中运行的可执行远程命令的客户端,且该目标客户端为云厂商开发的,由于客户服务器与接入服务器均属于云厂商内部网络,因此客户服务器在无外网IP的情况下也能连通接入服务器,进而可发起网络连接请求。具体地,客户服务器可以通过虚拟IP或预设的域名向接入服务器发送网络连接请求,并在发送该网络连接请求的时候(即:在该网络连接请求离开该客户服务器的时候),基于特定规则在所述网络连接请求上添加该客户服务器的身份信息,用以对自身(即:对客户服务器)进行唯一标识;其中,虚拟IP可以理解为一种不与特定计算机或者特定计算机网卡相对应的IP地址;可选地,上述提及的身份信息也可以由云厂商提供的云环境网络设备在网络连接请求离开客户服务器时,基于特定规则在该网络连接请求上添加。
S402,接入服务器基于身份信息对客户服务器进行鉴权处理,若对客户服务器鉴权通过,则与客户服务器建立网络连接。
当接入服务器收到网络连接请求,可以根据上述提及的特定规则反向解析出身份信息,从而定位出该身份信息对应的客户服务器属于云环境中的哪一台云服务器,若接入服务器对该身份信息对应的客户服务器定位成功,则说明该接入服务器对该客户服务器的身份信息鉴别通过。示例性地,当客户服务器的身份信息由云环境网络设备添加时,接入服务器与客户服务器建立网络连接的流程可参见图5a。如图5a所示,客户服务器可以在目标客户端启动之后,向接入服务器发起网络连接请求,当网络连接请求离开该客户服务器时,可以通过云环境网络设备自动在该网络连接请求上添加该客户服务器对应的VPC信息,以使接入服务器接收到的网络连接请求携带VPC信息;进一步地,接入服务器在接收到该网络连接请求之后,可以解析该网络连接请求得到VPC信息,并对VPC信息的合法性进行验证;若对VPC的合法性验证通过,则将验证结果透明传输至客户服务器,该验证结果用以指示该客户服务器验证通过;进一步地,若客户服务器中的目标客户端收到该验证结果,则证明该客户服务器与接入服务器成功建立网络连接。基于步骤S401以及步骤S402中的相关描述,可见,本申请提供的远程命令执行方法在网络连接时不需要密钥,使得用户可以在不登录客户服务器的基础上,指示该客户服务器执行远程命令。可以理解的是,步骤S401至步骤S402中执行的所有步骤对客户完全透明,且针对新创建的客户服务器也能够自动生效,无需人工接入。
S403,管控服务器接收控制设备发送的针对客户服务器的控制请求。
由前述可知,控制请求携带控制设备的用户信息以及服务器标识,且控制请求还可以是命令执行请求,那么,管控服务器基于控制请求生成的远程命令可以为执行命令。在一个实施例中,该命令执行请求还可以携带周期性执行条件,其中,周期性执行条件可以是:在客户服务器第一次执行完执行命令的预设间隔时长之后,再次指示客户服务器执行该执行命令,例如:命令执行请求可以携带的周期性条件可以用于指示客户服务器每隔1小时执行一次执行命令;可选地,周期性执行条件也可以是:当执行命令执行失败时,重新执行该执行命令。示例性地,当命令执行请求携带周期性执行条件时,该命令执行请求对应的执行命令的下发流程可以参见图5b,如图5b所示,管控服务器可以在控制设备验证通过后,基于命令执行请求生成执行命令,然后由定时服务器存储该执行命令以及周期性执行条件,其中,定时服务器为管控服务器中的一种,该定时服务器内可以运行“定时器”软件,该软件可以定时检查所有周期性任务,并在满足周期性执行条件时,将该执行命令发送至接入服务器,以使接入服务器通过与服务器标识对应的客户服务器之间的网络连接,将该执行命令发送至该客户服务器,进而使得该客户服务器可以周期性地执行执行命令。可见,当远程命令需要周期性执行时,客户只需发送一次命令执行请求,便可以实现该远程命令的周期性执行,提升了远程命令执行的便捷性。
在又一个实施例中,控制请求携带的服务器标识的数量可以为多个,且不同服务器标识对应不同的客户服务器,基于此,客户如果需要多个客户服务器同时进行某一远程命令的执行,可以通过在控制请求中添加多个服务器标识,并通过控制设备向管控服务器发出一次该控制请求,来实现远程命令的批量下发,其中,该控制请求携带的多个服务器标识中,不同的服务器标识对应不同的客户服务器;示例性地,远程命令的批量下发流程可参见图5c,管控服务器在接收到携带多个服务器标识的命令执行请求后,可以生成远程命令,进一步地,管控服务器可以基于该多个服务器标识,逐个找出该多个服务器标识中每个服务器标识对应的客户服务器具有网络连接的接入服务器,并通知所有涉及的接入服务器向其建立有网络连接的客户服务器下发远程命令,以使得各个客户服务器可以通过上述提及的下发远程命令的通信链路(即:管控服务器→接入服务→客户服务器)完成输出信息以及最终执行结果的回传。
S404,管控服务器基于用户信息对控制设备进行鉴权处理。
S405,若管控服务器对控制设备鉴权通过,则基于控制请求生成远程命令。
S406,管控服务器将远程命令发送至接入服务器。
由前述可知,远程命令可以携带服务器标识,那么可以理解的是,此处提及的接入服务器为:与该服务器标识对应的客户服务器具有网络连接的接入服务器。
S407,接入服务器通过与客户服务器之间的网络连接,将远程命令发送至客户服务器。
S408,客户服务器执行远程命令。
在一个实施例中,步骤S404至步骤S408对应的执行流程可以参见图5d,如图5d所示,客户可以通过控制设备中的控制台下发控制请求,具体地,客户可以采用控制设备中的控制台下发控制请求至管控服务器,以使管控服务器对控制请求进行合法性验证,进而实现管控服务器对该控制台所在控制设备的鉴权处理;若该控制请求合法(即:该控制设备鉴权通过),管控服务器则基于该控制请求生成远程命令,并指示与控制请求中携带的服务器标识对应的客户服务器具有网络连接的接入服务器,通知该服务器标识对应的客户服务器执行该远程命令(如:通知该服务器标识对应的客户服务器中的客户端执行该远程命令);进一步地,当客户服务器接收到远程命令之后,可以触发客户端执行远程命令,并可以持续的实时上报远程命令的输出信息和远程命令的命令执行结果,进而使得客户在该控制台下发控制请求之后,该控制台可以实时的接收并展示远程命令的输出信息、执行成功与否等信息;在一个可能的实施方式中,该远程命令的数量可以为多条,那么基于此,输出信息可以是每条远程命令的执行结果,进一步地可以理解,上述提及的远程命令的命令执行结果可以为:多条远程命令中所有远程命令的最终执行结果。
其中,该远程命令的输出信息以及该远程命令的执行结果可以通过上述提及的发送远程命令的通信链路反向回传给管控服务器,即:客户服务器将远程命令的输出信息以及最终执行结果发送至接入服务器,再由接入服务器将该远程命令的输出信息以及最终执行结果发送至管控服务,最终可以由管控服务器将接收到的输出信息以及命令执行结果存储至管控服务器的数据库中;进一步地,当管控服务器接收到控制设备发送的针对该远程命令的命令执行结果的查询请求时,管控服务器可以从该管控服务器的数据库中获取该远程命令对应的命令执行结果,并将该命令执行结果发送给控制设备。可以理解,若远程命令正在执行时,管控服务器接收到了控制设备发送的针对该远程命令的命令执行结果的查询请求,则返回提示信息至控制设备,该提示信息用于提示该远程命令正在执行中。
在又一个实施例中,控制请求可以是取消执行请求,那么,当命令执行请求对应的执行命令被发送至客户服务器之后,客户还可以随时地通过控制设备向管控服务器发送取消执行请求,以使得该管控服务器可以将该取消执行请求发送至与该客户服务器建立有网络连接的接入服务器,进而使得该客户服务器可以在接收到该接入服务器基于取消执行请求发送的取消执行命令之后,执行该取消执行命令,从而立即结束当前执行的执行命令对应的进程。其中,该取消执行请求可以携带取消执行命令以及该客户服务器的服务器标识;示例性地,取消远程命令的执行流程可参见图5e。如图5e所示,当客户通过控制设备下发完控制请求之后,可通过该控制设备查询该控制请求对应的执行命令的任务ID,并基于该执行命令的任务ID,再次通过控制设备发起取消该执行命令执行的取消执行请求,可以理解,取消执行请求可以携带该执行命令的任务ID;进一步地,当管控服务器获取到该取消执行请求携带的任务ID之后,可以基于该任务ID查询管控服务器的数据库,以校验该任务ID对应的执行命令是否正在执行,如果管控服务器校验得到该任务ID对应的执行命令正在执行,管控服务器则基于该客户服务器的服务器标识,将该取消执行请求携带的取消执行命令发送至与该客户服务器关联的接入服务器,并通知该接入服务器向该客户服务器下发“取消执行远程命令”的通知信息;当客户服务器接收到该通知信息之后,可以立即结束正在执行的执行命令,并生成取消执行结果;可选地,客户服务器还可以将取消执行结果上报给接入服务器,以使接入服务器将该取消执行结果回传至管控服务器,并由管控服务器将接收到的取消执行结果存储至管控服务器的数据库中,以供客户查询该执行命令的取消执行结果。
本申请通过客户服务器(或云环境网络设备)对客户服务器发送的网络连接请求添加该客户服务器的身份信息,使得接入服务器在接收到该网络连接请求之后,可以通过该身份信息完成对该客户服务器的鉴权处理,以确定该客户服务器是否为云环境内特定客户的客户服务器,进而实现客户服务器与接入服务器的网络连接,由于上述网络连接的建立过程无需客户参与,解决了传统远程命令执行方法在鉴权问题上需要客户服务器配置特定密钥,进而导致远程命令执行方法无法自动化实现的问题;实现了鉴权处理过程对客户透明无感知,可见,本申请提供的远程命令执行方法非常贴合云环境下云服务器资源弹性伸缩的特点,实现了客户可以随用随买,用完即退的需求,不仅实现了远程命令的自动化执行,还提升了远程命令执行的便捷性。
基于上述远程命令执行方法实施例的描述,本申请还公开了一种远程命令执行装置,该远程命令执行装置可以是运行于上述所提及的管控服务器中的一个计算机程序(包括程序代码)。该远程命令执行装置可以执行图2所示的方法中所有步骤,以及图4所示的方法中的步骤S403至步骤S406。请参见图6,所述远程命令执行装置可以包括:第一接收单元601、鉴权单元602、第一生成单元603以及第一发送单元604。
第一接收单元601,用于接收控制设备发送的针对客户服务器的控制请求,所述控制请求携带所述控制设备的用户信息,以及服务器标识;
鉴权单元602,用于基于所述用户信息对所述控制设备进行鉴权处理;
第一生成单元603,用于若对所述控制设备鉴权通过,则基于所述控制请求生成远程命令,所述远程命令携带所述服务器标识;
第一发送单元604,用于将所述远程命令发送至接入服务器,以使所述接入服务器通过与所述服务器标识对应的客户服务器之间的网络连接,将所述远程命令发送至所述客户服务器,所述客户服务器执行所述远程命令,所述网络连接是所述接入服务器基于所述客户服务器的身份信息对所述客户服务器鉴权通过之后建立的,所述身份信息携带在网络连接请求中,所述网络连接请求是所述客户服务器发送至所述接入服务器的。
在一种实施方式中,当所述控制请求为命令执行请求时,所述远程命令为执行命令,所述执行命令用于指示所述客户服务器执行所述执行命令;当所述控制请求为取消执行请求时,所述远程命令为取消执行命令,所述取消执行命令用于指示所述客户服务器取消执行所述执行命令。
在又一种实施方式中,所述第一接收单元601还用于:
接收所述接入服务器发送的命令执行结果,所述命令执行结果为所述客户服务器执行所述客户服务器接收到的远程命令后生成并发送至所述接入服务器的;
将所述命令执行结果存储至所述管控服务器的数据库;
若接收到所述控制设备针对所述命令执行结果的查询请求,从所述管控服务器的数据库中获取所述命令执行结果;
所述第一发送单元604用于:将所述命令执行结果发送至所述控制设备。
在又一种实施方式中,所述控制请求为命令执行请求,所述命令执行请求还携带周期性执行条件,所述第一接收单元601还用于:
若对所述控制设备鉴权通过,则存储所述远程命令,以及所述周期性执行条件;
所述第一发送单元604还用于:若满足所述周期性执行条件,则将所述远程命令再次发送至所述接入服务器,以使所述接入服务器通过与所述服务器标识对应的客户服务器之间的网络连接,将所述远程命令发送至所述客户服务器,所述客户服务器执行所述远程命令。
在又一种实施方式中,所述控制请求携带的服务器标识的数量为多个,且不同服务器标识对应不同的客户服务器,所述第一发送单元602在执行将所述远程命令发送至接入服务器,以使所述接入服务器通过与所述服务器标识对应的客户服务器之间的网络连接,将所述远程命令发送至所述客户服务器时,还用于:
将所述远程命令发送至接入服务器,以使所述接入服务器通过与所述多个服务器标识中每个服务器标识对应的客户服务器之间的网络连接,将所述远程命令发送至所述每个服务器标识对应的客户服务器。
根据本申请的一个实施例,图2所示的远程命令执行方法中的各个步骤,以及图4所示的方法中的步骤S403至步骤S406均可由图6所示的远程命令执行装置中各个单元来执行。例如:图2所示的步骤S201可以由图6所示的远程命令执行装置中的第一接收单元601来执行,步骤S202可以由图6所示的远程命令执行装置中鉴权单元602来执行,步骤S203可以由图6所示的远程命令执行装置中的第一生成单元603来执行,步骤S204可以由图6所示的远程命令执行装置中的第一发送单元604来执行;再如,图4所示的步骤S403可以由图6所示的远程命令执行装置中的第一接收单元601来执行,步骤S404可以由图6所示的远程命令执行装置中鉴权单元602来执行,步骤S405可以由图6所示的远程命令执行装置中的第一生成单元603来执行,步骤S406可以由图6所示的远程命令执行装置中的第一发送单元604来执行。
根据本申请的另一个实施例,图6所示的远程命令执行装置中的各个单元是基于逻辑功能划分的,上述各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。在本申请的其它实施例中,上述远程命令执行装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用终端上运行能够执行如图2,以及图4所示的方法中的步骤S403至步骤S406所涉及的各步骤的计算机程序(包括程序代码),来构造如图6中所示的远程命令执行装置,以及来实现本申请的远程命令执行方法。所述计算机程序可以记载于例如存储介质上,并通过存储介质装载于上述管控服务器中,并在其中运行。
本申请提供的远程命令执行装置通过在网络连接请求上添加客户服务器的身份信息,使得接入服务器可以基于该身份信息对客户服务器进行鉴权处理,避免了人工参与鉴权过程,进而避免了人工参与网络连接过程,实现了网络连接的自动化;进一步地,在接入服务器与客户服务器建立了网络连接之后,可以通过管控服务器基于接收到的控制请求生成远程命令,并将远程命令发送至接入服务器,以使得该接入服务器可以通过与该服务器标识对应的客户服务器之间的网络连接,将该接入服务器接收到的远程命令下发至该客户服务器,进而使得客户服务器可以执行该远程命令,可见,本申请提供的远程命令执行方法通过实现自动化网络连接,进而实现了远程命令的自动化执行,有效提升了远程命令执行的便捷性。
基于上述远程命令执行方法实施例以及远程命令执行装置的描述,本申请还公开了另一种远程命令执行装置,该远程命令执行装置可以是运行于上述所提及的管控服务器中的一个计算机程序(包括程序代码)。该远程命令执行装置可以执行图2所示的方法中所有步骤,以及图4所示的方法中的步骤S403至步骤S406。请参见图7,所述远程命令执行装置可以包括:第二发送单元701,第二接收单元702、执行单元703以及第二生成单元704。
第二发送单元701,用于向接入服务器发送网络连接请求,所述网络连接请求携带所述客户服务器的身份信息,以使所述接入服务器基于所述身份信息对所述客户服务器进行鉴权处理,若所述客户服务器鉴权通过,则所述接入服务器与所述客户服务器建立网络连接;
第二接收单元702,用于通过与所述接入服务器之间的网络连接,接收所述接入服务器发送的远程命令,其中,所述远程命令是管控服务器对控制设备鉴权通过后,基于控制请求发送至所述接入服务器的,所述控制请求是所述控制设备发送至所述管控服务器的,所述控制请求携带服务器标识和所述控制设备的用户信息,所述服务器标识用于标识所述客户服务器,所述用户信息用于所述管控服务器对所述控制设备进行鉴权处理;
执行单元703,用于执行所述远程命令。
在一种实施方式中,所述控制请求为取消执行请求,所述第二接收单元702还用于:
通过与所述接入服务器之间的网络连接,接收所述接入服务器基于所述取消执行请求发送的取消执行命令,所述取消执行请求是所述管控服务器将所述控制设备发送的取消执行请求转发至所述接入服务器的,所述取消执行请求携带所述服务器标识;
所述执行单元703还用于:执行所述取消执行命令,以停止执行所述远程命令。
在又一种实施方式中,所述远程命令执行装置还包括第二生成单元704,所述第二生成单元704用于:生成命令执行结果;
所述第二发送单元701还用于执行:通过与所述接入服务器之间的网络连接,将所述命令执行结果发送至所述接入服务器,以使所述接入服务器将所述命令执行结果发送至所述管控服务器,所述管控服务器将所述命令执行结果存储至所述管控服务器的数据库。
根据本申请的一个实施例,图4所示的方法中的步骤S401、步骤S407至步骤S408均可由图7所示的远程命令执行装置中各个单元来执行。例如,图4所示的步骤S401、步骤S407均可以由图7所示的远程命令执行装置中的第二发送单元701来执行,步骤S408可以由图7所示的远程命令执行装置中执行单元703来执行。
根据本申请的另一个实施例,图7所示的远程命令执行装置中的各个单元是基于逻辑功能划分的,上述各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。在本申请的其它实施例中,上述远程命令执行装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用终端上运行能够执行图4所示的方法中的步骤S401、步骤S407和步骤S408所涉及的各步骤的计算机程序(包括程序代码),来构造如图7中所示的远程命令执行装置,以及来实现本申请的远程命令执行方法。所述计算机程序可以记载于例如存储介质上,并通过存储介质装载于上述客户服务器中,并在其中运行。
本申请提供的远程命令执行装置通过在网络连接请求上添加客户服务器的身份信息,使得接入服务器可以基于该身份信息对客户服务器进行鉴权处理,避免了人工参与鉴权过程,进而避免了人工参与网络连接过程,实现了网络连接的自动化;进一步地,在接入服务器与客户服务器建立了网络连接之后,可以通过管控服务器基于接收到的控制请求生成远程命令,并将远程命令发送至接入服务器,以使得该接入服务器可以通过与该服务器标识对应的客户服务器之间的网络连接,将该接入服务器接收到的远程命令下发至该客户服务器,进而使得客户服务器可以执行该远程命令,可见,本申请提供的远程命令执行方法通过实现自动化网络连接,进而实现了远程命令的自动化执行,有效提升了远程命令执行的便捷性。
基于上述方法实施例以及装置实施例的描述,本申请还提供了一种管控服务器,请参见图8,该管控服务器包括处理器801,输入接口802、输出接口803以及存储介质804,且该管控服务器的处理器801,输入接口802、输出接口803以及存储介质804可通过总线或其他方式连接。
所述存储介质804是管控服务器中的记忆设备,用于存放程序和数据。可以理解的是,此处的存储介质804既可以包括管控服务器中的内置存储介质,当然也可以包括管控服务器所支持的扩展存储介质。存储介质804提供存储空间,该存储空间存储了管控服务器的操作***。并且,在该存储空间中还存放了适于被处理器801加载并执行的一条或多条的计算机程序。需要说明的是,此处的计算机存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的,还可以是至少一个位于远离前述处理器的计算机存储介质。所述处理器801(或称CPU(Central ProcessingUnit,中央处理器))是管控服务器的计算核心以及控制核心,其适于实现一条或多条计算机程序,具体适于加载并执行一条或多条计算机程序从而实现相应方法流程或相应功能。
在一个实施例中,管控服务器可以由处理器801加载并执行存储介质804中存放的一条或多条计算机程序,以实现上述有关图2所示的方法,以及图4所示的方法中的步骤S403和步骤S406。具体实现中,存储介质804中的一条或多条计算机程序由处理器801加载并执行:
接收控制设备发送的针对客户服务器的控制请求,所述控制请求携带所述控制设备的用户信息,以及服务器标识;
基于所述用户信息对所述控制设备进行鉴权处理;
若对所述控制设备鉴权通过,则基于所述控制请求生成远程命令,所述远程命令携带所述服务器标识;
将所述远程命令发送至接入服务器,以使所述接入服务器通过与所述服务器标识对应的客户服务器之间的网络连接,将所述远程命令发送至所述客户服务器,所述客户服务器执行所述远程命令,所述网络连接是所述接入服务器基于所述客户服务器的身份信息对所述客户服务器鉴权通过之后建立的,所述身份信息携带在网络连接请求中,所述网络连接请求是所述客户服务器发送至所述接入服务器的。
在一种实施方式中,当所述控制请求为命令执行请求时,所述远程命令为执行命令,所述执行命令用于指示所述客户服务器执行所述执行命令;当所述控制请求为取消执行请求时,所述远程命令为取消执行命令,所述取消执行命令用于指示所述客户服务器取消执行所述执行命令。
在又一种实施方式中,所述输入接口802还用于执行:
接收所述接入服务器发送的命令执行结果,所述命令执行结果为所述客户服务器执行所述客户服务器接收到的远程命令后生成并发送至所述接入服务器的;
所述处理器801具体用于加载并执行:将所述命令执行结果存储至所述管控服务器的数据库;
若接收到所述控制设备针对所述命令执行结果的查询请求,从所述管控服务器的数据库中获取所述命令执行结果;
所述输出接口803还用于:将所述命令执行结果发送至所述控制设备。
在又一种实施方式中,所述控制请求为命令执行请求,所述命令执行请求还携带周期性执行条件,所述处理器801还用于:
若对所述控制设备鉴权通过,则存储所述远程命令,以及所述周期性执行条件;
若满足所述周期性执行条件,则将所述远程命令再次发送至所述接入服务器,以使所述接入服务器通过与所述服务器标识对应的客户服务器之间的网络连接,将所述远程命令发送至所述客户服务器,所述客户服务器执行所述远程命令。
在又一种实施方式中,所述控制请求携带的服务器标识的数量为多个,且不同服务器标识对应不同的客户服务器;所述处理器801在执行将所述远程命令发送至接入服务器,以使所述接入服务器通过与所述服务器标识对应的客户服务器之间的网络连接,将所述远程命令发送至所述客户服务器时,还用于加载并执行:
将所述远程命令发送至接入服务器,以使所述接入服务器通过与所述多个服务器标识中每个服务器标识对应的客户服务器之间的网络连接,将所述远程命令发送至所述每个服务器标识对应的客户服务器。
本申请提供的管控服务器通过将接收到的控制请求生成远程命令,并将远程命令发送至接入服务器,以使得该接入服务器可以通过与客户服务器之间的网络连接,将该接入服务器接收到的远程命令下发至该客户服务器,进而使得客户服务器可以执行该远程命令,而接入服务器与客户服务器的网络连接时基于该客户服务器向接入服务器自动发送网络连接请求,且该接入服务器对该客户服务器的鉴权通过后建立的,可见,本申请提供的远程命令执行方法实现了自动化网络连接,有效提升了远程命令执行的便捷性。
基于上述方法实施例以及装置实施例的描述,本申请还提供了一种客户服务器,请参见图9,该管控服务器包括处理器901,输入接口902、输出接口903以及存储介质904,且该客户服务器的处理器901,输入接口902、输出接口903以及存储介质904可通过总线或其他方式连接。
所述存储介质904是客户服务器中的记忆设备,用于存放程序和数据。可以理解的是,此处的存储介质904既可以包括客户服务器中的内置存储介质,当然也可以包括客户服务器所支持的扩展存储介质。存储介质904提供存储空间,该存储空间存储了客户服务器的操作***。并且,在该存储空间中还存放了适于被处理器901加载并执行的一条或多条的计算机程序。需要说明的是,此处的计算机存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的,还可以是至少一个位于远离前述处理器的计算机存储介质。所述处理器901(或称CPU(Central ProcessingUnit,中央处理器))是客户服务器的计算核心以及控制核心,其适于实现一条或多条计算机程序,具体适于加载并执行一条或多条计算机程序从而实现相应方法流程或相应功能。
在一个实施例中,客户服务器可以由处理器801加载并执行存储介质804中存放的一条或多条计算机程序,以实现上述有关图4所示的方法中的步骤S401、步骤S407和步骤S408。具体实现中,存储介质804中的一条或多条计算机程序由处理器801加载并执行:
向接入服务器发送网络连接请求,所述网络连接请求携带所述客户服务器的身份信息,以使所述接入服务器基于所述身份信息对所述客户服务器进行鉴权处理,若所述客户服务器鉴权通过,则所述接入服务器与所述客户服务器建立网络连接;
通过与所述接入服务器之间的网络连接,接收所述接入服务器发送的远程命令,其中,所述远程命令是管控服务器对控制设备鉴权通过后,基于控制请求发送至所述接入服务器的,所述控制请求是所述控制设备发送至所述管控服务器的,所述控制请求携带服务器标识和所述控制设备的用户信息,所述服务器标识用于标识所述客户服务器,所述用户信息用于所述管控服务器对所述控制设备进行鉴权处理;
执行所述远程命令。
在一种实施方式中,所述控制请求为取消执行请求,所述输入单元902还用于:
通过与所述接入服务器之间的网络连接,接收所述接入服务器基于所述取消执行请求发送的取消执行命令,所述取消执行请求是所述管控服务器将所述控制设备发送的取消执行请求转发至所述接入服务器的,所述取消执行请求携带所述服务器标识;
处理器901还用于具体加载并执行:执行所述取消执行命令,以停止执行所述远程命令。
在又一种实施方式中,所述处理器901还用于加载并执行:生成命令执行结果;
所述输出单元903还具体用于加载并执行:通过与所述接入服务器之间的网络连接,将所述命令执行结果发送至所述接入服务器,以使所述接入服务器将所述命令执行结果发送至所述管控服务器,所述管控服务器将所述命令执行结果存储至所述管控服务器的数据库。
本申请提供的客户服务器通过在网络连接请求上添加客户服务器的身份信息,使得接入服务器可以基于该身份信息对客户服务器进行鉴权处理,避免了人工参与鉴权过程,进而避免了人工参与网络连接过程,实现了网络连接的自动化,有效提升了远程命令执行的便捷性。
本申请还提供了一种存储介质,该存储介质中存储了上述远程命令执行方法的计算机程序,当一个或多个处理器加载并执行该计算机程序,可以实现实施例中对远程命令执行方法的描述,在此不再赘述。对采用相同方法的有益效果的描述,在此不再赘述。可以理解的是,计算机程序可以被部署在一个或多个能够相互通信的设备上执行。
需要说明的是,根据本申请的一个方面,还提供了一种计算机程序产品或计算机程序,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。管控服务器中的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该管控服务器执行:
接收控制设备发送的针对客户服务器的控制请求,所述控制请求携带所述控制设备的用户信息,以及服务器标识;基于所述用户信息对所述控制设备进行鉴权处理;若对所述控制设备鉴权通过,则基于所述控制请求生成远程命令,所述远程命令携带所述服务器标识;将所述远程命令发送至接入服务器,以使所述接入服务器通过与所述服务器标识对应的客户服务器之间的网络连接,将所述远程命令发送至所述客户服务器,所述客户服务器执行所述远程命令,所述网络连接是所述接入服务器基于所述客户服务器的身份信息对所述客户服务器鉴权通过之后建立的,所述身份信息携带在网络连接请求中,所述网络连接请求是所述客户服务器发送至所述接入服务器的。
需要说明的是,根据本申请的又一个方面,还提供了另一种计算机程序产品或计算机程序,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。客户服务器中的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该客户服务器执行:
向接入服务器发送网络连接请求,所述网络连接请求携带所述客户服务器的身份信息,以使所述接入服务器基于所述身份信息对所述客户服务器进行鉴权处理,若所述客户服务器鉴权通过,则所述接入服务器与所述客户服务器建立网络连接;通过与所述接入服务器之间的网络连接,接收所述接入服务器发送的远程命令,其中,所述远程命令是管控服务器对控制设备鉴权通过后,基于控制请求发送至所述接入服务器的,所述控制请求是所述控制设备发送至所述管控服务器的,所述控制请求携带服务器标识和所述控制设备的用户信息,所述服务器标识用于标识所述客户服务器,所述用户信息用于所述管控服务器对所述控制设备进行鉴权处理;执行所述远程命令。
本领域普通技术人员可以理解实现上述方法中的全部或部分流程,是可以通过计算机程序相关的硬件来完成,所述的计算机程序可存储于存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明的局部实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或局部流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
Claims (10)
1.一种远程命令执行方法,其特征在于,所述方法由管控服务器执行,包括:
接收控制设备发送的针对客户服务器的控制请求,所述控制请求携带所述控制设备的用户信息,以及服务器标识;
基于所述用户信息对所述控制设备进行鉴权处理;
若对所述控制设备鉴权通过,则基于所述控制请求生成远程命令,所述远程命令携带所述服务器标识;
将所述远程命令发送至接入服务器,以使所述接入服务器通过与所述服务器标识对应的客户服务器之间的网络连接,将所述远程命令发送至所述客户服务器,所述客户服务器执行所述远程命令,所述网络连接是所述接入服务器基于所述客户服务器的身份信息对所述客户服务器鉴权通过之后建立的,所述身份信息携带在网络连接请求中,所述网络连接请求是所述客户服务器发送至所述接入服务器的。
2.根据权利要求1所述的方法,其特征在于,当所述控制请求为命令执行请求时,所述远程命令为执行命令,所述执行命令用于指示所述客户服务器执行所述执行命令;当所述控制请求为取消执行请求时,所述远程命令为取消执行命令,所述取消执行命令用于指示所述客户服务器取消执行所述执行命令。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收所述接入服务器发送的命令执行结果,所述命令执行结果为所述客户服务器执行所述客户服务器接收到的远程命令后生成并发送至所述接入服务器的;
将所述命令执行结果存储至所述管控服务器的数据库;
若接收到所述控制设备针对所述命令执行结果的查询请求,从所述管控服务器的数据库中获取所述命令执行结果;
将所述命令执行结果发送至所述控制设备。
4.根据权利要求1所述的方法,其特征在于,所述控制请求为命令执行请求,所述命令执行请求还携带周期性执行条件;所述方法还包括:
若对所述控制设备鉴权通过,则存储所述远程命令,以及所述周期性执行条件;
若满足所述周期性执行条件,则将所述远程命令再次发送至所述接入服务器,以使所述接入服务器通过与所述服务器标识对应的客户服务器之间的网络连接,将所述远程命令发送至所述客户服务器,所述客户服务器执行所述远程命令。
5.根据权利要求1所述的方法,其特征在于,所述控制请求携带的服务器标识的数量为多个,且不同服务器标识对应不同的客户服务器;所述将所述远程命令发送至接入服务器,以使所述接入服务器通过与所述服务器标识对应的客户服务器之间的网络连接,将所述远程命令发送至所述客户服务器,包括:
将所述远程命令发送至接入服务器,以使所述接入服务器通过与所述多个服务器标识中每个服务器标识对应的客户服务器之间的网络连接,将所述远程命令发送至所述每个服务器标识对应的客户服务器。
6.一种远程命令执行方法,其特征在于,所述方法由客户服务器执行,包括:
向接入服务器发送网络连接请求,所述网络连接请求携带所述客户服务器的身份信息,以使所述接入服务器基于所述身份信息对所述客户服务器进行鉴权处理,若所述客户服务器鉴权通过,则所述接入服务器与所述客户服务器建立网络连接;
通过与所述接入服务器之间的网络连接,接收所述接入服务器发送的远程命令,其中,所述远程命令是管控服务器对控制设备鉴权通过后,基于控制请求发送至所述接入服务器的,所述控制请求是所述控制设备发送至所述管控服务器的,所述控制请求携带服务器标识和所述控制设备的用户信息,所述服务器标识用于标识所述客户服务器,所述用户信息用于所述管控服务器对所述控制设备进行鉴权处理;
执行所述远程命令。
7.根据权利要求6所述的方法,其特征在于,所述控制请求为取消执行请求,所述方法还包括:
通过与所述接入服务器之间的网络连接,接收所述接入服务器基于所述取消执行请求发送的取消执行命令,所述取消执行请求是所述管控服务器将所述控制设备发送的取消执行请求转发至所述接入服务器的;
执行所述取消执行命令,以停止执行所述远程命令。
8.根据权利要求6或7所述的方法,其特征在于,所述方法还包括:
生成命令执行结果;
通过与所述接入服务器之间的网络连接,将所述命令执行结果发送至所述接入服务器,以使所述接入服务器将所述命令执行结果发送至所述管控服务器,所述管控服务器将所述命令执行结果存储至所述管控服务器的数据库。
9.一种远程命令执行装置,其特征在于,包括:
第一接收单元,用于接收控制设备发送的针对客户服务器的控制请求,所述控制请求携带所述控制设备的用户信息,以及服务器标识;
鉴权单元,用于基于所述用户信息对所述控制设备进行鉴权处理;
第一生成单元,用于若对所述控制设备鉴权通过,则基于所述控制请求生成远程命令,所述远程命令携带所述服务器标识;
第一发送单元,用于将所述远程命令发送至接入服务器,以使所述接入服务器通过与所述服务器标识对应的客户服务器之间的网络连接,将所述远程命令发送至所述客户服务器,所述客户服务器执行所述远程命令,所述网络连接是所述接入服务器基于所述客户服务器的身份信息对所述客户服务器鉴权通过之后建立的,所述身份信息携带在网络连接请求中,所述网络连接请求是所述客户服务器发送至所述接入服务器的。
10.一种远程命令执行装置,其特征在于,包括:
第二发送单元,用于向接入服务器发送网络连接请求,所述网络连接请求携带客户服务器的身份信息,以使所述接入服务器基于所述身份信息对所述客户服务器进行鉴权处理,若所述客户服务器鉴权通过,则所述接入服务器与所述客户服务器建立网络连接;
第二接收单元,用于通过与所述接入服务器之间的网络连接,接收所述接入服务器发送的远程命令,其中,所述远程命令是管控服务器对控制设备鉴权通过后,基于控制请求发送至所述接入服务器的,所述控制请求是所述控制设备发送至所述管控服务器的,所述控制请求携带服务器标识和所述控制设备的用户信息,所述服务器标识用于标识所述客户服务器,所述用户信息用于所述管控服务器对所述控制设备进行鉴权处理;
执行单元,用于执行所述远程命令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110716206.4A CN115525442A (zh) | 2021-06-25 | 2021-06-25 | 一种远程命令执行方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110716206.4A CN115525442A (zh) | 2021-06-25 | 2021-06-25 | 一种远程命令执行方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115525442A true CN115525442A (zh) | 2022-12-27 |
Family
ID=84694205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110716206.4A Pending CN115525442A (zh) | 2021-06-25 | 2021-06-25 | 一种远程命令执行方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115525442A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116827932A (zh) * | 2023-08-30 | 2023-09-29 | 中航金网(北京)电子商务有限公司 | 一种多服务器远程控制方法、装置、电子设备及存储介质 |
-
2021
- 2021-06-25 CN CN202110716206.4A patent/CN115525442A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116827932A (zh) * | 2023-08-30 | 2023-09-29 | 中航金网(北京)电子商务有限公司 | 一种多服务器远程控制方法、装置、电子设备及存储介质 |
CN116827932B (zh) * | 2023-08-30 | 2023-10-31 | 中航金网(北京)电子商务有限公司 | 一种多服务器远程控制方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109547458B (zh) | 登录验证方法、装置、计算机设备及存储介质 | |
CN109194760A (zh) | 业务处理方法、网络***及服务器 | |
CN110798471B (zh) | 空调管理方法及相关装置 | |
CN112738805A (zh) | 设备控制方法和装置、存储介质及电子设备 | |
CN110278187B (zh) | 多终端单点登录方法、***、同步服务器及介质 | |
US20110055361A1 (en) | Systems and methods for generating management agent installations | |
KR960035299A (ko) | 원격 사용자와 응용 서버간의 통신 관리 방법, 원격 사용자의 주체 인증 방법, 분산 컴퓨터 환경을 제공하는 네트워크 및 프로그램 저장 장치 | |
CN104601590A (zh) | 一种登录方法、服务器及移动终端 | |
CN113746633A (zh) | 物联网设备绑定方法、装置、***、云服务器和存储介质 | |
CN112035822A (zh) | 多应用单点登录方法、装置、设备及存储介质 | |
CN110069909B (zh) | 一种免密登录第三方***的方法及装置 | |
CN114995214A (zh) | 远程访问应用的方法、***、装置、设备及存储介质 | |
US20230013371A1 (en) | Data communication method, apparatus, and device, storage medium, and computer program product | |
CN112765583A (zh) | 一种单点登录方法、装置、设备及介质 | |
CN111565181A (zh) | 单一设备登录方法、服务端及客户端 | |
CN113922982A (zh) | 登录方法、电子设备及计算机可读存储介质 | |
EP4087206A1 (en) | Internet-of-things device registration method and apparatus, device and storage medium | |
CN115189897A (zh) | 零信任网络的访问处理方法、装置、电子设备及存储介质 | |
CN111212117A (zh) | 一种远程交互的方法和装置 | |
CN112929388B (zh) | 网络身份跨设备应用快速认证方法和***、用户代理设备 | |
CN115525442A (zh) | 一种远程命令执行方法及装置 | |
CN112333214A (zh) | 一种用于物联网设备管理的安全用户认证方法及*** | |
CN116546062A (zh) | 云手机控制方法及装置、云服务端、存储介质 | |
CN110943962B (zh) | 一种认证方法、网络设备和认证服务器以及转发设备 | |
CN113630447B (zh) | 一种基于web的云服务提供方法、***及存储介质 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40079104 Country of ref document: HK |