CN117909288A - 数据处理方法、装置、电子设备及存储介质 - Google Patents
数据处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117909288A CN117909288A CN202211242918.8A CN202211242918A CN117909288A CN 117909288 A CN117909288 A CN 117909288A CN 202211242918 A CN202211242918 A CN 202211242918A CN 117909288 A CN117909288 A CN 117909288A
- Authority
- CN
- China
- Prior art keywords
- mapping
- data
- output data
- unit
- data packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title abstract description 19
- 238000013507 mapping Methods 0.000 claims abstract description 477
- 238000012545 processing Methods 0.000 claims abstract description 73
- 238000000034 method Methods 0.000 claims abstract description 41
- 238000012163 sequencing technique Methods 0.000 claims abstract description 39
- 230000009467 reduction Effects 0.000 claims abstract description 35
- 230000004044 response Effects 0.000 claims abstract description 16
- 238000004806 packaging method and process Methods 0.000 claims abstract description 11
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000007906 compression Methods 0.000 claims description 3
- 230000006835 compression Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/116—Details of conversion of file system types or formats
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种数据处理方法、装置、电子设备及存储介质,方法包括:利用映射单元对待处理数据进行映射处理,得到映射输出数据;响应于映射输出数据达到预定数量,对映射输出数据进行排序,对排序后的映射输出数据进行封装,得到映射数据包;利用服务单元按照获取到映射数据包的顺序,生成包括预定数量的映射数据包的映射数据文件;利用归约单元获取映射数据文件,将映射数据文件划分成预定数量的映射数据包;对各映射数据包进行解析得到各映射数据包对应的排序后的映射输出数据;对排序后的映射输出数据进行排序,得到数据处理结果。通过映射单元和归约单元进行数据排序,服务单元不进行排序,能够保证服务单元的性能和响应速度。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
MapReduce是一种批式计算框架,主要用于处理大批量的静态数据,其一般包括Map、Shuffle和Reduce三个过程,如图1所示,数据处理过程一般为:Map单元(map task)将输入的键值对转换为多个键值对,Shuffle单元对键值对进行排序、归并等处理,将键相同的键值对发送给同一个Reduce单元(reduce task),Reduce单元按照一定的规则将键相同的键值对转换为一个键值对。其中,在Shuffle单元会产生大量的读请求,导致系统性能下降。采用remote shuffle service框架,由于Shuffle单元不进行排序等处理,能够有效降低读请求的数量,提高系统性能。然而,在remote shuffle service框架中如何实现排序,是所需解决的问题。
发明内容
有鉴于此,本申请的目的在于提出一种数据处理方法、装置、电子设备及存储介质。
基于上述目的,本申请提供了一种数据处理方法,包括:
利用映射单元对待处理数据进行映射处理,得到映射输出数据;响应于所述映射输出数据达到预定数量,对所述映射输出数据进行排序,对排序后的映射输出数据进行封装,得到映射数据包;
利用服务单元按照获取到映射数据包的顺序,生成包括预定数量的映射数据包的映射数据文件;
利用归约单元获取所述映射数据文件,将所述映射数据文件划分成所述预定数量的映射数据包;对各映射数据包进行解析得到各映射数据包对应的排序后的映射输出数据;以及对所述排序后的映射输出数据进行排序,得到数据处理结果。
可选的,所述映射数据包包括用于标识所述映射单元的标识信息;对各映射数据包进行解析得到各映射数据包对应的排序后的映射输出数据,包括:
对各映射数据包进行解析,得到所述标识信息和所述排序后的映射输出数据;其中,所述排序后的映射输出数据是由所述标识信息对应的映射单元所生成的;
对所述排序后的映射输出数据进行排序之前,还包括:
根据所述标识信息,对所述排序后的映射输出数据进行去重处理,得到去重处理后的映射输出数据;
对所述排序后的映射输出数据进行排序,包括:
对所述去重处理后的映射输出数据进行排序。
可选的,所述标识信息包括映射单元标识、映射容错标识和数据包标识;
根据所述标识信息,对所述排序后的映射输出数据进行去重处理,得到去重处理后的映射输出数据,包括:
根据所述映射单元标识和所述映射容错标识,对所述排序后的映射输出数据进行去重处理,对于同一个映射单元标识对应多个映射容错标识的映射数据包,保留一个映射容错标识的映射数据包,得到第一次去重后的映射输出数据;
根据所述映射单元标识、映射容错标识和所述数据包标识,对所述第一次去重后的映射输出数据进行去重处理,对于同一映射单元标识、同一映射容错标识对应多个数据包标识的映射数据包,保留一个数据包标识的映射数据包,得到第二次去重后的映射输出数据。
可选的,所述映射数据包括压缩长度和原始长度;对各映射数据包进行解析得到各映射数据包对应的排序后的映射输出数据,包括:
对各映射数据包进行解析,得到所述压缩长度和原始长度;
根据所述压缩长度,解析得到压缩后的映射输出数据;
对所述排序后的映射输出数据进行排序之前,还包括:
分配所述原始长度的存储空间;
对所述压缩后的映射输出数据进行解压缩,得到解压缩后的映射输出数据;
将所述解压缩后的映射输出数据存储于所述存储空间中;
对所述排序后的映射输出数据进行排序,包括:
对所述存储空间中的映射输出数据进行排序。
可选的,对所述存储空间中的映射输出数据进行排序,包括:
响应于解析得到的压缩后的映射输出数据达到预定排序数量,或者解压缩后的映射输出数据在所述存储空间的占用量达到预定存储量,对所述映射输出数据进行排序。
可选的,对排序后的映射输出数据进行封装,得到映射数据包,包括:
对所述排序后的映射输出数据进行压缩处理,得到压缩后的映射输出数据;
基于所述压缩后的映射输出数据,添加数据头形成所述映射数据包;其中,所述数据头包括标识信息、所述映射输出数据的原始长度、压缩后的映射输出数据的压缩长度。
可选的,对所述排序后的映射输出数据进行排序,得到数据处理结果,包括:
对所述排序后的映射输出数据进行归并排序,得到数据处理结果。
本申请实施例还提供一种数据处理装置,包括:
映射单元,用于对待处理数据进行映射处理,得到映射输出数据;响应于所述映射输出数据达到预定数量,对所述映射输出数据进行排序,对排序后的映射输出数据进行封装,得到映射数据包;
服务单元,用于按照获取到映射数据包的顺序,生成包括预定数量的映射数据包的映射数据文件;
归约单元,用于获取所述映射数据文件;将所述映射数据文件划分成所述预定数量的映射数据包;对各映射数据包进行解析得到各映射数据包对应的排序后的映射输出数据;以及对所述排序后的映射输出数据进行排序,得到数据处理结果。
基于同一构思,本申请还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述任意一项所述的方法。
基于同一构思,本申请还提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行如上所述任意一项所述的方法。
从上面所述可以看出,本申请提供的数据处理方法、装置、电子设备及存储介质,利用映射单元对待处理数据进行映射处理,得到映射输出数据;响应于映射输出数据达到预定数量,对映射输出数据进行排序,对排序后的映射输出数据进行封装,得到映射数据包;利用服务单元按照获取到映射数据包的顺序,生成包括预定数量的映射数据包的映射数据文件;利用归约单元获取映射数据文件,将映射数据文件划分成预定数量的映射数据包;对各映射数据包进行解析得到各映射数据包对应的排序后的映射输出数据;以及对排序后的映射输出数据进行排序,得到数据处理结果。本申请利用映射单元和归约单元的自身资源进行数据的排序,无需服务单元参与排序,在实现数据排序功能的同时,保证服务单元的性能和响应速度。
附图说明
为了更清楚地说明本申请或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一些实施例中的MapReduce的数据处理过程示意图;
图2为本申请实施例的应用场景示意图;
图3为本申请实施例的方法流程示意图;
图4为本申请实施例的映射数据包的数据格式示意图;
图5为本申请实施例的装置结构示意图;
图6为本申请实施例的电子设备结构示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本申请的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本申请,而并非以任何方式限制本申请的范围。相反,提供这些实施方式是为了使本申请更加透彻和完整,并且能够将本申请的范围完整地传达给本领域的技术人员。
根据本申请的实施方式,提出了一种数据处理方法、装置、电子设备及存储介质。
在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本申请的若干代表性实施方式,详细阐释本申请的原理和精神。
相关技术中,在MapReduce批式计算框架中,如果Map单元的数量为M,Reduce单元的数量为R,那么在shuffle阶段会产生M×R个读请求,大量的读请求严重影响系统性能。为降低读请求的数量,使用remote shuffle service将Map单元的输出数据进行聚合,然后由Reduce单元从remote shuffle service读取聚合后的数据,从而减少读请求数量。然而,使用remote shuffle service需要解决MapReduce的排序问题。一些技术中,利用remoteshuffle service对Map单元的输出数据进行排序,由Reduce单元直接读取排序后的数据,能够实现排序,但是将消耗remote shuffle service的大量计算资源,而且Reduce单元需要等待remote shuffle service排序完成之后,才能获取排序后的数据,降低remoteshuffle service的响应速度,降低处理性能。
为解决上述问题,本申请提供一种数据处理方法,通过将Map单元的输出数据进行排序并封装,将封装后的数据包发送至remote shuffle service,remote shuffleservice将各数据包规整为数据文件,Reduce单元从remote shuffle service获取数据文件,对数据文件中的数据包进行解析,基于解析后的数据进行排序,从而实现MapReduce的排序,且不会影响remote shuffle service的处理性能。
参考图2,其为本申请实施例提供的数据处理方法的应用场景示意图。该应用场景包括Map单元10(后续称映射单元)、remote shuffle service 20(后续称服务单元)和Reduce单元30(后续称归约单元)。映射单元用于对输入的原始数据按照预定的映射方法进行映射处理,得到键值对,将键相同的键值对保存于同一个缓存区中,当该缓存区存满键值对后,将该缓存区中的数据作为映射输出数据发送给服务单元。服务单元接收各映射单元的映射输出数据,将各映射单元的键相同的键值对规整为完整的映射数据文件。用于处理特定键的键值对的归约单元从服务单元获取相应的映射数据文件,按照预定的归约方法对获取的数据进行归约处理,从而实现大数据的批式计算处理。
下面结合图2的应用场景,来描述根据本申请示例性实施方式的数据处理方法。需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。相反,本申请的实施方式可以应用于适用的任何场景。
首先,如图3所示,本申请实施例提供了一种数据处理方法,包括:
S301:利用映射单元对待处理数据进行映射处理,得到映射输出数据;响应于映射输出数据达到预定数量,对映射输出数据进行排序,对排序后的映射输出数据进行封装,得到映射数据包;
本实施例中,映射单元按照预定的映射方法对待处理数据进行映射处理后生成键值对,将同一键的键值对保存于同一个缓存区中,当该缓存区中的数据量达到预定发送数量时,对缓存区中的数据作为映射输出数据,先进行排序然后封装成映射数据包,发送给服务单元。可选的,当缓存区中的数据已存满或者已存数据量达到缓存区可存储数据的一定比例时,进行排序并封装为映射数据包。通过在映射单元先进行部分数据递的排序,能够提高数据处理效率。
S302:利用服务单元按照获取到映射数据包的顺序,生成包括预定数量的映射数据包的映射数据文件;
本实施例中,服务单元接收各个映射单元的映射数据包,将键相同的键值对规整为完整的映射数据文件,生成包括预定数量的映射数据包的映射数据文件。服务单元无需对映射输出数据进行排序,不会影响服务单元的性能。
S303:利用归约单元获取映射数据文件,将映射数据文件划分成预定数量的映射数据包;对各映射数据包进行解析得到各映射数据包对应的排序后的映射输出数据;以及对排序后的映射输出数据进行排序,得到数据处理结果。
本实施例中,由归约单元从服务单元获取映射数据文件,将映射数据文件划分成预定数量的映射数据包,然后按照映射数据包的封装格式对每个映射数据包进行解析,得到映射数据包中经映射单元排序后的映射输出数据,之后,归约单元基于各映射数据包中的排序后的映射输出数据,进行排序,得到数据处理结果。
本实施例提供的数据处理方法,映射单元对待处理数据进行映射处理后,得到映射输出数据,当映射输出数据达到一定数量时,对映射输出数据进行排序然后封装成映射数据包发送给服务单元;服务单元按照接收到映射数据包的顺序将一定数量的映射数据包规整为映射数据文件;归约单元从服务单元获取映射数据文件,将映射数据文件划分成多个映射数据包,对各映射数据包进行解析,得到由映射单元排序后的映射输出数据,然后对解析出的映射输出数据进行排序,得到最终排序后的映射输出数据,基于最终排序后的映射输出数据按照一定的归约方法进行归约处理,得到所需的数据处理结果。其中,每个映射单元和归约单元均利用自身的计算资源进行排序,不会影响服务单元的性能和响应速度,服务单元也无需额外配置用于排序的相关资源,既实现了排序功能,又保证了系统性能。
一些实施例中,映射数据包包括用于标识映射单元的标识信息;对各映射数据包进行解析得到各映射数据包对应的排序后的映射输出数据,包括:
对各映射数据包进行解析,得到标识信息和排序后的映射输出数据;其中,排序后的映射输出数据是由标识信息对应的映射单元所生成的;
对排序后的映射输出数据进行排序之前,还包括:
根据标识信息,对排序后的映射输出数据进行去重处理,得到去重处理后的映射输出数据;
对排序后的映射输出数据进行排序,包括:
对去重处理后的映射输出数据进行排序。
本实施例中,映射单元封装的映射数据包包括标识信息和经映射单元排序后的映射输出数据,归约单元解析出标识信息和映射输出数据后,根据标识信息对接收的映射输出数据进行去重,删除重复数据,相同映射单元的同一键的键值对对应的映射输出数据仅保留一份,进行后续的排序处理,从而节省数据处理所需资源,提高数据处理效率和数据处理结果的准确性。
一些实施例中,标识信息包括映射单元标识、映射容错标识和数据包标识;
根据标识信息,对排序后的映射输出数据进行去重处理,得到去重处理后的映射输出数据,包括:
根据映射单元标识和映射容错标识,对排序后的映射输出数据进行去重处理,对于同一个映射单元标识对应多个映射容错标识的映射数据包,保留一个映射容错标识的映射数据包,得到第一次去重后的映射输出数据;
根据映射单元标识、映射容错标识和数据包标识,对第一次去重后的映射输出数据进行去重处理,对于同一映射单元标识、同一映射容错标识对应多个数据包标识的映射数据包,保留一个数据包标识的映射数据包,得到第二次去重后的映射输出数据。
本实施例中,映射单元封装的映射数据包中,所添加的标识信息包括映射单元标识、映射容错标识和数据包标识。其中,映射单元标识用于标识产生映射输出数据以及封装该映射输出数据的映射单元;映射容错标识用于标识该映射单元基于容错机制产生的映射输出数据及封装该映射输出数据的序号,MapReduce的容错机制例如是映射单元出现故障、进程崩溃或映射处理出现错误等原因导致任务出错,需要映射单元重新执行映射处理生成映射输出数据的处理方案,为保证系统可靠性,基于容错机制,同一映射单元可能出现一组或多组映射输出数据;数据包标识用于标识映射数据包的序号,基于容错机制以及网络传输等因素影响,映射单元可能存在多次封装数据包的情况,同样的映射输出数据每封装一次数据包标识序号加一。
归约单元解析得到标识信息,先根据映射单元标识和映射容错标识进行第一次去重处理,对于同一映射单元标识下具有多个映射容错标识的映射数据包,仅保留一个映射容错标识的映射数据包。之后,根据映射单元标识、映射容错标识和数据包标识进行第二次去重处理,对于同一映射单元标识、同一映射容错标识的映射数据包,仅保留一个数据包标识的映射数据包。通过去重处理,对于同一映射单元同一组映射输出数据,仅保留一组用于后续处理,删除因重复产生、重新传输等原因出现的重复数据,避免浪费多余的计算资源,提高数据处理效率。
一些实施例中,映射数据包括压缩长度和原始长度;对各映射数据包进行解析得到各映射数据包对应的排序后的映射输出数据,包括:
对各映射数据包进行解析,得到压缩长度和原始长度;
根据压缩长度,解析得到压缩后的映射输出数据;
对排序后的映射输出数据进行排序之前,还包括:
分配原始长度的存储空间;
对压缩后的映射输出数据进行解压缩,得到解压缩后的映射输出数据;
将解压缩后的映射输出数据存储于存储空间中;
对排序后的映射输出数据进行排序,包括:
对存储空间中的映射输出数据进行排序。
本实施例中,为提高数据传输效率和资源利用率,映射单元将映射输出数据进行压缩后,生成压缩后的映射输出数据,然后基于压缩后的映射输出数据封装映射数据包,映射数据包需要添加数据压缩长度和原始长度字段。其中,压缩长度用于标识压缩后的映射输出数据的长度,原始长度用于标识未经压缩的映射输出数据的长度。归约单元解析映射数据包,获得压缩长度和原始长度,先根据原始长度,分配相应的存储空间,然后根据压缩长度从映射数据包中提取压缩后的映射输出数据,对该部分映射输出数据进行解压缩,然后将解压缩后的映射输出数据保存于分配的存储空间中,后续直接对存储空间中的映射输出数据进行排序处理。
一些实施例中,对存储空间中的映射输出数据进行排序,包括:
响应于解析得到的压缩后的映射输出数据达到预定排序数量,或者解压缩后的映射输出数据在存储空间的占用量达到预定存储量,对映射输出数据进行排序。
本实施例中,归约单元从服务单元获取所需处理的映射数据文件,将映射数据文件划分成多个映射数据包,分别对各个映射数据包进行解析,获得各映射数据包对应的映射输出数据。由于归约单元自身资源的限制,如果等待全部映射数据包全部解析之后再排序,那么可能消耗过多的计算资源,同时需要分配过多的存储资源,为提高资源利用率,同时提高处理效率,归约单元可根据自身资源的具体情况,确定进行排序的时机。例如,当解析出的映射输出数据达到预定的排序数量,或者解压缩后的映射输出数据所占用的存储空间已经达到预定的存储量,即开始对存储空间中的映射输出数据进行排序处理。
一些方式中,归约单元对映射输出数据进行排序处理,可以是先分别对各个存储空间中的映射输出数据进行排序,当映射输出数据达到预定排序数量,或者分配的存储空间达到预定存储量时,对全部存储空间中的映射输出数据进行归并排序,从而完成映射输出数据的排序。在排序之后,可以释放相应的存储空间,便于为后续的映射输出数据提供存储资源。
图4示出映射单元封装映射输出数据的数据格式。一种实施方式中,封装的映射数据包包括数据头和数据部分,其中,数据头包括映射单元标识Mapper id、映射容错标识Mapper attempt id、数据包标识Packet id、压缩长度Compressed len、原始长度Raw len,数据部分Data为压缩后的映射输出数据。归约单元解析映射数据包,获得映射单元标识、映射容错标识、数据包标识、压缩长度和原始长度;先根据映射单元标识、映射容错标识和数据包标识对映射数据包进行去重处理,删除重复数据;去重处理之后,根据原始长度分配存储空间,根据压缩长度从映射数据包中提取数据部分,即压缩后的映射输出数据,对压缩后的映射输出数据进行解压缩,解压缩后的映射输出数据保存于存储空间中。之后,对存储空间中的映射输出数据进行排序,当占用的存储空间达到一定量或者已接收并解析出的映射输出数据达到一定量时,对全部存储空间中的映射输出数据进行整体排序,从而实现排序功能。
一些方式中,映射数据包的长度可以是固定长度,也可以是变长度。对于固定长度的映射数据包,映射单元按照固定长度封装映射数据包,归约单元按照固定长度从映射数据文件中划分出所有映射数据包。对于变长度的映射数据包,数据头的长度固定不变,数据部分可变,映射单元对映射输出数据进行压缩后确定压缩长度,归约单元解析映射数据包,根据压缩长度确定数据部分的长度,确定当前解析的映射数据包的长度,从而划分出当前解析的映射数据包。可选的,数据头部分的各个字段均设置为4字节,映射数据包的长度为数据头部分的20字节加上数据部分的长度。映射数据包的具体格式不做限定,还可根据功能及业务需要,添加新的功能字段,本实施例仅作示例性说明,不用于具体限定。
一些实施例中,映射单元对排序后的映射输出数据进行封装,得到映射数据包,包括:
对排序后的映射输出数据进行压缩处理,得到压缩后的映射输出数据;
基于压缩后的映射输出数据,添加数据头形成映射数据包;其中,数据头包括标识信息、映射输出数据的原始长度、压缩后的映射输出数据的压缩长度。
本实施例中,为提高数据传输效率,映射单元对同一个缓存区的映射输出数据先进行排序,然后将排序后的映射输出数据进行压缩处理,将压缩后的映射输出数据作为数据部分,基于数据部分添加数据头封装成映射数据包。其中,可添加的数据头可以包括标识信息、原始长度和压缩长度等。
一些实施例中,归约单元对排序后的映射输出数据进行排序,得到数据处理结果,包括:对排序后的映射输出数据进行归并排序,得到数据处理结果。即,归约单元解析出各映射数据包对应的排序后的映射输出数据后,对各映射数据包的排序后的映射输出数据进行归并排序,得到归并排序后的映射数据数据,作为最终排序后的数据。
本实施例提供一种数据处理方法,为保证服务单元的性能和响应速度,同时实现排序功能,映射单元将映射输出数据排序后封装成映射数据包发送给服务单元,服务单元接收映射数据包,但是不做任何排序处理,将同一键的键值对规整在同一个映射数据文件中;归约单元从服务单元获取映射数据文件,将映射数据文件划分成多个映射数据包,对各映射数据包进行解析获得排序后的映射输出数据,然后基于映射单元排序后的映射输出数据进行排序。通过映射单元和归约单元利用自身资源实现数据的排序,能够提高数据处理效率,无需服务单元参与排序,不会对服务单元造成影响。
需要说明的是,本申请实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本申请实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本申请的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种数据处理装置。
参考图5,所述数据处理装置,包括:
映射单元501,用于对待处理数据进行映射处理,得到映射输出数据;响应于映射输出数据达到预定数量,对映射输出数据进行排序,对排序后的映射输出数据进行封装,得到映射数据包;
服务单元502,用于按照获取到映射数据包的顺序,生成包括预定数量的映射数据包的映射数据文件;
归约单元503,用于获取映射数据文件;将映射数据文件划分成预定数量的映射数据包;对各映射数据包进行解析得到各映射数据包对应的排序后的映射输出数据;以及对排序后的映射输出数据进行排序,得到数据处理结果。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述任一实施例中相应的数据处理方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的数据处理方法。
图6示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述任一实施例中相应的数据处理方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的数据处理方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的数据处理方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
需要说明的是,除非另外定义,本申请实施例使用的技术术语或者科学术语应当为本申请所属领域内具有一般技能的人士所理解的通常意义。本申请实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。元素前的冠词“一”或“一个”不排除多个这种元素的存在。
虽然已经参考若干具体实施方式描述了本申请的精神和原理,但是应该理解,本申请并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本申请旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。所附权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
利用映射单元对待处理数据进行映射处理,得到映射输出数据;响应于所述映射输出数据达到预定数量,对所述映射输出数据进行排序,对排序后的映射输出数据进行封装,得到映射数据包;
利用服务单元按照获取到映射数据包的顺序,生成包括预定数量的映射数据包的映射数据文件;
利用归约单元获取所述映射数据文件,将所述映射数据文件划分成所述预定数量的映射数据包;对各映射数据包进行解析得到各映射数据包对应的排序后的映射输出数据;以及对所述排序后的映射输出数据进行排序,得到数据处理结果。
2.根据权利要求1所述的方法,其特征在于,所述映射数据包包括用于标识所述映射单元的标识信息;对各映射数据包进行解析得到各映射数据包对应的排序后的映射输出数据,包括:
对各映射数据包进行解析,得到所述标识信息和所述排序后的映射输出数据;其中,所述排序后的映射输出数据是由所述标识信息对应的映射单元所生成的;
对所述排序后的映射输出数据进行排序之前,还包括:
根据所述标识信息,对所述排序后的映射输出数据进行去重处理,得到去重处理后的映射输出数据;
对所述排序后的映射输出数据进行排序,包括:
对所述去重处理后的映射输出数据进行排序。
3.根据权利要求2所述的方法,其特征在于,所述标识信息包括映射单元标识、映射容错标识和数据包标识;
根据所述标识信息,对所述排序后的映射输出数据进行去重处理,得到去重处理后的映射输出数据,包括:
根据所述映射单元标识和所述映射容错标识,对所述排序后的映射输出数据进行去重处理,对于同一个映射单元标识对应多个映射容错标识的映射数据包,保留一个映射容错标识的映射数据包,得到第一次去重后的映射输出数据;
根据所述映射单元标识、映射容错标识和所述数据包标识,对所述第一次去重后的映射输出数据进行去重处理,对于同一映射单元标识、同一映射容错标识对应多个数据包标识的映射数据包,保留一个数据包标识的映射数据包,得到第二次去重后的映射输出数据。
4.根据权利要求1-3中任意一项所述的方法,其特征在于,所述映射数据包括压缩长度和原始长度;对各映射数据包进行解析得到各映射数据包对应的排序后的映射输出数据,包括:
对各映射数据包进行解析,得到所述压缩长度和原始长度;
根据所述压缩长度,解析得到压缩后的映射输出数据;
对所述排序后的映射输出数据进行排序之前,还包括:
分配所述原始长度的存储空间;
对所述压缩后的映射输出数据进行解压缩,得到解压缩后的映射输出数据;
将所述解压缩后的映射输出数据存储于所述存储空间中;
对所述排序后的映射输出数据进行排序,包括:
对所述存储空间中的映射输出数据进行排序。
5.根据权利要求4所述的方法,其特征在于,对所述存储空间中的映射输出数据进行排序,包括:
响应于解析得到的压缩后的映射输出数据达到预定排序数量,或者解压缩后的映射输出数据在所述存储空间的占用量达到预定存储量,对所述映射输出数据进行排序。
6.根据权利要求1所述的方法,其特征在于,对排序后的映射输出数据进行封装,得到映射数据包,包括:
对所述排序后的映射输出数据进行压缩处理,得到压缩后的映射输出数据;
基于所述压缩后的映射输出数据,添加数据头形成所述映射数据包;其中,所述数据头包括标识信息、所述映射输出数据的原始长度、压缩后的映射输出数据的压缩长度。
7.根据权利要求1所述的方法,其特征在于,对所述排序后的映射输出数据进行排序,得到数据处理结果,包括:
对所述排序后的映射输出数据进行归并排序,得到数据处理结果。
8.一种数据处理装置,其特征在于,包括:
映射单元,用于对待处理数据进行映射处理,得到映射输出数据;响应于所述映射输出数据达到预定数量,对所述映射输出数据进行排序,对排序后的映射输出数据进行封装,得到映射数据包;
服务单元,用于按照获取到映射数据包的顺序,生成包括预定数量的映射数据包的映射数据文件;
归约单元,用于获取所述映射数据文件;将所述映射数据文件划分成所述预定数量的映射数据包;对各映射数据包进行解析得到各映射数据包对应的排序后的映射输出数据;以及对所述排序后的映射输出数据进行排序,得到数据处理结果。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任意一项所述的方法。
10.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,其特征在于,所述计算机指令用于使计算机执行如权利要求1至7任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211242918.8A CN117909288A (zh) | 2022-10-11 | 2022-10-11 | 数据处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211242918.8A CN117909288A (zh) | 2022-10-11 | 2022-10-11 | 数据处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117909288A true CN117909288A (zh) | 2024-04-19 |
Family
ID=90693117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211242918.8A Pending CN117909288A (zh) | 2022-10-11 | 2022-10-11 | 数据处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117909288A (zh) |
-
2022
- 2022-10-11 CN CN202211242918.8A patent/CN117909288A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6521403B2 (ja) | サービスとしての効率的なデータ圧縮及び分析 | |
CN110069557B (zh) | 数据传输方法、装置、设备及存储介质 | |
CN110928905B (zh) | 一种数据处理方法和装置 | |
US11321090B2 (en) | Serializing and/or deserializing programs with serializable state | |
CN110888862A (zh) | 数据存储、查询方法、装置、服务器和存储介质 | |
CN110572422A (zh) | 数据下载方法和装置 | |
CN112099982B (zh) | 一种崩溃信息定位方法、装置、介质和电子设备 | |
CN107506284A (zh) | 日志处理方法及装置 | |
CN113873013B (zh) | 一种离线包重组方法及系统 | |
CN111552696A (zh) | 基于大数据的数据处理方法、装置、计算机设备和介质 | |
CN114218175A (zh) | 一种资源跨平台共享方法、装置、终端设备及存储介质 | |
CN112650710A (zh) | 数据迁移的发送方法及装置、存储介质、电子装置 | |
CN111381831B (zh) | 应用部署方法和服务器 | |
CN115643310B (zh) | 一种压缩数据的方法、装置和系统 | |
CN117909288A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
WO2023061180A1 (zh) | 基于多频率的数据发送和接收方法、装置和设备 | |
CN115225586B (zh) | 数据包发送方法、装置、设备及计算机可读存储介质 | |
CN111611307A (zh) | 报表导出方法及装置 | |
CN110889880A (zh) | 一种贴图处理方法、装置、设备及存储介质 | |
CN117692401A (zh) | 消息发送方法、装置、服务器及存储介质 | |
CN113852840B (zh) | 视频渲染方法、装置、电子设备以及存储介质 | |
CN112559404B (zh) | 一种数据调度装置、方法和加速处理芯片 | |
CN116561202A (zh) | 一种对象序列化处理的方法和装置 | |
CN114064429A (zh) | 审计日志的采集方法、装置、存储介质和服务器 | |
CN114661762A (zh) | 嵌入式数据库的查询方法、装置、存储介质及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |