论文部分内容阅读
随着计算机网络地发展,人们对健壮的、高性能的计算机网络应用系统地需求正在不断增加并日趋紧迫,网络编程已经成为开发网络应用系统时必须考虑的问题。如果为每个应用系统独立地开发网络通信功能模块,可能会提高开发应用的复杂度,不能管理和协调端系统中不同网络应用业务的传输要求。本文设计并实现了一种专门提供信息传输功能的软件,考虑网络编程的复杂性,采用软件分层设计的思想,设计传输软件的框架,实现实时报文和非实时报文传输功能,网络应用程序调用上层提供的统一传输接口,而不必关心下层具体实现;针对端系统中实时报文的业务多样性,借鉴网络QoS的实现方法,设计了端系统的QoS模型,通过优先级调度策略区分业务优先级并分配传输资源,并通过分组调度策略提供兼顾公平性地QoS传输,提高了实时报文传输的性能;针对IPv6通信地潜在需求,采用抽象工厂和策略的设计模式设计了一个兼容IPv4和IPv6的传输软件模块,实现了统一的底层通信编程接口,网络应用系统可以方便地实现从IPv4向IPv6通信地升级;考虑到信息传输软件往往需要处理大量地I/O操作,利用完成端口的异步I/O模型和多线程技术,实现了一种高效地并发处理I/O操作的方法,应用程序可以显著地从并行地I/O操作中受益。在测试中,信息传输软件满足了多用户并发操作的性能指标,优先级不同的实时应用业务具有不同的延时性能和丢包率,达到了区分业务传输的QoS要求,本软件应用于某大型军事信息支撑平台,由于采用设计模式的思想,提高了软件的可扩展性和可重用性。