一种虚拟化离线桌面块设备存储同步方法

文档序号:9546872阅读:296来源:国知局
一种虚拟化离线桌面块设备存储同步方法
【技术领域】
[0001]本发明涉及一种虚拟化离线桌面块设备存储同步方法。
【背景技术】
[0002]桌面虚拟化是将计算机的终端系统(也称作桌面)进行虚拟化,以达到桌面使用的安全性和灵活性。可以通过任何设备,在任何地点,任何时间通过网络访问属于我们个人的桌面系统。
[0003]桌面虚拟化依赖于服务器虚拟化,在数据中心的服务器上进行服务器虚拟化,生成大量的独立的桌面操作系统(虚拟机或者虚拟桌面),同时根据专有的虚拟桌面协议发送给终端设备。用户终端通过以太网登陆到虚拟主机上,只需要记住用户名和密码及网关信息,即可随时随地的通过网络访问自己的桌面系统,从而实现单机多用户。
[0004]离线模式是将虚拟机从服务器下载到客户机,然后在客户机上运行,使用本地内存和处理功能。优点在于拥有比远程托管应用程序更多的计算资源,有时候性能更好;耗用的带宽比较少,可以在离线状下使用。
[0005]离线模式运行过程中会修改磁盘文件,这样就需要将磁盘文件从客户机同步到服务器上。下一次启动前需要检查服务器上的磁盘文件是否与本地相同,如果不相同,需要将服务器上的磁盘文件同步到本地。这种情况如果磁盘较大,选用不恰当的磁盘同步方法会耗费大量带宽和时间,影响用户体验。

【发明内容】

[0006]本发明为了解决上述问题,提出了一种虚拟化离线桌面块设备存储网络同步方法,本方法使用逐块比较同步的方法,比较并同步完当前数据块前不处理下一块数据,有效地避免数据泄露,节省带宽。
[0007]为了实现上述目的,本发明采用如下技术方案:
[0008]—种虚拟化离线桌面块设备存储同步方法,包括以下步骤:
[0009](1)同步方通知被同步方本次同步的磁盘名称、每次同步数据块的大小和计算校验和的方法;
[0010](2)同步方从虚拟磁盘起始位置读取一个数据块,将数据块的起始位置发送至被同步方,同步方计算校验和;
[0011](3)被同步方根据接收到的数据起始位置读取一个数据块,同时计算校验和;
[0012](4)被同步方将计算的校验和发送给同步方,同步方比较自身计算的校验和和接收的校验和,如果校验和不同,则发送磁盘数据,如果校验和相同,则返回步骤(1)读取下一个数据块;
[0013](5)被同步方如果接收到磁盘数据,将数据写入本地虚拟磁盘。
[0014]所述同步方和被同步方为服务器端或客户端,且同步方和被同步方在同一时刻不相同。
[0015]进一步的,将服务器端的虚拟磁盘数据同步到客户端的方法,具体包括:
[0016](1-1)服务器通知客户端本次同步的磁盘名称、每次同步数据块的大小与计算校验和的方法;
[0017](1-2)服务器端从虚拟磁盘起始位置读取一个数据块,将数据块的起始位置发送至客户端;
[0018](1-3)服务器端计算校验和;
[0019](1-4)客户端根据接收到的数据起始位置读取一个数据块,同时计算校验和;
[0020](1-5)客户端将计算的校验和发送给服务器端,服务器端比较自身计算的校验和和接收的校验和,如果校验和不同,则将数据块发送给服务端,如果校验和相同,则返回步骤(1-1)ο
[0021]进一步的,将客户端的虚拟磁盘数据同步到服务器端的方法,具体包括:
[0022](2-1)客户端通知服务器本次同步的磁盘名称、每次同步数据块的大小并计算校验和的方法;
[0023](2-2)客户端从虚拟磁盘起始位置读取一个数据块,将数据块的起始位置发送至服务器端,客户端计算校验和;
[0024](2-3)服务器端接收数据,根据数据起始位置读取一个数据块,同时计算校验和;
[0025](2-4)服务器端将计算的校验和发送给客户端,客户端比较自身计算的校验和和接收的校验和,如果校验和不同,则将数据块发送给服务器端,如果校验和相同,则返回步骤(2-1)。
[0026]所述步骤⑴中,对磁盘进行分块处理,每块大小相同,大小根据网络带宽和磁盘大小调整。
[0027]优选的,所述步骤(1)中,磁盘大小为a,数据块大小为b,对磁盘分块后,则需要比较(a+b-1) /b 次。
[0028]所述步骤(1)中,完成一块数据的同步传输后,同步方继续读取下一块数据,直到读取完虚拟磁盘结尾就结束整个过程。
[0029]所述步骤(1)中,所述同步方和被同步方在同步开始阶段进行协商虚拟磁盘名称、数据块大小、校验和方式。
[0030]所述步骤(2)中,同步方和被同步方分别从本地虚拟磁盘读取相同位置,相同大小的数据块,并分别计算校验和。
[0031]所述步骤(3)中,计算校验和的动作既可以在同步方执行,也可以在被同步方执行,另一方需要将校验和发送给执行计算校验和的一方。
[0032]所述步骤(3)中,计算校验和在被同步方执行,被同步方需要将比较结果发送给同步方;如果校验和相同,同步方不执行任何动作,如果校验和不同,需要同步方发送磁盘数据,如果数据经过不可信网络,需要对数据进行加密。
[0033]所述步骤(3)中,计算校验和在同步方执行,则同步方判断校验和是否相同,如果校验和相同,同步方不执行任何动作,如果校验和不同,需要同步方发送磁盘数据,如果数据经过不可信网络,需要对数据进行加密。
[0034]本发明的有益效果为:
[0035](1)本发明比较数据是采用网络间发送校验和的方式,避免数据泄露,节省带宽;
[0036](2)当校验和不同时再发送数据,可以实现断点续传,如果之前的同步中断,再次同步时,之前已经同步了的数据块校验和都是相同的,避免了数据重传;
[0037](3)本发明采用逐块比较的方法,比较并同步完当前数据块前不处理下一块数据,一旦出现故障,该方法较一次比较多快数据可以快速定位问题在操作那个数据块时出现,从而进一步排查问题原因。
【附图说明】
[0038]图1为将服务器端的虚拟磁盘数据同步到客户端示意图;
[0039]图2为将客户端的虚拟磁盘数据同步到服务器端示意图。
【具体实施方式】
:
[0040]下面结合附图与实施例对本发明作进一步说明。
[0041]如图1所示,服务器端向客户端同步虚拟磁盘。
[0042]1、服务器通知客户端本次同步的磁盘名称、每次同步数据块的大小(len)和计算校验和的方法(默认md5);
[0043]2、服务器端从虚拟磁盘起始位置读取一个数据块,服务器端将该数据的起始位置发送给客户端;
[0044]3、服务器端计算校验和;
[0045]4、客户端根据起始位置和长度读取数据;
[0046]5、客户端计算校验和;
[0047]6、客户端将校验和发送给服务器端;
[0048]7、服务器端比较本地校验和和客户端数据校验和;
[0049]结果相同则回到步骤1继续读取下一块数据,如果读取到了虚拟磁盘结尾就结束整个过程。
[0050]不相同则将本地虚拟磁盘数据发送给客户端,如果数据经过不可信网络则将数据加密。
[
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1