一种基于虚拟机的磁盘操作方法、装置及系统的利记博彩app
【技术领域】
[0001]本发明涉及计算机技术领域,特别涉及一种基于虚拟机的磁盘操作方法、装置及系统。
【背景技术】
[0002]分布式文件系统是指文件系统管理的物理存储资源不一定直接连接在本地存储设备上,而是可以通过计算机网络与网络侧的存储设备相连。分布式文件系统一般是基于客户端/服务器端的模式。
[0003]常见的分布式文件系统通常由客户端服务器、元数据服务器、存储服务器等组成,客户端服务器、元数据服务器和存储服务器之间通过网络连接。传统的分布式文件系统采用元数据服务器来统一管理各个存储服务器中所存储文件的元数据信息。
[0004]另外,近年来虚拟机技术得到了广泛应用,而且被应用到分布式文件系统中。现有技术中,基于虚拟机的磁盘的操作,可以理解为基于分布式文件系统中的文件操作,虚拟机技术应用到分布式文件系统时,可以在客户端服务器中部署一个或多个虚拟机,而一个虚拟机可以对应一个或者多个虚拟磁盘,每个虚拟磁盘可以理解为一个文件。当用户通过自己的设备登陆到虚拟机端进行文件操作时,需先向元数据服务器发送元数据请求信息,从中获得虚拟磁盘在存储服务器中对应的元数据信息,然后再根据所获得的元数据信息向存储服务器发送文件操作指令,存储服务器接收到文件操作指令后,根据该文件操作指令进行相应的文件操作。应用上述方法,用户可以在虚拟机端对存储在存储服务器中的文件进行文件操作,但是,每次进行文件操作时,都需要先从向元数据服务器请求相应的元数据信息,由于网络传输等因素,使得文件操作存在延迟,影响用户体验。
【发明内容】
[0005]本发明实施例公开了一种基于虚拟机的磁盘操作方法、装置及系统,以减小在虚拟机端进行文件操作的延迟,提高用户体验。
[0006]为达到上述目的,本发明实施例公开了一种基于虚拟机的磁盘操作方法,应用于客户端服务器,所述方法包括:
[0007]从元数据服务器获得虚拟磁盘对应的元数据信息;将所述元数据信息,存储在所述客户端服务器中;
[0008]访问所述客户端服务器中的虚拟磁盘时,从所述客户端服务器存储的一个或多个元数据信息中,获得要访问的虚拟磁盘对应的第一元数据信息;
[0009]根据所获得的第一元数据信息,向存储服务器发送文件操作指令,使得所述存储服务器执行所述文件操作指令对应的文件操作。
[0010]可选的,所述从元数据服务器获得虚拟磁盘对应的元数据信息,包括:
[0011]在创建虚拟磁盘时,从元数据服务器获得所创建的虚拟磁盘对应的元数据信息。
[0012]可选的,所述基于虚拟机的磁盘操作方法还包括:
[0013]接收所述存储服务器发送的所述存储服务器执行所述文件操作指令对应的文件操作的结果信息。
[0014]可选的,在所述接收所述存储服务器发送的所述存储服务器执行所述文件操作指令对应的文件操作的结果信息之后,还包括:
[0015]向所述元数据服务器发送所述存储服务器执行所述文件操作指令对应的文件操作的结果信息,以使得所述元数据服务器根据该信息生成文件操作日志信息。
[0016]可选的,所述客户端服务器中包含至少一个虚拟机,在所述虚拟机中能够创建至少一个虚拟磁盘;
[0017]所述将所述元数据信息,存储在所述客户端服务器中,包括:
[0018]将所述元数据信息,存储在所述元数据信息对应的虚拟磁盘中,其中,所述虚拟磁盘位于所述客户端服务器中安装的虚拟机中。
[0019]可选的,所述基于虚拟机的磁盘操作方法还包括:
[0020]在注销客户端服务器中的虚拟磁盘时,要注销的虚拟磁盘对应的第二元数据信息一同被删除。
[0021]可选的,在所述文件操作指令为写文件操作指令的情况下,所述根据所获得的第一元数据信息,向存储服务器发送文件操作指令,使得所述存储服务器执行所述文件操作指令对应的文件操作,包括:
[0022]根据所获得的第一元数据信息中包含的要访问的虚拟磁盘在存储服务器中对应的存储地址,向所述存储服务器发送写文件请求;
[0023]向所述存储服务器发送所述待写入文件的文件数据,使得所述存储服务器执行写所述待写入文件的文件操作。
[0024]可选的,所述向所述存储服务器发送所述待写入文件的文件数据,使得所述存储服务器执行写所述待写入文件的文件操作,包括:
[0025]按照预设的文件划分规则,将所述待写入文件的文件数据,划分为多个数据块;
[0026]调用至少一个进程,向所述存储服务器发送划分得到的数据块对应的文件数据,使得所述存储服务器执行写所述待写入文件的文件操作,其中,一个或多个数据块对应的文件数据由一个进程发送。
[0027]可选的,所述按照预设的文件划分规则,将所述待写入文件的文件数据,划分为多个数据块,包括:
[0028]获得处于空闲状态的进程的数量;
[0029]根据所获得的处于空闲状态的进程的数量,将所述待写入文件的文件数据,划分为多个数据块。
[0030]可选的,所述调用至少一个进程,向所述存储服务器发送划分得到的数据块对应的文件数据,使得所述存储服务器执行写所述待写入文件的文件操作,包括:
[0031]获得划分得到的数据块的数量;
[0032]调用若干个进程向所述存储服务器发送划分得到的数据块对应的文件数据,使得所述存储服务器执行写所述待写入文件的文件操作,其中,所调用进程的数量与划分得到的数据块的数量相同。
[0033]可选的,在所述文件操作指令为读文件操作指令的情况下,所述根据所获得的第一元数据信息,向存储服务器发送文件操作指令,使得所述存储服务器执行所述文件操作指令对应的文件操作,包括:
[0034]根据所获得的第一元数据信息中包含的要访问的虚拟磁盘在存储服务器中对应的存储地址,向所述存储服务器发送读文件操作指令,使得所述存储服务器执行所述读文件操作指令对应的读文件操作。
[0035]为达到上述目的,本发明实施例公开了一种基于虚拟机的磁盘操作装置,应用于客户端服务器,所述装置包括:
[0036]第一元数据信息获得模块,用于从元数据服务器获得虚拟磁盘对应的元数据信息;
[0037]元数据信息存储模块,用于将所述元数据信息,存储在所述客户端服务器中;
[0038]第二元数据信息获得模块,用于访问所述客户端服务器中的虚拟磁盘时,从所述客户端服务器存储的一个或多个元数据信息中,获得要访问的虚拟磁盘对应的第一元数据信息;
[0039]文件操作指令发送模块,用于根据所获得的第一元数据信息,向存储服务器发送文件操作指令,使得所述存储服务器执行所述文件操作指令对应的文件操作。
[0040]可选的,所述第一元数据信息获得模块,具体用于在创建虚拟磁盘时,从元数据服务器获得所创建的虚拟磁盘对应的元数据信息。
[0041]可选的,所述基于虚拟机的磁盘操作装置还包括:
[0042]结果信息接收模块,用于接收所述存储服务器发送的所述存储服务器执行所述文件操作指令对应的文件操作的结果信息。
[0043]可选的,所述基于虚拟机的磁盘操作装置还包括:
[0044]结果信息发送模块,用于在所述结果信息接收模块接收到所述结果信息后,向所述元数据服务器发送所述存储服务器执行所述文件操作指令对应的文件操作的结果信息,以使得所述元数据服务器根据该信息生成文件操作日志信息。
[0045]可选的,所述客户端服务器中包含至少一个虚拟机,在所述虚拟机中能够创建至少一个虚拟磁盘;
[0046]元数据信息存储模块,具体用于将所述元数据信息,存储在所述元数据信息对应的虚拟磁盘中,其中,所述虚拟磁盘位于所述客户端服务器中安装的虚拟机中。
[0047]可选的,所述基于虚拟机的磁盘操作装置还包括:
[0048]元数据信息删除模块,用于在注销客户端服务器中的虚拟磁盘时,同时删除要注销的虚拟磁盘对应的第二元数据信息。
[0049]可选的,在所述文件操作指令为写文件操作指令的情况下,所述文件操作指令发送模块,包括:
[0050]写文件请求发送子模块,用于根据所获得的第一元数据信息中包含的要访问的虚拟磁盘在存储服务器中对应的存储地址,向所述存储服务器发送写文件请求;
[0051]文件数据发送子模块,用于向所述存储服务器发送所述待写入文件的文件数据,使得所述存储服务器执行写所述待写入文件的文件操作。
[0052]可选的,所述文件数据发送子模块,包括:
[0053]文件数据划分单元,用于按照预设的文件划分规则,将所述待写入文件的文件数据,划分为多个数据块;
[0054]文件数据发送单元,用于调用至少一个进程,向所述存储服务器发送划分得到的数据块对应的文件数据,使得所述存储服务器执行写所述待写入文件的文件操作,其中,一个或多个数据块对应的文件数据由一个进程发送。
[0055]可选的,所述文件数据划分单元,包括:
[0056]进程数量获得子单元,用于获得处于空闲状态的进程的数量;
[0057]文件数据划分子单元,用于根据所获得的处于空闲状态的进程的数量,将所述待写入文件的文件数据,划分为多个数据块。
[0058]可选的,所述文件数据发送单元,包括:
[0059]数据块数量获得子单元,用于获得划分得到的数据块的数量;
[0060]文件数据发送子单元,用于调用若干个进程向所述存储服务器发送划分得到的数据块对应的文件数据,使得所述存储服务器执行写所述待写入文件的文件操作,其中,所调用进程的数量与划分得到的数据块的数量相同。
[0061]可选的,在所述文件操作指令为读文件操作指令的情况下,
[0062]所述文件操作指令发送模块,具体用于根据所获得的第一元数据信息中包含的要访问的虚拟磁盘在存储服务器中对应的存储地址,向所述存储服务器发送读文件操作指令,使得所述存储服务器执行所述读文件操作指令对应的读文件操作。
[0063]为达到上述目的,本发明实施例公开了一种基于虚拟机的磁盘操作系统,所述系统包括:
[0064]元数据服务器、存储服务器和应用上述的基于虚拟机的磁盘操作装置的客户端服务器;
[0065]其中,所述元数据服务器,用于存储所述客户端服务器中虚拟磁盘对应的元数据信息,接收所述客户端服务器发送的针对虚拟磁盘的元数据请求信息,并根据该元数据请求信息向所述客户端服务器发送与该元数据请求信息相对应的元数据信息,向所述存储服务器请求所述客户端服务器中虚拟磁盘对应的文件的存储地址,通过网络与所述客户端服务器及存储服务器通信;
[0066]所述存储服务器,用于接收所述元数据服务器发送的针对所述客户端服务器中虚拟磁盘的地址请求信息,并根据该地址请求信息向所述元数据服务器发送所述客户端服务器中虚拟磁盘对应文件的存储地址,接收所述客户端服务器发送的文件操作指