CN110597879A - 时序数据的处理方法和装置 - Google Patents

时序数据的处理方法和装置 Download PDF

Info

Publication number
CN110597879A
CN110597879A CN201910877375.9A CN201910877375A CN110597879A CN 110597879 A CN110597879 A CN 110597879A CN 201910877375 A CN201910877375 A CN 201910877375A CN 110597879 A CN110597879 A CN 110597879A
Authority
CN
China
Prior art keywords
data
sub
time sequence
processing
field
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
CN201910877375.9A
Other languages
English (en)
Other versions
CN110597879B (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.)
4Paradigm Beijing Technology Co Ltd
Original Assignee
4Paradigm Beijing 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 4Paradigm Beijing Technology Co Ltd filed Critical 4Paradigm Beijing Technology Co Ltd
Priority to CN201910877375.9A priority Critical patent/CN110597879B/zh
Publication of CN110597879A publication Critical patent/CN110597879A/zh
Application granted granted Critical
Publication of CN110597879B publication Critical patent/CN110597879B/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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2474Sequence data queries, e.g. querying versioned data
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2477Temporal data queries

Landscapes

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

Abstract

公开了一种时序数据的处理方法和装置。统计时序数据中与预定字段名对应的各字段值的频数,或与预定字段名组合对应的各字段值组合的频数;按照时间顺序将各频数大于或等于第一预定阈值的字段值或字段值组合所对应的数据记录拆分成预定数量个子时序数据;以及将预定数量个子时序数据分配给多个计算节点。由此,本发明不预设热点数据的数量,而是基于统计预定字段名或预定字段名组合对应的各字段值的频数,确定时序数据在处理过程中可能存在的热点数据。并且本发明通过按照时间顺序将热点数据拆分为多个子时序数据,而非随机分组,使得拆分后的子时序数据中各数据记录间的先后顺序不被打乱,进而使得拆分后的子时序数据能够支持原有的数据处理逻辑。

Description

时序数据的处理方法和装置
技术领域
本发明总体说来涉及数据处理领域,更具体地说,涉及一种针对时序数据的处理方法、装置、系统及存储介质。
背景技术
在对时序数据进行处理的过程中,不可避免地存在数据倾斜问题。数据倾斜是指大量数据被分配到一个计算节点上执行计算,使得这些数据的计算速度远低于平均计算速度,导致整个计算过程过慢。
时序数据是严格按照时间顺序记录或生成的数据列,针对时序数据的处理不同于一般数据,具有与时间相关的限制条件,时序数据的这一特性,使得现有的数据倾斜处理方案不适于应用于时序数据,解决时序数据中的数据倾斜问题。
因此,需要一种能够解决时序数据中的数据倾斜问题的方案。
发明内容
本发明的示例性实施例旨在克服时序数据处理过程中的数据倾斜问题。
根据本发明的第一个方面,提出了一种时序数据的处理方法,其中,时序数据包括多条按时间顺序记录的数据记录,每条数据记录包括一个或多个字段,该方法包括:统计时序数据中与预定字段名对应的各字段值的频数,或与预定字段名组合对应的各字段值组合的频数;按照时间顺序将各个频数大于或等于第一预定阈值的字段值或字段值组合所对应的数据记录拆分成预定数量个子时序数据;以及将预定数量个子时序数据分配给多个计算节点。
可选地,该方法还包括:根据子时序数据中的数据记录的处理结果对数据的依赖关系,将处理数据记录所需但子时序数据中缺失的数据记录添加到子时序数据中。
可选地,根据子时序数据中的数据记录的处理结果对数据的依赖关系将处理数据记录所需但子时序数据中缺失的数据记录添加到子时序数据中的步骤包括:遍历子时序数据中的每一条数据记录,根据该条数据记录的处理结果对数据的依赖关系,判断该子时序数据中是否包含处理该条数据记录所需的全部数据记录;在判定子时序数据中不包含处理该条数据所需的全部数据的情况下,获取缺失的数据记录,并将获取的数据记录添加到该子时序数据。
可选地,该方法还包括:将缺失的数据记录标记为冗余数据。
可选地,计算节点忽略冗余数据的处理,或者计算节点处理冗余数据,该方法还包括:在得到子时序数据的处理结果后,剔除冗余数据的处理结果。
可选地,该方法还包括:将各个频数小于第一预定阈值的字段值或字段值组合所对应的数据记录分配给单个计算节点。
可选地,该方法还包括:将各子时序数据的处理结果以及各个频数小于第一预定阈值的字段值或字段值组合所对应的数据记录的处理结果进行合并,以得到时序数据的处理结果。
可选地,该方法还包括:获取用户提供的优化计算策略;在优化计算策略为第一策略的情况下,将频数大于或等于第一预定阈值的字段值或字段值组合所对应的数据记录的处理结果设置为预定值,在优化计算策略为第二策略的情况下,执行按照时间顺序将各个频数大于或等于第一预定阈值的字段值或字段值组合所对应的数据记录拆分成预定数量个子时序数据的步骤。
可选地,该方法还包括:将各个频数大于或等于第二预定阈值的字段值或字段值组合所对应的数据记录的处理结果设置为预定值,第二预定阈值大于第一预定阈值,按照时间顺序将各个频数大于或等于第一预定阈值的字段值或字段值组合所对应的数据记录拆分成预定数量个子时序数据的步骤包括:按照时间顺序将各个频数大于或等于第一预定阈值且小于第二预定阈值的字段值或字段值组合所对应的数据记录拆分成预定数量个子时序数据。
可选地,第一预定阈值的大小与计算资源正相关,并且/或者预定数量的多少与计算资源正相关。
可选地,计算资源包括CPU和/或内存。
根据本发明的第二个方面,还提出了一种时序数据的处理装置,其中,时序数据包括多条按时间顺序记录的数据记录,每条数据记录包括一个或多个字段,该装置包括:统计模块,用于统计时序数据中与预定字段名对应的各字段值的频数,或与预定字段名组合对应的各字段值组合的频数;拆分模块,用于按照时间顺序将各个频数大于或等于第一预定阈值的字段值或字段值组合所对应的数据记录拆分成预定数量个子时序数据;以及分配模块,用于将预定数量个子时序数据分配给多个计算节点。
可选地,该处理装置还包括:添加模块,用于根据子时序数据中的数据记录的处理结果对数据的依赖关系,将处理数据记录所需但子时序数据中缺失的数据记录添加到子时序数据中。
可选地,添加模块遍历子时序数据中的每一条数据记录,根据该条数据记录的处理结果对数据的依赖关系,判断该子时序数据中是否包含处理该条数据记录所需的全部数据记录,在判定子时序数据中不包含处理该条数据所需的全部数据的情况下,获取缺失的数据记录,并将获取的数据记录添加到该子时序数据。
可选地,该处理装置还包括:标记模块,用于将缺失的数据记录标记为冗余数据。
可选地,计算节点忽略冗余数据的处理,或者计算节点处理冗余数据,该装置还包括:剔除模块,用于在得到子时序数据的处理结果后,剔除冗余数据的处理结果。
可选地,分配模块还用于将各个频数小于第一预定阈值的字段值或字段值组合所对应的数据记录分配给单个计算节点。
可选地,该处理装置还包括:合并模块,用于将各子时序数据的处理结果以及各个频数小于第一预定阈值的字段值或字段值组合所对应的数据记录的处理结果进行合并,以得到时序数据的处理结果。
可选地,该处理装置还包括:获取模块,用于获取用户提供的优化计算策略;第一设置模块,用于在优化计算策略为第一策略的情况下,将频数大于或等于第一预定阈值的字段值或字段值组合所对应的数据记录的处理结果设置为预定值,拆分模块用于在优化计算策略为第二策略的情况下,执行按照时间顺序将各个频数大于或等于第一预定阈值的字段值或字段值组合所对应的数据记录拆分成预定数量个子时序数据的操作。
可选地,该处理装置还包括:第二设置模块,用于将各个频数大于或等于第二预定阈值的字段值或字段值组合所对应的数据记录的处理结果设置为预定值,第二预定阈值大于第一预定阈值,拆分模块用于按照时间顺序将各个频数大于或等于第一预定阈值且小于第二预定阈值的字段值或字段值组合所对应的数据记录拆分成预定数量个子时序数据。
可选地,第一预定阈值的大小与计算资源正相关,并且/或者预定数量的多少与计算资源正相关。
可选地,计算资源包括CPU和/或内存。
根据本发明的第三个方面,还提出了一种包括至少一个计算装置和至少一个存储指令的存储装置的系统,其中,所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行如本发明第一个方面述及的方法。
根据本发明的第四个方面,还提出了一种存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行如本发明第一个方面述及的方法。
根据本发明示例性实施例的时序数据的处理方法、装置、系统及存储介质,不预设热点数据的数量,而是统计预定字段名或预定字段名组合对应的各字段值的频数,通过将频数与预定阈值进行比较,确定时序数据在处理过程中可能存在的热点数据。并且本发明通过按照时间顺序将热点数据拆分为多个子时序数据,而非随机分组,使得拆分后的子时序数据中各数据记录间的先后顺序不被打乱,进而使得拆分后的子时序数据能够支持原有的数据处理逻辑。
附图说明
从下面结合附图对本发明实施例的详细描述中,本发明的这些和/或其他方面和优点将变得更加清楚并更容易理解,其中:
图1示出了根据本发明示例性实施例的时序数据的处理方法的流程图;
图2示出了根据本发明示例性实施例的时序数据的处理装置的结构框图。
具体实施方式
为了使本领域技术人员更好地理解本发明,下面结合附图和具体实施方式对本发明的示例性实施例作进一步详细说明。
图1示出了根据本发明示例性实施例的时序数据的处理方法的流程图。
参见图1,在步骤S110,统计时序数据中与预定字段名对应的各字段值的频数,或与预定字段名组合对应的各字段值组合的频数。
时序数据是指按照时间顺序记录的数据。时序数据可以包括多条数据记录,每条数据记录包括一个或多个字段。其中,数据记录可以包括至少一个用于指示时间的时间字段。
预定字段名表征的是单个字段名,预定字段名组合表征的是多个字段名。预定字段名或预定字段名组合可以是指时序数据在处理过程中的分组字段,分组字段用于指示在处理过程中对时序数据进行分组所依据的字段名。换言之,可以根据时序数据的处理逻辑确定预定字段名或预定字段名组合,也即预定字段名或预定字段名组合可以是基于时序数据的处理逻辑确定的。
举例来说,假设时序数据为下表示出的银行交易明细表,包括但不限于“时间”、“账户号”、“交易金额”等字段,需要对时序数据执行的处理为,计算每个账号发生交易时其上一笔交易与该笔交易之和。那么分组字段为“账户号”,也即预定字段名为“账户号”。此时可以统计时序数据中账户号对应的各字段值的频数,通过统计可以得到账户号S01的频数为4,账户号S02的频数为2。其中,账户号对应的各字段值的频数也即每个账户号发生的交易次数。
在执行完步骤S110后,可以得到各个字段值或字段值组合的频数。基于统计得到的频数,可以判断是否存在热点数据。
作为示例,可以将各频数与第一预定阈值进行比较。如果频数小于第一预定阈值,则表明对应该频数的数据记录为非热点数据,将该数据记录分配到单个计算节点时不会导致数据倾斜问题;如果频数大于或等于第一预定阈值,则表明对应该频数的数据记录为热点数据,将该数据记录分配到单个计算节点时会导致数据倾斜问题。第一预定阈值可以是基于计算资源的大小确定的,其中,计算资源可以是指单个计算节点的CPU和/或内存等资源,第一预定阈值的大小与计算资源正相关,即计算资源越多,第一预定阈值越大,反之计算资源越少,第一预定阈值越小。
对于频数小于第一预定阈值的字段值或字段值组合所对应的数据记录,可以按照正常处理流程对时序数据进行处理,如可以将各个频数小于第一预定阈值的字段值或字段值组合所对应的数据记录分配给单个计算节点。
频数大于或等于第一预定阈值的字段值或字段值组合所对应的数据记录为能够导致数据倾斜的热点数据。本发明可以提供多种针对热点数据的优化计算方案,以解决时序数据中因热点数据引起的数据倾斜问题。
举例来说,针对热点数据,可以执行步骤S120、步骤S130,通过分组的方式将热点数据拆分成预定数量个子时序数据,并将这预定数量个子时序数据分配给多个计算节点。另外也可以直接将热点数据的处理结果设置为预定值,以提高计算效率。
可选地,针对热点数据的优化计算策略可以由用户决定。也即本发明还可以获取用户提供的优化计算策略,在优化计算策略为第一策略的情况下,将频数大于或等于第一预定阈值的字段值或字段值组合所对应的数据记录的处理结果设置为预定值,在优化计算策略为第二策略的情况下,执行步骤S120、步骤S130。
另外,本发明还可以将频数分别与第一预定阈值和第二预定阈值进行比较,其中,第二预定阈值大于第一预定阈值。对于大于或等于第一预定阈值且小于第二预定阈值的字段值或字段值组合所对应的数据记录,可以执行步骤S120、步骤S130,对于频数大于第二预定阈值的字段值或字段值组合所对应的数据记录,可以直接将其处理结果设置为预定值。
在步骤S120,按照时间顺序将各个频数大于或等于第一预定阈值的字段值或字段值组合所对应的数据记录拆分成预定数量个子时序数据。其中,预定数量也可以根据实际情况设定。
考虑到时序数据的处理逻辑通常具有与时间相关的限制条件,本发明按照时间顺序将热点数据拆分为多个子时序数据,而非随机分组,使得拆分后的子时序数据中各数据记录间的先后顺序不被打乱,也即不破坏数据的时序性,进而使得拆分后的子时序数据能够支持原有的数据处理逻辑。
仍以上文述及的时序数据为银行交易明细、对时序数据执行的处理为“计算每个账号发生交易时其上一笔交易与该笔交易之和”为例,单条数据记录的处理结果严格依赖于上一条数据记录,如果对热点数据进行随机分组,那么势必会破坏数据的时序性,使得同一分组内数据记录间的先后顺序被打乱,进而使得某条数据记录的计算所依赖的上一条数据记录被划分到其他组,从而会导致分组后的数据无法被计算节点处理或者被错误处理。而本发明通过按照时间顺序将热点数据进行拆分,则可以很好地解决这一问题。
在步骤S130,将预定数量个子时序数据分配给多个计算节点。
具体的分配方式本发明的不再赘述,例如可以为单个计算节点分配一个或多个子时序数据。计算节点在获取到为其分配的子时序数据后,就可以根据时序数据的处理逻辑,对子时序数据进行处理。
综上,本发明不预设热点数据的数量,而是统计预定字段名或预定字段名组合对应的各字段值的频数,通过将频数与预定阈值进行比较,确定时序数据中可能存在的热点数据。并且本发明通过按照时间顺序将热点数据拆分为多个子时序数据,而非随机分组,使得拆分后的子时序数据中各数据记录间的先后顺序不被打乱,进而使得拆分后的子时序数据能够支持原有的数据处理逻辑。进一步地,本发明述及的预定字段名或预定字段名组合表征的是时序数据处理过程中的分组字段,其可以是基于时序数据的处理逻辑确定的。
因此,本发明是充分考虑到了时序数据在实际应用中的数据处理逻辑,提出了一种与时序数据的数据处理逻辑相适配的数据倾斜解决方案,以解决时序数据处理过程中的数据倾斜问题。
进一步地,考虑到按照时间顺序将热点数据拆分成预定数量个子时序数据后,单个子时序数据中仍然可能存在缺失计算所依赖的数据的数据记录。为此,本发明提出,可以根据子时序数据中的数据记录的处理结果对数据的依赖关系,将处理数据记录所需但子时序数据中缺失的数据记录添加到子时序数据中。例如,可以遍历子时序数据中的每一条数据记录,根据该条数据记录的处理结果对数据的依赖关系,判断该子时序数据中是否包含处理该条数据记录所需的全部数据记录,在判定子时序数据中不包含处理该条数据所需的全部数据的情况下,获取缺失的数据记录,并将获取的数据记录添加到该子时序数据。如此,可以补齐子时序数据在处理过程所需的全部数据。
在将缺失的数据记录添加到子时序数据的过程中,本发明还可以将缺失的数据记录标记为冗余数据。计算节点在处理过程中,可以忽略冗余数据的处理,也可以处理冗余数据。
需要说明的是,冗余数据是添加的数据记录,用于为其他数据记录的计算提供数据支持,冗余数据本身的处理结果所依赖的数据不一定都在子时序数据中,而为冗余数据添加缺失的数据是不必要的。因此,在计算节点处理冗余数据的情况下,如果子时序数据中缺失了处理该冗余数据所需的全部数据记录中的部分数据记录,那么计算节点可以使用一预设值(如可以是空值)代替缺失的数据,进行计算。
另外,在计算节点处理冗余数据的情况下,在得到子时序数据的处理结果后,还可以剔除冗余数据的处理结果。
本发明还可以将各子时序数据的处理结果以及各个频数小于第一预定阈值的字段值或字段值组合所对应的数据记录的处理结果进行合并,以得到时序数据的处理结果。其中,在需要返回原字段的情况下,本发明可以将时序数据的处理结果作为新的字段添加到时序数据中。
在本发明的一个实施例中,可以由用户提供时序数据以及上文提及的预定字段名或预定字段名组合、第一预定阈值、预定数量以及针对热点数据的优化计算策略。可以基于用户提供的上述信息,执行本发明的方法,以解决时序数据的处理过程中的数据倾斜问题。
下面结合具体示例就本发明的实现流程做进一步说明。
假设用户输入下表所示的时序数据,并明确预定字段名为账户号,提供阈值(即上文述及的第一阈值)为3,分组数(即上文述及的预设数量)为2,预设值为空。
时间 账户号 交易金额
2016.05.01 09:00:00 S01 100
2016.05.01 09:02:00 S02 50
2016.05.02 09:05:00 S01 200
2016.05.02 15:16:00 S02 150
2016.05.03 12:28:00 S01 50
2016.05.04 10:42:00 S01 150
假设需要对时序数据执行的处理为,计算每个账户发生交易时,其上一笔交易与该笔交易之和,并返回原字段。
首先可以统计各账户号字段值的频数,统计结果如下。
账户号 频数
S01 4
S02 2
可以将频数大于阈值3的账户号下交易记录判定为能够导致数据倾斜问题的热点数据。其中,S01的频数为4大于阈值3,因此可以将账户号S01下的交易记录判定为热点数据。
可以将原始时序数据拆分为第一时序数据和第二时序数据,其中第一时序数据仅包含热点数据,第二时序数据不包含热点数据。
第一时序数据如下,
时间 账户号 交易金额
2016.05.01 09:00:00 S01 100
2016.05.02 09:05:00 S01 200
2016.05.03 12:28:00 S01 50
2016.05.04 10:42:00 S01 150
第二时序数据如下,
时间 账户号 交易金额
2016.05.01 09:02:00 S02 50
2016.05.02 15:16:00 S02 150
对于第二时序数据,不做特殊处理,直接交由计算节点进行处理,得到:
第一时序数据不为空,这里可以根据用户指定的解决方案,确定第一时序数据的处理策略。例如,可以向用户提供解决方案A和解决方案B,解决方案A是不经过实际计算处理,直接将数据处理结果赋值为预设值,解决方案B是通过分组的方式将热点数据拆分成多组子时序数据,进行处理。
如果用户选择解决方案A处理第一时序数据,则不经过过实际处理,直接将数据处理结果赋值为预设值,处理结果如下。
如果用户选择解决方案B处理第一时序数据,则将第一时序数据每一个关键字段值对应的数据按时序拆分为2个子时序数据,分别为:
时间 账户号 交易金额
2016.05.01 09:00:00 S01 100
2016.05.02 09:05:00 S01 200
以及
时间 账户号 交易金额
2016.05.03 12:28:00 S01 50
2016.05.04 10:42:00 S01 150
由于用户需要计算每个账户发生交易时,其上一笔交易与该笔交易之和,则每一行计算处理结果对数据的依赖关系为该行数据及上一行数据。补齐每个子时序数据在处理过程中所需的数据:遍历每个子时序数据的每一行,第一个子时序数据的第一行和第二行不需要补齐,处理所需的数据全部包含于该子时序数据,第二个子时序数据的第二行也不需要补齐,这里仅第二个子时序数据的第一行需要补齐操作,即补充账户号S01在2016.05.02 09:05:00的数据:
时间 账户号 交易金额
2016.05.02 09:05:00 S01 200
2016.05.03 12:28:00 S01 50
2016.05.04 10:42:00 S01 150
将各子时序数据分配给分布式系统中的多个计算节点分别处理,得到结果:
得到处理结果后剔除冗余数据及其结果,这里第二个子时序数据存在冗余数据,剔除账户号S01在2016.05.02 09:05:00的数据,合并子时序数据结果,得到第一时序数据处理结果:
2.8.将第一时序数据和第二时序数据的处理结果合并:
至此就本发明的时序数据的处理方法做了详细说明。本发明的时序数据的处理方法可以应用于时序数据的处理业务,如可以应用于从时序数据中抽取特征的时序数据处理业务,在对时序数据抽取特征的过程中,执行本发明,以解决对时序数据进行特征抽取过程中存在的数据倾斜问题。
本发明的时序数据的处理方法还可以实现为一种时序数据的处理装置。图2示出了根据本发明示例性实施例的时序数据的处理装置的结构框图。其中,处理装置的功能单元可以由实现本发明原理的硬件、软件或硬件和软件的结合来实现。本领域技术人员可以理解的是,图2所描述的功能单元可以组合起来或者划分成子单元,从而实现上述发明的原理。因此,本文的描述可以支持对本文描述的功能单元的任何可能的组合、或者划分、或者更进一步的限定。
下面就处理装置可以具有的功能单元以及各功能单元可以执行的操作做简要说明,对于其中涉及的细节部分可以参见上文相关描述,这里不再赘述。
参见图2,时序数据的处理装置200包括统计模块210、拆分模块220以及分配模块230。
统计模块210用于统计时序数据中与预定字段名对应的各字段值的频数,或与预定字段名组合对应的各字段值组合的频数。关于预定字段名、预定字段名组合可以参见上文相关描述,此处不再赘述。
作为示例,处理装置200可以包括比较模块(图中未示出)。可以由比较模块将统计模块210计算得到的各频数与第一预定阈值进行比较。如果频数小于第一预定阈值,则表明对应该频数的数据记录为非热点数据,不会导致数据倾斜问题;如果频数大于或等于第一预定阈值,则表明对应该频数的数据记录为热点数据,会导致数据倾斜问题。第一预定阈值可以是基于计算资源的大小确定的,其中,计算资源可以是指单个计算节点的CPU和/或内存等资源,第一预定阈值的大小与计算资源正相关,即计算资源越多,第一预定阈值越大,反之计算资源越少,第一预定阈值越小。
对于频数小于第一预定阈值的字段值或字段值组合所对应的数据记录,可以按照正常处理流程对时序数据进行处理,如可以由分配模块230将各个频数小于第一预定阈值的字段值或字段值组合所对应的数据记录分配给单个计算节点。
频数大于或等于第一预定阈值的字段值或字段值组合所对应的数据记录为能够导致数据倾斜的热点数据。针对热点数据,可以由拆分模块220用于按照时间顺序将各个频数大于或等于第一预定阈值的字段值或字段值组合所对应的数据记录拆分成预定数量个子时序数据,然后由分配模块230将预定数量个子时序数据分配给多个计算节点。
另外处理装置200还可以包括第一设置模块(图中未示出)。可以由设置模块直接将热点数据的处理结果设置为预定值,以提高计算效率。
可选地,针对热点数据的优化计算策略可以由用户决定。也即处理装置200还可以包括获取模块(图中未示出)。获取模块可以用于获取用户提供的优化计算策略,在优化计算策略为第一策略的情况下,设置模块将频数大于或等于第一预定阈值的字段值或字段值组合所对应的数据记录的处理结果设置为预定值,在优化计算策略为第二策略的情况下,由拆分模块220按照时间顺序将各个频数大于或等于第一预定阈值的字段值或字段值组合所对应的数据记录拆分成预定数量个子时序数据,然后由分配模块230将预定数量个子时序数据分配给多个计算节点。
作为示例,处理装置200还可以包括第二设置模块(图中未示出)。第二设置模块用于将大于或等于第二预定阈值的字段值或字段值组合所对应的数据记录的处理结果设置为预定值。其中,拆分模块220可以将大于或等于第一预定阈值且小于第二预定阈值的字段值或字段值组合所对应的数据记录拆分成预定数量个子时序数据。
作为示例,处理装置200还可以包括添加模块。添加模块用于根据所述子时序数据中的数据记录的处理结果对数据的依赖关系,将处理所述数据记录所需但所述子时序数据中缺失的数据记录添加到所述子时序数据中。例如,所述添加模块遍历所述子时序数据中的每一条数据记录,根据该条数据记录的处理结果对数据的依赖关系,判断该子时序数据中是否包含处理该条数据记录所需的全部数据记录,在判定所述子时序数据中不包含处理该条数据所需的全部数据的情况下,获取缺失的数据记录,并将获取的数据记录添加到该子时序数据。
作为示例,处理装置200还可以包括标记模块。标记模块用于将所述缺失的数据记录标记为冗余数据。计算节点忽略所述冗余数据的处理,或者所述计算节点处理所述冗余数据,该装置还包括剔除模块,用于在得到所述子时序数据的处理结果后,剔除冗余数据的处理结果。
作为示例,处理装置200还可以包括合并模块。合并模块用于将各子时序数据的处理结果以及各个频数小于第一预定阈值的字段值或字段值组合所对应的数据记录的处理结果进行合并,以得到所述时序数据的处理结果。
应该理解,根据本发明示例性实施例的时序数据的处理装置200的具体实现方式可参照结合图1描述的相关具体实现方式来实现,在此不再赘述。
以上参照图1、图2描述了根据本发明示例性实施例的时序数据的处理方法、时序数据的处理装置。应理解,上述方法可通过记录在计算可读介质上的程序来实现,例如,根据本发明的示例性实施例,可提供一种存储指令的计算机可读存储介质,其中,在所述计算机可读介质上记录有用于执行图1示出的时序数据的处理方法的计算机程序。
上述计算机可读介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,应注意,所述计算机程序除了可用于执行除了图1示出的步骤之外,还可用于执行除了上述步骤以外的附加步骤或者在执行上述步骤时执行更为具体的处理,这些附加步骤和进一步处理的内容已经参照图1进行了描述,这里为了避免重复将不再进行赘述。
应注意,根据本发明示例性实施例的时序数据的处理装置,可完全依赖计算机程序的运行来实现相应的功能,即,各个装置与计算机程序的功能架构中与各步骤相应,使得整个系统通过专门的软件包(例如,lib库)而被调用,以实现相应的功能。
另一方面,图2所示的各个装置也可以通过硬件、软件、固件、中间件、微代码或其任意组合来实现。当以软件、固件、中间件或微代码实现时,用于执行相应操作的程序代码或者代码段可以存储在诸如存储介质的计算机可读介质中,使得处理器可通过读取并运行相应的程序代码或者代码段来执行相应的操作。
例如,本发明的示例性实施例还可以实现为计算装置,该计算装置包括存储部件和处理器,存储部件中存储有计算机可执行指令集合,当所述计算机可执行指令集合被所述处理器执行时,执行时序数据的处理方法。
具体说来,所述计算装置可以部署在服务器或客户端中,也可以部署在分布式网络环境中的节点装置上。此外,所述计算装置可以是PC计算机、平板装置、个人数字助理、智能手机、web应用或其他能够执行上述指令集合的装置。
这里,所述计算装置并非必须是单个的计算装置,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。计算装置还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子装置。
在所述计算装置中,处理器可包括中央处理器(CPU)、图形处理器(GPU)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
根据本发明示例性实施例的时序数据的处理方法中所描述的某些操作可通过软件方式来实现,某些操作可通过硬件方式来实现,此外,还可通过软硬件结合的方式来实现这些操作。
处理器可运行存储在存储部件之一中的指令或代码,其中,所述存储部件还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,所述网络接口装置可采用任何已知的传输协议。
存储部件可与处理器集成为一体,例如,将RAM或闪存布置在集成电路微处理器等之内。此外,存储部件可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储部件和处理器可在操作上进行耦合,或者可例如通过I/O端口、网络连接等互相通信,使得处理器能够读取存储在存储部件中的文件。
此外,所述计算装置还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。计算装置的所有组件可经由总线和/或网络而彼此连接。
根据本发明示例性实施例的时序数据的处理方法所涉及的操作可被描述为各种互联或耦合的功能块或功能示图。然而,这些功能块或功能示图可被均等地集成为单个的逻辑装置或按照非确切的边界进行操作。
例如,如上所述,根据本发明示例性实施例的时序数据的处理装置可包括存储部件和处理器,其中,存储部件中存储有计算机可执行指令集合,当所述计算机可执行指令集合被所述处理器执行时,执行上文述及的时序数据的处理方法。
以上描述了本发明的各示例性实施例,应理解,上述描述仅是示例性的,并非穷尽性的,本发明不限于所披露的各示例性实施例。在不偏离本发明的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。因此,本发明的保护范围应该以权利要求的范围为准。

Claims (10)

1.一种时序数据的处理方法,其中,所述时序数据包括多条按时间顺序记录的数据记录,每条所述数据记录包括一个或多个字段,该方法包括:
统计所述时序数据中与预定字段名对应的各字段值的频数,或与预定字段名组合对应的各字段值组合的频数;
按照时间顺序将各个频数大于或等于第一预定阈值的字段值或字段值组合所对应的数据记录拆分成预定数量个子时序数据;以及
将所述预定数量个子时序数据分配给多个计算节点。
2.根据权利要求1所述的处理方法,还包括:
根据所述子时序数据中的数据记录的处理结果对数据的依赖关系,将处理所述数据记录所需但所述子时序数据中缺失的数据记录添加到所述子时序数据中。
3.根据权利要求2所述的处理方法,其中,根据所述子时序数据中的数据记录的处理结果对数据的依赖关系将处理所述数据记录所需但所述子时序数据中缺失的数据记录添加到所述子时序数据中的步骤包括:
遍历所述子时序数据中的每一条数据记录,根据该条数据记录的处理结果对数据的依赖关系,判断该子时序数据中是否包含处理该条数据记录所需的全部数据记录;
在判定所述子时序数据中不包含处理该条数据所需的全部数据的情况下,获取缺失的数据记录,并将获取的数据记录添加到该子时序数据。
4.根据权利要求2所述的处理方法,还包括:
将所述缺失的数据记录标记为冗余数据。
5.根据权利要求4所述的处理方法,其中,
所述计算节点忽略所述冗余数据的处理,或者
所述计算节点处理所述冗余数据,该方法还包括:在得到所述子时序数据的处理结果后,剔除冗余数据的处理结果。
6.根据权利要求1所述的处理方法,还包括:
将各个频数小于第一预定阈值的字段值或字段值组合所对应的数据记录分配给单个计算节点。
7.根据权利要求6所述的处理方法,还包括:
将各子时序数据的处理结果以及各个频数小于第一预定阈值的字段值或字段值组合所对应的数据记录的处理结果进行合并,以得到所述时序数据的处理结果。
8.一种时序数据的处理装置,其中,所述时序数据包括多条按时间顺序记录的数据记录,每条所述数据记录包括一个或多个字段,该装置包括:
统计模块,用于统计所述时序数据中与预定字段名对应的各字段值的频数,或与预定字段名组合对应的各字段值组合的频数;
拆分模块,用于按照时间顺序将各个频数大于或等于第一预定阈值的字段值或字段值组合所对应的数据记录拆分成预定数量个子时序数据;以及
分配模块,用于将所述预定数量个子时序数据分配给多个计算节点。
9.一种包括至少一个计算装置和至少一个存储指令的存储装置的系统,其中,所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行如权利要求1到7中的任一权利要求所述的方法。
10.一种存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行如权利要求1到7中的任一权利要求所述的方法。
CN201910877375.9A 2019-09-17 2019-09-17 时序数据的处理方法和装置 Active CN110597879B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910877375.9A CN110597879B (zh) 2019-09-17 2019-09-17 时序数据的处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910877375.9A CN110597879B (zh) 2019-09-17 2019-09-17 时序数据的处理方法和装置

Publications (2)

Publication Number Publication Date
CN110597879A true CN110597879A (zh) 2019-12-20
CN110597879B CN110597879B (zh) 2022-01-14

Family

ID=68860368

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910877375.9A Active CN110597879B (zh) 2019-09-17 2019-09-17 时序数据的处理方法和装置

Country Status (1)

Country Link
CN (1) CN110597879B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111611243A (zh) * 2020-05-13 2020-09-01 第四范式(北京)技术有限公司 数据处理方法及装置
CN112182240A (zh) * 2020-09-23 2021-01-05 成都数联铭品科技有限公司 同名自然人实体超级节点识别处理方法及系统、电子设备
CN113806354A (zh) * 2020-06-12 2021-12-17 第四范式(北京)技术有限公司 实现时序特征抽取的方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101576931A (zh) * 2009-06-02 2009-11-11 中兴通讯股份有限公司 动态数据监测方法及系统
CN103631538A (zh) * 2013-12-05 2014-03-12 华为技术有限公司 冷热数据识别门限值计算方法、装置和系统
CN106681823A (zh) * 2015-11-05 2017-05-17 田文洪 一种处理MapReduce数据倾斜的负载均衡方法
CN107547606A (zh) * 2016-06-29 2018-01-05 中兴通讯股份有限公司 数据处理方法、集群管理器、资源管理器、数据处理系统
CN109144731A (zh) * 2018-08-31 2019-01-04 中国平安人寿保险股份有限公司 数据处理方法、装置、计算机设备及存储介质
CN110032444A (zh) * 2019-02-25 2019-07-19 阿里巴巴集团控股有限公司 一种分布式系统及分布式任务处理方法
CN110032670A (zh) * 2019-04-17 2019-07-19 腾讯科技(深圳)有限公司 时序数据的异常检测方法、装置、设备及存储介质
CN110147357A (zh) * 2019-05-07 2019-08-20 浙江科技学院 一种基于大数据环境下的多源数据聚合抽样方法及系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101576931A (zh) * 2009-06-02 2009-11-11 中兴通讯股份有限公司 动态数据监测方法及系统
CN103631538A (zh) * 2013-12-05 2014-03-12 华为技术有限公司 冷热数据识别门限值计算方法、装置和系统
CN106681823A (zh) * 2015-11-05 2017-05-17 田文洪 一种处理MapReduce数据倾斜的负载均衡方法
CN107547606A (zh) * 2016-06-29 2018-01-05 中兴通讯股份有限公司 数据处理方法、集群管理器、资源管理器、数据处理系统
CN109144731A (zh) * 2018-08-31 2019-01-04 中国平安人寿保险股份有限公司 数据处理方法、装置、计算机设备及存储介质
CN110032444A (zh) * 2019-02-25 2019-07-19 阿里巴巴集团控股有限公司 一种分布式系统及分布式任务处理方法
CN110032670A (zh) * 2019-04-17 2019-07-19 腾讯科技(深圳)有限公司 时序数据的异常检测方法、装置、设备及存储介质
CN110147357A (zh) * 2019-05-07 2019-08-20 浙江科技学院 一种基于大数据环境下的多源数据聚合抽样方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
廖建飞等: ""数据分块并行优化的分布式AES加密算法"", 《科技通报》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111611243A (zh) * 2020-05-13 2020-09-01 第四范式(北京)技术有限公司 数据处理方法及装置
CN111611243B (zh) * 2020-05-13 2023-06-13 第四范式(北京)技术有限公司 数据处理方法及装置
CN113806354A (zh) * 2020-06-12 2021-12-17 第四范式(北京)技术有限公司 实现时序特征抽取的方法及装置
CN113806354B (zh) * 2020-06-12 2023-12-22 第四范式(北京)技术有限公司 实现时序特征抽取的方法及装置
CN112182240A (zh) * 2020-09-23 2021-01-05 成都数联铭品科技有限公司 同名自然人实体超级节点识别处理方法及系统、电子设备
CN112182240B (zh) * 2020-09-23 2024-04-02 成都数联铭品科技有限公司 同名自然人实体超级节点识别处理方法及系统、电子设备

Also Published As

Publication number Publication date
CN110597879B (zh) 2022-01-14

Similar Documents

Publication Publication Date Title
CN110597879B (zh) 时序数据的处理方法和装置
CN111159436B (zh) 一种推荐多媒体内容的方法、装置及计算设备
CN109309712B (zh) 基于接口异步调用的数据传输方法、服务器及存储介质
JP6233413B2 (ja) タスク割り当て判定装置、制御方法、及びプログラム
US10606657B2 (en) Methods and modules relating to allocation of host machines
CN104102693A (zh) 对象处理方法和装置
US20170185454A1 (en) Method and Electronic Device for Determining Resource Consumption of Task
CN111309644B (zh) 一种内存分配方法、装置和计算机可读存储介质
CN111722918A (zh) 业务标识码生成方法、装置、存储介质及电子设备
JP6129290B1 (ja) 分散計算におけるアプリケーションパラメータ設定およびシステム仕様設定を推奨する方法およびシステム
CN112269661B (zh) 基于Kafka集群的分区迁移方法和装置
CN112231098A (zh) 任务处理方法、装置、设备及存储介质
CN109359060B (zh) 数据抽取方法、装置、计算设备及计算机存储介质
US8972629B2 (en) Low-contention update buffer queuing for large systems
US11863675B2 (en) Data flow control in distributed computing systems
CN109412865B (zh) 一种虚拟网络资源分配方法、系统及电子设备
CN110046040B (zh) 分布式任务处理方法及系统和存储介质
CN111611243B (zh) 数据处理方法及装置
CN112764935B (zh) 大数据处理方法、装置、电子设备及存储介质
CN110708374B (zh) 一种边缘节点的分配方法、分配装置及可读存储介质
CN114444440A (zh) 一种标识符生成方法、装置、存储介质及系统
US11016685B2 (en) Method and defragmentation module for defragmenting resources
CN114513469A (zh) 分布式系统的流量整形方法、装置和存储介质
CN113407562A (zh) 分布式数据库系统的通信方法及装置
CN113806354A (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