一种数据处理方法及装置制造方法及图纸

技术编号:11158772 阅读:72 留言:0更新日期:2015-03-18 14:43
本发明专利技术的实施例提供一种数据处理方法及装置,涉及计算机领域,能够减少数据合并的操作流程的时间,降低停等现象出现的概率和时间。包括:将数据合并的操作流程划分为至少两个阶段得到第1阶段至第m阶段,m大于或等于2,每个阶段包括一个或多个子流程;分别为每个阶段建立一个对应的线程得到m个线程;对输入第k线程的数据执行该第k线程对应的阶段中的子流程,并输出处理后数据至第k+1线程,在该第k+1线程对该处理后的数据执行对应阶段的子流程的过程中,对再次输入第k线程的数据再次执行第k线程对应的阶段中的子流程,并输出处理后数据至第k+1线程,直至所有输入第k线程的数据处理完毕。该数据处理方法及装置用于数据处理。

【技术实现步骤摘要】

本专利技术涉及计算机领域,尤其涉及一种数据处理方法及装置
技术介绍
随着互联网的发展,越来越多的网络服务存储系统采用写优化的数据结构来降低写延迟。例如,LSM-Tree(Log-Structured Merge Tree,日志结构归并树)为一种用来降低写延迟的写优化的数据结构。LSM-Tree通过聚合小粒度、随机更新为大粒度、顺序更新,降低写延迟。但是,LSM-Tree需要后台合并操作来维护合理的数据结构和操作性能。由于每一次数据合并的操作流程需要从磁盘设备等读取数据,对数据解压缩、校验和合并,并将合并后的数据压缩和再次校验,再写回磁盘,整个流程耗费时间较长。在等待数据合并的操作流程完成期间,采用LSM-Tree数据结构的存储系统可能出现停等现象,即无法向位于内存中的组件存储数据,不能服务更新操作。因此,数据合并的操作流程的性能直接影响停等现象出现的频率和时间长短,从而影响存储系统性能。需要说明的是,所述组件为数据结构中逻辑上的组成单元。现有技术中,当一个组件中的数据存储量大于或等于该组件的阈值,需要从该组件和与该组件相邻的下一个组件分别提取待合并数据执行数据合并的操作流程来对待合并数据进行合并,当待合并数据合并完成后,若该组件的数据存储量还是大于或等于该组件的阈值,则继续执行数据合并的操作流程对待合并数据进行合并,直至每个组件中的数据存储量小于该组件的阈值,每个数据合并的操作流程包括读入、校验、解压缩、合并、压缩、再校验和写出过程。但是,一个数据合并的操作流程由一个线程执行,数据合并的操作流程耗费时间较长,容易出现停等现象。
技术实现思路
本专利技术的实施例提供一种数据处理方法及装置,能够减少数据合并的操作流程的时间,降低停等现象出现的概率和时间。为达到上述目的,本专利技术的实施例采用如下技术方案:第一方面,提供一种数据处理方法,包括:将数据合并的操作流程划分为至少两个阶段得到第1阶段至第m阶段,所述m大于或等于2,所述每个阶段包括一个或多个子流程;分别为每个所述阶段建立一个对应的线程得到m个线程;对输入第k线程的数据执行所述第k线程对应的阶段中的子流程,并输出处理后数据至第k+1线程,在所述第k+1线程对所述处理后的数据执行对应阶段的子流程的过程中,对再次输入所述第k线程的数据再次执行所述第k线程对应的阶段中的子流程,并输出处理后数据至所述第k+1线程,直至所有输入所述第k线程的数据处理完毕,其中,所述第k线程为所述m个线程中任意一个线程。结合第一方面,在第一种可实现方式中,所述将数据合并的操作流程划分为至少两个阶段得到第1阶段至第m阶段包括:将数据合并的操作流程划分为七个阶段得到第1阶段至第7阶段,所述第1阶段至第7阶段分别为读入阶段、校验阶段、解压阶段、合并阶段、压缩阶段、再校验阶段和写出阶段;所述分别为每个所述阶段建立一个对应的线程得到m个线程包括:分别为每个所述阶段建立一个线程得到第1线程至第7线程,所述第1线程至第7线程分别为读入线程、校验线程、解压线程、合并线程、压缩线程、再校验线程和写出线程。结合第一方面或第一种可实现方式,在第二种可实现方式中,所述m个线程中的第k线程包括多个进行并行操作的子线程;所述对输入第k线程的数据执行所述第k线程对应的阶段中的子流程,并输出处理后数据至第k+1线程,包括:所述第k线程中的子线程接收输入的数据,对数据执行所述第k线程对应的阶段中的子流程,并输出处理后数据至第k+1线程。第二方面,提供一种数据处理装置,包括:划分单元,用于将数据合并的操作流程划分为至少两个阶段得到第1阶段至第m阶段,所述m大于或等于2,所述每个阶段包括一个或多个子流程;建立单元,用于分别为每个所述阶段建立一个对应的线程得到m个线程;执行单元,用于对输入第k线程的数据执行所述第k线程对应的阶段中的子流程,并输出处理后数据至第k+1线程,在所述第k+1线程对所述处理后的数据执行对应阶段的子流程的过程中,对再次输入所述第k线程的数据再次执行所述第k线程对应的阶段中的子流程,并输出处理后数据至所述第k+1线程,直至所有输入所述第k线程的数据处理完毕,其中,所述第k线程为所述m个线程中任意一个线程。结合第二方面,在第一种可实现方式中,所述划分单元具体用于:将数据合并的操作流程划分为七个阶段得到第1阶段至第7阶段,所述第1阶段至第7阶段分别为读入阶段、校验阶段、解压阶段、合并阶段、压缩阶段、再校验阶段和写出阶段;所述建立单元具体用于:分别为每个所述阶段建立一个线程得到第1线程至第7线程,所述第1线程至第7线程分别为读入线程、校验线程、解压线程、合并线程、压缩线程、再校验线程和写出线程。结合第二方面或第一种可实现方式,在第二种可实现方式中,所述m个线程中的第k线程包括多个进行并行操作的子线程;所述执行单元具体用于:所述第k线程中的子线程接收输入的数据,对数据执行所述第k线程对应的阶段中的子流程,并输出处理后数据至第k+1线程。第三方面,提供一种数据处理装置,所述数据处理装置包括:处理器、通信接口、存储器和总线,其中所述处理器、所述通信接口、所述存储器通过所述总线完成相互间的通信;所述通信接口,用于接收待合并数据;所述处理器,用于执行程序;所述存储器,用于存放程序;其中所述程序包括:划分单元,用于将数据合并的操作流程划分为至少两个阶段得到第1阶段至第m阶段,所述m大于或等于2,所述每个阶段包括一个或多个子流程;建立单元,用于分别为每个所述阶段建立一个对应的线程得到m个线程;执行单元,用于对输入第k线程的数据执行所述第k线程对应的阶段中的子流程,并输出处理后数据至第k+1线程,在所述第k+1线程对所述处理后的数据执行对应阶段的子流程的过程中,对再次输入所述第k线程的数据再次执行所述第k线程对应的阶段中的子流程,并输出处理后数据至所述第k+1线程,直至所有输入所述第k线程的数据处理完毕,其中,所述第k线程为所述m个线程中任意一个线程。结合第三方面,在第一种可实现方式中,所述处理器的划分单元具体用于:将数据合并的操作流程划分为七个阶段得到第1阶段至第7阶段,所述第1阶段至第7阶段分别为读入阶段、校验阶段、解压阶段、合并阶段、压缩阶段、再本文档来自技高网
...
一种数据处理方法及装置

【技术保护点】
一种数据处理方法,其特征在于,包括:将数据合并的操作流程划分为至少两个阶段得到第1阶段至第m阶段,所述m大于或等于2,所述每个阶段包括一个或多个子流程;分别为每个所述阶段建立一个对应的线程得到m个线程;对输入第k线程的数据执行所述第k线程对应的阶段中的子流程,并输出处理后数据至第k+1线程,在所述第k+1线程对所述处理后的数据执行对应阶段的子流程的过程中,对再次输入所述第k线程的数据再次执行所述第k线程对应的阶段中的子流程,并输出处理后数据至所述第k+1线程,直至所有输入所述第k线程的数据处理完毕,其中,所述第k线程为所述m个线程中任意一个线程。

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:
将数据合并的操作流程划分为至少两个阶段得到第1阶段至第m
阶段,所述m大于或等于2,所述每个阶段包括一个或多个子流程;
分别为每个所述阶段建立一个对应的线程得到m个线程;
对输入第k线程的数据执行所述第k线程对应的阶段中的子流程,
并输出处理后数据至第k+1线程,在所述第k+1线程对所述处理后的
数据执行对应阶段的子流程的过程中,对再次输入所述第k线程的数
据再次执行所述第k线程对应的阶段中的子流程,并输出处理后数据
至所述第k+1线程,直至所有输入所述第k线程的数据处理完毕,其
中,所述第k线程为所述m个线程中任意一个线程。
2.根据权利要求1所述的方法,其特征在于,
所述将数据合并的操作流程划分为至少两个阶段得到第1阶段至
第m阶段包括:
将数据合并的操作流程划分为七个阶段得到第1阶段至第7阶段,
所述第1阶段至第7阶段分别为读入阶段、校验阶段、解压阶段、合
并阶段、压缩阶段、再校验阶段和写出阶段;
所述分别为每个所述阶段建立一个对应的线程得到m个线程包
括:
分别为每个所述阶段建立一个线程得到第1线程至第7线程,所
述第1线程至第7线程分别为读入线程、校验线程、解压线程、合并
线程、压缩线程、再校验线程和写出线程。
3.根据权利要求1或2所述的方法,其特征在于,所述m个线程
中的第k线程包括多个进行并行操作的子线程;
所述对输入第k线程的数据执行所述第k线程对应的阶段中的子
流程,并输出处理后数据至第k+1线程,包括:
所述第k线程中的子线程接收输入的数据,对数据执行所述第k
线程对应的阶段中的子流程,并输出处理后数据至第k+1线程。
4.一种数据处理装置,其特征在于,包括:
划分单元,用于将数据合并的操作流程划分为至少两个阶段得到
第1阶段至第m阶段,所述m大于或等于2,所述每个阶段包括一个
或多个子流程;
建立单元,用于分别为每个所述阶段建立一个对应的线程得到m
个线程;
执行单元,用于对输入第k线程的数据执行所述第k线程对应的
阶段中的子流程,并输出处理后数据至第k+1线程,在所述第k+1线
程对所述处理后的数据执行对应阶段的子流程的过程中,对再次输入
所述第k线程的数据再次执行所述第k线程对应的阶段中的子流程,
并输出处理后数据至所述第k+1线程,直至所有输入所述第k线程的
数据处理完毕,其中,所述第k线程为所述m个线程中任意一个线程。
5.根据权利要求4所述的数据处理装置,其特征在于,
所述划分单元具体用于:
将数据合并的操作流程划分为七个阶段得到第...

【专利技术属性】
技术研发人员:张子刚岳银亮熊劲
申请(专利权)人:华为技术有限公司中国科学院计算技术研究所
类型:发明
国别省市:广东;44

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

1