文章目录

  • 三、虚拟化技术
    • 3.1 虚拟化技术概述
    • 3.2 虚拟化关键技术
      • 3.2.1服务器虚拟化
      • 3.2.2 存储虚拟化
      • 3.2.3 网络虚拟化
      • 3.2.4 桌面虚拟化
    • 3.3 虚拟机迁移技术
    • 3.4 相关资源与思考题
  • 四、容器技术
    • 4.1 容器技术概述
    • 4.2 Docker核心技术
      • (1)镜像
      • (2)容器
      • (3)仓库
    • 4.3 Docker应用场景
    • 4.4 相关资源及思考题
  • 5、云仿真平台
    • 5.1 仿真平台背景
    • 5.2 云仿真平台实例
      • (1)云仿真平台的实际意义
      • (2)仿真平台实例
    • 5.3 云仿真平台应用
    • 5.5 思考:

三、虚拟化技术

3.1 虚拟化技术概述

●虚拟化是一种方法,本质上讲是指从逻辑角度而不是物理角度来对资源进行配置,是从单一的逻辑角度来看待不同的物理资源的方法。
●虚拟化把有限的固定资源根据不同需求进行重新规划以达到最大利用率。

(1)虚拟化与云计算之间的关系:
一句话总结:云计算必定是虚拟化的,虚拟化给云计算提供了坚定的基础。但是虚拟化的用处并不仅限于云计算,这只是它强大功能中的一部分。可以说云计算是虚拟化的最高境界,虚拟化是云计算的底层结构

(2)四大特征
分区:单一服务器上运行多个虚拟机
隔离:同一个服务器上的虚拟机之间相互隔离
封装:虚拟机以文件形式保持
硬件独立:无需修改即可在任何服务器上运行虚拟机

(3)虚拟化的技术优点
●更高的资源利用率
更高的可用性
●降低管理成本
●更高的可扩展性
●提高使用灵活性
●互操作性和投资保护
●提高安全性
●改进资源供应

3.2 虚拟化关键技术

3.2.1服务器虚拟化

(1)分类
寄居虚拟化: ●虚拟机监视器是运行在宿主操作系统之上的应用程序,利用宿主操作系统的功能来实现硬件资源的抽象和虚拟机的管理。(VMware Workstation)

裸机虚拟化:
虚拟化平台直接运行在硬件之上提供指令集和设备接口,以提供对虚拟机的支持。
●Hypervisor实现从虚拟资源到物理资源的映射;它实现了不同虚拟机的运行上下文保护与切换,保证了各个客户虚拟系统的有效隔离(Xen、KVM)

寄居虚拟化实现起来容易但是性能较低,裸机虚拟化不依赖主机操作系统,性能较高。

(2)服务器虚拟化的方法
全虚拟化:
●通过Hypervisor (虚拟机管理程序)来分享底层硬件,客户操
作系统无需意识到在虚拟环境运行,受保护的指令由Hypervisor来捕获和处理。这种情况下虚拟机不知道自己是虚拟机(VMvare)

半虚拟化:
●使用Hypervisor (虚拟机管理程序)分享底层的硬件,但客户操作系统集成了虚拟化方面的代码由于操作系统自身能够与虚拟进程进行很好的协作,无需Hypervisor捕获和处理特殊指令

操作系统级虚拟化
●内核与Hypervisor (虚拟机管理程序)集成,操作系统上层与
内核共同组成完整操作系统。

解读服务器虚拟化的误区:
虚拟化技术可以实现多台物理服务器资源的整合,但是不能实现单个应用通过虚拟化而运行在多态物理硬件上
当服务器维修时,可以将虚拟机迁移到其他服务器上,来保障物理服务器和虚拟机的安全性和可靠性

(3)服务器虚拟化的核心技术

cpu虚拟化
●CPU虚拟化是指将单个物理CPU虚拟成多个虚拟CPU供虚拟
机使用,由VMM为虚拟CPU分配时间片,并同时对虚拟CPU的
状态进行管理。在x86体系CPU指令集中,CPU有4个特权级(ring0- ring3)
●CPU硬件辅助虚拟化在Ring模式的基础上引入了一种新的模
式,叫VMX模式。它包括根操ROOT作模式(VMX Root Operation
)和非根操作模式(VMX Non-Root Operation)。

内存虚拟化
●内存虚拟化技术把物理机的真实物理内存统一管理,包装成多个虚拟的物理内存分别供若干个虚拟机使用,使得每个虚拟机拥有各自独立的内存空间。

设备i/o虚拟化
●除了处理器和内存外,服务器其他需要虚拟化的关键部件还包括设备与I/O。
●设备与I/O虚拟化技术把物理机的真实设备统一管理,包装成多个虚拟设备给若干个虚拟机使用,响应每个虚拟机的设备访问请求和I/O请求。

3.2.2 存储虚拟化

●对硬件存储资源进行抽象化,通过对存储系统或存储服务内部的功能进行隐藏、隔离及抽象,使存储与网络、应用等管理分离,存储资源得以合并,从而提升资源利用率。
功能:
在虚拟层通过使用数据镜像、数据校验和多路径等技术,利用负载均衡、数据迁移、数据块重组等技术,整合和重组底层物理资源,将系统中分散的存储资源整合起来。
实现方式:
在这里插入图片描述

3.2.3 网络虚拟化

VLAN
虚拟局域网(VLAN)是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中

  • -样,由此得名虚拟局域网。
    VPN
    ●VPN属于远程访问技术,简单地说就是利用公用网络架设专用网络。例如某公司员工出差到外地,他想访问企业内网的服务器资源,这种访问就属于远程访问。
    ●NAT,全称为网络地址转换(Network AddressTranslation) ,是为了解决IPv4地址短缺而出现的技术。

3.2.4 桌面虚拟化

桌面虚拟化
●桌面虚拟化是在物理服务器上安装虚拟主机系统,由虚拟主机系统模拟出操作系统运行所需要的硬件资源,如:CPU、内存、网卡、存储等。可以通过任何设备,在任何地点,任何时间访问在网络上的属于我们个人的桌面系统。

3.3 虚拟机迁移技术

虚拟机迁移是将虚拟机实例从源宿主机迁移到目标宿主机,并且在目标宿主,机上能够将虚拟机运行状态恢复到其在迁移之前相同的状态,以便能够继续完成应用程序的任务。

云计算中心的物理服务器负载经常处于动态变化中,当- -台物理服务器负载过大时,若此刻不可能提供额外的物理服务器,管理员可以将其上面的虚拟机迁移到其他服务器,达到负载平衡。

云计算中心的物理服务器有时候需要定期进行升级维护,当升级维护服务器时,管理员可以将其上面的虚拟机迁移到其他服务器,等升级维护完成之后,再把虚拟机迁移回来。

3.4 相关资源与思考题

●虚拟化技术的特点有哪些?
●虚拟化技术有哪些关键技术?

四、容器技术

4.1 容器技术概述

新型虚拟化技术:容器
●容器可以把开发环境及应用整个打包带走,打包好的容器可以在任何的环境下运行,这样就可以解决开发与线上环境不一致的问题了。

定义:
开源的应用容器引擎,让开发者可以打包他们的应用以及应用的依赖包,然后放到一一个可移植的容器中,然后发布到任意的机器.上以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

优势:
持续继承:
在开发与发布的生命周期中,不同的环境具有细微的不同,这些差异可能是由于不同安装包的版本和依赖关系引起的。然而,Docker可以通过确保从开发到产品发布整个过程环境的一致性来解决这个问题

版本控制:
设想如果你因为完成了-个组件的升级而导致你整个环境都损坏了,Docker可以让你轻松地回滚到这个镜像的前一个版本。这整个过程可以在几分钟内完成

可移植性:
Docker最大的好处之一就是可移植性。 在过去的几年里,所有主流的云计算提供商,包括亚马逊AWS和谷歌的GCP,都将Docker融入到他们的平台并增加了各自的支持。

安全性、隔离性:
Docker确保运行在容器中的应用程序和其他容器中的应用程序是完全分隔与隔离的,Docker还能确保每个应用程序只使用分配给它的资源(包括CPU、内存和磁盘空间)

4.2 Docker核心技术

容器:执行
镜像:构建
仓库:分发
client:用户输入的命令行
Docker_host1:直观的本地服务器的操作
Registry:镜像仓库,保存用户所需要的镜像文件

用户命令:
Docker pull:将远端仓库的镜像下载到服务器
Docker run: 将下载的镜像运行起来,运行容器。类似于本地安装操作系统。一个镜像可以启动多个容器。
Docker build:
在本地创建镜像,可以创建一个已经安装好所有软件后的镜像,这样用这个镜像启动容器就节省了很多重复的步骤
Docker push: 将镜像放到仓库中

(1)镜像

●类似虚拟机的镜像,用来创建Docker的容器,镜像是一个只读模板。
●一个镜像可以包含一个完整的(ubuntu)操作系统环境里面, 仅安装了apache/Mysql或用户需要的其它应用程序。
➢父镜像:
●每一个镜像都可能依赖于由一一个或多个下层的组成的
另一个镜像。下层那个镜像是上层镜像的父镜像。
➢基础镜像:
●一个没有任何父镜像的镜像,谓之基础镜像。
➢镜像ID:
●所有镜像都是通过一个64位十六进制字符串 (内部
是一个256 bit的值)来标识的。
➢Metadata(元数据):
镜像层中包含的关于这个层的额外信息。
●能够让Docker获取运行和构建时的信息。
●父层的层次信息。

(2)容器

●等同于从模板中创建虚拟机。
●容器是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。
●可以把容器看做是-一个简易版的Linux环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程。

(3)仓库

●仓库(Repository) 是集中存放镜像文件的场所,类似代码仓库。
●仓库分为公开仓库(Public) 和私有仓库(Private) 两种形式。
●最大的公开仓库是Docker Hub,存放了数量庞大的镜像供用户下载。
●仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签。
●push镜像到仓库,从仓库pull下镜像。

(4)Cgroup
●Control Groups (cgroups) :cgroups 实现了对资源的配额和度量计算机资源
使用上的隔离,通常我们叫做使用限额。
➢Resource limitation:限制资源使用,比如内存使用上限以及文件系统的缓存限制。
➢Prioritization: 优先级控制,比如: CPU利用和磁盘I0吞吐。
➢Accounting: - -些审计或一些统计,主要目的是为了计费。
➢Control: 挂起进程,恢复执行进程。

(5)卷
Union File System
●指容器中只读层及在顶部的读写层的组合。
●容器修改了现有的一个已经存在的文件,那该文件将会从读写层下面的只读层复制-份到读写层。
●删除Docker容器,并通过该镜像重新启动
时,之前对该文件的更改将会丢失。

(6)Volume
(7)网络
bridge桥接模式
host模式
Container模式
None模式
(8)跨主机网络
Weave
Overlay
OpenvSwitch

4.3 Docker应用场景

1、简化配置:将运行环境和配置放在代码中,再部署。
同一个docker配置可以在不同环境中使用
2、代码流水线管理
3、整合服务器:正如虚拟机可以整合多个应用一样
可以整个多个服务器降低成本,由于没有多个操作系统的内存占用,并且能在多个实例之间共享没有使用的内存,比虚拟机提供更好的服务器整合方案。
4、调试能力:docker提供很多功能,包括设置检查点,可以帮助调试burg
5、多租户环境:为多个实例创建隔离条件
6、提供开发效率:在使用虚拟机的时候经常要为开发环境的机器加内存,而docker可以轻松的让很多服务同时跑起来
7、隔离应用
8、快速部署:docker仅仅需要为进程创建一个容器,而无需重新启动一个操作系统,将速度提升到了秒级。

4.4 相关资源及思考题

●容器技术的三大核心技术分别是什么?三者之间是如何配合
工作的?
●容器技术应用场景有哪些? (八大应用)

5、云仿真平台

5.1 仿真平台背景

(1)什么是仿真?
仿真(又称“模拟”)是利用模型复现实际系统中发生
的本质过程,并通过对系统模型的实验来研究存在的或设计
中的系统。仿真的重要工具是计算机。仿真与数值计算、求解方法
的区别在于它首先是-一种实验技术。仿真的过程包括建立仿
真模型和进行仿真实验两个主要步骤。

(2)仿真三要素
仿真三要素为:系统、模型和计算机
(1)系统:研究的对象
(2)模型:系统的抽象
(3)计算机:工具与手段

(3)仿真的内容
物性数据库
单元操作模型库
模型求解算法库
仿真环境及其输入输出

(4)仿真的分类
仿真可以按不同原则分类:
1.按所用模型的类型可以分为物理仿真、计算机仿真、半实物仿真。
2.按所用计算机的类型可以分为模拟仿真、数字仿真和混合仿真。
3.按仿真对象中的信号流可以分为连续系统仿真和离散系统仿真。
仿真可以按不同原则分类:
4.按仿真时间与实际时间的比例关系分为实时仿真、超实时仿真和亚实时仿真。
5.按对象的性质分为宇宙飞船仿真、化工系统仿真、经济系统仿真等。

(5)matlab仿真的数学工具
Matlab系统结构:
程序接口
MATLAB应用程序接口(API) 是一个使MATLAB语言能与
C、Fortran等其它高级编程语言进行交互的函数库。
该函数库的函数通过调用动态链接库(DLL)实现与
MATLAB文件的数据交换,其主要功能包括在MATLAB中调
用C和Fortran程序,以及在MATLAB与其它应用程序间建立
客户、服务器关系。

(7)NS2

5.2 云仿真平台实例

云计算:资源池,按需所取,灵活运用

(1)云仿真平台的实际意义

云仿真平台的实际意义
了解云平台中各组件运行情况
优化软硬件结构
调整资源分配策略以及战略部署
为没有硬件条件的研究人员提供研究手段

(2)仿真平台实例

<1> CloudSim介绍:
CloudSim继承了GridSim的编程模型,支持云计算的研究和开发,并提供了以下新的特点:
(1) 支持大型云计算的基础设施的建模与仿真;
(2) 一个自足的支持数据中心、服务代理人、调度和分配策略的平台。
➢CloudSim是在GridSim模型基础_上发展而来,提供了云计
算的特性,支持云计算的资源管理和调度模拟。
➢云计算与网格计算的一个显著区别是云计算采用了成熟
的虚拟化技术,将数据中心的资源虚拟化为资源池,打
包对外向用户提供服务。
➢CloudSim体现了此特点,扩展部分实现了一系列接口,
提供基于数据中心的虚拟化技术、虚拟化云的建模和仿
真功能。
CloudSim提供了资源的监测、主机到虚拟机的映射功
能。CloudSim 的CIS ( Cloud Information Service )和
DataCenterBroker实现资源发现和信息交互,是模拟调度
的核心。用户自行开发的调度算法可在DataCenterBroker的方法中实现,从而实现调度算法的模拟。

CloudSim核心类介绍:
(1) Cloudlet类: 构建云环境下的任务。
(2) DataCenter类: 数据中心,提供虚拟化的网格资
源,处理虚拟机信息的查询,包含虚拟机对资源的分配策
略,云计算采用VMProvisioner处理虚拟机。
(3) DataCenterBroker类: 隐藏了虚拟机的管理,如创建、任务提交、虚拟机的销毁等。
(4) Host类:扩展了机器对虚拟机除处理单元(PE)之外的
参数分配策略,如带宽、存储空间、内存等,- -台Host可对
应多台虚拟机。
(5) VirtualMachine类: 虚拟机类,运行在Host上,与其
它虚拟机共享资源,每台虚拟机由一个拥有者所有,可提交
任务,并由VMScheduler类定制该虚拟机的调度策略。
(6) VMScheduler类:虚拟机的调度策略,用来管理执行
任务,实现了任务接口。
(7) VMCharacteristics类: 提供虚拟机描述。
(8) VMMAllocationPolicy类: 虚拟机监视器策略类,描
述同一Host上的多台虚拟机共享资源的策略。
(9) VMProvisioner类: 实现数据中心的主机到虚拟机的映射。

<2> GreenCloud介绍
Greencloud是用于能源感知型云计算数据中心的复杂数据包级模拟器,其重点是云通信。它提供了数据中心T设备(例如计算服务器,网络交换机和通信链路)所消耗能量的详细细粒度建模。GreenCloud可用于开发监视,资源分配,工作负载调度以及通信协议和网络基础结构优化的新颖解决方案。它是根据《通用公共许可协议》发行的,并且是著名的NS2网络模拟器的扩展。

GreenCloud主要特征
(1)专注于云网络和能源意识
(2)模拟CPU,内存,存储和网络资源
(3)每种资源的独立能源模型
(4)支持虚拟化和VM迁移
(5)网络感知资源分配
(6)完整的TCP / IP实施
(7)用户友好的GUI
(8)开源的

<3> CloudSimSEC介绍
为了对大规模云数据中心的能耗使用情况进行优化,本实验室基于云仿真软件CloudSim,提出了一-种大规模云数据中心智能化节能模拟平台–CloudSimSEC。

5.3 云仿真平台应用

第一步:初始化CloudSim类CloudSim类是云仿真软件CloudSim的核心类,位于org. cloudbus.cloudsim.core包中。在使用CloudSim中所有的实体之前,必须先对CloudSim类进行初始化。

第二步:创建数据中心
创建数据中心需要使用Datacenter类,该类在org.cloudbus.cloudsim包中,继承了SimEntity类。 数据中心是CloudSim中的资源提供者,使用该类相当于模拟出了云数据中心框架,我们之后只需要创建实体往框架里面填写即可。

第三步:创建代理
代理指的是代理模式,意味着我们不需要深入CloudSim的底层细节,只要需用通过代理即可对CloudSim进行操作。代理类DatacenterBroker位于org.cloudbus.cloudsim包中,继承了SimEntity类。

第四步:创建虚拟机列表
虚拟机是云计算的核心元素,也是任务执行的实际载体。CloudSim中代表虚拟的是Vm类,该类位于包org.cloudbus.cloudsim。

第五步:创建虚拟机,并加入虚拟机列表
代码: int vmid= 0; //虚拟机的Id
int mips = 1000; //虚拟机的MIPS (计算能力)
long size = 10000; //磁盘容量(MB)
int ram= 512; //内存容量(MB)
long bw= 1000;//带宽
int pesNumber= 1; // CPU数量

String vmm =“Xen";//虚拟机监视器名称

代码:
Vm vm = new Vm…);
vmlist.add(vm);

第六步:将虚拟机列表传输给代理broker
此步的 目的是将虚拟机列表的管理权交给代理broker,
此后代理broker将会代替我们对虚拟机列表进行调用。
代码:
broker.submitVmList(vmlist);

第六步:创建云任务
代码:
intid=0;//云任务ID
long length = 400000; //云任务长度
long fileSize = 300; //云任务输入的文件夹个数
long outputSize = 300; //云任务输出的文件夹个数
UtilizationModel uModel = new UtilizationModelFull();
//系统能耗计算模型
代码:
Cloudlet cloudlet = new Cloudlet…); //建立云任务
cloudlet.setUserld(brokerld); //设置代理broker
cloudlet.setVmld(vmid); //设置虚拟机vm

第七步:将云任务添加到云任务列表,并提交给代理broker
代码: cloudletList.add(cloudlet);
broker.submitCloudletList(cloudletList);

第八步:开始模拟
代码: CloudSim.startSimulation();
CloudSim.stopSimulation();
broker.submitCloudletList(cloudletList);

第九步:打印结果
代码:
List res = broker.getCloudletReceivedList();
printCloudletList(res);

5.4 资源:
CloudSim GitHub地址: https://github.com/Cloudslab/cloudsim
GreenCloud官方网站: https://greencloud.gforge.uni.lu/
OpenStack官方网站: https://docs.openstack.org/train/
DevStack官方网站: devstack.org/

5.5 思考:

思考题1:什么是仿真,仿真的价值有哪些?
思考题2:常见的云仿真平台分别适合在什么样的情景下进行云仿真?
三种常见云仿真平台
思考题3: CloudSim中如果要多数据中心进行任务交互,那能耗模型需要怎样改进?
思考题:云仿真平台的局限性:
1、需要投入较多的人力资源,即使如此也不能保证仿真结果。
2、对计算资源利用率较低和能耗大导致成本高。
3、运行时不支持重启仿真和创建新的模拟实体。
4、多线程使用过于复杂,难以操作,不利于上手。

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 2020-8-30

    开学了,再不背单词我就炸了 昨天单词复习700,今天复习1000 明个再来1000,算了一下,4个小时背了,加上中途睡了接近2小时的午觉,没办法,热的困死了 晚上跑了4km,20多分钟 PS:他大爷切橙子,不知道是手指甲还是刀,反正不注意一用力就给自己来了一记,右手食指就流血了,…...

    2024/4/28 16:59:43
  2. 使用python连接clickhouse并发送邮件

    使用python连接clickhouse并发送邮件 1. 概览 需求:给对应的广告商发送前一天的投放的广告数据 选择:说实话是因为自己java太差,感觉python做这个会简单一点,所以选了它 遇到的问题: ​ 1.要在不影响线上python环境的前提下,安装自己所需要的各种模块 ​ 2.使用vir…...

    2024/4/25 17:57:01
  3. 2020茶艺师(初级)考试题库及茶艺师(初级)实操考试视频

    题库来源:安全生产模拟考试一点通公众号小程序2020茶艺师(初级)考试题库及茶艺师(初级)实操考试视频,包含茶艺师(初级)考试题库答案解析及茶艺师(初级)实操考试视频练习。由安全生产模拟考试一点通公众号结合国家茶艺师(初级)考试最新大纲及茶艺师(初级)考试真题…...

    2024/4/28 4:13:35
  4. ArrayList源码浅析

    Java中List是一个必须要掌握的基础知识,List是一个接口,实现List接口的基础类有很多,其中最具有代表性的两个:ArrayList和LinkedList。1、变量ArrayList是一个底层基于数组实现动态大小扩容的数据结构,快速访问、可复制、序列化的。继承自 AbstractList,实现了 List 接口…...

    2024/4/27 23:57:30
  5. 严格模式VS非严格模式

    严格模式VS非严格模式(高清脑图)...

    2024/4/28 8:54:21
  6. 4.mybatis使用包装类

    1.好处,可以使用多个model的域进行查询 2.目录结构3.用user_vo去包装user,…等类(对包装的再回顾) package mybatis.model;public class User_VO {private User user;public User getUser() {return user;}public void setUser(User user) {this.user = user;} }4.对usermap…...

    2024/4/28 3:52:06
  7. sqlite3.ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory that can

    sqlite3.ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str). It is highly recommended that you instead just switch your application to Unicode strings.不晓得pytho…...

    2024/4/23 16:17:17
  8. pytorch函数(待更新)

    文章目录torch.eyetorch.linspacetorch.rand与torch.randntorch.cattorch.chunktorch.index_selecttorch.splittorch.squeeze与torch.unsqueezetorch.savestorch.load torch.eye torch.eye(n, m=None, out=None):返回一个2维张量,对角线位置全1,其它位置全0 参数:n (int ) –…...

    2024/4/28 1:32:50
  9. 【剑指offer】把二叉树打印成多行(树、bfs)

    题目描述: 从上到下按层打印二叉树,同一层结点从左至右输出。 //每一层输出一行。(需要分行打印)不分行打印 /* struct TreeNode {int val;struct TreeNode *left;struct TreeNode *right;TreeNode(int x) :val(x), left(NULL), right(NULL) {} };*/ class Solution { public:…...

    2024/4/28 15:26:38
  10. 5.mybatis 传递map对象

    1.目录结构2.userMapper public List<User> find_by_map(Map<String,String> map);3.use.xml<select id="find_by_map" parameterType="hashmap" resultType="user">select * from user where name=#{name}</select>4.…...

    2024/4/23 4:31:40
  11. JavaIO流

    **总结** 1. 按流的方向分类:输入流:数据源到程序(InputStream、Reader读进来)。输出流:程序到目的地(OutPutStream、Writer写出去)。2. 按流的处理数据单元分类:字节流:按照字节读取数据(InputStream、OutputStream)。字符流:按照字符读取数据(Reader、Writer)。3. 按流…...

    2024/4/28 13:16:30
  12. mybatis的使用及源码分析(八) mybatis的rowbounds分析

    Mybatis提供了一个简单的逻辑分页类RowBounds,其原理类似于在内存中做了一个分页,不是数据库层面的分页,性能不算好,谨慎使用一. RowBounds源码分析 1 RowBounds源码: /*** Copyright 2009-2017 the original author or authors.** Licensed under the Apache Licen…...

    2024/4/28 9:04:28
  13. 6.mybatis resultMap标签的使用

    1.使用场景:当model类的属性名和数据库的表头名对不上时 2.创建一个新model public class User_1 {private String _name;private String _password;public String get_name() {return _name;}public void set_name(String _name) {this._name = _name;}public String get_pas…...

    2024/4/28 4:08:11
  14. Spring-boot @Transactional 属性配置及列表

    属性配置事务管理的目的在出现异常的情况下,保证数据的一致性;数据提交操作回滚至异常发生前的状态事务管理的方式:Spring(Spring Framework 提供对事务管理的抽象接口) 支持两种事务管理方式: 编程式事务管理使用 TransactionTemplate 或 PlatformTransactionManager 实…...

    2024/4/11 16:19:41
  15. 基于SpringBoot+Maven创建多模块项目

    1.创建父控项目通过quickstart创建Maven父控项目2.创建子模块创建Module模块,基于SpringBoot创建如果使用Spring创建网速比较慢,可以通过阿里云创建 https://start.aliyun.com/如果想创建Web项目,可以直接选择Spring Web组件创建,使用非常方便3.父模块统一管理子模块①:可…...

    2024/4/28 2:32:26
  16. 大二开学第一周

    经过了八个多月的漫长假期,我们终于迎来了开学,一路辗转,早上六点出家门,终于在下午五点到了学校,口罩,消毒,测体温,填表,健康码,行程码,领取防疫物资,顺利进入了学校,刚进校门就看到欢迎回家的大牌子,着实有些许感动。到了宿舍,看到还是那么欠扁的舍友,那么逗…...

    2024/4/23 2:16:16
  17. DMN结合bpmn简化流程_07

    项目地址:https://gitee.com/lwj/flowable.git 分支flowable-base 视频地址:https://www.bilibili.com/video/av79774697/ DMN集成到BPMN中使用 简化流程,让我们的BPMN显得更加优雅 * DMN集成bpmn使用 新建决策树模板 注意一定要部署,而且部署的TENANT_ID和流程模板保持一致…...

    2024/4/28 9:22:01
  18. hualinxu ext zbx 1.10:grafana接入zabbix5.0

    目录一、zabbix5.0安装二、Grafana图形展示安装2.1 Grafana基本概念2.2 Grafana安装(yum)2.2.1 Grafana yum安装及启动服务2.2.2 web登录Grafana三、Grafana配置zabbix3.1 安装zabbix插件3.1.1 安装zabbix插件3.1.2 开启zabbix插件3.1.3 添加zabbix数据源3.2 安装zabbix相关的…...

    2024/4/20 4:55:44
  19. 【音视频数据数据处理 11】【H.264篇】解析H.264原始码流中所有的NAL单元数据

    【音视频数据数据处理 11】【H.264篇】解析H.264原始码流中所有的NAL单元数据一、NAL头组成二、准备H.264 视频素材三、解析H.264码流NAL单元代码实现四、运行结果 有关H.264的基础知识,可以参考下我之前转载学习的文章《 H264编码基本原理(一)》在第六章中,我们学习到,在…...

    2024/4/26 22:45:07
  20. javaweb基础三巨头

    1. 什么是ServletJava Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。Servlet 架构下图显示了 Servlet 在 Web 应用程序中的位置。通俗理解:servlet是用来处理web服务器…...

    2024/4/27 19:02:57

最新文章

  1. js的算法-插入排序(折半插入排序)

    直接插入排序的步骤 1. 从前面的有序子表中查找出待插入元素应该被插入的位置 2. 给插入位置腾空间 3. 将待插入元素复制到表中的插入位置。 直接插入排序&#xff1a;边比较边移动&#xff1b; 折半插入排序 先折半查找出元素的待插入位置&#xff0c;然后统一地移动待插…...

    2024/4/28 18:22:22
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. Spring集成MyBatis

    基本准备 创建Dynamic Web Project 引入相关jar包 Spring框架相关jar包 MyBatis连接Spring相关jar包 连接MySQL驱动包 JSTL标签库包 添加db.properties文件&#xff0c;该属性文件配置连接数据库相关信息 drivercom.mysql.jdbc.Driver urljdbc:mysql://localhost:3306/myba…...

    2024/4/23 6:22:22
  4. WPS二次开发专题:WPS SDK实现文档打印功能

    作者持续关注WPS二次开发专题系列&#xff0c;持续为大家带来更多有价值的WPS开发技术细节&#xff0c;如果能够帮助到您&#xff0c;请帮忙来个一键三连&#xff0c;更多问题请联系我&#xff08;QQ:250325397&#xff09; 在办公场景或者家教场景中经常碰到需要对文档进行打印…...

    2024/4/26 8:23:14
  5. 416. 分割等和子集问题(动态规划)

    题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义&#xff1a;dp[i][j]表示当背包容量为j&#xff0c;用前i个物品是否正好可以将背包填满&#xff…...

    2024/4/28 4:04:40
  6. 【Java】ExcelWriter自适应宽度工具类(支持中文)

    工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...

    2024/4/28 12:01:04
  7. Spring cloud负载均衡@LoadBalanced LoadBalancerClient

    LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon&#xff0c;直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件&#xff0c;我们讨论Spring负载均衡以Spring Cloud2020之后版本为主&#xff0c;学习Spring Cloud LoadBalance&#xff0c;暂不讨论Ribbon…...

    2024/4/28 16:34:55
  8. TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案

    一、背景需求分析 在工业产业园、化工园或生产制造园区中&#xff0c;周界防范意义重大&#xff0c;对园区的安全起到重要的作用。常规的安防方式是采用人员巡查&#xff0c;人力投入成本大而且效率低。周界一旦被破坏或入侵&#xff0c;会影响园区人员和资产安全&#xff0c;…...

    2024/4/27 12:24:46
  9. VB.net WebBrowser网页元素抓取分析方法

    在用WebBrowser编程实现网页操作自动化时&#xff0c;常要分析网页Html&#xff0c;例如网页在加载数据时&#xff0c;常会显示“系统处理中&#xff0c;请稍候..”&#xff0c;我们需要在数据加载完成后才能继续下一步操作&#xff0c;如何抓取这个信息的网页html元素变化&…...

    2024/4/28 12:01:03
  10. 【Objective-C】Objective-C汇总

    方法定义 参考&#xff1a;https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...

    2024/4/28 12:01:03
  11. 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

    &#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格…...

    2024/4/28 12:01:03
  12. 【ES6.0】- 扩展运算符(...)

    【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数&#xff0…...

    2024/4/28 16:07:14
  13. 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?

    文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕&#xff0c;各大品牌纷纷晒出优异的成绩单&#xff0c;摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称&#xff0c;在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁&#xff0c;多个平台数据都表现出极度异常…...

    2024/4/27 21:08:20
  14. Go语言常用命令详解(二)

    文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令&#xff0c;这些命令可以帮助您在Go开发中进行编译、测试、运行和…...

    2024/4/28 9:00:42
  15. 用欧拉路径判断图同构推出reverse合法性:1116T4

    http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b&#xff0c;我们在 a i a_i ai​ 和 a i 1 a_{i1} ai1​ 之间连边&#xff0c; b b b 同理&#xff0c;则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然&#xff0…...

    2024/4/27 18:40:35
  16. 【NGINX--1】基础知识

    1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息&#xff0c;并安装一些有助于配置官方 NGINX 软件包仓库的软件包&#xff1a; apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...

    2024/4/28 4:14:21
  17. Hive默认分割符、存储格式与数据压缩

    目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限&#xff08;ROW FORMAT&#xff09;配置标准HQL为&#xff1a; ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...

    2024/4/27 13:52:15
  18. 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法

    文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中&#xff0c;传感器和控制器产生大量周…...

    2024/4/27 13:38:13
  19. --max-old-space-size=8192报错

    vue项目运行时&#xff0c;如果经常运行慢&#xff0c;崩溃停止服务&#xff0c;报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中&#xff0c;通过JavaScript使用内存时只能使用部分内存&#xff08;64位系统&…...

    2024/4/28 12:00:58
  20. 基于深度学习的恶意软件检测

    恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞&#xff0c;例如可以被劫持的合法软件&#xff08;例如浏览器或 Web 应用程序插件&#xff09;中的错误。 恶意软件渗透可能会造成灾难性的后果&#xff0c;包括数据被盗、勒索或网…...

    2024/4/28 12:00:58
  21. JS原型对象prototype

    让我简单的为大家介绍一下原型对象prototype吧&#xff01; 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定&#xff0c;每一个构造函数都有一个 prototype 属性&#xff0c;指向另一个对象&#xff0c;所以我们也称为原型对象…...

    2024/4/27 22:51:49
  22. C++中只能有一个实例的单例类

    C中只能有一个实例的单例类 前面讨论的 President 类很不错&#xff0c;但存在一个缺陷&#xff1a;无法禁止通过实例化多个对象来创建多名总统&#xff1a; President One, Two, Three; 由于复制构造函数是私有的&#xff0c;其中每个对象都是不可复制的&#xff0c;但您的目…...

    2024/4/28 7:31:46
  23. python django 小程序图书借阅源码

    开发工具&#xff1a; PyCharm&#xff0c;mysql5.7&#xff0c;微信开发者工具 技术说明&#xff1a; python django html 小程序 功能介绍&#xff1a; 用户端&#xff1a; 登录注册&#xff08;含授权登录&#xff09; 首页显示搜索图书&#xff0c;轮播图&#xff0…...

    2024/4/28 8:32:05
  24. 电子学会C/C++编程等级考试2022年03月(一级)真题解析

    C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...

    2024/4/27 20:28:35
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57