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

一种文件同步方法及系统与流程

2022-08-13 20:17:40 来源:中国专利 TAG:


1.本技术涉及云计算技术领域,具体而言,涉及一种文件同步方法及系统。


背景技术:

2.目前,虚拟机一般使用分布式存储系统中的虚拟块设备作为虚拟磁盘。基于该种设置,虚拟机之间在进行数据同步时,通常需要分布式存储系统先通过网络传输数据到虚拟机监视器,其次通过虚拟化或半虚拟化的io驱动将数据传输到虚拟机中,然后再通过虚拟机用户程序通过网络把数据传输给另一个虚拟机的用户程序,再后另一个虚拟机的用户程序通过虚拟化或半虚拟化的io驱动把数据传输至虚拟机监视器,最后虚拟机监视器再将数据写进分布式存储系统的虚拟盘中,从而完成数据同步的过程。可见,该过程中具有较长的io路径,这会需要消耗大量的cpu资源和内存资源。


技术实现要素:

3.本技术实施例的目的在于提供一种文件同步方法及系统,能够实现一种无须利用虚拟机进程,直接在分布式存储系统中同步数据的效果,从而大幅缩短了io路径,进而降低了文件同步对虚拟机cpu和内存资源的消耗,并能够提高文件同步的性能。
4.本技术实施例第一方面提供了一种文件同步方法,所述方法应用于包括虚拟机监视器、第一虚拟机、第二虚拟机和分布式存储系统的文件同步系统中,所述方法包括:
5.所述第一虚拟机在接收到所述文件同步命令时,获取所述待同步文件的文件容积和第一存储位置信息;
6.所述第一虚拟机发送所述文件容积和所述第一存储位置信息至所述虚拟机监视器;
7.所述虚拟机监视器在接收到所述文件容积和所述第一存储位置信息时,发送所述文件容积至所述第二虚拟机;
8.所述第二虚拟机根据所述文件容积创建空文件,并获取与所述空文件相对应的第二存储位置信息;
9.所述第二虚拟机发送所述第二存储位置信息至所述虚拟机监视器;
10.所述虚拟机监视器在接收到所述第二存储位置信息时,调用所述分布式存储系统的接口,并在所述分布式存储系统中根据所述第一存储位置信息和所述第二存储位置信息对存储数据进行同步;所述存储数据为所述待同步文件存储于所述分布式存储系统中的数据。
11.在上述实现过程中,该方法首先要求第一虚拟机在接收到文件同步命令时,再获取待同步文件的文件容积和第一存储位置信息。可见,一方面该方法设置了文件同步的起始要求,避免了文件同步在不合时宜的时候进行同步,并有利于用户对文件同步的过程进行控制;另一方面,该方法获取的是文件容积和存储位置信息,该些信息数据量较小,并不会占用过多的通信资源,这有利于降低文件同步过程中的cpu消耗、内存消耗以及网络消
耗。其次,该方法要求第一虚拟机发送文件容积和第一存储位置信息至虚拟机监视器,以使虚拟机监视器可以承担中转信息和统筹文件同步过程的工作,同时还可以避免第一虚拟机与第二虚拟机之间的交互,减少了通讯负担。然后,虚拟机监视器在接收到文件容积和第一存储位置信息时,发送文件容积至第二虚拟机。可见,该过程中虚拟机监视器自主存储了第一存储位置信息,并单独发送文件容积至第二虚拟机,从而避免了多余信息的传输,节省了各类通信资源。再后,第二虚拟机根据文件容积创建空文件,并获取与空文件相对应的第二存储位置信息。可见,该过程中第二虚拟机可以根据文件容积创建一个空文件,并在同时指定第二存储位置,从而使得第二虚拟机能够控制空文件读取第二存储位置存储的数据,进而为后续分布式存储系统中内容交互提供地址基础。此后,第二虚拟机发送第二存储位置信息至虚拟机监视器,以使虚拟机监视器可以获知到第一存储位置和第二存储位置,从而便于后续步骤的展开。最后,虚拟机监视器在接收到第二存储位置信息时,调用分布式存储系统的接口,并在分布式存储系统中根据第一存储位置信息和第二存储位置信息对存储数据进行同步。可见,该方法可以在分布式存储系统中完成文件数据的同步,以使第二虚拟机可以通过映射关系直接调用分布式存储系统中的数据,从而能够避免第一虚拟机和第二虚拟机之间的交互以及第一虚拟机和第二虚拟机与虚拟机监控器之间的交互,进而大幅缩短了io路径并,降低了文件同步对虚拟机cpu和内存资源的消耗,同时还能够提高文件同步的性能。
12.进一步地,所述第一虚拟机在接收到所述文件同步命令时,获取所述待同步文件的文件容积和第一存储位置信息的步骤包括:
13.所述第一虚拟机在接收到所述文件同步命令时,获取所述待同步文件的文件容积;
14.所述第一虚拟机根据第一映射关系获取第一存储位置信息;所述第一映射关系为所述待同步文件与所述第一存储位置信息之间的映射关系。
15.在上述实现过程中,该方法要求第一虚拟机在接收到文件同步命令时,再获取待同步文件的文件容积,其目的是为了保证操作的有效性,避免文件同步在不合时宜的情况进行自动进行,同时也有利于用户对文件同步过程进行启动与控制。然后,第一虚拟机具体是根据待同步文件与第一存储位置信息之间的映射关系获取第一存储位置信息的。可见,该过程描述了第一存储位置信息的获取过程是基于第一映射关系的,这使得该方法能够基于磁盘映射关系来避免对虚拟机进程的使用,从而有利于更高性能地完成文件同步。
16.进一步地,所述第二虚拟机根据所述文件容积创建空文件,并获取与所述空文件相对应的第二存储位置信息的步骤包括:
17.所述第二虚拟机根据所述文件容积创建空文件;
18.所述第二虚拟机根据第二映射关系获取第二存储位置信息;所述第二映射关系为所述空文件与所述第二存储位置信息之间的映射关系。
19.在上述实现过程中,第二虚拟机可以根据文件容积创建空文件,从而保障待同步的文件可以具有相应的存储空间,避免存储空间的不足影响文件同步;同时,只有文件具有存储空间才能够实现文件同步,因此根据文件容积创建空文件的方式是该方法中最优的文件创建方式,这也为后续步骤提供了充分的准备。然后,第二虚拟机根据空文件与第二存储位置信息之间的映射关系获取第二存储位置信息。可见,该过程描述了第二存储位置信息
的获取过程是基于第二映射关系的,这使得该方法能够基于磁盘映射关系来避免对虚拟机进程的使用,从而有利于更高性能地完成文件同步。
20.进一步地,所述第一虚拟机在接收到所述文件同步命令时,获取所述待同步文件的文件容积和第一存储位置信息的在步骤之前,所述方法还包括:
21.所述虚拟机监视器检测是否接收到用户输入的文件同步命令;
22.所述虚拟机监视器在检测到所述文件同步命令时,发送所述文件同步命令至所述第一虚拟机。
23.在上述实现过程中,该方法可以先由虚拟机监视器检测是否接收到用户输入的文件同步命令,从而使得该方法能够基于虚拟机监视器进行全盘监控,进而可以避免第一虚拟机率先执行其操作或新增检测文件同步命令的操作,这将有利于减少第一虚拟机的工作内容,提高第一虚拟机的专职工作能力。此外,虚拟机监视器会在检测到文件同步命令时,发送文件同步命令至第一虚拟机。可见,该方法能够在虚拟机监视器检测到文件同步命令时才开始进行文件同步的操作,从而将该方法的全部流程集中到虚拟机监视器上,进而极大程度地避免影响虚拟机的正常工作。
24.进一步地,所述虚拟机监视器在接收到所述文件容积和所述第一存储位置信息时,发送所述文件容积至所述第二虚拟机的步骤包括:
25.所述虚拟机监视器在接收到所述文件容积和所述第一存储位置信息时,发送所述文件同步命令和所述文件容积至所述第二虚拟机。
26.在上述实现过程中,该方法可以在发送文件容积至第二虚拟机的同时发送文件同步命令至第二虚拟机,以使第二虚拟机可以将文件同步指令作为文件同步工作的启动信号,进而避免文件同步工作的无效启动和高效运作。
27.进一步地,所述第二虚拟机根据所述文件容积创建空文件,并获取与所述空文件相对应的第二存储位置信息的步骤包括:
28.所述第二虚拟机在接收到所述文件同步命令时,根据所述文件容积创建空文件,并获取与所述空文件相对应的第二存储位置信息。
29.在上述实现过程中,该方法可以要求第二虚拟机在接收到文件同步命令时根据文件容积创建空文件,然后再获取与空文件相对应的第二存储位置信息。可见,该方法能够指定第二虚拟机的工作启动时间,避免了第二虚拟机的无效工作,从而有利于提高文件同步工作的运作可靠性。
30.本技术实施例第二方面提供了一种文件同步系统,所述文件同步系统包括虚拟机监视器、第一虚拟机、第二虚拟机和分布式存储系统,其中,
31.所述第一虚拟机,用于在接收到所述文件同步命令时,获取所述待同步文件的文件容积和第一存储位置信息;
32.所述第一虚拟机,还用于发送所述文件容积和所述第一存储位置信息至所述虚拟机监视器;
33.所述虚拟机监视器,用于在接收到所述文件容积和所述第一存储位置信息时,发送所述文件容积至所述第二虚拟机;
34.所述第二虚拟机,用于根据所述文件容积创建空文件,并获取与所述空文件相对应的第二存储位置信息;
35.所述第二虚拟机,还用于发送所述第二存储位置信息至所述虚拟机监视器;
36.所述虚拟机监视器,还用于在接收到所述第二存储位置信息时,调用所述分布式存储系统的接口,并在所述分布式存储系统中根据所述第一存储位置信息和所述第二存储位置信息对存储数据进行同步;所述存储数据为所述待同步文件存储于所述分布式存储系统中的数据。
37.在上述实现过程中,该系统首先要求第一虚拟机在接收到文件同步命令时,再获取待同步文件的文件容积和第一存储位置信息。可见,一方面该系统设置了文件同步的起始要求,避免了文件同步在不合时宜的时候进行同步,并有利于用户对文件同步的过程进行控制;另一方面,该系统获取的是文件容积和存储位置信息,该些信息数据量较小,并不会占用过多的通信资源,这有利于降低文件同步过程中的cpu消耗、内存消耗以及网络消耗。其次,该系统要求第一虚拟机发送文件容积和第一存储位置信息至虚拟机监视器,以使虚拟机监视器可以承担中转信息和统筹文件同步过程的工作,同时还可以避免第一虚拟机与第二虚拟机之间的交互,减少了通讯负担。然后,虚拟机监视器在接收到文件容积和第一存储位置信息时,发送文件容积至第二虚拟机。可见,该过程中虚拟机监视器自主存储了第一存储位置信息,并单独发送文件容积至第二虚拟机,从而避免了多余信息的传输,节省了各类通信资源。再后,第二虚拟机根据文件容积创建空文件,并获取与空文件相对应的第二存储位置信息。可见,该过程中第二虚拟机可以根据文件容积创建一个空文件,并在同时指定第二存储位置,从而使得第二虚拟机能够控制空文件读取第二存储位置存储的数据,进而为后续分布式存储系统中内容交互提供地址基础。此后,第二虚拟机发送第二存储位置信息至虚拟机监视器,以使虚拟机监视器可以获知到第一存储位置和第二存储位置,从而便于后续步骤的展开。最后,虚拟机监视器在接收到第二存储位置信息时,调用分布式存储系统的接口,并在分布式存储系统中根据第一存储位置信息和第二存储位置信息对存储数据进行同步。可见,该系统可以在分布式存储系统中完成文件数据的同步,以使第二虚拟机可以通过映射关系直接调用分布式存储系统中的数据,从而能够避免第一虚拟机和第二虚拟机之间的交互以及第一虚拟机和第二虚拟机与虚拟机监控器之间的交互,进而大幅缩短了io路径并,降低了文件同步对虚拟机cpu和内存资源的消耗,同时还能够提高文件同步的性能。
38.进一步地,所述第一虚拟机,具体用于在接收到所述文件同步命令时,获取所述待同步文件的文件容积;
39.所述第一虚拟机,具体还用于根据第一映射关系获取第一存储位置信息;所述第一映射关系为所述待同步文件与所述第一存储位置信息之间的映射关系。
40.在上述实现过程中,该系统中第一虚拟机会在接收到文件同步命令时,再获取待同步文件的文件容积,从而保证操作的有效性,避免文件同步在不合时宜的情况进行自动进行,同时也有利于用户对文件同步过程进行启动与控制。然后,第一虚拟机具体是根据待同步文件与第一存储位置信息之间的映射关系获取第一存储位置信息的。可见,该过程描述了第一存储位置信息的获取过程是基于第一映射关系的,这使得该系统能够基于磁盘映射关系来避免对虚拟机进程的使用,从而有利于更高性能地完成文件同步。
41.进一步地,所述第二虚拟机,具体用于根据所述文件容积创建空文件;
42.所述第二虚拟机,具体还用于根据第二映射关系获取第二存储位置信息;所述第
二映射关系为所述空文件与所述第二存储位置信息之间的映射关系。
43.在上述实现过程中,该系统中第二虚拟机可以根据文件容积创建空文件,从而保障待同步的文件可以具有相应的存储空间,避免存储空间的不足影响文件同步;同时,只有文件具有存储空间才能够实现文件同步,因此根据文件容积创建空文件的方式是最优的文件创建方式,这也为后续步骤提供了充分的准备。然后,第二虚拟机根据空文件与第二存储位置信息之间的映射关系获取第二存储位置信息。可见,该过程描述了第二存储位置信息的获取过程是基于第二映射关系的,这使得该系统能够基于磁盘映射关系来避免对虚拟机进程的使用,从而有利于更高性能地完成文件同步。
44.进一步地,所述虚拟机监视器,还用于检测是否接收到用户输入的文件同步命令;
45.所述虚拟机监视器,还用于在检测到所述文件同步命令时,发送所述文件同步命令至所述第一虚拟机。
46.在上述实现过程中,该系统可以先由虚拟机监视器检测是否接收到用户输入的文件同步命令,从而使得该系统能够基于虚拟机监视器进行全盘监控,进而可以避免第一虚拟机率先执行其操作或新增检测文件同步命令的操作,这将有利于减少第一虚拟机的工作内容,提高第一虚拟机的专职工作能力。此外,虚拟机监视器会在检测到文件同步命令时,发送文件同步命令至第一虚拟机。可见,该系统能够在虚拟机监视器检测到文件同步命令时才开始进行文件同步的操作,从而将该系统的全部流程集中到虚拟机监视器上,进而极大程度地避免影响虚拟机的正常工作。
47.本技术实施例第三方面提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行本技术实施例第一方面中任一项所述的文件同步方法。
48.本技术实施例第四方面提供了一种计算机可读存储介质,其存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行本技术实施例第一方面中任一项所述的文件同步方法。
附图说明
49.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
50.图1为本技术实施例提供的一种文件同步方法的流程示意图;
51.图2为本技术实施例提供的另一种文件同步方法的流程示意图;
52.图3为本技术实施例提供的一种文件同步流程的举例示意图;
53.图4为本技术实施例提供的一种文件同步系统的系统结构示意图。
具体实施方式
54.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
55.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的
描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
56.实施例1
57.请参看图1,图1为本实施例提供了一种文件同步方法的流程示意图。其中,该文件同步方法应用于包括虚拟机监视器、第一虚拟机、第二虚拟机和分布式存储系统的文件同步系统中,该方法包括:
58.s110、第一虚拟机在接收到文件同步命令时,获取待同步文件的文件容积和第一存储位置信息。
59.本实施例中,第一虚拟机和第二虚拟机中的第一和第二仅用于区分不同的虚拟机,
60.本实施例中,文件容积用于表示文件的大小。
61.本实施例中,第一存储位置信息即为第一存储位置的信息。
62.本实施例中,第一存储位置用于指代待同步文件在分布式存储系统中的存储位置。
63.本实施例中,第一存储位置信息包括第一虚拟机的虚拟磁盘wwn(全球唯一名字)编号。
64.s120、第一虚拟机发送文件容积和第一存储位置信息至虚拟机监视器。
65.s210、虚拟机监视器在接收到文件容积和第一存储位置信息时,发送文件容积至第二虚拟机。
66.本实施例中,虚拟机监视器在此处实现转发功能。
67.s310、第二虚拟机根据文件容积创建空文件,并获取与空文件相对应的第二存储位置信息。
68.本实施例中,该方法在第二虚拟机中创建一个与待同步文件一样大小的空文件。第二存储位置是第二虚拟机给待同步文件预留的磁盘空间。
69.本实施例中,第二存储位置信息即为第二存储位置的信息。
70.本实施例中,第二存储位置用于指空文件在分布式存储系统中的存储位置。
71.本实施例中,第二存储位置信息包括第二虚拟机的虚拟磁盘wwn(全球唯一名字)编号。
72.s320、第二虚拟机发送第二存储位置信息至虚拟机监视器。
73.本实施例中,虚拟机监视器在此处实现接发功能。
74.s220、虚拟机监视器在接收到第二存储位置信息时,调用分布式存储系统的接口,并在分布式存储系统中根据第一存储位置信息和第二存储位置信息对存储数据进行同步;存储数据为待同步文件存储于分布式存储系统中的数据。
75.本实施例中,虚拟机监视器(vmm)获取了两个虚拟机的虚拟磁盘信息(例如虚拟磁盘wwn编号)和待同步文件和空文件两者的具体存储位置信息,然后利用分布式存储系统提供的虚拟磁盘拷贝接口同步数据,等数据同步完成,vmm通知虚拟机数据同步已完成就可以了。该方法中,整个数据同步过程都是在分布式存储系统内部进行,不需要虚拟机的参与,其io路径短,性能高,能够节省计算集群大量的cpu资源和网络资源。
76.本实施例中,在虚拟机迁移的情况下,数据同步的量通常都特别大,并且都要求全量拷贝,这就不能利用其他同步方法来减少同步的数据量,而只能通过缩短io路径来同步
加快速度和减少cpu和网络资源的开销。如果使用传统的同步方法,那么io路径为分布式存储系统

虚拟机模拟器

io驱动

虚拟机a文件系统

虚拟机a用户进程

虚拟机b用户进程

虚拟机b文件系统

io驱动

虚拟机模拟器

分布式存储系统。而使用该方法数据同步只需从分布式存储

分布式存储系统。数据传输的次数由9次降到了1次,网络传输的次数由3次降到了1次。并且,经过虚拟机传输时,需要虚拟机内核和驱动程序来读取和传输数据,会造成虚拟机cpu和内存使用率过高,从而影响到虚拟机正常的业务。而使用该方法,虽然在虚拟机迁移过程中需要同步大量的数据,但是大部分数据的传输都不经过虚拟机,虚拟机只需要获取文件的信息,从而使得虚拟机的cpu资源和内存资源基本不会消耗,所以无需对迁移过程进行速度限制,从而能够大大提高了迁移的速度。
77.可见,实施本实施例所描述的文件同步方法,能够应用于超融合和桌面云产品中,还能够以较低的开销和较快的性能进行虚拟机间文件同步。该文件同步方法具体可以用于虚拟机之间的软件迁移、软件的批量安装和虚拟机迁移的场景中,从而实现提高虚拟机间文件同步性能的效果。
78.实施例2
79.请参看图2,图2为本实施例提供了另一种文件同步方法的流程示意图。其中,该文件同步方法应用于包括虚拟机监视器、第一虚拟机、第二虚拟机和分布式存储系统的文件同步系统中,该方法包括:
80.s201、虚拟机监视器检测是否接收到用户输入的文件同步命令。
81.本实施例中,虚拟机监视器(vmm)首先检测是否收到用户输入的文件同步命令。
82.s202、虚拟机监视器在检测到文件同步命令时,发送文件同步命令至第一虚拟机。
83.本实施例中,该步骤为vmm把文件同步命令发送给第一虚拟机的步骤。
84.s111、第一虚拟机在接收到文件同步命令时,获取待同步文件的文件容积。
85.本实施例中,第一虚拟机在收到文件同步命令,获取待同文件的文件容积(即文件大小)。
86.s112、第一虚拟机根据第一映射关系获取第一存储位置信息;第一映射关系为待同步文件与第一存储位置信息之间的映射关系。
87.本实施例中,第一虚拟机需要获取第一虚拟机对应的虚拟磁盘wwn编号,以及待同步文件的具体存储位置(即第一存储位置)。其中,待同步文件和第一存储位置之间存在着第一映射关系。
88.s120、第一虚拟机发送文件容积和第一存储位置信息至虚拟机监视器。
89.s210、虚拟机监视器在接收到文件容积和第一存储位置信息时,发送文件同步命令和文件容积至第二虚拟机。
90.本实施例中,vmm把文件同步命令和文件容积发送给第二虚拟机。
91.s311、第二虚拟机在接收到文件同步命令时,根据文件容积创建空文件。
92.本实施例中,第二虚拟机在收到文件同步命令后,先创建一个同等大小的空文件,并预留磁盘空间。
93.s312、第二虚拟机根据第二映射关系获取第二存储位置信息;第二映射关系为空文件与第二存储位置信息之间的映射关系。
94.本实施例中,第二虚拟机需要获取第二虚拟机对应的虚拟磁盘wwn编号,以及空文
件的具体存储位置(即第二存储位置)。其中空文件和第二存储位置之间存在着第二映射关系。
95.s320、第二虚拟机发送第二存储位置信息至虚拟机监视器。
96.s220、虚拟机监视器在接收到第二存储位置信息时,调用分布式存储系统的接口,并在分布式存储系统中根据第一存储位置信息和第二存储位置信息对存储数据进行同步;存储数据为待同步文件存储于分布式存储系统中的数据。
97.本实施例中,vmm根据两个虚拟机返回的信息,调用分布式存储系统接口同步数据,并通过分布式存储系统完成底层数据同步。
98.在本实施例中,vmm可以获取到两个虚拟机的虚拟磁盘信息(例如虚拟磁盘wwn编号)和待同步文件和空文件与虚拟磁盘物理地址之间的映射关系,然后再利用存储系统提供的虚拟磁盘拷贝接口同步数据。等数据同步完成,vmm再通知虚拟机数据同步已完成即可。可见,整个数据同步过程都是在分布式存储系统内部进行,不需要虚拟机的参与。其io路径短,性能高,能够节省计算集群大量的cpu资源和网络资源。
99.请参阅图3,图3示出了一种文件同步流程的举例示意图。其中,文件a为待同步文件,文件b为空文件,硬盘为分布式存储空间中的虚拟硬盘。由图3可见,文件a具有a1和a2两个子文件,在分布式存储空间中a1和a2两个子文件都具有相应的存储位置;相应的,文件b具有b1和b2两个子文件,在分布式存储空间中b1和b2两个子文件都具有相应的存储位置,但是实际上b1和b2都是空的。在该方法实现数据同步时,硬盘部分的a1区数据会被备份到b1区,以使b1区具有a1数据;同理,b2区也会拷贝a2数据,以使b2区具有a2数据。而基于此不难看出,a1、a2、b1、b2四者之间都是在分布式存储系统中进行数据同步的,因此不会使用较多的io路径,且具有更好的同步性能。
100.可见,实施本实施例所描述的文件同步方法,能够应用于超融合和桌面云产品中,还能够以较低的开销和较快的性能进行虚拟机间文件同步。该文件同步方法具体可以用于虚拟机之间的软件迁移、软件的批量安装和虚拟机迁移的场景中,从而实现提高虚拟机间文件同步性能的效果。
101.实施例3
102.请参看图4,图4为本实施例提供的一种文件同步系统的结构示意图。如图4所示,该文件同步系统包括虚拟机监视器400、第一虚拟机500、第二虚拟机600和分布式存储系统700,其中,
103.第一虚拟机500,用于在接收到文件同步命令时,获取待同步文件的文件容积和第一存储位置信息;
104.第一虚拟机500,还用于发送文件容积和第一存储位置信息至虚拟机监视器400;
105.虚拟机监视器400,用于在接收到文件容积和第一存储位置信息时,发送文件容积至第二虚拟机600;
106.第二虚拟机600,用于根据文件容积创建空文件,并获取与空文件相对应的第二存储位置信息;
107.第二虚拟机600,还用于发送第二存储位置信息至虚拟机监视器400;
108.虚拟机监视器400,还用于在接收到第二存储位置信息时,调用分布式存储系统700的接口,并在分布式存储系统700中根据第一存储位置信息和第二存储位置信息对存储
数据进行同步;存储数据为待同步文件存储于分布式存储系统700中的数据。
109.本实施例中,请参阅图4,图4中双箭头实线为数据通路,图4中双箭头虚线为消息通路。由图4可以看出数据通路存在着实体的数据传输过程,消息通路中只存在简单的小心交互,并不需要传输大量的数据内容。
110.作为一种可选的实施方式,第一虚拟机500,具体用于在接收到文件同步命令时,获取待同步文件的文件容积;
111.第一虚拟机500,具体还用于根据第一映射关系获取第一存储位置信息;第一映射关系为待同步文件与第一存储位置信息之间的映射关系。
112.作为一种可选的实施方式,第二虚拟机600,具体用于根据文件容积创建空文件;
113.第二虚拟机600,具体还用于根据第二映射关系获取第二存储位置信息;第二映射关系为空文件与第二存储位置信息之间的映射关系。
114.作为一种可选的实施方式,虚拟机监视器400,还用于检测是否接收到用户输入的文件同步命令;
115.虚拟机监视器400,还用于在检测到文件同步命令时,发送文件同步命令至第一虚拟机500。
116.作为一种可选的实施方式,虚拟机监视器400具体用于在接收到文件容积和第一存储位置信息时,发送文件同步命令和文件容积至第二虚拟机600。
117.作为一种可选的实施方式,第二虚拟机600具体用于在接收到文件同步命令时,根据文件容积创建空文件,并获取与空文件相对应的第二存储位置信息。
118.本技术实施例中,对于文件同步系统的解释说明可以参照实施例1或实施例2中的描述,对此本实施例中不再多加赘述。
119.可见,实施本实施例所描述的文件同步系统,能够通过文件空间预留和文件和磁盘映射关系的获取,实现一种无须利用虚拟机进程,直接在分布式存储系统上同步文件数据的效果。从而能够有效地缩短io路径,降低文件同步对虚拟机cpu和内存资源的消耗,同时也能够大大提高文件同步的性能。
120.在本技术所提供的几个实施例中,应该理解到,所揭露的系统和方法,也可以通过其它的方式实现。以上所描述的系统实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
121.另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
122.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本技术的技术方案本质上或者说对
现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
123.以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
124.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应所述以权利要求的保护范围为准。
125.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
再多了解一些

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

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

相关文献