掌桥专利:专业的专利平台
掌桥专利
首页

任务的测试方法、装置、存储介质及电子装置

文献发布时间:2023-06-19 18:37:28


任务的测试方法、装置、存储介质及电子装置

技术领域

本发明实施例涉及深度学习算法领域,具体而言,涉及一种任务的测试方法、装置、存储介质及电子装置。

背景技术

深度学习算法在业界受到了广泛的关注和应用,如何更快地完成性能好的算法成为了算法人员的迫切需求。受如今海量的数据和相对有限的设备资源的影响,在算法设计和优化的过程中,低效的测试任务调度和设备管理方式将消耗大量的时间和资源,严重影响算法人员的工作效率。

由此可知,相关技术中存在任务测试效率低的问题。

针对相关技术中存在的上述问题,目前尚未提出有效的解决方案。

发明内容

本发明实施例提供了一种任务的测试方法、装置、存储介质及电子装置,以至少解决相关技术中存在的任务测试效率低的问题。

根据本发明的一个实施例,提供了一种任务的测试方法,包括:对测试任务进行拆分,得到多个子任务;确定多个所述子任务中包括的第一子任务以及第二子任务,其中,所述第一子任务为仅支持在测试设备中运行的任务,所述第二子任务为支持在进程中运行的任务;通过目标测试设备测试所述第一子任务,以及通过目标进程测试所述第二子任务。

根据本发明的另一个实施例,提供了一种任务的测试装置,包括:拆分模块,用于对测试任务进行拆分,得到多个子任务;确定模块,用于确定多个所述子任务中包括的第一子任务以及第二子任务,其中,所述第一子任务为仅支持在测试设备中运行的任务,所述第二子任务为支持在进程中运行的任务;测试模块,用于通过目标测试设备测试所述第一子任务,以及通过目标进程测试所述第二子任务。

根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。

通过本发明,对测试任务进行拆分,得到多个子任务,确定多个子任务中包括的仅支持在测试设备中运行的第一子任务,以及支持在进程中运行的第二子任务,通过目标测试设备测试第一子任务,通过目标进程测试第二子任务。由于在进行测试时,可以对测试任务进行拆分,对于仅支持在设备中测试的第一子任务在目标设备中进行测试,对于支持在进行中测试的第二子任务在目标进程中进行测试,使计算资源集中在需要设备资源的子任务,提高设备资源的利用率和自动化测试任务的执行效率,因此,可以解决相关技术中存在的任务测试效率低的问题,达到提高任务测试效率效果。

附图说明

图1是本发明实施例的一种任务的测试方法的移动终端的硬件结构框图;

图2是根据本发明实施例的任务的测试方法的流程图;

图3是根据本发明示例性实施例的设备资源集群结构示意图;

图4是根据本发明示例性实施例的依赖关系示意图;

图5是根据本发明具体实施例的任务的测试方法整体示意图;

图6是根据本发明具体实施例的测试任务拆分及生成依赖信息流程示意图;

图7是根据本发明具体实施例的任务测试方法流程示意图一;

图8是根据本发明具体实施例的任务测试方法流程示意图二;

图9是根据本发明实施例的任务的测试装置的结构框图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明的实施例。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种任务的测试方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的任务的测试方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。

在本实施例中提供了一种任务的测试方法,图2是根据本发明实施例的任务的测试方法的流程图,如图2所示,该流程包括如下步骤:

步骤S202,对测试任务进行拆分,得到多个子任务;

步骤S204,确定多个所述子任务中包括的第一子任务以及第二子任务,其中,所述第一子任务为仅支持在测试设备中运行的任务,所述第二子任务为支持在进程中运行的任务;

步骤S206,通过目标测试设备测试所述第一子任务,以及通过目标进程测试所述第二子任务。

在上述实施例中,可以将测试任务输入到测试系统中,测试系统在接收到测试任务后,可以根据测试任务的结构对测试任务进行拆分,得到多个子任务。在拆分测试任务时,可以按照任务结构进行拆分,将测试任务拆分为主干子任务和附件子任务。其中,主干子任务可以是测试任务中军包括的任务,如获取数据集、测试demo运行、结果对比、产生测试报告等。附加子任务可以是用户配置的任务,如数据集预处理、多环境运行测试demo、测试结果后处理等。

在上述实施例中,在得到多个子任务后,可以确定出多个子任务中包括的第一子任务和第二子任务,第一子任务仅能在设备中进行测试,第二子任务可以即在进程中进行测试,也能在设备中进行测试。其中,第一子任务可以是demo运行子任务。在测试时,将demo运行从测试任务中分离出来,使计算资源集中在需要设备资源的子任务,提高设备资源的利用率和自动化测试任务的执行效率。

其中,上述步骤的执行主体可以为服务器或后台处理器,但不限于此。

通过本发明,对测试任务进行拆分,得到多个子任务,确定多个子任务中包括的仅支持在测试设备中运行的第一子任务,以及支持在进程中运行的第二子任务,通过目标测试设备测试第一子任务,通过目标进程测试第二子任务。由于在进行测试时,可以对测试任务进行拆分,对于仅支持在设备中测试的第一子任务在目标设备中进行测试,对于支持在进行中测试的第二子任务在目标进程中进行测试,使计算资源集中在需要设备资源的子任务,提高设备资源的利用率和自动化测试任务的执行效率,因此,可以解决相关技术中存在的任务测试效率低的问题,达到提高任务测试效率效果。

在一个示例性实施例中,在通过目标测试设备测试所述第一子任务之前,所述方法还包括:确定所述第一子任务的前置任务是否执行完毕,其中,所述前置任务为在所述第一子任务之前执行,且与所述第一子任务相邻的任务;在所述前置任务执行完毕的情况下,确定是否为所述第一子任务指定执行所述第一子任务的第一测试设备组;在为所述第一子任务指定所述第一测试设备组的情况下,从所述第一测试设备组中确定出所述目标测试设备;在未为所述第一子任务指定所述第一测试设备组的情况下,从允许调用的第二测试设备组中确定出所述目标测试设备。在本实施例中,在测试每个第一子任务时,可以确定第一子任务的前置任务是否执行完毕。其中,第一子任务在执行时,依赖于前置任务,在前置任务执行完毕的情况下,还可以确定第一子任务是否有指定执行第一子任务的第一测试设备组,在为第一子任务指定第一测试设备组的情况下,可以从第一测试设备组中确定出空闲的目标测试设备,用于执行第一子任务,在未指定第一测试设备组的情况下,可以从允许调用的第二测试设备组中确定出目标测试设备。

在上述实施例中,第一测试设备组和第二测试设备组可以通过集群Master进行管理。设备资源集群具有多种设备类型,每种设备类型中有多台可运行设备,设备可分为有GPU卡单位的和无GPU卡单位的。同一类型的设备采用双向循环链表的形式组成一个设备组并由一个Worker进程统一维护,当有新设备加入集群时只需要对应的Worker维护设备链表即可。Worker进程可以通过轮询的方式访问设备的运行任务情况和资源占用情况并判断该设备是否能用于执行任务,同时Worker会记录上一次访问的设备节点,避免不必要的重复设备访问消耗。集群Master则负责向所有的Worker进程分发任务。其中,设备资源集群结构示意图可参见附图3,如图3所示,设备1到设备m由Worker2进程统一维护,设备1到设备m即相当于一个测试设备组。同一测试设备组中包括的设备可执行的任务类型相同。

在一个示例性实施例中,在确定是否为所述第一子任务指定执行所述第一子任务的第一测试设备组之后,所述方法还包括:确定是否存在空闲测试设备;在空闲测试设备的情况下,确定是否为所述第一子任务指定用于执行所述第一子任务的第一处理器;在为所述第一子任务指定所述第一处理器的情况下,确定所述第一处理器的第一任务数量以及第一资源占用率,在所述第一任务数量以及所述第一资源占用率满足预定条件的情况下,将安装所述第一处理器的设备确定为所述目标测试设备;在未为所述第一子任务指定所述第一处理器的情况下,依次每个空闲测试设备的第二处理器的第二任务数量以及第二资源占用率,将所述第二任务数量以及所述第二资源占用率满足所述预定条件的设备确定为所述目标测试设备。在本实施例中,在确定目标测试设备时,还可以确定是否为第一子任务指定了第一处理器,如果指定了第一处理器,则为第一子任务指定了第一测试设备组,则可以确定第一测试设备中安装有第一处理器的测试设备的第一任务数量和第一资源占用率,在第一任务数量以及所述第一资源占用率均满足预定条件的情况下,将安装第一处理器的设备确定为目标测试设备。如果未为第一子任务指定第一测试设备组,则可以从允许调用的设备中确定第一处理器的第一任务数量和第一资源占用率均满足预定条件的目标测试设备。

在上述实施例中,当未为第一子任务指定第一处理器时,可以从允许调用的测试设备中确定出目标测试设备。确定出的目标测试设备的第二处理器的第二任务数量和第二资源占用率均满足预定条件。

在上述实施例中,第一处理器可以是GPU图像处理器,还可以是CPU中央处理器,本发明对此不作限制。当第一处理器为GPU时,子任务通过集群Master被调度到对应设备的Worker进程之后,Worker进程将轮询的访问设备链表,获取设备的空闲情况和资源占用率。若任务指定了设备的GPU卡号和单张GPU卡上的最大运行任务数量,而当前设备空闲、资源占用率小于阈值且对应GPU卡上正在运行的任务数量小于上述的最大数量时,将任务注册到该设备的GPU卡上并运行;若任务未指定GPU卡号,则会依次在所有GPU卡尝试注册,当在所有GPU卡都无法注册时,则将任务运行失败的结果返回给集群Master;若任务未指定最大运行任务数量,则默认设置为1。任务注册成功后,Worker进程在调度下一个任务的同时等待正在运行的任务返回结果。任务运行完成后,或因没有可用设备等原因导致任务运行失败后,Worker进程会通过集群Master将结果返回给demo运行进程。

在一个示例性实施例中,在确定所述第一子任务的前置任务是否执行完毕之前,所述方法还包括:确定每个所述子任务的执行优先级;基于所述执行优先级确定多个所述子任务之间的依赖关系;基于所述依赖关系确定所述第一子任务的所述前置任务。在本实施例中,可以根据每个子任务的执行优先级确定子任务之间的依赖关系,根据依赖关系确定第一子任务的前置任务。各类子任务在测试任务调度中心有预置的优先级,优先级越高则在整体的任务执行流程中应该更先被执行并为后续子任务提供数据。其中,依赖关系示意图可参见附图4,如图4所示,可以根据用户需要执行的子任务,将根据优先级形成初始的依赖信息,即依赖关系,并存入依赖信息模块。

在一个示例性实施例中,在基于所述执行优先级确定多个所述子任务之间的依赖关系之后,所述方法还包括:基于所述依赖关系确定所述子任务之间的串行关系以及并行关系;按照所述串行关系以及所述并行关系确定所述子任务的执行顺序;按照所述执行顺序将所述子任务存储至与每个所述子任务对应的消息队列中;确定每个所述子任务的执行状态;基于所述执行状态更新所述消息队列中所述子任务的当前状态。在本实施例中,可以根据任务划分及依赖关系生成后各子任务会被分发至相应的消息队列中进行存储,并确定每个子任务的执行状态,根据执行状态更新消息队列中每个子任务的当前状态。其中,执行状态可以包括执行完成,执行失败,未执行等。

在一个示例性实施例中,在确定所述第一子任务的前置任务是否执行完毕之后,所述方法还包括:在所述前置任务未执行完毕的情况下,在消息队列中将所述第一子任务的执行顺序向后顺延目标位数。在本实施例中,可以通过进程监听相应消息队列中的消息,进程取得队头的子任务后会从依赖信息模块获取相应的测试任务的依赖关系,并检查取得的子任务的前置任务的完成情况,若前置任务都已完成,则尝试执行任务或将子任务注册至设备集群并尝试运行;若前置任务未完成或子任务目前无法执行,则重新将子任务放回其消息队列并向后顺延若干位,进程将重新取得队头子任务并执行。任务执行完成后由当前任务运行进程根据任务完成情况通过依赖关系维护进程更新依赖信息,并将执行结果的存储位置发送给后续子任务对应的运行进程,由该进程暂存并等待执行后续子任务时调用。

在一个示例性实施例中,对测试任务进行拆分,得到多个子任务包括:确定所述测试任务中包括的主干子任务;确定所述测试任务中包括的基于配置指令配置的附加子任务;将所述主干子任务以及所述附加子任务确定为多个所述子任务。在本实施例中,测试任务到达测试任务流程管理模块后,会被拆分为获取数据集、测试demo运行、结果对比、产生测试报告等主干子任务,再根据用户配置增加数据集预处理、多环境运行测试demo、测试结果后处理等附加子任务。子任务有可以运行和等待运行两种状态,初始状态为等待运行,其中,获取数据集作为最初的子任务,没有前置任务,初始状态为可以运行。

下面结合具体实施例对任务的测试方法进行说明:

图5是根据本发明具体实施例的任务的测试方法整体示意图,如图5所示,在测试任务流程管理模块,用户提交的算法自动化测试任务会被划分为数个运行任务必要的主要子任务和根据用户配置增加附加子任务,并根据预置的子任务的优先级产生依赖信息存入测试任务依赖信息模块;测试任务消息模块中为每种子任务各自定义了负责消息传递的消息队列;测试任务运行模块中创建了数个进程分别负责监听对应的测试任务消息队列,当队列中有待消费的消息时,会将其取出来并执行或转发;测试任务依赖信息模块存储了根据子任务之间的依赖信息并有依赖信息维护进程,其余模块通过与该进程交互实现调用和维护子任务的依赖信息。

需要说明的是,测试demo,即测试第一子任务运行进程与其他进程不同,其并不是真正的运行demo,而是将demo运行所需的存储数据集、demo程序的网盘信息及子任务依赖信息注册到设备资源集群中的某个具体设备来运行,因此只需要少量测试demo运行进程用于监听对应的消息队列和转发任务即可。

设备资源集群由集群Master统一分组并管理,集群Master收到测试任务运行模块中的进程的通知后,将运行任务分配给对应的设备组,再由设备组内部进行进一步的分配。当demo运行完成后,集群Master将返回demo的运行情况,任务结束。

图6是根据本发明具体实施例的测试任务拆分及生成依赖信息流程示意图,如图6所示,测试任务到达测试任务流程管理模块后,会被拆分为获取数据集、测试demo运行、结果对比、产生测试报告等主要子任务,再根据用户配置增加数据集预处理、多环境运行测试demo、测试结果后处理等附加子任务。子任务有可以运行和等待运行两种状态,初始状态为等待运行,其中,获取数据集作为最初的子任务,没有前置任务,初始状态为可以运行。各类子任务在测试任务调度中心有预置的优先级,优先级越高则在整体的任务执行流程中应该更先被执行并为后续子任务提供数据。如图4所示,根据用户需要执行的子任务,测试任务流程管理模块将根据优先级形成初始的依赖信息,并存入依赖信息模块。任务划分及依赖信息生成后各子任务会被分发至相应的消息队列。

图7是根据本发明具体实施例的任务测试方法流程示意图一,如图7所示,运行模块中的进程监听相应消息队列中的消息,进程取得队头的子任务后会从依赖信息模块获取相应的测试任务的依赖信息并检查取得的子任务的前置任务的完成情况,若前置任务都已完成,则尝试执行任务或将子任务注册至设备集群并尝试运行;若前置任务未完成或子任务目前无法执行,则重新将子任务放回其消息队列并向后顺延若干位,进程将重新取得队头子任务并执行。任务执行完成后由当前任务运行进程根据任务完成情况通过依赖信息维护进程更新依赖信息,并将执行结果的存储位置发送给后续子任务对应的运行进程,由该进程暂存并等待执行后续子任务时调用。

图8是根据本发明具体实施例的任务测试方法流程示意图二,如图8所示,子任务通过集群Master被调度到对应设备的Worker进程之后,Worker进程将轮询的访问设备链表,获取设备的空闲情况和资源占用率。若任务指定了设备的GPU卡号和单张GPU卡上的最大运行任务数量,而当前设备空闲、资源占用率小于阈值且对应GPU卡上正在运行的任务数量小于上述的最大数量时,将任务注册到该设备的GPU卡上并运行;若任务未指定GPU卡号,则会依次在所有GPU卡尝试注册,当在所有GPU卡都无法注册时,则将任务运行失败的结果返回给集群Master;若任务未指定最大运行任务数量,则默认设置为1。任务注册成功后,Worker进程在调度下一个任务的同时等待正在运行的任务返回结果。任务运行完成后,或因没有可用设备等原因导致任务运行失败后,Worker进程会通过集群Master将结果返回给demo运行进程。

在前述实施例中,对测试任务进行细粒度划分,更直观的解析子任务间的依赖关系,设计更灵活的子任务调度方式,建立任务调度模块和设备资源集群之间的通信管道,实现嵌入式设备、GPU设备等稀缺资源的高效利用。根据不同的测试需求,将算法测试任务划分为细粒度的多类子任务,并使用多个消息队列和运行进程分别处理子任务,提高了任务调度的灵活性,且能集中服务器、嵌入式设备等稀缺资源于最需要计算资源的部分子任务,实现了设备资源的高效利用。将子任务之间的依赖关系从其他功能模块中分离出来并进行模块化的管理,从而充分发挥了多消息队列和多运行进程的性能,降低系统耦合程度,提高了任务调度的串行、并行处理能力以及调度系统的可维护性和拓展性。细化了设备的管理访问结构和调度限制,提高了任务调度过程中获取设备状态的效率和设备资源的利用率。

在前述实施例中,将测试任务拆分为细粒度子任务,将demo运行从测试任务中分离出来,使计算资源集中在需要设备资源的子任务,提高设备资源的利用率和自动化测试任务的执行效率。通过子任务优先级产生任务依赖信息用于维护子任务之间的串行、并行关系,通过访问和维护依赖信息,极大地减少了不必要的任务等待、调度失败等情况带来的资源消耗,提高了任务调度的串行、并行处理能力,并且将依赖信息从消息队列和运行进程中分离出来并模块化的管理各部分的方式,减少了各功能的耦合程度,提高了任务调度时的自由度和系统的可维护性和拓展性。使用Master-Worker-设备链表的形式组建设备资源集群,对设备进行了细化,实时监控设备的状态,提高了任务分发和设备调度效率,且该结构更易维护和扩展,在调度任务时增加了当前设备资源占用率和任务数量作为限制,兼顾了任务执行速率和集群的并行处理任务能力,有效提高了设备资源的利用率。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

在本实施例中还提供了一种任务的测试装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图9是根据本发明实施例的任务的测试装置的结构框图,如图9所示,该装置包括:

拆分模块92,用于对测试任务进行拆分,得到多个子任务;

确定模块94,用于确定多个所述子任务中包括的第一子任务以及第二子任务,其中,所述第一子任务为仅支持在测试设备中运行的任务,所述第二子任务为支持在进程中运行的任务;

测试模块96,用于通过目标测试设备测试所述第一子任务,以及通过目标进程测试所述第二子任务。

在一个示例性实施例中,所述装置还用于在通过目标测试设备测试所述第一子任务之前,确定所述第一子任务的前置任务是否执行完毕,其中,所述前置任务为在所述第一子任务之前执行,且与所述第一子任务相邻的任务;在所述前置任务执行完毕的情况下,确定是否为所述第一子任务指定执行所述第一子任务的第一测试设备组;在为所述第一子任务指定所述第一测试设备组的情况下,从所述第一测试设备组中确定出所述目标测试设备;在未为所述第一子任务指定所述第一测试设备组的情况下,从允许调用的第二测试设备组中确定出所述目标测试设备。

在一个示例性实施例中,所述装置还用于在确定是否为所述第一子任务指定执行所述第一子任务的第一测试设备组之后,确定是否存在空闲测试设备;在空闲测试设备的情况下,确定是否为所述第一子任务指定用于执行所述第一子任务的第一处理器;在为所述第一子任务指定所述第一处理器的情况下,确定所述第一处理器的第一任务数量以及第一资源占用率,在所述第一任务数量以及所述第一资源占用率满足预定条件的情况下,将安装所述第一处理器的设备确定为所述目标测试设备;在未为所述第一子任务指定所述第一处理器的情况下,依次每个空闲测试设备的第二处理器的第二任务数量以及第二资源占用率,将所述第二任务数量以及所述第二资源占用率满足所述预定条件的设备确定为所述目标测试设备。

在一个示例性实施例中,所述装置还可以用于在确定所述第一子任务的前置任务是否执行完毕之前,确定每个所述子任务的执行优先级;基于所述执行优先级确定多个所述子任务之间的依赖关系;基于所述依赖关系确定所述第一子任务的所述前置任务。

在一个示例性实施例中,所述装置还可以用于在基于所述执行优先级确定多个所述子任务之间的依赖关系之后,基于所述依赖关系确定所述子任务之间的串行关系以及并行关系;按照所述串行关系以及所述并行关系确定所述子任务的执行顺序;按照所述执行顺序将所述子任务存储至与每个所述子任务对应的消息队列中;确定每个所述子任务的执行状态;基于所述执行状态更新所述消息队列中所述子任务的当前状态。

在一个示例性实施例中,所述装置还可以用于在确定所述第一子任务的前置任务是否执行完毕之后,在所述前置任务未执行完毕的情况下,在消息队列中将所述第一子任务的执行顺序向后顺延目标位数。

在一个示例性实施例中,拆分模块92可以通过如下方式实现对测试任务进行拆分,得到多个子任务:确定所述测试任务中包括的主干子任务;确定所述测试任务中包括的基于配置指令配置的附加子任务;将所述主干子任务以及所述附加子任务确定为多个所述子任务。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。

本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术分类

06120115632513