130 likes | 332 Views
WebPCS 调研. 汇报人:张睿瑞 导师:肖炳甲研究员 2011-04-01. PCS 软件代码. IDL 语言 生成用户界面 C 语言 控制算法、 PCS 服务进程( msgserver , lockserver , waveserver , uiserver , realtime_cpu,host_realtime ) Shell 脚本语言及调用外部命令 设置环境变量和 PCS 变量如端口号等 PCS 还直接调用外部命令,诸如执行远程命令、杀死进程等 通过脚本来设置 PCS 各进程如何启动和执行的参数. runsa for example. 实时 进程.
E N D
WebPCS调研 汇报人:张睿瑞 导师:肖炳甲研究员 2011-04-01
PCS软件代码 • IDL语言 生成用户界面 • C语言 控制算法、PCS服务进程(msgserver,lockserver,waveserver,uiserver,realtime_cpu,host_realtime) • Shell脚本语言及调用外部命令 设置环境变量和PCS变量如端口号等 PCS还直接调用外部命令,诸如执行远程命令、杀死进程等 通过脚本来设置PCS各进程如何启动和执行的参数
runsa for example 实时进程 主机进程
runsa for example runsa脚本设定PCS运行的各种环境变量,启动各个服务进程,并在最后调用idl只启动PCS的logo界面。每个进程都指定有端口号,用于socket通讯传递数据 waveserver读取PCS的wa10文件,将波形设置参数存入waveserver中(内存中),IDL界面等待用户的动作(选择放电模式、查看log等)
界面与waveserver通信 用户选择NextShot后,idl界面程序通过socket与waveserver进程通信获得波形设置的参数来填充界面内容 当用户在界面上改变PCS的参数设置或者应用以后再通过socket传回waveserver进程,并写入到setup文件中。
PCS现有基础结构分析 基础结构具有通用性,为适应不同的硬件和 不同的操作系统下(linux、windows、mac等)开发的,因此结构比较复杂、繁琐。 日志、设置信息都是存入文件中,查询、比较不方便 IDL作为用户界面编程语言,存在许可证问题。主节点机器idl版本 6.0, 较旧 基于C/S结构,需要登录到主节点操作,在远程操作不便
WebPCS的初步设想 • 在网页上实现或者改进现有PCS用户界面 • 从文件或者历史炮号中读取PCS设置信息,展现在WEB上,并修改存入文件或者数据库中 • 建立设置参数数据库,并有接口可使现有PCS读取和修改 • 对PCS的日志记录建立数据库,并可方便的在web上展示 • 比如多人修改同一个放电设置时,可以同步显示他人修改的内容等 • 采用开源软件实现 flex + python +pyamf+mysql等
WebPCS的意义 • 深入了解和掌握PCS的基础结构 • 改变现有PCS基础结构的某些不足 • 日志查看不方便 • 参数设置查看不方便 • 远程操作延迟
Flex —前端界面 • Flex做前端的UI • 界面漂亮 ,良好的用户体验 • 跨浏览器,浏览器兼容性好 • 页面无刷新 • Flash builder 4, 可视化拖拽组件,快速创建界面
Python -服务器端语言 • Python简单、易学、功能强大,开发快 • 已经实现用python如何读PCS的设置参数(wa10文件和MDSPLUSPCSSETUP节点)并能解析成具体的有意义的参数设置数据; • 下一步的计划是将这些数据展现在web上,则服务端与Flex客户端如何通信?
Pyamf- flex与python的数据通信 AMF是Adobe公司自己的协议,该协议用作数据交互和远程服务调用,使得Flex客户端与应用服务器之间传送数据。因为AMF是二进制格式而且经过高度压缩,因此适合用来传递大量的数据,其传输效率好。
需要考虑的问题 网络安全 用户认证 如何更灵活和方便的同步PCS版本更新 网页的响应速度和方便性