数据存储方法及装置的制作方法

文档序号:6576042阅读:191来源:国知局
专利名称:数据存储方法及装置的制作方法
技术领域
本发明涉及网络应用领域,具体涉及一种数据存储方法以及数据存储装置。
背景技术
在大规模并行计算中,输入的数据通常是一系列的关键字-值(key-value )对。经过一系列的计算后,输出每个key对应的新的value。为了方便寻址,并且节省存储空间,可以对输入数据进行连续的id化,即将每个key-value对中的key替换为0_N的整数。在输入数据较多时,为每个数据(例如每个key-value对中的key) id化就会占用大量的时间,进而会降低数据的存储速度。

发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的数据存储装置和相应的数据存储方法。依据本发明的一个方面,提供了一种数据存储方法,包括对输入的数据进行分组,其中,所述数据的组数根据处理该数据的结点数确定;依次为每个结点分配一组待处理的数据,并利用各结点对各自对应的数据进行并行的连续id化处理,其中,所述连续id化处理是指将数据中的关键字替换为O-N的整数;存储经连续id化处理后的数据。可选地,所述利用各结点对各自对应的组数据进行并行的连续id化处理,包括对于任意一个节点,计算本结点起始id编号;根据本节点起始id编号对本结点数据进行id化。可选地,采用如下公式对本结点数据进行id化
rank-权利要求
1.一种数据存储方法,包括 对输入的数据进行分组,其中,所述数据的组数根据处理该数据的结点数确定; 依次为每个结点分配一组待处理的数据,并利用各结点对各自对应的数据进行并行的连续id化处理,其中,所述连续id化处理是指将数据中的关键字替换为O-N的整数; 存储经连续id化处理后的数据。
2.根据权利要求1所述的方法,其特征在于,所述利用各结点对各自对应的组数据进行并行的连续id化处理,包括 对于任意一个结点,计算本结点起始id编号; 根据本结点起始id编号对本结点数据进行id化。
3.根据权利要求2所述的方法,其特征在于,采用如下公式对本结点数据进行id化
4.根据权利要求3所述的方法,其特征在于,rank=0时,StartID= O。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述利用各结点对各自对应的组数据进行并行的连续id化处理,包括 对于任意一个结点, 在本结点内部设置多个工作线程,并将本结点处理的数据依次分配到每个工作线程上; 利用每个工作线程对各自对应的数据进行连续id化处理。
6.根据权利要求5所述的方法,其特征在于,所述利用每个工作线程对各自对应的数据进行连续id化处理,包括 对于任意一个工作线程, 判断当前处理的数据是否是自身所处理的最后一条数据; 若是,则结束并退出处理流程; 若否,则为当前数据赋予id,并触发下一条数据的处理。
7.根据权利要求6所述的方法,其特征在于,所述触发下一条数据的处理,包括利用原子递增atomic_inc,对下一条数据进行连续id化处理。
8.根据权利要求1至7任一项所述的方法,其特征在于,所述输入的数据为key-value对。
9.根据权利要求1至8任一项所述的方法,其特征在于,所述方法采用MPI模型对数据进行并行的连续id化处理。
10.一种数据存储装置,包括 分组模块,配置为对输入的数据进行分组,其中,所述数据的组数根据处理该数据的结点数确定; 处理模块,配置为依次为每个结点分配一组待处理的数据,并利用各结点对各自对应的数据进行并行的连续id化处理,其中,所述连续id化处理是指将数据中的关键字替换为O-N的整数; 存储模块,配置为存储经连续id化处理后的数据。
11.根据权利要求10所述的装置,其特征在于,所述处理模块还配置为对于任意一个结点,计算本结点起始id编号; 根据本结点起始id编号对本结点数据进行id化。
12.根据权利要求11所述的装置,其特征在于,所述处理模块采用如下公式对本结点数据进行id化
13.根据权利要求12所述的装置,其特征在于,rank=0时,StartID= O。
14.根据权利要求10至13任一项所述的装置,其特征在于,所述处理模块还配置为 对于任意一个结点, 在本结点内部设置多个工作线程,并将本结点处理的数据依次分配到每个工作线程上; 利用每个工作线程对各自对应的数据进行连续id化处理。
15.根据权利要求14所述的装置,其特征在于,所述处理模块还配置为 对于任意一个工作线程, 判断当前处理的数据是否是自身所处理的最后一条数据; 若是,则结束并退出处理流程; 若否,则为当前数据赋予id,并触发下一条数据的处理。
16.根据权利要求15所述的装置,其特征在于,所述处理模块还配置为利用原子递增atomic_inc,对下一条数据进行连续id化处理。
17.根据权利要求10至16任一项所述的装置,其特征在于,所述输入的数据为key-value 对。
18.根据权利要求10至17任一项所述的装置,其特征在于,所述装置采用MPI模型对数据进行并行的连续id化处理。
全文摘要
本发明公开了一种数据存储方法,包括对输入的数据进行分组,其中,所述数据的组数根据处理该数据的结点数确定;依次为每个结点分配一组待处理的数据,并利用各结点对各自对应的数据进行并行的连续id化处理,其中,所述连续id化处理是指将数据中的关键字替换为0-N的整数;存储经连续id化处理后的数据。采用本发明能够实现数据并行id化处理,节省存储时间。本发明还公开了相应的装置。
文档编号G06F17/30GK103034698SQ20121051756
公开日2013年4月10日 申请日期2012年12月5日 优先权日2012年12月5日
发明者齐路, 何锐邦, 唐会军 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1