刘 睿1,2,张 明1,2,翁楚桥1,2,郑 玮1,2,庄 革1,2,于克训1,2
(1.华中科技大学 强电磁工程与新技术国家重点实验室,湖北 武汉 430074;2.华中科技大学 电气与电子工程学院,湖北 武汉 430074)
基于MDSplus分段技术的Web数据显示系统
刘 睿1,2,张 明1,2,翁楚桥1,2,郑 玮1,2,庄 革1,2,于克训1,2
(1.华中科技大学 强电磁工程与新技术国家重点实验室,湖北 武汉 430074;2.华中科技大学 电气与电子工程学院,湖北 武汉 430074)
先进托卡马克装置需要长脉冲放电实验运行,针对装置长脉冲放电实验的数据存储和交互技术是重要的研究内容之一。本工作设计了一种Web数据显示系统,系统采用ASP.NET架构和数据分段技术从MDSplus数据库读取分段数据,利用NI Measurement Studio控件库将数据显示在Web页面中。数据分段技术将长脉冲实验数据划分为多个较小的数据单元——数据段,用户可按需读取长脉冲实验数据中的部分数据段。同时系统制定了高效的分段读取策略,可准确、快速地显示用户所需的数据波形。Web数据显示系统在J-TEXT托卡马克上进行了测试,运行性能稳定,达到了系统的设计目标。
数据显示系统;Web;分段技术;MDSplus;ITER;Measurement Studio
托卡马克是进行磁约束聚变研究的实验装置,获取长脉冲等离子体放电是聚变能应用研究的重要方向之一。在长脉冲等离子体实验过程中,实验所产生的数据量非常庞大,单独1个通道的数据量达GB量级以上,如此巨大的数据量使实验人员需花费很长的时间来获取通道数据。通常实验人员读取1个通道的数据需半小时以上的等待时间,而实验人员经常需要查看多通道数据,如此几小时的等待时间是令人无法接受的。另一方面,现有的数据采集和数据服务系统[1-4]基于C/S(Client/Server)架构,需安装数据显示软件才能正常使用。
本文针对托卡马克装置长脉冲放电的数据特点,设计一套基于.NET的B/S(Browser/Server)架构的Web数据显示系统。
1.1 Web数据显示系统结构
Web数据显示系统结构如图1所示,Web服务器配置两块网卡,一块网卡连接实验室内部局域网,负责从MDSplus数据服务器获取数据,并将数据传送给用户;另一块网卡连接外部互联网,供外网用户访问MDSplus数据库中的数据。内网用户和外网用户均可登录Web服务器查看实验数据。
图1 Web数据显示系统结构Fig.1 Structure of Web data display system
1.2 MDSplus数据库
MDSplus数据库是集合数据存储、复杂数据处理等功能的大型软件系统,该软件系统由麻省理工学院、意大利帕多瓦聚变研究小组、美国洛斯阿拉莫斯国家实验室共同开发,广泛应用于世界各地聚变研究机构以及其他脉冲类型的实验机构。MDSplus数据库支持完善的数据处理功能,实验人员通过编写数据处理公式,可将不同通道的数据融合在一起进行数学运算。最新版MDSplus数据库支持数据分段技术,本文所设计的Web数据显示系统采用MDSplus数据库存储实验数据,并利用最新版MDSplus数据库推出的数据分段技术来对实验数据进行分段存储以及分段读取,提高实验数据读取效率。
1.3 Web数据显示系统软件结构设计
本文研究了EAST的Web数据显示系统[5]的结构,采用不同的设计思路设计新的Web数据显示系统。本系统基于ASP.NET架构设计,采用C#语言开发。用户使用浏览器查看波形时,无需安装任何插件即可登录网站进行数据访问。系统中还增加了智能的分段读取显示策略,对用户的数据请求进行分析,这样可更好地满足用户需求。当用户想要查看某一通道的数据时,只需输入通道名和想要查看的时间段,系统即自动判断要读取的分段数据。当选取的时间段超过一定范围时,系统将读取该通道的低采样率数据。当用户想通过缩小时间范围来观察更精细的数据时,系统会根据策略读取通道的高采样率分段数据。
Web数据显示系统软件结构如图2所示,主要包括数据读取模块和数据显示模块两部分,数据读取模块根据用户请求,采用对应的读取策略调用MDSplus数据库读取接口,从MDSplus数据库中读取数据,然后将数据返回给数据显示模块。数据显示模块将用户请求传达给数据读取模块,同时将数据读取模块读取的数据显示在界面中。
图2 Web数据显示系统软件结构Fig.2 Software structure of Web data display system
2.1 MDSplus数据库的访问
MDSplus数据库提供了.NET环境下数据操作的库函数,数据读取模块通过引用该库函数实现对数据库的读取操作。.NET环境下读取MDSplus数据库流程如图3所示,数据读取模块发出访问MDSplus数据库请求,MDSplus数据库接受连接请求,建立数据连接通道后,根据请求内容返回对应数据,在数据连接通道中完成数据的传送工作。数据传送完成后,数据读取模块发出断开数据库连接请求,MDSplus数据库断开数据库连接。
图3 MDSplus服务器数据读取流程Fig.3 Flow of MDSplus server reading data
2.2 MDSplus数据库分段读取技术
旧版本MDSplus数据库不支持分段技术[6],1次只能读写1个通道的全部数据。数据通道不分段的数据结构如图4a所示,通道中数据是1段连续的数据,用户只能完整读取初始时间和结束时间之间的数据。这种数据读取方式的优点是读取操作简便,缺点是当长脉冲实验时,单个通道的数据量庞大,数据读取等待时间较长,给实验人员带来严重的时间浪费,用户体验较差,而且这种方式不支持实验过程中查看数据。
图4 通道数据结构Fig.4 Data structure of channel
新版MDSplus数据库支持分段技术,即将长脉冲实验数据分成若干段写入到MDSplus数据库,用户在读取数据时可读取部分数据段。数据分段写入MDSplus数据库包括以下步骤:1)建立分段,将通道划分为若干分段;2)分配段号,每个分段有1个唯一段号;3)给每个分段分配起始和终止时间。在实验过程中采集完1段数据后可即时写入MDSplus数据库中,即可实现实验过程中查看数据的功能。数据段的长度可根据用户需要进行调整,分段写入MDSplus数据库后,用户按段号或时间段从MDSplus数据库中读取分段数据。采用分段技术后通道中数据结构如图4b所示。
分段技术的使用必须配合相应的分段读取策略,才能发挥数据分段技术的优点,提高读取效率和用户体验。由于通道中数据量庞大,用户查看的数据涵盖的时间段也长短不一,当用户查看的数据涵盖的时间段较长时,系统若将这一时间段全部读出并显示在网页中,会产生两个问题:1)数据读取的等待时间仍会较长,违背了设计该系统的初衷;2)网页显示波形的控件在读取过大的数据量时会造成网页崩溃。针对上述问题,需结合实际情况设计合理的读取策略。首先将数据分为高采样率数据和低采样率数据,采集模块以高采样率采集数据,再对高采样率数据进行重采样获得低采样率数据,将高采样率数据分段写入MDSplus数据库,低采样率数据整段写入MDSplus数据库。当用户申请查看数据的时间范围在3段以内时,系统将高采样率数据返回给用户;在3段以外时,系统返回给用户低采样率数据。因受用户屏幕尺寸限制,在查看长时间段数据时,显示全部数据点是多余的,经计算,采用的低采样率数据在超过3个时间段时也可显示足够的细节。
用户查看数据时间范围在3段以内时,系统读取策略如图5所示,用户申请查看数据的时间段Ts~Te在s4、s5、s6 3段数据内,系统读取这3段的高采样率数据,再从这3段数据中截取Ts~Te时间段数据显示在Web页面中。
用户申请查看数据的时间段在3段以上时,系统读取策略如图6所示,用户申请查看的时间段Ts~Te超过3个数据段,系统读取整段低采样率数据,再从低采样率数据中截取Ts~Te时间段数据显示在Web页面中。
图5 3段以内数据系统读取策略Fig.5 System reading strategy of below three segments
图6 3段以上数据系统读取策略Fig.6 System reading strategy of above three segments
当用户进行放大、缩小或平移操作时,查看的数据波形的时间范围会发生改变,此时系统调用前述数据分段读取策略对显示数据进行刷新,在该过程中实现在低采样率数据与高采样率数据之间的无缝切换。
3.1 数据显示控件
为达到良好的显示效果,测试了多种图形显示控件,如NPlot、ZGraph、dotnetCharting、Measurement Studio 2010,测试比较发现,NPlot、ZGraph、dotnetCharting控件读取和显示大量数据的性能较差,常出现控件崩溃的现象,导致网站无法运行。Measurement Studio 2010控件库读取和显示大量数据的效果最佳,性能稳定,用户体验较好,故采用它开发数据显示模块。该控件库是NI公司为Microsoft Visual Studio 2010和Visual Studio 6.0环境提供的集成式套件,具备很优秀的数据读取和显示能力,完全兼容Microsoft Visual Studio 2008/2005/2003,并支持在Visual Basic.NET、Visual C#、Microsoft Visual C++等环境下开发测试测量应用。
3.2 数据显示功能实现
本文运用Measurement Studio 2010提供的波形控件实现了数据显示模块。数据显示模块不仅能将通道中数据完整流畅地呈现在Web页面中,而且支持对数据波形进行横向、纵向以及区域缩放,修改坐标轴范围,撤销上次操作等功能。数据显示模块还实现了同窗口多波形对比功能,即在同一波形显示控件中,用户可根据需要添加其他多个波形数据,数据波形会以不同颜色显示,并且在网页右边栏会显示对应数据波形的相关信息,当用户需要删除某一波形时,只需选中相应数据波形并点击删除按钮即可。同时为了方便用户查看数据,数据显示模块增添了新窗口查看数据波形功能,用户输入炮号和通道信息后,点击新窗口打开按钮,波形数据便会在新网页中显示,新网页具有原网页同样功能。Web数据显示界面如图7所示,在Channel和shotNO文本框中输入通道名和炮号,点击ReadData按钮便能从MDSplus数据库中读取所需数据,并显示在Measurement Studio波形显示控件中,其他部分包括了缩放、撤销操作、修改坐标轴范围、同窗口多波形对比、新网页打开等功能。
图7 Web数据显示界面Fig.7 Interface of Web data display
通过测试比较不同分段策略读取数据所花费的时间,选择最适合的分段策略,同时也对Measurement Studio 2010控件库操作和显示数据波形的效果以及稳定性进行了测试。
测试硬件环境:Web波形显示系统服务器处理器Intel Core(TM)i5 2.80GHz,内存2GB,100M以太网。测试软件环境:Microsoft Visual Studio 2010,Measurement Studio 2010,Windows 7 32位操作系统。分别将10M、20M、30M单精度浮点数据分10段写入测试通道,数据时间范围0~10s,高采样率速率和低采样率速率分别为1MHz和10kHz,得到的读取时间列于表1。
表1 数据读取时间Table 1 Time of acquiring data
测试结果表明,采用1M数据点的分段策略时,延时较小,用户体验较好。当采用3M数据点的分段策略时,延时较大,无法实现流畅的用户体验,同时占用服务器内存较高,当同时在线用户较多时,导致服务器负荷较重。若分段数据较小,会造成实验过程中采集模块频繁写入MDSplus数据库,网络负荷巨大,甚至导致网络崩溃,因此分段数据也不宜过小。综合考虑上述两个因素,最终选取1段数据写入1M数据点的分段策略,这种策略时间延迟低,内存占用少,满足系统运行要求。经大量测试,Web数据显示系统运行稳定,各种操作功能均能良好实现,用户体验流畅。
基于B/S模式的Web数据显示系统降低了用户从MDSplus数据库获取分段数据的时间,Measurement Studio控件库显示数据波形的效果以及对数据波形操作的能力满足系统设计要求,同时用户无需安装客户端软件即可通过浏览器查看数据,用户体验较好。该系统还需借鉴DWscope等软件的功能继续完善Web数据显示系统对数据波形的操作功能,以获得更好的用户体验;同时需增加缓存机制,将最近常用数据存入缓存,进一步降低用户读取数据时间;最后在Web数据显示系统中加入用户管理机制,对用户赋予不同的数据操作权限,增强数据的安全性。
[1] 黄礼华,庄革,张明,等.J-TEXT托卡马克数据采集系统设计[J].微计算机信息,2009,25(16):74-76.
HUANG Lihua,ZHUANG Ge,ZHANG Ming,et al.Data acquisition system designed for JTEXT Tokamak[J].Microcomputer Information,2009,25(16):74-76(in Chinese).
[2] 瞿连政,罗家融,魏沛杰,等.MDSplus在HT-7 Tokamak聚变实验数据系统中的应用[J].计算机工程,2006,32(6):64-66.
QU Lianzheng,LUO Jiarong,WEI Peijie,et al.Application of MDSplus in data system of HT-7 Tokamak[J].Computer Engineering,2006,32(6):64-66(in Chinese).
[3] 瞿连政,闫宏生,邹自力,等.EAST装置的连续数据采集与服务系统的设计与实现[J].核技术,2009,32(9):716-720.
QU Lianzheng,YAN Hongsheng,ZOU Zili,et al.Design and implementation of a continuous data acquisition and service system for EAST[J].Nuclear Techniques,2009,32(9):716-720(in Chinese).
[4] QU Lianzheng,LUO Jiarong,WEI Peijie,et al.Upgraded data service system for HT-7Tokamak[J].Nuclear Science and Techniques,2005,16(5):304-309.
[5] YANG F,XIAO B J.A web based MDSplus data analysis and visualization system for EAST[J].Fusion Engineering and Design,2012,87(12):2 161-2 165.
[6] The segmented records in MDSplus[EB/OL].http:∥www.mdsplus.org/index.php/LongPulseExtensions.
Web Data Display System Based on Data Segment Technology of MDSplus
LIU Rui1,2,ZHANG Ming1,2,WENG Chu-qiao1,2,ZHENG Wei1,2,ZHUANG Ge1,2,YU Ke-xun1,2
(1.State Key Laboratory of Advanced Electromagnetic Engineering and Technology,Huazhong University of Science and Technology,Wuhan 430074,China;2.School of Electrical and Electronic Engineering,Huazhong University of Science and Technology,Wuhan 430074,China)
Long pulse operation is the main character of advanced Tokamak,so the technology of data storage and human-data interaction are vital for dealing with the large data generated in long pulse experiment.The Web data display system was designed.The system is based on the ASP.NET architecture,and it reads segmented-record data from MDSplus database by segmented-record technology and displays the data on Web page by using NI Measurement Studio control library.With the segmented-record technology,long pulse data could be divided into many small units,data segments.Users can read the certain data segments from the long pulse data according to their special needs.Also,the system develops an efficient strategy for reading segmentedrecord data,showing the waveforms required by users accurately and quickly.The datadisplay Web system was tested on J-TEXT Tokamak,and was proved to be reliable and efficient to achieve the initial design goal.
data display system;Web;segment technology;MDSplus;ITER;Measurement Studio
TL62
A
1000-6931(2014)02-0357-05
10.7538/yzk.2014.48.02.0357
2012-11-08;
2013-07-31
国家磁约束核聚变能发展研究专项资助(2010GB108004,2013GB113003)
刘 睿(1989—),男,湖北天门人,硕士研究生,电气工程专业