一种数据压缩方法及装置制造方法及图纸

技术编号:20014044 阅读:37 留言:0更新日期:2019-01-05 22:22
本发明专利技术提供一种数据压缩方法及装置,该方法包括:获取多条输入数据,其中,所述多条输入数据中每条输入数据均包括数据区、掩码区和标志位,所述数据区的数据长度和所述掩码区的掩码长度相同;根据所述多条输入数据的数据区、掩码区和标志位对所述多条输入数据进行压缩,得到输出数据。本发明专利技术的数据压缩方法,基于多条输入数据的数据区、掩码区和标志位对多条输入数据进行压缩,可以减少输入数据的数量,解决了配置数据占用大量硬件资源的问题。

A Data Compression Method and Device

The invention provides a data compression method and device, which includes: acquiring multiple input data, in which each input data of the multiple input data includes a data area, a mask area and a flag bit, and the data length of the data area is the same as the mask length of the mask area; according to the data area, a mask area and a flag bit of the multiple input data, the multiple input data are obtained. The input data is compressed to get the output data. The data compression method of the present invention compresses multiple input data based on data area, mask area and mark bit of multiple input data, which can reduce the amount of input data and solve the problem that configuration data occupies a large amount of hardware resources.

【技术实现步骤摘要】
一种数据压缩方法及装置
本专利技术涉及通信
,特别涉及一种数据压缩方法及装置。
技术介绍
ACL(AccessControlList,访问控制列表)、L2CP(Layer2ControlProtocol,二层控制协议)等功能常涉及控制指定MAC(MediaAccessControl,媒体访问控制)地址、IP(InternetProtocol,互联网协议)地址的数据包、协议包等。目前,配置条目与硬件条目通常一一对应,利用率较低,当配置条目较多时,会占用大量的硬件资源。特别的,当业务需求的配置条目很大时,硬件资源的技术指标可能无法满足需求。在现有技术中,针对配置数据占用大量硬件资源的问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术实施例的目的在于提供一种数据压缩方法及装置,解决了配置数据占用大量硬件资源的问题。为了达到上述目的,本专利技术实施例提供一种数据压缩方法,该方法包括:获取多条输入数据,其中,所述多条输入数据中每条输入数据均包括数据区、掩码区和标志位,所述数据区的数据长度和所述掩码区的掩码长度相同;根据所述多条输入数据的数据区、掩码区和标志位对所述多条输入数据进行压缩,得到输出数据。本专利技术实施例还提供一种数据压缩装置,该装置包括:获取模块,用于获取多条输入数据,其中,所述多条输入数据中每条输入数据均包括数据区、掩码区和标志位,所述数据区的数据长度和所述掩码区的掩码长度相同;压缩模块,用于根据所述多条输入数据的数据区、掩码区和标志位对所述多条输入数据进行压缩,得到输出数据。本专利技术实施例还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的数据压缩方法。本专利技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的数据压缩方法。上述技术方案中的一个技术方案具有如下优点或有益效果:本专利技术实施例通过获取多条输入数据,其中,所述多条输入数据中每条输入数据均包括数据区、掩码区和标志位,所述数据区的数据长度和所述掩码区的掩码长度相同;根据所述多条输入数据的数据区、掩码区和标志位对所述多条输入数据进行压缩,得到输出数据。本专利技术实施例基于多条输入数据的数据区、掩码区和标志位对多条输入数据进行压缩,可以减少输入数据的数量,解决了配置数据占用大量硬件资源的问题。附图说明图1为本专利技术实施例提供的数据压缩方法的流程图;图2为本专利技术又一实施例提供的数据压缩方法的流程图;图3为本专利技术又一实施例提供的数据压缩方法的流程图;图4为本专利技术实施例提供的数据压缩装置的示意图;图5为本专利技术又一实施例提供的数据压缩装置的示意图;图6为本专利技术又一实施例提供的数据压缩装置的示意图;图7为本专利技术又一实施例提供的数据压缩装置的示意图;图8为本专利技术实施例提供的电子设备的示意图。具体实施方式为使本专利技术要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。如图1所示,本专利技术实施例提供一种数据压缩方法,包括以下步骤:步骤S101、获取多条输入数据,其中,所述多条输入数据中每条输入数据均包括数据区、掩码区和标志位,所述数据区的数据长度和所述掩码区的掩码长度相同。本实施例中,可以预先将需要压缩的各条数据封装成包括数据区、掩码区和标志位的输入数据。具体的,数据区的数据可以是IP地址、MAC地址以及任何长度的需要压缩处理的其他数据。掩码区的掩码可以是任意长度与数据区的数据长度相同的数据。需要说明的是,本实施例的每条输入数据的数据和掩码的组合可以表示一条数据,也可以表示一组数据,例如,当输入数据的掩码的二进制全为1时,表示一条数据,当输入数据的掩码的二进制不全为1时,则表示一组数据。例如,若某输入数据的数据区的数据为0x8a,掩码区的掩码为0xff,则该输入数据的数据和掩码的组合包括0x8a一条数据;若某输入数据的数据区的数据为0x8a,掩码区的掩码为0xfe,则该输入数据的数据和掩码的组合包括0x8a和0x8b两条数据。标志位包括允许和拒绝,其中,可以通过“+”表示允许,通过“-”表示拒绝。具体的,输入数据的格式可以参照表1:表1输入数据格式数据区掩码区标志位0x9b(10011011)0xff(11111111)+0x8a(10001010)0xff(11111111)+0x8b(10001011)0xff(11111111)+0x8c(10001100)0xff(11111111)+0x99(10011001)0xff(11111111)-0x9a(10011010)0xff(11111111)-0x89(10001001)0xff(11111111)+0x9c(10011100)0xff(11111111)+步骤S102、根据所述多条输入数据的数据区、掩码区和标志位对所述多条输入数据进行压缩,得到输出数据。本实施例中,可以基于多条输入数据的数据区、掩码区和标志位对所述多条输入数据进行压缩,得到输出数据。例如,可以将标志位、掩码相同且数据的二进制仅一位不同的两条数据压缩成一条数据,或是删除上述输入数据中冗余的输入数据等,以减少数据数量,进而减少占用的硬件资源。本专利技术实施例提供的数据压缩方法,通过获取多条输入数据,其中,所述多条输入数据中每条输入数据均包括数据区、掩码区和标志位,所述数据区的数据长度和所述掩码区的掩码长度相同;根据所述多条输入数据的数据区、掩码区和标志位对所述多条输入数据进行压缩,得到输出数据。本专利技术实施例基于多条输入数据的数据区、掩码区和标志位对多条输入数据进行压缩,可以减少输入数据的数量,解决了配置数据占用大量硬件资源的问题。可选的,在所述根据所述多条输入数据的数据区、掩码区和标志位对所述多条输入数据进行压缩,得到输出数据之前,所述方法还包括:根据所述多条输入数据的标志位对所述多条输入数据进行分类,得到至少一个类别,其中,标志位相同的输入数据属于同一类别;分别对所述至少一个类别中的输入数据进行排序;根据所述多条输入数据的数据区、掩码区和标志位对所述多条输入数据进行压缩,得到输出数据,包括:根据排序后的多条输入数据的数据区、掩码区和标志位对所述多条输入数据进行压缩,得到输出数据。本实施例中,为了降低压缩处理的复杂度和提高压缩处理的速度,可以先对输入数据进行分类和排序,并基于分类和排序后的输入数据进行压缩处理。如图2所示,本专利技术实施例还提供一种数据压缩方法,包括以下步骤:步骤S201、获取多条输入数据,其中,所述多条输入数据中每条输入数据均包括数据区、掩码区和标志位,所述数据区的数据长度和所述掩码区的掩码长度相同。本实施例中,可以预先将需要压缩的各条数据封装成包括数据区、掩码区和标志位的输入数据。具体的,数据区和掩码区的长度相等,与业务数据(例如,IP地址、MAC地址等)长度相同。标志位表示数据为允许(即permit)还是拒绝(即deny),若无需求也可不填。若业务每条使用唯一的输入数据,则将数据写入数据区,掩码置为二进制全1;若业务数据自身携带有掩码,则将数据和掩码分别写入数据区和掩码区。步骤S202、将所述多条输入数据中标志位和掩码区的掩码均相同,且数据区的数据的二进制仅存在一个不同的二本文档来自技高网...

【技术保护点】
1.一种数据压缩方法,其特征在于,包括:获取多条输入数据,其中,所述多条输入数据中每条输入数据均包括数据区、掩码区和标志位,所述数据区的数据长度和所述掩码区的掩码长度相同;根据所述多条输入数据的数据区、掩码区和标志位对所述多条输入数据进行压缩,得到输出数据。

【技术特征摘要】
1.一种数据压缩方法,其特征在于,包括:获取多条输入数据,其中,所述多条输入数据中每条输入数据均包括数据区、掩码区和标志位,所述数据区的数据长度和所述掩码区的掩码长度相同;根据所述多条输入数据的数据区、掩码区和标志位对所述多条输入数据进行压缩,得到输出数据。2.根据权利要求1所述的方法,其特征在于,所述根据所述多条输入数据的数据区、掩码区和标志位对所述多条输入数据进行压缩,得到输出数据,包括:将所述多条输入数据中标志位和掩码区的掩码均相同,且数据区的数据的二进制仅存在一个不同的二进制位的任两条输入数据压缩成一条输出数据;其中,所述输出数据的数据区的数据的目标二进制位为0,所述输出数据的数据区的数据除所述目标二进制位之外的二进制位分别与所述两条输入数据的数据区的数据对应的二进制位相同,所述输出数据的掩码区的掩码的目标二进制位为0,所述输出数据的掩码区的掩码除所述目标二进制位之外的二进制位分别与所述两条输入数据的掩码区的掩码对应的二进制位相同,所述目标二进制位为对应于所述不同的二进制位的二进制位。3.根据权利要求1所述的方法,其特征在于,所述多条输入数据存在优先级,所述根据所述多条输入数据的数据区、掩码区和标志位对所述多条输入数据进行压缩,得到输出数据,包括:根据所述多条输入数据的优先级,删除所述多条输入数据中的第一输入数据,得到第一处理数据集合,其中,所述第一输入数据为包含于所述多条输入数据中第二输入数据,且优先级低于所述第二输入数据的数据;根据所述第一处理数据集合中的输入数据的数据区、掩码区和标志位对所述第一处理数据集合中的输入数据进行压缩,得到输出数据。4.根据权利要求3所述的方法,其特征在于,所述根据所述第一处理数据集合中的输入数据的数据区、掩码区和标志位对所述第一处理数据集合中的输入数据进行压缩,得到输出数据,包括:将所述第一处理数据集合中处于同一输入数据组的输入数据中标志位和掩码均相同,且数据区的数据的二进制仅存在一个不同的二进制位的两条输入数据压缩成一条输出数据;其中,所述第一处理数据集合中标志位相同且连续排列的输入数据处于同一输入数据组,所述输出数据的数据区的数据的目标二进制位为0,所述输出数据的数据区的数据除所述目标二进制位之外的二进制位分别与所述两条输入数据的数据区的数据对应的二进制位相同,所述输出数据的掩码区的掩码的目标二进制位为0,所述输出数据的掩码区的掩码除所述目标二进制位之外的二进制位分别与所述两条输入数据的掩码区的掩码对应的二进制位相同,所述目标二进制位为对应于所述不同的二进制位的二进制位。5.根据权利要求3所述的方法,其特征在于,根据所述第一处理数据集合中的输入数据的数据区、掩码区和标志位对所述第一处理数据集合中的输入数据进行压缩,得到输出数据,包括:将所述第一处理数据集合中目标输入数据移至第一输入数据组内,得到第二处理数据集合,其中,所述第一处理数据集合中标志位相同且连续排列的输入数据处于同一输入数据组,所述目标输入数据为第二输入数据组内与第三输入数据组内的输入数据不存在交集的输入数据,所述第一输入数据组和所述第二输入数据组为所述第一处理数据集合中标志位相同的相邻两组数据,所述第二输入数据组与所述第三输入数据组为所述第一处理数据集合中标志位不同的相邻两组数据,所述第二输入数据组的优先级低于所述第三输入数据组的优先级,所述第三输入数据组的优先级低于所述第一输入数据组的优先级;将所述第二处理数据集合中处于同一输入数据组的输入数据中标志位和掩码区的掩码均相同,且数据区的数据的二进制仅存在一个不同的二进制位的两条输入数据压缩成一条输出数据;其中,所述输出数据的数据区的数据的目标二进制位为0,所述输出数据的数据区的数据除所述目标二进制位之外的二进制位分别与所述两条输入数据的数据区的数据对应的二进制位相同,所述输出数据的掩码区的掩码的目标二进制位为0,所述输出数据的掩码区的掩码除所述目标二进制位之外的二进制位分别与所述两条输入数据的掩码区的掩码对应的二进制位相同,所述目标二进制位为对应于所述不同的二进制位的二进制位。6.根据权利要求1所述的方法,其特征在于,在所述根据所述多条输入数据的数据区、掩码区和标志位对所述多条输入数据进行压缩,得到输出数据之前,所述方法还包括:根据所述多条输入数据的标志位对所述多条输入数据进行分类,得到至少一个类别,其中,标志位相同的输入数据属于同一类别;分别对所述至少一个类别中的输入数据进行排序;所述根据所述多条输入数据的数据区、掩码区和标志位对所述多条输入数据进行压缩,得到输出数据,包括:根据排序后的多条输入数据的数据区、掩码区和标志位对所述多条输入数据进行压缩,...

【专利技术属性】
技术研发人员:刘星
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东,44

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

1