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

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

Info

Publication number
CN113190292A
CN113190292A CN202110579042.5A CN202110579042A CN113190292A CN 113190292 A CN113190292 A CN 113190292A CN 202110579042 A CN202110579042 A CN 202110579042A CN 113190292 A CN113190292 A CN 113190292A
Authority
CN
China
Prior art keywords
rpc
server
module
servers
function
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
CN202110579042.5A
Other languages
English (en)
Other versions
CN113190292B (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

Images

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上启动PRC客户端服务,在pc2、pc3、pc4上启动PRC服务端和PRC客户端服务,在pc5上启动PRC服务端服务,这样可以同时串联控制多主机,进行多台服务器的联机测试等工作。
有五台主机,主机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 true CN113190292A (zh) 2021-07-30
CN113190292B 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 (7)

* 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 北京和利时***工程股份有限公司 一种分布式控制***中的远程过程调用方法及***
US20140040924A1 (en) * 2011-07-13 2014-02-06 Adobe Systems Incorporated Invocation of additional processing using remote procedure calls
CN104219329A (zh) * 2014-09-28 2014-12-17 浪潮软件集团有限公司 一种集群服务器中通过内容分发部署业务的方法
CN108965312A (zh) * 2018-07-30 2018-12-07 深圳高新兴物联科技有限公司 远程调用方法、装置、***和存储介质
CN111597061A (zh) * 2020-05-25 2020-08-28 瑞斯康达科技发展股份有限公司 一种客户端或服务端进行远程过程调用方法及装置

Patent Citations (7)

* 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 北京和利时***工程股份有限公司 一种分布式控制***中的远程过程调用方法及***
US20140040924A1 (en) * 2011-07-13 2014-02-06 Adobe Systems Incorporated Invocation of additional processing using remote procedure calls
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
CN113190292B (zh) 2023-09-26

Similar Documents

Publication Publication Date Title
JP4664977B2 (ja) 装置管理システムのための装置管理方法
CN101350817B (zh) 网络业务的智能负载平衡和故障转移的方法和装置
RU2533638C2 (ru) Способ и устройство для конфигурирования данных
WO2019178756A1 (zh) Sd-wan***、sd-wan***的使用方法及相关装置
CN101350818B (zh) 网络业务的智能负载平衡和故障转移
CN101394400A (zh) 网络业务的智能负载平衡和故障转移
CN107040531B (zh) 一种通信组件
CN101185070B (zh) 装置管理***和用于在该***中设置配置值的方法
CN108882262B (zh) 设备状态同步方法、***、智能终端及可读存储介质
CN106571992A (zh) 虚拟专线建立方法及装置
CN102647465B (zh) 应用于堆叠***中的ftp数据传输方法和装置
CN113190292A (zh) 一种远程在多台服务器上执行函数的方法和装置
CN102025782A (zh) 一种点对点通信方法、装置及***
CN103138961B (zh) 服务器控制方法、被控服务器及中心控制服务器
CN105472197B (zh) 图像处理***、方法和装置
CN101686147B (zh) 一种终端设备升级方法及实现该方法的终端设备
CN112217680A (zh) 基于软件定义广域网的控制器能力基准测试方法和装置
CN108319515A (zh) 一种海洋电磁甲板监控***通信及多源数据传输方法
CN115001886A (zh) 一种设备控制方法、装置及电子设备
Großmann et al. Cloudless computing-a vision to become reality
WO2016206381A1 (zh) 文件处理方法及装置
CN113542282A (zh) 一种跨计算中心文件传输方法、装置、设备及存储介质
CN106657219B (zh) 基于智能设备的文件上传和下载方法
CN111343010A (zh) 一种配置存储ip网络端口的方法和设备
CN109871288A (zh) 执行Android***命令的方法、装置、设备及介质

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