一种物联网平台海量设备指令数据存储方法及装置制造方法及图纸

技术编号:37085786 阅读:20 留言:0更新日期:2023-03-29 20:01
本发明专利技术公开了一种物联网平台海量设备指令数据存储方法及装置,方法包括:负载均衡器获取指令数据并实现指令数据写入请求的均衡负载,接着将均衡负载后的指令数据发送到对应的消息预处理模块;消息预处理模块从指令数据的消息请求解释出租户标识、产品标识、设备标识及第一消息体并分别发送给消息索引编码模块和消息体压缩模块;消息索引编码模块通过租户标识、产品标识和设备标识生成消息索引编码;消息体压缩模块对第一消息体进行压缩,得到压缩结果;消息存储模块将消息索引编码作为行键索引标识和将压缩结果作为第二消息体写入到数据库。本发明专利技术通过对指令数据进行压缩,实现海量指令数据的高效索引存储、云服务器资源的高效利用。源的高效利用。源的高效利用。

【技术实现步骤摘要】
一种物联网平台海量设备指令数据存储方法及装置


[0001]本专利技术涉及物联网
,尤其涉及一种物联网平台海量设备指令数据存储方法及装置。

技术介绍

[0002]随着物联网的规模化发展,接入AIoT平台的设备和应用数量不断增加,这些设备和应用通常会在不同时间点源源不断地通过AIoT平台触发指令下发及查询请求,平台存储的指令数据量呈现几何增长,如何实现海量指令数据的高效索引存储、云服务器资源的高效利用、性能与成本的有机平衡是物联网平台规模化发展将要面临的一大挑战。
[0003]现有技术,基于HBASE的分布式系统为了节省服务器的存储资源,通常的做法是在服务器端开启HBASE的数据压缩特性,这种方式存在的主要问题是在存取海量指令数据时会显著增加服务器CPU及网络传输带宽的占用,硬件资源消耗和时间延迟都会比较高,且为了取得比较好的压缩率,需把HFile中的Block块配置得尽可能大,但由于HBASE的读取数据时以Block块为单位的,Block块越大,随机读的性能就会越差,导致在服务器端处理大量的压缩、解压请求时会出现数据频繁抖动现象;另外,现有技术消息索引编码由4字节的租户标识、4字节产品标识、32字节的设备标识和2字节的消息ID拼接构成,光存储1亿条指令数据的行键索引就要消耗将近4GB的内存空间,过长的行键索引使得系统内存的有效利用率降低,不能缓存更多的数据,降低检索效率。

技术实现思路

[0004]本专利技术提供了一种物联网平台海量设备指令数据存储方法及装置,旨在解决现有技术数据存储效率低、云服务器资源的利用率低等问题。
[0005]本专利技术实施例提供了一种物联网平台海量设备指令数据存储方法,包括:
[0006]负载均衡器获取指令数据并实现所述指令数据写入请求的均衡负载;
[0007]所述负载均衡器将均衡负载后的指令数据发送到对应的消息处理模块;其中,所述消息处理模块包括消息预处理模块、消息索引编码模块、消息体压缩模块、消息存储模块;
[0008]所述消息预处理模块接收到所述指令数据写入的消息请求,并从所述消息请求解释出租户标识、产品标识、设备标识及第一消息体;
[0009]所述消息预处理模块将所述租户标识、所述产品标识和所述设备标识发送给消息索引编码模块,所述消息预处理模块将所述第一消息体发送给消息体压缩模块;
[0010]所述消息索引编码模块通过所述租户标识、所述产品标识和所述设备标识生成消息索引编码并将所述消息索引编码发送给所述消息存储模块;
[0011]所述消息体压缩模块采用压缩算法对所述第一消息体进行压缩,得到压缩结果并将所述压缩结果发送给所述消息存储模块;
[0012]所述消息存储模块将所述消息索引编码作为行键索引标识和将所述压缩结果作
为第二消息体写入到数据库。
[0013]进一步的,负载均衡器实现所述指令数据写入请求的均衡负载包括:
[0014]所述负载均衡器采用K8SService的方式创建虚拟IP地址,用于实现所述指令数据写入请求的均衡负载。
[0015]进一步的,所述消息索引编码模块通过所述租户标识、所述产品标识和所述设备标识生成消息索引编码包括:
[0016]对所述租户标识、所述产品标识和所述设备标识进行特征计算,得到消息特征值;
[0017]对所述设备标识进行拼接、取模以及映射处理,得到消息ID值;
[0018]对所述消息特征值和HBASE集群的分区个数进行分区离散计算,得到分区离散值;
[0019]对所述消息特征值、所述消息ID值以及所述分区离散值进行拼接处理,得到所述消息索引编码。
[0020]进一步的,所述对所述租户标识、所述产品标识和所述设备标识进行特征计算,得到消息特征值包括:以下划线作为分隔符将所述租户标识、所述产品标识、所述设备标识进行字符串拼接,然后采用MD5算法计算出所述消息特征值并将所述消息特征值转为4字节无符号整型。
[0021]进一步的,所述MD5算法的计算公式为:
[0022]F1=str2uint(md5(T1_P1_D1))
[0023]其中,F1表示消息特征值;str2uint表示字符串转无符号整型函数;md5表示md5函数;T1表示租户标识;_表示下划线;P1表示产品标识;D1表示设备标识。
[0024]进一步的,所述对所述设备标识进行拼接、取模以及映射处理,得到消息ID值包括:
[0025]将所述设备标识与自定义字符串前缀进行拼接处理,得到键;
[0026]采用REDIS自增序列方式将所述键生成临时消息ID值并将所述临时消息ID值取模映射到租户地址空间范围内,得到消息ID值。
[0027]进一步的,所述采用REDIS自增序列方式将所述键生成消息ID值的计算公式为:
[0028]I1=redis.incr(seq:D1)mod65535
[0029]其中,I1表示消息ID值;redis.incr表示redis自增序列函数;seq:D1表示键;D1表示设备标识;seq:表示自定义字符串前缀;mod表示取模。
[0030]进一步的,所述对所述消息特征值和HBASE集群的分区个数进行分区离散计算的计算公式为:
[0031]Z1=abs(F1modN1)
[0032]其中,Z1表示分区离散值;abs表示求数据绝对值的函数;F1表示消息特征值;mod表示取模;N1表示HBASE集群的分区个数。
[0033]进一步的,所述对所述消息特征值、所述消息ID值以及所述分区离散值进行拼接处理包括:
[0034]以下划线作为分隔符对所述消息特征值、所述消息ID值以及所述分区离散值进行字符串拼接,得到所述消息索引编码。
[0035]本专利技术实施例还提供了一种物联网平台海量设备指令数据存储装置,包括:负载均衡器、多个消息处理模块以及用于存储指令数据的数据库;其中,每一所述消息处理模块
包括消息预处理模块、消息索引编码模块、消息体压缩模块、消息存储模块;
[0036]所述负载均衡器用于获取指令数据并实现所述指令数据写入请求的均衡负载;
[0037]所述负载均衡器还用于将均衡负载后的指令数据发送到对应的消息处理模块;
[0038]所述消息预处理模块用于接收到所述指令数据写入的消息请求,并从所述消息请求解释出租户标识、产品标识、设备标识及第一消息体;
[0039]所述消息预处理模块还用于将所述租户标识、所述产品标识和所述设备标识发送给消息索引编码,所述消息预处理模块将所述第一消息体发送给消息体压缩模块;
[0040]所述消息索引编码模块用于通过所述租户标识、所述产品标识和所述设备标识生成消息索引编码并将所述消息索引编码发送给所述消息存储模块;
[0041]所述消息体压缩模块用于采用压缩算法对所述第一消息体进行压缩,得到压缩结果并将所述压缩结果发送给所述消息存储模块;
[0042]所述消息存储本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种物联网平台海量设备指令数据存储方法,其特征在于,包括:负载均衡器获取指令数据并实现所述指令数据写入请求的均衡负载;所述负载均衡器将均衡负载后的指令数据发送到对应的消息处理模块;其中,所述消息处理模块包括消息预处理模块、消息索引编码模块、消息体压缩模块、消息存储模块;所述消息预处理模块接收到所述指令数据写入的消息请求,并从所述消息请求解释出租户标识、产品标识、设备标识及第一消息体;所述消息预处理模块将所述租户标识、所述产品标识和所述设备标识发送给消息索引编码模块,所述消息预处理模块将所述第一消息体发送给消息体压缩模块;所述消息索引编码模块通过所述租户标识、所述产品标识和所述设备标识生成消息索引编码并将所述消息索引编码发送给所述消息存储模块;所述消息体压缩模块采用压缩算法对所述第一消息体进行压缩,得到压缩结果并将所述压缩结果发送给所述消息存储模块;所述消息存储模块将所述消息索引编码作为行键索引标识和将所述压缩结果作为第二消息体写入到数据库。2.根据权利要求1所述的物联网平台海量设备指令数据存储方法,其特征在于,负载均衡器实现所述指令数据写入请求的均衡负载包括:所述负载均衡器采用K8SService的方式创建虚拟IP地址,用于实现所述指令数据写入请求的均衡负载。3.根据权利要求1所述的物联网平台海量设备指令数据存储方法,其特征在于,所述消息索引编码模块通过所述租户标识、所述产品标识和所述设备标识生成消息索引编码包括:对所述租户标识、所述产品标识和所述设备标识进行特征计算,得到消息特征值;对所述设备标识进行拼接、取模以及映射处理,得到消息ID值;对所述消息特征值和HBASE集群的分区个数进行分区离散计算,得到分区离散值;对所述消息特征值、所述消息ID值以及所述分区离散值进行拼接处理,得到所述消息索引编码。4.根据权利要求3所述的物联网平台海量设备指令数据存储方法,其特征在于,所述对所述租户标识、所述产品标识和所述设备标识进行特征计算,得到消息特征值包括:以下划线作为分隔符将所述租户标识、所述产品标识、所述设备标识进行字符串拼接,然后采用MD5算法计算出所述消息特征值并将所述消息特征值转为4字节无符号整型。5.根据权利要求4所述的物联网平台海量设备指令数据存储方法,其特征在于,所述MD5算法的计算公式为:F1=str2uint(md5(T1_P1_D1))其中,F1表示消息特征值;str2uint表示字符串转无符号整型函数;md5表示md5函数;T1表示租户标识;_表示下划线;P1表示产品标识;D1表示设备标识。6.根据权利要求3所述的物联网...

【专利技术属性】
技术研发人员:郑华波赵建军丁霞王世杰
申请(专利权)人:天翼物联科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1