直播系统中的对战方法、装置、设备及存储介质与流程

文档序号:18814419发布日期:2019-10-08 23:40阅读:290来源:国知局
直播系统中的对战方法、装置、设备及存储介质与流程

本申请涉及视频直播领域,特别涉及一种直播系统中的对战方法、装置、设备及存储介质。



背景技术:

直播系统是由主播客户端向服务器提供直播视频流,然后服务器将直播视频流组播或广播至多个观众客户端的系统。

在直播系统中提供有对战(pk)功能,对战功能是在至少两个主播之间进行竞赛的功能。第一主播通过第一主播客户端向服务器发起对战请求,服务器根据该对战请求匹配出第二主播。服务器将第一主播和第二主播添加至同一对战中,由第一主播和第二主播完成对战,并向第一主播和第二主播中的胜利方发放积分奖励,向第一主播和第二主播中的失败方扣取惩罚积分。

上述服务器的pk逻辑需要研发人员来有针对性的开发,当增加了新的对战类型时需要增加新的pk逻辑,导致服务器的运维难度较高。



技术实现要素:

本申请实施例提供了一种直播系统中的对战方法、装置及介质,可以解决相关技术中研发人员需要有针对性的开发对战逻辑,导致服务器的运维难度较高的问题。所述技术方案如下:

根据本申请的一个方面,提供了一种直播系统中的对战方法,所述方法包括:

接收至少一个第一主播客户端发送的对战请求,存在至少两个对战请求的对战类型是不同的;

根据所述对战请求对应的对战类型,确定目标对战匹配规则;根据所述目标对战匹配规则匹配出参与对战的第二主播客户端;

根据所述第一主播客户端和所述第二主播客户端创建对战;将所述对战的对战信息写入存储空间;

在所述第一主播客户端和所述第二主播客户端完成对战时,对所述对战进行结算。

根据本申请的另一方面,提供了一种直播系统中的对战装置,所述装置包括:

接收模块,用于接收至少一个第一主播客户端发送的对战请求,存在至少两个对战请求的对战类型是不同的;

对战匹配模块,用于根据所述对战请求对应的对战类型,确定目标对战匹配规则;根据所述目标对战匹配规则匹配出参与对战的第二主播客户端;

对战逻辑模块,用于根据所述第一主播客户端和所述第二主播客户端创建对战;将所述对战的对战信息写入存储空间;

所述对战逻辑模块,还用于在所述第一主播客户端和所述第二主播客户端完成对战时,对所述对战进行结算。

根据本申请的另一方面,提供了一种计算机设备,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的直播系统中的对战方法。

根据本申请的另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的直播系统中的对战方法。

本申请实施例提供的技术方案带来的有益效果至少包括:

通过确定对战类型对应的目标对战匹配规则,根据目标对战匹配规则对第一主播客户端和第二主播客户端进行匹配,实现了在直播系统中能够支持至少两种对战类型的对战,若第一主播客户端和第二主播客户端以新的对战类型进行对战,只需要向直播系统中添加该对战类型对应的目标匹配规则的配置信息,即可实现第一主播客户端和第二主播客户端以新的对战类型进行对战,从而减轻了服务器端的针对直播对战的代码维护工作,提高了代码维护的效率。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请一个示例性实施例提供的直播系统的结构示意图;

图2是本申请一个示例性实施例提供的实施环境的框图;

图3是本申请一个示例性实施例提供的直播系统中的对战方法的流程图;

图4是本申请一个示例性实施例提供的发起对战系统的结构示意图;

图5是本申请一个示例性实施例提供的直播应用程序上对战请求的界面示意图;

图6是本申请一个示例性实施例提供的直播应用程序上对战类型的界面示意图;

图7是本申请一个示例性实施例提供的对战匹配模的匹配方法的流程图;

图8是本申请一个示例性实施例提供的对战数据模块的存储数据方法的流程图;

图9是本申请一个示例性实施例提供的直播应用程序的才艺对战的界面示意图;

图10是本申请另一个示例性实施例提供的直播应用程序的游戏对战的界面示意图;

图11是本申请一个示例性实施例提供的对战结算系统的结构示意图;

图12是本申请一个示例性实施例提供的对战逻辑模块的加减分计算方法的流程图;

图13是本申请一个示例性实施例提供的对战统计模块的结算方法的流程图;

图14是本申请另一个示例性实施例提供的对战统计模块的结算方法的流程图;

图15是本申请的一个示例性实施例提供的直播系统的对战装置的结构示意图;

图16是本申请一个示例性实施例提供的服务器的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

首先,对本申请实施例中涉及的名词进行介绍:

直播:是指用户通过网络在不同的直播平台上实时观看视频,该视频的视频内容是由主播实时生成或上传的。用户可以通过发送弹幕、评论等消息与主播实时进行交流,是一种新兴的网络社交方式。

对战(pk):是指同一直播平台上的主播可以进行对战比赛,例如,才艺对战比赛,用户通过直播间观看至少两个主播的对战比赛。观众用户自愿对喜欢的主播进行打赏或者赠送虚拟礼物,根据相应的对战比赛规则确定对战比赛的胜利方和失败方,或者对战比赛的结果为平局(可选地)。直播平台根据对战比赛的结果进行相应的奖励或惩罚,奖励的内容可以是现金、积分、礼券、虚拟礼物、特殊道具、具有等级标识的荣誉勋章等奖品中的至少一种。

数据库(db,database):用于存储直播平台中各个直播间的数据,以及各个用户的数据。用户可以对数据进行增加、截取、更新、删除等操作,还可以将数据分享给其他用户,并且与应用程序彼此独立。

原子性:是指数据库的一种特性,当对数据库进行操作时,该操作要么全部执行成功,要么全部执行失败。

并发性:是指在一个系统中,拥有不少于两个计算。这些计算在同一时间间隔内发生,若系统中有多个处理器,则多个处理器可以对数据计算并行执行。

云端分布式存储数据库(ckv,cloudkey-value):是一种通过主键(是指数据库中能唯一标识一条记录的最小的字段集合)进行查询的云端数据库,能够存放大量数据,查询数据的速度快,能够同时并行处理大量的请求。

应用程序编程接口(api,applicationprogramminginterface):是指预先定义的函数,基于软件或硬件的条件下,能够对应用程序与开发人员提供访问能力。

公共网关接口(commongatewayinterface,cgi):是指网站服务器运行时,外部程序的规范,相当于一种协议,按照公共网关接口编写的程序可以扩展服务器的功能。

消息队列:是指消息(是指两台计算机之间传送的数据单位)传输过程中保存消息的容器,当消息被发送至消息队列中,消息队列管理器再将消息发送至目标处理方,相当于媒介的作用。消息队列用于保证消息的传递,若发送消息时接收者不可读取消息列表中的消息,则消息将被保留在消息队列中,直到能够成功传递消息。

数据结构服务器(redis):是指一个开源的(开放源代码)使用标准计算机程序语言(c语言)编写的分布式存储数据库,并且能够提供多种语言的应用程序编程接口。

埃洛(elo)分值:是指由埃洛等级分系统中得出的分值,埃洛等级分系统是用于衡量各类对弈或对战的活动中,对于选手水平的一种评价方法,现在的埃洛系统通常使用的是逻辑斯谛分布(logisticdistribution)。

脚本(script):是指以文本格式进行保存的程序,作用于计算机中,是计算机上的一系列指令,根据这些指令,计算机能够自动化完成一系列工作。

容灾:是指通过一些技术手段将容灾系统进行部署,容灾系统是指在相隔较远的异地,建立至少两套功能相同的互联网技术系统,互联网技术系统之间可以相互监视和功能切换,当一处系统因意外停止工作时,整个应用系统可以切换至另一处继续工作,系统所进行的事务不会因意外而中断,或者中断后能够在短时间内自动恢复。

消峰:是指服务器中用户请求的数量出现峰值,服务器处理请求的资源有限,在这种情况下,易于出现系统崩溃,导致用户无法进行访问,为了解决上述问题,延缓用户的访问请求,需要对服务器进行处理,使得进入服务器中用户请求的数量尽可能地少,这个处理过程就叫做消峰。

异步回调:也称为异步调用,是指一种不需要等待被调用的函数的返回值就让操作继续进行的方法。

直播是一种新兴的网络社交方式,用户可以在终端上通过不同的直播平台(即直播应用程序)观看到不同类型的直播。直播的类型包括但不限于以下类型:才艺表演、交友恋爱、户外活动、游戏、赛事、展览、发布会、动漫、二次元、绘画、美食、影视、语音、电台等类型中的至少一种,本申请对直播的类型不作限定。在直播应用程序的界面上存在输入框,用户通过向输入框中输入文字、数字或表情等信息向主播发送弹幕或评论,主播通过阅读弹幕或评论与观看直播的用户进行实时交流。观众用户还可以对主播进行打赏操作,打赏操作的形式是将现金,或者,以代表一定现金数额的虚拟礼物赠送给主播;主播也可以向观看直播的用户发送虚拟礼物(例如,携带有一定金额的红包、礼券等)作为回应。

在直播系统中提供有对战(pk)功能,至少两个主播客户端的主播能够在同一个直播间(比如其中任一主播的直播间)进行对战,增加了可观看性和趣味性,用户通过为所支持的主播打赏可以帮助主播成为对战的获胜方,同时,获胜后的用户也可以得到多种奖励。对战的过程通常是:第一主播通过第一主播客户端向服务器发起对战请求,服务器根据该对战请求随机匹配出第二主播,或者,第一主播通过第一主播客户端向服务器发起邀请好友进行对战的请求,服务器根据该对战请求将第一主播和第二主播添加至同一对战中。当第一主播与第二主播结束对战后,直播系统向第一主播和第二主播中的胜利方发放奖励(如,现金、虚拟礼物、积分、荣誉勋章等),对第一主播和第二主播中的失败方进行惩罚(如,扣除积分、将原有荣誉勋章替换等级更低的荣誉勋章等),若第一主播和第二主播的对战结果是平局,则第一主播和第二主播不受任何奖励或惩罚(例如,第一主播和第二主播各自所拥有的积分不变、各自在对战排行榜上的排名不变、各自所携带的荣誉勋章等级不变等)。

本申请中提供的方法可以应用于直播系统中至少两个主播客户端之间的不同类型的对战,本申请的实施例以两个主播客户端为例进行说明。对战类型包括:才艺对战类型、游戏对战类型、送虚拟礼物对战类型中的至少一种,根据对战类型对应的加减分规则对第一主播客户端和第二主播客户端的对战结果进行结算,确定胜利方和失败方,或者第一主播客户端和第二主播客户端的对战结果为平局(可选地),则根据对战结果进行相应的奖励或者惩罚。才艺对战类型是指参与对战的主播进行才艺表演,直播系统根据主播的表演情况、观众用户发表的弹幕和评论以及观众用户对主播的打赏情况对对战结果进行结算,才艺表演包括:唱歌、跳舞、口技表演、脱口秀表演(包括讲笑话、讲故事、说相声等)、表演小品、演奏乐器、书法绘画、诗朗诵、话剧表演、魔术表演等才艺表演中的至少一种;游戏对战类型包括:第一主播客户端的第一主播和第二主播客户端的第二主播通过直播应用程序中设置的游戏进行对战、第一主播客户端的第一主播和第二主播客户端的第二主播通过所使用的终端上含有的游戏进行对战、第一主播客户端的第一主播和第二主播客户端的第二主播通过现实活动性的游戏(如,成语接龙、真心话大冒险、大家一起来找茬,即在两张图片上找不同等)进行对战等方式中的至少一种;送礼对战类型包括以下形式中的至少一种:观看第一主播客户端的第一主播和第二主播客户端直播的用户对主播赠送代表一定分值或现金金额的虚拟礼物,或,第一主播客户端的第一主播和第二主播客户端之间互相赠送的代表一定分值或现金金额的虚拟礼物,比较两个主播收到的虚拟礼物所代表的积分或现金金额的大小,主播在对战过程中通过各种方式获得虚拟礼物都计入对战结果中。

本申请实施例提供了一种直播系统中的对战方法,在基于对战类型为才艺对战实施例的一个示例中,结合直播系统的结构进行说明。图1示出了一种直播系统的结构示意图。该直播系统11设置有四个模块,包括:对战逻辑模块112、对战匹配模块113、对战数据模块114和对战统计模块116。直播的对战过程一般包括:第一主播通过第一主播客户端发起对战请求,根据对战请求匹配第二主播客户端的第二主播,直播系统11将第一主播和第二主播添加至同一对战中,第一主播和第二主播进行对战,根据对战结果,直播系统11对第一主播和第二主播中的胜利方发放奖励,对第一主播和第二主播中的失败方进行惩罚,可选地,若第一主播和第二主播的对战结果是平局,则根据直播系统11中相应的平局处理规则对第一主播和第二主播进行处理(如,第一主播和第二主播各自所拥有的积分不变、各自在对战排行榜上的排名不变、各自所携带的荣誉勋章等级不变等)。因此,根据上述直播对战的过程分别设置四个功能不同的模块,四个模块协同完成上述直播对战过程。

第一主播客户端的第一主播通过对战逻辑模块112向后台服务器111发送对战请求,可选地,该对战请求是通过随机匹配的方式向第二主播客户端的第二主播发出的,或者,是第一主播客户端的第一主播通过邀请好友的方式发出的,或者,是第一主播客户端的第一主播通过搜索第二主播客户端的第二主播的方式发出的。示意性的,第一主播客户端的第一主播通过随机匹配的方式向后台服务器111发出对战请求,后台服务器111接收至少一个第一主播客户端的对战请求,存在至少两个对战请求的对战类型是不同的;可选地,对战类型是才艺对战、游戏对战、送礼对战中的至少一种。示意性的,以对战类型是才艺对战为例进行说明。

上述直播系统11支持至少两种不同类型的对战方式,每种对战方式可以对应不同的对战请求。

根据对战请求对应的对战类型,通过对战匹配模块113确定目标对战匹配规则;根据目标对战匹配规则匹配出参与对战的第二主播客户端的第二主播;调用对战逻辑模块112将第一主播客户端的第一主播和第二主播客户端的第二主播添加至同一对战中,即创建对战平台;将对战信息写入存储空间;在第一主播客户端的第一主播和第二主播客户端的第二主播完成对战时,调用对战逻辑模块112对对战进行结算,将结算结果发送至消息队列115,对战统计模块116根据消息队列115中的结算结果对第一主播客户端的第一主播和第二主播客户端的第二主播进行发放奖励或者实施惩罚,对战数据模块114用于将对战过程的数据写入数据结构服务器117中。

图2示出了本申请一个示例性实施例提供的计算机系统的结构框图。该计算机系统100包括:第一终端120、服务器140和第二终端160。

第一终端120安装和运行有支持直播功能的应用程序。第一终端120是第一用户使用的终端,第一用户使用第一终端120进行直播,可选地,该第一用户是进行对战的第一主播和第二主播中的至少一个,或者,观看直播的用户,示意性的,以第一用户是第一主播为例进行说明。

第一终端120通过无线网络或有线网络与服务器140相连。

服务器140包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。示意性的,服务器140包括处理器144和存储器142,存储器142又包括接收模块1421、对战逻辑模块1422和对战匹配模块1423。服务器140用于为支持直播的应用程序提供后台服务。可选地,服务器140承担主要计算工作,第一终端120和第二终端160承担次要计算工作;或者,服务器140承担次要计算工作,第一终端120和第二终端160承担主要计算工作;或者,服务器140、第一终端120和第二终端160三者之间采用分布式计算架构进行协同计算。

第一终端120安装和运行有支持直播功能的应用程序。第二终端160是第二用户使用的终端,第二用户使用第二终端120进行直播,可选地,该第二用户是进行对战的第一主播和第二主播中的至少一个,或者,观看直播的用户,示意性的,以第二用户是第二主播为例进行说明。

可选地,第一终端120和第二终端160上安装的应用程序是相同的,或两个终端上安装的应用程序是不同控制系统平台的同一类型应用程序。第一终端120可以泛指多个终端中的一个,第二终端160可以泛指多个终端中的一个,本实施例仅以第一终端120和第二终端160来举例说明。第一终端120和第二终端160的设备类型相同或不同,该设备类型包括:智能手机、平板电脑、电子书阅读器、mp3播放器、mp4播放器、膝上型便携计算机和台式计算机中的至少一种。以下实施例以终端包括智能手机来举例说明。

本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量。本申请实施例对终端的数量和设备类型不加以限定。

图3示出了本申请一个示例性实施例提供的一种直播系统中的对战方法的流程图,该方法可应用于如图2所示的计算机系统中的第一终端120或第二终端160中或该计算机系统中的其它终端中。该方法包括如下步骤:

步骤301,接收至少一个第一主播客户端发送的对战请求,存在至少两个对战请求的对战类型是不同的。

直播系统中的后台服务器111接收到至少一个第一主播客户端发送的对战请求。不同主播所使用的第一主播客户端可以是相同或不同的直播应用程序。该对战请求包括在同一直播应用程序中存在预设的至少两个不同类型的对战请求,或者,不同类型的直播应用程序中的不同类型的对战请求。可选地,对战请求类型是通过随机匹配正在直播的主播,或者,主播邀请自己的好友,或者,主播启动终端内的定位系统,搜索位于同一地区的正在直播的主播或附近正在直播的主播,或者,主播通过搜索特定主播的账户号码(id标识)或昵称、用户名等类型的对战请求。

结合图4,对直播系统中对战逻辑模块发起对战的方法进行说明,图4示出了本申请的一个示例性实施例提供的发起对战系统的结构示意图。该发起对战系统13包括:客户端110、后台服务器111、对战逻辑模块112、对战数据模块114和数据结构服务器117。可选地,该客户端110是主播客户端,或者,观看主播客户端的用户所在的客户端中的至少一个,示意性的,以该客户端110是主播客户端为例进行说明。客户端110接入后台服务器111,当至少一个第一主播客户端发起对战请求时,后台服务器111接收到至少一个第一主播客户端发送的对战请求,存在至少两个对战请求的类型是不同的,可选地,该对战请求的类型是随机匹配、邀请好友或者搜索中的至少一种,示意性的,以对战请求的类型为随机匹配进行说明。

下面结合图5,以第一主播客户端的直播应用程序的界面为例来进行说明。可选地,第一主播客户端的第一主播正在直播时,向至少一个第二主播客户端的第二主播发起对战请求,或者,第一主播客户端的第一主播是在直播开始之前,确定以与至少一个第二主播客户端的第二主播对战的方式进行直播,示意性的,本申请以第一主播客户端的第一主播正在直播时,向至少一个第二主播客户端的第二主播发起对战请求来进行说明。该直播应用程序的界面200显示有随机匹配选项211,邀请好友选项212、搜索选项213、更多匹配方式选项214、第一主播客户端的第一主播的信息215(包括:第一主播客户端的昵称或用户名、等级、衡量等级的数值,比如,魅力值或魔力值代表现有等级或升级到下一等级所需要的数值、id帐号)和观看第一主播客户端的第一主播直播的用户216。

可选地,第一主播客户端的第一主播选择随机匹配的方式,或者,邀请好友的方式,或者,搜索至少一个第二主播客户端的第二主播的方式进行匹配,也可以选择更多匹配方式选项214来选择其他的匹配方式来进行匹配。第一主播客户端的第一主播通过邀请好友列表中的好友来对战,可选地,该好友是第一主播客户端的第一主播在该直播应用程序中的好友,或者,该好友是其他应用程序上的好友(例如,微信好友或者qq好友或者微博好友等),或者,该好友是第一主播客户端的第一主播在电子游戏中的好友。第一主播客户端的第一主播通过搜索至少一个第二主播客户端的第二主播的方式进行匹配,可选地,第一主播客户端第一主播通过搜索第二主播客户端的第二主播在直播应用程序中的昵称或用户名或昵称等信息,或者,第一主播客户端的第一主播通过搜索第二主播客户端的第二主播所在的地区,或者,第一主播客户端的第一主播通过搜索第二主播客户端的第二主播的性别,或者,第一主播客户端的第一主播通过搜索第二主播客户端的第二主播的直播类型,或者,第一主播客户端的第一主播通过搜索第二主播客户端的第二主播的个性签名或标签等关键字。示意性的,以第一主播客户端的第一主播选择随机匹配的方式来举例说明。

步骤302,根据对战请求对应的对战类型,确定目标对战匹配规则;根据目标对战匹配规则匹配出参与对战的第二主播客户端。

通过直播系统中的对战匹配模块113确定与对战请求对应的对战类型,在至少两种对战匹配规则中,查询与对战类型对应的目标对战匹配规则,根据对战请求对应的对战类型,确定目标对战匹配规则;根据目标对战匹配规则匹配出参与对战的第二主播客户端的第二主播。

结合图6,对对战请求对应的对战类型进行说明,图6示出了本申请的一个示例性实施例提供的直播应用程序上的对战类型的界面示意图。该界面300包括:才艺对战选项311、游戏对战选项312、送礼对战选项313、更多对战玩法选项314、第一主播客户端的第一主播的信息315(包括:第一主播客户端的昵称或用户名、等级、衡量等级的数值,比如,魅力值或魔力值代表现有等级的或升级到下一等级所需要的数值、id帐号)和观看第一主播客户端的第一主播直播的用户316。可选地,第一主播客户端的第一主播选择才艺对战选项311,或者,游戏对战选项312,或者,送礼对战选项313,或者,更多对战玩法选项314。

第一主播客户端的第一主播选择才艺对战选项311是以才艺对战类型进行对战,即主播以进行才艺表演的方式来对战。可选地,才艺对战类型涉及的才艺表演包括:唱歌、跳舞、口技表演、脱口秀表演(包括讲笑话、讲故事、说相声等)、表演小品、演奏乐器、书法绘画、诗朗诵、话剧表演、魔术表演等才艺表演中的至少一种;第一主播客户端的第一主播选择游戏对战选项312是以游戏对战类型进行对战,即主播以在直播中进行游戏的方式来对战,可选地,游戏对战类型包括以下方式中的至少一种:第一主播客户端的第一主播和第二主播客户端的第二主播通过直播应用程序中设置的游戏进行对战、第一主播客户端的第一主播和第二主播客户端的第二主播通过所使用的终端上含有的游戏进行对战、第一主播客户端的第一主播和第二主播客户端的第二主播通过现实活动性的游戏(如,成语接龙、真心话大冒险、大家一起来找茬,即在两张图片上找不同等)进行对战等方式;第一主播客户端的第一主播选择送礼对战选项313是以主播在直播中所获得的虚拟礼物进行对战,可选地,送礼对战类型包括:观看第一主播客户端的第一主播和第二主播客户端直播的用户对主播赠送代表一定分值或现金金额的虚拟礼物、第一主播客户端的第一主播和第二主播客户端之间互相赠送的代表一定分值或现金金额的虚拟礼物中的至少一种,比较两个主播收到的虚拟礼物所代表的积分或现金金额的大小,主播在对战过程中通过各种方式获得虚拟礼物都计入对战结果中。可选地,第一主播客户端的第一主播还选择更多对战玩法选项314,以其他的对战方式进行对战,可选地,其他对战方式与直播应用程序的类型有关,或者,其他对战方式与对战类型有关。

结合图7,以对战匹配模块113匹配至少一个第二主播客户端的方法的流程图来说明,该方法说明了对战匹配模块在直播对战中的使用方法和起到的作用,该方法包括以下步骤:

步骤701,确定与对战请求对应的对战类型。

对战匹配模块113确定与对战请求对应的对战类型,并且接收第一配置信息,根据第一配置信息存储对战类型和对战匹配规则之间的对应关系,可选地,对战类型和对战匹配规则之间的对应关系存储在数据结构服务器存储空间中。

参考图6,可选地,对战类型包括如下类型中的至少两种:才艺对战311、游戏对战312、送礼对战313。示意性的,以对战类型是才艺对战311为例进行说明。可选地,对战匹配规则包括:按照主播客户端的主播对应的埃洛分值进行匹配、按照主播客户端的主播对应的胜负概率进行匹配、按照主播客户端的主播所在的地区进行匹配、按照主播客户端的主播所对应的直播类型进行匹配、按照主播客户端的主播对应的性别进行匹配、按照主播客户端的主播对应的id号码、用户名称或昵称中的至少两种匹配规则。可选地,当主播客户端还可以通过邀请自己的好友,或者,搜索其他主播对应的标识(例如,搜索其他主播对应的id号码、用户名称或昵称,或者,搜索其他主播所在的地区或性别,或者,搜索其他主播的直播类型、个性签名或标签等关键字的方式)来进行匹配。

步骤702,在至少两种对战匹配规则中,查询与对战类型对应的目标匹配规则。

在上述的对战匹配规则中,对战匹配模块113查询与对战类型(例如,才艺对战311)对应的目标匹配规则,不同的对战类型的对应的目标匹配规则不同,例如,才艺对战311是以主播在直播对战过程中才艺表演的完整性、精彩程度、与观看直播的观众的互动情况等等标准来制定匹配规则;游戏对战312是以主播在直播对战中进行的游戏最后的胜负情况来制定匹配规则;送礼对战313是以主播在直播对战中所获得的虚拟礼物的数量、虚拟礼物代表的积分或实际价值来制定匹配规则。

步骤703,扫描匹配池。

对战匹配模块113对匹配池中的至少一个第二主播客户端的第二主播帐号进行扫描,查询符合目标对战匹配规则的至少一个第二主播客户端的第二主播。

步骤704,前置过滤。

对战匹配模块113对匹配池中的至少一个第二主播客户端的第二主播进行前置过滤操作。可选地,该前置过滤条件为未在线或未直播的第二主播客户端的第二主播不能参与匹配,或者,曾经有过不良直播记录(比如,存在违法直播记录)的第二主播客户端的第二主播不能参与匹配,或者,第二主播客户端的第二主播的等级、魅力值、荣誉称号等参数未达到与第一主播客户端的第一主播同一水平,不能参与匹配。

步骤705,校验匹配。

对战匹配模块113对已匹配的第一主播客户端的第一主播和第二主播客户端的第二主播进行校验,比如,校验两名主播的埃洛分值是否相近,或者,校验两名主播的直播类型是否一致。

若通过校验匹配,则进入步骤706,返回调用对战逻辑匹配模块112,进入步骤707,完成匹配过程。若通过校验匹配,则对战匹配模块113返回调用对战逻辑模块112,两名主播成功匹配,结束上述步骤;若不能通过校验匹配,则进入步骤707,结束匹配过程。对战匹配模块113将重新对匹配池中的至少一个第二主播客户端的第二主播帐号进行扫描,然后继续完成后续匹配步骤。

步骤403,根据第一主播客户端和第二主播客户端创建对战;将对战的对战信息写入存储空间。

根据已经成功匹配的第一主播客户端的第一主播和第二客户端的第二主播创建对战平台,将第一主播客户端的第一主播和第二主播客户端的第二主播添加至同一对战中,可选地,将两位主播在添加至同一直播间,或者,将第二主播客户端的第二主播添加至第一主播客户端的第一主播所在的直播间,或者,将第一主播客户端的第一主播添加至第二主播客户端的第二主播所在的直播间。

将与第一主播客户端的第一主播和第二主播客户端的第二主播的对战信息写入存储空间,可选地,对战信息包括:第一主播客户端的第一主播和第二主播的第二客户端各自的id帐号、用户名、昵称、等级、魅力值或魔力值等表示现有等级或升级到下一等级的数值、荣誉勋章、对战请求方式、对战类型、目标对战规则、观看权限中的至少一种。

上述存储空间包括:互相独立的n个存储空间,可选地,n为大于2的整数,示意性的,以n的值为3进行说明。

下面结合图8,对对战的对战信息写入存储空间进行说明。图8示出了本申请的一个示例性实施例提供的对战数据模块114将对战的对战信息写入存储空间的方法的流程图,该方法包括以下步骤:

步骤801,参数校验,若符合参数校验,则进入步骤802。

对战数据模块114对对战参数进行校验,若对战参数符合校验条件,则进入步骤802,可选地,该参数是第一客户端的第一主播和第二客户端的第二主播的对战信息,或者,是第一客户端的第一主播和第二客户端的第二主播是否具有对战资格。

步骤802,将对战的对战信息写入n个存储空间。

该存储空间是数据结构服务器(redis)实现的存储空间,将对战的对战信息写入n个redis,可选地,n为大于2的整数,示意性的,以n的值为3进行说明,例如,将对战的对战信息写入三个redis。

步骤803,当接收到至少两个存储空间反馈的写入成功响应时,进入步骤804;当没有接收到至少两个存储空间反馈的写入成功响应时,进入步骤806,返回结果,该结果为没有接收到至少两个存储空间反馈的写入成功响应,对战数据模块114重新对对战信息进行写入操作。

当对战数据模块114接收到至少两个redis存储空间反馈的写入成功响应时,示意性的,当对战的对战信息写入三个redis存储空间时,可选地,在接收到两个redis存储空间的反馈时,将对战信息写入存储空间,或者,在接收到三个redis存储空间的反馈时,将对战信息写入存储空间。redis存储空间的部署是相互独立的,接收到至少存在两个redis存储空间反馈的成功响应是一种为了避免因意外导致的redis存储空间无法正常写入数据的手段,当三个redis存储空间中有一个redis存储空间出现了问题,则剩余两个redis存储空间可以正常使用。

步骤804,确定对战信息写入成功。

对战数据模块114接收到确定对战的对战信息写入成功的信号。

步骤805,通过脚本对数据结构服务器进行写操作,写操作用于将对战的对战信息写入数据结构服务器存储空间。

对战数据模块114通过lua脚本对redis存储空间进行写操作,写操作用于将对战的对战信息写入redis存储空间。

步骤806,返回结果。

对战的对战信息成功写入redis存储空间,返回结果为成功。

经过步骤801,若对战的对战信息不符合参数校验时,则进入步骤806,返回校验结果(结果为失败),结束将对战的对战信息写入redis存储空间的过程,对战数据模块114重新进行将对战的对战信息写入redis存储空间的过程。

以上为对战数据模块114在直播对战中将对战的对战信息写入至redis的方法。

示意性的,以第一主播客户端的第一主播的对战请求是随机匹配,对战类型是才艺对战为例进行说明。可选地,才艺对战类型涉及的才艺表演包括:唱歌、跳舞、口技表演、脱口秀表演(包括讲笑话、讲故事、说相声等)、表演小品、演奏乐器、书法绘画、诗朗诵、话剧表演、魔术表演等才艺表演中的至少一种。示意性的,第一主播客户端的第一主播以进行唱歌的方式与第二直播客户端的第二主播进行对战。下面将结合观看第一主播客户端的第一主播的用户所显示的直播应用程序的界面进行说明,参考图9,图9示出了本申请的一个示例性实施例提供的直播应用程序的才艺对战的界面示意图。如图9的(a)所示,该才艺对战的界面400包括:评论或弹幕选项411、消息选项412、虚拟礼物选项413、更多选项或菜单选项414、第一主播客户端的第一主播的信息415(包括:头像、用户名或昵称、id帐号、观看直播人数、关注主播虚拟选项、第一主播客户端的第一主播的等级及等级标识、魅力值,即代表目前等级的数值和等级详情虚拟选项)、观看第一主播客户端的第一主播的用户416、对战的对战信息417(包括:第一主播客户端的第一主播和第二主播客户端的第二主播各自的头像以及各自的分数)和观看直播的用户所发表的评论或弹幕418。

第一主播客户端的第一主播以唱歌的方式与第二主播客户端的第二主播进行对战,与第二主播客户端的第二主播成功匹配后,将两个主播添加至同一对战中,在直播应用程序的才艺对战的界面400上显示对战的对战信息417。可选地,该对战的对战信息417可以显示在直播应用程序的界面400上的任意位置。示意性的,以对战的对战信息417显示在直播应用程序的才艺对战的界面400的左上角为例进行说明。可选地,观看第一主播客户端的第一主播选择评论或弹幕选项411、消息选项412、虚拟礼物选项413和更多选项或菜单选项414中的至少一个与第一主播客户端的第一主播进行互动。可选地,消息选项412、虚拟礼物选项413和更多选项或菜单选项414可以位于直播应用程序的才艺对战的界面400上的任意位置。示意性的,以消息选项412、虚拟礼物选项413和更多选项或菜单选项414位于直播应用程序的才艺对战的界面400的底部。观看第一主播客户端的第一主播的用户选择评论或弹幕选项411,用于发表言论,该言论是观看直播的用户所发表的评论或弹幕418,以滚动的方式出现在才艺对战的界面400上,能够被观看第一主播客户端的第一主播的所有用户(包括第二主播客户端的第二主播)看见;观看第一主播客户端的第一主播的用户选择消息选项412,用于查看所有来自第一主播客户端的第一主播所在的直播间的消息,包括公共聊天消息和私人聊天消息(比如,用户a与用户b的私聊信息,或者,第一主播客户端的第一主播与用户a的私聊信息),示意性的,该直播间的消息(包括一下形式中的至少一种:某用户来到了直播间、某用户发表的关于直播的言论,比如,真棒!精彩的对战!或者,某用户赠送虚拟礼物的名称和个数)以评论或弹幕418的形式滚动显示在直播应用程序的才艺对战的界面400上,在一些实施例中,评论或弹幕418以交替显示的方式显示在才艺对战的界面400上,本申请对评论或弹幕418显示的方式不加以限定;观看第一主播客户端的第一主播的用户选择虚拟礼物选项413,可选地,虚拟礼物选项413用于对第一主播客户端的第一主播进行打赏,或者,用于对第二主播客户端的第二主播进行打赏,不同种类的虚拟礼物代表不同的分值或现金数额;观看第一主播客户端的第一主播的用户选择更多选项或菜单选项414,可选地,用于对直播应用程序进行设置或进入菜单选项。可选地,观看第一主播客户端的第一主播的用户可以通过更多选项或菜单选项414设置直应用程序上的才艺对战的界面400的相关参数,比如,用户可以设置该才艺对战的界面400的亮度、色调、对比度、饱和度、清晰度中的至少一项参数,或者,对第一主播客户端的第一主播所直播的内容进行录像,或者,将第一主播客户端的第一主播所直播的内容、信息、直播间对应的id中的至少一项分享给其他用户,比如,将第一主播客户端的直播内容分享给社交应用程序(如,微信)上的好友,或者,进行抽奖活动,抽到的奖品可以赠送给主播客户端的主播,或赠送给其他用户。可选地,其他用户可以是该直播应用程序上的用户,或者,其他应用程序上的用户。

上述实施例的示例中,在直播应用程序的才艺对战的界面400上只有第一主播客户端的第一主播的直播画面,可选地,在直播应用程序的才艺对战的界面400上可以同时显示第一主播客户端的第一主播的直播画面和第二主播客户端的第二主播的直播画面,如图9的(b)所示。在直播应用程序的才艺对战的界面410上还显示有第二主播客户端的第二主播的直播画面419(画面减小)。

可选地,该第二主播客户端的第二主播的直播画面419是小于第一主播客户端的第一主播的正常直播画面的大小(参考图9的(b)),或者,是第一主播客户端的第一主播的直播画面是小于正常直播画面的大小,而第二主播客户端的第二主播的直播画面是正常直播画面(即第一主播客户端的第一主播与第二主播客户端的第二主播的画面对调),或者,第一主播客户端的第一主播和第二主播客户端的第二主播的直播画面大小一致(参考图10)。

当第二主播客户端的第二主播的直播画面419是小于正常直播画面的大小时(参考图9的(a)),该直播画面419可以被移动到才艺对战的界面410上的任意位置。示意性的,第二主播客户端的第二主播的直播画面419位于才艺对战的界面410上的右下角(参考图9)。

示意性的,以第一主播客户端的第一主播的对战请求是随机匹配,对战类型是游戏对战为例进行说明。可选地,游戏对战类型包括:第一主播客户端的第一主播和第二主播客户端的第二主播通过直播应用程序中预设的游戏进行对战、第一主播客户端的第一主播和第二主播客户端的第二主播通过所使用的终端上含有的游戏进行对战、第一主播客户端的第一主播和第二主播客户端的第二主播通过现实活动性的游戏(如,成语接龙、真心话大冒险、大家一起来找茬,即在两张图片上找不同等)进行对战等方式中的至少一种。

示意性的,以第一主播客户端的第一主播和第二主播客户端的第二主播通过预设的游戏进行对战,下面将结合观看第二主播客户端的第二主播的用户所显示的直播应用程序的界面进行说明,参考图10,图10示出了本申请的一个示例性实施例提供的直播应用程序的游戏对战的界面示意图。该游戏对战的界面500包括:道具或虚拟礼物选项511、音乐列表选项512、录像选项513、更多选项或菜单选项514、消息选项515、第二主播客户端的第二主播的信息516(包括:头像、用户名或昵称、id帐号、观看直播人数、关注主播虚拟选项、第二主播客户端的第二主播的等级及等级标识、升级到下一等级所需要的数值和等级详情虚拟选项)、观看第二主播客户端的第二主播的用户517、对战的场次和时间518、第一主播客户端的第一主播的id帐号519、游戏对战的总分数520、单个道具或虚拟物品的分数值521、对第一主播客户端的第一主播施加的道具或虚拟物品522、对第二主播客户端的第二主播施加的道具或虚拟物品523、游戏中的生命值的进度条524、评论或弹幕525和静音选项526。

可选地,道具或虚拟礼物选项511、音乐列表选项512、录像选项513、更多选项或菜单选项514和消息选项515可以位于直播应用程序的游戏对战的界面500上的任意位置。示意性的,以道具或虚拟礼物选项511、音乐列表选项512、录像选项513、更多选项或菜单选项514和消息选项515位于直播应用程序的游戏对战的界面500的底部。观看第二主播客户端的第二主播的用户选择道具或虚拟礼物选项511,可选地,道具或虚拟礼物选项511用于向主播客户端的主播施加道具或赠送虚拟礼物,可选地,道具包括用于对主播客户端进行加分或减分中的至少一种,可选地,道具的类型包括伤害类虚拟物品或补充类虚拟物品中的至少一种。若对主播客户端的主播施加伤害类虚拟物品,则被施加的主播客户端的主播将被扣除一定的分数;若对主播客户端的主播施加补充类虚拟物品,则被施加的主播客户端的主播将被增加一定的分数。示意性的,对主播客户端的主播施加伤害类虚拟物品(比如,毒药),该主播被扣除10分;对主播客户端的主播施加补充类虚拟物品(比如,薯条),该主播被增加10分,如图10所示。观看第二主播客户端的第二主播的用户选择音乐列表选项512,可选地,音乐列表选项512用于观看主播客户端的主播的用户选择直播的背景音乐,或者,主播客户端的主播向用户进行点歌服务,示意性的,音乐列表选项512用于主播客户端的主播的向观看直播的用户进行点歌服务,观看直播的用户选择音乐列表选项512中的至少一首歌曲,主播客户端的主播通过播放或者演唱该歌曲的方式,与点歌的用户进行互动。观看第二主播客户端的第二主播选择录像选项513,可选地,用于对第二主播客户端的第二主播的直播内容进行录像,或者,用于采集第二主播客户端的第二主播的部分视频帧制成动图表情,可选地,动图表情可以是gif动图表情。示意性的,观看第二主播客户端的第二主播的用户选择录像选项513对第二主播客户端的第二主播的直播内容进行录像,用户可以在直播结束后,回看该直播内容,并且制作关于第二主播的动图表情。观看第二主播客户端的第二主播选择更多选项或菜单选项514,可选地,用于对直播应用程序进行设置或进入菜单选项。可选地,观看第二主播客户端的第二主播的用户可以通过更多选项或菜单选项514设置直应用程序上的游戏对战的界面500的相关参数,比如,用户可以设置该游戏对战的界面500的亮度、色调、对比度、饱和度、清晰度中的至少一项参数,或者,将第二主播客户端的第二主播所直播的内容、信息、直播间对应的id帐号中的至少一项分享给其他用户,比如,将第二主播客户端的直播内容分享给社交应用程序(如,微信)上的好友,或,在该直播应用程序上的好友,或者,进行抽奖活动,抽到的奖品可以赠送给主播客户端的主播,或赠送给其他用户。可选地,其他用户可以是该直播应用程序上的用户,或者,其他应用程序上的用户。观看第二主播客户端的第二主播选择消息选项515,用于查看所有来自第二主播客户端的第二主播所在的直播间的消息,包括公共聊天消息和私人聊天消息(比如,用户a与用户b的私聊信息,或者,第二主播客户端的第二主播与用户a的私聊信息)。示意性的,该直播间的消息(包括:a用户来到了直播间、a用户发表关于直播的言论,比如,真棒!精彩的对战!或者,a用户赠送虚拟礼物的名称和个数中的至少一种)以评论或弹幕525的形式滚动显示在直播应用程序的游戏对战的界面500上。

示意性的,第一主播客户端的第一主播和第二主播客户端的第二主播进行游戏对战,游戏内容是:在规定的时间内,“吃”(采用虚拟现实技术)到一定数量的虚拟物品,累计对应虚拟物品所得到的总分数,总分数高的一方即为获胜方。结合图10,对该游戏对战进行说明。图10中左侧的直播画面中的是第一主播客户端的第一主播,右侧的直播画面中的是第二主播客户端的第二主播,第一主播客户端的第一主播“吃”到伤害类虚拟物品522(如,毒药),则第一主播客户端的第一主播将被扣除单个虚拟物品的分数值521(如,扣除10分),而第二主播客户端的第二主播“吃”到补充类虚拟物品523(如,薯条)则第二主播客户端的第二主播将被增加单个虚拟物品的分数值521(如,增加10分)。可选地,单个虚拟物品的分数值521可以显示在直播画面中的任意位置,示意性的,单个虚拟物品的分数值521显示在主播的右侧。可选地,观看主播客户端的用户可以选择道具或虚拟礼物选项511,对至少一个主播客户端的主播施加道具或虚拟礼物,可选地,对游戏对战中的至少一个主播客户端的主播施加道具或虚拟礼物的操作是独立的。比如,支持第一主播客户端的第一主播的用户对第一主播施加能够增加分数的道具或虚拟礼物,或者,支持第一主播客户端的第一主播的用户对第二主播施加能够扣除分数的道具或虚拟礼物。

可选地,游戏对战的总分数520可以显示在直播画面中的任意位置,示意性的,游戏对战的总分数520分别显示在对应主播的客户端的主播的头部的位置。可选地,代表游戏中的生命值的进度条524可以显示在直播画面中的任意位置,示意性的,代表游戏中的生命值的进度条524以对称的形式分别显示在对应的主播客户端的主播的直播画面的一侧。游戏中的生命值的进度条524代表主播客户端的主播在游戏中的生命值,黑色点状部分代表游戏中的剩余的生命值(参考图10),当生命值为零时(即无黑色点状部分),则对应的主播在游戏中的生命结束,游戏也结束。游戏对战的总分数高的主播为获胜方,如图10所示,第一主播客户端的第一主播的对战的总分数是10分,第二主播客户端的第二主播的对战的总分数是130分,则第二主播客户端的第二主播为获胜方,第一主播客户端的第一主播为失败方。可选地,对战以三局两胜的赛制,或者,五局三胜的赛制,或者,车轮战赛制(获胜方可以接受其他主播客户端的主播挑战,直到产生最后的获胜方)。可选地,对战时间可以是直播应用程序中预设的游戏中所设置的时间,或者,进行游戏对战的主播客户端的主播约定的时间。可选地,游戏对战可以分为上半场或下半场,或者,对战中间无间断。示意性的,游戏对战分为上半场,上半场时间为3秒,如图10所示。

需要说明的是,上述“吃”是指采用增强现实技术(ar,augmentedreality),摄像头对主播客户端的主播进行面部和动作的识别,当主播张开嘴做出“吃”的动作,接近该主播的虚拟物品将被识别为“吃掉”,并且,该主播被加上虚拟物品对应的分数。

上述实施例结合直播应用程序的界面对才艺对战和游戏对战进行了说明,下面将对对战结算过程进行说明。

步骤304,在第一主播客户端和第二主播客户端完成对战时,对对战进行结算。

在第一主播客户端的第一主播和第二主播客户端的第二主播完成对战时,对至少一个主播客户端的主播的对战进行结算,下面结合图11对对战的结算过程进行说明。

参考图11,图11示出了本申请的一个示例性实施例提供的对战结算系统18,该对战结算系统18包括:对战逻辑模块112、对战匹配模块113、消息队列115、对战统计模块116、数据结构服务器117和对战审核模块118。在第一主播客户端和第二主播客户端的第二主播完成对战时,对战匹配模块113向对战逻辑模块112发送结算指令。对战逻辑模块112从数据结构服务器117中读取新的数据,并且根据对战类型对应的目标加减分规则和对战的胜负情况,得到第一主播客户端的第一主播和第二主播客户端的第二主播中的至少一个主播客户端的主播的加减分信息,根据加减分信息对对战进行结算,将结算后的加减分请求存储至消息队列115,对战统计模块116从消息队列中读取加减分请求并执行,得到至少一个主播客户端的主播的实际加减分结果。同时,对战逻辑模块112根据加减分信息得到校对加减分结果。对战审核模块118对实际加减分结果和校对加减分结果进行校对,若校对结果无误,则得到最终的对战结果。

结合图12对对战逻辑模块在结算过程中的起到的作用进行说明,图12示出了本申请的一个示例性实施例提供的对战逻辑模块的加减分计算的方法的流程图,该方法应用于对战完成时的结算过程,包括如下步骤:

步骤1201,确定与对战类型对应的目标加减分规则。

对战逻辑模块112根据至少一个主播客户端的主播发起的对战请求确定对应的对战类型,在至少两种加减分规则中,查询与对战类型对应的目标加减分规则,并且接收第二配置信息,根据第二配置信息存储对战类型和加减分规则之间的对应关系,可选地,对战类型和加减分规则之间的对应关系存储在数据结构服务器存储空间中。

可选地,对战类型包括:才艺对战、游戏对战和送礼对战中的至少一种。可选地,至少两种加减分规则包括:普通加分规则和普通减分规则中的至少一种,或者,翻倍加分规则和翻倍减分规则中的至少一种。示意性的,在一场对战中,单个普通道具的加分规则是每个道具加10分(比如,主播“吃”到补充类虚拟物品薯条,则对战总分数加10分);单个普通道具的减分规则是每个道具减10分(比如,主播“吃”到伤害类虚拟物品毒药,则对战总分数减10分)。示意性的,在一场对战中,单个特殊道具的加分规则是每个道具加30分(比如,主播“吃”到补充类虚拟物品鸡腿,则对战总分数加30分);单个特殊道具的减分规则是每个道具减30分(比如,主播“吃”到伤害类虚拟物品炸弹,则对战总分数减30分)。可选地,观看主播客户端的主播的用户还可以赠送特殊道具或虚拟礼物为主播加分或者减分。示意性的,观看第一主播客户端的第一主播的用户向第一主播赠送补充类虚拟礼物或道具(比如,鱼丸),则对第一主播的对战总分数加上一定的分数(比如,加5分);观看第一主播客户端的第一主播的用户向第二主播赠送伤害类虚拟礼物或道具(比如,刀片),则对第二主播的对战总分数减去一定的分数(比如,减5分)。

步骤1202,根据目标加减分规则和对战的对战胜负情况,得到第一主播客户端和第二主播客户端中的至少一个客户端的加减分信息。

对战逻辑模块112根据目标加减分规则和对战的对战胜负情况,得到第一主播客户端的第一主播和第二主播客户端的第二主播中的至少一个客户端的主播的加减分信息。

可选地,对战的对战胜负情况包括:分出胜负双方和出现平局中的至少一种。可选地,对战的获胜方增加一定的积分,对战的失败方扣除一定的积分,若出现平局的情况,则对战双方各自的总积分不变。可选地,该积分决定主播在排行榜上的排名,或者,等级,或者所拥有的荣誉勋章的等级。示意性的,在一场对战中,对战的获胜方增加5分的积分,对战的失败方扣除5分的积分,若出现平均的情况,则对战双方既不增加积分也不扣除积分(即获胜方加0分,失败方扣除0分)。示意性的,第一主播客户端的第一主播的积分是100,该主播位于排行榜上的第二名,所处的等级是王者等级,所拥有的荣誉勋章是与王者等级对应的荣誉勋章;第二主播客户端的第二主播的积分是200,该主播位于排行榜上的第一名,所处的等级是传奇等级,所拥有的荣誉勋章是与传奇等级对应的荣誉勋章。可选地,获胜方的主播的粉丝也可以获得相应的虚拟礼物或积分,或者,现金、礼金券、代金券、游戏装备等奖励,失败方的主播的粉丝不获得奖励。

步骤1203,根据加减分信息对对战进行结算。

对战逻辑模块112根据加减分信息生成对战对应的加减分请求,并且将加减分请求存储至消息队列115中,同时根据加减分信息,得到第一主播客户端的第一主播和第二主播客户端的第二主播中至少一个客户端的主播的校对加减分结果,即结算出理论上的加减分结果。

结合图13,对结算过程进一步说明,图13示出了本申请的一个示例性实施例提供的对战统计模块的结算方法的流程图。该方法应用于直播对战的结算过程,包括以下步骤:

步骤1301,将加减分请求存储至消息队列中。

对战逻辑模块112将加减分请求存储至消息队列115中。

步骤1302,从消息队列中顺序读取加减分请求,执行读取到的加减分请求,得到第一主播客户端和第二主播客户端中的至少一个客户端的实际加减分结果。

对战统计模块116从消息列表中顺序读取加减分请求,执行读取到的加减分请求,得到第一主播客户端的第一主播和第二主播客户端的第二主播中的至少一个客户端的主播的实际加减分结果。

图14示出了本申请的另一个示例性实施例提供的对战统计模块的结算方法的流程图,该方法应用于直播对战的结算过程,包括以下步骤:

步骤1401,从消息列表中读取加减分请求,执行读取到的加减分请求。

对战统计模块116从消息列表中顺序读取加减分请求,执行读取到的加减分请求。

步骤1402,前置过滤。

通过前置的全局过滤条件对不需要的加减分请求进行过滤,若符合前置的全局过滤条件,则进入步骤1404;若不符合前置的全局过滤条件,则进入步骤1406,对战统计模块116的结算过程结束。

可选地,该前置的全局过滤条件是对战的活动不存在,或者,对战的主播的等级不符合参加对战的要求,或者,对战的主播曾经有不良记录。示意性的,当结算一场对战时,若该对战的对应的活动时间已经结束,则无法对该对战进行结算;若对战的至少一个主播客户端的主播的等级未达到参与对战的要求,则无法对该对战进行结算;若对战的至少一个主播客户端的主播曾经有过违法的直播记录,则无法对该对战进行结算。

步骤1403,策略校验。

若通过策略校验,则对对战分数进行加工,进入步骤1404;若未通过策略校验,则进入步骤1406,对战统计模块116的结算过程结束。

策略是指对直播应用程序中的虚拟礼物或道具对应的配置分值,或者,粉丝或粉丝团对主播的对战分数进行加成的规则。可选地,策略支持动态的添加,根据需要来添加不同的策略。示意性的,虚拟礼物对应的配置分值是至少5分,粉丝或粉丝团对主播的对战分数进行至少两倍加成,等级越高的粉丝团,加成倍数越大。

步骤1404,得到第一主播客户端和第二主播客户端中的至少一个客户端的实际加减分结果。

通过策略校验对分数进行加工,得到第一主播客户端的第一主播和第二主播客户端的第二主播中的至少一个客户端的主播的实际加减分结果。

步骤1405,将榜单写入。

对战审核模块118对对战统计模块116对得到的实际加减分结果和对战逻辑模块113得到的校对加减分结果进行校对,将最终的校对结果写入redis存储空间,生成排行榜的榜单。

可选地,将至少一个客户端的主播的实际加减分结果写入排行榜的榜单。可选地,排行榜是主播总榜(直播应用程序中所有主播的积分排行榜)、周榜(直播应用程序中一周时间内所有主播的积分排行榜)、日榜(直播应用程序中24小时内所有主播的积分排行榜)、小时榜(直播应用程序中1小时内所有主播的积分排行榜)、粉丝榜(直播应用程序中所有主播中各主播的粉丝人数的排行榜)中的至少一个。示意性的,对战审核模块118将最终的校对结果写入redis存储空间,将第一客户端的第一主播和第二客户端的第二主播的最终校对结果写入redis存储空间,生成主播总榜的榜单。

步骤1406,结束。

在生成排行榜的榜单后,对战统计模块116结束对战结算过程。

综上所述,通过在直播系统中设置对战逻辑模块、对战数据模块、对战匹配模块和对战统计模块四个模块,完成了从发起对战请求到结算对战的整个过程。通过对模块进行动态配置,使得直播系统适用于各类直播应用程序,研发人员只需根据需要在相关模块中对相关逻辑进行增加、删除和修改等操作即可。

以下为本申请的装置实施例,对于装置实施例中未详细描述的细节,可以结合参考上述方法实施例中相应的记载,本文不再赘述。

图15示出了本申请的一个示例性实施例提供的直播系统中的对战装置的结构示意图。该装置可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分,该装置包括:接收模块1510、对战匹配模块1520、对战逻辑模块1530、对战数据模块1540、对战统计模块1550、消息队列1560数据结构服务器1570和对战审核模块1580,其中,接收模块1510是可选的模块。

接收模块1510,用于接收至少一个第一主播客户端发送的对战请求,存在至少两个对战请求的对战类型是不同的。

对战匹配模块1520,用于根据对战请求对应的对战类型,确定目标对战匹配规则;根据目标对战匹配规则匹配出参与对战的第二主播客户端。

对战逻辑模块1530,用于根据第一主播客户端和第二主播客户端创建对战;将对战的对战信息写入存储空间。

所述对战逻辑模块1530,还用于在第一主播客户端和第二主播客户端完成对战时,对对战进行结算。

在一个可选的实施例中,对战匹配模块1230还用于:确定与对战请求对应的对战类型;在至少两种对战匹配规则中,查询与对战类型对应的目标对战匹配规则。

在一个可选的实施例中,上述两种对战匹配规则包括如下规则中的至少两条:

按照主播客户端对应的埃洛(elo)分值进行匹配;

按照主播客户端对应的胜负概率进行匹配;

按照主播客户端所在的地区进行匹配;

按照主播客户端所对应的直播类型进行匹配。

在一个可选的实施例中,存储空间包括:互相独立的n个存储空间,n为大于2的整数;上述装置还包括对战数据模块1540,用于将对战的对战信息写入n个存储空间;当接收到至少两个存储空间反馈的写入成功响应时,确定对战信息写入成功。

在一个可选的实施例中,所述对战逻辑模块1530,还用于确定与对战类型对应的目标加减分规则;根据目标加减分规则和对战的对战胜负情况,得到第一主播客户端和第二主播客户端中的至少一个客户端的加减分信息;根据加减分信息对所述对战进行结算。

在一个可选的实施例中,所述对战逻辑模块1530,还用于确定与对战请求对应的对战类型;在至少两种加减分规则中,查询与对战类型对应的目标加减分规则。

在一个可选的实施例中,上述装置还包括对战统计模块1550和对战审核模块1580,所述对战逻辑模块1530,还用于根据加减分信息生成对战对应的加减分请求;

对战统计模块1550,用于执行加减分请求,得到第一主播客户端和第二主播客户端中的至少一个客户端的实际加减分结果;

所述对战逻辑模块1530,还用于根据加减分信息,得到第一主播客户端和第二主播客户端中的至少一个客户端的校对加减分结果;

对战审核模块1580,用于校对实际加减分结果和校对加减分结果。

在一个可选的实施例中,上述装置还包括消息队列1560,所述阿萨诺书对战逻辑模块1530,还用于将加减分请求存储至消息队列1560中;

所述对战统计模块1550,还用于从消息队列1560中顺序读取加减分请求,执行读取到的加减分请求,得到第一主播客户端和第二主播客户端中的至少一个客户端的实际加减分结果。

在一个可选的实施例中,所述接收模块1510,还用于接收第一配置信息;根据第一配置信息存储对战类型和对战匹配规则之间的对应关系。

在一个可选的实施例中,所述接收模块1510,还用于接收第二配置信息;根据第二配置信息存储对战类型和加减分规则之间的对应关系。

下面是对本申请实施例的服务器结构进行说明,请参考图16,

图16是本申请一个实施例提供的服务器的结构示意图。具体来讲:服务器1600包括中央处理单元(英文:centralprocessingunit,简称:cpu)1601、包括随机存取存储器(英文:randomaccessmemory,简称:ram)1602和只读存储器(英文:read-onlymemory,简称:rom)1603的系统存储器1604,以及连接系统存储器1604和中央处理单元1601的系统总线1605。所述服务器1600还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(i/o系统)1606,和用于存储操作系统1613、应用程序1614和其他程序模块1615的大容量存储设备1607。

所述基本输入/输出系统1606包括有用于显示信息的显示器1608和用于用户输入信息的诸如鼠标、键盘之类的输入设备1609。其中所述显示器1608和输入设备1609都通过连接到系统总线1605的输入/输出控制器1610连接到中央处理单元1601。所述基本输入/输出系统1606还可以包括输入/输出控制器1610以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入/输出控制器1610还提供输出到显示屏、打印机或其他类型的输出设备。

所述大容量存储设备1607通过连接到系统总线1605的大容量存储控制器(未示出)连接到中央处理单元1601。所述大容量存储设备1607及其相关联的计算机可读介质为服务器1600提供非易失性存储。也就是说,所述大容量存储设备1607可以包括诸如硬盘或者只读光盘(英文:compactdiscread-onlymemory,简称:cd-rom)驱动器之类的计算机可读介质(未示出)。

不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、可擦除可编程只读存储器(英文:erasableprogrammableread-onlymemory,简称:eprom)、电可擦除可编程只读存储器(英文:electricallyerasableprogrammableread-onlymemory,简称:eeprom)、闪存或其他固态存储其技术,cd-rom、数字通用光盘(英文:digitalversatiledisc,简称:dvd)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1604和大容量存储设备1607可以统称为存储器。

根据本申请的各种实施例,所述服务器1600还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1600可以通过连接在所述系统总线1605上的网络接口单元1611连接到网络1612,或者说,也可以使用网络接口单元1611来连接到其他类型的网络或远程计算机系统(未示出)。

本申请还提供了一种计算机设备,该计算机设备包括:处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的直播系统中的对战方法。

本申请还提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述各方法实施例提供的直播系统中的对战方法。

应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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