论文部分内容阅读
随着云计算的日益发展,人们愈发的习惯在云上进行日常的工作生活,包括文件的共享和桌面的分享。但是随着用户的大量加入,服务器面临的压力加大,如果不加以处理,那么就可能会导致服务器的崩溃,影响用户的体验感。为了解决服务器压力增大这一问题,本文设计并开发了一款基于VNC的实时交互系统,实现对文件和桌面的快速分享。传统的网络结构一般都使用客户端/服务端模式,在这种架构中,文件的分享和屏幕的分享都是通过服务器进行,拓展性较差。因此为了减轻传统文件和桌面共享方案中服务器面临的压力,本系统将使用P2P的网络结构来代替传统的网络结构,但是P2P的结构不稳定,所以本系统将对P2P进行改良,将其与服务器结合的网络结构,通过服务器来完成资源的搜索以及邻居节点的分配,在降低服务器的压力的同时,并增强了P2P的可靠性。本文根据系统实现的最终目标,抽取系统的特征需求,介绍了系统所需要的相关技术。本文设计的基于VNC实时交互系统的主要工作如下:针对传统网络结构方案的不足,存在服务器压力过大的问题,本系统在无线网格网络的基础上进行了改良,得到了合适的P2P网络结构,使得系统拥有良好的可拓展性,能够适应用户节点频繁地动态加入与退出,并且不影响其他用户节点的正常使用;对VNC协议进行改良,使用服务端主动推送的更新策略来进行屏幕数据的更新,使用H.264编码协议进行视频数据的压缩,从而在保证同等画质的前提下,使用户节点视频的播放更加地流畅;在文件的传输过程中,使用类似“种子”的方式来对文件进行下载,加快文件的下载速度,同时减少服务器所承担的压力;用户节点之间的消息通信通过加密,使得安全得到保证,无法被攻击者轻松地破解用户节点之间的通信信息。然后根据功能需求,本系统划分成网络通信、节点管理、视频共享、文件共享、和系统安全五个主要模块,实现代码的复用和模块的解耦,依照设计来实现各个模块具体的功能,完成系统的开发。最后根据应用场景和设计的目标,搭建符合场景的测试环境,对系统的功能逐一进行测试,检查功能能否按照需求正常地运行,实现基于VNC的实时交互系统。