张卫钢 向 运 袁梦觉
(长安大学信息工程学院,陕西西安 710064)
IO系统对应用程序的性能有至关重要的影响[1]。为提高程序IO处理效率,Java平台开发了NIO技术,它采用事件驱动的非阻塞的方式管理IO,性能很高,但是直接使用难度很大。Mina应用程序框架封装了Java NIO技术,降低了软件开发难度。其有限状态机用直观的表格或图形代替复杂的逻辑,非常适合以事件驱动的程序设计。如果使用得当,可以开发出简单高效的服务器程序。
MINA全 称 为Multi-purpose Infrastructure for Network Applications,即网络应用多功能框架。它使用Java NIO技术,提供了一个基于传输层事件驱动的异步API,能够帮助用户开发出高效的高可靠性的网络应用程序。
NIO是Java平台为解决传统IO效率低下的问题而开发的一种新型IO技术,它采用操作系统管理内存和文件的方式管理IO,并将一些耗时的操作转嫁给操作系统,使IO效率有了很大提高。另外,NIO采用事件驱动、非阻塞的方式[2],能在单线程中管理大量并发的网络连接,提高了系统资源利用率。
Mina框架对NIO进行了封装,将真正的网络通信与应用程序隔离开来,人们只需要关心收发的数据和业务逻辑即可[3]。
有限状态机是一种表示有限个状态以及这些状态之间的转移和动作等行为的数学模型[4]。状态机中的状态反映了系统从开始到当前时刻的所有输入变化的累加结果;转换函数表示状态间的映射关系; 动作是在给定时刻要进行的活动的描述。有限状态机可以比较精确的刻画软件系统的行为,因此被广泛用于很多领域模型系统的建立。……