CN104636377B - 数据压缩方法及设备 - Google Patents
数据压缩方法及设备 Download PDFInfo
- Publication number
- CN104636377B CN104636377B CN201310561146.9A CN201310561146A CN104636377B CN 104636377 B CN104636377 B CN 104636377B CN 201310561146 A CN201310561146 A CN 201310561146A CN 104636377 B CN104636377 B CN 104636377B
- Authority
- CN
- China
- Prior art keywords
- fixed
- length field
- domain logic
- chr
- hash table
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9014—Indexing; Data structures therefor; Storage structures hash tables
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种数据压缩方法及设备。方法包括:通过统计分析获取多个CHR/MR数据包包含的相同定长字段在CHR/MR数据文件中出现的概率;根据该概率确定至少一个关键字段,按照关键字对多个CHR/MR数据包进行排序;依次对每个CHR/MR数据包包含的每个定长字段进行哈希运算,将哈希值与哈希表中的哈希值进行匹配,如果匹配中,增大匹配中的哈希值对应的编码符号的概率,利用增大后的概率进行算术编码并输出编码符号;如果未匹配中,利用编码符号的默认概率进行算术编码并输出编码符号。本发明技术方案可以进一步提高对CHR/MR数据的压缩比。
Description
技术领域
本发明实施例涉及通信技术,尤其涉及一种数据压缩方法及设备。
背景技术
在无线通信网络中,当用户设备(User Equipment,简称为UE)需要通信的时候,会和基站完成认证、鉴权等流程,之后UE所发送的信令消息通过基站,在无线通信网络中的承载网上传输到接收方。在该过程中,UE随时与基站保持通信,会产生大量的呼叫历史记录(Call History Record,简称为CHR)和测量报告(Measurement Report,简称为MR)数据,这些CHR/MR数据保存在基站控制器上。根据需要,基站控制器会将CHR/MR数据传输到数据采集服务器上,之后数据采集服务器将CHR/MR数据上传到云数据中心,使得在云数据中心能够基于CHR/MR数据提供运维增值服务。
随着无线通信网络的快速发展,UE数量激增,CHR/MR数据大幅增长,海量CHR/MR数据的产生与云数据中心的有限网络带宽之间矛盾日趋凸显,过长的CHR/MR数据上传时间已成为制约云数据中心处理效率的瓶颈。将海量CHR/MR数据进行压缩编码以提升传输效率,是应对这一难题的一条有效途径。其中,算术编码是目前用于对海量CHR/MR数据进行压缩编码的一种有效方法,主要是将被编码的一条消息或字符串表示成0与l之间的一段间隔,即对一串符号直接编码成[0,1)区间上的一个浮点小数,从而避开了用一个特定码字代替一个输入符号的思想,而是用一个单独的浮点数来代替一串输入符号,克服了霍夫曼(Huffman)编码中比特数必须取整的缺点,有效地提高了数据的压缩比。
目前,基于算术编码的数据压缩过程是:以被压缩数据中连续的多个字节数据建立上下文,获得被压缩数据的概率分布情况,在得到被压缩数据的概率分布情况下获取接近信息熵,这种方法适用于各种通用数据,但是用于对CHR/MR数据进行压缩时,压缩后的数据仍存在数据冗余,压缩比有待进一步提高。
发明内容
本发明实施例提供一种数据压缩方法及设备,用以进一步提高对CHR/MR数据的压缩比。
第一方面提供一种数据压缩方法,包括:
按照预定格式,对呼叫历史记录/测量报告CHR/MR数据文件包含的多个CHR/MR数据包进行统计分析,获取所述多个CHR/MR数据包包含的相同定长字段在所述CHR/MR数据文件中出现的概率;
根据所述多个CHR/MR数据包包含的相同定长字段在所述CHR/MR数据文件中出现的概率,从所述多个CHR/MR数据包包含的相同定长字段中确定至少一个关键字段,并按照所述至少一个关键字段,对所述多个CHR/MR数据包进行排序;
按照排序后的多个CHR/MR数据包的先后顺序,依次对每个CHR/MR数据包包含的每个定长字段进行哈希运算,将所述定长字段的哈希值与所述定长字段对应的哈希表中的哈希值进行匹配,如果匹配中,将所述定长字段对应的哈希表中匹配中的哈希值对应的编码符号的概率增大,以增大后的概率作为算术编码的输入参数,对所述定长字段进行算术编码并输出所述定长字段对应的编码符号;如果未匹配中,将所述定长字段的哈希值添加到所述定长字段对应的哈希表中,以所述定长字段的哈希值对应的编码符号的默认概率作为算术编码的输入参数,对所述定长字段进行算术编码输出所述定长字段对应的编码符号;其中,所述多个CHR/MR数据包包含的相同定长字段对应同一哈希表。
结合第一方面,在第一方面的第一种可能的实现方式中,所述按照所述至少一个关键字段,对所述多个CHR/MR数据包进行排序之前,包括:
检查每个所述CHR/MR数据包包含的所有字段是否均按字节对齐方式进行存储;
如果存在未按字节对齐方式进行存储的字段,将所述未按字节对齐方式进行存储的字段扩充为以字节对齐方式进行存储。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述按照所述至少一个关键字段,对所述多个CHR/MR数据包进行排序,包括:
按照所述至少一个关键字段的优先级,依次根据每个关键字段对所述多个CHR/MR数据包进行排序。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述CHR/MR数据包包含的定长字段中至少一个定长字段包括至少一个逻辑域,所述包括至少一个逻辑域的定长字段对应的哈希表包括至少一个哈希表项,每个哈希表项对应所述至少一个逻辑域中的一个逻辑域,且相同定长字段中相同逻辑域对应同一哈希表中的同一哈希表项;
对包括至少一个逻辑域的定长字段,所述对所述定长字段进行哈希运算,将所述定长字段的哈希值与所述定长字段对应的哈希表中的哈希值进行匹配,如果匹配中,将所述定长字段对应的哈希表中匹配中的哈希值对应的编码符号的概率增大,以增大后的概率作为算术编码的输入参数,对所述定长字段进行算术编码输出所述定长字段对应的编码符号;如果未匹配中,将所述定长字段的哈希值添加到所述定长字段对应的哈希表中,以所述定长字段的哈希值对应的编码符号的默认概率作为算术编码的输入参数,对所述定长字段进行算术编码输出所述定长字段对应的编码符号,包括:
对所述包括至少一个逻辑域的定长字段包括的每个逻辑域进行哈希运算,将所述逻辑域的哈希值与所述包括至少一个逻辑域的定长字段对应的哈希表中所述逻辑域对应的哈希表项中的哈希值进行匹配,如果匹配中,将所述逻辑域对应的哈希表项中匹配中的哈希值对应的编码符号的概率增大,以增大后的概率作为算术编码的输入参数,对所述逻辑域进行算术编码输出所述逻辑域对应的编码符号;如果未匹配中,将所述逻辑域的哈希值添加到所述逻辑域对应的哈希表项中,以所述逻辑域的哈希值对应的编码符号的默认概率作为算术编码的输入参数,对所述逻辑域进行算术编码输出所述逻辑域对应的编码符号。
第二方面提供一种数据压缩设备,包括:
获取模块,用于按照预定格式,对呼叫历史记录/测量报告CHR/MR数据文件包含的多个CHR/MR数据包进行统计分析,获取所述多个CHR/MR数据包包含的相同定长字段在所述CHR/MR数据文件中出现的概率;
排序模块,用于根据所述多个CHR/MR数据包包含的相同定长字段在所述CHR/MR数据文件中出现的概率,从所述多个CHR/MR数据包包含的相同定长字段中确定至少一个关键字段,并按照所述至少一个关键字段,对所述多个CHR/MR数据包进行排序;
匹配模块,用于按照排序后的多个CHR/MR数据包的先后顺序,依次对每个CHR/MR数据包包含的每个定长字段进行哈希运算,将所述定长字段的哈希值与所述定长字段对应的哈希表中的哈希值进行匹配;其中,所述多个CHR/MR数据包包含的相同定长字段对应同一哈希表;
算术编码模块,用于在所述匹配模块匹配中时,将所述定长字段对应的哈希表中匹配中的哈希值对应的编码符号的概率增大,以增大后的概率作为算术编码的输入参数,对所述定长字段进行算术编码并输出所述定长字段对应的编码符号,或者用于在所述匹配模块未匹配中时,将所述定长字段的哈希值添加到所述定长字段对应的哈希表中,以所述定长字段的哈希值对应的编码符号的默认概率作为算术编码的输入参数,对所述定长字段进行算术编码输出所述定长字段对应的编码符号。
结合第二方面,在第二方面的第一种可能的实现方式中,所述排序模块还用于在对所述多个CHR/MR数据包进行排序之前,检查每个所述CHR/MR数据包包含的所有字段是否均按字节对齐方式进行存储,并在存在未按字节对齐方式进行存储的字段时,将所述未按字节对齐方式进行存储的字段扩充为以字节对齐方式进行存储。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述排序模块用于按照所述至少一个关键字段,对所述多个CHR/MR数据包进行排序,包括:
所述排序模块具体用于按照所述至少一个关键字段的优先级,依次根据每个关键字段对所述多个CHR/MR数据包进行排序。
结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述CHR/MR数据包包含的定长字段中至少一个定长字段包括至少一个逻辑域,所述包括至少一个逻辑域的定长字段对应的哈希表包括至少一个哈希表项,每个哈希表项对应所述至少一个逻辑域中的一个逻辑域,且相同定长字段中相同逻辑域对应同一哈希表中的同一哈希表项;
所述匹配模块具体用于对包括至少一个逻辑域的定长字段包括的每个逻辑域进行哈希运算,将所述逻辑域的哈希值与所述包括至少一个逻辑域的定长字段对应的哈希表中所述逻辑域对应的哈希表项中的哈希值进行匹配;
所述算术编码模块具体用于在所述匹配模块匹配中时,将所述逻辑域对应的哈希表项中匹配中的哈希值对应的编码符号的概率增大,以增大后的概率作为算术编码的输入参数,对所述逻辑域进行算术编码输出所述逻辑域对应的编码符号;或者在所述匹配模块未匹配中时,将所述逻辑域的哈希值添加到所述逻辑域对应的哈希表项中,以所述逻辑域的哈希值对应的编码符号的默认概率作为算术编码的输入参数,对所述逻辑域进行算术编码输出所述逻辑域对应的编码符号。
本发明实施例提供的数据压缩方法及设备,首先按照预定格式,对CHR/MR数据文件包含的多个CHR/MR数据包进行统计分析,获取所述多个CHR/MR数据包包含的相同定长字段在所述CHR/MR数据文件中出现的概率,然后按照这些概率从所述相同定长字段中选择至少一个关键字段,然后根据至少一个关键字段对多个CHR/MR数据包进行排序,使得具有较高相似度的字段之间的距离减小,有利于提高数据压缩比;进一步按照排序后的多个CHR/MR数据包的先后顺序,依次对每个CHR/MR数据包包含的每个定长字段进行哈希运算,将所述定长字段的哈希值与所述定长字段对应的哈希表中的哈希值进行匹配,如果匹配中,将所述定长字段对应的哈希表中匹配中的哈希值对应的编码符号的概率增大,以增大后的概率作为算术编码的输入参数,对所述定长字段进行算术编码输出所述定长字段对应的编码符号;如果未匹配中,将所述定长字段的哈希值添加到所述定长字段对应的哈希表中,以所述定长字段的哈希值对应的编码符号的默认概率作为算术编码的输入参数,对所述定长字段进行算术编码输出所述定长字段对应的编码符号,通过以定长字段为上下文构建哈希表,提高定长字段的匹配率,基于该匹配率进行算术编码,有利于进一步提高数据压缩比。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据压缩方法的流程图;
图2为本发明实施例提供的一种CHR/MR数据文件中各字段的分布情况的示意图;
图3为本发明实施例提供的一种数据包包含的字段和哈希表之间映射关系示意图;
图4为本发明实施例提供的另一种数据包包含的字段和哈希表之间映射关系示意图;
图5为本发明实施例提供的一种数据压缩设备的结构示意图;
图6为本发明实施例提供的另一种数据压缩设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种数据压缩方法的流程图。如图1所示,所述方法包括:
101、按照预定格式,对CHR/MR数据文件包含的多个CHR/MR数据包进行统计分析,获取所述多个CHR/MR数据包包含的相同定长字段在所述CHR/MR数据文件中出现的概率。
本实施例主要是对无线网络海量数据CHR/MR数据进行无损压缩处理。MR是符合3GPP和3GPP2标准的测量报告数据,而CHR则多为各设备厂家自定义的记录业务过程的数据。
本实施例首先要按照预设格式,对连续时刻的CHR/MR数据包的数据分布进行统计,获得CHR/MR数据包包含的相同定长字段的统计相关性。其中,所述预设格式可以是CHR/MR数据包的格式。例如,CHR/MR数据包的一种常见格式如表1所示。
表1
在表1中,各协议字段和数据字段其长度是固定的,称为定长字段,另外,还包括长度不固定的字段,即可变字段。本发明实施例重点关注定长字段,对于可变字段可按照现有技术进行压缩处理。所述相同定长字段是指不同CHR/MR数据包中字段名相同的定长字段,例如不同CHR/MR数据包中的协议字段1属于相同定长字段,不同CHR/MR数据包中的协议字段2也属于相同定长字段,不同CHR/MR数据包中的数据字段1也属于相同定长字段,等等。
CHR/MR数据包由多个字段组成,这些字段用于指示通信过程中UE与基站之间的运行状态。这些字段在设计之初,是从通信实时性、简约性和有效性的角度考虑,从通信交互的过程看,在一个具体时间段内,UE与基站每次的交互都会产生通信数据,虽然每次产生的CHR/MR数据包不同字段在语义上相关性不强,但是对于连续时刻串行发出的CHR/MR数据包,用户的CHR/MR状态是相对稳定的。在大多数情况下,连续时间内的CHR/MR数据包的相同字段的内容具有高度相似性。根据这一特点,本实施例通过对连续时间内的CHR/MR数据包做数据分布分析从而使压缩比有所提升。本实施例将连续时间内的多个CHR/MR数据包称为CHR/MR数据文件,即该CHR/MR数据文件包含多个连续的CHR/MR数据包。
具体的,可以通过将多个CHR/MR数据包按其存储格式读出,然后进行数据分布分析,获得多个CHR/MR数据包包含的相同定长字段在所述CHR/MR数据文件中出现的概率。进一步,还可以获得多个CHR/MR数据包包含的相同定长字段在所述CHR/MR数据文件中出现的位置。
102、根据所述多个CHR/MR数据包包含的相同定长字段在所述CHR/MR数据文件中出现的概率,从所述多个CHR/MR数据包包含的相同定长字段中确定至少一个关键字段,并按照所述至少一个关键字段,对所述多个CHR/MR数据包进行排序。
以表1所示数据包格式为例,图2描述CHR/MR数据文件中各字段的分布情况。其中,为了更加清楚的显示各字段的分布情况,图2是根据仿真软件的仿真结果绘制的示意图。在图2所示,其中X轴表示重复出现的相同定长字段在CHR/MR数据文件中出现的位置,Y轴表示当前定长字段和上一个相同定长字段的距离。图2中的最下层的黑线表明CHR/MR数据文件的所有CHR/MR数据包包含的协议字段3中有相同的数据,每个CHR/MR数据包均包含协议字段3。假设前一CHR/MR数据包和当前CHR/MR数据包包含的协议字段3的内容相同,则每个X坐标值表示协议字段3相对于CHR/MR数据文件起始的偏移量,而Y坐标值表示了两个相邻CHR/MR数据包的协议字段3之间的距离是80~95个字节。同样,图2中位于最下层黑线上面的两条黑线分别对应于协议字段4和协议字段5,这两条黑线也表明了不同CHR/MR数据包所包含的协议字段4和协议字段5的数据具有相似性;另外,与最下层黑线相比,这两条黑线没有最下层黑线明显,表示协议字段4和协议字段5没有协议字段3的长度长。除上述提到的几条黑线外,在图2中还存在与其他定长字段对应的黑线,这里不一一做说明。从图2可以看出,为了提高CHR/MR数据的压缩比,利用定长字段重新排序,有可能提升压缩过程中数据的相关性,从而提升压缩比。
基于此,本实施例以步骤101统计分析的结果为依据,即根据所述多个CHR/MR数据包包含的相同定长字段在所述CHR/MR数据文件中出现的概率,首先从所述多个CHR/MR数据包包含的相同定长字段中确定至少一个关键字段。例如,以表1所示格式,可以选择协议字段1、协议字段2和协议字段3作为关键字段,但不限于此。这些关键字段实际上是排序用的联合主键。关键字段通常可以选择能够标识用户和标识通信时间的字段,但不限于此。然后,按照所述至少一个关键字段,对所述多个CHR/MR数据包进行排序。在大多数情况下,连续时间内的CHR/MR数据包的相同定长字段表明同一用户的同一种通信属性,这些字段的内容具有相似性。因此,按照关键字段进行排序后,其他非关键字段的字段之间也会存在相关性,这些非关键字段之间的距离也会减小。
在一可选实施方式中,所选择的关键字段包括多个。此时,按照所述至少一个关键字段,对所述多个CHR/MR数据包进行排序,包括:按照所述至少一个关键字段的优先级,依次根据每个关键字段对所述多个CHR/MR数据包进行排序。举例说明,假设关键字段1的优先级最高,关键字段2的优先级次之,关键字段3的优先级最低,则首先按照关键字段1对多个CHR/MR数据包进行排序,对于关键字段1相同的CHR/MR数据包,依据关键字段2来排序…以此类推。
在一可选实施方式中,在按照所述至少一个关键字段,对所述多个CHR/MR数据包进行排序之前,检查每个所述CHR/MR数据包包含的所有字段是否均按字节对齐方式进行存储,如果存在未按字节对齐方式进行存储的字段,将所述未按字节对齐方式进行存储的字段扩充为以字节对齐方式进行存储。即在进行排序之前,对于没有按字节对齐方式进行存储的字段将其扩展为字节的整数倍,即位(bit)到字节(byte)的拉伸,完成非结构化数据向结构化数据的转化,用以进一步提高相同字段之间的相关性。在此说明,这里未按对齐方式存储的字段包括定长字段和可变字段。
103、按照排序后的多个CHR/MR数据包的先后顺序,依次对每个CHR/MR数据包包含的每个定长字段进行哈希运算,将所述定长字段的哈希值与所述定长字段对应的哈希表中的哈希值进行匹配,如果匹配中,将所述定长字段对应的哈希表中匹配中的哈希值对应的编码符号的概率增大,以增大后的概率作为算术编码的输入参数,对所述定长字段进行算术编码输出所述定长字段对应的编码符号;如果未匹配中,将所述定长字段的哈希值添加到所述定长字段对应的哈希表中,以所述定长字段的哈希值对应的编码符号的默认概率作为算术编码的输入参数,对所述定长字段进行算术编码输出所述定长字段对应的编码符号;其中,所述多个CHR/MR数据包包含的相同定长字段对应同一哈希表。
对于采用关键字段排序后,CHR/MR数据包之间的相同定长字段显示了相关性,但在CHR/MR数据文件中,这些具有相关性的数据分散在各个CHR/MR数据包的固定位置,并不连续。为了更加直观的表示这些数据之间的相关性,本实施例采用哈希表的方式进行表示。
在此说明,本实施例的哈希表适用于CHR/MR数据包中的定长字段,对于CHR/MR数据包中的可变字段仍可以采用现有方法进行处理,本实施例不关注可变字段。
具体的,按照排序后的多个CHR/MR数据包的先后顺序,依次对每个CHR/MR数据包包含的每个定长字段进行哈希运算,将所述定长字段的哈希值与所述定长字段对应的哈希表中的哈希值进行匹配,如果匹配中,将所述定长字段对应的哈希表中匹配中的哈希值对应的编码符号的概率增大,以增大后的概率作为算术编码的输入参数,对所述定长字段进行算术编码输出所述定长字段对应的编码符号;如果未匹配中,将所述定长字段的哈希值添加到所述定长字段对应的哈希表中,以所述定长字段的哈希值对应的编码符号的默认概率作为算术编码的输入参数,对所述定长字段进行算术编码输出所述定长字段对应的编码符号;其中,所述多个CHR/MR数据包包含的相同定长字段对应同一哈希表。
对于各字段中首次出现的字段来说,并不存在哈希表,则建立哈希表,并直接将首次出现的字段的哈希值添加到哈希表中,同时以该哈希值对应的编码符号的默认概率作为算术编码的输入参数,进行算术编码,获得首次出现的字段的编码符号。在算术编码中,每个哈希值对应的编码符号的默认概率均为0.5。
如图3所示,排序后的数据包顺序为数据包1、数据包2…数据包M;这些数据包是按照关键字段kye1、kye2和kye3进行的排序,这些数据包均包括字段1、字段2、…字段n和可变字段,如图3所示,这些字段对应的哈希表分别为字段1哈希表、字段2哈希表、…字段n哈希表。
可选的,CHR/MR数据包包含的字段可能包含子字段,即逻辑域。所述逻辑域是根据实际物理意义结合数据相关性分析确定的上下文分组,对于简单的字段,其逻辑域可能为整个字段;对于复杂的字段,其逻辑域可能为多个。通过这样细分可以进一步提高同一个逻辑域中数据间的相关性。
则在一可选实施方式中,所述CHR/MR数据包包含的定长字段中至少一个定长字段包括至少一个逻辑域,所述包括至少一个逻辑域的定长字段对应的哈希表包括至少一个哈希表项,每个哈希表项对应所述至少一个逻辑域中的一个逻辑域,且相同定长字段中相同逻辑域对应同一哈希表中的同一哈希表项。基于此,对包括至少一个逻辑域的定长字段来说,步骤103的一种具体实施方式包括:对所述包括至少一个逻辑域的定长字段包括的每个逻辑域进行哈希运算,将所述逻辑域的哈希值与所述包括至少一个逻辑域的定长字段对应的哈希表中所述逻辑域对应的哈希表项中的哈希值进行匹配,如果匹配中,将所述逻辑域对应的哈希表项中匹配中的哈希值对应的编码符号的概率增大,以增大后的概率作为算术编码的输入参数,对所述逻辑域进行算术编码输出所述逻辑域对应的编码符号;如果未匹配中,将所述逻辑域的哈希值添加到所述逻辑域对应的哈希表项中,以所述逻辑域的哈希值对应的编码符号的默认概率作为算术编码的输入参数,对所述逻辑域进行算术编码输出所述逻辑域对应的编码符号。
如图4所示,排序后的数据包顺序为数据包1、数据包2…数据包M;这些数据包是按照关键字段kye1、kye2和kye3进行的排序,这些数据包均包括字段1、字段2、…字段n和可变字段,字段1包括逻辑域1、逻辑域2、…逻辑域m1;字段2包括逻辑域1、逻辑域2、…逻辑域m2;…字段n包括逻辑域1、逻辑域2、…逻辑域mn。如图4所示,这些字段对应的哈希表分别为字段1哈希表、字段2哈希表、…字段n哈希表。每个哈希表包括对应每个逻辑域的多个哈希表项。
在本实施例中,能够有效的建立数据字段的哈希表,哈希表可以作为已经出现的数据的历史记录。每次读入的数据,都需要查询哈希表,如果在哈希表中查询到相同的哈希值,则增大该数据出现的概率,如果没有查询到,则将该数据的哈希值存储在哈希表中作为历史记录。
经过以上处理,与常用压缩算法RAR、ZIP、7Z等已有算法相比,本实施例对原始的CHR/MR数据包进行了更有效的压缩,各种压缩算法对CHR/MR数据压缩的时间和压缩比指标对比如表2所示。从表2中可以明显的看出,本实施例提供的方法在压缩比方面较其他算法有优势。
表2
常用压缩算法 | RAR | ZIP | 7Z | XD |
压缩前大小 | 20,989,322 | 20,989,322 | 20,989,322 | 20,989,322 |
压缩后大小 | 7,721,848 | 10,265,899 | 5,979,531 | 3,003,878 |
压缩率 | 40% | 54% | 30% | 14.31% |
由上述可见,本实施例提供的方法,首先按照预定格式,对CHR/MR数据文件包含的多个CHR/MR数据包进行统计分析,获取所述多个CHR/MR数据包包含的相同定长字段在所述CHR/MR数据文件中出现的概率,然后按照这些概率从所述相同定长字段中选择至少一个关键字段,然后根据至少一个关键字段对多个CHR/MR数据包进行排序,使得具有较高相似度的字段之间的距离减小,有利于提高数据压缩比;进一步按照排序后的多个CHR/MR数据包的先后顺序,依次对每个CHR/MR数据包包含的每个定长字段进行哈希运算,将所述定长字段的哈希值与所述定长字段对应的哈希表中的哈希值进行匹配,如果匹配中,将所述定长字段对应的哈希表中匹配中的哈希值对应的编码符号的概率增大,以增大后的概率作为算术编码的输入参数,对所述定长字段进行算术编码输出所述定长字段对应的编码符号;如果未匹配中,将所述定长字段的哈希值添加到所述定长字段对应的哈希表中,以所述定长字段的哈希值对应的编码符号的默认概率作为算术编码的输入参数,对所述定长字段进行算术编码输出所述定长字段对应的编码符号,通过以定长字段为上下文构建哈希表,提高定长字段的匹配率,基于该匹配率进行算术编码,有利于进一步提高数据压缩比。
图5为本发明实施例提供的一种数据压缩设备的结构示意图。如图5所示,该数据压缩设备包括:获取模块51、排序模块52、匹配模块53和算术编码模块54。
获取模块51,用于按照预定格式,对CHR/MR数据文件包含的多个CHR/MR数据包进行统计分析,获取所述多个CHR/MR数据包包含的相同定长字段在所述CHR/MR数据文件中出现的概率。
排序模块52,用于根据获取模块51获取的所述多个CHR/MR数据包包含的相同定长字段在所述CHR/MR数据文件中出现的概率,从所述多个CHR/MR数据包包含的相同定长字段中确定至少一个关键字段,并按照所述至少一个关键字段,对所述多个CHR/MR数据包进行排序。
匹配模块53,用于按照排序模块52排序后的多个CHR/MR数据包的先后顺序,依次对每个CHR/MR数据包包含的每个定长字段进行哈希运算,将所述定长字段的哈希值与所述定长字段对应的哈希表中的哈希值进行匹配;其中,所述多个CHR/MR数据包包含的相同定长字段对应同一哈希表。
算术编码模块54,用于在匹配模块53匹配中时,将所述定长字段对应的哈希表中匹配中的哈希值对应的编码符号的概率增大,以增大后的概率作为算术编码的输入参数,对所述定长字段进行算术编码并输出所述定长字段对应的编码符号,或者用于在匹配模块53未匹配中时,将所述定长字段的哈希值添加到所述定长字段对应的哈希表中,以所述定长字段的哈希值对应的编码符号的默认概率作为算术编码的输入参数,对所述定长字段进行算术编码输出所述定长字段对应的编码符号。
在一可选实施方式中,排序模块52还用于在对所述多个CHR/MR数据包进行排序之前,检查每个所述CHR/MR数据包包含的所有字段是否均按字节对齐方式进行存储,并在存在未按字节对齐方式进行存储的字段时,将所述未按字节对齐方式进行存储的字段扩充为以字节对齐方式进行存储。
排序模块52用于按照所述至少一个关键字段,对所述多个CHR/MR数据包进行排序,包括:排序模块52具体用于按照所述至少一个关键字段的优先级,依次根据每个关键字段对所述多个CHR/MR数据包进行排序。
在一可选实施方式中,所述CHR/MR数据包包含的定长字段中至少一个定长字段包括至少一个逻辑域,所述包括至少一个逻辑域的定长字段对应的哈希表包括至少一个哈希表项,每个哈希表项对应所述至少一个逻辑域中的一个逻辑域,且相同定长字段中相同逻辑域对应同一哈希表中的同一哈希表项。
基于上述,匹配模块53具体可用于对包括至少一个逻辑域的定长字段包括的每个逻辑域进行哈希运算,将所述逻辑域的哈希值与所述包括至少一个逻辑域的定长字段对应的哈希表中所述逻辑域对应的哈希表项中的哈希值进行匹配。
相应的,算术编码模块54具体可用于在匹配模块53匹配中时,将所述逻辑域对应的哈希表项中匹配中的哈希值对应的编码符号的概率增大,以增大后的概率作为算术编码的输入参数,对所述逻辑域进行算术编码输出所述逻辑域对应的编码符号;或者在匹配模块53未匹配中时,将所述逻辑域的哈希值添加到所述逻辑域对应的哈希表项中,以所述逻辑域的哈希值对应的编码符号的默认概率作为算术编码的输入参数,对所述逻辑域进行算术编码输出所述逻辑域对应的编码符号。
本实施例提供的数据压缩设备的各功能模块可用于执行图1所示方法实施例的流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例提供的数据压缩设备,首先按照预定格式,对CHR/MR数据文件包含的多个CHR/MR数据包进行统计分析,获取所述多个CHR/MR数据包包含的相同定长字段在所述CHR/MR数据文件中出现的概率,然后按照这些概率从所述相同定长字段中选择至少一个关键字段,然后根据至少一个关键字段对多个CHR/MR数据包进行排序,使得具有较高相似度的字段之间的距离减小,有利于提高数据压缩比;进一步按照排序后的多个CHR/MR数据包的先后顺序,依次对每个CHR/MR数据包包含的每个定长字段进行哈希运算,将所述定长字段的哈希值与所述定长字段对应的哈希表中的哈希值进行匹配,如果匹配中,将所述定长字段对应的哈希表中匹配中的哈希值对应的编码符号的概率增大,以增大后的概率作为算术编码的输入参数,对所述定长字段进行算术编码输出所述定长字段对应的编码符号;如果未匹配中,将所述定长字段的哈希值添加到所述定长字段对应的哈希表中,以所述定长字段的哈希值对应的编码符号的默认概率作为算术编码的输入参数,对所述定长字段进行算术编码输出所述定长字段对应的编码符号,通过以定长字段为上下文构建哈希表,提高定长字段的匹配率,基于该匹配率进行算术编码,有利于进一步提高数据压缩比。
图6为本发明实施例提供的另一种数据压缩设备的结构示意图。如图6所示,该数据压缩设备包括:存储器61和处理器62。
存储器61可以包括只读存储器和随机存取存储器,并向处理器62提供指令和数据。存储器61的一部分还可以包括非易失性随机存取存储器(NVRAM)。
存储器61存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:
操作指令:包括各种操作指令,用于实现各种操作。
操作***:包括各种***程序,用于实现各种基础业务以及处理基于硬件的任务。
在本发明实施例中,处理器62通过调用存储器61存储的操作指令(该操作指令可存储在操作***中),执行如下操作:
按照预定格式,对CHR/MR数据文件包含的多个CHR/MR数据包进行统计分析,获取所述多个CHR/MR数据包包含的相同定长字段在所述CHR/MR数据文件中出现的概率;
根据所述多个CHR/MR数据包包含的相同定长字段在所述CHR/MR数据文件中出现的概率,从所述多个CHR/MR数据包包含的相同定长字段中确定至少一个关键字段,并按照所述至少一个关键字段,对所述多个CHR/MR数据包进行排序;
按照排序后的多个CHR/MR数据包的先后顺序,依次对每个CHR/MR数据包包含的每个定长字段进行哈希运算,将所述定长字段的哈希值与所述定长字段对应的哈希表中的哈希值进行匹配,如果匹配中,将所述定长字段对应的哈希表中匹配中的哈希值对应的编码符号的概率增大,以增大后的概率作为算术编码的输入参数,对所述定长字段进行算术编码并输出所述定长字段对应的编码符号;如果未匹配中,将所述定长字段的哈希值添加到所述定长字段对应的哈希表中,以所述定长字段的哈希值对应的编码符号的默认概率作为算术编码的输入参数,对所述定长字段进行算术编码输出所述定长字段对应的编码符号;其中,所述多个CHR/MR数据包包含的相同定长字段对应同一哈希表。
可选的,处理器62可以控制本实施例数据压缩设备的操作,处理器62还可以称为中央处理单元(Central Processing Unit,简称为CPU)。存储器61可以包括只读存储器和随机存取存储器,并向处理器62提供指令和数据。存储器61的一部分还可以包括非易失性随机存取存储器(NVRAM)。具体的应用中,本实施例数据压缩设备的各个组件通过总线***65耦合在一起,其中总线***65除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线***65。
上述本发明实施例揭示的方法可以应用于处理器62中,或者由处理器62实现。处理器62可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器62中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器62可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器61,处理器62读取存储器61中的信息,结合其硬件完成上述方法的步骤。
在一可选实施方式中,处理器62在按照所述至少一个关键字段,对所述多个CHR/MR数据包进行排序之前,还可用于检查每个所述CHR/MR数据包包含的所有字段是否均按字节对齐方式进行存储,如果存在未按字节对齐方式进行存储的字段,将所述未按字节对齐方式进行存储的字段扩充为以字节对齐方式进行存储。
在一可选实施方式中,处理器62按照所述至少一个关键字段,对所述多个CHR/MR数据包进行排序,包括:处理器62具体用于按照所述至少一个关键字段的优先级,依次根据每个关键字段对所述多个CHR/MR数据包进行排序。
在一可选实施方式中,所述CHR/MR数据包包含的定长字段中至少一个定长字段包括至少一个逻辑域,所述包括至少一个逻辑域的定长字段对应的哈希表包括至少一个哈希表项,每个哈希表项对应所述至少一个逻辑域中的一个逻辑域,且相同定长字段中相同逻辑域对应同一哈希表中的同一哈希表项。
基于上述,处理器62具体可用于对所述包括至少一个逻辑域的定长字段包括的每个逻辑域进行哈希运算,将所述逻辑域的哈希值与所述包括至少一个逻辑域的定长字段对应的哈希表中所述逻辑域对应的哈希表项中的哈希值进行匹配,如果匹配中,将所述逻辑域对应的哈希表项中匹配中的哈希值对应的编码符号的概率增大,以增大后的概率作为算术编码的输入参数,对所述逻辑域进行算术编码输出所述逻辑域对应的编码符号;如果未匹配中,将所述逻辑域的哈希值添加到所述逻辑域对应的哈希表项中,以所述逻辑域的哈希值对应的编码符号的默认概率作为算术编码的输入参数,对所述逻辑域进行算术编码输出所述逻辑域对应的编码符号。
进一步,如图6所示,该数据压缩设备还包括:输入设备63和输出设备64,主要完成该数据压缩设备与其他设备之间的通信。
本实施例提供的数据压缩设备可用于执行图1所示方法实施例的流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例提供的数据压缩设备,首先按照预定格式,对CHR/MR数据文件包含的多个CHR/MR数据包进行统计分析,获取所述多个CHR/MR数据包包含的相同定长字段在所述CHR/MR数据文件中出现的概率,然后按照这些概率从所述相同定长字段中选择至少一个关键字段,然后根据至少一个关键字段对多个CHR/MR数据包进行排序,使得具有较高相似度的字段之间的距离减小,有利于提高数据压缩比;进一步按照排序后的多个CHR/MR数据包的先后顺序,依次对每个CHR/MR数据包包含的每个定长字段进行哈希运算,将所述定长字段的哈希值与所述定长字段对应的哈希表中的哈希值进行匹配,如果匹配中,将所述定长字段对应的哈希表中匹配中的哈希值对应的编码符号的概率增大,以增大后的概率作为算术编码的输入参数,对所述定长字段进行算术编码输出所述定长字段对应的编码符号;如果未匹配中,将所述定长字段的哈希值添加到所述定长字段对应的哈希表中,以所述定长字段的哈希值对应的编码符号的默认概率作为算术编码的输入参数,对所述定长字段进行算术编码输出所述定长字段对应的编码符号,通过以定长字段为上下文构建哈希表,提高定长字段的匹配率,基于该匹配率进行算术编码,有利于进一步提高数据压缩比。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (12)
1.一种数据压缩方法,其特征在于,包括:
按照预定格式,对呼叫历史记录/测量报告CHR/MR数据文件包含的多个CHR/MR数据包进行统计分析,获取所述多个CHR/MR数据包包含的相同定长字段在所述CHR/MR数据文件中出现的概率;
根据所述多个CHR/MR数据包包含的相同定长字段在所述CHR/MR数据文件中出现的概率,从所述多个CHR/MR数据包包含的相同定长字段中确定至少一个关键字段,并按照所述至少一个关键字段,对所述多个CHR/MR数据包进行排序;
按照排序后的多个CHR/MR数据包的先后顺序,依次对每个CHR/MR数据包包含的每个定长字段进行哈希运算,将所述定长字段的哈希值与所述定长字段对应的哈希表中的哈希值进行匹配,如果匹配中,将所述定长字段对应的哈希表中匹配中的哈希值对应的编码符号的概率增大,以增大后的概率作为算术编码的输入参数,对所述定长字段进行算术编码并输出所述定长字段对应的编码符号;如果未匹配中,将所述定长字段的哈希值添加到所述定长字段对应的哈希表中,以所述定长字段的哈希值对应的编码符号的默认概率作为算术编码的输入参数,对所述定长字段进行算术编码输出所述定长字段对应的编码符号;其中,所述多个CHR/MR数据包包含的相同定长字段对应同一哈希表。
2.根据权利要求1所述的方法,其特征在于,所述按照所述至少一个关键字段,对所述多个CHR/MR数据包进行排序之前,包括:
检查每个所述CHR/MR数据包包含的所有字段是否均按字节对齐方式进行存储;
如果存在未按字节对齐方式进行存储的字段,将所述未按字节对齐方式进行存储的字段扩充为以字节对齐方式进行存储。
3.根据权利要求1或2所述的方法,其特征在于,所述按照所述至少一个关键字段,对所述多个CHR/MR数据包进行排序,包括:
按照所述至少一个关键字段的优先级,依次根据每个关键字段对所述多个CHR/MR数据包进行排序。
4.根据权利要求1所述的方法,其特征在于,所述CHR/MR数据包包含的定长字段中至少一个定长字段包括至少一个逻辑域,所述包括至少一个逻辑域的定长字段对应的哈希表包括至少一个哈希表项,每个哈希表项对应所述至少一个逻辑域中的一个逻辑域,且相同定长字段中相同逻辑域对应同一哈希表中的同一哈希表项;
对包括至少一个逻辑域的定长字段,所述对所述定长字段进行哈希运算,将所述定长字段的哈希值与所述定长字段对应的哈希表中的哈希值进行匹配,如果匹配中,将所述定长字段对应的哈希表中匹配中的哈希值对应的编码符号的概率增大,以增大后的概率作为算术编码的输入参数,对所述定长字段进行算术编码输出所述定长字段对应的编码符号;如果未匹配中,将所述定长字段的哈希值添加到所述定长字段对应的哈希表中,以所述定长字段的哈希值对应的编码符号的默认概率作为算术编码的输入参数,对所述定长字段进行算术编码输出所述定长字段对应的编码符号,包括:
对所述包括至少一个逻辑域的定长字段包括的每个逻辑域进行哈希运算,将所述逻辑域的哈希值与所述包括至少一个逻辑域的定长字段对应的哈希表中所述逻辑域对应的哈希表项中的哈希值进行匹配,如果匹配中,将所述逻辑域对应的哈希表项中匹配中的哈希值对应的编码符号的概率增大,以增大后的概率作为算术编码的输入参数,对所述逻辑域进行算术编码输出所述逻辑域对应的编码符号;如果未匹配中,将所述逻辑域的哈希值添加到所述逻辑域对应的哈希表项中,以所述逻辑域的哈希值对应的编码符号的默认概率作为算术编码的输入参数,对所述逻辑域进行算术编码输出所述逻辑域对应的编码符号。
5.根据权利要求2所述的方法,其特征在于,所述CHR/MR数据包包含的定长字段中至少一个定长字段包括至少一个逻辑域,所述包括至少一个逻辑域的定长字段对应的哈希表包括至少一个哈希表项,每个哈希表项对应所述至少一个逻辑域中的一个逻辑域,且相同定长字段中相同逻辑域对应同一哈希表中的同一哈希表项;
对包括至少一个逻辑域的定长字段,所述对所述定长字段进行哈希运算,将所述定长字段的哈希值与所述定长字段对应的哈希表中的哈希值进行匹配,如果匹配中,将所述定长字段对应的哈希表中匹配中的哈希值对应的编码符号的概率增大,以增大后的概率作为算术编码的输入参数,对所述定长字段进行算术编码输出所述定长字段对应的编码符号;如果未匹配中,将所述定长字段的哈希值添加到所述定长字段对应的哈希表中,以所述定长字段的哈希值对应的编码符号的默认概率作为算术编码的输入参数,对所述定长字段进行算术编码输出所述定长字段对应的编码符号,包括:
对所述包括至少一个逻辑域的定长字段包括的每个逻辑域进行哈希运算,将所述逻辑域的哈希值与所述包括至少一个逻辑域的定长字段对应的哈希表中所述逻辑域对应的哈希表项中的哈希值进行匹配,如果匹配中,将所述逻辑域对应的哈希表项中匹配中的哈希值对应的编码符号的概率增大,以增大后的概率作为算术编码的输入参数,对所述逻辑域进行算术编码输出所述逻辑域对应的编码符号;如果未匹配中,将所述逻辑域的哈希值添加到所述逻辑域对应的哈希表项中,以所述逻辑域的哈希值对应的编码符号的默认概率作为算术编码的输入参数,对所述逻辑域进行算术编码输出所述逻辑域对应的编码符号。
6.根据权利要求3所述的方法,其特征在于,所述CHR/MR数据包包含的定长字段中至少一个定长字段包括至少一个逻辑域,所述包括至少一个逻辑域的定长字段对应的哈希表包括至少一个哈希表项,每个哈希表项对应所述至少一个逻辑域中的一个逻辑域,且相同定长字段中相同逻辑域对应同一哈希表中的同一哈希表项;
对包括至少一个逻辑域的定长字段,所述对所述定长字段进行哈希运算,将所述定长字段的哈希值与所述定长字段对应的哈希表中的哈希值进行匹配,如果匹配中,将所述定长字段对应的哈希表中匹配中的哈希值对应的编码符号的概率增大,以增大后的概率作为算术编码的输入参数,对所述定长字段进行算术编码输出所述定长字段对应的编码符号;如果未匹配中,将所述定长字段的哈希值添加到所述定长字段对应的哈希表中,以所述定长字段的哈希值对应的编码符号的默认概率作为算术编码的输入参数,对所述定长字段进行算术编码输出所述定长字段对应的编码符号,包括:
对所述包括至少一个逻辑域的定长字段包括的每个逻辑域进行哈希运算,将所述逻辑域的哈希值与所述包括至少一个逻辑域的定长字段对应的哈希表中所述逻辑域对应的哈希表项中的哈希值进行匹配,如果匹配中,将所述逻辑域对应的哈希表项中匹配中的哈希值对应的编码符号的概率增大,以增大后的概率作为算术编码的输入参数,对所述逻辑域进行算术编码输出所述逻辑域对应的编码符号;如果未匹配中,将所述逻辑域的哈希值添加到所述逻辑域对应的哈希表项中,以所述逻辑域的哈希值对应的编码符号的默认概率作为算术编码的输入参数,对所述逻辑域进行算术编码输出所述逻辑域对应的编码符号。
7.一种数据压缩设备,其特征在于,包括:
获取模块,用于按照预定格式,对呼叫历史记录/测量报告CHR/MR数据文件包含的多个CHR/MR数据包进行统计分析,获取所述多个CHR/MR数据包包含的相同定长字段在所述CHR/MR数据文件中出现的概率;
排序模块,用于根据所述多个CHR/MR数据包包含的相同定长字段在所述CHR/MR数据文件中出现的概率,从所述多个CHR/MR数据包包含的相同定长字段中确定至少一个关键字段,并按照所述至少一个关键字段,对所述多个CHR/MR数据包进行排序;
匹配模块,用于按照排序后的多个CHR/MR数据包的先后顺序,依次对每个CHR/MR数据包包含的每个定长字段进行哈希运算,将所述定长字段的哈希值与所述定长字段对应的哈希表中的哈希值进行匹配;其中,所述多个CHR/MR数据包包含的相同定长字段对应同一哈希表;
算术编码模块,用于在所述匹配模块匹配中时,将所述定长字段对应的哈希表中匹配中的哈希值对应的编码符号的概率增大,以增大后的概率作为算术编码的输入参数,对所述定长字段进行算术编码并输出所述定长字段对应的编码符号,或者用于在所述匹配模块未匹配中时,将所述定长字段的哈希值添加到所述定长字段对应的哈希表中,以所述定长字段的哈希值对应的编码符号的默认概率作为算术编码的输入参数,对所述定长字段进行算术编码输出所述定长字段对应的编码符号。
8.根据权利要求7所述的设备,其特征在于,所述排序模块还用于在对所述多个CHR/MR数据包进行排序之前,检查每个所述CHR/MR数据包包含的所有字段是否均按字节对齐方式进行存储,并在存在未按字节对齐方式进行存储的字段时,将所述未按字节对齐方式进行存储的字段扩充为以字节对齐方式进行存储。
9.根据权利要求7或8所述的设备,其特征在于,所述排序模块用于按照所述至少一个关键字段,对所述多个CHR/MR数据包进行排序,包括:
所述排序模块具体用于按照所述至少一个关键字段的优先级,依次根据每个关键字段对所述多个CHR/MR数据包进行排序。
10.根据权利要求7所述的设备,其特征在于,所述CHR/MR数据包包含的定长字段中至少一个定长字段包括至少一个逻辑域,所述包括至少一个逻辑域的定长字段对应的哈希表包括至少一个哈希表项,每个哈希表项对应所述至少一个逻辑域中的一个逻辑域,且相同定长字段中相同逻辑域对应同一哈希表中的同一哈希表项;
所述匹配模块具体用于对包括至少一个逻辑域的定长字段包括的每个逻辑域进行哈希运算,将所述逻辑域的哈希值与所述包括至少一个逻辑域的定长字段对应的哈希表中所述逻辑域对应的哈希表项中的哈希值进行匹配;
所述算术编码模块具体用于在所述匹配模块匹配中时,将所述逻辑域对应的哈希表项中匹配中的哈希值对应的编码符号的概率增大,以增大后的概率作为算术编码的输入参数,对所述逻辑域进行算术编码输出所述逻辑域对应的编码符号;或者在所述匹配模块未匹配中时,将所述逻辑域的哈希值添加到所述逻辑域对应的哈希表项中,以所述逻辑域的哈希值对应的编码符号的默认概率作为算术编码的输入参数,对所述逻辑域进行算术编码输出所述逻辑域对应的编码符号。
11.根据权利要求8所述的设备,其特征在于,所述CHR/MR数据包包含的定长字段中至少一个定长字段包括至少一个逻辑域,所述包括至少一个逻辑域的定长字段对应的哈希表包括至少一个哈希表项,每个哈希表项对应所述至少一个逻辑域中的一个逻辑域,且相同定长字段中相同逻辑域对应同一哈希表中的同一哈希表项;
所述匹配模块具体用于对包括至少一个逻辑域的定长字段包括的每个逻辑域进行哈希运算,将所述逻辑域的哈希值与所述包括至少一个逻辑域的定长字段对应的哈希表中所述逻辑域对应的哈希表项中的哈希值进行匹配;
所述算术编码模块具体用于在所述匹配模块匹配中时,将所述逻辑域对应的哈希表项中匹配中的哈希值对应的编码符号的概率增大,以增大后的概率作为算术编码的输入参数,对所述逻辑域进行算术编码输出所述逻辑域对应的编码符号;或者在所述匹配模块未匹配中时,将所述逻辑域的哈希值添加到所述逻辑域对应的哈希表项中,以所述逻辑域的哈希值对应的编码符号的默认概率作为算术编码的输入参数,对所述逻辑域进行算术编码输出所述逻辑域对应的编码符号。
12.根据权利要求9所述的设备,其特征在于,所述CHR/MR数据包包含的定长字段中至少一个定长字段包括至少一个逻辑域,所述包括至少一个逻辑域的定长字段对应的哈希表包括至少一个哈希表项,每个哈希表项对应所述至少一个逻辑域中的一个逻辑域,且相同定长字段中相同逻辑域对应同一哈希表中的同一哈希表项;
所述匹配模块具体用于对包括至少一个逻辑域的定长字段包括的每个逻辑域进行哈希运算,将所述逻辑域的哈希值与所述包括至少一个逻辑域的定长字段对应的哈希表中所述逻辑域对应的哈希表项中的哈希值进行匹配;
所述算术编码模块具体用于在所述匹配模块匹配中时,将所述逻辑域对应的哈希表项中匹配中的哈希值对应的编码符号的概率增大,以增大后的概率作为算术编码的输入参数,对所述逻辑域进行算术编码输出所述逻辑域对应的编码符号;或者在所述匹配模块未匹配中时,将所述逻辑域的哈希值添加到所述逻辑域对应的哈希表项中,以所述逻辑域的哈希值对应的编码符号的默认概率作为算术编码的输入参数,对所述逻辑域进行算术编码输出所述逻辑域对应的编码符号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310561146.9A CN104636377B (zh) | 2013-11-12 | 2013-11-12 | 数据压缩方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310561146.9A CN104636377B (zh) | 2013-11-12 | 2013-11-12 | 数据压缩方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104636377A CN104636377A (zh) | 2015-05-20 |
CN104636377B true CN104636377B (zh) | 2018-09-07 |
Family
ID=53215143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310561146.9A Active CN104636377B (zh) | 2013-11-12 | 2013-11-12 | 数据压缩方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104636377B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI645698B (zh) | 2017-07-17 | 2018-12-21 | 財團法人工業技術研究院 | 資料發送裝置、資料接收裝置及其方法 |
CN109828789B (zh) * | 2019-01-30 | 2020-11-27 | 上海兆芯集成电路有限公司 | 加速压缩方法以及加速压缩装置 |
CN112148694B (zh) * | 2019-06-28 | 2022-06-14 | 华为技术有限公司 | 一种用于电子设备的数据压缩、数据解压方法及电子设备 |
CN115577149B (zh) * | 2022-12-13 | 2023-03-10 | 浪潮电子信息产业股份有限公司 | 一种数据处理方法、装置、设备及可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1868127A (zh) * | 2003-10-17 | 2006-11-22 | 佩茨拜特软件有限公司 | 数据压缩***和方法 |
CN101277117A (zh) * | 2000-07-25 | 2008-10-01 | 瞻博网络公司 | 增量和连续的数据压缩 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004040429A (ja) * | 2002-07-03 | 2004-02-05 | Nec Access Technica Ltd | ディジタル画像符号化装置及びそれに用いるディジタル画像符号化方法並びにそのプログラム |
-
2013
- 2013-11-12 CN CN201310561146.9A patent/CN104636377B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101277117A (zh) * | 2000-07-25 | 2008-10-01 | 瞻博网络公司 | 增量和连续的数据压缩 |
CN1868127A (zh) * | 2003-10-17 | 2006-11-22 | 佩茨拜特软件有限公司 | 数据压缩***和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104636377A (zh) | 2015-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104636377B (zh) | 数据压缩方法及设备 | |
CN104168085B (zh) | 一种基于冗余熵变换的数据压缩方法 | |
CN104486075B (zh) | 一种智能变电站icd模型文件数字签名的验证方法 | |
CN101796779B (zh) | 聚合数据帧的生成 | |
CN102546089B (zh) | 循环冗余校验crc码的实现方法及装置 | |
CN101702639B (zh) | 循环冗余校验的校验值计算方法及装置 | |
US20180253559A1 (en) | Secured lossless data compression using encrypted headers | |
CN104380832A (zh) | 压缩设备、解压缩设备、压缩方法和解压缩方法 | |
CN105740215A (zh) | 一种数据通信编码和解码方法 | |
CN102801866B (zh) | 一种移动终端的***方法 | |
CN108282265A (zh) | 纠错编码方法、装置、设备及计算机可读存储介质 | |
CN117240409B (zh) | 一种用于智能手机与智能穿戴设备的数据处理方法 | |
CN107064621B (zh) | 智能电表数据压缩方法和*** | |
CN108270508A (zh) | 一种循环冗余校验crc实现方法、装置及网络设备 | |
CN109217986A (zh) | 一种基于物联网的数据传输方法及*** | |
CN116610731B (zh) | 一种大数据分布式存储方法、装置、电子设备及存储介质 | |
CN105373846A (zh) | 基于分级策略的油气集输管网拓扑结构智能优化方法 | |
CN107251440A (zh) | 一种编码装置及方法 | |
CN105635160B (zh) | 一种多变数据网络通信的设计方法 | |
CN100551066C (zh) | 编码器及自适应算术编码的实现方法及装置 | |
CN114827287B (zh) | 一种数据的压缩方法及*** | |
CN103428502A (zh) | 一种解码方法及解码*** | |
US20110299624A1 (en) | Device and method for realizing prefix code construction | |
CN103259628A (zh) | 基于模型匹配的误码率估算方法及装置 | |
CN113726504A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |