APP下载

数据通信技术在航海模拟器中的应用

2018-04-24何德涛

通信电源技术 2018年2期
关键词:数据通信线程模拟器

何德涛

(武汉交通职业学院,湖北 武汉 430065)

0 引 言

在航海模拟器应用不断发展的背景下,航海模拟器改进与完善成为当下航海领域的重点研究课题。航海模拟器系统的性能大多取决于其数据通信能力。因此,如何提高航海模拟器数据通信能力,成为完善航海模拟器的关键所在。鉴于此,研究数据通信技术在航海模拟器中的应用,具有重要的研究价值。

1 航海模拟器数据通信存在的问题

航海模拟器属于一种大型分布交互式仿真系统。它的核心由两部分组成,即一组计算机和一套运作于网络中的应用程序。整个系统中,计算机终端与应用程序的协同性对系统数据通信能力具有决定性影响。在航海模拟器功能越来越丰富的背景下,系统数据通信部分需要承担更大的任务,这无疑会引发一系列超负荷问题[1]。比如,大量的数据信息可能会导致网络拥塞,进而导致由于数据传输延迟甚至终端而引发的视镜机死机。显然,这会对航海模拟器的数据通信效率和画面的流畅度产生十分不利的影响。目前,航海模拟器通信系统的主要问题,包括海图机承担较重负载、通信过程有待简化、数据传输冗余性过强等,都需要相关技术人员围绕此展开研究与分析,并提出相应的解决对策。

2 数据通信技术在通信系统中的应用

2.1 ACE技术

所谓ACE技术,就是指自适配网络通信环境(Adaptive Communication Environment),是一种面向对象的网络通信编程中间件。相较于一些原始的操作系统,ACE技术具有可移植性、简易性,在应用过程中不易出现错误现象。同时,该项技术还可以对应用程序的创建、组成、配置以及移植进行简化处理。此外,基于ACE技术的应用模式有很多种类型,在通信系统中无疑具有更强的适用性。因此,对于航海模拟器通信服务器的设计而言,ACE技术显然具有较高的应用价值,各方面优势突出。受限于篇幅,本文不对该项技术进行详尽阐述,相关知识可参考文献[2]。

2.2 Client/server通信模式

Client/server是基于客户端或服务器结构的一种通信模式。在该模式下,客户端与服务器端会接收适当的任务,使通信系统得以协同工作。同时,客户端与服务器端的硬件环境优势也得到了充分发挥。客户端的任务是以用户为对象,从客户端接收用户的请求,然后由服务器端对相应的请求进行处理与回应。Client/server通信模式对客户端、服务器端的协同性提出了很高要求。该模式的特点在于实现了资源共享,且在管理方面更具科学性和专业性,处理信息时也更具高效性。显然,在软件、硬件资源的保护方面,Client/server通信模式具有更大的优势,且这种结构在灵活性、拓展性以及开放性方面都比较突出,在航海模拟器中具有较高的应用价值。

3 航海模拟器数据服务平台设计分析

3.1 通信模式选择

针对航海模拟器数据通信存在的问题,笔者认为可以将通信服务器应用于航海模拟器,并运用ACE技术,围绕Client/server,打造数据服务平台。其中,Client/server通信模式有多种,本文围绕其中一种展开研究与分析,并将其作为航海模拟器数据服务平台的通信模式。它的模型图如图1所示。

图1 在不同计算机上运行客户机程序与服务器程序模型

3.2 通信并发策略选择

本文所述的航海模拟器具有多本船配置,在数据服务平台的构建过程中,由于存在较多的客户端,因此服务器需要承担比较繁重的任务。因此,必须提高通信系统运行的可靠性和有效性,而这就要求将提高通信并发能力作为数据服务平台设计的重点。此外,航海模拟器规模与功能的扩展,也对其数据通信量提出了更高要求。为了实现航海模拟器的拓展,必须对其数据服务平台的通信并发能力的提升与优化予以高度重视。

正如上文所述,数据通信系统的性能很大程度上取决于通信并发策略。因此,在航海模拟器数据服务平台设计中,必须关注数据通信系统的应用环境优化问题,并对通信并发策略进行合理选择。现阶段,关于通信并发策略的选择有很多模型,本文主要对单线程、线程池两种模型进行介绍与分析[3]。

3.2.1 单线程模型

对于单线程模型而言,服务器需要根据请求顺序,在同一个线程统一完成对全部客户端请求的处理。换言之,任何请求在得到响应前必须要完成前一个请求的处理。

相较于其他模型,单线程模型的优势在于系统运作成本大幅度降低。不管是同步、创建与销毁线程,还是切换上下文,难度相较于以往都有所降低。当然,需要注意的是,当代航海模拟器开始运用多核技术。在此背景下,如果简单运用单线程模型,那么计算机中央处理器的性能可能无法得到充分发挥。以I/O密集型的应用为例,该模式在面对多个请求时,响应速度可能相对较慢,会影响到系统性能。此外,同一时刻,系统应对的请求如果过于繁杂,那么采用单线程模型就会存在无法承担的问题,进而导致服务请求被无限搁置。

3.2.2 线程池模型

如果运用线程池模型,那么相关开销问题就可以得到解决。在对系统进行初始化处理的过程中,会有多个线程在线程池提前派生出来。在服务器请求到达的过程中,管理器会从线程池中指派线程处理相关请求,并将此线程从线程池中移除掉。完成请求处理后,这一线程又会重新返回到线程池中。一般而言,线程池大小不会发生改变,不仅节能,而且节约成本。

对于航海模拟器数据通信系统而言,整个系统如上文所述属于I/O密集型,这对其响应请求的能力提出了较高要求。数据通信系统需要耗费较多时间来处理相关任务,需要承受较大负载。因此,在对比选择通信并发策略时,线程池模型应予以优先考虑。它在航海模拟器数据服务平台设计中具有更强的适用性。

在线程池模型中,连接建立接收器后,对接受处理器进行监理,并在任务处理中加以运用。关于线程池模型的种类,目前常见的有领导者/追随者模型和半同步/半异步模型。需要注意的是,根据线程池技术的不同,在面对请求时,其处理方式也有所差异。

例如,领导者/追随者线程池模型要求在同一时间内不能有多个领导者,追随者线程则全部处于睡眠模式。外部事件会触发领导者线程,此时领导者线程会挑选追随者线程,并将其作为下一线程的领导者,然后对相应的外部事件进行处理。当处理完事件后,这一线程则会转化为追随者,并重复上述流程,继续待命。当线程领导者被新的线程领导者取代后,新的线程领导者则需承担上任线程领导者的工作。

再如,半同步/半异步线程池模型,主要分为同步层、队列层以及异步层。通常,异步具有较高效率,但在编程中由于复杂的操作而不具有适用性。反之,同步对于编程来讲相对简易。因此,如何将同步与异步优势结合,成为研究的重点。半同步/半异步线程池模型正是基于此围绕队列层进行了设计,其中异步层的任务主要是请求接收,而队列层则是承担待处理请求的存放工作,同步层的任务则是从队列层中提取并处理相应的请求[4]。

相较之下,领导者/追随者线程池模型在处理请求方面的效率具有较突出的优势,不需要切换上下文,只需一个线程就可以完成任务。当然,这种模型的劣势在于灵活性不足,线程池模型队列的缺失将导致其在调度方面存在缺陷。而半同步/半异步线程池模型的优势则在于灵活性较高,能够在队列层中进行任务调度,但由于存在切换上下文操作,因此在效率方面有待提升。

4 结 论

在航海模拟器数据服务平台设计中,如果要提高任务调度的灵活度,那么可以有效考虑半同步/半异步线程池模型;如果要提高效率,那么领导者/追随者线程池模型则具有更强的适用性。受限于本文对数据通信技术在航海模拟器的应用研究尚未详尽,在未来航海模拟器应用领域的发展中,相关技术人员需要围绕此展开进一步探究,并提出更优的改进策略,以此发挥数据通信技术的优势与特点,为推进航海模拟器应用领域的发展提供助益。

参考文献:

[1] 朱春镕.航海模拟器中数据通信技术的应用研究[D].大连:大连海事大学,2015.

[2] 陈 兵,于芳涛.简易船载航海数据记录仪S-VDR的设计与实现[J].自动化与仪表,2007,22(2):34-36,44.

[3] 张士君.现代网络通信技术的应用研究[J].科技展望,2016,26(14):6.

[4] 吕英龙,王 剑.北斗卫星通信技术在航标遥测遥控系统中的应用[J].港口科技,2016,(1):42-44.

猜你喜欢

数据通信线程模拟器
了不起的安检模拟器
基于C#线程实验探究
盲盒模拟器
划船模拟器
基于国产化环境的线程池模型研究与实现
线程池调度对服务器性能影响的研究*
数据通信网络维护与网络安全问题探讨
监测系统接口数据通信方式
关于数据通信电源现状和高压直流供电新系统的分析
一种高效可靠的串行数据通信协议及处理算法