车载电子电器架构 —— 电子电气系统车载功能子系统

news2024/12/27 14:06:24

车载电子电器架构 —— 电子电气系统车载功能子系统

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。

老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:

本就是小人物,输了就是输了,不要在意别人怎么看自己。江湖一碗茶,喝完再挣扎,出门靠自己,四海皆为家。人生的面吃一碗少一碗,人生的面见一面少一面。人生就是一次次减法,来日并不方长。自己的状态就是自己最好的风水,自己的人品就是自己最好的运气。简单点,善良点,努力点,努力使每一天都开心,不为别人,只为自己。

文章大体有如下内容:

1、车载功能子系统开发概述

2、车载功能子系统划分原则

3、功能子系统详情

4、子系统开发流程

5、车载功能子系统层小结

一、车载功能子系统开发概述

功能子系统定义及作用Subsystem:

A collection of components organized to accomplish a specific function orset offunctions。

子系统是为了实现一个特定功能或者一组功能的逻辑组件集合。子系统开发在架构开发过程中起到了承上启下的作用,子系统的存在可使功能分配清晰。更具体的来说,子系统承接一系列抽象的功能需求,再将功能需求转化分解为系统设计需求,并定义系统之间所需要的接口,包括时间的要求。最后分配到ECU,由ECU来承接和实现系统设计。

主机厂在研发一款汽车平台的初期,会基于以往大量的工程和实际经验,把整车的功能细分到不同的子系统里,比如车载娱乐系统,底盘和驱动系统,辅助驾驶和车身照明系统等等。

车载功能子系统是一个复杂的系统,包含了多个模块,每个模块都有其特定的功能。以下是一些常见的车载功能子系统及其功能:

-> 1、车车通信模块:此模块负责实现本列车的信息管理,包括注册与注销、线路其他列车通信信息查询、前车识别、车车通信维护以及故障状态处理等功能。

-> 2、行车许可模块:该模块通过综合线路静态信息、进路信息、道岔与信号机信息、前车信息等,来计算列车行车许可(MA)。

-> 3、超速防护模块:这个模块与CBTC系统车载子系统相关功能类似,它负责计算列车速度-距离控车曲线。当列车超速时,该模块会输出相应等级的制动,以保障列车行车安全。

-> 4、联锁模块:此模块主要负责进路管理、进路的排列和执行,并且为车载其他模块提供进路信息。

-> 5、电子地图模块:该模块主要支持全线路所有静态信息的存储和查询,同时支持位置坐标系的统一和转换。

-> 6、人机交互模块:此模块主要负责设备与司机之间进行人机交互,用于显示设备状态以及接收司机的输入信息。

-> 7、其他功能模块:这包括除上述功能模块以外的其他功能,如测速定位等。

除此之外,车载功能子系统还包括话音业务、宽带数据业务、短消息业务以及承载业务等通信功能。这些功能使得车载子系统能够实现与其他系统或设备之间的通信和数据传输,为驾驶员和乘客提供更好的服务和体验。

注:这里就体现出来技术积累的作用!

image

现阶段OEM将SOA架构引入到整个电子电气软件架构中,作为中间件的存在。就是将子系统的功能设计在新的场景进行应用。

二、车载功能子系统划分原则

车载功能子系统的结构和内容是在逻辑的视角上被描述的,是由一系列的标准所决定的,最主要的标准是保证架构的灵活性和稳定性。在创建子系统时基于以下原则:

-> 1、其相互间的接口应该一直保持稳定。一般接口的建立是不依赖于用户功能的,这些接口也应该独立于传感器和执行器。示例:热管理系统中的空调压缩机具有相同的接口,不依赖于压缩机类型。

该特征有如下特点:

数据一致性:接口应该确保数据在传输过程中保持一致,避免数据丢失、损坏或错误。

兼容性:接口设计需要考虑到不同子系统的兼容性问题,确保新开发的子系统或升级后的子系统能够无缝地与其他子系统集成。

实时性:车载系统中的接口应该满足实时性要求,确保数据能够及时、准确地传输到需要的地方。

安全性:接口设计应该考虑到安全性因素,如数据加密、访问控制和身份验证等,以防止数据泄露或非法访问。

可维护性:接口设计应该简单明了,易于理解和维护。此外,接口应该提供足够的错误检测和恢复机制,以便于在出现问题时能够快速定位和修复。

可扩展性:随着技术的发展和需求的变化,车载系统可能需要升级或扩展。接口设计应该考虑到未来的扩展性,以便能够轻松地添加新功能或升级现有功能。

-> 2、基于它的职责以及特定的功能特征,还要考虑零部件内部逻辑和外部物理组成部分。示例:刹车控制系统

刹车控制系统是车载功能子系统中至关重要的一部分,其职责是确保车辆在需要减速或停车时能够安全、有效地执行刹车操作。刹车控制系统具有多种功能特征,包括快速响应、精确控制、高可靠性等。为了满足这些功能需求,刹车控制系统需要综合考虑零部件的内部逻辑和外部物理组成部分。

首先,从内部逻辑方面来看,刹车控制系统由多个关键组件构成,包括刹车踏板、刹车总泵(Master Brake Cylinder)、刹车分泵(Front & Rear Wheel Brake Cylinder)、刹车钳、刹车片和刹车盘等。这些组件通过复杂的机械和电子连接相互协同工作,以实现刹车功能的精确控制。例如,当驾驶员踩下刹车踏板时,刹车总泵会接收到信号并通过刹车油传递压力到刹车分泵,进而推动刹车钳夹紧刹车盘,从而实现车辆减速或停车。

其次,从外部物理组成部分来看,刹车控制系统需要与其他车载系统进行协同工作,如液压系统、电子控制系统等。液压系统提供刹车所需的液压动力,确保刹车操作的顺利进行。电子控制系统则通过传感器和电脑等部件监测和控制刹车过程,实现更高级别的刹车辅助功能,如防抱死刹车系统(ABS)和电子制动力分配系统(EBD)等。

为了确保刹车控制系统的稳定性和可靠性,还需要考虑以下几点:

接口稳定性:刹车控制系统与其他车载系统的接口应该保持稳定,确保数据和信息能够准确、及时地传输。

材料选择:刹车钳、刹车片和刹车盘等关键部件的材料选择应该考虑到耐磨性、耐高温性和抗腐蚀性等因素。

安全冗余设计:刹车控制系统应该具备安全冗余设计,即在关键部件出现故障时,系统能够自动切换到备用模式,确保刹车功能的持续可用性。

维护保养:刹车控制系统需要定期进行维护和保养,以确保其长期稳定运行。这包括更换磨损的刹车片、检查刹车油的液位和质量等。

image

-> 3、基于分层设计原则,典型的形式是区分管理层和传感器层、执行器层。示例:在safety domain 中,ActiveSafetymanagement system为管理系统,environmentAndDriverPerception System为传感系统。在vehicle dynamic domain中,ehicleDynamicsManagement system为管理系统,Engine,BrakeControl,SuspensionControl等为执行系统

-> 基于一个或一组物理组件,例如车身域的座椅控制系统和车辆动力域的发动机系统。

-> 基于子系统组件的职责。示例:刹车系统,转向控制系统。

三、功能子系统详情

车载功能子系统边界定义现在电子电气架构开发划分6大域,50+个子系统,每个子系统都有其系统边界。子系统边界主要包含子系统的描述、子系统可提供的信息,子系统所承接的主功能实现逻辑等。当子系统边界清晰后,可便于功能实现时功能需求的分解,并且子系统负责人可清晰的判断功能层所分配的需求是否清晰、明确、是否有缺失、是否可实现,最终有利于功能实现。

按照功能定义划分了四个域:

-> 1、Body;

-> 2、Safety;

交互功能域:

-> 1、Vehicle Management;

-> 2、HMI。

Vehicle Management和HMI同其他匹个域都有交互。

image

Vehicle Management Domain包括所有域普遍使用的系统。例如模式管理、诊断管理,包括以下子系统:

->Accessories-负责拖车检测/拖杆管理/拖车灯控制/活动尾翼控制/辅助照明等;

->Connectivity-负责配置和提供基础设施(W-LAN,4G)与公共互联网和云服务进行沟通。

->CarconfigurationManagement-负责车辆配置参数的分配

->DiagnosticsManagement-负责诊断和SWDL功能,如内部测试人员和诊断网关

->HVExtermalEnergyManagementAndCharging-负责对车载充电器的处理,当车辆连接到电源时,用来给HV电池充电。

->HVPowerConversion-负责高低压电气系统之间的能量转换,将高压能量转换为低压给低压负载供电。

->LowVoltageElectricalEnergyManagement-负责电能的产生和储存。注意,这个子系统只处理低电压(12V)系统而不是任何高电压系统,可以是混合动力或纯电动汽车的一部分。

->SettingsManagement-负责处理车辆中的所有设置(例如作为个人的设置)可以由用户来做。

->VehicleEnergycoordinator-负责预测整车的能量需求,提供各种能量类型的能量及功率目标(电能、热能、动能)。

->ElectricalEnergyManagement-负责管理不同电压段之间的电能

Medium Voltage ElectricalEnergy Management-负责中压到低压电气系统之间的能量转换,以及中压电池的控制和监测。

VehicleModeManagement-负责模式管理的创建和分发诸如“Car Mode”“UsageMode”和“EEPM”等信息。它还负责“Power Supply”用于控制电力负荷的电力供应还负责“Start Manager”用于和动力系统交瓦,以决定引擎何时运行。

HMIDomain负责用户和车辆之间的交互。这包括所有交互例如输入控件,例如按钮、杆和面板,以及所有输出表示,例如信息显示,声音协调,触觉反馈等。包括以下子系统:

AudioSystem-这个子系统负责音频逻辑(优先级),声音生成及放大。

DriverInformation-这个子系统负责处理驾驶员的信息,包括环境光检测、电池等级显示、时间日期管理、里程计算、环境温度和燃油量采集处理、行车电脑信息、HUD背光等级管理、外部温度显示,动力总成信息显示,安全带报警显示,保养提示车速显示等

HMIManagementAndDisplay-这个子系统主要负责管理仪表、HUD、中控屏console屏相关的信息,以及识别和显示用户输入信息。

UserInputs-这个子系统主要负责处理HMI输入设备的信息,包括驾驶模式开关组组合开关、方向盘按键、后空调面板。

BodyDomain包括汽车车身系统,如车灯、空调和门锁等子系统。具体包括以下一些子系统:

AdjustableDriveControls-这个子系统负责可调节的驱动控制,如可调方向盘和踏板

ClimateControl-这个子系统负责车辆气候控制,主要是制冷、加热通风、除霜除雾功能。

ExteriorLight-这个子系统负责汽车外灯的控制

InteriorLight-这个子系统负责汽车内灯的控制。

Locking-这个子系统负责汽车的锁定及解锁功能和逻辑,包括四门锁定,引警盖和后盖锁定,油箱盖和充电口盖锁定等。

RemoteControl-这个子系统负责汽车通信系统的远程钥匙控制和数字钥匙控制。包括远程遥控钥匙按钮、数字钥匙命令等。

SeatControl-这个子系统负责座椅控制,如座椅电动调节、按摩、加热、通风等功能。

SoundSignalling-这个子系统负责电喇叭控制。

TheftProtection-负责处理警告和报警功能,以及外部零件的检测。

TyreMonitor-这个子系统由轮胎压力监测系统组成。

UsageAuthorizationControl-这个子系统负责车辆使用的授权,防止未经授权使用车辆。

VisibilityControl-这个子系统负责雨刮洗涤、前后电动除霜,后视镜自动调光等控制。WindowsMirror&RoofControl-这个子系统主要包括车窗、后视镜和遮阳帘或者折叠顶棚的操纵,即车窗玻璃升降,天窗和遮阳帘开闭,外后视镜调节等。

InfotainmentDomain包括用于信息和娱乐的一些核心子系统,注意并没有个与信息娱乐相关的零部件属于这个逻辑域。具体包含以下一些子系统:

Entertainment-这个子系统负责娱乐相关功能包括音频、视频输出例如媒体播放和收音机。

ConnectedServices-处理与互联网或云端连接的娱乐功能。 (主要负责车载APP,网页浏览器,手机映射等功能)。

Navigation-这个子系统负责提供车辆的位置以及将基于地图的信息提供给车辆中的其他系统,还提供用户的导航功能。

Telematics-提供非车载远程信息服务提供商进入车辆的通道。使车辆与非车载呼叫中心进行直接通信。 (主要负责CALL救援服务,远程控制,远程仪表台,远程监控,远程防盗,数字钥匙等功能)。

Telephone-这个子系统负责所有类型电话,包括蓝牙电话、电话簿等;

InfotainmentPlatform-这个子系统负责Infotainment域内所有ECU的状态以及电源模式的管理。并且通过整车的状态来配置Infotainment域内ECU的工作状态。例如IP连接管理、影音节点的电源管理、影音模式。

Safety Domain包括负责主动安全传感和决策的系统诸如自适应巡航控制和CMbB(刹车碰撞)等功能。它还包括安全气囊,安全带预紧装置等被动安全系统。具体包含以下一些子系统:

ActiveSafetyManagement-这个子系统集成了驾驶辅助、自动驾驶、泊车辅助的核心算法。主要是对碰撞风险进行评估,并对响应动作进行仲裁,是该报警还是制动/转向。

EnvironmentalAndDriverPerception-这个子系统提供driver和周边的环境信息包括车道线、交通标志、车流量、光线、障碍物及其距离等等。环境信息是实时的,不是历史数据或将来数据。

InertiaMonitor-这个子系统监测车辆的加速度及运动,提供纵向、横向、垂直加速度及角速度信息

PassiveSafetyManagement-这个子系统负责监测碰撞,并对碰撞进行分类,请求点爆安全气囊、安全带,实现预预紧安全带功能,监测乘员安全带、座椅是否占用等功能。

VehicleDynamicsDomain包括汽车的动力和底盘系统,具体包含以下一些子系统:

Driver Priority PT-依据加速踏板及换挡杆的输入评估驾驶员的需求;

Driver Priority Chassis-依据制动踏板的输入评估驾驶员的需求。

VehicleDynamicsManagement-这个子系统是车辆运动的核心控制系统,它与车辆动力域内其他的子系统协调并且处理其他域内与车辆动力相关的需求。

BrakeControl-该子系统负责传动的ABS/EBD/TCS等制动控制功能。

Differentials-这个子系统控制差速器,以提供前轴和后轴或单个车轮之间的扭矩分配,四驱控制。

EngineControl-这个子系统负责内燃机控制。

FuelEnergyControl-这个子系统控制燃油系统及它的零部件

VElectricDrive-这个子系统负责控制高压驱动电机的控制。

HVEnergyStorage-这个子系统负责高压电源能量的存储和控制。

Propulsion-这个子系统负责协调用于车辆驱动的系统,如发动机、传动装置电机、发电机等。SteeringControl-这个子系统负责辅助驾驶员完成转向操作,响应其他系统的转向需求(LKA、APA、TJA 等),采集方向盘转角信息。

SuspensionControl-这个子系统负责主动减震器控制,车身高度控制。

ThermalManagement-这个子系统包含一些和加热冷却相关的热执行器,例如机械电动压缩机、泵和阀门等。

TransmissionControl-这个子系统负责变速箱控制

MVElectricDrive-负责中压电机的控制。

子系统结构及内容子系统中主要包含LC(Logic Component)、LC Requirement及Port。Systemowner 在系统层进行系统设计时主要完成LC 的划分,LC 需求设计,发送和接收port。

LC在子系统层中创建,这些组件由负责的系统工程师为特定的子系统设计。逻辑组件的目的是定义详细的功能行为,其能够在分配的ECU上部署。LC Requirement是功能实现的具体方案,在LC当中设计LC Requirement的主要目的是最大限度的提高功能和需求的可读性、可追溯性和可重用性,并描述模型(功能实现)和需求之间的关系。

编写LC Requirement应遵循以下原则:

-> 1、明确Requirement的目的。需求的目的应该要解释清楚需求的背景、依赖性、功能意图等。还需解释为什么使用特定的解决方案,应从用户的视角使用简短的文字来描述。

-> 2、定义Requirement的范围。一般来说,需求应该定义是什么和为什么(应该由Software来完成),同时应用模型(实现)定义了如何实现。

-> 3、Requirement限制性。LC的需求应该只使用在此LC相关的接口(端口参数等)来实现,仅通过在LC中分配的输出端口来影响系统的其他部分

-> 4、参数的处理。在需求中参数应该以特定的值来命名和编写,并在括号中加上单位。例如,VoltageLimit(11.2V)。

-> 5、延时性需求。对于本地的计时器,描述需求时只需要使用简单的语句例如"wait for","wait for 10 ms if not …"等,不需要具体明确是哪一个计时器

-> 6、版本修订性。对每个功能都要进行版本修订和记录。用纯文本的形式描述发生了什么变化,以及它为什么被改变了。

-> 7、可测试性和复杂性。一个需求是可以被测试的,并且对下游来说可以被清晰的理解。一般来说,用简短的文本来描述,避免过度工程,并且试着将复杂的任务分解成小的、封闭的任务。

-> 8 、通用的语言规则。一般来说使用简短且确定的词语和句子,不要使用未定义或者定义不清楚的概念。在设置变量时使用枚举或有意义的说明而不是“magic数字。永远不要让下游读者来做决定(不要使用may,might,should,ought,could,perhaps,probably,使用shallbe这样肯定语气的词语)。个LC可以有多个发送/接收端Port是LC之间信息传递的端口。如下图2.18所示,口,LC之间通过发送/接收Port进行通信,通信内容为DATA ELEMENT。

e11c65686ee3d3c4e0e36783a8030f2

四、子系统开发流程

子系统开发流程子系统开发需要不断进行迭代,每个E阶段(造车阶段)都需要完成需求输入、需求拆解分析、定义及设计系统方案、创建系统接口及需求,分配逻辑部件至零部件层,最终根据subsystemchecklist检查系统数据,解决所有系统一致性问题后,按照系统开发节点Release系统数据。

27829cb67d13b111e843716518f9fb3

子系统开发主要工作主要描述子系统开发中Function-System-ECU间的映射及trace关系,并且从如下步骤描述子系统工作内容:

->功能层将某个功能需求映射至某个子系统中,子系统来识别需要实现的功能需求,并且确认输入的需求是否清晰明确、正确、有无缺失;

->2子系统层根据需求,合理划分系统LC,并且按照AUTOSAR 规则命名;

->3系统需求定义:根据功能的需求,完成子系统需求的设计,包含LC 的逻辑实现和Requirement 的定义;

->4系统Port定义:

(1)定义系统内及系统外的LC 之间交互port,按照AUTOSAR 规则命名;

(2)pot描述信息(文字描述) ;

(3)详细定义发送端port 的dataelement、datatype 信息

(4)定义port的类型、时间参数 (LTC)、初始值;

(5)定义port的E2E信息

-> 5、将Port 与LC Requirement 关联;

-> 6、将LC Requirement trace 至相应的Function Requirement;

-> 7、VFC 定义:根据整车分配的VFC 清单,确认VFC 是否覆盖系统所有的使用场景,定义LC 与VFC 的map 关系,并对Activitor 的LC 定义激活/取消条件;

-> 8、对于定义为Activitor 的LC 设计LC Requirment (Network Requirement)并trace至对应的VFC中:

-> 9、定义LC与Carconfig Parameter的map关系

-> 10、定义LC requirement与Parameter Value的map关系;

-> 11、完成系统LC分配到ECU,与分配LC的ECU握手,确认LC requirement;

-> 12、根据subsystem checklist检查系统数据,解决所有系统一致性问题后,按照系统开发节点Release系统数据

子系统层开发主要交付物

子系统层的主要交付物为SRD文档。SRD文档包含输入需求、系统设计、对系统逻辑所对应的零部件的需求、网络信号的需求等,主要作用是收集、开发和描述系统的需求,从系统层导出生成该文件,需要被参与系统开发的系统、零部件及测试工程师阅读并理解消化。

五、车载功能子系统层小结

本章节主要介绍了电子电气架构子系统开发策略,详细介绍了子系统层的开发流程及与上游功能及下游ECU之间的关系,概述了子系统开发从承接功能需求到系统设计和需求分配到ECU的整体开发流程。

子系统开发的本质是搭建软件架构,需要根据功能的需求,以软件工程师的思维设计相关的LC,并对LC进行需求描述,所以对Subsystem Owner的要求除了理解功能还需具备软件开发理念,具有软件开发经验。

搁笔分享完毕!

愿你我相信时间的力量

做一个长期主义者!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1443975.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux 从日志中抽取信息,批量生成SQL语句并执行

这里写目录标题 一. 需求分析二. 从日志中抽取出指定字段,并切分为若干个子文件三. 生成查询执行计划四. 生成查询的SQL语句五. 检查并执行 一. 需求分析 有如下日志文件,假设日志文件中有10000条数据,要求将全部的TRANSACTIONID抽取出来&am…

在VSCode中创建Java项目

在VSCode中创建Java项目 首先,保证安装了Java的JDK. WinR -> 输入cmd -> 输入 java -version -> 然后可以看到安装的JDK版本,如果没安装可以去找教程。 JDK安装参考教程 打开VSCode,打开扩展(Ctrl Shift S&#xff…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之AlphabetIndexer组件

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之AlphabetIndexer组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、AlphabetIndexer组件 可以与容器组件联动用于按逻辑结构快速定位容器显…

每日五道java面试题之java基础篇(四)

第一题. 访问修饰符 public、private、protected、以及不写(默认)时的区别? Java 中,可以使⽤访问控制符来保护对类、变量、⽅法和构造⽅法的访问。Java ⽀持 4 种不同的访问权限。 default (即默认,什么也不写&…

Elasticsearch:混合搜索是 GenAI 应用的未来

在这个竞争激烈的人工智能时代,自动化和数据为王。 从庞大的存储库中有效地自动化搜索和检索信息的过程的能力变得至关重要。 随着技术的进步,信息检索方法也在不断进步,从而导致了各种搜索机制的发展。 随着生成式人工智能模型成为吸引力的中…

【Python如何求出所有3位数的回文数】

回文数就是正向读和逆向读都相同的数,如66,626,72127 1、求出所有3位数的回文数python代码如下: # 输出所有3位数的回文数 for i in range(100, 1000): # 从100循环到999,不包含1000if str(i) str(i)[::-1]: # 如…

CSS3 基本语法

CSS3 基本语法 1. CSS3 新增长度单位 rem 根元素字体大小的倍数,只与根元素字体大小有关。vw 视口宽度的百分之多少 10vw 就是视口宽度的 10% 。vh 视口高度的百分之多少 10vh 就是视口高度的 10% 。vmax 视口宽高中大的那个的百分之多少。(了解即可&am…

centos中docker操作+安装配置django并使用simpleui美化管理后台

一、安装docker 确保系统是CentOS 7并且内核版本高于3.10,可以通过uname -r命令查看内核版本。 更新系统软件包到最新版本,可以使用命令yum update -y。 安装必要的软件包,包括yum-utils、device-mapper-persistent-data和lvm2。使用命令yum install -y yum-utils devic…

【制作100个unity游戏之23】实现类似七日杀、森林一样的生存游戏10(附项目源码)

本节最终效果演示 文章目录 本节最终效果演示系列目录前言快捷栏绘制UI代码控制快捷列表信息 源码完结 系列目录 前言 欢迎来到【制作100个Unity游戏】系列!本系列将引导您一步步学习如何使用Unity开发各种类型的游戏。在这第23篇中,我们将探索如何制作…

C语言-----自定义类型-----结构体枚举联合

结构体和数组一样,都是一群数据的集合,不同的是数组当中的数据是相同的类型,但是结构体中的数据类型可以不相同,结构体里的成员叫做成员变量 结构体类型是C语言里面的一种自定义类型,我们前面已经了解到过int,char,fl…

2024 年 5 款适用于免费 iPhone 数据恢复的工具软件

搜索一下,你会发现许多付费或免费的iPhone数据恢复工具声称它们可以帮助你以很高的成功率找回所有丢失的数据。然而,这正是问题所在。真的很难做出选择。为了进一步帮助您解决数据丢失问题,我们在此列出了 5 款最好的免费 iPhone 恢复软件供您…

计算机网络——07协议层次及服务模型

协议层次及服务模型 协议层次 网络是一个复杂的系统 网络功能复杂:数字信号的物理信号承载、点到点、路由、rdt、进程区分、应用等现实来看,网络的许多构成元素和设备: 主机路由器各种媒体的链路应用协议硬件,软件 问题是&am…

C++ 贪心 区间问题 区间分组

给定 N 个闭区间 [ai,bi] ,请你将这些区间分成若干组,使得每组内部的区间两两之间(包括端点)没有交集,并使得组数尽可能小。 输出最小组数。 输入格式 第一行包含整数 N ,表示区间数。 接下来 N 行&…

蓝桥杯每日一题------背包问题(三)

前言 之前求的是在特点情况下选择一些物品让其价值最大,这里求的是方案数以及具体的方案。 背包问题求方案数 既然要求方案数,那么就需要一个新的数组来记录方案数。动态规划步骤如下, 定义dp数组 第一步:缩小规模。考虑n个物品…

CSP-202009-2-风险人群筛查

CSP-202009-2-风险人群筛查 解题思路 检查是否经过高危区 (x > x1) && (x < x2) && (y > y1) && (y < y2) 检查坐标是否在高危区域内&#xff0c; !isPassed 确保仅在第一次经过高危区域时增加 pass 计数。如果条件成立&#xff0c;表示…

Python3集合 set 心得

Python3集合 set 心得 本文是个人在学习中的一些心得&#xff0c;不能保证文中的内容准确&#xff0c;欢迎大家批评指正。 集合 set 是Python中的一种数据容器&#xff0c;集合有2种定义方式。 1、花括号 {} &#xff0c;花括号内加入集合的元素&#xff0c;元素之间用逗号 …

spark sql上线前的调试工作实现

背景 每个公司应该都有大数据的平台的吧&#xff0c;平台的作用就是可以在上面执行各种spark sql以及定时任务&#xff0c;不过一般来说&#xff0c;由于这些spark sql的上线不经过测试&#xff0c;所以可能会影响到生产的数据&#xff0c;这种情况下大数据平台提供一个上线前…

网络扫描神器:Nmap 保姆级教程(附链接)

一、介绍 Nmap&#xff08;Network Mapper&#xff09;是一款用于网络发现和安全审计的开源工具。它最初由 Gordon Lyon&#xff08;也被称为 Fyodor Vaskovich&#xff09;开发&#xff0c;是一款功能强大且广泛使用的网络扫描工具。Nmap 允许用户在网络上执行主机发现、端口…

【十四】【C++】list 的常见用法

list 的初始化和遍历 /*list的初始化和遍历*/ #if 1 #include <list> #include <vector> #include <iostream> #include<algorithm> using namespace std;void TestList1(){list<int> L1;list<int> L2(10, 5);vector<int> v{1,2,3,4…

奇异值分解(SVD)的应用——图像压缩

SVD方法是模型降阶的一类重要方法&#xff0c;本征正交分解&#xff08;POD&#xff09;和平衡截断&#xff08;BT&#xff09;都属于SVD类方法。 要想深入了解模型降阶技术&#xff0c;我们可以先从SVD的应用入手&#xff0c;做一个直观的了解。 1. SVD的定义和分类 我们想寻找…