[发明专利]数据处理方法、系统、装置和计算机可读存储介质在审
申请号: | 201910512000.2 | 申请日: | 2019-06-13 |
公开(公告)号: | CN112084226A | 公开(公告)日: | 2020-12-15 |
发明(设计)人: | 徐卓夫 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F16/2458 | 分类号: | G06F16/2458 |
代理公司: | 北京成创同维知识产权代理有限公司 11449 | 代理人: | 蔡纯;高青 |
地址: | 100195 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据处理 方法 系统 装置 计算机 可读 存储 介质 | ||
本发明实施例提供一种数据处理方法、系统、装置和计算机可读存储介质。该数据处理方法包括:采集第一时间序列数据;缓存第一时间序列数据;对第一时间序列数据进行向下采样,以得到第二时间序列数据;以及分别持久化存储第一时间序列数据和第二时间序列数据,在将数据写入到数据库之前即进行向下采样,以此避免从数据库中读取数据,从而降低了向下采样操作对于系统性能的影响,而且向下采样操作被分散执行,也有助于降低向下采样操作对系统性能的瞬时影响。
技术领域
本发明涉及计算机技术领域,具体涉及一种数据处理方法、系统、装置和计算机可读存储介质。
背景技术
在监控系统中,时间序列数据被源源不断地产生,进而被用于采集、存储、查询以及分析。该种类型的时间序列数据与其他类型数据相比,在工程上具有持续高并发性写入和写多读少的特点。
对于该种类型的时间序列数据,查询一般分为短期数据查询和长期数据查询。短期数据查询一般为运维人员查看故障时段数据,例如仅故障前后1小时内的数据。长期数据查询一般用于观察一个比较长时间的数据变化趋势,例如按照周或者按照月得到最近一年的统计数据。短期数据查询要求比较高的数据精度,而长期数据查询则可以适当降低数据精度。
为了满足短期数据查询和长度数据查询的精度需求,业界提出当前应用较为广泛的TSDB解决方案,其核心思想是在原始数据写入数据库之后,通过定期查询历史数据,进行向下采样,并将结果重新写入数据库中。
然而,向下采样需要先从数据库读取原始精度数据,进行计算,再重新写回数据库,即对每一条时间线,增加了一次读和一次写;而监控系统本身存储的压力已经十分巨大,因此该解决方案对于系统性能影响较大。例如目前的京东云监控系统,其每秒钟请求/事务数量为50万,如果按照10分钟做一次向下采样操作,则需要读取3000万条数据,再写入50万条数据,凭空增加3050万次读写。
发明内容
有鉴于此,本发明实施例提供数据处理方法、系统、装置和计算机可读存储介质,用于解决现有技术中存在的向下采样对系统性能损耗较大的问题。
第一方面,本发明实施例提供一种数据处理方法,包括:
采集第一时间序列数据;
缓存所述第一时间序列数据;
对所述第一时间序列数据进行向下采样,以得到第二时间序列数据;以及
分别持久化存储所述第一时间序列数据和所述第二时间序列数据。
在可选的实施例中,所述向下采样包括:
通过多次向下采样,得到多个所述第二时间序列数据;
则将所述第二时间序列数据存储到数据库中包括:
将多个所述第二时间序列数据存储到数据库中。
在可选的实施例中,所述进行多次向下采样包括:
对前次向下采样得到的所述第二时间序列数据进行向下采样,以得到当前次的所述第二时间序列数据。
在可选的实施例中,所述缓存包括:采用采样时点的时间戳组织和存储所述第一时间序列数据。
在可选的实施例中,采用双层哈希表组织和存储所述第一时间序列数据,其中,所述双层哈希表的外表键为所述第二时间序列数据的采样时点的时间戳,内表键为所述第一时间序列数据的采样时点的时间戳。
在可选的实施例中,延迟设定数量的时间间隔进行所述向下采样。
在可选的实施例中,还包括:在所述缓存所述第一时间序列数据之前,对所述第一时间序列数据进行预处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910512000.2/2.html,转载请声明来源钻瓜专利网。