网络物理隔离是网络安全领域中的一种基本策略,其核心目的是通过物理方式将网络或网络设备分隔开来,以确保数据安全、降低风险并提升系统的整体安全性。网络物理隔离不仅防止了未经授权的访问,也显著降低了来自外部或内部威胁的风险。以下是网络物理隔离的详细概述,包括其定义、应用场景、实施方法、优缺点及相关技术。
一、定义 网络物理隔离:指利用物理设备和传输介质将网络资源分离的一种安全措施,确保不同网络之间无任何直接的物理连接和数据交换。
二、应用场景 关键基础设施保护:
如电力、交通和水务等关键行业,将控制网络与企业管理网络物理隔离。 政府和军事系统:
出于国家安全的考虑,对敏感信息和通信系统进行物理隔离。 金融服务行业:
保护交易网络和数据处理中心,防止金融诈骗和数据泄露。 研发和生产部门:
保护知识产权和业务机密,防止竞争对手和内部人员的非法访问。 三、实施方法 独立的网络基础设施:
使用独立的交换机、路由器和物理线路,确保网络完全隔离。 空气隙隔离:
确保关键系统和设备未连接到互联网或任何其他网络。 物理安全措施:
包括锁定网络设备和服务器机房,控制物理访问权限。 独立的通信线路:
为敏感通信使用独立的通信线路,如光纤连接。 四、优缺点 优点:
安全性高:完全隔离的网络提供了最高级别的安全保护。减少攻击面:物理隔离减少了外部攻击的可能性。简化安全管理:隔离的网络易于监控和管理,安全策略更容易实施。 缺点:
成本高:建立独立网络需要额外的硬件设备和管理成本。灵活性差:物理隔离可能限制了数据共享和通信的便利性。维护复杂:需要单独维护多个网络系统,可能导致资源分散。 五、相关技术和标准 IEEE 802.1Q VLAN技术:虽然基于软件的VLAN提供逻辑隔离,但物理隔离提供了更高级别的安全。加固网络设备:使用物理安全措施和安全锁定设备,防止未经授权的物理访问。数据二级防泄漏技术:防止数据从高安全级网络向低安全级网络泄露。 六、总结 网络物理隔离是提升网络安全防御能力的重要措施之一,特别适用于需要极高安全级别的场合。尽管实施成本较高,但在保护敏感信息和关键基础设施方面的效果显著。评估实施物理隔离时,需考虑组织的具体需求、安全风险以及经济承受能力,合理规划并执行物理隔离策略,以确保网络环境的安全和业务的连续性。
网络物理隔离是一种强有力的安全措施,通过物理手段将网络分割成互不直接连接的部分,以增强数据安全和系统可靠性。这种隔离机制尤其适用于需要极高安全保护级别的环境,如军事设施、关键基础设施和高度敏感的研究中心。以下是网络物理隔离的主要实现技术和机制:
一、网络物理隔离的实现机制 空气隙隔离(Air-Gapping)
定义:物理上隔离一个网络,使其完全不与外部网络或互联网相连。应用:适用于高安全环境,如军事控制系统、核电站控制系统。优点:提供最高级别的隔离,有效防止外部网络攻击。缺点:数据交换不便,需要通过物理介质(如USB驱动器)手动转移数据。 独立的物理网络
定义:为特定的应用或服务构建完全独立的物理网络设施。应用:适用于需要高度隔离的企业和政府网络。优点:相对于逻辑隔离(如VLAN),物理隔离提供更高的安全性。缺点:成本高,维护和管理复杂。 专用通信线路
定义:使用光纤或专用电缆为网络通信提供专用物理路径。应用:金融机构之间的数据交换,政府通信网络。优点:保证通信的安全性和稳定性,避免数据在传输中被截获。缺点:建设和维护成本较高。 二、实现技术 物理安全
技术:使用锁、生物识别系统、门禁系统等物理安全措施,保护网络设备和数据中心。作用:防止未授权的物理访问,确保网络设备的安全。 光纤隔离
技术:通过光纤连接网络组件,因为光纤不易被侦听,增强了传输过程的安全性。作用:减少电磁干扰和侧听风险,保护数据的安全传输。 安全协议与加密
技术:即使在物理隔离的网络中,仍然推荐使用强加密和安全协议(如HTTPS、SSH)来保护数据。作用:确保数据即使在被物理传输介质如USB驱动器捕获时也保持加密状态。 安全数据传输介质
技术:使用加密的USB驱动器或其他安全设备在隔离网络之间安全传输数据。作用:提供一种安全的方式来交换数据,即使在高安全级别的隔离环境中。 三、总结与策略 实施网络物理隔离需要综合考虑安全性、成本和操作的便利性。虽然物理隔离提供了最强的安全保护,但它也可能带来灵活性差和成本高等问题。在设计物理隔离方案时,应充分评估安全需求和资源限制,适当结合物理隔离和逻辑隔离技术,以达到既安全又高效的网络架构。对于绝大多数企业而言,完全的空气隙隔离可能不切实际,但在关键数据中心和核心系统实施物理隔离将大大提升整体网络安全。
网络物理隔离是保障网络安全的一种基本策略,旨在通过物理手段将敏感或关键网络资源与其他网络环境分隔开来。这种策略涉及多种产品和技术,每种产品都有自己的技术指标和应用特性。以下是一些常见的网络物理隔离产品及其主要技术指标:
1. 光纤隔离器(Optical Fiber Isolators) 技术指标: 插入损失:一般在0.2 dB到0.6 dB之间,越低越好。隔离度:通常在30 dB以上,表明能有效隔绝回信号或干扰。波长范围:根据通信系统的需求,例如850 nm、1310 nm、1550 nm等。耐受功率:光纤隔离器能承受的最大光功率,通常以mW计。 应用:用于数据中心、军事通信系统等,确保光信号单向传输,防止信号回反和干扰。 2. 物理安全锁(Physical Security Locks) 技术指标: 材料强度:使用抗冲击、防撬的材料制成,如硬化钢。锁芯类型:如双球锁芯,抗技术开启能力强。防护等级:按照国际防盗标准分类,例如EN 12320等。 应用:用于服务器机房、网络设备柜的物理加固,防止未授权访问。 3.
MySQL 9.0 以及各个版本发布的新功能 1.MySQL 9.0 创新版发布 Oracle 每季度发布一次 MySQL 更新,2024年7月1日推出了最新的 MySQL 9.0 创新版本。
MySQL发布模型分为两个主要轨道:LTS(长期支持)和创新。所有LTS和Innovation版本都包含错误和安全修复,并被视为生产级质量。
1.1 MySQL 9.0 功能进化 1.1.1 添加或更改的功能 1.从MySQL 9.0.0开始支持将 EXPLAIN ANALYZE的JSON输出保存到用户变量中 EXPLAIN ANALYZE FORMAT=JSON INTO @variable select_stmt mysql> EXPLAIN FORMAT=JSON INTO @myupdate -> UPDATE a SET name2 = "garcia" WHERE id = 3; mysql> SELECT @myupdate, @mydelete\G *************************** 1. row *************************** @myupdate: { "query_block": { "select_id": 1, "table": { "update": true, "table_name": "a", "access_type": "range", "possible_keys": [ "
大家好,我是瑶琴呀,拥有一头黑长直秀发的女程序员。
最近,17岁的中专生姜萍参加阿里巴巴 2024 年的全球数学竞赛,取得了 12 名的好成绩,一时间在网上沸腾不止。
从最开始的“数学天才”,到被质疑,被打假,事情闹的很大。个人认为,是真天才,还是冒牌货,等决赛成绩出来再见分晓。用我们老家的话说:是骡子是马?拿出来溜溜。马不会变成骡子,骡子也不会是马。
所以对于姜萍是不是数学天才这事,真的假不了,假的也真不了。
但大众是等不了这么久,他们要的是流量,姜萍是现在现在最好的流量入口,所以,管你是骡子是马,先拉到大众视野里溜一圈。
一边觉得,数学是多么高大尚的学科,一个读中专的女生怎么可能突然开窍,两年内击败全世界众多的高手呢?
另一边觉得,中专生姜萍就是数学天才,这件事揭示了现在的教育漏洞,这是对现有教育制度的讽刺。
事情发展到这一步,姜萍是不是数学天才已经没那么重要了。
姜萍说,服装是她的 planA,数学是她的 planB,她确确实实因为喜欢数学而成为焦点。
如果姜萍没有那个实力,不是网络上所说的数学天才,那她也可以回到学校好好学习,以后专升本、考硕,去提升学历,去做自己喜欢的事。
姜萍的 planB 告诉我们什么呢?我们每个人都应该有自己的 planB,在保证自己生活的前提下,探索自己的兴趣爱好,然后坚持做你喜欢做的事,说不定,你也能实现真正的人生价值。
总有一些人,自己不愿意付出努力,看见别人做成功了,便红了眼,觉得人家是运气好、是入局早,习惯性将他人的成功归咎于外因,无法承认别人的优秀。
如果姜萍说的是真的:除了吃饭睡觉都在做题,那么在中专的教学环境下还能保持自己的热爱并努力,确实令人钦佩。
如果你能像姜萍一样,去做一件你想做的事,一定不会毫无收获。
众所周知,macOS集成解压缩软件归档实用工具,可直接解压zip格式的压缩包。但对于其他比较常见的格式,诸如RAR、7z、TAR等,则无能为力,不过,我们可以选择大量第三方解压缩软件,帮助我们更好地完成解压缩的操作。那么mac有什么解压软件?mac怎么解压7z软件?我将在下文为大家解答。
一、Mac有什么解压软件 1、Bandizip 是一款经典的解压缩软件,特点是简洁、解压速度快,官方测试下同大小压缩包,解压速度比finder快10倍以上。
2、MacZip 软件本身流畅实用,搭配QSpace、Qmenu可实现在文件管理器中“直接”浏览压缩包与鼠标右键扩展。
3、Keka是Mac平台知名的解压缩软件,以便捷操作闻名,用户可将文件拖至dock栏进行快速压缩,对于经常传输压缩包的用户较为友好。
4、Betterzip 是一款易用与专业并存的解压缩软件,拥有良好的平台兼容性,不仅支持大量压缩包格式,通过删除Mac特定文件,BetterZip压缩的文档在Windows上运行更良好。
同时,该软件还支持打开、解压、修改ePub文件,也可从 PDF、Flash提取图像与声音,功能非常强大。
因此,我个人更推荐Mac用户使用BetterZip。
BetterZip5-安装包免费下载(此链接持续指向最新版):https://souurl.cn/92Vryp
BetterZip5激活码获取:https://souurl.cn/jvHJBS
二、mac怎么解压7z软件 以BetterZip为例,大致有两种方法:
方法一:
打开BetterZip软件,找到对应目录下的压缩包文件,单击,即可预览压缩包中的内容,我们可选中其中某一文件,右键,对其进行相应操作(如图2)。
或直接点击软件导航栏中的解压(如图3),对整个压缩包进行解压。
方法二:
单击finder图标进入访达,通过BetterZip我们可直接在访达中预览7z格式压缩包中的内容。
若要解压,则选中对应文件,单击鼠标右键,依次选中BetterZip--解压到--下载(如图4),即可将该压缩包解压至下载目录。
同理,也可以在右键菜单中便捷完成其他操作。
三、BetterZip的其他优势 假设我们的工作涉及传输较为复杂的压缩文档,那么在完成工作后,我们当然希望能快速校验压缩包内的文档是否损坏。
通过BetterZip,我们不需要再进行一次解压校验。而是可单击导航栏中的“测试”(如图5),快速校验压缩包的完整性。因为BetterZip出色的软件效能,该流程较为迅速,能带给我们不错的使用体验。
BetterZip不只是一个单纯的解压缩工具,它拥有广泛的Apple支持,这意味着我们可以使用Apple编写脚本,并将它集成到工作流程之中。
同时,它还与第三方生产力工具(Alfred,LaunchBar,Dropzone和Hazel)完美集成,是资深mac用户不可或缺的优秀软件。
总而言之,在诸多解压软件中,BetterZip集美观度、易用性、功能性于一身,是相对优秀的一款压缩软件,值得我们一试。
BetterZip5-安装包免费下载(此链接持续指向最新版):https://souurl.cn/92Vryp
BetterZip5激活码获取:https://souurl.cn/jvHJBS
文章目录 1. Markdown2Html简介1.1 项目地址与贡献方式1.2 功能特性概览1.3 自定义样式的支持1.4 多平台排版优化 2. 安装与配置2.1 使用npm安装2.2 配置个性化选项2.3 部署教程本地部署云服务部署静态网站托管 4.1 掘金的代码高亮与图片缩放4.2 知乎的标题样式与引用4.3 微信公众号的图片尺寸与样式调整5.1 创建一个掘金文章 一张图片5.2 编写一个知乎回答 代码高亮5.3 发布到微信公众号5.5 书写公式5.6 绘制流程图5.7 绘制序列图5.8 绘制甘特图6.1 HTML转Markdown的示例6.2 HTML转Markdown的处理 7. Markdown转PDF7.1 导出PDF和Markdown7.2 PDF导出的设置 8. Markdown编辑器8.1 VSCode编辑器介绍8.2 Markdown实时预览与插件安装 9. Markdown2Html转换流程9.1 marked库的基本使用9.2 marked解析流程解析9.3 marked与Vue.js的结合 10. Markdown2Html源码与贡献10.1 源码获取10.2 源码结构10.3 开源协议10.4 如何贡献 11. Markdown2Html常见问题与帮助11.1 常见问题解答问题1:Markdown2Html转换后的HTML代码格式不正确问题2:数学公式显示不正确问题3:图片链接无法正确转换为HTML中的图片问题4:代码块的高亮显示效果不佳问题5:在特定平台(如掘金、知乎、微信公众号)的排版效果不理想 11.2 用户手册11.3 开发者文档11.4 联系我们 13. Markdown与HTML转换工具比较13.1 marked.js13.2 mathjax.js13.3 html2canvas13.4 html2text13.5 pandoc 17. HTML到Markdown的转换方法17.1 在线工具17.2 命令行工具17.3 编程语言库17.4 自定义解析器17.5 批量转换17.6 注意事项 1. Markdown2Html简介 Markdown2Html是一个开源的文本转换工具,由GitHub用户shenweiyan维护,旨在将Markdown格式的文本转换为HTML,以便在各种平台和环境中展示。它支持多种功能,如自定义样式、多平台排版优化、数学公式展示等,使得内容创作者能够轻松地在不同的平台上发布和管理内容。
被串行计算逼到要吐时,决定重拾CUDa了,想想那光速般的处理感觉(夸张了)不要太爽,记下我的闯关记录。正好我的电脑配了NVIDIA独显,GTX1650,有菜可以炒呀,没有英伟达的要绕道了。回到正题,查看自己的显卡应该装什么版本的Cuda驱动,具体如下:
(1)在桌面空白处右键选中NVIDIA 控制面
(2)查看系统信息适配的CUDA版本
说明显卡支持的cuda版本不能超过12.2.79。或者cmd 进入窗口,输入nvidia -smi 可以查看本机兼容的最高cuda 版本。
(3)去官网下载并安装满足要求的CUDA toolKit
官网找到适配的cuda并下载
https://developer.nvidia.com/cuda-toolkit-archive
查看Visual studio 与CUDA 兼容的版本
https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html
版本要适合系统。
Nginx 是一个高性能的开源HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。它在设计上旨在处理高并发的请求,是一个轻量级、高效能的Web服务器和反向代理服务器,广泛用于提供静态资源、负载均衡、反向代理等功能。
1、下载nginx
2、将压缩包上传至服务器
3、Nginx的安装需要Linux安装相关的几个库,否则配置和编译会出现错误。执行如下命令
yum install gcc openssl openssl-devel pcre pcre-devel zlib zlib-devel -y 4、正式安装
4.1 解压下载下来的nginx文件,执行命令: tar -zxvf nginx-1.26.1.tar.gz 4.2 切换至解压后的nginx主目录,执行命令:
cd nginx-1.26.1 4.3 在nginx主目录nginx-1.26.1下执行命令:
./configure --prefix=/home/azy/nginx (其中--prefix是指定nginx安装路径) 4.4 执行命令进行编译:
make 4.5 执行命令进行安装:
make install 5、Nginx操作
5.1 启动Nginx执行命令:
/home/azy/nginx/sbin/nginx -c/home/azy/nginx/conf/nginx.conf (其中-c是指定配置文件) 5.2 检查Nginx是否启动:通过查看进程:
ps -ef | grep nginx 5.3 Nginx重启:
/home/azy/nginx/sbin/nginx -s reload 5.4 关闭Nginx:
kill -QUIT 主pid 或者 kill -TERM 主pid 6、Nginx配置检查(检查Nginx配置文件是否正确):
/home/azy/nginx/sbin/nginx -c /home/azy/nginx/conf/nginx.conf -t 7、Nginx部署Vue项目
目录
1 安装VMWare Workstation Pro 17.5 2 下载安装macOS Unlocker
3 下载ISO镜像
4 创建macOS虚拟机环境
5 调整光驱SATA启动顺序,载入安装镜像
6 调整主硬盘SATA启动顺序
7 添加辅助虚拟磁盘,调整SATA启动顺序
8 安装macOS
9 配置macOS
10 美化UI,安装VMTools
11 后续工作
12 优化卡顿(强烈建议优化)
13 可选项
AMD平台安装macOS 14的麻烦,要比Intel平台多的多,由于macOS从13开始,对CPU寄存器的读取进行了改变,导致AMD平台只要安装完macOS 13及以后版本,开机后就报五国语言错误,不断重启。改vmx文件,被证明是无用的。改smc.version也好,改cpuid.0.eax也好,没有任何作用,唯一的办法,是添加特殊的辅助虚拟机磁盘,将AMD平台在虚拟机中伪装成Intel平台,经过实验,是可以成功的。卡顿问题在用最新的14.5镜像和优化后,正常上网文档啥的,是没有问题的,文章主要参考的是站内大神的博客,我补充了优化方法和具体细节。
AMD CPU在VMware中安装macOS 14 Sonoma最新版教程(不会出现五国语言)_amdcpu 安装虚拟机macos 14-CSDN博客
辅助虚拟机磁盘下载地址
macOS_OpencoreBoot.vmdk_免费高速下载|百度网盘-分享无限制 (baidu.com)
IU+N卡安装的步骤见以下博客
13600KF+3060Ti,虚拟机安装macOS 14(2024年6月)-CSDN博客
1 安装VMWare Workstation Pro 17.5 VMWare Workstation Pro 17.5允许个人用户免费用于学习,默认自行安装完成,由于VMWare已经被博通收购,所以下载前需要注册成功博通的账号,并且处于登录状态,下载地址如下
下载VMWare
2 下载安装macOS Unlocker VMWare Workstation Pro 本身不支持安装macOS系统,需要下载解锁插件,地址如下,该软件开发者由于放弃使用VMWare Workstation Pro,不再开发新版本,所以4.2.7可能是最后一个版本
Releases · DrDonk/unlocker (github.com)
文章目录 前置知识1. 交换两个数2. 比较两个数的大小3. leetcode268 寻找缺失的数字4. leetcode136 只出现一次的数字5. leetcode260 只出现一次的数字|||6. leetcode137 只出现一次的数字||7. 2/3的幂8. 大于等于该数字的最小2的幂9. leetcode201 数字范围按位与10. 位运算中分治法举例 前置知识 本节最重要的一个算法 Brain Kernighan算法
大致内容如下 :
如何提取出来一个数的最右侧的1
n = n & (~n + 1)
因为 (~n + 1) == -n
所以该算法也可以写成
n = n & (-n)
1. 交换两个数 因为我们的异或运算遵循的交换律和结合律, 所以我们可以写出下面的这一段代码
public void swap(int[] arr, int i, int j) { //注意这里的 i != j arr[i] = arr[i] ^ arr[j]; arr[j] = arr[i] ^ arr[j]; arr[i] = arr[i] ^ arr[j]; } 请注意这里面的 i !
当然,很高兴能为即将踏入IT领域的高考毕业生们提供一份全面的学习路线图及预习指南。IT行业广泛而深邃,涵盖编程、网络安全、数据科学、前端开发、后端开发、移动开发、人工智能等多个方向。以下是一个较为通用的学习路径,旨在帮助大家初步了解并规划自己的学习旅程。
1. 确定兴趣方向 初步调研:首先,通过网络、书籍、讲座、在线课程等渠道,了解IT行业的不同领域和岗位,思考自己对哪个方向最感兴趣。实践体验:尝试完成一些小项目或参加在线编程挑战,如LeetCode、HackerRank上的题目,以及GitHub上的开源项目,亲身体验不同技术栈的魅力。 2. 基础编程技能 学习一门编程语言:Python因其简洁易读、库资源丰富,常被推荐作为入门语言。学习基础语法、数据类型、控制结构、函数、面向对象编程等。算法与数据结构:掌握基础算法(如排序、搜索)和数据结构(如数组、链表、栈、队列、树、图)对于解决复杂问题和提升编程能力至关重要。 3. 深化专业知识 根据兴趣选择深入方向: 前端开发:学习HTML/CSS/JavaScript,掌握React/Vue/Angular等前端框架。后端开发:Java、C#、Node.js、Go等语言,学习Spring Boot、Django、Express等后端框架。移动开发:Android(Kotlin/Java)、iOS(Swift/Objective-C)开发。数据科学与机器学习:Python中的NumPy、Pandas、Matplotlib、Seaborn库,以及Scikit-learn、TensorFlow、PyTorch等机器学习框架。网络安全:学习网络协议、加密技术、渗透测试、防火墙配置等。 4. 实践项目与经验积累 动手做项目:尝试自己设计并实现一些小项目,如个人博客、在线商店、数据分析工具等,将所学知识应用于实际。参与开源项目:加入GitHub上的开源项目,贡献代码,学习团队协作和版本控制(Git)。实习与竞赛:寻找实习机会,参与编程竞赛(如ACM/ICPC、CTF安全竞赛等),积累实战经验。 5. 持续学习与自我提升 关注行业动态:订阅技术博客、参与技术论坛(如Stack Overflow、V2EX)、关注行业大V,保持对新技术、新趋势的敏感度。提升软技能:沟通能力、团队协作能力、时间管理能力、问题解决能力等在职场中同样重要。 6. 心态调整与职业规划 保持好奇心与耐心:IT领域日新月异,保持对新技术的好奇心,同时要有耐心,因为学习是一个长期过程。设定目标:根据自己的兴趣和职业规划,设定短期和长期目标,并为之努力。 最后,每个人的学习路径都是独一无二的,重要的是找到适合自己的节奏和方向,坚持不懈地学习和实践。希望这份预习指南能为即将踏入IT领域的高考毕业生们提供一些帮助,祝你们在探索IT世界的旅途中收获满满!
查找文件-find
作用
- 按照文件名、大小、时间、权限、类型、所属者、所属组来搜索文件
格式
find 查找路径 查找条件 具体条件 操作
注意
- find命令默认的操作是print输出
- find是检索文件的,grep是过滤文件中字符串
参数
参数 作用 -name 根据文件basename匹配名称 -size 匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找 小于50KB的文件) -mtime [+\|-]n 匹配修改内容的时间(-4指小于等于4天内的文件名;+4,大于等于5 天前的文件名;4指前4~5那一天的文件)
-atime [+\|-]n 匹配访问文件的时间 -ctime [+\|-]n 匹配修改文件权限的时间 -newer f1 !f2 匹配比文件f1新但比f2旧的文件 -perm 匹配权限(mode为完全匹配,-mode为包含即可) -user 匹配所有者 -group 匹配所有组 -nouser 匹配无所有者的文件 -nogroup 匹配无所属组的文件 -type b/d/c/p/l/f 匹配文件类型(后面的字母参数依次表示块设备、目录、字符 设备、 管道、链接文件、文本文件)
-depth 先从该目录子目录下查找,再查找该目录 -maxdepth levels<br />-mindepth levels 最多查找多少层目录;最少查找多少层目录 -delete 将找到的文件删除,如果是目录只能删除找到的空目录。 -exec …… {}\; 后面可跟用于进一步处理搜索结果的命令 (类似于管道符)
#### 示例
- 按照文件名搜索
1. SDN概述 1.1 SDN的起源 SDN(Software Defined Network)即软件定义网络。是由斯坦福大学Clean Slate研究组提出的一种新型网络创新架构。其核心理念通过将网络设备控制平面与数据平面分离,从而实现了网络控制平面的集中控制,为网络应用的创新提供了良好的支撑。
SDN起源提出了三个特征, “转控分离”、“集中控制”和“开放可编程接口”。
SDN的本质诉求是让网络更加开放、灵活和简单。它的实现方式是。为网络构建一个集中的大脑,通过全局视图集中控制,实现或业务快速部署、或流量调优、或网络业务开放等目标。
SDN的价值是:
集中管理,简化网络管理与运维;屏蔽技术细节,降低网络复杂度,降低运维成本;自动化调优,提高网络利用率;快速业务部署,缩短业务上线时间; 1.2 OpenFlow 控制器与交换机之间的一种南向接口协议。它定义了三种类型的消息:
❶ Controller-to-Switch:由Controller发送。用于管理Switch和查询Switch的相关信息。
Features消息:在SSL/TCP会话建立后,Controller给Switch发送Features请求Switch的相关信息。Switch必须应答自己支持的功能,包括接口名、接口MAC地址、接口支持的速率等等基本信息。
Configuration消息:Controller可以设置或查询Switch的状态。
Modify-State消息:Controller发送该消息给Switch,来管理Switch的状态,即增加/删除、更改流表,并设置Switch的端口属性。
Read-State消息:Controller用该消息收集Switch上的统计信息。
Send-Packet消息:Controller发送该消息到Switch的特定端口。
❷ Asynchronous:由Switch发起。当Switch状态发生改变时,发送该消息告诉Controller状态变化。
Packet-in消息:当Flow Table中没有匹配的表项或者匹配“send to Controller”,Switch将给Controller发送packet-in消息。
Packet-out消息:从控制器回复的消息。
Flow-Removed消息:当给Switch增加一条表项时,会设定超时周期。当时间超时后,该条目就会被删除。这时Switch就会给Controller发送Flow-Removed消息;当流表中有条目要删除时,Switch也会给Controller发送该消息。
Port-status消息:当数据路径接口被添加、删除、修改的时候,此消息用于通知控制器。
❸ Symmetric:
Hello消息:当一个OpenFlow连接建立时,Controller和Switch都会立刻向对端发送OFPT_HELLO消息,该消息中的version域填充发送方支持的OpenFlow协议最高的版本号;接收方收到该消息后,接收方会计算协议版本号,即在发送方和接收方的版本号中选择一个较小的;如果接收方支持该版本,则继续处理连接,连接成功;否则,接收者回复一个OFPT_ERROR消息,类型域中填充ofp_error_type.OFPET_HELLO_FAILED
Echo消息: Switch和Controller任何一方都可以发起Echo request消息,但收到的一方必须回应Echo reply消息。这个消息可以来测量latency、Controller-Switch之间的连接性,即心跳消息;
Error消息:当交换机需要通知控制器发生问题或错误时,Switch给Controller 发送Error消息。
流表 OpenFlow交换机基于流表(Flow Table)转发报文。
流表中关于转发的关键的两个内容:
匹配字段是匹配规则,支持自定义。指令是用来描述匹配后的处理方式。 和传统转发方式的对比
传统模式 经典的网络转发方式是网络设备通过查询路由表指导流量转发。
路由表的条目由网络设备之间运行路由协议而计算生成。
路由表是定长的。路由表通过最长匹配原则执行报文转发。一台网络设备只有一张路由表。
基于流表转发 运行OpenFlow的交换机通过查询流表指导流量转发。
流表一般是由OF控制器统一计算,然后下发到交换机。
流表是变长的,拥有丰富的匹配规则和转发规则。一台网络设备有多张流表。
流表的匹配原则是对于存在的“table0-table255”,优先从table0开始匹配。同一table内部按照优先级匹配,优先级高优先匹配。
1.3 SDN架构 SDN的架构如下图,不同层次之间通过开放接口连接。以控制器层为主要视角,区分面向设备层的南向接口和面向协同应用层的北向接口。
①协同应用层:主要完成用户意图的各种上层应用,典型的协同层应用包括OSS、OpenStack等。OSS可以负责整网的业务协同,OpenStack云平台一般用于数据中心负责网络、计算、存储的业务协同。
②控制器层:控制器层的实体就是SDN控制器,是SDN网络架构下最核心的部分。控制层是SDN系统的大脑,其核心功能是实现网络业务编排。
③设备层:网络设备接收控制器指令,执行设备转发。
④NBI北向接口:北向接口为控制器对接协同应用层的接口,主要为RESTful。
⑤SBI南向接口:南向接口为控制器与设备交互的协议,包括NETCONF、SNMP、OpenFlow、OVSDB等。
华为SDN架构 华为SDN网络架构如下:
❶云平台:云数据中心内资源管理平台。云平台包含对网络资源、计算资源和存储资源的管理。OpenStack是最主流的开源云平台。
❷EMS(Element Management System,网元管理系统)是管理特定类型的一个或多个电信NE(Network Element,网络单元)的系统。
FLV
FLV是一种容器封装格式,是由Adobe公司发布和维护的,用于将视频编码流与音频编码流进行封装。对于任意一种封装格式,都有其头部区域与数据区域,在FLV中,称之为FLV Header与Body。
对于FLV Header,一个FLV文件只有一个FLV Header,前三字节是signature用来标记FLV文件,通常为“F”,“L”,“V”;第四字节是version代表版本号,通常为0x01。
对于FLV Body可以分为多个priviousDatasize与TAG,priviousDatasize代表前一个TAG长度,TAG又细分为Tag header与Tag Data,Tag header中的第1字节代表该TAG类型,Tag Data包含着真正的TAG数据。
Tag Data又可以分为VIdeo Tag与Audio Tag;VIdeo Tag中的Frame Type代表帧类型区分是否是关键帧,Audio Tag中的SoundFormat:音频格式、SoundRate:采样率、SoundSize:采样大小、SoundType:声道类型。
对于FLV的第一个TAG包,通常称为Script Tag (一个FLV文件中只有这样一个TAG),Script Tag 是由两个 AMF 包组合起来(AMF 包 = 数据类型+ 数据长度 + 数据)。AMF 包 1: 通常是一个字符串,值为 “onMetaData”;AMF 包 2: 通常用于描述元数据信息,包括:视频宽高、码率、帧率、编解码器ID,音频码率、编解码器ID
FLV整体结构
FLV帧内具体结构:
Video Tag、Audio Tag帧内结构:
如何在f12元素选择器上找到下拉div呢?
给el-select添加 :popper-append-to-body="false" 即可,这样就可以将下拉框添加到body元素中去,否则当我们失去焦点,下拉就消失了,在元素中找不到el-select。剩下就可以通过如何自定义,大家自行设置吧~
在设计FPGA时,多运用模块化的思想取设计模块,将某一功能设计成module。 设计之前要先画一下模块设计图,列出输入输出接口,再进一步设计内部功能。 状态机要画图,确定每个状态和状态之间怎么切换。状态用localparam定义。 顶层向下传递的要定义为wire,底层向上传递的要定义为reg。 根据时序将每一个时钟周期进行按步分解。对于通讯协议要对每条线仔细分析。 每个模块要用一个tb测试 testbench例子 always #10 Clk = ~Clk; initial begin Clk = 1; Rst_n = 0; Cmd = 6'b000000; Go = 0; Tx_DATA = 8'd0; #2001; Rst_n = 1; #2000; //写数据操作,往EEPROM器件的B1地址写数据DA //第一次:起始位+EEPROM器件地址(7位)+写方向(1位) Cmd = STA | WR; Go = 1; Tx_DATA = 8'hA0 | 8'd0;//写方向 @ (posedge Clk); #1; Go = 0; @ (posedge Trans_Done); #200; //第二次:写8位EEPROM的寄存器地址 Cmd = WR; Go = 1; Tx_DATA = 8'hB1;//写地址B1 @ (posedge Clk); #1; Go = 0; @ (posedge Trans_Done); #200; //第三次:写8位数据 + 停止位 Cmd = WR | STO; Go = 1; Tx_DATA = 8'hda;//写数据DA @ (posedge Clk); #1; Go = 0; @ (posedge Trans_Done); #200; #5000000; //仿真模型的两次操作时间间隔 //读数据操作,从EEPROM器件的B1地址读数据 //第一次:起始位+EEPROM器件地址(7位)+写方向(1位) Cmd = STA | WR; Go = 1; Tx_DATA = 8'hA0 | 8'd0;//写方向 @ (posedge Clk); #1; Go = 0; @ (posedge Trans_Done); #200; //第二次:写8位EEPROM的寄存器地址 Cmd = WR; Go = 1; Tx_DATA = 8'hB1;//写地址B1 @ (posedge Clk); #1; Go = 0; @ (posedge Trans_Done); #200; //第三次:起始位+EEPROM器件地址(7位)+读方向(1位) Cmd = STA | WR; Go = 1; Tx_DATA = 8'hA0 | 8'd1;//读方向 @ (posedge Clk); #1; Go = 0; @ (posedge Trans_Done); #200; //第四次:读8位数据 + 停止位 Cmd = RD | STO; Go = 1; @ (posedge Clk); #1; Go = 0; @ (posedge Trans_Done); #200; #2000; $stop; end 每个模块要建立一个testbench 时钟分频 //系统时钟采用50MHz parameter SYS_CLOCK = 50_000_000; //SCL总线时钟采用400kHz parameter SCL_CLOCK = 400_000; //产生时钟SCL计数器最大值 localparam SCL_CNT_M = SYS_CLOCK/SCL_CLOCK/4 - 1; reg [19:0]div_cnt; reg en_div_cnt; always@(posedge Clk or negedge Rst_n) if(!
一、前言 人工智能语言模型和AI绘画在多个领域都有广泛的应用.....
SparkAi创作系统是一款基于ChatGPT和Midjourney开发的智能问答和绘画系统,提供一站式 AI B/C 端解决方案,涵盖AI大模型提问、AI绘画、文档分析、图像识别和理解、TTS & 语音识别、AI换脸等多项功能。支持GPTs应用和Prompt自定义预设应用,配备插件系统,并即将推出AI视频生成和AI音乐生成功能。该系统兼容OpenAI-GPT全模型及国内所有AI模型,具备GPT-4大模型支持、联网提问、DALL-E3文本生成图像、GPT4-All联网搜索模型、思维导图、会员套餐、分销系统以及Midjourney绘画动态全功能等,提供AI换脸、图像混合、局部编辑重绘等强大功能,为用户带来丰富的智能创作和互动体验。
系统文档 《SparkAI系统介绍文档 - 渐进式AIGC系统》 二、系统演示 核心AI能力 🚀 使用 Nodejs 服务端渲染技术, 支持高并发(万级甚至千万级用户同时请求使用);提供更高的可用性和稳定性。📡 支持宝塔常规部署和Decker一键部署方式,所有对接配置均可在后台界面上完成。🤖 支持OpenAI官方API + One API 等中转对接使用(即支持OpenAI全模型、三方大模型、国内大模型);支持 OpenAI / Azure OpenAI / Anthropic Claude / Google Gemini / Midjourney / 讯飞星火 / 百川 AI / Moonshot / 智谱 ChatGLM / 通义千问 / 云雀大模型 / 腾讯混元 / 360 智脑等模型, 适配 LocalAI / Ollama 等模型 (LLaMa / RWKV / SDXL ),支持openai发布最新gpt-4o大模型对接使用.....🖥️ 自定义模型对接系统:所有模型走OpenAI的输入格式,当OpenAI发布新的语言模型,可后台第一时间添加,无须系统每次开发对接才能使用!同理支持对接了其他三方模型的中转系统,即支持OpenAI全模型、三方大模型、国内大模型 最新发布模型快速可用。对话模型自定义分类、自定义名称自定义排序、以及部分功能自定义。✨ 支持任何 OpenAI 格式中转API, 自研渠道均衡负载和分配算法, 支持多渠道高并发调用管理, 支持多 API Key 轮询! (优先级/权重/状态管理)。🤯 对话会话隔离、云端存储、支持多设备共享数据!🎈 多模态模型支持: 识图、文档分析支持。支持自定义对话模型开启多模态支持。🌏 支持联网模式、可对模型进行扩展搜索当前网络实时内容总结。🎃 支持GPTs应用+Prompt自定义预设应用;GPTS:支持GPTS后台自定义添加、也可以全站搜索 = 官方搜索。👂 语音识别 & TTS , 支持 OpenAI / Azure 等语音识别 & TTS 模型,支持 Whisper & TTS 格式中转;支持TTS对话输入回复模式。🎨 支持 Midjourney全功能, 支持 Imagine / Upscale / Vary / Zoom Out 等众多功能, 支持 Seed 获取。支持 中转API / 支持局部重绘 (Vary Region)等等。💭 专业绘画支持文生图、图生图、垫图混图、角色一致参考图、风格一致参考图生成等、支持AI换脸、支持混合图片。🪄 Dall-E-2/3绘画支持、支持所有参数并享有单独模块。🔥 强大 Markdown 语法支持 (支持 代码高亮 / LaTeX 公式 / Mermaid 思维导图 / 图表绘制), 支持集成对话绘图模型 (DALL-E / Stable Diffusion / Midjourney 等)。📖 开箱即用的文档解析服务, 支持 Pdf / Docx / Xlsx / 音频 / 图片等文件类型解析。🗂 存储系统:支持本机、阿里云OSS、腾讯云cos、Chevereto图床多种类型。💰 会员系统: 提供普通模型积分、高级普通模型积分、绘画积分三种货币类型、支持各类商品自定义扣费模式与额度。支持自定义模型扣除费用类型、多种计费方式:按时间限制、无时间限制、自定义组合套餐设置 (免费 / 积分(次数)扣费 计费)。💸 支持官方微信支持、易支付、码支付、虎皮椒支付等支付方式, 支持同步检查订单状态, 支持订单搜索和管理。👋 商城系统:自定义商品套餐、可自定义生成永久套餐、限时套餐。🔶 签到系统: 支持配置每日签到赠送不同额度的奖励。📦 访客系统: 支持不登录使用部分内容、可游客模式体验站内功能。🌏 分销系统:支持 A + B 分销模式、后台可自定义分销提成额度、可对单独用户单独设置。支持设置提现门槛选项,支持用户多种提现方式选择(支付宝、微信、银行卡等)。🎫 卡密系统:支持批量生产卡密供用户兑换、用户端可兑换卡密或三方卡网购买支持完备卡密兑换码体系, 支持自定义点数, 支持批量生成和卡密兑换码管理, 支持卡密兑换码查看领取用户 / 创建时间 / 领取时间等信息;删除卡密兑换码等功能。🎉 登录系统:支持 邮箱 | 手机短信 | 微信扫码 等不同登录注册方式供选择。🏅 插件系统开放、内部支持各类插件并会持续开发更多插件。🖥 多端支持,自适应布局、适配PC、移动端、平板等设备。支持 Web / PWA / App / 小程序(后续开发), UI 移动端适配, 支持明暗主题切换, 支持 Windows / MacOS / Linux / Android / iOS App。✔️ 专业站点管理系统, 支持自定义配置网站 LOGO / 站点名称 / 页脚 / 百度统计/ AI名称 / 版权信息/ 联系方式 / 站点公告 / 提示欢迎语等多种内容等多种内容;支持设置用户初始点数, 单独用户群配置 等等。📈 数据统计, 丰富美观的仪表盘统计,支持每日新增用户数量统计 / 总计和每日对话数量 / 总计和每日新加绘画数量 / 总计和每日日订单数量统计 / 等多种信息统计图表趋势展示。📄 内容敏感词多种限制、支持自定义敏感词/百度内容审核等安全检测、可共同开启。支持敏感词检查记录查询统计!🧩 动态菜单系统:可以自定义开关菜单、添加菜单、自定义ICON、自定义菜单类型、可使用三方站点内嵌、支持移动端PC端各自单独设置。📡 管理端支持超管和普通演示账户用于分销系统、普通账号仅可读权限✈ 管理端支持配置关键词回复、可自定义关键词及回复内容📣 推广邀请奖励,支持邀请和被邀请用户设置自定义积分奖励。📝 板块添加, 支持添加自定义板块嵌入网站页面, 支持设置板块图标,使站点更加丰富多样。🚥其他功能🏅 更多AI能力持续开发更新中.
下拉选择框 from selenium import webdriver from time import sleep # 导包 from selenium.webdriver.support.select import Select driver = webdriver.Edge() driver.get(r"D:\WORK\ww\web自动化_day01_课件+笔记+资料+代码\web自动化_day01_课件+笔记+资料+代码\02_其他资料\注册A.html") driver.maximize_window() driver.implicitly_wait(30) # 匿名 # Select(element).select_by_index() # Select(element).select_by_value() # Select(element).select_by_visible_text() # 实名 # select = Select(element) element 只能是select标签 Select(driver.find_element_by_css_selector("#selectA")).select_by_value("bj") sleep(2) Select(driver.find_element_by_css_selector("#selectA")).select_by_index(1) sleep(2) Select(driver.find_element_by_css_selector("#selectA")).select_by_visible_text("A广州") sleep(2) #通过css driver.find_element_by_css_selector("[value = 'cq']").click() sleep(2) driver.quit() 弹出框 from selenium import webdriver from time import sleep driver = webdriver.Edge() driver.get(r"D:\WORK\ww\web自动化_day01_课件+笔记+资料+代码\web自动化_day01_课件+笔记+资料+代码\02_其他资料\注册A.html") driver.find_element_by_css_selector("#alerta").click() # 切换 处理 # driver.switch_to.alert.accept() # driver.
MySQL 9.0.0 变更(2024-07-01,创新版本) 删除参数
身份验证 在 MySQL 8.0 中弃用的插件已被删除,并且服务器不再接受来自不具备相应能力的旧客户端程序的认证请求。为了向后兼容,MySQL 客户端仍然保留了一种方式,即将客户端端内建的认证插件转换为动态可加载的插件。
在 MySQL 8.0 中,默认的认证插件已更改为 caching_sha2_password(详见 Caching SHA-2 Pluggable Authentication)。这些改动导致以下服务器选项和变量被移除:
服务器选项 --mysql-native-password
服务器选项 --mysql-native-password-proxy-users
服务器系统变量 default_authentication_plugin
废弃列
Performance Schema variables_info 表中的 min_value 和 max_value 列也已被废弃,并可能在未来的 MySQL 版本中移除。推荐使用 variables_metadata 表中的 min_value 和 max_value 列,这两者提供了相同的信息。
新增表
Performance Schema中添加了两张新表,具体如下:
variables_metadata 表:提供关于系统变量的一般信息。这些信息包括每个 MySQL 服务器识别的系统变量的名称、作用域、类型、范围(适用时)、以及描述。
global_variable_attributes 表:提供关于由服务器分配给全局系统变量的属性-值对的信息。
这些新表的引入旨在取代已废弃的 variables_info 表中的 min_value 和 max_value 列,为用户提供更准确和全面的系统变量信息。这些变更使得 MySQL 的性能模式能够更好地支持系统变量的管理和监控,有助于开发人员和管理员更好地理解和优化数据库的性能。
SQL 语法说明
EXPLAIN ANALYZE FORMAT=JSON INTO @variable select_stmt 这个语法允许将分析查询语句的执行计划以 JSON 格式保存到名为 @variable 的用户变量中。随后可以将这个变量作为任何 MySQL JSON 函数的参数使用(参见 JSON Functions)
绝区零 7.4 号开始公测,但刚刚就可以开始下载了,我也是第一时间就迫不及待的安装到了我的 Mac 电脑上,感兴趣的朋友可以跟我一起安装试试
我这里是通过 playCover 的形式在 Mac 上安装运行的,根据之前原神的经验所以这次还是同样的方法
首先我们需在在 Mac 上安装上 playCover,playCover 是一款可以在 Mac 上安装运行 IOS 软件应用的程序,在下方获取 playCover 安装包后直接双击打开拖拽安装即可
playCover 安装包:https://www.hereitis.cn/articleDetails/737
下载完成后直接拖拽安装就行,然后我们先运行该软件
如果你是刚刚安装该软件,里面是没有任何软件应用的,我们想要在 playCover 中安装绝区零还需要获取到 绝区零的 IPA 安装包
绝区零 IPA 安装包:https://www.hereitis.cn/articleDetails/2680
获取到 IPA 砸壳包以后,我们如下图直接将该安装包拖拽进 playCover 中,就会开始安装了,安装完成后 playCover 中就会出现该游戏图标了
这里等待安装完成后,出现游戏图标,先不要着急打开,我们先游戏图标右键设置-杂项-第一栏分类改成 xxx.games
然后,我们保存设置,再双击游戏图标,就可以打开游戏了,如下图完美运行:
感兴趣的小伙伴快来试试吧!
机器学习 C++ 的opencv实现SVM图像二分类的测试 (三)
数据集合下载地址:https://download.csdn.net/download/hgaohr1021/89506900
根据上节得到的svm.xml,测试结果为:
#include <stdio.h> #include <time.h> #include <opencv2/opencv.hpp> #include <iostream> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> #include "opencv2/imgcodecs.hpp" #include <opencv2/core/utils/logger.hpp> #include <opencv2/ml/ml.hpp> #include <io.h> using namespace std; using namespace cv; using namespace cv::ml; void getFiles(string path, vector<string>& files); int main() { int result = 0; string filePath = "data\\test_image\\0"; vector<string> files; getFiles(filePath, files); int number = files.size(); cout << number << endl; string modelpath = "