提高带宽利用率的单板和数据传输系统以及方法

文档序号:7665471阅读:487来源:国知局

专利名称::提高带宽利用率的单板和数据传输系统以及方法
技术领域
:本发明涉及基于总线接口转换的数据传输技术,特别涉及基于总线接口转换的一种提高带宽利用率的单板、一种提高带宽利用率的数据传输系统、以及一种提高带宽利用率的数据传输方法。
背景技术
:为了适应互联网中数据流量的迅速增长,通常会釆用快速外设部件互联标准(PCIExpress,PCIe)总线技术来緩解系统带宽的不足。其中,PCIe是由因特尔(Intel)倡导开发的处理器系统总线,基于一种串行互连技术,目前已经被PCI-SIG国际组织接受、并成为外设部件互联标准(PCI)、PCI-X的继承者,目标是完全取代PCI和PCI-X。PCIe的每对线路提供2.5Gbit/s带宽,可以通过多对线路捆绑提供更高的带宽。以交换网为例,交换网中各单板的单板处理器均通过PCIe总线分别连接至PCIe交换机的不同PCIe总线接口,并通过PCIe总线向PCIe交换机发送如图l所示的PCIe数据包。如图l所示,一个完整的PCIe数据包由处理层、数据链路层和物理层组成;处理层至少包括16个字节的PCIe包头(Header)和64个字节的数据(Data),PCIe包头中的高8字节为地址字段,标示了该数据包的最终目标地址。这样,PCIe交换机基于PCIe数据包的PCIe包头中的地址字段,实现其各PCIe总线接口间的数据交换,从而实现了各单板的单板处理器间的数据传输。其中,按照不同的功能,单板可分为主控板和高速线路板;主控板与高速线路板之间传输控制数据,以实现主控板对各高速线路板的管理;而高速线路板则用于实现各种业务处理,各高速线路板之间传输各种业务数据;不论是主控板还是高速线路板,其中央处理器(CPU)均可统称为单板处理器,单板处理器可以为现有低性能的单核处理器、高性能的多核处理器或网络处理器。然而,某些单板处理器,例如某些多核处理器和网络处理器,只支持第4.2版数据速率的系统包接口(SPI4.2)总线接口,而无法支持PCIe总线接c。其中,如图2所示,SPI-4.2总线接口通常由下行(Egress)接口和上行(Ingress)接口构成,Egress接口和Ingress接口各自独立(实际应用中,这两个接口可以独立存在,并不需要成对出现)。Egress接口和Ingress接口又分别包含了数据通道和先进先出存储器(FIFO)状态通道,两个通道的传输方向相反。数据通道用于数据流的传输,而FIFO状态通道则完全独立于数据通道,用于发送FIFO状态信息,从而实现总线的数据流量控制。对于这种情况,需要在单板上设置一总线接口转换器,实现SPI4.2总线接口与PCIe总线接口之间的转换,从而实现各单板间基于总线接口转换的数据传输。通常情况下,总线接口转换器可以由现场可编程门阵列(FPGA)来实现。如图3所示,以单板包括主控板和高速线路板为例,现有一种基于总线接口转换的数据传输系统包括1个支持PCIe总线的PCIe交换机、1个主控板、以及m个高速线路板,其中,m为大于2的正整数。主控板的CPU支持PCIe总线接口,并通过PCIe总线连接至PCIe交换机的一个PCIe总线接口U,用于与各高速线路板传输各种控制数据,实现对各高速线路板的管理。各高速线路板的CPU支持SPI4.2总线接口,因此,每个高速线路板还包括一个作为总线接口转换器的FPGA。每个高速线路板上的FPGA通过SPI4.2总线接口与该高速线路板上的CPU相连,并通过PCIe总线接口和PCIe总线与PCIe交换机的一个PCIe总线接口D相连,实现传输数据的总线接口转换。以图3中双箭头虚线所示的数据传输路径为例,假设高速线路板1需要向高速线路板m传输数据,则高速线路板1的CPU通过SPI4.2总线接口向该高速线路板上的FPGA发送SPI4.2数据包。其中,SPI4.2数据包的结构如图4所示,包括SPI4.2控制字和SPI4.2数据报文。由于PCIe数据包的PCIe包头中需要包括8个字节的地址字段以标识该PCIe数据包的目标地址,而SPI4.2数据包中并未包括8个字节的地址字段,因此,除了将待传输的数据添加至SPI4.2数据报文中之外,高速线路板1的CPU还需要在SPI4.2数据报文中添加16位PCIe包头,所添加的PCIe包头中包括表示高速线路板m的目标地址。也就是说,由高速线路板l的CPU直接构造PCIe数据包,并将其构造的PCIe数据包作为外发的SPI4.2数据包中的SPI4.2数据才艮文发送给本板(即该CPU所在的单板)的FPGA。这样,高速线路板1中作为总线转换器的FPGA直接将接收自本板CPU的SPI4.2数据包中的SPI4.2数据报文、即PCIe数据包剥离,并按照其中表示高速线路板m的目标地址将该PCIe数据包发出即可,而无须其他操作。PCIe交换机即可按照接收到的PCIe数据包中表示高速线路板m的目标地址,将该PCIe数据包通过对应的PCIe总线接口D,发送至高速线路板m。上述方式虽然能够实现基于总线接口转换的数据传输,但却由于高速线路板1的CPU在其传输给本板FPGA的SPI4.2数据包中还需要添加额外PCIe包头,占用了部分带宽,尤其在传输较小的数据包时,占用的带宽比例更高。以传64字节的SPI4.2数据包为例,在该SPI4.2数据包中还需要额外添加16字节的开销,这样,对于板内IOG带宽的SPI4.2总线,由于每个SPI4.2数据包16字节的开销,将会使SPI4.2总线中用于传输数据的实际带宽下降为10Gx64字节/(64字节+16字节)-8G。同理,由多对线路构成的PCIe总线带宽的利用率、即板间带宽利用率也会随之下降。可见,现有基于总线接口转换的数据传输方式中,总线的带宽利用率不高。
发明内容有鉴于此,本发明提供了一种提高带宽利用率的单板、一种提高带宽利用率的数据传输系统、以及一种提高带宽利用率的数据传输方法,能够提高数据传输的总线带宽利用率。本发明提供的一种提高带宽利用率的单板,包括通过SPI4.2总线接口相连的单板处理器和总线接口转换器,所述单板处理器,根据预先设置的端口地址与单板的对应关系,在SPI数据包的控制字中设置待发送数据的目标单板所对应的端口地址,所述SPI数据包中包括所述待发送数据;将该SPI数据包通过所述SPI4.2总线接口发送至所述总线接口转换器;所述总线接口转换器,根据接收自所述单板处理器的SPI数据包中的端口地址、以及预先设置的端口地址与单板地址的对应关系,确定作为所述待发送数据目标地址的单板地址,将所确定的单板地址添加至所述PCIe数据包的PCIe包头中,该PCIe数据包中包括所述SPI数据包中的待发送数据;通过其PCIe总线接口发出所述PCIe数据包。所述总线接口转换器进一步在发送的PCIe数据包的PCIe包头中,添加其所在单板对应的单板标识。所述总线接口转换器进一步通过其PCIe总线接口接收来自外部其他单板的PCIe数据包,该PCIe数据包的PCIe包头中包括发送该PCIe数据包的其他单板所对应的单板标识;根据接收到的PCIe数据包向所述单板处理器发送SPI数据包;根据预先设置的单板标识与端口地址的对应关系,在该SPI数据包中i殳置所述外部其他单;f反对应的端口地址;所述单板处理器,根据接收到的SPI数据包中的端口地址识别出所述外部其他单板;在其所在单板发生拥塞时,向所述总线接口转换器发送流控信息,所述流、控信息中包括所述外部其他单板对应的端口地址;所述总线接口转换器根据来自所述单板处理器且包括端口地址的流控信息,向外部发送PCIe流控包,该PCIe流控包中包括所述流控信息中的端口;也址所^f应的单纟反;也址。所述总线接口转换器进一步接收来自外部的PCIe流控包;向其所在单板的单板处理器发送对应的流控信息,并在发送给其所在单板的单板处理器的流控信息中设置其所在单板所对应的端口地址,以表示其所在单板的流量需进行调整。所述总线接口转换器进一步与其所在单板的外部交换设备相连,所述交换设备支持快速外设部件互联标准PCIe总线;所述总线接口转换器进一步根据直接来自所述交换设备的PCIe流控包,向该单板的单板处理器发送对应的流控信息,并在发送给该单板的单板处理器的流控信息中设置预设的通用端口地址,以表示该单板的流量需进行调整。本发明提供的另一种提高带宽利用率的单板,包括通过SPI4.2总线接口相连的单板处理器和总线接口转换器,所述总线接口转换器,通过其PCIe总线接口接收来自外部其他单板的PCIe数据包,该PCIe数据包的PCIe包头中包括发送该PCIe数据包的其他单板所对应的单板标识;根据接收到的PCIe数据包向所述单板处理器发送SPI数据包;根据预先设置的单板标识与端口地址的对应关系,在该SPI数据包的控制字中设置所述外部其他单板对应的端口地址;所述单板处理器,根据接收到的SPI数据包中的端口地址识别出所述外部其他单板。所述单板处理器在其所在单板发生拥塞时,进一步向所述总线接口转换器发送流控信息,所述流控信息中包括所述外部其他单板对应的端口地址;所述总线接口转换器根据来自所述单板处理器且包括端口地址的流控信息,向外部发送PCIe流控包,该PCIe流控包中包括所述流控信息中的端口地址所对应的单板地址。本发明提供的一种提高带宽利用率的数据传输系统,包括支持快速外设部件互联标准PCIe总线的交换设备、源单板和目标单板,其中,所述源单板和目标单板均包括通过SPI4.2总线接口相连的单板处理器和总线接口转换器,且所述总线接口转换器通过PCIe总线接口与所述交换设备相连;源单板的单板处理器,根据预先设置的端口地址与单板的对应关系,在SPI数据包的控制字中设置待发送数据的目标单板所对应的端口地址,所述SPI数据包中包括所述待发送数据;将该SPI数据包通过发送至所述源单板的总线接口转换器;源单板的总线接口转换器,根据接收自所述源单板的单板处理器的SPI数据包中的端口地址、以及预先设置的端口地址与单板地址的对应关系,确定作为所述待发送数据目标地址的单板地址,将所确定的单板地址添加至所述PCIe数据包的PCIe包头中,该PCIe数据包中包括所述SPI数据包中的待发送数据;通过其PCIe总线接口向所述交换设备发送所述PCIe数据包。源单板的总线接口转换器进一步在发送的PCIe数据包的PCIe包头中,添加所述源单板对应的单板标识;所述目标单板的总线接口转换器,根据接收到的PCIe数据包向所述目标单板的单板处理器发送SPI数据包,并根据预先设置的单板标识与端口地址的对应关系,在发送给所述目标单板的单板处理器的SPI数据包中设置源单板对应的端口地址;所述目标单板的单板处理器,根据接收到的SPI数据包中的端口地址识别出所述源单板;在所述目标单板发生拥塞时,向所述目标单板的总线接口转换器发送包括与源单板对应的端口地址的流控信息;所述目标单板的总线接口转换器根据来自所述目标单板的单板处理器且包括与源单板对应的端口地址的流控信息,向所述交换设备发送PCIe流控包,该PCIe流控包中包括所述源单板的单板地址。在通过所述交换设备接收到所述PCIe流控包后,所述源单板的总线接口转换器进一步向所述源单板的单板处理器发送对应的流控信息,并根据所述端口地址与单板地址的对应关系,在发送给所述源单板的单板处理器的流控信息中设置所述源单板所对应的端口地址,以表示所述源单板的流量需进行调整。所述交换设备在其内部发生拥塞后,向源单板的总线接口转换器发送PCIe流控包;所述源单板的总线接口转换器进一步根据直接来自所述交换设备的PCIe流控包,向所述源单板的单板处理器发送对应的流控信息,并在发送给所述源单板的单板处理器的流控信息中设置预设的通用端口地址,以表示所述源单板的流量需进行调整。本发明提供的一种提高带宽利用率的数据传输方法,包括单板上的单板处理器根据预先设置的端口地址与单板的对应关系,在SPI数据包的控制字中设置待发送数据的目标单板所对应的端口地址,所述SPI数据包中包括所述待发送数据;所述单板处理器将该SPI数据包通过所述SPI4.2总线接口发送至所述总线接口转换器;所述单板上的总线接口转换器根据接收自所述单板处理器的SPI数据包中的端口地址、以及预先设置的端口地址与单板地址的对应关系,确定作为所述待发送数据目标地址的单板地址,将所确定的单板地址添加至所述PCIe数据包的PCIe包头中,该PCIe数据包中包括所述SPI数据包中的待发送数据;所述总线接口转换器通过其PCIe总线接口发出所述PCIe数据包。在通过其PCIe总线接口发出所述PCIe数据包之前,该方法进一步包括所述总线接口转换器进一步在发送的PCIe数据包的PCIe包头中,添加其所在单板对应的单板标识。该方法进一步包括所述总线接口转换器通过其PCIe总线接口接收来自外部其他单板的PCIe数据包,该PCIe数据包的PCIe包头中包括发送该PCIe数据包的其他单板所对应的单板标识;所述总线接口转换器根据接收到的PCIe数据包向所述单板处理器发送SPI数据包,并根据预先设置的单板标识与端口地址的对应关系,在该SPI数据包中设置所述外部其他单板对应的端口地址;所述单板处理器,根据接收到的SPI数据包中的端口地址识别出所述外部其他单板,并在其所在单板发生拥塞时,向所述总线接口转换器发送流控信息,所述流控信息中包括所述外部其他单板对应的端口地址;所述总线接口转换器根据来自所述单板处理器且包括端口地址的流控信息,向外部发送PCIe流控包,该PCIe流控包中包括所述流控信息中的端口地址所对应的单板地址。该方法进一步包括所述总线接口转换器接收来自外部的PCIe流控包;所述总线接口转换器向其所在单板的单板处理器发送对应的流控信息,并在发送给其所在单板的单板处理器的流控信息中设置其所在单板所对应的端口地址,以表示其所在单板的流量需进行调整。所述单板标识为所述PCIe包头中的请求身份标识RequestID。本发明提供的另一种提高带宽利用率的数据传输方法,其特征在于,该方法包4舌单板上的总线接口转换器通过其PCIe总线接口接收来自外部其他单板的PCIe数据包,该PCIe数据包的PCIe包头中包括发送该PCIe数据包的其他单板所对应的单板标识;所述总线接口转换器根据接收到的PCIe数据包向其所在单板的单板处理器发送SPI数据包,并根据预先设置的单板标识与端口地址的对应关系,在该SPI数据包的控制字中设置所述外部其他单板对应的端口地址;所述单板处理器根据接收到的SPI数据包中的端口地址识别出所述外部其他单板。识别出所述外部其他单板之后,该方法进一步包括所述单板处理器在其所在单板发生拥塞时,向所述总线接口转换器发送流控信息,所述流控信息中包括所述外部其他单板对应的端口地址;所述总线接口转换器根据来自所述单板处理器且包括端口地址的流控信息,向外部发送PCIe流控包,该PCIe流控包中包括所述流控信息中的端口地址所对应的单板地址。本发明提供的又一种提高带宽利用率的数据传输方法,包括源单板的单板处理器根据预先设置的端口地址与单板的对应关系,在SPI数据包的控制字中设置待发送数据的目标单板所对应的端口地址,所述SPI数据包中包括所述待发送数据,并将该SPI数据包通过SPI4.2总线接口发送至所述源单板的总线接口转换器;源单板的总线接口转换器根据接收自所述源单板的单板处理器的SPI数据包的控制字中的端口地址、以及预先设置的端口地址与单板地址的对应关系,确定作为所述待发送数据目标地址的单板地址,将所确定的单板地址添加至所述PCIe数据包的PCIe包头中,该PCIe数据包中包括了所述SPI数据包中的待发送数据,通过PCIe总线接口向所述交换设备发出所述PCIe数据包;所述交换设备将接收到的PCIe数据包转发至所述目标单板。所述通过PCIe接口发出所述PCIe数据包之前,该方法进一步包括源单板的总线接口转换器在PCIe数据包的PCIe包头中,添加所述源单板对应的预设单板标识;所述目标单板的总线接口转换器根据接收到的PCIe数据包向所述目标单板的单板处理器发送SPI数据包,并根据预先设置的单板标识与端口地址的对应关系,在发送给所述目标单板的单板处理器的SPI数据包中设置源单板对应的端口地址;所述目标单板的单板处理器根据接收到的SPI数据包中的端口地址识别出所述源单板,并在所述目标单板发生拥塞时,向所述目标单板的总线接口转换器发送包括源单板对应的端口地址的流控信息;所述目标单板的总线接口转换器根据来自所述目标单板的单板处理器且包括端口地址的流控信息,向所述源单板发送PCIe流控包,该PCIe流控包中包括所述源单板的单板地址。在所述源单板通过所述交换设备接收到所述PCIe流控包后,该方法进一步包括所述源单板的总线接口转换器向所述源单板的单板处理器发送对应的流控信息,并根据所述端口地址与单板地址的对应关系,在发送给所述源单板的单板处理器的流控信息中设置所述源单板所对应的端口地址,以表示所述源单板的流量需进行调整。由上述技术方案可见,单板处理器利用SPI4.2数据包中SPI4.2控制字的端口地址来表示待发送数据的目标单板;在通过SPI4.2总线接口接收到来自本板单板处理器的SPI4.2数据包后,总线接口转换器根据SPI4.2数据包中SPI4.2控制字的端口地址、以及预先分配的端口地址与目标地址、即与目标单板地址的对应关系,确定待发送数据的目标地址,并将确定的目标地址添加至PCIe数据包的PCIe包头中,且该PCIelt据包的数据为SPI4.2数据包的SPI4.2数据报文中的数据,然后再根据PCIe包头将该PCIe数据包通过PCIe总线接口传输至PCIe交换设备,由该设备根据PCIe包头将该PCIe数据包转发至对应的目标单板。由于单板处理器仅在发送给本板总线接口转换器的SPI4.2数据报文中添加待发送的数据,而不再添加PCIe包头,从而提高了板内的带宽利用率,因而也能够提高板间带宽利用率。尤其在传输较小的数据包时,提高带宽利用率的效果更为明显。图1为PCIe数据包的结构示意图。图2为SPI4.2总线接口的模型结构结构图。图3为现有基于总线接口转换的数据传输系统的结构示意图。图4为SPI4.2数据包的结构示意图。图5为本发明实施例中基于总线接口转换的数据传输系统的结构示意图。图6为本发明实施例中基于总线接口转换的数据传输系统实现板间流控的示意图。图7为本发明实施例中基于总线接口转换的数据传输方法的流程示意图。具体实施例方式为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。本发明中,对于需进行接口总线转换的单板,其单板处理器利用SPI4.2数据包中SPI4.2控制字的端口地址来表示待发送数据的目标单板,仅在发送给本板总线接口转换器的SPI4.2数据报文中添加待发送的数据,而不再添加PCIe包头,从而提高了板内的带宽利用率;在通过SPI4.2总线接口接收到来自本板单板处理器的SPI4.2数据包后,总线接口转换器根据SPI4.2数据包中SPI4.2控制字的端口地址、以及预先分配的端口地址与目标地址(即目标单板的地址)的对应关系,确定待发送数据的目标地址,并将确定的目标地址添加至PCIe数据包的PCIe包头中,且该PCIe数据包的数据为SPI4.2数据包的SPI4.2数据报文中的数据,然后再根据PCIe包头将该PCIe数据包通过PCIe总线接口传输至PCIe交换设备,由该交换设备根据PCIe包头将该PCIe数据包转发至对应的目标单板,由于提高了每块单板的板内带宽利用率,因而在板间带宽足够大(大于等于板内带宽)的情况下,也同时提高了板间带宽利用率。其中,上述需进行接口总线转换的单板可以为主控板,也可以为高速线路板。具体来说,参见如下所示的表l,SPI4.2数据包的SPI4.2控制字中包含了端口地址字段,即表l中的[ll:4]位。<table><row><column>15</column><column>控制字类型</column><column>1:净荷控制字(表示控制字之后紧跟一净荷传输);0:空闲(idle)码流或训练(training)序列控制字;</column></row><row><column>14:13</column><column>EOP状态</column><column>00:非EOP;01:特殊应用错误情况;10:EOP正常结束,2字节有效;11:EOP正常结束,l字节有效;</column></row><row><column>12</column><column>SOP</column><column>1:冲艮文起始;0:idle码流或training序列控制字;</column></row><row><column>11:4</column><column>端口地址</column><column>1254:有效,表明紧跟此控制字的数据的端口地址;0:idle码流控制字;1:training序列控制字;</column></row><row><column>3:0</column><column>DIP-4</column><column>DIP4奇校验。</column></row><table>表1SPI4.2控制字本发明为系统中的每块单板分配固定的SPI4.2端口地址,即建立端口地址与各单板的对应关系,从而能够利用SPI4.2数据包中SPI4.2控制字的端口地址来表示待发送数据的目标单板。图5为本发明实施例中基于总线接口转换的数据传输系统的结构示意图。如图5所示,以支持PCIe总线的交换设备为PCIe交换机、单板包括主控板和高速线路板、主控板的CPU支持PCIe总线接口、高速线路板的CPU支持SPI4.2总线接口为例,该系统包括1块主控板、1个PCIe交换机、以及高速线路4反1~6。由于本实施例中,主控板的CPU支持PCIe总线接口,因此,在此不再详述。高速线路板1~6均包括作为单板处理器的CPU、以及作为总线接口转换器的FPGA。其中,各高速线路板中的CPU和FPGA通过SPI4.2总线接口相连,且FPGA通过PCIe总线接口与PCIe交换机相连。且高速线路板16分别对应一个预先分配的端口地址,即高速线路板i分别对应的端口地址为i,i为大于等于l且小于等于6的正整数。下面,先基于高速线路板外发数据包的过程对本实施例中的系统进行说明。各高速线路板的CPU,将待发送数据添加至SPI4.2数据包的数据报文中;根据预先设置的端口地址与单板的对应关系,在该SPI4.2数据包的控制字中添加待发送数据的目标单板所对应的端口地址;将该SPI4.2数据包发送至本板的FPGA。作为总线接口转换器的FPGA,接收来自本板的CPU的SPI4.2数据包;将接收到的SPI4.2数据包中的待发送数据添加至PCIe数据包中;根据接收到的SPI4.2数据包的控制字中的端口地址、以及预先设置的端口地址与单板地址的对应关系,确定作为待发送数据目标地址的单板地址,将所确定的单板地址添加至PCIe数据包的PCIe包头中;通过PCIe接口向PCIe交换机发送PCIe数据包。其中,每块单板中作为总线接口转换器的FPGA在初始化时,均会生成本板地址(对于其他单板来说,该本板地址可看作是该板的数据接收地址),并将本板地址复制给系统中的其余各单板(该复制过程可以为每个高速线路板均将本板地址汇总与主控板,再由主控板保存并下发给每个高速线路板),从而使得每块单板中均能够获知其他单板的地址,且由于预先为每块单板分配了固定的端口地址,从而每块单板均能够建立端口地址与单板地址的对应关系。实际应用中,每块单板中作为总线接口转换器的FPGA在初始化时,还会生成本板的单板标识,例如PCIe数据包的包头中的请求身份标识(RequestID),用于后续每次发送PCIe数据包时添加在如图l所示的PCIe包头中,并将本板的RequestID也预先复制给系统中的其余各单板,其余各单板即可建立RequestID与对应不同单板的端口地址的对应关系。对于其他单板来说,作为本板单板标识的R叫uestID可看作是流控包接收地址,至于如何基于RuestID、及其与端口地址的对应关系进行流控,将在本文后续说明。PCIe交换机,按照接收到的PCIe数据包的PCIe包头中的目标地址,将该PCIe数据包通过对应的PCIe总线接口发送至对应的目标单板(主控板或其他高速线路板)。以图5中双箭头虚线所示的数据传输路径为例,假设高速线路板1需要向高速线路板5传输数据,则高速线路板1的CPU通过SPI4.2总线接口向该高速线路板上的FPGA发送SPI4.2数据包,并将该SPI4.2数据包的控制字中的端口地址,设置为预先为高速线路板5分配的作为端口地址的5,然后发送至本板的FPGA。高速线路板1的FPGA接收到来自本板CPU的SPI4.2数据包后,识别出其控制字中的5,从而确定该SPI4.2数据包中的待发送数据的目标单板为高速线路板5,并根据预先建立的端口地址与单板地址的对应关系,将高速线路板5的单板地址作为待发送数据的目标地址添加于PCIe数据包(该PCIe数据包中包括了待发送^t据)的PCIe包头中,然后通过PCIe接口发送至PCIe交换机。PCIe交换机根据PCIe包头中的目标地址,即可将该PCIe数据包转发至目标单板,即高速线路板5。可见,上述系统中每块高速线路板的CPU利用SPI4.2数据包中SPI4.2控制字的端口地址来表示待发送数据的目标单板;在通过SPI4.2总线接口接收到来自本板CPU的SPI4.2数据包后,每块单板中作为总线接口转换器的FPGA根据SPI4.2数据包中SPI4.2控制字的端口地址、以及预先分配的端口地址与目标地址、即与目标单板地址的对应关系,确定待发送数据的目标地址,并将确定的目标地址添加至PCIe省t据包的PCIe包头中,且该PCIe数据包的数据为SPI4.2数据包的SPI4.2数据报文中的数据,然后再根据PCIe包头将该PCIe数据包通过PCIe总线接口传输至PCIe交换机。由于高速线路板的CPU仅在发送给本板FPGA的SPI4.2数据报文中添加待发送的数据,而不再添加PCIe包头,从而提高了板内的带宽利用率,因而也能够提高板间带宽利用率。下面,再基于高速线路板接收数据包的过程对本实施例中的系统进行说明。如前所述,每块单板中作为总线接口转换器的FPGA在初始化时,还会生成本板的RequestID,并在每次发送PCIe数据包时添加在PCIe包头中,且每块单板均会建立RequestID与端口地址的对应关系,因此,通过PCIe交换机接收到其他来自单板的PCIe数据包中,会包括唯一标识作为该PCIe数据包的源单板的RequestID。这样,作为目标单板的高速线路板中的FPGA,通过PCIe交换机接收来自其他单板(主控板或其他高速线路板)的PCIe数据包,根据PCIe数据包的PCIe包头中的R叫uestID,识别出该PCIe数据包的源单板,并将对应所识别出的源单板的端口地址,添加于待发送给本板CPU的SPI4.2数据包的控制字的端口地址中,同时,还将接收到的PCIe数据包中的数据也添加至该SPI4.2数据包,然后通过SPI4.2总线接口将该SPI4.2数据包发送至本板的CPU,本板的CPU即可根据SPI4.2数据包的控制字的端口地址获知该SPI4.2数据包的源单板。仍以图5中双箭头虚线所示的数据传输路径为例,假设高速线路板1向高速线路板5传输数据,由PCIe交换机根据PCIe包头中(高速线路板1的FPGA在PCIe包头中还设置了其本板对应的RequestID)的目标地址,将该PCIe数据包转发至高速线路板5。高速线路板5的FPGA根据接收到的PCIe数据包的PCIe包头中对应于高速线路板1的RequestID,识别出该PCIe数据包来自高速线路板1,并将高速线路板1对应的端口地址1设置于SPI4.2数据包的控制字中的端口地址,然后将包括了接收到的PCIe数据包中数据的该SPI4.2发送至本板的CPU,本板的CPU即可根据SPI4.2数据包的控制字中的端口地址1识别出该SPI4.2数据包中的数据来自高速线路板1。由于目标单板能够识别出接收到的PCIe数据包的源单板,因此,还可以对源单板进行流控。下面,对上述系统中单板间的流控过程进行详细说明。图6为本发明实施例中基于总线接口转换的数据传输系统实现板间流控的示意图。图6所示的基于总线接口转换的数据传输系统结构与图5相同。当作为目标单板的高速线路板的CPU在处理接近或超过其负荷时,导致该高速线路板拥塞。此时,该高速线路板的CPU即会通过SPI4.2总线接口如图2所示的FIFO状态通道向本4反的FPGA产生流控信息(例如反压信号)发送至本板的FPGA,由于该CPU能够获知其接收到的数据的源单板,因此,流控信息中还可以包括源单板的端口地址。高速线路板的FPGA在接收到来自本板CPU的流控信息后,向PCIe交换机发送一表示本板拥塞的PCIe流控包,且该PCIe流控包中可包括引起拥塞的源单板的地址(该源单板的地址即作为PCIe流控包的目标地址),该地址可以才艮据预i殳端口地址与单^反地址查询得到。PCIe交换机才艮据PCIe流控包的目标地址将该PCIe流控包发送至对应的目标单板,即引起拥塞的源高速线路板。该源高速线路板的FPGA接收到PCIe流控包后,会通过SPI4.2总线接口如图2所示的FIFO状态通道将对应的流控信息发送至本板的CPU,并根据PCIe流控包中的目标地址(此时的目标地址为源高速线路板的本板地址)、以及端口地址与单板地址的对应关系,在该流控信息中设置本板对应的端口地址,以表示本板的流量需进行调整,从而实现了目标高速线路板对源高速线路板间的板间流控。这样,如图6所示,每个高速线路板的FPGA的FIFO中,均存储了两个包队列,其中一个为该高速线路板作为目标单板而接收并存储的PCIe数据包队列(可看作凄t据4妄收地址、即如前所述的目标单板地址对应的FIFO队列),另一个为该高速线路板作为源单板而接收并存储的PCIe流控包队列(可看作流控包4妄收地址、即如前所述的R叫uestID对应的FIFO队列)。以图6中双箭头虚线所示的数据传输路径为例,假设高速数据线路板1向高速线路板5发了大量的PCIe数据包,导致高速线路板5拥塞。此时,高速线路板单板5的CPU通过其接收到的SPI4.2数据包中的端口地址,识别出导致阻塞的源单板为高速线路板1,因此通过SPI4.2总线接口的FIFO状态通道向本板的FPGA发送流控信息,该流控信息中可包括高速线路板1对应的端口地址。高速线路板5的FPGA在收到流控信息后,通过PCIe交换机向高速线路板1发送PCIe流控包(该PCIe流控包的PCIe包头中包括高速线鴻^反1的地址),该PCIe流控包中的目标地址为高速线踪^反1的地址,是由高速线路板5的FPGA根据其维护的端口地址与单板地址的对应关系查找得来的。高速线路板1的FPGA在收到该PCIe流控包后,先存储于如图6所示的流控包队列中,然后通过SPI4.2总线接口的状态通道将对应的流控消息发送给本板的CPU,以表示本板的流量需进行调整,从而完成高速线路板5对高速线路板1的流控。上述流控方式可看作是一种基于PCIe总线技术的SPI4.2流控。可见,本实施例中的系统能够基于PCIe总线实现单板间的SPI4.2流控,降低了单板内发生拥塞的概率,从而提高了该系统的可靠性。实际应用中,PCIe交换机内部也可能发生拥塞。例如,高速线路板l、2、3、4均通过PCIe交换机向高速线路板5发送PCIe数据包,从而导致PCIe交换机内部的拥塞。这种情况下,流控机制区别于如前所述的单板间的流控。如果PCIe交换机内部发生拥塞(比如多块源高速线路板向同一个目标高速线路板发送PCIe数据包),则PCIe交换机会向源高速线路板发送PCIe流控包。此时,如果高速线路板接收到直接来自其上游PCIe交换机的PCIe流控包(可按照现有方式、或PCIe流控包中的其他预设标识来区分接收到的PCIe流控包是否为直接来自PCIe交换机),则该高速线路板的FPGA仍会通过SPI4.2总线接口的FIFO状态通道向本板的CPU发送对应的流控信息,但该流控报文中的端口地址为一通用端口地址(即除每块单板所对应的端口地址之外的另一约定端口地址,用以表示本板,例如0)。本板的CPU才艮据流控信息中的通用端口地址,即可获知是本板引起了拥塞,本板的流量需进行调整。可见,本实施例中的系统能够基于PCIe总线实现PCIe交换机对单板的SPI4.2流控,降低了PCIe交换机内部发生拥塞的概率,从而提高了该系统的可靠性。本实施例均是以支持PCIe总线的交换设备为PCIe交换机、单板包括主控板和高速线路板、主控板的CPU支持PCIe总线接口、高速线路板的CPU支持SPI4.2总线接口为例。实际应用中,支持PCIe总线的交换设备也可以为路由器,单板也可以包括其他类型的线路板,且如果主控板的CPU不支持PCIe总线接口,则也可以按照与本实施例中的高速线路板相同的方式实现基于总线接口转换的数据传输;且总线接口转换器除了通过FPGA实现之外,也可以通过其他可编程的逻辑器件来实现。以上,是对本发明实施例中基于总线接口转换的数据传输系统、以及单板的详细说明,下面,再对本发明实施例中基于总线接口转换的数据传输方法进行说明。图7为本发明实施例中基于总线接口转换的数据传输方法的流程示意图。如图7所示,基于如前所述的系统、将高速线路板和主控板统称为单板,本实施例中基于总线接口转换的数据传输方法包括以下步骤步骤701,源单板的单板处理器根据预先设置的端口地址与单板的对应关系,将包括了待发送数据的SPI数据包的控制字中的端口地址,设置为待发送数据的目标单板所对应的端口地址,并将该SPI数据包发送至本板的总线接口转换器。本步骤中,在通过PCIe接口发出PCIe数据包之前,源单板的总线接口转换器还在PCIe数据包的PCIe包头中,添加其本板的预设流控包接收地址,例如如前所述的PCIe包头中的RequestID,用以4妄收到该PCIe凄t据包的目标单板能够识别出源单板,并对源单板进行板间流控。实际应用中,如果无需进行单板间的流控,则无需执行该处理、也无需执行后续的步骤703步骤706,在步骤702之后即可直接结束本流程。步骤702,源单板的总线接口转换器将接收自本板的单板处理器的SPI数据包中的待发送数据添加至PCIe数据包中,根据接收到的SPI数据包的控制字中的端口地址、以及预先设置的端口地址与单板地址的对应关系,确定作为待发送数据目标地址的单板地址,将所确定的单板地址添加至PCIe数据包的PCIe包头中,并在PCIe包头中还添加本板对应的流控包接收地址,然后通过PCIe总线接口向支持PCIe总线的交换设备发出PCIe数据包。上述步骤701702实现了基于总线接口转换的数据外发,且由于单板处理器利用SPI4.2数据包中SPI4.2控制字的端口地址来表示待发送数据的目标单板,且仅在发送给本板总线接口转换器的SPI4.2数据报文中添加待发送的数据,而不再添加PCIe包头,从而提高了板内的带宽利用率。步骤703,目标单板的总线接口转换器根据其通过支持PCIe总线的交换设备接收到的PCIe数据包,向本板的单板处理器发送SPI数据包,并根据预先设置的流控包接收地址与对应于单板的端口地址的对应关系,在发送给本板的单板处理器的SPI数据包中设置源单板对应的端口地址。步骤704,目标单板的单板处理器根据接收到的SPI数据包中的端口地址识别出源单板,并在本板发生拥塞时,向本板的总线接口转换器发送包括对应源单板的端口地址的流控信息。步骤705,目标单板的总线接口转换器根据来自本板的单板处理器且包括了源单板对应的端口地址的流控信息,向源单板发送PCIe流控包,该PCIe流控包中包括源单板的单板地址。本步骤中,PCIe流控包中包括的源单板的单板地址是根据端口地址与单板地址的对应关系确定的。步骤706,源单板的总线接口转换器通过支持PCIe总线的交换设备接收到PCIe流控包后,向本板的单板处理器发送对应的流控信息,并根据端口地址与单板地址的对应关系,在发送给本板的单板处理器的流控信息中设置本板所对应的端口地址,以表示本板的流量需进行调整。上述步骤703步骤706即实现了目标单板对源单板的板间流控。至此,本流程结束。上述流程的步骤702之后,如果支持PCIe总线的交换设备在其内部发生拥塞后,则可以向源单板的总线接口转换器发送PCIe流控包。这样,源单板的总线接口转换器根据直接来自交换设备的PCIe流控包,向本板的单板处理器发送对应的流控信息,并在发送给本板的单板处理器的流控信息中设置预设的通用端口地址,以表示本板的流量需进行调整,从而实现了交换设备对单板的流控。由上述流程可见,本实施例中基于总线接口转换的数据传输方法不但能够提高了带宽利用率,还能够实现单板间的流控和交换设备对单板的流控,即在提高了带宽利用率的同时,还降低了系统拥塞的发生概率,进一步提高了数据传输的可靠性。本发明上述实施例中均以SPI4.2总线接口为例,实际应用中,如果其他版本的SPI数据包的控制字中包括端口地址,则上述实施例中的技术方案也可以适用于其他版本的SPI总线接口,且原理与上述实施例相同。以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。权利要求1、一种提高带宽利用率的单板,包括通过SPI4.2总线接口相连的单板处理器和总线接口转换器,其特征在于,所述单板处理器,根据预先设置的端口地址与单板的对应关系,在SPI数据包的控制字中设置待发送数据的目标单板所对应的端口地址,所述SPI数据包中包括所述待发送数据;将该SPI数据包通过所述SPI4.2总线接口发送至所述总线接口转换器;所述总线接口转换器,根据接收自所述单板处理器的SPI数据包中的端口地址、以及预先设置的端口地址与单板地址的对应关系,确定作为所述待发送数据目标地址的单板地址,将所确定的单板地址添加至所述PCIe数据包的PCIe包头中,该PCIe数据包中包括所述SPI数据包中的待发送数据;通过其PCIe总线接口发出所述PCIe数据包。2、如权利要求1所述的单板,其特征在于,所述总线接口转换器进一步在发送的PCIe数据包的PCIe包头中,添加其所在单板对应的单板标识。3、如权利要求l所述的单板,其特征在于,所述总线接口转换器进一步通过其PCIe总线接口接收来自外部其他单板的PCIe数据包,该PCIe数据包的PCIe包头中包括发送该PCIe数据包的其他单板所对应的单板标识;根据接收到的PCIe数据包向所述单板处理器发送SPI数据包;根据预先设置的单板标识与端口地址的对应关系,在该SPI数据包中设置所述外部其他单板对应的端口地址;所述单板处理器,根据接收到的SPI数据包中的端口地址识别出所述外部其他单板;在其所在单板发生拥塞时,向所述总线接口转换器发送流控信息,所述流控信息中包括所述外部其他单板对应的端口地址;所述总线接口转换器根据来自所述单板处理器且包括端口地址的流控信息,向外部发送PCIe流控包,该PCIe流控包中包括所述流控信息中的端口地址所对应的单板地址。4、如权利要求l所述的单板,其特征在于,所述总线接口转换器进一步接收来自外部的PCIe流控包;向其所在单板的单板处理器发送对应的流控信息,并在发送给其所在单板的单板处理器的流控信息中设置其所在单板所对应的端口地址,以表示其所在单板的流量需进行调整。5、如权利要求3至4中任意一项所述的单板,其特征在于,所述总线接口转换器进一步与其所在单板的外部交换设备相连,所述交换设备支持快速外设部件互联标准PCIe总线;所述总线接口转换器进一步根据直接来自所述交换设备的PCIe流控包,向该单板的单板处理器发送对应的流控信息,并在发送给该单板的单板处理器的流控信息中设置预设的通用端口地址,以表示该单板的流量需进行调整。6、一种提高带宽利用率的单板,包括通过SPI4.2总线接口相连的单板处理器和总线接口转换器,其特征在于,所述总线接口转换器,通过其PCIe总线接口接收来自外部其他单板的PCIe数据包,该PCIe数据包的PCIe包头中包括发送该PCIe数据包的其他单板所对应的单板标识;根据接收到的PCIe数据包向所述单板处理器发送SPI数据包;根据预先设置的单板标识与端口地址的对应关系,在该SPI数据包的控制字中设置所述外部其他单板对应的端口地址;所述单板处理器,根据接收到的SPI数据包中的端口地址识别出所述外部其他单板。7、如权利要求6所述的单板,其特征在于,所述单板处理器在其所在单板发生拥塞时,进一步向所述总线接口转换器发送流控信息,所述流控信息中包括所述外部其他单板对应的端口地址;所述总线接口转换器根据来自所述单板处理器且包括端口地址的流控信息,向外部发送PCIe流控包,该PCIe流控包中包括所述流控信息中的端口地址所对应的单板地址。8、一种提高带宽利用率的数据传输系统,包括支持快速外设部件互联标准PCIe总线的交换设备、源单板和目标单板,其中,所述源单板和目标单板均包括通过SPI4.2总线接口相连的单板处理器和总线接口转换器,且所述总线接口转换器通过PCIe总线接口与所述交换设备相连;其特征在于,源单板的单板处理器,根据预先设置的端口地址与单板的对应关系,在SPI数据包的控制字中设置待发送数据的目标单板所对应的端口地址,所述SPI数据包中包括所述待发送数据;将该SPI数据包通过发送至所述源单板的总线接口转换器;源单板的总线接口转换器,根据接收自所述源单板的单板处理器的SPI数据包中的端口地址、以及预先设置的端口地址与单板地址的对应关系,确定作为所述待发送数据目标地址的单板地址,将所确定的单板地址添加至所述PCIe数据包的PCIe包头中,该PCIe数据包中包括所述SPI数据包中的待发送数据;通过其PCIe总线接口向所述交换设备发送所述PCIe数据包。9、如权利要求8所述的系统,其特征在于,源单板的总线接口转换器进一步在发送的PCIe数据包的PCIe包头中,添加所述源单板对应的单板标识;所述目标单板的总线接口转换器,根据接收到的PCIe数据包向所述目标单板的单板处理器发送SPI数据包,并根据预先设置的单板标识与端口地址的对应关系,在发送给所述目标单板的单板处理器的SPI数据包中设置源单板对应的端口地址;所述目标单板的单板处理器,根据接收到的SPI数据包中的端口地址识别出所述源单板;在所述目标单板发生拥塞时,向所述目标单板的总线接口转换器发送包括与源单板对应的端口地址的流控信息;所述目标单板的总线接口转换器根据来自所述目标单板的单板处理器且包括与源单板对应的端口地址的流控信息,向所述交换设备发送PCIe流控包,该PCIe流控包中包括所述源单板的单板地址。10、如权利要求9所述的系统,其特征在于,在通过所述交换设备接收到所述PCIe流控包后,所述源单板的总线接口转换器进一步向所述源单板的单板处理器发送对应的流控信息,并根据所述端口地址与单板地址的对应关系,在发送给所述源单板的单板处理器的流控信息中设置所述源单板所对应的端口地址,以表示所述源单板的流量需进行调整。11、如权利要求8至10中任意一项所述的系统,其特征在于,所述交换设备在其内部发生拥塞后,向源单板的总线接口转换器发送PCIe流控包;所述源单板的总线接口转换器进一步根据直接来自所述交换设备的PCIe流控包,向所述源单板的单板处理器发送对应的流控信息,并在发送给所述源单板的单板处理器的流控信息中设置预设的通用端口地址,以表示所述源单板的流量需进行调整。12、一种提高带宽利用率的数据传输方法,其特征在于,该方法包括单板上的单板处理器根据预先设置的端口地址与单板的对应关系,在SPI数据包的控制字中设置待发送数据的目标单板所对应的端口地址,所述SPI数据包中包括所述待发送数据;所述单板处理器将该SPI数据包通过所述SPI4.2总线接口发送至所述总线接口转换器;所述单板上的总线接口转换器根据接收自所述单板处理器的SPI数据包中的端口地址、以及预先i殳置的端口地址与单板地址的对应关系,确定作为所述待发送数据目标地址的单板地址,将所确定的单板地址添加至所述PCIe数据包的PCIe包头中,该PCIe数据包中包括所述SPI数据包中的待发送数据;所述总线接口转换器通过其PCIe总线接口发出所述PCIe数据包。13、如权利要求12所述的方法,其特征在于,在通过其PCIe总线接口发出所述PCIe数据包之前,该方法进一步包括所述总线接口转换器进一步在发送的PCIe数据包的PCIe包头中,添加其所在单板对应的单板标识。14、如权利要求12所述的方法,其特征在于,该方法进一步包括所述总线接口转换器通过其PCIe总线接口接收来自外部其他单板的PCIe数据包,该PCIe数据包的PCIe包头中包括发送该PCIe数据包的其他单板所对应的单板标识;所述总线接口转换器根据接收到的PCIe数据包向所述单板处理器发送SPI数据包,并根据预先设置的单板标识与端口地址的对应关系,在该SPI数据包中设置所述外部其他单板对应的端口地址;所述单板处理器,根据接收到的SPI数据包中的端口地址识别出所述外部其他单板,并在其所在单板发生拥塞时,向所述总线接口转换器发送流控信息,所述流控信息中包括所述外部其他单板对应的端口地址;所述总线接口转换器根据来自所述单板处理器且包括端口地址的流控信息,向外部发送PCIe流控包,该PCIe流控包中包括所述流控信息中的端口地址所对应的单板地址。15、如权利要求12所述的方法,其特征在于,该方法进一步包括所述总线接口转换器接收来自外部的PCIe流控包;所述总线接口转换器向其所在单板的单板处理器发送对应的流控信息,并在发送给其所在单板的单板处理器的流控信息中设置其所在单板所对应的端口地址,以表示其所在单板的流量需进行调整。16、如权利要求13至15中任意一项所述的方法,其特征在于,所述单板标识为所述PCIe包头中的请求身份标识RequestID。17、一种提高带宽利用率的数据传输方法,其特征在于,该方法包括单板上的总线接口转换器通过其PCIe总线接口接收来自外部其他单板的PCIe数据包,该PCIe数据包的PCIe包头中包括发送该PCIe数据包的其他单板所对应的单板标识;所述总线接口转换器根据接收到的PCIe数据包向其所在单板的单板处理器发送SPI数据包,并根据预先设置的单板标识与端口地址的对应关系,在该SPI数据包的控制字中设置所述外部其他单板对应的端口地址;所述单板处理器根据接收到的SPI数据包中的端口地址识别出所述外部其他单板。18、如权利要求17所述的方法,其特征在于,识别出所述外部其他单板之后,该方法进一步包括所述单板处理器在其所在单板发生拥塞时,向所述总线接口转换器发送流控信息,所述流控信息中包括所述外部其他单板对应的端口地址;所述总线接口转换器根据来自所述单板处理器且包括端口地址的流控信息,向外部发送PCIe流控包,该PCIe流控包中包括所述流控信息中的端口地址所对应的单板地址。19、一种提高带宽利用率的数据传输方法,其特征在于,该方法包括源单板的单板处理器根据预先设置的端口地址与单板的对应关系,在SPI数据包的控制字中设置待发送数据的目标单板所对应的端口地址,所述SPI数据包中包括所述待发送数据,并将该SPI数据包通过SPI4.2总线接口发送至所述源单板的总线接口转换器;源单板的总线接口转换器根据接收自所述源单板的单板处理器的SPI数据包的控制字中的端口地址、以及预先设置的端口地址与单板地址的对应关系,确定作为所述待发送数据目标地址的单板地址,将所确定的单板地址添加至所述PCIe数据包的PCIe包头中,该PCIeit据包中包括了所述SPI数据包中的待发送数据,通过PCIe总线接口向所述交换设备发出所述PCIe数据包;所述交换设备将接收到的PCIe数据包转发至所述目标单板。20、如权利要求19所述的方法,其特征在于,所述通过PCIe接口发出所述PCIe数据包之前,该方法进一步包括源单板的总线接口转换器在PCIe数据包的PCIe包头中,添加所述源单板对应的预设单板标识;所述目标单板的总线接口转换器根据接收到的PCIe数据包向所述目标单板的单板处理器发送SPI数据包,并根据预先设置的单板标识与端口地址的对应关系,在发送给所述目标单板的单板处理器的SPI数据包中设置源单一反7于应的端口;也址;所述目标单板的单板处理器根据接收到的SPI数据包中的端口地址识别出所述源单板,并在所述目标单板发生拥塞时,向所述目标单板的总线接口转换器发送包括源单板对应的端口地址的流控信息;所述目标单板的总线接口转换器根据来自所述目标单板的单板处理器且包括端口地址的流控信息,向所述源单板发送PCIe流控包,该PCIe流控包中包括所述源单板的单板地址。全文摘要本发明公开了一种提高带宽利用率的单板。本发明中的单板处理器利用SPI4.2数据包中控制字的端口地址来表示待发送数据的目标单板;总线接口转换器根据SPI4.2数据包中SPI4.2控制字的端口地址,确定待发送数据的目标地址,并将确定的目标地址添加至PCIe数据包的PCIe包头中,然后将该PCIe数据包通过PCIe总线接口发出,由于仅在发送给本板总线接口转换器的SPI4.2数据报文中添加待发送的数据,而不再添加PCIe包头,从而提高了板内的带宽利用率,因而也能够提高板间带宽利用率。本发明还公开了一种提高带宽利用率的数据传输系统和一种提高带宽利用率的数据传输方法。文档编号H04L12/02GK101202634SQ20071017840公开日2008年6月18日申请日期2007年11月29日优先权日2007年11月29日发明者浩田申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1