CN103226328B - 采集次数控制模式下的多线程数据采集系统同步控制方法 - Google Patents
采集次数控制模式下的多线程数据采集系统同步控制方法 Download PDFInfo
- Publication number
- CN103226328B CN103226328B CN201310150031.0A CN201310150031A CN103226328B CN 103226328 B CN103226328 B CN 103226328B CN 201310150031 A CN201310150031 A CN 201310150031A CN 103226328 B CN103226328 B CN 103226328B
- Authority
- CN
- China
- Prior art keywords
- thread
- control signal
- data acquisition
- data
- control
- 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.)
- Expired - Fee Related
Links
Landscapes
- Radar Systems Or Details Thereof (AREA)
Abstract
本发明涉及采集次数控制模式下的多线程数据采集系统同步控制方法,属于探地雷达的探测技术领域,本方法包括:预先建立一个控制数据采集的次数整型变量,其加处理和除处理后的值分别与其它两个控制变量一起进行布尔运算并将其结果作为不同线程的同步控制信号;通过各线程的判据函数和控制变量的赋值则实现了该模式下多线程的同步控制;写入线程预置的判据函数实现了对所有采集数据的存储。本发明基于计算机控制理论,实现了探地雷达多线程采集系统的控制功能。
Description
技术领域
本发明属于探地雷达的探测技术领域,特别涉及一种采集次数控制模式下的探地雷达多线程数据采集系统中多个相互独立线程间的信息交互和同步控制方法,实现了采集系统的控制功能。
背景技术
探地雷达(GPR)是一种快速、高效、无损探测的物探方法。传统的探地雷达设备的数据采集系统通常采用等效采样方式,这种采样方法采样速度低(每秒发射和接收的脉冲数仅为50),对硬件要求也比较低,单一线程即可完成采样工作。随着雷达快速探测需求的增加,单一线程已无法满足高采样速率(每秒发射和接收的脉冲数1×105个以上,采样率可达8GSamples/s以上)和高数据量存储(每秒钟要存储数据量达1吉以上)的要求,所以多线程数据采集系统成为一个发展方向。
若是用多个线程来协同完成探地数据采集中不同的存取任务(任务包括雷达数据采集,头文件数据采集和数据写入),其优点是可以加快数据存取速度,大大提高数据采集系统的整体性能。但对多线程数据采集系统来说,最重要的难题则是如何实现多个相互独立线程间的信息交互和同步控制。
发明内容
本发明的目的是为解决多线程采集系统中的同步控制难题,提出一种基于采集次数控制模式下的多线程数据采集系统同步控制方法,本发明基于计算机控制理论,并利用计算机实现了探地雷达多线程采集系统的同步控制功能。
本发明方法用多个线程来完成探地数据采集中不同的存取任务,任务包括雷达数据采集,头文件数据采集和数据写入,多个线程在数据采集和写入过程中各自都以循环形式相互独立工作;所述数据采集和写入过程包括以下步骤:
1)在所有雷达数据采集线程中设置一个整型变量X,用于控制雷达数据采集的总的次数;设置一个全局控制变量Y,用于各线程间结束信息的传递;各个线程设置自身的局部控制变量Zi,i=1、2、…p,p为总线程的个数,该局部变量表示其所在线程的运行正确与否;此外雷达数据采集线程还设置各自的采集控制变量Qj,用于检测该雷达数据采集线程的采集次数,j为雷达数据采集线程的个数,j=1、2、…m,m;四种控制变量均有两个状态:“T”、“F”;
2)对整型变量X进行加处理,用于实现各数据采集线程的采集次数分配,具体方法为:对X值加0,1或2,使加处理后的值X’能被m整除,商为xx;将商xx和每个雷达数据采集线程的循环次数NOC’进行比值运算CO,所述CO规则为:如果X’小于NOC,则该雷达数据采集线程的控制信号S1j为“F”,如果X’大于NOC则该雷达数据采集线程的控制信号S1j为“T”;同理加处理后的值X’与数据写入线程的循环次数NOC进行比值运算CO,比值运算CO运算结果作为数据写入线程的控制信号S2k,k=1、2、…r,r为数据写入线程的个数;
3)对所有雷达数据采集线程各自的采集控制变量Qj进行布尔“与”运算BAO,所述BAO规则为:如果所有的采集控制变量Qj全部为“T”,则输出控制信号S3为“T”,如果所有的采集控制变量Qj至少有一个是“F”,则输出控制信号S3为“F”,该控制信号作为头文件数据采集和数据写入线程的控制信号;
4)各线程中分别对所述控制信号S1j、S2k、S3和变量Y、Zi进行布尔“或”运算(BOO);所述BOO规则为:各雷达数据采集线程中,如果S1j、Y和Zi全部为“F”,则该雷达数据采集线程输出控制信号S4j为“F”,如果输入的S1j、Y和Zi至少有一个是“T”,则该雷达数据采集线程输出控制信号S4j为“T”;各头文件采集线程中,如果输入的S3、Y和Zi全部为“F”,则该头文件采集线程输出控制信号S5q(q=1、2、…v,v为头文件采集线程的个数)为“F”,如果输入的S3、Y和Zi至少有一个是“T”,则该头文件采集线程输出控制信号S5q为“T”;各数据写入线程中,如果输入的S2k、S3、Y和Zi全部为“F”,则该数据写入线程输出控制信号S6k为“F”,如果输入的S2k、S3、Y和Zi至少有一个是“T”,则该数据写入线程输出控制信号S6k为“T”;
5)各个线程输出的控制信号S4j或S5q或S6k控制着各自循环进程(F1):如果控制信号为“F”则该线程继续运行,并将该控制信号赋值(AO)给全局控制变量Y,重复步骤2);如果该线程输出控制信号为“T”,则将该控制信号赋值给全局控制变量Y,同时对于雷达数据采集和头文件数据采集线程运行结束(End),对数据写入线程则转至步骤6);
(所述数据写入进程还包括以下步骤:)
6)检测各数据写入线程中的数据是否全部被写入硬盘(F2),如果检测结果显示该线程数据全部写入,则该写入线程运行结束(End),如果检测结果显示该线程数据没有全部写入,则该写入线程继续运行,重复步骤2),从而确保采集到的所有数据都被存储起来。
本发明的技术特点及有益效果:
1)采集次数控制模式下多线程采集系统同步控制方法的实现,使得多个相互独立线程间的信息交互和同步控制成为可能,并通过预设值的采集次数控制采集过程;
2)多个线程协同完成探地数据采集中不同的存取任务,可以加快数据存取速度,大大提高数据采集系统的整体性能;
附图说明
图1为本发明的4线程数据采集系统的同步控制流程图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细描述,图1为本发明的4线程数据采集系统的同步控制流程图:
本实例中用到的计算机CPU为4核I7处理器,达数据采样设备为AcqirisU1065A数字化仪,其实时采样率可达到8GSamples/s。头文件数据采样设备有测量轮编码器和QSB-M采集设备。多线程数据采集系统分为4个线程,多线程数据采集系统的同步控制流程图如图1所示,4个线程在数据采集和写入过程中各自都以循环形式相互独立工作。其中雷达数据采集任务由线程1和线程2完成,头文件数据采集任务由线程3完成,数据写入任务由线程4完成。雷因Labview开发环境有其固有的语言优势,本实例的控制程序是在Labview环境中开发设计的。Labview是美国国家仪器(NI)公司研制开发的图形化编程语言,由其开发出来的程序都称为VI。一个VI由3部分组成,程序前面板(FrontPanel)、框图程序(DiagramProgram)、图标/连接端口(Icon/Terminal)。其中,前面板是图形化用户界面,用于设置输入数值和观察输出量。框图程序是在后台用图形化编程语言编制的,每一个前面板都有一个框图程序与之对应。
本实例所述数据采集和写入过程包括以下步骤:
1)在两个雷达数据采集线程中设置一个整型变量X,用于控制雷达数据采集的总的次数;设置一个全局控制变量Y,用于各线程间结束信息的传递;各个线程设置自身的局部控制变量Zi,i=1、2、3、4,4为线程的个数,该局部变量表示其所在线程的运行正确与否;此外负责雷达数据采集任务的线程还设置了各自的采集控制变量Qj,用于检测该雷达数据采集任务的线程的采集次数,j=1、2,即有2个雷达数据采集线程;四种控制变量均有两个状态:“T”、“F”;
2)对整型变量X进行加处理,用于实现各数据采集线程的采集次数分配,具体方法为:对X值加0,1或2,使加处理后的值X’能被m整除,商为xx;将商xx和每个雷达数据采集线程的循环次数NOC’进行比值运算CO,所述CO规则为:如果X’小于NOC,则该雷达数据采集线程的控制信号S1j为“F”,如果X’大于NOC则该雷达数据采集线程的控制信号S1j为“T”;同理加处理后的值X’与数据写入线程的循环次数NOC进行比值运算CO,比值运算CO运算结果作为数据写入线程的控制信号S2;
3)对2个雷达数据采集线程的采集控制变量Qj进行布尔“与”运算BAO,所述BAO规则为:如果2个采集控制变量Qj全部为“T”,则输出控制信号S3为“T”,如果2个采集控制变量Qj至少有一个是“F”,则输出控制信号S3为“F”,该控制信号作为头文件数据采集和数据写入线程的控制信号;
4)各线程中分别对所述控制信号S1j、S2、S3和变量Y、Zi进行布尔“或”运算(BOO);所述BOO规则为:两个雷达数据采集线程中,如果输入的S1j、Y和Zi全部为“F”,则该雷达数据采集线程输出控制信号S4j为“F”,如果输入的S1j、Y和Zi至少有一个是“T”,则该雷达数据采集线程输出控制信号S4j为“T”;头文件采集线程中,如果输入的S3、Y和Z3全部为“F”,则该头文件采集线程输出控制信号S51为“F”,如果输入的S3、Y和Z3至少有一个是“T”,则该头文件采集线程输出控制信号S51为“T”;数据写入线程中,如果输入的S2、S3、Y和Z4全部为“F”,则该数据写入线程输出控制信号S61为“F”,如果输入的S2、S3、Y和Z4至少有一个是“T”,则该数据写入线程输出控制信号S61为“T”;
5)各个线程输出的控制信号(S4j或S51或S61)控制着各自循环进程(判据为F1):如果控制信号为“F”则该线程继续运行,并将该控制信号赋值(赋值运算AO)给全局控制变量Y,重复步骤2);如果该线程输出控制信号为“T”,则将该控制信号赋值给全局控制变量Y,同时对于雷达数据采集和头文件数据采集线程运行结束(End),对数据写入线程则转至步骤6);
(所述数据写入进程还包括以下步骤:)
6)检测各数据写入线程中的数据是否全部被写入硬盘(判据为F2),如果检测结果显示该线程数据全部写入,则该写入线程运行结束(End),如果检测结果显示该线程数据没有全部写入,则该写入线程继续运行,重复步骤2),从而确保采集到的所有数据都被存储起来。
Claims (1)
1.一种采集次数控制模式下的多线程数据采集系统同步控制方法,其特征在于,采用多个线程来完成探地数据采集中不同的存取任务,该存取任务包括雷达数据采集,头文件数据采集和数据写入;多个线程在数据采集和写入过程中各自根据控制信号以循环形式相互独立工作;所述数据采集和写入过程包括以下步骤:
1)在所有雷达数据采集线程中设置一个整型变量X,用于控制雷达数据采集的总的次数;设置一个全局控制变量Y,用于各线程间结束信息的传递;各个线程设置自身的局部控制变量Zi,i=1、2、…p,p为总线程的个数,该局部变量表示其所在线程的运行正确与否;此外雷达数据采集线程还设置各自的采集控制变量Qj,用于检测该雷达数据采集线程的采集次数,j为雷达数据采集线程的个数,j=1、2、…m,m为正整数;四种控制变量均有两个状态:“T”、“F”;
2)对整型变量X进行加处理,用于实现各数据采集线程的采集次数分配,具体方法为:对X值加0,1或2,使加处理后的值X’能被m整除,商为xx;将商xx和每个雷达数据采集线程的循环次数NOC’进行比值运算CO,所述CO规则为:如果X’小于NOC’,则该雷达数据采集线程的控制信号S1j为“F”,如果X’大于NOC’则该雷达数据采集线程的控制信号S1j为“T”;同理加处理后的值X’与数据写入线程的循环次数NOC进行比值运算CO,比值运算CO运算结果作为数据写入线程的控制信号S2k,k=1、2、…r,r为数据写入线程的个数;
3)对所有雷达数据采集线程各自的采集控制变量Qj进行布尔“与”运算BAO,所述BAO规则为:如果所有的采集控制变量Qj全部为“T”,则输出控制信号S3为“T”,如果所有的采集控制变量Qj至少有一个是“F”,则输出控制信号S3为“F”,该控制信号作为头文件数据采集和数据写入线程的控制信号;
4)各线程中分别对所述控制信号S1j、S2k、S3和变量Y、Zi进行布尔“或”运算(BOO);所述BOO规则为:各雷达数据采集线程中,如果S1j、Y和Zi全部为“F”,则该雷达数据采集线程输出控制信号S4j为“F”,如果输入的S1j、Y和Zi至少有一个是“T”,则该雷达数据采集线程输出控制信号S4j为“T”;各头文件采集线程中,如果输入的S3、Y和Zi全部为“F”,则该头文件采集线程输出控制信号S5q为“F”,q=1、2、…v,v为头文件采集线程的个数,如果输入的S3、Y和Zi至少有一个是“T”,则该头文件采集线程输出控制信号S5q为“T”;各数据写入线程中,如果输入的S2k、S3、Y和Zi全部为“F”,则该数据写入线程输出控制信号S6k为“F”,如果输入的S2k、S3、Y和Zi至少有一个是“T”,则该数据写入线程输出控制信号S6k为“T”;
5)该雷达数据采集线程输出控制信号S4j、该头文件采集线程输出控制信号S5q、该数据写入线程输出控制信号S6k分别控制着各自循环进程(F1):如果控制信号为“F”则该线程继续运行,并将该控制信号赋值(AO)给全局控制变量Y,重复步骤2);如果该线程输出控制信号为“T”,则将该控制信号赋值给全局控制变量Y,同时对于雷达数据采集和头文件数据采集线程运行结束(End),对数据写入线程则转至步骤6);
所述数据写入线程还包括以下步骤:6)检测各数据写入线程中的数据是否全部被写入硬盘(F2),如果检测结果显示该线程数据全部写入,则该写入线程运行结束(End),如果检测结果显示该线程数据没有全部写入,则该写入线程继续运行,重复步骤2),从而确保采集到的所有数据都被存储起来。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310150031.0A CN103226328B (zh) | 2013-04-21 | 2013-04-21 | 采集次数控制模式下的多线程数据采集系统同步控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310150031.0A CN103226328B (zh) | 2013-04-21 | 2013-04-21 | 采集次数控制模式下的多线程数据采集系统同步控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103226328A CN103226328A (zh) | 2013-07-31 |
CN103226328B true CN103226328B (zh) | 2015-06-24 |
Family
ID=48836815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310150031.0A Expired - Fee Related CN103226328B (zh) | 2013-04-21 | 2013-04-21 | 采集次数控制模式下的多线程数据采集系统同步控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103226328B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103728893B (zh) * | 2013-12-31 | 2016-05-11 | 中国电子科技集团公司第二十二研究所 | 一种探地雷达高精度时序控制电路 |
CN105549556B (zh) * | 2015-12-17 | 2018-06-26 | 东北大学 | 一种用于工业过程实时监控的数据采集传输系统及方法 |
CN109947070B (zh) * | 2019-04-28 | 2020-06-19 | 广东德圳智能技术有限公司 | 生产设备数据采集方法及其数据传输处理器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1122659A2 (en) * | 2000-02-02 | 2001-08-08 | Centric Software, Inc. | Multi-threaded frame safe sychronization of a simulation |
CN1402844A (zh) * | 1999-09-01 | 2003-03-12 | 英特尔公司 | 用于多线程并行处理器的指令 |
CN101673343A (zh) * | 2009-10-15 | 2010-03-17 | 上海大学 | 在dsp+fpga架构中提高信号实时模式识别处理速度的系统及方法 |
CN101874238A (zh) * | 2007-04-11 | 2010-10-27 | 高通股份有限公司 | 用于多线程处理器的线程间跟踪对准方法和系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6862635B1 (en) * | 1998-11-13 | 2005-03-01 | Cray Inc. | Synchronization techniques in a multithreaded environment |
US8200718B2 (en) * | 2009-07-02 | 2012-06-12 | Roberts Michael L | Parallelized, incremental garbage collector |
-
2013
- 2013-04-21 CN CN201310150031.0A patent/CN103226328B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1402844A (zh) * | 1999-09-01 | 2003-03-12 | 英特尔公司 | 用于多线程并行处理器的指令 |
EP1122659A2 (en) * | 2000-02-02 | 2001-08-08 | Centric Software, Inc. | Multi-threaded frame safe sychronization of a simulation |
CN101874238A (zh) * | 2007-04-11 | 2010-10-27 | 高通股份有限公司 | 用于多线程处理器的线程间跟踪对准方法和系统 |
CN101673343A (zh) * | 2009-10-15 | 2010-03-17 | 上海大学 | 在dsp+fpga架构中提高信号实时模式识别处理速度的系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103226328A (zh) | 2013-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zheng et al. | PreDatA–preparatory data analytics on peta-scale machines | |
US20210373799A1 (en) | Method for storing data and method for reading data | |
CN104570081A (zh) | 一种积分法叠前时间偏移地震资料处理方法及系统 | |
US10331825B2 (en) | Waveform based reconstruction for emulation | |
CN103838626A (zh) | 一种处理串行任务的数据处理装置及方法 | |
DE102020119519A1 (de) | Verfahren und einrichtungen zum ermöglichen einer "out-of-order"-pipeline-ausführung der statischen abbildung einer arbeitslast | |
CN101799321A (zh) | 智能振动监测系统 | |
EP3539027A1 (en) | Waveform based reconstruction for emulation | |
CN103226328B (zh) | 采集次数控制模式下的多线程数据采集系统同步控制方法 | |
CN103325426A (zh) | 基于ddr2sdram阵列分段存储的无缝采集方法 | |
CN103488564B (zh) | 一种分布式实时测试系统多路测试数据压缩与归并方法 | |
CN108181644B (zh) | 一种采样方法及装置 | |
Du et al. | Design of LabVIEW based general data acquisition system | |
US10949330B2 (en) | Binary instrumentation to trace graphics processor code | |
CN113454607B (zh) | 调试方法、装置及片上系统 | |
CN103336458B (zh) | 采集时间控制模式下的多线程数据采集系统同步控制方法 | |
CN103257639B (zh) | 按键控制模式下的多线程数据采集系统同步控制方法 | |
Gohn | Data Acquisition with GPUs: The DAQ for the Muon $ g $-$2 $ Experiment at Fermilab | |
CN104881600A (zh) | 一种解决探地雷达数据采集系统中数据溢出的技术方法 | |
CN103969484A (zh) | 高刷新率波形合成器和高刷新率示波器 | |
CN103018776B (zh) | 一种利用cpu/mic协同计算加速地震叠前时间偏移的方法 | |
GB2560749A (en) | Trace data representation | |
CN114912384A (zh) | 一种基于嵌入式gpu的智能计算模块及其设计方法 | |
CN206892323U (zh) | 水声阵列信号处理平台 | |
CN102866423A (zh) | 地震叠前时间偏移的处理方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150624 Termination date: 20200421 |
|
CF01 | Termination of patent right due to non-payment of annual fee |