一种任务请求执行方法和装置与流程

文档序号:14923583发布日期:2018-07-13 08:08阅读:164来源:国知局
本发明涉及请求执行业务领域,具体涉及一种任务请求执行方法和装置。
背景技术
:目前,专有云的复杂大业务实施过程中,大数据开发团队经常要面对“客户对大数据分析业务定制化需求和开发团队对大数据分析可复制输出需求的矛盾”,普遍采用的解决方案是将客户定制的算法,直接实现在大数据产品中,或者实现为一个模块。总体上,每个算法和大数据产品是紧耦合的。此外,不同客户对大数据产品的定制化功能算法,呈现组合化现象,比如甲单位要购买子、丑、寅三个算法业务,而乙单位要子、寅、卯三个算法业务。为每个专有云的特定业务分别实现算法业务的解决方案是无法实现的,而且开发团队很难将一家的实施成果复制到另一家。技术实现要素:本发明提供一种任务请求执行方法和装置,以相对通用的算法业务,动态解决客户定制化的需求。为了实现上述发明目的,本发明采取的技术方案如下:一种任务请求执行方法,包括:根据接收到的任务请求确定一个或者多个请求内容;基于读取的配置文件,识别每个所述请求内容对应的算法服务;所述配置文件提供算法服务列表及每个算法服务对应的描述信息;调用每个所述请求内容对应的算法服务,并获得每个算法服务的执行结果;对一个或者多个所述执行结果进行聚合处理获得所述任务请求对应的请求结果。可选地,基于读取的配置文件,识别每个所述请求内容对应的算法服务包括:读取配置文件中算法服务列表,循环读取所述列表中的每个算法服务的配置信息,通过每个算法服务配置信息中的描述信息,识别所述请求内容对应的算法服务,以反射机制加载每个算法服务的对象。可选地,调用每个所述请求内容对应的算法服务的形式包括以下至少之一:串行;并行;调用内容每个所述请求内容对应的算法服务的内容的方式包括以下至少之一:在线查询;在线计算。可选地,所述方法之前还包括:在配置文件中为每个算法服务定义权重或赋予权值。可选地,对一个或者多个所述执行结果进行聚合处理获得所述任务请求对应的请求结果包括:根据每个所述请求内容对应的算法服务的权重或权值对全部执行结果进行汇总和/或排序,获得所述任务请求对应的请求结果。可选地,所述方法之前还包括以下至少之一:加载配置文件;接收配置文件;维护配置文件。为解决上述技术问题,本发明还提供一种任务请求执行装置,包括:确定模块,设置为根据接收到的任务请求确定一个或者多个请求内容;反射模块,设置为基于读取的配置文件,识别每个所述请求内容对应的算法服务;所述配置文件提供算法服务列表及每个算法服务对应的描述信息;调用模块,设置为调用每个所述请求内容对应的算法服务,并获得每个算法服务的执行结果;汇总处理模块,设置为对一个或者多个所述执行结果进行聚合处理获得所述任务请求对应的请求结果。可选地,所述反射模块基于读取的配置文件,识别每个所述请求内容对应的算法服务包括:读取配置文件中算法服务列表,循环读取所述列表中的每个算法服务的配置信息,通过每个算法服务配置信息中的描述信息,识别所述请求内容对应的算法服务,以反射机制加载每个算法服务的对象。可选地,调用每个所述请求内容对应的算法服务的形式包括以下至少之一:串行;并行;调用内容每个所述请求内容对应的算法服务的内容的方式包括以下至少之一:在线查询;在线计算。可选地,所述的装置还包括:权重模块,设置为在配置文件中为每个算法服务定义权重或赋予权值。可选地,所述汇总处理模块对一个或者多个所述执行结果进行聚合处理获得所述任务请求对应的请求结果包括:根据每个所述请求内容对应的算法服务的权重或权值对全部执行结果进行汇总和/或排序,获得所述任务请求对应的请求结果。可选地,确定模块还设置为:加载和/或接收和/或维护配置文件。为解决上述技术问题,本发明还提供一种任务请求执行装置,包括:存储器和处理器;所述存储器,用于存放任务请求执行的程序;所述处理器,执行任务请求执行的程序时,执行以下操作:根据接收到的任务请求确定一个或者多个请求内容;基于读取的配置文件,识别每个所述请求内容对应的算法服务;所述配置文件提供算法服务列表及每个算法服务对应的描述信息;调用每个所述请求内容对应的算法服务,并获得每个算法服务的执行结果;对一个或者多个所述执行结果进行聚合处理获得所述任务请求对应的请求结果。本发明和现有技术相比,具有如下有益效果:本发明的技术方案将任务请求分解为一个或者多个请求内容;调用每个请求内容对应的算法服务;可以通过动态加载的方式下载或者新增对应的算法服务或者在线查询对应的算法服务,提供了运行时加载、新增功能的方式;丰富和增强执行任务请求的功能;将任务请求分解为一个或者多个请求内容,并分别利用对应的算法服务进行请求内容执行,相当于将计算压力分担到多个计算单元,每个单元同时分别处理分配到的作业,每个单元的计算结果会汇总到一起,最终输出聚合后的结果;以相对通用的算法业务,动态解决客户定制化的需求。附图说明图1为本发明实施例的一种任务请求执行方法的流程图;图2为本发明实施例的一种任务请求执行装置的结构示意图;图3为本发明实施例1的配置文件加载过程的流程图;图4为本发明实施例2的提供算法服务的流程图。具体实施方式为使本发明的发明目的、技术方案和有益效果更加清楚明了,下面结合附图对本发明的实施例进行说明,需要说明的是,在不冲突的情况下,本申请中的实施例和实施例中的特征可以相互任意组合。如图1所示,本发明实施例提供一种任务请求执行方法,包括:s101、根据接收到的任务请求确定一个或者多个请求内容;s102、基于读取的配置文件,识别每个所述请求内容对应的算法服务;所述配置文件提供算法服务列表及每个算法服务对应的描述信息;s103、调用每个所述请求内容对应的算法服务,并获得每个算法服务的执行结果;s104、对一个或者多个所述执行结果进行聚合处理获得所述任务请求对应的请求结果。本发明实施例中,任务请求包括用户以任意方式输入的任务请求;所述任务请求可能包括一个或者多个请求内容;将所述任务请求按照性质、内容、形式或者预设的规则分解为一个或者多个请求内容;在识别每个所述请求内容对应的算法服务时,每个请求内容尽可能对应一个算法服务,或者几个请求内容对应一个算法服务,或者一个请求内容对应多个算法服务。本发明实例中,在数据库或者存储器中可以预存某些数据内容,在调用对应的算法服务时,执行所述算法服务,快速从对应的数据库或者存储器中获得执行结果,但这样对数据库或者存储器的维护成本较高,本发明实施例中更常用的方式是:利用网络或者云产品的大数据业务,离线进行算法服务查询或者在线算法服务计算,获得所述算法服务对应的执行结果。本发明实施例中利用如下3种机制,使得不同算法服务紧密的耦合,供上游服务或者应用使用:1.动态机制:本发明实施例中在识别每个所述请求内容对应的算法服务时,可以通过动态加载的方式下载或者新增对应的算法服务或者在线查询对应的算法服务;利用本发明实施例的动态机制可以提高运行时加载、新增功能类的能力。2.插件机制:利用互联网及移动产品的某些应用或者软件开源的特点,本发明实施例可以进行在线查询算法服务(包括离线计算的结果或者实时查询的结果),并且实现算法服务在线计算(包括实时计算、实时分析、实时统计等),丰富和增强软件算法服务及其功能。3.分治机制:本发明实施例将任务请求分解为一个或者多个请求内容,并分别利用对应的算法服务进行请求内容执行,其目的是将计算压力分担到多个计算单元,每个单元同时分别处理分配到的作业,每个单元的计算结果会汇总到一起,最终输出聚合后的结果。基于上述实施例,本发明实施例在接收到用户的任务请求后,读取配置文件中算法服务列表,识别每个请求内容对应的算法服务,离线进行算法服务查询或者在线算法服务计算,并接收返回的执行结果,对执行结果进行聚合处理后,返回给用户。步骤s102中基于读取的配置文件,识别每个所述请求内容对应的算法服务可以包括:读取配置文件中算法服务列表,循环读取所述列表中的每个算法服务的配置信息,通过每个算法服务配置信息中的描述信息,识别所述请求内容对应的算法服务,并加载每个算法服务所需的参数和指标等对象。步骤s103中调用每个所述请求内容对应的算法服务的形式可以包括:串行和/或并行;调用内容每个所述请求内容对应的算法服务的内容的方式可以包括:在线查询和/或在线计算。其中,在线查询包括离线计算的结果或者实时查询的结果、在线计算包括实时计算、实时分析、实时统计等。其中,异步调用时,在请求调用算法服务过程中,配置文件中算法服务列表被遍历,每个算法服务以异步的形式发起请求,当算法服务完成计算后,在进行后续。因此,异步调用使得请求延迟只与最耗时的算法服务相关。步骤s104中对一个或者多个所述执行结果进行聚合处理获得所述任务请求对应的请求结果可以包括:根据每个所述请求内容对应的算法服务的权重对全部执行结果进行汇总和/或排序,获得所述任务请求对应的请求结果。本发明实施例预先在配置文件中为每个算法服务或者所述请求内容对应的算法服务定义权重或赋予权值,在接收到对应的算法服务返回的执行结果时,利用对应的权重或权值进行汇总。步骤s101之前还可以包括:加载和/或接收和/或维护配置文件。本发明实施例的配置文件可以通过多种方式获得,可以从服务器等上位机下载、获取,也可以通过更新维护等方式获得配置文件。如图2所示,本发明实施例还提供一种任务请求执行装置,包括:确定模块,设置为根据接收到的任务请求确定一个或者多个请求内容;反射模块,设置为基于读取的配置文件,识别每个所述请求内容对应的算法服务;所述配置文件提供算法服务列表及每个算法服务对应的描述信息;调用模块,设置为调用每个所述请求内容对应的算法服务,并获得每个算法服务的执行结果;汇总处理模块,设置为对一个或者多个所述执行结果进行聚合处理获得所述任务请求对应的请求结果。所述反射模块基于读取的配置文件,识别每个所述请求内容对应的算法服务可以包括:读取配置文件中算法服务列表,循环读取所述列表中的每个算法服务的配置信息,通过每个算法服务配置信息中的描述信息,识别所述请求内容对应的算法服务,以反射机制加载每个算法服务的对象。所述调用模块调用每个所述请求内容对应的算法服务的形式可以包括:串行和/或并行;调用内容每个所述请求内容对应的算法服务的内容的方式可以包括:在线查询和/或在线计算。所述的装置还可以包括:权重模块,设置为在配置文件中为每个算法服务定义权重或赋予权值。所述汇总处理模块对一个或者多个所述执行结果进行聚合处理获得所述任务请求对应的请求结果可以包括:根据每个所述请求内容对应的算法服务的权重对全部执行结果进行汇总和/或排序,获得所述任务请求对应的请求结果。确定模块还可以设置为:加载和/或接收和/或维护配置文件。本发明实施例还提供一种任务请求执行装置,包括:存储器和处理器;所述存储器,用于存放任务请求执行的程序;所述处理器,执行任务请求执行的程序时,执行以下操作:根据接收到的任务请求确定一个或者多个请求内容;基于读取的配置文件,识别每个所述请求内容对应的算法服务;所述配置文件提供算法服务列表及每个算法服务对应的描述信息;调用每个所述请求内容对应的算法服务,并获得每个算法服务的执行结果;对一个或者多个所述执行结果进行聚合处理获得所述任务请求对应的请求结果。实施例1如图3所示,本实施例说明利用上述任务请求执行方法进行配置文件加载的过程:获取算法服务列表,加载所述算法服务列表中的算法服务;循环读取所述列表中的每个算法服务的配置信息,通过每个算法服务配置信息中的描述信息,确定所需的算法服务;以反射机制加载每个算法服务的对象。本实施例可以动态加载动态算法服务,并以微服务或者api的形式为用户提供算法服务。实施例2如图4所示,本实施例说明利用上述任务请求执行方法进行算法服务的过程:根据用户输入的任务请求,异步调用所需的每个算法服务,并获得每个算法服务的执行结果;对所获得的执行结果进行聚合处理获得所述任务请求对应的请求结果。实施例3用户a通过浏览器/客户端/界面/app等方式发出查询任务请求,查询本年度出行的总里程、出行次数、出行的城市数目、是否有延误、延误时长、是否出境和出境次数对应的信息;本实施例中接收到对应的任务请求后,将任务请求首先分解为飞行请求内容和铁路请求内容,还可以进一步将飞行请求内容分解为各个航空公司对应的飞行请求内容或者票务平台对应的请求内容;或者按照其他合理的方式将所述任务请求进行分解,使其符合对应的算法服务需求;读取配置文件,按照配置文件中所有算法服务的配置信息的描述信息,匹配出对应的算法服务,本实例中,匹配出2个算法服务,飞行查询算法服务和铁路查询算法服务,其中,飞行查询算法服务可以发送至多个航空公司或者票务平台进行查询;如果需要航空公司或票务平台、铁路票务中心对对应的查询算法服务进行鉴权或者验证;本实例中某票务平台返回的结果如下表所示:2016年飞行总里程116360公里飞行次数30次飞过的城市6个延误时长196分钟出镜次数9次航空公司、铁路票务中心返回的结果可以参考上述表格。对航空公司或票务平台、铁路票务中心进行统计,返回给用户a。虽然本发明所揭示的实施方式如上,但其内容只是为了便于理解本发明的技术方案而采用的实施方式,并非用于限定本发明。任何本发明所属
技术领域
内的技术人员,在不脱离本发明所揭示的核心技术方案的前提下,可以在实施的形式和细节上做任何修改与变化,但本发明所限定的保护范围,仍须以所附的权利要求书限定的范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1