[发明专利]一种基于双缓冲同步机制的测试数据处理方法在审
申请号: | 201610254951.0 | 申请日: | 2016-04-22 |
公开(公告)号: | CN107305525A | 公开(公告)日: | 2017-10-31 |
发明(设计)人: | 李胜;周江伟 | 申请(专利权)人: | 上海真虹信息科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 201401 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 缓冲 同步 机制 测试 数据处理 方法 | ||
技术领域
本发明涉及嵌入式软件黑盒自动化测试领域,尤其涉及一种基于双缓冲同步机制的测试数据处理方法。
背景技术
在嵌入式软件黑盒自动化测试领域,特别是在实时性能要求比较高的环境中,在测试过程中,往往会实时产生大数据量的测试数据,如果不能及时的对这些数据进行处理,则很可能会影响测试结果的自动分析和判断,从而造成测试结论的不准确;传统的处理方法有以下两种:
方法一:对于周期性采样的采样器,测试人员设置一定的采样频率进行采样,采样到数据储存到数据文件中;对于非周期性采样的采样器,采用触发的方式接收数据,然后储存到数据文件中。测试人员在采样结束后,然后再对采样到数据文件进行处理分析,进而得出测试结论。这对测试人员提出了很高的要求,而且由于测试数据不能得到实时的处理,所以测试效率低。
方法二:采用多线程的方式进行实时处理,测试过程中收到数据后,即开启一个数据处理线程,在数据处理线程中对收到的数据进行实时的处理。此方法有个弊端,就是当接收到的数据很快而且数据量大或者数据处理算法比较复杂时,往往数据处理线程还没处理完上一次收到的数据,新的数据又收到了,这时又开启一个新的数据处理线程来处理新的数据,如此反复,最后系统中可能同时存在N个数据处理线程在同时处理数据,很有可能造成系统异常、延时等待时间长、数据丢包等现象。
发明内容
鉴于目前存在的上述不足,本发明提供一种基于双缓冲同步机制的测试数据处理方法,测试人员只需按此方法即可对测试数据进行实时准确的处理。
为达到上述目的,本发明的实施例采用如下技术方案:
一种基于双缓冲同步机制的测试数据处理方法,包括如下步骤:
步骤101,开始;
步骤102,分配第一缓冲区、第二缓冲区,初始化线程同步锁和缓冲区标志;
步骤103,开启数据采集线程和数据处理线程;
步骤104,等待外部结束信号,否则否则继续等待;
步骤105,结束;
其中,所述数据采集线程的实现流程,包括如下步骤:
步骤201,开始;
步骤202,循环开始;
步骤203,判断循环结束标志是否为真,若是则转到步骤209,否则转到步骤204;
步骤204,采集到数据;
步骤205,以阻塞模式获取所述线程同步锁的使用权;
步骤206,获取所述数据处理线程正在使用的缓冲区编号;
步骤207,若缓冲区编号为1,则将采集到的数据储存到所述第二缓冲区中,否则储存到所述第一缓冲区中;
步骤208,释放所述线程同步锁的使用权,然后转到步骤203;
步骤209,循环结束;
步骤210,结束;
其中,所述数据处理线程的实现流程,包括如下步骤:
步骤301,开始;
步骤302,循环开始;
步骤303,判断循环结束标志是否为真,若是则转到步骤310,否则转到步骤304;
步骤304,采集到数据;
步骤305,以阻塞模式获取所述线程同步锁的使用权;
步骤306,获取当前正在使用的缓冲区编号;
步骤307,释放所述线程同步锁的使用权;
步骤308,若缓冲区编号为1,则处理所述第一缓冲区中数据,否则处理所述第二缓冲区中的数据;
步骤309,数据处理完毕后,清空当前正在处理的缓冲区中的数据信息,然后转到步骤303;
步骤310,循环结束;
步骤311,结束。
依照本发明的一个方面,所述步骤205中阻塞模式的工作方式为:阻塞并一直等待,直到步骤307中所述数据处理线程释放所述线程同步锁的使用权后,步骤205中所述数据采集线程获取到所述线程同步锁的使用权为止,解除阻塞。
依照本发明的一个方面,当步骤208中所述数据采集线程释放所述线程同步锁的使用权后,步骤305中的所述数据处理线程就能获取所述线程同步锁的使用权。
依照本发明的一个方面,所述步骤305中阻塞模式的工作方式为:阻塞并一直等待,直到步骤208中所述数据采集线程释放所述线程同步锁的使用权后,步骤305中所述数据处理线程获取到所述线程同步锁的使用权为止,解除阻塞。
依照本发明的一个方面,当步骤307中所述数据处理线程释放所述线程同步锁的使用权后,步骤205中的所述数据采集线程就能获取所述线程同步锁的使用权。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海真虹信息科技有限公司,未经上海真虹信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610254951.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:压力测试方法及系统
- 下一篇:一种用于微控制器的调试器