このアプリケーションの一部のコンテンツは現時点では利用できません。
このような状況が続く場合は、にお問い合わせくださいフィードバック & お問い合わせ
1. (WO2019061628) DATA VERIFICATION METHOD, AND SERVER
Document

说明书

发明名称 0001   0002   0003   0004   0005   0006   0007   0008   0009   0010   0011   0012   0013   0014   0015   0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085   0086   0087   0088   0089   0090   0091   0092   0093   0094   0095   0096   0097   0098   0099   0100   0101   0102   0103   0104   0105   0106   0107   0108   0109   0110   0111   0112   0113   0114   0115   0116   0117   0118   0119   0120   0121   0122   0123   0124   0125   0126   0127   0128   0129   0130   0131   0132   0133   0134   0135   0136   0137   0138   0139   0140   0141   0142   0143   0144   0145   0146   0147   0148   0149   0150   0151   0152   0153   0154   0155   0156   0157   0158   0159   0160   0161   0162   0163   0164   0165   0166   0167   0168  

权利要求书

1   2   3   4   5   6   7   8   9   10  

附图

0001   0002   0003   0004   0005   0006   0007   0008   0009   0010  

说明书

发明名称 : 一种数据校验方法及服务器

技术领域

[0001]
本发明涉及视频直播技术领域,特别涉及一种数据校验方法及服务器。

背景技术

[0002]
目前,随着网络通信技术的进步和宽带网络的提速,网络直播得到了越来越多的发展和应用。尤其在游戏直播领域,越来越多的观众会观看游戏主播的直播。
[0003]
在视频直播中,部分主播会通过刷人气的方法来提高房间同时观看的观众数量,从而获取收益,其刷人气的具体的实现方式则是在一台性能非常好的服务器上,通过破解直播平台的网络协议,同时伪造大量的虚假客户端用户同时登陆到直播间,从而伪造大量观众的方法,来将直播间的人气数据刷的比较高。
[0004]
因此对于直播平台则需要一种方法能够检测出该直播间是否存在伪造虚假客户端刷人气的情况。
[0005]
发明内容
[0006]
本发明实施例提供了一种数据校验方法及服务器,以检测直播房间伪造虚假客户端刷人气的情况。
[0007]
第一方面,本申请提供了一种数据校验方法,该方法包括:
[0008]
S101:服务器下发第一区块链到直播平台所有房间的所有客户端,以使得所述每个客户端收到所述第一区块链后生成第二区块链;
[0009]
S102:所述服务器将所有房间的所有客户端两两配对,以使得两两配对的客户端之间互相校验对方生成的第二区块链,并将校验结果发送到所述服务器;
[0010]
S103:所述服务器获取所有房间的客户端分别反馈的校验结果;
[0011]
S104:所述服务器根据所有房间的客户端分别反馈的校验结果,分别确定直播平台所有房间的客户端的合法性。
[0012]
进一步的,所述服务器为直播平台上的第一客户端选择直播平台上的至少一个第二客户端与其配对,所述第二客户端与所述第一客户端不同;
[0013]
所述服务器将所述第一客户端与所述至少一个第二客户端配对的信息分别发送给所述第一客户端和所述至少一个第二客户端,以使得所述第一客户端和所述至少一个第二客户端之间互相校验对方生成的第二区块链,并将校验结果发送到所述服务器。
[0014]
进一步的,若所述至少一个第二客户端仅包括一个第二客户端;所述步骤S103包括:
[0015]
所述服务器获取第一客户端反馈的对第二客户端的第一校验结果,以及获取第二客户端反馈的对所述第一客户端的第二校验结果;
[0016]
所述步骤S104包括:
[0017]
若所述第一校验结果为所述第二客户端合法,第二校验结果为所述第一客户端非法,则确定所述第一客户端为非法客户端,第二客户端为合法客户端;
[0018]
若所述第一校验结果为所述第二客户端非法,第二校验结果为所述第一客户端合法,则确定所述第一客户端为合法客户端,第二客户端为非法客户端。
[0019]
进一步的,若所述至少一个第二客户端仅包括多个第二客户端;所述步骤S103包括:
[0020]
所述服务器获取所述至少一个第二客户端分别反馈的对所述第一客户端的第三校验结果;
[0021]
所述步骤S104包括:
[0022]
所述服务器确定所述第三校验结果中最多相同的校验结果;
[0023]
若最多相同的校验结果为合法,则确定所述第一客户端合法,若最多相同的校验结果为非法,则确定所述第一客户端非法。
[0024]
进一步的,所述第一区块链和所述第二区块链为同样的数据结构;
[0025]
所述数据结构包括区块链的块号、前一个区块链的哈希值、当前时间的时间戳以及区块链功能数据,所述区块链功能数据包括所述目标房间的房间号,所述客户端的用户标识以及所述客户端的标志。
[0026]
第二方面,本申请提供一种服务器,该服务器包括:
[0027]
发送模块,用于下发第一区块链到直播平台所有房间的所有客户端,以使得所述每个客户端收到所述第一区块链后生成第二区块链;
[0028]
配对模块,用于将所有房间的所有客户端两两配对,以使得两两配对的客户端之间互相校验对方生成的第二区块链,并将校验结果发送到所述服务器;
[0029]
获取模块,用于获取所有房间的客户端分别反馈的校验结果;
[0030]
确定模块,用于根据所有房间的客户端分别反馈的校验结果,分别确定直播平台所有房间的客户端的合法性。
[0031]
进一步的,所述配对模块具体用于:
[0032]
为直播平台上的第一客户端选择直播平台上的至少一个第二客户端与其配对,所述第二客户端与所述第一客户端不同;
[0033]
将所述第一客户端与所述至少一个第二客户端配对的信息分别发送给所述第一客户端和所述至少一个第二客户端,以使得所述第一客户端和所述至少一个第二客户端之间互相校验对方生成的第二区块链,并将校验结果发送到所述服务器。
[0034]
进一步的,若所述至少一个第二客户端仅包括一个第二客户端;所述获取模块具体用于:
[0035]
获取第一客户端反馈的对第二客户端的第一校验结果,以及获取第二客户端反馈的对所述第一客户端的第二校验结果;
[0036]
所述确定模块具体用于:
[0037]
若所述第一校验结果为所述第二客户端合法,第二校验结果为所述第一客户端非法,则确定所述第一客户端为非法客户端,第二客户端为合法客户端;
[0038]
若所述第一校验结果为所述第二客户端非法,第二校验结果为所述第一客户端合法,则确定所述第一客户端为合法客户端,第二客户端为非法客户端。
[0039]
进一步的,若所述至少一个第二客户端仅包括多个第二客户端;
[0040]
所述获取模块具体用于:
[0041]
获取所述至少一个第二客户端分别反馈的对所述第一客户端的第三校验结果;
[0042]
所述确定模块具体用于:
[0043]
确定所述第三校验结果中最多相同的校验结果;
[0044]
若最多相同的校验结果为合法,则确定所述第一客户端合法,若最多相同的校验结果为非法,则确定所述第一客户端非法。
[0045]
进一步的,所述第一区块链和所述第二区块链为同样的数据结构;
[0046]
所述数据结构包括区块链的块号、前一个区块链的哈希值、当前时间的时间戳以及区块链功能数据,所述区块链功能数据包括所述目标房间的房间号,所述客户端的用户标识以及所述客户端的标志。
[0047]
第三方面,本发明还提供一种服务器,包括:存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时可以实现第一方面中任一所述的方法。
[0048]
第四方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任一所述的方法。
[0049]
本发明实施例通过服务器下发第一区块链到直播平台所有房间的所有客户端,以使得每个客户端收到第一区块链后生成第二区块链;服务器将所有房间的所有客户端两两配对,以使得两两配对的客户端之间互相校验对方生成的第二区块链,并将校验结果发送到所述服务器;服务器获取所有房间的客户端分别反馈的校验结果;服务器根据所有房间的客户端分别反馈的校验结果,分别确定直播平台所有房间的客户端的合法性。本发明实施例中通过客户端之间进行互相校验合法性,校验完成后将结果上报到服务器,服务器直接获取客户端的校验结果,从而极大的节省了服务器的计算压力,同时提升了校验效率。

附图说明

[0050]
图1是本发明实施例中服务器侧数据校验方法的一个实施例示意图;
[0051]
图2是图1所示实施例中步骤S102的一个实施例示意图;
[0052]
图3是本发明实施例服务器的一个实施例示意图;
[0053]
图4是本发明实施例中服务器的另一个实施例示意图;
[0054]
图5是本发明实施例中客户端侧数据校验方法的一个实施例示意图;
[0055]
图6是本发明实施例中客户端侧数据校验方法的另一个实施例示意图;
[0056]
图7是图5所示实施例中步骤S501的一个实施例示意图;
[0057]
图8是本发明实施例中客户端的一个实施例示意图
[0058]
图9是本发明实施例中客户端的另一个实施例示意图;
[0059]
图10是本发明实施例中客户端的一个实施例示意图。

具体实施方式

[0060]
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0061]
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0062]
请参阅图1,本发明实施例中数据校验方法的一个实施例包括:
[0063]
S101、服务器下发第一区块链到直播平台所有房间的所有客户端,以使得每个客户端收到第一区块链后生成第二区块链;
[0064]
本实施例中,服务器即即直播平台对应的服务器,客户端可以是用户终端,例如手机、平板电脑等智能终端,目标房间为直播平台上主播建立的直播间,目标客户端为进入该目标直播间的客户端。区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学 方式保证的不可篡改和不可伪造的分布式账本。
[0065]
S102、服务器将所有房间的所有客户端两两配对,以使得两两配对的客户端之间互相校验对方生成的第二区块链,并将校验结果发送到所述服务器;
[0066]
S103、服务器获取所有房间的客户端分别反馈的校验结果;
[0067]
S104、服务器根据所有房间的客户端分别反馈的校验结果,分别确定直播平台所有房间的客户端的合法性。
[0068]
本发明实施例通过服务器下发第一区块链到直播平台所有房间的所有客户端,以使得每个客户端收到第一区块链后生成第二区块链;服务器将所有房间的所有客户端两两配对,以使得两两配对的客户端之间互相校验对方生成的第二区块链,并将校验结果发送到所述服务器;服务器获取所有房间的客户端分别反馈的校验结果;服务器根据所有房间的客户端分别反馈的校验结果,分别确定直播平台所有房间的客户端的合法性。本发明实施例中通过客户端之间进行互相校验合法性,校验完成后将结果上报到服务器,服务器直接获取客户端的校验结果,从而极大的节省了服务器的计算压力,同时提升了校验效率。
[0069]
进一步的,在本发明一些实施例中,如图2所示,上述步骤S102包括:
[0070]
S1021、服务器为直播平台上的第一客户端选择直播平台上的至少一个第二客户端与其配对;
[0071]
其中,所述第二客户端与所述第一客户端不同,即至少一个第二客户端中每一个客户端与第一客户端均不同,例如第一客户端为直播平台上的客户端A,第二客户端为直播平台上面的客户端B。
[0072]
S1022、服务器将第一客户端与至少一个第二客户端配对的信息分别发送给第一客户端和至少一个第二客户端,以使得第一客户端和至少一个第二客户端之间互相校验对方生成的第二区块链,并将校验结果发送到所述服务器。
[0073]
进一步的,上述至少第二客户端可以是仅包括一个客户端,也可以是包括多个客户端,若所述至少一个第二客户端仅包括一个第二客户端;所述步骤S103可以包括:服务器获取第一客户端反馈的对第二客户端的第一校验结果,以及获取第二客户端反馈的对所述第一客户端的第二校验结果;此时, 上述步骤S104可以包括:若所述第一校验结果为所述第二客户端合法,第二校验结果为所述第一客户端非法,则确定所述第一客户端为非法客户端,第二客户端为合法客户端;若所述第一校验结果为所述第二客户端非法,第二校验结果为所述第一客户端合法,则确定所述第一客户端为合法客户端,第二客户端为非法客户端。
[0074]
进一步的,若所述至少一个第二客户端仅包括多个第二客户端;所述步骤S103可以包括:所述服务器获取所述至少一个第二客户端分别反馈的对所述第一客户端的第三校验结果;所述步骤S104可以包括:所述服务器确定所述第三校验结果中最多相同的校验结果;若最多相同的校验结果为合法,则确定所述第一客户端合法,若最多相同的校验结果为非法,则确定所述第一客户端非法。
[0075]
在服务器下发第一区块链到目标客户端之前,本发明实施例中方法还可以进一步包括:服务器生成该第一区块链。
[0076]
本发明实施例中,在生成该第一区块链之前,会预先定义好区块链数据结构,该第一区块链和第二区块链为同样的数据结构;该数据结构包括区块链的块号、前一个区块链的哈希值、当前时间的时间戳以及区块链功能数据,所述区块链功能数据包括所述目标房间的房间号,所述客户端的用户标识以及所述客户端的标志。本发明实施例中,在生成该第一区块链时,按照预先定义的区块链数据结构生成第一区块链,同理,在客户端接收第一区块链后,根据第一区块链生成第二区块链时,生成的第二区块链也按照该预先定义的区块链数据结构生成。
[0077]
通常的一个区块链必须包含一些必要的数据,从而一个是可以校验区块链本身的合法性,另一个也使得其不易于伪造。具体的,本发明实施例中的区块链数据结构则依赖于对房间人气进行校验的,所以在区块链的数据结构中包含房间信息等。本发明实施例中区块链数据结构具体可以如下:
[0078]
Struct BlockData{
[0079]
Int64 index;
[0080]
String previousHash;
[0081]
Int64 timestamp;
[0082]
String data;
[0083]
String hash;
[0084]
}
[0085]
其中,index用来表示区块链的块号,通常从0开始递增;previousHash表示前一个区块链的HASH值;timestamp表示时间戳;其中data字段则是一些数据的拼接,这个data字段的内容则是依据区块链所需要完成的功能所涉及的数据,即上述区块链功能数据,包括房间号,客户端的用户uid(用户标识),以及客户端的token(客户端的标志);hash值则表示当前这个区块链的hash值。有了这个区块链数据结构的设计后,当服务器收到客户端新生成的第二区块链后,则可以通过对里面的数据进行校验,以判断其合法性。
[0086]
下面介绍本发明实施例中服务器的实施例。
[0087]
请参阅图3,为本发明实施例中服务器的一个实施例示意图,该服务器包括:
[0088]
发送模块301,用于下发第一区块链到直播平台所有房间的所有客户端,以使得所述每个客户端收到所述第一区块链后生成第二区块链;
[0089]
配对模块302,用于将所有房间的所有客户端两两配对,以使得两两配对的客户端之间互相校验对方生成的第二区块链,并将校验结果发送到所述服务器;
[0090]
获取模块303,用于获取所有房间的客户端分别反馈的校验结果;
[0091]
确定模块304,用于根据所有房间的客户端分别反馈的校验结果,分别确定直播平台所有房间的客户端的合法性。
[0092]
进一步的,所述配对模块302具体用于:
[0093]
为直播平台上的第一客户端选择直播平台上的至少一个第二客户端与其配对,所述第二客户端与所述第一客户端不同;
[0094]
将所述第一客户端与所述至少一个第二客户端配对的信息分别发送给所述第一客户端和所述至少一个第二客户端,以使得所述第一客户端和所述至少一个第二客户端之间互相校验对方生成的第二区块链,并将校验结果发送到所述服务器。
[0095]
进一步的,若所述至少一个第二客户端仅包括一个第二客户端;所述获 取模块303具体用于:
[0096]
获取第一客户端反馈的对第二客户端的第一校验结果,以及获取第二客户端反馈的对所述第一客户端的第二校验结果;
[0097]
所述确定模块304具体用于:
[0098]
若所述第一校验结果为所述第二客户端合法,第二校验结果为所述第一客户端非法,则确定所述第一客户端为非法客户端,第二客户端为合法客户端;
[0099]
若所述第一校验结果为所述第二客户端非法,第二校验结果为所述第一客户端合法,则确定所述第一客户端为合法客户端,第二客户端为非法客户端。
[0100]
进一步的,若所述至少一个第二客户端仅包括多个第二客户端;
[0101]
所述获取模块303具体用于:
[0102]
获取所述至少一个第二客户端分别反馈的对所述第一客户端的第三校验结果;
[0103]
所述确定模块304具体用于:
[0104]
确定所述第三校验结果中最多相同的校验结果;
[0105]
若最多相同的校验结果为合法,则确定所述第一客户端合法,若最多相同的校验结果为非法,则确定所述第一客户端非法。
[0106]
进一步的,所述第一区块链和所述第二区块链为同样的数据结构;
[0107]
所述数据结构包括区块链的块号、前一个区块链的哈希值、当前时间的时间戳以及区块链功能数据,所述区块链功能数据包括所述目标房间的房间号,所述客户端的用户标识以及所述客户端的标志。
[0108]
本发明实施例中还提供一种服务器,请参见图4,所述服务器包括:
[0109]
存储器401,处理器402及存储在所述存储器上并可在所述处理器上运行的计算机程序403,其中,所述处理器402执行所述计算机程序403时可以实现上述数据校验方法。
[0110]
为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。存储器401可用于存储计算机程序403,上述计算机程序包括软件程序、模块和数据,处理器402通过运行执行 存储在存储器401的计算机程序403,从而执行服务器的各种功能应用以及数据处理。
[0111]
在具体的实施过程中,存储器401可用于存储软件程序以及模块,处理器402通过运行存储在存储器401的软件程序以及模块,从而执行服务器的各种功能应用以及数据处理。存储器401可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(例如游戏类应用程序、聊天类应用程序)等;存储数据区可存储根据服务器的使用所创建的数据(游戏配置数据、音频数据)等。此外,存储器401可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。处理器402是服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器401内的软件程序和/或模块,以及调用存储在存储器401内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器402可包括一个或多个处理单元;优选的,处理器402可集成应用处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等。
[0112]
下面介绍本发明实施例中客户端侧数据校验方法的实施例。
[0113]
请参阅图5,为本发明实施例中客户端侧数据校验方法的一个实施例示意图,该方法包括:
[0114]
S501、直播平台上的第一客户端接收服务器下发的第一区块链,生成第二区块链;
[0115]
S502、第一客户端接收服务器下发的与至少一个第二客户端的配对信息;
[0116]
S503、第一客户端向至少一个第二客户端分别发送所述第二区块链,以使得至少一个第二客户端分别校验第一客户端的合法性,并将校验结果反馈给服务器。
[0117]
本发明实施例通过直播平台上的第一客户端接收服务器下发的第一区块链,生成第二区块链;第一客户端接收服务器下发的与至少一个第二客户端的配对信息;第一客户端向所述至少一个第二客户端分别发送第二区块链,以使得至少一个第二客户端分别校验第一客户端的合法性,并将校验结果反 馈给所述服务器。本发明实施例中通过客户端对客户端进行校验合法性,校验完成后将结果上报到服务器,服务器直接获取客户端的校验结果,从而极大的节省了服务器的计算压力,同时提升了校验效率。
[0118]
进一步的,在本发明一些实施例中,如图6所示,本发明实施例中方法还包括:
[0119]
S504、第一客户端接收所述至少一个第二客户端分别发送的第三区块链,所述第三区块链为每个第二客户端接收所述服务器下发所述第一区块链后生成的;
[0120]
S505、第一客户端根据所述第三区块链分别校验所述至少一个第二客户端的合法性;
[0121]
S506、第一客户端将对所述至少一个第二客户端的校验结果反馈给所述服务器。
[0122]
进一步的,所述第一区块链和所述第二区块链为同样的数据结构;
[0123]
所述数据结构包括区块链的块号、前一个区块链的哈希值、当前时间的时间戳、当前区块链的哈希值以及区块链功能数据,所述区块链功能数据包括所述目标房间的房间号,所述客户端的用户标识以及所述客户端的标志。
[0124]
本发明实施例中,客户端中数据结构与上述服务器侧描述的数据结构类似,此处不再赘述。
[0125]
在本发明一些实施例中,如图7所示,上述步骤S501可以进一步包括:
[0126]
S5011、根据所述第一区块链的块号加1,得到所述第二区块链的块号;
[0127]
具体的,根据Newblock.index=prevblock.index+1,计算第二区块链的块号,其中,Newblock.index为第二区块链的块号,prevblock.index为前一个区块链的块号,此处即为第一区块链的块号,即第二区块链的块号是第一区块链的块号加1。
[0128]
S5012、获取当前时间;
[0129]
具体的,根据Newblock.timestamp=time()来获取当前的时间,以作为第二区块链的时间戳。
[0130]
S5013、计算所述第一区块链的哈希值,作为所述第二区块链中前一个区块链的哈希值;
[0131]
具体的,根据Newblock.previousHash=prevblock.hash,计算新区块的上一个区块的hash值则是获取的上一个区块的hash值,此处,即计算第一区块链的哈希值,作为第二区块链中前一个区块链的哈希值。
[0132]
S5014、获取目标房间的房间号,客户端的用户标识以及客户端的标志,得到第二区块链功能数据;
[0133]
具体的,根据Newblock.data=roomid+uid+token得到第二区块链功能数据,其中,Newblock.data为第二区块链功能数据,token为当前客户端登陆时获取的客户端的标志,uid为客户端的用户标识,roomid为当前用户在客户端观看的目标房间的房间号。
[0134]
S5015、对所述第二区块链的块号、当前时间、所述第一区块链的哈希值及所述第二区块链功能数据进行哈希计算,得到所述第二区块链的哈希值;
[0135]
S5016、根据第二区块链的块号、当前时间、第一区块链的哈希值、第二区块链的哈希值及第二区块链功能数据,按照所述数据结构生成第二区块链。
[0136]
通过上述步骤即可实现了通过第一区块链按照预设的数据结构生成一个新的第二区块链的方法。
[0137]
进一步的,所述第一客户端根据所述第三区块链分别校验所述至少一个第二客户端的合法性,具体包括:判断所述第三区块链的块号是否等于第一区块链的块号加1,若否,则确定所述第三区块链不正确;判断所述第三区块链中包含的前一个区块链的哈希值是否与所述第一区块链的哈希值匹配,若否,则确定所述第三区块链不正确。
[0138]
进一步的,所述第一客户端根据所述第三区块链分别校验所述至少一个第二客户端的合法性,具体还包括:计算所述第一区块链的整体哈希值;对所述第一区块链中区块链的块号、前一个区块链的哈希值、第一区块链的时间戳以及区块链功能数据进行哈希计算,得到所述第一区块链的哈希值;判断所述第一区块链的哈希值和所述第一区块链的整体哈希值是否匹配,若否,则确定所述第一区块链不正确。
[0139]
下面介绍本发明实施例中客户端的实施例。
[0140]
请参阅图8,为本发明实施例中客户端的一个实施例示意图,该客户端包括:
[0141]
生成模块801,用于接收服务器下发的第一区块链,生成第二区块链;
[0142]
第一接收模块802,用于接收服务器下发的与至少一个目标客户端的配对信息;
[0143]
第一发送模块803,用于向所述至少一个目标客户端分别发送所述第二区块链,以使得所述至少一个目标客户端分别校验所述客户端的合法性,并将校验结果反馈给所述服务器。
[0144]
进一步的,如图9所示,所述客户端还包括:
[0145]
第二接收模块804,用于接收所述至少一个目标客户端分别发送的第三区块链,所述第三区块链为每个目标客户端接收所述服务器下发所述第一区块链后生成的;
[0146]
校验模块805,根据所述第三区块链分别校验所述至少一个目标客户端的合法性;
[0147]
第二发送模块806,用于将对所述至少一个目标客户端的校验结果反馈给所述服务器。
[0148]
进一步的,所述第一区块链和所述第二区块链为同样的数据结构;
[0149]
所述数据结构包括区块链的块号、前一个区块链的哈希值、当前时间的时间戳、当前区块链的哈希值以及区块链功能数据,所述区块链功能数据包括所述目标房间的房间号,所述客户端的用户标识以及所述客户端的标志。
[0150]
进一步的,所述生成模块801具体用于:
[0151]
根据所述第一区块链的块号加1,得到所述第二区块链的块号;
[0152]
获取当前时间;
[0153]
计算所述第一区块链的哈希值,作为所述第二区块链中前一个区块链的哈希值;
[0154]
获取所述目标房间的房间号,所述客户端的用户标识以及所述客户端的标志,得到所述第二区块链功能数据;
[0155]
对所述第二区块链的块号、当前时间、所述第一区块链的哈希值及所述第二区块链功能数据进行哈希计算,得到所述第二区块链的哈希值;
[0156]
根据所述第二区块链的块号、当前时间、所述第一区块链的哈希值、所述第二区块链的哈希值及所述第二区块链功能数据,按照所述数据结构生成 所述第二区块链。
[0157]
本发明实施例中还提供一种客户端,请参见图10,所述客户端包括:
[0158]
存储器901,处理器902及存储在所述存储器上并可在所述处理器上运行的计算机程序903,其中,所述处理器902执行所述计算机程序903时可以实现上述数据校验方法。
[0159]
需要说明的是,本申请涉及的客户端包括但不限于是:移动终端(手机、智能手机、PAD、笔记本电脑等等)、固定终端(计算机)。
[0160]
为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。存储器901可用于存储计算机程序903,上述计算机程序包括软件程序、模块和数据,处理器902通过运行执行存储在存储器901的计算机程序903,从而执行客户端的各种功能应用以及数据处理。
[0161]
在具体的实施过程中,存储器901可用于存储软件程序以及模块,处理器902通过运行存储在存储器901的软件程序以及模块,从而执行客户端的各种功能应用以及数据处理。存储器901可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(例如游戏类应用程序、聊天类应用程序)等;存储数据区可存储根据客户端的使用所创建的数据(游戏配置数据、音频数据)等。此外,存储器901可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。处理器902是客户端的控制中心,利用各种接口和线路连接整个客户端的各个部分,通过运行或执行存储在存储器901内的软件程序和/或模块,以及调用存储在存储器901内的数据,执行客户端的各种功能和处理数据,从而对客户端进行整体监控。可选的,处理器902可包括一个或多个处理单元;优选的,处理器902可集成应用处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等。
[0162]
本发明实施例还提供一种计算机可读存储介质,其中,该计算机可读存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的数据校验方法的部分或全部步骤。
[0163]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0164]
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0165]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0166]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0167]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0168]
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应 当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

权利要求书

[权利要求 1]
一种数据校验方法,其特征在于,所述方法包括: S101:服务器下发第一区块链到直播平台所有房间的所有客户端,以使得所述每个客户端收到所述第一区块链后生成第二区块链; S102:所述服务器将所有房间的所有客户端两两配对,以使得两两配对的客户端之间互相校验对方生成的第二区块链,并将校验结果发送到所述服务器; S103:所述服务器获取所有房间的客户端分别反馈的校验结果; S104:所述服务器根据所有房间的客户端分别反馈的校验结果,分别确定直播平台所有房间的客户端的合法性。
[权利要求 2]
根据权利要求1所述的方法,其特征在于,所述步骤S102包括: 所述服务器为直播平台上的第一客户端选择直播平台上的至少一个第二客户端与其配对,所述第二客户端与所述第一客户端不同; 所述服务器将所述第一客户端与所述至少一个第二客户端配对的信息分别发送给所述第一客户端和所述至少一个第二客户端,以使得所述第一客户端和所述至少一个第二客户端之间互相校验对方生成的第二区块链,并将校验结果发送到所述服务器。
[权利要求 3]
根据权利要求2所述的方法,其特征在于,若所述至少一个第二客户端仅包括一个第二客户端;所述步骤S103包括: 所述服务器获取第一客户端反馈的对第二客户端的第一校验结果,以及获取第二客户端反馈的对所述第一客户端的第二校验结果; 所述步骤S104包括: 若所述第一校验结果为所述第二客户端合法,第二校验结果为所述第一客户端非法,则确定所述第一客户端为非法客户端,第二客户端为合法客户端; 若所述第一校验结果为所述第二客户端非法,第二校验结果为所述第一客户端合法,则确定所述第一客户端为合法客户端,第二客户端为非法客户端。
[权利要求 4]
根据权利要求2所述的方法,其特征在于,若所述至少一个第二客户端仅包括多个第二客户端;所述步骤S103包括: 所述服务器获取所述至少一个第二客户端分别反馈的对所述第一客户端的第三校验结果; 所述步骤S104包括: 所述服务器确定所述第三校验结果中最多相同的校验结果; 若最多相同的校验结果为合法,则确定所述第一客户端合法,若最多相同的校验结果为非法,则确定所述第一客户端非法。
[权利要求 5]
根据权利要求1所述的方法,其特征在于,所述第一区块链和所述第二区块链为同样的数据结构; 所述数据结构包括区块链的块号、前一个区块链的哈希值、当前时间的时间戳以及区块链功能数据,所述区块链功能数据包括所述目标房间的房间号,所述客户端的用户标识以及所述客户端的标志。
[权利要求 6]
一种服务器,其特征在于,所述服务器包括: 发送模块,用于下发第一区块链到直播平台所有房间的所有客户端,以使得所述每个客户端收到所述第一区块链后生成第二区块链; 配对模块,用于将所有房间的所有客户端两两配对,以使得两两配对的客户端之间互相校验对方生成的第二区块链,并将校验结果发送到所述服务器; 获取模块,用于获取所有房间的客户端分别反馈的校验结果; 确定模块,用于根据所有房间的客户端分别反馈的校验结果,分别确定直播平台所有房间的客户端的合法性。
[权利要求 7]
根据权利要求6所述的装置,其特征在于,所述配对模块具体用于: 为直播平台上的第一客户端选择直播平台上的至少一个第二客户端与其配对,所述第二客户端与所述第一客户端不同; 将所述第一客户端与所述至少一个第二客户端配对的信息分别发送给所述第一客户端和所述至少一个第二客户端,以使得所述第一客户端和所述至少一个第二客户端之间互相校验对方生成的第二区块链,并将校验结果发送到所述服务器。
[权利要求 8]
根据权利要求6所述的装置,其特征在于,若所述至少一个第二客户端仅包括一个第二客户端;所述获取模块具体用于: 获取第一客户端反馈的对第二客户端的第一校验结果,以及获取第二客户端反馈的对所述第一客户端的第二校验结果; 所述确定模块具体用于: 若所述第一校验结果为所述第二客户端合法,第二校验结果为所述第一客户端非法,则确定所述第一客户端为非法客户端,第二客户端为合法客户端; 若所述第一校验结果为所述第二客户端非法,第二校验结果为所述第一客户端合法,则确定所述第一客户端为合法客户端,第二客户端为非法客户端。
[权利要求 9]
根据权利要求6所述的装置,其特征在于,若所述至少一个第二客户端仅包括多个第二客户端; 所述获取模块具体用于: 获取所述至少一个第二客户端分别反馈的对所述第一客户端的第三校验结果; 所述确定模块具体用于: 确定所述第三校验结果中最多相同的校验结果; 若最多相同的校验结果为合法,则确定所述第一客户端合法,若最多相同的校验结果为非法,则确定所述第一客户端非法。
[权利要求 10]
一种服务器,其特征在于,包括:存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时可以实现权利要求1至5任一所述的方法。

附图

[ 图 0001]  
[ 图 0002]  
[ 图 0003]  
[ 图 0004]  
[ 图 0005]  
[ 图 0006]  
[ 图 0007]  
[ 图 0008]  
[ 图 0009]  
[ 图 0010]