WO2019136840A1 - Bullet screen posting time control method and system, and storage medium and electronic device - Google Patents

Bullet screen posting time control method and system, and storage medium and electronic device Download PDF

Info

Publication number
WO2019136840A1
WO2019136840A1 PCT/CN2018/081283 CN2018081283W WO2019136840A1 WO 2019136840 A1 WO2019136840 A1 WO 2019136840A1 CN 2018081283 W CN2018081283 W CN 2018081283W WO 2019136840 A1 WO2019136840 A1 WO 2019136840A1
Authority
WO
WIPO (PCT)
Prior art keywords
barrage
time
sending
server
queue
Prior art date
Application number
PCT/CN2018/081283
Other languages
French (fr)
Chinese (zh)
Inventor
周志刚
张文明
陈少杰
Original Assignee
武汉斗鱼网络科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 武汉斗鱼网络科技有限公司 filed Critical 武汉斗鱼网络科技有限公司
Publication of WO2019136840A1 publication Critical patent/WO2019136840A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/488Data services, e.g. news ticker
    • H04N21/4884Data services, e.g. news ticker for displaying subtitles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/068Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed

Definitions

  • the present invention relates to the field of mobile internet applications, and in particular, to a barrage speaking time control method, a storage medium, an electronic device and a system.
  • live broadcasts are more and more popular among the public.
  • the live broadcast of the audience during the live broadcast enhances the interaction between the anchor and the audience, so more and more viewers pass.
  • an object of the present invention is to provide a method for controlling the speaking time of a barrage, which can effectively limit the interval of speaking of a user.
  • the technical solution adopted by the present invention includes:
  • the live client logs in to the server, and the server encrypts the preset live broadcast client login interval data and sends it to the live client.
  • the live client decrypts the interval data of the speech, and calculates the time interval between the current to-be-transmitted barrage and the successful transmission of the barrage of the user, and compares with the interval of the speech obtained by the decryption. If it is smaller, the current to-be-transmitted bomb is discarded. If the screen is not less than, the current to-be-sending barrage is added to the queue;
  • the slave to be sent from the queue is sent to the server in turn, and the server calculates the time interval between the received salvage screen and the user successfully transmitting the bullet screen and compares it with the preset time interval. If it is less than, the device is discarded. If the screen is not less than, send the to-be-sent bullet to all live clients to complete the successful transmission of the to-be-sending barrage.
  • each of the to-be-sending bullets includes a member variable for indicating the time when the salvage to be sent is added to the queue;
  • the time interval between the time when the live broadcast client joins the pre-queue using the to-be-sending barrage and the sending time of the user successfully sending the barrage is calculated
  • the server calculates the time interval between the pre-join queue time of the received to-be-sending barrage and the transmission time of the user successfully sending the barrage.
  • the live client logs in to the server, and the live client and the server generate the public key and the private key by using an asymmetric algorithm
  • the generated public key is exchanged between the live client and the server, and the live client and the server use the newly obtained public key and the original private key to generate a key, and the key generated by the live client and the server is the same.
  • the server uses the generated key and combines the DES encryption algorithm to encrypt the interval time data sent to the current live client login user;
  • the live broadcast client uses global variables to save the interval data of the speech sent by the server;
  • the live client obtains the global variable for saving the interval data of the utterance, and uses the generated key and the DES encryption algorithm to decrypt the encrypted interval time data to obtain the utterance interval.
  • the server calculates the MD5 value by using the generated key and the sending time of the successfully transmitted barrage, and uses the MD5 value as the key value of the DES encryption algorithm for the current live client login user.
  • the interleave time data is encrypted.
  • the present invention also provides a storage medium having stored thereon a computer program that, when executed by a processor, implements the method described above.
  • the present invention also provides an electronic device comprising a memory and a processor having stored thereon a computer program running on a processor, the processor executing the computer program to implement the method described above.
  • the invention also provides a barrage speaking time control system, comprising:
  • a data sending module configured to: when the live client logs in to the server, the server encrypts the preset current live client login user interval interval data and sends the data to the live client;
  • a judging module configured to enable the live client to decrypt the interleave time data, and calculate a time interval between the current to-be-transmitted barrage and the user's last successful transmission of the barrage, and compare with the interleave time obtained by the decryption, if less than , the current to-be-sending barrage is discarded, and if not less than, the current to-be-sending barrage is added to the queue;
  • the barrage sending execution module is configured to sequentially send the to-be-transmitted barrage from the queue and send it to the server, and the server calculates the time interval between the received to-be-transmitted barrage and the user's last successful transmission of the barrage and compares with the preset time interval. If the value is less than, the to-be-sending barrage is discarded. If it is not less than, the to-be-sending barrage is sent to all live broadcast clients to complete the successful transmission of the to-be-sending barrage.
  • the creating module is further configured to: at the Native layer, write an interface for adding a to-be-sent to be sent by the user to the queue; for each to-be-transmitted barrage stored in the queue, each to be sent
  • the barrage includes a member variable for indicating the time when the barrage to be sent is added to the queue.
  • the judging module calculates the time interval between the time when the barrage is to be sent to the queue and the sending time of the user successfully sending the barrage; the barrage sending execution module uses the received to be sent.
  • the pre-join queue time of the barrage is calculated from the time when the user sends the barrage successfully.
  • the present invention has the advantages of: creating a queue for storing the to-be-sending barrage, and the live client and the server determine whether the current to-be-sending barrage meets the speaking interval time based on the user speaking interval time, and satisfying It will be sent to all live broadcast clients to accurately control the time interval of each barrage to be sent by the user, reduce the computing resource pressure of the server, save bandwidth resource consumption of the live broadcast platform, and reduce the generation of illegal barrage.
  • FIG. 1 is a flowchart of a method for controlling a speaking time of a barrage according to an embodiment of the present invention
  • FIG. 2 is a schematic structural diagram of an electronic device according to an embodiment of the present invention.
  • an embodiment of the present invention provides a method for controlling the speaking time of a barrage, which is applicable to a live broadcast client running on an Android system, and flexibly controls the barrage time of a live client login user to avoid high concurrency.
  • the barrage impacts the server.
  • the server refers to the barrage server of the live broadcast company. Specific includes:
  • S1 Create a queue for storing the barrage to be sent in the native layer of the Android system using the C++ language.
  • the Native layer is the native framework in the Android system, which is typically implemented in C or C++.
  • a queue for sending a network data packet is developed by using the C++ language, and the to-be-sending barrage waiting for the user to be sent to the server in the live client is placed in the queue in order, thereby realizing the middle layer.
  • the thread that is written by the thread is continuously taken out from the queue and sent to the server through the Socket (socket).
  • This step specifically includes:
  • S101 Writing a data structure of a barrage, the structure mainly encapsulating related information contained in the barrage to be sent, so that the network sending thread can take out the to-be-sending barrage and directly send it to the server.
  • the data structure is:
  • StruttDanmu is used to define the data as a barrage structure
  • Uint64_t startTime is used to define a member variable to indicate the time when the barrage to be sent is added to the queue, that is, for each barr to be sent stored in the queue, each barr to be sent Contains a member variable for indicating the time when the salute to be sent is added to the queue, and records the time when the sent barrage is added to the queue
  • string is used to define a string variable to mark the content of the barrage to be sent, that is, to record the barrage to be sent. Specific text, expressions, etc.
  • S102 Write a queue for storing a to-be-sending barrage
  • the queue can be delivered by another thread (such as an interface editing operation of the user to edit the to-be-sending barrage), and the queue's own thread is taken out from the queue to be sent.
  • the queue uses the list container of the STL container.
  • the STL container is a common container in the C++ language.
  • the list container is a linked list, which can efficiently insert the bullet bar and the barrage operation from the linked list.
  • the bar container stores the barrage.
  • the data structure of the above-mentioned bullet to be sent It can be understood that the barrage to be sent is stored in the queue in the form of a data structure.
  • S104 Write a function for creating a thread, specifically by calling the Android system API function CreateThread, wherein the important parameter is the address of the thread function, the thread function is the entire execution logic of the thread, and defines a thread class. :
  • the thread class mainly stores a task queue to mark the task queue of the thread, so that the thread object can obtain the task queue of the thread.
  • Danmu*pTask queue.GetDanmu();//Create a task queue object Cqueue queue; take a barrage from the queue to the variable pTask
  • the time interval between the two times to be sent from the queue to be sent to the barrage is compared with the time interval of the user's speech. If not, the discard is discarded. If it is less than, the retrieved barrage is sent to the server.
  • the live client logs in to the server.
  • the server encrypts the preset live broadcast client login interval data and sends it to the live client.
  • the server may need to flexibly set the interval between each user, such as 30s and 10s. Etc.
  • the interval between them can be set to 0s, and for users who frequently send illegal advertisements, the interval between barrage speeches is other users. Many times.
  • S201 The live client logs in to the server, and the live client and the server generate the public key and the private key by using an asymmetric algorithm. Further, each time the live client logs in to the server, a pair of public and private keys are generated to ensure each time. The public key and the private key are different, so as to ensure the security of the data transmission during the interval.
  • the private key of the live client and the server is generated by using a random number, and then RSA (public key encryption algorithm) is called to generate a corresponding public key.
  • the Md5 value is calculated for the random number by calling the interface Md5.Create of the Md5 function, thereby obtaining the private key data.
  • ClientPublickey RSA.CreatePair(ClientPrivatekey);
  • the RSA generation pairing key interface RSA.CreatePair is called to generate the public key.
  • the Md5 value is calculated together with the spliced random number and the number of user IDs, thereby obtaining the private key data.
  • ServerPublickey RSA.CreatePair(ServerPrivatekey);
  • the RSA generation pairing key interface RSA.CreatePair is called to generate the public key.
  • S202 The generated public key is exchanged between the live client and the server, and the live client and the server use the newly obtained public key and the original private key to generate a key, and the key generated by the live client and the server is the same. That is, the server and the client exchange their respective public key information to generate a shared secret key, and the shared secret key generated by the client and the server is the same value.
  • the server sends the server's public key ServerPublickey to the client.
  • the client sends the client's public key ClientPublickey to the server.
  • S203 The server encrypts the speaking interval time data sent to the current live client login user by using the generated key and the DES encryption algorithm. After the live client logs in to the server, the server reads the interval between the users logging in to the live client and encrypts the key obtained before, so as to ensure the security of the data in the network transmission and prevent the hacker from getting the user. The interval data is spoken and the data is tampered to bypass the detection of the barrage transmission interval by the live client. The server uses the DES encryption algorithm to encrypt the user's speaking interval data.
  • the corresponding code is:
  • DES.encrypt is the encryption interface of the encryption algorithm DES; the parameter "time" is the interval of the user's speech; the parameter ShareKey is the shared key generated by the previous step; the return value encryptData is the generated encrypted result.
  • the encrypted speech interval time data is sent to the live client through the network.
  • the live broadcast client uses the global variable to save the encrypted interleave time data sent by the server, and does not decrypt the data for the time being.
  • the live client uses the global variable to protect the encrypted encryptData sent by the server to ensure the security of the data in the memory.
  • the server encrypts the interval data of the speech sent to the live client, and the server calculates the MD5 value by using the generated key and the sending time of the successfully transmitted barrage, and uses the MD5 value as the MD5 value.
  • the key value of the DES encryption algorithm encrypts the interval data of the current live client login user, and the subsequent live server uses the algorithm to decrypt the encrypted speech interval data.
  • G_encryptData DES.encrypt(time,key)
  • the live client decrypts the interval data of the speaking interval. Specifically, the live client obtains the global variable for saving the interval data of the speaking interval, and simultaneously decrypts the encrypted interval data by using the generated key and the DES encryption algorithm to obtain the speaking interval.
  • the time interval between the current to-be-transmitted barrage and the user's last successful transmission of the barrage is calculated, and compared with the interval of the speeches obtained by the decryption. If it is less than, the current to-be-sending barrage is discarded. If not less, the current The barrage to be sent is added to the queue.
  • the server After the user successfully sends a barrage to all live clients via the server, the server will record the time when the barrage was successfully sent and notify all live clients, so when the user edits the barrage to be sent in the live client and clicks to send The button is used to add the bar to be sent to the queue.
  • S4 sequentially sending out the to-be-sent bullets from the queue and sending them to the server, and the server calculates the time interval between the received salvage screen and the user successfully sending the bullets and compares them with the preset time interval, and the server sends the time to the barrage.
  • the detection is performed again. If it is less than, the to-be-sending barrage is discarded. If it is not less than, the to-be-sending barrage is sent to all live clients to complete the successful transmission of the to-be-sending barrage.
  • the live broadcast client uses the time when the to-be-sending barrage is pre-joined to the queue and the time interval for the user to send the barrage successfully.
  • the server uses the pre-join queue time of the received barrage to be sent and the user successfully sends the barrage.
  • the transmission time is calculated by the time interval.
  • the barrage speaking time control method of the present invention creates a queue for storing the barrage to be sent.
  • the server After the live client logs in to the server, the server encrypts the current user's speech interval time data and sends it to the live client, so that the live client When the end user sends the to-be-sending barrage, it determines whether the current to-be-sending barrage meets the interval of the speech interval based on the obtained interleave interval.
  • the end user discards, and the satisfied to-be-sending barrage is sent to the server, and the server will again If the judgment is made, it will be sent to all live broadcast clients to accurately control the time interval of each barrage to be sent by the user, reduce the computing resource pressure of the server, and save bandwidth resource consumption of the live broadcast platform and reduce illegal bombs.
  • the generation of the screen ensures the normal viewing of the live broadcast by the user and the loss of bandwidth consumption of the live broadcast platform to a certain extent.
  • the present invention further provides a storage medium on which a computer program is stored, and when the computer program is executed by the processor, the barrage speaking time control method described in the above embodiments is implemented. step.
  • the storage medium includes a U disk, a mobile hard disk, a ROM (Read-Only Memory), a RAM (Random Access Memory), a disk or an optical disk, and the like. The medium of the code.
  • the present invention further provides an electronic device including a memory and a processor, wherein the memory stores a computer program running on the processor, and when the processor executes the computer program, The barrage speaking time control method of each of the above embodiments is implemented.
  • the invention also provides a barrage speaking time control system based on the above-mentioned barrage speaking time control method, which comprises a creating module, a data sending module, a judging module and a barrage sending and executing module.
  • the creation module is used to create a queue for storing the to-be-sending barrage in the native layer of the Android system using the C++ language;
  • the data sending module is used to log in to the server when the live client logs in, and the server will preset the interval of the current live client login user to speak.
  • the data is encrypted and sent to the live client;
  • the judging module is configured to enable the live client to decrypt the interleave time data, and calculate the time interval between the current to-be-transmitted barrage and the user's last successful transmission of the barrage, and the speech obtained by decryption Interval time comparison, if it is less than, the current to-be-sending barrage is discarded.
  • the barrage sending execution module is used to sequentially retrieve the to-be-sent of the barrage from the queue and send it to the server.
  • the server calculates the time interval between the received to-be-transmitted barrage and the user's last successful transmission of the barrage and compares it with the preset time interval. If it is less than, it discards the to-be-transmitted barrage. If it is not less than, it sends the to-be-send barrage to All live broadcast clients complete the successful sending of the to-be-sending barrage.
  • the creation module is further configured to write an interface for adding the user-entered to-be-transmitted bulletscreen to the queue at the Native layer; for the to-be-transmitted bullet-screen to be sent in the queue, each of the to-be-sent bullets is included to indicate the to-be-sent
  • the barrage is added to the member variable of the queue time.
  • the judging module calculates the time interval between the time when the barrage is to be sent to the queue and the sending time of the user successfully sending the barrage; the barrage sending execution module uses the pre-joining queue time of the received barrage to be sent and the user is successfully posted. Send the time of transmission of the barrage calculation interval.
  • the data sending module causes the server to encrypt the current interval time data of the current user and send the data to the live client, so that the live client user is sent to be sent.
  • the barrage is performed, it is judged whether the current to-be-transmitted barrage meets the interval of the speech interval based on the obtained interval of the speech. If it is not satisfied, the discard is discarded, and the satisfied barrage to be sent is sent to the server, and the server will judge again.
  • the barrage sending execution module which can accurately control the time interval of each barrage to be sent by the user, reduce the computing resource pressure of the server, and save the bandwidth resource consumption of the live broadcast platform and reduce
  • the production of illegal barrage ensures the normal viewing of the live broadcast by the user and the loss of bandwidth consumption of the live broadcast platform to a certain extent.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)

Abstract

Disclosed are a bullet screen posting time control method and system, a storage medium and an electronic device, which relate to the field of mobile Internet applications. The method comprises: using, in a Native layer of an Android system, the language C++ to establish a queue for storing bullet screens to be sent; a live broadcast client logging in to a server, and the server encrypting pre-set posting interval time data of a current live broadcast client login user and then sending same to the live broadcast client; the live broadcast client decrypting the posting interval time data, and calculating a time interval between a current bullet screen to be sent and the previous bullet screen successfully sent by the user and comparing same with a posting interval time obtained by means of decryption; and sequentially removing, from the queue, the bullet screens to be sent and sending same to the server, and the server calculating time intervals between the received bullet screens to be sent and the previous bullet screen successfully sent by the user and comparing same with a pre-set time interval. The present invention can effectively limit the posting interval time of a user.

Description

弹幕发言时间控制方法、存储介质、电子设备及系统Barrage speaking time control method, storage medium, electronic device and system 技术领域Technical field
本发明涉及移动互联应用领域,具体涉及一种弹幕发言时间控制方法、存储介质、电子设备及系统。The present invention relates to the field of mobile internet applications, and in particular, to a barrage speaking time control method, a storage medium, an electronic device and a system.
背景技术Background technique
当前,随着移动端互联网的发展,直播也越来越受到大众的喜爱,直播时观众在直播间发送的弹幕更是加强了主播与观众之间的互动,因而越来越多的观众通过发送弹幕来参与直播,加强与主播间的互动和交流。At present, with the development of the mobile Internet, live broadcasts are more and more popular among the public. The live broadcast of the audience during the live broadcast enhances the interaction between the anchor and the audience, so more and more viewers pass. Send a barrage to participate in the live broadcast, and strengthen interaction and communication with the anchor.
然而存在一些观众通过频繁的发送广告弹幕,或者恶意低俗弹幕,降低整个直播平台的弹幕质量,同时也存在一些黑客使用非法手段发送大量弹幕信息对主播平台进行恶意攻击,使直播平台服务器因压力过大而雪崩,影响观众对直播的正常观看或对直播平台造成损失。However, some viewers reduce the quality of the barrage of the entire live broadcast platform by frequently sending advertisement barrage or malicious vulgarity. At the same time, some hackers use illegal means to send a large amount of barrage information to maliciously attack the anchor platform, so that the live broadcast platform The server is avalanche due to excessive pressure, which affects the viewer's normal viewing of the live broadcast or damage to the live platform.
发明内容Summary of the invention
针对现有技术中存在的缺陷,本发明的目的在于提供一种弹幕发言时间控制方法,本发明能够有效对用户的发言间隔时间进行限制。In view of the deficiencies in the prior art, an object of the present invention is to provide a method for controlling the speaking time of a barrage, which can effectively limit the interval of speaking of a user.
为达到以上目的,本发明采取的技术方案是,包括:In order to achieve the above object, the technical solution adopted by the present invention includes:
创建一用于存储待发送弹幕的队列;Create a queue for storing the barrage to be sent;
直播客户端登录服务器,服务器将预设的当前直播客户端登录用户发言间隔时间数据加密后发送至直播客户端;The live client logs in to the server, and the server encrypts the preset live broadcast client login interval data and sends it to the live client.
直播客户端解密发言间隔时间数据,并计算当前待发送弹幕和该 用户上条成功发送弹幕间的时间间隔,并与解密得到的发言间隔时间比对,若小于,则丢弃当前待发送弹幕,若不小于,则将当前待发送弹幕加入队列;The live client decrypts the interval data of the speech, and calculates the time interval between the current to-be-transmitted barrage and the successful transmission of the barrage of the user, and compares with the interval of the speech obtained by the decryption. If it is smaller, the current to-be-transmitted bomb is discarded. If the screen is not less than, the current to-be-sending barrage is added to the queue;
依次从队列中取出待发送弹幕发送至服务器,服务器计算接收的待发送弹幕和该用户上条成功发送弹幕间时间间隔并与预设时间间隔比对,若小于,则丢弃待发送弹幕,若不小于,则发送待发送弹幕至所有直播客户端,完成待发送弹幕的成功发送。The slave to be sent from the queue is sent to the server in turn, and the server calculates the time interval between the received salvage screen and the user successfully transmitting the bullet screen and compares it with the preset time interval. If it is less than, the device is discarded. If the screen is not less than, send the to-be-sent bullet to all live clients to complete the successful transmission of the to-be-sending barrage.
在上述技术方案的基础上,Based on the above technical solutions,
在Android系统Native层使用C++语言创建一用于存储待发送弹幕的队列;Create a queue for storing the to-be-sending barrage in the native layer of the Android system using the C++ language;
在Native层编写一用于将用户输入的待发送弹幕加入队列的接口;Writing an interface for adding a user-entered blank to be sent to the queue at the Native layer;
对于存储于队列中的待发送弹幕,每条待发送弹幕均包含有用于标示该待发送弹幕加入队列时间的成员变量;For the to-be-transmitted bullets stored in the queue, each of the to-be-sending bullets includes a member variable for indicating the time when the salvage to be sent is added to the queue;
直播客户端使用待发送弹幕加入预队列的时间与用户上条成功发送弹幕的发送时间计算时间间隔;The time interval between the time when the live broadcast client joins the pre-queue using the to-be-sending barrage and the sending time of the user successfully sending the barrage is calculated;
服务器使用接收到的待发送弹幕的预加入队列时间与用户上条成功发送弹幕的发送时间计算时间间隔。The server calculates the time interval between the pre-join queue time of the received to-be-sending barrage and the transmission time of the user successfully sending the barrage.
在上述技术方案的基础上,直播客户端登录服务器,直播客户端和服务器使用非对称算法均生成公钥和私钥;On the basis of the foregoing technical solution, the live client logs in to the server, and the live client and the server generate the public key and the private key by using an asymmetric algorithm;
直播客户端和服务器间交换生成的公钥,且直播客户端和服务器使用新得到的公钥和和原有的私钥生成密匙,且直播客户端和服务器生成的密匙相同。The generated public key is exchanged between the live client and the server, and the live client and the server use the newly obtained public key and the original private key to generate a key, and the key generated by the live client and the server is the same.
在上述技术方案的基础上,服务器使用生成的密匙并结合DES加密算法对发送给当前直播客户端登录用户的发言间隔时间数据进行 加密;Based on the foregoing technical solution, the server uses the generated key and combines the DES encryption algorithm to encrypt the interval time data sent to the current live client login user;
直播客户端使用全局变量保存服务器发送的发言间隔时间数据;The live broadcast client uses global variables to save the interval data of the speech sent by the server;
直播客户端获取保存发言间隔时间数据的全局变量,同时使用生成的密匙并结合DES加密算法对加密的发言间隔时间数据解密,得到发言间隔时间。The live client obtains the global variable for saving the interval data of the utterance, and uses the generated key and the DES encryption algorithm to decrypt the encrypted interval time data to obtain the utterance interval.
在上述技术方案的基础上,服务器使用生成的密匙和上条成功发送弹幕的发送时间一起计算得到MD5值,并将该MD5值作为DES加密算法的key值对当前直播客户端登录用户的发言间隔时间数据进行加密。Based on the foregoing technical solution, the server calculates the MD5 value by using the generated key and the sending time of the successfully transmitted barrage, and uses the MD5 value as the key value of the DES encryption algorithm for the current live client login user. The interleave time data is encrypted.
本发明还提供一种存储介质,该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的方法。The present invention also provides a storage medium having stored thereon a computer program that, when executed by a processor, implements the method described above.
本发明还提供一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述的方法。The present invention also provides an electronic device comprising a memory and a processor having stored thereon a computer program running on a processor, the processor executing the computer program to implement the method described above.
本发明还提供一种弹幕发言时间控制系统,包括:The invention also provides a barrage speaking time control system, comprising:
创建模块,其用于在Android系统Native层使用C++语言创建一用于存储待发送弹幕的队列;Creating a module for creating a queue for storing a to-be-sending barrage using the C++ language in the native layer of the Android system;
数据发送模块,其用于当直播客户端登录服务器,服务器将预设的当前直播客户端登录用户发言间隔时间数据加密后发送至直播客户端;a data sending module, configured to: when the live client logs in to the server, the server encrypts the preset current live client login user interval interval data and sends the data to the live client;
判断模块,其用于使直播客户端解密发言间隔时间数据,并计算当前待发送弹幕和该用户上条成功发送弹幕间的时间间隔,并与解密得到的发言间隔时间比对,若小于,则丢弃当前待发送弹幕,若不小于,则将当前待发送弹幕加入队列;a judging module, configured to enable the live client to decrypt the interleave time data, and calculate a time interval between the current to-be-transmitted barrage and the user's last successful transmission of the barrage, and compare with the interleave time obtained by the decryption, if less than , the current to-be-sending barrage is discarded, and if not less than, the current to-be-sending barrage is added to the queue;
弹幕发送执行模块,其用于依次从队列中取出待发送弹幕发送至 服务器,服务器计算接收的待发送弹幕和该用户上条成功发送弹幕间时间间隔并与预设时间间隔比对,若小于,则丢弃待发送弹幕,若不小于,则发送待发送弹幕至所有直播客户端,完成待发送弹幕的成功发送。The barrage sending execution module is configured to sequentially send the to-be-transmitted barrage from the queue and send it to the server, and the server calculates the time interval between the received to-be-transmitted barrage and the user's last successful transmission of the barrage and compares with the preset time interval. If the value is less than, the to-be-sending barrage is discarded. If it is not less than, the to-be-sending barrage is sent to all live broadcast clients to complete the successful transmission of the to-be-sending barrage.
在上述技术方案的基础上,所述创建模块还用于在Native层编写一用于将用户输入的待发送弹幕加入队列的接口;对于存储于队列中的待发送弹幕,每条待发送弹幕均包含有用于标示该待发送弹幕加入队列时间的成员变量。On the basis of the foregoing technical solution, the creating module is further configured to: at the Native layer, write an interface for adding a to-be-sent to be sent by the user to the queue; for each to-be-transmitted barrage stored in the queue, each to be sent The barrage includes a member variable for indicating the time when the barrage to be sent is added to the queue.
在上述技术方案的基础上,所述判断模块使用待发送弹幕预加入队列的时间与用户上条成功发送弹幕的发送时间计算时间间隔;所述弹幕发送执行模块使用接收到的待发送弹幕的预加入队列时间与用户上条成功发送弹幕的发送时间计算时间间隔。On the basis of the foregoing technical solution, the judging module calculates the time interval between the time when the barrage is to be sent to the queue and the sending time of the user successfully sending the barrage; the barrage sending execution module uses the received to be sent. The pre-join queue time of the barrage is calculated from the time when the user sends the barrage successfully.
与现有技术相比,本发明的优点在于:创建一用于存储待发送弹幕的队列,直播客户端和服务器均基于用户发言间隔时间判断当前待发送弹幕是否满足发言间隔时间,满足则才会发送至所有直播客户端,实现对用户待发送的每一条弹幕的时间间隔进行精确控制,减轻服务器的计算资源压力,且节约直播平台的带宽资源消耗,减少非法弹幕的产生,保证用户对直播的正常观看,以及在一定程度上减轻直播平台的带宽消耗损失。Compared with the prior art, the present invention has the advantages of: creating a queue for storing the to-be-sending barrage, and the live client and the server determine whether the current to-be-sending barrage meets the speaking interval time based on the user speaking interval time, and satisfying It will be sent to all live broadcast clients to accurately control the time interval of each barrage to be sent by the user, reduce the computing resource pressure of the server, save bandwidth resource consumption of the live broadcast platform, and reduce the generation of illegal barrage. The user's normal viewing of the live broadcast, and to some extent, the loss of bandwidth consumption of the live broadcast platform.
附图说明DRAWINGS
图1为本发明实施例中一种弹幕发言时间控制方法的流程图;1 is a flowchart of a method for controlling a speaking time of a barrage according to an embodiment of the present invention;
图2为为本发明实施例中一种电子设备的结构示意图。FIG. 2 is a schematic structural diagram of an electronic device according to an embodiment of the present invention.
具体实施方式Detailed ways
以下结合附图及实施例对本发明作进一步详细说明。The present invention will be further described in detail below with reference to the accompanying drawings and embodiments.
参见图1所示,本发明实施例提供一种弹幕发言时间控制方法,适用于Android系统端运行的直播客户端,对直播客户端登录用户的弹幕发言时间进行灵活控制,避免高并发的弹幕对服务器造成冲击,本发明实施例中,服务器指直播公司的弹幕服务器。具体的包括:Referring to FIG. 1 , an embodiment of the present invention provides a method for controlling the speaking time of a barrage, which is applicable to a live broadcast client running on an Android system, and flexibly controls the barrage time of a live client login user to avoid high concurrency. The barrage impacts the server. In the embodiment of the present invention, the server refers to the barrage server of the live broadcast company. Specific includes:
S1:在Android系统Native层使用C++语言创建一用于存储待发送弹幕的队列。Native层为Android系统中的本地框架,该层一般使用C或C++语言实现。本发明实施例中使用C++语言开发一个发送网络数据包的队列,将用户在直播客户端编写完成等待发至服务器的待发送弹幕按先后顺序放置该队列中,从而便可实现在Native层的网络发包逻辑中通过编写的线程不断地从队列中依次取出待发送弹幕通过Socket(套接字)发送至服务器。S1: Create a queue for storing the barrage to be sent in the native layer of the Android system using the C++ language. The Native layer is the native framework in the Android system, which is typically implemented in C or C++. In the embodiment of the present invention, a queue for sending a network data packet is developed by using the C++ language, and the to-be-sending barrage waiting for the user to be sent to the server in the live client is placed in the queue in order, thereby realizing the middle layer. In the network sending logic, the thread that is written by the thread is continuously taken out from the queue and sent to the server through the Socket (socket).
该步骤具体的包括:This step specifically includes:
S101:编写一个弹幕的数据结构,该结构主要是将待发送弹幕包含的相关信息进行封装,从而网络发包线程便可取出待发送弹幕直接发送至服务器,该数据结构为:S101: Writing a data structure of a barrage, the structure mainly encapsulating related information contained in the barrage to be sent, so that the network sending thread can take out the to-be-sending barrage and directly send it to the server. The data structure is:
StructDanmuStructDanmu
{{
Uint64_t startTime;Uint64_t startTime;
String danmudata;String danmudata;
}}
其中,StructDanmu用来定义该数据为弹幕结构;Uint64_t startTime用来定义一个成员变量标示待发送弹幕加入队列的时间,即对于存储于队列中的待发送弹幕,每条待发送弹幕均包含有用于标示该待发送弹幕加入队列时间的成员变量,对待发送弹幕加入队列的时间进行记录;string用来定义一个字符串变量以标记需要发送的弹幕内容,即记录待发送弹幕的具体文字、表情等内容。StruttDanmu is used to define the data as a barrage structure; Uint64_t startTime is used to define a member variable to indicate the time when the barrage to be sent is added to the queue, that is, for each barr to be sent stored in the queue, each barr to be sent Contains a member variable for indicating the time when the salute to be sent is added to the queue, and records the time when the sent barrage is added to the queue; string is used to define a string variable to mark the content of the barrage to be sent, that is, to record the barrage to be sent. Specific text, expressions, etc.
S102:编写一用于存储待发送弹幕的队列,该队列可以被其它线程(如用户编辑待发送弹幕的界面相关操作)投递弹幕,该队列自身的线程则会从队列中取出待发送弹幕来发送至服务器。该队列使用STL容器的list容器,STL容器为C++语言中的常见容器,list容器是一个链表,可以高效的从链表中进行插入弹幕以及取弹幕操作,list容器中存放弹幕的即为上述的待发送弹幕的数据结构。可以理解的是,待发送弹幕以数据结构形式存储于队列中。S102: Write a queue for storing a to-be-sending barrage, the queue can be delivered by another thread (such as an interface editing operation of the user to edit the to-be-sending barrage), and the queue's own thread is taken out from the queue to be sent. Barrage to send to the server. The queue uses the list container of the STL container. The STL container is a common container in the C++ language. The list container is a linked list, which can efficiently insert the bullet bar and the barrage operation from the linked list. The bar container stores the barrage. The data structure of the above-mentioned bullet to be sent. It can be understood that the barrage to be sent is stored in the queue in the form of a data structure.
关于队列,具体实现为:Regarding the queue, the specific implementation is:
编写一个队列的类,该类含有成员变量list<Danmu>用于存储待发送弹幕,且在Native层编写一用于将用户输入的待发送弹幕加入队列的接口,从而方便进行从队列中取出待发送弹幕或者向队列中加入待发送弹幕的操作。类具体的代码为:Write a class of a queue containing a member variable list<Danmu> for storing the to-be-sending barrage, and writing an interface for the user to input the to-be-sent bullet bar to be queued at the native layer, thereby facilitating the slave queue Take out the barrage to be sent or add the bar to be sent to the queue. The class specific code is:
Class CqueueClass Cqueue
{{
Public:Public:
Danmu*GetDanmu()Danmu*GetDanmu()
{{
Lock(m_mutex);//对互斥变量加锁,防止其他线程同时对该队列增加任务和取任务。Lock(m_mutex);//Locks the mutex variable to prevent other threads from adding tasks and tasks to the queue at the same time.
If(m_listTask.empt())If(m_listTask.empt())
{return NULL;}//如果队列中没有任务则返回的任务为空。{return NULL;}//If there are no tasks in the queue, the returned task is empty.
Danmu*pTask=m_listTask.front();//从任务队列的头部取出一个任务。Danmu*pTask=m_listTask.front();//Retrieve a task from the head of the task queue.
m_listTask.pop_front();//将头部被取出的任务从队列中删除掉。m_listTask.pop_front();// Remove the task from which the header was taken out of the queue.
}}
Void AddDanmu(Danmu*pTask)Void AddDanmu(Danmu*pTask)
{{
Lock(m_mutex);//对互斥变量加锁,防止其他线程同时对该队列增加任务。Lock(m_mutex);//Locks the mutex variable to prevent other threads from adding tasks to the queue at the same time.
S103:后续的待发送弹幕若能加入队列,则:S103: If the subsequent to-be-sent bullet is added to the queue, then:
m_listTask.push_back(pTask);//往任务队列中添加一个任务,并且加入到任务队列的最尾部。m_listTask.push_back(pTask);//Add a task to the task queue and join the end of the task queue.
}}
Private:Private:
Time m_lasttime;//定义一个上次弹幕加入队列的时刻。Time m_lasttime; / / Define a moment when the last barrage was added to the queue.
List<Danmu*>m_listTask;//定义一个list容器来存储任务Danmu。List<Danmu*>m_listTask;//Define a list container to store the task Danmu.
Mutexm_mutex;//定义一个互斥变量来保障对任务队列的操作是线程安全的,当多个线程同时对一个队列进行操作时,互斥变量保障操作按照先后顺序进行。Mutexm_mutex;//Define a mutex variable to ensure that the operation of the task queue is thread-safe. When multiple threads operate on a queue at the same time, the mutex variable guarantee operations are performed in sequential order.
}}
S104:编写一用于创建线程的函数,具体是调用Android系统的API函数CreateThread来创建,其中重要的参数是线程函数的地址,该线程函数则是这个线程整个的执行逻辑,并且定义一个线程类:S104: Write a function for creating a thread, specifically by calling the Android system API function CreateThread, wherein the important parameter is the address of the thread function, the thread function is the entire execution logic of the thread, and defines a thread class. :
Class ThreadClass Thread
{{
Private:Private:
Cqueuem_queue;Cqueuem_queue;
}}
其中线程类主要是存储一个任务队列,来标示这个线程的任务队列,从而获取到这个线程对象则可以得到这个线程的任务队列。The thread class mainly stores a task queue to mark the task queue of the thread, so that the thread object can obtain the task queue of the thread.
S105:编写具体的线程函数,此线程函数是一个循环结构,会不断的从任务队列中取出任务来执行,如果没有任务则进行休眠,直到 执行的任务是一个退出线程循环的任务则该线程的执行会被终止。具体实现如下:S105: writing a specific thread function, the thread function is a loop structure, and the task is continuously taken out from the task queue to execute, if there is no task, the sleep is performed until the task to be executed is a task that exits the thread loop, then the thread Execution will be terminated. The specific implementation is as follows:
While(True)//创建一个循环,来从任务队列中取任务执行。While(True)//Create a loop to get the task execution from the task queue.
{{
      Danmu*pTask=queue.GetDanmu();//创建一个任务队列的对象Cqueue queue;从队列中取出一个弹幕到变量pTask中Danmu*pTask=queue.GetDanmu();//Create a task queue object Cqueue queue; take a barrage from the queue to the variable pTask
If(pDanmu==NULL)//此分支标示取出的任务为空,则说明此时任务队列中没有可执行的任务。那么此时则进入休眠状态,将CPU资源让出来给其他线程使用If(pDanmu==NULL)// This branch indicates that the fetched task is empty, indicating that there are no executable tasks in the task queue at this time. Then at this point, it goes to sleep state, and the CPU resources are given out to other threads.
{{
Sleep(10);//调用系统函数休眠10毫秒Sleep(10);//call system function sleep 10 milliseconds
    }}
ElseElse
}}
在一种实施方式中,当从队列中取出待发送弹幕时,将相邻两次从队列取出待发送弹幕的时间间隔与用户的发言时间间隔比对,若小于,则丢弃,若不小于,则取出待发送弹幕发送至服务器。In an embodiment, when the barrage to be sent is taken out from the queue, the time interval between the two times to be sent from the queue to be sent to the barrage is compared with the time interval of the user's speech. If not, the discard is discarded. If it is less than, the retrieved barrage is sent to the server.
S2:直播客户端登录服务器,服务器将预设的当前直播客户端登录用户发言间隔时间数据加密后发送至直播客户端;服务器可以需要灵活的对每个用户设定发言间隔时间,如30s、10s等等,当然,对于高等级的VIP用户、高质量用户或房管则可将其发言间隔时间设定为0s,而对于频繁发送违法广告弹幕的用户,其弹幕发言间隔时间则是其它用户的多倍。S2: The live client logs in to the server. The server encrypts the preset live broadcast client login interval data and sends it to the live client. The server may need to flexibly set the interval between each user, such as 30s and 10s. Etc. Of course, for high-level VIP users, high-quality users or house management, the interval between them can be set to 0s, and for users who frequently send illegal advertisements, the interval between barrage speeches is other users. Many times.
S201:直播客户端登录服务器,直播客户端和服务器使用非对称算法均生成公钥和私钥,进一步的,每次直播客户端登陆服务器,均 会生成一对公钥和私钥,保障每次的公钥和私钥均不一样,以此来保障发言间隔时间数据传输的安全性。本发明实施例中,直播客户端和服务器的私钥使用随机数生成,然后调用RSA(公钥加密算法)生成对应的公钥。S201: The live client logs in to the server, and the live client and the server generate the public key and the private key by using an asymmetric algorithm. Further, each time the live client logs in to the server, a pair of public and private keys are generated to ensure each time. The public key and the private key are different, so as to ensure the security of the data transmission during the interval. In the embodiment of the present invention, the private key of the live client and the server is generated by using a random number, and then RSA (public key encryption algorithm) is called to generate a corresponding public key.
对于直播客户端生成的公钥和私钥:For the public and private keys generated by the live client:
1、生成随机数,相应代码为anddata=rand();即通过调用安卓系统函数rand来生成一段随机数Randdata。1, generate a random number, the corresponding code is anddata = rand (); that is, by calling the Android system function rand to generate a random number Randdata.
2、依据随机数生成Md5值做为私钥,相应代码为:2. Generate the Md5 value as a private key based on the random number. The corresponding code is:
ClientPrivatekey=Md5.Create(Randdata)ClientPrivatekey=Md5.Create(Randdata)
即通过调用Md5函数的接口Md5.Create来对随机数计算其Md5值,从而得到了私钥数据。That is, the Md5 value is calculated for the random number by calling the interface Md5.Create of the Md5 function, thereby obtaining the private key data.
3、计算公钥,相应代码为:3. Calculate the public key, the corresponding code is:
ClientPublickey=RSA.CreatePair(ClientPrivatekey);ClientPublickey=RSA.CreatePair(ClientPrivatekey);
即调用RSA的生成配对钥匙接口RSA.CreatePair来生成公钥。That is, the RSA generation pairing key interface RSA.CreatePair is called to generate the public key.
至此,完成直播客户端公钥和私钥的生成。At this point, the generation of the public key and private key of the live client is completed.
对于服务器生成的公钥和私钥:For server generated public and private keys:
1、生成随机数,相应代码为anddata=rand();即通过调用安卓系统函数rand来生成一段随机数Randdata。1, generate a random number, the corresponding code is anddata = rand (); that is, by calling the Android system function rand to generate a random number Randdata.
2、依据随机数和用户ID数生成Md5值做为私钥,相应代码为:2. Generate the Md5 value as a private key based on the random number and the number of user IDs. The corresponding code is:
ServerPrivatekey=Md5.Create(Randdata+Uid)ServerPrivatekey=Md5.Create(Randdata+Uid)
即通过调用Md5函数的接口Md5.Create来对拼接后的随机数和用户ID数一起计算Md5值,从而得到了私钥数据。That is, by calling the Md5.Create interface of the Md5 function, the Md5 value is calculated together with the spliced random number and the number of user IDs, thereby obtaining the private key data.
3、计算公钥,相应代码为:3. Calculate the public key, the corresponding code is:
ServerPublickey=RSA.CreatePair(ServerPrivatekey);ServerPublickey=RSA.CreatePair(ServerPrivatekey);
即调用RSA的生成配对钥匙接口RSA.CreatePair来生成公钥。That is, the RSA generation pairing key interface RSA.CreatePair is called to generate the public key.
至此,完成服务器公钥和私钥的生成。At this point, the generation of the server public key and private key is completed.
S202:直播客户端和服务器间交换生成的公钥,且直播客户端和服务器使用新得到的公钥和和原有的私钥生成密匙,且直播客户端和服务器生成的密匙相同。即服务器和客户端会交换各自的公钥信息,来生成一个共享的秘钥,并且客户端和服务器生成的共享秘钥是同一个值。具体的:S202: The generated public key is exchanged between the live client and the server, and the live client and the server use the newly obtained public key and the original private key to generate a key, and the key generated by the live client and the server is the same. That is, the server and the client exchange their respective public key information to generate a shared secret key, and the shared secret key generated by the client and the server is the same value. specific:
1、互换公钥。服务器将服务器的公钥ServerPublickey发送给客户端。客户端将客户端的公钥ClientPublickey发送给服务器。1. Exchange public keys. The server sends the server's public key ServerPublickey to the client. The client sends the client's public key ClientPublickey to the server.
2、客户端生成共享秘钥,相应代码为:ShareKey=RSA.CreateShareKey(ServerPublickey,ClientPrivatekey)。2. The client generates a shared secret key. The corresponding code is: ShareKey=RSA.CreateShareKey(ServerPublickey, ClientPrivatekey).
3、服务器生成共享秘钥,相应代码为:ShareKey=RSA.CreateShareKey(ClientPublickey,ServerPrivatekey)。3. The server generates a shared secret key. The corresponding code is: ShareKey=RSA.CreateShareKey(ClientPublickey, ServerPrivatekey).
至此,客户端和服务器均完成秘钥ShareKey的生成,且客户端和服务器的秘钥ShareKey相同。At this point, both the client and the server complete the generation of the key ShareKey, and the client and the server's secret Key are the same.
S203:服务器使用生成的密匙并结合DES加密算法对发送给当前直播客户端登录用户的发言间隔时间数据进行加密。直播客户端登录到服务器后,服务器便会读取该直播客户端登录用户的发言间隔时间,并使用之前得到的秘钥进行加密,从而保障数据在网络传输中的安全性,防止黑客得到用户的发言间隔时间数据而篡改该数据以绕过直播客户端对弹幕发送间隔时间的检测。服务器使用DES加密算法来对用户的发言间隔时间数据进行加密,相应代码为:S203: The server encrypts the speaking interval time data sent to the current live client login user by using the generated key and the DES encryption algorithm. After the live client logs in to the server, the server reads the interval between the users logging in to the live client and encrypts the key obtained before, so as to ensure the security of the data in the network transmission and prevent the hacker from getting the user. The interval data is spoken and the data is tampered to bypass the detection of the barrage transmission interval by the live client. The server uses the DES encryption algorithm to encrypt the user's speaking interval data. The corresponding code is:
encryptData=DES.encrypt(“time”,ShareKey);encryptData=DES.encrypt("time",ShareKey);
其中,DES.encrypt则是加密算法DES的加密接口;参数“time”是用户的发言间隔时间;参数ShareKey是之前步骤生成的共享密钥;返回值encryptData则是生成的加密后的结果。加密后的发言间隔时间数据通过网络发送至直播客户端。DES.encrypt is the encryption interface of the encryption algorithm DES; the parameter "time" is the interval of the user's speech; the parameter ShareKey is the shared key generated by the previous step; the return value encryptData is the generated encrypted result. The encrypted speech interval time data is sent to the live client through the network.
S204:直播客户端使用全局变量保存服务器发送的加密后的发言 间隔时间数据,暂时先不对该数据进行解密,直播客户端使用全局变量保护服务器下发的加密encryptData,保障数据在内存中的安全性。使用全局变量保存encryptData的代码为:G_encryptData=encryptData。S204: The live broadcast client uses the global variable to save the encrypted interleave time data sent by the server, and does not decrypt the data for the time being. The live client uses the global variable to protect the encrypted encryptData sent by the server to ensure the security of the data in the memory. . The code to save encryptData using global variables is: G_encryptData=encryptData.
在一种实施方式中,服务器对于下发给直播客户端的发言间隔时间数据的加密,服务器使用生成的密匙和上条成功发送弹幕的发送时间一起计算得到MD5值,并将该MD5值作为DES加密算法的key值对当前直播客户端登录用户的发言间隔时间数据进行加密,后续的直播服务器则对应使用算法对加密的发言间隔时间数据进行解密。具体的:In an implementation manner, the server encrypts the interval data of the speech sent to the live client, and the server calculates the MD5 value by using the generated key and the sending time of the successfully transmitted barrage, and uses the MD5 value as the MD5 value. The key value of the DES encryption algorithm encrypts the interval data of the current live client login user, and the subsequent live server uses the algorithm to decrypt the encrypted speech interval data. specific:
key=Md5.Create(time2+ShareKey)Key=Md5.Create(time2+ShareKey)
G_encryptData=DES.encrypt(time,key)G_encryptData=DES.encrypt(time,key)
使用计算得到的sharekey和上条弹幕成功发送的时间一起计算得到其MD5值,并使用此md5值作为加密时的key值,保证每次加密值总在变化,进一步提高被黑客破解的门槛。Use the calculated sharekey and the time of the successful transmission of the barrage to calculate the MD5 value, and use the md5 value as the key value during encryption to ensure that the encryption value is always changing every time, further improving the threshold of being hacked.
S3:直播客户端解密发言间隔时间数据,具体的,直播客户端获取保存发言间隔时间数据的全局变量,同时使用生成的密匙并结合DES加密算法对加密的发言间隔时间数据解密,得到发言间隔时间,解密代码为Time=DES.decrypt(G_encryptData,ShareKey);S3: The live client decrypts the interval data of the speaking interval. Specifically, the live client obtains the global variable for saving the interval data of the speaking interval, and simultaneously decrypts the encrypted interval data by using the generated key and the DES encryption algorithm to obtain the speaking interval. Time, the decryption code is Time=DES.decrypt(G_encryptData,ShareKey);
然后计算当前待发送弹幕和该用户上条成功发送弹幕间的时间间隔,并与解密得到的发言间隔时间比对,若小于,则丢弃当前待发送弹幕,若不小于,则将当前待发送弹幕加入队列。Then, the time interval between the current to-be-transmitted barrage and the user's last successful transmission of the barrage is calculated, and compared with the interval of the speeches obtained by the decryption. If it is less than, the current to-be-sending barrage is discarded. If not less, the current The barrage to be sent is added to the queue.
用户经服务器成功向所有直播客户端发送一条弹幕,服务器便会记录该条弹幕成功发送的时间并通知所有直播客户端,因此当用户在直播客户端中编辑完待发送弹幕并点击发送按钮使该条待发送弹幕准备加入队列,此时将按条待发送弹幕预加入队列的时间与该用户上 条已成功发送的弹幕的发送时间进行计算,得出时间间隔,例如预加入队列的待发送弹幕时间为time2,上条已成功发送的弹幕的发送时间为time1,则两者间的时间间隔为time2-time1=elapse,然后与解密得到的发言间隔时间比对,若小于,则丢弃当前待发送弹幕,并提示用户存在发言间隔限制,若不小于,则将当前待发送弹幕加入队列。After the user successfully sends a barrage to all live clients via the server, the server will record the time when the barrage was successfully sent and notify all live clients, so when the user edits the barrage to be sent in the live client and clicks to send The button is used to add the bar to be sent to the queue. At this time, the time when the bar to be sent to the queue is sent and the time when the user has successfully sent the barrage is calculated, and the time interval is obtained, for example, The time to send the barrage to the queue is time2, and the time of sending the barrage successfully sent is time1, then the time interval between the two is time2-time1=elapse, and then the time interval between the speeches obtained by the decryption is compared. If the value is less than, the current to-be-sending barrage is discarded, and the user is prompted to have a speaking interval limit. If not, the current to-be-sending barrage is added to the queue.
在待发送弹幕预加入队列时对待发送弹幕时间是否满足该用户的发言间隔时间进行判断,由于JAVA层开发的代码容易被黑客所逆向,所以本文将核心发言间隔判断功能移到Native层,使用C、c++语言开发更为安全,为了让运行在JVM(Java Virtual Machine,Java虚拟机)中的Java代码和运行在JVM外的Native代码(主要是C或者C++)能够与Native层沟通,代码编写者即可以使用JNI(Java Native Interface,Java本地接口)从Java的程序中调用Native代码,又可以从Native程序中调用Java代码,这样,编程人员可以将低阶的代码逻辑包装到高阶的程序框架中,在获得高性能高效率的同时保证了代码框架的高抽象性,并且将网络发送弹幕功能也移到到Native层,本文通过设计网络层的队列,来存储客户端发送的弹幕,并且在网络层对弹幕的发送间隔进行判断,保证了直播客户端对用户弹幕发言间隔时间判断的准确性。When the to-be-sending barrage is pre-joined to the queue, it is judged whether the time of sending the barrage time satisfies the speaking interval of the user. Since the code developed by the JAVA layer is easily reversed by the hacker, the core speech interval judging function is moved to the native layer. It is safer to use C and C++ language development, in order to allow Java code running in JVM (Java Virtual Machine) and Native code (mainly C or C++) running outside JVM to communicate with Native layer. Writers can use JNI (Java Native Interface) to call Native code from Java programs, and Java code from Native programs, so that programmers can package low-level code logic to higher-order ones. In the program framework, while achieving high performance and high efficiency, the high abstraction of the code framework is ensured, and the network transmission barrage function is also moved to the Native layer. This paper designs the network layer queue to store the bombs sent by the client. Screen, and judge the transmission interval of the barrage at the network layer, ensuring the interval between the live client and the user's barrage Between the accuracy of the judgment.
S4:依次从队列中取出待发送弹幕发送至服务器,服务器计算接收的待发送弹幕和该用户上条成功发送弹幕间时间间隔并与预设时间间隔比对,服务器对弹幕发送时间再次进行检测,若小于,则丢弃待发送弹幕,若不小于,则发送待发送弹幕至所有直播客户端,完成待发送弹幕的成功发送。S4: sequentially sending out the to-be-sent bullets from the queue and sending them to the server, and the server calculates the time interval between the received salvage screen and the user successfully sending the bullets and compares them with the preset time interval, and the server sends the time to the barrage. The detection is performed again. If it is less than, the to-be-sending barrage is discarded. If it is not less than, the to-be-sending barrage is sent to all live clients to complete the successful transmission of the to-be-sending barrage.
直播客户端使用待发送弹幕预加入队列的时间与用户上条成功发送弹幕的发送时间计算时间间隔;服务器使用接收到的待发送弹幕 的预加入队列时间与用户上条成功发送弹幕的发送时间计算时间间隔。The live broadcast client uses the time when the to-be-sending barrage is pre-joined to the queue and the time interval for the user to send the barrage successfully. The server uses the pre-join queue time of the received barrage to be sent and the user successfully sends the barrage. The transmission time is calculated by the time interval.
本发明的弹幕发言时间控制方法,创建一用于存储待发送弹幕的队列,当直播客户端登录服务器后,服务器将当前用户的发言间隔时间数据加密后发送至直播客户端,使得直播客户端用户在发送待发送弹幕时,基于获取的发言间隔时间判断当前待发送弹幕是否满足发言间隔时间,若不满足则丢弃,且满足的待发送弹幕发送至服务器后,服务器还会再次进行判断,满足则才会发送至所有直播客户端,实现对用户待发送的每一条弹幕的时间间隔进行精确控制,减轻服务器的计算资源压力,且节约直播平台的带宽资源消耗,减少非法弹幕的产生,保证用户对直播的正常观看,以及在一定程度上减轻直播平台的带宽消耗损失。The barrage speaking time control method of the present invention creates a queue for storing the barrage to be sent. After the live client logs in to the server, the server encrypts the current user's speech interval time data and sends it to the live client, so that the live client When the end user sends the to-be-sending barrage, it determines whether the current to-be-sending barrage meets the interval of the speech interval based on the obtained interleave interval. If it is not satisfied, the end user discards, and the satisfied to-be-sending barrage is sent to the server, and the server will again If the judgment is made, it will be sent to all live broadcast clients to accurately control the time interval of each barrage to be sent by the user, reduce the computing resource pressure of the server, and save bandwidth resource consumption of the live broadcast platform and reduce illegal bombs. The generation of the screen ensures the normal viewing of the live broadcast by the user and the loss of bandwidth consumption of the live broadcast platform to a certain extent.
另外,对应上述弹幕发言时间控制方法,本发明还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述各实施例所述的弹幕发言时间控制方法的步骤。需要说明的是,所述存储介质包括U盘、移动硬盘、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、磁碟或者光盘等各种可以存储程序代码的介质。In addition, in accordance with the above-described barrage speaking time control method, the present invention further provides a storage medium on which a computer program is stored, and when the computer program is executed by the processor, the barrage speaking time control method described in the above embodiments is implemented. step. It should be noted that the storage medium includes a U disk, a mobile hard disk, a ROM (Read-Only Memory), a RAM (Random Access Memory), a disk or an optical disk, and the like. The medium of the code.
参见图2所示,对应上述弹幕发言时间控制方法,本发明还提供一种事电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,处理器执行计算机程序时实现上述各实施例的弹幕发言时间控制方法。Referring to FIG. 2, in accordance with the above-described barrage speaking time control method, the present invention further provides an electronic device including a memory and a processor, wherein the memory stores a computer program running on the processor, and when the processor executes the computer program, The barrage speaking time control method of each of the above embodiments is implemented.
本发明还提供一种基于上述弹幕发言时间控制方法的弹幕发言时间控制系统,包括创建模块、数据发送模块、判断模块和弹幕发送执行模块。The invention also provides a barrage speaking time control system based on the above-mentioned barrage speaking time control method, which comprises a creating module, a data sending module, a judging module and a barrage sending and executing module.
创建模块用于在Android系统Native层使用C++语言创建一用于存储待发送弹幕的队列;数据发送模块用于当直播客户端登录服务器,服务器将预设的当前直播客户端登录用户发言间隔时间数据加密后发送至直播客户端;判断模块用于使直播客户端解密发言间隔时间数据,并计算当前待发送弹幕和该用户上条成功发送弹幕间的时间间隔,并与解密得到的发言间隔时间比对,若小于,则丢弃当前待发送弹幕,若不小于,则将当前待发送弹幕加入队列;弹幕发送执行模块用于依次从队列中取出待发送弹幕发送至服务器,服务器计算接收的待发送弹幕和该用户上条成功发送弹幕间时间间隔并与预设时间间隔比对,若小于,则丢弃待发送弹幕,若不小于,则发送待发送弹幕至所有直播客户端,完成待发送弹幕的成功发送。The creation module is used to create a queue for storing the to-be-sending barrage in the native layer of the Android system using the C++ language; the data sending module is used to log in to the server when the live client logs in, and the server will preset the interval of the current live client login user to speak. The data is encrypted and sent to the live client; the judging module is configured to enable the live client to decrypt the interleave time data, and calculate the time interval between the current to-be-transmitted barrage and the user's last successful transmission of the barrage, and the speech obtained by decryption Interval time comparison, if it is less than, the current to-be-sending barrage is discarded. If it is not less than, the current to-be-sending barrage is added to the queue; the barrage sending execution module is used to sequentially retrieve the to-be-sent of the barrage from the queue and send it to the server. The server calculates the time interval between the received to-be-transmitted barrage and the user's last successful transmission of the barrage and compares it with the preset time interval. If it is less than, it discards the to-be-transmitted barrage. If it is not less than, it sends the to-be-send barrage to All live broadcast clients complete the successful sending of the to-be-sending barrage.
创建模块还用于在Native层编写一用于将用户输入的待发送弹幕加入队列的接口;对于存储于队列中的待发送弹幕,每条待发送弹幕均包含有用于标示该待发送弹幕加入队列时间的成员变量。判断模块使用待发送弹幕预加入队列的时间与用户上条成功发送弹幕的发送时间计算时间间隔;弹幕发送执行模块使用接收到的待发送弹幕的预加入队列时间与用户上条成功发送弹幕的发送时间计算时间间隔。The creation module is further configured to write an interface for adding the user-entered to-be-transmitted bulletscreen to the queue at the Native layer; for the to-be-transmitted bullet-screen to be sent in the queue, each of the to-be-sent bullets is included to indicate the to-be-sent The barrage is added to the member variable of the queue time. The judging module calculates the time interval between the time when the barrage is to be sent to the queue and the sending time of the user successfully sending the barrage; the barrage sending execution module uses the pre-joining queue time of the received barrage to be sent and the user is successfully posted. Send the time of transmission of the barrage calculation interval.
本发明实施例的弹幕发言时间控制系统,当直播客户端登录服务器后,数据发送模块使服务器将当前用户的发言间隔时间数据加密后发送至直播客户端,使得直播客户端用户在发送待发送弹幕时,基于获取的发言间隔时间判断当前待发送弹幕是否满足发言间隔时间,若不满足则丢弃,且满足的待发送弹幕发送至服务器后,服务器还会再次进行判断,满足则才会通过弹幕发送执行模块发送至弹幕所有直播客户端,实现对用户待发送的每一条弹幕的时间间隔进行精确控制,减轻服务器的计算资源压力,且节约直播平台的带宽资源消耗,减少 非法弹幕的产生,保证用户对直播的正常观看,以及在一定程度上减轻直播平台的带宽消耗损失。In the barrage speaking time control system of the embodiment of the present invention, after the live client logs in to the server, the data sending module causes the server to encrypt the current interval time data of the current user and send the data to the live client, so that the live client user is sent to be sent. When the barrage is performed, it is judged whether the current to-be-transmitted barrage meets the interval of the speech interval based on the obtained interval of the speech. If it is not satisfied, the discard is discarded, and the satisfied barrage to be sent is sent to the server, and the server will judge again. It will be sent to all live broadcast clients of the barrage through the barrage sending execution module, which can accurately control the time interval of each barrage to be sent by the user, reduce the computing resource pressure of the server, and save the bandwidth resource consumption of the live broadcast platform and reduce The production of illegal barrage ensures the normal viewing of the live broadcast by the user and the loss of bandwidth consumption of the live broadcast platform to a certain extent.
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。The present invention is not limited to the above embodiments, and those skilled in the art can also make several improvements and retouchings without departing from the principles of the present invention. These improvements and retouchings are also considered as protection of the present invention. Within the scope. The contents not described in detail in the present specification belong to the prior art well known to those skilled in the art.

Claims (10)

  1. 一种弹幕发言时间控制方法,适用于Android系统端运行的直播客户端,其特征在于,包括:A barrage speaking time control method is applicable to a live broadcast client running on an Android system, and is characterized in that:
    创建一用于存储待发送弹幕的队列;Create a queue for storing the barrage to be sent;
    直播客户端登录服务器,服务器将预设的当前直播客户端登录用户发言间隔时间数据加密后发送至直播客户端;The live client logs in to the server, and the server encrypts the preset live broadcast client login interval data and sends it to the live client.
    直播客户端解密发言间隔时间数据,并计算当前待发送弹幕和该用户上条成功发送弹幕间的时间间隔,并与解密得到的发言间隔时间比对,若小于,则丢弃当前待发送弹幕,若不小于,则将当前待发送弹幕加入队列;The live client decrypts the interval data of the speech, and calculates the time interval between the current to-be-transmitted barrage and the successful transmission of the barrage of the user, and compares with the interval of the speech obtained by the decryption. If it is smaller, the current to-be-transmitted bomb is discarded. If the screen is not less than, the current to-be-sending barrage is added to the queue;
    依次从队列中取出待发送弹幕发送至服务器,服务器计算接收的待发送弹幕和该用户上条成功发送弹幕间时间间隔并与预设时间间隔比对,若小于,则丢弃待发送弹幕,若不小于,则发送待发送弹幕至所有直播客户端,完成待发送弹幕的成功发送。The slave to be sent from the queue is sent to the server in turn, and the server calculates the time interval between the received salvage screen and the user successfully transmitting the bullet screen and compares it with the preset time interval. If it is less than, the device is discarded. If the screen is not less than, send the to-be-sent bullet to all live clients to complete the successful transmission of the to-be-sending barrage.
  2. 如权利要求1所述的一种弹幕发言时间控制方法,其特征在于:A barr speaking time control method according to claim 1, wherein:
    在Android系统Native层使用C++语言创建一用于存储待发送弹幕的队列;Create a queue for storing the to-be-sending barrage in the native layer of the Android system using the C++ language;
    在Native层编写一用于将用户输入的待发送弹幕加入队列的接口;Writing an interface for adding a user-entered blank to be sent to the queue at the Native layer;
    对于存储于队列中的待发送弹幕,每条待发送弹幕均包含有用于标示该待发送弹幕加入队列时间的成员变量;For the to-be-transmitted bullets stored in the queue, each of the to-be-sending bullets includes a member variable for indicating the time when the salvage to be sent is added to the queue;
    直播客户端使用待发送弹幕加入预队列的时间与用户上条成功发送弹幕的发送时间计算时间间隔;The time interval between the time when the live broadcast client joins the pre-queue using the to-be-sending barrage and the sending time of the user successfully sending the barrage is calculated;
    服务器使用接收到的待发送弹幕的预加入队列时间与用户上条 成功发送弹幕的发送时间计算时间间隔。The server calculates the time interval between the pre-join queue time of the received to-be-sending barrage and the transmission time of the user's last successful transmission of the barrage.
  3. 如权利要求1所述的一种弹幕发言时间控制方法,其特征在于:A barr speaking time control method according to claim 1, wherein:
    直播客户端登录服务器,直播客户端和服务器使用非对称算法均生成公钥和私钥;The live client logs in to the server, and the live client and the server generate the public and private keys using asymmetric algorithms.
    直播客户端和服务器间交换生成的公钥,且直播客户端和服务器使用新得到的公钥和和原有的私钥生成密匙,且直播客户端和服务器生成的密匙相同。The generated public key is exchanged between the live client and the server, and the live client and the server use the newly obtained public key and the original private key to generate a key, and the key generated by the live client and the server is the same.
  4. 如权利要求3所述的一种弹幕发言时间控制方法,其特征在于:A barr speaking time control method according to claim 3, wherein:
    服务器使用生成的密匙并结合DES加密算法对发送给当前直播客户端登录用户的发言间隔时间数据进行加密;The server encrypts the speaking interval data sent to the current live client login user by using the generated key and the DES encryption algorithm;
    直播客户端使用全局变量保存服务器发送的发言间隔时间数据;The live broadcast client uses global variables to save the interval data of the speech sent by the server;
    直播客户端获取保存发言间隔时间数据的全局变量,同时使用生成的密匙并结合DES加密算法对加密的发言间隔时间数据解密,得到发言间隔时间。The live client obtains the global variable for saving the interval data of the utterance, and uses the generated key and the DES encryption algorithm to decrypt the encrypted interval time data to obtain the utterance interval.
  5. 如权利要求3所述的一种弹幕发言时间控制方法,其特征在于:A barr speaking time control method according to claim 3, wherein:
    服务器使用生成的密匙和上条成功发送弹幕的发送时间一起计算得到MD5值,并将该MD5值作为DES加密算法的key值对当前直播客户端登录用户的发言间隔时间数据进行加密。The server uses the generated key to calculate the MD5 value together with the sending time of the successfully transmitted barrage, and uses the MD5 value as the key value of the DES encryption algorithm to encrypt the floor interval data of the current live client login user.
  6. 一种存储介质,该存储介质上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至5任一项所述的方法。A storage medium having stored thereon a computer program, wherein the computer program is executed by a processor to implement the method of any one of claims 1 to 5.
  7. 一种电子设备,包括存储器和处理器,存储器上储存有在处 理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时实现权利要求1至5任一项所述的方法。An electronic device comprising a memory and a processor, the memory having stored thereon a computer program running on the processor, wherein the processor executes the computer program to implement the method of any one of claims 1 to method.
  8. 一种弹幕发言时间控制系统,其特征在于,包括:A barrage speaking time control system, comprising:
    创建模块,其用于在Android系统Native层使用C++语言创建一用于存储待发送弹幕的队列;Creating a module for creating a queue for storing a to-be-sending barrage using the C++ language in the native layer of the Android system;
    数据发送模块,其用于当直播客户端登录服务器,服务器将预设的当前直播客户端登录用户发言间隔时间数据加密后发送至直播客户端;a data sending module, configured to: when the live client logs in to the server, the server encrypts the preset current live client login user interval interval data and sends the data to the live client;
    判断模块,其用于使直播客户端解密发言间隔时间数据,并计算当前待发送弹幕和该用户上条成功发送弹幕间的时间间隔,并与解密得到的发言间隔时间比对,若小于,则丢弃当前待发送弹幕,若不小于,则将当前待发送弹幕加入队列;a judging module, configured to enable the live client to decrypt the interleave time data, and calculate a time interval between the current to-be-transmitted barrage and the user's last successful transmission of the barrage, and compare with the interleave time obtained by the decryption, if less than , the current to-be-sending barrage is discarded, and if not less than, the current to-be-sending barrage is added to the queue;
    弹幕发送执行模块,其用于依次从队列中取出待发送弹幕发送至服务器,服务器计算接收的待发送弹幕和该用户上条成功发送弹幕间时间间隔并与预设时间间隔比对,若小于,则丢弃待发送弹幕,若不小于,则发送待发送弹幕至所有直播客户端,完成待发送弹幕的成功发送。The barrage sending execution module is configured to sequentially send the to-be-transmitted barrage from the queue and send it to the server, and the server calculates the time interval between the received to-be-transmitted barrage and the user's last successful transmission of the barrage and compares with the preset time interval. If the value is less than, the to-be-sending barrage is discarded. If it is not less than, the to-be-sending barrage is sent to all live broadcast clients to complete the successful transmission of the to-be-sending barrage.
  9. 如权利要求8所述的一种弹幕发言时间控制系统,其特征在于:所述创建模块还用于在Native层编写一用于将用户输入的待发送弹幕加入队列的接口;对于存储于队列中的待发送弹幕,每条待发送弹幕均包含有用于标示该待发送弹幕加入队列时间的成员变量。A barrage speaking time control system according to claim 8, wherein the creating module is further configured to write an interface for adding a user-entered barrage to be sent to the queue at the Native layer; The to-be-sending barrage in the queue, each bar-to-send barrage includes a member variable for indicating the time when the barrage to be sent is queued.
  10. 如权利要求9所述的一种弹幕发言时间控制系统,其特征在于:所述判断模块使用待发送弹幕预加入队列的时间与用户上条成功发送弹幕的发送时间计算时间间隔;所述弹幕发送执行模块使用接收到的待发送弹幕的预加入队列时间与用户上条成功发送弹幕的发送 时间计算时间间隔。The barrage speaking time control system according to claim 9, wherein the judging module calculates the time interval between the time when the barrage to be sent is pre-joined into the queue and the sending time of the user successfully sending the barrage; The barrage sending execution module uses the received pre-join queue time of the to-be-transmitted barrage to calculate the time interval between the sending time of the user successfully sending the barrage.
PCT/CN2018/081283 2018-01-09 2018-03-30 Bullet screen posting time control method and system, and storage medium and electronic device WO2019136840A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810029398.XA CN108307244B (en) 2018-01-09 2018-01-09 Bullet screen speaking time control method, storage medium, electronic device and system
CN201810029398.X 2018-01-09

Publications (1)

Publication Number Publication Date
WO2019136840A1 true WO2019136840A1 (en) 2019-07-18

Family

ID=62868690

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/081283 WO2019136840A1 (en) 2018-01-09 2018-03-30 Bullet screen posting time control method and system, and storage medium and electronic device

Country Status (2)

Country Link
CN (1) CN108307244B (en)
WO (1) WO2019136840A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109788345B (en) * 2019-03-29 2020-03-10 广州虎牙信息科技有限公司 Live broadcast control method and device, live broadcast equipment and readable storage medium
CN115442635A (en) * 2021-06-04 2022-12-06 武汉斗鱼鱼乐网络科技有限公司 Method, device, equipment and storage medium for cross-platform security filtration of bullet screen
CN115412767B (en) * 2022-05-16 2023-10-27 北京大学 Method and system for extracting and visualizing user watching behaviors based on video barrage

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1737754A (en) * 2004-08-20 2006-02-22 年代电通股份有限公司 Instantaneous interdynamic image and sound managing system
EP2410758A2 (en) * 2010-07-23 2012-01-25 Funai Electric Co., Ltd. Image Apparatus
JP5867230B2 (en) * 2012-03-28 2016-02-24 富士通株式会社 Information providing method, information providing program, and information providing apparatus
US20160057092A1 (en) * 2014-08-20 2016-02-25 Google Inc. Event-Based Comment Grouping for Content Items
CN105491458A (en) * 2015-11-27 2016-04-13 武汉斗鱼网络科技有限公司 Optimization method for speaking time of barrage in live website
CN105872709A (en) * 2016-03-30 2016-08-17 乐视控股(北京)有限公司 Display method and device of bullet screen information
CN107071506A (en) * 2017-03-17 2017-08-18 武汉斗鱼网络科技有限公司 A kind of method and system for pushing barrage
CN107371056A (en) * 2017-07-18 2017-11-21 北京蜜莱坞网络科技有限公司 A kind of method and apparatus for loading barrage

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3982459B2 (en) * 2003-06-06 2007-09-26 日本電信電話株式会社 Content-linked comment display method, comment display system, server device, comment display device, and comment display program
US7657037B2 (en) * 2004-09-20 2010-02-02 Pgp Corporation Apparatus and method for identity-based encryption within a conventional public-key infrastructure
US7860247B2 (en) * 2004-11-12 2010-12-28 Dublin City University Identity based encryption
CN1929371B (en) * 2005-09-05 2010-09-08 华为技术有限公司 Method for negotiating key share between user and peripheral apparatus
CN101047945B (en) * 2006-03-28 2012-05-30 华为技术有限公司 Mobile communication system and customer temporary identity distribution method
CN101459506B (en) * 2007-12-14 2011-09-14 华为技术有限公司 Cipher key negotiation method, system, customer terminal and server for cipher key negotiation
US9015778B2 (en) * 2008-06-25 2015-04-21 AT&T Intellectual Property I. LP Apparatus and method for media on demand commentaries
US8266652B2 (en) * 2009-10-15 2012-09-11 At&T Intellectual Property I, L.P. Apparatus and method for transmitting media content
KR20110088235A (en) * 2010-01-28 2011-08-03 삼성전자주식회사 Text display method and apparatus
CN104967896A (en) * 2014-08-04 2015-10-07 腾讯科技(北京)有限公司 Method for displaying bulletscreen comment information, and apparatus thereof
CN104618813B (en) * 2015-01-20 2018-02-13 腾讯科技(北京)有限公司 Barrage information processing method, client and service platform
CN105516820A (en) * 2015-12-10 2016-04-20 腾讯科技(深圳)有限公司 Barrage interaction method and device
CN105451087B (en) * 2015-12-14 2019-04-16 广州弹幕网络科技有限公司 Method for pushing, terminal, historic data server and the system of barrage information
CN106131696B (en) * 2016-06-20 2019-03-05 武汉斗鱼网络科技有限公司 A kind of barrage sending control method and device
CN105939485B (en) * 2016-06-27 2018-11-06 武汉斗鱼网络科技有限公司 System and method based on user's barrage behavior monitoring barrage service availability
CN107423130B (en) * 2017-03-23 2019-11-15 武汉斗鱼网络科技有限公司 The display systems and method of mobile terminal broadcast and advertisement
CN107508673A (en) * 2017-09-11 2017-12-22 金蝶软件(中国)有限公司 The method and relevant apparatus that key obtains between ERP and third party's component

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1737754A (en) * 2004-08-20 2006-02-22 年代电通股份有限公司 Instantaneous interdynamic image and sound managing system
EP2410758A2 (en) * 2010-07-23 2012-01-25 Funai Electric Co., Ltd. Image Apparatus
JP5867230B2 (en) * 2012-03-28 2016-02-24 富士通株式会社 Information providing method, information providing program, and information providing apparatus
US20160057092A1 (en) * 2014-08-20 2016-02-25 Google Inc. Event-Based Comment Grouping for Content Items
CN105491458A (en) * 2015-11-27 2016-04-13 武汉斗鱼网络科技有限公司 Optimization method for speaking time of barrage in live website
CN105872709A (en) * 2016-03-30 2016-08-17 乐视控股(北京)有限公司 Display method and device of bullet screen information
CN107071506A (en) * 2017-03-17 2017-08-18 武汉斗鱼网络科技有限公司 A kind of method and system for pushing barrage
CN107371056A (en) * 2017-07-18 2017-11-21 北京蜜莱坞网络科技有限公司 A kind of method and apparatus for loading barrage

Also Published As

Publication number Publication date
CN108307244A (en) 2018-07-20
CN108307244B (en) 2020-06-16

Similar Documents

Publication Publication Date Title
CN111460453B (en) Machine learning training method, controller, device, server, terminal and medium
CN110580414B (en) Private data query method and device based on block chain account
CN110580418B (en) Private data query method and device based on block chain account
CN110580262B (en) Private data query method and device based on intelligent contract
CN110245506B (en) Intelligent contract management method and device based on block chain and electronic equipment
WO2019218717A1 (en) Distributed storage method and apparatus, computer device, and storage medium
US20210328773A1 (en) Trusted startup methods and apparatuses of blockchain integrated station
US9032219B2 (en) Securing speech recognition data
CN110689349B (en) Transaction hash value storage and searching method and device in blockchain
US11616636B2 (en) Hash updating methods and apparatuses of blockchain integrated station
CN110580417B (en) Private data query method and device based on intelligent contract
Selvakumar et al. PDDS-Improving cloud data storage security using data partitioning technique
CN110245942B (en) Receipt storage method and node combining user type and judgment condition
CN110492990A (en) Private key management method, apparatus and system under block chain scene
CN110580411B (en) Permission query configuration method and device based on intelligent contract
WO2019136840A1 (en) Bullet screen posting time control method and system, and storage medium and electronic device
US9391771B2 (en) Server-client secret generation with cached data
WO2023046207A1 (en) Data transmission method and apparatus, and non-volatile computer-readable storage medium
CN110598416B (en) Transaction scheduling method and device
CN113157635A (en) Method and device for realizing efficient contract calling on FPGA (field programmable Gate array)
CA3197033A1 (en) Autonomous cryptographic and blockchain actor in a browser execution context
CN110390516B (en) Method, apparatus and computer storage medium for data processing
CN112350920A (en) Instant communication system based on block chain
CN113014956A (en) Video playing method and device
WO2019136846A1 (en) Bullet screen sending interval control method, storage medium, electronic device, and system

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: 18900103

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: 18900103

Country of ref document: EP

Kind code of ref document: A1