XDE Kernel SOA :支撑半导体设备软件开发 “三大件”

1 简介

XDE Kernel 通过复杂的系统多层架构,实现了半导体设备软件底层"三大件":

  • SOA
    • 提供不同操作系统、不同开发语言、主从机进程间的远程方法调用
  • Service Bus
    • 提供不同操作系统、不同开发语言、主从机之间消息订阅发布功能
  • Log & Exception
    • 提供不同等级的日志及异常统一记录功能;提供异常错误链、错误堆栈等分析功能
基于XDE Kernel 开发的设备层次架构

2 SOA Framework

XDE Kernel SOA Framework 是基于protobuf以及gRPC进行二次开发,实现了不同操作系统、不同开发语言、主从机进程间的远程方法调用,并支持服务间通信断线自动重连、重启自动重连,节点心跳监控。

现已在下述操作系统中验证完成:

  • Windows10/11;
  • Ubuntu;
  • Centos;
  • Kylin
  • Vxworks(仅支持作为从机进行通讯)

下表为使用XDE Kernel SOA Framework 进行远程方法调用的性能:

XDE SOA Framework 远程调用性能

(测试方法:请求回复100 Byte 数据 5000 次求mean及3σ)

 

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 进行扩展,支持不同开发语言互相发布订阅事件、支持不同操作系统互相发布订阅事件、支持订阅时按事件类型、按发送者进行过滤。

Service Bus Framework

提供了以下两种消息订阅模型,分别为Pub Sub消息订阅模型和Seq Queue消息订阅模型,他们的原理如下所示:

Pub Sub 消息订阅模型
Seq Queue 消息订阅模型

下图为使用XDE Kernel Service Bus Framework 消息处理性能:

XDE Kernel Service Bus 消息处理性能

4 Log & Exception

XDE Kernel Log & Exception 系统主要包括以下功能:

  • 支持服务本地日志及中央日志
  • 支持6个级别日志,并可配置本地日志及中央日志记录级别(Trace、Debug、Info、Warn、Error、Fatal)
  • 基于XDE Kernel SOA Framework 开发的服务,支持不同语言之间的远程调用,返回错误时,同时返回异常堆栈及错误链信息
  • 系统自动分析异常错误链并通过界面显示
  • 单服务日志吞吐量:>50000条每秒(20MiB)
Log & Exception

XDE Kernel Log & Exception 还提供了可视化的GUI界面,可快速的查找、分析设备的异常。

Log & Exception 分析工具
2025/04/24 09:20
浏览量:0
收藏