【技术实现步骤摘要】
分布式存储系统及其数据处理方法和装置
本专利技术涉及分布式存储
,更具体地说,涉及分布式存储系统及其数据处理方法和装置。
技术介绍
分布式存储系统,是指将数据分散存储在多台服务器的磁盘上,各服务器通过网络互联,对外作为一个整体提供存储服务。这些磁盘被划分成多个组,磁盘进行数据读/写的最小单位称为数据块,同一磁盘上各数据块按顺序编号,一组磁盘上同一编号的数据块合称为一个组块。所述组块采用m+n模式,即所述组块包含m+n个数据块,m>0,n>0,其中的m个数据块用来存储原始数据,称为原始数据块,其余的n个数据块用来存储编码数据,称为编码数据块。目前,写用户在写入文件的时候,分布式存储系统是在每写满m个数据块容量的原始数据后,才把所述原始数据和对所述原始数据进行编码得到的编码数据写入到磁盘的一个组块中。但是,当写用户写入文件的速度比较慢,很长时间都无法写满m个数据块容量时,读用户就难以及时地从磁盘上读取到新的内容。
技术实现思路
有鉴于此,本专利技术提供了分布式存储系统及其数据处理方法和装置,以方便读用户能够及时的从磁盘上读取到新的内容。一种分布式存储系统的数据处理方法,包括:接收客户端发送的原始数据;将所述原始数据写入一个虚拟组块上,所述虚拟组块是通过软件在内存上模拟出的一个组块,所述组块包括m个用来存储原始数据的原始数据块和n个用来存储编码数据的编码数据块,m>0,n>0;判断是否接收到客户端发送的fflush()函数调用请求,当接收到客户端发送的fflush()函数调用请求时,确定第一条块区域和第二 ...
【技术保护点】
1.一种分布式存储系统的数据处理方法,其特征在于,包括:接收客户端发送的原始数据;将所述原始数据写入一个虚拟组块上,所述虚拟组块是通过软件在内存上模拟出的一个组块,所述组块包括m个用来存储原始数据的原始数据块和n个用来存储编码数据的编码数据块,m>0,n>0;判断是否接收到客户端发送的fflush()函数调用请求,当接收到客户端发送的fflush()函数调用请求时,确定第一条块区域和第二条块区域,对所述第一条块区域进行数据编码,得到的编码数据写入所述第二条块区域;其中,对于所述原始数据在所述虚拟组块的原始数据块上占用的区域,所述虚拟组块的所有原始数据块上的所述区域共同组成所述第一条块区域,所述虚拟组块的所有编码数据块上的所述区域共同组成所述第二条块区域;将所述原始数据和所述编码数据写入一个物理组块上,所述原始数据和所述编码数据在所述物理组块上的位置与在所述虚拟组块上的位置相同。
【技术特征摘要】
1.一种分布式存储系统的数据处理方法,其特征在于,包括:接收客户端发送的原始数据;将所述原始数据写入一个虚拟组块上,所述虚拟组块是通过软件在内存上模拟出的一个组块,所述组块包括m个用来存储原始数据的原始数据块和n个用来存储编码数据的编码数据块,m>0,n>0;判断是否接收到客户端发送的fflush()函数调用请求,当接收到客户端发送的fflush()函数调用请求时,确定第一条块区域和第二条块区域,对所述第一条块区域进行数据编码,得到的编码数据写入所述第二条块区域;其中,对于所述原始数据在所述虚拟组块的原始数据块上占用的区域,所述虚拟组块的所有原始数据块上的所述区域共同组成所述第一条块区域,所述虚拟组块的所有编码数据块上的所述区域共同组成所述第二条块区域;将所述原始数据和所述编码数据写入一个物理组块上,所述原始数据和所述编码数据在所述物理组块上的位置与在所述虚拟组块上的位置相同。2.根据权利要求1所述的分布式存储系统的数据处理方法,其特征在于,所述将所述原始数据写入一个虚拟组块上,包括:将所述原始数据写入一个虚拟组块的原始数据块上,一个原始数据块写满后再写下一个原始数据块,而且同一原始数据块上,新数据接着旧数据的尾部写。3.根据权利要求2所述的分布式存储系统的数据处理方法,其特征在于,所述确定第一条块区域和第二条块区域,包括:如果所述原始数据位于所述虚拟组块的一个原始数据块上并且不足一个原始数据块的容量,则对于所述原始数据在这一原始数据块上占用的区域,将所述虚拟组块的所有原始数据块上的这一区域共同确定为第一条块区域,所述虚拟组块的所有编码数据块上的这一区域共同确定为第二条块区域;对应的,所述对所述第一条块区域进行数据编码,得到的编码数据写入所述第二条块区域,包括:对所述虚拟组块的所有原始数据块上的这一区域进行数据编码,得到的编码数据写入所述虚拟组块的所有编码数据块上的这一区域。4.根据权利要求2所述的分布式存储系统的数据处理方法,其特征在于,所述确定第一条块区域和第二条块区域,包括:如果所述原始数据位于两个原始数据块上并且不足一个原始数据块的容量,则将所述原始数据在这两个原始数据块上分别占用的区域称为第一子区和第二子区,则所述虚拟组块的所有原始数据块上的所述第一子区合称为第一条块子区,所述虚拟组块的所有原始数据块上的所述第二子区合称为第二条块子区,所述虚拟组块的所有编码数据块上的所述第一子区合称为第三条块子区,所述虚拟组块的所有编码数据块上的所述第二子区合称为第四条块子区,将所述第一条块子区和所述第二条块子区共同确定为第一条块区域,将所述第三条块子区和所述第四条块子区共同确定为第二条块区域;对应的,所述对所述第一条块区域进行数据编码,得到的编码数据写入所述第二条块区域,...
【专利技术属性】
技术研发人员:徐佳宏,李银,
申请(专利权)人:深圳市茁壮网络股份有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。