报文发送控制方法、处理方法、设备及系统与流程

文档序号:12040889阅读:488来源:国知局
报文发送控制方法、处理方法、设备及系统与流程
本发明涉及通信技术,尤其涉及一种报文发送控制方法、处理方法、设备及系统。

背景技术:
在目前高速的点对点串行连接中,有很多种协议,比如高速外设组件互联标准(PeripheralComponentInterconnectExpress,以下简称PCIe)协议、高性能外设组件互联标准(PapidIO,以下简称RapidIO)协议、快速互联通道(QuickPathInterconnect,以下简称QPI)协议等。由于各个协议的应用场景不同,需要进行不同协议间的转换以适应不同的场合,如将QPI协议与以太网或者无限宽带技术(Infiniband,以下简称IB)协议进行转换。在报文协议转换过程中,针对每种协议,其虚通道个数可能是不一致的,而有的协议,如QPI协议,其虚通道之间的报文存在依赖关系。图1为QPI协议的六种不同报文的依赖关系示意图。如图1所示,实线箭头代表了数据报文之间真正的依赖关系,例如非一致性标准报文(NonCoherenceStandard,以下简称NCS)依赖非数据响应报文(NondataResponse,以下简称NDR)、非一致性旁路报文(NonCoherenceBypass,以下简称NCB)、数据响应报文(DataResponse,以下简称DRS)、监听报文(Snoop,以下简称SNP)及本地报文(Home,以下简称HOM);虚线箭头代表了数据报文之间也有依赖关系,但是由于预先给NDR、DRS分配了资源,依赖关系可以被消除。所谓依赖关系,是指如果要处理某个报文,则必须先处理与其相关的其它报文。如图1中,若要处理SNP报文,则需要先处理与其相关的HOM、NDR、DRS报文。但是,发明人发现,由于不同协议的虚通道数可能不匹配,现有技术在对具有依赖关系的报文进行协议转换和报文发送的过程中,时常出现由于某种类型的报文堵塞而引起系统死锁的问题,导致报文发送失败。

技术实现要素:
本发明实施例提供一种报文发送控制方法、处理方法、设备及系统,以防止不同协议间的报文转换时,由于不同协议的虚通道不匹配而出现死锁的问题。第一方面,本发明实施例提供一种报文发送控制方法,包括:获取接收端设备中第一协议类型的各报文对应的接收通道的可用空间信息;在协议层向报文发送处理设备发送包含所述各接收通道的可用空间信息的第二协议类型的指示报文,以使所述报文发送处理设备根据所述各接收通道的可用空间信息对发送端设备发送的所述第一协议类型的各报文进行发送控制;其中,所述第一协议类型与所述第二协议类型为不同协议类型。在第一个方面的第一种可能的实现方式中,所述获取接收端设备中第一协议类型的各报文对应的接收通道的可用空间信息之后,还包括:若接收通道中的所述第一协议类型的报文被处理,则更新所述接收通道的可用空间信息,并向所述报文发送处理设备发送所述第二协议类型的空间更新报文,所述空间更新报文中包含所述接收通道更新后的可用空间信息或者所述接收通道新增的可用空间信息。结合第一个方面或是第一个方面的第一种可能的实现方式,在第二种可能的实现方式中,所述获取接收端设备中第一协议类型的各报文对应的接收通道的可用空间信息,包括:获取接收端设备中第一协议类型的各报文类型对应的接收通道的信用值;所述在协议层向报文发送处理设备发送包含所述各接收通道的可用空间信息的第二协议类型的指示报文,以使所述报文发送处理设备根据所述各接收通道的可用空间信息对发送端设备发送的所述第一协议类型的报文进行发送控制,包括:向所述报文发送处理设备发送包含所述各接收通道的信用值的所述第二协议类型的信用值报文,以使所述报文发送处理设备根据所述各接收通道的信用值对发送端设备发送的所述第一协议类型的报文进行发送控制。第二个方面,本发明实施例提供一种报文发送处理方法,包括:接收报文发送控制设备发送的第二协议类型的指示报文,所述指示报文中包含接收端设备中第一协议类型的各报文对应的接收通道的可用空间信息;根据所述各接收通道的可用空间信息对发送端设备发送的所述第一协议类型的报文进行发送控制;其中,所述第一协议类型与所述第二协议类型为不同协议类型。在第二方面的第一种可能的实现方式中,所述接收报文发送控制设备发送的第二协议类型的指示报文之后,还包括:接收所述报文发送控制设备发送的所述第二协议类型的空间更新报文,所述空间更新报文中包含所述接收通道更新后的可用空间信息;根据所述接收通道更新后的可用空间信息,对所述发送端设备发送的与所述接收通道对应的第一协议类型的报文进行发送控制。在第二个方面的第二种可能的实现方式中,所述接收报文发送控制设备发送的第二协议类型的指示报文之后,还包括:接收所述报文发送控制设备发送的第一协议类型的空间更新报文,所述空间更新报文中包含所述接收通道新增的可用空间信息;将所述新增的可用空间信息与已有的可用空间信息进行累加;根据所述累加后的可用空间信息,对所述发送端设备发送的与所述接收通道对应的第一协议类型的报文进行发送控制。结合第二个方面或是第二个方面的第一种可能的实现方式或是第二个方面的第二种可能的实现方式,在第三种可能的实现方式中,所述可用空间信息为所述接收通道的信用值。第三方面,本发明实施例提供一种报文发送控制设备,包括:获取模块,获取接收端设备中第一协议类型的各报文对应的接收通道的可用空间信息;发送模块,在协议层向报文发送处理设备发送包含所述各接收通道的可用空间信息的第二协议类型的指示报文,以使所述报文发送处理设备根据所述各接收通道的可用空间信息对发送端设备发送的所述第一协议类型的各报文进行发送控制;其中,所述第一协议类型与所述第二协议类型为不同协议类型。在第三个方面的第一种可能的实现方式中,所述设备还包括:更新模块,若接收通道中的所述第一协议类型的报文被处理,则更新所述接收通道的可用空间信息;所述发送模块,还用于向所述报文发送处理设备发送所述第二协议类型的空间更新报文,所述空间更新报文中包含所述接收通道更新后的可用空间信息或者所述接收通道新增的可用空间信息。结合第三个方面的第一种可能的实现方式或是第二种可能的实现方式,在第三种可能的实现方式中,所述获取模块,具体用于获取接收端设备中第一协议类型的各报文类型对应的接收通道的信用值;所述发送模块,具体用于向所述报文发送处理设备发送包含所述各接收通道的信用值的所述第二协议类型的信用值报文,以使所述报文发送处理设备根据所述各接收通道的信用值对发送端设备发送的所述第一协议类型的报文进行发送控制。第四方面,本发明实施例提供一种报文发送处理设备,包括:接收模块,接收报文发送控制设备发送的第二协议类型的指示报文,所述指示报文中包含接收端设备中第一协议类型的各报文对应的接收通道的可用空间信息;控制模块,用于根据所述各接收通道的可用空间信息对发送端设备发送的所述第一协议类型的报文进行发送控制;其中,所述第一协议类型与所述第二协议类型为不同协议类型。在第四个方面的第一种可能的实现方式中,所述接收模块,还用于接收所述报文发送控制设备发送的所述第二协议类型的空间更新报文,所述空间更新报文中包含所述接收通道更新后的可用空间信息;所述控制模块,还用于根据所述接收通道更新后的可用空间信息,对所述发送端设备发送的与所述接收通道对应的第一协议类型的报文进行发送控制。在第四个方面的第二种可能的实现方式中,所述接收模块,还用于接收所述报文发送控制设备发送的空间更新报文,所述空间更新报文中包含所述接收通道新增的可用空间信息;所述控制模块,包括:累加单元,用于将所述新增的可用空间信息与已有的可用空间信息进行累加;处理单元,用于根据所述累加后的可用空间信息,对所述发送端设备发送的与所述接收通道对应的第一协议类型的报文进行发送控制。结合第四个方面或是第四个方面的第一种可能的实现方式或是第四个方面的第二种可能的实现方式,在第三种可能的实现方式中,所述可用空间信息为所述接收通道的信用值。第五方面,本发明实施例提供一种报文处理系统,包括:接收端设备、发送端设备、上述的报文发送控制设备及报文发送处理设备。第六个方面,本发明实施例提供一种报文发送控制设备,包括:处理器,用于获取接收端设备中第一协议类型的各报文对应的接收通道的可用空间信息;发送器,用于在协议层向报文发送处理设备发送包含所述各接收通道的可用空间信息的第二协议类型的指示报文,以使所述报文发送处理设备根据所述各接收通道的可用空间信息对发送端设备发送的所述第一协议类型的各报文进行发送控制;其中,所述第一协议类型与所述第二协议类型为不同协议类型。在第六个方面的第一种可能的实现方式中,所述处理器,还用于若接收通道中的所述第一协议类型的报文被处理,则更新所述接收通道的可用空间信息;所述发送器,还用于向所述报文发送处理设备发送所述第二协议类型的空间更新报文,所述空间更新报文中包含所述接收通道更新后的可用空间信息或者所述接收通道新增的可用空间信息。结合第六个方面的第一种可能的实现方式或是第二种可能的实现方式,在第三种可能的实现方式中,所述处理器,具体用于获取接收端设备中第一协议类型的各报文类型对应的接收通道的信用值;所述发送器,具体用于向所述报文发送处理设备发送包含所述各接收通道的信用值的所述第二协议类型的信用值报文,以使所述报文发送处理设备根据所述各接收通道的信用值对发送端设备发送的所述第一协议类型的报文进行发送控制。第七个方面,本发明实施例提供一种报文发送处理设备,其特征在于,包括:接收器,用于接收报文发送控制设备发送的第二协议类型的指示报文,所述指示报文中包含接收端设备中第一协议类型的各报文对应的接收通道的可用空间信息;控制器,用于根据所述各接收通道的可用空间信息对发送端设备发送的所述第一协议类型的报文进行发送控制;其中,所述第一协议类型与所述第二协议类型为不同协议类型。在第七个方面的第一种可能的实现方式中,所述接收器,还用于接收所述报文发送控制设备发送的所述第二协议类型的空间更新报文,所述空间更新报文中包含所述接收通道更新后的可用空间信息;所述控制器,还用于根据所述接收通道更新后的可用空间信息,对所述发送端设备发送的与所述接收通道对应的第一协议类型的报文进行发送控制。在第七个方面的第二种可能的实现方式中,所述接收器,还用于接收所述报文发送控制设备发送所述第二协议类型的的空间更新报文,所述空间更新报文中包含所述接收通道新增的可用空间信息;所述控制器,将所述新增的可用空间信息与已有的可用空间信息进行累加,根据所述累加后的可用空间信息,对所述发送端设备发送的与所述接收通道对应的第一协议类型的报文进行发送控制。结合第七个方面或是第七个方面的第一种可能的实现方式或是第七个方面的第二种可能的实现方式,在第三种可能的实现方式中,其特征在于,所述可用空间信息为接收通道的信用值。本发明实施例提供的报文发送控制方法、处理方法、设备及系统,在协议转换过程中,报文发送控制设备获取接收端设备中第一协议类型的各报文对应的接收通道的可用空间信息,并将该可用空间信息携带在第二协议类型的指示报文中发送给报文发送处理设备,从而使得报文发送处理设备可以根据该可用空间信息对发送端设备发送的第一协议类型的报文进行发送控制,只有在接收端设备中的接收通道的可用空间信息指示接收通道中仍能缓存报文时,报文发送处理设备才将发送端设备发送的报文发送给接收端设备,有效防止由于某种类型报文的堵塞,使得其它类型的报文无法发送至接收端设备,从而解决系统死锁的问题。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为QPI协议的六种不同报文的依赖关系示意图;图2为本发明报文发送控制方法实施例一的流程示意图;图3为本发明报文发送处理方法实施例一的流程示意图;图4为本发明报文发送处理方法的应用场景的结构示意图;图5为本发明报文发送处理方法中报文发送控制设备和报文发送处理设备之间的交互示意图;图6为本发明报文发送控制设备实施例一的结构示意图;图7为本发明报文发送控制设备实施例二的结构示意图;图8为本发明报文发送处理设备实施例一的结构示意图;图9为本发明报文发送处理设备实施例二的结构示意图;图10为本发明报文发送控制系统实施例的结构示意图;图11为本发明报文发送控制设备实施例三的结构示意图;图12为本发明报文发送处理设备实施例三的结构示意图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图2为本发明报文发送控制方法实施例一的流程示意图。如图2所示,该报文发送控制方法,包括下列步骤:S201:报文发送控制设备获取接收端设备中第一协议类型的各报文对应的接收通道的可用空间信息。在协议转换过程中,报文发送控制设备获取接收端设备中第一协议类型的各报文对应的接收通道的可用空间信息。具体来说,各个接收通道即接收端设备中与各报文类型对应的先进先出(FirstInFirstOut,以下简称FIFO)虚通道。以QPI协议来说,QPI协议有6种不同类型的报文,即如图1所示的6种报文类型,这6种不同的报文类型分别对应不同的FIFO虚通道,每个FIFO虚通道用于缓存接收端设备待处理的某一类型的报文。相应地,本步骤中,报文发送控制设备可以获取6个FIFO虚通道的可用空间信息。举例来说,针对NDR报文,其FIFO虚通道共可缓存10个NDR报文,如当前该FIFO虚通道中只缓存了6个,则该FIFO虚通道的可用空间信息即为用于指示仍能缓存4个NDR报文的信息。S202:报文发送控制设备在协议层向报文发送处理设备发送包含各接收通道的可用空间的第二协议类型的指示报文,以使得报文发送处理设备根据各接收通道的可用空间信息对发送端设备发送的第一协议类型的报文进行发送控制。报文发送控制设备将在S201中获取到的接收端设备中第一协议类型的各报文对应的接收通道的可用空间信息携带在第二协议类型的指示报文中发送给报文发送处理设备,报文发送处理设备即可根据该可用空间信息,对发送端设备发送的第一协议类型的报文进行发送控制。也即,本步骤中,只有报文发送处理设备接收到的某种报文的可用空间信息指示某种报文的FIFO虚通道仍存在空余时,报文发送处理设备才可以将发送端设备发送的该类型的报文发送给接收端设备。以发送端设备发送QPI协议域的报文经PCIe协议转换后发送给接收端设备的QPI协议的报文,亦即,第一协议为具体为QPI协议、第二协议具体为PCIe协议为例,现有的报文发送控制方法中,假设接收端的QPI协议的NCB报文的FIFO虚通道的可用空间信息指示能缓存4个NCB报文,如果发送端设备一直发送NCB报文,则在发送了4个NCB报文后,接收端设备NCB的FIFO虚通道被写满。此时,倘若再发送一个NCB报文,则该NCB报文被堵在PCIe域的asyn_fifo中。而NCB报文的处理依赖于NDR报文和DRS报文,由于之前发送的NCB报文的堵塞,使得NDR报文和DRS报文被堵在PCIe域的asyn_fifo或者发送端设备对应的FIFO虚通道中,无法进入接收端设备从而引起系统死锁。本实施例中,报文发送控制设备获取到指示能缓存4个NCB报文的可用空间信息后,将该可用空间信息封装在PCIe数据报文中发送给报文发送处理设备。根据该可用空间信息,对发送端设备发送的QPI协议类型的报文进行控制。在发送端设备发送了4个NCB报文后,报文发送处理设备控制发送端设备不再发送NCB报文,因此PCIe域的asyn_fifo不会被NCB报文堵住,使得其他类型的报文可以及时的发送至接收端设备。需要说明的是,上述实施例在报文发送过程中,需要进行协议转换处理,其可以采用现有的协议封装和协议解析的处理过程实现,此处不再赘述。本发明实施例提供的报文发送控制方法,在协议转换过程中,报文发送控制设备获取接收端设备中第一协议类型的各报文对应的接收通道的可用空间信息,并在协议层将该可用空间信息携带在第二协议类型的指示报文中发送给报文发送处理设备,从而使得报文发送处理设备可以根据该可用空间信息对发送端设备发送的第一协议类型的报文进行发送控制,只有在接收端设备中的接收通道的可用空间信息有效指示接收通道中仍能缓存报文时,报文发送处理设备才将发送端设备发送的报文发送给接收端设备,有效防止由于某种类型报文的堵塞,使得其它类型的报文无法发送至接收端设备,从而解决系统死锁的问题。在本发明报文发送控制方法实施例二中,若接收通道中的第一协议类型的报文被处理,则更新该接收通道的可用空间信息,并向报文发送处理设备发送第二协议类型的空间更新报文,空间更新报文中包含该接收通道更新后的可用空间信息或者该接收通道新增的可用空间信息。具体来说,若接收端设备的某个接收通道中的报文被处理掉,该接收通道的可用空间被释放出,则报文发送控制设备更新该接收通道的可用空间信息,并向报文发送处理设备发送第二协议类型的空间更新报文。报文发送控制设备可以将更新后的可用空间信息发送给报文发送处理设备,也可以在接收端设备的接收通道一旦有可用空间时发送该接收通道新增的可用空间信息给报文发送处理设备。举例来说,若接收端设备的某个接收通道最多容纳10个报文,当前已有待处理报文7个,当其中的3个报文被处理掉,则报文发送控制设备既可以将更新后的可用空间信息即6个报文的可用空间信息发送给报文发送处理设备,也可以将新增的3个报文的可用空间信息发送给报文处理设备。报文发送控制设备可以在每处理掉一个报文就发送一个新增可用空间给报文发送处理设备,也可以在接收端设备的接收通道的可用空间积累到一定程度时再给报文发送处理设备发送该接收通道更新后的可用空间信息或者新增的可用空间信息。本发明上述实施例中,获取接收端设备中第一协议类型的各报文类型对应的接收通道的可用空间信息,可以为获取接收端设备中第一协议类型的各报文类型对应的接收通道的信用值。报文发送控制设备向报文发送处理设备发送包含各接收通道的信用值的信用值第二协议类型报文,以使报文发送处理设备根据各接收通道的信用值对发送端设备发送的第一协议类型的报文进行发送控制。例如,以发送端设备发送的QPI协议域的报文经PCIe协议转换后发送给接收端设备的QPI协议的报文,亦即,第一协议类型为QPI协议,第二协议类型为PCIe协议为例,假设报文发送控制设备获取到的QPI协议的NCB报文的信用值为4,也即接收端设备中与NCB报文对应的FIFO虚通道中还可以接收4个报文,则报文发送控制设备向报文发送处理设备发送含有该信用值的PCIe协议类型的指示报文,报文发送处理设备接收该指示报文,并根据该信用值4对发送端设备发送的QPI协议类型的NCB报文进行发送控制,即可控制发送端设备最多发送4个NCB报文给接收端设备。若接收端设备的NCB报文被读出,例如有2个NCB报文被读出,此时报文发送控制设备可以将NCB的报文的信用值由原来的4更新为6,并向报文发送处理设备发送包含更新后的信用值为6的PCIe协议类型的空间更新报文;接收端设备也可以在一旦有一个NCB报文被处理后即发送新增的信用值给报文发送处理设备,即处理掉一个NCB报文,就发送包含新增的1个信用值的空间更新报文给发报发送处理设备,再处理掉一个NCB报文后,再发送包含新增的1个信用值的PCIe协议类型的空间更新报文给发报发送处理设备,报文发送处理设备将每次新增的信用值和已有的信用值累加;报文发送控制设备还可以在数个NCB报文被处理后再发送新增的信用值给报文发送处理设备,报文发送处理设备将更新的信用值和已有的信用值累加,例如将新增的信用值2和已有的信用值4累加,累加后的信用值为6,报文发送处理设备根据该累加后的为6的信用值对发送端设备发送的QPI协议类型的报文进行发送控制。本发明实施例提供的报文发送控制方法,在协议转换过程中,通过向报文发送处理设备发送包含有接收通道更新后的可用空间信息或者接收通道新增的可用空间信息,使得报文发送处理设备接收到的第二协议类型的可用空间信息随着接收端设备各第一协议类型的报文的接收通道的可用空间信息的变化而变化,即报文发送处理设备可以动态的根据接收端设备的各报文类型对应的接收通道的可用空间信息对发送端设备发送的第一协议类型的报文进行发送控制,有效防止由于某种类型报文的堵塞,使得其它类型的报文无法发送至接收端设备,从而解决系统死锁的问题。图3为本发明报文发送处理方法实施例一的流程示意图。如图3所示,该报文发送控制方法,包括下列步骤:S301:接收报文发送控制设备发送的第二协议类型的指示报文,指示报文中包含接收端设备中第一协议类型的各报文对应的接收通道的可用空间信息。接收端设备是与发送端设备对应的通道之间的报文存在依赖关系的协议域,例如QPI协议。详细请参见实施例一S201,此处不再赘述。S302:根据各接收通道的可用空间信息对发送端设备发送的第一协议类型的报文进行发送控制。本步骤中,只有报文发送处理设备接收到的第一协议类型的某种报文的可用空间信息有效的情况下,发送端设备才可以发送该报文。以第一协议类型为QPI协议,第二协议类型为PCIe协议、发送端设备发送的QPI协议域的报文经PCIe协议转换后发送给接收端设备的QPI协议的报文为例,若报文发送处理设备接收到包含有可用空间信息指示为还能缓存4个QPI协议类型的NCB的PCIe协议的的指示报文,解析该报文,并根据该可用空间信息对发送端设备发送QPI协议类型的NCB报文进行控制。如果发送端设备发送完4个NCB报文后,此时报文发送处理设备中NCB报文的可用空间为0,报文发送处理设备控制发送端设备不再发送NCB报文,因此PCIe域的asyn_fifo不会被NCB报文堵住,使得其他类型的报文可以及时的发送至接收端设备。需要说明的是,上述实施例在报文发送过程中,需要进行协议转换处理,其可以采用现有的协议封装和协议解析的处理过程实现,此处不再赘述。本发明实施例提供的报文发送处理方法,报文发送处理设备接收报文发送控制设备发送的第一协议类型的各报文对应的接收通道的可用空间信息的第二协议类型的指示报文,并根据该可用空间信息对发送端设备发送的第一协议类型的报文进行发送控制,只有在报文发送处理设备接收到的可用空间信息有效,即可用空间信息指示为仍能缓存N(N≥1,N为整数)个报文时,根据该可用空间信息,报文发送处理设备才控制发送端设备将第一协议类型的报文发送给接收端设备,有效防止由于某种类型报文的堵塞,使得其他类型的报文无法发送至接收端设备,从而有效防止不同协议间的报文转换过程中由于虚通道不匹配而出现死锁的问题。在本发明报文发送处理方法实施例四中,在接收报文发送控制设备发送的第二协议类型的指示报文后,报文发送处理设备还可以接收报文发送控制设备发送的第二协议类型的空间更新报文,空间更新报文中包含接收通道更新后的第一协议类型的可用空间信息;根据该接收通道更新后的可用空间信息,对发送端设备发送的与该接收通道对应的第一协议类型的报文进行发送控制。具体来说,报文发送处理设备接收报文发送控制设备发送的包含有第一协议类型的接收通道更新后的可用空间信息的第二协议类型的空间更新报文,对发送端设备发送的与该接收通道对应的第一协议类型的报文进行发送控制;接收到的报文发送控制设备发送的第一协议类型的各报文类型对应的接收通道的可用空间信息,可以为接收端设备中各第一协议类型的报文对应的接收通道的信用值。例如QPI协议中,假设报文发送处理设备接收到的NCB报文的信用值大小为4,则发送端设备最多可以发送4个NCB报文给接收端设备,发送端设备每发送一个NCB报文,信用值都要减1。若接收端设备的NCB报文被处理掉一个或数个后,例如,处理掉2个,且这段时间内发送端设备没有发送NCB报文,则此时报文发送控制设备将NCB报文的可用空间有原来的4更新为6,并将该更新的可用空间信息发送给报文发送处理设备。在本发明的另一实施例中,报文发送处理设备接收报文发送控制设备发送的第二协议类型的空间更新报文,还可以包含有第一协议类型的接收通道新增的可用空间信息,报文发送处理设备将该新增的可用空间信息与已有的可用空间信息进行累加,根据累加后的可用空间信息,对发送端设备的与该接收端通道对应的报文进行发送控制。例如QPI协议中,假设报文发送处理设备接收到的NCB报文的信用值为4,若接收端设备的NCB报文被处理掉一个或数个后,例如,处理掉2个,即新增的信用值为2,若这段时间内发送端设备没有发送NCB报文,则此时报文发送处理设备将已有的信用值4和新增的信用值2进行累加,累加后信用值的大小为6,根据该累加后的信用值,对发送端设备发送的与该接收通道对应的报文进行控制。在信用值有效的情况下,发送端设备可以随时的根据需求发送信用值有效的数据报文并对处理掉释放出空间的报文的信用值进行更新。本发明实施例提供的报文发送处理方法,在协议转换过程中,报文发送处理设备通过接收报文发送控制设备发送的包含有接收通道更新后的可用空间信息或者接收通道新增的可用空间信息,使得报文发送处理设备接收到的第二协议类型的可用空间信息随着接收端设备第一协议类型的各报文类型的接收通道的可用空间信息的变化而变化,即报文发送处理设备可以动态的根据接收端设备的各第一协议类型的报文类型对应的接收通道的可用空间信息对发送端设备发送的报文进行发送控制,从而有效防止由于某种类型报文的堵塞,使得其他类型的报文无法发送至接收端设备,导致不同协议间的报文转换过程中由于虚通道不匹配而出现死锁的问题。下面采用一个具体的实施例,对上述实施例的技术方案进行详细说明。图4为本发明报文发送处理方法的应用场景的结构示意图。图5为本发明报文发送处理方法中报文发送控制设备和报文发送处理设备之间的交互示意图,如图4和5所示,本实施例基于QPI与PCIe的协议转换为例进行说明。图4中QPI_A为发送端设备,QPI_B为接收端设备,HOM_FIFO、SNP_FIFO、NCB_FIFO、DRS_FIFO、NCS_FIFO、NDR_FIFO等为QPI_A和QPI_B内部不同的报文类型对应的接收通道,Credit_Tx为报文发送控制设备,Credit_RX为报文发送处理设备,此外还包括QPI域报文到PCIe域报文封装模块(PacketTransformQPI-to-PCIe,以下简称PT_Q2P)、PCIe域报文到QPI域报文封装模块(PacketTransformPCIe-to-QPI,以下简称PT_P2Q)、异步FIFO(asyn_fifO)、PCIe传输网的接收端(PCIe_Rx)及发送端(PCIe_Tx)。当QPI_A向QPI_B发送报文时,QPI_A的报文转为PCIe域的报文,然后经过PCIe的网络传输后又转为QPI域的报文。对于QPI域,其是看不到是否经过PCIe域的报文转换,即PCIe域的转换是透明的。其中,PT_Q2P模块完成QPI域报文到PCIe域报文的封装;PT_P2Q模块完成PCIe域报文到QPI域报文的封装;asyn_fifo模块为异步fifo,完成跨时钟的报文传递;QPI_A与QPI_B端的FIFO为QPI域报文的发送FIFO和接收FIFO。本实施例中,不同协议的报文封装可参见现有技术。由于QPI有6种不同类型的报文,这6种类型报文分别对应不同的FIFO。以下以QPI报文发送控制系统发送报文为例进行详细说明。以发送NCB报文和HOM报文为例,如图5所示,本实施例QPI报文发送控制系统的报文传递过程如下:1)QPI系统开始工作时,QPI_B端的报文发送控制设备Credit_Tx获取QPI_A端的各报文类型对应的接收通道的可用空间信息,即各报文类型对应的接收通道的信用值,并向QPI_A端的报文发送处理设备Credit_Rx发送含有该信用值的信用值报文;Credit_Rx接收到信用值报文后解析出对应的信用值,对信用值有效的报文进行报文转换。2)Credit_Rx可以对接收到的不同的报文的信用值进行累加,同时每发送一个此类型的报文,信用值需要减1。如图5中,Ack0个Ack1分别发送不同的NCB和HOM报文给Credit_Rx。例如发送Packet0之前,NCB的信用值为4,HOM的信用值为6。3)在发送Packet0-Packet5的过程中,由于QPI_A端的NCB和HOM的信用值都有效,所以交替发送HOM和NCB(封装在PCIe中,具体的请参见现有技术,此处不再赘述,以下类似)。发送完Packet5时,QPI_A端的Credit_Rx的NCB报文的信用值为0,HOM的信用值为4,此时Credit_Rx根据该信用值控制QPI_A端无法发送NCB报文;4)在发送Packet6-Packet9的过程中,由于QPI_A端的Credit_Rx中只有HOM的信用值有效,因此其控制QPI_A端只发送HOM报文。在发送完Packet9时,Credit_Rx中HOM报文的信用值为0,此时无法发送任何报文。5)QPI_B端一旦从FIFO中读出某种类型的报文,即认为该FIFO释放出空间可以接收新的报文,此时QPI_B端的Credit_Rx该新增的信用值发给报文发送处理设备Credit_Rx,也可以累积到一定数量的信用值之后再将新增的信用值发送给Credit_Rx。如图5中的Ack2和Ack3中分别累积了3个NCB和4个HOM的信用值发送给Credit_Rx。Credit_Rx将该新增的信用值和已有的信用值进行累加,并根据累加后的信用值对QPI_A端发送的报文进行控制。本发明的另一实施例中,也可以在QPI_B端一旦从FIFO中读出某种类型的报文,即认为该FIFO有空间接收新的报文,此时QPI_B端的Credit_Rx将更新该报文信用值,并将更新后的信用值发送给Credit_Rx。例如,假设在发送Packet4之后,QPI_B端处理掉2个NCB报文,则此时Credit_Rx将更新NCB报文的信用值,即有原来的4更新为6,Credit_Rx将更新后的ACK值为6的信用报文发送给Credit_Rx。含有信用值的指示报文可以在发送有效报文时插入到某个字段中(在有效字段的固定字段),也可以在没有有效报文发送时,主动发送单独的信用报文。本发明实施提供的报文发送控制方法、设备及系统,在协议转换过程中,报文发送控制设备获取接收端设备中第一协议类型的各报文类型对应的接收通道的可用空间信息,并将该可用空间信息用第二协议类型发送给报文发送处理设备,从而使得报文发送处理设备可以根据该可用空间信息对发送端设备发送的第一协议类型的报文进行发送控制,只有在接收端设备中的接收通道的可用空间信息指示接收通道中仍能缓存报文时,报文发送处理设备才将发送端设备发送的报文发送给接收端设备;另外,通过向报文发送处理设备发送包含有接收通道更新后的可用空间信息或者接收通道新增的可用空间信息,使得报文发送处理设备接收到的可用空间信息随着接收端设备各第一协议类型的报文的接收通道的可用空间信息的变化而变化,即报文发送处理设备可以动态的根据接收端设备的各报文类型对应的接收通道的可用空间信息对发送端设备发送的第一协议类型的报文进行发送控制,有效防止由于某种类型报文的堵塞,使得其它类型的报文无法发送至接收端设备,从而解决系统死锁的问题。图6为本发明报文发送控制设备实施例一的结构示意图。如图6所示,该报文发送控制设备包括:获取模块1和发送模块3。获取模块1,用于获取协议转换过程中接收端设备中第一协议类型的各报文类型对应的接收通道的可用空间信息。发送模块3,用于在协议层向报文发送处理设备发送包含各接收通道的可用空间信息的第二协议类型的指示报文,以使报文发送处理设备根据各接收通道的可用空间信息对发送端设备发送的第一协议类型的报文进行发送控制,第一协议类型与第二协议类型为不同的协议类型。本实施例的设备用于执行上述图2所示方法实施例一的技术方案,其实现原理和技术效果类似,此处不再赘述。图7为本发明报文发送控制设备实施例二的结构示意图。如图7所示,该报文发送控制设备在图6所示结构的基础上,进一步地还包括:更新模块2,用于若接收通道中的第一协议类型的报文被处理,则更新该接收通道的可用空间信息;该发送模块3,还用于向报文发送处理设备发送第二协议类型的空间更新报文,空间更新报文中包含该接收通道更新后的可用空间信息或者该接收通道新增的可用空间信息。在上述报文发送控制设备实施例中,获取模块1,可以具体用于获取接收端设备中第一协议类型的各报文类型对应的接收通道的信用值;发送模块2,可以具体用于在协议层向报文发送处理设备发送包含各接收通道的信用值的第二协议类型的信用值报文,以使报文发送处理设备根据各接收通道的信用值对发送端设备发送的第一协议类型的报文进行发送控制。本实施例的设备用于执行上述方法实施例二的技术方案,其实现原理和技术效果类似,此处不再赘述。图8为本发明报文发送处理设备实施例一的结构示意图。如图8所示,该报文发送处理设备包括:接收模块4、控制模块5。接收模块4,用于接收报文发送控制设备发送的第二协议类型的指示报文,指示报文中包含接收端设备中第一协议类型的各报文对应的接收通道的可用空间信息。控制模块5,用于根据各接收通道的可用空间信息对发送端设备发送的第一协议类型的报文进行发送控制。第一协议类型与第二协议类型为不同的协议类型。本实施例的设备用于执行上述图3所示方法实施例一的技术方案,其实现原理和技术效果类似,此处不再赘述。在本发明另一实施例中,接收模块4还用于接收报文发送控制设备发送的包含接收通道更新后的可用空间信息的第二协议类型的空间更新报文;控制模块5还用于根据该接收通道更新后的可用空间信息,对发送端设备发送的与该接收通道对应的第一协议类型的报文进行发送控制。图9为本发明报文发送处理设备实施例二的结构示意图。如图9所示,在本实施例在图8所示结构的基础上,进一步地,接收模块4还用于接收报文发送控制设备发送的包含有接收通道新增的可用空间信息的第二协议类型的空间更新报文;控制模块5还包括:累加单元51,用于将该新增的可用空间信息与已有的可用空间信息进行累加;处理单元52,用于根据累加后的可用空间信息,对发送端设备发送的与该接收通道对应的第一协议类型的报文进行发送控制。接收到的报文发送控制设备发送的第一协议类型的各报文类型对应的接收通道的可用空间信息,可以为接收端设备中各报文类型对应的接收通道的信用值。例如QPI协议中,获取到NCB的初始信用值为4,若NCB报文被处理掉一个或数个后,例如,处理掉2个,即新增的可用空间大小为2,若这段时间内发送端设备没有发送NCB报文,则此时接收模块4接收报文发送控制设备发送的含有2个新增信用值的空间更新报文,控制模块5的累加单元51将已有的信用值4和新增的信用值2进行累加,累加后的信用值为6,控制模块5的处理单元52根据该累加后的可用空间信息,对发送端设备发送的与该接收通道对应的报文进行控制。在可用空间信息有效的情况下,发送端设备可以随时的根据需求发送空间信息有效的数据报文并对处理掉释放出空间的报文的可用空间信息进行更新。本发明实施例提供的报文发送处理设备,在协议转换过程中,通过接收报文发送控制设备发送的包含有接收通道更新后的可用空间信息或者接收通道新增的可用空间信息的第二协议类型消息,使得报文发送处理设备接收到的可用空间信息随着接收端设备的第一协议类型消息的各报文类型的接收通道的可用空间信息的变化而变化,即报文发送处理设备可以动态的根据接收端设备的各报文类型对应的接收通道的可用空间信息对发送端设备发送的第一协议类型的报文进行发送控制,有效防止由于某种类型报文的堵塞,使得其它类型的报文无法发送至接收端设备,从而解决系统死锁的问题。图10为本发明报文发送控制系统实施例的结构示意图。如图10所示,该报文发送控制系统包括:接收端设备6、报文发送控制设备7、报文发送处理设备8和发送端设备9。本实施例中的报文发送控制设备7以及报文发送处理设备8可以对应的采用前述各设备的实施例;接收端设备6、报文发送控制设备7、报文发送处理设备8和发送端设备9的具体交互过程以及网络架构可以采用图4和图5所示内容实现,此处不再赘述。图11为本发明报文发送控制设备实施例三的结构示意图。如图11所示,该报文发送控制设备1100包括:至少一个CPU1101,至少一个网络接口1104或者其他用户接口1103,存储器1105,和至少一通信总线1102。通信总线1102用于实现各装置之间的连接通信。该报文发送控制设备1100可选的包含用户接口1103,包括显示器,键盘或者点击设备。存储器1105可能包含高速RAM存储器,也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器1105可选的可以包含至少一个位于远离前述CPU1101的存储装置。在一些实施方式中,存储器1105存储了如下的元素,编码,模块或者数据结构,或者他们的子集,或者他们的扩展集,操作系统1106,包含各种程序,用于实现各种基础业务以及处理基于硬件的任务。处理器1110,用于获取接收端设备中第一协议类型的各报文对应的接收通道的可用空间信息。发送器1120,用于向报文发送处理设备发送包含各接收通道的可用空间信息的第二协议类型的指示报文,以使报文发送处理设备根据各接收通道的可用空间信息对发送端设备发送的第一协议类型的报文进行发送控制。其中,第一协议类型与第二协议类型为不同协议类型。本实施例的设备用于执行上述图2所示方法实施例一的技术方案,其实现原理和技术效果类似,此处不再赘述。进一步地,若接收通道中的第一协议类型的报文被处理,处理器1110,则用于更新该接收通道的可用空间信息;发送器1120,还用于向报文发送处理设备发送空间更新报文,空间更新报文中包含该接收通道更新后的可用空间信息或者该接收通道新增的可用空间信息。在上述报文发送控制设备实施例中,处理器1110,可以具体用于获取接收端设备中第一协议类型的各报文对应的接收通道的信用值;发送器1120,可以具体用于向报文发送处理设备发送包含各接收通道的信用值的第二协议类型的信用值报文,以使报文发送处理设备根据各接收通道的信用值对发送端设备发送的第一协议类型的报文进行发送控制。本实施例提供的报文发送控制设备1100包括用于处理业务的核心部件,由于和实施方式具体目的不相关,在此不赘述。报文发送控制设备1100中的处理器1110、发送器1120的工作过程分别与图6中报文发送控制设备的获取模块1及发送模块3的工作过程近似,不再赘述。图12为本发明报文发送处理设备实施例三的结构示意图。如图12所示,该报文发送控制设备1200包括:至少一个CPU1201,至少一个网络接口1204或者其他用户接口1203,存储器1205,和至少一通信总线1202。通信总线1202用于实现各装置之间的连接通信。该报文发送控制设备1200可选的包含用户接口1203,包括显示器,键盘或者点击设备。存储器1205可能包含高速RAM存储器,也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器1205可选的可以包含至少一个位于远离前述CPU1201的存储装置。在一些实施方式中,存储器1205存储了如下的元素,编码,模块或者数据结构,或者他们的子集,或者他们的扩展集,操作系统1206,包含各种程序,用于实现各种基础业务以及处理基于硬件的任务。接收器1210,用于接收报文发送控制设备发送的第二协议类型的指示报文,指示报文中包含接收端设备中第一协议类型的各报文对应的接收通道的可用空间信息。控制器1220,用于根据各接收通道的可用空间信息对发送端设备发送的第一协议类型的报文进行发送控制。其中,第一协议类型与第二协议类型为不同协议类型。进一步的,接收器1210还用于接收报文发送控制设备发送的包含接收通道更新后的可用空间信息的第二协议类型的空间更新报文;控制器1220还用于根据该接收通道更新后的可用空间信息,对发送端设备发送的与该接收通道对应的第一协议类型的报文进行发送控制。进一步地,接收器1210还用于接收报文发送控制设备发送的包含有接收通道新增的可用空间信息的空间更新报文;控制器1220用于将该新增的可用空间信息与已有的可用空间信息进行累加,根据累加后的可用空间信息,对发送端设备发送的与该接收通道对应的第一协议类型的报文进行发送控制。上述实施例中,接收到的报文发送控制设备发送的各报文类型对应的接收通道的可用空间信息,可以为接收端设备中各报文类型对应的接收通道的信用值。本发明实施例提供的报文发送处理设备,通过接收报文发送控制设备发送的包含有接收通道更新后的可用空间信息或者接收通道新增的可用空间信息,使得报文发送处理设备接收到的可用空间信息随着接收端设备各报文类型的接收通道的可用空间信息的变化而变化,即报文发送处理设备可以动态的根据接收端设备的各报文类型对应的接收通道的可用空间信息对发送端设备发送的报文进行发送控制,有效防止由于某种类型报文的堵塞,使得其它类型的报文无法发送至接收端设备,从而解决系统死锁的问题。最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1