CN104639574A - 数据处理系统及装置 - Google Patents
数据处理系统及装置 Download PDFInfo
- Publication number
- CN104639574A CN104639574A CN201310550376.5A CN201310550376A CN104639574A CN 104639574 A CN104639574 A CN 104639574A CN 201310550376 A CN201310550376 A CN 201310550376A CN 104639574 A CN104639574 A CN 104639574A
- Authority
- CN
- China
- Prior art keywords
- order
- client
- perform
- handling system
- browser
- 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
Abstract
本发明提出了数据处理系统及客户端装置。其中,所述客户端能够经由与目标主机的数据通信依次处理接收到的来自浏览器的数据处理请求中的命令集中的每个命令,并基于处理结果构造与所述命令集相对应的结果集以供所述浏览器读取,其中,所述客户端基于SSH协议与所述目标主机进行数据通信。本发明所公开的数据处理系统及客户端装置具有良好的易用性和适用性以及高的安全性。
Description
技术领域
本发明涉及数据处理系统及装置,更具体地,涉及基于浏览器/服务器架构和SSH(secure shell)协议的数据处理系统及装置。
背景技术
目前,随着计算机技术以及网络应用的日益广泛以及不同领域的业务种类的日益丰富,基于SSH协议的数据处理系统及装置变得越来越重要。
在现有的技术方案中,类Unix操作系统通常使用SSH协议作为安全通信协议。然而,现有的技术方案存在如下问题:难于集中式管理和分布式运行,并且不能方便地与B/S(浏览器/服务器)架构的应用程序相结合。
因此,存在如下需求:提供具有良好的易用性和适用性以及高的安全性的基于浏览器/服务器架构和SSH协议的数据处理系统及装置。
发明内容
为了解决上述现有技术方案所存在的问题,本发明提出了具有良好的易用性和适用性以及高的安全性的基于浏览器/服务器架构和SSH协议的数据处理系统及装置。
本发明的目的是通过以下技术方案实现的:
一种数据处理系统,所述数据处理系统包括:
浏览器,所述浏览器基于用户指令构造数据处理请求并将所述数据处理请求传送到客户端,其中,所述数据处理请求包含由待处理的至少一个命令组成的命令集;
客户端,所述客户端经由与目标主机的数据通信依次处理接收到的所述数据处理请求中的命令集中的每个命令,并基于处理结果构造与所述命令集相对应的结果集以供所述浏览器读取;
目标主机,所述目标主机协助所述客户端完成对所述命令集中的每个命令的处理;
其中,所述客户端基于SSH协议与所述目标主机进行数据通信。
在上面所公开的方案中,优选地,所述客户端在接收到来自所述浏览器的所述数据处理请求后生成与其相对应的会话实例,随后启动相关的工作进程以实现与所述目标主机的数据通信过程和会话管理过程。
在上面所公开的方案中,优选地,所述工作进程被启动后以同步调用的方式依次执行所述命令集中的每一个命令,并基于执行结果构造所述结果集,其中,与执行相同命令集中的每个命令相关的所有同步调用过程使用相同的会话标识。
在上面所公开的方案中,优选地,所述工作进程进一步执行如下命令处理过程:(1)查询所述命令集以获取当前需要执行的命令;(2)将所述当前需要执行的命令进行编码转换后作为一个或多个读/写任务,并基于SSH协议与所述目标主机进行数据通信以执行所述一个或多个读/写任务;(3)确定SSH socket I/O端口的类型,并且如果SSH socket I/O端口是阻塞型的,则在写任务结束后执行读任务,而如果SSH socket I/O端口是非阻塞型的,则在写任务开始时启动读任务,其中,以如下方式执行读任务:通过定长轮询的方式检测所述目标主机返回的数据报文中是否出现命令界定符,并且如果出现命令界定符,则确认与执行该命令相关的同步调用过程结束,并且随后开始执行相关的控制过程;(4)在确认与执行该命令相关的同步调用过程结束后,将针对该命令的执行结果进行编码转换后写入所述结果集中;(5)查询所述命令集以获取下一条需要执行的命令,如果存在下一条需要执行的命令,则将其作为当前需要执行的命令并返回步骤(2),如果所述命令集中的所有命令均已被执行,则终止命令处理过程。
在上面所公开的方案中,优选地,在所述工作进程执行过程中,所述浏览器能够基于用户命令向所述客户端发送控制指令以修改所述会话实例的相关标志位的状态值,以便所述工作进程能够在所述读/写任务的间隙根据所述相关标志位的状态值执行相关的动作。
在上面所公开的方案中,优选地,所述定长轮询过程如下:以指定的长度对当前需要执行的命令及其执行结果的数据流进行分割,以隐式地将其分割成多个读/写任务,其中,以如下方式实现命令界定:在读任务中,通过判断命令界定符的存在来标记命令执行结果的结束。
在上面所公开的方案中,优选地,所述浏览器能够周期性地以异步调用的方式查询所述结果集,并将其显示给用户。
在上面所公开的方案中,优选地,所述客户端是B/S模式中的服务器,并且其中,所述浏览器和所述客户端之间以异步HTTP请求的方式进行通信。
在上面所公开的方案中,优选地,所述客户端在所述命令集中的命令均被执行完成后终止与其相对应的所述会话实例。
本发明的目的也可以通过以下技术方案实现:
一种基于SSH协议的客户端,所述客户端能够经由与目标主机的数据通信依次处理接收到的来自浏览器的数据处理请求中的命令集中的每个命令,并基于处理结果构造与所述命令集相对应的结果集以供所述浏览器读取,其中,所述客户端基于SSH协议与所述目标主机进行数据通信。
本发明所公开的数据处理系统及装置具有如下优点:(1)由于采用万维网浏览器作为人机交互界面,故具有良好的易用性和适用性;(2)由于客户端被作为浏览器和目标主机之间的中间部件,故其可以对命令集进行过滤、审查和预置,从而能够有效地防止非法命令以及人为错误对目标主机的影响,并且可以防止敏感端口(例如22端口)的暴露,由此显著地提高了数据处理系统的安全性。
附图说明
结合附图,本发明的技术特征以及优点将会被本领域技术人员更好地理解,其中:
图1是根据本发明的实施例的数据处理系统及装置的示意性结构图。
具体实施方式
图1是根据本发明的实施例的数据处理系统及装置的示意性结构图。如图1所示,本发明所公开的数据处理系统包括浏览器1、客户端2以及目标主机3。其中,所述浏览器1基于用户指令构造数据处理请求并将所述数据处理请求传送到客户端2,其中,所述数据处理请求包含由待处理的至少一个命令组成的命令集。所述客户端2经由与目标主机3的数据通信依次处理接收到的所述数据处理请求中的命令集中的每个命令,并基于处理结果构造与所述命令集相对应的结果集以供所述浏览器1读取。所述目标主机3协助所述客户端2完成对所述命令集中的每个命令的处理。其中,所述客户端2基于SSH协议与所述目标主机3进行数据通信(示例性地,SSH 调用方式可以是ssh shell或ssh exec,并且socket 连接方式可以是长连接或短连接)。
优选地,在本发明所公开的数据处理系统中,所述客户端2在接收到来自所述浏览器1的所述数据处理请求后生成与其相对应的会话实例,随后启动相关的工作进程以实现与所述目标主机3的数据通信过程和会话管理过程。
优选地,在本发明所公开的数据处理系统中,所述工作进程被启动后以同步调用的方式依次执行所述命令集中的每一个命令,并基于执行结果构造所述结果集,其中,与执行相同命令集中的每个命令相关的所有同步调用过程使用相同的会话标识(即与所述数据处理请求相对应的会话实例的标识)。
优选地,在本发明所公开的数据处理系统中,所述工作进程进一步执行如下命令处理过程:(1)查询所述命令集以获取当前需要执行的命令;(2)将所述当前需要执行的命令进行编码转换后作为一个或多个读/写任务,并基于SSH协议与所述目标主机进行数据通信以执行所述一个或多个读/写任务;(3)确定SSH socket I/O端口的类型,并且如果SSH socket I/O端口是阻塞型的,则在写任务结束后执行读任务,而如果SSH socket I/O端口是非阻塞型的,则在写任务开始时启动读任务,其中,以如下方式执行读任务:通过定长轮询的方式检测所述目标主机返回的数据报文中是否出现命令界定符,并且如果出现命令界定符,则确认与执行该命令相关的同步调用过程结束,并且随后开始执行相关的控制过程;(4)在确认与执行该命令相关的同步调用过程结束后,将针对该命令的执行结果进行编码转换后写入所述结果集中;(5)查询所述命令集以获取下一条需要执行的命令,如果存在下一条需要执行的命令,则将其作为当前需要执行的命令并返回步骤(2),如果所述命令集中的所有命令均已被执行,则终止命令处理过程。
优选地,在本发明所公开的数据处理系统中,在所述工作进程执行过程中,所述浏览器能够基于用户命令向所述客户端发送控制指令(诸如暂停指令、停止指令等等)以修改所述会话实例的相关标志位的状态值,以便所述工作进程能够在所述读/写任务的间隙根据所述相关标志位的状态值执行相关的动作(诸如等待、退出等等)。
优选地,在本发明所公开的数据处理系统中,所述定长轮询过程如下:以指定的长度对当前需要执行的命令及其执行结果的数据流进行分割,以隐式地将其分割成多个读/写任务,其中,以如下方式实现命令界定:在读任务中,通过判断命令界定符的存在来标记命令执行结果的结束(即一个完整的命令执行过程的结束)。
优选地,在本发明所公开的数据处理系统中,所述浏览器能够周期性地以异步调用的方式查询所述结果集,并将其显示给用户。
优选地,在本发明所公开的数据处理系统中,所述客户端2是B/S模式中的服务器,并且其中,所述浏览器和所述客户端之间以异步HTTP请求的方式进行通信。
优选地,在本发明所公开的数据处理系统中,所述客户端2在所述命令集中的命令均被执行完成后终止与其相对应的所述会话实例。
由上可见,本发明所公开的数据处理系统具有下列优点:(1)由于采用万维网浏览器作为人机交互界面,故具有良好的易用性和适用性;(2)由于客户端被作为浏览器和目标主机之间的中间部件,故其可以对命令集进行过滤、审查和预置,从而能够有效地防止非法命令以及人为错误对目标主机的影响,并且可以防止敏感端口(例如22端口)的暴露,由此显著地提高了数据处理系统的安全性。
如图1所示,本发明公开了一种基于SSH协议的客户端2,所述客户端2能够经由与目标主机3的数据通信依次处理接收到的来自浏览器1的数据处理请求中的命令集中的每个命令,并基于处理结果构造与所述命令集相对应的结果集以供所述浏览器1读取。其中,所述客户端2基于SSH协议与所述目标主机3进行数据通信(示例性地,SSH 调用方式可以是ssh shell或ssh exec,并且socket 连接方式可以是长连接或短连接)。
优选地,本发明所公开的客户端2在接收到来自所述浏览器1的所述数据处理请求后生成与其相对应的会话实例,随后启动相关的工作进程以实现与所述目标主机3的数据通信过程和会话管理过程。
优选地,在本发明所公开的客户端2中,所述工作进程被启动后以同步调用的方式依次执行所述命令集中的每一个命令,并基于执行结果构造所述结果集,其中,与执行相同命令集中的每个命令相关的所有同步调用过程使用相同的会话标识(即与所述数据处理请求相对应的会话实例的标识)。
优选地,在本发明所公开的客户端2中,所述工作进程进一步执行如下命令处理过程:(1)查询所述命令集以获取当前需要执行的命令;(2)将所述当前需要执行的命令进行编码转换后作为一个或多个读/写任务,并基于SSH协议与所述目标主机进行数据通信以执行所述一个或多个读/写任务;(3)确定SSH socket I/O端口的类型,并且如果SSH socket I/O端口是阻塞型的,则在写任务结束后执行读任务,而如果SSH socket I/O端口是非阻塞型的,则在写任务开始时启动读任务,其中,以如下方式执行读任务:通过定长轮询的方式检测所述目标主机返回的数据报文中是否出现命令界定符,并且如果出现命令界定符,则确认与执行该命令相关的同步调用过程结束,并且随后开始执行相关的控制过程;(4)在确认与执行该命令相关的同步调用过程结束后,将针对该命令的执行结果进行编码转换后写入所述结果集中;(5)查询所述命令集以获取下一条需要执行的命令,如果存在下一条需要执行的命令,则将其作为当前需要执行的命令并返回步骤(2),如果所述命令集中的所有命令均已被执行,则终止命令处理过程。
优选地,本发明所公开的客户端2能够在所述工作进程执行过程中接收来自所述浏览器1的控制指令(诸如暂停指令、停止指令等等)以修改所述会话实例的相关标志位的状态值,以便所述工作进程能够在所述读/写任务的间隙根据所述相关标志位的状态值执行相关的动作(诸如等待、退出等等)。
优选地,在本发明所公开的客户端2中,所述定长轮询过程如下:以指定的长度对当前需要执行的命令及其执行结果的数据流进行分割,以隐式地将其分割成多个读/写任务,其中,以如下方式实现命令界定:在读任务中,通过判断命令界定符的存在来标记命令执行结果的结束(即一个完整的命令执行过程的结束)。
优选地,本发明所公开的客户端2是B/S模式中的服务器,并且其中,所述浏览器和所述客户端之间以异步HTTP请求的方式进行通信。
优选地,本发明所公开的客户端2能够在所述命令集中的命令均被执行完成后终止与其相对应的所述会话实例。
尽管本发明是通过上述的优选实施方式进行描述的,但是其实现形式并不局限于上述的实施方式。应该认识到:在不脱离本发明主旨和范围的情况下,本领域技术人员可以对本发明做出不同的变化和修改。
Claims (10)
1.一种数据处理系统,所述数据处理系统包括:
浏览器,所述浏览器基于用户指令构造数据处理请求并将所述数据处理请求传送到客户端,其中,所述数据处理请求包含由待处理的至少一个命令组成的命令集;
客户端,所述客户端经由与目标主机的数据通信依次处理接收到的所述数据处理请求中的命令集中的每个命令,并基于处理结果构造与所述命令集相对应的结果集以供所述浏览器读取;
目标主机,所述目标主机协助所述客户端完成对所述命令集中的每个命令的处理;
其中,所述客户端基于SSH协议与所述目标主机进行数据通信。
2.根据权利要求1所述的数据处理系统,其特征在于,所述客户端在接收到来自所述浏览器的所述数据处理请求后生成与其相对应的会话实例,随后启动相关的工作进程以实现与所述目标主机的数据通信过程和会话管理过程。
3.根据权利要求2所述的数据处理系统,其特征在于,所述工作进程被启动后以同步调用的方式依次执行所述命令集中的每一个命令,并基于执行结果构造所述结果集,其中,与执行相同命令集中的每个命令相关的所有同步调用过程使用相同的会话标识。
4.根据权利要求3所述的数据处理系统,其特征在于,所述工作进程进一步执行如下命令处理过程:(1)查询所述命令集以获取当前需要执行的命令;(2)将所述当前需要执行的命令进行编码转换后作为一个或多个读/写任务,并基于SSH协议与所述目标主机进行数据通信以执行所述一个或多个读/写任务;(3)确定SSH socket I/O端口的类型,并且如果SSH socket I/O端口是阻塞型的,则在写任务结束后执行读任务,而如果SSH socket I/O端口是非阻塞型的,则在写任务开始时启动读任务,其中,以如下方式执行读任务:通过定长轮询的方式检测所述目标主机返回的数据报文中是否出现命令界定符,并且如果出现命令界定符,则确认与执行该命令相关的同步调用过程结束,并且随后开始执行相关的控制过程;(4)在确认与执行该命令相关的同步调用过程结束后,将针对该命令的执行结果进行编码转换后写入所述结果集中;(5)查询所述命令集以获取下一条需要执行的命令,如果存在下一条需要执行的命令,则将其作为当前需要执行的命令并返回步骤(2),如果所述命令集中的所有命令均已被执行,则终止命令处理过程。
5.根据权利要求4所述的数据处理系统,其特征在于,在所述工作进程执行过程中,所述浏览器能够基于用户命令向所述客户端发送控制指令以修改所述会话实例的相关标志位的状态值,以便所述工作进程能够在所述读/写任务的间隙根据所述相关标志位的状态值执行相关的动作。
6.根据权利要求5所述的数据处理系统,其特征在于,所述定长轮询过程如下:以指定的长度对当前需要执行的命令及其执行结果的数据流进行分割,以隐式地将其分割成多个读/写任务,其中,以如下方式实现命令界定:在读任务中,通过判断命令界定符的存在来标记命令执行结果的结束。
7.根据权利要求6所述的数据处理系统,其特征在于,所述浏览器能够周期性地以异步调用的方式查询所述结果集,并将其显示给用户。
8.根据权利要求7所述的数据处理系统,其特征在于,所述客户端是B/S模式中的服务器,并且其中,所述浏览器和所述客户端之间以异步HTTP请求的方式进行通信。
9.根据权利要求8所述的数据处理系统,其特征在于,所述客户端在所述命令集中的命令均被执行完成后终止与其相对应的所述会话实例。
10.一种基于SSH协议的客户端,所述客户端能够经由与目标主机的数据通信依次处理接收到的来自浏览器的数据处理请求中的命令集中的每个命令,并基于处理结果构造与所述命令集相对应的结果集以供所述浏览器读取,其中,所述客户端基于SSH协议与所述目标主机进行数据通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310550376.5A CN104639574A (zh) | 2013-11-08 | 2013-11-08 | 数据处理系统及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310550376.5A CN104639574A (zh) | 2013-11-08 | 2013-11-08 | 数据处理系统及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104639574A true CN104639574A (zh) | 2015-05-20 |
Family
ID=53217886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310550376.5A Pending CN104639574A (zh) | 2013-11-08 | 2013-11-08 | 数据处理系统及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104639574A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109462655A (zh) * | 2018-11-30 | 2019-03-12 | 北京奇安信科技有限公司 | 一种网络远程协助方法、系统、电子设备和介质 |
CN112579210A (zh) * | 2020-12-30 | 2021-03-30 | 上海众源网络有限公司 | 一种应用程序控制方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050060534A1 (en) * | 2003-09-15 | 2005-03-17 | Marvasti Mazda A. | Using a random host to tunnel to a remote application |
JP2011129076A (ja) * | 2009-12-21 | 2011-06-30 | Canon It Solutions Inc | 運用監視装置、運用監視システム、制御方法、プログラム、及びプログラムを記録した記録媒体 |
CN102404381A (zh) * | 2011-09-02 | 2012-04-04 | 西安交通大学 | 一种云计算环境下基于工作流的软件部署系统及部署方法 |
CN103138985A (zh) * | 2011-12-01 | 2013-06-05 | 中国移动通信集团浙江有限公司 | 一种支撑网业务主机进程控制方法和系统 |
-
2013
- 2013-11-08 CN CN201310550376.5A patent/CN104639574A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050060534A1 (en) * | 2003-09-15 | 2005-03-17 | Marvasti Mazda A. | Using a random host to tunnel to a remote application |
JP2011129076A (ja) * | 2009-12-21 | 2011-06-30 | Canon It Solutions Inc | 運用監視装置、運用監視システム、制御方法、プログラム、及びプログラムを記録した記録媒体 |
CN102404381A (zh) * | 2011-09-02 | 2012-04-04 | 西安交通大学 | 一种云计算环境下基于工作流的软件部署系统及部署方法 |
CN103138985A (zh) * | 2011-12-01 | 2013-06-05 | 中国移动通信集团浙江有限公司 | 一种支撑网业务主机进程控制方法和系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109462655A (zh) * | 2018-11-30 | 2019-03-12 | 北京奇安信科技有限公司 | 一种网络远程协助方法、系统、电子设备和介质 |
CN109462655B (zh) * | 2018-11-30 | 2021-10-15 | 奇安信科技集团股份有限公司 | 一种网络远程协助方法、系统、电子设备和介质 |
CN112579210A (zh) * | 2020-12-30 | 2021-03-30 | 上海众源网络有限公司 | 一种应用程序控制方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107168754B (zh) | 有关多模块编译的系统及方法 | |
US10432613B2 (en) | HTTPS enabled client tool | |
CN103577209A (zh) | 一种基于嵌入式设备的应用程序远程在线调试方法及装置 | |
CN104331063A (zh) | 一种工业现场设备远程诊断维护系统及方法 | |
CN103401883A (zh) | 单点登录方法及系统 | |
CN104182683A (zh) | 一种联机事务的监控方法、装置及系统 | |
EP2804361B1 (en) | Integrated interface system for power-system monitoring and control system | |
CN104639574A (zh) | 数据处理系统及装置 | |
WO2020000657A1 (zh) | 运维监控连接的建立方法、装置、终端设备及介质 | |
US8407720B1 (en) | Inter-process communication management | |
CN106549962B (zh) | 一种通用化的智能管控平台通信协议的实现方法 | |
CN108287619A (zh) | 一种控制服务器kvm系统的方法、系统及可读存储介质 | |
EP2637098B1 (en) | Object mediated data transfer between electronic devices | |
US9519527B1 (en) | System and method for performing internal system interface-based communications in management controller | |
CN104144076B (zh) | 一种流程错误控制方法、装置和系统 | |
CN103677961A (zh) | 一种设置虚拟机主机名的方法 | |
JP5518792B2 (ja) | Icカードシステム、icカードシステムのリカバリ方法およびサーバ | |
EP3528148A1 (en) | Method and system for providing a notification from a provider to a consumer for providing the notification to a user group | |
CN101971562B (zh) | 控制自动运行过程执行的方法、装置及系统 | |
CN114285890A (zh) | 云平台连接方法、装置、设备及存储介质 | |
JP6878697B2 (ja) | データ処理装置、データ処理方法およびプログラム | |
CN113961162A (zh) | 投屏控制方法、投屏发送端、投屏接收端和投屏系统 | |
CN103970515A (zh) | 一种客户端及其界面资源的控制方法和系统 | |
CN113300887A (zh) | 采集数据获取方法、装置、系统及存储介质 | |
KR20110098055A (ko) | 제어 시스템간 통신 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150520 |