CN102843341B - 数据发送方法及装置、数据接收方法及装置 - Google Patents
数据发送方法及装置、数据接收方法及装置 Download PDFInfo
- Publication number
- CN102843341B CN102843341B CN201110169119.8A CN201110169119A CN102843341B CN 102843341 B CN102843341 B CN 102843341B CN 201110169119 A CN201110169119 A CN 201110169119A CN 102843341 B CN102843341 B CN 102843341B
- Authority
- CN
- China
- Prior art keywords
- data
- data block
- compression
- judged result
- block
- 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.)
- Active
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请公开了一种数据发送方法及装置、数据接收方法及装置,该方法包括步骤:A1,数据发送装置将数据划分成多个数据块;A2,选择一个未发送的数据块;A3,判断第一压缩策略是否为对数据块进行压缩,若是则转至A4,否则转至A7;A4,将该数据块进行压缩,并判断压缩后的压缩比是否大于压缩比阈值,若是则转至A5,否则转至A6和A7;A5,将压缩后的数据块发送给数据接收装置;A6,将第一压缩策略设置为不对数据块进行压缩;A7,将未压缩的数据块发送给数据接收装置;A8,判断是否存在未发送的数据块,若是则转至A2,否则转至A9;A9,结束数据发送流程。本申请解决了耗费较多压缩处理资源和解压缩处理资源的问题。
Description
技术领域
本申请涉及数据传输技术领域,尤其涉及一种数据发送方法及装置、数据接收方法及装置。
背景技术
随着互联网技术的不断发展,越来越多的数据资源选择网络作为传播的载体。用户从网络上下载数据,并且各用户之间可以通过数据发送装置和数据接收装置来传输数据,其中,发送用户通过数据发送装置向接收用户发送数据,接收用户通过数据接收装置接收发送用户发送的数据。
如图1所示,为现有技术中数据传输方法一的流程图,其具体处理流程如下:
步骤11,发送用户和接收用户之间需要传输数据时,数据发送装置先建立与数据接收装置之间的传输链接,后续通过该传输链接将数据发送给数据接收装置;
步骤12,数据发送装置启动一个发送该数据的发送线程;
步骤13,该发送线程先将该数据划分成若干数据块;
步骤14,发送线程按照数据块在数据中由先到后的位置顺序,依次将数据块通过传输链接发送给数据接收装置;
步骤15,数据接收装置建立与数据发送装置之间的传输链接后,启动一个接收该数据的接收线程;
步骤16,该接收线程通过传输链接接收数据发送装置发送的各数据块;
步骤17,接收线程接收到每个数据块后,对该数据块进行相应处理,若数据为文本数据或多媒体数据,则接收线程可以将接收到的数据块进行存储,接收线程接收并处理完所有数据块后,即完成了数据的完整传输。
数据发送装置将数据传输给数据接收装置时,传输的数据量可能非常大,若直接传输该数据,则会占用非常多的网络流量,耗费较多的网络传输资源,使得传输数据的效率较低,因此现有技术中,为了节省网络传输资源,提高传输效率,在通过数据发送装置和数据接收装置传输数据之前,用户可以使用数据压缩工具对需要传输的数据进行压缩,然后数据发送装置再将压缩后的数据传输给数据接收装置,如图2所示,为现有技术中数据传输方法二的流程图,其具体处理流程如下:
步骤21,发送用户和接收用户之间需要传输数据时,发送用户先使用数据压缩工具,对需要传输的数据进行压缩,得到压缩后的数据;
步骤22,数据发送装置建立与数据接收装置之间的传输链接,后续通过该传输链接将压缩后的数据传输给数据接收装置;
步骤23,数据发送装置启动一个发送该压缩后的数据的发送线程;
步骤24,该发送线程先将该压缩后的数据划分成各数据块;
步骤25,发送线程按照数据块在数据中由先到后的位置顺序,依次将数据块通过传输链接发送给数据接收装置;
步骤26,数据接收装置建立与数据发送装置之间的传输链接后,启动一个接收该压缩后的数据的接收线程;
步骤27,该接收线程通过传输链接接收到数据发送装置发送的各数据块;
步骤28,接收线程接收到每个数据块后,对该数据块进行相应处理,若压缩后的数据为文本数据或多媒体数据,则接收线程可以将接收到的数据块进行存储,接收线程接收并处理完所有数据块后,即完成了压缩后的数据的完整传输;
步骤29,用户使用数据压缩工具,对数据接收装置接收到的压缩后的数据进行解压缩,从而得到解压缩后的数据。
数据的压缩比表示数据在进行压缩前的数据量与进行压缩后的数据量之比,例如,数据在进行压缩前的数据量为240千字节(KB,Kilo Byte),在进行压缩后的数据量为8KB,那么该数据的压缩比为240KB/8KB=30。
现有技术中,某些数据的压缩比较高,例如文本数据,这些数据进行压缩后的数据量远小于压缩前的数据量,若在传输这些数据之前先进行压缩,则可以节省较多的网络传输资源,提高传输效率。但是某些数据的压缩比较低,例如多媒体数据,这些数据进行压缩后的数据量和压缩前的数据量相差不大,甚至压缩后的数据量大于压缩前的数据量,而且对数据进行压缩需要耗费非常多的压缩处理资源,对数据进行解压缩也需要耗费非常多的解压缩处理资源,因此在传输这些数据之前先进行压缩,不仅不会节省网络传输资源,还会耗费较多的压缩处理资源和解压缩处理资源。
发明内容
本申请实施例提供一种数据发送方法及装置、数据接收方法及装置,用以解决现有技术中在传输数据之前对数据进行压缩,耗费较多压缩处理资源和解压缩处理资源的问题。
本申请实施例技术方案如下:
一种数据发送方法,该方法包括步骤:A1,数据发送装置将待发送给数据接收装置的数据划分成多个数据块;A2,在划分出的多个数据块中选择一个未发送的数据块;A3,判断所述数据对应的第一压缩策略是否为对数据块进行压缩,若判断结果为是,则转至A4,若判断结果为否,则转至A7;A4,将该数据块进行压缩,并判断压缩后的压缩比是否大于预设的压缩比阈值,若判断结果为是,则转至A5,若判断结果为否,则转至A6和A7;A5,将压缩后的数据块发送给数据接收装置,转至A8;A6,将所述第一压缩策略设置为不对数据块进行压缩;A7,将未压缩的数据块发送给数据接收装置,转至A8;A8,判断划分出的多个数据块中是否存在未发送的数据块,若判断结果为是,则转至A2,若判断结果为否,则转至A9;A9,结束数据发送流程。
一种数据发送装置,包括:数据块划分单元,用于将待发送给数据接收装置的数据划分成多个数据块;第一策略判断单元,用于针对未发送的数据块,判断所述数据对应的第一压缩策略是否为对数据块进行压缩;数据块压缩单元,用于在第一策略判断单元的判断结果为是时,将该数据块进行压缩;压缩比判断单元,用于判断数据块压缩单元对数据块进行压缩后的压缩比是否大于预设的压缩比阈值;第一数据块发送单元,用于在压缩比判断单元的判断结果为是时,将数据块压缩单元压缩后的数据块发送给所述数据接收装置;第一策略设置单元,用于在压缩比判断单元的判断结果为否时,将所述第一压缩策略设置为不对数据块进行压缩;第二数据块发送单元,用于在第一策略判断单元的判断结果为否时,以及在压缩比判断单元的判断结果为否时,将未压缩的数据块发送给数据接收装置。
一种数据接收方法,该方法包括步骤:B1,数据接收装置接收数据发送装置发送的数据块;B2,判断接收到的数据块是否为压缩后的数据块,若判断结果为是,则转至B3,若判断结果为否,则转至B4;B3,将该压缩后的数据块进行解压缩,并对解压缩后的数据块进行相应处理;B4,直接对该未压缩的数据块进行相应处理。
一种数据接收装置,包括:数据块接收单元,用于接收数据发送装置发送的数据块;压缩判断单元,用于判断数据块接收单元接收到的数据块是否为压缩后的数据块;数据块解压缩单元,用于在压缩判断单元的判断结果为是时,将该数据块进行解压缩;第一处理单元,用于对数据块解压缩单元解压缩后的数据块进行相应处理;第二处理单元,用于在压缩判断单元的判断结果为否时,直接对该数据块进行相应处理。
本申请实施例技术方案中,数据发送装置首先将待发送给数据接收装置的数据划分成各数据块,在发送划分出的每个数据块时,先判断所述数据对应的第一压缩策略是否为对数据块进行压缩,若否,则将未压缩的数据块发送给所述数据接收装置,若是,则将该数据块进行压缩,并判断压缩后的压缩比是否大于预设的压缩比阈值,若大于,则将压缩后的数据块发送给所述数据接收装置,若不大于,则将未压缩的数据块发送给数据接收装置,并将所述第一压缩策略设置为不对数据块进行压缩。由上可见,本申请实施例技术方案不是在传输数据之前对该数据进行压缩,然后再传输压缩后的数据,而是数据发送装置在发送划分出的每个数据块时,根据设置的第一压缩策略确定是否将该数据块进行压缩后再发送,而第一压缩策略是数据发送装置在传输数据的过程中根据数据块的压缩比动态设置的,只有当数据块的压缩比达到一定的阈值时,才认为需要对数据块进行压缩后再发送,因此就避免了在传输压缩比较低的数据之前将该数据进行压缩,从而节省了较多的压缩处理资源和解压缩处理资源。
附图说明
图1为现有技术中,数据传输方法一流程示意图;
图2为现有技术中,数据传输方法二流程示意图;
图3为本申请实施例一中,数据发送方法流程示意图;
图4为本申请实施例二中,数据接收方法流程示意图;
图5为本申请实施例三中,第一发送线程的处理流程示意图;
图6为本申请实施例四中,第二发送线程发送数据块的处理流程示意图;
图7为本申请实施例五中,第二发送线程设置第一暂停压缩标记的处理流程示意图;
图8为本申请实施例六中,第二发送线程设置第二暂停压缩标记的处理流程示意图;
图9为本申请实施例七中,第一接收线程的处理流程示意图;
图10为本申请实施例八中,第二接收线程处理数据块的处理流程示意图;
图11为本申请实施例九中,第二接收线程向数据发送装置发送指示消息的处理流程示意图;
图12为本申请实施例十中,数据发送装置结构示意图;
图13为本申请实施例十一中,数据接收装置结构示意图。
具体实施方式
下面结合各个附图对本申请实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细地阐述。
实施例一
如图3所示,为本申请实施例一中,数据发送方法流程图,其具体处理过程如下:
步骤31,数据发送装置将待发送给数据接收装置的数据划分成多个数据块;
数据发送装置和数据接收装置之间需要传输数据时,数据发送装置先建立与数据接收装置之间的传输链接,后续通过该传输链接将待发送给数据接收装置的数据发送给数据接收装置。
步骤32,在划分出的多个数据块中选择一个未发送的数据块,然后针对选择出的数据块执行步骤33至步骤38;
本发明实施例一中,数据发送装置可以但不限于按照预设的发送顺序依次在划分出的多个数据块中选择未发送的数据块,上述发送顺序可以但不限于为数据块在所述数据中由先到后的位置顺序,或者数据块在所述数据中由后到先的位置顺序,或者随机选择的顺序等。
本申请实施例一中,数据发送装置启动第一发送线程,该第一发送线程负责将待发送给数据接收装置的数据划分成多个数据块,并按照预设的发送顺序,依次在划分出的多个数据块中选择一个未发送的数据块,然后针对选择出的数据块执行步骤33至步骤38。例如,数据发送装置启动的第一发送线程将待发送给数据接收装置的数据划分成三个数据块,数据块在数据中由先到后的位置顺序为:数据块A、数据块B和数据块C,第一发送线程首先从划分出的多个数据块中选择出数据块A,针对数据块A执行步骤33至步骤38,然后从划分出的多个数据块中选择出数据块B,针对数据块B执行步骤执行步骤33至步骤38,再从划分出的多个数据块中选择出数据块C,针对数据块C执行步骤执行步骤33至步骤38。
步骤33,判断所述数据对应的第一压缩策略是否为对数据块进行压缩,若判断结果为是,则转至步骤34,若判断结果为否,则转至步骤37;
其中,数据发送装置在需要向数据接收装置发送数据时,先设置该数据对应的第一压缩策略,并将该第一压缩策略初始化为对数据块进行压缩,其中,该第一压缩策略可以但不限于通过有效压缩标记的形式实现,第一压缩策略为对数据块进行压缩时,有效压缩标记为“真”,第一压缩策略为不对数据块进行压缩时,有效压缩标记为“假”,因此数据发送装置将有效压缩标记初始化为“真”。
数据发送装置启动的第一发送线程在划分出的多个数据块中选择出某数据块后,先确定是否对该数据块进行压缩后再发送,此时第一发送线程查看所述数据对应的第一压缩策略,即查看所述数据对应的有效压缩标记。
步骤34,将该数据块进行压缩,并判断压缩后的压缩比是否大于预设的压缩比阈值,若判断结果为是,则转至步骤35,若判断结果为否,则转至步骤36和步骤37;
若第一发送线程判断出第一压缩策略为对数据块进行压缩,即有效压缩标记为“真”,则第一发送线程不是直接将数据块发送给数据接收装置,而是先对该数据块进行压缩,第一发送线程对数据块进行压缩之后,不是直接将压缩后的数据块发送给数据接收装置,而是判断对数据块进行压缩之后的压缩比是否大于预设的压缩比阈值,其中,所述压缩比阈值可以进行设置,例如设置为1.25,那么压缩前的数据块的数据量就至少为压缩后的数据块的数据量的1.25倍,也就是说压缩后的数据块减少的数据量至少占压缩前的数据块的数据量的20%。
步骤35,将压缩后的数据块发送给数据接收装置;
若步骤34的判断结果为是,那么可以认为对数据块进行压缩能够减少足够的数据量,因此第一发送线程可以将压缩后的数据块发送给所述数据接收装置。
其中,第一发送线程可以通过数据发送装置和数据接收装置之间的传输链接,将压缩后的该数据块发送给数据接收装置。
步骤36,将所述第一压缩策略设置为不对数据块进行压缩;
若步骤34的判断结果为否,那么可以认为对数据块进行压缩不能够减少足够的数据量,若依然对数据块进行压缩后再发送,则不仅不会节省网络传输资源,提高传输效率,还会因压缩数据块而耗费数据发送装置较多的压缩处理资源,而且也会因解压缩数据块而耗费数据接收装置较多的解压缩处理资源,因此第一发送线程在步骤34的判断结果为否时,将所述数据对应的第一压缩策略设置为不对数据块进行压缩,即将有效压缩标记设置为“假”。
步骤37,将未压缩的数据块发送给数据接收装置;
若第一发送线程判断出第一压缩策略为不对数据块进行压缩,即有效压缩标记为“假”,则第一发送线程直接将未经压缩的该数据块发送给数据接收装置。
若步骤34的判断结果为否,那么可以认为对数据块进行压缩不能够减少足够的数据量,若依然对数据块进行压缩后再发送,则不仅不会节省网络传输资源,提高传输效率,还会因压缩数据块而耗费数据发送装置较多的压缩处理资源,而且也会因解压缩数据块而耗费数据接收装置较多的解压缩处理资源,因此第一发送线程在步骤34的判断结果为否时,不是将压缩后的数据块发送给数据接收装置,而是将未经压缩的数据块发送给数据接收装置。
其中,第一发送线程可以通过数据发送装置和数据接收装置之间的传输链接,将未经压缩的数据块发送给数据接收装置。
步骤38,判断划分出的多个数据块中是否存在未发送的数据块,若判断结果为是,则转至步骤32,若判断结果为否,则转至步骤39;
步骤39,结束数据发送流程。
本申请实施例一中,数据发送装置可以通过第一发送线程来实现各数据块的发送,也就是说第一发送线程通过传输链接,将一个数据块发送给数据接收装置之后,选择出下一个数据块,然后判断是否对该数据块进行压缩,通过传输链接将未经压缩的数据块或压缩后的数据块发送给数据接收装置,直至将所有数据块全部发送给数据接收装置。
为了提高数据发送装置发送数据的效率,本申请实施例一提出,数据发送装置不仅启动第一发送线程,还同时启动与第一发送线程独立的第二发送线程,第一发送线程不再通过传输链接将未经压缩的数据块或压缩后的数据块发送给数据接收装置,而是预先设置数据发送队列,将未经压缩的数据块或压缩后的数据块放入该数据发送队列中。
具体的,第一发送线程按照预设的发送顺序,选择第i个数据块,其中1≤i≤N,N为划分出的数据块的数量,第一发送线程在第一次选择数据块时,将i置为1,即按照预设的发送顺序选择第一个数据块,然后第一发送线程判断所述数据对应的有效压缩标记是否为“真”,若判断出有效压缩标记为“真”,则第一发送线程对选择的第i个数据块进行压缩,然后判断对选择的第i个数据块进行压缩后的压缩比是否大于预设的压缩比阈值,若判断出压缩比大于预设的压缩比阈值,则第一发送线程将对选择的第i个数据块进行压缩后的数据块置上压缩标识后,放入所述数据发送队列中,若判断出压缩比不大于预设的压缩比阈值,则第一发送线程设置所述数据对应的有效压缩标记为“假”,且第一发送线程将选择的第i个数据块放入所述数据发送队列中,若判断出有效压缩标记为“假”,则第一发送线程将选择的第i个数据块放入所述数据发送队列中,然后第一发送线程判断i是否等于N,若判断出i=N,则第一发送线程结束流程,若判断出i≠N,则第一发送线程将i置为i+1,然后重复执行上述操作。
在第一发送线程执行上述操作的同时,第二发送线程可以按照预设的提取顺序,依次提取数据发送队列中的各数据块,并将提取出的数据块发送给数据接收装置。其中,上述提取顺序可以但不限于为数据块放入数据发送队列的时间点由先到后的顺序,或者数据块放入数据发送队列的时间点由后到先的顺序,或者随机提取的顺序等。
具体的,第二发送线程按照预设的提取顺序,从数据发送队列中提取出第j个数据块,其中1≤j≤N,第二发送线程在第一次提取数据块时,将j置为1,即按照预设的提取顺序提取第一个数据块,然后第二发送线程通过所述传输链接,将第j个数据块发送给数据接收装置,第二发送线程判断j是否等于N,若判断出j=N,则第二发送线程结束流程,若判断出j≠N,则第二发送线程将j置为j+1,然后重复执行上述操作。
综上,步骤35将压缩后的数据块发送给数据接收装置的过程可以但不限于为下述:数据发送装置先将压缩后的数据块放入数据发送队列中,然后从数据发送队列中提取出各数据块,将提取出的数据块发送给数据接收装置。
同理,步骤37将未压缩的数据块发送给数据接收装置的过程可以但不限于为下述:先将未压缩的数据块放入数据发送队列中,然后从数据发送队列中提取出各数据块,将提取出的数据块发送给数据接收装置。
由上可见,本申请实施例一中,数据发送装置中的第一发送线程和第二发送线程进行同步处理,即第一发送线程执行对数据块进行压缩及将数据块放入数据发送队列的操作,同时第二发送线程执行通过传输链接发送数据块的操作,从而能够有效地提高数据发送装置发送数据的效率。
为了避免数据发送队列中的数据块过多,第一发送线程在将数据块(未经压缩的数据块或压缩后的数据块)放入数据发送队列之前,还可以判断数据发送队列中包含的数据块的数量是否大于预设的最大数量阈值,若判断出数据发送队列中包含的数据块的数量不大于预设的最大数量阈值,则第一发送线程可以将数据块(未经压缩的数据块或压缩后的数据块)放入数据发送队列,若判断出数据发送队列中包含的数据块的数量大于预设的最大数量阈值,则认为数据发送队列中的数据块过多,不应该再将数据块放入数据发送队列中,此时第一发送线程先暂停将数据块(未经压缩的数据块或压缩后的数据块)放入数据发送队列,第一发送线程可以检测数据发送队列中包含的数据块的数量,当检测到数据发送队列中包含的数据块的数量不大于预设的最大数量阈值时,将数据块(未经压缩的数据块或压缩后的数据块)放入数据发送队列中。
其中,上述最大数量阈值可以进行设置,例如设置为16个,也就是说数据发送队列中最多包含16个待发送给数据接收装置的数据块。
为了避免第二发送线程发送数据块的速度过慢,导致数据块堆积在数据发送队列中,或者压缩的速度过慢,导致压缩拖累发送速度,本申请实施例一提出,数据发送装置不仅设置所述数据对应的第一压缩策略,还可以进一步设置第二压缩策略,并将该第二压缩策略初始化为对数据块进行压缩,其中,该第二压缩策略可以但不限于通过第一暂停压缩标记的形式实现,第二压缩策略为对数据块进行压缩时,第一暂停压缩标记为“假”,第二压缩策略为不对数据块进行压缩时,第一暂停压缩标记为“真”,将第一暂停压缩标记初始化为“假”。
第二发送线程可以检测数据发送队列中包含的数据块的数量,若检测出数据发送队列中包含的数据块的数量大于第一解除暂停压缩阈值,则确认为了提高数据块的发送效率,需要在发送数据块之前先将数据块压缩,因此第二发送线程将所述第二压缩策略设置为对数据块进行压缩,即将第一暂停压缩标记设置为“假”;第二发送线程若检测出数据发送队列中包含的数据块的数量小于第一暂停压缩阈值,且此时的第一压缩策略为对数据进行压缩,即有效压缩标记为“真”,则确认为了提高数据块的发送效率,需要直接发送数据块,而不将数据块压缩,因此第二发送线程将所述第二压缩策略设置为不对数据块进行压缩,即将第一暂停压缩标记设置为“真”。其中第一解除暂停压缩阈值和第一暂停压缩阈值可以进行设置,例如将第一解除暂停压缩阈值设置为4个,将第一暂停压缩阈值设置为1个。
第一发送线程在判断是否对数据块进行压缩时,不仅要判断第一压缩策略是否为对数据块进行压缩,也要判断第二压缩策略是否为对数据块进行压缩,当第一压缩策略和第二压缩策略均为对数据块进行压缩时,才对数据块进行压缩,否则直接将数据块放入数据发送队列中。
本申请实施例一提出,不仅设置所述数据对应的第一压缩策略,还可以进一步设置第三压缩策略,并将该第三压缩策略初始化为对数据块进行压缩,其中,该第三压缩策略可以但不限于通过第二暂停压缩标记的形式实现,第三压缩策略为对数据块进行压缩时,第二暂停压缩标记为“假”,第三压缩策略为不对数据块进行压缩时,第二暂停压缩标记为“真”,将第二暂停压缩标记初始化为“假”。
数据发送装置接收到数据接收装置发送的暂停压缩指示消息之后,将所述第三压缩策略设置为不对数据块进行压缩,即将第二暂停压缩标记设置为“真”,数据发送装置接收到数据接收装置发送的解除暂停压缩指示消息之后,将所述第三压缩策略设置为对数据块进行压缩,即将第二暂停压缩标记设置为“假”。其中第二解除暂停压缩阈值和第二暂停压缩阈值可以进行设置,例如将第二解除暂停压缩阈值设置为2个,将第二暂停压缩阈值设置为8个。
第一发送线程在判断是否对数据块进行压缩时,不仅要判断第一压缩策略是否为对数据块进行压缩,也要判断第三压缩策略是否为对数据块进行压缩,当第一压缩策略和第三压缩策略均为对数据块进行压缩时,才对数据块进行压缩,否则直接将数据块放入数据发送队列中。
此外,本申请实施例一还提出,第一发送线程在判断是否对数据块进行压缩时,还可以判断第一压缩策略、第二压缩策略和第三压缩策略,当第一压缩策略、第二压缩策略和第三压缩策略均为对数据块进行压缩时,才对数据块进行压缩,否则直接将数据块放入数据发送队列中。
由上述处理过程可知,本申请实施例技术方案中,数据发送装置首先将待发送给数据接收装置的数据划分成各数据块,在发送划分出的每个数据块时,先判断所述数据对应的第一压缩策略是否为对数据块进行压缩,若否,则将未压缩的数据块发送给所述数据接收装置,若是,则将该数据块进行压缩,并判断压缩后的压缩比是否大于预设的压缩比阈值,若大于,则将压缩后的数据块发送给所述数据接收装置,若不大于,则将未压缩的数据块发送给数据接收装置,并将所述第一压缩策略设置为不对数据块进行压缩。由上可见,本申请实施例技术方案不是在传输数据之前对该数据进行压缩,然后再传输压缩后的数据,而是数据发送装置在发送划分出的每个数据块时,根据设置的第一压缩策略确定是否将该数据块进行压缩后再发送,而第一压缩策略是数据发送装置在传输数据的过程中根据数据块的压缩比动态设置的,只有当数据块的压缩比达到一定的阈值时,才认为需要对数据块进行压缩后再发送,因此就避免了在传输压缩比较低的数据之前将该数据进行压缩,从而节省了较多的压缩处理资源和解压缩处理资源。
实施例二
如图4所示,为本申请实施例二中,数据接收方法流程图,其具体处理过程如下:
步骤41,数据接收装置接收数据发送装置发送的数据块;
步骤42,判断接收到的数据块是否为压缩后的数据块,若判断结果为是,则转至步骤43,若判断结果为否,则转至步骤44;
判断数据块是否为压缩后的数据块时,可以根据压缩标识来判断,具体的:判断数据块是否存在压缩标识,若存在,则说明该数据块为压缩后的数据块,若不存在,则说明该数据块为未经压缩的数据块。
步骤43,将该压缩后的数据块进行解压缩,并对解压缩后的数据块进行相应处理;
步骤44,直接对该未压缩的数据块进行相应处理。
数据接收装置建立与数据发送装置之间的传输链接后,可以启动第一接收线程,该第一接收线程通过传输链接接收数据发送装置发送的数据块后,判断该数据块是否存在压缩标识,若存在,则说明该数据块为压缩后的数据块,第一接收线程先解压缩该数据块,然后对该数据块进行相应处理,若不存在,则说明该数据块为未经压缩的数据块,第一接收线程直接对该数据块进行相应处理,第一接收线程完成该数据块的相应处理之后,再通过传输链接接收下一个数据块,直至接收并处理完所有数据块。其中,对数据块进行相应处理可以但不限于为对数据块进行存储。
为了提高数据接收装置接收数据的效率,本申请实施例二提出,数据接收装置不仅启动第一接收线程,还同时启动与第一接收线程独立的第二接收线程,第一接收线程不再对接收到的数据块进行解压缩以及进行相应处理,而是预先设置数据接收队列,第一接收线程将接收到的数据块放入该数据接收队列中。在第一接收线程执行上述操作的同时,第二接收线程按照预设的处理顺序,依次从数据接收队列中提取出数据块,并判断提取出的该数据块是否为压缩后的数据块,若提取出的该数据块为压缩后的数据块,则所述数据接收装置将该压缩后的数据块进行解压缩,并对解压缩后的数据块进行相应处理,若提取出的该数据块为未压缩的数据块,则所述数据接收装置直接对该未压缩的数据块进行相应处理。
本发明实施例二中,上述处理顺序可以但不限于为数据块放入数据接收队列的时间点由先到后的顺序,或者数据块放入数据接收队列的时间点由后到先的顺序,或者随机提取的顺序等。
具体的,第二接收线程按照预设的处理顺序,从数据接收队列中提取出第k个数据块,其中1≤k≤N,第二接收线程在第一次提取数据块时,将k置为1,即按照预设的处理顺序,选择第k数据块,然后第二接收线程判断提取出的第k个数据块是否包含压缩标识,若判断结果为是,则第二接收线程解压缩提取出的第k个数据块,然后对第k个数据块进行相应处理,若判断结果为否,则第二接收线程直接对第k个数据块进行相应处理,第二接收线程判断k是否等于N,若判断出k=N,则第二接收线程结束流程,若判断出k≠N,则第二接收线程将k置为k+1,然后重复执行上述操作。
由上可见,本申请实施例二中,数据接收装置中的第一接收线程和第二接收线程进行同步处理,即第一接收线程执行接收数据块及将数据块放入数据接收队列的操作,同时第二接收线程执行对数据块进行解压缩及进行相应处理的操作,从而能够有效地提高数据接收装置接收数据的效率。
为了避免第二接收线程接收数据块的速度过慢,导致数据块堆积在数据接收队列中,或者解压缩的速度过慢,导致解压缩拖累接收速度,本申请实施例二提出,不仅设置所述数据对应的第一压缩策略,还可以进一步设置第三压缩策略,并将该第三压缩策略初始化为对数据块进行压缩,其中,该第三压缩策略可以但不限于通过第二暂停压缩标记的形式实现,第三压缩策略为对数据块进行压缩时,第二暂停压缩标记为“假”,第三压缩策略为不对数据块进行压缩时,第二暂停压缩标记为“真”,将第二暂停压缩标记初始化为“假”。
第二接收线程可以检测数据接收队列中包含的数据块的数量,若检测出数据接收队列中包含的数据块的数量大于第二暂停压缩阈值,则确认为了提高数据块的接收效率,不应该在处理数据块之前将数据块进行解压缩,因此第二接收线程向所述数据发送装置发送暂停压缩指示消息,数据发送装置接收到所述暂停压缩指示消息之后,将所述第三压缩策略设置为不对数据块进行压缩,即将第二暂停压缩标记设置为“真”,若检测出数据接收队列中包含的数据块的数量小于第二解除暂停压缩阈值,且第二接收线程已向所述数据发送装置发送了暂停压缩指示消息,则确认为了提高数据块的接收效率,应该在对数据块进行相应处理之前进行解压缩,因此,第二接收线程向所述数据发送装置发送解除暂停压缩指示消息,数据发送装置接收到所述解除暂停压缩指示消息之后,将所述第三压缩策略设置为对数据块进行压缩,即将第二暂停压缩标记设置为“假”。其中第二解除暂停压缩阈值和第二暂停压缩阈值可以进行设置,例如将第二解除暂停压缩阈值设置为2个,将第二暂停压缩阈值设置为8个。
下面给出更为具体的实施方式。
实施例三
数据发送装置与数据接收装置之间需要传输数据时,数据发送装置先建立与数据接收装置之间的传输链接,然后数据发送装置启动两个独立的发送线程,第一发送线程和第二发送线程,如图5所示,为本申请实施例三中,第一发送线程的处理流程图,其具体实施过程如下:
步骤51,第一发送线程将需要传输的数据划分成多个数据块;
步骤52,第一发送线程按照数据块在所述数据中由先到后的位置顺序,选择第i个数据块,其中1≤i≤N,N为划分出的数据块的数量;
步骤53,第一发送线程判断数据发送队列中包含的数据块的数量是否大于预设的最大数量阈值,若判断结果为是,则转至步骤54,若判断结果为否,则转至步骤55;
步骤54,第一发送线程检测数据发送队列中包含的数据块的数量,当检测到数据发送队列中包含的数据块的数量不大于预设的最大数量阈值时,转至步骤55;
步骤55,第一发送线程判断所述数据对应的有效压缩标记是否为“真”,所述数据对应的第一暂停压缩标记是否为“假”,以及所述数据对应的第二暂停压缩标记是否为“假”,若判断结果均为是,则转至步骤56,若至少一个判断结果为否,则转至步骤510,其中所述数据对应的有效压缩标记初始化为“真”,第一暂停压缩标记和第二暂停压缩标记初始化为“假”;
步骤56,第一发送线程对选择的第i个数据块进行压缩;
步骤57,第一发送线程判断对选择的第i个数据块进行压缩后的压缩比是否大于预设的压缩比阈值,若判断结果为是,则转至步骤58,若判断结果为否,则转至步骤59及步骤510;
步骤58,第一发送线程将对选择的第i个数据块进行压缩后的数据块置上压缩标识,然后放入数据发送队列中;
步骤59,第一发送线程设置所述数据对应的有效压缩标记为“假”;
步骤510,第一发送线程将选择的第i个数据块放入数据发送队列中;
步骤511,第一发送线程将i置为i+1,并转至步骤52,直至i=N。
实施例四
数据发送装置启动的第二发送线程不仅要负责发送数据块,也要负责设置第一暂停压缩标记和第二暂停压缩标记,如图6所示,为本申请实施例四中,第二发送线程发送数据块的处理流程图,其具体实施过程如下:
步骤61,第二发送线程按照数据块放入数据发送队列的时间点由先到后的顺序,从数据发送队列中提取出第j个数据块,其中1≤j≤N;
步骤62,第二发送线程通过所述传输链接,将第j个数据块发送给数据接收装置;
步骤63,第二发送线程将j置为j+1,并转至步骤61,直至j=N。
实施例五
如图7所示,为本申请实施例五中,第二发送线程设置第一暂停压缩标记的处理流程图,其具体实施过程如下:
步骤71,第二发送线程检测数据发送队列中包含的数据块的数量;
步骤72,若第二发送线程检测到数据发送队列中包含的数据块的数量大于第一解除暂停压缩阈值,则设置第一暂停压缩标记为“假”;
步骤73,若第二发送线程检测到数据发送队列中包含的数据块的数量小于第一暂停压缩阈值,且有效压缩标记为“真”,则设置第一暂停压缩标记为“真”。
实施例六
如图8所示,为本申请实施例六中,第二发送线程设置第二暂停压缩标记的处理流程图,其具体实施过程如下:
步骤81,若数据发送装置接收到暂停压缩指示消息,则第二发送线程设置第二暂停压缩标记为“真”;
步骤82,若数据发送装置接收到解除暂停压缩指示消息,则第二发送线程设置第二暂停压缩标记为“假”。
实施例七
数据接收装置建立与数据发送装置之间的传输链接后,启动两个独立的接收线程,第一接收线程和第二接收线程,如图9所示,为本申请实施例七中,第一接收线程的处理流程图,其具体实施过程如下:
步骤91,第一接收线程通过传输链接接收数据发送装置发送的数据块;
步骤92,第一接收线程将接收到的数据块放入数据接收队列。
实施例八
数据接收装置建立与数据发送装置之间的传输链接后,启动两个独立的接收线程,第一接收线程和第二接收线程,第二接收线程不仅要负责处理数据块,也要负责向数据发送装置发送指示消息,如图10所示,为本申请实施例七中,第二接收线程处理数据块的处理流程图,其具体实施过程如下:
步骤101,第二接收线程按照数据块放入数据接收队列的时间点由先到后的顺序,从数据接收队列中提取出第k个数据块,其中1≤k≤N;
步骤102,第二接收线程判断提取出的第k个数据块是否包含压缩标识,若判断结果为是,则转至步骤103,若判断结果为否,则转至步骤104;
步骤103,第二接收线程解压缩提取出的第k个数据块;
步骤104,第二接收线程对第k个数据块进行相应处理;
步骤105,第二接收线程将k置为k+1,并转至步骤101,直至k=N。
实施例九
如图11所示,为本申请实施例九中,第二接收线程向数据发送装置发送指示消息的处理流程图,其具体实施过程如下:
步骤111,第二接收线程检测数据接收队列中包含的数据块的数量;
步骤112,若第二接收线程检测到数据接收队列中包含的数据块的数量大于第二暂停压缩阈值,则向数据发送装置发送暂停压缩指示消息;
步骤113,若第二接收线程检测到数据接收队列中包含的数据块的数量小于第二解除暂停压缩阈值,且已向数据发送装置发送了暂停压缩指示消息,则向数据发送装置发送解除暂停压缩指示消息。
实施例十
本申请实施例十提出一种数据发送装置,其结构如图12所示,包括:
数据块划分单元121,用于将待发送给数据接收装置的数据划分成多个数据块;
第一策略判断单元122,用于针对未发送的数据块,判断所述数据对应的第一压缩策略是否为对数据块进行压缩;
数据块压缩单元123,用于在第一策略判断单元122的判断结果为是时,将该数据块进行压缩;
压缩比判断单元124,用于判断数据块压缩单元123对数据块进行压缩后的压缩比是否大于预设的压缩比阈值;
第一数据块发送单元125,用于在压缩比判断单元124的判断结果为是时,将数据块压缩单元123压缩后的数据块发送给所述数据接收装置;
第一策略设置单元126,用于在压缩比判断单元124的判断结果为否时,将所述第一压缩策略设置为不对数据块进行压缩;
第二数据块发送单元127,用于在第一策略判断单元122的判断结果为否时,以及在压缩比判断单元124的判断结果为否时,将未压缩的数据块发送给数据接收装置。
较佳地,第一数据块发送单元125具体包括:
第一数据块放入子单元,用于将数据块压缩单元123压缩后的数据块放入数据发送队列中;
第一数据块提取子单元,用于从数据发送队列中提取出各数据块;
第一数据块发送子单元,用于将第一数据块提取子单元提取出的数据块发送给数据接收装置;
第二数据块发送单元127具体包括:
第二数据块放入子单元,用于将未压缩的数据块放入数据发送队列中;
第二数据块提取子单元,用于从数据发送队列中提取出各数据块;
第二数据块发送子单元,用于将第二数据块提取子单元提取出的数据块发送给数据接收装置。
更佳地,所述第一数据块发送单元125还包括:
第一数据块数量判断子单元,用于在第一数据块放入子单元将数据块压缩单元压缩后的数据块放入数据发送队列中之前,判断数据发送队列中包含的数据块的数量是否大于预设的最大数量阈值;
第一数据块数量检测子单元,用于在第一数据块数量判断子单元的判断结果为是时,检测数据发送队列中包含的数据块的数量;
第一数据块放入子单元,具体用于当第一数据块数量判断子单元的判断结果为否,以及第一数据块数量检测子单元检测到数据发送队列中包含的数据块的数量不大于预设的最大数量阈值时,将数据块压缩单元压缩后的数据块放入数据发送队列中;
所述第二数据块发送单元127还包括:
第二数据块数量判断子单元,用于在第二数据块放入子单元将数据块压缩单元压缩后的数据块放入数据发送队列中之前,判断数据发送队列中包含的数据块的数量是否大于预设的最大数量阈值;
第二数据块数量检测子单元,用于在第二数据块数量判断子单元的判断结果为是时,检测数据发送队列中包含的数据块的数量;
第二数据块放入子单元,具体用于当第二数据块数量判断子单元的判断结果为否,以及第二数据块数量检测子单元检测到数据发送队列中包含的数据块的数量不大于预设的最大数量阈值时,将数据块压缩单元压缩后的数据块放入数据发送队列中。
较佳地,所述数据发送装置还包括:
第二策略判断单元,用于在数据块压缩单元123将该数据块进行压缩之前,判断所述数据对应的第二压缩策略是否为对数据块进行压缩;
数据块压缩单元,具体用于在第一策略判断单元126及第二策略判断单元的判断结果均为是时,将该数据块进行压缩。
更佳地,所述数据发送装置还包括:
数据块数量检测单元,用于检测数据发送队列中包含的数据块的数量;
第二策略设置单元,用于在数据块数量检测单元检测出数据发送队列中包含的数据块的数量大于第一解除暂停压缩阈值时,将所述第二压缩策略设置为对数据块进行压缩;
第三策略设置单元,用于在数据块数量检测单元检测出数据发送队列中包含的数据块的数量小于第一暂停压缩阈值时,将所述第二压缩策略设置为对数据块进行压缩。
较佳地,所述数据发送装置还包括:
第三策略判断单元,用于在数据块压缩单元123将该数据块进行压缩之前,判断所述数据对应的第三压缩策略是否为对数据块进行压缩;
数据块压缩单元,具体用于在第一策略判断单元126及第三策略判断单元的判断结果均为是时,将该数据块进行压缩。
更佳地,所述数据发送装置还包括:
第一消息接收单元,用于接收数据发送装置发送的暂停压缩指示消息;
第四策略设置单元,用于在第一消息接收单元接收到所述暂停压缩指示消息后,将所述第三压缩策略设置为不对数据块进行压缩;
第二消息接收单元,用于接收数据发送装置发送的第二解除暂停压缩指示消息;
第五策略设置单元,用于在第二消息接收单元接收到所述解除暂停压缩指示消息之后,将所述第三压缩策略设置为对数据块进行压缩。
实施例十一
本申请实施例十一提出一种数据接收装置,其结构如图13所示,包括:
数据块接收单元131,用于接收数据发送装置发送的数据块;
压缩判断单元132,用于判断数据块接收单元131接收到的数据块是否为压缩后的数据块;
数据块解压缩单元133,用于在压缩判断单元132的判断结果为是时,将该数据块进行解压缩;
第一处理单元134,用于对数据块解压缩单元133解压缩后的数据块进行相应处理;
第二处理单元135,用于在压缩判断单元132的判断结果为否时,直接对该数据块进行相应处理。
较佳地,数据块接收单元131具体包括:
数据块接收子单元,用于接收数据发送装置发送的各数据块;
数据块放入子单元,用于将数据块接收子单元接收到的各数据块放入数据接收队列中;
压缩判断单元132具体包括:
数据块提取子单元,用于从数据接收队列中提取出一个数据块;
压缩判断子单元,用于判断数据块提取子单元提取出的该数据块是否为压缩后的数据块。
更佳地,所述数据接收装置还包括:
数据块数量检测单元,用于检测数据接收队列中包含的数据块的数量;
第一消息发送单元,用于在数量检测单元检测出数据接收队列中包含的数据块的数量大于第二暂停压缩阈值时,向所述数据发送装置发送暂停压缩指示消息;
第二消息发送单元,用于在数量检测单元检测出数据接收队列中包含的数据块的数量小于第二解除暂停压缩阈值,且第一消息发送单元已向所述数据发送装置发送了暂停压缩指示消息时,向所述数据发送装置发送解除暂停压缩指示消息。
本领域的技术人员应明白,本申请的实施例可提供为方法、装置(装置)、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、装置(装置)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理装置的处理器以产生一个机器,使得通过计算机或其他可编程数据处理装置的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理装置以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理装置上,使得在计算机或其他可编程装置上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程装置上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (9)
1.一种数据发送方法,其特征在于,包括:
A1,数据发送装置将待发送给数据接收装置的数据划分成多个数据块;
A2,在划分出的多个数据块中选择一个未发送的数据块;
A3,判断所述数据对应的第一压缩策略是否为对数据块进行压缩,若判断结果为是,则转至A4,若判断结果为否,则转至A7;
A4,若步骤A3的判断结果为是且步骤A10的判断结果为是,则将该数据块进行压缩,并判断压缩后的压缩比是否大于预设的压缩比阈值,若判断结果为是,则转至A5,若判断结果为否,则转至A6和A7;
A5,将压缩后的数据块发送给数据接收装置,转至A8;
A6,将所述第一压缩策略设置为不对数据块进行压缩;
A7,若步骤A3的判断结果为否或者步骤A10的判断结果为否,则将未压缩的数据块发送给数据接收装置,转至A8;
A8,判断划分出的多个数据块中是否存在未发送的数据块,若判断结果为是,则转至A2,若判断结果为否,则转至A9;
A9,结束数据发送流程;
在步骤A4之前还包括:
A10,判断所述数据对应的第二压缩策略是否为对数据块进行压缩。
2.如权利要求1所述的数据发送方法,其特征在于,步骤A5具体包括:
A501,将压缩后的数据块放入数据发送队列中;
A502,从数据发送队列中提取出各数据块;
A503,将提取出的数据块发送给数据接收装置;
步骤A7具体包括:
A701,将未压缩的数据块放入数据发送队列中;
A702,从数据发送队列中提取出各数据块;
A703,将提取出的数据块发送给数据接收装置。
3.如权利要求2所述的数据发送方法,其特征在于,在步骤A501之前,还包括:
A504,判断数据发送队列中包含的数据块的数量是否大于预设的最大数量阈值,若判断结果为是,则转至A505,若判断结果为否,则转至A501;
A505,检测数据发送队列中包含的数据块的数量,当检测到数据发送队列中包含的数据块的数量不大于预设的最大数量阈值时,转至A501;
在步骤A701之前还包括:
A704,判断数据发送队列中包含的数据块的数量是否大于预设的最大数量阈值,若判断结果为是,则转至A705,若判断结果为否,则转至A701;
A705,检测数据发送队列中包含的数据块的数量,当检测到数据发送队列中包含的数据块的数量不大于预设的最大数量阈值时,转至A701。
4.如权利要求1所述的数据发送方法,其特征在于,还包括:
A11,若检测出数据发送队列中包含的数据块的数量大于第一解除暂停压缩阈值,则转至A12,若检测出数据发送队列中包含的数据块的数量小于第一暂停压缩阈值,且所述第一压缩策略为对数据进行压缩,则转至A13;
A12,将所述第二压缩策略设置为对数据块进行压缩;
A13,将所述第二压缩策略设置为不对数据块进行压缩。
5.如权利要求1所述的数据发送方法,其特征在于,在步骤A4之前还包括:
A14,判断所述数据对应的第三压缩策略是否为对数据块进行压缩;
所述若步骤A3的判断结果为是且步骤A10的判断结果为是,则将该数据块进行压缩,并判断压缩后的压缩比是否大于预设的压缩比阈值,若判断结果为是,则转至A5,若判断结果为否,则转至A6和A7,具体包括:
若步骤A3的判断结果为是且步骤A10的判断结果为是且步骤A14的判断结果为是,则将该数据块进行压缩,并判断压缩后的压缩比是否大于预设的压缩比阈值,若判断结果为是,则转至A5,若判断结果为否,则转至A6和A7;
所述若步骤A3的判断结果为否或者步骤A10的判断结果为否,则将未压缩的数据块发送给数据接收装置,转至A8,具体包括:
若步骤A3的判断结果为否或者步骤A10的判断结果为否或者骤A14的判断结果为否,则将未压缩的数据块发送给数据接收装置,转至A8。
6.如权利要求5所述的数据发送方法,其特征在于,还包括:
A15,在接收到所述数据接收装置发送的暂停压缩指示消息后,将所述第三压缩策略设置为不对数据块进行压缩;
A16,在接收到所述数据接收装置发送的解除暂停压缩指示消息后,将所述第三压缩策略设置为对数据块进行压缩。
7.一种数据发送装置,其特征在于,包括:
数据块划分单元,用于将待发送给数据接收装置的数据划分成多个数据块;
第一策略判断单元,用于针对未发送的数据块,判断所述数据对应的第一压缩策略是否为对数据块进行压缩;
数据块压缩单元,用于在第一策略判断单元的判断结果为是时,将该数据块进行压缩;
压缩比判断单元,用于判断数据块压缩单元对数据块进行压缩后的压缩比是否大于预设的压缩比阈值;
第一数据块发送单元,用于在压缩比判断单元的判断结果为是时,将数据块压缩单元压缩后的数据块发送给所述数据接收装置;
第一策略设置单元,用于在压缩比判断单元的判断结果为否时,将所述第一压缩策略设置为不对数据块进行压缩;
第二数据块发送单元,用于在第一策略判断单元的判断结果为否时,以及在压缩比判断单元的判断结果为否时,将未压缩的数据块发送给数据接收装置;
第二策略判断单元,用于在数据块压缩单元将该数据块进行压缩之前,判断所述数据对应的第二压缩策略是否为对数据块进行压缩;
数据块压缩单元,具体用于在第一策略判断单元及第二策略判断单元的判断结果均为是时,将该数据块进行压缩。
8.一种数据接收方法,其特征在于,包括:
B1,数据接收装置接收数据发送装置发送的数据块;
B2,判断接收到的数据块是否为压缩后的数据块,若判断结果为是,则转至B3,若判断结果为否,则转至B4;
B3,将该压缩后的数据块进行解压缩,并对解压缩后的数据块进行相应处理;
B4,直接对该未压缩的数据块进行相应处理;
其中,步骤B1具体包括:接收数据发送装置发送的各数据块;将接收到的各数据块放入数据接收队列中;
步骤B2具体包括:从数据接收队列中提取出一个数据块;判断提取出的该数据块是否为压缩后的数据块;
所述方法还包括:
C1,检测数据接收队列中包含的数据块的数量;
C2,若检测到数据接收队列中包含的数据块的数量大于第二暂停压缩阈值,则向数据发送装置发送暂停压缩指示消息;若检测到数据接收队列中包含的数据块的数量小于第二解除暂停压缩阈值,且已向数据发送装置发送了暂停压缩指示消息,则向数据发送装置发送解除暂停压缩指示消息。
9.一种数据接收装置,其特征在于,包括:
数据块接收单元,用于接收数据发送装置发送的数据块;
压缩判断单元,用于判断数据块接收单元接收到的数据块是否为压缩后的数据块;
数据块解压缩单元,用于在压缩判断单元的判断结果为是时,将该数据块进行解压缩;
第一处理单元,用于对数据块解压缩单元解压缩后的数据块进行相应处理;
第二处理单元,用于在压缩判断单元的判断结果为否时,直接对该数据块进行相应处理;
数据块数量检测单元,用于检测数据接收队列中包含的数据块的数量;
第一消息发送单元,用于在数量检测单元检测出数据接收队列中包含的数据块的数量大于第二暂停压缩阈值时,向所述数据发送装置发送暂停压缩指示消息;
第二消息发送单元,用于在数量检测单元检测出数据接收队列中包含的数据块的数量小于第二解除暂停压缩阈值,且第一消息发送单元已向所述数据发送装置发送了暂停压缩指示消息时,向所述数据发送装置发送解除暂停压缩指示消息;
所述数据块接收单元具体包括:
数据块接收子单元,用于接收数据发送装置发送的各数据块;
数据块放入子单元,用于将数据块接收子单元接收到的各数据块放入数据接收队列中;
压缩判断单元具体包括:
数据块提取子单元,用于从数据接收队列中提取出一个数据块;
压缩判断子单元,用于判断数据块提取子单元提取出的该数据块是否为压缩后的数据块。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110169119.8A CN102843341B (zh) | 2011-06-22 | 2011-06-22 | 数据发送方法及装置、数据接收方法及装置 |
HK13102771.6A HK1175611A1 (zh) | 2011-06-22 | 2013-03-06 | 數據發送方法及裝置、數據接收方法及裝置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110169119.8A CN102843341B (zh) | 2011-06-22 | 2011-06-22 | 数据发送方法及装置、数据接收方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102843341A CN102843341A (zh) | 2012-12-26 |
CN102843341B true CN102843341B (zh) | 2015-06-17 |
Family
ID=47370406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110169119.8A Active CN102843341B (zh) | 2011-06-22 | 2011-06-22 | 数据发送方法及装置、数据接收方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102843341B (zh) |
HK (1) | HK1175611A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8949488B2 (en) * | 2013-02-15 | 2015-02-03 | Compellent Technologies | Data replication with dynamic compression |
KR102005227B1 (ko) | 2013-03-12 | 2019-07-30 | 삼성전자 주식회사 | 데이터 처리 시스템과 이의 동작 방법 |
US10075872B2 (en) * | 2013-10-29 | 2018-09-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Dynamic compression coverage |
CN103746939A (zh) * | 2013-12-23 | 2014-04-23 | 西安理邦科学仪器有限公司 | 分布式数据传输方法及系统 |
CN104881240B (zh) * | 2014-02-27 | 2018-04-24 | 群联电子股份有限公司 | 数据写入方法、存储器存储装置及存储器控制电路单元 |
CN105376579A (zh) * | 2015-11-03 | 2016-03-02 | 株洲南车时代电气股份有限公司 | 一种数据转发方法及其接口盒 |
CN106155842B (zh) * | 2016-07-08 | 2019-05-10 | 珠海市魅族科技有限公司 | 一种数据迁移方法及装置 |
CN109756536B (zh) * | 2017-11-03 | 2020-12-04 | 株洲中车时代电气股份有限公司 | 一种数据传输的方法、装置及系统 |
CN110290099A (zh) * | 2018-03-19 | 2019-09-27 | 海能达通信股份有限公司 | 数据传输方法、通信设备及具有存储功能的装置 |
CN109325006A (zh) * | 2018-08-23 | 2019-02-12 | 郑州云海信息技术有限公司 | 一种压缩存储的方法和装置、解压下载的方法和装置 |
CN109783446A (zh) * | 2019-01-04 | 2019-05-21 | 北京百度网讯科技有限公司 | 用于存储数据的方法和装置 |
CN111831211B (zh) * | 2019-04-19 | 2024-08-23 | 阿里云计算有限公司 | 数据传输方法、装置、设备及存储介质 |
CN110851409A (zh) * | 2019-11-06 | 2020-02-28 | 南京星环智能科技有限公司 | 一种日志压缩、解压缩方法、设备及存储介质 |
CN114579050B (zh) * | 2022-02-14 | 2024-04-02 | 阿里巴巴(中国)有限公司 | 处理压缩数据的方法以及装置 |
CN116709423A (zh) * | 2022-02-25 | 2023-09-05 | 阿里巴巴(中国)有限公司 | 数据处理方法及装置 |
WO2024016161A1 (zh) * | 2022-07-19 | 2024-01-25 | 华为技术有限公司 | 一种数据传输方法及装置 |
CN115396518B (zh) * | 2022-10-31 | 2023-04-11 | 广东睿江云计算股份有限公司 | 一种自适应的数据同步方法以及系统 |
CN116170385A (zh) * | 2023-04-21 | 2023-05-26 | 四川汉科计算机信息技术有限公司 | 一种网关信息转发系统及方法、设备、存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1127558A (zh) * | 1994-04-22 | 1996-07-24 | 索尼公司 | 数据传输装置和数据记录装置及数据传输方法和数据记录方法 |
CN101552652A (zh) * | 2009-05-13 | 2009-10-07 | 北京交大思源科技有限公司 | 一种文件传输方法及传输装置 |
-
2011
- 2011-06-22 CN CN201110169119.8A patent/CN102843341B/zh active Active
-
2013
- 2013-03-06 HK HK13102771.6A patent/HK1175611A1/zh unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1127558A (zh) * | 1994-04-22 | 1996-07-24 | 索尼公司 | 数据传输装置和数据记录装置及数据传输方法和数据记录方法 |
CN101552652A (zh) * | 2009-05-13 | 2009-10-07 | 北京交大思源科技有限公司 | 一种文件传输方法及传输装置 |
Also Published As
Publication number | Publication date |
---|---|
HK1175611A1 (zh) | 2013-07-05 |
CN102843341A (zh) | 2012-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102843341B (zh) | 数据发送方法及装置、数据接收方法及装置 | |
JP7029471B2 (ja) | アップリンクデータ解凍、圧縮方法および装置 | |
CN104852984B (zh) | 基于多屏互动的智能终端间数据传输方法及系统 | |
CN107431688B (zh) | 数据传输方法、装置、处理器及移动终端 | |
CN109756536A (zh) | 一种数据传输的方法、装置及系统 | |
CN107155204B (zh) | 一种蓝牙与Wifi切换的方法及系统 | |
CN103338144B (zh) | 一种会话数据同步方法和装置 | |
CN105786985A (zh) | 一种文件系统自动扩容方法及装置 | |
CN108696911A (zh) | 一种物联网数据传输方式的选择方法和装置 | |
CN105743951A (zh) | 一种数据发送、接收的方法及装置 | |
CN104270362A (zh) | 请求处理方法和装置 | |
CN104991261A (zh) | 北斗多级指挥控制方法和系统 | |
CN105306385A (zh) | 下行网络带宽的控制方法及装置 | |
CN103678364A (zh) | 一种动态检测url重定向死循环的方法及装置 | |
US9860175B2 (en) | Methods, systems, and computer program products for processing a packet | |
CN110650546B (zh) | 文件传输的方法、装置、存储介质以及终端 | |
CN107315637B (zh) | 信号处理模块的负载均衡方法及装置 | |
CN106657097B (zh) | 一种数据发送方法及装置 | |
CN110266814B (zh) | 传输方法及传输装置 | |
CN105487637A (zh) | 一种射频链路控制的方法及装置 | |
CN110618966B (zh) | 一种报文的处理方法、装置及电子设备 | |
CN102752312A (zh) | 一种批量解压缩swf文件的方法 | |
CN102799673B (zh) | 一种批量压缩swf文件的方法 | |
CN106714294A (zh) | 应用于智能电网的多通道tcp/ip头压缩的同步方法 | |
CN105262815A (zh) | 基于射频的无线传输方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1175611 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1175611 Country of ref document: HK |