CN108307244B - 弹幕发言时间控制方法、存储介质、电子设备及系统 - Google Patents

弹幕发言时间控制方法、存储介质、电子设备及系统 Download PDF

Info

Publication number
CN108307244B
CN108307244B CN201810029398.XA CN201810029398A CN108307244B CN 108307244 B CN108307244 B CN 108307244B CN 201810029398 A CN201810029398 A CN 201810029398A CN 108307244 B CN108307244 B CN 108307244B
Authority
CN
China
Prior art keywords
sent
time
bullet screen
interval
bullet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810029398.XA
Other languages
English (en)
Other versions
CN108307244A (zh
Inventor
周志刚
张文明
陈少杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network Technology Co Ltd
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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201810029398.XA priority Critical patent/CN108307244B/zh
Priority to PCT/CN2018/081283 priority patent/WO2019136840A1/zh
Publication of CN108307244A publication Critical patent/CN108307244A/zh
Application granted granted Critical
Publication of CN108307244B publication Critical patent/CN108307244B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

Abstract

本发明公开了一种弹幕发言时间控制方法、存储介质、电子设备及系统,涉及移动互联应用领域,该方法包括在Android系统Native层使用C++语言创建一用于存储待发送弹幕的队列;直播客户端登录服务器,服务器将预设的当前直播客户端登录用户发言间隔时间数据加密后发送至直播客户端;直播客户端解密发言间隔时间数据,并计算当前待发送弹幕和该用户上条成功发送弹幕间的时间间隔,并与解密得到的发言间隔时间比对;依次从队列中取出待发送弹幕发送至服务器,服务器计算接收的待发送弹幕和该用户上条成功发送弹幕间时间间隔并与预设时间间隔比对。本发明能够有效对用户的发言间隔时间进行限制。

Description

弹幕发言时间控制方法、存储介质、电子设备及系统
技术领域
本发明涉及移动互联应用领域,具体涉及一种弹幕发言时间控制方法、存储介质、电子设备及系统。
背景技术
当前,随着移动端互联网的发展,直播也越来越受到大众的喜爱,直播时观众在直播间发送的弹幕更是加强了主播与观众之间的互动,因而越来越多的观众通过发送弹幕来参与直播,加强与主播间的互动和交流。
然而存在一些观众通过频繁的发送广告弹幕,或者恶意低俗弹幕,降低整个直播平台的弹幕质量,同时也存在一些黑客使用非法手段发送大量弹幕信息对主播平台进行恶意攻击,使直播平台服务器因压力过大而雪崩,影响观众对直播的正常观看或对直播平台造成损失。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种弹幕发言时间控制方法,本发明能够有效对用户的发言间隔时间进行限制。
为达到以上目的,本发明采取的技术方案是,包括:
创建一用于存储待发送弹幕的队列;
直播客户端登录服务器,服务器将预设的当前直播客户端登录用户发言间隔时间数据加密后发送至直播客户端;
直播客户端解密发言间隔时间数据,并计算当前待发送弹幕和该用户上条成功发送弹幕间的时间间隔,并与解密得到的发言间隔时间比对,若小于,则丢弃当前待发送弹幕,若不小于,则将当前待发送弹幕加入队列;
依次从队列中取出待发送弹幕发送至服务器,服务器计算接收的待发送弹幕和该用户上条成功发送弹幕间时间间隔并与预设时间间隔比对,若小于,则丢弃待发送弹幕,若不小于,则发送待发送弹幕至所有直播客户端,完成待发送弹幕的成功发送。
在上述技术方案的基础上,
在Android系统Native层使用C++语言创建一用于存储待发送弹幕的队列;
在Native层编写一用于将用户输入的待发送弹幕加入队列的接口;
对于存储于队列中的待发送弹幕,每条待发送弹幕均包含有用于标示该待发送弹幕加入队列时间的成员变量;
直播客户端使用待发送弹幕加入队列的时间与用户上条成功发送弹幕的发送时间计算时间间隔;
服务器使用接收到的待发送弹幕的加入队列时间与用户上条成功发送弹幕的发送时间计算时间间隔。
在上述技术方案的基础上,直播客户端登录服务器,直播客户端和服务器使用非对称算法均生成公钥和私钥;
直播客户端和服务器间交换生成的公钥,且直播客户端和服务器使用新得到的公钥和和原有的私钥生成密匙,且直播客户端和服务器生成的密匙相同。
在上述技术方案的基础上,服务器使用生成的密匙并结合DES加密算法对发送给当前直播客户端登录用户的发言间隔时间数据进行加密;
直播客户端使用全局变量保存服务器发送的发言间隔时间数据;
直播客户端获取保存发言间隔时间数据的全局变量,同时使用生成的密匙并结合DES加密算法对加密的发言间隔时间数据解密,得到发言间隔时间。
在上述技术方案的基础上,服务器使用生成的密匙和上条成功发送弹幕的发送时间一起计算得到MD5值,并将该MD5值作为DES加密算法的key值对当前直播客户端登录用户的发言间隔时间数据进行加密。
本发明还提供一种存储介质,该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的方法。
本发明还提供一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述的方法。
本发明还提供一种弹幕发言时间控制系统,包括:
创建模块,其用于在Android系统Native层使用C++语言创建一用于存储待发送弹幕的队列;
数据发送模块,其用于当直播客户端登录服务器,服务器将预设的当前直播客户端登录用户发言间隔时间数据加密后发送至直播客户端;
判断模块,其用于使直播客户端解密发言间隔时间数据,并计算当前待发送弹幕和该用户上条成功发送弹幕间的时间间隔,并与解密得到的发言间隔时间比对,若小于,则丢弃当前待发送弹幕,若不小于,则将当前待发送弹幕加入队列;
弹幕发送执行模块,其用于依次从队列中取出待发送弹幕发送至服务器,服务器计算接收的待发送弹幕和该用户上条成功发送弹幕间时间间隔并与预设时间间隔比对,若小于,则丢弃待发送弹幕,若不小于,则发送待发送弹幕至所有直播客户端,完成待发送弹幕的成功发送。
在上述技术方案的基础上,所述创建模块还用于在Native层编写一用于将用户输入的待发送弹幕加入队列的接口;对于存储于队列中的待发送弹幕,每条待发送弹幕均包含有用于标示该待发送弹幕加入队列时间的成员变量。
在上述技术方案的基础上,所述判断模块使用待发送弹幕加入队列的时间与用户上条成功发送弹幕的发送时间计算时间间隔;所述弹幕发送执行模块使用接收到的待发送弹幕的加入队列时间与用户上条成功发送弹幕的发送时间计算时间间隔。
与现有技术相比,本发明的优点在于:创建一用于存储待发送弹幕的队列,直播客户端和服务器均基于用户发言间隔时间判断当前待发送弹幕是否满足发言间隔时间,满足则才会发送至所有直播客户端,实现对用户待发送的每一条弹幕的时间间隔进行精确控制,减轻服务器的计算资源压力,且节约直播平台的带宽资源消耗,减少非法弹幕的产生,保证用户对直播的正常观看,以及在一定程度上减轻直播平台的带宽消耗损失。
附图说明
图1为本发明实施例中一种弹幕发言时间控制方法的流程图;
图2为为本发明实施例中一种电子设备的结构示意图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
参见图1所示,本发明实施例提供一种弹幕发言时间控制方法,适用于Android系统端运行的直播客户端,对直播客户端登录用户的弹幕发言时间进行灵活控制,避免高并发的弹幕对服务器造成冲击,本发明实施例中,服务器指直播公司的弹幕服务器。具体的包括:
S1:在Android系统Native层使用C++语言创建一用于存储待发送弹幕的队列。Native层为Android系统中的本地框架,该层一般使用C或C++语言实现。本发明实施例中使用C++语言开发一个发送网络数据包的队列,将用户在直播客户端编写完成等待发至服务器的待发送弹幕按先后顺序放置该队列中,从而便可实现在Native层的网络发包逻辑中通过编写的线程不断地从队列中依次取出待发送弹幕通过Socket(套接字)发送至服务器。
该步骤具体的包括:
S101:编写一个弹幕的数据结构,该结构主要是将待发送弹幕包含的相关信息进行封装,从而网络发包线程便可取出待发送弹幕直接发送至服务器,该数据结构为:
Figure GDA0002465618400000051
其中,StructDanmu用来定义该数据为弹幕结构;Uint64_tstartTime用来定义一个成员变量标示待发送弹幕加入队列的时间,即对于存储于队列中的待发送弹幕,每条待发送弹幕均包含有用于标示该待发送弹幕加入队列时间的成员变量,对待发送弹幕加入队列的时间进行记录;string用来定义一个字符串变量以标记需要发送的弹幕内容,即记录待发送弹幕的具体文字、表情等内容。
S102:编写一用于存储待发送弹幕的队列,该队列可以被其它线程(如用户编辑待发送弹幕的界面相关操作)投递弹幕,该队列自身的线程则会从队列中取出待发送弹幕来发送至服务器。该队列使用STL容器的list容器,STL容器为C++语言中的常见容器,list容器是一个链表,可以高效的从链表中进行插入弹幕以及取弹幕操作,list容器中存放弹幕的即为上述的待发送弹幕的数据结构。可以理解的是,待发送弹幕以数据结构形式存储于队列中。
关于队列,具体实现为:
编写一个队列的类,该类含有成员变量list<Danmu>用于存储待发送弹幕,且在Native层编写一用于将用户输入的待发送弹幕加入队列的接口,从而方便进行从队列中取出待发送弹幕或者向队列中加入待发送弹幕的操作。类具体的代码为:
Figure GDA0002465618400000061
Figure GDA0002465618400000071
S103:后续的待发送弹幕若能加入队列,则:
m_listTask.push_back(pTask);//往任务队列中添加一个任务,并且加入到任务队列的最尾部。
}
Private:
Time m_lasttime;//定义一个上次弹幕加入队列的时刻。
List<Danmu*>m_listTask;//定义一个list容器来存储任务Danmu。
Mutexm_mutex;//定义一个互斥变量来保障对任务队列的操作是线程安全的,当多个线程同时对一个队列进行操作时,互斥变量保障操作按照先后顺序进行。
}
S104:编写一用于创建线程的函数,具体是调用Android系统的API函数CreateThread来创建,其中重要的参数是线程函数的地址,该线程函数则是这个线程整个的执行逻辑,并且定义一个线程类:
Figure GDA0002465618400000072
其中线程类主要是存储一个任务队列,来标示这个线程的任务队列,从而获取到这个线程对象则可以得到这个线程的任务队列。
S105:编写具体的线程函数,此线程函数是一个循环结构,会不断的从任务队列中取出任务来执行,如果没有任务则进行休眠,直到执行的任务是一个退出线程循环的任务则该线程的执行会被终止。具体实现如下:
Figure GDA0002465618400000081
在一种实施方式中,当从队列中取出待发送弹幕时,将相邻两次从队列取出待发送弹幕的时间间隔与用户的发言时间间隔比对,若小于,则丢弃,若不小于,则取出待发送弹幕发送至服务器。
S2:直播客户端登录服务器,服务器将预设的当前直播客户端登录用户发言间隔时间数据加密后发送至直播客户端;服务器可以需要灵活的对每个用户设定发言间隔时间,如30s、10s等等,当然,对于高等级的VIP用户、高质量用户或房管则可将其发言间隔时间设定为0s,而对于频繁发送违法广告弹幕的用户,其弹幕发言间隔时间则是其它用户的多倍。
S201:直播客户端登录服务器,直播客户端和服务器使用非对称算法均生成公钥和私钥,进一步的,每次直播客户端登陆服务器,均会生成一对公钥和私钥,保障每次的公钥和私钥均不一样,以此来保障发言间隔时间数据传输的安全性。本发明实施例中,直播客户端和服务器的私钥使用随机数生成,然后调用RSA(公钥加密算法)生成对应的公钥。
对于直播客户端生成的公钥和私钥:
1、生成随机数,相应代码为anddata=rand();即通过调用安卓系统函数rand来生成一段随机数Randdata。
2、依据随机数生成Md5值做为私钥,相应代码为:
ClientPrivatekey=Md5.Create(Randdata)
即通过调用Md5函数的接口Md5.Create来对随机数计算其Md5值,从而得到了私钥数据。
3、计算公钥,相应代码为:
ClientPublickey=RSA.CreatePair(ClientPrivatekey);
即调用RSA的生成配对钥匙接口RSA.CreatePair来生成公钥。
至此,完成直播客户端公钥和私钥的生成。
对于服务器生成的公钥和私钥:
1、生成随机数,相应代码为anddata=rand();即通过调用安卓系统函数rand来生成一段随机数Randdata。
2、依据随机数和用户ID数生成Md5值做为私钥,相应代码为:
ServerPrivatekey=Md5.Create(Randdata+Uid)
即通过调用Md5函数的接口Md5.Create来对拼接后的随机数和用户ID数一起计算Md5值,从而得到了私钥数据。
3、计算公钥,相应代码为:
ServerPublickey=RSA.CreatePair(ServerPrivatekey);
即调用RSA的生成配对钥匙接口RSA.CreatePair来生成公钥。
至此,完成服务器公钥和私钥的生成。
S202:直播客户端和服务器间交换生成的公钥,且直播客户端和服务器使用新得到的公钥和和原有的私钥生成密匙,且直播客户端和服务器生成的密匙相同。即服务器和客户端会交换各自的公钥信息,来生成一个共享的秘钥,并且客户端和服务器生成的共享秘钥是同一个值。具体的:
1、互换公钥。服务器将服务器的公钥ServerPublickey发送给客户端。客户端将客户端的公钥ClientPublickey发送给服务器。
2、客户端生成共享秘钥,相应代码为:ShareKey=RSA.CreateShareKey(ServerPublickey,ClientPrivatekey)。
3、服务器生成共享秘钥,相应代码为:ShareKey=RSA.CreateShareKey(ClientPublickey,ServerPrivatekey)。
至此,客户端和服务器均完成秘钥ShareKey的生成,且客户端和服务器的秘钥ShareKey相同。
S203:服务器使用生成的密匙并结合DES加密算法对发送给当前直播客户端登录用户的发言间隔时间数据进行加密。直播客户端登录到服务器后,服务器便会读取该直播客户端登录用户的发言间隔时间,并使用之前得到的秘钥进行加密,从而保障数据在网络传输中的安全性,防止黑客得到用户的发言间隔时间数据而篡改该数据以绕过直播客户端对弹幕发送间隔时间的检测。服务器使用DES加密算法来对用户的发言间隔时间数据进行加密,相应代码为:
encryptData=DES.encrypt(“time”,ShareKey);
其中,DES.encrypt则是加密算法DES的加密接口;参数“time”是用户的发言间隔时间;参数ShareKey是之前步骤生成的共享密钥;返回值encryptData则是生成的加密后的结果。加密后的发言间隔时间数据通过网络发送至直播客户端。
S204:直播客户端使用全局变量保存服务器发送的加密后的发言间隔时间数据,暂时先不对该数据进行解密,直播客户端使用全局变量保护服务器下发的加密encryptData,保障数据在内存中的安全性。使用全局变量保存encryptData的代码为:G_encryptData=encryptData。
在一种实施方式中,服务器对于下发给直播客户端的发言间隔时间数据的加密,服务器使用生成的密匙和上条成功发送弹幕的发送时间一起计算得到MD5值,并将该MD5值作为DES加密算法的key值对当前直播客户端登录用户的发言间隔时间数据进行加密,后续的直播服务器则对应使用算法对加密的发言间隔时间数据进行解密。具体的:
key=Md5.Create(time2+ShareKey)
G_encryptData=DES.encrypt(time,key)
使用计算得到的sharekey和上条弹幕成功发送的时间一起计算得到其MD5值,并使用此md5值作为加密时的key值,保证每次加密值总在变化,进一步提高被黑客破解的门槛。
S3:直播客户端解密发言间隔时间数据,具体的,直播客户端获取保存发言间隔时间数据的全局变量,同时使用生成的密匙并结合DES加密算法对加密的发言间隔时间数据解密,得到发言间隔时间,解密代码为Time=DES.decrypt(G_encryptData,ShareKey);
然后计算当前待发送弹幕和该用户上条成功发送弹幕间的时间间隔,并与解密得到的发言间隔时间比对,若小于,则丢弃当前待发送弹幕,若不小于,则将当前待发送弹幕加入队列。
用户经服务器成功向所有直播客户端发送一条弹幕,服务器便会记录该条弹幕成功发送的时间并通知所有直播客户端,因此当用户在直播客户端中编辑完待发送弹幕并点击发送按钮使该条待发送弹幕准备加入队列,此时将按条待发送弹幕加入队列的时间与该用户上条已成功发送的弹幕的发送时间进行计算,得出时间间隔,例如加入队列的待发送弹幕时间为time2,上条已成功发送的弹幕的发送时间为time1,则两者间的时间间隔为time2-time1=elapse,然后与解密得到的发言间隔时间比对,若小于,则丢弃当前待发送弹幕,并提示用户存在发言间隔限制,若不小于,则将当前待发送弹幕加入队列。
在待发送弹幕加入队列时对待发送弹幕时间是否满足该用户的发言间隔时间进行判断,由于JAVA层开发的代码容易被黑客所逆向,所以本文将核心发言间隔判断功能移到Native层,使用C、c++语言开发更为安全,为了让运行在JVM(JavaVirtual Machine,Java虚拟机)中的Java代码和运行在JVM外的Native代码(主要是C或者C++)能够与Native层沟通,代码编写者即可以使用JNI(JavaNativeInterface,Java本地接口)从Java的程序中调用Native代码,又可以从Native程序中调用Java代码,这样,编程人员可以将低阶的代码逻辑包装到高阶的程序框架中,在获得高性能高效率的同时保证了代码框架的高抽象性,并且将网络发送弹幕功能也移到到Native层,本文通过设计网络层的队列,来存储客户端发送的弹幕,并且在网络层对弹幕的发送间隔进行判断,保证了直播客户端对用户弹幕发言间隔时间判断的准确性。
S4:依次从队列中取出待发送弹幕发送至服务器,服务器计算接收的待发送弹幕和该用户上条成功发送弹幕间时间间隔并与预设时间间隔比对,服务器对弹幕发送时间再次进行检测,若小于,则丢弃待发送弹幕,若不小于,则发送待发送弹幕至所有直播客户端,完成待发送弹幕的成功发送。
直播客户端使用待发送弹幕加入队列的时间与用户上条成功发送弹幕的发送时间计算时间间隔;服务器使用接收到的待发送弹幕的加入队列时间与用户上条成功发送弹幕的发送时间计算时间间隔。
本发明的弹幕发言时间控制方法,创建一用于存储待发送弹幕的队列,当直播客户端登录服务器后,服务器将当前用户的发言间隔时间数据加密后发送至直播客户端,使得直播客户端用户在发送待发送弹幕时,基于获取的发言间隔时间判断当前待发送弹幕是否满足发言间隔时间,若不满足则丢弃,且满足的待发送弹幕发送至服务器后,服务器还会再次进行判断,满足则才会发送至所有直播客户端,实现对用户待发送的每一条弹幕的时间间隔进行精确控制,减轻服务器的计算资源压力,且节约直播平台的带宽资源消耗,减少非法弹幕的产生,保证用户对直播的正常观看,以及在一定程度上减轻直播平台的带宽消耗损失。
另外,对应上述弹幕发言时间控制方法,本发明还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述各实施例所述的弹幕发言时间控制方法的步骤。需要说明的是,所述存储介质包括U盘、移动硬盘、ROM(Read-Only Memory,只读存储器)、RAM(RandomAccess Memory,随机存取存储器)、磁碟或者光盘等各种可以存储程序代码的介质。
参见图2所示,对应上述弹幕发言时间控制方法,本发明还提供一种事电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,处理器执行计算机程序时实现上述各实施例的弹幕发言时间控制方法。
本发明还提供一种基于上述弹幕发言时间控制方法的弹幕发言时间控制系统,包括创建模块、数据发送模块、判断模块和弹幕发送执行模块。
创建模块用于在Android系统Native层使用C++语言创建一用于存储待发送弹幕的队列;数据发送模块用于当直播客户端登录服务器,服务器将预设的当前直播客户端登录用户发言间隔时间数据加密后发送至直播客户端;判断模块用于使直播客户端解密发言间隔时间数据,并计算当前待发送弹幕和该用户上条成功发送弹幕间的时间间隔,并与解密得到的发言间隔时间比对,若小于,则丢弃当前待发送弹幕,若不小于,则将当前待发送弹幕加入队列;弹幕发送执行模块用于依次从队列中取出待发送弹幕发送至服务器,服务器计算接收的待发送弹幕和该用户上条成功发送弹幕间时间间隔并与预设时间间隔比对,若小于,则丢弃待发送弹幕,若不小于,则发送待发送弹幕至所有直播客户端,完成待发送弹幕的成功发送。
创建模块还用于在Native层编写一用于将用户输入的待发送弹幕加入队列的接口;对于存储于队列中的待发送弹幕,每条待发送弹幕均包含有用于标示该待发送弹幕加入队列时间的成员变量。判断模块使用待发送弹幕加入队列的时间与用户上条成功发送弹幕的发送时间计算时间间隔;弹幕发送执行模块使用接收到的待发送弹幕的加入队列时间与用户上条成功发送弹幕的发送时间计算时间间隔。
本发明实施例的弹幕发言时间控制系统,当直播客户端登录服务器后,数据发送模块使服务器将当前用户的发言间隔时间数据加密后发送至直播客户端,使得直播客户端用户在发送待发送弹幕时,基于获取的发言间隔时间判断当前待发送弹幕是否满足发言间隔时间,若不满足则丢弃,且满足的待发送弹幕发送至服务器后,服务器还会再次进行判断,满足则才会通过弹幕发送执行模块发送至弹幕所有直播客户端,实现对用户待发送的每一条弹幕的时间间隔进行精确控制,减轻服务器的计算资源压力,且节约直播平台的带宽资源消耗,减少非法弹幕的产生,保证用户对直播的正常观看,以及在一定程度上减轻直播平台的带宽消耗损失。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (7)

1.一种弹幕发言时间控制方法,适用于Android系统端运行的直播客户端,其特征在于,包括:
创建一用于存储待发送弹幕的队列;
直播客户端登录服务器,服务器将预设的当前直播客户端登录用户发言间隔时间数据加密后发送至直播客户端;
直播客户端解密发言间隔时间数据,并计算当前待发送弹幕和该用户上条成功发送弹幕间的时间间隔,并与解密得到的发言间隔时间比对,若小于,则丢弃当前待发送弹幕,若不小于,则将当前待发送弹幕加入队列;
依次从队列中取出待发送弹幕发送至服务器,服务器计算接收的待发送弹幕和该用户上条成功发送弹幕间时间间隔并与预设时间间隔比对,若小于,则丢弃待发送弹幕,若不小于,则发送待发送弹幕至所有直播客户端,完成待发送弹幕的成功发送;
其中,在Android系统Native层使用C++语言创建一用于存储待发送弹幕的队列;在Native层编写一用于将用户输入的待发送弹幕加入队列的接口;对于存储于队列中的待发送弹幕,每条待发送弹幕均包含有用于标示该待发送弹幕加入队列时间的成员变量;直播客户端使用待发送弹幕加入队列的时间与用户上条成功发送弹幕的发送时间计算时间间隔;服务器使用接收到的待发送弹幕的加入队列时间与用户上条成功发送弹幕的发送时间计算时间间隔。
2.如权利要求1所述的一种弹幕发言时间控制方法,其特征在于:
直播客户端登录服务器,直播客户端和服务器使用非对称算法均生成公钥和私钥;
直播客户端和服务器间交换生成的公钥,且直播客户端和服务器使用新得到的公钥和和原有的私钥生成密匙,且直播客户端和服务器生成的密匙相同。
3.如权利要求2所述的一种弹幕发言时间控制方法,其特征在于:
服务器使用生成的密匙并结合DES加密算法对发送给当前直播客户端登录用户的发言间隔时间数据进行加密;
直播客户端使用全局变量保存服务器发送的发言间隔时间数据;
直播客户端获取保存发言间隔时间数据的全局变量,同时使用生成的密匙并结合DES加密算法对加密的发言间隔时间数据解密,得到发言间隔时间。
4.如权利要求2所述的一种弹幕发言时间控制方法,其特征在于:
服务器使用生成的密匙和上条成功发送弹幕的发送时间一起计算得到MD5值,并将该MD5值作为DES加密算法的key值对当前直播客户端登录用户的发言间隔时间数据进行加密。
5.一种存储介质,该存储介质上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至4任一项所述的方法。
6.一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时实现权利要求1至4任一项所述的方法。
7.一种弹幕发言时间控制系统,其特征在于,包括:
创建模块,其用于在Android系统Native层使用C++语言创建一用于存储待发送弹幕的队列;
数据发送模块,其用于当直播客户端登录服务器,服务器将预设的当前直播客户端登录用户发言间隔时间数据加密后发送至直播客户端;
判断模块,其用于使直播客户端解密发言间隔时间数据,并计算当前待发送弹幕和该用户上条成功发送弹幕间的时间间隔,并与解密得到的发言间隔时间比对,若小于,则丢弃当前待发送弹幕,若不小于,则将当前待发送弹幕加入队列;
弹幕发送执行模块,其用于依次从队列中取出待发送弹幕发送至服务器,服务器计算接收的待发送弹幕和该用户上条成功发送弹幕间时间间隔并与预设时间间隔比对,若小于,则丢弃待发送弹幕,若不小于,则发送待发送弹幕至所有直播客户端,完成待发送弹幕的成功发送;
其中,所述创建模块还用于在Native层编写一用于将用户输入的待发送弹幕加入队列的接口;对于存储于队列中的待发送弹幕,每条待发送弹幕均包含有用于标示该待发送弹幕加入队列时间的成员变量;所述判断模块使用待发送弹幕加入队列的时间与用户上条成功发送弹幕的发送时间计算时间间隔;所述弹幕发送执行模块使用接收到的待发送弹幕的加入队列时间与用户上条成功发送弹幕的发送时间计算时间间隔。
CN201810029398.XA 2018-01-09 2018-01-09 弹幕发言时间控制方法、存储介质、电子设备及系统 Active CN108307244B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810029398.XA CN108307244B (zh) 2018-01-09 2018-01-09 弹幕发言时间控制方法、存储介质、电子设备及系统
PCT/CN2018/081283 WO2019136840A1 (zh) 2018-01-09 2018-03-30 弹幕发言时间控制方法、存储介质、电子设备及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810029398.XA CN108307244B (zh) 2018-01-09 2018-01-09 弹幕发言时间控制方法、存储介质、电子设备及系统

Publications (2)

Publication Number Publication Date
CN108307244A CN108307244A (zh) 2018-07-20
CN108307244B true CN108307244B (zh) 2020-06-16

Family

ID=62868690

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810029398.XA Active CN108307244B (zh) 2018-01-09 2018-01-09 弹幕发言时间控制方法、存储介质、电子设备及系统

Country Status (2)

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

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109788345B (zh) * 2019-03-29 2020-03-10 广州虎牙信息科技有限公司 直播控制方法、装置、直播设备及可读存储介质
CN115442635A (zh) * 2021-06-04 2022-12-06 武汉斗鱼鱼乐网络科技有限公司 一种跨平台安全过滤弹幕的方法、装置、设备和存储介质
CN115412767B (zh) * 2022-05-16 2023-10-27 北京大学 基于视频弹幕提取用户观看行为并可视化的方法及系统

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004362452A (ja) * 2003-06-06 2004-12-24 Nippon Telegr & Teleph Corp <Ntt> コンテンツ連動型コメント表示方法、コメント表示システム、サーバ装置、コメント表示装置及びコメント表示プログラム
CN1737754A (zh) * 2004-08-20 2006-02-22 年代电通股份有限公司 即时互动影音管理系统
CN102141981A (zh) * 2010-01-28 2011-08-03 三星电子株式会社 文本输出方法和装置
EP2410758A2 (en) * 2010-07-23 2012-01-25 Funai Electric Co., Ltd. Image Apparatus
JP2013207604A (ja) * 2012-03-28 2013-10-07 Fujitsu Ltd 情報提供方法、情報提供プログラム、および情報提供装置
US9015778B2 (en) * 2008-06-25 2015-04-21 AT&T Intellectual Property I. LP Apparatus and method for media on demand commentaries
CN104618813A (zh) * 2015-01-20 2015-05-13 腾讯科技(北京)有限公司 弹幕信息处理方法、客户端及服务平台
CN105451087A (zh) * 2015-12-14 2016-03-30 广州弹幕网络科技有限公司 弹幕信息的推送方法、终端、历史数据服务器及系统
CN105491458A (zh) * 2015-11-27 2016-04-13 武汉斗鱼网络科技有限公司 一种直播网站中弹幕发言时间的优化方法
CN105872709A (zh) * 2016-03-30 2016-08-17 乐视控股(北京)有限公司 弹幕信息的显示方法及装置
CN107071506A (zh) * 2017-03-17 2017-08-18 武汉斗鱼网络科技有限公司 一种推送弹幕的方法和系统
CN107371056A (zh) * 2017-07-18 2017-11-21 北京蜜莱坞网络科技有限公司 一种加载弹幕的方法和装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006034428A2 (en) * 2004-09-20 2006-03-30 Pgp Corporation Apparatus and method for identity-based encryption within a conventional public-key infrastructure
EP1813051B1 (en) * 2004-11-12 2017-09-13 Dublin City University Identity based encryption
CN1929371B (zh) * 2005-09-05 2010-09-08 华为技术有限公司 用户和外围设备协商共享密钥的方法
CN101047945B (zh) * 2006-03-28 2012-05-30 华为技术有限公司 移动通信系统及用户临时身份分发方法
CN101459506B (zh) * 2007-12-14 2011-09-14 华为技术有限公司 密钥协商方法、用于密钥协商的系统、客户端及服务器
US8266652B2 (en) * 2009-10-15 2012-09-11 At&T Intellectual Property I, L.P. Apparatus and method for transmitting media content
CN104967896A (zh) * 2014-08-04 2015-10-07 腾讯科技(北京)有限公司 一种显示弹幕评论信息的方法和装置
US9794211B2 (en) * 2014-08-20 2017-10-17 Google Inc. Event-based comment grouping for content items
CN105516820A (zh) * 2015-12-10 2016-04-20 腾讯科技(深圳)有限公司 一种弹幕交互方法和装置
CN106131696B (zh) * 2016-06-20 2019-03-05 武汉斗鱼网络科技有限公司 一种弹幕发送控制方法与装置
CN105939485B (zh) * 2016-06-27 2018-11-06 武汉斗鱼网络科技有限公司 基于用户弹幕行为监控弹幕服务可用性的系统及方法
CN107423130B (zh) * 2017-03-23 2019-11-15 武汉斗鱼网络科技有限公司 移动端广播和广告的展示系统及方法
CN107508673A (zh) * 2017-09-11 2017-12-22 金蝶软件(中国)有限公司 Erp与第三方组件之间密钥获取的方法及相关装置

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004362452A (ja) * 2003-06-06 2004-12-24 Nippon Telegr & Teleph Corp <Ntt> コンテンツ連動型コメント表示方法、コメント表示システム、サーバ装置、コメント表示装置及びコメント表示プログラム
CN1737754A (zh) * 2004-08-20 2006-02-22 年代电通股份有限公司 即时互动影音管理系统
US9015778B2 (en) * 2008-06-25 2015-04-21 AT&T Intellectual Property I. LP Apparatus and method for media on demand commentaries
CN102141981A (zh) * 2010-01-28 2011-08-03 三星电子株式会社 文本输出方法和装置
EP2410758A2 (en) * 2010-07-23 2012-01-25 Funai Electric Co., Ltd. Image Apparatus
JP2013207604A (ja) * 2012-03-28 2013-10-07 Fujitsu Ltd 情報提供方法、情報提供プログラム、および情報提供装置
CN104618813A (zh) * 2015-01-20 2015-05-13 腾讯科技(北京)有限公司 弹幕信息处理方法、客户端及服务平台
CN105491458A (zh) * 2015-11-27 2016-04-13 武汉斗鱼网络科技有限公司 一种直播网站中弹幕发言时间的优化方法
CN105451087A (zh) * 2015-12-14 2016-03-30 广州弹幕网络科技有限公司 弹幕信息的推送方法、终端、历史数据服务器及系统
CN105872709A (zh) * 2016-03-30 2016-08-17 乐视控股(北京)有限公司 弹幕信息的显示方法及装置
CN107071506A (zh) * 2017-03-17 2017-08-18 武汉斗鱼网络科技有限公司 一种推送弹幕的方法和系统
CN107371056A (zh) * 2017-07-18 2017-11-21 北京蜜莱坞网络科技有限公司 一种加载弹幕的方法和装置

Also Published As

Publication number Publication date
CN108307244A (zh) 2018-07-20
WO2019136840A1 (zh) 2019-07-18

Similar Documents

Publication Publication Date Title
CN104581214B (zh) 基于ARM TrustZone系统的多媒体内容保护方法和装置
US10601801B2 (en) Identity authentication method and apparatus
US10659226B2 (en) Data encryption method, decryption method, apparatus, and system
JP6079875B2 (ja) アプリケーション実行プログラム,アプリケーション実行方法及びアプリケーションを実行する情報処理端末装置
CN108307244B (zh) 弹幕发言时间控制方法、存储介质、电子设备及系统
KR20050084888A (ko) 재시작가능한 변조 방지 보안 시스템을 위해 자동으로발생된 암호 함수들
CN104331644A (zh) 一种智能终端文件的透明加解密方法
CN102915263A (zh) 一种数据备份方法、系统和设备
CN111654367A (zh) 密码运算、创建工作密钥的方法、密码服务平台及设备
CN109088810A (zh) 群组消息的通信方法、装置、相应设备、系统及存储介质
CN109981576B (zh) 密钥迁移方法和装置
CN104035891A (zh) Android移动终端数据安全保护系统
WO2021159644A1 (zh) 一种截屏管理方法、装置及移动终端
KR101734663B1 (ko) 안드로이드 어플리케이션의 역공학 방지 방법 및 이를 수행하는 장치
CN106203141A (zh) 一种应用的数据处理方法和装置
CN109120576B (zh) 数据分享方法及装置、计算机设备及存储介质
CN109885985A (zh) 一种在线阅读pdf防下载防截屏的方法及其实现系统
WO2018099157A1 (zh) 一种文件系统加密方法及装置
CN117240625A (zh) 一种涉及防篡改的数据处理方法、装置及电子设备
US20230208615A1 (en) Online-Streamer Image Model File Transmission in Co-Hosting During Livestreaming
CN116455572A (zh) 数据加密方法、装置及设备
Abela et al. Secure Implementation of a Quantum-Future GAKE Protocol
CN111931222B (zh) 应用数据加密方法、装置、终端及存储介质
CN113014956B (zh) 视频播放方法以及装置
CN113658031A (zh) 一种电子签章方法、系统及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant