本发明专利技术适用于计算机领域,提供了一种基于范式的多任务调度方法、装置及通信终端,所述方法包括下述步骤:接收并解析范式表达式,所述范式表达式定义了任务的执行顺序和串并行关系;根据解析后的范式表达式对多任务进行调度处理。本发明专利技术接收表示多个任务的先后执行顺序以及任务间的串行和并行关系范式表达式后,根据作为单独的定义文件存储起来的范式规则解析接收的范式表达式,同时根据为范式提供的固定程序执行解析后的范式表达式,由于在任务的先后执行顺序或者串行或者并行关系改变时,只需修改表示任务的范式表达式,因此节省了重新编写、编译代码的时间,达到快速适应需求变更的目的。
【技术实现步骤摘要】
本专利技术属于计算机领域,尤其涉及一种基于范式的多任务调度方法、装置及通信终端。
技术介绍
在执行多个任务时,可以根据一定的顺序逐个执行,也可以多个任务同时执行。实际应用中,常用代码表示任务的串、并行关系以及任务的先后执行顺序。当任务的串并行关系或者执行的先后顺序不同时,其对应的代码也不同。假设有A、B、C三个任务,要求先执行A,再同时执行B和C,在实现上述需求时,通过如下代码实现第一步,执行任务A =CallTask(A);第二步,新创建线程T :createThread(T);第三步,执行T,即B开始执行Τ· run ()第四步,执行任务C =CallTask(C)其中,第三步由新线程执行,第四步由主线程执行,而新线程和主线程是同时执行任务B和C。当要求变为顺序执行A、B、C时,则代码改变为第一步,执行A :callTask(A);第二步,执行B :callTask(B);第三步,执行C :callTask(C);当需要更改任务的执行顺序或者并行关系时,对应其实现流程的代码也需要修改,并且需要重新调试、编译、测试、部署,如果调试或者测试工作不正确,还会有出错的风险。
技术实现思路
本专利技术提供了一种基于范式的多任务调度方法,旨在解决更改任务的执行顺序或者串、并行关系时,需要重新修改代码,编写、编译代码的问题。本专利技术是这样实现的,一种基于范式的多任务调度方法,所述方法包括下述步骤接收并解析范式表达式,所述范式表达式定义了任务的执行顺序和串并行关系;根据解析后的范式表达式对多任务进行调度处理。本专利技术的另一目的在于提供一种基于范式的多任务调度装置,所述装置包括解析范式模块,用于接收并解析范式表达式,所述范式表达式定义了任务的执行顺序和串并行关系;调度范式模块,用于根据解析后的范式表达式对多任务进行调度处理。本专利技术实施例的另一目的在于提供一种包含上述基于范式的多任务调度装置的通信终端。本专利技术实施例,接收并解析定义了任务的执行顺序和串并行关系的表示多个任务的先后执行顺序以及任务间的串行和并行关系范式表达式之后,根据作为单独的配置文件存储起来的范式规则解析接收的范式表达式,同时再根据为范式表达式提供的固定程序执行对解析后的范式表达式进行多任务的调度处理,由于在任务的先后执行顺序或者串行或者并行关系改变时,只需修改定义了多个任务的执行顺序和串并行关系的表示任务的范式表达式,因此节省了重新编写、编译代码的时间,达到快速适应需求变更的目的。附图说明图1是本专利技术实施例提供的基于范式的多任务调度方法流程;图2是本专利技术实施例提供的基于范式的多任务调度装置的结构。具体实施例方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术实施接收并解析定义了任务的执行顺序和串并行关系的表示多个任务的先后执行顺序以及任务间的串行和并行关系范式表达式之后,根据作为单独的配置文件存储起来的范式规则解析接收的范式表达式,同时再根据为范式表达式提供的固定程序执行对解析后的范式表达式进行多任务的调度处理。本专利技术提供了一种基于范式的多任务调度方法、装置及通信终端所述方法包括接收并解析范式表达式,所述范式表达式定义了任务的执行顺序和串并行关系;根据解析后的范式表达式对多任务进行调度处理。所述装置包括解析范式模块,用于接收并解析范式表达式,所述范式表达式定义了任务的执行顺序和串并行关系;调度范式模块,用于根据解析后的范式表达式对多任务进行调度处理。所述通信终端包括包含上述基于范式的多任务调度装置的通信终端。本专利技术实施例中,接收并解析定义了任务的执行顺序和串并行关系的表示多个任务的先后执行顺序以及任务间的串行和并行关系范式表达式之后,根据作为单独的配置文件存储起来的范式规则解析接收的范式表达式,同时再根据为范式表达式提供的固定程序执行对解析后的范式表达式进行多任务的调度处理,由于在任务的先后执行顺序或者串行或者并行关系改变时,只需修改定义了多个任务的执行顺序和串并行关系的表示任务的范式表达式,因此节省了重新编写、编译代码的时间,达到快速适应需求变更的目的。实施例一图1示出了本专利技术实施例提供的基于范式的多任务调度方法流程,详述如下在步骤Sll中,接收并解析范式表达式,所述范式表达式定义了任务的执行顺序和串并行关系定义;范式表达式为每个任务定义一个结点,比如,用结点A标识任务A,用结点B标识4任务B,确保每一个结点标识一个任务;定义任务间的执行顺序,比如定义从左到右执行范式表达式的顺序,即定义执行范式表达式中各个结点表示的各个任务的顺序,其中,执行范式表达式的先后顺序还可以使用定义的括号改变,确定括号的优先级最高,即定义执行各个任务的顺序与数学上执行只有加减号、括号的四则运算的顺序相似;进一步地,该范式表达式还包括定义在表示两个任务的两个结点之间定义一个分隔符,该分隔符表示串行或者并行执行被隔开的两个结点,比如,用逗号“,”表示串行执行被隔开的两个结点,用分号 “;”表示并行执行被隔开的两个结点。假设一个范式表达式为A,(B ;C),逗号“,”表示串行执行两个结点,分号“;”表示并行执行两个结点,小括号的优先级高于串行、并行的执行方式,且执行顺序为从左至右的顺序,则该范式表达式表示首先执行(B ;C),获得结果D,再执行A,D,其中,并行执行结点 B和结点C,串行执行结点A和结点D。当然,为各个任务定义的结点、任务间的执行顺序以及分隔两个结点的符号可以根据实际情况的改变而改变,此处不作限定。其中,接收并解析范式表达式,所述范式表达式定义了任务的执行顺序和串并行关系的步骤具体为判断范式表达式中结点的个数是否为0,若为0,则返回;若不为0,继续判断该接收的范式表达式中结点的个数是否为1,若为1,则直接解析该结点;若不为1,则将该范式表达式解析为两个范式表达式,递归执行上述步骤,直到范式表达式中结点的个数为0。将一个范式表达式解析为两个范式表达式之后,继续分别解析这两个范式表达式。分别获取这两个范式表达式中结点的个数,若范式表达式中没有结点,则返回;若只有一个结点,则直接解析该结点;若有两个或两个以上结点,则继续将范式表达式解析为两个范式表达式,并根据解析得到的两个范式表达式之间的分隔符串行或者并行解析这两个范式表达式,如果分隔符与范式表达式定义的串行分隔符相同,则首先解析优先级较高的范式表达式,再解析优先级较低的范式表达式,如果分隔符与范式规则定义的并行分隔符相同,则新建线程解析优先级较高的范式表达式,再在主线程中解析优先级较低的范式表达式。递归执行上述步骤,直到范式表达式中的结点个数为0。作为本专利技术的另一个实施例,在范式表达式结点大于等于2时,将范式表达式解析为两个范式表达式的步骤具体为判断执行解析得到的两个范式表达式的步骤是否为原范式表达式中的最后一个执行步骤,若是,则将该原范式表达式的最后一个执行步骤解析为两个范式表达式,递归执行上述步骤,直到范式表达式中的结点个数为0。假设范式表达式为A ; (B, C),D,小括号的优先级高于串行和并行的执行顺序,逗号“,”表示串行执行,分号“;”表示并行执行,且执行顺序为从左到右的顺序。本文档来自技高网...
【技术保护点】
【技术特征摘要】
【专利技术属性】
技术研发人员:郑学明,
申请(专利权)人:金蝶软件中国有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。