专利名称:直播中的预测互动处理方法、装置、电子设备及存储介质
专利类型:实用新型专利
专利申请号:CN202011088527.6
专利申请(专利权)人:腾讯科技(深圳)有限公司
权利人地址:广东省深圳市南山区高新区科技中一路腾讯大厦35层
专利发明(设计)人:董炎辉
专利摘要:本申请提供了一种直播中的预测互动处理方法、装置、电子设备及计算机可读存储介质;涉及直播中基于云技术的大数据处理;方法包括:接收客户端针对多个直播间的直播结果的至少一条预测数据;根据每条所述预测数据生成对应的待确认状态的预测订单,根据所述待确认状态的预测订单中的预测数据执行虚拟资源授权操作;将成功授权的预测订单从待确认状态更新为已确认状态,并在预测记录数据库中写入对应的预测记录;根据所述多个直播间的直播结果以及所述预测记录数据库中的预测记录确定虚拟资源分配结果,并向所述客户端发送所述虚拟资源分配结果。通过本申请,能够在预测过程中提高虚拟资源分配的准确性和效率。
主权利要求:
1.一种直播中的预测互动处理方法,其特征在于,包括:接收客户端针对多个直播间的直播结果的至少一条预测数据;
根据每条所述预测数据生成对应的待确认状态的预测订单,根据所述待确认状态的预测订单中的预测数据执行虚拟资源授权操作;
将成功授权的预测订单从待确认状态更新为已确认状态,并在预测记录数据库中写入对应的预测记录;
根据所述多个直播间的直播结果以及所述预测记录数据库中的预测记录确定虚拟资源分配结果,并向所述客户端发送所述虚拟资源分配结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:针对每条所述预测数据执行以下处理:
当将对应所述预测数据的预测订单从待确认状态更新为已确认状态失败时,撤销根据所述预测数据执行的虚拟资源授权操作;
当在预测记录数据库中写入对应所述预测数据的预测记录失败时,撤销所述虚拟资源授权操作,并将已确认状态的预测订单进行删除或者将已确认状态的预测订单更新为待确认状态。
3.根据权利要求1所述的方法,其特征在于,在所述确定虚拟资源分配结果之前,所述方法还包括:记录预测场次中每个预测项目的虚拟资源池中虚拟资源的变化状况,以获得所述每个预测项目的虚拟资源池的虚拟资源流水,在虚拟资源流水数据库中写入所述虚拟资源流水;
针对每个所述预测项目,执行以下虚拟资源对账操作:根据预测订单数据库中已确认状态的预测订单、以及所述预测项目的虚拟资源池的虚拟资源流水,获得对应所述预测项目的对账结果;
当所述预测场次中每个所述预测项目的对账结果均正确时,确定将执行针对所述预测记录确定对应的虚拟资源分配结果的操作。
4.根据权利要求3所述的方法,其特征在于,
所述已确认状态的预测订单中的预测数据包含预测结果、以及对应所述预测结果的虚拟资源数额,其中,所述预测结果是在对应预测场次的多个所述预测项目中选取的;
所述根据预测订单数据库中已确认状态的预测订单、以及所述预测项目的虚拟资源池的虚拟资源流水,获得对应所述预测项目的对账结果,包括:在所述预测订单数据库中,选取所述预测结果是所述预测项目的已确认状态的预测订单;
将选取的所述预测订单中对应所述预测项目的虚拟资源数额进行加和,以得到第一虚拟资源总数额;
从所述虚拟资源流水数据库中获取所述预测项目的虚拟资源池的虚拟资源流水,根据获取的所述虚拟资源流水,将所述预测项目的虚拟资源池中的虚拟资源的总额确定为第二虚拟资源总数额;
根据所述第一虚拟资源总数额和所述第二虚拟资源总数额,确定对应所述预测项目的对账结果;
其中,当所述第一虚拟资源总数额和所述第二虚拟资源总数额一致时,表征对应所述预测项目的对账结果正确。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取多个账号预测所述多个直播间的直播结果所获得的成绩;
将多个所述账号的所获得的成绩进行降序排序,并在降序排列中选取在前的部分所述账号的成绩进行缓存;
接收所述客户端发送的成绩查询请求;
当所述成绩查询请求查询同一账号的频率低于频率阈值、且请求查询的账号已缓存对应的成绩时,将对应缓存的成绩发送至所述客户端以进行显示。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:当执行所述虚拟资源授权操作失败时,将授权失败的预测订单从待确认状态更新为未授权状态;
当将成功授权的预测订单从待确认状态更新为已确认状态失败时,再次尝试将成功授权的预测订单从待确认状态更新为已确认状态;
当在所述预测记录数据库中写入对应的预测记录失败时,再次尝试在所述预测记录数据库中写入对应的预测记录。
7.根据权利要求1所述的方法,其特征在于,所述根据每条所述预测数据生成对应的待确认状态的预测订单,包括:针对每条所述预测数据执行以下操作:
在所述预测数据中提取用于比较所述多个直播间的预测结果、以及对应所述预测结果的虚拟资源数额;
生成包含所述预测结果、以及对应所述预测结果的虚拟资源数额的待确认状态的预测订单。
8.根据权利要求1所述的方法,其特征在于,
所述根据每条所述预测数据生成对应的待确认状态的预测订单时,所述方法还包括:将所述待确认状态的预测订单标记为待确认状态;
所述将成功授权的预测订单从待确认状态更新为已确认状态,包括:将成功授权的预测订单写入预测订单数据库,并将标记的待确认状态更新为已确认状态。
9.根据权利要求1所述的方法,其特征在于,
所述待确认状态的预测订单中的预测数据包含预测结果、以及对应所述预测结果的虚拟资源数额,其中,所述预测结果是在预测场次包括的多个预测项目中选取的;
所述根据所述待确认状态的预测订单中的预测数据执行虚拟资源授权操作,包括:针对所述预测场次中的每个所述预测项目,分别建立对应的虚拟资源池;
从所述客户端的账号向对应所述预测结果的虚拟资源池中转移对应所述虚拟资源数额的虚拟资源,或者,向对应所述预测结果的虚拟资源池预授权转移对应所述虚拟资源数额的虚拟资源。
10.根据权利要求1所述的方法,其特征在于,所述根据所述多个直播间的直播结果以及所述预测记录数据库中的预测记录确定虚拟资源分配结果,包括:在所述预测记录数据库中,获取对应预测场次的每个预测记录;
将所述每个预测记录中的预测结果分别与所述直播结果进行比较,确定预测正确的预测记录和预测错误的预测记录;
将所述预测错误的预测记录中的虚拟资源数额,确定为所述预测正确的预测记录的虚拟资源分配结果。
11.一种直播中的预测互动处理方法,其特征在于,所述方法包括:在客户端中呈现多个直播间的直播内容;
获取针对所述多个直播间的直播结果的至少一条预测数据,并将所述至少一条预测数据发送至服务器;
接收所述服务器根据所述至少一条预测数据确定的虚拟资源分配结果,其中,所述虚拟资源分配结果是所述服务器根据权利要求1至10任一项所述的方法得到的;
呈现所述虚拟资源分配结果。
12.一种直播中的预测互动处理装置,其特征在于,包括:接收模块,用于接收客户端针对多个直播间的直播结果的至少一条预测数据;
授权模块,用于根据每条所述预测数据生成对应的待确认状态的预测订单,根据所述待确认状态的预测订单中的预测数据执行虚拟资源授权操作;
写入模块,用于将成功授权的预测订单从待确认状态更新为已确认状态,并在预测记录数据库中写入对应的预测记录;
发送模块,用于根据所述多个直播间的直播结果以及所述预测记录数据库中的预测记录确定虚拟资源分配结果,并向所述客户端发送所述虚拟资源分配结果。
13.一种直播中的预测互动处理装置,其特征在于,包括:直播呈现模块,用于呈现多个直播间的直播内容;
获取模块,用于获取针对所述多个直播间的直播结果的至少一条预测数据,并将所述至少一条预测数据发送至服务器;
所述直播呈现模块,还用于接收所述服务器根据所述至少一条预测数据确定的虚拟资源分配结果,并呈现所述虚拟资源分配结果,其中,所述虚拟资源分配结果是所述服务器根据权利要求1至10任一项所述的方法得到的。
14.一种电子设备,其特征在于,包括:
存储器,用于存储计算机可执行指令;
处理器,用于执行所述存储器中存储的计算机可执行指令时,实现权利要求1至10任一项所述的直播中的预测互动处理方法,或者权利要求11所述的直播中的预测互动处理方法。
15.一种计算机可读存储介质,其特征在于,存储有计算机可执行指令,所述计算机可执行指令被执行时用于实现权利要求1至10任一项所述的直播中的预测互动处理方法,或者权利要求11所述的直播中的预测互动处理方法。 说明书 : 直播中的预测互动处理方法、装置、电子设备及存储介质技术领域[0001] 本申请涉及互联网技术和云技术,尤其涉及一种直播中的预测互动处理方法、装置、电子设备及计算机可读存储介质。背景技术[0002] 直播是互联网中信息传播的重要途径,基于云技术的大数据处理,对海量主播的直播内容进行采集,并实时分发到参与到主播的之间的观众。目前,直播平台为了提高直播过程中的趣味性和互动性,支持用户针对客户端中呈现的多个直播间的直播结果进行预测,例如,预测直播过程中收取礼物的价值最高的直播间或取得的成绩最高的直播间等,并在比赛结束获得多个直播间的直播结果后针对用户的预测数据进行虚拟资源分配。[0003] 但是,对于在预测过程中如何提高虚拟资源分配的准确性和效率,保证直播系统中直播的稳定运行,相关技术尚无有效解决方案。发明内容[0004] 本申请实施例提供一种直播中的预测互动处理方法、装置、电子设备及计算机可读存储介质,能够在预测过程中提高虚拟资源分配的准确性和效率。[0005] 本申请实施例的技术方案是这样实现的:[0006] 本申请实施例提供一种直播中的预测互动处理方法,包括:[0007] 接收客户端针对多个直播间的直播结果的至少一条预测数据;[0008] 根据每条所述预测数据生成对应的待确认状态的预测订单,根据所述待确认状态的预测订单中的预测数据执行虚拟资源授权操作;[0009] 将成功授权的预测订单从待确认状态更新为已确认状态,并在预测记录数据库中写入对应的预测记录;[0010] 根据所述多个直播间的直播结果以及所述预测记录数据库中的预测记录确定虚拟资源分配结果,并向所述客户端发送所述虚拟资源分配结果。[0011] 本申请实施例提供一种直播中的预测互动处理方法,应用于上述的客户端,包括:[0012] 在所述客户端中呈现多个直播间的直播内容;[0013] 获取针对所述多个直播间的直播结果的至少一条预测数据,并将所述至少一条预测数据发送至服务器;[0014] 接收所述服务器根据所述至少一条预测数据确定的虚拟资源分配结果,并呈现所述虚拟资源分配结果。[0015] 本申请实施例提供一种直播中的预测互动处理装置,包括:[0016] 接收模块,用于接收客户端针对多个直播间的直播结果的至少一条预测数据;[0017] 授权模块,用于根据每条所述预测数据生成对应的待确认状态的预测订单,根据所述待确认状态的预测订单中的预测数据执行虚拟资源授权操作;[0018] 写入模块,用于将成功授权的预测订单从待确认状态更新为已确认状态,并在预测记录数据库中写入对应的预测记录;[0019] 发送模块,用于根据所述多个直播间的直播结果以及所述预测记录数据库中的预测记录确定虚拟资源分配结果,并向所述客户端发送所述虚拟资源分配结果。[0020] 在上述方案中,所述直播中的预测互动处理装置,还包括:回退模块,用于当针对每条所述预测数据执行以下任意一个操作失败时,回退其余已执行成功的操作:根据所述预测数据执行的虚拟资源授权操作;将对应所述预测数据的预测订单从待确认状态更新为已确认状态;在预测记录数据库中写入对应所述预测数据的预测记录。[0021] 在上述方案中,所述直播中的预测互动处理装置,还包括:对账模块,用于记录预测场次中每个预测项目的虚拟资源池中虚拟资源的变化状况,以获得所述每个预测项目的虚拟资源池的虚拟资源流水,在虚拟资源流水数据库中写入所述虚拟资源流水;针对每个所述预测项目,执行以下虚拟资源对账操作:根据预测订单数据库中已确认状态的预测订单、以及所述预测项目的虚拟资源池的虚拟资源流水,获得对应所述预测项目的对账结果;当所述预测场次中每个所述预测项目的对账结果均正确时,确定将执行针对所述预测记录确定对应的虚拟资源分配结果的操作。[0022] 在上述方案中,所述已确认状态的预测订单中的预测数据包含预测结果、以及对应所述预测结果的虚拟资源数额,其中,所述预测结果是在对应预测场次的多个所述预测项目中选取的;所述对账模块,还用于在所述预测订单数据库中,选取所述预测结果是所述预测项目的已确认状态的预测订单;将选取的所述预测订单中对应所述预测项目的虚拟资源数额进行加和,以得到第一虚拟资源总数额;从所述虚拟资源流水数据库中获取所述预测项目的虚拟资源池的虚拟资源流水,根据获取的所述虚拟资源流水,将所述预测项目的虚拟资源池中的虚拟资源的总额确定为第二虚拟资源总数额;根据所述第一虚拟资源总数额和所述第二虚拟资源总数额,确定对应所述预测项目的对账结果;其中,当所述第一虚拟资源总数额和所述第二虚拟资源总数额一致时,表征对应所述预测项目的对账结果正确。[0023] 在上述方案中,所述直播中的预测互动处理装置,还包括:查询模块,用于获取多个账号预测所述多个直播间的直播结果所获得的成绩;将多个所述账号的所获得的成绩进行降序排序,并在降序排列中选取在前的部分所述账号的成绩进行缓存;接收所述客户端发送的成绩查询请求;当所述成绩查询请求查询同一账号的频率低于频率阈值、且请求查询的账号已缓存对应的成绩时,将对应缓存的成绩发送至所述客户端以进行显示。[0024] 在上述方案中,所述回退模块,还用于当执行所述虚拟资源授权操作失败时,将授权失败的预测订单从待确认状态更新为未授权状态;当将成功授权的预测订单从待确认状态更新为已确认状态失败时,再次尝试将成功授权的预测订单从待确认状态更新为已确认状态;当在所述预测记录数据库中写入对应的预测记录失败时,再次尝试在所述预测记录数据库中写入对应的预测记录。[0025] 在上述方案中,所述授权模块,还用于针对每条所述预测数据执行以下操作:在所述预测数据中提取用于比较所述多个直播间的预测结果、以及对应所述预测结果的虚拟资源数额;生成包含所述预测结果、以及对应所述预测结果的虚拟资源数额的待确认状态的预测订单。[0026] 在上述方案中,所述写入模块,还用于将所述待确认状态的预测订单标记为待确认状态;将成功授权的预测订单写入预测订单数据库,并将标记的待确认状态更新为已确认状态。[0027] 在上述方案中,所述待确认状态的预测订单中的预测数据包含预测结果、以及对应所述预测结果的虚拟资源数额,其中,所述预测结果是在预测场次包括的多个预测项目中选取的;所述授权模块,还用于针对所述预测场次中的每个所述预测项目,分别建立对应的虚拟资源池;从所述客户端的账号向对应所述预测结果的虚拟资源池中转移对应所述虚拟资源数额的虚拟资源,或者,向对应所述预测结果的虚拟资源池预授权转移对应所述虚拟资源数额的虚拟资源。[0028] 在上述方案中,所述发送模块,还用于在所述预测记录数据库中,获取对应预测场次的每个预测记录;将所述每个预测记录中的预测结果分别与所述直播结果进行比较,确定预测正确的预测记录和预测错误的预测记录;将所述预测错误的预测记录中的虚拟资源数额,确定为所述预测正确的预测记录的虚拟资源分配结果。[0029] 本申请实施例提供一种直播中的预测互动处理装置,包括:[0030] 直播呈现模块,用于呈现多个直播间的直播内容;[0031] 获取模块,用于获取针对所述多个直播间的直播结果的至少一条预测数据,并将所述至少一条预测数据发送至服务器;[0032] 所述直播呈现模块,还用于接收所述服务器根据所述至少一条预测数据确定的虚拟资源分配结果,并呈现所述虚拟资源分配结果。[0033] 本申请实施例提供一种电子设备,包括:[0034] 存储器,用于存储计算机可执行指令;[0035] 处理器,用于执行所述存储器中存储的计算机可执行指令时,实现本申请实施例提供的直播中的预测互动处理方法。[0036] 本申请实施例提供一种计算机可读存储介质,存储有计算机可执行指令,用于被处理器执行时,实现本申请实施例提供的直播中的预测互动处理方法。[0037] 本申请实施例具有以下有益效果:[0038] 在执行虚拟资源授权操作之前生成待确认状态的预测订单,并在成功授权后更新为已确认状态,并在预测记录数据库中写入对应的预测记录,不仅能够保证在执行虚拟资源授权操作之后成功确定虚拟资源分配结果,而且能够提高虚拟资源分配的准确性和效率,从而保证直播系统中直播的稳定运行。附图说明[0039] 图1是本申请实施例提供的直播中的预测互动处理系统100的结构示意图;[0040] 图2A是本申请实施例提供的服务器200的结构示意图;[0041] 图2B是本申请实施例提供的终端400的结构示意图;[0042] 图3是本申请实施例提供的直播中的预测互动处理方法的流程示意图;[0043] 图4是本申请实施例提供的直播中的预测互动处理方法的流程示意图;[0044] 图5是本申请实施例提供的直播中的预测互动处理方法的流程示意图;[0045] 图6是本申请实施例提供的直播中的预测互动处理方法的流程示意图;[0046] 图7A、图7B和图7C是本申请实施例提供的直播中的预测互动处理方法的应用场景示意图;[0047] 图8是本申请实施例提供的服务器的功能架构示意图;[0048] 图9A是本申请实施例提供的预测服务的流程示意图;[0049] 图9B是本申请实施例提供的结算服务的结构示意图;[0050] 图9C是本申请实施例提供的竞猜读服务的结构示意图;[0051] 图9D是本申请实施例提供的对账修复服务的结构示意图。具体实施方式[0052] 为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。[0053] 在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。[0054] 除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。[0055] 对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。[0056] 1)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。[0057] 2)客户端,终端中运行的用于提供各种服务的应用程序,例如直播客户端、视频客户端或短视频客户端等。[0058] 3)原子操作,是指具有原子性的操作,原子性是指事务的一个完整操作,操作成功就提交,反之就回滚,不存在完成一半操作的情况。[0059] 为了增加秀场直播中娱乐的多样性,以及提高用户的互动性,将竞猜(或称预测)引入到直播活动中。竞猜是一种实时的娱乐方式,可以运用到各种活动中,因此对高可用、容灾、通用性提出了较大的挑战。竞猜涉及到积分的结算,因此对安全性提出了很高的要求。[0060] 相关技术中,采用的预测方式是先扣除用户的积分,然后再写用户的预测记录。竞猜结束后,通过用户的预测记录给用户派奖,发放竞猜的积分,并写入开奖记录,并且现有的竞猜主要运用在直播间的对抗(PK,PlayerKilling)上。[0061] 在本申请实施例中发现相关技术存在以下技术问题:[0062] (1)在用户的预测阶段,是先扣除用户积分,再写预测记录。扣除用户积分成功和写预测记录算作是一个操作,该操作是非原子的操作。存在扣除了用户积分,但是写预测记录失败的情况,而结算是通过预测记录来结算的,所以会出现用户预测成功了,而没有结算的问题。[0063] (2)结算派奖阶段,都是直接给用户发放积分,缺乏对账的机制,可能导致给用户多发积分。[0064] (3)相关技术的竞猜主要用于PK比赛中,无法复用到其他的活动中,通用性较差。[0065] 针对上述技术问题,本申请实施例提供一种直播中的预测互动处理方法,能够在预测过程中提高虚拟资源分配的准确性和效率。参见图1,图1是本申请实施例提供的直播中的预测互动处理系统100的结构示意图。其中,直播中的预测互动处理系统100包括:服务器200、网络300、以及终端400,将分别进行说明。[0066] 服务器200是客户端401的后台服务器,用于向客户端401发送多个直播间的直播数据;还用于接收客户端401针对多个直播间的直播结果的至少一条预测数据,并根据至少一条预测数据确定的虚拟资源分配结果;还用于向客户端401发送虚拟资源分配结果。[0067] 网络300,用于作为服务器200和终端400之间通信的媒介,可以是广域网或者局域网,又或者是二者的组合。[0068] 终端400,用于运行客户端401,客户端401是具备直播功能的客户端。客户端401,用于接收服务器200发送的多个直播间的直播数据,在人机交互界面中呈现多个直播间的直播内容;还用于响应于用户的预测操作,获取针对多个直播间的直播结果的至少一条预测数据,并将至少一条预测数据发送至服务器200;还用于接收服务器200发送的虚拟资源分配结果,并呈现虚拟资源分配结果。[0069] 在一些实施例中,终端400通过运行计算机程序来实现本申请实施例提供的直播中的预测互动处理方法,例如,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(Native)应用程序(APP,Application),即需要在操作系统中安装才能运行的程序,例如直播APP或视频APP;也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意APP中的直播小程序或视频小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。[0070] 本申请实施例可以借助于云技术(CloudTechnology)实现,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。[0071] 云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、以及应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源。[0072] 作为示例,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、以及智能手表等,但并不局限于此。终端400以及服务器200可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。[0073] 接下来说明图1中的服务器200和终端400的结构。参见图2A,图2A是本申请实施例提供的服务器200的结构示意图,图2A所示的服务器200包括:至少一个处理器210、至少一个网络接口220和存储器230。服务器200中的各个组件通过总线系统240耦合在一起。可理解,总线系统240用于实现这些组件之间的连接通信。总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2A中将各种总线都标为总线系统240。[0074] 处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,DigitalSignalProcessor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。[0075] 存储器230可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器230可选地包括在物理位置上远离处理器210的一个或多个存储设备。[0076] 存储器230包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,ReadOnlyMemory),易失性存储器可以是随机存取存储器(RAM,RandomAccessMemory)。本申请实施例描述的存储器230旨在包括任意适合类型的存储器。[0077] 在一些实施例中,存储器230能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。[0078] 操作系统231,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;[0079] 网络通信模块232,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,UniversalSerialBus)等;[0080] 在一些实施例中,本申请实施例提供的直播中的预测互动处理装置可以在服务器200中采用软件方式实现,图2A示出了存储在存储器230中的直播中的预测互动处理装置233,其可以是计算机程序和插件等形式的软件。直播中的预测互动处理装置233包括以下软件模块:接收模块2331、授权模块2332、写入模块2333和发送模块2334。这些模块是可以是逻辑功能模块,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。[0081] 参见图2B,图2B是本申请实施例提供的终端400的结构示意图,图2B所示的终端400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。终端400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。[0082] 终端400中的处理器410、网络接口420、总线系统440、操作系统451、以及网络通信模块452和服务器200中的处理器210、网络接口220、总线系统240、操作系统231、以及网络通信模块232的实现方式相似,在此处将不再进行赘述。[0083] 用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。[0084] 存储器450中的显示模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);[0085] 存储器450中的输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。[0086] 在一些实施例中,本申请实施例提供的直播中的预测互动处理装置可以在终端400中采用软件方式实现,图2B示出了存储在存储器450中的直播中的预测互动处理装置455,其可以是计算机程序和插件等形式的软件,例如,直播客户端。直播中的预测互动处理装置455包括以下软件模块:直播呈现模块4551和获取模块4552,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。[0087] 本申请实施例提供的直播中的预测互动处理方法可以由图1中的终端400或服务器200单独执行,也可以由图1中的终端400和服务器200协同执行。[0088] 下面,以由图1中的终端400和服务器200协同执行本申请实施例提供的直播中的预测互动处理方法为例说明。参见图3,图3是本申请实施例提供的直播中的预测互动处理方法的流程示意图,将结合图3示出的步骤进行说明。[0089] 需要说明的是,图3示出的方法可以由终端400运行的各种形式计算机程序执行,并不局限于上述的客户端401,例如上文的操作系统451、软件模块和脚本,因此客户端不应视为对本申请实施例的限定。[0090] 在步骤S101中,客户端在人机交互界面中呈现多个直播间的直播内容。[0091] 在一些实施例中,服务器将多个直播间的直播数据发送至客户端;客户端根据接收到的直播数据呈现多个直播间的直播内容。[0092] 举例来说,图7A和图7B中,客户端呈现多个直播间的直播内容,如此,用户可以在观看直播的过程中参与预测,从而能够提高直播过程中的趣味性和互动性。[0093] 在步骤S102中,客户端获取针对多个直播间的直播结果的至少一条预测数据。[0094] 在一些实施例中,客户端在直播过程中,通过呈现的预测页面,获取针对多个直播间的直播结果的至少一条预测数据。[0095] 作为示例,客户端在直播过程中,在人机交互界面中呈现预测页面;在预测页面中呈现针对多个直播间的直播结果的多个预测项目;响应于在预测页面中接收到的针对多个预测项目的选择操作,将选择的预测项目确定为预测数据中的预测结果;响应于针对预测结果的虚拟资源分配操作,将针对预测结果所分配的虚拟资源数额确定为预测数据中对应预测结果的虚拟资源数额。[0096] 举例来说,预测结果的类型包括以下至少之一:直播过程中收取礼物的价值最高的直播间;直播过程中取得的成绩(由直播间观看人数和互动次数所决定,成绩和直播间观看人数呈正比,成绩和互动次数呈正比)最高的直播间;直播过程中任意两个直播间之间收取礼物的价值的差值所在的区间;直播过程中任意一个直播间收取礼物的价值所在的区间。[0097] 在步骤S103中,客户端将至少一条预测数据发送至服务器。[0098] 在一些实施例中,客户端通过网络将至少一条预测数据发送至服务器,以使服务器根据至少一条预测数据确定虚拟资源分配结果。[0099] 在步骤S104中,服务器根据每条预测数据生成对应的待确认状态的预测订单。[0100] 在一些实施例中,服务器针对每条预测数据执行以下操作:在预测数据中提取用于比较多个直播间的预测结果、以及对应预测结果的虚拟资源数额;生成包含预测结果、以及对应预测结果的虚拟资源数额的待确认状态的预测订单。[0101] 这里,预测结果的数量可以是一个或多个。当提取的预测结果的数量是多个时,预测数据中包括对应每个预测结果的虚拟资源数额,其中,对应每个预测结果的虚拟资源数额可以相同或不同。[0102] 本申请实施例可以应用于PK类预测,例如,图7A中,用户可以针对客户端中呈现的多个预测项目(例如主播“艺X”的直播间和主播“初X”的直播间),通过选择性触发预测按钮701对选择的主播的直播间进行预测;图7B中,用户可以针对客户端中呈现的多个预测项目(例如主播“天天”的直播间和主播“果果”的直播间),通过选择性触发预测按钮702对选择的主播的直播间进行预测;本申请实施例还可以应用于榜单类预测,图7C中,用户可以针对客户端中呈现的多个预测项目(例如直播平台中的所有直播间),通过触发预测按钮703对选择的主播的直播间进行预测。[0103] 在一些实施例中,根据每条预测数据生成对应的待确认状态的预测订单时,还可以包括:服务器将待确认状态的预测订单标记为待确认状态;如此,步骤S104可以包括:服务器将成功授权的预测订单写入预测订单数据库,并将标记的待确认状态更新为已确认状态。[0104] 本申请实施例通过前置订单的方式能够解决虚拟资源授权成功了,但是没有给用户结算的问题,从而能够提高后续结算的准确性和效率,保证直播系统中直播的稳定运行。[0105] 在步骤S105中,服务器根据待确认状态的预测订单中的预测数据执行虚拟资源授权操作。[0106] 这里,待确认状态的预测订单中的预测数据包含预测结果、以及对应预测结果的虚拟资源数额,其中,预测结果是在预测场次包括的多个预测项目中选取的。虚拟资源授权操作可以是一定数额的虚拟资源的转移的预授权操作,例如,从登录客户端的账号中向虚拟资源池预授权相应的转移额度;也可以是虚拟资源的转移操作,例如,从登录客户端的账号中向虚拟资源池直接转移相应数额的虚拟资源。[0107] 在一些实施例中,服务器针对预测场次中的每个预测项目,分别建立对应的虚拟资源池;从客户端的账号向对应预测结果的虚拟资源池中转移对应虚拟资源数额的虚拟资源,或者,向对应预测结果的虚拟资源池预授权转移对应虚拟资源数额的虚拟资源。如此,即可将用户在客户端中针对预测结果所分配的相应数额的虚拟资源进行转移或预授权,以便于后续比赛结束后能够完成结算。[0108] 作为示例,虚拟资源池可以包括一个或多个虚拟资源账号,可以是属于直播平台的虚拟资源账号,例如直播平台的积分账号,虚拟资源池用于存储登录客户端的账号转移的虚拟资源,或者用于存储预授权的虚拟资源数额。[0109] 在一些实施例中,当执行虚拟资源授权操作失败时,服务器将授权失败的预测订单从待确认状态更新为未授权状态。如此,通过标记授权失败的预测订单,能够使后续结算时不受授权失败的预测订单的干扰,进而提高结算的速度。[0110] 在一些实施例中,当执行虚拟资源授权操作失败时,服务器向客户端发送提示信息以进行显示。[0111] 作为示例,提示信息用于提示执行虚拟资源授权操作失败。提示信息可以是待确认状态的预测订单,也可以是短信或弹窗样式的通知消息。从而可以使用户实时感知当前的预测进度,能够解决相关技术中“用户以为自己预测成功了,但是虚拟资源授权失败导致没有给用户结算所导致用户投诉”的技术问题。[0112] 在步骤S106中,服务器将成功授权的预测订单从待确认状态更新为已确认状态。[0113] 在一些实施例中,当将成功授权的预测订单从待确认状态更新为已确认状态失败时,服务器再次尝试将成功授权的预测订单从待确认状态更新为已确认状态。[0114] 作为示例,当将成功授权的预测订单从待确认状态更新为已确认状态失败时,服务器再次尝试将成功授权的预测订单从待确认状态更新为已确认状态,直至更新成功后停止,或超出尝试次数后仍然更新失败时停止。[0115] 这里,尝试次数阈值可以是缺省值,也可以是用户设定的值。[0116] 由于更新预测订单的状态对于后续写入对应的预测记录至关重要,而后续是根据预测记录结算虚拟资源的,因此本申请实施例通过多次尝试更新预测订单的状态,能够提高后续结算虚拟资源的准确性和效率。[0117] 在步骤S107中,服务器在预测记录数据库中写入对应的预测记录。[0118] 在一些实施例中,当在预测记录数据库中写入对应的预测记录失败时,服务器再次尝试在预测记录数据库中写入对应的预测记录。[0119] 作为示例,当在预测记录数据库中写入对应的预测记录失败时,服务器再次尝试在预测记录数据库中写入对应的预测记录,直至写入成功后停止,或超出尝试次数阈值后仍然写入失败时停止。[0120] 由于后续是根据写入至预测记录数据库中的预测记录结算虚拟资源的,因此本申请实施例通过多次尝试写入预测记录,能够提高后续结算虚拟资源的准确性和效率。[0121] 在步骤S108中,服务器根据多个直播间的直播结果以及预测记录数据库中的预测记录确定虚拟资源分配结果。[0122] 在一些实施例中,服务器在预测记录数据库中,获取对应预测场次的每个预测记录;将每个预测记录中的预测结果分别与直播结果进行比较,确定预测正确的预测记录和预测错误的预测记录;将预测错误的预测记录中的虚拟资源数额,确定为预测正确的预测记录的虚拟资源分配结果。[0123] 作为示例,当预测正确的预测记录的数量是多个时,将预测错误的预测记录中的虚拟资源数额,确定为预测正确的预测记录的虚拟资源分配结果可以包括:服务器根据每个预测正确的预测记录中的虚拟资源数额,确定对应每个预测正确的预测记录的资源分配比例(或称赔率);根据对应每个预测正确的预测记录的资源分配比例,将所有预测错误的预测记录中的虚拟资源数额进行分配,以获得对应每个预测正确的预测记录的虚拟资源分配结果。[0124] 这里,资源分配比例的类型包括:固定资源分配比例(例如1:1.5或1:3等固定值)和动态资源分配比例;其中,动态资源分配比例和预测记录数据库中的所有预测记录对应的预测结果相关联。[0125] 以资源分配比例是固定资源分配比例1:1.5为例,当参与预测的用户是A、B和C,A和B预测的项目是预测项目1、且针对预测项目1均分配了100积分,C预测的项目是预测项目2、且针对预测项目2分配了100积分时,若直播结果表征预测了预测项目1的人胜利,则A和B每个人可以获取100×1.5=150积分;若直播结果表征预测了预测项目2的人胜利,则C可以获取100×1.5=150积分。[0126] 以资源分配比例是动态资源分配比例为例,当参与预测的用户是A、B和C,A和B预测的项目是预测项目1、且针对预测项目1均分配了100积分,C预测的项目是预测项目2、且针对预测项目2分配了100积分时,若直播结果表征预测了预测项目1的人胜利,由于A和B针对预测项目所分配的积分数额相等,因此A和B可以共同平分C针对预测项目所分配的100积分,即A和B每个人获取50积分;若直播结果表征预测了预测项目2的人胜利,那么C可以获得A和B总共针对预测项目所分配的200积分。也就是说,动态资源分配比例就是按自己针对预测项目所分配的比例平分输方的所有针对预测项目所分配的虚拟资源。[0127] 本申请实施例支持根据多样性的资源分配比例针对预测记录数据库中的预测记录确定虚拟资源分配结果,不仅能够提高资源分配的多样性和通用性,而且能够提高用户在预测过程中的趣味性和互动性。[0128] 在一些实施例中,在步骤S108之后还可以包括:服务器向登录客户端的账号中,转移虚拟资源;其中,虚拟资源和虚拟资源分配结果相对应。如此,能够在预测结束后实时向用户转移相应的虚拟资源。[0129] 在步骤S109中,客户端接收服务器发送的虚拟资源分配结果,并呈现虚拟资源分配结果。[0130] 在一些实施例中,客户端通过网络接收服务器发送的虚拟资源分配结果,并在人机交互界面中呈现虚拟资源分配结果,以使用户能够在多个直播间的比赛结束后,实时获取预测过程中的结果。[0131] 在一些实施例中,可以将根据预测数据执行的虚拟资源授权操作、将对应预测数据的预测订单从待确认状态更新为已确认状态、以及在预测记录数据库中写入对应预测数据的预测记录设置为原子操作,因此,在步骤S108之前还可以包括:当针对每条预测数据执行以下任意一个操作失败时,服务器回退其余已执行成功的操作:根据预测数据执行的虚拟资源授权操作;将对应预测数据的预测订单从待确认状态更新为已确认状态;在预测记录数据库中写入对应预测数据的预测记录。[0132] 作为示例一,当将对应预测数据的预测订单从待确认状态更新为已确认状态失败时,服务器撤销虚拟资源授权操作。[0133] 作为示例二,当在预测记录数据库中写入对应预测数据的预测记录失败时,服务器撤销虚拟资源授权操作,并将已确认状态的预测订单进行删除,或者,将已确认状态的预测订单更新为待确认状态。[0134] 本申请实施例将上述三个步骤设置为原子操作,当上述三个步骤中的任意一个操作失败时回退其余已执行成功的操作,如此,能够解决相关技术中存在的“虚拟资源授权成功了却没有给用户结算,以及虚拟资源授权失败了却给用户结算”的技术问题,从而能够提高后续虚拟资源分配的准确性和效率,保证直播系统中直播的稳定运行。[0135] 在一些实施例中,在步骤S108之后还可以包括:服务器获取多个账号预测多个直播间的直播结果所获得的成绩;将多个账号的所获得的成绩进行降序排序,并在降序排列中选取在前的部分账号的成绩进行缓存;接收客户端发送的成绩查询请求;当成绩查询请求查询同一账号的频率低于频率阈值、且请求查询的账号已缓存对应的成绩时,将对应缓存的成绩发送至客户端以进行显示。[0136] 这里,成绩可以是虚拟资源的数额或排名等信息。[0137] 作为示例,客户端请求查询的账号的数量可以是一个或多个,当客户端请求查询的账号的数量是多个时,服务器可以是以榜单的形式发送查询的多个账号的成绩,以使客户端呈现相应的榜单。[0138] 作为示例,服务器可以每间隔缓存时间阈值更新降序排列,并在降序排列中选取在前的部分账号的成绩进行缓存,能够提高缓存的实时性,从而提高发送的缓存的成绩的准确性。[0139] 预测过程中,用户会实时关注自己预测多个直播间的直播结果所获得的成绩,所以读取成绩的访问量和用户量将会非常大,因此,本申请实施例提前缓存降序排列中选取在前的部分账号的成绩,能够提高响应客户端查询请求的速度。[0140] 在一些实施例中,参见图4,图4是本申请实施例提供的直播中的预测互动处理方法的流程示意图,基于图3,在步骤S108之前可以包括步骤S110至步骤S112。[0141] 在步骤S110中,服务器记录预测场次中每个预测项目的虚拟资源池中虚拟资源的变化状况,以获得每个预测项目的虚拟资源池的虚拟资源流水,在虚拟资源流水数据库中写入虚拟资源流水。[0142] 作为示例,预测场次可以是正在进行的预测场次;预测项目可以是预测过程中的每个选项。[0143] 作为示例,每个虚拟资源池均对应一个虚拟资源流水,其中,虚拟资源流水用于记录虚拟资源池的支出(例如,将虚拟资源池中的虚拟资源向用户结算)和入账(例如,由于用户预测将用户账号的虚拟资源转入至对应预测项目的虚拟资源池中)状况。也就是说,只要虚拟资源池中出现一次积分变化(例如入账和支出),均会在所对应的虚拟资源流水中写入相应的虚拟资源变化(例如入账和支出)状况。[0144] 在步骤S111中,服务器针对每个预测项目,执行以下虚拟资源对账操作:根据预测订单数据库中已确认状态的预测订单、以及预测项目的虚拟资源池的虚拟资源流水,获得对应预测项目的对账结果。[0145] 这里,已确认状态的预测订单中的预测数据包含预测结果、以及对应预测结果的虚拟资源数额,其中,预测结果是在对应预测场次的多个预测项目中选取的。[0146] 在一些实施例中,虚拟资源对账操作可以是:服务器在预测订单数据库中,选取预测结果是预测项目的所有已确认状态的预测订单;将选取的预测订单中所有对应预测项目的虚拟资源数额进行加和,以得到第一虚拟资源总数额;从虚拟资源流水数据库中获取预测项目的虚拟资源池的虚拟资源流水,根据获取的虚拟资源流水,将预测项目的虚拟资源池中的虚拟资源的总额确定为第二虚拟资源总数额;根据第一虚拟资源总数额和第二虚拟资源总数额,确定对应预测项目的对账结果。[0147] 这里,当第一虚拟资源总数额和第二虚拟资源总数额一致时,表征对应预测项目的对账结果正确。[0148] 举例来说,虚拟资源对账的过程可以包括:首先,服务器获取预测订单数据库中的所有已确认状态的预测订单,将预测订单中所有预测了预测结果A对应的虚拟资源数额进行相加得到总数额A;然后,服务器将对应预测结果A的虚拟资源池的虚拟资源流水进行统计,获得该虚拟资源池中所包含的总数额B;最后,服务器比较总数额A和总数额B是否相等,若相等的话,表征对应预测结果A的对账结果正确。以此类推,可以针对每个预测结果的虚拟资源池进行对账,如果对账结果都正确的话,则服务器可以执行后续确定对应的虚拟资源分配结果的操作。[0149] 在步骤S112中,当预测场次中每个预测项目的对账结果均正确时,服务器确定将执行针对预测记录确定对应的虚拟资源分配结果的操作。[0150] 在一些实施例中,当预测场次中每个预测项目的第一虚拟资源总数额和第二虚拟资源总数额均一致时,表征对账无误,此时,服务器确定将根据多个直播间的直播结果以及预测记录数据库中的预测记录确定虚拟资源分配结果。[0151] 本申请实施例通过对账机制,能够解决相关技术中存在的“结算派奖阶段,都是直接给用户发放积分,缺乏对账的机制,可能导致给用户多发积分”的技术问题,能够提高确定虚拟资源分配结果的准确性和效率,提高了预测过程中的安全性。[0152] 下面,以由图1中的服务器200单独实施本申请实施例提供的直播中的预测互动处理方法为例进行说明。参见图5,图5是本申请实施例提供的直播中的预测互动处理方法的流程示意图,将结合图5示出的步骤进行说明。[0153] 在步骤S201中,接收客户端针对多个直播间的直播结果的至少一条预测数据。[0154] 在步骤S202中,根据每条预测数据生成对应的待确认状态的预测订单,根据待确认状态的预测订单中的预测数据执行虚拟资源授权操作。[0155] 在步骤S203中,将成功授权的预测订单从待确认状态更新为已确认状态,并在预测记录数据库中写入对应的预测记录。[0156] 在步骤S204中,根据多个直播间的直播结果以及预测记录数据库中的预测记录确定虚拟资源分配结果。[0157] 在步骤S205中,向客户端发送虚拟资源分配结果。[0158] 需要说明的是,步骤S201至步骤S205中的具体实现方式和上述步骤S104至步骤S108中包含的实施例类似,将在此不再进行赘述。[0159] 本申请实施例不仅能够保证在执行虚拟资源授权操作之后成功根据预测记录确定虚拟资源分配结果,而且能够提高虚拟资源分配的准确性和效率,从而保证直播系统中直播的稳定运行。[0160] 下面,以由图1中的终端400单独实施本申请实施例提供的直播中的预测互动处理方法为例进行说明。参见图6,图6是本申请实施例提供的直播中的预测互动处理方法的流程示意图,将结合图6示出的步骤进行说明。[0161] 在步骤S301中,在人机交互界面中呈现多个直播间的直播内容。[0162] 在步骤S302中,获取针对多个直播间的直播结果的至少一条预测数据,并将至少一条预测数据发送至服务器。[0163] 在步骤S303中,接收服务器根据至少一条预测数据确定的虚拟资源分配结果,并呈现虚拟资源分配结果。[0164] 需要说明的是,步骤S301至步骤S303中的具体实现方式和上述步骤S101至步骤S103、以及步骤S109中包含的实施例类似,将在此不再进行赘述。[0165] 本申请实施例支持用户针对呈现的多个直播间的直播结果进行预测,能够提高直播过程中的趣味性和互动性;通过接收服务器根据至少一条预测数据确定的虚拟资源分配结果,能够提高预测过程中虚拟资源分配的准确性和效率,保证直播系统中直播的稳定运行。[0166] 下面,以一个示例说明本申请实施例提供的直播中的预测互动处理方法。[0167] 参见图7A、图7B和图7C,图7A、图7B和图7C是本申请实施例提供的直播中的预测互动处理方法的应用场景示意图。本申请实施例可应用于PK玩法(例如图7A和图7B)或榜单类玩法(例如图7C)的竞猜,竞猜过程分为预测阶段和派奖阶段,主播在PK过程中用户可以竞猜单场的PK谁的分数最高,或者竞猜在每半小时的直播过程中,谁收到的礼物的价值更高。用户在比赛开始后,并且在比赛结束之前,可以针对预测项目分配相应的积分。在比赛结束后,进行开奖,按照竞猜赔率(即上述的虚拟资源分配比例)给用户返还积分。[0168] 参见图8,图8是本申请实施例提供的服务器的功能架构示意图,下面结合图8具体说明。[0169] 需要说明的是,图8示出的服务器可以是图1中的服务器200,服务器200的功能可以由独立的物理服务器实现,也可以由多个物理服务器构成的服务器集群实现。[0170] 一、接入层[0171] 公共网关接口(CGI,CommonGatewayInterface):是服务器运行时外部程序的规范,按CGI编写的程序可以扩展服务器功能,可以做WEB接入层。[0172] 二、逻辑层[0173] (一)竞猜系统[0174] (1)预测服务[0175] 预测服务主要用于完成用户的预测,主要分为扣除积分(即上述的虚拟资源授权操作)、写用户的预测订单、以及写用户的预测记录三个步骤。这里,用户的预测订单是记录用户针对预测项目分配了多少积分、以及预测结果;用户的预测记录是记录用户的预测是否已经结算(即用于指示是否已经结算的指示数据),以及结算了多少积分(即结算了虚拟资源的具体数额)。[0176] 上述的三个步骤的执行顺序,会对竞猜系统的稳定性造成影响,举例来说:[0177] 1)如果顺序是先写入用户的预测记录,再写用户的预测订单,最后扣除积分的话。假设写用户的预测记录成功,但是写用户的预测订单失败了,而积分的派发是以用户的预测记录为准的,将会导致给用户多发积分。[0178] 2)如果顺序是先写用户的预测订单,再写用户的预测记录,最后扣除积分的话。假设写用户的预测订单成功了,后续两步失败了,这样用户以为自己预测成功了,但是扣除积分失败导致没有给用户发放积分,将会导致用户投诉。[0179] 3)如果顺序是先扣除积分,再写用户的预测订单,最后写用户的预测记录的话。假设扣除积分成功,但是写用户的预测订单和写用户的预测记录失败了,将会导致扣了积分,但是没有给用户结算。如果前两步成功了,最后一步失败了,会导致给用户多发积分。[0180] 所以,本申请实施例在第三个方案的基础上提出了通过前置订单的方式,能够解决扣除积分成功了,但是没有给用户结算的问题。参见图9A,图9A是本申请实施例提供的预测服务的流程示意图,图9A中,预测服务的具体过程如下:用户发起预测以后,会先生成待确认订单(或称待确认的预测订单),然后进行扣除积分,如果此时扣除积分成功了,就将待确认订单修改为已经预测的状态(即上述的已确认状态),并写入用户的预测记录。如果扣除积分异常,显示待确认的状态,这样就可以减少用户的投诉。[0181] (2)结算服务[0182] 结算服务主要用于保障竞猜结算数据(即上述的虚拟资源分配结果)准确,一场比赛结束后会给用户发放积分,因此如何保证给用户不多发、不少发成为了关键。参见图9B,图9B是本申请实施例提供的结算服务的结构示意图,下面结合图9B进行说明。[0183] 1)每场竞猜都生成一个唯一的标识(ID,Identity),并且每场竞猜的选项均生成一个积分池(即上述的虚拟资源池),例如,当一场竞猜中包含“猜A赢”和“猜B赢”两个选项(即上述的预测项目)时,对应该场竞猜ID的积分池是两个,两个积分池分别对应“猜A赢”和“猜B赢”两个选项。[0184] 这里,每个积分池均对应一个积分流水(即上述的虚拟资源流水),其中,积分流水用于记录积分池的支出(例如,将积分池中的积分向用户结算)和入账(例如,由于用户预测将用户账户的积分转入至对应选项的积分池中)账单。也就是说,只要积分池中出现一次积分变化(例如入账和支出),均会在所对应的积分流水中写入相应的积分变化(例如入账和支出)的数据。[0185] 2)积分发放的准确性:通过积分池的算法来解决这个问题,用户预测后会将用户针对预测项目所分配的积分转账到积分池中,一场比赛结束以后根据用户的预测订单,比较用户针对预测项目所分配的积分是否和对应选项的积分池中的数据(即图9B中的积分流水)是否一样,如果一样则根据用户的预测记录进行结算。本申请实施例通过积分池向用户的转账的方式,保证了平台不会参与结算。[0186] 3)同时为了提高结算的通用性,本申请实施例提供了配置化的派奖策略,以及提供了远程调用的方式(即通过网络调用,远程访问业务方,获得赔率信息)按照业务设定的赔率进行发放积分。[0187] 在一些实施例中,配置化的派奖策略包括:按用户针对预测项目所分配的比例平分输方的所有积分,以及通过固定的比例结算。每次活动都可以选择这些派奖策略进行发放积分。[0188] (3)竞猜读服务[0189] 竞猜过程中,用户会实时关注自己的竞猜的结果,所以读取竞猜记录和竞猜榜单(即根据积分的数量对积分持有者进行排序所获得的榜单)的访问量和用户量将会非常大,榜单成员的数量可能达到千万级别。例如,对一个千万级的榜单,每次批量拉取随机区间内的1000个成员,性能就会降低到大概1000每秒,如果前端不断拉取的话就会拉垮存储。所以为了保证竞猜的可玩性和高性能。本申请实施例做了以下改进,改进的主要方向是有损服务(即,一定排名范围以外的用户,看不到自己的真实排名)的方向。参见图9C,图9C是本申请实施例提供的竞猜读服务的结构示意图,下面结合图9C进行说明。[0190] 1)将竞猜榜单放到二级页面,并且需要用户点击才能触发拉取榜单。[0191] 2)前端再规定一秒内的点击不更新(即1s内点击多次,只更新一次),这样绝大部分的正常用户就不会引发大量请求。[0192] 3)针对恶意情况,在CGI层再规定只能拉取排名前1000名范围内的榜单,以提高缓存命中率,因为排名太靠后的话拉取榜单已经没有太大意义。[0193] 4)榜单场景基于用户请求,实时性不高,所以再对这个榜单前1000名提前进行缓存,1s定时主动更新,这样就可以有效的解决榜单批量拉取的瓶颈。[0194] (4)对账修复服务[0195] 竞猜过程中涉及的步骤较多,任一步骤失败都会对数据的稳定性造成影响,本申请实施例为了提高竞猜系统的稳定性引入了对账修复服务,参见图9D,图9D是本申请实施例提供的对账修复服务的结构示意图,下面结合图9D进行说明。[0196] 1)如果扣除积分失败了,检查扣除积分是否成功,如果未成功,则修改用户的订单状态为未预测的状态。如果已经扣除积分成功,则会分别更新用户的订单状态和用户的预测记录。[0197] 2)如果扣除积分成功了,但是更新用户的订单状态失败了,会重试更新用户的订单状态和用户的预测记录。[0198] 3)如果扣除积分成功和更新用户的订单状态都成功了,但是更新用户的预测记录失败了,会重试更新用户的预测记录。[0199] (二)其他依赖系统[0200] 发货平台:用于直播场景下礼物和勋章相关的发送。[0201] 资料系统:用于用户头像、昵称资料的存储。[0202] 兑换系统:用于一种物品交换另外一种物品的介质。[0203] 消息整合:用于将用户的送礼、聊天消息整合。[0204] 发奖管理:用于直播活动奖励(礼物或勋章)方法的系统。[0205] 通用概率:用于抽奖概率的计算。[0206] 活动限制:用于限制用户领取礼物次数和参与活动的次数限制的系统。[0207] 榜单系统:用于对用户送礼数量和主播积分进行排序的排序系统。[0208] 三、存储层[0209] 数据库(Redis):开源组件,用于存储数据资源。[0210] 积分池(Midas):即上述的虚拟资源池,用于存储积分相关的介质。[0211] 本申请实施例通过预测服务、竞猜读服务、结算服务、以及对账修复等模块,完成了一个高可用、柔性降级、安全性极高的系统方案,不仅能够有效保证竞猜玩法的可玩性和可靠性,而且能够实现提高结算数据的准确性和可玩性;以及通过抽象系统架构,提高了竞猜系统的通用性。[0212] 下面结合图2A和图2B说明本申请实施例提供的直播中的预测互动处理装置的实施为软件模块的示例性结构。[0213] 在一些实施例中,如图2A所示,存储在存储器230的直播中的预测互动处理装置233中的软件模块可以包括:[0214] 接收模块2331,用于接收客户端针对多个直播间的直播结果的至少一条预测数据;[0215] 授权模块2332,用于根据每条预测数据生成对应的待确认状态的预测订单,根据待确认状态的预测订单中的预测数据执行虚拟资源授权操作;[0216] 写入模块2333,用于将成功授权的预测订单从待确认状态更新为已确认状态,并在预测记录数据库中写入对应的预测记录;[0217] 发送模块2334,用于根据多个直播间的直播结果以及预测记录数据库中的预测记录确定虚拟资源分配结果,并向客户端发送虚拟资源分配结果。[0218] 在上述方案中,直播中的预测互动处理装置233还包括:回退模块,用于当针对每条预测数据执行以下任意一个操作失败时,回退其余已执行成功的操作:根据预测数据执行的虚拟资源授权操作;将对应预测数据的预测订单从待确认状态更新为已确认状态;在预测记录数据库中写入对应预测数据的预测记录。[0219] 在上述方案中,直播中的预测互动处理装置233还包括:对账模块,用于记录预测场次中每个预测项目的虚拟资源池中虚拟资源的变化状况,以获得每个预测项目的虚拟资源池的虚拟资源流水,在虚拟资源流水数据库中写入虚拟资源流水;针对每个预测项目,执行以下虚拟资源对账操作:根据预测订单数据库中已确认状态的预测订单、以及预测项目的虚拟资源池的虚拟资源流水,获得对应预测项目的对账结果;当预测场次中每个预测项目的对账结果均正确时,确定将执行针对预测记录确定对应的虚拟资源分配结果的操作。[0220] 在上述方案中,已确认状态的预测订单中的预测数据包含预测结果、以及对应预测结果的虚拟资源数额,其中,预测结果是在对应预测场次的多个预测项目中选取的;对账模块,还用于在预测订单数据库中,选取预测结果是预测项目的已确认状态的预测订单;将选取的预测订单中对应预测项目的虚拟资源数额进行加和,以得到第一虚拟资源总数额;从虚拟资源流水数据库中获取预测项目的虚拟资源池的虚拟资源流水,根据获取的虚拟资源流水,将预测项目的虚拟资源池中的虚拟资源的总额确定为第二虚拟资源总数额;根据第一虚拟资源总数额和第二虚拟资源总数额,确定对应预测项目的对账结果;其中,当第一虚拟资源总数额和第二虚拟资源总数额一致时,表征对应预测项目的对账结果正确。[0221] 在上述方案中,直播中的预测互动处理装置233还包括:查询模块,用于获取多个账号预测多个直播间的直播结果所获得的成绩;将多个账号的所获得的成绩进行降序排序,并在降序排列中选取在前的部分账号的成绩进行缓存;接收客户端发送的成绩查询请求;当成绩查询请求查询同一账号的频率低于频率阈值、且请求查询的账号已缓存对应的成绩时,将对应缓存的成绩发送至客户端以进行显示。[0222] 在上述方案中,回退模块,还用于当执行虚拟资源授权操作失败时,将授权失败的预测订单从待确认状态更新为未授权状态;当将成功授权的预测订单从待确认状态更新为已确认状态失败时,再次尝试将成功授权的预测订单从待确认状态更新为已确认状态;当在预测记录数据库中写入对应的预测记录失败时,再次尝试在预测记录数据库中写入对应的预测记录。[0223] 在上述方案中,授权模块2332,还用于针对每条预测数据执行以下操作:在预测数据中提取用于比较多个直播间的预测结果、以及对应预测结果的虚拟资源数额;生成包含预测结果、以及对应预测结果的虚拟资源数额的待确认状态的预测订单。[0224] 在上述方案中,写入模块2333,还用于将待确认状态的预测订单标记为待确认状态;将成功授权的预测订单写入预测订单数据库,并将标记的待确认状态更新为已确认状态。[0225] 在上述方案中,待确认状态的预测订单中的预测数据包含预测结果、以及对应预测结果的虚拟资源数额,其中,预测结果是在预测场次包括的多个预测项目中选取的;授权模块2332,还用于针对预测场次中的每个预测项目,分别建立对应的虚拟资源池;从客户端的账号向对应预测结果的虚拟资源池中转移对应虚拟资源数额的虚拟资源,或者,向对应预测结果的虚拟资源池预授权转移对应虚拟资源数额的虚拟资源。[0226] 在上述方案中,发送模块2334,还用于在预测记录数据库中,获取对应预测场次的每个预测记录;将每个预测记录中的预测结果分别与直播结果进行比较,确定预测正确的预测记录和预测错误的预测记录;将预测错误的预测记录中的虚拟资源数额,确定为预测正确的预测记录的虚拟资源分配结果。[0227] 在一些实施例中,如图2B所示,存储在存储器450的直播中的预测互动处理装置455中的软件模块可以包括:[0228] 直播呈现模块4551,用于呈现多个直播间的直播内容;[0229] 获取模块4552,用于获取针对多个直播间的直播结果的至少一条预测数据,并将至少一条预测数据发送至服务器;[0230] 直播呈现模块4551,还用于接收服务器根据至少一条预测数据确定的虚拟资源分配结果,并呈现虚拟资源分配结果。[0231] 本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的直播中的预测互动处理方法。[0232] 本申请实施例提供一种存储有计算机可执行指令的计算机可读存储介质,其中存储有计算机可执行指令,当计算机可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的直播中的预测互动处理方法,例如,图3、图4、图5和图6示出的直播中的预测互动处理方法,计算机包括智能终端和服务器在内的各种计算设备。[0233] 在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD‑ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。[0234] 在一些实施例中,计算机可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。[0235] 作为示例,计算机可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。[0236] 作为示例,计算机可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。[0237] 综上所述,本申请实施例具有以下有益效果:[0238] (1)通过前置订单的方式能够解决虚拟资源授权成功了,但是没有给用户结算的问题,从而能够提高后续虚拟资源分配的准确性和效率,保证直播系统中直播的稳定运行。[0239] (2)可以使用户实时感知当前的预测进度,能够解决相关技术中“用户以为自己预测成功了,但是虚拟资源授权失败导致没有给用户结算所导致用户投诉”的技术问题。[0240] (3)由于更新预测订单的状态对于后续写入对应的预测记录至关重要,而后续是根据预测记录结算虚拟资源的,因此通过多次尝试更新预测订单的状态,能够提高后续结算虚拟资源的准确性和效率。[0241] (4)由于后续是根据写入至预测记录数据库中的预测记录结算虚拟资源的,因此通过多次尝试写入预测记录,能够提高后续结算虚拟资源的准确性和效率。[0242] (5)支持根据多样性的资源分配比例针对预测记录数据库中的预测记录确定虚拟资源分配结果,能够提高资源分配的多样性,从而能够提高用户在预测过程中的趣味性和互动性。[0243] (6)通过对账机制,能够提高确定虚拟资源分配结果的准确性和效率,从而提高了预测过程中的安全性。[0244] 以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
专利地区:广东
专利申请日期:2020-10-13
专利公开日期:2024-07-26
专利公告号:CN112235588B