[发明专利]一种将建模仿真软件封装成私有云服务的方法在审
申请号: | 201810429814.5 | 申请日: | 2018-05-08 |
公开(公告)号: | CN110471775A | 公开(公告)日: | 2019-11-19 |
发明(设计)人: | 黄继杰;林昌年;周海明;张磊;林春龙;包喜春 | 申请(专利权)人: | 北京科东电力控制系统有限责任公司;中国电力科学研究院有限公司;国家电网有限公司;国网山东省电力公司电力科学研究院 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F16/182;H04L29/08 |
代理公司: | 11429 北京中济纬天专利代理有限公司 | 代理人: | 陆薇薇<国际申请>=<国际公布>=<进入 |
地址: | 100192 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 建模仿真 软件封装 私有云 云服务 软件包 电力系统仿真 传统单机 单机运行 双向通信 通信通道 用户提供 运行数据 服务端 客户端 消息层 映射 应用 服务 部署 访问 进程 | ||
1.一种将建模仿真软件封装成私有云服务的方法,其特征在于所述方法包括以下步骤:
1、建立客户端与云服务端的通信通道;
2、编写WebSocket服务端建立SaaS层应用;
3、基于ICE的消息层应用;
4、建模仿真进程的运行数据到HDFS的映射;
5、PaaS层C访问HDFS的接口。
2.根据权利要求1所述一种将建模仿真软件封装成私有云服务的方法,其特征在于,所述步骤1中:
采用WebSocket松耦合技术,将客户端产生的输入数据发给云服务端,并接收云服务端的输出数据;同时对交互事件进行编码,并对事件的参数和响应结果进行编码和解析。
3.根据权利要求1所述一种将建模仿真软件封装成私有云服务的方法,其特征在于,所述步骤2中:
SaaS层应用采用WebSocket协议,可发送遵从SOAP协议的数据;Python语言的网络编程接口已完全实现了WebSocket,利用Python来编写服务端,服务端的Python程序保存有已连接的客户端的连接句柄,对于需要推送处理的事件,服务端的Python程序通过连接句柄主动将数据发送给相应的客户;服务端的Python程序解析客户端的SOAP协议,在响应客户的连接请求后创建一个进程,由它加在传统建模仿真软件代码并运行,此后服务端的Python程序所起的作用就是完成客户与该加载的仿真进程之间的通信代理,并在客户的连接被断开后服务端会将此进程销毁。
4.根据权利要求1所述一种将建模仿真软件封装成私有云服务的方法,其特征在于,所述步骤3中:
服务端的Python程序与加载的仿真进程之间的通信采用消息总线的订阅和发布机制来实现,在服务端使用RPC(Remote Procedure Call Protocol远程过程调用协议)技术来实现消息的订阅和发布,使服务端的进程分布到机群上,通过负载均衡技术充分利用服务端的计算资源;采用ICE(Internet Communications Engine)这一RPC中间件,用ICE的Slice语言为建模仿真进程定义好通信接口,并用Slice2Cpp生成接口实现的C++代码,代替建模仿真程序中原来由可视化人机接口相关的代码,同时利用Slice2Py生成服务端的Python程序接口,作为服务端程序的一部分;每条消息的内容必包括进程ID字段,服务端通过此ID与WebSocketID相关联,使一个建模仿真进程专职位对应的客户服务。
5.根据权利要求1所述一种将建模仿真软件封装成私有云服务的方法,其特征在于,所述步骤4中包括:
(4.1)每个建模仿真进程负责完成一个租户的仿真任务,在完成租户的仿真任务过程中产生的数据存储到各进程独自的空间中,SaaS中的多租户技术通过租户ID在数据库中建立相关的表来存储租户的独立的数据,同样要求每个客户在初次使用时进行注册以获得他的租户ID号;客户登录时使用其租户ID号,这样生成的系统唯一租户ID号在客户每次使用时会形成唯一的映射,即租户ID到WebSocketID的唯一的映射,再到进程ID的唯一映射;
(4.2)云环境下的海量存储技术多为Hadoop,它的存储底层技术是分布式的文件系统HDFS,HDFS提供了标准的POSIX文件访问协议,可通过文件目录来存储不同路径的文件,根据每个租户的ID在HDFS中建立对应的目录,从而使每个客户在HDFS中有其独立的存储路径;对于客户的每次仿真,在有其独立的存储路径中按“日期+时间”构成的字符串来建立子目录,并在服务端为客户提供列出子目录及按时间查找历史仿真数据的接口。
6.根据权利要求1所述一种将建模仿真软件封装成私有云服务的方法,其特征在于,所述步骤5中:
(5.1)安装Hadoop后产生了Hadoop FileSystem,该系统APIs是JAVA CLIENT API,HDFS提供基于JNI的C调用接口LIB HDFS,通过LIB HDFS访问HDFS文件系统与使用C语言API访问普通操作系统的文件系统类似,但LIB HDFS不支持在任意位置修改文件内容,只能在文件末尾执行append操作,或对整个文件执行truncate操作;
(5.2)在服务端安装JAVA JDK和Hadoop发行版,设置几个关键环境变量,包括LD_LIBRARY_PATH和CLASSPATH的设置,在LD_LIBRARY_PATH环境变量中添加libjvm.so和libhdfs.so库所在路径,针对CLASSPATH需要囊括Hadoop提供的所有jar包的全路径信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京科东电力控制系统有限责任公司;中国电力科学研究院有限公司;国家电网有限公司;国网山东省电力公司电力科学研究院,未经北京科东电力控制系统有限责任公司;中国电力科学研究院有限公司;国家电网有限公司;国网山东省电力公司电力科学研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810429814.5/1.html,转载请声明来源钻瓜专利网。