Linux的旅行:无人值守管理应用的实施经验

作者:Maurizio Cachia

Traveling Linux: An Implementation Experience for Unattended Management Applications

SAD在意大利东北部阿尔卑斯山区的本地公共交通领域运营。我们花费了数年时间为我们地区的所有公共交通运营商(公共汽车和火车)构建了一个集成的支付系统。我们现在使用大约90台运行2.0.x Linux的PC管理这个支付系统。作为一个新的自动车辆定位项目的一部分,我们计划在每辆公共汽车上安装带有GPS(全球定位系统)和无线电的特殊工业PC系统,用于数据传输。在这个Linux系统上,我们实施交通和票价控制程序。

一个集成的支付系统

大约两年前,博尔扎诺自治省(Provincia Autonoma di Bolzano)(博尔扎诺自治省 - 见侧边栏)开始使用标准化的支付系统,该系统允许顾客使用一张票乘坐所有公共交通工具,无论是在公路还是铁路。这鼓励建立一个集成的信息系统,旨在标准化管理从乘客和旅行的统计数据中获得的所有信息。

该系统基于使用车载电子设备,采用磁性技术,由一家在该领域具有国际经验的比利时公司制造,并且完全建立起来花费了四年多的时间。

服务网络由25家不同的公司管理,这些公司具有非常不同的需求和组织模式。为了实现标准化的系统管理,我们开发了一个单一的软件模型,该模型可以定义自己的操作特性,适应不同的条件,并且可以集成主要公司的簿记和操作控制的管理程序。

硬件功能以及操作和开发系统的限制在实施的第一步就被认为是理所当然的。当需要将Ferrovie dello Stato(国家铁路公司)管理的线路合并到我们的系统中时,这些限制变得显而易见。

这种集成要求我们在37个火车站设置像车辆上那样的设备。这些系统无人值守运行;因此,必须提供远程诊断功能、远程更新和自动数据收集。

铁路上的Linux

大约在1993年中期,我们的顾问告诉我们,互联网上存在一个类似于Unix的操作系统,其源代码可用,并且其许可政策类似于自由软件基金会。

我们在当时发布的0.98版本时接触Linux,它出色的稳定性和源代码的可用性立即让我们感到兴奋,因为如果需要进行修改以开发我们自己的项目,源代码是可用的。因此,我们可以与我们当前的系统公司达成协议,以获得更新和测试过的Linux发行版,并为我们不太标准的设备开发设备驱动程序。我们修改了负责磁记录运行的设备,将它们转换回其自然的终端功能,通过这种功能,它们可以通过强大而可靠的传输文件连接到个人计算机。

在1993年的头几个月,我们在车站内部安装了设备。经过测试期,并在第一个1.0.x Linux发布版本可用后,整个系统投入运行。

今天,总共有90个系统正在运行

  • 40个完全无人值守的在火车站内,

  • 40个在全国最重要的车站的售票窗口,以及

  • 10个在公交车车库内,读取和收集通过红外传输从公交车传来的数据。

每个无人值守系统都由一个设置在防盗箱中的黑匣子组成,该黑匣子包含一台486 33MHz PC,配有16MB的RAM和150MB的硬盘,至少四个串行端口(UART 16550A),一个V32bis或V34调制解调器和一个电池备份。每个黑匣子都连接(通过RS 485)两到六个票证注销单元,类似于公共汽车上的那些。这些单元现在使用Linux 2.0.2x版本(ELF版本)。

平均系统运行时间现在超过100天;仍然发生一些系统崩溃,可能是由于特定的环境条件。为了避免这种情况,我们正在一些地方测试硬件看门狗。当然,票务系统还通过监视器、键盘和信用卡处理所需的终端连接得到增强。

每天晚上,中央系统通过Taylor UUCP连接到所有终端,进行数据收集并启动一些功能。每周我们使用PPP连接,使用ntpdate进行系统时钟调整。

公交车上的Linux

精确了解客户流动性特征不足以解决公交公司的所有管理问题。在这个行业中,员工遍布各地,只能在特定时间和精确的网络点才能联系到他们以获取服务指示。因此,提前规划员工和公交车时刻表很重要,但不能弥补由于网络问题、事故、组织困难或意外需求变化而导致的工作组织时间损失。

因此,我们对其他国家使用的检查方法和技术进行了调查。一般来说,这些系统已应用于中等规模都市地区的城市服务。检查服务在郊区边界结束,主要是因为无线电传输设备需要高昂的投资成本。架构通常基于以下一般特征

  1. 几乎所有的检查智能都集中到一个中心点,该中心点能够处理大量数据(通常是具有实时特殊操作系统的计算机);

  2. 提供具有大量传输通道和广泛覆盖范围的无线电网络,使用轮询传输方法,在非常短的时间间隔(通常少于一分钟)内询问每辆车以确定其位置;

  3. 在无线电覆盖范围有限的情况下,与红外主动捕获系统或被动标记集成,以到达车辆或允许它们纠正其位置;

  4. 车载智能由具有工业电子功能和基于中等容量CPU的专有技术的设备收集。

近年来,随着民用市场上基于GPS技术的定位系统的可用性,上述检查系统实现了进化式飞跃。该系统虽然在非常拥挤的地区受到限制,但简化了车辆定位电子系统,并显着提高了精度。

基于以上经验,为博尔扎诺自治省的城际和城市服务定义了系统项目特征,这些服务在以下条件下运行

  • 控制网络覆盖长度为2300公里,其中四分之三以上位于阿尔卑斯山区;

  • 国家无线电频率传播的监管和结构状况不允许有足够的信道来为所讨论的土地构建轮询系统;

  • 存在几家不同的公司,具有不同的组织结构,这意味着必须有具有非常简单功能的控制模型,但始终与标准系统管理一致;因此,整个系统功能可以链接到一个单一的控制中心,该中心可以定义所有相关的车辆并发出操作指令;

  • 磁性支付系统在其当前发展水平的存在要求将其集成到单个车载系统中,这将允许根据需要进行更多的开发和实施。

在这种情况下,似乎有必要在每辆车上设置一个操作系统节点,该节点可以完全自主地开发生产管理功能,同时保持系统的整体完整性并要求最少的资源支出。功能必须是模块化的——也就是说,根据拥有车辆并提供服务的公司的需求投入运行。每辆车都必须能够确定自己的位置、时间和程序一致性,而无需车辆和运营中心之间保持持续的连接。

每辆车及其操作员可以预见的每个工作程序更改都必须以最少的口头交流来描述,使用与公司中央信息系统指令相同的标准。满足这些要求的唯一解决方案是可以与公司信息系统集成的多任务操作环境(基于DG/UX 5.4.3,即Data General CO的Sys V rel.4的实现)。为400多辆车购买基于英特尔的商业系统将需要超过一亿里拉的许可投资。

Traveling Linux: An Implementation Experience for Unattended Management Applications

此外,贸易系统中对非标准功能(特别是终端使用、看门狗管理和高级电源管理)的需求可能使得有必要在系统级别进行干预,这可能会在软件分销商(意大利)和所有者(美国)之间产生各种问题。

在这个框架下,Linux是唯一适用于我们项目的操作系统。我们认为Linux的优点如下

  1. 系统稳定性。使用1.2.13版本(以及更稳定的2.0版本),机器平均运行时间比我们测试过的任何其他广泛流行的英特尔平台Unix系统都要长得多。(而且我们几乎测试了所有这些系统。)

  2. 源代码的可用性和质量。我们的许多特殊需求已经包含在开发版本中(例如,电源管理、看门狗、无线电网络上的网络等)。其他的将通过我们自己修改源代码或与Linux开发人员合作来满足。

  3. 我们的管理应用程序诞生于Unix环境。从1980年至今,我们不得不面对移植到不同的架构和不同的系统(Ultrix、BSD、SCO、Interactive、DG/UX)。移植到Linux是最简单和最直接的。

  4. Linux是免费的。这是帮助我们说服管理层使用Linux系统的最基本原因。

我们在1996年7月完成了自动车辆定位系统的设置阶段。在欧洲招标之后,Data General(Westboro,MA)被选为车载PC的供应商。数据传输系统的技术规范必须集成到已有的无线电网络中。

每辆车的设备由一台486/100MHz PC组成,配有16MB的RAM,一个540MB的硬盘,10个RS232/422串行端口,一个SCSI控制器和一个III型PCMCIIA。相同的PC机箱(140毫米 x 140毫米 x 158毫米)还包含一个GPS Trimble差分系统和一个智能管理单元,该单元允许编程系统点火、环境功能参数控制和电池备份功能。

这些系统在非常恶劣的环境条件下进行了测试,因为它们必须在-20至+50摄氏度的温度下运行,并且抗冲击性符合军事规范(MIL-SPEC)。

这些PC与用于支付系统管理的当前车载终端(注销器和发卡控制台)、通信设备(无线电或GSM,全球移动通信系统)和特殊的公共信息面板连接。

我们当前的操作系统是Linux 2.0.25。

Maurizio Cachia与他的妻子和一只名叫Lu的有趣的金色寻回犬住在多洛米蒂阿尔卑斯山的一个小村庄里。自1980年以来,他一直在Unix环境中为公共交通公司担任系统分析师。1984年,他成为博尔扎诺SAD集成信息系统的技术经理。可以通过电子邮件mau@sad.com与他联系。

加载Disqus评论