System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据存储,具体涉及一种物联网设备数据处理方法、装置及设备。
技术介绍
1、在物联网场景下,由于设备和传感器会生成大量的数据,因此需要高效的数据存储和查询技术来处理这些数据。不过传统的数据库系统在面对大规模数据写入和查询的情况下往往性能不佳,以致无法满足物联网场景下对高吞吐率和低延迟的要求,而为了解决这一问题,当前提出了一种lsm树(log-structured merge tree,日志结构合并树)的数据结构。其中,lsm树是一种针对写入密集型场景进行优化的数据结构,其将数据分为多个层级进行存储,通过批量合并的方式进行数据的排序和存储,进而使得lsm树能够提供高写入吞吐率和快速的查询性能。
2、但是,传统的lsm树在进行数据合并(即压实)时,通常是在写数据的过程中,判断存储量是否达到阈值来确定是否对所有数据进行合并,以致需要进行频繁的数据合并判断和操作;而频繁的数据合并判断和操作,不仅会导致磁盘io(input/output,输入/输出)成为瓶颈,使得查询请求需要更长的时间来完成,进而降低了查询性能,还可能会导致查询路径变得更长且存在大量的sstables(sorted string table,排序字符串表),从而增加了查询的复杂度和响应时间并降低了查询性能。
技术实现思路
1、本申请提供一种物联网设备数据处理方法、装置及设备,可以解决现有技术中存在的因需要进行频繁的数据合并判断和操作而导致的查询性能差的技术问题。
2、第一方面,本申请实施例提供
3、针对同一层排序字符串表中的每个数据块,当压实合并请求被触发,则获取与所述数据块对应的变异系数、遗传变量值、查询次数和字段长度,所述变异系数用于表征所述数据块的变异程度,所述遗传变量值用于表征所述数据块的冷热状态;
4、通过遗传变异算法对所述变异系数、所述遗传变量值、所述查询次数和所述字段长度进行计算,得到与所述数据块对应的存活率;
5、当所述存活率小于预设的存活率阈值,则对所述数据块进行合并压缩处理。
6、结合第一方面,在一种实施方式中,在所述当压实合并请求被触发,则获取与所述数据块对应的变异系数、遗传变量值、查询次数和字段长度的步骤之前,还包括:
7、当所述数据块中的数据被查询,则对与所述数据块对应的计数器值进行更新,得到查询次数。
8、结合第一方面,在一种实施方式中,通过所述排序字符串表中的计数器块存储所述排序字符串表中各个数据块对应的计数器值。
9、结合第一方面,在一种实施方式中,在所述当压实合并请求被触发,则获取与所述数据块对应的变异系数、遗传变量值、查询次数和字段长度的步骤之前,还包括:
10、根据所述查询次数判断所述数据块为冷数据还是热数据;
11、若所述数据块为冷数据,则将所述遗传变量值赋值为第一预设值;
12、若所述数据块为热数据,则将所述遗传变量值赋值为第二预设值,所述第二预设值大于所述第一预设值。
13、结合第一方面,在一种实施方式中,所述根据所述查询次数判断所述数据块为冷数据还是热数据,包括:
14、若查询次数小于预设的查询次数阈值,则判定所述数据块为冷数据;
15、若查询次数不小于查询次数阈值,则判定所述数据为热数据,或者;
16、若查询次数与查询次数平均值间的百分比小于预设的百分比阈值,则判定所述数据块为冷数据,所述查询次数平均值为所述数据块所在的排序字符串表对应的查询次数的平均值;
17、若查询次数与查询次数平均值间的百分比不小于百分比阈值,则判定所述数据块为热数据,或者;
18、对所述数据块所在的排序字符串表中的所有数据块的查询次数进行排序;
19、若查询次数排序在前n位,则判定与所述查询次数对应的所述数据块为热数据,n为正整数;
20、若查询次数未排序在前n位,则判定与所述查询次数对应的所述数据块为冷数据。
21、结合第一方面,在一种实施方式中,在所述获取与所述数据块对应的变异系数、遗传变量值、查询次数和字段长度的步骤之前,还包括:
22、基于预设的随机数生成模型为所述数据块生成随机数,并将所述随机数作为变异系数,所述随机数小于遗传变量值,所述随机数生成模型基于不可抗因素训练得到,所述不可抗因素包括突发事件、环境变化和用户习惯变化。
23、结合第一方面,在一种实施方式中,所述通过遗传变异算法对所述变异系数、所述遗传变量值、所述查询次数和所述字段长度进行计算,得到与所述数据块对应的存活率,包括:
24、将所述变异系数、所述遗传变量值、所述查询次数和所述字段长度代入遗传变异算法,得到与所述数据块对应的存活率,所述遗传变异算法为:
25、srdatablock=sigmoid(gv+w1×qc+w2×fl+w3×mc)
26、式中,srdatablock表示数据块的存活率,sigmoid表示逻辑映射函数,gv表示遗传变量值,qc表示查询次数,fl表示字段长度,mc表示变异系数,w1、w2以及w3均表示权重系数。
27、结合第一方面,在一种实施方式中,通过定时触发的方式实现压实合并请求的触发。
28、第二方面,本申请实施例提供了一种物联网设备数据处理装置,所述物联网设备数据处理装置包括:
29、获取模块,其用于针对同一层排序字符串表中的每个数据块,当压实合并请求被触发,则获取与所述数据块对应的变异系数、遗传变量值、查询次数和字段长度,所述变异系数用于表征所述数据块的变异程度,所述遗传变量值用于表征所述数据块的冷热状态;
30、计算模块,其用于通过遗传变异算法对所述变异系数、所述遗传变量值、所述查询次数和所述字段长度进行计算,得到与所述数据块对应的存活率;
31、合并模块,其用于当所述存活率小于预设的存活率阈值,则对所述数据块进行合并压缩处理。
32、第三方面,本申请实施例提供了一种物联网设备数据处理设备,所述物联网设备数据处理设备包括处理器、存储器以及存储在所述存储器上并可被所述处理器执行的物联网设备数据处理程序,其中所述物联网设备数据处理程序被所述处理器执行时,实现如前述的物联网设备数据处理方法的步骤。
33、本申请实施例提供的技术方案带来的有益效果包括:
34、在压实合并请求被触发时,通过变异系数、遗传变量值、查询次数和字段长度来计算每个数据块的存活率,并对同层中存活率小的数据块进行压实操作,而无需进行所有数据的合并压缩,使得存活率更高的数据块能够保留在更上层,以提高数据的访问速度和效率;本申请在进行数据压实时不仅充分考虑了查询频率动态变化和资源消耗的影响,且通过变异系数和遗传变量值来自适应的应对未知的数据分布和查询模式变化,进而能够避免频繁的数据合并,从而有效提本文档来自技高网...
【技术保护点】
1.一种物联网设备数据处理方法,其特征在于,所述物联网设备数据处理方法包括:
2.如权利要求1所述的物联网设备数据处理方法,其特征在于,在所述当压实合并请求被触发,则获取与所述数据块对应的变异系数、遗传变量值、查询次数和字段长度的步骤之前,还包括:
3.如权利要求2所述的物联网设备数据处理方法,其特征在于:通过所述排序字符串表中的计数器块存储所述排序字符串表中各个数据块对应的计数器值。
4.如权利要求1所述的物联网设备数据处理方法,其特征在于,在所述当压实合并请求被触发,则获取与所述数据块对应的变异系数、遗传变量值、查询次数和字段长度的步骤之前,还包括:
5.如权利要求4所述的物联网设备数据处理方法,其特征在于,所述根据所述查询次数判断所述数据块为冷数据还是热数据,包括:
6.如权利要求1所述的物联网设备数据处理方法,其特征在于,在所述获取与所述数据块对应的变异系数、遗传变量值、查询次数和字段长度的步骤之前,还包括:
7.如权利要求1所述的物联网设备数据处理方法,其特征在于,所述通过遗传变异算法对所述变异系数
8.如权利要求1所述的物联网设备数据处理方法,其特征在于:通过定时触发的方式实现压实合并请求的触发。
9.一种物联网设备数据处理装置,其特征在于,所述物联网设备数据处理装置包括:
10.一种物联网设备数据处理设备,其特征在于,所述物联网设备数据处理设备包括处理器、存储器以及存储在所述存储器上并可被所述处理器执行的物联网设备数据处理程序,其中所述物联网设备数据处理程序被所述处理器执行时,实现如权利要求1至8中任一项所述的物联网设备数据处理方法的步骤。
...【技术特征摘要】
1.一种物联网设备数据处理方法,其特征在于,所述物联网设备数据处理方法包括:
2.如权利要求1所述的物联网设备数据处理方法,其特征在于,在所述当压实合并请求被触发,则获取与所述数据块对应的变异系数、遗传变量值、查询次数和字段长度的步骤之前,还包括:
3.如权利要求2所述的物联网设备数据处理方法,其特征在于:通过所述排序字符串表中的计数器块存储所述排序字符串表中各个数据块对应的计数器值。
4.如权利要求1所述的物联网设备数据处理方法,其特征在于,在所述当压实合并请求被触发,则获取与所述数据块对应的变异系数、遗传变量值、查询次数和字段长度的步骤之前,还包括:
5.如权利要求4所述的物联网设备数据处理方法,其特征在于,所述根据所述查询次数判断所述数据块为冷数据还是热数据,包括:
6.如权利要求1所述的物联网设备数据处理方法,...
【专利技术属性】
技术研发人员:刘小川,李明春,胡文涛,关婷婷,李于超,史红栩,杨硕,
申请(专利权)人:烽火通信科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。