分布式系统后台重试方法及装置与流程

文档序号:19878633发布日期:2020-02-08 06:43阅读:363来源:国知局
分布式系统后台重试方法及装置与流程

本申请涉及分布式系统技术领域,尤其涉及一种分布式系统后台重试方法及装置。



背景技术:

分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统可以用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务,以利用更多的机器处理更多的数据。

现有的网银互联系统(亦称网银跨行清算系统或网上支付跨行清算系统)通常是基于开放平台构建的分布式网银互联系统,是现代化支付系统的重要应用系统,主要用于支持网上跨行零售支付业务的处理,业务指令逐笔发送、实时轧差和定时清算。客户可通过在线方式提交支付业务,并可实时获取业务处理结果。目前提供给外围渠道的服务调用与内部子系统的相互调用是通过异步处理的方式实现。

这种在分布式系统中通过异步处理的方式实现外围渠道的服务调用与内部子系统的相互调用,存在全局事务一致性问题,需要一个机制来保障异常场景下不同系统的事务一致性。



技术实现要素:

针对现有技术中的问题,本申请提出一种分布式系统后台重试方法及装置,能够提高分布式系统应对异步执行失败的有效性和实时性,进而提高分布式系统的健壮性。

为了解决上述技术问题,本申请提供以下技术方案:

第一方面,本申请提供一种分布式系统后台重试方法,包括:

基于预存储的作业信息在预设的任务调度框架中确定对应的调度器;

向所述调度器发送请求指令,以使所述调度器应用其对应的调度器参数,获取其对应的重试任务集合,并根据该重试任务集合调用对应的执行器进行重试处理;

接收所述调度器在所述执行器进行所述重试处理后对应获取的处理结果并输出显示。

进一步地,所述作业信息包括:调度器程序名称和路由策略;相对应的,所述基于预存储的作业信息确定对应的调度器包括:根据所述调度器程序名称,判断是否存在可用的调度器;若存在,则根据所述路由策略确定对应的调度器。

进一步地,所述调度器应用其对应的调度器参数,获取其对应的重试任务集合,包括:所述调度器应用其对应的调度器参数,从预存储的重试业务登记表中获取对应的重试任务集合。

进一步地,在所述根据该重试任务集合调用对应的执行器进行重试处理之前,还包括:所述调度器应用其对应的调度器参数,从预存储的访问队列列表中获取对应的重试交易类;相对应的,所述根据该重试任务集合调用对应的执行器进行重试处理,包括:所述执行器应用所述重试交易类进行重试处理。

进一步地,在所述根据该重试任务集合调用对应的执行器进行重试处理之前,还包括:所述调度器应用其对应的调度器参数,从预存储的访问队列列表中获取对应的最大重试次数;相对应的,所述执行器用于将所述预存储的重试业务登记表中所述重试任务的实际重试次数加1,将所述重试任务的状态更新为处理中;应用所述重试交易类进行重试处理;若所述重试处理成功,则将所述预存储的重试业务登记表中所述重试任务的状态更新为成功。

进一步地,所述执行器还用于:若所述重试处理失败,则判断实际重试次数是否已达到最大更新次数,若是,则将所述预存储的重试业务登记表中所述重试任务的状态更新为失败;若否,则将所述预存储的重试业务登记表中所述重试任务的状态更新为待重试,以使所述调度器接收该待重试状态的信息。

进一步地,所述更新重试业务登记表中所述重试任务的状态为待重试,以使所述调度器接收该待重试状态的信息,包括:将所述预存储的重试业务登记表中所述重试任务的状态更新为待重试,以使所述调度器再次根据所述调度器参数,从预存储的重试业务登记表中获取对应的重试任务集合。

第二方面,本申请提供一种分布式系统后台重试装置,包括:

确定模块,用于基于预存储的作业信息在预设的任务调度框架中确定对应的调度器;

重试处理模块,用于向所述调度器发送请求指令,以使所述调度器应用其对应的调度器参数,获取其对应的重试任务集合,并根据该重试任务集合调用对应的执行器进行重试处理;

接收模块,用于接收所述调度器在所述执行器进行所述重试处理后对应获取的处理结果并输出显示。

第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的分布式系统后台重试方法的步骤。

第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现所述的分布式系统后台重试方法的步骤。

由上述技术方案可知,本申请提供一种分布式系统后台重试方法及装置。其中,该方法包括:基于预存储的作业信息在预设的任务调度框架中确定对应的调度器;向所述调度器发送请求指令,以使所述调度器应用其对应的调度器参数,获取其对应的重试任务集合,并根据该重试任务集合调用对应的执行器进行重试处理;接收所述调度器在所述执行器进行所述重试处理后对应获取的处理结果并输出显示,能够提高异步执行失败及未知交易重试处理的自动化程度和可配置化程度,提高分布式系统后台重试过程的高效性和准确性,保障异常场景下全局事务的一致性,进而提高故障处理的实时性和分布式系统的健壮性。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例中的分布式系统后台重试方法的流程示意图;

图2是本申请实施例中的分布式系统后台重试装置的结构示意图;

图3是本申请具体应用实施例中的分布式系统后台重试系统的结构示意图;

图4是本申请具体应用实施例中的分布式系统后台重试系统的逻辑关系图;

图5是本申请具体应用实例中的分布式系统后台重试方法的流程示意图;

图6是本申请另一具体应用实例中的分布式系统后台重试方法的流程示意图;

图7为本申请实施例的电子设备9600的系统构成示意框图。

具体实施方式

为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

为了保障异常场景下全局事务的一致性,进而提高故障处理的时效性和分布式系统的健壮性,本申请提供一种分布式系统后台重试方法及装置,异步方式进行处理的交易链条可以通过重试系统来对交易链条中失败的环节进行重试处理。作业调度中心定时启动重试任务扫描调度器,调度器扫描待重试任务并调用重试执行器进行失败业务重试处理,从而提高分布式系统的稳定性和高效性。

根据上述内容,本申请实施例中提供了一种分布式系统后台重试装置,该装置可以是一服务器或客户端设备,所述客户端设备可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(pda)、车载设备和智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表和智能手环等。

在实际应用中,进行分布式系统后台重试的部分可以在如上述内容所述的服务器侧执行,也可以所有的操作都在所述客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器。

上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务作业调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务作业调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。

所述服务器与所述客户端设备之间可以使用任何合适的网络协议进行通信,包括在本申请提交日尚未开发出的网络协议。所述网络协议例如可以包括tcp/ip协议、udp/ip协议、http协议、https协议等。当然,所述网络协议例如还可以包括在上述协议之上使用的rpc协议(remoteprocedurecallprotocol,远程过程调用协议)、rest协议(representationalstatetransfer,表述性状态转移协议)等。

具体通过下述各个实施例进行说明。

为了能够保障异常场景下全局事务的一致性,进而提高故障处理的实时性和分布式系统的健壮性,本申请提供一种执行主体是分布式系统后台重试装置的分布式系统后台重试方法的实施例,参见图1,该方法具体包含有:

步骤100:基于预存储的作业信息在预设的任务调度框架中确定对应的调度器。

具体地,所述预设的任务调用框架可以是任务调度框架quartz,quartz是一个轻量级的开源任务调度框架。具体地,所述预存储的作业信息通过数据库脚本预先写入调度数据库中,该调度数据库可以部署在一个独立的服务器中。

步骤200:向所述调度器发送请求指令,以使所述调度器应用其对应的调度器参数,获取其对应的重试任务集合,并根据该重试任务集合调用对应的执行器进行重试处理。

具体地,所述作业信息中包含有触发模式和触发条件,可以理解的是,若当前系统时间满足该触发模式和触发条件,则向所述调度器发送请求指令。

所述调度器参数中包含有重试队列集合,调度器根据所述重试队列集合中的重试队列类型查询预存储的重试业务登记表,以获取重试任务集合;进一步地,执行器包含有重试服务与重试交易类两个功能。从物理上来说,一个调度器对应一个业务集群的重试服务,重试服务再根据不同的队列种类调用不同的重试交易类,所以调度器和执行器的对应关系应该是一对一的关系;重试任务之间没有依赖关系,不需要有特定的顺序。

步骤300:接收所述调度器在所述执行器进行所述重试处理后对应获取的处理结果并输出显示。

具体地,调度器应用分布式后台重试装置的结果通知回调服务接收重试处理后对应获取的处理结果,并将处理结果发送至分布式后台重试装置,分布式后台重试装置控制页面显示处理结果。

为了提高配置执行器的准确性和高效性,进而提高分布式系统后台重试的效率和准确性,在本申请一个或多个实施例中,所述作业信息包含有:调度器程序名称和路由策略。相对应的,步骤100包含有:

步骤101:根据所述调度器程序名称,判断是否存在可用的调度器。

步骤102:若存在,则根据所述路由策略确定对应的调度器。

具体地,所述预存储的作业信息包含有:调度器程序名称、触发模式、触发条件和路由策略;根据该触发模式和触发条件确定触发调度器的时间,根据程序名确定是否存在可调用的调度器,根据路由策略调用其对应的调度器,其中,路由策略和调度器为一一对应关系;若作业信息中包含有多个路由策略,则可以根据多个路由策略确定各路由策略分别对应的调度器。所述触发模式为定时模式或定点模式;举例来说,所述触发条件为每天hh:mm:ss执行或者每*分钟执行一次;所述路由策略即扫描集群,可以是支付集群、非支付集群或全部集群。若触发条件为每天11:00:00,触发模式为定点模式,当前系统时间为11:00:00,则向对应的调度器发送请求指令。

可以理解的是,任一调度器并不是在所有的集群都需要用到,需要根据配置的路由策略选择在哪些集群需要使用到该调度器。比如说调度器的路由策略配置了非支付集群,那么只有在非支付集群才会触发该调度器。

为了进一步提高异常场景下全局事务的一致性,进而提高故障处理的时效性和分布式系统的健壮性,步骤200中的所述调度器应用对应的调度器参数,获取该调度器对应的重试任务集合,包含有:

步骤201:所述调度器应用其对应的调度器参数,从预存储的重试业务登记表中获取对应的重试任务集合。

具体地,所述预存储的重试业务登记表中包含有重试任务名称、记录状态和实际重试次数。根据所述调度器参数中的重试任务名称在所述重试业务登记表中获取该重试任务名称对应的记录状态和实际重试次数,提取记录状态为处理中和待重试的任务信息以生成对应的重试任务集合。所述重试业务登记表存储在业务数据库中,该业务数据库可以部署在一个独立的服务器中。

在本申请一个或多个实施例中,为了进一步提高分布式系统的健壮性,在步骤200中所述根据该重试任务集合调用对应的执行器进行重试处理之前,还包含有:

步骤020:所述调度器应用其对应的调度器参数,从预存储的访问队列列表中获取对应的重试交易类。

相对应的,步骤300包含有:

步骤301:所述执行器应用所述重试交易类进行重试处理。

为了进一步提高对分布式系统异常状态处理的高效性和实时性,在本申请一个或多个实施例中,在步骤200之前,还包含有:

步骤021:所述调度器应用其对应的调度器参数,从预存储的访问队列列表中获取对应的最大重试次数。

相对应的,所述执行器用于:将所述预存储的重试业务登记表中所述重试任务的实际重试次数加1,将所述重试任务的状态更新为处理中;应用所述重试交易类进行重试处理;若所述重试处理成功,则将所述预存储的重试业务登记表中所述重试任务的状态更新为成功。

所述执行器还用于:若所述重试处理失败,则判断实际重试次数是否已达到最大更新次数,若是,则将所述预存储的重试业务登记表中所述重试任务的状态更新为失败。若否,则将所述预存储的重试业务登记表中所述重试任务的状态更新为待重试,以使所述调度器接收该待重试状态的信息。

为了进一步提高分布式系统后台重试的有效性和准确性,进而提高故障处理的实时性和分布式系统的健壮性,在本申请一个或多个实施例中,在步骤035还包含有:

步骤351:将所述预存储的重试业务登记表中所述重试任务的状态更新为待重试,以使所述调度器再次根据所述调度器参数,从预存储的重试业务登记表中获取对应的重试任务集合。

具体地,重试失败判断没到重试次数上限,就将状态重新设置为待重试,使该任务能够被调度器再次扫描出来,直至所述重试业务登记表中的所有重试任务对应的状态为成功或失败。通过对预存储的重试业务登记表多次读取和多次执行重试过程,最终能够使分布式系统的不同集群保持事务一致性,各集群均保持正常运作状态。

在本申请一个或多个实施例中,所述分布式后台重试方法还包含有:接收调度器注册指令,将新增的调度器信息存储在调度数据库中。

从软件层面上来说,为了提高分布式系统应对异步执行失败的有效性和实时性,进而提高分布式系统的健壮性,本申请提供一种分布式系统后台重试方法中全部或部分内容的分布式系统后台重试装置的实施例,参见图2,所述分布式系统后台重试装置具体包含有如下内容:

确定模块10,用于基于预存储的作业信息在预设的任务调度框架中确定对应的调度器。

重试处理模块20,用于向所述调度器发送请求指令,以使所述调度器应用其对应的调度器参数,获取其对应的重试任务集合,并根据该重试任务集合调用对应的执行器进行重试处理。

接收模块30,用于接收所述调度器在所述执行器进行所述重试处理后对应获取的处理结果并输出显示。

为了进一步提高分布式系统应对异步执行失败的有效性和实时性,进而提高分布式系统的健壮性,本申请提供一种分布式系统后台重试系统及方法的具体应用实例。

参见图3,该系统主要包含有作业调度中心1、调度数据库2、调度器3、业务数据库4与执行器5。其中,所述作业调度中心实现的功能相当于上述分布式系统后台重试装置实现的功能。具体内容如下:

作业调度中心1,用于根据作业信息触发调度器,其中,作业信息包含有任务名称、程序名(调度器程序名)、触发模式(定时或者定点)、触发条件(如:每天hh:mm:ss执行或者每*分钟执行一次)和扫描集群(支付集群、非支付集群或者全部集群)。

具体地,所述作业调度中心基于任务调度框架quartz(quartz是一个轻量级的开源任务调度框架),负责管理调度信息,按照调度配置发出调度请求,自身不承担业务代码。调度系统与任务解耦,能够提高系统可用性和稳定性,同时调度系统性能不再受限于任务模块,其中,该调度系统包含有作业调度中心、调度数据库与调度器;支持可视化、简单且动态的维管理调度信息,包含有任务新建,更新,删除和任务报警等,所有上述操作都能够实时生效,同时支持监控调度结果以及执行日志。

调度数据库2,用于存储作业信息、依赖关系和调度器注册信息,作业信息与依赖关系通过数据库脚本写入,调度器注册信息由调度器启动时注册。

调度器3,用于根据调度器参数查询对应重试队列的重试队列参数与扫描重试任务,并调用执行器执行重试任务,调度器参数包含有重试队列集合和作业单次处理最大笔数,重试队列参数包含有重试次数上限,重试间隔与重试交易类。

可以理解的是,所述调度器负责根据调度请求并调用执行器,需配置调度器参数(后台队列集合和作业单次处理最大笔数),获取相关重试队列参数(重试次数上限,重试间隔和重试交易类),扫描重试业务登记簿获取已到重试执行时间的重试业务,调用业务层重试执行器进行重试处理,该重试业务登记簿相当于上述重试业务登记表。

业务数据库4,用于保存并更新重试业务登记簿,重试任务数据在所有需要进行后台重试处理的时候写入。

可以理解的是,业务数据库存储重试队列参数,重试任务数据以及重试流程中所需要使用的业务数据。

执行器5,用于执行重试任务,根据重试业务登记簿记录的业务要素查询业务表获取重试业务信息,再根据不同的重试队列调用各自的重试交易类进行重试处理,其中,业务表中的业务信息用于重试交易类执行具体的重试业务逻辑。

可以理解的是,业务层重试执行器,即所述执行器,包含有重试服务与重试交易类两个功能,重试服务将重试业务状态置为处理中,重试次数加1,调用传入的重试交易类名反射实例化交易类进行重试处理。重试失败判断重试次数是否已达上限,达到上限则将重试业务状态更新为重试失败,否则更新为待重试。重试成功则将重试业务状态更新为重试成功。重试业务的业务逻辑都封装在具体的重试交易类中,根据传入的重试业务键值查询对应的业务登记簿获取业务数据,再根据重试场景的业务逻辑进行重试处理。

为了进一步提高分布式系统应对异步执行失败的有效性和实时性,进而提高分布式系统的健壮性,结合上述分布式系统后台重试系统,本申请提供一种布式系统后台重试方法的具体应用实例,总体来说,参见图4,在本具体应用实例中,包含有以下步骤:

步骤s201:触发调度器。

具体地,作业调度中心根据作业信息的触发模式与触发条件触发调度器,其中,作业信息包含有任务名称、程序名(调度器程序名)、触发模式(定时或者定点)、触发条件(如:每天hh:mm:ss执行或者每*分钟执行一次)、扫描集群(支付集群、非支付集群或者全部集群)。

步骤s202:扫描重试任务。

具体地,调度器根据处理的重试队列集合查询获取后台队列参数,再根据重试队列集合扫描已到重试时间的重试任务,该后台队列参数包含有重试次数上限,重试间隔与重试交易类。

步骤s203:逐笔调用执行器执行重试任务。

具体地,调度器根据扫描得到的重试任务逐笔调用业务集群执行器进行重试处理,执行器根据每笔重试任务所在的重试队列调用各自的重试交易类进行重试处理。

结合上述步骤,参见图5,本申请提供另一具体应用实例,具体包含有:

步骤s301:调度器向调度中心进行服务注册。

具体地,调度器启动调用作业调度中心的注册服务(任务调度框架quartz提供)进行注册,调度数据库的调度器注册信息中新增可用调度器。

步骤s302:任务调度框架触发作业调起。

具体地,作业调度中心读取调度数据库中作业信息的程序名(调度器程序名)、触发模式(定时或者定点)与触发条件(如:每天hh:mm:ss执行或者每*分钟执行一次),任务调度框架quartz定时触发调度器。

步骤s303:作业调度中心检查调度器状态。

具体地,作业调度中心根据作业信息(调度器程序),检查调度数据库是否有可用的调度器。若是,则执行步骤s304;若否,则执行步骤s313.

步骤s304:作业调度中心根据路由策略,选择调度器。

具体地,作业调度中心根据路由策略(作业信息中的扫描集群(支付集群、非支付集群或者全部集群)),选择对应的后台调度器。

步骤s305:作业调度中心向调度器(作业信息的调度器程序)发送调度请求。

步骤s306:调度器接收到调度中心调用。

具体地,调度器接收到作业调度中心的请求后开始处理请求。

步骤s307:调度器访问调度器参数表获取调度器参数。

具体地,调度器获取调度器参数,调度器参数包含有重试队列集合与作业单次处理最大笔数。

步骤s308:调度器根据重试队列集合访问队列参数表获取队列参数。

具体地,调度器根据重试队列集合访问队列参数表获取队列的开关、重试间隔、重试次数上限以及重试交易类。所述队列的开关主要用于控制队列任务是否要被扫描出来,当某个队列发生问题时可以通过该开关对该队列的所有重试任务进行隔离。

步骤s309:调度器根据重试队列集合查询重试业务登记簿获取重试任务集合。

步骤s310:调度器逐笔调用执行器执行重试任务。

步骤s311:调度器调用回调服务返回执行结果。

具体地,调度器调用作业调度中心的结果通知回调服务(任务调度框架quartz提供)返回执行结果。

步骤s312:作业调度中心回调服务接收到调度器返回的执行结果。

步骤s313:作业调度中心控制台页面展现执行结果。

具体地,作业调度中心控制台页面展现本次调度器执行结果。

在本应用实例中,作业调度中心根据设置的时间间隔,在各个后台job服务器上触发调度器在对应的业务集群数据库扫描待重试业务,发送到业务集群重试执行器进行重试处理,参见图6,具体执行步骤如下:

步骤s401:调度器调起执行器执行重试任务。

具体地,调度器扫描到待重试任务,调用执行器执行重试任务。

步骤s402:执行器根据所属队列调用对应的重试交易类进行重试处理。

具体地,执行器根据重试任务所属重试队列获取重试队列参数中的重试交易类名,调用对应的重试交易类进行重试处理。

步骤s403:执行器重试成功更新状态为成功,重试失败重试次数加1,判断已达重试次数上限更新状态为失败,否则更新状态为处理中。

具体地,执行器根据重试交易类执行结果判断,重试成功更新重试业务登记簿记录状态为成功,判断重试失败重试次数加1,如已达重试次数上限更新状态为失败,否则更新状态为处理中。

步骤s404:执行器返回执行成功。

具体地,执行器执行完成后返回执行成功。

从上述描述可知,本申请提供的分布式系统后台重试方法及装置,能够实现调度配置与执行任务解耦,调度配置不再受限与任务执行的过程,提高分布式系统异步处理的可用性和稳定性,提高分布式系统后台重试过程的高效性和准确性,保障异常场景下全局事务的一致性,进而提高故障处理的实时性和分布式系统的健壮性。同时能够对监控调度结果进行实时监控。

从硬件层面来说,为了提高分布式系统应对异步执行失败的有效性和实时性,进而提高分布式系统的健壮性,本申请提供一种用于实现所述分布式系统后台重试方法中的全部或部分内容的电子设备的实施例所述电子设备具体包含有如下内容:

处理器(processor)、存储器(memory)、通信接口(communicationsinterface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现所述分布式系统后台重试装置以及用户终端等相关设备之间的信息传输;该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照实施例用于实现所述分布式系统后台重试方法的实施例及用于实现所述分布式系统后台重试装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。

图7为本申请实施例的电子设备9600的系统构成的示意框图。如图7所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图7是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。

在本申请一个或多个实施例中,分布式系统后台重试功能可以被集成到中央处理器9100中。其中,中央处理器9100可以被配置为进行如下控制:

步骤100:基于预存储的作业信息在预设的任务调度框架中确定对应的调度器。

步骤200:向所述调度器发送请求指令,以使所述调度器应用其对应的调度器参数,获取其对应的重试任务集合,并根据该重试任务集合调用对应的执行器进行重试处理。

步骤300:接收所述调度器在所述执行器进行所述重试处理后对应获取的处理结果并输出显示。

从上述描述可知,本申请的实施例提供的电子设备,能够提高分布式系统应对异步执行失败的有效性和实时性,进而提高分布式系统的健壮性。

在另一个实施方式中,分布式系统后台重试装置可以与中央处理器9100分开配置,例如可以将分布式系统后台重试装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现分布式系统后台重试功能。

如图7所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图7中所示的所有部件;此外,电子设备9600还可以包括图7中没有示出的部件,可以参考现有技术。

如图7所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。

其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。

输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为lcd显示器,但并不限于此。

该存储器9140可以是固态存储器,例如,只读存储器(rom)、随机存取存储器(ram)、sim卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为eprom等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。

存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。

通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。

基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。

上述描述可知,本申请的实施例提供的电子设备,能够提高分布式系统应对异步执行失败的有效性和实时性,进而提高分布式系统的健壮性。

本申请的实施例还提供能够实现上述实施例中的分布式系统后台重试方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的分布式系统后台重试方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:

步骤100:基于预存储的作业信息在预设的任务调度框架中确定对应的调度器。

步骤200:向所述调度器发送请求指令,以使所述调度器应用其对应的调度器参数,获取其对应的重试任务集合,并根据该重试任务集合调用对应的执行器进行重试处理。

步骤300:接收所述调度器在所述执行器进行所述重试处理后对应获取的处理结果并输出显示。

从上述描述可知,本申请实施例提供的计算机可读存储介质,能够提高分布式系统应对异步执行失败的有效性和实时性,进而提高分布式系统的健壮性。

本申请中上述方法的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。相关之处参见方法实施例的部分说明即可。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

本申请中应用了具体实施例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

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