一种基于多处理器的数据传输方法和装置与流程

文档序号:15685647发布日期:2018-10-16 21:01阅读:156来源:国知局

本申请涉及数据处理技术领域,特别是涉及一种基于多处理器的数据传输方法,以及,一种基于多处理器的数据传输装置。



背景技术:

目前,计算机的数据处理系统中要求较高的数据传输速度,以实现高速的数据交换。尤其对于多处理器的数据处理系统,多个处理器之间经常需要进行大量的数据传输。

然而,申请人经研究发现,处理器之间进行数据传输时,仅会调用其中某单个接口进行数据传输,而将其他接口闲置,处理器之间通过单一的数据接收接口进行数据传输无法满足数据交互的需求。即,当前的数据传输方法存在着数据传输效率较低的问题。



技术实现要素:

本申请实施例针对所要解决的技术问题提供一种满足多处理器之间数据交互需求的数据传输方法。

为了解决上述问题,本申请提供了一种基于多处理器的数据传输方法,所述方法包括:

接收数据传输任务;所述数据传输任务携带当前接收数据的目标处理器标识;

根据目标处理器标识确定多个数据接收接口,并查找各数据接收接口的数据传输速率;

将待传输数据划分成数据量与各数据传输速率匹配的多个子数据,并将多个子数据分别发送至各数据接收接口,供所述目标处理器从各数据接收接口获取多个子数据。

可选地,所述将待传输数据划分成数据量与各数据传输速率匹配的多个子数据包括:

计算各数据接收接口的数据传输速率的速率总和;

计算各数据传输速率相对于所述速率总和的速率占比;

将各速率占比与所述待传输数据的数据量相乘得到各数据接收接口的待分配数据量;

将所述待传输数据划分成数据量符合各待分配数据量的多个子数据。

可选地,在所述将多个子数据分别发送至各数据接收接口之前,所述方法还包括:

在所述子数据添加待传输数据标识,供所述目标处理器获取到多个子数据后,按照所述待传输数据标识将多个子数据还原成所述待传输数据。

可选地,所述将多个子数据分别发送至各数据接收接口包括:

在本地调用与各数据接收接口匹配的若干数据发送接口;

采用各数据发送接口同时将多个子数据发送至各数据接收接口。

为了解决上述问题,本申请还提供了一种基于多处理器的数据传输方法,所述方法包括:

从各数据接收接口获取多个添加有待传输数据标识的子数据;所述子数据为数据发送处理器在接收携带有当前接收数据的目标处理器标识的数据传输任务后,查找根据目标处理器标识确定的多个数据接收接口的数据传输速率,并将待传输数据划分成数据量与各数据传输速率匹配的、发送至各数据接收接口的数据;

按照所述待传输数据标识将多个子数据还原成所述待传输数据。

为了解决上述问题,本申请还提供了一种基于多处理器的数据传输装置,所述装置包括:

任务接收模块,用于接收数据传输任务;所述数据传输任务携带当前接收数据的目标处理器标识;

接口确定模块,用于根据目标处理器标识确定多个数据接收接口,并查找各数据接收接口的数据传输速率;

数据划分模块,用于将待传输数据划分成数据量与各数据传输速率匹配的多个子数据,并将多个子数据分别发送至各数据接收接口,供所述目标处理器从各数据接收接口获取多个子数据。

可选地,所述数据划分模块包括:

速率总和计算子模块,用于计算各数据接收接口的数据传输速率的速率总和;

速率占比子模块,用于计算各数据传输速率相对于所述速率总和的速率占比;

待分配数据量计算子模块,用于将各速率占比与所述待传输数据的数据量相乘得到各数据接收接口的待分配数据量;

数据划分子模块,用于将所述待传输数据划分成数据量符合各待分配数据量的多个子数据。

可选地,所述装置还包括:

标识添加模块,用于在所述子数据添加待传输数据标识,供所述目标处理器获取到多个子数据后,按照所述待传输数据标识将多个子数据还原成所述待传输数据。

可选地,所述数据划分模块包括:

接口调用模块,用于在本地调用与各数据接收接口匹配的若干数据发送接口;

数据发送子模块,用于采用各数据发送接口同时将多个子数据发送至各数据接收接口。

为了解决上述问题,本申请还提供了一种基于多处理器的数据传输装置,所述装置包括:

子数据获取模块,用于从各数据接收接口获取多个添加有待传输数据标识的子数据;所述子数据为数据发送处理器在接收携带有当前接收数据的目标处理器标识的数据传输任务后,查找根据目标处理器标识确定的多个数据接收接口的数据传输速率,并将待传输数据划分成数据量与各数据传输速率匹配的、发送至各数据接收接口的数据;

数据还原模块,用于按照所述待传输数据标识将多个子数据还原成所述待传输数据。

与现有技术相比,本申请实施例包括以下优点:

根据本申请实施例,在多处理器的数据处理系统中,采用多接口传输的方式实现大量数据的并行传输,提升了处理器之间的数据传输效率。

而且,对于处理器之间的数据的传输,根据接口的数据传输速率确定加权方式,并根据加权方式确定分配至各个接口的子数据的数据量,从而最大程度地利用接口的处理资源,进一步地提升了处理器之间的数据传输效率。

附图说明

图1是本申请实施例一的一种基于多处理器的数据传输方法的步骤流程图;

图2是本申请实施例二的一种基于多处理器的数据传输方法的步骤流程图;

图3是本申请实施例三的一种基于多处理器的数据传输装置的结构框图;

图4是本申请实施例三的一种基于多处理器的数据传输装置的结构框图;

图5是本申请一种数据处理系统的结构示意图。

具体实施方式

为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。

实施例一

图1示出了本申请实施例一的一种基于多处理器的数据传输方法的步骤流程图,所述方法可以具体包括如下步骤:

步骤101,接收数据传输任务;所述数据传输任务携带当前接收数据的目标处理器标识。

需要说明的是,在实际的应用场景中,在一个数据处理系统中可能存在有多个处理器(cpu,centralprocessingunit),即多核心系统。处理器主要的功能是解释计算机指令以及处理计算机软件中的数据。

处理器可以根据数据传输任务向其他处理器发送相应的数据至另外的处理器。因此,可以将需要发送数据的处理器作为数据发送处理器,而接受数据的处理器作为数据接收处理器。本申请实施例的数据传输方法可以应用于数据发送处理器。

实际应用中,可能存在一个或多个数据发送处理器向一个或多个数据接收处理器发送数据的情况,本领域技术人员可以将本申请的技术思路应用于多种情况的数据传输中。

具体实现中,数据发送处理器可以接收到数据传输任务。其中,数据传输任务可以携带有当前接收数据的数据接收处理器的标识,可以将该数据接收处理器作为目标处理器。

步骤102,根据目标处理器标识确定多个数据接收接口,并查找各数据接收接口的数据传输速率。

需要说明的是,在数据处理系统中,出于兼容性的考虑,会设计有各种各样适配于处理器与外设进行数据传输的外围接口。图5示出了本申请一种数据处理系统的结构示意图。从图中可见,在一个数据处理系统中存在有cpu1和cpu2,cpu1和cpu2之间设置有sataiii、usb3.0、千兆网等用于与外设进行数据交互的接口。因此,在本申请实施例中,可以调用外围接口实现大量数据的并行传输。

具体实现中,可以根据目标处理器确定当前需要调用的多个数据接收接口。在确定数据接收接口后,可以查找各个接口的数据传输速率。

实际应用中,不同的数据接收接口采用的数据传输总线的数据传输速率可能不同,例如,sataiii传输速率为6.0gb/s,usb3.0传输速率为5.0gb/s,千兆网口传输速率为1.0gb/s。

步骤103,将待传输数据划分成数据量与各数据传输速率匹配的多个子数据,并将多个子数据分别发送至各数据接收接口,供所述目标处理器从各数据接收接口获取多个子数据。

具体实现中,可以将数据发送处理器将要发送至目标处理器的数据作为待传输数据。针对待传输数据,可以将其划分为多个数据量与各数据传输速率相匹配的子数据。通常,可以按照当前的接口的数量确定划分的数量,例如当前有三个数据接收接口,因此可以划分成三份子数据。

在将待传输数据划分成子数据后,可以将各子数据采用对应的数据接收接口与目标处理器进行数据交互。

可选地,所述将待传输数据划分成数据量与各数据传输速率匹配的多个子数据包括:

子步骤s11,计算各数据接收接口的数据传输速率的速率总和;

子步骤s12,计算各数据传输速率相对于所述速率总和的速率占比;

子步骤s13,将各速率占比与所述待传输数据的数据量相乘得到各数据接收接口的待分配数据量;

子步骤s14,将所述待传输数据划分成数据量符合各待分配数据量的多个子数据。

具体实现中,可以计算各个数据接收接口的数据传输速率的速率总和。例如,sataiii传输速率为6.0gb/s,usb3.0传输速率为5.0gb/s,千兆网口传输速率为1.0gb/s,三个接口的数据传输速率的速率总和为12gb/s。

可以计算各速率相对于速率总和的占比。例如,sataiii的占比为1/2,usb3.0的占比为5/12,千兆网口的占比为1/12。

将各速率占比与待传输数据的数据量相乘,即可得到分配至各数据接收接口的子数据的待分配数据量。例如,待传输数据的数据量为120gb,因此,通过sataiii发送的子数据的待分配数据量为60gb,通过usb3.0发送的子数据的待分配数据量为50gb,通过千兆网口发送的子数据的待分配数据量为10gb。

确定各个子数据的待分配数据量后,可以将待传输数据划分成符合上述待分配数据量的多个子数据。

可选地,在所述将多个子数据分别发送至各数据接收接口之前,所述方法还包括:

在所述子数据添加待传输数据标识,供所述目标处理器获取到多个子数据后,按照所述待传输数据标识将多个子数据还原成所述待传输数据。

具体实现中,可以在子数据添加待传输数据标识,在将子数据发送至目标处理器后,目标处理器可以根据待传输数据标识将多个子数据还原成待传输数据。例如,可以按照顺序对多个子数据进行编号,目标处理器在接收到多个子数据后,可以按照编号的顺序将子数据合并成待传输数据。

可选地,所述将多个子数据分别发送至各数据接收接口包括:

子步骤s21,在本地调用与各数据接收接口匹配的若干数据发送接口;

子步骤s22,采用各数据发送接口同时将多个子数据发送至各数据接收接口。

具体实现中,可以在数据发送处理器本地调用与数据接收接口匹配的数据发送接口,采用调用的数据发送接口同时将多个子数据发送至对应的数据接收接口。例如,采用数据发送处理器本地的sataiii接口向数据接收处理器的sataiii接口发送数据。

根据本申请实施例,在多处理器的数据处理系统中,采用多接口传输的方式实现大量数据的并行传输,提升了处理器之间的数据传输效率。

而且,对于处理器之间的数据的传输,根据接口的数据传输速率确定加权方式,并根据加权方式确定分配至各个接口的子数据的数据量,从而最大程度地利用接口的处理资源,进一步地提升了处理器之间的数据传输效率。

实施例二

图2示出了本申请实施例二的一种基于多处理器的数据传输方法的步骤流程图,所述方法可以具体包括如下步骤:

步骤201,从各数据接收接口获取多个添加有待传输数据标识的子数据;所述子数据为数据发送处理器在接收携带有当前接收数据的目标处理器标识的数据传输任务后,查找根据目标处理器标识确定的多个数据接收接口的数据传输速率,并将待传输数据划分成数据量与各数据传输速率匹配的、发送至各数据接收接口的数据。

步骤202,按照所述待传输数据标识将多个子数据还原成所述待传输数据。

需要说明的是,本申请实施例提供的数据传输方法可以应用于接收数据的数据接收处理器。由于本申请实施例的数据传输方法对应于本申请实施例一的数据传输方法,因此不再赘述。

根据本申请实施例,在多处理器的数据处理系统中,采用多接口传输的方式实现大量数据的并行传输,提升了处理器之间的数据传输效率。

而且,对于处理器之间的数据的传输,根据接口的数据传输速率确定加权方式,并根据加权方式确定分配至各个接口的子数据的数据量,从而最大程度地利用接口的处理资源,进一步地提升了处理器之间的数据传输效率。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。

实施例三

与实施例一对应,本申请实施例三还提供了一种基于多处理器的数据传输装置,该装置可以具体应用于数据发送处理器。图3示出了本申请实施例三的一种基于多处理器的数据传输装置的结构框图,所述装置具体可以包括如下模块:

任务接收模块301,用于接收数据传输任务;所述数据传输任务携带当前接收数据的目标处理器标识。

接口确定模块302,用于根据目标处理器标识确定多个数据接收接口,并查找各数据接收接口的数据传输速率。

数据划分模块303,用于将待传输数据划分成数据量与各数据传输速率匹配的多个子数据,并将多个子数据分别发送至各数据接收接口,供所述目标处理器从各数据接收接口获取多个子数据。

可选地,所述数据划分模块303包括:

速率总和计算子模块,用于计算各数据接收接口的数据传输速率的速率总和;

速率占比子模块,用于计算各数据传输速率相对于所述速率总和的速率占比;

待分配数据量计算子模块,用于将各速率占比与所述待传输数据的数据量相乘得到各数据接收接口的待分配数据量;

数据划分子模块,用于将所述待传输数据划分成数据量符合各待分配数据量的多个子数据。

可选地,所述装置还包括:

标识添加模块,用于在所述子数据添加待传输数据标识,供所述目标处理器获取到多个子数据后,按照所述待传输数据标识将多个子数据还原成所述待传输数据。

可选地,所述数据划分模块303包括:

接口调用模块,用于在本地调用与各数据接收接口匹配的若干数据发送接口;

数据发送子模块,用于采用各数据发送接口同时将多个子数据发送至各数据接收接口。

根据本申请实施例,在多处理器的数据处理系统中,采用多接口传输的方式实现大量数据的并行传输,提升了处理器之间的数据传输效率。

而且,对于处理器之间的数据的传输,根据接口的数据传输速率确定加权方式,并根据加权方式确定分配至各个接口的子数据的数据量,从而最大程度地利用接口的处理资源,进一步地提升了处理器之间的数据传输效率。

实施例四

与实施例二对应,本申请实施例四还提供了一种基于多处理器的数据传输装置,该装置可以具体应用于数据接收处理器。图4示出了本申请实施例三的一种基于多处理器的数据传输装置的结构框图,所述装置具体可以包括如下模块:

子数据获取模块401,用于从各数据接收接口获取多个添加有待传输数据标识的子数据;所述子数据为数据发送处理器在接收携带有当前接收数据的目标处理器标识的数据传输任务后,查找根据目标处理器标识确定的多个数据接收接口的数据传输速率,并将待传输数据划分成数据量与各数据传输速率匹配的、发送至各数据接收接口的数据。

数据还原模块402,用于按照所述待传输数据标识将多个子数据还原成所述待传输数据。

根据本申请实施例,在多处理器的数据处理系统中,采用多接口传输的方式实现大量数据的并行传输,提升了处理器之间的数据传输效率。

而且,对于处理器之间的数据的传输,根据接口的数据传输速率确定加权方式,并根据加权方式确定分配至各个接口的子数据的数据量,从而最大程度地利用接口的处理资源,进一步地提升了处理器之间的数据传输效率。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

在一个典型的配置中,所述计算机系统包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储系统或任何其他非传输介质,可用于存储可以被计算系统访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitorymedia),如调制的数据信号和载波。

本申请实施例是参照根据本申请实施例的方法、终端系统(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端系统的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端系统的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端系统以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端系统上,使得在计算机或其他可编程终端系统上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端系统上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端系统中还存在另外的相同要素。

以上对本申请所提供的技术方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1