CN102118434A - 数据包传输方法和设备 - Google Patents

数据包传输方法和设备 Download PDF

Info

Publication number
CN102118434A
CN102118434A CN2010106231251A CN201010623125A CN102118434A CN 102118434 A CN102118434 A CN 102118434A CN 2010106231251 A CN2010106231251 A CN 2010106231251A CN 201010623125 A CN201010623125 A CN 201010623125A CN 102118434 A CN102118434 A CN 102118434A
Authority
CN
China
Prior art keywords
packet
receiving device
data
ending equipment
sending ending
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
Application number
CN2010106231251A
Other languages
English (en)
Inventor
张�浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN2010106231251A priority Critical patent/CN102118434A/zh
Publication of CN102118434A publication Critical patent/CN102118434A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明实施例提供一种数据包传输方法和设备,所述数据包传输方法包括:接收发送端设备通过所述发送端设备与接收端设备之间的至少两条路径发送的相同的数据包;对所述相同的数据包中的任意一个数据包进行处理。本发明实施例可以实现通过至少两条路径收发数据,提高存储可靠性;并且,本发明实施例中,发送端设备不需要等待接收端设备的确认,从而可以降低网络时延。

Description

数据包传输方法和设备
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种数据包传输方法和设备。
背景技术
现在的网络存储协议,例如:因特网小型计算机接口(Internet Small Computer System Interface;以下简称:iSCSI)、网络文件系统(Network File System;以下简称:NFS)、公共因特网文件系统(Common Internet File System;以下简称:CIFS)等,都是基于传输控制协议(Transmission Control Protocol;以下简称:TCP)/因特网协议(Internet Protocol;以下简称:IP)的。因为网络存储需要保证数据确实可靠地传输到了远端存储设备,所以必须采用具有可靠传输机制的TCP/IP。
其中,iSCSI是基于IP的小型计算机接口(Small Computer System Interface;以下简称:SCSI)接口,对本地来说,相当于远端有一个SCSI接口的硬盘,是一个块设备。通常,块设备对延迟的要求很高,即对一个输入输出(Input Output;以下简称:IO)的完成时间有比较严格的限制。
同时,由于文件系统是建立在块设备之上的,文件系统要求每个块设备必须等前一个IO完成之后,才能执行下一个IO,因此文件系统要求IO路径必须采用可靠的传输机制。
采用TCP/IP传输数据包时,每个数据包都要等确认的响应,因此延迟较大。且对于最大传输单元(Maximum Transmission Unit;以下简称:MTU)较小的网络,一个大数据包需要拆分成若干个小数据包,以MTU=1500字节的以太网为例,一个64KB字节的数据包至少会被拆分成64K/1.5K=43个数据包,其中任意一个数据包的丢失都会导致全部数据包的重传,传输效率较低。并且目的端经过网络协议栈的处理后,还要等待所有拆分的包收齐后,才能回复确认的响应,从而导致时延增加。
在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:
对于普通的应用,TCP/IP的处理机制没有问题。但由于对网络质量的要求非常高的场景下(例如,iSCSI),并且还要求低丢包率和低网络时延,这时采用TCP/IP传输数据包无法满足上述要求。另外,虽然iSCSI目前的使用场景一般还是在局域网内,网络时延和丢包率有一定的保证,但对于高性能的iSCSI来说,仍然需要昂贵的交换机支持,成本较高。
发明内容
本发明实施例提供一种数据包传输方法和设备,以实现通过至少两条路径收发数据,提高存储可靠性。
本发明实施例提供一种数据包传输方法,包括:
接收发送端设备通过所述发送端设备与接收端设备之间的至少两条路径发送的相同的数据包;
对所述相同的数据包中的任意一个数据包进行处理。
本发明实施例提供一种接收端设备,包括:
接收模块,用于接收发送端设备通过所述发送端设备与所述接收端设备之间的至少两条路径发送的相同的数据包;
处理模块,用于对所述相同的数据包中的任意一个数据包进行处理。
通过本发明实施例,接收端设备接收发送端设备通过该发送端设备与该接收端设备之间的至少两条路径发送的相同的数据包,然后对上述相同的数据包中的任意一个数据包进行处理;从而可以实现通过至少两条路径收发数据,提高存储可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明数据包传输方法一个实施例的流程图;
图2为本发明应用场景一个实施例的示意图;
图3为本发明发送端设备向接收端设备发送数据包一个实施例的示意图;
图4为本发明发送端设备与接收端设备之间数据包交互一个实施例的示意图;
图5为本发明接收端设备一个实施例的结构示意图;
图6为本发明接收端设备另一个实施例的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明数据包传输方法一个实施例的流程图,如图1所示,该数据包传输方法可以包括:
步骤101,接收发送端设备通过该发送端设备与接收端设备之间的至少两条路径发送的相同的数据包。
本实施例中,发送端设备将需要向接收端设备发送的数据包通过该发送端设备与接收端设备之间的至少两条路径,向接收端设备发送。
步骤102,对上述相同的数据包中的任意一个数据包进行处理。
进一步地,发送端设备和上述数据包的接收端设备分别包括至少两个网络接口卡,发送端设备和接收端设备通过各自的所述至少两个网络接口卡组成的至少两条路径收发数据包。
接收到发送端设备通过上述至少两条路径发送的相同的数据包之后,接收端设备可以按照预定的规则,从相同的数据包中选择一个数据包进行处理。本实施例中,该预定的规则可以为先到先处理的规则或其他规则,例如:按照上述至少两条路径的传输质量,选择传输质量最优的路径上传输的数据包等;本发明实施例对该预定的规则不作限定,只要可以从相同的数据包中选择一个数据包进行处理即可。
但本实施例以该预定的规则为先到先处理的规则为例进行说明。这样,接收端设备可以按照先到先处理的规则,从接收到的相同的数据包中选择最先接收到的数据包进行处理。当最先接收到的数据包不唯一时,任选一个最先接收到的数据包进行处理。
本实施例中,上述数据包可以携带标识,该标识可以标示数据包的发送顺序;其中,相同的数据包携带相同的标识,不同的数据包携带不同的标识。这样就可以通过数据包的标识判断数据包是否丢包;具体地,当接收到的数据包的标识连续时,可以确定没有发生丢包;或者,当接收到的数据包的标识不连续时,可以确定发生了丢包。
本实施例中,数据包的标识可以为数字、字母或字符串等可以标示数据包的发送顺序的标识,本发明实施例对数据包的标识的具体形式不作限定。
另外,由于相同的数据包具有相同的标识,因此接收端设备可以按照先到先处理的规则,从具有相同标识的数据包中选择最先接收到的数据包进行处理。
本实施例的一种实现方式中,上述数据包可以为读请求数据包,这时,接收端设备可以根据该读请求数据包携带的读数据请求,从本地存储系统中读取数据之后,通过该发送端设备与该接收端设备之间的至少两条路径将读取的数据发送给发送端设备。
本实施例中,接收端设备接收到发送端设备发送的读请求数据包之后,将读取的数据也从至少两条路径上发送给发送端设备,这样接收到接收端设备发送的数据之后,发送端设备就可以确认接收端设备接收到读请求数据包,并成功完成了读数据操作,因此,本实施例中,接收端设备在接收到发送端设备发送的读请求数据包之后,不需要向发送端设备发送对读请求数据包的确认,这时发送端设备也不需要等待接收端设备的确认,从而降低了网络时延。
本实施例的另一种实现方式中,上述数据包可以为写请求数据包,这时,接收端设备可以根据上述写请求数据包携带的写数据请求,将该写请求数据包中的待写入数据写入到本地存储系统中。在将写请求数据包中的待写入数据写入到本地存储系统中之后,接收端设备可以通过发送端设备与接收端设备之间的至少两条路径向发送端设备发送心跳包,该心跳包包括对写请求数据包的确认;或者,接收端设备可以在后续接收到发送端设备发送的读请求数据包之后,通过发送端设备与接收端设备之间的至少两条路径将读取的数据发送给发送端设备,并在发送的数据中携带对写请求数据包的确认。也就是说,本实施例中,接收到发送端设备发送的写请求数据包之后,接收端设备在完成将待写入数据写入到本地存储系统中的操作之后,可以在心跳包或后续需要向发送端设备发送的数据中携带对写请求数据包的确认,而不需单独向发送端设备返回对写请求数据包的确认,这时发送端设备也不需要等待接收端设备的确认,从而降低了网络时延。
上述实施例中,接收端设备接收发送端设备通过该发送端设备与该接收端设备之间的至少两条路径发送的相同的数据包,然后对上述相同的数据包中的任意一个数据包进行处理;并且接收端设备也会通过该发送端设备与该接收端设备之间的至少两条路径向发送端设备发送读取的数据或心跳包,从而可以实现通过至少两条路径收发数据,提高存储可靠性;另外,本实施例中,发送端设备不需要等待接收端设备的确认,从而可以降低网络时延。
下面通过一个具体事例对本发明实施例的实施过程进行介绍。
图2为本发明应用场景一个实施例的示意图,本实施例以发送端设备和接收端设备均包括两个网络接口卡(Network Interface Card;以下简称:NIC)为例进行说明。
如图2所示,本实施例中,发送端设备可以包括驱动程序(driver)1、NIC1和NIC2;接收端设备可以包括driver2、NIC3和NIC4。
本发明实施例中,发送端设备在向接收端设备发送数据包时,会将相同的数据包分别通过NIC1-NIC3和NIC2-NIC4这两条路径发送给接收端设备,发送端设备发送上述数据包时可以采用用户数据报协议(User Datagram Protocol;以下简称:UDP)等传输协议。接收端设备接收到发送端设备通过两条路径发送的相同的数据包之后,对该相同的数据包中的一个数据包进行处理即可,可以丢弃另外一个数据包,也可以缓存但不处理另外一个数据包,还可以对另外一个数据包不进行任何操作,本发明实施例对另外一个数据包的处理方式不作限定;但本发明以下实施例的描述中,以丢弃另外一个数据包为例进行说明。
通过双路径传输,在丢包率不是太大的局域网内,基本可以认为不会发生丢包,因此也就不需要对每条消息都发送确认的消息包,也就不存在偶然丢包导致的重传和确认时延。
图3为本发明发送端设备向接收端设备发送数据包一个实施例的示意图,如图3所示,发送端设备将相同的数据包,例如:“数据包1”在路径1和路径2上发送到接收端设备。接收端设备接收到两个“数据包1”之后,只需要对这两个“数据包1”中的一个进行处理即可。具体地,接收端设备可以按照预定的规则,从这两个“数据包1”中选择一个数据包进行处理。本实施例中,该预定的规则可以为先到先处理的规则或其他规则,例如:按照上述至少两条路径的传输质量,选择传输质量最优的路径上传输的数据包等;本发明实施例对该预定的规则不作限定,只要可以从相同的数据包中选择一个数据包进行处理即可。
但本实施例以该预定的规则为先到先处理的规则为例进行说明。这样,接收端设备可以按照先到先处理的规则,从接收到的两个“数据包1”中选择最先接收到的数据包进行处理。当接收端设备同时接收到这两个“数据包1”时,该接收端设备从这两个“数据包1”中任选一个进行处理即可,可以丢弃这两个“数据包1”中未被选择的数据包。另外,接收端设备也不需要向发送端设备发送对“数据包1”的确认,因此发送方也不需要等待接收端设备的确认。
假定丢包率是0.1%,网络时延是1毫秒。则在现有的TCP传输方式下,在千兆以太网(Gigabit Ethernet;以下简称:GE)上传输64KB字节的存储数据包时,平均时延为:(64K×8/1000M(传输时延)+1毫秒(命令发送)+1毫秒(确认时延))×99.9%+((64K×8/1000M(传输时延)+1毫秒+1毫秒(确认时延))×2)×(64K/1.5K)×0.1%=2.72毫秒;
而采用本发明实施例提供的方法后,平均时延为:(64K×8/1000M(传输时延)+1毫秒(命令发送))×99.9%+((64K×8/1000M(传输时延)+1毫秒(命令发送)+1毫秒(确认时延))×2)×(64K/1.5K)×(0.1%×0.1%)=1.51毫秒;
可见,本发明实施例提供的数据包处理方法不仅可以提高存储可靠性,还可以降低网络时延。
下面结合图4对本发明实施例发送端设备与接收端设备之间交互数据包的过程进行介绍,图4为本发明发送端设备与接收端设备之间数据包交互一个实施例的示意图。
(1)对于读请求数据包:发送端设备的drvier1发送读请求数据包给MC1和NIC2,然后两个相同的读请求数据包通过两条物理路径分别到达NIC3和NIC4,参考图3这两条物理路径分别为路径1(NIC1-NIC3)和路径2(NIC2-NIC4)。
本实施例中,上述读请求数据包可以携带标识,该标识可以标示读请求数据包的发送顺序;其中,相同的读请求数据包携带相同的标识,不同的读请求数据包携带不同的标识。本实施例中,该读请求数据包的标识可以为数字、字母或字符串等可以标示读请求数据包的发送顺序的标识,本发明实施例对读请求数据包的标识的具体形式不作限定,但本实施例以读请求数据包的标识为数字为例进行说明。
接收端设备的NIC3和NIC4接收到读请求数据包之后,分别将接收到的读请求数据包发送给接收端设备的driver2。driver2根据接收到的读请求数据包的标识,对该读请求数据包进行处理。本实施例中,接收端设备的driver2可以通过读请求数据包的标识判断读请求数据包是否发生丢包;具体地,当接收端设备接收到的读请求数据包的标识连续时,可以确定没有发生丢包;或者,当接收端设备接收到的读请求数据包的标识不连续时,可以确定发生了丢包。举例来说,假设driver2上次接收到的读请求数据包的标识是100,本次接收到的读请求数据包的标识是101,则driver2可以立即处理该标识为101的读请求数据包。而如果driver2接收到的读请求数据包的标识为102,则driver2还需要等待标识为101的读请求数据包到达。由于读请求数据包通过双路径传输,因此标识为101的读请求数据包也会很快到达。如果先后收到两个标识为101的读请求数据包,则仅对第一个接收到的标识为101的读请求数据包处理即可,可以丢弃第二个接收到的标识为101的读请求数据包。另外,假设路径1发生故障,driver2仅接收到从路径2传输的一个标识为101的读请求数据包,则driver2仍可以对接收到的这一个标识为101的读请求数据包进行处理。
本实施例中,driver2对接收到的读请求数据包的处理具体可以为:根据读请求数据包携带的读数据请求,从本地存储系统中读取数据之后,将读取的数据分别发送给NIC3和NIC4,然后读取的数据通过路径1和路径2分别到达NIC3和NIC4,再由NIC3和NIC4将读取的数据发送给driver1。同理,driver1接收到两份数据之后,可以仅对最先接收到的数据进行处理,丢弃后接收到的数据。
本实施例中,接收到接收端设备发送的数据之后,发送端设备就可以确认接收端设备接收到读请求数据包,并成功完成了读数据操作,因此,本实施例中,接收端设备在接收到发送端设备发送的读请求数据包之后,不需要向发送端设备发送对读请求数据包的确认,这时发送端设备也不需要等待接收端设备的确认,从而降低了网络时延。
(2)对于写请求数据包:发送端设备的driver1发送写请求数据包给NIC1和NIC2,然后两个相同的写请求数据包通过路径1和路径2分别到达NIC3和NIC4。同样,上述写请求数据包可以携带标识,该标识可以标示写请求数据包的发送顺序;其中,相同的写请求数据包携带相同的标识,不同的写请求数据包携带不同的标识。本实施例中,该写请求数据包的标识可以为数字、字母或字符串等可以标示写请求数据包的发送顺序的标识,本发明实施例对写请求数据包的标识的具体形式不作限定,但本实施例以写请求数据包的标识为数字为例进行说明。
接收端设备的NIC3和NIC4接收到写请求数据包之后,分别将接收到的写请求数据包发送给接收端设备的driver2。driver2根据接收到的写请求数据包的标识,对该写请求数据包进行处理。本实施例中,接收端设备的driver2可以通过写请求数据包的标识判断写请求数据包是否发生丢包,具体实现方式与通过读请求数据包的标识判断读请求数据包是否发生丢包的实现方式相同,在此不再赘述。
本实施例中,如果driver2先后接收到两个相同标识的写请求数据包,则仅对这两个相同标识的写请求数据包中第一个接收到的写请求数据包处理即可,可以丢弃这两个相同标识的写请求数据包中第二个接收到的写请求数据包。另外,假设路径1发生故障,driver2仍可以对从路径2接收到的写请求数据包进行处理。
本实施例中,driver2对接收到的写请求数据包的处理具体可以为:接收端设备的driver2可以根据上述写请求数据包携带的写数据请求,将该写请求数据包中的待写入数据写入到本地存储系统中。
在将写请求数据包中的待写入数据写入到本地存储系统中之后,接收端设备可以通过路径1和路径2向发送端设备发送心跳包,该心跳包包括对写请求数据包的确认;具体地,发送端设备和接收端设备可以每10毫秒发送一次心跳包,并在心跳包中携带对写请求数据包的确认。举例来说,假设发送端设备发送了标识为103、104和105的3个写请求数据包,在处理完标识为103、104和105的写请求数据包之后,接收端设备可在心跳包中携带对标识为103、104和105的写请求数据包的确认。
另外,接收端设备也可在正常的数据包中携带对写请求数据包的确认。仍以上述情形为例,假设发送端设备发送了标识为106、107和108的3个写请求数据包,同时又发送了标识为109的读请求数据包,则接收端设备可以在根据标识为109的读请求数据包中的读数据请求,在本次存储系统中读取数据之后,在向发送端设备发送的读取的数据中携带对标识为106、107和108的写请求数据包的确认。
本发明实施例提供的数据包处理方法大大降低了IO操作的时延,提高了每秒进行IO的次数。通过本发明实施例中的举例来看,对于64KB的数据包,在不考虑存储本身操作时延的情况下,IO性能提升了(2.72-1.51)/2.72=44%;在考虑存储本身操作时延的情况下(读、写操作的时延大约在10毫秒左右),IO性能提升了(2.72-1.51)/(10+2.72)=9.5%。考虑缓存命中率的影响,假定存储本身操作的缓存命中率为50%(即有50%的操作是在内存中完成的),则平均时延可以从7.72毫秒降低到6.51毫秒,IO性能提升15.6%;另外,本发明实施例对交换机的依赖大大降低,交换机的丢包率≤0.1%即可提供很高的可靠性和IO性能,为廉价网络存储系统的实现提供了可能。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图5为本发明接收端设备一个实施例的结构示意图,本实施例中的接收端设备可以实现本发明图1所示实施例的流程,如图5所示,该接收端设备可以包括:接收模块51和处理模块52;
其中,接收模块51,用于接收发送端设备通过该发送端设备与该接收端设备之间的至少两条路径发送的相同的数据包;
处理模块52,用于对上述相同的数据包中的任意一个数据包进行处理。
进一步地,本实施例中的接收端设备包括至少两个网络接口卡,通过该至少两个网络接口卡与发送端设备的至少两个网络接口卡组成至少两条路径,上述接收端设备与上述发送端设备通过上述至少两条路径收发数据包。
具体地,处理模块52可以按照预定的规则,从相同的数据包中选择一个数据包进行处理。本实施例中,该预定的规则可以为先到先处理的规则或其他规则,例如:按照上述至少两条路径的传输质量,选择传输质量最优的路径上传输的数据包等;本发明实施例对该预定的规则不作限定,只要可以从相同的数据包中选择一个数据包进行处理即可。但本实施例以该预定的规则为先到先处理的规则为例进行说明。这样,处理模块52可以按照先到先处理的规则,从相同的数据包中选择最先接收到的数据包进行处理,当最先接收到的数据包不唯一时,处理模块52可以任选一个最先接收到的数据包进行处理。
上述实施例中,接收模块51接收发送端设备通过该发送端设备与该接收端设备之间的至少两条路径发送的相同的数据包,然后处理模块52对上述相同的数据包中的任意一个数据包进行处理;并且接收端设备也会通过该发送端设备与该接收端设备之间的至少两条路径向发送端设备发送读取的数据或心跳包,从而可以实现通过至少两条路径收发数据,提高存储可靠性。
图6为本发明接收端设备另一个实施例的结构示意图,与图5所示的接收端设备相比,不同之处在于,图6所示的接收端设备还可以包括:
确定模块53,用于当接收到的数据包的标识连续时,确定没有丢包;或者,当接收到的数据包的标识不连续时,确定发生丢包。
进一步地,处理模块52可以按照先到先处理的规则,从具有相同标识的数据包中选择最先接收到的数据包进行处理。
进一步地,本实施例中,处理模块52可以包括:读请求处理子模块521和写请求处理子模块522;
其中,读请求处理子模块521,用于当数据包包括读请求数据包时,根据该读请求数据包携带的读数据请求,从本地存储系统中读取数据之后,通过该发送端设备与该接收端设备之间的至少两条路径将读取的数据发送给发送端设备。
写请求处理子模块522,用于当数据包包括写请求数据包时,根据该写请求数据包携带的写数据请求,将该写请求数据包中的待写入数据写入到本地存储系统中。
进一步地,处理模块52还包括以下模块之一或组合:
第一发送子模块523,用于在写请求处理子模块522将上述写请求数据包中的待写入数据写入到本地存储系统中之后,通过发送端设备与接收端设备之间的至少两条路径向发送端设备发送心跳包,该心跳包包括对上述写请求数据包的确认;
第二发送子模块524,用于在写请求处理子模块522将上述写请求数据包中的待写入数据写入到本地存储系统中之后,若后续接收到发送端设备发送的读请求数据包,则通过发送端设备与接收端设备之间的至少两条路径将读取的数据发送给发送端设备,并在发送的数据中携带对上述写请求数据包的确认。
本实施例中的接收端设备可以实现通过至少两条路径收发数据,提高存储可靠性;另外,本实施例中的接收端设备不需要向发送端设备发送对数据包的确认,从而发送端设备也不需要等待接收端设备的确认,可以降低网络时延。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (19)

1.一种数据包传输方法,其特征在于,包括:
接收发送端设备通过所述发送端设备与接收端设备之间的至少两条路径发送的相同的数据包;
对所述相同的数据包中的任意一个数据包进行处理。
2.根据权利要求1所述的方法,其特征在于,所述发送端设备和所述数据包的接收端设备分别包括至少两个网络接口卡,所述发送端设备和所述接收端设备通过各自的所述至少两个网络接口卡组成的至少两条路径收发数据包。
3.根据权利要求1所述的方法,其特征在于,所述对所述相同的数据包中的任意一个数据包进行处理包括:
按照预定的规则,从所述相同的数据包中选择一个数据包进行处理,所述预定的规则包括先到先处理的规则。
4.根据权利要求3所述的方法,其特征在于,还包括:
当最先接收到的数据包不唯一时,任选一个最先接收到的数据包进行处理。
5.根据权利要求3所述的方法,其特征在于,所述数据包携带标识,所述标识标示所述数据包的发送顺序;所述相同的数据包携带相同的标识,不同的数据包携带不同的标识。
6.根据权利要求5所述的方法,其特征在于,还包括:
当接收到的数据包的标识连续时,确定没有丢包;或者,
当接收到的数据包的标识不连续时,确定发生丢包。
7.根据权利要求5所述的方法,其特征在于,所述按照预定的规则,从所述相同的数据包中选择一个数据包进行处理,所述预定的规则包括先到先处理的规则包括:
按照所述先到先处理的规则,从具有相同标识的数据包中选择最先接收到的数据包进行处理。
8.根据权利要求7所述的方法,其特征在于,所述数据包包括读请求数据包;
所述对所述相同的数据包中的任意一个数据包进行处理包括:
根据所述读请求数据包携带的读数据请求,从本地存储系统中读取数据之后,通过所述发送端设备与所述接收端设备之间的至少两条路径将读取的数据发送给所述发送端设备。
9.根据权利要求7所述的方法,其特征在于,所述数据包包括写请求数据包;
所述对所述相同的数据包中的任意一个数据包进行处理包括:
根据所述写请求数据包携带的写数据请求,将所述写请求数据包中的待写入数据写入到本地存储系统中。
10.根据权利要求9所述的方法,其特征在于,所述将所述写请求数据包中的待写入数据写入到本地存储系统中之后,还包括:
通过所述发送端设备与接收端设备之间的至少两条路径向所述发送端设备发送心跳包,所述心跳包包括对所述写请求数据包的确认;或者,
接收到所述发送端设备发送的读请求数据包之后,通过所述发送端设备与所述接收端设备之间的至少两条路径将读取的数据发送给所述发送端设备,并在发送的数据中携带对所述写请求数据包的确认。
11.一种接收端设备,其特征在于,包括:
接收模块,用于接收发送端设备通过所述发送端设备与所述接收端设备之间的至少两条路径发送的相同的数据包;
处理模块,用于对所述相同的数据包中的任意一个数据包进行处理。
12.根据权利要求11所述的接收端设备,其特征在于,所述接收端设备包括至少两个网络接口卡,通过所述至少两个网络接口卡与所述发送端设备的至少两个网络接口卡组成至少两条路径,所述接收端设备与所述发送端设备通过所述至少两条路径收发数据包。
13.根据权利要求11所述的接收端设备,其特征在于,所述处理模块具体用于按照预定的规则,从所述相同的数据包中选择一个数据包进行处理,所述预定的规则包括先到先处理的规则。
14.根据权利要求13所述的接收端设备,其特征在于,
所述处理模块,还用于当最先接收到的数据包不唯一时,任选一个最先接收到的数据包进行处理。
15.根据权利要求14所述的接收端设备,其特征在于,还包括:
确定模块,用于当接收到的数据包的标识连续时,确定没有丢包;或者,当接收到的数据包的标识不连续时,确定发生丢包。
16.根据权利要求15所述的接收端设备,其特征在于,所述处理模块具体用于按照所述先到先处理的规则,从具有相同标识的数据包中选择最先接收到的数据包进行处理。
17.根据权利要求16所述的接收端设备,其特征在于,所述处理模块包括:
读请求处理子模块,用于当所述数据包包括读请求数据包时,根据所述读请求数据包携带的读数据请求,从本地存储系统中读取数据之后,通过所述发送端设备与所述接收端设备之间的至少两条路径将读取的数据发送给所述发送端设备。
18.根据权利要求16所述的接收端设备,其特征在于,所述处理模块包括:
写请求处理子模块,用于当所述数据包包括写请求数据包时,根据所述写请求数据包携带的写数据请求,将所述写请求数据包中的待写入数据写入到本地存储系统中。
19.根据权利要求18所述的接收端设备,其特征在于,所述处理模块还包括以下模块之一或组合:
第一发送子模块,用于在所述写请求处理子模块将所述写请求数据包中的待写入数据写入到本地存储系统中之后,通过所述发送端设备与接收端设备之间的至少两条路径向所述发送端设备发送心跳包,所述心跳包包括对所述写请求数据包的确认;
第二发送子模块,用于在所述写请求处理子模块将所述写请求数据包中的待写入数据写入到本地存储系统中之后,若后续接收到所述发送端设备发送的读请求数据包,则通过所述发送端设备与所述接收端设备之间的至少两条路径将读取的数据发送给所述发送端设备,并在发送的数据中携带对所述写请求数据包的确认。
CN2010106231251A 2010-12-28 2010-12-28 数据包传输方法和设备 Pending CN102118434A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010106231251A CN102118434A (zh) 2010-12-28 2010-12-28 数据包传输方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010106231251A CN102118434A (zh) 2010-12-28 2010-12-28 数据包传输方法和设备

Publications (1)

Publication Number Publication Date
CN102118434A true CN102118434A (zh) 2011-07-06

Family

ID=44217023

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010106231251A Pending CN102118434A (zh) 2010-12-28 2010-12-28 数据包传输方法和设备

Country Status (1)

Country Link
CN (1) CN102118434A (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104243107A (zh) * 2013-06-06 2014-12-24 深圳市腾讯计算机系统有限公司 数据传输方法、装置、终端、服务器及系统
CN104348722A (zh) * 2013-07-31 2015-02-11 华为技术有限公司 确定内容获取路径、请求处理的方法、装置和系统
WO2016034041A1 (zh) * 2014-09-01 2016-03-10 电信科学技术研究院 一种进行数据传输的方法和设备
CN105703890A (zh) * 2014-11-28 2016-06-22 电信科学技术研究院 一种进行数据传输的方法和设备
CN105704197A (zh) * 2014-11-28 2016-06-22 电信科学技术研究院 一种数据传输方法及系统
WO2016119620A1 (en) * 2015-01-30 2016-08-04 Huawei Technologies Co., Ltd. Method for forwarding data packets in a network and programmable ingress and egress nodes therefore
CN106254238A (zh) * 2016-09-29 2016-12-21 胡汉强 一种数据传输方法、集中控制器和通信装置
CN107395499A (zh) * 2017-07-24 2017-11-24 北京三快在线科技有限公司 Pos机通信方法和pos终端
CN108449644A (zh) * 2018-03-20 2018-08-24 上海爱友信息科技有限公司 多人同屏实时交互游戏中保持网络稳定的方法及系统
CN108965392A (zh) * 2018-06-15 2018-12-07 武汉斑马快跑科技有限公司 服务器推送数据的接收方法、系统和设备
CN110445578A (zh) * 2019-07-29 2019-11-12 广芯微电子(广州)股份有限公司 一种spi数据传输方法及装置
CN110557657A (zh) * 2018-05-30 2019-12-10 视联动力信息技术股份有限公司 一种基于视联网的数据处理方法及系统
WO2021098640A1 (zh) * 2019-11-18 2021-05-27 中兴通讯股份有限公司 一种数据包的发送、接收方法及装置
CN114978986A (zh) * 2022-05-13 2022-08-30 中国联合网络通信集团有限公司 一种数据传输方法、装置及存储介质
WO2024022022A1 (zh) * 2022-07-26 2024-02-01 亿航智能设备(广州)有限公司 一种多网卡融合通信方法及通信系统
CN114978986B (zh) * 2022-05-13 2024-05-14 中国联合网络通信集团有限公司 一种数据传输方法、装置及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1561062A (zh) * 2004-03-09 2005-01-05 �㽭�пؼ����ɷ����޹�˾ 实现网络数据多路传输的方法
CN1571301A (zh) * 2003-07-16 2005-01-26 深圳市中兴通讯股份有限公司 光网络中通过显示路由实现信令并发优收的装置及方法
US7388828B2 (en) * 2003-10-29 2008-06-17 Eci Telecom Ltd. Method for rerouting MPLS traffic in ring networks
CN101742554A (zh) * 2010-01-15 2010-06-16 南京邮电大学 无线多媒体传感器网络多路径传输机制的拥塞控制方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1571301A (zh) * 2003-07-16 2005-01-26 深圳市中兴通讯股份有限公司 光网络中通过显示路由实现信令并发优收的装置及方法
US7388828B2 (en) * 2003-10-29 2008-06-17 Eci Telecom Ltd. Method for rerouting MPLS traffic in ring networks
CN1561062A (zh) * 2004-03-09 2005-01-05 �㽭�пؼ����ɷ����޹�˾ 实现网络数据多路传输的方法
CN101742554A (zh) * 2010-01-15 2010-06-16 南京邮电大学 无线多媒体传感器网络多路径传输机制的拥塞控制方法

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104243107A (zh) * 2013-06-06 2014-12-24 深圳市腾讯计算机系统有限公司 数据传输方法、装置、终端、服务器及系统
CN104348722B (zh) * 2013-07-31 2017-12-12 华为技术有限公司 确定内容获取路径、请求处理的方法、装置和系统
CN104348722A (zh) * 2013-07-31 2015-02-11 华为技术有限公司 确定内容获取路径、请求处理的方法、装置和系统
US10587513B2 (en) 2013-07-31 2020-03-10 Huawei Technologies Co., Ltd. Method, apparatus and system for determining content acquisition path and processing request
US10103986B2 (en) 2013-07-31 2018-10-16 Huawei Technologies Co., Ltd. Method, apparatus and system for determining content acquisition path and processing request
WO2016034041A1 (zh) * 2014-09-01 2016-03-10 电信科学技术研究院 一种进行数据传输的方法和设备
CN105450367A (zh) * 2014-09-01 2016-03-30 电信科学技术研究院 一种进行数据传输的方法和设备
CN105703890A (zh) * 2014-11-28 2016-06-22 电信科学技术研究院 一种进行数据传输的方法和设备
CN105704197A (zh) * 2014-11-28 2016-06-22 电信科学技术研究院 一种数据传输方法及系统
CN105704197B (zh) * 2014-11-28 2020-04-10 电信科学技术研究院 一种数据传输方法及系统
WO2016119620A1 (en) * 2015-01-30 2016-08-04 Huawei Technologies Co., Ltd. Method for forwarding data packets in a network and programmable ingress and egress nodes therefore
US9894000B2 (en) 2015-01-30 2018-02-13 Huawei Technologies Co., Ltd Method for forwarding data packets in a network and programmable ingress and egress nodes therefore
CN107210976B (zh) * 2015-01-30 2020-11-10 华为技术有限公司 用于在网络中转发数据分组的方法及其可编程入口和出口节点
CN107210976A (zh) * 2015-01-30 2017-09-26 华为技术有限公司 用于在网络中转发数据分组的方法及其可编程入口和出口节点
CN106254238A (zh) * 2016-09-29 2016-12-21 胡汉强 一种数据传输方法、集中控制器和通信装置
CN106254238B (zh) * 2016-09-29 2018-12-28 胡汉强 一种数据传输方法、集中控制器和通信装置
CN107395499A (zh) * 2017-07-24 2017-11-24 北京三快在线科技有限公司 Pos机通信方法和pos终端
CN107395499B (zh) * 2017-07-24 2021-01-15 北京三快在线科技有限公司 Pos机通信方法和pos终端
CN108449644B (zh) * 2018-03-20 2021-10-29 上海爱友信息科技有限公司 多人同屏实时交互游戏中保持网络稳定的方法及系统
CN108449644A (zh) * 2018-03-20 2018-08-24 上海爱友信息科技有限公司 多人同屏实时交互游戏中保持网络稳定的方法及系统
CN110557657A (zh) * 2018-05-30 2019-12-10 视联动力信息技术股份有限公司 一种基于视联网的数据处理方法及系统
CN108965392A (zh) * 2018-06-15 2018-12-07 武汉斑马快跑科技有限公司 服务器推送数据的接收方法、系统和设备
CN108965392B (zh) * 2018-06-15 2021-07-27 武汉斑马快跑科技有限公司 服务器推送数据的接收方法、系统和设备
CN110445578B (zh) * 2019-07-29 2020-06-23 广芯微电子(广州)股份有限公司 一种spi数据传输方法及装置
CN110445578A (zh) * 2019-07-29 2019-11-12 广芯微电子(广州)股份有限公司 一种spi数据传输方法及装置
WO2021098640A1 (zh) * 2019-11-18 2021-05-27 中兴通讯股份有限公司 一种数据包的发送、接收方法及装置
CN114978986A (zh) * 2022-05-13 2022-08-30 中国联合网络通信集团有限公司 一种数据传输方法、装置及存储介质
CN114978986B (zh) * 2022-05-13 2024-05-14 中国联合网络通信集团有限公司 一种数据传输方法、装置及存储介质
WO2024022022A1 (zh) * 2022-07-26 2024-02-01 亿航智能设备(广州)有限公司 一种多网卡融合通信方法及通信系统

Similar Documents

Publication Publication Date Title
CN102118434A (zh) 数据包传输方法和设备
US11916781B2 (en) System and method for facilitating efficient utilization of an output buffer in a network interface controller (NIC)
CN101945103B (zh) Ip网络应用加速系统
US7676607B2 (en) Hardware acceleration apparatus for iSCSI target system using TOE and method for performing read/write command using the apparatus
CN1985492B (zh) 支持iSCSI读操作和iSCSI烟囱的方法和系统
CN1376281A (zh) 总线系统的分隔事务协议
KR20140082630A (ko) Pcie 스위칭 네트워크에서 패킷 전송을 실행하기 위한 방법, 장치, 시스템, 및 저장 매체
CN108631947B (zh) 一种基于纠删码的rdma网络数据传输方法
US20050030972A1 (en) Method, system, and article of manufacture for utilizing host memory from an offload adapter
CN103141050B (zh) 快速通道互联系统中数据包重传方法、节点
CA2698607A1 (en) Load balancing and admission scheduling in pull-based parallel video servers
CN202841192U (zh) 一种支持广域网的高速、可靠的单向传输系统
US7305605B2 (en) Storage system
CN104468509A (zh) 手机网络游戏数据传输的方法、系统和手机用户端
CN103188059A (zh) 快速通道互联系统中数据包重传方法、装置和系统
CN102333210B (zh) 一种视频数据存储方法及其设备
CN113259268A (zh) 一种支持冗余架构的网口与串口数据转发网关及方法
US6983334B2 (en) Method and system of tracking missing packets in a multicast TFTP environment
CN101453751A (zh) 窄带网络环境下传输大文件数据的方法
CN105025063A (zh) 面向大规模终端设备的在线数据传输方法
CN102843435A (zh) 一种在集群系统中存储介质的访问、响应方法和系统
CN102111436A (zh) 一种通过iSCSI访问存储设备的方法和一种存储设备
US11720413B2 (en) Systems and methods for virtualizing fabric-attached storage devices
CN109862297B (zh) 窗口调整方法、装置及可读存储介质
CN104137512B (zh) 一种数据备份方法、装置和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110706