1、某大型电商平台建立了一个在线B2B商店系统,并在全匡多地建设了货物仓储中心,通过提前备货的方式来提高货物的运送效率。但是在运营过程中,发现会出现很多跨仓储中心调货从而延误货物运送的情况。为此,该企业计划新建立一个全国仓储货物管理系统,在实现仓储中心常规管理功能之外,过对在线B2B商店系统中订单信息进行及时的分析和挖掘,并涌过大数据分析预测各地仓储中心中各类货物的配置数量,从而提高运法效率,降低成本。当用户通过在线B2B商店系统选购货物时,全国仓储货物管理系统会涌过该厍户所在地址、商品类别以及仓储中心的货物信息和地址,实时为厍户订单反馈货物起运地(某仓储中心)并预测送达时间。反馈送达时间的响应时间应小于1秒。为满足反馈法达时司功能的性能要求,设计团队建议在全国仓储货物管理系统中采厍数据缓存集群的方式,将仓储中心基本信息、商品类别以及库存数量放置在内存的缓存中,而仓储中心的真它商品信息则存赭在数据库系统。
问题1:(9分)
设计团队在讨论缓存和数据库的数据一致性问题时,李工建议采取数据实时同步更新方案,而张三则建议采用数据异步准实时方案。
请用200字内的文字,简要介绍两种方案基本思路,说明全国仓储货物管理系统应该采用哪种方案,并说明原因。
解析:
实时同步则需要实时发送请求,在同一事务里,让所有数据都执行完。而数据异步准实时方案,可以用中间件,如Kafka、RocketMq等来异步通知需要修改的数据,也可以读取binlog日志来异步实时。
全国仓储货物管理可以采用异步准实时同步方案,因为实时性要求没那么高,数据量极大。
问题2:(9分)
随着业务发展,仓储中心以及商品数量日益增加,需要对集群部署多个缓存节点,提高缓存处理能力。李工建议采用缓存分片方法,把缓存数据拆分到多个节点分别存储,减轻单个缓存节点访问压力,达到分流效果。
缓存分片有哈希算法和一致性哈希算法,李工建议采用一致性哈希算法来进行分片,用200字内简要说明两种算法的基本原理,并说明李工采用一致性哈希算法的原因。
解析:
哈希算法:是根据key算出哈希值,再均匀的分布到各个缓存节点,达到负载均衡的效果。
一致性哈希算法:也是根据key来计算哈希值,但有自己的哈希环,然后把哈希值的位置沿着顺时针查找,将数据分配到第一个遇到集群节点进行缓存。
一致性哈希算法优点:
- 可扩展性,当服务器增加或减少时,数据存储改变最小,相比传统哈希算法节省了开销。
- 更好的适应数据增长。
问题3:(7分)
全国仓存获取管理系统开发完成,在运营一段时间后,系统维护人员发现大量黑客故意发起非法的商品送达时间查询请求,造成了缓存击穿,张工建议尽快采用布隆过滤器方法解决。请求200字以内的文字解释布隆过滤器工作的原理和优缺点。
解析:
布隆过滤器的特点是,存在的数据可能会返回1,这时候数据很可能存在,不存在的数据一定不会返回有值,所以当有黑客攻击的时候,当不存在的,则直接拦截掉。
布隆过滤器缺点:
- 不可修改
- 查询到伪数据,存在但是返回没有。
- 只存key,查询不到真实的value。
优点:
- 效率高
- 内存占用小
- 安全性好,不会暴露真实数据,只存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
2 HTTPMQTT
3 MQTTHTTP
4 HTTPMQTT
5HTTP
6HTTP
7端侧识别模块
8模型训练模块
9设备调度平台模块
10访客注册模块
问题3:(6分)
用300字以内的文字,从数据通信、数据安全和系统性能等方面简要分析在传统运计算模型中引入边缘计算模型的优势。
解析:
数据通信数据通信更强,不需要时时刻刻通信,不定时更新数据。
数据安全方面更安全,黑客攻击的话只会单个点宕机,不会影响其他点。
系统性能引入边缘计算模型更好,因为本地计算,不需要实时联网,只需要把数据上传。
问题4:(4)
简要分析数据流图在分层细化过程中遵循的数据平衡原则?
解析:
层间平衡:数据流个数一致,方向一致。
图内平衡:有输入无输出是黑洞。有输出无输入是奇迹。输入不足是灰洞。
问题5:(7分)
在结构化分析和设计过程中,数据流图和数据字典是常用的技术手段,用200字以内的文字简要说明它们在软件需求分析和设计阶段的作用。
解析:
分析阶段:
数据流图主要建立业务流程加工和说明,自顶向下对系统进行功能分解;数据在系统内移动变换;描述功能和加工。
数据字典用于建立业务概念有组织的集合,是模型核心库,统一的数据元素列表,对模型中的元素有共同理解。
设计阶段:
结构化设计根据不同的数据流图分别做出变换和事务映射初始化结构图。
根据数据字典中的数据存储描述来建立数据库存储设计。