CN111506309A - 任务执行方法和系统、计算机可读存储介质 - Google Patents
任务执行方法和系统、计算机可读存储介质 Download PDFInfo
- Publication number
- CN111506309A CN111506309A CN202010311048.XA CN202010311048A CN111506309A CN 111506309 A CN111506309 A CN 111506309A CN 202010311048 A CN202010311048 A CN 202010311048A CN 111506309 A CN111506309 A CN 111506309A
- Authority
- CN
- China
- Prior art keywords
- task
- module data
- execution
- thread
- task module
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000004048 modification Effects 0.000 claims description 12
- 238000012986 modification Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004519 manufacturing process Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/316—Aspect-oriented programming techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明提供了一种任务执行方法和系统、计算机可读存储介质,其中,任务执行方法包括:接收创建指令,根据创建指令获取对应的任务模块数据;将任务模块数据发送至对应的任务执行系统,并控制任务执行系统将任务模块数据编译为任务线程;将任务线程发送至对应的执行实体,控制执行实体执行任务线程。本发明提供的技术方案中,任务模块数据是事先创建好的,在创建任务时可对任务模块数据进行直接调用,无需针对每个新任务重新编写任务规则,避免了“重复造轮子”的问题,进而极大地节约了人力资源,提高了任务创建和执行的效率。
Description
本申请要求于2020年03月16日提交中国专利局、申请号为“2020101827784”、申请名称为“任务执行方法和系统、计算机可读存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及任务执行技术领域,具体而言,涉及一种任务执行方法、一种任务执行系统和一种计算机可读存储介质。
背景技术
在相关技术中,电商的营销业务包含了多种场景应用和业务域。但对于不同的营销业务,其往往包含了相同的任务规则,如筛选目标用户等。由于不同业务模板不同,因此在生成营销业务对应的任务时,需要反复编写或修改这些任务规则,这种重复“造轮子”的现象造成了大量的人力浪费,效率低下。
因此,目前亟需一种不需要反复编写重复规则的任务执行方法。
发明内容
本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
为此,本发明的第一方面提出一种任务执行方法。
本发明的第二方面提出一种任务执行系统。
本发明的第三方面提出一种计算机可读存储介质。
有鉴于此,本发明的第一方面提供了一种任务执行方法,包括:接收创建指令,根据创建指令获取对应的任务模块数据;将任务模块数据发送至对应的任务执行系统,并控制任务执行系统将任务模块数据编译为任务线程;将任务线程发送至对应的执行实体,控制执行实体执行任务线程。
在该技术方案中,在创建一个新的任务时,根据创建指令确定一个或多个任务规则,其中每个任务规则对应一个任务模块数据。任务模块数据中包括了封装编译好的任务规则。任务执行系统在接收到对应的任务模块数据后,根据创建指令对应的任务规则,将一个或多个任务模块数据按照执行顺序编译为可被执行实体执行的任务线程,并控制执行实体执行该任务线程,以完成任务执行。
本发明提供的技术方案,根据用户指令确定执行任务所需的任务规则,并对应获取封装了该任务规则的任务模块数据,并通过任务执行系统将多个任务模块数据进行再编译,最终形成可被执行的任务线程。由于任务模块数据是事先创建好的,在创建任务时可对任务模块数据进行直接调用,无需针对每个新任务重新编写任务规则,避免了“重复造轮子”的问题,进而极大地节约了人力资源,提高了任务创建和执行的效率。
另外,本发明提供的上述技术方案中的任务执行方法还可以具有如下附加技术特征:
在上述技术方案中,根据创建指令获取对应的任务模块数据的步骤,具体包括:在目标数据库中读取任务模块数据集,将任务模块数据集缓存至预设缓存系统;根据创建指令确定一个或多个目标任务模块数据,并控制任务执行系统访问预设缓存系统,以在任务模块数据集中获取目标任务模块数据。
在该技术方案中,在接收到创建指令后,首先在存储有全部任务模块数据的目标数据库读取任务模块数据集,其中任务模块数据集中包含了所有可能被调用的任务模块数据。然后,将任务模块数据集缓存之预设缓存系统,如Redis缓存系统,并确定本次任务所需的目标任务模块数据,并在预设缓存系统中获取本次任务所需的一个或多个目标任务模块数据。由于在获取源代码(目标任务模块数据)时,需要消耗一定的服务器资源。将任务模块数据集缓存在专用的预设缓存系统中,在每次获取目标任务模块数据时无需访问根数据库,一方面降低数据库的运算压力,另一方面可以提高检索并获取目标任务模块数据的速度,进而提高任务执行效率。
在上述任一技术方案中,控制任务执行系统将任务模块数据编译为任务线程的步骤,具体包括:根据创建指令获取对应的任务模板和任务规则,以及对应的任务模块数据对应的识别信息;根据任务规则确定任务模块数据对应的规则队列,并根据任务模板、规则队列和识别信息确定任务线程框架;根据任务模块数据和任务框架进行编译,以得到任务线程。
在该技术方案中,任务执行系统将一个或多个任务模块数据编译为可被执行实体执行的任务线程。具体地,通过用户输入的创建指令获取对应的任务模板、任务规则和对应任务模块数据对应的标识信息。其中,任务模板为预先配置好的,能够针对特定任务场景的缺省模板,任务规则是所要建立任务的具体运行逻辑。
每个任务模块均被配置有唯一的识别信息,通过该识别信息可在缓存服务器中获取到对应的任务模块数据。在编译任务线程时,根据任务规则确定多个任务模块数据对应的规则队列(也就是多个任务逻辑被运算时的先后顺序),并按照规则队列把每个目标任务模块数据对应的识别信息填充到任务模板中的缺省项内得到任务线程框架,最后根据识别信息拉取对应的任务模块数据,并根据任务模块数据和任务框架进行编译得到任务线程。在该过程中,用户(任务建立者)仅需决定发布任务所需的规则和顺序,编译过程由任务系统自行完成,进而极大简化了任务建立流程,提高了任务执行效率。
在上述任一技术方案中,任务执行方法还包括:任务执行系统根据目标任务模块数据生成对应的任务实例,并在任务执行系统的存储介质中缓存任务实例。
在该技术方案中,每当任务执行系统从预设缓存系统中获取一个任务模块数据后,在本地内存或存储空间中生成一个该任务模块数据对应的任务实例,此后每当再次需要改任务模块数据时,可直接调用缓存的任务模块数据,而无需再次访问预设缓存服务器,一方面降低了缓存服务器的运行压力,另一方面提高了任务模块数据的获取速度,提高了任务执行效率。
在上述任一技术方案中,根据任务模块数据和任务框架进行编译的步骤,具体包括:确定识别信息对应的任务实例,并根据规则队列将对应的任务实例填充至任务模板,以得到任务线程。
在该技术方案中,根据任务模块数据和任务框架进行编译时,根据任务模块数据对应的识别信息确定本地缓存中对应的任务实例,并拉取对应任务实例的复制,将任务实例按照规则队列中的顺序填充至任务框架后,得到编译好的任务线程。直接读取缓存在本地的任务实例,不需要访问预设缓存服务器,节省了带宽资源,并提高了读取速度,增加了任务执行的效率。
在上述任一技术方案中,所述任务线程包括执行命令,所述执行实体按照所述执行命令依次运行所述任务模块数据,以执行所述任务线程。
在该技术方案中,任务线程中包含了执行命令,执行命令用于指示执行实体按照对应的顺序依次运行任务模块数据,具体为按照当前任务对应的逻辑顺序依次执行对应的程序,最终完成任务的发布和执行,并对应收集任务执行的结果。
在上述任一技术方案中,任务模块数据包括公共字段、拓展字段和数据接口;其中,公共字段与任一任务执行系统相对应,拓展字段与创建指令对应的任务执行系统相对应,任务执行系统通过数据接口获取公共字段和拓展字段。
在该技术方案中,任务模块主要包括公共字段、拓展字段和数据接口。其中公共字段对应于所有的任务执行系统,如用户信息等泛用数据均位于公共字段内。拓展字段指的是用于执行特定任务的业务参数,对于不同的任务,其所需的业务参数不同,对应的拓展字段也不同。拓展字段还构成了不同任务模块数据之间的主要差别。数据接口是可被任务系统接入并获取公共字段和拓展字段的公开接口,可定义为如:bool executeModule(Context context,Map<String,Object>dataMap)的格式,其中Context就是公共的上下文信息,即公共字段,dataMap是用于扩展的参数,即拓展字段。
在上述任一技术方案中,任务执行方法还包括:接收修改指令,根据修改指令确定对应的更新拓展字段,并确定对应的待修改任务模块数据;获取时间戳数据,根据更新拓展字段、待修改任务模块数据和时间戳生成替换模块数据;将替换模块数据添加至任务线程,并对应修改执行命令。
在该技术方案中,可通过修改指令对现有的待修改任务模块数据进行修改。对于使用Java原生编译能力的情况,由于Java类加载机制是不支持类卸载,对于这些情况,本发明通过在修改特定的任务模块数据时,不去卸载该待修改任务模块数据,而是根据当前时间戳、更新的拓展字段和待修改任务模块数据重新生成一个新的替换模块数据。在修改后,执行实体执行该任务线程时,直接根据时间戳的先后顺序执行替换模块数据,放弃执行原有的待修改任务模块数据,进而在不卸载原有数据的前提下,对已经加载的任务模块数据进行修改。
本发明第二方面提供了一种任务执行系统,包括存储器,被配置为存储计算机程序;处理器,被配置为运行计算机程序以实现如上述任一技术方案中提供的任务执行方法,因此,该任务执行系统包括如上述任一技术方案中提供的任务执行方法的全部有益效果,在此不再赘述。
本发明第三方面提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器运行时实现如上述任一技术方案中提供的任务执行方法,因此,该计算机可读存储介质包括如上述任一技术方案中提供的任务执行方法的全部有益效果,在此不再赘述。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了根据本发明的一个实施例的任务执行方法的流程图;
图2示出了根据本发明的一个实施例的任务执行方法的另一个流程图;
图3示出了根据本发明的一个实施例的任务执行方法的又一个流程图;
图4示出了根据本发明的一个实施例的任务执行方法中系统的结构示意图;
图5示出了根据本发明的一个实施例的任务执行系统的结构框图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
下面参照图1至图5描述根据本发明一些实施例所述任务执行方法、任务执行系统和计算机可读存储介质。
实施例一
如图1所示,在本发明的一个实施例中,提供了一种任务执行方法,包括:
步骤S102,接收创建指令,根据创建指令获取对应的任务模块数据;
步骤S104,将任务模块数据发送至对应的任务执行系统,并控制任务执行系统将任务模块数据编译为任务线程;
步骤S106,将任务线程发送至对应的执行实体,控制执行实体执行任务线程。
在该实施例中,在创建一个新的任务时,根据创建指令确定一个或多个任务规则,其中每个任务规则对应一个任务模块数据。任务模块数据中包括了封装编译好的任务规则。任务执行系统在接收到对应的任务模块数据后,根据创建指令对应的任务规则,将一个或多个任务模块数据按照执行顺序编译为可被执行实体执行的任务线程,并控制执行实体执行该任务线程,以完成任务执行。
本发明提供的实施例,根据用户指令确定执行任务所需的任务规则,并对应获取封装了该任务规则的任务模块数据,并通过任务执行系统将多个任务模块数据进行再编译,最终形成可被执行的任务线程。由于任务模块数据是事先创建好的,在创建任务时可对任务模块数据进行直接调用,无需针对每个新任务重新编写任务规则,避免了“重复造轮子”的问题,进而极大地节约了人力资源,提高了任务创建和执行的效率。
在本发明的一个实施例中,如图2所示,根据创建指令获取对应的任务模块数据的步骤,具体包括:
步骤S202,在目标数据库中读取任务模块数据集,将任务模块数据集缓存至预设缓存系统;
步骤S204,根据创建指令确定一个或多个目标任务模块数据,并控制任务执行系统访问预设缓存系统,以在任务模块数据集中获取目标任务模块数据。
在该实施例中,在接收到创建指令后,首先在存储有全部任务模块数据的目标数据库读取任务模块数据集,其中任务模块数据集中包含了所有可能被调用的任务模块数据。然后,将任务模块数据集缓存之预设缓存系统,如Redis缓存系统,并确定本次任务所需的目标任务模块数据,并在预设缓存系统中获取本次任务所需的一个或多个目标任务模块数据。由于在获取源代码(目标任务模块数据)时,需要消耗一定的服务器资源。将任务模块数据集缓存在专用的预设缓存系统中,在每次获取目标任务模块数据时无需访问根数据库,一方面降低数据库的运算压力,另一方面可以提高检索并获取目标任务模块数据的速度,进而提高任务执行效率。
在本发明的一个实施例中,如图3所示,控制任务执行系统将任务模块数据编译为任务线程的步骤,具体包括:
步骤S302,根据创建指令获取对应的任务模板和任务规则,以及对应的任务模块数据对应的识别信息;
步骤S304,根据任务规则确定任务模块数据对应的规则队列,并根据任务模板、规则队列和识别信息确定任务线程框架;
步骤S306,根据任务模块数据和任务框架进行编译,以得到任务线程。
在该实施例中,任务执行系统将一个或多个任务模块数据编译为可被执行实体执行的任务线程。具体地,通过用户输入的创建指令获取对应的任务模板、任务规则和对应任务模块数据对应的标识信息。其中,任务模板为预先配置好的,能够针对特定任务场景的缺省模板,任务规则是所要建立任务的具体运行逻辑。
每个任务模块均被配置有唯一的识别信息,通过该识别信息可在缓存服务器中获取到对应的任务模块数据。在编译任务线程时,根据任务规则确定多个任务模块数据对应的规则队列(也就是多个任务逻辑被运算时的先后顺序),并按照规则队列把每个目标任务模块数据对应的识别信息填充到任务模板中的缺省项内得到任务线程框架,最后根据识别信息拉取对应的任务模块数据,并根据任务模块数据和任务框架进行编译得到任务线程。在该过程中,用户(任务建立者)仅需决定发布任务所需的规则和顺序,编译过程由任务系统自行完成,进而极大简化了任务建立流程,提高了任务执行效率。
在本发明的一个实施例中,任务执行方法还包括:任务执行系统根据目标任务模块数据生成对应的任务实例,并在任务执行系统的存储介质中缓存任务实例。
在该实施例中,每当任务执行系统从预设缓存系统中获取一个任务模块数据后,在本地内存或存储空间中生成一个该任务模块数据对应的任务实例,此后每当再次需要改任务模块数据时,可直接调用缓存的任务模块数据,而无需再次访问预设缓存服务器,一方面降低了缓存服务器的运行压力,另一方面提高了任务模块数据的获取速度,提高了任务执行效率。
在本发明的一个实施例中,根据任务模块数据和任务框架进行编译的步骤,具体包括:确定识别信息对应的任务实例,并根据规则队列将对应的任务实例填充至任务模板,以得到任务线程。
在该实施例中,根据任务模块数据和任务框架进行编译时,根据任务模块数据对应的识别信息确定本地缓存中对应的任务实例,并拉取对应任务实例的复制,将任务实例按照规则队列中的顺序填充至任务框架后,得到编译好的任务线程。直接读取缓存在本地的任务实例,不需要访问预设缓存服务器,节省了带宽资源,并提高了读取速度,增加了任务执行的效率。
在本发明的一个实施例中,所述任务线程包括执行命令,所述执行实体按照所述执行命令依次运行所述任务模块数据,以执行所述任务线程。
在该实施例中,任务线程中包含了执行命令,执行命令用于指示执行实体按照对应的顺序依次运行任务模块数据,具体为按照当前任务对应的逻辑顺序依次执行对应的程序,最终完成任务的发布和执行,并对应收集任务执行的结果。
在本发明的一个实施例中,任务模块数据包括公共字段、拓展字段和数据接口;其中,公共字段与任一任务执行系统相对应,拓展字段与创建指令对应的任务执行系统相对应,任务执行系统通过数据接口获取公共字段和拓展字段。
在该实施例中,任务模块主要包括公共字段、拓展字段和数据接口。其中公共字段对应于所有的任务执行系统,如用户信息等泛用数据均位于公共字段内。拓展字段指的是用于执行特定任务的业务参数,对于不同的任务,其所需的业务参数不同,对应的拓展字段也不同。拓展字段还构成了不同任务模块数据之间的主要差别。数据接口是可被任务系统接入并获取公共字段和拓展字段的公开接口,可定义为如:bool executeModule(Contextcontext,Map<String,Object>dataMap)的格式,其中Context就是公共的上下文信息,即公共字段,dataMap是用于扩展的参数,即拓展字段。
在本发明的一个实施例中,任务执行方法还包括:接收修改指令,根据修改指令确定对应的更新拓展字段,并确定对应的待修改任务模块数据;获取时间戳数据,根据更新拓展字段、待修改任务模块数据和时间戳生成替换模块数据;将替换模块数据添加至任务线程,并对应修改执行命令。
在该实施例中,可通过修改指令对现有的待修改任务模块数据进行修改。对于使用Java原生编译能力的情况,由于Java类加载机制是不支持类卸载,对于这些情况,本发明通过在修改特定的任务模块数据时,不去卸载该待修改任务模块数据,而是根据当前时间戳、更新的拓展字段和待修改任务模块数据重新生成一个新的替换模块数据。在修改后,执行实体执行该任务线程时,直接根据时间戳的先后顺序执行替换模块数据,放弃执行原有的待修改任务模块数据,进而在不卸载原有数据的前提下,对已经加载的任务模块数据进行修改。
实施例二
在本发明的一个实施例中,从业务设计角度对本发明实施例进行完整的举例说明:
本发明的基本思路是:先定义业务规则模块、然后系统中配置业务规则模块信息、最后系统在运行的过程中拉取、编译业务规则源代码,最终实现业务规则复用和动态加载。
整体结构如图4所示,其中,业务规则模块应该有共性的,它本质来讲,就是通过输入的参数,进行一定的逻辑处理,最后返回一个结果。相应的,入参包含两部分,一个是公共的上下文参数,即公共资源,比如用户信息都是放在上下文中,如果模块中还需要特定的业务参数,还扩展出一个KV键值对的参数,即拓展字段,这样就能解决问题。
接口定义:bool executeModule(Context context,Map<String,Object>dataMap)。其中Context就是公共的上下文信息,dataMap是用于扩展的参数。
将一个具体的业务规则实现接口之后,将其推送到Git(一种分布式版本控制系统)上。然后前端可以配置具体的业务规则,包含业务规则名、前端展示组件、后端逻辑,这样就形成了一个个独立的模块,每个模块有一个唯一的模块ID(Identity Document,身份标识),在各个系统中,需要使用到具体的业务规则时,根据ID进行选择、配置就行。这样就就达到了复用的目的。系统在执行的过程中,拉取到模块代码之后,进行编译、运行。
在一些实施方式中,动态编译技术使用Java原生自带的编译能力,由于Java类加载机制是不支持类卸载,如果模块要修改,理伦上是不能被重新加载的,这样在实际中是不可行的。
在本发明中,加载进系统中的模块,其类名都是重新生成的,这样重新修改之后,还是能被加载进系统中的。对于基于SpringBoot来开发的情况,会引入一个新的问题是:SpringBoot将工程打包成一个Flat Jar包,模块还需要依赖的Jar包就拉取不到。为了解决找个问题,在系统启动的时候,将Flat Jar的文件包解压到指定的目录下,其中包含一个lib目录,其为所依赖的Jar包路径。在编译业务规则源码时携带这个lib的路径。
在编译过程中,为了提高拉去源代码的效率,可分成两部分来进行缓存:
第一部分是模块级别的缓存,这样拉取的时候不从读数据库,直接从像Redis这样的缓存系统中拉取。
第二部分是模块对象的缓存,这个是本地缓存,但第一次加载模块时,需要进行编译、加载进缓存中,之后就可以直接使用。
这样整体的性能就比较高。在实际使用中,是在系统启动的时候就加载了所有的模块,并对模块进行编译放进了缓存中,在系统运行过程中是不需要进行编译的。
整体的流程如下:
1、先实现业务规则模块接口,实现业务规则模块具体的逻辑,比如实现一个限制新用户的功能,就是调用用户中心查询用户信息,判断是否与设定的信息相符,返回true或者false。
2、提交业务规则代码至Git。
3、创建业务规则模块,设置前端组件信息和后端模块信息。
4、配置各个系统的业务规则模板,比如在优惠券中,可以按照不同的业务线进行配置业务规则模板,业务线A配置的是限制用户人群、限制次数、限制城市。业务线B配置的是限制用户人群、限制次数。
5、系统启动时加载所有的业务规则模块进行动态编译,业务执行的过程中会调用相应的模块进行执行。
实施例三
如图5所示,在本发明的一个实施例中,提供了一种任务执行系统500,包括存储器502,被配置为存储计算机程序;处理器504,被配置为运行计算机程序以实现如上述任一实施例中提供的任务执行方法,因此,该任务执行系统500包括如上述任一实施例中提供的任务执行方法的全部有益效果,在此不再赘述。
实施例四
在本发明的一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器运行时实现如上述任一实施例中提供的任务执行方法,因此,该计算机可读存储介质包括如上述任一实施例中提供的任务执行方法的全部有益效果,在此不再赘述。
本发明的描述中,术语“多个”则指两个或两个以上,除非另有明确的限定,术语“上”、“下”等指示的方位或位置关系为基于附图所述的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制;术语“连接”、“安装”、“固定”等均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明的描述中,术语“一个实施例”、“一些实施例”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本发明中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种任务执行方法,其特征在于,包括:
接收创建指令,根据所述创建指令获取对应的任务模块数据;
将所述任务模块数据发送至对应的任务执行系统,并控制所述任务执行系统将所述任务模块数据编译为任务线程;
将所述任务线程发送至对应的执行实体,控制所述执行实体执行所述任务线程。
2.根据权利要求1所述的任务执行方法,其特征在于,所述根据所述创建指令获取对应的任务模块数据的步骤,具体包括:
在目标数据库中读取任务模块数据集,将所述任务模块数据集缓存至预设缓存系统;
根据所述创建指令确定一个或多个目标任务模块数据,并控制所述任务执行系统访问所述预设缓存系统,以在所述任务模块数据集中获取所述目标任务模块数据。
3.根据权利要求1所述的任务执行方法,其特征在于,所述控制所述任务执行系统将所述任务模块数据编译为任务线程的步骤,具体包括:
根据所述创建指令获取对应的任务模板和任务规则,以及对应的所述任务模块数据对应的识别信息;
根据所述任务规则确定所述任务模块数据对应的规则队列,并根据所述任务模板、所述规则队列和所述识别信息确定任务线程框架;
根据所述任务模块数据和所述任务框架进行编译,以得到所述任务线程。
4.根据权利要求2所述的任务执行方法,其特征在于,还包括:
所述任务执行系统根据所述目标任务模块数据生成对应的任务实例,并在所述任务执行系统的存储介质中缓存所述任务实例。
5.根据权利要求4所述的任务执行方法,其特征在于,所述根据所述任务模块数据和所述任务框架进行编译的步骤,具体包括:
确定所述识别信息对应的所述任务实例,并根据所述规则队列将对应的所述任务实例填充至所述任务框架,以得到任务线程。
6.根据权利要求1所述的任务执行方法,其特征在于,所述任务线程包括执行命令,所述执行实体按照所述执行命令依次运行所述任务模块数据,以执行所述任务线程。
7.根据权利要求1所述的任务执行方法,其特征在于,所述任务模块数据包括公共字段、拓展字段和数据接口;
其中,所述公共字段与任一所述任务执行系统相对应,所述拓展字段与所述创建指令对应的所述任务执行系统相对应,所述任务执行系统通过所述数据接口获取所述公共字段和所述拓展字段。
8.根据权利要求7所述的任务执行方法,其特征在于,还包括:
接收修改指令,根据所述修改指令确定对应的更新拓展字段,并确定对应的待修改任务模块数据;
获取时间戳数据,根据所述更新拓展字段、所述待修改任务模块数据和所述时间戳生成替换模块数据;
将所述替换模块数据添加至所述任务线程,并对应修改所述执行命令。
9.一种任务执行系统,其特征在于,包括:
存储器,被配置为存储计算机程序;
处理器,被配置为运行所述计算机程序以实现如权利要求1至8中任一项所述的任务执行方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时实现如权利要求1至8中任一项所述的任务执行方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010182778 | 2020-03-16 | ||
CN2020101827784 | 2020-03-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111506309A true CN111506309A (zh) | 2020-08-07 |
CN111506309B CN111506309B (zh) | 2023-10-24 |
Family
ID=71869666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010311048.XA Active CN111506309B (zh) | 2020-03-16 | 2020-04-20 | 任务执行方法和系统、计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111506309B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112799646A (zh) * | 2021-02-09 | 2021-05-14 | 北京字节跳动网络技术有限公司 | 任务运行方法及设备 |
CN113779600A (zh) * | 2021-09-08 | 2021-12-10 | 中国人民解放军国防科技大学 | 基于区块链的动态控制系统及方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102542047A (zh) * | 2011-12-28 | 2012-07-04 | 奇智软件(北京)有限公司 | 一种任务逻辑库生成方法和系统、数据处理方法和系统 |
CN102541570A (zh) * | 2012-02-20 | 2012-07-04 | 深圳市同洲视讯传媒有限公司 | 一种开发增值业务的方法、系统及业务开发客户端 |
US20170109195A1 (en) * | 2015-10-16 | 2017-04-20 | Qualcomm Incorporated | Task Signaling Off A Critical Path Of Execution |
CN109144534A (zh) * | 2017-06-28 | 2019-01-04 | 北京京东尚科信息技术有限公司 | 服务模块动态更新方法、装置及电子设备 |
CN109656567A (zh) * | 2018-12-20 | 2019-04-19 | 北京树根互联科技有限公司 | 异质化业务数据处理逻辑的动态方法和系统 |
CN110147229A (zh) * | 2019-05-24 | 2019-08-20 | 利姆斯(北京)区块链技术有限公司 | 流程引擎系统、业务处理方法及装置 |
CN110457382A (zh) * | 2019-08-12 | 2019-11-15 | 中国联合网络通信集团有限公司 | 业务处理方法及设备 |
-
2020
- 2020-04-20 CN CN202010311048.XA patent/CN111506309B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102542047A (zh) * | 2011-12-28 | 2012-07-04 | 奇智软件(北京)有限公司 | 一种任务逻辑库生成方法和系统、数据处理方法和系统 |
CN102541570A (zh) * | 2012-02-20 | 2012-07-04 | 深圳市同洲视讯传媒有限公司 | 一种开发增值业务的方法、系统及业务开发客户端 |
US20170109195A1 (en) * | 2015-10-16 | 2017-04-20 | Qualcomm Incorporated | Task Signaling Off A Critical Path Of Execution |
CN109144534A (zh) * | 2017-06-28 | 2019-01-04 | 北京京东尚科信息技术有限公司 | 服务模块动态更新方法、装置及电子设备 |
CN109656567A (zh) * | 2018-12-20 | 2019-04-19 | 北京树根互联科技有限公司 | 异质化业务数据处理逻辑的动态方法和系统 |
CN110147229A (zh) * | 2019-05-24 | 2019-08-20 | 利姆斯(北京)区块链技术有限公司 | 流程引擎系统、业务处理方法及装置 |
CN110457382A (zh) * | 2019-08-12 | 2019-11-15 | 中国联合网络通信集团有限公司 | 业务处理方法及设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112799646A (zh) * | 2021-02-09 | 2021-05-14 | 北京字节跳动网络技术有限公司 | 任务运行方法及设备 |
CN113779600A (zh) * | 2021-09-08 | 2021-12-10 | 中国人民解放军国防科技大学 | 基于区块链的动态控制系统及方法 |
CN113779600B (zh) * | 2021-09-08 | 2024-05-03 | 中国人民解放军国防科技大学 | 基于区块链的动态控制系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111506309B (zh) | 2023-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6272674B1 (en) | Method and apparatus for loading a Java application program | |
US7263699B2 (en) | Preparation of a software configuration using an XML type programming language | |
US8589522B2 (en) | Incrementally updatable system software infrastructure for sensor networks | |
US20070198973A1 (en) | Computer-implemented method, system, and program product for deployment time optimization of a distributed application | |
CN101645009A (zh) | Web服务集成开发系统和方法 | |
CN111506309B (zh) | 任务执行方法和系统、计算机可读存储介质 | |
CN108804100B (zh) | 创建界面元素的方法、装置、存储介质及移动终端 | |
CN113641338A (zh) | 一种动态生成视图组件的方法及装置 | |
CN113312046A (zh) | 子应用页面处理方法、装置和计算机设备 | |
CN111324619A (zh) | 微服务系统中的对象更新方法、装置、设备和存储介质 | |
CN111240772A (zh) | 一种基于区块链的数据处理方法、装置及存储介质 | |
CN108845864B (zh) | 一种基于spring框架的JVM垃圾回收方法和装置 | |
US11210110B2 (en) | Application library analytics tool | |
CN112631563A (zh) | 基于框架的系统开发方法、装置、计算机设备及存储介质 | |
CN115357298A (zh) | 第三方接口的调用方法、处理器及存储介质 | |
JP4942144B2 (ja) | 情報処理装置及びその制御方法、プログラム、記憶媒体 | |
CN113791714A (zh) | 一种软件系统图标库的方法 | |
CN113626071A (zh) | 函数注册方法、系统、电子设备及存储介质 | |
CN112882698A (zh) | 开发环境的生成方法及装置、计算机存储介质及电子设备 | |
CN111338638A (zh) | 实现自动生成嵌入式软件部件之间通信的系统及其方法 | |
Rolland et al. | A framework for encapsulating best business practices for electricity supply industry into generic patterns | |
CN117519691B (zh) | 应用程序处理方法、装置、计算机设备和存储介质 | |
CN115658187A (zh) | 基于面向切面编程的类实现方法、装置、设备及介质 | |
CN117539476A (zh) | 一种服务调用方法、装置、设备及存储介质 | |
CN115114890A (zh) | 数据解析方法及装置、电子设备及可读介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |