系统架构设计师-软件水平考试(高级)-论文-可靠性设计 (3)

另外这篇论文与之前论文存在一个结构上的不同之处,那就是这次的核心论点只有两个分论点。不过,第二个论点-降低复杂度设计,是通过两个方面进行阐述的。这也算是论文中核心论点的一种回答方式。往往论文的核心论点,推荐使用三个分论点进行论述,而部分论文的核心论点就只能拆分为两个分论点(或者,三个论点的拆分维度,自己不熟悉)。这时候就需要灵活的转变自己的思想,将核心论点的两个分论点氛围主次论点回答,实际体现就是主论点两个段落,次论点一个段落。

既然说到这里,也说一下,如果核心论点可以拆分出多个分论点。如架构风格的层次架构完全可以拆分为接入层,应用层,服务层(基础服务层,通用服务层,业务服务层),数据接入层,数据源等。那么这种情况,我们完全可以从中挑选三点自己熟悉的部分,进行阐述。如果担心这样写,文章显得比较僵硬,就在相关位置写上“此处,我们以XXX,XXX,XXX为重点,进行论述"这样的话语即可。

附录

早期未修改的论文:

摘要:
本人于2015年11月参与浙江省某在线教育平台“外教一对一在线教育”项目,该项目为客户提供了一对一欧美外教视频教学,社交圈,公众直播等功能提供全方位的软件支撑,在该项目组中我担任系统架构师岗位,主要负责整体架构设计与中间件选型。本文以该教育平台为例,主要讨论了该系统有关可靠性方面的设计与应用。一方面通过负载均衡与应用服务器集群实现容错技术中冗余设计的实现,另一方面通过建立了接入层,应用层,服务层,数据层四层层次的架构来降低明确系统结构,从而系统设计复杂度,提高系统可靠性。整个系统开发工作历时18个月。目前,该系统已经稳定运行近一年半的时间。实践证明,通过容错设计,降低复杂度设计等,系统有效提高了可靠性,从而为公司业务提供持续稳定的服务支撑。

正文:
随着国家对教育的越发重视,英语教育的市场份额逐步上升,其中用户口语提升的需求越来越大。为此,一些公司开始提供与外国人聊天的平台。我所在公司决定从国际通讯领域进军口语教育领域。为了这项战略转变,公司于2015年11月设计某在线教育平台系统(一下简称为“系统”)。该系统帮助人们与欧美外教进行面对面的口语交流和教学。其中随意聊提供了一种类似QQ视频通话,而正式课程还提供了H5互动课件与课后点评等,以提高教学质量。与此同时,还有公众直播用于拉新,AI测试用于评定学院能力,降低成本。我参与了该项目的开发工作,担任系统架构设计师职务,负责设计系统架构。本项目组全体成员共9人,我主要负责项目计划制定,需求分析,整体架构设计与技术选型,以及部分底层设计。该项目的架构工作与次年2月完成,选择了层次架构风格。整个项目耗时18个月,于2017年5月完成。

目前主流的可靠性设计技术有容错设计,检错设计,降低复杂度设计等技术。容错设计技术分为恢复块设计,N版本程序设计和冗余设计。其中恢复块设计是选择一组软件操作作为容错设计单元,将普通的程序块编程恢复块。N版本程序设计的核心是通过设计出多个模块或不同版本,对于相同初始条件和相同输入的操作结果,实现多数表决,防止其中某一软件模块/版本的故障提供错误的服务,以实现软件容错。冗余设计是在一套完整的软件系统之外,设计一种不同路径,不同算法或不同实现方法的模块或系统作为备份,在出现故障时可以使用冗余的部分进行替换,从而维持软件系统的正常运行。缺点是费用和资源的消耗会有所增加。检错技术是在软件出现故障后能及时发现并报警。其缺点是不能自动解决故障。降低复杂度设计是因为软件复杂性与软件可靠性有着密切关系,是产生软件缺陷的重要根源。在设计时考虑降低软件的复杂性,是提高软件可靠性的有效方法。

在了解系统需求后,我们决定听从公司技术顾问的建议,在容错设计,检错设计,降低复杂度设计三个主流方向分别作出相应处理和应用。容错设计主要应用在冗余设计方面,通过负载均衡,双机容错等机制完成冗余设计。检错设计则是通过对Java异常处理机制的设计与封装处理完成。至于降低复杂度,我们应用层次清晰的四层层次架构。通过将系统划分为接入层,应用层,服务层,数据层,使得系统的结构明确,立体,从而降低系统复杂度。限于篇幅,接下来,我将从系统的冗余设计,复杂度降低设计两个方面介绍可靠性在系统中的设计与应用,以及应用过程中遇到的问题。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyygzx.html