数据处理方法、数据处理装置、终端及可读存储介质与流程

文档序号:15346642发布日期:2018-09-04 22:50阅读:200来源:国知局

本发明涉及数据处理领域,尤其涉及一种数据处理方法、装置、终端及可读存储介质。



背景技术:

本部分旨在为权利要求书及具体实施方式中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。

随着移动互联网的快速发展,包括便携式笔记本电脑,手机在内的移动终端在人们的生活中扮演了越来越重要的角色,越来越多的功能也被集成在移动终端中以给人们提供更多便捷,快速的服务。但伴随着更多功能的集成化,复杂化,移动终端所担负的数据处理量也就变得越来越大,这也使得行业内在终端上搭载了更加多的处理芯片,诸如更加先进工艺的cpu、gpu;更加专业数据处理芯片:neon、dsp(vp5、hvx、ipu)、npu。虽然集成了如此多的数据处理器,但相较于快速发展所需要大数据相关计算的任务量,单个芯片计算能力的提升仍然是有限的,尤其是在当前人工智能,机器学习日益快速发展的今天,对于更复杂,更巨大的数据处理任务,在现有硬件条件情况下,如何更加快速化,高效化,成为了业内急需解决的问题。



技术实现要素:

鉴于此,有必要提供一种能够快速,高效处理复杂度高,运算量大的数据处理任务的方法。

本申请实施例第一方面提供一种数据处理方法,一种数据处理方法,其特征在于,接收数据处理任务;

接收数据处理任务;

确定所述数据处理任务包括的所述至少一个节点任务;

将所述至少一个节点任务分配至与所述至少一个节点任务对应的处理器单元。

一种可能的实现方式中,所述确定所述数据处理任务包括的所述至少一个节点任务,具体包括:

确定所述数据处理任务中的任务单元;

将所述任务单元拆分为至少一个子任务;确定所述至少一个子任务包括的所述至少一个节点任务。

一种可能的实现方式中,所述确定所述至少一个子任务包括的所述至少一个节点任务,具体包括:

根据所述至少一个子任务类型确定所述至少一个子任务对应需要执行的至少一个节点任务。

另一种可能的实现方式中,所述将所述至少一个节点任务分配至与所述至少一个节点任务对应的处理器单元前,所述方法还包括:

根据处理器单元的类型和/或运行状态,确定所述至少一个节点任务对应的处理器单元;

另一种可能的实现方式中,所述方法还包括:将处理器单元处理后的所述至少一个节点任务组合。

另一种可能的实现方式中,在根据处理器单元的运行状态确定所述至少一个节点任务对应的处理器单元时,所述处理器单元的运行状态包括至少一个处理器的空闲程度;

在根据处理器单元的类型确定所述至少一个节点任务对应的处理器单元时,所述处理器单元的类型包括至少一个处理器与所述至少一个节点任务的对应关系。

另一种可能的实现方式中,所述至少一个子任务块之间不存在依赖关系。

本申请第二方面提供一种数据处理装置,其特征在于,包括

接收模块,接收数据处理任务;

确定模块,确定所述数据处理任务包括的所述至少一个节点任务;

分配模块:将所述至少一个节点任务分配至所述至少一个节点任务对应的处理器单元。

另一种可能的实现方式中,确定模块具体包括:

第一确定单元,确定所述数据处理任务中的任务单元;

拆分单元,将所述任务单元拆分为至少一个子任务;

第二确定单元,确定所述至少一个子任务包括的所述至少一个节点任务。

另一种可能的实现方式中,所述第二确定单元,具体用于:

根据所述至少一个子任务类型确定所述至少一个子任务对应需要执行的至少一个节点任务。

另一种可能的实现方式中,所述分配模块,具体用于,根据处理器单元的类型和/或运行状态,确定所述至少一个节点任务对应的处理器单元;将所述至少一个节点任务分配至所述至少一个节点任务对应的处理器单元。

另一种可能的实现方式中,在根据处理器单元的运行状态确定所述至少一个节点任务对应的处理器单元时,所述处理器单元的运行状态包括至少一个处理器的空闲程度;

在根据处理器单元的类型确定所述至少一个节点任务对应的处理器单元时,所述处理器单元的类型包括至少一个处理器与所述至少一个节点任务的对应关系。

另一种可能的实现方式,上述数据处理装置还包括:组合模块,将处理器单元处理后的所述至少一个节点任务组合。

另一种可能实现的方式,所述至少一个子任务块之间不存在依赖关系。

本申请第三方面提供一种终端,所述终端包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如上述第一方面中任意一项所述的数据处理方法的步骤。

本申请第四方面提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上述第一方面中任意一项数据处理方法的步骤。

本发明提供的数据处理方法、数据处理装置,终端、可读存储介质,通过分析每个处理器单元的类型和/或当前运行状态,并结合任务的属性特点将其划分为任务单元、至少一个子任务,并进一步确定每个子任务的至少一个节点任务,在任务处理队列中以节点任务为最小单元分配至更适合处理该节点任务的处理器单元,这样对于任意一个子任务的执行,能够以节点任务的方式并行在各个处理器中执行,能够更加合理的分配任务量,实现系统的负载均衡,提高了执行效率,缩短了执行时间。同时,对于计算量特别大的数据任务,本发明通过更加合理的任务拆解,以及处理器芯片的合理调度,降低计算量较大的功能或算法带来的功耗问题。

附图说明

为了更清楚地说明本发明实施方式的技术方案,下面将对实施方式描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1a是本发明第一实施方式的数据处理方法的流程示意图。

图1b是本发明第一实施方式的数据处理方法的步骤s102流程示意图。

图2是数据处理任务执行中对应的工作流模型示意图。

图3是本发明第二实施方式的数据处理方法的流程示意图。

图4a是本发明数据处理方法在jpeg解码任务流程示意图。

图4b是本发明数据处理方法在jpeg解码任务中任务处理示意图。

图5是本发明一实施方式提供的数据处理装置的结构示意图。

图6是本发明一实施方式提供的终端的示意图。

主要元件符号说明

如下具体实施方式将结合上述附图进一步说明本发明。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施方式及实施方式中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本发明。

图1是本发明一实施方式提供的数据处理方法的流程图,所述数据处理方法可以应用于终端。所述终端可以是例如智能手机、平板电脑、个人数字助理等具有一定数据处理能力的计算机设备。应说明的是,本发明实施方式的所述数据处理方法并不限于图1所示的流程图中的步骤及顺序。根据不同的需求,所示流程图中的步骤可以增加、移除、或者改变顺序。

在本发明实施方式一中,根据图1所示的数据处理方法包括,

步骤s101:接收数据处理任务;

作为终端数据处理流程地开始,首先接收数据处理任务,终端的使用者可通过输入操作来向终端输入数据处理指令,以使得终端接收数据处理任务,或者终端已安装的应用程序预先设置的方式来触发终端接收数据处理任务。具体地,数据处理任务可以包括:音频解码任务,可对应到终端上音频的播放;图片的解码,可对应到终端上图片、视频的查看;指纹、人脸验证任务,可对应到终端上解锁、支付;以及数据解析,深度学习,人工智能计算等任务。该些数据任务的列举仅仅是示例性列举,并非穷举式列举,本领域技术人员能够知道,只要在终端上通过对应处理器完成的计算、处理任务,均应该理解为本发明中的数据处理任务。

步骤s102:确定所述数据处理任务包括的所述至少一个节点任务。

步骤s105:将所述至少一个节点任务分配至与所述至少一个节点任务对应的处理器单元。

其中,优选地,步骤s102:确定所述数据处理任务包括的所述至少一个节点任务,具体包括s1021:确定所述数据处理任务中的任务单元;

终端接收的数据处理任务通常是一个在任务流程步骤上具有完整非重复的独立任务或者在任务流程步骤上具有批量重复的多个独立任务,比如图库中图片查看,就是图片解码过程,当在图库同时查看多张图片时,此时一张图片的解码作为一个独立的任务,而多张图片的解码即对应到重复的多个独立任务,当终端仅收到一张图片的查看指令时,也就是说处理任务仅为一张图片的解码,此时,接收到的数据处理任务亦是一个任务单元,即,处理任务本身就是一个任务单元,而步骤s1021中的任务单元为这样的独立任务。任务单元是终端接收的处理任务中在流程步骤上可重复的独立单元。

步骤s1022:将所述任务单元拆分为至少一个子任务;

为了提高处理器单元处理速度和处理中的并行程度,可以将任务单元拆分为多个子任务,这样,每个子任务的处理量变为原来任务单元的一部分,相比于现有技术中将任务单元分配给处理器来处理的方式,本实施方式中分配到每个处理器单元的处理量因此变得更少,从而能够提高处理器单元每次处理中的速度,在这种情况下,对于多个处理器单元来说,处理中的并行程度也因此得到了提高。

需要特别说明的是,此处拆分为多个子任务,只是一种较为优选的方式,在某些任务处理流程步骤较为简单的情况下,该步骤中将任务单元作为一个完整的任务进入下一个步骤,同样是本实施方式中所包括的,其同样能够实现本发明所要实现的效果。

在较大数据量的数据处理任务中,优选地,每个所述至少一个子任务块之间不存在依赖关系。采用这样的方式能够保证,在任务处理队列中的各个待处理任务在分配时能够保持较高的并行程度,进而对于大数据量的处理,在处理速度和效率上,能够保持更为明显的优势。

步骤s1023:确定所述至少一个子任务包括的所述至少一个节点任务;

这里需要说明的是,对于任务的执行中,均是通过执行中的各个步骤来完成的,就是说任务的执行是以由一个个步骤组成的工作流的形式完成的,每个任务执行的过程可以抽象为一个工作流模型,如图2所示为一个较为简单工作流模型。可以理解,在一个任务执行中,需要执行①、②、③、④、⑤个步骤,而每个步骤后面执行的是哪个步骤,则根据具体的条件来判断,因此,工作流模型中除了包括5个步骤外,还包括5个跳转的条件,即,步骤和条件构成了工作流模型。每个子任务都会存在对应到一个工作流模型,而节点任务是工作流模型步骤。

本实施方式中确定所述至少一个子任务包括的所述至少一个节点任务后,即将每个子任务依照其工作流模型中对应的执行步骤,将其拆分为每个步骤,然后将拆分后的各个步骤推入到任务处理队列,即任务处理队列中待分配的是以节点任务的形式,这样分配给每个处理器单元处理的也是节点任务,在这样的处理方式中,对于每一个子任务来说,其所包括的工作流中各个节点任务在处理器的处理过程保持了并行处理,且每次处理时间和工作量均得到了简化,进而能够最大程度的提高数据处理效率,减小大数据量的处理时间,且节省了功耗。

此处需要说明的是,本发明实施方式一对于较复杂的数据处理的效率提高十分明显。对于极其简单的任务工作流来说,也存在只有一个节点任务的可能性,对于该种情况,仅采用步骤s1022将任务单元拆分为多个子任务,同样适应于本发明实施例一所描述的方法。

相比于本发明实施方式一,传统的数据处理中仅仅涉及将接收到的任务拆分为至少一个子任务,将每个子任务直接分配至处理器单元,此时,每个子任务在处理器单元执行的过程,仍然是整个工作流模型,这样,在整个工作流模型中每个处理器仍然是串行完成,对于较大数据量的处理中,现有技术的上述过程对于效率的提高作用十分有限。

需要说明的是,步骤s1023确定至少一个子任务的至少一个节点任务中,即将每个子任务依照其工作流模型中对应的执行步骤,将其拆分为每个步骤对应的节点任务,然后将拆分后的各个节点任务推入到任务处理队列,即任务处理队列中待分配的是以节点任务的形式,这样分配给每个处理器单元处理的也是节点任务。而分配的处理器单元根据发送过来的节点任务的原始数据以及执行条件,来进行本次节点任务的执行并将执行后的节点任务的输出数据从新发送至任务处理队列。其中对于每个节点任务的分配,可以设置单独的中间处理器来完成,其根据工作流模型,以及每个节点任务的标签,和各个处理器的类型和运行状态,来分配上述每个节点任务,其中节点任务的标签是用来标识该节点任务类型,原子任务属性,原任务单元属性的信息。

通过本发明实施方式一的数据处理方法,通过分析每个处理器芯片的计算能力以及计算特点,并结合任务的特点逐步将其划分为任务单元,至少一个子任务,并进一步确定每个子任务的至少一个节点任务,在任务处理队列中以节点任务为最小单元分配至更适合处理该节点任务的处理器单元,这样对于任意一个子任务的执行,能够以节点任务的方式并行在各个处理器中执行,能够更加合理的分配任务量,实现系统的负载均衡,提高了执行效率,缩短了执行时间。

图3示出了本发明第二实施方式的数据处理方法的流程示意图。

在本发明实施方式二中,根据图3所示的数据处理方法包括,步骤s201:接收数据处理任务;实施例二中同实施例一中相同的步骤所涉及的实现细节,在实施例一种已经有详细描述,为节省篇幅,在本实施方式中就不再详述;

接收数据处理任务后,所述数据处理方法还包括:

s202:确定所述数据处理任务中的任务单元;

任务单元是终端接收的处理任务中在流程步骤上可重复的独立单元。

s203:将所述任务单元拆分为至少一个子任务单元;

具体地,为了提高处理器单元处理速度和处理中的并行程度,可以将任务单元拆分为多个子任务,这样,每个子任务的处理量变为原来任务单元的一部分,相比于现有技术中将任务单元分配给处理器来处理的方式,本实施方式中分配到每个处理器单元的处理量因此变得更少,从而能够提高处理器单元每次处理中的速度,在这种情况下,对于多个处理器单元来说,处理中的并行程度也因此得到了提高。

s204:根据所述至少一个子任务类型确定所述至少一个子任务对应需要执行的至少一个节点任务;

s205:根据所述至少一个子任务包括的所述至少一个节点任务;

s206:根据处理器单元的类型和/或运行状态,确定拆分后的每个节点任务对应的处理器单元;

具体地,本实施方式中的处理器单元可以为现有移动设备中所应用到的任何具有通用或专有数据处理能力的处理器单元,包括但不限于,cpu;gpu;更加专业数据处理芯片:neon、dsp(vp5、hvx、ipu);更加智能的ai芯片:npu。由于不同处理器的类型不同,其能够处理的数据和任务类型也会有差别,这里说明的处理器类型包括了处理器和其能够处理的任务类型的对应关系。

在分配节点任务的时候,除了考虑处理器类型外,为了能够进一步提高数据处理效率,还需要结合每个处理器单元当前运行状态,即,在对某一个节点任务a来说,如果具有处理器a/b/c可以来处理,仍然需要结合当前处理器a/b/c的负载情况,即是否空闲来判断,优选将节点任务分配给有空闲,且能够高效处理该节点任务的处理器单元。

s207:将每个所述至少一个节点任务分配至与每个所述至少一个节点任务对应的处理器单元;

完成步骤s206根据处理器单元的类型和/或运行状态,确定拆分后的每个节点任务对应的处理器单元后,即将每个子任务依照其工作流模型中对应的执行步骤,将其拆分为每个步骤对应的节点任务,然后将拆分后的各个节点任务推入到任务处理队列,即任务处理队列中待分配的是以节点任务的形式存在,这样分配给每个处理器单元处理的也是节点任务。

s208:将处理器单元处理后的每个所述至少一个节点任务组合。

以上是对本发明所提供的数据处理方法进行的详细描述。根据不同的需求,所示流程图中方块的执行顺序可以改变,某些方块可以省略。同时,易于理解的是,上述第一实施方式、第二实施方式数据处理方法,还可二者结合在一起形成一个兼具第二实施方式、第一实施方式的功能及效果的数据处理方法。

通过本发明实施方式二的数据处理方法,通过分析每个处理器芯片的计算能力以及计算特点,并结合任务的特点逐步将其划分为任务单元,至少一个子任务,并进一步确定每个子任务的至少一个节点任务,在任务处理队列中以节点任务为最小单元分配至更适合处理该节点任务的处理器单元,这样对于任意一个子任务的执行,能够以节点任务的方式并行在各个处理器中执行,能够更加合理的分配任务量,实现系统的负载均衡,提高了执行效率,缩短了执行时间。

下面以jpeg解码任务数据处理过程中涉及具体处理方式为例说明本发明的数据处理方法。图4是本发明数据处理方法在jpeg解码任务中的流程示意图,其中图4a是本发明数据处理方法在jpeg解码任务流程示意图;图4b是本发明数据处理方法在jpeg解码任务中任务处理示意图。

对于移动设备上jpeg解码任务来说,其工作流模型中通常包括霍夫曼解码huffmandecoding步骤,以及idct&colorconverting步骤。具体地:

对于jpeg解码来说,包括步骤s301,终端接收jpeg解码任务和jpeg数据;同样的,所述解码任务可通过使用者输入操作来向终端输入数据处理指令,以使得终端接收数据处理任务,或者终端已安装的应用程序预先设置的方式来触发终端接收数据处理任务;

步骤s302,根据jpeg解码任务,确定任务单元;可选择地,当仅有一幅jpeg图片时,此次终端接受到的解码任务构成一个任务单元,而当有多幅jpeg图片时,每张jpeg图片的解码任务构成一个任务单元;

步骤s303,将所述任务单元拆分为四个子任务:task0、task1、task2、task3,其中可选择拆分方式,即将原来一张jpeg图片的数据分为四份,更容易理解的方式,其将一张jpeg图片分割为四个小块,每个小块对应的数据可单独进行解码任务,此时每个小块对应的数据的解码即为一个task。此时,本领域技术人员能够知道,每个任务单元拆分的子任务的个数,可根据实际处理器单元的状况和任务单元本身的计算量等因素综合考虑,本领域技术人员可选择较优的拆分方式。

步骤s304,确定四个子任务task0/task1/task2/task3包括的所述节点任务:①huffmandecoding;②idct&colorcoverting;

终端根据jpeg解码任务工作流模型,确定子任务包括的节点任务:①huffmandecoding;②idct&colorcoverting;随后确定每个子任务所包括的节点任务,并以子任务的数据对应确定后的各个节点任务,将包括有子任务数据的各个节点任务放入待处理任务队列。可选择地,设置有中间处理器,从待处理任务队列中逐个取出带有数据的节点任务,并根据节点任务类型和/或处理器单元运行状态、类型,将所述至少一个节点任务分配至与所述至少一个节点任务对应的处理器单元。其中优选地,中间处理器可其根据任务单元和/或子任务的工作流模型,以及每个节点任务的标签,和各个处理器的类型和运行状态,来分配上述每个节点任务,其中节点任务的标签是用来标识该节点任务类型,原子任务属性,原任务单元属性的信息。

之后,每个处理器单元处理完该节点任务后将该处理后的节点任务(即变为工作流模型中另一节点任务)从新放入待处理任务队列,待中间处理器下次继续分配处理。当所有节点任务均处理完成后,根据节点任务的标签信息,终端可将节点任务合称为各个子任务,并将各个子任务合称为任务单元,并通过显示单元进行显示。

以上为本发明数据处理方法在jpeg图片解码过程中的应用,通过本实施方式中的数据处理方法,在大批量的图片数据浏览和显示过程中,能够提高数据处理效率,进而对于图片显示和浏览的数据有着较为显著地提升,在图片查看过程中也能够给使用者提供更加良好的使用体验。

需要说明的是,本发明数据处理方法,除了jpeg解码任务,对于在终端上执行的诸如以下计算任务均可适用:

1.科学计算(如线性代数、数据挖掘、有限元素分析、偏微分方差式);

2.光谱分析;

3.模拟粒子的动力学系统(如天文学中模拟星系的形成、分子动力学、分子模拟、体动力学、量子力学、天气预测、等离子体物理学);

4.结构化网络(如图像高斯模糊、图像锐化);

5.非结构化网络(如置信传播);

6.mapreduce(如分布式搜索);

7.组合逻辑(如加密和解密、计算校验法);

8.图形跟踪(如碰撞检测);

9.动态规划(如序列对比、求解最短路径);

10.网络加速;

11.概率图模型(如深度学习);

12.有限状态机(如视频解码,解析,压缩,数据挖掘、查找循环模式);

13.支持向量机svmtrain。

具体地,诸如lenet网络加速,其工作流模型可以包括:input-convolutions-subsampling-convolutions-subsampling-fullconnection-fullconnection-gaussiancoonections。数据处理中,在接收了lenet网络加速任务后,确定任务单元,并将每个任务单元拆分为至少一个子任务单元,根据上述工作流模型,将每个子任务单元以工作流模型中的节点任务放入待处理任务队列,由中间处理器根据处理器单元的类型以及状态进行分配,并根据上述工作流模型逐个处理完成各个节点任务,并最后组成完整lenet网络加速任务输出。

同样,支持向量机(supportvectormachine,svm)在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中。在机器学习中,支持向量机(svm,还支持矢量网络)是与相关的学习算法有关的监督学习模型,可以分析数据,识别模式,用于分类和回归分析。在svmtrain应用中,其工作流模型可以包括:inputdata-grammatrix(格拉姆矩阵)-solveqpproblem(求解qp问题)-lagrangemultipliers(拉格朗日乘数法)-intercept(截距)-model。在该支持向量机模型建立中,接收了模型建立任务和数据后,确定任务单元,并将每个任务单元拆分为至少一个子任务单元,根据上述工作流模型,将每个子任务单元以工作流模型中的节点任务放入待处理任务队列,由中间处理器根据处理器单元的类型以及状态进行分配,并根据上述工作流模型逐个处理完成各个节点任务,并最后建立完整的支持向量机模型并输出模型计算的结果。

上面对本申请实施例的数据处理方法进行了说明,下面对本申请实施例的数据处理装置进行说明,请参阅图5,图5是本申请实施方式的数据处理装置的一个实施例图,本实施方式中数据处理装置可包括:

接收模块11,接收数据处理任务;

第一确定模块12,确定所述数据处理任务中的任务单元;

拆分模块13,将所述任务单元拆分为至少一个子任务;

第二确定模块14,确定所述至少一个子任务包括的所述至少一个节点任务;

分配模块15:将所述至少一个节点任务分配至与所述至少一个节点任务对应的处理器单元;

其中,所述处理器单元至少包括cpu、gpu和/或协处理器;

作为优选地方式,所述第二确定模块,可具体用于:根据所述至少一个子任务类型确定所述至少一个子任务对应需要执行的至少一个节点任务;确定所述至少一个子任务包括的所述至少一个节点任务。

作为优选地方式,所述分配模块,具体用于,根据处理器单元的类型和/或运行状态,确定拆分后的每个节点任务对应的处理器单元;将每个所述至少一个节点任务分配至每个所述至少一个节点任务对应的处理器单元。

作为优选地方式,本实施方式中数据处理装置还包括:组合模块16,将处理器单元处理后的每个所述至少一个节点任务组合。

作为优选地方式,所述至少一个处理器的运行状态包括至少一个处理器的空闲程度;

所述至少一个处理器的类型包括至少一个处理器与所述至少一个节点任务的对应关系。

作为优选地实施方式,所述至少一个子任务块之间不存在依赖关系。

需要说明的是,对应上述数据处理方式的各实施方式,数据处理装置可以包括图5中所示的各功能模块中的一部分或全部,各模块的功能将在以下具体介绍。以上数据处理方式的各实施方式中相同的名词相关名词及方法中的具体的解释说明也可以适用于以下对各模块的功能介绍。为节省篇幅及避免重复起见,在此就不再赘述。

本发明实施例还提供一种终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施方式中所述的数据处理方法的步骤。

图6是本发明一实施方式提供的终端的示意图。如图6所示,终端1至少包括:处理器20、存储器30、存储在所述存储器30中并可在所述处理器20上运行的计算机程序40(例如数据处理方法的控制程序)。

其中,所述终端1可以是智能手机、平板电脑、个人数字助理等具有拍摄功能的计算机设备。本领域技术人员可以理解,所述示意图3仅仅是终端1的示例,并不构成对终端1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端1还可以包括输入输出设备、网络接入设备、总线等。

所述处理器20执行所述计算机程序40时实现上述摄像头的控制方法实施方式中的步骤,例如图1所示的步骤s101~s105、图2所示步骤s1021-s1023,图3所示的步骤s201~s207、或者图4所示的步骤s301~s305。所述处理器20执行所述计算机程序40时实现上述各装置实施方式中各模块/单元,例如模块11~13的功能。

示例性的,所述计算机程序40可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器30中,并由所述处理器20执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,所述指令段用于描述所述计算机程序40在所述终端1中的执行过程。例如,所述计算机程序40可以被分割成图5中接收模块11;第一确定模块12;拆分模块13;第二确定模块14;分配模块15;组合模块16;各模块11~16的具体功能请参见前面的具体介绍,为节省篇幅及避免重复起见,在此就不再赘述。

所称处理器20可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者所述处理器20也可以是任何常规的处理器等,所述处理器20是所述摄像头的控制装置10/所述终端1的控制中心,利用各种接口和线路连接整个摄像头的控制装置10/终端1的各个部分。

所述存储器30用于存储所述计算机程序40和/或模块/单元,所述处理器20通过运行或执行存储在所述存储器30内的计算机程序和/或模块/单元,以及调用存储在所述存储器30内的数据,实现所述数据处理装置/终端1的各种功能。所述存储器30可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端1的使用所创建的数据(比如音频数据,电话本,应用上述摄像头的控制方法而设置、获取的数据等)等。此外,所述存储器30可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施方式中所述的数据处理方法的步骤。

所述数据处理装置/终端1/计算机装置集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施方式方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,所述计算机程序在被处理器执行时,可实现上述各个方法实施方式的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

在本发明所提供的几个具体实施方式中,应该理解到,所揭露的终端和方法,可以通过其它的方式实现。例如,以上所描述的终端实施方式仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

另外,在本发明各个实施例中的各功能模块可以集成在相同处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在相同模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。

对于本领域技术人员而言,显然本发明实施例不限于上述示范性实施例的细节,而且在不背离本发明实施例的精神或基本特征的情况下,能够以其他的具体形式实现本发明实施例。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明实施例的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明实施例内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统、装置或终端权利要求中陈述的多个单元、模块或装置也可以由同一个单元、模块或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

最后应说明的是,以上实施方式仅用以说明本发明实施例的技术方案而非限制,尽管参照以上较佳实施方式对本发明实施例进行了详细说明,本领域的普通技术人员应当理解,可以对本发明实施例的技术方案进行修改或等同替换都不应脱离本发明实施例的技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1