会上,小张认为应当继续分析诊断,只有找出隐藏的软件错误,才能解决问题。小张的建议得到了许多成员的赞同。但是王总工认为,定时主动地重新启动则更为现实和明智。王总工给出了令人信服的理由,最后得到了项目组成员的一致同意。 试用200字以内文字,简要地叙述王

admin2007-10-08  35

问题 会上,小张认为应当继续分析诊断,只有找出隐藏的软件错误,才能解决问题。小张的建议得到了许多成员的赞同。但是王总工认为,定时主动地重新启动则更为现实和明智。王总工给出了令人信服的理由,最后得到了项目组成员的一致同意。
   试用200字以内文字,简要地叙述王总工否定小张建议的依据。
最后小张再次发言,指出定时主动地重新启动,比较适合于实现互联网服务软件的容错,王总工对此深表赞同。
   试用200字以内文字,简要说明为什么定时主动地重新启动比较适合于实现互联网服务软件的容错。

选项

答案(1)以互联网服务为代表的软件系统,规模庞大、结构复杂,因此准确地找出偶尔出现的暂态错误,在工程上是相当困难的。 (2)以互联网服务为代表的软件系统,在运行中频繁出现的就是此类暂态错误。 (3)以互联网服务为代表的软件系统,一方面有很高的可用性要求,另一方面也容忍短暂的系统不可用。 说明主动重新启动为什么适合于互联网服务软件的容错。 第二步:根据问题要点,仔细阅读正文,找出相应段落 (1)问题的背景说明:“该网络游戏每运行一段时间后,偶尔会出现错误而异常终止。分析表明,出错的模块是不确定的,错误不仅与网络游戏本身的代码相关,而且还与链入其中的第三方程序库相关,但是该第三方程序库并无源代码。”其中没有源代码的第三方程序库是影响维护策略选择的一个重要因素。 (2)“在会上,小张认为应当继续分析诊断,只有找出隐藏的软件错误,才能解决问题。小张的建议得到了许多成员的赞同。但是王总工认为,定时主动地重新启动则更为现实和明智。”——这里体现出了一个要点,就是主动地重新启动策略更现实、更明智,因此在答题的时候应该充分从这个角度进行分析。 (3)“应编写shell脚本,定时重新启动操作系统和包括网络游戏在内的所有服务”,详细地说明了Shell脚本实现重新启动的内容。 第三步:分析试题的内容,构思答案的要点

解析 提高软件质量和可靠性的技术大致可分为2类:一类是避错技术,即在开发的过程中不让差错潜入软件的技术;另一类则是容错技术,即对某些无法避开的错误,使其影响降至最低的技术。避错技术是进行质量管理,实现产品应有质量所必不可少的技术,也就是软件工程中所讨论的先进的软件分析、开发技术和管理技术。但是,无论使用多么高明的避错技术,也无法做到没有错误,这就需要采用容错技术使错误发生时不影响系统的特性。
   结合本题的实际情况,要解决“海运行一段时间后偶尔会出现错误而异常终止”这个问题,可以从2个角度考虑。
   (1)采用避错技术:由于系统已经进入了运行期,因此要找到错误的本质原因,并且修正这些错误。
   (2)采用容错技术:也就是将错误影响降到最低。
   小张的思路就是从避错这个角度来考虑,但是在实施时遇到了2个现实性的问题:一是分析错误原因较困难,时间耗费大,无法及时解决这个问题;另一个更为重要的因素是,由于错误涉及没有源代码的第三方程序库,就算找到了问题,要修改这个错误是十分困难的。因此这种角度来解决问题是困难的、不现实的。
   另外,重新启动还可以清空一些诸如session和连接缓冲等临时性内容,提高整个系统的性能。
   鉴于以上的考虑,王总工否定了小张的建议是不难理解的。
   [问题2]
   不管是UNIX还是Windows系列操作系统,都提供了功能强大、实用的Shell脚本程序功能,许多资深的系统管理员都会运用Shell脚本来简化日常的系统管理工作。 Shell脚本程序是在Shell基础上的(如Windows的Command,UNIX的Bash等)简单的编程语言,它可以参数化地执行一系列Shell命令,来完成预先设定的工作。
   通过Shell脚本是可以实现定时重新启动操作系统和包括网络游戏在内的所有服务功能。但是仅由于网络游戏出错,就要重新启动操作系统和包括网络游戏在内的所有服务,那么重新启动的时间必然很长,会大大降低整个网站的可用性。实际上只需要重新启动与出错的网络游戏相关的服务就可以了。
   [问题3]
   实现软件容错的主要手段就是冗余。冗余是指所有对于实现系统规定功能来说是多余的那部分的资源,包括硬件、软件、信息和时间。通过冗余资源的加入,可以使系统的可靠性得到较大的提高。主要的冗余技术包括结构冗余、信息冗余(如校验码等)、时间冗余 (例如,重复执行计算)、冗余附加4种。
   对于互联网服务软件而言,在设计时也可以采用这些技术来提高可靠性,而且在投入运行之后,还可以采用多台服务器执行多套、实现一些在线的备份。但是由于网络游戏的特殊性,当某台服务器出现故障时,还是会对玩家带来影响。
   互联网服务软件还有一个特点,那就是其发展周期较快,通常会大量地应用到第三方的程序库,因此存在这样那样的错误是不可避免的。由于许多故障都是在系统运行时积少成多,最终暴露出来,导致影响系统运行的故障。因此系统运行时间越长,就越容易产生故障,而定时的主动重新启动是十分有效地解决这个问题的办法。同时,重新启动可以清空一些诸如session和连接缓冲等临时性内容,提高系统的性能。
转载请注明原文地址:https://kaotiyun.com/show/4eQZ777K
0

最新回复(0)