CN110489192B - 远程通信方法及装置、电子设备 - Google Patents
远程通信方法及装置、电子设备 Download PDFInfo
- Publication number
- CN110489192B CN110489192B CN201910746140.6A CN201910746140A CN110489192B CN 110489192 B CN110489192 B CN 110489192B CN 201910746140 A CN201910746140 A CN 201910746140A CN 110489192 B CN110489192 B CN 110489192B
- Authority
- CN
- China
- Prior art keywords
- remote desktop
- server
- client
- proxy server
- port
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- 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/01—Protocols
- H04L67/08—Protocols specially adapted for terminal emulation, e.g. Telnet
-
- 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
- H04L67/141—Setup of application sessions
-
- 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
-
- 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/01—Protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开实施例提供了一种远程通信方法及装置、电子设备,涉及互联网技术领域。所述远程通信方法包括:接收双向代理服务器转发的来自客户端的请求数据,所述双向代理服务器设置于因特网中且具有固定端口和地址;将所述请求数据发送至远程桌面服务端,以便于所述远程桌面服务端与所述客户端建立连接并进行通信。本公开实施例的技术方案可以提升远程通信连接的成功率、准确性及稳定性。
Description
技术领域
本公开涉及互联网技术领域,具体而言,涉及一种远程通信方法、远程通信装置以及电子设备。
背景技术
随着科学技术和信息技术的进步,可以通过远程桌面对相隔千里之外的机器进行操作,以为用户提供便利性。
相关技术中,通常通过因特网直接将远程桌面客户端与远程桌面服务端连接;或者是通过路由器接入外网,对路由器的IP地址和端口与被操作机器的IP地址和端口做映射,将远程桌面客户端与远程桌面服务端连接。但是,上述方式需要较多的配置步骤,且不一定均能连接成功,并且需要服务端具有固定的地址和端口,使得操作步骤较复杂、可靠性较低且具有一定的局限性。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开实施例的目的在于提供一种远程通信方法、远程通信装置以及电子设备,进而至少在一定程度上提高远程通信的成功率和稳定性。
根据本公开的一个方面,提供一种远程通信方法,包括:接收双向代理服务器转发的来自客户端的请求数据,所述双向代理服务器设置于因特网中且具有固定端口和地址;将所述请求数据发送至远程桌面服务端,以便于所述远程桌面服务端与所述客户端建立连接并进行通信。
在本公开的一些实施例中,基于前述方案,数据发送模块包括:反向代理映射模块,用于将第一端口映射到所述双向代理服务器,以便于映射对应的反向代理服务器;发送控制模块,用于通过所述反向代理服务器将所述请求数据发送至所述远程桌面服务端,以便于所述远程桌面服务端与所述客户端建立连接并进行通信。
在本公开的一些实施例中,基于前述方案,在将第一端口映射到所述双向代理服务器之后,所述装置还包括:服务端配置模块,用于根据所述反向代理服务器为所述客户端的访问路径配置对应的远程桌面客户端网页服务,并根据所述远程桌面客户端网页服务配置所述远程桌面服务端,且不同的所述访问路径对应的所述远程桌面服务端不同。
在本公开的一些实施例中,基于前述方案,发送控制模块包括:端口确定模块,用于通过所述反向代理服务器确定来自所述客户端的所述请求数据关联的所述访问路径,并根据所述访问路径确定对应的第二端口;服务端确定模块,用于根据所述第二端口确定目标远程桌面服务端,并将所述请求数据发送至所述目标远程桌面服务端。
在本公开的一些实施例中,基于前述方案,服务端确定模块包括:网页服务确定模块,用于根据所述第二端口与远程桌面客户端网页服务之间的对应关系确定目标远程桌面客户端网页服务;第一发送模块,用于将所述请求数据发送至所述目标远程桌面客户端网页服务;第二发送模块,用于通过所述目标远程桌面客户端网页服务确定目标远程桌面服务端,并将所述请求数据转发至所述目标远程桌面服务端。
在本公开的一些实施例中,基于前述方案,在将所述请求数据发送至远程桌面服务端后,所述装置还包括:响应数据接收模块,用于接收所述远程桌面服务端响应于所述请求数据而返回的响应数据;响应数据转发模块,用于将所述响应数据发送至所述双向代理服务器,以便于所述双向代理服务器将所述响应数据转发至所述客户端。
在本公开的一些实施例中,基于前述方案,所述装置还包括:连接控制模块,用于与所述双向代理服务器建立主动连接,其中,所述客户端主动连接所述双向代理服务器。
在本公开的一些实施例中,基于前述方案,所述装置还包括:数据操作模块,用于在将所述请求数据发送至所述远程桌面服务端之后,对发送至所述远程桌面服务端的所述请求数据进行预设操作。
本公开实施例可以具有以下部分或全部有益效果:
本公开实施方式所提供的远程通信方法、装置以及电子设备中,在接收到设置于因特网中的双向代理服务器转发的来自客户端的请求数据后,将请求数据发送至远程桌面服务端,以使远程桌面服务端与客户端建立连接并进行通信。一方面,在该远程通信方法中,由于设置于因特网中的双向代理服务器具有固定端口和地址,在通过双向代理服务器为因特网中的客户端和远程桌面服务端建立连接的过程中,则不需要对客户端和远程桌面服务端的端口和地址进行一一配置,减少了操作步骤,且简化了配置步骤,提高了远程连接的便捷性。另一方面,由于双向代理服务器具有固定端口和地址,避免了为客户端和远程桌面服务端重新分配端口和地址而导致的客户端连接失败的问题,通过双向代理服务器传输请求数据,提高了客户端连接和建立远程通信的成功率,同时提高了数据传输的准确性,从而实现稳定可靠的远程桌面连接。再一方面,避免了服务端必须具备固定的端口和地址的问题,降低了局限性,增加了应用范围。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了可以应用本公开实施例的一种远程通信方法及装置的示例性系统架构的示意图;
图2示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图;
图3示意性示出了根据本公开的一个实施例的远程通信方法的流程图;
图4示意性示出了根据本公开的一个实施例的网络架构的示意图;
图5示意性示出了根据本公开的一个实施例的配置远程桌面服务端的示意图;
图6示意性示出了根据本公开的一个实施例中发送请求数据的流程图;
图7示意性示出了根据本公开的一个实施例中远程连接标注系统的操作界面的示意图;
图8示意性示出了根据本公开的一个实施例的远程通信装置的框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
图1示出了可以应用本公开实施例的一种远程通信方法及装置的示例性应用环境的系统架构的示意图。
如图1所示,系统架构100可以包括终端设备101、102、103中的一个或多个,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。终端设备101、102、103可以是具有显示屏的各种电子设备,包括但不限于台式计算机、便携式计算机、智能手机和平板电脑等等。应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器105可以是多个服务器组成的服务器集群等。服务器105可以为内部服务器,例如院内服务器上运行的代理服务器。
在本公开的一个实施例中,服务器105接收到客户端通过因特网中的双向代理服务器发来的请求数据,并对请求数据进行处理得到响应数据;进一步地将响应数据返回至客户端以进行显示。
本公开实施例所提供的远程通信方法一般由服务器105执行,相应地,远程通信装置一般设置于服务器105中。但本领域技术人员容易理解的是,本公开实施例所提供的远程通信方法也可以由终端设备101、102、103执行,相应的,远程通信装置也可以设置于终端设备101、102、103中,本示例性实施例中对此不做特殊限定。
图2示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图2示出的电子设备的计算机系统200仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图2所示,计算机系统200包括中央处理单元(CPU)201,其可以根据存储在只读存储器(ROM)202中的程序或者从存储部分208加载到随机访问存储器(RAM)203中的程序而执行各种适当的动作和处理。在RAM 203中,还存储有系统操作所需的各种程序和数据。CPU201、ROM 202以及RAM 203通过总线204彼此相连。输入/输出(I/O)接口205也连接至总线204。
以下部件连接至I/O接口205:包括键盘、鼠标等的输入部分206;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分207;包括硬盘等的存储部分208;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分209。通信部分209经由诸如因特网的网络执行通信处理。驱动器210也根据需要连接至I/O接口205。可拆卸介质211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器210上,以便于从其上读出的计算机程序根据需要被安装入存储部分208。
特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分209从网络上被下载和安装,和/或从可拆卸介质211被安装。在该计算机程序被中央处理单元(CPU)201执行时,执行本申请的方法和装置中限定的各种功能。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如下述实施例中所述的方法。例如,所述的电子设备可以实现附图中所示的各个步骤等。
本发明人发现,远程桌面可以让用户操作相隔千里的机器就像在本地一样,给用户带来极大的方便。在windows操作系统下提供了远程桌面客户端和远程桌面服务端时,被操作机器运行服务端必须要有固定的外部网络的IP地址和端口。在较简单的网络环境中,例如家庭网络,通常会有一台路由器接入外部网络,可以通过把路由器的外部网络IP和端口与被操作机器的IP和端口做映射,但是路由器的外部网络IP经常被运营商重新分配,所以客户端连接时经常会失败。在复杂网络环境下,被操作机器会藏在多级内网路由器下,直接对外网的路由器和被操作机器如果要做IP地址和端口映射会非常麻烦。
为了解决上述问题,本公开实施例中提供了一种远程通信方法,参考图3中所示,该远程通信方法主要包括以下步骤:
在步骤S310中,接收双向代理服务器转发的来自客户端的请求数据,所述双向代理服务器设置于因特网中且具有固定端口和地址;
在步骤S320中,将所述请求数据发送至远程桌面服务端,以便于所述远程桌面服务端与所述客户端建立连接并进行通信。
本公开实施例提供的技术方案中,一方面,在该远程通信方法中,由于设置于因特网中的双向代理服务器具有固定端口和地址,在通过双向代理服务器以及代理服务器为客户端和远程桌面服务端建立连接的过程中,不需要对端口和地址进行一一配置,减少和简化了配置步骤,提高了连接便捷性。另一方面,由于双向代理服务器具有固定端口和地址,避免了为客户端和远程桌面服务端重新分配端口和地址而导致的连接失败的问题,通过双向代理服务器传输请求数据,提高了连接成功率和准确性,从而使得客户端和远程桌面服务端实现稳定可靠的远程桌面连接。再一方面,避免了服务端必须具备固定的端口和地址的问题,降低了局限性,增加了应用范围。
接下来,将结合附图对本公开实施例的上述步骤进行更加详细的说明。
在步骤S310中,接收双向代理服务器转发的来自客户端的请求数据,所述双向代理服务器设置于因特网中且具有固定的端口和地址。
本公开实施例中,以远程通信方法的执行主体为院内服务器为例进行说明,具体而言,该执行主体可以为院内服务器上运行的代理服务器。图4中示意性示出了实现该远程通信方法的网络架构,参考图4中所示,该网络架构主要包括外部网络以及院内网络两部分。其中,外部网络中主要包括客户端401、因特网402以及服务器403。因特网402上存在一台具有稳定外网IP地址的服务器,即服务器403,且该服务器是提前申请的。服务器403上可以运行一个双向代理服务器404。院内网络主要包括防火墙、路由器以及前置机等部件405;院内网络还包括院内服务器406,且院内服务器406上可以运行代理服务器407以及远程桌面服务端408;院内网络还可以包括标注系统409。其中,代理服务器是在内部网和因特网之间的一台主机设备,具体可以为提供代理服务的电脑系统或其它类型的网络终端。当内部网的用户需要因特网上的某一服务时,代理服务器会将数据取回来再通知用户。内部网的所有用户只要一个代理服务器,就都可以同时上网,而代理服务器只占用因特网上的一个IP地址。一个完整的代理请求过程为:客户端首先与代理服务器创建连接,接着根据代理服务器所使用的代理协议,请求对目标服务器创建连接、或者获得目标服务器的文件等指定资源。
本公开实施例中,首先可以在外部网络中的因特网上申请一台有稳定外网IP地址的服务器,以便于通过该服务器提供稳定的IP地址和连接端口。该服务器例如可以为图4中的服务器403所示。更进一步地,申请到该服务器403之后,可以在该服务器403中运行一个双向代理服务器,该双向代理服务器例如可以为图4中的服务器404所示。如此一来,双向代理服务器拥有两个网络接口或端口,对内和对外分别采用两个不同的IP地址,且内部网络和外部网络之间的通信必须通过双向代理服务器来完成。本公开实施例中,双向代理服务器具有固定的端口和地址,且该双向代理服务器可以开启两个代理端口,其中开启一个代理端口等待外部网路中的客户端连接,开启另外一个代理端口等待院内网络中的院内服务器的连接。客户端例如可以为外部网络中的台式电脑、智能手机、便携式电脑等可以连接因特网并进行操作的电子设备。院内服务器指的是某一个机构内部的代理服务器,具体可以根据实际处理需求的不同而不同,例如针对医院内的数据进行处理时,院内服务器为医院内的代理服务器;若针对学校内的数据进行处理时,院内服务器为学校内的代理服务器。
客户端可以通过主动连接的方式与因特网建立连接,从而与因特网中的双向代理服务器建立主动连接。主动连接指的是客户端向双向代理服务器端口发送连接请求,双向代理服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上告诉双向代理服务器:“我打开了XXXX端口,你连接我”。于是双向代理服务器从自身的端口向客户端的XXXX端口发送连接请求,建立一条数据链路来传送数据。
在建立主动连接之后,客户端可以向从因特网中申请的双向代理服务器发送请求数据。此处的请求数据可以为任意类型的数据,例如包括但不限于访问的网址数据、一般数据、安装软件、运行程序以及针对院内服务器上的数据的指令数据(例如打开数据、添加数据、删除数据、标注数据以及复制数据等),此处以请求数据为指令数据为例进行说明。在通过指令数据对院内服务器上的数据进行操作时,数据具体可以为图像数据、视频数据以及文本数据等等。
也就是说,客户端可以通过主动连接的因特网将请求数据发送至双向代理服务器,双向代理服务器进一步可以将其接收到的请求数据转发至院内网络,以实现外部网络和院内网络之间的通信连接。由于双向代理服务器具有固定端口和地址,避免了一直为客户端和路由器做端口映射,且不需要服务端具有外部网络的固定IP地址和端口,降低了远程桌面连接的局限性,减少了操作步骤,且降低了对客户端和远程桌面服务端进行配置的难度。
继续参考图3中所示,在步骤S320中,将所述请求数据发送至远程桌面服务端,以便于所述远程桌面服务端与所述客户端建立连接并进行通信。
本公开实施例中,远程桌面服务端指的是用于执行远程桌面服务的服务器(即被控制方),可以通过对该远程桌面服务端进行控制,从而控制和处理院内服务器中的数据。基于此,可将客户端发来的请求数据发送至远程桌面服务端,从而使得客户端与远程桌面服务端之间建立连接并进行数据传输,以在二者之间实现远程通信的功能。
具体地,从院内网络中的代理服务器侧而言,代理服务器运行于院内服务器上,代理服务器一方面通过因特网主动连接到双向代理服务器。由于是主动连接,因此可以突破防火墙、路由器、前置机等的限制。因特网上会监听一个端口,院内服务器上的代理服务器会连接到该端口,以实现对双向代理服务器的主动连接。进一步地,院内服务器上可存在第一端口,该第一端口例如可以为80端口,且该第一端口是不对外开放的。院内服务器上运行的代理服务器可以将院内服务器本身的第一端口映射到因特网上去,得到该第一端口对应的端口,以便于外部网络中的客户端可以通过该第一端口对应的端口连接至院内网络。第一端口对应的端口可以与第一端口的类型相同,也可以不同,此处不作特殊限定。举例而言,第一端口对应的端口可以为80端口或者是81端口或者是其他类型的端口,只要能够使得客户端连接到院内网络即可。
通过将第一端口映射到双向代理服务器,使得院内服务器中的第一端口能够对外开放,从而能够映射本机的反向代理服务器,即院内服务器上运行的代理服务器可通过院内服务器的第一端口映射该院内服务器的nginx服务。
反向代理服务器是指以代理服务器来接受因特网上的连接请求,然后将请求转发给院内网络上的服务器,并将从院内网络上的服务器上得到的结果返回给因特网上请求主动连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。因此,通过院内服务器上运行的代理服务器407可以得到本机的反向代理服务器。
反向代理服务器是为服务端(即远程桌面服务端)进行服务的,反向代理可以帮助服务端接收来自客户端的请求,帮助服务端做请求转发,负载均衡等。反向代理服务器对服务端而言是透明的,对客户端而言是非透明的,即客户端并不知道自己访问的是反向代理服务器,而服务端知道反向代理服务器在为其服务。举例而言,当客户端请求www.abc.com的时候,背后可能有成千上万台服务器为该客户端服务,但并不知道具体是哪一台为该客户端服务。而www.abc.com就是反向代理服务器,反向代理服务器会帮客户端把请求转发到真实的服务器那里去,以使真实的服务器进行处理。Nginx用作反向代理服务器时,其可以通过简单的配置,指定到服务器IP或域名地址便可将客户端请求转发给指定服务器处理请求。
为了提高处理效率,可以根据反向代理服务器为客户端配置对应的远程桌面服务端。客户端在发送请求数据时,通常会包括主机、端口以及访问路径。不同的访问路径,一般可以对应不同的端口。本公开实施例中,可以将每一个访问路径映射到一个第二端口,并且第二端口分别对应一个远程桌面服务端。第二端口的类型可以与第一端口的类型相同,也可以不同。具体地,代理服务器可以根据映射的本机的反向代理服务器,为客户端的不同访问路径配置不同的远程桌面客户端网页服务,并进一步根据不同的远程桌面客户端网页服务配置不同的远程桌面服务端。其中,远程桌面客户端网页服务可以为网页版本的远程桌面应用,只要有浏览器就可以实现远程连接,而不需要安装应用程序,降低了远程桌面部署成本。远程桌面服务端可以为执行远程桌面控制的具体的某一台服务器。需要说明的是,不同的远程桌面客户端网页服务可以对应不同的远程桌面服务端。举例而言,若客户端1的访问路径为路径1,则可以根据所有访问路径与远程桌面客户端网页服务之间的对应关系,确定路径1对应的远程桌面客户端网页服务,例如远程桌面客户端网页服务1;进一步地,可以根据远程桌面客户端网页服务与远程桌面服务端之间的对应关系,确定远程桌面客户端网页服务1对应的远程桌面服务端1。图5示意性示出了配置远程桌面服务的示意图,参考图5中所示,按照上述方法,可以为客户端的每个访问路径,确定各自对应的远程桌面客户端网页服务以及远程桌面服务端,从而为不同访问路径的客户端更准确地配置远程桌面服务端,以便于提高远程桌面通信的准确率和效率。
在配置好远程桌面服务端之后,可通过所述反向代理服务将所述请求数据发送至所述远程桌面服务端,以实现远程桌面。远程桌面的工作原理在于:客户端和远程桌面服务端通过TCP/IP协议和标准的局域网构架联系,通过客户端的终端,客户端的鼠标、客户端的键盘的输入传递到远程桌面服务端上,再把远程桌面服务端的显示传递回客户端。应用程序始终运行在服务端上,客户端不需要具有计算能力,至多只需提供一定的缓存能力。多个客户端可以同时登录到远程桌面服务端上,仿佛同时在远程桌面服务端工作一样。通过远程桌面,可以从任何设备从几乎任意位置连接到远程电脑和工作资源,并访问远程电脑上的所有应用、文件和网络资源,就像在远程电脑跟前一样,为用户操作提供便捷性。
基于此,图6中示意性示出了发送请求数据的流程图,参考图6中所示,主要包括以下步骤S610和步骤S620,其中:
在步骤S610中,通过所述反向代理服务器确定来自所述客户端的所述请求数据关联的所述访问路径,并根据所述访问路径确定对应的第二端口;
在步骤S620中,根据所述第二端口确定目标远程桌面服务端,并将所述请求数据发送至所述目标远程桌面服务端。
本公开实施例中,第二端口指的是院内服务器中远程桌面服务端上的端口,用于连接客户端。第二端口的类型可以为任意合适的类型,且每个第二端口可以与一个远程桌面服务端相对应。在代理服务器接收到来自客户端的请求数据时,首先可以确定该请求数据的访问路径,例如路径2。进一步地,可以根据访问路径确定其对应的第二端口,例如端口2。在确定第二端口后,可以根据第二端口确定其对应的目标远程桌面服务端,例如端口2对应的目标远程桌面服务端为远程桌面服务端2。在确定目标远程桌面服务端之后,代理服务器可以将请求数据发送至反向代理服务器,以使反向代理服务器将请求数据发送至客户端本次访问对应的具体的目标远程桌面服务端。
继续参考图6中所示,步骤S620的实现方式可以包括步骤S621至步骤S623,其中:
在步骤S621中,根据所述第二端口与远程桌面客户端网页服务之间的对应关系确定目标远程桌面客户端网页服务;
在步骤S622中,将所述请求数据发送至所述目标远程桌面客户端网页服务;
在步骤S623中,通过所述目标远程桌面客户端网页服务确定目标远程桌面服务端,并将所述请求数据转发至所述目标远程桌面服务端。
本公开实施例中,在步骤S610的基础上,确定访问路径对应的第二端口后,可以根据所有第二端口与远程桌面客户端网页服务之间的对应关系确定该第二端口对应的目标远程桌面客户端网页服务,例如端口2对应远程桌面客户端网页服务2。在此基础上,院内网络中的代理服务器可以通过反向代理服务器将请求数据发送至确定的目标远程桌面客户端网页服务;进而通过目标远程桌面客户端网页服务确定对应的目标远程服务端,以将请求数据转发至目标远程桌面服务端,从而使外部网络中的客户端和院内网络中的远程桌面服务端之间建立远程通信连接。
在将请求数据发送至远程桌面服务端之后,该方法还包括:接收远程桌面服务端响应于所述请求数据而返回的响应数据;将响应数据发送至所述双向代理服务器,以便于所述双向代理服务器将所述响应数据转发至所述客户端。其中,响应数据指的是请求数据对应的执行结果,例如添加数据或者是复制数据、删除数据等执行结果。远程桌面服务端可以将得到的响应数据发送至对应的远程桌面客户端网页服务,并通过反向代理服务器转发至因特网中的双向代理服务器,以便于双向代理服务器通过其中一个端口将响应数据发送至客户端,从而在客户端进行展示或者是进行其他后续操作。如此一来,在代理服务器侧,通过双向代理服务器和反向代理服务器实现了客户端和服务端之间的连接和数据通信,从而进行远程访问,降低了远程桌面客户端部署成本以及维护成本。
本公开实施例中,在代理服务器通过反向代理服务器将所述请求数据发送至所述远程桌面服务端之后,还可以对发送至所述远程桌面服务端的所述请求数据进行预设操作。请求数据指的是预设操作例如可以包括但不限于标注操作、编辑操作等等,此处以标注操作为例进行说明,标注操作指的即是对数据进行标记,以确定标注数据的类型、属性等等。具体地,可以响应用户在客户端上的操作(例如响应于客户端的键盘、鼠标的输入或者是其他类型的用户操作),对请求数据进行标注操作。通过远程桌面的方式对院内的数据进行标注操作(即使已经对数据进行了加密),能够避免对数据在因特网上传输而导致的数据泄露等问题,从而保护院内数据的安全性。
本公开实施例所提供的技术方案,对于远程桌面服务端而言,客户端通过因特网连接在双向代理服务器,而院内服务器主动连接双向代理服务器,且院内服务器中运行远程桌面服务端,因此客户端相当于通过院内网络的内网直接连接过来。对于客户端而言,远程桌面服务端通过院内网络主动连接在双向代理服务器,而双向代理服务器处于因特网中,因此相当于远程桌面服务端直接连在了因特网上,且有固定的IP和端口。如此一来,由于通过具有固定端口和地址的双向代理服务器以及院内服务器上运行的代理服务器,即可将外部网络(因特网)中客户端的请求数据发送至院内网络中的远程桌面服务端。由于双向代理服务器的端口和IP地址是固定的,避免了相关技术中外部网络的端口和地址由于被重新分配而导致的客户端经常连接失败的问题,提高了远程连接的成功率。另外,也避免了对外部网络中的客户端和内部网络中的远程桌面服务端进行端口和地址映射的步骤,简化了操作步骤,提高了配置效率,且降低了配置难度。另外,由于外部网络中的双向代理服务器具有固定的IP地址和端口避免了远程桌面服务端必须具备外部网络的固定端口和地址的问题,减少了对服务端的限制,降低了远程桌面连接的局限性,并且可以避免网络环境的限制,从而应用于简单的或者是复杂的网络环境中,增加了应用范围。
举例而言,本公开的一个实施例中,远程桌面方案主要用于解决医院内数据标注的安全性问题。因为医院内数据的高度敏感,即使已经对数据进行了加密,不允许把院内患者的数据导出到院外进行数据标注,也不允许数据在因特网上传输。而远程桌面原理是客户端和服务端实现的是像素的传输,从而保证了数据较高的安全性。
在本公开实施例提供的技术方案的基础上,通过远程桌面进行数据标注的过程主要包括:步骤一、用户在移动端或者PC端等能够连接网络的客户端上打开浏览器,并在浏览器中输入特定的网址和用户名后进入连接页面;步骤二、用户点击连接输入密码后进入,即可进入远程桌面的操作界面;步骤三、用户在远程桌面中的浏览器中输入数据标注系统地址进行标注。
图7中示意性示出了远程标注的操作界面示意图,参考图7中所示,本公开实施例中,通过浏览器进行远程桌面连接,从而进入如图7中所示的操作界面。进一步地,可以根据用户在客户端上通过鼠标、键盘等输入的内容对图7中所示的操作界面中的数据进行预设处理,例如进行标注处理。本公开实施例中的技术方案,通过双向代理服务器以及院内网络中的代理服务器,即可进入院内网络中远程桌面服务端的页面,从而可实现外部网络和院内网络之间的远程通信,使得用户通过在外部网络的客户端上进行操作实现对院内网络中远程桌面服务端的数据进行标注处理,提高了连接的成功率和用户操作的便捷性,并且保护了内部数据的安全性。
应当注意,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
以下介绍本公开的装置实施例,可以用于执行本公开上述实施例中的远程通信方法。对于本公开装置实施例中未披露的细节,请参照本公开上述的远程通信方法的实施例。该远程通信装置可以应用于一服务器或终端设备。参考图8所示,该远程通信装置800可以包括数据接收模块801以及数据发送模块802。其中:
数据接收模块801,用于接收双向代理服务器转发的来自客户端的请求数据,且所述双向代理服务器具有固定端口和地址;
数据发送模块802,用于将所述请求数据发送至远程桌面服务端,以便于所述远程桌面服务端与所述客户端建立连接并进行通信。
在本公开的一些实施例中,数据发送模块包括:反向代理映射模块,用于将第一端口映射到所述双向代理服务器,以便于映射对应的反向代理服务器;发送控制模块,用于通过所述反向代理服务器将所述请求数据发送至所述远程桌面服务端,以便于所述远程桌面服务端与所述客户端建立连接并进行通信。
在本公开的一些实施例中,在将第一端口映射到所述双向代理服务器之后,所述装置还包括:服务端配置模块,用于根据所述反向代理服务器为所述客户端的访问路径配置对应的远程桌面客户端网页服务,并根据所述远程桌面客户端网页服务配置所述远程桌面服务端,且不同的所述访问路径对应的所述远程桌面服务端不同。
在本公开的一些实施例中,发送控制模块包括:端口确定模块,用于通过所述反向代理服务器确定来自所述客户端的所述请求数据关联的所述访问路径,并根据所述访问路径确定对应的第二端口;服务端确定模块,用于根据所述第二端口确定目标远程桌面服务端,并将所述请求数据发送至所述目标远程桌面服务端。
在本公开的一些实施例中,服务端确定模块包括:网页服务确定模块,用于根据所述第二端口与远程桌面客户端网页服务之间的对应关系确定目标远程桌面客户端网页服务;第一发送模块,用于将所述请求数据发送至所述目标远程桌面客户端网页服务;第二发送模块,用于通过所述目标远程桌面客户端网页服务确定目标远程桌面服务端,并将所述请求数据转发至所述目标远程桌面服务端。
在本公开的一些实施例中,在将所述请求数据发送至远程桌面服务端后,所述装置还包括:响应数据接收模块,用于接收所述远程桌面服务端响应于所述请求数据而返回的响应数据;响应数据转发模块,用于将所述响应数据发送至所述双向代理服务器,以便于所述双向代理服务器将所述响应数据转发至所述客户端。
在本公开的一些实施例中,所述装置还包括:连接控制模块,用于与所述双向代理服务器建立主动连接,其中,所述客户端主动连接所述双向代理服务器。
在本公开的一些实施例中,所述装置还包括:数据操作模块,用于在将所述请求数据发送至所述远程桌面服务端之后,对发送至所述远程桌面服务端的所述请求数据进行预设操作。
上述远程通信装置中各模块或单元的具体细节已经在对应的远程通信方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (8)
1.一种远程通信方法,其特征在于,包括:
接收双向代理服务器转发的来自客户端的请求数据,所述双向代理服务器设置于因特网中且具有固定端口和地址;
将第一端口映射到所述双向代理服务器,以便于映射对应的反向代理服务器;
通过所述反向代理服务器确定来自所述客户端的所述请求数据关联的访问路径,并根据所述访问路径确定对应的第二端口;
根据所述第二端口与远程桌面客户端网页服务之间的对应关系确定目标远程桌面客户端网页服务;所述远程桌面客户端网页服务为网页版本的远程桌面应用;
将所述请求数据发送至所述目标远程桌面客户端网页服务;
通过所述目标远程桌面客户端网页服务确定目标远程桌面服务端,并将所述请求数据转发至所述目标远程桌面服务端,以便于所述目标远程桌面服务端与所述客户端建立连接并进行通信。
2.根据权利要求1所述的远程通信方法,其特征在于,在将第一端口映射到所述双向代理服务器之后,所述方法还包括:
根据所述反向代理服务器为所述客户端的访问路径配置对应的远程桌面客户端网页服务,并根据所述远程桌面客户端网页服务配置所述远程桌面服务端,且不同的所述访问路径对应的所述远程桌面服务端不同。
3.根据权利要求1所述的远程通信方法,其特征在于,所述方法还包括:
接收所述远程桌面服务端响应于所述请求数据而返回的响应数据;
将所述响应数据发送至所述双向代理服务器,以便于所述双向代理服务器将所述响应数据转发至所述客户端。
4.根据权利要求1所述的远程通信方法,其特征在于,所述方法还包括:
与所述双向代理服务器建立主动连接,其中,所述客户端主动连接所述双向代理服务器。
5.根据权利要求1所述的远程通信方法,其特征在于,所述方法还包括:
在将所述请求数据发送至所述远程桌面服务端之后,对发送至所述远程桌面服务端的所述请求数据进行预设操作。
6.一种远程通信装置,其特征在于,包括:
数据接收模块,用于接收双向代理服务器转发的来自客户端的请求数据,且所述双向代理服务器具有固定端口和地址;
反向代理映射模块,用于将第一端口映射到所述双向代理服务器,以便于映射对应的反向代理服务器;
端口确定模块,用于通过所述反向代理服务器确定来自所述客户端的所述请求数据关联的访问路径,并根据所述访问路径确定对应的第二端口;
网页服务确定模块,用于根据所述第二端口与远程桌面客户端网页服务之间的对应关系确定目标远程桌面客户端网页服务;所述远程桌面客户端网页服务为网页版本的远程桌面应用;
第一发送模块,用于将所述请求数据发送至所述目标远程桌面客户端网页服务;
第二发送模块,用于通过所述目标远程桌面客户端网页服务确定目标远程桌面服务端,并将所述请求数据转发至所述目标远程桌面服务端,以便于所述目标远程桌面服务端与所述客户端建立连接并进行通信。
7.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-5任一项所述的远程通信方法。
8.一种计算机可读介质,其特征在于,所述计算机可读介质上存储有计算机程序,当所述计算机程序被处理器执行时,使计算机执行权利要求1-5中任一所述的远程通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910746140.6A CN110489192B (zh) | 2019-08-13 | 2019-08-13 | 远程通信方法及装置、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910746140.6A CN110489192B (zh) | 2019-08-13 | 2019-08-13 | 远程通信方法及装置、电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110489192A CN110489192A (zh) | 2019-11-22 |
CN110489192B true CN110489192B (zh) | 2021-10-15 |
Family
ID=68550849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910746140.6A Active CN110489192B (zh) | 2019-08-13 | 2019-08-13 | 远程通信方法及装置、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110489192B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111708595A (zh) * | 2020-06-11 | 2020-09-25 | 湖北美和易思教育科技有限公司 | 一种基于可视化界面的远程交互协作方法及装置 |
CN112929209B (zh) * | 2021-01-25 | 2023-05-16 | 重庆华联众智科技有限公司 | 一种基于代理模型按需定制改善网络服务质量的方法 |
CN112861037B (zh) * | 2021-02-10 | 2023-12-12 | 北京百度网讯科技有限公司 | 数据标注方法、装置、系统、电子设备以及存储介质 |
CN113010224B (zh) * | 2021-03-03 | 2024-01-30 | 南方电网数字平台科技(广东)有限公司 | 前端微服务化方法、装置、计算机设备和存储介质 |
CN113793697A (zh) * | 2021-09-07 | 2021-12-14 | 山东健康医疗大数据有限公司 | 一种实现医患远程交流的网络部署方法 |
CN113905043A (zh) * | 2021-09-15 | 2022-01-07 | 的卢技术有限公司 | 一种远程桌面连接方法和连接系统 |
CN114257437B (zh) * | 2021-12-16 | 2023-07-07 | 安天科技集团股份有限公司 | 远程访问方法、装置、计算设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102037691A (zh) * | 2008-05-22 | 2011-04-27 | 高通股份有限公司 | 用于在移动ip网络中对多个连接进行多路复用的系统和方法 |
CN104125243A (zh) * | 2013-04-23 | 2014-10-29 | 浙江大学 | 一种穿透内网远程连接大规模虚拟机的方法 |
CN107222519A (zh) * | 2017-04-13 | 2017-09-29 | 上海寰创通信科技股份有限公司 | 一种基于外网实现远程访问内网设备的方法 |
CN108989424A (zh) * | 2018-07-13 | 2018-12-11 | 网宿科技股份有限公司 | 一种远程控制的方法和系统 |
CN109194637A (zh) * | 2018-08-23 | 2019-01-11 | 深圳点猫科技有限公司 | 一种用于教育云平台的内外网通讯方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5937388A (en) * | 1996-12-05 | 1999-08-10 | Hewlett-Packard Company | System and method for performing scalable distribution of process flow activities in a distributed workflow management system |
CN101291343B (zh) * | 2008-05-20 | 2011-01-26 | 北京锐安科技有限公司 | 一种基于透明代理设备的远程控制方法及其系统 |
CN105763566B (zh) * | 2016-04-19 | 2018-11-30 | 成都知道创宇信息技术有限公司 | 一种客户端与服务器之间的通信方法 |
US10609152B2 (en) * | 2017-07-11 | 2020-03-31 | Cisco Technology, Inc. | Creation of remote direct access path via internet to firewalled device using multi-site session forwarding |
-
2019
- 2019-08-13 CN CN201910746140.6A patent/CN110489192B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102037691A (zh) * | 2008-05-22 | 2011-04-27 | 高通股份有限公司 | 用于在移动ip网络中对多个连接进行多路复用的系统和方法 |
CN104125243A (zh) * | 2013-04-23 | 2014-10-29 | 浙江大学 | 一种穿透内网远程连接大规模虚拟机的方法 |
CN107222519A (zh) * | 2017-04-13 | 2017-09-29 | 上海寰创通信科技股份有限公司 | 一种基于外网实现远程访问内网设备的方法 |
CN108989424A (zh) * | 2018-07-13 | 2018-12-11 | 网宿科技股份有限公司 | 一种远程控制的方法和系统 |
CN109194637A (zh) * | 2018-08-23 | 2019-01-11 | 深圳点猫科技有限公司 | 一种用于教育云平台的内外网通讯方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110489192A (zh) | 2019-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110489192B (zh) | 远程通信方法及装置、电子设备 | |
CN110120917B (zh) | 基于内容的路由方法及装置 | |
CN110198334B (zh) | 基于对象存储服务的访问方法、装置和存储介质 | |
US20210084019A1 (en) | Secured rest execution inside headless web application | |
KR20150013860A (ko) | 클라이언트 없는 클라우드 컴퓨팅 | |
US11038968B2 (en) | Device and media redirection technique for a browser-based remote desktop client | |
CN113691589B (zh) | 报文传输方法、装置及系统 | |
CN113905030A (zh) | 内外网通讯方法、装置、内网终端和代理服务器 | |
WO2020217157A1 (en) | On-premise and off-premise debugging | |
US9986057B2 (en) | UI framework support for portal systems | |
US20200112510A1 (en) | Redirecting data packets between overlay network and underlay network | |
CN111726400A (zh) | 反向连接的方法、装置和服务端系统 | |
CN114490383A (zh) | 远程调试系统、远程调试方法、计算设备和可读介质 | |
CN111712799B (zh) | 供在非边缘装置和边缘装置上执行的模型的自动分布 | |
CN114416169A (zh) | 基于微前端的数据处理方法、介质、装置和计算设备 | |
US11134117B1 (en) | Network request intercepting framework for compliance monitoring | |
CN112394907A (zh) | 基于容器的交付系统构建方法、应用交付方法和交付系统 | |
US11003463B2 (en) | Virtual desktop | |
CN109783409A (zh) | 用于处理数据的方法和装置 | |
CN114520780A (zh) | 用于代理服务器的接入方法及装置 | |
CN112769975B (zh) | 一种数据集成方法、装置、服务器及存储介质 | |
CN111866100A (zh) | 一种控制数据传输速率的方法、装置和系统 | |
CN115516842A (zh) | 编排代理服务 | |
CN114979128A (zh) | 跨区域通信方法、装置及电子设备 | |
US11755681B2 (en) | Real-time equivalent user interaction generation |
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 |