The invention discloses a parallel application method of file system based on client communication, implementation steps of any client C to create files including: client C server sends a request to the metadata access to the latest client list, the client C client list traversal client Ci, follow up with client Ci communication to obtain the operation and operation of the object each subsequent Ci client, client list to create file operations are combined to generate a sequence of operations to the metadata server send queue, create a file operation and the order of operation with combined to generate a response queue; the metadata server operation and metadata information in response to the direct or indirect return to at least one client includes a client C and sequential operation queue in any client, Ci. The invention can effectively reduce the pressure by adding metadata server, client communication reduces lock contention, reduce duplication check metadata server when creating documents.
【技术实现步骤摘要】
一种基于客户端通信的并行文件系统应用方法
本专利技术涉及分布式并行文件系统领域,具体涉及一种基于客户端通信的并行文件系统应用方法,用于借助客户端之间相互通信来降低元数据访问开销、同时减少创建文件时在元数据服务器端进行重名检查。
技术介绍
并行文件系统通常所指的是能够支持并行操作的文件系统,即在并行文件系统环境下,所有客户端可以在同一时间并发读写同一个文件,而对于不同的文件系统类型,为了保证并发操作都采取了各种不同的措施。现有的常见的并行文件系统包括:1、Lustre分布式文件系统是ClusterFileSystem公司推出的面向下存储的分布式文件系统。它提供POSIX兼容的UNIX系统接口,采用元数据与文件数据分开处理的系统架构使用两台元数据服务器(一台作为备份)以处理元数据的操作,采用基于对象的存储设备作为整个文件系统的存储设备。Lustre分布式文件系统首先使用基于Intent的锁,明显的减少了客户端和服务器端的消息传递,缩短了操作的延迟。Lustre分布式文件系统使用的OSD存储设备,具体较高的智能特性,对外提供基于对象的读写接口,而且可以自主的进行负载均衡 ...
【技术保护点】
一种基于客户端通信的并行文件系统应用方法,其特征在于,任意客户端C创建文件的实施步骤包括:1)客户端C向元数据服务器发送请求获取最新的客户端列表,所述客户端列表包含依次向元数据服务器发送请求的客户端信息;2)客户端C遍历客户端列表中后续的客户端Ci、与客户端Ci进行通信获取其操作及操作对象,客户端C将客户端列表中后续的各个客户端Ci的创建文件操作进行合并生成顺序操作队列;3)客户端C向元数据服务器发送创建文件操作并附带合并生成的顺序操作队列;4)元数据服务器响应客户端C的创建文件操作并附带合并生成的顺序操作队列中的创建文件操作,并将响应的元数据信息直接或者间接返回给包括客户 ...
【技术特征摘要】
1.一种基于客户端通信的并行文件系统应用方法,其特征在于,任意客户端C创建文件的实施步骤包括:1)客户端C向元数据服务器发送请求获取最新的客户端列表,所述客户端列表包含依次向元数据服务器发送请求的客户端信息;2)客户端C遍历客户端列表中后续的客户端Ci、与客户端Ci进行通信获取其操作及操作对象,客户端C将客户端列表中后续的各个客户端Ci的创建文件操作进行合并生成顺序操作队列;3)客户端C向元数据服务器发送创建文件操作并附带合并生成的顺序操作队列;4)元数据服务器响应客户端C的创建文件操作并附带合并生成的顺序操作队列中的创建文件操作,并将响应的元数据信息直接或者间接返回给包括客户端C以及顺序操作队列中的任意客户端Ci在内的至少一个客户端,间接收到响应的元数据信息的客户端与指定的直接收到响应的元数据信息的客户端进行通信以获取其对应的响应的元数据信息。2.根据权利要求1所述的基于客户端通信的并行文件系统应用方法,其特征在于,步骤1)的详细步骤包括:1.1)客户端C向元数据服务器发送请求获取最新的客户端列表,所述客户端列表包含依次向元数据服务器发送请求的客户端信息;1.2)元数据服务器更新当前连接到自身的客户端列表,向客户端发送当前的客户端列表;1.3)客户端C得到客户端列表后,判断得到的客户端列表和上一次得到的客户端列表是否相同,如果不相同,则将得到客户端列表作为最新的客户端列表;否则,直接将上一次得到的客户端列表作为最新的客户端列表。3.根据权利要求1所述的基于客户端通信的并行文件系统应用方法,其特征在于,步骤2)的详细步骤包括:2.1)客户端C在本地初始化建立顺序操作队列;2.2)客户端C在遍历选择客户端列表中后续的一个客户端Ci;2.3)客户端C与客户端Ci进行通信请求获取其操作及操作对象;2.4)客户端Ci将自己将要进行的操作及操作对象发送给客户端C;2.5)客户端C检测客户端Ci返回的操作及操作对象,如果客户端Ci的操作为创建文件、且客户端C和客户端Ci的操作对象名称相同且操作所在目录为同一级时,则将客户端C将要创建文件名称进行修改已避免与客户端Ci产生冲突;2.6)客户端C判断客户端Ci的创建文件之间是否具有先后次序,如果有先后次序则客户端C按照先后次序将客户端Ci的操作加入本地的顺序操作队列;否则,随机将客户端Ci的操作加入本地的顺序操作队列的某个位置;2.7)客户端C判断客户端列表是否已经遍历完毕,如果尚未遍历完毕,则跳转步骤2.2),否则,跳转步骤3)。4.根据权利要求1所述的基于客户端通信的并行文件系统应用方法,其特征在于,步骤4)的详细步骤包括:4.1)元数据服务器收到客户端C的创建文件操作并附带合并生成的顺序操作队列,并将客户端C的创建文件操作并附带合并生成的顺序操作队列加入到本地执行队列完成对本地执行队列的更新;4.2)元数据服务器根据客户端C的当前操作的状态以及请求文件的状态返回给客户端C相应数据,针对客户端C的当前操作判断是否存在冲突的客户端,如果本地执行队列中存在相同的操作对象的两条操作记录则判定存在冲突的客户端,跳转步骤4.3);否则,判定不存在冲突的客户端,跳转步骤4.6);4.3)元数据服务器将所有与当前操作冲突的客户端生成客户端序列S并发送给客户端C;4.4)客户端C与客户端序列S中的客户端进行通信,在客户端序列S中的客户端返回相冲突的操作已经完成请求后,客户端C在将当前操作发送给元数据服务器;4.5)元数据服务器根据本地执行队列判断客户端C是否能执行操作,判断标准为操作队列中是否还存在拥有相同操作对象的记录,若此时可以执行操作,则跳转至步骤4.1),如果此时还是与其他客户端产生冲突,则跳转至步骤3);4.6)元数据服务器根据客户端C的操作请求,将响应的元数据信息直接或者间接返回给包括客户端C以及顺序操作队列中的任意客户端Ci在内的至少一个客户端,间接收到响应的元数据信息的客户端与指定的直接收到响应的元数据信息的客户端进行通信以获取其对应的响应的元数据信息;4.7)客户端C对本地的顺序操作队列进行更新、删除已完成的操作;4.8)客户端C创建文件操作完成,结束并退出。5.根据权利要求1~4中任意一项所述基于客户端通信的并行文件系统应用方法,其特征在于,多个客户端同时访问同一个大文件时的实施步骤包括:S1)客户端C向元数据服务器发送请求获取最新的客户端列表,所述客户端列表包含依次向元数据服务器发送请求的客户端信息;S2)客户端C遍历客户端列表中后续的客户端Ci、与客户端Ci进行通信获取其操作及操作对象,如果客户端Ci的操作为读操作且读取对象为客户端C同一个大文件则获取客户端Ci读取的目标区块信息,如果客户端C和客户端Ci均读取同一个大文件的相同区块,则客户端C向客户端Ci发送请求转向的信息、告知客户端Ci不再向元数据服务器获取请求转而向客户端C发送请求;否则,客户端C将所有客户端Ci的对同一个大文件的读操作合并生成顺序操作队列;S3)客户端C向元数据服务器发送文件读操作请求并附带合并生成的顺序操作队列;S4)元数据服务器响应客户端C的文件读操作请求并附带合并生成的顺序操作队列中的创建文件操作,并将响应的元数据信息直接或者间接返回给包括客户端C以及顺序操作队列中的任意客户端Ci在内的至少一个客户端。6.根据权利要求5所述的基于客户端通信的并行文件系统应用方法,其特征在于,步骤S2)的详细步骤包括:S2.1)客户端C在本地初始化建立顺序操作队列;S2.2)客户端C在遍历选择客户端列表中后续的一个客户端Ci;S2.3)客户端C与客户端Ci进行通信请求获取其操作及操作对象,判断客户端Ci的操作为读操作且读取对象为客户端C同一个大文件是否成立,如果不成立,则跳转步骤S2.2);否则,获取客户端Ci读取的目标区块信息;S2.4)判断客户端C和客户端Ci是否读取同一个大文件的相同区块,如果客户...
【专利技术属性】
技术研发人员:肖侬,董其晟,陈志广,卢宇彤,杜云飞,
申请(专利权)人:中山大学,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。