Patent Publication Number: US-2021195268-A1

Title: Method and system for preventing a fraudulent video relay

Description:
TECHNICAL FIELD 
     The disclosure relates to the field of information technology, in particular to a method and system for preventing a fraudulent video relay in the process of video data relay based on blockchain. 
     BACKGROUND ART 
     With the rapid development of the quantity and quality of various computer equipment, networks, and video resources, live and on-demand video services have shown a spurt of growth, which also brings a series of serious problems, mainly in the following three aspects: 
     1) a sharp increase in bandwidth costs of video service providers has become a main bottleneck restricting the dissemination of various high-quality content; 
     2) the bandwidth transmission bottleneck seriously affects user&#39;s video viewing experience, due to frequent stuttering and delay; 
     3) a video data transmission under a centralized transmission architecture has caused great pressure on the backbone Internet, which has increased the operating costs of network operators. 
     In order to solve the above three main bottlenecks that restrict the development of video services, an application of a decentralized video relay solution based on the blockchain technology has gradually become one of the main directions of various service providers. The decentralized video relay solution achieves a rapid video distribution with a fast and reasonable video relay among video users, thereby fundamentally solving the serious dependence of video services on the bandwidth resources of the central server. Although some companies have proposed various video relay methods based on content delivery network (Content Delivery Network, CDN for short) distribution, from the perspective of the source of the video content obtained by the client, various video relay methods still have not resolved the problem that video transmission still heavily depends on the bandwidths of various types of central video Servers. 
     The blockchain technology is also called as distributed ledger technology, which is a new application mode of computer technologies such as distributed data storage, p2p transmission, consensus mechanism, and encryption algorithm. The unique characteristics of trust-free and value transfer make the realization of the decentralized video relay system more practical Utilizing user nodes all over the country, based on the value transfer characteristics of the blockchain, the user nodes are willing to share the bandwidth to achieve a peer to peer (p2p for short) video transmission network based on district and connectivity, in order to obtain bandwidth sharing rewards from the service provider or system, to realize reasonable routing of video data, reduce traffic impact on the central server, increase data transmission speed, and improve users&#39; experience of viewing videos. Due to the existence of value rewards based on sharing bandwidth, blockchain-based decentralized video relay systems have more vitality and robustness compared with pure video relay systems. However, it will be inevitable for a decentralized system to face various malicious frauds for obtaining the sharing rewards by forging video relays, which will seriously affect the deserved interests of relay nodes that normally share bandwidth, thereby fundamentally shaking the value distribution basis of the blockchain-based decentralized video relay system, to cause a collapse of the system. Therefore, how to objectively and accurately suppress the deserved interests of forged relay nodes and ensure the deserved interests of normal relay nodes will be the key to build a blockchain-based decentralized video relay system. 
     SUMMARY 
     The embodiment of this specification provide a method and a system for preventing a fraudulent video relay, so as to prevent unreasonable rewards for fraudulent video relays from infringing on the interests of normal video relay users. 
     The embodiment of this specification provide a method for preventing a fraudulent video relay, comprising: 
     a video source node slicing a video source and relaying fragments of video data to next nodes; 
     a relay node user receiving a relayed fragment of video data from a previous node and writing a video relay session information to a system; 
     a viewing node establishing a video relay session with the relay node, receiving, reassembling, decoding, and playing the fragment of video data, and at the same time regularly recording relay behavior data to the system; and 
     a relay reward node regularly obtaining unprocessed relay behavior data, calculating a reward value for each relay user, and writing the reward value into a blockchain system. 
     The embodiment of this specification also provide a system for preventing a fraudulent video relay, comprising: 
     a video source publishing module, configured for publishing operations of various live and on-demand video streams; wherein the publishing operations comprise video hash coding, video data slicing, calculation and reception of corresponding hash codes, and operations of receiving connection verification, establishment and video data relay of next video receiving nodes (such as a viewing node or a relay node); 
     a video source verification module, configured for a hash verification of a specified video stream data slice; 
     a relay module, configured to receive video data from a previous module (such as the video source publishing module) and relay the video data to a viewing module; 
     a viewing module, configured to receive and play videos; 
     a user module, configured for identity authentication, login session retention and verification of the relay users and the viewing users; 
     a relay session module, configured to record and verify relay and forwarding chains of the relay module and the viewing module; 
     a relay behavior recording module, configured to verify and record relay behaviors of the relay users; and 
     a relay reward module, configured to analyze and reward the relay behaviors, and record reward results in the blockchain system. 
     The disclosure also provides a device, comprising one or more processors and a memory; wherein the memory contains instructions that can be executed by the one or more processors, to perform the method for preventing the fraudulent video data relay provided by embodiment of the disclosure. 
     The disclosure also provides a computer-readable storage medium storing a computer program, which makes a computer to execute the method for preventing the fraudulent video relay provided by embodiment of the disclosure. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  illustrates a flowchart of a method for preventing a fraudulent video relay according to an embodiment of the disclosure; 
         FIG. 2  illustrates a flowchart of a further embodiment of the method shown in  FIG. 1 ; 
         FIG. 3  illustrates a flowchart of a embodiment of step S 100  in the method shown in  FIG. 2 ; 
         FIG. 4  illustrates a flowchart of a embodiment of step S 200  in the method shown in  FIG. 1 ; 
         FIG. 5  illustrates a flowchart of a embodiment of step S 300  in the method shown in  FIG. 1 ; 
         FIG. 6  illustrates a flowchart of a embodiment of step S 400  in the method shown in  FIG. 1 ; 
         FIG. 7  illustrates a flowchart of a embodiment of steps after step S 405  in the method shown in  FIG. 6 ; 
         FIG. 8  illustrates a flowchart of a embodiment of step S 409  in the method shown in  FIG. 6 ; 
         FIG. 9  illustrates a diagram of the relationship between the relay reward coefficient and the relay receiving user concentration ratio (when f u =0) according to an embodiment of the disclosure; 
         FIG. 10  illustrates a diagram of the relationship between the relay reward coefficient and the receiving duration concentration ratio of the relay receiving user (when f u =0) according to an embodiment of the disclosure; 
         FIG. 11  illustrates a schematic structural diagram of a system for preventing a fraudulent video relay provided by an embodiment of the disclosure; and 
         FIG. 12  illustrates a schematic structural diagram of a computing device provided by an embodiment of the disclosure. 
     
    
    
     DETAILED DESCRIPTION OF THE EMBODIMENT 
     In order to make the objectives, technical solutions, and advantages of the disclosure clearer, the following further describes the embodiment of the disclosure in detail with reference to the accompanying drawings. 
       FIG. 1  illustrates a flowchart of a method for preventing a fraudulent video relay according to an embodiment of the disclosure. 
     As shown in  FIG. 1 , in this embodiment, the method for preventing the fraudulent video relay provided by the disclosure comprises: 
     S 200 : a video source node slicing a video source and relaying fragments of video data to next nodes; 
     S 300 : a relay node user receiving a relayed fragment of video data from a previous node and writing a video relay session information into a system; 
     S 400 : a viewing node establishing a video relay session with the relay node, receiving, reassembling, decoding, and playing the fragment of video data, and at the same time regularly recording relay behavior data to the system; 
     S 500 : a relay reward node regularly obtaining unprocessed relay behavior data, calculating a reward value for each relay user, and writing the reward value into a blockchain system. 
       FIG. 2  illustrates a flowchart of a further embodiment of the method shown in  FIG. 1 . 
     As shown in  FIG. 2 , in an embodiment, before step S 200 , the method further comprises: 
     S 100 : relay users and viewing users logining the system separately and keeping active connections. 
       FIG. 3  illustrates a flowchart of a embodiment of step S 100  in the method shown in  FIG. 2 . 
     As shown in  FIG. 3 , in an embodiment, step S 100  further comprises: 
     S 101 : the relay nodes and the viewing nodes respectively submitting login user names and passwords to a user module; 
     S 102 : the user module verifying whether the user names and passwords are correct: 
     if not, proceeding to step S 104 : returning a verification failure message to the user node; and 
     S 106 : the user node prompting a user with a login failure message; 
     if yes, proceeding to step S 105 : the user module returning a login session identifier (LoginSessionID) to the user node; and, 
     S 107 : the user node receiving and storing the login session identifier (LoginSessionID); and 
     S 108 : the user node keeping an active connection with the user module by sending heartbeat packets, so that the user module persistently stores the login session identifiers for users. 
       FIG. 4  illustrates a flowchart of a embodiment of step S 200  in the method shown in  FIG. 1 . 
     As shown in  FIG. 4 , in an embodiment, step S 200  further comprises: 
     S 201 : the video source node calculating a hash code for each video source as its unique video source identifier according to a preset function, slicing and numbering uniformly the video source data, and calculating a hash code for each slice of video source data; 
     S 202 : the video source node recording information comprising the video source identifier (SourceID), video slice numbers (VNumber), and corresponding slice hash code (Hash umber ) in a video source information module; wherein the information is represented as (SourceID, VNumber, Hash number ); 
     S 203 : the video source node establishing a video transmission session with a next node, and when starting to transmit video slice data, recording a generated unique session identifier in the system as a video source session identifier (CurrentSessionID); wherein the recorded information is represented as (SourceID, CurrentSessionID). 
       FIG. 5  illustrates a flowchart of a embodiment of step S 300  in the method shown in  FIG. 1 . 
     As shown in  FIG. 5 , in an embodiment, step S 300  further comprises: 
     S 301 : the relay node establishing a video transmission session with the previous node, starting to receive video slices, generating an identifier that identifies a current relay session (CurrentSessionID), and submitting a newly added session request to a relay session module; wherein the request comprises a current relay session identifier and a video source identifier, represented as (CurrentSessionID, SourceID); 
     S 302 : the relay session module verifying whether the current video relay session identifier (CurrentSessionID) in the newly added session request is legal: 
     if not, proceeding to step S 303 : returning a request failure message and stopping receiving the video; and 
     if yes, proceeding to step S 304 : continuing to receive the fragment of video data. 
       FIG. 6  illustrates a flowchart of a embodiment of step S 400  in the method shown in  FIG. 1 . 
     As shown in  FIG. 6 , in an embodiment, step S 400  further comprises: 
     S 401 : the viewing node establishing a video relay session with a previous relay node, and the relay node submitting a newly added session request comprising the current relay session identifier (CurrentSessionID) and a corresponding previous relay session identifier (PrevSessionID) to the relay session module; wherein the request comprises the current video relay session identifier (CurrentSessionID), the previous relay video session identifier (PrevSessionID) corresponding to the current session, and a login session identifier of the viewing user (LoginSessionID), represented as (PrevSessionID, CurrentSessionID, LoginSessionID); 
     S 402 : the relay session module verifying whether the previous video session (PrevSessionID) is legal: 
     if not, proceeding to step S 403 : returning a request failure message and stopping receiving the video; 
     if yes, proceeding to step S 404 : the relay session module recording the current relay session identifier (CurrentSessionID) in the relay session module, and returning a successful recording message to the relay node, and then the relay node sending the relayed fragment of video data to the viewing node; and 
     S 405 : the viewing node sending a relay request to the relay node to request the relay node to continue to relay a next relay period threshold duration to the viewing node (if the relay period threshold is 5 minutes, request to continue to relay for 5 minutes); wherein the request information mainly comprises a current relay video session identifier (CurrentSessionID), a maximum video slice number of a previous relay (CurrentVNumber), a login identifier of the viewing user (LoginSessionID), and a time point of the current relay request (RequestTimestamp); and 
     S 407 : the viewing node receiving the fragment of video data and performing operations of reassembling, decoding and playing video; and 
     S 408 : the viewing node determining whether it is time to send the relay request, that is, within a time interval less than a relay period threshold since a previous relay request was sent (if the threshold is 1 minute, the interval should be 55 seconds or 58 seconds and other time intervals less than 1 minute): 
     if not, proceeding to step S 407 ; 
     if yes, proceeding to step S 409 : the viewing node initiating a recording request for writing a relay behavior to a relay behavior recording module; and proceeding to step S 405 . 
       FIG. 7  illustrates a flowchart of a embodiment of steps after step S 405  in the method shown in  FIG. 6 . 
     As shown in  FIG. 7 , in an embodiment, the following steps should be performed after step S 405 : 
     S 4061 : the relay node determines whether the relay request is received: 
     if yes, the process proceeds to step S 4062 : the relay node determines whether the relay request is legal based on whether the current video relay session identifier (CurrentSessionID) of the request exists: 
     if it does not exist, the process returns to step S 4061 ; 
     if it exists, the process proceeds to step S 4063 : the relay node extends a active duration of a relay session corresponding to the request to the next relay period threshold duration (if the threshold is 5 minutes, extending 5 minutes), and continues to relay the fragment of video data to the viewing node corresponding to the request; and proceeds to step S 4064 ; 
     if not, the process proceeds to S 4064 : the relay node polls to check whether each session relayed to the next node has expired: 
     if yes, the process proceeds to step S 4065 : the relay node cancels the relay session, and terminates a relay forwarding operation corresponding to the session; and the process proceeds to step S 4061 ; 
     if not, the process returns to step S 4061 . 
       FIG. 8  illustrates a flowchart of a embodiment of step S 409  in the method shown in  FIG. 6 . 
     As shown in  FIG. 8 , in an embodiment, step S 409  further comprises: 
     S 40901 : the relay behavior recording module submitting a login verification request to the user module; 
     S 40902 : the user module determining whether the viewing user is in a normal login state according to the submitted login session identifier of the viewing user (LoginSessionID): 
     if not, proceeding to step S 40903 : the relay behavior recording module terminating the writing operation; 
     if yes, proceeding to step S 40904 : the relay behavior recording module submitting a relay session verification request to the relay session module; wherein the request comprises: the current video relay session identifier (CurrentSessionID) and the previous video relay session identifier (PrevSessionID); and 
     S 40905 : the relay session module determining whether the video session exists: 
     if not, proceeding to step S 40903 ; 
     if yes, proceeding to step S 40906 : the relay behavior recording module submitting a verification request to the video source information module; wherein the request comprises: the current video transmission session identifier (CurrentSessionID), the video source identifier (SourceID), a current received video slice number (VNumber) and a corresponding hash code (Hash number ); and 
     S 40907 : the video source information module verifying whether a hash code of a video slice data with a specified number is consistent with a submitted hash code: 
     if not, proceeding to step S 40903 ; 
     if yes, proceeding to step S 40908 : the relay behavior recording module recording current relay behavior data; wherein the relay behavior data comprises: a viewing user name (ViewLoginName), a relay user name (RelayLoginName), a relay time point (RelayTimestamp), a current relay session identifier (CurrentSessionID), and a video source identifier (SourceID). 
     As described in step S 500 , in one embodiment, the relay reward node regularly obtains unprocessed relay behavior data to calculate a reward value for each relay user, and writes the reward value into the blockchain system. The specific steps of step S 500  comprises: 
     First, defining a reward calculation formula of each relay node (assuming i th  relay node) as: 
       reward i   =r   i ·reward base ·time·bitrate
 
     wherein, reward base  has is a reward base number for providing a unit bandwidth in units of yuan/GB or cent/GB, i.e., obtained reward amount or reward points per GB of provided traffic; 
     wherein, r i  is a reward coefficient of i th  relay node; 
     time is a relay period duration of the current relay record (such as 5 minutes); 
     bitrate is a bit rate of the current relay video (such as 1 mb/s); 
     Second, defining a relay receiving user concentration ratio f u  of a certain relay user per unit time as: 
     
       
         
           
             
                 
             
              
             
               
                 f 
                 u 
               
               = 
               
                 
                   
                     ? 
                   
                   
                     ? 
                   
                 
                 - 
                 1 
               
             
           
         
       
       
         
           
             
               ? 
             
              
             
               indicates text missing or illegible when filed 
             
           
         
       
     
     wherein, s is a total number of relay sessions (Session) relayed and distributed by the relay user to the next viewing users per unit time; 
     n is an independent user quantity of viewing users when the relay user is relaying to the next viewing users per unit time, which is also a total number of all viewing users after deduplication; 
     assuming that a relay user A has relayed and forwarded videos to a viewing user B three times in a unit time (e.g. one month), a relay independent receiving user quantity of A (n) is still counted as 1, and a total number of relay sessions (s) is counted as 3, so the relay receiving user concentration ratio f u  of A is 2; 
     third, defining an average receiving duration of next relay forwarding viewing users corresponding to a previous relay session identifier (PrevSessionID) of a certain relay user as: 
     
       
         
           
             
                 
             
              
             
               f 
               = 
               
                 
                   1 
                   n 
                 
                  
                 
                   
                     ∑ 
                     
                       ? 
                     
                     
                       ? 
                     
                   
                    
                   
                     ? 
                   
                 
               
             
           
         
       
       
         
           
             
               ? 
             
              
             
               indicates text missing or illegible when filed 
             
           
         
       
     
     wherein, t i  is a receiving duration of i th  viewing user corresponding to the relay session identifier (PrevSessionID); 
     furthermore, defining a receiving video duration concentration ratio f τ  of the viewing users when a certain relay user relay a certain session (PrevSessionID) for i th  time as: 
     
       
         
           
             
                 
             
              
             
               
                 f 
                 c 
               
               = 
               
                 
                   
                     ? 
                   
                   
                     ? 
                   
                 
                 - 
                 1 
               
             
           
         
       
       
         
           
             
               ? 
             
              
             
               indicates text missing or illegible when filed 
             
           
         
       
     
     wherein, t max  is a maximum receiving duration of the viewing users corresponding to the current relay session (PrevSessionID); 
       t  is an average receiving duration of each viewing user corresponding to the relay session (PrevSessionID); 
     finally, defining i th  relay reward coefficient of a certain relay user as: 
     
       
         
           
             
               r 
               i 
             
             = 
             
               
                 1 
                 
                   e 
                   
                     fu 
                     2 
                   
                 
               
               · 
               
                 1 
                 
                   e 
                   
                     ft 
                     2 
                   
                 
               
             
           
         
       
     
     therefore, defining a final reward calculation formula for a certain relay node as (assuming that a total of n forwardings are performed): 
     
       
         
           
             reward 
             = 
             
               
                 ∑ 
                 
                   i 
                   = 
                   0 
                 
                 n 
               
                
               
                 
                   1 
                   
                     e 
                     
                       fu 
                       2 
                     
                   
                 
                 · 
                 
                   1 
                   
                     e 
                     
                       ft 
                       2 
                     
                   
                 
                 · 
                 
                   reward 
                   
                     b 
                      
                     a 
                      
                     s 
                      
                     e 
                   
                 
                 · 
                 
                   time 
                   i 
                 
                 · 
                 bitrate 
               
             
           
         
       
     
     wherein, time t  is a relay duration of i th  relay record of a certain relay node; and 
     the relay reward node regularly obtaining unprocessed relay behavior data from the relay behavior recording module, calculating a reward value of the relay node according to the above formula, and writing the reward value into the blockchain system so that the system can reward the relay user. 
       FIG. 9  illustrates a diagram of the relationship between the relay reward coefficient and the relay receiving user concentration ratio (when f t =0) according to an embodiment of the disclosure. 
     As shown in  FIG. 9 , in an embodiment, when the relay receiving user receiving duration concentration ratio f t =0, the relay reward coefficient r i  decreases sharply with the increase of f u  between the relay reward coefficient r i  and the relay receiving user concentration ratio f u . If the fraudulent relay node only relays data to the preset few known fraudulent viewing nodes, the increase in the relay receiving user concentration ratio f u  will lead to a sharp drop in its reward coefficient r i , which will make its rewards become negligible, thus ensuring the interests of normal relay nodes. 
       FIG. 10  illustrates a diagram of the relationship between the relay reward coefficient and the receiving duration concentration ratio of the relay receiving user (when f u =0) according to an embodiment of the disclosure. 
     As shown in  FIG. 10 , in an embodiment, when the relay receiving user concentration ratio f u =0, the relay reward coefficient r i  decreases sharply with the increase of f t  between the relay reward coefficient r i  and the receiving duration concentration ratio f t  of the relay receiving user. If the fraudulent relay node, in order to avoid being punished due to a excessively high receiving user concentration ratio f u , starts to deliberately relay the video to most of the viewing nodes, then immediately terminates the relay to most of the viewing nodes, and only retains relaying data to the preset few known fraudulent viewing nodes, its reward coefficient r i  will drop sharply due to the increase in the receiving duration concentration ratio f t  of the relay receiving user, so that its reward will also drop sharply, thus ensuring the interests of normal relay nodes. 
       FIG. 11  illustrates a schematic structural diagram of a system for preventing a fraudulent video relay provided by an embodiment of the disclosure. 
     The modules shown in  FIG. 11 , except for the video source publishing module, which needs to be deployed on the video source node, the remaining modules can be deployed on any node on the distributed network. 
     As shown in  FIG. 11 , in this embodiment, the system for preventing the fraudulent video relay provided by the disclosure consists of a video source publishing module  101 , a relay module  102 , a user module  103 , a viewing module  104 , a relay session module  105 , and a relay behavior recording module  106 , a relay reward module  107 , a video source information module  109  and a (external) blockchain system  108 . 
     Wherein, the video source publishing module  101  is configured for publishing operations of various live and on-demand video streams; wherein the publishing operations comprise video hash coding, video data slicing, calculation and reception of corresponding hash codes, and operations of receiving connection verification, establishment and video data relay of next video receiving nodes (such as a viewing node or a relay node). 
     The video source verification module  109  is configured for a hash verification of a specified video stream data slice. 
     The relay module  102  is configured to receive video data from a previous module (such as the video source publishing module) and relay the video data to the viewing module  103 . 
     The viewing module  103  is configured to receive and play videos. 
     The user module  104  is configured for identity authentication, login session retention and verification of the relay users and the viewing users. 
     The relay session module  105  is configured to record and verify relay and forwarding chains of the relay module  102  and the viewing module  103 . 
     The relay behavior recording module  106  is configured to verify and record relay behaviors of the relay users. 
     The relay reward module  107  is configured to analyze and reward the relay behaviors, and record reward results in the (external) blockchain system  108 . 
     In this embodiment, each of the above-mentioned modules is configured as a software program in each corresponding node, thereby implementing the system for preventing the fraudulent video relay according to the previous method. In more embodiments, the above-mentioned modules can also be configured as hardware devices dedicated to preventing the fraudulent video relay according to actual needs, or a combination of software and hardware that can be understood by those skilled in the art, which can achieve the same technical effect. 
     The operation process of the system for preventing the fraudulent video data relay is as follows: 
       201 : the relay module  102  submits a relay user name and password to the user module  103  for user login identity authentication; the user module  103  performs a verification and then returns a login session identifier of the relay user to the relay module  102 , and the relay module  102  regularly submits a heartbeat keep-alive request to the user module  103  to maintain the login session; 
       202 : the viewing module  104  submits a viewing user name and password to the user module  103  for user login identity authentication; the user module  103  performs a verification and then returns a login session identifier of the viewing user to the viewing module  104 , and the viewing module  104  regularly submits a heartbeat keep-alive request to the user module  103  to maintain the login session; 
     step  203 : the video source publishing module  101  performs a hash calculation for the video source according to a preset function to obtain a unique video source identifier (SourceID), and at the same time slices and numbers uniformly the video source data, and calculates a hash code for each slice of video data source, and records the above information triples (a video source identifier, a video slice number, and a slice hash code) in the video source information module  109 ; 
       204 : the video source publishing module  101  submits information comprising a generated current video relay session identifier (CurrentSessionID) and the video source identifier (SourceID) to the relay session Module  105  for storage after the video source publishing module  101  and the next module (assumed to be the relay module  102 ) has established a video relay session; 
       205 : the video source publishing module  101  starts the transmission of the fragment of video data after the video source publishing module  101  has established a video relay session with the relay source module (such as the video source publishing module  101 ); wherein the fragment of video data comprises the current video relay session identifier (CurrentSessionID), video slice data (VData), and slice numbers (VNumber); 
       206 : after the relay module  102  has established a video relay session with the viewing module  104 , the relay module  102  submits the current video relay session identifier (CurrentSessionID) and a video transmission session identifier generated in step  204  as a previous video relay session identifier (PrevSessionID), together with the video source identifier (SourceID), to the relay session module  105  to verify a legality of the relay video session: 
     if the relay session module  105  cannot find a corresponding legal video session from the system according to the submitted previous video relay session identifier (PrevSessionID) and the video source identifier (SourceID), the relay session module  105  returns a verification failure message to the relay module  102 , and then the relay module  102  terminates video relay; 
     if the relay session module  105  finds a corresponding legal video session from the system according to the submitted previous video relay session identifier (PrevSessionID) and the video source identifier (SourceID), the relay session module  105  records the current video relay session identifier (CurrentSessionID) and returns a success message to the relay module  102 , and then the relay module  102  continues to transmit video, and the following steps continues to be performed; 
       207 : the viewing module  104  regularly (i.e., every other relay period, such as 5 minutes) submits a relay request to the relay module  102 ; wherein the request comprises information comprising the current video relay session identifier (CurrentSessionID) generated in step  206  and a starting number of the video slices to be transmitted (VNumber); 
       208 : the relay module  102  verifies the relay request received in step  207 : 
     if a verification is passed, the relay module  102  continues to relay the fragment of video data to the viewing module  104 , and steps  207  and  208  are repeated to achieve continuous video relay; 
     if the verification fails, the relay module  102  stops relaying the fragment of video data to the viewing module  104  to terminate following operations; 
       209 : the viewing module  104  regularly (the same as the relay period in step  207 , such as 5 minutes) submits video relay behavior data to the relay behavior module  106 ; wherein the relay behavior data comprises the relay and viewing user login identifiers (such as account name), relay and viewing user login session identifiers, current video slice number, hash code of current video slice, and current relay session identifier; 
       210 : the relay behavior recording module  106  submits the viewing and relay user login identifiers received in step  209  to the user module  103  to verify whether login status of the users are normal: 
     if the user module  103  cannot find a corresponding login session from an online user session table according to a submitted user login identifier, the user module  103  returns a verification failure message to the relay behavior recording module  106 , and then the relay behavior recording module  106  cancels the current relay behavior recording request and returns immediately; 
     if the user module  103  can find the corresponding session from the online user session table according to the submitted user login identifier, the user module  103  returns a verification success message to the relay behavior recording module  106 , and the following steps continues to be performed; 
       211 : the relay behavior recording module  106  submits the relay session identifiers received in step  209  to the relay session module  105  for verification: 
     if the relay session module  105  cannot find a corresponding relay session identifier (CurrentSessionID) in a relay session storage, the relay session module  105  returns a verification failure message to the relay behavior recording module, and then the relay behavior recording module cancels the current relay behavior recording request to terminate the subsequent steps immediately; 
     if the relay session module  105  can find a corresponding relay session identifier (CurrentSessionID) in the relay session storage, the relay session module  105  returns a verification success message to the relay behavior recording module  106 , and the following steps continues to be performed; 
     212: the relay behavior recording module  106  submits the video source identifier (SourceID), the video slice number (VNumber) and a hash code (Hash number ) of the video slice data corresponding to the number received in step  209  to the video source information module  109  for verification: 
     if the video source information module  109  fails to verify the request, the video source information module  109  returns a verification failure message to the relay behavior recording module  106 , and then the relay behavior recording module  106  cancels the current relay behavior recording request to immediately terminate subsequent operation steps; 
     if the video source information module  109  successfully verifies the request, the video source information module  109  returns a verification success message to the relay behavior recording module  106 , and then the relay behavior recording module  106  stores the current relay behavior record; 
       213 : the relay reward module  107  regularly obtains unprocessed newly added relay behavior data from the relay behavior recording module  106 ; and 
       214 : the relay reward module  107  analyzes the relay behavior data obtained in step  213 , calculates a relay reward coefficient for a corresponding relay user to calculate relay reward points, and finally writes the relay reward points into the (external) blockchain system  108 . 
       FIG. 12  illustrates a schematic structural diagram of a computing device provided by an embodiment of the disclosure. 
     The computing device may comprise one or more central processing units  601  (CPU), which can execute various logics and actions according to instructions in the volatile memory  603  or loaded from the non-volatile memory  606  to the volatile memory  603 , and communicate and interact with other Internet devices through a communication device  602 . Wherein, the volatile memory  603  comprises read only memory (ROM) and random access memory (RAM). An input device  604  can comprise a keyboard, a mouse, a touch screen, etc. And an output device  605  can comprise a display device, such as a liquid crystal display (LCD), a cathode ray tube (CRT), various display screens, and speakers. The non-volatile memory  606  may comprise a hard disk, an optical disk, a semiconductor storage, a magneto-optical disk, and the like. The communication device  602  may comprise network interface devices such as a local area network card (LAN card), a wireless network card, and a modem. 
     A person of ordinary skill in the art can understand that all or part of the steps in the above embodiment can be implemented by hardware, or by a software program to instruct relevant hardware, wherein, the program can be stored in a computer-readable storage medium. The above-mentioned storage medium can be a read-only memory, a magnetic disk or an optical disk, etc. 
     The above are only the embodiments of the disclosure and are not intended to limit the disclosure. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the disclosure should fall in the protection scope of the disclosure.