【技术实现步骤摘要】
一种数据处理方法及装置
本专利技术涉及网络应用领域,具体涉及一种数据处理方法以及数据处理装置。
技术介绍
在大规模并行计算中,输入的数据通常是一系列的关键字‐值(key‐value)对。经过一系列的计算后,输出每个key对应的新的value。为了方便寻址,并且节省存储空间,可以对输入数据进行连续的id化,即将每个key‐value对中的key替换为0‐N的整数。在输入数据较多时,为每个数据(例如每个key‐value对中的key)id化就会占用大量的时间,进而会降低数据的存储速度。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的数据处理装置和相应的数据处理方法。依据本专利技术的一个方面,提供了一种数据处理方法,包括:对输入的数据进行分组,其中,所述数据的组数根据处理该数据的结点数确定;依次为每个结点分配一组待处理的数据,并利用各结点对各自对应的数据进行并行的连续id化处理,其中,所述连续id化处理是指将数据中的关键字替换为0‐N的整数;存储经连续id化处理后的数据;所述利用各结点对各自对应的组数据进行并行的连续id化处 ...
【技术保护点】
一种数据处理方法,包括:对输入的数据进行分组,其中,所述数据的组数根据处理该数据的结点数确定;依次为每个结点分配一组待处理的数据,并利用各结点对各自对应的数据进行并行的连续id化处理,其中,所述连续id化处理是指将数据中的关键字替换为0?N的整数;存储经连续id化处理后的数据;其中,所述利用各结点对各自对应的组数据进行并行的连续id化处理,包括:对于任意一个结点,计算本结点起始id编号;根据本结点起始id编号对本结点数据进行id化。
【技术特征摘要】
1.一种数据处理方法,包括:对输入的数据进行分组,所述输入的数据为key-value对,其中,所述数据的组数根据处理该数据的结点数确定;依次为每个结点分配一组待处理的数据,并利用各结点对各自对应的数据进行并行的连续id化处理,其中,所述连续id化处理是指将数据中的关键字替换为0-N的整数,替换后的所有数据的关键字是连续的;存储经连续id化处理后的数据;其中,所述利用各结点对各自对应的组数据进行并行的连续id化处理,包括:对于任意一个结点,计算本结点数据的起始id编号;根据本结点数据的起始id编号对本结点数据进行id化。2.根据权利要求1所述的方法,其特征在于,采用如下公式对本结点数据进行id化:其中,所述StartID为本结点数据的起始id编号,rank为当前结点的编号,且0<rank<节点总数,Ni为结点i对应的数据的数目。3.根据权利要求2所述的方法,其特征在于,rank=0时,StartID=0。4.根据权利要求1至3任一项所述的方法,其特征在于,所述利用各结点对各自对应的组数据进行并行的连续id化处理,包括:对于任意一个结点,在本结点内部设置多个工作线程,并将本结点处理的数据依次分配到每个工作线程上;利用每个工作线程对各自对应的数据进行连续id化处理。5.根据权利要求4所述的方法,其特征在于,所述利用每个工作线程对各自对应的数据进行连续id化处理,包括:对于任意一个工作线程,判断当前处理的数据是否是自身所处理的最后一条数据;若是,则结束并退出处理流程;若否,则为当前数据赋予id,并触发下一条数据的处理。6.根据权利要求5所述的方法,其特征在于,所述触发下一条数据的处理,包括:利用原子递增atomic_inc,对下一条数据进行连续id化处理。7.根据权利要求1至3任一项所述的方法,其特征在于,所述方法采用MPI模型对数...
【专利技术属性】
技术研发人员:齐路,何锐邦,唐会军,
申请(专利权)人:北京奇虎科技有限公司,奇智软件北京有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。