WO2019061626A1 - Data verification method, and server - Google Patents
Data verification method, and server Download PDFInfo
- Publication number
- WO2019061626A1 WO2019061626A1 PCT/CN2017/108047 CN2017108047W WO2019061626A1 WO 2019061626 A1 WO2019061626 A1 WO 2019061626A1 CN 2017108047 W CN2017108047 W CN 2017108047W WO 2019061626 A1 WO2019061626 A1 WO 2019061626A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- blockchain
- client
- server
- hash value
- target client
- Prior art date
Links
Images
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
Definitions
- the present invention relates to the field of video live broadcast technology, and in particular, to a data verification method and a server.
- some anchors will increase the number of viewers watching the room at the same time by brushing the popularity, so as to gain revenue.
- the specific implementation method of popular popularity is on a server with very good performance, through cracking the live broadcast platform.
- the network protocol while forging a large number of fake client users simultaneously logged into the live broadcast room, thereby forging a large number of viewers, to brush the popularity data between the live broadcasts is relatively high.
- the embodiment of the invention provides a data verification method and a server to detect the situation in which the false client is faked by the fake client in the live broadcast.
- the present application provides a data verification method, the method comprising:
- the server delivers the first blockchain to the target client of the live platform target room, so that the target client generates the second blockchain after receiving the first blockchain, and the second block is generated. a chain is sent to the server;
- the server When the server receives the second blockchain sent by the target client, the server checks the received second blockchain to determine whether it is correct;
- the method further includes:
- the method further includes:
- the first blockchain including a block number of the first blockchain, a hash value of the previous blockchain, a timestamp of generating the first blockchain, and the first block
- the hash value of the chain and the blockchain function data, the blockchain function data including a room number of the target room, a user identifier of the target client, and a flag of the target client.
- the second blockchain includes a block number of the second blockchain, a previous blockchain hash value, a timestamp of generating the second blockchain, and blockchain function data, where the target client a user identifier and a flag of the target client; the step of the server verifying the received second blockchain and determining whether it is correct, including:
- step of the server performing verification on the received second blockchain and determining whether it is correct includes:
- the application provides a server, where the server includes:
- a sending module configured to send a first blockchain to a target client of a live platform target room, so that the target client generates the second blockchain after receiving the first blockchain, and a second blockchain is sent to the server;
- a receiving module configured to receive a second blockchain sent by the target client
- a verification module configured to check the received second blockchain to determine whether it is correct; if yes, determine that the target client is a legitimate client, and if not, determine that the target client is Illegal client.
- verification module is further configured to:
- server further includes:
- Generating a module configured to generate the first blockchain, where the first blockchain includes a block number of the first blockchain, a hash value of the previous blockchain, and a timestamp of generating the first blockchain a hash value of the first blockchain and blockchain function data, the blockchain function data including a room number of the target room, a user identifier of the target client, and a flag of the target client.
- the second blockchain includes a block number of the second blockchain, a previous blockchain hash value, a timestamp of generating the second blockchain, and blockchain function data, where the target client a user identifier and a logo of the target client;
- the verification module is specifically configured to:
- verification module is further used to:
- the present invention also provides a server, comprising: a memory, a processor, and a computer program stored on the memory and operable on the processor, wherein when the processor executes the computer program
- a server comprising: a memory, a processor, and a computer program stored on the memory and operable on the processor, wherein when the processor executes the computer program
- the present invention further provides a computer readable storage medium having stored thereon a computer program, the program being implemented by the processor to implement the method of any of the first aspects.
- the first blockchain is delivered by the server to the target client of the target room of the live broadcast platform, so that the target client receives the first blockchain and generates a second blockchain, and the second blockchain is generated.
- the blockchain technology is used to verify the validity of the server to the client, and the behavior of using the virtual client to scan popularity in the live broadcast room of the live broadcast platform can be detected, thereby avoiding the abnormality of the anchor to obtain benefits.
- FIG. 1 is a schematic diagram of an embodiment of a server side data verification method according to an embodiment of the present invention
- FIG. 2 is a schematic diagram of another embodiment of a server side data verification method according to an embodiment of the present invention.
- FIG. 3 is a schematic diagram of an embodiment of step S103 according to an embodiment of the present invention.
- step S103 is a schematic diagram of another embodiment of step S103 according to an embodiment of the present invention.
- FIG. 5 is a schematic diagram of an embodiment of a server in an embodiment of the present invention.
- FIG. 6 is a schematic diagram of another embodiment of a server in an embodiment of the present invention.
- FIG. 7 is a schematic diagram of another embodiment of a server in an embodiment of the present invention.
- FIG. 8 is a schematic diagram of an embodiment of a client side data verification method according to an embodiment of the present invention.
- FIG. 9 is a schematic diagram of an embodiment of step S802 in the embodiment of the present invention.
- FIG. 10 is a schematic diagram of an embodiment of a client in an embodiment of the present invention.
- FIG. 11 is a schematic diagram of another embodiment of a client in an embodiment of the present invention.
- FIG. 12 is a schematic diagram of another embodiment of a client in an embodiment of the present invention.
- a data verification method is applied to a server, where the method includes:
- the server sends the first blockchain to the target client of the target room of the live platform, so that the target client receives the first blockchain, generates a second blockchain, and sends the second blockchain to the server. ;
- the server is the server corresponding to the live broadcast platform
- the client may be a user terminal, such as a smart terminal such as a mobile phone or a tablet computer.
- the target room is a live broadcast room established by the anchor on the live broadcast platform, and the target client is to enter the target live broadcast. Between the clients.
- a blockchain is a chained data structure that combines data blocks in a chronological order in a sequential manner, and cryptographically guaranteed non-tamperable and unforgeable distributed ledgers.
- the server receives a second blockchain sent by the target client.
- the second blockchain is generated in step S101, after the target client receives the first blockchain, and the first blockchain and the second blockchain are the same data structure, and the data structure is The block number including the blockchain, the hash value of the previous blockchain, the timestamp of the current time, the hash value of the current blockchain, and the blockchain function data, the blockchain function data including the target room The room number, the target user's user ID, and the target client's flag.
- the previous blockchain hash value is a preset hash value, for example, 0.
- the hash (HASH) algorithm corresponding to the hash value is unified, and the HASH algorithm may be the SHA-256 algorithm, and may be other HASH algorithms, such as SHA-1, etc., which is not limited herein.
- step S103 the server checks the received second blockchain to determine whether it is correct; if yes, step S104 is performed, and if not, step S105 is performed;
- the first blockchain is delivered by the server to the target client of the target room of the live broadcast platform, so that the target client receives the first blockchain and generates a second blockchain, and the second blockchain is generated.
- the blockchain technology is used to verify the validity of the server to the client, and the behavior of using the virtual client to scan popularity in the live broadcast room of the live broadcast platform can be detected, thereby avoiding the abnormality of the anchor to obtain benefits.
- the server may determine the legality of all the clients in the target room according to the steps in S101 to S105, and detect whether there is a large amount of popularity in the target room. If the server detects an illegal client in the target room. If the preset number or preset ratio (proportion of all clients in the target room) is reached, it is determined that there is a large amount of popular popularity in the target room, and the maintenance personnel can punish the target room anchor accordingly, and can remove the calculation when the popularity is calculated. The popularity data of these illegal clients is made, so that the popularity data of the target room is attributed to reality.
- the method in the embodiment of the present invention may further include:
- the first blockchain includes a block number of the first blockchain, a hash value of the previous blockchain, a timestamp of generating the first blockchain, a hash value of the first blockchain, and a block.
- Chain function data the area
- the blockchain function data includes the room number of the target room, the user ID of the target client, and the logo of the target client.
- the first blockchain may be an initial blockchain generated by the server.
- the first blockchain is the first generated blockchain.
- the hash value of the previous blockchain in a blockchain is a preset hash value, for example, 0.
- the blockchain data structure is defined in advance, and when the first blockchain is generated, the first block is generated according to the predefined blockchain data structure.
- Chain in the same way, after the first blockchain is received by the client, when the second blockchain is generated according to the first blockchain, the generated second blockchain is also generated according to the predefined blockchain data structure.
- a typical blockchain must contain some necessary data so that one can verify the legitimacy of the blockchain itself, and the other makes it less prone to forgery.
- the blockchain data structure in the embodiment of the present invention relies on verifying the popularity of the room, so the room information and the like are included in the data structure of the blockchain.
- the blockchain data structure in the embodiment of the present invention may specifically be as follows:
- index is used to indicate the block number of the blockchain, usually starting from 0; previousHash is the HASH value of the previous blockchain; timestamp is the timestamp; where the data field is the splicing of some data, the content of this data field It is the data involved in the function required by the blockchain, that is, the above blockchain function data, including the room number, the user uid (user ID) of the client, and the client's token (the client's logo); the hash value is Indicates the current hash value of this blockchain.
- the server receives the newly generated second blockchain from the client, it can verify the legitimacy by verifying the data inside.
- the second blockchain includes a block number of the second blockchain, a previous blockchain hash value, a timestamp of generating the second blockchain, and blockchain function data, the target client
- the user identifier of the terminal and the identifier of the target client, as shown in FIG. 3, the foregoing step S103 may specifically include:
- step S103 may further include:
- S1035 Determine whether the hash value of the second blockchain and the overall hash value of the second blockchain match, and if not, determine that the second blockchain is incorrect.
- HASH Newblock.index+Newblock.previousHash+Newblock.timestamp+Newblock.data
- HASH is the hash value of the second blockchain, if the hash value of the second blockchain and the overall hash value of the second blockchain If there is no match, it is determined that the second blockchain is incorrect, and an error message can be returned to the target client.
- Embodiments of the server in the embodiment of the present invention are described below.
- an embodiment of a server in an embodiment of the present invention includes:
- the sending module 501 is configured to send the first blockchain to the target client of the live platform target room, so that the target client generates the second blockchain after receiving the first blockchain, and Transmitting the second blockchain to the server;
- the receiving module 502 is configured to receive a second blockchain sent by the target client.
- the verification module 503 is configured to check the received second blockchain to determine whether it is correct; if yes, determine that the target client is a legitimate client, and if not, determine the target client. Is an illegal client.
- verification module 503 is further configured to:
- the server further includes:
- a generating module 504 configured to generate the first blockchain, where the first blockchain includes a block number of the first blockchain, a hash value of the previous blockchain, and a time for generating the first blockchain And a blockchain function data, the blockchain function data including a room number of the target room, a user identifier of the target client, and a flag of the target client.
- the second blockchain includes a block number of the second blockchain, a previous blockchain hash value, a timestamp of generating the second blockchain, and blockchain function data, where the target client a user identifier and a logo of the target client;
- the verification module 503 is specifically configured to:
- verification module 503 is further specifically configured to:
- a server is also provided in the embodiment of the present invention. Referring to FIG. 7, the server includes:
- the memory 701 can be used to store a computer program 703, the computer program including software programs, modules, and data, and the processor 702 executes by running
- the computer program 703 is stored in the memory 701, thereby performing various functional applications of the server as well as data processing.
- the memory 701 can be used to store software programs and modules, and the processor 702 executes various functional applications and data processing of the server by running software programs and modules stored in the memory 701.
- the memory 701 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application required for at least one function (for example, a game application, a chat application), and the like; and the storage data area may be stored. Data created based on the use of the server (game configuration data, audio data), and the like.
- the memory 701 may include a high speed random access memory, and may also include a nonvolatile memory such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device.
- the processor 702 is a control center of the server, and connects various parts of the entire server using various interfaces and lines, by executing or executing software programs and/or modules stored in the memory 701, and calling data stored in the memory 701, executing The server's various functions and processing data to monitor the server as a whole.
- the processor 702 can include one or more processing units; preferably, the processor 702 can integrate an application processor, wherein the application processor mainly processes an operating system, a user interface, an application, and the like.
- an embodiment of a data verification method in an embodiment of the present invention includes:
- the server is the server corresponding to the live broadcast platform
- the target room is the live broadcast room established by the anchor on the live broadcast platform
- the target client is the client that enters the target live broadcast room.
- a blockchain is a chained data structure that combines data blocks in a chronological order in a sequential manner, and cryptographically guaranteed non-tamperable and unforgeable distributed ledgers.
- the server When the server needs to detect whether the client is a virtual client for popular use in the target room, the server sends the first blockchain to the target client of the live platform target room, and the first blockchain is pre-acquired by the server. Or generated blockchain.
- the client generates a second blockchain according to the first blockchain.
- the first blockchain and the second blockchain may be the same data structure, and the data structure includes a block number of the blockchain, a hash value of the previous blockchain, and a timestamp of the current time.
- the blockchain function data including a room number of the target room, a user identifier of the client, and a logo of the client.
- the client sends the second blockchain to the server, so that the server checks the received second blockchain to determine the legitimacy of the client.
- the server checks the received second blockchain, and can directly determine whether it is correct; if yes, the target client is a legitimate client; if not, the target client is determined to be an illegal client.
- the client of the target room of the live broadcast platform receives the first blockchain delivered by the server; the client generates a second blockchain according to the first blockchain; the client sends the second blockchain to the client The server, so that the server checks the received second blockchain to determine the legitimacy of the client.
- the blockchain technology is used to verify the validity of the server to the client, and the behavior of using the virtual client to scan popularity in the live broadcast room of the live broadcast platform can be detected, thereby avoiding the abnormality of the anchor to obtain benefits.
- a typical blockchain must contain some necessary data so that one can verify the legitimacy of the blockchain itself, and the other makes it less prone to forgery.
- the blockchain data structure in the embodiment of the present invention relies on verifying the popularity of the room, so the room information and the like are included in the data structure of the blockchain.
- the blockchain data structure in the embodiment of the present invention may specifically be as follows:
- Int64 index / / used to indicate the block number of the blockchain, usually starting from 0.
- the hash value can be a preset hash value, such as 0.
- step S802 may further include:
- Number here is the block number of the first blockchain, that is, the block number of the second blockchain is the block number of the first blockchain plus one.
- Newblock.previousHash prevblock.hash
- calculating the hash value of the previous block of the new block is the hash value of the obtained previous block, where the hash value of the first block chain is calculated.
- S8024 Obtain a room number of the target room, a user identifier of the client, and a logo of the client, to obtain function data of the second blockchain;
- the roomid is the room number of the target room that the current user is viewing on the client.
- the data verification method may further include: the client verifies whether the first blockchain is legal, and when the first block chain is legal, the client is executed according to the client.
- the first blockchain generates a second blockchain.
- the first blockchain may be an initial blockchain
- the step of the client verifying whether the first blockchain is legal includes:
- the step of verifying, by the client, whether the first blockchain is legal or not further includes: calculating an overall hash value of the first blockchain; and performing a blockchain in the first blockchain The block number, the hash value of the previous blockchain, the timestamp of the first blockchain, and the blockchain function data are hashed to obtain a hash value of the first blockchain; Whether the hash value of the blockchain matches the overall hash value of the first blockchain, and if not, it is determined that the first blockchain is incorrect.
- FIG. 10 it is an embodiment of a client in an embodiment of the present invention, where the client includes:
- the receiving module 1001 is configured to receive a first blockchain delivered by the server;
- a generating module 1002 configured to generate a second blockchain according to the first blockchain
- the sending module 1003 is configured to send the second blockchain to the server, so that the server checks the received second blockchain to determine the legitimacy of the client.
- first blockchain and the second blockchain are the same data structure
- the data structure includes a block number of a blockchain, a hash value of a previous blockchain, a timestamp of a current time, and blockchain function data, the blockchain function data including a room number of the target room, The user identifier of the client and the logo of the client.
- the generating module 1002 is specifically configured to:
- the block number of the second blockchain the current time, the hash value of the first blockchain, the hash value of the second blockchain, and the second blockchain function data, according to The data structure generates the second blockchain.
- the client further includes:
- the verification module 1004 is configured to check whether the first blockchain is legal. When the first block is legal, the generating module performs to generate a second blockchain according to the first blockchain. A step of.
- the first blockchain is an initial blockchain
- the verification module 1004 is specifically configured to:
- a client is also provided in the embodiment of the present invention. Referring to FIG. 12, the client includes:
- the memory 1201 is a processor 1202 and a computer program 1203 stored on the memory and executable on the processor, wherein the data verification method can be implemented when the processor 1202 executes the computer program 1203.
- clients involved in the present application include, but are not limited to, mobile terminals (mobile phones, smart phones, PADs, notebook computers, etc.), fixed terminals (computers).
- the memory 1201 can be used to store a computer program 1203 including software programs, modules, and data, and the processor 1202 executes the computer program 1203 stored in the memory 1201 to execute various functional applications and data processing of the client.
- the memory 1201 can be used to store software programs and modules, and process
- the processor 1202 executes various functional applications and data processing of the client by running software programs and modules stored in the memory 1201.
- the memory 1201 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application required for at least one function (for example, a game application, a chat application), and the like; and the storage data area may be stored. Data created based on the use of the client (game configuration data, audio data), and the like.
- the memory 1201 may include a high speed random access memory, and may also include a nonvolatile memory such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device.
- the processor 1202 is a control center of the client that connects various parts of the entire client using various interfaces and lines, executes or executes software programs and/or modules stored in the memory 1201, and calls data stored in the memory 1201 to execute The client's various functions and processing data to monitor the client as a whole.
- the processor 1202 may include one or more processing units; preferably, the processor 1202 may integrate an application processor, where the application processor mainly processes an operating system, a user interface, an application, and the like.
- the embodiment of the present invention further provides a computer readable storage medium, wherein the computer readable storage medium can store a program, and the program includes some or all of the steps of the data verification method described in the foregoing method embodiments.
- the disclosed system, apparatus, and method may be implemented in other manners.
- the device embodiments described above are merely illustrative.
- the division of the unit is only a logical function division.
- there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
- the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
- the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. You can choose some of them according to actual needs or All units are used to achieve the objectives of the solution of this embodiment.
- each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
- the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
- the integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium.
- the technical solution of the present invention which is essential or contributes to the prior art, or all or part of the technical solution, may be embodied in the form of a software product stored in a storage medium.
- a number of instructions are included to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
- the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like. .
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
Disclosed are a data verification method, and a server. The method in the embodiments of the present invention comprises: a server issuing a first block chain to a target client in a target room on a live-broadcasting platform, so that the target client generates a second block chain after receiving the first block chain, and sends the second block chain to the server; when the server receives the second block chain sent by the target client, the server verifying the received second block chain, and determining whether same is correct; when the second block chain is correct, determining that the target client is a legitimate client; and when the second block chain is incorrect, determining that the target client is an illegitimate client. According to the embodiments of the present invention, block chain technology is used to realize the verification of the legitimacy of a client by a server, so that the behavior of using a virtual client to inflate the popularity in a live-broadcasting room on a live-broadcasting platform can be detected, thereby preventing a host from using abnormal means to acquire benefits.
Description
本发明涉及视频直播技术领域,特别涉及一种数据校验方法及服务器。The present invention relates to the field of video live broadcast technology, and in particular, to a data verification method and a server.
目前,随着网络通信技术的进步和宽带网络的提速,网络直播得到了越来越多的发展和应用。尤其在游戏直播领域,越来越多的观众会观看游戏主播的直播。At present, with the advancement of network communication technology and the speed of broadband networks, webcasting has been increasingly developed and applied. Especially in the field of game live broadcast, more and more viewers will watch the live broadcast of the game anchor.
在视频直播中,部分主播会通过刷人气的方法来提高房间同时观看的观众数量,从而获取收益,其刷人气的具体的实现方式则是在一台性能非常好的服务器上,通过破解直播平台的网络协议,同时伪造大量的虚假客户端用户同时登陆到直播间,从而伪造大量观众的方法,来将直播间的人气数据刷的比较高。In the live video broadcast, some anchors will increase the number of viewers watching the room at the same time by brushing the popularity, so as to gain revenue. The specific implementation method of popular popularity is on a server with very good performance, through cracking the live broadcast platform. The network protocol, while forging a large number of fake client users simultaneously logged into the live broadcast room, thereby forging a large number of viewers, to brush the popularity data between the live broadcasts is relatively high.
因此对于直播平台则需要一种方法能够检测出该直播间是否存在伪造虚假客户端刷人气的情况。Therefore, for the live broadcast platform, a method is needed to detect whether there is a fake fake client in the live broadcast room.
发明内容Summary of the invention
本发明实施例提供了一种数据校验方法及服务器,以检测直播间伪造虚假客户端刷人气的情况。The embodiment of the invention provides a data verification method and a server to detect the situation in which the false client is faked by the fake client in the live broadcast.
第一方面,本申请提供了一种数据校验方法,该方法包括:In a first aspect, the present application provides a data verification method, the method comprising:
服务器下发第一区块链到直播平台目标房间的目标客户端,以使得所述目标客户端收到所述第一区块链后生成第二区块链,并将所述第二区块链发送到所述服务器;The server delivers the first blockchain to the target client of the live platform target room, so that the target client generates the second blockchain after receiving the first blockchain, and the second block is generated. a chain is sent to the server;
在所述服务器接收到所述目标客户端发送的第二区块链时,所述服务器对接收到的所述第二区块链进行校验,判断是否正确;When the server receives the second blockchain sent by the target client, the server checks the received second blockchain to determine whether it is correct;
若是,则确定所述目标客户端为合法客户端,若否,则确定所述目标客户端为非法客户端。If yes, determining that the target client is a legitimate client, and if not, determining that the target client is an illegal client.
进一步的,所述方法还包括:
Further, the method further includes:
在所述服务器未接收到所述目标客户端发送的第二区块链时,确定所述目标客户端为非法客户端。When the server does not receive the second blockchain sent by the target client, determining that the target client is an illegal client.
进一步的,在所述服务器下发第一区块链到所述目标客户端之前,所述方法还包括:Further, before the sending, by the server, the first blockchain to the target client, the method further includes:
生成所述第一区块链,所述第一区块链包括第一区块链的块号、前一个区块链的哈希值、生成第一区块链的时间戳、第一区块链的哈希值以及区块链功能数据,所述区块链功能数据包括所述目标房间的房间号,所述目标客户端的用户标识以及所述目标客户端的标志。Generating the first blockchain, the first blockchain including a block number of the first blockchain, a hash value of the previous blockchain, a timestamp of generating the first blockchain, and the first block The hash value of the chain and the blockchain function data, the blockchain function data including a room number of the target room, a user identifier of the target client, and a flag of the target client.
进一步的,所述第二区块链包括第二区块链的块号、前一个区块链哈希值、生成第二区块链的时间戳以及区块链功能数据,所述目标客户端的用户标识以及所述目标客户端的标志;所述服务器对接收到的所述第二区块链进行校验,判断是否正确的步骤,包括:Further, the second blockchain includes a block number of the second blockchain, a previous blockchain hash value, a timestamp of generating the second blockchain, and blockchain function data, where the target client a user identifier and a flag of the target client; the step of the server verifying the received second blockchain and determining whether it is correct, including:
判断所述第二区块链的块号是否等于第一区块链的块号加1,若否,则确定所述第二区块链不正确;Determining whether the block number of the second block chain is equal to the block number of the first block chain plus 1, if not, determining that the second block chain is incorrect;
判断所述第二区块链中包含的前一个区块链的哈希值是否与所述第一区块链的哈希值匹配,若否,则确定所述第二区块链不正确。Determining whether a hash value of the previous blockchain included in the second blockchain matches a hash value of the first blockchain, and if not, determining that the second blockchain is incorrect.
进一步的,所述服务器对接收到的所述第二区块链进行校验,判断是否正确的步骤,还包括:Further, the step of the server performing verification on the received second blockchain and determining whether it is correct includes:
计算所述第二区块链的整体哈希值;Calculating an overall hash value of the second blockchain;
对所述第二区块链中区块链的块号、前一个区块链的哈希值、第二区块链的时间戳以及区块链功能数据进行哈希计算,得到所述第二区块链的哈希值;Performing a hash calculation on the block number of the blockchain in the second blockchain, the hash value of the previous blockchain, the timestamp of the second blockchain, and the blockchain function data, to obtain the second The hash value of the blockchain;
判断所述第二区块链的哈希值和所述第二区块链的整体哈希值是否匹配,若否,则确定所述第二区块链不正确。Determining whether the hash value of the second blockchain and the overall hash value of the second blockchain match, and if not, determining that the second blockchain is incorrect.
第二方面,本申请提供一种服务器,该服务器包括:In a second aspect, the application provides a server, where the server includes:
发送模块,用于下发第一区块链到直播平台目标房间的目标客户端,以使得所述目标客户端收到所述第一区块链后生成第二区块链,并将所述第二区块链发送到所述服务器;a sending module, configured to send a first blockchain to a target client of a live platform target room, so that the target client generates the second blockchain after receiving the first blockchain, and a second blockchain is sent to the server;
接收模块,用于接收所述目标客户端发送的第二区块链;
a receiving module, configured to receive a second blockchain sent by the target client;
校验模块,用于对接收到的所述第二区块链进行校验,判断是否正确;若是,则确定所述目标客户端为合法客户端,若否,则确定所述目标客户端为非法客户端。a verification module, configured to check the received second blockchain to determine whether it is correct; if yes, determine that the target client is a legitimate client, and if not, determine that the target client is Illegal client.
进一步的,所述校验模块还用于:Further, the verification module is further configured to:
在所述服务器未接收到所述目标客户端发送的第二区块链时,确定所述目标客户端为非法客户端。When the server does not receive the second blockchain sent by the target client, determining that the target client is an illegal client.
进一步的,所述服务器还包括:Further, the server further includes:
生成模块,用于生成所述第一区块链,所述第一区块链包括第一区块链的块号、前一个区块链的哈希值、生成第一区块链的时间戳、第一区块链的哈希值以及区块链功能数据,所述区块链功能数据包括所述目标房间的房间号,所述目标客户端的用户标识以及所述目标客户端的标志。Generating a module, configured to generate the first blockchain, where the first blockchain includes a block number of the first blockchain, a hash value of the previous blockchain, and a timestamp of generating the first blockchain a hash value of the first blockchain and blockchain function data, the blockchain function data including a room number of the target room, a user identifier of the target client, and a flag of the target client.
进一步的,所述第二区块链包括第二区块链的块号、前一个区块链哈希值、生成第二区块链的时间戳以及区块链功能数据,所述目标客户端的用户标识以及所述目标客户端的标志;Further, the second blockchain includes a block number of the second blockchain, a previous blockchain hash value, a timestamp of generating the second blockchain, and blockchain function data, where the target client a user identifier and a logo of the target client;
所述校验模块具体用于:The verification module is specifically configured to:
判断所述第二区块链的块号是否等于第一区块链的块号加1,若否,则确定所述第二区块链不正确;Determining whether the block number of the second block chain is equal to the block number of the first block chain plus 1, if not, determining that the second block chain is incorrect;
判断所述第二区块链中包含的前一个区块链的哈希值是否与所述第一区块链的哈希值匹配,若否,则确定所述第二区块链不正确。Determining whether a hash value of the previous blockchain included in the second blockchain matches a hash value of the first blockchain, and if not, determining that the second blockchain is incorrect.
进一步的,所述校验模块具体还用于:Further, the verification module is further used to:
计算所述第二区块链的整体哈希值;Calculating an overall hash value of the second blockchain;
对所述第二区块链中区块链的块号、前一个区块链的哈希值、第二区块链的时间戳以及区块链功能数据进行哈希计算,得到所述第二区块链的哈希值;Performing a hash calculation on the block number of the blockchain in the second blockchain, the hash value of the previous blockchain, the timestamp of the second blockchain, and the blockchain function data, to obtain the second The hash value of the blockchain;
判断所述第二区块链的哈希值和所述第二区块链的整体哈希值是否匹配,若否,则确定所述第二区块链不正确。Determining whether the hash value of the second blockchain and the overall hash value of the second blockchain match, and if not, determining that the second blockchain is incorrect.
第三方面,本发明还提供一种服务器,包括:存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时可以实现第一方面中任一所述的方法。
In a third aspect, the present invention also provides a server, comprising: a memory, a processor, and a computer program stored on the memory and operable on the processor, wherein when the processor executes the computer program The method of any of the first aspects can be implemented.
第四方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任一所述的方法。In a fourth aspect, the present invention further provides a computer readable storage medium having stored thereon a computer program, the program being implemented by the processor to implement the method of any of the first aspects.
本发明实施例通过服务器下发第一区块链到直播平台目标房间的目标客户端,以使得目标客户端收到第一区块链后生成第二区块链,并将第二区块链发送到所述服务器;在服务器接收到目标客户端发送的第二区块链时,服务器对接收到的第二区块链进行校验,判断是否正确;在正确时确定所述目标客户端为合法客户端,在不正确时确定所述目标客户端为非法客户端。本发明实施例中利用区块链技术实现服务器对客户端合法性的校验,可以检测直播平台直播房间内利用虚拟客户端刷人气的行为,避免了主播非正常手段获取利益。In the embodiment of the present invention, the first blockchain is delivered by the server to the target client of the target room of the live broadcast platform, so that the target client receives the first blockchain and generates a second blockchain, and the second blockchain is generated. Sending to the server; when the server receives the second blockchain sent by the target client, the server checks the received second blockchain to determine whether it is correct; when it is correct, the target client is determined to be The legitimate client determines that the target client is an illegal client when it is incorrect. In the embodiment of the present invention, the blockchain technology is used to verify the validity of the server to the client, and the behavior of using the virtual client to scan popularity in the live broadcast room of the live broadcast platform can be detected, thereby avoiding the abnormality of the anchor to obtain benefits.
图1是本发明实施例中服务器侧数据校验方法的一个实施例示意图;1 is a schematic diagram of an embodiment of a server side data verification method according to an embodiment of the present invention;
图2是本发明实施例中服务器侧数据校验方法的另一个实施例示意图;2 is a schematic diagram of another embodiment of a server side data verification method according to an embodiment of the present invention;
图3是本发明实施例步骤S103的一个实施例示意图;FIG. 3 is a schematic diagram of an embodiment of step S103 according to an embodiment of the present invention; FIG.
图4是本发明实施例步骤S103的另一个实施例示意图;4 is a schematic diagram of another embodiment of step S103 according to an embodiment of the present invention;
图5是本发明实施例中服务器的一个实施例示意图;FIG. 5 is a schematic diagram of an embodiment of a server in an embodiment of the present invention; FIG.
图6是本发明实施例中服务器的另一个实施例示意图;6 is a schematic diagram of another embodiment of a server in an embodiment of the present invention;
图7是本发明实施例中服务器的另一个实施例示意图7 is a schematic diagram of another embodiment of a server in an embodiment of the present invention;
图8是本发明实施例中客户端侧数据校验方法的一个实施例示意图;FIG. 8 is a schematic diagram of an embodiment of a client side data verification method according to an embodiment of the present invention; FIG.
图9是本发明实施例中步骤S802的一个实施例示意图;FIG. 9 is a schematic diagram of an embodiment of step S802 in the embodiment of the present invention;
图10是本发明实施例中客户端的一个实施例示意图;FIG. 10 is a schematic diagram of an embodiment of a client in an embodiment of the present invention; FIG.
图11是本发明实施例中客户端的另一个实施例示意图;11 is a schematic diagram of another embodiment of a client in an embodiment of the present invention;
图12是本发明实施例中客户端的另一个实施例示意图。FIG. 12 is a schematic diagram of another embodiment of a client in an embodiment of the present invention.
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。
基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。The technical solutions in the embodiments of the present invention are clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present invention. It is an embodiment of the invention, but not all of the embodiments.
All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative efforts shall fall within the scope of the present invention.
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。The terms "first", "second", and the like (if any) in the specification and claims of the present invention and the above figures are used to distinguish similar objects, and are not necessarily used to describe a particular order or order. It is to be understood that the data so used may be interchanged where appropriate so that the embodiments described herein can be implemented in a sequence other than what is illustrated or described herein. In addition, the terms "comprises" and "comprises" and "the" and "the" are intended to cover a non-exclusive inclusion, for example, a process, method, system, product, or device that comprises a series of steps or units is not necessarily limited to Those steps or units may include other steps or units not explicitly listed or inherent to such processes, methods, products or devices.
下面首先介绍本发明实施例中数据校验方法服务器侧实施例。The following describes the server side embodiment of the data verification method in the embodiment of the present invention.
请参阅图1,为本发明实施例中数据校验方法的一个实施例,本发明实施例中数据校验方法应用于服务器,该方法包括:1 is an embodiment of a data verification method according to an embodiment of the present invention. In the embodiment of the present invention, a data verification method is applied to a server, where the method includes:
S101、服务器下发第一区块链到直播平台目标房间的目标客户端,以使得目标客户端收到第一区块链后生成第二区块链,并将第二区块链发送到服务器;S101. The server sends the first blockchain to the target client of the target room of the live platform, so that the target client receives the first blockchain, generates a second blockchain, and sends the second blockchain to the server. ;
本实施例中,服务器即即直播平台对应的服务器,客户端可以是用户终端,例如手机、平板电脑等智能终端,目标房间为直播平台上主播建立的直播间,目标客户端为进入该目标直播间的客户端。In this embodiment, the server is the server corresponding to the live broadcast platform, and the client may be a user terminal, such as a smart terminal such as a mobile phone or a tablet computer. The target room is a live broadcast room established by the anchor on the live broadcast platform, and the target client is to enter the target live broadcast. Between the clients.
区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。A blockchain is a chained data structure that combines data blocks in a chronological order in a sequential manner, and cryptographically guaranteed non-tamperable and unforgeable distributed ledgers.
S102、服务器接收目标客户端发送的第二区块链;S102. The server receives a second blockchain sent by the target client.
具体的,该第二区块链即为步骤S101中,目标客户端在接收到第一区块链后生成的,第一区块链和第二区块链为同样的数据结构,该数据结构包括区块链的块号、前一个区块链的哈希值、当前时间的时间戳、当前区块链的哈希值以及区块链功能数据,该区块链功能数据包括所述目标房间的房间号,目标客户端的用户标识以及目标客户端的标志,当当前区块链为初始区块链时,该前一个区块链哈希值为预设哈希值,例如为0。
Specifically, the second blockchain is generated in step S101, after the target client receives the first blockchain, and the first blockchain and the second blockchain are the same data structure, and the data structure is The block number including the blockchain, the hash value of the previous blockchain, the timestamp of the current time, the hash value of the current blockchain, and the blockchain function data, the blockchain function data including the target room The room number, the target user's user ID, and the target client's flag. When the current blockchain is the initial blockchain, the previous blockchain hash value is a preset hash value, for example, 0.
本发明实施例中,哈希值对应的哈希(HASH)算法统一,该HASH算法可以是SHA-256算法,当然也可以是其他HASH算法,例如SHA-1等,此处不作限定。In the embodiment of the present invention, the hash (HASH) algorithm corresponding to the hash value is unified, and the HASH algorithm may be the SHA-256 algorithm, and may be other HASH algorithms, such as SHA-1, etc., which is not limited herein.
S103、服务器对接收到的第二区块链进行校验,判断是否正确;若是,则执行步骤S104,若否,则执行步骤S105;S103, the server checks the received second blockchain to determine whether it is correct; if yes, step S104 is performed, and if not, step S105 is performed;
S104、确定目标客户端为合法客户端;S104. Determine that the target client is a legitimate client.
S105、确定目标客户端为非法客户端。S105. Determine that the target client is an illegal client.
本发明实施例通过服务器下发第一区块链到直播平台目标房间的目标客户端,以使得目标客户端收到第一区块链后生成第二区块链,并将第二区块链发送到所述服务器;在服务器接收到目标客户端发送的第二区块链时,服务器对接收到的第二区块链进行校验,判断是否正确;在正确时确定所述目标客户端为合法客户端,在不正确时确定所述目标客户端为非法客户端。本发明实施例中利用区块链技术实现服务器对客户端合法性的校验,可以检测直播平台直播房间内利用虚拟客户端刷人气的行为,避免了主播非正常手段获取利益。In the embodiment of the present invention, the first blockchain is delivered by the server to the target client of the target room of the live broadcast platform, so that the target client receives the first blockchain and generates a second blockchain, and the second blockchain is generated. Sending to the server; when the server receives the second blockchain sent by the target client, the server checks the received second blockchain to determine whether it is correct; when it is correct, the target client is determined to be The legitimate client determines that the target client is an illegal client when it is incorrect. In the embodiment of the present invention, the blockchain technology is used to verify the validity of the server to the client, and the behavior of using the virtual client to scan popularity in the live broadcast room of the live broadcast platform can be detected, thereby avoiding the abnormality of the anchor to obtain benefits.
本发明实施例中,服务器可以依次根据上述S101~S105中的步骤确定目标房间中所有的客户端的合法性,检测目标房间中是否存在大量刷人气的行为,若服务器检测到目标房间中非法客户端达到预设数量或预设比例(占目标房间中所有客户端的比例),则确定该目标房间中存在大量刷人气行为,维护人员可以对目标房间主播进行相应惩罚,同时在计算人气时,可以去除掉这些非法客户端的人气数据,使得目标房间的人气数据归于真实。In the embodiment of the present invention, the server may determine the legality of all the clients in the target room according to the steps in S101 to S105, and detect whether there is a large amount of popularity in the target room. If the server detects an illegal client in the target room. If the preset number or preset ratio (proportion of all clients in the target room) is reached, it is determined that there is a large amount of popular popularity in the target room, and the maintenance personnel can punish the target room anchor accordingly, and can remove the calculation when the popularity is calculated. The popularity data of these illegal clients is made, so that the popularity data of the target room is attributed to reality.
由于刷人气的客户端并没有觉察到有新增一条区块链校验,而正常的客户端则都会进行上报新的区块链,因此,本发明实施例中,在服务器未接收到目标客户端发送的第二区块链时,也可以确定目标客户端为非法客户端。Since the popular client does not recognize that a new blockchain check is added, the normal client will report the new blockchain. Therefore, in the embodiment of the present invention, the target client is not received by the server. When the second blockchain is sent, it can also be determined that the target client is an illegal client.
在服务器下发第一区块链到目标客户端之前,如图2所示,本发明实施例中方法还可以进一步包括:Before the server sends the first blockchain to the target client, as shown in FIG. 2, the method in the embodiment of the present invention may further include:
S106、生成该第一区块链。S106. Generate the first blockchain.
其中,该第一区块链包括第一区块链的块号、前一个区块链的哈希值、生成第一区块链的时间戳、第一区块链的哈希值以及区块链功能数据,该区
块链功能数据包括目标房间的房间号,目标客户端的用户标识以及目标客户端的标志。本实施例中,第一区块链可以是服务器生成的初始区块链,当第一区块链为初始区块链时,第一区块链由于是第一个生成的区块链,第一区块链中的前一个区块链的哈希值为预设的哈希值,例如为0。The first blockchain includes a block number of the first blockchain, a hash value of the previous blockchain, a timestamp of generating the first blockchain, a hash value of the first blockchain, and a block. Chain function data, the area
The blockchain function data includes the room number of the target room, the user ID of the target client, and the logo of the target client. In this embodiment, the first blockchain may be an initial blockchain generated by the server. When the first blockchain is the initial blockchain, the first blockchain is the first generated blockchain. The hash value of the previous blockchain in a blockchain is a preset hash value, for example, 0.
本发明实施例中,在生成该第一区块链之前,会预先定义好区块链数据结构,在生成该第一区块链时,按照预先定义的区块链数据结构生成第一区块链,同理,在客户端接收第一区块链后,根据第一区块链生成第二区块链时,生成的第二区块链也按照该预先定义的区块链数据结构生成。In the embodiment of the present invention, before the first blockchain is generated, the blockchain data structure is defined in advance, and when the first blockchain is generated, the first block is generated according to the predefined blockchain data structure. Chain, in the same way, after the first blockchain is received by the client, when the second blockchain is generated according to the first blockchain, the generated second blockchain is also generated according to the predefined blockchain data structure.
通常的一个区块链必须包含一些必要的数据,从而一个是可以校验区块链本身的合法性,另一个也使得其不易于伪造。具体的,本发明实施例中的区块链数据结构则依赖于对房间人气进行校验的,所以在区块链的数据结构中包含房间信息等。本发明实施例中区块链数据结构具体可以如下:A typical blockchain must contain some necessary data so that one can verify the legitimacy of the blockchain itself, and the other makes it less prone to forgery. Specifically, the blockchain data structure in the embodiment of the present invention relies on verifying the popularity of the room, so the room information and the like are included in the data structure of the blockchain. The blockchain data structure in the embodiment of the present invention may specifically be as follows:
Struct BlockData{Struct BlockData{
Int64 index;Int64 index;
String previousHash;String previousHash;
Int64 timestamp;Int64 timestamp;
String data;String data;
String hash;String hash;
}}
其中,index用来表示区块链的块号,通常从0开始递增;previousHash表示前一个区块链的HASH值;timestamp表示时间戳;其中data字段则是一些数据的拼接,这个data字段的内容则是依据区块链所需要完成的功能所涉及的数据,即上述区块链功能数据,包括房间号,客户端的用户uid(用户标识),以及客户端的token(客户端的标志);hash值则表示当前这个区块链的hash值。有了这个区块链数据结构的设计后,当服务器收到客户端新生成的第二区块链后,则可以通过对里面的数据进行校验,以判断其合法性。Where index is used to indicate the block number of the blockchain, usually starting from 0; previousHash is the HASH value of the previous blockchain; timestamp is the timestamp; where the data field is the splicing of some data, the content of this data field It is the data involved in the function required by the blockchain, that is, the above blockchain function data, including the room number, the user uid (user ID) of the client, and the client's token (the client's logo); the hash value is Indicates the current hash value of this blockchain. With the design of the blockchain data structure, when the server receives the newly generated second blockchain from the client, it can verify the legitimacy by verifying the data inside.
在本发明一些实施例中,第二区块链包括第二区块链的块号、前一个区块链哈希值、生成第二区块链的时间戳以及区块链功能数据,目标客户端的用户标识以及所述目标客户端的标志,如图3所示,上述步骤S103具体可以
包括:In some embodiments of the present invention, the second blockchain includes a block number of the second blockchain, a previous blockchain hash value, a timestamp of generating the second blockchain, and blockchain function data, the target client The user identifier of the terminal and the identifier of the target client, as shown in FIG. 3, the foregoing step S103 may specifically
include:
S1031、判断所述第二区块链的块号是否等于第一区块链的块号加1,若否,则确定所述第二区块链不正确;S1013, determining whether the block number of the second blockchain is equal to a block number of the first blockchain plus 1, if not, determining that the second blockchain is incorrect;
S1032、判断所述第二区块链中包含的前一个区块链的哈希值是否与所述第一区块链的哈希值匹配,若否,则确定所述第二区块链不正确。S1012, determining whether a hash value of the previous blockchain included in the second blockchain matches a hash value of the first blockchain, and if not, determining that the second blockchain is not correct.
进一步的,如图4所示,上述步骤S103具体还可以包括:Further, as shown in FIG. 4, the foregoing step S103 may further include:
S1033、计算所述第二区块链的整体哈希值;S1033. Calculate an overall hash value of the second blockchain.
S1034、对所述第二区块链中区块链的块号、前一个区块链的哈希值、第二区块链的时间戳以及区块链功能数据进行哈希计算,得到所述第二区块链的哈希值;S1034. Perform a hash calculation on the block number of the blockchain in the second blockchain, the hash value of the previous blockchain, the timestamp of the second blockchain, and the blockchain function data, to obtain the The hash value of the second blockchain;
S1035、判断所述第二区块链的哈希值和所述第二区块链的整体哈希值是否匹配,若否,则确定所述第二区块链不正确。S1035. Determine whether the hash value of the second blockchain and the overall hash value of the second blockchain match, and if not, determine that the second blockchain is incorrect.
具体的,通过HASH(Newblock.index+Newblock.previousHash+Newblock.timestamp+Newblock.data)!=Newblock.hash来判断所述第二区块链的哈希值和所述第二区块链的整体哈希值是否匹配,其中,Newblock.hash为第二区块链的整体哈希值,HASH(Newblock.index+Newblock.previousHash+Newblock.timestamp+Newblock.data)为第二区块链的哈希值,如果第二区块链的哈希值和第二区块链的整体哈希值不匹配,则确定第二区块链不正确,可以返回错误信息给目标客户端。Specifically, through HASH (Newblock.index+Newblock.previousHash+Newblock.timestamp+Newblock.data)! a new block. HASH (Newblock.index+Newblock.previousHash+Newblock.timestamp+Newblock.data) is the hash value of the second blockchain, if the hash value of the second blockchain and the overall hash value of the second blockchain If there is no match, it is determined that the second blockchain is incorrect, and an error message can be returned to the target client.
下面介绍本发明实施例中服务器的实施例。Embodiments of the server in the embodiment of the present invention are described below.
请参阅图5,本发明实施例中服务器的一个实施例包括:Referring to FIG. 5, an embodiment of a server in an embodiment of the present invention includes:
发送模块501,用于下发第一区块链到直播平台目标房间的目标客户端,以使得所述目标客户端收到所述第一区块链后生成第二区块链,并将所述第二区块链发送到所述服务器;The sending module 501 is configured to send the first blockchain to the target client of the live platform target room, so that the target client generates the second blockchain after receiving the first blockchain, and Transmitting the second blockchain to the server;
接收模块502,用于接收所述目标客户端发送的第二区块链;The receiving module 502 is configured to receive a second blockchain sent by the target client.
校验模块503,用于对接收到的所述第二区块链进行校验,判断是否正确;若是,则确定所述目标客户端为合法客户端,若否,则确定所述目标客户端为非法客户端。The verification module 503 is configured to check the received second blockchain to determine whether it is correct; if yes, determine that the target client is a legitimate client, and if not, determine the target client. Is an illegal client.
进一步的,所述校验模块503还用于:
Further, the verification module 503 is further configured to:
在所述服务器未接收到所述目标客户端发送的第二区块链时,确定所述目标客户端为非法客户端。When the server does not receive the second blockchain sent by the target client, determining that the target client is an illegal client.
进一步的,如图6所示,所述服务器还包括:Further, as shown in FIG. 6, the server further includes:
生成模块504,用于生成所述第一区块链,所述第一区块链包括第一区块链的块号、前一个区块链的哈希值、生成第一区块链的时间戳以及区块链功能数据,所述区块链功能数据包括所述目标房间的房间号,所述目标客户端的用户标识以及所述目标客户端的标志。a generating module 504, configured to generate the first blockchain, where the first blockchain includes a block number of the first blockchain, a hash value of the previous blockchain, and a time for generating the first blockchain And a blockchain function data, the blockchain function data including a room number of the target room, a user identifier of the target client, and a flag of the target client.
进一步的,所述第二区块链包括第二区块链的块号、前一个区块链哈希值、生成第二区块链的时间戳以及区块链功能数据,所述目标客户端的用户标识以及所述目标客户端的标志;Further, the second blockchain includes a block number of the second blockchain, a previous blockchain hash value, a timestamp of generating the second blockchain, and blockchain function data, where the target client a user identifier and a logo of the target client;
所述校验模块503具体用于:The verification module 503 is specifically configured to:
判断所述第二区块链的块号是否等于第一区块链的块号加1,若否,则确定所述第二区块链不正确;Determining whether the block number of the second block chain is equal to the block number of the first block chain plus 1, if not, determining that the second block chain is incorrect;
判断所述第二区块链中包含的前一个区块链的哈希值是否与所述第一区块链的哈希值匹配,若否,则确定所述第二区块链不正确。Determining whether a hash value of the previous blockchain included in the second blockchain matches a hash value of the first blockchain, and if not, determining that the second blockchain is incorrect.
进一步的,所述校验模块503具体还用于:Further, the verification module 503 is further specifically configured to:
计算所述第二区块链的整体哈希值;Calculating an overall hash value of the second blockchain;
对所述第二区块链中区块链的块号、前一个区块链的哈希值、第二区块链的时间戳以及区块链功能数据进行哈希计算,得到所述第二区块链的哈希值;Performing a hash calculation on the block number of the blockchain in the second blockchain, the hash value of the previous blockchain, the timestamp of the second blockchain, and the blockchain function data, to obtain the second The hash value of the blockchain;
判断所述第二区块链的哈希值和所述第二区块链的整体哈希值是否匹配,若否,则确定所述第二区块链不正确。Determining whether the hash value of the second blockchain and the overall hash value of the second blockchain match, and if not, determining that the second blockchain is incorrect.
本发明实施例中还提供一种服务器,请参见图7,所述服务器包括:A server is also provided in the embodiment of the present invention. Referring to FIG. 7, the server includes:
存储器701,处理器702及存储在所述存储器上并可在所述处理器上运行的计算机程序703,其中,所述处理器702执行所述计算机程序703时可以实现上述服务器执行的数据校验方法。a memory 701, a processor 702, and a computer program 703 stored on the memory and operable on the processor, wherein the processor 702 can implement the data verification performed by the server when the computer program 703 is executed method.
为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。存储器701可用于存储计算机程序703,上述计算机程序包括软件程序、模块和数据,处理器702通过运行执行
存储在存储器701的计算机程序703,从而执行服务器的各种功能应用以及数据处理。For the convenience of description, only the parts related to the embodiments of the present invention are shown. If the specific technical details are not disclosed, please refer to the method part of the embodiment of the present invention. The memory 701 can be used to store a computer program 703, the computer program including software programs, modules, and data, and the processor 702 executes by running
The computer program 703 is stored in the memory 701, thereby performing various functional applications of the server as well as data processing.
在具体的实施过程中,存储器701可用于存储软件程序以及模块,处理器702通过运行存储在存储器701的软件程序以及模块,从而执行服务器的各种功能应用以及数据处理。存储器701可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(例如游戏类应用程序、聊天类应用程序)等;存储数据区可存储根据服务器的使用所创建的数据(游戏配置数据、音频数据)等。此外,存储器701可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。处理器702是服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器701内的软件程序和/或模块,以及调用存储在存储器701内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器702可包括一个或多个处理单元;优选的,处理器702可集成应用处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等。In a specific implementation process, the memory 701 can be used to store software programs and modules, and the processor 702 executes various functional applications and data processing of the server by running software programs and modules stored in the memory 701. The memory 701 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application required for at least one function (for example, a game application, a chat application), and the like; and the storage data area may be stored. Data created based on the use of the server (game configuration data, audio data), and the like. Further, the memory 701 may include a high speed random access memory, and may also include a nonvolatile memory such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device. The processor 702 is a control center of the server, and connects various parts of the entire server using various interfaces and lines, by executing or executing software programs and/or modules stored in the memory 701, and calling data stored in the memory 701, executing The server's various functions and processing data to monitor the server as a whole. Optionally, the processor 702 can include one or more processing units; preferably, the processor 702 can integrate an application processor, wherein the application processor mainly processes an operating system, a user interface, an application, and the like.
下面介绍本发明实施例中客户端侧的数据校验方法。The data verification method on the client side in the embodiment of the present invention is described below.
请参阅图8,本发明实施例中数据校验方法一个实施例包括:Referring to FIG. 8, an embodiment of a data verification method in an embodiment of the present invention includes:
S801、直播平台目标房间的客户端接收服务器下发的第一区块链;S801. The client of the target room of the live broadcast platform receives the first blockchain delivered by the server;
本实施例中,服务器即即直播平台对应的服务器,目标房间为直播平台上主播建立的直播间,目标客户端为进入该目标直播间的客户端。区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。In this embodiment, the server is the server corresponding to the live broadcast platform, the target room is the live broadcast room established by the anchor on the live broadcast platform, and the target client is the client that enters the target live broadcast room. A blockchain is a chained data structure that combines data blocks in a chronological order in a sequential manner, and cryptographically guaranteed non-tamperable and unforgeable distributed ledgers.
服务器在需要检测目标房间中客户端是否为用于刷人气的虚拟客户端时,服务器会下发第一区块链到直播平台目标房间的目标客户端,该第一区块链为服务器预先获取或生成的区块链。When the server needs to detect whether the client is a virtual client for popular use in the target room, the server sends the first blockchain to the target client of the live platform target room, and the first blockchain is pre-acquired by the server. Or generated blockchain.
S802、客户端根据第一区块链生成第二区块链;S802. The client generates a second blockchain according to the first blockchain.
其中,所述第一区块链和所述第二区块链可以为同样的数据结构,该数据结构包括区块链的块号、前一个区块链的哈希值、当前时间的时间戳以及
区块链功能数据,所述区块链功能数据包括所述目标房间的房间号,所述客户端的用户标识以及所述客户端的标志。The first blockchain and the second blockchain may be the same data structure, and the data structure includes a block number of the blockchain, a hash value of the previous blockchain, and a timestamp of the current time. as well as
Blockchain function data, the blockchain function data including a room number of the target room, a user identifier of the client, and a logo of the client.
S803、客户端将第二区块链发送到服务器,以使得所务器对接收到的第二区块链进行校验,确定所述客户端的合法性。S803. The client sends the second blockchain to the server, so that the server checks the received second blockchain to determine the legitimacy of the client.
具体的,服务器对接收到的第二区块链进行校验,可以直接其判断是否正确;若是,定目标客户端为合法客户端;若否,确定目标客户端为非法客户端。Specifically, the server checks the received second blockchain, and can directly determine whether it is correct; if yes, the target client is a legitimate client; if not, the target client is determined to be an illegal client.
本发明实施例通过直播平台目标房间的客户端接收服务器下发的第一区块链;客户端根据所述第一区块链生成第二区块链;客户端将第二区块链发送到服务器,以使得服务器对接收到的第二区块链进行校验,确定客户端的合法性。本发明实施例中利用区块链技术实现服务器对客户端合法性的校验,可以检测直播平台直播房间内利用虚拟客户端刷人气的行为,避免了主播非正常手段获取利益。In the embodiment of the present invention, the client of the target room of the live broadcast platform receives the first blockchain delivered by the server; the client generates a second blockchain according to the first blockchain; the client sends the second blockchain to the client The server, so that the server checks the received second blockchain to determine the legitimacy of the client. In the embodiment of the present invention, the blockchain technology is used to verify the validity of the server to the client, and the behavior of using the virtual client to scan popularity in the live broadcast room of the live broadcast platform can be detected, thereby avoiding the abnormality of the anchor to obtain benefits.
通常的一个区块链必须包含一些必要的数据,从而一个是可以校验区块链本身的合法性,另一个也使得其不易于伪造。具体的,本发明实施例中的区块链数据结构则依赖于对房间人气进行校验的,所以在区块链的数据结构中包含房间信息等。本发明实施例中区块链数据结构具体可以如下:A typical blockchain must contain some necessary data so that one can verify the legitimacy of the blockchain itself, and the other makes it less prone to forgery. Specifically, the blockchain data structure in the embodiment of the present invention relies on verifying the popularity of the room, so the room information and the like are included in the data structure of the blockchain. The blockchain data structure in the embodiment of the present invention may specifically be as follows:
Struct BlockData{Struct BlockData{
Int64 index;//用来表示区块链的块号,通常从0开始递增。Int64 index; / / used to indicate the block number of the blockchain, usually starting from 0.
String previousHash;//表示前一个区块链的HASH值,初始区块链时,该哈希值可以为预设哈希值,例如0。String previousHash;// indicates the HASH value of the previous blockchain. When the initial blockchain is used, the hash value can be a preset hash value, such as 0.
Int64 timestamp;//表示时间戳。Int64 timestamp; / / represents a timestamp.
String data;//其中data字段则是一些数据的拼接,这个data字段的内容则是依据区块链所需要完成的功能所涉及的数据,即上述区块链功能数据,包括房间号,客户端的用户uid(用户标识),以及客户端的token(客户端的标志)。String data; / / where the data field is the splicing of some data, the content of this data field is based on the data involved in the function of the blockchain, that is, the above blockchain function data, including the room number, the client's User uid (user ID), and client's token (client's logo).
String hash;//此HASH值则表示当前这个区块链的内容的HASH值。String hash; / / This HASH value indicates the current HASH value of the contents of this blockchain.
}}
有了这个区块链数据结构的设计后,当服务器收到客户端新生成的第二
区块链后,则可以通过对里面的数据进行校验,以判断其合法性。With the design of this blockchain data structure, when the server receives a new second generated by the client
After the blockchain, you can verify the legitimacy by checking the data inside.
在本发明一些实施例中,如图9所示,上述步骤S802可以进一步包括:In some embodiments of the present invention, as shown in FIG. 9, the foregoing step S802 may further include:
S8021、根据所述第一区块链的块号加1,得到所述第二区块链的块号;S8021: Add a block number of the first blockchain to obtain a block number of the second blockchain.
具体的,根据Newblock.index=prevblock.index+1,计算第二区块链的块号,其中,Newblock.index为第二区块链的块号,prevblock.index为前一个区块链的块号,此处即为第一区块链的块号,即第二区块链的块号是第一区块链的块号加1。Specifically, the block number of the second blockchain is calculated according to Newblock.index=prevblock.index+1, wherein Newblock.index is the block number of the second blockchain, and prevblock.index is the block of the previous blockchain. Number, here is the block number of the first blockchain, that is, the block number of the second blockchain is the block number of the first blockchain plus one.
S8022、获取当前时间;S8022: Obtain a current time;
具体的,根据Newblock.timestamp=time()来获取当前的时间,以作为第二区块链的时间戳。Specifically, the current time is obtained according to Newblock.timestamp=time() as the timestamp of the second blockchain.
S8023、计算所述第一区块链的哈希值,作为所述第二区块链中前一个区块链的哈希值;S8023. Calculate a hash value of the first blockchain, as a hash value of a previous blockchain in the second blockchain.
具体的,根据Newblock.previousHash=prevblock.hash,计算新区块的上一个区块的hash值则是获取的上一个区块的hash值,此处,即计算第一区块链的哈希值,作为第二区块链中前一个区块链的哈希值。Specifically, according to Newblock.previousHash=prevblock.hash, calculating the hash value of the previous block of the new block is the hash value of the obtained previous block, where the hash value of the first block chain is calculated. As a hash of the previous blockchain in the second blockchain.
S8024、获取目标房间的房间号,客户端的用户标识以及客户端的标志,得到第二区块链功能数据;S8024: Obtain a room number of the target room, a user identifier of the client, and a logo of the client, to obtain function data of the second blockchain;
具体的,根据Newblock.data=roomid+uid+token得到第二区块链功能数据,其中,Newblock.data为第二区块链功能数据,token为当前客户端登陆时获取的客户端的标志,uid为客户端的用户标识,roomid为当前用户在客户端观看的目标房间的房间号。Specifically, the second blockchain function data is obtained according to Newblock.data=roomid+uid+token, wherein Newblock.data is the function data of the second blockchain, and the token is the flag of the client acquired when the current client logs in, uid For the client's user ID, the roomid is the room number of the target room that the current user is viewing on the client.
S8025、对所述第二区块链的块号、当前时间、所述第一区块链的哈希值及所述第二区块链功能数据进行哈希计算,得到所述第二区块链的哈希值;S8025. Perform a hash calculation on the block number of the second blockchain, the current time, the hash value of the first blockchain, and the second blockchain function data, to obtain the second block. The hash value of the chain;
S8026、根据第二区块链的块号、当前时间、第一区块链的哈希值、第二区块链的哈希值及第二区块链功能数据,按照所述数据结构生成第二区块链。S8026. Generate a first according to the data structure according to the block number of the second blockchain, the current time, the hash value of the first blockchain, the hash value of the second blockchain, and the second blockchain function data. Two blockchain.
通过上述步骤即可实现了通过第一区块链按照预设的数据结构生成一个新的第二区块链的方法。Through the above steps, a method for generating a new second blockchain according to a preset data structure through the first blockchain can be realized.
不管是客户端还是服务器,当其收到一个区块链时,首先都会对区块链进行合法性校验,以判断当前的区块链是否是合法的,以防止黑客伪造区块
链,或者区块链在网络中传输被修改等因素,所以每个区块链都需要进行完整性校验。因此,本发明实施例中,该数据校验方法还可以进一步包括:客户端校验所述第一区块链是否合法,在所述第一区块链合法时,才执行所述客户端根据所述第一区块链生成第二区块链的步骤。Whether it is a client or a server, when it receives a blockchain, it first checks the blockchain for legality to determine whether the current blockchain is legal to prevent hackers from forging blocks.
Chains, or blockchain transmissions are modified in the network, so each blockchain needs to be integrity checked. Therefore, in the embodiment of the present invention, the data verification method may further include: the client verifies whether the first blockchain is legal, and when the first block chain is legal, the client is executed according to the client. The first blockchain generates a second blockchain.
进一步的,在本发明另一些实施例中,第一区块链可以为初始区块链,上述客户端校验所述第一区块链是否合法的步骤具体包括:Further, in other embodiments of the present invention, the first blockchain may be an initial blockchain, and the step of the client verifying whether the first blockchain is legal includes:
判断所述第一区块链的块号是否等于0,若否,则确定所述第一区块链不合法;Determining whether the block number of the first blockchain is equal to 0, and if not, determining that the first blockchain is invalid;
判断所述第一区块链中包含的前一个区块链的哈希值是否与预设哈希值匹配,若否,则确定所述第一区块链不合法。Determining whether the hash value of the previous blockchain included in the first blockchain matches the preset hash value, and if not, determining that the first blockchain is invalid.
进一步的,上述客户端校验所述第一区块链是否合法的步骤具体还包括:计算所述第一区块链的整体哈希值;对所述第一区块链中区块链的块号、前一个区块链的哈希值、第一区块链的时间戳以及区块链功能数据进行哈希计算,得到所述第一区块链的哈希值;判断所述第一区块链的哈希值和所述第一区块链的整体哈希值是否匹配,若否,则确定所述第一区块链不正确。Further, the step of verifying, by the client, whether the first blockchain is legal or not further includes: calculating an overall hash value of the first blockchain; and performing a blockchain in the first blockchain The block number, the hash value of the previous blockchain, the timestamp of the first blockchain, and the blockchain function data are hashed to obtain a hash value of the first blockchain; Whether the hash value of the blockchain matches the overall hash value of the first blockchain, and if not, it is determined that the first blockchain is incorrect.
下面介绍本发明实施例中客户端的实施例。The following describes an embodiment of the client in the embodiment of the present invention.
请参阅图10,为本发明实施例中客户端的一个实施例,该客户端包括:Referring to FIG. 10, it is an embodiment of a client in an embodiment of the present invention, where the client includes:
接收模块1001,用于接收服务器下发的第一区块链;The receiving module 1001 is configured to receive a first blockchain delivered by the server;
生成模块1002,用于根据所述第一区块链生成第二区块链;a generating module 1002, configured to generate a second blockchain according to the first blockchain;
发送模块1003,用于将所述第二区块链发送到所述服务器,以使得所述服务器对接收到的所述第二区块链进行校验,确定所述客户端的合法性。The sending module 1003 is configured to send the second blockchain to the server, so that the server checks the received second blockchain to determine the legitimacy of the client.
进一步的,所述第一区块链和所述第二区块链为同样的数据结构;Further, the first blockchain and the second blockchain are the same data structure;
所述数据结构包括区块链的块号、前一个区块链的哈希值、当前时间的时间戳以及区块链功能数据,所述区块链功能数据包括所述目标房间的房间号,所述客户端的用户标识以及所述客户端的标志。The data structure includes a block number of a blockchain, a hash value of a previous blockchain, a timestamp of a current time, and blockchain function data, the blockchain function data including a room number of the target room, The user identifier of the client and the logo of the client.
进一步的,所述生成模块1002具体用于:Further, the generating module 1002 is specifically configured to:
根据所述第一区块链的块号加1,得到所述第二区块链的块号;Obtaining a block number of the second blockchain according to a block number of the first blockchain plus one;
获取当前时间;Get the current time;
计算所述第一区块链的哈希值,作为所述第二区块链中前一个区块链的
哈希值;Calculating a hash value of the first blockchain as a previous blockchain in the second blockchain
Hash value
获取所述目标房间的房间号,所述客户端的用户标识以及所述客户端的标志,得到所述第二区块链功能数据;Obtaining a room number of the target room, a user identifier of the client, and a logo of the client, to obtain the second blockchain function data;
对所述第二区块链的块号、当前时间、所述第一区块链的哈希值及所述第二区块链功能数据进行哈希计算,得到所述第二区块链的哈希值;Performing a hash calculation on the block number of the second blockchain, the current time, the hash value of the first blockchain, and the second blockchain function data, to obtain the second blockchain Hash value
根据所述第二区块链的块号、当前时间、所述第一区块链的哈希值、所述第二区块链的哈希值及所述第二区块链功能数据,按照所述数据结构生成所述第二区块链。And according to the block number of the second blockchain, the current time, the hash value of the first blockchain, the hash value of the second blockchain, and the second blockchain function data, according to The data structure generates the second blockchain.
进一步的,如图11所示,所述客户端还包括:Further, as shown in FIG. 11, the client further includes:
校验模块1004,用于校验所述第一区块链是否合法,在所述第一区块链合法时,所述生成模块才执行根据所述第一区块链生成第二区块链的步骤。The verification module 1004 is configured to check whether the first blockchain is legal. When the first block is legal, the generating module performs to generate a second blockchain according to the first blockchain. A step of.
进一步的,所述第一区块链为初始区块链,所述校验模块1004具体用于:Further, the first blockchain is an initial blockchain, and the verification module 1004 is specifically configured to:
判断所述第一区块链的块号是否等于0,若否,则确定所述第一区块链不合法;Determining whether the block number of the first blockchain is equal to 0, and if not, determining that the first blockchain is invalid;
判断所述第一区块链中包含的前一个区块链的哈希值是否与预设哈希值匹配,若否,则确定所述第一区块链不合法。Determining whether the hash value of the previous blockchain included in the first blockchain matches the preset hash value, and if not, determining that the first blockchain is invalid.
本发明实施例中还提供一种客户端,请参见图12,所述客户端包括:A client is also provided in the embodiment of the present invention. Referring to FIG. 12, the client includes:
存储器1201,处理器1202及存储在所述存储器上并可在所述处理器上运行的计算机程序1203,其中,所述处理器1202执行所述计算机程序1203时可以实现上述数据校验方法。The memory 1201 is a processor 1202 and a computer program 1203 stored on the memory and executable on the processor, wherein the data verification method can be implemented when the processor 1202 executes the computer program 1203.
需要说明的是,本申请涉及的客户端包括但不限于是:移动终端(手机、智能手机、PAD、笔记本电脑等等)、固定终端(计算机)。It should be noted that the clients involved in the present application include, but are not limited to, mobile terminals (mobile phones, smart phones, PADs, notebook computers, etc.), fixed terminals (computers).
为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。存储器1201可用于存储计算机程序1203,上述计算机程序包括软件程序、模块和数据,处理器1202通过运行执行存储在存储器1201的计算机程序1203,从而执行客户端的各种功能应用以及数据处理。For the convenience of description, only the parts related to the embodiments of the present invention are shown. If the specific technical details are not disclosed, please refer to the method part of the embodiment of the present invention. The memory 1201 can be used to store a computer program 1203 including software programs, modules, and data, and the processor 1202 executes the computer program 1203 stored in the memory 1201 to execute various functional applications and data processing of the client.
在具体的实施过程中,存储器1201可用于存储软件程序以及模块,处理
器1202通过运行存储在存储器1201的软件程序以及模块,从而执行客户端的各种功能应用以及数据处理。存储器1201可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(例如游戏类应用程序、聊天类应用程序)等;存储数据区可存储根据客户端的使用所创建的数据(游戏配置数据、音频数据)等。此外,存储器1201可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。处理器1202是客户端的控制中心,利用各种接口和线路连接整个客户端的各个部分,通过运行或执行存储在存储器1201内的软件程序和/或模块,以及调用存储在存储器1201内的数据,执行客户端的各种功能和处理数据,从而对客户端进行整体监控。可选的,处理器1202可包括一个或多个处理单元;优选的,处理器1202可集成应用处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等。In a specific implementation process, the memory 1201 can be used to store software programs and modules, and process
The processor 1202 executes various functional applications and data processing of the client by running software programs and modules stored in the memory 1201. The memory 1201 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application required for at least one function (for example, a game application, a chat application), and the like; and the storage data area may be stored. Data created based on the use of the client (game configuration data, audio data), and the like. Further, the memory 1201 may include a high speed random access memory, and may also include a nonvolatile memory such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device. The processor 1202 is a control center of the client that connects various parts of the entire client using various interfaces and lines, executes or executes software programs and/or modules stored in the memory 1201, and calls data stored in the memory 1201 to execute The client's various functions and processing data to monitor the client as a whole. Optionally, the processor 1202 may include one or more processing units; preferably, the processor 1202 may integrate an application processor, where the application processor mainly processes an operating system, a user interface, an application, and the like.
本发明实施例还提供一种计算机可读存储介质,其中,该计算机可读存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的数据校验方法的部分或全部步骤。The embodiment of the present invention further provides a computer readable storage medium, wherein the computer readable storage medium can store a program, and the program includes some or all of the steps of the data verification method described in the foregoing method embodiments.
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。A person skilled in the art can clearly understand that, for the convenience and brevity of the description, the specific working process of the system, the device and the unit described above can refer to the corresponding process in the foregoing method embodiment, and details are not described herein again.
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided by the present application, it should be understood that the disclosed system, apparatus, and method may be implemented in other manners. For example, the device embodiments described above are merely illustrative. For example, the division of the unit is only a logical function division. In actual implementation, there may be another division manner, for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或
者全部单元来实现本实施例方案的目的。The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. You can choose some of them according to actual needs or
All units are used to achieve the objectives of the solution of this embodiment.
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。The integrated unit, if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention, which is essential or contributes to the prior art, or all or part of the technical solution, may be embodied in the form of a software product stored in a storage medium. A number of instructions are included to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like. .
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
The above embodiments are only used to illustrate the technical solutions of the present invention, and are not intended to be limiting; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art will understand that The technical solutions described in the embodiments are modified, or the equivalents of the technical features are replaced by the equivalents of the technical solutions of the embodiments of the present invention.
Claims (10)
- 一种数据校验方法,其特征在于,所述方法包括:A data verification method, the method comprising:服务器下发第一区块链到直播平台目标房间的目标客户端,以使得所述目标客户端收到所述第一区块链后生成第二区块链,并将所述第二区块链发送到所述服务器;The server delivers the first blockchain to the target client of the live platform target room, so that the target client generates the second blockchain after receiving the first blockchain, and the second block is generated. a chain is sent to the server;在所述服务器接收到所述目标客户端发送的第二区块链时,所述服务器对接收到的所述第二区块链进行校验,判断是否正确;When the server receives the second blockchain sent by the target client, the server checks the received second blockchain to determine whether it is correct;若是,则确定所述目标客户端为合法客户端,若否,则确定所述目标客户端为非法客户端。If yes, determining that the target client is a legitimate client, and if not, determining that the target client is an illegal client.
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:The method of claim 1 further comprising:在所述服务器未接收到所述目标客户端发送的第二区块链时,确定所述目标客户端为非法客户端。When the server does not receive the second blockchain sent by the target client, determining that the target client is an illegal client.
- 根据权利要求1所述的方法,其特征在于,在所述服务器下发第一区块链到所述目标客户端之前,所述方法还包括:The method according to claim 1, wherein before the server delivers the first blockchain to the target client, the method further includes:生成所述第一区块链,所述第一区块链包括第一区块链的块号、前一个区块链的哈希值、生成第一区块链的时间戳、第一区块链的哈希值以及区块链功能数据,所述区块链功能数据包括所述目标房间的房间号,所述目标客户端的用户标识以及所述目标客户端的标志。Generating the first blockchain, the first blockchain including a block number of the first blockchain, a hash value of the previous blockchain, a timestamp of generating the first blockchain, and the first block The hash value of the chain and the blockchain function data, the blockchain function data including a room number of the target room, a user identifier of the target client, and a flag of the target client.
- 根据权利要求1所述的方法,其特征在于,所述第二区块链包括第二区块链的块号、前一个区块链哈希值、生成第二区块链的时间戳以及区块链功能数据,所述目标客户端的用户标识以及所述目标客户端的标志;所述服务器对接收到的所述第二区块链进行校验,判断是否正确的步骤,包括:The method according to claim 1, wherein said second block chain comprises a block number of a second block chain, a previous block chain hash value, a time stamp for generating a second block chain, and a region Block chain function data, a user identifier of the target client, and a flag of the target client; and the step of the server verifying the received second blockchain to determine whether it is correct, including:判断所述第二区块链的块号是否等于第一区块链的块号加1,若否,则确定所述第二区块链不正确;Determining whether the block number of the second block chain is equal to the block number of the first block chain plus 1, if not, determining that the second block chain is incorrect;判断所述第二区块链中包含的前一个区块链的哈希值是否与所述第一区块链的哈希值匹配,若否,则确定所述第二区块链不正确。Determining whether a hash value of the previous blockchain included in the second blockchain matches a hash value of the first blockchain, and if not, determining that the second blockchain is incorrect.
- 根据权利要求4所述的方法,其特征在于,所述服务器对接收到的所述第二区块链进行校验,判断是否正确的步骤,还包括: The method according to claim 4, wherein the step of verifying the received second blockchain by the server and determining whether it is correct comprises:计算所述第二区块链的整体哈希值;Calculating an overall hash value of the second blockchain;对所述第二区块链中区块链的块号、前一个区块链的哈希值、第二区块链的时间戳以及区块链功能数据进行哈希计算,得到所述第二区块链的哈希值;Performing a hash calculation on the block number of the blockchain in the second blockchain, the hash value of the previous blockchain, the timestamp of the second blockchain, and the blockchain function data, to obtain the second The hash value of the blockchain;判断所述第二区块链的哈希值和所述第二区块链的整体哈希值是否匹配,若否,则确定所述第二区块链不正确。Determining whether the hash value of the second blockchain and the overall hash value of the second blockchain match, and if not, determining that the second blockchain is incorrect.
- 一种服务器,其特征在于,所述服务器包括:A server, wherein the server comprises:发送模块,用于下发第一区块链到直播平台目标房间的目标客户端,以使得所述目标客户端收到所述第一区块链后生成第二区块链,并将所述第二区块链发送到所述服务器;a sending module, configured to send a first blockchain to a target client of a live platform target room, so that the target client generates the second blockchain after receiving the first blockchain, and a second blockchain is sent to the server;接收模块,用于接收所述目标客户端发送的第二区块链;a receiving module, configured to receive a second blockchain sent by the target client;校验模块,用于对接收到的所述第二区块链进行校验,判断是否正确;若是,则确定所述目标客户端为合法客户端,若否,则确定所述目标客户端为非法客户端。a verification module, configured to check the received second blockchain to determine whether it is correct; if yes, determine that the target client is a legitimate client, and if not, determine that the target client is Illegal client.
- 根据权利要求6所述的服务器,其特征在于,所述校验模块还用于:The server according to claim 6, wherein the verification module is further configured to:在所述服务器未接收到所述目标客户端发送的第二区块链时,确定所述目标客户端为非法客户端。When the server does not receive the second blockchain sent by the target client, determining that the target client is an illegal client.
- 根据权利要求6所述的服务器,其特征在于,所述服务器还包括:The server according to claim 6, wherein the server further comprises:生成模块,用于生成所述第一区块链,所述第一区块链包括第一区块链的块号、前一个区块链的哈希值、生成第一区块链的时间戳、第一区块链的哈希值以及区块链功能数据,所述区块链功能数据包括所述目标房间的房间号,所述目标客户端的用户标识以及所述目标客户端的标志。Generating a module, configured to generate the first blockchain, where the first blockchain includes a block number of the first blockchain, a hash value of the previous blockchain, and a timestamp of generating the first blockchain a hash value of the first blockchain and blockchain function data, the blockchain function data including a room number of the target room, a user identifier of the target client, and a flag of the target client.
- 根据权利要求6所述的服务器,其特征在于,所述第二区块链包括第二区块链的块号、前一个区块链哈希值、生成第二区块链的时间戳以及区块链功能数据,所述目标客户端的用户标识以及所述目标客户端的标志;The server according to claim 6, wherein said second block chain comprises a block number of a second block chain, a previous block chain hash value, a time stamp for generating a second block chain, and a region Block chain function data, a user identifier of the target client, and a flag of the target client;所述校验模块具体用于:The verification module is specifically configured to:判断所述第二区块链的块号是否等于第一区块链的块号加1,若否,则确定所述第二区块链不正确;Determining whether the block number of the second block chain is equal to the block number of the first block chain plus 1, if not, determining that the second block chain is incorrect;判断所述第二区块链中包含的前一个区块链的哈希值是否与所述第一区 块链的哈希值匹配,若否,则确定所述第二区块链不正确。Determining whether a hash value of a previous block chain included in the second blockchain is different from the first region The hash value of the blockchain is matched, and if not, it is determined that the second blockchain is incorrect.
- 一种服务器,其特征在于,包括:存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时可以实现权利要求1至5任一所述的方法。 A server, comprising: a memory, a processor, and a computer program stored on the memory and operable on the processor, wherein the processor can implement the claims when executing the computer program The method of any of 1 to 5.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710883441.4A CN107465698A (en) | 2017-09-26 | 2017-09-26 | A kind of data verification method and server |
CN201710883441.4 | 2017-09-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019061626A1 true WO2019061626A1 (en) | 2019-04-04 |
Family
ID=60553326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2017/108047 WO2019061626A1 (en) | 2017-09-26 | 2017-10-27 | Data verification method, and server |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107465698A (en) |
WO (1) | WO2019061626A1 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107682328A (en) * | 2017-09-26 | 2018-02-09 | 武汉斗鱼网络科技有限公司 | A kind of data verification method and client |
CN108123960B (en) * | 2018-01-02 | 2020-10-16 | 武汉斗鱼网络科技有限公司 | Live broadcast room popularity verification method and device and electronic equipment |
CN108234491B (en) * | 2018-01-02 | 2021-01-01 | 武汉斗鱼网络科技有限公司 | Protocol association verification method and device and electronic equipment |
CN108256353B (en) * | 2018-01-11 | 2021-01-01 | 武汉斗鱼网络科技有限公司 | Data integrity checking method and device and client |
CN110213597B (en) * | 2018-03-30 | 2021-09-07 | 腾讯科技(深圳)有限公司 | Method and device for entering live broadcast room through browser |
CN110263579B (en) * | 2018-11-16 | 2021-05-11 | 腾讯科技(深圳)有限公司 | Data processing method, system and related equipment |
CN113067808B (en) * | 2021-03-15 | 2022-07-05 | 上海哔哩哔哩科技有限公司 | Data processing method, live broadcast method, authentication server and live broadcast data server |
CN114024737B (en) * | 2021-11-02 | 2023-10-17 | 上海哔哩哔哩科技有限公司 | Method, apparatus and computer readable storage medium for determining live room volume |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105959729A (en) * | 2016-06-29 | 2016-09-21 | 武汉斗鱼网络科技有限公司 | Method and system for carrying out statistics on online user number in live broadcast platform |
CN106385601A (en) * | 2016-09-14 | 2017-02-08 | 武汉斗鱼网络科技有限公司 | Method and system for counting number of persons watching live broadcast simultaneously based on multiprotocol verification |
US20170149560A1 (en) * | 2012-02-02 | 2017-05-25 | Netspective Communications Llc | Digital blockchain authentication |
CN107171810A (en) * | 2017-06-27 | 2017-09-15 | 中国联合网络通信集团有限公司 | The verification method and device of block chain |
CN107682328A (en) * | 2017-09-26 | 2018-02-09 | 武汉斗鱼网络科技有限公司 | A kind of data verification method and client |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9992028B2 (en) * | 2015-11-26 | 2018-06-05 | 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 |
CN105701372B (en) * | 2015-12-18 | 2019-04-09 | 布比(北京)网络技术有限公司 | A kind of building of block chain identity and verification method |
US9635000B1 (en) * | 2016-05-25 | 2017-04-25 | Sead Muftic | Blockchain identity management system based on public identities ledger |
CN106357640B (en) * | 2016-09-18 | 2019-11-08 | 江苏通付盾科技有限公司 | Identity authentication method, system and server based on block chain network |
CN106534160B (en) * | 2016-12-02 | 2020-02-21 | 江苏通付盾科技有限公司 | Identity authentication method and system based on block chain |
-
2017
- 2017-09-26 CN CN201710883441.4A patent/CN107465698A/en active Pending
- 2017-10-27 WO PCT/CN2017/108047 patent/WO2019061626A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170149560A1 (en) * | 2012-02-02 | 2017-05-25 | Netspective Communications Llc | Digital blockchain authentication |
CN105959729A (en) * | 2016-06-29 | 2016-09-21 | 武汉斗鱼网络科技有限公司 | Method and system for carrying out statistics on online user number in live broadcast platform |
CN106385601A (en) * | 2016-09-14 | 2017-02-08 | 武汉斗鱼网络科技有限公司 | Method and system for counting number of persons watching live broadcast simultaneously based on multiprotocol verification |
CN107171810A (en) * | 2017-06-27 | 2017-09-15 | 中国联合网络通信集团有限公司 | The verification method and device of block chain |
CN107682328A (en) * | 2017-09-26 | 2018-02-09 | 武汉斗鱼网络科技有限公司 | A kind of data verification method and client |
Also Published As
Publication number | Publication date |
---|---|
CN107465698A (en) | 2017-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019061626A1 (en) | Data verification method, and server | |
WO2019061598A1 (en) | Data verification method and client | |
CN110598448B (en) | Method, device, equipment and storage medium for processing operation data based on block chain | |
US10176309B2 (en) | Systems and methods for authenticating video using watermarks | |
WO2019061628A1 (en) | Data verification method, and server | |
WO2019061630A1 (en) | Transaction accounting method, and client | |
CN108241517B (en) | Software upgrading method, client and electronic equipment | |
CN107426253B (en) | Data verification method and client | |
WO2019061627A1 (en) | Data verification method, and server | |
WO2019061629A1 (en) | Data verification method, and server | |
US7849323B2 (en) | Password presentation for multimedia devices | |
CN110830735B (en) | Video generation method and device, computer equipment and storage medium | |
CN107801059B (en) | A kind of method for authenticating and server | |
CN108805571B (en) | Data protection method, platform, block chain node, system and storage medium | |
WO2019061597A1 (en) | Data processing method and server | |
WO2017036365A1 (en) | Voice communication processing method, electronic device, system and storage medium | |
WO2019001083A1 (en) | Authentication method and device for video stream address | |
CN108260015B (en) | Voting data processing method and device and electronic equipment | |
CN110096894B (en) | Data anonymous sharing system and method based on block chain | |
WO2022073340A1 (en) | Mobile terminal application security detection method and system, terminal, and storage medium | |
CN111461720A (en) | Identity verification method and device based on block chain, storage medium and electronic equipment | |
CN107888623B (en) | Method and device for preventing hijacking of audio and video data streams of live broadcast software | |
CN108924089B (en) | Client device identification method and device and client device | |
CN106230860B (en) | Method and device for transmitting streaming media | |
EP3627361B1 (en) | Media content control |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17927446 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 17927446 Country of ref document: EP Kind code of ref document: A1 |