标签:分析 上下文 str 设计 cti windows scheduler time end
经过讨论,我们设计出了主要的接口。我们的系统是基于事件流的,所以每个事件需要经过单元进行处理,然后交给下一个单元,直到最后。在这里,我们为所有的单元定义了一个统一的接口Unit。处理单元又可以划分为处理单元(ProcessUnit)和连接单元(JunctionUnit)。处理单元负责对事件进行处理。连接单元只负责将事件传送给其他的单元。此外,在事件的执行过程中,可能需要用到聚合或者时间窗口,这就要求处理引擎能够记录并保存事件的状态,因此我们抽象出了一个State接口,用来保存事件的状态。为了将事件实际的执行者与单元解耦,我们定义了接口Executor,由它来负责事件的具体处理。各个单元只需要根据需要调用Executor即可。
图2 主要的接口
根据业务的需要,对以上设计的接口进行具体的实现,并定义具体的方法。
Unit:
getNext()和setNext(),连接各个单元。
JunctionUnit:
send()发送事件。
ProcessUnit:
process(StreamEvent),接收事件,交给Executor进行处理。
Executor:
executor(StreamEvent):事件的实际处理者
图3 具体实现
标签:分析 上下文 str 设计 cti windows scheduler time end
原文地址:https://www.cnblogs.com/lm273/p/11913985.html