动力电池管理系统(BMS)

news2024/11/28 2:44:28

BMS技术

目录

BMS技术

一、BMS简介

二、BMS主要功能

1、参数检测

2、剩余电量(SOC)估计

3、充放电控制

4、热管理

5、均衡控制

6、故障诊断

7、信息监控

8、参数标定

9、CAN总线接口

三、BMS架构组成

1、BMS的拓扑架构

1、1集中式架构的BMS

1.2、分布式架构的BMS

2、BMS硬件架构

2.1、硬件系统的输入输出

3、BMS软件架构

3.1、基础软件层BSW

3.2、AUTOSAR运行环境RTE

3.3、AUTOSAR应用层

四、BMS核心功能

1、SOC技术

1.1、电芯层级SOC的计算

2、SOH技术

3、SOP技术

 4、均衡功能

五、国内BMS企业


一、BMS简介

BMS英文名称Battery Management System,中文名称动力电池管理系统,对电池进行监控和管理的系统,通过对电压、电流、温度以及SOC等参数采集、计算,进而控制电池的充放电过程,实现对电池的保护,提升电池综合性能的管理系统,是连接车载动力电池和电动汽车的重要纽带。

图 1-1 电池管理系统结构图

二、BMS主要功能

1、参数检测

        实时采集电池充放电状态。

        采集的数据有电池总电压、电池总电流、每包电池测点温度以及单体模块电池电压等。

2、剩余电量(SOC)估计

        电池剩余能量相当于传统车的油量。

        为了让司机及时了解SOC,系统应即时采集充放电电流、电压等参数,通过相应的算法进行SOC的估计。

3、充放电控制

        根据电池的荷电状态控制对电池的充放电。

        若某个参数超标,如单体电池电压过高或过低,为保证电池组的正常使用及性能的发挥,系统将切断继电器,停止电池的能量供给。

4、热管理

        实时采集每包电池测点温度,通过对散热风扇的控制防止电池温度过高。

5、均衡控制

        由于每块电池个体的差异以及使用状态的不同原因,电池在使用过程中不一致性会越来越严重。系统应能判断并自动进行均衡处理。

6、故障诊断

        通过对电池参数的采集,系统具有预测电池性能、故障诊断和提前报警等功能。

7、信息监控

        电池的主要信息在车载显示终端进行实时显示。

8、参数标定

        由于不同的车型使用的电池类型、数量、电池包大小和数量不同,因此系统应具有对车型、车辆编号、电池类型和电池模式等信息标定的功能。BMS通过RS232接口与上位机标定软件进行通信来实现。

9、CAN总线接口

        根据整车CAN通信协议,与整车其他系统进行信息共享。

三、BMS架构组成

        电池管理系统与电动汽车的动力电池紧密结合在一起,通过传感器对电池的电压、电流、温度进行实时检测,同时还进行漏电检测、热管理、电池均衡管理、报警提醒,计算剩余容量(SOC)、放电功率报告电池劣化程度(SOH)和剩余容量(SOC)状态,还根据电池的电压电流及温度用算法控制最大输出功率以获得最大行驶里程,以及用算法控制充电机进行最佳电流的充电,通过CAN总线接口与车载总控制器、电机控制器、能量控制系统、车载显示系统等进行实时通信

        典型的电动汽车动力电池组管理系统的工作原理如图2-1所示。

图 2-1 典型的电动汽车动力电池组管理系统的工作原理

1、BMS的拓扑架构

        设计电动汽车时,通常需要满足一定的加速能力、爬坡能力和最高车速等动力性指标,若只配备单个动力电池单体作为能量源是远远无法达到要求的。因此,工程上通常将动力电池单体进行串并联成组,以满足车辆设计的技术要求。面对大规模的动力电池管理问题,BMS的拓扑结构非常重要。

        BMS的拓扑结构直接影响系统成本、可靠性、安装维护便捷性以及测量准确性。一般情况下,电池监测回路(Battery Monitoring Circuit,BMC)与电池组控制单元(Battery Control Unit,BCU)共同构成硬件电路部分。根据BMC、BCU与动力电池单体三者之间的结构关系,BMS可分为集中式拓扑结构和分布式拓扑结构。

1、1集中式架构的BMS

        集中式架构的BMS硬件可分为高压区域低压区域

        高压区域负责进行单体电池电压的采集、系统总压的采集、绝缘电阻的监测。

        低压区域包括了供电电路、CPU电路、CAN通信电路、控制电路等。

        集中式BMS拓扑结构中的BMC和BCU集成在单个电路板上,实现采集、计算、安全监控、开关管理、充放电控制以及与整车控制器通信等功能,一般应用于动力电池容量低、总压低、电池系统体积小的场合。集中式BMS拓扑结构如图2-2所示,所有动力电池单体的测量信号被集中传输到单个电路板。

图 2-2 集中式BMS拓扑结构

集中式BMS拓扑结构一般具有如下优点:

  • 高速的板内通信有利于保证数据的同步采集。
  • 结构紧凑,抗干扰能力强。
  • 成本较低,仅使用一个封装即可完成BMS的全部工作。

同时,集中式BMS拓扑结构也存在以下缺点:

  • 容易造成大量复杂的布线。
  • 当系统的不同部分发生短路和过电流时难以保护电池系统。
  • 考虑到高压安全问题,不同通道之间必须保留足够的安全间隙,最终导致电路板的尺寸过大。
  • 由于所有的组件都集中在单一电路板上,可扩展性和可维护性差。 

1.2、分布式架构的BMS

        分布式BMS中的BCU与BMC是分开布置的,如图2-3所示。

        BCU主要负责故障检测、电池状态估计、开关管理、充放电控制以及与整车控制器通信;BMC则用于实现电池单体电压、电流和温度的采集以及安全性和一致性的管理。

        BCU和BMC之间通过CAN总线连接,任何BMC都可以与BCU通信。此外,每一块BMC电路板都属于CAN总线的一个节点,且单独与对应的动力电池单体建立连接。因此,BMC与BMC之间同样可以建立通信。

图 2-3 分布式BMS拓扑结构

分布式BMS拓扑结构一般具有如下优点:

  • 采集与计算功能分离,故障排查容易,计算效率高。
  • 极大简化了系统的结构,布置位置灵活,适用性好。
  • 可扩展性更强,若想要增加或减少管理的电池数量,只需要在相应电池附近布置或移除BMC电路板,再将它与预留的CAN总线接口相连或解开即可。

同时,分布式BMS拓扑结构也存在以下缺点:

  • 部件增多,增加了电路板数量和安装、调试与拆解的步骤。
  • 通信网络设计要求高,易形成网络延时,影响采集数据的同步性。 

2、BMS硬件架构

2.1、硬件系统

        硬件系统分为主板与从版,主板的硬件功能架构如下图2-4所示:

图 2-4 BMS硬件系统(主板)

        上图为主板的一些输入,输出信号,但是有些为冗余的。对于最小的系统来言,电磁锁信号,温度信号,其它相关的信号可以接到BMS,也可以接到其它的控制单元,比如热管理控制单元,VCU内部等。其中继电器的控制,各个常见控制也不一致,有的控制主正,主负继电器,有的仅仅控制主负一段,另外一端VCU控制,或者快充继电器也是BMS控制。

  • 继电器驱动模块:为了实现高压下电功能,需要断开高压回路继电器,从而断开动力电池与电机的高压回路。高压回路一般包含3个继电器,主负继电器、主正继电器和预充继电器。高压上电状态时,主正/主负继电器是闭合状态,预充继电器是断开状态。
  • 快充:快充是直流充电桩充电接口,把电网的交流电转化成直流电,输送到电动汽车的快充口,电能直接进入电池充电。

图 2-5 快充示意图

  • 慢充:慢充是交流充电桩充电接口,把电网的交流电输入电动汽车的慢充口,经过汽车内部的充电机把交流电转成直流电,在输入电池,完成充电。

图 2-6 慢充示意图

        BMS的从板主要是采集电压,温度,具体如下图2-7所示

图 2-7 BMS硬件系统(从板)

        其中需要说明的是,电源模块分为两类,一类为低压模块,来源于蓄电池的电压,一类为电压采集芯片的电源,来源于一个采集组的电压,为高压,在将电压信号传递过程中,需要进行隔离。

        AFE(analog front end),中文是模拟前端,在BMS里面专指电池采样芯片,用来采集电芯电压和温度等。

图 2-8 菊花链通信架构

3、BMS软件架构

        为应对日益复杂的汽车电子软件开发,更新和维护的问题,AUTOSAR-AUTomotive Open System ARchitecture(汽车开放系统架构)联盟应运而生。

        在AUTOSAR分层模型中,软件模块及软件模块之间的接口定义更加标准化,使得整车厂、供应商、科研机构之间可以方便的实现软件联合开发,为汽车工业的软件系统框架建立了一套开放标准。

        AUTOSAR模型为了实现应用程序和硬件模块之间的分离,AUTOUSAR软件体系包括完全独立于硬件的应用层和与硬件相关的基础软件层,并在两者中间设立了一个运行时环境,从而使得两者分离,形成一个分层体系架构被抽象成四层由上至下依次为:应用层App、运行时环境RTE、基础软件层BSW以及微控制器Microcontroller。

图 2-9 AUTOSAR软件体系

3.1、基础软件层BSW

基础软件层BSW:主要有四部分组成

  1)微控制器抽象层:位于AUTOSAR分层模块中BSW的最底层,进一步又可以分为

   >微控制器驱动

  • 定时器驱动;
  • 看门狗;
  • 微控制器单元驱动
  • 内核测试;

   >存储器驱动

  • 内部EEPROM;
  • 内部Flash;
  • RAM测试;
  • Flash测试;

   >通信驱动

  • 以太网;
  • FlexRay驱动;
  • CAN驱动;
  • LIN驱动;
  • SPI驱动;

    >I/O驱动

  • PORT端口驱动;
  • DIO读写驱动;
  • ADC驱动;
  • PWM驱动;
  • ICU捕获驱动;
  • OCU输出比较单元驱动;

   2)ECU抽象层:

  • 板载设备抽象;
  • ECU板载设备驱动,这些设备不能被看作是传感器或者执行器,比如外部看门狗;
  • 存储器硬件抽象,从外围存储器所在位置以及ECU硬件层进行抽象,用户可以通过存储器特性抽象/仿真模块访问存储器驱动;
  • 通信硬件抽象
  • 传输请求确认;
  • 接收指示;
  • 错误通知;
  • CAN网络启动/停止;
  • I/O硬件抽象,传递I/O信号向更高的软件层隐藏ECU硬件属性

    3)服务层:服务层是基础软件层的最高层可以实现与应用软件的关联 操作系统,汽车网络通信,内存服务,诊断服务,错误记忆,故障处理 ECU状态和模式管理加密服务。

  • 通信服务:J1939协议栈;
  • 存储器服务在AUTOSAR架构下所在位置内存服务值包括一个模块即NVRAM它负责非易失性数据的管理;
  • 系统服务:多任务实时操作系统(AUTOSAR系统)和错误管理;

    4)复杂驱动:复杂驱动跨越于微控制器硬件和RTE之间,其主要任务是整合具有特殊目的的非标准模块将该部分功能嵌入到AUTOSAR基础软件层中从而实现处理复杂传感器以及执行器的特定功能和时间要求。

3.2、AUTOSAR运行环境RTE

        运行时环境(Run Time Environment)RTE位于AUTOSAR软件架构的中间层,介于应用层和基础软件层之间实现虚拟功能总线,支持软件组建间、基础软件间、软件组件与基础软件之间的通信。RTE封装了基础软件层的通信和服务,例如操作系统的任务激活、等待等功能,基础软件模块管理、ECU状态管理等服务,实现了对软件生命周期的控制。除此之外RTE还抽象了ECU之间的通信,使用标准化的接口将其统一为软件组件间的通信,使得ECU间的通信如同ECU内部通信。

        RTE软件设计的主要对象是软件组和基础软件。为了满足实时性、可靠性以及数据的一致性要求,RTE向软件组件和基础软件提供两种机制:通信机制和并发机制。RTE是AUTOSAR的核心衔接了应用层和基础软件层,为应用层提供标准接口来调用底层资源,使得ECU与具体硬件脱离。

3.3、AUTOSAR应用层

        AUTOSAR软

        在AUTOSAR中应用软件包含许多独立的单元,即软件组件(Software Component)SWC,各个SWC之间通过定义好的端口相互访问;

        AUTOSAR通信

        AUTOSAR软件组件提供了定义明确的连接点,即端口。有三种类型的AUTOSAR的端口:

  • 需求端口
  • 供给端口
  • 组合的供给需求

四、BMS核心功能

1、SOC技术

        SOC(state of charge)估计算法是电池管理系统(BMS)开发应用的关键技术之一,传统燃油车有油表,能跑多远,看一眼心里就有数了,换成电动汽车,SOC就是电动汽车的“油表”,所以SOC的准确、稳定与否非常重要。

        SOC的定义粗略的说就是,SOC=剩余容量/额定容量(满充容量)*100%,更浅显的比喻就是剩余容量就好比汽车里面剩余的油,额定容量就是汽车的油箱容量,SOC就是剩余的“油”和“油箱容量”的比值。这个“剩余的油”和“油箱容量”越精确,用户使用起来就会越放心。

BMS中的SOC的计算其实可以分为三大部分:

  1. 电芯层级的SOC计算(软件中最真实的SOC计算,不涉及任何滤波处理);
  2. 模组或者电池包层级的SOC计算(电芯到电池包级别的SOC映射,即电池包的SOC是更接近于电芯的SOCmin还是SOCmax);
  3. 最终呈现给客户的显示SOC的计算(客户端显示永远在0%-100%,具有放电不增加、充电不减小、不跳变等特性;将电芯的使用区间(20%-90%)映射至0%-100%,还是涉及到滤波算法等)。

1.1、电芯层级SOC的计算

1.1.1开路电压法

        电池长时间充分静置后的各项参数相对稳定,此时的开路电压与电池荷电状态间的函数关系也是相对比较稳定的。若想获得电池的荷电状态值,只需测得电池两端的开路电压,并对照OCV-SOC曲线来获取相应信息。

        开路电压法的优点是操作简单,只需测量开路电压值对照特性曲线图即可获得荷电状态值。但是其缺点有很多:首先此方法要想获得准确值,必须使电池电压处于相对稳定状态,但电池往往需要长时间的静置,方可处于此状态,从而无法满足实时监测要求,往往应用于电动汽车长时间的驻车时。

1.1.2、安时积分法

        式中,SOC0是电池电荷状态的初始电量值;CE是电池的额定容量;I(t)为电池在t时刻的充放电电流;t为充放电的时间;η为充放电效率系数,又被称作库伦效率系数,代表了充放电过程中电池内部的电量耗散,一般以充电放电的倍率和温度修正系数为主。

        安时积分法的优点是受电池自身情况的限制相对较小,计算方法简单、可靠,能够对电池的荷电状态进行实时的估算。其缺点是由于安时计量法在控制中属于开环的检测,如果电流的采集精度不高,给定的初始荷电状态有一定误差,伴随着系统运行时间的延伸,之前产生的误差会逐渐累积,从而影响荷电状态的预测结果。并且由于安时积分法只是从外特性来分析荷电状态,多环节存在一定误差。从安时积分法计算公式中可以看出,电池的初始电量对计算结果的准确性影响较大。

        为了能使电流测量的精度得到提高,通常采用高性能的电流传感器来测量电流,但这样加大了成本。为此,许多学者在应用安时积分法的同时应用开路电压法,将二者结合。开路电压法用来估算电池的初始荷电状态,安时积分法用于实时估算,并且在算式中添加相关修正因子,以提高计算准确性。

​​​​​​​1.1.3、卡尔曼滤波法

        与安时积分不一样,卡尔曼滤波算法是一种闭环估算方法,任何时候都适合计算,不需要静置很长时间来获取静态OCV(开路电压)对SOC进行校正,能够消除传感器精度不足对SOC估算带来的影响,能够抑制服从正态分布的噪声,因此目前被广泛应用于电池SOC估算。

        卡尔曼滤波的核心思想是:根据当前仪器的“测量值”,上一刻的“预测量”,以及“误差”,来计算得到当前的“最优值”。其亮点是把误差(预测误差和测量误差,通称为噪声)纳入了计算,误差独立存在,不受测量数据的影响。

2、SOH技术

        电池SOH表征当前电池相对于新电池存储电能的能力,以百分比的形式表示电池从寿命开始到寿命结束期间所处的状态,用来定量描述当前电池的性能状态。电池的性能指标较多,国内外对SOH有多种定义,概念上缺乏统一,目前SOH的定义主要体现在容量、电量、内阻、循环次数和峰值功率等几个方面。

2.1、容量定义SOH

        采用电池容量衰减定义SOH的最多,给出的SOH定义如下:

式中:Caged为电池当前容量;Crated为电池额定容量。

2.2、电量定义SOH

        用电量定义SOH与容量定义相似,因为电池的额定容量有实际有效容量和最大容量,电池的实际容量与标称额定容量有些差异,所以从电池放电电量的角度定义SOH。

        式中:Qaged-max为当前电池最大放电电量;Qnew-max为新电池最大放电电量。

2.3、内阻定义SOH

        电池的内阻增大是电池老化的重要表现,也是电池进一步老化的原因,也有采用内阻定义SOH。

        式中:REOL为电池寿命结束时的内阻;RC为当前电池的内阻;Rnew为新电池的内阻。

2.4、剩余循环次数定义SOH

        除了采用容量和内阻等电池性能指标定义SOH外,也有用电池剩余的循环次数定义电池的SOH。

        式中:Cntremain为电池剩余循环次数;Cnttota为电池的总循环次数。

3、SOP技术

        电池SOP描述的是电池功率状态,通常用短时峰值功率值来表示。锂离子电池多工作于车辆起步、加速或刹车状态,为车辆提供或吸收瞬时的功率。

3.1、SOP算法

        P换算成中文其实就是功率,就是单位时间能够发出的能量,从电池的角度说就是电压乘以电流。

        官方定义:

  • 允许最大的瞬时充放电功率
  • 允许最大的恒定充放电功率

        近几年,各个研究机构和各家新能源整车厂对于SOP的控制量大多分为以下几个:10s内放电功率,30s内放电功率,10s内充电功率,30秒内充电充率。

        放电的功率限值很好理解,充电的功率限值主要是对高低温下的充电,以及能量反馈系统的约束。

        控制的方式有查表法,以及查表法与等效电路模型结合预测的方法,现阶段大多数厂家用的是温度-SOC决定的功率MAP的二维查表。

        电池系统的功率MAP的基础为电芯的功率MAP,电芯的性能决定了电池系统功率MAP所能达到的高度。电芯功率MAP由电芯厂家提出,由PACK厂组成电池后,根据各自的串并组合决定一套适用于各自开发的电池系统的功率初始MAP,严格意义上来说,功率MAP的每个二维点(特定温度-特定SOC)都需要进行测试。

        下图为一种电池系统的功率限值

 4、均衡功能

        电芯均衡,主要是因为目前的电芯一致性不够好,需要通过均衡去改善它。

        那么电芯的不一致性表现在哪些方面呢?

        主要包括四点:SOC、内阻、自放电电流、容量。但是均衡不能完全解决这4个差异点,均衡只能弥补SOC的差异,顺便解决了自放电不一致的问题。但对于内阻和容量来说,均衡是无能为力的。

        均衡是用来消除电芯的SOC差异,理想状态下,它时刻保持每一个电芯的SOC相同,让所有电芯同步到达充放电的上下电压限值,让电池组可利用的容量变大。SOC差异有两种场景,一是电芯容量相同,而SOC不同;二是电芯的容量不同,SOC也不同。

        场景一,电芯的容量相同,SOC不同;其中SOC最小的电芯最先到达放电下限(假设25% SOC是下限),SOC最大的电芯最先到达充电上限;在均衡的作用下,所有电芯保持相同的SOC进行充放电。

        场景二,电芯的容量不同,SOC也不同;这样容量最少的电芯最先充满电,也最先放完电;在均衡的作用下,所有的电芯保持相同的SOC进行充放电。

        均衡功能的实现方案分为两种,主动均衡和被动均衡;

        被动均衡(有损均衡)

        电阻耗能式,在每一颗单体电池并联一个电阻分流,耗能均衡就是将容量多的电池中多余的能量消耗掉,实现整组电池电压的均衡

        主动均衡(无损均衡)

        能量转移式,将单体能量高的转移到单体能量低的,或用整组能量补充到单体最低电池,在实施过程中需要一个储能环节,好让能量通过这个环节重新进行分配。

五、国内BMS企业

BMS企业分类

公司名称

BMS主要内容

动力电池企业

比亚迪股份有限公司

以比亚迪秦为例,其电池管理系统除具备基本的电池能量管理、电池热管理功能外,还具有电池单体自动均衡功能。

在整车运行过程中,监控整个电池包的单体性能参数,通过电池均衡功能达到及时、自动保养的目的,极大的减少了动力电池保养的时间成本,延长电池的使用寿命,提升各阶段的性能。

合肥国轩高科动力能源股份有限公司

合肥国轩高科动力能源股份有限公司自主研制的电池管理系统采用了Central-Distributed系统构架,整个系统由1个中央主控管理单元(CBMU)和多个(理论计算不超过64个)电池管理单元(BMU)及高压强电单元(HVU)组成。

该系统可以实时检测电池组中所有单节电池电压,电池组总电流、总电压、环境温度等多项参数,具有防止电池过充过放等多项保护功能,及信息传输有效、提高电池利用效率,延长电池使用寿命。

专业第三方BMS企业

惠州市亿能电子有限公司

EV02系统主要应用于电动汽车等领域,采用分布式系统拓扑结构,每个管理系统有一个主控单元(BCU),多个检测单元(BMU);EV03系列BMS主要应用于纯电动乘用车和混合动力乘用车电池系统,也可应用于纯电动商用车和混合动力商用车电池系统,采用分散式结构,由主控单元、高压检测单元和若干从控单元组成。

上海安科瑞电源管理系统有限公司

BMS负责检测电池的电压、充放电电流以及温度等信息,根据检测到的电压电流及温度等状态来选择充放电方式以及确定是否需要开启均衡管理,并且产生的异常状态对电池进行保护,确保电池安全使用,延长电池使用寿命。

东莞钜威新能源有限公司

钜威PW-EV BMS、PW E-Bus BMS电动汽车电池管理系统主要由电池管理单元BMU和主电池管理系统MBMS以及可配 置的外围传感器和执行器组成,是一种电动汽车或混合动力汽车以及电动大巴专用的电池管理系统,适用于各种类型和成组方式以及成组规模的动力电池组,实现了 动力电池组内主动均衡及动力电池管理,尤其适用于动力电池配置灵活多样的电动汽车等应用场合。

淄博洁力电气设备有限公司

力电气BMS电池管理系统根据动力电池的特性,将计算机控制技术、 微电子控制技术、精密测量技术相融合,对动力电池的各种运行参数进行实时监测监控。该系统可以全时监测每节单体电池的电压、电流、温度及工作环境,将获取的采用信息及报警信息通过CAN总线发送到整车控制器或其他控制单元,以确保动力电池安全可靠更优化地工作。

深圳市锐深科技有限公司

锐深电池管理系统为各类动 力锂电池组提供完善的保护,实现对电池组电压、电流、温度等多种电池参数的在线监测,对各种故障实时报警并采取迎接处理,动态估计电池组的剩余容量,并可 选配充放电控制功能。同时提供与充电机,电机控制器的CAN总线接口,并已实现协议的共享,进行通讯,将所有信息显示在LED屏上。可通过LED屏来配置 管理系统的参数,提供多种供选的显示单元解决方案,充分考虑整车系统的需求。

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

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

相关文章

JavaEE进阶(5/27)Spring Boot

目录 1.认识Spring Boot 2.Spring Boot的优点 3.SpringBoot项目创建 4.resource文件夹 和test文件夹 5.使用一个Spring Boot项目 1.认识Spring Boot Spring Boot 中的Boot 是启动引导的意思 如果Spring相比于普通java开发是从走演变到了汽车,那么Spring boot 相比…

【博客历程】比起方法和技巧,我更想谈质量与坚持

【博客历程】比起方法和技巧,我更想谈质量与坚持 文章目录 【博客历程】比起方法和技巧,我更想谈质量与坚持[toc]我的第一篇博客为什么坚持写博客为什么选择CSDN何为质量未来 还没准备好,等我怎样怎样时再 还在犹豫什么时候开始,…

ssm+springboot+java高校图书馆图书借阅座位预约管理系统系统

陕理工图书馆管理系统包括多个功能模块:图书类别管理模块、图书管理模块、读者管理模块、借阅管理模块、预约管理、推荐管理。管理员登入后,维护图书借阅的信息。本文介绍了使用Java技术开发陕理工图书馆管理系统的设计与实现过程,首先对实现…

微信小程序 java+nodejs+vue美食定制个性化点餐推荐系统

社会的发展和科学技术的进步,互联网技术越来越受欢迎。手机也逐渐受到广大人民群众的喜爱,也逐渐进入了每个用户的使用。手机具有便利性,速度快,效率高,成本低等优点。 因此,构建符合自己要求的操作系统是非…

Deathnote

Deathnote 1.主机发现 arp-scan -l2.扫描端口 nmap -Pn -sV -P- -A 192.168.80.132开放了80、22端口 3.访问80端口 修改host文件访问80端口时进行了跳转到deathnote.vuln/wordpress,修改hosts文件,将该域名解析到靶机ip windows hosts文件路径&…

canal server 标准化集群搭建(完结)

4.2. 创建 server 所属集群:选择刚才添加的 “集群名称” server 名称: server_1、server_2、server_3 依次类推 server ip:server 的 ip 地址 admin 端口:canal server 与 canal admin 的通信端口,非生产环境从 2…

Android 12.0Launcher3 电话和短信app图标显示未读短信和未接来电的条数

1.概述 在12.0产品开发中,最近客户有需求要求在电话app图标显示未接来电的条数 在短信app图标上显示未读信息的条数 根据需求首选要在Launcher3的Launcher.java中,启动launcher时,查询未读短信和未接来电 在有未接来电时,更新未接来电的数量 在有未读短信时,更新未读短信的…

基于html+css的图展示95

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

C++内存空间

1.内存空间 在 C 中,内存分为内核空间和用户空间,内核空间由操作系统管理,程序员写的程序在用户空间。 程序运行时,内存主要分成四个区,分别是栈、堆、数据段和代码段。 栈:存储局部变量、函数参数和返回…

今日餐饮美食推荐系统多商家 uniapp+vue微信小程序

此今日美食推荐小程序信息的设计主要有两个用户,会员客户端和管理员服务端两个部分:会员客户主要功能; (1)会员信息:包括:会员注册、会员登录,包括对个人信息进行修改。 &#xff08…

Redis的常用数据结构之哈希类型

首先这里说的哈希类型针对的是redis中的value的k-v结构 常见的操作命令 hset设置值 hsetnx命令,不存在可以设置,存在设置不成功 hget取值,这里与字符串类型不同是要精确到filed。前面的判断也是基于field来实现的 要是field没有就返回null h…

计算机视觉:卷积步长(Stride)

本文重点 我们前面学习了卷积操作,也学习了填充,本节课程我们学习卷积步长,之前我们使用卷积核进行卷积操作都是在图像的左上角开始,从左到右、从上到下每次移动一步,其实移动多少步是可以变化的,这个移动步数称为步长。 什么是步长 卷积操作中的步长(Stride)是指卷…

Qt自定义的ColorDialog--仿QColorDialog

Qt已经有了色板选择,但是它使用QDialog形成的,每次调用基本上都成了点一个按钮,谈一个模态框,选择好颜色之后再关掉模态框。 但是,如果想将颜色选择板放在窗口上,并不会有模态的功能就会比较麻烦&#xff…

【Python GUI编程】零基础也能轻松掌握的学习路线与参考资料

Python GUI编程是指使用Python语言及其相关的GUI框架来开发图形用户界面的程序。学习Python GUI编程需要具备一定的基础知识,如Python语言基础、面向对象编程、GUI编程等。下面给出详细的学习路线和参考资料。 一、Python基础 学习Python GUI编程的第一步需要具备…

代理模式 静态代理 动态代理

代理对象可以在客户端和目标对象之间起到中介的作用,并且可以通过代理对象去掉客户不应该看到的内容和服务或者添加客户需要的额外服务。 代理模式中的角色: 代理类目标类代理类和目标类的公共接口:客户端在使用代理类时就像在使用目标类&a…

接口加密解决方案:Python的各种加密实现

前言 在现代软件开发中,接口测试已经成为了不可或缺的一部分。随着互联网的普及,越来越多的应用程序都采用了接口作为数据传输的方式。接口测试的目的是确保接口的正确性、稳定性和安全性,从而保障系统的正常运行。 在接口测试中&#xff0…

【C++项目】负载均衡oj

前言: 本篇记录负载均衡oj项目设计的整体思路和部分代码。 负载均衡oj项目基于http网络请求,通过简单的前后端交互:前端的页面编辑已经提交代码,后端控制模块和编译运行的模块分离整合(负载均衡式的选择后端编译运行服…

【2024最新】Spring面试题

✅✅作者主页:🔗请你喝杯Java的博客 🔥🔥精选专栏:🔗Java求职一条龙(持续更新中) 💞💞觉得文章还不错的话欢迎大家点赞👍➕收藏⭐️➕评论💬支持博主🤞 👉 👉你的一键三连是我更新的最大动力❤️❤️ 【2024最新】Spring面试题 一.Spring中@Resource…

Unity包围盒

序 比如,目前导入了一个obj文件,想知道它的AABB包围盒是什么。 官方文档 Unity - Scripting API: Bounds (unity3d.com) 可以看到,包围盒有三个类别的: Mesh.bounds Unity - Scripting API: Mesh.bounds (unity3d.com) 不随…

【万字解析、学习参考资料】MySQL数据库常见面试题

version:1.0 文章目录 基础篇🙎‍♂️面试官: 非关系型数据库和关系型数据库的区别?🙎‍♂️面试官: MySQL 数据库两种存储引擎的区别? 事务篇🙎‍♂️面试官: 事务的四大特性了解…