一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据处理方法、装置、设备及存储介质与流程

2023-03-09 08:10:51 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,尤其涉及一种数据处理方法、装置、设备及存储介质。


背景技术:

2.在对业务系统数据进行处理时,数据的时效性对于企业和用户的意义显得越来越重要。用户分析的所需数据在源端产生后,可以在秒级以内开始进行实时计算,并将处理后的结果存入持久化层,提供用户可视化分析。存储的数据可以是秒频粒度、分频粒度以及更大的粒度。极大的提升了数据时效性。在网点某些业务场景下,需要通过时间窗口对数据的计算进行限制。如果直接依据系统时间设定时间窗口,会因为流数据的无界、无序等特性造成数据不准确,所以一般采取依据事件时间设定窗口。
3.但是,基于事件时间的窗口,当处于业务低谷时,有一部分计算结果进入窗口之后,由于没有业务数据进入,该窗口将一直等待,直到有新的结算结果的事件时间大于该窗口的结束时间,才会触发结果持久化,如果该窗口后续一直没有计算结果发生,那么等待的时间可视作数据时效性的降低。因此,如何及时对数据进行处理成为有待解决的技术问题。


技术实现要素:

4.本发明提供了一种数据处理方法、装置、设备及存储介质,以解决数据处理不及时的问题。
5.根据本发明的一方面,提供了一种数据处理方法,包括:
6.获取上一算子传输业务数据的当前流速,根据所述当前流速确定当前算子的常规窗口的当前等待时间阈值;
7.根据所述常规窗口写入业务数据的进度确定当前等待时间,当所述当前等待时间大于所述等待时间阈值时,生成临时窗口;
8.将所述常规窗口中的阻塞业务数据写入到所述临时窗口,并基于当前算子对所述临时窗口中的业务数据进行处理,以得到临时处理结果;
9.在确定所述常规窗口满足窗口结束条件时,基于所述当前算子对所述常规窗口中的业务数据进行处理,以得到常规处理结果,且采用所述常规处理结果覆盖所述临时处理结果。
10.根据本发明的另一方面,提供了一种数据处理装置,包括:
11.流速获取模块,用于获取上一算子传输业务数据的当前流速,根据所述当前流速确定当前算子的常规窗口的当前等待时间阈值;
12.窗口生成模块,用于根据所述常规窗口写入业务数据的进度确定当前等待时间,当所述当前等待时间大于所述等待时间阈值时,生成临时窗口;
13.临时窗口数据处理模块,用于将所述常规窗口中的阻塞业务数据写入到所述临时窗口,并基于当前算子对所述临时窗口中的业务数据进行处理,以得到临时处理结果;
14.常规窗口数据处理模块,用于在确定所述常规窗口满足窗口结束条件时,基于所述当前算子对所述常规窗口中的业务数据进行处理,以得到常规处理结果,且采用所述常规处理结果覆盖所述临时处理结果。
15.根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
16.至少一个处理器;以及
17.与所述至少一个处理器通信连接的存储器;其中,
18.所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的数据处理方法。
19.根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的数据处理方法。
20.本发明实施例的技术方案,通过获取上一算子传输业务数据的当前流速,根据所述当前流速确定当前算子的常规窗口的当前等待时间阈值;根据所述常规窗口写入业务数据的进度确定当前等待时间,当所述当前等待时间大于所述等待时间阈值时,生成临时窗口;将所述常规窗口中的阻塞业务数据写入到所述临时窗口,并基于当前算子对所述临时窗口中的业务数据进行处理,以得到临时处理结果;在确定所述常规窗口满足窗口结束条件时,基于所述当前算子对所述常规窗口中的业务数据进行处理,以得到常规处理结果,且采用所述常规处理结果覆盖所述临时处理结果,解决了数据处理不及时的问题,确定当前算子的常规窗口的当前等待时间阈值以及当前等待时间,当当前等待时间大于等待时间阈值时,生成临时窗口,将常规窗口中的阻塞业务数据写入到临时窗口,并进行处理,避免常规窗口没有业务数据进入时一直等待,通过创建临时窗口及时对业务数据进行处理,且不影响常规窗口对业务数据的处理,在常规窗口满足窗口结束条件时,基于当前算子对常规窗口中的业务数据进行处理得到常规处理结果,同时采用常规处理结果覆盖临时处理结果,不会影响业务数据的处理结果,在保证数据的及时处理的同时不会改变业务数据处理结果,提高了数据处理的时效性。
21.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
22.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
23.图1是根据本发明实施例一提供的一种数据处理方法的流程图;
24.图2是根据本发明实施例一提供的一种业务数据处理系统的系统架构图;
25.图3是根据本发明实施例二提供的一种数据处理方法的流程图;
26.图4是根据本发明实施例二提供的一种常规窗口和临时窗口的展示示例图;
27.图5是根据本发明实施例三提供的一种数据处理装置的结构示意图;
28.图6是实现本发明实施例的数据处理方法的电子设备的结构示意图。
具体实施方式
29.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
30.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
31.实施例一
32.图1为本发明实施例一提供了一种数据处理方法的流程图,本实施例可适用于及时对数据进行处理的情况,该方法可以由数据处理装置来执行,该数据处理装置可以采用硬件和/或软件的形式实现,该数据处理装置可配置于电子设备中。该方法应用在业务数据处理系统中,示例性的,图2提供了一种业务数据处理系统的系统架构图,该系统10包括flink组件11,分布式文件系统(hdfs)12,分布式数据库(hbase)13。预先按照业务类型对数据进行分类并约定模板,上层应用系统通过摄像头、传感器、排队机、pad、自助机具、柜面、手机等各个渠道的终端采集、产生网点客流、交易信息等源数据事件消息,并发送至事件平台20,该事件消息结构与约定模板一致;事件平台20收到数据后,将其存储在对应的topic中;本系统10作为事件平台20的消费者,从事件平台20对应的topic流式消费所需数据。无界的源数据按照配置,流式地从事件平台20的topic被本系统10消费,进入本系统10的flink组件11中;flink组件11通过sink算子将源数据复制存储到分布式文件系统12中,该部分源数据在数据丢失、迟到等情况下可用于数据校准,也可以提供给hive使用进行历史数据明细查询;同时flink组件11启动任务按照业务逻辑并行地对源数据进行实时处理,处理后的数据存储到分布式数据库13中形成本系统的指标数据。不同终端30的应用程序或应用系统可以通过应用程序接口(api)301查询分布式数据库13中的数据,分布式数据库13中的数据可以以指标服务的形式对外提供给不同的终端30,终端30可以是手机、平板电脑、台式计算机等。本技术实施例中的算子可作为系统10的一部分,对数据进行业务处理、持久化存储等处理。
33.如图1所示,该方法包括:
34.s101、获取上一算子传输业务数据的当前流速,根据当前流速确定当前算子的常规窗口的当前等待时间阈值。
35.在本实施例中,上一算子具体可以理解为上一个对业务数据进行处理的算子;业务数据可以是交易信息、贷款信息等任意类型业务的数据。当前流速具体可以理解为上一
算子传输处理好的业务数据的速度;当前算子具体可以理解为当前对业务数据进行处理的算子;常规窗口具体可以理解为业务数据正常处理过程中的窗口,常规窗口可以是基于事件时间的窗口,具有对应的窗口开始时间和窗口结束时间;当前等待时间阈值具体可以理解为用于判断常规窗口是否等待时间过长的时间阈值。
36.具体的,上一算子在对数据处理后向当前算子传输处理后的业务数据,当前算子接收上一算子传输的业务数据,根据业务数据的数据量计算当前流速。将当前算子的常规窗口的等待时间阈值设置为变量,将等待时间阈值与流速关联,确定等待时间阈值的计算方法,例如,等待时间阈值等于流速乘以常规窗口的窗口时长。在确定当前流速后,根据等待时间阈值的计算方法对当前流速进行运算,得到当前算子的常规窗口对应的当前等待时间阈值。
37.s102、根据常规窗口写入业务数据的进度确定当前等待时间,当当前等待时间大于当前等待时间阈值时,生成临时窗口。
38.在本实施例中,当前等待时间具体可以理解为常规窗口在当前时刻等待数据进入的时间;临时窗口具体可以理解为临时生成的窗口,以便及时对业务数据进行处理。
39.具体的,确定常规窗口中所写入的所有业务数据,以及业务数据写入的时间,确定最后一个写入常规窗口的业务数据的时间,将此时间与当前时间进行比较,确定差值,此差值即为当前等待时间。比较当前等待时间与等待时间阈值的大小,如果当前等待时间大于当前等待时间阈值,确定常规窗口长时间未写入业务数据,生成临时窗口,以对常规窗口中的业务数据及时进行处理。
40.s103、将常规窗口中的阻塞业务数据写入到临时窗口,并基于当前算子对临时窗口中的业务数据进行处理,以得到临时处理结果。
41.在本实施例中,阻塞业务数据具体可以理解为常规窗口中未及时进行处理的业务数据;临时处理结果具体可以理解为算子对临时窗口中的业务数据处理得到的结果。例如,当前算子为持久化存储算子时,临时处理结果为业务数据持久化得到的结果;当前算子为分组算子时,临时处理结果为业务数据的分组结果。
42.具体的,确定常规窗口中的阻塞业务数据,将阻塞业务数据写入到所创建的临时窗口中,通过当前算子对临时窗口中所写入的业务数据进行处理,得到临时处理结果,当前算子对业务数据进行处理可以是对业务数据进行加密处理、解密处理、去重处理、脱敏处理等等。
43.s104、在确定常规窗口满足窗口结束条件时,基于当前算子对常规窗口中的业务数据进行处理,以得到常规处理结果,且采用常规处理结果覆盖临时处理结果。
44.在本实施例中,窗口结束条件具体可以理解为关闭或结束常规窗口的条件,例如,常规窗口中的数据量达到一定阈值,或者常规窗口中业务数据的事件时间满足时间条件,或者接收到人工触发的结束操作,等等。常规处理结果具体可以理解为算子对常规窗口中的业务数据处理得到的结果。
45.具体的,根据进入常规窗口中的业务数据或其他信息判断常规窗口是否满足窗口结束条件,当常规窗口满足窗口结束条件时,采用当前算子对进入到常规窗口中的业务数据进行处理,得到常规处理结果。根据得到的常规处理结果覆盖掉临时处理结果,在提高数据处理效率的同时保证了数据的正常处理,提升数据准确性与完整性。
46.本发明实施例提供了一种数据处理方法,通过获取上一算子传输业务数据的当前流速,根据所述当前流速确定当前算子的常规窗口的当前等待时间阈值;根据所述常规窗口写入业务数据的进度确定当前等待时间,当所述当前等待时间大于所述等待时间阈值时,生成临时窗口;将所述常规窗口中的阻塞业务数据写入到所述临时窗口,并基于当前算子对所述临时窗口中的业务数据进行处理,以得到临时处理结果;在确定所述常规窗口满足窗口结束条件时,基于所述当前算子对所述常规窗口中的业务数据进行处理,以得到常规处理结果,且采用所述常规处理结果覆盖所述临时处理结果,解决了数据处理不及时的问题,确定当前算子的常规窗口的当前等待时间阈值以及当前等待时间,当当前等待时间大于等待时间阈值时,生成临时窗口,将常规窗口中的阻塞业务数据写入到临时窗口,并进行处理,避免常规窗口没有业务数据进入时一直等待,通过创建临时窗口及时对业务数据进行处理,且不影响常规窗口对业务数据的处理,在常规窗口满足窗口结束条件时,基于当前算子对常规窗口中的业务数据进行处理得到常规处理结果,同时采用常规处理结果覆盖临时处理结果,不会影响业务数据的处理结果,在保证数据的及时处理的同时不会改变业务数据处理结果,提高了数据处理的时效性。
47.作为本实施例的一个可选实施例,本可选实施例进一步优化包括:当前算子为流式计算引擎中的处理算子,处理算子的后续算子为持久化存储算子,上一算子为流式计算引擎中的分组算子;在获取上一算子传输业务数据的当前流速之前,还包括:获取原始业务数据,采用分组算子,根据原始业务数据中设定字段内的标识内容,将原始业务数据分组为至少两个业务数据流,并将各业务数据流写入对应的处理算子的窗口中;
48.其中,原始业务数据包括:交易流水数据和/或客户信息数据;
49.设定字段包括下述至少一种:日期、机构标识、年龄段和客户级别。
50.在本实施例中,原始业务数据具体可以理解为应用系统所采集到的业务数据;交易流水数据具体可以理解为客户交易所形成的数据,例如,交易时间、交易量、交易金额等;客户信息数据具体可以理解为描述客户的数据,例如,客户的账号、名称、身份等信息。客户级别可以是vip客户、普通客户、新客户等。
51.具体的,预先设置分组算子所关联的原始业务数据,获取分组算子所关联的原始业务数据。在原始业务数据的设定字段中保存标识内容,通过标识内容对原始业务数据进行区分。预先确定设定字段,将设定字段作为参数传入到分组算子,分组算子对原始业务数据中设定字段内的标识内容对原始业务数据进行分组,得到业务数据流。例如,将同一日期的原始业务数据作为一个业务数据流。将每个业务数据流写入到对应的处理算子的窗口中,以便处理算子对数据进行业务逻辑处理,进一步地,处理算子对数据进行业务逻辑处理后,通过持久化存储算子进行数据持久化。
52.示例性的,持久化存储算子将接收到的业务数据流中的业务数据存储到hdfs中,处理算子对业务数据进行处理得到常规处理结果和/或临时处理结果后,将常规处理结果和/或临时处理结果传递给持久化存储算子,持久化存储算子将常规处理结果和/或临时处理结果存储到hbase中。hbase作为持久化存储数据库,存储处理好的常规处理结果和临时处理结果。在hbase中建立业务数据表,并在程序中建立业务表对应的设定字段;使用数据库连接模块,读取hbase相关配置信息,与hbase建立连接;业务表对应的设定字段作为参数,传入转换类,将经过分组算子处理后所得到的业务数据流转换为字节数据流。上述工作
完成后开始对数据进行sink,将转换后的字节流、hbase对应的表名作为参数,传入flink sink算子,将处理后的结果数据写入到hbase数据库中;同时flink使用sink算子将参与计算的原始业务数据写入到hdfs中。其中hbase数据可供服务层api查询使用,hdfs数据可供校验计算正确性查询使用。
53.实施例二
54.图3为本发明实施例二提供的一种数据处理方法的流程图,本实施例在上述实施例的基础上进行细化。如图3所示,该方法包括:
55.s201、获取上一算子在当前流速计算周期所传输的业务数据量。
56.在本实施例中,当前流速计算周期具体可以理解为当前计算流速的时间周期;业务数据量具体可以理解为是业务数据的数据总量。
57.具体的,预先设置流速计算周期,根据当前时间判断当前所处的当前流速计算周期。获取上一算子在当前流速计算周期所传输的业务数据量。
58.s202、根据业务数据量与当前流速计算周期的周期时长确定当前流速。
59.将业务数据量除以当前流速计算周期的周期时长,得到当前流速。
60.s203、计算当前流速与设定的最大流速的比值,将比值与常规窗口的窗口时长的乘积确定为当前等待时间阈值。
61.在本实施例中,最大流速具体可以理解为流入常规窗口的业务数据的最大速度。预先确定最大流速和常规窗口的窗口时长,其中,最大流速可以根据实际流入窗口的业务数据的流速确定,最大流速可以实时改变;常规窗口的窗口时长也可以根据业务处理需求设置,也可以改变,也可以设置为固定值。计算当前流速与最大流速的比值,计算此比值与常规窗口的窗口时长的乘积,将乘积作为当前等待时间阈值。
62.作为本实施例的一个可选实施例,本可选实施例进一步优化包括了如果当前流速大于最大流速,根据当前流速对最大流速进行更新;或者,当满足初始化条件时,对最大流速进行初始化更新。
63.在本实施例中,初始化条件可以是预先设置的时间条件,例如,零点,也可以是人为操作所触发的条件。比较最大流速和当前流速的大小,如果当前流速大于最大流速,则将当前流速作为新的最大流速,实现对最大流速的更新。或者,预设设置初始化条件,监控初始化条件所对应的相应信息,在满足初始化条件时,对最大流速进行初始化更新,对最大流速进行初始化更新可以是将其更新为0,或者更新为设定值等。例如,在每天的零点将最大流速初始化为0。在当前流速大于最大流速或者满足初始化条件时,均可以实现对最大流速的更新。
64.s204、根据常规窗口写入业务数据的进度确定当前等待时间。
65.s205、当当前等待时间大于当前等待时间阈值时,如果常规窗口中存在阻塞业务数据,则触发临时窗口的生成操作,其中,阻塞业务数据为未被当前算子处理的业务数据。
66.在当前等待时间大于当前等待时间阈值时,判断常规窗口时是否存在阻塞业务数据,若存在,则触发临时窗口的生成操作,以便生成临时窗口。
67.作为本实施例的一个可选实施例,本可选实施例进一步对判断常规窗口中是否存在阻塞业务数据优化为:判断常规窗口中阻塞位置标识是否位于业务数据的末尾,若是,则不存在阻塞业务数据,否则存在阻塞业务数据。
68.在本实施例中,阻塞位置标识具体可以理解为用于标记已处理的业务数据的终点位置的标识信息。判断常规窗口中是否存在阻塞位置标识,如果存在阻塞位置标识,则判断常规窗口中阻塞位置标识是否位于业务数据的末尾,若是,则可以确定常规窗口中的业务数据均通过临时窗口进行了处理,因此,当前时刻不存在阻塞业务数据;若否,则确定存在阻塞业务数据,阻塞位置标识后的业务数据均为阻塞业务数据。如果常规窗口中不存在阻塞位置标识,即常规窗口没有生成对应的临时窗口,即常规窗口中没有业务数据被临时窗口所处理,因此,常规窗口中的数据均为阻塞业务数据。
69.s206、生成临时窗口。
70.s207、将常规窗口中的阻塞业务数据写入到临时窗口,并基于当前算子对临时窗口中的业务数据进行处理,以得到临时处理结果。
71.作为本实施例的一个可选实施例,本可选实施例进一步优化包括将常规窗口中的阻塞业务数据写入到临时窗口之后,将阻塞位置标识更新至常规窗口中业务数据的末尾。
72.将常规窗口中的阻塞业务数据写入到临时窗口之后,此时常规窗口内不存在未被处理的阻塞业务数据,将阻塞位置标识更新至常规窗口中业务数据的末尾,用于对已经处理过的业务数据进行标识,在下次生成临时窗口时,只需要将阻塞位置标识后的业务数据进行处理即可,避免数据重复处理。
73.示例性的,图4提供了一种常规窗口和临时窗口的展示示例图,常规窗口41中的矩形代表业务数据401,图中仅示例性的标出一个,其余类似矩形均可以看做是业务数据,当前等待时间t大于当前等待时间阈值时,确定常规窗口41中的阻塞业务数据,将阻塞业务数据写入到临时窗口42中。
74.s208、关闭临时窗口。
75.在处理完临时窗口中的业务数据后,由于已经完成业务数据的处理,因此可以关闭临时窗口。
76.可以知道的是,在一个常规窗口的数据处理周期内,可以生成多个临时窗口,例如,常规窗口的窗口时长为1h,在第15min生成第一个临时窗口,在第16min关闭临时窗口,在第27min生成第二个临时窗口,在第29min关闭第二个临时窗口。
77.s209、在确定常规窗口满足窗口结束条件时,基于当前算子对常规窗口中的业务数据进行处理,以得到常规处理结果,且采用常规处理结果覆盖临时处理结果。
78.作为本实施例的一个可选实施例,本可选实施例进一步将确定常规窗口满足窗口结束条件优化为:
79.a1、如果常规窗口接收到的业务数据的事件时间超过常规窗口的窗口结束时间,确定常规窗口满足窗口结束条件;或者,
80.在本实施例中,窗口结束时间可以根据业务需求设置,例如常规窗口的窗口开始时间为11:00:00,窗口结束时间为12:00:00。常规窗口接收业务数据的过程中,确定常规窗口所接收到的每个业务数据的事件时间,判断业务数据的事件时间是否超过常规窗口的窗口结束时间,若是,则确定常规窗口满足窗口结束条件。
81.a2、如果常规窗口为当前业务周期内的最后一个常规窗口且常规窗口的当前等待时间大于预设时间阈值,确定常规窗口满足窗口结束条件。
82.在本实施例中,当前业务周期具体可以理解为当前处理业务数据的周期,每个业
务周期中可以生成多个常规窗口对业务数据进行处理。例如,当前业务周期为一天,每个常规窗口的窗口时长为1h,在24小时内最多可以生成24个常规窗口。预设时间阈值可以根据实际应用需求设置,例如,预设时间阈值为常规窗口的窗口时长的2倍。
83.具体的,判断当前进行业务数据处理的常规窗口是否为当前业务周期内的最后一个常规窗口,例如,根据常规窗口的窗口结束时间判断是否为最后一个常规窗口。当常规窗口为当前业务周期内的最后一个常规窗口时,判断常规窗口的当前等待时间是否大于预设时间阈值,若是,则确定常规窗口满足窗口结束条件;否则,常规窗口不满足窗口结束条件。在常规窗口为最后一个窗口时及时对业务数据进行处理,避免最后一个常规窗口中的业务数据被阻塞无法及时处理,提升数据准确性与完整性。
84.本发明实施例提供了一种数据处理方法,解决了数据处理不及时的问题,确定当前算子的常规窗口的当前流速动态确定当前等待时间阈值,当当前等待时间大于等待时间阈值时,通过阻塞位置标识确定常规窗口中是否存在阻塞业务数据,若存在,则生成临时窗口,将常规窗口中的阻塞业务数据写入到临时窗口,并进行处理,避免常规窗口没有业务数据进入时一直等待,通过创建临时窗口及时对业务数据进行处理,且不影响常规窗口对业务数据的处理,在通过临时窗口处理完业务数据后,关闭临时窗口。在常规窗口满足窗口结束条件时,基于当前算子对常规窗口中的业务数据进行处理得到常规处理结果,同时采用常规处理结果覆盖临时处理结果,不会影响业务数据的处理结果,在保证数据的及时处理的同时不会改变业务数据处理结果,提高了数据处理的时效性。
85.实施例三
86.图5为本发明实施例三提供的一种数据处理装置的结构示意图。如图5所示,该装置包括:流速获取模块51、窗口生成模块52、临时窗口数据处理模块53和常规窗口数据处理模块54。
87.其中,流速获取模块51,用于获取上一算子传输业务数据的当前流速,根据所述当前流速确定当前算子的常规窗口的当前等待时间阈值;
88.窗口生成模块52,用于根据所述常规窗口写入业务数据的进度确定当前等待时间,当所述当前等待时间大于所述等待时间阈值时,生成临时窗口;
89.临时窗口数据处理模块53,用于将所述常规窗口中的阻塞业务数据写入到所述临时窗口,并基于当前算子对所述临时窗口中的业务数据进行处理,以得到临时处理结果;
90.常规窗口数据处理模块54,用于在确定所述常规窗口满足窗口结束条件时,基于所述当前算子对所述常规窗口中的业务数据进行处理,以得到常规处理结果,且采用所述常规处理结果覆盖所述临时处理结果。
91.本发明实施例提供了一种数据处理装置,解决了数据处理不及时的问题,确定当前算子的常规窗口的当前等待时间阈值以及当前等待时间,当当前等待时间大于等待时间阈值时,生成临时窗口,将常规窗口中的阻塞业务数据写入到临时窗口,并进行处理,避免常规窗口没有业务数据进入时一直等待,通过创建临时窗口及时对业务数据进行处理,且不影响常规窗口对业务数据的处理,在常规窗口满足窗口结束条件时,基于当前算子对常规窗口中的业务数据进行处理得到常规处理结果,同时采用常规处理结果覆盖临时处理结果,不会影响业务数据的处理结果,在保证数据的及时处理的同时不会改变业务数据处理结果,提高了数据处理的时效性。
92.可选的,流速获取模块51包括:
93.数据量获取单元,用于获取上一算子在当前流速计算周期所传输的业务数据量;
94.流速确定单元,用于根据所述业务数据量与当前流速计算周期的周期时长确定当前流速。
95.可选的,流速获取模块51,具体用于:计算所述当前流速与设定的最大流速的比值,将所述比值与常规窗口的窗口时长的乘积确定为当前等待时间阈值。
96.可选的,该装置还包括:
97.最大流速更新模块,用于如果所述当前流速大于所述最大流速,根据所述当前流速对所述最大流速进行更新;或者,当满足初始化条件时,对所述最大流速进行初始化更新。
98.可选的,该装置还包括:
99.阻塞数据判断模块,用于在生成临时窗口之前,判断所述常规窗口中是否存在阻塞业务数据,若是,则触发临时窗口的生成操作;其中,所述阻塞业务数据为未被所述当前算子处理的业务数据。
100.可选的,阻塞数据判断模块,具体用于:判断所述常规窗口中阻塞位置标识是否位于业务数据的末尾,若是,则不存在阻塞业务数据,否则存在阻塞业务数据。
101.相应的,该装置还包括:
102.阻塞位置更新模块,用于在将所述常规窗口中的阻塞业务数据写入到所述临时窗口之后,将阻塞位置标识更新至所述常规窗口中业务数据的末尾。
103.可选的,该装置还包括:
104.窗口关闭模块,用于在基于当前算子对所述临时窗口中的业务数据进行处理,以得到临时处理结果之后,关闭所述临时窗口。
105.可选的,常规窗口数据处理模块54,包括:
106.窗口结束确定单元,用于如果所述常规窗口接收到的业务数据的事件时间超过所述常规窗口的窗口结束时间,确定所述常规窗口满足窗口结束条件;或者,如果所述常规窗口为当前业务周期内的最后一个常规窗口且所述常规窗口的当前等待时间大于预设时间阈值,确定所述常规窗口满足窗口结束条件。
107.可选的,所述当前算子为流式计算引擎中的处理算子,所述处理算子的后续算子为持久化存储算子,所述上一算子为流式计算引擎中的分组算子;
108.该装置还包括:
109.数据处理模块,用于在获取上一算子传输业务数据的当前流速之前,获取原始业务数据,采用所述分组算子,根据原始业务数据中设定字段内的标识内容,将所述原始业务数据分组为至少两个业务数据流,并将各所述业务数据流写入对应的处理算子的窗口中;
110.其中,所述原始业务数据包括:交易流水数据和/或客户信息数据;
111.所述设定字段包括下述至少一种:日期、机构标识、年龄段和客户级别。
112.本发明实施例所提供的数据处理装置可执行本发明任意实施例所提供的数据处理方法,具备执行方法相应的功能模块和有益效果。
113.实施例四
114.图6示出了可以用来实施本发明的实施例的电子设备60的结构示意图。电子设备
旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
115.如图6所示,电子设备60包括至少一个处理器61,以及与至少一个处理器61通信连接的存储器,如只读存储器(rom)62、随机访问存储器(ram)63等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器61可以根据存储在只读存储器(rom)62中的计算机程序或者从存储单元58加载到随机访问存储器(ram)63中的计算机程序,来执行各种适当的动作和处理。在ram 63中,还可存储电子设备60操作所需的各种程序和数据。处理器61、rom 62以及ram63通过总线64彼此相连。输入/输出(i/o)接口65也连接至总线64。
116.电子设备60中的多个部件连接至i/o接口65,包括:输入单元66,例如键盘、鼠标等;输出单元67,例如各种类型的显示器、扬声器等;存储单元68,例如磁盘、光盘等;以及通信单元69,例如网卡、调制解调器、无线通信收发机等。通信单元69允许电子设备60通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
117.处理器61可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器61的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器61执行上文所描述的各个方法和处理,例如数据处理方法。
118.在一些实施例中,数据处理方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元68。在一些实施例中,计算机程序的部分或者全部可以经由rom 62和/或通信单元69而被载入和/或安装到电子设备60上。当计算机程序加载到ram 63并由处理器61执行时,可以执行上文描述的数据处理方法的一个或多个步骤。备选地,在其他实施例中,处理器61可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据处理方法。
119.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
120.用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
121.在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
122.为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
123.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
124.计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。
125.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
126.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献