CN102307198A - 一种音视频数据的传输方法 - Google Patents
一种音视频数据的传输方法 Download PDFInfo
- Publication number
- CN102307198A CN102307198A CN201110253058A CN201110253058A CN102307198A CN 102307198 A CN102307198 A CN 102307198A CN 201110253058 A CN201110253058 A CN 201110253058A CN 201110253058 A CN201110253058 A CN 201110253058A CN 102307198 A CN102307198 A CN 102307198A
- Authority
- CN
- China
- Prior art keywords
- audio
- video data
- receiving thread
- receiving
- data block
- 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.)
- Pending
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明提供一种音视频数据的传输方法,包括以下步骤。接收线程组根据区域与接收线程组的对应关系接收对应区域内用户传输的音频或视频数据。管理线程判断所有接收线程组中接收线程的使用情况,并根据控制策略处理接收线程组中的空闲接收线程。
Description
技术领域
本发明属于数据传输领域,尤其涉及一种音视频数据的传输方法。
背景技术
随着社会信息化的不断发展,音视频信号的传输在人们的日常信息交流及沟通中显得越来越重要。然而,目前的音视频数据接收,通常采用单线程对单数据进行处理,如此,无法提高接收线程的利用率。而且,当需要使用接收线程接收音频或视频数据时,需要创建新的接收线程,当不使用接收线程时,则需要关闭接收线程。如此,频繁创建和关闭接收线程增加了服务器的负载压力,亦增加了系统资源的开销。
发明内容
本发明提供一种音视频数据的传输方法,以解决上述问题。
本发明提供一种音视频数据的传输方法,包括以下步骤。接收线程组根据区域与接收线程组的对应关系接收对应区域内用户传输的音频或视频数据。管理线程判断所有接收线程组中接收线程的使用情况,并根据控制策略处理接收线程组中的空闲接收线程。
相较于先前技术,根据本发明提供的音视频数据的传输方法,管理线程根据控制策略处理接收线程组中的空闲接收线程,从而提高了接收线程的利用率。同时,可以防止由频繁创建和关闭接收线程而增加服务器的负载压力以及系统资源的开销。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1所示为根据本发明的较佳实施例提供的音视频数据的传输方法的流程图;
图2所示为根据本发明较佳实施例提供的音频数据块的示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1所示为根据本发明的较佳实施例提供的音视频数据的传输方法的流程图。如图1所示,本发明较佳实施例提供的音视频数据的传输方法包括步骤101~105。
于步骤101,接收线程组根据区域与接收线程组的对应关系接收对应区域内用户传输的音频或视频数据。举例而言,接收线程组与区域的对应关系可如下表所示。
接收线程组 | 区域 |
接收线程组一 | 北京 |
接收线程组二 | 上海 |
接收线程组三 | 深圳 |
接收线程组四 | 广州 |
其中,每个接收线程组至少包括两个预先创建的接收线程。例如,接收线程组一包括3个接收线程,接收线程组二包括4个接收线程,接收线程组三包括3个接收线程,接收线程组四包括5个接收线程。然而,本发明并不限定接收线程组的数目以及接收线程组包括的接收线程的数目,只要确保接收线程组与区域可以一一对应即可。于实际应用中,可根据区域的数目设置相应数目的接收线程组。
于步骤102,管理线程判断所有接收线程组中接收线程的使用情况,并根据控制策略处理接收线程组中的空闲接收线程。其中,控制策略为:当某个接收线程组中的接收线程无法满足一对一接收对应区域内用户传输的音频或视频数据时,按照接收线程组空闲度的优先级顺序调用空闲度最高的接收线程组中的空闲接收线程为所述接收线程组服务;于一特定时间段内,若某个接收线程组中存在空闲接收线程,且所述空闲接收线程没有被调用,则关闭所述空闲接收线程。其中,接收线程组的空闲度为接收线程组中空闲接收线程数目与总接收线程数目的比值。
举例而言,当北京区域有两个用户传输音频或视频数据时,接收线程组一激活两个接收线程分别接收所述两个用户传输的音频或视频数据。若北京区域用户传输的音频或视频数据超过三组(例如,五组音频或视频数据),则接收线程组一中的接收线程无法满足一对一接收北京区域内用户传输的音频或视频数据。此时,管理线程会判断其他接收线程组中接收线程的使用情况,并根据所述使用情况得到接收线程组空闲度的优先级顺序。例如,当接收线程组二中空闲接收线程为2个,接收线程组三中空闲接收线程为1个,接收线程组四中空闲接收线程为3个,则接收线程组二、三及四的空闲度的优先级顺序从高到低为:接收线程组四、接收线程组二、接收线程组三。如此,管理线程根据控制策略会调用接收线程组四中的空闲线程(例如,两个空闲接收线程)为接收线程组一服务。此外,若管理线程调用接收线程组四中的空闲线程后仍无法满足北京区域内用户传输的音频或视频数据的接收服务,则管理线程依次再调用接收线程组二及接收线程组三中的空闲接收线程为接收线程组一服务。其中,被调用的空闲接收线程完成任务后,仍将为其所属的接收线程组服务。
另外,于一特定时间段内,若管理线程检测到某个接收线程组中存在空闲接收线程,且所述空闲接收线程没有被其他接收线程组调用,则所述空闲接收线程会被关闭。此外,当所有的线程接收组中的空闲线程均使用完毕,仍无法满足音频或视频数据的接收需求时,管理线程会创建相应数目的新接收线程以执行相应的接收操作,同时,于执行完毕后关闭所述新建的接收线程。
于步骤103,每个接收线程接收音频或视频数据后,将音频或视频数据写入缓存区。
于步骤104,数据处理线程从缓冲区获取音频或视频数据块的信息区,并解析信息区以得到前一个音频或视频数据块的大小信息以及所述音频或视频数据块的数据区的大小信息。其中,信息区具有固定大小。具体而言,每个音频或视频数据块包含信息区以及数据区,信息区包含前一个音频或视频数据块的大小信息、音频或视频数据块的数据区的大小信息以及时间戳。例如,每个音频或视频数据块的信息区长度恒定为15个字节。其中,前4个字节的内容为前一个音频或视频数据块的大小信息,后4个字节的内容为此音频或视频数据块的数据区的大小信息,其余字节的内容可为时间戳信息。然而,本发明对此不作任何限定。于此,上述时间戳信息可以保证音频或视频数据的时间同步。
此外,为防止缓冲区同时进行读写数据的操作,设置互斥锁,从而杜绝缓冲区的音频或视频数据在访问和读写时发生数据信息量错乱,以保证音频或视频数据传输的准确性。
于步骤105,数据处理线程验证当前得到的前一个音频或视频数据块的大小信息是否与前一个音频或视频数据块的大小一致。若两者一致,则数据处理线程从缓冲区获取与所述音频或视频数据块的数据区的大小信息一致的音频或视频数据块的数据区。若两者不一致,则数据处理线程丢弃当前获取的音频或视频数据块的信息区,并重新从缓冲区获取音频或视频数据块的信息区。
于此,以音频数据传输为例说明。图2所示为根据本发明较佳实施例提供的音频数据块的示意图。如图2所示,音频数据块B包含信息区b1与数据区b2,信息区b1包含前一个音频数据块A的大小信息b11以及音频数据块B的数据区b2的大小信息b12。
具体而言,数据处理线程从缓冲区获取音频数据块B的信息区b1,并解析信息区b1,从而得到音频数据块A的大小信息b11以及音频数据块B的大小信息b12。接着,数据处理线程验证当前得到的音频数据块A的大小信息b11是否与音频数据块A的大小一致。若数据处理线程检测到两者一致,则数据处理线程从缓冲区获取与数据区b2的大小信息b12一致的音频数据块B的数据区。另外,若数据处理线程检测到两者不一致时,则数据处理线程丢弃音频数据块B的信息区b1,重新从缓冲区获取下一个音频数据块的信息区。然而,本发明对此不作任何限定。同理,对于数据处理线程获取的视频数据块亦有相应的处理。故于此不再赘述。如此,通过当前获取的信息区可以对前一个音频或视频数据块进行检测,从而便于在数据传输过程中及时发现数据异常,保证数据传输的准确性。
此外,数据处理线程从缓冲区获取信息区或数据区的方式可按照下述方式实现。当缓冲区有满足要求大小的音频或视频数据块的信息区或数据区时,缓冲区会弹出这个音频或视频数据块的信息区或数据区。如此,数据处理线程可直接获得上述音频或视频数据块信息区或数据区。反之,数据处理线程需等待至缓冲区内有满足要求大小的信息区或数据区时才进行获取。然而,本发明对此不作任何限定。
于实际应用中,数据处理线程与接收线程的数目相对应。如此,有助于保证音频或视频数据传输的连贯性以及音频或视频数据接收的高效性。此外,当数据处理线程正常接收音频或视频数据后,会将音频或视频数据传输至音频或视频解码器,以实时解码音频或视频数据,从而保证音频及视频数据的实时播放。
综上所述,根据本发明较佳实施例提供的音视频数据的传输方法,管理线程根据控制策略处理接收线程组中的空闲接收线程,从而提高了接收线程的利用率。同时,可以防止由频繁创建和关闭接收线程而增加服务器的负载压力以及系统资源的开销。此外,数据处理线程根据数据块大小信息验证前一个音频或视频数据块的传输是否正确,从而保证了接收到的音视频数据的准确性,便于及时发现数据传输异常。如此,保证了音视频数据传输的连贯性与高效性。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种音视频数据的传输方法,其特征在于,包括以下步骤:
接收线程组根据区域与接收线程组的对应关系接收对应区域内用户传输的音频或视频数据;
管理线程判断所有接收线程组中接收线程的使用情况,并根据控制策略处理接收线程组中的空闲接收线程。
2.根据权利要求1所述的音视频数据的传输方法,其特征在于,所述控制策略为:当某个接收线程组中的接收线程无法满足一对一接收对应区域内用户传输的音频或视频数据时,按照接收线程组空闲度的优先级顺序调用空闲度优先级最高的接收线程组中的空闲接收线程为所述接收线程组服务,其中,所述接收线程组的空闲度为所述接收线程组中空闲接收线程数目与总接收线程数目的比值,
于一特定时间段内,若某个接收线程组中存在空闲接收线程,且所述空闲接收线程没有被调用,则关闭所述空闲接收线程。
3.根据权利要求1所述的音视频数据的传输方法,其特征在于,所述每个接收线程接收音频或视频数据后,将所述音频或视频数据写入缓存区。
4.根据权利要求3所述的音视频数据的传输方法,其特征在于,数据处理线程从所述缓冲区获取音频或视频数据块的信息区,并解析所述信息区以得到前一个音频或视频数据块的大小信息以及所述音频或视频数据块的数据区的大小信息,其中,所述信息区具有固定大小。
5.根据权利要求4所述的音视频数据的传输方法,其特征在于,所述信息区还包括时间戳。
6.根据权利要求4所述的音视频数据的传输方法,其特征在于,所述数据处理线程验证当前得到的所述前一个音频或视频数据块的大小信息是否与前一个音频或视频数据块的大小一致,若两者一致,则所述数据处理线程从所述缓冲区获取与所述音频或视频数据块的数据区的大小信息一致的所述音频或视频数据块的数据区。
7.根据权利要求6所述的音视频数据的传输方法,其特征在于,若所述数据处理线程验证当前得到的所述前一个音频或视频数据块的大小信息与前一个音频或视频数据块的大小不一致,则所述数据处理线程丢弃当前获取的所述音频或视频数据块的信息区,并重新从所述缓冲区获取下一个音频或视频数据块的信息区。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110253058A CN102307198A (zh) | 2011-08-30 | 2011-08-30 | 一种音视频数据的传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110253058A CN102307198A (zh) | 2011-08-30 | 2011-08-30 | 一种音视频数据的传输方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102307198A true CN102307198A (zh) | 2012-01-04 |
Family
ID=45381007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110253058A Pending CN102307198A (zh) | 2011-08-30 | 2011-08-30 | 一种音视频数据的传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102307198A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102333226A (zh) * | 2011-09-01 | 2012-01-25 | 苏州阔地网络科技有限公司 | 一种音视频数据传输方法 |
CN102611760A (zh) * | 2012-04-16 | 2012-07-25 | 苏州阔地网络科技有限公司 | 一种文件的传输方法及系统 |
CN103905783A (zh) * | 2012-12-25 | 2014-07-02 | 杭州海康威视数字技术股份有限公司 | 对视频流进行解码显示的方法及设备 |
CN104753711A (zh) * | 2013-12-31 | 2015-07-01 | 华为技术有限公司 | 调整网络设备资源配置的方法及装置 |
CN107423454A (zh) * | 2017-09-22 | 2017-12-01 | 郑州云海信息技术有限公司 | 一种分布式文件系统中文件锁的处理方法、装置及设备 |
CN110769046A (zh) * | 2019-10-17 | 2020-02-07 | 新华三信息安全技术有限公司 | 一种报文获取方法、装置、电子设备及机器可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1881895A (zh) * | 2005-06-17 | 2006-12-20 | 华为技术有限公司 | 一种网络管理系统中的设备操作方法 |
CN101009642A (zh) * | 2006-12-31 | 2007-08-01 | 华为技术有限公司 | 一种基于任务分组的资源分配方法和装置 |
KR100800411B1 (ko) * | 2006-09-13 | 2008-02-04 | 엘지전자 주식회사 | 디지털 비디오 레코더에서의 버퍼 메모리 제어장치 및 방법 |
CN100416506C (zh) * | 2006-10-27 | 2008-09-03 | 北京金山软件有限公司 | 基于多核cpu架构的网游服务器的数据分配方法及系统 |
US20110022817A1 (en) * | 2009-07-27 | 2011-01-27 | Advanced Micro Devices, Inc. | Mapping Processing Logic Having Data-Parallel Threads Across Processors |
CN102025649A (zh) * | 2010-06-04 | 2011-04-20 | 西本新干线股份有限公司 | 企业服务总线的消息处理方法 |
-
2011
- 2011-08-30 CN CN201110253058A patent/CN102307198A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1881895A (zh) * | 2005-06-17 | 2006-12-20 | 华为技术有限公司 | 一种网络管理系统中的设备操作方法 |
KR100800411B1 (ko) * | 2006-09-13 | 2008-02-04 | 엘지전자 주식회사 | 디지털 비디오 레코더에서의 버퍼 메모리 제어장치 및 방법 |
CN100416506C (zh) * | 2006-10-27 | 2008-09-03 | 北京金山软件有限公司 | 基于多核cpu架构的网游服务器的数据分配方法及系统 |
CN101009642A (zh) * | 2006-12-31 | 2007-08-01 | 华为技术有限公司 | 一种基于任务分组的资源分配方法和装置 |
US20110022817A1 (en) * | 2009-07-27 | 2011-01-27 | Advanced Micro Devices, Inc. | Mapping Processing Logic Having Data-Parallel Threads Across Processors |
CN102025649A (zh) * | 2010-06-04 | 2011-04-20 | 西本新干线股份有限公司 | 企业服务总线的消息处理方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102333226A (zh) * | 2011-09-01 | 2012-01-25 | 苏州阔地网络科技有限公司 | 一种音视频数据传输方法 |
CN102611760A (zh) * | 2012-04-16 | 2012-07-25 | 苏州阔地网络科技有限公司 | 一种文件的传输方法及系统 |
CN103905783A (zh) * | 2012-12-25 | 2014-07-02 | 杭州海康威视数字技术股份有限公司 | 对视频流进行解码显示的方法及设备 |
CN103905783B (zh) * | 2012-12-25 | 2017-09-01 | 杭州海康威视数字技术股份有限公司 | 对视频流进行解码显示的方法及设备 |
CN104753711A (zh) * | 2013-12-31 | 2015-07-01 | 华为技术有限公司 | 调整网络设备资源配置的方法及装置 |
CN104753711B (zh) * | 2013-12-31 | 2018-03-09 | 华为技术有限公司 | 调整网络设备资源配置的方法及装置 |
CN107423454A (zh) * | 2017-09-22 | 2017-12-01 | 郑州云海信息技术有限公司 | 一种分布式文件系统中文件锁的处理方法、装置及设备 |
CN107423454B (zh) * | 2017-09-22 | 2021-01-12 | 苏州浪潮智能科技有限公司 | 一种分布式文件系统中文件锁的处理方法、装置及设备 |
CN110769046A (zh) * | 2019-10-17 | 2020-02-07 | 新华三信息安全技术有限公司 | 一种报文获取方法、装置、电子设备及机器可读存储介质 |
CN110769046B (zh) * | 2019-10-17 | 2022-11-18 | 新华三信息安全技术有限公司 | 一种报文获取方法、装置、电子设备及机器可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102307198A (zh) | 一种音视频数据的传输方法 | |
CN100390747C (zh) | 全程化实时系统中基于内存数据库的软双机备份方法 | |
CN110990432B (zh) | 一种跨机房同步分布式缓存集群的装置和方法 | |
CN103838859B (zh) | 一种减少linux下多进程间数据拷贝的方法 | |
RU2010116037A (ru) | Платформа составных приложений на базе модели | |
CN101771723A (zh) | 数据同步方法 | |
US20190347167A1 (en) | Primary Node-Standby Node Data Transmission Method, Control Node, and Database System | |
CN103246616A (zh) | 一种长短周期访问频度的全局共享缓存替换方法 | |
CN103763368B (zh) | 一种跨数据中心的数据同步方法 | |
CN102333226A (zh) | 一种音视频数据传输方法 | |
KR101545626B1 (ko) | Dds-db 연동 시스템 | |
CN101753439A (zh) | 一种流媒体分发传输方法 | |
WO2019057193A1 (zh) | 数据删除方法及分布式存储系统 | |
CN105007193A (zh) | 一种多层信息处理方法、系统及集群管理节点 | |
US20220374407A1 (en) | Multi-tenant partitioning in a time-series database | |
CN104657366A (zh) | 海量日志写入数据库的方法、装置和日志容灾系统 | |
CN112307119A (zh) | 数据同步方法、装置、设备及存储介质 | |
CN104598615A (zh) | 一种支持数据持久化的内存存取方法和装置 | |
CN102279810A (zh) | 一种网络存储服务器及其缓存数据的方法 | |
CN102467940A (zh) | 一种无索引视频文件快进快退方法、装置以及播放系统 | |
CN102467525A (zh) | 单据关联方法及系统 | |
CN103986585A (zh) | 报文预处理方法及其装置 | |
CN103441831B (zh) | 一种双进程间的全双工通信及互保方法和系统 | |
CN105828017B (zh) | 一种面向视频会议的云存储接入系统及方法 | |
CN101344882A (zh) | 数据查询方法、插入方法及删除方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120104 |