一种数据传输方法及设备技术

技术编号:15880217 阅读:38 留言:0更新日期:2017-07-25 18:19
本发明专利技术提供一种数据传输方法及设备,其中,基于主机的外围设备的数据发送方法包括:从第一BD链中读取一个对所述外围设备可用的第一BD,其中,所述第一BD链位于所述主机内存中且应用于所述外围设备向所述主机发送以太网报文的过程中,所述第一BD对所述主机不可用;将以太网报文写入所述第一BD对应的缓存中,并对所述第一BD进行更新使所述第一BD对所述主机可用且对所述外围设备不可用;若所述第一BD更新完成,生成发送完成中断并写入位于所述主机的中断缓存区;通知所述主机处理所述发送完成中断。本发明专利技术能够提高以太网报文的传输速度、传输效率,尤其在以太网报文数量较大的场景下,本发明专利技术实施例的效果更加明显。

Data transmission method and equipment

The invention provides a device and a method of data transmission, which comprises a data transmission method based on peripheral devices: read a of the peripheral equipment for the first BD, which is available from the first strand of BD, the first BD chain in the process to the peripheral device to the host to send Ethernet the message and application of the memory of the host computer, the first BD is not available on the host; the Ethernet message written in the first BD corresponding to the cache, and on the first BD update to the first BD of the host and available for the peripheral equipment is not available; if the first the BD update is complete, generating transmission complete interrupt and write in the host interrupt buffer; notify the host processing the complete interrupt. The invention can improve the transmission speed and the transmission efficiency of the Ethernet message, and the effect of the embodiment of the invention is more obvious, especially in the situation that the Ethernet message number is large.

【技术实现步骤摘要】
一种数据传输方法及设备
本专利技术涉及数据传输
,尤其涉及一种数据传输方法及设备。
技术介绍
目前,在以太网数据传输过程中,主机的外围设备接收主机发送的以太网报文的方式为:主机向外围设备发送BD(BufferDescriptor,缓存描述符);外围设备接收主机发送的BD,并根据该BD对应的物理缓存地址以及该BD中的报文长度,从该BD对应的主机的缓存中读取以太网报文。外围设备向主机发送以太网报文的方式为:外围设备向主机申请用于写入以太网报文的内存空间;主机为外围设备分配其申请的内存空间;外围设备将以太网报文写入主机分配的内存空间,并将以太网报文的存储地址以及报文的长度写入外围设备的指定寄存器中。上述外围设备进行数据传输的方式均依赖于主机为外围设备发送BD或主机为外围设备分配内存空间,即,外围设备每次执行接收或者发送以太网报文的操作时,均需要主机参与分配用于接收以太网报文的缓存或者用于发送以太网报文的内存空间,这就会造成以太网报文的传输速度慢、传输效率低的问题,在以太网报文数量较大的场景下,以太网报文的传输速度慢、传输效率低的问题更加突出。
技术实现思路
本专利技术提供一种数据传输方法及设备,用以解决现有技术中存在的以太网报文的传输速度慢、传输效率低的问题。本专利技术实施例提供一种数据发送方法,应用于主机的外围设备,包括:从第一BD链中读取一个对所述外围设备可用的第一BD,其中,所述第一BD链位于所述主机内存中且应用于所述外围设备向所述主机发送以太网报文的过程中,所述第一BD对所述主机不可用;将以太网报文写入所述第一BD对应的缓存中,并对所述第一BD进行更新使所述第一BD对所述主机可用且对所述外围设备不可用;若所述第一BD更新完成,生成发送完成中断并写入位于所述主机的中断缓存区;通知所述主机处理所述发送完成中断。本专利技术实施例还提供一种数据接收方法,应用于主机的外围设备,包括:从第二BD链中读取一个对所述外围设备可用的第二BD,其中,所述第二BD链位于所述主机内存中且应用于所述外围设备接收所述主机发送的以太网报文的过程中,所述第二BD对所述主机不可用;从所述第二BD对应的缓存中提取以太网报文,并将提取到的以太网报文写入用于存储主机发送的以太网报文的缓存空间;对所述第二BD进行更新使所述第二BD对所述外围设备不可用且对所述主机可用;若所述第二BD更新完成,生成接收完成中断并写入位于所述主机的中断缓存区;通知所述主机处理所述接收完成中断。本专利技术实施例还提供一种数据接收方法,应用于主机,包括:接收到所述主机的外围设备发送的中断处理通知时,对写入所述主机的中断缓存区的中断进行轮询处理;若当前轮询到的中断为发送完成中断,从第一BD链中读取一个对所述主机可用的第一BD,其中,所述第一BD链位于所述主机内存中且应用于所述主机接收所述外围设备发送的以太网报文的过程中,所述第一BD对所述外围设备不可用;从所述第一BD对应的缓存中提取以太网报文,并对所述第一BD进行更新使所述第一BD对所述主机不可用且对所述外围设备可用。本专利技术实施例还提供一种数据发送方法,应用于主机,包括:从第二BD链中读取一个对所述主机可用的第二BD,其中,所述第二BD链位于所述主机内存中且应用于所述主机向所述外围设备发送以太网报文的过程中,所述第二BD对所述外围设备不可用;将以太网报文写入所述第二BD对应的缓存中,并对所述第二BD进行更新使所述第二BD对所述外围设备可用且对所述主机不可用;以及,接收所述外围设备发送的接收完成中断通知,若轮询到的中断为接收完成中断,释放所述第二BD对应的缓存中内容,其中,接收到所述主机的外围设备发送的中断处理通知时,对写入所述主机的中断缓存区的中断进行轮询处理。本专利技术实施例还提供一种用于数据发送的外围设备,所述外围设备为主机的外围设备,包括:读取模块,用于从第一BD链中读取一个对所述外围设备可用的第一BD,其中,所述第一BD链位于所述主机内存中且应用于所述外围设备向所述主机发送以太网报文的过程中,所述第一BD对所述主机不可用;写入模块,用于将以太网报文写入所述第一BD对应的缓存中;更新模块,用于对所述第一BD进行更新使所述第一BD对所述主机可用且对所述外围设备不可用;生成模块,用于若所述第一BD更新完成,生成发送完成中断并写入位于所述主机的中断缓存区;通知模块,用于通知所述主机处理所述发送完成中断。本专利技术实施例还提供一种用于数据接收的外围设备,所述外围设备为主机的外围设备,包括:读取模块,用于从第二BD链中读取一个对所述外围设备可用的第二BD,其中,所述第二BD链位于所述主机内存中且应用于所述外围设备接收所述主机发送的以太网报文的过程中,所述第二BD对所述主机不可用;写入模块,用于从所述第二BD对应的缓存中提取以太网报文,并将提取到的以太网报文写入用于存储主机发送的以太网报文的缓存空间;更新模块,用于对所述第二BD进行更新使所述第二BD对所述外围设备不可用且对所述主机可用;生成模块,用于若所述第二BD更新完成,生成接收完成中断并写入位于所述主机的中断缓存区;通知模块,用于通知所述主机处理所述接收完成中断。本专利技术实施例还提供一种用于数据接收的主机,包括:处理模块,用于接收到所述主机的外围设备发送的中断处理通知时,对写入所述主机的中断缓存区的中断进行轮询处理;读取模块,用于若所述处理模块当前轮询到的中断为发送完成中断,从第一BD链中读取一个对所述主机可用的第一BD,其中,所述第一BD链位于所述主机内存中且应用于所述主机接收所述外围设备发送的以太网报文的过程中,所述第一BD对所述外围设备不可用;提取模块,用于从所述第一BD对应的缓存中提取以太网报文;更新模块,用于对所述第一BD进行更新使所述第一BD对所述主机不可用且对所述外围设备可用。本专利技术实施例还提供一种用于数据发送的主机,包括:读取模块,用于从第二BD链中读取一个对所述主机可用的第二BD,其中,所述第二BD链位于所述主机内存中且应用于所述主机向所述外围设备发送以太网报文的过程中,所述第二BD对所述外围设备不可用;写入模块,用于将以太网报文写入所述第二BD对应的缓存中;更新模块,用于对所述第二BD进行更新使所述第二BD对所述外围设备可用且对所述主机不可用;处理模块,用于接收所述外围设备发送的接收完成中断通知,若轮询到的中断为接收完成中断,释放所述第二BD对应的缓存中内容,其中,接收到所述主机的外围设备发送的中断处理通知时,对写入所述主机的中断缓存区的中断进行轮询处理。利用本专利技术实施例提供的数据传输方法及设备,具有以下有益效果:主机中预先存储了第一BD链或第二BD链,外围设备在进行以太网报文发送或接收时,从位于主机内存中的第一BD链或第二BD链读取对外围设备可用的第一BD或第二BD,将以太网报文写入第一BD对应的缓存中,或者,从第二BD对应的缓存中读取以太网报文,即外围设备可主动从主机中读取BD,避免了由主机为外围设备分配内存空间,从而能够在一定程度上提高以太网报文的传输速度、传输效率,尤其在以太网报文数量较大的场景下,本专利技术实施例的效果更加明显。此外,本专利技术实施例,避免了主机与外围设备之间传输以太网报文的过程中,主机被外围设备频繁中断的现象,也能够防止因漏处理外围设备发送的本文档来自技高网...
一种数据传输方法及设备

【技术保护点】
一种数据发送方法,其特征在于,应用于主机的外围设备,包括:从第一BD链中读取一个对所述外围设备可用的第一BD,其中,所述第一BD链位于所述主机内存中且应用于所述外围设备向所述主机发送以太网报文的过程中,所述第一BD对所述主机不可用;将以太网报文写入所述第一BD对应的缓存中,并对所述第一BD进行更新使所述第一BD对所述主机可用且对所述外围设备不可用;若所述第一BD更新完成,生成发送完成中断并写入位于所述主机的中断缓存区;通知所述主机处理所述发送完成中断。

【技术特征摘要】
1.一种数据发送方法,其特征在于,应用于主机的外围设备,包括:从第一BD链中读取一个对所述外围设备可用的第一BD,其中,所述第一BD链位于所述主机内存中且应用于所述外围设备向所述主机发送以太网报文的过程中,所述第一BD对所述主机不可用;将以太网报文写入所述第一BD对应的缓存中,并对所述第一BD进行更新使所述第一BD对所述主机可用且对所述外围设备不可用;若所述第一BD更新完成,生成发送完成中断并写入位于所述主机的中断缓存区;通知所述主机处理所述发送完成中断。2.根据权利要求1所述的方法,其特征在于,从第一BD链中读取一个对所述外围设备可用的第一BD,具体包括:根据第一BD链中最近一个被读取的BD的索引,读取所述第一BD链中的当前BD,所述当前BD与所述最近一个被读取的BD相邻;判断读取的当前BD是否对所述外围设备可用;若否,生成所述当前BD不可用中断并写入位于所述主机的中断缓存区;通知所述主机处理所述当前BD不可用中断;以及,继续执行根据第一BD链中最近一个被读取的BD的索引,读取所述第一BD链中的当前BD的步骤;若是,将读取的当前BD作为第一BD。3.一种数据接收方法,其特征在于,应用于主机的外围设备,包括:从第二BD链中读取一个对所述外围设备可用的第二BD,其中,所述第二BD链位于所述主机内存中且应用于所述外围设备接收所述主机发送的以太网报文的过程中,所述第二BD对所述主机不可用;从所述第二BD对应的缓存中提取以太网报文,并将提取到的以太网报文写入用于存储主机发送的以太网报文的缓存空间;对所述第二BD进行更新使所述第二BD对所述外围设备不可用且对所述主机可用;若所述第二BD更新完成,生成接收完成中断并写入位于所述主机的中断缓存区;通知所述主机处理所述接收完成中断。4.根据权利要求3所述的方法,其特征在于,从第二BD链中读取一个对所述外围设备可用的第二BD,具体包括:根据第二BD链中最近一个被读取的BD的索引,读取所述第二BD链中的当前BD,所述当前BD与所述最近一个被读取的BD相邻;判断所述当前BD是否对所述外围设备可用;若否,生成当前BD不可用中断并写入位于所述主机的中断缓存区;通知所述主机处理所述当前BD不可用中断;以及,继续执行根据第二BD链中最近一个被读取的BD的索引,读取所述第二BD链中的当前BD的步骤若是,将读取的当前BD作为第二BD。5.根据权利要求1-4任一所述的方法,其特征在于,对生成的任一中断,将所述生成的任一中断写入位于所述主机的中断缓存区,具体包括:确定所述中断缓存区内指定中断缓存的索引,其中,所述中断缓存区包括多个中断缓存,一个中断缓存用于缓存一个中断,所述指定中断缓存为所述中断缓存区内最近一个被写入中断的中断缓存;根据所述指定中断缓存的索引,确定位于所述指定中断缓存之后且与所述指定中断缓存相邻的当前中断缓存;将所述生成的任一中断写入所述当前中断缓存。6.一种数据接收方法,其特征在于,应用于主机,包括:接收到所述主机的外围设备发送的中断处理通知时,对写入所述主机的中断缓存区的中断进行轮询处理;若当前轮询到的中断为发送完成中断,从第一BD链中读取一个对所述主机可用的第一BD,其中,所述第一BD链位于所述主机内存中且应用于所述主机接收所述外围设备发送的以太网报文的过程中,所述第一BD对所述外围设备不可用;从所述第一BD对应的缓存中提取以太网报文,并对所述第一BD进行更新使所述第一BD对所述主机不可用且对所述外围设备可用。7.一种数据发送方法,其特征在于,应用于主机,包括:从第二BD链中读取一个对所述主机可用的第二BD,其中,所述第二BD链位于所述主机内存中且应用于所述主机向所述外围设备发送以太网报文的过程中,所述第二BD对所述外围设备不可用;将以太网报文写入所述第二BD对应的缓存中,并对所述第二BD进行更新使所述第二BD对所述外围设备可用且对所述主机不可用;以及接收所述外围设备发送的接收完成中断通知,若轮询到的中断为接收完成中断,释放所述第二BD对应的缓存中内容,其中,接收到所述主机的外围设备发送的中断处理通知时,对写入所述主机的中断缓存区的中断进行轮询处理。8.根据权利要求6-7任一所述的方法,其特征在于,接收到所述主机的外围设备发送的中断处理通知时,对写入所述主机的中断缓存区的中断进行轮询处理,具体包括:接收到所述外围设备发送的中断处理通知时,如果所述主...

【专利技术属性】
技术研发人员:包鹏飞李美龙
申请(专利权)人:北京东土军悦科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1