一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种VNC远程访问的方法、装置及存储介质与流程

2022-07-09 22:32:40 来源:中国专利 TAG:

一种vnc远程访问的方法、装置及存储介质
技术领域
1.本发明涉及网络通信技术领域,尤其涉及一种vnc远程访问的方法、装置及存储介质。


背景技术:

2.在传统的vnc(virtual network computing,虚拟网络计算)远程桌面系统中,vnc客户端的一个ip地址和端口通常只能连接一个vnc服务器,当用户想要连接多个vnc服务器时,只能使用多个ip地址和端口,导致需要对每个vnc服务器进行配置,极其繁琐。
3.如图1所示为一种传统的vnc远程桌面管理的示意图,示出了传统的vnc远程桌面管理的拓扑图。从图1中可以看出外部网络的vnc客户端(如pc)如果想直接访问到路由器内部网络里的私有地址的vnc服务器几乎不可能,特别是在路由器没有公网ip地址时,只有在和路由器同一个局域网中的vnc客户端(如pc)才有可能访问到。
4.谭造保提出了通过中间代理服务器建立vnc客户端和vnc服务器连接的方法(远程桌面访问的单点登录及其行为审计系统的设计与实现,谭造保,中国优秀硕士学位论文全文数据库,1139-123)。通过中间代理服务器的方式虽然解决了外部网络的vnc客户端连接内部网络的vnc服务器的问题,但使用中间代理服务器这种传统的vnc代理服务器的方式依然存在以下问题。
5.1、传统的vnc代理服务器在某个代理服务器异常时,可能直接导致vnc服务不可用,如果进行线路切换则会导致vnc连接断线;
6.2、传统的vnc代理服务器可能使用负载均衡,但负载均衡无法解决网络连接质量的问题,当一个代理服务器离目标vnc服务器较远时,比如跨洲际或跨运营商时,由于线路限制,连接效果通常不会很好;
7.3、传统的vnc代理服务器进行高清的动态视频传输时,现有的单路vnc协议通常无法保证高分辨率、高画质和高帧率的视频传输。


技术实现要素:

8.为了克服如上所述的技术问题,本发明提出一种vnc远程访问的方法,该方法应用于包含vnc服务器、vnc代理、vnc mesh服务器和vnc客户端的系统中,多个所述vnc mesh服务器构建成vnc mesh网络,多个所述vnc代理注册到所述vnc mesh网络,多个所述vnc服务器连接到所述多个vnc代理,所述方法的技术方案如下:
9.s1,所述vnc mesh网络中、与所述vnc客户端位置匹配的第一vnc mesh服务器接收所述vnc客户端发送的vnc远程访问连接请求;
10.s2,所述第一vnc mesh服务器根据所述vnc mesh网络中、各vnc mesh服务器当前的工作状态确定用于进行所述vnc远程访问的目标vnc mesh服务器;
11.s3,所述目标vnc mesh服务器响应所述连接请求,建立与所述vnc客户端的连接,且所述目标vnc mesh服务器从注册到所述vnc mesh网络的所述vnc代理中、根据所述vnc代
理注册到所述vnc mesh网络时生成的注册信息确定用于vnc远程访问的目标vnc服务器,所述目标vnc mesh服务器通过所述vnc代理连接到所述目标vnc服务器,建立所述vnc客户端远程访问所述目标vnc服务器的链路。
12.进一步地,通过如下步骤来构建所述vnc mesh网络:
13.初始化各所述vnc mesh服务器的配置信息,所述配置信息包含所述vnc mesh网络中各所述vnc mesh服务器之间的线路状态信息,所述线路状态信息包括运营商、带宽、负载、延时和丢包率信息;
14.当所述vnc mesh网络新加入vnc mesh服务器时,所述新加入的vnc mesh服务器从所述vnc mesh网络连接中已有的所述vnc mesh服务器获取所述配置信息,所述新加入的vnc mesh服务器测试与已有的各所述vnc mesh服务器的连接速度,并将测试连接速度的结果更新到自身的配置信息中;
15.所述新加入的vnc mesh服务器将更新后的所述配置信息广播到所述vnc mesh网络,所述vnc mesh网络中的各vnc mesh服务器响应所述广播,更新自身的配置信息。
16.进一步地,多个所述vnc服务器连接到多个所述vnc代理包括:一个所述vnc代理与至少一个所述vnc服务器建立连接且一个所述vnc服务器与至少一个所述vnc代理建立连接;其中,所述vnc代理通过远程帧缓冲协议建立与所述vnc服务器的连接;所述vnc代理部署在以下设备中:路由器、桌面计算机和/或vnc服务器。
17.进一步地,所述vnc代理注册到所述vnc mesh网络包括:
18.所述vnc代理发送预注册请求到所述vnc mesh网络的所述vnc mesh服务器,所述vnc mesh服务器响应所述预注册请求,返回允许连接的vnc mesh服务器列表信息;
19.所述vnc代理根据返回的所述vnc mesh服务器列表信息确定运营商、带宽、负载、延时和/或丢包率信息满足第一预设条件的第二vnc mesh服务器;
20.所述vnc代理发送注册请求到所述第二vnc mesh服务器,所述第二vnc mesh服务器响应所述注册请求生成注册信息,建立与所述vnc代理的连接,所述第二vnc mesh服务器将所述注册信息广播到所述vnc mesh网络,所述vnc mesh网络中的所述vnc mesh服务器响应所述广播,生成所述vnc代理的注册信息,所述注册信息包括所述vnc代理的网络协议ip地址和带宽要求。
21.进一步地,所述步骤s3中所述目标vnc mesh服务器通过所述vnc代理连接到所述目标vnc服务器包括:
22.确定与所述vnc代理连接的第三vnc mesh服务器,当所述第三vnc mesh服务器与所述目标vnc mesh服务器不是同一个服务器时,在所述vnc mesh网络中建立所述目标vnc mesh服务器和所述第三vnc mesh服务器之间的通信通道,通过所述通信通道与所述vnc代理建立连接。
23.进一步地,所述步骤s3中所述目标vnc mesh服务器通过所述vnc代理连接到所述目标vnc服务器,建立所述vnc客户端远程访问所述目标vnc服务器的链路包括:当存在多个所述vnc代理连接到所述目标vnc服务器时,所述目标vnc mesh服务器与多个所述vnc代理建立连接,建立所述目标vnc mesh服务器到所述目标vnc服务器的多条连接链路。
24.进一步地,所述目标vnc mesh服务器从所述多条连接链路中分别获取所述vnc服务器的显示缓冲区中的不同视频帧数据,将获取的所述不同视频帧数据进行合并得到所述
mesh服务器从注册到vnc mesh网络的vnc代理中、根据vnc代理注册到vnc mesh网络时生成的注册信息确定用于vnc远程访问的目标vnc服务器,目标vnc mesh服务器通过vnc代理连接到目标vnc服务器,建立vnc客户端远程访问目标vnc服务器的链路。
42.具体地,通过如下步骤来构建vnc mesh网络:
43.初始化各vnc mesh服务器的配置信息,配置信息包含vnc mesh网络中各vnc mesh服务器之间的线路状态信息,线路状态信息包括运营商、带宽、负载、延时和丢包率信息;
44.当vnc mesh网络新加入vnc mesh服务器时,新加入的vnc mesh服务器从vnc mesh网络连接中已有的vnc mesh服务器获取配置信息,新加入的vnc mesh服务器测试与已有的各vnc mesh服务器的连接速度,并将测试连接速度的结果更新到自身的配置信息中;
45.新加入的vnc mesh服务器将更新后的配置信息广播到vnc mesh网络,vnc mesh网络中的各vnc mesh服务器响应广播,更新自身的配置信息。
46.具体地,多个vnc服务器连接到多个vnc代理包括:一个vnc代理与至少一个vnc服务器建立连接且一个vnc服务器与至少一个vnc代理建立连接;其中,vnc代理通过远程帧缓冲协议建立与vnc服务器的连接;vnc代理部署在以下设备中:路由器、桌面计算机和/或vnc服务器。
47.具体地,vnc代理注册到vnc mesh网络包括:
48.vnc代理发送预注册请求到vnc mesh网络的vnc mesh服务器,vnc mesh服务器响应预注册请求,返回允许连接的vnc mesh服务器列表信息;
49.vnc代理根据返回的vnc mesh服务器列表信息确定运营商、带宽、负载、延时和/或丢包率信息满足第一预设条件的第二vnc mesh服务器;
50.vnc代理发送注册请求到第二vnc mesh服务器,第二vnc mesh服务器响应注册请求生成注册信息,建立与vnc代理的连接,第二vnc mesh服务器将注册信息广播到vnc mesh网络,vnc mesh网络中的vnc mesh服务器响应广播,生成vnc代理的注册信息,注册信息包括vnc代理的网络协议ip地址和带宽要求。
51.具体地,步骤s3中目标vnc mesh服务器通过vnc代理连接到目标vnc服务器包括:
52.确定与vnc代理连接的第三vnc mesh服务器,当第三vnc mesh服务器与目标vnc mesh服务器不是同一个服务器时,在vnc mesh网络中建立目标vnc mesh服务器和第三vnc mesh服务器之间的通信通道,通过通信通道与vnc代理建立连接。
53.具体地,步骤s3中目标vnc mesh服务器通过vnc代理连接到目标vnc服务器,建立vnc客户端远程访问目标vnc服务器的链路包括:当存在多个vnc代理连接到目标vnc服务器时,目标vnc mesh服务器与多个vnc代理建立连接,建立目标vnc mesh服务器到目标vnc服务器的多条连接链路。
54.具体地,目标vnc mesh服务器从多条连接链路中分别获取vnc服务器的显示缓冲区中的不同视频帧数据,将获取的不同视频帧数据进行合并得到vnc服务器的显示缓冲区对应的视频数据,将视频数据发送到vnc客户端。
55.具体地,从多条连接链路中确定带宽、负载、延时和/或丢包率信息满足第二预设条件的连接链路作为第一连接链路,当第一连接链路断开时,从多条连接链路的剩余链路中确定带宽、负载、延时和/或丢包率信息满足第三预设条件的第二连接链路;其中,第二预设条件与第三预设条件不同。
mesh网络中的其中一个vnc mesh服务器建立连接并获取配置信息,通过配置信息与vnc mesh网络中其他vnc mesh服务器进行测速,根据测速结果更新获取的配置信息生成当前配置信息,同时向vnc mesh网络中的其他vnc mesh服务器广播当前配置信息,vnc mesh网络中的vnc mesh服务器响应广播信息,更新自身的配置信息。
67.本实施例中vnc代理即vnc proxy通过传统的vnc连接方式与vnc服务器建立连接,当一个vnc代理与一个vnc服务器建立一对一连接时,可以使用端口号为5001的端口建立连接,当一个vnc代理与多个vnc服务器建立一对多连接或者多个vnc代理与一个vnc服务器建立多对一连接时,需要使用多个端口号建立连接。
68.本实施例中vnc代理即vnc proxy注册到vnc mesh网络的过程,包括:
69.1)vnc proxy使用域名或ip连接到vnc mesh网络,与vnc mesh网络中的其中一个vnc mesh服务器建立连接;
70.2)vnc proxy发送预注册请求到vnc mesh服务器,vnc mesh服务器响应预注册请求,返回vnc mesh网络中可用的vnc mesh服务器列表;
71.3)vnc proxy对返回的可用的vnc mesh服务器列表进行筛查,排除不满足预设条件如负载较大或线路较远的vnc mesh服务器;
72.4)vnc proxy根据筛查后的vnc mesh服务器列表进行连接速度测试,获得连接速度和稳定性满足预设条件的目标vnc mesh服务器;
73.5)vnc proxy发送注册请求到目标vnc mesh服务器,与vnc mesh网络建立正式连接,目标vnc mesh服务器响应注册请求生成vnc proxy的注册信息,同时向vnc mesh网络中的其它vnc mesh服务器广播注册信息,其中,注册信息包括vnc proxy的网络协议ip地址、端口、带宽和地理位置等信息。
74.实施例三:
75.如图4所示为本发明实施例的一种vnc链路优化的示意图,当vnc客户端和vnc服务器所处的网络比较远,比如跨国,跨运营商,跨洋等,此时传统的vnc代理服务器的负载均衡网络只能做到负载的均衡,而不能做到最佳链路的匹配。
76.在本实施例的一种简单情况中,当vnc客户端和vnc代理都同时连接到相同vnc mesh服务器时,此时网络延时最小,vnc连接的数据通信最为稳定。在本实施例的一种数据中转情况中,当vnc客户端和vnc代理所处的网络比较远时,比如跨国,跨运营商,跨洋等,vnc客户端和vnc代理分别在vnc mesh网络中连接的最佳vnc mesh服务器不是同一个vnc mesh服务器,此时vnc mesh网络将为2个vnc mesh服务器建立最佳的匹配链路,本例中,包括:
77.1)假设vnc客户端(即图4中的vnc客户端/浏览器)处在移动网络,vnc客户端向vnc mesh网络发送与vnc代理的连接请求,vnc mesh网络解析vnc客户端发送的连接请求时会匹配到最近的最佳vnc mesh服务器,在图4中所示为位于移动机房的vnc mesh服务器d;
78.2)vnc代理以类似1)中所描述的方式连接至最近的最佳vnc mesh服务器,在图4中所示为位于国外机房的vnc mesh服务器a;
79.当vnc客户端与vnc服务器b建立vnc连接时,由于vnc mesh网络中的vnc mesh服务器之间通过专线进行连接实现互联互通,并且能够确定每个vnc mesh服务器到vnc mesh服务器d的延时及带宽。当vnc mesh服务器d直接连接vnc mesh服务器a,连接的延时较大或丢
包率较高时,可以通过中继跨国的vnc mesh服务器c进行数据中转,从而保证数据通信的稳定,实现vnc链路的优化。
80.实施例四:
81.如图5所示为本发明实施例的一种vnc链路聚合的示意图,通过本实施例引入的vnc proxy实现多个vnc proxy的链路聚合,经由多个链路高效传输vnc服务器从显示缓冲区生成的视频数据。其中,vnc proxy即本发明的vnc代理。
82.1)当内部网络的两个vnc proxy,分别为图5中的路由器vnc proxy a和路由器vnc proxy b都注册到vnc mesh网络时,vnc mesh网络中的所有vnc mesh服务器都可以知道同时拥有多路径可达vnc服务器a或vnc服务器b;
83.2)当内部网络中仅有一个vnc proxy,比如图5中的路由器vnc proxy a时,vnc服务器b只能通过路由器vnc proxy a向外提供数据,此时的链路为vnc客户端/浏览器-》vnc mesh服务器c-》vnc mesh服务器a-》路由器vnc proxy a-》vnc服务器b;
84.3)当内部网络中有2个或多个vnc proxy,比如图5中的路由器vnc proxy a和路由器vnc proxy b时,在用户侧可以建立一条或多条连接至vnc服务器b的链路,此时生成的多条链路除了2)的链路以外还可包括vnc客户端/浏览器-》vnc mesh服务器c-》vnc mesh服务器b-》路由器vnc proxy b-》pc/vnc proxy a-》vnc服务器b。
85.vnc mesh服务器c通过不同的vnc proxy实现对vnc服务器b的显示缓冲区进行采集,例如:路由器vnc proxy a采集奇数帧,路由器vnc proxy b采集偶数帧,如果存在更多的链路,不同链路的vnc proxy可以继续进行细分。示例性的,本实施例中帧率为60帧的原始视频现在可以由2个vnc proxy分别承担30帧的视频数据,这些视频数据经过vnc mesh服务器a和vnc mesh服务器b中转至vnc mesh服务器c后,还原成原始视频并集合成普通的rfb数据或html5数据,传输到vnc客户端/浏览器。从而达到单条网络直连可能达不到的帧率。
86.此外,通过链路聚合还能够提高vnc连接的稳定性,当其中一路vnc proxy因为某种原因导致网络连接超时,vnc mesh服务器c当检测到当前的一路的vnc proxy己经不可用时,自动退化至单链接的情况,而不会中断服务,能够继续提供vnc服务。
87.实施例五:
88.如图5所示为本发明实施例的一种vnc链路聚合的示意图,通过本实施例引入的vnc proxy实现多个vnc proxy的链路聚合,从而实现vnc连接链路的冗余备份。其中,vnc proxy即本发明的vnc代理。
89.1)当内部网络的两个vnc proxy,分别为图5中的路由器vnc proxy a和路由器vnc proxy b都注册到vnc mesh网络时,vnc mesh网络中的所有vnc mesh服务器都可以知道同时拥有多路径可达vnc服务器a或vnc服务器b;
90.2)当内部网络中仅有一个vnc proxy,比如图5中的路由器vnc proxy a时,vnc服务器b只能通过路由器vnc proxy a向外提供数据,此时的链路为vnc客户端/浏览器-》vnc mesh服务器c-》vnc mesh服务器a-》路由器vnc proxy a-》vnc服务器b;
91.3)当内部网络中有2个或多个vnc proxy,比如图5中的路由器vnc proxy a和路由器vnc proxy b时,在用户侧可以建立一条或多条连接至vnc服务器b的链路,此时生成的多条链路除了2)的链路以外还可包括vnc客户端/浏览器-》vnc mesh服务器c-》vnc mesh服务器b-》路由器vnc proxy b-》pc/vnc proxy a-》vnc服务器b。
92.当其中一路vnc proxy因为某种原因导致网络连接超时,vnc mesh服务器c当检测到当前的一路的vnc proxy己经不可用时,自动退化至单链接的情况,而不会中断服务,能够继续提供vnc服务。
93.当vnc mesh网络中某个vnc mesh服务器出现异常时,vnc mesh网络可以从正常的网络节点中选择一个正常运行的vnc mesh服务器进行连接。示例性的:
94.1)当前用户通过vnc客户端/浏览器连接至vnc mesh服务器a,并通过vnc mesh服务器a连接路由器vnc proxy a建立与vnc服务器b的连接;
95.2)当vnc mesh服务器a出现异常,无法维持vnc连接时,vnc mesh网络会侦测到vnc mesh服务器a异常,并开始尝试备份链接到vnc mesh服务器b;
96.3)当vnc mesh服务器b工作正常时,vnc mesh网络将vnc连接从vnc mesh服务器a切换至vnc mesh服务器b,保证vnc连接继续保持。
97.实施例六:
98.本发明还提供一种vnc远程访问的装置,如图6所示,该装置包括处理器601、存储器602、总线603、以及存储在存储器602中并可在处理器601上运行的计算机程序,处理器601包括一个或一个以上处理核心,存储器602通过总线603与处理器601相连,存储器602用于存储程序指令,处理器执行计算机程序时实现本发明的上述方法实施例中的步骤。
99.进一步地,作为一个可执行方案,vnc远程访问的装置可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。系统/电子设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,上述系统/电子设备的组成结构仅仅是系统/电子设备的示例,并不构成对系统/电子设备的限定,可以包括比上述更多或更少的部件,或者组合某些部件,或者不同的部件。例如系统/电子设备还可以包括输入输出设备、网络接入设备、总线等,本发明实施例对此不做限定。
100.进一步地,作为一个可执行方案,所称处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是系统/电子设备的控制中心,利用各种接口和线路连接整个系统/电子设备的各个部分。
101.存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现系统/电子设备的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据手机的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
102.实施例七:
103.本发明还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现本发明实施例上述方法的步骤。
104.系统/电子设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一个计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。
105.尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献