CN112417815B - 一种大数据处理中类别组合数据的动态编码方法 - Google Patents

一种大数据处理中类别组合数据的动态编码方法 Download PDF

Info

Publication number
CN112417815B
CN112417815B CN202011299560.3A CN202011299560A CN112417815B CN 112417815 B CN112417815 B CN 112417815B CN 202011299560 A CN202011299560 A CN 202011299560A CN 112417815 B CN112417815 B CN 112417815B
Authority
CN
China
Prior art keywords
class
value
values
category
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.)
Active
Application number
CN202011299560.3A
Other languages
English (en)
Other versions
CN112417815A (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.)
Hongyou Software Co ltd
Original Assignee
Hongyou Software 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 Hongyou Software Co ltd filed Critical Hongyou Software Co ltd
Priority to CN202011299560.3A priority Critical patent/CN112417815B/zh
Publication of CN112417815A publication Critical patent/CN112417815A/zh
Application granted granted Critical
Publication of CN112417815B publication Critical patent/CN112417815B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query 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个类别编码值对应的映射值;
S6、根据步骤S5中得出的所述映射值,对所述类别编码值按照所述存储单元进行汇总,得出相应的汇总值;所述汇总值的计算公式为:
其中,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个类别编码值对应的映射值;
S6、根据步骤S5中得出的所述映射值,对所述类别编码值按照所述存储单元进行汇总,得出相应的汇总值;所述汇总值的计算公式为:
其中,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个类别编码值对应的映射值;
S6、根据步骤S5中得出的所述映射值,对所述类别编码值按照所述存储单元进行汇总,得出相应的汇总值;所述汇总值的计算公式为:
其中,yi表示第i个类别组合值的汇总值;
S7、将汇总后的所述数据信息通过字节数组进行存储;所述字节数组中的第一个字节用以显示所述数据信息中的所述存储单元的数量,随后按照所述存储单元的序号的顺序对所述存储单元进行存储,构成所述字节数组,实现所述数据信息的存储编码。
2.根据权利要求1所述的大数据处理中类别组合数据的动态编码方法,其特征在于,所述类别编码值的编码顺序为自然数的顺序。
3.根据权利要求1所述的大数据处理中类别组合数据的动态编码方法,其特征在于,所述类别值进行编码之前,预先计算属于所述类别值的数据出现的频率,将所述类别值按照所述频率从高到低的顺序进行排列。
4.根据权利要求1所述的大数据处理中类别组合数据的动态编码方法,其特征在于,根据所述类别编码值和每个所述存储单元存储的所述类别值的最大个数,计算所述存储单元的数量;实现所述步骤S4中计算所述存储单元数量的实现代码为:
if max(S)%(n*8)>0m=max(S)/(n*8)+1else m=max(S)/(n*8)其中,S表示每一所述存储单元中所述类别编码值的集合;max(S)表示所述集合中所述类别编码值最大的一个元素。
5.根据权利要求1所述的大数据处理中类别组合数据的动态编码方法,其特征在于,步骤S6中计算所述类别编码值x所属的所述存储单元的序号i的实现代码为:
if x%(n*8)>0i=x/(n*8)+1else 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。
CN202011299560.3A 2020-11-18 2020-11-18 一种大数据处理中类别组合数据的动态编码方法 Active CN112417815B (zh)

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 CN112417815A (zh) 2021-02-26
CN112417815B true 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)

* Cited by examiner, † Cited by third party
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 苏州浪潮智能科技有限公司 一种数据文件压缩方法、装置、设备及可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
《支持动态更新的XML数据编码模式研究》;余智超;《中国优秀硕士学位论文全文数据库(信息科技辑)》;全文 *

Also Published As

Publication number Publication date
CN112417815A (zh) 2021-02-26

Similar Documents

Publication Publication Date Title
US6671694B2 (en) System for and method of cache-efficient digital tree with rich pointers
CN110413611B (zh) 数据存储、查询方法及装置
US11604834B2 (en) Technologies for performing stochastic similarity searches in an online clustering space
EP1234258B1 (en) System for managing rdbm fragmentations
CN104331269A (zh) 一种嵌入式系统可执行代码压缩方法及代码解压缩系统
CN1152365A (zh) 一种存储和检索数据的方法和一种存储器配置
CN101071420A (zh) 一种切分索引分词的方法及系统
CN109740023B (zh) 基于双向位图的稀疏矩阵压缩存储方法
CN106126486A (zh) 时间信息编码方法、编码值检索方法、解码方法与装置
CN111125119A (zh) 一种基于HBase的时空数据存储与索引方法
CN100476824C (zh) 存储元素的方法与系统及查找元素的方法与系统
US20020040361A1 (en) Memory based on a digital trie structure
US9627065B2 (en) Memory equipped with information retrieval function, method for using same, device, and information processing method
WO2006036958A1 (en) Method and system for formatting and indexing data
CN114268323B (zh) 支持行存的数据压缩编码方法、装置及时序数据库
CN115525580A (zh) 一种namespace设置方法、装置及可读存储介质
CN112434085B (zh) 基于Roaring Bitmap的用户数据统计方法
CN112417815B (zh) 一种大数据处理中类别组合数据的动态编码方法
CN105938469B (zh) 编码存储方法、文本存储数据结构以及文本压缩存储和统计输出方法
CN112115307A (zh) 面向图的顶点数据规则存储结构和连接拓扑压缩方法
CN111984651A (zh) 一种基于持久性内存的列式存储方法、装置及设备
US11822530B2 (en) Augmentation to the succinct trie for multi-segment keys
CN116089731B (zh) 一种缓解灾难性遗忘的在线哈希检索方法及系统
CN114330262B (zh) 一种材料数据的统计方法、装置及电子设备
CN102402692B (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