2022年下半年系统架构设计师考试下午真题(专业解析+参考答案)

第一题(案例题)

试题一是必答题

阅读以下关于软件架构设计与评估的叙述,在答题纸上回答问题1和问题2。

【说明】

某电子商务公司拟升级其会员与促销管理系统,向用户提供个性化服务,提高用户的粘性。在项目立项之初,公司领导层一致认为本次升级的主要目标是提升会员管理方式的灵活性,由于当前用户规模不大,业务也相对简单,系统性能方面不做过多考虑。新系统除了保持现有的四级固定会员制度外,还需要根据用户的消费金额、偏好、重复性等相关特征动态调整商品的折扣力度,并支持在特定的活动周期内主动筛选与活动主题高度相关的用户集合,提供个性化的打折促销活动。

在需求分析与架构设计阶段,公司提出的需求和质量属性描述如下:

(a)管理员能够在页面上灵活设置折扣力度规则和促销活动逻辑,设置后即可生效;

(b)系统应该具备完整的安全防护措施,支持对恶意攻击行为进行检测与报警;

(c)在正常负载情况下,系统应在0.3秒内对用户的界面操作请求进行响应;

(d)用户名是系统唯一标识,要求以字母开头,由数字和字母组合而成,长度不少于6个字符;

(e)在正常负载情况下,用户支付商品费用后在3秒内确认订单支付信息;

(f)系统主站点电力中断后,应在5秒内将请求重定向到备用站点;

(g)系统支持横向存储扩展,要求在2人•天内完成所有的扩展与测试工作;

(h)系统宕机后,需要在10秒内感知错误,并自动启动热备份系统;

(i)系统需要内置接口函数,支持开发团队进行功能调试与系统诊断;

(j)系统需要为所有的用户操作行为进行详细记录,便于后期查阅与审计;

(k)支持对系统的外观进行调整和配置,调整工作需要在4•人天内完成。

在对系统需求、质量属性描述和架构特性进行分析的基础上,系统架构师给出了两种候选的架构设计方案,公司目前正在组织相关专家对系统架构进行评估。

【问题1】(12分)

在架构评估过程中,质量属性效用树(utility tree)是对系统质量属性进行识别和优先级排序的重要工具。请将合适的质量属性名称填入图1-1中(1)、(2)空白处,并选择题干描述的(a)~(k)填入(3)~(6)空白处,完成该系统的效用树。

【问题2】(13分)

针对该系统的功能,李工建议采用面向对象的架构风格,将折扣力度计算和用户筛选分别封装为独立对象,通过对象调用实现对应的功能;王工则建议采用解释器(interpreters)架构风格,将折扣力度计算和用户筛选条件封装为独立的规则,通过解释规则实现对应的功能。请针对系统的主要功能,从折扣规则的可修改性、个性化折扣定义灵活性和系统性能三个方面对这两种架构风格进行比较与分析,并指出该系统更适合采用哪种架构风格。

2022年下半年系统架构设计师考试下午真题(专业解析+参考答案)_第1张图片

查看答案与解析

【问题1】

(1)安全性

(2)可修改性

(3)(e)

(4)(j)

(5)(h)

(6)(k)

【问题2】

应该选择解释器架构风格。

折扣规则的可修改性:解释器风格比面向对象方式实现强。因为解释器风格折扣规则是独立的语法规则,由解释器可对变化的规则进行解析,修改更容易。而面向对象相对固定,有变化需要修改具体的类。

个性化折扣定义灵活性:解释器强于面向对象,解释器可以根据用户灵活解释执行规则,做到千人千面。

系统性能:面向对象优于解释器。面向对象的实现相对固定,而解释器是运行期动态绑定执行。

所属知识点:案例分析>软件质量属性

参考解析1:

【问题1】本题主要考查考生对软件架构评估、软件质量属性以及架构评估中相关概念的理解与掌握。考生应该在熟记基础概念的基础上结合实际问题灵活掌握并应用这些概念。在解答本题时,首先需要对题干中的所有软件需求描述进行分析与梳理,区分并找出其中的需求分析、软件质量属性描述,或者可能的风险、权衡点或敏感点描述。具体列举如下:

(a)管理员能够在页面上灵活设置折扣力度规则和促销活动逻辑,设置后即可生效,对应易用性属性。

(b)系统应该具备完整的安全防护措施,支持对恶意攻击行为进行检测与报警,对应安全性属性。

(c)在正常负载情况下,系统应在0.3秒内对用户的界面操作请求进行响应;对应性能属性。

(d)用户名是系统唯一标识,要求以字母开头,由数字和字母组合而成,长度不少于6个字符,对应系统的设计约束。

(e)在正常负载情况下,用户支付商品费用后在3秒内确认订单支付信息,对应性能属性。

(f)系统主站点电力中断后,应在5秒内将请求重定向到备用站点,对应可用性属性。

(g)系统支持横向存储扩展,要求在2人天内完成所有的扩展与测试工作,对应可修改性属性。

(h)系统宕机后,需要在10秒内感知错误,并自动启动热备份系统,对应可用性属性。

(i)系统需要内置接口函数,支持开发团队进行功能调试与系统诊断,对应可测试性属性。

(j)系统需要为所有的用户操作行为进行详细记录,便于后期查阅与审计,对应安全性属性。

(k)支持对系统的外观进行调整和配置,调整工作需要在4人天内完成,对应可修改性属性。

【问题2】在解答本题时,需要从可修改性、灵活性和系统性能三个方面进行综合考虑。从可修改性来看,解释器风格折扣规则是独立的语法规则,由解释器可对变化的规则进行解析,修改更容易。而面向对象相对固定,有变化需要修改具体的类。从灵活性来看,解释器可以根据用户灵活解释执行规则,优于面向对象。从系统性能来看,面向对象优于解释器。综合三个方面来看,解释器的优势更大,所以该系统更适合采用解释器风格。

第2题(案例题)

阅读以下关于软件系统设计与建模的叙述,在答题纸上回答问题1至问题3。

【说明】

煤炭生产是国民经济发展的主要领域之一,其煤矿的安全非常重要。某能源企业拟开发一套煤矿建设项目安全预警系统,以保护煤矿建设项目从业人员生命安全。本系统的主要功能包括如下(a)~(h)所述。

(a) 项目信息维护

(b) 影响因素录入

(c) 关联事故录入

(d) 安全评价得分

(e) 项目指标预警分析

(f) 项目指标填报

(g) 项目指标审核

(h)项目指标确认

【问题1】(9分)

王工根据煤矿建设项目安全预警系统的功能要求,设计完成了系统的数据流图,如图2-1所示。请使用题干中描述的功能(a)~(h),补充完善空(1)~(6)处的内容,并简要介绍数据流图在分层细化过程中遵循的数据平衡原则。

2022年下半年系统架构设计师考试下午真题(专业解析+参考答案)_第2张图片

图2-1 煤矿建设项目安全预警系统数据流图

【问题2】(9分)

请根据【问题1】中数据流图表示的相关信息,补充完善煤矿建设项目安全预警系统总体E-R图(见图2-2)中实体(1)~(6)的具体内容,将正确答案填在答题纸上。

2022年下半年系统架构设计师考试下午真题(专业解析+参考答案)_第3张图片

图2-2 煤矿建设项目安全预警系统总体E-R图

【问题3】(7分)

在结构化分析和设计过程中,数据流图和数据字典是常用的技术手段,请用200字以内的文字简要说明它们在软件需求分析和设计阶段的作用。

查看答案与解析

【问题1】

(1)f

(2)g

(3)h

(4)d

(5)b

(6)e

分层细化的数据平衡原则:

1、子图与父图之间的平衡:

(1)父图与子图之间平衡是指任何一张DFD子图边界上的输入/输出数据流必须与其父图对应加工的输入/输出数据流保持一致。

(2)如果父图中某个加工的一条数据流对应于子图中的几条数据流,而子图中组成这些数据流的数据项全体正好等于父图中的这条数据流,那么它们仍然是平衡的。

2、子图内部:加工的输入和输出需要平衡。

【问题2】

(1)项目管理员

(2)项目经理

(3)项目指标数据

(4)~(6)指标参数、项目信息、事故及影响因素参数

【问题3】

数据流图分析阶段:建立系统的功能模型,从而完成需求分析。

数据流图设计阶段:为模块划分与模块之间接口设计提供依据。

数据字典在分析与设计阶段的作用为:

是所有人员工作的依据,统一的标准。它可以确保数据在系统中的完整性和一致性。

具体作用包括:按各种要求列表、相互参照、由描述内容检索名称、一致性检验和完整性检验。

案例分析>系统设计

参考解析1:【问题1】首先可以从安全员->1的数据流指标数据,以及1->项目指标数据表的数据流可以得出这里应该2是填报项目指标,所以应该选(f);从安全副经理->2的数据流审核信息,以及项目指标填报->2的数据流可以得出这里2应该是审核项目指标,所以应该选(g);从项目经理->3的数据流确认信息,以及项目指标审核->3的数据流可以得出这里3应该是确认项目指标,所以应该选(h);可以从6->指标预警分析的数据流可以得出这里6应该是项目指标预警分析,所以应该选(e);可以从5->事故及影响因素参数表的数据流可以得出这里5应该是影响因素录入,所以应该选(b);(a) 项目信息维护以及(c) 关联事故录入都已经在图中出现过了,所以剩下4应该为(d)。

分层细化的数据平衡原则首先要考虑分层数据流图中的数据平衡原则,父类和子类之间的数据流必须保持一致,包括数量和内容上一致,或者上(下)层输出等于上(下)层的输出。然后要考虑每张数据流图的数据平衡原则。加工的输入数据流和输出数据流要平衡,保证加工的输出数据流都有对应的输入和输出数据流。避免三种常见错误:黑洞:只进不出。奇迹:只出不进。灰洞:加工不出输出流。

【问题2】这里需要结合第一问的数据流图来进行分析,安全员进行项目指标的填报,安全副经理进行项目指标的审核,项目经理进行项目指标的确认。所以这里第2空应该为项目经理,第3空应该为项目指标数据。第1空对应的应该是第一问数据流图中的项目管理员,所以第4、5、6空应该为对应的指标参数、项目信息、事故及影响因素参数,三者顺序没有具体要求。

【问题3】数据流图是描述数据处理过程的工具,从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。数据流在分析阶段的作用是建立系统的功能模型。在设计阶段的作用是为模块划分与模块之间接口设计提供依据。数据字典是对于数据流图中出现的所以被命名的图形元素在数据字典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的解释。数据字典是所有人员工作的依据,统一的标准。它可以确保数据在系统中的完整性和一致性。

第4题(案例题)

阅读以下关于嵌入式系统故障检测和诊断的相关描述,在答题纸上回答问题1至问题3。

【说明】

系统的故障检测和诊断是宇航系统提高装备可靠性的主要技术之一,随着装备信息化的发展,分布式架构下的资源配置越来越多、资源布局也越来越分散,这对系统的故障检测和诊断方法提出了新的要求。为了适应宇航装备的分布式综合化电子系统的发展,解决由于系统资源部署的分散性,造成系统状态的综合和监控困难的问题,公司领导安排张工进行研究。张工经过分析、调研提出了针对分布式综合化电子系统架构的故障检测和诊断的方案。

【问题1】(8分)

张工提出:宇航装备的软件架构可采用四层的层次化体系结构,即模块支持层、操作系统层、分布式中间件层和功能应用层。为了有效、方便地实现分布式系统的故障检测和诊断能力,方案建议将系统的故障检测和诊断能力构建在分布式中间件内,通过使用心跳或者超时探测技术来实现故障检测器。请用300字以内的文字分别说明心跳检测和超时探测技术的基本原理及特点。

【问题2】(8分)

张工针对分布式综合化电子系统的架构特征,给出了初步设计方案,指出每个节点的故障监测与诊断器主要负责监控系统中所有的故障信息,并将故障信息进行综合分析判断,使用故障诊断器分析出故障原因,给出解决方案和措施。系统可以给模块的每个处理机器核配置核状态监控器、给每个分区配置分区状态监控器、给每个模块配置模块状态监控器、给系统配置系统状态监控器,如图3-1所示。

2022年下半年系统架构设计师考试下午真题(专业解析+参考答案)_第4张图片

                                                        图3-1 系统故障检测和诊断原理

请根据下面给出的分布式综合化电子系统可能产生的故障(a)~(h),判断这些故障分别属于哪类监控器检测的范围,完善表3-1的(1)~(8)的空白。

(a)应用程序除零

(b)看门狗故障

(c)任务超时

(d)网络诊断故障

(e)BIT检测故障

(f)分区堆栈溢出

(g)操作系统异常

(h)模块掉电

2022年下半年系统架构设计师考试下午真题(专业解析+参考答案)_第5张图片

【问题3】(9分)

张工在方案中指出,本系统的故障诊断采用故障诊断器实现,它可综合多种故障信息和系统状态,依据智能决策数据库提供的决策策略判定出故障类型和处理方法。智能决策数据库中的策略可以对故障开展定性或定量分析。通常,在定量分析中,普遍采用基于解析模型的方法和数据驱动的方法。张工在方案中提出该系统定量分析时应采用基于解析模型的方法。但是此提议受到王工的反对,王工指出采用数据驱动的方法更适合分布式综合化电子系统架构的设计。请用300字以内的文字,说明数据驱动方法的基本概念,以及王工提出采用此方法的理由。

查看答案与解析

【问题1】

心跳是一种用于故障检测的手段。分布式系统中,各种异常,如:宕机、磁盘损坏、网络故障等,时有发生,通过心跳可以快速有效的定位集群中的错误结点,并做及时的处理保证集群正常服务

通常探针会不断发送健康检查来检查服务是否健康。当远程节点没有响应时,我们只能猜测数据包在过程中的某个地方丢失了。下一个操作将是重试或等待一段时间,直到超时。

【问题2】

(1)(2) : be

(3):f

(4)(5)(6):adh

(7)(8)gc

【问题3】

通过对系统运行过程中的监测数据进行分析,从而在无精准系统数学模型情况下,对系统进行故障诊断,具体方法包括机器学习、统计分析法和信号分析法 。

因为宇航系统是一个非常复杂的系统,如果采用张工的方案(基于解析模型的方法),这一类方法需要建立在精准数学模型的基础上来进行故障诊断。但是对于宇航系统这种非常复杂的系统难以精确建模。所以王工提出了数据驱动的方法,不需要精准系统数学模型。

参考解析1:

【问题1】心跳顾名思义,就是以固定的频率向其他节点汇报当前节点状态的方式。收到心跳,一般可以认为一个节点和现在的网络拓扑是良好的。当然,心跳汇报时,一般也会携带一些附加的状态、元数据信息,以便管理。故障检测是任何一个拥有容错性的分布式系统的基本功能,而实际上所有的故障检测协议都基于心跳通讯机制,原理很简单,被监控的组件定期发送心跳信息给监控进程(或者由监控进程轮询被监控组件),如果有一段时间没有收到心跳信息就被认为失效了。通常探针会不断发送健康检查来检查服务是否健康。健康检查是一种让系统知道应用程序实例是否正常运行的简单方法。当远程节点没有响应时,我们只能猜测数据包在过程中的某个地方丢失了。下一个操作将是重试或等待一段时间,直到超时。

【问题2】首先可以通过名称进行定位,分区堆栈溢出应该属于分区状态监控器的检测范围,操作系统异常应该属于系统状态监控器的检测范围,模块掉电应该属于模块状态监控器的检测范围,其次可以判断任务超时是操作系统层面的,应该属于系统状态监控器的检测范围。核状态监控器主要监控的是CPU,硬件层次,所以看门狗故障以及BIT检测故障应该属于核状态监控器的检测范围,最后剩下应用程序除零以及网络诊断故障应该属于模块状态监控器的检测范围。

【问题3】基于定量分析的故障诊断方法可以分为基于解析模型的方法和基于数据驱动的方法。(1)基于分析模型的方法通过被研究对象的数学模型和可观测输入输出量构造残差信号,在此基础上进行故障诊断。此类方法需要建立在精准数学模型的基础上,进行故障诊断。但是在实际中,复杂的系统难以精确建模,因此该类方法在实际应用中会有很大的局限。 (2)基于数据驱动的方法通过对系统运行过程中的监测数据进行分析,从而在无精准系统数学模型情况下,对系统进行故障诊断,具体方法包括机器学习、统计分析法和信号分析法等等(数据驱动的方法是现有大量的数据,而不是预设模型,然后用很多简单的模型来契合数据。虽然通过这种方法找到的模型可能和真实模型存在一定的偏差,但是在误差允许的范围内,单从结果上和精确的模型是等效的)。对于宇航系统这种非常复杂的系统难以精确建模。所以王工提出了数据驱动的方法,不需要精准系统数学模型。

第4题(案例题)

阅读以下关于数据库缓存的叙述,在答题纸上回答问题1至问题3。

【说明】

某大型电商平台建立了一个在线 B2B 商店系统,并在全国多地建设了货物仓储中心,通过提前备货的方式来提高货物的运送效率。但是在运营过程中,发现会出现很多跨仓储中心调货从而延误货物运送的情况。为此,该企业计划新建立一个全国仓储货物管理系统,在实现仓储中心常规管理功能之外,通过对在线 B2B 商店系统中订单信息进行及时的分析和挖掘,并通过大数据分析预测各地仓储中心中各类货物的配置数量,从而提高运送效率,降低成本。

当用户通过在线 B2B 商店系统选购货物时,全国仓储货物管理系统会通过该用户所在地址、商品类别以及仓储中心的货物信息和地址,实时为用户订单反馈货物起运地(某仓储中心)并预测送达时间。反馈送达时间的响应时间应小于1秒。

为满足反馈送达时间功能的性能要求,设计团队建议在全国仓储货物管理系统中采用数据缓存集群的方式,将仓储中心基本信息、商品类别以及库存数量放置在内存的缓存中,而仓储中心的其它商品信息则存储在数据库系统。

【问题1】(9分)

设计团队在讨论缓存和数据库的数据一致性问题时,李工建议采取数据实时同步更新方案,而张工则建议采用数据异步准实时更新方案。

请用200字以内的文字,简要介绍两种方案的基本思路,说明全国仓储货物管理系统应该采用哪种方案,并说明采取该方案的原因。

【问题2】(9分)

随着业务的发展,仓储中心以及商品的数量日益增加,需要对集群部署多个缓存节点,提高缓存的处理能力。李工建议采用缓存分片方法,把缓存的数据拆分到多个节点分别存储,减轻单个缓存节点的访问压力,达到分流效果。

缓存分片方法常用的有哈希算法和一致性哈希算法,李工建议采用一致性哈希算法来进行分片。请用200字以内的文字简要说明两种算法的基本原理,并说明李工采用一致性哈希算法的原因。

【问题3】(7分)

全国仓储货物管理系统开发完成,在运营一段时间后,系统维护人员发现大量黑客故意发起非法的商品送达时间查询请求,造成了缓存击穿。张工建议尽快采用布隆过滤器方法解决。请用200字以内的文字解释布隆过滤器的工作原理和优缺点。

查看答案与解析

【问题1】

实时方案:当数据库数据更新时,同时更新内存的缓存数据。

异步准实时更新方案:当数据库数据更新时,不立即更新缓存数据,而是将需要更新的操作记录成日志,再逐步排队完成更新。

本题中,建议采用准实时方案,理由是:题目中对性能有严格要求,要求1s内完成。实时同步方案最大的问题在于同步并发时的性能不可控。所以准实时方案才能确保该要求能实现。

【问题2】

哈希分片:通过对key进行hash操作,可以把数据分配到不同实例,这类似于取余操作,余数相同的,放在一个实例上。

一致性哈希分片:哈希分片的改进,把存储结点和需要存储的数据都存放在一个hash环上,数据根据hash值在hash环上按正时针方向找到对应的数据存储结点上。

一致性哈希分片的方式在扩充缓存结点时,只需要对少量数据进行存储位置的更新,而哈希分片需要对几乎所有数据进行存储位置更新。

【问题3】

布隆过滤器通过一个很长的二进制向量和一系列随机映射函数来记录与识别某个数据是否在一个集合中。如果数据不在集合中,能被识别出来,不需要到数据库中进行查找,所以能将数据库查询返回值为空的查询过滤掉。

优点:

  1. 占用内存小

  1. 查询效率高

  1. 不需要存储元素本身,在某些对保密要求比较严格的场合有很大优势

缺点:

  1. 有一定的误判率,即存在假阳性,不能准确判断元素是否在集合中。

  1. 不能获取元素本身

  1. 一般情况下不能从布隆过滤器中删除元素

案例分析>数据架构建模

参考解析1:

【问题1】实时方案与异步准实时更新方案的区别在于实时方案需要同时更新缓存数据,而异步准实时更新方案则是先生成日志再逐步完成更新,但是实时同步方案最大的问题在于同步并发时的性能不可控。而题目中对性能有严格要求,要求1s内完成。所以应该选择异步准实时更新方案。

【问题2】哈希算法也叫散列算法,简单一句话概括, 就是可以把任意长度的输入信息通过算法变换成固定长度的输出信息, 输出信息也就是哈希值。主要特点:1、不可逆。从哈希值不能推导出原始数据, 所以Hash算法广泛应用在现代密码体系中。2、效率高。在处理比较大的原生值时,也能快速的计算出哈希值。3、无规律。原始输入信息修改一点信息, 得到的哈希值也是大不相同的。一致性哈希算法将整个哈希值组织成为一个抽象圆环,称之为哈希环。哈希函数的输出值一般在0到INT_MAX(通常为1-2^32)之间,这些输出可以均匀地映射到哈希环上。相比普通的哈希分片,一致性哈希在处理分片中添加或删除节点时,可以有效避免大量数据的迁移。

【问题3】布隆过滤器(Bloom Filter)是由布隆(Burton Howard Bloom)在1970年提出的。它实际上是由一个很长的二进制向量和一系列随机映射函数组成,布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难,但是没有识别错误的情形。直观的说,bloom算法类似一个hash set,用来判断某个元素(key)是否在某个集合中。和一般的hash set不同的是,这个算法无需存储key的值,对于每个key,只需要k个比特位,每个存储一个标志,用来判断key是否在集合中。

第五题(案例题)

阅读以下关于 Web 系统架构设计的叙述,在答题纸上回答问题1至问题3。

【说明】

某公司拟开发一套基于边缘计算的智能门禁系统,用于如园区、新零售、工业现场等存在来访、被访业务的场景。来访者在来访前,可以通过线上提前预约的方式将自己的个人信息记录在后台,被访者在系统中通过此请求后,来访者在到访时可以直接通过“刷脸”的方式通过门禁,无需做其他验证。此外,系统的管理员可对正在运行的门禁设备进行管理。

基于项目需求,该公司组建项目组,召开了项目讨论会。会上,张工根据业务需求并结合边缘计算的思想,提出本系统可由访客注册模块、模型训练模块、端侧识别模块与设备调度平台模块等四项功能组成。李工从技术层面提出该系统可使用 Flask 框架与 SSM 框架为基础来开发后台服务器,将开发好的系统通过 Docker 进行部署,并使用 MQTT 协议对 Docker 进行管理。

【问题1】(5分)

MQTT 协议在工业物联网中得到广泛的应用,请用300字以内的文字简要说明 MQTT 协议。

【问题2】(14分)

在会议上,张工对功能模块进行了更进一步的说明:访客注册模块用于来访者提交申请与被访者确认申请,主要处理提交来访申请、来访申请审核业务,同时保存访客数据,为训练模块准备训练数据集;模型训练模块用于使用访客数据进行模型训练,为端侧设备的识别业务提供模型基础;端侧识别模块在边缘门禁设备上运行,使用训练好的模型来识别来访人员,与云端服务协作完成访客来访的完整业务;设备调度平台模块用于对边缘门禁设备进行管理,管理人员能够使用平台对边缘设备进行调度管理与状态监控,实现云端协同。

图5-1给出了基于边缘计算的智能门禁系统架构图,请结合 HTTP 协议和 MQTT 协议的特点,为图5-1中(1)~(6)处选择合适的协议;并结合张工关于功能模块的描述,补充完善图5-1中(7)~(10)处的空白。

2022年下半年系统架构设计师考试下午真题(专业解析+参考答案)_第6张图片

图5-1 基于边缘计算的智能门禁系统

【问题3】(6分)

请用300字以内的文字,从数据通信、数据安全和系统性能等方面简要分析在传统云计算模型中引入边缘计算模型的优势。

查看答案与解析

【问题1】

MQTT(消息队列遥测传输)是一个基于发布/订阅模式的消息协议。它工作在 TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型消息协议。MQTT协议是轻量、简单、开放和易于实现的。

【问题2】

(1)HTTP

(2)MQTT

(3)MQTT

(4)MQTT

(5)HTTP

(6)HTTP

(7)端侧识别

(8)模型训练

(9)设备调度

(10)访客注册

【问题3】

数据通信:通信更快捷,数据量更少。因为数据处理对比在边缘设备上完成,通信更多时候只传输匹配与结果的指令。

数据安全:数据以加密方式存储在需要用到的边缘设备上,本地化处理比对,减少原始信息在网上的传递带来的安全隐患。黑客也无法通过攻破一个结点使整个系统瘫痪。

系统性能:性能更高,以人脸识别为例,在进行识别时,只在本地进行比对不用把人脸数据传递到远程服务器对比。

参考解析1:

【问题1】MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为远程连接设备提过实时可靠的消息服务,作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。

【问题2】根据题干信息“端侧识别模块在边缘门禁设备上运行,使用训练好的模型来识别来访人员,与云端服务协作完成访客来访的完整业务”,所以图中与门禁识别前端相关联的第7空应该为端侧识别模块,根据“设备调度平台模块用于对边缘门禁设备进行管理,管理人员能够使用平台对边缘设备进行调度管理与状态监控,实现云端协同”, 所以图中与调度管理前端相关联的第9空应该为设备调度模块,根据“模型训练模块用于使用访客数据进行模型训练,为端侧设备的识别业务提供模型基础”,所以图中与端侧识别模块相关联的第8空应该为模型训练模块,剩下第10空应该为访客注册模块。

【问题3】边缘计算模型区别于传统的云计算模型、网格计算模型、分布式计算等模型,是一种新型的计算模型。

(1)从资源配置看

边缘计算是调动全局的资源为其所用,是集中心侧、边缘侧资源整体优势进行相应的处理,完成全局的最优。也就是说,边缘计算并不是孤立的计算模型,需要整体考虑资源的配置和调度。

(2)从协同模式看

边缘计算具备中心侧和边缘侧两方的资源,因此需要进行协同,本地能处理好的事情,就近处理,解决不了的事情交予中心侧或其他协同方的资源进行处 理。因此,边缘计算模型是一种协同计算模型,与各个边缘侧、中心侧都有关联,需要统一的协调和资源调配,达到资源利用的最大化。

(3)从智能程度看

边缘计算需要优势互补,需要协同并进、需要感知用户场景、需要优化配置资源,而这些势必需要机器智能,因此边缘计算涵盖一种智能化的、自动化的资源配置方式。事前简单的用户配置、参数定义,不能有效满足用户侧的效用需求。用户侧需要实时得感知配置资源,以便就近提供高带宽、高可靠、高性能的服务。

(4)从体系结构看

边缘计算是在靠近网络边缘侧大规模部署智能终端设备,和传统的云、网、端三层模型具有一致性,但是亦有区别。原因在于,云、网、端只是基础设施的布局,是静态的一种结构,而边缘计算本质是一种动态的、自动化的资源配置方式,从而区别于以上静态结构。更确切的讲,边缘计算是云、网、端、智四位一体的模型,智能纵向涵盖云、网、端,从上到下均涵盖。因此边缘计算是一种具备智能的云、网、端结构,智能化是其重要的特征之一。

(5)从异构处理看

参与边缘计算的设备众多,设备的异构是边缘计算的一大特征。传统的云计算往往通过设备的虚拟化、形成众多的虚拟机来进行统一管理。而边缘计算的设备异构型不能简单的虚拟化来解决,其复杂程度要远远高于云计算。例如:不 同类型、不同指标、不同参数、不同用途、不同厂商、不同功能的设备需要互联,需要统一处理相应的问题。设备间的互联互通将是边缘计算模型中不可或缺的组成部分,是目前该技术面临的一大挑战。

(6)从服务模式看

云计算具有三层服务模式,即:IaaS、PaaS、SaaS,而边缘计算将对此模式进行改变或补充。边缘计算不具有典型的三层模式,边缘计算无需统一屏蔽底层的差异,而是根据应用需求进行把控。边缘计算模型不具备云计算典型的三层 服务模式。边缘计算模型需要考虑问题是如何和云计算三层模型进行有效的对接和协同,而不是进行统一。因此,边缘计算具有其差异性和特殊性,不是典型的三层服务模型。

边缘计算模型的优势:从数据通信方面来看,通信更快捷,数据量更少。从数据安全方面来看,数据以加密方式存储在需要用到的边缘设备上,本地化处理比对,减少原始信息在网上的传递带来的安全隐患。从系统性能来看,性能更高,本地能处理好的事情,就近处理。

你可能感兴趣的:(系统架构师,软件工程)