基于UniWhale的分布式文件系统的视窗访问方法
【技术领域】
[0001]本发明涉及一种客户端访问的技术领域,尤其是一种基于UniWhale的分布式文件系统的视窗访问方法。
【背景技术】
[0002]目前分布式数据存储产品UniWhale已经成功商用,其节点布署关系图如图1所示。UniWhale实现了数据文件分布式存储功能,可以适应于性能不苛刻的数据共享场合。
[0003]UniWhale系统为三层组织结构,按照节点职能划分分别是:客户PC机节点、文件代理服务器和存储服务器集群。
[0004]客户PC机节点是安装了各类Windows操作系统的办公用电脑。客户PC机节点通过网络路径可以像访问本地文件系统一样容易访问文件代理服务器上的代理目录下的各级目录和文件,并进行创建、读取、写入、修改、删除等各类操作。这些目录和文件最终分布式地存储在各个存储服务器节点,但对上层的客户PC机是透明的。
[0005]文件代理服务器屏蔽了底层存储服务器集群的实现细节,客户PC机节点对底层的数据迀移、均衡、备份、扩容等操作不可见。在具体实现上,文件代理服务器只与存储服务器集群中的单个节点,如图1中的UniWhale_node2进行通迅,而对存储于集群中其它节点上的目录和文件的操作都需要经过这个节点转发,这导致存取访问操作效率低,对文件操作无法做到并行处理,吞吐量受到严重限制,因而大大限制了分布式文件系统整体性能的发挥。
【发明内容】
[0006]本发明的目的在于提供一种基于UniWhale的分布式文件系统的视窗访问方法,将管理文件存储位置的功能从现有技术中的文件存储服务器集群中指定的一台服务器移动到UniWhale客户端,使得UniWhale客户端可以直接与每个存储服务器节点通讯。UniWhale客户端在对每个目录或文件进行操作之前,首先根据目录或文件完整路径名和存储服务器集群的hash值分布空间计算出目录或文件所在的具体节点,然后与此节点进行文件访问和相关操作。经过改造,可以真正实现对文件存储服务器集群的并行操作,使得文件存储服务器系统性能得到极大的提升。有效地克服了存取访问操作效率低,对文件操作无法做到并行处理,吞吐量受到严重限制,因而大大限制了分布式文件系统整体性能的发挥的缺陷。
[0007]为了达到上述目的,本发明的技术方案是:一种基于UniWhale的分布式文件系统的视窗访问方法,具体如下:
[0008]进行UniWhale客户端卷挂载流程,即用户首先输入要挂载的存储服务器节点的IP、卷名和本地盘符名称,点击挂载,接着客户端会加载文件系统驱动,如果不成功,就提示无法与驱动连接并结束UniWhale客户端卷挂载流程,如果成功,和管理服务器建立握手并获取host文件,如果获取不成功,就提示挂载失败并结束UniWhale客户端卷挂载流程,如果获取成功了,就与存储服务端建立连接,获取vol文件,如果获取成功,就分析vol文件和host文件,获取有效的集群IP,如果获取有效的集群IP不成功,就提示挂载失败并结束UniWhale客户端卷挂载流程,如果获取有效的集群IP成功,从挂载服务器获取每个brick的端口信息并建立长连接,如果连接不成功,就提示挂载失败并结束UniWhale客户端卷挂载流程,如果连接成功,在客户端创建盘符,并提示挂载成功和结束UniWhale客户端卷挂载流程。
[0009]在UniWhale客户端进行文件创建操作时,先由用户启动文件创建流程,操作系统调用存储客户端,并将需要创建的路径、文件名这样的属性信息作为输入参数传入,存储客户端根据路径和文件名,得到文件即将位于的存储节点,存储客户端向此存储服务器节点发送文件查询消息,判断是否存在同名文件,如果存在同名文件,就提示文件名已存在并结束UniWhale客户端进行文件创建操作,如果不存在同名文件,执行文件创建操作,如果创建不成功,存储服务器节点返回文件创建失败信息并结束UniWhale客户端进行文件创建操作,如果创建成功,存储服务器节点返回文件创建成功信息并结束UniWhale客户端进行文件创建操作。
[0010]在UniWhale客户端进行文件删除操作时,先由用户启动文件删除流程,而操作系统调用存储客户端,并将需要删除的路径、文件名这样的属性信息作为输入参数传入,存储客户端根据路径和文件名,得到文件位于的存储节点,存储客户端向此存储服务器节点发送文件查询消息,由此判断文件是否存在,如果文件不存在,就提示文件已不存在并结束UniWhale客户端进行文件删除操作,如果文件存在,查询文件属性,判断文件是否可以删除,如果不可以删除,就提示文件不可被删除并结束UniWhale客户端进行文件删除操作,如果可以删除,执行文件删除操作,如果删除不成功,存储服务器节点返回文件删除失败信息并结束UniWhale客户端进行文件删除操作,如果删除成功,存储服务器节点返回文件删除成功信息并结束UniWhale客户端进行文件删除操作。
[0011 ]在进行查看磁盘属性操作时,先由用户开始读取磁盘信息,进入磁盘空间,从挂载服务器获取磁盘总空间和可用空间,如果获取成功,就显示可用空间和总空间属性并结束进行查看磁盘属性操作,如果获取不成功,就显示可用空间和总空间的大小都为O并结束进行查看磁盘属性操作。
[0012]在进行文件读取操作时,先由用户启动文件读取流程,操作系统调用存储客户端,并将需要读取的路径、文件名这样的属性信息作为输入参数传入,接着判断文件是否需要远程读取,如果不需要远程读取,就结束文件读取操作,如果需要远程读取,存储客户端根据路径和文件名,得到文件所在的存储节点,存储客户端向文件所在存储服务器节点发送文件读取消息,进行读取文件,如果读取不成功,存储服务器节点返回错误信息并结束文件读取操作,如果读取成功,存储服务器节点返回文件内容和大小这样的信息并结束文件读取操作。
[0013]在文件进行写入操作时,先由用户启动文件写入流程,操作系统调用存储客户端,并将需要写入的路径、文件名、偏移量、写入内容这样的信息作为输入参数传入,判断该文件是否需要通过IRP流程,如果不需要通过IRP流程,就结束文件进行写入操作,如果需要通过IRP流程,存储客户端根据路径和文件名,得到文件所在的存储节点,存储客户端向文件所在存储服务器节点发送读取文件信息消息,获取文件属性和文件ID,如果获取不成功,存储服务器节点返回文件写入获取信息并结束文件进行写入操作,如果获取成功,通过文件ID打开文件,如果打开不成功,存储服务器节点返回文件写入打开信息并结束文件进行写入操作,如果打开成功,执行文件写入操作,如果写入不成功,存储服务器节点返回文件写入失败信息并结束文件进行写入操作,如果写入成功,存储服务器节点返回文件写入成功信息,最后结束文件进行写入操作。
[0014]在进行文件重命名操作时,先由用户启动文件重命名流程,如果新文件和老文件名称一致,就结束文件重命名操作,如果新文件和老文件名称不一致,继续判断该文件是否存在,如果不存在,提示找不到指定文件并结束文件重命名操作,如果存在,继续判断新文件名是否存在,如果存在,就提示新文件名已经存在并结束文件重命名操作,如果不存在,继续判断重命名是不是成功,如果不成功,提示重命名失败然后结束文件重命名操作,如成功,就结束文件重命名操作。
[0015]根据目录或文件完整路径名和存储服务器集群的hash值分布空间计算出目录或文件所在的具体节点,然后与此节点建立连接并通讯。经过改造,可以真正实现对文件存储服务器集群的并行操作,使得文件存储服务器系统性能得到极大的提升。
【附图说明】
[0016]图1是现有技术的布署关系图。
[0017]图2是本发明的布署关系图。
[0018]图3是本发明的UniWhale客户端卷挂载的流程图。
[0019]图4是本发明的UniWhale客户端进行文件创建操作的流程图。
[0020]图5是本发明的UniWhale客户端进行文件删除操作的流程图。
[0021 ]图6是本发明的查看磁盘属性操作的流程图。
[0022]图7是本发明的文件读取操作的流程图。
[0023]图8是本发明的文件写入操作的流程图。
[0024]图9是本发明的文件重命名的流程图。
【具体实施方式】
[0025]以下结合附图给出的实施例对本发明作进一步详细的说明。
[0026]参见图1-图9所示,基于UniWhale的分布式文件系统的视窗访问方法,具体如下:
[0027]进行UniWhale客户端卷挂载流程,即用户首先输入要挂载的存储服务器节点的IP、卷名和本地盘符名称,点击挂载,接着客户端会加载文件系统驱动,如果不成功,就提示无法与驱动连接并结束UniWhale客户端卷挂载流程,如果成功,和管理服务器建立握手并获取host文件,如果获取不成功,就提示挂载失败并结束UniWhale客户端卷挂载流程,如果获取成功了,就与存储服务端建立连接,获取vol文件,如果获取成功,就分析vol文件和host文件,获取有效的集群IP,如果获取有效的集群IP不成功,就提示挂载失败并结束UniWhale客户端卷挂载流程,如果获取有效的集群IP成功,从挂载服务器获取每个brick的端口信息并建立长连接,如果连接不成功,就提示挂载失败并结束UniWhale客户端卷挂载流程,如果连接成功,在客户端创建盘符,并提示挂载成功和结束UniWhale客户端卷挂载流程;在UniWhale客户端进行文件创建操作时,先由用户启动文件创建流程,操作系统调用存储客户端,并将需要创建的路径、文件名这样的属性信息作为输入参数传入,存储客户端根据路径和文件名,得到文件即将位于的存储节点,存储客户端向此存储服务器节点发送文件查询消息,判断是否存在同名文件,如果存在同名文件,就提示文件名已存在并结束UniWhale客户端进行文件创建操作,如果不存在同名文