半同步/半异步模式的结构遵循分层模式,包括四层:同步服务层
同步服务层:完成高层处理服务。同步层中的服务在独立的操作情况下可以阻塞现成或进程。
异步服务层:进行低层处理服务。这些低层处理服务通常由一个或多个外部事件源发出。异步层中的服务在进行操作时不能阻塞,而不会过度降低其他服务的性能。
排队层:为同步和异步层服务之间提供通信机制。例如,异步服务产生包含数据和控制信息的消息,然后将这些消息缓冲保存在排队层中,以后同步服务可以获取它们,反之亦然。当消息从另外的层传递给某一个层时,排队层负责通知这一层中的服务。因此排队层使异步和同步层可以以“生产者/消费者”的方式交互,类似于管道和过滤器模式中定义的结构
外部事件源:产生被异步服务层接收和处理的事件。常见的操作系统的外部事件源包含网络接口、磁盘控制器和用户终端。
同步服务层:完成高层处理服务。同步层中的服务在独立的操作情况下可以阻塞现成或进程。
异步服务层:进行低层处理服务。这些低层处理服务通常由一个或多个外部事件源发出。异步层中的服务在进行操作时不能阻塞,而不会过度降低其他服务的性能。
排队层:为同步和异步层服务之间提供通信机制。例如,异步服务产生包含数据和控制信息的消息,然后将这些消息缓冲保存在排队层中,以后同步服务可以获取它们,反之亦然。当消息从另外的层传递给某一个层时,排队层负责通知这一层中的服务。因此排队层使异步和同步层可以以“生产者/消费者”的方式交互,类似于管道和过滤器模式中定义的结构
外部事件源:产生被异步服务层接收和处理的事件。常见的操作系统的外部事件源包含网络接口、磁盘控制器和用户终端。