Web端远程批量操作客户端的方法与流程

文档序号:26057133发布日期:2021-07-27 15:35阅读:165来源:国知局
Web端远程批量操作客户端的方法与流程

本发明涉及web端远程批量操作客户端技术领域,尤其涉及一种web端远程批量操作客户端的方法、装置、存储介质及系统。



背景技术:

websocket是一种在单个tcp连接上进行全双工通信的协议,websocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在websocketapi中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。当需要对批量客户端进行操作时,比如启动某个程序、安装某个软件、执行某个脚本、收集电脑指定数据或者日志等操作时,如果客户端数量较大,例如超过100台客户端,需要通过websocket逐个建立与目标客户端的远程连接,单靠人工操作费时费力,不太现实。



技术实现要素:

本发明提供一种web端远程批量操作客户端的方法、装置、存储介质及系统,旨在解决现有技术中的远程批量操作客户端的问题。

为实现上述目的,本发明提供的web端远程批量操作客户端的方法包括:

步骤s10:收到远程批量操作客户端请求的操作终端发送的请求数据;所述请求数据至少包括认证数据、目标客户端数据和通道申请数据;

步骤s20:读取所述认证数据中操作用户及其认证密钥进行操作用户的用户身份认证;

步骤s30:判断所述用户身份认证是否成功;若成功则执行步骤s40;否则结束;

步骤s40:读取所述目标客户端数据,所述目标客户端与预设的客户端列表中的预设客户端数据进行客户端验证;

步骤s50:判断所述客户端验证是否成功,若成功则执行步骤s60,否则执行步骤s90;

步骤s60:读取所述通道申请数据并将所述通道申请数据结合所述目标客户端数据进行处理,以得到通道请求数据并发送给通道管理服务器,等待所述通道管理服务器的授权指令;

步骤s70:判断是否在预设的时间阈值内收到所述授权指令;若成功收到所述授权指令,执行步骤s80,否则结束;

步骤s80:根据所述授权指令向所述操作终端发送通道连接指令;

步骤s90:向所述操作终端发送验证结果并提示所述操作终端修改请求数据后重新发送远程批量操作客户端请求。

进一步地,所述操作终端为web端,所述操作终端发送的远程批量操作客户端请求为基于web的请求。

进一步地,所述操作终端和目标客户端预先安装同样设置的websocket客户端;所述websocket客户端设置包括websocket服务器设置和websocket协议设置。

进一步地,所述websocket服务器设置至少包括websocket服务器地址设置和端口号设置;所述websocket协议设置包括websocket协议的版本信息、心跳设置、数据加密设置和认证协议设置中的任意一项或多项。

进一步地,所述预设客户端数据包括预先设置的提供远程批量操作的客户端列表、客户端连接信息和连接请求码;所述连接请求码用于向所述通道管理服务器请求通道连接。

进一步地,所述通道申请数据用于申请使用所述通道管理服务器的连接通道,所述通道申请数据至少包括通道申请数量,所述通道申请数量与所述目标客户端的数量相同。

进一步地,所述通道管理服务器收到所述通道申请数据,查看当前通道列表中的连接数量,当所述连接数量低于预设的连接阈值时,根据所述通道申请数据返回授权指令。

此外,本发明提供一种web端远程批量操作客户端的装置,包括存储器和处理器,所述存储器上存储有可在所述处理器运行的web端远程批量操作客户端的程序,所述web端远程批量操作客户端的程序被所述处理器执行时实现如上所述的web端远程批量操作客户端的方法的步骤。

同时,本发明还提供一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质上存储有web端远程批量操作客户端的程序,所述web端远程批量操作客户端的程序可被一个或者多个处理器执行,以实现如上所述的web端远程批量操作客户端的方法的步骤。

本发明还提供一种web端远程批量操作客户端的系统,包括通过网络相互通信连接的web服务器、操作终端、通道管理服务器和多个目标客户端;所述web服务器为如上所述的web端远程批量操作客户端的装置;所述操作终端用于通过web发起操作多个目标客户端;所述目标客户端为windows操作系统且预先安装websocket客户端;所述通道管理服务器用于管理所述操作终端与多个目标客户端的连接通道。

本发明提供的web端远程批量操作客户端的方法、装置、存储介质及系统,通过websocket持久连接降低在通信过程中的cpu和内存的使用,通过通道管理服务器实现连接管理,提升了操作终端远程对多个目标客户端的连接稳定性和安全性,能够实现通过操作终端对数量较大的目标客户端的远程批量操作,且操作简单、时延低,能够快速实现,提升管理效率。

附图说明

图1为本发明实施例一提供的web端远程批量操作客户端的系统的结构示意图;

图2为本发明实施例二提供的web端远程批量操作客户端的方法的流程示意图;

图3为本发明一实施例提供的通道请求数据格式示意图;

图4为本发明实施例三提供的web端远程批量操作客户端的装置内部结构示意图;

图5为本发明实施例三提供的web端远程批量操作客户端的装置中的web端远程批量操作客户端的程序模块示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

请参阅图1,具体在本发明实施例一中,提供一种web端远程批量操作客户端的系统,具体地,所述web端远程批量操作客户端的系统包括通过网络100相互通信连接的web服务器10、操作终端20、通道管理服务器30和多个目标客户端40;其中,网络100可以是互联网,也可以是企业内部网络,具体在本发明实施例一中,网络100为互联网。操作终端20是由管理员具体操作的计算机,管理员通过操作终端20实现对多个目标客户端40的远程批量操作,操作终端和多个目标客户端40均为windows操作系统,所述批量操作包括启动某个程序、安装某个软件、执行某个脚本、收集电脑指定数据或者日志等操作,多个目标客户端40的数量不作限制。web服务器10上安装并启用webserver,操作终端20可通过web浏览器访问web服务器10,操作终端20和多个目标客户端40均安装并设置websocket客户端,所述websocket客户端设置包括websocket服务器设置和websocket协议设置。所述websocket服务器设置至少包括websocket服务器地址设置和端口号设置;所述websocket协议设置包括websocket协议的版本信息、心跳设置、数据加密设置和认证协议设置中的任意一项或多项。

具体在本发明实施例一中,设置举例如下:

websocket客户端设置:

accept-encoding:gzip,deflate,br

accept-language:zh,zh-tw;q=0.9,en-us;q=0.8,en;q=0.7,zh-cn;q=0.6

cache-control:no-cache

connection:upgrade

host:127.0.0.1:3000

origin:http://localhost:3000

pragma:no-cache

sec-websocket-extensions:permessage-deflate;client_max_window_bits

sec-websocket-key:bwb9sfijonxhq/a4plaxig==

sec-websocket-version:13

upgrade:websocket

上述设置中,需要设置的重点字段包括:

connection:upgrade表示要升级协议

upgrade:websocket要升级协议到websocket协议

sec-websocket-version表示websocket的版本。如果服务端不支持该版本,需要返回一个sec-websocket-versionheader,里面包含服务端支持的版本号。

sec-websocket-key对应服务端响应头的sec-websocket-accept

相应地,在websocket服务器端设置sec-websocket-accept。

所述通道管理服务器30用于管理所述操作终端20与多个目标客户端40的连接通道。具体地,当通道管理服务器30接收到通道申请数据,根据请求的目标客户数据、通道申请数量以及连接请求码进行验证,当验证通过后发送授权指令给web服务器10,其中,所述授权指令包括连接验证码;web服务器10将授权指令发送给操作终端20,操作终端20获得授权指令,并根据授权指令中的连接验证码发起远程批量操作客户端请求。

实施例二

请参阅图2,本发明具体的实施例二中提供一种应用在web服务器上的web端远程批量操作客户端的方法,所述web端远程批量操作客户端的方法包括:

步骤s10:收到远程批量操作客户端请求的操作终端发送的请求数据;所述请求数据包括认证数据、目标客户端数据和通道申请数据。

其中,所述操作终端为web端,所述操作终端发送的远程批量操作客户端请求为基于web的请求。所述操作终端和目标客户端预先安装同样设置的websocket客户端;所述websocket客户端设置包括websocket服务器设置和websocket协议设置。所述websocket服务器设置至少包括websocket服务器地址设置和端口号设置;所述websocket协议设置包括websocket协议的版本信息、心跳设置、数据加密设置和认证协议设置中的任意一项或多项。关于websocket服务器设置和websocket客户端设置请参照实施例一,在此不作赘述。

在操作终端发送的远程批量操作客户端请求的请求数据中,认证数据用于web服务器对操作终端的用户认证,例如通过用户名密码的方式对操作终端的操作用户进行认证,优选地,也可以采用其他的认证方式,例如指纹认证、证书认证、多因素认证等,在此不作限定。

步骤s20:读取所述认证数据中操作用户及其认证密钥进行操作用户的用户身份认证。

步骤s30:判断所述用户身份认证是否成功;若成功则执行步骤s40;否则结束。

只有当操作终端的用户认证通过后才进行后续的远程批量操作,确保了远程批量控制客户端的安全性,同时也保证了web服务器的性能。

步骤s40:读取所述目标客户端数据,所述目标客户端与预设的客户端列表中的预设客户端数据进行客户端验证。

具体地,在操作终端发送的远程批量操作客户端请求的请求数据中,目标客户端为操作终端远程批量操作的对象,目标客户端的数量为多个,因此,在操作终端的请求数据中,需要包含目标客户端的数据,所述目标客户端的数据包括目标客户端的数量和目标客户端的连接信息,所述目标客户端的连接信息包括目标客户端的ip地址、连接端口号和websocket版本信息。在web服务器上预设客户端数据,所述预设客户端数据包括预先设置的提供远程批量操作的客户端列表、客户端连接信息和连接请求码;所述连接请求码用于向所述通道管理服务器请求通道连接。

步骤s50:判断所述客户端验证是否成功,若成功则执行步骤s60,否则执行步骤s90。

步骤s60:读取所述通道申请数据并将所述通道申请数据结合所述目标客户端数据进行处理,以得到通道请求数据并发送给通道管理服务器,等待所述通道管理服务器的授权指令。

具体地,web服务器收到的操作终端发送的远程批量操作客户端请求的请求数据中的通道申请数据,所述通道申请数据用于申请使用所述通道管理服务器的连接通道,所述通道申请数据至少包括通道申请数量,所述通道申请数量与所述目标客户端的数量相同。web服务器根据通道申请数据中的通道申请数量并结合目标客户端数据进行处理,根据目标客户端数据中的ip地址查找预设客户端数据,得到通道请求数据。

请参见图3,图3示出在本发明一实施例中的通道请求数据格式,所述通道请求数据包括目的ip地址(即通道管理服务器的ip地址)、源ip地址(即web服务器ip地址)、端口号、数据内容和校验;具体地,所述数据内容包括请求的目标客户端的数量及ip地址以及每一目标客户端对应的连接请求码。所述通道服务器预设有通道列表,所述通道列表中包括预先定义的目标客户端ip地址及每一目标客户端对应的连接授权码,所述连接授权码由连接请求码经加密算法计算得到,所述加密算法例如md5、des、rc2/4、aes等,md5是消息摘要算法(messagedigestalgorithm,md5),des是数据加密标准(dataencryptionstandard,des),rc2/4是初始化和伪随机子密码生成算法,aes是高级加密标准(advancedencryptionstandard,aes)。当通道服务器收到所述连接请求码并经预设相同的加密算法计算得到连接授权码,并将该连接授权码与通道列表中存储的连接授权码进行验证,以确认可使用授权。同时,所述通道管理服务器收到所述通道申请数据,还查看当前通道列表中的连接数量,当所述连接数量低于预设的连接阈值时,根据所述通道申请数据返回授权指令。所述连接阈值根据网络和设备性能、以及远程批量操作的目标客户端最大数量确定,例如限制最大连接数量为1000个,当连接数量超过1000个时通道管理服务器不再授权进行新的连接。优选地,通道服务器通过向web服务器查询当前连接信息与确认连接是否已停止使用,当确认连接已停止使用时,通道服务器清除连接列表中对应的连接。

步骤s70:判断是否在预设的时间阈值内收到所述授权指令;若成功收到所述授权指令,执行步骤s80,否则结束;web服务器收到通道管理服务器发送的授权指令,授权指令中包括授权连接的目标客户端和每一目标客户端对应的连接授权码。

步骤s80:根据所述授权指令向所述操作终端发送通道连接指令;web服务器根据所述授权指令向所述操作终端发送通道连接指令,操作终端通过通道连接指令获得批量连接目标客户端的连接信息,具体地,通道连接指令中包括每一目标客户端的连接地址信息以及连接授权码,所述连接授权码为websocket服务器的sec-websocket-accept,此时,操作终端可同时发起向多个目标客户端的连接请求,建立websocket连接。当连接建立后即可实现操作终端批量操作多个目标客户端。

步骤s90:向所述操作终端发送验证结果并提示所述操作终端修改请求数据后重新发送远程批量操作客户端请求。

当客户端验证不成功时,web服务器向操作终端发送失败的验证结果,操作终端需要修改请求数据后重新发送远程批量操作客户端请求。

实施例三

本发明还提供一种web端远程批量操作客户端的装置,具体地,所述web端远程批量操作客户端的装置为上述实施例一中的web服务器。

请参阅图4,是本发明实施例提供了一种web端远程批量操作客户端的装置的内部结构示意图,所述web端远程批量操作客户端的装置至少包括存储器11、处理器12、通信总线13,以及网络接口14。

其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是web端远程批量操作客户端的装置的内部存储单元,例如该web端远程批量操作客户端的装置的硬盘。存储器11在另一些实施例中也可以是web端远程批量操作客户端的装置的外部存储设备,例如web端远程批量操作客户端的装置上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器11还可以既包括web端远程批量操作客户端的装置的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于web端远程批量操作客户端的装置的应用软件及各类数据,例如web端远程批量操作客户端的程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。

处理器12在一些实施例中可以是一中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行web端远程批量操作客户端的程序等。

通信总线13用于实现这些组件之间的连接通信。

网络接口14可选的可以包括标准的有线接口、无线接口(如wi-fi接口),通常用于在该web端远程批量操作客户端的装置与其他电子设备之间建立通信连接。

可选地,该web端远程批量操作客户端的装置还可以包括用户接口,用户接口可以包括显示器(display)、输入单元比如键盘(keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在web端远程批量操作客户端的装置中处理的信息以及用于显示可视化的用户界面。

图4仅示出了具有组件11-14以及web端远程批量操作客户端的程序的web端远程批量操作客户端的装置,本领域技术人员可以理解的是,图4示出的结构并不构成对web端远程批量操作客户端的装置的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。

在图4所示的web端远程批量操作客户端的装置实施例中,存储器11中存储有web端远程批量操作客户端的程序;处理器12执行存储器11中存储的web端远程批量操作客户端的程序时实现如下步骤:

步骤s10:收到远程批量操作客户端请求的操作终端发送的请求数据;所述请求数据包括认证数据、目标客户端数据和通道申请数据;

步骤s20:读取所述认证数据中操作用户及其认证密钥进行操作用户的用户身份认证;

步骤s30:判断所述用户身份认证是否成功;若成功则执行步骤s40;否则结束;

步骤s40:读取所述目标客户端数据,所述目标客户端与预设的客户端列表中的预设客户端数据进行客户端验证;

步骤s50:判断所述客户端验证是否成功,若成功则执行步骤s60,否则执行步骤s90;

步骤s60:读取所述通道申请数据并将所述通道申请数据结合所述目标客户端数据进行处理,以得到通道请求数据并发送给通道管理服务器,等待所述通道管理服务器的授权指令;

步骤s70:判断是否在预设的时间阈值内收到所述授权指令;若成功收到所述授权指令,执行步骤s80,否则结束;

步骤s80:根据所述授权指令向所述操作终端发送通道连接指令;

步骤s90:向所述操作终端发送验证结果并提示所述操作终端修改请求数据后重新发送远程批量操作客户端请求。

参照图5所示,为本发明web端远程批量操作客户端的装置一实施例中的web端远程批量操作客户端的程序的程序模块示意图,该实施例中,web端远程批量操作客户端的程序可以被分割为认证模块10、验证模块20、请求模块30和授权模块40,示例性地:

认证模块10,用于执行收到远程批量操作客户端请求的操作终端发送的请求数据以及用户身份认证的任务;

验证模块20,用于执行读取所述目标客户端数据及进行客户端验证的任务;

请求模块30,用于执行请求通道管理服务器的任务;

授权模块40,用于执行获得授权并根据所述授权指令向所述操作终端发送通道连接指令的任务。

上述认证模块10、验证模块20、请求模块30和授权模块40等程序模块被执行时所实现的功能或操作步骤与上述实施例大体相同,在此不再赘述。

此外,本发明实施例还提出一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质上存储有web端远程批量操作客户端的程序,所述web端远程批量操作客户端的程序可被一个或多个处理器执行,以实现如下操作:

步骤s10:收到远程批量操作客户端请求的操作终端发送的请求数据;所述请求数据包括认证数据、目标客户端数据和通道申请数据;

步骤s20:读取所述认证数据中操作用户及其认证密钥进行操作用户的用户身份认证;

步骤s30:判断所述用户身份认证是否成功;若成功则执行步骤s40;否则结束;

步骤s40:读取所述目标客户端数据,所述目标客户端与预设的客户端列表中的预设客户端数据进行客户端验证;

步骤s50:判断所述客户端验证是否成功,若成功则执行步骤s60,否则执行步骤s90;

步骤s60:读取所述通道申请数据并将所述通道申请数据结合所述目标客户端数据进行处理,以得到通道请求数据并发送给通道管理服务器,等待所述通道管理服务器的授权指令;

步骤s70:判断是否在预设的时间阈值内收到所述授权指令;若成功收到所述授权指令,执行步骤s80,否则结束;

步骤s80:根据所述授权指令向所述操作终端发送通道连接指令;

步骤s90:向所述操作终端发送验证结果并提示所述操作终端修改请求数据后重新发送远程批量操作客户端请求。

本发明的存储介质具体实施方式与上述web端远程批量操作客户端的方法和装置各实施例基本相同,在此不作累述。

与现有技术相比,本发明提供的web端远程批量操作客户端的方法、装置、存储介质及系统,通过websocket持久连接降低在通信过程中的cpu和内存的使用,通过通道管理服务器实现连接管理,提升了操作终端远程对多个目标客户端的连接稳定性和安全性,能够实现通过操作终端对数量较大的目标客户端的远程批量操作,且操作简单、时延低,能够快速实现,提升管理效率。

需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是无人机、手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1