分布式计算事务处理方法及装置制造方法

文档序号:6508754阅读:104来源:国知局
分布式计算事务处理方法及装置制造方法
【专利摘要】本发明公开了一种分布式计算事务处理方法及装置,该方法包括:接收分布式计算事务的执行指令;根据所述执行指令,查找所述分布式计算事务的流程配置文件;根据所述流程配置文件,确定所述分布式计算事务中每一执行步骤各自对应的处理器及各处理器的执行顺序;按所述执行顺序调用各处理器执行所述分布式计算事务。本发明使分布式计算事务的执行流程统一、规范,可以节约开发资源,降低开发难度及对开发人员的技术要求,有利于推进分布式计算技术的快速发展和应用。
【专利说明】
分布式计算事务处理方法及装置

【技术领域】
[0001]本申请涉及分布式计算【技术领域】,尤其涉及分布式计算事务处理方法及装置。

【背景技术】
[0002]分布式计算事务是一种计算方法,通过定义事务中的执行逻辑来让一个计算需求可以完整的工作。在现有技术中,分布式计算事务是以编写代码的形式来实现,然而编写何种代码是由编写者决定的,不同的人编写不同的代码,且不同的代码之间是不能够被部分复用的,每一次编写的代码只能使用一种计算模型,这就造成了一定程度上的资源浪费,还让分布式计算的开发难度不断增加,对开发者的程序开发知识要求过多,不能适应分布式计算技术的快速发展。


【发明内容】

[0003]在本申请的一个实施例中提供一种分布式计算事务处理方法,用以避免资源浪费,降低开发难度,适应分布式计算技术的快速发展,该方法包括:
[0004]接收分布式计算事务的执行指令;
[0005]根据所述执行指令,查找所述分布式计算事务的流程配置文件;
[0006]根据所述流程配置文件,确定所述分布式计算事务中每一执行步骤各自对应的处理器及各处理器的执行顺序;
[0007]按所述执行顺序调用各处理器执行所述分布式计算事务。
[0008]在本申请的另一实施例中提供一种分布式计算事务处理装置,用以避免资源浪费,降低开发难度,适应分布式计算技术的快速发展,该装置包括:
[0009]接收模块,用于接收分布式计算事务的执行指令;
[0010]查找模块,用于根据所述执行指令,查找所述分布式计算事务的流程配置文件;
[0011]确定模块,用于根据所述流程配置文件,确定所述分布式计算事务中每一执行步骤各自对应的处理器及各处理器的执行顺序;
[0012]执行模块,用于按所述执行顺序调用各处理器执行所述分布式计算事务。
[0013]本申请的实施例中,分布式计算事务中每一执行步骤均有各自对应的处理器,执行一分布式计算事务只需查找到相应的流程配置文件,根据流程配置文件确定需调用的处理器、及这些处理器的执行顺序,按执行顺序调用这些处理器执行即可,使分布式计算事务的执行流程统一、规范,可避免同一分布式计算事务由不同开发人员编写不同代码而造成资源浪费、开发困难;并且,各处理器在不同的分布式计算事务中是可以复用的,开发人员无需重写代码来实现不同的分布式计算事务,只需确定流程配置文件,即可通过对处理器及处理器执行顺序的配置,实现不同分布式计算事务的执行,节约开发资源,降低开发难度及对开发人员的技术要求,有利于推进分布式计算技术的快速发展和应用;另外,采用调用处理器的方式执行分布式计算事务,也可以简单易行地在一个分布式计算事务使用到多个分布式计算环境中的计算模型,充分利用多个计算模型的优点完成复合式计算,来适应复杂计算场景,相对于现有技术而言,开发难度较小,应用范围更广。

【专利附图】

【附图说明】
[0014]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
[0015]图1为本申请实施例中分布式计算事务处理方法的流程图;
[0016]图2为本申请实施例中分布式计算事务注册的一具体实例的示意图;
[0017]图3为本申请实施例中分布式计算事务执行步骤对应的处理器的示意图;
[0018]图4为本申请实施例中滤镜的示意图;
[0019]图5为本申请实施例中分布式计算事务为在线分布式计算事务的处理过程示意图;
[0020]图6为本申请实施例中一次分布式计算的事务过程示意图;
[0021]图7为本申请实施例中分布式计算事务处理装置的结构示意图;
[0022]图8为本申请实施例中分布式计算事务处理装置的一具体实例的结构示意图;
[0023]图9为本申请实施例中分布式计算事务处理装置的一具体实例的结构示意图。

【具体实施方式】
[0024]为使本申请实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本申请实施例做进一步详细说明。在此,本申请的示意性实施例及其说明用于解释本申请,但并不作为对本申请的限定。
[0025]为了避免资源浪费,降低开发难度,适应分布式计算技术的快速发展,在本申请的实施例中提供一种分布式计算事务处理方法,将分布式计算事务中每一执行步骤均各自对应一处理器,执行一分布式计算事务时先查找到相应的流程配置文件,根据流程配置文件确定出需调用的处理器、及这些处理器的执行顺序,再按执行顺序调用这些处理器执行,以完成分布式计算事务处理,使得分布式计算事务的执行流程统一、规范。举个例子,评分卡模型大致是由多个评分卡子模型给出各自的评分,最终使用一种算法对所有的评分给出一个综合评分,需要的步骤可以包括:
[0026]1、先准备每一个评分卡子模型的数据:一个评分卡子模型有可能是单表,也有可能是多表,此时需要把这些表整理成一张宽表,每个评分卡子模型各自有一张宽表;
[0027]2、并行处理:分别计算出每一个评分卡子模型的评分,统一输出到一张表A中;
[0028]3、进行统计计算:对表A中的数据执行统计计算,最终得到一个评分值,以及评分结论的参考说明。
[0029]对上述的评分卡模型,本申请将其作为一个分布式计算事务,每一执行步骤各自对应的处理器可以包括:
[0030]1、数据表连接处理器(Pl):用于合并一张或多张表,并输出到一个定义的新表中;
[0031]2、评分卡子模型处理器(P2):用于一个评分卡子模型的计算,并输出到一个定义的输出表中;
[0032]3、统计处理器(P3):用于通过设定的统计算法,计算出综合评分,并输出到一个指定的输出表中;
[0033]该分布式计算事务的流程配置文件:一个流程定义Flowl,包含多个步骤:顺序执行一个或多个Pl ;—个循环逻辑执行P2 ;执行P3。
[0034]通过Flowl和P1、P2、P3的定义,不但可以实现其他类似的评分场景,而且其中的Pl可以应用到其他非评分卡类的模型计算中,P3通过扩充统计算法可以实现更多、更复杂的统计方式。
[0035]下面详细说明本申请实施例中分布式计算事务处理方法的具体实施。
[0036]图1为本申请实施例中分布式计算事务处理方法的流程图。如图1所示,本申请实施例中分布式计算事务处理方法可以包括:
[0037]步骤101、接收分布式计算事务的执行指令;
[0038]步骤102、根据接收的分布式计算事务的执行指令,查找该分布式计算事务的流程配置文件;
[0039]步骤103、根据查找的流程配置文件,确定该分布式计算事务中每一执行步骤各自对应的处理器及各处理器的执行顺序;
[0040]步骤104、按确定的执行顺序调用各处理器执行该分布式计算事务。
[0041]由图1所示流程可以得知,本申请实施例中的分布式计算事务处理方法可以是一种在离线或在线分布式计算过程中定义的,用于数据整理、数据转换、数据计算、和数据输入输出的流程性规范和执行框架。它本身不做计算,但提供一种计算的驱动逻辑,让计算单元(处理器)有序的按照设定的顺序执行一个完整的分布式计算事务逻辑。本申请实施例中的分布式计算事务处理方法可应用于用决策引擎来运行信用、风险类的政策模型,例如可应用于AGDS (Alibaba General Decis1n Service,阿里巴巴通用决策服务)云决策产品中,可称为CE (Computing Engine,计算引擎)框架,在数据建模、政策部署的生产环境部署。
[0042]本申请实施例中,通过分布式计算事务的流程配置文件确定执行分布式计算事务所需的处理器,及这些处理器的执行顺序,按执行顺序调用这些处理器即可执行分布式计算事务,使分布式计算事务的执行流程统一、规范,从而避免同一分布式计算事务由不同开发人员编写不同代码而造成资源浪费、开发困难;并且,各处理器在不同的分布式计算事务中是可以复用的,可通过流程配置文件配置处理器及处理器执行顺序,以实现不同分布式计算事务的执行,进而节约开发资源,降低开发难度;另外,采用调用处理器的方式执行分布式计算事务,可以简单易行地在一个分布式计算事务中使用多个分布式计算环境中的计算模型,开发难度小,应用范围广。
[0043]在一个实施例中,在接收到分布式计算事务的执行指令后,先根据接收的执行指令,查找该分布式计算事务的流程配置文件。实施时一个分布式计算事务与相应的流程配置文件的对应关系可以事先确定,后续可以根据该对应关系查找到流程配置文件,当然也可以在查找的过程中根据一些输入信息即时确定流程配置文件。在一个较佳的实施例中,在分布式计算事务进行注册时确定流程配置文件。例如,在接收分布式计算事务的执行指令之前,还包括分布式计算事务的注册过程,该过程中包括:接收分布式计算事务的注册请求,根据该注册请求,注册该分布式计算事务的执行指令,并确定该分布式计算事务的流程配置文件。
[0044]图2为本申请一实施例中分布式计算事务注册的一具体实例的示意图。在本例中,将本申请实施例的分布式计算事务处理方法应用为AGDS云决策产品中的CE框架,如图2所示,CE框架部署在分布式计算环境中,其中包括为分布式计算事务进行注册的CE注册中心。多个分布式计算事务(I?6)要在分布式计算环境中执行,则需要先打包分发至分布式计算环境中的CE注册中心进行注册。每一个分布式计算事务可视为CE框架的一个插件。分布式计算事务向CE注册中心注册自己的执行指令,以获得执行的入口,外部通过发起相应的执行指令来触发对应的分布式计算事务执行,一个分布式计算事务可以有多个执行指令,每一个执行指令可以有自己的参数。分布式计算事务向CE注册中心注册时,CE注册中心会确定该分布式计算事务的流程配置文件。这样,在接收到一个分布式计算事务的执行指令后,能够确定要触发的分布式计算事务,并查找到该分布式计算事务的流程配置文件,并依据查找到的流程配置文件执行该分布式计算事务。
[0045]流程配置文件用于定义分布式计算事务中每一执行步骤各自对应的处理器及处理器的执行顺序,可以是XML (Extensible Markup Language,可扩展标记语言)配置文件。在一个实施例中,在查找到分布式计算事务的流程配置文件之后,将查找到的流程配置文件分发至分布式计算环境中。在执行分布式计算事务时,先根据分发至分布式计算环境中的流程配置文件,确定分布式计算事务中每一执行步骤各自对应的处理器及处理器的执行顺序,例如可以通过解析、加载、执行该分布式计算事务的流程配置文件,确定分布式计算事务中每一执行步骤各自对应的处理器及处理器的执行顺序。
[0046]对应于分布式计算事务中一执行步骤的处理器,是一个计算单元的抽象,是用于定义一个可以对大块数据进行加工、转换的处理单元。每一个处理器都有自己的特性,可以通过扩展处理器来扩展数据处理能力。不同的计算场景可以有不同的处理器,以代替一些单纯的手工开发计算代码。例如分布式计算环境中不同的计算模型可以有不同的处理器,比如:
[0047]执行DESQL (ODPS SQL,数据引擎结构化查询语言;SQL:Structured QueryLanguage,结构化查询语言)、HSQL (Hive SQL, Hive结构化查询语言)的处理器,一个可以从文件或配置中获取SQL脚本,并执行的处理器;
[0048]MR (Map/Reduce,映射/化简)处理器,一个可以执行Map/Reduce计算的处理器,它可以定义多个输入数据、输出数据,并指定内置的滤镜处理顺序;
[0049]Select (选择)处理器,一个用于查询数据库表,得到数据的处理器。
[0050]在一个实施例中,有些处理器中可以包括滤镜,滤镜是对一行数据进行计算的处理单元,滤镜处理的是一行数据,它是分布式计算中的最小单元,传统数值统计领域内的大多数问题都可以转换为对一行数据的计算。滤镜可以对一行数据进行如输出数据、一个算法、数据转换等计算。实施时可以通过扩展滤镜来扩展数据处理能力。
[0051]为了在分布式计算中异构的服务器之间保持统一的上下文,以保证XML配置文件中的设定能够实施,以及为了屏蔽hadoop、odps等分布式计算环境在实现上的差异,在一个较佳的实施例中,有些处理器还可以根据分布式计算中异构的服务器或不同的分布式计算环境,使用代理的方式封装分布式上下文,例如MR代理处理器,可以代理Map/Reduce过程中的所有处理过程,包括mapper (映射)、combin (合并)、reduce (化简)、group (分组)等。代理的方式实现了 Map/Reduce过程中各个处理类的子类,并根据实现的需要对一些关键的函数重定义了实现逻辑,加入了扩展功能,再将这些子类以基本抽象父类的方式提供出去,其他开发者无需关注在分布式计算中异构的服务器之间、或是在hadoop、odps等不同的分布式计算环境中Map/Reduce具体是如何运行,即可实现这些子类的功能。
[0052]图3为本申请一实施例中分布式计算事务执行步骤对应的处理器的示意图。图3中列出了一些处理器,并按照处理器的特性进行了划分:
[0053]1、基本处理器:定义了处理器的基本操作接口 ;基本处理器包括滤镜处理器和普通处理器。
[0054]2、滤镜处理器:处理器在处理数据时,使用滤镜对数据进行加工、转换,包括列表滤镜处理器、对照表滤镜处理器两种;其中列表滤镜处理器包括MR代理处理器,用于代理执行MR计算,包括Mapper处理器、Reducer处理器和Combiner处理器等用于特定Map/Reduce处理环节的处理器。
[0055]3、普通处理器:相对于滤镜处理器而言,未使用滤镜对数据进行加工、转换,是通用型处理器,实现了一些处理器的基本操作接口 ;普通处理器可扩展实现包含一些特殊处理方式的处理器,包括:
[0056]SQL处理器:可以执行结构化查询语言的处理器;
[0057]查询处理器:可以对特定数据存储介质发起数据查询的处理器,包括OTS (OpenTable Service,开放式数据表服务)、Tair (—种非关系型数据库)、0ceanBase (—种分布式数据库)、数据库等存储介质,如图3所示,查询处理器可以包括数据库查询处理器、OTS查询处理器、Tair查询处理器和OceanBase查询处理器;
[0058]数据验证处理器:可以对数据进行类型、波动率、范围、表达式计算等验证。
[0059]图4为本申请一实施例中滤镜的示意图。如图4所示,按照功能特性可以将滤镜划分为:
[0060]基本滤镜:定义了滤镜的基本操作接口 ;基本滤镜包括数据转换滤镜、数据输出滤镜和算法滤镜;其中:
[0061]数据转换滤镜:包括类型转换滤镜和列转换滤镜,其中类型转换滤镜用于对一行数据中的一列或多列进行类型转换,列转换滤镜用于对一行数据中的一列或多列数据进行重新排定或延伸,列转换滤镜包括多列对一列转换滤镜、多列对多列转换滤镜和一列对多列转换滤镜。
[0062]数据输出滤镜:包括数据表输出滤镜、消息输出滤镜和远程调用输出滤镜,其中数据表输出滤镜用于输出一行数据到一个数据表中,消息输出滤镜用于输出一行数据发送到消息服务中,远程调用输出滤镜用于调用远程服务器上的接口传输一行数据。
[0063]算法滤镜:包括决策引擎滤镜、分布式算法滤镜和脚本计算滤镜,其中决策引擎滤镜用于使用决策引擎对一行数据进行计算,分布式算法滤镜用于使用分布式算法对一行数据进行计算,脚本计算滤镜用于使用特定语言的脚本对一行数据进行计算。分布式算法滤镜包括傅里叶算法滤镜、决策数算法滤镜、逻辑回归算法滤镜和评分卡算法滤镜。
[0064]在一个实施例中,在确定分布式计算事务中每一执行步骤各自对应的处理器及处理器的执行顺序后,按确定的执行顺序调用各处理器执行该分布式计算事务。分布式计算事务的执行方式有两种,一种是带输入参数、返回值;另一种没有输入参数和返回值。前一种适合于实时分布式计算模式,因为实时分布式计算通常需要立刻知道计算结果。后一种适合离线分布式计算模式,离线分布式计算结果通常是以其他存储、转发方式来体现的,如结果表、文件等。实时分布式计算模式例如可以是在线分布式计算事务,用于将外部传入的一个或多个事件按照设定好的流程传入一台或多台服务器,层层过滤和计算,并最终返回结果。实时分布式计算模式例如还可以是分布式消息处理事务,用于对外部传入的消息,按照顺序或并行的传递给一台或多台消息服务器计算,并最终将结果转发。离线分布式计算模式例如可以是hadoop、odps等。实施时若分布式计算事务为离线分布式计算事务,贝Ij在进行事务处理后,对事务处理结果数据进行存储;若分布式计算事务为实时分布式计算事务,则在进行事务处理前,获取事务处理所需输入参数,在进行事务处理后,输出事务处理结果数据。
[0065]图5为本申请实施例中分布式计算事务为实时分布式计算事务的处理过程示意图。如图5所示,一计算模型为一分布式计算事务,在分布式计算环境中执行,该计算模型打包分发至分布式计算环境中的CE注册中心进行注册后,计算模型JAR (Java Archive,Java归档文件)包中包括脚本和XML配置文件,脚本可以是计算的代码、规则脚本等,XML配置文件用来描述计算模型是如何运行的,即该计算模型在分布式计算中的事务逻辑,包括描述各执行步骤对应的处理器及处理器的执行顺序。计算模型JAR包中还可以包括资源文件等物理资源,用于提供配合脚本运行的数据资源。计算模型受执行指令触发后,按照XML配置文件中设定的处理器执行顺序来一个处理器、一个处理器的执行。同时计算模型会从外部、输入参数中获取计算所需要的数据,计算完成后又会按照配置设定输出数据。一个处理器中可以有一个或多个数据过滤过程,每一个数据过滤过程都有滤镜列表,处理器读取的一行数据会经由数据过滤通道中的滤镜层层加工、转换,最终输出一行新的数据。
[0066]图6为本申请实施例中一次分布式计算的事务过程示意图。如图6所示,从第一步开始每一步都对应一处理器,包括实施步骤I功能的处理器,用于以DESQL方式Join(连接)多个表,创建临时表;实施步骤2功能的处理器,用于执行MR、MPI (Message PassingInterface,消息传递接口)或BSP (Bulk Synchronous Parallel,整体同步并行计算)计算模型,或进行规则引擎决策分析;实施步骤3功能的处理器,用于执行MR、MP1、BSP或SQL计算模型的数据验证,进行验证结果输出;实施步骤4功能的处理器,用于以DESQL方式清理临时表。由图6也可以看出,在申请的一个实施例中采用调用处理器的方式执行分布式计算事务,可以简单易行地在一个分布式计算事务使用到多个分布式计算环境中的计算模型,如DESQL和MR,这样可以充分利用多个计算模型的优点完成复合式计算,来适应复杂计算场景,相对于现有技术而言,开发难度较小,应用范围更广,有利于推进分布式计算技术的快速发展和应用。
[0067]如前所述,在一个实施例中,在调用各处理器执行时,若处理器中包括对一行数据进行计算的滤镜,则可以运行滤镜进行数据过滤处理。根据处理器支持的能力不同,滤镜的运行方式有两种,一种按照顺序执行,即按串行顺序对一行数据执行数据过滤处理;另一种按照设定并行执行,即按并行方式对一行数据执行数据过滤处理。
[0068]滤镜按串行顺序对一行数据执行数据过滤处理有一个典型的应用场景,在需要对一行数据做多次变换时,就可以采用这种方式:比如类型数据转换滤镜Π和数据表输出滤镜f2组合使用,当一行数据传递给fl时,fl会把这行数据中的一些字段类型转换成设定的另一种类型,然后传递给f2,f2把这行数据输出到指定的表中。又比如决策引擎滤镜fl和数据表输出滤镜f2组合使用,当一行数据传递给fl时,fl对这行数据用规则进行判断,并输出计算后的一行结果,然后将结果数据传递给f2,f2把这行数据输出到指定的表中。
[0069]滤镜对一行数据并行执行数据过滤处理可以用在决策评分场景,对一行数据用不同方式计算,之后对不同方式产生的结果汇总评判。比如傅里叶算法滤镜H、逻辑回归算法滤镜f2、评分卡算法滤镜f3和数据表输出滤镜f4组合使用,当一行数据传递给f 1,f I计算出一系列指标值,交给f2判定是否要回归,如果需要回归则再回到Π,否则给f3对指标值进行综合评判,评判的结果交给f4输出到数据表中。这种计算通常是多行数据并行执行,最终交由f3综合评定,因此使用到了并行方式执行。
[0070]本申请的实施例可利用分布式计算环境中提供的SDK (Software DevelopmentKit,软件开发工具箱),进行分布式计算的事务处理,可解决单机环境和分布式计算环境下的事务处理问题,对数据进行加工、转换和传输,并实现业务流程配置化管理,可应用于离线或在线分布式计算过程,包括应用于分布式计算、分布式算法或分布式规则引擎中,其中分布式算法例如可以是傅里叶、逻辑回归、神经网络等,分布式规则引擎用于采用决策表、决策树和规则等特定规则引擎方式,实现分布式规则判定。
[0071]由于目前最大的分布式计算环境是用java语言写的,如hadoop、odps等,因此本申请实施例的分布式计算事务处理方法也可以使用java语言开发,实施时每一个处理器都可以运行不同的脚本,这些脚本可以被静态编译成java代码即可,例如pythoruscala脚本。当然,也可以根据需要采用其它语言开发本申请实施例的分布式计算事务处理方法。如果要在hadoop、odps上运行一个分布式计算模型,只需要配置相应的流程配置文件即可,无需开发代码。
[0072]基于同一发明构思,本申请实施例中还提供了一种分布式计算事务处理装置,如下面的实施例所述。由于该装置解决问题的原理与分布式计算事务处理方法相似,因此该装置的实施可以参见分布式计算事务处理方法的实施,重复之处不再赘述。
[0073]图7为本申请实施例中分布式计算事务处理装置的结构示意图。如图7所示,本申请实施例中分布式计算事务处理装置可以包括:
[0074]接收模块701,用于接收分布式计算事务的执行指令;接收模块701是分布式计算事务处理装置中负责接收指令、请求、或信息的部分,可以是软件、硬件或二者的结合,例如可以是输入设备、输入接口等;
[0075]查找模块702,用于根据接收的执行指令,查找该分布式计算事务的流程配置文件;查找模块702是分布式计算事务处理装置中负责查找流程配置文件的部分,可以是软件、硬件或二者的结合,例如可以是完成该查找功能的处理芯片等元器件;
[0076]确定模块703,用于根据查找的流程配置文件,确定该分布式计算事务中每一执行步骤各自对应的处理器及各处理器的执行顺序;确定模块703是分布式计算事务处理装置中负责确定处理器及处理器执行顺序的部分,可以是软件、硬件或二者的结合,例如可以是完成该确定功能的处理芯片等元器件;
[0077]执行模块704,用于按确定的执行顺序调用各处理器执行该分布式计算事务;执行模块704是分布式计算事务处理装置中负责调用处理器执行分布式计算事务的部分,可以是软件、硬件或二者的结合,例如可以是完成该执行功能的处理芯片等元器件。
[0078]本实施例中,确定模块通过分布式计算事务的流程配置文件确定执行分布式计算事务所需的处理器,及这些处理器的执行顺序,执行模块按执行顺序调用这些处理器即可执行分布式计算事务,使分布式计算事务的执行过程统一、规范,从而避免同一分布式计算事务由不同开发人员编写不同代码而造成资源浪费、开发困难;并且,各处理器在不同的分布式计算事务中是可以复用的,可通过流程配置文件配置处理器及处理器执行顺序,以实现不同分布式计算事务的执行,进而节约开发资源,降低开发难度;另外,执行模块采用调用处理器的方式执行分布式计算事务,可以简单易行地在一个分布式计算事务中使用多个分布式计算环境中的计算模型,开发难度小,应用范围广。
[0079]在一个较佳的实施例中,接收模块701还可以用于:在接收分布式计算事务的执行指令之前,接收该分布式计算事务的注册请求;
[0080]如图8所示,图7所示分布式计算事务处理装置还可以包括:
[0081]注册模块801,用于根据该注册请求,注册该分布式计算事务的执行指令,并确定该分布式计算事务的流程配置文件。注册模块801是分布式计算事务处理装置中负责注册分布式计算事务的部分,可以是软件、硬件或二者的结合,例如可以是完成该注册功能的处理芯片等元器件。
[0082]如图9所示,在一个实施例中,图7所示分布式计算事务处理装置还可以包括:
[0083]分发模块901,用于在查找模块702查找到该分布式计算事务的流程配置文件之后,将该流程配置文件分发至分布式计算环境;分发模块901是分布式计算事务处理装置中负责分发流程配置文件的部分,可以是软件、硬件或二者的结合,例如可以是完成该分发功能的处理芯片等元器件。
[0084]确定模块703具体可以用于:根据分发至分布式计算环境中的该流程配置文件,确定该分布式计算事务中每一执行步骤各自对应的处理器及各处理器的执行顺序。
[0085]在一个实施例中,执行模块704具体可以用于:
[0086]若该分布式计算事务为离线分布式计算事务,则在进行事务处理后,对事务处理结果数据进行存储;
[0087]若该分布式计算事务为实时分布式计算事务,则在进行事务处理前,获取事务处理所需输入参数,在进行事务处理后,输出事务处理结果数据。
[0088]为了在分布式计算中异构的服务器之间保持统一的上下文,以保证XML配置文件中的设定能够实施,以及为了屏蔽hadoop、odps等分布式计算环境在实现上的差异,在一个较佳的实施例中,各处理器中可以包括:根据分布式计算中异构的服务器或不同的分布式计算环境,采用代理的方式封装分布式上下文的处理器。
[0089]在一个实施例中,执行模块704具体可以用于:
[0090]在调用各处理器执行时,若处理器中包括滤镜,则运行滤镜进行数据过滤处理,所述滤镜为:对一行数据进行计算的处理单元。
[0091 ] 在一个实施例中,执行模块704具体可以用于:
[0092]在运行滤镜进行数据过滤处理时,按串行顺序对一行数据执行数据过滤处理,或按并行方式对一行数据执行数据过滤处理。
[0093]综上所述,本申请的实施例中,分布式计算事务中每一执行步骤均有各自对应的处理器,执行一分布式计算事务只需查找到相应的流程配置文件,根据流程配置文件确定需调用的处理器、及这些处理器的执行顺序,按执行顺序调用这些处理器执行即可,使分布式计算事务的执行流程统一、规范,可避免同一分布式计算事务由不同开发人员编写不同代码而造成资源浪费、开发困难;并且,各处理器在不同的分布式计算事务中是可以复用的,开发人员无需重写代码来实现不同的分布式计算事务,只需确定流程配置文件,即可通过对处理器及处理器执行顺序的配置,实现不同分布式计算事务的执行,节约开发资源,降低开发难度及对开发人员的技术要求,有利于推进分布式计算技术的快速发展和应用;另夕卜,采用调用处理器的方式执行分布式计算事务,也可以简单易行地在一个分布式计算事务使用到多个分布式计算环境中的计算模型,充分利用多个计算模型的优点完成复合式计算,来适应复杂计算场景,相对于现有技术而言,开发难度较小,应用范围更广。
[0094]本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0095]本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0096]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0097]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0098]以上所述的具体实施例,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施例而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
【权利要求】
1.一种分布式计算事务处理方法,其特征在于,包括: 接收分布式计算事务的执行指令; 根据所述执行指令,查找所述分布式计算事务的流程配置文件; 根据所述流程配置文件,确定所述分布式计算事务中每一执行步骤各自对应的处理器及各处理器的执行顺序; 按所述执行顺序调用各处理器执行所述分布式计算事务。
2.如权利要求1所述的方法,其特征在于,接收分布式计算事务的执行指令之前,还包括:接收所述分布式计算事务的注册请求;根据所述注册请求,注册所述分布式计算事务的执行指令,并确定所述分布式计算事务的流程配置文件。
3.如权利要求1所述的方法,其特征在于,在查找到所述分布式计算事务的流程配置文件之后,还包括:将所述流程配置文件分发至分布式计算环境; 根据所述流程配置文件,确定所述分布式计算事务中每一执行步骤各自对应的处理器及各处理器的执行顺序,包括:根据分发至分布式计算环境中的所述流程配置文件,确定所述分布式计算事务中每一执行步骤各自对应的处理器及各处理器的执行顺序。
4.如权利要求1所述的方法,其特征在于,按所述执行顺序调用各处理器执行所述分布式计算事务,包括: 若所述分布式计算事务为离线分布式计算事务,则在进行事务处理后,对事务处理结果数据进行存储; 若所述分布式计算事务为实时分布式计算事务,则在进行事务处理前,获取事务处理所需输入参数,在进行事务处理后,输出事务处理结果数据。
5.如权利要求1所述的方法,其特征在于,各处理器中包括:根据分布式计算中异构的服务器或不同的分布式计算环境,采用代理的方式封装分布式上下文的处理器。
6.如权利要求1至5任一项所述的方法,其特征在于,按所述执行顺序调用各处理器执行所述分布式计算事务,包括: 在调用各处理器执行时,若处理器中包括滤镜,则运行滤镜进行数据过滤处理,所述滤镜为:对一行数据进行计算的处理单元。
7.一种分布式计算事务处理装置,其特征在于,包括: 接收模块,用于接收分布式计算事务的执行指令; 查找模块,用于根据所述执行指令,查找所述分布式计算事务的流程配置文件; 确定模块,用于根据所述流程配置文件,确定所述分布式计算事务中每一执行步骤各自对应的处理器及各处理器的执行顺序; 执行模块,用于按所述执行顺序调用各处理器执行所述分布式计算事务。
8.如权利要求7所述的装置,其特征在于,还包括: 分发模块,用于在所述查找模块查找到所述分布式计算事务的流程配置文件之后,将所述流程配置文件分发至分布式计算环境; 所述确定模块具体用于:根据分发至分布式计算环境中的所述流程配置文件,确定所述分布式计算事务中每一执行步骤各自对应的处理器及各处理器的执行顺序。
9.如权利要求7所述的装置,其特征在于,各处理器中包括:根据分布式计算中异构的服务器或不同的分布式计算环境,采用代理的方式封装分布式上下文的处理器。
10.如权利要求7至9任一项所述的装置,其特征在于,所述执行模块具体用于: 在调用各处理器执行时,若处理器中包括滤镜,则运行滤镜进行数据过滤处理,所述滤镜为:对一行数据进行计算的处理单元。
【文档编号】G06F9/46GK104424018SQ201310372973
【公开日】2015年3月18日 申请日期:2013年8月23日 优先权日:2013年8月23日
【发明者】方亮 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1