2022真题-架构师案例(二)

news2024/9/25 7:22:40

1、某大型电商平台建立了一个在线B2B商店系统,并在全匡多地建设了货物仓储中心,通过提前备货的方式来提高货物的运送效率。但是在运营过程中,发现会出现很多跨仓储中心调货从而延误货物运送的情况。为此,该企业计划新建立一个全国仓储货物管理系统,在实现仓储中心常规管理功能之外,过对在线B2B商店系统中订单信息进行及时的分析和挖掘,并涌过大数据分析预测各地仓储中心中各类货物的配置数量,从而提高运法效率,降低成本。当用户通过在线B2B商店系统选购货物时,全国仓储货物管理系统会涌过该厍户所在地址、商品类别以及仓储中心的货物信息和地址,实时为厍户订单反馈货物起运地(某仓储中心)并预测送达时间。反馈送达时间的响应时间应小于1秒。为满足反馈法达时司功能的性能要求,设计团队建议在全国仓储货物管理系统中采厍数据缓存集群的方式,将仓储中心基本信息、商品类别以及库存数量放置在内存的缓存中,而仓储中心的真它商品信息则存赭在数据库系统。

问题1:(9分)

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

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

解析:

实时同步则需要实时发送请求,在同一事务里,让所有数据都执行完。而数据异步准实时方案,可以用中间件,如Kafka、RocketMq等来异步通知需要修改的数据,也可以读取binlog日志来异步实时。

全国仓储货物管理可以采用异步准实时同步方案,因为实时性要求没那么高,数据量极大。

问题2:(9分)

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

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

解析:

哈希算法:是根据key算出哈希值,再均匀的分布到各个缓存节点,达到负载均衡的效果。

一致性哈希算法:也是根据key来计算哈希值,但有自己的哈希环,然后把哈希值的位置沿着顺时针查找,将数据分配到第一个遇到集群节点进行缓存。

一致性哈希算法优点:

  1. 可扩展性,当服务器增加或减少时,数据存储改变最小,相比传统哈希算法节省了开销。
  2. 更好的适应数据增长。

问题3:(7分)

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

解析:

布隆过滤器的特点是,存在的数据可能会返回1,这时候数据很可能存在,不存在的数据一定不会返回有值,所以当有黑客攻击的时候,当不存在的,则直接拦截掉。

布隆过滤器缺点:

  1. 不可修改
  2. 查询到伪数据,存在但是返回没有。
  3. 只存key,查询不到真实的value。

优点:

  1. 效率高
  2. 内存占用小
  3. 安全性好,不会暴露真实数据,只存key。

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

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

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

问题1:(5分)

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

解析:

MQTT是消息队列传输协议,它被设计用于轻量级发布/订阅消息传输协议,在某些场景,低宽带或者不稳定网络环境中,MQTT在这种场景提供可靠的服务,为物联网设备提供可靠的服务,MQTT来解决这些场景的问题。

问题2:(14分)

在会议上,张工对功能模块进行了更进一步的说明:访客汪册模块厍于来访者提交申清与被访者确认申谙,主要处理提交来访申谙、来访申清审核业务,同时保存访客数啹,为训练模块准备讠川练数据集:模型训练模块用于使用访客数据进行模型讠川练,为端侧设备的识别业务提供模型基础;端侧识别模块在边缘门禁设备上运行,亻吏厍训练好的模型来识别来访人员,与云端服务协作完成访客耒访的完整业务;设备调度平台模块用于对边缘门禁设备进行管理,管理人员能够使用平台对边缘设备进行调度管理与状态监控,实现云端协同。图5.1给出了基于边缘计算的智能门禁系统架构,结合HTTP协议和MQTT协议的特点,为5.1中()处i台适的协议并结合张工关于功能模块的庙述,补充完善图5.1中()、()处的空白。

解析:

1 HTTP

2MQTT  HTTP

3HTTP   MQTT

4MQTT  HTTP

5HTTP

6HTTP

7端侧识别模块

8模型训练模块

9设备调度平台模块

10访客注册模块

问题3:(6分)

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

解析:

数据通信数据通信更强,不需要时时刻刻通信,不定时更新数据。

数据安全方面更安全,黑客攻击的话只会单个点宕机,不会影响其他点。

系统性能引入边缘计算模型更好,因为本地计算,不需要实时联网,只需要把数据上传。

问题4:(4)

简要分析数据流图在分层细化过程中遵循的数据平衡原则?

解析:

层间平衡:数据流个数一致,方向一致。

图内平衡:有输入无输出是黑洞。有输出无输入是奇迹。输入不足是灰洞

问题5:(7分)

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

解析:

分析阶段:

数据流图主要建立业务流程加工和说明自顶向下对系统进行功能分解数据在系统内移动变换描述功能和加工

数据字典用于建立业务概念有组织的集合,是模型核心库统一的数据元素列表,对模型中的元素有共同理解

设计阶段:

结构化设计根据不同的数据流图分别做出变换和事务映射初始化结构图

根据数据字典中的数据存储描述来建立数据库存储设计

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1945836.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

搜维尔科技:Cyber​​glove通过其前所未有的柔性传感器技术,带来了多年的经验、专业知识和可靠性

Cyberglove 概述 新一代数据手套技术 MoCap 手套采用了原始 CyberGlove 产品 20 年经验所建立的技术,产生了改进的和新的特性、能力和设计,非常适合动作捕捉环境。 旧与新相遇, Cyberglove 通过其前所未有的柔性传感器技术,带来…

【深度学习】PyTorch框架(5):Transformer和多注意力机制

1、引言 在本文中,我们将探讨近两年来最具影响力的模型架构之一——Transformer模型。自从2017年Vaswani等人发表的论文《注意力是你所需要的全部》以来,Transformer架构在多个领域持续刷新着性能记录,尤其是在自然语言处理(NLP&…

【网络安全的神秘世界】 文件上传及验证绕过

🌝博客主页:泥菩萨 💖专栏:Linux探索之旅 | 网络安全的神秘世界 | 专接本 | 每天学会一个渗透测试工具 这个漏洞对于初学者好挖,先找到文件上传的位置 文件上传是web网页中常见的功能之一,通常情况下恶意文…

Windows 11 系统对磁盘进行分区保姆级教程

Windows 11磁盘分区 磁盘分区是将硬盘驱动器划分为多个逻辑部分的过程,每个逻辑部分都可以独立使用和管理。在Windows 11操作系统中进行磁盘分区主要有以下几个作用和意义: 组织和管理数据:分区可以帮助用户更好地组织他们的数据&#xff0c…

怎么使用动态IP地址上网

如何设置动态IP地址上网? 设置动态IP地址上网的步骤如下: 一、了解动态IP地址 动态IP地址是由网络服务提供商(ISP)动态分配给用户的IP地址,它会根据用户的需求和网络情况实时改变。相比于静态IP地址,动态…

闲鱼、抖音、快手纷纷入局,“谷子”经济千亿市场纷争再起

二次元的狂热,终于还是蔓延到了三次元。 此前,在咸鱼上的一场拍卖中,一块直径75mm,重达20克的“吧唧”(徽章),以7.2万人民币的价格被成功拍下。而与此同时,上海黄金交易所中的金价是…

Three.js 官方文档学习笔记

Address:Three.js中文网 (webgl3d.cn) Author:方越 50041588 Date:2024-07-19 第一个3D案例—创建3D场景 创建3D场景对象Scene: const scene new THREE.Scene(); 创建一个长方体几何对象Geometry: const geomet…

【C++】:AVL树的深度解析及其实现

目录 前言一,AVL树的概念二,AVL树节点的定义三,AVL树的插入3.1 第一步3.2 第二步 四,AVL树的旋转4.1 右单旋4.2 左单旋4.3 右左双旋4.4 左右双旋4.5 插入代码的完整实现4.6 旋转总结 五,AVL树的验证六,实现…

详细讲解vue3 watch回调的触发时机

目录 Vue 3 watch 基本用法 副作用刷新时机 flush 选项 flush: pre flush: post flush: sync Vue 3 watch 基本用法 计算属性允许我们声明性地计算衍生值。然而在有些情况下,我们需要在状态变化时执行一些“副作用”:例如更改 DOM,或是…

数字图像处理笔记(一)---- 图像数字化与显示

系列文章目录 数字图像处理学习笔记(一)---- 图像数字化与显示 数字图像处理笔记(二)---- 像素加图像统计特征 数字图像处理笔记(三) ---- 傅里叶变换的基本原理 文章目录 系列文章目录前言一、数字图像处理二、图像数…

文件I/O基础

一、传统I/O数据传输过程 用户进程调用 read() 函数,发送上下文切换,用户进程由用户态切换成内核态,CPU向磁盘发起数据读取IO请求,然后返回;磁盘控制器收到请求,就开始准备数据,把数据放入磁盘控制器的内存缓冲区中,然后产生一个中断;CPU收到中断信号,停下手头工作,…

linux系统查历史cpu使用数据(使用sar 查询cpu和网络占用最近1个月历史数据)。

一 sar 指令介绍 在 Linux 系统中,sar 是 System Activity Reporter 的缩写,是一个用于收集、报告和保存系统活动信息的工具。它是 sysstat 软件包的一部分,提供了丰富的系统性能数据,包括 CPU、内存、网络、磁盘等使用情况&am…

802.11 Omnipeek 抓包

802.11 Omnipeek 抓包 前言Omnipeek安装软件配置 前言 设备准备环节和前面一样,本文不再赘述,参考前面的文章:https://blog.csdn.net/m0_55334946/article/details/140671901 采用 Omnipeek 抓包分析,我可以说比起 wireshark 已…

计算一段英文句子的最后一个单词的长度,单词间以空格隔开。

# 计算一段英文句子的最后一个单词的长度,单词间以空格隔开。 # 例如:输入”how are you“,输出:3EnglishStr:str str(input("请输入你的英文句子:")) EnglishList:list EnglishStr.split( ) strLength len(EnglishL…

走难而正确的路并持之以恒

走难而正确的路并持之以恒 接近八月,台风频繁。气象台说台风“格美”今夜将至,往粤北走,而留在粤东的将是持续的高温。高温的广州,这几晚的天空惊喜不断,成片的火烧云,站在猎德大桥观望,丹红的凤…

ModelArts中sinh算子的开发

一、环境配置 1、创建notebook并连接 使用ModelArts新建一个notebook,我这里镜像选择第一个,里面含有cann和Ascend910处理器,我这里环境只能使用ssh连接,创建一个密钥对,保存到C盘中的user/Administrator/目录下。 在网页中选择使用vscode接入,等待vscode打开后,选择密…

LangChain的数据增强

吾名爱妃,性好静亦好动。好编程,常沉浸于代码之世界,思维纵横,力求逻辑之严密,算法之精妙。亦爱篮球,驰骋球场,尽享挥洒汗水之乐。且喜跑步,尤钟马拉松,长途奔袭&#xf…

给Windows系统中注入服务,即windwos守护进程

最近总是在windwos环境下测试nginx,总是需要频繁重启nginx服务。于是考虑有没有可能把nginx加入到系统服务的操作。在网上找了一大堆资料,现在来总结一下! 方法1:利用nssm工具实现 这是一个守护进程的软件,可以在win…

初阶数据结构——二叉树大汇总

这篇博客将会讲到二叉树的部分内容及堆的相关知识~ 这里将会涉及到大量的递归(头大) 目录 1.树 1.1树的概念 1.2树的相关概念 1.3树的表示 1.4树的实际应用 2.二叉树 2.1二叉树的概念 2.2特殊的二叉树 2.2.1 满二叉树 2.2.2 完全二叉树 2.2…

【昇腾AI创新大赛集训营南京站学习笔记】-Ascend算子开发课程

昇腾AI创新大赛训练营 14:00-14:30 基础知识-理论课 一、CANN 、达芬奇架构和算子 1.AI Core逻辑架构 达芬奇架构包含三部分: 1)计算类:矩阵计算单元(两个矩阵扔进去相乘)、向量计算单元、标量计算单元 2)控…