数据压缩方法及设备技术

技术编号:11935375 阅读:71 留言:0更新日期:2015-08-26 02:47
本发明专利技术实施例提供一种数据压缩方法及设备。方法包括:通过统计分析获取多个CHR/MR数据包包含的相同定长字段在CHR/MR数据文件中出现的概率;根据该概率确定至少一个关键字段,按照关键字对多个CHR/MR数据包进行排序;依次对每个CHR/MR数据包包含的每个定长字段进行哈希运算,将哈希值与哈希表中的哈希值进行匹配,如果匹配中,增大匹配中的哈希值对应的编码符号的概率,利用增大后的概率进行算术编码并输出编码符号;如果未匹配中,利用编码符号的默认概率进行算术编码并输出编码符号。本发明专利技术技术方案可以进一步提高对CHR/MR数据的压缩比。

【技术实现步骤摘要】
数据压缩方法及设备
本专利技术实施例涉及通信技术,尤其涉及一种数据压缩方法及设备。
技术介绍
在无线通信网络中,当用户设备(UserEquipment,简称为UE)需要通信的时候,会和基站完成认证、鉴权等流程,之后UE所发送的信令消息通过基站,在无线通信网络中的承载网上传输到接收方。在该过程中,UE随时与基站保持通信,会产生大量的呼叫历史记录(CallHistoryRecord,简称为CHR)和测量报告(MeasurementReport,简称为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.一种数据压缩方法,其特征在于,包括:按照预定格式,对呼叫历史记录/测量报告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数据包包含的定长字段中至少一个定长字段包括至少一个逻辑域,所述包括至少一个逻辑域的定长字段对应的哈希表包括至少一个哈希表项,每个哈希表项对应所述至少一个逻辑域中的一个逻辑域,且相同定长字段中相同逻辑域对应同一哈希表中的同一哈希表项;对包括至少一个逻辑域的定长字段,所述对所述定长字段进行哈希运算,将所述定长字段的哈希值与所述定长字段对应的哈希表中的哈希值进行匹配,如果匹配中,将所述定长字段对应的哈希表中匹配中的哈希值对应的编码符号的概率增大,以增大后的概率作为算术编码的输入参数,对所述定长字段进行算术编码输出所述定长字段对应的编码符号;如果未匹配中,将所述定长字段的哈希值添加到所述定长字段对应的哈希表中,以所述定长字段的哈希值对应的编码符号的默认概率作为算术编码的输入...

【专利技术属性】
技术研发人员:权宁强刘凯
申请(专利权)人:华为技术服务有限公司
类型:发明
国别省市:河北;13

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

1