CN113190292B - 一种远程在多台服务器上执行函数的方法和装置 - Google Patents

一种远程在多台服务器上执行函数的方法和装置 Download PDF

Info

Publication number
CN113190292B
CN113190292B CN202110579042.5A CN202110579042A CN113190292B CN 113190292 B CN113190292 B CN 113190292B CN 202110579042 A CN202110579042 A CN 202110579042A CN 113190292 B CN113190292 B CN 113190292B
Authority
CN
China
Prior art keywords
rpc
server
module
function
server module
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
CN202110579042.5A
Other languages
English (en)
Other versions
CN113190292A (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.)
Dilu Technology Co Ltd
Original Assignee
Dilu 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 Dilu Technology Co Ltd filed Critical Dilu Technology Co Ltd
Priority to CN202110579042.5A priority Critical patent/CN113190292B/zh
Publication of CN113190292A publication Critical patent/CN113190292A/zh
Application granted granted Critical
Publication of CN113190292B publication Critical patent/CN113190292B/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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种远程在多台服务器上执行函数的方法和装置,在实现控制功能的服务器上部署RPC客户端模块,在实现服务功能的服务器上部署RPC服务端模块;对于每个RPC服务端模块,该RPC服务端模块绑定其所在的服务器的IP和端口,暴露其绑定的IP和端口,同时暴露其所在的服务器的函数,该RPC服务端模块循环等待RPC客户端模块传来的参数指令,并在收到参数指令后执行相应的函数;对于每个RPC客户端模块,该RPC客户端模块绑定其要控制的服务器的IP和端口,并向其要控制的服务器对应的RPC服务端模块传送参数指令,控制其要控制的服务器对应的RPC服务端模块执行该RPC服务端模块暴露出来的函数;从而实现只部署RPC客户端模块的服务器对其他所有服务器的远程控制。

Description

一种远程在多台服务器上执行函数的方法和装置
技术领域
本发明涉及一种远程在多台服务器上执行函数的方法和装置,属于远程控制技术领域。
背景技术
目前市面上有很多图形化的远程工具可以实现远程在其他服务器上执行命令,这种工具的实用场景是对某一台服务器进行手动的控制,无法对多台服务器批量进行控制,更是无法进行自动化的控制。目前市面上的远程控制工具可定制性不强,如果需要多台服务器联合测试这种场景,就没有合适的工具可以使用,RPC是远程过程调用(RemoteProcedure Call)的缩写形式。RPC客户程序通过接口调用RPC服务端内部定义的函数,服务端可以获得客户端执行函数的指令以及客户端传的参数,最后执行函数并返回一个返回值给客户端。因此,可以基于RPC技术来开发一种实现一台客户端主机控制多台服务器的方法。
发明内容
本发明所要解决的技术问题是:提供一种远程在多台服务器上执行函数的方法和装置,可以定制化的通过RPC技术实现了一台主机对多台服务器主机的控制,可以同时在多台服务器上执行函数。
本发明为解决上述技术问题采用以下技术方案:
一种远程在多台服务器上执行函数的方法,该方法具体为:
将所有服务器通过同一局域网链接;
对于所有服务器,根据函数启动的先后顺序,在只实现控制功能的服务器上部署RPC客户端模块,在只实现服务功能的服务器上部署RPC服务端模块,在既实现控制功能又实现服务功能的服务器上部署RPC客户端模块和RPC服务端模块;
对于每个RPC服务端模块,该RPC服务端模块绑定其所在的服务器的IP和端口,暴露其绑定的IP和端口,同时暴露其所在的服务器的函数,该RPC服务端模块循环等待RPC客户端模块传来的参数指令,并在收到参数指令后执行相应的函数;
对于每个RPC客户端模块,该RPC客户端模块绑定其要控制的服务器的IP和端口,并向其要控制的服务器对应的RPC服务端模块传送参数指令,控制其要控制的服务器对应的RPC服务端模块执行该RPC服务端模块暴露出来的函数;
从而实现只部署RPC客户端模块的服务器对其他所有服务器的远程控制。
一种远程在多台服务器上执行函数的装置,该装置包括RPC客户端模块和RPC服务端模块,所述RPC客户端模块部署在实现控制功能的服务器上,RPC服务端模块部署在实现服务功能的服务器上;
对于每个RPC服务端模块,该RPC服务端模块绑定其所在的服务器的IP和端口,暴露其绑定的IP和端口,同时暴露其所在的服务器的函数,该RPC服务端模块循环等待RPC客户端模块传来的参数指令,并在收到参数指令后执行相应的函数;
对于每个RPC客户端模块,该RPC客户端模块绑定其要控制的服务器的IP和端口,并向其要控制的服务器对应的RPC服务端模块传送参数指令,控制其要控制的服务器对应的RPC服务端模块执行该RPC服务端模块暴露出来的函数;
从而实现只部署RPC客户端模块的服务器对其他所有服务器的远程控制。
一种计算机设备,包括存储器、处理器,以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述远程在多台服务器上执行函数的方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述远程在多台服务器上执行函数的方法的步骤。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
1、本发明针对同一时刻只能远程控制一台服务器,服务器之间无法通信的问题,定制化的通过RPC技术实现了一台主机对多台服务器主机的控制,可以同时在多台服务器上执行函数。
2、本发明可以用于不属于多台服务上的多服务的联合测试场景,在一台主机上操作控制多台主机。
附图说明
图1是本发明一种远程在多台服务器上执行函数的方法的实施例架构图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本发明介绍了一种基于RPC技术来同时控制多台服务器并发送指令的方法和装置。
本发明一种远程在多台服务器上执行函数的装置主要包括以下两个模块:RPCServer模块(RPC服务端模块)和RPC Client模块(RPC客户端模块);
RPC Server模块是启动在被控制的服务器上的RPC服务端,所有要被控制的服务器上的RPC Server模块都需要绑定服务器的IP和端口,RPC Server暴露绑定的IP、端口和函数,一直循环等待RPC客户端模块传来参数,收到RPC客户端模块参数指令后执行相应的函数。
RPC Client模块是在控制其他服务器的主机上要执行的客户端,同样需要绑定要控制的服务器的IP和端口,RPC Client模块绑定要控制的RPC Server的IP和端口后,可以向RPC服务端模块传参,控制RPC服务端模块执行暴露出来的函数,控制服务器通过不同参数启动相应的服务。
本发明一种远程在多台服务器上执行函数的方法,具体实现思路如下:
***中所有的PC主机通过同一局域网链接,保证互相可以通信。被控制主机作为RPC服务端,在指定的IP和端口开启RPC服务,RPC服务指定一个特定的方法,该方法暴露在特定端口,该方法接受一个字符串参数,根据参数的内容执行不同的命令。
控制主机作为RPC客户端,创建RPC链接,使用IP和端口链接到RPC服务端主机的服务,该RPC客户端对象可以执行RPC服务端暴露出来的方法,通过执行该方法传入参数来控制服务端主机。
一台主机远程控制多台主机就需要在被控的多台主机上部署RPC服务端,控制主机部署RPC客户端,客户端链接多台的RPC服务端并执行对应的方法发送指令以此来控制多台主机,这样就可以实现远程在多台服务器上执行命令。
如图1所示,为本发明实施例的架构图。有五台主机,测试需要在5台主机上分别执行响应的命令来启动服务。
那么可以使用本发明在pc1上启动RPC客户端服务,在pc2、pc3、pc4上启动RPC服务端和RPC客户端服务,在pc5上启动RPC服务端服务,这样可以同时串联控制多主机,进行多台服务器的联机测试等工作。
有五台主机,主机pc1用于操作员进行测试工作。测试工作依赖的四个服务server1、server2、server3、server4分别部署在pc2、pc3、pc4、pc5上面。pc2、pc3、pc4、pc5全都启动本发明的RPC服务。pc1、pc2、pc3、pc4全都可以启动本发明中的RPC客户端。pc1通过对pc2的控制来间接控制了所有服务的管理。
当pc2和pc3的RPC服务启动时,pc1发送指令给pc2,让pc2来启动server1和server2。Pc2会启动自身的server1并发送指令给pc3让pc3启动server2,pc3收到指令后启动server2。类似这样可以完成所有服务的控制。从而实现通过一条指令启动所有部署在其他多台主机上的服务。
以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。

Claims (4)

1.一种远程在多台服务器上执行函数的方法,其特征在于,该方法具体为:
将所有服务器通过同一局域网链接;
对于所有服务器,根据函数启动的先后顺序,在只实现控制功能的服务器上部署RPC客户端模块,在只实现服务功能的服务器上部署RPC服务端模块,在既实现控制功能又实现服务功能的服务器上部署RPC客户端模块和RPC服务端模块;
对于每个RPC服务端模块,该RPC服务端模块绑定其所在的服务器的IP和端口,暴露其绑定的IP和端口,同时暴露其所在的服务器的函数,该RPC服务端模块循环等待RPC客户端模块传来的参数指令,并在收到参数指令后执行相应的函数;
对于每个RPC客户端模块,该RPC客户端模块绑定其要控制的服务器的IP和端口,并向其要控制的服务器对应的RPC服务端模块传送参数指令,控制其要控制的服务器对应的RPC服务端模块执行该RPC服务端模块暴露出来的函数;
从而实现只部署RPC客户端模块的服务器对其他所有服务器的远程控制。
2.一种远程在多台服务器上执行函数的装置,其特征在于,该装置包括RPC客户端模块和RPC服务端模块,所述RPC客户端模块部署在实现控制功能的服务器上,RPC服务端模块部署在实现服务功能的服务器上;
对于每个RPC服务端模块,该RPC服务端模块绑定其所在的服务器的IP和端口,暴露其绑定的IP和端口,同时暴露其所在的服务器的函数,该RPC服务端模块循环等待RPC客户端模块传来的参数指令,并在收到参数指令后执行相应的函数;
对于每个RPC客户端模块,该RPC客户端模块绑定其要控制的服务器的IP和端口,并向其要控制的服务器对应的RPC服务端模块传送参数指令,控制其要控制的服务器对应的RPC服务端模块执行该RPC服务端模块暴露出来的函数;
从而实现只部署RPC客户端模块的服务器对其他所有服务器的远程控制。
3.一种计算机设备,包括存储器、处理器,以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1所述远程在多台服务器上执行函数的方法的步骤。
4.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1所述远程在多台服务器上执行函数的方法的步骤。
CN202110579042.5A 2021-05-26 2021-05-26 一种远程在多台服务器上执行函数的方法和装置 Active CN113190292B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110579042.5A CN113190292B (zh) 2021-05-26 2021-05-26 一种远程在多台服务器上执行函数的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110579042.5A CN113190292B (zh) 2021-05-26 2021-05-26 一种远程在多台服务器上执行函数的方法和装置

Publications (2)

Publication Number Publication Date
CN113190292A CN113190292A (zh) 2021-07-30
CN113190292B true CN113190292B (zh) 2023-09-26

Family

ID=76985326

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110579042.5A Active CN113190292B (zh) 2021-05-26 2021-05-26 一种远程在多台服务器上执行函数的方法和装置

Country Status (1)

Country Link
CN (1) CN113190292B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003084992A (ja) * 2001-09-07 2003-03-20 Fujitsu Ltd クライアントサーバ間のrpc接続プログラム
US6728788B1 (en) * 1999-12-16 2004-04-27 International Business Machines Corporation Method and system for converting a remote procedure call to a local procedure call when the service is on the same device as the calling client
CN1852209A (zh) * 2006-05-31 2006-10-25 北京和利时***工程股份有限公司 一种分布式控制***中的远程过程调用方法及***
CN104219329A (zh) * 2014-09-28 2014-12-17 浪潮软件集团有限公司 一种集群服务器中通过内容分发部署业务的方法
CN108965312A (zh) * 2018-07-30 2018-12-07 深圳高新兴物联科技有限公司 远程调用方法、装置、***和存储介质
CN111597061A (zh) * 2020-05-25 2020-08-28 瑞斯康达科技发展股份有限公司 一种客户端或服务端进行远程过程调用方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9009740B2 (en) * 2011-07-13 2015-04-14 Adobe Systems Incorporated Invocation of additional processing using remote procedure calls

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6728788B1 (en) * 1999-12-16 2004-04-27 International Business Machines Corporation Method and system for converting a remote procedure call to a local procedure call when the service is on the same device as the calling client
JP2003084992A (ja) * 2001-09-07 2003-03-20 Fujitsu Ltd クライアントサーバ間のrpc接続プログラム
CN1852209A (zh) * 2006-05-31 2006-10-25 北京和利时***工程股份有限公司 一种分布式控制***中的远程过程调用方法及***
CN104219329A (zh) * 2014-09-28 2014-12-17 浪潮软件集团有限公司 一种集群服务器中通过内容分发部署业务的方法
CN108965312A (zh) * 2018-07-30 2018-12-07 深圳高新兴物联科技有限公司 远程调用方法、装置、***和存储介质
CN111597061A (zh) * 2020-05-25 2020-08-28 瑞斯康达科技发展股份有限公司 一种客户端或服务端进行远程过程调用方法及装置

Also Published As

Publication number Publication date
CN113190292A (zh) 2021-07-30

Similar Documents

Publication Publication Date Title
EP3471375B1 (en) Method and apparatus for managing field device based on cloud server
RU2533638C2 (ru) Способ и устройство для конфигурирования данных
CN106713454B (zh) 一种网络连接方法及装置
CN101185070B (zh) 装置管理***和用于在该***中设置配置值的方法
US20020111999A1 (en) System and method for remote control of software and an attached device
CN104468854A (zh) 一种纵向融合架构vcf的构建方法及设备
CN102647465B (zh) 应用于堆叠***中的ftp数据传输方法和装置
CN112637931A (zh) 建立网络连接的方法及装置
CN108882262B (zh) 设备状态同步方法、***、智能终端及可读存储介质
CN113190292B (zh) 一种远程在多台服务器上执行函数的方法和装置
CN113472637A (zh) 一种lora网关
CN103138961B (zh) 服务器控制方法、被控服务器及中心控制服务器
CN110602143A (zh) Pc端与远程设备实现通讯的方法、***及可读存储介质
US20060195834A1 (en) Method and system for availability checking on distributed objects
CN106899635B (zh) 文件传输协议数据链路实现固定通信端口的方法及装置
US20140351643A1 (en) Smart terminal fuzzing apparatus and method using multi-node structure
CN115001886A (zh) 一种设备控制方法、装置及电子设备
CN102075532B (zh) 一种防火墙穿透方法
CN111343010A (zh) 一种配置存储ip网络端口的方法和设备
Großmann et al. Cloudless computing-a vision to become reality
CN106657219B (zh) 基于智能设备的文件上传和下载方法
CN101227378A (zh) 基于网络存储的通信业务建立方法及存储设备
CN106790325B (zh) 一种访问网络设备的方法和***
KR20200081799A (ko) 가상 라우터를 이용한 다중 가상 네트워크 통신 시스템 및 방법
CN118041704B (zh) Kubernetes容器访问方法、装置、计算设备及存储介质

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