【技术实现步骤摘要】
海量设备场景下时序数据库分区表实现方法及系统
[0001]本专利技术涉及时序数据库
,具体地说是海量设备场景下时序数据库分区表实现方法及系统
。
技术介绍
[0002]随着物联网技术和应用的快速发展,物联网设备产生的数据呈爆炸式增长
。
应用物联网最广泛的时序数据库,其对接的设备规模也不断增加
。
经常会出现一个时序数据库要接入成千上万个相同结构的设备,如何更好的管理海量接入的设备成为一个需要重点考虑的问题
。
[0003]在传统数据库在解决此类问题时,一般的处理方式是通过分库
、
分表或者分区的方式
。
其中分库
、
分表的方式对用户业务会有侵害,需要修改用户应用,使用也不方便
。
比较常用的方式是数据库分区
。
[0004]数据库分区是指把一张表的数据分成多个区块,在逻辑上看最终只是一张表,但底层是由多个物理区块组成的
。
对数据库进行分区可以极大的降低系统响应延迟同时提高数据吞吐量
。
对数据库分区存在以下益处:
[0005]1、
分区使得大型表更易于管理:对数据子集的维护操作也更加高效,因为这些操作只针对需要的数据而不是整个表
。
一个好的分区策略将通过只读取满足查询所需的相关数据来减少要扫描的数据量,当所有的数据都在同一个分区上,对数据库的查询
、
计算
、
以及其它操作都 ...
【技术保护点】
【技术特征摘要】 【专利技术属性】
1.
一种海量设备场景下时序数据库分区表实现方法,其特征在于,包括如下步骤:定义时序数据库的分区方式,以实现满足关系型数据库分区表模型的时序数据库,其中,分区方式为:基于时间对时序数据库进行一级分区,按照数据写入数据库的时间创建不同的分区目录;按照关系型数据库分区方式对时序数据库进行二级分区,将数据库表划分为多个分区块,每个分区目录下对应有至少一个分区块;定义时序数据库的分区管理方式:将数据表划分为数据文件和分区索引文件,数据文件按照分区块进行切分,每个分区块的数据能够追加写入,当前分区块被写满时,在数据文件中申请新的分区块,分区索引文件用于记录存储于分区块中数据的属性信息,属性信息包括数据写入分区块的时间信息以及索引位置信息;基于要写入的数据
、
根据定义的分区方式和分区管理方式配置时序数据库:按照数据写入时序数据库的时间创建不同分区目录,将数据表划分为数据文件和分区检索文件,按照指定的分区方式在数据文件中申请分区块;写入数据:对于要写入的数据,基于写入时间计算所属分区目录
、
并从分区索引文件中查询指定分区块的索引位置,如果对应分区块存在,将数据写入对应分区块中,如果对应分区块不存在,在数据文件中申请一个新的分区块,将数据写入新的分区块中,并将新的分区块更新到分区索引文件中
。2.
根据权利要求1所述的海量设备场景下时序数据库分区表实现方法,其特征在于,按照指定的分区方式在数据文件中申请分区块时,每个分区块中划分有用于存储时序数据的顺序块和用于存储乱序数据的乱序块;对应的,将数据写入对应分区块中时执行如下操作:如果写入的数据是顺序数据,将顺序数据写入顺序块中;如果写入的数据是乱序数据
、
且顺序块没有写满,将乱序数据写入顺序块,并对顺序块进行排序重写;如果写入的数据是乱序数据
、
且顺序块已经写满,如果对应的分区块中存在乱序块,将乱序数据写入乱序块中,如果对应的分区块中不存在乱序块,则在对应的分区块中创建乱序块,将乱序数据写入创建的乱序块中,并将新创建的乱序块挂载到对应分区的分区索引中
。3.
根据权利要求2所述的海量设备场景下时序数据库分区表实现方法,其特征在于,对于写入时序数据库的数据,查询数据所处分区时,如果分区块中没有乱序块,从顺序块进行二分查询,如果分区块中存在乱序块,合并顺序块和乱序块进行排序查询
。4.
根据权利要求1‑3任一项所述的海量设备场景下时序数据库分区表实现方法,其特征在于,关系型数据库的分区方式包括范围分区
、
哈希分区
、
值分区以及列表分区四种;范围分区用于把数值在一个区间内的所有数据置到一个分区块,其中,分区列的值为连续值;哈希分区用于通过哈希函数
、
将数据均匀的分布到预先定义的各个分区块中;值分区用于为指定列的每一个值建立一个分区;列表分区用于把数值在一个区间内的所有数据置到一个分区块,分区列的值为离散值
。5.
根据权利要求1‑3任一项所述的海量设备场景下时序数据库分区表实现方法,其特
征在于,对于时序数据库,写入的数据按照列进行存储,对于相同列的数据,数据类型和长度均相同;对于数据的属性信息,写入分区块的时间信息包括时间的最小值和最大值
。
,索引位置信息用于记录数据所在分区块的偏移量
。6.
一种海量设备场景下时序数据库分区表实现系统,其特征在于,用于通过如权利要求1‑5任一项所述的海量设备场景下时序数据库分区表实现对海量设备的数据管理,所述系统包括分区方式定义模块
、
技术研发人员:张炜刚,贾德星,
申请(专利权)人:上海沄熹科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。