CN109684102B - 直播答题的处理方法、装置、计算机可读存储介质及终端 - Google Patents

直播答题的处理方法、装置、计算机可读存储介质及终端 Download PDF

Info

Publication number
CN109684102B
CN109684102B CN201811533779.8A CN201811533779A CN109684102B CN 109684102 B CN109684102 B CN 109684102B CN 201811533779 A CN201811533779 A CN 201811533779A CN 109684102 B CN109684102 B CN 109684102B
Authority
CN
China
Prior art keywords
answer
cache
queues
messages
queue
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811533779.8A
Other languages
English (en)
Other versions
CN109684102A (zh
Inventor
彭国强
谢会桄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bigo Technology Singapore Pte Ltd
Original Assignee
Guangzhou Baiguoyuan Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Baiguoyuan Information Technology Co Ltd filed Critical Guangzhou Baiguoyuan Information Technology Co Ltd
Priority to CN201811533779.8A priority Critical patent/CN109684102B/zh
Publication of CN109684102A publication Critical patent/CN109684102A/zh
Application granted granted Critical
Publication of CN109684102B publication Critical patent/CN109684102B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Abstract

本发明实施例公开了一种直播答题的处理方法、装置、计算机可读存储介质及终端,包括:获取多个观众终端提交的答题消息,其中,所述答题消息包括答案选项;将多个所述答题消息添加到多个缓存队列中进行缓存;当多个所述缓存队列中存在符合预设条件的目标缓存队列时,按照答案选项的类别对所述目标缓存队列中的多个所述答题消息进行分类缓存。上述方法不仅可以对答题消息进行延时处理,缓解服务器的处理压力,还可以提高服务器的并发处理能力,提高处理进度,缩短处理时间。此外,该方法中当答题直播间的观众数量较多时,只需要按照答题直播间的观众处理设置多个缓存队列即可,利于扩展。

Description

直播答题的处理方法、装置、计算机可读存储介质及终端
技术领域
本申请涉及互联网技术领域,具体而言,本申请涉及一种直播答题的处理方法、装置、计算机可读存储介质及终端。
背景技术
直播答题是新兴起的一种依靠互联网在线答题赢奖金的活动。每次活动由一名主持人出题,一般有12道选择题,每次出题会弹出画面,每题有10秒钟的作答时间。
一般情况下,传统直播同时在线的人数比较少。但是在直播答题时,为了增加用户量,通常采用一些手段,例如,通过金钱吸引用户,通过拉新复活几道题等。采用上述这些手段会使同时在线的用户量超过百万级别,因此,当用户提交题目时,后台服务器会承受海量的并发压力。为应对上述问题,通常采用两种方法,第一种方法中,观众把答案提交到最近的服务接入点,接入点再透传到后端的答题逻辑服务器,答题逻辑服务器分类缓存用户提交答题的正确性。第二种方法中,观众提交的答题通过集群先进行分类缓存,再将分类缓存的结果推送到答题逻辑服务,答题逻辑服务再通知给客户端。
但是,上述两种方法均存在一定的问题,第一种方法中随着在线答题人数的增加,答题逻辑服务处理能力下降,且该框架不利于扩展。第二种方法中,分布式集群部署困难,当网络出现问题时,计算的时间较长,会影响答题的进度。
发明内容
本申请针对现有方式存在的直播内容单一和同质化问题,提出一种直播答题的处理方法、装置、计算机可读存储介质及终端,以丰富直播内容。
本申请的实施例根据第一个方面,提供了一种直播答题的处理方法,包括:
获取多个观众终端提交的答题消息,其中,所述答题消息包括答案选项;
将多个所述答题消息添加到多个缓存队列中进行缓存;
当多个所述缓存队列中存在符合预设条件的目标缓存队列时,按照答案选项的类别对所述目标缓存队列中的多个所述答题消息进行分类缓存。
可选地,所述将多个所述答题消息添加到多个缓存队列中进行缓存,包括:
依次对每个所述答题消息进行哈希运算,得到多个哈希值;
获取所述缓存队列的个数,并根据所述个数对每个所述哈希值进行取模运算得到余数;
将多个所述答题消息按照所述余数对应的序号添加到所述多个缓存队列中。
可选地,所述当多个所述缓存队列中存在符合预设的条件的目标缓存队列时,按照答案选项的类别对所述目标缓存队列中的多个所述答题消息进行分类缓存之前,还包括:
判断所述多个缓存队列中是否存在最先添加的答题消息的缓存时间达到预设时间段的缓存队列;
当存在时,将最先添加的答题消息的缓存时间达到预设时间段的缓存队列确定为目标缓存队列。
可选地,所述多个缓存队列包括多个一级缓存队列和多个二级缓存队列;所述将多个所述答题消息添加到多个缓存队列中进行缓存,包括:
从所述多个一级缓存队列中选取答题消息个数大于预设值的目标一级缓存队列;
遍历每个所述二级缓存队列确定答题消息的个数最少的二级缓存队列;
将所述目标一级缓存队列添加到答题消息个数最少的二级缓存队列中进行缓存。
可选地,所述当多个所述缓存队列中存在符合预设的条件的目标缓存队列时,按照答案选项的类别对所述目标缓存队列中的多个所述答题消息进行分类缓存之前,包括:
判断多个所述二级缓存队列中是否存在答题消息的个数大于预设个数的二级缓存队列;
当存在时,将答题消息的个数大于预设个数的二级缓存队列确定为目标二级缓存队列。
可选地,所述按照所述答案选项对多个所述答题消息进行分类缓存,包括:
获取所述答题消息中的答案选项;
从预设的多个选项缓存队列中选取与所述答案选项具有相同类别的选项缓存队列;
将所述答题消息添加到选取的选项缓存队列中。
可选地所述按照所述答案选项对多个所述答题消息进行分类缓存之后,还包括:
从所述多个选项缓存队列中选取与预先得到的正确选项具有相同类别的目标选项缓存队列;
从所述目标选项缓存队列中提取所述答题消息表征的账户信息;
判断每个题号对应的目标选项缓存列表中是否存在所述账户信息对应的答题消息;
当存在时,确定所述账户信息表征的用户为答题全部正确的用户。
本申请的实施例根据第二个方面,还提供了一种直播控制装置,包括:
获取模块,用于获取多个观众终端提交的答题消息,其中,所述答题消息包括答案选项;
处理模块,用于将多个所述答题消息添加到多个缓存队列中进行缓存;
执行模块,用于当多个所述缓存队列中存在符合预设条件的目标缓存队列时,按照答案选项的类别对所述目标缓存队列中的多个所述答题消息进行分类缓存。
可选地,所述处理模块包括:
第一处理子模块,用于依次对每个所述答题消息进行哈希运算,得到多个哈希值;
第一获取子模块,用于获取所述缓存队列的个数,并根据所述个数对每个所述哈希值进行取模运算得到余数;
第一执行子模块,用于将多个所述答题消息按照所述余数对应的序号添加到所述多个缓存队列中。
可选地,还包括:
第二处理子模块,用于判断所述多个缓存队列中是否存在最先添加的答题消息的缓存时间达到预设时间段的缓存队列;
第二执行子模块,用于当存在时,将最先添加的答题消息的缓存时间达到预设时间段的缓存队列确定为目标缓存队列。
可选地,所述多个缓存队列包括多个一级缓存队列和多个二级缓存队列;所述处理模块,包括:
第二获取子模块,用于从所述多个一级缓存队列中选取答题消息个数大于预设值的目标一级缓存队列;
第三获取子模块,用于遍历每个所述二级缓存队列确定答题消息的个数最少的二级缓存队列;
第三处理子模块,用于将所述目标一级缓存队列添加到答题消息个数最少的二级缓存队列中进行缓存。
可选地,还包括:
第四处理子模块,用于判断多个所述二级缓存队列中是否存在答题消息的个数大于预设个数的二级缓存队列;
第三执行子模块,用于当存在时,将答题消息的个数大于预设个数的二级缓存队列确定为目标二级缓存队列。
可选地,所述执行模块包括:
第四获取子模块,用于获取所述答题消息中的答案选项;
第五处理子模块,用于从预设的多个选项缓存队列中选取与所述答案选项具有相同类别的选项缓存队列;
将所述答题消息添加到选取的选项缓存队列中。
可选地,还包括:
第五获取子模块,用于从所述多个选项缓存队列中选取与预先得到的正确选项具有相同类别的目标选项缓存队列;
第六获取子模块,用于从所述目标选项缓存队列中提取所述答题消息表征的账户信息;
第六处理子模块,用于判断每个题号对应的目标选项缓存列表中是否存在所述账户信息对应的答题消息;
第四执行子模块,用于当存在时,确定所述账户信息表征的用户为答题全部正确的用户。
本申请的实施例根据第三个方面,还提供了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述所述直播答题的处理方法的步骤。
本申请的实施例根据第四个方面,还提供了一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述所述直播答题的处理方法的步骤。
本申请实施例的有益效果是:通过将获取到的多个答题消息添加到预设的多个缓存队列中,以及按照答案的选项类别对答题消息进行分类缓存,如此不仅可以对答题消息进行延时处理,缓解服务器的处理压力,通过设置多个缓存队列还可以提高服务器的并发处理能力,提高处理进度,缩短处理时间。此外,该方法中当答题直播间的观众数量较多时,只需要按照答题直播间的观众处理设置多个缓存队列即可,利于扩展。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例提供的一种直播答题的处理方法的基本流程示意图;
图2为本发明实施例提供的一种将多个答题消息添加到多个缓存队列中进行缓存的方法的基本流程示意图;
图3为本发明实施例提供一种确定目标缓存队列的方法的基本流程示意图;
图4为本发明实施例提供的另一种将多个答题消息添加到多个缓存队列中进行缓存的方法的基本流程示意图;
图5为本发明实施例提供另一种确定目标缓存队列的方法的基本流程示意图;
图6为本发明实施例提供的一种按照答案选项对多个答题消息进行分类缓存的方法的基本流程示意图;
图7为本发明实施例提供的一种确定答题全部正确的用户的方法的基本流程示意图;
图8为本发明实施例提供的一种直播答题的处理装置的基本结构框图;
图9为本发明实施例提供的计算机设备的基本结构框图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“终端”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(Personal Communications Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(PersonalDigital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global Positioning System,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
请参阅图1,图1为本发明实施例提供的一种直播答题的处理方法的基本流程示意图。
如图1所示,一种直播答题的处理方法,包括:
S1100、获取多个观众终端提交的答题消息,其中,答题消息包括答案选项;
观众终端为答题直播间内的观众的终端。答题消息用于表示答题直播中的观众针对直播的问题所作出的答案的消息,其中,该问题为选择题,答题消息中包括观众选择的答案的选项。例如,答题直播中提供的可选择的选项的包括A、B、C三个,观众选择的答案为选项C,则该观众通过观众终端发送的答题消息中包括选项C。
需要说明的是,获取答题消息的服务器可以为单个服务器,也可以为由多个服务器组成的服务器集群。本发明实施例中,可以按照预设的条件,例如,地域、观众级别等设置多个服务器作为接入点,用于接收观众终端发送的答题消息。
S1200、将多个答题消息添加到多个缓存队列中进行缓存;
通常情况下,当答题直播间的观众数量较多时,为了避免同时向服务器提交消息对服务器造成的压力,在服务器中可以预设有多个缓存队列,将接收到的答题消息先进行缓存。具体地,可以按照接入点将接收到的多个答题消息一起加入到缓存队列中,例如,当接入点接收到预设个数的答题消息后,将该预设个数的答题消息添加缓存队列中。
需要说明的是,在选择待添加的缓存队列时,为增加随机性可以按照预设的算法计算余数作为待添加的缓存队列的序号,还可以判断各个缓存队列中待处理的答题消息的个数,将个数最少的缓存队列作为待添加的答题队列。
在一些实施方式中,还可以设置多级缓存队列,例如,将答题消息在一级缓存队列中先进行缓存,待一级缓存队列中的答题消息满足预设的条件后,再将其加入到二级缓存队列中进行缓存,通过设置多级缓存队列可以增加待处理的答题消息的缓存时间,以便对其进行延时处理,从而缓解了服务器的压力。
S1300、当多个缓存队列中存在符合预设条件的目标缓存队列时,按照答案选项的类别对目标缓存队列中的多个答题消息进行分类缓存。
目标缓存队列为符合预设的处理条件的缓存队列,其中,预设条件可以按照自定义进行设置,例如,缓存队列中答题消息的个数是否达到预设值,答题消息的缓存的时间是否大于预设时段。本发明实施例中,通过设置上述预设条件可以避免答题消息的等待时间过长,影响处理进度。此外,服务器选取目标缓存队列中的答题消息作为待处理的对象可以有效的对其它缓存队列中的答题消息进行延时,分散处理压力。
服务器在对目标缓存队列中的答题消息进行处理时,由于答题消息中包含的答案为选择题的选项,因此,为了提高处理速度,可以按照答案选项的类别依次进行分类统计。例如,将答案选项均为A的划分为一组,将答案选项均为B的划分为一组,依次类推。
本发明实施例中,由于答题直播中的答题个数有多个,需要按照出题的时间针对每一道题的答题消息进行分类缓存,待答题结束后,还需要对分类缓存后的结果进行处理,因此,为了便于处理统计后的结果,服务器按照答案选项的类别预设了多个缓存队列,例如,设置A缓存队列,B缓存队列,C缓存队列和D缓存队列。服务器在对多个答题消息进行分类缓存时,按照答案选项的类别将答题消息添加到对应的缓存队列中。例如,若答题消息中包含A答案选项,则将该答题消息添加到A缓存队列中。
上述直播答题的处理方法,通过将获取到的多个答题消息添加到预设的多个缓存队列中,以及按照答案的选项类别对答题消息进行分类缓存,如此不仅可以对答题消息进行延时处理,缓解服务器的处理压力,通过设置多个缓存队列还可以提高服务器的并发处理能力,提高处理进度,缩短处理时间。此外,该方法中当答题直播间的观众数量较多时,只需要按照答题直播间的观众处理设置多个缓存队列即可,利于扩展。
本发明实施例提供一种将多个答题消息添加到多个缓存队列中进行缓存的方法,如图2所示,图2为本发明实施例提供的一种将多个答题消息添加到多个缓存队列中进行缓存的方法的基本流程示意图。具体地,如图2所示,步骤S1200包括下述步骤:
S1211、依次对每个答题消息进行哈希运算,得到多个哈希值;
哈希算法时将任意长度的二进制值映射为较短的固定长度的二进制值,该固定长度的二进制值为数据较短的哈希值。本发明的一个实施例中,服务器对每个终端发送的答题消息(二进制数据)采用哈希算法进行计算得到哈希值。
S1212、获取缓存队列的个数,并根据个数对每个哈希值进行取模运算得到余数;
S1213、将多个答题消息按照对应的序号添加到多个缓存队列中。
在一些实施方式中,还可以对得到的哈希值进行取余运算,得到余数。例如,进行取模运算时,mod(3,3)=0,mod(4,3)=1,mod(5,3)=2,在进行取余运算时,rem(3,3)=0,rem(4,3)=1,rem(5,3)=2,其中,mod(4,3)和rem(4,3)中的4为第一操作数,3为第二操作数,第一操作数为采用哈希算法得到的哈希值,第二操作数为缓存队列的个数。
本实施例中,对每个缓存队列设置编号,例如,当存在三个缓存队列时,分别设置编号为0、1和2。当得到的余数为0时,将答题消息添加到编号为0的缓存队列中,当得到的余数为1时,将答题消息添加到编号为1的缓存队列中,当得到的余数为2时,将答题消息添加到编号为2的缓存队列中。通过上述方法,可以提高答题消息加入到缓存队列的随机性。
在一些实施方式中,为了使每个缓存队列中的答题消息的个数均衡,遍历每个缓存队列中答题消息的个数,确定个数最少的缓存队列,并将答题消息插入到个数最少的缓存队列中。
本发明实施例提供一种确定目标缓存队列的方法,如图3所示,图3为本发明实施例提供一种确定目标缓存队列的方法的基本流程示意图。具体地,如图3所示,步骤S1300之前还包括下述步骤:
S1301、判断多个缓存队列中是否存在最先添加的答题消息的缓存时间达到预设时间段的缓存队列;
S1302、当存在时,将最先添加的答题消息的缓存时间达到预设时间段的缓存队列确定为目标缓存队列。
每个缓存队列中,按照答题消息插入队列的时间不同,多个答题消息依次排列,本发明实施例中,判断排在首位的答题消息,即最先插入队列的答题消息的缓存时间是否达到预设的时间段,当达到预设时间时,该队列作为目标缓存队列,其中,目标缓存队列为可以进行分类统计处理的队列。需要说明的是,本实施例中,目标缓存队列中答题消息的个数不做限定。
通过上述以最先添加的答题消息的缓存时间作为判断目标缓存对象的条件,可以确保答题消息的缓存时间不至于过长,避免影响处理进度。
在一些实施方式中,还可以判断缓存队列中的答题消息的个数是否达到预设个数,以及将最先达到预设个数的缓存队列作为目标缓存队列。
在实际应用中,当答题直播中的观众数量过多时,为了进一步对答题消息进行延时,缓解服务器的处理压力,本发明实施例提供了另一种将多个答题消息添加到多个缓存队列中进行缓存的方法,其中,缓存队列包括多个一级缓存队列和多个二级缓存队列。如图4所示,图4为本发明实施例提供的另一种将多个答题消息添加到多个缓存队列中进行缓存的方法的基本流程示意图。具体地,如图4所示,步骤S1200包括下述步骤:
S1221、从多个一级缓存队列中选取答题消息个数大于预设值的目标一级缓存队列;
当答题直播中的观众数目巨大时,一级缓存队列中的答题消息个数越来越多,判断一级缓存队列中的答题消息的个数是否大于该预设个数,在这种情况下,由于答题消息过多,缓存队列中每个答题消息的间隔时间较短,通过判断一级缓存队列中的个数来确定目标一级缓存队列即可确保缓存队列中的答题消息的缓存时间不至于过长,避免影响其处理进度。其中,目标一级缓存队列为待添加到二级缓存队列中的缓存队列,一般情况下,一级缓存队列的答题消息的个数较二级缓存队列的个数少。
需要说明的是,在步骤S1221之前,将答题消息添加到一级缓存队列中时可以参照图2所示的实施例,即,采用预设的算法对多个答题进行计算;将得到的数值进行取模运算得到余数;将多个答题消息按照余数对应的序号添加到多个一级缓存队列中。
S1222、遍历每个二级缓存队列确定答题消息的个数最少的二级缓存队列;
S1223、将目标一级缓存队列添加到答题消息个数最少的二级缓存队列中进行缓存。
将目标一级缓存队列添加到答题消息个数最少的二级缓存队列中进行缓存,可以均衡每个二级缓存队列中答题消息的数量。其中,在添加的时候,按照这个队列进行添加。在一些实施方式中,将一级缓存队列添加到二级缓存队列中时,可以参照图2所示的实施例,即,采用预设的算法对多个一级缓存队列进行计算;将得到的数值进行取模运算得到余数;将多个一级缓存队列按照余数对应的序号添加到多个二级缓存队列中。
本发明实施例提供另一种确定目标缓存队列的方法,如图5所示,图5为本发明实施例提供另一种确定目标缓存队列的方法的基本流程示意图。具体地,如图5所示,步骤S1300之前还包括下述步骤:
S1311、判断多个二级缓存队列中是否存在答题消息的个数大于预设个数的二级缓存队列;
S1312、当存在时,将答题消息的个数大于预设个数的二级缓存队列确定为目标二级缓存队列。
目标二级缓存队列为需要对其中的答题消息进行分类缓存的缓存队列。当答题直播中的观众数目巨大时,二级缓存队列中的答题消息个数不间断增多,二级缓存队列中每个一级缓存队列的间隔时间较短,为确保缓存队列中的答题消息的缓存时间不至于过长,可通过判断二级缓存队列中的个数来确定。
在一些实施方式中,还可以判断二级缓存队列中的最先添加的一级缓存队列的缓存时间是否达到预设时间段,以及将最先达到预设时间的缓存队列作为目标二级缓存队列。
本发明实施例提供一种按照答案选项对多个答题消息进行分类缓存的方法,如图6所示,图6为本发明实施例提供的一种按照答案选项对多个答题消息进行分类缓存的方法的基本流程示意图。具体地,如图6所示,步骤S1300包括下述步骤:
S1321、获取答题消息中的答案选项;
答题消息用于表示答题直播中的观众针对直播的问题所作出的答案的消息,一般情况下,该问题为选择题,对应的答题消息中包含了答案的选项。服务器通过对答题消息进行解析,进而得到答案选项。例如,答题直播中提供的可选择的选项的包括A、B、C三个,观众选择的答案为选项C,则该观众通过观众终端发送的答题消息中包括选项C。
S1322、从预设的多个选项缓存队列中选取与答案选项具有相同类别的选项缓存队列;
S1323、将答题消息添加到选取的选项缓存队列中。
由于答题直播中的答题个数有多个,需要按照出题的时间针对多个的答题消息进行统计,待答题结束后,还需要对分类缓存后的结果进行处理,因此,为了便于处理分类缓存后的结果,服务器按照答案选项的类别预设了多个缓存队列,例如,设置A缓存队列,B缓存队列,C缓存队列和D缓存队列。其中,服务器其针对每个缓存队列设置标签。
服务器按照答案选项的类别将答题消息添加到对应的缓存队列中时,从答题消息中提取答案选项,并将答案选项与缓存队列的标签进行比对,当比对一致时,将该答题消息添加到比对一致的缓存队列中。例如,若从答题消息中提取的答案选项是A,则将该答题消息添加到A缓存队列中。
一般情况下,答题直播中会有多个问题需要作答,当答题结束后,确定全部答对的用户,并向该用户提供奖金。因此,服务器在统计最后一个问题之前,将观众端提交的答题消息统计并缓存到预设的选项队列中,当答题结束后,再对每道题的答案选项中缓存的答题消息进行处理,选取全部答对的用户。针对该方案,本发明实施例提供一种确定答题全部正确的用户的方法,如图7所示,图7为本发明实施例提供的一种确定答题全部正确的用户的方法的基本流程示意图。具体地,如图7所示,步骤S1300之后还包括下述步骤:
S1331、从多个选项缓存队列中选取与预先得到的正确选项具有相同类别的目标选项缓存队列;
目标选项缓存队列为与该道问题的正确答案的选项相同的缓存队列。例如,预先得到的正确选项是A,则目标选项缓存队列为A缓存队列,其中,A缓存队列中每个答题消息的答案选项均为A。
S1332、从目标选项缓存队列中提取答题消息表征的账户信息;
目标选项缓存队列中包括多个答题消息,服务器对每个答题消息进行解析,得到发送每个答题消息的账户信息,其中,账户信息为观众在终端注册的账号的信息。
S1333、判断每个题号对应的目标选项缓存队列中是否存在账户信息对应的答题消息;
S1334、当存在时,确定账户信息表征的用户为答题全部正确的用户。
需要说明的是,由于问题直播中所提出的问题为多个,参照图1~图6所示的实施例,每个问题均有对应的目标选项缓存队列,即与每个问题的正确答案具有相同类别的选项缓存队列。服务器对每个目标缓存队列中的答题消息进行解析,得到账户信息,并判断每组账户信息中,是否都存在步骤S1332中提取的账户消息。
当每个目标缓存队列中都存在时,确定该账户信息表征的用户答对所有的问题。当不是每个目标缓存队列中都存在时,可以按照个数对答出正确选项的用户进行统计,并根据按照奖励规则确定符合条件的用户。
基于同一发明构思,本申请还提供一种直播控制装置,下面结合附图8对本申请装置的具体实施方式进行详细介绍。请参阅图8,图8为本实施例直播控制装置的基本结构框图。
如图8所示,在一个实施例中,一种直播控制装置,包括:获取模块2100、处理模块2200和执行模块2300。其中,获取模块2100,用于获取多个观众终端提交的答题消息,其中,所述答题消息包括答案选项;处理模块2200,用于将多个所述答题消息添加到多个缓存队列中进行缓存;执行模块2300,用于当多个所述缓存队列中存在符合预设条件的目标缓存队列时,按照答案选项的类别对所述目标缓存队列中的多个所述答题消息进行分类缓存。
上述直播答题的处理方法通过将获取到的多个答题消息添加到预设的多个缓存队列中,以及按照答案的选项类别对答题消息进行分类缓存,如此不仅可以对答题消息进行延时处理,缓解服务器的处理压力,通过设置多个缓存队列还可以提高服务器的并发处理能力,提高处理进度,缩短处理时间。此外,该方法中当答题直播间的观众数量较多时,只需要按照答题直播间的观众处理设置多个缓存队列即可,利于扩展。
在一些实施方式中,所述处理模块包括:第一处理子模块,用于依次对每个所述答题消息进行哈希运算,得到多个哈希值;第一获取子模块,用于获取所述缓存队列的个数,并根据所述个数对每个所述哈希值进行取模运算得到余数;第一执行子模块,用于将多个所述答题消息按照所述余数对应的序号添加到所述多个缓存队列中。
在一些实施方式中,还包括:第二处理子模块,用于判断所述多个缓存队列中是否存在最先添加的答题消息的缓存时间达到预设时间段的缓存队列;第二执行子模块,用于当存在时,将最先添加的答题消息的缓存时间达到预设时间段的缓存队列确定为目标缓存队列。
在一些实施方式中,所述多个缓存队列包括多个一级缓存队列和多个二级缓存队列;所述处理模块,包括:第二获取子模块,用于从所述多个一级缓存队列中选取答题消息个数大于预设值的目标一级缓存队列;第三获取子模块,用于遍历每个所述二级缓存队列确定答题消息的个数最少的二级缓存队列;第三处理子模块,用于将所述目标一级缓存队列添加到答题消息个数最少的二级缓存队列中进行缓存。
在一些实施方式中,还包括:第四处理子模块,用于判断多个所述二级缓存队列中是否存在答题消息的个数大于预设个数的二级缓存队列;第三执行子模块,用于当存在时,将答题消息的个数大于预设个数的二级缓存队列确定为目标二级缓存队列。
在一些实施方式中,所述执行模块包括:第四获取子模块,用于获取所述答题消息中的答案选项;第五处理子模块,用于从预设的多个选项缓存队列中选取与所述答案选项具有相同类别的选项缓存队列;将所述答题消息添加到选取的选项缓存队列中。
在一些实施方式中,还包括:第五获取子模块,用于从所述多个选项缓存队列中选取与预先得到的正确选项具有相同类别的目标选项缓存队列;第六获取子模块,用于从所述目标选项缓存队列中提取所述答题消息表征的账户信息;第六处理子模块,用于判断每个题号对应的目标选项缓存列表中是否存在所述账户信息对应的答题消息;第四执行子模块,用于当存在时,确定所述账户信息表征的用户为答题全部正确的用户。
为解决上述技术问题,本发明实施例还提供计算机设备。具体请参阅图9,图9为本实施例计算机设备基本结构框图。
如图9所示,计算机设备的内部结构示意图。如图9所示,该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种用户请求的检测方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种用户请求的检测方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本实施方式中处理器用于执行图8中获取模块2100、处理模块2200和执行模块2300的具体内容,存储器存储有执行上述模块所需的程序代码和各类数据。网络接口用于向用户终端或服务器之间的数据传输。本实施方式中的存储器存储有用户请求的检测方法中执行所有子模块所需的程序代码及数据,服务器能够调用服务器的程序代码及数据执行所有子模块的功能。
计算机设备通过将获取到的多个答题消息添加到预设的多个缓存队列中,以及按照答案的选项类别对答题消息进行分类缓存,如此不仅可以对答题消息进行延时处理,缓解服务器的处理压力,通过设置多个缓存队列还可以提高服务器的并发处理能力,提高处理进度,缩短处理时间。此外,该方法中当答题直播间的观众数量较多时,只需要按照答题直播间的观众处理设置多个缓存队列即可,利于扩展。
本发明还提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任一实施例所述用户请求的检测方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (9)

1.一种直播答题的处理方法,其特征在于,包括下述步骤:
获取多个观众终端提交的答题消息,其中,所述答题消息包括答案选项;
将多个所述答题消息添加到多个缓存队列中进行缓存;
当多个所述缓存队列中存在符合预设条件的目标缓存队列时,按照答案选项的类别对所述目标缓存队列中的多个所述答题消息进行分类缓存,包括:获取所述答题消息中的答案选项,从预设的多个选项缓存队列中选取与所述答案选项具有相同类别的选项缓存队列,将所述答题消息添加到选取的选项缓存队列中。
2.根据权利要求1所述的直播答题的处理方法,其特征在于,所述将多个所述答题消息添加到多个缓存队列中进行缓存,包括:
依次对每个所述答题消息进行哈希运算,得到多个哈希值;
获取所述缓存队列的个数,并根据所述个数对每个所述哈希值进行取模运算得到余数;
将多个所述答题消息按照所述余数对应的序号添加到所述多个缓存队列中。
3.根据权利要求1所述的直播答题的处理方法,其特征在于,所述当多个所述缓存队列中存在符合预设的条件的目标缓存队列时,按照答案选项的类别对所述目标缓存队列中的多个所述答题消息进行分类缓存之前,还包括:
判断所述多个缓存队列中是否存在最先添加的答题消息的缓存时间达到预设时间段的缓存队列;
当存在时,将最先添加的答题消息的缓存时间达到预设时间段的缓存队列确定为目标缓存队列。
4.根据权利要求1所述的直播答题的处理方法,其特征在于,所述多个缓存队列包括多个一级缓存队列和多个二级缓存队列;所述将多个所述答题消息添加到多个缓存队列中进行缓存,包括:
从所述多个一级缓存队列中选取答题消息个数大于预设值的目标一级缓存队列;
遍历每个所述二级缓存队列确定答题消息的个数最少的二级缓存队列;
将所述目标一级缓存队列中的答题消息添加到答题消息个数最少的二级缓存队列中进行缓存。
5.根据权利要求4所述的直播答题的处理方法,其特征在于,所述当多个所述缓存队列中存在符合预设的条件的目标缓存队列时,按照答案选项的类别对所述目标缓存队列中的多个所述答题消息进行分类缓存之前,包括:
判断多个所述二级缓存队列中是否存在答题消息的个数大于预设个数的二级缓存队列;
当存在时,将答题消息的个数大于预设个数的二级缓存队列确定为目标二级缓存队列。
6.根据权利要求1所述的直播答题的处理方法,其特征在于,所述按照所述答案选项对多个所述答题消息进行分类缓存之后,还包括:
从所述多个选项缓存队列中选取与预先得到的正确选项具有相同类别的目标选项缓存队列;
从所述目标选项缓存队列中提取所述答题消息表征的账户信息;
判断每个题号对应的目标选项缓存列表中是否存在所述账户信息对应的答题消息;
当存在时,确定所述账户信息表征的用户为答题全部正确的用户。
7.一种直播控制装置,其特征在于,包括:
获取模块,用于获取多个观众终端提交的答题消息,其中,所述答题消息包括答案选项;
处理模块,用于将多个所述答题消息添加到多个缓存队列中进行缓存;
执行模块,用于当多个所述缓存队列中存在符合预设条件的目标缓存队列时,按照答案选项的类别对所述目标缓存队列中的多个所述答题消息进行分类缓存,包括:获取所述答题消息中的答案选项,从预设的多个选项缓存队列中选取与所述答案选项具有相同类别的选项缓存队列,将所述答题消息添加到选取的选项缓存队列中。
8.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至6中任一项权利要求所述直播答题的处理方法的步骤。
9.一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至6中任一项权利要求所述直播答题的处理方法的步骤。
CN201811533779.8A 2018-12-14 2018-12-14 直播答题的处理方法、装置、计算机可读存储介质及终端 Active CN109684102B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811533779.8A CN109684102B (zh) 2018-12-14 2018-12-14 直播答题的处理方法、装置、计算机可读存储介质及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811533779.8A CN109684102B (zh) 2018-12-14 2018-12-14 直播答题的处理方法、装置、计算机可读存储介质及终端

Publications (2)

Publication Number Publication Date
CN109684102A CN109684102A (zh) 2019-04-26
CN109684102B true CN109684102B (zh) 2023-06-09

Family

ID=66187832

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811533779.8A Active CN109684102B (zh) 2018-12-14 2018-12-14 直播答题的处理方法、装置、计算机可读存储介质及终端

Country Status (1)

Country Link
CN (1) CN109684102B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110222142B (zh) * 2019-05-09 2021-08-27 网宿科技股份有限公司 一种题目分发方法及装置
CN110096523B (zh) * 2019-05-16 2021-07-02 广州方硅信息技术有限公司 一种生成无序题目队列的方法及设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101977162A (zh) * 2010-12-03 2011-02-16 电子科技大学 一种高速网络的负载均衡方法
CN105763653A (zh) * 2016-05-06 2016-07-13 亿瑞互动科技(北京)有限公司 一种统计信息生成的方法和服务器
CN106055630A (zh) * 2016-05-27 2016-10-26 北京小米移动软件有限公司 日志存储的方法及装置
US9684777B2 (en) * 2013-08-09 2017-06-20 Tencent Technology (Shenzhen) Company Limited Identity authentication method of an internet account, identity authentication device of an internet account and server
CN107506884A (zh) * 2017-06-19 2017-12-22 上海高顿教育培训有限公司 一种基于bs架构的从业人员入职测评方法
CN108900382A (zh) * 2018-07-18 2018-11-27 腾讯科技(深圳)有限公司 测试方法及其装置
CN108965587A (zh) * 2018-06-26 2018-12-07 恒生电子股份有限公司 一种消息提醒方法、装置以及设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101977162A (zh) * 2010-12-03 2011-02-16 电子科技大学 一种高速网络的负载均衡方法
US9684777B2 (en) * 2013-08-09 2017-06-20 Tencent Technology (Shenzhen) Company Limited Identity authentication method of an internet account, identity authentication device of an internet account and server
CN105763653A (zh) * 2016-05-06 2016-07-13 亿瑞互动科技(北京)有限公司 一种统计信息生成的方法和服务器
CN106055630A (zh) * 2016-05-27 2016-10-26 北京小米移动软件有限公司 日志存储的方法及装置
CN107506884A (zh) * 2017-06-19 2017-12-22 上海高顿教育培训有限公司 一种基于bs架构的从业人员入职测评方法
CN108965587A (zh) * 2018-06-26 2018-12-07 恒生电子股份有限公司 一种消息提醒方法、装置以及设备
CN108900382A (zh) * 2018-07-18 2018-11-27 腾讯科技(深圳)有限公司 测试方法及其装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
近期大热的实时直播答题系统的实现思路与技术难点分享;冼牛;《https://developer.aliyun.com/article/633675》;20180127;第5-8页 *

Also Published As

Publication number Publication date
CN109684102A (zh) 2019-04-26

Similar Documents

Publication Publication Date Title
CN110446057B (zh) 直播辅助数据的提供方法、装置、设备及可读介质
US10824874B2 (en) Method and apparatus for processing video
CN109086303B (zh) 基于机器阅读理解的智能对话方法、装置、终端
KR102281882B1 (ko) 실-시간 오디오 스트림 검색 및 제시 시스템
WO2009061434A1 (en) System and method for processing digital media
CN109684102B (zh) 直播答题的处理方法、装置、计算机可读存储介质及终端
US20180367325A1 (en) Method and system for sorting chatroom list based on conversational activeness and contextual information
CN111414543B (zh) 用于生成评论信息序列的方法、装置、电子设备和介质
CN106354856B (zh) 基于人工智能的深度神经网络强化搜索方法和装置
CN110149529B (zh) 媒体信息的处理方法、服务器及存储介质
CN109729377B (zh) 一种主播信息的推送方法、装置、计算机设备和存储介质
CN112037792B (zh) 一种语音识别方法、装置、电子设备及存储介质
CN110311959A (zh) 消息推送与页面更新的方法、装置及数据处理系统
CN112969079A (zh) 主播的资源分配方法、装置、计算机设备及存储介质
CN109657164B (zh) 发布消息的方法、装置及存储介质
CN110825994B (zh) 页面缓冲的处理方法、装置、计算机设备及存储介质
CN113055745A (zh) 视频播放的处理方法、装置、设备及存储介质
CN109344327B (zh) 用于生成信息的方法和装置
CN114637927B (zh) 一种内容推荐方法、装置、电子设备及存储介质
CN111212107A (zh) 用于cdn平台的业务处理方法及cdn系统
CN112672202B (zh) 弹幕处理方法、设备和存储介质
CN115665447A (zh) 风险处置手段调整方法及其装置、设备、介质
US20170171330A1 (en) Method for pushing information and electronic device
CN116193149A (zh) 直播数据处理方法、装置、设备及计算机可读存储介质
CN114445179A (zh) 业务推荐方法、装置、电子设备和计算机可读介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231005

Address after: 31a, 15 / F, building 30, maple mall, bangrang Road, Brazil, Singapore

Patentee after: Baiguoyuan Technology (Singapore) Co.,Ltd.

Address before: Building B-1, North District, Wanda Commercial Plaza, Wanbo business district, No. 79, Wanbo 2nd Road, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Patentee before: GUANGZHOU BAIGUOYUAN INFORMATION TECHNOLOGY Co.,Ltd.