The invention discloses a multi thread real-time data analysis based on task distribution processing method, which comprises the following steps: (1) MZ optical fiber perimeter intrusion monitoring instrument data acquisition thread real-time data collection, and the collected data is stored to the circular queue in the buffer pool; (2) data distribution thread according to the number of data is not processing cycle queue in the buffer pool to determine whether to create a new data processing thread, and the circular queue in the buffer pool data to data in the form of task distribution to the data processing thread; (3) data processing and data dissemination thread thread receives the distributed data processing task, after processing, the data processing thread automatically its working state is free. The invention creates a new thread through dynamic data processing to achieve multi-threaded task distribution, the interaction between threads, high real-time performance, low failure rate, can improve the reliability of the overall performance of the perimeter detection and warning system.
【技术实现步骤摘要】
一种基于多线程的实时数据分析任务分发处理方法
本专利技术涉及光纤传感数据处理领域,具体的说,是涉及一种基于多线程的实时数据分析任务分发处理方法。
技术介绍
MZ光纤周界入侵监测仪器基于Mach-Zehnder干涉原理,利用光纤光缆探测外界振动并判别非法入侵,抗电磁干扰强、可实现对周界入侵导致的振动的长距离实时监测及定位。MZ光纤周界入侵监测仪器因具有抗电磁干扰、易于远传等优点,可以有效克服电类传感器的不足,近十年得到迅速发展。作为周界安防系统的关键技术,入侵的实时、低漏报率定位是周界监测预警系统的主要研究方向之一。在实际应用中,MZ光纤周界入侵检测仪器的数据采集线程将信号实时采集存放到循环队列缓冲池中,目前对数据的分析过程多采用单线程,这就导致在处理过程中发生的入侵数据将无法实时处理,从而导致入侵数据分析的延迟,实时性差,无法满足系统实时性的需求;同时,数据分析的延迟不断积累,循环队列缓冲池中数据溢出,部分数据丢失,导致入侵漏报率增加。因此,有必要对上述现有技术进行改进,以满足信息传输的过程中光纤围栏周界入侵实时、低漏报率监控的需求。
技术实现思路
本专利技术为了解决 ...
【技术保护点】
一种基于多线程的实时数据分析任务分发处理方法,其特征在于:包括以下步骤:(1)MZ光纤周界入侵监测仪器的数据采集线程实时采集数据,并将采集到的数据存放至用于暂存数据的循环队列数据缓冲池中;(2)MZ光纤周界入侵监测仪器的数据分发线程检测循环队列缓冲池中的未处理数据,并检测是否存在空闲的数据处理线程,若各数据处理线程均处于忙碌状态,则动态创建新的数据处理线程,形成动态配合的多线程的任务分发处理过程,数据分发线程将循环队列缓冲池中的数据以数据任务的形式分发至MZ光纤周界入侵监测仪器的空闲的数据处理线程,同时,将该数据处理线程的工作状态置为忙碌;(3)所述数据处理线程接收到数据分 ...
【技术特征摘要】
1.一种基于多线程的实时数据分析任务分发处理方法,其特征在于:包括以下步骤:(1)MZ光纤周界入侵监测仪器的数据采集线程实时采集数据,并将采集到的数据存放至用于暂存数据的循环队列数据缓冲池中;(2)MZ光纤周界入侵监测仪器的数据分发线程检测循环队列缓冲池中的未处理数据,并检测是否存在空闲的数据处理线程,若各数据处理线程均处于忙碌状态,则动态创建新的数据处理线程,形成动态配合的多线程的任务分发处理过程,数据分发线程将循环队列缓冲池中的数据以数据任务的形式分发至MZ光纤周界入侵监测仪器的空闲的数据处理线程,同时,将该数据处理线程的工作状态置为忙碌;(3)所述数据处理线程接收到数据分发线程分发的数据任务后,对数据任务进行处理,处理完成后,所述数据处理线程自动将其自身的工作状态置为空闲。2.根据权利要求1所述的一种基于多线程的实时数据分析任务分发处理方法,其特征在于:所述步骤(1)中,所述的循环队列缓冲池的起始状态为一个循环的空队列,该循环队列缓冲池中具有表征未处理数据开始的front及表征未处理数据结束的下标rear,且两者的初始值均为0。3.根据权利要求2所述的一种基于多线程的实时数据分析任务分发处理方法,其特征在于:所述步骤(1)中,所述数据采集线程将采集到的数据存放至循环队列数据缓冲池后,会将表征循环队列数据缓冲池中未处理数据开始位置的下标front顺时针移动,每存放一个数据,front的值加1。4.根据权利要求1所述的一种基于多线程的实时数据分析任务分发处理方法,其特征在于:所述步骤(2)中,数据分发线程将未处理数据分发至数据处理线程的具体步骤为:I.检查当前是否存在未处理的数据,并判断循环队列缓冲池中未处理的数据是否满足处理条件;II.查询空闲的数据处理线程数量;III.数据分发线程对未处理数据进行拷贝,将拷贝好的数据分发到数据处理线程中,每分发完一个未处理数据,将循环队列缓冲池中的rear的下标值加b,此处,数据分发线程的分发速度快于数据采集线程的采集速度。5.根据权利要求4所述的一种基于多线程的实时数据分析任务分发处理方法,其特征在于:所述数据分发线程检查当前是否存在未处理数据,并判断循环队列缓冲池中未处理的数据是否满足处理条件的具体方法为:判断未处理数据的点数a是否不小于单次数据处理线程的处理点数b,若a<b,则不满足处理条件,数据分发线程继续对循环队列缓冲池进行监控;若a≥b,则满足处理条件,数据分发线程将未处理的数据拷贝并分发至空闲状态的数据处理线程进行处理,若所有的数据处理线程均处于忙碌状态,则创建新的数据...
【专利技术属性】
技术研发人员:王广彪,魏石磊,鞠军委,李宝瑞,徐桂城,张志辉,韩顺利,
申请(专利权)人:中国电子科技集团公司第四十一研究所,
类型:发明
国别省市:山东,37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。