CN104380267B - 数据解压/压缩装置 - Google Patents

数据解压/压缩装置 Download PDF

Info

Publication number
CN104380267B
CN104380267B CN201380027389.2A CN201380027389A CN104380267B CN 104380267 B CN104380267 B CN 104380267B CN 201380027389 A CN201380027389 A CN 201380027389A CN 104380267 B CN104380267 B CN 104380267B
Authority
CN
China
Prior art keywords
data
compressed
size
compression
decompressor
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
Application number
CN201380027389.2A
Other languages
English (en)
Other versions
CN104380267A (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.)
Faurecia Clarion Electronics Co Ltd
Original Assignee
Clarion 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 Clarion Co Ltd filed Critical Clarion Co Ltd
Publication of CN104380267A publication Critical patent/CN104380267A/zh
Application granted granted Critical
Publication of CN104380267B publication Critical patent/CN104380267B/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
    • 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/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/221Column-oriented storage; Management thereof
    • 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/46Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0895Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/401Compressed data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/46Caching storage objects of specific type in disk cache
    • G06F2212/465Structured object, e.g. database record

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明提供的数据压缩装置,在列方向上压缩多个定长记录的排列时,根据数据解压装置的高速缓冲存储器容量、应用软件可使用的主存储装置的容量等解压装置侧的性能和1个记录的大小,计算在一次列方向压缩中要处理的行数,由此进行配合解压装置的性能的数据压缩。由此,能够提高含有多个定长记录的排列的大容量数据的压缩率,而且能够提高解压性能。

Description

数据解压/压缩装置
技术领域
本发明的主题涉及将多个定长记录的排列被压缩而形成的数据高速解压的技术。
背景技术
汽车导航系统是将地图数据进行加工而向用户提供交通引导信息的系统。作为该地图数据的存储介质,目前大多采用的是使用HDD(Hard Disk Drive,硬磁盘驱动器)的机型,但近年来,使用SD卡或SSD(Solid State Drive,固态驱动器)等半导体元件存储器的机型正在变成主流。
半导体元件存储器与现有的HDD相比,具有电力消耗少、耐冲击性优异等优点,另一方面,具有每容量的单价高的缺点。因此,为了在与现有产品同程度的价格范围内向用户提供汽车导航系统,需要减小要使用的半导体元件存储器的容量。与此相对,汽车导航系统进行动作所需要的数据的内容,不管存储介质是HDD还是半导体元件存储器都没有变化,另外,由于新的道路或设施的整备等,数据库的大小具有逐年增加的倾向,因此总是期待着减少收录于汽车导航系统中的数据的大小的技术。作为该减少数据的大小的技术,提案有以下技术。
首先,为了不改变数据内容地减少数据的大小,作为通常使用的方法,具有专利文献1记载的数据压缩技术。因为数据压缩技术能够容易地减少数据大小,所以除专利文献1记载的技术以外,还提案有许多压缩方法被广泛实用。
另外,作为减少数据大小的其它技术,具有专利文献2记载的技术。该技术是,在数据具有二维的表状构造的情况下,关注表的各列,以规定的顺序生成词典,然后利用该词典,以列为单位进行压缩,由此来减少数据大小。此外,在像这样压缩对象的数据具有由行和列构成的二维构造的情况下,与单纯地从开头起在行方向上处理数据(字 节列)相比,以列为单位来压缩数据能够期待压缩率的提高,这是公知的,例如,在非专利文献1等许多文献中都有所提及。
另外,作为减少数据大小的其它技术,具有专利文献3记载的技术。该技术是,作为汽车导航系统的应用程序对数据库进行存取的方式,关注的是向数据库内的特定位置的随机存取和参照比较大的数据时的顺序存取混合存在的方式,在将压缩对象数据分割成规定的块单位进行了压缩以后,既能够进行向目标数据的随机存取,又能够在参照了某块时,通过将后续的块预读于存储器,来实现顺序存取时的性能提高。
现有技术文献
专利文献
专利文献1:美国专利第4558302号说明书(第15-22页,第2-3图)
专利文献2:美国专利第7769729B2号说明书(第24-25页,第10图)
专利文献3:日本特开2010-165151号公报(第4-5页,第2图)
非专利文献
非专利文献1:B.R.Iyer,另外1人著,“Data Compression Support inDatabases”,In Proceedings of the 20th International Conference on Very LargeData Bases(VLDB94),(美国),1994,p.695-704。
发明内容
发明要解决的课题
但是,在上述的专利文献1、专利文献2和专利文献3记载的技术中,存在以下问题。
首先,专利文献1等记载的数据压缩技术在参照数据以前,需要进行将压缩后的数据复原的处理(以下,记载为解压处理)。因为在该解压处理上要花费时间,所以当单纯地压缩数据时,就会存在参照数据进行各种导航时的性能变差之类的问题。
另外,在采用如专利文献2等记载的在列方向上压缩数据的技术 的情况下,压缩率确实会提高,但因为数据以列为单位进行压缩,所以存在为了取出1行的数据,必须将所有的列解压的性能上的问题。该问题是在列方向上压缩二维构造的数据时的实质性问题,特别是,如下面的专利文献3那样,在使用的存储器的大小较小的情况下,问题更加显著。
专利文献3记载的技术是,在参照了某块的数据时,通过将后续的块预读于高速缓冲存储器,实现顺序存取时的性能提高,但能够期待其效果的仅限于在高速缓冲存储器中存储的内容在解压处理的途中不被置换的情况。例如,在如专利文献2记载的技术那样数据在列方向上压缩的情况下,如上所述,为了取出1行的数据,需要将所有的列解压,为保持该所有列的解压结果(即,相当于数据的整体)所需要的区域的大小远超过高速缓冲存储器的容量,因此,在CPU(Central Processing Unit,中央处理器)参照保持解压结果的区域时,会导致预读出的压缩数据从高速缓冲存储器被删除。其结果是,压缩数据不是从高速缓冲存储器读取,而是从主存储装置或速度比HDD等低的存储介质重新读取,因此得不到预读效果。如上所述,正在寻求既能够提高包含许多定长记录的排列的大容量数据的压缩率,又能够提高解压性能的技术。
用于解决课题的技术方案
为了解决上述的课题,在本说明书中,公开了以如下特征为最主要特征的技术:在列方向上压缩多个定长记录的排列(按每列压缩具有多个记录的同一列数据)时,通过基于高速缓冲存储器容量等解压装置侧的性能指标和1个记录的大小,计算在一次列方向压缩中要处理的行数,由此进行配合解压装置的性能的数据压缩。此外,在下述内容中,以1列的宽度为1字节的情况进行说明,但本说明书公开的技术在列宽大于1字节的情况下也能够应用。
在公开的具体例子中,对于具有32KB的高速缓冲存储器的解压装置,在压缩1个记录为12字节的定长记录的排列的情况下,考虑将高速缓冲存储器32KB中的一半16KB设为压缩数据读取用,且将存储于该16KB的最大记录数即1365记录(=65536÷12)设为一次在列方向上压缩的单位。由此,能够抑制解压压缩数据时的高速缓冲存储 器的不必要的更新,能够高速地进行解压处理。
此外,上述是一个例子,作为进行一次列方向压缩的记录数的计算方法,除使用解压装置的高速缓冲存储器容量以外,也可以使用解压装置能够使用的主存储装置的容量,或者在解压装置经由通信网络接收压缩数据的情况下,使用通信协议的一次最大数据发送大小。
另外,本说明书公开的技术以如下特征作为第二特征:在经由通信网络从发送服务器对性能指标不同的各种解压装置发送压缩数据的系统中,事先生成适合各解压装置的性能的多个压缩数据,选择发送适合进行了请求的解压装置的性能的压缩数据。例如,作为阅览数据的终端(相当于本说明书中公开的解压装置),除了PC(Personal Computer,个人计算机)以外,还有便携电话或智能电话等性能不同的各种终端,能够分别发送在这些各终端中解压时间最短的压缩数据。
此外,也可以采用如下的结构:不是事先生成多个压缩数据,而是将事先生成的一种压缩数据暂时解压,然后根据请求压缩数据的解压装置固有的性能指标,将该解压复原后的数据再次压缩并发送。
作为具有以上特征的技术,在本说明书中,公开一种数据压缩装置,其对含有多个定长记录的压缩对象数据进行压缩,其包括:单位大小设定部,其接受定长记录的1个记录的大小和数据解压装置的规格信息的输入;和列数据压缩部,其基于定长记录的大小和数据解压装置的规格信息决定压缩对象块的大小,按每列将各个压缩对象块中所含的多个定长记录的同一列数据压缩,生成压缩列数据,生成含有各个压缩列数据的压缩数据。
此外,作为将含有由上述数据压缩装置压缩后的多个定长记录的压缩数据解压的数据解压装置,公开了下述数据解压装置:压缩对象数据以规定的压缩对象块大小单位被分割,压缩数据包含按每个压缩对象块进行压缩而得的结果,该数据解压装置具有列数据解压部,在压缩对象块大小基于定长记录的大小和该数据解压装置的规格信息决定的情况下,该列数据解压部基于定长记录的大小和数据解压装置的规格信息,判定压缩对象块的大小,从压缩数据取得一个以上的压缩对象块,将按每列压缩压缩对象块中所含有的多个定长记录的同一列数据而得的结果即压缩列数据分别解压,将多个定长记录复原。
发明效果
通过公开的内容,能够提高含有多个定长记录的排列的大容量数据的压缩率,而且能够提高解压性能。
附图说明
图1是例示树状数据压缩系统的整体结构的图(实施例1)。
图2是例示树状数据的1个记录的构造的图(实施例1)。
图3是例示压缩对象数据(原始数据)的图(实施例1)。
图4是例示高速缓冲存储器170的构造的说明图(实施例1)。
图5是例示列方向压缩时的高速缓冲存储器的问题的说明图(实施例1)。
图6是例示压缩数据的结构的图(实施例1)。
图7是例示压缩标识符的结构的图(实施例1)。
图8是例示列压缩标识符的结构的图(实施例1)。
图9是例示压缩定义文件的结构的图(实施例1)。
图10是例示压缩数据生成画面的图(实施例1)。
图11是例示块数据压缩部的动作的流程图(实施例1)。
图12是例示列数据压缩部的动作的流程图(实施例1)。
图13是例示列方向压缩处理的动作的流程图(实施例1)。
图14是例示来自应用软件的请求的说明图(实施例1)。
图15是例示块数据解压部的动作的流程图(实施例1)。
图16是例示列数据解压部的动作的流程图(实施例1)。
图17是例示列方向解压处理的动作的流程图(实施例1)。
图18是例示高速缓冲存储器170的状态的图(实施例1)。
图19是例示行驶历史数据阅览系统的整体结构的图(实施例2)。
图20是例示行驶历史数据的1个记录的构造的图(实施例2)。
图21是例示压缩对象数据(原始数据)的图(实施例2)。
图22是例示存储介质的结构的图(实施例2)。
图23是例示压缩数据(8KB高速缓存用)的结构的图(实施例2)。
图24是例示压缩数据(16KB高速缓存用)的结构的图(实施例2)。
图25是例示压缩数据(32KB高速缓存用)的结构的图(实施例2)。
图26是例示压缩数据生成画面的图(实施例2)。
图27是例示块数据压缩部的动作的流程图(实施例2)。
图28是例示各装置用的压缩数据生成处理的流程图(实施例2)。
图29是例示压缩数据收发顺序的图(实施例2)。
图30是例示警告画面的图(实施例2)。
图31是例示另一方式的行驶历史数据阅览系统的整体结构的图(实施例3)。
具体实施方式
实施例1
下面,利用图1~图18对实施例1的树状数据压缩系统进行说明。
实施例1是对在存储于汽车导航系统的数据库中占有多个区域的检索数据(下称树状数据)进行压缩,减少汽车导航系统的数据库的大小的实施例。在实施例1中,列方向数据解压装置100相当于汽车导航系统,列方向数据压缩装置200相当于用于生成要存储于汽车导航系统的存储介质150的数据的装置(个人电脑等)。
图1是表示实施例1的树状数据压缩系统的功能结构的图。本系统包括列方向数据解压装置100、列方向数据压缩装置200。实施例1的压缩对象即树状数据在列方向数据压缩装置200中被压缩,然后复制到列方向数据解压装置100的存储介质150。在列方向数据解压装置100中,应用软件在部分地将压缩后的树状数据解压的同时执行检索处理。
列方向数据解压装置100包括执行应用软件的应用软件执行部110、将以块单位被压缩的数据解压的块数据解压部120、将在列方向上被压缩的数据解压的列数据解压部140、存储压缩数据500的存储介质150、主存储装置160和高速缓冲存储器170。
列方向数据压缩装置200包括在参照压缩定义文件700的同时以块单位压缩数据的块数据压缩部220、设定数据压缩的参数的单位大小设定部230、在列方向上压缩数据的列数据压缩部240、存储压缩对象 的原始数据600和压缩数据500的存储介质250。此外,虽然因为与实施例1没有直接关系而没有图示,但在列方向数据压缩装置200中,也与列方向数据解压装置100同样,存在用于执行一系列处理的主存储装置和高速缓冲存储器。
图1所示的各装置能够利用具有CPU和存储装置的通常的计算机来实现。在本实施例中,假设高速缓冲存储器170设置于CPU的内部,主存储装置160由半导体存储器构成,存储介质150由HDD等磁记录介质或速度比主存储装置160低且非易失性的闪存器等构成。
进而,通过CPU执行存储于主存储装置160或存储介质150的程序,在上述计算机上使构成各装置的各个处理部具体化。各程序既可以预存储于上述计算机内的存储装置,也可以在需要时,经由输入输出接口和上述计算机能够利用的介质,从其它装置导入上述存储装置。介质指的是例如能够相对于输入输出接口插拔的存储介质或通信介质(即有线、无线、光等网络或在该网络传输的载波或数字信号)。
图2是表示压缩对象的树状数据的格式和数据的例子的图。树状数据的1个记录(record)由12字节构成,存储有下级节点(树的叉)的地址601(4字节)、下级节点的大小602(4字节)及记录的值603(4字节)。在图2所示的数据的例子中意味着,例如,在第一个字符为“A”的情况下,在接下来的第2个字符存在“B”和“D”,在接着“B”的第3个字符存在“C”“E”“H”。
这种树状数据是在输入通常的汽车导航系统所具有的目的地名称等的画面(表示英文数字等各字符的按钮显示于画面)中所使用的数据,是在输入了“A”时,进行以“A”开头的名称的第2个字符(即,“B”“D”等)的按钮能够按下而其它字符不能按下等的控制,用于使用户易于进行检索的数据。
图3是用十六进制数表示原始数据600中所含有的树状数据的排列的例子和记载有压缩数据500中所含有的列02的压缩数据的例子的图。为了便于理解,树状数据的例子以1个记录的大小即12字节为单位进行换行记载。这样,在数据由定长记录的排列构成的情况下,同一位数的值大多具有特征模式,例如,列00和列01的值全都为00。列02中多个相同的值连续,当利用行程编码来压缩该数据时,成为01、01、02、04、03、06。该压缩数据意味着1个记号01、4个记号02、6个记号03连续的情况。此外,行程编码是使用记号和该记号连续的数来表示数据的压缩方法,在许多文献中都有所公开。
另外,列08和列09以一个字符为两个字节的UNICODE(UTF16)存储有与树状数据的各节点对应的字符,第1个记录的“0041”对应于字符“A”,第2个记录的“0042”对应于字符“B”。在要使用的字符仅为英文数字的情况下,在UTF16的代码中,列08(上级字节)全为00。
此外,在图2和图3中,记载的是具有英文数字形成的名称的检索数据的例子,但本实施例不局限于使用英文数字的情况,对于日语、德语、法语等其他语言的字符也能够应用。
在此,为了帮助对本实施例的背景进行理解,利用图4和图5对这样的在列方向上压缩数据时的问题进行说明。
图4是表示近年来通常使用的基于称为组相联方式的高速缓冲存储器170的例子的图。通常,高速缓冲存储器170包括存储一定大小的数据(将其称为线(line))的多个区域(将其称为项(entry)),特别的是,组相联方式是指利用标记(tag)在同一项中存储多线的方式。将能够存储于同一项的线的数量称为路(way)数,将在同一项能够存储4线的情况称为4路组相联方式。
图4是记载有1线的大小为32字节且具有256个项的4路组相联方式的例子的图,且是作为项使用对应于虚拟地址的第5比特~第12比特的8比特、作为标记使用对应于地址的第13比特~第31比特的19比特的方式的例子。在图4的例子中,记载有具有路数(即,4个)列的标记阵列171和数据阵列172。数据阵列172是保持有存储于各项的4线的表,标记阵列171是相对于各项,存储表示存储于数据阵列172的数据是哪个地址的数据的标记的表。
在此,以发生向位于虚拟地址(32比特值)0x00012041的数据的参照的情况为例,对高速缓冲存储器170的动作进行说明。首先,根据存储于虚拟地址的第5比特~第12比特的8比特的值,确定项(步骤S1701)。存储于第5比特~第12比特的值用二进制数表示时为00000010,即十进制数的2,在数据位于高速缓冲存储器170上的情况 下,意味着存储于项2。
接着,将存储于虚拟地址的第13比特~第31比特的19比特(标记)与标记阵列171的项2中所含有的4个标记进行比较(步骤S1702)。在该例子的情况下,在项2、路3中存储有同一标记,由此能够识别出在项2的路3中保持有包含虚拟地址0x00012041的线的数据。该状态是所谓的命中高速缓存的状态,CPU不对主存储装置160存取,而通过来自高速的高速缓冲存储器170的输出来完成处理(步骤S1703)。
另一方面,参照标记阵列171的结果是未发现与虚拟地址一致的标记的情况是所谓的未命中高速缓存,从主存储装置160读取数据。在这种情况下,作为通常使用的方式,将项2中所含有的四线中、根据LRU(Least Recently Used,最近最少使用)方式近期最不被参照的线从高速缓冲存储器170中删除,在该位置存储新从主存储装置160读取的线。当频繁发生这种线的更换时,CPU的向数据的存取性能会显著下降。
图5记载了对于图4所示的高速缓冲存储器170,在列方向上参照了1个记录12字节的定长记录的排列时的问题的例子。含有“#n”的四边形意味着1个记录(12字节),n为记录的参照顺序。黑色四边形表示的是列00(1字节)的位置,位于各记录的开头。在图中,记载有在参照了第1366个记录的时刻保持于路1和路2的内容。例如,在路1的项0内,存储有记录#1(12字节)、#2(12字节)和记录#3的开头8字节。在接下来的项1内,存储有记录#3的后续的4字节、记录#4(12字节)、#5(12字节)和记录#6的开头4字节。
下面的项也同样。
在此,在将构成高速缓冲存储器170的4路中能够用于保持原始数据的路数设为2个的情况下,在参照了记录#1367的列00的时刻,成为未命中高速缓存。通过LRU,由含有#1367的列00的数据置换项0的路1。同样,接下来的各项的数据也依次被置换。其后,在参照各记录的列00的处理结束、参照列01的处理开始时,记录#1再次被读入高速缓冲存储器170中。即,就记录#1而言,在处理了列00(1字节)以后,12字节中的其余11字节不作任何参照,从高速缓冲存储器170中删除,接着,在列01的处理中,其余10字节也不作任何参 照,从高速缓冲存储器170中删除,高速缓存的利用效率显著变差。
此外,因为路有4个,所以实际上也使用路3和路4,但在CPU参照的数据中,除了具有解压后的各记录以外,还具有解压前的压缩数据、压缩解压算法所使用的作业区域,因此不能够将所有的路仅用于保持解压后的各记录的保持。另外,即使能够使用所有的路,能够存储的记录数最高也只有2倍,不能够实质上解决问题。
基于以上的问题,下面,对实施例1的详细进行说明。
图6是记载有实施例1的压缩数据500的格式的图(括号内的数值意味着压缩前的大小)。压缩数据500是将原始数据分割为规定大小(在图中为64KB)的块而进行了压缩的数据,因此包括表示各块的起始地址的索引数据501和块数据的排列502,该块数据的排列502是指压缩对象即各块的排列。
块的详细内容503记载有各块中所含有的压缩对象数据,包括压缩标识符、记录长度、子块(sub block)的排列和剩余数据。子块是以不发生以上说明的问题的子块大小来分割块作为压缩对象块的块,在图中,是对按照每16380字节(相当于记录数1365个的大小)分割各块而得的压缩对象块进行了压缩而得的数据,剩余数据是未被子块大小(在此为16380字节)除尽的剩余数据(在此为16字节)。
子块的详细内容504记载有各子块所含有的数据,包括多个列压缩标识符和列压缩数据。例如,列00压缩数据是将1365个记录中的列00的值进行了压缩而得的数据,原始的数据大小为1365字节。
图7是记载有块的详细内容503中所含有的压缩标识符122的值的图。压缩标识符122表示压缩各块时的方式,定义00(非压缩)、01(列方向压缩)、02(行方向压缩)。00(非压缩)是在压缩对象块中所含有的数据没有任何规律性且即使压缩也不得到大小减少的效果的情况下所使用的标识符,01(列方向压缩)是在列方向上进行压缩时能够得到大小减少的效果的情况下所使用的标识符,02(行方向压缩)是在行方向即像通常状况那样从开头起一个字节一个字节地处理数据时能够得到大小减少的效果的情况下所使用的标识符。
图8是记载有子块的详细内容504所含有的列压缩标识符142的值的图。列压缩标识符142是表示对压缩对象的各列进行压缩时的方 式的标识符,定义00(非压缩)、01(行程编码)、02(定长比特编码)、03(霍夫曼编码)等。00(非压缩)是在压缩对象的列所含有的数据没有任何规律性且即使压缩也得不到大小减少的效果的情况下所使用的标识符,01(行程编码)是在通过对压缩对象的列所含有的数据进行利用行程编码的压缩能够得到大小减少的效果的情况下所使用的标识符。02(定长比特编码)、03(霍夫曼编码)也是同样,都是在通过各自的方式能够得到大小减少的效果的情况下所使用的标识符。
此外,定长比特编码是如下的方式,例如,在压缩8比特的记号时,在原始数据中所含有的记号最高只存在16个的情况下,置换为能够表达16个的4比特编码而输出,由此减少数据大小。另外,霍夫曼编码是通过求出记号的出现机率并输出最小冗余编码来减少数据大小的方式。实施例1是在进行各列的压缩时,选择使用大小减少效果最高的压缩方法的实施例,因为假设直接利用通常使用的技术,所以关于各压缩方法的详细内容没有特别记载。
图9是对在块数据压缩部220压缩数据时要参照的压缩定义文件700进行记载的图。在压缩定义文件700中,记载有起始地址701、压缩标识符702、记录长度703。通常,在汽车导航系统的数据库中,一个文件所含的数据都是具有同一大小的定长记录的排列的情况是很少见的,除了定长记录的排列以外,也包含没有任何规律性的数据、像通常的文本数据那样不适合列方向的压缩的数据。图9表示的是如下的情形:从地址0x00000000起存储有1个记录12字节的定长记录的排列,同样,从地址0x001A0000起存储有没有任何规律性的数据,从地址0x001B0000起存储有1个记录8字节的定长记录的排列,从地址0x00300000起存储有文本数据,从地址0x00310000起存储有没有任何规律性的数据。压缩定义文件是为了在块数据压缩部220压缩数据时,基于这些存储状况确定适用于各块的压缩方法而使用的。
下面,依据将树状数据压缩并存储于汽车导航系统,在汽车导航系统中参照压缩后的树状数据进行处理的流程,说明实施例1。
图10是表示在使用列方向数据压缩装置200压缩树状数据时,单位大小设定部230所显示的单位大小设定画面231的图。在单位大小设定画面231中,存在输入对象文件232、压缩定义文件233、块大小234和终端高速缓存容量235的栏。对象文件232是在存储介质250上输入原始数据600所位于的位置的栏,压缩定义文件233是在存储介质250上输入压缩定义文件700所位于的位置的栏,块大小234是输入图6所示的各块的大小(压缩前的大小)的栏,终端高速缓存容量235是输入列方向数据解压装置100所具有的高速缓冲存储器170的容量的栏。通过输入这些参数,按下确认(OK)按钮239,开始进行压缩处理。
图11是表示按下了确认按钮239以后的块数据压缩部220的动作的流程图。块数据压缩部220首先取得输入到对象文件232的文件(原始数据)的大小(步骤S2201)。
接着,基于输入到块大小234的块大小,计算原始数据所含有的块数(步骤S2202)。例如,在原始数据的大小为67588096字节、块大小为64KB(65536字节)的情况下,块数是67588096除以65536所得的值(小数点以下进位),成为1032。此外,第1032个块的大小为未被65536除尽的20480字节。
接着,将对每块重复进行的循环处理的计数器变量i初始化为0(步骤S2203)。
接着,判定变量i是否低于由步骤S2202求出的块数(步骤S2204)。在变量i低于块数的情况下,向索引数据501输出块数据的排列502的处理中的块的起始地址(偏移数据)(步骤S2205)。
接着,参照压缩定义文件700,取得在对处理中的块进行压缩时要使用的压缩标识符和记录长度(步骤S2206)。这要通过扫描压缩定义文件的各行,取得与处理中的块的地址相对应的压缩标识符和记录长度来进行。
接着,向块数据的排列502输出所取得的压缩标识符及记录长度(步骤S2207)。
图12是表示由图11的步骤S2210执行的列数据压缩部240的动作的流程图。列数据压缩部240首先基于输入到终端高速缓存容量235的高速缓冲存储器容量和从压缩定义文件取得的记录长度,计算子块大小(步骤S2401)。例如,在高速缓冲存储器容量为32KB、1个记录的大小为12字节的情况下,假设32KB中的一半(16KB)能够用于解压后的数据保持,能够存储于16KB的最大记录数的大小成为子块大小。即,以12字节为除数来除16KB得到商1365,将该商1365乘以12字节而得到的16380字节成为子块大小。
接着,根据输入到块大小234的块大小和由步骤S2401求出的子块大小,计算子块数和剩余区域的大小(步骤S2402)。由于块大小为65536字节、子块大小为16380字节,因此子块数为4,剩余区域的大小为16字节。
接着,将对每一子块重复进行的循环处理的计数器变量j初始化为0(步骤S2403)。
接着,判定变量j是否低于子块数(步骤S2404)。在变量j低于子块数的情况下,将对记录的各位重复进行的循环处理的计数器变量k初始化为0(步骤S2405)。
接着,判定变量k是否低于记录长度(步骤S2406)。在变量k低于记录长度的情况下,进行列k的压缩处理(步骤S2408)。关于列k的压缩处理在后面进行叙述。
接着,将计数器变量k加1,返回到步骤S2406(步骤S2409)。
对所有的列重复进行以上的从步骤S2406到步骤S2409的处理,在步骤S2406中,在变量k等于记录长度的时刻,将计数器变量j加1,返回到步骤S2404(步骤S2407)。
对各子块重复进行以上的处理,在步骤S2404中,在变量j等于子块数的时刻,将剩余的输入数据(即,在步骤S2402中计算出的剩余区域大小的量的数据)原样输出到块数据的排列502,然后结束列数据的压缩处理(步骤S2410)。
图13是表示由图12的步骤S2408执行的列k的压缩处理的流程图。首先,确定列k的压缩中使用的列压缩标识符(步骤S2421)。该处理通过如下操作来进行:通过统计列k所含的记号的出现频率,计算出使用00(非压缩)、01(行程编码)、02(定长比特编码)、03(静态霍夫曼编码)中的哪个方式时压缩后的大小最小。
接着,将压缩处理中使用的变量n、pSrc、pDest初始化(步骤S2422)。变量n是表示处理完毕输入数据大小(字节数)的变量,初始化为0。变量pSrc是表示原始数据的地址的变量,用列k的数据的开头地址进行初始化。变量pDest用压缩数据的输出目的地地址进行初始化。接着,判定变量n是否低于列k的大小(即1365)(步骤S2423)。在变量n低于列k的大小的情况下,以列压缩标识符表示的方式对存在于变量pSrc表示的地址的1字节进行编码,然后将变量pSrc加上记录长度并且将变量n加1(步骤S2424)。在编码后的结果低于1字节且变量n低于列k的大小的情况下,返回到步骤S2424。在编码后的结果变成1字节或变量n等于列k的大小的情况下,进入步骤S2426(步骤S2425)。
在由pSrc表示的1字节以上的记号编码成为1字节的时刻,将编码后的值(1字节)输出到pDest表示的地址,并且将pDest的值加1,返回到步骤S2423(步骤S2426)。将以上的从步骤S2423到步骤S2426的处理重复进行与列k所含的记号的数量相应的次数,其结果是,在变量n的值等于列k的大小的时刻,结束列k的压缩处理。
通过以上的利用图11~图13进行了说明的块数据压缩部220和列数据压缩部240的动作,生成图6所示的压缩数据500。这样生成的压缩数据500被复制到列方向数据解压装置100的存储介质150,由应用软件来使用。
图14是表示实施例1的从应用软件执行部110向块数据解压部120请求的数据取得请求的例子的图。在该例子中,表示的是参照从地址0x00010000开始的100KB的数据的情形。下面,依据对于该请求的列 方向数据解压装置100的动作进行说明。
图15是表示从应用软件执行部110接受到数据取得请求时的块数据解压部120的动作的流程图。块数据解压部120首先基于请求的地址和请求大小,计算对象的块范围(步骤S1201)。在图14所示的请求的情况下,包含从地址0x00010000开始的100KB的块即块2~块3成为对象块的范围。
接着,从对象块的范围内,从存储介质150读取1块的量的压缩数据,存储于主存储装置160(步骤S1202)。该处理通过从索引数据501表示的块2的起始地址0x00001520读取到块2的终止地址(下一块3的起始地址减去1所得的值)即0x00005043来进行。
接着,从读取到的块的开头,取得压缩标识符和记录长度(步骤S1203)。
接着,根据取得的压缩标识符,将处理分支(步骤S1204)。在压缩标识符为00(非压缩)的情况下,将存储于主存储装置160的块数据原样交给应用软件(步骤S1205)。在压缩标识符为01(列方向压缩)的情况下,对存储于主存储装置160的块数据进行列方向解压处理(步骤S1206)。列方向解压处理的详细内容在后面进行叙述。
在压缩标识符为02(行方向压缩)的情况下,对存储于主存储装置160的块数据进行行方向的解压处理(使用Zlib等公知的压缩算法),将解压复原后的结果存储于主存储装置160,交给应用软件(步骤S1207)。
在执行了以上三个步骤中的任一步骤以后,判定对象块的范围中所含的所有块的解压处理是否已完成,在还有未解压的块的情况下,返回到步骤S1202(步骤S1208)。
返回到S1202以后的处理与上述同样,对块3的数据,从索引数据501的内容中取得块3的存储地址(0x00005044~0x00008212),读取块3的数据,进行解压处理。重复进行了以上处理的结果是,在步骤S1208中判定为所有的块的解压已完成时,结束块数据的解压处理。
图16是表示由图15的步骤S1206执行的列数据解压部140的动作的流程图。列数据解压部140首先根据高速缓冲存储器170的容量,计算子块大小(步骤S1401)。该计算处理通过与列方向数据压缩装置200的子块大小的计算处理相同的计算式来完成。即,在高速缓冲存储器容量为32KB、1个记录的大小为12字节的情况下,假设32KB中的一半(16KB)能够用于解压后的数据保持,能够存储于16KB的最大记录数的大小(16380字节)变成子块大小。
接着,对处理中的块所含的子块数和剩余大小进行计算(步骤S1402)。该计算处理也与列方向数据压缩装置200的子块数的计算处理相同,子块数变成4,剩余大小变成16字节。
接着,将对各子块重复进行的循环处理的计数器变量j初始化为0(步骤S1403)。
接着,判定变量j是否低于子块数(步骤S1404)。在变量j低于子块数的情况下,将对各列重复进行的循环处理的计数器变量k初始化为0(步骤S1405)。
接着,判定变量k是否低于记录长度(步骤S1406)。在变量k低于记录长度的情况下,将列k的数据解压(步骤S1408)。列k的解压处理的详细内容在后面进行叙述。
接着,将计数器变量k加1,返回到步骤S1406(步骤S1409)。对各列重复进行从步骤S1406到步骤S1409的处理,其结果是,在变量k等于记录长度时,将计数器变量j加1,返回到步骤S1404(步骤S1407)。
对各子块反复进行了以上处理的结果是,在变量j的值等于子块数时,将剩余区域原样返回至应用软件(步骤S1410)。
图17是表示在图16的步骤S1408中执行的列k的数据的解压处理的流程图。首先,从压缩数据的开头取得列压缩标识符(步骤S1421)。
接着,将解压处理中使用的变量n、pSrc、pDest初始化(步骤S1422)。变量n是表示已输出的数据大小(字节数)的变量,初始化为0。变量pSrc是表示压缩数据的存储地址的变量,初始化为压缩数据的开头地址或之前的列k-1的解压结束的时刻的pSrc的值。变量pDest在列k的情况下,初始化为解压数据输出目的地的开头地址+k(在列宽为1字节的情况下)。
接着,判定变量是否低于列k的大小(即1365)(步骤S1423)。
在变量n低于列k的大小的情况下,以列压缩标识符所表示的方式将存在于变量pSrc表示的地址的1字节解码,然后将变量pSrc加1 (步骤S1424)。
通常,从1字节解码出1以上的字节数的数据,因此重复进行如下的处理:向变量pDest的位置输出解码后的1字节,将pDest的值加上记录长度,并且将变量n加1(步骤S1425)。
在从压缩数据1字节解码出的多个字节的输出完成以后,返回到步骤S1423(步骤S1426)。
重复进行了以上的从步骤S1423到步骤S1426的处理的结果是,在变量n的值等于列k的大小时,结束列k的数据的解压处理。
通过以上的利用图15~图17进行说明的块数据解压部120和列数据解压部140的动作,进行位于从应用软件执行部请求的位置的压缩数据的解压。
以上是实施例1的树状数据压缩系统的数据压缩处理和数据解压处理的流程。此外,图18是表示实施例1的压缩数据的解压处理中的高速缓冲存储器170的状态的图。通过列00的参照,从记录#1到记录#1365存储于高速缓冲存储器170的状态都与图5相同,但在处理记录#1365以后,执行列01的解压处理,因此高速缓冲存储器170上的项0的内容不置换。即,在图16和图17所示的处理的执行中,因为高速缓冲存储器170的不必要的更新得到了抑制,所以能够将压缩后的数据高速解压。
实施例2
下面,利用图19~图30对实施例2的行驶历史数据阅览系统进行说明。实施例2是将汽车导航系统的行驶历史数据收集于中心装置,且从各种终端都能够参照的实施例。行驶历史是在每1秒等规定的时间中记录汽车导航系统的当前地的坐标的数据,除了在汽车导航系统中发生了不良状况时的状况确认中发挥作用以外,近年来,也提供使用用户上传到中心装置的行驶历史,在地图上重叠描绘行驶路径,来辅助进行旅途回忆的服务。
此外,作为收集行驶历史数据的方法,利用将SD卡等外部记录介质与汽车导航系统连接而输出的方法、将便携电话等通信装置与汽车导航系统连接而经由通信网络向中心装置上传的方法、在经销商处利用保守终端从汽车导航系统取出等的方法,但在本实施例中,关于将 该行驶历史收集到中心装置的方法没有特别记载,而对在已将行驶历史收集于中心装置的前提下,将压缩后的行驶历史发送到各种终端的方法进行说明。
下面,以与实施例1的差异为中心对实施例2进行说明。在实施例2中,列方向数据解压装置100相当于阅览行驶历史的终端,列方向数据压缩装置200相当于发送压缩后的行驶历史数据的中心装置。
图19是实施例2的行驶历史数据阅览系统的整体结构图。实施例2的整体结构图与图1所示的实施例1的整体结构图相比,追加有压缩数据请求部180和压缩数据选择部280。另外,在存储介质250中存储有多个压缩数据510~530。另外,不存在实施例1记载的压缩定义文件700。这是因为,假设行驶历史数据由8字节的定长记录构成,没有在每一块切换压缩方法的必要性。
图20是表示行驶历史数据的格式和数据的例子的图。行驶历史数据的1个记录由X坐标(4字节)和Y坐标(4字节)构成。行驶历史数据由车辆在行驶中以规定的周期收集的XY坐标的排列构成,在图中,作为例子,表示的是10个地点的坐标的排列。
图21是记载有以十六进制数表示原始数据610中所含有的行驶历史数据的排列的例子,和压缩数据510中所含的列00的压缩数据的例子的图。为了便于理解,行驶历史数据的例子以1个记录的大小即8字节为单位进行换行记载。在此,要关注的内容是如下这一点:分别就X坐标和Y坐标而言,几乎没有存储要使用4字节程度的大数值的情况,因此上级字节几乎均为0或1等较小的值。由此,与实施例1记载的树状数据同样,通过在列方向上压缩数据,能够期待压缩率的提高。
图22是表示存储于存储介质250的压缩数据510~530的图。压缩数据510是高速缓冲存储器容量为8KB的列方向数据解压装置用压缩数据,压缩数据520是高速缓冲存储器容量为16KB的列方向数据解压装置用压缩数据,压缩数据530是高速缓冲存储器容量为32KB的列方向数据解压装置用压缩数据。
图23是表示高速缓冲存储器容量为8KB的列方向数据解压装置用的压缩数据510的详细内容的图(括号内的数值意味着压缩前的大 小)。能够存储于高速缓冲存储器容量8KB的一半即4KB的记录数(1个记录的大小为8字节)为512记录,由此,子块的大小成为512记录×8字节即4096字节。子块中所含的各列的大小变成512字节。
图24是表示高速缓冲存储器容量为16KB的列方向数据解压装置用的压缩数据520的详细内容的图(括号内的数值意味着压缩前的大小)。能够存储于高速缓冲存储器容量16KB的一半即8KB的记录数(1个记录的大小为8字节)为1024记录,由此,子块的大小变成1024记录×8字节即8192字节。子块中所含的各列的大小变成1024字节。
图25是表示高速缓冲存储器容量为32KB的列方向数据解压装置用的压缩数据530的详细内容的图(括号内的数值意味着压缩前的大小)。能够存储于高速缓冲存储器容量32KB的一半即16KB的记录数(1个记录的大小为8字节)为2048记录,由此,子块的大小变成2048记录×8字节即16384字节。子块中所含的各列的大小变成2048字节。
此外,压缩数据510~530中,高速缓冲存储器容量都为记录大小的倍数,因此图6中存在的剩余区域不存在。
下面,依据发送行驶历史数据的流程对实施例2进行说明。
图26是表示在使用列方向数据压缩装置200压缩行驶历史数据时,单位大小设定部230所显示的单位大小设定画面238的图。与实施例1同样,在单位大小设定画面238有输入对象文件232、块大小234的栏。与实施例1的差异是如下这一点:追加有指定记录长度236和支持的高速缓冲存储器容量的按钮237,另外,输入压缩定义文件700的栏不存在。指定支持的高速缓冲存储器容量的按钮237是指定阅览行驶历史数据的列方向数据解压装置的高速缓冲存储器容量的按钮,在例子中,高速缓冲存储器170的大小表示生成分别为8KB、16KB和32KB的多个终端用的压缩数据的设定。图27是表示在单位大小设定画面238中按下了确认(OK)按钮239以后的块数据压缩部220的动作的流程图。块数据压缩部220首先取得输入到单位大小设定画面238的支持的高速缓冲存储器容量的类别(步骤S2221)。
接着,判定是否生成了所指定的所有的高速缓冲存储器容量的类别的量的压缩数据(步骤S2222),在生成没有完成的情况下,生成未生成的压缩数据(步骤S2223)。在步骤S2223中执行的压缩数据生成 的流程与实施例1的图11所示的内容相同。
通过以上动作,生成高速缓冲存储器170的容量不同的各列方向数据解压装置用的压缩数据。
图28是表示从应用软件执行部110请求了数据时的块数据解压部120的动作的流程图。图28与实施例1的图15大致同样,但在一系列处理开始之前进行压缩数据取得处理初始化这一点(步骤S1810)和取得1块的量的数据的处理经由通信网络这一点是不同的(步骤S1820)。
图29是表示在图28的步骤S1810和步骤S1820中执行的、压缩数据请求部180和压缩数据选择部280之间的压缩数据取得处理初始化和接收1块的量的数据的处理流程的图。在步骤S1810中,首先,从压缩数据请求部180向压缩数据选择部280发送对象文件的名称(步骤S1811)。接下来,从压缩数据选择部280向压缩数据请求部180通知对于对象文件支持的高速缓冲存储器容量(步骤S1812)。在实施例2的情况下,对于对象文件,通知能够发送具有8KB、16KB和32KB的高速缓冲存储器容量的面向列方向数据解压装置的压缩数据。接下来,从压缩数据请求部180向压缩数据选择部280通知高速缓冲存储器170的容量(步骤S1813)。接下来,从压缩数据选择部280向压缩数据请求部180通知成为能够发送指定的压缩数据的状态(步骤S1814)。
此外,在步骤S1812中,如果在从压缩数据选择部280通知的高速缓冲存储器容量中没有与高速缓冲存储器170的容量一致的容量,则压缩数据请求部180显示警告。图30是表示显示该警告的应用软件执行画面111的例子的图,且记载有将接收到的压缩数据对于该列方向数据解压装置来说不是最佳数据的内容传递给用户的消息112。在实施例2中,即使在这种情况下,也只是解压性能下降,还能够继续进行解压处理本身,因此假设压缩数据请求部180保持原样地继续进行处理,但在此也可以停止处理。
图29的步骤S1821以后表示的是图28的步骤S1820中的收发1块的量的压缩数据的流程,首先,从压缩数据请求部180向压缩数据选择部280发送必要的块的编号(步骤S1821)。接下来,从压缩数据选择部280向压缩数据请求部180发送与所指定的块编号对应的块的 压缩数据(步骤S1822)。压缩数据请求部180将接收到的块交给块数据解压部120,按照与实施例1同样的顺序进行解压处理,然后将解压后的数据交给应用软件。对于以后的块也是同样的。
以上是实施例2的行驶历史数据阅览系统的数据压缩处理和数据解压处理的流程。这样,通过对于性能不同的各种终端事先准备多个压缩数据,对于各终端来说,能够提供能够最高速地阅览数据的压缩数据。
实施例3
下面,利用图31对与实施例2不同的方式的行驶历史数据阅览系统进行说明。
图31是实施例3的行驶历史数据阅览系统的整体结构图。实施例3的整体结构图与图19所示的实施例2的整体结构图相比,追加有块数据再压缩部291、列数据再压缩部292、块数据解压部293、列数据解压部294、主存储装置260、高速缓冲存储器270。另外,存储于存储介质250的压缩数据是压缩数据540这一个。另外,压缩数据选择部280不存在。
下面,依据压缩并发送行驶历史数据时的处理的流程对实施例3进行说明。
实施例3的行驶历史数据的压缩处理基本上与实施例2同样。但是,生成的压缩数据是压缩数据540这一个,该数据是对于列方向数据压缩装置200自身所具有的高速缓冲存储器270来说解压性能最高的压缩数据。即,如果高速缓冲存储器270的容量为32KB,则压缩数据540的内容与图25所示的压缩数据同样。
另外,关于列方向数据压缩装置200与列方向数据解压装置100之间的通信顺序,也与实施例2的图29同样。但是,在实施例3的列方向数据压缩装置200中,首先,对于来自列方向数据解压装置100的请求,调查列方向数据解压装置100的高速缓冲存储器170的容量是否与高速缓冲存储器270的容量一致。
如果容量一致,则发送压缩数据540,如果不一致,则在块数据解压部293和列数据解压部294中将压缩数据540解压,接着,在块数据再压缩部291和列数据再压缩部292,按照来自列方向数据解压装置100的请求内容,再次压缩数据并发送。
块数据解压部293的动作与图15所示的列方向数据解压装置100的块数据解压处理同样,列数据解压部294的动作与图16所示的列方向数据解压装置100的列数据解压处理同样。块数据再压缩部291的动作与图11所示的块数据压缩处理同样,列数据再压缩部292的动作与图12所示的列数据压缩处理同样。
通过采用以上的结构,在实施例3中,不需要如实施例2那样的保持多个压缩数据,只要保持单一的压缩数据即可。
此外,在采用这种结构的情况下,因为增加了将压缩数据暂时解压而再压缩的处理,所以列方向数据压缩装置200的处理时间增加,为了减少该时间,也可以采用如下的结构:使用多个处理装置,按照每列并行地执行列数据解压部294和列数据再压缩部292的压缩解压处理。
附图标记说明
100:列方向数据解压装置
110:应用软件执行部
120:块数据解压部(列方向数据解压装置)
140:列数据解压部(列方向数据解压装置)
150:存储介质(列方向数据解压装置)
160:主存储装置(列方向数据解压装置)
170:高速缓冲存储器(列方向数据解压装置)
180:压缩数据请求部
200:列方向数据压缩装置
220:块数据压缩部
230:单位大小设定部
240:列数据压缩部
250:存储介质(列方向数据压缩装置)
260:主存储装置(列方向数据压缩装置)
270:高速缓冲存储器(列方向数据压缩装置)
280:压缩数据选择部
291:块数据再压缩部
292:列数据再压缩部
293:块数据解压部(列方向数据压缩装置)
294:列数据解压部(列方向数据压缩装置)
300:通信网络
500:压缩数据(实施例1)
510:压缩数据(实施例2,8KB高速缓存用)
520:压缩数据(实施例2,16KB高速缓存用)
530:压缩数据(实施例2,32KB高速缓存用)
540:压缩数据(实施例3)
600:原始数据(实施例1)
610:原始数据(实施例2和实施例3)
700:压缩定义文件

Claims (15)

1.一种数据解压装置,其将含有压缩后的多个定长记录的压缩数据解压,该数据解压装置的特征在于:
压缩对象数据以规定的压缩对象块大小单位被分割,所述压缩数据包含按每个所述压缩对象块进行压缩而得的结果,
该数据解压装置具有列数据解压部,
在所述压缩对象块大小基于所述定长记录的大小和该数据解压装置的规格信息决定的情况下,
该列数据解压部基于所述定长记录的大小和所述数据解压装置的规格信息,判定所述压缩对象块的大小,
从所述压缩数据取得一个以上的压缩对象块,
将按每列压缩所述压缩对象块中所含有的所述多个定长记录的同一列数据而得的结果即压缩列数据分别解压,将所述多个定长记录复原,
所述数据解压装置的规格信息是该数据解压装置所具有的高速缓冲存储器的容量,
所述压缩对象块的大小是不超过所述高速缓冲存储器的容量乘以规定的比率所得的值的、所述定长记录的大小的最大的倍数。
2.如权利要求1所述的数据解压装置,其特征在于:
还具有执行软件的软件执行部,
所述压缩数据含有一个以上的块,所述块含有一个以上的按每个所述压缩对象块进行压缩所得的结果即子块,
该数据解压装置包括块数据解压部,
该块数据解压部对含有所述软件所请求的数据的一个以上的所述块各自的解压进行控制。
3.如权利要求1所述的数据解压装置,其特征在于:
与所述高速缓冲存储器的容量相乘的规定的比率为0.5。
4.一种数据解压装置,其将含有压缩后的多个定长记录的压缩数据解压,该数据解压装置的特征在于:
压缩对象数据以规定的压缩对象块大小单位被分割,所述压缩数据包含按每个所述压缩对象块进行压缩而得的结果,
该数据解压装置具有列数据解压部,
在所述压缩对象块大小基于所述定长记录的大小和该数据解压装置的规格信息决定的情况下,
该列数据解压部基于所述定长记录的大小和所述数据解压装置的规格信息,判定所述压缩对象块的大小,
从所述压缩数据取得一个以上的压缩对象块,
将按每列压缩所述压缩对象块中所含有的所述多个定长记录的同一列数据而得的结果即压缩列数据分别解压,将所述多个定长记录复原,
数据解压装置还具有执行软件的软件执行部,
所述数据解压装置的规格信息是为了所述软件保持所述压缩对象块的解压数据而确保的主存储装置的容量,
所述压缩对象块的大小是不超过所述主存储装置的容量的、所述定长记录的大小的最大的倍数。
5.一种数据解压装置,其将含有压缩后的多个定长记录的压缩数据解压,该数据解压装置的特征在于:
压缩对象数据以规定的压缩对象块大小单位被分割,所述压缩数据包含按每个所述压缩对象块进行压缩而得的结果,
该数据解压装置具有列数据解压部,
在所述压缩对象块大小基于所述定长记录的大小和该数据解压装置的规格信息决定的情况下,
该列数据解压部基于所述定长记录的大小和所述数据解压装置的规格信息,判定所述压缩对象块的大小,
从所述压缩数据取得一个以上的压缩对象块,
将按每列压缩所述压缩对象块中所含有的所述多个定长记录的同一列数据而得的结果即压缩列数据分别解压,将所述多个定长记录复原,
所述数据解压装置的规格信息是该数据解压装置所具有的通信装置一次能够发送的数据的最大大小,
所述压缩对象块的大小是不超过所述一次能够发送的数据的最大大小的、所述定长记录的大小的最大的倍数。
6.如权利要求1、4、5中任一项所述的数据解压装置,其特征在于:
具有压缩数据请求部,其经由通信网络,向数据压缩装置发送压缩数据的名称和所述数据解压装置的规格信息,从所述数据压缩装置接收适合所述压缩数据的名称和所述数据解压装置的规格信息的压缩数据。
7.如权利要求6所述的数据解压装置,其特征在于:
在从所述数据压缩装置发出了不存在适合的压缩数据的通知的情况下,所述压缩数据请求部对表示不存在适合的压缩数据的警告画面进行显示。
8.一种数据压缩装置,其对含有多个定长记录的压缩对象数据进行压缩,该数据压缩装置的特征在于,包括:
单位大小设定部,其接受所述定长记录的1个记录的大小和数据解压装置的规格信息的输入;和
列数据压缩部,其基于所述定长记录的大小和所述数据解压装置的规格信息决定压缩对象块的大小,按每列将各个所述压缩对象块中所含的多个所述定长记录的同一列数据压缩,生成压缩列数据,生成含有各个所述压缩列数据的压缩数据,
所述数据解压装置的规格信息是该数据解压装置所具有的解压装置高速缓冲存储器的容量,
所述压缩对象块的大小是不超过所述解压装置高速缓冲存储器的容量乘以规定的比率所得的值的、所述定长记录的大小的最大的倍数。
9.如权利要求8所述的数据压缩装置,其特征在于:
与所述解压装置高速缓冲存储器的容量相乘的规定的比率为0.5。
10.如权利要求8所述的数据压缩装置,其特征在于:
具有块数据压缩部,其将所述压缩对象数据分割为规定大小的块,控制各个所述块的压缩,
所述块数据压缩部参照记载有在所述压缩对象数据的各部分中不同的定长记录的记录长度的压缩定义文件,确定各个所述块的压缩方法,
所述列数据压缩部将所述块数据压缩部将压缩方法决定为列压缩的所述块作为所述压缩对象数据。
11.如权利要求8所述的数据压缩装置,其特征在于:
基于输入到所述单位大小设定部的多个所述规格信息,将所述列数据压缩部从一个所述压缩对象数据生成的多个所述压缩数据存储于存储介质,
该数据压缩装置还具有压缩数据选择部,其经由通信网络,从所述数据解压装置接收该数据解压装置的规格信息,选择适合接收到的所述规格信息的所述压缩数据,发送到所述数据解压装置。
12.如权利要求8所述的数据压缩装置,其特征在于:
具有解压部,所述解压部在经由通信网络从数据解压装置接收到的该数据解压装置的规格信息与生成所述压缩数据时参照的规格信息不同的情况下,将所述压缩数据解压,
将从一个所述压缩对象数据生成的一个压缩数据存储于存储介质,
以所述解压部输出的解压后的数据为所述压缩对象数据,基于从所述数据解压装置接收到的该数据解压装置的规格信息,将再压缩后的所述压缩数据发送到所述数据解压装置。
13.一种使计算机作为将含有压缩后的多个定长记录的压缩数据解压的信息处理装置发挥功能的方法,该方法的特征在于:
压缩对象数据以规定的压缩对象块大小单位被分割,所述压缩数据包含按每个所述压缩对象块进行压缩而得的结果,
在所述压缩对象块大小基于所述定长记录的大小和所述信息处理装置的规格信息决定的情况下,
所述方法使所述计算机执行下述步骤:
基于所述定长记录的大小和所述信息处理装置的规格信息,判定所述压缩对象块的大小的步骤;
从所述压缩数据取得一个以上的压缩对象块的步骤;和
将按每列压缩所述压缩对象块中所含有的所述多个定长记录的同一列数据而得的结果即压缩列数据分别解压,将所述多个定长记录复原的步骤,
所述信息处理装置的规格信息是该信息处理装置所具有的高速缓冲存储器的容量,
所述压缩对象块的大小是不超过所述高速缓冲存储器的容量乘以规定的比率所得的值的、所述定长记录的大小的最大的倍数。
14.一种使计算机作为将含有多个定长记录的压缩对象数据压缩的信息处理装置发挥功能的方法,该方法的特征在于:
所述计算机具有接受来自用户的命令的接口装置,
所述方法使所述计算机执行下述步骤:
经由所述接口装置接受所述定长记录的1个记录的大小和数据解压装置的规格信息的输入的步骤;
基于所述定长记录的大小和所述数据解压装置的规格信息决定压缩对象块的大小的步骤;
将所述压缩对象数据分割为一个以上的所述压缩对象块的步骤;
按每列将各个所述压缩对象块中所含的多个所述定长记录的同一列数据压缩而生成压缩列数据的步骤;和
生成含有各个所述压缩列数据的压缩数据的步骤,
所述数据解压装置的规格信息是该数据解压装置所具有的高速缓冲存储器的容量,
所述压缩对象块的大小是不超过所述高速缓冲存储器的容量乘以规定的比率所得的值的、所述定长记录的大小的最大的倍数。
15.一种数据压缩装置和数据解压装置经由通信网络连接的压缩数据发送系统,所述数据压缩装置对含有多个定长记录的压缩对象数据进行压缩,所述数据解压装置将含有压缩后的多个定长记录的压缩数据解压,所述压缩数据发送系统的特征在于:
所述数据压缩装置包括:
单位大小设定部,其接受所述定长记录的1个记录的大小和所述数据解压装置的规格信息的输入;和
列数据压缩部,其基于所述定长记录的大小和所述数据解压装置的规格信息决定所述压缩对象块的大小,将所述压缩对象数据分割为一个以上的所述压缩对象块,按每列将各个所述压缩对象块中所含的多个所述定长记录的同一列数据压缩,生成压缩列数据,生成含有各个所述压缩列数据的压缩数据,
所述数据解压装置中,
压缩对象数据以规定的压缩对象块大小单位被分割,所述压缩数据包含按每个所述压缩对象块进行压缩而得的结果,
该数据解压装置具有列数据解压部,
在所述压缩对象块大小基于所述定长记录的大小和所述数据解压装置的规格信息决定的情况下,
该列数据解压部基于所述定长记录的大小和所述数据解压装置的规格信息,判定所述压缩对象块的大小,
从所述压缩数据取得一个以上的压缩对象块,
将按每列压缩所述压缩对象块中所含有的所述多个定长记录的同一列数据而得的结果即压缩列数据分别解压,将所述多个定长记录复原,
所述数据解压装置的规格信息是该数据解压装置所具有的高速缓冲存储器的容量,
所述压缩对象块的大小是不超过所述高速缓冲存储器的容量乘以规定的比率所得的值的、所述定长记录的大小的最大的倍数。
CN201380027389.2A 2012-05-25 2013-04-18 数据解压/压缩装置 Active CN104380267B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012-119180 2012-05-25
JP2012119180A JP5826114B2 (ja) 2012-05-25 2012-05-25 データ解凍装置、データ圧縮装置、データの解凍プログラム、データの圧縮プログラム、及び、圧縮データ配信システム
PCT/JP2013/061552 WO2013175909A1 (ja) 2012-05-25 2013-04-18 データ解凍/圧縮装置

Publications (2)

Publication Number Publication Date
CN104380267A CN104380267A (zh) 2015-02-25
CN104380267B true CN104380267B (zh) 2017-05-17

Family

ID=49623610

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380027389.2A Active CN104380267B (zh) 2012-05-25 2013-04-18 数据解压/压缩装置

Country Status (5)

Country Link
US (1) US10116325B2 (zh)
EP (1) EP2857976A4 (zh)
JP (1) JP5826114B2 (zh)
CN (1) CN104380267B (zh)
WO (1) WO2013175909A1 (zh)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10642837B2 (en) * 2013-03-15 2020-05-05 Oracle International Corporation Relocating derived cache during data rebalance to maintain application performance
US10528590B2 (en) 2014-09-26 2020-01-07 Oracle International Corporation Optimizing a query with extrema function using in-memory data summaries on the storage server
US10296462B2 (en) 2013-03-15 2019-05-21 Oracle International Corporation Method to accelerate queries using dynamically generated alternate data formats in flash cache
WO2016166789A1 (ja) * 2015-04-13 2016-10-20 株式会社日立製作所 データベース管理システム、データベースサーバ、及び、データベース管理方法
WO2016194121A1 (ja) * 2015-06-01 2016-12-08 株式会社日立製作所 ストレージシステム、計算機装置、及び、重複排除デバイス
US10678788B2 (en) 2015-10-22 2020-06-09 Oracle International Corporation Columnar caching in tiered storage
CN106713394A (zh) * 2015-11-16 2017-05-24 华为技术有限公司 一种数据传输方法和装置
CA3028821C (en) * 2016-06-24 2023-01-24 Huawei Technologies Co., Ltd. Data processing method, storage apparatus, solid state disk, and storage system
JP6336524B2 (ja) * 2016-07-25 2018-06-06 株式会社高速屋 データ圧縮符号化方法、その装置、及び、そのプログラム
US10048868B2 (en) * 2016-09-29 2018-08-14 Intel Corporation Replacement of a block with a compressed block to increase capacity of a memory-side cache
JPWO2018096998A1 (ja) * 2016-11-28 2019-10-17 株式会社ターボデータラボラトリー データ圧縮装置、コンピュータプログラム及びデータ圧縮方法
JP6336636B2 (ja) * 2017-01-20 2018-06-06 株式会社高速屋 データ圧縮符号化方法、その装置、及び、そのプログラム
US11281641B1 (en) * 2017-05-23 2022-03-22 Amazon Technologies, Inc. Evaluating encoding history for late encoding binding of data
US10475375B2 (en) * 2017-06-09 2019-11-12 Shenzhen China Star Optoelectronics Semiconductor Display Technology Co., Ltd. Compression method and decompression method for compensation table of OLED display device
US10402111B1 (en) * 2017-08-14 2019-09-03 Xilinx, Inc. Systems and methods for data storage compression
US11086876B2 (en) 2017-09-29 2021-08-10 Oracle International Corporation Storing derived summaries on persistent memory of a storage device
US10642602B2 (en) * 2017-12-12 2020-05-05 Nxp Usa, Inc. NVM architecture with OTA support
CN107943424A (zh) * 2017-12-18 2018-04-20 苏州蜗牛数字科技股份有限公司 一种网络游戏中方块地形信息的压缩方法
US11507847B2 (en) 2019-07-25 2022-11-22 Raytheon Company Gene expression programming
US11436537B2 (en) 2018-03-09 2022-09-06 Raytheon Company Machine learning technique selection and improvement
US11321462B2 (en) 2018-04-10 2022-05-03 Raytheon Company Device behavior anomaly detection
US11340603B2 (en) 2019-04-11 2022-05-24 Raytheon Company Behavior monitoring using convolutional data modeling
WO2019199777A1 (en) 2018-04-10 2019-10-17 Raytheon Company Encryption using spatial voting
WO2019199769A1 (en) 2018-04-10 2019-10-17 Raytheon Company Cyber chaff using spatial voting
CN109582653B (zh) * 2018-11-14 2020-12-08 网易(杭州)网络有限公司 文件的压缩、解压缩方法及设备
CN109710581B (zh) * 2018-12-25 2023-05-30 四川巧夺天工信息安全智能设备有限公司 一种解压qcow镜像文件中压缩数据的方法
US10937465B2 (en) * 2019-02-21 2021-03-02 Raytheon Company Anomaly detection with reduced memory overhead
US11341235B2 (en) 2019-02-21 2022-05-24 Raytheon Company Anomaly detection with adaptive auto grouping
EP3938894B1 (en) 2019-03-15 2023-08-30 INTEL Corporation Multi-tile memory management for detecting cross tile access, providing multi-tile inference scaling, and providing optimal page migration
US11586554B2 (en) * 2020-07-23 2023-02-21 Arm Limited Cache arrangements for data processing systems
CN112054802B (zh) * 2020-07-29 2023-10-13 北京市腾河电子技术有限公司 一种电力计量数据压缩、解压缩方法、装置及电子设备
CN112181869A (zh) * 2020-09-11 2021-01-05 中国银联股份有限公司 信息存储方法、装置、服务器及介质
US20220121397A1 (en) * 2020-10-16 2022-04-21 Western Digital Technologies, Inc. Internal Compression Storage Devices
CN112783462B (zh) * 2021-01-19 2024-06-11 昆山联滔电子有限公司 一种数据传输的控制方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101841337A (zh) * 2010-05-06 2010-09-22 华为终端有限公司 数据压缩和解压缩处理方法以及移动存储设备
CN102112962A (zh) * 2008-07-31 2011-06-29 微软公司 用于大规模数据存储的高效的基于列的数据编码

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4558302A (en) 1983-06-20 1985-12-10 Sperry Corporation High speed data compression and decompression apparatus and method
US6275588B1 (en) * 1998-11-12 2001-08-14 I-Data International A/S Apparatus and method for performing and controlling encryption/decryption for data to be transmitted on local area network
US6959300B1 (en) * 1998-12-10 2005-10-25 At&T Corp. Data compression method and apparatus
JP2001204001A (ja) * 1999-10-29 2001-07-27 Matsushita Electric Ind Co Ltd 動画像配信システム,再生端末装置,及び配信装置
JP4162184B2 (ja) * 2001-11-14 2008-10-08 株式会社日立製作所 データベース管理システムの実行情報を取得する手段を有する記憶装置
JP4588507B2 (ja) * 2005-03-28 2010-12-01 株式会社デジタル 送信装置、そのプログラムおよび記録媒体
US7447839B2 (en) * 2005-09-13 2008-11-04 Yahoo! Inc. System for a distributed column chunk data store
US7769729B2 (en) 2007-05-21 2010-08-03 Sap Ag Block compression of tables with repeated values
JP5282460B2 (ja) 2008-07-02 2013-09-04 オンキヨー株式会社 信号入出力装置
JP5235692B2 (ja) 2009-01-15 2013-07-10 三菱電機株式会社 データアクセス装置及びデータアクセスプログラム
US8832142B2 (en) 2010-08-30 2014-09-09 Oracle International Corporation Query and exadata support for hybrid columnar compressed data
US9325344B2 (en) * 2010-12-03 2016-04-26 International Business Machines Corporation Encoding data stored in a column-oriented manner
US8560508B2 (en) * 2011-07-22 2013-10-15 International Business Machines Corporation Real-time compression of tabular data
JP5259848B2 (ja) * 2011-07-29 2013-08-07 株式会社東芝 再生制御装置及び再生制御方法
US8719271B2 (en) * 2011-10-06 2014-05-06 International Business Machines Corporation Accelerating data profiling process
CN102521363A (zh) * 2011-12-15 2012-06-27 武汉达梦数据库有限公司 基于列分解的列存储数据库数值数据压缩方法
US8812564B2 (en) * 2011-12-20 2014-08-19 Sap Ag Parallel uniqueness checks for partitioned tables
US8880510B2 (en) * 2011-12-23 2014-11-04 Sap Se Unique value calculation in partitioned tables
US8868594B2 (en) * 2011-12-23 2014-10-21 Sap Ag Split processing paths for a database calculation engine
US8589451B1 (en) * 2012-05-24 2013-11-19 Sap Ag Systems and methods for generating a common data model for relational and object oriented databases
US9384204B2 (en) * 2013-05-22 2016-07-05 Amazon Technologies, Inc. Efficient data compression and analysis as a service
US9244935B2 (en) * 2013-06-14 2016-01-26 International Business Machines Corporation Data encoding and processing columnar data
US10311154B2 (en) * 2013-09-21 2019-06-04 Oracle International Corporation Combined row and columnar storage for in-memory databases for OLTP and analytics workloads

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102112962A (zh) * 2008-07-31 2011-06-29 微软公司 用于大规模数据存储的高效的基于列的数据编码
CN101841337A (zh) * 2010-05-06 2010-09-22 华为终端有限公司 数据压缩和解压缩处理方法以及移动存储设备

Also Published As

Publication number Publication date
JP5826114B2 (ja) 2015-12-02
US10116325B2 (en) 2018-10-30
US20150100556A1 (en) 2015-04-09
JP2013246598A (ja) 2013-12-09
EP2857976A4 (en) 2016-04-13
CN104380267A (zh) 2015-02-25
WO2013175909A1 (ja) 2013-11-28
EP2857976A1 (en) 2015-04-08

Similar Documents

Publication Publication Date Title
CN104380267B (zh) 数据解压/压缩装置
CN104283567B (zh) 一种名称数据的压缩、解压缩方法及设备
CN112953550B (zh) 数据压缩的方法、电子设备及存储介质
US5659631A (en) Data compression for indexed color image data
US8704685B2 (en) Encoding method, encoding apparatus, decoding method, decoding apparatus, and system
CN101894115B (zh) 电子文档的图像数据处理方法及其装置
CN104040541A (zh) 用于更高效地使用存储器至cpu带宽的技术
CN102122960A (zh) 一种针对二进制数据的多字符组合无损数据压缩方法
CN104348490A (zh) 一种基于效果优选的组合数据压缩算法
CN106233632A (zh) Ozip压缩和解压缩
CN1612252A (zh) 实时数据在线压缩与解压缩方法
CN101449462A (zh) 基于集合关联高速缓存映射技术的高速数据压缩
CN103729429A (zh) 一种基于HBase压缩方法
CN202931289U (zh) 一种硬件lz77压缩实现系统
CN112544038B (zh) 存储系统数据压缩的方法、装置、设备及可读存储介质
CN105933708A (zh) 一种数据压缩和解压缩的方法和装置
CN111611250A (zh) 数据存储设备、数据查询方法、装置、服务器及存储介质
CN100472526C (zh) 一种数据存储方法、数据读取方法以及数据检索方法
CN102497450B (zh) 一种基于两级体系的分布式数据压缩处理方法
CN115438114B (zh) 存储格式转换方法、系统、装置、电子设备及存储介质
CN107741947A (zh) 基于hdfs文件系统的随机数密钥的存储与获取方法
EP4235484A1 (en) Text compression method, module, chip, electronic device, and storage medium
KR20240078422A (ko) 인코딩된 데이터에 대한 조건부 트랜스코딩
CN111625531B (zh) 基于可编程装置的合并装置、数据合并方法及数据库系统
CN111274454A (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