目录

  • 【说明】
  • 【问题1】
  • 【问题2】
  • 【问题3】

【说明】

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

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

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

【问题1】

设计团队在讨论缓存和数据库的数据一致性问题时,李工建议采取数据实时同步更新方案,而张工则建议采用数据库异步准实时更新方案。请用200字以内的文字,简要介绍两种方案的基本思路,说明全国仓储货物管理系统应该采用那种方案,并说明采取该方案的原因。

答案:

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

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

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

【问题2】

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

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

答案:

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

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

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

【问题3】

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

答案:

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

优点:1.占用内存小;2.查询效率高;3.不需要存储元素本身,在某些对保密要求比较严格的场合有很大优势。

缺点:1.有一定的误判率,即存在假阳性,不能准确判断元素是否在集合中;2.不能获取元素本身;3.一般情况下不能从布隆过滤器中删除元素。

整理完毕,软考没考好,就不撒花了~

软考2022高级架构师下午案例分析第4题:关于哈希算法、一致性哈希算法和布隆过滤器相关推荐

  1. 软考_系统设计架构师--备考重点建议与心得

    软考系统设计架构师--下午案例分析题--重点热门考题 软考系统设计架构师--下午案例分析题(重点热门考题) [软件架构设计与评估案例分析题] [软件系统建模案例分析题] [数据库设计案例分析题] [W ...

  2. 2021年上半年信息系统项目管理师下午案例分析真题及答案解析

    试题一(25分) 2020年A公司承接某地方法院的智慧法院信息系统项目,实现法院庭审流程信息化,项目要求引入智能语音技术,将庭审现场人员的语音实时转换成文字,既可在屏幕上输出显示,又可实时编辑,提高庭 ...

  3. 关于2022年12代C/C++Linux服务器开发高级架构师课程体系分析

    对于零声教育的C/C++Linux服务器高级架构师的课程到2022目前已经迭代到12代了,像之前小编也总结过,但是课程每期都有做一定的更新,也是为了更好的完善课程跟上目前互联网大厂的岗位技术需求,之前 ...

  4. 软考之信息系统项目管理师(包含2005-2018历年真题详解+官方指定第三版教程+高清学习视频)

    基本搜集整理了全网所有的信息系统项目管理师资料,建议不要各位再浪费时间去各个网站下载找寻了,时间宝贵!!!全网独此一家,不要倒卖,收集不易!!!!谢谢!!!! 持续更新后续年份的资料.请点赞!!请点赞 ...

  5. 2022年系统架构师、案例分析、论文押题

    目录 前言 2022年系统架构师案例方向 2022年系统架构师论文方向 前言 2022年的国家计算机系统架构师考试马上就要开始了,各大培训机构也开始给出这次考试的预测题目,下面就是总结了学堂押题的内容 ...

  6. (软考)系统架构师大纲

    考试要求: 掌握计算机硬软件与网络的基础知识; 熟悉信息系统开发过程; 理解信息系统开发标准.常用信息技术标准; 熟悉主流的中间件和应用服务器平台; 掌握软件系统建模.系统架构设计基本技术; 熟练掌握 ...

  7. 软考系统架构师笔记-案例分析重点(二)

    系统架构设计非功能需求主要有4类:操作性需求.性能需求.安全性需求.文化需求: 性能需求:响应时间.吞吐量.准确性.有效性.资源利用率.系统完成任务效率等.可靠性.可用性等指标也能归此类. 安全性需求 ...

  8. 软考系统架构师笔记-案例分析重点(一)

    质量属性效应包括:性能.安全性.可用性.可修改性: 系统架构风险:架构设计中潜在的.存在问题的架构决策带来的隐患: 系统架构敏感点:为了实现某种特定的质量属性,一个或多个构件所具有的特性: 系统架构权 ...

  9. 2019上半年信息系统项目管理师下午案例分析真题附答案

    试题一(27 分) 阅读下列说明,回答问题 1 至问题 4,将解答填入答题纸的对应栏内. [说明] A 公司中标某金融机构甲方位于北京的数据中心运行维护项目,并签署了运维合同.合同明确了运维对象包括服 ...

最新文章

  1. 如何高效开发端智能算法?MNN 工作台 Python 调试详解
  2. springboot:简单oa系统开发
  3. RHEL5中YUM命令解决RPM包依赖性
  4. Oracle入门(十四.4)之在PL / SQL中使用变量
  5. Java 高级类(上) —— 抽象类和接口
  6. 在RHEL5/CentOS5上配置使用Open×××
  7. java 强制转换 效率_Java 性能优化:35 个小细节,让你提升 Java 代码的运行效率...
  8. 2015年第6届蓝桥杯Java B组省赛试题解析
  9. Docker下安装Anaconda
  10. CS231n李飞飞计算机视觉 神经网络训练细节part2下
  11. 艾宾浩斯遗忘曲线-计划表30天
  12. 用户画像pdf_【金猿产品展】易观方舟:智能用户数据中台
  13. 联想笔记本BIOS设置中文详解
  14. HealthKit框架指南
  15. 【和UI斗智斗勇的日子】如何实现一个类似哈罗单车APP主页打车模块的卡片式切的View
  16. Oracle数据库表空间整理回收与释放操作
  17. unraid教程贴备忘
  18. IDEA常用快捷键(Windows)
  19. Linux安全篇-iptables
  20. 云南师范大学计算机考研资料汇总

热门文章

  1. TP---word下载(简化版)
  2. 极品时刻表2007.9.2(方便大家查火车时间)
  3. FF-113/95、FF-113/150、FF-113/230力反馈伺服控制阀
  4. jpeg jpg 格式区别
  5. 下载高通 SDM845 Android 11.0 开源代码
  6. python写微信小程序商城_Python(Django 2.x)+Vue+Uniapp微信小程序商城开发视频教程
  7. 五线舵机驱动程序_51单片机舵机驱动源程序
  8. Python - python处理word(python-docx)
  9. Java解析json字符串和json数组
  10. 从Cortex-M33内核认识TrustZone