CN117040539A - 一种基于m叉树和lzw算法的石油测井数据压缩方法及装置 - Google Patents

一种基于m叉树和lzw算法的石油测井数据压缩方法及装置 Download PDF

Info

Publication number
CN117040539A
CN117040539A CN202311025723.2A CN202311025723A CN117040539A CN 117040539 A CN117040539 A CN 117040539A CN 202311025723 A CN202311025723 A CN 202311025723A CN 117040539 A CN117040539 A CN 117040539A
Authority
CN
China
Prior art keywords
compression
dictionary
logging data
tree
ary
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.)
Granted
Application number
CN202311025723.2A
Other languages
English (en)
Other versions
CN117040539B (zh
Inventor
崔久鹏
丁长春
徐可
接乘浩
王欣
刘欣
王晓伟
罗家栋
程金晶
刘军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qingdao Zhiteng Science And Technology Co ltd
QINGDAO ZHITENG MICROELECTRONICS CO Ltd
Original Assignee
Qingdao Zhiteng Science And Technology Co ltd
QINGDAO ZHITENG MICROELECTRONICS CO Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qingdao Zhiteng Science And Technology Co ltd, QINGDAO ZHITENG MICROELECTRONICS CO Ltd filed Critical Qingdao Zhiteng Science And Technology Co ltd
Priority to CN202311025723.2A priority Critical patent/CN117040539B/zh
Publication of CN117040539A publication Critical patent/CN117040539A/zh
Application granted granted Critical
Publication of CN117040539B publication Critical patent/CN117040539B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3088Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6017Methods or arrangements to increase the throughput
    • H03M7/6023Parallelization

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本申请涉及一种基于m叉树和LZW算法的石油测井数据压缩方法及装置,属数据压缩领域,在初始化原始压缩字典后,先通过对所述石油测井数据进行LZW算法预编码,将所述初始压缩字典进行扩充生成第一压缩字典,再对所述第一压缩字典进行树状层次细分,形成多个m叉树形式的第二压缩字典,并分配对应大小的ram空间以来存储多个所述第二压缩字典,因此,可以在压缩过程中动态调整字典的子集空间,提升压缩效率;基于所述多个m叉树形式的第二压缩字典,利用FPGA对所述石油测井数据并行实现LZW算法压缩存储,大大提升了压缩的效率,具有较强的实时性。

Description

一种基于M叉树和LZW算法的石油测井数据压缩方法及装置
技术领域
本申请涉及数据压缩领域,尤其涉及一种基于M叉树和LZW算法的石油测井数据压缩方法及装置。
背景技术
测井(Well logging),常被称为地质家的眼睛,在勘探和开采石油、天然气等地下矿藏的过程中,利用物理学的基本原理,采用先进的仪器设备,,探测井壁介质的物理特性参数((电/声/放射性),评价储集层的岩性、物性、电性以及含油性等。测井在长时间的发展过程中已经逐渐由简单的常规测井技术发展到电成像、核磁共振、阵列声波等新测井方法领域,以满足目前各类非常规储层的勘探开发需求。
随着测量技术的进步,测量仪器会在运行过程中产生大量的测量数据,研究者们需要根据采集的这些数据通过大数据技术得到有价值的信息。而在石油测井这种极端条件下,通过无线方式传输数据,有可靠性差,通信信号易受到干扰的缺陷,但有线传输带宽受限,硬件资源不足等问题使得回传大量实时数据非常困难,因此必须对数据进行实时压缩。
传统的LZW(Lempel-Ziv-Welch Encoding)压缩算法又叫“串表压缩算法”,它通过建立一个字符串表,用较短的代码来表示较长的字符串来实现数据的无损压缩。但是LZW压缩算法在压缩数据时需要对比字典内容,压缩速率较慢且受限于字典大小。例如,由于数据包含的字符较多,同时相同字符的不同组合方式构成了不同的字典,使得字典的数据量变大,降低了编码时的检索效率,进而使得对数据进行压缩存储时的效率较低。
发明内容
本申请提供一种基于m叉树和LZW算法的石油测井数据压缩方法及装置,本申请的技术方案如下:
根据本申请实施例的第一方面,提供一种基于m叉树和LZW算法的石油测井数据压缩方法,包括:
S1:获取预设采样时间段内的石油测井数据,将所述石油测井数据依次输入至字典地址的寄存器内;
S2:初始化原始压缩字典,使所述原始压缩字典包含所有可能的根,所述根为单一字符;
S3:对所述石油测井数据进行LZW算法预编码,对所述初始压缩字典进行扩充生成第一压缩字典;
S4:以所述原始压缩字典中的各单一字符为根节点,对所述第一压缩字典进行树状层次细分,形成多个m叉树形式的第二压缩字典,并分配对应大小的ram空间以来存储多个所述第二压缩字典;
S5:基于所述多个m叉树形式的第二压缩字典,利用FPGA对所述石油测井数据并行实现LZW算法压缩存储。
可选的,所述对所述石油测井数据进行LZW算法预编码,对所述初始压缩字典进行扩充生成第一压缩字典,具体包括:预编码过程中,在所述原始压缩字典中加入的扩展字符和新的记号的映射,其中,所述扩展字符从第256编号开始,称为扩展字典。
可选的,以所述原始压缩字典中的各单一字符为根节点,对所述第一压缩字典进行树状层次细分,形成多个m叉树形式的第二压缩字典,具体包括:
为所述第一压缩字典中的字符生成分层树,并将所有数据按分层树结构存储到所述分层树的结点中;所述分层树为一个多叉树,每个结点拥有独立的访问等级、属性集信息、一个唯一整数编号index与一个门限值k。
可选的,256个m叉树形式的第二压缩字典形成完整的字典子集。
可选的,并分配对应大小的ram空间以来存储多个所述第二压缩字典,具体包括:
为所述字典子集的每个根节点对应的第二压缩字典分配一个FPGA缓存区,创建字典字符映射表,并针对所述字典子集的每个层分别生成指令;
将所述字典字符映射表和生成的指令发送至FPGA,以使所述FPGA根据所述字典字符映射表将每个节点对应的字符串拷贝至相应FPGA缓存区。
可选的,基于所述多个m叉树形式的第二压缩字典,利用FPGA对所述石油测井数据并行实现LZW算法压缩存储,具体包括:
当接收到待压缩的石油测井数据时,查询所述多个M叉树形式的第二压缩字典上每一根节点下可能的字符串并输出对应的记号。
可选的,在所述基于所述多个m叉树形式的第二压缩字典,利用FPGA对所述石油测井数据并行实现LZW算法压缩存储之后,还包括:
当多个m叉树形式的第二压缩字典时,重新开始压缩数据,并且动态分配各个根节点对应的空间大小。
根据本申请实施例的第二方面,提供一种基于m叉树和LZW算法的石油测井数据压缩装置包括:
数据获取模块,用于获取预设采样时间段内的石油测井数据,将所述石油测井数据依次输入至字典地址的寄存器内;
字典初始化模块,用于初始化原始压缩字典,使所述原始压缩字典包含所有可能的根,所述根为单一字符;
预编码模块,用于对所述石油测井数据进行LZW算法预编码,对所述初始压缩字典进行扩充生成第一压缩字典;
字典分层模块,用于以所述原始压缩字典中的各单一字符为根节点,对所述第一压缩字典进行树状层次细分,形成多个m叉树形式的第二压缩字典,并分配对应大小的ram空间以来存储多个所述第二压缩字典;
数据压缩模块,用于基于所述多个m叉树形式的第二压缩字典,利用FPGA对所述石油测井数据并行实现LZW算法压缩存储。
根据本申请实施例的第三方面,提供一种非易失性存储设备包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现第一方面提供的方法。
根据本申请实施例的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现第一方面提供的方法。
有益效果:
根据上述示例性提供的一种基于m叉树和LZW算法的石油测井数据压缩方法及装置,先通过对所述石油测井数据进行LZW算法预编码,将所述初始压缩字典进行扩充生成第一压缩字典,再对所述第一压缩字典进行树状层次细分,形成多个m叉树形式的第二压缩字典,并分配对应大小的ram空间以来存储多个所述第二压缩字典,因此,可以在压缩过程中动态调整字典的子集空间,提升压缩效率;基于所述多个m叉树形式的第二压缩字典,利用FPGA对所述石油测井数据并行实现LZW算法压缩存储,大大提升了压缩的效率,具有较强的实时性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理,并不构成对本申请的不当限定。
图1是根据一示例性实施例示出的一种基于m叉树和LZW算法的石油测井数据压缩方法的流程示意图;
图2是根据一示例性实施例示出的对第一压缩字典按照根节点进行分层的M叉树模型示意图;
图3是根据一示例性实施例示出的一种基于m叉树和LZW算法的石油测井数据压缩装置的结构示意图。
具体实施方式
为了使本领域普通人员更好地理解本申请的技术方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
本申请实施例不限定电子设备和服务器的数量,服务器可同时为多个电子设备提供服务。在本申请实施例中,电子设备可以是个人计算机(personal computer,PC)、笔记本电脑或智能手机,还可以是一体机、掌上电脑、平板电脑(pad)、智能电视播放终端、车载终端或便捷式设备等。PC端的电子设备,例如一体机等,其操作系统可以包括但不限于Linux系统、Unix系统、Windows系列系统(例如Windows xp、Windows 7等)、Mac OS X系统(苹果电脑的操作系统)等操作系统。移动端的电子设备,例如智能手机等,其操作系统可以包括但不限于安卓系统、IOS(苹果手机的操作系统)、Window系统等操作系统。
服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(contentdelivery network,CDN)以及大数据和人工智能平台等基础云计算服务的云服务器。服务器或者可以通过多个服务器组成的服务器集群来实现。
测井技术广泛应用在在勘探和开采石油、天然气等地下矿藏等领域中,测井技术在长时间的发展过程中已经逐渐由简单的常规测井技术发展到电成像、核磁共振、阵列声波等新测井方法领域,以满足目前各类非常规储层的勘探开发需求。
随着测量技术的进步,测量仪器会在运行过程中产生大量的测量数据,需要采集与处理的数据量也在急剧增加,从而数据压缩技术得到泛应用。常用的压缩技术有霍夫曼编码,游程编码,LZW压缩算法等。霍夫曼编码因需要计算出各个字符出现的概率,不适用于随机性强的测井数据;游程编码适用于压缩有连续的相同字符的数据内容,同样不适用于测井数据;而基于LZW算法的声波测井数据压缩已经在相关领域中应用,其优势在于压缩速率快,在字典深度不变的情况下压缩效率比较稳定。
传统的LZW压缩与解压缩算法技术中,需要构建一个字典,用来存放压缩过程中形成的字符串表(String Table)。LZW算法的字典是自适应生成的,在实际应用中,若无限制地增大字典的容量,虽然可能获得更好的压缩率,但进行字符串匹配时查找的时间会变长,并且随着编码的码字位数增加,有时可能会导致压缩效率降低,影响压缩速率,因此字典的容量需要受一定的限制。
设置字典的不同大小可以影响压缩率。当所设置的字典比较小的时候,字符串表在很短的时间内就会被填满,导致字典的匹配性不强,这样就对数据的压缩效果产生影响,使得压缩率不高。
反之,字典更新策略可以影响压缩率。由于字典的容量有限,随着压缩过程的进行,字典会被填满,若是简单的不再向字典中增加内容,那么后面的压缩率就会降低,而如果将字典全部清除重新建立字典,在字典建立初期压缩率也是很低的。
本申请通过对数据进行预处理,利用M叉树分层特点将原始字典划分为不同初始字符对应的字典子集,并根据各字符对应的字典的存储空间进行动态分配,保证了字典利用率得以提高,并在压缩过程中动态调整字典子集的空间,提升了压缩效率。具体的,如图1所示,本申请提供了一种基于m叉树和LZW算法的石油测井数据压缩方法,包括:
S1:获取预设采样时间段内的石油测井数据,将所述石油测井数据依次输入至字典地址的寄存器内。
S2:初始化原始压缩字典,使所述原始压缩字典包含所有可能的根,所述根为单一字符。
在一些实施例中,设定原始压缩字典为(00-FF)共计256个单一字符。首先将0x00—0xff作为词条,存入字典地址0x00—0xff中。原始压缩字典包含所有可能的根,所述根为单一字符。
S3:对所述石油测井数据进行LZW算法预编码,对所述初始压缩字典进行扩充生成第一压缩字典。
实际上LZW初始会有一个默认的字典(Dictionary),包含了所有256个8bit字符,单个字符的记号就是它自身,用数字表示就是ASCII值。在此基础上,编码过程中加入的扩展字符(Extended String)和新的记号(Symbol)的映射,从256开始,称为扩展字典(Extended Dictionary)。
具体的,对所述石油测井数据进行LZW算法预编码过程包括:
S31:读取被压缩数据的第一个字节,作为前缀串K
S32:读取下个字节作为扩充字节X,与K合并形成字符串KX,并进行判断KX是否在字典中
-如果KX在字典中,则K=KX
-如果KX不在字典中:输出K;保存KX到字典,在字典中为KX建立一个记号映射;更新K=X。
S33:判断是否有字节未压缩
如果有:重复S32
如果没有:输出K的字典序列。
上述LZW算法预压缩过程中,K是当前维护的字符,可以被编码为记号,但还并未输出。新的字符X不断被读入并添加到K的尾部,只要KX仍然能在字典里找到,就不断增长更新K=KX,这样就能将一个尽可能长的字串P编码为一个记号,最终扩充生成了一个新的字典,也即第一压缩字典。
S4:以所述原始压缩字典中的各单一字符为根节点,对所述第一压缩字典进行树状层次细分,形成多个m叉树形式的第二压缩字典,并分配对应大小的ram空间以来存储多个所述第二压缩字典。
LZW算法的原始字典包含了所有可能的单一字符,第一压缩字典是根据原始字典扩充而来。如果以所述原始压缩字典中的每一个字符为根节点对第一压缩字典进行树状层次细分,则第一压缩字典中的扩展表中的字符(String)的起始字符为任意一个原始字典中的字符,因此在可以根据始压缩字典中的每一个字符为根节点形成多个256个m叉树。在基于这256个m叉树,形成字典子集。这个字典子集中包含了256个以m叉树形式存储的第二压缩字典。
具体的,为所有第一压缩字典中的字符生成分层树,并将所有数据按分层树结构存储到所述分层树的结点中;所述分层树为一个多叉树,每个结点拥有独立的访问等级、属性集信息、一个唯一整数编号index与一个门限值k。
在一些实施例中,将有两个字节的子集称为二级子集,给二级..n级子集按照预处理结果分配地址。为所述字典子集的每个根节点对应的第二压缩字典分配一个FPGA(现场可编程逻辑门阵列)缓存区,创建字典字符映射表,并针对所述字典子集的每个层分别生成指令;以及将所述字典字符映射表和生成的指令发送至FPGA,以使所述FPGA根据所述字典字符映射表将每个节点对应的字符串拷贝至相应FPGA缓存区。
S5:基于所述多个m叉树形式的第二压缩字典,利用FPGA对所述石油测井数据并行实现LZW算法压缩存储。
在一些实施例中,FPGA根据原始根节点映射表将每个节点的扩展字符拷贝至相应FPGA缓存区,并根据生成的指令读取原始跟节点对应的FPGA缓存区中的原始字符后,从字典子集的根节点开始并行处理字典子集中处于同一层的操作码,从而针对同一层的操作码并行处理,因此提升了压缩数据处理效率。
当接收到待压缩的石油测井数据时,查询所述多个M叉树形式的第二压缩字典上每一根节点下可能的字符串并输出对应的记号。
根据上述示例性提供的一种基于m叉树和LZW算法的石油测井数据压缩方法,先通过对所述石油测井数据进行LZW算法预编码,将所述初始压缩字典进行扩充生成第一压缩字典,再对所述第一压缩字典进行树状层次细分,形成多个m叉树形式的第二压缩字典,并分配对应大小的ram空间以来存储多个所述第二压缩字典,因此,可以在压缩过程中动态调整字典的子集空间,提升压缩效率;基于所述多个m叉树形式的第二压缩字典,利用FPGA对所述石油测井数据并行实现LZW算法压缩存储,大大提升了压缩的效率,具有较强的实时性。
实施例1:
为对步骤S3和S4进行说明,假设初始数据为00 00 01 00 02 00 01 01 00 01 0200 02 01 00 02 02 00 02 03 04 01 00 02 04 03 01 00 05 00 03 00 00 02 00 01 0003,以此数据为例对本申请一种基于m叉树和LZW算法的石油测井数据压缩方法进行说明:
首先初始化原始压缩字典,其中,原始压缩字典包含所有可能的字符。具体的,原始压缩字典如表1所示。
表1
记号 字典字符
0x00 00
0x01 01
0x02 02
0x03 03
0x04 04
0x05 06
对这部分数据进行预编码(LZW算法),用来给字典分配合理的空间。具体的LZW算法执行过程参见步骤S31~S33,以得到扩展字典。
表2
本申请中有原始压缩字典字符和扩展字典字符功能生成第一压缩字典。从上表可看出,第一压缩字典占用很大的内存。因此,引入M叉树分层分类的技术,以所述原始压缩字典中的各单一字符为根节点,对所述第一压缩字典进行树状层次细分,形成多个m叉树形式的第二压缩字典,并分配对应大小的ram空间以来存储多个所述第二压缩字典。如图2所示,为上述示例中,以表1中的字符为根节点,对扩展字典进行树状层次的细分,得到的6个M叉树结构模型。例如图2中(a)所示,以00为根节点的m叉树中,包含6个叶子节点,00 00、0001、00 02、00 03、00 00 02、00 01 01;图2中(b)所示,以01为根节点的m叉树中,包含7个叶子节点01 00、01 02、01 00 03、01 00 01、01 00 06、01 00 02、01 00 02 04;图2中(c)所示,以02为根节点的m叉树中,包含6个叶子节点,具体包含02 00、02 01、02 02、02 00 01、02 00 02、02 00 02 03;图2中(d)所示,以03为根节点的m叉树中,包含3个叶子节点03 00、03 01、03 04;图2中(e)所示,以04为根节点的m叉树中,包含1个叶子节点04 03;图2中(f)所示,以06为根节点的m叉树中,包含1个叶子节点06 00。
从上示的m叉树示意图中可以看出不同的根节点对应的字典集所需的ram空间不一样,根据所需空间占比对根节点对应的ram空间进行预分配,以保证不浪费空间的同时达到最高的效率。
如果按照传统的LZW算法不对数据进行预处理,这会使得字典的占用很大一部分的内存,而且有很大一部分字典是空的,这使得字典的利用率低,压缩灵活性差。例如我们要压缩4K的数据,传统的字典容量必须为4K以保证能存下所有的字符串,而这种动态分配字典空间的方式可以通过预处理数据,可能将字典容量缩小不足400字节,这在保证高效的同时又能节约极大一部分资源空间。
在一些实施例中,为保证压缩效率最高且字典利用率最高,应预先设定字典的总容量,总容量对应的是字典的地址,例如字典容量为8192则需要13bit才能表示所有的字典内容,倘若字典容量过大,单个字节需要双字节甚至更多字节才能表示,可能会导致逆向压缩。总容量的设定应根据数据预处理结果来设定,总容量只需要略大于预处理结果变可保证不会浪费字典空间。
实施例2
为对步骤S5进行说明,简单起见,我们只推算两颗m叉树。假设待压缩的数据为0001 01 00 00 01 01 01 01 00 01。
1.初始字典(数据位:是否有当前字节&码字)见表3。
表3
记号 字典字符
0x00 00
0x01 01
具体针对上述带压缩数据的FPGA压缩方式参见表4-11。
表4初始寄存器
表5新增数据(00 01)输出000
表6新增(01 01)输出001
表7新增(01 00)输出000
表8新增(00 00)输出000
表9新增(00 01 01)输出100
表10新增(01 01 01)输出101
表11新增(01 00 01)输出101
如此可见,通过FPGA的并行性,同时查找256个根对应的字典子集(256个根为初始字典),可以大大加快查找效率。
在一些实施例中,为提高字典的利用率,在步骤S5执行基于所述多个m叉树形式的第二压缩字典,利用FPGA对所述石油测井数据并行实现LZW算法压缩存储,具体包括:
S51:判断字符是否已在字典中,若不在字典中则转入步骤S52,否则转入步骤S53;
S52:将字符及其标示符写入压缩文件,然后将字符加入字典并将字典的索引作为当前字符串;
S53:取出字符在字典中的索引,并将其接在当前字符串后;
S54:搜索当前字符串是否在字典中,若不在则转入步骤S55,否则转入步骤S56;
S55:将当前字符串的前缀字符串写入文件,并将当前字符串的最后一个字符作为当前字符串;前缀字符串指在加入字符前的当前字符串;
S56:将当前字符串的字典索引作为当前字符串;
S57:读入新的字符。
进一步的,步骤S5还包括S6:当字典已满时,重新开始压缩数据,并且动态分配各个根节点对应的空间大小。
更进一步的,为了保证压缩数据不被一次错误压缩结果全部损坏,采用分区域压缩的方式,将所述带压缩的石油测井数据划分为多区数据,每压缩一定量的数据之后开始重新压缩。
图3为本申请一示例性实施例提供的一种基于m叉树和LZW算法的石油测井数据压缩装置的结构示意图。本申请实施例提供的一种基于m叉树和LZW算法的石油测井数据压缩装置可以执行一种基于m叉树和LZW算法的石油测井数据压缩方法实施例提供的处理流程。如图3所示,本申请提供的一种基于m叉树和LZW算法的石油测井数据压缩装置30包括:
数据获取模块301,用于获取预设采样时间段内的石油测井数据,将所述石油测井数据依次输入至字典地址的寄存器内;
字典初始化模块302,用于初始化原始压缩字典,使所述原始压缩字典包含所有可能的根,所述根为单一字符;
预编码模块303,用于对所述石油测井数据进行LZW算法预编码,对所述初始压缩字典进行扩充生成第一压缩字典;
字典分层模块304,用于以所述原始压缩字典中的各单一字符为根节点,对所述第一压缩字典进行树状层次细分,形成多个m叉树形式的第二压缩字典,并分配对应大小的ram空间以来存储多个所述第二压缩字典;
数据压缩模块305,用于基于所述多个m叉树形式的第二压缩字典,利用FPGA对所述石油测井数据并行实现LZW算法压缩存储。
本申请实施例提供的装置可以具体用于执行上述图1对应方法实施例所提供的方案,具体功能和所能实现的技术效果此处不再赘述。
本发明实施例还提供一种非易失性存储设备包括:处理器,以及与处理器通信连接的存储器;
存储器存储计算机执行指令;
处理器执行存储器存储的计算机执行指令,以实现上述任一方法实施例所提供的方案,具体功能和所能实现的技术效果此处不再赘述。该电子设备可以为上述提及的服务器。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现上述任一方法实施例所提供的方案,具体功能和所能实现的技术效果此处不再赘述。
本申请实施例还提供了一种计算机程序产品,程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一方法实施例所提供的方案,具体功能和所能实现的技术效果此处不再赘述。
本申请实施例描述的应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本申请的电子设备可以包括至少一个处理器、以及至少一个存储器。其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行本说明书上述描述的根据本申请各种示例性实施方式的运营数据管理方法。例如,处理器可以执行如运营数据管理方法中的步骤。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程图像缩放设备的处理器以产生一个机器,使得通过计算机或其他可编程图像缩放设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程图像缩放设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程图像缩放设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种基于m叉树和LZW算法的石油测井数据压缩方法,其特征在于,所述方法包括:
S1:获取预设采样时间段内的石油测井数据,将所述石油测井数据依次输入至字典地址的寄存器内;
S2:初始化原始压缩字典,使所述原始压缩字典包含所有可能的根,所述根为单一字符;
S3:对所述石油测井数据进行LZW算法预编码,对所述初始压缩字典进行扩充生成第一压缩字典;
S4:以所述原始压缩字典中的各单一字符为根节点,对所述第一压缩字典进行树状层次细分,形成多个m叉树形式的第二压缩字典,并分配对应大小的ram空间以来存储多个所述第二压缩字典;
S5:基于所述多个m叉树形式的第二压缩字典,利用FPGA对所述石油测井数据并行实现LZW算法压缩存储。
2.根据权利要求1所述的方法,其特征在于,所述对所述石油测井数据进行LZW算法预编码,对所述初始压缩字典进行扩充生成第一压缩字典,具体包括:
预编码过程中,在所述原始压缩字典中加入的扩展字符和新的记号的映射,其中,所述扩展字符从第256编号开始,称为扩展字典。
3.根据权利要求1所述的方法,其特征在于,以所述原始压缩字典中的各单一字符为根节点,对所述第一压缩字典进行树状层次细分,形成多个m叉树形式的第二压缩字典,具体包括:
为所述第一压缩字典中的字符生成分层树,并将所有数据按分层树结构存储到所述分层树的结点中;所述分层树为一个多叉树,每个结点拥有独立的访问等级、属性集信息、一个唯一整数编号index与一个门限值k。
4.根据权利要求3所述的方法,其特征在于,256个m叉树形式的第二压缩字典形成完整的字典子集。
5.根据权利要求4所述的方法,其特征在于,并分配对应大小的ram空间以来存储多个所述第二压缩字典,具体包括:
为所述字典子集的每个根节点对应的第二压缩字典分配一个FPGA缓存区,创建字典字符映射表,并针对所述字典子集的每个层分别生成指令;
将所述字典字符映射表和生成的指令发送至FPGA,以使所述FPGA根据所述字典字符映射表将每个节点对应的字符串拷贝至相应FPGA缓存区。
6.根据权利要求5所述的方法,其特征在于,基于所述多个m叉树形式的第二压缩字典,利用FPGA对所述石油测井数据并行实现LZW算法压缩存储,具体包括:
当接收到待压缩的石油测井数据时,查询所述多个M叉树形式的第二压缩字典上每一根节点下可能的字符串并输出对应的记号。
7.根据权利要求6所述的方法,其特征在于,在所述基于所述多个m叉树形式的第二压缩字典,利用FPGA对所述石油测井数据并行实现LZW算法压缩存储之后,还包括:
当多个m叉树形式的第二压缩字典时,重新开始压缩数据,并且动态分配各个根节点对应的空间大小。
8.一种基于m叉树和LZW算法的石油测井数据压缩装置,其特征在于,所述装置包括:
数据获取模块,用于获取预设采样时间段内的石油测井数据,将所述石油测井数据依次输入至字典地址的寄存器内;
字典初始化模块,用于初始化原始压缩字典,使所述原始压缩字典包含所有可能的根,所述根为单一字符;
预编码模块,用于对所述石油测井数据进行LZW算法预编码,对所述初始压缩字典进行扩充生成第一压缩字典;
字典分层模块,用于以所述原始压缩字典中的各单一字符为根节点,对所述第一压缩字典进行树状层次细分,形成多个m叉树形式的第二压缩字典,并分配对应大小的ram空间以来存储多个所述第二压缩字典;
数据压缩模块,用于基于所述多个m叉树形式的第二压缩字典,利用FPGA对所述石油测井数据并行实现LZW算法压缩存储。
9.一种非易失性存储设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-7中任一项所述的方法。
CN202311025723.2A 2023-08-15 2023-08-15 一种基于m叉树和lzw算法的石油测井数据压缩方法及装置 Active CN117040539B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311025723.2A CN117040539B (zh) 2023-08-15 2023-08-15 一种基于m叉树和lzw算法的石油测井数据压缩方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311025723.2A CN117040539B (zh) 2023-08-15 2023-08-15 一种基于m叉树和lzw算法的石油测井数据压缩方法及装置

Publications (2)

Publication Number Publication Date
CN117040539A true CN117040539A (zh) 2023-11-10
CN117040539B CN117040539B (zh) 2024-04-16

Family

ID=88601921

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311025723.2A Active CN117040539B (zh) 2023-08-15 2023-08-15 一种基于m叉树和lzw算法的石油测井数据压缩方法及装置

Country Status (1)

Country Link
CN (1) CN117040539B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117439616A (zh) * 2023-12-21 2024-01-23 大连凌一科技发展有限公司 基于Linux系统的数据沙盒实现方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120030266A1 (en) * 2010-07-30 2012-02-02 Chevron U.S.A. Inc. System and method for data compression using a field programmable gate array
CN202206375U (zh) * 2011-07-08 2012-04-25 青岛智腾微电子有限公司 一种曼彻斯特码通信的厚膜电路
WO2013026210A1 (en) * 2011-08-25 2013-02-28 Technicolor (China) Technology Co., Ltd. Hierarchical entropy encoding and decoding
CN103999490A (zh) * 2011-11-28 2014-08-20 汤姆逊许可公司 可终止的基于空间树的位置编码和解码
CN105227503A (zh) * 2015-09-08 2016-01-06 北京航空航天大学 一种基于无线随钻测量系统的井下信源信道联合编码方法
US9275328B1 (en) * 2012-05-03 2016-03-01 Hrl Laboratories, Llc Neuromorphic compiler
CN106688186A (zh) * 2014-09-27 2017-05-17 高通股份有限公司 在基于lz的压缩算法中在多个经压缩块之间共享初始词典和霍夫曼树

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120030266A1 (en) * 2010-07-30 2012-02-02 Chevron U.S.A. Inc. System and method for data compression using a field programmable gate array
CN202206375U (zh) * 2011-07-08 2012-04-25 青岛智腾微电子有限公司 一种曼彻斯特码通信的厚膜电路
WO2013026210A1 (en) * 2011-08-25 2013-02-28 Technicolor (China) Technology Co., Ltd. Hierarchical entropy encoding and decoding
CN103999490A (zh) * 2011-11-28 2014-08-20 汤姆逊许可公司 可终止的基于空间树的位置编码和解码
US9275328B1 (en) * 2012-05-03 2016-03-01 Hrl Laboratories, Llc Neuromorphic compiler
CN106688186A (zh) * 2014-09-27 2017-05-17 高通股份有限公司 在基于lz的压缩算法中在多个经压缩块之间共享初始词典和霍夫曼树
CN105227503A (zh) * 2015-09-08 2016-01-06 北京航空航天大学 一种基于无线随钻测量系统的井下信源信道联合编码方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SAMARA S. AL-HADITHY 等: "Polynomial image compression: A review", 《AIP CONFERENCE PROCEEDINGS》, vol. 2475, no. 1, 31 March 2023 (2023-03-31), pages 1 *
谢小勇 等: "基于Zlib和DSP的传感器数据压缩方法的研究", 《电子技术应用》, vol. 38, no. 11, 30 November 2012 (2012-11-30), pages 41 - 43 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117439616A (zh) * 2023-12-21 2024-01-23 大连凌一科技发展有限公司 基于Linux系统的数据沙盒实现方法
CN117439616B (zh) * 2023-12-21 2024-03-08 大连凌一科技发展有限公司 基于Linux系统的数据沙盒实现方法

Also Published As

Publication number Publication date
CN117040539B (zh) 2024-04-16

Similar Documents

Publication Publication Date Title
US9454552B2 (en) Entropy coding and decoding using polar codes
US9298722B2 (en) Optimal sequential (de)compression of digital data
Porwal et al. Data compression methodologies for lossless data and comparison between algorithms
CN103236847B (zh) 基于多层哈希结构与游程编码的数据无损压缩方法
CN117040539B (zh) 一种基于m叉树和lzw算法的石油测井数据压缩方法及装置
CN101783788A (zh) 文件压缩、解压缩方法、装置及压缩文件搜索方法、装置
JP2002533005A (ja) 可変長から可変長へのエントロピー符号化のためのコードブック構成
CN110008192A (zh) 一种数据文件压缩方法、装置、设备及可读存储介质
JPS59231683A (ja) データ圧縮方法
US9602129B2 (en) Compactly storing geodetic points
CN114764557A (zh) 一种数据处理方法、装置、电子设备及存储介质
CN115189696A (zh) 一种基于Huffman解码表的硬件压缩解压方法
CN110598057B (zh) 一种面向遥测数据的数据搜索方法及装置
CN103210590A (zh) 压缩方法及设备
CN109617708A (zh) 一种埋点日志的压缩方法、设备及系统
Souley et al. A comparative analysis of data compression techniques
CN112101548A (zh) 数据压缩方法及装置、数据解压方法及装置、电子设备
US8593310B1 (en) Data-driven variable length encoding of fixed-length data
Jianjun et al. Research and Improvement of Huffman Compression Method Based on Linear Linked Forest
CN114095036B (zh) 一种动态哈夫曼编码的码长生成装置
Dong et al. Compressed domain-specific data processing and analysis
Swarnkar et al. An Implementation of Efficient Text Data Compression
Tripathi A Survey on various image compression techniques
Prasetyo et al. Comparison of Text Data Compression Using Run Length Encoding, Arithmetic Encoding, Punctured Elias Code and Goldbach Code
Liu et al. Huffman Coding and Applications in Compression for Vector Maps

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant