一种分布式系统中的文件写入方法及装置制造方法及图纸

技术编号:16842095 阅读:27 留言:0更新日期:2017-12-20 00:37
一种分布式系统中的文件写入方法及装置;所述文件写入方法包括:客户端收到对于第一文件的写请求后,将对于所述第一文件的数据写入请求分别发送到所述第一文件所对应的每个存储节点;其中所述数据写入请求中至少包括:与所述第一文件数据写入请求对应的写请求标识、存储节点地址;所述存储节点地址包括所述第一文件所对应的每个存储节点中主存储节点的地址和/或副存储节点的地址;所述存储节点地址供所述主存储节点和所述副存储节点之间交互时使用;所述客户端分别从所述第一文件所对应的每个存储节点接收对于所述数据写入请求的执行结果。本申请能够在保证数据的多个副本字节序一致的前提下,减少数据发送跳数从而降低写入延时。

A file writing method and device in a distributed system

A distributed file system method and device for writing; the file write method includes: the client receives the first request for written documents, will for the first file data write requests are sent to the first file corresponding to each storage node; wherein the data write request includes at least: the first file data write request to the corresponding write request identifier, the storage node address; the storage node address includes a main storage node of each storage node corresponding to the first file in the address and / or side storage node address; between the storage node address for the main memory node and the Deputy storage node interaction when using each storage node; the client from the first file corresponding to the received data is written to the execution of the request results . This application can reduce the number of data hops and reduce the write delay on the premise of guaranteeing the consistent byte order of multiple copies of the data.

【技术实现步骤摘要】
一种分布式系统中的文件写入方法及装置
本专利技术涉及分布式存储领域,尤其涉及一种分布式系统中的文件写入方法及装置。
技术介绍
底层分布式存储系统是云计算技术的基础,例如谷歌文件系统(GoogleFileSystem,GFS),Hadoop分布式文件系统(HadoopDistributedFileSystem,HDFS)等,在这些基础之上建立起了许多提供不同功能的分布存储产品,其中很大一部分产品是通过建立多个分区(Partition)的方式实现了数据的分布存储,每个Partition的数据由一个单独的进程服务,来保证一致性。但这种设计使存储产品需要解决Partition的热点问题,因为单个进程的服务能力总是受限于它所在机器的物理资源,比如中央处理器(CentralProcessingUnit,CPU),网络带宽等。为了解决这个问题,一些系统提出了元数据流和数据流分离的方法:元数据流还是由每个Partition的服务进程来处理,保证数据的一致性;数据流直接跟底层分布式存储系统的数据管理模块交互。由于元数据流的量很小,Partition变成热点的概率大大降低,同时数据传输过程也减少了Par本文档来自技高网...
一种分布式系统中的文件写入方法及装置

【技术保护点】
一种分布式系统中的文件写入方法,包括:客户端收到对于第一文件的写请求后,将对于所述第一文件的数据写入请求分别发送到所述第一文件所对应的每个存储节点;其中所述数据写入请求中至少包括:与所述第一文件数据写入请求对应的写请求标识、存储节点地址;所述存储节点地址包括所述第一文件所对应的每个存储节点中主存储节点的地址和/或副存储节点的地址;所述存储节点地址供所述主存储节点和所述副存储节点之间交互时使用;所述客户端分别从所述第一文件所对应的每个存储节点接收对于所述数据写入请求的执行结果。

【技术特征摘要】
1.一种分布式系统中的文件写入方法,包括:客户端收到对于第一文件的写请求后,将对于所述第一文件的数据写入请求分别发送到所述第一文件所对应的每个存储节点;其中所述数据写入请求中至少包括:与所述第一文件数据写入请求对应的写请求标识、存储节点地址;所述存储节点地址包括所述第一文件所对应的每个存储节点中主存储节点的地址和/或副存储节点的地址;所述存储节点地址供所述主存储节点和所述副存储节点之间交互时使用;所述客户端分别从所述第一文件所对应的每个存储节点接收对于所述数据写入请求的执行结果。2.如权利要求1所述的方法,其特征在于,所述存储节点包括块服务器或扩展节点;当所述存储节点是块服务器时,所述第一文件所对应的每个存储节点包括:所述第一文件的可写块对应的所有块服务器,所述块服务器包括主块服务器和副块服务器;当所述存储节点是扩展节点时,所述第一文件所对应的每个存储节点包括:所有存放所述第一文件的副本的扩展节点,所述扩展节点包括主扩展节点和副扩展节点。3.如权利要求1所述的方法,其特征在于,所述写请求标识包括以下一个或多个:客户端进程标识、线程标识、第一文件的标识。4.如权利要求3所述的方法,其特征在于:所述客户端进程标识是全局唯一的标识,每个客户端进程标识唯一对应一个客户端进程;所述线程标识是全局唯一的标识,或者是由每个客户端分别维护的递增的标识。5.如权利要求1所述的方法,其特征在于,所述存储节点地址供所述主存储节点和所述副存储节点之间交互时使用包括:所述存储节点地址供所述主存储节点和所述副存储节点之间交互写入位置指示信息,以保证多个副本的字节序一致。6.一种分布式系统中的文件写入方法,包括:主存储节点接收到客户端对于第一文件的数据写入请求后,将其中携带的写请求标识与所确定的所述第一文件的写入位置指示信息对应保存;所述主存储节点根据所述数据写入请求携带的存储节点地址,将所述写请求标识及对应的写入位置指示信息发送给副存储节点,所述存储节点地址包括所述第一文件所对应的副存储节点的地址;或者,当所述副存储节点根据写请求标识进行查询时返回对应于该写请求标识的写入位置指示信息。7.如权利要求6所述的方法,其特征在于,所述当副存储节点根据写请求标识进行查询时返回对应于该写请求标识的写入位置指示信息包括:所述主存储节点根据副存储节点查询所用的写请求标识,查找与该写请求标识对应保存的写入位置指示信息;将所述写入位置指示信息返回给进行查询的所述副存储节点,或者将所述写入位置信息及查询所用的写请求标识返回给进行查询的所述副存储节点。8.如权利要求6所述的方法,其特征在于,所述写请求标识包括以下一个或多个:客户端进程标识、线程标识、第一文件的标识;所述客户端进程标识是全局唯一的标识,每个客户端进程标识唯一对应一个客户端进程;所述线程标识是全局唯一的标识,或者是由每个客户端分别维护的递增的标识。9.如权利要求6所述的方法,其特征在于,所述将写入位置指示信息与所述数据写入请求中包含的写请求标识对应保存包括:将所述数据写入请求中包含的写请求标识和所述写入位置指示信息保存为第一键值对,所述写请求标识作为键名,所述写入位置指示信息作为键值。10.一种分布式系统中的文件写入方法,包括:副存储节点接收到客户端对于第一文件的数据写入请求后,根据所述数据写入请求中携带的存储节点地址和写请求标识向主存储节点进行查询得到写入位置指示信息,所述存储节点地址包括所述第一文件所对应的主存储节点的地址;或者根据所述数据写入请求中携带的写请求标识从主存储节点接收写入位置指示信息;所述副存储节点根据所述写入位置指示信息对所述第一文件进行写入,将执行结果返回给所述客户端。11.如权利要求10所述的方法,其特征在于,所述副存储节点接收到客户端对于第一文件的数据写入请求后还包括:所述副存储节点将所述数据写入请求中携带的写请求标识和待写入的数据对应保存。12.如权利要求11所述的方法,其特征在于,所述副存储节点将所述数据写入请求中携带的写请求标识和待写入的数据对应保存包括:所述副存储节点将所述数据写入请求中携带的写请求标识和所述待写入的数据保存为第二键值对,所述写请求标识作为键名,所述待写入的数据作为键值。13.如权利要求11所述的方法,其特征在于,所述根据数据写入请求中携带的存储节点地址和写请求标识向主存储节点进行查询得到写入位置指示信息包括:根据所述数据写入请求中的存储节点地址确定主存储节点的地址,向所确定的地址发送携带所述写请求标识的查询请求,将所述主存储节点返回的写入位置指示信息,和与所述写请求标识对应保存的待写入的数据进行对应;所述根据数据写入请求中携带的写请求标识从主存储节点接收写入位置指示信息包括:当收到所述主存储节点发送的包含写请求标识和写入位置指示信息的第一消息时,根据所述第一消息中的写请求标识,查找对应保存的待写入的数据,将查找到的待写入的数据和所述第一消息中的写入位置指示信息进行对应;所述副存储节点根据所述写入位置指示信息对所述第一文件进行写入包括:根据待写入的数据对应的写入位置指示信息,在所述第一文件的相应位置写入所述待写入的数据。14.如权利要求10所述的方法,其特征在于,所述写请求标识包括以下一个或多个:客户端进程标识、线程标识、第一文件的标识;所述客户端进程标识是全局唯一的标识,每个客户端进程标识唯一对应一个客户端进程;所述线程标识是全局唯一的标识,或者是由每个客户端分别维护的递增的标识。15.一种分布式系统中的文件写入装置,设置于客户端,其特征在于,包括:请求模块,用于收到对于...

【专利技术属性】
技术研发人员:刘善阳朱家稷
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1