一种基于数据驱动的任务实现方法及装置
技术领域
本发明涉及社交网络技术领域,特别涉及一种基于数据驱动的任务实现方法及装置。
背景技术
随着网络用户的不断增长,各种社交网络应用也陆续推出,以满足广大用户的爱好。网络秀是近年来流行的网络应用,与网络游戏类似,受到众多用户的欢迎。
比如,主播在网络直播间进行才艺表演,用户在欣赏表演之余,送给主播虚拟鲜花、虚拟汽车等礼物。主播通过获取虚拟礼物来积累经验值,通过收取一定数量的特定礼物,提升主播的经验值并完成升级的行为称为完成主播任务。具体地,系统预先设置了完成任务需要获得的各种虚拟礼物以及对应的虚拟礼物的数量,当收到用户赠送的相应礼物时,则对该任务完成需要的礼物的数量进行确认,如果收到的礼物数量达到任务完成需要的礼物数量,则确定该任务完成。而在具体代码实现时,在程序中可以用表项中一列来代表一种礼物,然后在代码中定义每一列代表什么礼物。当收到礼物时,程序去统计任务所需的礼物数量是否能够完成任务。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
代码中需要去指定每一列代表什么礼物,代码量大,且当需要对列对应的礼物进行变更时,代码修改复杂,且当任务完成条件是统计几种礼物数量的和时,需要去计算多个列的和,程序复杂。
发明内容
为了解决现有技术中可能出现的代码实现复杂、程序效率低下以及程序代码复用率低的问题,本发明实施例提供了一种基于数据驱动的任务实现方法及装置。所述技术方案如下:
一方面,本发明实施例提供了一种基于数据驱动的任务实现方法,所述方法包括:
接收送礼请求,所述送礼请求包括至少一个礼物标识和与各个礼物标识对应的礼物数量;
根据设定的礼物标识与礼物栏的对应关系,确定所述至少一个礼物标识对应的礼物栏的标识,一个所述礼物栏与一个或多个礼物标识对应;
根据所述送礼请求中各个礼物标识对应的礼物数量,更新所述至少一个礼物标识对应的礼物栏的标识对应的礼物数量;
采用更新后的所述至少一个礼物标识对应的礼物栏的标识对应的礼物数量,判断是否完成第一任务。
在本发明实施例的一种实现方式中,所述判断是否完成第一任务,包括:
获取所述第一任务的完成条件,所述第一任务的完成条件包括:指定礼物栏中的礼物数量达到规定值;
统计所述第一任务的完成条件中指定礼物栏中各种礼物的数量;
当所述指定礼物栏中各种礼物的数量达到所述第一任务的完成条件中规定的数量时,确定所述第一任务完成。
在本发明实施例的另一种实现方式中,所述方法还包括:
获取第二任务的完成条件,所述第二任务的完成条件包括:指定的一个或多个所述第一任务完成;
确定所述指定的一个或多个所述第一任务是否完成;
如果所述指定的一个或多个所述第一任务完成,则确定所述第二任务完成。
在本发明实施例的另一种实现方式中,所述方法还包括:
获取任务配置表,所述任务配置表包括多个所述第一任务的任务配置以及各个所述第一任务的任务配置对应的起止时间,所述第一任务的任务配置包括第一任务的名称以及第一任务的完成条件;
比较当前所处时间与所述任务配置表中各个所述第一任务的任务配置对应的起止时间;
如果所述当前所处时间处于所述任务配置表中一个或多个起止时间内,则输出所述任务配置表中一个或多个起止时间对应的所述第一任务的任务配置。
在本发明实施例的另一种实现方式中,所述方法还包括:
当判断所述第一任务完成时,执行与所述第一任务完成对应的回调函数,所述回调函数用于向指定用户发送通知、在频道内进行广播或者为主播增加经验值。
另一方面,本发明实施例还提供了一种基于数据驱动的任务实现装置,所述装置包括:
接收模块,用于接收送礼请求,所述送礼请求包括至少一个礼物标识和与各个礼物标识对应的礼物数量;
确定模块,用于根据设定的礼物标识与礼物栏的对应关系,确定所述至少一个礼物标识对应的礼物栏的标识,一个所述礼物栏与一个或多个礼物标识对应;
更新模块,用于根据所述送礼请求中各个礼物标识对应的礼物数量,更新所述至少一个礼物标识对应的礼物栏的标识对应的礼物数量;
判断模块,用于采用更新后的所述至少一个礼物标识对应的礼物栏的标识对应的礼物数量,判断是否完成第一任务。
在本发明实施例的一种实现方式中,所述判断模块包括:
第一获取单元,用于获取所述第一任务的完成条件,所述第一任务的完成条件包括:指定礼物栏中的礼物数量达到规定值;
统计单元,用于统计所述第一任务的完成条件中指定礼物栏中各种礼物的数量;
第一确定单元,用于在所述指定礼物栏中各种礼物的数量达到所述第一任务的完成条件中规定的数量时,确定所述第一任务完成。
在本发明实施例的另一种实现方式中,所述判断模块还包括:
第二获取单元,用于获取第二任务的完成条件,所述第二任务的完成条件包括:指定的一个或多个所述第一任务完成;
第二确定单元,用于确定所述指定的一个或多个所述第一任务是否完成;
第三确定单元,用于在所述指定的一个或多个所述第一任务完成时,确定所述第二任务完成。
在本发明实施例的另一种实现方式中,所述装置还包括获取模块,所述获取模块包括:
获取单元,用于获取任务配置表,所述任务配置表包括多个所述第一任务的任务配置以及各个所述第一任务的任务配置对应的起止时间,所述第一任务的任务配置包括第一任务的名称以及第一任务的完成条件;
比较单元,用于比较当前所处时间与所述任务配置表中各个所述第一任务的任务配置对应的起止时间;
输出单元,用于在所述当前所处时间处于所述任务配置表中一个或多个起止时间内时,输出所述任务配置表中一个或多个起止时间对应的所述第一任务的任务配置。
在本发明实施例的另一种实现方式中,所述装置还包括:
执行模块,用于当判断所述第一任务完成时,执行与所述第一任务完成对应的回调函数,所述回调函数用于向指定用户发送通知、在频道内进行广播或者为主播增加经验值。
本发明实施例提供的技术方案带来的有益效果是:通过在接收到送礼请求后,根据设定的礼物标识与礼物栏的对应关系,确定送礼请求中礼物标识对应的礼物栏的标识,再根据送礼请求中各个礼物标识对应的礼物数量,更新礼物栏的标识对应的礼物数量,最后采用更新后的礼物标识对应的礼物栏的标识对应的礼物数量,判断是否完成第一任务;由于存在礼物标识与礼物栏的对应关系,因此不需要采用代码去描述礼物栏对应的礼物标识,减小了代码量,当需要变更礼物栏对应的礼物标识时,只需要通过修改对应关系即可,另外每个礼物栏可以对应多种礼物标识,因此当任务完成条件是统计几种礼物数量的和时,只需要确定一个礼物栏的礼物数量即可实现,程序简单。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的应用场景图;
图2是本发明实施例一提供的一种基于数据驱动的任务实现方法流程图;
图3是本发明实施例二提供的一种基于数据驱动的任务实现方法流程图;
图4是本发明实施例三提供的一种基于数据驱动的任务实现装置结构示意图;
图5是本发明实施例四提供的一种基于数据驱动的任务实现装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
为了便于实施例的描述,下面先简单介绍一下本发明中实施例的应用场景。参见图1,该场景中包括多个客户端101,客户端101可以是个人电脑、移动终端等设备。客户端101中设有网络秀场应用软件,主播可以通过一台客户端101中的网络秀场应用软件进行才艺展示。普通用户通过另外的客户端101中的网络秀场应用软件收看主播的节目,且在收看过程中可以向主播赠送虚拟礼物。具体地,普通用户的客户端101向网络秀场的服务器102发送送礼请求,服务器102根据送礼请求执行基于数据驱动的任务实现方法,具体过程见后文。服务器102与客户端101通过网络连接。
需要说明的是,以上所述的设备种类及连接方式仅为举例,本发明对此不作限制。
实施例一
本发明实施例提供了一种基于数据驱动的任务实现方法,参见图2,该方法包括:
步骤201:接收送礼请求,送礼请求包括至少一个礼物标识和与各个礼物标识对应的礼物数量。
例如,送礼请求中包括鲜花的标识和钻石的标识,鲜花的标识对应礼物数量为10,钻石的标识对应礼物数量为1。
其中,礼物标识是礼物区别于其他礼物的特定标记,可以是礼物的名称,例如:“汽车”、“鲜花”等;也可以是礼物的编号,例如将15种不同的礼物分别编号为A-O 15个字母,通过编号就可以确定是哪一种礼物。显而易见地,设置礼物编号并不以A-O这15个字母为限,也可以包含更多的字母,也可以使用数字或其他形式进行编号,本发明实施例并不以此为限。另外,为了方便后期任务统计以及经验计算,可以将一个礼物栏对应的礼物设计成经验相等的礼物。
步骤202:根据设定的礼物标识与礼物栏的对应关系,确定至少一个礼物标识对应的礼物栏的标识,一个礼物栏与一个或多个礼物标识对应。
具体地,在系统中可以事先建立礼物标识到礼物栏的对应关系。在本发明实施例的一种具体实施过程中,这种关系可以以映射表的方式来实现,即在系统进行任务配置时,建立了礼物标识到礼物栏的映射表。当接收到用户赠送的礼物时,通过查找礼物标识到礼物栏的映射表来确定用户赠送的礼物的礼物标识对应的礼物栏。
步骤203:根据送礼请求中各个礼物标识对应的礼物数量,更新至少一个礼物标识对应的礼物栏的标识对应的礼物数量。
在具体实现过程中,可以在用户赠送的礼物的礼物标识对应的礼物栏中显示用户赠送的礼物的图片,当收到礼物请求时,在该礼物栏内该礼物的数量统计值上加上礼物数量即可。
步骤204:采用更新后的至少一个礼物标识对应的礼物栏的标识对应的礼物数量,判断是否完成第一任务。
例如,第一任务完成条件是获取100个爱心,在第一任务开始后的一天时间内,每当任务系统收到一次礼物都查找一次礼物栏中爱心的数量,当且仅当礼物栏中爱心的数量达到100的时候确定第一任务完成。需要说明的是,在第一任务的起止时间内,任务系统收到的礼物可能不是爱心,因此,还可以仅在收到爱心时,对第一任务是否完成进行一次判断。同时,为了避免任务系统频繁地进行判断,也可以设置为每隔一段时间进行一次判断,例如,在第一任务开始后,每隔10秒钟进行一次判断,如果某次查找到的礼物栏中爱心的数量大于100时,则确认第一任务完成。
本发明实施例通过在接收到送礼请求后,根据设定的礼物标识与礼物栏的对应关系,确定送礼请求中礼物标识对应的礼物栏的标识,再根据送礼请求中各个礼物标识对应的礼物数量,更新礼物栏的标识对应的礼物数量,最后采用更新后的礼物标识对应的礼物栏的标识对应的礼物数量,判断是否完成第一任务;由于存在礼物标识与礼物栏的对应关系,因此不需要采用代码去描述礼物栏对应的礼物标识,减小了代码量,当需要变更礼物栏对应的礼物标识时,只需要通过修改对应关系即可,另外每个礼物栏可以对应多种礼物标识,因此当任务完成条件是统计几种礼物数量的和时,只需要确定一个礼物栏的礼物数量即可实现,程序简单。
实施例二
本发明实施例提供了一种基于数据驱动的任务实现方法,参见图3,该方法包括:
步骤301:获取任务配置表,任务配置表包括多个第一任务的任务配置以及各个第一任务的任务配置对应的起止时间,第一任务的任务配置包括第一任务的名称以及第一任务的完成条件。
具体地,在服务器启动时将任务配置表加载到服务端缓存中,获取任务配置表即从服务端缓存中调用相应的任务配置表。其中,任务配置表包括多个第一任务的任务配置以及各个第一任务的任务配置对应的起止时间。这里的第一任务可以是子任务也可以是主任务,主任务是指可以通过完成多个子任务来完成的任务。当然主任务和子任务一样都可以通过获得礼物来完成。需要说明的是,为了满足任务的多样性的特点,第一任务可能同时包括多种完成方式,例如,第一种礼物数量达到规定值或者第二种礼物数量达到规定值,这里只要其中任一数量达到规定值即可。
步骤302:比较当前所处时间与任务配置表中各个第一任务的任务配置对应的起止时间。
具体地,当前所处时间可以是通过服务器内的时钟模块来获得的系统时间,也可以是通过服务器内的网络模块获得的网络时间。
步骤303:如果当前所处时间处于任务配置表中一个或多个起止时间内,则输出任务配置表中一个或多个起止时间对应的第一任务的任务配置。
具体地,根据步骤302比较的出的结果,如果当前所处时间处于任务配置表中一个或多个起止时间内,则输出任务配置表中一个或多个起止时间对应的第一任务的任务配置。例如,任务配置表中第一任务的任务配置对应的起止时间为6月1日到6月3日,而当前所处时间为6月2日,则可输出该第一任务的任务配置。
第一任务的任务配置包括第一任务的名称以及第一任务完成条件,第一任务完成条件包括:指定礼物栏中的礼物数量达到规定值,礼物栏用于存放一种或多种礼物。
例如,第一任务的名称为小有成就,第一任务完成条件是获得20朵鲜花与两颗钻石。
步骤304:接收送礼请求,送礼请求包括至少一个礼物标识和与各个礼物标识对应的礼物数量。
例如,送礼请求中包括鲜花的标识和钻石的标识,鲜花的标识对应礼物数量为10,钻石的标识对应礼物数量为1。
其中,礼物标识是礼物区别于其他礼物的特定标记,可以是礼物的名称,例如:“汽车”、“鲜花”等;也可以是礼物的编号,例如将15种不同的礼物分别编号为A-O 15个字母,通过编号就可以确定是哪一种礼物。显而易见地,设置礼物编号并不以A-O这15个字母为限,也可以包含更多的字母,也可以使用数字或其他形式进行编号,本发明实施例并不以此为限。另外,为了方便后期任务统计以及经验计算,可以将一个礼物栏对应的礼物设计成经验相等的礼物。
另外,接收到用户送出的礼物时,还可以将用户赠送的礼物进行记录,以便后期进行礼物对账,防止礼物系统出错。对账时可以结合主播主任务完成表和主播子任务完成表来实现,其中主播主任务完成表和主播子任务完成表分别用来记录主播主任务和子任务的完成情况。
步骤305:根据设定的礼物标识与礼物栏的对应关系,确定至少一个礼物标识对应的礼物栏的标识,一个礼物栏与一个或多个礼物标识对应。
具体地,在系统中可以事先建立礼物标识到礼物栏的对应关系。在本发明实施例的一种具体实施过程中,这种关系可以以映射表的方式来实现,即在系统进行任务配置时,建立了礼物标识到礼物栏的映射表。当接收到用户赠送的礼物时,通过查找礼物标识到礼物栏的映射表来确定用户赠送的礼物的礼物标识对应的礼物栏。
在具体实现时,可以采用元数据表来实现上述映射表,元数据表将礼物标识和礼物栏绑定。
步骤306:根据送礼请求中各个礼物标识对应的礼物数量,更新至少一个礼物标识对应的礼物栏的标识对应的礼物数量。
在具体实现过程中,可以在用户赠送的礼物的礼物标识对应的礼物栏中显示用户赠送的礼物的图片,当收到礼物请求时,在该礼物栏内该礼物的数量统计值上加上礼物数量即可。
步骤307:采用更新后的至少一个礼物标识对应的礼物栏的标识对应的礼物数量,判断是否完成第一任务。
在本实施例中,判断是否完成第一任务,包括:
步骤一、获取第一任务的完成条件,第一任务的完成条件包括:指定礼物栏中的礼物数量达到规定值。
步骤二、统计第一任务的完成条件中指定礼物栏中各种礼物的数量。
步骤三、当指定礼物栏中各种礼物的数量达到第一任务的完成条件中规定的数量时,确定第一任务完成。
具体地,判断第一任务是否完成可以包括多种方式,在本发明实施例的一种具体的实施方式中,可以每当收到用户赠送的礼物时,即对第一任务的任务完成条件进行检测,如果能够满足任务完成条件要求的礼物数量,则确定第一任务完成。在本发明实施例的另一种具体的实施方式中,可以周期性地对第一任务的任务完成条件进行检测,如果能够满足任务完成条件要求的礼物数量,则确定第一任务完成。
例如,第一任务完成条件是获取100个爱心,在第一任务开始后的一天时间内,每当任务系统收到一次礼物都查找一次礼物栏中爱心的数量,当且仅当礼物栏中爱心的数量达到100的时候确定第一任务完成。需要说明的是,在第一任务的起止时间内,任务系统收到的礼物可能不是爱心,因此,还可以仅在收到爱心时,对第一任务是否完成进行一次判断。同时,为了避免任务系统频繁地进行判断,也可以设置为每隔一段时间进行一次判断,例如,在第一任务开始后,每隔10秒钟进行一次判断,如果某次查找到的礼物栏中爱心的数量大于100时,则确认第一任务完成。
进一步地,该方法还包括:
当判断第一任务完成时,执行与第一任务完成对应的回调函数,回调函数用于向指定用户发送通知、在频道内进行广播或者为主播增加经验值。
具体地,主播经验值在任务完成和得到礼物时均会增加,下面结合具体例子对主播经验值计算进行介绍,例如:完成第一任务总共需要获得99朵玫瑰和2颗钻石,其中,获取每个玫瑰能够获得经验值100点,获取每个钻石能够获得经验值10000点,完成第一任务奖励经验值50000点。则主播一共获得经验值99*100+2*10000+50000=79900点。
当主播经验值达到一定量时,可以完成升级。
步骤308:判断第二任务是否完成。
在这种实现方式中,将前文中第一任务作为该第二任务的子任务。
具体地,该步骤308可以包括:
步骤一、获取第二任务的完成条件,第二任务的完成条件包括:指定的一个或多个第一任务完成。
步骤二、确定指定的一个或多个第一任务是否完成。
步骤三、如果指定的一个或多个第一任务完成,则确定第二任务完成。
具体地,这里将第一任务作为第二任务的子任务,根据判断第二任务完成条件中规定的第一任务的完成情况,即可确定第二任务是否完成。例如,第二任务为周任务,第一任务为日常任务;或者第二任务为大关任务,第一任务为小关任务。
进一步地,任务配置表中还包括多个第二任务的任务配置以及各个第二任务的任务配置对应的起止时间,第二任务的任务配置包括第二任务的名称以及第二任务的完成条件。
在系统中还可以设计主播主任务完成表和主播子任务完成表来记录主播主任务和子任务完成情况。
本发明实施例通过在接收到送礼请求后,根据设定的礼物标识与礼物栏的对应关系,确定送礼请求中礼物标识对应的礼物栏的标识,再根据送礼请求中各个礼物标识对应的礼物数量,更新礼物栏的标识对应的礼物数量,最后采用更新后的礼物标识对应的礼物栏的标识对应的礼物数量,判断是否完成第一任务;由于存在礼物标识与礼物栏的对应关系,因此不需要采用代码去描述礼物栏对应的礼物标识,减小了代码量,当需要变更礼物栏对应的礼物标识时,只需要通过修改对应关系即可,另外每个礼物栏可以对应多种礼物标识,因此当任务完成条件是统计几种礼物数量的和时,只需要确定一个礼物栏的礼物数量即可实现,程序简单。
实施例三
本发明实施例提供了一种基于数据驱动的任务实现装置,该装置可以设于服务器上,也可以与服务器连接,参见图4,该装置包括:
接收模块401,用于接收送礼请求,送礼请求包括至少一个礼物标识和与各个礼物标识对应的礼物数量。
例如,送礼请求中包括鲜花的标识和钻石的标识,鲜花的标识对应礼物数量为10,钻石的标识对应礼物数量为1。
其中,礼物标识是礼物区别于其他礼物的特定标记,可以是礼物的名称,例如:“汽车”、“鲜花”等;也可以是礼物的编号,例如将15种不同的礼物分别编号为A-O 15个字母,通过编号就可以确定是哪一种礼物。显而易见地,设置礼物编号并不以A-O这15个字母为限,也可以包含更多的字母,也可以使用数字或其他形式进行编号,本发明实施例并不以此为限。另外,为了方便后期任务统计以及经验计算,可以将一个礼物栏对应的礼物设计成经验相等的礼物。
确定模块402,用于根据设定的礼物标识与礼物栏的对应关系,确定至少一个礼物标识对应的礼物栏的标识,一个礼物栏与一个或多个礼物标识对应。
具体地,在系统中可以事先建立礼物标识到礼物栏的对应关系。在本发明实施例的一种具体实施过程中,这种关系可以以映射表的方式来实现,即在系统进行任务配置时,建立了礼物标识到礼物栏的映射表。当接收到用户赠送的礼物时,通过查找礼物标识到礼物栏的映射表来确定用户赠送的礼物的礼物标识对应的礼物栏。
更新模块403,用于根据送礼请求中各个礼物标识对应的礼物数量,更新至少一个礼物标识对应的礼物栏的标识对应的礼物数量。
在具体实现过程中,可以在用户赠送的礼物的礼物标识对应的礼物栏中显示用户赠送的礼物的图片,当收到礼物请求时,在该礼物栏内该礼物的数量统计值上加上礼物数量即可。
判断模块404,用于采用更新后的至少一个礼物标识对应的礼物栏的标识对应的礼物数量,判断是否完成第一任务。
例如,第一任务完成条件是获取100个爱心,在第一任务开始后的一天时间内,每当任务系统收到一次礼物都查找一次礼物栏中爱心的数量,当且仅当礼物栏中爱心的数量达到100的时候确定第一任务完成。需要说明的是,在第一任务的起止时间内,任务系统收到的礼物可能不是爱心,因此,还可以仅在收到爱心时,对第一任务是否完成进行一次判断。同时,为了避免任务系统频繁地进行判断,也可以设置为每隔一段时间进行一次判断,例如,在第一任务开始后,每隔10秒钟进行一次判断,如果某次查找到的礼物栏中爱心的数量大于100时,则确认第一任务完成。
本发明实施例通过在接收到送礼请求后,根据设定的礼物标识与礼物栏的对应关系,确定送礼请求中礼物标识对应的礼物栏的标识,再根据送礼请求中各个礼物标识对应的礼物数量,更新礼物栏的标识对应的礼物数量,最后采用更新后的礼物标识对应的礼物栏的标识对应的礼物数量,判断是否完成第一任务;由于存在礼物标识与礼物栏的对应关系,因此不需要采用代码去描述礼物栏对应的礼物标识,减小了代码量,当需要变更礼物栏对应的礼物标识时,只需要通过修改对应关系即可,另外每个礼物栏可以对应多种礼物标识,因此当任务完成条件是统计几种礼物数量的和时,只需要确定一个礼物栏的礼物数量即可实现,程序简单。
实施例四
本发明实施例提供了一种基于数据驱动的任务实现装置,该装置可以设于服务器上,也可以与服务器连接,参见图5,该装置包括:
接收模块501,用于接收送礼请求,送礼请求包括至少一个礼物标识和与各个礼物标识对应的礼物数量。
例如,送礼请求中包括鲜花的标识和钻石的标识,鲜花的标识对应礼物数量为10,钻石的标识对应礼物数量为1。
其中,礼物标识是礼物区别于其他礼物的特定标记,可以是礼物的名称,例如:“汽车”、“鲜花”等;也可以是礼物的编号,例如将15种不同的礼物分别编号为A-O 15个字母,通过编号就可以确定是哪一种礼物。显而易见地,设置礼物编号并不以A-O这15个字母为限,也可以包含更多的字母,也可以使用数字或其他形式进行编号,本发明实施例并不以此为限。另外,为了方便后期任务统计以及经验计算,可以将一个礼物栏对应的礼物设计成经验相等的礼物。
另外,接收到用户送出的礼物时,还可以将用户赠送的礼物进行记录,以便后期进行礼物对账,防止礼物系统出错。对账时可以结合主播主任务完成表和主播子任务完成表来实现,其中主播主任务完成表和主播子任务完成表分别用来记录主播主任务和子任务的完成情况。
确定模块502,用于根据设定的礼物标识与礼物栏的对应关系,确定至少一个礼物标识对应的礼物栏的标识,一个礼物栏与一个或多个礼物标识对应。
具体地,在系统中可以事先建立礼物标识到礼物栏的对应关系。在本发明实施例的一种具体实施过程中,这种关系可以以映射表的方式来实现,即在系统进行任务配置时,建立了礼物标识到礼物栏的映射表。当接收到用户赠送的礼物时,通过查找礼物标识到礼物栏的映射表来确定用户赠送的礼物的礼物标识对应的礼物栏。
在具体实现时,可以采用元数据表来实现上述映射表,元数据表将礼物标识和礼物栏绑定。
更新模块503,用于根据送礼请求中各个礼物标识对应的礼物数量,更新至少一个礼物标识对应的礼物栏的标识对应的礼物数量。
在具体实现过程中,可以在用户赠送的礼物的礼物标识对应的礼物栏中显示用户赠送的礼物的图片,当收到礼物请求时,在该礼物栏内该礼物的数量统计值上加上礼物数量即可。
判断模块504,用于采用更新后的至少一个礼物标识对应的礼物栏的标识对应的礼物数量,判断是否完成第一任务。
在本实施例中,判断模块504包括:
第一获取单元5041,用于获取第一任务的完成条件,第一任务的完成条件包括:指定礼物栏中的礼物数量达到规定值;
统计单元5042,用于统计第一任务的完成条件中指定礼物栏中各种礼物的数量;
第一确定单元5043,用于在指定礼物栏中各种礼物的数量达到第一任务的完成条件中规定的数量时,确定第一任务完成。
具体地,判断第一任务是否完成可以包括多种方式,在本发明实施例的一种具体的实施方式中,可以每当收到用户赠送的礼物时,即对第一任务的任务完成条件进行检测,如果能够满足任务完成条件要求的礼物数量,则确定第一任务完成。在本发明实施例的另一种具体的实施方式中,可以周期性地对第一任务的任务完成条件进行检测,如果能够满足任务完成条件要求的礼物数量,则确定第一任务完成。
例如,第一任务完成条件是获取100个爱心,在第一任务开始后的一天时间内,每当任务系统收到一次礼物都查找一次礼物栏中爱心的数量,当且仅当礼物栏中爱心的数量达到100的时候确定第一任务完成。需要说明的是,在第一任务的起止时间内,任务系统收到的礼物可能不是爱心,因此,还可以仅在收到爱心时,对第一任务是否完成进行一次判断。同时,为了避免任务系统频繁地进行判断,也可以设置为每隔一段时间进行一次判断,例如,在第一任务开始后,每隔10秒钟进行一次判断,如果某次查找到的礼物栏中爱心的数量大于100时,则确认第一任务完成。
在本实施例中,判断模块504还包括:
第二获取单元5044,用于获取第二任务的完成条件,第二任务的完成条件包括:指定的一个或多个第一任务完成;
第二确定单元5045,用于确定指定的一个或多个第一任务是否完成;
第三确定单元5046,用于在指定的一个或多个第一任务完成时,确定第二任务完成。
具体地,这里将第一任务作为第二任务的子任务,根据判断第二任务完成条件中规定的第一任务的完成情况,即可确定第二任务是否完成。例如,第二任务为周任务,第一任务为日常任务;或者第二任务为大关任务,第一任务为小关任务。
在系统中还可以设计主播主任务完成表和主播子任务完成表来记录主播主任务和子任务完成情况。
进一步地,装置还包括获取模块505,获取模块505包括:
获取单元5051,用于获取任务配置表,任务配置表包括多个第一任务的任务配置以及各个第一任务的任务配置对应的起止时间,第一任务的任务配置包括第一任务的名称以及第一任务的完成条件。
具体地,在服务器启动时将任务配置表加载到服务端缓存中,获取任务配置表即从服务端缓存中调用相应的任务配置表。其中,任务配置表包括多个第一任务的任务配置以及各个第一任务的任务配置对应的起止时间。这里的第一任务可以是子任务也可以是主任务,主任务是指可以通过完成多个子任务来完成的任务。当然主任务和子任务一样都可以通过获得礼物来完成。需要说明的是,为了满足任务的多样性的特点,第一任务可能同时包括多种完成方式,例如,第一种礼物数量达到规定值或者第二种礼物数量达到规定值,这里只要其中任一数量达到规定值即可。
比较单元5052,用于比较当前所处时间与任务配置表中各个第一任务的任务配置对应的起止时间。具体地,当前所处时间可以是通过服务器内的时钟模块来获得的系统时间,也可以是通过服务器内的网络模块获得的网络时间。
输出单元5053,用于在当前所处时间处于任务配置表中一个或多个起止时间内时,输出任务配置表中一个或多个起止时间对应的第一任务的任务配置。
具体地,根据比较单元5052比较的出的结果,如果当前所处时间处于任务配置表中一个或多个起止时间内,则输出任务配置表中一个或多个起止时间对应的第一任务的任务配置。例如,任务配置表中第一任务的任务配置对应的起止时间为6月1日到6月3日,而当前所处时间为6月2日,则可输出该第一任务的任务配置。
第一任务的任务配置包括第一任务的名称以及第一任务完成条件,第一任务完成条件包括:指定礼物栏中的礼物数量达到规定值,礼物栏用于存放一种或多种礼物。
例如,第一任务的名称为小有成就,第一任务完成条件是获得20朵鲜花与两颗钻石。
进一步地,任务配置表中还包括多个第二任务的任务配置以及各个第二任务的任务配置对应的起止时间,第二任务的任务配置包括第二任务的名称以及第二任务的完成条件。
进一步地,该装置还包括:
执行模块506,用于当判断第一任务完成时,执行与第一任务完成对应的回调函数,回调函数用于向指定用户发送通知、在频道内进行广播或者为主播增加经验值。
具体地,主播经验值在任务完成和得到礼物时均会增加,下面结合具体例子对主播经验值计算进行介绍,例如:完成第一任务总共需要获得99朵玫瑰和2颗钻石,其中,获取每个玫瑰能够获得经验值100点,获取每个钻石能够获得经验值10000点,完成第一任务奖励经验值50000点。则主播一共获得经验值99*100+2*10000+50000=79900点。
当主播经验值达到一定量时,可以完成升级。
本发明实施例通过在接收到送礼请求后,根据设定的礼物标识与礼物栏的对应关系,确定送礼请求中礼物标识对应的礼物栏的标识,再根据送礼请求中各个礼物标识对应的礼物数量,更新礼物栏的标识对应的礼物数量,最后采用更新后的礼物标识对应的礼物栏的标识对应的礼物数量,判断是否完成第一任务;由于存在礼物标识与礼物栏的对应关系,因此不需要采用代码去描述礼物栏对应的礼物标识,减小了代码量,当需要变更礼物栏对应的礼物标识时,只需要通过修改对应关系即可,另外每个礼物栏可以对应多种礼物标识,因此当任务完成条件是统计几种礼物数量的和时,只需要确定一个礼物栏的礼物数量即可实现,程序简单。
需要说明的是:上述实施例提供的基于数据驱动的任务实现装置在完成主播任务时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于数据驱动的任务实现装置与基于数据驱动的任务实现方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。