边缘计算软件主流设计方法盘点1

preview
需积分: 0 3 下载量 150 浏览量 更新于2022-08-08 收藏 446KB DOCX 举报
边缘计算是一种分布式计算模型,它将数据处理和分析任务推送到网络边缘的设备上,如物联网设备、传感器和网关,以减少延迟、减轻云端负载并保护数据隐私。在设计边缘计算软件时,非功能性需求(Non-Functional Requirements,NFRs)扮演着至关重要的角色。这些需求虽然不直接描述软件应完成的任务,但它们影响软件的性能、可靠性、可维护性和用户体验。 1. **非功能性需求** - **健壮性**:软件必须具备应对异常条件的能力,例如在网络不稳定或电源中断的情况下仍能正常工作。 - **可扩展性**:随着需求变化,软件应能轻松适应新功能的添加或旧功能的修改,允许不同团队独立开发模块。 - **可重用性**:软件组件应能在多个应用场景中复用,以提升效率和降低成本。 - **兼容性**:软件的不同组件应能无缝协作,允许快速构建定制解决方案。 - **有效性**:软件需优化资源利用,能在各种硬件配置上高效运行。 - **可移植性**:软件应能轻松迁移到不同软硬件环境,支持模块化部署。 - **易用性**:软件需考虑各种背景用户的使用体验,包括开发人员、IT 人员和工控专家。 - **及时性**:软件需支持快速响应市场需求,允许并行开发和快速迭代。 - **可测试性**:软件设计要便于发现、定位和隔离故障,确保产品质量。 2. **边缘计算的非功能需求(ECNFRs)** - **ECNFR-1 健壮性**:边缘计算软件需要在恶劣环境下保持稳定,例如处理断网和断电。 - **ECNFR-2 可扩展性**:适应不断变化的客户和现场设备需求,支持灵活扩展和对接。 - **ECNFR-3 可重用性**:组件在不同应用中复用,减少开发重复工作,如协议解析和云端连接模块。 - **ECNFR-4 兼容性**:组件间协同工作,快速构建定制化解决方案。 - **ECNFR-5 有效性**:软件需根据边缘设备资源自适应,确保在各种硬件配置上的运行。 - **ECNFR-6 可移植性**:允许在不同平台部署单个或多个功能模块,提供部署灵活性。 - **ECNFR-7 易用性**:满足不同技能层次用户的使用需求,简化开发和运维过程。 - **ECNFR-8 及时性**:加速新功能开发和交付,允许组件并行开发。 - **ECNFR-9 可测试性**:软件设计支持故障检测和隔离,保证软件质量。 3. **边缘计算软件架构** - **单体程序**:整体式设计,如PTC的Thingworx Edge SDK,提供模块化功能。 - **面向对象的C**:通过继承和扩展实现组件化。 - **插件化**:使用动态链接库封装数据采集、处理和上传功能。 - **OSGI模式**:如Kura和Bosch IoT,提供可插拔服务框架。 - **微服务架构**:如EdgeX Foundry,以服务为单位进行设计,易于扩展和部署。 - **Lambda@Edge**:AWS Greengrass代表,支持事件驱动计算。 边缘计算软件设计时,应充分考虑这些非功能性需求和特定场景下的ECNFRs,选择合适的架构模式,以确保软件的灵活性、可维护性和性能。此外,开发者还应关注技术的开放性、社区支持以及跨平台兼容性,以促进软件的持续改进和创新。
身份认证 购VIP最低享 7 折!
30元优惠券