● 阅读以下关于嵌入式实时系统相关技术的叙述,在答题纸上回答问题1和问题2。
【说明】
某公司长期从事宇航领域嵌入式实时系统的软件研制任务。公司为了适应未来嵌入式系统网络化、智能化和综合化的技术发展需要,决定重新考虑新产品的架构问题,经理将论证工作交给王工负责。王工经调研和分析,完成了新产品架构设计方案,提交公司高层讨论。
【问题1】 (14分)
王工提交的设计方案中指出:由于公司目前研制的嵌入式实时产品属于简单型系统,其嵌入式子系统相互独立,功能单一,时序简单。而未来满足网络化、智能化和综合化的嵌入式实时系统将是一种复杂系统,其核心特征体现为实时任务的机理、状态和行为的复杂性。简单任务和复杂任务的特征区分主要表现在十个方面。请参考表3-1给出的实时任务特征分类,用题干中给出的(a)~(t)20个实时任务特征描述,补充完善表3-1给出的空(1)~(14)。
(a)任务属性不会随时间变化而改变;
(b)任务的属性与时间相关;
(c)任务仅可以从非连续集中获取特征变量;
(d)任务变量域是连续的;
(e)功能原理不依赖于上下文;
(f) 功能原理依赖于上下文;
(g)任务行为可以用step-by-step顺序分析方法来理解;
(h)许多任务在产生访问活动时相互间是并发处理的,很难用step-by-step方法分析;
(i) 因果关系相互影响;
(j) 行为特征依赖于大量的反馈机制;
(k)系统内构成、策略和描述是相似的;
(l) 系统内存在许多不同的构成、策略和描述;
(m)功能关系是非线性的;
(n) 功能关系是线性的;
(o) 不同的子任务是相互独立的,任务内部仅存在少量的交互操作;
(p) 不同的子任务有很高的交互操作,要把一个单任务的行为隔离开是困难的;
(q) 域特征有非常整齐的原则和规则;
(r) 许多不同的上下文依赖于规则;
(s) 原理和规则在表面属性上很容易被识别;
(t) 原理被覆盖、抽象,而不会在表面属性上被识别。
表3-1 简单任务和复杂任务特征比较
【问题2】(11分)
王工设计方案中指出:要满足未来网络化、智能化和综合化的需求,应该设计一种能够充分表达嵌入式系统行为的、且具有一定通用性的通信架构, 以避免复杂任务的某些特征带来的通信复杂性。通常为了实现嵌入式系统中计算组件间的通信,在架构上需要一种简单的架构风格,用于屏蔽不同协议、不同硬件和不同结构组成所带来的复杂性。图3-1给出了一种“腰(Waistline)" 型通信模式的架构风格。腰型架构的关键是基本消息通信(BMTS),通常BMTS的消息与时间属性相关,支持事件触发消息、速率约束消息和时间触发消息。
请说明基于BMTS的消息通信网络的主要特征和上述三种消息的基本含义,并举例给出两种具有时间触发消息能力的网络总线。
图3-1 “腰”型通信模式架构风格
●阅读以下关于分布式数据库缓存设计的叙述,在答题纸上回答问题1至问题3.
【说明】
某企业是为城市高端用户提供高品质蔬菜生鲜服务的初创企业,创业初期为快速开展业务,该企业采用轻量型的开发架构(脚本语言+关系型数据库)研制了一套业务系统。业务开展后受到用户普遍欢迎,用户数和业务数量迅速增长,原有的数据库服务器已不能满足高度并发的业务要求。为此,该企业成立了专门的研发团队来解决该问题。
张工建议重新开发整个系统, 采用新的服务器和数据架构,解决当前问题的同时为日后的扩展提供支持。但是,李工认为张工的方案开发周期过长,投入过大,当前应该在改动尽量小的前提下解决该问题。李工认为访问量很大的只是部分数据,建议采用缓存工具MemCache来减轻数据库服务器的压力,这样开发量小,开发周期短,比较适合初创公司,同时将来也可以通过集群进行扩展。然而,刘工又认为李工的方案中存在数据可靠性和一致性问题,在宕机时容易丢失交易数据,建议采用Redis来解决问题。在经过充分讨论,该公司最终决定采用刘工的方案。
【问题1】 (9分)
在李工和刘工的方案中,均采用分布式数据库缓存技术来解决问题。请说明分布式数据库缓存的基本概念。
表4-1中对MemCache和Redis两种工具的优缺点进行了比较,请补充完善表 4-1中的空(1)~ (6)。
表4-1 MemCache与Redis能力比较
【问题2】 (8分)
刘工认为李工的方案存在数据可靠性和一致性的问题,请说明原因。
为避免数据可靠性和一致性的问题,刘工的方案采用Redis作为数据库缓存,请说明基本的Redis与原有关系数据库的数据同步方案。
【问题3】 (8分)
请给出Redis分布式存储的2种常见方案和Redis集群切片的几种常见方式。
各省软考办 | ||||||||||