数据处理方法、装置、归约服务器及映射服务器制造方法及图纸

技术编号:35253429 阅读:52 留言:0更新日期:2022-10-19 10:08
一种数据处理方法,应用于分布式处理系统中的归约服务器,该分布式处理系统包括多个映射服务器及多个归约服务器,上述多个映射服务器的内存及上述多个归约服务器的内存构成全局内存,方法包括:从预设的第一存储区域,获取待读取的第一数据的元数据,然后根据第一数据的元数据,确定第一数据在全局内存中的第一地址,最后根据第一地址,从全局内存中读取第一数据。本申请的实施例能够以内存方式对洗牌阶段存储在全局内存中的数据进行读取,从而提高洗牌阶段的处理效率。洗牌阶段的处理效率。洗牌阶段的处理效率。

【技术实现步骤摘要】
数据处理方法、装置、归约服务器及映射服务器
[0001]本申请要求于2021年4月14日提交的申请号为202110401463.9、专利技术名称为“一种基于全局大内存系统的shuffle方法”的中国专利申请的优先权,以及要求于2021年6月08日提交的申请号为202110638812.9、专利技术名称为“一种数据处理的方法、装置和系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。


[0002]本申请涉及计算机
,尤其涉及一种数据处理方法、装置、归约服务器及映射服务器。

技术介绍

[0003]近年来,以大数据、物联网、人工智能、第五代移动通信技术(5th generation mobile networks,5G)为核心特征的数字化浪潮正席卷全球,由此产生了海量数据。
[0004]在相关技术中,对海量数据进行处理时,通常采用分布式高并发计算框架,将待处理数据划分为若干数据块,通过不同计算节点并发进行运算。由于整个数据处理过程可能分为若干步骤,在一个步骤的输入数据来源于前一个步骤的多个计算节点的运算结果的情况下,必然涉及到大量数据在计算节点间的传输。而受单个计算节点的内存容量有限、计算节点间网络传输时延大、带宽小等因素的影响,计算节点间的数据传输效率较低。

技术实现思路

[0005]有鉴于此,提出了一种数据处理技术方案。
[0006]第一方面,本申请的实施例提供了一种数据处理方法,所述方法应用于分布式处理系统中的归约服务器,所述分布式处理系统包括多个映射服务器及多个归约服务器,所述多个映射服务器的内存及所述多个归约服务器的内存构成全局内存,所述方法包括:从预设的第一存储区域,获取待读取的第一数据的元数据;根据所述元数据,确定所述第一数据在所述全局内存中的第一地址;根据所述第一地址,从所述全局内存中读取所述第一数据,其中,所述第一数据包括第二数据的多个数据块中的目标数据块,所述第二数据包括相应的映射服务器对输入数据的处理结果。
[0007]根据本申请的实施例,分布式处理系统中的归约服务器,能够从第一存储区域,获取待读取的第一数据的元数据,其中,第一数据包括第二数据的多个数据块中的目标数据块,第二数据包括相应的映射服务器对输入数据的处理结果,然后根据该元数据,确定第一数据在全局内存中的第一地址,并根据第一地址,从全局内存中读取第一数据,从而能够在归约服务器从多个映射服务器的处理结果中读取包括目标数据块的输入数据(第一数据)时,无需对目标数据块进行拷贝传输,而是以内存方式对存储在全局内存中的目标数据块直接进行读取,不仅使得洗牌阶段的处理过程不受计算节点的内存容量、传输网络的物理带宽、传输时延等因素的限制,而且能够提高洗牌阶段的处理效率及处理性能,进而提高分布式处理系统的处理效率。
[0008]根据第一方面,在所述数据处理方法的第一种可能的实现方式中,所述根据所述第一地址,从所述全局内存中读取所述第一数据,包括:在所述第一地址位于所述归约服务器的访问范围之外的情况下,将所述第一地址映射为第二地址,所述第二地址位于所述归约服务器的访问范围内;根据所述第二地址,从所述全局内存中读取所述第一数据。
[0009]在本实施例中,通过在第一地址位于归约服务器的访问范围之外的情况下进行地址映射,使得归约服务器可以从全局内存中读取位于远端的第一数据。
[0010]根据第一方面或第一方面的第一种可能的实现方式,在所述数据处理方法的第二种可能的实现方式中,所述方法还包括:在所述归约服务器连接到所述分布式处理系统后,所述归约服务器通过预设的注册指令进行注册,以使所述归约服务器的内存加入所述全局内存。
[0011]在本实施例中,通过归约服务器的注册,能够对加入分布式处理系统的归约服务器的内存进行统一管理,从而实现对全局内存的管理。
[0012]第二方面,本申请的实施例提供了一种数据处理方法,所述方法应用于分布式处理系统中的映射服务器,所述分布式处理系统包括多个映射服务器及多个归约服务器,所述多个映射服务器的内存及所述多个归约服务器的内存构成全局内存,所述方法包括:对输入数据进行处理,得到第二数据;根据预设标签,将所述第二数据划分为多个数据块;将所述多个数据块存储到第二存储区域,所述第二存储区域位于所述全局内存中。
[0013]根据本申请的实施例,分布式处理系统中的映射服务器,能够对输入数据进行处理,得到第二数据,并根据预设标签,将第二数据划分为多个数据块,然后将多个数据块存储到位于全局内存中第二存储区域,从而可以在洗牌阶段,将映射服务器的处理结果(即第二数据)存储在全局内存中,不仅能够避免缓慢的磁盘读写,而且能够使得洗牌阶段的处理过程不受映射服务器的内存容量的限制,进而提高洗牌阶段的处理效率及处理性能。
[0014]根据第二方面,在所述数据处理方法的第一种可能的实现方式中,所述将所述多个数据块存储到第二存储区域,包括:在需要对多个数据块中的数据进行排序的情况下,根据预设的第二尺寸,将第二存储区域划分为多个子区域;按照子区域的顺序,将所述多个数据块存储到所述多个子区域中;在将所述多个数据块依次存储到所述多个子区域期间,通过更新有序索引链表,对存储完成的所有子区域中的数据进行排序,所述有序索引链表通过链表链接数据的位置索引的方式进行排序。
[0015]在本实施例中,通过异步流水线(pipeline)的方式执行数据写入与排序,并在排序时使用有序索引链表,不仅能够边写边排序,实现在写入时直接排序,而且能够去除单独排序时的数据拷贝环节,减少内存占用,从而可以提高洗牌阶段中洗牌写入的处理效率。此外,通过这种方式,还可以将写入及排序合并为一个步骤,减少处理步骤,提高洗牌阶段的处理效率。
[0016]根据第二方面,在所述数据处理方法的第二种可能的实现方式中,所述映射服务器包括对所述输入数据进行处理的至少一个第一算子,所述方法通过所述映射服务器上的第一运算进程实现,所述方法还包括:在所述第一运算进程的初始化阶段,根据所述映射服务器的处理器核的数量,向所述全局内存申请所述第二存储区域,以使每个处理器核对应一个第二存储区域,其中,所述每个处理器核上运行至少一个第一算子。
[0017]在本实施例中,能够在映射服务器上的第一运算进程的初始化阶段,根据映射服
务器的处理器核的数量,向全局内存申请第二存储区域,以使每个处理器核对应一个第二存储区域,其中,每个处理器核上运行至少一个第一算子,从而可以将运行在同一处理器核上的至少一个算子,看作一个洗牌写入者,并在全局内存中为该洗牌写入者分配存储空间,使得运行在同一个处理器核上的至少一个算子的处理结果中标签相同的数据存储在全局内存的同一区域,实现基于处理器核的数据汇聚,减少数据分散,进而提高数据读取效率。
[0018]根据第二方面,在所述数据处理方法的第三种可能的实现方式中,所述根据预设标签,将所述第二数据划分为多个数据块,包括:根据预设标签,通过哈希方式,将所述第二数据划分为多个数据块。
[0019]在本实本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法应用于分布式处理系统中的归约服务器,所述分布式处理系统包括多个映射服务器及多个归约服务器,所述多个映射服务器的内存及所述多个归约服务器的内存构成全局内存,所述方法包括:从预设的第一存储区域,获取待读取的第一数据的元数据;根据所述元数据,确定所述第一数据在所述全局内存中的第一地址;根据所述第一地址,从所述全局内存中读取所述第一数据,其中,所述第一数据包括第二数据的多个数据块中的目标数据块,所述第二数据包括相应的映射服务器对输入数据的处理结果。2.根据权利要求1所述的方法,其特征在于,所述根据所述第一地址,从所述全局内存中读取所述第一数据,包括:在所述第一地址位于所述归约服务器的访问范围之外的情况下,将所述第一地址映射为第二地址,所述第二地址位于所述归约服务器的访问范围内;根据所述第二地址,从所述全局内存中读取所述第一数据。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:在所述归约服务器连接到所述分布式处理系统后,所述归约服务器通过预设的注册指令进行注册,以使所述归约服务器的内存加入所述全局内存。4.一种数据处理方法,其特征在于,所述方法应用于分布式处理系统中的映射服务器,所述分布式处理系统包括多个映射服务器及多个归约服务器,所述多个映射服务器的内存及所述多个归约服务器的内存构成全局内存,所述方法包括:对输入数据进行处理,得到第二数据;根据预设标签,将所述第二数据划分为多个数据块;将所述多个数据块存储到第二存储区域,所述第二存储区域位于所述全局内存中。5.根据权利要求4所述的方法,其特征在于,所述将所述多个数据块存储到第二存储区域,包括:在需要对多个数据块中的数据进行排序的情况下,根据预设的第二尺寸,将第二存储区域划分为多个子区域;按照子区域的顺序,将所述多个数据块存储到所述多个子区域中;在将所述多个数据块依次存储到所述多个子区域期间,通过更新有序索引链表,对存储完成的所有子区域中的数据进行排序,所述有序索引链表通过链表链接数据的位置索引的方式进行排序。6.根据权利要求4中所述的方法,其特征在于,所述映射服务器包括对所述输入数据进行处理的至少一个第一算子,所述方法通过所述映射服务器上的第一运算进程实现,所述方法还包括:在所述第一运算进程的初始化阶段,根据所述映射服务器的处理器核的数量,向所述全局内存申请所述第二存储区域,以使每个处理器核对应一个第二存储区域,其中,所述每个处理器核上运行至少一个第一算子。7.根据权利要求4所述的方法,其特征在于,所述根据预设标签,将所述第二数据划分
为多个数据块,包括:根据预设标签,通过哈希方式,将所述第二数据划分为多个数据块。8.根据权利要求4所述的方法,其特征在于,所述将所述多个数据块存储到第二存储区域,包括:确定第二存储区域的第三地址;在所述第三地址位于所述映射服务器的访问范围之外的情况下,将所述第三地址映射为第四地址,所述第四地址位于所述映射服务器的访问范围内;根据所述第四地址,将所述多个数据块存储到所述第二存储区域。9.根据权利要求4

8中任一项所述的方法,其特征在于,所述方法还包括:确定所述多个数据块的元数据;将所述多个数据块的元数据存储到预设的第一存储区域。10.根据权利要求4

9中任一项所述的方法,其特征在于,所述方法还包括:在所述映射服务器连接到所述分布式处理系统后,所述映射服务器通过预设的注册指令进行注册,以使所述映射服务器的内存加入所述全局内存。11.根据权利要求4

10任一项所述的方法,其特征在于,所述方法还包括:当第一内存满足第一条件时,从所述第一内存存储的数据中确定第一目标数据,将所述第一目标数据存储至外部存储区域,所述第一条件为所述第一内存已经使用的空间大于或等于第一阈值,或者,为所述第一内存已经使用的空间与所述第一内存的总空间的比值大于或等于第二阈值,所述第一内存为所述全局内存或者所述全局内存的部分内存。12.根据权利要求4

11任一所述的方法,其特征在于,所述方法还包括:当所述第一内存满足第二条件时,从所述外部存储区域存储的数据中确定第二目标数据,将所述第二目标数据存储至所述第一内存,所述第二条件为所述第一内存已经使用的空间小于或等于第三阈值,或者,为所述第一内存已经使用的空间与所述第一内存的总空间的比值小于或等于第四阈值。13.根据权利要求11或12所述的方法,其特征在于,所述外部存储区域包括以下至少一种:硬盘驱动器HDD、固态硬盘SSD。14.一种归约服务器,其特征在于,所述归约服务器应用于分布式处理系统,所述分布式处理系统包括多个映射服务器及多个归约服务器,所述多个映射服务器的内存及所述多个归约服务器的内存构成全局内存,所述归约服务器包括:元数据读取模块,用于从预设的第一存储区域,获取待读取的第一数据的元数据;地址确定模块,用于根据所述元数据,确定所述第一数据在所述全局内存中的第一地址;数据读取模块,用于根据所述第一地址,从所述全局内存中读取所述第一数据,其中,所述第一数据包括第二数据的多个数据块中的目标数据块,所述第二数据包括相应的映射服务器对输入数据的处理结果。1...

【专利技术属性】
技术研发人员:徐华包小明孙宏伟郑宜海刘春
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1