CN114416687A - 一种时序数据的时间分层合并方法、装置、设备及介质 - Google Patents
一种时序数据的时间分层合并方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114416687A CN114416687A CN202210088635.6A CN202210088635A CN114416687A CN 114416687 A CN114416687 A CN 114416687A CN 202210088635 A CN202210088635 A CN 202210088635A CN 114416687 A CN114416687 A CN 114416687A
- Authority
- CN
- China
- Prior art keywords
- time
- sequence data
- time sequence
- data file
- level
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/185—Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种时序数据的时间分层合并方法、装置、设备及介质。其中,该方法包括:通过待处理层接收产生的时序数据文件;逐个确定时序数据文件的时间范围,若所述时间范围在按照预先确定的划分规则得到的某一层级的时间跨度内,则将所述时序数据文件写入至命中的目标层级;若因时间推移存在某一层级的时序数据文件超出当前层级的时间跨度,则将所述时序数据文件放入当前层级对应的缓存区,以与下一层级的时序数据文件进行合并。本技术方案,能够有效的支持数据的时间维度分析和生命周期管理的需求,对于大规模更新的使用场景,能够降低合并开销,使得数据文件在时间范围上按顺序分布,提升了系统读写的整体性能。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种时序数据的时间分层合并方法、装置、设备及介质。
背景技术
随着移动互联网和物联网发展,各行各业产生了大量的时间序列数据(TimeSeries Data,简称TSD或时序数据)。如何对时序数据进行组织管理,在保证数据高效写入的同时支撑特定时间范围内数据的高效检索和分析,是大数据管理系统亟需解决的一个问题。
目前主要的方案采用基于LSM-Tree(log-structured merge tree)的键值存储作为底层存储引擎,以保证高速时序数据的写入性能。在后台不断执行合并(Compaction)操作,通过重新组织磁盘上的数据文件来提高数据读取的效率。
然而,LSM-Tree现有的数据合并策略并未充分考虑所存储数据的时序特征,导致最终合并生成的数据文件之间在时间范围上相互重叠,无法支持按特定时间范围进行数据访问和数据删除等操作。
发明内容
本发明提供了一种时序数据的时间分层合并方法、装置、设备及介质,能够有效的支持数据的时间维度分析和生命周期管理的需求,对于大规模更新的使用场景,能够降低合并开销,使得数据文件在时间范围上按顺序分布,提升了系统读写的整体性能。
根据本发明的一方面,提供了一种时序数据的时间分层合并方法,所述方法包括:
通过待处理层接收产生的时序数据文件;
逐个确定时序数据文件的时间范围,若所述时间范围在按照预先确定的划分规则得到的某一层级的时间跨度内,则将所述时序数据文件写入至命中的目标层级;
若因时间推移存在某一层级的时序数据文件超出当前层级的时间跨度,则将所述时序数据文件放入当前层级对应的缓存区,以与下一层级的时序数据文件进行合并。
可选的,所述时间层级的确定过程,包括:
获取时间层级的划分规则的初始时间范围参数以及层级间放大倍数参数;
读取当前系统时间;
根据所述当前系统时间以及所述初始时间范围参数确定第一层级的时间跨度;
根据所述第一层级的时间跨度以及所述层级间放大倍数参数逐个确定下一层级的时间跨度。
可选的,在将所述时序数据文件保留在待处理层之后,所述方法还包括:
若检测到所述待处理层的满足时序数据文件数量触发条件或者满足时序数据文件大小触发条件,则对所述待处理层的时序数据文件按照文件大小策略进行合并处理。
可选的,在逐个确定时序数据文件的时间范围之后,所述方法还包括:
若当前时序数据文件的时间范围在层级的时间跨度内,且当前时序数据文件与命中的目标层级内的时序数据文件存在主键信息交叠,则将所述当前时序数据文件写入至命中的目标层级的上一层级对应的缓存区。
可选的,在当前层级对应的缓存区满足合并需求时,所述方法还包括:
获取当前层级对应的缓存区中的待处理时序数据文件,以及当前层级的下一时间层级中与所述待处理时序数据文件存在主键信息交叠的合并对象时序数据文件;
将所述待处理时序数据文件与所述合并对象时序数据文件进行去重处理,并依据主键信息顺序,进行合并处理。
可选的,所述方法还包括:
若时序数据文件的时间范围在至少两个层级的时间跨度,则将所述时序数据文件保留在待处理层。
可选的,在将所述时序数据文件放入当前层级对应的缓存区之后,所述方法还包括:
确定各层级对应的缓存区的时序数据文件的数量;
根据所述时序数据文件的数量,确定各层级对应的缓存区的合并优先级。
根据本发明的另一方面,提供了一种时序数据的时间分层合并装置,包括:
文件接收模块,用于通过待处理层接收产生的时序数据文件;
文件划分模块,用于逐个确定时序数据文件的时间范围,若所述时间范围在按照预先确定的划分规则得到的某一层级的时间跨度内,则将所述时序数据文件写入至命中的目标层级;
文件缓存模块,用于若因时间推移存在某一层级的时序数据文件超出当前层级的时间跨度,则将所述时序数据文件放入当前层级对应的缓存区,以与下一层级的时序数据文件进行合并。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的时序数据的时间分层合并方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的时序数据的时间分层合并方法。
本发明实施例的技术方案,通过待处理层接收产生的时序数据文件;逐个确定时序数据文件的时间范围,若所述时间范围在按照预先确定的划分规则得到的某一层级的时间跨度内,则将所述时序数据文件写入至命中的目标层级;若因时间推移存在某一层级的时序数据文件超出当前层级的时间跨度,则将所述时序数据文件放入当前层级对应的缓存区,以与下一层级的时序数据文件进行合并。本技术方案,能够有效的支持数据的时间维度分析和生命周期管理的需求,对于大规模更新的使用场景,能够降低合并开销,使得数据文件在时间范围上按顺序分布,提升了系统读写的整体性能。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例一提供的一种时序数据的时间分层合并方法的流程图;
图2是根据本发明实施例二提供的一种时序数据的时间分层合并方法的流程图;
图3是根据本发明实施例三提供的一种时序数据的时间分层合并装置的结构示意图;
图4是实现本发明实施例的一种时序数据的时间分层合并方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”“目标”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1为本发明实施例一提供了一种时序数据的时间分层合并方法的流程图,本实施例可适用于对时序数据内容进行分层合并的情况,该方法可以由时序数据的时间分层合并装置来执行,该时序数据的时间分层合并装置可以采用硬件和/或软件的形式实现,该时序数据的时间分层合并装置可配置于具有数据处理能力的电子设备中。如图1所示,该方法包括:
S110,通过待处理层接收产生的时序数据文件。
本实施例的技术方案可以由后台服务器执行,适合在大量更新的使用场景下进行工作,能够满足网络空间时序数据包含一定比例的数据更新的使用场景。时序数据广泛存在,具有很强的时效性,可以包括IT设备产生的运维数据、传感器产生的监测数据等。服务器通过将时间序列的时间特性与分层合并策略的合并设计模式相结合的一种合并策略对时序数据进行管理,可以支持时序数据快速更新的特性,实现对时序数据的高效管理,还提高了更新数据的吞吐性能。
其中,所述待处理层可以是时序数据文件写入磁盘中的将要处理的层级。示例性的,待处理层可以是第0层(L0)。其中,各个层级可以包括时序数据文件写入磁盘时所处的第0层(L0)、带有时间窗口范围的第1层(L1)到N层(Ln)、以及前N层中的N个缓存区(buffer)几部分组成。所述时序数据文件(一般称为SSTable)可以包括IT设备产生的运维数据、传感器产生的监测数据,以及网络空间中(尤其是社交网络中)发布的消息数据等,其中蕴含了丰富的数据价值。示例性的,本实施例中后台服务器通过第0层(L0)接收当前网络中发布的消息数据,该时序数据文件可以包含时间,发布的ID,发布的内容以及合并更改后的内容等。示例性的,时序数据文件可以是在网络中发布的微博信息内容。
S120,逐个确定时序数据文件的时间范围,若所述时间范围在按照预先确定的划分规则得到的某一层级的时间跨度内,则将所述时序数据文件写入至命中的目标层级。
其中,所述时间范围可以是时序数据文件的时间范围。由于每个时序数据文件写入的时间不同,本实施例中后台服务器需要逐个确定时序数据文件的时间范围。所述划分规则可以包括各个层次的初始时间范围参数以及层级的放大倍数参数,放大倍数用来确定下一层的时间范围与上一层时间范围的比值;所述命中的目标层级可以是时序数据文件的时间范围符合该层级设置的时间跨度的层级。
本实施例中后台服务器通过逐个确定时序数据文件的时间范围,按照预先确定的划分规则得到每个层级的时间跨度,根据时序数据文件的时间范围其所在的时间跨度写入到对应的目标层级中。本实施例中通过每一层对应一个时间范围,可以利用时序数据文件所属的层数对数据进行生命周期管理。
S130,若因时间推移存在某一层级的时序数据文件超出当前层级的时间跨度,则将所述时序数据文件放入当前层级对应的缓存区,以与下一层级的时序数据文件进行合并。
其中,所述缓存区可以是各个层级对应的缓存区。缓存区内的SSTable仍然由后台系统进行管理,SSTable的读取过程并不受到影响,与各层中的SSTable状态一致。
本实施例中由于各个层级的时间跨度不同,随着时间不断的推移,各个层级的时间范围也不断变化,每一层中的SSTable必然会不断超出当前层级的时间范围。在进行合并时,对每一个层级内部SSTable进行遍历,找出超过当前层次时间范围的SSTable,将其放置到当前层级对应的缓存区内,以与下一层级的时序数据文件进行合并。示例性的,第一层的缓存区对应需要合并到第二层的数据。
本发明实施例的技术方案,通过待处理层接收产生的时序数据文件;逐个确定时序数据文件的时间范围,若所述时间范围在按照预先确定的划分规则得到的某一层级的时间跨度内,则将所述时序数据文件写入至命中的目标层级;若因时间推移存在某一层级的时序数据文件超出当前层级的时间跨度,则将所述时序数据文件放入当前层级对应的缓存区,以与下一层级的时序数据文件进行合并。本技术方案,能够有效的支持数据的时间维度分析和生命周期管理的需求,对于大规模更新的使用场景,能够降低合并开销,使得数据文件在时间范围上按顺序分布,提升了系统读写的整体性能。
在本实施例中,可选的,所述时间层级的确定过程,包括:获取时间层级的划分规则的初始时间范围参数以及层级间放大倍数参数;读取当前系统时间;根据所述当前系统时间以及所述初始时间范围参数确定第一层级的时间跨度;根据所述第一层级的时间跨度以及所述层级间放大倍数参数逐个确定下一层级的时间跨度。
其中,所述初始时间范围参数的选取应该主要考察时序数据总体的时间范围。所述初始时间范围参数以及层级间放大倍数参数可以合并参数可以根据使用情况进行调节,如果合并倍数设定较小,会导致合并次数增多;合并倍数过大,则容易在一次合并中涉及过多数据,导致系统短期压力过大。此外,本实施例中将初始时间设为系统当前时间,可以不断对层级的时间范围进行调整。即使没有数据写入时,系统内仍然可以继续进行合并,避免了合并过程过于集中在一段时间内,导致在数据开始写入时会引起合并负载突然加大。
本实施例中后台服务器需要首先计算各个层次的初始时间范围。以当前的系统时间作为第一层的最大时间,用此时间减去初始时间范围作为第1层中最小时间。从第1层到第N层,每一层的时间范围按照比例增大。假设第一层的时间范围是1小时,放大倍数可以设置为10倍,则第二层时间范围是10小时,第三层为100小时。时间窗口的时间范围按照首尾顺次相接。第0层可以用于存放所有刚刚生成的SSTable,不限制其时间范围。第1层到第N层内存放满足时间范围的SSTable。其中,时间范围可以根据实际需求进行设置,示例性的,第一层级的时间范围可以设置为1小时,或者2个小时,也可以是3个小时。
示例性的,当前系统时间为24小时制的17:20,假设第一层的时间范围为1小时,放大倍数为10,则第一层的时间跨度为16:20-17:20;第二层的时间跨度为6:20-16:20;依次类推到N层的时间跨度。
本方案通过这样的设置,将时间周期运用到每一层级中,可以快速判断时序数据文件的目标层级,大大减少了数据在合并过程中的合并次数,降低了系统在合并时的开销。
实施例二
图2为本发明实施例二提供的一种时序数据的时间分层合并方法的流程图,本实施例以上述实施例为基础进行优化。具体优化为:在将所述时序数据文件保留在待处理层之后,所述方法还包括:若检测到所述待处理层的满足时序数据文件数量触发条件或者满足时序数据文件大小触发条件,则对所述待处理层的时序数据文件按照文件大小策略进行合并处理。
如图2所示,本实施例的方法具体包括如下步骤:
S210,通过待处理层接收产生的时序数据文件。
S220,若检测到所述待处理层的满足时序数据文件数量触发条件或者满足时序数据文件大小触发条件,则对所述待处理层的时序数据文件按照文件大小策略进行合并处理。
其中,时序数据文件数量触发条件可以理解为包含时序数据文件个数最多。时序数据文件大小触发条件可以理解为时序数据文件大小比较多。本实施例中后台服务器对于第0层数据,每次合并时进行遍历,将满足条件的时序数据文件SSTable放入到合适的缓存区中,剩余的时序数据文件SSTable先拆分,再按照文件大小进行合并处理,从而减少待处理层的时序数据文件SSTable数量。
S230,逐个确定时序数据文件的时间范围,若所述时间范围在按照预先确定的划分规则得到的某一层级的时间跨度内,则将所述时序数据文件写入至命中的目标层级。
S240,若因时间推移存在某一层级的时序数据文件超出当前层级的时间跨度,则将所述时序数据文件放入当前层级对应的缓存区,以与下一层级的时序数据文件进行合并。
本实施例中,通过待处理层接收产生的时序数据文件;若检测到所述待处理层的满足时序数据文件数量触发条件或者满足时序数据文件大小触发条件,则对所述待处理层的时序数据文件按照文件大小策略进行合并处理。通过提出了时间周期管理工具来对满足时序数据的时间周期管理要求;限制大小合并策略是时间分级合并策略的有效补充,目的是为了防止时序数据文件SSTable不断增大耗尽磁盘空间。
在本实施例中,可选的,在逐个确定时序数据文件的时间范围之后,所述方法还包括:若当前时序数据文件的时间范围在层级的时间跨度内,且当前时序数据文件与命中的目标层级内的时序数据文件存在主键信息交叠,则将所述当前时序数据文件写入至命中的目标层级的上一层级对应的缓存区。
其中,主键信息交叠可以理解为时序数据文件在主键信息范围上有交叠。示例性的,当时序数据文件是在网络上发布的微博信息内容时,主键信息交叠就是吻合该微博信息内容的时序数据文件。
本实施例中,在更新过程中,时序数据文件会首先保留在第0层中。后台服务器遍历全部第0层的时序数据文件SSTable,判断时序数据文件SSTable的目标层级。如果时序数据文件SSTable与目标层级中已有的时序数据文件SSTable不存在主键范围上的交叠,直接将其写入到命中的目标层级中。如果当前时序数据文件的时间范围在层级的时间跨度内,且当前时序数据文件与命中的目标层级内的时序数据文件存在主键信息交叠,则将时序数据文件SSTable写入到命中的目标层级的上一层级对应的缓存区内部。
本方案通过这样的设置,通过参数配置满足不同数据和写入情况下的合并要求的设计方式,可以通过系统的参数配置的调整合并特征,改变SSTable文件的合并过程和范围;可以根据不同数据特点和环境下配置不同的参数,来提高合并策略的系统性能,降低资源消耗。此外,本申请可以根据可插拔的程序配置,将合并策略配置到不同的键值存储引擎中,不需要多次开发。
在本实施例中,可选的,在当前层级对应的缓存区满足合并需求时,所述方法还包括:获取当前层级对应的缓存区中的待处理时序数据文件,以及当前层级的下一时间层级中与所述待处理时序数据文件存在主键信息交叠的合并对象时序数据文件;将所述待处理时序数据文件与所述合并对象时序数据文件进行去重处理,并依据主键信息顺序,进行合并处理。
其中,待处理时序数据文件可以是当前层级对应的缓存区中的待处理时序数据文件。合并对象时序数据文件可以是与待处理时序数据文件存在主键信息交叠的时序数据文件,可以与待处理时序数据文件进行合并的文件。主键信息顺序可以是主键信息的发布顺序。
本实施中后台服务器获取当前层级对应的缓存区中的待处理时序数据文件以及与当前层级的下一时间层级中的与待处理时序数据文件存在主键信息交叠的可以与待处理时序数据文件进行合并的时序数据文件;将待处理时序数据文件与合并对象时序数据文件中重复的内容进行删除,并依据主键信息的发布顺序进行合并处理。
本方案通过这样的设置,当缓存区内时序数据文件SSTable需要进行合并时,在其下一层中选择与其主键重叠的时序数据文件SSTable,将这些时序数据文件SSTable进行合并,这样可以保证每一层内SSTable在主键顺序上有序,便于对时序数据文件的时间周期管理。
在本实施例中,可选的,所述方法还包括:若时序数据文件的时间范围在至少两个层级的时间跨度,则将所述时序数据文件保留在待处理层。
其中,至少两个层级的时间跨度可以是包含两个以及两个以上的层级的时间跨度。本实施例中,如果时序数据文件的时间范围在两个层级的时间跨度,则将该时序数据文件保留在第0层。
示例性的,当前系统时间为24小时制的16:20,假设第一层的时间范围为5分钟,放大倍数为10,则第一层的时间跨度为16:20-16:25;第二层的时间跨度为6:25-16:25;依次类推到N层的时间跨度。如果当前的时序数据文件的时间范围为16:15-16:25,则将时间范围为16:15-16:25的时序数据文件保留在待处理层第0层。
本方案通过这样的设置,按照时间范围将SSTable放置到对应层次或者对应缓存区内,跨时间周期的SSTable会暂时存放在第L0层级中,直到数据可以放入对应的缓存区或者被生命周期管理工具处理,便于对时序数据文件进行管理,提高合并策略的系统性能,降低资源消耗。
在本实施例中,可选的,在将所述时序数据文件放入当前层级对应的缓存区之后,所述方法还包括:确定各层级对应的缓存区的时序数据文件的数量;根据所述时序数据文件的数量,确定各层级对应的缓存区的合并优先级。
其中,合并优先级可以根据时序数据文件的数量进行确定。本实施例中后台服务器通过明确时间范围在各个层级里面的,直接放入目标层级中,如果是内容存在重叠的,就需要放入缓存区中;通过确定各层级对应的缓存区的时序数据的数量,根据哪个缓存区中的时序数据文件的数量最多,则优先合并该缓存区的时序数据文件。此外,这里的合并是找时序数据文件内容重叠的,放在一起,然后进行重组,得到的时间只要在第二层级的范围内即可。
本实施例中通过计算各个缓存区的时序数据文件SSTable个数,将此视为对应层次待合并的优先级。缓存区内时序数据文件SSTable个数越多,则该层级的合并优先级越高。
本方案通过这样的设置,缓存区内部的合并按照SSTable个数确定优先级进行处理,时间范围推移不影响合并中SSTable的选择,大大提高了对时序数据的管理,避免引发磁盘空间膨胀问题。
实施例三
图3为本发明实施例三提供的一种时序数据的时间分层合并装置的结构示意图,该装置可执行本发明任意实施例所提供的时序数据的时间分层合并方法,具备执行方法相应的功能模块和有益效果。如图3所示,该装置包括:
文件接收模块310,用于通过待处理层接收产生的时序数据文件;
文件划分模块320,用于逐个确定时序数据文件的时间范围,若所述时间范围在按照预先确定的划分规则得到的某一层级的时间跨度内,则将所述时序数据文件写入至命中的目标层级;
文件缓存模块330,用于若因时间推移存在某一层级的时序数据文件超出当前层级的时间跨度,则将所述时序数据文件放入当前层级对应的缓存区,以与下一层级的时序数据文件进行合并。
可选的,所述文件划分模块320,具体用于:
获取时间层级的划分规则的初始时间范围参数以及层级间放大倍数参数;
读取当前系统时间;
根据所述当前系统时间以及所述初始时间范围参数确定第一层级的时间跨度;
根据所述第一层级的时间跨度以及所述层级间放大倍数参数逐个确定下一层级的时间跨度。
可选的,所述装置还包括:大小合并处理模块,用于:
在将所述时序数据文件保留在待处理层之后,若检测到所述待处理层的满足时序数据文件数量触发条件或者满足时序数据文件大小触发条件,则对所述待处理层的时序数据文件按照文件大小策略进行合并处理。
可选的,所述装置还包括:缓存区写入模块,用于:
在逐个确定时序数据文件的时间范围之后,若当前时序数据文件的时间范围在层级的时间跨度内,且当前时序数据文件与命中的目标层级内的时序数据文件存在主键信息交叠,则将所述当前时序数据文件写入至命中的目标层级的上一层级对应的缓存区。
可选的,所述装置还包括:缓存区合并处理模块,用于:
获取当前层级对应的缓存区中的待处理时序数据文件,以及当前层级的下一时间层级中与所述待处理时序数据文件存在主键信息交叠的合并对象时序数据文件;
将所述待处理时序数据文件与所述合并对象时序数据文件进行去重处理,并依据主键信息顺序,进行合并处理。
可选的,所述装置还包括:待处理层保留模块,用于:
若时序数据文件的时间范围在至少两个层级的时间跨度,则将所述时序数据文件保留在待处理层。
可选的,所述装置还包括:合并优先级确定模块,用于:
在将所述时序数据文件放入当前层级对应的缓存区之后,确定各层级对应的缓存区的时序数据文件的数量;
根据所述时序数据文件的数量,确定各层级对应的缓存区的合并优先级。
本发明实施例所提供的一种时序数据的时间分层合并装置可执行本发明任意实施例所提供的一种时序数据的时间分层合并方法,具备执行方法相应的功能模块和有益效果。
实施例四
图4示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图4所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如方法XXX。
在一些实施例中,方法时序数据的时间分层合并可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的方法时序数据的时间分层合并的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法时序数据的时间分层合并。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种时序数据的时间分层合并方法,其特征在于,所述方法包括:
通过待处理层接收产生的时序数据文件;
逐个确定时序数据文件的时间范围,若所述时间范围在按照预先确定的划分规则得到的某一层级的时间跨度内,则将所述时序数据文件写入至命中的目标层级;
若因时间推移存在某一层级的时序数据文件超出当前层级的时间跨度,则将所述时序数据文件放入当前层级对应的缓存区,以与下一层级的时序数据文件进行合并。
2.根据权利要求1所述的方法,其特征在于,所述时间层级的确定过程,包括:
获取时间层级的划分规则的初始时间范围参数以及层级间放大倍数参数;
读取当前系统时间;
根据所述当前系统时间以及所述初始时间范围参数确定第一层级的时间跨度;
根据所述第一层级的时间跨度以及所述层级间放大倍数参数逐个确定下一层级的时间跨度。
3.根据权利要求1所述的方法,其特征在于,在将所述时序数据文件保留在待处理层之后,所述方法还包括:
若检测到所述待处理层的满足时序数据文件数量触发条件或者满足时序数据文件大小触发条件,则对所述待处理层的时序数据文件按照文件大小策略进行合并处理。
4.根据权利要求1所述的方法,其特征在于,在逐个确定时序数据文件的时间范围之后,所述方法还包括:
若当前时序数据文件的时间范围在层级的时间跨度内,且当前时序数据文件与命中的目标层级内的时序数据文件存在主键信息交叠,则将所述当前时序数据文件写入至命中的目标层级的上一层级对应的缓存区。
5.根据权利要求4所述的方法,其特征在于,在当前层级对应的缓存区满足合并需求时,所述方法还包括:
获取当前层级对应的缓存区中的待处理时序数据文件,以及当前层级的下一时间层级中与所述待处理时序数据文件存在主键信息交叠的合并对象时序数据文件;
将所述待处理时序数据文件与所述合并对象时序数据文件进行去重处理,并依据主键信息顺序,进行合并处理。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若时序数据文件的时间范围在至少两个层级的时间跨度,则将所述时序数据文件保留在待处理层。
7.根据权利要求1所述的方法,其特征在于,在将所述时序数据文件放入当前层级对应的缓存区之后,所述方法还包括:
确定各层级对应的缓存区的时序数据文件的数量;
根据所述时序数据文件的数量,确定各层级对应的缓存区的合并优先级。
8.一种时序数据的时间分层合并装置,其特征在于,包括:
文件接收模块,用于通过待处理层接收产生的时序数据文件;
文件划分模块,用于逐个确定时序数据文件的时间范围,若所述时间范围在按照预先确定的划分规则得到的某一层级的时间跨度内,则将所述时序数据文件写入至命中的目标层级;
文件缓存模块,用于若因时间推移存在某一层级的时序数据文件超出当前层级的时间跨度,则将所述时序数据文件放入当前层级对应的缓存区,以与下一层级的时序数据文件进行合并。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的时序数据的时间分层合并方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的时序数据的时间分层合并方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210088635.6A CN114416687A (zh) | 2022-01-25 | 2022-01-25 | 一种时序数据的时间分层合并方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210088635.6A CN114416687A (zh) | 2022-01-25 | 2022-01-25 | 一种时序数据的时间分层合并方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114416687A true CN114416687A (zh) | 2022-04-29 |
Family
ID=81278051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210088635.6A Pending CN114416687A (zh) | 2022-01-25 | 2022-01-25 | 一种时序数据的时间分层合并方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114416687A (zh) |
-
2022
- 2022-01-25 CN CN202210088635.6A patent/CN114416687A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115291806A (zh) | 一种处理方法、装置、电子设备及存储介质 | |
CN112905314A (zh) | 异步处理方法、装置、电子设备、存储介质、及路侧设备 | |
CN112540731A (zh) | 数据的追加写方法、装置、设备、介质和程序产品 | |
CN114490160A (zh) | 一种数据倾斜优化因子自动调整方法、装置、设备和介质 | |
CN108595251B (zh) | 动态图更新方法、装置、存储引擎接口和程序介质 | |
CN114564149B (zh) | 一种数据存储方法、装置、设备及存储介质 | |
CN114416687A (zh) | 一种时序数据的时间分层合并方法、装置、设备及介质 | |
CN115438007A (zh) | 一种文件合并方法、装置、电子设备及介质 | |
CN115718732A (zh) | 一种磁盘文件管理方法、装置、设备及存储介质 | |
CN115878035A (zh) | 一种数据读取方法、装置、电子设备及存储介质 | |
CN115712388A (zh) | 固态盘的数据存储方法、装置、设备及存储介质 | |
CN114691781A (zh) | 一种数据同步方法、系统、装置、设备及介质 | |
CN114579059A (zh) | 一种文件数据迁移方法、装置、设备及存储介质 | |
CN113553216A (zh) | 数据恢复方法、装置、电子设备及存储介质 | |
CN113051244A (zh) | 数据访问方法和装置、数据获取方法和装置 | |
CN112597112A (zh) | 数据处理方法及装置、电子设备和存储介质 | |
CN115391052B (zh) | 一种机器人任务处理方法、装置、电子设备和存储介质 | |
CN114860405B (zh) | 多任务模型的参数更新方法、装置和存储介质 | |
CN113220230B (zh) | 数据导出方法及其装置、电子设备以及存储介质 | |
CN117519983A (zh) | 一种基于内存的数据处理方法及装置 | |
CN114610490A (zh) | 防止数据同步时内存溢出的方法、装置、设备及存储介质 | |
CN114490852A (zh) | 导航数据回库的方法、装置、设备、存储介质及程序产品 | |
CN115905121A (zh) | 一种文件处理方法、装置、设备及存储介质 | |
CN115437788A (zh) | 一种缓存回收方法、装置、电子设备及存储介质 | |
CN117633109A (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 |