CN107491458A - 一种存储时间序列数据的方法和装置以及系统 - Google Patents

一种存储时间序列数据的方法和装置以及系统 Download PDF

Info

Publication number
CN107491458A
CN107491458A CN201610414581.2A CN201610414581A CN107491458A CN 107491458 A CN107491458 A CN 107491458A CN 201610414581 A CN201610414581 A CN 201610414581A CN 107491458 A CN107491458 A CN 107491458A
Authority
CN
China
Prior art keywords
filing
time
data
storage
time series
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.)
Granted
Application number
CN201610414581.2A
Other languages
English (en)
Other versions
CN107491458B (zh
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610414581.2A priority Critical patent/CN107491458B/zh
Publication of CN107491458A publication Critical patent/CN107491458A/zh
Application granted granted Critical
Publication of CN107491458B publication Critical patent/CN107491458B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures

Landscapes

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

Abstract

本申请提供一种存储时间序列数据的方法包括以下步骤:接收时间序列数据,根据所述时间序列数据的属性信息,按照预先设定的聚合规则,聚合更新内存中的接收缓冲区中相应的时间序列数据;将所述接收缓冲区中所存储的时间序列数据发送到内存中的归档缓冲区;根据按照归档精度的要求确定的各归档时间段的时间特征值所对应的时间与当前时间的关系,按照所述聚合规则,将所述归档缓冲区中的相应的时间序列数据聚合形成需存储时间序列数据,存储到所述归档缓冲区;将所述需存储时间序列数据存储到非易失介质。能够实现时间序列数据的快速实时聚合以及实时多精度归档存储,起到满足后续应用程序进行多精度查询的需求的作用。

Description

一种存储时间序列数据的方法和装置以及系统
技术领域
本申请涉及一种存储数据的方法,具体涉及一种存储时间序列数据的方法及装置,以及一种聚合时间序列数据的方法及装置,还涉及一种归档存储时间序列数据的方法及装置,还涉及一种存储时间序列数据的系统。
背景技术
大型数据系统除了具备将数据归档存储的功能外,还提供对归档存储的历史数据的查询功能,例如,监控系统周期性地生成其所监控的包括系统资源,业务访问等在内的监控对象的各种指标数据。这些指标数据是针对监控对象周期性地生成,属于时间序列数据。数据系统会将监控系统生成的这些时间序列数据归档存储,并提供给系统维护人员或用户查询这些数据的功能。
现有的数据系统归档存储时通常存储原始时间序列数据或利用原始时间序列数据,计算生成精度更低的时间序列数据并存储。因此现有的数据系统仅能够提供单一精度的历史数据查询功能。
但对于历史数据的查询,很多情况下需要查询不止一种精度的数据,例如,对于时间跨度较大的历史数据的查询,需要的数据的精度可能越低,对于时间跨度较短的历史数据的查询,需要的数据的精度可能会越高,并且对于当前及最近的数据,查询需要的数据的精度最高。
另外,单一精度的数据存储由于查询的时间跨度不同可能会导致负面的影响,例如,对于高精度存储的数据,若查询的时间跨度较长,由于需提供的数据量大,会导致响应速度慢的问题;而对于低精度存储的数据,查询的时间跨度较短,由于能够提供的数据数量少,会导致数据不能反应真实情况的问题。
可见,现有的数据系统的时间序列数据的单一精度的存储和查询方式,不能够满足多精度查询的需要。
发明内容
本申请提供一种存储时间序列数据的方法和装置。本申请同时提供一种聚合时间序列数据的方法和装置。以及一种归档存储时间序列数据的方法和装置。本申请还提供一种存储时间序列数据的系统。
本申请提供的一种存储时间序列数据的方法,包括以下步骤:
接收时间序列数据,根据所述时间序列数据的属性信息,按照预先设定的聚合规则,聚合更新内存中的接收缓冲区中相应的时间序列数据;
将所述接收缓冲区中所存储的时间序列数据发送到内存中的归档缓冲区;
根据按照归档精度的要求确定的各归档时间段的时间特征值所对应的时间与当前时间的关系,按照所述聚合规则,将所述归档缓冲区中的相应的时间序列数据聚合形成需存储时间序列数据,存储到所述归档缓冲区;
将所述需存储时间序列数据存储到非易失介质。
优选地,所述属性信息包括:目标对象,指标标识,精度和时间段。
优选地,所述聚合规则包括将属性信息均分别相同的时间序列数据的指标值相加求和。
优选地,所述按照预先设定的聚合规则,聚合更新内存中的接收缓冲区中相应的时间序列数据包括:
按照预先设定的聚合规则,将所述接收缓冲区中与所接收到的时间序列数据的属性信息均分别相同的时间序列数据的相应指标值聚合,形成所述目标对象的所述精度的所述时间段的所述指标的聚合指标值;
采用所述聚合指标值更新所述接收缓冲区中的相应时间序列数据的指标值。
优选地,所述将所述接收缓冲区中所存储的时间序列数据发送到内存中的归档缓冲区包括:
若所述接收缓冲区所存储的数据量超过设定的阈值,或所述接收缓冲区所存储的数据量与所述缓冲区的容量的比值超过设定的阈值,则将所述接收缓冲区中所存储的时间序列数据发送到内存中的归档缓冲区。
优选地,所述时间特征值包括:
所述时间段内的一个时刻的时间距离预先指定的时间点的时长。
优选地,所述根据按照归档精度的要求确定的各归档时间段的时间特征值所对应的时间与当前时间的关系,按照所述聚合规则,将所述归档缓冲区中的相应的时间序列数据聚合形成需存储时间序列数据,存储到所述归档缓冲区包括:
根据归档精度的要求确定各归档时间段;
当当前时间超过所述归档时间段的时间特征值所对应的时间预先设定的时长且归档精度低于所述接收到的时间序列数据的精度时,按照预先设定的聚合规则,将同时满足下述条件的时间序列数据聚合,形成需存储时间序列数据并将其存储到所述归档缓冲区;
所述条件包括:
所述时间序列数据存储在所述归档缓冲区中;
所述时间序列数据的时间段为所述归档时间段;
所述时间序列数据的精度为比所述归档时间段相对应的归档精度高一级的归档精度;
所述时间序列数据的目标对象相同;
所述时间序列数据的指标标识相同。
优选地,所述根据按照归档精度的要求确定的各归档时间段的时间特征值所对应的时间与当前时间的关系,按照所述聚合规则,将所述归档缓冲区中的相应的时间序列数据聚合形成需存储时间序列数据,存储到所述归档缓冲区包括:
根据归档精度的要求确定各归档时间段;
当当前时间超过所述归档时间段的时间特征值所对应的时间预先设定的时长且归档精度与所述接收到的时间序列数据的精度相同时,按照预先设定的聚合规则,将同时满足下述条件的时间序列数据聚合,形成需存储时间序列数据并将其存储到所述归档缓冲区;
所述条件包括:
所述时间序列数据存储在所述归档缓冲区中;
所述时间序列数据的时间段为所述归档时间段;
所述时间序列数据的精度为所述归档精度;
所述时间序列数据的目标对象相同;
所述时间序列数据的指标标识相同。
优选地,所述将所述需存储时间序列数据存储到非易失介质包括:
将所述需存储时间序列数据的时间段的时间特征值以及所述需存储时间序列数据的精度值存储到非易失存储介质上的元表格;
将所述需存储时间序列数据的时间段的时间特征值,所述需存储时间序列数据的目标对象以及指标存储到非易失存储介质上的归档数据表格。
优选地,所述将所述需存储时间序列数据的时间段的时间特征值以及所述需存储时间序列数据的精度值存储到非易失存储介质上的元表格包括:
以所述需存储时间序列数据的精度为键值,将所述时间段的时间特征值存储到非易失存储介质上的元表格。
优选地,所述将所述需存储时间序列数据的时间段的时间特征值,所述需存储时间序列数据的目标对象以及指标存储到非易失存储介质上的归档数据表格包括:
以所述时间特征值和目标对象为键值,将所述需存储时间序列数据的指标存储到非易失存储介质上的归档数据表格。
优选地,所述时间序列数据包括业务监控数据。
本申请提供的一种聚合时间序列数据的方法,包括以下步骤:
接收时间序列数据,根据所述时间序列数据的属性信息,按照预先设定的聚合规则,聚合更新内存中的接收缓冲区中相应的时间序列数据;
将所述接收缓冲区中所存储的时间序列数据发送给聚合领导者。
优选地,所述属性信息包括:目标对象,指标标识,精度和时间段;
优选地,所述聚合规则包括将属性信息均分别相同的时间序列数据的指标值相加求和。
优选地,所述按照预先设定的聚合规则,聚合更新内存中的接收缓冲区中相应的时间序列数据包括:
按照预先设定的聚合规则,将所述接收缓冲区中与所接收到的时间序列数据的属性信息均分别相同的时间序列数据的相应指标值聚合,形成所述目标对象的所述精度的所述时间段的所述指标的聚合指标值;
采用所述聚合指标值更新所述接收缓冲区中的相应时间序列数据的指标值。
优选地,所述将所述接收缓冲区中所存储的时间序列数据发送给聚合领导者包括:
若所述接收缓冲区所存储的数据量超过设定的阈值,或
所述接收缓冲区所存储的数据量与所述缓冲区的容量的比值超过设定的阈值,则将所述接收缓冲区中所存储的时间序列数据发送给聚合领导者。
优选地,所述时间序列数据包括业务监控数据。
优选地,用于分布式集群系统存储时间序列数据。
本申请提供的一种归档存储时间序列数据的方法,包括以下步骤:
作为聚合领导者接收时间序列数据,将所接收到的时间序列数据存储到内存中的归档缓冲区中;
根据按照归档精度的要求确定的各归档时间段的时间特征值所对应的时间与当前时间的关系,按照预先设定的聚合规则,将所述归档缓冲区中的相应的时间序列数据聚合形成需存储时间序列数据,存储到所述归档缓冲区;
将所述需存储时间序列数据存储到非易失介质。
优选地,所述时间特征值包括:
所述时间段内的一个时刻的时间距离预先指定的时间点的时长。
优选地,所述聚合规则包括将属性信息均分别相同的时间序列数据的指标值相加求和。
优选地,所述根据按照归档精度的要求确定的各归档时间段的时间特征值所对应的时间与当前时间的关系,按照预先设定的聚合规则,将所述归档缓冲区中的相应的时间序列数据聚合形成需存储时间序列数据,将其存储到所述归档缓冲区包括:
根据归档精度的要求确定各归档时间段;
当当前时间超过所述归档时间段的时间特征值所对应的时间预先设定的时长且归档精度低于所述接收到的时间序列数据的精度时,按照预先设定的聚合规则,将同时满足下述条件的时间序列数据聚合,形成需存储时间序列数据并将其存储到所述归档缓冲区;
所述条件包括:
所述时间序列数据存储在所述归档缓冲区中;
所述时间序列数据的时间段为所述归档时间段;
所述时间序列数据的精度为比所述归档时间段相对应的归档精度高一级的归档精度;
所述时间序列数据的目标对象相同;
所述时间序列数据的指标标识相同。
优选地,所述根据按照归档精度的要求确定的各归档时间段的时间特征值所对应的时间与当前时间的关系,按照预先设定的聚合规则,将所述归档缓冲区中的相应的时间序列数据聚合形成需存储时间序列数据,存储到所述归档缓冲区包括:
当当前时间超过所述归档时间段的时间特征值所对应的时间预先设定的时长且归档精度与所述接收到的时间序列数据的精度相同时,按照预先设定的聚合规则,将同时满足下述条件的时间序列数据聚合,形成需存储时间序列数据并将其存储到所述归档缓冲区;
所述条件包括:
所述时间序列数据存储在所述归档缓冲区中;
所述时间序列数据的时间段为所述归档时间段;
所述时间序列数据的精度为所述归档精度;
所述时间序列数据的目标对象相同;
所述时间序列数据的指标标识相同。
优选地,所述将所述需存储时间序列数据存储到非易失介质包括:
将所述需存储时间序列数据的时间段的时间特征值以及所述需存储时间序列数据的精度值存储到非易失存储介质上的元表格;
将所述需存储时间序列数据的时间段的时间特征值以及所述需存储时间序列数据的指标存储到非易失存储介质上的归档数据表格。
优选地,所述将所述需存储时间序列数据的时间段的时间特征值以及所述需存储时间序列数据的精度值存储到非易失存储介质上的元表格包括:
以所述需存储时间序列数据的精度为键值,将所述时间段的时间特征值存储到非易失存储介质上的元表格。
优选地,所述将所述需存储时间序列数据的时间段的时间特征值以及所述需存储时间序列数据的指标存储到非易失存储介质上的归档数据表格包括:
以所述时间特征值为键值,将所述需存储时间序列数据的指标存储到非易失存储介质上的归档数据表格。
优选地,所述时间序列数据包括业务监控数据。
优选地,用于分布式集群系统存储时间序列数据。
本申请提供的一种存储时间序列数据的装置,包括
接收缓冲区更新单元,用于接收时间序列数据根据所述时间序列数据的属性信息,按照预先设定的聚合规则,聚合更新内存中的接收缓冲区中相应的时间序列数据;
接收缓冲区清理单元,用于将所述接收缓冲区中所存储的时间序列数据发送到内存中的归档缓冲区;
聚合单元,用于根据按照归档精度的要求确定的各归档时间段的时间特征值所对应的时间与当前时间的关系,按照预先设定的聚合规则,将所述归档缓冲区中的相应的时间序列数据聚合形成需存储时间序列数据,存储到所述归档缓冲区;
存储单元,用于将所述需存储时间序列数据存储到非易失介质。
本申请提供的一种聚合时间序列数据的装置,包括:
接收缓冲区更新单元,用于接收时间序列数据,根据所接收到的时间序列数据的属性信息,按照预先设定的聚合规则,聚合更新内存中的接收缓冲区中相应的时间序列数据;
接收缓冲区清理单元,用于将所述接收缓冲区中所存储的时间序列数据发送给聚合领导者。
本申请提供的一种归档存储时间序列数据的装置,包括:
接收单元,用于作为聚合领导者接收时间序列数据,将所接收到的时间序列数据存储到内存中的归档缓冲区中;
聚合单元,用于根据按照归档精度的要求确定的各归档时间段的时间特征值所对应的时间与当前时间的关系,按照预先设定的聚合规则,将所述归档缓冲区中的相应的时间序列数据聚合形成需存储时间序列数据,存储到所述归档缓冲区;
存储单元,用于将所述需存储时间序列数据存储到非易失介质。
本申请提供的一种存储时间序列数据的系统,包括:
至少一个的根据权利要求31所述的聚合时间序列数据的装置和一个根据权利要求32所述的归档存储时间序列数据的装置;
所述装置通过网络连接。
与现有技术相比,本申请提供的一种存储时间序列数据的方法具有以下优点:
将接收到的时间序列数据实时地进行聚合存储到内存中,并根据归档的精度要求实时地将聚合后的需归档存储的数据存储到非易失介质。能够实现时间序列数据的快速实时聚合以及实时多精度归档存储,起到满足后续应用程序进行多精度查询的需求的作用。
与现有技术相比,本申请提供的一种聚合时间序列数据的方法具有以下优点:
将接收到的时间序列数据实时地进行聚合存储到内存中的接收缓冲区,并将所存储的时间序列数据发送给聚合领导者。能够实现时间序列数据的快速实时聚合。
与现有技术相比,本申请提供的一种归档存储时间序列数据的方法具有以下优点:
将接收到的时间序列数据实时地进行聚合存储到内存中的归档缓冲区,并根据归档的精度要求实时地将聚合后的需归档存储的数据存储到非易失介质。能够实现时间序列数据的快速实时聚合以及实时多精度归档存储,起到满足后续应用程序进行多精度查询的需求的作用。
附图说明
图1为本申请第一实施例一种存储时间序列数据的方法的流程示意图;
图2为本申请第二实施例一种聚合时间序列数据的方法的流程示意图;
图3为本申请第三实施例一种归档存储时间序列数据的方法的流程示意图;
图4为本申请第四实施例一种存储时间序列数据的装置的结构框图;
图5为本申请第五实施例一种聚合时间序列数据的装置的结构框图;
图6为本申请第六实施例一种归档存储时间序列数据的装置的结构框图;
图7为本申请第七实施例一种存储时间序列数据的系统的结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
本申请第一实施例提供一种存储时间序列数据的方法,其流程示意图如图1所示,包括以下步骤:
步骤S101,接收时间序列数据,根据所述时间序列数据的属性信息,按照预先设定的聚合规则,聚合更新内存中的接收缓冲区中相应的时间序列数据。
时间序列数据是指带有时间属性参数的一系列数据,例如,监控系统周期性地生成各个被监控目标对象的指标数据,其时间属性参数表示所述指标数据生成的时间。通常情况下,对于同一被监控的目标对象的指标数据,监控系统生成的监控数据的时间属性参数具有周期性的规律,即顺序生成的相同指标或指标组的相邻两条数据的时间属性参数所表示的时间的差值相同。所述差值即为所述监控数据(时间序列数据)的精度,差值越小,数据的精度越高,差值越大,数据的精度越低。从相邻两条数据中前一条数据的时间属性参数所表示的时间到后一条数据的时间属性参数所表示的时间为后一条数据的时间段。
本实施例以监控系统所生成的业务监控数据为例说明存储时间序列数据的方法:为存储如监控系统产生的业务监控数据,首先接收所述的监控数据,所述监控数据即为各个被监控对象的监控指标或指标组数据,每条数据包含有各种必要的属性参数,如目标对象,时间段,精度,指标标识以及指标值等。例如接收到业务监控数据可以分别如下表1中各条数据所示:
目标对象 时间段 精度 指标标识 指标值
表一 10:21:00-10:21:10 10s 读次数 2
表二 10:21:00-10:21:10 10s 响应延迟 10
表三 10:21:10-10:21:20 10s 写次数 1
表1
接收所述业务监控数据可以从监控系统直接接收,对于大型的数据系统,业务通常分布在不同的节点设备上,监控数据也会在不同的业务节点产生,这种情况更适合于通过分布式的数据接收前端设备分别收集不同节点的业务监控数据,存储设备在从这些前端设备接收所述的业务监控数据。
根据所接收到的时间序列数据的属性信息,如目标对象,指标标识,精度和时间段,按照预先设定的聚合规则,聚合更新内存中的接收缓冲区中相应的时间序列数据。
对于从不同的前端设备接收到的时间序列数据,有可能存在不同的前端设备收集到同一目标对象的统一数段的同一精度的同一指标的情况,所以,需要对这样的数据进行聚合。
本实施例提供的聚合的方法包括判断所接收到的数据的属性信息,所述属性信息包括:目标对象,指标标识,时间段和精度,具体为判断这些参数是否与接收缓冲区内已经存储的时间序列数据中某一条数据的各个参数都分别相同。
若相同,则将接收缓冲区中与接收到的数据的所述参数相同的时间序列数据的指标值与所接收到的数据的指标值聚合,形成所述目标对象的所述时间段的所述精度的时间序列数据的聚合指标值。
聚合的规则可以预先设定,对于计数器类型的指标,可以将指标值进行累加求和,对于非计数器类型的指标,可以根据实际情况和需要进行相应灵活的处理,如计算所述指标值的算术平均值,几何平均值或概率平均值等。
对于指标为指标组合的情况,可以针对指标组合中的各个指标,按照实际情况采取相应的规则分别进行聚合。
按照所述的聚合规则进行聚合后,用所形成的所述目标对象的所述时间段的所述精度的时间序列数据的聚合指标值更新所述接收缓冲区中原来所存储的与接收到的时间序列数据参数相同的时间序列数据的指标值,以用于后续接收到新的时间序列数据时再次进行聚合。起到节省存储空间的作用。
对于内存中的接收缓冲区内已经存储的时间序列数据中不存在任何一条数据的各个参数都分别与所接收到的数据的目标对象,指标标识,时间段和精度这些参数相同的情况,将所接收到的时间序列数据存储到所述接收缓冲区。
这样能够及时地将时间序列数据在内存中进行聚合操作,达到实时快速聚合数据的效果。
例如,当内存中的接收缓冲区中存储有如下表2所示的数据,
目标对象 时间段 精度 指标标识 指标值
表一 10:21:00-10:21:10 10s 读次数 3
表二 10:21:00-10:21:10 10s 响应延迟 10
表三 10:21:00-10:21:10 10s 写次数 1
表2
对于接收到的数据如步骤S101中表1所述的目标对象为“表一”,时间段为“10:21:00-10:21:10”,精度为“10s”,指标标识为“读次数”的业务监控数据,由于接收缓冲区中所存储的业务监控数据中存在目标对象为“表一”,时间段为“10:21:00-10:21:10”,精度为“10s”,指标标识为“读次数”的数据,而指标标识“读次数”表明该指标为计数器类型,可以将指标值累加求和,得到5并将所述接收缓冲区中的相应的指标值更新为5。
所述接收缓冲区中所存储的业务监控数据更新为下表3所示:
目标对象 时间段 精度 指标标识 指标值
表一 10:21:00-10:21:10 10s 读次数 5
表二 10:21:00-10:21:10 10s 响应延迟 10
表三 10:21:00-10:21:10 10s 写次数 1
表3
对于接收到的数据如步骤S101中表1所述的目标对象为“表二”,时间段为“10:21:00-10:21:10”,精度为“10s”,指标标识为“响应延迟”的业务监控数据,由于接收缓冲区中所存储的业务监控数据中存在目标对象为“表二”,时间段为“10:21:00-10:21:10”,精度为“10s”,指标标识为“响应延迟”的数据,而指标标识“响应延迟”表明该指标不是计数器类型,可以根据业务应用的实际情况如计算其算术平均值,得到10s并将所述接收缓冲区中的相应的指标值更新为10s。
所述接收缓冲区中所存储的业务监控数据更新为下表4所示:
目标对象 时间段 精度 指标标识 指标值
表一 10:21:00-10:21:10 10s 读次数 3
表二 10:21:00-10:21:10 10s 响应延迟 10
表三 10:21:00-10:21:10 10s 写次数 1
表4
对于接收到的数据如步骤S101中表1所述的目标对象为“表三”,时间段为“10:21:10-10:21:20”,精度为“10s”,指标标识为“写次数”的业务监控数据,尽管所述接收缓冲区中存在一条目标对象为“表三”,精度为“10s”,指标标识为“写次数”的业务监控数据,但其时间段为“10:21:00-10:21:10”与所接收到的业务监控数据的时间段不同,所以不对其进行聚合,而是直接将其存储到所述接收缓冲区。
所述接收缓冲区中所存储的业务监控数据如下表5所示:
目标对象 时间段 精度 指标标识 指标值
表一 10:21:00-10:21:10 10s 读次数 3
表二 10:21:00-10:21:10 10s 响应延迟 10
表三 10:21:00-10:21:10 10s 写次数 1
表三 10:21:10-10:21:20 10s 写次数 1
表5
步骤S102,将所述接收缓冲区中所存储的时间序列数据发送到内存中的归档缓冲区。
接收缓冲区用来临时保存接收到的时间序列数据,并对接收到的时间序列数据进行可能的初步的聚合,当所述缓冲区的使用情况有可能导致接收到的时间序列数据无处存储或有可能导致当前所存储的时间序列数据丢失之前,需要对其进行清理,也即将所存储的数据转移发送出去并将其清空或标记为可覆盖,以便后续接收到的时间序列数据能够存储到该接收缓冲区。
判断是否需要对所述接收缓冲区进行清理可以根据系统的实际情况和方便程度采用不同的方式,本申请提供以下的方式:
方式一:判断所述接收缓冲区所存储的数据量是否超过设定的阈值,若超过则需要进行相应的清理,若未超过设定的阈值则不需要进行相应的清理。
方式二:判断所述接收缓冲区所存储的数据量与所述缓冲区的容量的比值是否超过设定的阈值,若超过则需要进行相应的清理,若未超过设定的阈值则不需要进行相应的清理。
上述两种方式都能够避免接收到的时间序列数据无处存储或已经存储的时间序列数据丢失的问题。除了上述两种方式判断是否需要清理接收缓冲区外,也可以采用如定时清理的方式。甚至可以将这些方式结合起来进行判断,如当同时满足2个或三个方式的要求时再进行清理等,这样能够更有效地利用内存中操作速度快的优势,提高存储的效率。
对于表2所示的业务监控数据所存储的接收缓冲区,如其所存储的数据量根据上述方式判断需要进行清理,原来其所存储的时间序列数据需要转移到内存中的归档缓冲区进行归档存储相关的操作。
例如对于前面步骤中表2所示的业务监控数据,由于所述接收缓冲区的使用情况,需要进行清理,则将表2中的业务监控数据发送到内存中的归档缓冲区。
步骤S103,根据按照归档精度的要求确定的各归档时间段的时间特征值所对应的时间与当前时间的关系,按照所述聚合规则,将所述归档缓冲区中的相应的时间序列数据聚合形成需存储时间序列数据,存储到所述归档缓冲区。
首先确定各归档时间段,可以根据归档精度要求确定。
对于需要归档存储的时间序列数据,由于查询历史数据的应用场景的不同,对需要存储的数据的精度的要求也不相同。时间序列数据的精度是与数据的时间段相对应的。例如,对于表2中所示的4条业务监控数据,精度都为10s(10秒),其对应的时间段虽然并不相同,但都为10秒的时间间隔。因此,根据归档精度要求,可以知道时间段的时间间隔,再根据时间间隔能够确定时间段。也即,可以将时间间隔为归档精度要求的时间段作为归档时间段。
为了实现多精度查询,除了原始时间序列数据的精度,也即接收到的时间序列数据的精度,还可以配置多个精度作为归档精度,相应地,也就能够确定各个归档时间段。一旦确定了归档时间段,也就能够确定哪些时间序列数据需要被聚合并存储。
例如,对于归档缓冲区存储如下表6的业务监控数据:
表6
例如,归档精度要求为:10秒(10s),1分钟(min)和5分钟(min)。将其与所存储的业务监控数据精度的单位统一,得到需要进行归档的精度从高到低分别为10s,60s和300s。
对于归档精度为10s的情况,各个归档时间段即为时间间隔为10s的各个时间段包括:
……,10:21:00-10:21:10,10:21:10-10:21:20,10:21:20-10:21:30,10:21:30-10:21:40,10:21:40-10:21:50,10:21:50-10:22:00,……
对于归档精度为60s的要求,可以确定各个归档时间段的间隔为60s(1分钟),也即对于表6中所示的各条数据,可以确定相对于归档精度要求为60s的归档时间段包括:
……,10:20:00-10:21:00,10:21:00-10:22:00,10:22:00-10:23:00,……
相对于归档精度要求为5分钟(300s)的归档时间段包括:
……,10:20:00-10:25:00,……
也即需要将各个目标对象的同一指标的上述时间段内的相应精度的业务监控数据聚合存储。
确定了各个归档时间段后,还需要确定将各个归档时间段的时间特征值。所述时间特征值可以表示其所对应的时间段。具体可以将归档时间段中某一时刻的时间值与预先设定的时间点的时长,由于需要对数据进行聚合和存储,可以选择各个归档时间段的截至时间与预先设定的时间点的时长作为其时间特征值。这样可以避免各地不同的时区导致的换算的问题。对于UNIX系统来说,系统提供的时间戳(Unix Time Stamp)是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,可以采用其作为各个归档时间段的时间特征值。
通过判断当前时间和各个归档时间段的时间特征值所对应的时间的关系,可以确定是否能够对所述的归档时间段的相应的数据进行聚合操作。当前时间超过归档时间段的时间特征值所对应的时间一定的时长,则表示所存储的数据已经完备,可以启动聚合存储的操作。
例如,对于表6所示的归档缓冲区所存储的业务监控数据,根据其归档精度的要求,已经确定各个归档时间段分别为……,10:21:00-10:21:10,10:21:10-10:21:20,10:21:20-10:21:30,10:21:30-10:21:40,10:21:40-10:21:50,10:21:50-10:22:00,……,……,10:20:00-10:21:00,10:21:00-10:22:00,10:22:00-10:23:00,……,……,10:20:00-10:25:00,……
若当前时间为10:22:15,超过了精度为10s所对应的时间段10:21:50-10:22:00的时间特征值所对应的时间“10:22:00”15s(15s为预先设定的阈值)并且超过了精度为60s所对应的时间段10:21:00-10:22:00的时间特征值所对应的时间“10:22:00”15s(15s为预先设定的阈值),表明所述时间段所需要聚合存储的数据已经完备,则可以启动相应的聚合存储操作。
对于归档精度低于接收到的时间序列数据的精度的情况,将所述归档时间段中的时间序列数据中同一目标对象,的同一指标标识,且精度比该归档时间段相对应的精度高一级的归档精度的数据的指标值相聚和,形成该归档时间段内,各个目标对象的各个指标的归档精度要求的需存储时间序列数据,并将其存储到归档缓冲区。
对于归档精度等于接收到的时间序列数据的精度的情况,将所述归档缓冲区中目标对象相同的指标标识相同的精度相同的时间段相同的时间序列数据相聚合形成各个目标对象所述时间段的所述指标的所述精度的可存储时间序列数据并将其存储到归档缓冲区。且在后续步骤中将其存储到非易失介质。
对于表6中所示的归档时间段10:21:50-10:22:00的目标对象为“表一”的精度为“10s”的指标标识为“读次数”的业务监控数据,所述缓冲区内不存在目标对象为“表一”的精度为“10s”的时间段为“10:21:50-10:22:00”的指标标识为“读次数”的其他业务监控数据,则将其作为归档精度为10s的需存储时间序列数据存储到所述归档缓冲区:
对于表6中所示的归档时间段10:21:00-10:22:00的数据,将目标对象为“表一”的指标标识为“读次数”,精度为比60s高一级的10s的下述几条数据聚合:
按照步骤S101中所述的聚合规则,形成一条目标对象为“表一”的时间段为“10:21:00-10:22:00”的精度为“1分钟”(60s)指标标识为“读次数”指标值为“53”的需存储业务监控数据,并将该新生成的业务监控数据存储到所述的归档缓冲区。
至此,归档缓冲区所存储的业务监控数据如下表7所示:
目标对象 时间段 精度 指标标识 指标值
表一 10:21:00-10:21:10 10s 读次数 5
表一 10:21:10-10:21:20 10s 读次数 6
表一 10:21:20-10:21:30 10s 读次数 8
表一 10:21:30-10:21:40 10s 读次数 7
表一 10:21:40-10:21:50 10s 读次数 15
表一 10:21:50-10:22:00 10s 读次数 12
表一 10:20:00-10:21:00 60s 读次数 46
表二 10:22:00-10:22:10 10s 响应延迟 11
表二 10:22:10-10:22:20 10s 响应延迟 9
表三 10:20:00-10:21:00 60s 写次数 1
表三 10:21:00-10:22:00 60s 写次数 3
表一 10:21:00-10:22:00 60s 读次数 53
表7
将上述需存储业务监控数据存储到归档缓冲区后,执行下一步骤。
依此类推,在10:23:15后,归档缓冲区中会增加一条目标对象为“表一”的时间段为“10:22:00-10:23:00”的精度为“1分钟”(60s)指标标识为“读次数”的需存储业务监控数据并存储到归档缓冲区;
在10:24:15后,归档缓冲区中会增加一条目标对象为“表一”的时间段为“10:23:00-10:24:00”的精度为“1分钟”(60s)指标标识为“读次数”的需存储业务监控数据并存储到归档缓冲区;
在每次形成需存储业务监控数据并存储到归档缓冲区后,执行下一步骤。
在10:25:15后,归档缓冲区中会增加一条目标对象为“表一”的时间段为“10:24:00-10:25:00”的精度为“1分钟”(60s)指标标识为“读次数”的需存储业务监控数据并存储到归档缓冲区。
在形成并存储了一条目标对象为“表一”的时间段为“10:24:00-10:25:00”的精度为“1分钟”(60s)指标标识为“读次数”的业务监控数据后,由于对于精度要求5分钟所对应的时间段“10:20:00-10:25:00”也满足聚合存储的条件,因此还会将上述5分钟内的业务监控数据进行聚合,并存储到对党缓冲区中。此后执行下一步骤。
类似地,对于表6中的目标对象为“表二”或“表三”的数据,也会进行类似的聚合存储操作。
步骤S104,将所述需存储时间序列数据存储到非易失介质。
形成所述的需存储时间序列数据后,及时将其存储到非易失介质如硬盘,光盘等的非易失介质,以便长期保存和必要时供数据恢复之用。
将所述需存储时间序列数据存储到非易失介质的方法可以有多种,如将所述需存储时间序列数据按照原有的格式存储到非易失介质,本实施例优选地提供下述的方法:
将所述需存储时间序列数据的时间段的时间特征值以及所述需存储时间序列数据的精度值存储到非易失存储介质上的元表格;并将所述需存储时间序列数据的时间段的时间特征值以及所述需存储时间序列数据的指标存储到非易失存储介质上的归档数据表格。以实现符合查询需要的快速查找相应数据。
将所述需存储时间序列数据的时间段的时间特征值以及所述需存储时间序列数据的精度值存储到非易失存储介质上的元表格的方式可以有多种,为尽可能提高存储的效率和查询的速度,本实施例优选地,以所述需存储时间序列数据的精度为键值,将所述时间段的时间特征值存储到非易失存储介质上的元表格。
将所述需存储时间序列数据的时间段的时间特征值以及所述需存储时间序列数据的指标存储到非易失存储介质上的归档数据表格的方式也可以有多种,,为尽可能提高存储的效率和查询的速度,本实施例优选地提供下述的方式:以所述时间特征值为键值,将所述需存储时间序列数据的指标存储到非易失存储介质上的归档数据表格。
由于查询时,通常会指定想要查询的时间和精度,以元表格和归档数据表格存储所述需存储时间序列数据能够在查询数据时快速提供所被查询的数据。而降查询时的常用到的必要参数时间和精度作为元表格的数据和键值,同时将指标和时间作为归档数据表格的数据和键值能够达到最大限度提高查询时的速度的效果。
例如对于前一步骤中形成的下述这一需存储业务监控数据:
表一 10:21:00-10:22:00 60s 读次数 53
将精度“60s”作为键值,将时间段“10:21:00-10:22:00”的以Unix时间戳“1460703391991”(此值为示意性值,非准确值)为时间特征值作为记录值,形成一条元表格记录:
精度 时间特征值
60s 1460703391991
将时间特征值作为记录值“1460703391991”,目标对象“表一”作为必要的键值,将指标“读次数”与指标值“53”作为记录值,加上其他相关的键值如,维度,分桶编号等形成一条归档数据表格记录:
分桶编号 时间特征值 维度 目标对象 指标
63 1460703391991 用户一:表 表一 {读次数:53}
对于归档缓冲区内的满足归档精度要求的其他时间序列数据,都可以采用上述方法形成相应的元表格记录与归档数据表格记录并存储到非易失介质上长期保存。
本实施例提供的存储时间序列数据的方法优选地用于存储业务监控数据,能够及时将业务监控数据多精度存储,为业务查询提供快速及时的响应。
本申请第二实施例提供一种聚合时间序列数据的方法,可用于需要对时间序列数据进行聚合的情况,也可以用于利用分布式集群系统存储时间序列数据,其流程示意图如图2所示。包括以下步骤:
步骤S201,接收时间序列数据,根据所述时间序列数据的属性信息,按照预先设定的聚合规则,聚合更新内存中的接收缓冲区中相应的时间序列数据。
本实施例以分布式集群系统中进行初步聚合的设备为例,说明聚合时间序列数据的方法。对于大型的数据系统,业务通常分布在不同的节点设备上,监控数据也会在不同的业务节点产生,更适合于分布式集群系统中进行初步聚合的设备接收前端设备收集的不同业务节点的业务监控数据。
接收时间序列数据的详细描述可以参考本申请第一实施例步骤S101的描述。
接收到所述时间序列数据后,根据所接收到的时间序列数据的属性信息(包括目标对象,指标标识,精度和时间段),按照预先设定的聚合规则,聚合更新内存中的接收缓冲区中相应的时间序列数据。
分布式集群系统中进行初步聚合的设备接收到时间序列数据后,将其与接受缓冲区中所存储的能够按照聚合的规则进行聚合的数据相聚合,再用聚合后的数据更新接收缓冲区中所存储的相应的时间序列数据。若接收缓冲区中不存在能够与之相聚合的时间序列数据,则将接收到的时间序列数据直接存储到接收缓冲区。
例如,对于接受缓冲区存储下列数据的情况:
目标对象 时间段 精度 指标标识 指标值
表一 10:21:00-10:21:10 10s 读次数 3
表二 10:21:00-10:21:10 10s 响应延迟 10
表三 10:21:00-10:21:10 10s 写次数 1
如果接收到的业务监控数据为
目标对象 时间段 精度 指标标识 指标值
表一 10:21:00-10:21:10 10s 读次数 2
则可以将其与接受缓冲区中的下述业务监控数据相聚合:
目标对象 时间段 精度 指标标识 指标值
表一 10:21:00-10:21:10 10s 读次数 3
并将其更新为:
目标对象 时间段 精度 指标标识 指标值
表一 10:21:00-10:21:10 10s 读次数 5
若接收到的数据为
目标对象 时间段 精度 指标标识 指标值
表二 10:21:00-10:21:10 10s 响应延迟 10
则将其与接收缓冲区中的下述数据相聚合:
目标对象 时间段 精度 指标标识 指标值
表二 10:21:00-10:21:10 10s 响应延迟 10
并将其更新为:
目标对象 时间段 精度 指标标识 指标值
表二 10:21:00-10:21:10 10s 响应延迟 10
若接收到的数据为:
目标对象 时间段 精度 指标标识 指标值
表三 10:21:10-10:21:20 10s 写次数 1
则将其直接存储到接收缓冲区。
详细的说明可以参考本申请第一实施例一种存储时间序列数据的方法中步骤S101中的相应描述。
步骤S202,将所述接收缓冲区中所存储的时间序列数据发送给聚合领导者。
为了保证后续接收到的时间序列数据能够被正确处理不被错误地丢弃,必须对接收缓冲区进行相应的管理,以使其能够随时留有足够的空间接收时间序列数据。与本申请第一实施例中步骤S102类似,可以根据包括使用量或使用时间等接收缓冲区的使用情况决定是否需要清理。详细的说明请参考本申请第一实施例一种存储时间序列数据的方法中步骤S102中的相应描述。
若需要清理所述接收缓冲区,则将所述接收缓冲区中所存储的时间序列数据发送给聚合领导者。
作为分布式集群系统中初步聚合的设备,当接收缓冲区需要清理时,可以将缓冲区中所存储的时间序列数据通过分布式集群各个设备间的通信网络发送给集群中的聚合领导者进行最后的聚合与存储。
如果接收缓冲区不需要清理,则可以继续接收新的实践序列数据。
以上为本申请第二实施例一种聚合时间序列数据的方法,该方法不仅能够用于对如业务监控数据等的时间序列数据的初步聚合,更适合于利用分布式集群系统存储如业务监控数据等的时间序列数据。
本申请第三实施例提供一种归档存储时间序列数据的方法,可用于需要对时间序列数据进行归档存储的情况,也可以用于利用分布式集群系统存储时间序列数据,其流程示意图如图3所示,包括以下步骤:
步骤S301,作为聚合领导者接收时间序列数据,将所接收到的时间序列数据存储到内存中的归档缓冲区中。
作为聚合领导者,可以接收任何前端设备发送来的时间序列数据,用于后续的处理。
在分布式集群系统中,作为聚合领导者,当分布式集群中进行初步聚合的设备将经过初步聚合的时间序列数据发送来时,接收所述的时间序列列数据。
例如,接收本申请第二实施例中分布式集群系统中进行初步聚合的设备清理其接受缓冲区时,发送的其接收缓冲区中所存储的时间序列数据。
为了快速对时间序列数据进行处理,将接收到的时间序列数据存储到内存中的归档缓冲区。
例如,对于分布式集群系统的聚合领导者,将接收到的业务监控数据存储到归档缓冲区后,所述归档缓冲区中存储如下表8中所示的业务监控数据:
目标对象 时间段 精度 指标标识 指标值
表一 10:21:00-10:21:10 10s 读次数 5
表一 10:21:10-10:21:20 10s 读次数 6
表一 10:21:20-10:21:30 10s 读次数 8
表一 10:21:30-10:21:40 10s 读次数 7
表一 10:21:40-10:21:50 10s 读次数 15
表一 10:21:50-10:22:00 10s 读次数 12
表一 10:20:00-10:21:00 60s 读次数 46
表二 10:22:00-10:22:10 10s 响应延迟 11
表二 10:22:10-10:22:20 10s 响应延迟 9
表三 10:20:00-10:21:00 60s 写次数 1
表三 10:21:00-10:22:00 60s 写次数 3
表8
步骤S302,根据按照归档精度的要求确定的各归档时间段的时间特征值所对应的时间与当前时间的关系,按照预先设定的聚合规则,将所述归档缓冲区中的相应的时间序列数据聚合形成需存储时间序列数据存储到所述归档缓冲区。
首先根据归档精度的要求确定各个归档时间段。
对于如表8中所示的业务监控数据,若归档精度要求分别为10秒,1分钟和5分钟,也即10s,60s和300s,则可以确定与归档精度相对应的各个归档时间段分别为:
10s:……,10:21:00-10:21:10,10:21:10-10:21:20,10:21:20-10:21:30,10:21:30-10:21:40,10:21:40-10:21:50,10:21:50-10:22:00,……
60s:……,10:20:00-10:21:00,10:21:00-10:22:00,10:22:00-10:23:00,……
300s:……,10:20:00-10:25:00,……
更加详细的说明请参考本申请第一实施例一种存世时间序列数据的方法中步骤S103中的相关描述。
根据各个归档时间段的时间特征值所对应的时间与当前时间的关系,按照预先设定的聚合规则,将所述归档缓冲区中的相应的时间序列数据聚合形成需存储时间序列数据并存储到所述归档缓冲区。
对于表8所示的归档缓冲区所存储的业务监控数据,对于精度为10秒,1分钟和5分钟的归档精度要求,在对这些数据进行聚合并存储到归档缓冲区后,所述归档缓冲区中的业务监控数据如下表9所示:
目标对象 时间段 精度 指标标识 指标值
表一 10:21:00-10:21:10 10s 读次数 5
表一 10:21:10-10:21:20 10s 读次数 6
表一 10:21:20-10:21:30 10s 读次数 8
表一 10:21:30-10:21:40 10s 读次数 7
表一 10:21:40-10:21:50 10s 读次数 15
表一 10:21:50-10:22:00 10s 读次数 12
表一 10:20:00-10:21:00 60s 读次数 46
表二 10:22:00-10:22:10 10s 响应延迟 11
表二 10:22:10-10:22:20 10s 响应延迟 9
表三 10:20:00-10:21:00 60s 写次数 1
表三 10:21:00-10:22:00 60s 写次数 3
表一 10:21:00-10:22:00 60s 读次数 53
表9
由于本步骤与本申请第一实施例一种存储时间序列数据的方法中步骤S103类似,详细的描述可以参考本申请第一实施例一种存储时间序列数据的方法中步骤S103的相应描述,在此不再赘述。
步骤S303,将所述需存储时间序列数据存储到非易失介质。
对于前一步骤中表9所示的归档缓冲区存储的下述需存储时间序列数据:
可以形成下述的元表格和相应的归档数据表格记录。
元表格记录:
精度 时间特征值
60s 1460703391991
归档数据表格记录:
分桶编号 时间特征值 维度 目标对象 指标
63 1460703391991 用户一:表 表一 {读次数:53}
对于归档缓冲区内的满足归档精度要求的其他时间序列数据,都可以类似地形成相应的元表格记录与归档数据表格记录,然后将所述元表格记录与归档数据表格记录保存到如硬盘或光盘等的非易失介质上长期保存。
由于本步骤与本申请第一实施例一种存储时间序列数据的方法中步骤S104类似,详细的描述可以参考本申请第一实施例一种存储时间序列数据的方法中步骤S104的相应描述,在此不再赘述。
本申请的第四实施例提供一种存储时间序列数据的装置,其结构框图如图4所示,该装置包括:接收缓冲区更新单元U401,接收缓冲区清理单元U402,聚合单元U403和存储单元单元U404。
所述接收缓冲区更新单元U401,用于接收时间序列数据,根据所接收到的时间序列数据的属性信息,按照预先设定的聚合规则,聚合更新内存中的接收缓冲区中相应的时间序列数据。
所述接收缓冲区清理单元U402,将所述接收缓冲区中所存储的时间序列数据发送到内存中的归档缓冲区。
所述聚合单元U403,用于根据按照归档精度的要求确定的各归档时间段的时间特征值所对应的时间与当前时间的关系,按照预先设定的聚合规则,将所述归档缓冲区中的相应的时间序列数据聚合形成需存储时间序列数据,存储到所述归档缓冲区。
所述存储单元U404,用于将所述需存储时间序列数据存储到非易失介质。
本申请的第五实施例提供一种聚合时间序列数据的装置,其结构框图如图5所示,该装置包括:接收缓冲区更新单元U501和接收缓冲区清理单元U502。
所述接收缓冲区更新单元U501,用于接收时间序列数据,根据所接收到的时间序列数据的属性信息,按照预先设定的聚合规则,聚合更新内存中的接收缓冲区中相应的时间序列数据。
所述接收缓冲区清理单元U502,用于将所述接收缓冲区中所存储的时间序列数据发送给聚合领导者。
本申请的第六实施例提供一种归档存储时间序列数据的装置,其结构框图如图6所示,该装置包括:接收单元U601,聚合单元U602和存储单元U603。
所述接收单元U601,用于作为聚合领导者接收时间序列数据,将所接收到的时间序列数据存储到内存中的归档缓冲区中;
所述聚合单元U602,用于根据按照归档精度的要求确定的各归档时间段的时间特征值所对应的时间与当前时间的关系,按照预先设定的聚合规则,将所述归档缓冲区中的相应的时间序列数据聚合形成需存储时间序列数据并将其存储到所述归档缓冲区。
所述存储单元U603,用于将所述需存储时间序列数据存储到非易失介质。
本申请第七实施例提供一种存储时间序列数据的系统,其结构示意图如图7所示,包括:
三个本申请提供的一种聚合时间序列数据的装置E701,E702,E703和一个本申请提供的一种归档存储时间序列数据的装置E704。上述装置之间通过通信网络相连接,进行通信。
聚合时间序列数据的装置E701,E702和E703在内存中对时间序列数据进行初步的聚合,并将时间序列数据发送给归档存储时间序列数据的装置E704进行归档存储。
为了应对归档存储时间序列数据的装置E704可能发生的故障,所述装置E701,E702,E703和E704上均部署动物园管理员(Zookeeper)软件,能够在所述归档存储时间序列数据的装置E704失效时,利用动物园管理员(Zookeeper)软件在所述聚合时间序列数据的装置E701,E702和E703之中选举产生一个新的本申请提供的一种归档存储时间序列数据的装置,执行相应的归档存储的功能。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

Claims (33)

1.一种存储时间序列数据的方法,特征在于,包括以下步骤:
接收时间序列数据,根据所述时间序列数据的属性信息,按照预先设定的聚合规则,聚合更新内存中的接收缓冲区中相应的时间序列数据;
将所述接收缓冲区中所存储的时间序列数据发送到内存中的归档缓冲区;
根据按照归档精度的要求确定的各归档时间段的时间特征值所对应的时间与当前时间的关系,按照所述聚合规则,将所述归档缓冲区中的相应的时间序列数据聚合形成需存储时间序列数据,存储到所述归档缓冲区;
将所述需存储时间序列数据存储到非易失介质。
2.根据权利要求1所述的存储时间序列数据的方法,其特征在于,所述属性信息包括:目标对象,指标标识,精度和时间段。
3.根据权利要求1所述的存储时间序列数据的方法,其特征在于,所述聚合规则包括将属性信息均分别相同的时间序列数据的指标值相加求和。
4.根据权利要求1所述的存储时间序列数据的方法,其特征在于,所述按照预先设定的聚合规则,聚合更新内存中的接收缓冲区中相应的时间序列数据包括:
按照预先设定的聚合规则,将所述接收缓冲区中与所接收到的时间序列数据的属性信息均分别相同的时间序列数据的相应指标值聚合,形成所述目标对象的所述精度的所述时间段的所述指标的聚合指标值;
采用所述聚合指标值更新所述接收缓冲区中的相应时间序列数据的指标值。
5.根据权利要求1所述的聚合时间序列数据的方法,其特征在于,所述将所述接收缓冲区中所存储的时间序列数据发送到内存中的归档缓冲区包括:
若所述接收缓冲区所存储的数据量超过设定的阈值,或所述接收缓冲区所存储的数据量与所述缓冲区的容量的比值超过设定的阈值,则将所述接收缓冲区中所存储的时间序列数据发送到内存中的归档缓冲区。
6.根据权利要求1所述的聚合时间序列数据的方法,其特征在于,所述时间特征值包括:
所述时间段内的一个时刻的时间距离预先指定的时间点的时长。
7.根据权利要求1所述的存储时间序列数据的方法,其特征在于,所述根据按照归档精度的要求确定的各归档时间段的时间特征值所对应的时间与当前时间的关系,按照所述聚合规则,将所述归档缓冲区中的相应的时间序列数据聚合形成需存储时间序列数据,存储到所述归档缓冲区包括:
根据归档精度的要求确定各归档时间段;
当当前时间超过所述归档时间段的时间特征值所对应的时间预先设定的时长且归档精度低于所述接收到的时间序列数据的精度时,按照预先设定的聚合规则,将同时满足下述条件的时间序列数据聚合,形成需存储时间序列数据并将其存储到所述归档缓冲区;
所述条件包括:
所述时间序列数据存储在所述归档缓冲区中;
所述时间序列数据的时间段为所述归档时间段;
所述时间序列数据的精度为比所述归档时间段相对应的归档精度高一级的归档精度;
所述时间序列数据的目标对象相同;
所述时间序列数据的指标标识相同。
8.根据权利要求1所述的存储时间序列数据的方法,其特征在于,所述根据按照归档精度的要求确定的各归档时间段的时间特征值所对应的时间与当前时间的关系,按照所述聚合规则,将所述归档缓冲区中的相应的时间序列数据聚合形成需存储时间序列数据,存储到所述归档缓冲区包括:
根据归档精度的要求确定各归档时间段;
当当前时间超过所述归档时间段的时间特征值所对应的时间预先设定的时长且归档精度与所述接收到的时间序列数据的精度相同时,按照预先设定的聚合规则,将同时满足下述条件的时间序列数据聚合,形成需存储时间序列数据并将其存储到所述归档缓冲区;
所述条件包括:
所述时间序列数据存储在所述归档缓冲区中;
所述时间序列数据的时间段为所述归档时间段;
所述时间序列数据的精度为所述归档精度;
所述时间序列数据的目标对象相同;
所述时间序列数据的指标标识相同。
9.根据权利要求1所述的聚合时间序列数据的方法,其特征在于,所述将所述需存储时间序列数据存储到非易失介质包括:
将所述需存储时间序列数据的时间段的时间特征值以及所述需存储时间序列数据的精度值存储到非易失存储介质上的元表格;
将所述需存储时间序列数据的时间段的时间特征值,所述需存储时间序列数据的目标对象以及指标存储到非易失存储介质上的归档数据表格。
10.根据权利要求9所述的存储时间序列数据的方法,其特征在于,所述将所述需存储时间序列数据的时间段的时间特征值以及所述需存储时间序列数据的精度值存储到非易失存储介质上的元表格包括:
以所述需存储时间序列数据的精度为键值,将所述时间段的时间特征值存储到非易失存储介质上的元表格。
11.根据权利要求9所述的存储时间序列数据的方法,其特征在于,所述将所述需存储时间序列数据的时间段的时间特征值,所述需存储时间序列数据的目标对象以及指标存储到非易失存储介质上的归档数据表格包括:
以所述时间特征值和目标对象为键值,将所述需存储时间序列数据的指标存储到非易失存储介质上的归档数据表格。
12.根据权利要求1-11任一权利要求所述的存储时间序列数据的方法,其特征在于,所述时间序列数据包括业务监控数据。
13.一种聚合时间序列数据的方法,特征在于包括以下步骤:
接收时间序列数据,根据所述时间序列数据的属性信息,按照预先设定的聚合规则,聚合更新内存中的接收缓冲区中相应的时间序列数据;
将所述接收缓冲区中所存储的时间序列数据发送给聚合领导者。
14.根据权利要求13所述的聚合时间序列数据的方法,其特征在于,所述属性信息包括:目标对象,指标标识,精度和时间段;
15.根据权利要求13所述的聚合时间序列数据的方法,其特征在于,所述聚合规则包括将属性信息均分别相同的时间序列数据的指标值相加求和。
16.根据权利要求13所述的聚合时间序列数据的方法,其特征在于,所述按照预先设定的聚合规则,聚合更新内存中的接收缓冲区中相应的时间序列数据包括:
按照预先设定的聚合规则,将所述接收缓冲区中与所接收到的时间序列数据的属性信息均分别相同的时间序列数据的相应指标值聚合,形成所述目标对象的所述精度的所述时间段的所述指标的聚合指标值;
采用所述聚合指标值更新所述接收缓冲区中的相应时间序列数据的指标值。
17.根据权利要求13所述的聚合时间序列数据的方法,其特征在于,所述将所述接收缓冲区中所存储的时间序列数据发送给聚合领导者包括:
若所述接收缓冲区所存储的数据量超过设定的阈值,或
所述接收缓冲区所存储的数据量与所述缓冲区的容量的比值超过设定的阈值,则将所述接收缓冲区中所存储的时间序列数据发送给聚合领导者。
18.根据权利要求13-17任一权利要求所述的聚合时间序列数据的方法,其特征在于,所述时间序列数据包括业务监控数据。
19.根据权利要求13-17任一权利要求所述的聚合时间序列数据的方法,其特征在于,用于分布式集群系统存储时间序列数据。
20.一种归档存储时间序列数据的方法,特征在于,包括以下步骤:
作为聚合领导者接收时间序列数据,将所接收到的时间序列数据存储到内存中的归档缓冲区中;
根据按照归档精度的要求确定的各归档时间段的时间特征值所对应的时间与当前时间的关系,按照预先设定的聚合规则,将所述归档缓冲区中的相应的时间序列数据聚合形成需存储时间序列数据,存储到所述归档缓冲区;
将所述需存储时间序列数据存储到非易失介质。
21.根据权利要求20所述的归档存储时间序列数据的方法,其特征在于,所述时间特征值包括:
所述时间段内的一个时刻的时间距离预先指定的时间点的时长。
22.根据权利要求20所述的归档存储时间序列数据的方法,其特征在于,所述聚合规则包括将属性信息均分别相同的时间序列数据的指标值相加求和。
23.根据权利要求20所述的归档存储时间序列数据的方法,其特征在于,所述根据按照归档精度的要求确定的各归档时间段的时间特征值所对应的时间与当前时间的关系,按照预先设定的聚合规则,将所述归档缓冲区中的相应的时间序列数据聚合形成需存储时间序列数据,将其存储到所述归档缓冲区包括:
根据归档精度的要求确定各归档时间段;
当当前时间超过所述归档时间段的时间特征值所对应的时间预先设定的时长且归档精度低于所述接收到的时间序列数据的精度时,按照预先设定的聚合规则,将同时满足下述条件的时间序列数据聚合,形成需存储时间序列数据并将其存储到所述归档缓冲区;
所述条件包括:
所述时间序列数据存储在所述归档缓冲区中;
所述时间序列数据的时间段为所述归档时间段;
所述时间序列数据的精度为比所述归档时间段相对应的归档精度高一级的归档精度;
所述时间序列数据的目标对象相同;
所述时间序列数据的指标标识相同。
24.根据权利要求20所述的归档存储时间序列数据的方法,其特征在于,所述根据按照归档精度的要求确定的各归档时间段的时间特征值所对应的时间与当前时间的关系,按照预先设定的聚合规则,将所述归档缓冲区中的相应的时间序列数据聚合形成需存储时间序列数据,存储到所述归档缓冲区包括:
当当前时间超过所述归档时间段的时间特征值所对应的时间预先设定的时长且归档精度与所述接收到的时间序列数据的精度相同时,按照预先设定的聚合规则,将同时满足下述条件的时间序列数据聚合,形成需存储时间序列数据并将其存储到所述归档缓冲区;
所述条件包括:
所述时间序列数据存储在所述归档缓冲区中;
所述时间序列数据的时间段为所述归档时间段;
所述时间序列数据的精度为所述归档精度;
所述时间序列数据的目标对象相同;
所述时间序列数据的指标标识相同。
25.根据权利要求20所述的归档存储时间序列数据的方法,其特征在于,所述将所述需存储时间序列数据存储到非易失介质包括:
将所述需存储时间序列数据的时间段的时间特征值以及所述需存储时间序列数据的精度值存储到非易失存储介质上的元表格;
将所述需存储时间序列数据的时间段的时间特征值以及所述需存储时间序列数据的指标存储到非易失存储介质上的归档数据表格。
26.根据权利要求25所述的归档存储时间序列数据的方法,其特征在于,所述将所述需存储时间序列数据的时间段的时间特征值以及所述需存储时间序列数据的精度值存储到非易失存储介质上的元表格包括:
以所述需存储时间序列数据的精度为键值,将所述时间段的时间特征值存储到非易失存储介质上的元表格。
27.根据权利要求25所述的归档存储时间序列数据的方法,其特征在于,所述将所述需存储时间序列数据的时间段的时间特征值以及所述需存储时间序列数据的指标存储到非易失存储介质上的归档数据表格包括:
以所述时间特征值为键值,将所述需存储时间序列数据的指标存储到非易失存储介质上的归档数据表格。
28.根据权利要求20-27任一权利要求所述的归档存储时间序列数据的方法,其特征在于,所述时间序列数据包括业务监控数据。
29.根据权利要求20-27任一权利要求所述的归档存储时间序列数据的方法,其特征在于,用于分布式集群系统存储时间序列数据。
30.一种存储时间序列数据的装置,包括
接收缓冲区更新单元,用于接收时间序列数据根据所述时间序列数据的属性信息,按照预先设定的聚合规则,聚合更新内存中的接收缓冲区中相应的时间序列数据;
接收缓冲区清理单元,用于将所述接收缓冲区中所存储的时间序列数据发送到内存中的归档缓冲区;
聚合单元,用于根据按照归档精度的要求确定的各归档时间段的时间特征值所对应的时间与当前时间的关系,按照预先设定的聚合规则,将所述归档缓冲区中的相应的时间序列数据聚合形成需存储时间序列数据,存储到所述归档缓冲区;
存储单元,用于将所述需存储时间序列数据存储到非易失介质。
31.一种聚合时间序列数据的装置,包括:
接收缓冲区更新单元,用于接收时间序列数据,根据所接收到的时间序列数据的属性信息,按照预先设定的聚合规则,聚合更新内存中的接收缓冲区中相应的时间序列数据;
接收缓冲区清理单元,用于将所述接收缓冲区中所存储的时间序列数据发送给聚合领导者。
32.一种归档存储时间序列数据的装置,包括:
接收单元,用于作为聚合领导者接收时间序列数据,将所接收到的时间序列数据存储到内存中的归档缓冲区中;
聚合单元,用于根据按照归档精度的要求确定的各归档时间段的时间特征值所对应的时间与当前时间的关系,按照预先设定的聚合规则,将所述归档缓冲区中的相应的时间序列数据聚合形成需存储时间序列数据,存储到所述归档缓冲区;
存储单元,用于将所述需存储时间序列数据存储到非易失介质。
33.一种存储时间序列数据的系统,包括:
至少一个的根据权利要求31所述的聚合时间序列数据的装置和一个根据权利要求32所述的归档存储时间序列数据的装置;
所述装置通过网络连接。
CN201610414581.2A 2016-06-13 2016-06-13 一种存储时间序列数据的方法和装置以及系统 Active CN107491458B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610414581.2A CN107491458B (zh) 2016-06-13 2016-06-13 一种存储时间序列数据的方法和装置以及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610414581.2A CN107491458B (zh) 2016-06-13 2016-06-13 一种存储时间序列数据的方法和装置以及系统

Publications (2)

Publication Number Publication Date
CN107491458A true CN107491458A (zh) 2017-12-19
CN107491458B CN107491458B (zh) 2021-08-31

Family

ID=60642647

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610414581.2A Active CN107491458B (zh) 2016-06-13 2016-06-13 一种存储时间序列数据的方法和装置以及系统

Country Status (1)

Country Link
CN (1) CN107491458B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109614148A (zh) * 2018-12-11 2019-04-12 中科驭数(北京)科技有限公司 数据逻辑运算方法、监测方法及装置
CN110955802A (zh) * 2019-11-12 2020-04-03 微民保险代理有限公司 一种数据分桶方法、装置、电子设备和存储介质
CN111274256A (zh) * 2020-01-20 2020-06-12 远景智能国际私人投资有限公司 基于时序数据库的资源管控方法、装置、设备及存储介质
CN111506749A (zh) * 2020-04-15 2020-08-07 北京金山云网络技术有限公司 一种监控数据归档方法、装置、电子设备及存储介质
EP3816771A1 (de) * 2019-10-28 2021-05-05 SMA Solar Technology AG Ressourcensparendes speichern von zeitreihendaten
CN115037729A (zh) * 2022-04-21 2022-09-09 中国建设银行股份有限公司 数据汇聚方法、装置、电子设备及计算机可读介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101641674A (zh) * 2006-10-05 2010-02-03 斯普兰克公司 时间序列搜索引擎
CN102985917A (zh) * 2010-07-09 2013-03-20 国际商业机器公司 不确定时间序列之间的相似性的广义符号表示
CN103593349A (zh) * 2012-08-14 2014-02-19 中国科学院沈阳自动化研究所 感应网络环境下移动位置分析方法
CN104408197A (zh) * 2014-12-15 2015-03-11 北京国双科技有限公司 热力图的处理方法及装置
CN105005617A (zh) * 2015-07-21 2015-10-28 领航动力信息系统有限公司 一种时间序列数据的存储方法及装置
CN105260404A (zh) * 2015-09-22 2016-01-20 北京百度网讯科技有限公司 存储时间序列数据的方法和装置
US20160034504A1 (en) * 2014-07-31 2016-02-04 AppDynamics, Inc. Efficient aggregation, storage and querying of large volume metrics
CN105518687A (zh) * 2013-08-08 2016-04-20 斯利肯安全有限公司 安全数据存储装置
US20160154802A1 (en) * 2014-12-02 2016-06-02 Nec Laboratories America, Inc. Quality control engine for complex physical systems

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101641674A (zh) * 2006-10-05 2010-02-03 斯普兰克公司 时间序列搜索引擎
CN102985917A (zh) * 2010-07-09 2013-03-20 国际商业机器公司 不确定时间序列之间的相似性的广义符号表示
CN103593349A (zh) * 2012-08-14 2014-02-19 中国科学院沈阳自动化研究所 感应网络环境下移动位置分析方法
CN105518687A (zh) * 2013-08-08 2016-04-20 斯利肯安全有限公司 安全数据存储装置
US20160034504A1 (en) * 2014-07-31 2016-02-04 AppDynamics, Inc. Efficient aggregation, storage and querying of large volume metrics
US20160154802A1 (en) * 2014-12-02 2016-06-02 Nec Laboratories America, Inc. Quality control engine for complex physical systems
CN104408197A (zh) * 2014-12-15 2015-03-11 北京国双科技有限公司 热力图的处理方法及装置
CN105005617A (zh) * 2015-07-21 2015-10-28 领航动力信息系统有限公司 一种时间序列数据的存储方法及装置
CN105260404A (zh) * 2015-09-22 2016-01-20 北京百度网讯科技有限公司 存储时间序列数据的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
饶云华等: "自相似网络通信量的分析与建模", 《华中科技大学学报(自然科学版)》 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109614148A (zh) * 2018-12-11 2019-04-12 中科驭数(北京)科技有限公司 数据逻辑运算方法、监测方法及装置
EP3816771A1 (de) * 2019-10-28 2021-05-05 SMA Solar Technology AG Ressourcensparendes speichern von zeitreihendaten
CN110955802A (zh) * 2019-11-12 2020-04-03 微民保险代理有限公司 一种数据分桶方法、装置、电子设备和存储介质
KR102529038B1 (ko) * 2020-01-20 2023-05-08 엔비전 디지털 인터내셔널 피티이 리미티드 리소스 관리 및 제어 방법 및 장치, 디바이스 및 저장매체
WO2021150165A1 (en) * 2020-01-20 2021-07-29 Envision Digital International Pte. Ltd. Method and apparatus for managing and controlling resource, device and storage medium
KR20220118560A (ko) * 2020-01-20 2022-08-25 엔비전 디지털 인터내셔널 피티이 리미티드 리소스 관리 및 제어 방법 및 장치, 디바이스 및 저장매체
JP2023501005A (ja) * 2020-01-20 2023-01-17 エンヴィジョン デジタル インターナショナル ピーティーイー.エルティーディー. リソースを管理かつ制御する方法および装置、デバイスならびに記憶媒体
CN111274256A (zh) * 2020-01-20 2020-06-12 远景智能国际私人投资有限公司 基于时序数据库的资源管控方法、装置、设备及存储介质
JP7330393B2 (ja) 2020-01-20 2023-08-21 エンヴィジョン デジタル インターナショナル ピーティーイー.エルティーディー. リソースを管理かつ制御する方法および装置、デバイスならびに記憶媒体
CN111274256B (zh) * 2020-01-20 2023-09-12 远景智能国际私人投资有限公司 基于时序数据库的资源管控方法、装置、设备及存储介质
US11954133B2 (en) 2020-01-20 2024-04-09 Envision Digital International Pte. Ltd. Method and apparatus for managing and controlling resource, device and storage medium
CN111506749A (zh) * 2020-04-15 2020-08-07 北京金山云网络技术有限公司 一种监控数据归档方法、装置、电子设备及存储介质
CN111506749B (zh) * 2020-04-15 2024-01-02 北京金山云网络技术有限公司 一种监控数据归档方法、装置、电子设备及存储介质
CN115037729A (zh) * 2022-04-21 2022-09-09 中国建设银行股份有限公司 数据汇聚方法、装置、电子设备及计算机可读介质
CN115037729B (zh) * 2022-04-21 2024-05-28 中国建设银行股份有限公司 数据汇聚方法、装置、电子设备及计算机可读介质

Also Published As

Publication number Publication date
CN107491458B (zh) 2021-08-31

Similar Documents

Publication Publication Date Title
CN107491458A (zh) 一种存储时间序列数据的方法和装置以及系统
CN104601696B (zh) 服务处理方法、服务调用系统、装置和系统
CN103370691B (zh) 管理缓冲器溢出状况
CN103164261B (zh) 多中心数据任务处理方法、装置及系统
CN103392169B (zh) 排序方法和系统
CN108491255B (zh) 自助式MapReduce数据优化分配方法及系统
CN102456065A (zh) 用于数据流的离线历史统计数据存储和查询方法
CN109510834B (zh) 一种安全策略下发方法及装置
CN105162628A (zh) 快速确定网络合理告警阈值的系统和方法
CN112333342B (zh) 智能语音呼叫方法、装置、设备及存储介质
CN108428114A (zh) 项目的信息处理方法及装置、存储介质、电子装置
CN102314336A (zh) 一种数据处理方法和系统
CN103226759A (zh) 基于遗传算法的动态云工作流调度方法
CN110233802A (zh) 一种构建一主链多侧链的区块链架构的方法
CN109597800A (zh) 一种日志分发方法及装置
CN102546432A (zh) 分组传送承载网络容量规划方法和装置
CN112104559A (zh) 一种sd-wan网络的路由抖动缓解方法、sd-wan网络控制器
CN112764993A (zh) 一种节点信息收集方法、装置、设备及可读存储介质
CN110011843A (zh) 告警信息处理方法、电子设备和存储介质
CN107665143A (zh) 资源管理方法、装置及系统
CN104702654B (zh) 基于视频云存储系统的存储与提取性能平衡的方法与装置
CN113835823A (zh) 资源调度方法和装置、电子设备、计算机可读存储介质
CN106034047A (zh) 数据处理方法及装置
CN107453948A (zh) 一种网络测量数据的存储方法及系统
CN114661450A (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
GR01 Patent grant
GR01 Patent grant