基于多线程的测量控制方法及装置与流程

文档序号:14634714发布日期:2018-06-08 19:34阅读:156来源:国知局
基于多线程的测量控制方法及装置与流程

本发明实施例涉及通信技术领域,尤其涉及一种基于多线程的测量控制方法及装置。



背景技术:

在移动通信终端认证测试中,射频一致性测试是最核心的测试之一。终端综合测试仪是射频一致性测试的核心设备,不仅可以模拟核心网的功能,还可以完成射频一致性指标的测试。

终端综合测试仪通过测量软件完成射频一致性指标的测试。测量软件包括测量算法模块和测量控制模块,测量算法模块运行在Windows系统上,实现预设的各射频指标的测量方法;测量控制模块运行在能实现数字信号处理技术(Digital Signal Process,简称DSP)的DSP芯片上,根据测量算法模块的命令进行测量控制,并完成测量数据的上传。为了涵盖各种射频指标的测试,测量算法模块设计了很多个测量项,如最大输出功率测试,EVM测试,信道占用带宽测试,临道泄露比测试,发射机开启/关闭时间模板测试,功率控制测试,接收机灵敏度测试等等。各个测量项的开始,中断,切换,退出以及测试模式切换(单次测量或者多次测量)等流程的控制、读取测量数据到缓存中、将测量数据上传到待测终端等都需要测量控制模块完成。

测量控制模块在实现测量项的一次测试过程中需要完成多个测试任务,例如接收测量原语消息、解析测量原语、缓存测量数据、上传测量数据等,以实现对测量项测试的控制和调度。但是,目前终端综合测试仪的测量控制模块多采用单线程的方式实现,即需要在上一个测试任务完成后才能开始新的测试任务,在上一个测量项的多个测试任务逐一完成之后,才能开始新的测量项的测试,任意一个测试任务的延时较长,都会影响整体测试效率,导致终端综合测试仪的一致性测试的效率低。



技术实现要素:

本发明实施例提供一种基于多线程的测量控制方法及装置,以解决目前终端综合测试仪的测量控制模块多采用单线程的方式实现,即需要在上一个测试任务完成后才能开始新的测试任务,在上一个测量项的多个测试任务逐一完成之后,才能开始新的测量项的测试,任意一个测试任务的延时较长,都会影响整体测试效率,导致终端综合测试仪的一致性测试的效率低的问题。

本发明实施例的一个方面是提供一种基于多线程的测量控制方法,包括:

创建测量控制线程、原语解析线程、数据缓存线程、数据上传线程和状态控制线程;

通过调度所述测量控制线程、原语解析线程、数据缓存线程、数据上传线程和状态控制线程,并行地对至少两个测量项的测试过程进行测量控制。

本发明实施例的另一个方面是提供一种基于多线程的测量控制装置,包括:

线程创建模块,用于创建测量控制线程、原语解析线程、数据缓存线程、数据上传线程和状态控制线程;

处理模块,用于通过调度所述测量控制线程、原语解析线程、数据缓存线程、数据上传线程和状态控制线程,并行地对至少两个测量项的测试过程进行测量控制。

本发明实施例提供的基于多线程的测量控制方法及装置,通过将测量控制模块划分为多个功能模块,创建测量控制线程、原语解析线程、数据缓存线程、数据上传线程和状态控制线程,通过调度各线程可以并行地对至少两个测量项的测试过程进行测量控制,提高了对至少两个测量项的整体测试效率,从而提高了终端综合测试仪的一致性测试的效率。

附图说明

图1为本发明实施例一提供的基于多线程的测量控制方法的流程图;

图2为本发明实施例二提供的基于多线程的测量控制方法的流程图;

图3为本发明实施例三提供的基于多线程的测量控制方法的流程图;

图4为本发明实施例四提供的基于多线程的测量控制方法的流程图;

图5为本发明实施例五提供的基于多线程的测量控制装置的结构示意图;

图6为本发明实施例六提供的基于多线程的测量控制装置的结构示意图。

具体实施方式

为使本发明的技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

DSP/BIOS是一个简易的实时嵌入式操作系统,主要面向实时调度与同步、主机/目标系统通信,以及实时监测等应用,具有实时操作系统的诸多功能,如任务的调度管理、任务间的同步和通信、内存管理、实时时钟管理、中断服务管理、外设驱动程序管理等。在现有的测量控制模块中,大多是实现在没有操作系统的DSP核上的,而随着DSP技术的发展,出行了运行在DSP芯片上的实时操作系统DSP/BIOS。DSP/BIOS支持多线程技术,通过采用多线程技术可以提高执行算法的效率。

实施例一

图1为本发明实施例一提供的基于多线程的测量控制方法的流程图。本发明实施例针对目前终端综合测试仪的测量控制模块多采用单线程的方式实现,即需要在上一个测试任务完成后才能开始新的测试任务,在上一个测量项的多个测试任务逐一完成之后,才能开始新的测量项的测试,任意一个测试任务的延时较长,都会影响整体测试效率,导致终端综合测试仪的一致性测试的效率低的问题,提供了基于多线程的测量控制方法。如图1所示,该方法具体步骤如下:

步骤S101、创建测量控制线程、原语解析线程、数据缓存线程、数据上传线程和状态控制线程;

本发明实施例中,将测量控制模块划分为以下几个功能模块:测量控制子模块、原语解析子模块、数据缓存子模块、数据上传子模块和状态控制子模块。

其中,测量控制子模块主要用于完成测量准备工作,原语解析子模块主要用于接收并解析测量算法模块发送的原语消息,以确定后续的测量控制流程;数据缓存子模块主要用于将待测测量项的测量数据从预设存储区域读入缓存区域中;数据上传子模块主要用于将待测测量项的测量数据从缓存区域上传到待测终端;测量状态控制模块主要用于记录各测量项的状态。

在对任一待测的测量项的测量控制过程中,待测的测量项需先后经过原语解析子模块、数据缓存子模块、数据上传子模块的处理,其中,前一子模块处理完成后,将不会再参与后续子模块的处理过程,前一子模块可以继续处理下一个待测的测量项;在原语解析子模块、数据缓存子模块、数据上传子模块中任一子模块对测量项的处理完成后,都会通知测量状态控制模块改变测量项的状态。

为了实现原语解析子模块、数据缓存子模块、数据上传子模块并行对指示两个测量项进行测量控制,为每个子模块分配一个线程,每个线程用于完成其对应的子模块的处理功能,具体可以采用如下方式来实现:

创建测量控制线程,并将测量控制线程分配给测量控制子模块;创建原语解析线程,并将原语解析线程分配给原语解析子模块;创建数据缓存线程,并将数据缓存线程分配给数据缓存子模块;创建数据上传线程,并将数据上传线程分配给数据上传子模块;创建状态控制线程,并将状态控制线程分配给状态控制子模块。

步骤S102、通过调度测量控制线程、原语解析线程、数据缓存线程、数据上传线程和状态控制线程,并行地对至少两个测量项的测试过程进行测量控制。

本实施例中,在对任一待测的测量项的测量控制过程中,待测的测量项需先后经过原语解析子模块、数据缓存子模块、数据上传子模块的处理,其中,前一子模块处理完成后,将不会再参与后续子模块的处理过程,前一子模块可以继续处理下一个待测的测量项,因此,测量控制线程在完成一个测量项的处理之后,由数据缓存线程继续处理该测量项,此时原语解析线程可以继续处理下一个测量项;当数据缓存线程完成对该测量项的处理后,由数据上传线程继续处理该测量项,此时数据缓存线程可以继续处理原语解析线程已经处理过的下一个测量项;当数据上传线程完成对该测量项的处理之后,完成了所有该测量项的处理,数据上传线程可以继续处理数据缓存线程已经处理过的下一个测量项;可以实现由各线程并行地对至少两个测量项的测试过程进行测量控制。

本发明实施例通过将测量控制模块划分为多个功能模块,创建测量控制线程、原语解析线程、数据缓存线程、数据上传线程和状态控制线程,通过调度各线程可以并行地对至少两个测量项的测试过程进行测量控制,提高了对至少两个测量项的整体测试效率,从而提高了终端综合测试仪的一致性测试的效率。

实施例二

图2为本发明实施例二提供的基于多线程的测量控制方法的流程图。在上述实施例一的基础上,在本实施例中,通过调度测量控制线程、原语解析线程、数据缓存线程、数据上传线程和状态控制线程,并行地对至少两个测量项的测试过程进行测量控制,包括:通过调度测量控制线程接收测量算法模块发送的测量准备消息,根据测量准备消息完成测量准备工作,向测量算法模块发送测量准备完成消息,以使测量算法模块根据测量准备完成消息向原语解析线程发送至少两个测量项的测量原语消息,以启动对至少两个测量项的测试过程;其中测量原语消息至少包括测量项原语消息;通过调度原语解析线程、数据缓存线程、数据上传线程、状态控制线程,根据至少两个测量项的测量原语消息,并行地对至少两个测量项的测试过程进行测量控制。如图2所示,该方法具体步骤如下:

步骤S201、通过调度测量控制线程接收测量算法模块发送的测量准备消息,根据测量准备消息完成测量准备工作,向测量算法模块发送测量准备完成消息,以使测量算法模块根据测量准备完成消息向原语解析线程发送至少两个测量项的测量原语消息,以启动对至少两个测量项的测试过程。

本实施中,在测量控制模块还未开始测量控制之前,测量控制线程实时地接收测量算法模块发送的测量准备消息,测量控制线程在接收到之后,完成进行一致性测试前的测量准备工作,例如,初始化本地设置,清空硬件标志位等。测量控制线程在完成测试准备工作后,向测量算法模块发送测量准备完成消息,表示测量控制模块以做好测试准备,以通知测量算法模块可以向原语解析线程发送至少两个测量项的测量原语消息,以启动对至少两个测量项的测试过程。

其中,测量原语消息至少包括测量项原语消息。测量项原语消息包括测量项标识,测量项原语消息用于表示测量算法模块请求测量控制模块启动对该测量项标识对应的测量项进行测量控制处理。本实施例对测量算法模块发送的测量项原语消息进行测量控制的过程进行详细说明。

可选地,测量控制线程接收测量算法模块发送的测量准备消息,根据测量准备消息完成测量准备工作之后,测量控制线程还可以通知状态控制线程将测量控制模块的状态更新为就绪状态,表示测量控制模块已完成测量准备工作。

可选地,测量控制线程可以将更新就绪状态的消息写入共享内存区域,状态控制线程可以周期性地读取共享内存区域中的更新就绪状态的消息,并在读取到更新就绪状态的消息时,将测量控制模块的状态更新为就绪状态。

另外,测量控制线程根据测量准备消息完成测量准备工作可以采用现有技术中任意一种测量控制模块根据测量算法模块发送的测量准备消息完成测量准备工作的方法来实现,本实施例此处不再赘述。

步骤S202、通过调度原语解析线程接收测量算法模块发送的测量原语消息;依次将每个测量原语消息作为目标测量原语消息,若目标测量原语消息为测量项原语消息,则通过调度原语解析线程根据目标测量原语消息解析出测量项标识和测量数据参数,并向数据缓存线程发布缓存通知。

其中,缓存通知包括测量项标识和测量数据参数,测量数据参数包括存储位置、测量数据大小等信息。

本实施例中,将与目标测量原语消息对应的测量项记为第一目标测量项。本实施例中,原语解析线程在接收到测量算法模块发送的测量项的测量原语消息之后,能够识别出测量原语消息是测量项原语消息还是测量退出消息,原语解析线程如何识别出测量项原语消息和测量退出消息可以采用现有技术中测量控制模块识别出测量项原语消息和测量退出消息的方法来实现,本实施例此处不再赘述。

可选地,原语解析线程向数据缓存线程发布缓存通知,具体可以采用如下任意一种方式实现:

(1)原语解析线程将缓存通知写入共享内存区域中,数据缓存线程定期从该共享内存区域中获取缓存通知;(2)原语解析线程通知状态控制线程将目标测量项的状态更新为可缓存状态,数据缓存线程会定期地获取各测量项的状态,若确定目标测量项处于可缓存状态,则认为获取到了对应于该目标测量项的缓存通知。

可选地,原语解析线程根据目标测量原语消息解析出测量项标识和测量数据参数之后,还包括:

原语解析线程通知状态控制线程将测量项标识对应的测量项的状态更新为测试中,以便技术人员查询各测试项的测试状态。

步骤S203、通过调度数据缓存线程获取向其发布的缓存通知;依次将每个缓存通知作为目标缓存通知,通过调度数据缓存线程根据目标缓存通知中的测量项标识和测量数据参数,将目标缓存通知中的测量项标识和测量数据参数对应的测量数据缓存到缓存区域,并向数据上传线程发布上传通知,上传通知包括目标缓存通知中的测量项标识。

本实施例中,数据缓存线程获取向其发布的缓存通知的实现方式与上述步骤S202中原语解析线程向数据缓存线程发布缓存通知的实现方式相对应。

本实施例中,将与目标缓存通知对应的测量项记为第二目标测量项,也即是第二目标测量项为目标缓存通知中的测量项标识对应的测量项,以与第一目标测量项进行区分。

该步骤中,数据缓存线程获取向其发布的各缓存通知后,按照各缓存通知发布的时间,依次将每个缓存通知作为目标缓存通知,根据目标缓存通知中的测量项标识和测量数据参数,将第二目标测量项的测量数据缓存到缓存区域,并在完成对第二目标测量项的测量数据的缓存之后,向数据上传线程发布上传通知,以使数据上传线程将缓存的第二目标测量项的测量数据上传到待测终端。

优选地,数据缓存线程将第二目标测量项的测量数据缓存到缓存区域时,以数据帧为单位,每次将第二目标测量项的测量数据中的一个数据帧缓存到缓存区域,当数据缓存线程完成第二目标测量项的第一个数据帧的上传后,向数据上传线程发布上传通知,以使数据上传线程能够将已经缓存的第二目标测量项的测量数据的数据帧上传到待测终端,从而可以实现数据缓存和数据上传的并行进行,可以提高数据缓存和数据上传的效率。

可选地,数据缓存线程向数据上传线程发布上传通知,具体可以采用以下任意一种方式实现:

(1)数据缓存线程将上传通知写入共享内存区域中,数据上传线程定期从该共享内存区域中获取上传通知;(2)数据缓存线程通知状态控制线程将目标测量项的状态更新为可上传状态,数据上传线程会定期地获取各测量项的状态,若确定目标测量项处于可上传状态,则认为获取到了对应于该目标测量项的上传通知。

步骤S204、通过调度数据上传线程获取数据缓存线程发布的上传通知;依次将每个上传通知作为目标上传通知,通过调度数据上传线程根据目标上传通知中的测量项标识,将目标上传通知中的测量项标识对应的测量项在缓存区域中的测量数据上传到待测终端。

该步骤中,数据上传线程获取数据缓存线程发布的上传通知的实现方式与上述步骤S203中数据缓存线程向数据上传线程发布上传通知的实现方式相对应。

本实施例中,将与目标上传通知对应的测量项记为第三目标测量项,也即是第三目标测量项为目标上传通知中的测量项标识对应的测量项,以与第一目标测量项和第二目标测量项进行区分。

可选地,本实施例中,数据上传线程以数据帧为单位,每次将目标测量项的测量数据中已经缓存的一个数据帧上传到待测终端。

可选地,数据上传线程根据目标上传通知中的测量项标识,将第三目标测量项的在缓存区域中的测量数据上传到待测终端之后,数据上传线程通知状态控制线程将第三目标测量项的状态更新为测试完成,以便技术人员查询各测试项的测试状态。

步骤S205、通过调度数据上传线程向测量算法模块发送测量完成消息,测量完成消息包括目标上传通知中的测量项标识。

可选地,数据上传线程向测量算法模块发送测量完成消息之后,数据上传线程通知状态控制线程将第三目标测量项的状态更新为测试完成。

上述步骤S202-S204是通过调度原语解析线程、数据缓存线程、数据上传线程、状态控制线程,根据至少两个测量项的测量原语消息,并行地对至少两个测量项的测试过程进行测量控制的过程。

需要说明的是,上述步骤S202-S204中,原语解析线程、数据缓存线程、数据上传线程在同一时刻可以处理不同的测试项,上述步骤S203-S204可以并行进行,也即是通过调度原语解析线程、数据缓存线程、数据上传线程、状态控制线程,可以并行地对至少两个测量项的测试过程进行测量控制。对于同一个目标测量项来说,对该目标测量项的处理过程需按照S202、S203、S204的先后顺序执行。

本发明实施例通过原语解析线程在处理完一个测试项之后,无需等待对该测试项的数据缓存和上传完成,可以马上开始处理下一个测试项;数据缓存线程对一个测试项处理完之后,也无需等待对该测试项的数据上传完成,可以马上开始处理下一个测试项,实现了通过调度原语解析线程、数据缓存线程、数据上传线程、状态控制线程,并行地对至少两个测量项的测试过程进行测量控制,提高了对至少两个测量项的整体测试效率,从而提高了终端综合测试仪的一致性测试的效率。

实施例三

图3为本发明实施例三提供的基于多线程的测量控制方法的流程图。在上述实施例二的基础上,在本实施例中,若对测试项进行多次测量时,通过调度数据上传线程根据目标上传通知中的测量项标识,将目标上传通知中的测量项标识对应的测量项在缓存区域中的测量数据上传到待测终端之后,还包括:通过调度数据上传线程记录对目标上传通知中的测量项标识对应的测量项测量数据的上传处理的完成次数;若完成次数小于预设阈值,则通过调度数据上传线程向数据缓存线程发布缓存通知,缓存通知包括目标上传通知中的测量项标识和测量数据参数;若完成次数大于或者等于预设阈值,则通过调度数据上传线程向测量算法模块发送测量完成消息,测量完成消息包括目标上传通知中的测量项标识。如图3所示,该方法具体步骤如下:

步骤S301、通过调度测量控制线程接收测量算法模块发送的测量准备消息,根据测量准备消息完成测量准备工作,向测量算法模块发送测量准备完成消息,以使测量算法模块根据测量准备完成消息向原语解析线程发送至少两个测量项的测量原语消息,以启动对至少两个测量项的测试过程。

步骤S302、通过调度原语解析线程接收测量算法模块发送的测量原语消息;依次将每个测量原语消息作为目标测量原语消息,若目标测量原语消息为测量项原语消息,则通过调度原语解析线程根据目标测量原语消息解析出测量项标识和测量数据参数,并向数据缓存线程发布缓存通知。

步骤S303、通过调度数据缓存线程获取向其发布的缓存通知;依次将每个缓存通知作为目标缓存通知,通过调度数据缓存线程根据目标缓存通知中的测量项标识和测量数据参数,将目标缓存通知中的测量项标识和测量数据参数对应的测量数据缓存到缓存区域,并向数据上传线程发布上传通知,上传通知包括目标缓存通知中的测量项标识。

步骤S304、通过调度数据上传线程获取数据缓存线程发布的上传通知;依次将每个上传通知作为目标上传通知,通过调度数据上传线程根据目标上传通知中的测量项标识,将目标上传通知中的测量项标识对应的测量项在缓存区域中的测量数据上传到待测终端。

上述步骤S301-S304与实施例二中的步骤S201-S204的实现方式相同,本实施例此处不再赘述。

本实施例中,将与目标上传通知对应的测量项记为第三目标测量项,也即是第三目标测量项为与目标上传通知中的测量项标识对应的测量项,以与第一目标测量项和第二目标测量项进行区分。

步骤S305、通过调度数据上传线程记录对目标上传通知中的测量项标识对应的测量项测量数据的上传处理的完成次数。

本实施例中,由于要对第三目标测试项进行多次测量,也即是测量控制模块需要完成对第三目标测试项的测量数据的多次循环的缓存和上传的过程,在数据上传线程对第三目标测试项的测试数据上传完成后,记录对第三目标测量项测量数据的上传处理的完成次数。

步骤S306、若完成次数小于预设阈值,则通过调度数据上传线程向数据缓存线程发布缓存通知,缓存通知包括目标上传通知中的测量项标识和测量数据参数。

其中,预设阈值为预先设定的对目标上传通知中的测量项标识对应的测量项的测试次数。

该步骤中,若对第三目标测量项测量数据的上传处理的完成次数小于预设阈值,数据上传线程向数据缓存线程发布缓存通知,以再次对第三目标测量项再次运行上述步骤S303-S305的过程。

可选地,数据上传线程向数据缓存线程发布缓存通知,具体可以采用以下任意一种方式实现:

(1)数据上传线程将缓存通知写入共享内存区域中,数据缓存线程定期从该共享内存区域中获取缓存通知;(2)数据上传线程通知状态控制线程将第三目标测量项的状态更新为可缓存状态,数据缓存线程会定期地获取各测量项的状态,若确定第三目标测量项处于可缓存状态,则认为获取到了对应于该第三目标测量项的缓存通知。

步骤S307、若完成次数大于或者等于预设阈值,则通过调度数据上传线程向测量算法模块发送测量完成消息,测量完成消息包括目标上传通知中的测量项标识。

该步骤中,若对第三目标测量项测量数据的上传处理的完成次数大于或者等于预设阈值,则说明已经完成对第三目标测量项的测试,数据上传线程向测量算法模块发送测量完成消息。

可选地,数据上传线程向测量算法模块发送测量完成消息之后,数据上传线程通知状态控制线程将第三目标测量项的状态更新为测试完成。

本发明实施例通过调度数据上传线程将目标测量项的在缓存区域中的测量数据上传到待测终端之后,记录对测量项标识对应的测量项测量数据的上传处理的完成次数,若完成次数小于预设阈值,则通过调度数据上传线程向数据缓存线程发布缓存通知,以继续对测量项标识对应的测量项进行下一次的测试过程;若完成次数大于或者等于预设阈值,则通过调度数据上传线程向测量算法模块发送测量完成消息,在对同一测试项进行多次测试时,也能实现通过调度原语解析线程、数据缓存线程、数据上传线程、状态控制线程,并行地对至少两个测量项的测试过程进行测量控制,提高了对至少两个测量项的整体测试效率,从而提高了终端综合测试仪的一致性测试的效率。

实施例四

图4为本发明实施例四提供的基于多线程的测量控制方法的流程图。在上述实施例二或三的基础上,在本实施例中,测量算法模块发送的测量原语消息至少包括测量项原语消息和测量退出消息;在测量控制线程完成准备工作后,如图4所示,通过调度原语解析线程、数据缓存线程、数据上传线程、状态控制线程,根据至少两个测量项的测量原语消息,并行地对至少两个测量项的测试过程进行测量控制,具体步骤如下:

步骤S401、通过调度原语解析线程接收测量算法模块发送的测量原语消息;依次将每个测量原语消息作为目标测量原语消息,若目标测量原语消息为测量退出消息,则通过调度原语解析线程根据目标测量原语消息解析出待退出测量项的标识。

其中,测量原语消息至少包括测量项原语消息和测量退出消息。测量原语消息至少包括测量项原语消息和测量退出消息两种。测量项原语消息包括测量项标识,测量项原语消息用于表示测量算法模块请求测量控制模块启动对该测量项标识对应的测量项进行测量控制处理。测量退出消息包括测量项标识,测量退出消息用于表示测量算法模块请求测量控制模块退出对该测量项标识对应的测量项的测量控制处理。本实施例对测量算法模块发送的测量项原语消息进行测量控制的过程进行详细说明。

本实施例中,若测量原语消息为测量项原语消息,原语解析线程、数据缓存线程、数据上传线程、状态控制线程对该测量原语消息进行测量控制的过程可以采用上述实施例二或者实施例三中的方式来实现,本实施例此处不再赘述。

可选地,原语解析线程根据目标测量原语消息解析出待退出测量项的标识之后,通过调度原语解析线程通知状态控制线程将待退出测量项的状态更新为测试中断,以便技术人员查询各测试项的测试状态。

步骤S402、通过调度原语解析线程向数据缓存线程发布缓存停止通知,缓存停止通知包括待退出测量项的标识。

在原语解析线程根据目标测量原语消息解析出待退出测量项的标识之后,原语解析线程向数据缓存线程发布包括该待退出测量项的标识的缓存停止通知,以通知数据缓存线程停止将待退出测量项的测量数据缓存到缓存区域。

可选地,原语解析线程向数据缓存线程发布缓存停止通知,具体可以采用如下方式中的任意一种来实现:

(1)原语解析线程将缓存停止通知写入共享内存区域中,数据缓存线程定期从该共享内存区域中获取缓存停止通知;(2)原语解析线程通知状态控制线程将待退出测量项的状态更新为缓存停止状态,数据缓存线程会定期地获取各测量项的状态,若确定待退出测量项处于缓存停止状态,则认为获取到了对应于该待退出测量项的缓存停止通知。

步骤S403、通过调度原语解析线程向数据上传线程发布上传停止通知,上传停止通知包括待退出测量项的标识。

在原语解析线程根据目标测量原语消息解析出待退出测量项的标识之后,原语解析线程向数据上传线程发布包括待退出测量项的标识的上传停止通知,以通知数据上传线程停止将待退出测量项的测量数据上传到待测终端。

可选地,原语解析线程向数据上传线程发布上传停止通知,具体可以采用如下方式中的任意一种来实现:

(1)原语解析线程将上传停止通知写入共享内存区域中,数据缓存线程定期从该共享内存区域中获取上传停止通知;(2)原语解析线程通知状态控制线程将待退出测量项的状态更新为上传停止状态,数据缓存线程会定期地获取各测量项的状态,若确定待退出测量项处于上传停止状态,则认为获取到了对应于该待退出测量项的上传停止通知。

上述步骤S403可以在步骤S402之前执行,这两个步骤也可以同时执行,本实施例对于上述步骤S402和S403的先后顺序不做具体限定。

优选地,在原语解析线程根据目标测量原语消息解析出待退出测量项的标识之后,原语解析线程向数据缓存线程发布缓存停止通知的同时,向数据上传线程发布上传停止通知。

步骤S404、通过调度数据缓存线程获取向其发布的缓存停止通知,并根据缓存停止通知中的待退出测量项的标识,停止将待退出测量项的测量数据缓存到缓存区域,并向测量控制线程发出缓存中断通知。

具体地,数据缓存线程可以周期性地获取向其发布的缓存停止通知,然后根据缓存停止通知中的待退出测量项的标识停止将待退出测量项的测量数据缓存到缓存区域,并且向测量控制线程发出缓存中断通知,以使测量控制线程在接收到该待退出测量项的缓存中断通知和上传中断通知后,确定该待退出测量项的测试已经退出。

可选地,数据缓存线程向测量控制线程发出缓存中断通知,具体可以采用以下任意一种方式实现:

(1)数据缓存线程将缓存中断通知写入共享内存区域中,测量控制线程定期地从该共享内存区域中获取缓存中断通知;(2)数据缓存线程通知状态控制线程将待退出测量项的状态更新为缓存中断状态,测量控制线程会定期地获取各测量项的状态,若确定待退出测量项处于缓存中断状态,则认为获取到了对应于该待退出测量项的缓存中断通知。

步骤S405、通过调度数据上传线程获取向其发布的上传停止通知,并根据上传停止通知中的待退出测量项的标识,停止将待退出测量项的测量数据上传到待测终端,并向测量控制线程发出上传中断通知。

具体地,数据上传线程可以周期性地获取向其发布的上传停止通知,根据上传停止通知中的待退出测量项的标识停止将待退出测量项的测量数据上传到待测终端,并向测量控制线程发出上传中断通知,以使测量控制线程在接收到该待退出测量项的缓存中断通知和上传中断通知后,确定该待退出测量项的测试已经退出。

可选地,数据上传线程向测量控制线程发出上传中断通知,具体可以采用以下任意一种方式实现:

(1)数据上传线程将上传中断通知写入共享内存区域中,测量控制线程定期地从该共享内存区域中获取上传中断通知;(2)数据上传线程通知状态控制线程将待退出测量项的状态更新为上传中断状态,测量控制线程会定期地获取各测量项的状态,若确定待退出测量项处于上传中断状态,则认为获取到了对应于该待退出测量项的上传中断通知。

步骤S406、通过调度测量控制线程获取向其发布的缓存中断通知和上传中断通知,若获取到同一测量项的缓存中断通知和上传中断通知,通过调度测量控制线程向测量算法模块发送测量退出消息,测量退出消息包括同一测量项的缓存中断通知和上传中断通知中的待退出测量项标识。

需要说明的是,本实施例中,原语解析线程、数据缓存线程、数据上传线程在同一时刻可以处理不同的测试项,也即是原语解析线程、数据缓存线程、数据上传线程、状态控制线程并行地对至少两个测量项的测试过程进行测量控制。

本发明实施例提供了对测量退出消息的具体处理过程,通过原语解析线程在处理完一个待退出测试项之后,无需等待该待退出测试项的数据缓存和上传的停止,可以马上开始处理下一个测试项;数据缓存线程对一个待退出测试项处理完之后,也无需等待该待退出测试项的数据上传的停止,可以马上开始处理下一个测试项,实现了原语解析线程、数据缓存线程、数据上传线程、状态控制线程并行地对至少两个测量项的测试过程进行测量控制,提高了对至少两个测量项的整体测试效率,从而提高了终端综合测试仪的一致性测试的效率。

实施例五

图5为本发明实施例五提供的基于多线程的测量控制装置的结构示意图。本发明实施例提供的基于多线程的测量控制装置可以执行基于多线程的测量控制方法实施例提供的处理流程,如图5所示,该装置50包括:501和处理模块502。

具体地,线程创建模块501用于创建测量控制线程、原语解析线程、数据缓存线程、数据上传线程和状态控制线程;

处理模块502用于通过调度测量控制线程、原语解析线程、数据缓存线程、数据上传线程和状态控制线程,并行地对至少两个测量项的测试过程进行测量控制。

本发明实施例提供的装置可以具体用于执行上述实施例一所提供的方法实施例,具体功能此处不再赘述。

本发明实施例通过将测量控制模块划分为多个功能模块,创建测量控制线程、原语解析线程、数据缓存线程、数据上传线程和状态控制线程,通过调度各线程可以并行地对至少两个测量项的测试过程进行测量控制,提高了对至少两个测量项的整体测试效率,从而提高了终端综合测试仪的一致性测试的效率。

实施例六

图6为本发明实施例六提供的基于多线程的测量控制装置的结构示意图。在上述实施例五的基础上,本实施例中,如图6所示,处理模块502包括:测量控制子模块5021、原语解析子模块5022、数据缓存子模块5023、数据上传子模块5024和状态控制子模块5025。

其中,测量控制子模块5021用于通过调度测量控制线程接收测量算法模块发送的测量准备消息,根据测量准备消息完成测量准备工作,向测量算法模块发送测量准备完成消息,以使测量算法模块根据测量准备完成消息向原语解析线程发送至少两个测量项的测量原语消息,以启动对至少两个测量项的测试过程;其中测量原语消息至少包括测量项原语消息。

原语解析子模块5022、数据缓存子模块5023、数据上传子模块5024和状态控制子模块5025协作用于通过调度原语解析线程、数据缓存线程、数据上传线程、状态控制线程,根据至少两个测量项的测量原语消息并行地对至少两个测量项的测试过程进行测量控制。

具体地,原语解析子模块5022用于通过调度原语解析线程接收测量算法模块发送的测量原语消息;依次将每个测量原语消息作为目标测量原语消息,若目标测量原语消息为测量项原语消息,则通过调度原语解析线程根据目标测量原语消息解析出测量项标识和测量数据参数,并向数据缓存线程发布缓存通知,缓存通知包括测量项标识和测量数据参数。

数据缓存子模块5023用于通过调度数据缓存线程获取向其发布的缓存通知;依次将每个缓存通知作为目标缓存通知,通过调度数据缓存线程根据目标缓存通知中的测量项标识和测量数据参数,将目标缓存通知中的测量项标识和测量数据参数对应的测量数据缓存到缓存区域,并向数据上传线程发布上传通知,上传通知包括目标缓存通知中的测量项标识。

数据上传子模块5024用于通过调度数据上传线程获取数据缓存线程发布的上传通知;依次将每个上传通知作为目标上传通知,通过调度数据上传线程根据目标上传通知中的测量项标识,将目标上传通知中的测量项标识对应的测量项在缓存区域中的测量数据上传到待测终端。

数据上传子模块5024还用于:

通过调度数据上传线程向测量算法模块发送测量完成消息,测量完成消息包括目标上传通知中的测量项标识。

可选地,原语解析子模块还用于:通过调度原语解析线程通知状态控制线程将解析出的测量项标识对应的测量项的状态更新为测试中。

可选地,数据上传子模块还用于:通过调度数据上传线程通知状态控制线程将目标上传通知中的测量项标识对应的测量项的状态更新为测试完成。

本发明实施例提供的装置可以具体用于执行上实施例二所提供的方法实施例,具体功能此处不再赘述。

本发明实施例通过原语解析线程在处理完一个测试项之后,无需等待对该测试项的数据缓存和上传完成,可以马上开始处理下一个测试项;数据缓存线程对一个测试项处理完之后,也无需等待对该测试项的数据上传完成,可以马上开始处理下一个测试项,实现了通过调度原语解析线程、数据缓存线程、数据上传线程、状态控制线程,并行地对至少两个测量项的测试过程进行测量控制,提高了对至少两个测量项的整体测试效率,从而提高了终端综合测试仪的一致性测试的效率。

实施例七

在上述实施例六的基础上,本实施例中,若对测试项进行多次测量时,数据上传子模块还用于:

通过调度数据上传线程记录对目标上传通知中的测量项标识对应的测量项测量数据的上传处理的完成次数;若完成次数小于预设阈值,则通过调度数据上传线程向数据缓存线程发布缓存通知,缓存通知包括目标上传通知中的测量项标识和测量数据参数;若完成次数大于或者等于预设阈值,则通过调度数据上传线程向测量算法模块发送测量完成消息,测量完成消息包括目标上传通知中的测量项标识。

本发明实施例提供的装置可以具体用于执行上实施例三所提供的方法实施例,具体功能此处不再赘述。

本发明实施例通过调度数据上传线程将目标测量项的在缓存区域中的测量数据上传到待测终端之后,记录对测量项标识对应的测量项测量数据的上传处理的完成次数,若完成次数小于预设阈值,则通过调度数据上传线程向数据缓存线程发布缓存通知,以继续对测量项标识对应的测量项进行下一次的测试过程;若完成次数大于或者等于预设阈值,则通过调度数据上传线程向测量算法模块发送测量完成消息,在对同一测试项进行多次测试时,也能实现通过调度原语解析线程、数据缓存线程、数据上传线程、状态控制线程,并行地对至少两个测量项的测试过程进行测量控制,提高了对至少两个测量项的整体测试效率,从而提高了终端综合测试仪的一致性测试的效率。

实施例八

在上述实施例六或实施例七的基础上,本实施例中,测量算法模块发送的测量原语消息至少包括测量项原语消息和测量退出消息。

原语解析子模块还用于:通过调度原语解析线程接收测量算法模块发送的测量原语消息;依次将每个测量原语消息作为目标测量原语消息,若目标测量原语消息为测量退出消息,则通过调度原语解析线程根据目标测量原语消息解析出待退出测量项的标识。

原语解析子模块还用于:通过调度原语解析线程向数据缓存线程发布缓存停止通知,缓存停止通知包括待退出测量项的标识。

原语解析子模块还用于:通过调度原语解析线程向数据上传线程发布上传停止通知,上传停止通知包括待退出测量项的标识。

数据缓存子模块还用于:通过调度数据缓存线程获取向其发布的缓存停止通知,并根据缓存停止通知中的待退出测量项的标识,停止将待退出测量项的测量数据缓存到缓存区域,并向测量控制线程发出缓存中断通知。

数据上传子模块还用于:通过调度数据上传线程获取向其发布的上传停止通知,并根据上传停止通知中的待退出测量项的标识,停止将待退出测量项的测量数据上传到待测终端,并向测量控制线程发出上传中断通知。

测量控制子模块还用于:通过调度测量控制线程获取向其发布的缓存中断通知和上传中断通知,若获取到同一测量项的缓存中断通知和上传中断通知,则通过调度测量控制线程向测量算法模块发送测量退出消息,测量退出消息包括所示同一测量项的缓存中断通知和上传中断通知中的待退出测量项标识。

可选地,原语解析子模块还用于:

通过调度原语解析线程通知状态控制线程将待退出测量项的状态更新为测试中断。

本发明实施例提供的装置可以具体用于执行上实施例四所提供的方法实施例,具体功能此处不再赘述。

本发明实施例提供了对测量退出消息的具体处理过程,通过原语解析线程在处理完一个待退出测试项之后,无需等待该待退出测试项的数据缓存和上传的停止,可以马上开始处理下一个测试项;数据缓存线程对一个待退出测试项处理完之后,也无需等待该待退出测试项的数据上传的停止,可以马上开始处理下一个测试项,实现了原语解析线程、数据缓存线程、数据上传线程、状态控制线程并行地对至少两个测量项的测试过程进行测量控制,提高了对至少两个测量项的整体测试效率,从而提高了终端综合测试仪的一致性测试的效率。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

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

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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