Grundig TV-Communications
在哥本哈根郊外一座简朴的建筑中,Grundig TV-Communications 工程师 Niels Svennekjaer 和 Peter Hansen 负责丹麦医院病人和电视观众的信息需求,监控并修复在 PC 上运行的基于 Linux 的应用程序。在地下室,一台 Linux 服务器托管着一个交互式图文电视系统。电视观众拨打此系统,浏览 Raima 数据库中的分类广告、星座运势、职位列表和其他信息,通过电话键盘输入他们的选择,并在电视屏幕上接收文本回复。丹麦的 TV2 全国广播公司和几家地方电视台已经采用了这项技术;政府失业局最近将其定为职位列表的官方渠道。
在楼上堆满硬件的办公室里,Svennekjaer 通过调制解调器拨入电话,并微调当地医院的一台 Linux 服务器。此应用程序在丹麦高效(但有点简朴)的医院系统中提供电话和按次付费电影等便利设施,并已售给斯堪的纳维亚半岛的五家医院。Grundig TV-Communications 的愿景包括将此系统推广到波兰和波罗的海国家。
这家典型的黑客操作系统是否正在欧洲最大的电子制造商之一取得进展?在大型德国公司 Grundig AG 的丹麦分支机构 Grundig TV-Communications,Linux 已成为按需信息应用程序的标准平台。Grundig TV-Communications 喜欢这种可自由分发的操作系统的低成本、稳健性和工具的可用性。他们也对它的支持印象深刻——不是来自供应商总部待命的大批工程师,而是来自可以通过互联网联系到的众多其他 Linux 用户。
Grundig 已选择 Linux 用于其新的医院和广播系统,并很可能将其核心产品(为欧洲和亚洲约 20 万间客房提供服务的酒店图文电视系统)迁移到 Linux。它还标准化了 Raima 的嵌入式数据库,作为其应用程序中的数据管理组件。医院和广播应用程序都使用 Raima Database Manager++,这是一个为满足 C 和 C++ 程序员需求而量身定制的低级数据库。在他们发展的下一步中,这些产品将迁移到具有 Raima 的 Velocis Database Server 的客户端/服务器架构。Svennekjaer 认为,这种重新设计将更好地支持并发用户和应用程序开始体验的更复杂查询的更大负载。
图文电视在美国基本上不为人知,但在欧洲却被广泛使用,观众可以通过调到特殊频道来获取体育比分、新闻更新和其他文本。这项服务由广播频谱的一个频段支持,政府将该频段留作图文电视和其他特殊用途,例如远程设备维护。
Grundig TV-Communications 通过增加用户交互维度,远远超越了这些通常被动的图文电视服务。当观众呼叫服务器时,他们的屏幕上会出现一个个人“页面”。从该页面开始,他们开始浏览 Raima 数据库。用户可能首先请求所有房地产列表,然后“向下钻取”到日德兰半岛上的两卧室海滨度假屋。在 TV2,生成的数据流从奔腾服务器 PC 发送到位于该国不同地点的电视台发射塔中的 16 台插入器 PC 之一,在那里它们与广播信号混合。
此应用程序的收入来自内容提供商,他们为他们的数据可以在 Grundig 的 Linux 服务器上访问而付费。电视广告商经常提供图文电视代码以获取更多信息,并且当商业广告在吸引观众方面特别成功时,服务器的峰值负载就会发生。服务器和数据库每天响应约 200,000 页信息的请求。
对于医院应用程序,Grundig TV-Communications 提供磁带录音机大小的面板,这些面板位于病床旁边。当患者办理入住手续时,他们会收到“智能卡”插入这些面板,以激活他们的个人电视、电话和收音机帐户。收听广播是免费的,但患者按分钟支付电话和电视费用,并按电影付费观看视频。大多数人都乐于付费。丹麦的医疗质量很高,但政府运营的系统提供的便利设施很少——根据 Svennekjaer 的说法,护士推着装有公用电话的手推车在许多医院仍然很常见。
一个基于 Linux 的应用程序控制对这些服务的访问,并监控患者的使用情况和计费。Grundig 与两家合作伙伴公司分享此应用程序的收入,这两家公司负责营销、安装和计费。到目前为止,医院没有从此应用程序中赚到钱,但他们受益于拥有更快乐的患者。
Svennekjaer 说,这些应用程序的多用户、多任务需求使 Unix 成为操作系统的自然选择。Interactive Unix 是他们的第一个平台,由一家独立供应商生产,出售给柯达,然后出售给 Sun。Grundig 团队认为该平台的未来不确定,并决定进行切换。出于成本原因,他们想使用 PC,因此他们评估了 SCO 和 Solaris。Svennekjaer 说,大约在同一时间,他的一些朋友在丹麦奥尔堡大学中心“玩” Linux 0.99 版。他们建议他尝试这个(Svennekjaer 不熟悉的)Unix。“我们在一个星期内将我们的应用程序移植到 Linux,它成功了。而且它是免费的!” Svennekjaer 回忆道。
但是,对于针对数百个部署站点的商业应用程序,可自由分发的操作系统是否有意义?当 Grundig TV-Communications 团队权衡风险和回报时,Linux 看起来比其他替代方案更好。首先,商业版 Unix 的每个站点的价格约为 2,000 美元,而包含完整 Linux 系统以及充足工具、附加组件和增强功能的 CD-ROM 的价格为每个 20 美元。
那么,对于经常被提出的 Linux 是“不受支持”的操作系统的担忧又如何呢?事实证明,对于远离操作系统供应商的开发人员,或者对于任何提出特别复杂的系统需求的开发人员来说,支持的概念是相对的。Svennekjaer 指出,过去他依靠商业软件产品的本地分销商寻求帮助。当他的经销商无法帮助他解决堆栈溢出问题时,他花在据称“受支持”产品上的 2,000 美元开始看起来像是浪费的钱。
相比之下,使用 Linux,“我们可以获得源代码,因此我们可以在问题出现时直接解决问题,”他说。此外,当出现特别困难的问题时,Svennekjaer 会将他的问题发布到互联网上的众多 Linux 新闻组之一。“通常第二天我们就会收到来自世界各地 Linux 程序员的五条回复”,其中许多人非常熟悉源代码。
例如,Svennekjaer 使用带有四个热插拔/热交换磁盘的 RAID 作为图文电视应用程序的备份,以防其硬盘驱动器发生故障。分布式处理技术 (DPT) 是 RAID 的 SCSI 磁盘控制器的制造商,当时没有提供 Linux 驱动程序,但 Svennekjaer 的 Linux 发行版的内核源代码中包含了一个驱动程序。然而,在迁移到更新版本的磁盘控制器后,Svennekjaer 在旧驱动程序方面遇到了问题。因此,他从驱动程序源代码中列出的电子邮件地址追踪到驱动程序的作者 Michael Neuffer,获得了更新的版本,并在几天内恢复了正常运行。(从那时起,DPT 已开始分发由第三方开发的 Linux 驱动程序。)
根据 Svennekjaer 的说法,Linux 工具的问题不是缺乏可用性,而是工具太多,令人分心——CAD/CAM 程序、光线追踪软件、生物分子分析程序、图表编辑器、多人游戏、Web 服务器以及 comp.os.linux.announce 中宣布的其他有趣的免费或演示软件包。

虽然 Svennekjaer 免费下载了许多基于 Linux 的工具,但他的公司选择了商业数据库技术,首先是 Raima Database Manager++,然后是 Velocis Database Server,这是一种从 RDM++ 技术发展而来的 SQL 客户端/服务器 DBMS。Velocis 和 RDM++ 的独特之处在于它们支持使用关系数据库模型、网络数据库模型以及两种模型组合的数据库架构。这种灵活性可能很有用。关系“键控”数据访问通常更适合查找随机选择的记录,而网络模型在检索相关记录或向下钻取分层数据时更快,这在图文电视应用程序的用户中经常出现。
当前基于 RDM++ 的应用程序允许多个进程访问数据库。迁移到客户端/服务器旨在支持更重的使用量,因为医院和图文电视系统都在扩展以服务数千用户,并且这些用户生成更复杂的查询。

客户端/服务器架构将数据库处理集中在服务器上,从而减少网络流量。它还将提高并发性,即多个进程共享数据的能力。在数据库中,并发性受到锁定的 регулирование,锁定是指在单个进程访问数据库的特定部分时,禁止其他进程访问该部分。与大多数文件服务器架构数据库管理系统一样,Raima Database Manager++ 提供文件级或表级锁定——数据文件或数据库表是被锁定的典型单元。另一方面,Velocis 提供行级锁定,其中更小的单元(数据文件或表由许多行组成)对其他进程不可用。它还包括用于保护事务完整性的功能,例如“前滚恢复”,其中即使系统在事务期间发生故障,数据库的相关更改也仅作为一个单元完成。

未来,图文电视应用程序将提供更苛刻的服务,例如提供计算器,以便用户可以计算出汽车每月的分期付款,其中包含特定价格、利率和首付。Grundig TV-Communications 还希望让用户自定义他们的查询。过去,Grundig 团队“硬编码”了他们对数据库的调用,将它们编码为嵌入在应用程序中的 C 函数调用。但是,Velocis 的引入将为系统添加 SQL 功能。SQL 是一种高级数据库查询语言,可用于让最终用户能够定义自己的查询。

例如,用户可能希望查看特定价格范围和特定地理区域内所有带空调的汽车的列表。随着搜索可能存在的变量越来越多,可以定义更复杂的查询。提供 SQL 将使用户能够使用自己的条件进行搜索,从而消除 Grundig TV Communications 工程师预先定义所有查询的需求。这是朝着使信息真正按需提供迈出的又一步。

Grundig TV-Communications 工程师 Niels Svennekjaer 的联系方式为 nrs@gtv.dk。在 TV2 管理 Linux 图文电视系统的 Lars Teil 的联系方式为 late@tv2.dk。
