基于时标的分布式事件处理系统框架

基于时标的分布式事件处理系统框架

本系统的最大特点是严格按照事件具备的唯一时标进行全程处理,以保证等式y(t) = H(x(t))
是完整正确的。
在这里插入图片描述

系统主要由节点、通道和事件等三个基本元素。
在这里插入图片描述

基本元素

节点

节点在系统中是事件的处理实体,核心是它内部有一个外挂事件处理程序的插件机制。每个节点都可对应多个输入、输出通道,用于向节点的事件处理程序输入事件,并将处理事件输出。端特性的节点是一个特殊情况,它或许无需定义输入通道,例如对于事件采集节点;或许无需定义输出通道,例如对于事件处理呈现(如报告、展现等)节点。

也可以根据要求,定义具有其它特殊功效的节点,如多通道汇聚节点或事件多通道分配节点等。

通道

事件在系统中的传递是由通道实现。它有两个功能层面,其一是事件管理层面,主要实现按时标顺序组织输入和输出的事件,实现严格按时序传递事件的机制;其二是事件传输层面,用于实现事件实体有效载荷的传输,例如采用消息队列、共享存储或其它网络传输系统等实现事件在不同计算系统间的传递。

事件

事件是系统运行的带有特定时标的载荷,各种可计算的物理实体都可通过事件进行抽象,例如对一个存放在一个共享内存系统中的数据集,或存放在文件系统中的共享文件,或数据库系统中的表等。

注册器

注册器的主要功能是实现节点、通道和事件等实体的命名管理,按名称注册和获取指定类型的对象实体是其基本功能。

注册器包含三个链表,分别与节点、通道和事件对应,允许按某种策略把单个对象实体插入链表中,或转移链表中的对象实体位置。

注册器提供一个外部API用于获取它提供的服务。

系统

系统是一个独立运行机制,是由一组通过通道和同步器相关联的节点组成,构成一个具有特定功能的事件处理机。

复合系统,是指由多个相互关联的系统组成的事件处理机制。

时序

时序是一个系统运行的时标基,是一个连续的正整数序列。

每个系统都拥有自己唯一的时序实体,并由它来驱动系统按时标进行系统中所有事件的步进处理。

时序严格遵守连续性,即(T+1)是(T)的前续时标。

失序,当系统等待某个通道的时标(T)事件时出现了(T+1)事件,则说明出现了事件失序现象,原因可能出在前序节点或在通道传输过程中。系统应对失序情况进行修正处理。

同步器

同步器是系统核心功能单元,是系统实现等时标处理的关键组件,用来保证来自多个通道的具有相同时标事件的完整输出。当其中一个通道没有指定时标事件时,有两种策略选择,其一是等待,直到所有通道都能提供相同时标的事件,其二是处理下一个满足所有通道都能提供相同时标的事件。

在这里插入图片描述

实例

数字正弦波发生器

系统结构为:
在这里插入图片描述

这个系统最终的输出结果为:
在这里插入图片描述

数字耦合振荡器

系统构建为:
在这里插入图片描述

系统输出:
在这里插入图片描述

源码

本文所述机制由python构建,源代码:https://github.com/shenwei0329/FlowControllerBasedTimeScale

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值