本发明专利技术提供一种将数据写入数据服务器的方法及存储系统,当客户端需要对数据进行写操作时,首先通过一次创建锁的请求从锁服务器获得元数据读写锁和数据读写锁;客户端缓存元数据读写锁和数据读写锁。在确定缓存有数据读写锁时,客户端将数据写入至少一个数据服务器,无需采用现有技术的交互流程再向锁服务器申请数据读写锁,进一步的,当客户端将数据写入数据服务器后,该数据对应的元数据可能发生变化,此时,客户端会将改变后的元数据写入元数据服务器,由于客户端已将元数据读写锁缓存,无需采用现有技术的交互流程再向锁服务器申请元数据读写锁,从而降低了客户端在写入数据过程中与锁服务器之间的交互次数,提高了写入数据的效率。
【技术实现步骤摘要】
一种将数据写入数据服务器的方法及存储系统
本专利技术涉及存储系统领域,尤其涉及一种将数据写入数据服务器的方法及存储系统。
技术介绍
在当前的分布式存储系统中,用户会从不同的分布式客户端访问系统中的数据,在这种场景下,分布式锁管理(DistributedLockManager,简称:DLM)机制应运而生,分布式锁管理机制是保证分布式存储系统正常运行和数据一致性的关键,在实现DLM机制时,系统通常包括:分布式锁客户端(DistributedLockManagerClient,简称:DLMC)与分布式锁服务器(DistributedLockManagerServer,简称:DLMS),其中DLMC为系统的业务层提供锁管理接口,业务层在针对业务进行操作的前后,都需要通过锁管理接口向DLMC进行锁操作,DLMC再与DLMS通信完成锁的授权操作,以保证DLMC并发访问时数据的一致性。图1为现有技术提供的分布式存储系统文件创建写机制的流程示意图,参照图1,该分布式存储系统包括:客户端代理(ClientAgent,简称:CA),DLMC,DLMS,元数据服务器(MetaServer)和数据服务器(DataServer);该流程包括:步骤1、CA向元数据服务器发送创建文件的请求消息;步骤2,DLMC与元数据服务器进行交互获得元数据并行读锁(MetaConcurrentReadLock);步骤3,CA与元数据服务器进行操作元数据的交互,CA根据元数据并行读锁提供的权限,对创建文件相关的元数据进行读写操作;步骤4、DLMC与DLMS进行交互获得条带独占锁(StripeExclusiveLock);步骤5、DLMC与数据服务器进行数据写入的操作交互,具体的,CA根据条带独占锁提供的权限,进行数据写的操作。但是,采用现有技术的写入数据的机制,DLMC与DLMS、DLMC与元数据服务器之间需要进行多次交互才能够完成锁的授权操作,导致存储系统在完成创建写的过程中,不同节点之间的交互次数过多,从而降低了写数据的效率。
技术实现思路
本专利技术提供一种将数据写入数据服务器的方法及存储系统,用于提高写入数据的效率。本专利技术的第一个方面是提供一种将数据写入数据服务器的方法,所述方法应用于存储系统中,所述存储系统包括客户端、元数据服务器、锁服务器和至少一个数据服务器,所述方法由所述客户端执行,包括:向锁服务器发送创建锁的请求,所述创建锁的请求用于创建元数据读写锁和数据读写锁,所述元数据读写锁用于所述客户端获得读取或修改元数据的唯一权限,所述数据读写锁用于所述客户端获得读取或修改数据的唯一权限;将所述元数据读写锁和所述数据读写锁保存在所述客户端的缓存中;确定所述缓存中保存有所述数据读写锁;将所述数据写入所述至少一个数据服务器;确定所述缓存中保存有所述元数据读写锁;将第一元数据写入所述元数据服务器。结合第一个方面,在第一种可行的实现方式中,所述数据的大小小于或等于预设的阈值。结合第一个方面或第一个方面的第一种可行的实现方式,在第二种可行的实现方式中,在所述将数据写入所述数据服务器之前,还包括:向所述元数据服务器发送元数据请求,所述元数据请求用于请求所述第二元数据,所述第二元数据包含所述数据的分布信息,所述数据的分布信息表示所述数据在所述至少一个数据服务器的存储位置;所述将数据写入所述至少一个数据服务器,包括:根据所述数据的分布信息将所述数据写入所述至少一个数据服务器的存储位置。结合第一个方面的第二种可行的实现方式,在第三种可行的实现方式中,在所述根据所述数据的分布信息将所述数据写入所述至少一个数据服务器的存储位置之后,还包括:将所述第二元数据修改为所述第一元数据,其中,所述第一元数据包括写入所述数据的时刻信息,所述写入所述数据的时刻信息表示所述客户端将所述数据写入所述至少一个数据服务器的时刻。本专利技术的第二个方面是提供一种存储系统,所述存储系统,包括:客户端、元数据服务器、锁服务器和至少一个数据服务器;所述元数据服务器,用于存储所述客户端写入的第一元数据;所述数据服务器,用于存储所述客户端写入的数据;所述锁服务器,用于接收所述客户端发送的创建锁的请求,所述创建锁的请求用于创建元数据读写锁和数据读写锁,所述元数据读写锁用于所述客户端获得读取或修改元数据的唯一权限,所述数据读写锁用于所述客户端获得读取或修改数据的唯一权限;向所述客户端发送所述元数据读写锁和所述数据读写锁;所述客户端,用于:向所述锁服务器发送所述创建锁的请求;将所述元数据读写锁和所述数据读写锁保存在所述客户端的缓存中;确定所述缓存中保存有所述数据读写锁;将所述数据写入所述至少一个数据服务器;确定所述缓存中保存有所述元数据读写锁;将所述第一元数据写入所述元数据服务器。结合第二个方面,在第一种可行的实现方式中,所述数据的大小小于或等于预设的阈值。结合第二个方面或第二个方面的第一种可行的实现方式,在第二种可行的实现方式中,所述客户端,还用于在所述将数据写入所述数据服务器之前,向所述元数据服务器发送元数据请求,所述元数据请求用于请求所述第二元数据,所述第二元数据包含所述数据的分布信息;所述数据的分布信息表示所述数据在所述至少一个数据服务器的存储位置;根据所述数据的分布信息将所述数据写入所述至少一个数据服务器的存储位置;所述元数据服务器,还用于接收所述元数据请求;向所述客户端发送所述第二元数据。结合第二个方面的第二种可行的实现方式,在第三种可行的实现方式中,所述至少一个客户端,还用于在根据所述数据的分布信息将所述数据写入所述至少一个数据服务器的存储位置之后,将所述第二元数据修改为所述第一元数据,其中,所述第一元数据包括写入所述数据的时刻信息,所述写入所述数据的时刻信息表示所述客户端将所述数据写入所述至少一个数据服务器的时刻。本专利技术提供的一种将数据写入数据服务器的方法及存储系统,当客户端需要对数据进行写操作时,首先通过一次创建锁的请求从锁服务器获得元数据读写锁和数据读写锁,所述元数据读写锁用于所述客户端获得读取或修改元数据的唯一权限,所述数据读写锁用于所述客户端获得读取或修改数据的唯一权限;客户端缓存元数据读写锁和数据读写锁。在确定缓存有数据读写锁时,客户端将所述数据写入所述至少一个数据服务器,无需采用现有技术的交互流程再向锁服务器申请数据读写锁,进一步的,当客户端将所述数据写入所述数据服务器后,该数据对应的元数据可能发生变化,此时,客户端会将改变后的元数据写入所述元数据服务器,即所述第一元数据,由于客户端已将元数据读写锁缓存,无需采用现有技术的交互流程再向锁服务器申请元数据读写锁,从而降低了客户端在写入数据过程中与锁服务器之间的交互次数,提高了写入数据的效率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为现有技术提供的分布式存储系统文件创建写机制的流程示意图;图2为一种分布式存储系统部署示意图;图3为本专利技术实施例提供的存储系统示意图;图4为本专利技术实施例提供的一种将数据写入数据本文档来自技高网...
【技术保护点】
一种将数据写入数据服务器的方法,其特征在于,所述方法应用于存储系统中,所述存储系统包括客户端、元数据服务器、锁服务器和至少一个数据服务器,所述方法由所述客户端执行,包括:向锁服务器发送创建锁的请求,所述创建锁的请求用于创建元数据读写锁和数据读写锁,所述元数据读写锁用于所述客户端获得读取或修改元数据的唯一权限,所述数据读写锁用于所述客户端获得读取或修改数据的唯一权限;将所述元数据读写锁和所述数据读写锁保存在所述客户端的缓存中;确定所述缓存中保存有所述数据读写锁;将所述数据写入所述至少一个数据服务器;确定所述缓存中保存有所述元数据读写锁;将第一元数据写入所述元数据服务器。
【技术特征摘要】
1.一种将数据写入数据服务器的方法,其特征在于,所述方法应用于存储系统中,所述存储系统包括客户端、元数据服务器、锁服务器和至少一个数据服务器,所述方法由所述客户端执行,包括:向锁服务器发送创建锁的请求,所述创建锁的请求用于创建元数据读写锁和数据读写锁,所述元数据读写锁用于所述客户端获得读取或修改元数据的唯一权限,所述数据读写锁用于所述客户端获得读取或修改数据的唯一权限;将所述元数据读写锁和所述数据读写锁保存在所述客户端的缓存中;确定所述缓存中保存有所述数据读写锁;将所述数据写入所述至少一个数据服务器;确定所述缓存中保存有所述元数据读写锁;将第一元数据写入所述元数据服务器。2.根据权利要求1所述的方法,其特征在于,所述数据的大小小于或等于预设的阈值。3.根据权利要求1或2所述的方法,其特征在于,在所述将数据写入所述数据服务器之前,还包括:向所述元数据服务器发送元数据请求,所述元数据请求用于请求第二元数据,所述第二元数据包含所述数据的分布信息,所述数据的分布信息表示所述数据在所述至少一个数据服务器的存储位置;所述将数据写入所述至少一个数据服务器,包括:根据所述数据的分布信息将所述数据写入所述至少一个数据服务器的存储位置。4.根据权利要求3所述的方法,其特征在于,在所述根据所述数据的分布信息将所述数据写入所述至少一个数据服务器的存储位置之后,还包括:将所述第二元数据修改为所述第一元数据,其中,所述第一元数据包括写入所述数据的时刻信息,所述写入所述数据的时刻信息表示所述客户端将所述数据写入所述至少一个数据服务器的时刻。5.一种存储系统,其特征在于,所述存储系统,包括:客户端、元数据服务器、锁服务器和至少一个数据服务器;所述元数据服...
【专利技术属性】
技术研发人员:孟祥瑞,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。