CN109257392B - 一种命令处理方法、装置、服务器和存储介质 - Google Patents

一种命令处理方法、装置、服务器和存储介质 Download PDF

Info

Publication number
CN109257392B
CN109257392B CN201811457156.7A CN201811457156A CN109257392B CN 109257392 B CN109257392 B CN 109257392B CN 201811457156 A CN201811457156 A CN 201811457156A CN 109257392 B CN109257392 B CN 109257392B
Authority
CN
China
Prior art keywords
client
task
server
command
communication connection
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.)
Active
Application number
CN201811457156.7A
Other languages
English (en)
Other versions
CN109257392A (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.)
Bigo Technology Pte Ltd
Original Assignee
Guangzhou Baiguoyuan Information Technology Co 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 Guangzhou Baiguoyuan Information Technology Co Ltd filed Critical Guangzhou Baiguoyuan Information Technology Co Ltd
Priority to CN201811457156.7A priority Critical patent/CN109257392B/zh
Publication of CN109257392A publication Critical patent/CN109257392A/zh
Application granted granted Critical
Publication of CN109257392B publication Critical patent/CN109257392B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • H04L67/145Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明实施例公开了一种命令处理方法、装置、服务器和存储介质。在局域网中设置有代理端,在所述局域网外设置有服务器,所述服务器与所述代理端之间具有通信连接,所述方法应用在所述服务器,包括:接收客户端发送的客户端命令;根据所述客户端命令创建客户端任务;通过所述通信连接将所述客户端任务发送至所述代理端,以执行所述客户端命令。通过在局域网外部署中心化的服务器,客户端可直接访问,并不需要防火墙做端口映射,提高了管理的简便性。

Description

一种命令处理方法、装置、服务器和存储介质
技术领域
本发明实施例涉及远程操作的技术,尤其涉及一种命令处理方法、装置、服务器和存储介质。
背景技术
随着软件开发及运维DevOps(开发、技术运营和质量保障三者的交集)技术的发展及自动化的需要,对远程命令执行的依赖越来越大。
一般来说,到远端执行远程命令有两种方式:
第一种,使用操作系统自带的SSH(Secure Shell,安全壳协议)、Telnet(远程终端协议)等远程协议。
第二种,使用专门编写的远程命令。
如图1所示,远程命令执行,使用客户端110,连入执行机120,通过注册机keygen生成密钥key,完成认证加密,同时可避免交互式登录。
当执行机120处于防火墙130甚至NAT(Network Address Translation,网络地址转换)后面时,处于内网中,需要配置防火墙的规则,允许外网中的客户端110连入。
进一步而言,防火墙对入站连接检查较严格,执行机部署在防火墙后,特别是有NAT的情况下,需要防火墙做端口映射才能让外网的客户端访问到内网的执行机,导致管理较为繁琐:
1、客户端权限回收
回收客户端的授权需要到客户端上操作或到远程执行机上操作。
2、远程执行机变更
执行机发生了变更,需要在所有客户端上修改密钥等配置。
3、客户端权限粗放
执行机接收到客户端的远程命令,即需要进行处理。无法按执行机属性、执行命令类型等作统一处理。
4、执行情况分散
执行的逻辑主要在客户端上,执行情况分散在各客户端上。
发明内容
本发明实施例提供一种命令处理方法、装置、服务器和存储介质,以解决远程命令的管理较为繁琐的问题。
第一方面,本发明实施例提供了一种命令处理方法,在局域网中设置有代理端,在所述局域网外设置有服务器,所述服务器与所述代理端之间具有通信连接,所述方法应用在所述服务器,包括:
接收客户端发送的客户端命令;
根据所述客户端命令创建客户端任务;
通过所述通信连接将所述客户端任务发送至所述代理端,以执行所述客户端命令。
可选地,所述代理端位于所述局域网的防火墙内部,所述方法还包括:
与所述代理端建立双向通信的长连接,作为通信连接。
可选地,还包括:
通过所述通信连接接收所述代理端处理所述客户端任务获得的任务结果;
将所述任务结果写入数据库中。
可选地,还包括:
从数据库中查询所述客户端任务对应的任务结果;
将所述任务结果发送至所述客户端。
可选地,所述从数据库中查询所述客户端任务对应的任务结果,包括:
每间隔预设的时间在数据库中查询所述客户端任务对应的任务结果;
或者,
接收所述客户端针对所述客户端任务发送的查询请求;
依据所述查询请求在数据库中查询所述客户端任务对应的任务结果。
可选地,所述根据所述客户端命令创建客户端任务,包括:
对所述客户端进行权限校验;
若所述客户端通过所述权限校验,则按照所述客户端命令创建客户端任务。
可选地,还包括:
若所述代理端发生变更,则更新所述代理端对应的数字证书。
第二方面,本发明实施例还提供了一种命令处理装置,在局域网中设置有代理端,在所述局域网外设置有服务器,所述服务器与所述代理端之间具有通信连接,所述装置应用在所述服务器,包括:
客户端命令接收模块,用于接收客户端发送的客户端命令;
客户端任务创建模块,用于根据所述客户端命令创建客户端任务;
客户端任务发送模块,用于通过所述通信连接将所述客户端任务发送至所述代理端,以执行所述客户端命令。
可选地,所述代理端位于所述局域网的防火墙内部,所述装置还包括:
通信连接建立模块,用于与所述代理端建立双向通信的长连接,作为通信连接。
可选地,还包括:
任务结果接收模块,用于通过所述通信连接接收所述代理端处理所述客户端任务获得的任务结果;
任务结果存储模块,用于将所述任务结果写入数据库中。
可选地,还包括:
任务结果查询模块,用于从数据库中查询所述客户端任务对应的任务结果;
任务结果发送模块,用于将所述任务结果发送至所述客户端。
可选地,所述任务结果查询模块包括:
轮询子模块,用于每间隔预设的时间在数据库中查询所述客户端任务对应的任务结果;
或者,
查询请求接收子模块,用于接收所述客户端针对所述客户端任务发送的查询请求;
请求响应查询子模块,用于依据所述查询请求在数据库中查询所述客户端任务对应的任务结果。
可选地,所述客户端任务创建模块包括:
权限校验子模块,用于对所述客户端进行权限校验;
命令响应创建子模块,用于若所述客户端通过所述权限校验,则按照所述客户端命令创建客户端任务。
可选地,还包括:
数字证书更新模块,用于若所述代理端发生变更,则更新所述代理端对应的数字证书。
第三方面,本发明实施例还提供一种服务器,所述服务器包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现第一方面所述的命令处理方法。
第四方面,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述的命令处理方法。
在本发明实施例中,服务器接收客户端发送的客户端命令,根据客户端命令创建客户端任务,通过通信连接将客户端任务发送至代理端,以执行客户端命令,通过在局域网外部署中心化的服务器,客户端可直接访问,并不需要防火墙做端口映射,提高了管理的简便性,即服务器可方便设置客户端的权限,实现权限的细粒度控制,也方便对客户端的权限进行回收,代理端发生变更时,在服务器中更新数字证书等配置即可,无需在客户端中更新密钥等配置,并且,客户端任务的执行情况汇总至服务器,可把控整体的执行情况。
附图说明
图1为现有技术提供的一种远程命令的网络拓扑图;
图2为本发明实施例一提供的一种命令处理方法的流程图;
图3为本发明实施例一提供的一种远程命令的网络拓扑图;
图4为本发明实施例二提供的一种命令处理方法的流程图;
图5为本发明实施例三提供的一种命令处理方法的流程图;
图6为本发明实施例三提供的一种命令处理装置的结构示意图;
图7为本发明实施例四提供的一种服务器的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图2为本发明实施例一提供的一种命令处理方法的流程图,本实施例可适用于远程命令的处理场景,例如,批量系统配置、批量程序部署、批量运行命令、批量执行任务等等,这些场景针对不同的业务而有所不同,对于直播业务,可应用于测试环境、开发环境、生产环境的服务器运维系统、自动化测试系统中。
如图3所示,在局域网中设置有代理端(Agent)330,代理端330可位于局域网的防火墙340内部,即代理端330位于内网中,在局域网外设置有服务器(Sever)320,即服务器320位于外网中,代理端330可主动地反向连接服务器320,服务器320与代理端330之间具有通信连接,可以保证服务器能让客户端(Client)310及代理端330访问到,这样,处于防火墙(尤其是NAT)后的代理端330就不需要做特别设置了,客户端能够适应不同的网络拓扑,从而解决了要执行的远程命令的执行机处于内网等导致的网络问题及易用性、安全性问题。
此外服务器运行集群部署,可异地容灾,便于做权限控制及本身运维统计,可做可视化运维,解决了安全性问题。
该方法可以由一种命令处理装置来执行,该命令处理装置可以由软件和/或硬件实现,可配置在服务器中,该方法具体包括如下步骤:
S210、接收客户端发送的客户端命令。
在本发明实施例中,客户端与服务器之间可建立远程通信连接,如HTTPS(HyperText Transfer Protocol over Secure Socket Layer,超文本传输安全协议)。
客户端可根据业务需求,如发布文件等,通过命令行、RESTful API(符合REST(Representational State Transfer,表述性状态转移)的应用程序编程接口)等方式,提交要执行的客户端命令给服务器。
需要说明的是,该客户端命令属于远程命令,可以用于远程控制设备执行某些命令,从而完成相应的操作,其中,客户端属于客户端命令的使用方,提交客户端命令执行请求。
S220、根据所述客户端命令创建客户端任务。
服务器在接收到客户端的客户端命令之后,可对客户端命令进行合法性校验,检查该客户端命令是否符合规范。
如果客户端命令符合规范,即通过合法性校验,可响应于客户端的请求,根据该客户端命令创建客户端任务。
具体地,服务器对客户端命令分配一个唯一的标识,如UUID(Universally UniqueIdentifier,通用唯一识别码),作为客户端任务的任务标识,通知客户端,以便对客户端任务进行管理,例如,服务器基于该任务标识管理客户端任务的状态、客户端基于任务标识查询客户端命令的处理结果,等等。
此外,服务器将该客户端命令作为任务参数,连通客户端标识一同写入数据库中。
需要说明的是,在一个业务系统中,通常部署计算机集群,如分布式系统,此时,服务器的数量为两个或两个以上,对此,该数据库可设置为共享的数据库,即所有服务器可以对其进行读写操作。
在本发明的一个实施例中,中心化服务器的设置,可对客户端进行对权限控制,保证在代理端发生变更后,不需要逐一到客户端上修改配置。
在本实施例中,可预先对客户端(以客户端标识表示,如用户账号、MAC(MediaAccess Control,物理地址)地址等等)配置相应的权限,例如,只允许某个客户端以root身份执行所有客户端命令、只允许某个客户端执行某个脚本、允许客户端执行客户端命令的有效期为1天,等等。
对于客户端命令,服务器可对客户端进行权限校验,此时,可识别该客户端的客户端标识,并查询对该客户端标识配置的权限,从而校验其是否具有执行该客户端命令的权限。
若客户端通过权限校验,则按照客户端命令创建客户端任务。
S230、通过所述通信连接将所述客户端任务发送至所述代理端,以执行所述客户端命令。
服务器通过负载均衡等方式,选择一个代理端,作为客户端命令的执行机,通过与其保持的通信连接,将客户端任务发送至该代理端。
该代理端作为执行客户端任务的设备,如SSH服务器,可从该客户端任务中解析客户端命令,并执行该客户端命令。
在本发明实施例中,服务器接收客户端发送的客户端命令,根据客户端命令创建客户端任务,通过通信连接将客户端任务发送至代理端,以执行客户端命令,通过在局域网外部署中心化的服务器,客户端可直接访问,并不需要防火墙做端口映射,提高了管理的简便性,即服务器可方便设置客户端的权限,实现权限的细粒度控制,也方便对客户端的权限进行回收,代理端发生变更时,在服务器中更新数字证书等配置即可,无需在客户端中更新密钥等配置,并且,客户端任务的执行情况汇总至服务器,可把控整体的执行情况。
实施例二
图4为本发明实施例二提供的一种命令处理方法的流程图,本实施例以前述实施例为基础,进一步增加建立通信连接、存储任务结果、查询任务结果的处理操作。该方法具体包括如下步骤:
S410,与所述代理端建立双向通信的长连接,作为通信连接。
在代理端启动之后,可主动与服务器之间通信连接,使用数字证书进行加密及身份验证。
在本发明实施例中,代理端可与服务器建立双向通信的长连接,作为通信连接。
所谓双向通信,又称双全工通信(Full Duplex),可以指通信的双方发送和接收各自独立,可以使数据在两个方向上同时进行传送操作,即在发送数据的同时也能够接收数据,两者同步进行。
而长连接,指在一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发链路检测包。
以WebSocket连接作为通信连接的示例,为了建立一个WebSocket连接,客户端向服务器发起一个HTTP(HyperText Transfer Protocol,超文本传输协议)请求,这个请求和通常的HTTP请求不同,包含了一些附加头信息,其中附加头信息"Upgrade:WebSocket"表明这是一个申请协议升级的HTTP请求,服务器解析这些附加的头信息,产生应答信息返回给客户端,客户端和服务器端的WebSocket连接就建立起来了,双方就可以通过这个连接通道自由地传递信息,并且这个连接会持续存在直到客户端或者服务器端的某一方主动的关闭连接。
S420,若所述代理端发生变更,则更新所述代理端对应的数字证书。
对于删除代理端的情形,则可以查询该代理端的数字证书,并将该数字证书拉入黑名单。
对应增加代理端的情形,如果该代理端为原有的代理端,则可以查询该代理端的数字证书,并将该数字证书从黑名单中移除,如果该代理端为新增的代理端,则直接增加其数字证书。
S430,接收客户端发送的客户端命令。
S440,根据所述客户端命令创建客户端任务。
S450,通过所述通信连接将所述客户端任务发送至所述代理端,以执行所述客户端命令。
S460,通过所述通信连接接收所述代理端处理所述客户端任务获得的任务结果。
S470,将所述任务结果写入数据库中。
代理端接收到执行客户端命令之后,获得执行结果,将该执行结果作为任务结果,上报给服务器。
如果代理端将任务结果上报给当前服务器,当前服务器接收到代理端上报的任务结果,则当前服务器执行S460-S470,将该任务结果关联该客户端任务写入数据库中。
如果代理端将任务结果上报给其它服务器,当前服务器未接收到代理端上报的任务结果,则当前服务器不执行S460-S470,由其它服务器将该任务结果关联该客户端任务写入数据库中。
S480,从数据库中查询所述客户端任务对应的任务结果。
S490,将所述任务结果发送至所述客户端。
如果客户端与服务器一直维持远程通信连接(同步模式),等待客户端任务对应的任务结果,此时,服务器可以每间隔预设的时间在数据库中查询客户端任务对应的任务结果,直至查询到客户端任务对应的任务结果,并将该任务结果发送至客户端,并断开通信连接。
如果客户端使用异步模式,在发送客户端命令之后,服务器返回任务标识UUID并断开与客户端的远程通信连接,此时,服务器等待客户端的查询请求。
客户端重新与服务器建立远程通信连接,并针对客户端任务发送查询请求,则服务器接收客户端针对客户端任务发送的查询请求,则可以依据查询请求在数据库中查询客户端任务对应的任务结果。
需要说明的是,在数据库中查询到的任务结果,可能是当前服务器存储的,也可能是其它服务器存储的,本发明实施例对此不加以限制。
实施例三
图5为本发明实施例三提供的一种命令处理方法的流程图,本实施例以前述实施例为基础,进一步增加客户端、数据库、代理端的处理操作。该方法具体包括如下步骤:
在S501中,客户端与服务器建立通信连接,并向服务器发送客户端命令。
在S502中,服务器进行校验,包括对客户端命令进行合法性校验、对客户端进行权限校验。
如果通过校验,则生成客户端任务,其中,客户端命令作为客户端任务的任务内容,并配置有UUID。
在S503中,服务器将客户端任务写入数据库中。
在S504中,数据库向服务器返回写入成功的通知。
在S505中,服务器返回UUID给客户端。
在S506中,服务器将客户端任务发送至代理端。
在S507中,代理端处理客户端任务,主要是执行客户端命令,并获得处理结果。
在S508中,代理端将任务结果上报至某个服务器。
在S509中,如果当前服务器接收到代理端的任务结果,则将该任务结果存储至数据库中。
在S510中,数据库向服务器返回写入成功的通知。
在S511中,服务器向代理端发送上报成功的通知。
在S512中,如果客户端向服务器发送客户端命令时使用同步模式,维持通信连接,则服务器轮询数据库,从而轮询任务结果。
在S513中,数据库向服务器返回任务结果。
在S514中,服务器主动返回任务结果至客户端。
在S515中,如果客户端向服务器发送客户端命令时使用异步模式,断开通信连接,根据业务需求,再次与服务器建立通信连接,并发送查询请求。
在S516中,服务器依据该查询请求,从数据库查询任务结果。
在S517中,数据库向服务器返回任务结果。
在S518中,服务器返回任务结果至客户端。
实施例三
图6为本发明实施例三提供的一种命令处理装置的结构示意图,在局域网中设置有代理端,在所述局域网外设置有服务器,所述服务器与所述代理端之间具有通信连接,所述装置应用在所述服务器,所述装置具体可以包括如下模块:
客户端命令接收模块610,用于接收客户端发送的客户端命令;
客户端任务创建模块620,用于根据所述客户端命令创建客户端任务;
客户端任务发送模块630,用于通过所述通信连接将所述客户端任务发送至所述代理端,以执行所述客户端命令。
在本发明的一个实施例中,所述代理端位于所述局域网的防火墙内部,所述装置还包括:
通信连接建立模块,用于与所述代理端建立双向通信的长连接,作为通信连接。
在本发明的一个实施例中,还包括:
任务结果接收模块,用于通过所述通信连接接收所述代理端处理所述客户端任务获得的任务结果;
任务结果存储模块,用于将所述任务结果写入数据库中。
在本发明的一个实施例中,还包括:
任务结果查询模块,用于从数据库中查询所述客户端任务对应的任务结果;
任务结果发送模块,用于将所述任务结果发送至所述客户端。
在本发明的一个实施例中,所述任务结果查询模块包括:
轮询子模块,用于每间隔预设的时间在数据库中查询所述客户端任务对应的任务结果;
或者,
查询请求接收子模块,用于接收所述客户端针对所述客户端任务发送的查询请求;
请求响应查询子模块,用于依据所述查询请求在数据库中查询所述客户端任务对应的任务结果。
在本发明的一个实施例中,所述客户端任务创建模块620包括:
权限校验子模块,用于对所述客户端进行权限校验;
命令响应创建子模块,用于若所述客户端通过所述权限校验,则按照所述客户端命令创建客户端任务。
在本发明的一个实施例中,还包括:
数字证书更新模块,用于若所述代理端发生变更,则更新所述代理端对应的数字证书。
本发明实施例所提供的命令处理装置可执行本发明任意实施例所提供的命令处理方法,具备执行方法相应的功能模块和有益效果。
在本发明实施例中,服务器接收客户端发送的客户端命令,根据客户端命令创建客户端任务,通过通信连接将客户端任务发送至代理端,以执行客户端命令,通过在局域网外部署中心化的服务器,客户端可直接访问,并不需要防火墙做端口映射,提高了管理的简便性,即服务器可方便设置客户端的权限,实现权限的细粒度控制,也方便对客户端的权限进行回收,代理端发生变更时,在服务器中更新数字证书等配置即可,无需在客户端中更新密钥等配置,并且,客户端任务的执行情况汇总至服务器,可把控整体的执行情况。
实施例四
图7为本发明实施例四提供的一种服务器的结构示意图,如图7所示,该服务器包括处理器700、存储器710、输入装置720和输出装置730;服务器中处理器700的数量可以是一个或多个,图7中以一个处理器700为例;服务器中的处理器700、存储器710、输入装置720和输出装置730可以通过总线或其他方式连接,图7中以通过总线连接为例。
存储器710作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的命令处理方法对应的程序指令/模块(例如,客户端命令接收模块610、客户端任务创建模块620和客户端任务发送模块630)。处理器700通过运行存储在存储器710中的软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述的命令处理方法。
存储器710可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器710可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器710可进一步包括相对于处理器700远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置720可用于接收输入的数字或字符信息,以及产生与服务器的用户设置以及功能控制有关的键信号输入。输出装置730可包括显示屏等显示设备。
实施例五
本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种命令处理方法,该方法包括:
接收客户端发送的客户端命令;
根据所述客户端命令创建客户端任务;
通过所述通信连接将所述客户端任务发送至所述代理端,以执行所述客户端命令。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的命令执行方法中的相关操作.
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述命令执行装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (8)

1.一种命令处理方法,其特征在于,在局域网中设置有代理端,在所述局域网外设置有服务器,所述代理端位于所述局域网的防火墙内部,所述代理端基于WebSocket长连接反向连接所述服务器,所述服务器与所述代理端之间具有通信连接,所述方法应用在所述服务器,包括:
接收客户端发送的客户端命令;
根据所述客户端命令创建客户端任务;
通过所述通信连接将所述客户端任务发送至所述代理端,以从所述客户端任务中解析客户端命令、执行所述客户端命令;
通过所述通信连接接收所述代理端处理所述客户端任务获得的任务结果;
将所述任务结果写入数据库中;
从数据库中查询所述客户端任务对应的任务结果;
将所述任务结果发送至所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
与所述代理端建立双向通信的长连接,作为通信连接。
3.根据权利要求1所述的方法,其特征在于,所述从数据库中查询所述客户端任务对应的任务结果,包括:
每间隔预设的时间在数据库中查询所述客户端任务对应的任务结果;
或者,
接收所述客户端针对所述客户端任务发送的查询请求;
依据所述查询请求在数据库中查询所述客户端任务对应的任务结果。
4.根据权利要求1-2任一项所述的方法,其特征在于,所述根据所述客户端命令创建客户端任务,包括:
对所述客户端进行权限校验;
若所述客户端通过所述权限校验,则按照所述客户端命令创建客户端任务。
5.根据权利要求1-2任一项所述的方法,其特征在于,还包括:
若所述代理端发生变更,则更新所述代理端对应的数字证书。
6.一种命令处理装置,其特征在于,在局域网中设置有代理端,在所述局域网外设置有服务器,所述代理端位于所述局域网的防火墙内部,所述代理端基于WebSocket长连接反向连接所述服务器,所述服务器与所述代理端之间具有通信连接,所述装置应用在所述服务器,包括:
客户端命令接收模块,用于接收客户端发送的客户端命令;
客户端任务创建模块,用于根据所述客户端命令创建客户端任务;
客户端任务发送模块,用于通过所述通信连接将所述客户端任务发送至所述代理端,以从所述客户端任务中解析客户端命令、执行所述客户端命令;
任务结果接收模块,用于通过所述通信连接接收所述代理端处理所述客户端任务获得的任务结果;
任务结果存储模块,用于将所述任务结果写入数据库中;
任务结果查询模块,用于从数据库中查询所述客户端任务对应的任务结果;
任务结果发送模块,用于将所述任务结果发送至所述客户端。
7.一种服务器,其特征在于,所述服务器包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的命令处理方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的命令处理方法。
CN201811457156.7A 2018-11-30 2018-11-30 一种命令处理方法、装置、服务器和存储介质 Active CN109257392B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811457156.7A CN109257392B (zh) 2018-11-30 2018-11-30 一种命令处理方法、装置、服务器和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811457156.7A CN109257392B (zh) 2018-11-30 2018-11-30 一种命令处理方法、装置、服务器和存储介质

Publications (2)

Publication Number Publication Date
CN109257392A CN109257392A (zh) 2019-01-22
CN109257392B true CN109257392B (zh) 2021-09-17

Family

ID=65042591

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811457156.7A Active CN109257392B (zh) 2018-11-30 2018-11-30 一种命令处理方法、装置、服务器和存储介质

Country Status (1)

Country Link
CN (1) CN109257392B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111490997B (zh) * 2019-01-25 2023-05-12 北京京东尚科信息技术有限公司 任务处理方法、代理系统、服务系统和电子设备
CN110908778B (zh) * 2019-10-10 2024-03-19 平安科技(深圳)有限公司 任务部署方法、系统和存储介质
CN112637324A (zh) * 2020-12-18 2021-04-09 北京浪潮数据技术有限公司 一种ambari服务端与代理端的通信方法、装置、设备及介质
CN112804376B (zh) * 2021-03-22 2022-02-15 北京浩瀚深度信息技术股份有限公司 一种nat环境下批量命令执行方法、装置及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102035904A (zh) * 2010-12-10 2011-04-27 北京中科大洋科技发展股份有限公司 一种将tcp网络通信服务端转换为客户端的方法
CN103179104A (zh) * 2011-12-23 2013-06-26 中国移动通信集团公司 一种远程服务的访问方法、系统及其设备
CN106330636A (zh) * 2016-09-18 2017-01-11 乐视控股(北京)有限公司 智能设备远程控制方法及装置
CN106332142A (zh) * 2016-09-14 2017-01-11 深圳市信锐网科技术有限公司 一种网络访问的配置方法及控制端
CN107222519A (zh) * 2017-04-13 2017-09-29 上海寰创通信科技股份有限公司 一种基于外网实现远程访问内网设备的方法
CN108076089A (zh) * 2016-11-10 2018-05-25 法乐第(北京)网络科技有限公司 一种远程控制方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7707269B2 (en) * 2005-11-02 2010-04-27 Nortel Networks Limited Interfacing between a command line interface-based application program and a remote network device
CN107770189A (zh) * 2017-10-30 2018-03-06 湖北三新文化传媒有限公司 反向代理方法、系统、代理服务器及存储介质
CN107888683A (zh) * 2017-11-10 2018-04-06 郑州云海信息技术有限公司 一种客户端交互方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102035904A (zh) * 2010-12-10 2011-04-27 北京中科大洋科技发展股份有限公司 一种将tcp网络通信服务端转换为客户端的方法
CN103179104A (zh) * 2011-12-23 2013-06-26 中国移动通信集团公司 一种远程服务的访问方法、系统及其设备
CN106332142A (zh) * 2016-09-14 2017-01-11 深圳市信锐网科技术有限公司 一种网络访问的配置方法及控制端
CN106330636A (zh) * 2016-09-18 2017-01-11 乐视控股(北京)有限公司 智能设备远程控制方法及装置
CN108076089A (zh) * 2016-11-10 2018-05-25 法乐第(北京)网络科技有限公司 一种远程控制方法及装置
CN107222519A (zh) * 2017-04-13 2017-09-29 上海寰创通信科技股份有限公司 一种基于外网实现远程访问内网设备的方法

Also Published As

Publication number Publication date
CN109257392A (zh) 2019-01-22

Similar Documents

Publication Publication Date Title
CN109257392B (zh) 一种命令处理方法、装置、服务器和存储介质
US10171590B2 (en) Accessing enterprise communication systems from external networks
US11025605B2 (en) System and method for secure application communication between networked processors
US10601810B2 (en) Private cloud routing server connection mechanism for use in a private communication architecture
TWI545446B (zh) 與一公用雲端網路一同使用之方法及系統
TWI632465B (zh) 利用公有雲端網路的方法、私有雲端路由伺服器及智慧型裝置客戶端
WO2019153722A1 (zh) 终端通信的方法、装置、终端及存储介质
CN110741614B (zh) 数据通信系统和方法
TWI574164B (zh) 用於私有通訊架構之私有雲端路由服務器連接機制
US11863529B2 (en) Private cloud routing server connection mechanism for use in a private communication architecture
US20050135269A1 (en) Automatic configuration of a virtual private network
CN111064742B (zh) 一种基于网络代理实现内网访问的方法、装置及相关设备
CN108347450B (zh) 一种远程登录的方法及设备
CN113992427B (zh) 基于相邻节点的数据加密发送方法及装置
JP6393475B2 (ja) 通信アダプタ装置、通信システム、トンネル通信方法、及びプログラム
WO2017114128A1 (zh) 一种报文处理方法及装置
CN110049024B (zh) 一种数据传输方法、中转服务器及接入网点服务器
US11683292B2 (en) Private cloud routing server connection mechanism for use in a private communication architecture
CN115499177A (zh) 云桌面访问方法、零信任网关、云桌面客户端和服务端
KR20170038568A (ko) Sdn 컨트롤러 및 sdn 컨트롤러에서의 스위치 식별 방법
TWI511596B (zh) 提供遠端存取的通訊系統及其通訊方法
TW202233007A (zh) 用於私有通訊架構的連接方法與電腦可讀取媒體
CN110266705B (zh) 一种控制方法及系统
JP6150137B2 (ja) 通信装置及び異機種間通信制御方法及び運用管理の専門性の排除方法
WO2016082363A1 (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
TR01 Transfer of patent right

Effective date of registration: 20220601

Address after: 31a, 15 / F, building 30, maple mall, bangrang Road, Brazil, Singapore

Patentee after: Baiguoyuan Technology (Singapore) Co.,Ltd.

Address before: 511442 23-39 / F, building B-1, Wanda Plaza North, Wanbo business district, 79 Wanbo 2nd Road, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Patentee before: GUANGZHOU BAIGUOYUAN INFORMATION TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right