一种EAST实验数据发布信息交流系统及方法技术方案

技术编号:37717237 阅读:12 留言:0更新日期:2023-06-02 00:14
本发明专利技术公开了一种EAST实验数据发布信息交流系统及方法,包括整体构架模块和用户界面模块,所述整体构架模块包括用户层、接入层、业务层和数据层,所述接入层和业务层包括etcd模块、API网关模块、即时通讯模块、数据发布模块和MQ模块,所述etcd模块和API网关模块之间通过服务注册相互电性连接,所述etcd模块通过服务发现和即时通讯模块之间相互电性连接,通过本发明专利技术的系统及方法,通过分析广大实验人员和物理学者对EAST装置产生的实验数据的实时获取的迫切需求,总结以往实验数据服务平台的局限性,调研主流框架和前后端技术方案并确定最终技术选型,实现该EAST实验数据发布信息交流系统。系统。系统。

【技术实现步骤摘要】
一种EAST实验数据发布信息交流系统及方法


[0001]本专利技术属于数据发布信息交流
,具体涉及一种EAST实验数据发布信息交流系统及方法。

技术介绍

[0002]全超导托卡马克核聚变实验装置(EAST),有“人造太阳”之称,其运行原理就是在装置的真空室内加入少量氢的同位素氘或氚,通过类似变压器的原理使其产生等离子体,然后提高其密度、温度使其发生聚变反应,反应过程中会产生巨大的能量。
[0003]随着近十年以来互联网技术的飞速发展,大数据和分布式计算给我们的时代带来的冲击也越来越明显,一系列分布式技术架构和组件也随之诞生。典型的分布式技术架构如微服务架构,相比于传统的单体服务架构,它做到了将一个完整的功能复杂的服务拆分成每个独立的服务,从而松散了服务之间的耦合,便于部署和维护。分布式组件如Redis、kafka、RabbitMQ、RocketMQ等消息中间件,能够单一地负责业务模块各系统之间数据异步方式传递数据,在架构复杂的分布式系统中,这些分布式组件相比于普通的应用程序来说,无疑是降低系统耦合程度的最佳实践方案。
[0004]移动端通信系统EASTIM是面向Android用户,并不能覆盖所有的移动端用户,且推送数据项单一,功能难以扩展和维护,针对大量数据其系统性能也远远达不到需求,因此,需要设计一个技术架构优越、功能丰富易扩展、面向所有移动端平台的EAST实验数据发布信息交流系统,满足实验人员的需求。

技术实现思路

[0005]本专利技术要解决的技术问题是克服现有的缺陷,提供一种EAST实验数据发布信息交流系统及方法,以解决上述
技术介绍
中提出的移动端通信系统EASTIM是面向Android用户,并不能覆盖所有的移动端用户,且推送数据项单一,功能难以扩展和维护,针对大量数据其系统性能也远远达不到需求的问题。
[0006]为实现上述目的,本专利技术提供如下技术方案:一种EAST实验数据发布信息交流系统,包括整体构架模块和用户界面模块,所述整体构架模块包括用户层、接入层、业务层和数据层,所述接入层和业务层包括etcd模块、API网关模块、即时通讯模块、数据发布模块和MQ模块,所述etcd模块和API网关模块之间通过服务注册相互电性连接,所述etcd模块通过服务发现和即时通讯模块之间相互电性连接,所述数据发布模块通过缓存和写入和MQ模块相互电性连接,所述API网关模块通过PUB和SUB和MQ模块之间相互电性连接,所述即时通讯模块包括Login模块、Friend模块、user模块、Group模块和Message模块。
[0007]优选的,所述数据发布模块包括MDSPlus信号模块、EPICS模块和PCS日志模块,MDSPlus信号模块包括数据监听线程模块、数据读取线程模块、信号绘制模块、数据库资源连接模块、数据写入线程模块和数据资源访问模块。
[0008]优选的,所述EPICS模块包括数据库监听模块、IOC数据读写模块、IOC数据监听模
块和数据写入模块。
[0009]优选的,所述PCS日志模块包括操作/运行日志监听模块和日志数据写入模块。
[0010]优选的,所述用户界面模块包括工作台界面、聊天界面、通讯录界面和我的界面。
[0011]一种EAST实验数据发布信息交流方法,包括以下步骤:
[0012]步骤一:EAST实验数据发布信息交流系统技术架构采用近几年及其火热的微服务架构风格,前后端分离,微服务架构有其服务粒度细、服务通信轻量、服务易于扩展、服务支持单独部署等优势,在Web开发领域独占鳌头,采用微服务架构,对每个服务独立开发和维护;
[0013]步骤二:系统架构由上到下分为四层,用户层、接入层、业务层和数据层,用户层主要支持客户端显示和交互的功能;接入层也就是API网关层,负责提供对外的http服务和websocket服务,将用户请求转发到业务层;业务层是一些松散服务的聚合,相互配合调用,实现完整的业务功能;数据层一方面利用多种不同存储库的特性,将数据分层存储在相应的数据库中,另一方面负责与业务层数据交互;此外,还有一些支撑服务如服务注册中心etcd,负责微服务的注册、发现和健康检查的集中管理;消息中间件MQ,主要用于缓存、消息解耦和实验数据的发布订阅,其中包括用作缓存和中间件的Redis,用作消息解耦的kafka;
[0014]步骤三:考虑到需要覆盖Android和iOS移动端系统以及减少开发成本,系统采用Google开源的跨平台技术方案Flutter,以Dart作为开发语言,性能优越,页面流畅,选用Android studio和Xcode作为主要开发工具;
[0015]步骤四:通讯服务端用golang语言开发,采用插件式的轻量级gin微框架,开发RESTful API用于前后端交互,选用vscode作为开发工具,数据发布服务端用Java语言开发,采用springBoot微框架开发,处理实验数据,并利用内嵌的tomcat容器做数据文件访问服务,选用IntelliJ IDEA作为开发工具,用postman作为API测试工具;
[0016]步骤五:系统按其功能可分为即时通讯和数据发布两大模块;
[0017]步骤六:EAST实验数据发布信息交流系统主要面向移动端用户,EASTIM即面向EAST的IM应用程序,界面主要包括工作台、聊天、通讯录和我的四个主界面,其中工作台界面主要是针对实验数据的订阅和发布;聊天界面主要是提供用户单聊、群聊、展示会话记录、添加好友、添加群的工具栏和全局搜索会话、用户、群等功能;通讯录界面主要提供好友群组通知消息、展示好友群组列表和常用联系人等功能;我的界面主要是维护用户信息和设置账号信息等功能,并提供版本更新和退出登录功能等;
[0018]步骤七:系统架构逻辑即用户将请求发送给网关层,网关层对其进行权限验证,验证通过后结合Etcd服务注册中心发现服务,最后响应请求,若用户请求为websocket请求,如消息发送请求,则需要通过MQ消息解耦,从而更快地响应消息发送请求,架构逻辑实现包含三个方面,即API网关实现、Etcd服务注册发现实现和MQ消息解耦实现;
[0019]步骤八:API网关部分主要实现了msg_gateway消息网关和一系列http服务API如auth API、manager API、friend API、group API、pub/sub API以及oss API等等;
[0020]步骤九:当Msg_gateway消息网关对RPC服务初始化后,即启动了RPC服务,该服务内部实现了Etcd服务的注册,根据自定义的RPC注册服务名和自定义的服务端口向Etcd中注册服务,并且对注册的服务设置TTL,类似于心跳时间,定时保持服务的心跳,从而实现服务的健康监测,本系统采用Etcd v3版本,通过申请租约lease,设置TTL为10s,10s后服务自
动过期,并以续租约的方式检测服务是否正常运行,从而实现的服务健康监测;
[0021]步骤十:系统使用分布本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种EAST实验数据发布信息交流系统,包括整体构架模块(1)和用户界面模块(31),其特征在于:所述整体构架模块(1)包括用户层(2)、接入层(3)、业务层(4)和数据层(5),所述接入层(3)和业务层(4)包括etcd模块(6)、API网关模块(7)、即时通讯模块(8)、数据发布模块(9)和MQ模块(10),所述etcd模块(6)和API网关模块(7)之间通过服务注册相互电性连接,所述etcd模块(6)通过服务发现和即时通讯模块(8)之间相互电性连接,所述数据发布模块(9)通过缓存和写入和MQ模块(10)相互电性连接,所述API网关模块(7)通过PUB和SUB和MQ模块(10)之间相互电性连接,所述即时通讯模块(8)包括Login模块(11)、Friend模块(12)、user模块(13)、Group模块(14)和Message模块(15)。2.根据权利要求1所述的一种EAST实验数据发布信息交流系统,其特征在于:所述数据发布模块(9)包括MDSPlus信号模块(16)、EPICS模块(17)和PCS日志模块(18),MDSPlus信号模块(16)包括数据监听线程模块(19)、数据读取线程模块(20)、信号绘制模块(21)、数据库资源连接模块(22)、数据写入线程模块(23)和数据资源访问模块(24)。3.根据权利要求2所述的一种EAST实验数据发布信息交流系统,其特征在于:所述EPICS模块(17)包括数据库监听模块(25)、IOC数据读写模块(26)、IOC数据监听模块(27)和数据写入模块(28)。4.根据权利要求2所述的一种EAST实验数据发布信息交流系统,其特征在于:所述PCS日志模块(18)包括操作/运行日志监听模块(29)和日志数据写入模块(30)。5.根据权利要求1所述的一种EAST实验数据发布信息交流系统,其特征在于:所述用户界面模块(31)包括工作台界面(32)、聊天界面(33)、通讯录界面(34)和我的界面(35)。6.根据权利要求1

5任意一项所述的一种EAST实验数据发布信息交流方法,其特征在于:包括以下步骤:步骤一:EAST实验数据发布信息交流系统技术架构采用近几年及其火热的微服务架构风格,前后端分离,微服务架构有其服务粒度细、服务通信轻量、服务易于扩展、服务支持单独部署等优势,在Web开发领域独占鳌头,采用微服务架构,对每个服务独立开发和维护;步骤二:系统架构由上到下分为四层,用户层(2)、接入层(3)、业务层(4)和数据层(5),用户层(2)主要支持客户端显示和交互的功能;接入层也就是API网关层,负责提供对外的http服务和websocket服务,将用户请求转发到业务层;业务层(4)是一些松散服务的聚合,相互配合调用,实现完整的业务功能;数据层(5)一方面利用多种不同存储库的特性,将数据分层存储在相应的数据库中,另一方面负责与业务层数据交互;此外,还有一些支撑服务如服务注册中心etcd,负责微服务的注册、发现和健康检查的集中管理;消息中间件MQ,主要用于缓存、消息解耦和实验数据的发布订阅,其中包括用作缓存和中间件的Redis,用作消息解耦的kafka;步骤三:考虑到需要覆盖Android和iOS移动端系统以及减少开发成本,系统采用Google开源的跨平台技术方案Flutter,以Dart作为开发语言,性能优越,页面流畅,选用Android studio和Xcode作为主要开发工具;步骤四:通讯服务端用golang语言开发,采用插件式的轻量级gin微框架,开发RESTful API用于前后端交互,选用vscode作为开发工具,数据发布服务端用Java语言开发,采用springBoot微框架开发,处理实验数据,并利用内嵌的tomcat容器做数据文件访问服务,选用IntelliJ IDEA作为开发工具,用postman作为API测试工具;
步骤五:系统按其功能可分为即时通讯和数据发布两大模块;步骤六:EAST实验数据发布信息交流系统主要面向移动端用户,EASTIM即面向EAST的IM(Instant Message)应用程序,界面主要包括工作台、聊天、通讯录和我的四个主界面,其中工作台界面主要是针对实验数据的订阅和发布;聊天界面主要是提供用户单聊、群聊、展示会话记录、添加好友、添加群的工具栏和全局搜索会话、用户、群等功能;通讯录界面主要提供好友群组通知消息、展示好友群组列表和常用联系人等功能;我的界面主要是维护用户信息和设置账号信息等功能,并提供版本更新和退出登录功能等;步骤七:系统架构逻辑即用户将请求发送给网关层,网关层对其进行权限验证,验证通过后结合Etcd服务注册中心发现服务,最后响应请求,若用户请求为websocket请求,如消息发送请求,则需要通过MQ消息解耦,从而更快地响应消息发送请求,架构逻辑实现包含三个方面,即API网关实现、Etcd服务注册发现实现和MQ消息解耦实现;步骤八:API网关部分主要实现了msg_gateway消息网关和一系列http服务API如auth API、manager API、friend API、group API、pub/sub API以及o...

【专利技术属性】
技术研发人员:袁旗平童孝龙肖炳甲张睿瑞赵金幸王兰刘连忠
申请(专利权)人:中国科学院合肥物质科学研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1