CN111917656A - 传输数据的方法和设备 - Google Patents
传输数据的方法和设备 Download PDFInfo
- Publication number
- CN111917656A CN111917656A CN202010576146.6A CN202010576146A CN111917656A CN 111917656 A CN111917656 A CN 111917656A CN 202010576146 A CN202010576146 A CN 202010576146A CN 111917656 A CN111917656 A CN 111917656A
- Authority
- CN
- China
- Prior art keywords
- interface
- message
- sending
- identifier
- cpu
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 79
- 230000005540 biological transmission Effects 0.000 claims abstract description 68
- 238000012545 processing Methods 0.000 claims description 34
- 238000012163 sequencing technique Methods 0.000 claims 1
- 101100520014 Ceratodon purpureus PHY1 gene Proteins 0.000 description 24
- 101100352165 Cucurbita pepo PHYA gene Proteins 0.000 description 24
- 238000004891 communication Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 230000003287 optical effect Effects 0.000 description 11
- 238000003780 insertion Methods 0.000 description 8
- 230000037431 insertion Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 101150005660 PHY1 gene Proteins 0.000 description 6
- 230000006399 behavior Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101100520026 Avena sativa PHYA4 gene Proteins 0.000 description 1
- 101150048253 PHYA gene Proteins 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/34—Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/40—Bus coupling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9057—Arrangements for supporting packet reassembly or resequencing
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供了一种传输数据的方法,包括所述发送端获取待传输的至少两个报文,发送端为处理器系统中的NC或CPU;所述发送端在发送端的至少两个接口中确定用于传输所述每个报文的第一接口,且确定所述每个报文的与所述第一接口相关的标识,其中,所述标识表示所述每个报文的第一接口在用于发送所述至少两个报文的至少两个接口中的排序;所述发送端在所述每个报文的报文头中添加所述标识;所述发送端通过所述第一接口向所述接收端发送添加所述标识后的报文,以使得所述接收端根据所述标识对所述添加所述标识后的报文进行顺序调整。本申请实施例能够在乱序布线的CPU与CN之间或者CXP混插的NC之间实现数据的传输。
Description
本申请是名称为传输数据的方法和设备,专利申请号为201710624681.2的申请的分案。
技术领域
本申请涉及通信领域,并且更具体地,涉及通信领域中的传输数据的方法和设备。
背景技术
随着技术的进步,人们对处理器的性能提出了越来越高的要求,应此需求人们开发出了处理能力更强的处理器系统,例如对称多处理器(Symmetric Multi-Processor,SMP)系统、机群(Cluster)系统、大规模并行处理(Massive Parallel Processing,MPP)系统以及非均匀存储访问(Non Uniform Memory Access,NUMA)系统等处理器系统架构。这些架构主要通过共享内存及总线的方式,达到系统性能的提升。例如,NUMA系统架构中各个节点之间通过互联模式进行连接和信息交互,在一个操作系统下,可以共享所有的CPU以及整个系统的内存,达到处理器系统性能的提升和优化。
节点控制器(Node Controller,NC)是用于中央处理器(Central ProcessingUnit,CPU)扩展的芯片,可以实现多个CPU之间的互连。节点控制器一面通过20根线(lane)与CPU进行连接,一面通过端口与另一个NC连接。但是,目前NC与CPU之间的物理(PHY)接口只支持正序与反序连接,NC与NC之间也必须支持端口上的光口(CXP)一一对应的连接。这样,导致NC与CPU、NC与NC之间的连接方式灵活性低。
发明内容
本申请提供一种传输数据的方法,能够在乱序布线的CPU与CN之间或者CXP混插的NC之间实现数据的传输。
第一方面,本申请实施例提供了一种传输数据的方法,所述方法应用于处理器系统,所述处理器系统包括第一节点控制器NC,还包括与所述第一NC连接的CPU或第二NC,其中,所述方法由发送端执行,所述发送端为所述第一NC、所述CPU或所述第二NC,所述发送端具有至少两个接口,所述发送端的每个接口与接收端的一个接口连接。该方法包括:
发送端获取待传输的至少两个报文。
所述发送端在所述发送端的至少两个接口中确定用于传输所述每个报文的第一接口,且确定所述每个报文的与所述第一接口相关的标识。其中,所述标识表示所述每个报文的第一接口在用于发送所述至少两个报文的至少两个接口中的排序。这里,每个报文的第一接口在用于发送所述至少两个报文的至少两个接口中的排序可以为正序,也可以为反序。
所述发送端在所述每个报文中添加所述标识。
所述发送端通过所述第一接口向所述接收端发送添加所述标识的报文。
所述接收端获取所述报文中的所述标识。
所述接收端将所述报文发送至所述接收端中的具有所述标识的接口的处理队列中。
本申请实施例中,发送端在发送至少两个报文时,通过在每个报文中添加与发送端的接口相关的标识,然后在物理布线乱序的CPU和NC之间或者在CXP混插的NC之间发送添加了该标识的报文,使得接收端能够根据报文中包含的该标识对接收的至少两个报文顺序进行调整,实现在物理布线乱序的CPU和NC之间或者在CXP混插的NC之间的数据的传输。
本申请实施例中,CPU与NC之间或者NC之间的接口可以乱序连接。也就是说,CPU与NC之间可以不采用正序或者反序的连接方式,使得CPU上的一个PHY接口与NC上的任一个PHY接口连接形成一根lane。并且,NC之间的CXP接口也可以不采用序号一一对应的连接方式,即CXP接口可以采用混插的方式,将NC的端口上的一个CXP接口与另一个NC上对应的端口上的任一个CXP接口通过光缆或者电缆连接。本申请实施例中CPU与NC之间物理布线方式更加灵活,NC与NC之间的CXP接口的连接方式也更加灵活。
可选的,本申请实施例中,当CPU和NC采用全带宽传输方式进行数据传输时,所述发送端的至少两个接口的数量与所述至少两个报文的数量相等,且所述每个报文的与所述第一接口相关的标识为所述第一接口的标识。或者,当CPU和NC采用半带宽传输方式进行数据传输时,所述每个报文的与所述第一接口相关的标识为所述第一接口的标识。
作为一例,每个报文的标识为传输该报文的PHY接口的序号。
本申请实施例中,CPU和NC上的PHY接口的数量分别可以为20。NC上的每个端口上的CXP接口的数量可以分别为3。相应地,CPU与NC之间可以形成20根传输数据的lane。NC与NC之间可以采用混插的3根光缆或电缆传输数据。
当发送端确定使用所有的接口传输报文时,发送端可以分别使用与每个报文具有相同的序号的PHY接口或CXP接口来传输对应的每个报文。例如,发送端可以使用PHY0-PHY19依次传输报文0、报文1……报文19,或者使用CXP0-CXP2依次传输报文0、报文1和报文2。
可选的,本申请实施例中,当CPU和NC采用半带宽传输方式进行数据传输时,若所述报文的数量为n个,用于传输所述n个报文中的第i个报文的第一接口在用于传输所述n个报文的n个接口中的排序为i,则所述第i个报文的与所述第一接口相关的标识为所述发送端中的第i个接口的标识,其中,所述发送端的至少两个接口的数量大于或等于所述至少两个报文的数量,n为正整数,i为小于或等于n的正整数。
作为一例,当采用半带宽传输方式进行数据传输时,可以在20根lane中任选8根lane,例如选择发送端的PHY10-PHY17对应的8根lane,或者选择发送端的PHY0、PHY3、PHY4、PHY8、PHY11、PHY15、PHY16、PHY17对应的8根lane。此时,可以将8个报文分配至该8根lane对应的接口上进行传输。这时,可以确定在PHY10-PHY17上传输的报文的标识依次为0-7,或者在PHY0、PHY3、PHY4、PHY8、PHY11、PHY15、PHY16、PHY17上传输的报文的标识依次为0-7。
这样,只要CPU和NC之间至少存在8条可用的lane,就可以使用这8根lane进行数据传输。也就是说,本申请实施例可以在多个PHY接口故障的情况下采用半带宽的方式进行数据传输。
可选的,本申请实施例中,当NC与NC之间通过CXP接口进行数据传输时,第一NC可以确定每个报文的与发送端的接口相关的标识为传输该报文的CXP接口的序号。
可选的,当NC之间通过CXP接口发送报文时,如果第一NC的第一端口上的第而接口故障,则所述发送端通过所述第一端口上的第三接口向所述接收端发送所述添加了与所述第二接口相关的标识后的报文。这样,在一个CXP接口坏掉的情况下,可以借用另外的CXP接口进行传输,接收端也能够正常的解析出报文。
第二方面,提供了一种传输数据的节点控制器NC,所述NC具有实现上述第一方面或第一方面各种可能的实现方法实际中NC行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
第三方面,提供了一种传输数据的节点控制器NC,包括存储器、处理器和通信接口,所述存储器用于存储程序代码,所述处理器被配置为支持NC执行上述方法中相应的功能,确所述处理器用于执行所述存储器中存储的程序代码。所述通信接口用于支持NC与NC或NC与CPU之间的通信。
第四方面,提供一种计算机可读介质,所述计算机可读介质存储程序代码,所述程序代码包括用于执行第一方面或第一方面的各种可能实现方式中节点控制器NC行为的指令。
第五方面,提供了一种传输数据的CPU,所述CPU具有实现上述第一方面或第一方面各种可能的实现方法实际中CPU行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
第六方面,提供了一种传输数据的CPU,包括存储器、处理器和通信接口,所述存储器用于存储程序代码,所述处理器被配置为支持CPU执行上述方法中相应的功能,确所述处理器用于执行所述存储器中存储的程序代码。所述通信接口用于支持CPU与NC之间的通信。
第七方面,提供一种计算机可读介质,所述计算机可读介质存储程序代码,所述程序代码包括用于执行第一方面或第一方面的各种可能实现方式中CPU行为的指令。
附图说明
图1示出了本申请实施例的一种CPU和NC的连接方式的示意图。
图2示出了本申请实施例的一种传输数据的方法的示意性流程图。
图3示出了本申请一个实施例的CPU和NC之间采用全带宽的方式传输数据的方法的示意图。
图4示出了本申请一个实施例的CPU和NC之间采用半带宽的方式传输数据的方法的示意图。
图5示出了本申请一个实施例的NC之间传输数据的方法的示意图。
图6示出了本申请一个实施例的传输数据的设备的示意性框图。
图7示出了本申请另一个实施例的传输数据的设备的示意性框图。
图8示出了本申请另一个实施例的传输数据的设备的示意性框图。
图9示出了本申请另一个实施例的传输数据的设备的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
图1示出了本申请实施例的一种CPU和NC的连接方式的示意图。图1中,NC0能够同时与一个CPU和多个NC连接。具体的,NC0一面通过20根lane与CPU进行连接,一面分别通过NC0上的端口0、端口1和端口2与NC1、NC2和NC3连接。
具体而言,NC0与CPU之间的每根lane的两端分别为CPU的一个PHY接口和NC的一个PHY接口。这里,CPU的PHY接口和NC的PHY接口分别具有序号,序号能够表示PHY接口在所有PHY接口中的排序。在现有技术中,可以通过正序或者反序的布线方式将CPU的一个PHY接口和NC的一个PHY接口连接形成一根lane,lane可以用于CPU与NC之间进行数据传输。
当采用正序的方式布线时,CPU和NC上具有相同序号的PHY接口连接。例如,CPU上的PHY0与NC上的PHY0连接,CPU上的PHY1与NC上的PHY1连接,CPU上的PHY19与NC上的PHY19连接。这样,可以形成20根lane。
当采用反序的方式布线时,CPU上的具有最小序号的PHY接口与NC上具有最大序号的PHY接口依次连接,或者CPU上具有最大序号的PHY接口与NC上具有最小序号的PHY接口依次连接。例如,CPU上的PHY0与NC上的PHY19连接,CPU上的PHY1与NC上的PHY18连接。基于类似的布线方式,可以形成20根lane。
本申请实施例中,发送端为所述CPU且接收端为所述NC,或者发送端为所述NC且接收端为所述CPU。具体而言,当CPU向NC发送报文时,可以称CPU为发送端,NC为接收端。当NC向CPU发送报文时,可以称NC为发送端,CPU为接收端。
这里,CPU和NC可以采用全带宽传输方式或者半带宽传输方式传输数据。当在采用正序方式进行物理布线的CPU和NC系统中采用半带宽传输方式进行数据传输时,可以使用发送端的PHY0~PHY7与接收端的PHY0~PHY7之间的8根lane进行数据传输,或者使用发送端的PHY12~PHY19与接收端的PHY12~PHY19之间的8根lane进行数据传输。当在采用反序方式进行物理布线的CPU和NC系统中采用半带宽传输方式进行数据传输时,可以使用发送端的PHY0~PHY7与接收端的PHY12~PHY19之间的8根lane进行数据传输,或者使用发送端PHY12~PHY19的与接收端的PHY0~PHY7之间的8根lane进行数据传输。当采用半带宽的方式进行数据传输时,若PHY0~PHY7有一个接口故障且在PHY12~PHY19中有一个接口故障,则CPU和NC之间不能进行数据的传输。
本申请实施例中,当NC与NC之间通过CXP接口传输数据时,可以称发送端为第一NC,称接收端为第二NC。所述第一NC的第一端口上具有至少两个接口,且与所述第一端口上的接口连接的接口位于所述第二NC的第二端口上。
例如,图1中NC0的分别通过端口0、端口1和端口2与NC1、NC2和NC3连接。NC上的每个端口上具有3个CXP,每个端口上的CXP分别具有序号,且每个端口上的CXP分别进行独立编号,序号能够表示CXP接口在一个端口上的所有PHY接口中的排序。
现有技术中第一NC的一个端口上的3个CXP与第二NC的对应端口上的3个CXP相连时,CXP之间的序号必须一一对应。例如,NC0的端口0上的3个CXP可以分别为CXP0、CXP1和CXP2,NC1的端口0上的三个CXP可以分别为CXP0、CXP1和CXP2。并且,NC0的端口0上的CXP0与NC1的端口0上的CXP0通过光缆或者电缆连接,NC0的端口0上的CXP1与NC1的端口0上的CXP1通过光缆或者电缆连接,NC0的端口0上的CXP2与NC1的端口0上的CXP2通过光缆或者电缆连接。可以理解,NC0与NC2、NC0与NC3也可以采相类于NC0与NC1似的方式进行连接。这里,也可以将CXP之间的电缆或光缆称为lane。
可见,现有技术中CPU与NC之间的PHY接口必须按照正序或者反序的布线方式进行连接,NC与NC之间的CXP接口也必须一一对应连接,即现有技术必须采用固定的连接方式连接CPU与NC之间的接口或NC与NC之间的接口,灵活性低。并且,NC之间的CXP接口需要手动连接,在连错时会导致报文不能识别,并且很难定位故障。
本申请实施例中,CPU与NC之间或者NC之间的接口可以乱序连接。也就是说,CPU与NC之间可以不采用正序或者反序的连接方式,使得CPU上的一个PHY接口与NC上的任一个PHY接口连接形成一根lane。并且,NC之间的CXP接口也可以不采用序号一一对应的连接方式,即CXP接口可以采用混插的方式,将NC的端口上的一个CXP接口与另一个NC上对应的端口上的任一个CXP接口通过光缆或者电缆连接。本申请实施例中CPU与NC之间物理布线方式更加灵活,NC与NC之间的CXP接口的连接方式也更加灵活。
例如,图1中的CPU与NC0之间的20根lane可以随机连接。具体的,CPU上的任意一个PHY接口可以与NC0上的任意一个PHY接口连接。这样,CPU与NC之间的布线方式更加灵活性。并且,在图1中,可以使用光缆或电缆将的NC0的端口0上的任意一个CXP接口与NC1的端口0上的任意一个CXP接口连接,将NC0的端口1上的任意一个CXP接口与NC2的端口0上的任意一个CXP接口连接,将NC0的端口2上的任意一个CXP接口与NC3的端口0上的任意一个CXP接口连接。这样,NC与NC之间CXP接口的连接方式也更加灵活。
图2示出了本申请实施例的一种传输数据的方法的示意性流程图。该方法中,发送端11为上文中所述的CPU,且接收端12为上文中所述的NC,或者发送端11为上文中所述的NC且接收端12为上文中所述的CPU。或者,发送端11为第一NC,接收端12为第二NC。
210,发送端11获取待传输的至少两个报文。
当发送端需要向接收端发送数据时,发送端可以将需要传输的数据分为多个数据包,并将多个数据包封装为多个报文进行传输。
具体的,当CPU和NC采用全带宽传输方式进行数据传输时,发送端可以获取20个报文。当CPU和NC采用半带宽传输方式进行数据传输时,发送端可以获取8个报文。当NC与NC进行数据传输时,发送端可以获取3个报文。
220,所述发送端11在所述发送端的至少两个接口中确定用于传输所述每个报文的第一接口,且确定所述每个报文的与所述第一接口相关的标识。其中,所述标识表示所述每个报文的第一接口在用于发送所述至少两个报文的至少两个接口中的排序。这里,每个报文的第一接口在用于发送所述至少两个报文的至少两个接口中的排序可以为正序,也可以为反序。
也就是说,发送端可以确定每个lane传输的报文,并且为该报文确定一个与第一接口相关的标识。
具体而言,本申请实施例中,当CPU和NC采用全带宽传输方式进行数据传输时,发送端可以确定将20个报文分配给发送端的20个PHY接口,再由每个PHY接口将各自发送队列中的报文通过各自PHY接口的lane发送出去。当CPU和NC采用半带宽传输方式进行数据传输时,发送端可以确定将8个报文分配给发送端的8个PHY接口,再由每个PHY接口将各自发送队列中的报文通过lane发送出去。当NC与NC进行数据传输时,发送端可以确定将3个报文分配给发送端的3个CXP接口,再由每个CXP接口将各自发送队列中的报文通过光缆或电缆发送出去。
作为一例,发送端可以对多个报文进行排序。例如,排序之后可以获得20个报文,依次为报文0、报文1……报文19,或者获得8个报文,依次为报文0、报文1……报文7,或者获得3个报文,依次为报文0、报文1和报文2。
当发送端确定使用所有的接口传输报文时,发送端可以分别使用与每个报文具有相同的序号的PHY接口或CXP接口来传输对应的每个报文。例如,发送端可以使用PHY0-PHY19依次传输报文0、报文1……报文19,或者使用CXP0-CXP2依次传输报文0、报文1和报文2。
当CPU和NC之间采用半带宽的传输方式传输数据时,发送端可以按照PHY接口的序号从小到大(或者从大到小)将8个报文依次分配给8个PHY接口。例如,当发送端选择PHY10-PHY17传输报文时,可以依次将将报文0、报文1……报文7分配给PHY10-PHY1传输。当发送端选择PHY0、PHY3、PHY4、PHY8、PHY11、PHY15、PHY16、PHY17传输报文时,可以依次将报文0、报文1……报文7分配给PHY0、PHY3、PHY4、PHY8、PHY11、PHY15、PHY16、PHY17传输。
在发送端为报文分配好用于传输该报文的接口之后,发送端为每个报文确定一个与用于传输该报文的接口相关的标识。所述标识表示所述每个报文的第一接口在用于发送所述至少两个报文的至少两个接口中的排序。
可选的,本申请实施例中,当CPU和NC采用全带宽传输方式进行数据传输时,所述发送端的至少两个接口的数量与所述至少两个报文的数量相等,且所述每个报文的与所述第一接口相关的标识为所述第一接口的标识。或者,当CPU和NC采用半带宽传输方式进行数据传输时,所述每个报文的与所述第一接口相关的标识为所述第一接口的标识。
作为一例,每个报文的标识为传输该报文的PHY接口的序号。例如,当发送端确定使用PHY1来发送报文时,该报文的标识为PHY1的序号1,当发送端确定使用PHY4来发送报文时,该报文的标识为PHY4的序号4。
可选的,本申请实施例中,当CPU和NC采用半带宽传输方式进行数据传输时,若所述报文的数量为n个,用于传输所述n个报文中的第i个报文的第一接口在用于传输所述n个报文的n个接口中的排序为i,则所述第i个报文的与所述第一接口相关的标识为所述发送端中的第i个接口的标识,其中,所述发送端的至少两个接口的数量大于或等于所述至少两个报文的数量,n为正整数,i为小于或等于n的正整数。
作为一例,当采用半带宽传输方式进行数据传输时,可以在20根lane中任选8根lane,例如选择发送端的PHY10-PHY17对应的8根lane,或者选择发送端的PHY0、PHY3、PHY4、PHY8、PHY11、PHY15、PHY16、PHY17对应的8根lane。此时,可以将8个报文分配至该8根lane对应的接口上进行传输。这时,可以确定在PHY10-PHY17上传输的报文的标识依次为0-7,或者在PHY0、PHY3、PHY4、PHY8、PHY11、PHY15、PHY16、PHY17上传输的报文的标识依次为0-7。这样,只要CPU和NC之间至少存在8条可用的lane,就可以使用这8根lane进行数据传输。也就是说,本申请实施例可以在多个PHY接口故障的情况下采用半带宽的方式进行数据传输。
可选的,本申请实施例中,当NC与NC之间通过CXP接口进行数据传输时,第一NC可以确定每个报文的与发送端的接口相关的标识为传输该报文的CXP接口的序号。例如,当发送端确定使用CXP1来发送报文时,该报文的标识可以为1;当发送端使用CXP2来发送报文时,该报文的标识可以为2。
230,所述发送端11在所述每个报文中添加所述标识。
具体的,发送端可以将每个报文的标识封装在该报文的报文头中。
240,所述发送端11通过所述第一接口向所述接收端12发送230中获得的报文,以使得所述接收端12根据所述标识对报文进行顺序调整。
可选的,当NC之间通过CXP接口发送报文时,如果第一NC的第一端口上的第而接口故障,则所述发送端通过所述第一端口上的第三接口向所述接收端发送所述添加了与所述第二接口相关的标识后的报文。例如,当NC0的端口0上的CXP1故障时,可以通过该端口0上的CXP0或CXP2来传输分配给CXP1上的报文。这样,在一个CXP接口坏掉的情况下,可以借用另外的CXP接口进行传输,接收端也能够正常的解析出报文。
在发送端向接收端发送报文后,接收端通过第二接口接收该报文。其中,所述第二接口是所述接收端的至少两个接口中的一个且所述第二接口与所述发送端的的第一接口乱序连接。
250,所述接收端12获取所述报文中的所述标识。
具体的,接收端可以从该报文的报文头中的相应字段中获取该标识。
260,所述接收端12将所述报文发送至所述接收端12中的具有所述标识的接口的处理队列中。具体而言,当接收端获取报文的与发送端的接口相关的标识之后,接收端可以将该第二报文发送至接收端中具有该标识的接口的处理队列中。这样,后续的处理队列中,报文的顺序就是调整好的了。
例如,当CPU和NC之间传输数据时,接收端的PHY1接收到的报文中的标识为0时,接收端将该报文发送至接收端中标识为0的PHY接口的处理队列中,即发送至PHY0的处理队列中。当NC与NC之间传输数据时,接收端的CXP0接收到的报文中的标识为2时,接收端将该报文发送至接收端中的标识为2的CXP接口的处理队列中,即发送至CXP2的处理队列中。这样,后续的处理队列中,报文的顺序与发送端发送报文的顺序相同。
因此,本申请实施例中,发送端在发送至少两个报文时,通过在每个报文中添加与发送端的接口相关的标识,然后在物理布线乱序的CPU和NC之间或者在CXP混插的NC之间发送添加了该标识的报文,使得接收端能够根据报文中包含的该标识对接收的至少两个报文顺序进行调整,实现在物理布线乱序的CPU和NC之间或者在CXP混插的NC之间的数据的传输。
图3示出了本申请一个实施例的CPU和NC之间采用全带宽的方式传输数据的方法的示意图。下文中所示的与图2中相同的附图标记表示相同或相似的模块或单元。这里,发送端11可以将报文0-19分配至PHY19-PHY0,此时,报文0-19的与发送端的接口相关的标识分别为19-0。由于CPU与NC之间的物理布线混乱,因此,接收端12的PHY接口接收到的报文是乱序的。例如,PHY0-PHY19上对应的报文依次为报文17、报文8、报文6、报文1…报文0、报文2、报文15和报文19。接收端12在接收到报文之后,解析每个报文中的标识。例如,接收端可以依次可以解析到PHY0-PHY19的标识分别为17、8、6、1、…0、2、15和19。然后,接收端12将解析得到的标识输入到调整单元121中,调整单元121根据每个报文的标识,将报文传输至接收端中的具有相应标识的处理队列中。具体的,接收端将具有标识17的报文17传输至接收端中的PHY17对应的处理队列中,将具有标识8的报文8传输至接收端中的PHY8对应的处理队列中。类似的,接收端将报文6、报文1…报文0、报文2、报文15和报文19传输至接收端中的对应PHY接口对应的处理队列中。
图4示出了本申请一个实施例的CPU和NC之间采用半带宽的方式传输数据的方法的示意图。当发送端11或接收端12中的PHY接口故障时,可以采用半带宽的方式传输数据。此时,可以将8个报文分配至发送端的任意8个能够正常工作的PHY接口中,并且根据PHY接口的序号的排序,依次确定每个PHY接口上传输的报文的标识。例如,当确定在PHY10-PHY17上传输报文时,PHY10至PHY17上传输的报文的标识依次为0-7。此时,接收端解析8个报文的标识,并将解析得到的标识输入至调整单元121,调整单元121根据每个报文的标识,将报文传输至接收端中的具有相应标识的处理队列中。类似的,接收端将接收到的具有标识7、3、6、1、2、5、4的报文传输至接收端中的PHY接口对应的处理队列中。
图5示出了本申请一个实施例的NC之间传输数据的方法的示意图。图5中所示的接收端为第一NC,第一NC通过端口0与发送端(第二NC)连接。具体的,第二NC的CXP0、CXP1和CXP2分别与第一NC的CXP1、CXP2和CXP0混连。此时,当第二NC通过CXP0、CXP1和CXP分别向第一NC传输报文0、报文1和报文2时,分别在报文0、报文1和报文2的报文头中添加标识0、1和2。这时,接收端(即该第一NC)的CXP0、CXP1和CXP2上分别接收到报文1、报文0和报文2,并解析出每个报文的标识。将解析得到的标识输入至调整单元中。调整单元根据每个报文的标识,将报文传输至第一NC中具有相应标识的处理队列中。类似的,第一NC将具有标识1、0和2的报文分别传输至第一NC中的CXP1、CXP2和CXP0的处理队列中。
并且,在图5所示的接收端中,当接收端或发送端中有一根lane或一根lane对应的CXP接口故障时,可以使用该端口上的其他的lane来传输分配给该lane的报文。例如,当第二NC的CXP1与接收端的CXP2之间的lane故障时,可以在发送端的CXP2和接收端的CXP0之间的lane上传输添加标识之后的报文0和报文2,并接收除每个报文的标识。将解析得到的标识输入至调整单元中。调整单元根据每个报文的标识,将报文传输至第一NC中具有相应标识的处理队列中。类似的,第一NC将具有标识1、0和2的报文分别传输至第一NC中的CXP1、CXP2和CXP0的处理队列中。
因此,本申请实施例中,发送端在发送至少两个报文时,通过在每个报文中添加与发送端的接口相关的标识,然后在物理布线乱序的CPU和NC之间或者在CXP混插的NC之间发送添加了该标识的报文,使得接收端能够根据报文中包含的该标识对接收的至少两个报文顺序进行调整,实现物理布线乱序的CPU和NC之间或者在CXP混插的NC之间的数据的传输。
图6示出了本申请实施例中的一种传输数据的设备600的示意性框图。所述设备600为处理器系统中的设备,所述处理器系统包括第一节点控制器NC,还包括与所述第一NC连接的CPU或第二NC,其中,所述设备600为发送端设备,所述发送端设备为所述第一NC、所述CPU或所述第二NC,所述发送端设备具有至少两个接口,所述发送端设备的每个接口与接收端设备的一个接口连接。
获取单元610,用于获取待传输的至少两个报文。
确定单元620,用于在所述发送端设备的至少两个接口中确定用于传输所述每个报文的第一接口,且确定所述每个报文的与所述第一接口相关的标识,其中,所述标识表示所述每个报文的第一接口在用于发送所述至少两个报文的至少两个接口中的排序。
添加单元630,用于在所述每个报文的报文头中添加所述标识。
发送单元640,用于通过所述第一接口向所述接收端发送添加所述标识后的报文,以使得所述接收端设备根据所述标识对所述添加所述标识后的报文进行顺序调整。
本申请实施例中,发送端在发送至少两个报文时,通过在每个报文中添加与发送端的接口相关的标识,然后在物理布线乱序的CPU和NC之间或者在CXP混插的NC之间发送添加了该标识的报文,使得接收端能够根据报文中包含的该标识对接收的至少两个报文顺序进行调整,实现物理布线乱序的CPU和NC之间或者在CXP混插的NC之间的数据的传输。
可选的,若所述处理器系统中包括所述第一NC和所述CPU,在所述CPU与所述第一NC之间传输数据的方式为全带宽传输方式的情况下,所述发送端设备的至少两个接口的数量与所述至少两个报文的数量相等,且所述每个报文的与所述第一接口相关的标识为用于所述第一接口的标识。
可选的,若所述处理器系统中包括所述第一NC和所述CPU,在所述CPU与所述第一NC之间传输数据的方式为半带宽传输方式的情况下,若所述报文的数量为n个,用于传输所述n个报文中的第i个报文的第一接口在用于传输所述n个报文的n个接口中的排序为i,则所述第i个报文的与所述第一接口相关的标识为所述发送端中的第i个接口的标识,其中,所述发送端的至少两个接口的数量大于或等于所述至少两个报文的数量,n为正整数,i为小于或等于n的正整数。
可选的,若所述处理器系统中包括所述第一NC和所述第二NC,则所述第一NC的第一端口上具有至少两个接口,与所述第一端口上的接口连接的接口位于所述第二NC的第二端口上。
可选的,其特征在于,若所述第一端口上的第二接口故障,则所述发送端设备通过所述第一端口上的第三接口向所述接收端设备发送所述添加了与所述第二接口相关的标识后的报文。
应注意,本申请实施例中,发送单元640可以由通信接口实现,获取单元610、确定单元620和添加单元630可以由处理器实现。如图7所示,传输数据的设备700可以包括处理器710、存储器720和通信接口730。其中,处理器710可以用于确定通信接口730发送信息,存储器720可以用于存储处理器710执行的代码等。处理器710、存储器720和通信接口730之间通过内部连接通路互相通信,传递控制和/或数据信号。存储器可以是一个单独的器件,也可以集成在处理器中。上述的各个器件或部分器件可以集成到芯片中实现,如集成到基带芯片中实现。下面对处理器710、存储器720和通信接口730进行详细描述。
所述存储器720用于存储程序代码;
所述处理器710用于执行所述存储器720中存储的程序代码,当所述程序代码被执行时,处理器710用于获取待传输的至少两个报文。
处理器710还用于在所述发送端设备的至少两个接口中确定用于传输所述每个报文的第一接口,且确定所述每个报文的与所述第一接口相关的标识,其中,所述标识表示所述每个报文的第一接口在用于发送所述至少两个报文的至少两个接口中的排序。
处理器710还用于在所述每个报文的报文头中添加所述标识。
通信接口730用于通过所述第一接口向所述接收端发送添加所述标识后的报文,以使得所述接收端设备根据所述标识对所述添加所述标识后的报文进行顺序调整。
应理解,该传输数据的设备700中各单元分别用于执行上述各方法中由发送端设备执行的各动作或处理过程。这里,为了避免赘述,省略其详细说明。
应理解,上文中的传输数据的设备700可以是处理器系统中的CPU或者NC。
本申请实施例可以应用于处理器中,或者由处理器实现。处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是中央处理单元(central processing unit,CPU)、该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integratedcircuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件器组合执行完成。软件器可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DRRAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
装置和方法实施例中的网络设备或终端设备完全对应,由相应的模块执行相应的步骤,例如发送模块方法或发射器执行方法实施例中发送的步骤,接收模块或接收器执行方法实施例中接收的步骤,除发送接收外的其它步骤可以由处理模块或处理器执行。具体模块的功能可以参考相应的方法实施例,不再详述。
在实现过程中,上述方法的各步骤可以通过处理器710中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器720,处理器710读取存储器720中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
图8示出了本申请实施例的一种传输数据的设备800的示意性框图。所述设备800为于处理器系统中的设备,所述处理器系统包括第一节点控制器NC,还包括与所述第一NC连接的CPU或第二NC,其中,所述设备为接收端设备,所述接收端设备为所述第一NC、所述CPU或所述第二NC,所述接收端设备具有至少两个接口,所述接收端设备的每个接口与发送端设备的一个接口连接。
接收单元810,用于通过所述至少两个接口中的第二接口接收所述接收端通过第一接口发送的报文,其中,所述第二接口与所述第一接口连接,所述报文中包括与所述第一接口相关的标识,所述标识表示所述第一接口在所述发送端的用于发送至少两个报文的至少两个接口中的排序。
获取单元820,用于获取所述报文中的所述标识。
发送单元830,用于所述接收端将所述报文发送至所述接收端中的具有所述标识的接口的处理队列中。
本申请实施例中,发送端在发送至少两个报文时,通过在每个报文中添加与发送端的接口相关的标识,然后在物理布线乱序的CPU和NC之间或者在CXP混插的NC之间发送添加了该标识的报文,使得接收端能够根据报文中包含的该标识对接收的至少两个报文顺序进行调整,实现在物理布线乱序的CPU和NC之间或者在CXP混插的NC之间的数据的传输。
可选的,若所述处理器系统中包括所述第一NC和所述CPU,在所述CPU与所述第一NC之间传输数据的方式为全带宽传输方式的情况下,所述接收端设的至少两个接口的数量与所述报文的数量相等,且所述报文中的与所述第一接口相关的标识为所述第一接口的标识。
可选的,若所述处理器系统中包括所述第一NC和所述第二NC,其中,则所述第一NC的第一端口上具有至少两个接口,所述第二NC中与所述第一端口上的接口连接的接口位于所述第二NC的第二端口上。
应注意,本申请实施例中,接收单元810可以由通信接口实现,获取单元820和发送单元830可以由处理器实现。如图9所示,传输数据的设备900可以包括处理器910、存储器920和通信接口930。其中,处理器910可以用于确定通信接口930发送信息,存储器920可以用于存储处理器910执行的代码等。处理器910、存储器920和通信接口930之间通过内部连接通路互相通信,传递控制和/或数据信号。存储器可以是一个单独的器件,也可以集成在处理器中。上述的各个器件或部分器件可以集成到芯片中实现,如集成到基带芯片中实现。下面对处理器910、存储器920和通信接口930进行详细描述。
所述存储器920用于存储程序代码;
通信接口930用于通过所述至少两个接口中的第二接口接收所述接收端通过第一接口发送的报文,其中,所述第二接口与所述第一接口连接,所述报文中包括与所述第一接口相关的标识,所述标识表示所述第一接口在所述发送端的用于发送至少两个报文的至少两个接口中的排序。
所述处理器910用于执行所述存储器920中存储的程序代码,当所述程序代码被执行时,处理器910用于获取所述报文中的所述标识。
处理器910还用于所述接收端将所述报文发送至所述接收端中的具有所述标识的接口的处理队列中。
应理解,该传输数据的设备900中各单元分别用于执行上述各方法中由接收端设备执行的各动作或处理过程。这里,为了避免赘述,省略其详细说明。
应理解,上文中的传输数据的设备900可以是处理器系统中的CPU或者NC。
本申请实施例可以应用于处理器中,或者由处理器实现。处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是中央处理单元(central processing unit,CPU)、该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integratedcircuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件器组合执行完成。软件器可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DRRAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
装置和方法实施例中的网络设备或终端设备完全对应,由相应的模块执行相应的步骤,例如发送模块方法或发射器执行方法实施例中发送的步骤,接收模块或接收器执行方法实施例中接收的步骤,除发送接收外的其它步骤可以由处理模块或处理器执行。具体模块的功能可以参考相应的方法实施例,不再详述。
在实现过程中,上述方法的各步骤可以通过处理器910中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器920,处理器910读取存储器920中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如DVD)或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (12)
1.一种传输数据的方法,其特征在于,所述方法包括:
发送端获取待传输的第一报文;
所述发送端确定发送接口,以及所述第一报文与所述发送接口相关的标识,所述发送接口为所述发送端的至少两个接口中用于传输所述第一报文的接口,所述标识用于指示所述第一报文在所述发送端的至少两个接口中的排序;
所述发送端根据所述标识更新所述第一报文获得第二报文;
所述发送端通过所述发送接口向接收端发送所述第二报文。
2.根据权利要求1所述方法,其特征在于,所述发送端包括中央处理器CPU或节点控制器NC,所述接收端包括CPU或NC。
3.根据权利要求1或2所述方法,其特征在于,所述用于指示所述待传输的报文在所述发送端的至少两个接口中的排序包括正序和反序。
4.根据权利要求1至3中任一所述方法,其特征在于,所述发送端根据所述标识更新所述第一报文获得第二报文包括:
所述发送端在所述第一报文的包头中添加所述标识获取所述第二报文。
5.根据权利要求1至4中任一所述方法,其特征在于,所述发送端为第一NC和所述接收端为CPU,则在所述CPU与所述第一NC之间传输数据的方式为全带宽传输方式的情况下,所述第二报文中与所述第一接口相关的标识为用于指示所述第一接口的标识。
6.根据权利要求1至4中任一所述方法,其特征在于,所述发送端为第一NC,所述接收端为CPU,则在所述CPU与所述第一NC之间传输数据的方式为半带宽传输方式的情况下,若所述报文的数量为n个,用于传输所述n个报文中的第i个报文的第一接口在用于传输所述n个报文的n个接口中的排序为i,则所述第i个报文的与所述第一接口相关的标识为所述发送端中的第i个接口的标识,其中,所述发送端的至少两个接口的数量大于或等于所述至少两个报文的数量,n为正整数,i为小于或等于n的正整数。
7.根据权利要求至1至6中任一所述方法,其特征在于,所述发送端为第一NC,所述接收端为第二NC,所述第一NC和所述第二NC通过CXP接口进行数据传输。
8.根据权利要求7所述方法,其特征在于,所述第一端口包括多个端口,每个端口包括多个用于与其他NC连接的接口,所述方法还包括:
当所述第一NC的第一端口的第一接口故障时,所述发送端通过所述第一端口的第二接口向所述接收端发送所述第二报文。
9.根据权利要求8所述方法,其特征在于,所述方法还包括:
当所述第一NC的第一端口故障时,所述发送端通过第二端口的第一接口向所述接收端发送所述第二报文。
10.一种传输数据的方法,其特征在于,所述方法包括:
接收端接收第二报文,所述第二报文中包括标识,所述第二报文为发送端更新第一报文获得,所述标识用于指示所述发送端用于发送待发送的第一报文的接口在所述发送端的至少两个接口中的排序;
所述接收端根据所述标识将所述第二报文存储至处理队列,所述处理队列为所述接收端按照调整后的报文的顺序建立的队列。
11.一种传输数据的设备,其特征在于,所述设备包括获取单元、确定单元、添加单元和发送单元;
所述获取单元,用于获取待传输的第一报文;
所述确定单元,用于确定发送接口,以及所述第一报文与所述发送接口相关的标识,所述发送接口为所述发送端的至少两个接口中用于传输所述第一报文的接口,所述标识用于指示所述第一报文在所述发送端的至少两个接口中的排序;
所述添加单元,用于根据所述标识更新所述第一报文获得第二报文;
所述发送单元,用于通过所述发送接口向接收端发送所述第二报文。
12.一种传输数据的设备,其特征在于,所述设备包括处理器和存储器,所述存储器用于存储计算机指令,当所述设备运行时,所述处理器读取所述计算机指令以利用所述设备中的硬件资源执行权利要求1至9或权利要求10中任一所述方法的操作步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010576146.6A CN111917656B (zh) | 2017-07-27 | 2017-07-27 | 传输数据的方法和设备 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010576146.6A CN111917656B (zh) | 2017-07-27 | 2017-07-27 | 传输数据的方法和设备 |
CN201710624681.2A CN109309615B (zh) | 2017-07-27 | 2017-07-27 | 传输数据的方法和设备 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710624681.2A Division CN109309615B (zh) | 2017-07-27 | 2017-07-27 | 传输数据的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111917656A true CN111917656A (zh) | 2020-11-10 |
CN111917656B CN111917656B (zh) | 2023-11-07 |
Family
ID=65039952
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710624681.2A Active CN109309615B (zh) | 2017-07-27 | 2017-07-27 | 传输数据的方法和设备 |
CN202010576146.6A Active CN111917656B (zh) | 2017-07-27 | 2017-07-27 | 传输数据的方法和设备 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710624681.2A Active CN109309615B (zh) | 2017-07-27 | 2017-07-27 | 传输数据的方法和设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11243900B2 (zh) |
EP (1) | EP3605967B1 (zh) |
CN (2) | CN109309615B (zh) |
WO (1) | WO2019019793A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111835610B (zh) * | 2020-05-29 | 2022-05-03 | 中车株洲电力机车研究所有限公司 | 数据共享方法、系统、存储介质及电子设备 |
CN112003816B (zh) * | 2020-06-22 | 2023-04-18 | 武汉光迅科技股份有限公司 | 数据传输方法、装置、设备及存储介质 |
Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1536820A (zh) * | 2003-04-09 | 2004-10-13 | 华为技术有限公司 | 提高网络拥塞时数据传输性能的方法 |
CN1764153A (zh) * | 2004-10-22 | 2006-04-26 | 华为技术有限公司 | 一种基于rtp的数据报文传输的实现方法 |
US20070116026A1 (en) * | 2005-10-31 | 2007-05-24 | Huang Yiren R | Scatter and gather scheme for aggregating multiple high speed point-to-point interfaces |
CN101304557A (zh) * | 2008-04-25 | 2008-11-12 | 华为技术有限公司 | 一种分组传输控制方法及装置 |
US20080307102A1 (en) * | 2007-06-08 | 2008-12-11 | Galloway Curtis C | Techniques for communicating data between a host device and an intermittently attached mobile device |
US20100287320A1 (en) * | 2009-05-06 | 2010-11-11 | Lsi Corporation | Interprocessor Communication Architecture |
CN101908036A (zh) * | 2010-07-22 | 2010-12-08 | 中国科学院计算技术研究所 | 一种高密度多处理器系统及其节点控制器 |
CN102026045A (zh) * | 2009-09-17 | 2011-04-20 | 华为技术有限公司 | 数据帧的发送处理和接收处理方法、装置和系统 |
CN102025601A (zh) * | 2009-09-17 | 2011-04-20 | 中兴通讯股份有限公司 | 一种数据封装方法及系统 |
CN102638589A (zh) * | 2012-04-12 | 2012-08-15 | 北京星网锐捷网络技术有限公司 | 一种通道的对应连接关系的确定方法及相关连接端和系统 |
CN103413003A (zh) * | 2013-08-21 | 2013-11-27 | 浪潮(北京)电子信息产业有限公司 | 一种序列传输、接收装置及方法 |
CN103491079A (zh) * | 2013-09-12 | 2014-01-01 | 杭州华为数字技术有限公司 | 一种报文生成装置、服务器以及方法 |
CN103532875A (zh) * | 2013-10-12 | 2014-01-22 | 江苏华丽网络工程有限公司 | 一种用于pcie应用层接口的重排序技术 |
CN103684585A (zh) * | 2012-09-03 | 2014-03-26 | 华为技术有限公司 | 测量保护组倒换时间的方法、设备和系统 |
US20140204740A1 (en) * | 2012-07-24 | 2014-07-24 | Panasonic Corporation | Bus system and router |
CN104813605A (zh) * | 2012-12-17 | 2015-07-29 | 高通股份有限公司 | 用于多跳混合网络的无缝切换 |
US20150263956A1 (en) * | 2014-03-14 | 2015-09-17 | International Business Machines Corporation | Remotely controlled message queue |
CN105871739A (zh) * | 2016-06-17 | 2016-08-17 | 华为技术有限公司 | 一种处理报文的方法及计算设备 |
US20160283429A1 (en) * | 2015-03-26 | 2016-09-29 | Intel Corporation | Multichip package link |
WO2016183727A1 (zh) * | 2015-05-15 | 2016-11-24 | 华为技术有限公司 | 一种传输数据的方法及装置 |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6714559B1 (en) * | 1991-12-04 | 2004-03-30 | Broadcom Corporation | Redundant radio frequency network having a roaming terminal communication protocol |
US6091714A (en) * | 1997-04-30 | 2000-07-18 | Sensel; Steven D. | Programmable distributed digital switch system |
US6067603A (en) * | 1998-10-01 | 2000-05-23 | International Business Machines Corporation | Non-uniform memory access (NUMA) data processing system that speculatively issues requests on a node interconnect |
US6751698B1 (en) * | 1999-09-29 | 2004-06-15 | Silicon Graphics, Inc. | Multiprocessor node controller circuit and method |
US6999418B2 (en) * | 2001-12-21 | 2006-02-14 | Fujitsu Limited | System and method for reduced frame flooding |
JP3822508B2 (ja) * | 2002-03-08 | 2006-09-20 | 日本電信電話株式会社 | パケット伝送システムとそのデータ送信装置及びデータ受信装置 |
US7103823B2 (en) * | 2003-08-05 | 2006-09-05 | Newisys, Inc. | Communication between multi-processor clusters of multi-cluster computer systems |
KR20050022759A (ko) * | 2003-08-27 | 2005-03-08 | 대한민국(창원대학교) | Pc-nc용 pci버스 인터페이스보드 |
US7664900B2 (en) * | 2004-07-02 | 2010-02-16 | Nec Corporation | Multiprocessor system and method for processing memory access |
US7383423B1 (en) * | 2004-10-01 | 2008-06-03 | Advanced Micro Devices, Inc. | Shared resources in a chip multiprocessor |
JP4848771B2 (ja) * | 2006-01-04 | 2011-12-28 | 株式会社日立製作所 | キャッシュ一貫性制御方法およびチップセットおよびマルチプロセッサシステム |
JP4760504B2 (ja) * | 2006-04-12 | 2011-08-31 | 株式会社日立製作所 | ネットワークシステムおよび通信装置 |
US8249067B2 (en) * | 2008-02-27 | 2012-08-21 | Broadcom Corporation | Separation of fabric and packet processing source in a system |
JP5212476B2 (ja) * | 2008-08-18 | 2013-06-19 | 富士通株式会社 | ノード間通信方法、サーバ装置、ノード間通信プログラム |
WO2011043379A1 (ja) * | 2009-10-06 | 2011-04-14 | 日本電気株式会社 | ネットワークシステムとコントローラと方法とプログラム |
CN102141975B (zh) * | 2011-04-01 | 2013-10-09 | 华为技术有限公司 | 计算机系统 |
CN103092807B (zh) * | 2012-12-24 | 2015-09-09 | 杭州华为数字技术有限公司 | 节点控制器、并行计算服务器系统以及路由方法 |
CN103150264B (zh) | 2013-01-18 | 2014-09-17 | 浪潮电子信息产业股份有限公司 | 一种基于扩展型Cache Coherence协议的多级一致性域仿真验证和测试方法 |
CN105308574A (zh) * | 2013-06-28 | 2016-02-03 | 惠普发展公司,有限责任合伙企业 | 永久主存储器的容错 |
CN103488606B (zh) * | 2013-09-10 | 2016-08-17 | 华为技术有限公司 | 基于节点控制器的请求响应方法和装置 |
JP6303452B2 (ja) * | 2013-12-02 | 2018-04-04 | 富士通株式会社 | 通信ノード |
CN105281883B (zh) * | 2014-06-30 | 2019-07-09 | 深圳市中兴微电子技术有限公司 | 多通道同步方法、同步装置及系统 |
WO2016009505A1 (ja) * | 2014-07-16 | 2016-01-21 | かもめエンジニアリング株式会社 | 通信方法および通信システム |
US9813323B2 (en) * | 2015-02-10 | 2017-11-07 | Big Switch Networks, Inc. | Systems and methods for controlling switches to capture and monitor network traffic |
CN105808499A (zh) * | 2016-04-01 | 2016-07-27 | 浪潮电子信息产业股份有限公司 | 一种cpu互联装置以及多路服务器cpu互联拓扑结构 |
CN107341114B (zh) * | 2016-04-29 | 2021-06-01 | 华为技术有限公司 | 一种目录管理的方法、节点控制器和系统 |
CN106230744B (zh) * | 2016-07-26 | 2019-04-16 | 京信通信系统(中国)有限公司 | 一种数据流乱序重组的方法及转发设备 |
WO2018037510A1 (ja) * | 2016-08-24 | 2018-03-01 | 株式会社日立製作所 | 計算機システム、通信デバイス、及び、記憶制御方法 |
US10764366B2 (en) * | 2017-01-03 | 2020-09-01 | Wipro Limited | System and method for storing data in data storage unit of virtual storage area network |
-
2017
- 2017-07-27 CN CN201710624681.2A patent/CN109309615B/zh active Active
- 2017-07-27 CN CN202010576146.6A patent/CN111917656B/zh active Active
-
2018
- 2018-05-30 EP EP18837449.0A patent/EP3605967B1/en active Active
- 2018-05-30 WO PCT/CN2018/088922 patent/WO2019019793A1/zh unknown
-
2019
- 2019-10-31 US US16/670,193 patent/US11243900B2/en active Active
Patent Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1536820A (zh) * | 2003-04-09 | 2004-10-13 | 华为技术有限公司 | 提高网络拥塞时数据传输性能的方法 |
CN1764153A (zh) * | 2004-10-22 | 2006-04-26 | 华为技术有限公司 | 一种基于rtp的数据报文传输的实现方法 |
US20070116026A1 (en) * | 2005-10-31 | 2007-05-24 | Huang Yiren R | Scatter and gather scheme for aggregating multiple high speed point-to-point interfaces |
US20080307102A1 (en) * | 2007-06-08 | 2008-12-11 | Galloway Curtis C | Techniques for communicating data between a host device and an intermittently attached mobile device |
CN101304557A (zh) * | 2008-04-25 | 2008-11-12 | 华为技术有限公司 | 一种分组传输控制方法及装置 |
US20100287320A1 (en) * | 2009-05-06 | 2010-11-11 | Lsi Corporation | Interprocessor Communication Architecture |
CN102026045A (zh) * | 2009-09-17 | 2011-04-20 | 华为技术有限公司 | 数据帧的发送处理和接收处理方法、装置和系统 |
CN102025601A (zh) * | 2009-09-17 | 2011-04-20 | 中兴通讯股份有限公司 | 一种数据封装方法及系统 |
CN101908036A (zh) * | 2010-07-22 | 2010-12-08 | 中国科学院计算技术研究所 | 一种高密度多处理器系统及其节点控制器 |
CN102638589A (zh) * | 2012-04-12 | 2012-08-15 | 北京星网锐捷网络技术有限公司 | 一种通道的对应连接关系的确定方法及相关连接端和系统 |
US20140204740A1 (en) * | 2012-07-24 | 2014-07-24 | Panasonic Corporation | Bus system and router |
CN103684585A (zh) * | 2012-09-03 | 2014-03-26 | 华为技术有限公司 | 测量保护组倒换时间的方法、设备和系统 |
CN104813605A (zh) * | 2012-12-17 | 2015-07-29 | 高通股份有限公司 | 用于多跳混合网络的无缝切换 |
CN103413003A (zh) * | 2013-08-21 | 2013-11-27 | 浪潮(北京)电子信息产业有限公司 | 一种序列传输、接收装置及方法 |
CN103491079A (zh) * | 2013-09-12 | 2014-01-01 | 杭州华为数字技术有限公司 | 一种报文生成装置、服务器以及方法 |
CN103532875A (zh) * | 2013-10-12 | 2014-01-22 | 江苏华丽网络工程有限公司 | 一种用于pcie应用层接口的重排序技术 |
US20150263956A1 (en) * | 2014-03-14 | 2015-09-17 | International Business Machines Corporation | Remotely controlled message queue |
US20160283429A1 (en) * | 2015-03-26 | 2016-09-29 | Intel Corporation | Multichip package link |
WO2016183727A1 (zh) * | 2015-05-15 | 2016-11-24 | 华为技术有限公司 | 一种传输数据的方法及装置 |
CN105871739A (zh) * | 2016-06-17 | 2016-08-17 | 华为技术有限公司 | 一种处理报文的方法及计算设备 |
Non-Patent Citations (2)
Title |
---|
李韬;张晓明;孙志刚;: "粗粒度数据流网络处理器体系结构及原型系统设计", no. 08 * |
王圣;苏金树;: "基于硬件的乱序报文重组算法", 计算机工程, no. 22 * |
Also Published As
Publication number | Publication date |
---|---|
WO2019019793A1 (zh) | 2019-01-31 |
CN109309615B (zh) | 2020-07-07 |
US11243900B2 (en) | 2022-02-08 |
CN109309615A (zh) | 2019-02-05 |
EP3605967A4 (en) | 2020-04-22 |
CN111917656B (zh) | 2023-11-07 |
EP3605967A1 (en) | 2020-02-05 |
US20200065279A1 (en) | 2020-02-27 |
EP3605967B1 (en) | 2022-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103023824B (zh) | 基于周边组件接口快速通道PCIe的数据传输系统及方法 | |
CN107483538B (zh) | 一种在微服务集群的节点上处理访问请求包的方法和装置 | |
US20180324779A1 (en) | Data transmission method and a base station | |
CN114040467B (zh) | 一种传输路径的确定方法、装置、服务器及存储介质 | |
CN109672708B (zh) | 通信方法及装置、系统 | |
CN109309615B (zh) | 传输数据的方法和设备 | |
CN109889521B (zh) | 存储器、通信通道复用实现方法、装置和设备 | |
CN112039796A (zh) | 数据包传输方法和装置、存储介质和电子设备 | |
CN1841356A (zh) | 用于系统级初始化的方法、系统和装置 | |
CN111092925B (zh) | 一种区块链扩容处理方法、装置及设备 | |
KR102303424B1 (ko) | 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치 | |
CN111641565A (zh) | 一种以太网报文的传输方法、装置及系统 | |
CN111385069A (zh) | 数据传输方法及计算机设备 | |
CN113316212B (zh) | 一种基站前传数据流的传输方法及装置 | |
CN111416695B (zh) | 一种数据传输方法、终端和网络侧设备 | |
CN111092817A (zh) | 一种数据传输方法及装置 | |
CN111400238B (zh) | 一种数据处理方法及装置 | |
CN111124445B (zh) | 一种家庭网关的升级方法及家庭网关 | |
CN112188562A (zh) | 中继基站的多播调度方法和装置、存储介质及电子装置 | |
CN109818705B (zh) | 传送、接收子速率信号方法及装置、设备 | |
WO2018202151A1 (zh) | 通信方法和通信装置 | |
CN113132300A (zh) | 音频数据传输方法及装置 | |
US20230217239A1 (en) | Method of coordinating multiple instances of user plane traffic processing in a data network | |
CN112511463B (zh) | 报文的发送方法及装置 | |
CN110347632B (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220110 Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province Applicant after: Super fusion Digital Technology Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |