CRSCDMonitor
是高铁项目的维护终端项目。
每一个高铁站都有一个监控室,这个监控室监控本站的各种信息
- 本站内的继电器状态
- 本站的网络状态
- 本站的硬件状态
- …
CRSCDMonitor 是什么地位
这里并不讨论业务逻辑,只是讲一下该项目的地位。
高铁站中整套项目叫做联锁系统,其中联锁系统又分为
- 联锁
- 控显
- 维护终端
其中联锁和控显是涉安系统。控显是一个 C++ 的带有界面的系统,可以通过这套系统直接操作高铁外的设备,联锁是信息处理系统,是处理来自外界设备变化、控显指令等的处理系统。
其中,联锁会给维护终端发送数据,并且,这是单向连接。维护终端只能接收到来自联锁的信息。
发送的数据就是根据协议发过来的全量数据。每次发送的都是全量数据。
协议简单来说就是第一个字节放什么信息,第二个字节放什么信息。
维护终端拿到这些信息,会进行处理、切割、显示、存储和发送。
很明显,无论联锁有任何数据变化,按照理论维护终端都会将这个变化记录下来,所以,维护终端有
- 显示
- 存储
- 回放
- 发送
等功能。维护终端的作用是将这些变化显示出来。并且,维护终端也会将自身处理好的数据,发送到其他程序中。
CRSCDMonitor 的技术栈
其主要使用的技术包括
- java8
- Spring Boot
- Netty
- protobuf
- vue
- svn
CRSCDMonitor 开发情况
根据我的实际开发,CRSCDMonitor
做到了下面的事情
- 多组员协同开发互不影响
- 不同项目落地可快速迭代
- 多个可独立源码库
总体而言,该项目对代码的组织架构可以说非常好,其内部还有不少亮点环节。该项目是配置化驱动,配置非常多。