数据发送方法和装置以及数据接收方法和装置的制作方法

文档序号:7861396阅读:141来源:国知局
专利名称:数据发送方法和装置以及数据接收方法和装置的制作方法
技术领域
本发明涉及通信技术,尤其涉及一种数据发送方法和装置以及数据接收方法和装置。
背景技术
随着全球经济的飞速发展,公司机构的规模在不断扩大,因此各公司机构在总部机构的基础上设有多个不同异地的分支机构,从而使得总部机构与各分支机构之间、各分支机构之间日常的业务数据需要通过广域网(Wide Area Network, WAN)进行传输。目前,在采用WAN传输前,发送端先采用数据压缩技术,对待发送的数据进行压缩 处理,然后再发送到WAN,WAN将压缩后的数据传输到接收端,接收端对压缩后的数据进行数据解压处理,从而获得数据。采用上述现有的数据传输方法,在发送端和接收端需要对全部数据进行压缩和解压处理,中央处理单元(Central Processing Unit,简称CPU)的数据处理量大,耗费大量的运算资源。

发明内容
本发明实施例的一个方面是提供一种数据发送方法和数据接收方法,以克服现有技术的缺陷,节约运算资源。本发明实施例的另一个方面是提供一种数据发送装置和数据接收装置,以克服现有技术的缺陷,节约运算资源。—方面,本发明实施例提供一种数据发送方法,包括压缩待传输数据的首个片段;当压缩后的首个片段的长度比上所述首个片段的长度小于预设值时,在所述压缩后的首个片段中添加已压缩标记并发送给数据接收装置,并为所述待传输数据的数据流标识ID添加可压缩标记;当压缩后的首个片段的长度比上所述首个片段的长度大于或等于所述预设值时,在所述首个片段中添加未压缩标记并发送给所述数据接收装置;当所述待传输数据的数据流ID中包括所述可压缩标记时,压缩待传输数据的后续片段,在压缩后的后续片段中添加所述已压缩标记并发送给所述数据接收装置;当所述待传输数据的数据流ID中不包括所述可压缩标记时,在所述后续片段中添加所述未压缩标记并发送给所述数据接收装置。本发明实施例还提供一种数据接收方法,包括接收数据发送装置发送的待传输数据的片段;当所述片段中包括已压缩标记时,去除所述已压缩标记并解压,得到所述待传输数据的原始片段;当所述片段中包括未压缩标记时,去除所述未压缩标记,得到所述待传输数据的原始片段。另一方面,本发明提供一种数据发送装置,包括第一压缩单元,用于压缩待传输数据的首个片段;当压缩后的首个片段的长度比上所述首个片段的长度小于预设值时,在所述压缩后的首个片段中添加已压缩标记并发送给数据接收装置,并为所述待传输数据的数据流标识ID添加可压缩标记;当压缩后的首个片段的长度比上所述首个片段的长度大于或等于所述预设值时,在所述首个片段中添加未压缩标记并发送给所述数据接收装置;第二压缩单元,用于当所述待传输数据的数据流ID中包括所述可压缩标记时,压缩待传输数据的后续片段,在压缩后的后续片段中添加所述已压缩标记并发送给所述数据接收装置;当所述待传输数据的数据流ID中不包括所述可压缩标记时,在所述后续片段中添加所述未压缩标记并发送给所述数据接收装置。本发明实施例还提供一种数据接收装置,包括
·
接收单元,用于接收数据发送装置发送的待传输数据的片段;解压单元,用于当所述片段中包括已压缩标记时,去除所述已压缩标记并解压,得到所述待传输数据的原始片段;当所述片段中包括未压缩标记时,去除所述未压缩标记,得到所述待传输数据的原始片段。上述各实施例,通过压缩待传输数据的首个片断来判断是否可以对待传输数据进行压缩,当首个片段的压缩效果好时,则将待传输数据的数据流ID添加可压缩标记,以根据该ID对待传输数据的后续片断进行压缩处理,而且还将所有经过压缩处理的片段都添加已压缩标记,发送给数据接收装置,以使数据接收装置根据已压缩标记对接收到的片段进行解压处理;当首个片段的压缩效果不好时,则将待传输数据的数据流ID不添加可压缩标记,以根据该ID对待传输数据的后续片断不进行压缩处理,而且将未经过压缩处理的片段都添加未压缩标记,发送给数据接收装置,以使数据接收装置根据未压缩标记不对接收到的片段进行解压处理。由于本发明实施例只对压缩效果好的数据进行压缩处理,从而可以减少CPU的数据处理量,节省大量的运算资源。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图I为本发明数据发送方法实施例一的流程图;图2为本发明数据接收方法实施例一的流程图;图3为本发明数据传输方法实施例一的流程图;图4为本发明数据发送装置实施例一的结构示意图;图5为本发明数据发送装置实施例二的结构示意图;图6为本发明数据接收装置实施例一的结构示意图;图7为本发明数据传输系统实施例一的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图I为本发明数据发送方法实施例一的流程图,如图I所示,本实施例的方法可以包括步骤101、压缩待传输数据的首个片段;具体地,待传输数据可以分成多个报文,将首次接收到待传输数据的至少一个报文称为首个片段,而将后续接收到待传输数据的至少一个报文称为后续片段;本实施例中要对待传输数据进行一次预压缩处理,因此,需要先对待传输数据的首个片段进行压缩处 理,确定首个片段的压缩效果,从而可以反映出整个待传输数据进行压缩处理后的压缩效
果O步骤102、当压缩后的首个片段的长度比上首个片段的长度小于预设值时,在压缩后的首个片段中添加已压缩标记并发送给数据接收装置,并为待传输数据的数据流标识ID添加可压缩标记;当压缩后的首个片段的长度比上首个片段的长度大于或等预设值时,在首个片段中添加未压缩标记并发送给数据接收装置;本领域普通技术人员可以理解,对数据进行压缩的目的就是为了使数据长度变小,因此,预设值为不大于I的某个数值,例如预设值可以为1、0. 9,0. 8等数值,其中,预设值由各应用场景中所需要的压缩效果来决定,本发明在此不做限制。本实施例中,以预设值为I进行具体说明,压缩后的首个片段的长度比上首个片段的长度小于1,即压缩后的首个片段的长度小于首个片段的长度;压缩后的首个片段的长度比上首个片段的长度大于或等于1,即压缩后的首个片段的长度大于或等于首个片段的长度。具体地,确定首个片段进行压缩处理后的压缩效果可以将压缩后的首个片段的长度与首个片段的长度进行比较,当压缩后的首个片段的长度小于首个片段的长度时,则说明首个片段的压缩效果好,因此,在压缩的首个片段中添加已压缩标记并发送给数据接收装置,以使数据接收装置可以根据已压缩标记对接收到的片段进行解压处理;同时,也说明待传输的数据可以进行压缩处理,因此,为待传输数据的数据流ID (Identity,标识)添加可压缩标记,若再接收到待传输数据的片断时,可以根据具有可压缩标记的数据流ID,对该ID对应的待传输数据的后续片断进行压缩处理。本领域普通技术人员可以理解,待传输数据的数据流ID是根据报文的四元组来确定的,其中,报文的四元组为源IP、源端口、目的IP和目的端口,每次传输数据的数据流ID均是不同的。当压缩后的首个片段的长度大于或等于首个片段的长度时,则说明首个片段的压缩效果不好,因此,在首个片段中添加未压缩标记并发送给数据装置,以使数据接收装置根据未压缩标记不对接收到的首个片段进行解压处理,以免破坏数据的准确性;同时,也说明应对待传输的数据都不进行压缩处理,因此,对待传输数据的数据流ID不添加可压缩标记,若再接收到待传输数据的片断时,可以根据没有可压缩标记的ID,对该ID对应的待传输数据的后续片断不进行压缩处理。步骤103、当待传输数据的数据流ID中包括可压缩标记时,压缩待传输数据的后续片段,在压缩后的后续片段中添加已压缩标记并发送给数据接收装置;当待传输数据的数据流ID中不包括可压缩标记时,在后续片段中添加未压缩标记并发送给数据接收装置。具体地,在接收到待传输数据的后续片断时,对待传输数据的后续片段进行压缩处理还是不进行压缩处理,应先判断待传输数据的数据流ID是否包括可压缩标记。当待传输数据的数据流ID中包括可压缩标记时,则说明待传输数据可以进行压缩处理,因此,压缩接收到的与待传输数据的数据流ID对应的待传输数据的后续片段,并在压缩后的后续片段中添加已压缩标记并发送给数据接收装置,以使数据接收装置根据已压缩标记对接收到的压缩后的后续片段进行解压处理。当待传输数据的数据流ID中不包括可压缩标记时,则说明待传输数据不进行压缩处理,因此,在接收到与待传输数据的数据流ID对应的后续片断后,在后续片断中添加未压缩标记并发送给数据接收装置,以使数据接收装置根据未压缩标记不对接收的该首个片段进行解压,以免破坏数据的准确性。本实施例中,通过压缩待传输数据的首个片断来判断是否可以对待传输数据进行压缩,当首个片段的压缩效果好时,则将待传输数据的数据流ID添加可压缩标记,以根据 该ID对待传输数据的后续片断进行压缩处理,而且还将所有经过压缩处理的片段都添加已压缩标记,发送给数据接收装置,以使数据接收装置根据已压缩标记对接收到的片段进行解压处理;当首个片段的压缩效果不好时,则将待传输数据的数据流ID不添加可压缩标记,以根据该ID对待传输数据的后续片断不进行压缩处理,而且将未经过压缩处理的片段都添加未压缩标记,发送给数据接收装置,以使数据接收装置根据未压缩标记不对接收到的片段进行解压处理。由于本发明实施例只对压缩效果好的数据进行压缩处理,从而可以减少CPU的数据处理量,节省大量的运算资源。图2为本发明数据接收方法实施例一的流程图,如图2所示,本实施例的方法可以包括步骤201、接收数据发送装置发送的待传输数据的片段;步骤202、当片段中包括已压缩标记时,去除已压缩标记并解压,得到待传输数据的原始片段;当片段中包括未压缩标记时,去除未压缩标记,得到待传输数据的原始片段。具体地,接收到数据发送装置发送的待传输数据的片段后,应先确定待传输数据的片段中是否包括已压缩标记,当待传输数据的片段中包括已压缩标记时,则说明待传输数据的片段是经过压缩处理后的片段,因此,先去除片段中的已压缩标记,然后将去除已压缩标记后的片段进行解压处理,从而得到待传输数据的原始片段;当待传输数据的片段中包括未压缩标记时,则说待传输数据的片段是未经过压缩处理的片段,因此,只要去除片段中的未压缩标记,不再进行解压处理,就可以直接得到待传输数据的原始片段。本实施例中,通过接收数据发送装置发送的待传输数据的片段,然后根据待传输数据的片段中的已压缩标记,去除已压缩标记后并进行解压处理,就可以得到待传输数据的原始片段;根据待传输数据的片段中的未压缩标记,只要去除未压缩标记,就可以得到待传输数据的原始片段;由于本发明只对压缩效果好的数据进行解压处理,从而可以减少CPU的数据处理量,节省大量的运算资源。图3为本发明数据传输方法的实施例一的流程图。在图3所示的实施例中,由图I所示的本发明数据发送方法和图2所示的本发明数据接收方法组成一个完整的数据传输过程,对该数据传输过程进行详细介绍。如图3所示,本实施例的方法可以包括
步骤301、数据发送装置获取待传输数据的一个目标片段和待传输数据的数据流ID ;由于待传输数据的数据流ID是由报文的四元组所确定的,而待传输数据的一个目标片段是由至少一个报文组成,而且同属于待传输数据的报文的四元组都是相同的,因此,一个目标片段可以用一个待传输数据的数据流ID来表示。步骤302、数据发送装置判断目标片段是否为待传输数据的首个片段;本实施例需要首先对首个片段进行预压缩处理以判断待传输数据的压缩效果,因此,需要判断获取的目标片段是否为待传输数据的首个片段,如果目标片段是待传输数据的首个片段,则直接执行步骤303 ;如果目标片段不是待传输数据的首个片段,则说明已对首个片段进行了预压缩处理,则直接执行步骤305。步骤303、数据发送装置压缩待传输数据的首个片段;具体地,当目标片段是待传输数据的首个片段时,直接对首个片段进行压缩处理,··本实施例中,采用压缩算法压缩对待传输数据的首个片段进行压缩处理,从而得到压缩后的首个片段,本领域的普通技术人员可以理解,压缩算法可以为Lempel-Ziv-Oberhumer (简称LZ0)压缩算法或者GNUzip (简称GZIP)压缩算法等,本发明在此不做限制。步骤304、当压缩后的首个片段的长度比上首个片段的长度小于预设值时,数据发送装置在压缩后的首个片段的头部添加已压缩标记并发送给数据接收装置,并为待传输数据的数据流标识ID添加可压缩标记;当压缩后的首个片段的长度比上首个片段的长度大于或等于预设值时,数据发送装置在首个片段的头部添加未压缩标记并发送给数据接收装置;本领域普通技术人员可以理解,对数据进行压缩的目的就是为了使数据长度变小,因此,预设值为不大于I的某个数值,例如预设值可以为1、0. 9,0. 8等数值,其中,预设值由各应用场景中所需要的压缩效果来决定,本发明在此不做限制。本实施例中,以预设值为I进行具体说明。具体地,确定首个片段进行压缩处理后的压缩效果可以将压缩后的首个片段的长度与首个片段的长度进行比较,当压缩后的首个片段的长度小于首个片段的长度时,则说明首个片段的压缩效果好,在该压缩的首个片段的头部添加已压缩标记并发送给数据接收装置;同时,还为待传输数据的数据流标识ID添加可压缩标记。当该压缩后的首个片段的长度大于或等于首个片段的长度时,则说明首个片段的压缩效果不好,因此,在首个片段的头部添加未压缩标记并发送给数据接收装置;同时对待传输数据的数据流标识ID不做任何处理。需要说明的是,在步骤304之后,执行步骤308的同时,可以再次执行上述步骤301,以获取待传输数据的后续片段。步骤305、数据发送装置判断待传输数据的数据流ID中是否包括可压缩标记;当目标片段不是待传输数据的首个片段时,则说明所接收到的目标片段为待传输数据的后续片段,对待传输数据的后续片段进行压缩处理还是不进行压缩处理,应先根据获取的目标片段对应的待传输数据的数据流ID,判断待传输数据的数据流ID中是否包括可压缩标记;当待传输数据的数据流ID中包括可压缩标记时,执行步骤306 ;当待传输数据的数据流ID中不包括可压缩标记时,执行步骤307。步骤306、数据发送装置压缩待传输数据的后续片段,在压缩后的后续片段的头部添加已压缩标记并发送给数据接收装置;具体地,当待传输数据的数据流ID中包括可压缩标记时,则说明该待传输数据可以进行压缩处理,因此,采用压缩算法对接收到的待传输数据的后续片段进行压缩处理,得到压缩后的后续片段,该压缩算法与对首个片段进行压缩采用的压缩算法相同;并且在压缩后的后续片段的头部添加已压缩标记并发送给数据接收装置。步骤307、数据发送装置在后续片段的头部添加未压缩标记并发送给数据接收装置;具体地,当待传输数据的数据流ID中不包括可压缩标记时,则说明待传输数据不进行压缩处理,因此,在接收到待传输数据的后续片断后,在后续片断的头部添加未压缩标记并发送给数据接收装置。优选地,上述的已压缩标记中包括类型字段和长度字段,类型字段的数值为第一值,例如为1,本发明在此不做限制,长度字段的数值为压缩后的已压缩标记对应的首个片 段的长度与已压缩标记的长度之和,因此,数据接收装置根据接收到的片段头部中已压缩标记的类型字段的数值1,可以确定对接收到的片段进行解压,还可以根据长度字段的数值确定是否接收到了完整的片段;进一步地,已压缩标记中还包括属性字段,属性字段的数值为压缩前的已压缩标记对应的片段的长度,因此,数据接收装置还可以根据属性字段的数值判断解压后所得的片段是否为已压缩标记对应的压缩前的片段。上述的未压缩标记中包括类型字段和长度字段,类型字段的数值为第二值,例如为0,本发明在此不做限制,长度字段的数值为未压缩标记对应的后续片段的长度与未压缩标记的长度之和,因此,数据接收装置根据接收到的片段头部中未压缩标记的类型字段的数值0,可以确定不对接收的片段进行解压处理,以免破坏数据的准确性。需要说明的是,已压缩标记和未压缩标记中类型字段为I字节、长度字段为4字节,进一步地,已压缩标记中的属性字段为4字节;因此,已压缩标记最多为9字节,未压缩标记为5字节,已压缩标记和未压缩标记的添加不会影响到数据的传输速率。进一步地,本实施例的方法还包括数据发送装置向数据接收装置发送携带压缩算法的标识的通知消息,以使数据接收装置在对压缩后的片段进行解压处理的过程中采用与压缩处理过程中相同的压缩算法。这一步骤在步骤307之前执行均可。进一步地,本实施例的方法还包括数据接收装置接收数据发送装置发送的携带压缩算法的标识的通知消息,数据接收装置可以采用接收到的压缩算法对压缩后的片段进行解压处理,保证数据的准确性。这一步骤在步骤311之前执行均可。步骤308、数据接收装置接收数据发送装置发送的待传输数据的片段;步骤309、数据接收装置判断片段的长度是否等于长度字段的数值;本实施例中,接收数据发送装置发送的待传输数据的片段后,应先确定所接收到的待传输数据的片段是否是一个完整的片段,这是因为若未接收到一个完整的片段就进行解压处理,容易造成数据出错,同时,待传输数据的片段中的已压缩标记或未压缩标记中均包括有长度字段,因此,可以根据该片段中的长度字段的数值来对接收到的片段进行判断,即判断片段的长度是否等于片段中的长度字段的数值。当片段的长度等于片段中的长度字段的数值时,则执行步骤310 ;当片段的长度不等于片段中的长度字段的数值时,则继续执行步骤308,使片段的长度等于片段中的长度字段的数值。
其中,已压缩标记中包括类型字段和长度字段,类型字段的数值为第一值,例如为1,本发明在此不做限制,长度字段的数据为压缩后的已压缩标记对应的片段的长度与已压缩标记的长度之和;未压缩标记中包括类型字段和长度字段,类型字段的数值为第二值,例如为0,本发明在此不做限制,长度字段的数值为未压缩标记对应的片段长度与未压缩标记的长度之和。步骤310、数据接收装置识别片段的头部包括已压缩标记或未压缩标记;当片段的长度等于片段中的长度字段的数值时,先识别片段的头部中包括已压缩标记或未压缩标记,若识别片段的头部包括已压缩标记则需要对该片段进行解压处理,若识别片段的头部包括未压缩标记,则不需要对片段进行解压处理。具体地,当片段中的类型字段的数值为I时,则确定该片段的头部中包括已压缩标记;当片段中类型字段的数值为O时,则确定该片段的头部中包括未压缩标记。步骤311、当片段的头部包括已压缩标记时,数据接收装置去除已压缩标记并解 压,得到待传输数据的原始片段;当片段的头部包括未压缩标记时,数据接收装置去除未压缩标记,得到待传输数据的原始片段;具体地,当根据类型字段的数值I确定待传输数据的片段的头部包括已压缩标记时,则去除已压缩标记,并采用接收到的压缩算法对去除已压缩标记后的片段进行解压处理,从而得到待传输数据的原始片段。当根据类型字段的数值O确定待传输数据的片段的头部包括未压缩标记时,则去除未压缩标记,从而可以直接得到待传输数据的原始片段。步骤312、当解压获得的待传输数据的原始片段的长度不等于属性字段的数值时,数据接收装置向数据发送装置返回错误报告并停止接收数据发送装置发送的待传输数据的片段。在本实施例中,进一步地,已压缩标记还包括属性字段,属性字段的数值为压缩前的已压缩标记对应的片段的长度,因此,还需要确定解压获得的待传输数据的原始片段的长度是否等于属性字段的数值,当解压获得的待传输数据的原始片段的长度不等于属性字段的数值时,则说明数据出现了错误,应向数据发送装置返回错误报告并停止接收数据发送装置发送的待传输数据的片段,以免将错误的数据传递给用户。当解压获得的待传输数据的原始片段等于属性字段的数值时,则说明数据正确。本实施例中,数据发送装置通过压缩待传输数据的首个片断来判断是否对可以对待传输数据进行压缩,当首个片段的压缩效果好时,则将待传输数据的数据流ID添加可压缩标记,以根据该ID对待传输数据的后续片断进行压缩处理,而且还将所有经过压缩处理的片段的头部都添加已压缩标记,并发送给数据接收装置;当首个片段的压缩效果不好时,则将待传输数据的数据流ID不添加可压缩标记,以根据该ID对待传输数据的后续片断不进行压缩处理,而且将未经过压缩处理的片段的头部都添加未压缩标记,并发送给数据接收装置。数据接收装置接收数据发送装置发送的待传输数据的片段,然后根据待传输数据的片段中的已压缩标记的类型字段,去除已压缩标记后并进行解压处理,就可以得到待传输数据的原始片段;根据待传输数据的片段中的未压缩标记的类型字段,只要去除未压缩标记,就可以得到待传输数据的原始片段,由于本发明只对压缩效果好的待传输数据进行压缩和解压处理,从而可以减少CPU的数据处理量,节省大量的运算资源。进一步地,通过在压缩处理和解压处理过程中采用相同的压缩算法,以及已压缩标记和未压缩标记中设有长度字段,以及已压缩标记中还设有属性字段,保证了待传输数据的准确性和可靠性。例如在企业应用中,会经常传输一些文件,文件的格式可能有图片(JPG、JPEG、BMP等格式)、视频(WAV、AVI等格式)、安装包(EXE格式)、压缩包(GZ、RAR等格式)等不同的信息,而这些文件是本身已经经过压缩的数据,再次进行压缩可能导致数据量反而变大即再次压缩是完全没有效果的,而且浪费了宝贵的CPU资源,因此,对于这种文件传输我们应该尽量不选择进行数据压缩。而有些文件,比如我们的WORD文档、PPT文档、EXCLE文档、TXT文档等,这些是没有经过编码的,存在冗余信息,进行数据压缩的效果通常比较好,对于这种文件传输我们就应该选择进行数据压缩。采用上述本发明各实施例提供的数据发送方法和数据接收方法,就可以有效解决上述存在问题。图4为本发明数据发送装置实施例一的结构示意图,如图4所示,本实施例的装置可以包括第一压缩单元11和第二压缩单元12,其中,第一压缩单元11用于压缩待传输数据的首个片段,当压缩后的首个片段的长度比上首个片段的长度小于预设值时,在压缩后的首个片段中添加已压缩标记并发送给数据接收装置,并为待传输数据的数据流标识ID 添加可压缩标记,当压缩后的首个片段的长度比上首个片段的长度大于或等于预设值时,在首个片段中添加未压缩标记并发送给数据接收装置;第二压缩单元12用于当待传输数据的数据流ID中包括可压缩标记时,压缩待传输数据的后续片段,在压缩后的后续片段中添加已压缩标记并发送给数据接收装置,当待传输数据的数据流ID中不包括可压缩标记时,在后续片段中添加未压缩标记并发送给数据接收装置。本实施例的装置,可以用于执行图I所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。图5为本发明数据发送装置实施例二的结构示意图,如图5所示,本实施例的装置在图4所示装置结构的基础上,进一步地,可以包括获取单元13和预判断单元14。其中,获取单元13用于获取待传输数据的一个目标片段和待传输数据的数据流ID ;预判断单元14,判断目标片段是否为待传输数据的首个片段,如果是,开启所述第一压缩单元11,否则,开启所述第二压缩单元12。进一步地,上述的第一压缩单元11具体用于采用压缩算法压缩待传输数据的首个片段,还具体用于在压缩后的首个片段的头部添加已压缩标记,并具体用于在首个片段的头部添加未压缩标记;上述的第二压缩单元12具体用于采用压缩算法压缩待传输数据的后续片段,还具体用于在压缩后的后续片段的头部添加已压缩标记,并具体用于在所续片段的头部添加未压缩标记;其中,已压缩标记中包括类型字段和长度字段,类型字段的数值为第一值,长度字段的数值为压缩后的已压缩标记对应的片段的长度与已压缩标记的长度之和;进一步地,该已压缩标记中还包括属性字段,属性字段的数值为压缩前的已压缩标记对应的片段的长度;未压缩标记中包括类型字段和长度字段,类型字段的数值为第二值,长度字段的数值为未压缩标记对应的片段的长度与未压缩标记的长度之和。本实施例的装置还包括发送单元15,其中,发送单元15用于向数据接收装置发送携带压缩算法的标识的通知消息。本实施例的装置,可以用于执行图3所示方法实施例中的数据发送方法的技术方案,其实现原理和技术效果类似,此处不再赘述。图6为本发明数据接收装置实施例一的结构示意图,如图6所示,本实施例的装置可以包括接收单元21和解压单元22,其中,接收单元21用于接收数据发送装置发送的待传输数据的片段;解压单元22用于当片段中包括已压缩标记时,去除已压缩标记并解压,得到待传输数据的原始片段,当片段中包括未压缩标记时,去除未压缩标记,得到待传输数据的原始片段。本实施例的装置,可以用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。在本发明数据接收装置实施例二中,上述的接收单元21还用于接收数据发送装置发送的携带压缩算法的标识的通知消息,还用于判断所述片段的长度是否等于长度字段的数值,如果是,开启解压单元22,否则,继续接收数据发送装置发送的待传输数据的片段;上述的解压单元22还具体用于识别片段的头部包括已压缩标记或未压缩标记,还具体用于采用压缩算法解压,还用于当解压获得的待传输数据的原始片段的长度不等于属性字段的数值时,向数据发送装置返回错误报告并停止接收数据发送装置发送的待传输数据的片段;其中,已压缩标记中包括类型字段和长度字段,类型字段的数值为第一值,长度字段的数值为压缩后的已压缩标记对应的片段的长度与已压缩标记的长度之和,进一步,已压 缩标记还包括属性字段,属性字段的数值为压缩前的已压缩标记对应的片段的长度;未压缩标记包括类型字段和长度字段,类型字段的数值为第二值,长度字段的数值为未压缩标记对应的片段的长度与未压缩标记的长度之和。本实施例的装置,可以用于执行图3所示方法实施例中数据接收方法的技术方案,其实现原理和技术效果类似,此处不再赘述。图7为本发明数据传输系统实施例一的结构示意图,如图7所示,本实施例中的系统包括数据发送装置I、数据接收装置2、WAN3、客户端4和服务器5,各装置之间的实线表示各装置之间的通信连接。数据发送装置I从客户端4获取需要发送的数据后经过相应的压缩处理,再将处理后的数据发送到广域网3上,经过WAN3的传输发送到数据接收装置2,由数据接收装置2经过相应的解压处理再发送至服务器5。在本系统中,既减少了 CPU的数据处理量,节省了大量的运算资源,又减少了跨WAN的数据传输量,节省了 WAN的带宽资源。需要说明的是,有关WAN3、客户端4和服务器5的结构,以及各装置之间的通信,本领域普通技术人员可以理解为与现有技术中的一致,此处不做赘述。该系统中涉及的数据发送装置I和数据接收装置2可以采用上述各装置实施例提供的数据发送装置和数据接收装置,其具体结构和功能以及技术效果此处不再赘述。该系统涉及的数据发送方法和数据接收方法可以参见上述各实施例的流程,此处也不再赘述。本领域普通技术人员可以理解实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
权利要求
1.一种数据发送方法,其特征在于,包括 压缩待传输数据的首个片段; 当压缩后的首个片段的长度比上所述首个片段的长度小于预设值时,在所述压缩后的首个片段中添加已压缩标记并发送给数据接收装置,并为所述待传输数据的数据流标识ID添加可压缩标记; 当压缩后的首个片段的长度比上所述首个片段的长度大于或等于所述预设值时,在所述首个片段中添加未压缩标记并发送给所述数据接收装置; 当所述待传输数据的数据流ID中包括所述可压缩标记时,压缩待传输数据的后续片段,在压缩后的后续片段中添加所述已压缩标记并发送给所述数据接收装置; 当所述待传输数据的数据流ID中不包括所述可压缩标记时,在所述后续片段中添加所述未压缩标记并发送给所述数据接收装置。
2.根据权利要求I所述的方法,其特征在于, 所述在所述压缩后的首个片段中添加已压缩标记包括在所述压缩后的首个片段的头部添加已压缩标记; 所述在所述首个片段中添加未压缩标记包括在所述首个片段的头部添加未压缩标记; 所述在压缩后的后续片段中添加所述已压缩标记包括在压缩后的后续片段的头部添加所述已压缩标记; 所述在所述后续片段中添加未压缩标记包括在所述后续片段的头部添加未压缩标记。
3.根据权利要求I或2所述的方法,其特征在于, 所述已压缩标记中包括类型字段和长度字段; 所述类型字段的数值为第一值; 所述长度字段的数值为压缩后的所述已压缩标记对应的片段的长度与所述已压缩标记的长度之和; 所述未压缩标记中包括所述类型字段和所述长度字段; 所述类型字段的数值为第二值; 所述长度字段的数值为所述未压缩标记对应的片段的长度与所述未压缩标记的长度之和。
4.根据权利要求3所述的方法,其特征在于, 所述已压缩标记中还包括属性字段; 所述属性字段的数值为压缩前的所述已压缩标记对应的片段的长度。
5.根据权要求I或2所述的方法,其特征在于, 所述压缩待传输数据的首个片段包括采用压缩算法压缩待传输数据的首个片段; 所述压缩待传输数据的后续片段包括采用所述压缩算法压缩待传输数据的后续片段; 所述方法还包括向所述数据接收装置发送携带所述压缩算法的标识的通知消息。
6.一种数据接收方法,其特征在于,包括 接收数据发送装置发送的待传输数据的片段;当所述片段中包括已压缩标记时,去除所述已压缩标记并解压,得到所述待传输数据的原始片段; 当所述片段中包括未压缩标记时,去除所述未压缩标记,得到所述待传输数据的原始片段。
7.根据权利要求6所述的方法,其特征在于,所述接收数据发送装置发送的待传输数据的片段之后,还包括 识别所述片段的头部包括所述已压缩标记或所述未压缩标记。
8.根据权利要求7所述的方法,其特征在于, 所述已压缩标记中包括类型字段和长度字段; 所述类型字段的数值为第一值; 所述长度字段的数值为压缩后的所述已压缩标记对应的片段的长度与所述已压缩标记的长度之和 所述未压缩标记中包括所述类型字段和所述长度字段; 所述类型字段的数值为第二值; 所述长度字段的数值为所述未压缩标记对应的片段的长度与所述未压缩标记的长度之和; 所述接收数据发送装置发送的待传输数据的片段之后,还包括 判断所述片段的长度是否等于所述长度字段的数值; 如果是,执行所述当所述片段中包括已压缩标记时,去除所述已压缩标记并解压,得到所述待传输数据的原始片段,当所述片段中包括未压缩标记时,去除所述未压缩标记,得到所述待传输数据的原始片段的步骤; 否则,返回所述接收数据发送装置发送的待传输数据的片段的步骤。
9.根据权利要求8所述的方法,其特征在于, 所述已压缩标记中还包括属性字段; 所述属性字段的数值为压缩前的所述已压缩标记对应的片段的长度; 所述去除所述已压缩标记并解压,得到所述待传输数据的原始片段之后,还包括 当解压获得的所述待传输数据的原始片段的长度不等于所述属性字段的数值时,向所述数据发送装置返回错误报告并停止接收所述数据发送装置发送的所述待传输数据的片段。
10.根据权利要求9所述的方法,其特征在于,还包括 接收所述数据发送装置发送的携带压缩算法的标识的通知消息; 所述解压包括采用所述压缩算法解压。
11.一种数据发送装置,其特征在于,包括 第一压缩单元,用于压缩待传输数据的首个片段;当压缩后的首个片段的长度比上所述首个片段的长度小于预设值时,在所述压缩后的首个片段中添加已压缩标记并发送给数据接收装置,并为所述待传输数据的数据流标识ID添加可压缩标记;当压缩后的首个片段的长度比上所述首个片段的长度大于或等于所述预设值时,在所述首个片段中添加未压缩标记并发送给所述数据接收装置; 第二压缩单元,用于当所述待传输数据的数据流ID中包括所述可压缩标记时,压缩待传输数据的后续片段,在压缩后的后续片段中添加所述已压缩标记并发送给所述数据接收装置;当所述待传输数据的数据流ID中不包括所述可压缩标记时,在所述后续片段中添加所述未压缩标记并发送给所述数据接收装置。
12.根据权利要求11所述的装置,其特征在于, 所述第一压缩单元,具体用于在所述压缩后的首个片段的头部添加已压缩标记,并具体用于在所述首个片段的头部添加未压缩标记; 所述第二压缩单元,具体用于在压缩后的后续片段的头部添加所述已压缩标记,并具体用于在所述后续片段的头部添加未压缩标记。
13.根据权利要求11或12所述的装置,其特征在于, 所述已压缩标记中包括类型字段和长度字段; 所述类型字段的数值为第一值; 所述长度字段的数值为压缩后的所述已压缩标记对应的片段的长度与所述已压缩标记的长度之和; 所述未压缩标记中包括所述类型字段和所述长度字段; 所述类型字段的数值为第二值; 所述长度字段的数值为所述未压缩标记对应的片段的长度与所述未压缩标记的长度之和。
14.根据权利要求13所述的装置,其特征在于, 所述已压缩标记中还包括属性字段; 所述属性字段的数值为压缩前的所述已压缩标记对应的片段的长度。
15.根据权利要求11或12所述的装置,其特征在于, 所述第一压缩单元,具体用于采用压缩算法压缩待传输数据的首个片段; 所述第二压缩单元,具体用于采用所述压缩算法压缩待传输数据的后续片段; 所述装置,还包括发送单元,用于向所述数据接收装置发送携带所述压缩算法的标识的通知消息。
16.一种数据接收装置,其特征在于,包括 接收单元,用于接收数据发送装置发送的待传输数据的片段; 解压单元,用于当所述片段中包括已压缩标记时,去除所述已压缩标记并解压,得到所述待传输数据的原始片段;当所述片段中包括未压缩标记时,去除所述未压缩标记,得到所述待传输数据的原始片段。
17.根据权利要求16所述的装置,其特征在于, 所述解压单元还用于识别所述片段的头部包括所述已压缩标记或所述未压缩标记。
18.根据权利要求16所述的装置,其特征在于, 所述已压缩标记中包括类型字段和长度字段; 所述类型字段的数值为第一值; 所述长度字段的数值为压缩后的所述已压缩标记对应的片段的长度与所述已压缩标记的长度之和 所述未压缩标记中包括所述类型字段和所述长度字段; 所述类型字段的数值为第二值;所述长度字段的数值为所述未压缩标记对应的片段的长度与所述未压缩标记的长度之和; 所述接收单元还用于判断所述片段的长度是否等于所述长度字段的数值;如果是,开启所述解压单元;否则,继续接收数据发送装置发送的待传输数据的片段。
19.根据权利要求18所述的装置,其特征在于, 所述已压缩标记中还包括属性字段; 所述属性字段的数值为压缩前的所述已压缩标记对应的片段的长度; 所述解压单元还用于当解压获得的所述待传输数据的原始片段的长度不等于所述属性字段的数值时,向所述数据发送装置返回错误报告并停止接收所述数据发送装置发送的所述待传输数据的片段。
20.根据权利要求19所述的装置,其特征在于, 所述接收单元还用于接收所述数据发送装置发送的携带压缩算法的标识的通知消息; 所述解压单元具体用于采用所述压缩算法解压。
全文摘要
本发明实施例提供一种数据发送方法和装置以及数据接收方法和装置。数据发送方法包括压缩待传输数据的首个片段;当压缩后的首个片段的长度比上首个片段的长度小于预设值时,在压缩后的首个片段中添加已压缩标记并发送给数据接收装置,并为待传输数据的数据流ID添加可压缩标记;否则,在首个片段中添加未压缩标记并发送给数据接收装置;当待传输数据的数据流ID中包括可压缩标记时,压缩待传输数据的后续片段,在压缩后的后续片段中添加已压缩标记并发送给数据接收装置;否则,在后续片段中添加未压缩标记并发送给所述数据接收装置。本发明实施例通过对压缩效果好的数据进行压缩处理,减少了CPU的数据处理量,节省了大量的运算资源。
文档编号H04L1/00GK102891732SQ20121036204
公开日2013年1月23日 申请日期2012年9月25日 优先权日2012年9月25日
发明者王亮 申请人:北京星网锐捷网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1