本技术涉及通信,尤其涉及一种单板设备间的数据传输方法和装置。
背景技术:
1、高级电信计算架构(advanced telecom computing architecture,atca)或者正交架构(也称为无背板正交架构)平台中均可以机框,机框内可以部署有多个单板(也称为单板设备),每个单板都具有独立的处理器以及相关硬件。机框内不同单板之间能够传递不同的业务数据,以实现单板之间的业务数据交互。
2、但是,目前机框内不同单板之间传输数据的复杂度较高,导致单板之间的数据传输性能较低。
技术实现思路
1、本技术提供了一种单板设备间的数据传输方法和装置,以降低不同单板之间传输数据的复杂度,提高单板设备间传输数据的性能。
2、一方面,本技术提供了一种单板设备间的数据传输方法,应用于基于高级电信计算架构系统的机框或者基于正交架构的机框内的单板设备,所述单板设备中部署有虚拟网卡设备和虚拟交换机,不同单板设备内的虚拟交换机之间建立有网络连接,包括:
3、通过所述虚拟网卡设备获得所述单板设备中的第一应用程序发送的第一数据包;
4、通过所述虚拟网卡设备对所述第一数据包的包头进行序列化,将序列化后的第一数据包传输给所述虚拟交换机,所述第一数据包包括包头和数据内容,所述第一数据包的包头中包括所述第一数据包的目的设备信息;
5、通过所述虚拟交换机将所述序列化后的第一数据包发送给所述目的设备信息指向的目的单板设备中的目的虚拟交换机。
6、在一种可能的实现方式中,该单板设备间的数据传输方法还包括:
7、通过所述虚拟交换机获得源单板设备的源虚拟交换机发送的第二数据包;
8、通过所述虚拟交换机将所述第二数据包传输给所述虚拟网卡设备;
9、通过所述虚拟网卡设备对所述第二数据包的包头进行反序列化,基于所述第二数据包的包头中的应用标识信息,将反序列化后的第二数据包传输给所述应用标识信息对应的第二应用程序。
10、在又一种可能的实现方式中,所述通过所述虚拟网卡设备获得所述单板设备中的第一应用程序发送的第一数据包,包括:
11、通过所述虚拟网卡设备获得第一应用程序调用所述虚拟网卡设备的接口调用请求,所述接口调用请求用于请求调用目标接口,所述目标接口为所述虚拟网卡设备中支持目标协议的接口;
12、响应于所述接口调用请求,通过虚拟网卡设备获得所述第一应用程序通过所述目标接口传输的第一数据包。
13、在又一种可能的实现方式中,在通过虚拟网卡设备获得所述第一应用程序通过所述目标接口传输的第一数据包之后,还包括:
14、为所述第一数据包关联与所述目标协议对应的链路层标识;
15、所述通过所述虚拟网卡设备对所述第一数据包的包头进行序列化,包括:
16、如果虚拟网卡设备中的上行处理进程检测到所述第一数据包关联有与所述目标协议对应的链路层标识,对所述第一数据包的包头进行序列化。
17、在又一种可能的实现方式中,在通过所述虚拟网卡设备对所述第一数据包的包头进行序列化之前,还包括:
18、从所述第一数据包的包头中获取所述第一应用程序对应的第一通道号;
19、将所述第一数据包存储到所述第一通道号对应的第一队列中;
20、所述通过所述虚拟网卡设备对所述第一数据包的包头进行序列化,包括:
21、通过所述虚拟网卡设备的上行处理进程从所述第一队列中获取所述第一数据包,对所述第一数据包的包头进行序列化。
22、在又一种可能的实现方式中,还包括:
23、通过所述虚拟交换机获得所述虚拟交换机的各端口连接的其他虚拟交换机的连接状态;
24、如果检测到所述虚拟交换机的端口连接的其他虚拟交换机存在异常,将所述端口连接的其他虚拟交换机归属的目标单板设备标记为异常状态。
25、在又一种可能的实现方式中,所述基于所述第二数据包的包头中的应用标识信息,将反序列化后的第二数据包传输给所述应用标识信息对应的第二应用程序,包括:
26、基于所述第二数据包的包头中的第二通道号,将反序列化号的第二数据包存储到与所述第二通道号对应的第二队列中;
27、通过所述虚拟网卡设备的下行处理进程将所述第二队列中的第二数据包传输给与所述第二通道号对应的第二应用程序。
28、在又一种可能的实现方式中,所述第一数据包的目的设备信息包括:所述第一数据包的目的单板设备的设备标识,或者所述第一数据包的组播设备号;
29、所述通过所述虚拟交换机将所述序列化后的第一数据包发送给所述目的设备信息指向的目的单板设备中的目的虚拟交换机,包括:
30、如果所述第一数据包的包头中包括所述第一数据包的目的单板设备的设备标识,通过所述虚拟交换机将所述序列化后的第一数据包发送给所述目的单板设备中的目的虚拟交换机;
31、如果所述第一数据包的包头中包括所述第一数据包的组播设备号,通过所述虚拟交换机将所述序列化后的第一数据包发送给所述组播设备号对应的设备组内的各目的单板设备中的目的虚拟交换机。
32、又一方面,本技术还提供了一种单板设备间的数据传输装置,应用于基于高级电信计算架构系统的机框或者基于正交架构系统的机框内的单板设备,所述单板设备中部署有虚拟网卡设备和虚拟交换机,不同单板设备内的虚拟交换机之间建立有网络连接,包括:
33、数据获得单元,用于通过所述虚拟网卡设备获得所述单板设备中的第一应用程序发送的第一数据包;
34、序列化处理单元,用于通过所述虚拟网卡设备对所述第一数据包的包头进行序列化,将序列化后的第一数据包传输给所述虚拟交换机,所述第一数据包包括包头和数据内容,所述第一数据包的包头中包括所述第一数据包的目的设备信息;
35、数据发送单元,用于通过所述虚拟交换机将所述序列化后的第一数据包发送给所述目的设备信息指向的目的单板设备中的目的虚拟交换机。
36、在一种可能的实现方式中,该单板设备间的数据传输装置还包括:
37、数据接收单元,用于通过所述虚拟交换机获得源单板设备的源虚拟交换机发送的第二数据包;
38、数据传递单元,用于通过所述虚拟交换机将所述第二数据包传输给所述虚拟网卡设备;
39、反序列化单元,用于通过所述虚拟网卡设备对所述第二数据包的包头进行反序列化,基于所述第二数据包的包头中的应用标识信息,将反序列化后的第二数据包传输给所述应用标识信息对应的第二应用程序。
40、由以上可知,在本技术实施例中,基于atca或者正交架构的机框内各单板设备中均部署了虚拟网卡设备和虚拟交换机,不同单板设备之间的虚拟交换机之间建立有网络连接。在此基础上,单板设备内的应用程序按照虚拟网卡设备支持的协议生成数据包后,可以直接将该数据包发送给该虚拟网卡设备。在虚拟网卡设备对数据包的包头进行序列化后,通过虚拟交换机便可以基于数据包的包头中目的设备信息将序列化后的数据包发送到目的单板设备的目的虚拟交换机,使得应用程序能够借助虚拟网卡设备和虚拟交换机实现了将数据包直接将链路层和物理层便传输够其他单板设备,从而无需应用程序先将数据包发送给操作系统,由操作系统对数据包进行协议栈解析后再发送给链路层,即先经过传输层和网络层再发送到链路层,降低了不同单板设备间传输数据的复杂度,有利于减少数据传输延时,从而可以提高单板设备间传输数据的性能。