本发明专利技术实施例提供了一种流媒体数据处理方法及系统,通过将码流数据和消息信令按不同的描述文件符整合至同一线程任务通道,并缓存至系统缓存区,提升了流媒体数据接收的性能;通过令收包线程从所述系统缓存区获取所述码流数据,并存入流媒体内部缓存区;不同类型的业务线程从所述流媒体内部缓存区读取所述码流数据,提高了流媒体数据的处理转发性能,达到了提升流媒体数据接收与转发速度的效果。到了提升流媒体数据接收与转发速度的效果。到了提升流媒体数据接收与转发速度的效果。
【技术实现步骤摘要】
流媒体数据处理方法及系统
[0001]本专利技术实施例涉及流媒体数据处理领域,具体而言,涉及一种流媒体数据处理方法及系统。
技术介绍
[0002]目前,第五代移动通信技术(5G)正逐步进入商用时代,这对全球的音视频行业带来了深刻的影响与变革,也使得服务于视频会议、视频物联、视频中台等产品和业务的流媒体系统成为了信息传播的重要机制。5G对于速度的量变将会推动整个产业发生质的变化,也将助力流媒体系统加速发展。
[0003]总的来说,行业内的流媒体系统以直播、录像、回放等为主要功能,其接收和转发性能成为衡量流媒体系统优劣的一个重要指标。目前,业界的接收和转发速度能达到2Gbps,但是再往上提升就显得困难重重了,在高并发大流量的情况下,其处理能力将会极大受限:如接收数据包的速度不够快,导致了系统层面的丢失;如转发处理数据包的速度不够快,导致了应用层面的丢失,流媒体系统的接收和转发性能成为了制约其发展的重要瓶颈。
技术实现思路
[0004]本专利技术实施例提供了一种流媒体数据处理方法及系统,以至少解决相关技术中在大流量情况下,流媒体数据接收和处理转发链路数据丢包的问题。
[0005]根据本专利技术的一个实施例,提供了一种流媒体数据处理方法,包括:将码流数据和消息信令按不同的描述文件符整合至同一线程任务通道,并缓存至系统缓存区;收包线程从所述系统缓存区获取所述码流数据,并存入流媒体内部缓存区;不同类型的业务线程从所述流媒体内部缓存区读取所述码流数据。
[0006]在一个示例性实施例中,所述码流数据和所述消息信令在所述同一线程任务通道中分别通过套接字描述文件符和命名管道描述文件符进行区分。
[0007]在一个示例性实施例中,所述收包线程从所述系统缓存区获取所述码流数据包括:所述码流数据的数据包结构体使用指针进行传递,所述收包线程采用异步IO事件触发机制从所述系统缓存区获取所述码流数据,并根据所述码流数据的流量大小调整取包数量和最大事件数。
[0008]在一个示例性实施例中,所述收包线程从所述系统缓存区获取所述码流数据,还包括:采用多收包线程从所述系统缓存区获取所述码流数据,并发送至多核CPU中指定的CPU处理,并提升所述收包线程的优先级。
[0009]在一个示例性实施例中,所述不同类型的业务线程从所述流媒体内部缓存区读取所述码流数据包括:所述收包线程和业务线程以流媒体内部缓存区为中心,采用生产者/消费者模式传递所述码流数据的数据包,其中,所述收包线程为生产者,所述业务线程为消费者。
[0010]在一个示例性实施例中,所述不同类型的业务线程从所述流媒体内部缓存区读取所述码流数据,还包括:将所述不同类型的业务线程融合到同一所述收包线程和CPU处理;根据所述不同类型的业务线程的任务数量,选择最小载荷的所述收包线程进行处理。
[0011]在一个示例性实施例中,所述流媒体内部缓存区为环形资源池。
[0012]在一个示例性实施例中,在所述不同类型的业务线程从所述流媒体内部缓存区读取所述码流数据之后,还包括:所述不同类型的业务线程将所述码流数据存入存储设备进行数据持久化存储。
[0013]根据本专利技术的另一个实施例,提供了一种流媒体数据处理系统,包括:数据处理模块,用于将码流数据和消息信令按不同的描述文件符整合至同一线程任务通道,并缓存至系统缓存区;数据获取模块,用于从所述系统缓存区获取所述码流数据,并存入流媒体内部缓存区;数据读取模块,用于根据业务线程的不同类型从所述流媒体内部缓存区读取所述码流数据。
[0014]在一个示例性实施例中,所述数据处理模块包括以下至少之一:第一数据处理单元,用于将所述码流数据按套接字描述文件符整合进入所述线程任务通道;第二数据处理单元,用于将所述消息信令按命名管道描述文件符整合进入所述线程任务通道。
[0015]在一个示例性实施例中,所述数据读取模块包括以下至少之一:第一读取单元,用于在所述码流数据存入所述流媒体内部缓存区后,根据所述业务线程的不同类型立即从所述流媒体内部缓存区读取所述码流数据;第二读取单元,在所述码流数据存入所述流媒体内部缓存区后,根据所述业务线程的不同类型同时从所述流媒体内部缓存区读取所述码流数据;第三读取单元,在所述码流数据存入所述流媒体内部缓存区后,所述业务线程的不同类型的需要随时从所述流媒体内部缓存区读取所述码流数据。
[0016]在一个示例性实施例中,还包括:数据存储模块,用于将所述数据读取模块读取的所述码流数据存入存储设备。
[0017]根据本专利技术的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
[0018]根据本专利技术的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
[0019]通过上述实施例,通过将码流数据和消息信令按不同的描述文件符整合至同一线程任务通道,并缓存至系统缓存区,提升了流媒体数据接收的性能;通过令收包线程从所述系统缓存区获取所述码流数据,并存入流媒体内部缓存区;不同类型的业务线程从所述流媒体内部缓存区读取所述码流数据,提高了流媒体数据的处理转发性能,达到了提升流媒体数据接收与转发速度的效果。
附图说明
[0020]图1是本专利技术实施例的一种流媒体数据处理方法的移动终端的硬件结构框图;
[0021]图2是根据本专利技术实施例的一种流媒体数据处理方法运行网络架构图;
[0022]图3是根据本专利技术实施例的流媒体数据处理方法的流程图;
[0023]图4是根据本专利技术实施例的业务线程读取码流数据的流程图;
[0024]图5是根据本专利技术实施例的流媒体数据处理方法的流程图;
[0025]图6是根据本专利技术实施例的流媒体数据处理系统的结构框图;
[0026]图7是根据本专利技术实施例的数据处理模块的结构框图;
[0027]图8是根据本专利技术实施例的数据读取模块的结构框图;
[0028]图9是根据本专利技术实施例的流媒体数据处理系统的结构框图;
[0029]图10是根据本专利技术场景实施例的流媒体数据处理的流程图;
[0030]图11是根据本专利技术场景实施例的线程管理机制示意图;
[0031]图12是根据本专利技术场景实施例的收包线程采用纵横取包技术原理示意图;
[0032]图13是根据本专利技术场景实施例的业务线程融合生产者消费者技术原理示意图。
具体实施方式
[0033]下文中将参考附图并结合实施例来详细说明本专利技术的实施例。
[0034]需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
[0035]本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种流媒体数据处理方法,其特征在于,包括:将码流数据和消息信令按不同的描述文件符整合至同一线程任务通道,并缓存至系统缓存区;收包线程从所述系统缓存区获取所述码流数据,并存入流媒体内部缓存区;不同类型的业务线程从所述流媒体内部缓存区读取所述码流数据。2.根据权利要求1所述的方法,其特征在于,所述码流数据和所述消息信令在所述同一线程任务通道中分别通过套接字描述文件符和命名管道描述文件符进行区分。3.根据权利要求1所述的方法,其特征在于,所述收包线程从所述系统缓存区获取所述码流数据包括:所述码流数据的数据包结构体使用指针进行传递,所述收包线程采用异步IO事件触发机制从所述系统缓存区获取所述码流数据,并根据所述码流数据的流量大小调整取包数量和最大事件数。4.根据权利要求1所述的方法,其特征在于,所述收包线程从所述系统缓存区获取所述码流数据,还包括:采用多收包线程从所述系统缓存区获取所述码流数据,并发送至多核CPU中指定的CPU处理,并提升所述收包线程的优先级。5.根据权利要求4所述的方法,其特征在于,所述不同类型的业务线程从所述流媒体内部缓存区读取所述码流数据包括:所述收包线程和业务线程以流媒体内部缓存区为中心,采用生产者/消费者模式传递所述码流数据的数据包,其中,所述收包线程为生产者,所述业务线程为消费者。6.根据权利要求5所述的方法,其特征在于,所述不同类型的业务线程从所述流媒体内部缓存区读取所述码流数据,还包括:将所述不同类型的业务线程融合到同一所述收包线程和CPU处理;根据所述不同类型的业务线程的任务数量,选择最小载荷的所述收包线程进行处理。7.根据权利要求6所述的方法,其特征在于,所述流媒体内部缓存区为环形资源池。8.根据权利要求1所述的方法,其特征在于,在所述不同类型的业务线程从所述流媒体内部缓存区读取所述码流数据之后,还包括...
【专利技术属性】
技术研发人员:陈俊江,涂英哲,张胜文,陈勇,卢建,
申请(专利权)人:中兴通讯股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。