CN107465698A - 一种数据校验方法及服务器 - Google Patents
一种数据校验方法及服务器 Download PDFInfo
- Publication number
- CN107465698A CN107465698A CN201710883441.4A CN201710883441A CN107465698A CN 107465698 A CN107465698 A CN 107465698A CN 201710883441 A CN201710883441 A CN 201710883441A CN 107465698 A CN107465698 A CN 107465698A
- Authority
- CN
- China
- Prior art keywords
- block chain
- client
- server
- block
- destination client
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3297—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明实施例公开了一种数据校验方法及服务器。本发明实施例方法包括:服务器下发第一区块链到直播平台目标房间的目标客户端,以使得目标客户端收到第一区块链后生成第二区块链,并将第二区块链发送到所述服务器;在服务器接收到目标客户端发送的第二区块链时,服务器对接收到的第二区块链进行校验,判断是否正确;在正确时确定所述目标客户端为合法客户端,在不正确时确定所述目标客户端为非法客户端。本发明实施例中利用区块链技术实现服务器对客户端合法性的校验,可以检测直播平台直播房间内利用虚拟客户端刷人气的行为,避免了主播非正常手段获取利益。
Description
技术领域
本发明涉及视频直播技术领域,特别涉及一种数据校验方法及服务器。
背景技术
目前,随着网络通信技术的进步和宽带网络的提速,网络直播得到了越来越多的发展和应用。尤其在游戏直播领域,越来越多的观众会观看游戏主播的直播。
在视频直播中,部分主播会通过刷人气的方法来提高房间同时观看的观众数量,从而获取收益,其刷人气的具体的实现方式则是在一台性能非常好的服务器上,通过破解直播平台的网络协议,同时伪造大量的虚假客户端用户同时登陆到直播间,从而伪造大量观众的方法,来将直播间的人气数据刷的比较高。
因此对于直播平台则需要一种方法能够检测出该直播间是否存在伪造虚假客户端刷人气的情况。
发明内容
本发明实施例提供了一种数据校验方法及服务器,以检测直播间伪造虚假客户端刷人气的情况。
第一方面,本申请提供了一种数据校验方法,该方法包括:
服务器下发第一区块链到直播平台目标房间的目标客户端,以使得所述目标客户端收到所述第一区块链后生成第二区块链,并将所述第二区块链发送到所述服务器;
在所述服务器接收到所述目标客户端发送的第二区块链时,所述服务器对接收到的所述第二区块链进行校验,判断是否正确;
若是,则确定所述目标客户端为合法客户端,若否,则确定所述目标客户端为非法客户端。
进一步的,所述方法还包括:
在所述服务器未接收到所述目标客户端发送的第二区块链时,确定所述目标客户端为非法客户端。
进一步的,在所述服务器下发第一区块链到所述目标客户端之前,所述方法还包括:
生成所述第一区块链,所述第一区块链包括第一区块链的块号、前一个区块链的哈希值、生成第一区块链的时间戳、第一区块链的哈希值以及区块链功能数据,所述区块链功能数据包括所述目标房间的房间号,所述目标客户端的用户标识以及所述目标客户端的标志。
进一步的,所述第二区块链包括第二区块链的块号、前一个区块链哈希值、生成第二区块链的时间戳以及区块链功能数据,所述目标客户端的用户标识以及所述目标客户端的标志;所述服务器对接收到的所述第二区块链进行校验,判断是否正确的步骤,包括:
判断所述第二区块链的块号是否等于第一区块链的块号加1,若否,则确定所述第二区块链不正确;
判断所述第二区块链中包含的前一个区块链的哈希值是否与所述第一区块链的哈希值匹配,若否,则确定所述第二区块链不正确。
进一步的,所述服务器对接收到的所述第二区块链进行校验,判断是否正确的步骤,还包括:
计算所述第二区块链的整体哈希值;
对所述第二区块链中区块链的块号、前一个区块链的哈希值、第二区块链的时间戳以及区块链功能数据进行哈希计算,得到所述第二区块链的哈希值;
判断所述第二区块链的哈希值和所述第二区块链的整体哈希值是否匹配,若否,则确定所述第二区块链不正确。
第二方面,本申请提供一种服务器,该服务器包括:
发送模块,用于下发第一区块链到直播平台目标房间的目标客户端,以使得所述目标客户端收到所述第一区块链后生成第二区块链,并将所述第二区块链发送到所述服务器;
接收模块,用于接收所述目标客户端发送的第二区块链;
校验模块,用于对接收到的所述第二区块链进行校验,判断是否正确;若是,则确定所述目标客户端为合法客户端,若否,则确定所述目标客户端为非法客户端。
进一步的,所述校验模块还用于:
在所述服务器未接收到所述目标客户端发送的第二区块链时,确定所述目标客户端为非法客户端。
进一步的,所述服务器还包括:
生成模块,用于生成所述第一区块链,所述第一区块链包括第一区块链的块号、前一个区块链的哈希值、生成第一区块链的时间戳、第一区块链的哈希值以及区块链功能数据,所述区块链功能数据包括所述目标房间的房间号,所述目标客户端的用户标识以及所述目标客户端的标志。
进一步的,所述第二区块链包括第二区块链的块号、前一个区块链哈希值、生成第二区块链的时间戳以及区块链功能数据,所述目标客户端的用户标识以及所述目标客户端的标志;
所述校验模块具体用于:
判断所述第二区块链的块号是否等于第一区块链的块号加1,若否,则确定所述第二区块链不正确;
判断所述第二区块链中包含的前一个区块链的哈希值是否与所述第一区块链的哈希值匹配,若否,则确定所述第二区块链不正确。
进一步的,所述校验模块具体还用于:
计算所述第二区块链的整体哈希值;
对所述第二区块链中区块链的块号、前一个区块链的哈希值、第二区块链的时间戳以及区块链功能数据进行哈希计算,得到所述第二区块链的哈希值;
判断所述第二区块链的哈希值和所述第二区块链的整体哈希值是否匹配,若否,则确定所述第二区块链不正确。
第三方面,本发明还提供一种服务器,包括:存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时可以实现第一方面中任一所述的方法。
第四方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任一所述的方法。
本发明实施例通过服务器下发第一区块链到直播平台目标房间的目标客户端,以使得目标客户端收到第一区块链后生成第二区块链,并将第二区块链发送到所述服务器;在服务器接收到目标客户端发送的第二区块链时,服务器对接收到的第二区块链进行校验,判断是否正确;在正确时确定所述目标客户端为合法客户端,在不正确时确定所述目标客户端为非法客户端。本发明实施例中利用区块链技术实现服务器对客户端合法性的校验,可以检测直播平台直播房间内利用虚拟客户端刷人气的行为,避免了主播非正常手段获取利益。
附图说明
图1是本发明实施例中服务器侧数据校验方法的一个实施例示意图;
图2是本发明实施例中服务器侧数据校验方法的另一个实施例示意图;
图3是本发明实施例步骤S103的一个实施例示意图;
图4是本发明实施例步骤S103的另一个实施例示意图;
图5是本发明实施例中服务器的一个实施例示意图;
图6是本发明实施例中服务器的另一个实施例示意图;
图7是本发明实施例中服务器的另一个实施例示意图
图8是本发明实施例中客户端侧数据校验方法的一个实施例示意图;
图9是本发明实施例中步骤S802的一个实施例示意图;
图10是本发明实施例中客户端的一个实施例示意图;
图11是本发明实施例中客户端的另一个实施例示意图;
图12是本发明实施例中客户端的另一个实施例示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面首先介绍本发明实施例中数据校验方法服务器侧实施例。
请参阅图1,为本发明实施例中数据校验方法的一个实施例,本发明实施例中数据校验方法应用于服务器,该方法包括:
S101、服务器下发第一区块链到直播平台目标房间的目标客户端,以使得目标客户端收到第一区块链后生成第二区块链,并将第二区块链发送到服务器;
本实施例中,服务器即即直播平台对应的服务器,客户端可以是用户终端,例如手机、平板电脑等智能终端,目标房间为直播平台上主播建立的直播间,目标客户端为进入该目标直播间的客户端。
区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。
S102、服务器接收目标客户端发送的第二区块链;
具体的,该第二区块链即为步骤S101中,目标客户端在接收到第一区块链后生成的,第一区块链和第二区块链为同样的数据结构,该数据结构包括区块链的块号、前一个区块链的哈希值、当前时间的时间戳、当前区块链的哈希值以及区块链功能数据,该区块链功能数据包括所述目标房间的房间号,目标客户端的用户标识以及目标客户端的标志,当当前区块链为初始区块链时,该前一个区块链哈希值为预设哈希值,例如为0。
本发明实施例中,哈希值对应的哈希(HASH)算法统一,该HASH算法可以是SHA-256算法,当然也可以是其他HASH算法,例如SHA-1等,此处不作限定。
S103、服务器对接收到的第二区块链进行校验,判断是否正确;若是,则执行步骤S104,若否,则执行步骤S105;
S104、确定目标客户端为合法客户端;
S105、确定目标客户端为非法客户端。
本发明实施例通过服务器下发第一区块链到直播平台目标房间的目标客户端,以使得目标客户端收到第一区块链后生成第二区块链,并将第二区块链发送到所述服务器;在服务器接收到目标客户端发送的第二区块链时,服务器对接收到的第二区块链进行校验,判断是否正确;在正确时确定所述目标客户端为合法客户端,在不正确时确定所述目标客户端为非法客户端。本发明实施例中利用区块链技术实现服务器对客户端合法性的校验,可以检测直播平台直播房间内利用虚拟客户端刷人气的行为,避免了主播非正常手段获取利益。
本发明实施例中,服务器可以依次根据上述S101~S105中的步骤确定目标房间中所有的客户端的合法性,检测目标房间中是否存在大量刷人气的行为,若服务器检测到目标房间中非法客户端达到预设数量或预设比例(占目标房间中所有客户端的比例),则确定该目标房间中存在大量刷人气行为,维护人员可以对目标房间主播进行相应惩罚,同时在计算人气时,可以去除掉这些非法客户端的人气数据,使得目标房间的人气数据归于真实。
由于刷人气的客户端并没有觉察到有新增一条区块链校验,而正常的客户端则都会进行上报新的区块链,因此,本发明实施例中,在服务器未接收到目标客户端发送的第二区块链时,也可以确定目标客户端为非法客户端。
在服务器下发第一区块链到目标客户端之前,如图2所示,本发明实施例中方法还可以进一步包括:
S106、生成该第一区块链。
其中,该第一区块链包括第一区块链的块号、前一个区块链的哈希值、生成第一区块链的时间戳、第一区块链的哈希值以及区块链功能数据,该区块链功能数据包括目标房间的房间号,目标客户端的用户标识以及目标客户端的标志。本实施例中,第一区块链可以是服务器生成的初始区块链,当第一区块链为初始区块链时,第一区块链由于是第一个生成的区块链,第一区块链中的前一个区块链的哈希值为预设的哈希值,例如为0。
本发明实施例中,在生成该第一区块链之前,会预先定义好区块链数据结构,在生成该第一区块链时,按照预先定义的区块链数据结构生成第一区块链,同理,在客户端接收第一区块链后,根据第一区块链生成第二区块链时,生成的第二区块链也按照该预先定义的区块链数据结构生成。
通常的一个区块链必须包含一些必要的数据,从而一个是可以校验区块链本身的合法性,另一个也使得其不易于伪造。具体的,本发明实施例中的区块链数据结构则依赖于对房间人气进行校验的,所以在区块链的数据结构中包含房间信息等。本发明实施例中区块链数据结构具体可以如下:
Struct BlockData{
Int64index;
String previousHash;
Int64timestamp;
String data;
String hash;
}
其中,index用来表示区块链的块号,通常从0开始递增;previousHash表示前一个区块链的HASH值;timestamp表示时间戳;其中data字段则是一些数据的拼接,这个data字段的内容则是依据区块链所需要完成的功能所涉及的数据,即上述区块链功能数据,包括房间号,客户端的用户uid(用户标识),以及客户端的token(客户端的标志);hash值则表示当前这个区块链的hash值。有了这个区块链数据结构的设计后,当服务器收到客户端新生成的第二区块链后,则可以通过对里面的数据进行校验,以判断其合法性。
在本发明一些实施例中,第二区块链包括第二区块链的块号、前一个区块链哈希值、生成第二区块链的时间戳以及区块链功能数据,目标客户端的用户标识以及所述目标客户端的标志,如图3所示,上述步骤S103具体可以包括:
S1031、判断所述第二区块链的块号是否等于第一区块链的块号加1,若否,则确定所述第二区块链不正确;
S1032、判断所述第二区块链中包含的前一个区块链的哈希值是否与所述第一区块链的哈希值匹配,若否,则确定所述第二区块链不正确。
进一步的,如图4所示,上述步骤S103具体还可以包括:
S1033、计算所述第二区块链的整体哈希值;
S1034、对所述第二区块链中区块链的块号、前一个区块链的哈希值、第二区块链的时间戳以及区块链功能数据进行哈希计算,得到所述第二区块链的哈希值;
S1035、判断所述第二区块链的哈希值和所述第二区块链的整体哈希值是否匹配,若否,则确定所述第二区块链不正确。
具体的,通过HASH(Newblock.index+Newblock.previousHash+Newblock.timestamp+Newblock.data)!=Newblock.hash来判断所述第二区块链的哈希值和所述第二区块链的整体哈希值是否匹配,其中,Newblock.hash为第二区块链的整体哈希值,HASH(Newblock.index+Newblock.previousHash+Newblock.timestamp+Newblock.data)为第二区块链的哈希值,如果第二区块链的哈希值和第二区块链的整体哈希值不匹配,则确定第二区块链不正确,可以返回错误信息给目标客户端。
下面介绍本发明实施例中服务器的实施例。
请参阅图5,本发明实施例中服务器的一个实施例包括:
发送模块501,用于下发第一区块链到直播平台目标房间的目标客户端,以使得所述目标客户端收到所述第一区块链后生成第二区块链,并将所述第二区块链发送到所述服务器;
接收模块502,用于接收所述目标客户端发送的第二区块链;
校验模块503,用于对接收到的所述第二区块链进行校验,判断是否正确;若是,则确定所述目标客户端为合法客户端,若否,则确定所述目标客户端为非法客户端。
进一步的,所述校验模块503还用于:
在所述服务器未接收到所述目标客户端发送的第二区块链时,确定所述目标客户端为非法客户端。
进一步的,如图6所示,所述服务器还包括:
生成模块504,用于生成所述第一区块链,所述第一区块链包括第一区块链的块号、前一个区块链的哈希值、生成第一区块链的时间戳以及区块链功能数据,所述区块链功能数据包括所述目标房间的房间号,所述目标客户端的用户标识以及所述目标客户端的标志。
进一步的,所述第二区块链包括第二区块链的块号、前一个区块链哈希值、生成第二区块链的时间戳以及区块链功能数据,所述目标客户端的用户标识以及所述目标客户端的标志;
所述校验模块503具体用于:
判断所述第二区块链的块号是否等于第一区块链的块号加1,若否,则确定所述第二区块链不正确;
判断所述第二区块链中包含的前一个区块链的哈希值是否与所述第一区块链的哈希值匹配,若否,则确定所述第二区块链不正确。
进一步的,所述校验模块503具体还用于:
计算所述第二区块链的整体哈希值;
对所述第二区块链中区块链的块号、前一个区块链的哈希值、第二区块链的时间戳以及区块链功能数据进行哈希计算,得到所述第二区块链的哈希值;
判断所述第二区块链的哈希值和所述第二区块链的整体哈希值是否匹配,若否,则确定所述第二区块链不正确。
本发明实施例中还提供一种服务器,请参见图7,所述服务器包括:
存储器701,处理器702及存储在所述存储器上并可在所述处理器上运行的计算机程序703,其中,所述处理器702执行所述计算机程序703时可以实现上述服务器执行的数据校验方法。
为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。存储器701可用于存储计算机程序703,上述计算机程序包括软件程序、模块和数据,处理器702通过运行执行存储在存储器701的计算机程序703,从而执行服务器的各种功能应用以及数据处理。
在具体的实施过程中,存储器701可用于存储软件程序以及模块,处理器702通过运行存储在存储器701的软件程序以及模块,从而执行服务器的各种功能应用以及数据处理。存储器701可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(例如游戏类应用程序、聊天类应用程序)等;存储数据区可存储根据服务器的使用所创建的数据(游戏配置数据、音频数据)等。此外,存储器701可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。处理器702是服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器701内的软件程序和/或模块,以及调用存储在存储器701内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器702可包括一个或多个处理单元;优选的,处理器702可集成应用处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等。
下面介绍本发明实施例中客户端侧的数据校验方法。
请参阅图8,本发明实施例中数据校验方法一个实施例包括:
S801、直播平台目标房间的客户端接收服务器下发的第一区块链;
本实施例中,服务器即即直播平台对应的服务器,目标房间为直播平台上主播建立的直播间,目标客户端为进入该目标直播间的客户端。区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。
服务器在需要检测目标房间中客户端是否为用于刷人气的虚拟客户端时,服务器会下发第一区块链到直播平台目标房间的目标客户端,该第一区块链为服务器预先获取或生成的区块链。
S802、客户端根据第一区块链生成第二区块链;
其中,所述第一区块链和所述第二区块链可以为同样的数据结构,该数据结构包括区块链的块号、前一个区块链的哈希值、当前时间的时间戳以及区块链功能数据,所述区块链功能数据包括所述目标房间的房间号,所述客户端的用户标识以及所述客户端的标志。
S803、客户端将第二区块链发送到服务器,以使得所务器对接收到的第二区块链进行校验,确定所述客户端的合法性。
具体的,服务器对接收到的第二区块链进行校验,可以直接其判断是否正确;若是,定目标客户端为合法客户端;若否,确定目标客户端为非法客户端。
本发明实施例通过直播平台目标房间的客户端接收服务器下发的第一区块链;客户端根据所述第一区块链生成第二区块链;客户端将第二区块链发送到服务器,以使得服务器对接收到的第二区块链进行校验,确定客户端的合法性。本发明实施例中利用区块链技术实现服务器对客户端合法性的校验,可以检测直播平台直播房间内利用虚拟客户端刷人气的行为,避免了主播非正常手段获取利益。
通常的一个区块链必须包含一些必要的数据,从而一个是可以校验区块链本身的合法性,另一个也使得其不易于伪造。具体的,本发明实施例中的区块链数据结构则依赖于对房间人气进行校验的,所以在区块链的数据结构中包含房间信息等。本发明实施例中区块链数据结构具体可以如下:
Struct BlockData{
Int64index;//用来表示区块链的块号,通常从0开始递增。
String previousHash;//表示前一个区块链的HASH值,初始区块链时,该哈希值可以为预设哈希值,例如0。
Int64timestamp;//表示时间戳。
String data;//其中data字段则是一些数据的拼接,这个data字段的内容则是依据区块链所需要完成的功能所涉及的数据,即上述区块链功能数据,包括房间号,客户端的用户uid(用户标识),以及客户端的token(客户端的标志)。
String hash;//此HASH值则表示当前这个区块链的内容的HASH值。
}
有了这个区块链数据结构的设计后,当服务器收到客户端新生成的第二区块链后,则可以通过对里面的数据进行校验,以判断其合法性。
在本发明一些实施例中,如图9所示,上述步骤S802可以进一步包括:
S8021、根据所述第一区块链的块号加1,得到所述第二区块链的块号;
具体的,根据Newblock.index=prevblock.index+1,计算第二区块链的块号,其中,Newblock.index为第二区块链的块号,prevblock.index为前一个区块链的块号,此处即为第一区块链的块号,即第二区块链的块号是第一区块链的块号加1。
S8022、获取当前时间;
具体的,根据Newblock.timestamp=time()来获取当前的时间,以作为第二区块链的时间戳。
S8023、计算所述第一区块链的哈希值,作为所述第二区块链中前一个区块链的哈希值;
具体的,根据Newblock.previousHash=prevblock.hash,计算新区块的上一个区块的hash值则是获取的上一个区块的hash值,此处,即计算第一区块链的哈希值,作为第二区块链中前一个区块链的哈希值。
S8024、获取目标房间的房间号,客户端的用户标识以及客户端的标志,得到第二区块链功能数据;
具体的,根据Newblock.data=roomid+uid+token得到第二区块链功能数据,其中,Newblock.data为第二区块链功能数据,token为当前客户端登陆时获取的客户端的标志,uid为客户端的用户标识,roomid为当前用户在客户端观看的目标房间的房间号。
S8025、对所述第二区块链的块号、当前时间、所述第一区块链的哈希值及所述第二区块链功能数据进行哈希计算,得到所述第二区块链的哈希值;
S8026、根据第二区块链的块号、当前时间、第一区块链的哈希值、第二区块链的哈希值及第二区块链功能数据,按照所述数据结构生成第二区块链。
通过上述步骤即可实现了通过第一区块链按照预设的数据结构生成一个新的第二区块链的方法。
不管是客户端还是服务器,当其收到一个区块链时,首先都会对区块链进行合法性校验,以判断当前的区块链是否是合法的,以防止黑客伪造区块链,或者区块链在网络中传输被修改等因素,所以每个区块链都需要进行完整性校验。因此,本发明实施例中,该数据校验方法还可以进一步包括:客户端校验所述第一区块链是否合法,在所述第一区块链合法时,才执行所述客户端根据所述第一区块链生成第二区块链的步骤。
进一步的,在本发明另一些实施例中,第一区块链可以为初始区块链,上述客户端校验所述第一区块链是否合法的步骤具体包括:
判断所述第一区块链的块号是否等于0,若否,则确定所述第一区块链不合法;
判断所述第一区块链中包含的前一个区块链的哈希值是否与预设哈希值匹配,若否,则确定所述第一区块链不合法。
进一步的,上述客户端校验所述第一区块链是否合法的步骤具体还包括:计算所述第一区块链的整体哈希值;对所述第一区块链中区块链的块号、前一个区块链的哈希值、第一区块链的时间戳以及区块链功能数据进行哈希计算,得到所述第一区块链的哈希值;判断所述第一区块链的哈希值和所述第一区块链的整体哈希值是否匹配,若否,则确定所述第一区块链不正确。
下面介绍本发明实施例中客户端的实施例。
请参阅图10,为本发明实施例中客户端的一个实施例,该客户端包括:
接收模块1001,用于接收服务器下发的第一区块链;
生成模块1002,用于根据所述第一区块链生成第二区块链;
发送模块1003,用于将所述第二区块链发送到所述服务器,以使得所述服务器对接收到的所述第二区块链进行校验,确定所述客户端的合法性。
进一步的,所述第一区块链和所述第二区块链为同样的数据结构;
所述数据结构包括区块链的块号、前一个区块链的哈希值、当前时间的时间戳以及区块链功能数据,所述区块链功能数据包括所述目标房间的房间号,所述客户端的用户标识以及所述客户端的标志。
进一步的,所述生成模块1002具体用于:
根据所述第一区块链的块号加1,得到所述第二区块链的块号;
获取当前时间;
计算所述第一区块链的哈希值,作为所述第二区块链中前一个区块链的哈希值;
获取所述目标房间的房间号,所述客户端的用户标识以及所述客户端的标志,得到所述第二区块链功能数据;
对所述第二区块链的块号、当前时间、所述第一区块链的哈希值及所述第二区块链功能数据进行哈希计算,得到所述第二区块链的哈希值;
根据所述第二区块链的块号、当前时间、所述第一区块链的哈希值、所述第二区块链的哈希值及所述第二区块链功能数据,按照所述数据结构生成所述第二区块链。
进一步的,如图11所示,所述客户端还包括:
校验模块1004,用于校验所述第一区块链是否合法,在所述第一区块链合法时,所述生成模块才执行根据所述第一区块链生成第二区块链的步骤。
进一步的,所述第一区块链为初始区块链,所述校验模块1004具体用于:
判断所述第一区块链的块号是否等于0,若否,则确定所述第一区块链不合法;
判断所述第一区块链中包含的前一个区块链的哈希值是否与预设哈希值匹配,若否,则确定所述第一区块链不合法。
本发明实施例中还提供一种客户端,请参见图12,所述客户端包括:
存储器1201,处理器1202及存储在所述存储器上并可在所述处理器上运行的计算机程序1203,其中,所述处理器1202执行所述计算机程序1203时可以实现上述数据校验方法。
需要说明的是,本申请涉及的客户端包括但不限于是:移动终端(手机、智能手机、PAD、笔记本电脑等等)、固定终端(计算机)。
为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。存储器1201可用于存储计算机程序1203,上述计算机程序包括软件程序、模块和数据,处理器1202通过运行执行存储在存储器1201的计算机程序1203,从而执行客户端的各种功能应用以及数据处理。
在具体的实施过程中,存储器1201可用于存储软件程序以及模块,处理器1202通过运行存储在存储器1201的软件程序以及模块,从而执行客户端的各种功能应用以及数据处理。存储器1201可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(例如游戏类应用程序、聊天类应用程序)等;存储数据区可存储根据客户端的使用所创建的数据(游戏配置数据、音频数据)等。此外,存储器1201可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。处理器1202是客户端的控制中心,利用各种接口和线路连接整个客户端的各个部分,通过运行或执行存储在存储器1201内的软件程序和/或模块,以及调用存储在存储器1201内的数据,执行客户端的各种功能和处理数据,从而对客户端进行整体监控。可选的,处理器1202可包括一个或多个处理单元;优选的,处理器1202可集成应用处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等。
本发明实施例还提供一种计算机可读存储介质,其中,该计算机可读存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的数据校验方法的部分或全部步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种数据校验方法,其特征在于,所述方法包括:
服务器下发第一区块链到直播平台目标房间的目标客户端,以使得所述目标客户端收到所述第一区块链后生成第二区块链,并将所述第二区块链发送到所述服务器;
在所述服务器接收到所述目标客户端发送的第二区块链时,所述服务器对接收到的所述第二区块链进行校验,判断是否正确;
若是,则确定所述目标客户端为合法客户端,若否,则确定所述目标客户端为非法客户端。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述服务器未接收到所述目标客户端发送的第二区块链时,确定所述目标客户端为非法客户端。
3.根据权利要求1所述的方法,其特征在于,在所述服务器下发第一区块链到所述目标客户端之前,所述方法还包括:
生成所述第一区块链,所述第一区块链包括第一区块链的块号、前一个区块链的哈希值、生成第一区块链的时间戳、第一区块链的哈希值以及区块链功能数据,所述区块链功能数据包括所述目标房间的房间号,所述目标客户端的用户标识以及所述目标客户端的标志。
4.根据权利要求1所述的方法,其特征在于,所述第二区块链包括第二区块链的块号、前一个区块链哈希值、生成第二区块链的时间戳以及区块链功能数据,所述目标客户端的用户标识以及所述目标客户端的标志;所述服务器对接收到的所述第二区块链进行校验,判断是否正确的步骤,包括:
判断所述第二区块链的块号是否等于第一区块链的块号加1,若否,则确定所述第二区块链不正确;
判断所述第二区块链中包含的前一个区块链的哈希值是否与所述第一区块链的哈希值匹配,若否,则确定所述第二区块链不正确。
5.根据权利要求4所述的方法,其特征在于,所述服务器对接收到的所述第二区块链进行校验,判断是否正确的步骤,还包括:
计算所述第二区块链的整体哈希值;
对所述第二区块链中区块链的块号、前一个区块链的哈希值、第二区块链的时间戳以及区块链功能数据进行哈希计算,得到所述第二区块链的哈希值;
判断所述第二区块链的哈希值和所述第二区块链的整体哈希值是否匹配,若否,则确定所述第二区块链不正确。
6.一种服务器,其特征在于,所述服务器包括:
发送模块,用于下发第一区块链到直播平台目标房间的目标客户端,以使得所述目标客户端收到所述第一区块链后生成第二区块链,并将所述第二区块链发送到所述服务器;
接收模块,用于接收所述目标客户端发送的第二区块链;
校验模块,用于对接收到的所述第二区块链进行校验,判断是否正确;若是,则确定所述目标客户端为合法客户端,若否,则确定所述目标客户端为非法客户端。
7.根据权利要求6所述的服务器,其特征在于,所述校验模块还用于:
在所述服务器未接收到所述目标客户端发送的第二区块链时,确定所述目标客户端为非法客户端。
8.根据权利要求6所述的服务器,其特征在于,所述服务器还包括:
生成模块,用于生成所述第一区块链,所述第一区块链包括第一区块链的块号、前一个区块链的哈希值、生成第一区块链的时间戳、第一区块链的哈希值以及区块链功能数据,所述区块链功能数据包括所述目标房间的房间号,所述目标客户端的用户标识以及所述目标客户端的标志。
9.根据权利要求6所述的服务器,其特征在于,所述第二区块链包括第二区块链的块号、前一个区块链哈希值、生成第二区块链的时间戳以及区块链功能数据,所述目标客户端的用户标识以及所述目标客户端的标志;
所述校验模块具体用于:
判断所述第二区块链的块号是否等于第一区块链的块号加1,若否,则确定所述第二区块链不正确;
判断所述第二区块链中包含的前一个区块链的哈希值是否与所述第一区块链的哈希值匹配,若否,则确定所述第二区块链不正确。
10.一种服务器,其特征在于,包括:存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时可以实现权利要求1至5任一所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710883441.4A CN107465698A (zh) | 2017-09-26 | 2017-09-26 | 一种数据校验方法及服务器 |
PCT/CN2017/108047 WO2019061626A1 (zh) | 2017-09-26 | 2017-10-27 | 一种数据校验方法及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710883441.4A CN107465698A (zh) | 2017-09-26 | 2017-09-26 | 一种数据校验方法及服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107465698A true CN107465698A (zh) | 2017-12-12 |
Family
ID=60553326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710883441.4A Pending CN107465698A (zh) | 2017-09-26 | 2017-09-26 | 一种数据校验方法及服务器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107465698A (zh) |
WO (1) | WO2019061626A1 (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108123960A (zh) * | 2018-01-02 | 2018-06-05 | 武汉斗鱼网络科技有限公司 | 直播房间人气验证方法、装置及电子设备 |
CN108234491A (zh) * | 2018-01-02 | 2018-06-29 | 武汉斗鱼网络科技有限公司 | 协议关联验证方法、装置及电子设备 |
CN108256353A (zh) * | 2018-01-11 | 2018-07-06 | 武汉斗鱼网络科技有限公司 | 一种数据完整性校验方法、装置及客户端 |
WO2019061598A1 (zh) * | 2017-09-26 | 2019-04-04 | 武汉斗鱼网络科技有限公司 | 一种数据校验方法及客户端 |
CN110213597A (zh) * | 2018-03-30 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 一种通过浏览器进入直播房间的方法和装置 |
CN110263579A (zh) * | 2018-11-16 | 2019-09-20 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、系统及相关设备 |
CN112132574A (zh) * | 2019-06-25 | 2020-12-25 | 华为技术有限公司 | 区块链数据校验方法、数据处理方法、装置及设备 |
CN113067808A (zh) * | 2021-03-15 | 2021-07-02 | 上海哔哩哔哩科技有限公司 | 数据处理方法、直播方法、鉴权服务器及直播数据服务器 |
WO2023077813A1 (zh) * | 2021-11-02 | 2023-05-11 | 上海哔哩哔哩科技有限公司 | 确定直播间刷量的方法及装置 |
CN112132574B (zh) * | 2019-06-25 | 2024-08-02 | 华为技术有限公司 | 区块链数据校验方法、数据处理方法、装置及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105701372A (zh) * | 2015-12-18 | 2016-06-22 | 布比(北京)网络技术有限公司 | 一种区块链身份构建及验证方法 |
CN106357640A (zh) * | 2016-09-18 | 2017-01-25 | 江苏通付盾科技有限公司 | 基于区块链网络的身份认证方法、系统及服务器 |
CN106534160A (zh) * | 2016-12-02 | 2017-03-22 | 江苏通付盾科技有限公司 | 基于区块链的身份认证方法及系统 |
US9635000B1 (en) * | 2016-05-25 | 2017-04-25 | Sead Muftic | Blockchain identity management system based on public identities ledger |
US20170155515A1 (en) * | 2015-11-26 | 2017-06-01 | International Business Machines Corporation | System, method, and computer program product for privacy-preserving transaction validation mechanisms for smart contracts that are included in a ledger |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170149560A1 (en) * | 2012-02-02 | 2017-05-25 | Netspective Communications Llc | Digital blockchain authentication |
CN105959729A (zh) * | 2016-06-29 | 2016-09-21 | 武汉斗鱼网络科技有限公司 | 一种统计直播平台在线用户人数的方法及系统 |
CN106385601B (zh) * | 2016-09-14 | 2019-04-05 | 武汉斗鱼网络科技有限公司 | 基于多协议验证的同时观看直播人数的统计方法及系统 |
CN107171810B (zh) * | 2017-06-27 | 2020-03-13 | 中国联合网络通信集团有限公司 | 区块链的验证方法及装置 |
CN107682328A (zh) * | 2017-09-26 | 2018-02-09 | 武汉斗鱼网络科技有限公司 | 一种数据校验方法及客户端 |
-
2017
- 2017-09-26 CN CN201710883441.4A patent/CN107465698A/zh active Pending
- 2017-10-27 WO PCT/CN2017/108047 patent/WO2019061626A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170155515A1 (en) * | 2015-11-26 | 2017-06-01 | International Business Machines Corporation | System, method, and computer program product for privacy-preserving transaction validation mechanisms for smart contracts that are included in a ledger |
CN105701372A (zh) * | 2015-12-18 | 2016-06-22 | 布比(北京)网络技术有限公司 | 一种区块链身份构建及验证方法 |
US9635000B1 (en) * | 2016-05-25 | 2017-04-25 | Sead Muftic | Blockchain identity management system based on public identities ledger |
CN106357640A (zh) * | 2016-09-18 | 2017-01-25 | 江苏通付盾科技有限公司 | 基于区块链网络的身份认证方法、系统及服务器 |
CN106534160A (zh) * | 2016-12-02 | 2017-03-22 | 江苏通付盾科技有限公司 | 基于区块链的身份认证方法及系统 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019061598A1 (zh) * | 2017-09-26 | 2019-04-04 | 武汉斗鱼网络科技有限公司 | 一种数据校验方法及客户端 |
CN108123960B (zh) * | 2018-01-02 | 2020-10-16 | 武汉斗鱼网络科技有限公司 | 直播房间人气验证方法、装置及电子设备 |
CN108234491B (zh) * | 2018-01-02 | 2021-01-01 | 武汉斗鱼网络科技有限公司 | 协议关联验证方法、装置及电子设备 |
CN108234491A (zh) * | 2018-01-02 | 2018-06-29 | 武汉斗鱼网络科技有限公司 | 协议关联验证方法、装置及电子设备 |
CN108123960A (zh) * | 2018-01-02 | 2018-06-05 | 武汉斗鱼网络科技有限公司 | 直播房间人气验证方法、装置及电子设备 |
CN108256353A (zh) * | 2018-01-11 | 2018-07-06 | 武汉斗鱼网络科技有限公司 | 一种数据完整性校验方法、装置及客户端 |
CN108256353B (zh) * | 2018-01-11 | 2021-01-01 | 武汉斗鱼网络科技有限公司 | 一种数据完整性校验方法、装置及客户端 |
CN110213597B (zh) * | 2018-03-30 | 2021-09-07 | 腾讯科技(深圳)有限公司 | 一种通过浏览器进入直播房间的方法和装置 |
CN110213597A (zh) * | 2018-03-30 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 一种通过浏览器进入直播房间的方法和装置 |
CN110263579A (zh) * | 2018-11-16 | 2019-09-20 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、系统及相关设备 |
CN112132574A (zh) * | 2019-06-25 | 2020-12-25 | 华为技术有限公司 | 区块链数据校验方法、数据处理方法、装置及设备 |
CN112132574B (zh) * | 2019-06-25 | 2024-08-02 | 华为技术有限公司 | 区块链数据校验方法、数据处理方法、装置及设备 |
CN113067808A (zh) * | 2021-03-15 | 2021-07-02 | 上海哔哩哔哩科技有限公司 | 数据处理方法、直播方法、鉴权服务器及直播数据服务器 |
CN113067808B (zh) * | 2021-03-15 | 2022-07-05 | 上海哔哩哔哩科技有限公司 | 数据处理方法、直播方法、鉴权服务器及直播数据服务器 |
WO2023077813A1 (zh) * | 2021-11-02 | 2023-05-11 | 上海哔哩哔哩科技有限公司 | 确定直播间刷量的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2019061626A1 (zh) | 2019-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107465698A (zh) | 一种数据校验方法及服务器 | |
CN107682328A (zh) | 一种数据校验方法及客户端 | |
CN107454110A (zh) | 一种数据校验方法及服务器 | |
CN107623865A (zh) | 一种数据校验方法及服务器 | |
CN107426253A (zh) | 一种数据校验方法及客户端 | |
CN107679149A (zh) | 一种数据处理方法及服务器 | |
CN107528855A (zh) | 一种数据校验方法及服务器 | |
CN107801059B (zh) | 一种鉴权方法及服务器 | |
CN107171810A (zh) | 区块链的验证方法及装置 | |
CN109598598A (zh) | 基于区块链的交易处理方法及装置、电子设备 | |
CN106815722A (zh) | 基于区块链的信息处理方法和装置 | |
CN104933207B (zh) | 应用程序中用户行为数据的获取方法和系统 | |
CN107798538A (zh) | 一种交易核算方法及客户端 | |
CN108764966A (zh) | 广告投放方法、区块链节点设备及相关设备 | |
CN105791246A (zh) | 验证信息的验证方法、装置及系统 | |
CN109495378A (zh) | 检测异常帐号的方法、装置、服务器及存储介质 | |
CN107563798A (zh) | 中奖数据处理方法及装置 | |
CN108600315A (zh) | 区块链路由处理方法、装置及存储介质 | |
CN108260015A (zh) | 一种投票数据处理方法、装置及电子设备 | |
CN105024885A (zh) | 反外挂的网络游戏系统 | |
CN109246178B (zh) | 一种在线题目发放方法、装置、服务器及存储介质 | |
CN110321730A (zh) | 一种操作数据处理的方法、区块链节点及存储介质 | |
CN104462934B (zh) | 一种信息处理方法及电子设备 | |
CN106559386A (zh) | 一种认证方法及装置 | |
CN108924089A (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: 20171212 |
|
RJ01 | Rejection of invention patent application after publication |