CN115550442A - 数据包传输方法、装置、电子设备及存储介质 - Google Patents

数据包传输方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN115550442A
CN115550442A CN202211203999.0A CN202211203999A CN115550442A CN 115550442 A CN115550442 A CN 115550442A CN 202211203999 A CN202211203999 A CN 202211203999A CN 115550442 A CN115550442 A CN 115550442A
Authority
CN
China
Prior art keywords
data packet
cache space
space
packet
target data
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.)
Pending
Application number
CN202211203999.0A
Other languages
English (en)
Inventor
崔文博
王超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Eswin Computing Technology Co Ltd
Guangzhou Quanshengwei Information Technology Co Ltd
Original Assignee
Beijing Eswin Computing Technology Co Ltd
Guangzhou Quanshengwei Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Eswin Computing Technology Co Ltd, Guangzhou Quanshengwei Information Technology Co Ltd filed Critical Beijing Eswin Computing Technology Co Ltd
Priority to CN202211203999.0A priority Critical patent/CN115550442A/zh
Publication of CN115550442A publication Critical patent/CN115550442A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)

Abstract

本申请实施例提供了一种数据包传输方法、装置、电子设备及存储介质,涉及数据包传输技术领域。由USB主机端执行,该方法包括:获得待发送的目标数据包;确定缓存空间中当前的剩余存储空间,若剩余存储空间不满足存储目标数据包,则将缓存空间中已缓存的数据包打包为一个聚合数据包;将聚合数据包发送至USB设备端,将目标数据包缓存至缓存空间中。本申请实施例实现了在USB传输中通过利用聚合数据包,从而避免了每次只能传输一个目标数据包,降低了内存的占用率和USB协议开销,提高了数据包传输效率。

Description

数据包传输方法、装置、电子设备及存储介质
技术领域
本申请涉及数据包传输技术领域,具体而言,本申请涉及一种数据包传输方法、装置、电子设备及存储介质。
背景技术
USB无线网卡是一种在无线局域网的覆盖下使数码产品通过无线连接进行上网的无线终端设备。数码产品上传数据包时,往往是先将数据包通过USB传输方式传输至USB无线网卡上,USB无线网卡再利用无线传输方式上传数据包。
考虑到数码产品不仅产生大量的数据包还会频繁的发送数据包,现有的方法主要是通过提高无线传输效率来提高数据包传输效率。然而,在使用USB传输时频繁发送数据包会影响数码产品内存的占用率和USB协议开销,仍然会影响数据包传输效率。
发明内容
本申请实施例提供了一种数据包传输方法、装置、电子设备及存储介质,可以解决频繁发送数据包会影响数码产品内存的占用率和USB协议开销,以及数据包传输效率的问题。所述技术方案如下:
根据本申请实施例的一个方面,提供了一种数据包传输方法,由USB主机端执行,该方法包括:
获得待发送的目标数据包;
确定缓存空间中当前的剩余存储空间,若所述剩余存储空间不满足存储所述目标数据包,则将所述缓存空间中已缓存的数据包打包为一个聚合数据包;
将所述聚合数据包发送至USB设备端,将所述目标数据包缓存至所述缓存空间中。
作为一种可选实施例,所述确定缓存空间中当前的剩余存储空间,之后还包括:
若所述剩余存储空间满足存储所述目标数据包,则将所述目标数据包缓存至所述缓存空间中。
作为一种可选实施例,所述将所述目标数据包缓存至所述缓存空间中,包括:
确定所述已缓存的数据包占用所述缓存空间的总字节数;
根据所述总字节数确定所述缓存空间中剩余存储空间的起始字节位,从所述起始字节位开始存储所述目标数据包以及所述目标数据包的字节数。
作为一种可选实施例,所述将所述缓存空间中已缓存的数据包打包为一个聚合数据包,包括:
将所述缓存空间中首个数据包对应的起始字节位至最后一个数据包对应的结束字节位中的信息,打包为一个所述聚合数据包;
其中,所述聚合数据包中包括至少一个数据包以及相应数据包的字节数。
作为一种可选实施例,所述获得待发送的目标数据包,之前包括:
创建所述缓存空间,并设置缓存在所述缓存空间的数据包的字节数的最小值;
所述若所述剩余存储空间满足存储所述目标数据包,则将所述目标数据包缓存至所述缓存空间中,之后还包括:
确定所述存储空间中当前的剩余存储空间,若所述剩余存储空间所占字节数小于所述最小值,则将所述缓存空间中已缓存的数据包打包为一个聚合数据包。
作为一种可选实施例,还包括:
若确定预设定时器的计时超过预设时长阈值,则将所述缓存空间中已缓存的数据包打包为一个聚合数据包,并将所述聚合数据包发送至所述USB设备端;以及
当获得待发送的目标数据包,或者将所述聚合数据包发送至所述USB设备端时,重置所述定时器。
根据本申请实施例的另一个方面,提供了一种数据包传输方法,其特征在于,由USB设备端执行,所述方法包括:
接收USB主机端发送的聚合数据包;所述聚合数据包是在所述USB主机端的缓存空间中的剩余存储空间不满足存储所述目标数据包时,对所述缓存空间中已缓存的数据包进行打包得到的;
将所述聚合数据包进行拆解得到相应的数据包,将所述数据包发送至WIFi接收端。
作为一种可选实施例,所述聚合数据包中包括至少一个数据包以及相应数据包的字节数;
所述将所述聚合数据包进行拆解得到相应的数据包,包括:
根据所述数据包的字节数,确定所述数据包在所述聚合数据包的起始字节位和结束字节位;
根据所述起始字节位和所述结束字节位,取出所述数据包。
根据本申请实施例的另一个方面,提供了一种数据包传输装置,该装置包括:
获得模块,用于获得待发送的目标数据包;
确定模块,用于确定缓存空间中当前的剩余存储空间;
判断模块,用于判断出所述剩余存储空间不满足存储所述目标数据包时,将所述缓存空间中已缓存的数据包打包为一个聚合数据包,将所述聚合数据包发送至USB设备端,并将所述目标数据包缓存至所述缓存空间中。
根据本申请实施例的另一个方面,提供了一种数据包传输装置,该装置包括:
接收模块,用于接收USB主机端发送的聚合数据包;所述聚合数据包是在所述USB主机端的缓存空间中的剩余存储空间不满足存储所述目标数据包时,对所述缓存空间中已缓存的数据包进行打包得到的;
处理模块,用于将所述聚合数据包进行拆解得到相对应的数据包,并将所述数据包发送至WIFi接收端。
根据本申请实施例的另一个方面,提供了一种电子设备,该电子设备包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现上述的数据包传输方法的步骤。
根据本申请实施例的再一个方面,提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的数据包传输方法的步骤。
本申请实施例提供的技术方案带来的有益效果是:本申请实施例提供了一种数据包传输方法、装置、电子设备及存储介质,在USB传输中通过利用聚合数据包,从而避免了每次只能传输一个目标数据包,降低了内存的占用率和USB协议开销,提高了数据包传输效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的实现数据包传输方法的系统架构示意图;
图2为本申请实施例提供的一种数据包传输方法的流程示意图;
图3为本申请实施例提供的一种聚合数据包的结构示意图;
图4为本申请实施例提供的一种数据包传输方法的流程示意图;
图5为本申请实施例提供的一种聚合数据包的结构示意图;
图6为本申请实施例提供的一种数据包传输装置的结构示意图;
图7为本申请实施例提供的一种数据包传输装置的结构示意图;
图8为本申请实施例提供的一种实现数据包传输方法的电子设备的结构示意图。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”可以实现为“A”,或者实现为“B”,或者实现为“A和B”。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请提供的数据包传输方法、装置、电子设备、存储介质以及计算机程序产品,旨在解决现有技术的如上技术问题。
下面通过对几个示例性实施方式的描述,对本申请实施例的技术方案以及本申请的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。
图1为本申请实施例提供的实现数据包传输方法的系统架构示意图,该系统包括主机120和USB设备110,USB主机端是进行主机120的数据的输入输出的连接器部,USB设备端是进行USB设备110的数据的输入输出的连接器部。主机120可以是,但不限于,智能手机、个人电脑(personal computer,PC)、平板电脑、个人数字助理(personal digitalassistant,PDA)、移动上网设备(mobileInternet device,MID)等。USB设备110可以是无线网卡等这类通过USB连接进行WIFI连接的通信设备。
可以理解的是,主机120在使用时会产生大量的数据包,数据包通过USB主机端和USB设备端之间的连接传输到USB设备110上,最后再将数据包通过无线传输的方式传输到设备130上。
其中,设备130包括但不限于无线路由器、提供无线路由功能的服务器等,WIFi接收端是进行设备130的数据的输入输出的连接器部。
本申请实施例中提供了一种数据包传输方法,由USB主机端执行,如图2所示,该方法包括:
S101、获得待发送的目标数据包。
可以理解的是,主机120使用时会产生各种各样的数据包,USB主机端获得主机产生的数据包以作为目标数据包。数据包主要由“目的IP地址”、“源IP地址”、“净载数据”等部分构成,各个数据包的长度不定,即数据包的字节数不定。数据包的结构与写信类似,目的IP地址是说明这个数据包是要发给谁的,相当于收信人地址;源IP地址是说明这个数据包是发自哪里的,相当于发信人地址;而净载数据相当于信件的内容,从而便于设备130对数据包进行快速确认。
S102、确定缓存空间中当前的剩余存储空间,若剩余存储空间不满足存储目标数据包,则将缓存空间中已缓存的数据包打包为一个聚合数据包;
其中,缓存空间可以但不限于为一种链表形式缓存数据的缓存区域,包括链表头部、链表中部、链表尾部等。
具体地,缓存空间存在能存储的最大字节数为A,目标数据包的字节数为a,缓存空间中已缓存的数据包的总字节数为b,剩余存储空间能存储的最大字节数为A-b,若a<A-b,则将缓存空间中已缓存的数据包打包为一个聚合数据包。示例性地,当缓存空间内已缓存的数据包有多个时,将多个数据包首尾依次拼接进而打包为一个聚合数据包。
S103、将聚合数据包发送至USB设备端,将目标数据包缓存至缓存空间中。
具体地,聚合数据包发送至USB设备端后,缓存空间内存在最大的存储空间,以便缓存目标数据包。
可以理解的是,USB主机端将数据包传输给USB设备端时,通过利用聚合数据包,从而避免了每次只能传输一个目标数据包,以尽可能保证一次USB传输的总字节数尽可能多,进而降低了内存的占用率和USB协议开销,提高了数据包传输效率。
在上述各实施例的基础上,作为一种可选实施例,确定缓存空间中当前的剩余存储空间,之后还包括:
若剩余存储空间满足存储目标数据包,则将目标数据包缓存至缓存空间中。
具体地,缓存空间存在能存储的最大字节数为A,目标数据包的字节数为a,缓存空间中已缓存的数据包的总字节数为b,当前剩余存储空间能存储的最大字节数为A-b,若a≥A-b,则将目标数据包缓存至缓存空间中,此时缓存空间的当前剩余存储空间能存储的最大字节数为A-a-b。若获得的下一个目标数据包的字节数为c,通过比较c和A-a-b的大小,即可判断是将缓存空间内已缓存的数据包进行打包发送后,再缓存字节数为c的目标数据包,还是直接将该目标数据包缓存至缓存空间内。
在上述各实施例的基础上,作为一种可选实施例,将目标数据包缓存至缓存空间中,包括:
确定已缓存的数据包占用缓存空间的总字节数;
根据总字节数确定缓存空间中剩余存储空间的起始字节位,从起始字节位开始存储目标数据包以及目标数据包的字节数。
具体地,已缓存的数据包的总字节数为1028,那么便可知道缓存空间剩余空间的起始字节位是1029,那么便从第1029位开始存储目标数据包以及目标数据包的字节数。
可选地,从起始字节位开始存储目标数据包以及目标数据包的字节数包括两种缓存方式,一种是先存储目标数据包,再存储目标数据包的字节数;另一种是先存储目标数据包的字节数,再存储目标数据包。本实施例中,考虑到对聚合数据包进行拆解时往往从字节位小的开始,故采用第二种方式存储目标数据包。
其中,本实施例中用2个字节来存储目标数据包的字节数,以便后续拆解聚合数据包的方便和准确。
示例性地,目标数据包的字节数为50,若采用缓存目标数据包的第一种方式,则第1029~1079位用来存储目标数据包,第1080位和第1081位用来存储目标数据包的字节数50;若采用缓存目标数据包的第二种方式,则第1029位和1030位用来存储目标数据包的字节数50,第1031位~1081位用来存储目标数据包。
在上述各实施例的基础上,作为一种可选实施例,将缓存空间中已缓存的数据包打包为一个聚合数据包,包括:
将缓存空间中首个数据包对应的起始字节位至最后一个数据包对应的结束字节位中的信息,打包为一个聚合数据包;
其中,聚合数据包中包括至少一个数据包以及相应数据包的字节数。
可以理解的是,考虑到会在缓存空间存储数据包和对应数据包的字节数,若先存储数据包,再存储数据包的字节数,数据包对应的起始字节位为数据包的第一个字节位,结束字节位为代表数据包字节数的最后一个字节位;若先存储数据包的字节数,再存储数据包,数据包对应的起始字节位为代表数据包字节数的第一个字节位,结束字节位为数据包的最后一个字节位。
进一步地,聚合数据包中还包括用于表达数据包的个数的字节。
其中,本实施例中用2个字节来存储数据包的个数,以便后续拆解聚合数据包的方便和准确。
示例性地,结合图3所示,其示例性地示出了一种聚合数据包的结构示意图,缓存空间内有三个数据包1~3,数据包的个数为3,数据包1的字节数为80,数据包2的字节数为50,数据包3的字节数为100,若先存储数据包的字节数,再存储数据包,则聚合数据包的第1个字节位和第2个字节位用于表示数据包个数为3,第3个字节位和第4个字节位用于表示数据包1的字节数80,第5~85个字节位用于表示数据包1,第86个字节位和第87个字节用于表示数据包2的字节数50,第88~138个字节位用于表示数据包2,第139个字节位和第140个字节位用来表示数据包3的字节数100,第141~241个字节位用来表示数据包3。
在上述各实施例的基础上,作为一种可选实施例,获得待发送的目标数据包,之前包括:
创建缓存空间,并设置缓存在缓存空间的数据包的字节数的最小值;
若剩余存储空间满足存储目标数据包,则将目标数据包缓存至缓存空间中,之后还包括:
确定存储空间中当前的剩余存储空间,若剩余存储空间所占字节数小于最小值,则将缓存空间中已缓存的数据包打包为一个聚合数据包。
可以理解的是,通过创建缓存空间从而能得到缓存空间能存储的最大字节数,以及能缓存在缓存空间的数据包的字节数的最大值。并通过设置能缓存在数据包的字节数的最小值,能而能进一步地提高整个运算速度。
示例性地,缓存空间能存储的最大字节数为2048,能缓存在缓存空间的数据包的字节数的最大值为2048-2-2=2044,能缓存在数据包的字节数的最小值为50。即数据包的字节数大于2048的无需进入缓存空间,可以直接发送至USB设备端,未存储目标数据包时剩余存储空间的字节数为100,若目标数据包的字节数为70,缓存至缓存空间后剩余存储空间的字节数为30,小于最小值50,那么便可直接将缓存空间中已缓存的数据包打包为一个聚合数据包,无需等待下一个目标数据包并判断剩余存储空间是否满足存储该目标数据包,能提高整个运算和响应速度。
在上述各实施例的基础上,作为一种可选实施例,该数据包传输方法还包括:
若确定预设定时器的计时超过预设时长阈值,则将缓存空间中已缓存的数据包打包为一个聚合数据包,并将聚合数据包发送至USB设备端;以及
当获得待发送的目标数据包,或者将聚合数据包发送至USB设备端时,重置定时器。
可以理解是,通过设置定时器以避免出现长时间不向USB设备端发送聚合数据包的情况发生。
具体地,若缓存空间中已缓存了至少一个数据包,且在预设时长阈值内仍未获得目标数据包,则无需考虑剩余存储空间的字节数还有多少,以及是否能存储目标数据包,直接将缓存空间中已缓存的数据包打包为一个聚合数据包,并将聚合数据包发送至USB设备端,从而保证USB传输不会间断,提高传输效率。
具体地,若缓存空间中已缓存了至少一个数据包,且在预设时长阈值内获得了目标数据包时,则需要重置定时器,以便还未判断目标数据包是否能存储在剩余存储空间中时,就对缓存空间内已缓存的数据进行打包发送,降低了传输效率。
具体地,若将聚合数据包发送至USB设备端时,则需要重置定时器,以避免出现发送未包含数据包的聚合数据包的情况发生,影响了传输的流畅性以及传输效率。
本申请实施例中提供了一种数据包传输方法,由USB主机端执行,如图4所示,该方法包括:
S201、接收USB主机端发送的聚合数据包;聚合数据包是在USB主机端的缓存空间中的剩余存储空间不满足存储目标数据包时,对缓存空间中已缓存的数据包进行打包得到的;
S202、将聚合数据包进行拆解得到相应的数据包,将数据包发送至WIFi接收端。
可以理解的是,在USB传输中通过先接收聚合数据包,再将聚合数据包进行拆解以得到数据包,从而避免了每次只能接收一个数据包,降低了内存的占用率和USB协议开销,提高了数据包传输效率。
在上述各实施例的基础上,作为一种可选实施例,聚合数据包中包括至少一个数据包以及相应数据包的字节数;
将聚合数据包进行拆解得到相应的数据包,包括:
根据数据包的字节数,确定数据包在聚合数据包的起始字节位和结束字节位;
根据起始字节位和结束字节位,取出数据包。
具体地,结合图5所示,其示例性地示出了一种聚合数据包的结构示意图,聚合数据包的第1个字节位和第2个字节位用于表示数据包1的字节数80,即可确定数据包1的起始字节位为3,结束字节位为83,便可取出数据包1,第84个字节位和第85个字节用于表示数据包2的字节数50,即可确定数据包2的起始字节位为86,结束字节位为136,即可取出数据包2,第137个字节位和第138个字节位用来表示数据包3的字节数100,即可确定数据包3的起始字节位为139,结束字节位为239,即可取出数据包3。当取完数据包3后,发现聚合数据包未有第240位字节,则说明已将聚合数据包内的所有数据包取出,从而依次向WIPFI接收端发送数据包1~3。
可选地,若聚合数据包还包括用于表达数据包个数的字节,数据包传输方法还包括:
根据表达数据包个数的字节,确定取出数据包的个数。
可以理解的是,相较于取出最后一个数据包后还需根据最后一个数据包的结束字节位判断是否还有数据包,通过数据包个数能快速的知道需从聚合数据包拆解出的数据包个数,进一步地提高运算和响应速度。
示例性地,结合图3所示,其示例性地示出了一种聚合数据包的结构示意图,根据第1个字节位和第2个字节位用于表示数据包个数为3,知道需要取出3个数据包1~3,第3个字节位和第4个字节位用于表示数据包1的字节数80,即可确定数据包1的起始字节位为5,结束字节位为85,便可取出数据包1,第86个字节位和第87个字节用于表示数据包2的字节数50,即可确定数据包2的起始字节位为88,结束字节位为138,即可取出数据包2,第139个字节位和第140个字节位用来表示数据包3的字节数100,即可确定数据包3的起始字节位为141,结束字节位为241,即可取出数据包3。由于数据包的个数为3,当取完数据包3后,便可确定已将聚合数据包内的所有数据包取出,从而依次向WIFI接收端发送数据包1~3。
本申请实施例提供了一种数据包传输装置,如图6所示,该数据包传输装置包括:获得模块601、确定模块602和操作模块603,其中,获得模块601用于获得待发送的目标数据包;确定模块602用于确定缓存空间中当前的剩余存储空间;操作模块603用于判断出剩余存储空间不满足存储目标数据包时,将缓存空间中已缓存的数据包打包为一个聚合数据包,并将聚合数据包发送至USB设备端,将目标数据包缓存至缓存空间中。
在上述各实施例的基础上,作为一种可选实施例,操作模块还用于判断出剩余存储空间满足存储目标数据包,将目标数据包缓存至缓存空间中。
在上述各实施例的基础上,作为一种可选实施例,操作模块将目标数据包缓存至缓存空间中,具体实现方法包括:
确定已缓存的数据包占用缓存空间的总字节数;
根据总字节数确定缓存空间中剩余存储空间的起始字节位,从起始字节位开始存储目标数据包以及目标数据包的字节数。
在上述各实施例的基础上,作为一种可选实施例,操作模块将缓存空间中已缓存的数据包打包为一个聚合数据包,具体实现方法包括:
将缓存空间中首个数据包对应的起始字节位至最后一个数据包对应的结束字节位中的信息,打包为一个聚合数据包;
其中,聚合数据包中包括至少一个数据包以及相应数据包的字节数。
在上述各实施例的基础上,作为一种可选实施例,数据包传输装置还包括创建模块,用于创建缓存空间,并设置缓存在缓存空间的数据包的字节数的最小值;
操作模块在判断若剩余存储空间满足存储目标数据包,将目标数据包缓存至缓存空间中,之后还包括:
确定存储空间中当前的剩余存储空间,若剩余存储空间所占字节数小于最小值,则将缓存空间中已缓存的数据包打包为一个聚合数据包。
在上述各实施例的基础上,作为一种可选实施例,操作模块还用于确定预设定时器的计时超过预设时长阈值时,则将缓存空间中已缓存的数据包打包为一个聚合数据包,并将聚合数据包发送至USB设备端;以及
当获得待发送的目标数据包,或者将聚合数据包发送至USB设备端时,重置定时器。
本申请实施例提供了一种数据包传输装置,如图7所示,该数据包传输装置包括接收模块701和处理模块702,接收模块701用于接收USB主机端发送的聚合数据包;聚合数据包是在USB主机端的缓存空间中的剩余存储空间不满足存储目标数据包时,对缓存空间中已缓存的数据包进行打包得到的;处理模块702用于将聚合数据包进行拆解得到相对应的数据包,并将数据包发送至WIFi接收端。
在上述各实施例的基础上,作为一种可选实施例,聚合数据包中包括至少一个数据包以及相应数据包的字节数;处理模块将聚合数据包进行拆解得到相应的数据包,具体实现方法包括:
根据数据包的字节数,确定数据包在聚合数据包的起始字节位和结束字节位;
根据起始字节位和结束字节位,取出数据包。
本申请实施例的装置可执行本申请实施例所提供的方法,其实现原理相类似,本申请各实施例的装置中的各模块所执行的动作是与本申请各实施例的方法中的步骤相对应的,对于装置的各模块的详细功能描述具体可以参见前文中所示的对应方法中的描述,此处不再赘述。
本申请实施例中提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行上述计算机程序以实现数据包传输方法的步骤,与相关技术相比可实现:在USB传输中通过利用聚合数据包,从而避免了每次只能传输一个目标数据包,降低了内存的占用率和USB协议开销,提高了数据包传输效率。
在一个可选实施例中提供了一种电子设备,如图8所示,图8所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004,收发器4004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。
处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
存储器4003用于存储执行本申请实施例的计算机程序,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的计算机程序,以实现前述方法实施例所示的步骤。
本申请实施例提供了一种存储介质,该存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除图示或文字描述以外的顺序实施。
应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上所述仅是本申请部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。

Claims (12)

1.一种数据包传输方法,其特征在于,由USB主机端执行,所述方法包括:
获得待发送的目标数据包;
确定缓存空间中当前的剩余存储空间,若所述剩余存储空间不满足存储所述目标数据包,则将所述缓存空间中已缓存的数据包打包为一个聚合数据包;
将所述聚合数据包发送至USB设备端,将所述目标数据包缓存至所述缓存空间中。
2.根据权利要求1的所述的数据包传输方法,其特征在于,所述确定缓存空间中当前的剩余存储空间,之后还包括:
若所述剩余存储空间满足存储所述目标数据包,则将所述目标数据包缓存至所述缓存空间中。
3.根据权利要求2所述的数据包传输方法,其特征在于,所述将所述目标数据包缓存至所述缓存空间中,包括:
确定所述已缓存的数据包占用所述缓存空间的总字节数;
根据所述总字节数确定所述缓存空间中剩余存储空间的起始字节位,从所述起始字节位开始存储所述目标数据包以及所述目标数据包的字节数。
4.根据权利要求2所述的数据包传输方法,其特征在于,所述将所述缓存空间中已缓存的数据包打包为一个聚合数据包,包括:
将所述缓存空间中首个数据包对应的起始字节位至最后一个数据包对应的结束字节位中的信息,打包为一个所述聚合数据包;
其中,所述聚合数据包中包括至少一个数据包以及相应数据包的字节数。
5.根据权利要求2所述的数据包传输方法,其特征在于,所述获得待发送的目标数据包,之前包括:
创建所述缓存空间,并设置缓存在所述缓存空间的数据包的字节数的最小值;
所述若所述剩余存储空间满足存储所述目标数据包,则将所述目标数据包缓存至所述缓存空间中,之后还包括:
确定所述存储空间中当前的剩余存储空间,若所述剩余存储空间所占字节数小于所述最小值,则将所述缓存空间中已缓存的数据包打包为一个聚合数据包。
6.根据权利要求2所述的数据包传输方法,其特征在于,还包括:
若确定预设定时器的计时超过预设时长阈值,则将所述缓存空间中已缓存的数据包打包为一个聚合数据包,并将所述聚合数据包发送至所述USB设备端;以及
当获得待发送的目标数据包,或者将所述聚合数据包发送至所述USB设备端时,重置所述定时器。
7.一种数据包传输方法,其特征在于,由USB设备端执行,所述方法包括:
接收USB主机端发送的聚合数据包;所述聚合数据包是在所述USB主机端的缓存空间中的剩余存储空间不满足存储所述目标数据包时,对所述缓存空间中已缓存的数据包进行打包得到的;
将所述聚合数据包进行拆解得到相应的数据包,将所述数据包发送至WIFi接收端。
8.根据权利要求7的所述的数据包传输方法,其特征在于,所述聚合数据包中包括至少一个数据包以及相应数据包的字节数;
所述将所述聚合数据包进行拆解得到相应的数据包,包括:
根据所述数据包的字节数,确定所述数据包在所述聚合数据包的起始字节位和结束字节位;
根据所述起始字节位和所述结束字节位,取出所述数据包。
9.一种数据包传输装置,其特征在于,包括:
获得模块,用于获得待发送的目标数据包;
确定模块,用于确定缓存空间中当前的剩余存储空间;
判断模块,用于判断出所述剩余存储空间不满足存储所述目标数据包时,将所述缓存空间中已缓存的数据包打包为一个聚合数据包,将所述聚合数据包发送至USB设备端,并将所述目标数据包缓存至所述缓存空间中。
10.一种数据包传输装置,其特征在于,包括:
接收模块,用于接收USB主机端发送的聚合数据包;所述聚合数据包是在所述USB主机端的缓存空间中的剩余存储空间不满足存储所述目标数据包时,对所述缓存空间中已缓存的数据包进行打包得到的;
处理模块,用于将所述聚合数据包进行拆解得到相对应的数据包,并将所述数据包发送至WIFi接收端。
11.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1-8任一项所述的数据包传输方法的步骤。
12.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-8任一项所述的数据包传输方法的步骤。
CN202211203999.0A 2022-09-29 2022-09-29 数据包传输方法、装置、电子设备及存储介质 Pending CN115550442A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211203999.0A CN115550442A (zh) 2022-09-29 2022-09-29 数据包传输方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211203999.0A CN115550442A (zh) 2022-09-29 2022-09-29 数据包传输方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN115550442A true CN115550442A (zh) 2022-12-30

Family

ID=84731692

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211203999.0A Pending CN115550442A (zh) 2022-09-29 2022-09-29 数据包传输方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN115550442A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116668538A (zh) * 2023-08-02 2023-08-29 深圳市翼联网络通讯有限公司 Usb新型网卡和通信方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116668538A (zh) * 2023-08-02 2023-08-29 深圳市翼联网络通讯有限公司 Usb新型网卡和通信方法
CN116668538B (zh) * 2023-08-02 2023-10-03 深圳市翼联网络通讯有限公司 Usb新型网卡和通信方法

Similar Documents

Publication Publication Date Title
CN108055202B (zh) 一种报文处理设备和方法
CN108028833B (zh) 一种nas数据访问的方法、系统及相关设备
CN106850402B (zh) 消息的传输方法和装置
CN106664290B (zh) 一种光电混合网络的数据传输方法及装置
CN109936514B (zh) 一种报文处理方法和装置
KR102173089B1 (ko) 인터페이스 회로 및 그것의 패킷 전송 방법
CN100499666C (zh) 实现SPI4设备与PCI Express设备互连的系统及方法
CN107862074A (zh) 大数据量参数快速读写方法
CN115550442A (zh) 数据包传输方法、装置、电子设备及存储介质
CN107888337B (zh) 一种fpga、fpga处理信息的方法、加速装置
CN112422485B (zh) 一种传输控制协议的通信方法及装置
CN106055504A (zh) 控制数据传输的方法、装置及计算机设备
CN113986969A (zh) 数据处理方法、装置、电子设备和存储介质
US9544401B2 (en) Device and method for data communication using a transmission ring buffer
US10372667B2 (en) Communication apparatus and control method thereof
CN109417507A (zh) 部分延迟的报文访问
CN109800202B (zh) 一种基于pcie的数据传输系统、方法及装置
CN110781104A (zh) 一种数据处理系统、方法和装置
CN107332839B (zh) 一种报文传输方法及装置
CN114710426A (zh) 一种确定读操作往返时延的方法、装置、系统及相关设备
CN115904488A (zh) 数据传输方法、系统、装置及设备
CN110602211B (zh) 一种带异步通知的乱序rdma方法与装置
CN113297117A (zh) 数据传输方法、设备、网络系统及存储介质
JP2012049883A (ja) 通信装置およびパケット処理方法
CN116226027B (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