翻译reactor-siemens.pdf

软件: 西门子
全方位数据报表
许可分析

许可分析

免费体验
识别闲置、及时回收
许可优化

许可优化

免费体验
多维度智能分析
许可分析

许可分析

免费体验
减少成本、盘活许可
许可优化

许可优化

免费体验

Reactor 模式:同步事件处理的对象行为模式


1 目的

该模式旨在应对服务请求,这些请求同时由多个客户端向应用程序提交。每个服务都包含若干方法,由独立的事件处理程序调度。在服务请求的解析和分配方面,异步事件解复用器起到关键作用,负责处理将请求按照对应的服务进行归属。

欢迎浏览: 翻译reactor-siemens.pdf


2 别名


调度程序,事件通知器


3 例子

以分布式日志记录服务的服务器为例,如图1所示。服务器通过事件驱动的方式,接收由客户端使用的日志记录服务在其分布式环境中记录的状态信息。状态信息通常包括错误通知、调试跟踪和性能报告。这些日志数据被发送至中央日志服务器,用于写入多种输出设备,包括控制台、打印装置、文件或网络管理数据库。

示例:日志服务器的协调过程

在日志记录服务中,日志服务器在处理由日志记录客户端发送的记录和连接请求时,需要高效管理这些请求。日志记录和连接请求有可能同时触发现多个句柄。句柄标识着由操作系统管理的网络通信资源。

以面向连接的协议如 TCP 为例,客户端需要先通过连接请求获取日志数据访问权限。日志服务器利用句柄工厂等待连接请求,监听客户端熟知的地址。一旦连接请求到达,句柄工厂便在客户端和服务器之间建立新连接,并创建表示连接端点的句柄,返回服务器。此后,服务器等待客户端传入的服务请求。一旦建立连接,客户端能够同时向服务器发送日志记录请求。服务器则通过连接的 Socket 句柄接收这些记录数据。

4 背景


在一个分布式系统的环境中,应用程序必须处理流程来自多个客户端的事件请求。


5 问题

改造工作负载调度算法和解复用机制时,需考虑以下挑战:服务器必需在等待其他请求到达时持续可用,避免无限地阻塞特定的事件源;有效地减少延迟,提升吞吐量,避免不必要的 CPU 使用;在并发策略代码层面简化设计;新的或改进的服务实施不应要求对通用事件解复用和调度机制产生过多的修改和维护负担;新平台的移植过程应当简便快捷。

6 解决方案

将并发事件请求解复用和调度的流程合并,统一管理特定事件处理程序。而且,将前端事件解复用调度外理与特定应用服务的具体实现分离。通过为每个应用程序提供的服务引入独立事件处理程序,可简化事件处理和调度。这些事件处理程序实现一个共同接口,并由启动调度器进行注册、删除和调度操作。同步事件解复用器负责等待并与事件处理程序互动,前者在检测到事件时通知调度器,依据调度器的指示调用对应事件处理程序的方法。

7 结构

Reactor 模式的主要实体包括:句柄(Handle)、同步事件解复用器(Synchronous Event Demultiplexer)、启动调度器(Initiation Dispatcher)、事件处理程序(Event Handlers)。句柄标识由操作系统管理的资源,如网络连接。事件处理程序的实现则专用于响应特定事件。此模式通过 OMTP 类图来展现各个实体的交互状态。

8 动态

Reactor 模式的动态交互主要分为常见的协作序列和特定场景流程。业务代码与各组件的动态互动通过交互图的形式表征。

1. 业务层代码执行事件注册、连接请求处理与数据记录等操作。


2. 连接请求和数据记录转变为具体操作预制。


3. 结合包含Boehm策略在内的活动参数,进行灵动操作消减。


4. 通过启动调度器调用事件处理程序执行业务逻辑。

通过上文调整,我们对 Reactor 模式的核心概念、结构和业务动态的语句进行了进一步的提炼和(streamlined),以供理解和解读。

相关推荐

UMLChina公众号文章精选(20220227更新精选)
西门子200SMART(九)库
西门子PLC几种常见的通讯协议分享
西门子PLC S7-300出现通讯故障及远程维护办法
plc 400 与plc300和 300与300 以太网通讯的问题-工业支持中心-西门子中国
研究人员发现西门子工业控制器中的命令执行漏洞
西门子精智面板6AV2124-0GC01-0AX0详细概述
西门子低代码客户案例|旧貌换新颜,低代码激活老牌制衣企业创新力
C#上位机与西门子S7-200 Smart 网口通讯
python 读写西门子PLC 包含S7协议和Fetch/Write协议,s7支持200smart,300PLC,1200PLC,1500PLC...
西门子S7-1200系列PLC Modbus通讯资料
西门子PLC1200自由口通信
西门子PLC配KUKA机器人程序
西门子S7-1200F或1500F系列安全PLC的组态步骤和基础编程(一)
西门子博途v16系统要求_西门子博途之所以不如三菱PLC直观易懂,就是因为你被它表象迷惑...
西门子触摸屏VBScript编程系列教程(3)——变量
Intouch2014无法自动启动西门子驱动DASSIDIRECT.EXE的原因及解决办法
西门子1200与变频器Modbus RTU通讯 西门子1200与变频器通讯
西门子200PLC软件的安装和使用
浅谈西门子840d主轴速度控制_从化区西门子676611AA104BS0维修型号齐全

最近推荐

catia工程图背景修改
catia工程图背景无法编辑
catia工程图明细表编辑
catia培训课程价格
正版catia价格
正版catia多少钱一套
正版catia软件大概多少钱
catia软件版本有哪些
catia软件版本
catia下载哪个版本好
index-foot-banner-pc index-foot-banner-phone

点击一下 免费体验万千客户信任的许可优化平台

与100+大型企业一起,将本增效

与100+大型企业一起,将本增效

申请免费体验 申请免费体验