• 由塔科马大桥事件 谈软件架构


    由塔科马大桥事件 谈软件架构

        经常,我们会涉及系统架构、面向对象的架构(SOA)、软件架构等词,那么到底什么是“架构”?什么是“软件架构”?“系统架构”与“软件架构”有着怎样的区别和联系?“系统架构构建”和“系统设计”之间有什么区别和联系?
        本章带着这些问题,追本溯源,对于架构及软件架构的一些基本概念及发展历程做一番说明。同时对一些人们认识上的误区进行分析,以还原事物的真实面目。
     1.1  引子
        时间就像一条奔腾不息的大河,大浪淘沙,方显金石。翻开人类的建筑工程史,遍布世界各地,跨越几千年的时空,我们可以看到许多辉煌成功的工程。但是,人们 往往最容易遗忘那些被历史长河所淹没的惨痛失败。而实际上,人类建筑的伟大成就,就是建立在这一系列失败的教训之上。既然“失败是成功之母”,那我们就以 一个有代表性的失败工程,作为我们走向成功的基石和开始。这个惨痛的教训,就是塔科马大桥(Tacoma Narrows Bridge)。
    如果您现在从西雅图国际机场附近的塔科马前往华盛顿州的奥林匹亚区,在16号公路上有一条必经之桥,它如同一道美丽的钢架彩虹跨过了普及特海峡。这就是著名的塔科马大桥。
        竣工于2007年的塔科马大桥是目前世界上最长的悬索双桥,桥长1600米,悬索跨度850米。这真可谓是一项令人赞叹的伟大工程。但是,几乎每一个桥梁 建筑设计人员都知道其大名的原因,并不是由于该桥像金门大桥那样是桥梁史上最著名的大桥,而是由于其前身老塔科马大桥(其绰号为Galloping Gertie)的倒坍,是桥梁史上最著名的失败的缘故。
         老塔科马大桥是普及特海峡上的第一座大桥,1938年11月开始建造,于1940年7月竣工,总耗资640万美元,是当时世界第三长跨度的桥梁。因为先前 美国海军考虑到附近海军基地的需要,提供了部分建桥资金,并且旧金山金门大桥的设计者、著名的桥梁大师Joseph B. Strauss和Leon S. Moisseiff提供了设计咨询意见。因此,老塔科马大桥的竣工,使大桥成为了宾夕法尼亚州经济及军事的重要门户。它被当时的媒体和桥梁行业美喻为“人 类坚定不移的独创精神的结晶”。
         然而,大桥建成后不久,驾车跨越大桥的人们就发现该桥会随风不停地左右摇摆。虽然桥中心线保持了相对的稳定,可是整个桥面两侧却在上下起伏。这样有趣的现 象竟吸引车辆排起了长队,竞相等待开上这座像醉汉一样摇摆的索桥,去体会一下这奇妙的感觉。虽然桥梁设计师们也注意到了这样的不稳定现象,但是他们信誓旦 旦地保证“桥梁是安全的”。
    但是事实毕竟让某些相关人员开始有些担心,所以从1940年7月底开始,在华盛顿大学教授F.B. Farquharson的指导下,他们开始对桥梁的这种奇特振动开始进行研究。他们拍摄了大量的照片和影片,记录下了大桥的振动方式,并且在试验室里开始 进行一定规模的试验,试图找到相应的方法来有效地降低桥梁的振动。
        经过Farquharson教授所带领团队的观测和试验,最初的解决办法是在桥梁正中央的桥底部,安装一些钢缆,把这些钢缆从桥底固定到地面。可是在施工 过程中,这些钢缆在风力拉动桥梁的作用力下完全断裂,施工没能成功。随后,试验人员又给出了一系列其他相应的固定桥梁的办法。例如,在桥梁的侧梁上钻洞, 这样可以减小风力对侧梁的推拉力;或者在桥梁的侧梁上安装一些风力导流器,这样可以减小阵风正面直接对侧梁的推拉力。1940年11月初,桥梁的投资方最 终同意了这些加强措施,并且打算在接下来的几周内完成施工。
        遗憾的是,这样的决定来得太迟了,风平浪静的假象下暗流涌动,甚至连F.B. Farquharson教授带领的团队也始料不及。
        11月7日清晨,顺着海峡吹来越来越强劲的大风,大桥开始了人们熟悉的摇摆和振荡。桥上车辆和行人依旧穿梭往来,享受着一如既往的那份惬意的晃动。9点 45分,大风时速达到了68公里。桥面上下交替晃动,两侧落差急速增加,最大时达到一米多,整个桥面仿佛成了过山车回旋的轨道一样。当时 Farquharson教授带领的团队正在桥面中央拍摄大桥晃动的场景,以便为即将开始的大桥风力导流工程提供设计数据。他们拍摄到了一位记者 Leonard Coatsworth正在驾车载着自己的爱犬Tubby非常缓慢而惬意地穿过大桥,一对夫妇也驾驶一辆小型货车紧随在记者的车后。教授拍摄的影片所记录该 景象的时间是10点13分左右。
         10点14分,整个桥面的起伏急剧增加,两侧落差最大时达到两米多。数千吨重的钢铁大桥仿佛变成了一条抖动的缎带,长长的波浪式起伏飘荡在整体桥面上。情 况还在继续恶化,整个桥面开始无规则地扭曲在一起,给在场的人一种强烈的恐惧感。事后Leonard Coatsworth叙述说:“当我刚刚开过桥头进入大桥时,大桥就开始疯狂地上下左右晃动起来。我意识到必须马上停车,否则轿车就会完全失去控制。我用 力紧急停车,打开车门。可以说我是被扔出车厢的。我看到车子被强烈的晃动推得左右摇摆,并且我开始听到了水泥断裂的可怕声音……”Leonard Coatsworth的爱犬Tubby也紧随着主人跳下了车,车后的那对夫妇也急忙跳下自己失控的卡车。这一切都被在现场拍摄的Farquharson教 授看到并且记录在影片中。当教授和所有行人安全地回到桥头时,他们看到巍然屹立的大桥突然断裂!束缚整个桥梁的钢缆完全崩断!整个桥面轰然倒塌!庞大的桥 体拍落到下方普及特海峡的水面上。桥面上Leonard Coatsworth和那对夫妇的车子也仿佛电影中的慢镜头一样,随同桥体落入海峡。整个事件从发生到结束没有超过两分钟。目睹整个过程的所有人都惊得目 瞪口呆。可怜的小狗Tubby也一同掉落进普及特海峡,成为这次事故的唯一遇难者,所幸没有其他人员伤亡。
    1   940年11月7日早上11点15分(美国太平洋时间),塔科马大桥轰然倒塌,如图1-4所示。后人称之为“桥梁建筑史上的珍珠港”。对普及特海峡来说, 倒塌的大桥也成为了世界上最大的人造礁石之一。1940年11月28日,美国海军的水文办公室报告称,桥梁遗骸的地理坐标是 (47.16'00"N,122.33'00"W),深度180英尺(55 m)。
        当人们从大桥的倒塌事件中回过神后,工程设计人员开始分析大桥被风“吹”断的原因。
    首 先,大桥的施工质量是无可挑剔的:使用了高质量的板型钢材及性能稳定的水泥,整个施工过程被严格监督。整个桥梁是用板型碳钢大梁坚实地支撑着,大梁被深深 地固定在巨大混凝土桥墩上。但可惜的是,这样看似设计完美的悬锁桥,却忽略了一个重要的问题:由于风力带来的共振和扭力。可以理解,当时的桥梁工程还没有 总结出这样的设计实践。
        在塔科马大桥之前,世界上其他的悬索桥大多采用具有开放式孔格结构的大梁。这样的大梁对风力的扰流效果很好,所以不会使风振的能量聚集。但是对于塔科马大 桥这样板型钢质大梁的新型悬索桥来说,板型设计结构会把风力牵制在桥梁断面上。这样被牵制住的风力,会造成两种的扭转模式:共振模式和扭力模式。共振是一 种纵向的扭力,意味着振动力沿着桥梁的长度发生作用,塔科马大桥也不例外。所以出现了以大桥中央为分界点,桥面顺着桥长上下起伏的现象。这样,司机会看见 对面开来的汽车有时会消失在跌宕起伏的桥谷中。
         但是,共振模式并不是导致桥梁坍塌的原因。当时的风速达到了每小时68公里,一旦风力达到这样的强度,第二种扭转模式“扭力模式”就开始作用于大桥。当时在坍塌现场的人们可以看到,桥上的路面出现了两侧路面交替上升、下降的现象。
        应该这样说,对所有桥梁设计来讲,桥面与水面的长距离,造成了穿过桥梁的风力对桥梁本身的振动。因为当风吹向桥梁时,风力将分流绕过其桥梁断面而形成周期 性交替的风流。周期性交替的风流绕过障碍物时会使桥身产生共振。当风速达到一定程度时,风力对桥梁这样有明显仰角的物体会产生强烈的扭力。周期性的共振加 上扭力累积到一定幅度时,就会引起桥梁的折断。如果不能有效降低这种逐渐增大的振幅和扭力,桥梁的安全就难以得到保障。
        桥梁界最后给出的正式结论是震撼而有深远借鉴意义的:“塔科马大桥使用了崭新而没有经过验证的桥梁设计结构,使大桥建成后毁于风力造成的风振。”看来,正是由于桥梁设计(换成IT界的话来讲,就是桥梁的架构)的原因,导致了这样惨痛的工程失败。
        理解塔科马大桥事件的原因,可以说只有在严谨的数学分析下,结合空气动力学和系统结构学才能完全搞清楚。在以后的研究和工程实践中,建筑结构工程界和航空工程界借鉴塔科马大桥的失败经验,进一步完善了空气动力学。这对以后研究解决桥梁的风振问题提供了很好的借鉴。
        自此以后,桥梁界专业人士开始认识到:为了解决风振,首先要避免由于桥梁结构所累积的风力振动,而不是通过加强主梁或桥体的强度来抵抗风力。为了减少累积 的风振,可以运用具有开放的网格结构使大梁和桥面的气流顺利通过,不致产生涡流和扭力的积累,这样就大大减小了风振。
         故事是令人震撼的,背后的教训也是深刻的。虽然后续桥梁工程实施的质量无可挑剔,但正是桥梁设计使用了全新的架构,并且该架构没有经过实践的检验,从而导 致最终桥梁崩溃性灾难的发生。人类所有工程领域的进步都是建立在这样一系列失败的基础之上,并逐渐走向成熟和成功。

  • 相关阅读:
    Django 路由层
    HTTP协议
    Python并发编程之协程
    Django配置KindEditor
    Django Form
    pymysql模块
    javascript获取URL参数代码(网络摘抄)
    javascript 实现飘动的广告(网络收藏,转)
    游标的使用
    javascript 一个很好用的日历控件(网络收藏,转)
  • 原文地址:https://www.cnblogs.com/broadview/p/1444976.html
Copyright © 2020-2023  润新知