CN111385238A - 一种数据传输方法及装置 - Google Patents
一种数据传输方法及装置 Download PDFInfo
- Publication number
- CN111385238A CN111385238A CN201811612791.8A CN201811612791A CN111385238A CN 111385238 A CN111385238 A CN 111385238A CN 201811612791 A CN201811612791 A CN 201811612791A CN 111385238 A CN111385238 A CN 111385238A
- Authority
- CN
- China
- Prior art keywords
- cloud
- cloud terminal
- link
- terminal
- host
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000005540 biological transmission Effects 0.000 title claims abstract description 33
- 238000012545 processing Methods 0.000 claims description 19
- 238000004891 communication Methods 0.000 claims description 14
- 238000012790 confirmation Methods 0.000 claims description 13
- 238000001914 filtration Methods 0.000 description 43
- 230000008569 process Effects 0.000 description 32
- 238000010586 diagram Methods 0.000 description 14
- 238000012546 transfer Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 230000006855 networking Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer And Data Communications (AREA)
Abstract
本文公开了一种数据传输方法及装置,包括:云主机获取来自云终端的待传输数据的信息和云终端的信息;根据云终端的信息判断云终端的网络是否受限;当确定云终端的网络受限,根据待传输数据的信息并通过云主机与云终端预先建立的链接向云终端发送待传输数据。从本发明实施例可见,当云终端的网络受限时,云主机通过自身与云终端预先建立的链接向云终端发送待传输数据,因此简单、方便地实现了云终端和云主机之间的数据传输。
Description
技术领域
本发明实施例涉及通信技术领域,尤指一种数据传输方法及装置。
背景技术
数据共享是云主机和云终端之间的一项常见操作,但是当云终端的网络受限(两者无法直接互通或者两者被网络隔离)时,限制了数据共享,从而给用户日常使用带来了极其不便。
相关技术中,一般采用增设中转服务器的方式,具体是在云主机和云终端之间增设能分别与云主机和云终端连通的中转服务器。
然而,这种方法由于增设了中转服务器,并且增加了该中转服务器与云主机、云终端相连通的额外部署,因此资源消耗过大,此外在云终端数量众多时,还需要考虑中转服务器的负载均衡,因此使得数据传输过程管理困难。
发明内容
为了解决上述技术问题,本发明实施例提供了一种数据传输方法及装置,当云终端网络受限时,能够简单、方便地实现云终端和云主机之间的数据传输。
为了达到本发明实施例的目的,本发明实施例提供了一种数据传输方法,应用于云主机,包括:
获取来自云终端的待传输数据的信息和所述云终端的信息;
根据所述云终端的信息判断所述云终端的网络是否受限;
当确定所述云终端的网络受限,根据待传输数据的信息并通过所述云主机与所述云终端预先建立的链接向所述云终端发送待传输数据。
本发明实施例还提供了一种数据传输方法,应用于云终端,包括:
向云主机发送待传输数据的信息和所述云终端的信息;
当根据所述云终端的信息确定所述云终端的网络受限,通过所述云终端与所述云主机预先建立的链接获取来自所述云主机的所述待传输数据。
本发明实施例还提供了一种云主机,包括:
第一获取模块,用于获取来自云终端的待传输数据的信息和所述云终端的信息;
第一处理模块,用于根据所述云终端的信息判断所述云终端的网络是否受限;
所述第一处理模块,还用于当确定所述云终端的网络受限,根据所述待传输数据的信息并通过所述云主机与所述云终端预先建立的链接向所述云终端发送待传输数据。
本发明实施例还提供了一种云终端,包括:
所述第一获取模块,还用于获取来自所述云终端的链接建立请求;其中,所述链接建立请求用于根据所述云终端至所述云主机的连通链路建立所述云终端与所述云主机之间的链接;
所述第一处理模块,还用于向所述云终端发送链接建立确认信息,并与所述云终端建立所述链接。
由于当云终端的网络受限时,云主机通过自身与云终端预先建立的链接向云终端发送待传输数据,因此简单、方便地实现了云终端和云主机之间的数据传输。
本发明实施例的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例而了解。本发明实施例的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明实施例技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明实施例的技术方案,并不构成对本发明实施例技术方案的限制。
图1为本发明实施例提供的一种云桌面组网示意图;
图2为云主机和云终端直连下数据共享架构示意图;
图3为本发明实施例提供的一种数据传输方法的流程示意图;
图4为本发明实施例提供的另一种数据传输方法的流程示意图;
图5为本发明实施例提供的一种云主机的结构示意图;
图6为本发明实施例提供的一种云主机的结构示意图;
图7为本发明实施例的一种网络受限情况下的数据共享系统的结构示意图;
图8为本发明实施例的一种网络受限情况下的数据共享流程示意图;
图9为本发明实施例的另一种网络受限情况下的数据共享流程示意图;
图10为本发明实施例的又一种网络受限情况下的数据共享流程示意图;
图11为本发明实施例的又一种网络受限情况下的数据共享流程示意图;
图12为本发明实施例的又一种网络受限情况下的数据共享流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
云桌面组网示意图如图1所示,该云桌面组网包括:云桌面客户端101、云主机102、云桌面进程103和云桌面代理组件104。
云桌面客户端101、运行在云终端上,通过网络设备接入云桌面。用户在客户端发起数据共享流程,共享是双向的,即云桌面可以从云桌面客户端中读取数据或者向云桌面客户端中写入数据,客户端发起数据共享流程时需要向云桌面代理组件告知共享源IP地址、共享类型、创建的共享用户名及密码、共享磁盘及目录路径等信息。
云主机102、云桌面虚拟化平台服务器。
云桌面进程103、运行在云主机上的云桌面进程,例如qemu等模拟进程,一个进程代表一个云桌面,云桌面中运行子操作系统Guest OS,例如windows操作系统
云桌面代理组件104、运行于云桌面内部,与云桌面客户端及中转代理进行信息交互,完成业务控制消息的处理,具体如:获取客户端IP信息,判断客户端与云桌面的网络受限情况,网络受限情况下向中转代理服务器建链,执行数据共享操作等。
图2为云主机和云终端直连下数据共享架构示意图,当网络不受限时(云主机的IP地址是外网地址10.47.180.89,云终端的IP地址是外网地址10.47.180.11),云桌面内操作系统数据资源管理器进程Explorer.exe 201会与云终端的端口202建立传输控制协议(Transmission Control Protocol,TCP)链接,通过协议读写数据。当云终端的系统是windows系统时,云终端系统内数据共享进程是system.exe进程,当云终端的系统是linux系统时,云终端系统内数据共享进程是smbd进程。
本发明实施例提供一种数据传输方法,应用于云主机,如图3所示,该方法包括:
步骤301、获取来自云终端的待传输数据的信息和云终端的信息。
具体的,待传输数据的信息可以是待共享数据的信息,例如是待共享文件的文件名。
步骤302、根据云终端的信息判断云终端的网络是否受限。
具体的,网络受限包括:端口受限和云终端处于网络地址转换(Network AddressTranslation,NAT)环境等情况。其中,当云终端处于NAT环境时,云终端自身IP是小网地址,云主机是大网IP,当云终端发起数据传输请求(即向云主机发送待传输数据的信息和云终端的IP),云主机也无法通过该IP(该IP是小网IP)访问到云终端。
步骤303、当确定云终端的网络受限,根据待传输数据的信息并通过云主机与云终端预先建立的链接向云终端发送待传输数据。
需要说明的是,由于云主机和云终端之间预先建立了链接,因此无需采用相关技术中增设中转服务器方式来实现云终端和云主机之间的数据传输。
本发明实施例提供的数据传输方法,由于当云终端的网络受限时,云主机通过自身与云终端预先建立的链接向云终端发送待传输数据,因此简单、方便地实现了云终端和云主机之间的数据传输。
可选地,通过云主机与云终端预先建立的链接向云终端发送待传输数据之前,还包括:
步骤304、获取来自云终端的链接建立请求。
其中,链接建立请求用于根据云终端至云主机的连通链路建立云终端与云主机之间的链接。
步骤305、向云终端发送链接建立确认信息,并与云终端建立链接。
可选地,云终端的信息包括:云终端的互联网协议IP地址和云终端的端口号。
根据云终端的信息判断云终端的网络是否受限,包括:
步骤302a、判断云终端的IP地址是否存在于预先建立的IP地址列表中,并判断云终端的端口号是否存在于预先建立的端口号列表中;其中,IP地址列表是无法访问的IP地址的集合,端口号列表是访问受限的端口号的集合。
步骤302b、如果云终端的IP地址存在于IP地址列表中,或者,云终端的端口号存在于端口号列表中,确定云终端的网络受限。
本发明实施例还提供一种数据传输方法,应用于云终端,如图4所示,该方法包括:
步骤401、向云主机发送待传输数据的信息和云终端的信息。
步骤402、当根据云终端的信息确定云终端的网络受限,通过云终端与云主机预先建立的链接获取来自云主机的待传输数据。
本发明实施例提供的数据传输方法,由于当云终端的网络受限时,云终端通过云终端与云主机预先建立的链接获取来自云主机的待传输数据,因此简单、方便地实现了云终端和云主机之间的数据传输。
可选地,通过云终端与云主机预先建立的链接获取来自云主机的待传输数据之前,还包括:
步骤403、向云主机发送链接建立请求。
其中,链接建立请求用于根据云终端至云主机的连通链路建立云终端与云主机之间的链接。
步骤404、获取来自云主机的链接建立确认信息,并与云主机建立链接。
本发明实施例还提供一种云主机,如图5所示,该云主机5包括:
第一获取模块501,用于获取来自云终端的待传输数据的信息和云终端的信息。
第一处理模块502,用于根据云终端的信息判断云终端的网络是否受限。
第一处理模块502,还用于当确定云终端的网络受限,通过云主机与云终端预先建立的链接向云终端发送待传输数据。
可选地,第一获取模块501,还用于获取来自云终端的链接建立请求;其中,链接建立请求用于根据云终端至云主机的连通链路建立云终端与云主机之间的链接。
第一处理模块502,还用于向云终端发送链接建立确认信息,并与云终端建立链接。
可选地,云终端的信息包括:云终端的互联网协议IP地址和云终端的端口号。第一处理模块502具体用于:
判断云终端的IP地址是否存在于预先建立的IP地址列表中,并判断云终端的端口号是否存在于预先建立的端口号列表中;其中,IP地址列表是无法访问的IP地址的集合,端口号列表是访问受限的端口号的集合。
如果云终端的IP地址存在于IP地址列表中,或者,云终端的端口号存在于端口号列表中,确定云终端的网络受限。
本发明实施例提供的云主机,由于当云终端的网络受限时,通过自身与云终端预先建立的链接向云终端发送待传输数据,因此简单、方便地实现了云终端和云主机之间的数据传输。
在实际应用中,所述第一获取模块501和第一处理模块502位于云主机中的中央处理器(Central Processing Unit,CPU)、微处理器(Micro Processor Unit,MPU)、数字信号处理器(Digital Signal Processor,DSP)或现场可编程门阵列(Field ProgrammableGate Array,FPGA)等实现。
本发明实施例还提供一种云终端,如图6所示,该云终端6包括:
第二处理模块601,用于向云主机发送待传输数据的信息和云终端的信息。
第二获取模块602,用于当根据云终端的信息确定云终端的网络受限,通过云终端与云主机预先建立的链接获取来自云主机的待传输数据。
可选地,第二处理模块601,还用于向云主机发送链接建立请求;其中,链接建立请求用于根据云终端至云主机的连通链路建立云终端与云主机之间的链接。
第二获取模块602,还用于获取来自云主机的链接建立确认信息,并与云主机建立链接。
本发明实施例提供的云终端,由于当自身的网络受限时,通过自身与云主机预先建立的链接获取来自云主机的待传输数据,因此简单、方便地实现了云终端和云主机之间的数据传输。
在实际应用中,所述第第二处理模块601和第二获取模块602位于云终端中的CPU、MPU、DSP或FPGA等实现。
对于用户的数据共享要求,可以有多种解决方案,如文件传输协议(FileTransfer Protocol,FTP)中转、云盘中转、即时通讯工具传输等,但这些方法都存在局限性,很难与云桌面系统完美集成,并且对用户的计算机技能要求较高,无法在云桌面中进行推广。目录共享是一种常见的共享方式,即用户在云桌面客户端设置了共享,在云桌面内部通过共享进行访问,是一种常规的共享方法,操作简单,符合用户使用习惯。
本发明提供的数据传输方法涉及云主机和云终端的改造,具体说明如下。
在云主机内增加如下模块:
数据过滤模块:在云桌面中增加数据过滤模块,该模块为内核态驱动,负责将发往小网,例如\\192.168.0.111\share的共享目录请求直接建链后转给云桌面内代理服务端Proxy_Server,具有过滤IP和端口的作用。
代理服务端:在云桌面代理组件中新增NAT代理服务端Proxy_Server,该代理服务端监听3247端口等待终端代理客户端Proxy_Client向Proxy_Server建链,监听3248端口等待数据过滤模块与Proxy_Server建链。
在云终端中增加如下模块:
代理客户端:在云桌面客户端程序中增加NAT代理客户端Proxy_Client,该代理客户端同时向Proxy_Server建链和终端本地系统受限端口建链。
云终端两条链路(socket)建立好后创建两个线程用于负责两个方向的数据转发。
需要说明的是,本发明实施例提供的数据传输方法具有如下特点:1、摆脱网络环境的制约,当云主机访问云终端网络受限的情况下也可以采用本方案;2、不需要客户打开受限端口(例如:445或139)防火墙特例,提高安全性;3、本方案不涉及云主机,不需要第三方代理服务器,对标准协议数据进行过滤和透传能够跨操作系统对多种客户端操作系统(linux或windows)均能处理。
本发明实施例还提供一种网络受限情况下的数据共享系统的结构示意图,其中,网络受限情况包括:终端可以主动连接云桌面,但是云桌面反向主动连接云终端不通的场景,以及云终端某些公共端口,比如文件共享端口445被限制的情况,如图7所示,该数据共享系统包括:云主机和云终端。其中,云主机上安装有云桌面,云桌面包括:操作系统数据资源管理器进程Explorer.exe 701、数据过滤模块702和云桌面代理组件,云桌面代理组件包括:代理服务端Proxy_Server 703;该数据共享系统还包括网络设备704;云终端包括:云桌面客户端程序和受限端口706,云桌面客户端程序包括:代理客户端Proxy_Client 705。
数据过滤模块702、将发往云终端的IP,例如\\192.168.0.111\share的共享目录请求直接转给代理服务端703。
代理服务端703、监听3247端口等待终端代理客户端Proxy_Client向自身建链,监听3248端口等待数据过滤模块702与自身建链。当接收到数据过滤模块发送的共享目录请求,将共享目录请求通过与代理客户端705建立的链接、并经由网络设备704发送给代理客户端705。
代理客户端705、终端代理客户端705启动,并同时向代理客户端703建链和终端本地受限端口706建链。终端两条链路(socket)建立好后创建两个线程用于负责两个方向的数据转发,即一个线程负责将共享目录请求发送至代理客户端,一个负责将与共享目录请求对应的共享目录发送至代理服务端。代理客户端705在接收到共享目录请求后,将共享目录请求发送至受限端口706,再将从受限端口发出的与共享目录请求对应的共享目录发送至代理服务端703。
本发明实施例还提供一种网络受限情况下的数据共享流程示意图,在该实施例中,云主机上安装有云桌面,云桌面和云终端的操作系统是windows,网络受限情况是445端口受限,如图8所示,代理服务端设置在云桌面代理组件中,代理客户端设置在云桌面客户端程序中,属于代理服务端和云桌面代理组件合并设立、代理客户端和云桌面客户端程序合并设立的情况。数据共享流程包括以下步骤:
步骤1、云桌面代理组件通过直接发送控制代码到指定的设备驱动程序,使相应的移动设备以执行相应的操作的函数DeviceIOControl配置数据过滤模块所要过滤的IP和受限端口(这里受限端口即445端口)。
步骤2、数据过滤模块向代理服务端3248端口建链L1,代理客户端Proxy_Client启动后,同时向代理服务端Proxy_Server建链L2和云终端本地445端口建链L3,云终端两条链路socket建立好后立即创建两个线程用于转发数据,由于链路socket是双工的,两个线程各自负责一个方向的数据转发。
步骤3、应用程序获取至少包括目的IP和目的端口的共享目录请求,这里所获得的共享目录请求是云终端告知云主机的,应用程序首先承接该任务,然后通过操作系统向网卡读写数据。
步骤4、网卡的读写数据会经过数据过滤模块,当经过数据过滤模块的共享目录请求的目的IP和目的端口是预先配置的IP和端口,数据过滤模块拦截发往目标地址目的端口的共享目录请求,并将共享目录请求通过链路L1发送到代理服务端。
步骤5、代理服务端通过链路L2将共享目录请求发送到代理客户端,代理客户端通过链路L3将共享目录请求发送受限端口的System.exe进程。
步骤6、云终端对通过受限端口接收的共享目录请求进行处理,获取与共享目录请求共享目录,并通过链路L3发送给代理客户端,代理客户端再通过链路L2发送给代理服务端,代理服务端再通过链路L1发送给数据过滤模块,数据过滤模块再发送给应用程序,整个数据共享过程结束。
本发明实施例还提供一种网络受限情况下的数据共享流程示意图,在该实施例中,云主机上安装有云桌面,云桌面和云终端的操作系统是windows,网络受限情况是445端口受限,如图9所示,代理服务端设置在云桌面中但未设置在云桌面代理组件中,代理客户端未设置在云桌面客户端程序中,属于代理服务端和云桌面代理组件独立设立、代理客户端和云桌面客户端程序独立设立的情况。数据共享流程包括以下步骤:
步骤1、云桌面代理组件通过直接发送控制代码到指定的设备驱动程序,使相应的移动设备以执行相应的操作的函数DeviceIOControl配置数据过滤模块所要过滤的IP和受限端口(这里受限端口即445端口)。
步骤2、云代理组件通过内部协议控制代理服务端,数据过滤模块向代理服务端3248端口建链L1。云终端客户端通过内部协议控制代理客户端Proxy_Client,当控制代理客户端启动后,同时向代理服务端Proxy_Server建链L2和云终端本地445端口建链L3,云终端两条链路socket建立好后立即创建两个线程用于转发数据,由于链路socket是双工的,两个线程各自负责一个方向的数据转发。
步骤3、应用程序获取至少包括目的IP和目的端口的共享目录请求,这里所获得的共享目录请求是云终端告知云主机的,应用程序首先承接该任务,然后通过操作系统向网卡读写数据。
步骤4、网卡的读写数据会经过数据过滤模块,当经过数据过滤模块的共享目录请求的目的IP和目的端口是预先配置的IP和端口,数据过滤模块拦截发往目标地址目的端口的共享目录请求,并将共享目录请求通过链路L1发送到代理服务端。
步骤5、代理服务端通过链路L2将共享目录请求发送到代理客户端,代理客户端通过链路L3将共享目录请求发送受限端口的System.exe进程。
步骤6、云终端对通过受限端口接收的共享目录请求进行处理,获取与共享目录请求共享目录,并通过链路L3发送给代理客户端,代理客户端再通过链路L2发送给代理服务端,代理服务端再通过链路L1发送给数据过滤模块,数据过滤模块再发送给应用程序,整个数据共享过程结束。
本发明实施例还提供一种网络受限情况下的数据共享流程示意图,在该实施例中,云主机上安装有云桌面,云桌面和云终端的操作系统是Linux,网络受限情况是139端口受限,如图10所示,代理服务端设置在云桌面代理组件中,代理客户端设置在云桌面客户端程序中,属于代理服务端和云桌面代理组件合并设立、代理客户端和云桌面客户端程序合并设立的情况。数据共享流程包括以下步骤:
步骤1、云桌面代理组件通过直接发送控制代码到指定的设备驱动程序,使相应的移动设备以执行相应的操作的函数DeviceIOControl配置数据过滤模块所要过滤的IP和受限端口(这里受限端口即139端口)。
步骤2、数据过滤模块向代理服务端3248端口建链L1,代理客户端Proxy_Client启动后,同时向代理服务端Proxy_Server建链L2和云终端本地139端口建链L3,云终端两条链路socket建立好后立即创建两个线程用于转发数据,由于链路socket是双工的,两个线程各自负责一个方向的数据转发。
步骤3、应用程序获取至少包括目的IP和目的端口的共享目录请求,这里所获得的共享目录请求是云终端告知云主机的,应用程序首先承接该任务,然后通过操作系统向网卡读写数据。
步骤4、网卡的读写数据会经过数据过滤模块,当经过数据过滤模块的共享目录请求的目的IP和目的端口是预先配置的IP和端口,数据过滤模块拦截发往目标地址目的端口的共享目录请求,并将共享目录请求通过链路L1发送到代理服务端。
步骤5、代理服务端通过链路L2将共享目录请求发送到代理客户端,代理客户端通过链路L3将共享目录请求发送受限端口的smbd.exe进程。
步骤6、云终端对通过受限端口接收的共享目录请求进行处理,获取与共享目录请求共享目录,并通过链路L3发送给代理客户端,代理客户端再通过链路L2发送给代理服务端,代理服务端再通过链路L1发送给数据过滤模块,数据过滤模块再发送给应用程序,整个数据共享过程结束。
本发明实施例还提供一种网络受限情况下的数据共享流程示意图,在该实施例中,云主机上安装有云桌面,云桌面和云终端的操作系统是Linux,网络受限情况是139端口受限,如图11所示,代理服务端设置在云桌面中但未设置在云桌面代理组件中,代理客户端未设置在云桌面客户端程序中,属于代理服务端和云桌面代理组件独立设立、代理客户端和云桌面客户端程序独立设立的情况。数据共享流程包括以下步骤:
步骤1、云桌面代理组件通过直接发送控制代码到指定的设备驱动程序,使相应的移动设备以执行相应的操作的函数DeviceIOControl配置数据过滤模块所要过滤的IP和受限端口(这里受限端口即139端口)。
步骤2、云代理组件通过内部协议控制代理服务端,数据过滤模块向代理服务端3248端口建链L1。云终端客户端通过内部协议控制代理客户端Proxy_Client,当控制代理客户端启动后,同时向代理服务端Proxy_Server建链L2和云终端本地139端口建链L3,云终端两条链路socket建立好后立即创建两个线程用于转发数据,由于链路socket是双工的,两个线程各自负责一个方向的数据转发。
步骤3、应用程序获取至少包括目的IP和目的端口的共享目录请求,这里所获得的共享目录请求是云终端告知云主机的,应用程序首先承接该任务,然后通过操作系统向网卡读写数据。
步骤4、网卡的读写数据会经过数据过滤模块,当经过数据过滤模块的共享目录请求的目的IP和目的端口是预先配置的IP和端口,数据过滤模块拦截发往目标地址目的端口的共享目录请求,并将共享目录请求通过链路L1发送到代理服务端。
步骤5、代理服务端通过链路L2将共享目录请求发送到代理客户端,代理客户端通过链路L3将共享目录请求发送受限端口的smbd.exe进程。
步骤6、云终端对通过受限端口接收的共享目录请求进行处理,获取与共享目录请求共享目录,并通过链路L3发送给代理客户端,代理客户端再通过链路L2发送给代理服务端,代理服务端再通过链路L1发送给数据过滤模块,数据过滤模块再发送给应用程序,整个数据共享过程结束。
本发明实施例还提供一种网络受限情况下的数据共享流程示意图,在该实施例中,云主机处于外网,云终端处于内网,在内网部署文件传输协议(File TransferProtocol,FTP)服务端,那么端口Port1设置为22,Port2和Port3可以任意协商为某一固定值,如图12所示,数据共享流程包括以下步骤:
步骤1、云桌面代理组件通过直接发送控制代码到指定的设备驱动程序,使相应的移动设备以执行相应的操作的函数DeviceIOControl配置数据过滤模块所要过滤的IP和Port1。
步骤2、数据过滤模块向代理服务端3248端口建链L1,代理客户端Proxy_Client启动后,同时向代理服务端Proxy_Server建链L2和云终端本地受限端口建链L3,云终端两条链路socket建立好后立即创建两个线程用于转发数据,由于链路socket是双工的,两个线程各自负责一个方向的数据转发。
步骤3、应用程序获取至少包括目的IP和目的端口的共享目录请求,这里所获得的共享目录请求是云终端告知云主机的,应用程序首先承接该任务,然后通过操作系统向网卡读写数据。
步骤4、网卡的读写数据会经过数据过滤模块,当经过数据过滤模块的共享目录请求的目的IP和目的端口是预先配置的IP和Port1,数据过滤模块拦截发往目标地址目的端口的共享目录请求,并将共享目录请求通过链路L1发送到代理服务端。
步骤5、代理服务端通过链路L2将共享目录请求发送到代理客户端,代理客户端通过链路L3将共享目录请求发送至Port1。
步骤6、云终端对通过Port1接收的共享目录请求进行处理,获取与共享目录请求共享目录,并通过链路L3发送给代理客户端,代理客户端再通过链路L2发送给代理服务端,代理服务端再通过链路L1发送给数据过滤模块,数据过滤模块再发送给应用程序,整个数据共享过程结束。
其中L1、L2、L3根据实际情况选择TCP协议或用户数据报协议(User DatagramProtocol,UDP)协议进行建链。
本发明实施例还提供一种数据传输装置,包括第一存储器和第一处理器,其中,第一存储器中存储有以下可被第一处理器执行的指令:
获取来自云终端的待传输数据的信息和云终端的信息。
根据云终端的信息判断云终端的网络是否受限。
当确定云终端的网络受限,通过云主机与云终端预先建立的链接向云终端发送待传输数据。
可选地,第一存储器中还存储有以下可被第一处理器执行的指令:
获取来自云终端的链接建立请求;其中,链接建立请求用于根据云终端至云主机的连通链路建立云终端与云主机之间的链接。
向云终端发送链接建立确认信息,并与云终端建立链接。
可选地,云终端的信息包括:云终端的互联网协议IP地址和云终端的端口号。第一存储器中具体存储有以下可被第一处理器执行的指令:
判断云终端的IP地址是否存在于预先建立的IP地址列表中,并判断云终端的端口号是否存在于预先建立的端口号列表中;其中,IP地址列表是无法访问的IP地址的集合,端口号列表是访问受限的端口号的集合。
如果云终端的IP地址存在于IP地址列表中,或者,云终端的端口号存在于端口号列表中,确定云终端的网络受限。
本发明实施例还提供一种数据传输装置,包括第二存储器和第二处理器,其中,第二存储器中存储有以下可被第二处理器执行的指令:
向云主机发送待传输数据的信息和云终端的信息。
当根据云终端的信息确定云终端的网络受限,通过云终端与云主机预先建立的链接获取来自云主机的待传输数据。
可选地,第二存储器中还存储有以下可被第二处理器执行的指令:
向云主机发送链接建立请求;其中,链接建立请求用于根据云终端至云主机的连通链路建立云终端与云主机之间的链接。
获取来自云主机的链接建立确认信息,并与云主机建立链接。
本发明实施例还提供一种计算机可读存储介质,存储介质上存储有计算机可执行指令,计算机可执行指令用于执行以下步骤:
获取来自云终端的待传输数据的信息和云终端的信息。
根据云终端的信息判断云终端的网络是否受限。
当确定云终端的网络受限,通过云主机与云终端预先建立的链接向云终端发送待传输数据。
可选地,计算机可执行指令还执行以下步骤:
获取来自云终端的链接建立请求;其中,链接建立请求用于根据云终端至云主机的连通链路建立云终端与云主机之间的链接。
向云终端发送链接建立确认信息,并与云终端建立链接。
可选地,云终端的信息包括:云终端的互联网协议IP地址和云终端的端口号。计算机可执行指令具体执行以下步骤:
判断云终端的IP地址是否存在于预先建立的IP地址列表中,并判断云终端的端口号是否存在于预先建立的端口号列表中;其中,IP地址列表是无法访问的IP地址的集合,端口号列表是访问受限的端口号的集合。
如果云终端的IP地址存在于IP地址列表中,或者,云终端的端口号存在于端口号列表中,确定云终端的网络受限。
本发明实施例还提供一种计算机可读存储介质,存储介质上存储有计算机可执行指令,计算机可执行指令用于执行以下步骤:
向云主机发送待传输数据的信息和云终端的信息。
当根据云终端的信息确定云终端的网络受限,通过云终端与云主机预先建立的链接获取来自云主机的待传输数据。
可选地,计算机可执行指令还用于执行以下步骤:
向云主机发送链接建立请求;其中,链接建立请求用于根据云终端至云主机的连通链路建立云终端与云主机之间的链接。
获取来自云主机的链接建立确认信息,并与云主机建立链接。
虽然本发明实施例所揭露的实施方式如上,但所述的内容仅为便于理解本发明实施例而采用的实施方式,并非用以限定本发明实施例。任何本发明实施例所属领域内的技术人员,在不脱离本发明实施例所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明实施例的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (10)
1.一种数据传输方法,应用于云主机,包括:
获取来自云终端的待传输数据的信息和所述云终端的信息;
根据所述云终端的信息判断所述云终端的网络是否受限;
当确定所述云终端的网络受限,根据所述待传输数据的信息并通过所述云主机与所述云终端预先建立的链接向所述云终端发送待传输数据。
2.根据权利要求1所述的数据传输方法,其特征在于,所述根据待传输数据的信息并通过云主机与云终端预先建立的链接向云终端发送待传输数据之前,还包括:
获取来自所述云终端的链接建立请求;其中,所述链接建立请求用于根据所述云终端至所述云主机的连通链路建立所述云终端与所述云主机之间的链接;
向所述云终端发送链接建立确认信息,并与所述云终端建立所述链接。
3.根据权利要求1所述的数据传输方法,其特征在于,所述云终端的信息包括:所述云终端的互联网协议IP地址和所述云终端的端口号;
所述根据云终端的信息判断云终端的网络是否受限,包括:
判断所述云终端的IP地址是否存在于预先建立的IP地址列表中,并判断所述云终端的端口号是否存在于预先建立的端口号列表中;其中,所述IP地址列表是无法访问的IP地址的集合,所述端口号列表是访问受限的端口号的集合;
如果所述云终端的IP地址存在于所述IP地址列表中,或者,所述云终端的端口号存在于所述端口号列表中,确定所述云终端的网络受限。
4.一种数据传输方法,应用于云终端,包括:
向云主机发送待传输数据的信息和所述云终端的信息;
当根据所述云终端的信息确定所述云终端的网络受限,通过所述云终端与所述云主机预先建立的链接获取来自所述云主机的所述待传输数据。
5.根据权利要求4所述的数据传输方法,其特征在于,所述通过云终端与云主机预先建立的链接获取来自云主机的待传输数据之前,还包括:
向所述云主机发送链接建立请求;其中,所述链接建立请求用于根据所述云终端至所述云主机的连通链路建立所述云终端与所述云主机之间的链接;
获取来自云主机的链接建立确认信息,并与所述云主机建立所述链接。
6.一种云主机,其特征在于,包括:
第一获取模块,用于获取来自云终端的待传输数据的信息和所述云终端的信息;
第一处理模块,用于根据所述云终端的信息判断所述云终端的网络是否受限;
所述第一处理模块,还用于当确定所述云终端的网络受限,根据所述待传输数据的信息并通过所述云主机与所述云终端预先建立的链接向所述云终端发送待传输数据。
7.根据权利要求6所述的云主机,其特征在于,
所述第一获取模块,还用于获取来自所述云终端的链接建立请求;其中,所述链接建立请求用于根据所述云终端至所述云主机的连通链路建立所述云终端与所述云主机之间的链接;
所述第一处理模块,还用于向所述云终端发送链接建立确认信息,并与所述云终端建立所述链接。
8.根据权利要求6所述的云主机,其特征在于,所述云终端的信息包括:所述云终端的互联网协议IP地址和所述云终端的端口号;所述第一处理模块具体用于:
判断所述云终端的IP地址是否存在于预先建立的IP地址列表中,并判断所述云终端的端口号是否存在于预先建立的端口号列表中;其中,所述IP地址列表是无法访问的IP地址的集合,所述端口号列表是访问受限的端口号的集合;
如果所述云终端的IP地址存在于所述IP地址列表中,或者,所述云终端的端口号存在于所述端口号列表中,确定所述云终端的网络受限。
9.一种云终端,其特征在于,包括:
第二处理模块,用于向云主机发送待传输数据的信息和所述云终端的信息;
第二获取模块,用于当根据所述云终端的信息确定所述云终端的网络受限,通过所述云终端与所述云主机预先建立的链接获取来自所述云主机的所述待传输数据。
10.根据权利要求9所述的云终端,其特征在于,包括:
所述第二处理模块,还用于向所述云主机发送链接建立请求;其中,所述链接建立请求用于根据所述云终端至所述云主机的连通链路建立所述云终端与所述云主机之间的链接;
所述第二获取模块,还用于获取来自云主机的链接建立确认信息,并与所述云主机建立所述链接。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811612791.8A CN111385238B (zh) | 2018-12-27 | 2018-12-27 | 一种数据传输方法及装置 |
PCT/CN2019/128372 WO2020135522A1 (zh) | 2018-12-27 | 2019-12-25 | 一种数据传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811612791.8A CN111385238B (zh) | 2018-12-27 | 2018-12-27 | 一种数据传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111385238A true CN111385238A (zh) | 2020-07-07 |
CN111385238B CN111385238B (zh) | 2023-04-18 |
Family
ID=71128730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811612791.8A Active CN111385238B (zh) | 2018-12-27 | 2018-12-27 | 一种数据传输方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111385238B (zh) |
WO (1) | WO2020135522A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112764961A (zh) * | 2021-01-28 | 2021-05-07 | 西安超越申泰信息科技有限公司 | 云终端在线运维管理方法和装置 |
CN114422599A (zh) * | 2021-12-22 | 2022-04-29 | 中国电信股份有限公司 | 数据的传输方法、系统、电子设备及可读介质 |
CN114528264A (zh) * | 2020-11-23 | 2022-05-24 | 中移互联网有限公司 | 一种数据同步方法和系统 |
CN115150189A (zh) * | 2022-07-28 | 2022-10-04 | 深圳市瑞云科技有限公司 | 一种基于企业私有云盘文件外发自动拦截的方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115134355B (zh) * | 2022-09-01 | 2023-01-24 | 北京汇金春华科技有限公司 | 一种桌面云数据传输方法及相关设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102694816A (zh) * | 2012-06-08 | 2012-09-26 | 华为技术有限公司 | 远程用户界面的实现方法、装置及系统 |
CN102868728A (zh) * | 2012-08-23 | 2013-01-09 | 福建升腾资讯有限公司 | 在vdi环境下基于虚拟通道的网络代理方法 |
CN105338048A (zh) * | 2014-08-13 | 2016-02-17 | 北京云端时代科技有限公司 | 一种虚拟桌面基础架构下的文件传输方法和系统 |
CN105378659A (zh) * | 2013-06-14 | 2016-03-02 | 托加里奥有限责任公司 | 使客户端设备能够访问远程桌面的方法和系统 |
CN105406987A (zh) * | 2015-10-22 | 2016-03-16 | 广州云晫信息科技有限公司 | 一种外网客户端接入私有云云桌面方法 |
CN106372532A (zh) * | 2016-09-05 | 2017-02-01 | 用友优普信息技术有限公司 | 开放应用程序接口服务平台、调用控制方法和装置 |
CN106790758A (zh) * | 2016-12-29 | 2017-05-31 | 杭州迪普科技股份有限公司 | 一种访问nat网络内部的网络对象的方法及装置 |
CN107959701A (zh) * | 2016-10-17 | 2018-04-24 | 中兴通讯股份有限公司 | 数据共享方法、云终端、云桌面虚拟机及中转代理服务器 |
CN108933801A (zh) * | 2017-05-24 | 2018-12-04 | 中兴通讯股份有限公司 | 一种云桌面通道建立及云桌面通信的方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8782637B2 (en) * | 2007-11-03 | 2014-07-15 | ATM Shafiqul Khalid | Mini-cloud system for enabling user subscription to cloud service in residential environment |
CN106254364B (zh) * | 2016-08-19 | 2019-11-22 | 湖南麒麟信安科技有限公司 | 一种多网络隔离环境下的计算机桌面服务访问装置及方法 |
CN108173883A (zh) * | 2018-03-06 | 2018-06-15 | 国云科技股份有限公司 | 一种双网隔离的云桌面连接方法及系统 |
-
2018
- 2018-12-27 CN CN201811612791.8A patent/CN111385238B/zh active Active
-
2019
- 2019-12-25 WO PCT/CN2019/128372 patent/WO2020135522A1/zh active Application Filing
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102694816A (zh) * | 2012-06-08 | 2012-09-26 | 华为技术有限公司 | 远程用户界面的实现方法、装置及系统 |
CN102868728A (zh) * | 2012-08-23 | 2013-01-09 | 福建升腾资讯有限公司 | 在vdi环境下基于虚拟通道的网络代理方法 |
CN105378659A (zh) * | 2013-06-14 | 2016-03-02 | 托加里奥有限责任公司 | 使客户端设备能够访问远程桌面的方法和系统 |
CN105338048A (zh) * | 2014-08-13 | 2016-02-17 | 北京云端时代科技有限公司 | 一种虚拟桌面基础架构下的文件传输方法和系统 |
CN105406987A (zh) * | 2015-10-22 | 2016-03-16 | 广州云晫信息科技有限公司 | 一种外网客户端接入私有云云桌面方法 |
CN106372532A (zh) * | 2016-09-05 | 2017-02-01 | 用友优普信息技术有限公司 | 开放应用程序接口服务平台、调用控制方法和装置 |
CN107959701A (zh) * | 2016-10-17 | 2018-04-24 | 中兴通讯股份有限公司 | 数据共享方法、云终端、云桌面虚拟机及中转代理服务器 |
CN106790758A (zh) * | 2016-12-29 | 2017-05-31 | 杭州迪普科技股份有限公司 | 一种访问nat网络内部的网络对象的方法及装置 |
CN108933801A (zh) * | 2017-05-24 | 2018-12-04 | 中兴通讯股份有限公司 | 一种云桌面通道建立及云桌面通信的方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114528264A (zh) * | 2020-11-23 | 2022-05-24 | 中移互联网有限公司 | 一种数据同步方法和系统 |
CN112764961A (zh) * | 2021-01-28 | 2021-05-07 | 西安超越申泰信息科技有限公司 | 云终端在线运维管理方法和装置 |
CN114422599A (zh) * | 2021-12-22 | 2022-04-29 | 中国电信股份有限公司 | 数据的传输方法、系统、电子设备及可读介质 |
CN114422599B (zh) * | 2021-12-22 | 2024-04-30 | 中国电信股份有限公司 | 数据的传输方法、系统、电子设备及可读介质 |
CN115150189A (zh) * | 2022-07-28 | 2022-10-04 | 深圳市瑞云科技有限公司 | 一种基于企业私有云盘文件外发自动拦截的方法 |
CN115150189B (zh) * | 2022-07-28 | 2023-11-07 | 深圳市瑞云科技有限公司 | 一种基于企业私有云盘文件外发自动拦截的方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2020135522A1 (zh) | 2020-07-02 |
CN111385238B (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111385238B (zh) | 一种数据传输方法及装置 | |
US11075821B2 (en) | Method and apparatus for managing field device based on cloud server | |
EP2597842B1 (en) | Providing network capability over a converged interconnect fabric | |
US20110277028A1 (en) | Assigning a network address for a virtual device to virtually extend the functionality of a network device | |
US8700820B2 (en) | Method for accessing USB device attached to home gateway, home gateway and terminal | |
CN110149614B (zh) | 一种车载数据传输的方法及装置、车载tbox | |
US20140317615A1 (en) | Systems and Methods for Installing Applications | |
JP2017516410A (ja) | パブリッククラウドのプライベートネットワーク資源との接続 | |
US20170155717A1 (en) | Direct memory access for endpoint devices | |
US10499311B2 (en) | Method and apparatus for implementing network sharing | |
US10817448B1 (en) | Reducing read transactions to peripheral devices | |
CN112769794B (zh) | 一种数据转换方法及装置 | |
WO2023123899A1 (zh) | 网络切片接入方法、装置、系统和存储介质 | |
WO2014169619A1 (en) | Systems and methods for installing applications | |
CN111404951A (zh) | 一种云网络的租户创建方法、计算机设备及存储介质 | |
US20110276673A1 (en) | Virtually extending the functionality of a network device | |
CN105429884A (zh) | 通过终端来管理不同网络中路由器的方法和系统 | |
CN110430478B (zh) | 组网通信方法、装置、终端设备及存储介质 | |
US20230336375A1 (en) | Systems and methods for control channel tunneling | |
CN114205149A (zh) | 网络通信方法及装置 | |
CN109460189B (zh) | 一种存储系统的初始化方法及装置 | |
US20230370427A1 (en) | Providing a network firewall between a virtualized environment and a host processing system | |
CN112653702B (zh) | 一种识别搭建代理环境的方法 | |
CN112491927B (zh) | 一种绕过网络端口屏蔽的方法及系统 | |
CN111107663B (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 |