任务执行方法、装置和服务器制造方法及图纸

技术编号:18444766 阅读:14 留言:0更新日期:2018-07-14 10:19
本发明专利技术公开了一种任务执行方法、装置和服务器,该方法包括读取任务对应的任务描述文件,任务描述文件中记录用于执行任务的数据库公共包的路径、用于表示任务的实体的数据库脚本文件的路径、以及任务对应的第一参数,第一参数用于替换数据库脚本文件中的变量;将数据库脚本文件推送到计算节点,计算节点处具有数据库公共包;根据数据库公共包的路径调用数据库公共包,通过数据库公共包按数据库脚本文件的路径,获取数据库脚本文件并使用第一参数替换数据库脚本文件中的变量,以及执行数据库脚本文件,得到任务的执行结果。根据本发明专利技术,大大降低代码重复的同时,让任务变得更加简单,节约人力。

Task execution methods, devices, and servers

The present invention discloses a task execution method, device, and server, which includes the task description file corresponding to the task, the path of the database public packet for the execution of the task, the path of the database script file to represent the entity of the task, and the first parameter corresponding to the task. The first parameter is used to replace the variables in the database script file; the database script file is pushed to the computing node, the computing node has the database public package, the database public package is called according to the path of the database public package, and the database script file is obtained by the path of the database script file by the database public package. The first parameter is used to replace the variables in the database script file, and the database script file is executed to get the execution result of the task. According to the invention, the code duplication is greatly reduced while the task becomes simpler and the manpower is saved.

【技术实现步骤摘要】
任务执行方法、装置和服务器
本专利技术涉及计算机
,尤其涉及一种任务执行方法、装置和服务器。
技术介绍
Spark是一个围绕速度、易用性和复杂分析构建的大数据处理框架:通过在数据处理过程中成本更低的Suffle(数据清洗算法)方式,将MapReduce(一种编程模型)提升到一个更高的层次;利用内存数据存储和接近实时的处理能力,其性能比其他大数据处理技术要快很多倍。传统数据清洗任务,往往需要开发大量的代码来支撑,当清洗任务很多的时候,往往工程包会变得臃肿不堪,从而带来各种弊端。例如:1.代码重复率高,人力浪费严重。当工程很大的时候,不同的开发人员之间会存在相当一部分的重复功能代码,再合并代码复杂度,将会大大浪费人力资源。2.代码维护成本太高。若当工程运行时发现某个任务存在漏洞,需要调整,势必要停掉整个工程,这样将导致大多数良好任务等待一个问题任务的情况,造成环境资源的严重浪费。3.代码灵活性差。当需要交付时,若某几个任务代码存在问题,会导致项目整体无法交付。4.代码调试、运行、转移等不便。由于任务多而导致的工程变大,会使代码的调试、运行时间变得更长,会使代码转移变得艰难。
技术实现思路
本专利技术的目的在于提供一种任务执行方法、装置和服务器,以解决传统清洗任务代码重复、工程过大、任务管理不便中的至少一个难题。本专利技术解决上述技术问题所采用的技术方案如下:提供的一种任务执行方法,包括:读取任务对应的任务描述文件,所述任务描述文件中记录用于执行所述任务的数据库公共包的路径、用于表示所述任务的实体的数据库脚本文件的路径、以及所述任务对应的第一参数,所述第一参数用于替换所述数据库脚本文件中的变量将所述数据库脚本文件推送到计算节点,所述计算节点处具有所述数据库公共包;根据所述数据库公共包的路径调用所述数据库公共包,通过所述数据库公共包按所述数据库脚本文件的路径,获取所述数据库脚本文件并使用所述第一参数替换所述数据库脚本文件中的变量,以及执行所述数据库脚本文件,得到所述任务的执行结果。可选地,前述的方法,所述任务描述文件中还记录任务配置文件的路径,所述任务配置文件记录用于替换所述数据库脚本文件的门限值的第二参数;所述方法还包括:将所述任务配置文件推送到所述计算节点;通过所述数据库公共包按获取所述任务配置文件中的所述第二参数来替换所述数据库脚本文件中的门限值。可选地,前述的方法,获取所述数据库脚本文件并使用所述第一参数替换所述数据库脚本文件中的变量,具体包括:根据预设的数据交换语言,将所述任务描述文件生成相应的数据交换文件,从所述数据交换文件中提取所述第一参数来替换所述数据库脚本文件中的变量。可选地,前述的方法,还包括:根据所述任务的优先级、所述任务所需数据是否已获取,将所述任务添加到记录有按顺序排列的一个或多个任务的任务列表中;根据所述任务在所述任务列表中的顺序,从所述任务列表中读取所述任务后,执行获取所述数据库脚本文件并使用所述第一参数替换所述数据库脚本文件中的变量,以及根据所述数据库公共包的路径调用所述数据库公共包执行所述数据库脚本文件,得到所述任务的执行结果。可选地,前述的方法,所述任务描述文件中包括所述任务对应的输入表的信息、输出表的信息;调用所述数据库公共包执行所述数据库脚本文件,具体包括:从所述输入表获取所述数据库脚本的输入数据并执行所述数据库脚本文件,将得到的结果加入所述输出表中。提供了一种任务执行装置,包括:读取模块,用于读取任务对应的任务描述文件,所述任务描述文件中记录用于执行所述任务的数据库公共包的路径、用于表示所述任务的实体的数据库脚本文件的路径、以及所述任务对应的第一参数,所述第一参数用于替换所述数据库脚本文件中的变量;推送模块,用于将所述数据库脚本文件推送到计算节点,所述计算节点处具有所述数据库公共包;执行模块,用于根据所述数据库公共包的路径调用所述数据库公共包,通过所述数据库公共包按所述数据库脚本文件的路径,获取所述数据库脚本文件并使用所述第一参数替换所述数据库脚本文件中的变量,以及执行所述数据库脚本文件,得到所述任务的执行结果。可选地,前述的装置,所述任务描述文件中还记录任务配置文件的路径,所述任务配置文件记录用于替换所述数据库脚本文件的门限值的第二参数;所述推送模块还将所述任务配置文件推送到所述计算节点;所述执行模块还通过所述数据库公共包按所述任务配置文件的路径,获取所述任务配置文件中的所述第二参数来替换所述数据库脚本文件中的门限值。可选地,前述的装置,所述执行模块根据预设的数据交换语言,将所述任务描述文件生成相应的数据交换文件,从所述数据交换文件中提取所述第一参数来替换所述数据库脚本文件中的变量。可选地,前述的装置,还包括:任务列表模块,根据所述任务的优先级、所述任务所需数据是否已获取,将所述任务添加到记录有按顺序排列的一个或多个任务的任务列表中;根据所述任务在所述任务列表中的顺序,从所述任务列表中读取所述任务后,执行获取所述数据库脚本文件并使用所述第一参数替换所述数据库脚本文件中的变量,以及根据所述数据库公共包的路径调用所述数据库公共包执行所述数据库脚本文件,得到所述任务的执行结果。可选地,前述的装置,所述任务描述文件中包括所述任务对应的输入表的信息、输出表的信息;所述执行模块从所述输入表获取所述数据库脚本的输入数据并执行所述数据库脚本文件,将得到的结果加入所述输出表中。提供了一种服务器,包括:根据前述的任务执行装置。根据以上技术方案,可知本专利技术的任务执行方法、装置和服务器至少具有以下优点:与现有技术相比,任务基于多个文件来执行,多个文件彼此独立化可以有效提升代码灵活性,且充分解耦,使代码维护变得简洁方便;将数据库文本分离解决了主程序庞大不易维护的弊端;公共包的使用,大大降低代码重复的同时,让任务变得更加简单,节约人力。附图说明图1为本专利技术实施例的一种任务执行方法的流程图;图2为本专利技术实施例的一种任务执行方法的流程图;图3为本专利技术实施例的一种任务执行装置的框图;图4为本专利技术实施例的一种任务执行装置的框图;图5为本专利技术实施例的一种任务执行方法的文件结构图;图6为本专利技术实施例的一种任务执行方法的原理图;图7为本专利技术实施例的一种任务执行方法的工作流程图;图8为本专利技术实施例的一种任务执行方法的工作流程图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式为了使本专利技术所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。实施例一如图1所示,本专利技术的一个实施例中提供了一种任务执行方法,包括:步骤S110,读取任务对应的任务描述文件,任务描述文件中记录用于执行任务的数据库公共包的路径、用于表示任务的实体的数据库脚本文件的路径、以及任务对应的第一参数,第一参数用于替换数据库脚本文件中的变量。在本实施例中,任务描述文件可以采用xml格式文件,数据库脚本文件可以是sql格式文件,所进行的任务包括但不限于数据清洗任务,该数据库公共包可以是公共jar包。步骤S120,将数据库脚本文件推送到计算节点,计算节点处具有数据库公共包。步骤S130,根据数据本文档来自技高网...

【技术保护点】
1.一种任务执行方法,其特征在于,包括:读取任务的任务描述文件,所述任务描述文件中记录用于执行所述任务的数据库公共包的路径、用于表示所述任务的实体的数据库脚本文件的路径、以及所述任务对应的第一参数;将数据库脚本文件推送到计算节点,所述计算节点处具有数据库公共包;根据所述数据库公共包的路径调用所述数据库公共包,通过所述数据库公共包按所述数据库脚本文件的路径,获取数据库脚本文件并使用所述第一参数替换所述数据库脚本文件中的变量,以及执行所述数据库脚本文件,得到所述任务的执行结果。

【技术特征摘要】
1.一种任务执行方法,其特征在于,包括:读取任务的任务描述文件,所述任务描述文件中记录用于执行所述任务的数据库公共包的路径、用于表示所述任务的实体的数据库脚本文件的路径、以及所述任务对应的第一参数;将数据库脚本文件推送到计算节点,所述计算节点处具有数据库公共包;根据所述数据库公共包的路径调用所述数据库公共包,通过所述数据库公共包按所述数据库脚本文件的路径,获取数据库脚本文件并使用所述第一参数替换所述数据库脚本文件中的变量,以及执行所述数据库脚本文件,得到所述任务的执行结果。2.根据权利要求1所述的方法,其特征在于,所述任务描述文件中还记录任务配置文件的路径,所述任务配置文件记录用于替换所述数据库脚本文件的门限值的第二参数;所述方法还包括:将所述任务配置文件推送到所述计算节点;通过所述数据库公共包按所述任务配置文件的路径,获取所述任务配置文件中的所述第二参数来替换所述数据库脚本文件中的门限值。3.根据权利要求1所述的方法,其特征在于,获取所述数据库脚本文件并使用所述第一参数替换所述数据库脚本文件中的变量,具体包括:根据预设的数据交换语言,将所述任务描述文件生成数据交换文件,从所述数据交换文件中提取所述第一参数来替换所述数据库脚本文件中的变量。4.根据权利要求1所述的方法,其特征在于,还包括:根据所述任务的优先级、所述任务所需数据是否已获取,将所述任务添加到记录有按顺序排列的一个或多个任务的任务列表中;根据所述任务在所述任务列表中的顺序,从所述任务列表中读取所述任务后,执行获取所述数据库脚本文件并使用所述第一参数替换所述数据库脚本文件中的变量,以及根据所述数据库公共包的路径调用所述数据库公共包执行所述数据库脚本文件,得到所述任务的执行结果。5.根据权利要求1所述的方法,其特征在于,所述任务描述文件中包括所述任务对应的输入表的信息、输出表的信息;所述调用所述数据库公共包执行所述数据库脚本文件,具体包括:从所述输入表获取所述数据库脚本的输入数据并执行所述数据库脚本文件,将得到的结果加入所述输出表中。6.一种任务执行装置,其特征在于,包括:读取模块,用于...

【专利技术属性】
技术研发人员:单立明钟陈练匡林林
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1