一种弹幕验证方法、计算机设备和存储介质技术

技术编号:19551423 阅读:39 留言:0更新日期:2018-11-24 21:58
本发明专利技术提供了一种弹幕验证方法、计算机设备和存储介质,该方法包括:第一客户端设备接收服务器发送的初始区块链,根据用户的输入信息生成弹幕信息;根据弹幕信息、前一个区块链的块号和Hash值、发送弹幕者信息和房间号信息按照初始区块链的数据结构生成新的区块链,再将新的区块链发送至服务器,通过服务器向直播房间的第二客户端设备发送新的区块链,以使得第二客户端设备通过验证新的区块链来确定是否显示弹幕信息包括的弹幕内容。可见,每一个弹幕信息对应一个区块链,每一个区块链都与上一个区块链相关联,而且由客户端设备自行完成区块链的合法性验证,验证通过才显示弹幕内容,无需服务器参与弹幕的验证,丰富了防止刷弹幕的方式。

A Method of Ballistic Curtain Verification, Computer Equipment and Storage Media

The invention provides a bullet screen verification method, a computer device and a storage medium. The method includes: the first client device receives the initial block chain sent by the server, generates the bullet screen information according to the user's input information, and transmits the bullet screen information and the room according to the bullet screen information, the block number and Hash value of the previous block chain, and the bullet screen sender information and the room. The number information generates a new block chain according to the data structure of the initial block chain, then sends the new block chain to the server, and sends the new block chain to the second client device of the live room through the server, so that the second client device can determine whether to display the bullet screen information included in the bullet screen by verifying the new block chain. Rong. It can be seen that each barrage information corresponds to a block chain, each block chain is associated with the previous block chain, and the validation of the validity of the block chain is completed by the client device itself. The content of the barrage is displayed only after the validation is passed, and the server is not required to participate in the verification of the barrage, which enriches the way of preventing the brushing of the barrage.

【技术实现步骤摘要】
一种弹幕验证方法、计算机设备和存储介质
本专利技术属于计算机
,尤其涉及一种弹幕验证方法、计算机设备和存储介质。
技术介绍
目前,直播越来越受到大家的欢迎。而弹幕则是直播中非常好的互动方式。例如,主播在直播时,观众可以通过发送弹幕来发表评论,与主播进行互动。任何观众发送的弹幕在该直播间的所有用户都可以看到。然而,有一些非法用户,利用弹幕能够被所有观众看到的特点,而不断的在直播平台通过发送弹幕来打广告,例如,通过建立一条与直播平台服务器的链接并且伪造弹幕协议来刷弹幕,并且编写自动化脚本来刷弹幕。现有的做法是在直播平台服务器进行弹幕过滤及防刷的识别,来阻挡刷弹幕的行为。可见,现有技术对于刷弹幕的处理方式比较单一。
技术实现思路
本申请实施例通过提供一种弹幕验证方法、计算机设备和存储介质,解决了现有技术中,对于刷弹幕的处理方式比较单一的问题。第一方面,本申请实施例提供了一种弹幕验证方法,所述方法应用于客户端设备,所述方法包括:若所述第一客户端设备连接到直播房间,接收服务器发送的初始区块链,所述初始区块链包括数据结构,所述数据结构用于通知所述第一客户端设备按照所述数据结构生成新的区块链;根据用户的输入信息生成弹幕信息;根据所述弹幕信息、前一个区块链的块号和Hash值、发送弹幕者信息和所述直播房间的房间号信息按照所述初始区块链的数据结构生成新的区块链,其中,所述前一个区块链为生成所述新的区块链之前所述第一客户端设备最近一个获得的区块链,所述前一个区块链存储于所述第一客户端设备的区块链表中,所述发送弹幕者信息包括所述用户的唯一身份证明,所述房间号信息通过向所述服务器发送获取房间号的协议获取;将所述新的区块链加入到所述区块链表中;向所述服务器发送所述新的区块链,通过所述服务器向所述直播房间的第二客户端设备发送所述新的区块链,以使得所述第二客户端设备通过验证所述新的区块链来确定是否显示所述弹幕信息包括的弹幕内容。可选的,所述初始区块链的数据结构包括区块链的块号、前一个区块链的Hash值、时间戳、弹幕数据、区块链的Hash值中前面0的个数、随机数据和区块链的Hash值,所述随机数据用于所述区块链的Hash值计算,以使得所述区块链的Hash值满足所述区块链的Hash值中前面0的个数的要求;所述根据所述弹幕信息、前一个区块链的块号和Hash值、发送弹幕者信息和所述直播房间的房间号信息按照所述初始区块链的数据结构生成新的区块链,包括:将所述前一个区块链的块号加1得到所述新的区块链的块号;将所述前一个区块链的Hash值设置为所述新的区块链中前一个区块链的Hash值;将当前时间戳设置为所述新的区块链的时间戳;根据所述发送弹幕者信息、所述房间号信息、所述弹幕信息、所述新的区块链的时间戳和弹幕信息验证字段生成所述新的区块链的弹幕数据,所述弹幕信息验证字段通过对所述发送弹幕者信息、所述房间号信息、所述弹幕信息、所述新的区块链的时间戳和所述新的区块链中前一个区块链的Hash值进行MD5运算得到;将所述初始区块链的Hash值中前面0的个数设置为所述新的区块链的Hash值中前面0的个数;由所述第一客户端设备随机生成所述新的区块链的随机数据;通过对所述新的区块链的块号、所述新的区块链中前一个区块链的Hash值、所述新的区块链的时间戳、所述新的区块链的弹幕数据、所述新的区块链的Hash值中前面0的个数和所述新的区块链的随机数据进行Hash运算得到所述新的区块链的Hash值。可选的,所述根据所述发送弹幕者信息、所述房间号信息、所述弹幕信息、所述新的区块链的时间戳和弹幕信息验证字段生成所述新的区块链的弹幕数据,包括根据以下公式生成所述新的区块链的弹幕数据:Newblock.data=uid+roomid+danmumessage+timestamp+verifykey;其中,Newblock.data为所述新的区块链的弹幕数据;uid为所述弹幕者信息;roomid为所述房间号信息;danmumessage为所述弹幕信息;timestamp为所述新的区块链的时间戳;verifykey为所述弹幕信息验证字段;可选的,所述弹幕信息验证字段通过对所述发送弹幕者信息、所述房间号信息、所述弹幕信息、所述新的区块链的时间戳和所述新的区块链中前一个区块链的Hash值进行MD5运算得到,包括根据以下公式运算得到:Verifykey=md5.Create(uid+roomid+danmumessage+timestamp+Newblock.previousHash);其中,Verifykey为所述弹幕信息验证字段;md5.Create为Hash算法md5的计算接口;uid为所述弹幕者信息;roomid为所述房间号信息;danmumessage为所述弹幕信息;timestamp为所述新的区块链的时间戳;Newblock.previousHash为所述新的区块链中前一个区块链的Hash值。可选的,所述通过对所述新的区块链的块号、所述新的区块链中前一个区块链的Hash值、所述新的区块链的时间戳、所述新的区块链的弹幕数据、所述新的区块链的Hash值中前面0的个数和所述新的区块链的随机数据进行Hash运算得到所述新的区块链的Hash值,包括根据以下公式进行Hash运算得到所述新的区块链的Hash值:Newblock.hash=HASH(index+Newblock.previousHash+timestamp+data+zero+randdata);其中,Newblock.hash为所述新的区块链的Hash值;HASH为Hash算法的计算接口;index为所述新的区块链的块号;Newblock.previousHash为所述新的区块链中前一个区块链的Hash值;timestamp为所述新的区块链的时间戳;data为所述新的区块链的弹幕数据;zero为所述新的区块链的Hash值中前面0的个数;randdata为所述新的区块链的随机数据。第二方面,本申请还提供了一种弹幕验证方法,其特征在于,所述方法应用于第二客户端设备,所述方法包括:接收服务器发送的第一客户端设备生成的新的区块链,所述第一客户端设备与所述第二客户端设备在同一个直播房间;执行下述判断:判断从所述新的区块链中读取的块号是否为前一个区块链的块号加1,其中,所述前一个区块链为接收所述新的区块链之前所述第二客户端设备最近一个获得的区块链,所述前一个区块链存储于所述第二客户端设备的区块链表中;判断从所述新的区块链中读取的前一个区块链的Hash值与所述前一个区块链的Hash值是否一致;判断计算得到的所述新的区块链的Hash值与从所述新的区块链中读取的新的区块链的Hash值是否一致;判断所述新的区块链是否包含弹幕信息验证字段;判断计算得到的弹幕信息验证字段与在所述新的区块链中读取的弹幕信息验证字段是否一致;如果上述判断中的任一判断结果为否则返回区块错误信息,如果上述判断结果均为是,则显示所述新的区块链包括的弹幕内容;将所述新的区块链加入到所述区块链表中。可选的,判断计算得到的所述新的区块链的Hash值与从所述新的区块链中读取的新的区块链的Hash值是否一致之前还包括:根据以下公式对从所述新的区块链中读取的块号、前一个区本文档来自技高网...

【技术保护点】
1.一种弹幕验证方法,其特征在于,所述方法应用于第一客户端设备,所述方法包括:若所述第一客户端设备连接到直播房间,接收服务器发送的初始区块链,所述初始区块链包括数据结构,所述数据结构用于通知所述第一客户端设备按照所述数据结构生成新的区块链;根据用户的输入信息生成弹幕信息;根据所述弹幕信息、前一个区块链的块号和Hash值、发送弹幕者信息和所述直播房间的房间号信息按照所述初始区块链的数据结构生成新的区块链,其中,所述前一个区块链为生成所述新的区块链之前所述第一客户端设备最近一个获得的区块链,所述前一个区块链存储于所述第一客户端设备的区块链表中,所述发送弹幕者信息包括所述用户的唯一身份证明,所述房间号信息通过向所述服务器发送获取房间号的协议获取;将所述新的区块链加入到所述区块链表中;向所述服务器发送所述新的区块链,通过所述服务器向所述直播房间的第二客户端设备发送所述新的区块链,以使得所述第二客户端设备通过验证所述新的区块链来确定是否显示所述弹幕信息包括的弹幕内容。

【技术特征摘要】
1.一种弹幕验证方法,其特征在于,所述方法应用于第一客户端设备,所述方法包括:若所述第一客户端设备连接到直播房间,接收服务器发送的初始区块链,所述初始区块链包括数据结构,所述数据结构用于通知所述第一客户端设备按照所述数据结构生成新的区块链;根据用户的输入信息生成弹幕信息;根据所述弹幕信息、前一个区块链的块号和Hash值、发送弹幕者信息和所述直播房间的房间号信息按照所述初始区块链的数据结构生成新的区块链,其中,所述前一个区块链为生成所述新的区块链之前所述第一客户端设备最近一个获得的区块链,所述前一个区块链存储于所述第一客户端设备的区块链表中,所述发送弹幕者信息包括所述用户的唯一身份证明,所述房间号信息通过向所述服务器发送获取房间号的协议获取;将所述新的区块链加入到所述区块链表中;向所述服务器发送所述新的区块链,通过所述服务器向所述直播房间的第二客户端设备发送所述新的区块链,以使得所述第二客户端设备通过验证所述新的区块链来确定是否显示所述弹幕信息包括的弹幕内容。2.如权利要求1所述的方法,其特征在于,所述初始区块链的数据结构包括区块链的块号、前一个区块链的Hash值、时间戳、弹幕数据、区块链的Hash值中前面0的个数、随机数据和区块链的Hash值,所述随机数据用于所述区块链的Hash值计算,以使得所述区块链的Hash值满足所述区块链的Hash值中前面0的个数的要求;所述根据所述弹幕信息、前一个区块链的块号和Hash值、发送弹幕者信息和所述直播房间的房间号信息按照所述初始区块链的数据结构生成新的区块链,包括:将所述前一个区块链的块号加1得到所述新的区块链的块号;将所述前一个区块链的Hash值设置为所述新的区块链中前一个区块链的Hash值;将当前时间戳设置为所述新的区块链的时间戳;根据所述发送弹幕者信息、所述房间号信息、所述弹幕信息、所述新的区块链的时间戳和弹幕信息验证字段生成所述新的区块链的弹幕数据,所述弹幕信息验证字段通过对所述发送弹幕者信息、所述房间号信息、所述弹幕信息、所述新的区块链的时间戳和所述新的区块链中前一个区块链的Hash值进行MD5运算得到;将所述初始区块链的Hash值中前面0的个数设置为所述新的区块链的Hash值中前面0的个数;由所述第一客户端设备随机生成所述新的区块链的随机数据;通过对所述新的区块链的块号、所述新的区块链中前一个区块链的Hash值、所述新的区块链的时间戳、所述新的区块链的弹幕数据、所述新的区块链的Hash值中前面0的个数和所述新的区块链的随机数据进行Hash运算得到所述新的区块链的Hash值。3.如权利要求2所述的方法,其特征在于,所述根据所述发送弹幕者信息、所述房间号信息、所述弹幕信息、所述新的区块链的时间戳和弹幕信息验证字段生成所述新的区块链的弹幕数据,包括根据以下公式生成所述新的区块链的弹幕数据:Newblock.data=uid+roomid+danmumessage+timestamp+verifykey;其中,Newblock.data为所述新的区块链的弹幕数据;uid为所述弹幕者信息;roomid为所述房间号信息;danmumessage为所述弹幕信息;timestamp为所述新的区块链的时间戳;verifykey为所述弹幕信息验证字段。4.如权利要求2所述的方法,其特征在于,所述弹幕信息验证字段通过对所述发送弹幕者信息、所述房间号信息、所述弹幕信息、所述新的区块链的时间戳和所述新的区块链中前一个区块链的Hash值进行MD5运算得到,包括根据以下公式运算得到:Verifykey=md5.Create(uid+roomid+danmumessage+timestamp+Newblock.previousHash);其中,Verifykey为所述弹幕信息验证字段;md5.Create为Hash算法md5的计算接口;uid为所述弹幕者信息;roomid为所述房间号信息;danmumessage为所述弹幕信息;timestamp为所述新的区块链的时间戳;Newblock.previousHash为所述新的区块链中前一个区块链的Hash值。5.如权利要求1-4任一项所述的方法,其特征在于,所述通过对所述新的区块链的块号、所述新的区块链中前一个区块链的Hash值、所述新的区块链的时间戳、所述新的区块链的弹幕数据、所述新的区块链的Hash值中前面0的个数和所述新的区块链的随机数据进行Hash运算得到所述新的区块链的Hash值,包括根据以下公式进行Hash运算得到所述新的区块链的Hash值:Newblock.hash=HASH(index+Newblock.previousHash+timestamp+data+zero+randdata);其中,Newblock.hash为所述新的区块链的Hash值;HASH为Hash算法的计算接口;index为所述新的区块链的块号;Newblock.previousHash为所述新的区块链中前一个区块链的Hash值;timestamp为所述新的区块链的时间戳;data为所述新的区块链的弹幕数据;zero为所述新的区块链的Hash值中前面0的个数;randdata为所述新的区块链的随机数据。6.一种弹幕验证方法,其特征在于,所述方法应用于第二客户端设备,所述方法包括:接收服务器发送的第一客户端设备生成的新的区块链,所述第一客户端设备与所述第二客户端设备在同一个直播房间;执行下述判断:判断从所述新的区块链中读取的块号是否为前一个区块链的块号加1,其中,所述前一个区块链为接收所述新的区块链之前所述第二客户端设备最近一个获得的区块链,所述前一个区块链...

【专利技术属性】
技术研发人员:周志刚张文明陈少杰
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1