日前,对状态机还停留在转换表的层次上,经过一番激烈的争论后,确信,状态机并不是某个对象的状态,而是某个事务的状态变迁。对象的状态有很多,不确定。而状态机是一个确定的流程,但是状态机存在一个上下文,就是会话,这个会话说的是应用层的会话,不是协议层会话。状态机的处理中包含了对会话数据的操作,甚至是要需要产生消息传递到事务层。这个层次结构是:应用层,事务层,会话层,协议层。一个事务处理的过程中,可能需要给应用层发送消息。事务通常就是所说的原子业务逻辑,应用层就是使用这些原子逻辑的方式。其实事务也可以借鉴数据库中的概念,就是原子性,可以使做到线程安全,这就是业务逻辑层的事务特性。上面讲到的这个层次仅仅表示通信行业相关的软件设计。它类似通信模型中的七层或4层模型。
说到数据库的事务特性,从目前sqlite,mysql的api方式使用,到habernate的数据库对象方式使用,封装程度不同,优化了数据库的访问,habernate可能类似linux的磁盘调度的一个层次,它主要包括页面缓存、页面老化、刷新、缺页请求、同步到磁盘等。对应到数据库的特点,就是缓存,缓存老化,刷新,缺数据库对象导入,数据库对象同步等。这其中可能实现了对数据库的请求的排队,这个还针对了读写分离的优化,排队也可能做到。
阅读(2460) | 评论(0) | 转发(0) |