CN114500670A - 一种编码压缩方法、解码方法及装置 - Google Patents

一种编码压缩方法、解码方法及装置 Download PDF

Info

Publication number
CN114500670A
CN114500670A CN202210185338.3A CN202210185338A CN114500670A CN 114500670 A CN114500670 A CN 114500670A CN 202210185338 A CN202210185338 A CN 202210185338A CN 114500670 A CN114500670 A CN 114500670A
Authority
CN
China
Prior art keywords
character
character type
service data
storage space
type
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
CN202210185338.3A
Other languages
English (en)
Other versions
CN114500670B (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.)
Beijing Jingdong Zhenshi Information Technology Co Ltd
Original Assignee
Beijing Jingdong Zhenshi Information Technology 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 Beijing Jingdong Zhenshi Information Technology Co Ltd filed Critical Beijing Jingdong Zhenshi Information Technology Co Ltd
Priority to CN202210185338.3A priority Critical patent/CN114500670B/zh
Publication of CN114500670A publication Critical patent/CN114500670A/zh
Application granted granted Critical
Publication of CN114500670B publication Critical patent/CN114500670B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明提供了一种编码压缩方法、解码方法及装置,本发明中,编码压缩方法用于对包括至少一种字符类型的字符且属于同一字符类型的字符相邻的业务数据进行压缩存储,该方法包括:按照所述业务数据中所述至少一种字符类型的排序顺序,依次针对每种字符类型执行以下操作:如果该种字符类型不是所述业务数据中所述至少一种字符类型的排序顺序中的最后一种字符类型,则确定所述业务数据中属于该字符类型的字符长度,将所述业务数据中属于该字符类型的字符长度写入指定存储空间;根据该字符类型对应的编解码规则,将所述业务数据中属于该字符类型的每个字符编码后写入指定存储空间。应用本发明的方法,可以提高存储介质的空间利用率,降低成本。

Description

一种编码压缩方法、解码方法及装置
技术领域
本发明涉及编码压缩技术领域,特别涉及一种编码压缩方法、解码方法及装置。
背景技术
当前物联网(Internet of Things,IoT)环境中,有多种多样的IoT设备,大多数的IOT设备都具备存储和计算能力,针对不同的应用场景和领域会选用不同存储空间的存储介质。比如无线射频,由于其存储容量大及非接触式的特性,在很多领域都可以应用,其存储介质内可以存储一定容量的数据,并通过读卡器的天线使得标签与读卡器进行数据通信。
大多数应用领域在生产环节使用到的存储介质,其规格为128bit,只能存储16个字符(每个字符8bit),在不提高其存储空间情况下,当前容量不能满足大多数业务场景的使用。存储介质的存储空间越大,成本就越高,提高存储空间就意味着提高成本,在大体量的应用场景下因增加存储空间而造成的成本提高尤为明显。
发明内容
有鉴于此,本发明的目的在于提供了一种编码压缩方法、解码方法及装置,能够提高存储介质的空间利用率,降低成本。
为了达到上述目的,本发明提供了如下技术方案:
一种编码压缩方法,用于对包括至少一种字符类型的字符且属于同一字符类型的字符相邻的业务数据进行压缩存储,该方法包括:
按照所述业务数据中所述至少一种字符类型的排序顺序,依次针对每种字符类型执行以下操作:
如果该种字符类型不是所述业务数据中所述至少一种字符类型的排序顺序中的最后一种字符类型,则确定所述业务数据中属于该字符类型的字符长度,将所述业务数据中属于该字符类型的字符长度写入指定存储空间;
根据该字符类型对应的编解码规则,将所述业务数据中属于该字符类型的每个字符编码后写入指定存储空间。
一种解码方法,用于对业务数据的压缩编码进行解码,所述业务数据中包括至少一种字符类型且属于同一字符类型的字符相邻;该方法包括:
按照所述业务数据中所述至少一种字符类型的排序顺序,依次针对每种字符类型执行以下操作:
如果该种字符类型不是所述业务数据中所述至少一种字符类型的排序顺序中的最后一种字符类型,则从指定存储空间读取所述业务数据中该种字符类型的字符长度,否则,计算确定所述业务数据中该种字符类型的字符长度;
根据所述业务数据中该种字符类型的字符长度和该种字符类型对应的编解码规则,从指定存储空间读取所述业务数据中属于该字符类型的压缩编码并进行解码。
一种编码压缩装置,用于对包括至少一种字符类型的字符且属于同一字符类型的字符相邻的业务数据进行压缩存储,该装置包括:
第一处理单元,用于按照所述业务数据中所述至少一种字符类型的排序顺序,依次针对每种字符类型执行以下操作:
如果该种字符类型不是所述业务数据中所述至少一种字符类型的排序顺序中的最后一种字符类型,则确定所述业务数据中属于该字符类型的字符长度,将所述业务数据中属于该字符类型的字符长度写入指定存储空间;
根据该字符类型对应的编解码规则,将所述业务数据中属于该字符类型的每个字符编码后写入指定存储空间。
一种解码装置,用于对业务数据的压缩编码进行解码,所述业务数据中包括至少一种字符类型且属于同一字符类型的字符相邻;该装置包括:
第二处理单元,用于按照所述业务数据中所述至少一种字符类型的排序顺序,依次针对每种字符类型执行以下操作:
如果该种字符类型不是所述业务数据中所述至少一种字符类型的排序顺序中的最后一种字符类型,则从指定存储空间读取所述业务数据中该种字符类型的字符长度,否则,计算确定所述业务数据中该种字符类型的字符长度;
根据所述业务数据中该种字符类型的字符长度和该种字符类型对应的编解码规则,从指定存储空间读取所述业务数据中属于该字符类型的压缩编码并进行解码。
一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器通过总线相连的存储器;所述存储器存储有可被所述至少一个处理器执行的一个或多个计算机程序;所述至少一个处理器执行所述一个或多个计算机程序时实现上述编码压缩方法中的步骤或上述解码方法中的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个计算机程序,所述一个或多个计算机程序被处理器执行时实现上述编码压缩方法中的步骤或上述解码方法中的步骤。
由上面的技术方案可知,本发明中,对于所述业务数据中的所有字符类型,将除排序不是最后的字符类型按照字符长度+字符编码的格式进行压缩存储,而对于排序最后的字符类型,则仅存储其字符编码。此外,本发明还同时提供了与编码压缩方法对应的解码方法。可以看出,本发明通过编码压缩的方法,可以在有限的存储空间中存储更多数据,因此能够提高存储介质的空间利用率,降低成本,而且,对于排序最后的字符类型,仅存储其字符编码而不存储其字符长度,还可以进一步提高存储介质的空间利用率,降低成本。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一编码压缩方法流程图;
图2是本发明实施例二编码压缩方法流程图;
图3是本发明实施例三编码压缩方法流程图;
图4是本发明实施例提供的编码压缩方法示例图;
图5是本发明实施例一解码方法流程图;
图6是本发明实施例二解码方法流程图;
图7是本发明实施例三解码方法流程图;
图8是本发明实施例提供的解码方法示例图;
图9是本发明实施例编码压缩装置的结构示意图;
图10是本发明实施例解码装置的结构示意图;
图11是本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他步骤或单元。
下面以具体实施例对本发明的技术方案进行详细说明。下面几个具体实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
参见图1,图1是本发明实施例一编码压缩方法流程图,该方法用于对包括至少一种字符类型的字符且属于同一字符类型的字符相邻的业务数据进行压缩存储,如图1所示,该方法主要包括以下步骤:
步骤101、按照所述业务数据中所述至少一种字符类型的排序顺序,依次针对每种字符类型执行以下操作步骤102至步骤103:
本实施例中,所述业务数据中所述至少一种字符类型的排序顺序可以预先配置好或通过参数传入。
步骤102、如果该种字符类型不是所述业务数据中所述至少一种字符类型的排序顺序中的最后一种字符类型,则确定所述业务数据中属于该字符类型的字符长度,将所述业务数据中属于该字符类型的字符长度写入指定存储空间;
步骤103、根据该字符类型对应的编解码规则,将所述业务数据中属于该字符类型的每个字符编码后写入指定存储空间。
从图1所示方法可以看出,本实施例中,对于所述业务数据中的所有字符类型,除排序最后的字符类型外,其它字符类型按照字符长度+字符编码的格式进行压缩存储,而对于排序最后的字符类型,则仅存储其字符编码。本实施例中,通过编码压缩的方法,可以在有限的存储空间中存储更多数据,因此能够提高存储介质的空间利用率,降低成本,而且,对于排序最后的字符类型,仅存储其字符编码而不存储其字符长度,还可以进一步提高存储介质的空间利用率,降低成本。
参见图2,图2是本发明实施例二编码压缩方法流程图,该方法用于对包括至少一种字符类型的字符且属于同一字符类型的字符相邻的业务数据进行压缩存储,如图2所示,该方法主要包括以下步骤:
步骤201、按照所述业务数据中所述至少一种字符类型的排序顺序,依次针对每种字符类型执行以下操作步骤2021至步骤203;
本实施例中,业务数据中同一字符类型的字符相邻,例如,在业务数据:RWLMQCDC201002123456789123456中包括两种字符类型:字母和数字;其中,所有字母字符均相邻,所有数字字符均相邻。
步骤2021、如果该种字符类型不是所述业务数据中所述至少一种字符类型的排序顺序中的最后一种字符类型,则执行以下步骤2022至步骤2023:
这里,以业务数据“RWLMQCDC201002123456789123456”为例,该业务数据中包括两种字符类型(字母和数字),两种字符类型的排序顺序配置为:字母、数字。
步骤2022、确定所述业务数据中属于该字符类型的字符长度;
这里,以业务数据“RWLMQCDC201002123456789123456”为例,字母的字符长度为8,数字的字符长度为21。
步骤2023、根据表示该种字符类型的字符长度所需占用的比特位数,从指定存储空间的未占用存储空间分配该比特位数的存储空间,将该字符长度从十进制数据转换为二进制数据后写入分配的存储空间;
本实施例中,业务数据中包括的字符总长度可以预先配置好或通过参数传入。
本实施例中,表示每种字符长度所需占用的比特位数,可以是预先设定的,例如如果确定业务数据中包括的字符总长度不会超过20,则可以预先设定表示该种字符长度所需占用的比特位数为6(20<26-1)。
本实施例中,表示每种字符长度所需占用的比特位数,也可以直接根据业务数据中包括的字符总长度确定,以上述业务数据“RWLMQCDC201002123456789123456”为例,其包括的字符总长度为29,因此,可以根据所述业务数据中包括的字符总长度29确定表示该种字符类型的字符长度所需占用的比特位数最少为5(24-1<21<25-1)比特。
以上步骤2023是图1所示步骤102中“将所述业务数据中属于该字符类型的字符长度写入指定存储空间”的具体细化。
以上步骤2021至步骤2023是图1所示步骤102的具体细化。
步骤203、根据该字符类型对应的编解码规则,将所述业务数据中属于该字符类型的每个字符编码后写入指定存储空间。
从图2所示方法可以看出,本实施例中,对于所述业务数据中的所有字符类型,对于非排序最后的字符类型,先根据表示该种字符类型的字符长度所需占用的比特位数,从指定存储空间的未占用存储空间分配该比特位数的存储空间,将该字符长度从十进制数据转换为二进制数据后写入分配的存储空间,然后再对该种字符类型的字符进行编码存储;而对于排序最后的字符类型,则仅存储对该种字符类型的字符进行编码存储。本实施例中,通过编码压缩的方法,可以在有限的存储空间中存储更多数据,因此能够提高存储介质的空间利用率,降低成本,而且,对于排序最后的字符类型,仅存储其字符编码而不存储其字符长度,还可以进一步提高存储介质的空间利用率,降低成本。
参见图3,图3是本发明实施例三编码压缩方法流程图,该方法用于对包括至少一种字符类型的字符且属于同一字符类型的字符相邻的业务数据进行压缩存储,如图3所示,该方法主要包括以下步骤:
步骤301、按照所述业务数据中所述至少一种字符类型的排序顺序,依次针对每种字符类型执行以下操作步骤302至步骤303:
步骤302、如果该种字符类型不是所述业务数据中所述至少一种字符类型的排序顺序中的最后一种字符类型,则确定所述业务数据中属于该字符类型的字符长度,将所述业务数据中属于该字符类型的字符长度写入指定存储空间;
本实施例中,可以预先设定每种字符类型对应的编解码规则。每种字符类型的编解码规则可以根据该种字符类型包括的字符总量确定,具体包括:根据该种字符类型包含的字符总量确定表示该种字符类型的单个字符所需占用的最小比特位数L,配置该种字符类型的每一字符到数值区间[0,2L-1]中的一个数值的映射关系;其中,该种字符类型的每一字符映射到的数值与该种字符类型的任一其它字符映射到的数值互不相同。
以字母为例,字母包含的字符总量是26,由此可以确定表示单个字母所需占用的最小比特位数L=5(24-1<26<25-1),进而可以配置每个字母到数值区间[0,2L-1]中的一个数值的映射关系,例如,可以将字母A、B、C、……、 Z分别映射到数值1、2、3、……、26,则字母与数值之间的映射关系集合即为字母对应的编解码规则。
以数字为例,数字包含的字符总量是10,由此可以确定表示单个数字所需占用的最小比特位数L=4(23-1<10<24-1),进而可以配置每个数字到数值区间[0,2L-1]中的一个数值的映射关系,例如,可以将数字0、1、2、……、 9分别映射到数值0、1、2、……、9,则数字与数值之间的映射关系集合即为数字对应的编解码规则。
步骤303、根据该字符类型对应的编解码规则,确定所述业务数据中属于该字符类型的每个字符映射到的数值,从指定存储空间的未占用存储空间分配表示该种字符类型的单个字符所需占用的最小比特位数的存储空间,将该数值作为该字符对应的编码结果,将该编码结果从十进制数据转换为二进制数据后写入分配的存储空间。
以上步骤303是图1所示步骤103的具体细化。
从图3所示方法可以看出,本实施例中,对于所述业务数据中的所有字符类型,除非排序最后的字符类型,按照字符长度+字符编码的格式进行压缩存储,;而对于排序最后的字符类型,则仅存储其字符编码,其中,对字符编码时采用的字符编码方法可以使每个字符占用最小的空间。本实施例中,通过编码压缩的方法,可以在有限的存储空间中存储更多数据,因此能够提高存储介质的空间利用率,降低成本,而且,对于排序最后的字符类型,仅存储其字符编码而不存储其字符长度,还可以进一步提高存储介质的空间利用率,降低成本。
以上对本发明实施例提供的压缩编码方法进行了详细介绍,以下以一个具体的例子进行进一步解释说明。
参见图4,图4是本发明实施例压缩编码方法示例图,如图4所示,假设预先设定表示每种字符类型的字符长度所需占用的比特位数是6,该方法示出了对业务数据“RWLMQCDC201002123456789123456”的编码过程,具体包括:
S401、获取该业务数据中字母的字符长度8,在指定存储空间中分配6bits 存储空间(从指定存储空间的起始位置开始进行存储空间分配),将8从十进制数据转换为二进制数据001000,然后存储到分配的6bits存储空间中;
S402,针对该业务数据中的每个字母,在指定存储空间中为该字母分配 5bits(L=5)存储空间,根据字母对应的编解码规则确定该字母映射到的数值,将该数值从十进制转换为二进制数据,然后存储到分配的5bits存储空间中。
接下来是对该业务数据中的数字进行处理,由于数字是排序最后的字符类型,因此不进行字符长度存储,而是直接进行字符编码存储,因此,直接执行S403。
S403、针对该业务数据中的每个数字,在指定存储空间中为该数字分配 4bits存储空间,根据数字对应的编解码规则确定该数字映射到的数值,将该数值从十进制转换为二进制数据,然后存储到分配的4bits存储空间中。
本发明实施例还提供了与上述编码压缩方法相对应的解码方法,以下结合图5-8进行详细说明:
参见图5,图5是本发明实施例一解码方法流程图,该方法用于对业务数据的压缩编码进行解码,所述业务数据中包括至少一种字符类型且属于同一字符类型的字符相邻;如图5所示,该方法主要包括以下步骤:
步骤501、按照所述业务数据中所述至少一种字符类型的排序顺序,依次针对每种字符类型执行以下操作步骤502至步骤503:
步骤502、如果该种字符类型不是所述业务数据中所述至少一种字符类型的排序顺序中的最后一种字符类型,则从指定存储空间读取所述业务数据中该种字符类型的字符长度,否则,计算确定所述业务数据中该种字符类型的字符长度;
本实施例中,所述业务数据中包括的字符总长度是已知的,可以预先配置在设备中。计算确定所述业务数据中该种字符类型的字符长度,可以通过将所述业务数据中包括的字符总长度减去非排序最后的所有字符类型的字符长度。非排序最后的每种字符类型的字符长度,可以从指定存储空间读取得到。
本实施例中,所述业务数据中包括的字符类型和字符类型的排序顺序均是已知的,可以预先配置在设备中或者通过参数传入。
步骤503、根据所述业务数据中该种字符类型的字符长度和该种字符类型对应的编解码规则,从指定存储空间读取所述业务数据中属于该字符类型的压缩编码并进行解码。
从图5所示方法可以看出,本实施例中,根据图1中对所述业务数据的编码压缩方法,提供对所述业务数据的压缩编码的反向解码方法。应用本发明的方法,可以支持在有限的存储空间中存储更多的数据,因而能够提高存储介质的空间利用率,降低成本。
参见图6,图6是本发明实施例二解码方法流程图,该方法用于对业务数据的压缩编码进行解码,所述业务数据中包括至少一种字符类型且属于同一字符类型的字符相邻;如图6所示,该方法主要包括以下步骤:
步骤601、按照所述业务数据中所述至少一种字符类型的排序顺序,依次针对每种字符类型执行以下操作步骤6021至步骤603:
步骤6021、判断该种字符类型是否是所述业务数据中所述至少一种字符类型的排序顺序中的最后一种字符类型,如果是,则执行步骤6023,否则执行步骤6022:
步骤6022、从指定存储空间读取表示该种字符类型的字符长度所需占用的比特位数的二进制数据,将读取的二进制数据转换为十进制数据,将该十进制数据确定为所述业务数据中该种字符类型的字符长度;
本实施例中,业务数据中包括的字符总长度是已知的。另外,所述业务数据中包括的字符类型和字符类型的排序顺序也是已知的,可以预先配置在设备中或者通过参数传入。
本实施例中,表示每种字符长度所需占用的比特位数,可以是预先设定的,例如已知业务数据中包括的字符总长度是10,则可以预先设定表示该种字符长度所需占用的比特位数为6(11<26-1)。
本实施例中,表示每种字符长度所需占用的比特位数,也可以直接根据业务数据中包括的字符总长度确定,以上述业务数据“RWLMQCDC201002123456789123456”为例,其包括的字符总长度为29,因此,可以根据所述业务数据中包括的字符总长度29确定表示该种字符类型的字符长度所需占用的比特位数最少为5(24-1<21<25-1)比特。
本实施例中,假设表示该种字符类型的字符长度所需占用的比特位数是 8,从指定存储空间读取表示该种字符类型的字符长度所需占用的比特位数的二进制数据是001000,转换为十进制数据为8,则可以确定该种字符类型的字符长度是8。
以上步骤6022,是图5所示步骤502中“从指定存储空间读取所述业务数据中该种字符类型的字符长度”的具体细化。
步骤6023、计算确定所述业务数据中该种字符类型的字符长度;
本实施例中,所述业务数据中包括的字符总长度是已知的,可以预先配置在设备中。计算确定所述业务数据中该种字符类型的字符长度,可以通过将所述业务数据中包括的字符总长度减去非排序最后的所有字符类型的字符长度。非排序最后的每种字符类型的字符长度,可以从指定存储空间读取得到。
步骤603、根据所述业务数据中该种字符类型的字符长度和该种字符类型对应的编解码规则,从指定存储空间读取所述业务数据中属于该字符类型的压缩编码并进行解码。
从图6所示方法可以看出,本实施例中,根据图2中对所述业务数据的编码压缩方法,提供对所述业务数据的压缩编码的反向解码方法。应用本发明的方法,可以支持在有限的存储空间中存储更多的数据,因而能够提高存储介质的空间利用率,降低成本。
参见图7,图7是本发明实施例三解码方法流程图,该方法用于对业务数据的压缩编码进行解码,所述业务数据中包括至少一种字符类型且属于同一字符类型的字符相邻;如图7所示,该方法主要包括以下步骤:
步骤701、按照所述业务数据中所述至少一种字符类型的排序顺序,依次针对每种字符类型执行以下操作步骤702至步骤703:
步骤702、如果该种字符类型不是所述业务数据中所述至少一种字符类型的排序顺序中的最后一种字符类型,则从指定存储空间读取所述业务数据中该种字符类型的字符长度,否则,计算确定所述业务数据中该种字符类型的字符长度;
本实施例中,所述业务数据中包括的字符总长度是已知的,可以预先配置在设备中。另外,所述业务数据中包括的字符类型和字符类型的排序顺序均是已知的,可以预先配置在设备中或者通过参数传入。
本实施例中,计算确定所述业务数据中该种字符类型的字符长度,可以通过将所述业务数据中包括的字符总长度减去非排序最后的所有字符类型的字符长度。非排序最后的每种字符类型的字符长度,可以从指定存储空间读取得到。
本实施例中,可以预先设定每种字符类型对应的编解码规则。每种字符类型的编解码规则可以根据该种字符类型包括的字符总量确定,具体包括:根据该种字符类型包含的字符总量确定表示该种字符类型的单个字符所需占用的最小比特位数L,配置该种字符类型的每一字符到数值区间[0,2L-1]中的一个数值的映射关系;其中,该种字符类型的每一字符映射到的数值与该种字符类型的任一其它字符映射到的数值互不相同。
以字母为例,字母包含的字符总量是26,由此可以确定表示单个字母所需占用的最小比特位数L=5(24-1<26<25-1),进而可以配置每个字母到数值区间[0,2L-1]中的一个数值的映射关系,例如,可以将字母A、B、C、……、Z分别映射到数值1、2、3、……、26,则字母与数值之间的映射关系集合即为字母对应的编解码规则。
以数字为例,数字包含的字符总量是10,由此可以确定表示单个数字所需占用的最小比特位数L=4(23-1<10<24-1),进而可以配置每个数字到数值区间[0,2L-1]中的一个数值的映射关系,例如,可以将字母0、1、2、……、 9分别映射到数值0、1、2、……、9,则数字与数值之间的映射关系集合即为字母对应的编解码规则。
步骤703、循环执行以下操作,直至得到的解码结果数量等于所述业务数据中该种字符类型的字符长度:从指定存储空间读取表示该种字符类型的单个字符所需占用的最小比特位数的压缩编码,将该压缩编码从二进制数据转换为十进制数据,将该种字符类型中映射到该十进制数据的字符确定为该压缩编码对应的解码结果。
以上步骤703是图5所示步骤503的具体细化。
从图7所示方法可以看出,本实施例中,根据图3中对所述业务数据的编码压缩方法,提供对所述业务数据的压缩编码的反向解码方法。应用本发明的方法,可以支持在有限的存储空间中存储更多的数据,因而能够提高存储介质的空间利用率,降低成本。
以上对本发明实施例解码方法进行了详细说明,以下以一个具体的例子进行进一步解释说明:
参见图8,图8是本发明实施例解码方法示例图,如图8所示,假设预先设定表示每种字符类型的字符长度所需占用的比特位数是6,该方法示出了对业务数据“RWLMQCDC201002123456789123456”的压缩编码的解码过程,具体包括:
S801、从指定存储空间中读取6bits二进制数据(001000),将其转换为十进制数据8,因此确定该业务数据中字母的字符长度是8;
S802,循环执行以下操作,直至得到的8个字母编码的解码结果:从指定存储空间读取5bits(表示单个字母所需占用的存储空间是5bits)二进制数据,将该二进制数据转换为十进制数据,确定映射到该十进制数据的字母,该字母为一个字母编码的解码结果。
接下来是对该业务数据中的数字压缩编码进行解码,由于数字是排序最后的字符类型,指定存储空间中未存储数字的字符长度,由于已知所述业务数据包括的字符总长度是29,另外也已经得知字母8个,因此可以计算得到数字是21个,因此,直接执行S803以进行数字的压缩编码的读取和解码操作。
S803、循环执行以下操作,直至得到的21个数字编码的解码结果:从指定存储空间读取4bits(表示单个字母所需占用的存储空间是4bits)二进制数据,将该二进制数据转换为十进制数据,确定映射到该十进制数据的数字,该数字即为一个数字编码的解码结果。
本发明实施例还提供了一种编码压缩装置,该装置用于对目标存储位置为指定存储空间的业务数据进行压缩存储,所述业务数据中包括至少一种字符类型的字符且属于同一字符类型的字符相邻,如图9所示,该装置包括:
第一处理单元901,用于按照所述业务数据中所述至少一种字符类型的排序顺序,依次针对每种字符类型执行以下操作:
如果该种字符类型不是所述业务数据中所述至少一种字符类型的排序顺序中的最后一种字符类型,则确定所述业务数据中属于该字符类型的字符长度,将所述业务数据中属于该字符类型的字符长度写入指定存储空间;
根据该字符类型对应的编解码规则,将所述业务数据中属于该字符类型的每个字符编码后写入指定存储空间。
图9所示装置中,
所述第一处理单元901,将所述业务数据中属于该字符类型的字符长度写入指定存储空间,包括:
根据表示该种字符类型的字符长度所需占用的比特位数,从指定存储空间的未占用存储空间分配该比特位数的存储空间,将该字符长度从十进制数据转换为二进制数据后写入分配的存储空间;其中,表示该种字符长度所需占用的比特位数是预先设定的或根据所述业务数据中包括的字符总长度确定的。
图9所示装置中,
每种字符类型对应的编解码规则,是根据该种字符类型包括的字符总量确定的,具体包括:根据该种字符类型包含的字符总量确定表示该种字符类型的单个字符所需占用的最小比特位数L,配置该种字符类型的每一字符到数值区间 [0,2L-1]中的一个数值的映射关系;其中,该种字符类型的每一字符映射到的数值与该种字符类型的任一其它字符映射到的数值互不相同;
所述第一处理单元901,将所述业务数据中属于该字符类型的每个字符编码后顺序写入指定存储空间,包括:
确定所述业务数据中属于该字符类型的每个字符映射到的数值,从指定存储空间的未占用存储空间分配表示该种字符类型的单个字符所需占用的最小比特位数的存储空间,将该数值作为该字符对应的编码结果,将该编码结果从十进制数据转换为二进制数据后写入分配的存储空间。
本发明实施例还提供了一种解码装置,该装置用于对指定存储空间中存储的业务数据的压缩编码进行解码,所述业务数据中包括至少一种字符类型且属于同一字符类型的字符相邻;如图10所示,该装置包括:
第二处理单元1001,用于按照所述业务数据中所述至少一种字符类型的排序顺序,依次针对每种字符类型执行以下操作:
如果该种字符类型不是所述业务数据中所述至少一种字符类型的排序顺序中的最后一种字符类型,则从指定存储空间读取所述业务数据中该种字符类型的字符长度,否则,计算确定所述业务数据中该种字符类型的字符长度;
根据所述业务数据中该种字符类型的字符长度和该种字符类型对应的编解码规则,从指定存储空间读取所述业务数据中属于该字符类型的压缩编码并进行解码。
图10所示装置中,
所述第二处理单元1001,从指定存储空间读取所述业务数据中该种字符类型的字符长度,包括:
从指定存储空间读取表示该种字符类型的字符长度所需占用的比特位数的二进制数据,将读取的二进制数据转换为十进制数据,将该十进制数据确定为所述业务数据中该种字符类型的字符长度;其中,表示该种字符长度所需占用的比特位数是预先设定的或根据所述业务数据中包括的字符总长度确定的。
图10所示装置中,
每种字符类型对应的编解码规则,是根据该种字符类型包括的字符总量确定的,具体包括:根据该种字符类型包含的字符总量确定表示该种字符类型的单个字符所需占用的最小比特位数L,配置该种字符类型的每一字符到数值区间 [0,2L-1]中的一个数值的映射关系;其中,该种字符类型的每一字符映射到的数值与该种字符类型的任一其它字符映射到的数值互不相同;
所述第二处理单元1001,根据所述业务数据中该种字符类型的字符长度和该种字符类型对应的编解码规则,从指定存储空间读取所述业务数据中属于该字符类型的压缩编码并进行解码,包括:
循环执行以下操作,直至得到的解码结果数量等于所述业务数据中该种字符类型的字符长度:从指定存储空间读取表示该种字符类型的单个字符所需占用的最小比特位数的压缩编码,将该压缩编码从二进制数据转换为十进制数据,将该种字符类型中映射到该十进制数据的字符确定为该压缩编码对应的解码结果。
本发明实施例还提供了一种电子设备,如图11所示,该电子设备包括:至少一个处理器1101,以及与所述至少一个处理器1101通过总线相连的存储器1102;所述存储器1102存储有可被所述至少一个处理器1101执行的一个或多个计算机程序;所述至少一个处理器1101执行所述一个或多个计算机程序时实现图1-3中任一流程图所示方法中的步骤,或实现图5-7中任一流程图所示方法中的步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个计算机程序,所述一个或多个计算机程序被处理器执行时实现图1-3中任一流程图所示方法中的步骤,或实现图5-7中任一流程图所示方法中的步骤。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (10)

1.一种编码压缩方法,其特征在于,该方法用于对包括至少一种字符类型的字符且属于同一字符类型的字符相邻的业务数据进行压缩存储,该方法包括:
按照所述业务数据中所述至少一种字符类型的排序顺序,依次针对每种字符类型执行以下操作:
如果该种字符类型不是所述业务数据中所述至少一种字符类型的排序顺序中的最后一种字符类型,则确定所述业务数据中属于该字符类型的字符长度,将所述业务数据中属于该字符类型的字符长度写入指定存储空间;
根据该字符类型对应的编解码规则,将所述业务数据中属于该字符类型的每个字符编码后写入指定存储空间。
2.根据权利要求1所述的方法,其特征在于,
将所述业务数据中属于该字符类型的字符长度写入指定存储空间,包括:
根据表示该种字符类型的字符长度所需占用的比特位数,从指定存储空间的未占用存储空间分配该比特位数的存储空间,将该字符长度从十进制数据转换为二进制数据后写入分配的存储空间;其中,表示该种字符长度所需占用的比特位数是预先设定的或根据所述业务数据中包括的字符总长度确定的。
3.根据权利要求1所述的方法,其特征在于,
每种字符类型对应的编解码规则,是根据该种字符类型包括的字符总量确定的,具体包括:根据该种字符类型包含的字符总量确定表示该种字符类型的单个字符所需占用的最小比特位数L,配置该种字符类型的每一字符到数值区间[0,2L-1]中的一个数值的映射关系;其中,该种字符类型的每一字符映射到的数值与该种字符类型的任一其它字符映射到的数值互不相同;
将所述业务数据中属于该字符类型的每个字符编码后顺序写入指定存储空间,包括:
确定所述业务数据中属于该字符类型的每个字符映射到的数值,从指定存储空间的未占用存储空间分配表示该种字符类型的单个字符所需占用的最小比特位数的存储空间,将该数值作为该字符对应的编码结果,将该编码结果从十进制数据转换为二进制数据后写入分配的存储空间。
4.一种解码方法,其特征在于,该方法用于对包括至少一种字符类型且属于同一字符类型的字符相邻的业务数据的压缩编码进行解码;该方法包括:
按照所述业务数据中所述至少一种字符类型的排序顺序,依次针对每种字符类型执行以下操作:
如果该种字符类型不是所述业务数据中所述至少一种字符类型的排序顺序中的最后一种字符类型,则从指定存储空间读取所述业务数据中该种字符类型的字符长度,否则,计算确定所述业务数据中该种字符类型的字符长度;
根据所述业务数据中该种字符类型的字符长度和该种字符类型对应的编解码规则,从指定存储空间读取所述业务数据中属于该字符类型的压缩编码并进行解码。
5.根据权利要求1所述的方法,其特征在于,
从指定存储空间读取所述业务数据中该种字符类型的字符长度,包括:
从指定存储空间读取表示该种字符类型的字符长度所需占用的比特位数的二进制数据,将读取的二进制数据转换为十进制数据,将该十进制数据确定为所述业务数据中该种字符类型的字符长度;其中,表示该种字符长度所需占用的比特位数是预先设定的或根据所述业务数据中包括的字符总长度确定的。
6.根据权利要求1所述的方法,其特征在于,
每种字符类型对应的编解码规则,是根据该种字符类型包括的字符总量确定的,具体包括:根据该种字符类型包含的字符总量确定表示该种字符类型的单个字符所需占用的最小比特位数L,配置该种字符类型的每一字符到数值区间[0,2L-1]中的一个数值的映射关系;其中,该种字符类型的每一字符映射到的数值与该种字符类型的任一其它字符映射到的数值互不相同;
根据所述业务数据中该种字符类型的字符长度和该种字符类型对应的编解码规则,从指定存储空间读取所述业务数据中属于该字符类型的压缩编码并进行解码,包括:
循环执行以下操作,直至得到的解码结果数量等于所述业务数据中该种字符类型的字符长度:从指定存储空间读取表示该种字符类型的单个字符所需占用的最小比特位数的压缩编码,将该压缩编码从二进制数据转换为十进制数据,将该种字符类型中映射到该十进制数据的字符确定为该压缩编码对应的解码结果。
7.一种编码压缩装置,其特征在于,该装置用于对包括至少一种字符类型的字符且属于同一字符类型的字符相邻的业务数据进行压缩存储,该装置包括:
第一处理单元,用于按照所述业务数据中所述至少一种字符类型的排序顺序,依次针对每种字符类型执行以下操作:
如果该种字符类型不是所述业务数据中所述至少一种字符类型的排序顺序中的最后一种字符类型,则确定所述业务数据中属于该字符类型的字符长度,将所述业务数据中属于该字符类型的字符长度写入指定存储空间;
根据该字符类型对应的编解码规则,将所述业务数据中属于该字符类型的每个字符编码后写入指定存储空间。
8.一种解码装置,其特征在于,该装置用于对包括至少一种字符类型且属于同一字符类型的字符相邻的业务数据的压缩编码进行解码;该装置包括:
第二处理单元,用于按照所述业务数据中所述至少一种字符类型的排序顺序,依次针对每种字符类型执行以下操作:
如果该种字符类型不是所述业务数据中所述至少一种字符类型的排序顺序中的最后一种字符类型,则从指定存储空间读取所述业务数据中该种字符类型的字符长度,否则,计算确定所述业务数据中该种字符类型的字符长度;
根据所述业务数据中该种字符类型的字符长度和该种字符类型对应的编解码规则,从指定存储空间读取所述业务数据中属于该字符类型的压缩编码并进行解码。
9.一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器通过总线相连的存储器;所述存储器存储有可被所述至少一个处理器执行的一个或多个计算机程序;其特征在于,所述至少一个处理器执行所述一个或多个计算机程序时实现权利要求1-3中任一权项所述的方法中的步骤,或实现权利要求4-6中任一权项所述的方法中的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储一个或多个计算机程序,所述一个或多个计算机程序被处理器执行时实现权利要求1-3中任一权项所述的方法中的步骤,或实现权利要求4-6中任一权项所述的方法中的步骤。
CN202210185338.3A 2022-02-28 2022-02-28 一种编码压缩方法、解码方法及装置 Active CN114500670B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210185338.3A CN114500670B (zh) 2022-02-28 2022-02-28 一种编码压缩方法、解码方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210185338.3A CN114500670B (zh) 2022-02-28 2022-02-28 一种编码压缩方法、解码方法及装置

Publications (2)

Publication Number Publication Date
CN114500670A true CN114500670A (zh) 2022-05-13
CN114500670B CN114500670B (zh) 2024-04-05

Family

ID=81483626

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210185338.3A Active CN114500670B (zh) 2022-02-28 2022-02-28 一种编码压缩方法、解码方法及装置

Country Status (1)

Country Link
CN (1) CN114500670B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115001628A (zh) * 2022-06-07 2022-09-02 北京百度网讯科技有限公司 数据编码的方法及装置、数据解码的方法及装置和数据结构

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008084341A (ja) * 1999-06-21 2008-04-10 Fujitsu Ltd 構造化文書の圧縮方法および圧縮装置並びに構造化文書圧縮プログラムを記録したコンピュータ読取可能な記録媒体
US20120139763A1 (en) * 2010-12-07 2012-06-07 International Business Machines Corporation Decoding encoded data
CN102508824A (zh) * 2011-09-29 2012-06-20 苏州大学 一种微博信息的压缩编码和解码的方法及装置
CN107565971A (zh) * 2017-09-07 2018-01-09 华为技术有限公司 一种数据压缩方法及装置
CN107592116A (zh) * 2017-09-21 2018-01-16 咪咕文化科技有限公司 一种数据压缩方法、装置及存储介质
CN107967314A (zh) * 2017-11-22 2018-04-27 珠海市君天电子科技有限公司 文本特征值的提取方法、装置及电子设备
CN108255411A (zh) * 2016-12-29 2018-07-06 北京京东尚科信息技术有限公司 一种数据压缩方法与装置和数据解压缩方法与装置
GB202007278D0 (en) * 2020-05-16 2020-07-01 Maymask 171 Ltd Lossless compression of sorted data

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008084341A (ja) * 1999-06-21 2008-04-10 Fujitsu Ltd 構造化文書の圧縮方法および圧縮装置並びに構造化文書圧縮プログラムを記録したコンピュータ読取可能な記録媒体
US20120139763A1 (en) * 2010-12-07 2012-06-07 International Business Machines Corporation Decoding encoded data
CN102508824A (zh) * 2011-09-29 2012-06-20 苏州大学 一种微博信息的压缩编码和解码的方法及装置
CN108255411A (zh) * 2016-12-29 2018-07-06 北京京东尚科信息技术有限公司 一种数据压缩方法与装置和数据解压缩方法与装置
CN107565971A (zh) * 2017-09-07 2018-01-09 华为技术有限公司 一种数据压缩方法及装置
CN107592116A (zh) * 2017-09-21 2018-01-16 咪咕文化科技有限公司 一种数据压缩方法、装置及存储介质
CN107967314A (zh) * 2017-11-22 2018-04-27 珠海市君天电子科技有限公司 文本特征值的提取方法、装置及电子设备
GB202007278D0 (en) * 2020-05-16 2020-07-01 Maymask 171 Ltd Lossless compression of sorted data

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
K. A. BHAVSAR ,等: "Analysis of test data compression techniques emphasizing statistical coding schemes", 《ICWET \'11: PROCEEDINGS OF THE INTERNATIONAL CONFERENCE & WORKSHOP ON EMERGING TRENDS IN TECHNOLOGY》 *
MD. ASHIQ MAHMOOD;等: "A Feasible 6 Bit Text Database Compression Scheme with Character Encoding (6BC)", 《2018 21ST INTERNATIONAL CONFERENCE OF COMPUTER AND INFORMATION TECHNOLOGY (ICCIT)》 *
李隆江;: "字符串装配间隙的消除――数据压缩的一种方法", 计算机研究与发展, no. 01 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115001628A (zh) * 2022-06-07 2022-09-02 北京百度网讯科技有限公司 数据编码的方法及装置、数据解码的方法及装置和数据结构
CN115001628B (zh) * 2022-06-07 2024-02-27 北京百度网讯科技有限公司 数据编码的方法及装置、数据解码的方法及装置和数据结构

Also Published As

Publication number Publication date
CN114500670B (zh) 2024-04-05

Similar Documents

Publication Publication Date Title
CN104579360B (zh) 一种数据处理的方法和设备
US7737869B2 (en) Symbol based data compression
CN105933009B (zh) 数据压缩方法及系统、解压缩方法及系统
CN116506073B (zh) 一种工业计算机平台数据快速传输方法及系统
CN108631942A (zh) 编码方法、译码方法、装置和设备
CN107094021A (zh) 数据压缩
US11955992B2 (en) Rate matching method and apparatus for polar code
US7650040B2 (en) Method, apparatus and system for data block rearrangement for LZ data compression
CN109660527B (zh) 一种打印机数据的压缩传输方法
CN103973402A (zh) 数据发送方法、接收方法及设备
CN114500670A (zh) 一种编码压缩方法、解码方法及装置
CN1675842B (zh) 算术编码的方法、设备以及相应解码方法
US7786903B2 (en) Combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems
CN116614139A (zh) 一种售酒小程序内用户交易信息压缩存储方法
CN1766830B (zh) 基于处理器字长的数的二进制表示
CN113630125A (zh) 数据压缩、编码解压缩方法、装置、电子设备及存储介质
CN111368508A (zh) 数据处理方法、装置、设备及介质
CN112016270B (zh) 汉信码的物流信息编码方法、装置及设备
CN109753227B (zh) 存储方法、装置、移动终端、服务器和可读存储介质
CN114513209A (zh) 数据压缩方法、装置、设备及存储介质
US9235610B2 (en) Short string compression
CN112262578A (zh) 点云属性编码方法和装置以及点云属性解码方法和装置
US8395537B2 (en) Methods for compressing and decompressing mifare applications
CN111836051A (zh) 一种桌面图像编码、解码方法及相关装置
CN117118455A (zh) 数据压缩方法及相关装置

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