软件架构中的经典思想及网络枢纽制胜

灵活性和成本与效率的两难问题是软件架构中的核心问题,一个著名的案例体现为数据库领域的One Size Does’t Fits All现象。

通用系统往往采取的是提供SQL等灵活的编程接口的方式,按需从基础的算子开始计算。这类似自然科学特别是物理学的还原论,灵活性强但成本高、效率低。

为特定场景都定制特定系统,或根据预先设定的计算模式进行预计算,运行效率高,但不灵活。对于定制系统来说还存在研发成本高的问题。

模块化的思想是提取各系统可重用的模块,降低系统的研发成本,支持通过组合实现灵活性。服务化及微服务的思想是模块化思想在分布式环境下的自然映射。中台化的思想是聚焦于组织的核心能力,通过核心能力的灵活组合提供灵活性。中台思想是软件体系结构的模块化思想在业务过程中的自然映射。

我几年前提出的正交组合的设计思想是模块化的一种子类型。正交组合思想是将系统划分为多个面,并为每个面研发少量的几个解决方案,并实现面与面之间解决方案的正交组合,从而让系统的能力达到各个面解决方案的笛卡尔积。例如:

  • 在云计算系统中可将系统划分为虚拟化、集群编排、中间件、监控等几个面。虚拟化层研发KVM、容器、Firecracker等方案,集群编排层研发OpenStack、Kubernetes等方案、中间件层研发RDS、Redis、Mongo等方案,监控层研发哨兵、Prometheus等方案,这就可以比较方便的支持基于KVM做虚拟化、用Openstack编排的RDS或基于容器做虚拟化、用Kubernetes编排的Redis等灵活的解决方案。

  • 在大数据系统中可将系统划分为存储、数据格式、计算引擎、编程接口等几个面。存储层支持HDFS和S3,数据格式层支持ORC、Parquet、JSON,计算引擎层支持MR、Spark、Impala,编程接口支持HiveQL、Spark SQL等。

  • 在分布式事务系统中实现分布式事务引擎与数据库、消息队列和微服务框架的灵活组合。

软件分层的思想是正交组合思想的一种子类型,一般是上下相邻两层之间的正交组合。

六边形架构可视为正交组合思想的一种局部体现,仅考虑模块的对外关系,未涉及整体架构。

全局优化方法是提取多个计算之间重复的计算过程,只计算一次。

操作系统的思想是构建一个软件架构中的双边市场,并占据此双边的中心位置,从而难以替代,获得巨大的商业利益。

面向低投入、高产出的目标,上述所有思想中最有价值的部分都可以归结为网络枢纽制胜的思想,核心方法是将系统或者计算打散,打散之后自然就形成了基础计算单元构成的计算网络,然后定位这一网络的枢纽节点,聚焦资源投入这些枢纽节点。例如:

  • 操作系统的价值来自于他在“资源 / 设备”和“应用 / 中间件”这一双边市场网络中的枢纽位置。

  • 中台的价值来自于他在后台和前台之间的枢纽位置。

  • 全局优化的价值来自于多个计算构成的网络中存在枢纽节点。

  • 正交组合式设计中最有价值的是处于枢纽位置的系统,如支持多种格式和多种编程结构的计算引擎、支持多种消息队列、数据库和微服务框架的分布式事务引擎。

  • iCloud的价值来自于他在iPhone、iPad、Mac中的枢纽位置,令人很难离开Apple体系。

这一思想在业务战略中的价值也是类似的,如平台的商业价值来自于其在双边市场中的枢纽位置,围绕旗舰业务拓展比过度多元化好做也是因为这样会形成枢纽。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 自动驾驶系统(ADAS)的软件架构是该系统的关键组成部分之一,它包括传感器、解析器、决策层和执行器等组成部分,它们通过传递和处理信息来实现自动化驾驶功能。 传感系统收集车辆周围的环境信息,包括车辆位置、速度、方向和周围物体的位置和状态等。然后,解析器根据传感器提供的数据生成一个车辆环境模型,将其显示在驾驶员面前。 决策层根据环境模型对车辆的行为进行分析和判断,并制定相应的驾驶策略。然后执行器将决策层的指令传递给车辆的执行单元,例如刹车、加速和方向盘等,以实现自动驾驶。 在实际应用,ADAS软件架构还需要具备高可靠性、稳定性和安全性等特点。因此,软件开发过程需要进行精细化测试和验证。 总的来说,ADAS辅助驾驶软件架构是一个高度综合的系统,它需要不断地进行技术创新和优化才能满足未来越来越高的自动化驾驶需求。 ### 回答2: ADAS(先进驾驶辅助系统)是一种车辆技术,它通过传感器和算法来帮助驾驶员驾驶,并提高安全性和便利性。ADAS软件架构是指整个ADAS系统的设计和构建方案,它包括硬件和软件两个方面。 ADAS硬件架构包括传感器、控制单元、处理器和作为集线器的多个接口。传感器可以包括雷达、摄像机、激光器和超声波传感器,它们都被部署在车辆上以收集周围环境的数据。控制单元是负责收集和处理所有传感器数据的硬件设备。处理器是负责将传感器数据转换为通用的算法输出的心处理器。而集线器则是ADAS系统与车辆电子系统之间的数据传输枢纽。 ADAS软件架构是由算法和接口所形成的软件框架。算法包括障碍物识别、自适应巡航控制、车道保持和碰撞警告等功能。接口则包括与驾驶员交互的用户界面、与汽车电子系统通信的应用程序接口(API)和与底层硬件通信的驱动程序。 整个ADAS系统的软件架构需要遵循严格的规范和标准,以确保其安全、可靠和可扩展性。同时,软件架构需要考虑实时性、数据传输速度和故障处理等方面。对于未来自动驾驶技术的发展,ADAS软件架构需要不断的优化和更新。 ### 回答3: ADAS(Advanced Driver Assistance Systems,高级驾驶员辅助系统)是用于帮助驾驶员预防交通事故、提高车辆安全性、减少事故并减轻事故影响的技术。ADAS辅助驾驶软件架构包括多个组件和模块,主要分为感知层、决策层和执行层。感知层是ADAS系统的基础,它使用传感器和摄像机等设备来检测车辆周围的环境,包括车辆位置、速度、车道位置、周围车辆和行人等。感知层的重要组成部分包括: 1. 摄像头:用于捕捉车辆周围的图像。 2. 雷达:通过使用雷达波来捕捉车辆周围的物体。 3. 激光雷达:通过使用激光光束来测量周围物体的距离和方向。 4. 超声波传感器:通过使用超声波来检测周围物体。 在接收感知层传递的数据之后,决策层将分析环境数据,并将它们传递给执行层,以便对车辆进行控制。决策层使用其他传感器传递的车辆状态数据,如车速、方向、制动器和驱动器等,来决定如何应对车辆周围的环境变化。执行层根据决策层的指示进行控制,并采取行动来促进驾驶员的安全行驶。执行层包括制动系统、转向系统、加速系统和其他需要进行触发的系统。总的来说,ADAS辅助驾驶软件架构是一个高度复杂的系统,它利用感知、决策和执行来确保车辆的安全性和驾驶员的舒适程度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值