实时数据采集系统设计与实现课件_第1页
实时数据采集系统设计与实现课件_第2页
实时数据采集系统设计与实现课件_第3页
实时数据采集系统设计与实现课件_第4页
实时数据采集系统设计与实现课件_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

初步方案TM数据采集组实时数据采集系统设计与实现

TM汇报人:黄文君导师:王华忠2012-11-16初步方案TM数据采集组实时数据采集系统设计与实现1后续计划系统实现系统设计需求分析目录后续计划系统实现系统设计需求分析目录2预期:为EAST的持续放电设计一套基于mdsplus的实时数据采集系统(系统要求:实时,高采样率,稳定)需求分析数据存储形式在聚变领域更国际化,易访问

Mdsplus:存储数据多样化;多语言访问;存储效率高Decompress算法原始dat文件Lzo文件Compress算法数据存储访问更实时,高效预期:为EAST的持续放电设计一套基于mdsplus的实时数3系统设计客户端EastScopeWebScope数据发布服务器跨网段:所网,采集网①RequestNAS数据存储Request历史炮号Request当前炮号数据存储服务器数据发布模块采集存储模块MOVE2000多道信号采集控制台TCP/IP传输系统设计客户端数据发布服务器①RequestNAS数据存储R4采集存储模块-分时间片机制+双缓冲基本原理: 将整个长的时间片分成一段段的时间片,以时间片为单位,这样就能实时看到某个时间片的数据,无需等到一炮实验结束后,才能看到数据。。。。0~5s5~10s995~1000sEmpty(0~5s)(15~20S)Occupied(5s-10s)(20s-25s)生产者

消费者采集存储模块基本原理:。。。。0~5s5~10s995~105存储模式修改-双缓冲模式性能分析双缓冲模式:分析1:当采用双缓冲时,如果消费者速度慢,Occupied数据没拿走,生产者又写数据进去了,那数据丢失了。如果多缓冲,那生产者,消费者每次检查缓冲数据过多,代价更大分析2:两者都需要时刻主动循环检查缓冲区状况,这样浪费计算机资源,盲目性比较大分析1:(具体分析)以每台服务器承担两台采集机而言:每个通道大小:250K*5s*2B=2.5MB服务器承载数据量大小为2.5MB*100(通道数/台)*2台=500MB以千兆网络端口(传输速度125MB/S),端口接收时间5s(但网络拥塞处理机制)

但是存储速度,每个通道大概0.04s~0.08s(<100MB/s),但是当并发程度大时,会出现速度的不确定性(会出现5s内无法将所有通道数据存储起来)。双缓冲模式没有缓冲存储机制,如果当前缓冲没有存储完毕,数据会被覆盖。存储模式修改双缓冲模式:分析1:(具体分析)以每台服务器6生产者

消费者存储模式修改-生产者/消费者模式分析Flag_p=0P(prod_sem)//prod_sem—产生数据->buf(Flag_p++)V(cons_sem)//cons_sem++信号量:prod_sem=mcons_sem=0Flag_c=0P(cons_sem)//prod_sem—buf(Flag_c++)->存储起来V(prod_sem)//cons_sem++我不是龟速!生产者消费者存储模式修改Fla7核心代码:封装了三个信号量操作存储模式修改-生产者/消费者代码存储线程采集线程核心代码:存储模式修改存储线程采集线程8存储函数修改新函数特点:优点:存储数据的同时,存储了时间。无需像以前需提前存储时间轴

通过DIM_OF命令就能拿到时间,就能拿到缩略数据代码足够简单,增大了服务端代码的移植性 缺点:速度稍微慢了些(0.5MB,0.026948变到了0.04s),但是由于存储模式的修改,影响不大。只是稍微增大了延时时间。存储函数修改新函数特点:9存在的必要性:类似于googleMap(先显示信号整体趋势[2000个点],再细看)解决方案:用空间换时间。单独存储缩略数据,供用户第一次访问;这样所有用户第一次访问数据(A001)时,都不需要自己抽取数据,而只需要访问缩略数据(A001_s)即可和以前不同点:尽量保持写数据进程的通用性,也为了提高写数据进程的速度。将写缩略数据进程剥离出来,写数据进程每隔20s通过消息队列通知写缩略进程。缩略进程就负责抽取数据;然后写数据进程继续工作,不影响写数据进程速度。缩略数据修改SetTimeContext(起,终,(终-起)/2000)DIM_OFMdsValue(时间)MdsValue(数据)Build_signal(数据,时间)存在的必要性:类似于googleMap(先显示信号整体趋势10缩略数据代码细节缩略数据代码细节11存储模式修改-细节修改1:多进程调用比多线程调用,并发存储速度要快。所以将原来的多线程程序改成现在的多进程2:利用mdsplus的分布式特性,将east树的脉冲树的写入,转换成对多颗子树(east_ts1,east_ts2..)的单独写入,减少并发性3:时间片拼接机制由于理论上每片60MB时Mdsplus读写性能最好,但是由于采集卡限制,实际中每片数据量250K*2s*2B=1MB;将小时间片拼接成一个更大的buf(内存);时间片选择更加灵活4:为了提高服务器端代码的通用性,在采集端将数据重新组装好,服务端只需存储数据,无需理解采集端存储模式修改1:多进程调用比多线程调用,并发存储速度要快。所12后续计划1:目前,采集存储模块基本搭建完毕。采集控制台,主控制模块(控制模型树重建+脉冲树简历),采集机程序,服务器程序(主存储程序+写缩略数据程序)初步运行正常2:下一步:首先对采集存储模块进行压力测试(多台采集机对一台服务器),并逐

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论