云计算

云计算的初衷

云计算当初的设计目的是为了通过虚拟化技术实现IT资源的管理,管理的主要是计算资源、网络资源、存储资源三个方面。

数据中心的管理就像你选电脑配置

你去选笔记本电脑或台式电脑,肯定都会看最主要的配置:CPU,内存,硬盘,网卡。计算资源就是CPU和内存,有线或无线网卡和你家里上网的路由器就组成网络资源,硬盘就是存储资源。

各大互联网公司的数据中心管的最主要的东西就上面4个,选一块偏远的地造一个很大很大的机房,里面放置成千上万台服务器提供7*24小时不间断服务。数据中心的管理就像你选电脑配置,管好上面的资源。

物理设备不灵活

很多小公司在创业初期,没有服务器,没有机房,就找到这些有大型数据中心的互联网公司想租用他们机房的设备。在物理设备时期,这个管数据中心的公司就买一台物理设备安装到机房通过网络分配给这些小公司收取费用。

这种模式在规模小的时候看不出问题,但很多小公司突发的需求和时效,这个数据中心的互联网公司就满足不了了。还有小公司可能只要一个小规格的服务器,但数据中心只有大型规格的服务器分配,小公司就不干了,这是让我多花冤枉钱啊。

物理设备的极度不灵活造成了各种资源的浪费和制约数据中心的规模化发展。

虚拟化就灵活多了

有人就想办法了。第一个办法就是虚拟化。用户不是只要一个很小的服务器么?

数据中心的物理设备都很强大,我可以从物理的 CPU、内存、硬盘中虚拟出一小块来给客户,同时也可以虚拟出一小块来给其他客户。每个客户只能看到自己的那一小块,但其实每个客户用的是整个大的设备上的一小块。

虚拟化的技术使得不同客户的服务器看起来是隔离的。也就是我看着好像这块盘就是我的,你看着这块盘就是你的,但实际情况可能我的这个100G 和你的这个 100G 是落在同样一个很大很大的存储上。而且如果事先物理设备都准备好,虚拟化软件虚拟出一个电脑是非常快的,基本上几分钟就能解决。所以在任何一个云上要创建一台服务器,一点几分钟就出来了,就是这个道理。

这样空间灵活性和时间灵活性就基本解决了。

虚拟化世界的闭源和开源

在虚拟化初期阶段,最牛的公司是 VMware。它是实现虚拟化技术比较早的一家公司,可以实现计算、网络、存储的虚拟化。

这家公司很牛,性能做得非常好,虚拟化软件卖得也非常好,赚了好多的钱,后来让 EMC(世界五百强,存储厂商第一品牌)给收购了。但这个世界上还是有很多有情怀的人的,尤其是程序员里面。有情怀的人喜欢做什么事情?开源。

这个世界上很多软件都是有闭源就有开源,源就是源代码。也就是说,某个软件做的好,所有人都爱用,但这个软件的代码被我封闭起来,只有我公司知道,其他人不知道。

如果其他人想用这个软件,就要向我付钱,这就叫闭源。但世界上总有一些极客和大牛看不惯这些人垄断的情况。大牛们觉得,这个技术你会我也会;你能开发出来,我也能。

我开发出来就是不收钱,把代码拿出来分享给大家,全世界谁用都可以,所有的人都可以享受到好处,这个叫做开源。

我们每天接触最多的开源就是WWW,万维网,是由蒂姆·伯纳斯·李免费开放代码。2017 年,他因“发明万维网、第一个浏览器和使万维网得以扩展的基本协议和算法”而获得 2016 年度的计算机里的诺贝尔奖-图灵奖。

我们现在在网上的所有行为都应该感谢他的功劳,如果他将这个技术拿来收钱,应该和比尔盖茨差不多有钱。

开源和闭源的例子有很多:例如在闭源的世界里有 Windows,大家用 Windows 都得给微软付钱;开源的世界里面就出现了 Linux。比尔盖茨靠 Windows、Office 这些闭源的软件赚了很多钱,成为世界首富,就有大牛开发了另外一种开源操作系统 Linux。可能不懂IT的人没有听说过 Linux,很多后台的服务器上跑的程序都是 Linux 上的,比如每年的双十一,无论是淘宝、天猫、京东、考拉……支撑双十一抢购的系统都是跑在 Linux 上的。

再如有 Apple 就有安卓。Apple 市值很高,但是苹果系统的代码我们是看不到的,于是谷歌里就有大牛写了安卓手机操作系统把开源代码免费开放。所以大家可以看到几乎所有的其他手机厂商,里面都装安卓系统。原因就是苹果系统不开源,而安卓系统大家都可以用。

在虚拟化世界也一样,有了 VMware,这个软件非常贵。那就有大牛写了两个开源的虚拟化软件,一个叫做 Xen,一个叫做 KVM。

虚拟化的半自动和云计算的全自动

要说虚拟化软件解决了灵活性问题,其实并不全对。因为虚拟化软件一般创建一台虚拟的电脑,是需要人工指定这台虚拟电脑放在哪台物理机上的。这一过程可能还需要比较复杂的人工配置,做这个工作的人专业化程度很高,所以仅仅凭虚拟化软件所能管理的物理机的集群规模都不是特别大,一般在十几台、几十台、最多百台这么一个规模。

这一方面会影响时间灵活性:虽然虚拟出一台电脑的时间很短,但是随着集群规模的扩大,人工配置的过程越来越复杂,越来越耗时。

另一方面也影响空间灵活性:当用户数量多时,这点集群规模,还远达不到想要多少要多少的程度,很可能这点资源很快就用完了,还得去采购。

所以随着集群的规模越来越大,基本都是千台起步,动辄上万台、甚至几十上百万台。如果去查一下 BAT,包括网易、谷歌、亚马逊,服务器数目都大的吓人。

这么多机器要靠人去选一个位置放这台虚拟化的电脑并做相应的配置,几乎是不可能的事情,还是需要机器去做这个事情。

人们就发明了各种各样的算法来做这个事情,算法的名字叫做调度(Scheduler)。

通俗一点说,就是有一个调度中心,几千台机器都在一个池子里面,无论用户需要多少 CPU、内存、硬盘的虚拟电脑,调度中心会自动在大池子里面找一个能够满足用户需求的地方,把虚拟电脑启动起来做好配置,用户就直接能用了。

这个阶段我们称为池化或者云化,到了这个阶段,才可以称为云计算,在这之前都只能叫虚拟化,别TM扯上云化的关系。

云计算的私有与公有

云计算大致分两种:一个是私有云,一个是公有云,还有人把私有云和公有云连接起来称为混合云。

私有云:把虚拟化和云化的这套软件部署在别人的数据中心里面。使用私有云的用户往往很有钱,自己买地建机房、自己买服务器,然后让云厂商部署在自己这里。

VMware 后来除了虚拟化,也推出了云计算的产品,并且在私有云市场大赚特赚。

公有云:把虚拟化和云化软件部署在云厂商自己数据中心里面的,用户不需要很大的投入,只要注册一个账号,就能在一个网页上点一下创建一台虚拟电脑。

例如 AWS 即亚马逊的公有云;国内的阿里云、腾讯云、网易云等。

亚马逊为什么要做公有云呢?我们知道亚马逊原来是国外比较大的一个电商,它做电商时也肯定会遇到类似双十一的场景:在某一个时刻大家都冲上来买东西,访问量暴增。

当大家都冲上买东西时,就特别需要云的时间灵活性和空间灵活性。因为它不能时刻准备好所有的资源,那样太浪费了。但也不能什么都不准备,看着双十一这么多用户想买东西登不上去。

所以需要双十一时,就创建一大批虚拟电脑来支撑电商应用,过了双十一再把这些资源都释放掉去干别的。因此亚马逊是需要一个云平台的,然而商用的虚拟化软件实在是太贵了,亚马逊总不能把自己在电商赚的钱全部给了虚拟化厂商。

于是亚马逊基于开源的虚拟化技术,开发了一套自适应的云化软件。没想到亚马逊后来电商越做越牛,云平台也越做越牛。

由于它的云平台需要支撑自己的电商应用;而传统的云计算厂商多为 IT 厂商出身,几乎没有自己的应用,所以亚马逊的云平台对应用更加友好,迅速发展成为云计算的第一品牌,赚了很多钱。

云计算的豪强纷争

公有云的第一名亚马逊过得很爽,排第二的 Rackspace 过得就很凄惨了。互联网行业的天然的壁垒铸就其残酷性,胜者为王的模式,压根没人听过老二是谁。

老二就不忿了,我干不过老大怎么办呢?开源啊。如上所述,亚马逊虽然使用了开源的虚拟化技术,但云化的代码是闭源的。很多想做又做不了云化平台的公司,只能眼巴巴的看着亚马逊挣大钱。Rackspace 把源代码一公开,整个行业就可以一起把这个平台越做越好,兄弟们大家一起上,和老大拼了。

于是 Rackspace 和美国航空航天局合作创办了开源软件 OpenStack,如上图所示 OpenStack 的架构图,图中三个关键词:Compute 计算、Networking 网络、Storage 存储,就是一个计算、网络、存储的云化管理平台。

当然第二名的技术也是非常棒棒的,有了 OpenStack 之后,果真像 Rackspace 想的一样,所有想做云的大企业都疯了,个个豪强都疯了似的蜂拥而入,你能想象到的所有如雷贯耳的大型 IT 企业:IBM、惠普、戴尔、华为、联想等。

原来云平台大家都想做,看着亚马逊和 VMware 赚了这么多钱,眼巴巴看着没办法,想自己做一个好像难度还挺大。现在好了,有了这样一个开源的云平台 OpenStack,所有的 IT 厂商都加入到这个社区中来,对这个云平台进行贡献,包装成自己的产品,连同自己的硬件设备一起卖。

有的做了私有云,有的做了公有云,OpenStack 已经成为开源云平台的事实标准。

总结

到了这个阶段,云计算基本上实现了时间灵活性和空间灵活性;实现了计算、网络、存储资源的弹性。

计算、网络、存储我们常称为基础设施 Infranstracture, 因而这个阶段的弹性称为资源层面的弹性。

标题“51单片机通过MPU6050-DMP获取姿态角例程”解析 “51单片机通过MPU6050-DMP获取姿态角例程”是一个基于51系列单片机(一种常见的8位微控制器)的程序示例,用于读取MPU6050传感器的数据,并通过其内置的数字运动处理器(DMP)计算设备的姿态角(如倾斜角度、旋转角度等)。MPU6050是一款集成三轴加速度计和三轴陀螺仪的六自由度传感器,广泛应用于运动控制和姿态检测领域。该例程利用MPU6050的DMP功能,由DMP处理复杂的运动学算法,例如姿态融合,将加速度计和陀螺仪的数据进行整合,从而提供稳定且实时的姿态估计,减轻主控MCU的计算负担。最终,姿态角数据通过LCD1602显示屏以字符形式可视化展示,为用户提供直观的反馈。 从标签“51单片机 6050”可知,该项目主要涉及51单片机和MPU6050传感器这两个关键硬件组件。51单片机基于8051内核,因编程简单、成本低而被广泛应用;MPU6050作为惯性测量单元(IMU),可测量设备的线性和角速度。文件名“51-DMP-NET”可能表示这是一个与51单片机及DMP相关的网络资源或代码库,其中可能包含C语言等适合51单片机的编程语言的源代码、配置文件、用户手册、示例程序,以及可能的调试工具或IDE项目文件。 实现该项目需以下步骤:首先是硬件连接,将51单片机与MPU6050通过I2C接口正确连接,同时将LCD1602连接到51单片机的串行数据线和控制线上;接着是初始化设置,配置51单片机的I/O端口,初始化I2C通信协议,设置MPU6050的工作模式和数据输出速率;然后是DMP配置,启用MPU6050的DMP功能,加载预编译的DMP固件,并设置DMP输出数据的中断;之后是数据读取,通过中断服务程序从DMP接收姿态角数据,数据通常以四元数或欧拉角形式呈现;再接着是数据显示,将姿态角数据转换为可读的度数格
MathorCup高校数学建模挑战赛是一项旨在提升学生数学应用、创新和团队协作能力的年度竞赛。参赛团队需在规定时间内解决实际问题,运用数学建模方法进行分析并提出解决方案。2021年第十一届比赛的D题就是一个典型例子。 MATLAB是解决这类问题的常用工具。它是一款强大的数值计算和编程软件,广泛应用于数学建模、数据分析和科学计算。MATLAB拥有丰富的函数库,涵盖线性代数、统计分析、优化算法、信号处理等多种数学操作,方便参赛者构建模型和实现算法。 在提供的文件列表中,有几个关键文件: d题论文(1).docx:这可能是参赛队伍对D题的解答报告,详细记录了他们对问题的理解、建模过程、求解方法和结果分析。 D_1.m、ratio.m、importfile.m、Untitled.m、changf.m、pailiezuhe.m、huitu.m:这些是MATLAB源代码文件,每个文件可能对应一个特定的计算步骤或功能。例如: D_1.m 可能是主要的建模代码; ratio.m 可能用于计算某种比例或比率; importfile.m 可能用于导入数据; Untitled.m 可能是未命名的脚本,包含临时或测试代码; changf.m 可能涉及函数变换; pailiezuhe.m 可能与矩阵的排列组合相关; huitu.m 可能用于绘制回路图或流程图。 matlab111.mat:这是一个MATLAB数据文件,存储了变量或矩阵等数据,可能用于后续计算或分析。 D-date.mat:这个文件可能包含与D题相关的特定日期数据,或是模拟过程中用到的时间序列数据。 从这些文件可以推测,参赛队伍可能利用MATLAB完成了数据预处理、模型构建、数值模拟和结果可视化等一系列工作。然而,具体的建模细节和解决方案需要查看解压后的文件内容才能深入了解。 在数学建模过程中,团队需深入理解问题本质,选择合适的数学模
以下是关于三种绘制云图或等高线图算法的介绍: 一、点距离反比插值算法 该算法的核心思想是基于已知数据点的值,计算未知点的值。它认为未知点的值与周围已知点的值相关,且这种关系与距离呈反比。即距离未知点越近的已知点,对未知点值的影响越大。具体来说,先确定未知点周围若干个已知数据点,计算这些已知点到未知点的距离,然后根据距离的倒数对已知点的值进行加权求和,最终得到未知点的值。这种方法简单直观,适用于数据点分布相对均匀的情况,能较好地反映数据在空间上的变化趋势。 二、双线性插值算法 这种算法主要用于处理二维数据的插值问题。它首先将数据点所在的区域划分为一个个小的矩形单元。当需要计算某个未知点的值时,先找到该点所在的矩形单元,然后利用矩形单元四个顶点的已知值进行插值计算。具体过程是先在矩形单元的一对对边上分别进行线性插值,得到两个中间值,再对这两个中间值进行线性插值,最终得到未知点的值。双线性插值能够较为平滑地过渡数据值,特别适合处理图像缩放、地理数据等二维场景中的插值问题,能有效避免插值结果出现明显的突变。 三、面距离反比 + 双线性插值算法 这是一种结合了面距离反比和双线性插值两种方法的算法。它既考虑了数据点所在平面区域对未知点值的影响,又利用了双线性插值的平滑特性。在计算未知点的值时,先根据面距离反比的思想,确定与未知点所在平面区域相关的已知数据点集合,这些点对该平面区域的值有较大影响。然后在这些已知点构成的区域内,采用双线性插值的方法进行进一步的插值计算。这种方法综合了两种算法的优点,既能够较好地反映数据在空间上的整体分布情况,又能保证插值结果的平滑性,适用于对插值精度和数据平滑性要求较高的复杂场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值