本发明专利技术公开了一种数据包传输方法和装置。所述方法包括:确定具有相同目的地并且结构相同的多个常规数据包;确定所述多个常规数据包在汇总节点进行汇总运算的至少一个数据字段以及该数据字段的汇总运算类型;生成与所述多个常规数据包结构相同的先导数据包,在所述先导数据包中记载所确定的所述进行汇总运算的至少一个数据字段以及该数据字段的汇总运算类型;在发送所述多个常规数据包之前发送所述先导数据包。本发明专利技术实施例的装置与上述方法对应。利用本发明专利技术实施例的方法和装置,可以改善数据包传输的效率。
【技术实现步骤摘要】
数据包传输方法和装置
本专利技术是涉及数据传输,更具体而言,涉及一种改善了的数据包传输方法和装置。
技术介绍
当前,计算机网络越来越普及,并且计算机网络的规模仍在日益扩大。在当前的计算机网络中有数十万台服务器以及存储器。为了在这种计算机网络中执行大规模任务,诸如大数据集合的计算,已经提出了一种分布式的并行计算架构。在使用这种并行计算架构的计算系统中,通常包括一个主控节点、一个或多个计算节点和一个或多个汇总节点。主控节点将大规模数据计算任务划分为多个规模较小的子任务,确定用于执行任务的计算节点和汇总节点的个数及其位置等,并给每个子任务指定用于完成其的计算节点和汇总节点。计算节点接收并执行给其指定的子任务并将子任务执行完成通知给主控节点。计算节点根据主控节点的指示将中间数据发送给主控节点为其指定的汇总节点。汇总节点根据其从相应的计算节点接收到的中间结果进行适当的合并以获得针对本次任务的计算结果。计算节点和汇总节点都是逻辑节点,其可以位于同一或不同的物理网络节点上。这种并行计算架构的一个典型例子是GoogleTM公司于2004年发布的用于支持在计算机集群上对大数据集合进行分布式计算的软件架构MapReduce。在MapReduce架构中也包括一个Master(即,主控节点)、一个或多个充当计算节点的Mapper(即,映射节点)和一个或多个充当汇总节点的Reducer。基于MapReduce架构的应用程序在运行时包括从Mapper到Reducer交换中间结果的数据传输(shuffle)阶段。通常,一个Reducer要从多个Mapper取所需要的结果,一个Mapper的结果会被送给多个Reducer.。如果Mapper给每一个Reducer的结果比较大时,就会带来大量的网络传输。对于大规模的计算,可能会有上万个Mapper,每个Mapper的结果可能为GB的量级,这样就会有以T来计算的中间结果在网络上传输,会对网络造成巨大的压力。对于这种由于中间结果巨大,并且其传输在整体执行时间上占据了明显的比例的,可称之为传输关键(shufflecritical)的计算机系统。对于这些传输关键的应用而言,中间结果的传输成为性能的瓶颈,特别是在数据传输很集中的场景下,会严重的影响效率。由上可见,对于中间数据传输关键的应用来说,需要对其进行改进以提高数据传输的效率。
技术实现思路
根据本专利技术的一个方面,提供了一种用于计算节点的数据包发送方法,包括:确定具有相同目的地并且结构相同的多个常规数据包;确定所述多个常规数据包在汇总节点进行汇总运算的至少一个数据字段以及该数据字段的汇总运算类型;生成与所述多个常规数据包结构相同的先导数据包,在所述先导数据包中记载所确定的所述进行汇总运算的至少一个数据字段的位置信息以及该数据字段的汇总运算类型;在发送所述多个常规数据包之前发送所述先导数据包。根据本专利技术的另一个方面,提供了一种用于交换机的数据包处理方法,包括:接收数据包,根据所述数据包中的类型字段确定数据包的类型;响应于所述数据包是先导数据包,解析该先导数据包以确定出与该先导数据包相对应的多个常规数据包之间进行汇总运算的至少一个数据字段以及该数据字段的汇总运算类型;确定出与所述先导数据包相对应的多个常规数据包;根据所述解析结果将所述多个常规数据包中进行合并;发送合并后的数据包以替换所述多个常规数据包。根据本专利技术的第三个方面,提供了一种用于计算节点的数据包发送装置,包括:数据包确定单元,配置为确定具有相同目的地并且结构相同的多个常规数据包;汇总运算确定单元,配置为确定所述多个常规数据包在汇总节点进行汇总运算的至少一个数据字段以及该数据字段的汇总运算类型;先导数据包生成单元,配置为生成与所述多个常规数据包结构相同的先导数据包,在所述先导数据包中记载所确定的所述进行汇总运算的至少一个数据字段的位置信息以及该数据字段的汇总运算类型;数据包发送单元,配置为在发送所述多个常规数据包之前发送所述先导数据包。根据本专利技术的第四方面,提供了一种用于交换机的数据包处理装置,包括:数据包接收单元,配置为接收数据包,根据所述数据包中的类型字段确定数据包的类型;先导数据包解析单元,配置为响应于所述数据包是先导数据包,解析该先导数据包以确定出与该先导数据包相对应的多个常规数据包之间进行汇总运算的至少一个数据字段以及该数据字段的汇总运算类型;常规数据包确定单元,配置为确定出与所述先导数据包相对应的多个常规数据包;数据包合并单元,配置为根据所述解析结果将所述多个常规数据包中进行合并;发送单元,配置为发送合并后的数据包以替换所述多个常规数据包。利用本专利技术实施例的方法和装置,可以明显的改善了数据包传输的效率。附图说明通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。图1示出了适于用来实现本专利技术实施方式的示例性计算机系统/服务器12的框图;图2示出根据本专利技术一个实施例的发送数据包的方法的流程图;图3A示出先导数据包的示例;图3B示出常规数据包的示例;图4示出根据本专利技术一个实施例的用于交换机的数据包处理方法的流程图;图5示出步骤404的一个实施例;图6示出根据本专利技术实施例的用于计算节点数据包发送装置的框图;图7示出根据本专利技术实施例的用于交换机的数据包处理装置的框图。具体实施方式下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。所属
的技术人员知道,本专利技术可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本专利技术还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号本文档来自技高网...
【技术保护点】
一种用于计算节点的数据包发送方法,包括:确定具有相同目的地并且结构相同的多个常规数据包;确定所述多个常规数据包在汇总节点进行汇总运算的至少一个数据字段以及该数据字段的汇总运算类型;生成与所述多个常规数据包相对应的并且结构相同的先导数据包,在所述先导数据包中记载所确定的所述进行汇总运算的至少一个数据字段的位置信息以及该数据字段的汇总运算类型;在发送所述多个常规数据包之前发送所述先导数据包。
【技术特征摘要】
1.一种用于计算节点的数据包发送方法,包括:确定具有相同目的地并且结构相同的多个常规数据包;确定所述多个常规数据包在汇总节点进行汇总运算的至少一个数据字段以及该数据字段的汇总运算类型;生成与所述多个常规数据包相对应的并且结构相同的先导数据包,在所述先导数据包中记载所确定的所述进行汇总运算的至少一个数据字段的位置信息以及该数据字段的汇总运算类型;在发送所述多个常规数据包之前发送所述先导数据包,其中,所述先导数据包的数据部分包括:记载先导数据包标识信息的类型字段,与所述进行汇总运算的至少一个数据字段相对应的汇总运算类型字段,并通过所述汇总运算类型字段的位置表示所述进行汇总运算的至少一个数据字段的位置信息。2.根据权利要求1所述的方法,其中,所述相同目的地是具有相同的目的地址或相同的目的应用程序。3.根据权利要求1所述的方法,所述汇总运算类型包括以下运算之一:求和、求差、求积、计算最大值、计算最小值。4.一种用于交换机的数据包处理方法,包括:接收数据包,根据所述数据包中的类型字段确定数据包的类型;响应于所述数据包是先导数据包,解析该先导数据包以确定出与该先导数据包相对应的多个常规数据包之间进行汇总运算的至少一个数据字段以及该数据字段的汇总运算类型;确定出与所述先导数据包相对应的多个常规数据包;根据解析结果将所述多个常规数据包进行合并;发送合并后的数据包以替换所述多个常规数据包,还包括,根据设定的时间窗口确定出与所述先导数据包相对应的多个常规数据包。5.根据权利要求4所述的方法,还包括:响应于该数据包中的第一字段并未记载所述先导数据包标识位,确定该数据包为常规数据包。6.根据权利要求4所述的方法,还包括:所述先导数据包还包括记载合并数目字段;根据所述合并数目字段检验出丢包时,则重新发送所述多个常规数据包。7.一种用于计算节点的数据包发送装置,包括:数据包确定单元,配置为确定具有相同目的地并且结构相同的多个常规数据包;汇总运算确定单元,配置为确定所述多个常规数据包在...
【专利技术属性】
技术研发人员:李严,郑凯,李剑,陈冠诚,李欣,
申请(专利权)人:国际商业机器公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。