摘要
EAST放电实验会产生大量的实验数据,为了满足实验人员高效地获取实验数据、了解实验进展的需求,提出了基于Openfire+Spark框架的EAST即时通信系统解决方案.该系统具有状态呈现、即时沟通、共享文件、订阅实验数据等功能,其中,重点研究了实验数据的订阅与推送.订阅/推送功能主要是由订阅网站系统和后台推送系统共同实现,实验人员通过订阅系统订阅感兴趣的实验数据,后台推送系统在监测到有新数据产生时,其读线程即从MDSPlus数据库中读取实验数据并交由数据处理线程进行绘图处理并打包成带有订阅用户JID的Message格式消息,最后由发送线程将将其转发到服务器.该系统解决了实验人员不能即时地获取实验状态和实验结果的问题,为EAST实验提供了一个良好的信息交流平台.
As EAST discharge experiments will produce a large amount of experimental data, it becomes necessary to organize these experimental data to make users can efficiently obtain them and understand the progress of experiments. In this study, we propose the EAST instant messaging system based on the Openfire and Spark framework, which can communicate instantly, share files, and subscribe the experimental results. But, we focus on the subscription and push function. The Subscription/Push includes two parts: front-end subscription website and the back-end push system.Researchers can subscribe their experimental data in website. The read thread of the back-end push system will read data from MDSPlus once new experimental data generates, then the data processing thread will handle them and package into Messages with the users' JID, finally the send thread will send Messages to the server. The system is designed to solve the problem that researchers cannot obtain the progress and the results of experiments in time and it provides a good communication platform for EAST experiment.
引文
1杨飞,肖炳甲,刘连忠,等.基于MDSplus的EAST工程数据获取及显示.微计算机信息,2010,26(13):20-22.[doi:10.3969/j.issn.2095-6835.2010.13.008]
2李斌,肖炳甲,刘连忠.基于Java的EAST实验数据可视化系统.计算机应用,2010,30(S1):248-250.
3盖荣丽,钱玉磊,李鸿彬,等.基于MQTT的企业消息推送系统.计算机系统应用,2015,24(11):69-75.[doi:10.3969/j.issn.1003-3254.2015.11.011]
4MDSplus.http://www.mdsplus.org/.
5杨飞.EAST实验数据系统研究[博士学位论文].北京:中国科学院研究生院,2011.
6沈奎林,杜瑾.基于Openfire+Spark构建IM实时交流平台.现代图书情报技术,2011,(5):83-87.[doi:10.11925/infotech.1003-3513.2011.05.13]
7Saint-Andre P.Extensible messaging and presence protocol(XMPP):Core[Thesis].Helsinki:Department of Computer Science,University of Helsinki,2011.
8Ignite realtime.http://www.igniterealtime.org/.