一种流数据任务处理方法、装置、设备及计算机存储介质转让专利

申请号 : CN202110599771.7

文献号 : CN113572631B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 徐剑贾子骁韩志辉贾世琳吕卓航严定宇

申请人 : 国家计算机网络与信息安全管理中心

摘要 :

本申请实施例提供了一种流数据任务处理方法、装置、设备和可读存储介质。方法包括:由第一算子获取任务的第一数据包;其中,所述第一数据包由配置数据与第一源数据封装得到;由所述第一算子从所述第一数据包中获取与其对应的第一配置数据,并根据所述第一配置数据,对所述第一数据包中的第一源数据进行处理,得到第二源数据;由所述第一算子将所述第二源数据与所述配置数据进行封装得到第二数据包,并将所述第二数据包传递给第二算子。本申请实施例的技术方案能够实现在不下线任务的情况下,对计算任务的计算逻辑进行更新,步骤简便且能够满足实时性要求较高的业务的需求。

权利要求 :

1.一种流数据任务处理方法,其中流数据由多个算子依次进行处理以得到流处理结果数据,并将流处理结果数据输出,其特征包括:由第一算子获取任务的第一数据包;其中,所述第一数据包由配置数据与第一源数据封装得到;

由所述第一算子从所述第一数据包中获取与其对应的第一配置数据,并根据所述第一配置数据,对所述第一数据包中的第一源数据进行处理,得到第二源数据;

由所述第一算子将所述第二源数据与所述配置数据进行封装得到第二数据包,并将所述第二数据包传递给第二算子。

2.根据权利要求1所述的流数据任务处理方法,其特征在于,由所述第一算子从所述第一数据包中获取与其对应的第一配置数据,包括:由所述第一算子从所述第一数据包中获取配置文件;

由所述第一算子解析所述配置文件,得到所述配置数据;

由所述第一算子从所述配置数据中获取与所述第一算子对应的第一配置数据。

3.根据权利要求2所述的流数据任务处理方法,其特征在于,所述方法还包括:依据不同的算子,对所述配置数据进行分类并标记。

4.根据权利要求3所述的流数据任务处理方法,其特征在于,包括:所述第一算子根据所述标记从所述第一数据包中获取与其对应的第一配置数据。

5.根据权利要求1所述的流数据任务处理方法,其特征在于,所述第一算子获取所述任务的第一数据包前,还包括:评估所述任务的需求,并根据评估结果选择对应的算子。

6.根据前述任一权利要求所述的流数据任务处理方法,其特征在于,包括:由sink算子接收前序算子传来的数据包,根据所述数据包中与所述sink算子对应的配置数据,对所述数据包中包含的源数据进行处理得到结果数据,并输出至目的系统。

7.一种流数据任务处理装置,其中流数据由多个算子依次进行处理以得到流处理结果数据,并将流处理结果数据输出,其特征在于,包括:第一算子,用于获取任务的第一数据包;其中,所述第一数据包由配置数据与第一源数据封装得到;

所述第一算子从所述第一数据包中获取与其对应的第一配置数据,并根据所述配置数据,对所述第一数据包中的第一源数据进行处理,得到第二源数据;

由所述第一算子将所述第二源数据与所述配置数据进行封装得到第二数据包,并将所述第二数据包传递给第二算子。

8.根据权利要求7所述的流数据任务处理装置,其特征在于,所述第一算子从所述第一数据包中获取与其对应的第一配置数据,包括:所述第一算子从所述第一数据包中获取配置文件;

所述第一算子解析所述配置文件,得到所述配置数据;

所述第一算子从所述配置数据中获取与所述第一算子对应的第一配置数据。

9.根据权利要求8所述的流数据任务处理装置,其特征在于,所述第一算子还用于:依据不同的算子,对所述配置数据进行分类并标记。

10.根据权利要求9所述的流数据任务处理装置,其特征在于,包括:所述第一算子还用于,根据所述标记从所述第一数据包中获取与其对应的第一配置数据。

11.根据权利要求7所述的流数据任务处理装置,其特征在于,还包括:任务评估模块,用于评估所述任务的需求,并根据评估结果选择对应的算子。

12.根据前述任一权利要求所述的流数据任务处理装置,其特征在于,还包括:sink算子,用于接收前序算子传来的数据包,根据所述数据包中与所述sink算子对应的配置数据,对所述数据包中包含的源数据进行处理得到结果数据,并输出至目的系统。

13.一种流数据任务处理设备,其特征在于,所述设备包括:处理器,以及存储有计算机程序指令的存储器;所述处理器读取并执行所述计算机程序指令,以实现如权利要求1‑6任意一项所述的流数据任务处理方法。

14.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1‑6任意一项所述的流数据任务处理方法。

说明书 :

一种流数据任务处理方法、装置、设备及计算机存储介质

技术领域

[0001] 本申请属于计算机技术领域,尤其涉及一种流数据任务处理方法、装置、设备及计算机存储介质。

背景技术

[0002] 流数据处理广泛应用在网络监控、传感器网络、航空航天、气象测控和金融服务等领域,在实时流计算处理过程中,每一个任务可完成的内容是相对固定的,如果想对实时流的处理逻辑进行修改,传统的做法是需要将任务下线,然后修改代码,再重新编译打包,上线运行。
[0003] 在基于Flink框架实时计算的一种场景下,如某一条数据需要经过一定的计算触发某个条件,但是这个条件可能是动态更新的,也可能是经过反复计算得出的,如果频繁的改变,就需要频繁的修改代码打包上线,步骤繁琐且对实时性要求较高的业务中往往很难处理。
[0004] 因此,如何提供一种流数据任务处理方法、装置、设备及计算机存储介质,以解决如何在不下线任务的情况下,对计算任务的计算逻辑进行更新,步骤简单,满足高实时性任务的需求,是本领域技术人员需要解决的技术问题。

发明内容

[0005] 本申请实施例提供一种流数据任务处理方法、装置、设备及计算机存储介质,能够在不下线任务的情况下,对计算任务的计算逻辑进行更新,且步骤简单。
[0006] 第一方面,本申请实施例提供一种流数据任务处理方法,其中流数据由多个算子依次进行处理以得到流处理结果数据,并将流处理结果数据输出,方法包括:
[0007] 由第一算子获取任务的第一数据包;其中,第一数据包由配置数据与第一源数据封装得到;
[0008] 由第一算子从第一数据包中获取与其对应的第一配置数据,并根据配置数据,对第一数据包中的第一源数据进行处理,得到第二源数据;
[0009] 由第一算子将第二源数据与配置数据进行封装得到第二数据包,并将第二数据包传递给第二算子。
[0010] 进一步的,由第一算子从第一数据包中获取与其对应的第一配置数据,包括:
[0011] 由第一算子从第一数据包中获取配置文件;
[0012] 由第一算子解析配置文件,得到配置数据;
[0013] 由第一算子从配置数据中获取与第一算子对应的第一配置数据。
[0014] 进一步的,方法还包括:依据不同的算子,对配置数据进行分类并标记。
[0015] 进一步的,第一算子根据标记从第一数据包中获取与其对应的第一配置数据。
[0016] 进一步的,第一算子获取任务的第一数据包前,还包括:评估任务的需求,并根据评估结果选择对应的算子。
[0017] 进一步的,由sink算子接收前序算子传来的数据包,根据数据包中与sink算子对应的配置数据,对数据包中包含的源数据进行处理得到结果数据,并输出至目的系统。
[0018] 第二方面,本申请实施例提供了一种流数据任务处理装置,
[0019] 其中流数据由多个算子依次进行处理以得到流处理结果数据,并将流处理结果数据输出,装置包括:
[0020] 第一算子,用于获取任务的第一数据包;其中,第一数据包由配置数据与第一源数据封装得到;
[0021] 第一算子从第一数据包中获取与其对应的第一配置数据,并根据配置数据,对第一数据包中的第一源数据进行处理,得到第二源数据;
[0022] 由第一算子将第二源数据与配置数据进行封装得到第二数据包,并将第二数据包传递给第二算子。
[0023] 进一步的,第一算子从第一数据包中获取与其对应的第一配置数据,包括:
[0024] 第一算子从第一数据包中获取配置文件;
[0025] 第一算子解析配置文件,得到配置数据;
[0026] 第一算子从配置数据中获取与第一算子对应的第一配置数据。
[0027] 进一步的,第一算子还用于:依据不同的算子,对配置数据进行分类并标记。
[0028] 进一步的,第一算子还用于:根据标记从第一数据包中获取与其对应的第一配置数据。
[0029] 进一步的,装置还包括:任务评估模块,用于评估任务的需求,并根据评估结果选择对应的算子。
[0030] 进一步的,装置还包括:
[0031] sink算子,用于接收前序算子传来的数据包,根据数据包中与sink算子对应的配置数据,对数据包中包含的源数据进行处理得到结果数据,并输出至目的系统。
[0032] 第三方面,本申请实施例提供了一种流数据任务处理设备,设备包括:
[0033] 处理器,以及存储有计算机程序指令的存储器;处理器读取并执行计算机程序指令,以实现如上所述任意一项的流数据任务处理方法。
[0034] 第四方面,本申请实施例提供了一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如上所述的任意一项的流数据任务处理方法。
[0035] 本申请实施例的流数据任务处理方法、装置、设备及计算机存储介质,能够在不下线任务的情况下,对计算任务的计算逻辑进行更新,步骤简单,且能够满足高实时性任务的需求。

附图说明

[0036] 为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0037] 图1是本申请实施例提供的一种流数据任务处理方法的流程示意图;
[0038] 图2是本申请实施例提供的一种流数据任务处理装置的结构示意图;
[0039] 图3是本申请实施例提供的一种流数据任务处理设备的结构示意图。

具体实施方式

[0040] 下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
[0041] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0042] 在基于Flink框架的实时流计算处理过程中,每一个任务可完成的内容是相对固定的,如果想对实时流的处理逻辑进行修改,现有技术中的做法是将任务下线,然后修改逻辑或配置,再重新编译打包上线运行。
[0043] 在实时计算的一种场景下,如某一条数据经过一定的计算触发了某个条件,就会将其进行标记,但是这个条件可能是动态更新的,也可能是经过反复计算得出的,如果频繁的改变,就需要频繁的修改代码打包上线,步骤繁琐,并且这在对实时性要求较高的业务中往往很难处理。
[0044] 为了解决现有技术问题,本申请实施例提供了一种流数据任务处理方法、装置、设备及计算机存储介质。
[0045] 下面首先对本申请实施例所提供的流数据任务处理方法进行介绍。
[0046] 图1示出了本申请一个实施例提供的流数据任务处理方法的流程示意图。如图1所示,该方法可以包括以下步骤:
[0047] S1:由第一算子获取任务的第一数据包;其中,所述第一数据包由配置数据与第一源数据封装得到。
[0048] 其中,算子是Flink框架中一个计算逻辑的基本单位,可以理解为一个接口,这个接口中的逻辑需要我们自定义处理,Flink会对各个算子之前的数据交互进行协调,利用分布式集群进行计算,而第一算子的工作之一就是获取和读取外部的配置数据和要处理的源数据(即第一数据包)。在本实施例中,数据包由配置数据与源数据进行封装得到。配置数据主要一些以XML形式下发的配置字符串,之所以选择XML文本格式,主要是因为表现能力更丰富,可以表现出更复杂的逻辑,XML为本实施例的优选方式,也可以选择其他格式。
[0049] 第一源数据一般对接Flink框架自带的kafka连接器,并且第一源数据的获取一般通过kafka连接器完成。
[0050] 源数据与配置数据本无直接关联,但在本实施例中,经过封装后,将配置与数据打包成一个整体,这个配置即代表了本条数据的处理规则,也即包含了该任务要处理的数据。
[0051] S2:由所述第一算子从所述第一数据包中获取与其对应的第一配置数据,并根据所述配置数据,对所述第一数据包中的第一源数据进行处理,得到第二源数据。
[0052] 第一算子获取或接收到的第一数据包为一个封装的对象,这个对象中核心的参数有两个,一个是第一源数据(即数据源),另一个是一个hashMap(基于Map接口实现的集合,可以提供所有可选的映射操作),在编写(任务)代码时,会对每一个算子进行标记(名字),在继续计算或处理的时候,算子会通过这个名字,从hashMap中的key(算子的代号)读取到属于自己的计算逻辑(配置数据),从hashMap中获取到属于自己要处理逻辑的配置信息(即配置数据)后,算子(此时为第一算子)处理这个封装对象中的原始数据(即第一源数据),得到第二源数据。
[0053] S3:由所述第一算子将所述第二源数据与所述配置数据进行封装得到第二数据包,并将所述第二数据包传递给第二算子。
[0054] 最终处理完成后,处理的结果数据会覆盖这个封装对象中的原始数据(源数据),此时为第二源数据,算子会将这个已经改变过原始数据的封装对象(第二数据包)继续传向下游的(下一个)算子。
[0055] 本实施例提供的流数据任务处理方法,在需要对任务(处理逻辑)进行修改时,只需要对任务的配置数据进行修改,或者只需要约定一种数据结构,可以存放源数据和每个算子需要做的计算逻辑(配置数据),通过设计封装解析器,解析数据中自带的计算逻辑,以及执行器去执行解析出来的这部分逻辑,然后将这两个组件应用到各个算子中即可实现对数据的动态控制。实现了在不下线任务的情况下,对计算任务的计算逻辑进行更新和修改,步骤简单且能够满足高实时性任务的需求。
[0056] 本实施例对任务进行修改的核心就是修改封装对象中的配置数据,因为配置是跟数据流(源数据)一同流向各个算子,所以在上游数据源就可以将配置与待处理的数据封装到一起,如果配置改变,也就代表了对该条处理处理的方式也进行了改变,实现了动态修改。
[0057] 在本申请的另一种实施例中,由第一算子从第一数据包中获取与其(第一算子)对应的第一配置数据,包括:由第一算子获取配置文件;由第一算子解析配置文件,得到配置数据;由第一算子获取与其对应的第一配置数据。
[0058] 在本实施例中,可以让算子在执行基本的计算任务外,还进行解析、封装和分类的工作,本实施例称为“第一算子”。
[0059] 第一算子解析所述配置文件,得到所述配置数据,可以通过设计封装解析器,解析数据中自带的计算逻辑,也可以通过现有的解析器以及执行器去执行解析出来的这部分逻辑;而封装后的数据为某一种数据结构,可以存放元数据和每个算子需要做的计算逻辑,然后将这两个组件应用到各个算子中即可实现对数据的动态控制。
[0060] 每一条流数据都带着对应的参数(这里可以理解为自己的计算逻辑),当任务运行时,每一条数据都会和对应的计算逻辑一起被发送到各个算子中,每个算子都会获取该条数据中属于自己的那部分计算逻辑,在完成计算后再将结果与计算逻辑进行封装,继续向下游的算子进行传递,下游的算子也会做相同的事情,直到处理完成。
[0061] 因此,在第一算子中也可以包含一解析器,除了实现基本的计算任务外,也可以实现解析、封装和分类等任务。第一算子通过解析器将数据包中的配置文件进行解析得到配置数据,因为每个算子都有自己要处理的逻辑,所以解析器会将配置数据分类,分为每个算子的逻辑,第一算子也会获取与其对应的第一配置数据。
[0062] 例如,采用xml作为配置文件的格式:第一算子通过解析器将xml中的配置进行解析,因为每个算子都有自己要处理的逻辑,所以解析器会将xml文件中的配置分类,分为下游每个算子的逻辑然后将他们存入一个hashMap中,hashMap中的key即是一个算子的代号。
[0063] 相应的,下一个算子可以根据所述标记从所述数据包中获取所需要配置数据。
[0064] 本实施例中,xml格式的配置文件,以及hashMap表仅仅是本实施例的一种实施方式,在基于本申请的技术方案下,包括但不限于上述实施方式。
[0065] 在本申请的另一种实施例中,由sink算子接收前序算子传来的数据包,根据所述数据包中与所述sink算子对应的配置数据,对所述数据包中包含的源数据进行处理得到结果数据,并输出至目的系统。
[0066] 此时sink算子为所述任务的最后一个算子,所述sink算子根据所述第二数据包中与所述sink算子对应的配置数据,对所述第二源数据进行处理得到结果数据,并进行输出。
[0067] 上一级(一个)算子传递至最后一个算子的数据包(第二数据包),经过sink算子处理后就是最终的结果数据。sink算子从封装对象(第二数据包)中获取到该条数据要写入到哪里,例如PG数据库、HDFS(分布式文件系统)、Kafka接口或者是其他外部系统,并最终写入,整条数据流完成。
[0068] 其中,sink算子主要用来对接一些外部系统,其处理逻辑跟其他算子基本相同,只不过它的配置文件(第三配置数据)中会包含一些外部的系统的接口信息,以及如何将这条原始数据存入外部系统等,到此整条流处理(任务)完成。
[0069] 在本申请的另一种实施例中,算子获取任务的数据包前,还包括:评估所述任务的需求,并根据评估结果选择对应的算子。
[0070] 在基于Flink架构的任务提交时,算子的个数以及算子间的组合方式是需要确定且不可以在运行时修改的,所以需要对任务内容进行评估,然后选择合适的算子,以提高效率。
[0071] 例如,例1:求TopN和总数Count;
[0072] 这两个需求可以用相同的算子去完成计算,只是算子中的计算逻辑不一样,那么在使用相同的算子情况下,可以实现动态修改(即在任务不下线的情况下进行修改)。
[0073] 其中,对于求TopN流程,使用keyBy函数,对任务中特定的纬度的数据进行分类,然后将所有数据apply(聚合)到一个窗口中,在窗口中求出TopN;对于Count流程,使用keyBy函数,对任务中特定的纬度的数据进行分类,然后将所有数据apply到一个窗口中,再求出总数即可。
[0074] 在上述两个任务中,算子是固定的,那么就可以通过改变数据中的配置来改变计算逻辑,即完成了任务的动态修改。
[0075] 例2:对于一流数据的初始任务:计算出每分钟里访问我们最多的前100个ip地址写入到一个外部的系统当中。
[0076] 但由于业务的需求,不再需要top100的数据,而是想得到每分钟一共有多少个ip访问。
[0077] 在本实施例中,此时可以首先对该任务进行评估,当该任务需求不会对所需要的算子进行修改时,然后下发一个对应的XML的配置文件到这个流任务中,此时任务便更新完成。
[0078] 例3:
[0079] A任务:求1分钟内所有访问量大于10次的ip数量;
[0080] B任务:求1分钟内所有访问量小于10次的ip数,还有1分钟内访问最多的10个ip;
[0081] 例3的需求是没法动态修改的,因为涉及到1分钟内的访问数和具体的访问ip的两次统计,需要将一条流计算两次以得到需要的结果这就需要改变算子来实现。
[0082] 例4:
[0083] A任务:求1分钟内所有访问量大于10次的ip数量;
[0084] B任务:求1分钟内所有url中带有baidu关键字的ip数量;
[0085] 例4是可以实现动态修改的,因为都是对一条流1分钟内的ip的信息做出的一个维度的分析。
[0086] 因此,需要对任务的修改进行评估。在后续步骤中,对于不能进行动态修改的任务,可以在任务评估阶段给出提示,例如:“该任务不可动态修改”等,可以有效避免不必要的步骤,提高效率。
[0087] Flink在本申请实施例提供的流数据任务处理方法的技术方案中,将整条数据的计算逻辑(配置)都封装在了这个对象当中,这个对象中包含了待处理的数据和配置,对象中的每一个配置都对应了一个算子编号,当该对象传入算子时,该算子只获取自己需要的配置去处理数据,处理完成后将处理好的数据重新写入该对象继续向下游传递,最终经过sink算子处理后的就是最终的结果数据,sink算子再从封装对象中获取到该条数据要写入的目的地并最终写入,整条数据流完成。
[0088] 本申请实施例所提供的技术方案中,配置跟数据流一同流向各个算子,所以在上游数据源就可以将配置与待处理的数据封装到一起,当配置改变时,也就代表了对该条处理处理的方式也进行了改变,即实现了动态修改,也即实现了在不下线任务的情况下,对计算任务的计算逻辑进行更新,步骤简便且能够满足实时性要求较高的业务的需求。
[0089] 图2是本申请实施例提供的一种流数据任务处理装置结构示意图。如图2所示,该装置可以包括评估模块210,第一算子220、第二算子230和sink算子240。
[0090] 评估模块210,用于评估所述任务的需求,并根据评估结果选择对应的算子。
[0091] 第一算子220,用于获取任务的第一数据包;其中,所述第一数据包由配置数据与第一源数据封装得到;第一算子220,获取所述数据包中对应的第一配置数据,并根据所述第一配置数据,对所述数据包中的源数据进行处理,得到第二源数据;所述第一算子将所述第二源数据与所述配置数据进行封装得到第二数据包,并将所述第二数据包传递给下一个算子;
[0092] sink算子240,用于根据所述第二数据包中的与所述sink算子对应的配置数据,对所述第二源数据进行处理得到结果数据,并进行输出;其中,所述sink算子为所述任务的最后一个算子。
[0093] 在本申请的一种实施例中,第一算子还包括:分类标记模块,用于对所述配置数据进行分类并标记。所述分类标记模块依据不同的算子,对所述配置数据进行分类并标记。图2所示装置中的各个模块/单元具有实现图1中S1‑S3各个步骤以及方法实施例的功能,并能达到其相应的技术效果,为简洁描述,在此不再赘述。
[0094] 图3示出了本申请实施例提供的流数据任务处理设备的硬件结构示意图。
[0095] 在流数据任务处理设备可以包括处理器301以及存储有计算机程序指令的存储器302。
[0096] 具体地,上述处理器301可以包括中央处理器(Central Processing Unit,CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
[0097] 存储器302可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器302可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在一个实例中,存储器302可以包括可移除或不可移除(或固定)的介质,或者存储器302是非易失性固态存储器。存储器302可在综合网关容灾设备的内部或外部。
[0098] 在一个实施例中,存储器302可以包括只读存储器(ROM),随机存取存储器(RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本公开的一方面的方法所描述的操作。
[0099] 处理器301通过读取并执行存储器302中存储的计算机程序指令,以实现图1所示实施例中的方法/步骤S1至S3,并达到图1所示实例执行其方法/步骤达到的相应技术效果,为简洁描述在此不再赘述。
[0100] 在一个示例中,流数据任务处理设备还可包括通信接口303和总线310。其中,如图3所示,处理器301、存储器302、通信接口303通过总线310连接并完成相互间的通信。
[0101] 通信接口303,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。
[0102] 总线310包括硬件、软件或两者,将在线数据流量计费设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(Accelerated Graphics Port,AGP)或其他图形总线、增强工业标准架构(Extended Industry Standard Architecture,EISA)总线、前端总线(Front Side Bus,FSB)、超传输(Hyper Transport,HT)互连、工业标准架构(Industry Standard Architecture,ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI‑Express(PCI‑X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线310可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
[0103] 该流数据任务处理设备可以实现在不下线任务的情况下,对计算任务的计算逻辑进行更新和修改,步骤简单且能够满足高实时性任务的需求,执行本申请实施例中的流数据任务处理方法。
[0104] 另外,结合上述实施例中的流数据任务处理方法,本申请实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意流数据任务处理方法。
[0105] 需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
[0106] 以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(Application Specific Integrated Circuit,ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD‑ROM、光盘、硬盘、光纤介质、射频(Radio Frequency,RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
[0107] 还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
[0108] 上面参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
[0109] 以上所述,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。