任务执行方法、装置、设备和存储介质与流程

文档序号:16246624发布日期:2018-12-11 23:38阅读:155来源:国知局
任务执行方法、装置、设备和存储介质与流程

本申请涉及交互智能平板领域,特别是涉及一种任务执行方法、装置、设备和存储介质。

背景技术

交互智能平板已经广泛地应用在各种应用场景中,极大提升人们的工作和学习效率。例如,在教育场景中,交互智能平板可以提供一个电子白板,老师可以在电子白板上书写教学内容,学生可以在电子白板上观看教学内容。

其中,用户交互界面(ui,userinterface)是用户操作交互智能设备的一项重要功能。用户通过触控方式,在ui上进行点击虚拟按钮的操作,或者,进行手势操作,以提交任务指令至交互智能设备,设备则根据指令执行相应的任务。

实际应用中,如果用户同时提交多个任务指令,设备则需要同时执行多个任务,可能会导致ui卡顿,因此,为了保证用户操作ui的流畅性,目前常见的任务执行方法,是在用户对ui进行多个操作时,将部分任务延后执行。

然而,上述的任务执行方法中,ui开发人员需要编写复杂的任务规则代码,以实现将多个任务中的一个或多个延后执行,导致ui开发效率较低。

因此,目前的任务执行方法存在着ui开发效率较低的问题。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够提升ui开发效率的任务执行方法、装置、设备和存储介质。

第一方面,本发明实施例提供了一种任务执行方法,所述方法包括:

执行针对目标任务场景的第一任务;

当在执行所述第一任务时接收到第二任务,按照所述目标任务场景的异步任务规则,异步执行所述第一任务和所述第二任务,并返回执行结果。

在其中一个实施例,所述目标任务场景为新任务冗余场景,所述新任务冗余场景的异步任务规则为新任务忽略规则,所述按照所述目标任务场景的异步任务规则,异步执行所述第一任务和所述第二任务,并返回执行结果,包括:

返回任务响应信息至所述第二任务的发起方;

当所述第一任务执行完毕时,返回所述第一任务的执行结果至所述第一任务的发起方。

在其中一个实施例,所述目标任务场景为旧任务失效场景,所述旧任务失效场景的异步任务规则为更新任务规则,所述按照所述目标任务场景的异步任务规则,异步执行所述第一任务和所述第二任务,并返回执行结果,包括:

停止执行所述第一任务,并返回任务响应信息至所述第一任务的发起方;

执行所述第二任务;

当所述第二任务执行完毕时,返回所述第二任务的执行结果至所述第二任务的发起方。

在其中一个实施例,所述目标任务场景为重复任务场景,所述重复任务场景的异步任务规则为共享执行规则,所述按照所述目标任务场景的异步任务规则,异步执行所述第一任务和所述第二任务,并返回执行结果,包括:

将所述第二任务添加至等待队列;

当所述第一任务执行完毕时,返回所述第一任务的执行结果至所述第一任务的发起方,以及,返回所述第一任务的执行结果至所述等待队列中各个第二任务的发起方。

在其中一个实施例,所述目标任务场景为中间任务冗余场景,所述中间任务冗余场景的异步任务规则为首尾任务规则,所述按照所述目标任务场景的异步任务规则,异步执行所述第一任务和所述第二任务,并返回执行结果,包括:

将所述第二任务添加至等待队列;

当所述第一任务执行完毕时,返回所述第一任务的执行结果至所述第一任务的发起方,并在所述等待队列中提取最新第二任务;

执行所述最新第二任务;

返回所述最新第二任务的执行结果至所述等待队列中各个第二任务的发起方。

在其中一个实施例,所述目标任务场景为时序任务场景,所述时序任务场景的异步任务规则为队列执行规则,所述按照所述目标任务场景的异步任务规则,异步执行所述第一任务和所述第二任务,并返回执行结果,包括:

将所述第二任务添加至等待队列;

当所述第一任务执行完毕时,返回所述第一任务的执行结果至所述第一任务的发起方;

在所述等待队列中提取最早第二任务;

执行所述最早第二任务,并返回所述最早第二任务的执行结果至所述最早第二任务的发起方;

返回至所述在所述等待队列中提取最早第二任务的步骤,直至所述等待队列中的任务被执行完毕。

在其中一个实施例,所述目标任务场景为任务无关联场景,所述任务无关联场景的异步任务规则为并行执行规则,所述按照所述目标任务场景的异步任务规则,异步执行所述第一任务和所述第二任务,并返回执行结果,包括:

执行所述第二任务;

当所述第一任务执行完毕,返回所述第一任务的执行结果至所述第一任务的发起方;

当所述第二任务执行完毕,返回所述第二任务的执行结果至所述第二任务的发起方。

第二方面,本发明实施例还提供了一种任务执行装置,所述装置包括:

执行模块,用于执行针对目标任务场景的第一任务;

异步处理模块,用于当在执行所述第一任务时接收到第二任务,按照所述目标任务场景的异步任务规则,异步执行所述第一任务和所述第二任务,并返回执行结果。

第三方面,本发明实施例还提供了一种任务执行设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

执行针对目标任务场景的第一任务;

当在执行所述第一任务时接收到第二任务,按照所述目标任务场景的异步任务规则,异步执行所述第一任务和所述第二任务,并返回执行结果。

第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

执行针对目标任务场景的第一任务;

当在执行所述第一任务时接收到第二任务,按照所述目标任务场景的异步任务规则,异步执行所述第一任务和所述第二任务,并返回执行结果。

上述任务执行方法、装置、设备和存储介质,当执行第一任务的过程中接收到第二任务时,根据与当前任务场景所适配的异步任务规则,异步执行第一任务和第二任务。从而,在不同的任务场景下,均可以保证用户操作ui的流畅性,同时,无须ui开发人员针对多种任务场景的ui编写复杂的任务规则代码,提升了ui开发的效率。

附图说明

图1是本发明实施例一的一种任务执行方法的流程图;

图2是一种用户交互界面的示意图;

图3是本发明实施例二的一种任务执行方法的流程图;

图4a是本发明实施例二的一种表单提交的ui示意图;

图4b是本发明实施例二的一种新任务忽略规则的示意图;

图4c是本发明实施例二的一种新任务忽略规则的流程图;

图5是本发明实施例三的一种任务执行方法的流程图;

图6a是本发明实施例三的一种信息搜索的ui示意图;

图6b是本发明实施例三的一种更新任务规则的示意图;

图6c是本发明实施例三的一种更新任务规则的流程图;

图7是本发明实施例四的一种任务执行方法的流程图;

图8a是本发明实施例四的一种结果共享规则的示意图;

图8b是本发明实施例四的一种结果共享规则的流程图;

图9是本发明实施例五的一种任务执行方法的流程图;

图10a是本发明实施例五的一种列表刷新的ui示意图;

图10b是本发明实施例五的一种首尾任务规则的示意图;

图10c是本发明实施例五的一种首尾任务规则的流程图;

图11是本发明实施例六的一种任务执行方法的流程图;

图12a是本发明实施例六的一种图片编辑的ui示意图;

图12b是本发明实施例六的一种队列执行规则的示意图;

图12c是本发明实施例六的一种队列执行规则的流程图;

图13是本发明实施例七的一种任务执行方法的流程图;

图14a是本发明实施例七的一种并行执行规则的示意图;

图14b是本发明实施例七的一种并行执行规则的流程图;

图15是本发明实施例八的一种任务执行装置的结构示意图;

图16是本发明实施例九的一种任务执行设备的结构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

实施例一

图1是本发明实施例一的一种任务执行方法的流程图。

本实施例的任务执行方法可以由交互智能平板执行,该交互智能平板可以通过软件和/或硬件的方式实现,该交互智能平板可以是两个或多个物理实体构成,也可以是一个物理实体构成。该交互智能平板可以是电脑,手机,平板,投影仪或交互智能平板等。在实施例中,以交互智能平板为任务执行设备为例进行描述,其中,交互智能平板可以是通过触控技术对显示在显示平板上的内容进行操控和实现人机交互操作的一体化设备,其集成了电子白板、音响、电视机等一种或多种功能。其中,任务执行设备可以展示一个用户交互界面(以下简称ui),用户可以通过触控方式,在该用户交互界面提交指令或书写。

图2是一种用户交互界面的示意图。从图中可见,在一个ui中,可以有多个虚拟的按钮,每个虚拟按钮可以触发不同的任务。例如,当用户点击其中一个按钮时,任务执行设备则可以接收到相应的任务并执行,然后返回任务的执行结果。例如,对于搜索任务,任务执行设备进行搜索,得到搜索结果并返回。

具体的,参考图1,本发明实施例一的任务执行方法,该方法可以应用于多种任务场景,该方法具体包括以下步骤:

步骤s110,执行针对目标任务场景的第一任务。

其中,任务场景可以为执行不同类型任务的场景。例如,任务场景可以为新任务冗余场景,新任务冗余场景包括如果多个任务均被执行时,所得到的执行结果相同的场景,如提交表单,用户重复提交相同的表单以存储表单,该任务执行多次的执行结果均是存储表单,而并不会出现不同的执行结果。

其中,任务可以为设备根据用户在ui提交的任务指令所进行的数据处理的集合。例如,用户点击搜索按钮,从而提交一个搜索任务指令至设备,设备则根据该搜索任务指令,执行搜索任务。

具体实现中,在某个任务场景中,用户可以在ui上点击一个虚拟按钮,从而提交一个任务指令,任务执行设备则可以接收到该任务指令对应的任务,并开始执行该任务。为了与用户后续提交的任务进行区分,将上述的任务命名为第一任务。

例如,在提交表单的任务场景中,用户在ui上点击表单提交按钮,任务执行设备执行表单提交任务,将表单提交至网络。

例如,在信息搜索的任务场景中,用户在ui上点击搜索按钮,任务执行设备执行搜索任务,基于关键字进行网络搜索。

例如,在身份验证的任务场景中,用户在ui上点击验证请求按钮,任务执行设备执行身份验证任务,对用户的身份信息与预设的身份信息进行验证。

例如,在刷新的任务场景中,用户在ui上点击刷新按钮,任务执行设备执行刷新任务,对当前的论坛列表进行刷新,以获取更新的论坛列表。

例如,在图片编辑的任务场景中,用户在ui上针对一组图片,按照一定顺序点击上传按钮,任务执行设备执行图片插入任务,将图片依次插入至图片编辑器的特定位置中,以使得各个图片在图片编辑器中的排序与用户的上传顺序一致。

例如,在消息发送的任务场景中,用户在ui上点击消息发送按钮,任务执行设备执行消息发送任务,将某个消息发送至网络。

需要说明的是,上述例子仅用于示例说明不同的任务场景,本实施例对具体的任务场景不作限制。本领域技术人员可以根据实际需要将本实施例的任务执行方法应用于各种任务场景中。

步骤s120,当在执行所述第一任务时接收到第二任务,按照所述目标任务场景的异步任务规则,异步执行所述第一任务和所述第二任务,并返回执行结果。

其中,第二任务可以为任务执行设备执行第一任务的过程中所接收到的任务。

其中,异步执行可以包括在前一个任务的未执行完毕时,即开始执行下一个任务的任务执行方式。相对地,在前一个任务执行完毕之后,才开始执行下一个任务的任务执行方式,为同步执行。

其中,异步任务规则可以为对于某个任务场景下各个任务的处理方式。例如,返回任务响应信息、停止任务、执行任务、返回任务的执行结果至任务的发起方等处理方式。对于不同的任务场景,可以预先设定不同的异步任务规则,以便针对特定任务场景的任务进行异步执行。

具体实现中,在某个任务场景中,任务执行设备在执行第一任务的过程中,用户再次提交一个任务指令,从而,任务执行设备接收到下一个任务。为了区分说明,将第一任务的执行过程中所接收到的任务,命名为第二任务。其中,第二任务可以为一个或多个的任务。

在接收到第二任务时,任务执行设备可以根据当前的目标任务场景,确定目标任务场景所对应的异步任务规则,根据该异步任务规则,对第一任务和第二任务进行异步处理。

例如,在提交表单的任务场景中,对应的异步任务规则为新任务忽略规则。具体地,用户在ui上点击表单提交按钮,任务执行设备执行表单提交任务,即第一任务。在第一任务的执行过程中,用户再次在ui上点击表单提交按钮,任务执行设备接收到表单提交的第二任务。此时,根据新任务忽略规则,可以忽略第二任务,并继续执行第一任务。

例如,在信息搜索的任务场景中,对应的异步任务规则为更新任务规则。具体地,用户在ui上点击搜索按钮,任务执行设备执行对某个信息的搜索任务,即第一任务。在第一任务的执行过程中,用户再次在ui上针对下一个信息点击搜索按钮,任务执行设备接收到下一个信息搜索任务,即第二任务。此时,根据更新任务规则,可以停止执行第一任务,并立即开始执行第二任务。

例如,在身份验证的任务场景中,对应的异步任务规则为共享执行规则。具体地,用户在ui上点击验证请求按钮,任务执行设备执行身份验证任务,即第一任务。在第一任务的执行过程中,用户再次在ui上点击验证请求按钮,任务执行设备接收到下一个身份验证任务,即第二任务。此时,根据共享执行规则,不执行第二任务,而是继续执行第一任务,在得到第一任务的执行结果后,针对第一任务和第二任务返回该执行结果,即第一任务和第二任务共享该执行结果。

例如,在刷新的任务场景中,对应的异步任务规则为首尾任务规则。具体地,用户在ui上点击刷新按钮,任务执行设备执行列表刷新任务,即第一任务。在第一任务的执行过程中,用户可能多次在ui上点击刷新按钮,任务执行设备接收到另外多个的列表刷新任务,即多个第二任务。此时,根据首尾任务规则,可以将第二任务添加至等待队列中,当第一任务执行完毕后,返回第一任务的执行结果。然后,从等待队列中选取最新的第二任务,执行该最新的第二任务,并针对等待队列中的所有第二任务返回最新第二任务的执行结果。

例如,在图片编辑的任务场景中,对应的异步任务规则为队列执行规则。具体地,用户在ui上针对一张图片点击上传按钮,任务执行设备执行图片插入任务,即第一任务。在第一任务的执行过程中,用户再次针对下一张图片点击上传按钮,任务执行设备接收到下一个图片插入任务,即第二任务。此时,根据队列执行规则,可以将第二任务添加至等待队列中,当第一任务执行完毕后,返回第一任务的执行结果。然后,从等待队列中选取最早接收到的第二任务,执行该最早的第二任务,并针对最早的第二任务返回执行结果。如此类推,直至将等待队列中各个第二任务按照队列顺序执行完毕。

例如,在消息发送的任务场景中,对应的异步任务规则为并发执行规则。具体地,用户在ui上点击消息发送按钮,任务执行设备执行消息发送任务,即第一任务。在第一任务的执行过程中,用户再次在ui上点击消息发送按钮,任务执行设备接收到下一个消息发送任务,即第二任务。此时,根据并发执行规则,任务执行设备立即执行第二任务。

需要说明的是,上述例子仅用于示例说明对不同任务场景采用不同的异步任务规则进行异步处理,本实施例对具体的任务规则不作限制。本领域技术人员可以根据实际需要,针对各种任务场景设定异步任务规则中。

其中,异步任务规则也称为异步任务状态机。通过针对不同的任务场景,可以采用设置适配的异步任务状态机。当用户的一个操作触发第一任务后,异步状态机进入执行状态,在执行状态下,如果用户的下一个操作触发第二任务,不同的异步任务状态机则会对第一任务和第二任务进行异步处理。当所有任务执行完毕,异步状态机恢复至就绪状态,等待新的操作触发新的任务。

根据本实施例提供的任务执行方法,当执行第一任务的过程中接收到第二任务时,根据与当前任务场景所适配的异步任务规则,异步执行第一任务和第二任务。从而,在不同的任务场景下,均可以保证用户操作ui的流畅性,同时,无须ui开发人员针对多种任务场景的ui编写复杂的任务规则代码,提升了ui开发的效率。

实施例二

图3是本发明实施例二的一种任务执行方法的流程图,所述方法可以应用于新任务冗余场景,所述新任务冗余场景的异步任务规则为新任务忽略规则,该方法具体包括以下步骤:

步骤s210,执行针对目标任务场景的第一任务。

其中,新任务冗余场景可以为用户最新提交的任务的执行结果与之前提交的任务的执行结果冗余重复的场景。新任务冗余场景可以包括提交表单、读取本地表单等的任务场景。

例如,用户在ui上点击表单提交按钮,任务执行设备执行表单提交任务,将用表单提交至网络。

步骤s220,当在执行所述第一任务时接收到第二任务,返回任务响应信息至所述第二任务的发起方。

其中,任务响应信息可以为用于提示用户当前设备已经接收到任务并执行的信息。任务响应信息具体可以为一个默认值。例如,读取本地文件的任务中,空内容即为一个默认值。又例如,统计数据的任务中,0即是一个默认值。

其中,发起方可以为ui中产生某个任务的处理线程。用户在ui上点击某个按钮时,处理线程可以被调用以产生相应的任务。发起方还可以接收任务的执行结果,并通过ui展示执行结果。例如,展示搜索结果,展示刷新后的列表。

例如,任务执行设备执行表单提交任务的过程中,用户再次在ui上点击表单提交按钮,任务执行设备接收到下一个表单提交任务。根据新任务忽略规则,对于下一个表单提交任务,并不需要执行。如果发起方请求返回值,则可以返回一个默认值,即返回一个任务响应信息至下一个表单提交任务的发起方。

步骤s230,当所述第一任务执行完毕时,返回所述第一任务的执行结果至所述第一任务的发起方。

例如,根据新任务忽略规则,得到一个表单提交结果之后,将该表单提交结果返回至发起该表单提交任务的发起方。

在存储表单、读取表单等的任务场景中,即使重复存储同一个表单,并不会产生不同的执行结果。因此,新产生的任务均为冗余任务,可以忽略,而只需要执行先前产生的任务,并返回任务的执行结果。

根据本实施例的任务执行方法,在新任务冗余场景中,按照新任务忽略规则,在执行一个任务的过程中,对新产生的任务返回任务响应信息,同时继续执行任务,避免执行冗余任务,保证了用户操作ui流畅性的同时,节省了执行任务的处理资源。

图4a是本发明实施例二的一种表单提交的ui示意图。从图中可见,在一个表单中可以包括多个表单内容,用户可以点击表单提交按钮,以将表单内容存储至网络服务器,从而产生一个表单提交任务。

图4b是本发明实施例二的一种新任务忽略规则的示意图。从图中可见,可以将新任务忽略规则理解为一个任务状态机,任务状态机先后接收到多个任务,对于第一个任务,输出任务的执行结果,对于后续的多个任务,则返回默认值。

图4c是本发明实施例二的一种新任务忽略规则的流程图。从图中可见,用户发起操作,产生了任务,首先判断是否有正在执行的任务,若是,则返回默认值;若否,则直接开始执行新产生的任务,标记任务执行状态,当任务执行完毕后,返回任务的执行结果。

实施例三

图5是本发明实施例三提供的一种任务执行方法的流程图,所述方法可以应用于旧任务失效场景,所述旧任务失效场景的异步任务规则为更新任务规则,该方法具体包括以下步骤:

步骤s310,执行针对目标任务场景的第一任务。

其中,旧任务失效场景可以为用户提交新任务后、之前提交的任务的执行结果不符合用户需求的场景。旧任务失效场景可以包括信息搜索等的任务场景。

例如,用户在ui上针对某个关键字点击搜索按钮,任务执行设备执行搜索任务,基于关键字进行网络搜索。

步骤s320,当在执行所述第一任务时接收到第二任务,停止执行所述第一任务,并返回任务响应信息至所述第一任务的发起方。

例如,任务执行设备执行对某个信息的搜索任务的过程中,用户再次在ui上针对下一个信息点击搜索按钮,任务执行设备接收到下一个信息搜索任务。根据更新任务规则,可以停止某个信息的搜索任务,并返回一个默认值至某个信息的搜索任务的发起方。

步骤s330,执行所述第二任务。

步骤s340,当所述第二任务执行完毕时,返回所述第二任务的执行结果至所述第二任务的发起方。

例如,根据更新任务规则,在接收到下一个信息搜索任务之后,可以立即开始执行该任务,得到搜索结果之后,将该搜索结果返回至发起该搜索任务的发起方。

在信息搜索等的任务场景中,当用户新的操作触发了新的任务,之前提交的任务即失效,即使执行任务得到执行结果,也并非用户所需的执行结果。因此,旧任务已经失效,无须继续执行,而应该立即开始执行新的任务。

根据本实施例的任务执行方法,在旧任务失效场景中,按照更新任务规则,在执行一个任务的过程中,对新产生的任务立即执行,并取消正在执行的旧任务,避免执行已经无效的任务,保证用户获取到符合需求的执行结果的同时,节省了执行任务的处理资源。

图6a是本发明实施例三的一种信息搜索的ui示意图。从图中可见,用户可以输入某个关键字,然后点击搜索按钮,以产生一个搜索任务。

图6b是本发明实施例三的一种更新任务规则的示意图。从图中可见,可以将根据更新任务规则理解为一个任务状态机,任务状态机先后接收到多个任务,对于头几个任务,取消执行并返回默认值,对于最后一个任务,则返回执行结果。

图6c是本发明实施例三的一种更新任务规则的流程图。从图中可见,用户发起操作,产生了任务,首先判断是否有正在执行的任务,若是,则取消正在执行的任务,返回默认值,同时开始执行当前产生的任务,标记任务执行状态,当任务执行完毕后,返回任务的执行结果;若否,则开始执行当前产生的任务,标记任务执行状态,当任务执行完毕后,返回任务的执行结果。

实施例四

图7是本发明实施例四提供的一种任务执行方法的流程图,所述方法可以应用于重复任务场景,所述重复任务场景的异步任务规则为共享执行规则,该方法具体包括以下步骤:

步骤s410,执行针对目标任务场景的第一任务。

其中,重复任务场景可以为其中一个任务的执行结果可由多个任务共享的场景。重复任务场景可以包括身份验证等的任务场景。

例如,用户在ui上点击验证请求按钮,任务执行设备执行身份验证任务,对用户的身份信息与预设的身份信息进行验证。

步骤s420,当在执行所述第一任务时接收到第二任务,将所述第二任务添加至等待队列。

其中,等待队列可以为记录任务的接收顺序的信息。

例如,任务执行设备执行身份验证任务的过程中,用户再次在ui上点击验证请求按钮,任务执行设备接收到下一个身份验证任务。根据结果共享规则,可以将下一个身份验证任务添加至等待队列中。

步骤s430,当所述第一任务执行完毕时,返回所述第一任务的执行结果至所述第一任务的发起方,以及,返回所述第一任务的执行结果至所述等待队列中各个第二任务的发起方。

例如,根据结果共享规则,当前一个的身份验证任务执行完毕、得到身份验证结果之后,可以将身份验证结果返回该发起之前的身份验证任务的发起方,同时,身份验证结果返回至等待队列中各个身份验证任务的发起方,由多个发起方共享同一个身份验证结果。

在身份验证等的任务场景中,由于身份的验证通过之后,将在一段时间内持续生效,无须反复进行验证。然而,可能有些任务需要身份验证任务作为前置任务,因此,只要任意一次的身份验证结果即可满足多个任务,无须分别执行身份验证任务。

根据本实施例的任务执行方法,在重复任务场景中,按照结果共享规则,在执行一个任务的过程中,将新产生的任务添加至等待队列,在前一个任务执行完毕后,将其执行结果提供给等待队列中各个任务的发起方,由多方共享同一个执行结果,避免了重复执行任务,保证用户得到符合需求的执行结果的同时,节省了执行任务的处理资源。

图8a是本发明实施例四的一种结果共享规则的示意图。从图中可见,可以将结果共享规则理解为一个任务状态机,用户在ui上先后发起操作,任务状态机先后接收到多个任务,任务状态机执行第一个任务,对于第一个任务和之后几个任务,输出第一个任务的执行结果。

图8b是本发明实施例四的一种结果共享规则的流程图。从图中可见,用户发起操作,产生了任务,首先判断是否有正在执行的任务,若是,则将新产生的任务添加至等待队列;若否,则开始执行当前产生的任务,标记任务执行状态,当任务执行完毕后,返回任务的执行结果至该任务的发起方。在返回执行结果时,还可以将执行结果返回至等待队列中各个任务的发起方。

实施例五

图9是本发明实施例五提供的一种任务执行方法的流程图,所述方法可以应用于中间任务冗余场景,所述中间任务冗余场景的异步任务规则为首尾任务规则,该方法具体包括以下步骤:

步骤s510,执行针对目标任务场景的第一任务。

其中,中间任务冗余场景可以为第一个和最后一个任务之间的任务的执行结果均相同的场景。中间任务冗余场景可以包括列表刷新、编译等的任务场景。

例如,用户在ui上点击刷新按钮,任务执行设备执行刷新任务,对当前的论坛列表进行刷新,以获取更新的论坛列表。

步骤s520,当在执行所述第一任务时接收到第二任务,将所述第二任务添加至等待队列。

例如,任务执行设备执行列表刷新任务的过程中,用户再次点击刷新按钮,任务执行设备接收到下一个列表刷新任务。根据首尾任务规则,可以将下一个列表刷新任务添加至等待队列。

步骤s530,当所述第一任务执行完毕时,返回所述第一任务的执行结果至所述第一任务的发起方,并在所述等待队列中提取最新第二任务。

例如,根据首尾任务规则,当前一个列表刷新任务执行完毕、得到刷新后的列表之后,可以将刷新的列表返回至前一个列表刷新任务的发起方。然后,在等待队列中提取最新的列表刷新任务。

步骤s540,执行所述最新第二任务。

步骤s550,返回所述最新第二任务的执行结果至所述等待队列中各个第二任务的发起方。

例如,根据首尾任务规则,当最新的列表刷新任务执行完毕、得到再次刷新后的列表之后,可以将再次刷新的列表返回至等待队列中各个列表刷新任务的发起方。

在列表刷新、编译等的任务场景中,由于短时间内列表有内容更新的可能性较低,所以短时间内进行多次刷新,得到的刷新结果通常是相同的。但为了保证可以提供最新的列表,因此,除了执行第一次的列表刷新任务,还可以执行最后一次的列表刷新任务。

根据本实施例的任务执行方法,在中间任务冗余场景中,按照首尾任务规则,对于多个异步任务,执行第一个任务和最后一个任务,将两个任务的执行结果返回,在保证用户获取到更新的信息的同时,节省了执行任务的处理资源。

图10a是本发明实施例五的一种列表刷新的ui示意图。从图中可见,一个列表中可以包括多个列表项,用户可以点击刷新按钮,以对列表进行刷新,获取新的列表项。

图10b是本发明实施例五的一种首尾任务规则的示意图。从图中可见,可以将首尾任务规则理解为一个任务状态机,任务状态机先后接收到任务1、任务2…任务n,对于第一个任务1,返回任务1的执行结果。对于任务2至任务n,则返回最后一个任务n的执行结果。

图10c是本发明实施例五的一种首尾任务规则的流程图。从图中可见,用户发起操作,产生了任务,首先判断是否有正在执行的任务,若是,则将新产生的任务添加至等待队列;若否,则开始执行当前产生的任务,标记任务执行状态,当任务执行完毕后,返回任务的执行结果至该任务的发起方。然后,判断等待队列中是否存在有任务,若是,则从等待队列中提取最新的任务,开始执行该最新的任务,标记任务执行状态,当任务执行完毕后,返回任务的执行结果至该任务的发起方。

实施例六

图11是本发明实施例六的一种任务执行方法的流程图,所述方法可以应用于时序任务场景,所述时序任务场景的异步任务规则为队列执行规则,该方法具体包括以下步骤:

步骤s610,执行针对目标任务场景的第一任务。

其中,时序任务场景可以为任务需要按照时间顺序执行的场景。时序任务场景可以包括图片编辑等的任务场景。

例如,用户在ui上针对一组图片,按照一定顺序点击上传按钮,任务执行设备执行图片插入任务,将图片依次插入至图片编辑器的特定位置中,以使得各个图片在图片编辑器中的排序与用户的上传顺序一致。

步骤s620,当在执行所述第一任务时接收到第二任务,将所述第二任务添加至等待队列。

例如,任务执行设备执行图片插入任务的过程中,用户再次针对下一张图片点击上传按钮,任务执行设备接收到下一个图片插入任务。根据队列执行规则,可以将下一个图片插入任务添加至等待队列。

步骤s630,当所述第一任务执行完毕时,返回所述第一任务的执行结果至所述第一任务的发起方。

例如,根据队列执行规则,当前一个图片插入任务执行完毕、得到图片插入结果之后,可以将图片插入结果返回至前一个图片插入任务的发起方。

步骤s640,在所述等待队列中提取最早第二任务。

步骤s650,执行所述最早第二任务,并返回所述最早第二任务的执行结果至所述最早第二任务的发起方。

例如,根据队列执行规则,在将图片插入结果返回至前一个图片插入任务的发起方之后,可以在等待队列中,提取出最早接收到的图片插入任务,并执行该图片插入任务,并将图片插入结果返回至该任务的发起方。

步骤s660,返回至所述在所述等待队列中提取最早第二任务的步骤,直至所述等待队列中的任务被执行完毕。

例如,根据队列执行规则,重复上述的步骤,直至等待队列中的图片插入任务均执行完毕。

在图片编辑等的任务场景中,任务重复执行的执行结果可能并不相同,而且任务的执行顺序也存在一定要求。因此,可以对多个任务依次执行。

根据本实施例的任务执行方法,在时序任务场景中,按照队列执行规则,对于多个异步任务,按照等待队列中的顺序依次执行,保证任务可以按照时序执行。

图12a是本发明实施例六的一种图片编辑的ui示意图。从图中可见,用户可以在ui中依次上传多张图片以进行编辑,图片需要按照一定顺序插入至特定位置。

图12b是本发明实施例六的一种队列执行规则的示意图。从图中可见,可以将队列执行规则理解为一个任务状态机,任务状态机先后接收到多个异步任务,对于各个异步任务,按照队列中的顺序执行,依次得到执行结果,并返回执行结果至各个异步任务的发起方。

图12c是本发明实施例六的一种队列执行规则的流程图。从图中可见,用户发起操作,产生了任务,首先判断是否有正在执行的任务,若是,则将新产生的任务添加至等待队列;若否,则开始执行当前产生的任务,标记任务执行状态,当任务执行完毕后,返回任务的执行结果至该任务的发起方。然后,判断等待队列中是否存在有任务,若是,则从等待队列中提取最早接收的任务,开始执行该最早接收的任务,标记任务执行状态,当任务执行完毕后,返回任务的执行结果至该任务的发起方。返回至判断等待队列中是否存在有任务的步骤,直至等待队列中的任务均执行完毕。

实施例七

图13是本发明实施例七提供的一种任务执行方法的流程图,所述方法可以应用于任务无关联场景,所述任务无关联场景的异步任务规则为并行执行规则,该方法具体包括以下步骤:

步骤s710,执行针对目标任务场景的第一任务。

其中,任务无关联场景可以为多个任务的执行结果相互独立、且执行顺序不会影响执行结果的场景。任务无关联场景可以包括消息发送等的任务场景。

例如,用户在ui上点击消息发送按钮,任务执行设备执行消息发送任务,将某个消息发送至网络。

步骤s720,当在执行所述第一任务时接收到第二任务,执行所述第二任务。

例如,任务执行设备执行消息发送任务的过程中,用户再次在ui上点击消息发送按钮,任务执行设备接收到下一个消息发送任务。根据并行执行规则,可以立即执行下一个消息发送任务。

步骤s730,当所述第一任务执行完毕,返回所述第一任务的执行结果至所述第一任务的发起方;以及,当所述第二任务执行完毕,返回所述第二任务的执行结果至所述第二任务的发起方。

例如,根据并行执行规则,当任意一个消息发送任务执行完毕,立即将该执行结果返回至该消息发送任务的发起方,各个消息发送任务并行执行,并不相互影响。

在消息发送等的任务场景中,各个任务的执行结果不存在关联,而且任务的执行顺序也不会影响执行结果。因此,可以对多个任务并行执行。

图14a是本发明实施例七的一种并行执行规则的示意图。从图中可见,可以将队列执行规则理解为一个任务状态机,任务状态机先后接收到多个异步任务,对于各个异步任务,在接收到后立即执行,在得到执行结果之后立即返回至各个异步任务的发起方。

图14b是本发明实施例七的一种并行执行规则的流程图。从图中可见,用户发起操作,产生了任务,立即执行该任务,得到执行结果后立即返回。

实施例八

图15是本发明实施例八的一种任务执行装置的结构示意图。本实施例提供的任务执行装置可以集成在任务执行设备中,该任务执行设备可以通过软件和/或硬件的方式实现,该任务执行设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。该任务执行设备可以是电脑,手机,平板,投影仪或交互智能平板等。参考图15,本实施例的任务执行装置具体包括:执行模块810和异步处理模块820,其中:

执行模块810,用于执行针对目标任务场景的第一任务;

异步处理模块820,用于当在执行所述第一任务时接收到第二任务,按照所述目标任务场景的异步任务规则,异步执行所述第一任务和所述第二任务,并返回执行结果。

本发明实施例提供的任务执行装置,当执行第一任务的过程中接收到第二任务时,根据与当前任务场景所适配的异步任务规则,异步执行第一任务和第二任务。从而,在不同的任务场景下,均可以保证用户操作ui的流畅性,同时,无须ui开发人员针对多种任务场景的ui编写复杂的任务规则代码,提升了ui开发的效率。

在上述实施例的基础上,所述目标任务场景为新任务冗余场景,所述新任务冗余场景的异步任务规则为新任务忽略规则,所述异步处理模块820,具体用于:返回任务响应信息至所述第二任务的发起方;当所述第一任务执行完毕时,返回所述第一任务的执行结果至所述第一任务的发起方。

在上述实施例的基础上,所述目标任务场景为旧任务失效场景,所述旧任务失效场景的异步任务规则为更新任务规则,所述异步处理模块820,具体用于:停止执行所述第一任务,并返回任务响应信息至所述第一任务的发起方;执行所述第二任务;当所述第二任务执行完毕时,返回所述第二任务的执行结果至所述第二任务的发起方。

在上述实施例的基础上,所述目标任务场景为重复任务场景,所述重复任务场景的异步任务规则为共享执行规则,所述异步处理模块820,具体用于:将所述第二任务添加至等待队列;当所述第一任务执行完毕时,返回所述第一任务的执行结果至所述第一任务的发起方,以及,返回所述第一任务的执行结果至所述等待队列中各个第二任务的发起方。

在上述实施例的基础上,所述目标任务场景为中间任务冗余场景,所述中间任务冗余场景的异步任务规则为首尾任务规则,所述异步处理模块820,具体用于:将所述第二任务添加至等待队列;当所述第一任务执行完毕时,返回所述第一任务的执行结果至所述第一任务的发起方,并在所述等待队列中提取最新第二任务;执行所述最新第二任务;返回所述最新第二任务的执行结果至所述等待队列中各个第二任务的发起方。

在上述实施例的基础上,所述目标任务场景为时序任务场景,所述时序任务场景的异步任务规则为队列执行规则,所述异步处理模块820,具体用于:将所述第二任务添加至等待队列;当所述第一任务执行完毕时,返回所述第一任务的执行结果至所述第一任务的发起方;在所述等待队列中提取最早第二任务;执行所述最早第二任务,并返回所述最早第二任务的执行结果至所述最早第二任务的发起方;返回至所述在所述等待队列中提取最早第二任务的步骤,直至所述等待队列中的任务被执行完毕。

在上述实施例的基础上,所述目标任务场景为任务无关联场景,所述任务无关联场景的异步任务规则为并行执行规则,所述异步处理模块820,具体用于:执行所述第二任务;当所述第一任务执行完毕,返回所述第一任务的执行结果至所述第一任务的发起方;当所述第二任务执行完毕,返回所述第二任务的执行结果至所述第二任务的发起方。

上述提供的任务执行装置可用于执行上述任意实施例的任务执行方法,具备相应的功能和有益效果。关于任务执行装置的具体限定可以参见上文中对于任务执行方法的限定,在此不再赘述。

实施例九

图16是本发明实施例九的一种任务执行设备的结构示意图。如图16所示,该任务执行设备包括:处理器90、存储器91、具有触摸功能的显示屏92、输入装置93、输出装置94以及通信装置95。该批注显示设备中处理器90的数量可以是一个或者多个,图16中以一个处理器90为例。该批注显示设备中存储器91的数量可以是一个或者多个,图16中以一个存储器91为例。该批注显示设备的处理器90、存储器91、显示屏92、输入装置93、输出装置94以及通信装置95可以通过总线或者其他方式连接,图16中以通过总线连接为例。实施例中,批注显示设备可以是电脑,手机,平板,投影仪或交互智能平板等。实施例中,以批注显示设备为交互智能平板为例,进行描述。

存储器91作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明任意实施例所述的任务执行方法对应的程序指令/模块。存储器91可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器91可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器91可进一步包括相对于处理器90远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

显示屏92为具有触摸功能的显示屏92,其可以是电容屏、电磁屏或者红外屏。一般而言,显示屏92用于根据处理器90的指示显示数据,还用于接收作用于显示屏92的触摸操作,并将相应的信号发送至处理器90或其他装置。可选的,当显示屏92为红外屏时,其还包括红外触摸框,该红外触摸框设置在显示屏92的四周,其还可以用于接收红外信号,并将该红外信号发送至处理器90或者其他设备。通信装置95,用于与其他设备建立通信连接,其可以是有线通信装置和/或无线通信装置。输入装置93可用于接收输入的数字或者字符信息,以及产生与批注显示设备的用户设置以及功能控制有关的键信号输入,还可以是用于获取图像的摄像头以及获取音频数据的拾音设备。输出装置94可以包括扬声器等音频设备。需要说明的是,输入装置93和输出装置94的具体组成可以根据实际情况设定。处理器90通过运行存储在存储器91中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的任务执行方法。

具体的,实施例中,处理器90执行存储器91中存储的一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如下操作:执行针对目标任务场景的第一任务;当在执行所述第一任务时接收到第二任务,按照所述目标任务场景的异步任务规则,异步执行所述第一任务和所述第二任务,并返回执行结果。

所述目标任务场景为新任务冗余场景,所述新任务冗余场景的异步任务规则为新任务忽略规则,在上述实施例的基础上,一个或多个处理器90还实现如下操作:返回任务响应信息至所述第二任务的发起方;当所述第一任务执行完毕时,返回所述第一任务的执行结果至所述第一任务的发起方。

所述目标任务场景为旧任务失效场景,所述旧任务失效场景的异步任务规则为更新任务规则,在上述实施例的基础上,一个或多个处理器90还实现如下操作:停止执行所述第一任务,并返回任务响应信息至所述第一任务的发起方;执行所述第二任务;当所述第二任务执行完毕时,返回所述第二任务的执行结果至所述第二任务的发起方。

所述目标任务场景为重复任务场景,所述重复任务场景的异步任务规则为共享执行规则,在上述实施例的基础上,一个或多个处理器90还实现如下操作:将所述第二任务添加至等待队列;当所述第一任务执行完毕时,返回所述第一任务的执行结果至所述第一任务的发起方,以及,返回所述第一任务的执行结果至所述等待队列中各个第二任务的发起方。

所述目标任务场景为中间任务冗余场景,所述中间任务冗余场景的异步任务规则为首尾任务规则,在上述实施例的基础上,一个或多个处理器90还实现如下操作:将所述第二任务添加至等待队列;当所述第一任务执行完毕时,返回所述第一任务的执行结果至所述第一任务的发起方,并在所述等待队列中提取最新第二任务;执行所述最新第二任务;返回所述最新第二任务的执行结果至所述等待队列中各个第二任务的发起方。

所述目标任务场景为时序任务场景,所述时序任务场景的异步任务规则为队列执行规则,在上述实施例的基础上,一个或多个处理器90还实现如下操作:将所述第二任务添加至等待队列;当所述第一任务执行完毕时,返回所述第一任务的执行结果至所述第一任务的发起方;在所述等待队列中提取最早第二任务;执行所述最早第二任务,并返回所述最早第二任务的执行结果至所述最早第二任务的发起方;返回至所述在所述等待队列中提取最早第二任务的步骤,直至所述等待队列中的任务被执行完毕。

所述目标任务场景为任务无关联场景,所述任务无关联场景的异步任务规则为并行执行规则,在上述实施例的基础上,一个或多个处理器90还实现如下操作:执行所述第二任务;当所述第一任务执行完毕,返回所述第一任务的执行结果至所述第一任务的发起方;当所述第二任务执行完毕,返回所述第二任务的执行结果至所述第二任务的发起方。

实施例十

本发明实施例十的一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种任务执行方法,包括:执行针对目标任务场景的第一任务;当在执行所述第一任务时接收到第二任务,按照所述目标任务场景的异步任务规则,异步执行所述第一任务和所述第二任务,并返回执行结果。

所述目标任务场景为新任务冗余场景,所述新任务冗余场景的异步任务规则为新任务忽略规则,在上述实施例的基础上,所述计算机可执行指令在由计算机处理器执行时还用于执行一种任务执行方法,包括:返回任务响应信息至所述第二任务的发起方;当所述第一任务执行完毕时,返回所述第一任务的执行结果至所述第一任务的发起方。

所述目标任务场景为旧任务失效场景,所述旧任务失效场景的异步任务规则为更新任务规则,在上述实施例的基础上,所述计算机可执行指令在由计算机处理器执行时还用于执行一种任务执行方法,包括:停止执行所述第一任务,并返回任务响应信息至所述第一任务的发起方;执行所述第二任务;当所述第二任务执行完毕时,返回所述第二任务的执行结果至所述第二任务的发起方。

所述目标任务场景为重复任务场景,所述重复任务场景的异步任务规则为共享执行规则,在上述实施例的基础上,所述计算机可执行指令在由计算机处理器执行时还用于执行一种任务执行方法,包括:将所述第二任务添加至等待队列;当所述第一任务执行完毕时,返回所述第一任务的执行结果至所述第一任务的发起方,以及,返回所述第一任务的执行结果至所述等待队列中各个第二任务的发起方。

所述目标任务场景为中间任务冗余场景,所述中间任务冗余场景的异步任务规则为首尾任务规则,在上述实施例的基础上,所述计算机可执行指令在由计算机处理器执行时还用于执行一种任务执行方法,包括:将所述第二任务添加至等待队列;当所述第一任务执行完毕时,返回所述第一任务的执行结果至所述第一任务的发起方,并在所述等待队列中提取最新第二任务;执行所述最新第二任务;返回所述最新第二任务的执行结果至所述等待队列中各个第二任务的发起方。

所述目标任务场景为时序任务场景,所述时序任务场景的异步任务规则为队列执行规则,在上述实施例的基础上,所述计算机可执行指令在由计算机处理器执行时还用于执行一种任务执行方法,包括:将所述第二任务添加至等待队列;当所述第一任务执行完毕时,返回所述第一任务的执行结果至所述第一任务的发起方;在所述等待队列中提取最早第二任务;执行所述最早第二任务,并返回所述最早第二任务的执行结果至所述最早第二任务的发起方;返回至所述在所述等待队列中提取最早第二任务的步骤,直至所述等待队列中的任务被执行完毕。

所述目标任务场景为任务无关联场景,所述任务无关联场景的异步任务规则为并行执行规则,在上述实施例的基础上,所述计算机可执行指令在由计算机处理器执行时还用于执行一种任务执行方法,包括:执行所述第二任务;当所述第一任务执行完毕,返回所述第一任务的执行结果至所述第一任务的发起方;当所述第二任务执行完毕,返回所述第二任务的执行结果至所述第二任务的发起方。

当然,本发明实施例提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的任务执行方法操作,还可以执行本发明任意实施例提供的任务执行方法中的相关操作,且具备相应的功能和有益效果。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1