CN113204387A - 实时计算中数据超时的处理方法及装置 - Google Patents

实时计算中数据超时的处理方法及装置 Download PDF

Info

Publication number
CN113204387A
CN113204387A CN202110557272.1A CN202110557272A CN113204387A CN 113204387 A CN113204387 A CN 113204387A CN 202110557272 A CN202110557272 A CN 202110557272A CN 113204387 A CN113204387 A CN 113204387A
Authority
CN
China
Prior art keywords
data
processed
time
cache
time window
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
CN202110557272.1A
Other languages
English (en)
Other versions
CN113204387B (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.)
Zhuhai Kingsoft Online Game Technology Co Ltd
Original Assignee
Zhuhai Kingsoft Online Game 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 Zhuhai Kingsoft Online Game Technology Co Ltd filed Critical Zhuhai Kingsoft Online Game Technology Co Ltd
Priority to CN202110557272.1A priority Critical patent/CN113204387B/zh
Priority claimed from CN202110557272.1A external-priority patent/CN113204387B/zh
Publication of CN113204387A publication Critical patent/CN113204387A/zh
Application granted granted Critical
Publication of CN113204387B publication Critical patent/CN113204387B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming
    • 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
    • G06F16/2282Tablespace storage structures; Management thereof
    • 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/2455Query execution
    • G06F16/24552Database cache management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本说明书提供实时计算中数据超时的处理方法及装置,其中所述实时计算中数据超时的处理方法包括:获取待处理数据,其中,待处理数据携带生成时间和到达时间;确定生成时间所属的目标时间窗;若到达时间超出目标时间窗,则从缓存中获取生成时间在目标时间窗内的缓存数据;基于缓存数据和待处理数据,确定目标时间窗内数据的处理结果。如此,在处理待处理数据之前,从缓存中获取与该待处理数据同一时间段生成的数据的缓存数据,根据缓存数据和待处理数据确定目标时间窗内数据的处理结果,即将同一时间段生成的数据同时进行处理,且得到的处理结果与目标时间窗对应,考虑到了数据之间的关联性,使得得到的处理结果能够满足业务需求。

Description

实时计算中数据超时的处理方法及装置
技术领域
本说明书涉及数据处理技术领域,特别涉及实时计算中数据超时的处理方法及装置。
背景技术
在数据处理领域,通常可以在数据处理引擎中创建窗口,通过窗口对业务相关的数据进行处理。但由于服务器与终端的时间不一致或者网络异常等原因,可能会出现数据超时的情况,而数据超时可能会导致业务的处理出现问题。
现有技术通常可以通过两种方式来减少数据超时对业务的影响。一种是根据生成时间结合窗口进行数据超时的处理。具体地,生成时间是数据本身自带的时间,也可以称为event time(事件时间),该种方式中每个窗口除了包括窗口时间段,还包括触发时间,且触发时间大于窗口时间段的结束时间,即每个窗口可以等待一段时间来收集数据,等到结束后才对窗口内的数据进行计算。另一种是根据到达时间结合窗口进行数据超时的处理。具体地,到达时间可以称为process time(数据开始处理的时间),该种方式中每个窗口实时收集到达时间在窗口时间段内的数据,且在时间到达窗口时间段的结束时间时,停止收集数据,对窗口内收集到的数据进行处理,得到处理结果。
但上述第一种方式需要等待较长时间才能对窗口内的数据进行处理,实时性较低,且在数据延迟较严重的情况下,可能会丢弃超时的数据,影响处理结果的准确性。第二种方式在处理数据时不关注数据的生成时间,可能会将同一时间段生成的需要结合处理的数据通过不同的窗口分开处理,导致得到的处理结果不满足业务需求。
发明内容
有鉴于此,本说明书实施例提供了一种实时计算中数据超时的处理方法。本说明书同时涉及一种实时计算中数据超时的处理装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种实时计算中数据超时的处理方法,包括:
获取待处理数据,其中,所述待处理数据携带生成时间和到达时间;
确定所述生成时间所属的目标时间窗;
若所述到达时间超出所述目标时间窗,则从缓存中获取生成时间在所述目标时间窗内的缓存数据;
基于所述缓存数据和所述待处理数据,确定所述目标时间窗内数据的处理结果。
根据本说明书实施例的第二方面,提供了一种实时计算中数据超时的处理装置,包括:
第一获取模块,被配置为获取待处理数据,其中,所述待处理数据携带生成时间和到达时间;
第一确定模块,被配置为确定所述生成时间所属的目标时间窗;
第二获取模块,被配置为若所述到达时间超出所述目标时间窗,则从缓存中获取生成时间在所述目标时间窗内的缓存数据;
第二确定模块,被配置为基于所述缓存数据和所述待处理数据,确定所述目标时间窗内数据的处理结果。
根据本说明书实施例的第三方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
获取待处理数据,其中,所述待处理数据携带生成时间和到达时间;
确定所述生成时间所属的目标时间窗;
若所述到达时间超出所述目标时间窗,则从缓存中获取生成时间在所述目标时间窗内的缓存数据;
基于所述缓存数据和所述待处理数据,确定所述目标时间窗内数据的处理结果。
根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现所述实时计算中数据超时的处理方法的步骤。
本说明书提供的实时计算中数据超时的处理方法,获取待处理数据,其中,所述待处理数据携带生成时间和到达时间;确定所述生成时间所属的目标时间窗;若所述到达时间超出所述目标时间窗,则从缓存中获取生成时间在所述目标时间窗内的缓存数据;基于所述缓存数据和所述待处理数据,确定所述目标时间窗内数据的处理结果。也即是,在本方案中,获取到待处理数据后,可以先确定该待处理数据的生成时间所属的目标时间窗,为了确定待处理数据是否可以在该目标时间窗内进行处理,可以先判断待处理数据是否超时。在该待处理数据的到达时间超出该目标时间窗的情况下,可以认为该待处理数据已经超时,由于同一时间段生成的数据之间可能存在关联,且本方案中数据被处理后得到的缓存数据可以存储在缓存中,因此,在处理待处理数据之前,可以从缓存中获取与该待处理数据同一时间段生成的历史数据的缓存数据,根据缓存数据和待处理数据,可以确定目标时间窗内数据的处理结果,即将同一时间段生成的数据同时进行处理,且得到的处理结果与目标时间窗对应,考虑到了数据之间的关联性,使得得到的处理结果能够满足业务需求。另外,本方案不是等待该待处理数据到达后才对同一时间段生成的数据进行处理,提高了数据处理的实时性,且对于超时的待处理数据没有丢弃,而是将待处理数据与历史数据一起进行处理,提高了处理结果的准确性。
附图说明
图1是现有技术提供的一种根据生成时间结合窗口进行数据超时处理的示意图;
图2是本说明书一实施例提供的一种实时计算中数据超时的处理方法的流程图;
图3是本说明书一实施例提供的一种应用于转账业务的实时计算中数据超时的处理方法的处理流程图;
图4是本说明书一实施例提供的一种实时计算中数据超时的处理方法的示意图;
图5是本说明书一实施例提供的一种实时计算中数据超时的处理装置的结构示意图;
图6是本说明书一实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
生成时间:也称为事件时间(event time),生成时间是每个数据在产生的时候记录的时间,该时间携带在数据中,在处理的时候可以被提取出来。
到达时间:也称为处理时间(process time),数据进入设备时当前设备的时间。
窗口:也称为时间窗。为了便于数据处理,按照时间间隔将数据划分为多组进行计算,每个组可以称为一个窗口,这个时间可以是生成时间或者到达时间。
接下来,对本说明书提供的实时计算中数据超时的处理方法的应用场景进行举例说明。
参见图1,图1是现有技术提供的一种根据生成时间结合窗口进行数据超时处理的示意图。在图1中,服务器在不同的时间从客户端获取到5个待处理数据,分别是数据1、数据2、数据3、数据4和数据5,且每个数据携带有两个时间e和p,其中e表示事件时间或称为生成时间,p表示数据处理时间或称为到达时间,服务器中窗口处理数据的时间间隔是5分钟,且每个窗口允许数据迟到5分钟。由图1可知,数据1的生成时间是10:11,到达时间是10:12,数据2的生成时间是10:12,到达时间是10:13,数据3的生成时间是10:12,到达时间是10:14,数据4的生成时间是10:16,到达时间是10:16,数据5的生成时间是10:11,到达时间是10:21,由此可以看出数据1、2、3和5均是在10:10-10:15(包括10:10,不包括10:15)这个时间段生成的,数据4是在10:15-10:20(包括10:15,不包括10:20)这个时间段生成的,并且数据5严重超时。在服务器中,窗口1和窗口2在处理数据时是按照数据的生成时间确定是否处理,且窗口1和窗口2的触发时间均大于结束时刻。窗口1负责处理的是生成时间区间在10:10-10:15内的数据,且窗口1的触发时间是10:20,窗口2负责处理的是生成时间区间在10:15-10:20内的数据,窗口2的触发时间是10:25。由于数据1、2和3的生成时间在窗口1内,到达时间在窗口1的触发时间之前,说明在窗口1进行数据处理之前数据1、2和3均能够到达服务器,因此可以通过窗口1处理数据1、2和3,而窗口5虽然生成时间在窗口1内,本该通过窗口1处理数据5,但窗口1的触发时间是10:20,而数据5在10:21才到达服务器,此时窗口1已经处理完数据并输出处理结果3,所以只能将数据5丢弃,即无法对数据5进行处理。由于数据4的生成时间在窗口2内,且数据4的到达时间在窗口2的触发时间之前,说明在窗口2进行数据处理之前数据4能够到达服务器,因此可以通过窗口2处理数据4并输出处理结果1。
但上述方法必须等待一段时间才能关闭窗口进行数据处理,降低了数据处理的实时性,而且如果数据超时很久,且窗口已经关闭完成数据处理,则只能将超时的数据丢弃,影响处理结果的准确性。为了解决上述问题,本申请提供了一种实时计算中数据超时的处理方法,具体实现可以参见下述各个实施例。
在本说明书中,提供了一种实时计算中数据超时的处理方法,本说明书同时涉及一种实时计算中数据超时的处理装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图2示出了根据本说明书一实施例提供的一种实时计算中数据超时的处理方法的流程图,具体包括以下步骤:
步骤202:获取待处理数据,其中,该待处理数据携带生成时间和到达时间。
其中,生成时间可以是生成待处理数据时的时间。到达时间可以是待处理数据到达服务器时服务器的时间。
在本实施例一种实施方式中,待处理数据可以由客户端在接收到用户的操作后生成并发送至服务器,因此服务器可以获取到待处理数据。并且,由于服务器在进行数据处理时需要根据待处理数据的生成时间和到达时间确定处理该待处理数据的时间窗,因此,待处理数据可以携带生成时间和到达时间。具体实现中,可以在生成待处理数据时由客户端记录生成时间,并将生成时间携带在待处理数据上发送至服务器,服务器接收到待处理数据后,可以记录待处理数据的到达时间,并将到达时间也携带在待处理数据上。
示例性地,用户在客户端的银行软件中用自己的账号向其他账号转账,则客户端会生成一条转账数据,该条转账数据可以携带有转账时间,客户端可以将转账时间携带在转账数据上发送至服务器,则服务器可以接收到待处理数据,并且记录接收到待处理数据的到达时间,将记录的到达时间也携带在该待处理数据上。
作为一种示例,时间窗可以理解为一个时间段。在服务器中,可以按照预设时间间隔将时间划分为多个时间段,每个时间段包括开始时刻但不包括结束时刻,且每个时间段可以称为一个时间窗,每个时间窗可以处理生成时间或到达时间在该时间窗内的数据。
需要说明的是,预设时间间隔可以由用户根据实际需求进行设置,也可以由服务器默认设置,本申请实施例对此不作限定。例如,假设预设时间间隔是5分钟。
以预设时间间隔是5分钟为例,可以将每天24个小时以5分钟为时间间隔进行划分,如00:00-00:05(包括00:00,不包括00:05)是时间窗1,00:05-00:10(包括00:05,不包括00:10)是时间窗2等等。
本申请实施例中,服务器可以从客户端获取到携带生成时间的待处理数据,且记录获取到待处理数据的时间作为到达时间,将生成时间和到达时间均携带在待处理数据上,如此,在后续对待处理数据进行处理时,可以考虑到生成时间和到达时间,以在合适的时间窗对待处理数据进行处理。
步骤204:确定生成时间所属的目标时间窗。
其中,目标时间窗是多个时间窗中包括待处理数据的生成时间的时间窗。
在实施中,为了将同一时间段内的数据一起进行处理,在获取到待处理数据后,需要判断是否存在与待处理数据在同一时间段生成的历史数据,若存在,则可以获取缓存数据与待处理数据一起处理,但在此之前,要先确定待处理数据的生成时间所属的时间段(即目标时间窗)。
示例性地,假设待处理数据的生成时间是12:31,服务器中的时间窗n是12:30-12:35,则可以确定待处理数据的生成时间所属的目标时间窗是该时间窗n。
步骤206:若到达时间超出目标时间窗,则从缓存中获取生成时间在该目标时间窗内的缓存数据。
其中,缓存数据可以仅包括服务器获取的生成时间与待处理数据在同一时间段的历史数据,或者,可以仅包括对上述历史数据进行处理得到的处理结果,或者,可以包括上述历史数据和处理结果。
在本申请实施例中,同一时间段生成的数据可能是在同一时间段到达服务器,也可能有些数据会超时,为了保证同一时间段生成的数据能够一起处理,对于没有超时的历史数据,可以实时进行处理,并将处理后得到的缓存数据存储至缓存中,且可以按照数据的生成时间对缓存数据进行存储,如此,根据生成时间所属的目标时间窗,可以获取到与待处理数据同一时间段生成的历史数据的缓存数据。
在实施中,与该待处理数据在同一个时间段生成的数据的生成时间均属于该目标时间窗,若这些数据没有超时,即其到达时间没有超过该目标时间窗,则这些数据均在该目标时间窗内进行处理,而超时的数据可能在其他的时间窗内进行处理。由此可见,超时的数据与未超时的数据处理方式不同,因此,为了确定如何对待处理数据进行处理,需要对待处理数据进行判断,以确定待处理数据是否已经超时。
在本实施例一种实施方式中,可以根据到达时间和目标时间窗来判断待处理数据是否超时。若到达时间超出目标时间窗,即到达时间大于目标时间窗的结束时刻,说明当该待处理数据到达服务器时该目标时间窗已经关闭,可以认为该待处理数据已经超时。由于同一个时间段生成的数据之间可能存在关联,为了增强数据之间的关联性,需要获取到生成时间与待处理时间在同一时间段的历史数据对应的缓存数据,但不一定存在满足该条件的历史数据,因此,需要判断缓存中是否存在生成时间在目标时间窗内的缓存数据。若是,可以从缓存中获取生成时间在目标时间窗内的缓存数据。
在一些实施例中,缓存中可以存储有多个缓存数据,且每个缓存数据可以携带有生成时间,该生成时间是该缓存数据对应的历史数据的生成时间。如此,可以根据多个缓存数据的生成时间和目标时间窗,从多个缓存数据中确定生成时间在目标时间窗内的缓存数据。
作为一种示例,缓存数据和生成时间可以以表格的形式存储在缓存中,则缓存中可以存储有一张表格,该表格中包括多个缓存数据以及每个缓存数据的生成时间;或者,可以将缓存数据和生成时间作为一个数据组存储至缓存中,则缓存中可以存储有多个数据组。
例如,假设目标时间窗是10:10-10:15,缓存内中存储有5个缓存数据,分别是缓存数据1、缓存数据2、缓存数据3、缓存数据4和缓存数据5,且缓存数据1携带的生成时间是10:11,缓存数据2携带的生成时间是10:12,缓存数据3携带的生成时间是10:12,缓存数据4携带的生成时间是10:16,缓存数据5携带的时间是10:20。如此可以确定10:11和10:12在目标时间窗内,进而可以确定缓存数据1、缓存数据2和缓存数据3是生成时间在目标时间窗内的缓存数据,因此可以获取缓存数据1、缓存数据2和缓存数据3。
在另一些实施例中,可以按照时间窗对缓存数据进行存储。具体的,可以将生成时间在同一个时间窗内的缓存数据存储在同一个缓存表,或者同一个缓存组中。如此,可以从缓存中确定该目标时间窗对应的缓存表,将该缓存表中存储的缓存数据确定为生成时间在目标时间窗内的缓存数据并获取。
示例性地,参见表1,表1是一种示例性的缓存表。表1是10:10-10:15时间窗对应的缓存表,该缓存表中包括4个缓存数据,以及每个缓存数据携带的生成时间。
表1
缓存数据 缓存数据1 缓存数据2 缓存数据3 缓存数据4
生成时间 10:11 10:11 10:12 10:14
例如,假设目标时间窗是10:10-10:15,缓存内存储有3个缓存表,分别是缓存表1、缓存表2和缓存表3,且缓存表1对应的时间窗是10:10-10:15,缓存表2对应的时间窗是10:00-10:05,缓存表3对应的时间窗是10:05-10:10。如此,可以确定缓存表1是目标时间窗对应的缓存表,则可以确定缓存表1中的缓存数据是生成时间在目标时间窗内的缓存数据,进而可以获取缓存表1中的缓存数据。
本申请实施例中,在待处理数据超出目标时间窗的情况下,可以认为待处理数据是超时的数据,无法在该目标时间窗内进行处理,而待处理数据之前的历史数据的到达时间早于该待处理数据,该历史数据可能已经处理完成,因此,可以从缓存中获取历史数据对应的缓存数据,以便于将该待处理数据和历史数据共同进行处理,提高处理结果的准确性。
需要说明的是,上述是在缓存中存在生成时间在目标时间窗内的缓存数据的情况下,可以获取缓存数据。在另一种实现方式中,若从缓存中未获取到生成时间在目标时间窗内的缓存数据,则在待处理数据的到达时间所属的时间窗内,对该待处理数据进行处理。
也就是说,若缓存中不存在与待处理数据同一时间段生成的历史数据对应的缓存数据,可以认为生成时间与该待处理数据的生成时间处于同一个时间段的数据可能不存在或者存在但均是超时未处理的数据,因此,可以在该待处理数据的到达时间所属的时间窗内对该待处理数据进行处理。
在一种实施方式中,若从缓存中未获取到生成时间在目标时间窗内的缓存数据,可以认为不存在与该待处理数据在同一个时间段生成的历史数据,即该待处理数据是该时间段生成的第一个数据,但该待处理数据超时了,因此,可以确定该到达时间所属的时间窗,并在该时间窗内对该待处理数据进行处理。
作为一种示例,可以将包括到达时间的时间窗确定为到达时间所属的时间窗,然后在该时间窗的触发时间到达时,对该时间窗内的所有数据(包括待处理数据)进行处理;或者,可以在该待处理数据到达之后,立刻在该时间窗内对该待处理数据进行处理;可以在获取到一定数量个数据(包括待处理数据)后,对该一定数量个数据进行处理。
其中,时间窗的触发时间是指对相应的时间窗内的数据进行处理的时间,在该时间之后获取的数据无法在该时间窗内处理。示例性地,触发时间可以是时间窗的结束时刻。
在另一种实施方式中,若从缓存中未获取到生成时间在目标时间窗内的缓存数据,可以认为与该待处理数据在同一个时间段生成的历史数据均超时且未处理,说明历史数据的到达时间可能和该待处理数据的到达时间属于同一个时间窗,因此,可以确定该到达时间所属的时间窗,并在该时间窗内对该待处理数据和该历史数据进行处理。
作为一种示例,可以将包括到达时间的时间窗确定为到达时间所属的时间窗,且在该时间窗的触发时间到达时,对该时间窗内的所有数据(包括历史数据和待处理数据)进行处理。
示例性地,假设服务器中存在10:00-10:05时间窗1,10:05-10:10的时间窗2,10:10-10:15时间窗3,且可以确定时间窗3包括10:12,则可以将该时间窗3确定为待处理数据的到达时间所属的时间窗,在该时间窗3内对待处理数据进行处理。
在一些实施例中,对待处理数据进行处理,可以是根据待处理数据的业务逻辑确定处理结果。待处理数据可以携带有业务标识,根据业务标识可以确定业务逻辑,根据业务逻辑对待处理数据进行处理,可以得到处理结果。
其中,业务标识可以用于唯一标识一个业务。例如,业务标识可以是数字、字母、符号、名称等,本实施例对此不作限定。
作为一种示例,服务器中可以存储有业务标识与业务逻辑的对应关系,且一个业务标识可以对应至少一个业务逻辑,因此,根据待处理数据携带的业务标识可以确定至少一个业务逻辑,然后根据每个业务逻辑对待处理数据进行处理。
其中,业务逻辑由开发人员根据业务需求设置。
例如,假设待处理数据携带的业务标识是下单,在上述对应关系中,与下单对应的业务逻辑包括统计5分钟内下单数量和统计5分钟内下单总金额,因此,对待处理数据进行处理可以是根据待处理数据确定5分钟内下单数量,并且根据待处理数据确定5分钟内下单总金额。
本申请实施例中,在待处理数据超出目标时间窗的情况下,可以认为待处理数据是超时的数据,若缓存中不包括与待处理数据在同一时间段生成的历史数据对应的缓存数据,则可以在该待处理数据的到达时间所属的时间窗内对该待处理数据进行处理,不需要再获取其他数据,可以提高数据处理的效率。
步骤208:基于缓存数据和待处理数据,确定目标时间窗内数据的处理结果。
作为一种示例,缓存数据与历史数据对应的,该缓存数据中可以包括历史数据和/或处理结果。并且,缓存数据包括的数据不同,本步骤的实现方式不同。若缓存数据中包括历史数据,则可以对历史数据和待处理数据一起进行处理,得到目标时间窗内数据的处理结果;若缓存数据中包括处理结果,则可以对待处理数据进行处理得到处理结果,对该处理结果与历史数据的处理结果进行处理,得到目标时间窗内数据的处理结果。因此,本步骤可以包括两种实现方式。
第一种实现方式:缓存数据包括生成时间在目标时间窗内的历史数据的处理结果;本步骤的具体实现可以包括:在待处理数据的到达时间所属的时间窗内,对待处理数据进行处理,确定该待处理数据的处理结果;识别待处理数据和历史数据携带的业务标识,确定该业务标识指示的业务逻辑;基于该业务逻辑,对待处理数据的处理结果和历史数据的处理结果进行处理,得到该目标时间窗内数据的处理结果。
也就是说,在缓存数据包括历史数据的处理结果的情况下,可以在待处理数据的到达时间所属的窗口内对待处理数据进行处理,得到待处理数据的处理结果。并且根据业务的业务逻辑对待处理数据的处理结果和历史数据的处理结果进行处理,以得到目标时间窗内数据的处理结果。
在一些实施例中,服务器获取到的数据不仅携带生成时间和到达时间,还可以携带业务标识。根据服务器中存储的业务标识与业务逻辑的对应关系,可以确定与业务标识对应的业务逻辑,基于业务逻辑对待处理数据的处理结果和历史数据的处理结果进行处理,则可以得到目标时间窗内数据的处理结果。
作为一种示例,服务器中可以存储有业务标识与业务逻辑的对应关系,且一个业务标识可以对应至少一个业务逻辑,因此,根据待处理数据携带的业务标识可以确定至少一个业务逻辑,然后根据每个业务逻辑对待处理数据进行处理。
例如,假设待处理数据和历史数据均是10:10-10:15这一时间段生成的数据,业务标识是转账,与该业务标识对应的业务逻辑是统计5分钟内账号M的转账数额,假设该5分钟内包括一条历史数据,且历史数据是账号M向账号A转账200元,待处理数据是账号M向账号B转账100元,则历史数据的处理结果是账号M转出200,待处理数据的处理结果是账号M转出100,则可以确定目标时间窗内数据的处理结果是账号M转出300元,进而可以确定10:10-10:15这5分钟内的账号M的转账数额是-300元。
在该第一种实现方式中,缓存数据包括历史数据的处理结果,说明历史数据已经被处理,即本方案中不需要等待,可以在超时的待处理数据未到达时对历史数据进行处理,提高了数据处理的实时性。并且,将历史数据和待处理数据在同一个时间窗内分开进行处理,分别得到处理结果,再对历史数据的处理结果和待处理数据的处理结果进行处理,得到目标时间窗内的处理结果,如此能够得到每条数据的处理结果,便于后续查询。
第二种实现方式:缓存数据包括生成时间在目标时间窗内的历史数据;本步骤的具体实现可以包括:在待处理数据的到达时间所属的时间窗内,对待处理数据和历史数据进行处理,得到该目标时间窗内数据的处理结果。
也就是说,在缓存数据包括历史数据的情况下,可以对历史数据和待处理数据进行处理,以得到目标时间窗内数据的处理结果。
作为一种示例,缓存数据包括历史数据,可以认为未对历史数据进行处理,能够避免对历史数据进行重复处理,浪费服务器处理资源。
在一些实施例中,服务器获取到的数据不仅携带生成时间和到达时间,还可以携带业务标识。根据服务器中存储的业务标识与业务逻辑的对应关系,可以确定与业务标识对应的业务逻辑,基于业务逻辑对待处理数据的处理结果和历史数据的处理结果进行处理,则可以得到目标时间窗内数据的处理结果。
作为一种示例,服务器中可以存储有业务标识与业务逻辑的对应关系,且一个业务标识可以对应至少一个业务逻辑,因此,根据待处理数据携带的业务标识可以确定至少一个业务逻辑,然后根据业务逻辑对待处理数据进行处理。
在实施中,对待处理数据和历史数据进行处理可以包括两种实现方式,一种是分开处理,一种是融合处理。
在一种实现方式中,可以对历史数据和待处理数据分别进行处理。即可以对每条数据单独进行处理,然后将每条数据的处理结果按照业务逻辑进行处理,可以得到目标时间窗内数据的处理结果。
需要说明的是,对每条数据单独做处理的实现过程与第一种实现方式中对待处理数据进行处理的过程雷同,其具体实现可以参见第一种实现方式中的相关描述,本申请实施例对此不作限定。
在另一种实现方式中,可以将历史数据和待处理数据进行融合,对融合后的数据进行处理。作为一种示例,可以按照业务逻辑对历史数据和待处理数据进行融合,得到融合数据并进行处理。
例如,假设待处理数据和历史数据均是10:10-10:15这一时间段生成的数据,业务逻辑是统计5分钟内账号M的转账数额,假设该5分钟内包括两条历史数据,且一个历史数据是账号A向账号M转账500元,另一个历史数据是账号M向账号B转账200元,待处理数据是账号M向账号C转账100元,根据业务逻辑可以确定融合数据是账号M转入200元,则对该融合数据进行处理,可以确定目标时间窗内数据的处理结果是账号M转入200元,进而可以确定10:10-10:15这5分钟内账号M的转账数额是200元。
在该第二种实现方式中,缓存数据包括历史数据,可以认为该历史数据没有被处理,则可以在同一个窗口内对历史数据和待处理数据进行处理,能够考虑到数据之间的关联性,得到更加符合业务需求的处理结果。
需要说明的是,对待处理数据和历史数据进行处理,可以是在待处理数据的到达时间所属的时间窗内进行处理,也可以是在待处理数据的到达时间所属的时间窗之后的任一时间窗内进行处理,本申请实施例对此不作限定。
进一步地,为了在处理超时数据时能考虑到历史数据,本申请实施例可以将待处理数据和其处理结果存储至缓存中,并且,可以在不同的时机进行存储。在一种实施方式中,获取待处理数据之后,还包括:将待处理数据存储至缓存中;或者,基于缓存数据和待处理数据,确定目标窗口内数据的处理结果之后,还包括:将待处理数据和/或目标窗口内数据的处理结果存储至缓存中。
也就是说,本申请实施例中,可以在获取到待处理数据后便将待处理数据存储至缓存中。或者,在确定目标时间窗内数据的处理结果后,将待处理数据存储至缓存中,或者,将目标时间窗内数据的处理结果存储至缓存中,或者,将待处理数据和目标时间窗内的处理结果均存储至缓存中。
在一些实施例,若仅存储待处理数据至缓存中,若后续又接收到超时且与该待处理数据同一时间段生成的数据,则在确定目标时间窗内数据的处理结果时采用上述第二种实现方式。若仅存储处理结果至缓存中,若后续又接收到超时且与该待处理数据同一时间段生成的数据,则在确定目标时间窗内数据的处理结果时可以采用上述第一种实现方式。若将待处理数据和处理结果均存储至缓存中,若后续又接收到超时且与该待处理数据同一时间段生成的数据,则在确定目标时间窗内数据的处理结果时采用上述任一种实现方式。
作为一种示例,可以将待处理数据和处理结果均作为缓存数据,且按照步骤206的方式将待处理数据和/或处理结果存储至缓存中,具体实现可以参见步骤206的相关描述,本实施例对此不再赘述。
本申请通过缓存来存储历史数据对应的缓存数据,如此才能够在获取到超时的待处理数据时从缓存中获取缓存数据,以将同一时间段生成的历史数据和待处理数据在同一时间窗内处理,考虑到了数据之间的关联性,提高了处理结果的准确性。
需要说明的是,上述描述是在待处理数据是超时的数据的情况下,对待处理数据进行处理的过程。接下来对待处理数据没有超时的情况下的处理过程进行描述。
在一种可能的实现方式中,确定生成时间所属的目标时间窗之后,还包括:若到达时间在该目标时间窗内,则对待处理数据进行处理。
也就是说,确定目标时间窗之后,可以根据到达时间和目标时间窗来判断待处理数据是否超时。若到达时间在目标时间窗内,说明该待处理数据的生成时间与到达时间在同一个时间段,则可以认为该待处理数据不是超时的数据,因此,不需要获取其他数据,可以对该待处理数据进行处理。
示例性地,假设目标时间窗是10:10-10:15,待处理数据的生成时间是10:11,到达时间是10:12,且10:12处于10:10-10:15这一时间段,则可以确定到达时间未超过该目标时间窗,因此可以确定待处理数据不是超时的数据,可以对该待处理数据进行处理。
在一些实施例中,对待处理数据进行处理的具体实现可以包括:在目标时间窗的结束时刻,对该待处理数据进行处理。
在该种实现方式中,在目标时间窗的结束时刻对待处理数据进行处理,如此可以确保能够在该目标时间窗内处理的所有数据均获取到才进行处理,可以保证数据的完整性。
在另一些实施例中,若确定待处理数据的到达时间在目标时间窗口内,可以认为该待处理数据是超时的数据,并且直接在到达时间所属的时间窗内对该待处理数据进行处理。
在该种实现方式中,每获取到一个待处理数据,可以根据该待处理数据的到达时间确定该待处理数据是否是超时的数据,若不是,可以根据待处理数据的到达时间确定能够该待处理数据的时间窗,且不用等待时间窗的触发时间或结束时刻,并在确定的时间窗内处理该待处理数据。如此,每获取到一个待处理数据便进行一次数据处理,不仅能够提高数据处理效率,而且可以提高数据处理的实时性。
进一步地,在待处理数据不是超时的数据时,对待处理数据进行处理后,可以将处理结果和/或待处理数据存储至缓存中。其具体实现可以参见上述实施例的相关描述,本实施例对此不再赘述。
需要说明的是,在本申请实施例中,无论待处理数据是否超时,无论缓存中是否包括生成时间在目标时间窗内的缓存数据,对待处理数据进行处理后,均需要将待处理数据和/或处理结果存储至缓存中,以便于后续处理时可以取用。
在本方案中,获取到待处理数据后,可以先确定该待处理数据的生成时间所属的目标时间窗,通常情况下,与该待处理数据在同一时间段生成的数据若没有超时均在该目标时间窗内进行处理,为了确定如何对该待处理数据进行处理,可以先判断待处理数据是否超时。在该待处理数据的到达时间超出该目标时间窗的情况下,可以认为该待处理数据已经超时,由于同一时间段生成的数据之间可能存在关联,且本方案中数据被处理后得到的缓存数据可以存储在缓存中,因此,在处理待处理数据之前,可以从缓存中获取生成时间在目标时间窗内的缓存数据,即获取与该待处理数据同一时间段生成的数据的缓存数据,根据缓存数据和待处理数据,可以确定目标时间窗内数据的处理结果,即将同一时间段生成的数据同时进行处理,且得到的处理结果与目标时间窗对应,考虑到了数据之间的关联性,使得得到的处理结果能够满足业务需求。另外,本方案对于没有超时的数据均在目标时间窗内进行处理,而不是等待该待处理数据到达后才进行处理,提高了数据处理的实时性,且对于超时的待处理数据没有丢弃,而是将待处理数据与历史数据一起进行处理,提高了处理结果的准确性。
下述结合图3,以本说明书提供的实时计算中数据超时的处理方法在转账业务的应用为例,对实时计算中数据超时的处理方法进行进一步说明。其中,图3示出了本说明书一实施例提供的一种应用于转账业务的实时计算中数据超时的处理方法的处理流程图,具体包括以下步骤:
步骤302:获取待处理转账数据。
其中,待处理转账数据携带生成时间和到达时间。
作为一种示例,假设待处理转账数据1是账号M向账号A转账100元,其生成时间是12:31,到达时间是12:36。
作为另一种示例,假设待处理转账数据2是账号A向账号M转账100元,其生成时间是12:41,到达时间是12:42。
需要说明的是,步骤302与上述步骤202的实现过程雷同,其具体实现可以参见步骤202的相关描述,本实施例在此不再赘述。
步骤304:确定该生成时间所属的目标时间窗。
继续上述一种示例,可以确定目标时间窗12:30-12:35。
继续上述另一种示例,可以确定目标时间窗12:40-12:45。
需要说明的是,步骤304与上述步骤204的实现过程雷同,其具体实现可以参见步骤204的相关描述,本实施例在此不再赘述。
步骤306:判断到达时间是否超出目标时间窗,若是,执行步骤308,若否,执行步骤322。
继续上述一种示例,则可以确定到达时间超过目标时间窗,执行步骤308。
继续上述另一种示例,则可以确定到达时间未超出目标时间窗,执行步骤322。
步骤308:判断缓存中是否包括生成时间在目标时间窗内的缓存数据,若是,执行步骤310,若否,执行步骤320。
继续上述一种示例,假设在该待处理转账数据1之前存在在12:30-12:35生成的历史转账数据,则缓存中包括缓存数据,执行步骤310。
步骤310:从缓存中获取生成时间在目标时间窗内的缓存数据。
继续上述一种示例,从缓存中获取生成时间在12:30-12:35的缓存数据。
需要说明的是,步骤306-步骤310是对步骤206的下位描述,其具体实现可以参见步骤206的相关描述,本实施例在此不再赘述。
步骤312:若缓存数据包括生成时间在目标时间窗内的历史转账数据的处理结果,在待处理转账数据的到达时间所属的时间窗内,对待处理转账数据进行处理,确定待处理转账数据的处理结果。
继续上述一种示例,假设历史转账数据的数量是一个,且该历史转账数据的处理结果是账号M转出200元,在到达时间12:36所属的时间窗12:36-12:40内处理该待处理转账数据1,则待处理转账数据1的处理结果是账号M转出100元。
步骤314:识别待处理转账数据和历史转账数据携带的业务标识,确定业务标识指示的业务逻辑。
步骤316:基于业务逻辑,对待处理转账数据的处理结果和历史转账数据的处理结果进行处理,得到目标时间窗内转账数据的处理结果,并将待处理转账数据和/或目标时间窗内转账数据的处理结果存储至缓存中。
继续上述一种示例,业务标识是转账,假设确定的业务逻辑是统计12:30-12:35这段时间内账号M的转账数额,则可以根据历史转账数据的处理结果账号M转出200元,和待处理转账数据1的处理结果账号M转出100元,可以确定目标时间窗内转账数据的处理结果是账号M转出300元,进而可以确定12:30-12:35这段时间内账号M的转账数额是-300元。并且,可以将待处理转账数据和/或账号M转出300元存储至缓存中12:30-12:35时间窗对应的缓存表中。
步骤318:若缓存数据包括生成时间在目标时间窗内的历史转账数据,在待处理转账数据的到达时间所属的时间窗内,对待处理转账数据和历史转账数据进行处理,得到目标时间窗内转账数据的处理结果,并将待处理转账数据和/或目标时间窗内转账数据的处理结果存储至缓存中。
继续上述一种示例,假设历史转账数据是账号M向账号C转账100元,且该待处理转账数据是账号M向账号A转账100元,假设确定的业务逻辑是统计12:30-12:35这段时间内账号M的转账数额,则对待处理转账数据和历史转账数据进行融合,可以得到融合数据是账号M转出100元,则可以确定目标时间窗内转账数据的处理结果是账号M转出100元,进而可以确定12:30-12:35这段时间内账号M的转账数额是-100元。并且,可以将待处理转账数据和/或账号M转出100元存储至缓存中12:30-12:35时间窗对应的缓存表中。
需要说明的是,步骤318与步骤312是并列的关系。
需要说明的是,步骤312-步骤318是对步骤208的下位描述,其具体实现可以参见步骤208的相关描述,本实施例在此不再赘述。
步骤320:在待处理转账数据的到达时间所属的时间窗内,对待处理转账数据进行处理,并将待处理转账数据和/或目标时间窗内转账数据的处理结果存储至缓存中。
假设待处理转账数据1之前不存在在12:30-12:35生成的历史转账数据,则缓存中不包括缓存数据,可以在待处理转账数据1的到达时间12:36所属的时间窗内对待处理转账数据1进行处理,得到处理结果是账号M转出100元。并且,可以将待处理转账数据和/或账号M转出100元存储至缓存中12:30-12:35时间窗对应的缓存表中。
需要说明的是,步骤320是对步骤206中缓存内没有缓存数据的情况的描述,其具体实现可以参见步骤206的相关描述,本实施例在此不再赘述。
步骤322:在目标时间窗的结束时刻,对待处理转账数据进行处理,并将待处理转账数据和/或目标时间窗内转账数据的处理结果存储至缓存中。
继续上述另一种示例,在目标时间窗12:40-12:45的结束时刻12:45对待处理转账数据2进行处理,可以得到处理结果是账号A转出100元,并且,可以将待处理转账数据和/或账号A转出100元存储至缓存中12:40-12:45时间窗对应的缓存表中。
需要说明的是,步骤322是对步骤208中没有超时的待处理数据的处理过程的描述,其具体实现可以参见步骤208的相关描述,本实施例在此不再赘述。
参见图4,图4是根据一示例性实施例示出的一种实时计算中数据超时的处理方法的示意图,接下来结合图4对该实时计算中数据超时的处理方法进行说明。在图4中,服务器在不同的时间从客户端获取到5个待处理数据,分别是数据1、数据2、数据3、数据4和数据5,且每个数据携带有两个时间e和p,其中e表示事件时间或称为生成时间,p表示数据处理时间或称为到达时间,服务器中时间窗是按照时间间隔5分钟来划分得到的。由图4可知,数据1的生成时间是10:11,到达时间是10:12,数据2的生成时间是10:12,到达时间是10:13,数据3的生成时间是10:12,到达时间是10:14,数据4的生成时间是10:16,到达时间是10:16,数据5的生成时间是10:11,到达时间是10:21。对于数据1,其生成时间所属的目标时间窗是窗口1,窗口1的时间区间是10:10-10:15,计算触发时间是10:15,且数据1的到达时间没有超过该窗口1,可以认为与该数据1在同一时间段生成且生成时间在数据1之前的数据都可以在该窗口1内处理,则确定数据1可以在该窗口1进行处理,同理数据2和数据3也可以在窗口1处理,并且缓存中不包括该窗口1的缓存数据,可以在10:15对数据1、数据2和数据3进行处理,输出处理结果3,并且可以将数据1、数据2和数据3存储至缓存中10:10-10:15对应的缓存表中。对于数据4,其生成时间所属的目标时间窗是窗口2,窗口2的时间区间是10:15-10:20,计算触发时间是10:20,且数据4的到达时间没有超过该窗口2,可以认为与该数据4在同一时间段生成且生成时间在数据4之前的数据都可以在该窗口4内处理,确定数据4可以在该窗口2进行处理,可以在10:20对该数据4进行处理,输出处理结果1,并且可以将该数据4存储至缓存中10:15-10:20对应的缓存表中。对于数据5,该数据5的生成时间在窗口1内,且到达时间超出窗口1,可以从缓存中获取数据1、数据2和数据3,根据数据5的到达时间确定到达时间所属的时间窗是窗口3,则可以将数据1、数据2、数据3和数据5一起在窗口3内进行处理,输出处理结果4,并且可以继续将数据1、数据2、数据3和数据5存储至缓存中10:10-10:15对应的缓存表中。
在本方案中,获取到待处理转账数据后,可以先确定该待处理转账数据的生成时间所属的目标时间窗,通常情况下,与该待处理转账数据在同一时间段生成的转账数据若没有超时均在该目标时间窗内进行处理,为了确定如何对该待处理转账数据进行处理,可以先判断待处理转账数据是否超时。在该待处理转账数据的到达时间超出该目标时间窗的情况下,可以认为该待处理转账数据已经超时,由于同一时间段生成的转账数据之间可能存在关联,且本方案中转账数据被处理后得到的缓存数据可以存储在缓存中,因此,在处理待处理转账数据之前,可以从缓存中获取生成时间在目标时间窗内的缓存数据,即获取与该待处理转账数据同一时间段生成的转账数据的缓存数据,根据缓存数据和待处理转账数据,可以确定目标时间窗内转账数据的处理结果,即将同一时间段生成的转账数据同时进行处理,且得到的处理结果与目标时间窗对应,考虑到了转账数据之间的关联性,使得得到的处理结果能够满足业务需求。另外,本方案对于没有超时的转账数据均在目标时间窗内进行处理,而不是等待该待处理转账数据到达后才进行处理,提高了数据处理的实时性,且对于超时的待处理转账数据没有丢弃,而是将待处理转账数据与历史转账数据一起进行处理,提高了处理结果的准确性。
与上述方法实施例相对应,本说明书还提供了实时计算中数据超时的处理装置实施例,图5示出了本说明书一实施例提供的一种实时计算中数据超时的处理装置的结构示意图。如图5所示,该装置可以包括:
第一获取模块502,被配置为获取待处理数据,其中,所述待处理数据携带生成时间和到达时间;
第一确定模块504,被配置为确定所述生成时间所属的目标时间窗;
第二获取模块506,被配置为若所述到达时间超出所述目标时间窗,则从缓存中获取生成时间在所述目标时间窗内的缓存数据;
第二确定模块508,被配置为基于所述缓存数据和所述待处理数据,确定所述目标时间窗内数据的处理结果。
可选地,所述缓存数据包括生成时间在所述目标时间窗内的历史数据的处理结果;
第二确定模块508,被配置为:
在所述待处理数据的到达时间所属的时间窗内,对所述待处理数据进行处理,确定所述待处理数据的处理结果;
识别所述待处理数据和所述历史数据携带的业务标识,确定所述业务标识指示的业务逻辑;
基于所述业务逻辑,对所述待处理数据的处理结果和所述历史数据的处理结果进行处理,得到所述目标时间窗内数据的处理结果。
可选地,所述缓存数据包括生成时间在所述目标时间窗内的历史数据;
第二确定模块508,被配置为:
在所述待处理数据的到达时间所属的时间窗内,对所述待处理数据和所述历史数据进行处理,得到所述目标时间窗内数据的处理结果。
可选地,第一确定模块504,还被配置为:
若所述到达时间在所述目标时间窗内,则对所述待处理数据进行处理。
可选地,第一确定模块504,还被配置为:
在所述目标时间窗的结束时刻,对所述待处理数据进行处理。
可选地,第一获取模块502,还被配置为:
将所述待处理数据存储至缓存中;
或者,
第二确定模块508,还被配置为:
将所述待处理数据和/或所述目标时间窗内数据的处理结果存储至缓存中。
可选地,所述装置还包括:
处理模块,被配置为若从缓存中未获取到生成时间在所述目标时间窗内的缓存数据,则在所述待处理数据的到达时间所属的时间窗内,对所述待处理数据进行处理。
本说明书提供的实时计算中数据超时的处理装置,获取待处理数据,其中,所述待处理数据携带生成时间和到达时间;确定所述生成时间所属的目标时间窗;若所述到达时间超出所述目标时间窗,则从缓存中获取生成时间在所述目标时间窗内的缓存数据;基于所述缓存数据和所述待处理数据,确定所述目标时间窗内数据的处理结果。也即是,在本方案中,获取到待处理数据后,可以先确定该待处理数据的生成时间所属的目标时间窗,为了确定待处理数据是否可以在该目标时间窗内进行处理,可以先判断待处理数据是否超时。在该待处理数据的到达时间超出该目标时间窗的情况下,可以认为该待处理数据已经超时,由于同一时间段生成的数据之间可能存在关联,且本方案中数据被处理后得到的缓存数据可以存储在缓存中,因此,在处理待处理数据之前,可以从缓存中获取与该待处理数据同一时间段生成的历史数据的缓存数据,根据缓存数据和待处理数据,可以确定目标时间窗内数据的处理结果,即将同一时间段生成的数据同时进行处理,且得到的处理结果与目标时间窗对应,考虑到了数据之间的关联性,使得得到的处理结果能够满足业务需求。另外,本方案不是等待该待处理数据到达后才对同一时间段生成的数据进行处理,提高了数据处理的实时性,且对于超时的待处理数据没有丢弃,而是将待处理数据与历史数据一起进行处理,提高了处理结果的准确性。
上述为本实施例的一种实时计算中数据超时的处理装置的示意性方案。需要说明的是,该实时计算中数据超时的处理装置的技术方案与上述的实时计算中数据超时的处理方法的技术方案属于同一构思,实时计算中数据超时的处理装置的技术方案未详细描述的细节内容,均可以参见上述实时计算中数据超时的处理方法的技术方案的描述。
图6示出了根据本说明书一实施例提供的一种计算设备600的结构框图。该计算设备600的部件包括但不限于存储器610和处理器620。处理器620与存储器610通过总线630相连接,数据库650用于保存数据。
计算设备600还包括接入设备640,接入设备640使得计算设备600能够经由一个或多个网络660通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备640可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备600的上述部件以及图6中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图6所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备600可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备600还可以是移动式或静止式的服务器。
其中,处理器620用于执行如下计算机可执行指令:
获取待处理数据,其中,待处理数据携带生成时间和到达时间;
确定该生成时间所属的目标时间窗;
若该到达时间超出该目标时间窗,则从缓存中获取生成时间在该目标时间窗内的缓存数据;
基于该缓存数据和该待处理数据,确定该目标时间窗内数据的处理结果。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的实时计算中数据超时的处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述实时计算中数据超时的处理方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时以用于:
获取待处理数据,其中,待处理数据携带生成时间和到达时间;
确定该生成时间所属的目标时间窗;
若该到达时间超出该目标时间窗,则从缓存中获取生成时间在该目标时间窗内的缓存数据;
基于该缓存数据和该待处理数据,确定该目标时间窗内数据的处理结果。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的实时计算中数据超时的处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述实时计算中数据超时的处理方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书并不受所描述的动作顺序的限制,因为依据本说明书,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。

Claims (10)

1.一种实时计算中数据超时的处理方法,其特征在于,包括:
获取待处理数据,其中,所述待处理数据携带生成时间和到达时间;
确定所述生成时间所属的目标时间窗;
若所述到达时间超出所述目标时间窗,则从缓存中获取生成时间在所述目标时间窗内的缓存数据;
基于所述缓存数据和所述待处理数据,确定所述目标时间窗内数据的处理结果。
2.如权利要求1所述的实时计算中数据超时的处理方法,其特征在于,所述缓存数据包括生成时间在所述目标时间窗内的历史数据的处理结果;
基于所述缓存数据和所述待处理数据,确定所述目标时间窗内数据的处理结果,包括:
在所述待处理数据的到达时间所属的时间窗内,对所述待处理数据进行处理,确定所述待处理数据的处理结果;
识别所述待处理数据和所述历史数据携带的业务标识,确定所述业务标识指示的业务逻辑;
基于所述业务逻辑,对所述待处理数据的处理结果和所述历史数据的处理结果进行处理,得到所述目标时间窗内数据的处理结果。
3.如权利要求1所述的实时计算中数据超时的处理方法,其特征在于,所述缓存数据包括生成时间在所述目标时间窗内的历史数据;
基于所述缓存数据和所述待处理数据,确定所述目标时间窗内数据的处理结果,包括:
在所述待处理数据的到达时间所属的时间窗内,对所述待处理数据和所述历史数据进行处理,得到所述目标时间窗内数据的处理结果。
4.如权利要求1所述的实时计算中数据超时的处理方法,其特征在于,确定所述生成时间所属的目标时间窗之后,还包括:
若所述到达时间在所述目标时间窗内,则对所述待处理数据进行处理。
5.如权利要求4所述的实时计算中数据超时的处理方法,其特征在于,对所述待处理数据进行处理,包括:
在所述目标时间窗的结束时刻,对所述待处理数据进行处理。
6.如权利要求1所述的实时计算中数据超时的处理方法,其特征在于,获取待处理数据之后,还包括:
将所述待处理数据存储至缓存中;
或者,
基于所述缓存数据和所述待处理数据,确定所述目标时间窗内数据的处理结果之后,还包括:
将所述待处理数据和/或所述目标时间窗内数据的处理结果存储至缓存中。
7.如权利要求1所述的实时计算中数据超时的处理方法,其特征在于,所述方法还包括:
若从缓存中未获取到生成时间在所述目标时间窗内的缓存数据,则在所述待处理数据的到达时间所属的时间窗内,对所述待处理数据进行处理。
8.一种实时计算中数据超时的处理装置,其特征在于,包括:
第一获取模块,被配置为获取待处理数据,其中,所述待处理数据携带生成时间和到达时间;
第一确定模块,被配置为确定所述生成时间所属的目标时间窗;
第二获取模块,被配置为若所述到达时间超出所述目标时间窗,则从缓存中获取生成时间在所述目标时间窗内的缓存数据;
第二确定模块,被配置为基于所述缓存数据和所述待处理数据,确定所述目标时间窗内数据的处理结果。
9.一种计算设备,其特征在于,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,以实现下述方法:
获取待处理数据,其中,所述待处理数据携带生成时间和到达时间;
确定所述生成时间所属的目标时间窗;
若所述到达时间超出所述目标时间窗,则从缓存中获取生成时间在所述目标时间窗内的缓存数据;
基于所述缓存数据和所述待处理数据,确定所述目标时间窗内数据的处理结果。
10.一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现权利要求1至7任意一项所述实时计算中数据超时的处理方法的步骤。
CN202110557272.1A 2021-05-21 实时计算中数据超时的处理方法及装置 Active CN113204387B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110557272.1A CN113204387B (zh) 2021-05-21 实时计算中数据超时的处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110557272.1A CN113204387B (zh) 2021-05-21 实时计算中数据超时的处理方法及装置

Publications (2)

Publication Number Publication Date
CN113204387A true CN113204387A (zh) 2021-08-03
CN113204387B CN113204387B (zh) 2024-06-11

Family

ID=

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114996261A (zh) * 2022-08-05 2022-09-02 深圳市深蓝信息科技开发有限公司 基于ais数据的去重方法、装置、终端设备及存储介质
CN116481560A (zh) * 2023-06-21 2023-07-25 天津所托瑞安汽车科技有限公司 车辆行驶里程的计算方法、装置、终端及存储介质
WO2023231281A1 (zh) * 2022-05-30 2023-12-07 深圳前海微众银行股份有限公司 数据处理方法、装置及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106911589A (zh) * 2015-12-22 2017-06-30 阿里巴巴集团控股有限公司 一种数据处理方法和设备
CN109597678A (zh) * 2018-10-09 2019-04-09 阿里巴巴集团控股有限公司 任务处理方法及装置
CN110019386A (zh) * 2017-09-05 2019-07-16 中国移动通信有限公司研究院 一种流数据处理方法及设备
CN110990438A (zh) * 2019-12-09 2020-04-10 北京明略软件系统有限公司 数据处理方法、装置、电子设备和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106911589A (zh) * 2015-12-22 2017-06-30 阿里巴巴集团控股有限公司 一种数据处理方法和设备
CN110019386A (zh) * 2017-09-05 2019-07-16 中国移动通信有限公司研究院 一种流数据处理方法及设备
CN109597678A (zh) * 2018-10-09 2019-04-09 阿里巴巴集团控股有限公司 任务处理方法及装置
CN110990438A (zh) * 2019-12-09 2020-04-10 北京明略软件系统有限公司 数据处理方法、装置、电子设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BAKKEN DAVID E. 等: "Smart generation and transmission with coherent, real-time data", 《PROCEEDINGS OF THE IEEE》, vol. 99, no. 6, 16 May 2011 (2011-05-16), pages 928 - 951 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023231281A1 (zh) * 2022-05-30 2023-12-07 深圳前海微众银行股份有限公司 数据处理方法、装置及电子设备
CN114996261A (zh) * 2022-08-05 2022-09-02 深圳市深蓝信息科技开发有限公司 基于ais数据的去重方法、装置、终端设备及存储介质
CN114996261B (zh) * 2022-08-05 2022-10-28 深圳市深蓝信息科技开发有限公司 基于ais数据的去重方法、装置、终端设备及存储介质
CN116481560A (zh) * 2023-06-21 2023-07-25 天津所托瑞安汽车科技有限公司 车辆行驶里程的计算方法、装置、终端及存储介质
CN116481560B (zh) * 2023-06-21 2023-10-03 天津所托瑞安汽车科技有限公司 车辆行驶里程的计算方法、装置、终端及存储介质

Similar Documents

Publication Publication Date Title
US11244232B2 (en) Feature relationship recommendation method, apparatus, computing device, and storage medium
CN109118360B (zh) 区块链对账方法、装置、设备及存储介质
US11210014B2 (en) Method and apparatus for processing I/O information of data, method and apparatus for analyzing I/O information of data, and related devices
CN111782901A (zh) 数据采集方法以及装置
CN114398520A (zh) 数据检索方法、系统、装置、电子设备及存储介质
CN114791927A (zh) 一种数据分析方法和装置
CN113204387A (zh) 实时计算中数据超时的处理方法及装置
CN113204387B (zh) 实时计算中数据超时的处理方法及装置
CN107463487A (zh) 一种分布式主机性能采集系统及性能采集方法
CN107526808B (zh) 实时数据处理方法及装置
CN115412592A (zh) 业务处理系统以及方法
CN110855755B (zh) 一种消息推送方法
CN113407491A (zh) 数据处理方法及装置
CN111611337B (zh) 终端数据处理系统
CN114222028A (zh) 语音识别方法、装置、计算机设备和存储介质
CN113542406A (zh) 一种系统间消息的异步处理系统
CN111757115A (zh) 一种视频流处理方法及装置
CN112989078A (zh) 数据处理方法、装置、计算机设备及存储介质
CN110309176A (zh) 一种数据处理方法和数据中转站
TWI487414B (zh) Mobile network dynamic selection paging method
CN114661563B (zh) 基于流处理框架的数据处理方法以及系统
US11928013B2 (en) Image analysis of data logs
CN116846967B (zh) 一种千万级用户消息快速推送方法、装置及设备
CN112714057B (zh) 即时消息处理方法、装置、设备及存储介质
CN113268363B (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
CB02 Change of applicant information

Address after: 519000 Room 102, 202, 302 and 402, No. 325, Qiandao Ring Road, Tangjiawan Town, high tech Zone, Zhuhai City, Guangdong Province, Room 102 and 202, No. 327 and Room 302, No. 329

Applicant after: Zhuhai Jinshan Digital Network Technology Co.,Ltd.

Address before: 519000 Room 102, 202, 302 and 402, No. 325, Qiandao Ring Road, Tangjiawan Town, high tech Zone, Zhuhai City, Guangdong Province, Room 102 and 202, No. 327 and Room 302, No. 329

Applicant before: ZHUHAI KINGSOFT ONLINE GAME TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant