直播互动方法、装置、服务器及存储介质与流程

文档序号:22686258发布日期:2020-10-28 12:53阅读:132来源:国知局
直播互动方法、装置、服务器及存储介质与流程

本公开涉及互联网直播技术领域,尤其涉及一种直播互动方法、装置、服务器及存储介质。



背景技术:

目前,随着互联网技术的发展,在线直播越来越受到用户的喜爱。主播客户端可以通过互联网在网站上建立在线直播间,观众用户可通过观众客户端进入当前在线广播的直播间进行观看。

在直播过程中,主播可以通过抽奖的方式来提升观众的热情和活跃度,以提高直播过程中的人气。那么,如何高效地抽取出中奖的幸运观众用户,以及时回馈观众,保证观众的抽奖体验,成为亟待解决的技术问题。



技术实现要素:

本公开提供一种直播互动方法、装置、服务器及存储介质,以通过降低直播互动过程中的候选账户的基数,达到降低直播互动过程中的数据获取和计算被抽中账户所耗时长的目的。本公开的技术方案如下:

根据本公开实施例的第一方面,提供一种直播互动方法,包括:

接收第一账户反馈的第一答题信息,所述第一答题信息与第二账户发放的目标题目对应;若所述第一答题信息与预设答案匹配,则当目标账户池中当前存储的账户的第一数量未超过预设数量,且所述第一账户对应的互动参数满足预设条件时,将所述第一账户添加至所述目标账户池中,其中,所述互动参数用于指示所述第一账户对应的互动行为数据;根据所述第二账户发起的抽取指令从所述目标账户池中抽取目标账户。

可选地,当所述目标账户池中当前存储的账户的第一数量未超过预设数量时,在所述将所述第一账户添加至所述目标账户池中之前,所述直播互动方法还包括:

根据对所述第一账户对应的互动参数进行加权求和计算的结果,得到所述第一账户对应的第一互动分数;若所述第一数量小于所述预设数量,且所述第一互动分数大于或等于目标分数,则确定所述第一账户对应的互动参数满足所述预设条件,其中,所述目标分数为所述目标账户池中已存储的账户对应的所有互动分数中的最小值。

可选地,所述直播互动方法还包括:

若所述第一数量小于所述预设数量,所述第一互动分数小于所述目标分数且大于第二互动分数,则确定所述第一账户对应的互动参数满足所述预设条件,其中,所述第二互动分数为候选账户池中已存储的候选账户对应的所有互动分数中的最大值,所述第二互动分数小于所述目标分数,所述候选账户池中已存储的候选账户对应的答题信息与所述预设答案匹配。

可选地,所述直播互动方法还包括:

若所述第一数量小于所述预设数量,所述第一互动分数小于所述第二互动分数,则确定所述第一账户对应的互动参数不满足所述预设条件;将所述第二互动分数对应的候选账户添加至所述目标账户池中。

可选地,所述直播互动方法还包括:

若所述第一数量等于所述预设数量,且所述第一互动分数大于所述目标分数,则确定所述第一账户对应的互动参数满足所述预设条件。

可选地,当所述第一互动分数大于所述目标分数时,所述将所述第一账户添加至所述目标账户池中的步骤,包括:将所述目标账户池中与所述目标分数对应的账户替换为所述第一账户。

可选地,所述第一账户对应的互动参数包括:第一互动参数,用于指示所述第一账户对应的历史被选中状态;第二互动参数,用于指示所述第一账户是否关注所述第二账户;第三互动参数,用于指示所述第一账户对应的答题时长;其中,所述根据对所述第一账户对应的互动参数进行加权求和计算的结果,得到所述第一账户对应的第一互动分数的步骤,包括:

获取所述第一账户对应的所述第一互动参数、所述第二互动参数和所述第三互动参数;生成目标随机数,所述目标随机数的取值大于0且小于1;根据对所述第一互动参数、所述第二互动参数、所述第三互动参数和所述目标随机数进行加权求和计算的结果,得到所述第一互动分数。

可选地,所述直播互动方法还包括:为所述目标账户添加抽中标识。

可选地,所述直播互动方法还包括:

接收来自第三账户的抽取结果查询请求;向所述第三账户反馈与所述抽取结果查询请求对应的响应信息,所述响应信息用于指示所述第三账户是否属于所述目标账户。

根据本公开实施例的第二方面,提供一种直播互动装置,包括:

接收模块,被配置为执行接收第一账户反馈的第一答题信息,所述第一答题信息与第二账户发放的目标题目对应;处理模块,被配置为执行若所述第一答题信息与预设答案匹配,则当目标账户池中当前存储的账户的第一数量未超过预设数量,且所述第一账户对应的互动参数满足预设条件时,将所述第一账户添加至所述目标账户池中,其中,所述互动参数用于指示所述第一账户对应的互动行为数据;抽取模块,被配置为执行根据所述第二账户发起的抽取指令从所述目标账户池中抽取目标账户。

可选地,所述处理模块包括:计算子模块和确定子模块。

其中,所述计算子模块,被配置为执行当所述目标账户池中当前存储的账户的第一数量未超过预设数量时,在所述将所述第一账户添加至所述目标账户池中之前,根据对所述第一账户对应的互动参数进行加权求和计算的结果,得到所述第一账户对应的第一互动分数;所述确定子模块,被配置为执行若所述第一数量小于所述预设数量,且所述第一互动分数大于或等于目标分数,则确定所述第一账户对应的互动参数满足所述预设条件,其中,所述目标分数为所述目标账户池中已存储的账户对应的所有互动分数中的最小值。

可选地,所述确定子模块,还被配置为执行:

若所述第一数量小于所述预设数量,所述第一互动分数小于所述目标分数且大于第二互动分数,则确定所述第一账户对应的互动参数满足所述预设条件,其中,所述第二互动分数为候选账户池中已存储的候选账户对应的所有互动分数中的最大值,所述第二互动分数小于所述目标分数,所述候选账户池中已存储的候选账户对应的答题信息与所述预设答案匹配。

可选地,所述处理模块还包括添加子模块。

其中,所述确定子模块,还被配置为执行:若所述第一数量小于所述预设数量,所述第一互动分数小于所述第二互动分数,则确定所述第一账户对应的互动参数不满足所述预设条件;所述添加子模块,被配置为执行:将所述第二互动分数对应的候选账户添加至所述目标账户池中。

可选地,所述确定子模块,还被配置为执行:

若所述第一数量等于所述预设数量,且所述第一互动分数大于所述目标分数,则确定所述第一账户对应的互动参数满足所述预设条件。

可选地,所述处理模块还包括替换子模块,被配置为执行当所述第一互动分数大于所述目标分数时,将所述目标账户池中与所述目标分数对应的账户替换为所述第一账户。

可选地,所述第一账户对应的互动参数包括:第一互动参数,用于指示所述第一账户对应的历史被选中状态;第二互动参数,用于指示所述第一账户是否关注所述第二账户;第三互动参数,用于指示所述第一账户对应的答题时长。

其中,所述计算子模块,具体被配置为执行:

获取所述第一账户对应的所述第一互动参数、所述第二互动参数和所述第三互动参数;生成目标随机数,所述目标随机数的取值大于0且小于1;根据对所述第一互动参数、所述第二互动参数、所述第三互动参数和所述目标随机数进行加权求和计算的结果,得到所述第一互动分数。

可选地,所述直播互动装置,还包括:添加模块,被配置为执行为所述目标账户添加抽中标识。

可选地,所述直播互动装置,还包括:

接收模块,被配置为执行接收来自第三账户的抽取结果查询请求;反馈模块,被配置为执行向所述第三账户反馈与所述抽取结果查询请求对应的响应信息,所述响应信息用于指示所述第三账户是否属于所述目标账户。

根据本公开实施例的第三方面,提供一种服务器,包括:

处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如前述的直播互动方法。

根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由服务器中的处理器执行时,使得服务器能够执行如前述的直播互动方法。

根据本公开实施例的第五方面,提供一种计算机程序产品,包括至少一种非临时性的计算机可读介质,存储由至少一个处理器可翻译的指令,用于实施前述的直播互动方法。

本公开实施例采用的上述至少一个技术方案能够达到以下有益效果:

在主播通过其对应的账户即第二账户进行直播的过程中,为了提升观众的热情和活跃度等,可以通过向直播间的在线观众用户发布问答题目的方式发起直播互动,并在接收到该直播间的在线观众用户通过其对应的账户即第一账户反馈的针对第二账户发送的目标题目的答题信息时,对其准确性进行判断。进一步地,在第一账户反馈的第一答题信息与该目标题目的正确的预设答案匹配即当前参与答题的观众用户答对题目,用于存储答对题目的账户的目标账户池未超出其存储上限即预设数量,且当前答对题目的第一账户满足要求即用于指示其对应的互动行为数据的互动参数满足预设条件的情况下,可以将该第一账户添加到目标账户池中备用,从而可以在答题互动结束后,根据主播通过其账户发起的抽取指令,以目标账户池中的有限的账户为基础进行目标账户的抽取。如此可知,为了高效地抽取出目标账户,及时回馈观看直播的观众用户,保证观众参与直播互动的体验,可以对目标账户池中能够容纳的备用抽取的账户的总数进行限制,以保障直播互动过程中作为抽取目标账户的基础的账户数据总量更小,降低直播互动过程中的数据获取和计算被抽中账户所耗费的时长。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处所说明的附图用来提供对本公开的进一步理解,构成本公开的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:

图1是根据一示例性实施例示出的一种直播互动方法的流程图。

图2是根据一示例性实施例示出的一种直播互动方法的应用场景示意图。

图3是根据一示例性实施例示出的一种直播互动方法的交互流程图。

图4是根据一示例性实施例示出的一种直播互动装置的框图。

图5是根据一示例性实施例示出的一种服务器的框图。

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

具体实施方式

为使本公开的目的、技术方案和优点更加清楚,下面将结合本公开具体实施例及相应的附图对本公开技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

以下结合附图,详细说明本公开各实施例提供的技术方案。

实施例一

请结合参阅图1,是根据一示例性实施例示出的一种直播互动方法的流程图,该直播互动方法可以由服务器执行。参照图1,直播互动方法可以包括如下所示的步骤:

s11,接收第一账户反馈的第一答题信息,所述第一答题信息与第二账户发放的目标题目对应。

可选地,进入第二账户对应的直播间参与互动答题的账户可以有一个或多个,上述第一账户为参与互动答题的账户中的一个。主播其对应的第二账户发起直播互动后,服务器可以接收参与互动答题的各账户反馈的针对目标题目的答题信息。

s13,若所述第一答题信息与预设答案匹配,则当目标账户池中当前存储的账户的第一数量未超过预设数量,且所述第一账户对应的互动参数满足预设条件时,将所述第一账户添加至所述目标账户池中,其中,所述互动参数用于指示所述第一账户对应的互动行为数据。

可选地,预设答案与目标题目对应,为该目标题目提前设置好的正确答案,在接收到第一账户反馈的第一答题信息后,则可以将该第一答题信息与该目标题目对应的预设答案进行准确性比对,在确定该第一答题信息与预设答案匹配的情况下,需要进一步考虑目标账户池中是否还有剩余空间容纳新的账户以及该第一账户对应的用于指示其互动行为数据的互动参数是否满足要求,若是,则可以将该第一账户添加到目标账户池中作为用于抽取目标账户的候选账户。

其中,上述预设数量可以为由第二账户对应的主播通过其客户端在答题互动活动开始之前指定的用于抽取目标账户的候选账户的数量。可选地,该预设数量可以至少与当前已经进入直播间参与互动的账户的数量和准备的奖品数量等中的至少一项有关。

需要说明的是,在一些情况下,该预设数量可以大于或者等于答对该目标题目的账户的总数,此时,所有答对该目标题目的账户均可以作为候选账户进入目标账户池中,说明无需对答对题目的账户进行筛选直接存储到目标账户池中。在另一些情况下,该预设数量可以小于答对该目标题目的账户的总数,此时,仅会有部分答对该目标题目的账户可以作为候选账户进入目标账户池中,说明需要从答对题目的账户中筛选出预设数量的账户加入到目标账户池中。另外,该预设数量应该大于或者等于最终被抽中的目标账户的数量。本实施例对预设数量的取值对不做具体限制。

s15,根据所述第二账户发起的抽取指令从所述目标账户池中抽取目标账户。

可以理解,在观众用户答题环节结束后,主播可以发起抽奖环节。可选地,主播可以通过主播客户端设置预留给各观众用户进行答题的时长。当预留的答题时长结束后,既可以由主播手动发起抽取目标账户的环节,也可以自动触发抽取目标账户的环节。

在该实施例中,在主播通过其对应的账户即第二账户进行直播的过程中,为了提升观众的热情和活跃度等,可以通过向直播间的在线观众用户发布问答题目的方式发起直播互动,并在接收到该直播间的在线观众用户通过其对应的账户即第一账户反馈的针对第二账户发送的目标题目的答题信息时,对其准确性进行判断。进一步地,在第一账户反馈的第一答题信息与该目标题目的正确的预设答案匹配即当前参与答题的观众用户答对题目,用于存储答对题目的账户的目标账户池未超出其存储上限即预设数量,且当前答对题目的第一账户满足要求即用于指示其对应的互动行为数据的互动参数满足预设条件的情况下,可以将该第一账户添加到目标账户池中备用,从而可以在答题互动结束后,根据主播通过其账户发起的抽取指令,以目标账户池中的有限的账户为基础进行目标账户的抽取。如此可知,为了高效地抽取出目标账户,及时回馈观看直播的观众用户,保证观众参与直播互动的体验,可以对目标账户池中能够容纳的备用抽取的账户的总数进行限制,以保障直播互动过程中作为抽取目标账户的基础的账户数据总量更小,降低直播互动过程中的数据获取和计算被抽中账户所耗费的时长。

进一步,在该实施例中,若上述答题信息与预设答案不匹配,则可以向对应的观众客户端反馈答题错误的相关信息。

进一步,在该实施例中,上述步骤s13中的当所述目标账户池中当前存储的账户的第一数量未超过预设数量时,在所述将所述第一账户添加至所述目标账户池中之前,所述方法还可以实现如下过程:

根据对所述第一账户对应的互动参数进行加权求和计算的结果,得到所述第一账户对应的第一互动分数;若所述第一数量小于所述预设数量,且所述第一互动分数大于或等于目标分数,则确定所述第一账户对应的互动参数满足所述预设条件,其中,所述目标分数为所述目标账户池中已存储的账户对应的所有互动分数中的最小值。

在该实施例中,若目标账户池仍有空间容纳答对题目的第一账户,可以基于答对目标题目的第一账户对应的互动参数进行加权求和计算出该第一账户对应的第一互动分数,并在确定该第一互动参数大于或等于目标分数时,认为该第一账户对应的互动参数满足能够进入目标账户池的要求即满足预设条件,即说明该第一账户有进入目标账户池的资格。如此,可以将答对目标题目的账户中对应的互动分数较高的账户筛选出来加入目标账户池中,以更好地回馈直播平台的观众用户,进一步提升观众用户的热情和活跃度。

需要说明的是,上述目标分数非固定值,而是可动态变化的,当目标账户池中已存储的账户对应的所有互动分数中的最小值发生变化时,该目标分数即随着变化。

进一步,在该实施例的直播互动方法中,还可以包括以下内容:

若所述第一数量小于所述预设数量,所述第一互动分数小于所述目标分数且大于第二互动分数,则确定所述第一账户对应的互动参数满足所述预设条件,其中,所述第二互动分数为候选账户池中已存储的候选账户对应的所有互动分数中的最大值,所述第二互动分数小于所述目标分数,所述候选账户池中已存储的候选账户对应的答题信息与所述预设答案匹配。

在该实施例中,若目标账户池仍有空间容纳答对题目的第一账户,则为了确保进入目标账户池中的账户对应的互动分数是所有答对目标题目的账户对应的所有互动分数中较高的一部分,则当前答对题目的第一账户对应的第一互动分数小于目标账户池中的互动分数最小值,但却是暂时未进入目标账户池中且答对题目的账户对应的互动分数中最大的,仍可以认为该第一账户对应的互动参数满足能够进入目标账户池的要求即满足预设条件,即说明该第一账户暂时仍有进入目标账户池的资格。如此,可以确保在答题互动过程中,目标账户池始终存储的都是互动分数较高的一部分答对题目的账户。

进一步,在该实施例的直播互动方法中,还可以包括以下内容:

若所述第一数量小于所述预设数量,所述第一互动分数小于所述第二互动分数,则确定所述第一账户对应的互动参数不满足所述预设条件;将所述第二互动分数对应的候选账户添加至所述目标账户池中。

在该实施例中,若目标账户池仍有空间容纳答对题目的第一账户,则为了确保进入目标账户池中的账户对应的互动分数是所有答对目标题目的账户对应的所有互动分数中较高的一部分,则当前答对题目的第一账户对应的第一互动分数小于目标账户池中的互动分数最小值,也不是未进入目标账户池中且答对题目的账户对应的互动分数中最大的情况下,可以认为该第一账户对应的互动参数不满足能够进入目标账户池的要求即满足预设条件,即说明该第一账户暂时没有进入目标账户池的资格。此时,需要将暂时未进入目标账户池中且答对题目的账户对应的互动分数中最大的即第二互动分数对应的候选账户暂时添加到该目标账户池中,以确保在答题互动过程中,目标账户池始终存储的都是互动分数较高的一部分答对题目的账户。

进一步,在该实施例的直播互动方法中,还可以包括以下内容:

若所述第一数量等于所述预设数量,且所述第一互动分数大于所述目标分数,则确定所述第一账户对应的互动参数满足所述预设条件。

在该实施例中,若目标账户池已没有空间容纳答对题目的第一账户,则为了确保在答题互动过程中,目标账户池始终存储的都是互动分数较高的一部分答对题目的账户,可以在该第一互动分数比目标账户池中互动分数的最小值大的情况下,可以认为该第一账户对应的互动参数满足能够进入目标账户池的要求即满足预设条件,即说明该第一账户有进入目标账户池的资格。

进一步,在该实施例的直播互动方法中,当所述第一互动分数大于所述目标分数时,上述s13中的将所述第一账户添加至所述目标账户池中的步骤,可以实现为如下过程:

将所述目标账户池中与所述目标分数对应的账户替换为所述第一账户。

在该实施例中,若目标账户池已没有空间容纳答对题目的第一账户,但该第一互动分数比目标账户池中互动分数的最小值大,即认为该第一账户对应的互动参数满足能够进入目标账户池的要求即满足预设条件时,需要将目标账户池中与目标分数对应的账户从目标账户池中删除,并将该第一账户补入该目标账户池中。

进一步,在该实施例的直播互动方法中,所述第一账户对应的互动参数包括:第一互动参数,用于指示所述第一账户对应的历史被选中状态;第二互动参数,用于指示所述第一账户是否关注所述第二账户;第三互动参数,用于指示所述第一账户对应的答题时长。

其中,所述根据对所述第一账户对应的互动参数进行加权求和计算的结果,得到所述第一账户对应的第一互动分数的步骤,可以实现为如下过程:

获取所述第一账户对应的所述第一互动参数、所述第二互动参数和所述第三互动参数;生成目标随机数,所述目标随机数的取值大于0且小于1;根据对所述第一互动参数、所述第二互动参数、所述第三互动参数和所述目标随机数进行加权求和计算的结果,得到所述第一互动分数。

在该实施例中,确定第一账户对应的第一互动分数时,可以至少综合考虑该第一账户对应的历史被选中状态即是否被选中过、是否已关注发起当前直播互动活动的第二账户以及该第一账户答对目标题目所使用的答题时长等互动参数,并结合为该第一账户生成的目标随机数进行加权求和计算,以得到能够准确地反应该第一账户对应的观众用户对直播平台和相应主播及其直播间的关注度,从而可以择优地筛选出能够进入目标账户池中的账户,进一步提升观众用户的热情和活跃度;同时,通过为每个答对目标题目的账户分配相应的随机数,可以确保抽奖过程中的公平公正性。

可选地,在基于所述第一互动参数、所述第二互动参数、所述第三互动参数和所述目标随机数进行加权求和计算时,可以将各抽奖参数和目标随机数分别与各自对应的权重进行相乘,然后将两两相乘的结果进行加和,得到对应的候选抽奖分数。可选地,各抽奖参数和目标随机数分别对应的权重的总和为1。

在一个示例中,直播答题互动活动中的答题环节设置的总时长为120分钟,若当前第一账户对应的观众用户答对目标题目所用的答题时长(即从发布目标题目的时刻到用户答对题目的时刻之间的时间差)为30分钟,该观众用户已关注当前主播对应的第二账户,且该观众用户在该当前主播历史发起的直播互动活动中无被选中的记录。进一步,可以将无被选中的记录对应的参数“1”作为第一互动参数,将已关注该当前第二账户对应的参数“1”作为第二互动参数,将“1”与答题时长与总时长的比值之差即“1-0.25=0.75”作为第三互动参数,以及为该第一账户随机分配的目标随机数为“0.8”。进一步,各抽奖参数与目标随机数分别对应的权重均为0.25,则经过加权求和计算后,该第一账户所得的第一互动分数为:1×0.25+1×0.25+0.75×0.25+0.8×0.25=0.8875。其中,该第一账户对应的观众用户答对目标题目所用的时长越短则对应的第三互动参数的取值越大。

需要说明的是,第一账户的历史被选中状态可以是针对当前第二账户对应的主播发起过的历史直播互动活动和/或当前直播平台发起过的历史直播互动活动;其中,历史被选中状态可以包括是否被选中、被选中次数和一段时期内的被选中频率等中的至少一项。另外,用于确定该第一账户对应的第一互动分数的互动参数包括但不限于上述三个参数,比如还可以包括该第一账户关注当前第二账户的时长、第一账户在当前直播平台的注册时长、登录直播平台的频率等等,可以根据实际情况进行设置。进一步地,各互动参数与目标随机数分别对应的权重的大小,可以根据对抽取结果的影响程度大小等实际情况进行设置。

进一步,在该实施例中,当将答对目标题目的第一账户选作用于抽取目标账户的候选账户添加至目标账户池时,还可以实现如下过程:

将所述第一账户和所述第一互动分数关联添加至所述目标账户池中。

可以理解,通过将筛选出的用于抽取目标账户的账户标识及其对应的互动分数存储至目标账户池中,有利于目标账户的抽取。

进一步,在该实施例的直播互动方法中,还可以实现如下过程:为所述目标账户添加抽中标识。

在该实施例中,为了便于识别出被选中的目标账户,可以为被抽取出的目标账户添加抽中标识。

进一步,在该实施例的直播互动方法中,还可以实现如下过程:

接收来自第三账户的抽取结果查询请求;向所述第三账户反馈与所述抽取结果查询请求对应的响应信息,所述响应信息用于指示所述第三账户是否属于所述目标账户。

在该实施中,可以对观众用户即第三账户对应的观众用户的抽取结果查询需求进行及时响应,具体可以基于第三账户的账户标识查询其是否具有抽中标识,实现是否为被抽中的目标账户的准确查询。

为了能够清楚的对本实施例中给出的直播互动方法的实现过程进行介绍,如图2所示,是根据一示例性实施例示出的直播互动方法的一种可能的应用场景示意图,该应用场景可以包括直播服务器(对应于图1所示方法的执行主体服务器,如直播平台的后台应用程序接口(applicationprogramminginterface,api)服务器)、重申(redis)服务器、数据库服务器(如mysql数据库)、多个主播客户端(对应第二账户)和多个观众客户端(对应第一账户),直播服务器与redis服务器、数据库服务器、多个主播客户端以及多个观众客户端分别连接,直播服务器上可运行并维护有多个直播间,redis服务器用于对各直播间的直播运行数据进行缓存(如用于缓存答对抽奖题目的观众用户信息等)、数据库服务器用于对直播间的运行状态等进行保存,如用于存储直播互动的题目信息等。

本实施例中,上述主播客户端和观众客户端可以包括集合群聊、视频直播、频道k歌、在线游戏、在线影视等功能为一体的富媒体。上述直播间可以是直播服务器创建的一种虚拟空间(或虚拟房间),主播客户端与至少一个观众客户端可以进入到该虚拟空间,位于该虚拟空间内的观众客户端可以不仅观看主播客户端的直播内容,还可以和主播客户端进行语音或文字的交互,例如,主播客户端可以在当前在线频道中与当前观看直播的观众用户通过抽奖的形式互动等。直播间可以具有对应的标识信息,该标识信息可以是但不限于直播间的房间号等。

在图2所示的应用场景中,直播过程中,主播客户端与直播服务器之间可以建立有两种连接,一种是基于实时消息传输协议(realtimemessagingprotocol,rtmp)或者快手传输协议(kwaitransportprotocol,ktp)等建立的用于实现视频、音频等数据流的推送和拉取(推送视频流、拉取视频流,分别对应主播和观众的视频录像行为和视频播放行为)。另一种是基于传输控制协议(transmissioncontrolprotocol,tcp)等建立的长连接服务,用于实现一些自定义业务,如发送红包、发送礼物、问题竞答等业务。其中,主播客户端和观众客户端包括但不限于桌面计算机、智能手机、移动电脑、平板电脑、媒体播放器、智能电视、智能眼镜等电子设备;各客户端可以通过基于超文本传输协议(hypertexttransportprotocol,http)建立的短连接服务向直播服务器发起api请求。当然,本申请实施例提供的方法并不限用于图1所示的应用场景中,还可以用于其它可能的应用场景,本申请实施例并不进行限制。对于图1所示的应用场景的各个设备所能实现的功能将在后续的方法实施例中一并进行描述,在此先不过多赘述。

需要理解的是,在实际应用中,上述应用场景可以包括更多或更少的设备,例如,图2中示出的redis服务器、数据库服务器以及直播服务器上涉及的所有功能可以由一个独立的服务器实现等。

进一步可选地,结合参阅图2和图3,结合一种可能的实现方式对本实施例中给出的直播互动方法进行说明。其中,直播服务器为api服务器。该方法主要包括以下几个阶段:

(1)第一阶段:主播发题阶段

在该阶段,主播可以通过主播客户端向api服务器发送发题请求,主播发题后,通过后端api服务器进行发题,以将题目添加至题库存储服务器中以作备用,添加完成后告知api服务器,并由api服务器向主播客户端反馈题目添加成功的消息。进一步地,可以通过长连接服务从题库存储服务器中拉取题目并逐步下发给观众客户端,供直播间中参与抽奖的观众用户进行答题。

(2)第二阶段:观众答题阶段

在该阶段,观众用户针对主播发布的抽奖题目(对应于目标题目)选择一个选项进行作答,通过后端api服务器提交答案(对应于第一答题信息),api服务器根据观众用户选择的选项和从题库缓存服务器中获取到的题目信息(至少可以包括抽奖题目内容及其对应的答案)判断观众用户是否答对;对于答错的观众用户,可选地可以向对应的观众客户端直接返回判断结果即回答错误。

对于答对的观众用户,可以进一步地,基于从redis缓存服务器中获取到的是否已中过奖的查询结果,得到param1(对应于第一互动参数),基于从redis缓存服务器中获取到的用户是否已关注主播的查询结果,得到param2(对应于第二互动参数),基于从redis缓存服务器中获取到的观众用户的作答时间,得到param3(对应于第三互动参数),以及生成一个位于(0,1]区间的目标随机数。进而,可以基于以上参数、生成的目标随机数及其对应的权重,加权求和计算得到一个对应的权重值。进一步地,可以该权重值为该答对题目的观众用户的答题分数(对应于第一互动分数)、用户标识id为fieldkey,将二者关联更新存储至rediszset数据结构中,以作为候选抽奖池(对应于目标账户池)中的候选抽奖/观众用户(candidateusers)。判断候选抽奖池中的candidateusers的数量是否超过指定长度,超过则按分数高低排序仅保留最高l个用户,其中l为指定参数,比如可以取100,并更新存储至rediszset数据结构中。

(3)第三阶段:抽奖阶段

在该阶段,主播通过后端api服务器发起抽奖,从redis存储服务器中取出候选抽奖池中的candidateusers,由于上述流程保证了候选抽奖池中仅最多存储l个答对题目的观众用户,因此会较高效地返回拉取的候选观众用户。进一步地,从candidateusers随机选k个用户,作为幸运观众用户(对应于目标账户),存储为luckusers,并可以返回luckusers至主播客户端进行展示。对幸运观众用户进行回馈时,至少可以包括有线上发放系统内虚拟物回馈和线下回馈两种方式。

在该实施例中,通过以条件、概率/权重计算用户分数,取高分用户提前抽取的策略,即通过提前筛选抽奖候选池中的观众用户,有效降低了抽奖侯选池中的候选观众用户数量,解决了大key问题,从而保障了开奖过程中需要获取的数据量更小,拉取抽奖侯选池及抽奖计算过程都会更快,有效解决了开奖过程耗时长的问题。

相较于相关技术,直接将存储的全量正确作答的观众用户作为中奖的幸运观众的抽奖候选池,在主播提示停止作答并开始抽取幸运观众后,再从该抽奖侯选池中随机抽取指定数量的观众作为幸运观众。可见,当正确作答的观众用户过多时,会导致抽奖侯选池中候选观众用户数量过大,存在大key问题,而且单点计算拉取数量过大,也可能导致计算中奖观众用户的过程耗时过多。

进一步,在该实施例中,还可以包括用户查询结果的阶段,观众用户请求后端api接口,即向api服务器发送查询是否中奖的请求,由api服务器从redis存储服务器查询luckusers,并向观众客户端返回用户是否在luckusers中的判断结果。

实施例二

图4为一示例性实施例提供的直播互动装置400的框图,应用于直播服务器,该直播互动装置400用于实现上述的直播互动方法。参照图4,该直播互动装置400包括接收模块41、处理模块43和抽取模块45。其中:

所述接收模块41,被配置为执行接收第一账户反馈的第一答题信息,所述第一答题信息与第二账户发放的目标题目对应;所述处理模块43,被配置为执行若所述第一答题信息与预设答案匹配,则当目标账户池中当前存储的账户的第一数量未超过预设数量,且所述第一账户对应的互动参数满足预设条件时,将所述第一账户添加至所述目标账户池中,其中,所述互动参数用于指示所述第一账户对应的互动行为数据;所述抽取模块45,被配置为执行根据所述第二账户发起的抽取指令从所述目标账户池中抽取目标账户。

在该实施例中,在主播通过其对应的账户即第二账户进行直播的过程中,为了提升观众的热情和活跃度等,可以通过向直播间的在线观众用户发布问答题目的方式发起直播互动,并在接收到该直播间的在线观众用户通过其对应的账户即第一账户反馈的针对第二账户发送的目标题目的答题信息时,对其准确性进行判断。进一步地,在第一账户反馈的第一答题信息与该目标题目的正确的预设答案匹配即当前参与答题的观众用户答对题目,用于存储答对题目的账户的目标账户池未超出其存储上限即预设数量,且当前答对题目的第一账户满足要求即用于指示其对应的互动行为数据的互动参数满足预设条件的情况下,可以将该第一账户添加到目标账户池中备用,从而可以在答题互动结束后,根据主播通过其账户发起的抽取指令,以目标账户池中的有限的账户为基础进行目标账户的抽取。如此可知,为了高效地抽取出目标账户,及时回馈观看直播的观众用户,保证观众参与直播互动的体验,可以对目标账户池中能够容纳的备用抽取的账户的总数进行限制,以保障直播互动过程中作为抽取目标账户的基础的账户数据总量更小,降低直播互动过程中的数据获取和计算被抽中账户所耗费的时长。

作为一种可能的实现方式,上述处理模块43可以包括计算子模块和确定子模块。

其中,所述计算子模块,被配置为执行当所述目标账户池中当前存储的账户的第一数量未超过预设数量时,在所述将所述第一账户添加至所述目标账户池中之前,根据对所述第一账户对应的互动参数进行加权求和计算的结果,得到所述第一账户对应的第一互动分数;所述确定子模块,被配置为执行若所述第一数量小于所述预设数量,且所述第一互动分数大于或等于目标分数,则确定所述第一账户对应的互动参数满足所述预设条件,其中,所述目标分数为所述目标账户池中已存储的账户对应的所有互动分数中的最小值。

在该实施例中,若目标账户池仍有空间容纳答对题目的第一账户,可以基于答对目标题目的第一账户对应的互动参数进行加权求和计算出该第一账户对应的第一互动分数,并在确定该第一互动参数大于或等于目标分数时,认为该第一账户对应的互动参数满足能够进入目标账户池的要求即满足预设条件,即说明该第一账户有进入目标账户池的资格。如此,可以将答对目标题目的账户中对应的互动分数较高的账户筛选出来加入目标账户池中,以更好地回馈直播平台的观众用户,进一步提升观众用户的热情和活跃度。需要说明的是,上述目标分数非固定值,而是可动态变化的,当目标账户池中已存储的账户对应的所有互动分数中的最小值发生变化时,该目标分数即随着变化。

进一步地,作为一种可能的实现方式,上述确定子模块,还可以被配置为执行:

若所述第一数量小于所述预设数量,所述第一互动分数小于所述目标分数且大于第二互动分数,则确定所述第一账户对应的互动参数满足所述预设条件,其中,所述第二互动分数为候选账户池中已存储的候选账户对应的所有互动分数中的最大值,所述第二互动分数小于所述目标分数,所述候选账户池中已存储的候选账户对应的答题信息与所述预设答案匹配。

在该实施例中,若目标账户池仍有空间容纳答对题目的第一账户,则为了确保进入目标账户池中的账户对应的互动分数是所有答对目标题目的账户对应的所有互动分数中较高的一部分,则当前答对题目的第一账户对应的第一互动分数小于目标账户池中的互动分数最小值,但却是暂时未进入目标账户池中且答对题目的账户对应的互动分数中最大的,仍可以认为该第一账户对应的互动参数满足能够进入目标账户池的要求即满足预设条件,即说明该第一账户暂时仍有进入目标账户池的资格。如此,可以确保在答题互动过程中,目标账户池始终存储的都是互动分数较高的一部分答对题目的账户。

进一步地,作为一种可能的实现方式,上述处理模块43还包括添加子模块。

其中,所述确定子模块,还被配置为执行:若所述第一数量小于所述预设数量,所述第一互动分数小于所述第二互动分数,则确定所述第一账户对应的互动参数不满足所述预设条件;所述添加子模块,被配置为执行:将所述第二互动分数对应的候选账户添加至所述目标账户池中。

在该实施例中,若目标账户池仍有空间容纳答对题目的第一账户,则为了确保进入目标账户池中的账户对应的互动分数是所有答对目标题目的账户对应的所有互动分数中较高的一部分,则当前答对题目的第一账户对应的第一互动分数小于目标账户池中的互动分数最小值,也不是未进入目标账户池中且答对题目的账户对应的互动分数中最大的情况下,可以认为该第一账户对应的互动参数不满足能够进入目标账户池的要求即满足预设条件,即说明该第一账户暂时没有进入目标账户池的资格。此时,需要将暂时未进入目标账户池中且答对题目的账户对应的互动分数中最大的即第二互动分数对应的候选账户暂时添加到该目标账户池中,以确保在答题互动过程中,目标账户池始终存储的都是互动分数较高的一部分答对题目的账户。

进一步地,作为一种可能的实现方式,上述确定子模块,还被配置为执行:

若所述第一数量等于所述预设数量,且所述第一互动分数大于所述目标分数,则确定所述第一账户对应的互动参数满足所述预设条件。

在该实施例中,若目标账户池已没有空间容纳答对题目的第一账户,则为了确保在答题互动过程中,目标账户池始终存储的都是互动分数较高的一部分答对题目的账户,可以在该第一互动分数比目标账户池中互动分数的最小值大的情况下,可以认为该第一账户对应的互动参数满足能够进入目标账户池的要求即满足预设条件,即说明该第一账户有进入目标账户池的资格。

进一步地,作为一种可能的实现方式,上述处理模块43还包括替换子模块,被配置为执行当所述第一互动分数大于所述目标分数时,将所述目标账户池中与所述目标分数对应的账户替换为所述第一账户。

在该实施例中,若目标账户池已没有空间容纳答对题目的第一账户,但该第一互动分数比目标账户池中互动分数的最小值大,即认为该第一账户对应的互动参数满足能够进入目标账户池的要求即满足预设条件时,需要将目标账户池中与目标分数对应的账户从目标账户池中删除,并将该第一账户补入该目标账户池中。

进一步地,作为一种可能的实现方式,上述第一账户对应的互动参数包括:第一互动参数,用于指示所述第一账户对应的历史被选中状态;第二互动参数,用于指示所述第一账户是否关注所述第二账户;第三互动参数,用于指示所述第一账户对应的答题时长。

其中,上述计算子模块,具体被配置为执行:获取所述第一账户对应的所述第一互动参数、所述第二互动参数和所述第三互动参数;生成目标随机数,所述目标随机数的取值大于0且小于1;根据对所述第一互动参数、所述第二互动参数、所述第三互动参数和所述目标随机数进行加权求和计算的结果,得到所述第一互动分数。

在该实施例中,确定第一账户对应的第一互动分数时,可以至少综合考虑该第一账户对应的历史被选中状态即是否被选中过、是否已关注发起当前直播互动活动的第二账户以及该第一账户答对目标题目所使用的答题时长等互动参数,并结合为该第一账户生成的目标随机数进行加权求和计算,以得到能够准确地反应该第一账户对应的观众用户对直播平台和相应主播及其直播间的关注度,从而可以择优地筛选出能够进入目标账户池中的账户,进一步提升观众用户的热情和活跃度;同时,通过为每个答对目标题目的账户分配相应的随机数,可以确保抽奖过程中的公平公正性。

进一步地,作为一种可能的实现方式,直播互动装置400还可以包括添加模块,被配置为执行为所述目标账户添加抽中标识。

在该实施例中,为了便于识别出被选中的目标账户,可以为被抽取出的目标账户添加抽中标识。

进一步地,作为一种可能的实现方式,直播互动装置400还可以包括:接收模块41和反馈模块。

其中,所述接收模块41,被配置为执行接收来自第三账户的抽取结果查询请求;所述反馈模块,被配置为执行向所述第三账户反馈与所述抽取结果查询请求对应的响应信息,所述响应信息用于指示所述第三账户是否属于所述目标账户。

在该实施中,可以对观众用户即第三账户对应的观众用户的抽取结果查询需求进行及时响应,具体可以基于第三账户的账户标识查询其是否具有抽中标识,实现是否为被抽中的目标账户的准确查询。

由于上述直播互动装置400中所涉及的模块、单元或子单元具有与前述实施例一中的直播互动方法相同或相应的技术特征,因此,关于本实施例中的各模块、单元或子单元的详细描述可参照前述实施例一中对直播互动方法的描述,本实施例在此不再赘述。例如,关于接收模块41的详细描述可参照实施例一中对s11的详细介绍、关于处理模块43的详细描述可参照实施例一中对s13的详细介绍、关于抽取模块45的详细描述可参照实施例一中对s15的详细介绍等。

实施例三

图5是根据一示例性实施例示出的一种服务器500的框图。该服务器500可以执行,但不限于,本公开实施例提供的直播互动方法。应注意,由于本实施例中由服务器500执行的直播互动方法具有与前述实施例一中的直播互动方法相同或相应的技术特征,因此,关于本实施例中的直播互动方法的详细描述可参照前述实施例一中对直播互动方法的描述,本实施例在此不再赘述。

进一步,在一种可能的实现方式中,服务器500可以包括,但不限于,图5所示的处理器51及存储器53。处理器51、存储器53之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。

其中,存储器53用于存储程序或者数据,如存储处理器51可执行指令。该存储器53可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。

处理器51用于读/写存储器中存储的数据或程序,并执行相应地功能。

作为一种可能的实现方式,服务器500还可以包括一个电源组件被配置为执行服务器500的电源管理,一个有线或无线网络接口被配置为将服务器500连接到网络,和一个输入输出(i/o)接口。服务器500可以操作基于存储在存储器53的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或类似。

应当理解的是,图5所示的结构仅为服务器500的结构示意图,该服务器500还可包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。图5中所示的各组件可以采用硬件、软件或其组合实现。另外,在本公开实施例中,上述服务器500可以是、但不限于,计算机、手机、ipad、移动上网设备等。

实施例四

在示例性实施例中,还提供了一种存储介质,当存储介质中的指令由服务器500中的处理器51执行时,使得服务器500能够执行以实现实施例一中的直播互动方法。可选地,存储介质可以是非临时性存储介质,例如,非临时性存储介质可以是rom、ram、cd-rom、磁带、软盘和光数据存储设备等。

应注意,由于本实施例中由服务器500执行的直播互动方法具有与前述实施例一中的直播互动方法相同或相应的技术特征,因此,关于本实施例中的直播互动方法的详细描述可参照前述实施例一中对直播互动方法的描述,本实施例在此不再赘述。

实施例五

在示例性实施例中,还提供了一种计算机程序产品,包括至少一种非临时性的计算机可读介质,存储由至少一个处理器可翻译的指令,用于执行实施例一中的直播互动方法。

应注意,由于本实施例中由服务器500执行的直播互动方法具有与前述实施例一中的直播互动方法相同或相应的技术特征,因此,关于本实施例中的直播互动方法的详细描述可参照前述实施例一中对直播互动方法的描述,本实施例在此不再赘述。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

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