CN117874296A - 一种时序数据存储方法、处理设备及计算机可读介质 - Google Patents

一种时序数据存储方法、处理设备及计算机可读介质 Download PDF

Info

Publication number
CN117874296A
CN117874296A CN202311651451.7A CN202311651451A CN117874296A CN 117874296 A CN117874296 A CN 117874296A CN 202311651451 A CN202311651451 A CN 202311651451A CN 117874296 A CN117874296 A CN 117874296A
Authority
CN
China
Prior art keywords
data
data generating
generating device
storage mode
storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311651451.7A
Other languages
English (en)
Inventor
黄乐
周明伟
朱盛波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN202311651451.7A priority Critical patent/CN117874296A/zh
Publication of CN117874296A publication Critical patent/CN117874296A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种时序数据存储方法、处理设备及计算机可读介质,所述方法包括:分别统计至少一个数据产生设备的时序数据的存储数据量;基于各所述数据产生设备的存储数据量,确定是否切换所述数据产生设备的存储模式,所述数据产生设备的存储模式包括第一存储模式和第二存储模式,所述第一存储模式为所述数据产生设备的时序数据存储于公共数据库对象中,所述第二存储模式为所述数据产生设备的时序数据存储于与所述数据产生设备对应的独立数据库对象中。通过上述方式保证来自同一数据产生设备的时序数据存储在同一个数据库对象中,而且能够适应数据量的变化进行存储模式的切换,提高时序数据的存储灵活性。

Description

一种时序数据存储方法、处理设备及计算机可读介质
技术领域
本申请涉及数据存储技术领域,特别是涉及一种时序数据存储方法、处理设备及计算机可读介质。
背景技术
近年来,随着物联网技术的不断发展,传感器应用越来越广泛。传感器用于采集各种实时数据,用于技术分析和预测。该传感器所采集数据具有时间排序,属于一种常见的时序数据。目前,包含传感器采集到的数据在内的时序数据通常在获取后均先存储至存储空间中,待后续需要使用时再从存储空间中查询出对应的时序数据。
故,如何对时序数据进行存储已成为当前各行业内的重要研究课题。
发明内容
本申请主要解决的技术问题是提供一种时序数据存储方法、处理设备及计算机可读介质,能够提高时序数据存储的灵活性。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种时序数据存储方法,该方法包括:分别统计至少一个数据产生设备的时序数据的存储数据量;基于各数据产生设备的存储数据量,确定是否切换数据产生设备的存储模式,数据产生设备的存储模式包括第一存储模式和第二存储模式,第一存储模式为数据产生设备的时序数据存储于公共数据库对象中,第二存储模式为数据产生设备的时序数据存储于与数据产生设备对应的独立数据库对象中。
其中,基于各数据产生设备的存储数据量,确定是否切换数据产生设备的存储模式,包括:响应于数据产生设备当前处于第一存储模式、且数据产生设备的存储数据量符合预设数据量条件,将数据产生设备的存储模式切换至第二存储模式。
其中,将数据产生设备的存储模式切换至第二存储模式,包括:响应于数据产生设备当前不存在数据产生设备对应的独立数据库对象,为数据产生设备创建独立数据库对象;将公共数据库对象中关于数据产生设备的时序数据迁移至数据产生设备的独立数据库对象中。
其中,将公共数据库对象中关于数据产生设备的时序数据迁移至数据产生设备的独立数据库对象中,包括:从公共数据库对象中读取数据产生设备的时序数据;
将读取到的数据产生设备的时序数据存储至数据产生设备的独立数据库对象中,并删除公共数据库对象中关于数据产生设备的时序数据。
其中,预设数据量条件为存储数据量大于预设阈值。
其中,在基于各数据产生设备的存储数据量,确定是否切换数据产生设备的存储模式之后,该方法还包括:响应于数据产生设备的存储模式发生切换,在信息记录单元记录数据产生设备当前的存储模式。
其中,该方法还包括:接收关于第一设备的数据存储请求,数据存储请求包含待存储的时序数据,待存储的时序数据由第一设备产生,第一设备为一数据产生设备;从信息记录单元中读取第一设备当前的存储模式;响应于第一设备当前的存储模式为第一存储模式,将待存储的时序数据存储至公共数据库对象中;响应于第一设备当前的存储模式为第二存储模式,将待存储的时序数据存储至第一设备对应的独立数据库对象中。
其中,数据存储请求包括第一设备的标识信息;在从信息记录单元中读取第一设备的当前存储模式之前,该方法还包括:利用第一设备的标识信息,判断第一设备是否为新数据产生设备,当前存储的时序数据中不包含新数据产生设备的时序数据,响应于第一设备为新数据产生设备,将待存储数据直接存储至公共数据库对象中;响应于第一设备不为新数据产生设备,执行从信息记录单元中读取第一设备当前的存储模式。
其中,该方法还包括:接收关于第二设备的数据查询请求,数据查询请求包含待查询数据信息,第二设备为一数据产生设备;从信息记录单元中读取第二设备当前的存储模式;响应于第二设备当前的存储模式为第一存储模式,在公共数据库对象中查找第二设备产生的且与待查询数据信息匹配的时序数据;响应于第二设备当前的存储模式为第二存储模式,在第二设备对应的独立数据库对象中查找第二设备产生的且与待查询数据信息匹配的时序数据。
其中,待查询数据信息包括需查询的时间范围;和/或,在第二设备对应的独立数据库对象中查找第二设备产生的且与待查询数据信息匹配的时序数据,包括:按照存储路径树中,先查询到第二设备所属的类别的第一存储路径节点,并从第一存储路径节点下的子节点中查询到关于第二设备的第二存储路径节点,并按照第二存储路径节点对应的存储路径查询得到第二设备产生的且与待查询数据信息匹配的时序数据。
其中,信息记录单元为表格,和/或,信息记录单元中的信息是采用元数据的方式记录的。
其中,分别统计至少一个数据产生设备的时序数据的存储数据量,包括:对于各数据产生设备,统计数据产生设备在预设数量个时间单元内的时序数据的存储数据总量;利用存储数据总量,确定数据产生设备在单位时间单元内的存储数据量;和/或,公共数据库对象和独立数据库对象均为表格;和/或,公共数据库对象属于关系数据库中的对象;和/或,独立数据库对象属于时序数据库中的对象。为解决上述技术问题,本申请采用的另一个技术方案是,提供一种处理设备,包括处理器和与处理器相连的存储器,存储器存储有程序指令;处理器用于执行存储器存储的程序指令以实现上述任一时序数据存储方法。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种处理设备,包括处理器和与处理器相连的存储器,存储器存储有程序指令,已实现上述任一时序数据存储方法。
为解决上述技术问题,本申请采用另一个技术方案是:提供一种计算机可读介质,其上存储有程序指令,程序指令被执行实现如上述任一时序数据存储方法。
本申请的有益效果是:区别于现有技术的情况,本申请基于各数据产生设备的存储数据量确定数据产生设备采用第一存储模式还是第二存储模式,第一存储模式为数据产生设备的时序数据存储于公共数据库对象中,第二存储模式为数据产生设备的时序数据存储于与数据产生设备对应的独立数据库对象中,通过上述方式保证来自同一数据产生设备的时序数据存储在同一个数据库对象中,而且能够适应数据量的变化进行存储模式的切换,提高时序数据的存储灵活性。
附图说明
图1是本申请的时序数据存储方法一实施例的流程示意图;
图2是本申请的时序数据存储方法另一实施例关于统计存储数据量的子流程示意图;
图3是本申请的时序数据存储方法又一实施例的存储路径树示意图;
图4是本申请的时序数据存储方法另一实施例中关于切换至第二存储模式的子流程示意图;
图5是本申请又一实施例的时序数据存储方法流程图;
图6是本申请的时序数据存储方法一实施例的部分流程示意图;
图7是本申请的时序数据存储方法一实施例的部分流程示意图;
图8是本申请的时序数据存储装置一实施例的框架示意图;
图9是本申请处理设备一实施例的框架示意图;
图10是本申请计算机可读介质一实施例的框架示意图。
具体实施方式
为使本申请的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本申请进一步详细说明。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。此外,术语“第一”、“第二”仅用于描述目的,二不能理解为指示或者暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。
参阅图1,图1是本申请的时序数据存储方法一实施例的流程示意图。
具体而言,所述方法的执行主体是任何具有数据处理能力的处理设备,例如为用于存储时序数据的存储设备或者能够与该存储设备通信的其他电子设备。本实施例中,该方法包括如下步骤:
步骤S11:分别统计至少一个数据产生设备的时序数据的存储数据量。
时序数据为按照时间顺序记录的数据,该时序数据来源可以是物联网、金融市场和工业监控等应用场景。时序数据可以按照一定频率产生,也可触发告警产生。在一实施例中,可以对数据产生设备的所有时序数据均进行存储,例如,当数据产生设备生成有新的时序数据,则发送至存储设备进行存储。在另一实施例中,可以只存储数据产生设备的部分时序数据,例如,数据产生设备生成满足预设条件的时序数据,才发送至存储设备进行存储,或者数据产生设备每当生成新的时序数据,则发送给存储设备,存储设备检测该新的时序数据满足条件时才进行存储。该预设条件可以为根据应用场景进行设置,例如为存在告警风险的存储数据、或者为特定时间生成的时序数据等。
本文所述的数据产生设备可以理解为直接产生该时序数据的产生器件如传感器,或者为集成有产生该时序数据的产生器件的集成模组。其中,若该数据产生设备为前者,则该数据产生设备的时序数据为同一个产生器件所获得的时序数据。若该数据产生设备为后者,则该数据产生设备的时序数据包含其集成的所有个产生器件所获得的时序数据。例如,该数据产生设备中集成有若干烟雾传感器,则数据产生设备的时序数据包含该若干烟雾传感器采集到的烟雾数据;该数据产生设备中集成有若干烟雾传感器和若干湿度传感器,则数据产生设备的时序数据包含若干烟雾传感器采集到的烟雾数据和若干湿度传感器采集到的湿度数据。另外,需统计的该至少一个数据产生设备可以为存储的所有时序数据对应的所有数据产生设备或者一部分数据产生设备,具体可根据实际情况进行选择,在此不做限定。
本实施例中,各数据产生设备产生的需存储的时序数据均存储至存储设备的数据库中。具体地,可采用各种数据库对象来存储时序数据。该数据库对象例如但不限为表格、视图等。根据不同的存储模式可以采用对数据库对象进行不同的存储使用,例如作为公共数据库对象用于存储不同数据产生设备的时序数据,或者作为独立数据库对象用于存储单一数据产生设备的时序数据。该数据库对象具体可以为各种数据库中的对象,例如为关系数据库或时序数据库中的对象。处理设备可定时或者在满足预设触发条件的情况下,对存储的各数据产生设备的时序数据进行统计,以确定是否需要切换存储模式,以切换不同类型的数据库对象来存储该时序数据。
具体地,本步骤所统计的各数据产生设备的时序数据的存储数据量可以但不限为各数据产生设备在一段时间内的存储数据总量或者平均存储数据量。请结合参阅图2,图2是本申请的时序数据存储方法另一实施例关于统计存储数据量的子流程示意图。该步骤S11可具体包括以下子步骤:
子步骤S211:对于各数据产生设备,统计数据产生设备在预设数量个时间单元内的时序数据的存储数据总量。
该时间单元可以为月、天、小时等任意时间单位。其中,可以选择各数据产生设备在历史时间中预设数量个时间单元内的时序数据进行统计。该预设数量的单位时间单元可以是连续或者间隔的若干时间单元。例如,可统计最近连续7天内的各数据产生设备的时序数据的存储数据总量。
具体地,可以先从存储的时序数据筛选需统计的各数据产生设备的时序数据,再从需统计的各数据产生设备的时序数据中,确定该数据产生设备在该预设数量个时间单元内的存储数据总量;也可以先从存储的时序数据筛选该预设数量个时间单元内的所有存储数据总量,再从筛选得到的所有存储数据总量中筛选出需统计的各数据产生设备在该预设数量个时间单元内的存储数据总量。
子步骤S212:利用存储数据总量,确定数据产生设备在单位时间单元内的存储数据量。
具体地,可以将该数据产生设备在预设数量个时间单元内的时序数据的存储数据总量除以该预设数量,获得该数据产生设备在单位时间单元内的存储数据量。本实施例采用在预设数量个时间单元内的平均存储数据量以表征数据产生设备的存储数据量,进而用于确定是否切换存储模式,可适应不同时间单元内数据入库数量波动较大的情况。
步骤S12:基于各数据产生设备的存储数据量,确定是否切换数据产生设备的存储模式。
其中,数据产生设备的存储模式包括第一存储模式和第二存储模式,第一存储模式为数据产生设备的时序数据存储于公共数据库对象中,第二存储模式为数据产生设备时序数据存储于与数据产生设备对应的独立数据库对象中。该公共数据库对象用于存储多个数据产生设备的时序数据。该独立数据库对象用于存储单个数据产生设备的时序数据。可以理解的是,在不同应用场景中,数据产生设备的时序数据的存储数据量存在一定差异。例如,对于风力发电的应用场景中,该至少一个数据产生设备为某范围内的所有风力发电机,通常,风力发电机的数量不会很多,即数据产生设备的数量不多,但由于每个风力发电机上的传感器较多,故每个数据产生设备的时序数据比较多,对应的时序数据的存储数据量较大。又例如,对于烟雾检测的应用场景中,该指数一个数据产生设备为某场所的所有烟雾装置,通常,烟雾装置的数量较大,即数据产生设备的数量较大,但每个烟雾装置的传感器通常仅一个,故每个数据产生设备的时序数据的存储数据量较少。
对于第一存储模式,比较适合总的存储数据量不大的场景,若总的存储数据量较大,则可能存在压缩率低、成本高等问题。对于第二存储模式,适合存储数据量较大的场景,对单数据产生设备的数据查询也有较好的优势。然而,若数据产生设备较多,但每个数据产生设备的存储数据量不大的情况下,若查询近期的时序数据,如查询最近的10条时序数据,则需要遍历所有数据产生设备的独立数据库对象,以分别查询得到每个数据产生设备最近的10条时序数据,再对查询得到的每个数据产生设备的时序数据进行时间排序,得到满足条件的10条数据,故查询性能较差。而此时若采用第一存储模式,则可以直接从公共数据库对象中查询出最近的10条时序数据,查询性能较好。故可以根据数据产生设备的存储数据量的情况切换不同的存储模式,以使得当前的存储性能和查询性能处于较好的状态。
在一具体实施例中,该第一存储模式可以为行式存储模式,该公共数据库对象可以为表格,例如采用关系数据库如mysql,postgresql等数据库的行存表存储各数据产生设备的时序数据。如下表所示,该行存表的每行存储一数据产生设备在某一时刻的时序数据,具体,每行包含数据产生设备序号列、时间列和时序数据列,该时序数据列包含烟雾浓度和湿度,其中数据产生设备序号用于标识数据产生设备,时间为对应时序数据产生的时间,烟雾浓度和湿度为该条时序信息对应数据产生设备的传感器数据。
数据产生设备序号 时间 烟雾浓度 湿度
1 2023-06-10 12:00:00 9.0 8.0
2 2023-06-11 12:00:00 10.0 9.0
3 2023-06-12 12:00:00 10.5 9.5
该第二存储模式可以为树型存储模式,该独立数据库对象为表格,例如,采用时序数据库如Apache iotdb等数据的多个表格(可以称为树存表)分别存储各数据产生设备的时序数据。该时序数据库采用树状结果的数据模型,如图3所示,该数据模型表示各数据产生设备对应的表格可以通过图3所示的存储路径树查找得到,每个数据产生设备的表格存储有该数据产生设备的关于温度和湿度的传感器数据。
本实施例基于各数据产生设备的存储数据量确定数据产生设备采用第一存储模式还是第二存储模式,第一存储模式为数据产生设备的时序数据存储于公共数据库对象中,第二存储模式为数据产生设备的时序数据存储于与数据产生设备对应的独立数据库对象中,通过上述方式保证来自同一数据产生设备的时序数据存储在同一个数据库对象中,而且能够构建适应数据量的变化的多种存储模式,提高时序数据的存储灵活性,且提升数据查询性能。可以理解的是,所有数据产生设备所采用的存储模式可以是统一切换或者独立切换的。例如当存在数据产生设备的存储数据量满足预设数据量要求或者当超过预设数量个数据产生设备的存储数据量满足预设数据量要求,则确定所有数据产生设备均切换为第二存储模式。又例如,可根据每个数据产生设备的存储数据量来确定该数据产生设备或者与其相关联的数据产生设备的存储模式,例如数据产生设备1的存储数据量满足预设数据量要求,则将该数据产生设备1切换至第二存储模式,或者将与该数据产生设备1的距离不超过预设范围的其他数据产生设备2和数据产生设备3切换至第二存储模式。
在另一实施例中,该步骤S12可以包括:响应于数据产生设备当前处于第一存储模式、且数据产生设备的存储数据量符合预设数据量条件,将数据产生设备的存储模式切换至第二存储模式。其中,预设数据量条件可以但不限为存储数据量大于预设阈值。对于预设数据量条件为存储数据量大于预设阈值的实施例,即在单个数据产生设备的存储数据量较少的情况将各数据产生设备数据统一存放,使得数据查询较为方便,提升数据查询性能,同时提高数据的存储效率,而且也不存在公共数据库对象数据太多导致查询速度慢、压缩率低、成本高的问题;而在单个数据产生设备的存储数据量较大的情况下将各数据产生设备的数据分别存放,提高数据存储的有序性,避免由于统一存放使得数据库对象数据太多进而导致查询速度慢的情况,提升数据的查询性能。当然,在一实施例中,该步骤S12也可以包括:响应于数据产生设备当前处于第二存储模式,且数据产生设备的存储数据量符合另一预设数据量条件,将数据产生设备的存储模式切换至第一存储模式,该另一预设数据量条件例如为存储数据量不大于预设阈值等。可以理解的是,可根据实际需求确定存储模式的切换原则。例如,可将数据产生设备的存储模式默认设置为第一存储模式,当存储数据量满足预设数据量条件时,切换为第二存储模式,该切换原则为考虑存储数据量小则采用第一存储模式,存储数据量大则采用第二存储模式。若一应用场景中,考虑当前切换至第二存储模式则表示存储数据量已经较大,故后续存储数据量通常是越来越大,故在切换为第二存储模式之后,则不再统计存储数据量以确认是否切换至第一存储模式。若另一应用场景中,也可考虑由于存储数据量可能会被人为删减等,故后续存储数据量也可能会恢复至少量的状态,故在切换为第二存储模式之后,也可以继续统计存储数据量以确认是否切换至第一存储模式。
在一具体实施例中,该切换至第二存储模式具体可以为将存储的数据产生设备的时序数据迁移至该数据产生设备的独立数据库中。请结合参阅图4,图4是本申请的时序数据存储方法另一实施例中关于切换至第二存储模式的子流程示意图。该将数据产生设备的存储模式切换至第二存储模式的步骤具体包括:
S421:响应于数据产生设备当前不存在数据产生设备对应的独立数据库对象,为数据产生设备创建独立数据库对象。
在切换之前可以先检测当前是否存在该数据产生设备对应的独立数据库对象;若不存在,则为该数据产生设备创建独立数据库对象;若存在,则可以不执行本步骤S121,直接执行下述步骤S122。在一应用场景中,可记录关于是否已存在各数据产生设备的独立数据库对象的信息,例如,为每个数据产生设备记录独立数据库对象标记信息,该标记信息可以为字符以分别表示该数据产生设备存在或不存在独立数据库对象,又例如,记录目前创建的所有数据库对象的类型以及所对应的数据产生设备,通过查询该记录,确定数据产生设备是否存在独立数据库对象。该记录的信息可采用元数据方式进行记录。
子步骤S422:将公共数据库对象中关于数据产生设备的时序数据迁移至数据产生设备独立数据库对象中。
具体地,可以从公共数据库对象中读取数据产生设备的时序数据;将读取到的数据产生设备的时序数据存储至数据产生设备的独立数据库对象中,并删除公共数据库对象中关于数据产生设备的时序数据。其中,删除公共数据库对象中关于数据产生设备的时序数据具体可以为将删除的时序数据的存储位置标志为删除,标志为删除的存储位置可供后续的数据存储使用。当该存储位置未被重新使用之前,若独立数据库对象出现问题导致数据产生设备的时序数据丢失时,可以从公共数据库对象中被标记为删除的存储位置中重新读取该数据产生设备的时序数据,并重新存储至独立数据库对象中。在其他实施例中,删除公共数据库对象中关于数据产生设备的时序数据具体也可以为直接将公共数据库对象中对应存储位置中的时序数据清空。当然,为了避免该数据产生设备的独立数据库对象出现问题导致数据无法恢复,也可对公共数据库对象中已迁移的时序数据进行备份保留。
请参阅图5,图5是本申请又一实施例的时序数据存储方法流程图。
本实施例中,该方法包括一下步骤:
S51:分别统计至少一个数据产生设备的时序数据的存储数据量。
S52:基于各数据产生设备的存储数据量,确定是否切换数据产生设备的存储模式。
其中,步骤S51和S52可参阅上述S11和S12,在此不做赘述。
S53:响应于数据产生设备的存储模式发生切换,在信息记录单元记录数据产生设备当前的存储模式。
具体地,该信息记录单元可以是表格,该信息记录单元可以存储于存储时序数据的存储设备或数据库中,或者独立于时序数据存储于其他存储设备或其他数据库中。具体地,该信息记录单元中的信息可以采用元数据的方式记录,例如,数据产生设备当前的存储模式可以采用元数据进行记录。
数据产生设备的存储模式发生切换可以是由第一存储模式切换为第二存储模式,也可以是由第二存储模式切换为第一存储模式。例如,数据产生设备的当前存储模式为第一存储模式,数据产生设备的时序数据存储于公共数据库对象中。在通过S51统计得到的数据产生设备的时序数据的存储数据量大于预设阈值的情况下,将数据产生设备的存储模式从第一存储模式切换至第二存储模式,并在信息记录单元中采用元数据记录该数据产生设备当前的存储模式为第二存储模式。
请继续参阅图6,图6是本申请的时序数据存储方法一实施例的部分流程示意图。本实施例中,该方法除了包括上述任一实施例所述的步骤以外,还包括以下步骤:
S61:接收关于第一设备的数据存储请求,数据存储请求包含待存储的时序数据,待存储的时序数据由第一设备产生,第一设备为一上述数据产生设备。
其中,数据存储请求可以按照一定频率产生,也可以触发告警产生,例如,第一设备按照一定频率产生时序数据,并对应该时序数据的产生频率产生并发送数据存储请求,以请求存储新产生的时序数据,或者采用比时序数据产生频率小的频率产生并发送数据存储请求,以请求存储在上次数据存储请求产生至本次数据存储请求产生之间的时间段内新产生的时序数据。
在一些实施例中,待存储的时序数据可以采用元数据方式进行存储,数据存储请求为元数据***请求,待存储的时序数据包括:第一设备的标识信息、该时序数据产生的时间以及第一设备产生的数据内容(如第一设备中的传感器的检测数据)等。标识信息可以是代表该设备的设备序号或设备名称的数据。
在一实施例中,新数据产生设备默认采用第一存储模式,新数据产生设备为存储设备当前未存储其时序数据的数据产生设备,即当前存储的时序数据中不包含该新数据产生设备的时序数据。故在一实施例中,可以在下述S62之前先确定第一设备是否为新数据产生设备,若是则默认该第一设备当前处于第一存储模式,进而采用第一存储模式进行数据存储。具体地,可利用所述第一设备的标识信息,判断第一设备是否为新数据产生设备,具体如,从信息记录单元中查询是否存在与该第一设备的标识信息匹配的存储记录信息(如存储模式的记录等),若不存在,则确定该第一设备为新数据产生设备。响应于第一设备为新数据产生设备,将所述待存储数据直接存储至所述公共数据库对象中;响应于所述第一设备不为新数据产生设备,则执行下述步骤S32以进一步判断第一设备当前所处的存储模式。需要说明的是,在其他实施例中,如对新数据产生设备未设定默认存储模式,也可不执行无需确定第一设备是否为新数据产生设备,即在执行完S61后继续执行S62及其后续步骤。
S62:从信息记录单元中读取第一设备当前的存储模式。
具体地,可以从数据存储请求中获取第一设备的标识信息,根据标识信息在信息记录单元中筛选出对应的数据产生设备相关的记录信息,进而从筛选出的记录信息中获取该数据产生设备对应的存储模式的表征信息。该存储模式的表征信息可以采用该数据产生设备对应的数据库对象的标记信息表示,即该数据库对象的标记信息为公共数据库对象,则确定当前存储模式为第一存储模式,该数据库对象的标记信息为独立数据库对象,则确定当前存储模式为第二存储模式。当然,该存储模式的表征信息也可以采用模式标记位来表示,例如该标记位为第一字符则表示当前存储模式为第一存储模式,该标记位为第二字符则表示当前存储模式为第二存储模式。
S63:响应于第一设备当前的存储模式为第一存储模式,将待存储的时序数据存储至公共数据库对象中。
具体地,在确定第一设备当前的存储模式为第一存储模式的情况下,可以将第一设备的数据存储请求中的待存储的时序数据存储至公共数据库对象中空余的存储位置,或者将第一设备的数据存储请求中的待存储的时序数据存储至公共数据库对象中标记为删除的存储位置。
S64:响应于第一设备当前存储模式为第二存储模式,将待存储的时序数据存储至第一设备对应的独立数据库对象中。
具体地,在确定第一设备当前的存储模式为第二存储模式的情况下,可以先检测第一设备当前是否存在独立数据库对象;若不存在,则为该第一设备创建独立数据库对象;若存在则将待存储的时序数据存储至第一设备对应的独立数据库对象中。当然,在其他实施例中,可以在数据产生设备初始处于第二存储模式时,对应创建该数据产生设备的独立数据库对象。此时,若确定第一设备当前已处于第二存储模式,则表示该第一设备的独立数据库对象已创建完成,故此时不执行检测第一设备是否存在独立数据库对象,而直接查找第一设备对应的独立数据库对象,并将待存储的时序数据存储至该独立数据库对象中。
本实施例在存储数据时对该数据对应的数据产生设备的存储模式进行判断,进而根据当前存储模式进行对应存储,实现了数据存储的灵活性。而且在第二存储模式下,可以进一步再确认不存在该第一设备对应的独立数据库对象时再为第一设备创建独立数据库对象,可避免重复构建数据产生设备的独立数据库对象。
进一步,可以将第一存储模式设置为新数据产生设备的数据存储模式,故在新数据产生设备的初始数据量较少的时候直接存储公共数据库对象中,进而提高初始数据的存储效率。
参阅图7,图7是本申请的时序数据存储方法一实施例的部分流程示意图。本实施例中,该方法除了包括上述任一实施例所述的步骤以外,还包括以下步骤:
S71:接收关于第二设备的数据查询请求,数据查询请求包含待查询数据信息,所述第二设备为一上述数据产生设备。
具体地,待查询的数据信息可以包括需查询的时间范围;例如,待查询范围是最近3天的时序数据。在一些实施例中,数据产生设备具有告警风险检测工况,待查询数据信息也可以是预设告警条件对应的时序数据。在另一些实施例中,待查询数据信息也可以包括数据存储路径,例如数据存储路径可以包括数据所处的根目录,根目录下的第二目录以及第二目录下的第三目录。
其中,该数据查询请求可以由第二设备或者其他查询设备如用户终端发出。在此不做具体限定。
S72:从信息记录单元中读取第二设备当前的存储模式。
具体地,可以从数据查询中获取第二设备的标识信息,根据标识信息在信息记录单元中筛选出对应的设备,进而获取该设备对应的存储模式。
S73:响应于第二设备当前的存储模式为第一存储模式,在公共数据库对象中查找第二设备产生的且与待查询数据信息匹配的时序数据。
具体地,在确定第二设备当前的存储模式为第一存储模式的情况下,可以根据第二设备的标识信息,先在公共数据库对象中筛选出第二设备的时序数据,再从第二设备的时序数据中提取与待查询数据相匹配的时序数据。
S74:响应于第二设备当前的存储模式为第二存储模式,在第二设备对应的独立数据库对象中查找第二设备产生的且与待查询数据信息匹配的时序数据。
具体地,在确定第二设备当前的存储模式为第二存储模式的情况下,可以在第二设备对应的独立数据库对象中查找第二设备产生的且与待查询数据信息匹配的时序数据,例如可以按照存储路径树中,先查询到第二设备所属的类别的第一存储路径节点,并从第一存储路径节点下的子节点中查询到关于第二设备的第二存储路径节点,并按照第二存储路径节点对应的存储路径查询得到第二设备产生的且与待查询数据信息匹配的时序数据。其中,第一存储路径节点用于表示第二设备所属的类别下所有第二设备的时序数据的共同存储位置;第二存储路径节点用于表示第二设备的时序数据库对象的存储位置,当第二设备为第一存储模式时,时序数据库对象为公共时序数据库对象;当第二设备为第二存储模式时,时序数据库对象为与第二设备相对应的独立数据库对象。以数据产生设备为烟雾设备为例,其时序数据包含烟雾传感器采集的烟度数据和湿度传感器采集的湿度数据。该存储路径树如图3所示,其根节点的子节点(产品节点)为该数据产生设备所属的类别对应的第一存储路径节点,用于表示所有烟雾产生设备均存储于该存储路径节点对应的存储位置中,产品节点下的各子节点分别为不同烟雾产生设备对应的第二存储路径节点(如设备1、设备2、设备3),用于表示各烟雾产生设备的时序数据库对象存储该存储路径节点对应的存储位置中,该烟雾产生设备节点下的子节点为各传感器数据对应的节点(如湿度和烟度),用于表示该传感数据存储于时序数据库中与该节点的存储路径对应的存储位置中。
为便于本申请的理解,继续列举具体示例如下:
数据产生设备为烟雾设备,该烟雾设备包含烟雾传感器,故烟雾设备的时序数据包含烟雾传感器检测到的烟雾数据。本示例中,执行本申请数据存储方法的处理设备为用于存储时序数据的存储设备。存储设备默认烟雾设备的时序数据的存储模式为第一存储模式,第一存储模式中的时序数据存储于行式存储表中,第二存储模式中的时序数据存储于该烟雾设备对应的树形存储表中。故存储设备可响应于用户下发的表创建指令,创建行式存储表。当接收到新的烟雾设备(未存储过其时序数据)的存储数据请求时,直接将该烟雾设备请求存储的时序数据存储于行式存储表中。
存储设备设有监控模块,该监控模块可定时统计当前存储的各烟雾设备的时序数据的存储数据量,并判断是否大于预设阈值。若未达到阈值,则等到下一统计时刻再进行统计并判断。当一烟雾设备的存储数据量大于预设阈值时,则将该烟雾设备的存储模式切换至第二存储模式,此时,为该烟雾设备创建树形存储表,并从行式存储表中将该烟雾设备的时序数据迁移至树形存储表中,并删除行式存储表中关于该烟雾设备的时序数据。另外,采用元数据方式记录该烟雾设备的存储模式。
当接收到第一烟雾设备的存储数据请求时,先判断该第一烟雾设备是否为新设备,即未存储过其时序数据,若为新设备,则直接将该第一烟雾设备请求存储的时序数据存储至行式存储表中;若不为新设备,则从元数据信息读取得到该第一烟雾设备的当前存储模式,若为第一存储模式,则将该第一烟雾设备请求存储的时序数据存储至行式存储表中,若为第二存储模式,将该第一烟雾设备请求存储的时序数据存储至树形存储表中。
当接收到关于第二烟雾设备的数据查询请求,则从元数据信息读取得到该第二烟雾设备的当前存储模式,若为第一存储模式,则从行式存储表中读取该第二烟雾设备的且与数据查询请求中的待查询信息匹配的时序数据,并反馈至发送数据查询请求的设备,若为第二存储模式,则从第二烟雾设备对应的树形存储表中读取该第二烟雾设备的且与数据查询请求中的待查询信息匹配的时序数据,并反馈至发送数据查询请求的设备。
请参阅图8,图8是本申请时序数据存储装置一实施例的框架示意图。本实施例中,该时序数据存储装置80包括统计模块81、切换模块82、记录模块83、查询模块84和存储模块85。统计模块81用于分别统计至少一个数据产生设备的时序数据的存储数据量。具体如:统计模块81可具体用于:对于各数据产生设备,统计数据产生设备在预设数量个时间单元内的时序数据的存储数据总量;利用存储数据总量,确定数据产生设备在单位时间单元内的存储数据量。
切换模块82用于基于各数据产生设备的存储数据量,确定是否切换数据产生设备的存储模式。其中,数据产生设备的存储模式包括第一存储模式和第二存储模式,第一存储模式为数据产生设备的时序数据存储于公共数据库对象中,第二存储模式为数据产生设备的时序数据存储于与数据产生设备对应的独立数据库对象中。其中,公共数据库对象和独立数据库对象均可以为表格。在一实施例中,公共数据库对象属于关系数据库中的对象,独立数据库对象属于时序数据库中的对象。
在一些实施例中,切换模块82具体用于响应于数据产生设备当前处于第一存储模式、且数据产生设备的存储数据量符合预设数据量条件,将数据产生设备的存储模式切换至第二存储模式。例如:上述将数据产生设备的存储模式切换至第二存储模式包括:响应于数据产生设备当前不存在数据产生设备对应的独立数据库对象,为数据产生设备创建独立数据库对象;将所述公共数据库对象中关于所述数据产生设备的时序数据迁移至所述数据产生设备的独立数据库对象中。上述迁移步骤具体可以包括:从公共数据库对象中读取数据产生设备的时序数据,将公共数据库对象中关于数据产生设备的时序数据,将读取到的数据产生设备的时序数据存储至数据产生设备的独立数据库对象中,并删除公共数据库对象中关于数据产生设备的时序数据。其中,预设数据量条件可以为存储数据量大于预设阈值。
记录模块83用于响应于数据产生设备的存储模式发生切换,在信息记录单元记录数据产生设备当前的存储模式。
存储模块85用于接收关于第一设备的数据存储请求,从信息记录单元中读取第一设备当前的存储模式;响应于第一设备当前的存储模式为第一存储模式,将待存储的时序数据存储至公共数据库对象中;响应于第一设备当前的存储模式为第二存储模式,将待存储的时序数据存储至第一设备对应的独立数据库对象中。其中,数据存储请求包含待存储的时序数据,待存储的时序数据由第一设备产生,第一设备为一数据产生设备。
在一些实施例中,数据存储请求可以包括第一设备的标识信息。存储模块85还包括判断单元和响应单元,判断单元用于利用第一设备的标识信息,判断第一设备是否为新数据产生设备,当前存储的时序数据中不包含新数据产生设备的时序数据。响应单元用于响应于第一设备为新数据产生设备,将待存储数据直接存储至公共数据库对象中;以及响应于第一设备不为新数据产生设备,执行从信息记录单元中读取第一设备当前的存储模式。其中,信息记录单元为可以表格,信息记录单元中的信息可以采用元数据的方式记录的。
查询模块84用于接收关于第二设备的数据查询请求,从信息记录单元中读取第二设备当前的存储模式;响应于第二设备当前的存储模式为第一存储模式,在公共数据库对象中查找第二设备产生的且与待查询数据信息匹配的时序数据;响应于第二设备当前的存储模式为第二存储模式,在第二设备对应的独立数据库对象中查找第二设备产生的且与待查询数据信息匹配的时序数据,其中,数据查询请求包含待查询数据信息,第二设备为一数据产生设备。待查询数据信息可以包括需查询的时间范围。
在一些实施例中,在第二设备对应的独立数据库对象中查找第二设备产生的且与待查询数据信息匹配的时序数据,具体包括:按照存储路径树中,先查询到第二设备所属的类别的第一存储路径节点,并从第一存储路径节点下的子节点中查询到关于第二设备的第二存储路径节点,并按照第二存储路径节点对应的存储路径查询得到第二设备产生的且与待查询数据信息匹配的时序数据。
可以理解的是,数据存储装置可根据实际情况设置上述记录模块83、查询模块84和存储模块85中的一个或多个,或者上述三者均不设置。
请参阅图9,图9是本申请的处理设备一实施例的框架示意图。
本实施例中,处理设备90包括处理器91和与处理器91相连的存储器92。具体地,处理设备90的各个组件可通过总线耦合在一起,或者处理设备90的处理器91分别与其他组件一一连接。该处理设备90可以为具有处理能力的任意设备,例如计算机、平板电脑、手机等。
存储器92用于存储处理器91执行的程序数据以及处理器91在处理过程中的数据等。例如,存储数据量、元数据、时序数据等。其中,该存储器92包括非易失性存储部分,用于存储上述程序数据。处理器91控制处理设备90的操作,处理器91还可以称为CPU(CentralProcessing Unit,中央处理单元)。处理器91可能是一种集成电路芯片,具有信号的处理能力。处理器91还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器91可以由多个成电路芯片共同实现。处理器91通过调用存储器92存储的程序数据,用于执行指令以实现上述任一时序数据存储方法。请参阅图10,图10是本申请计算机可读介质一实施例的框架示意图。
本实施例中,该计算机可读介质100存储有处理器可运行的程序数据101,该程序数据101能够被执行,用以实现上述任一时序数据存储方法。
该计算机可读介质100具体可以为U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等可以存储程序数据的介质,或者也可以为存储有该程序数据101的服务器,该服务器可将存储的程序数据发送给其他设备运行,或者也可以自运行该存储的程序数据。
在一些实施例中,计算机可读介质100还可以为如图9所示的存储器。
在上述方案中,本申请基于各数据产生设备的存储数据量确定数据产生设备采用第一存储模式还是第二存储模式,第一存储模式为数据产生设备的时序数据存储于公共数据库对象中,第二存储模式为数据产生设备的时序数据存储于与数据产生设备对应的独立数据库对象中,通过上述方式保证来自同一数据产生设备的时序数据存储在同一个数据库对象中,而且能够适应数据量的变化进行存储模式的切换,提高时序数据的存储灵活性。
进一步地,本申请在切换存储模式时,可以根据当前数据量选择切换至使当前数据量的时序数据的查询效率更高的存储模式,进而提升数据的查询性能。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (10)

1.一种时序数据存储方法,其特征在于,所述方法包括:
分别统计至少一个数据产生设备的时序数据的存储数据量;
基于各所述数据产生设备的存储数据量,确定是否切换所述数据产生设备的存储模式,所述数据产生设备的存储模式包括第一存储模式和第二存储模式,所述第一存储模式为所述数据产生设备的时序数据存储于公共数据库对象中,所述第二存储模式为所述数据产生设备的时序数据存储于与所述数据产生设备对应的独立数据库对象中。
2.根据权利要求1所述的方法,其特征在于,所述基于各所述数据产生设备的存储数据量,确定是否切换所述数据产生设备的存储模式,包括:
响应于所述数据产生设备当前处于所述第一存储模式、且所述数据产生设备的存储数据量符合预设数据量条件,将所述数据产生设备的存储模式切换至所述第二存储模式。
3.根据权利要求2所述的方法,其特征在于,所述将所述数据产生设备的存储模式切换至所述第二存储模式,包括:
响应于所述数据产生设备当前不存在所述数据产生设备对应的所述独立数据库对象,为所述数据产生设备创建所述独立数据库对象;
将所述公共数据库对象中关于所述数据产生设备的时序数据迁移至所述数据产生设备的独立数据库对象中。
4.根据权利要求3所述的方法,其特征在于,所述将所述公共数据库对象中关于所述数据产生设备的时序数据迁移至所述数据产生设备的独立数据库对象中,包括:
从所述公共数据库对象中读取所述数据产生设备的时序数据;
将读取到的所述数据产生设备的时序数据存储至所述数据产生设备的独立数据库对象中,并删除所述公共数据库对象中关于所述数据产生设备的时序数据。
5.根据权利要求1所述的方法,其特征在于,在所述基于各所述数据产生设备的存储数据量,确定是否切换所述数据产生设备的存储模式之后,所述方法还包括:
响应于所述数据产生设备的存储模式发生切换,在信息记录单元记录所述数据产生设备当前的存储模式;
所述方法还包括:
接收关于第一设备的数据存储请求,所述数据存储请求包含待存储的时序数据,所述待存储的时序数据由所述第一设备产生,所述第一设备为一所述数据产生设备;
从所述信息记录单元中读取所述第一设备当前的存储模式;
响应于所述第一设备当前的存储模式为所述第一存储模式,将所述待存储的时序数据存储至所述公共数据库对象中;
响应于所述第一设备当前的存储模式为所述第二存储模式,将所述待存储的时序数据存储至所述第一设备对应的独立数据库对象中。
6.根据权利要求5所述的方法,其特征在于,所述数据存储请求包括所述第一设备的标识信息;在所述从所述信息记录单元中读取所述第一设备的当前存储模式之前,所述方法还包括:
利用所述第一设备的标识信息,判断所述第一设备是否为新数据产生设备,当前存储的时序数据中不包含所述新数据产生设备的时序数据;
响应于所述第一设备为新数据产生设备,将所述待存储的时序数据直接存储至所述公共数据库对象中;
响应于所述第一设备不为新数据产生设备,执行所述从所述信息记录单元中读取所述第一设备的当前存储模式。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收关于第二设备的数据查询请求,所述数据查询请求包含待查询数据信息,所述第二设备为一数据产生设备;
从信息记录单元中读取所述第二设备当前的存储模式;
响应于所述第二设备当前的存储模式为所述第一存储模式,在所述公共数据库对象中查找所述第二设备产生的且与所述待查询数据信息匹配的时序数据;
响应于所述第二设备当前的存储模式为所述第二存储模式,在所述第二设备对应的独立数据库对象中查找所述第二设备产生的且与所述待查询数据信息匹配的时序数据。
8.根据权利要求7所述的方法,其特征在于,所述待查询数据信息包括需查询的时间范围;
和/或,所述在所述第二设备对应的独立数据库对象中查找所述第二设备产生的且与所述待查询数据信息匹配的时序数据,包括:
按照存储路径树中,先查询到所述第二设备所属的类别的第一存储路径节点,并从所述第一存储路径节点下的子节点中查询到关于所述第二设备的第二存储路径节点,并按照所述第二存储路径节点对应的存储路径查询得到所述第二设备产生的且与所述待查询数据信息匹配的时序数据。
9.一种处理设备,其特征在于,包括处理器和与所述处理器相连的存储器,所述存储器存储有程序指令;所述处理器用于执行所述存储器存储的程序指令以实现如权利要求1-8中任一项所述的时序数据存储方法。
10.一种计算机可读介质,其特征在于,所述可读介质存储有程序指令,所述程序指令被执行实现如权利要求1-8中任一项所述的时序数据存储方法。
CN202311651451.7A 2023-12-04 2023-12-04 一种时序数据存储方法、处理设备及计算机可读介质 Pending CN117874296A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311651451.7A CN117874296A (zh) 2023-12-04 2023-12-04 一种时序数据存储方法、处理设备及计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311651451.7A CN117874296A (zh) 2023-12-04 2023-12-04 一种时序数据存储方法、处理设备及计算机可读介质

Publications (1)

Publication Number Publication Date
CN117874296A true CN117874296A (zh) 2024-04-12

Family

ID=90583648

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311651451.7A Pending CN117874296A (zh) 2023-12-04 2023-12-04 一种时序数据存储方法、处理设备及计算机可读介质

Country Status (1)

Country Link
CN (1) CN117874296A (zh)

Similar Documents

Publication Publication Date Title
CN110825579B (zh) 服务器性能监控方法、装置、计算机设备及存储介质
US10031671B2 (en) Method, apparatus, and system for calculating identification threshold to distinguish cold data and hot data
EP3425524A1 (en) Cloud platform-based client application data calculation method and device
CN111158977A (zh) 一种异常事件根因定位方法及装置
CN109697456B (zh) 业务分析方法、装置、设备及存储介质
CN111240876B (zh) 微服务的故障定位方法、装置、存储介质及终端
CN111061752B (zh) 数据处理方法、装置及电子设备
CN112328688B (zh) 数据存储方法、装置、计算机设备及存储介质
CN113535454A (zh) 一种日志数据异常检测的方法及设备
CN113297046A (zh) 一种内存故障的预警方法及装置
CN111338888B (zh) 一种数据统计方法、装置、电子设备及存储介质
CN112486914A (zh) 一种数据包存储与快查方法与***
CN107515807B (zh) 一种存储监控数据的方法及装置
CN109344255B (zh) 标签的填充方法及终端设备
CN111078512A (zh) 告警记录生成方法、装置、告警设备及存储介质
CN114281648A (zh) 一种数据采集方法、装置、电子设备及存储介质
WO2024139333A1 (zh) 存储集群运行状态的预测方法及装置
CN112836124A (zh) 一种画像数据获取方法、装置、电子设备及存储介质
CN113065492A (zh) 云边协同自动点货方法、装置、***及其存储介质
CN117874296A (zh) 一种时序数据存储方法、处理设备及计算机可读介质
CN114416731A (zh) 数据存储方法、数据读取方法、装置、电子设备及介质
CN112579552A (zh) 日志存储及调用方法、装置及***
CN115269519A (zh) 一种日志检测方法、装置及电子设备
CN115391279A (zh) 一种日志处理方法、装置、电子设备及存储介质
CN113626647A (zh) 一种智慧小区的数据保存方法及***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination