任务处理方法、装置、计算机设备和存储介质与流程

文档序号:17726944发布日期:2019-05-22 02:34阅读:156来源:国知局
任务处理方法、装置、计算机设备和存储介质与流程
本申请涉及通信
技术领域
,特别是涉及一种任务处理方法、装置、计算机设备和存储介质。
背景技术
:随着通信技术的发展,通信业务越来越复杂,因此对侦听机制的处理时效也越来越高。现有的侦听机制每次获取可处理消息时都需要进行一次时序判断,如果发现有依赖的消息还没处理完成则会将其入缓冲队列,每条消息处理完成后都会将缓冲队列中依赖自己的数据取出重新判断时序进行处理。然而,目前这种侦听机制存在处理效率低的问题。技术实现要素:基于此,有必要针对上述技术问题,提供一种能够提高任务处理效率的任务处理方法、装置、计算机设备和存储介质。一种任务处理方法,所述方法包括:获取任务列表;对所述任务列表中的各个任务进行关联检测,并获取各个所述任务的依赖关系;根据所述依赖关系获取独立任务;处理所述独立任务;所述独立任务处理完成后,更新所述依赖关系。上述任务处理方法,通过获取任务列表,对任务列表中的各个任务进行关联检测,并获取各个任务的依赖关系,进而根据该依赖关系获取独立任务,处理该独立任务,并在独立任务处理完成后,更新依赖关系,能够达到在任务处理过程中一条消息只需判断一次时序进而提高任务处理效率的目的。一种任务处理装置,所述装置包括:任务列表获取模块,用于获取任务列表;依赖关系获取模块,用于对所述任务列表中的任务进行关联检测,并获取所述任务的依赖关系;独立任务获取模块,用于根据所述依赖关系,获取独立任务;任务处理模块,用于处理所述独立任务;更新模块,用于所述独立任务处理完成后,更新所述依赖关系。上述任务处理装置,通过获取任务列表,对任务列表中的各个任务进行关联检测,并获取各个任务的依赖关系,进而根据该依赖关系获取独立任务,处理该独立任务,并在独立任务处理完成后,更新依赖关系,能够达到在任务处理过程中一条消息只需判断一次时序进而提高任务处理效率的目的。一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任意实施例的任务处理方法的步骤。上述计算机设备,通过获取任务列表,对任务列表中的各个任务进行关联检测,并获取各个任务的依赖关系,进而根据该依赖关系获取独立任务,处理该独立任务,并在独立任务处理完成后,更新依赖关系,能够达到在任务处理过程中一条消息只需判断一次时序进而提高任务处理效率的目的。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现任意实施例中任务处理方法的步骤。上述可读存储介质,通过获取任务列表,对任务列表中的各个任务进行关联检测,并获取各个任务的依赖关系,进而根据该依赖关系获取独立任务,处理该独立任务,并在独立任务处理完成后,更新依赖关系,能够达到在任务处理过程中一条消息只需判断一次时序进而提高任务处理效率的目的。附图说明图1为一个实施例中任务处理方法的应用环境图;图2为一个实施例中任务处理方法的流程示意图;图3为一个实施例中依赖关系有向无环图的示意图;图4为一个具体的实施例中任务处理方法的流程示意图;图5为一个实施例中更新依赖关系有向无环图的示意图;图6为一个实施例中任务处理装置的结构框图;图7为一个实施例中计算机设备的内部结构图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步的详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。本申请提供的任务处理方法,可以应用于终端设备中,也可以应用于由终端设备以及云端网络组成的系统中。可选的,可以应用于如图1所示的应用环境中。其中,终端102与服务器104通过网络进行通信。终端102可以根据服务器104中储存的任务列表,对任务列表中的各个任务进行关联检测,并获取各个任务的依赖关系,进而根据该依赖关系获取独立任务,处理该独立任务,并在独立任务处理完成后,更新依赖关系。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。可选的,该无线网络可以是2g网络、3g网络、4g网络或者5g网络、无线保真(wirelessfidelity,简称wifi)网络等。需要说明的是,该依赖原因列表可以存储在终端102中,也可以存储在服务器104中,还可以一部分存储在终端102中,另一部分存储在服务器104中,也就是说,本实施例依赖原因列表的具体位置并不做限定。可以理解,本申请各个实施方式所涉及的方法,其执行主体可以是任务处理装置,该装置可以是通过软件、硬件或者软件硬件相结合的方式实现。该装置可以是终端的部分或全部,该装置也可以集成在云端服务器中,由终端设备在使用时进行调用。为了描述方便,下述方法实施例中的执行主体均以终端为例。在一个实施例中,如图2所示,提供了一种任务处理方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:步骤s100,获取任务列表。其中,任务列表是指当前时刻需要处理的所有任务的列表。具体的,终端可以从服务器端获取该任务列表,也可以从本机的对外接口设备中获取该任务列表。步骤s200,对所述任务列表中的各个任务进行关联检测,并获取各个所述任务的依赖关系。其中,关联检测是指检测两个任务之间是否有依赖关系。依赖关系是指,一个任务可以开始处理的前提是另一个任务已经处理完成,即,各个任务的处理需要按照固定的时序进行。具体的,终端遍历所有任务,并检测各个任务之间的依赖关系,并记录该依赖关系。步骤s300,根据所述依赖关系获取独立任务。其中,独立任务是指不需要等待其他任务完成才能进行处理的任务。具体的,终端根据依赖关系,获取不依赖于其他任何任务的独立任务。步骤s400,处理所述独立任务。具体的,终端将独立任务传输到任务处理单元,对独立任务进行处理。步骤s500,所述独立任务处理完成后,更新所述依赖关系。具体的,独立任务处理完成后,终端更新依赖关系,将依赖于该处理完成的独立任务的其他任务标记成新的独立任务。上述任务处理方法,通过获取任务列表,对任务列表中的各个任务进行关联检测,并获取各个任务的依赖关系,进而根据该依赖关系获取独立任务,处理该独立任务,并在独立任务处理完成后,更新依赖关系,能够达到在任务处理过程中一条消息只需判断一次时序进而提高任务处理效率的目的。作为一种实施例,其中,步骤s200包括:步骤s210,根据预设规则对所述任务列表中的任务进行关联检测,并生成依赖原因列表;步骤s220,根据所述依赖原因列表,获取所述任务的依赖关系。其中,预设规则是指终端判断各个任务之间是否存在依赖关系的标准。依赖原因列表是指记录各个任务之间依赖关系的表格。具体的,终端根据预设规则对任务列表中的各个任务进行遍历以及检测,并根据遍历以及检测的结果生成依赖原因列表,终端可以根据该依赖原因列表获得各个任务之间的依赖关系。例如,终端获取到任务a、b、c,并根据预设规则对上述任务进行遍历以及检测,根据检测结果生成如下依赖原因列表:依赖原因列表一依赖原因列表二abc则,终端可以根据上表判断任务b、任务c依赖于任务a。作为一种实施例,其中,步骤s300包括:步骤s310,读取所述依赖关系中独立任务所对应的任务标识;步骤s320,根据所述任务标识,获取所述独立任务。其中,任务标识是指用于查询该任务的号码或符号,可以通过该号码找到相对应的任务。具体的,终端读取依赖关系中独立任务的任务标识,并根据该任务标识,查询该任务标识所对应的存储空间,并进一步从该存储空间中获取该独立任务数据。作为一种实施例,其中,步骤s400包括:步骤s410,将所述独立任务传输至任务处理装置;步骤s420,通过所述任务处理装置处理所述独立任务。其中,任务处理装置是指用于处理任务的单元、模块或设备。具体的,终端将获得的独立任务传送至任务处理装置,并通过该任务处理装置处理该独立任务。通过同时传送各个独立任务至任务处理装置进行并行处理,可以在保证处理时序的前提下进行多线程并发处理,提高侦听并发处理能力。作为一种实施例,其中,步骤s500包括:步骤s510,获取任务处理完成消息;步骤s520,读取所述完成消息中所述处理完成任务所对应的所述处理完成任务的标识;步骤s530,根据所述处理完成任务的标识,在所述依赖关系中查找与所述处理完成任务的标识对应的节点,并删除所述节点。其中,完成消息是指任务处理结果的回告,用于判断任务是否处理完毕。具体的,终端可以以主动或被动的方式从任务处理装置中获取任务处理完成消息,并读取消息中已经处理完成的任务的标识,然后在依赖关系中找到该标识所对应的节点,并删除该节点,以此避免一个任务被重复判断时序。作为一种实施例,其中,步骤s220或s530还包括:步骤s540,在所述依赖原因列表中删除所述处理完成任务的标识。具体的,当某个任务处理完成后,终端在依赖原因列表中删除该任务的标识。作为一种实施例,其中,步骤s300包括:步骤s330,根据所述依赖关系生成依赖关系有向无环图;步骤s340,根据所述依赖关系有向无环图,获取所述独立任务。其中,有向无环图是指无回路的有向图,即从图中的某个节点出发经过若干条边无法回到该节点。具体的,终端根据依赖关系生成依赖关系有向无环图,遍历依赖关系有向无环图中的节点,获取独立节点,并通过该独立节点上的任务标识获取独立任务。例如,如图3所示,已知任务a、b、c、d、e、f、g的依赖关系,则可根据该依赖关系生成依赖关系有向无环图。作为一个具体的实施例,请参阅图4,一种任务处理方法,包括:任务分配模块读取任务队列或事件表中的任务数据;读取后,先进行关联检测并确定依赖关系,其中依赖关系的确定可以根据关联依赖原因列表,进行一系列规则判断,判断完后获取到依赖关系,并更新依赖原因列表;将获取到的依赖关系插入依赖关系有向无环图;任务处理模块调用任务分配模块的任务获取服务,获取到依赖关系有向无环图中没有依赖其他节点的节点任务id,获取到后任务分配模块根据任务id更新任务分配数据库中的任务状态;任务处理模块获取到任务后对任务进行转换及发送;任务处理模块读取到外围接口处理成功的消息后回告任务分配模块,任务分配模块更新依赖原因列表和有向无环图。如果在依赖原因列表中可以查到某个任务id与处理成功的任务id相同,则在依赖原因列表中删除这个id所对应的数据。另外再将依赖关系有向无环图中该id对应的节点删除,例如,如图5所示,当位于节点a的独立任务处理完成后,即删除节点a,此时位于节点b、c的任务成为新的独立任务;任务处理过程中任务的状态变化可以回写到数据库,从而方便对任务处理进度的监控。应该理解的是,虽然图1-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。请一并参阅图6,本申请的一个实施例汇总,还提供一种任务处理装置6000,所述装置6000包括:任务列表获取模块601,用于获取任务列表;依赖关系获取模块602,用于对所述任务列表中的任务进行关联检测,并获取所述任务的依赖关系;独立任务获取模块603,用于根据所述依赖关系,获取独立任务;任务处理模块604,用于处理所述独立任务;更新模块605,用于所述独立任务处理完成后,更新所述依赖关系。上述任务处理装置,通过获取任务列表,对任务列表中的各个任务进行关联检测,并获取各个任务的依赖关系,进而根据该依赖关系获取独立任务,处理该独立任务,并在独立任务处理完成后,更新依赖关系,能够达到在任务处理过程中一条消息只需判断一次时序进而提高任务处理效率的目的。作为一种实施例,其中,所述依赖关系获取模块602包括:依赖原因列表生成模块,用于根据预设规则对所述任务列表中的任务进行关联检测,并生成依赖原因列表;任务依赖关系获取模块,用于根据所述依赖原因列表,获取所述任务的依赖关系。作为一种实施例,其中,所述独立任务获取模块603包括:任务标识读取模块,用于读取所述依赖关系中独立任务所对应的任务标识;独立任务取得模块,用于根据所述任务标识,获取所述独立任务。作为一种实施例,其中,所述任务处理模块604包括:传输模块,用于将所述独立任务传输至任务处理装置;任务接收处理模块,用于通过所述任务处理装置处理所述独立任务。作为一种实施例,其中,所述更新模块605包括:完成消息处理模块,用于获取任务处理完成消息;完成任务标识读取模块,用于读取所述完成消息中所述处理完成任务所对应的所述处理完成任务的标识;节点删除模块,用于根据所述处理完成任务的标识,在所述依赖关系中查找与所述处理完成任务的标识对应的节点,并删除所述节点。作为一种实施例,其中,所述任务依赖关系获取模块或所述节点删除模块还包括:处理完成任务标识删除模块,用于在所述依赖原因列表中删除所述处理完成任务的标识。作为一种实施例,其中,所述独立任务获取模块603还包括:有向无环图生成模块,用于根据所述依赖关系生成依赖关系有向无环图;基于有向无环图获取独立任务模块,用于根据所述依赖关系有向无环图,获取所述独立任务。关于任务处理装置的具体限定可以参见上文中对于任务处理方法的限定,在此不再赘述。上述任务处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储依赖原因列表相关信息数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种任务处理方法。本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:获取任务列表;对所述任务列表中的各个任务进行关联检测,并获取各个所述任务的依赖关系;根据所述依赖关系获取独立任务;处理所述独立任务;所述独立任务处理完成后,更新所述依赖关系。上述计算机设备,通过获取任务列表,对任务列表中的各个任务进行关联检测,并获取各个任务的依赖关系,进而根据该依赖关系获取独立任务,处理该独立任务,并在独立任务处理完成后,更新依赖关系,能够达到在任务处理过程中一条消息只需判断一次时序进而提高任务处理效率的目的。作为一种实施例,其中,处理器执行的所述对所述任务列表中的任务进行关联检测,并获取所述任务的依赖关系包括:根据预设规则对所述任务列表中的任务进行关联检测,并生成依赖原因列表;根据所述依赖原因列表,获取所述任务的依赖关系。作为一种实施例,其中,处理器执行的所述根据所述依赖关系获取独立任务包括:读取所述依赖关系中独立任务所对应的任务标识;根据所述任务标识,获取所述独立任务。作为一种实施例,其中,处理器执行的所述处理所述独立任务包括:将所述独立任务传输至任务处理装置;通过所述任务处理装置处理所述独立任务。作为一种实施例,其中,处理器执行的所述独立任务处理完成后,更新所述依赖关系包括:获取任务处理完成消息;读取所述完成消息中所述处理完成任务所对应的所述处理完成任务的标识;根据所述处理完成任务的标识,在所述依赖关系中查找与所述处理完成任务的标识对应的节点,并删除所述节点。作为一种实施例,其中,处理器执行的所述根据所述处理完成任务的标识,在所述依赖关系中查找与所述处理完成任务的标识对应的节点,并删除所述节点之后还包括:在所述依赖原因列表中删除所述处理完成任务的标识。作为一种实施例,其中,处理器执行的所述根据所述依赖关系获取独立任务还包括:根据所述依赖关系生成依赖关系有向无环图;根据所述依赖关系有向无环图,获取所述独立任务。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:获取任务列表;对所述任务列表中的各个任务进行关联检测,并获取各个所述任务的依赖关系;根据所述依赖关系获取独立任务;处理所述独立任务;所述独立任务处理完成后,更新所述依赖关系。上述可读存储介质,通过获取任务列表,对任务列表中的各个任务进行关联检测,并获取各个任务的依赖关系,进而根据该依赖关系获取独立任务,处理该独立任务,并在独立任务处理完成后,更新依赖关系,能够达到在任务处理过程中一条消息只需判断一次时序进而提高任务处理效率的目的。作为一种实施例,其中,处理器执行的所述对所述任务列表中的任务进行关联检测,并获取所述任务的依赖关系包括:根据预设规则对所述任务列表中的任务进行关联检测,并生成依赖原因列表;根据所述依赖原因列表,获取所述任务的依赖关系。作为一种实施例,其中,处理器执行的所述根据所述依赖关系获取独立任务包括:读取所述依赖关系中独立任务所对应的任务标识;根据所述任务标识,获取所述独立任务。作为一种实施例,其中,处理器执行的所述处理所述独立任务包括:将所述独立任务传输至任务处理装置;通过所述任务处理装置处理所述独立任务。作为一种实施例,其中,处理器执行的所述独立任务处理完成后,更新所述依赖关系包括:获取任务处理完成消息;读取所述完成消息中所述处理完成任务所对应的所述处理完成任务的标识;根据所述处理完成任务的标识,在所述依赖关系中查找与所述处理完成任务的标识对应的节点,并删除所述节点。作为一种实施例,其中,处理器执行的所述根据所述处理完成任务的标识,在所述依赖关系中查找与所述处理完成任务的标识对应的节点,并删除所述节点之后还包括:在所述依赖原因列表中删除所述处理完成任务的标识。作为一种实施例,其中,处理器执行的所述根据所述依赖关系获取独立任务还包括:根据所述依赖关系生成依赖关系有向无环图;根据所述依赖关系有向无环图,获取所述独立任务。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1