支持算法组件化的处理系统及方法与流程

文档序号:16854911发布日期:2019-02-12 23:09阅读:244来源:国知局
支持算法组件化的处理系统及方法与流程

本发明涉及计算机技术领域,具体涉及一种支持算法组件化的处理系统及方法。



背景技术:

随着科技及社会的不断发展,计算机领域中各类业务的数量也在不断提升。目前,为实现业务的处理,通常需开发人员根据需求编译相应的业务代码,并根据编译的业务代码进行业务处理。

然而,由于现有技术中需开发人员自行编译业务代码,从而大大降低了代码的编译效率;并且,在业务代码执行过程中,往往是根据代码中的执行逻辑,直接依次进行业务中各个任务的处理,从而引起成在业务代码编译不合理的情况下,业务处理过程冗长,业务处理效率低下的弊端。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的支持算法组件化的处理系统及方法。

根据本发明的一个方面,提供了一种支持算法组件化的处理系统,包括:

算法组件库,包含多个算法组件;

逻辑处理模块,用于解析输入的至少一个算法组件的组合关系,得到所述至少一个算法组件对应的业务逻辑拓扑关系;以及,根据输入的业务场景配置信息以及所述业务逻辑拓扑关系创建处理任务;

运行环境处理模块,用于根据所述业务场景配置信息进行运行环境的初始化处理;

多个计算引擎,分别用于执行处理任务。

根据本发明的另一方面,提供了一种支持算法组件化的处理方法,包括:

获取用户输入的至少一个算法组件的组合关系以及业务场景配置信息;

解析所述至少一个算法组件的组合关系,得到所述至少一个算法组件对应的业务逻辑拓扑关系;

根据输入的业务场景配置信息以及所述业务逻辑拓扑关系创建处理任务;

调用相应的计算引擎执行处理任务。

根据本发明的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;

所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述支持算法组件化的处理方法对应的操作。

根据本发明的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述支持算法组件化的处理方法对应的操作。

根据本发明提供的支持算法组件化的处理系统及方法,利用多个计算引擎执行处理任务;算法组件库包含多个算法组件;并利用逻辑处理模块解析输入的至少一个算法组件的组合关系,得到至少一个算法组件对应的业务逻辑拓扑关系;及根据输入的业务场景配置信息及业务逻辑拓扑关系创建处理任务;以及利用运行环境处理模块根据业务场景配置信息进行运行环境的初始化处理。本方案通过算法组件库的设置,无需开发人员编译代码,便可实现对业务的开发,从而使开发过程实现无代码化、直观化及可视化,提高业务开发效率;并通过多个计算引擎、逻辑处理模块及运行环境处理模块的设置进一步地提高业务的处理效率,便于实现业务从开发到处理的高效执行。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了根据本发明一个实施例提供的一种支持算法组件化的处理系统的结构示意图;

图2示出了根据本发明另一个实施例提供的一种支持算法组件化的处理系统的结构示意图;

图3示出了根据本发明另一个实施例提供的一种操作界面示意图;

图4示出了根据本发明一个实施例提供的一种支持算法组件化的处理方法的流程示意图;

图5示出了根据本发明一个实施例提供的一种计算设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

图1示出了根据本发明一个实施例提供的一种支持算法组件化的处理系统的结构示意图。如图1所示,该系统包括:算法组件库11、逻辑处理模块12、运行环境处理模块13以及多个计算引擎14。

算法组件库11,包含多个算法组件。

不同于现有技术需由开发人员根据业务需求编译相应的业务代码,本实施例的处理系统提供有包含多个算法组件的算法组件库11,该多个算法组件是根据业务处理过程中所涉及的算法封装而成。通过算法组件库11中多个算法组件的设置,用户仅需选择算法组件库11中的算法组件,并对选择的算法组件进行编排等便可完成业务开发,从而实现业务开发的无代码化。

可选的,为提高用户的操作便捷性,且使算法组件库11提供的多个算法组件能满足更多用户的离线计算、实时计算、机器学习及在线查询等业务需求,本实施例中的算法组件库11包括多个细粒度的基础算法组件。该基础算法组件包括抽取类算法组件、转换类算法组件和/或加载类算法组件。其中,抽取类算法组件又可以包括mysql抽取组件、hdfs抽取组件及hive抽取组件;转换类算法组件可以包括过滤组件、替换组件、排序组件、连接组件、聚合组件、和/或合并组件;加载类算法组件包括mysql加载组件、hdfs加载组件和/或hive加载组件。在此,本领域技术人员应当理解的是,本发明并不对算法组件库中的基础算法组件的具体类型等不作限定,本领域技术人员可根据实际的需求对业务所需的算法进行细粒度划分,封装获得多个细粒度的基础算法组件。

可选的,为提高用户的操作便捷性,算法组件库11还提供有模板算法组件,该模板算法组件可以为至少一个基础算法组件的集合,用于解决至少一个特定的业务需求。例如,在实际的业务处理过程中,计算pv(pageview,页面访问量)-uv(uniquevisitor,独立访客)通常为一常用的业务需求,为避免用户对该常用业务需求的重复编译,本实施例中可基于计算pv-uv所需的基础算法组件,以及所需的基础算法组件之间的逻辑关系,封装为pvuv模板算法组件,从而通过该组件直接实现对pv-uv的计算。

可选的,为满足部分用户的个性化需求,以及适配复杂的业务场景,本系统中还包含有自定义算法组件。该自定义算法组件可由用户自行编译。具体地,自定义算法组件可通过以下步骤生成:首先,监测生成自定义算法组件的触发操作,获取用户根据系统开放api所提供的编译数据,生成编译数据包。其中,生成自定义算法组件的触发操作可以为针对预设热区的点击操作,本发明对该触发操作的具体类型不做限定。并且,在编译数据包生成过程中,系统提供有至少一个编译方法,该编译方法可以包括初始化方法、执行方法和/或输出方法等等。该编译方法是对计算引擎的原生接口的进一步封装,用户可通过系统开放api对提供的至少一个编译方法进行编译,从而避免用户直接对计算引擎的原生接口进行某些不利操作。所以,编译数据包具体是根据用户通过系统开放api对提供的至少一个编译方法的编译操作而获得的。进一步,在生成编译数据包之后,将该编译数据包分发到集群的各个处理器中,以供在后续使用该自定义算法组件时,根据针对该自定义算法组件配置的路径调用相应的编译数据包进行高效的业务执行。进一步可选的,在生成自定义算法组件之后,还可为该自定义算法组件配置相应的权限信息,从而仅在用户身份与自定义算法组件的权限信息匹配的情况下,允许用户利用自定算法组件进行无代码化业务开发。

由于本实施例为用户提供有包含多个算法组件的算法组件库11,从而使用户仅仅输入相应的算法组件及对应的组合关系便可实现业务开发,并可基于输入的至少一个算法组件的组合关系实现业务的处理。然而,输入的至少一个算法组件的组合关系并非为业务处理过程的最优执行逻辑,直接根据输入的至少一个算法组件的组合关系进行各算法组件的执行,极易引起业务执行效率的降低。故此,为提高业务处理效率,本实施例中的系统还包含有逻辑处理模块12,以实现对业务处理过程中的业务逻辑优化。

逻辑处理模块12,用于解析输入的至少一个算法组件的组合关系,得到至少一个算法组件对应的业务逻辑拓扑关系;以及,根据输入的业务场景配置信息以及业务逻辑拓扑关系创建处理任务。

通过对输入的至少一个算法组件的组合关系的解析,可获得至少一个算法组件对应的业务逻辑拓扑关系。其中,按照业务逻辑拓扑关系进行业务处理的处理结果与直接按照至少一个算法组件的组合关系进行业务处理的处理结果相同,从而在保证业务处理结果相同的情况下,提升业务处理效率。举例来说,若用户输入的算法组件有组件a、b及c,输入的组件a、b及c的组合关系为a→b→c的顺序关系,然而,通过解析组件a、b及c之间关系之后发现,组件a与组件b可并行执行,则业务逻辑拓扑关系可以为a→c←b,基于此业务逻辑拓扑关系进行业务处理可具有较高的处理效率。

可选的,逻辑处理模块12在进行业务逻辑优化过程中,具体解析前向星数据结构的至少一个算法组件的组合关系,其中,前向星属于dag(directedacyclicgraph,有向无环图)中的一类,其是一种以储存边的方式来存储图的数据结构,其无需像邻接表那样用指针指向下一条边,从而便于提高业务处理效率。在解析至少一个算法组件的组合关系之后,对至少一个算法组件进行拓扑排序,根据拓扑排序结果得到至少一个算法组件对应的业务逻辑拓扑关系。其中,本发明对拓扑排序的具体算法等不作限定,例如,可采用dag中的aoe(activityonedgenetwork)算法来进行拓扑排序。

进一步地,为保障业务处理的顺利执行,本系统还提供有可供用户输入业务场景配置信息的接口。可选的,业务场景配置信息可以为业务描述信息、数据源信息以及计算引擎信息。即用户在输入算法组件及算法组件的组合关系的同时或之后,还可输入业务场景配置信息。其中,用户输入的业务场景配置信息可以为预设类型,如json类型。

则逻辑处理模块12根据输入的业务场景配置信息以及业务逻辑拓扑关系创建处理任务。即逻辑处理模块12将业务处理过程为转换为至少一个处理任务的执行,从而通过对创建的处理任务的执行便可实现对业务的处理。可选的,在根据输入的业务场景配置信息以及业务逻辑拓扑关系创建处理任务过程中,逻辑处理模块12将用户输入的预设类型的业务场景配置信息结合业务逻辑拓扑关系,创建出可供引擎识别的处理任务信息,从而将该处理任务信息传递至引擎,供引擎来执行处理任务。

由于逻辑处理模块12最终将业务处理过程转换为至少一个处理任务,并由引擎来执行处理任务,而引擎在执行处理任务时,为保障任务的处理效率及处理结果的准确性,本系统还包含有进行初始化处理的运行环境处理模块13。

运行环境处理模块13,用于根据业务场景配置信息进行运行环境的初始化处理。其中,运行环境的初始化处理包括引擎初始化、调度初始化、metrics初始化、和/或listener初始化等等。

多个计算引擎14,分别用于执行处理任务。

本系统中由逻辑处理模块12创建的处理任务最终由计算引擎来执行。由于在实际的业务处理过程中,通常需多个计算引擎来实现应用的不同功能,甚至同一功能的不同子功能,所以,本系统提供有多个计算引擎以满足不同的业务需求。其中,本发明对计算引擎的具体类型等不作限定,例如,计算引擎可以为spark引擎和/或flink引擎等。

由此可见,本实施例提供的支持算法组件化的处理系统,提供有包含多个算法组件的算法组件库,从而用户仅需输入选择的至少一个算法组件以及至少一个算法组件的组合关系,便可实现业务开发,避免现有技术中需开发人员根据业务需求进行代码编译的技术弊端,进而实现业务开发无代码化,提高开发效率,提升用户体验;并且,由逻辑处理模块解析输入的至少一个算法组件的组合关系,得到至少一个算法组件对应的业务逻辑拓扑关系,从而获得最优的业务执行逻辑,提升业务执行效率;并由逻辑处理模块根据输入的业务场景配置信息以及业务逻辑拓扑关系创建处理任务,将业务处理过程转换为可由计算引擎执行的处理任务;最终通过运行环境处理模块初始化运行环境以及多个计算引擎来执行处理任务,实现业务从开发至处理的高效稳定的运行。

图2示出了根据本发明另一个实施例提供的一种支持算法组件化的处理系统。如图2所示,在图1所示系统的基础上,该系统还包含有:组件界面处理模块21、调度模块22及数据采集模块23。

其中,为提高用户利用系统中的算法组件库11进行无代码化业务开发的可视性及操作便捷性,本实施例提供的处理系统中还包含有组件界面处理模块21。

组件界面处理模块21,用于提供算法组件的操作界面,以供用户利用该操作界面输入至少一个算法组件的组合关系以及业务场景配置信息。

用户可通过提供的操作界面输入算法组件的组合关系以及业务场景配置信息。可选的,为进一步提高用户进行无代码化业务开发的可视性及操作便捷性,本实施例中提供算法组件的操作界面具体为图元化操作界面。则用户在进行无代码化业务开发过程,可监测用户在该图元化操作界面执行的针对至少一个算法组件图元的选择操作,并根据用户在图元化操作界面中对该至少一个算法组件图元的编排操作(其中,编排操作可以为点击操作和/或移动操作),生成对应的图元编排图。则可根据图元编排图包含的各个算法组件图元对应的算法组件,以及图元编排图包含的编排关系确定该至少一个算法组件的组合关系。可选的,在生成图元编排图之后,还可进一步接收针对该生成的图元编排图的修改操作,对图元编排图进行修改,并确定修改后的图元编排图包含的各个算法组件图元对应的算法组件,以及根据修改后的图元编排图包含的编排关系确定至少一个算法组件的组合关系。

举例来说,如图3所示的图元化操作界面,在该图元化操作界面中,区域3-1内包含有多个算法组件图元,具体地,该多个算法组件图元包括:基础算法组件图元、模板算法组件图元及自定义算法组件图元。图元化操作界面中提供的各组件图元与系统中的算法组件相对应。其中,基础算法组件图元包括:抽取类组件图元、转换类组件图元和/或加载类组件图元。抽取类算法组件图元又可以包括mysql抽取组件图元、hdfs抽取组件图元及hive抽取组件图元;转换类算法组件图元可以包括过滤组件图元、替换组件图元、排序组件图元、连接组件图元、聚合组件图元、和/或合并组件图元;加载类算法组件图元包括mysql加载组件图元、hdfs加载组件图元和/或hive加载组件图元。图3所示图元化操作界面中的模板算法组件图元为pvuv模板组件图元。

如图3所示,用户可拖动hive抽取组件图元、替换组件图元、pvuv模板组件图元及mysql加载组件图元至区域3-2中,并在该区域内对选择的各算法组件图元进行编排,获得区域3-2内所示的图元编排图。在图元编排图中,图元之间的连线表示连接的两个图元对应的算法组件之间存在数据依赖和/或执行顺序依赖。在选择hive抽取组件图元、替换组件图元、pvuv模板组件图元及mysql加载组件图元的过程中,还可在区域3-3内输入针对选择的算法组件的业务场景配置信息。

逻辑处理模块12进一步包括121及内层逻辑处理子模块122。

外层控制子模块121,用于根据业务场景配置信息控制相应的计算引擎。具体地,如图1所示实施例中描述可知,业务场景配置信息中包含有业务描述信息、数据源信息及计算引擎信息,则外层控制子模块121可根据该业务场景配置信息进行计算引擎的控制。如控制某一计算引擎执行某一处理任务等等。

内层逻辑处理子模块122,用于解析输入的至少一个算法组件的组合关系,得到至少一个算法组件对应的业务逻辑拓扑关系;以及,根据输入的业务场景配置信息以及业务逻辑拓扑关系创建处理任务。

在创建处理任务之后,为使创建的各处理任务能有序高效地执行,本系统中还包含有调度模块22。

调度模块22,用于对处理任务进行调度处理,调用相应的计算引擎执行处理任务。

可选的,调度模块22调用相应的计算引擎执行处理任务过程中,为节省调度资源,当前置任务未完成时,不对后置任务进行调度处理,即仅在前置任务处理完成之后,进行后置任务的执行。

数据采集模块23,用于在计算引擎执行处理任务的过程中,采集并存储各个算法组件的引擎输出数据。

具体地,在计算引擎执行处理任务的过程中,数据采集模块23采集并存储算法组件a的引擎输出数据,计算组件b数据依赖于算法组件a,则在执行计算组件b的处理任务时,从数据采集模块23处获取算法组件a的引擎输出数据。

可选的,数据采集模块23中还存储有与引擎输出数据相对应的源数据,从而满足不同的计算引擎的数据适配需求。具体地,由于不同的计算引擎所需的数据格式等不尽相同,同一数据在不同计算引擎中流转时,需转换为对应的引擎数据格式,从而在计算引擎执行处理任务过程中,需携带有源数据及对应的引擎数据两类数据,进而增加计算引擎的存储开销,而本发明则是将源数据及引擎输出数据存储于数据采集模块23,当计算引擎需获取数据时从数据采集模块23处获取相应的数据,从而节省系统存储开销。

在一种可选的实施方式中,本系统还包含有任务调测模块(图中未示出),用于对创建的处理任务进行调测。

具体地,用户可通过预设方式激活任务调测模块,从而进入任务调测模式。在任务调测模式中,监测用户针对任一算法组件的断点插入操作,为该算法组件设置调测断点;在处理任务的执行过程中,采集设置有调测断点的算法组件的引擎输入数据以及引擎输出数据;并输出该引擎输入数据及引擎输出数据,以供用户进行调测。可选的,输出的引擎输入数据及引擎输出数据可以从至少一个呈现维度进行呈现。其中,呈现维度包括:时间维度、调测数据比例维度、和/或调测结果维度等等。从而可根据用户对呈现维度的选择呈现相应的调测数据。进一步可选的,当引擎输入数据及引擎输出数据数据量较大时,可将引擎输入数据及引擎输出数据以分布式的方式存储。

在又一种可选的实施方式中,为在处理任务执行过程中实现业务规则与业务执行逻辑的解耦,本系统中还包含有规则引擎(图中未示出)。

具体地,规则引擎在运行过程中,可首先构建规则库,即对获取的规则数据进行语法校验,其中,规则数据包含规则条件数据以及规则条件数据对应的规则结果数据;若规则数据语法校验合格,则将规则数据存储于预设的规则库中,则预设的规则库中包含有至少一条规则数据;在构建规则库之后,获取处理任务数据,将处理任务数据与预设的规则库中的至少一条规则条件数据进行匹配,确定与该处理任务数据相匹配的目标规则条件数据;将与目标规则条件数据相对应的规则结果数据确定为与该处理任务数据对应的处理结果。可选的,在规则匹配过程中,可将预设的规则库中的至少一条规则条件数据转换为预设树形结构(如rete树形结构)的规则集,从而根据预设树形结构的规则集,确定与处理任务数据相匹配的目标规则条件数据。进一步可选的,当确定与待处理数据相匹配的目标规则条件数据为多条时,则需采用预设的冲突解决算法,确定待处理数据对应的处理结果。其中,预设的冲突算法可以为优先级冲突解决算法,如agenda冲突解决算法等。可选的,可为规则集中的各条规则配置相应的访问权限,从而根据访问权限对处理任务数据进行规则匹配。

由此可见,本实施例提供的处理系统,在实现业务开发无代码化,提高开发效率,提升用户体验的基础上,进一步通过组件界面处理模块提高用户开发过程中的可视化及操作便捷性;并在逻辑处理模块获创建处理任务之后,通过调度模块实现处理任务的有序高效地调度;并通过数据采集模块满足不同的计算引擎的数据适配需求,并可降低系统的存储开销。从而实现业务从开发至处理的高效稳定的运行。

图4示出了根据本发明一个实施例提供的一种支持算法组件化的处理方法的流程示意图。如图4所示,该方法包括:

步骤s410,获取用户输入的至少一个算法组件的组合关系以及业务场景配置信息。

步骤s420,解析至少一个算法组件的组合关系,得到至少一个算法组件对应的业务逻辑拓扑关系。

步骤s430,根据输入的业务场景配置信息以及业务逻辑拓扑关系创建处理任务。

步骤s440,调用相应的计算引擎执行处理任务。

可选的,获取用户输入的至少一个算法组件的组合关系以及业务场景配置信息进一步包括:获取用户通过操作界面输入的至少一个算法组件的组合关系以及业务场景配置信息。

可选的,业务场景配置信息包含:业务描述信息、数据源信息以及计算引擎信息。

可选的,该方法还包括:根据业务场景配置信息控制相应的计算引擎。

可选的,解析所述至少一个算法组件的组合关系,得到所述至少一个算法组件对应的业务逻辑拓扑关系进一步包括:解析前向星数据结构的所述至少一个算法组件的组合关系,对所述至少一个算法组件进行拓扑排序,根据拓扑排序结果得到所述至少一个算法组件对应的业务逻辑拓扑关系。

可选的,调用相应的计算引擎执行处理任务进一步包括:对处理任务进行调度处理,调用相应的计算引擎执行处理任务。

可选的,该方法还包括:在计算引擎执行处理任务的过程中,采集并存储各个算法组件的引擎输出数据。

其中,本实施例中的处理方法的具体实施过程可参照图1或图2所示系统实施例中相应部分的描述,本实施例在此不做赘述。

由此可见,本实施例提供的支持算法组件化的处理方法,用户仅需输入至少一个算法组件的组合关系及业务场景配置信息,便可实现业务开发,避免现有技术中需开发人员根据业务需求进行代码编译的技术弊端,进而实现业务开发无代码化,提高开发效率,提升用户体验;并且,通过解析输入的至少一个算法组件的组合关系,得到至少一个算法组件对应的业务逻辑拓扑关系,从而获得最优的业务执行逻辑,提升业务执行效率;并根据输入的业务场景配置信息以及业务逻辑拓扑关系创建处理任务,将业务处理过程转换为可由计算引擎执行的处理任务,从而实现业务从开发至处理的高效稳定的运行。

根据本发明一个实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的支持算法组件化的处理方法。

图5示出了根据本发明一个实施例提供的一种计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。

如图5所示,该计算设备可以包括:处理器(processor)502、通信接口(communicationsinterface)504、存储器(memory)506、以及通信总线508。

其中:

处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。

通信接口504,用于与其它设备比如客户端或其它服务器等的网元通信。

处理器502,用于执行程序510,具体可以执行上述支持算法组件化的处理方法实施例中的相关步骤。

具体地,程序510可以包括程序代码,该程序代码包括计算机操作指令。

处理器502可能是中央处理器cpu,或者是特定集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。

存储器506,用于存放程序510。存储器506可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

程序510具体可以用于使得处理器502执行以下操作:

获取用户输入的至少一个算法组件的组合关系以及业务场景配置信息;

解析所述至少一个算法组件的组合关系,得到所述至少一个算法组件对应的业务逻辑拓扑关系;

根据输入的业务场景配置信息以及所述业务逻辑拓扑关系创建处理任务;

调用相应的计算引擎执行处理任务。

在一种可选的实施方式中,程序510具体可以用于使得处理器502执行以下操作:

获取用户通过操作界面输入的至少一个算法组件的组合关系以及业务场景配置信息。

在一种可选的实施方式中,所述业务场景配置信息包含:业务描述信息、数据源信息以及计算引擎信息。

在一种可选的实施方式中,程序510具体可以用于使得处理器502执行以下操作:根据所述业务场景配置信息控制相应的计算引擎。

在一种可选的实施方式中,程序510具体可以用于使得处理器502执行以下操作:

解析前向星数据结构的所述至少一个算法组件的组合关系,对所述至少一个算法组件进行拓扑排序,根据拓扑排序结果得到所述至少一个算法组件对应的业务逻辑拓扑关系。

在一种可选的实施方式中,程序510具体可以用于使得处理器502执行以下操作:

对处理任务进行调度处理,调用相应的计算引擎执行处理任务。

在一种可选的实施方式中,程序510具体可以用于使得处理器502执行以下操作:

在计算引擎执行处理任务的过程中,采集并存储各个算法组件的引擎输出数据。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例中的支持算法组件化的处理系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

本发明公开了:a1.一种支持算法组件化的处理系统,其包括:

算法组件库,包含多个算法组件;

逻辑处理模块,用于解析输入的至少一个算法组件的组合关系,得到所述至少一个算法组件对应的业务逻辑拓扑关系;以及,根据输入的业务场景配置信息以及所述业务逻辑拓扑关系创建处理任务;

运行环境处理模块,用于根据所述业务场景配置信息进行运行环境的初始化处理;

多个计算引擎,分别用于执行处理任务。

a2.根据a1所述的系统,其中,所述系统还包括:组件界面处理模块,用于提供算法组件的操作界面,以供用户利用所述操作界面输入至少一个算法组件的组合关系以及业务场景配置信息。

a3.根据a1或a2所述的系统,其中,所述业务场景配置信息包含:业务描述信息、数据源信息以及计算引擎信息。

a4.根据a1所述的系统,其中,所述逻辑处理模块进一步包括:

外层控制子模块,用于根据所述业务场景配置信息控制相应的计算引擎;

内层逻辑处理子模块,用于解析输入的至少一个算法组件的组合关系,得到所述至少一个算法组件对应的业务逻辑拓扑关系;以及,根据输入的业务场景配置信息以及所述业务逻辑拓扑关系创建处理任务。

a5.根据a1所述的系统,其中,所述逻辑处理模块进一步用于:解析前向星数据结构的所述至少一个算法组件的组合关系,对所述至少一个算法组件进行拓扑排序,根据拓扑排序结果得到所述至少一个算法组件对应的业务逻辑拓扑关系。

a6.根a1-a5中任一项所述的系统,其中,所述系统还包括:调度模块,用于对处理任务进行调度处理,调用相应的计算引擎执行处理任务。

a7.根据a1所述的系统,其中,所述系统还包括:数据采集模块,用于在计算引擎执行处理任务的过程中,采集并存储各个算法组件的引擎输出数据。

本发明还公开了:b8.一种支持算法组件化的处理方法,包括:

获取用户输入的至少一个算法组件的组合关系以及业务场景配置信息;

解析所述至少一个算法组件的组合关系,得到所述至少一个算法组件对应的业务逻辑拓扑关系;

根据输入的业务场景配置信息以及所述业务逻辑拓扑关系创建处理任务;

调用相应的计算引擎执行处理任务。

b9.根据b8所述的方法,其中,所述获取用户输入的至少一个算法组件的组合关系以及业务场景配置信息进一步包括:

获取用户通过操作界面输入的至少一个算法组件的组合关系以及业务场景配置信息。

b10.根据b8或b9所述的方法,其中,所述业务场景配置信息包含:业务描述信息、数据源信息以及计算引擎信息。

b11.根据b8所述的方法,其中,所述方法还包括:根据所述业务场景配置信息控制相应的计算引擎。

b12.根据b8所述的方法,其中,所述解析所述至少一个算法组件的组合关系,得到所述至少一个算法组件对应的业务逻辑拓扑关系进一步包括:

解析前向星数据结构的所述至少一个算法组件的组合关系,对所述至少一个算法组件进行拓扑排序,根据拓扑排序结果得到所述至少一个算法组件对应的业务逻辑拓扑关系。

b13.根据b8-b12中任一项所述的方法,其中,所述调用相应的计算引擎执行处理任务进一步包括:

对处理任务进行调度处理,调用相应的计算引擎执行处理任务。

b14.根据b8所述的方法,其中,所述方法还包括:

在计算引擎执行处理任务的过程中,采集并存储各个算法组件的引擎输出数据。

本发明还公开了:c15.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;

所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如b8-b14中任一项所述的支持算法组件化的处理方法对应的操作。

本发明还公开了:d16.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如b8-b14中任一项所述的支持算法组件化的处理方法对应的操作。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1