CN107454110A - 一种数据校验方法及服务器 - Google Patents

一种数据校验方法及服务器 Download PDF

Info

Publication number
CN107454110A
CN107454110A CN201710882099.6A CN201710882099A CN107454110A CN 107454110 A CN107454110 A CN 107454110A CN 201710882099 A CN201710882099 A CN 201710882099A CN 107454110 A CN107454110 A CN 107454110A
Authority
CN
China
Prior art keywords
block chain
client
server
target room
block
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.)
Pending
Application number
CN201710882099.6A
Other languages
English (en)
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.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network 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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201710882099.6A priority Critical patent/CN107454110A/zh
Priority to PCT/CN2017/108060 priority patent/WO2019061629A1/zh
Publication of CN107454110A publication Critical patent/CN107454110A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2407Monitoring of transmitted content, e.g. distribution time, number of downloads
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25816Management of client data involving client authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25875Management of end-user data involving end-user authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4781Games

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明实施例公开了一种数据校验方法及服务器。本发明实施例方法包括:服务器下发第一区块链到直播平台目标房间的客户端;服务器对新的第二区块链进行校验,确定初步合法的客户端;服务器根据接收到的客户端计算能力信息,向初步合法的客户端下发不同大小的第三区块链,服务器对新的第四区块链进行再次校验,确定目标房间内合法的客户端。本发明实施例中考虑到不同客户端有不同的计算能力,通过两次下发区块链对客户端进行校验,既避免了区块链过大对计算能力差的客户端造成卡顿等不太好用户体验,又可以通过对计算能力好的客户端下发大的区块链计算,增加客户端CPU资源消耗,避免大量伪造的客户端的情况,从而避免大量刷人气的情况。

Description

一种数据校验方法及服务器
技术领域
本发明涉及视频播放技术领域,特别涉及一种数据校验方法及服务器。
背景技术
目前,随着网络通信技术的进步和宽带网络的提速,网络直播得到了越来越多的发展和应用。尤其在游戏直播领域,越来越多的观众会观看游戏主播的直播,对于主播会通过刷人气的方法来提高房间同时观看的观众数量,从而获取收益。
目前,主播刷人气的具体的实现方式则是在一台性能非常好的服务器上,通过破解直播平台的网络协议,同时伪造大量的虚假客户端用户同时登陆到直播间,从而伪造大量观众的方法,来将直播间的人气数据刷的比较高。
因此,对于直播平台则需要一种方法能够检测出该直播间是否存在大量刷人气的情况。
发明内容
本发明实施例提供了一种数据校验方法及服务器,以检测直播间伪造虚假客户端刷人气的情况。
第一方面,本申请提供了数据校验方法,该方法包括:
S101:服务器下发第一区块链到直播平台目标房间的客户端,以使得所述目标房间内的各客户端收到所述第一区块链后生成第二区块链,并将所述第二区块链发送到所述服务器,所述第二区块链中包括客户端计算能力信息;
S102:在所述服务器接收到各客户端发送的第二区块链时,所述服务器对接收到的第二区块链进行校验,确定所述目标房间内初步合法的客户端;
S103:所述服务器根据接收到的客户端计算能力信息,向所述目标房间内初步合法的客户端下发不同大小的第三区块链,以使得所述目标房间内的各合法客户端收到所述第三区块链后生成第四区块链,并将所述第四区块链发送到所述服务器;
S104:所述服务器对接收到的第四区块链进行再次校验,确定所述目标房间内合法的客户端。
进一步的,所述步骤S103包括:
所述服务器根据接收到的客户端计算能力信息,对所述目标房间内初步合法的客户端的计算能力从强到弱进行排序;
所述服务器按照所述排序顺序向所述目标房间内初步合法的客户端下发从大到小的第三区块链,以使得所述目标房间内的各合法客户端收到所述第三区块链后生成第四区块链,并将所述第四区块链发送到所述服务器。
进一步的,所述第一区块链、所述第二区块链、所述第三区块链及所述第四区块链数据结构相同;
所述数据结构包括区块链的块号、前一个区块链的哈希值、计算新区块链消耗的时间、随机数据、当前时间的时间戳、区块链功能数据、当前区块链哈希值及当前区块链哈希值前部附加0的个数,所述区块链功能数据包括所述目标房间的房间号,所述客户端的用户标识以及所述客户端的标志。
进一步的,所述服务器按照所述排序顺序向所述目标房间内初步合法的客户端下发从大到小的第三区块链,包括:
按照所述排序从强到弱依次生成从大到小的第三区块链,所述第三区块链种哈希值前部附加0的个数越多,第三区块链越大;
按照所述排序顺序向所述目标房间内初步合法的客户端下发从大到小的第三区块链。
进一步的,所述服务器对接收到的第二区块链进行校验,确定所述目标房间内初步合法的客户端,包括:
判断所述第二区块链的块号是否等于第一区块链的块号加1,若否,则确定所述第二区块链不正确;
判断所述第二区块链中包含的前一个区块链的哈希值是否与所述第一区块链的哈希值匹配,若否,则确定所述第二区块链不正确。
第二方面,本申请提供一种服务器,该服务器包括:
第一发送模块,用于下发第一区块链到直播平台目标房间的客户端,以使得所述目标房间内的各客户端收到所述第一区块链后生成第二区块链,并将所述第二区块链发送到所述服务器,所述第二区块链中包括客户端计算能力信息;
接收模块,用于接收各客户端发送的第二区块链;
第一校验模块,用于对接收到的第二区块链进行校验,确定所述目标房间内初步合法的客户端;
第二发送模块,用于根据接收到的客户端计算能力信息,向所述目标房间内初步合法的客户端下发不同大小的第三区块链,以使得所述目标房间内的各合法客户端收到所述第三区块链后生成第四区块链,并将所述第四区块链发送到所述服务器;
第二校验模块,用于对接收到的第四区块链进行再次校验,确定所述目标房间内合法的客户端。
进一步的,所述第二发送模块具体用于:
根据接收到的客户端计算能力信息,对所述目标房间内初步合法的客户端的计算能力从强到弱进行排序;
按照所述排序顺序向所述目标房间内初步合法的客户端下发从大到小的第三区块链,以使得所述目标房间内的各合法客户端收到所述第三区块链后生成第四区块链,并将所述第四区块链发送到所述服务器。
进一步的,所述第一区块链、所述第二区块链、所述第三区块链及所述第四区块链数据结构相同;
所述数据结构包括区块链的块号、前一个区块链的哈希值、计算新区块链消耗的时间、随机数据、当前时间的时间戳、区块链功能数据、当前区块链哈希值及当前区块链哈希值前部附加0的个数,所述区块链功能数据包括所述目标房间的房间号,所述客户端的用户标识以及所述客户端的标志。
进一步的,所述第二发送模块具体用于:
按照所述排序从强到弱依次生成从大到小的第三区块链,所述第三区块链种哈希值前部附加0的个数越多,第三区块链越大;
按照所述排序顺序向所述目标房间内初步合法的客户端下发从大到小的第三区块链。
进一步的,所述第一校验模块具体用于:
判断所述第二区块链的块号是否等于第一区块链的块号加1,若否,则确定所述第二区块链不正确;
判断所述第二区块链中包含的前一个区块链的哈希值是否与所述第一区块链的哈希值匹配,若否,则确定所述第二区块链不正确。
第三方面,本发明还提供一种服务器,包括:存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时可以实现第一方面中任一所述的方法。
第四方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任一所述的方法。
本发明实施例通过服务器下发第一区块链到直播平台目标房间的客户端,以使得目标房间内的各客户端收到第一区块链后生成第二区块链,并将第二区块链发送到服务器,第二区块链中包括客户端计算能力信息;在服务器接收到各客户端发送的第二区块链时,服务器对接收到的第二区块链进行校验,确定目标房间内初步合法的客户端;服务器根据接收到的客户端计算能力信息,向目标房间内初步合法的客户端下发不同大小的第三区块链,以使得目标房间内的各合法客户端收到第三区块链后生成第四区块链,并将第四区块链发送到服务器,服务器对接收到的第四区块链进行再次校验,确定目标房间内合法的客户端。本发明实施例中考虑到不同客户端有不同的计算能力,通过两次下发区块链对客户端进行校验,既避免了区块链过大对计算能力差的客户端造成卡顿等不太好用户体验,又可以通过对计算能力好的客户端下发大的区块链计算,增加客户端CPU资源消耗,避免大量伪造的客户端的情况,从而避免大量刷人气的情况。
附图说明
图1是本发明实施例中数据校验方法的一个实施例示意图;
图2是图1所示实施例中步骤S103的一个实施例示意图;
图3是图1所示实施例中步骤S102的一个实施例示意图;
图4是图1所示实施例中步骤S102的另一个实施例示意图;
图5是本发明实施例中服务器的另一个实施例示意图;
图6是本发明实施例中服务器的另一个实施例示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参阅图1,本发明实施例中数据校验方法的一个实施例包括:
S101、服务器下发第一区块链到直播平台目标房间的客户端,以使得目标房间内的各客户端收到第一区块链后生成第二区块链,并将第二区块链发送到服务器;
本实施例中,服务器即即直播平台对应的服务器,客户端可以是用户终端,例如手机、平板电脑等智能终端,目标房间为直播平台上主播建立的直播间,目标客户端为进入该目标直播间的客户端。
区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。
其中,该第二区块链中包括客户端计算能力信息,该计算能力信息可以是客户端生成新区块链的计算时间,此处具体指的是客户端收到第一区块链后生成第二区块链的计算时间,该计算时间越短,客户端计算能力越强,该计算时间越长,客户端计算能力越差。
S102、在服务器接收到各客户端发送的第二区块链时,服务器对接收到的第二区块链进行校验,确定目标房间内初步合法的客户端;
S103、服务器根据接收到的客户端计算能力信息,向目标房间内初步合法的客户端下发不同大小的第三区块链,以使得目标房间内的各合法客户端收到第三区块链后生成第四区块链,并将第四区块链发送到服务器;
S104、服务器对接收到的第四区块链进行再次校验,确定目标房间内合法的客户端。
本发明实施例通过服务器下发第一区块链到直播平台目标房间的客户端,以使得目标房间内的各客户端收到第一区块链后生成第二区块链,并将第二区块链发送到服务器,第二区块链中包括客户端计算能力信息;在服务器接收到各客户端发送的第二区块链时,服务器对接收到的第二区块链进行校验,确定目标房间内初步合法的客户端;服务器根据接收到的客户端计算能力信息,向目标房间内初步合法的客户端下发不同大小的第三区块链,以使得目标房间内的各合法客户端收到第三区块链后生成第四区块链,并将第四区块链发送到服务器,服务器对接收到的第四区块链进行再次校验,确定目标房间内合法的客户端。本发明实施例中考虑到不同客户端有不同的计算能力,通过两次下发区块链对客户端进行校验,既避免了区块链过大对计算能力差的客户端造成卡顿等不太好用户体验,又可以通过对计算能力好的客户端下发大的区块链计算,增加客户端CPU资源消耗,避免大量伪造的客户端的情况,从而避免大量刷人气的情况。
如图2所示,在本发明一些实施例中,所述步骤S103可以进一步包括:
S1031、服务器根据接收到的客户端计算能力信息,对目标房间内初步合法的客户端的计算能力从强到弱进行排序;
具体的,若该客户端计算信息为客户端生成新区块链的计算时间,则此处按照生成新区块链的计算时间从短到长排序。
S1032、服务器按照该排序顺序向目标房间内初步合法的客户端下发从大到小的第三区块链,以使得目标房间内的各合法客户端收到第三区块链后生成第四区块链,并将第四区块链发送到服务器。
本发明实施例中,对区块链数据结构进行了统一的定义,具体的,所述第一区块链、所述第二区块链、所述第三区块链及所述第四区块链数据结构相同;所述数据结构包括区块链的块号、前一个区块链的哈希值、计算新区块链消耗的时间、随机数据、当前时间的时间戳、区块链功能数据、当前区块链哈希值及当前区块链哈希值前部附加0的个数,所述区块链功能数据包括所述目标房间的房间号,所述客户端的用户标识以及所述客户端的标志。需要说明的是,本发明实施例中,哈希值对应的哈希(HASH)算法统一,该HASH算法可以是SHA-256算法,当然也可以是其他HASH算法,例如SHA-1等,此处不作限定。上述区块链数据结构具体实现如下:
具体实现如下:
Struct BlockData{
Int64 index;
String previousHash;
Int64 timestamp;
Int64 timeelaps;
Int64 count0;
String randdata;
String data;
String hash;
}
其中,index用来表示区块链的块号,通常从0开始递增;previousHash表示前一个区块链的HASH值;timestamp表示当前时间戳;timeelaps表示计算新的区块链所消耗的时间;count0表示最终的新区块链(即当前区块链)中前部为0的个数;randdata表示随机数据;data表示区块链功能数据,data字段是一些数据的拼接,这个data字段的内容是依据区块链所需要完成的功能所设计,针对于本发明实施例用于检测客户端,此处则是包括目标房间号,客户端的用户标识uid,以及客户端的标志token;hash值则表示当前区块链的内容的hash值(哈希值)。经过这个区块链的数据设计后,当服务器收到客户端新产生的区块链后,则可以通过对里面的数据结构进行校验,以判断其合法性。
本发明实施例中,第一区块链可以是服务器生成的初始区块链,当第一区块链为初始区块链时,初始区块链由于是第一个生成的区块链,初始区块链的区块号为0,时间戳则为当前时间,上一个区块链的hash值为0,区块链功能数据(上述data数据)则为服务器进行随机生成,服务器生成一个固定数据加密后填充得到。
本发明实施例中同时设计了区块链中新区块链生成的算法,首先初始的区块链(如第一区块链)是服务器生成的,服务器会下发到每个登陆到直播平台目标房间的客户端,那么该目标房间的客户端收到初始区块链后,需要算法来生成下一个区块链。具体实现如下:首先已经获取到了上一个区块链的数据结构,下一个区块链则是依据上一个区块链的数据进行生成。
本发明实施例中,假设上一个区块链的名字是prevblock,新生成的区块链的名字是newblock,具体生成新的区块链的过程如下:
(1)计算新的区块链的区块号。
Newblock.index=prevblock.index+1;
则新的区块链的块号是当前块号加1。
(2)计算新的区块链的时间戳。
Newblock.timestamp=time();
新区块链的时间戳则是获取当前的时间。
(3)计算新的区块链的上一个区块的hash值(哈希值)。
Newblock.previousHash=prevblock.hash;
新区块的上一个区块链的hash值则是获取的上一个区块链的hash。
(4)计算新的区块链的上一个区块链的count0值。
Newblock.count0=prevblock.count0;
新区块链的上一个区块链的count0值则是获取的上一个区块链的count0。
(5)计算新的区块链的区块链功能数据。
Newblock.data=roomid+uid+token;
新区块链的data数据则是由当前客户端登陆时获取的token,客户端的用户uid,以及当前观看的目标房间号,data数据则可以是随机生成的,也可以是生成一个固定数据加密后填充得到。
(6)计算新的区块链的randdata。
Newblock.randdata;
新区块链的randdata数据则是由计算hash时得到的开头的0的个数,那么此段数据则不是固定值,会不断的变换数据,从而使得计算的hash的开头是0,例如可以递增的形式,从0,一直到最大,然后不断的增加其数据的长度,从而使的满足hash结果。具体hash计算则是在步骤(7)中。
(7)计算新的区块链的hash值。
Newblock.hash=HASH(index+previousHash+timestamp+data+count0+randdata);
其中使用的HASH算法则通常是SHA-256算法,当然也可以使用其他HASH算法。
那么最终得到hash值如果满足其前面有count0个0,则认为是最终的结果,否则,则需要不断的修改randdata,以使得最终计算的hash满足其前面有count0个0,因此此过程中如果count0数值越大,表明hash前面的0的个数越多,从而整个计算过程所消耗的CPU资源会越多。
(8)计算新的区块链的timeelaps值。
在计算新的区块链之前会先获取当前的时间,计算完成后会再次获取当前时间,2个时间差值则表明计算新的区块链的消耗的时间。
Newblock.timeelaps=timeEnd()-timeStart();
其中timeEnd则是计算完成后获取的时间,timeStart则是计算开始时的时间,2个差值则是生成新区块链计算的时间。
通过上述步骤就实现了通过一个区块链生成一个新的区块链的算法,而本发明实施例中,客户端通过接收第一区块链生成第二区块链时,通过接收第三区块链生成第四区块链时,即采用上述步骤实现。
进一步的,如图3所示,上述步骤S102具体可以包括:
S1021、判断第二区块链的块号是否等于第一区块链的块号加1,若否,则确定发送该第二区块链对应的客户端为非法客户端,若是,确定发送该第二区块链对应的客户端为初步合法的客户端;
S1022、判断第二区块链中包含的前一个区块链的哈希值是否与第一区块链的哈希值匹配,若否,则确定发送该第二区块链对应的客户端为非法客户端,若是,确定发送该第二区块链对应的客户端为初步合法的客户端;
进一步的,如图4所示,上述步骤S102具体还可以包括:
S1023、计算所述第二区块链的整体哈希值;
S1024、对所述第二区块链中区块链的块号、前一个区块链的哈希值、第二区块链的时间戳以及区块链功能数据进行哈希计算,得到所述第二区块链的哈希值;
S1025、判断第二区块链的哈希值和所述第二区块链的整体哈希值是否匹配,若否,则确定发送该第二区块链对应的客户端为非法客户端,若是,确定发送该第二区块链对应的客户端为初步合法的客户端。
具体的,通过HASH(Newblock.index+Newblock.previousHash+Newblock.timestamp+Newblock.data+Newblock.count0+Newblock.randdata)!=Newblock.hash来判断所述第二区块链的哈希值和所述第二区块链的整体哈希值是否匹配,其中,Newblock.hash为第二区块链的整体哈希值,HASH(Ne wblock.index+Newblock.previousHash+Newblock.timestamp+Newblock.data+N ewblock.count0+Newblock.randdata)为第二区块链的哈希值,如果第二区块链的哈希值和第二区块链的整体哈希值不匹配,则若否,则确定发送该第二区块链对应的客户端为非法客户端,可以返回错误信息给目标客户端,若是,确定发送该第二区块链对应的客户端为初步合法的客户端。
本发明实施例中,服务器对接收到的第四区块链进行再次校验,确定目标房间内合法的客户端的方式与上述服务器对接收到的第二区块链进行校验,确定目标房间内初步合法的客户端的步骤类似,可以在上述步骤中将第四区块链替换第二区块链,第三区块链替换第一区块链,相应的参数对应替换后即可实现,此处不再赘述。
下面介绍本发明实施例中服务器的实施例。
请参阅图5,为本发明实施例中服务器的一个实施例示意图,该服务器包括:
第一发送模块501,用于下发第一区块链到直播平台目标房间的客户端,以使得所述目标房间内的各客户端收到所述第一区块链后生成第二区块链,并将所述第二区块链发送到所述服务器,所述第二区块链中包括客户端计算能力信息;
接收模块502,用于接收各客户端发送的第二区块链;
第一校验模块503,用于对接收到的第二区块链进行校验,确定所述目标房间内初步合法的客户端;
第二发送模块504,用于根据接收到的客户端计算能力信息,向所述目标房间内初步合法的客户端下发不同大小的第三区块链,以使得所述目标房间内的各合法客户端收到所述第三区块链后生成第四区块链,并将所述第四区块链发送到所述服务器;
第二校验模块505,用于对接收到的第四区块链进行再次校验,确定所述目标房间内合法的客户端。
进一步的,所述第二发送模块504具体用于:
根据接收到的客户端计算能力信息,对所述目标房间内初步合法的客户端的计算能力从强到弱进行排序;
按照所述排序顺序向所述目标房间内初步合法的客户端下发从大到小的第三区块链,以使得所述目标房间内的各合法客户端收到所述第三区块链后生成第四区块链,并将所述第四区块链发送到所述服务器。
进一步的,所述第一区块链、所述第二区块链、所述第三区块链及所述第四区块链数据结构相同;
所述数据结构包括区块链的块号、前一个区块链的哈希值、计算新区块链消耗的时间、随机数据、当前时间的时间戳、区块链功能数据、当前区块链哈希值及当前区块链哈希值前部附加0的个数,所述区块链功能数据包括所述目标房间的房间号,所述客户端的用户标识以及所述客户端的标志。
进一步的,所述第二发送模块504具体用于:
按照所述排序从强到弱依次生成从大到小的第三区块链,所述第三区块链种哈希值前部附加0的个数越多,第三区块链越大;
按照所述排序顺序向所述目标房间内初步合法的客户端下发从大到小的第三区块链。
进一步的,所述第一校验模块503具体用于:
判断所述第二区块链的块号是否等于第一区块链的块号加1,若否,则确定所述第二区块链不正确;
判断所述第二区块链中包含的前一个区块链的哈希值是否与所述第一区块链的哈希值匹配,若否,则确定所述第二区块链不正确。
本发明实施例中还提供一种服务器,请参见图6,所述服务器包括:
存储器601,处理器602及存储在所述存储器上并可在所述处理器上运行的计算机程序603,其中,所述处理器602执行所述计算机程序603时可以实现上述数据校验方法。
需要说明的是,本申请涉及的服务器包括但不限于是:移动终端(手机、智能手机、PAD、笔记本电脑等等)、固定终端(计算机)。
为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。存储器601可用于存储计算机程序603,上述计算机程序包括软件程序、模块和数据,处理器602通过运行执行存储在存储器601的计算机程序603,从而执行服务器的各种功能应用以及数据处理。
在具体的实施过程中,存储器601可用于存储软件程序以及模块,处理器602通过运行存储在存储器601的软件程序以及模块,从而执行服务器的各种功能应用以及数据处理。存储器601可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(例如游戏类应用程序、聊天类应用程序)等;存储数据区可存储根据服务器的使用所创建的数据(游戏配置数据、音频数据)等。此外,存储器601可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。处理器602是服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器601内的软件程序和/或模块,以及调用存储在存储器601内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器602可包括一个或多个处理单元;优选的,处理器602可集成应用处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等。
本发明实施例还提供一种计算机可读存储介质,其中,该计算机可读存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的数据校验方法的部分或全部步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种数据校验方法,其特征在于,所述方法包括:
S101:服务器下发第一区块链到直播平台目标房间的客户端,以使得所述目标房间内的各客户端收到所述第一区块链后生成第二区块链,并将所述第二区块链发送到所述服务器,所述第二区块链中包括客户端计算能力信息;
S102:在所述服务器接收到各客户端发送的第二区块链时,所述服务器对接收到的第二区块链进行校验,确定所述目标房间内初步合法的客户端;
S103:所述服务器根据接收到的客户端计算能力信息,向所述目标房间内初步合法的客户端下发不同大小的第三区块链,以使得所述目标房间内的各合法客户端收到所述第三区块链后生成第四区块链,并将所述第四区块链发送到所述服务器;
S104:所述服务器对接收到的第四区块链进行再次校验,确定所述目标房间内合法的客户端。
2.根据权利要求1所述的方法,其特征在于,所述步骤S103包括:
所述服务器根据接收到的客户端计算能力信息,对所述目标房间内初步合法的客户端的计算能力从强到弱进行排序;
所述服务器按照所述排序顺序向所述目标房间内初步合法的客户端下发从大到小的第三区块链,以使得所述目标房间内的各合法客户端收到所述第三区块链后生成第四区块链,并将所述第四区块链发送到所述服务器。
3.根据权利要求2所述的方法,其特征在于,所述第一区块链、所述第二区块链、所述第三区块链及所述第四区块链数据结构相同;
所述数据结构包括区块链的块号、前一个区块链的哈希值、计算新区块链消耗的时间、随机数据、当前时间的时间戳、区块链功能数据、当前区块链哈希值及当前区块链哈希值前部附加0的个数,所述区块链功能数据包括所述目标房间的房间号,所述客户端的用户标识以及所述客户端的标志。
4.根据权利要求3所述的方法,其特征在于,所述服务器按照所述排序顺序向所述目标房间内初步合法的客户端下发从大到小的第三区块链,包括:
按照所述排序从强到弱依次生成从大到小的第三区块链,所述第三区块链种哈希值前部附加0的个数越多,第三区块链越大;
按照所述排序顺序向所述目标房间内初步合法的客户端下发从大到小的第三区块链。
5.根据权利要求1所述的方法,其特征在于,所述服务器对接收到的第二区块链进行校验,确定所述目标房间内初步合法的客户端,包括:
判断所述第二区块链的块号是否等于第一区块链的块号加1,若否,则确定所述第二区块链不正确;
判断所述第二区块链中包含的前一个区块链的哈希值是否与所述第一区块链的哈希值匹配,若否,则确定所述第二区块链不正确。
6.一种服务器,其特征在于,所述服务器包括:
第一发送模块,用于下发第一区块链到直播平台目标房间的客户端,以使得所述目标房间内的各客户端收到所述第一区块链后生成第二区块链,并将所述第二区块链发送到所述服务器,所述第二区块链中包括客户端计算能力信息;
接收模块,用于接收各客户端发送的第二区块链;
第一校验模块,用于对接收到的第二区块链进行校验,确定所述目标房间内初步合法的客户端;
第二发送模块,用于根据接收到的客户端计算能力信息,向所述目标房间内初步合法的客户端下发不同大小的第三区块链,以使得所述目标房间内的各合法客户端收到所述第三区块链后生成第四区块链,并将所述第四区块链发送到所述服务器;
第二校验模块,用于对接收到的第四区块链进行再次校验,确定所述目标房间内合法的客户端。
7.根据权利要求6所述的服务器,其特征在于,所述第二发送模块具体用于:
根据接收到的客户端计算能力信息,对所述目标房间内初步合法的客户端的计算能力从强到弱进行排序;
按照所述排序顺序向所述目标房间内初步合法的客户端下发从大到小的第三区块链,以使得所述目标房间内的各合法客户端收到所述第三区块链后生成第四区块链,并将所述第四区块链发送到所述服务器。
8.根据权利要求7所述的服务器,其特征在于,所述第一区块链、所述第二区块链、所述第三区块链及所述第四区块链数据结构相同;
所述数据结构包括区块链的块号、前一个区块链的哈希值、计算新区块链消耗的时间、随机数据、当前时间的时间戳、区块链功能数据、当前区块链哈希值及当前区块链哈希值前部附加0的个数,所述区块链功能数据包括所述目标房间的房间号,所述客户端的用户标识以及所述客户端的标志。
9.根据权利要求8所述的服务器,其特征在于,所述第二发送模块具体用于:
按照所述排序从强到弱依次生成从大到小的第三区块链,所述第三区块链种哈希值前部附加0的个数越多,第三区块链越大;
按照所述排序顺序向所述目标房间内初步合法的客户端下发从大到小的第三区块链。
10.一种服务器,其特征在于,包括:存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时可以实现权利要求1至5任一所述的方法。
CN201710882099.6A 2017-09-26 2017-09-26 一种数据校验方法及服务器 Pending CN107454110A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710882099.6A CN107454110A (zh) 2017-09-26 2017-09-26 一种数据校验方法及服务器
PCT/CN2017/108060 WO2019061629A1 (zh) 2017-09-26 2017-10-27 一种数据校验方法及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710882099.6A CN107454110A (zh) 2017-09-26 2017-09-26 一种数据校验方法及服务器

Publications (1)

Publication Number Publication Date
CN107454110A true CN107454110A (zh) 2017-12-08

Family

ID=60498251

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710882099.6A Pending CN107454110A (zh) 2017-09-26 2017-09-26 一种数据校验方法及服务器

Country Status (2)

Country Link
CN (1) CN107454110A (zh)
WO (1) WO2019061629A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108260015A (zh) * 2018-01-11 2018-07-06 武汉斗鱼网络科技有限公司 一种投票数据处理方法、装置及电子设备
CN108256353A (zh) * 2018-01-11 2018-07-06 武汉斗鱼网络科技有限公司 一种数据完整性校验方法、装置及客户端
CN108366057A (zh) * 2018-02-06 2018-08-03 武汉斗鱼网络科技有限公司 一种数据处理方法、客户端及电子设备
CN108449401A (zh) * 2018-03-12 2018-08-24 厦门益东智能科技有限公司 一种基于区块链技术的算力共享方法及系统
CN108769748A (zh) * 2018-04-13 2018-11-06 武汉斗鱼网络科技有限公司 一种信息处理方法及相关设备
CN108881966A (zh) * 2018-04-13 2018-11-23 武汉斗鱼网络科技有限公司 一种信息处理方法以及相关设备
CN108882005A (zh) * 2018-04-13 2018-11-23 武汉斗鱼网络科技有限公司 一种弹幕验证方法、计算机设备和存储介质
WO2019061598A1 (zh) * 2017-09-26 2019-04-04 武汉斗鱼网络科技有限公司 一种数据校验方法及客户端
CN109788349A (zh) * 2019-01-16 2019-05-21 武汉斗鱼鱼乐网络科技有限公司 一种探测计算能力的方法及相关装置
CN110380843A (zh) * 2018-04-13 2019-10-25 武汉斗鱼网络科技有限公司 一种信息处理方法及相关设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103841557A (zh) * 2012-11-20 2014-06-04 中兴通讯股份有限公司 一种泛在终端统一管理与控制方法及平台
CN106385601A (zh) * 2016-09-14 2017-02-08 武汉斗鱼网络科技有限公司 基于多协议验证的同时观看直播人数的统计方法及系统
CN106534160A (zh) * 2016-12-02 2017-03-22 江苏通付盾科技有限公司 基于区块链的身份认证方法及系统
CN106789047A (zh) * 2017-03-03 2017-05-31 钱德君 一种区块链身份系统
US20170154331A1 (en) * 2015-11-30 2017-06-01 ShapeShift Systems and methods for improving security in blockchain-asset exchange

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101094057A (zh) * 2006-06-20 2007-12-26 国际商业机器公司 内容分发方法、装置及系统
CN105959728B (zh) * 2016-06-27 2019-06-21 武汉斗鱼网络科技有限公司 统计直播平台在线人数的系统及其方法
CN105959729A (zh) * 2016-06-29 2016-09-21 武汉斗鱼网络科技有限公司 一种统计直播平台在线用户人数的方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103841557A (zh) * 2012-11-20 2014-06-04 中兴通讯股份有限公司 一种泛在终端统一管理与控制方法及平台
US20170154331A1 (en) * 2015-11-30 2017-06-01 ShapeShift Systems and methods for improving security in blockchain-asset exchange
CN106385601A (zh) * 2016-09-14 2017-02-08 武汉斗鱼网络科技有限公司 基于多协议验证的同时观看直播人数的统计方法及系统
CN106534160A (zh) * 2016-12-02 2017-03-22 江苏通付盾科技有限公司 基于区块链的身份认证方法及系统
CN106789047A (zh) * 2017-03-03 2017-05-31 钱德君 一种区块链身份系统

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019061598A1 (zh) * 2017-09-26 2019-04-04 武汉斗鱼网络科技有限公司 一种数据校验方法及客户端
CN108256353A (zh) * 2018-01-11 2018-07-06 武汉斗鱼网络科技有限公司 一种数据完整性校验方法、装置及客户端
CN108260015B (zh) * 2018-01-11 2021-02-02 武汉斗鱼网络科技有限公司 一种投票数据处理方法、装置及电子设备
CN108256353B (zh) * 2018-01-11 2021-01-01 武汉斗鱼网络科技有限公司 一种数据完整性校验方法、装置及客户端
CN108260015A (zh) * 2018-01-11 2018-07-06 武汉斗鱼网络科技有限公司 一种投票数据处理方法、装置及电子设备
CN108366057A (zh) * 2018-02-06 2018-08-03 武汉斗鱼网络科技有限公司 一种数据处理方法、客户端及电子设备
CN108449401A (zh) * 2018-03-12 2018-08-24 厦门益东智能科技有限公司 一种基于区块链技术的算力共享方法及系统
CN108882005A (zh) * 2018-04-13 2018-11-23 武汉斗鱼网络科技有限公司 一种弹幕验证方法、计算机设备和存储介质
CN110380843A (zh) * 2018-04-13 2019-10-25 武汉斗鱼网络科技有限公司 一种信息处理方法及相关设备
CN108881966A (zh) * 2018-04-13 2018-11-23 武汉斗鱼网络科技有限公司 一种信息处理方法以及相关设备
CN108769748A (zh) * 2018-04-13 2018-11-06 武汉斗鱼网络科技有限公司 一种信息处理方法及相关设备
CN108881966B (zh) * 2018-04-13 2021-04-27 武汉斗鱼网络科技有限公司 一种信息处理方法以及相关设备
CN108769748B (zh) * 2018-04-13 2021-06-15 武汉斗鱼网络科技有限公司 一种信息处理方法及相关设备
CN110380843B (zh) * 2018-04-13 2022-12-02 武汉斗鱼网络科技有限公司 一种信息处理方法及相关设备
CN109788349A (zh) * 2019-01-16 2019-05-21 武汉斗鱼鱼乐网络科技有限公司 一种探测计算能力的方法及相关装置

Also Published As

Publication number Publication date
WO2019061629A1 (zh) 2019-04-04

Similar Documents

Publication Publication Date Title
CN107454110A (zh) 一种数据校验方法及服务器
CN107465698A (zh) 一种数据校验方法及服务器
CN107682328A (zh) 一种数据校验方法及客户端
CN107909369A (zh) 基于跨链交易的共识方法、装置和存储介质
CN107623865A (zh) 一种数据校验方法及服务器
US20200384364A1 (en) Incentivizing players to engage in competitive gameplay
CN108777625A (zh) 签名的验证方法、装置和系统、存储介质、电子装置
CN107679149A (zh) 一种数据处理方法及服务器
CN107426253A (zh) 一种数据校验方法及客户端
CN107528855A (zh) 一种数据校验方法及服务器
CN107798538A (zh) 一种交易核算方法及客户端
CN106815722A (zh) 基于区块链的信息处理方法和装置
CN107801059B (zh) 一种鉴权方法及服务器
CN108764966A (zh) 广告投放方法、区块链节点设备及相关设备
CN106422324B (zh) 多终端的实时通讯方法、装置及系统
CN104504567B (zh) 一种小额支付卡的充值方法及装置
CN109117275A (zh) 基于数据分片的对账方法、装置、计算机设备及存储介质
CN109861828A (zh) 一种基于边缘计算的节点接入和节点认证方法
CN111711655A (zh) 一种基于区块链的电子数据存证方法、系统、存储介质及终端
CN111325417A (zh) 实现隐私保护的多方协同更新业务预测模型的方法及装置
CN113079139B (zh) 基于区块链的共识组主节点确定方法、装置及系统
CN109495378A (zh) 检测异常帐号的方法、装置、服务器及存储介质
CN108920976A (zh) 一种合同签订方法、装置及系统
CN110515819A (zh) 性能测试方法、电子设备、调度系统及介质
CN104869567B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20171208

RJ01 Rejection of invention patent application after publication