分布式事件总线首先要解决如下几个问题:
1.如何发送事件对象给远程订阅者服务器..
2.需要知道向哪些服务器发布事件,而不是所有服务器都发布,因为有些服务器没有订阅这种事件
3.服务器接受到一种事件时,要知道该种事件在本服务器内有哪些监听对象在监听,从而好调用
4.系统运行过程中,新增监听和去除监听一个事件时,如何通知发布者来同步本地的信息
5.监听者在处理事件时时间很长怎么办
6.某台订阅服务器不可用怎么办
7.如何监控事件总线的效率?
答:
1.每台服务器 都起一个事件接受服务,以接受发送者 发过来的事件。事件发送者在发送事件时,调用该远程服务来发送事件。
2.每台服务器都维护每个事件类型对应远程事件接受服务的关系记录。 发起事件时查询该对应关系就能找到有哪些远程机器在订阅该类型事件了。
3.应用在订阅一个事件时,会将该事件对应监听对象保存在自己机器的缓存中。当事件接受服务接受到了远程(或本地)的事件时,再查询对应关系
将事件对象作为参数传给其监听对象即可.
4.部署一个master服务器,由master维护事件与监听对象的关系的最新版本, 当新增/去除监听时,调用master的更新服务。master更新完后,向所有注册的Node节点发送
更新事件,所有Node都监听此类事件,收到事件后立马和服务器最新版本对比,使自己的缓存列表和master同步
5.事件接受到事件后,将事件统一放到阻塞队列中,对每个监听者,都对应一个线程来处理,这样即使一个监听者有问题,也不会影响到其他监听者接受事件
6.可以采取重试3次,一般都会由master节点将其节点所有服务解除掉
分享到:
相关推荐
综上所述,分布式控制系统中CAN总线通信性能的改进是一个多方面的问题,涉及系统设计、通信协议、数据处理等多个环节。通过优化ID标识符的分配结构和提高数据编码解码的执行效率,可以显著提升系统的通信质量和扩展...
随着汽车智能化的需求增加,域控制器的出现成为解决上述问题的途径。域控制器将分散的ECU功能整合到几个高性能的计算单元中,如动力总成域、底盘域、车身域、智能座舱域和自动驾驶域。这种集中化的架构降低了硬件...
CAN总线的数据帧由标识符(ID)、数据域和校验码等部分组成,标识符用于区分不同优先级的消息。 2. **CAN总线特点** - **高可靠性**:CAN总线采用差分信号传输,能有效抵抗电磁干扰。 - **实时性**:CAN协议允许...
ADAS域内部的拓扑结构可以是传统的分布式架构,其中各个ECU分别处理来自摄像头、雷达、超声波传感器等的数据,然后通过CAN-FD等低速总线将信息传递给中央融合ECU。中央融合ECU执行故障安全处理,并使用冗余的ASIL-D ...
在软件开发中,企业服务总线(Enterprise Service Bus,ESB)是一种架构模式,它提供了一种在分布式系统中集成和交互服务的方式。C#中的Remote技术是.NET框架提供的一个关键组件,用于实现跨进程通信,它在ESB中扮演...
网络操作系统和分布式操作系统是计算机操作系统的重要组成部分,需要解决计算机网络、通信与协议、网络服务、计算模型、分布协同、事件排序、互斥、死锁、进程同步与进程通信、分布式资源管理、分布式文件系统等问题,...
CAN总线(Controller Area Network)是一种有效支持分布式控制和实时控制的串行通信网络,广泛应用于汽车内部以及工业控制系统中。 该测试规范定义了ECU供应商应该如何测试CAN网络的通讯部件。在具体了解测试规范...
- **分布式现场总线标准**。 - **支持多种拓扑结构**:线路(Line)、区域(Area)、系统(System)等。 - **物理介质**:4芯屏蔽双绞线,其中2芯为总线使用,另外2芯备用。 - **最大容量**:网络最大可容纳15*15*64=...
- 城域网技术包括交换多兆位数据服务(SMDS)、分布式队列双总线(DQDB)和FDDI(光纤分布式数据接口)等,其中FDDI使用双环结构提供高可靠性。 - FDDI采用IEEE 802.5标准的令牌环网介质访问控制协议,具有较高的...
CAN总线是一个串行通信网络,允许不同设备之间进行数据交换,尤其适用于分布式控制系统。它采用多主控结构,意味着网络中的任何节点都可以发起通信,而不会出现单一控制中心。CAN协议定义了如何通过物理层(信号传输...
- CAN总线是一种**异步通信**网络,支持**分布式实时控制**。 - 支持**位仲裁的介质访问方式**,允许多个节点同时发送数据,并通过仲裁机制解决冲突。 - CAN总线上的数据传输采用**显性和隐性**两种逻辑值。 #### 9...
2. DCS控制系统(分布式控制系统):DCS系统在工业领域中同样普遍使用,它的设计与DOS系统类似,但通过多域结构设计来应对资源限制,允许系统规模的扩展。这种设计降低了系统的网络、服务器和数据库负荷,同时支持...
- 城域网(MAN):覆盖城市范围,通常由ISP提供服务。 - 广域网(WAN):覆盖范围广,可以是国家甚至是全球性的网络,例如互联网。 - **按交换技术分类**: - 分组交换:将数据分割成小的数据包在网络中传输,每...
其将复杂的网络管理任务划分为多个子管理域,并由各个子工作站负责各自管理域内的任务。每个子工作站可以互相交换信息,并构建各自的管理信息库。中心服务器在分布式网络管理中主要负责协调和控制各子工作站,从而...
**帧结构**:CAN数据帧包含起始域、仲裁域、控制域、数据域和CRC域,其中仲裁域用于解决多个节点同时发送数据时的冲突问题;控制域包含了数据长度码DLC,用于表示数据域的字节数;CRC域用于错误检测。 3. **仲裁...
CAN总线是由Bosch公司于1980年代开发的,主要用于解决汽车内部多个电子控制单元(ECU)之间的通信问题。它通过串行通信方式,实现了车载设备间的实时数据交换,提高了汽车系统的集成度和可靠性。 二、CAN网络结构 ...
通过阅读本书和使用配套程序,读者不仅可以深入理解CAN总线的底层原理,还能掌握实际应用中的编程技巧和问题解决方法。书中的实例和练习有助于巩固理论知识,提高解决实际问题的能力,为后续的CAN总线项目开发打下...
CAN总线是一种两线制多主对等总线型拓扑网络,支持分布式实时控制,适用于高安全级别的应用环境。 **2. CAN总线的技术特点** - **逻辑表示方式**:CAN总线使用显性和隐性两种逻辑值表示0和1,当显性和隐性信号同时...
仲裁器负责决定哪个主设备可以访问总线,跨总线桥允许不同总线域间的通信,而分接器则用于将总线信号分割以适应不同从设备的需求。 ### 2. 数据传输方式 AHB总线支持突发( Burst)和单次(Single)传输模式。突发...
CAN总线是一种串行局域网总线,能有效支持分布式实时控制的串行通信。 CAN总线技术具有许多优点,例如高可靠性、高速传输率、低成本等。CAN总线协议是一种标准化的协议,具有广泛的应用前景。CAN总线技术已经广泛...