CN107426253B - 一种数据校验方法及客户端 - Google Patents

一种数据校验方法及客户端 Download PDF

Info

Publication number
CN107426253B
CN107426253B CN201710883391.XA CN201710883391A CN107426253B CN 107426253 B CN107426253 B CN 107426253B CN 201710883391 A CN201710883391 A CN 201710883391A CN 107426253 B CN107426253 B CN 107426253B
Authority
CN
China
Prior art keywords
block chain
client
block
server
hash value
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
CN201710883391.XA
Other languages
English (en)
Other versions
CN107426253A (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.)
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 CN201710883391.XA priority Critical patent/CN107426253B/zh
Publication of CN107426253A publication Critical patent/CN107426253A/zh
Application granted granted Critical
Publication of CN107426253B publication Critical patent/CN107426253B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication

Abstract

本发明实施例公开了一种数据校验方法及客户端。本发明实施例方法包括:直播平台上的第一客户端接收服务器下发的第一区块链,生成第二区块链;第一客户端接收服务器下发的与至少一个第二客户端的配对信息;第一客户端向所述至少一个第二客户端分别发送第二区块链,以使得至少一个第二客户端分别校验第一客户端的合法性,并将校验结果反馈给所述服务器。本发明实施例中通过客户端对客户端进行校验合法性,校验完成后将结果上报到服务器,服务器直接获取客户端的校验结果,从而极大的节省了服务器的计算压力,同时提升了校验效率。

Description

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

Claims (8)

1.一种数据校验方法,其特征在于,所述方法包括:
直播平台上的第一客户端接收服务器下发的第一区块链,生成第二区块链;
所述第一客户端接收服务器下发的与至少一个第二客户端的配对信息;
所述第一客户端向所述至少一个第二客户端分别发送所述第二区块链,以使得所述至少一个第二客户端分别校验所述第一客户端的合法性,并将校验结果反馈给所述服务器;
所述第一客户端接收所述至少一个第二客户端分别发送的第三区块链,所述第三区块链为每个第二客户端接收所述服务器下发所述第一区块链后生成的;
所述第一客户端根据所述第三区块链分别校验所述至少一个第二客户端的合法性;
所述第一客户端将对所述至少一个第二客户端的校验结果反馈给所述服务器。
2.根据权利要求1所述的方法,其特征在于,所述第一区块链和所述第二区块链为同样的数据结构;
所述数据结构包括区块链的块号、前一个区块链的哈希值、当前时间的时间戳、当前区块链的哈希值以及区块链功能数据,所述区块链功能数据包括目标房间的房间号,所述客户端的用户标识以及所述客户端的标志。
3.根据权利要求2所述的方法,其特征在于,所述直播平台上的第一客户端接收服务器下发的第一区块链,生成第二区块链,包括:
根据所述第一区块链的块号加1,得到所述第二区块链的块号;
获取当前时间;
计算所述第一区块链的哈希值,作为所述第二区块链中前一个区块链的哈希值;
获取所述目标房间的房间号,所述客户端的用户标识以及所述客户端的标志,得到所述第二区块链功能数据;
对所述第二区块链的块号、当前时间、所述第一区块链的哈希值及所述第二区块链功能数据进行哈希计算,得到所述第二区块链的哈希值;
根据所述第二区块链的块号、当前时间、所述第一区块链的哈希值、所述第二区块链的哈希值及所述第二区块链功能数据,按照所述数据结构生成所述第二区块链。
4.根据权利要求1所述的方法,其特征在于,所述第一客户端根据所述第三区块链分别校验所述至少一个第二客户端的合法性,具体包括:
判断所述第三区块链的块号是否等于第一区块链的块号加1,若否,则确定所述第三区块链不正确;
判断所述第三区块链中包含的前一个区块链的哈希值是否与所述第一区块链的哈希值匹配,若否,则确定所述第三区块链不正确。
5.一种客户端,其特征在于,所述客户端包括:
生成模块,用于接收服务器下发的第一区块链,生成第二区块链;
第一接收模块,用于接收服务器下发的与至少一个目标客户端的配对信息;
第一发送模块,用于向所述至少一个目标客户端分别发送所述第二区块链,以使得所述至少一个目标客户端分别校验所述客户端的合法性,并将校验结果反馈给所述服务器;
第二接收模块,用于接收所述至少一个目标客户端分别发送的第三区块链,所述第三区块链为每个目标客户端接收所述服务器下发所述第一区块链后生成的;
校验模块,根据所述第三区块链分别校验所述至少一个目标客户端的合法性;
第二发送模块,用于将对所述至少一个目标客户端的校验结果反馈给所述服务器。
6.根据权利要求5所述的客户端,其特征在于,所述第一区块链和所述第二区块链为同样的数据结构;
所述数据结构包括区块链的块号、前一个区块链的哈希值、当前时间的时间戳、当前区块链的哈希值以及区块链功能数据,所述区块链功能数据包括目标房间的房间号,所述客户端的用户标识以及所述客户端的标志。
7.根据权利要求6所述的客户端,其特征在于,所述生成模块具体用于:
根据所述第一区块链的块号加1,得到所述第二区块链的块号;
获取当前时间;
计算所述第一区块链的哈希值,作为所述第二区块链中前一个区块链的哈希值;
获取所述目标房间的房间号,所述客户端的用户标识以及所述客户端的标志,得到所述第二区块链功能数据;
对所述第二区块链的块号、当前时间、所述第一区块链的哈希值及所述第二区块链功能数据进行哈希计算,得到所述第二区块链的哈希值;
根据所述第二区块链的块号、当前时间、所述第一区块链的哈希值、所述第二区块链的哈希值及所述第二区块链功能数据,按照所述数据结构生成所述第二区块链。
8.一种服务器,其特征在于,包括:存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时可以实现权利要求1至4任一所述的方法。
CN201710883391.XA 2017-09-26 2017-09-26 一种数据校验方法及客户端 Active CN107426253B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710883391.XA CN107426253B (zh) 2017-09-26 2017-09-26 一种数据校验方法及客户端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710883391.XA CN107426253B (zh) 2017-09-26 2017-09-26 一种数据校验方法及客户端

Publications (2)

Publication Number Publication Date
CN107426253A CN107426253A (zh) 2017-12-01
CN107426253B true CN107426253B (zh) 2022-06-21

Family

ID=60436060

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710883391.XA Active CN107426253B (zh) 2017-09-26 2017-09-26 一种数据校验方法及客户端

Country Status (1)

Country Link
CN (1) CN107426253B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107623865A (zh) * 2017-09-26 2018-01-23 武汉斗鱼网络科技有限公司 一种数据校验方法及服务器
CN108256353B (zh) * 2018-01-11 2021-01-01 武汉斗鱼网络科技有限公司 一种数据完整性校验方法、装置及客户端
CN108270874B (zh) * 2018-02-05 2021-04-23 武汉斗鱼网络科技有限公司 应用程序的更新方法及装置
CN108882005B (zh) * 2018-04-13 2021-04-27 武汉斗鱼网络科技有限公司 一种弹幕验证方法、计算机设备和存储介质
CN108924089B (zh) * 2018-05-29 2021-11-09 武汉斗鱼网络科技有限公司 一种客户端设备识别方法、装置及客户端设备
CN113645214B (zh) * 2021-08-03 2023-08-15 北京百度网讯科技有限公司 数据检测方法、装置、电子设备及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101499903A (zh) * 2008-02-02 2009-08-05 华为技术有限公司 防止节点伪造身份的方法、装置、系统、客户节点、对等节点及汇聚点
CN105959728A (zh) * 2016-06-27 2016-09-21 武汉斗鱼网络科技有限公司 统计直播平台在线人数的系统及其方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130110920A1 (en) * 2011-10-27 2013-05-02 Alcatel-Lucent Usa Inc. Network-assisted peer-to-peer secure communication establishment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101499903A (zh) * 2008-02-02 2009-08-05 华为技术有限公司 防止节点伪造身份的方法、装置、系统、客户节点、对等节点及汇聚点
CN105959728A (zh) * 2016-06-27 2016-09-21 武汉斗鱼网络科技有限公司 统计直播平台在线人数的系统及其方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种P2P网络中对等结点间的身份认证方法;李军 等;《科学技术与工程》;20091101;第9卷(第21期);第6558-6561页 *

Also Published As

Publication number Publication date
CN107426253A (zh) 2017-12-01

Similar Documents

Publication Publication Date Title
CN107426253B (zh) 一种数据校验方法及客户端
CN107819828B (zh) 数据传输方法、装置、计算机设备和存储介质
CN107454441B (zh) 一种检测直播间刷人气行为的方法、直播平台服务器及计算机可读存储介质
CN111949953B (zh) 基于区块链的身份认证方法、系统、装置和计算机设备
WO2019061628A1 (zh) 一种数据校验方法及服务器
WO2019061626A1 (zh) 一种数据校验方法及服务器
CN110830735B (zh) 一种视频生成方法、装置、计算机设备和存储介质
WO2019061598A1 (zh) 一种数据校验方法及客户端
WO2019061629A1 (zh) 一种数据校验方法及服务器
CN103581108A (zh) 一种登录验证方法、客户端、服务器及系统
CN109698809B (zh) 一种账号异常登录的识别方法及装置
CN108805571B (zh) 数据保护方法、平台、区块链节点、系统和存储介质
WO2019061627A1 (zh) 一种数据校验方法及服务器
CN104580406A (zh) 一种同步登录状态的方法和装置
CN108260015B (zh) 一种投票数据处理方法、装置及电子设备
WO2019061630A1 (zh) 一种交易核算方法及客户端
CN104580380B (zh) 登录状态的同步方法和系统
CN110248215A (zh) 视频播放链鉴权方法、装置、系统、服务器和存储介质
CN111461720A (zh) 基于区块链的身份验证方法、装置、存储介质及电子设备
CN106533677A (zh) 一种用户登录方法、用户终端及服务器
CN110769024B (zh) 电子测试数据的同步存储方法及系统
CN108924089B (zh) 一种客户端设备识别方法、装置及客户端设备
WO2019071857A1 (zh) 一种直播平台中防止刷礼物的方法及装置
CN107204959B (zh) 验证码的验证方法、装置及系统
US8498392B2 (en) Method and a system for establishing a communication channel between a predetermined number of selected devices and a device and a server arranged for use in the system

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