CN112417815A - 一种大数据处理中类别组合数据的动态编码方法 - Google Patents
一种大数据处理中类别组合数据的动态编码方法 Download PDFInfo
- Publication number
- CN112417815A CN112417815A CN202011299560.3A CN202011299560A CN112417815A CN 112417815 A CN112417815 A CN 112417815A CN 202011299560 A CN202011299560 A CN 202011299560A CN 112417815 A CN112417815 A CN 112417815A
- Authority
- CN
- China
- Prior art keywords
- category
- value
- values
- class
- data
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000012545 processing Methods 0.000 title claims abstract description 13
- 238000004364 calculation method Methods 0.000 claims abstract description 14
- 238000003491 array Methods 0.000 claims abstract description 12
- 238000013507 mapping Methods 0.000 claims description 17
- 101100008044 Caenorhabditis elegans cut-1 gene Proteins 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 125000006850 spacer group Chemical group 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- 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/903—Querying
- G06F16/90335—Query processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
一种大数据处理中类别组合数据的动态编码方法,将所述数据信息进行类型划分,并将所述数据信息根据数据类型进行分类组合存储,将每一数据类型中的类别值进行编码;利用字节数组对数据信息进行存储,根据数据类型对类别编码值进行分组存储到所述字节数组中。将字符串利用字节数组进行编码,大大较低了数据的存储空间,并且可以横向扩展存储空间,只需要在原字节数组中增加存储单元,并修改存储单元数量即可;对利用本发明所述的动态编码方法进行类别组合值的查找时,只需要进行数据的字符数组之间的位运算,而不需要对数据的字符串进行比较,大幅度的提升了计算速度。
Description
技术领域
本发明涉及计算机数据处理领域,尤其涉及一种大数据处理中类别组合数据的动态编码方法。
背景技术
在大数据应用中,对数据快速的存取尤为重要。在某些定义分类信息的数据项的中,需要保存同一分类的多个类别值。传统的方法是将类别值进行统一编码,使用间隔符将多个编码连接成一个字符串,存储到数据项中。这种方法的缺陷或不足为:首先,当类别值的个数较多时,构建的字符串较长,占用的存储空间较大;其次,在查找数据中是否包含指定的几个类别值时,需要将字符串按照间隔符分割成多个子字符串,然后对每个子字符串依次对进行遍历比较才能实现,耗时较长;以上问题,在海量规模的数据中更加凸显。
发明内容
本发明的目的在于提供一种大数据处理中类别组合数据的动态编码方法,从而解决现有技术中存在的前述问题。
为了实现上述目的,本发明采用的技术方案如下:
一种大数据处理中类别组合数据的动态编码方法,包括以下步骤:
S1,将数据信息进行定义分类,形成定义类型;每一个所述定义类型存储有一个或一个以上的类别值,形成类别组合值;
S2、将每一个所述定义类型中的所述类别值按照所述类别值出现的频率,从高到低进行排序,并按照自然数的顺序进行统一编码,形成类别编码值;
S3、以组为单位,将每一组所述类别组合值存储于同一存储单元中,并利用所述存储单元中的字节中的一个位存储一个所述类别值;
S4、根据所述定义类型中所述类别值的总数,设置每组所述存储单元的字节数n,可存储的所述类别编码值的的最大个数为n*8;根据所述数据信息中的所述类别编码值的数量,计算所需的所述存储单元的数量;
S5、计算所述类别编码值所属的所述存储单元的序号,以及所述类别编码值对应的映射值;
所述映射值的计算公式为:yij=2^(xij%(n*8))
其中,xij表示第i个类别组合值中的第j个类别编码值;yij表示第i个类别组合值中的第j个类别编码值对应的映射值;
其中,yi表示第i个类别组合值的汇总值;
S7、将汇总后的所述数据信息通过字节数组进行存储;所述字节数组中的第一个字节用以显示所述数据信息中的所述存储单元的数量,随后按照所述存储单元的序号的顺序对所述存储单元进行存储,构成所述字节数组,实现所述数据信息的存储编码。
优选的,所述类别编码值的编码顺序为自然数的顺序。
优选的,所述类别值进行编码之前,预先计算属于所述类别值的数据出现的频率,将所述类别值按照所述频率从高到低的顺序进行排列。
优选的,根据所述类别编码值和每个所述存储单元存储的所述类别值的最大个数,计算所述存储单元的数量;实现上述计算方法的实现代码为:
if max(S)%(n*8)>0 m=max(S)/(n*8)+1 else m=max(S)/(n*8)
其中,S表示每一所述存储单元中所述类别编码值的集合;max(S)表示所述集合中所述类别编码值最大的一个元素。
优选的,步骤S6中计算所述类别编码值x所属的所述存储单元的序号i的实现代码为:
if x%(n*8)>0 i=x/(n*8)+1 else i=x/(n*8)
其中,x表示类别编码值,i表示存储单元的序号。
优选的,查找类别组合值A中是否包括某一特定的类别组合值B的步骤为:
构建所述类别组合值B的字节数组b1,与所述类别组合值A对应的字节数组a1进行比较。
优选的,所述类别值查找的实现代码为:
读取b1[0]的存储单元数量m1,读取a1[0]的存储单元数量m2
本发明的有益效果是:一种大数据处理中类别组合数据的动态编码方法,将字符串利用字节数组进行编码,大大较低了数据的存储空间,并且可以横向扩展存储空间,只需要在原字节数组中增加存储单元,并修改存储单元数量即可;利用本方法进行类别组合值的查找时,只需要进行数据的字符数组之间的位运算,而不需要对数据的字符串进行比较,大幅度的提升了计算速度。
附图说明
图1是类别组合数据动态编码逻辑示意图;
图2是类别组合数据存储结构示意图;
图3是类别组合数据的编码及查找过程示例图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
一种大数据处理中类别组合数据的动态编码方法,将所述数据信息进行类型划分,并将所述数据信息根据数据类型进行分类组合存储,将每一数据类型中的类别值进行编码;利用字节数组对数据信息进行存储,根据数据类型对类别编码值进行分组存储到所述字节数组中,如图1所示,包括以下步骤:
S1、对数据信息进行定义分类,将所述数据信息根据定义分类,分为不同的定义类型,构成类别组合值;
S2、每一个所述定义类型中包括多种类别值,将每一个所述定义类型中的所述类别值按照所述类别值出现的频率,从高到低进行排序,并按照自然数的顺序进行统一编码;形成的类别编码值依次为:0、1、2、……;
S3、以组为单位,将每一组所述类别组合值存储于同一存储单元中,并利用所述存储单元中的字节中的一个位存储一个所述类别值;
S4、根据所述类别组合值中所述类别值的数量,设置每组所述存储单元的字节数n,可存储的所述类别值的最大个数为n*8;当存储包含多种所述定义类型的所述数据信息时,根据所述类别编码值的数量,计算所需的所述存储单元的数量的实现代码为:
if max(S)%(n*8)>0 m=max(S)/(n*8)+1 else m=max(S)/(n*8)
其中,S表示所有所述存储单元中所述类别编码值的集合;max(S)表示所述集合中所述类别编码值最大的一个元素;
S5、计算所述类别编码值所属的所述存储单元的序号,以及所述类别编码值对应的映射值;计算类别编码值x所属的所述存储单元的序号i的实现代码为:
if x%(n*8)>0 i=x/(n*8)+1 else i=x/(n*8)
所述映射值的计算公式为:yij=2^(xij%(n*8))
其中,xij表示第i个类别组合值中的第j个类别编码值;yij表示第i个类别组合值中的第j个类别编码值对应的映射值;
其中,yi表示第i个类别组合值的汇总值;
S7、将汇总后的所述数据信息通过字节数组进行存储;所述字节数组中的第一个字节用以显示所述数据信息中的所述存储单元的数量,随后按照所述存储单元的序号的顺序对所述存储单元进行存储,如果第k个存储单元汇总值yk为空,设为缺省值0,构成所述字节数组,实现所述数据信息的存储编码。
实施例中,首先对数据信息进行分类组合,按照定义分类分为不同的定义类型,在每一定义类型中包含多个类别值;将所述类别值和所述定义类型进行顺序排列;其中,将所有所述类别值利用自然数的顺序进行统一编码,形成类别编码值,所述类别值在进行编码前,预先按照所述类别值出现的频率从高到低的顺序进行排列,再按照排列后的顺序对所述类别值进行统一编码,所述类别编码值依次为:0、1、2、3、4……;所述定义类型将每组所述类别组合值存储到同一存储单元中,并将所述存储单元按照自然数的顺序进行排序,所述存储单元的序号从1开始。
实施例中,根据所述类别值的数量计算所需的所述存储单元的数量,并将所述存储单元进行排序:设置每组所述类别组合值中的字节数为n,即可存储的类别编码值的数量为n*8;当所述类别编码值的集合为S时,计算所述存储单元的数量m,其实现代码为:
if max(S)%(n*8)>0 m=max(S)/(n*8)+1 else m=max(S)/(n*8)
其中,max(S)表示集合S中类别编码值最大的一个元素。
实施例中,依次计算所述类别编码值x分别存储的所述存储单元的序号i,其实现代码为:
if x%(n*8)>0 i=x/(n*8)+1 else i=x/(n*8)
利用计算公式,依次计算每一个所述类别编码值的映射值,并将所述映射值按照所述存储单元进行汇总;设xij表示第i个分组中第j个类别编码值,yij表示第i个分组中第j个类别编码值对应的映射值,所述类别编码值的映射值的计算公式为:
yij=2^(xij%(n*8))
设yi表示第i个存储单元的汇总值,所述映射值的汇总值的计算公式为:
实施例中,将所述汇总值按照顺序构建字节数组,利用所述字节数组对所述数据信息进行存储;所述字节数组中第一个字节用以表示所述存储单元的数量,最大可取值为255,随后按照所述存储单元和所述类别编码值的顺序,将所述汇总值排列至所述字节数组的第一个字节后,构成存储所述数据信息的字节数组。类别组合数据存储结构如图2所示。
实施例中,所述数据信息通过上述动态编码方法进行编码,并存储后,查找类别组合值A中的是否包含特定的类别组合值B,其查找方法如下:按照上述动态编码的方法,构建所述类别组合值B对应的字节数组b1,再将所述字节数组b1与所述类别组合值A对应的字节数组a1进行比较,即可完成查找;其实现代码如下:读取b1[0]的存储单元数量m1,读取a1[0]的存储单元数量m2
当所述类别组合值A={2,3,7,16,23,28},类别组合值B={3,7}时,上述类别组合数据的编码及查找过程如图3所示。
通过采用本发明公开的上述技术方案,得到了如下有益的效果:
一种大数据处理中类别组合数据的动态编码方法,将字符串利用字节数组进行编码,大大较低了数据的存储空间,并且可以横向扩展存储空间,只需要在原字节数组中增加存储单元,并修改存储单元数量即可;利用本方法进行类别组合值的查找时,只需要进行数据的字符数组之间的位运算,而不需要对数据的字符串进行比较,大幅度的提升了计算速度。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
Claims (7)
1.一种大数据处理中类别组合数据的动态编码方法,其特征在于,包括以下步骤:
S1,将数据信息进行定义分类,形成定义类型;每一个所述定义类型存储有一个或一个以上的类别值,形成类别组合值;
S2、将每一个所述定义类型中的所述类别值按照所述类别值出现的频率,从高到低进行排序,并按照自然数的顺序进行统一编码,形成类别编码值;
S3、以组为单位,将每一组所述类别组合值存储于同一存储单元中,并利用所述存储单元中的字节中的一个位存储一个所述类别值;
S4、根据所述定义类型中所述类别值的总数,设置每组所述存储单元的字节数n,可存储的所述类别编码值的的最大个数为n*8;根据所述数据信息中的所述类别编码值的数量,计算所需的所述存储单元的数量;
S5、计算所述类别编码值所属的所述存储单元的序号,以及所述类别编码值对应的映射值;
所述映射值的计算公式为:yij=2^(xij%(n*8))
其中,xij表示第i个类别组合值中的第j个类别编码值;yij表示第i个类别组合值中的第j个类别编码值对应的映射值;
其中,yi表示第i个类别组合值的汇总值;
S7、将汇总后的所述数据信息通过字节数组进行存储;所述字节数组中的第一个字节用以显示所述数据信息中的所述存储单元的数量,随后按照所述存储单元的序号的顺序对所述存储单元进行存储,构成所述字节数组,实现所述数据信息的存储编码。
2.根据权利要求1所述的大数据处理中类别组合数据的动态编码方法,其特征在于,所述类别编码值的编码顺序为自然数的顺序。
3.根据权利要求1所述的大数据处理中类别组合数据的动态编码方法,其特征在于,所述类别值进行编码之前,预先计算属于所述类别值的数据出现的频率,将所述类别值按照所述频率从高到低的顺序进行排列。
4.根据权利要求1所述的大数据处理中类别组合数据的动态编码方法,其特征在于,根据所述类别编码值和每个所述存储单元存储的所述类别值的最大个数,计算所述存储单元的数量;实现上述计算方法的实现代码为:
if max(S)%(n*8)>0 m=max(S)/(n*8)+1 else m=max(S)/(n*8)
其中,S表示每一所述存储单元中所述类别编码值的集合;max(S)表示所述集合中所述类别编码值最大的一个元素。
5.根据权利要求1所述的大数据处理中类别组合数据的动态编码方法,其特征在于,步骤S6中计算所述类别编码值x所属的所述存储单元的序号i的实现代码为:
if x%(n*8)>0 i=x/(n*8)+1 else i=x/(n*8)
其中,x表示类别编码值,i表示存储单元的序号。
6.根据权利要求1所述的大数据处理中类别组合数据的动态编码方法,其特征在于,查找类别组合值A中是否包括某一特定的类别组合值B的步骤为:
构建所述类别组合值B的字节数组b1,与所述类别组合值A对应的字节数组a1进行比较。
7.根据权利要求6所述的大数据处理中类别组合数据的动态编码方法,其特征在于,所述类别值查找的实现代码为:
读取b1[0]的存储单元数量m1,读取a1[0]的存储单元数量m2
if m1>m2 return false;
else
从b1中截取第1到m1个数组,得到b2
从a1中截取第1到m1个数组,得到a2
if b2&a2==b2//进行字节数组位运算
return true;
else return false。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011299560.3A CN112417815B (zh) | 2020-11-18 | 2020-11-18 | 一种大数据处理中类别组合数据的动态编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011299560.3A CN112417815B (zh) | 2020-11-18 | 2020-11-18 | 一种大数据处理中类别组合数据的动态编码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112417815A true CN112417815A (zh) | 2021-02-26 |
CN112417815B CN112417815B (zh) | 2024-01-23 |
Family
ID=74774844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011299560.3A Active CN112417815B (zh) | 2020-11-18 | 2020-11-18 | 一种大数据处理中类别组合数据的动态编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112417815B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008227949A (ja) * | 2007-03-13 | 2008-09-25 | Sony Corp | データ処理装置、データ処理方法、プログラム、及びデータ構造 |
CN104205065A (zh) * | 2012-03-27 | 2014-12-10 | 国际商业机器公司 | 用于列表数据压缩的多重分类 |
CN107947897A (zh) * | 2017-10-27 | 2018-04-20 | 深圳市创梦天地科技股份有限公司 | 用于网络传输的信息编码方法和装置 |
CN109684518A (zh) * | 2018-11-02 | 2019-04-26 | 宁波大学 | 一种可变长度哈希编码的高维数据最近邻查询方法 |
CN110008192A (zh) * | 2019-04-12 | 2019-07-12 | 苏州浪潮智能科技有限公司 | 一种数据文件压缩方法、装置、设备及可读存储介质 |
-
2020
- 2020-11-18 CN CN202011299560.3A patent/CN112417815B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008227949A (ja) * | 2007-03-13 | 2008-09-25 | Sony Corp | データ処理装置、データ処理方法、プログラム、及びデータ構造 |
CN104205065A (zh) * | 2012-03-27 | 2014-12-10 | 国际商业机器公司 | 用于列表数据压缩的多重分类 |
CN107947897A (zh) * | 2017-10-27 | 2018-04-20 | 深圳市创梦天地科技股份有限公司 | 用于网络传输的信息编码方法和装置 |
CN109684518A (zh) * | 2018-11-02 | 2019-04-26 | 宁波大学 | 一种可变长度哈希编码的高维数据最近邻查询方法 |
CN110008192A (zh) * | 2019-04-12 | 2019-07-12 | 苏州浪潮智能科技有限公司 | 一种数据文件压缩方法、装置、设备及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
余智超: "《支持动态更新的XML数据编码模式研究》", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 * |
Also Published As
Publication number | Publication date |
---|---|
CN112417815B (zh) | 2024-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4782325A (en) | Arrangement for data compression | |
CN101630323B (zh) | 确定自动机的空间压缩方法 | |
US7827187B2 (en) | Frequency partitioning: entropy compression with fixed size fields | |
Jansson et al. | Ultra-succinct representation of ordered trees with applications | |
CN107592116B (zh) | 一种数据压缩方法、装置及存储介质 | |
US20130141259A1 (en) | Method and system for data compression | |
CN110533096B (zh) | 基于K-means聚类的多元宇宙算法的DNA存储编码优化方法 | |
CN111801665B (zh) | 用于大数据应用的分层局部敏感哈希(lsh)分区索引 | |
CN104331269A (zh) | 一种嵌入式系统可执行代码压缩方法及代码解压缩系统 | |
CN104283567A (zh) | 一种名称数据的压缩、解压缩方法及设备 | |
CN108304409B (zh) | 一种基于进位的Sketch数据结构的数据频度估计方法 | |
CN102075430B (zh) | 深度报文检测dfa状态转移表的压缩与报文匹配方法 | |
CN109740023B (zh) | 基于双向位图的稀疏矩阵压缩存储方法 | |
CN112953550A (zh) | 数据压缩的方法、电子设备及存储介质 | |
CN109889205A (zh) | 编码方法及系统、解码方法及系统、编解码方法及系统 | |
Ganguly et al. | pBWT: Achieving succinct data structures for parameterized pattern matching and related problems | |
CN100476824C (zh) | 存储元素的方法与系统及查找元素的方法与系统 | |
CN101751416A (zh) | 一种对字符串排序和查找的方法 | |
US9627065B2 (en) | Memory equipped with information retrieval function, method for using same, device, and information processing method | |
CN114268323B (zh) | 支持行存的数据压缩编码方法、装置及时序数据库 | |
CN100578943C (zh) | 一种优化的霍夫曼解码方法和装置 | |
CN100361128C (zh) | 一种用于文本或网络内容分析的多关键词匹配方法 | |
CN112434085B (zh) | 基于Roaring Bitmap的用户数据统计方法 | |
CN105938469B (zh) | 编码存储方法、文本存储数据结构以及文本压缩存储和统计输出方法 | |
CN112115307A (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 |