CN110968368A - 一种直播数据的处理方法及其相关设备 - Google Patents

一种直播数据的处理方法及其相关设备 Download PDF

Info

Publication number
CN110968368A
CN110968368A CN201811158289.4A CN201811158289A CN110968368A CN 110968368 A CN110968368 A CN 110968368A CN 201811158289 A CN201811158289 A CN 201811158289A CN 110968368 A CN110968368 A CN 110968368A
Authority
CN
China
Prior art keywords
live broadcast
data
class
single piece
data type
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.)
Granted
Application number
CN201811158289.4A
Other languages
English (en)
Other versions
CN110968368B (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 CN201811158289.4A priority Critical patent/CN110968368B/zh
Publication of CN110968368A publication Critical patent/CN110968368A/zh
Application granted granted Critical
Publication of CN110968368B publication Critical patent/CN110968368B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请实施例公开了一种直播数据的处理方法及其相关设备。本申请实施例方法包括:根据预设数据类型构造单件类,预设数据类型的个数为N,N为大于1的整数;根据预置的访问关系对单件类进行排序,得到单件类的单件类排列顺序;获取直播数据,直播数据包括直播数据的数据类型,直播数据为直播中需要使用的资源数据;将直播数据保存至与数据类型对应的单件类中;接收直播间退出指令;根据直播退出指令以及单件类排列顺序的倒序对单件类中的直播数据进行释放。本方案根据不同的数据类型构造了对应的单件类,便于统一管理,并且根据单件类对应的数据类型对单件类进行了排序,在程序退出时根据该顺序的倒序进行释放,避免程序崩溃。

Description

一种直播数据的处理方法及其相关设备
技术领域
本申请涉及直播领域,尤其涉及一种直播数据的处理方法及其相关设备。
背景技术
随着智能设备(如智能手机、平板电脑、智能电视等)的发展,越来越多的用户使用智能设备的各种功能,其中,可以观看直播视频的视频播放应用程序(Application,App)或直播APP是人们常用的应用程序之一。
对于直播程序在直播中会使用到一些资源或者数据,全局都会使用,对于资源一旦申请了,而在退出的时候则必须进行释放资源。同时程序中很多地方都会使用到对应的资源或者数据。现有做法则是通过全局变量存储一个个资源,从而导致全局变量很多,不方便管理,并且没有统一的管理入口和释放入口,对于释放时则容易遗漏,并且对资源的依赖也并没有很好的管理和编写,从而容易导致程序退出时导致程序崩溃。
发明内容
本申请实施例提供了一种直播数据的处理方法,用于对直播数据进行统一管理,避免程序退出时导致的程序崩溃。
第一方面,本发明实施例提供一种直播数据的处理方法,具体包括:
根据预设数据类型构造单件类,所述预设数据类型的个数为N,所述N为大于1的整数;
根据预置的访问关系对所述单件类进行排序,得到所述单件类的单件类排列顺序,所述访问关系为所述单件类所对应的数据类型的访问关系;
获取直播数据,所述直播数据包括所述直播数据的数据类型,所述直播数据为直播中需要使用的资源数据;
将所述直播数据保存至与所述数据类型对应的单件类中;
接收直播间退出指令,所述直播间退出指令指示所述单件类对应的直播间将退出直播程序;
根据所述直播退出指令以及所述单件类排列顺序的倒序对所述单件类中的直播数据进行释放。
在一种可能的设计中,所述根据预置的访问关系对所述单件类进行排序,得到所述单件类的单件类排列顺序,所述访问关系为所述单件类所对应的数据类型的访问关系包括:
将被访问单件类放置于访问单件类的前面,生成所述单件类排列顺序。
在一种可能的设计中,所述根据预设数据类型构造单件类之后,所述方法还包括:
判断所述单件类是否已经存在;
若存在,则删除所述单件类。
在一种可能的设计中,所述根据预设数据类型构造单件类之前,所述方法还包括:
判断所述单件类是否已经存在;
所述根据预设数据类型构造单件类包括:
若所述单件类不存在,则根据预设数据类型构造所述单件类。
在一种可能的设计中,所述若所述单件类不存在,则根据预设数据类型构造所述单件类,所述方法还包括:
对所述单件类设置私有访问属性。
在一种可能的设计中,所述根据预设数据类型构造单件类包括:
根据所述预设数据类型使用c++编程语言的模板编程来构造所述单件类。
在一种可能的设计中,所述预设数据类型包括:网络资源信息、房间信息、用户信息、视频编解码信息、日志文件信息和客户端安全加固验证信息。
第二方面,本发明实施例提供一种直播数据的处理装置,具体包括:
构造单元,用于根据预设数据类型构造单件类,所述预设数据类型的个数为N,所述N为大于1的整数;
排序单元,用于根据预置的访问关系对所述单件类进行排序,得到所述单件类的单件类排列顺序,所述访问关系为所述单件类所对应的数据类型的访问关系;
获取单元,用于获取直播数据,所述直播数据包括所述直播数据的数据类型,所述直播数据为直播中需要使用的资源数据;
保存单元,用于将所述直播数据保存至与所述数据类型对应的单件类中;
接收单元,用于接收直播间退出指令,所述直播间退出指令指示所述单件类对应的直播间将退出直播程序;
释放单元,用于根据所述直播退出指令以及所述单件类排列顺序的倒序对所述单件类中的直播数据进行释放。
在一种可能的设计中,所述排序单元具体用于:
将被访问单件类放置于访问单件类的前面,生成所述单件类排列顺序。
在一种可能的设计中,所述装置还包括:
第一判断单元,用于判断所述单件类是否已经存在;
删除单元,用于当判断所述单件类存在时,删除所述单件类。
在一种可能的设计中,所述装置还包括:
第二判断单元,用于判断所述单件类是否已经存在;
所述构造单元具体用于:
若所述单件类不存在,则根据预设数据类型构造所述单件类。
在一种可能的设计中,所述装置还包括:
设置单元,用于对所述单件类设置私有访问属性。
在一种可能的设计中,所述构造单元具体用于:
根据所述预设数据类型使用c++编程语言的模板编程来构造所述单件类。
本申请的又一方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本申请的又一方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:根据预设数据类型构造单件类,所述预设数据类型的个数为N,所述N为大于1的整数;根据预置的访问关系对所述单件类进行排序,得到所述单件类的单件类排列顺序,所述访问关系为所述单件类所对应的数据类型的访问关系,所述访问关系为所述单件类所对应的数据类型的访问关系;获取直播数据,所述直播数据包括所述直播数据的数据类型,所述直播数据为直播中需要使用的资源数据;将所述直播数据保存至与所述数据类型对应的单件类中;接收直播间退出指令,所述直播间退出指令指示所述单件类对应的直播间将退出直播程序;根据所述直播退出指令以及所述单件类排列顺序的倒序对所述单件类中的直播数据进行释放。本方案根据不同的数据类型构造了对应的单件类,便于统一管理,并且根据单件类对应的数据类型对单件类进行了排序,在程序退出时根据该顺序的倒序进行释放,避免程序崩溃。
附图说明
图1为本发明实施例提供的一种直播数据的处理方法的一个流程示意图;
图2为本发明实施例提供的一种直播数据的处理装置的一个结构示意图;
图3为本发明实施例提供的一种直播数据的处理装置的硬件结构示意图;
图4为本发明实施例提供的一种电子设备的实施例示意图;
图5为本发明实施例提供的一种计算机可读存储介质的实施例示意图。
具体实施方式
本申请实施例提供了一种直播数据的处理方法,用于对直播数据进行统一管理,避免程序退出时导致的程序崩溃。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本发明实施例中所提及的直播数据的处理装置可以为服务器,也可以为服务器中的服务单元,还可以为其他装置,具体此处不做限定。
请参阅图1,图1为本发明实施例提供的直播数据的处理方法的一个实施例示意图,包括:
101、根据预设数据类型构造单件类。
对于直播中,我们会使用到网络资源,我们会使用到视频编解码,我们会记录当前直播间的房间信息,用户信息,贵族信息,当前直播间的弹幕信息,客户端类型信息,客户端安全验证信息,日志文件信息。这些信息有些会随着每次退出直播间都需要进行清空,当进入直播间会重新生成,并且整个直播中都会使用到。而有些资源是在整个程序过程中都会使用到,只有退出时需要进行释放。本申请则统一收集程序中所有使用到的资源(直播数据),方便后续的资源管理,和清除。
其中,预设数据类型的个数为N,所述N为大于1的整数,本申请实施例中N=6。
本申请中预设数据类型主要有:
网络资源信息:本申请使用NetCore对象,其管理网络资源,包括HTTP的请求服务器的相关信息,包括弹幕服务器的链接获取弹幕数据和发送弹幕数据,所有网络相关都封装到NetCore对象中;
房间信息:本申请使用RoomInfo对象,其中包括房间号roomid,房间名称roomname,房间配置信息roomconfig,房间图片信息pictureconfig等等;
用户信息:本申请使用userinfo对象,其中包括用户名称username,用户登录服务器返回的token信息,用户头像信息,用户图片,用户等级level等信息;
视频编解码信息:本申请使用FFmpeg对象,其中主要负责拉取的视频流进行编解码成图像视频进行播放;
日志文件信息:本申请使用log对象,其中则主要负责记录程序日志并写入到日志文件中;
客户端安全加固验证信息:本申请使用identify对象,其中则主要包括和服务器进行安全验证的逻辑功能和全局的初始化变量等。
对于有些资源是会在整个程序中很多地方进行使用,并且希望获取的信息是统一的,所以本申请使用单件类来管理资源,单件类具有资源只有一份,其他任何地方获取资源都是获取的同一份,所以可以保证资源的准确性,同时其是全局的,那么在程序的任意地方都可以访问改资源。并且是统一的入口,所以对于资源的使用者也很方便。本申请中会构建多个单件类,所以需要使用c++编程语言的模板编程来实现。
具体实现如下:
template<typename T>class CSingleton{
定义模板类的关键词,并将类命名为CSingleton。
static T*m_pSingleton;
接着定义模板类的属性成员,就是该类实例对象。本申请再此次则使用了静态变量static来申明,由于静态变量具有只初始化一次,并且会在程序退出时进行销毁掉改变量。
接下来则编写对外提供的获取单件类的实例的接口。
static T*Instance(){
此接口则是获取单件类的实例对象,其返回也是一个模板对象。
If(m_pSingleton==NULL){
首先判断单件类有没有被创建,如果没有则创建
m_pSingleton=new T;
}else{
Return m_pSingleton;
否则直接返回已经创建的实例对象。
}
编写资源删除接口
static void Destory(){
if(m_pSingleton){
delete m_pSingleton;
m_pSingleton=NULL;
}
先判断单件类是否构造了,如果构造了则将其删除delete掉。
}
同时需要将单件类的构造函数放到私有访问属性下:
CSingleton(){}//防止实例
CSingleton(const CSingleton&){}//防止拷贝构造一个实例
CSingleton&operator=(const CSingleton&){}//防止赋值出另一个实例
}
有了上述的单件类基础组件后,接下来我们需要依据资源(数据类型)进行分类来构建多个单件类资源。
首先对于网络资源信息来说,其是相对于独立的功能,所以本申请将其做为一个独立的单件类来进行资源管理和访问。
CSingleton<NetCore>::Instance();就表面了将类NetCore网络资源使用单件类使用。
程序任何地方都可以通过上面的语句来访问网络资源。
对于房间信息来说,其也是比较相对于独立的功能,并且程序中很多地方都会使用到房间相关的资源信息,因此本申请将其做为一个独立的单件类来进行资源的管理和访问。
CSingleton<RoomInfo>::Instance();就表面了将类RoomInfo房间资源使用单件类使用。
程序任何地方都可以通过上面的语句来访问房间资源。
并且对于RoomInfo这个类,其中则包括房间的所有属性信息。其中包括房间号roomid,房间名称roomname,房间配置信息roomconfig,房间图片信息pictureconfig等等。每个属性都是其的一个成员变量。
Class RoomInfo{
Public:
Int roomid;
String roomname;
String roomconfig;
String pictureconfig;
等等其他属性信息。
}
同样的对于用户信息本申请也使用一个单件类。
CSingleton<UserInfo>::Instance();就表面了将类UserInfo用户信息相关资源使用单件类使用。
Class UserInfo{
String username;
String token;
String picture;
Int level;
}
同样的对于视频编解码信息本申请也使用一个单件类。
CSingleton<FFMPEG>::Instance();就表明了将类FFMPEG视频编解码相关资源使用单件类使用。
而对于FFMPEG则其是在直播间内使用时才会构建,并且推出直播间则会将其删除掉。
同样的对于日志文件信息本申请也使用一个单件类。
CSingleton<log>::Instance();就表明了将类log日志相关资源使用单件类使用。
因为日志在整个程序任何地方都可以进行访问。
同样的对于客户端安全加固验证信息对应的功能也是比较独立的功能,本申请也使用一个单件类来进行管理。
CSingleton<identify>::Instance();就表明了将类identify安全相关资源使用单件类使用。
102、根据预置的访问关系对所述单件类进行排序,得到所述单件类的单件类排列顺序。
其中,所述访问关系为所述单件类所对应的数据类型的访问关系,所述访问关系为所述单件类所对应的数据类型的访问关系。
当资源定义好后,此时由于我们的所有单件类会在程序的很多地方进行访问和使用,同时对于资源的使用也是有先后顺序的。同时更为重要的则是对于程序退出时,系统会自动的释放掉所有的静态变量对象,对于本申请则是释放所有的单件类对象。
而对于静态变量来说,其释放顺序则是谁最后构造的谁先释放。因此为了防止资源释放顺序出现问题而导致程序崩溃。例如程序中房间信息中会打印日志,而日志又是先与房间信息构造的,那么则有可能存在日志单件类先释放了,而房间信息还在访问日志资源,从而造成程序的崩溃。
因此本申请则在程序最先启动的地方来创建所有的单件类,并且依据单件类使用和释放的顺序来创建。
对于本申请来说,希望在全局程序中都能够使用日志记录程序的所有行为。并且日志也相对于独立。所以本申请将日志的构造放到程序最开始的地方。
接下来则是网络资源的访问,所以本申请将网络资源放到第二的顺序。
而房间信息用户信息和视频资源都是有了网络与服务器进行通信后才可以使用的。
本申请的做法则是如下:
在程序最开始启动的代码处加入如下代码。
CSingleton<log>::Instance();构造日志单件类。
CSingleton<NetCore>::Instance()构造网络单件类。
CSingleton<UserInfo>::Instance();构造用户信息单件类。用户信息优先于房间信息被访问到。
CSingleton<RoomInfo>::Instance();构造房间信息单件类。
CSingleton<FFMPEG>::Instance();构造FFMPEG视频编解码资源单件类。
CSingleton<identify>::Instance();构造用户信息安全单件类。
在本申请中,本申请依据资源的访问顺序来进行构造,具体地,将被访问单件类放置于访问单件类的前面,生成所述单件类排列顺序。。
103、获取直播数据。
其中,所述直播数据包括所述直播数据的数据类型,所述直播数据为直播中需要使用的资源数据。
104、将所述直播数据保存至与所述数据类型对应的单件类中。
例如,如果该直播数据的数据类型是日志文件信息,则将该直播数据保存至该日志文件信息所对应的单件类中。
105、接收直播间退出指令。
当主播想要结束直播时,会退出直播间,此时会生成直播间退出指令,然后主播所使用的终端将该直播间退出指令发送至直播数据的处理装置中,使得直播数据的处理装置接收该直播间退出指令。
106、根据所述直播退出指令以及所述单件类排列顺序的倒序对所述单件类中的直播数据进行释放。
本申请已经根据步骤102已经对单件类进行了排序,在程序退出时,直播数据的处理装置则会自动的清理所有的单件类资源对象。从而对其进行释放。释放顺序如下:
CSingleton<identify>::Destroy();
CSingleton<FFMPEG>::Destroy();
CSingleton<RoomInfo>::Destroy();
CSingleton<UserInfo>::Destroy();
CSingleton<NetCore>::Destroy()
CSingleton<log>::Destroy();
资源释放顺序如上,并且所有资源最终都会由直播数据的处理装置来调用释放,从而不会担心资源忘记释放的问题。同时本申请在构造时加入了先后顺序,所以不会造成资源释放顺序的错误而导致程序的崩溃问题。
综上所述,可以看出,本发明实施例中,根据预设数据类型构造单件类,所述预设数据类型的个数为N,所述N为大于1的整数;根据预置的访问关系对所述单件类进行排序,得到所述单件类的单件类排列顺序,所述访问关系为所述单件类所对应的数据类型的访问关系,所述访问关系为所述单件类所对应的数据类型的访问关系;获取直播数据,所述直播数据包括所述直播数据的数据类型,所述直播数据为直播中需要使用的资源数据;将所述直播数据保存至与所述数据类型对应的单件类中;接收直播间退出指令,所述直播间退出指令指示所述单件类对应的直播间将退出直播程序;根据所述直播退出指令以及所述单件类排列顺序的倒序对所述单件类中的直播数据进行释放。本方案根据不同的数据类型构造了对应的单件类,便于统一管理,并且根据单件类对应的数据类型对单件类进行了排序,在程序退出时根据该顺序的倒序进行释放,避免程序崩溃。
上面对本发明实施例中查看直播数据的处理方法进行了描述,下面对本发明实施例中的直播数据的处理装置进行描述。
请参阅图2,本发明实施例中直播数据的处理装置的一个实施例,包括:
第二判断单元201,用于判断所述单件类是否已经存在;
构造单元202,用于根据预设数据类型构造单件类,所述预设数据类型的个数为N,所述N为大于1的整数;
所述构造单元202具体用于:
若所述单件类不存在,则根据预设数据类型构造所述单件类。
所述构造单元还具体用于:
根据所述预设数据类型使用c++编程语言的模板编程来构造所述单件类。
第一判断单元203,用于判断所述单件类是否已经存在;
删除单元204,用于当判断所述单件类存在时,删除所述单件类。
设置单元205,用于对所述单件类设置私有访问属性。
排序单元206,用于根据预置的访问关系对所述单件类进行排序,得到所述单件类的单件类排列顺序,所述访问关系为所述单件类所对应的数据类型的访问关系;
所述排序单元具体206用于:
将被访问单件类放置于访问单件类的前面,生成所述单件类排列顺序。
获取单元207,用于获取直播数据,所述直播数据包括所述直播数据的数据类型,所述直播数据为直播中需要使用的资源数据;
保存单元208,用于将所述直播数据保存至与所述数据类型对应的单件类中;
接收单元209,用于接收直播间退出指令,所述直播间退出指令指示所述单件类对应的直播间将退出直播程序;
释放单元210,用于根据所述直播退出指令以及所述单件类排列顺序的倒序对所述单件类中的直播数据进行释放。
上面图2从模块化功能实体的角度对本发明实施例中的直播数据的处理装置进行了描述,下面从硬件处理的角度对本发明实施例中的直播数据的处理装置进行详细描述,请参阅图3,本发明实施例中的直播数据的处理装置300一个实施例,包括:
输入装置301、输出装置302、处理器303和存储器304(其中处理器303的数量可以一个或多个,图3中以一个处理器303为例)。在本发明的一些实施例中,输入装置301、输出装置302、处理器303和存储器304可通过总线或其它方式连接,其中,图3中以通过总线连接为例。
其中,通过调用存储器304存储的操作指令,处理器303,用于执行如下步骤:
根据预设数据类型构造单件类,所述预设数据类型的个数为N,所述N为大于1的整数;
根据预置的访问关系对所述单件类进行排序,得到所述单件类的单件类排列顺序,所述访问关系为所述单件类所对应的数据类型的访问关系,所述访问关系为所述单件类所对应的数据类型的访问关系;
获取直播数据,所述直播数据包括所述直播数据的数据类型,所述直播数据为直播中需要使用的资源数据;
将所述直播数据保存至与所述数据类型对应的单件类中;
接收直播间退出指令,所述直播间退出指令指示所述单件类对应的直播间将退出直播程序;
根据所述直播退出指令以及所述单件类排列顺序的倒序对所述单件类中的直播数据进行释放。
请参阅图4,图4为本发明实施例提供的电子设备的实施例示意图。
如图4所示,本发明实施例提供了一种电子设备,包括存储器410、处理器420及存储在存储器420上并可在处理器420上运行的计算机程序411,处理器420执行计算机程序411时实现以下步骤:
根据预设数据类型构造单件类,所述预设数据类型的个数为N,所述N为大于1的整数;
根据预置的访问关系对所述单件类进行排序,得到所述单件类的单件类排列顺序,所述访问关系为所述单件类所对应的数据类型的访问关系,所述访问关系为所述单件类所对应的数据类型的访问关系;
获取直播数据,所述直播数据包括所述直播数据的数据类型,所述直播数据为直播中需要使用的资源数据;
将所述直播数据保存至与所述数据类型对应的单件类中;
接收直播间退出指令,所述直播间退出指令指示所述单件类对应的直播间将退出直播程序;
根据所述直播退出指令以及所述单件类排列顺序的倒序对所述单件类中的直播数据进行释放。
请参阅图5,图5为本发明实施例提供的一种计算机可读存储介质的实施例示意图。
如图5所示,本实施例提供了一种计算机可读存储介质500,其上存储有计算机程序511,该计算机程序511被处理器执行时实现如下步骤:
根据预设数据类型构造单件类,所述预设数据类型的个数为N,所述N为大于1的整数;
根据预置的访问关系对所述单件类进行排序,得到所述单件类的单件类排列顺序,所述访问关系为所述单件类所对应的数据类型的访问关系,所述访问关系为所述单件类所对应的数据类型的访问关系;
获取直播数据,所述直播数据包括所述直播数据的数据类型,所述直播数据为直播中需要使用的资源数据;
将所述直播数据保存至与所述数据类型对应的单件类中;
接收直播间退出指令,所述直播间退出指令指示所述单件类对应的直播间将退出直播程序;
根据所述直播退出指令以及所述单件类排列顺序的倒序对所述单件类中的直播数据进行释放。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机软件指令,当计算机软件指令在处理设备上运行时,使得处理设备执行如图1对应实施例中的风电场数字化平台设计的方法中的流程。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修该,或者对其中部分技术特征进行等同替换;而这些修该或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种直播数据的处理方法,其特征在于,包括:
根据预设数据类型构造单件类,所述预设数据类型的个数为N,所述N为大于1的整数;
根据预置的访问关系对所述单件类进行排序,得到所述单件类的单件类排列顺序,所述访问关系为所述单件类所对应的数据类型的访问关系,所述访问关系为所述单件类所对应的数据类型的访问关系;
获取直播数据,所述直播数据包括所述直播数据的数据类型,所述直播数据为直播中需要使用的资源数据;
将所述直播数据保存至与所述数据类型对应的单件类中;
接收直播间退出指令,所述直播间退出指令指示所述单件类对应的直播间将退出直播程序;
根据所述直播退出指令以及所述单件类排列顺序的倒序对所述单件类中的直播数据进行释放。
2.根据权利要求1所述的方法,其特征在于,所述根据预置的访问关系对所述单件类进行排序,得到所述单件类的单件类排列顺序,所述访问关系为所述单件类所对应的数据类型的访问关系包括:
将被访问单件类放置于访问单件类的前面,生成所述单件类排列顺序。
3.根据权利要求1所述的方法,其特征在于,所述根据预设数据类型构造单件类之后,所述方法还包括:
判断所述单件类是否已经存在;
若存在,则删除所述单件类。
4.根据权利要求1所述的方法,其特征在于,所述根据预设数据类型构造单件类之前,所述方法还包括:
判断所述单件类是否已经存在;
所述根据预设数据类型构造单件类包括:
若所述单件类不存在,则根据预设数据类型构造所述单件类。
5.根据权利要求4所述的方法,其特征在于,所述若所述单件类不存在,则根据预设数据类型构造所述单件类,所述方法还包括:
对所述单件类设置私有访问属性。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述根据预设数据类型构造单件类包括:
根据所述预设数据类型使用c++编程语言的模板编程来构造所述单件类。
7.根据权利要求1至5中任一项所述的方法,其特征在于,所述预设数据类型包括:网络资源信息、房间信息、用户信息、视频编解码信息、日志文件信息和客户端安全加固验证信息。
8.一种直播数据的处理装置,其特征在于,包括:
构造单元,用于根据预设数据类型构造单件类,所述预设数据类型的个数为N,所述N为大于1的整数;
排序单元,用于根据预置的访问关系对所述单件类进行排序,得到所述单件类的单件类排列顺序,所述访问关系为所述单件类所对应的数据类型的访问关系;
获取单元,用于获取直播数据,所述直播数据包括所述直播数据的数据类型,所述直播数据为直播中需要使用的资源数据;
保存单元,用于将所述直播数据保存至与所述数据类型对应的单件类中;
接收单元,用于接收直播间退出指令,所述直播间退出指令指示所述单件类对应的直播间将退出直播程序;
释放单元,用于根据所述直播退出指令以及所述单件类排列顺序的倒序对所述单件类中的直播数据进行释放。
9.一种电子设备,包括存储器、处理器,其特征在于,所述处理器用于执行存储器中存储的计算机管理类程序时实现如权利要求1至7中任意一项所述的直播数据的处理方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机管理类程序,其特征在于:所述计算机管理类程序被处理器执行时实现如权利要求1至7中任意一项所述的直播数据的处理方法的步骤。
CN201811158289.4A 2018-09-30 2018-09-30 一种直播数据的处理方法及其相关设备 Active CN110968368B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811158289.4A CN110968368B (zh) 2018-09-30 2018-09-30 一种直播数据的处理方法及其相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811158289.4A CN110968368B (zh) 2018-09-30 2018-09-30 一种直播数据的处理方法及其相关设备

Publications (2)

Publication Number Publication Date
CN110968368A true CN110968368A (zh) 2020-04-07
CN110968368B CN110968368B (zh) 2022-05-13

Family

ID=70028869

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811158289.4A Active CN110968368B (zh) 2018-09-30 2018-09-30 一种直播数据的处理方法及其相关设备

Country Status (1)

Country Link
CN (1) CN110968368B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116996704A (zh) * 2023-09-26 2023-11-03 易方信息科技股份有限公司 一种基于单例容器的多个直播间数据管理方法及相关装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006043012A1 (en) * 2004-10-22 2006-04-27 New Technology/Enterprise Limited Data processing system and method
CN104951446A (zh) * 2014-03-25 2015-09-30 阿里巴巴集团控股有限公司 大数据处理方法及平台
CN105528257A (zh) * 2016-01-08 2016-04-27 腾讯科技(深圳)有限公司 一种单进程数据处理方法及装置
CN106547543A (zh) * 2016-10-13 2017-03-29 武汉斗鱼网络科技有限公司 基于SharedPreferences工具的数据处理方法及系统
CN106603125A (zh) * 2016-11-29 2017-04-26 新智数字科技有限公司 一种与蓝牙设备进行数据交互的方法及装置
CN107168993A (zh) * 2017-03-29 2017-09-15 广州优视网络科技有限公司 处理响应数据的方法、设备、客户端设备和电子设备
CN107239510A (zh) * 2017-05-12 2017-10-10 腾讯科技(深圳)有限公司 数据处理方法和装置
CN108028945A (zh) * 2015-08-06 2018-05-11 Lg 电子株式会社 通过使用单例系数更新执行变换的设备和方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006043012A1 (en) * 2004-10-22 2006-04-27 New Technology/Enterprise Limited Data processing system and method
CN104951446A (zh) * 2014-03-25 2015-09-30 阿里巴巴集团控股有限公司 大数据处理方法及平台
CN108028945A (zh) * 2015-08-06 2018-05-11 Lg 电子株式会社 通过使用单例系数更新执行变换的设备和方法
CN105528257A (zh) * 2016-01-08 2016-04-27 腾讯科技(深圳)有限公司 一种单进程数据处理方法及装置
CN106547543A (zh) * 2016-10-13 2017-03-29 武汉斗鱼网络科技有限公司 基于SharedPreferences工具的数据处理方法及系统
CN106603125A (zh) * 2016-11-29 2017-04-26 新智数字科技有限公司 一种与蓝牙设备进行数据交互的方法及装置
CN107168993A (zh) * 2017-03-29 2017-09-15 广州优视网络科技有限公司 处理响应数据的方法、设备、客户端设备和电子设备
CN107239510A (zh) * 2017-05-12 2017-10-10 腾讯科技(深圳)有限公司 数据处理方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
小江YUE: "Android单例在内存中存储数据", 《HTTPS://WWW.JIANSHU.COM/P/984A89184453》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116996704A (zh) * 2023-09-26 2023-11-03 易方信息科技股份有限公司 一种基于单例容器的多个直播间数据管理方法及相关装置
CN116996704B (zh) * 2023-09-26 2024-02-06 易方信息科技股份有限公司 一种基于单例容器的多个直播间数据管理方法及相关装置

Also Published As

Publication number Publication date
CN110968368B (zh) 2022-05-13

Similar Documents

Publication Publication Date Title
CN109743315B (zh) 针对网站的行为识别方法、装置、设备及可读存储介质
CN109032691B (zh) 一种小程序运行方法、装置及存储介质
US9600476B2 (en) Acquiring information dynamically regarding a hardware component in the cloud computing system while on the floor of the data center
CN110830735B (zh) 一种视频生成方法、装置、计算机设备和存储介质
CN110784446A (zh) 基于用户权限的云资源获取方法、装置及计算机设备
US20170185454A1 (en) Method and Electronic Device for Determining Resource Consumption of Task
CN110826799B (zh) 业务预测方法、装置、服务器及可读存储介质
CN111400170B (zh) 一种数据权限测试方法及装置
US20210084194A1 (en) Contextual masking of objects in social photographs
US11882154B2 (en) Template representation of security resources
CN110908880A (zh) 埋点代码注入方法、事件上报方法及其相关设备
CN107526636B (zh) 资源识别方法及装置
CN109062799A (zh) 广告场景的回归测试方法、装置及系统
CN110968368B (zh) 一种直播数据的处理方法及其相关设备
CN112800401B (zh) 隐私处理方法、装置及终端
CN113312237B (zh) 信息反馈方法、装置、电子设备及存储介质
CN112966256A (zh) 基于建筑信息模型的设备管理方法及相关装置
US11843569B2 (en) Filtering group messages
US20150328525A1 (en) Event scoring service
US11373001B2 (en) Screen capturing and masking system and method
CN105684454A (zh) 利用循环功能经由嵌入式内容播放器来派发内容
US20170263068A1 (en) Method for generating counting events and electronic device
CN112817493B (zh) 内容共享方法、装置、计算机设备及存储介质
CN114124524A (zh) 一种云平台权限设置方法、装置、终端设备及存储介质
CN112584197B (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