首页> 中国专利> 一种大数据处理中类别组合数据的动态编码方法

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

摘要

一种大数据处理中类别组合数据的动态编码方法,将所述数据信息进行类型划分,并将所述数据信息根据数据类型进行分类组合存储,将每一数据类型中的类别值进行编码;利用字节数组对数据信息进行存储,根据数据类型对类别编码值进行分组存储到所述字节数组中。将字符串利用字节数组进行编码,大大较低了数据的存储空间,并且可以横向扩展存储空间,只需要在原字节数组中增加存储单元,并修改存储单元数量即可;对利用本发明所述的动态编码方法进行类别组合值的查找时,只需要进行数据的字符数组之间的位运算,而不需要对数据的字符串进行比较,大幅度的提升了计算速度。

著录项

  • 公开/公告号CN112417815A

    专利类型发明专利

  • 公开/公告日2021-02-26

    原文格式PDF

  • 申请/专利权人 红有软件股份有限公司;

    申请/专利号CN202011299560.3

  • 发明设计人 唐虎强;王健;

    申请日2020-11-18

  • 分类号G06F40/126(20200101);G06F16/903(20190101);

  • 代理机构11337 北京市盛峰律师事务所;

  • 代理人于国强

  • 地址 834000 新疆维吾尔自治区克拉玛依市克拉玛依区吉云路197-2号

  • 入库时间 2023-06-19 10:00:31

说明书

技术领域

本发明涉及计算机数据处理领域,尤其涉及一种大数据处理中类别组合数据的动态编码方法。

背景技术

在大数据应用中,对数据快速的存取尤为重要。在某些定义分类信息的数据项的中,需要保存同一分类的多个类别值。传统的方法是将类别值进行统一编码,使用间隔符将多个编码连接成一个字符串,存储到数据项中。这种方法的缺陷或不足为:首先,当类别值的个数较多时,构建的字符串较长,占用的存储空间较大;其次,在查找数据中是否包含指定的几个类别值时,需要将字符串按照间隔符分割成多个子字符串,然后对每个子字符串依次对进行遍历比较才能实现,耗时较长;以上问题,在海量规模的数据中更加凸显。

发明内容

本发明的目的在于提供一种大数据处理中类别组合数据的动态编码方法,从而解决现有技术中存在的前述问题。

为了实现上述目的,本发明采用的技术方案如下:

一种大数据处理中类别组合数据的动态编码方法,包括以下步骤:

S1,将数据信息进行定义分类,形成定义类型;每一个所述定义类型存储有一个或一个以上的类别值,形成类别组合值;

S2、将每一个所述定义类型中的所述类别值按照所述类别值出现的频率,从高到低进行排序,并按照自然数的顺序进行统一编码,形成类别编码值;

S3、以组为单位,将每一组所述类别组合值存储于同一存储单元中,并利用所述存储单元中的字节中的一个位存储一个所述类别值;

S4、根据所述定义类型中所述类别值的总数,设置每组所述存储单元的字节数n,可存储的所述类别编码值的的最大个数为n*8;根据所述数据信息中的所述类别编码值的数量,计算所需的所述存储单元的数量;

S5、计算所述类别编码值所属的所述存储单元的序号,以及所述类别编码值对应的映射值;

所述映射值的计算公式为:y

其中,x

S6、根据步骤S5中得出的所述映射值,对所述类别编码值按照所述存储单元进行汇总,得出相应的汇总值;所述汇总值的计算公式为:

其中,y

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的字节数组b

优选的,所述类别值查找的实现代码为:

读取b

本发明的有益效果是:一种大数据处理中类别组合数据的动态编码方法,将字符串利用字节数组进行编码,大大较低了数据的存储空间,并且可以横向扩展存储空间,只需要在原字节数组中增加存储单元,并修改存储单元数量即可;利用本方法进行类别组合值的查找时,只需要进行数据的字符数组之间的位运算,而不需要对数据的字符串进行比较,大幅度的提升了计算速度。

附图说明

图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)

所述映射值的计算公式为:y

其中,x

S6、根据步骤S5中得出的所述映射值,对所述类别编码值按照所述存储单元进行汇总,得出相应的汇总值;所述汇总值的计算公式为:

其中,y

S7、将汇总后的所述数据信息通过字节数组进行存储;所述字节数组中的第一个字节用以显示所述数据信息中的所述存储单元的数量,随后按照所述存储单元的序号的顺序对所述存储单元进行存储,如果第k个存储单元汇总值y

实施例中,首先对数据信息进行分类组合,按照定义分类分为不同的定义类型,在每一定义类型中包含多个类别值;将所述类别值和所述定义类型进行顺序排列;其中,将所有所述类别值利用自然数的顺序进行统一编码,形成类别编码值,所述类别值在进行编码前,预先按照所述类别值出现的频率从高到低的顺序进行排列,再按照排列后的顺序对所述类别值进行统一编码,所述类别编码值依次为: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)

利用计算公式,依次计算每一个所述类别编码值的映射值,并将所述映射值按照所述存储单元进行汇总;设x

y

设y

实施例中,将所述汇总值按照顺序构建字节数组,利用所述字节数组对所述数据信息进行存储;所述字节数组中第一个字节用以表示所述存储单元的数量,最大可取值为255,随后按照所述存储单元和所述类别编码值的顺序,将所述汇总值排列至所述字节数组的第一个字节后,构成存储所述数据信息的字节数组。类别组合数据存储结构如图2所示。

实施例中,所述数据信息通过上述动态编码方法进行编码,并存储后,查找类别组合值A中的是否包含特定的类别组合值B,其查找方法如下:按照上述动态编码的方法,构建所述类别组合值B对应的字节数组b

当所述类别组合值A={2,3,7,16,23,28},类别组合值B={3,7}时,上述类别组合数据的编码及查找过程如图3所示。

通过采用本发明公开的上述技术方案,得到了如下有益的效果:

一种大数据处理中类别组合数据的动态编码方法,将字符串利用字节数组进行编码,大大较低了数据的存储空间,并且可以横向扩展存储空间,只需要在原字节数组中增加存储单元,并修改存储单元数量即可;利用本方法进行类别组合值的查找时,只需要进行数据的字符数组之间的位运算,而不需要对数据的字符串进行比较,大幅度的提升了计算速度。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号