任务处理的方法及装置、电子设备、存储介质与流程

    专利2022-07-08  122


    本申请涉及数据处理技术领域,特别是涉及一种任务处理的方法及装置、电子设备、存储介质。



    背景技术:

    任务系统作为管理进度更新的系统是游戏中的重要组成部分,主要提供任务注册、进度更新管理以及任务注销的作用。在游戏中,任务是指引玩家进行游戏活动,并给予玩家一定奖励的手段。为了增加游戏的趣味性和挑战性,往往会在游戏中设置较多的任务。现有的任务系统需要填写大量的数据表格来完成每个任务的进度更新逻辑,存在如下缺点:填表数据量大,所有任务都需要一个个条目单独配置数据和逻辑;任务修改和调整难度大,当游戏内某些参数发生改变时,需要对所有相关任务进行修改,维护和更新成本高。



    技术实现要素:

    鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种任务处理的方法及装置、电子设备、存储介质。

    为了解决上述问题,本申请实施例公开了一种任务处理的方法,包括:

    获取待处理的任务集合,所述任务集合中包括多个任务数据,所述任务数据是按照预设结构配置得到;

    依据所述预设结构的特点解析所述任务数据,得到所述任务数据的统计类型、父子关系以及参数值;

    依据所述任务数据的统计类型的种类个数和父子关系将所述任务添加到对应的分类集合中;

    解析当前触发的游戏事件,得到所述游戏事件对应的目标统计类型和目标参数值;

    按照预设规则遍历所述分类集合中的任务数据,确定与所述目标统计类型和所述目标参数值对应的目标任务数据;

    更新所述目标任务数据的任务进度。

    可选的,所述依据所述任务数据的统计类型的种类个数和父子关系将所述任务添加到对应的分类集合中的步骤包括:

    当所述任务数据是有序的子任务数据时,则将所述任务数据添加到第一分类集合中;所述第一分类集合中属于同一父任务数据的任务数据按顺序分到同一子集合中;

    当所述任务数据是无序的子任务数据,或所述任务数据是不存在父子关系的任务数据时,则依据所述任务数据的统计类型的种类个数添加到对应的分类集合中。

    可选的,所述当所述任务数据是无序的子任务数据,或所述任务数据是不存在父子关系的任务数据时,则依据所述任务数据的统计类型的种类个数添加到对应的分类集合中的步骤,包括:

    若所述任务数据的统计类型的种类个数为两个以上,则将所述任务数据添加到第二分类集合中;

    若所述任务数据的统计类型的种类个数为一个,则将所述任务数据添加到第三分类集合中;所述第三分类集合中的任务数据按照统计类型分为多个第三子集合,每个第三子集合中的任务数据的统计类型相同。

    可选的,所述按照预设规则遍历所述分类集合中的任务数据,确定与所述目标统计类型和所述目标参数值对应的目标任务数据的步骤,包括:

    依据所述目标统计类型遍历所述第一分类集合中每个子集合的第一个任务数据、所述第二分类集合中的任务数据、以及所述第三分类集合中与所述目标统计类型对应的第三子集合中的任务数据,确定与所述目标参数值对应的目标任务数据。

    可选的,所述方法还包括:

    当所述任务数据的任务进度为已完成时,对所述已完成的任务数据添加相应的已完成标识;

    所述按照预设规则遍历所述分类集合中的任务数据,确定与所述目标统计类型和所述目标参数值对应的目标任务数据的步骤,包括:

    按照预设规则遍历所述分类集合中未添加已完成标识的任务数据,确定与所述目标统计类型和所述目标参数值对应的目标任务数据。

    可选的,所述获取待处理的任务集合的步骤,包括:

    依据账号登录时的游戏场景获取待处理的任务集合,或者,

    依据接收的注册指令,获取与所述注册指令对应的待处理的任务集合。

    可选的,所述方法还包括:

    接收注销指令,并依据所述注销指令确定对应的注销任务数据;

    将所述注销任务数据从对应的分类集合中移除。

    本申请实施例还公开了一种任务处理的装置,所述装置包括:

    第一获取模块,用于获取待处理的任务集合,所述任务集合中包括多个任务数据,所述任务数据是按照预设结构配置得到;

    第二获取模块,用于依据所述预设结构的特点解析所述任务数据,得到所述任务数据的统计类型、父子关系以及参数值;

    任务分类模块,用于依据所述任务数据的统计类型的种类个数和父子关系将所述任务添加到对应的分类集合中;

    事件解析模块,用于解析当前触发的游戏事件,得到所述游戏事件对应的目标统计类型和目标参数值;

    目标确定模块,用于按照预设规则遍历所述分类集合中的任务数据,确定与所述目标统计类型和所述目标参数值对应的目标任务数据;

    进度更新模块,用于更新所述目标任务数据的任务进度。

    可选的,所述任务分类模块包括:

    第一分类模块,用于当任务数据是有序的子任务数据时,则将任务数据添加到第一分类集合中;第一分类集合中属于同一父任务数据的任务数据按顺序分到同一子集合中;

    其他分类模块,用于当任务数据是无序的子任务数据,或任务数据是不存在父子关系的任务数据时,则依据任务数据的统计类型的种类个数添加到对应的分类集合中。

    可选的,所述其他分类模块包括:

    第二分类模块,用于若任务数据的统计类型的种类个数为两个以上,则将任务数据添加到第二分类集合中;

    第三分类模块,用于若任务数据的统计类型的种类个数为一个,则将任务数据添加到第三分类集合中;第三分类集合中的任务数据按照统计类型分为多个第三子集合,每个第三子集合中的任务数据的统计类型相同。

    可选的,所述目标确定模块具体用于:

    依据目标统计类型遍历第一分类集合中每个子集合的第一个任务数据、第二分类集合中的任务数据、以及第三分类集合中与目标统计类型对应的第三子集合中的任务数据,确定与目标参数值对应的目标任务数据。

    可选的,所述装置还包括:

    标识添加模块,用于当任务数据的任务进度为已完成时,对已完成的任务数据添加相应的已完成标识;

    所述目标确定模块具体用于:按照预设规则遍历分类集合中未添加已完成标识的任务数据,确定与目标统计类型和目标参数值对应的目标任务数据。

    可选的,所述第一获取模块具体用于:

    依据账号登录时的游戏场景获取待处理的任务集合,或者,

    依据接收的注册指令,获取与注册指令对应的待处理的任务集合。

    可选的,所述装置还包括:

    第一接收模块,用于接收注销指令,并依据注销指令确定对应的注销任务数据;

    任务注销模块,用于将注销任务数据从对应的分类集合中移除。

    本申请实施例还公开一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的任务处理的方法的步骤。

    本申请实施例还公开一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上所述的任务处理的方法的步骤。

    本申请包括以下优点:

    在本申请的实施例中,获取包含多个按照预设结构配置得到的待处理的任务数据的任务集合,依据预设结构的特点解析任务数据,得到对应的统计类型、父子关系以及参数值;依据任务数据的统计类型的种类个数和父子关系将任务数据添加到对应的分类集合中;解析当前触发的游戏事件,得到游戏事件对应的目标统计类型和目标参数值,按照预设规则遍历分类集合中的任务数据,确定与目标统计类型和目标参数值对应的目标任务数据;更新目标任务数据的任务进度;通过规范任务数据的配置结构,实现快速配置任务数据;将待处理的任务数据按照统计类型的种类个数和父子关系进行分类,进而按游戏事件的统计类型遍历对应的分类集合,可以实现减少遍历的任务数据量,进而减少资源浪费,以及提高任务进度更新的准确性。

    附图说明

    图1是本申请一实施例提供的一种任务处理的方法的步骤流程图;

    图2是本申请一实施例提供的任务系统的框架图;

    图3是本申请一实施例提供的任务进度更新的过程示意图;

    图4是本申请一实施例提供的任务注册的流程框图;

    图5是本申请一实施例提供的一种任务处理的装置的结构框图。

    具体实施方式

    为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

    参照图1和图2,图1示出了本申请一实施例提供的一种任务处理的方法的步骤流程图,该方法应用于任务系统,图2是本申请一实施例提供的任务系统的框架图。

    如图2所示,任务管理器、任务模板库、参数模板库是任务系统的核心,任务模板库中包括多个任务模板,参数模板库中包括多个参数模板。任务管理器可以实现任务注册,和任务进度更新,任务通过任务数据来表示。具体地,任务数据按照预设结构配置得到,预设结构中包括任务id(identitydocument,唯一编码)、任务模板和任务参数,其中,任务参数是参数模板的参数模板编号。任务管理器可以依据任务数据中的任务模板对任务数据进行分类注册;依据统计数据与任务数据匹配来实现任务进度更新,其中,统计数据可以是由游戏事件产生的目标参数值和目标参数值对应的统计类型。

    该方法具体可以包括如下步骤:

    步骤101,获取待处理的任务集合,任务集合中包括多个任务数据,任务数据是按照预设结构配置得到;

    步骤102,依据预设结构的特点解析任务数据,得到任务数据的统计类型、父子关系以及参数值;

    步骤103,依据任务数据的统计类型的种类个数和父子关系将任务添加到对应的分类集合中;

    步骤104,解析当前触发的游戏事件,得到游戏事件对应的目标统计类型和目标参数值;

    步骤105,按照预设规则遍历分类集合中的任务数据,确定与目标统计类型和目标参数值对应的目标任务数据;

    步骤106,更新目标任务数据的任务进度。

    在本申请实施例中,任务系统通过获取包含多个按照预设结构配置得到的待处理的任务数据的任务集合,依据预设结构的特点解析任务数据,得到对应的统计类型、父子关系以及参数值;依据任务数据的统计类型的种类个数和父子关系将任务数据添加到对应的分类集合中;解析当前触发的游戏事件,得到游戏事件对应的目标统计类型和目标参数值,按照预设规则遍历分类集合中的任务数据,确定与目标统计类型和目标参数值对应的目标任务数据;更新目标任务数据的任务进度;通过规范任务数据的配置结构,实现快速配置任务数据;将待处理的任务数据按照统计类型的种类个数和父子关系进行分类,进而按游戏事件的统计类型遍历对应的分类集合,可以实现减少遍历的任务数据量,进而减少资源浪费,以及提高任务进度更新的准确性。

    下面,将对本示例性实施例中任务处理的方法作进一步地说明。

    在步骤101中,获取待处理的任务集合,任务集合中包括多个任务数据,任务数据是按照预设结构配置得到。

    在本申请实施例中,任务数据是按照预设结构配置得到的,具有模板化的特点,不仅可以减轻配置的难度、和降低维护成本,还可以方便对任务数据进行分类管理。

    在实际应用中,由于游戏中的任务数量比较庞大,且很多任务的更新逻辑是类似的,比如,使用道具a和使用道具b,这两种任务属于同一个任务逻辑,即使用道具的统计类型。为了减少任务数据的配置难度和减少系统代码的重复率,可以通过建立任务模板库和参数模板库实现任务数据的快速配置。其中,任务模板库中包括多个具有特定任务模板编号的任务模板,每个任务模板包括任务数据的统计类型和更新逻辑。参数模板库包括多个具有特定参数编号的参数模板,每个参数模板包括参数值,参数值可以理解为游戏场景中的道具或英雄等对象的固有编号。

    在一可选示例中,任务数据可以按照任务编码、任务模板、参数模板等结构配置得到,对于存在父子关系的任务数据在配置时还可以包括父子关系的结构,可以认为,没有配置父子关系的结构的任务数据,是不存在父子关系的任务数据;当然,对于不存在父子关系的任务数据也可以配置父子关系的结构,但此时父子关系的结构中内容应为空。

    以拾取两个物品a的任务为例,对应的任务数据可以表示如下:

    任务编号:10001

    任务模板编号:t101

    任务参数(参数编号):[item_a]

    任务进度:2

    其中,任务编号为该任务数据的唯一编号;任务模板编号用来调用对应的任务模板,与以上示例中的拾取类型关联;任务参数用来调用对应的参数模板,与以上示例中的物品a关联;需要说明的是,在一个任务中,任务参数可以有多个,当任务参数有多个时,需要根据每个任务参数调用对应的参数模板。任务进度表示任务模板的执行次数。具体地,任务模板编号t101对应的任务模板可以表示如下:

    模板编号:t101

    统计类型:drop_item_stat

    更新逻辑:sum_keylist_value

    其中,模板编号为该任务模板的唯一编号;统计类型表示的是玩家的游戏行为,如上示例中的统计类型为drop_item_stat,表示的是拾取物品的游戏行为;更新逻辑是用于计算使用当前任务模板的任务数据的进度更新值的方法。

    具体地,任务参数[item_a]对应的参数模板可以表示如下:

    参数模板编号:item_a

    参数类型:item

    参数值:i1001

    其中,参数模板编号为该参数模板的唯一编号;参数类型表示参数的属性,如上示例中,参数类型为item,表示该参数的属性是物品;参数值是用于与游戏场景对应的固有编号,如上示例中,参数值为i1001指代的是物品a,可以理解,物品a在游戏场景中的固有编号是i1001。需要说明的是,在本申请实际例中,参数模板编号和参数值是一一对应的关系。

    所有与拾取物品相关的任务在配置任务数据时,都可以采用如上示例中模板编号为t101的模板;例如,当拾取物品由如上示例中的物品a改为物品b时,可以将如上示例中的任务参数改为与物品b对应的任务参数。因此,通过设置任务模板库和参数模板库,规范任务数据配置的预设结构,按照实际任务内容在预设结构中填充相应的任务模板和参数模板,即可以实现快速配置任务数据的目的。并且,采用上述配置任务数据的方法还可以实现方便维护任务数据的目的,例如,当物品a在游戏场景中的固有编号发生变化时,只需要更改参数模板库中与物品a对应的参数模板中的参数值,即可实现所有与物品a对应的任务数据的修改,而不需要逐个对涉及物品a的任务数据进行修改。

    需要说明的是,当以上示例中的任务编号为10001任务数据是父任务数据或子任务数据时,还应当包括父子关系的结构。

    可选的,在本申请一实施例中,上述步骤101中待处理的任务集合可以是待注册的任务集合。在一示例中,上述步骤101可以包括如下子步骤:

    依据账号登录时的游戏场景获取待处理的任务集合。

    当玩家登录游戏时,任务系统会根据当前玩家账号登录时的游戏场景获取待注册的任务数据,并根据注册要求实现任务注册,以确保玩家在登录账号后可以正常执行游戏任务。

    在另一示例中,上述步骤101可以包括如下子步骤:

    依据接收的注册指令,获取与注册指令对应的待处理的任务集合。

    在本示例中,任务系统还可以接收其他系统(如活动系统、成就系统等)提供的任务数据,其他任务系统提供的任务数据在任务系统注册后,才可以由任务系统管理其任务进度的更新。因此需要其他系统向任务系统发送注册指令,在注册指令中关联对应的待处理的任务集合,任务集合中可以包含多个任务数据,任务系统接收注册命令后,依据注册命令可以获取关联的待处理的任务集合。

    在步骤102中,依据预设结构的特点解析任务数据,得到任务数据的统计类型、父子关系以及参数值。

    在本申请实施例中,预设结构可以包括任务模板、参数模板和父子关系。根据预设结构中的任务模板,可以解析得到任务数据的统计类型,进而计算统计类型的种类个数;根据预设结构中的参数模板,可以解析得到任务值;预设结构中的父子关系标记了该任务数据是父任务数据还是子任务数据;当任务数据为父任务数据时,父子关系还记录了父任务数据下的子任务数据的任务编号;当任务数据为子任务数据时,父子关系还记录了子任务数据对应的父任务数据的任务编号。因此,根据预设结构中的父子关系,可以解析得到任务数据的父子关系;需要说明的是,父子关系还包括子任务是否有序。当一个任务数据的预设结构中没有体现父子关系时,可以认为该任务数据不存在父子关系,即该任务数据不是父任务数据,也不是子任务数据。

    在步骤103中,依据任务数据的统计类型的种类个数和父子关系将任务添加到对应的分类集合中。

    在本申请实施例中,多个任务数据按照统计类型的种类个数和父子关系进行分类,便于后续管理任务进度更新。由于父任务数据包括若干子任务数据,父任务数据的进度由子任务数据的完成数量来决定的,其任务进度更新通过子任务数据的完成情况来更新即可,因此,当任务数据为父任务数据时,只需要对其子任务数据进行分类即可。

    具体地,上述步骤103可以包括如下子步骤:

    当任务数据是有序的子任务数据时,则将任务数据按顺序添加到第一分类集合中;第一分类集合中属于同一父任务数据的任务数据按顺序分到同一子集合中;

    当任务数据是无序的子任务数据,或任务数据是不存在父子关系的任务数据时,则依据任务数据的统计类型的种类个数添加到对应的分类集合中。

    在本实施例中,属于同一个父任务数据下的有序的子任务数据必须按照顺序完成,可以将这一类子任务数据添加到同一个分类集合中进行管理,即第一分类集合。在第一分类集合中,将属于同一个父任务数据的任务数据划分为一个子集合,并且在一个子集合中的任务数据按照顺序进行更新。

    当任务数据是无序的子任务数据,该任务数据与其属于同一父任务数据的子任务数据无关联,因此,可以作为一个独立的任务数据来处理,与任务数据是不存在父子关系的任务数据的任务进度更新方式一样,可以依据任务数据的统计类型的种类个数添加到对应的分类集合中。具体可以包括如下子步骤:

    若任务数据的统计类型的种类个数为两个以上,则将任务数据添加到第二分类集合中;

    若任务数据的统计类型的种类个数为一个,则将任务数据添加到第三分类集合中;第三分类集合中的任务数据按照统计类型分为多个第三子集合,每个第三子集合中的任务数据的统计类型相同。

    例如,在一种可能的示例中,以在5min内获得比赛胜利的任务为例,对应的任务数据就需要关联时间和胜负情况这两个统计类型,即对应的统计类型的种类个数为2个,该任务数据的更新涉及两种统计类型。将这类涉及两种以上统计类型的任务数据添加到同一个分类集合中,即第二分类集合。

    当任务数据只关联一种统计类型时,将这类的任务数据添加到第三分类集合中,并且在第三分类集合中,根据统计类型进行分类,将关联相同统计类型的任务数据划分到同一个第三子集合中。

    需要说明的是,在对任务数据进行分类的过程中,为了减少任务数据分类的错误率,并提高分类效率,上述第一分类集合的判断优先级最高。可以理解,在对任务数据进行分类时,先判断该任务数据是否符合第一分类集合的有序子任务数据的要求,若不符合,则继续判断是否符合第二分类集合的关联至少两种统计类型的要求,或是否符合第三分类集合的关联一种统计类型的要求。

    在步骤104中,解析当前触发的游戏事件,得到游戏事件对应的目标统计类型和目标参数值。

    在具体实现中,当玩家完成一项游戏行为(如,一场战斗)后,可以认为触发了游戏事件。通过解析触发的游戏事件,可以得到目标统计类型,即通过解析游戏事件中的游戏行为,可以确定对应的目标统计类型,进而解析目标统计类型对应的固有编号,即目标参数值。需要说明的是,本申请实施例对得到目标参数值和目标统计类型的顺序不做限定。

    可以理解,游戏事件对应的目标参数值和目标统计类型的数量可以是多个。

    在步骤105中,按照预设规则遍历分类集合中的任务数据,确定与目标统计类型和目标参数值对应的目标任务数据。

    在本申请实施例中,按照预设规则遍历分类集合中的任务数据,以确定与目标统计类型和目标参数值对应的目标任务数据。具体包括如下子步骤:

    依据目标统计类型遍历第一分类集合中每个子集合的第一个任务数据、第二分类集合中的任务数据、以及第三分类集合中与目标统计类型对应的第三子集合中的任务数据,确定与目标参数值对应的目标任务数据。其中,目标任务数据可以是多个。

    在实际应用中,游戏中的任务数据的数量往往非常庞大,而且会不断增加,而统计类型的数量是比较少的,且增长有限。通过将数据量大的任务数据分类到对应的分类集合中,再结合目标统计类型来确定需要遍历的任务数据,可以大大减少遍历的任务数据的数量。具体地,对于第一分类集合中的任务数据,只需要遍历每个子任务集合中的第一个任务数据;对于第二分类集合中的任务数据,需要全部遍历,但是,在实际应用中,这类关联多种统计类型的任务数据是比较少的;对于第三分类集合中的任务数据,只需要遍历与目标统计类型对应的第三子集合中的任务数据,因此减少了遍历的任务数据的数量,使得效率得到提升。

    在步骤106中,更新目标任务数据的任务进度。

    在本申请实施例中,对于使用同一任务模板配置的任务数据,其更新逻辑是一样的。当目标任务数据为多个时,可以根据目标任务数据配置的任务模板进行分类,对于同一任务模板的任务数据,可以采用相同的更新逻辑进行更新,即采用任务模板对应的更新逻辑更新同一任务模板的目标任务数据的任务进度。

    例如,当有一个拾取两个物品a的任务a,其任务数据a配置的任务模板编号是t101;另有一个拾取三个物品b的任务b,由于任务a和任务b都是只涉及拾取物品的统计类型,因此,任务b的任务数据b配置的任务模板编号也是t101;当在一次游戏事件中,触发了拾取物品a和拾取物品b的游戏动作时,目标任务数据包括任务数据a和任务数据b,可以采用相同的更新逻辑来执行任务数据a和任务数据b的任务进度的更新。

    具体地,请参见图3,在对目标任务数据进行任务进度更新时,可以先根据任务数据配置的任务参数和参数模板解析出游戏内可用的属性表达式,即参数值;然后将参数值和统计数据一起作为传入参数,其中,统计数据是由游戏事件产生的、按照统计类型分类的事件记录,该事件记录的格式可以为统计类型和其关联的固有编号和常量的组合,例如,use_item:{i1001:3,i1002:2}就是一个统计数据,其中use_item表示使用道具的统计类型,i1001和i1002为固有编号,该统计数据表示用户在一场游戏中使用了固有编号为i1001的道具a三次,使用了固有编号为i1002的道具b两次,解析统计数据即可获得对应的统计类型和参数值产生的次数。通过任务模板的绑定计算方法来计算出任务进度,其中,计算方法是指任务模板中的更新逻辑,可以结合目标任务数据的统计类型和参数值以及统计数据计算出任务模板实际执行的次数,然后根据任务模板实际执行的次数与目标任务数据中设定的任务进度之间的关系来实现进度更新值的计算。计算方法可以是比较通用的计算公式,也可以是复杂的算法,这取决于任务的复杂程度以及任务模板的通用性。

    以上述拾取两个物品a的任务为例,当游戏事件产生的统计数据为use_item:{i1001:3,i1002:2}时,先根据任务数据中的任务参数确定对应的参数模板,即参数模板编号为[item_a]和[item_b],进而确定参数模板编号为[item_a]对应的参数值为i1001,参数模板编号为[item_b]对应的参数值为i1002;然后将拾取两个物品a的任务数据中的参数值i1001和统计数据一起作为传入参数,由于此次游戏事件(统计数据)中,参数值i1001发生3次,即拾取物品a发生3次,通过相应的计算方法得到任务进度更新值的理论值为3/2,一般约定任务进度更新值不超过进度最大值,即最终得到任务进度更新值为2/2。

    进一步地,在本申请一可选实施例中,上述方法还可以包括:

    当任务数据的任务进度为已完成时,对已完成的任务数据添加相应的已完成标识。

    在本实施例中,可以对任务进度已完成的任务数据添加已完成标识,当下次触发游戏事件时,可以不遍历添加已完成标识的任务数据,即,按照预设规则遍历分类集合中的任务数据,确定与目标统计类型和目标任务参数对应的目标任务数据时,可以只遍历分类集合中未添加已完成标识的任务数据,从而减少遍历任务数据的数量。

    在本申请另一可选实施例中,分类集合中的任务数据还包括更新标识,通过更新标识可以区分哪些任务数据的任务进度已完成,哪些任务数据的任务进度未完成。

    当任务数据的任务进度为已完成时,将对应的更新标识更新为已完成。

    当下次触发游戏事件时,可以按照预设规则遍历分类集合中的更新标识为未完成的任务数据,以减少遍历任务数据的数量。

    进一步地,在一可选实施例中,上述方法还可以包括:

    接收注销指令,并依据注销指令确定对应的注销任务数据;

    将注销任务数据从对应的分类集合中移除。

    在具体实现中,当其他系统提供的任务数据需要注销时,可以向任务系统发送注销指令,在注销指令中关联对应的待注销的任务数据,任务系统接收到注销指令后,依据注销指令可以获取关联的注销任务数据,将注销任务数据从对应的分类集合中移除,实现任务数据的注销。

    参见图4,图4是本申请一实施例提供的任务注册的流程框图。

    s401,流程开始,在注册流程开始时,根据当前游戏场景获取待注册的任务集合,任务集合中包括多个任务数据;

    s402,按照设定的顺序遍历待注册的任务集合中的任务数据;其中,设定的顺序可以是任务数据在策划配置表中的顺序;

    s403,判断该任务数据是否达到开放条件;即判断当前游戏场景是否满足该任务数据的注册要求;若是,则继续执行步骤s404;若否,则返回步骤s402;

    s404,判断该任务数据是否为父任务;若是,则执行步骤s405;若否,则执行步骤s406;

    s405,是否要求子任务有序;若是,则执行步骤s407,若否,则执行步骤s406;

    s406,判断该任务数据是否关联两种以上统计类型;若是,则执行步骤s408;若否,则执行步骤s409;

    s407,将子任务数据添加到_ordered_tasks(有序任务集合)中;继续执行步骤410;

    s408,将任务数据添加到_multi_stat_tasks(多类型任务集合)中;继续执行步骤410;

    s409,将任务数据添加到_sprog_tasks(单类型任务集合)中;继续执行步骤410;

    s410,更新待注册的任务集合,并判断是否还有待注册的任务数据;若是,则返回步骤s402;若否,则结束。

    需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。

    参照图5,示出了本申请一实施例提供的一种任务处理的装置的结构框图,该装置具体可以包括如下模块:

    第一获取模块501,用于获取待处理的任务集合,任务集合中包括多个任务数据,任务数据是按照预设结构配置得到;

    第二获取模块502,用于依据预设结构的特点解析任务数据,得到任务数据的统计类型、父子关系以及参数值;

    任务分类模块503,用于依据任务数据的统计类型的种类个数和父子关系将任务添加到对应的分类集合中;

    事件解析模块504,用于解析当前触发的游戏事件,得到游戏事件对应的目标统计类型和目标参数值;

    目标确定模块505,用于按照预设规则遍历分类集合中的任务数据,确定与目标统计类型和目标参数值对应的目标任务数据;

    进度更新模块506,用于更新目标任务数据的任务进度。

    在本申请实施例的一种优选实施例中,任务分类模块503可以包括:

    第一分类模块,用于当任务数据是有序的子任务数据时,则将任务数据添加到第一分类集合中;第一分类集合中属于同一父任务数据的任务数据按顺序分到同一子集合中;

    其他分类模块,用于当任务数据是无序的子任务数据,或任务数据是不存在父子关系的任务数据时,则依据任务数据的统计类型的种类个数添加到对应的分类集合中。

    在本申请实施例的一种优选实施例中,其他分类模块可以包括:

    第二分类模块,用于若任务数据的统计类型的种类个数为两个以上,则将任务数据添加到第二分类集合中;

    第三分类模块,用于若任务数据的统计类型的种类个数为一个,则将任务数据添加到第三分类集合中;第三分类集合中的任务数据按照统计类型分为多个第三子集合,每个第三子集合中的任务数据的统计类型相同。

    在本申请实施例的一种优选实施例中,目标确定模块505具体可以用于:

    依据目标统计类型遍历第一分类集合中每个子集合的第一个任务数据、第二分类集合中的任务数据、以及第三分类集合中与目标统计类型对应的第三子集合中的任务数据,确定与目标参数值对应的目标任务数据。

    在本申请实施例的一种优选实施例中,上述装置还可以包括:

    标识添加模块,用于当任务数据的任务进度为已完成时,对已完成的任务数据添加相应的已完成标识;

    上述目标确定模块具体可以用于:按照预设规则遍历分类集合中未添加已完成标识的任务数据,确定与目标统计类型和目标参数值对应的目标任务数据。

    在本申请实施例的一种优选实施例中,第一获取模块501具体可以用于:

    依据账号登录时的游戏场景获取待处理的任务集合,或者,

    依据接收的注册指令,获取与注册指令对应的待处理的任务集合。

    在本申请实施例的一种优选实施例中,上述装置还可以包括:

    第一接收模块,用于接收注销指令,并依据注销指令确定对应的注销任务数据;

    任务注销模块,用于将注销任务数据从对应的分类集合中移除。

    对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

    本申请一实施例还提供了一种电子设备,可以包括处理器、存储器及存储在存储器上并能够在处理器上运行的计算机程序,计算机程序被处理器执行时实现如上任务处理的方法的步骤。

    本申请一实施例还提供了计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现如上任务处理的方法的步骤。

    本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

    本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

    本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

    这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

    这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

    尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。

    最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

    以上对本申请所提供的一种任务处理的方法及装置、电子设备、存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。


    技术特征:

    1.一种任务处理的方法,其特征在于,包括:

    获取待处理的任务集合,所述任务集合中包括多个任务数据,所述任务数据是按照预设结构配置得到;

    依据所述预设结构的特点解析所述任务数据,得到所述任务数据的统计类型、父子关系以及参数值;

    依据所述任务数据的统计类型的种类个数和父子关系将所述任务添加到对应的分类集合中;

    解析当前触发的游戏事件,得到所述游戏事件对应的目标统计类型和目标参数值;

    按照预设规则遍历所述分类集合中的任务数据,确定与所述目标统计类型和所述目标参数值对应的目标任务数据;

    更新所述目标任务数据的任务进度。

    2.根据权利要求1所述的方法,其特征在于,所述依据所述任务数据的统计类型的种类个数和父子关系将所述任务添加到对应的分类集合中的步骤包括:

    当所述任务数据是有序的子任务数据时,则将所述任务数据添加到第一分类集合中;所述第一分类集合中属于同一父任务数据的任务数据按顺序分到同一子集合中;

    当所述任务数据是无序的子任务数据,或所述任务数据是不存在父子关系的任务数据时,则依据所述任务数据的统计类型的种类个数添加到对应的分类集合中。

    3.根据权利要求2所述的方法,其特征在于,所述当所述任务数据是无序的子任务数据,或所述任务数据是不存在父子关系的任务数据时,则依据所述任务数据的统计类型的种类个数添加到对应的分类集合中的步骤,包括:

    若所述任务数据的统计类型的种类个数为两个以上,则将所述任务数据添加到第二分类集合中;

    若所述任务数据的统计类型的种类个数为一个,则将所述任务数据添加到第三分类集合中;所述第三分类集合中的任务数据按照统计类型分为多个第三子集合,每个第三子集合中的任务数据的统计类型相同。

    4.根据权利要求3所述的方法,其特征在于,所述按照预设规则遍历所述分类集合中的任务数据,确定与所述目标统计类型和所述目标参数值对应的目标任务数据的步骤,包括:

    依据所述目标统计类型遍历所述第一分类集合中每个子集合的第一个任务数据、所述第二分类集合中的任务数据、以及所述第三分类集合中与所述目标统计类型对应的第三子集合中的任务数据,确定与所述目标参数值对应的目标任务数据。

    5.根据权利要求1或4所述的方法,其特征在于,所述方法还包括:

    当所述任务数据的任务进度为已完成时,对所述已完成的任务数据添加相应的已完成标识;

    所述按照预设规则遍历所述分类集合中的任务数据,确定与所述目标统计类型和所述目标参数值对应的目标任务数据的步骤,包括:

    按照预设规则遍历所述分类集合中未添加已完成标识的任务数据,确定与所述目标统计类型和所述目标参数值对应的目标任务数据。

    6.根据权利要求1所述的方法,其特征在于,所述获取待处理的任务集合的步骤,包括:

    依据账号登录时的游戏场景获取待处理的任务集合,或者,

    依据接收的注册指令,获取与所述注册指令对应的待处理的任务集合。

    7.根据权利要求1所述的方法,其特征在于,所述方法还包括:

    接收注销指令,并依据所述注销指令确定对应的注销任务数据;

    将所述注销任务数据从对应的分类集合中移除。

    8.一种任务处理的装置,其特征在于,所述装置包括:

    第一获取模块,用于获取待处理的任务集合,所述任务集合中包括多个任务数据,所述任务数据是按照预设结构配置得到;

    第二获取模块,用于依据所述预设结构的特点解析所述任务数据,得到所述任务数据的统计类型、父子关系以及参数值;

    任务分类模块,用于依据所述任务数据的统计类型的种类个数和父子关系将所述任务添加到对应的分类集合中;

    事件解析模块,用于解析当前触发的游戏事件,得到所述游戏事件对应的目标统计类型和目标参数值;

    目标确定模块,用于按照预设规则遍历所述分类集合中的任务数据,确定与所述目标统计类型和所述目标参数值对应的目标任务数据;

    进度更新模块,用于更新所述目标任务数据的任务进度。

    9.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的任务处理的方法的步骤。

    10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的任务处理的方法的步骤。

    技术总结
    本申请实施例提供了一种任务处理的方法及装置、电子设备、存储介质,其中,方法包括:获取包含多个任务数据的任务集合,解析任务数据,得到对应的统计类型、父子关系以及参数值;依据种类个数和父子关系将任务数据添加到对应的分类集合中;解析当前触发的游戏事件,得到目标统计类型和目标参数值,按照预设规则遍历分类集合中的任务数据,确定与目标统计类型和目标参数值对应的目标任务数据;更新目标任务数据的任务进度;通过规范任务数据的配置结构,实现快速配置任务数据;将待处理的任务数据分类,进而按游戏事件的统计类型遍历对应的分类集合,可以实现减少遍历的任务数据量,进而减少资源浪费,以及提高任务进度更新的准确性。

    技术研发人员:覃涛
    受保护的技术使用者:网易(杭州)网络有限公司
    技术研发日:2020.12.14
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-15383.html

    最新回复(0)