免费的存储服务器软件有FreeNAS 和 Openfiler。 其中Freenas的网站上只有i386及amd64的版本,也就是说Freenas不能支持64位版本的Intel CPU,而Openfiler则提供更全面的版本支持,在其网站上可以看到支持多网卡、多CPU,以及硬件Raid的支持,还有10Gb网卡的支持。
Freenas 官网地址:http://freenas.org/doku.php
Openfiler 官网:http://www.openfiler.com/
Openfiler是在rPath Linux基础上开发的,它能够作为一个独立的Linux操作系统发行。Openfiler是一款非常好的存储管理操作系统,开源免费,通过web界面对存储磁盘的管理,支持现在流行的网络存储技术IP-SAN和NAS,支持iSCSI(Internet Small Computer System Interface, 学名ISCSI HBA)、NFS、SMB/CIFS及FTP等协议。
一. 安装openfiler
先下载一个Openfiler 软件,然后安装到我们的虚拟机上。 Openfiler是基于Linux的存储平台,安装过程和安装一般的Linux系统一样。
下载地址:http://www.openfiler.com/community/download/
安装的第一个界面:
这里有一个磁盘的配置。 我选择了手动配置。 我给openfiler 是40g 的磁盘空间。 系统占2G,交换区1G。 剩下的空间没有分配。
安装完成之后的界面如下:

在这里有提示我们通过web进行访问。 并且提示了访问的地址:
Https://192.168.1.1:446/. 默认账户是openfiler密码为password. 我们登陆之后可以修改用户的密码。

二. 存储端(target)配置
Openfiler 的配置,可以参考Oracle 的这遍文档:
http://www.oracle.com/technology/global/cn/pub/articles/hunter_rac10gr2_iscsi.html#9
http://www.oracle.com/technetwork/cn/articles/hunter-rac11gr2-iscsi-083834-zhs.html#11
2.1 启动iscsi target 服务
在Service 里面启动iscsi target。 启动之后,下次重启会自动启该服务。

2.2 配置iscsi initiator 访问IP
只有配置了IP 才有权限访问openfiler 存储。在system 选项的最下面有配置选项,把IP 写上即可。 注意这里的子网掩码,写的是255.255.255.255
2.3 创建卷设备
现在我们来配置共享设备。 先对我们没有格式的分区格式化成扩展分区,一定要扩展分区:
[root@san ~]# fdisk /dev/sda
The number of cylinders for this disk is set to 5221.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): n
Command action
e extended
p primary partition (1-4)
e
Partition number (1-4): 3
First cylinder (383-5221, default 383):
Using default value 383
Last cylinder or +size or +sizeM or +sizeK (383-5221, default 5221):
Using default value 5221
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
[root@san ~]# fdisk -l
Disk /dev/sda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 255 2048256 83 Linux
/dev/sda2 256 382 1020127+ 82 Linux swap / Solaris
/dev/sda3 383 5221 38869267+ 5 Extended
格式化之后,我们在openfiler的网页中就能看到这个磁盘信息,如果不格式化,或者格式化错误,是无法编辑的。
页面网下拉,我们能看到创建分区:
把所有空间全部创建成一个分区,这个就是一个卷。 之后窗口会显示:
创建完成后, 选择volume Groups。
然后输入vg名称和对应的设备,确定即可。

至此,我们已经创建完成了一个叫san的卷组。 但是我们在环境中使用的是卷。 所以我们还需要在这个卷组里创建它的卷。
点击旁边的add volume选项:
在这个页面往下拉,我们可以看到创建卷的选项:
这里我把所有的空间都创建到一个逻辑卷里。
逻辑卷创建完成以后,我们需要创建一个iscsi target, 然后把逻辑卷和这个target 映射起来,这样就可以通过这个target 与服务器进行连接。 点机iSCSI Target,创建Target IQN:
选择LUN Mapping, 将ISCSI 和 逻辑卷对应起来
配置能够访问逻辑卷的Network ACL 权限,这个ip 是在system 的选项里设置的。 这个之前已经配置过。 这里可以设置多个IP, 可以控制哪个IP 允许访问哪个逻辑卷。从而可以多个用户同时使用存储而互不影响。
至此, 存储的服务端已经配置完成。 在这一步,我们创建了一个逻辑卷然后与ISCSI target 进行了对应。 客户端的服务器就通过这个ISCSI target 进行连接。
Openfiler target的配置文件是: /etc/ietd.conf。
[root@san etc]# cat /etc/ietd.conf
##### WARNING!!! - This configuration file generated by Openfiler. DO NOT MANUALLY EDIT. #####
Target iqn.2006-01.com.san
HeaderDigest None
DataDigest None
MaxConnections 1
InitialR2T Yes
ImmediateData No
MaxRecvDataSegmentLength 131072
MaxXmitDataSegmentLength 131072
MaxBurstLength 262144
FirstBurstLength 262144
DefaultTime2Wait 2
DefaultTime2Retain 20
MaxOutstandingR2T 8
DataPDUInOrder Yes
DataSequenceInOrder Yes
ErrorRecoveryLevel 0
Lun 0 Path=/dev/san/racshare,Type=blockio,ScsiSN=4YMdbG-SGED-jqHA,ScsiId=4YMdbG-SGED-jqHA,IOMode=wt
[root@san etc]#
重启iscsi-target 服务:
#service iscsi-target restart
三. 服务器端(initiator) 配置
iSCSI 客户端可以是提供 iSCSI 支持(驱动程序)的任何系统(Linux、Unix、MS Windows、Apple Mac 等)。
3.1安装 iSCSI(启动器)服务
这个安装包在系统的安装包里。 找到iscsi-initiator-utils-6.2.0.871-0.10.el5.x86_64.rpm包。 安装上。
[root@centos ~]# rpm -Uvh iscsi-initiator-utils-6.2.0.871-0.10.el5.x86_64.rpm
warning: iscsi-initiator-utils-6.2.0.871-0.10.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID e8562897
Preparing... ########################################### [100%]
1:iscsi-initiator-utils ########################################### [100%]
[root@centos ~]# rpm -qa | grep iscsi-initiator-utils
iscsi-initiator-utils-6.2.0.871-0.10.el5
3.2 配置 iSCSI(启动器)服务
刚才已经安装了initiator 包。 现在我们来启动initiator 服务(iscsid),并使其在系统引导时自动启动。在配置 iscsi 服务自动启动,使其在系统启动时自动登录 iSCSI 目标。
[root@centos ~]# service iscsid start
[ OK ]off network shutdown. Starting iSCSI daemon: [ OK ]
[ OK ]
[root@centos ~]# chkconfig iscsid on
[root@centos ~]# chkconfig iscsi on
用iscsiadm命令检查网络存储服务器上的所有可用目标:
[root@centos ~]# iscsiadm -m discovery -t sendtargets -p 192.168.1.1
192.168.1.1:3260,1 iqn.2006-01.com.san
手动登录 iSCSI 目标
[root@centos ~]# iscsiadm -m node -T iqn.2006-01.com.san -p 192.168.1.1 -l
Logging in to [iface: default, target: iqn.2006-01.com, portal: 192.168.1.1,3260]
Login to [iface: default, target: iqn.2006-01.com, portal: 192.168.1.1,3260]: successful
配置自动登录
在计算机引导(或 iSCSI 启动器服务启动/重新启动)时,客户端将自动登录上面列出的每个目标。和上面描述的手动登录过程一样,不过在这里加了2个参数。
[root@centos ~]# iscsiadm -m node -T iqn.2006-01.com.san -p 192.168.1.1 --op update -n node.startup -v automatic
3.3 创建永久性本地 SCSI 设备名称
查看/dev/disk/by-path 文件,来确定文件被映射到了哪个文件上:
[root@centos by-path]# ls /dev/disk/by-path -al
total 0
drwxr-xr-x 2 root root 180 Oct 28 12:48 .
drwxr-xr-x 6 root root 120 Oct 28 05:54 ..
lrwxrwxrwx 1 root root 9 Oct 28 12:48 ip-192.168.1.1:3260-iscsi-iqn.2006-01.com-lun-0 -> ../../sdc
lrwxrwxrwx 1 root root 9 Oct 28 05:54 pci-0000:00:07.1-ide-0:0 -> ../../hdc
lrwxrwxrwx 1 root root 9 Oct 28 05:54 pci-0000:00:10.0-scsi-0:0:0:0 -> ../../sda
lrwxrwxrwx 1 root root 10 Oct 28 05:54 pci-0000:00:10.0-scsi-0:0:0:0-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Oct 28 05:54 pci-0000:00:10.0-scsi-0:0:0:0-part2 -> ../../sda2
lrwxrwxrwx 1 root root 9 Oct 28 05:54 pci-0000:00:10.0-scsi-0:0:1:0 -> ../../sdb
lrwxrwxrwx 1 root root 10 Oct 28 05:54 pci-0000:00:10.0-scsi-0:0:1:0-part1 -> ../../sdb1
通过上面,我们可以看到这个文件被挂到了sdc下。 但是每次重新引导服务器时,该映射都可能有所不同。它是自动登录到以随机方式配置的每个目标,并将这些目标映射到下一个可用的本地 SCSI 设备名称。 所以对于有个多target的时候,target1现在是/dev/sdc,下一次可能就是/dev/sdd . 因此,如果无法预测重新引导后的 iSCSI 目标映射,依赖于使用本地 SCSI 设备名称是不现实的。
在这里,我们就需要使用udev的动态管理工具。udev 提供了一个动态设备目录,使用一组可配置的规则通过符号链接指向实际设备。当 udev 收到设备事件(例如,客户端登录到 iSCSI 目标)时,就会根据 sysfs 中提供的可用设备属性匹配其配置好的规则以便识别设备。匹配规则可以提供其他设备信息或指定设备节点名和多个符号链接名,并指示 udev 运行其他程序(例如,一个 SHELL 脚本)作为设备事件处理过程的一部分。
3.3.1. 创建新的规则文件
创建文件 /etc/udev/rules.d/55-openiscsi.rules,它只包含一行用于接收事件的名称-值对。还将定义一个调出 SHELL 脚本(/etc/udev/scripts/iscsidev.sh),用于处理事件。
[root@centos ~]# more /etc/udev/rules.d/55-openiscsi.rules
# /etc/udev/rules.d/55-openiscsi.rules
KERNEL=="sd*", BUS=="scsi", PROGRAM="/etc/udev/scripts/iscsidev.sh %b",SYMLINK+="iscsi/%c"
3.3.2. 创建在接收该事件时将调用的 UNIX SHELL 脚本
(1)先在服务器上创建一个目录,用于存储 udev 脚本:
[root@centos ~]# mkdir -p /etc/udev/scripts
(2)在服务器上创建 UNIX shell 脚本 /etc/udev/scripts/iscsidev.sh:
[root@centos ~]# more /etc/udev/scripts/iscsidev.sh
#!/bin/sh
# FILE: /etc/udev/scripts/iscsidev.sh
BUS=${1}
HOST=${BUS%%:*}
[ -e /sys/class/iscsi_host ] || exit 1
file="/sys/class/iscsi_host/host${HOST}/device/session*/iscsi_session*/targetname"
target_name=$(cat ${file})
# This is not an open-scsi drive
if [ -z "${target_name}" ]; then
exit 1
fi
echo "${target_name##*.}"
说明:我们先看一下这个脚本的作用:
[root@centos]# more /sys/class/iscsi_host/host2/device/session1/iscsi_session:session1/targetname
iqn.2006-01.com.san
从这个命令,我们可以看出,这个脚本就是获取target 的名称的。 而规则将根据这个脚本返回的target 名称的最后一个字符串,来在相应的目录的下建立对应的文件。 简单点就是根据target来做一个映射。 因为target 名称是唯一的,所以这个映射名称也是唯一的。 这就避免了映射到不同的系统目录,而到时共享数据不可用。
(3)将刚才创建的shell脚本修改为可执行文件:
# chmod 755 /etc/udev/scripts/iscsidev.sh
(4)在服务器上重新启动 iSCSI 服务:
[root@centos ~]# service iscsi stop
Logging out of session [sid: 1, target: iqn.2006-01.com, portal: 192.168.1.1,3260]
Logout of [sid: 1, target: iqn.2006-01.com, portal: 192.168.1.1,3260]: successful
Stopping iSCSI daemon:
[root@centos ~]# service iscsi start
iscsid dead but pid file exists
[ OK ]off network shutdown. Starting iSCSI daemon: [ OK ]
[ OK ]
Setting up iSCSI targets: Logging in to [iface: default, target: iqn.2006-01.com, portal: 192.168.1.1,3260]
Login to [iface: default, target: iqn.2006-01.com, portal: 192.168.1.1,3260]: successful
[ OK ]
(5)验证
[root@centos]# ls -l /dev/iscsi/*
lrwxrwxrwx 1 root root 6 Oct 28 14:16 /dev/iscsi/san -> ../sdc
因为这里我们用udev 配置,它就保证了iscsi目标映射到唯一的设备。 我们在使用的时候使用这个唯一的映射/dev/iscsi/san 即可。
对客户端这个映射做一个解释。 因为开始对这块也有点模糊。
存储的配置只干一件事,就是给我提供一个target。 这个target 是在存储上做的映射。 服务器通过initiator 去连存储。 然后把这个target 映射到自己的下一个可用设备上,如 /dev/sdc。 如果只有一个target. 那么没有任何问题。 每次initiator连上后都会把这个target 映射到/dev/sdc上。 但是如果有多个target,那么这里就出了问题。 因为initiator的连接是随机的。 可能A先连接,那A就会映射到/dev/sdc上。 如果B先连接,B就会映射到/dev/sdc上。 这就是问题的所在。
Udev 的动态管理很好的解决了这个问题。 我们通过脚本加规则的设置,用脚本来获取每个target的名称,然后在规则里用每个target 最后一个字符串,在我们指定的目录创建一个设备。 这样,因为规则是唯一的。 所以每个设备都是唯一的。 我们就可以使用这个唯一的设备,而不会出现问题。 比如实验中的/dev/iscsi/san. 这个就是一个绝地位置。
分享到:
相关推荐
通过以上步骤,您可以成功地在服务器上安装并配置OpenFiler,从而实现高效、安全的虚拟存储服务。OpenFiler不仅提供了丰富的存储功能,还具备易用性高、成本低廉的优势,非常适合中小企业或个人用户使用。随着业务的...
【Openfiler虚拟存储搭建与配置服务端】 Openfiler是一款基于Linux操作系统的开源网络存储管理系统,它提供了网络连接存储(NAS)和存储区域网(SAN)的功能。系统利用rPath Linux作为基础,集成了一系列开放源代码...
### 虚拟化基础架构之使用OpenFiler搭建iSCSI网络共享存储 #### 一、概述 在虚拟化环境中,高效的存储解决方案是至关重要的组成部分。随着虚拟化技术的发展,iSCSI作为一种成本效益高的存储区域网络(SAN)解决方案...
区块链_智能合约_Solidity_保险应用_基于以太坊的技_1744433266
内容概要:本文档详细介绍了在Windows系统上安装MySQL数据库的具体步骤。首先,需要配置系统环境变量,包括新建MYSQL_HOME变量并将其添加到PATH中;其次,创建并编辑my.ini配置文件,设置MySQL的基本参数如端口、字符集、数据存放目录等;接着,在命令行工具中通过一系列指令完成MySQL的初始化、服务安装、启动以及root用户的密码设置和权限调整。整个流程涵盖了从环境搭建到最终确保MySQL服务正常运行的所有关键环节。 适合人群:适用于有一定计算机操作基础,尤其是对数据库管理有一定兴趣或需求的技术人员。 使用场景及目标:①帮助用户在本地机器上成功部署MySQL数据库环境;②确保用户能够掌握MySQL的基本配置与管理技能,如环境变量配置、服务安装与卸载、用户权限管理等。 其他说明:在安装过程中可能会遇到一些常见问题,例如由于之前版本残留导致的服务安装失败,此时可以通过命令行删除旧服务(sc delete mysql)来解决。此外,为了保证安全性,务必及时修改root用户的初始密码。
内容概要:`STARTUP.A51` 是 Keil C51 编译器自带的启动文件,用于初始化 8051 单片机的硬件和软件环境。该文件主要完成三个任务:初始化堆栈指针、清零内部数据存储器、跳转到主程序。文件中定义了内存模式(如 SMALL),并设置了堆栈指针的初始值为 0x60。接着通过循环将内部数据存储器的所有字节清零,确保程序开始时数据存储器的状态是确定的。此外,文件还列出了 8051 单片机的各个中断向量地址,并为每个中断提供占位符,实际的中断处理程序需要在其他文件中实现。最后,启动代码段初始化堆栈指针和数据段后,跳转到 `MAIN` 函数开始执行主程序。; 适合人群:对嵌入式系统开发有一定了解,尤其是使用 8051 单片机的开发者。; 使用场景及目标:①理解 8051 单片机启动文件的工作原理;②掌握如何初始化堆栈指针和数据段;③熟悉中断向量表的设置及其作用。; 其他说明:此文件为程序正常运行提供了必要的初始化操作,开发者可以根据具体需求修改该文件以适应不同的硬件和软件环境。
内容概要:该论文研究了一种基于行波理论的输电线路故障诊断方法。当输电线路发生故障时,故障点会产生向两侧传播的电流和电压行波。通过相模变换对三相电流行波解耦,利用解耦后独立模量间的关系确定故障类型和相别,再采用小波变换模极大值法标定行波波头,从而计算故障点距离。仿真结果表明,该方法能准确识别故障类型和相别,并对故障点定位具有高精度。研究使用MATLAB进行仿真验证,为输电线路故障诊断提供了有效解决方案。文中详细介绍了三相电流信号生成、相模变换(Clarke变换)、小波变换波头检测、故障诊断主流程以及结果可视化等步骤,并通过多个实例验证了方法的有效性和准确性。 适合人群:具备一定电力系统基础知识和编程能力的专业人士,特别是从事电力系统保护与控制领域的工程师和技术人员。 使用场景及目标:①适用于电力系统的故障检测与诊断;②能够快速准确地识别输电线路的故障类型、相别及故障点位置;③为电力系统的安全稳定运行提供技术支持,减少停电时间和损失。 其他说明:该方法不仅在理论上进行了深入探讨,还提供了完整的Python代码实现,便于读者理解和实践。此外,文中还讨论了行波理论的核心公式、三相线路行波解耦、行波测距实现等关键技术点,并针对工程应用给出了注意事项,如波速校准、采样率要求、噪声处理等。这使得该方法不仅具有学术价值,也具有很强的实际应用前景。
内容概要:本文详细介绍了光伏-混合储能微电网能量管理系统的模型架构及其控制策略。首先探讨了光伏发电模块中的MPPT(最大功率点跟踪)控制,采用扰动观察法和改进型变步长策略来提高光伏板的发电效率。接着重点讲解了混合储能系统的功率分配,利用一阶低通滤波算法将功率需求分为低频和高频两部分,分别由蓄电池和超级电容处理。此外,文中还深入讨论了SOC(荷电状态)管理策略,确保电池和超级电容在不同工作状态下保持最佳性能。仿真结果显示,在光伏出力剧烈波动的情况下,系统能够有效地维持稳定的电压水平,并显著提高了储能设备的使用寿命。 适合人群:对光伏微电网、储能技术和能量管理系统感兴趣的科研人员、工程师和技术爱好者。 使用场景及目标:适用于研究和开发高效、可靠的光伏-混合储能微电网系统,旨在优化能量管理和提高系统稳定性。具体应用场景包括但不限于家庭光伏系统、小型微电网以及工业能源管理系统。 其他说明:文中提供了详细的代码实现和仿真结果,便于读者理解和复现实验。同时,模型设计采用了模块化思路,方便进行个性化修改和扩展。
内容概要:本文详细介绍了基于MATLAB和CVX平台实现的储能调峰调频联合优化模型。该模型不仅涵盖了储能的基本参数设定、负荷不确定性处理、充放电策略制定,还包括了调峰调频的联合调度、功率约束处理、鲁棒优化等方面的内容。通过构建考虑电池退化成本、充放电功率约束以及用户负荷不确定性的储能优化模型,展现了储能系统在电力系统中的高效协同工作。文中提供了详细的代码示例,解释了各个部分的功能和实现方法,强调了模型的深度与创新性。 适合人群:适用于具有一定编程基础和技术背景的研究人员、工程师以及希望深入了解储能系统优化的学生。 使用场景及目标:该模型主要用于电力系统中储能设备的优化调度,旨在提高储能系统的经济效益和社会效益。通过联合调峰调频,能够显著提升储能系统的收益,实现1+1>2的超线性增益效果。此外,该模型还可以用于教学和科研,帮助初学者理解和掌握储能优化的相关技术和理论。 其他说明:代码中包含了丰富的注释和模块化的子程序,使得整个模型易于理解和扩展。对于有经验的开发者,可以在现有基础上进一步改进和定制,以适应不同的应用场景。
大模型技术白皮书2023版
图像增广 PyTorch 版
批量修改文件名可以帮助用户节省大量时间,提高工作效率 里面附带使用教程
《计算机应用基础》第2章--Windows-XP操作系统.ppt
包括:源程序工程文件、Proteus仿真工程文件、电路原理图文件、配套技术手册、论文资料等 1、采用51/52单片机(通用)作为主控芯片; 2、采用1602液晶显示使用过程及状态,液晶屏亮度会随光线自动调整; 3、按键输入6位密码,输入密码正确则锁打开,显示open!输入密码错误次数超过3次,蜂鸣器报警并且锁定键盘; 4、密码可以自己修改,必须是锁打开时才能改密,为防止误操作,修改密码得输入两次; 5、采用24C02保存密码,掉电不丢失; 6、可通过红外遥控器输入密码操作锁的状态;
内容概要:本文深入剖析了2025年全球感知技术的十大发展趋势,涵盖多模态感知融合、3D感知与空间计算、脑机接口中的感知反馈技术、5G/6G赋能的超低延迟感知、语音与情感识别的高级化、生物感知与数字健康、环境感知与自适应智能、增强现实(AR)与触觉反馈技术、气味与化学感知、量子感知与极端条件测量。文章详细介绍了每项技术的技术原理、关键算法、实现方式、商业案例及未来前景,强调了感知技术在智慧城市、自动驾驶、智慧医疗、工业自动化等领域的深刻影响。报告指出,感知技术正从单一传感模式向多模态融合、从二维数据向三维空间重建、从传统网络通信向超低延迟和高可靠性网络升级,实现全场景、全维度的智能感知。; 适合人群:对感知技术感兴趣的科技爱好者、研究人员、决策者、企业管理层和投资人。; 使用场景及目标:①了解感知技术的最新进展和未来发展方向;②为技术研究提供全面、深入的参考;③为商业应用提供具体的案例和前景分析;④推动跨领域协同创新,构建开放共赢的产业生态。; 其他说明:报告基于近年来技术研发的最新进展、业界前沿的技术路线以及各大科技企业在商业落地方面的丰富实践。随着感知技术的不断成熟,数据隐私与安全保护问题也需高度重视,以确保技术进步与社会伦理和谐统一。未来,感知技术将成为推动社会进步和产业升级的重要力量,为实现万物互联、智慧决策和智能体验提供无限可能。
本论文主要论述了如何使用JAVA语言开发一个校园新闻网站 ,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述校园新闻网站的当前背景以及系统开发的目的,后续章节将严格按照软件开发流程,对系统进行各个阶段分析设计。 校园新闻网站的主要使用者分为管理员和用户,实现功能包括管理员:首页、个人中心、用户管理、新闻类型管理、校园新闻管理、留言板管理、论坛交流、系统管理,用户前台:首页、校园新闻、论坛交流、留言反馈、个人中心、后台管理等功能。由于本网站的功能模块设计比较全面,所以使得整个校园新闻网站信息管理的过程得以实现。 本系统的使用可以实现本校园新闻网站管理的信息化,可以方便管理员进行更加方便快捷的管理,可以提高管理人员的工作效率。 基于Springboot+vue的校园新闻网站【源码+数据库+参考论文】 感兴趣自行下载学习!
内容概要:本文详细探讨了三相三电平PWM整流器的闭环控制策略及其核心技术——三电平SVPWM算法。文章首先介绍了三相三电平PWM整流器的基本概念和优势,如输出三种电平以降低谐波含量并减少滤波器体积和成本。接着阐述了闭环控制策略的重要性,强调了电压外环和电流内环的双闭环控制机制。随后,文章深入讲解了三电平SVPWM算法的工作原理,包括空间电压矢量的选择、扇区判断、矢量作用时间和死区补偿等关键技术环节。此外,还讨论了中点电位平衡的问题以及PI参数的整定方法。最后,通过示波器测试验证了系统的性能指标,如THD低于3%,直流电压纹波小于1%。 适合人群:从事电力电子领域的工程师和技术人员,尤其是对三相三电平PWM整流器及其控制策略感兴趣的读者。 使用场景及目标:适用于高压大功率场合,旨在提高整流器的性能,降低谐波含量,实现单位功率因数运行。通过合理设计闭环控制策略和优化SVPWM算法,确保整流器在各种工况下都能稳定、高效地工作。 其他说明:文中提供了大量MATLAB和C语言代码片段,帮助读者更好地理解和实现相关算法。同时,针对实际调试过程中遇到的问题给出了实用的解决方案,如中点电位平衡和死区补偿等。
全新红娘本地交友系统定制版源码 相亲婚恋交友小程序源码
内容概要:文章探讨了AI技术,特别是DeepSeek,如何驱动地图生成的变革。首先介绍了地图制图在AI时代的背景与挑战,强调了DeepSeek与地图融合的两种主要方式:嵌入地图制图链和研发地图语言自身的预训练模型。随后详细描述了DeepSeek在地图生成中的具体应用,包括智能化地图生成器DoMapAI的整体框架,地图制图链中的知识图谱推理路径,以及地图语言的Token化过程。最后,文章总结了AI时代地图制图的职业变化和技术变革,指出地图制图正经历“大变局”。 适合人群:从事地图制图及相关领域的研究人员、工程师,以及对AI与地图生成感兴趣的学者。 使用场景及目标:①理解AI技术在地图生成中的应用,特别是DeepSeek的作用;②掌握智能化地图生成器DoMapAI的工作原理及其应用场景;③学习地图语言Token化的方法及其在地图生成中的应用;④探索AI时代地图制图的职业发展方向和技术变革。 阅读建议:本文内容较为专业,建议读者先了解基本的AI技术和地图制图知识。重点关注DeepSeek与地图融合的具体方法和应用场景,理解智能化地图生成器DoMapAI的工作流程,以及地图语言Token化的实现过程。在阅读过程中,可以结合实际案例进行思考,以更好地理解AI技术对地图制图的影响。
chromedriver-mac-arm64-135.0.7049.114.zip