CN108280023B - 任务执行方法、装置和服务器 - Google Patents
任务执行方法、装置和服务器 Download PDFInfo
- Publication number
- CN108280023B CN108280023B CN201710003855.3A CN201710003855A CN108280023B CN 108280023 B CN108280023 B CN 108280023B CN 201710003855 A CN201710003855 A CN 201710003855A CN 108280023 B CN108280023 B CN 108280023B
- Authority
- CN
- China
- Prior art keywords
- task
- database
- file
- script file
- database script
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3628—Software debugging of optimised code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/73—Program documentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种任务执行方法、装置和服务器,该方法包括读取任务对应的任务描述文件,任务描述文件中记录用于执行任务的数据库公共包的路径、用于表示任务的实体的数据库脚本文件的路径、以及任务对应的第一参数,第一参数用于替换数据库脚本文件中的变量;将数据库脚本文件推送到计算节点,计算节点处具有数据库公共包;根据数据库公共包的路径调用数据库公共包,通过数据库公共包按数据库脚本文件的路径,获取数据库脚本文件并使用第一参数替换数据库脚本文件中的变量,以及执行数据库脚本文件,得到任务的执行结果。根据本发明,大大降低代码重复的同时,让任务变得更加简单,节约人力。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种任务执行方法、装置和服务器。
背景技术
Spark是一个围绕速度、易用性和复杂分析构建的大数据处理框架:通过在数据处理过程中成本更低的Suffle(数据清洗算法)方式,将MapReduce(一种编程模型)提升到一个更高的层次;利用内存数据存储和接近实时的处理能力,其性能比其他大数据处理技术要快很多倍。
传统数据清洗任务,往往需要开发大量的代码来支撑,当清洗任务很多的时候,往往工程包会变得臃肿不堪,从而带来各种弊端。例如:1.代码重复率高,人力浪费严重。当工程很大的时候,不同的开发人员之间会存在相当一部分的重复功能代码,再合并代码复杂度,将会大大浪费人力资源。2.代码维护成本太高。若当工程运行时发现某个任务存在漏洞,需要调整,势必要停掉整个工程,这样将导致大多数良好任务等待一个问题任务的情况,造成环境资源的严重浪费。3.代码灵活性差。当需要交付时,若某几个任务代码存在问题,会导致项目整体无法交付。4.代码调试、运行、转移等不便。由于任务多而导致的工程变大,会使代码的调试、运行时间变得更长,会使代码转移变得艰难。
发明内容
本发明的目的在于提供一种任务执行方法、装置和服务器,以解决传统清洗任务代码重复、工程过大、任务管理不便中的至少一个难题。
本发明解决上述技术问题所采用的技术方案如下:
提供的一种任务执行方法,包括:读取任务对应的任务描述文件,所述任务描述文件中记录用于执行所述任务的数据库公共包的路径、用于表示所述任务的实体的数据库脚本文件的路径、以及所述任务对应的第一参数,所述第一参数用于替换所述数据库脚本文件中的变量将所述数据库脚本文件推送到计算节点,所述计算节点处具有所述数据库公共包;根据所述数据库公共包的路径调用所述数据库公共包,通过所述数据库公共包按所述数据库脚本文件的路径,获取所述数据库脚本文件并使用所述第一参数替换所述数据库脚本文件中的变量,以及执行所述数据库脚本文件,得到所述任务的执行结果。
可选地,前述的方法,所述任务描述文件中还记录任务配置文件的路径,所述任务配置文件记录用于替换所述数据库脚本文件的门限值的第二参数;所述方法还包括:将所述任务配置文件推送到所述计算节点;通过所述数据库公共包按获取所述任务配置文件中的所述第二参数来替换所述数据库脚本文件中的门限值。
可选地,前述的方法,获取所述数据库脚本文件并使用所述第一参数替换所述数据库脚本文件中的变量,具体包括:根据预设的数据交换语言,将所述任务描述文件生成相应的数据交换文件,从所述数据交换文件中提取所述第一参数来替换所述数据库脚本文件中的变量。
可选地,前述的方法,还包括:根据所述任务的优先级、所述任务所需数据是否已获取,将所述任务添加到记录有按顺序排列的一个或多个任务的任务列表中;根据所述任务在所述任务列表中的顺序,从所述任务列表中读取所述任务后,执行获取所述数据库脚本文件并使用所述第一参数替换所述数据库脚本文件中的变量,以及根据所述数据库公共包的路径调用所述数据库公共包执行所述数据库脚本文件,得到所述任务的执行结果。
可选地,前述的方法,所述任务描述文件中包括所述任务对应的输入表的信息、输出表的信息;调用所述数据库公共包执行所述数据库脚本文件,具体包括:从所述输入表获取所述数据库脚本的输入数据并执行所述数据库脚本文件,将得到的结果加入所述输出表中。
提供了一种任务执行装置,包括:读取模块,用于读取任务对应的任务描述文件,所述任务描述文件中记录用于执行所述任务的数据库公共包的路径、用于表示所述任务的实体的数据库脚本文件的路径、以及所述任务对应的第一参数,所述第一参数用于替换所述数据库脚本文件中的变量;推送模块,用于将所述数据库脚本文件推送到计算节点,所述计算节点处具有所述数据库公共包;执行模块,用于根据所述数据库公共包的路径调用所述数据库公共包,通过所述数据库公共包按所述数据库脚本文件的路径,获取所述数据库脚本文件并使用所述第一参数替换所述数据库脚本文件中的变量,以及执行所述数据库脚本文件,得到所述任务的执行结果。
可选地,前述的装置,所述任务描述文件中还记录任务配置文件的路径,所述任务配置文件记录用于替换所述数据库脚本文件的门限值的第二参数;所述推送模块还将所述任务配置文件推送到所述计算节点;所述执行模块还通过所述数据库公共包按所述任务配置文件的路径,获取所述任务配置文件中的所述第二参数来替换所述数据库脚本文件中的门限值。
可选地,前述的装置,所述执行模块根据预设的数据交换语言,将所述任务描述文件生成相应的数据交换文件,从所述数据交换文件中提取所述第一参数来替换所述数据库脚本文件中的变量。
可选地,前述的装置,还包括:任务列表模块,根据所述任务的优先级、所述任务所需数据是否已获取,将所述任务添加到记录有按顺序排列的一个或多个任务的任务列表中;根据所述任务在所述任务列表中的顺序,从所述任务列表中读取所述任务后,执行获取所述数据库脚本文件并使用所述第一参数替换所述数据库脚本文件中的变量,以及根据所述数据库公共包的路径调用所述数据库公共包执行所述数据库脚本文件,得到所述任务的执行结果。
可选地,前述的装置,所述任务描述文件中包括所述任务对应的输入表的信息、输出表的信息;所述执行模块从所述输入表获取所述数据库脚本的输入数据并执行所述数据库脚本文件,将得到的结果加入所述输出表中。
提供了一种服务器,包括:根据前述的任务执行装置。
根据以上技术方案,可知本发明的任务执行方法、装置和服务器至少具有以下优点:
与现有技术相比,任务基于多个文件来执行,多个文件彼此独立化可以有效提升代码灵活性,且充分解耦,使代码维护变得简洁方便;将数据库文本分离解决了主程序庞大不易维护的弊端;公共包的使用,大大降低代码重复的同时,让任务变得更加简单,节约人力。
附图说明
图1为本发明实施例的一种任务执行方法的流程图;
图2为本发明实施例的一种任务执行方法的流程图;
图3为本发明实施例的一种任务执行装置的框图;
图4为本发明实施例的一种任务执行装置的框图;
图5为本发明实施例的一种任务执行方法的文件结构图;
图6为本发明实施例的一种任务执行方法的原理图;
图7为本发明实施例的一种任务执行方法的工作流程图;
图8为本发明实施例的一种任务执行方法的工作流程图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例一
如图1所示,本发明的一个实施例中提供了一种任务执行方法,包括:
步骤S110,读取任务对应的任务描述文件,任务描述文件中记录用于执行任务的数据库公共包的路径、用于表示任务的实体的数据库脚本文件的路径、以及任务对应的第一参数,第一参数用于替换数据库脚本文件中的变量。在本实施例中,任务描述文件可以采用xml格式文件,数据库脚本文件可以是sql格式文件,所进行的任务包括但不限于数据清洗任务,该数据库公共包可以是公共jar包。
步骤S120,将数据库脚本文件推送到计算节点,计算节点处具有数据库公共包。
步骤S130,根据数据库公共包的路径调用数据库公共包,通过数据库公共包按数据库脚本文件的路径,获取数据库脚本文件并使用第一参数替换数据库脚本文件中的变量,以及执行数据库脚本文件,得到任务的执行结果。
根据本实施例的技术方案,可以将每个数据清洗任务写成单独算法,使用spark-submit提交任务;将数据源为数据库表结构的清洗任务提取出来,做成通用的公共jar包文件,开发人员可以通过配置任务对应的XML描述文件来描述任务的输入、输出。本实施例的这些实现特点,可以有效控制传统清洗任务代码重复、工程过大、任务管理不便等难题,同时也可以大大降低以数据源为数据库表结构的清洗任务的开发成本和维护成本。
实施例二
如图2所示,本发明的一个实施例中提供了一种任务执行方法,包括:
步骤S210,读取任务对应的任务描述文件,任务描述文件中记录用于执行任务的数据库公共包的路径、用于表示任务的实体的数据库脚本文件的路径、以及任务对应的第一参数,第一参数用于替换数据库脚本文件中的变量,任务描述文件中还记录任务配置文件的路径,任务配置中文件记录用于替换数据库脚本文件的门限值的第二参数,任务描述文件中包括任务对应的输入表的信息、输出表的信息。
在本实施例中,一个原始任务由三部分组成:任务.xml文件、任务.sql文件、任务.conf文件(若没有门限值可以省略)。任务.xml文件中,保存了任务类型(sql任务/RDD任务),输入(表所在数据库、表名称、类型、分区等信息/文件),输出(表所在数据库、表名称、类型、分区等信息/文件),执行时间(定时任务),执行任务的jar包路径、任务.conf文件、任务.sql文件路径等。任务.sql文件中保存任务实体,即带有变量的sql语句。任务.conf文件中保存了任务门限值等常量信息。
步骤S220,将数据库脚本文件推送到计算节点,将任务配置文件推送到计算节点,计算节点处具有数据库公共包。基于本实施例的技术方案,可实现一种主程序,启动主程序,主程序会将任务.xml文件中的信息读取到内存的任务元数据列表,并将任务.sql文件、任务.conf文件推送到各spark计算节点。
步骤S230,根据任务的优先级、任务所需数据是否已获取,将任务添加到记录有按顺序排列的一个或多个任务的任务列表中;根据任务在任务列表中的顺序,从任务列表中读取任务后,根据预设的数据交换语言,将任务描述文件生成相应的数据交换文件,从数据交换文件中提取第一参数来替换数据库脚本文件中的变量,以及根据数据库公共包的路径调用数据库公共包执行数据库脚本文件,得到任务的执行结果。在本实施例中,主程序根据任务元数据描述情况(数据驱动/时间驱动)、数据到达情况、任务优先级情况等,将任务加入到任务调度列表。
在本实施例中,主程序使用spark-submit提交任务到spark集群并在spark集群计算节点上执行任务。主程序监控spark环境资源使用情况,当资源允许时,主程序根据任务元数据中所需参数,生成任务.json文件,sql公共jar包读取任务.json文件中的参数和任务.conf文件中的门限值将任务.sql文件中变量替换掉,生成完整的任务sql语句(任务实体)。根据输入表类型获取json文件中对应的数据库连接信息(spark/gbase/mysql/其他),从而连接到对应数据库并执行任务实体sql。根据输出类型,保存任务执行结果到对应的数据库或文件中。
步骤S240,通过数据库公共包按获取任务配置文件中的第二参数来替换数据库脚本文件中的门限值,以及从输入表获取数据库脚本的输入数据并执行数据库脚本文件,将得到的结果加入输出表中。在本实施例中,公共jar包将执行任务的结果返回给主程序,主程序判断任务最终执行结果。
根据本实施例的技术方案,采用本发明的方法,与现有技术相比,任务独立化可以有效提升代码灵活性,且充分解耦,使代码维护变得简洁方便;将主程序与算法分离解决了主程序庞大不易维护的弊端;公共jar包的提取,大大降低代码重复的同时,让数据清洗任务变得更加简单,节约人力。
实施例三
如图3所示,本发明的一个实施例中提供了一种任务执行装置,包括:
读取模块310,读取任务对应的任务描述文件,任务描述文件中记录用于执行任务的数据库公共包的路径、用于表示任务的实体的数据库脚本文件的路径、以及任务对应的第一参数,第一参数用于替换数据库脚本文件中的变量。在本实施例中,任务描述文件可以采用xml格式文件,数据库脚本文件可以是sql格式文件,所进行的任务包括但不限于数据清洗任务,该数据库公共包可以是公共jar包。
推送模块320,将数据库脚本文件推送到计算节点,计算节点处具有数据库公共包。
执行模块330,根据数据库公共包的路径调用数据库公共包,通过数据库公共包按数据库脚本文件的路径,获取数据库脚本文件并使用第一参数替换数据库脚本文件中的变量,以及执行数据库脚本文件,得到任务的执行结果。
根据本实施例的技术方案,可以将每个数据清洗任务写成单独算法,使用spark-submit提交任务;将数据源为数据库表结构的清洗任务提取出来,做成通用的公共jar包文件,开发人员可以通过配置任务对应的XML描述文件来描述任务的输入、输出。本实施例的这些实现特点,可以有效控制传统清洗任务代码重复、工程过大、任务管理不便等难题,同时也可以大大降低以数据源为数据库表结构的清洗任务的开发成本和维护成本。
实施例四
如图4所示,本发明的一个实施例中提供了一种任务执行装置,包括:
读取模块410,读取任务对应的任务描述文件,任务描述文件中记录用于执行任务的数据库公共包的路径、用于表示任务的实体的数据库脚本文件的路径、以及任务对应的第一参数,第一参数用于替换数据库脚本文件中的变量,任务描述文件中还记录任务配置文件的路径,任务配置中文件记录用于替换数据库脚本文件的门限值的第二参数,任务描述文件中包括任务对应的输入表的信息、输出表的信息。
在本实施例中,一个原始任务由三部分组成:任务.xml文件、任务.sql文件、任务.conf文件(若没有门限值可以省略)。任务.xml文件中,保存了任务类型(sql任务/RDD任务),输入(表所在数据库、表名称、类型、分区等信息/文件),输出(表所在数据库、表名称、类型、分区等信息/文件),执行时间(定时任务),执行任务的jar包路径、任务.conf文件、任务.sql文件路径等。任务.sql文件中保存任务实体,即带有变量的sql语句。任务.conf文件中保存了任务门限值等常量信息。
推送模块420,将数据库脚本文件推送到计算节点,将任务配置文件推送到计算节点,计算节点处具有数据库公共包。基于本实施例的技术方案,可实现一种主程序,启动主程序,主程序会将任务.xml文件中的信息读取到内存的任务元数据列表,并将任务.sql文件、任务.conf文件推送到各spark计算节点。
任务列表模块430,根据任务的优先级、任务所需数据是否已获取,将任务添加到记录有按顺序排列的一个或多个任务的任务列表中;根据任务在任务列表中的顺序,从任务列表中读取任务后,根据预设的数据交换语言,将任务描述文件生成相应的数据交换文件,从数据交换文件中提取第一参数来替换数据库脚本文件中的变量,以及根据数据库公共包的路径调用数据库公共包执行数据库脚本文件,得到任务的执行结果。在本实施例中,主程序根据任务元数据描述情况(数据驱动/时间驱动)、数据到达情况、任务优先级情况等,将任务加入到任务调度列表。
在本实施例中,主程序使用spark-submit提交任务到spark集群并在spark集群计算节点上执行任务。主程序监控spark环境资源使用情况,当资源允许时,主程序根据任务元数据中所需参数,生成任务.json文件,sql公共jar包读取任务.json文件中的参数和任务.conf文件中的门限值将任务.sql文件中变量替换掉,生成完整的任务sql语句(任务实体)。根据输入表类型获取json文件中对应的数据库连接信息(spark/gbase/mysql/其他),从而连接到对应数据库并执行任务实体sql。根据输出类型,保存任务执行结果到对应的数据库或文件中。
执行模块440,通过数据库公共包按获取任务配置文件中的第二参数来替换数据库脚本文件中的门限值,以及从输入表获取数据库脚本的输入数据并执行数据库脚本文件,将得到的结果加入输出表中。在本实施例中,公共jar包将执行任务的结果返回给主程序,主程序判断任务最终执行结果。
根据本实施例的技术方案,采用本发明所述的方法,与现有技术相比,任务独立化可以有效提升代码灵活性,且充分解耦,使代码维护变得简洁方便;将主程序与算法分离解决了主程序庞大不易维护的弊端;公共jar包的提取,大大降低代码重复的同时,让数据清洗任务变得更加简单,节约人力。
实施例五
本发明的一个实施例中提供了一种服务器,该服务器包括实施例三或实施例四中记载的任务执行装置。本领域技术人员应当理解,目前的服务器上可以运行上述的任务执行装置,即基于目前服务器的软件和/或硬件可实现上述任务执行装置的各个功能模块,及通过本实施例的服务器可以实现上述实施例的任务执行装置的技术效果。
根据本发明的实施例的一个具体应用示例如下:
1)编写原始任务描述文件,即图5所示的三个文件。
例如lte_subject_poorquality_cell_day任务,首先根据模板编辑好任务lte_subject_poorquality_cell_day.xml文件。该xml文件记载了以下内容:任务名称;执行粒度,为每天执行;指示信息,表示任务存在sql语句;sql公共jar包入口类和入口函数(可以省略掉,会在主程序中有默认值);任务实体sql文件在spark计算节点上的路径;任务配置文件在spark计算节点上的路径;以下为任务中对依赖表信息的描述;输入表的信息描述;输出表信息描述;计算所需核数和内存;删除陈旧信息模式。
其次编辑lte_subject_poorquality_cell_day.sql文件。变量替换规则是使用两个‘$’包围起来的名称;门限值替换规则是使用两个‘#’包围起来的名称,具体可以包括:输出表别名,对应任务.xml文件中的别名,在算法公共jar包执行时替换成输出表实际名称;输出表分区值,对应任务.xml文件中的别名,在算法公共jar包执行时替换成实际值;门限值,对应任务.conf文件中的值,在算法公共jar包执行时替换成实际值;最后,根据上述sql文件是否有门限值决定是否编写lte_subject_poorquality_cell_day.conf文件,本示例存在门限值,则提取门限值到单独的配置文件时方便之后对门限值的修改操作。
2)将原始任务文件导入主程序。主程序在启动时会扫描所有约定目录下的任务,单独增加、修改的任务也可以用特殊接口单独以补丁的形式加入。主程序加载原始任务文件的过程如图6,主程序会将任务.xml文件读取到内存,加入任务元数据列表,供之后生成任务json文件时使用;将任务.conf、任务.sql文件推送到各计算节点上,供任务执行时sql公共jar包的使用。
3)等待任务执行。有数据的任务才是可以执行的任务、有spark环境需要存在计算资源才能真正执行任务,当所有准备条件都成立后,任务会被提交。
4)sql公共jar包的执行。如图7,当任务被提交时sql公共jar包读取主程序产生的任务json文件,获取任务sql文件路径、任务conf文件路径,从而读取sql文件中的sql语句。每个任务的sql语句可以是多条,这些语句中的时间条件、输入、输出表、门限值都是按照框架约束格式的变量,需要在sql jar包中进行替换,替换值是通过读取任务json文件中相关参数,整理后完成。替换完全后的sql语句即为可以直接运行的sql语句。这时根据输入表对应数据库类型,建立链接,执行sql。如果输出与输入为相同数据库下的表,任务结束(insert语句);如果输出为文件,对应保存;如果输出为其他数据库表,则生成相应文件,执行对应该数据库的存储过程入库,本示例的整体流程如图8所示,其中通过任务列表控制任务全部执行。
5)sql公共jar包将最后的执行结果传给主程序。
开发人员实际工作只是1)、2)两步。
根据本发明的技术方案,还提供一种存储介质,该存储介质上记录了计算机程序,该计算机程序在运行后可以实现前述的实施例的任务执行装置。
以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质,可以有多种变型方案实现本发明,比如作为一个实施例的特征可用于另一实施例而得到又一实施例。凡在运用本发明的技术构思之内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。
Claims (11)
1.一种任务执行方法,其特征在于,包括:
读取任务的任务描述文件,所述任务描述文件中记录用于执行所述任务的数据库公共包的路径、用于表示所述任务的实体的数据库脚本文件的路径、以及所述任务对应的第一参数;
将数据库脚本文件推送到计算节点,所述计算节点处具有数据库公共包;根据所述数据库公共包的路径调用所述数据库公共包,通过所述数据库公共包按所述数据库脚本文件的路径,获取数据库脚本文件并使用所述第一参数替换所述数据库脚本文件中的变量,以及执行所述数据库脚本文件,得到所述任务的执行结果。
2.根据权利要求1所述的方法,其特征在于,所述任务描述文件中还记录任务配置文件的路径,所述任务配置文件记录用于替换所述数据库脚本文件的门限值的第二参数;所述方法还包括:
将所述任务配置文件推送到所述计算节点;
通过所述数据库公共包按所述任务配置文件的路径,获取所述任务配置文件中的所述第二参数来替换所述数据库脚本文件中的门限值。
3.根据权利要求1所述的方法,其特征在于,获取所述数据库脚本文件并使用所述第一参数替换所述数据库脚本文件中的变量,具体包括:
根据预设的数据交换语言,将所述任务描述文件生成数据交换文件,从所述数据交换文件中提取所述第一参数来替换所述数据库脚本文件中的变量。
4.根据权利要求1所述的方法,其特征在于,还包括:
根据所述任务的优先级、所述任务所需数据是否已获取,将所述任务添加到记录有按顺序排列的一个或多个任务的任务列表中;根据所述任务在所述任务列表中的顺序,从所述任务列表中读取所述任务后,执行获取所述数据库脚本文件并使用所述第一参数替换所述数据库脚本文件中的变量,以及根据所述数据库公共包的路径调用所述数据库公共包执行所述数据库脚本文件,得到所述任务的执行结果。
5.根据权利要求1所述的方法,其特征在于,所述任务描述文件中包括所述任务对应的输入表的信息、输出表的信息;
所述调用所述数据库公共包执行所述数据库脚本文件,具体包括:
从所述输入表获取所述数据库脚本的输入数据并执行所述数据库脚本文件,将得到的结果加入所述输出表中。
6.一种任务执行装置,其特征在于,包括:
读取模块,用于读取任务对应的任务描述文件,所述任务描述文件中记录用于执行所述任务的数据库公共包的路径、用于表示所述任务的实体的数据库脚本文件的路径、以及所述任务对应的第一参数,所述第一参数用于替换所述数据库脚本文件中的变量;
推送模块,用于将所述数据库脚本文件推送到计算节点,所述计算节点处具有所述数据库公共包;
执行模块,用于根据所述数据库公共包的路径调用所述数据库公共包,通过所述数据库公共包按所述数据库脚本文件的路径,获取所述数据库脚本文件并使用所述第一参数替换所述数据库脚本文件中的变量,以及执行所述数据库脚本文件,得到所述任务的执行结果。
7.根据权利要求6所述的装置,其特征在于,所述任务描述文件中还记录任务配置文件的路径,所述任务配置文件记录用于替换所述数据库脚本文件的门限值的第二参数;所述推送模块还将所述任务配置文件推送到所述计算节点;所述执行模块还通过所述数据库公共包按所述任务配置文件的路径,获取所述任务配置文件中的所述第二参数来替换所述数据库脚本文件中的门限值。
8.根据权利要求6所述的装置,其特征在于,
所述执行模块根据预设的数据交换语言,将所述任务描述文件生成相应的数据交换文件,从所述数据交换文件中提取所述第一参数来替换所述数据库脚本文件中的变量。
9.根据权利要求6所述的装置,其特征在于,还包括:
任务列表模块,根据所述任务的优先级、所述任务所需数据是否已获取,将所述任务添加到记录有按顺序排列的一个或多个任务的任务列表中;根据所述任务在所述任务列表中的顺序,从所述任务列表中读取所述任务后,执行获取所述数据库脚本文件并使用所述第一参数替换所述数据库脚本文件中的变量,以及根据所述数据库公共包的路径调用所述数据库公共包执行所述数据库脚本文件,得到所述任务的执行结果。
10.根据权利要求6所述的装置,其特征在于,所述任务描述文件中包括所述任务对应的输入表的信息、输出表的信息;所述执行模块从所述输入表获取所述数据库脚本的输入数据并执行所述数据库脚本文件,将得到的结果加入所述输出表中。
11.一种服务器,其特征在于,包括:
根据权利要求6至10中任一项所述的任务执行装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710003855.3A CN108280023B (zh) | 2017-01-04 | 2017-01-04 | 任务执行方法、装置和服务器 |
PCT/CN2017/118957 WO2018126964A1 (zh) | 2017-01-04 | 2017-12-27 | 任务执行方法、装置和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710003855.3A CN108280023B (zh) | 2017-01-04 | 2017-01-04 | 任务执行方法、装置和服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108280023A CN108280023A (zh) | 2018-07-13 |
CN108280023B true CN108280023B (zh) | 2022-11-01 |
Family
ID=62789189
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710003855.3A Active CN108280023B (zh) | 2017-01-04 | 2017-01-04 | 任务执行方法、装置和服务器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108280023B (zh) |
WO (1) | WO2018126964A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110222122A (zh) * | 2019-07-26 | 2019-09-10 | 深圳市元征科技股份有限公司 | 一种MongoDB的数据同步方法及相关设备 |
CN110704210B (zh) * | 2019-09-20 | 2023-10-10 | 天翼电子商务有限公司 | 脚本任务调用方法、***、介质及装置 |
CN112540858B (zh) * | 2019-09-23 | 2023-10-27 | 华为云计算技术有限公司 | 任务处理方法、服务器、客户端及*** |
CN110990669A (zh) * | 2019-10-16 | 2020-04-10 | 广州丰石科技有限公司 | 一种基于规则生成的dpi解析方法和*** |
CN111027196B (zh) * | 2019-12-03 | 2023-04-28 | 南方电网科学研究院有限责任公司 | 一种电力设备的仿真分析任务处理方法、装置及存储介质 |
CN113760489B (zh) * | 2020-09-21 | 2024-05-17 | 北京沃东天骏信息技术有限公司 | 一种资源配置方法和装置 |
CN113239005B (zh) * | 2021-06-02 | 2022-12-02 | 上海许继电气有限公司 | 一种电力监控***i、iv区数据同步方法及装置 |
CN113721824B (zh) * | 2021-08-10 | 2024-05-03 | 深圳市一博科技股份有限公司 | 一种cr5000平台一键设置库路径的方法 |
CN114489995B (zh) * | 2022-02-15 | 2022-09-30 | 北京永信至诚科技股份有限公司 | 一种分布式调度处理方法及*** |
CN115061785A (zh) * | 2022-04-15 | 2022-09-16 | 支付宝(杭州)信息技术有限公司 | 信息下发方法、装置、存储介质及服务器 |
CN115061741B (zh) * | 2022-05-31 | 2024-06-14 | 北京奇艺世纪科技有限公司 | 一种目标插件运行方法、装置、电子设备及存储介质 |
CN117609102B (zh) * | 2024-01-23 | 2024-05-28 | 云筑信息科技(成都)有限公司 | 一种建筑产业互联网造数平台***测试方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678098A (zh) * | 2012-09-06 | 2014-03-26 | 百度在线网络技术(北京)有限公司 | 一种hadoop程序测试的方法和*** |
CN104317928A (zh) * | 2014-10-31 | 2015-01-28 | 北京思特奇信息技术股份有限公司 | 一种基于分布式数据库的业务etl方法及*** |
CN105224348A (zh) * | 2014-06-11 | 2016-01-06 | 中兴通讯股份有限公司 | 一种MySQL数据库的安装方法及装置 |
CN105808776A (zh) * | 2016-03-29 | 2016-07-27 | 中国建设银行股份有限公司 | 一种分布式数据库的数据管理***及方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009295013A (ja) * | 2008-06-06 | 2009-12-17 | Hitachi Ltd | データベース管理方法、データベース管理装置およびプログラム |
CN102880546B (zh) * | 2012-09-03 | 2015-06-17 | 北大方正集团有限公司 | 一种基于xml数据库的软件集成测试方法及*** |
US20150379022A1 (en) * | 2014-06-27 | 2015-12-31 | General Electric Company | Integrating Execution of Computing Analytics within a Mapreduce Processing Environment |
CN105487943A (zh) * | 2015-12-09 | 2016-04-13 | 浪潮电子信息产业股份有限公司 | 一种自动向集群服务器各节点拷贝文件的方法 |
-
2017
- 2017-01-04 CN CN201710003855.3A patent/CN108280023B/zh active Active
- 2017-12-27 WO PCT/CN2017/118957 patent/WO2018126964A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678098A (zh) * | 2012-09-06 | 2014-03-26 | 百度在线网络技术(北京)有限公司 | 一种hadoop程序测试的方法和*** |
CN105224348A (zh) * | 2014-06-11 | 2016-01-06 | 中兴通讯股份有限公司 | 一种MySQL数据库的安装方法及装置 |
CN104317928A (zh) * | 2014-10-31 | 2015-01-28 | 北京思特奇信息技术股份有限公司 | 一种基于分布式数据库的业务etl方法及*** |
CN105808776A (zh) * | 2016-03-29 | 2016-07-27 | 中国建设银行股份有限公司 | 一种分布式数据库的数据管理***及方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2018126964A1 (zh) | 2018-07-12 |
CN108280023A (zh) | 2018-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108280023B (zh) | 任务执行方法、装置和服务器 | |
CN111045655B (zh) | 一种页面渲染的方法、装置、渲染服务器和存储介质 | |
US20190303018A1 (en) | Optimizing serverless computing using a distributed computing framework | |
US20160364273A1 (en) | Data Processing Apparatus and Method for Processing Serial Tasks | |
CN103309904A (zh) | 一种生成数据仓库etl 代码的方法及装置 | |
CN107330014B (zh) | 一种数据表的创建方法与设备 | |
US20230351145A1 (en) | Pipelining and parallelizing graph execution method for neural network model computation and apparatus thereof | |
US10496423B2 (en) | Method for opening up data and functions of terminal application based on reconstruction technology | |
CN111782201A (zh) | 实现业务代码和编排拓扑图联动的方法及装置 | |
CN116089126A (zh) | 一种数据实时采集方法、装置、设备及可读存储介质 | |
CN113360581A (zh) | 数据处理方法、装置及存储介质 | |
CN115994085A (zh) | 代码覆盖率的测试处理方法、装置、设备及存储介质 | |
CN112559525B (zh) | 数据检查***、方法、装置和服务器 | |
CN114089889A (zh) | 模型训练方法、装置以及存储介质 | |
CN112130849B (zh) | 代码自动生成方法及装置 | |
CN111309297B (zh) | 脚本开发***及方法 | |
EP3907602A1 (en) | Trustworthy application integration | |
CN111782608B (zh) | 文件自动生成方法、装置、电子设备及存储介质 | |
CN115904382A (zh) | 代码开发方法、***、客户端、服务端、设备和存储介质 | |
CN113111108A (zh) | 文件数据源入库解析接入方法 | |
CN113111111A (zh) | 多数据源数据库接入方法 | |
CN112051987B (zh) | 业务数据处理方法、装置及设备、程序生成方法及装置 | |
WO2024113991A1 (zh) | 版本升级配置参数构造方法、版本升级方法、设备和介质 | |
CN110858806B (zh) | 节点部署文件的生成方法及装置、节点部署方法及装置、电子设备 | |
CN117634367A (zh) | Edif文件合并方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200617 Address after: 518057 Zhongxing building, A3-01, A3-02, Nanshan District hi tech Industrial Park, Shenzhen, Guangdong Applicant after: Shenzhen ZTE Technical Service Co.,Ltd. Address before: 518000 Zhongxing building, science and technology south road, Nanshan District hi tech Industrial Park, Guangdong, Shenzhen Applicant before: ZTE Corp. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |