XDE Kernel SOA :支撑半导体设备软件开发 “三大件”
1 简介
XDE Kernel 通过复杂的系统多层架构,实现了半导体设备软件底层"三大件":
- SOA
- 提供不同操作系统、不同开发语言、主从机进程间的远程方法调用
- Service Bus
- 提供不同操作系统、不同开发语言、主从机之间消息订阅发布功能
- Log & Exception
- 提供不同等级的日志及异常统一记录功能;提供异常错误链、错误堆栈等分析功能
2 SOA Framework
XDE Kernel SOA Framework 是基于protobuf以及gRPC进行二次开发,实现了不同操作系统、不同开发语言、主从机进程间的远程方法调用,并支持服务间通信断线自动重连、重启自动重连,节点心跳监控。
现已在下述操作系统中验证完成:
- Windows10/11;
- Ubuntu;
- Centos;
- Kylin
- Vxworks(仅支持作为从机进行通讯)
下表为使用XDE Kernel SOA Framework 进行远程方法调用的性能:
|
Windows 单次请求回复 mean/3σ(us ) |
Linux 单次请求回复 mean/3σ(us ) |
|
|---|---|---|
| C++ 同机 | 20/27 | 47/15 |
| C# 同机 | 56/24 | 74/24 |
| C++ 异机 | 260/165 | 252/54 |
| C# 异机 | 353/114 | 321/57 |
3 Service Bus Framwork
XDE Kernel Service Bus Framwork 是基于 RabbitMQ 进行扩展,支持不同开发语言互相发布订阅事件、支持不同操作系统互相发布订阅事件、支持订阅时按事件类型、按发送者进行过滤。
提供了以下两种消息订阅模型,分别为Pub Sub消息订阅模型和Seq Queue消息订阅模型,他们的原理如下所示:
下图为使用XDE Kernel Service Bus Framework 消息处理性能:
4 Log & Exception
XDE Kernel Log & Exception 系统主要包括以下功能:
- 支持服务本地日志及中央日志
- 支持6个级别日志,并可配置本地日志及中央日志记录级别(Trace、Debug、Info、Warn、Error、Fatal)
- 基于XDE Kernel SOA Framework 开发的服务,支持不同语言之间的远程调用,返回错误时,同时返回异常堆栈及错误链信息
- 系统自动分析异常错误链并通过界面显示
- 单服务日志吞吐量:>50000条每秒(20MiB)
XDE Kernel Log & Exception 还提供了可视化的GUI界面,可快速的查找、分析设备的异常。
2025/04/24 09:20
ꄘ浏览量:0
