61阅读

屈原简介-HUD:HUD-简介,HUD-原理

发布时间:2018-02-07 所属栏目:hud

一 : HUD:HUD-简介,HUD-原理

HUD(Head Up Display),全称为平视显示器,平视显示器是目前普遍运用在航空器上的飞行辅助仪器。平视的意思是指飞行员不需要低头就能够看到他需要的重要资讯。HUD是利用光学反射的原理,将重要的飞行相关资讯投射在一片玻璃上面。最早出现在军用飞机上,降低飞行员需要低头查看仪表的频率,避免注意力中断以及丧失对状态意识(Situation Awareness)的掌握。因为HUD的方便性以及能够提高飞行安全,民航机也纷纷跟进安装。后经改进,也出现在一些高档的车辆上。

hud_HUD -简单介绍

HUD:HUD-简介,HUD-原理_hud
HUD部分汽车业者也以类似的装置作为行销的手段吸引顾客,不过使用上并不广泛。但是已经有一些汽车业者,研发出了1种能兼容TPMS(胎压胎温监测),并能与汽车OBD插口连接的多用型HUD,简称OBD+HUD+TPMS,目的是让那些车上没有原装HUD的车主也可以享受到HUD的科技进步。

(www.61k.com)虽然HUD目前广泛的使用在各类军用飞机上,但是并非任何位于座舱前方的装置都是HUD,有些只是单纯的光学瞄准器而已。

hud_HUD -原理

HUD:HUD-简介,HUD-原理_hud
HUDHUD是利用光学反射的原理,将重要的飞行相关资讯投射在一片玻璃上面。这片玻璃位於座舱前端,高度大致与飞行员的眼睛成水平,投射的文字和影像调整在焦距无限远的距离上面,飞行员透过HUD往前方看之际,能够轻易的将外界的景象与HUD显示的资料融合在一起。HUD设计的用意是让飞行员不需要低头查看仪表的显示与资料,始终保持抬头的姿态,降低低头与抬头之间忽略外界环境的快速变化以及眼睛焦距需要不断调整产生的延迟与不适。

HUD投射的资料主要与飞行安全有重要关系,譬如飞行高度,飞行速度,航向,垂直速率变化,飞机倾斜角度等等。使用于战斗环境时,还会加上目标资料,武器与发射相关资料,预估命中点等等。这些显示的资料能够根据不同状况而变换。

hud_HUD -历史

HUD:HUD-简介,HUD-原理_hud
hudHUD的前身是使用在战斗机上的光学瞄准器,这种瞄准器利用光学反射原理,将环状的瞄准圈光网投射在装置在座舱前端的一片玻璃或者是座舱罩上面,投射的影像对于肉眼的焦距是定在无限远的距离上面,当飞行员瞄准目标之际不会妨碍到眼睛的运作,维持清晰的显示。这种瞄准器最早出现是在第一次世界大战期间,到了第二次世界大战之际开始被广泛利用。

HUD诞生的最重要关键是电脑处理转换之後,将需要的资料传递给HUD的显示单元,再将影像投射到前方的玻璃上。第一架使用HUD的飞机是美国海军的A-5舰载机。

民用航空是在1975年由法国达梭飞机公司首先使用在Mercure飞机上面。1970年代晚期美国麦克唐纳·道格拉斯飞机公司在生产的MD-80系列飞机上开始采用HUD。

HUD的使用到了1970年代中期以后开始普遍化,除了美国本身以外,其他国家也陆续购买或者是研发相关的系统。然而这时候有1个新的衍生问题出现:由于HUD需要占用驾驶舱前方的空间,而这个空间又和座舱罩的设计有很大的关联,即使许多战斗机已经使用光学瞄准器,体积较大的HUD可能无法顺利安装在需要的位置上,导致日後座舱罩在设计上必须考虑预留HUD需要的空间。

HUD将传统指针仪表提供的资料改以文字或者是数字表现,成为下一波军用机仪表显示改良:玻璃驾驶舱的起点。

hud_HUD -基本构架

HUD:HUD-简介,HUD-原理_hud
hudHUD的基本架构包含2个部分:资料处理与影像显示。

资料处理单元是将飞机上各系统的资料整合处理之后,根据选择的模式转换成预先设定的符号,图形或者是以文字或者是数字的型态输出。有些产品将讯号处理与影像输出分成2个装置,不过大致上都是类似的工作方式。

影像显示装置就是安装在座舱前方,位於飞行员与座舱罩之间的空间上。影像显示装置接收来自资料处理装置的资讯,投射在玻璃上面。显示装置并且附有控制面板,能够调解或者是改变输出的影像。

hud_HUD -未来发展

新一代的HUD在影像显示方面的改良包括采用全像摄影(Holographic)显示方式,扩大显示影像的范围,尤其是增加水平上的视野角度,减少支架的厚度对於视野的限制与影响,增强不同光度与外在环境下的显示调整,强化影像的清晰度,与其他光学影像输出的配合,譬如说能够将红外线影像摄影机产生的飞机前方影像直接投射到HUD上,与其他的资料融合显示,配合夜视镜的使用以及采用彩色影像显示资料。

在资料处理单元上的改良包括提高处理的速率和效率,增加与其他新航空电子或者是感侧装置的资料接收能力,强化图形处理与产生功能等方面。

hud_HUD -衍生产品

HUD:HUD-简介,HUD-原理_hud
hudHUD是将影像投射在座舱前方的固定装置上,当飞行员转动头部之际,这些影像就会暂时离开他的视野范围。因此有人建议将影像直接透射在附加於飞行员的头盔前方,随时与飞行员的视野范围重合。

美国是最早研究头盔显示器的国家之一,代号为VTAS的头盔瞄准具曾在1960年代於F-4战斗机上进行短暂试验,但是并未进入量产,只有使用在攻击直升机的武器瞄准上。苏联是第1个正式在战斗机上采用头盔瞄准器的国家,譬如米格-29使用头盔瞄准器,搭配R73(北约编号AA-11)空对空飞弹使用。

不过头盔瞄准器只是光学瞄准器的衍生产品,无论是在显示的资料量以及功能上都必须与HUD密切配合,譬如苏联的头盔瞄准器只是作为R73飞弹的射击指挥为主,不提供其他飞行所需要的资料。更进1步的功能强化版被称为头盔显示器(Helmet Display),他将HUD与其他相关功能整合之後,直接投射在飞行员头盔前方。以美国刚刚服役的联合头盔显示系统(Joint Helmet Mounted Cueing System,JHMCS)可以取代HUD的显示功能,并且能够协助行员投射各种对空与对地武器,不局限于特定的飞弹系统,当飞行员的视野与机上现有的HUD重叠之际,JHMCS的影像会自动消失以免产生混淆。

hud_HUD -车辆应用

作用

HUD:HUD-简介,HUD-原理_hud
车辆应用驾驶员不必低头,即可看到车辆信息,如车速、油耗、导航等都会显示在前挡风玻璃的小块区域内。从而避免分散对前方道路的注意力。

驾驶员不必在观察观察远方的道路和近处的仪表之间调节眼睛,可避免眼睛疲劳。

误区

HUD显示的信息可能会不清晰,尤其是在在前方有强光照射的情况下。

HUD抬头显示不是不可以关闭的,有些车辆的HUD抬头信息显示还可以移动显示位置。

HUD抬头显示并非由挡风玻璃产生,而是前风挡玻璃上会用一块全息半镜映射信息,实际发射点是由仪表台上的发射点投影到玻璃上的。

产品

HUD:HUD-简介,HUD-原理_hud
Garmin HUDGarminHUD是1款车载的heads-up-display(平视显示器),车主将其放置在前面板上,而它能通过蓝牙无线连接到你的手机,并将一系列的导航信息投射到你的挡风玻璃。GarminHUD支持的输入信息源包括iOS、Android和WP 8设备。

安装HUD之后,用户在驾驶时只要扫一眼挡风玻璃上的投射信息来查看导航。HUD显示的信息会包括转向箭头、距下1个弯的距离、时速、预计达到时间和当前限速。采用转向箭头而非详细地图的好处是让信息更为直观来减少司机的注意分散。HUD的亮度会适应环境光线变化自动调节。

另外HUD也会提前提示前方的摄像区域——也就是电子狗功能。GarminHUD的价格为129.99美金。

hud_HUD -游戏术语

HUD:HUD-简介,HUD-原理_hud
hudHUD,抬头显视设备。这是1个从军事领域起源的技术,可以把一些重要的战术信息显示在正常观察方向的视野范围内,而同时又不会影响对于环境的注意,也不用总是转移视线去专门观察仪表板上的那些指针和数据。游戏借鉴了这个概念,把游戏相关的信息以类似HUD的方式显示在游戏画面上,让玩家可以随时了解那些最重要最直接相关的内容。当然玩家要获得游戏信息可以有别的方式,比如菜单。菜单有着专门的界面,可以容纳更大的信息量,但却不能和游戏画面同时出现。调出菜单意味着中断游戏流程,HUD则在提供必要的信息的同时完全避免了这个问题。
FFX的菜单和行动状态下和战斗状态下的HUD,菜单提供了大量的信息,然而对于处在自由行动状态下的玩家而言,这些信息都不是立刻需要的。HUD只提供了最重要最基本的内容:当前场景的地图。切换到战斗状态下之后,HUD所提供的信息转变为那些只和战斗相关的部分。
记得最早的游戏pong在设计之际就没有HUD的。对于这样1个简单的游戏而言,唯一对玩家有意义需要及时掌握的就是双方的比分,而最早版本的pong没有这个功能,玩家需要自己去记录比分。游戏设计者很快意识到了这个问题,HUD很快就被整合到了后来的游戏之中,并随着游戏的进化一起演变,完善。这篇文章中,我会用一些收集到的例子,来整理一下游戏HUD的类型和进化过程,聊聊HUD对于游戏性本身的意义。

hud_HUD -HUD设计

综述

HUD:HUD-简介,HUD-原理_hud
hud前面说了,虽然都是为了给玩家提供游戏相关的信息,菜单的目的是大而全,HUD的目的则是少而精。不同类型的游戏玩起来的重点不一样,HUD在提供的信息方面也有很大的差别。我们不妨按照游戏的类别,来看看各种游戏的HUD设计的模式和重点。

角色扮演类游戏

取决于游戏是否会在行动场景和战斗场景之间切换,角色扮演游戏的HUD设计会有所不同,关于行动的那一部分内容,比如地图和方向指示之类的信息可能会被单独分列出来。但总体上角色扮演游戏的HUD信息量基本是一致的:玩家的生命,魔法,行动力,状态(或者其它因游戏而异的内容)等等的数值,玩家可以“一键”接触到的物品魔法等等东西,如果物品和魔法的内容很复杂,那么一般都会把全面调节的功能交给菜单来完成。比如预设快捷键和菜单光标位置记忆功能就是这样的目的,把菜单中全面而细微的调节能力中,挑选出一些最重要的,放到HUD上来,共玩家选择使用。

格斗游戏

无论格斗游戏系统本身怎么进化,从2D变到3D,格斗游戏的HUD总是保持着自己一贯的特色。格斗游戏的HUD大多分成2个部分:第一,对战斗数据的统计,第二,对战斗中精彩场面的描述。前者就是那些显眼的血槽,还包括时间,局数计分。后者则是对于连击之类的精彩动作的积分等等信息。其中血槽这个东西是游戏HUD设计上1个很有讨论价值的东西,下面我们在HUD的进化过程和进化方向这2个内容上都会再提到它。

体育游戏

体育类游戏在设计HUD的问题上有着天然的2个参考坐标系:电视转播画面和球队的战术分析图。游戏的HUD结合了这两者,即体现出了电视转播画面的现场感,也做出了战术分析图那样的清晰感,让玩家尽可能的在有身临其境的感觉的同时也对比赛局面有着清晰的了解。实际上体育类游戏的HUD设计作的是如此的好,以至于最近以来,很多体育项目的电视转播画面开始学习这类游戏的HUD设计,往画面上添加一些即时的比赛信息和战术分析。比如我在看橄榄球比赛之际就明显有这样的感觉,电视直播画面上会有一些线条和指示,把每次攻守的策略和进展都明确的表示出来,对于水平有限的我而言,去体育场看之际,当然气氛那是不能比的,但对于比赛本身的了解却要差了1个档次。

驾驶模拟类游戏

这类游戏所要模仿的对象就是HUD这个概念的来源的地方,所以驾驶模拟类游戏HUD设计的原则也就变得非常简单而直接:尽可能的去重现模拟对象的原始HUD即可了。当然根据游戏模拟真实的程度不同,再现真实HUD设计的程度也有所区别。HUD的设计始终存在1个如何抽取最重要的信息提示玩家的问题,过于仿真的游戏HUD设计将大量的信息不加选择的堆在玩家面前。对于游戏本身“模拟”这个概念而言,是好事,但对于像通过这些游戏来体验现实生活中不可能接触到的东西这个目的而言,高度的仿真模拟往往会成为上手的障碍。游戏毕竟是游戏,游戏的HUD如何在仿真模拟和抽象表现上把握平衡,是这类游戏的1个突出问题。

动作射击类游戏

射击类游戏的HUD通常都包括了玩家的状态,玩家的武器状态,地图,以及目标指示这4个方面。第三人称的射击游戏或者团队策略类射击游戏在HUD设计上和传统的第一人称射击游戏区别也不是很大,重点同样在这些要素上。HUD的引入给所有的射击类游戏,无论游戏本身的背景设定是在什么样的时代,都带来了一定的科幻未来的要素。真实的战斗中,对于战场情况的把握从来都是很大的挑战,不断进步的单兵信息化装备正是力求解决这些问题。射击类游戏通过HUD的引入超前的解决了这个问题。就目前而言,感觉做的最好的射击类游戏HUD恰恰就是一些未来题材的射击游戏,等下在HUD进化中我们会看到例子。

策略类游戏

最为复杂的1类游戏HUD,事实上在这类游戏里面HUD和菜单往往难以截然区分。因为玩家几乎每时每刻都需要确实的掌握整个游戏空间里大量单位的行动。HUD是简化了的菜单,但在很多的策略类游戏上,简化只是1个美好的愿望,游戏本身的复杂程度和玩家的“上帝”视角导致了这类游戏必然随时都有大量的信息反馈和大量的命令等待输入。策略类游戏的HUD如此的复杂,以至于在控制器键位相对较少的游戏主机上,这类游戏的流行程度始终达不到PC上同类游戏的流行度。游戏本身机制导致的复杂HUD设计应该是这类游戏受众群体局限性产生的原因之一。
其它类型的游戏,比如平台游戏,益智游戏等等在HUD设计上感觉并没有什么特别的地方。它们的HUD只要能清晰的交代出游戏人物(如果有的话)的状态和游戏的进展程度(得分之类的信息)即可了。

hud_HUD -进化过程

综述

HUD:HUD-简介,HUD-原理_hud
hudHUD的设计随着游戏的进步,也一直在不断的演变,进化。上面在整理各种游戏类型的HUD之际,我们留下了2个例子,1个是格斗游戏的血槽,1个是动作射击游戏的HUD。现在我们就从这2个例子延伸开去,看看HUD设计思路的进化。

血槽

血槽是1个聪明的,然而也是不得已而为之的设计。格斗会对人造成累计性的伤害,随着伤害的加重,人的行动能力会下降,这会导致2个后果:战斗能力下降,以及到了一定程度后彻底丧失战斗能力宣告失败。前者是1个量变的过程,后者则是1个质变的程度。血槽只模拟了后者,而完全忽略了前者。当然我并不是要去否定血槽这种设计,游戏毕竟是游戏,格斗游戏因为血槽的引入在脱离了真实的同时也得到了自己的独特的游戏性。但有些格斗类游戏对于真实性有着格外的爱好,比如拳击游戏,摔跤游戏,尤其是当这些游戏和真实的人物,赛事联系起来之后,玩家更希望游戏从机制上变得更加现实一些,伤害能够在肢体细节上体现出来,血槽这种HUD设计显然无法达成这个目的了。而即使在其他纯粹的格斗游戏中,也有着伤害细化的潜力,或许,1种全新的格斗游戏就会从此诞生。
于是以FN3为代表的一些新格斗类游戏终于将血槽这个东西抛弃,把HUD融入游戏画面本身,通过游戏人物动作,表情,伤害等等细节的描绘,来取代原来1个抽象的血槽的作用。游戏的临场感和玩家的投入感立刻得到了很好的提升。同样,现在的一些动作射击游戏也在逐步的取消血槽的设计,取而代之的是只在受伤达到一定程度之后,才用特殊的HUD信息,比如血红的屏幕,来提醒玩家自己已经处在相当危险的境地了。血槽为代表的HUD在这些例子中,都在进化过程中被削弱了。

削减要素

HUD:HUD-简介,HUD-原理_hud
hud削弱HUD要素有2个主要的原因:第一,玩家对于游戏信息的需求是有限的。从菜单简化到HUD体现了这一点,然而即使是经过大大简化的HUD,即使它显示的信息都是很重要的,但依然可能是只有在一定情况下才是重要的。比如还是上面提到的血槽,很多时候在动作射击游戏里,玩家不会因为一点点地受伤就急着去躲避或者吃药,伤害在累加到一定程度之前,对于玩家而言就是个多余信息。既然这样,何不干脆取消线性变化着的血槽,转而只在受伤达到一定程度之后才告诉玩家呢?几乎是有人物的游戏就必然会有HP,MP这样的数据,总会有这样的信息显示在HUD上。然而,并不是在游戏的每1个地点游戏的每一分钟,玩家都处在战斗状态。很多时候玩家需要安静下来,解密。冒险游戏,平台动作游戏在这方面表现的就很明显,于是越来越多的游戏开始把HUD设计成只在一定情况下出现,降低本来就很少的HUD对于游戏画面篇幅的占用,比如在战神里面。
削弱HUD的第二个目的在于增加游戏的真实程度。有些游戏的HUD存在是必然的,有现实依据的,比如角色扮演游戏就是系统设计的必然,而赛车游戏的HUD是现实的反映。而有些的HUD存在则是完全的为了游戏服务,比如在二战题材的射击游戏里出现信息丰富的HUD,从技术上来说这是不可能的,不真实的(出现在GRAW里面就没有问题)。在玩家扮演1个拳击手参加拳击比赛之际靠HUD上的血槽来了解对方的身体状态也是不真实的。如果游戏设计上想在真实这个方面走得更远,就必须把HUD所表现的抽象的信息放回游戏画面本身里面去,让玩家和真实生活中的人物一样,通过对游戏事件和画面细节的观察来提取所需要的信息。

hud_HUD -进化方向

游戏HUD设计的进化依然在继续,朝着更加真实更少的干扰游戏画面的方向前进。随着技术的进步和设备的更新,HUD设计在至少下面这2个方面有着取得新的突破的可能。
第一,将HUD要素从视觉往听觉转移。音乐和音效往往就是以前游戏听觉内容的全部,这些信息虽然能很好的反应游戏气氛,但对于玩家获取有用的游戏提示而言却总是用处不大。一些欧美角色扮演游戏在这方面开始注意,通过NPC的对话内容来提示玩家的行动方向。这种HUD要素从视觉往听觉的转移同样是为了让游戏的信息提示方式更加的真实,更好地让玩家能够沉迷于1个生动的游戏世界当中。
第二,双屏。主机的多屏幕显示能力和NDS的双屏显示都提供了这样的可能性。多屏幕的HUD彻底区分了HUD信息和游戏画面内容,但又可以同时出现,基本处在同一视野范围内(所以和菜单还是不一样的)。这样的分屏显示的HUD在信息量上可以变得更加丰富。当然怎么利用这样的分屏显示的HUD是1个挑战,过多的无用信息会让这个创意变成纯粹的机能炫耀而毫无意义。

hud_HUD -带来意义

设计思路

HUD:HUD-简介,HUD-原理_hud
hudHUD变化在提高游戏竞技性娱乐性方面的意义
无论是HUD的弱化,还是HUD的强化,都可以用来达成1个共同的目的:让玩家有更多的时间来阅读游戏对手更多的行动细节,比如FN3强调的对于对手身体状况的观察,显然比只看血条要来的有意思的多。比如GRAW的CrossCam对于战场的观察,显然也比只看小地图上几个不同颜色的小点的移动来的形象。弱化的HUD把自身融入了游戏图像表现中去,强化的HUD把游戏的图像表现部分的包含了进来,这样的融合和包含也导致了HUD吸取了游戏图像表现内容的一部分功能:通过HUD预测游戏对手行动方向。
格斗游戏的爱好者都会理解这一点,对手每发起1个攻击动作,都会有一定的准备时间。从对手按下按键开始,游戏人物作出出拳或者出脚的动作,然后再到拳脚击中你,需要一段时间。这一段时间的存在就给你提供了预读和准备机会,可以考虑是躲闪,还是防守,还是反制。这一切可能性都是建立在你可以,而且有足够的时间去预读和判断的基础上的。

理论介绍

这种预读行为被游戏开发者称作“石头-剪子-布”游戏机制下的“攻击信号”。为了更好的解释HUD可以用来预测游戏对手行动方向这个功能的意义,我们先来大体了解一下这个“石头-剪子-布”游戏机制的内容。
这是1个针对竞技游戏设计而提出的概念,当然任何游戏都可以最低限度的看成玩家和AI之间的竞技,RPG也是一样,你控制游戏人物和游戏AI控制的怪物们竞技。根据这个理论,1个成功的游戏系统设计,必然会给每1个攻击方式1个相应克制方式,就好像大家平时都玩过的石头尖子布这种最简单的游戏,3种“攻击方式”相互牵制,没有任何1个是无敌的。
这个理论认为,在这样1个单纯的“石头-剪子-布”系统下,由于你不能判断对手的出招方式,每1个攻击方式也都没有绝对的胜算,于是,最简单的生存策略就是:随机的,快速的出招。体现在格斗游戏上,当1个游戏新手还没有学会判读对手出招方式之际,他往往会一通乱按,毫无章法的战斗。这样的对手并不一定就意味着很弱,因为即使你是高手也无法猜透他的下1步的行动。
然后这位新手会慢慢的学会开始阅读对手的动作甚至是心理,在对手出招的那一刻:也就是攻击的信号已经发出而攻击的效果尚未达成之际,判断出对手下面的攻击方式,从而得出相应的防御方式。在理想的状况下,任何的攻击都是有信号的(虽然这个信号的长短可能会不同),也就意味着如果信号和攻击有着完美的一对一关系,那么主动攻击一方就会永远的处于下风,因为他所有的攻击都会被拆解,而这个时候他将是非常危险的。
于是我们看到新手从拆机台进步到和对手对峙,双方谁也不轻易出招,都在等着对方先犯错误。如果我们把注意力转移到即时战略游戏,可以看到1个更明显的这样的例子:中等水平的玩家对战之际很有可能会2个人都窝在家里造了很多东西,但就是不大举进攻。因为进攻意味着自己的发展方向的暴露,而在平衡性好的即时战略游戏里,任何的发展策略都可以找到对应的克制策略,于是先暴露自己的发展方向就等于告诉了对手克制自己的方法。
当然要是游戏设计停止在这一层次,那么游戏就没有意思了,“石头-剪子-布”系统的最后1个要点,就是要把攻击信号和攻击本身分离开来,也就是通常所说的要“做假动作”。这样一来,对手就必须通过一段时间的游戏,来慢慢把握对手的攻击模式,攻击信号可以意味着某几种可能性,但不能被确定的阅读成某1个攻击方式,这样在选择对应方式上,也就既有了客观标准可以依靠,避免了随机快速的攻击行为;也必须加入主观的判断成分,避免了“完美均衡”导致的先出手必然劣势的尴尬。
(以上说法请参见:VictorChelaru:RockPaperScissors-AMethodforCompetitiveGamePlayDesign。理论本身还有很多细节,这里只是把相关的部分总结出来,有兴趣的可以去看看。)

设计实现

HUD:HUD-简介,HUD-原理_hud
hud回到HUD设计上来,前面说到HUD通过自己的强化和弱化吸收或者并入了一部分游戏画面表现的内容,从而获得了游戏画面表现的功能,于是HUD可以用来作为预测游戏对手行动方向的指标了。这样的HUD相比纯粹抽象的HUD或者单纯的游戏画面都有优势。首先,它提供了“石头-剪子-布”系统中所要求的攻击和信号分离,传统的抽象的HUD系统做不到这一点。你看到自己血槽下降了,那就是被击中了,没有什么再去判断的余地,你看到统计上显示你的人口剧烈下降,那么战斗十有八九已经结束了,至少大局已定。
其次,它提供了良好的给信号充分表现的时间和空间。完全依赖于游戏画面将会让玩家在大量的信息面前失去方向,不知道如何提取有用的信息,HUD可以把攻击的信号部分“放大”,突出的表现出来。可以看这样1个例子,抽象的数字HUD可以告诉你你被导弹击中,损失了30%的装甲,1个完全依赖画面的游戏系统可以让你看到远处导弹来袭的全过程和细节,只不过需要上帝保佑你能从满天战火中用自己的肉眼提取出这个导弹的信息,意识到它的存在,而1个标示了导弹来袭路线和剩余距离的报警系统则可以让你有足够的时间去思考,去作出规避动作,游戏的乐趣由此产生。
FN3的格斗动作设计就充分的体现出这一点,游戏的HUD整合到游戏画面动作当中,提醒你注意到对手的细节,从而有足够的时间去思考,做出判断,决定对策。GRAW的Cross-cam把一定距离上的敌人的行动展现在你的眼前,同样是为玩家赢得了预读攻击信号的时间,同时也给敌人提供了设置“假动作”陷阱的可能,从而提高了游戏的竞技性和娱乐性。

二 : 屈原简介

人物简介屈原(约公元前342-公元前278),本名屈平,别称正则,死后谥名曰“原”,是战国末期楚国大夫。屈原是中国古代著名辞赋家、诗人、政治家,是中国最早的大诗人之一;他创立了楚辞,以及“香草美人”的传统,代表作有《离骚》、《九章》、《九歌》、《天问》等。屈原出身楚国贵族,任三闾大夫、左徒兼管内政外交大事;主张对内举贤能,修明法度,对外力主联齐抗秦,后因遭贵族排挤,被流放沅湘流域。公元前278年,秦国再次攻楚,屈原重返郢都的希望彻底破灭,投汩罗江而死,终年62岁。屈原开创了诗歌从集体歌唱转变为个人独立创作的新纪元,是中国浪漫主义诗歌的奠基人,中国第一位伟大的爱国主义诗人。

人物生平

少年才俊

周显王二十九年(公元前340年),正月初七日,屈原生于楚国丹阳(今湖北省宜昌市秭归县),到来年的正月初七日,屈原一星期岁,居乐平里。

周显王三十九年(公元前330年),屈原居乐平里。屈原自幼嗜书成癖,读书多而杂,“石洞读书”与“巴山野老授经”当在这一年的前后。

周显王四十年,(公元前329年),居乐平里。屈原虽出身贵族,但因自幼生活在民众之中,加以家庭的良好影响,故而十分同情贫穷的百姓,从这时起,小小年纪便做了许多体恤民众的好事,博得了众口一词的赞誉。

周显王四十六年(公元前323年),屈原出七里峡,游香溪与长江,读书于昭府,与昭碧霞相爱。

周显王四十七年(公元前322年),回故乡乐平里,与昭碧霞定亲。

初露才华

周显王四十八年(公元前321年),秦军犯境,屈原组织乐平里的青年奋力抗击,他一方面居高临下地对青年们进行思想教育,一方面巧用各种战术,机智果敢地给敌人以沉重打击,一展其非凡才华。

周慎靓王元年(公元前320年),仲春三月,屈原应怀王之召出山进京,这一年他在鄂渚为县丞。

周慎靓王二年(公元前319年),升任楚怀王左徒。这一年的深秋,屈原首次使齐。

周慎靓王三年(公元前318年),忙于楚之内政外交工作。五国联兵攻秦,屈原随军而前。

变法改革

周慎靓王四年(公元前317年),忙于变法改革,制订并出台各种法令。

周慎靓王五年(公元前316年),继续进行变法改革,与旧贵族和一切顽固势力进行斗争。

周慎靓王六年(公元前315年),深入进行变法改革,民心沸腾;楚之形势大变,旧贵族面临着覆灭的命运。

谗而见疏

周赧王元年(公元前314年),屈原因上官大夫之谗而见疏,被罢黜左徒之官,任三闾大夫之职。

周赧王二年(公元前313年),屈原第一次流放汉北地区为汉水的上游。为了破楚、齐联盟,秦国派张仪贿赂楚国权贵宠臣,又欺骗楚王说:“楚国如果能和齐国绝交,秦国愿意献出商、于一带六百多里土地。”屈原极力劝谏,但是屈原不听,楚怀王听信张仪的.,就把相印授予 人跟张仪去秦国受地。张仪回秦国后装病,3个月不见楚使。怀王以为张仪怪他绝齐不够坚决,又派人去辱骂齐王一通。齐王大怒,断绝了和楚的合纵,反而和秦国联合起来了。这时张仪才出面对楚使说:“您为什么不接受土地呢?从某地到某地,广袤六里。”六百里变成了六里,楚使很生气,归报怀王,怀王大怒,先后两次兴师伐秦,结果都被秦打败,丧失八万军队,大将军屈丐、裨将军逢侯丑等70余人被秦军俘虏,汉中郡沦陷。

周赧王三年(公元前312年),楚屈匄攻秦,秦大败之于丹阳,俘屈潚等将领七十余人,取楚之汉中。楚悉发兵反击,在蓝田(今湖北钟祥西北)大败。韩、魏袭楚至邓(今襄樊北),楚兵惧,自秦归。韩宣王死,在位二十一年。子襄王仓立。孟轲约于周赧王三年离齐。孟轲主“性善”,劝齐宣王行仁政,劝滕文公行“井田”,均以迂阔难行,不受采纳。怀王复起用屈原以使于齐,齐楚复交。

周赧王四年(公元前311年),秦惠文王更元十四年,取楚召陵。惠文王愿分汉中之半给楚,与楚结盟。楚怀王愿得张仪,不愿得地。仪赴楚,因厚赂靳尚,并得怀王宠姬郑袖进言,得释归。秦惠文王死,在位共二十七年。子武王荡立。屈原使齐,顾反,张仪已去,谏怀王曰:“何不杀张仪?”怀王悔,追张仪弗及。

周赧王五年(公元前310年),秦武王元年。张仪素为武王所不满,离秦赴魏。屈原仍事怀王为三闾大夫。怀王悟为张仪所欺,起用屈原为齐使,盖一时权宜之计,故使齐返而仍被疏。

周赧王六年(公元前309年),秦武王二年,初置丞相,以樗里疾、甘茂为左右丞相。齐宣王欲为纵长,恶楚之与秦合,遣使遗楚王书,怀王犹豫不决,昭睢力谏,遂不合秦而合齐以善韩。屈原不能参与朝政,极可能通过昭睢等大臣敦怀王合齐。

周赧王七年(公元前308年),秦武王三年,甘茂取韩宜阳。居郢都,设坛教学。

初次流放

周赧王十一年(公元前304年),屈原流浪汉北。秦楚复合,与屈原谋划相反,而奸人必有谗言害之,避地汉北,当有不得已之情在,故《抽思》有欲归不得之意。

周赧王十三年(公元前302年),齐、魏、韩三国联军攻打楚国,楚怀王派太子横到秦国为人质,请求秦出兵援救。秦王命客卿通率兵救楚,击退了三国联军。次年,秦国1大夫与太子横因私事争斗被杀死。太子横惧怕秦昭王怪罪,私自逃回楚国。此事使秦、楚两国关系恶化,导致了此后秦(www.61k.com)国对楚国的频繁进攻。“屈原疾王听之不聪也,谗谄之蔽明也,邪曲之害公也,方正之不容也,故忧愁幽思而作《离骚》。”

周赧王十六年(公元前299年),屈原此时已从汉北的流放地返回,和昭雎等一起,力劝怀王不要赴会,说:“秦,虎狼之国,不可信,不如无行。”可怀王的幼子子兰怕失去秦王欢心,竭力怂恿怀王前去。结果怀王一入武关,就被秦军扣留,劫往咸阳,要胁他割让巫郡和黔中郡。楚怀王被劫往咸阳,楚由齐迎归太子横立为顷襄王,公子子兰为令尹,不肯向秦割让土地,秦又发兵攻楚,大败楚军,斩首5万,取十六城。

二次流放

周赧王十九年(公元前296年),怀王死于秦国,秦国将他的尸体送回楚国安葬。诸侯由此认为秦国不义。秦国、楚国绝交。屈原于周赧王十九年年免去三闾大夫之职,放逐江南。他从郢都出发,先到鄂渚,然后入洞庭。

周赧王二十年(公元前295年),屈原到达长沙,在这楚先王始封之地遍览山川形势,甚起宗国之情。

周赧王二十一年到周赧王三十六年(公元前294年到公元前279年),屈原第二次被流放到南方的荒僻地区。这次流放的路线,按《哀郢》分析,是从郢都(湖北江陵县)出发,先往东南顺江而下经过夏首(湖北沙市东南)、遥望龙门(郢都的东门)经由洞庭湖进入长江,然后又离开了夏浦(湖北汉口),最后到了陵阳(据说是今安徽青阳县南)。时间长达18年,在这之间并写下了大量优秀的文学作品如:《九章·悲回风》。

自投汨罗

周赧王三十七年(公元前278年),秦国再次攻楚,占领郢都,楚顷襄王被迫迁都于陈(今河南淮阳)。消息传来,屈原重返郢都的希望彻底破灭,于是作诗篇《怀沙》,再次抒发忠贞爱国的情怀和“受命不迁”的崇高志节,倾诉了郁积于心头的苦闷,然后投汩罗江而死。终年62岁。

屈原的故事

屈原取名

屈原名平,字原,又名正则,字灵均。关于自己名字的来历,屈原在《离骚》中说:“帝高阳之苗裔兮,朕皇考曰伯庸。摄提贞于孟陬兮,惟庚寅吾以降。皇览揆余初度兮,肇锡余以嘉名,名余曰正则兮,字余曰灵均”。这段文字的意思是:“我是古帝高阳氏的后代,我的爸爸叫伯庸。我降生在寅卯年孟春月的庚寅日,爸爸给我起了个好名字,名字叫做“正则”,字叫做“灵均”。这八句话是自叙身世。从原始祖先说到爸爸,说到自己的生日,与父为之命名、又为之起字。”高阳“,是楚人传说中的始祖,又称颛顼,可能是某个图腾的专名。屈原的爸爸伯庸很有学识,伯庸为儿子取名“平”,又起名“正则”,正则是平的引申义,所以《史记·屈原贾生列传》有”屈原者名平“之说取字“原”又用字“灵均”这一对名和字相结合的含意是“言正平可法则者,莫过于天,养物均调者,莫神于地。”而高平曰“原”这里正含有了屈原的一对名和字,其中名“正则”与“平”相结合,则意法天,字“灵均”与“原”相结合,则意法地。法天和法地。屈原的生辰名字被解释为符合《史记》中所说“天开于子,地辟于丑,人生于寅”的天地人三统。

宋玉悼词

屈原死后,当时社会不少人都不认可他,就像司马迁说的“不容于世”,直到宋玉,他是第1个为屈原写悼词的人。“夫君子之心也,修乎已不病乎人,晦其用不曜於众,时来则应,物来则济。应时而不谋己,济物而不务功,是以惠无所归,怨无所集”从悼词中宋玉表达了对屈原的理解和惋惜。宋玉在辞赋上学习屈原,并且在屈原的基础上对楚辞进行了发展,所以在当时人们将宋玉称作是继屈原以后最伟大的辞赋家。

屈原投江

屈原至于江滨,被发行吟泽畔,颜色憔悴,形容枯槁。渔父见而问之曰:“子非三闾大夫欤?何故而至此?”屈原曰:“举世混浊而我独清,众人皆醉而我独醒,是以见放。”渔父曰:“夫圣人者,不凝滞于物,而能与世推移。举世混浊,何不随其流而扬其波?众人皆醉,何不哺其糟而啜其醨?何故怀瑾握瑜,而自令见放为?”屈原曰:“吾闻之,新沐者必弹冠,新浴者必振衣。人又谁能以身之察察,受物之汶汶者乎?宁赴常流而葬乎江鱼腹中耳。又安能以皓皓之白,而蒙世之温蠖乎?”乃作《怀沙》之赋。于是怀石,遂自投汨罗江以死。

屈原的诗

屈原的作品,根据刘向、刘歆父子的校定和王逸的注本,有25篇,即《离骚》1篇,《天问》1篇,《九歌》11篇,《九章》9篇,《远游》《卜居》《渔父》各1篇。据《史记·屈原列传》司马迁语,还有《招魂》1篇。有些学者认为《大招》也是屈原作品;但也有人怀疑《远游》以下诸篇及《九章》中若干篇章非出自屈原手笔。据郭沫若先生考证,屈原作品,共流传下来23篇。其中《九歌》11篇,《九章》9篇,《离骚》、《天问》、《招魂》各一篇。

屈原离骚

《离骚》是战国诗人屈原创作的文学作品。“离骚”,东汉王逸释为:“离,别也;骚,愁也。”《离骚》以理想与现实的冲突为主线,以花草禽鸟的比兴和瑰奇迷幻的“求女”神境作象征,借助于自传性回忆中的情感激荡,和复沓纷至、倏生倏灭的幻境交替展开全诗。作品倾诉了对楚国命运和人民生活的关心,“哀民生之多艰”,叹奸佞之当道。主张“举贤而授能”,“循绳墨而不颇”。提出“皇天无私阿”,对天命论进行批判。作品中大量的比喻和丰富的想像,表现出积极浪漫主义精神,并开创了中国文学上的“骚”体诗歌形式,对后世有深远影响。有东汉王逸《楚辞章句》、南宋朱熹《楚辞集注》、清代戴震《屈原赋注》等注本。

屈原祠堂

屈原祠最早建于唐朝元和15年(公元820年),与重庆的张飞庙、白鹤梁、石宝寨一起成为三峡库区文物搬迁复建的4大单体建筑。屈原祠占地2万多平方米,投资5000多万元,是三峡湖北库区规模最大的地面文物复建工程。新屈原祠采用石木结构,继承了老屈原祠的地域特色和传统工艺。

屈原祠内共分十二个展览陈列厅,分别为前殿、南北陈列室(其中包含屈原作品及历代诗人赞颂屈原作品碑廊)、大殿(祭祀厅)。秭归屈原祠,记录了一代又一代屈乡儿女缅怀先贤的动人事迹,也保存了屈原祠风雨沧桑的历史过程及其古风遗韵。

屈原故里

屈原故里文化旅游区位于湖北省宜昌市秭归县。凤凰山景区定名为“屈原故里文化旅游区”,规划占地面积500亩,建筑内容包括以屈原祠和屈原文化广场为主的屈原纪念景区,以巨型屈原雕塑为主的主题雕塑景区,屈原文化艺术中心,同时建设以三峡民居集锦园、三峡濒危植物园、滨水景观带等。

端午节屈原的故事

传说屈原死后,楚国百姓哀痛异常,纷纷涌到汨罗江边去凭吊屈原。渔夫们划起船在江上来回打捞他的尸身。为了不让屈原的身体被鱼龙虾蟹吃,人们纷纷往江里扔饭团、倒雄黄酒。以后,在每年的五月初五,就有了龙舟竞渡、吃粽子、喝雄黄酒的风俗。

纪念屈原说在所有民间传说中流传最广,影响最深,谭绍兵学者对这一说法进行了一系列论证。 黄榴丹也认为虽说法众多,但纪念屈原说仍占主流地位。

历史评价

荀子:君子行不贵苟难,说不贵苟察,名不贵苟传,唯其当之为贵。故怀负石而投河,是行之难为者也,而申徒狄能之。然而君子不贵者,非礼义之中也。

刘安称《离骚》兼有《国风》、《小雅》之长,它体现了屈原“浮游尘埃之外”的人格风范,可“与日月争光”。其后,司马迁为屈原作传,不仅照录了刘安的这些警句,还进1步把《离骚》和孔子删定《春秋》相提并论。他称前者“其文约,其辞微,其志洁,其行廉……”,

班固评论屈原辞赋”弘博丽雅,为辞赋宗。后世莫不斟酌其英华,则象其从空。“评价屈原其人”虽非是明智之士,可谓妙才也。”他指出,称屈原和《离骚》可“与日月争光”云云,“斯论似过其真”。班固的人生观是“全命避害,不受世患”。他以为屈原应像《诗·大雅》所谓的“‘即明且哲,以保其身’斯为贵矣!”他评价屈原不应“露才扬己,责数怀王,怨恶椒兰,愁神苦思,强非其人,忿怼不容,沉江而死”。他也不同意屈原把大量的神话传说融入作品中,多称昆仑、冥婚、宓妃虚无之语,皆非法度之正,经义所在。

王逸:“膺忠贞之质,体清洁之性,直如石砥,颜如丹青;进不隐其谋,退不顾其命,此诚绝世之行,俊彦之英也”。

刘勰的《文心雕龙》,又概括王逸的观点,写了《辨骚》一章,除证明屈原作品有异于《风》、《雅》的四点以外,也有同乎经典的四事。

洪兴祖是继王逸之后整理、注释《楚辞》的又一著名学者。他曾得诸家善本,参校异同,成《楚辞补注》一书。洪氏对北齐颜之推所谓的“自古文人,常陷轻薄,屈原露才扬己,显暴君过”之说,甚为不满。他从儒家伦理观念出发驳之云:“屈原,楚同姓也。同姓无可去之义。”而孔子是提倡士“见危授命”的。因此,洪氏为屈原的自沉辩护说:“同姓兼恩与义,而屈原可以不死乎?”那么,屈原又为什么不离开楚国呢?洪氏以为,这是由于当时“楚无人焉,屈原如去国,则楚必从而亡”。因此他说:“屈原虽被放逐,又徘徊而不去楚,其意是生不得力争强谏,死犹冀其感。”(按:指楚王悟而改行)由此亦可见,屈原“虽死犹不死也”。

朱熹对《诗经》和《楚辞》极为推崇。他为《楚辞》作的《集注》也足以媲美其《诗集传》。朱熹注《离骚》中“仆夫悲余马怀兮,蜷局顾而不行”云,此乃是屈原“托为此行,周流上下,而卒返于楚焉;亦仁之至,而义至尽也”。如此体会屈原眷恋楚国的思想情感,可谓深入了一层。

梁启超首推屈原为“中国文学家的老祖宗”

鲁迅在《汉文学史纲要》对于它的特点与贡献做了这样的评论:“较之于《诗》,则其言甚长,其思甚幻,其文甚丽,其旨甚明,凭心而言,不遵矩度……其影响于后来之文章,乃甚或在三百篇以上。”

郭沫若评价屈原是“伟大的爱国诗人”,一颗闪耀在“群星丽天的时代”,“尤其是有异彩的一等明星”

闻一多评价屈原是“中国历史上唯一有充分条件称为人民诗人的人”。

毛泽东说:“屈原的名字对我们更为神圣。他不仅是古代的天才歌手,而且是一名伟大的爱国者,无私无畏,勇敢高尚。他的形象保留在每个中国人的脑海里。无论在国内国外,屈原都是1个不朽的形象。我们就是他生命长存的见证人。”

三 : Heartbeat:Heartbeat-简介,Heartbeat-原理

Heartbeat 项目是 Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统。心跳服务和集群通信是高可用集群的两个关键组件,在 Heartbeat 项目里,由 heartbeat 模块实现了这两个功能。

heartbeat什么意思_Heartbeat -简单介绍

Heartbeat:Heartbeat-简介,Heartbeat-原理_heartbeat什么意思
heartbeat

Heartbeat是Linux-HA工程的1个组件,自1999年开始到现在,发布了众多版本,是目前开源Linux-HA项目最成功的1个例子,在行业内得到了广泛的应用,这里分析的是2007年1月18日发布的版本2.0.8。

随着Linux在关键行业应用的逐渐增多,它必将提供一些原来由IBM和SUN这样的大型商业公司所提供的服务,这些商业公司所提供的服务都有1个关键特性,就是高可用集群。

heartbeat什么意思_Heartbeat -原理

heartbeat (Linux-HA)的工作原理:heartbeat最核心的包括2个部分,心跳监测部分和资源接管部分,心跳监测可以通过网络链路和串口进行,而且支持冗 余链路,它们之间相互发送报文来告诉对方自己当前的状态,如果在指定的时间内未收到对方发送的报文,那么就认为对方失效,这时需启动资源接管模块来接管运 行在对方主机上的资源或者服务。

heartbeat什么意思_Heartbeat -高可用集群

高可用集群是指一组通过硬件和软件连接起来的独立计算机,它们在用户面前表现为1个单一系统,在这样的一组计算机系统内部的1个或者多个节点停止工作,服务会从故障节点切换到正常工作的节点上运行,不会引起服务中断。从这个定义可以看出,集群必须检测节点和服务何时失效,何时恢复为可用。这个任务通常由一组被称为“心跳”的代码完成。在Linux-HA里这个功能由1个叫做heartbeat的程序完成。

heartbeat什么意思_Heartbeat -消息通信模型

Heartbeat包括以下几个组件:

heartbeat – 节点间通信校验模块

CRM - 集群资源管理模块

CCM - 维护集群成员的一致性

LRM - 本地资源管理模块

StonithDaemon - 提供节点重启服务

logd - 非阻塞的日志记录

apphbd - 提供应用程序级的看门狗计时器

Recovery Manager - 应用故障恢复

底层结构–包括插件接口、进程间通信等

CTS – 集群测试系统,集群压力测试

这里主要分析的是Heartbeat的集群通信机制,所以这里主要关注的是heartbeat模块。

heartbeat模块由以下几个进程构成:

master进程(masterprocess)

FIFO子进程(fifochild)

read子进程(readchild)

write子进程(writechild)

在heartbeat里每一条通信通道对应于1个write子进程和1个read子进程,假设n是通信通道数,p为heartbeat模块的进程数,则p、n有以下关系:

p=2*n+2

在heartbeat里,master进程把自己的数据或者是客户端发送来的数据,通过IPC发送到write子进程,write子进程把数据发送到网络;同时read子进程从网络读取数据,通过IPC发送到master进程,由master进程处理或者由master进程转发给其客户端处理。

Heartbeat启动的时候,由master进程来启动FIFO子进程、write子进程和read子进程,最后再启动client进程。

heartbeat什么意思_Heartbeat -可靠消息通信

Heartbeat通过插件技术实现了集群间的串口、多播、广播和组播通信,在配置的时候可以根据通信媒介选择采用的通信协议,heartbeat启动的时候检查这些媒介是否存在,如果存在则加载相应的通信模块。这样开发人员可以很方便地添加新的通信模块,比如添加红外线通信模块。

对于高可用集群系统,如果集群间的通信不可靠,那么很明显集群本身也不可靠。Heartbeat采用UDP协议和串口进行通信,它们本身是不可靠的,可靠性必须由上层应用来提供。那么怎样保证消息传递的可靠性呢?

Heartbeat通过冗余通信通道和消息重传机制来保证通信的可靠性。Heartbeat检测主通信链路工作状态的同时也检测备用通信链路状态,并把这一状态报告给系统管理员,这样可以大大减少因为多重失效引起的集群故障不能恢复。例如,某个工作人员不小心拨下了1个备份通信链路,一2个月以后主通信链路也失效了,系统就不能再进行通信了。通过报告备份通信链路的工作状态和主通信链路的状态,可以完全避免这种情况。因为这样在主通信链路失效以前,即可检测到备份工作链路失效,从而在主通信链路失效前修复备份通信链路。

Heartbeat通过实现不同的通信子系统,从而避免了某一通信子系统失效而引起的通信失效。最典型的就是采用以太网和串口相结合的通信方式。这被认为是当前的最好实践,有几个理由可以使我们选择采用串口通信:

(1)IP通信子系统的失效不太可能影响到串口子系统。

(2)串口不需要复杂的外部设备和电源。

(3)串口设备简单,在实践中非常可靠。

(4)串口可以非常容易地专用于集群通信。

(5)串口的直连线因为偶然性掉线事件很少。

不管是采用串口还是以太网IP协议进行通信,heartbeat都实现了一套消息重传协议,保证消息包的可靠传递。实现消息包重传有2种协议,1种是发送者发起,另1种是接收者发起。

对于发送者发起协议,一般情况下接收者会发送1个消息包的确认。发送者维护1个计时器,并在计时器到时的时候重传那些还没有收到确认的消息包。这种方法容易引起发送者溢出,因为每一台机器的每1个消息包都需要确认,使得要发送的消息包成倍增长。这种现像被称为发送者(或者ACK)内爆(implosion)。

对于接收者发起协议,采用这种协议通信双方的接收者通过序列号负责进行错误检测。当检测到消息包丢失时,接收者请求发送者重传消息包。采用这种方法,如果消息包没有被送达任何1个接收者,那么发送者容易因NACK溢出,因为每个接收者都会向发送者发送1个重传请求,这会引起发送者的负载过高。这种现像被称为NACK内爆(implosion)。

Heartbeat实现的是接收者发起协议的1个变种,它采用计时器来限制过多的重传,在计时器时间内限制接收者请求重传消息包的次数,这样发送者重传消息包的次数也被相应的限制了,从而严格的限制了NACK内爆。

heartbeat什么意思_Heartbeat -可靠消息通信的实现

一般集群通信有2类消息包,1类是心跳消息包,这类消息包通告集群内节点的存活情况;另1类是控制消息包,这类消息包负责集群的节点和资源管理。heartbeat把心跳消息包看成是控制消息包的1个特例,采用相同的通信通道进行发送,这使得协议的实现简单化,而且很有效,并把相应的代码限制在几百行之内。

在heartbeat里,一切流向网络的数据都由master进程发送到write子进程进行发送。master进程调用send_cluster_msg()函数把消息发送到所有的write子进程。下面通过一些代码片段看看heartbeat是怎么发送消息的。在介绍代码之前先介绍相关的重要数据结构

Heartbeat的消息包数据结构structha_msg{intnfields;/*消息包数据域的个数*/intnalloc;/*己分配的内存块个数*/char**names;/*消息包数据域的名称*/size_t*nlens;/*各个数据域称的长度*/void**values;/*与数据域名称对应的数据值*/size_t*vlens;/*各个数据域对应的数据值的长度*/int*types;/*消息包的类型*/};

Heartbeat的历史消息队列structmsg_xmit_HIST{structha_msg*msgq[MAXMSGHIST];/*历史消息队列*/seqno_tseqnos[MAXMSGHIST];/*历史消息序列号*/longclock_tlastrexmit[MAXMSGHIST];/*上一次重传的时间*/intlastmsg;/*上一次重传到的消息序列号*/seqno_thiseq;/*最大消息序列号*/seqno_tlowseq;/*最小消息序列号*/seqno_tackseq;/*确认了的消息序列号*/structnode_info*lowest_acknode;/*确认的节点*/};

代码所属文件heartbeat/heartbeat.c

intsend_cluster_msg(structha_msg*msg){...pid_tourpid=getpid();...

if(ourpid==processes){/*来自master进程的消息*//*添加控制信息,包括源节点名,源节点全局标识符,序列号,代数,时间等*/if((msg=add_control_msg_fields(msg))!=NULL){/*可靠的多播消息包传递*/rc=process_outbound_packet(&msghist,msg);}}else{/*来自client进程的消息*/intffd=-1;char*smsg=NULL;

...

/*发送到FIFO进程*/

if((smsg=msg2wirefmt_noac(msg,&len))==NULL){...}elseif((ffd=open(FIFONAME,O_WRONLY|O_APPEND))nodename)==0);

/*把消息转换成字符串*/smsg=msg2wirefmt(msg,&len);

...

if(cseq!=NULL){/*存放到历史消息队列里,通过序列号记录,如果需要,则进行重传*/add2_xmit_hist(hist,msg,seqno);}

...

/*通过write子进程发送到所有的网络接口上*/send_to_all_media(smsg,len);

...

returnHA_OK;}

add2_xmit_hist()函数把发送的消息发到1个历史消息队列里去,队列的最大长度为200。如果接收者请求重传消息,发送者通过序列号在该队列里查找要重传的消息,如果找到则进行重传。下面是相关代码。

staticvoidadd2_xmit_hist(structmsg_xmit_hist*hist,structha_msg*msg,seqno_tseq){intslot;structha_msg*slotmsg;

...

/*查找队列里消息存放的位置*/slot=hist->lastmsg+1;if(slot>=MAXMSGHIST){/*到达队尾,从头开始。在这里实现循环队列*/slot=0;}

hist->hiseq=seq;slotmsg=hist->msgq[slot];

/*删除队列中找到的位置上的旧消息*/if(slotmsg!=NULL){hist->lowseq=hist->seqnos[slot];hist->msgq[slot]=NULL;if(!ha_is_allocated(slotmsg)){...}else{ha_msg_del(slotmsg);}}

hist->msgq[slot]=msg;hist->seqnos[slot]=seq;hist->lastrexmit[slot]=0L;hist->lastmsg=slot;

if(enable_flow_control&&live_node_count>1&&(hist->hiseq–hist->lowseq)>((MAXMSGHIST*3)/4)){/*消息队列长度大于告警长度,记录日志*/...}if(enable_flow_control&&hist->hiseq–hist->ackseq>FLOWCONTROL_LIMIT){/*消息队列的长度大于流控限制长度*/if(live_node_counthiseq–(FLOWCONTROL_LIMIT–1));all_clients_resume();}else{/*client进程发送消息过快,暂停所有的client进程*/all_clients_pause();hist_display(hist);}}

}

当发送者收到接收者的重传请求后,通过回调函数HBDoMsg_T_REXMIT()函数调用process_rexmit()函数进行消息重传。

#defineMAX_REXMIT_BATCH50/*每次最多重传的消息包数*/

staticvoidprocess_rexmit(structmsg_xmit_hist*hist,structha_msg*msg){constchar*cfseq;constchar*clseq;seqno_tfseq=0;seqno_tlseq=0;seqno_tthisseq;intfirstslot=hist->lastmsg–1;intrexmit_pkt_count=0;constchar*fromnodename=ha_msg_value(msg,F_ORIG);structnode_info*fromnode=NULL;

...

/*取得要重传的消息包的起始序列号*/if((cfseq=ha_msg_value(msg,F_FIRSTSEQ))==NULL||(clseq=ha_msg_value(msg,F_LASTSEQ))==NULL||(fseq=atoi(cfseq))lseq){/*无效序列号,记录日志信息*/...}

...

/*重传丢失的消息包*/for(thisseq=fseq;thisseqtrack.ackseq){/*该消息包已经被确认过,可以忽略掉*/continue;}if(thisseqlowseq){/*序列号小于消息队列里的最小序列号,该消息己不存在于历史消息队列中*//*告知对方,不重传该消息*/nak_rexmit(hist,thisseq,fromnodename,“seqnotoolow”);continue;}if(thisseq>hist->hiseq){/*序列号大于消息队列中最大序列号*/...continue;}

for(msgslot=firstslot;!foundit&&msgslot!=(firstslot+1);--msgslot){char*smsg;longclock_tnow=time_longclock();longclock_tlast_rexmit;size_tlen;

...

/*重传上一次重传剩下的消息包*/last_rexmit=hist->lastrexmit[msgslot];

if(cmp_longclock(last_rexmit,zero_longclock)!=0&&longclockto_ms(sub_longclock(now,last_rexmit))<(ACCEPT_REXMIT_REQ_MS)){gotoNextReXmit;}

/*一次不能发送太多数据包,如果数据包太多的话,可能会引起串口溢出*/++rexm

四 : CIK:CIK-简介,CIK-原理

CIK(cytokine-induced killer,中文名:[自体细胞免疫疗法]多种细胞因子诱导的杀伤细胞),是将人外周血单个核细胞在体外用多种细胞因子(如抗CD3单克隆抗体、IL-2和IFN-γ等)共同培养一段时间后获得的一群异质细胞。由于该种细胞同时表达CD3+和CD56+两种膜蛋白分子,故又被称为NK细胞样T淋巴细胞,兼具有T淋巴细胞强大的抗瘤活性和NK细胞的非MHC限制性杀瘤优点。因此,应用CIK细胞被认为是新一代抗肿瘤过继细胞免疫治疗的首选方案。CIK细胞中的效应细胞CD3+和CD56+细胞在正常人外周血中较少,仅1%—5%。

百科词条_CIK -简单介绍

CIK:CIK-简介,CIK-原理_百科词条
CIKCIK(cytokine-inducedkiller,中文名:多种细胞因子诱导的杀伤细胞),是将人外周血单个核细胞在体外用多种细胞因子(如抗CD3单克隆抗体、IL-2和IFN-γ等)共同培养一段时间后获得的一群异质细胞。由于该种细胞同时表达CD3+和CD56+2种膜蛋白分子,故又被称为NK细胞样T淋巴细胞,兼具有T淋巴细胞强大的抗瘤活性和NK细胞的非mhc限制性杀瘤优点。因此,应用CIK细胞被认为是新一代抗肿瘤过继细胞免疫治疗的首选方案。

[www.61k.com)CIK细胞中的效应细胞CD3+和CD56+细胞在正常人外周血中极其罕见,仅1%—5%。

CIK细胞是1种新的免疫活性细胞,它是自体外周血单个核细胞,经过多种细胞因子共同诱导培养产生的1类CD3+CD56+共同表达的高细胞毒性细胞(杀伤细胞),兼有T淋巴细胞强大的肿瘤杀伤活性和自然杀伤细胞(NK)的非主要组织相容性复合物(MHC)限制性杀瘤的特点,杀伤活性可达84.7%。

百科词条_CIK -原理

CIK杀伤肿瘤细胞的原理如下:

1)CIK细胞能以不同的机制识别肿瘤细胞通过直接的细胞质颗粒穿透封闭的肿瘤细胞膜进行胞吐,实现对肿瘤细胞的裂解;

2)通过诱导肿瘤细胞凋亡杀伤肿瘤细胞;

3)CIK细胞分泌IL-2、IL-6、IFN-γ等多种抗肿瘤的细胞因子;

4)CIK细胞回输后可以激活机体免疫系统,提高机体的免疫功能。

百科词条_CIK -适应症

CIK:CIK-简介,CIK-原理_百科词条
CIKCIK细胞治疗属于过继细胞免疫疗法,由于CIK细胞溶瘤作用是非MHC限制性的,即不受肿瘤组织类型的限制,因此对任何1种肿瘤均有杀伤作用,但对高抗原表达的癌症疗效最好,如:髓性白血病、黑色素瘤、肾细胞癌、转移性肾癌、非何杰金氏淋巴瘤等。

其它癌症如肺癌、结肠癌、乳腺癌、肝癌、胃癌、大肠癌等,CIK细胞治疗亦有较好的疗效。CIK细胞治疗适用于任何一期的癌症患者,但对早期肿瘤患者或经过手术及放化疗后肿瘤负荷较小的患者效果好。它对于手术、放化疗或造血干细胞移植后患者体内微小残留病灶的清除,防止癌细胞扩散和复发,提高患者自身免疫力,减少毒性反应等方面具有重要作用。

某些不宜手术、不能耐受放化疗的中晚期肿瘤患者,CIK细胞治疗可以提高其生活质量,延长带瘤生存时间。

百科词条_CIK -特点

1.CIK细胞增殖速度快,抗肿瘤活性细胞可大量增殖,且细胞活性也大大增强。

2.CIK细胞具有识别肿瘤的机制,对正常的细胞无毒性作用。

3.杀瘤谱广,可用于白血病、淋巴瘤、肺癌、胃癌、肠癌等多种肿瘤的治疗,对多重耐药肿瘤细胞同样敏感。

4.是典型的个性化生物治疗模式。将这类细胞回输后,还能使机体免疫能力提高,产生特异的抗病毒作用,从而对肿瘤治疗施以双重的作用。

5.由于CIK细胞是活化的自体细胞,用起来非常安全。

百科词条_CIK -优势

CLS肿瘤生物治疗技术的DC-CIK细胞,具有精确杀伤肿瘤细胞的作用,是具有高增值能力和高细胞毒性杀伤肿瘤的免疫活性细胞,在临床上已取得显著的效果。具有安全高效无任何毒副作用等优势,能有效防止肿瘤的复发与转移,提高患者生活质量,延长患者“带癌生存期”。

优势1:

完全自体细胞抗癌无副作用

CIK生物免疫治疗技术,全部采用患者自体外周血中单核细胞,在GMP标准实验室内进行培养增殖,再将具有特异性杀伤作用的细胞回输到患者体内,杀灭癌细胞,并提高机体免疫力。由于完全是自体细胞,所以没有副作用和排斥反应。

优势2:

真正从源头上治疗肿瘤彻底清除癌细胞

每个人体内每天都会产生数千个癌细胞,免疫细胞正常情况下可以把这些癌细胞直接杀死。然而当免疫力低下时,则免疫细胞就会被癌细胞打败,这样就形成了“肿瘤”。生物免疫治疗,就是从肿瘤的病因源头上着手,将人体内细胞提取出来,在体外培养,培养后的细胞倍增10的10万次方,对血液、淋巴中残存的、散在的、或处于休眠状态中的癌细胞都可以彻底清除。最大限度地防止复发和转移,杜绝后顾之忧。

优势3:

治疗效果与患者生活质量并重

肿瘤晚期患者痛感强烈,尤其是接受放化疗时。因为,放化疗在杀灭癌细胞的同时,也杀伤大量正常的免疫细胞,脱发、呕吐、肿胀、无力等反应,常让患者觉得十分痛苦,加之免疫细胞被杀伤,免疫力下降,又易导致肿瘤复发,这样形成1个恶性循环,导致很多肿瘤患者无奈中“被过度治疗”,身体状况和精神状态反而越来越差。

而生物免疫治疗则是保障显著的治疗效果的同时,更大大提高患者生活质量。患者自己就会明显感觉,疼痛减轻、有力气、食欲好、精神状态好。治病更治人,这是生物免疫治疗优于其它治疗方式的独到之处。

安全性:利用人体自身细胞杀死肿瘤细胞,无毒副作用;

针对性:DC细胞识别、直接吞噬瘤细胞,CIK细胞特异性杀伤肿瘤细胞;

持久性:启动机体免疫系统,恢复机体免疫功能,持久杀伤肿瘤细胞;

全身性:重建和提高患者全身的机体免疫功能,全面识别、搜索、杀伤肿瘤细胞,有效防止肿瘤的复发和转移;

彻底性:提高机体免疫能力,彻底清除体内残留肿瘤细胞和微小转移病灶;

有效性:有效治疗大多数实体肿瘤,并能消灭对放、化疗不敏感及转移的肿瘤细胞;

百科词条_CIK -适用人群

适合各个时期的肿瘤患者

“CLS生物技术”可用于任何一期的肿瘤患者,早期、中晚期的病例均有较好的近期疗效。手术切除、介入、射频、氩氦刀等治疗的同时或治疗后的病人疗效更佳。DC-CIK细胞能够杀伤清除不能用手术切除的极微小瘤灶或是体内散存的肿瘤细胞,起到延缓、阻止肿瘤的转移或复发的作用。部分暂时不适宜做手术、介入或其它治疗的患者,可以先进行CLS生物治疗,提高身体机能状况,争取其它治疗机会。

百科词条_CIK -杀伤原理

在肺癌的治疗方法中,肺癌的CIK免疫细胞生物治疗越来越多的受到国内外医学界的广泛重视,并逐渐发展成为继手术、放疗、化疗后的第四模式。其安全、有效、无毒副作用、明显改善患者生命质量的优势为癌症患者带来了新希望。CIK对肺癌细胞的杀伤作用主要通过以下几个途径达到:
1、自然杀伤。通过释放颗粒酶、穿孔素裂解靶细胞,这是CIK细胞杀伤靶肿瘤细胞的主要机制;
2、炎性细胞因子作用。体内活化的CIK细胞可分泌多种细胞因子如干扰素&gamma;、肿瘤坏死因子和白介素2等,不仅对肿瘤细胞有直接抑制杀伤作用,而且还可通过调节免疫系统间接杀伤瘤细胞;
3、CIK细胞表达FasL(Ⅱ型跨膜糖蛋白)通过与肿瘤细胞膜表达的Fas(Ⅰ型跨膜糖蛋白)结合,诱导肿瘤细胞凋亡。CIK细胞回输后可以激活机体免疫系统,通过增强T细胞功能起作用,提高机体的免疫功能,是目前所知的杀伤活性最强的免疫效应细胞。

本文标题:屈原简介-HUD:HUD-简介,HUD-原理
本文地址: http://www.61k.com/1130532.html

61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1