[发明专利]时间序列数据库的模式转换方法及装置有效
申请号: | 201910749016.5 | 申请日: | 2019-08-14 |
公开(公告)号: | CN110543467B | 公开(公告)日: | 2020-06-23 |
发明(设计)人: | 王建民;黄向东;王晨;刘睿 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F16/21 | 分类号: | G06F16/21 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 陈玉婷 |
地址: | 100084 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 时间 序列 数据库 模式 转换 方法 装置 | ||
本发明提供一种时间序列数据库的模式转换方法及装置,方法包括:将基于度量和标签数据模式的时间序列转换为二元组;其中,二元组包括时间序列中的度量名称,以及一个或多个标签,每个标签包括标签字段和标签字段的标签值;若预先创建的双层映射表中存在度量名称,则从双层映射表中获取度量名称对应的子映射表;若子映射表中二元组的所有标签字段在路径数据模式下的路径位置均不为空,则创建路径,将各路径位置对应的标签字段的标签值添加到路径中相应的路径位置,在路径的最后位置添加度量名称。本发明实现度量和标签数据模式到路径数据模式的转换,且资源开销小。
技术领域
本发明属于计算机数据管理技术领域,尤其涉及一种时间序列数据库的模式转换方法及装置。
背景技术
作为一种NoSQL(Not Only Structured Query Language,不仅是结构化查询语言)数据库,时间序列数据库已广泛应用于工业生产、医疗、金融等领域。通过使用时间序列数据库,用户可以方便、高效地存储和检索来自各种设备传感器的时间序列数据。
不同时间序列数据库软件产品的时间序列模式管理方式存在差异。目前国际市场上存在的时间序列数据库有很多,这些数据库唯一标识一条时间序列的方式主要有两种。一种是基于度量(Metric)和标签(Tags)的标识方法,如InfluxDB、KairosDB等数据库系统的数据模式使用这种方式;另一种是基于路径(Path)的标识方法,如Apache IncubatorIoTDB。
下面用一个例子来介绍这两种数据库模式。假设用户需要用时间序列数据库管理两辆列车上的两种传感器的数据,即温度传感器和速度传感器的读数。第一辆列车的所属地为上海,另一辆列车的所属地为北京。记第一辆列车为device1,第二辆列车为device2,温度传感器为temperature,速度传感器为speed。在使用基于度量和标签的标识方法的时间序列数据库系统中,第一辆列车的温度传感器数据对应的时间序列用如下的JSON字符串来标识:
其中,度量(Metric)表示某一类度量指标,如某种传感器的读数值。标签(Tags)是对该度量的一些描述信息,包含至少一个标签字段和标签值的键值对,不同标签字段之间没有顺序性。在使用基于路径的标识方法的时间序列数据库系统中,这条时间序列可以用如下的路径字符串来标识:
root.Shanghai.device1.temperature;
其中root是默认的公共根路径节点,中间节点是对该传感器的描述信息,路径的最后一层,即叶子节点是传感器的读数。
实际应用中,用户往往会根据实际业务增长的需要去升级和替换使用的软件系统。当升级前后所使用的时间序列数据库系统的数据模式不同时,就需要进行不同时间序列数据库的模式转换,以便进行历史数据的迁移,以及上层应用系统对新的底层数据存储的适配。现有方法只能通过手动方式将时间序列数据库中的数据进行模式转换,费事费力,且容易出错。
发明内容
为克服上述现有的手动方式对时间序列数据库中的数据进行模式转换费事费力且容易出错的问题或者至少部分地解决上述问题,本发明实施例提供一种时间序列数据库的模式转换方法及装置。
根据本发明实施例的第一方面,提供一种时间序列数据库的模式转换方法,包括:
将基于度量和标签数据模式的时间序列转换为二元组;其中,所述二元组包括所述时间序列中的度量名称,以及一个或多个标签,每个所述标签包括标签字段和标签字段的标签值;
若预先创建的双层映射表中存在所述度量名称,则从所述双层映射表中获取所述度量名称对应的子映射表;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910749016.5/2.html,转载请声明来源钻瓜专利网。