CN115658325B - 数据处理方法、装置、多核处理器、电子设备以及介质 - Google Patents
数据处理方法、装置、多核处理器、电子设备以及介质 Download PDFInfo
- Publication number
- CN115658325B CN115658325B CN202211444453.4A CN202211444453A CN115658325B CN 115658325 B CN115658325 B CN 115658325B CN 202211444453 A CN202211444453 A CN 202211444453A CN 115658325 B CN115658325 B CN 115658325B
- Authority
- CN
- China
- Prior art keywords
- module
- target
- task
- target function
- data
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 29
- 238000012545 processing Methods 0.000 claims abstract description 364
- 238000000034 method Methods 0.000 claims abstract description 63
- 230000006870 function Effects 0.000 claims description 185
- 238000004590 computer program Methods 0.000 claims description 8
- 239000000872 buffer Substances 0.000 description 31
- 230000008569 process Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 8
- 238000011161 development Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 206010034432 Performance fear Diseases 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000020169 heat generation Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Stored Programmes (AREA)
Abstract
本公开提供了一种数据处理方法、装置、多核处理器、电子设备以及介质,其中,该方法包括:获取待处理的多媒体数据,并确定所述多媒体数据的数据处理任务;其中,所述数据处理任务包含多个子任务;在多个功能模块中确定与所述数据处理任务相匹配的多个目标功能模块,并确定所述多个目标功能模块之间的模块层级信息;其中,所述模块层级信息用于指示各目标功能模块对所述多个子任务的处理顺序,每个所述目标功能模块用于处理一个子任务;通过所述多个目标功能模块按照所述模块层级信息处理所述多个子任务中的相匹配子任务,并基于任务处理结果确定所述多媒体数据的数据处理结果。
Description
技术领域
本公开涉及计算机的技术领域,具体而言,涉及一种数据处理方法、装置、多核处理器、电子设备以及介质。
背景技术
当今嵌入式移动设备发展突飞猛进,多媒体部分占比重最大也极其重要。多媒体数据处理的特点是数据类型多、运算量大,要求处理器有很强的计算能力和数据带宽。随着科技的发展及人民生活品质的提高,用户对嵌入式设备的多媒体处理性能要求也越来越高。现有基于传统单核处理器对多媒体数据的处理方法已经不能满足嵌入式设备多媒体处理的性能要求。传统单核处理器的处理方法为单纯地提升硬件设备中处理器对处理数据的能力,从而实现提高单核处理器的处理速度。但是,该处理方法在提升处理速度的同时,还会产生其他的问题,比如产生过多热量、价格高等,最终导致性价比不高。
发明内容
本公开实施例至少提供一种数据处理方法、装置、多核处理器、电子设备以及介质。
第一方面,本公开实施例提供了一种数据处理方法,应用于包含多个功能模块的多核处理器,所述方法包括:获取待处理的多媒体数据,并确定所述多媒体数据的数据处理任务;其中,所述数据处理任务包含多个子任务;在多个功能模块中确定与所述数据处理任务相匹配的多个目标功能模块,并确定所述多个目标功能模块之间的模块层级信息;其中,所述模块层级信息用于指示各目标功能模块对所述多个子任务的处理顺序,每个所述目标功能模块用于处理一个子任务;通过所述多个目标功能模块按照所述模块层级信息处理所述多个子任务中的相匹配子任务,并基于任务处理结果确定所述多媒体数据的数据处理结果。
进一步地,所述方法还包括:在确定出所述多个目标功能模块之后,为所述多个目标功能模块中任意相邻层级的目标功能模块之间设置内存池;所述基于任务处理结果确定所述多媒体数据的数据处理结果,包括:在得到所述多个目标功能模块中当前层级的目标功能模块的第一任务处理结果之后,将所述第一任务处理结果存储至第一内存池的目标存储单元,并将包含所述第一任务处理结果的目标存储单元发送至下一层级的目标功能模块进行处理,得到所述数据处理结果,其中,所述第一内存池为预先为所述当前层级的目标功能模块和下一层级的目标功能模块设置的内存池。
进一步地,所述方法还包括:在得到所述多个目标功能模块中当前层级的目标功能模块的第一任务处理结果之后,在所述第一内存池的多个存储单元中查询空闲存储单元;将查询到的空闲存储单元确定为所述目标存储单元。
进一步地,所述方法还包括:在所述下一层级的目标功能模块获取到所述目标存储单元中的第一任务处理结果之后,清空所述目标存储单元,并将清空后的目标存储单元释放至所述第一内存池。
进一步地,每个所述目标功能模块对应设置第一队列和第二队列;其中,所述第一队列用于存储所述多核处理器中控制模块向该目标功能模块下发的命令,所述第二队列用于存储该目标功能模块的待处理数据,其中,所述待处理数据为所述多媒体数据或者上一层级的目标功能模块的任务处理结果。
进一步地,所述通过所述多个目标功能模块按照所述模块层级信息处理所述多个子任务中的相匹配子任务,包括:查询当前层级的目标功能模块的第一队列是否为空队列;在查询到所述第一队列为所述空队列的情况下,在当前层级的目标功能模块的第二队列中查询待处理数据;基于所述当前层级的目标功能模块匹配的子任务对所述待处理数据进行处理。
进一步地,所述方法还包括:在查询到所述第一队列不是所述空队列的情况下,确定所述第一队列中的待处理命令,并对所述待处理命令进行处理。
进一步地,所述在多个功能模块中确定与所述数据处理任务相匹配的多个目标功能模块,包括:获取每个所述功能模块的模块标识;其中,所述模块标识用于指示该功能模块所对应的数据处理方式;获取每个所述子任务的任务标识;其中,所述任务标识用于指示该子任务对所述多媒体数据的数据处理类型;确定多个所述模块标识中与所述任务标识相匹配的目标模块标识,并基于所述目标模块标识所对应的功能模块确定所述目标功能模块。
第二方面,本公开实施例提供了一种数据处理装置,设置于包含多个功能模块的多核处理器,包括:获取单元,用于获取待处理的多媒体数据,并确定所述多媒体数据的数据处理任务;其中,所述数据处理任务包含多个子任务;确定单元,用于在多个功能模块中确定与所述数据处理任务相匹配的多个目标功能模块,并确定所述多个目标功能模块之间的模块层级信息;其中,所述模块层级信息用于指示各目标功能模块对所述多个子任务的处理顺序,每个所述目标功能模块用于处理一个子任务;任务处理单元,用于通过所述多个目标功能模块按照所述模块层级信息处理所述多个子任务中的相匹配子任务,并基于任务处理结果确定所述多媒体数据的数据处理结果。
第三方面,本公开实施例提供了一种多核处理器,包括:多个功能模块和控制模块;所述控制模块,用于确定多媒体数据的数据处理任务;其中,所述数据处理任务包含多个子任务;以及在多个功能模块中确定与所述数据处理任务相匹配的多个目标功能模块,并确定所述多个目标功能模块之间的模块层级信息;其中,所述模块层级信息用于指示各目标功能模块对所述多个子任务的处理顺序,每个所述目标功能模块用于处理一个子任务;所述功能模块,用于获取待处理的所述多媒体数据,并通过所述多个目标功能模块按照所述模块层级信息处理所述多个子任务中的相匹配子任务,并基于任务处理结果确定所述多媒体数据的数据处理结果。
第四方面,本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第五方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
本公开提供了一种数据处理方法、装置、多核处理器、电子设备以及介质。在本公开实施例中,首先,获取待处理的多媒体数据,然后,确定多媒体数据的数据处理任务;之后,在多个功能模块中确定与数据处理任务相匹配的多个目标功能模块,并确定多个目标功能模块之间的模块层级关系;最后,通过多个目标功能模块按照模块层级信息处理多个子任务中的相匹配子任务,从而基于任务处理结果确定多媒体数据的数据处理结果。通过上述描述可知,本公开实施例中,在获取到多媒体数据之后,可以将多媒体数据的处理流程划分为多个步骤,例如,可以将多媒体数据的数据处理任务拆分为多个子任务,并通过不同的目标功能模块处理每个子任务,从而实现将整体的多媒体数据分解到多个线程进行处理,进而实现多媒体数据的并行处理,以提高嵌入式设备对多媒体数据的处理速度。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种数据处理方法的流程图;
图2示出了本公开实施例所提供的一种数据处理单元的处理流程示意图;
图3示出了本公开实施例所提供的一种控制模块和多个功能模块之间的关系示意图;
图4示出了本公开实施例所提供的一种数据处理方法的流程示意图;
图5示出了本公开实施例所提供的另一种数据处理方法的流程示意图;
图6示出了本公开实施例所提供的另一种数据处理方法的流程图;
图7示出了本公开实施例所提供的一种多核处理器的结构示意图;
图8示出了本公开实施例所提供的一种数据处理装置的示意图;
图9示出了本公开实施例所提供的一种电子设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
当今嵌入式移动设备发展突飞猛进,其中多媒体部分占比重最大也极其重要。移动设备对多媒体数据的处理性能的高低直接决定该移动设备的用户体验,所以提升系统多媒体数据的处理性能的研究有重大应用价值。
随着信息化技术的飞速发展,嵌入式系统的性能日渐成熟,应用范畴日趋广泛,随着应用场景的扩增,用户对嵌入式系统的性能要求也越来越高,由此作为嵌入式系统至关重要的“心脏”微处理器等专用处理器的发展也成为嵌入式领域关注的焦点。
现有技术中,通常基于传统单核处理器对多媒体数据进行处理,然而,该处理方法已经不能满足嵌入式设备多媒体处理的性能要求。传统单核处理器的处理方法为单纯地提升硬件设备中处理器对处理数据的能力,从而实现提高单核处理器的处理速度。但是单核处理器由于功耗的不断增加导致性价比降低发展已经进入极限,而多核技术凭其低功耗、高性能等突出特点已经逐渐代替单核处理器成为嵌入式领域新的硬件平台。相对于单核处理器的“纵向扩充”,多核处理器可以使用“横向扩展”的方法来提升性能并能有效降低功耗。同时多核技术的发展也为如何开发充分利用多核结构优势的相应软件系统带来挑战,多媒体数据处理过程中数据流本身又固有数据处理并行结构,并行处理方法可用于提高多媒体数据处理的效率。
多媒体框架是多媒体数据处理中最重要的部分,多媒体框架设计的好坏直接关系到多媒体数据的处理效率和质量。对于底层编解码库函数,多媒体框架侧重流程控制,控制整个视频处理流程各部分的逻辑关系与协同运转;对于上层播放器应用,多媒体框架需要提供具有明确含义的函数接口。
FFmpeg(Fast Forword Moving Pictures Experts Group)是一套开源免费的,对音频和视频进行解码录制转换的完整方案。它能够快速地实现音视频格式转换,也能从音视频源获取数据并将其保存。用户可以设置FFmpeg命令行的参数来控制音视频文件的播放、格式转化等操作。它包含了先进的音视频编解码库,而且覆盖大多数格式。作为一个完整音视频编解码解决方案,FFmpeg是在Linux操作系统上开发的,但是同样可以在其他操作系统中编译运行。
传统多媒体框架OpenCore和StageFright都是单线程的串行数据处理模式。本公开技术方案结合多媒体数据处理的特点,基于多核处理器研究多媒体框架的并行性,利用并行处理方法改进原始多媒体框架的串行数据处理模式,设计了一款并行处理多媒体框架,充分利用多核处理器的性能优势,从而从框架层提升Android系统多媒体处理的效率。
基于上述研究,本公开提供了一种数据处理方法、装置、多核处理器、电子设备以及介质。在本公开实施例中,首先,获取待处理的多媒体数据,然后,确定多媒体数据的数据处理任务;之后,在多个功能模块中确定与数据处理任务相匹配的多个目标功能模块,并确定多个目标功能模块之间的模块层级关系;最后,通过多个目标功能模块按照模块层级信息处理多个子任务中的相匹配子任务,从而基于任务处理结果确定多媒体数据的数据处理结果。通过上述描述可知,本公开实施例中,在获取到多媒体数据之后,可以将多媒体数据的处理流程划分为多个步骤,例如,可以将多媒体数据的数据处理任务拆分为多个子任务,并通过不同的目标功能模块处理每个子任务,从而实现将整体的多媒体数据分解到多个线程进行处理,进而实现多媒体数据的并行处理,以提高嵌入式设备对多媒体数据的处理速度。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种数据处理方法进行详细介绍,本公开实施例所提供的数据处理方法的执行主体一般为具有一定计算能力的电子设备,该电子设备例如包括:终端设备或服务器或其它处理设备。在一些可能的实现方式中,该数据处理方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
实施例一:
参见图1所示,为本公开实施例提供的一种数据处理方法的流程图。其中,该数据处理方法应用于多核处理器,该多核处理器包含多个功能模块和控制模块。该方法包括步骤S101~S105,其中:
S101:获取待处理的多媒体数据,并确定所述多媒体数据的数据处理任务;其中,所述数据处理任务包含多个子任务。
这里,多核处理器在获取到待处理的多媒体数据之后,可以确定多媒体数据的数据处理类型,从而基于该数据处理类型确定多媒体数据的数据处理任务。
在本公开实施例中,可以根据多媒体数据的数据类型,以及多媒体数据的数据处理类型将多媒体数据的数据处理任务划分为多个子任务。其中,多个子任务的划分与该多媒体数据的数据处理流程相关联。
例如,针对视频类多媒体数据,或者音频类多媒体数据,多媒体框架在处理多媒体数据时的数据处理流程通常划分为以下流程:读取数据-编解码数据-输出数据/写成文件。基于此,可以将多媒体数据的数据处理任务划分为多个子任务,分别为:读取数据子任务、编解码数据子任务、输出数据或者写成文件子任务。
具体实施时,可以预先设置第一关联表;其中,该第一关联表包含各类型的多媒体数据在各数据处理任务下所包含的多个子任务。此时,可以基于多媒体数据的数据类型在第一关联表中查询相匹配的多媒体数据,记为多媒体数据A;之后,可以基于数据处理类型在第一关联表中查询该多媒体数据A所对应的数据处理任务,进而确定该数据处理任务所对应的多个子任务。
S103:在多个功能模块中确定与所述数据处理任务相匹配的多个目标功能模块,并确定所述多个目标功能模块之间的模块层级信息;其中,所述模块层级信息用于指示各目标功能模块对所述多个子任务的处理顺序,每个所述目标功能模块用于处理一个子任务。
在本公开实施例中,可以预先设置多个功能模块。如图2所示,每个功能模块均为独立的运行模块,每个功能模块在运行时都可以理解为一个数据处理单元,每个功能模块都包含对应的处理线程;且每个功能模块能够接收待处理数据,并将待处理数据进行处理之后输入到下一层级的功能模块。这里,针对不同的功能模块所对应的功能不相同,即不同功能模块对数据处理的方法不相同。
在本公开实施例中,控制模块(Engine)可以将具有不同功能的数据处理单元连接,例如,可以根据需要组成具有播放功能的管道(Playback Pipeline)或者是具有录制功能的管道(Record Pipeline),管道中各功能模块都是并行处理数据的。
举例来说,如图3所示,如果多媒体数据为多媒体播放文件,那么多个目标功能模块可以为解析模块(功能模块1)、解码模块(功能模块2)和输出模块(功能模块3),此时,播放引擎(即,控制模块)可以将解析模块、解码模块和输出模块连接起来组成播放管道,从而实现多媒体播放文件的播放。
这里,可以在多个功能模块中为数据处理任务中的每个子任务确定对应的功能模块,从而得到多个目标功能模块。针对每个功能模块,可以预先设置对应的模块标识,该模块标识用于指示该功能模块所对应的功能,或者所对应的数据处理方式。基于此,可以基于该模块标识在多个功能模块中为每个子任务确定相匹配的功能模块。
在确定出多个目标功能模块之后,可以基于多个子任务的处理顺序,确定多个目标功能模块之间的模块层级信息。例如,如图3所示,多个目标功能模块包括功能模块1、功能模块2和功能模块3。此时,可以基于多媒体数据的处理顺序,确定功能模块1、功能模块2和功能模块3的模块层级信息,从而基于该模块层级信息将功能模块1、功能模块2和功能模块3连接起来。其中,功能模块1位于第一模块层级、功能模块2位于第二模块层级,功能模块3位于第三模块层级,且第一模块层级为第二模块层级的上一层级,第三模块层级为第二模块层级的下一层级。
S105:通过所述多个目标功能模块按照所述模块层级信息处理所述多个子任务中的相匹配子任务,并基于任务处理结果确定所述多媒体数据的数据处理结果。
在本公开实施例中,在确定出多个目标功能模块和多个目标功能模块的模块层级信息之后,就可以通过多个目标功能模块按照该模块层级信息依次处理相匹配的子任务,从而得到任务处理结果;最后,就可以基于任务处理结果确定多媒体数据的数据处理结果。
如图3所示,功能模块1可以对多媒体数据进行处理解析处理,得到数据解析结果(即任务处理结果1),之后,将数据解析结果输入至功能模块2进行解码处理,得到数据解码结果(即任务处理结果2),最后,可以将数据解码结果输入至功能模块3进行输出处理,得到任务处理结果3,即多媒体数据的数据处理结果。
在本公开实施例中,首先,获取待处理的多媒体数据,然后,确定多媒体数据的数据处理任务;之后,在多个功能模块中确定与数据处理任务相匹配的多个目标功能模块,并确定多个目标功能模块之间的模块层级关系;最后,通过多个目标功能模块按照模块层级信息处理多个子任务中的相匹配子任务,从而基于任务处理结果确定多媒体数据的数据处理结果。通过上述描述可知,本公开实施例中,在获取到多媒体数据之后,可以将多媒体数据的处理流程划分为多个步骤,例如,可以将多媒体数据的数据处理任务拆分为多个子任务,并通过不同的目标功能模块处理每个子任务,从而实现将整体的多媒体数据分解到多个线程进行处理,进而实现多媒体数据的并行处理,以提高嵌入式设备对多媒体数据的处理速度。
在一个可选的实施方式中,该方法还包括如下步骤:
在确定出所述多个目标功能模块之后,为所述多个目标功能模块中任意相邻层级的目标功能模块之间设置内存池;
基于此,上述步骤S105:基于任务处理结果确定所述多媒体数据的数据处理结果,具体包括如下步骤:
步骤S1051:在得到所述多个目标功能模块中当前层级的目标功能模块的第一任务处理结果之后,将所述第一任务处理结果存储至第一内存池的目标存储单元,并将包含所述第一任务处理结果的目标存储单元发送至下一层级的目标功能模块进行处理,得到所述数据处理结果,其中,所述第一内存池为预先为所述当前层级的目标功能模块和下一层级的目标功能模块设置的内存池。
在本公开实施例中,在确定出多媒体数据的多个目标功能模块之后,还可以为多个目标功能模块中任意相邻层级的目标功能模块之间设置内存池Buffer Pool。例如,如图3所示,可以在功能模块1和功能模块2之间设置内存池1,可以在功能模块2和功能模块3之间设置内存池2,其中,该内存池中包含多个数据队列Buffer。
在多个目标功能模块中当前层级的目标功能模块处理相匹配子任务之后,得到第一任务处理结果。之后,当前层级的目标功能模块就可以将该第一任务处理结果存储至第一内存池的目标存储单元,然后将包含第一任务处理结果的目标存储单元发送至下一层级的目标功能模块进行处理。
例如,如图3所示,在功能模块1处理得到第一任务处理结果(即任务处理结果1)之后,可以将任务处理结果1存储至内存池1的目标存储单元;然后将包含任务处理结果1的目标存储单元发送至功能模块2进行处理。接下来,功能模块2对任务处理结果1执行相匹配子任务,得到第一任务处理结果(即任务处理结果2),并将任务处理结果2存储至内存池2的目标存储单元,然后将包含任务处理结果2的目标存储单元发送至功能模块3进行处理。
在一个可选的实施方式中,可以通过以下方式确定目标存储单元:
首先,在得到所述多个目标功能模块中当前层级的目标功能模块的第一任务处理结果之后,在所述第一内存池的多个存储单元中查询空闲存储单元。
然后,将查询到的空闲存储单元确定为所述目标存储单元。
具体实施时,在多个目标功能模块中当前层级的目标功能模块处理相匹配子任务之后,得到第一任务处理结果。之后,当前层级的目标功能模块可以在第一内存池的多个数据队列中查询空闲存储单元,然后将该空闲存储单元确定为目标存储单元。
在一个可选的实施方式中,该方法还包括如下步骤:
在所述下一层级的目标功能模块获取到所述目标存储单元中的第一任务处理结果之后,清空所述目标存储单元,并将清空后的目标存储单元释放至所述第一内存池。
具体实施时,在多个目标功能模块中当前层级的目标功能模块处理相匹配子任务之后,得到第一任务处理结果。之后,当前层级的目标功能模块可以在第一内存池的多个数据队列中查询空闲存储单元,然后将该空闲存储单元确定为目标存储单元。之后,将第一任务处理结果存储至第一内存池的目标存储单元,并将包含所述第一任务处理结果的目标存储单元发送至下一层级的目标功能模块进行处理,得到所述数据处理结果。下一层级的目标功能模块在成功获取该目标存储单元中的第一任务处理结果之后,可以清空该目标存储单元,并将清空后的目标存储单元释放至所述第一内存池。
下面将结合图4对上述实施方式进行介绍。如图4所示,包含上一级单元(数据处理单元)和下一级单元(数据处理单元),其中,该上一级单元即为当前层级的目标功能模块,下一级单元为当前层级的目标功能模块的下一层级的目标功能模块。其中,在上一级单元和下一级单元之间设置有第一内存池Buffer Pool。
通过上述描述可知,处理数据量大是多媒体数据的处理特点之一,为了减少数据的拷贝,提高多媒体数据的处理效率,本公开技术方案采用预先分配内存(Buffer)的模式。在每个数据处理单元之间预先分配对应的内存池(Buffer Pool)。上一级单元在要输出数据到下一级单元时,上一级单元会首先从Buffer Pool中查询空闲的Buffer(即,目标存储单元),在填满Buffer(即,目标存储单元)之后,会将Buffer(包含第一任务处理结果的目标存储单元)送到下一级单元中。下一级单元处理完接收到的Buffer包含第一任务处理结果的目标存储单元)之后。再将Buffer清空之后释放,送回到Buffer Pool中,具体流程如图4。
数据处理单元(即,目标功能模块)之间的内存池Buffer在开始处理数据之前已经分配好。因此在处理数据时,上一级单元只需根据需要从Buffer Pool中取得空闲的Buffer(即,空闲存储单元),然后传递Buffer的指针到下一级单元,而不用花费资源负责数据处理单元之间数据的拷贝,其中,该指针用于指示空闲存储单元在内存池Buffer中的位置。下一级单元在处理数据后,负责将Buffer释放到Buffer Pool中,也就是说,每个数据处理单元需要负责从与下级单元之间的Buffer Pool中查询空闲Buffer,以及将从上级单元收到的Buffer释放到对应的Buffer Pool中。因此,预先分配Buffer的方式可以提高多媒体数据处理的效率,同时简化了Buffer的管理。
在一个可选的实施方式中,每个所述目标功能模块对应设置第一队列和第二队列;其中,所述第一队列用于存储所述多核处理器中控制模块向该目标功能模块下发的命令,所述第二队列用于存储该目标功能模块的待处理数据,其中,所述待处理数据为所述多媒体数据或者上一层级的目标功能模块的任务处理结果。
在本公开实施例中,多媒体框架中会存在多个独立运行的功能模块,因此为了使各多个处理器模块在以数据为驱动的同时能够及时响应消息或命令,响应的消息处理机制也是必不可少的。
在本公开实施例中,控制模块负责多媒体数据的全部数据处理流程的控制和控制模块的运行等。同时,控制模块负责接收来自上层用户或者应用的消息或命令并响应;以及,控制模块负责接收来自数据处理单元的消息、向数据处理单元发送命令。同时,数据处理单元之间也会传递消息。每个数据处理单元拥有一个或多个端口(Pin),分为输入端口(Input Pin)和输出端口(Output Pin),分别负责接收数据和输出数据,同时也是数据处理单元之间连接的通道。
为了使数据处理单元既能够及时处理数据,又能够优先响应消息或命令,在本公开实施例中,可以使用队列(Queue)保存收到的数据或消息。为了实现数据处理单元能够优先响应控制模块的消息或命令,多媒体框架中每个数据处理单元拥有两类队列Queue,即第一队列和第二队列,其中,两类队列Queue分别保存消息(或者命令)和数据。
通过上述描述可知,数据处理单元之间传递的是数据,传递的通道是数据处理单元的Pin;消息或命令存在于控制单元与数据处理单元之间。因此,可以设置两类队列,其中,这两类队列Queue的类型分为:主队列(Main Queue),也即第一队列,属于数据处理单元,用于保存来自控制模块的消息或命令;子队列(Sub Queue),也即第二队列,属于数据处理单元的输入端口,用于保存来自上一层级的数据处理单元传输的数据。
在此基础上,上述步骤S105通过所述多个目标功能模块按照所述模块层级信息处理所述多个子任务中的相匹配子任务,具体包括如下步骤:
步骤S11:查询当前层级的目标功能模块的第一队列是否为空队列;
步骤S12:在查询到所述第一队列为所述空队列的情况下,在当前层级的目标功能模块的第二队列中查询待处理数据;
步骤S13:基于所述当前层级的目标功能模块匹配的子任务对所述待处理数据进行处理;
步骤S14:在查询到所述第一队列不是所述空队列的情况下,确定所述第一队列中的待处理命令,并对所述待处理命令进行处理。
通过上述描述可知,在本公开实施例中,首先,获取待处理的多媒体数据,之后确定多媒体数据的数据处理任务,之后,在多个功能模块中确定与数据处理任务相匹配的多个目标功能模块,以及确定多个目标功能模块之间的模块层级信息。接下来,就可以通过多个目标功能模块按照模块层级信息处理多个子任务中的相匹配子任务。
具体实施时,首先,查询当前层级的目标功能模块的第一队列是否为空队列,即查询目标功能模块的第一队列中是否包含未处理的消息或者命令。在第一队列中未查询到未处理的消息或者命令的情况下,确定第一队列为空队列,此时,可以在当前层级的目标功能模块的第二队列中查询待处理数据。其中,如果在第二队列中查询到待处理数据,则可以基于当前层级的目标功能模块匹配的子任务对待处理数据进行处理,从而得到任务处理结果;如果在当前层级的目标功能模块的第二队列中未查询到待处理数据,则开启下一个周期,并重新执行查询当前层级的目标功能模块的第一队列是否为空队列的步骤。
这里,如果查询到第一队列包含未处理的消息或者命令,即查询到第一队列不是空队列,此时,当前层级的目标功能模块可以确定第一队列中的待处理命令,并依次对待处理命令进行处理,直至第一队列中不包含未处理的消息或者命令时,执行在当前层级的目标功能模块的第二队列中查询待处理数据的步骤。
下面将结合图5和图6对上述过程进行介绍。如图5所示,包含一个控制模块和两个数据处理单元,其中,每个数据处理单元包含主队列(Main Queue),用于保存来自控制模块的消息或命令;每个数据处理单元包含子队列(Sub Queue),用于保存来自上一层级的数据处理单元传输的数据。
结合图5本设计中的并行处理多媒体框架消息处理流程如下:
控制模块在处理来自用户的命令时,会直接操作对应数据处理单元的MainQueue,将相应的Msg命令/Cmd消息填充到主队列Main Queue中,而数据处理单元在自身独立运行的线程中,会优先读取主队列Main Queue中的内容,优先处理Msg命令/Cmd消息,然后再读取子队列Sub Queue中的待处理数据,也就是说并行处理的多媒体框架中,消息或命令要优先于数据被处理。具体消息读取周期流程如图6所示:
(1)、开始消息读取周期,读取队列中的内容。
具体实施时,首先读取主队列中的内容,并判断主队列是否为空队列,其中,在确定主队列不是空队列的情况下,读取主队列中的内容。在确定主队列是空队列的情况下,读取子队列中的内容。
(2)、判断读取内容的类型。
具体实施时,如果判断出读取内容为控制模块向数据处理单元发送的消息/命令,则可以确定与该消息/命令相匹配的处理方式,并按照该处理方式对消息/命令进行处理。如果判断出读取内容为数据处理单元的待处理数据,则执行与该数据处理单元相匹配的子任务,从而实现对该待处理数据进行处理。
(3)、结束消息读取周期。
在一个可选的实施方式中,上述步骤S103在多个功能模块中确定与所述数据处理任务相匹配的多个目标功能模块,具体包括如下步骤:
步骤S1031:获取每个所述功能模块的模块标识;其中,所述模块标识用于指示该功能模块所对应的数据处理方式;
步骤S1032:获取每个所述子任务的任务标识;其中,所述任务标识用于指示该子任务对所述多媒体数据的数据处理类型;
步骤S1033:确定多个所述模块标识中与所述任务标识相匹配的目标模块标识,并基于所述目标模块标识所对应的功能模块确定所述目标功能模块。
在本公开实施例中,针对每个功能模块,可以预先设置对应的模块标识,该模块标识用于指示该功能模块所对应的功能,或者所对应的数据处理方式。基于此,可以基于该模块标识在多个功能模块中为每个子任务确定相匹配的功能模块。针对每个子任务,可以预先设置对应的任务标识,该任务标识用于指示该子任务对多媒体数据的数据处理类型。这里,数据处理类型和数据处理方式包含对应的关联关系。
基于此,可以确定与每个子任务的数据处理类型相匹配的数据处理方式,进而确定该相匹配的数据处理方式所对应的模块标识,进而基于该模块标识确定对应的功能模块为目标功能模块。
通过上述描述可知,在本公开实施例中,并行处理多媒体框架是由多个具有一定功能、运行时具有独立线程的数据处理单元通过Input Pin和Output Pin相连接,组成具有特定功能的管道,采用预先分配Buffer的模式,提升Buffer管理效率,拥有完整的消息处理机制,实现媒体文件的播放和录制,实现媒体数据的流水线并行处理,以提升系统的多媒体处理效率。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
实施例二:
参照图7所示,为本公开实施例提供的一种多核处理器的示意图,所述装置包括:多个功能模块71和控制模块72。
所述控制模块72,用于确定多媒体数据的数据处理任务;其中,所述数据处理任务包含多个子任务;以及在多个功能模块中确定与所述数据处理任务相匹配的多个目标功能模块,并确定所述多个目标功能模块之间的模块层级信息;其中,所述模块层级信息用于指示各目标功能模块对所述多个子任务的处理顺序,每个所述目标功能模块用于处理一个子任务;
所述功能模块71,用于获取待处理的所述多媒体数据,并通过所述多个目标功能模块按照所述模块层级信息处理所述多个子任务中的相匹配子任务,并基于任务处理结果确定所述多媒体数据的数据处理结果。
在本公开实施例中,可以预先设置多个功能模块。如图2所示,每个功能模块均为独立的运行模块,每个功能模块在运行时都可以理解为一个数据处理单元,每个功能模块都包含对应的处理线程;且每个功能模块能够接收待处理数据,并将待处理数据进行处理之后输入到下一层级的功能模块。这里,针对不同的功能模块所对应的功能不相同,即不同功能模块对数据处理的方法不相同。
在本公开实施例中,控制模块(Engine)可以将具有不同功能的数据处理单元连接,例如,可以根据需要组成具有播放功能的管道(Playback Pipeline)或者是具有录制功能的管道(Record Pipeline),管道中各功能模块都是并行处理数据的。
控制模块和功能模块的具体实施过程如上实施例一所示,此处不再详细描述。
通过上述描述可知,本公开实施例所提供的技术方案包括以下特点:
1、并行性。
并行性是本公开实施例所提供的多媒体框架的最大特点,是针对以往多媒体框架串行数据处理方式的一大改进,也是本公开实施例所提供中的多媒体框架优化多媒体数据处理的主要方法。基本思想就是将整个多媒体数据处理的流程划分为多个步骤,分解为多个任务完成,化整为零,将整体数据分解到多个线程中去,从而实现框架层的多媒体数据并行处理。
2、预先分配内存(buffer)模式。
预算分配Buffer的方式可以提高多媒体数据处理的效率,同时简化了Buffer的管理。
3、多媒体框架的消息机制。
本公开实施例所提供的并行处理多媒体框架中使用队列(Queue)保存收到的数据或消息。使数据处理单元既能及时处理数据,又能优先响应消息或命令。
实施例三:
基于同一发明构思,本公开实施例中还提供了与数据处理方法对应的数据处理装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述数据处理方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图8所示,为本公开实施例提供的一种数据处理装置的示意图,所述装置包括:获取单元81、确定单元82、任务处理单元83;其中,
获取单元81,用于获取待处理的多媒体数据,并确定所述多媒体数据的数据处理任务;其中,所述数据处理任务包含多个子任务;
确定单元82,用于在多个功能模块中确定与所述数据处理任务相匹配的多个目标功能模块,并确定所述多个目标功能模块之间的模块层级信息;其中,所述模块层级信息用于指示各目标功能模块对所述多个子任务的处理顺序,每个所述目标功能模块用于处理一个子任务;
任务处理单元83,用于通过所述多个目标功能模块按照所述模块层级信息处理所述多个子任务中的相匹配子任务,并基于任务处理结果确定所述多媒体数据的数据处理结果。
在本公开实施例中,首先,获取待处理的多媒体数据,然后,确定多媒体数据的数据处理任务;之后,在多个功能模块中确定与数据处理任务相匹配的多个目标功能模块,并确定多个目标功能模块之间的模块层级关系;最后,通过多个目标功能模块按照模块层级信息处理多个子任务中的相匹配子任务,从而基于任务处理结果确定多媒体数据的数据处理结果。通过上述描述可知,本公开实施例中,在获取到多媒体数据之后,可以将多媒体数据的处理流程划分为多个步骤,例如,可以将多媒体数据的数据处理任务拆分为多个子任务,并通过不同的目标功能模块处理每个子任务,从而实现将整体的多媒体数据分解到多个线程进行处理,进而实现多媒体数据的并行处理,以提高嵌入式设备对多媒体数据的处理速度。
一种可能的实施方式中,该装置还用于:在确定出所述多个目标功能模块之后,为所述多个目标功能模块中任意相邻层级的目标功能模块之间设置内存池;所述基于任务处理结果确定所述多媒体数据的数据处理结果,包括:在得到所述多个目标功能模块中当前层级的目标功能模块的第一任务处理结果之后,将所述第一任务处理结果存储至第一内存池的目标存储单元,并将包含所述第一任务处理结果的目标存储单元发送至下一层级的目标功能模块进行处理,得到所述数据处理结果,其中,所述第一内存池为预先为所述当前层级的目标功能模块和下一层级的目标功能模块设置的内存池。
一种可能的实施方式中,该装置还用于:在得到所述多个目标功能模块中当前层级的目标功能模块的第一任务处理结果之后,在所述第一内存池的多个存储单元中查询空闲存储单元;将查询到的空闲存储单元确定为所述目标存储单元。
一种可能的实施方式中,该装置还用于:在所述下一层级的目标功能模块获取到所述目标存储单元中的第一任务处理结果之后,清空所述目标存储单元,并将清空后的目标存储单元释放至所述第一内存池。
一种可能的实施方式中,每个所述目标功能模块对应设置第一队列和第二队列;其中,所述第一队列用于存储所述多核处理器中控制模块向该目标功能模块下发的命令,所述第二队列用于存储该目标功能模块的待处理数据,其中,所述待处理数据为所述多媒体数据或者上一层级的目标功能模块的任务处理结果。
一种可能的实施方式中,任务处理单元还用于:查询当前层级的目标功能模块的第一队列是否为空队列;在查询到所述第一队列为所述空队列的情况下,在当前层级的目标功能模块的第二队列中查询待处理数据;基于所述当前层级的目标功能模块匹配的子任务对所述待处理数据进行处理。
一种可能的实施方式中,该装置还用于:在查询到所述第一队列不是所述空队列的情况下,确定所述第一队列中的待处理命令,并对所述待处理命令进行处理。
一种可能的实施方式中,该确定单元用于:获取每个所述功能模块的模块标识;其中,所述模块标识用于指示该功能模块所对应的数据处理方式;获取每个所述子任务的任务标识;其中,所述任务标识用于指示该子任务对所述多媒体数据的数据处理类型;确定多个所述模块标识中与所述任务标识相匹配的目标模块标识,并基于所述目标模块标识所对应的功能模块确定所述目标功能模块。
关于装置中的各单元的处理流程、以及各单元之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
实施例四:
对应于图1中的数据处理9方法,本公开实施例还提供了一种电子设备900,如图9所示,为本公开实施例提供的电子设备900结构示意图,包括:
处理器91、存储器92、和总线93;存储器92用于存储执行指令,包括内存921和外部存储器922;这里的内存921也称内存储器,用于暂时存放处理器91中的运算数据,以及与硬盘等外部存储器922交换的数据,处理器91通过内存921与外部存储器922进行数据交换,当所述电子设备900运行时,所述处理器91与所述存储器92之间通过总线93通信,使得所述处理器91执行以下指令:
获取待处理的多媒体数据,并确定所述多媒体数据的数据处理任务;其中,所述数据处理任务包含多个子任务;
在多个功能模块中确定与所述数据处理任务相匹配的多个目标功能模块,并确定所述多个目标功能模块之间的模块层级信息;其中,所述模块层级信息用于指示各目标功能模块对所述多个子任务的处理顺序,每个所述目标功能模块用于处理一个子任务;
通过所述多个目标功能模块按照所述模块层级信息处理所述多个子任务中的相匹配子任务,并基于任务处理结果确定所述多媒体数据的数据处理结果。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的数据处理方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的数据处理方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
Claims (11)
1.一种数据处理方法,其特征在于,应用于包含多个功能模块的多核处理器,所述方法包括:
获取待处理的多媒体数据,并确定所述多媒体数据的数据处理任务;其中,所述数据处理任务包含多个子任务;
在多个功能模块中确定与所述数据处理任务相匹配的多个目标功能模块,并确定所述多个目标功能模块之间的模块层级信息;其中,所述模块层级信息用于指示各目标功能模块对所述多个子任务的处理顺序,每个所述目标功能模块用于处理一个子任务;
通过所述多个目标功能模块按照所述模块层级信息处理所述多个子任务中的相匹配子任务,并基于任务处理结果确定所述多媒体数据的数据处理结果;
所述方法还包括:
在确定出所述多个目标功能模块之后,为所述多个目标功能模块中任意相邻层级的目标功能模块之间设置内存池;
所述基于任务处理结果确定所述多媒体数据的数据处理结果,包括:
在得到所述多个目标功能模块中当前层级的目标功能模块的第一任务处理结果之后,将所述第一任务处理结果存储至第一内存池的目标存储单元,并将包含所述第一任务处理结果的目标存储单元发送至下一层级的目标功能模块进行处理,得到所述数据处理结果,其中,所述第一内存池为预先为所述当前层级的目标功能模块和下一层级的目标功能模块设置的内存池。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在得到所述多个目标功能模块中当前层级的目标功能模块的第一任务处理结果之后,在所述第一内存池的多个存储单元中查询空闲存储单元;
将查询到的空闲存储单元确定为所述目标存储单元。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述下一层级的目标功能模块获取到所述目标存储单元中的第一任务处理结果之后,清空所述目标存储单元,并将清空后的目标存储单元释放至所述第一内存池。
4.根据权利要求1所述的方法,其特征在于,每个所述目标功能模块对应设置第一队列和第二队列;其中,所述第一队列用于存储所述多核处理器中控制模块向该目标功能模块下发的命令,所述第二队列用于存储该目标功能模块的待处理数据,其中,所述待处理数据为所述多媒体数据或者上一层级的目标功能模块的任务处理结果。
5.根据权利要求4所述的方法,其特征在于,所述通过所述多个目标功能模块按照所述模块层级信息处理所述多个子任务中的相匹配子任务,包括:
查询当前层级的目标功能模块的第一队列是否为空队列;
在查询到所述第一队列为所述空队列的情况下,在当前层级的目标功能模块的第二队列中查询待处理数据;
基于所述当前层级的目标功能模块匹配的子任务对所述待处理数据进行处理。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在查询到所述第一队列不是所述空队列的情况下,确定所述第一队列中的待处理命令,并对所述待处理命令进行处理。
7.根据权利要求1所述的方法,其特征在于,所述在多个功能模块中确定与所述数据处理任务相匹配的多个目标功能模块,包括:
获取每个所述功能模块的模块标识;其中,所述模块标识用于指示该功能模块所对应的数据处理方式;
获取每个所述子任务的任务标识;其中,所述任务标识用于指示该子任务对所述多媒体数据的数据处理类型;
确定多个所述模块标识中与所述任务标识相匹配的目标模块标识,并基于所述目标模块标识所对应的功能模块确定所述目标功能模块。
8.一种数据处理装置,其特征在于,设置于包含多个功能模块的多核处理器,包括:
获取单元,用于获取待处理的多媒体数据,并确定所述多媒体数据的数据处理任务;其中,所述数据处理任务包含多个子任务;
确定单元,用于在多个功能模块中确定与所述数据处理任务相匹配的多个目标功能模块,并确定所述多个目标功能模块之间的模块层级信息;其中,所述模块层级信息用于指示各目标功能模块对所述多个子任务的处理顺序,每个所述目标功能模块用于处理一个子任务;
任务处理单元,用于通过所述多个目标功能模块按照所述模块层级信息处理所述多个子任务中的相匹配子任务,并基于任务处理结果确定所述多媒体数据的数据处理结果;
所述装置还用于:
在确定出所述多个目标功能模块之后,为所述多个目标功能模块中任意相邻层级的目标功能模块之间设置内存池;
所述任务处理单元,还用于:
在得到所述多个目标功能模块中当前层级的目标功能模块的第一任务处理结果之后,将所述第一任务处理结果存储至第一内存池的目标存储单元,并将包含所述第一任务处理结果的目标存储单元发送至下一层级的目标功能模块进行处理,得到所述数据处理结果,其中,所述第一内存池为预先为所述当前层级的目标功能模块和下一层级的目标功能模块设置的内存池。
9.一种多核处理器,其特征在于,包括:多个功能模块和控制模块;
所述控制模块,用于确定多媒体数据的数据处理任务;其中,所述数据处理任务包含多个子任务;以及在多个功能模块中确定与所述数据处理任务相匹配的多个目标功能模块,并确定所述多个目标功能模块之间的模块层级信息;其中,所述模块层级信息用于指示各目标功能模块对所述多个子任务的处理顺序,每个所述目标功能模块用于处理一个子任务;
所述功能模块,用于获取待处理的所述多媒体数据,并通过所述多个目标功能模块按照所述模块层级信息处理所述多个子任务中的相匹配子任务,并基于任务处理结果确定所述多媒体数据的数据处理结果;
所述功能模块,还用于:
在确定出所述多个目标功能模块之后,为所述多个目标功能模块中任意相邻层级的目标功能模块之间设置内存池;
在得到所述多个目标功能模块中当前层级的目标功能模块的第一任务处理结果之后,将所述第一任务处理结果存储至第一内存池的目标存储单元,并将包含所述第一任务处理结果的目标存储单元发送至下一层级的目标功能模块进行处理,得到所述数据处理结果,其中,所述第一内存池为预先为所述当前层级的目标功能模块和下一层级的目标功能模块设置的内存池。
10.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至7任意一项所述的数据处理方法的步骤。
11.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至7任意一项所述的数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211444453.4A CN115658325B (zh) | 2022-11-18 | 2022-11-18 | 数据处理方法、装置、多核处理器、电子设备以及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211444453.4A CN115658325B (zh) | 2022-11-18 | 2022-11-18 | 数据处理方法、装置、多核处理器、电子设备以及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115658325A CN115658325A (zh) | 2023-01-31 |
CN115658325B true CN115658325B (zh) | 2024-01-23 |
Family
ID=85017260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211444453.4A Active CN115658325B (zh) | 2022-11-18 | 2022-11-18 | 数据处理方法、装置、多核处理器、电子设备以及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115658325B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102222213A (zh) * | 2010-07-29 | 2011-10-19 | 郑文明 | 一种基于开放式Web Service架构的分布式视觉计算方法 |
WO2017070900A1 (zh) * | 2015-10-29 | 2017-05-04 | 华为技术有限公司 | 多核数字信号处理系统中处理任务的方法和装置 |
CN108287756A (zh) * | 2018-01-25 | 2018-07-17 | 联动优势科技有限公司 | 一种处理任务的方法及装置 |
CN110489223A (zh) * | 2019-08-26 | 2019-11-22 | 北京邮电大学 | 一种异构集群中任务调度方法、装置及电子设备 |
CN110728520A (zh) * | 2019-09-27 | 2020-01-24 | 支付宝(杭州)信息技术有限公司 | 拒付申请的处理方法、装置和服务器 |
CN111198769A (zh) * | 2018-11-16 | 2020-05-26 | 北京京东金融科技控股有限公司 | 信息处理方法及其系统、计算机系统及计算机可读介质 |
CN111813554A (zh) * | 2020-07-17 | 2020-10-23 | 济南浪潮数据技术有限公司 | 一种任务调度处理方法、装置及电子设备和存储介质 |
CN111858821A (zh) * | 2020-07-27 | 2020-10-30 | 平安科技(深圳)有限公司 | 空间分析任务的处理方法、装置、计算机设备和存储介质 |
CN112766907A (zh) * | 2021-01-20 | 2021-05-07 | 中国工商银行股份有限公司 | 业务数据的处理方法、装置和服务器 |
WO2021169674A1 (zh) * | 2020-02-28 | 2021-09-02 | 京东数字科技控股股份有限公司 | 一种业务数据的处理方法和装置 |
CN113722055A (zh) * | 2020-11-26 | 2021-11-30 | 北京沃东天骏信息技术有限公司 | 数据处理方法、装置、电子设备和计算机可读介质 |
CN113806054A (zh) * | 2021-09-27 | 2021-12-17 | 北京市商汤科技开发有限公司 | 任务处理方法及装置、电子设备和存储介质 |
CN113821311A (zh) * | 2020-06-19 | 2021-12-21 | 华为技术有限公司 | 任务执行方法及存储设备 |
CN114840323A (zh) * | 2022-05-18 | 2022-08-02 | 北京百度网讯科技有限公司 | 任务处理方法、装置、系统、电子设备以及存储介质 |
CN115225643A (zh) * | 2022-07-18 | 2022-10-21 | 福州黄金网络科技有限公司 | 点云平台大数据分布式管理方法、装置及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10037390B2 (en) * | 2013-06-06 | 2018-07-31 | Sas Institute Inc. | Techniques to simulate production events |
-
2022
- 2022-11-18 CN CN202211444453.4A patent/CN115658325B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102222213A (zh) * | 2010-07-29 | 2011-10-19 | 郑文明 | 一种基于开放式Web Service架构的分布式视觉计算方法 |
WO2017070900A1 (zh) * | 2015-10-29 | 2017-05-04 | 华为技术有限公司 | 多核数字信号处理系统中处理任务的方法和装置 |
CN108287756A (zh) * | 2018-01-25 | 2018-07-17 | 联动优势科技有限公司 | 一种处理任务的方法及装置 |
CN111198769A (zh) * | 2018-11-16 | 2020-05-26 | 北京京东金融科技控股有限公司 | 信息处理方法及其系统、计算机系统及计算机可读介质 |
CN110489223A (zh) * | 2019-08-26 | 2019-11-22 | 北京邮电大学 | 一种异构集群中任务调度方法、装置及电子设备 |
CN110728520A (zh) * | 2019-09-27 | 2020-01-24 | 支付宝(杭州)信息技术有限公司 | 拒付申请的处理方法、装置和服务器 |
WO2021169674A1 (zh) * | 2020-02-28 | 2021-09-02 | 京东数字科技控股股份有限公司 | 一种业务数据的处理方法和装置 |
CN113821311A (zh) * | 2020-06-19 | 2021-12-21 | 华为技术有限公司 | 任务执行方法及存储设备 |
CN111813554A (zh) * | 2020-07-17 | 2020-10-23 | 济南浪潮数据技术有限公司 | 一种任务调度处理方法、装置及电子设备和存储介质 |
CN111858821A (zh) * | 2020-07-27 | 2020-10-30 | 平安科技(深圳)有限公司 | 空间分析任务的处理方法、装置、计算机设备和存储介质 |
CN113722055A (zh) * | 2020-11-26 | 2021-11-30 | 北京沃东天骏信息技术有限公司 | 数据处理方法、装置、电子设备和计算机可读介质 |
CN112766907A (zh) * | 2021-01-20 | 2021-05-07 | 中国工商银行股份有限公司 | 业务数据的处理方法、装置和服务器 |
CN113806054A (zh) * | 2021-09-27 | 2021-12-17 | 北京市商汤科技开发有限公司 | 任务处理方法及装置、电子设备和存储介质 |
CN114840323A (zh) * | 2022-05-18 | 2022-08-02 | 北京百度网讯科技有限公司 | 任务处理方法、装置、系统、电子设备以及存储介质 |
CN115225643A (zh) * | 2022-07-18 | 2022-10-21 | 福州黄金网络科技有限公司 | 点云平台大数据分布式管理方法、装置及系统 |
Non-Patent Citations (3)
Title |
---|
Implementation of the ATLAS Trigger Within the ATLAS Multi-threaded Software Framework AthenaMT;Tim Martin;2018 IEEE 14th International Conference on e-Science (e-Science);全文 * |
基于多核集群系统的并行编程模型的研究;胡晨骏;王晓蔚;;计算机技术与发展(第04期);全文 * |
面向海量告警数据的并行处理系统设计与实现;张海阔;陆忠华;刘芳;李井泉;孙辰军;王珏;;计算机工程与设计(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115658325A (zh) | 2023-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2022519855A (ja) | ビデオストリーム復号方法、装置、端末機器およびプログラム | |
KR100875836B1 (ko) | 병렬 처리 vliw 컴퓨터를 위한 인스트럭션 명령어 압축장치 및 그 방법 | |
CN102708064A (zh) | 从休眠中多阶段恢复 | |
CN101512656A (zh) | 具有提前渲染队列的gpu时间线 | |
Abbasi et al. | Extending i/o through high performance data services | |
CN113835693B (zh) | 代码生成方法、装置、电子设备、存储介质 | |
CN115033188B (zh) | 一种基于zns固态硬盘的存储硬件加速模块系统 | |
WO2022126930A1 (zh) | 一种嵌入式设备驱动系统及方法 | |
CN111290832B (zh) | 一种基于国产硬件平台的虚拟化系统优化方法 | |
CN103984528A (zh) | 基于飞腾处理器平台的多线程并发数据压缩方法 | |
CN114490023B (zh) | 一种基于arm和fpga的高能物理可计算存储设备 | |
CN115658325B (zh) | 数据处理方法、装置、多核处理器、电子设备以及介质 | |
CN110446046B (zh) | 一种基于嵌入式平台的批量图像快速解码方法 | |
CN110445874B (zh) | 一种会话处理方法、装置、设备和存储介质 | |
WO2015058594A1 (zh) | 一种进程加载方法、装置及系统 | |
CN113688099B (zh) | 基于spdk的数据库存储引擎加速方法及系统 | |
CN115268950A (zh) | 一种镜像文件导入方法及装置 | |
EP4102367A1 (en) | Message format indicator for resource-constrained devices | |
US20210141723A1 (en) | Memory usage in managed runtime applications | |
CN103019829A (zh) | 用签名实现的多核程序内存竞争记录及重演方法 | |
CN113094349A (zh) | 一种基于虚拟机的双系统日志上报方法及系统 | |
CN115618239B (zh) | 一种深度学习框架训练的管理方法、系统、终端及介质 | |
CN117724852B (zh) | 一种云电脑计算资源分配方法及装置 | |
CN113901016A (zh) | 面向高能物理io密集型的可计算存储系统及服务方法 | |
CN115617421B (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 |