CN102761487B - 数据流处理方法和系统 - Google Patents
数据流处理方法和系统 Download PDFInfo
- Publication number
- CN102761487B CN102761487B CN201210242506.4A CN201210242506A CN102761487B CN 102761487 B CN102761487 B CN 102761487B CN 201210242506 A CN201210242506 A CN 201210242506A CN 102761487 B CN102761487 B CN 102761487B
- Authority
- CN
- China
- Prior art keywords
- data flow
- resource group
- distribution
- described multiple
- flows
- 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
Links
Landscapes
- Information Transfer Between Computers (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种数据流处理方法和系统,该方法用于借助众核处理器的多个处理核心对数据流进行解码处理,其中,多个处理器核心被划分为多个资源组,该方法包括:将数据流分配给多个资源组中的部分或全部;以及每个资源组对被分配到该资源组的数据流进行解码处理。本发明通过将数据流分配给多个处理核心划分得到的多个资源组中的部分或全部,并在每个资源组中对被分配到该资源组的数据流进行解码处理,从而能够对多个数据流进行并行处理,并且减少各个流的各个片段输入产生的响应延迟以及整个流的响应延迟,提高了处理效率,优化了处理器资源的使用。
Description
技术领域
本发明涉及数据处理领域,具体地,涉及一种数据流处理方法和系统。
背景技术
随着互联网的飞速发展,基于网络的音视频传输流量也越来越大,网络音视频流已深入到了人们的日常生活,给我们的生活带来了很多方便和变化,而不断出现庞大的、不同内容的图像信息库,也似乎给我们带来了不少的困扰,网上大量不良图像对广大青年人的有很多毒害;为了净化网络,维护社会和谐安定,迫切需要对网络上的音视频内容进行监管。而音视频内容监管需要高性能的解码系统,才能够满足互联网海量音视频数据的并行解码需求。然而,大量的视频解码任务片段是属于同一个流,流路数多,不同流任务片段数目差异大,需要兼顾负载均衡和流的响应延迟。
针对相关技术中由于统一对所有数据流进行处理导致处理效率低、处理资源利用不合理的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中由于统一对所有数据流进行处理导致处理效率低、处理资源利用不合理的问题,本发明提出一种数据流处理方法和系统,能够通过对多个处理核心划分得到的多个资源组对数据流进行并行处理,提高处理的效率,优化利用处理资源。
本发明的技术方案是这样实现的:
根据本发明的一个方面,提供了一种数据流处理方法,该处理方法用于借助众核处理器的多个处理器核心对数据流进行解码处理,其中,多个处理器核心被划分为多个资源组,该处理方法包括:
将数据流分配给多个资源组中的部分或全部;以及
每个资源组对被分配到该资源组的数据流进行解码处理。
其中,将数据流分配给多个资源组中的部分或全部包括:
根据多个资源组的负荷,将数据流分配给多个资源组中的部分或全部。
此外,将数据流分配给多个资源组中的部分或全部进一步包括:
对每个资源组分配一个数据流,如果仍存在未分配的数据流,则根据多个资源组的负荷将未分配的数据流分配给多个资源组,直至不存在未分配的数据流。
并且,在分配了所有数据流之后,进一步通过以下方式中的至少之一对已经分配的数据流的分配情况进行调整:
根据数据流的片段数量对数据流的分配情况进行调整;
根据数据流的格式对数据流的分配情况进行调整;以及
根据数据流的属性对数据流的分配情况进行调整。
该处理方法进一步包括:
在将数据流分配给多个资源组中的部分或全部之后,对于每个资源组,根据对该资源组分配的数据流创建描述节点链表,链表中包括描述节点以及数据流,每个描述节点对应于该资源组分配的一数据流,每个数据流包括一个或者多个数据片段。
而且,每个资源组对被分配到该资源组的数据流进行解码处理包括:
每个资源组在各自对应的描述节点链表中提取数据流的片段,并根据系统配置参数对提取的该流的一个或者多个片段进行解码;如果解码后,本资源组的任务池为空,则继续解码该数据流后续片段;如果资源组的任务池不为空,则归还当前任务描述节点,重新获取新任务节点,重复解码工作。
根据本发明的另一个方面,提供了一种数据流处理系统,该处理系统包括多个处理器核心,该多个处理器核心对数据流进行解码处理,其中,多个处理器核心被划分为多个资源组,该处理系统包括:
分配模块,用于将数据流分配给多个资源组中的部分或全部;以及
多个资源组,每个资源组对被分配到该资源组的数据流进行解码处理。
其中,分配模块用于根据多个资源组的负荷,将数据流分配给多个资源组中的部分或全部。
此外,分配模块进一步用于对每个资源组分配一个数据流,如果仍存在未分配的数据流,分配模块则根据多个资源组的负荷将未分配的数据流分配给多个资源组,直至不存在未分配的数据流。
并且,分配模块在分配了所有数据流之后,进一步用于通过以下方式中的至少之一对已经分配的数据流的分配情况进行调整:
根据数据流的片段数量对数据流的分配情况进行调整;
根据数据流的格式对数据流的分配情况进行调整;以及
根据数据流的属性对数据流的分配情况进行调整。
本发明通过将数据流分配给多个处理核心划分得到的多个资源组中的部分或全部,并在每个资源组中对被分配到该资源组的数据流进行解码处理,从而能够对多个数据流进行并行处理,并且减少各个流的各个片段输入产生的响应延迟以及整个流的响应延迟,提高了处理效率,优化了处理器资源的使用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的数据流处理方法的流程图;
图2是根据本发明实施例的数据流处理方法的示意图;
图3是根据本发明实施例的数据流处理系统的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明的实施例,提供了一种数据流处理方法。该处理方法用于借助众核处理器的多个处理器核心对数据流进行解码处理,其中,多个处理器核心被划分为多个资源组。
如图1所示,根据本发明实施例的数据流处理方法包括:
步骤S101,将数据流分配给多个资源组中的部分或全部;
步骤S103,每个资源组对被分配到该资源组的数据流(其中,数据流可以包括视频数据流和/或音频数据流)进行解码处理。
对于众核资源分组架构,是指把众核多个核心(计算资源)分为一组,形成以组为单位的多个资源组。
例如,以Tilera众核CPU为例,其可以在单芯片上提供64个处理器核心,每个核心可以独立运行,可通过共享内存和消息传递机制来进行通信,为大规模多路音视频流的并行计算提供计算平台。类似地,其他多核处理器同样能够采用本发明的技术方案。
在该方法中,先对所有的数据流进行全局任务调度处理。
具体地,在步骤S101中,将数据流分配给多个资源组中的部分或全部包括:根据多个资源组的负荷,将数据流分配给多个资源组中的部分或全部。
并且,将数据流分配给多个资源组中的部分或全部进一步包括:对每个资源组分配一个数据流,如果仍存在未分配的数据流,则根据多个资源组的负荷将未分配的数据流分配给多个资源组,直至不存在未分配的数据流。
根据待解码数据压缩格式类型,选择负载最轻的资源组进行分配,其中,负载轻重计算可以包括:按照当前资源组待解码数据格式权重、已解码片断负载修正值、片断数量等计算每个资源组所对应的总负载。
并且,在分配了所有数据流之后,进一步通过以下方式中的至少之一对已经分配的数据流的分配情况进行调整(即,对已经分配的数据流进行再次分配):
根据数据流的片段数量对数据流的分配情况进行调整;
根据数据流的格式对数据流的分配情况进行调整;以及
根据数据流的属性对数据流的分配情况进行调整。
该处理方法进一步包括:
在将数据流分配给多个资源组中的部分或全部之后,对于每个资源组,根据对该资源组分配的数据流创建描述节点链表,链表中包括描述节点以及数据流,每个描述节点对应于该资源组分配的一数据流,每个数据流包括一个或者多个数据片段。创建对该流的描述节点,包括流号、当前未解码片断数,正在处理的片断号等。
并且,直接根据任务描述信息中的组号,在对应组的流描述节点链表中进行哈希(hash)计算查找流描述节点位置,更新描述信息。
在该方法中,还需对所有的数据流进行组内任务调度处理。
每个资源组对被分配到该资源组的数据流进行解码处理包括:
每个资源组在各自对应的描述节点链表中提取数据流的片段,并根据系统配置参数对提取的该流的一个或者多个片段进行解码;如果解码后,本资源组的任务池为空,则继续解码该数据流后续片段;如果资源组的任务池不为空,则归还当前任务描述节点,重新获取新任务节点,重复解码工作。
例如,在核心空闲时,到本组任务资源链表中获取一个任务流描述节点,解码节点任务链表第一个数据片断或根据配置文件配置连续解码几个片断;若任务链表为空,继续解码后续片断;否则,归还该流到本组任务流链表,若该流任务片断链表为空,释放流描述节点;查找下一个任务。
如图2所示,C表示处理器核心,F为片段,每个流有多个解码片段,片段号从0开始依次递增,S是流,每个流有唯一标识号。其中,处理器核心可以被划分为多个组,例如,IO资源组、预处理资源组以及解码资源组等,在IO资源组中,数据流被接收到,在预处理组,数据流被分配到多个处理资源组并且,数据流的格式、编码率、分辨率等信息会被确定,在解码组会进行数据流的解码,并且会在解码组内进行组内任务调度处理。
根据本发明的实施例,还提供了一种数据流处理系统,该处理系统包括多个处理器核心,该多个处理器核心对数据流进行解码处理,其中,多个处理器核心被划分为多个资源组。
如图3所述,根据本发明实施例的数据流处理系统包括:
分配模块31,用于将数据流分配给多个资源组中的部分或全部;
多个资源组32,每个资源组对被分配到该资源组的数据流进行解码处理。
该多个资源组32包括不同的功能资源组,如IO资源组、预处理资源组以及解码资源组等。
IO资源组接收到未知类型的新数据流(待解码数据流的压缩格式未知),把数据流交给预处理资源组进行格式识别等处理(如按数据流的格式和属性分类),当接收到已知类型数据时,表明对该流已进行过处理,因此,把数据流交给解码资源组进行解码处理。
其中,分配模块31用于根据多个资源组32的负荷,将数据流分配给多个资源组32中的部分或全部。
此外,分配模块31进一步用于对每个资源组分配一个数据流,如果仍存在未分配的数据流,分配模块31则根据多个资源组32的负荷将未分配的数据流分配给多个资源组32,直至不存在未分配的数据流。
并且,分配模块31在分配了所有数据流之后,进一步用于通过以下方式中的至少之一对已经分配的数据流的分配情况进行调整:
根据数据流的片段数量对数据流的分配情况进行调整;
根据数据流的格式对数据流的分配情况进行调整;以及
根据数据流的属性对数据流的分配情况进行调整。
综上所述,借助于本发明的上述技术方案,通过数据流分配给多个资源组中的部分或全部;以及在每个资源组中对被分配到该资源组的数据流进行解码处理,使得各个流的各个片段输入得到的响应延迟和整个流的响应延迟时间达到均衡。上述技术方案利用了众核的众多核心,考虑互联网视频流的特性,通过分组策略进行数据并行和功能并行,并对待处理数据基于流进行调度管理,可以满足对每个流内容解码检测的性能需求。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种数据流处理方法,其特征在于,所述方法用于借助众核处理器的多个处理器核心对数据流进行解码处理,其中,所述多个处理器核心被划分为多个资源组,所述方法包括:
将数据流分配给所述多个资源组中的部分或全部;以及
每个资源组对被分配到该资源组的数据流进行解码处理;
其中,将数据流分配给所述多个资源组中的部分或全部包括:根据所述多个资源组的负荷,将数据流分配给所述多个资源组中的部分或全部;
在分配了所有数据流之后,进一步通过以下方式中的至少之一对已经分配的数据流的分配情况进行调整:
根据数据流的片段数量对数据流的分配情况进行调整;
根据数据流的格式对数据流的分配情况进行调整;以及
根据数据流的属性对数据流的分配情况进行调整。
2.根据权利要求1所述的数据流处理方法,其特征在于,将数据流分配给所述多个资源组中的部分或全部进一步包括:
对每个资源组分配一个数据流,如果仍存在未分配的数据流,则根据所述多个资源组的负荷将未分配的数据流分配给所述多个资源组,直至不存在未分配的数据流。
3.根据权利要求1所述的数据流处理方法,其特征在于,进一步包括:
在将数据流分配给所述多个资源组中的部分或全部之后,对于每个资源组,根据对该资源组分配的数据流创建描述节点链表,所述链表中包括描述节点以及数据流,每个描述节点对应于该资源组分配的一数据流,每个数据流包括一个或者多个数据片段。
4.根据权利要求3所述的数据流处理方法,每个资源组对被分配到该资源组的数据流进行解码处理包括:
每个资源组在各自对应的所述描述节点链表中提取数据流的片段,并根据系统配置参数对提取的该流的一个或者多个片段进行解码;如果解码后,本资源组的任务池为空,则继续解码该数据流后续片段;如果资源组的任务池不为空,则归还当前任务描述节点,重新获取新任务节点,重复解码工作。
5.一种数据流处理系统,其特征在于,包括多个处理器核心,所述多个处理器核心对数据流进行解码处理,其中,所述多个处理器核心被划分为多个资源组,所述系统包括:
分配模块,用于将数据流分配给所述多个资源组中的部分或全部;以及
多个资源组,每个资源组对被分配到该资源组的数据流进行解码处理,其中,分配模块用于根据所述多个资源组的负荷,将数据流分配给所述多个资源组中的部分或全部;
分配模块在分配了所有数据流之后,进一步用于通过以下方式中的至少之一对已经分配的数据流的分配情况进行调整:
根据数据流的片段数量对数据流的分配情况进行调整;
根据数据流的格式对数据流的分配情况进行调整;以及
根据数据流的属性对数据流的分配情况进行调整。
6.根据权利要求5所述的数据流处理系统,其特征在于,分配模块进一步用于对每个资源组分配一个数据流,如果仍存在未分配的数据流,分配模块则根据所述多个资源组的负荷将未分配的数据流分配给所述多个资源组,直至不存在未分配的数据流。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210242506.4A CN102761487B (zh) | 2012-07-12 | 2012-07-12 | 数据流处理方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210242506.4A CN102761487B (zh) | 2012-07-12 | 2012-07-12 | 数据流处理方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102761487A CN102761487A (zh) | 2012-10-31 |
CN102761487B true CN102761487B (zh) | 2016-04-27 |
Family
ID=47055813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210242506.4A Active CN102761487B (zh) | 2012-07-12 | 2012-07-12 | 数据流处理方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102761487B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105407356B (zh) * | 2015-11-27 | 2018-08-10 | 西安电子科技大学 | 高速实时jpeg2000解码方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008005687A2 (en) * | 2006-06-30 | 2008-01-10 | Intel Corporation | Global overflow method for virtualized transactional memory |
CN101556534A (zh) * | 2009-04-21 | 2009-10-14 | 浪潮电子信息产业股份有限公司 | 一种众核结构的大规模数据并行计算方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8311111B2 (en) * | 2008-09-11 | 2012-11-13 | Google Inc. | System and method for decoding using parallel processing |
-
2012
- 2012-07-12 CN CN201210242506.4A patent/CN102761487B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008005687A2 (en) * | 2006-06-30 | 2008-01-10 | Intel Corporation | Global overflow method for virtualized transactional memory |
CN101556534A (zh) * | 2009-04-21 | 2009-10-14 | 浪潮电子信息产业股份有限公司 | 一种众核结构的大规模数据并行计算方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102761487A (zh) | 2012-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11681547B2 (en) | File operation task optimization | |
CN110019240B (zh) | 一种业务数据交互方法、装置及系统 | |
Hu et al. | Time-and cost-efficient task scheduling across geo-distributed data centers | |
CN110856018B (zh) | 一种基于云计算的监控系统中的快速转码方法及系统 | |
CN102929961A (zh) | 基于构建快速数据分级通道的数据处理方法及其装置 | |
CN108469988A (zh) | 一种基于异构Hadoop集群的任务调度方法 | |
GB201113886D0 (en) | Network capacity management system and method | |
CN103873587B (zh) | 一种基于云平台实现调度的方法及装置 | |
CN109726004B (zh) | 一种数据处理方法及装置 | |
CN104182279A (zh) | 一种任务调度方法、装置及系统 | |
CN107135241A (zh) | 一种业务处理方法和装置 | |
Liaskos et al. | Towards realizable, low-cost broadcast systems for dynamic environments | |
CN106815254A (zh) | 一种数据处理方法和装置 | |
CN102761487B (zh) | 数据流处理方法和系统 | |
Mazzaferro et al. | Distinct impact of vitamin D insufficiency on calcitriol levels in chronic renal failure and renal transplant patients: a role for FGF23. | |
CN111611479B (zh) | 用于网络资源推荐的数据处理方法及相关装置 | |
CN102761746A (zh) | 基于众核平台的音视频解码方法 | |
Jin et al. | Ran-GJS: Orchestrating data analytics for heterogeneous geo-distributed edges | |
CN102769750A (zh) | 基于众核平台的解码方法和解码设备 | |
CN110908800B (zh) | 边云协同环境中基于调度熵的调度优化方法 | |
CN104702663B (zh) | 云处理装置和方法 | |
CN105630896A (zh) | 一种快速导入海量数据的方法 | |
QIU et al. | Survey of communication overhead of federated learning | |
CN102025990B (zh) | 一种众核环境下视频编解码动态多分辨率自适应并行方法 | |
CN104506936B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |