船舶网络信息采集系统的应用分析及优化

2009-04-08 12:23王荣成
中国舰船研究 2009年2期
关键词:线程时延船舶

谭 亮 王荣成

中国舰船研究设计中心,湖北武汉430064

船舶网络信息采集系统的应用分析及优化

谭 亮 王荣成

中国舰船研究设计中心,湖北武汉430064

以“大洋一号”科学考察船网络信息集成系统建设项目为背景实例,介绍了基于该船网络的信息采集系统工作原理,利用数学模型分析网络信息采集的性能,针对分析结果重点开展有关系统实时性、可靠性优化方案的研究和探索。

船舶网络;信息采集系统;应用分析;优化

1 引言

“大洋一号”科考船是我国第一艘从事大洋资源考察与研究任务的科学考察船,为纪念600年前伟大航海家郑和七下西洋,该船首次完成了环球远航。“大洋一号”科学考察船计算机网络信息集成系统(见图1),在国内首次实现了以船舶网络平台为基础,将船舶导航通信、网络信息采集、船舶信息管理等集成为一个综合的船舶计算机网络信息集成系统,该系统成功经受这次全球航次的试验和检测。该信息采集系统将全船导航、指控、测量设备输出信息实时采集和处理,根据不同应用需求发送采集数据到船舶网络联接设备接口上。“大洋一号”船的科学考察设备数量和种类众多,信息采集系统需管理的设备主要有:GPS系统(含DGPS)、罗经、气象仪、重力仪、磁力仪、多波束系统、超短基线、浅层剖面、ADCP系统、水文CTD系统、水下机器人ROV系统。

“大洋一号”船的信息采集系统使用RS-232和RS-422的串行接口标准,并通过联接到信息采集计算机管理的多串口采集设备,对船上各测量设备输出的数据进行采集,利用采集系统接口软件实时分离和规格化,并将处理完成的数据传输到需要输入数据的其他设备的相应端口,最后完成测量设备信号采集及传输任务。

图1 信息采集系统示意图

2 信息采集系统应用分析

根据工程中的实际需求,信息采集系统十分迫切要求提高系统的运行效率、保障实时性和减少延时处理,特别是随着日益增多的高科技含量测量设备上船,一些精密测量设备需要船舶网络能够提供强实时性高效采集数据输入,其实时性的要求有的甚至超过军用领域的要求。这就给信息采集系统提出了相当高的性能要求,如何提高系统处理速度、优化时延处理将是提升信息采集系统整体质量和技术层次的关键[1]。

以“大洋一号”信息采集系统为例来说明,其信息采集过程的简图如图2所示。

图2 信息采集过程示意图

下面对简化的模型进行系统延时的定量分析。如图3所示,3个横坐标线A、B、C分别代表测量设备、多串口采集设备、主机,其中数据流和ACK为1个单位量的数据帧,横向为时间。数据帧的发送时间为tf,即测量设备发送一个数据帧的时间;由A传到B的传播时延为tp,到达B后多串口采集设备处理时间为ty,DATA数据帧再由B传到C的传送时间为tg,传播时延为tq;主机C的处理时间为tz,完成了单向的输出过程。主机C向外输出数据帧ACK的传送时间为th,由C至B的传播时延应等于tq,B的处理时间为tw,ACK数据帧由B再到A的传送时间为te,传播时延应该等于tp,完成输入数据的过程。单位数据帧总处理时间为:

图3 信息采集实时性能分析

可以看到,测量设备传送一帧数据时间tf只与该设备本身相关,系统的优化并不能影响tf的改变。多串口采集设备传送一帧数据时间tg、te也只与本身设备性能相关;此外其处理时间ty和tw的差值很小,可以考虑它们为近似相等,且它们的变化受该设备的传输性能影响。

上式中的传播时延tp和tq只与各设备的布线距离相关,tz和th都是与主机相关的处理时间[2]。因此,为研究问题的方便,上式可以近似写成:

tT=2(tp+tq)+tf(定值)+(2ty+tg+te)+(tz+th)

进一步考虑到系统可能出现差错 (数据帧丢失错误)的概率为p,系统完成一个数据帧采集全过程的平均时间tAV为:

不难看出,差错概率p越小,平均时间tAV也就越小,因而p值也是与系统优化相关的一个量。

综上所述,基于上面分析的结果,信息采集系统的延时与下列时间量值有关,因而它们也将是系统延时处理与优化的方向所在。

1)网络线路传播时延tp、tq;

2)采集设备处理和转发时延ty、tg、te;

3)主机处理和发送时延tz、th;

4)系统采集数据差错概率p。

3 信息采集系统实时性处理与优化

3.1 船舶网络布线优化设计

在同一介质传输速率基本固定的情况之下,数据帧沿网络链路传播时延值的大小与链路的长度直接成正比关系,因而在进行船舶网络设计之前,应首先考虑到其网络布线的优化设计。根据工程实践经验,重点要素包括:

1)全船网络中心或服务器机房应尽可能布置在船的中层中部区域。既能最大程度节约布线材料又将大大减少链路长度,从而总体减少网络链路时延。

2)采集设备及布线注意电磁兼容要求,防止电磁干扰。网络布线必须考虑与船上强电保持距离,尽量避免交叉布线;采集设备及计算机选型应具备一定抗电磁干扰能力。

3.2 高速处理设备选型设计

对于优化多串口采集设备处理和转发时延的解决方案是选型比较好的采集处理设备。在该设备选型设计上应考虑以下几点:

1)具备较好的高速处理性能。比如在“大洋一号”船信息采集系统中选用了MOXA公司的C320 Turbo设备,它具有双CPU处理功能,在很大程度上提高了处理速率,大大减少了设备处理时延[3]。

2)具备良好的可靠性与抗恶劣环境能力。远洋船舶经常可能受到海洋特殊恶劣条件的影响,船上运转的设备要求能够经受海洋盐雾腐蚀、风浪雷电冲击等方面考验的能力。

3.3 多线程程序优化

减少信息采集计算机(即主机)的处理时延,从根本上讲应在信息采集系统的工作软件方面进行改进与优化。经过较长时间的摸索和实践,我们已经实现在软件核心流程逐步实施改进的具体优化算法,概括来讲就是多线程程序优化[4]。

对于信息采集程序,可以用一个单独的线程进行信息采集。这样,能最大限度地保证采集的实时性,而另外的线程同时又能及时地响应用户的操作或进行数据处理,否则程序在采集数据时就不能响应用户的操作;在响应用户操作时就不能进行信息采集。尤其当采集的数据量很大,数据处理任务很重时,如果不采用多线程,采集时漫长等待是很难让人接受的。但是,多线程要比普通程序设计复杂得多。由于任一时刻都可能有多个线程同时执行,所以许多的变量、数据都可能会被其他线程所修改。这就是多线程程序中最关键的线程间的同步控制问题。

如果采用传统C语言平台进行多线程的设计,就必须自己控制线程间的同步,那么程序设计将十分复杂。较好的优化方法则是利用面向对象的设计方法[5],具体地说,面向对象的多线程程序设计可以包括以下内容:

1) 从 TThread 类 派 生 一 个 私 有 类SampleThread,就是用于信息采集的类。在每一项信息采集时,只需创建一个SampleThread的实例。

2)重载超类TThread的Execute方法。在这一方法中具体执行信息采集任务。

3)如果一边采集一边显示,就应编写几个用于显示采集进度的过程,供Execute方法调用[6,7]。

TThread类中最常用的方法或属性包括:

1)Create方法

constructor Create (CreateSuspended Boolean);

其中,CreateSuspended参数确定线程在创建时是否立即执行。如果其值为True,新线程在创建后被挂起;如果其值为False,线程在创建后将立即执行。

2)FreeOnTerminate属性

property FreeOnTerminate:Boolean;

该属性确定用户是否负责撤消该线程。其缺省值为False;如果该属性为True,将在该线程终止时自动撤消线程对象。

3)OnTerminate属性

property OnTerminate:TNotifyEvent;

该属性用于指定一个当线程终止时发生的事件。

多线程应用程序还有一个很重要的问题就是线程之间的资源同步访问问题,由于任一时间内都可能有多个线程执行,多个线程在共享资源时如发生访问冲突通常会产生不正确的结果。

优化方法是在使用共享资源的函数当中,将同步类与同步访问类的一个锁对象联系起来。即在访问控制资源的成员函数中应创建一个CMultiLock的对象,并调用该对象的Lock函数。当访问结束之后,再调用UnLock函数,释放其资源[8,9]。

4 信息采集系统可靠性优化

4.1 备份冗余增强系统可靠性

信息采集系统长期处于条件恶劣的远洋船舶工作环境下,采集系统可靠性就是整个船舶网络信息集成系统正常工作运行的关键所在。因此,可靠性优化就成为信息采集系统优化的重要任务。

为提高系统的可靠性,信息采集系统的优化可以采用主、备份冗余两套信息采集方式的方案。其中备份信息采集方案是根据船上舱室中上网设备的数量和接口形式,选择相应端口数和串口类型的串行设备联网服务器,以串行线将数据需要上网设备与之相连。采集数据的传输是经由二级交换机通过网络到达信息采集计算机中,利用编制的接口软件对各路采集数据进行实时分离和规格化,处理完成后的数据发送到其他设备联网服务器,再转发至需要输入数据的设备相应端口上。

在主、备两套采集方案中,信息采集计算机处理的数据将可以传送到工作子网络的数据库服务器中,重要的数据将实时地存储在数据库中。

如信息采集主系统发生故障,备份采集系统将立即启动,承担全船重要的信息采集与转发存储任务,从而提高整个系统的数据安全性和可靠性;同样如备份采集系统出现故障主采集系统则承担工作,两系统互为备份。

4.2 双机热备提高系统可靠性

信息采集计算机是采集系统中的关键处理计算机,它负责完成各种数据的处理、转发及数据存储过程,在整个系统中作用十分重要。以“大洋一号”船的实现方案为例,该信息采集计算机采用高性能的美国惠普工业级计算机,提高其信息采集计算机的可靠性,将是整个采集系统实现优化、增加可靠系数的重要手段。

信息采集系统在设计中充分考虑系统扩展性,使得系统优化方案可以在采集网络中增加一台信息采集计算机。新增计算机的基本硬件配置与原有信息采集计算机完全一致,装机系统软件相同,两机之间实行双机热备方案。双机热备的具体方案是:A、B机之间以星跳网线相联接,两机单独分开供应电源,在两机上安装双机软件并保证相同的软件环境。通过不断侦测两机星跳网线间相互传递的信号,当A机发生不可预知的故障时,B机上双机软件将侦测到故障信号,在极短时间范围内,立即启动B机伺服软件,接管A机宕机前的原有所有服务,则采集系统仍能继续进行信息采集工作。

这样双机热备的优化方案,大大提高整个信息采集系统的可靠性,能够比较完备地保障在恶劣条件下船载采集系统仍可持续正常工作,同时并不增加用户的负担,信息采集系统的用户并不能感觉到发生故障时系统热备切换的过程。

4.3 数据库分布存储优化系统可靠性

采集系统采集、转发和处理的数据对于网络中各测量设备的正常工作,乃至船舶的航行和运转都是极其重要的。保障这些重要数据的安全,实现大量数据的可靠存储尤为突出,因而进一步优化数据安全及存储方面的可靠性也将是提升整个信息采集系统可靠性的重要方法。

基于存储区域网络技术应用的SAN网络数据存储是当前流行的数据库存储技术,它是建立在硬件RAID存储系统与光纤通道高速以太网等技术的有机结合之上,其特点是共享网络存储资源(阵列系统和带库系统),数据存储安全,数据管理集中而高效[10]。

由于在船舶网络中的各测量设备输出的大量多路数据流需要高效存储到数据库中,信息采集系统将充分利用和发挥高速船舶网络 (千兆光纤网络)的优势,根据实际需求,在网络中可以配置多个数据库服务器,各自承担分布的数据库存储服务工作。数据库服务器则通过网络光纤通道交换设备联接共享的高速存储介质设备 (RAID磁盘阵列),并将数据存储到磁盘阵列的SCSI磁盘之上,网络中的多个数据库服务器就这样并行完成众多设备输出的数据存储进程。基于RAID的磁盘阵列的每一块SCSI磁盘发生故障时,系统无需停止服务工作而只要更换一块磁盘,系统立即将存储的数据写入该新磁盘中。

此外,采集系统在后台数据库的连接方式上,应尽可能使用基于当前流行的OLEDB方式优化方案而非ODBC联接(开放数据库互连)的DSN方式,将能够更好发挥其技术的并发处理能力和保证联接数据库的高效和安全。

5 结束语

本文在对船舶网络信息采集系统数学模型进行应用分析后,就其存在的影响系统处理性能的有关问题,提出了基于船舶网络的布线优化、高速处理设备选型、多线程程序的优化方法,以及在系统冗余、双机热备、数据库分布存储等方面实现可靠性的优化措施,特别是运用多线程等技术很好地解决系统软件逻辑和物理并发问题。经过实践表明,这些优化方法较好地提高了整个系统的运行效率和系统资源的利用率,解决了多接口数据采集的稳定性问题,初步达到了使系统优化的目的。

[1]石飞,史岚,乔建忠,等.网络数据采集技术研究[J].小型微型计算机系统,2008,29(10):1912-1915.

[2]谢希仁.计算机网络[M].第五版.北京:电子工业出版社,2008.

[3]苏岳龙,李贻斌,宋锐.基于VC++6.0的高速串口通信数据采集系统[J].微计算机信息,2005,21(5):147-148.

[4]李建宏,何玉珠.多线程技术在复杂数据采集系统中的应用[J].电子测量技术,2008,31(5):102-104.

[5]LIPPMAN S B,LAJOIE J,MOO B E.C++Primer[M].4th Edition,Addison Wesley/Pearson,2003.

[6]王建新,严骏,曾拥华,等.MSComm和多线程在数据采集系统中的应用 [J].计算机应用与软件,2006,23(4):134-136.

[7]陈功,张晞,高喻,等.基于VC++的数据采集系统的设计[J].机电产品开发与创新,2007,20(4):114-115,122.

[8]李勇.一个多串口多线程数据采集系统软件的设计与实现[J].微计算机信息,2006,22(6):152-154.

[9]冯峻域,戴青云,植俊文.基于多线程串口通信的生产数据实时采集系统[J].微计算机信息,2006,22(4):149-151,20.

[10]甘海慧,熊俊俏.大容量数据采集与数据库管理系统设计[J].测控技术,2005,24(8),16-17,26.

Usage Analysis and Optimization of Ship Network Information Acquisition System

Tan Liang Wang Rong-cheng
China Ship Development and Design Center,Wuhan 430064,China

Through a project of the network integrated information system equipped on the Da Yang Yi Hao scientific research vessel,this paper introduced the principles of the information acquisition system based on the ship network.A mathematical model was used to test the capability of the system.From the analysis results,major efforts were made on the real time performance of the system and the optimization of system reliability.

ship network;information acquisition system;usage analysis;optimization

U675.79

A

1673-3185(2009)02-69-04

2008-07-30

谭 亮(1979-),男,工程师,硕士研究生。研究方向:舰船装备信息化。E-mail:tanliang_701@163.com

王荣成(1963-),男,研究员,硕士生导师。研究方向:船船电子

猜你喜欢
线程时延船舶
实时操作系统mbedOS 互斥量调度机制剖析
《船舶》2022 年度征订启事
基于C#线程实验探究
5G承载网部署满足uRLLC业务时延要求的研究
船舶!请加速
基于国产化环境的线程池模型研究与实现
BOG压缩机在小型LNG船舶上的应用
基于GCC-nearest时延估计的室内声源定位
船舶压载水管理系统
简化的基于时延线性拟合的宽带测向算法