Patent ID: 11936934
Assignee: BEIJING XITONG WUZHOU ZHILIAN TECHNOLOGY CO., LTD.
Field: Audio-visual technology (Electrical engineering)
Classification: CPC H | IPC G  H

Claim 9:
10. A system for preventing a fraudulent video data relay, the system 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;
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 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;
wherein a complete process of the system comprises:
step 1. the relay module submitting a relay user name and password to the user module for user login identity authentication; the user module performing a verification and then returning a login session identifier of the relay user to the relay module, and the relay module regularly submitting a heartbeat keep-alive request to the user module to maintain the login session;
step 2. the viewing module submitting a viewing user name and password to the user module for user login identity authentication; the user module performing a verification and then returning a login session identifier of the viewing user to the viewing module, and the viewing module regularly submitting a heartbeat keep-alive request to the user module to maintain the login session;
step 3. the video source publishing module performing a hash calculation for the video source according to a preset function to obtain a unique video source identifier, and at the same time slicing and numbering uniformly the video source data, and calculating a hash code for each slice of video data source, to record the unique video source identifier, a video slice number, and a slice hash code in the video source information module;
step 4. the video source publishing module submitting information comprising a generated current video relay session identifier and the video source identifier to the relay session Module for storage after the video source publishing module and the relay module has established a video relay session;
step 5. the video source publishing module starting the transmission of the fragment of video data after the video source publishing module has established a video relay session with the relay source module; wherein the fragment of video data comprises the current video relay session identifier, video slice data, and slice numbers;
step 6. after the relay module has established a video relay session with the viewing module, the relay module submitting the current video relay session identifier and a video transmission session identifier generated in step 4 as a previous video relay session identifier, together with the video source identifier, to the relay session module to verify a legality of the relay video session:
if the relay session module cannot find a corresponding legal video session from the system according to the submitted previous video relay session identifier and the video source identifier, the relay session module returning a verification failure message to the relay module, and then the relay module terminating video relay;
if the relay session recording module finds a corresponding legal video session from the system according to the submitted previous video relay session identifier and the video source identifier, the relay session recording module recording the current video relay session identifier and returning a success message to the relay module, and then the relay module continuing to transmit video, and following steps continuing to be performed;
step 7. the viewing module regularly submitting a relay request to the relay module; wherein the request comprises information comprising the current video relay session identifier generated in step 6 and a starting number of the video slices to be transmitted;
step 8. the relay module verifying the relay request received in step 7:
if a verification is passed, the relay module continuing to relay the fragment of video data to the viewing module, and steps 7 and 8 being repeated to achieve continuous video relay;
if the verification fails, the relay module stopping relaying the fragment of video data to the viewing module to terminate following operations;
step 9. the viewing module regularly submitting video relay behavior data to the relay behavior module; wherein the relay behavior data comprises the relay and viewing user login identifiers, relay and viewing user login session identifiers, current video slice numbers, hash code of current video slice, and current relay session identifier;
step 10. the relay behavior recording module submitting the viewing and relay user login identifiers received in step 9 to the user module to verify whether login status of the users are normal:
if the user module cannot find a corresponding login session from an online user session table according to a submitted user login identifier, the user module returning a verification failure message to the relay behavior recording module, and then the relay behavior recording module cancelling the current relay behavior recording request and returning immediately;
if the user module can find the corresponding session from the online user session table according to the submitted user login identifier, the user module returning a verification success message to the relay behavior recording module, and following steps continuing to be performed;
step 11. the relay behavior recording module submitting the relay session identifier received in step 9 to the relay session module for verification:
if the relay session module cannot find a corresponding relay session identifier in a relay session storage, the relay session module returning a verification failure message to the relay behavior recording module, and then the relay behavior recording module canceling the current relay behavior recording request to terminate subsequent steps immediately;
if the relay session module can find a corresponding relay session identifier in the relay session storage, the relay session module returning a verification success message to the relay behavior recording module, and following steps continuing to be performed;
step 12. the relay behavior recording module submitting the video source identifier, the video slice number and a hash code of the video slice data corresponding to the number received in step 9 to the video source information module for verification:
if the video source information module fails to verify the request, the video source information module returning a verification failure message to the relay behavior recording module, and then the relay behavior recording module canceling the current relay behavior recording request to immediately terminate subsequent operation steps;
if the video source information module successfully verifies the request, the video source information module returning a verification success message to the relay behavior recording module, and then the relay behavior recording module storing the current relay behavior record;
step 13. the relay reward module regularly obtaining unprocessed newly added relay behavior data from the relay behavior recording module; and
step 14. the relay reward module analyzing the relay behavior data obtained in step 13, calculating a relay reward coefficient for a corresponding relay user to calculate a relay reward points, and finally writing the relay reward points into the blockchain system, which comprises:
first, defining a reward calculation formula of each relay node as:

rewardi=ri*rewardbase*time*bitrate

wherein, rewardi is a reward base number for providing a unit bandwidth in units of yuan/GB or cent/GB, which is also an obtained reward amount or reward points per GB of provided traffic;
wherein, ri is a reward coefficient of ith relay node;
time is a relay period duration of the current relay record;
bitrate is a bit rate of the current relay video;
second, defining a relay receiving user concentration ratio fu of a certain relay user per unit time as:, f
   u
  
  =
  
   
    s
    n
   
   -
   1
  
 

wherein, s is a total number of relay sessions 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, 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 fu of A is 2;
third, defining an average receiving duration of next relay forwarding viewing users corresponding to a previous relay session identifier of a certain relay user as:, t
   _
  
  =
  
   
    1
    n
   
   ⁢
   
    
     ∑
     
      i
      =
      0
     
     n
    
    
     t
     i
    
   
  
 

wherein, ti is a receiving duration of ith viewing user corresponding to the relay session identifier;
furthermore, defining a receiving video duration concentration ratio ft of the viewing users when a certain relay user relay a certain session for ith time as:, f
   t
  
  =
  
   
    
     t
     
      ma
      ⁢
      x
     
    
    
     t
     _
    
   
   -
   1
  
 

wherein, tmax is a maximum receiving duration of the viewing users corresponding to the current relay session;
t is an average receiving duration of each viewing user corresponding to the relay session;
finally, defining ith relay reward coefficient of a certain relay user as:, r
   i
  
  =
  
   
    1
    
     e
     
      f
      ⁢
      
       u
       2
      
     
    
   
   *
   
    1
    
     e
     
      f
      ⁢
      
       t
       2
      
     
    
   
  
 

therefore, defining a final reward calculation formula for a certain relay node as:, reward
  =
  
   
    ∑
    
     i
     =
     0
    
    n
   
   
    
     1
     
      e
      
       f
       ⁢
       
        u
        2
       
      
     
    
    *
    
     1
     
      e
      
       f
       ⁢
       
        t
        2
       
      
     
    
    *
    r
    ⁢
    e
    ⁢
    w
    ⁢
    a
    ⁢
    r
    ⁢
    
     d
     
      b
      ⁢
      a
      ⁢
      s
      ⁢
      e
     
    
    *
    t
    ⁢
    i
    ⁢
    m
    ⁢
    
     e
     i
    
    *
    birate
   
  
 

wherein, timei is a relay duration of ith relay record of a certain relay node, and n is a total number of forwardings; and
the relay reward module 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.