时序数据存储方法、装置、服务器及存储介质制造方法及图纸

技术编号:24090925 阅读:23 留言:0更新日期:2020-05-09 08:02
本申请实施例公开了一种时序数据存储方法、装置、服务器及存储介质,属于数据库领域。该方法包括:获取目标设备采集的待存储数据;根据目标设备的设备标识和待存储数据的数据类型,确定目标设备对应的设备逻辑主键;根据设备逻辑主键和待存储数据对应的时间戳,确定目标逻辑分组和目标数据库,目标数据库属于目标逻辑分组,且目标逻辑分组下包含多个数据库;将待存储数据写入目标逻辑分组下目标数据库中的目标数组。本申请实施例中,当数据增多时,只需增加一个或多个逻辑分组,即可完成水平扩容,不需要迁移历史数据,水平扩容流程简单,并且将数据分布存储在目标逻辑分组下的多个数据库中,避免了针对单一数据库进行集中操作造成的热点问题。

Sequential data storage method, device, server and storage medium

【技术实现步骤摘要】
时序数据存储方法、装置、服务器及存储介质
本申请实施例涉及数据库领域,特别涉及一种时序数据存储方法、装置、服务器及存储介质。
技术介绍
时序数据是指同一指标按时间顺序记录的数据序列,而时序数据库是用于存储和管理时序数据的专业化数据库。相关技术中,时序数据库针对不同的数据类型采取不同的存储策略,通常每个存储策略中包含多个存储片区,用于存储不同时间范围内的数据,通过存储片区中的日志文件定时压缩数据文件,读取数据时,系统根据指令找到命中的片区,解压相关数据文件,并将需要的数据按时间先后合并,返回最终结果。然而,采用传统的时序数据库,仅考虑了数据的存储压缩策略,当数据增多时,需要创建新的数据库并将相关历史数据迁移至新的数据库中,水平扩容工作量大,浪费资源。
技术实现思路
本申请实施例提供了一种时序数据存储方法、装置、服务器及存储介质。所述技术方案如下:一方面,本申请实施例提供了一种时序数据存储方法,所述方法包括:获取目标设备采集的待存储数据,所述待存储数据是所述目标设备按照预定时间间隔采集的时序数据;根据所述目标设备的设备标识和所述待存储数据的数据类型,确定所述目标设备对应的设备逻辑主键;根据所述设备逻辑主键和待存储数据对应的时间戳,确定目标逻辑分组和目标数据库,所述目标数据库属于所述目标逻辑分组,且所述目标逻辑分组下包含多个数据库;将所述待存储数据写入所述目标逻辑分组下所述目标数据库中的目标数组。另一方面,本申请实施例提供了一种时序数据存储装置,所述装置包括:获取模块,用于获取目标设备采集的待存储数据,所述待存储数据是所述目标设备按照预定时间间隔采集的时序数据;第一确定模块,用于根据所述目标设备的设备标识和所述待存储数据的数据类型,确定所述目标设备对应的设备逻辑主键;第二确定模块,用于根据所述设备逻辑主键和待存储数据对应的时间戳,确定目标逻辑分组和目标数据库,所述目标数据库属于所述目标逻辑分组,且所述目标逻辑分组下包含多个数据库;存储模块,用于将所述待存储数据写入所述目标逻辑分组下所述目标数据库中的目标数组。另一方面,本申请实施例提供了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述方面所述的时序数据存储方法。另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述方面所述的时序数据存储方法。本申请实施例提供的技术方案带来的有益效果至少包括:通过获取等时间间隔采集的待存储数据的数据类型,以及采集数据的目标设备的设备标识,确定出目标设备的设备逻辑主键,并根据设备逻辑主键和待存储数据的时间戳确定目标逻辑分组和目标数据库,将待存储数据写入目标数据库中的目标数组;采用本申请实施例提供的方法,当数据增多时,只需增加一个或多个逻辑分组,即可完成水平扩容,不需要迁移历史数据,水平扩容流程简单,并且将数据分布存储在目标逻辑分组下的多个数据库中,避免了针对单一数据库进行集中操作造成的热点问题。附图说明图1是根据一个示例性实施例示出的实施环境的示意图;图2是根据一示例性实施例示出的一种时序数据存储方法的流程图;图3是根据另一示例性实施例示出的一种时序数据存储方法的流程图;图4是根据一示例性实施例示出的一种逻辑分组方式的示意图;图5是根据另一示例性实施例示出的一种时序数据存储方法中数据查询的流程图;图6是根据一示例性实施例示出的一种时序数据存储装置的结构框图;图7是根据一示例性实施例示出的数据库服务器的结构示意图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。相关技术中,对于时序数据的存储通常采用时序数据库软件OpenTSDB、InfluxDB等,对于不同存储时限的数据设置不同的存储策略,每个存储策略包含多个存储片区,用于存储一定时间范围内的数据,每个存储片区包含一个内存缓存区、一个日志文件和一个或多个数据文件,针对不同的数据类型采取不同的压缩策略,日志文件按照压缩策略定时压缩数据文件,在读取数据时,数据库根据读取逻辑找到所有的命中片区,并判断是直接从内存缓存中读取还是从数据文件中读取,若需要从数据文件中读取,则解压相关的数据文件,并利用数据文件中的索引定位数据位置,完成读取后,由数据库系统将所有命中片区返回的数据按照时间先后顺序合并,最终返回查询结果。然而采用相关技术中的数据存储方式时,对于一些场景下采集到的等时间间隔的时序数据,如气象站每隔15分钟观测一次当地风速,光伏传感器每隔5分钟计算一次平均值等,会额外存储不必要的时间戳,浪费数据库资源,并且基于大文件块的压缩方式仅考虑数据压缩策略,读取单个时间点的数据时需要解压大数据块,消耗系统资源大;此外,当数据量增大需要增加数据库时,还要将相关历史数据迁移至新的数据库中,导致水平扩容的难度较大。为了解决上述问题,本申请实施例针对等时间间隔的时序数据提供了一种数据存储方法。请参考图1,其示出了本申请一个示例性实施例提供的实施环境的示意图。该实施环境中包括采集设备101、数据库(DataBase,DB)服务器102和查询终端103。采集设备101是具备数据采集功能的设备,并且采集的数据为等时间间隔的时序数据,其可以是设置有风速检测仪、温湿度检测仪、光伏传感器等传感器的新能源设备,比如风力发电机、光伏板。如图1所示,采集设备101为设置有风速检测仪的风力发电机。采集设备101与数据库服务器102之间通过有线或无线网络相连。数据库服务器102是存储采集设备101采集到的数据的存储设备,其可以是一台服务器,若干台服务器构成的服务器集群或云服务器。可选的,数据库服务器102获取采集设备101发送的数据并压缩存储在相应的数据库中,数据查询时再解压数据并发送至查询终端103。本申请实施例中,数据库服务器102中存储的数据为时序数据。数据库服务器102与查询终端103之间通过有线或无线网络相连。查询终端103是具备数据查询功能的设备。在一种可能的应用场景下,查询终端103向数据库服务器102发送包含查询条件的查询指令,由数据库服务器102根据查询条件查询相应的时序数据,并反馈给查询终端103,由查询终端103采用图表形式对接收到的时序数据进行显示。查询终端103可以是个人计算机、智能手机、平板电脑本文档来自技高网...

【技术保护点】
1.一种时序数据存储方法,其特征在于,所述方法包括:/n获取目标设备采集的待存储数据,所述待存储数据是所述目标设备按照预定时间间隔采集的时序数据;/n根据所述目标设备的设备标识和所述待存储数据的数据类型,确定所述目标设备对应的设备逻辑主键;/n根据所述设备逻辑主键和待存储数据对应的时间戳,确定目标逻辑分组和目标数据库,所述目标数据库属于所述目标逻辑分组,且所述目标逻辑分组下包含多个数据库;/n将所述待存储数据写入所述目标逻辑分组下所述目标数据库中的目标数组。/n

【技术特征摘要】
1.一种时序数据存储方法,其特征在于,所述方法包括:
获取目标设备采集的待存储数据,所述待存储数据是所述目标设备按照预定时间间隔采集的时序数据;
根据所述目标设备的设备标识和所述待存储数据的数据类型,确定所述目标设备对应的设备逻辑主键;
根据所述设备逻辑主键和待存储数据对应的时间戳,确定目标逻辑分组和目标数据库,所述目标数据库属于所述目标逻辑分组,且所述目标逻辑分组下包含多个数据库;
将所述待存储数据写入所述目标逻辑分组下所述目标数据库中的目标数组。


2.根据权利要求1所述的方法,其特征在于,所述根据所述设备逻辑主键和待存储数据对应的时间戳,确定目标逻辑分组和目标数据库,包括:
根据所述时间戳确定所述待存储数据对应的时间索引;
根据所述时间索引和所述设备逻辑主键确定所述目标数组的数组标识;
根据所述数组标识确定所述目标逻辑分组和所述目标数据库。


3.根据权利要求2所述的方法,其特征在于,所述根据所述时间戳确定所述待存储数据对应的时间索引,包括:
计算所述时间戳与初始时间戳之间的时间差;
根据所述时间差、所述预定时间间隔和所述目标数组的数组长度,确定所述时间索引,所述时间索引通过取整计算得到。


4.根据权利要求2所述的方法,其特征在于,所述数组标识为整数,所述根据所述数组标识确定所述目标逻辑分组和所述目标数据库,包括:
根据所述数组标识所属的数值区间确定所述目标逻辑分组,其中,不同逻辑分组对应不同数值区间;
根据所述数组标识和所述目标逻辑分组下数据库的数量,确定所述目标数据库,所述目标数据库通过哈希取模计算得到。


5.根据权利要求1至4任一所述的方法,其特征在于,所述将所述待存储数据写入所述目标逻辑分组下所述目标数据库中的目标数组,包括:
若存在所述目标数组,则从所述目标数据库中解压所述目标数组;将所述待存储数据写入解压后的所述目标数组,并对解压后的所述目标数组进行压缩;
若不存在所述目标数组,则在所述目标数据库中创建所述目标数组;将所述待存储数据写入所述目标数组,并对所述目标数组进行压缩。


6.根据权利要求5所述的方法,其特征在于,所述将所述待存储数据写入解压后的所述目标数组,包括:
根据所述时间戳确定所述待存储数据在所述目标数组中的起始存储位;
从所述起始存储位开始,将所述待存储数据写入解压后的所述目标数组。


7.根据权利要求1至4任一所述的方法,其特征在于,所述将所述待存储数据写入所述目标逻辑分组下所述目标数据库中的目标数组之后,所述方法还包括:
接收查询指令,所述查询指令中包含查询时间戳、查询设备标识和查询数据类型;
根据所述查询设备标识和所述查询数据类型确定所述目标设备对应的查询设备逻辑主键;
根据所述查询设备逻辑主键和查询时间戳确定查询逻辑分组和查询数据库;对所述查询数据库下的查询数组进行解压;
根据所述查询时间戳,从解压后的所述查询数组中提取查询数据。


8.一种时序数据存储装置,其特征在于,所述装置包括:
获取模块,用于获取目标设备采集的待存储数据,所述待存储数据是所述目标设备按照预定时间间隔采集的时序数据;
第一确定模块,用于根据所述目标设备的设备标识和所述...

【专利技术属性】
技术研发人员:吴德云王溧宜
申请(专利权)人:远景智能国际私人投资有限公司上海远景科创智能科技有限公司
类型:发明
国别省市:新加坡;SG

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

1