CN103226328B - 采集次数控制模式下的多线程数据采集系统同步控制方法 - Google Patents

采集次数控制模式下的多线程数据采集系统同步控制方法 Download PDF

Info

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
data acquisition
control signal
data
variable
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
Application number
CN201310150031.0A
Other languages
English (en)
Other versions
CN103226328A (zh
Inventor
许献磊
胡振琪
彭猛
高杨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China University of Mining and Technology CUMT
China University of Mining and Technology Beijing CUMTB
Original Assignee
China University of Mining and Technology Beijing CUMTB
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China University of Mining and Technology Beijing CUMTB filed Critical China University of Mining and Technology Beijing CUMTB
Priority to CN201310150031.0A priority Critical patent/CN103226328B/zh
Publication of CN103226328A publication Critical patent/CN103226328A/zh
Application granted granted Critical
Publication of CN103226328B publication Critical patent/CN103226328B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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),从而确保采集到的所有数据都被存储起来。
CN201310150031.0A 2013-04-21 2013-04-21 采集次数控制模式下的多线程数据采集系统同步控制方法 Expired - Fee Related CN103226328B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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
CN104483011B (zh) 一种旋转机械多通道振动信号的在线检测与分析系统及方法
CN103995764B (zh) 一种具有串行总线协议连续触发功能的逻辑分析仪
CN104915793A (zh) 基于大数据分析挖掘的公共信息智能分析平台
CN105415191B (zh) 一种基于声发射的磨削状态测控方法及装置
CN205176826U (zh) 一种基于usb高速接口的音频采集装置
CN104062570A (zh) 一种电力变压器局部放电信号选频方法
CN103226328B (zh) 采集次数控制模式下的多线程数据采集系统同步控制方法
CN103984240A (zh) 一种基于反射内存网的分布式实时仿真方法
US20180137031A1 (en) Waveform based reconstruction for emulation
CN205484843U (zh) 一种基于LabVIEW的地震勘探数据采集检测系统
CN103777529A (zh) 一种速变信号采编器
CN101799321A (zh) 智能振动监测系统
CN106773791A (zh) 一种飞行控制系统试验装置
CN103207730B (zh) 一种可定位拖拉式流程图生成方法及流程图生成器
CN102945198A (zh) 一种表征高性能计算应用特征的方法
Du et al. Design of LabVIEW based general data acquisition system
CN103501253A (zh) 一种高性能计算应用特征的监控组织方法
CN113010392A (zh) 大数据平台的测试方法、装置、设备、存储介质和系统
CN103336458B (zh) 采集时间控制模式下的多线程数据采集系统同步控制方法
CN103257639B (zh) 按键控制模式下的多线程数据采集系统同步控制方法
CN111680026B (zh) 一种基于mvvm模式的气动数据分析方法
CN103514073B (zh) 基于LabVIEW被动接收型的串口通信系统
CN203038259U (zh) 数据采集装置及在线仿真调试系统
CN107895282A (zh) 一种基于时空网格的烟草市场大数据可视化方法
CN204856469U (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