CN111026694A - 数据接收方法、设备,图像形成装置、***和电子设备 - Google Patents
数据接收方法、设备,图像形成装置、***和电子设备 Download PDFInfo
- Publication number
- CN111026694A CN111026694A CN201911255624.7A CN201911255624A CN111026694A CN 111026694 A CN111026694 A CN 111026694A CN 201911255624 A CN201911255624 A CN 201911255624A CN 111026694 A CN111026694 A CN 111026694A
- Authority
- CN
- China
- Prior art keywords
- data
- time
- packet
- equal
- received
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1259—Print job monitoring, e.g. job status
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1268—Job submission, e.g. submitting print job order or request not the print data itself
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1275—Print workflow management, e.g. defining or changing a workflow, cross publishing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1284—Local printer device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal serial bus [USB]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Communication Control (AREA)
Abstract
本发明属于数据通信技术领域,为了解决现有技术缺少准确判断数据传输完成的技术问题,本发明提供一种数据接收方法、设备,图像形成装置、***和电子设备,所述方法包括:顺序接收数据包,每当连续接收到n个数据包后,将n个数据包打包成数据组,并将数据组传输至应用层;判断T1时刻的第一数据包的大小和T2时刻的第二数据包的大小,以及在T1时刻到T2时刻之间是否有数据组传输至应用层;其中,T2>T1;当第一数据包的大小和第二数据包的大小相等,并且在T1时刻到T2时刻之间没有数据组传输至应用层时,输出表征T2时刻接收完所有数据包信息。因此,提供了一种不依赖于0长度字节数据包的情况下,准确判断数据传输完成的技术方案。
Description
【技术领域】
本发明涉及数据通信技术领域,尤其涉及一种数据接收方法、设备,图像形成装置、***和电子设备。
【背景技术】
USB,是英文Universal Serial Bus(通用串行总线)的缩写,是一个外部总线标准,用于规范电脑与外部设备(例如图像形成装置)的连接和通讯;是应用在PC领域的接口技术。
图像形成装置作为计算机的外设,通过都使用USB来接收计算机中打印驱动下发的成像作业;但是发明人在实现本发明的过程中发现,现有技术中的打印驱动下发的成像作业经常会出现成像作业下发一段时间之后,图像形成装置却一直处理工作接收作业的工作状态,实际对图像形成装置自身进行检测时,却发现图像形成装置自身处于正常状态。
【发明内容】
本申请发明人对上述技术问题进一步进行分析,发现正常基于USB这种标准通讯技术,数据传输完成之后,都会发送0长度字节数据包,外设基于接收到的0长度字节数据包就可以确定数据传输完成,但是很多时候计算机的操作***或者打印驱动并不执行标准的USB通讯方法,并不发送0长度字节数据包;这样与计算机连接的外设就没有办法确认数据是否传输完成。因此,外设如何在不依赖于0长度字节数据包的情况下,准确判断数据传输完成,是本领域技术人员迫切希望解决的技术问题。
为了解决现有技术缺少准确判断数据传输完成的技术问题,本发明提供一种数据接收方法、设备,图像形成装置、***和电子设备,通过直接比对接收到数据包的属性信息,来执行数据包是否完成传输的操作,所以提供了一种不依赖于0长度字节数据包的情况下,准确判断数据传输完成的技术方案。
为了实现上述目的,本发明提供的技术方案包括:
本发明实施例第一方面提供了一种数据接收方法,所述方法应用于接收到预定大小数据包整数倍的数据,其特征在于,包括:
顺序接收数据包,每当连续接收到n个数据包后,将所述n个数据包打包成数据组,并将所述数据组传输至应用层,n为大于等于1的自然数;
判断T1时刻的第一数据包的大小和T2时刻的第二数据包的大小,以及在T1时刻到T2时刻之间是否有数据组传输至应用层,所述第一数据包为所述T1时刻已接收但未传输至应用层的数据包,所述第二数据包为所述T2时刻已接收但未传输至应用层的数据包;其中,T2>T1;
当所述第一数据包的大小和所述第二数据包的大小相等,并且在T1时刻到T2时刻之间没有数据组传输至应用层时,输出表征T2时刻接收完所有数据包信息。
本发明实施例优选的实施方式中,所述表征T2时刻接收完所有数据包信息具体为:T2时刻接收完所有数据包;并将T2时刻前一个数据组传输完成后、累计接收的m个数据包,打包成最后一个数据组,并将所述最后一个数据组传输至应用层,m为大于等于1的自然数。
本发明实施例优选的实施方式中,所述表征T2时刻接收完所有数据包信息具体为:需要执行验证数据传输结束的操作。
本发明实施例进一步优选的实施方式中,所述验证数据传输结束的操作包括:继续判断所述T2时刻附近的T2’时刻的第三数据包的大小,所述第三数据包为所述T2’时刻已接收但未传输至应用层的数据包,并判断所述第三数据包的大小是否等于T1时刻、T2时刻或T2-T1时刻之间任意时刻数据包的大小,其中,T2’>T1;如果等于,则确定T2时刻接收完所有数据包,并将T2时刻前一个数据组传输完成后、累计接收的m个数据包,打包成最后一个数据组,并将所述最后一个数据组传输至应用层;如果不等于,继续等待接收数据包。
本发明实施例优选的实施方式中,所述方法还包括:如果有数据组传输至应用层之后,数据包就清零,并重新累计接收到的数据包;其中,某个时刻的数据包的个数大于等于零、且小于等于n。
本发明实施例优选的实施方式中,所述T2与T1之间的时间间隔范围为大于等于一个数据包的传输时间且小于等于预设值。
本发明实施例优选的实施方式中,所述判断T1时刻的第一数据包的大小和T2时刻的第二数据包的大小,以及在T1时刻到T2时刻之间是否有数据组传输至应用层的步骤为每隔预定时间循环执行的步骤,每次执行所述步骤时选定的所述T2时刻为当前时刻,选定的所述T1时刻为上一次执行所述步骤的时刻。
本发明实施例优选的实施方式中,所述T2与T2’之间的时间间隔范围为大于等于一个数据包的传输时间且小于等于预设值。
本发明实施例第一方面还提供了一种数据接收方法,其包括:
计算接收数据包个数或大小,每当连续接收到n个数据包后,将所述n个数据包打包成数据组,并将所述数据组传输至预设区域或预设设备,n为大于等于1的自然数;
判断当前时刻Ti接收到的但未传输至应用层的第一数据包的大小与上一时刻Ti-1接收到的但未传输至应用层的第二数据包的大小是否相等,并且判断当前时刻Ti与上一时刻Ti-1之间是否有数据组传输至所述预设区域或所述预设设备;
当所述第一数据包的大小和所述第二数据包的大小相等,并且在当前时刻Ti与上一时刻Ti-1之间没有数据组传输至所述预设区域或预设设备时,输出表征当前时刻Ti接收完所有数据包信息。
本发明实施例优选的实施方式中,所述当前时刻Ti与上一时刻Ti-1之间的时间间隔范围为大于等于一个数据包的传输时间且小于等于预设值。
本发明实施例第二方面还提供一种数据接收设备,其特征在于,包括:
数据缓存单元,用于顺序接收数据包,每当连续接收到n个数据包后,将所述n个数据包打包成数据组,并将所述数据组传输至应用层,n为大于等于1的自然数;
数据控制单元,用于判断T1时刻的第一数据包的大小和T2时刻的第二数据包的大小,以及在T1时刻到T2时刻之间是否有数据组传输至应用层;其中,T2>T1,所述第一数据包为所述T1时刻已接收但未传输至应用层的数据包,所述第二数据包为所述T2时刻已接收但未传输至应用层的数据包;
信息反馈单元,当所述数据控制单元确认所述第一数据包的大小和所述第二数据包的大小相等,并且在T1时刻到T2时刻之间没有数据组传输至应用层时,所述信息反馈单元输出表征T2时刻接收完所有数据包信息。
本发明实施例优选的实施方式中,所述信息反馈单元输出表征T2时刻接收完所有数据包信息具体为:T2时刻接收完所有数据包;并将T2时刻前一个数据组传输完成后、累计接收的m个数据包,打包成最后一个数据组,并将所述最后一个数据组传输至应用层,m为大于等于1的自然数。
本发明实施例优选的实施方式中,所述信息反馈单元输出表征T2时刻接收完所有数据包信息具体为:需要执行验证数据传输结束的操作。
本发明实施例进一步优选的实施方式中,所述验证数据传输结束的操作包括:继续判断所述T2时刻附近的T2’时刻的第三数据包的大小,并判断所述第三数据包的大小是否等于T1时刻、T2时刻或T2-T1时刻之间任意时刻数据包的大小,其中,T2’>T1,所述第三数据包为所述T2’时刻已接收但未传输至应用层的数据包;如果等于,则确定T2时刻接收完所有数据包,并将T2时刻前一个数据组传输完成后、累计接收的m个数据包,打包成最后一个数据组,并将所述最后一个数据组传输至应用层;如果不等于,继续等待接收数据包。
本发明实施例优选的实施方式中,所述数据控制单元还用于在判断结果为如果有数据组传输至应用层之后,将数据包清零,并重新累计接收到的数据包;其中,某个时刻的数据包的个数大于等于零、且小于等于n。
本发明实施例优选的实施方式中,所述T2与T1之间的时间间隔范围为大于等于一个数据包的传输时间且小于等于预设值。
本发明实施例优选的实施方式中,所述判断T1时刻的第一数据包的大小和T2时刻的第二数据包的大小,以及在T1时刻到T2时刻之间是否有数据组传输至应用层的步骤为每隔预定时间循环执行的步骤,每次执行所述步骤时选定的所述T2时刻为当前时刻,选定的所述T1时刻为上一次执行所述步骤的时刻。
本发明实施例优选的实施方式中,所述T2与T2’之间的时间间隔范围为大于等于一个数据包的传输时间且小于等于预设值。
本发明第三方面还提供一种图像形成装置,其特征在于,包括:
如第二方面提供的任意一种所述数据接收设备,
与所述数据接收设备连接的USB端口,以及与所述数据接收设备连接的控制***,所述控制***能够记载运行存储器中对应的应用层软件,接收所述数据接收设备传输的数据组。
本发明第三方面还提供一种图像形成装置,其包括数据接收模块、处理器、图像形成模块,所述数据接收模块用于顺序接收数据包,所述处理器用于判断所述数据接收模块接收数据包个数或大小、并且控制在每当连续接收到n个数据包后,将所述n个数据包打包成数据组,并将所述数据组传输至所述图像形成模块以用于形成图像,n为大于等于1的自然数;所述处理器还用于判断当前时刻Ti接收到的但未传输至应用层的第一数据包的大小与上一时刻Ti-1接收到的但未传输至应用层的第二数据包的大小是否相等,并且判断当前时刻Ti与上一时刻Ti-1之间是否有数据组传输至所述图像形成模块,当所述第一数据包的大小和所述第二数据包的大小相等,并且在当前时刻Ti与上一时刻Ti-1之间没有数据组传输至所述图像形成模块时,i为大于等于2的自然数,所述处理器控制将所述当前时刻Ti接收到的但未传输至应用层的第一数据包进一步打包成最后的数据组,并将所述最后的数据组传输至所述图像形成模块并控制所述图像形成模块形成图像。
本发明实施例优选的实施方式中,所述当前时刻Ti与上一时刻Ti-1之间的时间间隔范围为大于等于一个数据包的传输时间且小于等于预设值。
本发明第四方面还提供一种图像形成***,其特征在于,包括:
如第四方面提供的图像形成装置,以及向所述图像形成装置传输数据的数据发送设备。
本发明第五方面还提供一种电子设备,其特征在于,包括:存储器、处理器以及计算机程序,所述计算机程序存储在所述存储器中,所述处理器运行所述计算机程序执行第一方面中任意一种所述的数据接收方法。
本发明第六方面还提供一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现第一方面中任意一种所述的数据接收方法。
采用本实施例提供的上述技术方案,可以通过判断两个时刻数据包的大小是否相等,并且在两个时刻之间是否数据组传输至应用层;当两个时刻数据包的大小相等,则推测可能没有接收新数据,再进一步确认两个时刻之间是否数据组传输至应用层,这样如果数据流传输过程偶然相等的情况,就不会被判断为数据传输完成,所以可以保证确认数据传输完成判断结果的准确性。因此,在不依赖于发送方发送0长度字节数据包的情况下,准确判断数据传输完成。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例一提供一种图像形成***的结构框图。
图2为本发明实施例一提供一种数据接收方法的示意图。
图3为本发明实施例一的一种变更实施例提供的一种数据接收方法的示意图。
图4为本发明实施例二提供一种数据接收方法的示意图。
图5为本发明实施例三提供一种数据接收方法的示意图。
图6为本发明实施例三提供一种数据接收方法对应的控制流程图。
图7为本发明实施例四提供一种数据接收设备的结构框图。
图8为本发明实施例五提供一种图像形成装置的结构框图。
图9为本发明实施例五的一种变更实施例提供的一种图像形成装置的结构框图。
图10为本发明实施例六提供一种电子设备的结构框图。
【具体实施方式】
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一
如图1所示,本实施提供一种图像形成***,该图像形成***包括:
图像形成装置200,以及向图像形成装置传输数据的数据发送设备,该发送装置可以是计算机100。
图像形成装置可以是打印机,也可以是用于打印成像、图文复印、激光打码或者医学影像的其他装置。计算机100可以是台式机、笔记本电脑、平板电脑、手机、个人数字助理(Personal Digital Assistant,简称:PDA)等具有打印功能的终端设备,本发明不对图像形成装置和计算机的具体形式进行限定。计算机100与图像形成装置200的连接方式可以是Wi-Fi、蓝牙等无线连接方式,也可以是通过USB数据线连接。本实施例针对USB这种通讯方式进行改进,但是对于其他通讯方式如果同样存在类似USB这种通讯方式的问题,可以同样采用本实施例提供的技术方案。
计算机100,该计算机中CPU根据存储在例如用作存储单元的RAM中的程序,来总体控制连接到***总线的设备。RAM还用作CPU的主存储器、工作存储器等。ROM存储各种程序及数据。输入接口接收来自输入设备及指示设备(例如触摸屏:未示出)的输入。显示接口控制显示设备上的显示。DKS控制对诸如闪存或者SSD(固态盘)等的外部存储器的存取。外部存储器存储OS(操作***)、与各种功能相对应的应用以及打印机驱动器(打印驱动程序)。外部存储器用作计算机可读/写的存储介质。PRTC是与图像形成装置通信的打印接口。
图像形成装置200中CPU控制整体的操作。RAM用作CPU的主存储器、工作存储器等,并且还用作图像信息光栅化区域以及环境数据存储区域。RAM还包括NVRAM(非易失性RAM)区域,并且被配置为通过连接到扩展端口(未示出)的可选RAM来扩展存储器容量。ROM存储各种字体、由CPU142执行的控制程序等以及各种数据。I/O接口在图像形成装置200与计算机100之间发送/接收数据。打印机控制单元控制与用作打印机引擎单元的处理。MC控制对外部存储器的存取。外部存储器包括闪存、SSD等,并能够存储硬件信息。请注意,当未接连诸如硬盘的外部存储器时,ROM存储要在计算机中使用的信息等。操作面板包括用于操作的开关、LED显示器等。
如图2所示,本实施例提供一种数据接收方法,该数据接收方法适用于图像形成装置200来接收来自计算机100发送的打印作业数据,当然本实施例还可以应用到其他类似的技术领域中,本实施例不对其进行具体的限制。
如图2所示,本实施例提供的数据接收方法,该方法应用于接收到预定大小数据包整数倍的数据,该包括:
S110、顺序接收数据包,每当连续接收到n个数据包后,将n个数据包打包成数据组,并将数据组传输至应用层。(下文中提及的m、n都为大于等于1的自然数,如正整数)
以USB传输协议为例,发送方(例如,计算机)通常按照规定的字节大小(例如,512byte)将数据按照数据包发送,而接收方(例如,图像形成装置中数据接收设备,该数据接收设备有控制用集成电路对应的芯片和暂存数据的缓存器)控制USB端口按照顺序依次接收发送方发送的数据包,每个数据包的大小和发送方传输的字节大小(例如,512byte)相同;接收方将接收到的每个数据包暂存在缓存内,当缓存内的数据达到n个数据包时,就将这n个数据包打包成数据组(例如数据累积到16KB)一起传输至应用层,并清空缓存内已经传输至应用层的数据组。
需要说明的是,本实施例中提及的“将n个数据包打包成数据组,并将数据组传输至应用层”,仅仅是为了说明,当累计连续接收到n个数据包,会接收到中断信号,将这n个数据包一起传输至应用层,传输之后缓存中的数据清空;所以也可以称为将n个数据包组成的数据组“剪切”至应用层。至于数据打包的方式,是一起压缩成一个数据包,还是按照原有的n个数据包直接传输至应用层,这个可以根据应用层读取数据的规则来确定,本实施例不对其做具体的限制。
本实施例优选的实施方式中,可以采用FIFO(First Input First Output,简单说就是指先进先出)存储器,并且每次存储器中数据达到预定的阈值,例如前文提及的n个数据包--16KB,USB控制器就会产生一个中断,将FIFO存储器中的数据包作为一个数据组传输至应用层;本实施例中数据组传输的过程可以将n个数据包一起传输至应用层,也可以逐个数据包传输至应用层,本实施例不对其进行限制;FIFO存储器中有输出传输到应用层之后,其内部存储空间就会被释放,就可以接收新的数据包;然后重复前面的步骤。
表1.缓存器存储数据示意图
假设发送方发送了一个64KB+1000byte的数据,则每次按照512byte大小的数据包依次发送,当缓存器中累计接收到32个数据包时,缓存器中的数据大小为32╳512byte=16KB,这样就会把这32个数据包打包成数据组传输至应用层,并清空缓存中的数据,重新接收下一个数据包;通过这种方式,第1个16KB数据传输完成就打包成第一个数据组传输至应用层,第2个16KB数据传输完成就会打包成第二个数据组传输至应用层,第3个16KB数据传输完成就会打包成第三个数据组传输至应用层,第4个16KB数据传输完成就会打包成第四个数据组传输至应用层;剩下的1000byte数据,先按照512byte发送一个数据包,这时候剩下482byte的数据也作为最后一个数据包传输至应用层。接收方接收到这个482byte的数据包,可以确认是小于预定大小(512byte)的数据包;这样就能确认最后一个数据包发送完成,不再继续等待新的数据包;直到接收到新的请求,再次重新准备接收数据包。
但是如果数据中的数据是预定大小的整数倍,例如64KB,或者64KB+1024byte;这时候最后一包数据也是预定大小的数据包(例如,前文提到的512byte)。而且本实施例提供的解决方案对于在发送方,数据传输完成之后,不发送0长度字节数据包;这种场景效果更加。当然对于发送方发送0长度字节数据包,本实施例提供的技术方案依然适用。
S120、判断T1时刻的第一数据包(简称P1)的大小和T2时刻的第二数据包(简称P2)大小。其中,第一数据包为T1时刻已接收但未传输至应用层的数据包,可以理解,第一数据包的大小为T1时刻已接收但未传输至应用层的所有数据包的大小,第二数据包为T2时刻已接收但未传输至应用层的数据包,可以理解,第二数据包的大小为T2时刻已接收但未传输至应用层的所有数据包的大小,T2时刻在T1时刻之后,即T2>T1,可以理解,第一数据包可以不包括T1时刻正在接收的当前数据包,也可以包括在T1时刻已接收到的部分的当前数据包,第二数据包可以不包括T2时刻正在接收的当前数据包,也可以包括在T2时刻已接收到的部分的当前数据包;T2和T1间隔时间可以是大于或等于接收方从接收到第一个数据包到完成一个数据组传输至应用层的时间t1,即T2-T1=t2≥t1。具体地,在一些实施例中,T2与T1之间的时间间隔范围可以为大于等于一个数据包的传输时间且小于等于预设值(如5分钟或1分钟等,具体可以依据实际需要设定),为达到较好的用户体验性,可以为大于等于1s且小于等于1分钟。
并且随着数据的传输,该判断是会循环的,这样T1时刻和T2时刻的选择也是动态,即随着新接收到数据包的时刻变化,T1、T2会动态变化。例如,还是以表1中提及的上述实施方式,假设发送方发送的数据大小为64KB+1024byte;接收到第三个数据包时,T2就可以选择第三个数据包接收到的时候,T2就是0时刻;如果第35个数据包时,T2就是第35个数据包接收的时刻,T1可以是第3个数据包接收的时刻,还可以是2个数据包接收的时刻。也就是说,判断T1时刻的第一数据包的大小和T2时刻的第二数据包的大小,以及在T1时刻到T2时刻之间是否有数据组传输至应用层的步骤S20为每隔预定时间循环执行的步骤,其中每次执行步骤S120时选定的T2时刻可以为当前时刻,选定的T1时刻可以为上一次执行步骤120的时刻,即,预定时间可以为T1时刻到T2时刻的时间间隔,如大于等于一个数据包的传输时间且小于等于预设值(如5分钟或1分钟等,具体可以依据实际需要设定)。进一步地,如前所述,当步骤S120中的判断是循环的,T2与T1之间的时间间隔范围大于等于一个数据包的传输时间,但为了减轻整个***的负担,T2与T1之间的时间间隔范围也不适宜设置的过小,如可以设定为大于等于1s,因此,T2与T1之间的时间间隔范围可以为大于等于1s且小于等于1分钟。
S130、判断在T1时刻到T2时刻之间是否有数据组传输至应用层?本实施例中,T1时刻到T2时刻之间包括T1、T2本身。
例如,还是以表1中提及的上述实施方式,假设发送方发送的数据大小为64KB+1024byte;在S120的判断过程中,就会出现相邻两个数据组(例如第一组数据和第二组数据)中会出现相同的数据包,例如,第二组中第(32+3=35)个数据包对应时刻T1,第三组中第(2╳32+3=67)个数据包适应时刻T2,这两个时刻就会出现缓存器中累计数据大小相等。但是实际上T2时候数据还在继续传输,所以还需要进一步判断T1时刻到T2时刻之间是否有数据组传输至应用层。如果是,则返回重新执行S120,更新T1、T2时刻重新比对,例如T2在前面时间基础累加一个最新数据包接收时间差(例如,第68个数据包时刻作为T2),T1也在前面时间基础累加一个最新数据包接收时间差(例如,第36个数据包时刻作为T1);继续判断,后续数据接收过程依次增加预定时间;对于后面没有接收到数据的时候,可以自动加固定的时间值,当然整个过程都可以每次对T1、T2增加固定的时间值来进行判断。
需要说明的是,S120和S130没有先后顺序,可以同时进行,也可以先执行S120,或者先执行S130;本实施例不对其进行具体的限制。
当第一数据包的大小和第二数据包的大小相等,并且在T1时刻到T2时刻之间没有数据组传输至应用层时,执行S140。例如,还是以表1中提及的上述实施方式,假设发送方发送的数据大小为64KB+1024byte;如果发送发数据传输结束之后,缓存器中累计接收的数据大小就只剩下1024byte(2个完整的数据包),但是不够16KB,所以控制器在没有确认数据传输完成的时候,不会直接发送至应用层。但是采用本实施例提供的技术方案之后,在某个时刻T2和T1会出现,在T1时刻缓存器中第一数据包的大小P1和第二数据包的大小P2相等,并且在T1时刻到T2时刻之间没有数据组传输至应用层。
S140、输出表征T2时刻接收完所有数据包信息。这样就可以执行确认数据完成或者执行数据是否完成的再次核对,从而不必让接收方一直等待接收数据。
需要说明的是,本实施例中某个时刻的数据包的大小为:如果有数据组传输至应用层之后,数据包就清零,并重新累计接收到的数据包;其中,某个时刻的数据包的个数大于等于零、且小于等于n。
采用本实施例提供的上述技术方案,可以通过判断两个时刻数据包的大小是否相等,并且在两个时刻之间是否数据组传输至应用层;当两个时刻数据包的大小相等,则推测可能没有接收新数据,再进一步确认两个时刻之间是否数据组传输至应用层,这样如果数据流传输过程偶然相等的情况,就不会被判断为数据传输完成,所以可以保证确认数据传输完成判断结果的准确性。因此,在不依赖于发送方发送0长度字节数据包的情况下,准确判断数据传输完成。
进一步地,请参阅图3,在实施例一的一种变更实施例中,步骤S110也可以变更为步骤S110’:计算接收数据包个数或大小,每当连续接收到n个数据包后,将n个数据包打包成数据组,并将数据组传输至预设区域或预设设备,n为大于等于1的自然数。
步骤S120可以变更为步骤S120’:判断当前时刻Ti接收到的但未传输至应用层的第一数据包的大小与上一时刻Ti-1接收到的但未传输至应用层的第二数据包的大小是否相等,并且判断当前时刻Ti与上一时刻Ti-1之间是否有数据组传输至预设区域或预设设备;
步骤S130可以变更为步骤S130’:当第一数据包的大小和第二数据包的大小相等,并且在当前时刻Ti与上一时刻Ti-1之间没有数据组传输至预设区域或预设设备时,执行步骤S140,即输出表征当前时刻Ti接收完所有数据包信息。
可以理解,预设区域可以为***的应用层,预设设备可以为执行预定功能的设备,如执行打印功能的打印模块。当前时刻Ti可以为T2时刻,上一时刻Ti-1可以为T1时刻。当前时刻Ti与上一时刻Ti-1之间的时间间隔范围为大于等于一个数据包的传输时间且小于等于预设值(如5分钟或1分钟等,具体可以依据实际需要设定),为达到较好的用户体验性,可以为大于等于1s且小于等于1分钟。
实施例二
本实施例在实施例一基础上对S140的信息进一步细化,其他与实施例一相同的步骤,请参照实施例一,在此不再赘述。
如图4所示,本实施例可以在S140基础上直接确认发送方传输数据完成,并进一步执行S150:
T2时刻接收完所有数据包;并将T2时刻前一个数据组传输完成后、累计接收的m个数据包,打包成最后一个数据组,并将最后一个数据组传输至应用层。
例如,还是以表1中提及的上述实施方式,假设发送方发送的数据大小为64KB+1024byte;如果发送发数据传输结束之后,缓存器中累计接收的数据大小就只剩下1024byte(2个完整的数据包),但是不够16KB,所以控制器在没有确认数据传输完成的时候,不会直接发送至应用层;但是结合本实施例提供给的解决方案,可以确认接收完所有数据包;然后控制器将缓存器中累计接收的数据大小就只剩下1024byte(2个完整的数据包)作为最后一个数据组传输至应用层。
实施例三
本实施例在实施例一基础上对S140的信息进一步细化,其他与实施例一相同的步骤,请参照实施例一,在此不再赘述。
如图4所示,本实施例可以在S140基础上,需要执行验证数据传输结束的操作。
更具体地,验证数据传输结束的操作包括:继续判断T2时刻附近的T2’时刻的第三数据包的大小,第三数据包为T2’时刻已接收但未传输至应用层的数据包,并判断第三数据包的大小是否等于T1时刻、T2时刻或T2-T1时刻之间任意时刻数据包的大小,其中,T2’>T1;如果等于,则确定T2时刻接收完所有数据包,并将T2时刻前一个数据组传输完成后、累计接收的m个数据包,打包成最后一个数据组,并将最后一个数据组传输至应用层;如果不等于,继续等待接收数据包。其中,T2与T2’之间的时间间隔范围也可以为大于等于一个数据包的传输时间且小于等于预设值(如5分钟或1分钟,具体可以依据实际需要设定),为达到较好的用户体验性,可以为大于等于1s且小于等于1分钟。
例如,还是以表1中提及的上述实施方式,假设发送方发送的数据大小为64KB+1024byte;如果在T2(假设3s)和T1(假设1s)比对过程中,同时满足S120、S130;则再进一步比对3.1s或者2.9s时刻缓存器中数据大小与1s或1.1s时刻之间的数据是否相等。避免前一次数据大小对比过程中出现干扰因素,导致的错误判断;从而能够进一步提高判断结果的可靠性。
本实施例还结合实际应用,对发送方(例如,计算机)和接收方(例如,图像形成装置)的数据具体传输过程进一步解释说明:
如图6所示,本实施例提供一种数据接收方法对应的控制流程包括:
S210、发送开始通信消息;例如,PC发送setup(包括接下来要准备交付什么工作);
S212、返回应答消息,例如,回复ACK等。
S220、数据传输开始,例如,按照USB协议进行通讯,将数据按照512byte分成数据包逐个发送;
S222、判断数据包是否为最后一个数据包,具体地,可以参照图2-图4中任意一种上述实施例中提及的数据接收方法。
S230、状态查询,例如,计算机查询数据是否完成,或者数据作业是否完成等。
S232、反馈状态信息,例如,数据接收完成,或者作业是否正常完成等。
实施例四
如图7所示,本实施例提供一种数据接收设备300,该数据接收设备300包括:
数据缓存单元310,用于顺序接收数据包,每当连续接收到n个数据包后,将n个数据包打包成数据组,并将数据组传输至应用层,n为大于等于1的自然数;
数据控制单元320,用于判断T1时刻的第一数据包的大小和T2时刻的第二数据包的大小,以及在T1时刻到T2时刻之间是否有数据组传输至应用层,第一数据包为T1时刻已接收但未传输至应用层的数据包,第二数据包为T2时刻已接收但未传输至应用层的数据包;其中,T2>T1;
信息反馈单元330,当数据控制单元确认第一数据包的大小和第二数据包的大小相等,并且在T1时刻到T2时刻之间没有数据组传输至应用层时,信息反馈单元输出表征T2时刻接收完所有数据包信息。
优选的实施方式中,信息反馈单元330输出表征T2时刻接收完所有数据包信息具体为:T2时刻接收完所有数据包;并将T2时刻前一个数据组传输完成后、累计接收的m个数据包,打包成最后一个数据组,并将最后一个数据组传输至应用层。
具体地,在一些实施例中,T2与T1之间的时间间隔范围可以为大于等于一个数据包的传输时间且小于等于预设值(如5分钟或1分钟,具体可以依据实际需要设定),为达到较好的用户体验性,可以为大于等于1s且小于等于1分钟。
数据控制单元320判断T1时刻的第一数据包的大小和T2时刻的第二数据包的大小,以及在T1时刻到T2时刻之间是否有数据组传输至应用层的步骤为每隔预定时间循环执行的步骤,每次执行判断数据包大小是否相等的步骤时选定的T2时刻为当前时刻,选定的T1时刻为上一次执行判断数据包大小是否相等的步骤的时刻,即,预定时间可以为T1时刻到T2时刻的时间间隔,如大于等于一个数据包的传输时间且小于等于预设值(如5分钟或1分钟等)。进一步地,如前所述,当步骤S120中的判断是循环的,T2与T1之间的时间间隔范围大于等于一个数据包的传输时间,但为了减轻整个***的负担,T2与T1之间的时间间隔范围也不适宜设置的过小,如可以设定为大于等于1s,因此,T2与T1之间的时间间隔范围可以为大于等于1s且小于等于1分钟。
优选的实施方式中,信息反馈单元330输出表征T2时刻接收完所有数据包信息具体为:需要执行验证数据传输结束的操作。进一步优选的实施方式中,验证数据传输结束的操作包括:继续判断T2时刻附近的T2’时刻的第三数据包的大小,并判断第三数据包的大小是否等于T1时刻、T2时刻或T2-T1时刻之间任意时刻数据包的大小,其中,T2’>T1;如果等于,则确定T2时刻接收完所有数据包,并将T2时刻前一个数据组传输完成后、累计接收的m个数据包,打包成最后一个数据组,并将最后一个数据组传输至应用层;如果不等于,继续等待接收数据包。T2与T1之间的时间间隔范围为大于等于一个数据包的传输时间且小于等于预设值(如5分钟或1分钟等,具体可以依据实际需要设定),为达到较好的用户体验性,可以为大于等于1s且小于等于1分钟。
需要说明的是,本实施中:数据控制单元还用于在判断结果为某个时刻的数据包的大小为:如果有数据组传输至应用层之后,将数据包就清零,并重新累计接收到的数据包;其中,某个时刻的数据包的个数大于等于零、且小于等于n。
本实施例提供的数据接收设备300可以执行如上述实施例一至实施例三中任意一种数据接收方法,具体的执行过程可以参照上述实施例的解释,并且采用本实施例提供的数据接收设备可以同样取得相应的技术效果,在此不再赘述。
实施例五
如图8所示,本实施例还提供一种图像形成装置200,该图像形成装置200包括:
如实施例四提及的数据接收设备200,
与数据接收设备200连接的USB端口,以及与数据接收设备200连接的控制***(例如SoC(片上控制***),或者专用用于控制USB接口的单独芯片),控制***能够记载运行存储器中对应的应用层软件,接收数据接收设备传输的数据组。
进一步地,在另一种实施例中,请参阅图9,本发明还提供一种图像形成装置400,图像形成装置400可以为打印机等打印设备,图像形成装置400可以包括数据接收模块410、处理器420、图像形成模块430。
数据接收模块410用于顺序接收数据包,具体地,数据接收模块410可以包括输入端口组件及缓存器等,其用于与外部装置(如电脑、手机等终端设备)通信以接收外部装置发送的数据包。
图像形成模块430可以是打印模块,用于在数据接收模块410完成数据接收后执行打印功能以完成数据打印。
处理器420用于判断数据接收模块410接收数据包个数或大小、并且控制在每当连续接收到n个数据包后,将n个数据包打包成数据组,并将数据组传输至图像形成模块以用于形成图像,n为大于等于1的自然数;处理器420还用于判断当前时刻Ti接收到的但未传输至应用层的第一数据包的大小与上一时刻Ti-1接收到的但未传输至应用层的第二数据包的大小是否相等,并且判断当前时刻Ti与上一时刻Ti-1之间是否有数据组传输至图像形成模块430,当第一数据包的大小和第二数据包的大小相等,并且在当前时刻Ti与上一时刻Ti-1之间没有数据组传输至图像形成模块430时,处理器420控制将当前时刻Ti接收到的但未传输至应用层的第一数据包传输至图像形成模块430并控制图像形成模块430形成图像。
可以理解,可以理解,图像形成模块430可以为位于应用层的应用程序组件。处理器420可以安装有控制***执行上述各种控制功能。
图像形成装置400的处理器420可以采用实施例一至三任意一实施例的数据接收方法对数据接收模块410接收到的数据进行判断以及对图像形成模块430进行控制。i可以为大于等于2的自然数,当前时刻Ti可以为T2时刻,上一时刻Ti-1可以为T1时刻,或者当前时刻Ti可以也可以为T2时刻,上一时刻Ti-1可以为T2’时刻。当前时刻Ti与上一时刻Ti-1之间的时间间隔范围为大于等于一个数据包的传输时间且小于等于预设值(如5分钟或1分钟等,具体可以依据实际需要设定),为达到较好的体验性,可以为大于等于1s且小于等于1分钟。
实施例六
如图10所示,本实施例提供一种电子设备,该电子设备10包括:
处理器11、存储器12和计算机程序;其中
存储器12,用于存储计算机程序,该存储器还可以是闪存(flash)。计算机程序例如是实现上述方法的应用程序、功能模块等。
处理器11,用于执行存储器存储的计算机程序,以实现上述方法中的各个步骤。具体可以参见前面方法实施例中的相关描述。
可选地,存储器12既可以是独立的,也可以跟处理器11集成在一起。
当存储器12是独立于处理器11之外的器件时,电子设备10还可以包括:总线13,用于连接存储器12和处理器11。
本发明还提供一种可读存储介质,可读存储介质中存储有计算机程序,计算机程序被处理器执行时用于实现上述的各种实施方式提供的方法。
其中,可读存储介质可以是计算机存储介质,也可以是通信介质。通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。计算机存储介质可以是通用或专用计算机能够存取的任何可用介质。例如,可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(ApplicationSpecific Integrated Circuits,简称:ASIC)中。另外,该ASIC可以位于用户设备中。当然,处理器和可读存储介质也可以作为分立组件存在于通信设备中。
本发明还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得设备实施上述的各种实施方式提供的方法。
在上述电子设备的实施例中,应理解,处理器可以是中央处理单元(英文:CentralProcessing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:DigitalSignal Processor,简称:DSP)、专用集成电路(英文:Application Specific IntegratedCircuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (24)
1.一种数据接收方法,所述方法应用于接收到预定大小数据包整数倍的数据,其特征在于,包括:
顺序接收数据包,每当连续接收到n个数据包后,将所述n个数据包打包成数据组,并将所述数据组传输至应用层,n为大于等于1的自然数;
判断T1时刻的第一数据包的大小和T2时刻的第二数据包的大小,以及在T1时刻到T2时刻之间是否有数据组传输至应用层,所述第一数据包为所述T1时刻已接收但未传输至应用层的数据包,所述第二数据包为所述T2时刻已接收但未传输至应用层的数据包;其中,T2>T1;
当所述第一数据包的大小和所述第二数据包的大小相等,并且在T1时刻到T2时刻之间没有数据组传输至应用层时,输出表征T2时刻接收完所有数据包信息。
2.根据权利要求1所述的方法,其特征在于,所述表征T2时刻接收完所有数据包信息具体为:T2时刻接收完所有数据包;并将T2时刻前一个数据组传输完成后、累计接收的m个数据包,打包成最后一个数据组,并将所述最后一个数据组传输至应用层,m为大于等于1的自然数。
3.根据权利要求1所述的方法,其特征在于,所述表征T2时刻接收完所有数据包信息具体为:需要执行验证数据传输结束的操作。
4.根据权利要求3所述的方法,其特征在于,所述验证数据传输结束的操作包括:继续判断所述T2时刻附近的T2’时刻的第三数据包的大小,并判断所述第三数据包的大小是否等于T1时刻、T2时刻或T2-T1时刻之间任意时刻数据包的大小,其中,T2’>T1,所述第三数据包为所述T2’时刻已接收但未传输至应用层的数据包;如果等于,则确定T2时刻接收完所有数据包,并将T2时刻前一个数据组传输完成后、累计接收的m个数据包,打包成最后一个数据组,并将所述最后一个数据组传输至应用层;如果不等于,继续等待接收数据包。
5.根据权利要求1-4中任意一种所述的方法,其特征在于,所述方法还包括:如果有数据组传输至应用层之后,数据包就清零,并重新累计接收到的数据包;其中,某个时刻的数据包的个数大于等于零、且小于等于n。
6.根据权利要求1所述的方法,其特征在于,所述T2与T1之间的时间间隔范围为大于等于一个数据包的传输时间且小于等于预设值。
7.根据权利要求1所述的方法,其特征在于,所述判断T1时刻的第一数据包的大小和T2时刻的第二数据包的大小,以及在T1时刻到T2时刻之间是否有数据组传输至应用层的步骤为每隔预定时间循环执行的步骤,每次执行所述步骤时选定的所述T2时刻为当前时刻,选定的所述T1时刻为上一次执行所述步骤的时刻。
8.根据权利要求4所述的方法,其特征在于,所述T2与T2’之间的时间间隔范围为大于等于一个数据包的传输时间且小于等于预设值。
9.一种数据接收设备,其特征在于,包括:
数据缓存单元,用于顺序接收数据包,每当连续接收到n个数据包后,将所述n个数据包打包成数据组,并将所述数据组传输至应用层,n为大于等于1的自然数;
数据控制单元,用于判断T1时刻的第一数据包的大小和T2时刻的第二数据包的大小,以及在T1时刻到T2时刻之间是否有数据组传输至应用层;其中,T2>T1,所述第一数据包为所述T1时刻已接收但未传输至应用层的数据包,所述第二数据包为所述T2时刻已接收但未传输至应用层的数据包;
信息反馈单元,当所述数据控制单元确认所述第一数据包的大小和所述第二数据包的大小相等,并且在T1时刻到T2时刻之间没有数据组传输至应用层时,所述信息反馈单元输出表征T2时刻接收完所有数据包信息。
10.根据权利要求9所述的设备,其特征在于,所述信息反馈单元输出表征T2时刻接收完所有数据包信息具体为:T2时刻接收完所有数据包;并将T2时刻前一个数据组传输完成后、累计接收的m个数据包,打包成最后一个数据组,并将所述最后一个数据组传输至应用层,m为大于等于1的自然数。
11.根据权利要求9所述的设备,其特征在于,所述信息反馈单元输出表征T2时刻接收完所有数据包信息具体为:需要执行验证数据传输结束的操作。
12.根据权利要求11所述的设备,其特征在于,所述验证数据传输结束的操作包括:继续判断所述T2时刻附近的T2’时刻的第三数据包的大小,并判断所述第三数据包的大小是否等于T1时刻、T2时刻或T2-T1时刻之间任意时刻数据包的大小,所述第三数据包为所述T2’时刻已接收但未传输至应用层的数据包,其中,T2’>T1;如果等于,则确定T2时刻接收完所有数据包,并将T2时刻前一个数据组传输完成后、累计接收的m个数据包,打包成最后一个数据组,并将所述最后一个数据组传输至应用层;如果不等于,继续等待接收数据包。
13.根据权利要求9-11中任意一种所述的设备,其特征在于,所述数据控制单元还用于在判断结果为如果有数据组传输至应用层之后,将数据包清零,并重新累计接收到的数据包;其中,某个时刻的数据包的个数大于等于零、且小于等于n。
14.根据权利要求9所述的设备,其特征在于,所述T2与T1之间的时间间隔范围为大于等于一个数据包的传输时间且小于等于预设值。
15.根据权利要求9所述的设备,其特征在于,所述判断T1时刻的第一数据包的大小和T2时刻的第二数据包的大小,以及在T1时刻到T2时刻之间是否有数据组传输至应用层的步骤为每隔预定时间循环执行的步骤,每次执行所述步骤时选定的所述T2时刻为当前时刻,选定的所述T1时刻为上一次执行所述步骤的时刻。
16.根据权利要求12所述的设备,其特征在于,所述T2与T2’之间的时间间隔范围为大于等于一个数据包的传输时间且小于等于预设值。
17.一种图像形成装置,其特征在于,包括:
如权利要求9-16中任意一种所述数据接收设备,
与所述数据接收设备连接的USB端口,以及与所述数据接收设备连接的控制***,所述控制***能够记载运行存储器中对应的应用层软件,接收所述数据接收设备传输的数据组。
18.一种图像形成装置,其特征在于,所述图像形成装置包括数据接收模块、处理器、图像形成模块,所述数据接收模块用于顺序接收数据包,所述处理器用于判断所述数据接收模块接收数据包个数或大小、并且控制在每当连续接收到n个数据包后,将所述n个数据包打包成数据组,并将所述数据组传输至所述图像形成模块以用于形成图像,n为大于等于1的自然数;所述处理器还用于判断当前时刻Ti接收到的但未传输至应用层的第一数据包的大小与上一时刻Ti-1接收到的但未传输至应用层的第二数据包的大小是否相等,并且判断当前时刻Ti与上一时刻Ti-1之间是否有数据组传输至所述图像形成模块,i为大于等于2的自然数,当所述第一数据包的大小和所述第二数据包的大小相等,并且在当前时刻Ti与上一时刻Ti-1之间没有数据组传输至所述图像形成模块时,所述处理器控制将所述当前时刻Ti接收到的但未传输至应用层的第一数据包进一步打包成最后的数据组,并将所述最后的数据组传输至所述图像形成模块并控制所述图像形成模块形成图像。
19.根据权利要求18所述的装置,其特征在于,所述当前时刻Ti与上一时刻Ti-1之间的时间间隔范围为大于等于一个数据包的传输时间且小于等于预设值。
20.一种图像形成***,其特征在于,包括:
如权利要求17、18或19所述的图像形成装置,以及向所述图像形成装置传输数据的数据发送设备。
21.一种数据接收方法,其特征在于,所述方法包括:
计算接收数据包个数或大小,每当连续接收到n个数据包后,将所述n个数据包打包成数据组,并将所述数据组传输至预设区域或预设设备,n为大于等于1的自然数;
判断当前时刻Ti接收到的但未传输至应用层的第一数据包的大小与上一时刻Ti-1接收到的但未传输至应用层的第二数据包的大小是否相等,并且判断当前时刻Ti与上一时刻Ti-1之间是否有数据组传输至所述预设区域或所述预设设备;
当所述第一数据包的大小和所述第二数据包的大小相等,并且在当前时刻Ti与上一时刻Ti-1之间没有数据组传输至所述预设区域或预设设备时,输出表征当前时刻Ti接收完所有数据包信息。
22.根据权利要求19所述的方法,其特征在于,所述当前时刻Ti与上一时刻Ti-1之间的时间间隔范围为大于等于一个数据包的传输时间且小于等于预设值。
23.一种电子设备,其特征在于,包括:存储器、处理器以及计算机程序,所述计算机程序存储在所述存储器中,所述处理器运行所述计算机程序执行权利要求1至8、21、22中任意一种所述的数据接收方法。
24.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现权利要求1至8、21、22中任意一种所述的数据接收方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2019110577450 | 2019-11-01 | ||
CN201911057745 | 2019-11-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111026694A true CN111026694A (zh) | 2020-04-17 |
CN111026694B CN111026694B (zh) | 2021-03-02 |
Family
ID=70208323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911255624.7A Active CN111026694B (zh) | 2019-11-01 | 2019-12-10 | 数据接收方法、设备,图像形成装置、***和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111026694B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113032313A (zh) * | 2021-02-08 | 2021-06-25 | 珠海奔图电子有限公司 | 数据接收方法、设备、图像形成装置和可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080172509A1 (en) * | 2007-01-12 | 2008-07-17 | Takanobu Tsunoda | Data processor and semiconductor integrated circuits |
CN104156334A (zh) * | 2014-08-19 | 2014-11-19 | 宁夏赛文节能股份有限公司 | 用于多机通讯的串口自适应数据透明传输协议 |
CN106326157A (zh) * | 2015-06-30 | 2017-01-11 | 深圳市科陆电子科技股份有限公司 | 一种接收串口不定长数据的方法及装置 |
CN106549729A (zh) * | 2015-09-21 | 2017-03-29 | 天地融科技股份有限公司 | 数据发送方法和装置及数据接收方法和装置 |
CN107153620A (zh) * | 2016-03-03 | 2017-09-12 | 青岛海信电器股份有限公司 | 一种数据处理方法及装置 |
CN110336680A (zh) * | 2019-06-28 | 2019-10-15 | 苏州浪潮智能科技有限公司 | 一种网络广播控制方法、***及电子设备和存储介质 |
-
2019
- 2019-12-10 CN CN201911255624.7A patent/CN111026694B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080172509A1 (en) * | 2007-01-12 | 2008-07-17 | Takanobu Tsunoda | Data processor and semiconductor integrated circuits |
CN104156334A (zh) * | 2014-08-19 | 2014-11-19 | 宁夏赛文节能股份有限公司 | 用于多机通讯的串口自适应数据透明传输协议 |
CN106326157A (zh) * | 2015-06-30 | 2017-01-11 | 深圳市科陆电子科技股份有限公司 | 一种接收串口不定长数据的方法及装置 |
CN106549729A (zh) * | 2015-09-21 | 2017-03-29 | 天地融科技股份有限公司 | 数据发送方法和装置及数据接收方法和装置 |
CN107153620A (zh) * | 2016-03-03 | 2017-09-12 | 青岛海信电器股份有限公司 | 一种数据处理方法及装置 |
CN110336680A (zh) * | 2019-06-28 | 2019-10-15 | 苏州浪潮智能科技有限公司 | 一种网络广播控制方法、***及电子设备和存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113032313A (zh) * | 2021-02-08 | 2021-06-25 | 珠海奔图电子有限公司 | 数据接收方法、设备、图像形成装置和可读存储介质 |
CN113032313B (zh) * | 2021-02-08 | 2024-04-26 | 珠海奔图电子有限公司 | 数据接收方法、设备、图像形成装置和可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111026694B (zh) | 2021-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106257434B (zh) | 一种基于增强型外设互连协议总线的数据传输方法及装置 | |
CN109756536A (zh) | 一种数据传输的方法、装置及*** | |
JP4452690B2 (ja) | 電子装置、その制御方法、ホスト装置及びその制御方法 | |
JP3127523B2 (ja) | 通信制御装置およびデータ送信方法 | |
US8402180B2 (en) | Autonomous multi-packet transfer for universal serial bus | |
US7447976B2 (en) | Data transfer apparatus | |
CN105630424A (zh) | 数据处理方法、装置及*** | |
WO2012169456A1 (ja) | 車両制御装置、車両制御システム | |
CN111026694B (zh) | 数据接收方法、设备,图像形成装置、***和电子设备 | |
US8874989B2 (en) | Memory system capable of increasing data transfer efficiency | |
CN115276920A (zh) | 音频数据处理方法、装置、电子设备及存储介质 | |
CN104270287A (zh) | 一种报文乱序检测方法及装置 | |
US20010034799A1 (en) | Packet transmission/reception processor | |
KR20040041623A (ko) | 버스 시스템 및 버스 인터페이스 | |
JP2015225574A (ja) | 制御装置、制御方法及びプログラム | |
US8588234B2 (en) | Data processing apparatus, method, and computer-readable storage medium for dynamically controlling a transmission interval | |
US7093039B2 (en) | Communication terminal increasing effective data rate on asynchronous transmission and a data transmission method therefor | |
CN109800202B (zh) | 一种基于pcie的数据传输***、方法及装置 | |
CN106776393B (zh) | 一种无中断的串口数据接收方法和装置 | |
EP1433070A1 (en) | Bus system and bus interface | |
CN114978898A (zh) | 数据传输控制方法、装置、抬头显示器和存储介质 | |
WO2022178882A1 (zh) | 一种基于usb的通信方法和装置 | |
CN111416802B (zh) | 基于tcp的数据处理方法、装置、电子设备和可读介质 | |
JP2011040965A (ja) | データリンク層処理回路および通信回路 | |
WO2021142679A1 (zh) | 一种数据流量控制方法、PCIe控制器及PCIe装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |