课程设计任务书

一、作业目的

物联网的核心是应用,应用的核心是云计算。通过构建一个云计算平台,并利用这个平台设计云计算实验,将结果与普通的电脑计算比较两者的差别,感受云计算的优越性能,从而对物联网有更深刻的体验与认识。

二、作业内容及要求

能够按照课程设计任务书按照相应的要求完成整个云计算平台的搭建,要完成这个任务,就要对云计算平台的架构和原理有一定的认识,对物联网的应用层有深入的学习,通过查阅书籍文献与网络资料去掌握相关知识,完成云平台的构建与实验的设计。

三、作业成果形式及提交要求

做出实验成果,并向验收老师展示其功能和实现原理,回答老师提出的相关问题;提交实验程序和报告。提交要求是实物验收必须得到老师的肯定,报告必须能清晰说明实验过程与原理,严谨有说服力。

四、参考文献

[1] Hadoop权威指南,清华大学出版社,2010-5-1

[2] NIST Cloud Computing Program,http://www.nist.gov/itl/cloud/

[3] Hadoop大数据处理,人民邮电出版社,2013-09-01

[4] 虚拟化与云计算,电子工业出版社,2009-10-1

[5] 走近云计算,人民邮电出版社,2009年

[6] Hadoop实战,人民邮电出版社,2011年10月

[7] Hadoop云计算实战,清华大学出版社,2012-10

目录

课程设计任务书

目录

摘要

1 绪论

1.1 云计算概述

1.1.1 云计算的五大核心特点

1.1.2 云计算的三种服务模式

1.2 Hadoop系统概述

1.3 云计算平台搭建方法

1.4 本次课设所用平台与搭建方法

2.云计算平台原理

2.1 Hadoop系统原理

2.2 ubuntu系统

3.云计算平台搭建过程

3.1 ubuntu系统的安装

3.2 Hadoop系统部署

4.分布式云计算实验

4.1基于MapReduce的分布式云计算实验

4.2 普通PC机上的对比实验

4.3分布式云计算实验结果与总结

5.课程设计总结

6.附录

摘要

物联网的核心是应用,应用的核心是云计算。从一开始学习物联网这门课开始就不断的听到云计算的介绍,并且随着学习的深入,越来越感受到云计算在物联网中的重要作用,没错,物联网的核心是应用,应用的核心是云计算。世界已经悄然进入到大数据时代,大数据的处理依靠传统手段已经捉襟见肘,随着云计算的出现,大数据的潜力才充分发掘出来,物联网也正是接着云计算的东风才能够发展到今天这种深刻改变人们生活方式的地步。

云计算是物联网的应用层,做云计算关键要学会怎么去运用物联网,为此需要查阅与云计算有关的书籍,网上牛人的笔记和国外网站的资料,亲手设计与实现分布式程序进行实验,从而直观的感受到云计算的强大与物联网的无处不在。

云计算的重要性不言而喻,物联网的发展离不开云计算,所以研究云计算的搭建与运用是具有极大的意义。

关键词:物联网  云计算 云计算平台搭建 分布式计算

1,绪论

1.1 云计算概述

在参考文献2里,NIST对云计算定义如下:云计算是一种能够通过网络以便利的、按需付费的方式获取计算资源(包括网络、服务器、存储、应用和服务等)并提高其可用性的模式,这些资源来自一个共享的、可配置的资源池,并能够以最省力和无人干预的方式获取和释放。这种模式具有5个关键功能,还包括3种服务模式和4种部署方式。

1.1.1云计算的五大核心特点:

按需自助服务(On Demand Self-Service):供应商的资源保持高可用和高就绪的状态,用户可以按需方便地自助地获得资源。

泛在的网络访问(Broad Network Access):可以通过各种网络渠道,以统一标准的机制(如浏览器,相同的API等)获取服务,但是客户端可以是多种多样的瘦客户端或富客户端(例如移动电话、笔记本电脑、PDA等)。

动态的资源池(Resource Pooling):供应商的计算资源可以被整合为一个动态资源池,以多租户模式服务所有客户,不同的物理和虚拟资源可根据客户需求动态分配。服务商需实现资源的位置无关性,客户一般不需要知道所使用的资源的确切地理位置,但在需要的时候客户可以指定资源位置(如哪个国家,哪个数据中心等)的要求。

快速弹性(Rapid Elasticity):可以迅速、弹性地提供服务,能快速扩展,也可以快速释放实现快速缩小。对客户来说,可以租用的资源看起来似乎是无限的,可在任何时间购买任何数量的资源。

可计量的服务(Measured Service):服务的收费可以是基于计量的一次一付,或基于广告的收费模式。系统以针对不同服务需求(例如,CPU时间、存储空间、带宽、甚至按用户账号的使用率高低)来计量资源的使用情况和定价,以提高资源的管控能力和促进优化利用。整个系统资源可以通过监控和报表的方式对服务提供者和使用者透明化。

1.1.2云计算的三种服务模式

云计算的三个服务模式(Delivery Models)是:SaaS、PaaS和IaaS。

SaaS:提供给客户的服务是运营商运行在云计算基础设施上的应用程序,用户可以在各种设备上通过瘦客户端界面访问,如浏览器。消费者不需要管理或控制任何云计算基础设施,包括网络、服务器、操作系统、存储,等等。

PaaS:提供给消费者的服务是把客户采用提供的开发语言和工具(例如Java、Python、.Net等)开发的或收购的应用程序部署到供应商的云计算基础设施上。客户不需要管理或控制底层的云基础设施,包括网络、服务器、操作系统、存储等,但客户能控制部署的应用程序,也可能控制运行应用程序的托管环境配置。

IaaS: 提供给消费者的服务是对所有设施的利用,包括处理、存储、网络和其他基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程序。消费者不管理或控制任何云计算基础设施,但能控制操作系统的选择、储存空间、部署的应用,也有可能获得有限制的网络组件(例如,防火墙、负载均衡器等)的控制。

目前世界大多数互联网公司都开始布局云计算,Google,华为,BAT,亚马逊也都已经将云计算成熟运用与自己的生态系统,并产生巨大的效益。国内外关于云计算的研究都在火热的进行中。无论是收费的云计算服务还是开源云计算研究都趋于白热化,可见云计算在未来各个领域非同一般的潜力。

1.2 Hadoop系统概述

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。 Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。

Hadoop的框架最核心的设计就是:HDFS和Map Reduce。HDFS为海量的数据提供了存储,则Map Reduce为海量的数据提供了计算。

图1-1 HDFS文件系统结构

图1-2 Map Reduce工作流程

Hadoop技术已经无处不在。不管是好是坏,Hadoop已经成为大数据的代名词。短短几年间,Hadoop从一种边缘技术成为事实上的标准,不仅现在Hadoop是企业大数据的标准,而且在未来,它的地位似乎一时难以动摇。

1.3 云计算平台搭建方法

目前开源的云计算平台的搭建都要依托Linux系统,因此我们有2种办法搭建云计算平台:安装Linux系统和在其他操作系统下安装Linux虚拟机后搭建云平台。目前主流的虚拟机有:

Virtual Box

Vmware

有了Linux系统环境后就能搭建云计算平台了,几大开源云平台系统有:

Hadoop系统

Open Stack

云计算平台的搭建=Linux系统+开源云平台+SSH框架。

1.4 本次课设所用平台与搭建方法

一开始本设计采用的是虚拟机+Hadoop系统+SSH框架搭建自己的云计算平台,发现在虚拟机下的Linux系统无法下载一些系统关键应用导致云平台无法搭建,前后实验多次后直接给在纯Linux系统部署云计算平台从而成功搭建好云平台,本次课程设计所采用的搭建办法是:

Ubuntu14.04系统+Hadoop系统+SSH框架。

2,云计算平台原理

2.1 Hadoop系统原理

Hadoop是一个开源的可运行于大规模集群上的分布式并行编程框架,其最核心的设计包括:Map Reduce和HDFS。基于 Hadoop,你可以轻松地编写可处理海量数据的分布式并行程序,并将其运行于由成百上千个结点组成的大规模计算机集群上。

简单的说:Map Reduce框架的核心步骤主要分两部分:Map和Reduce。当你向Map Reduce框架提交一个计算作业时,它会首先把计算作业拆分成若干个Map任务,然后分配到不同的节点上去执行,每一个Map任务处理输入数据中的一部分,当Map任务完成后,它会生成一些中间文件,这些中间文件将会作为Reduce任务的输入数据。Reduce对数据做进一步处理之后,输出最终结果。

Map Reduce是Hadoop的核心技术之一,为分布式计算的程序设计提供了良好的编程接口,并且屏蔽了底层通信原理,使得程序员只需关心业务逻辑本事,就可轻易的编写出基于集群的分布式并行程序。从它名字上来看,大致可以看出个两个动词Map和Reduce,“Map(展开)”就是将一个任务分解成为多个子任务并行的执行,“Reduce”就是将分解后多任务处理的结果汇总起来,得出最后的分析结果并输出。

适合用 Map Reduce来处理的数据集(或任务)有一个基本要求:待处理的数据集可以分解成许多小的数据集,而且每一个小数据集都可以完全并行地进行处理。

想要彻底了解Hadoop系统的原理是十分困难的,由于篇幅有限,知识水平也不高,我只能描写其大概面貌,本次课程设计的核心是学习搭建与运用云计算平台,没有足够的时间与精力去完全了解Hadoop的原理,在这里我们不妨就理解为:

Hadoop系统=HDFS分布式文件系统+Map Reduce运算机制。

这样就能很好的明白它们的大致关系,有助于对后面实验的理解。

图2-1 Hadoop系统架构

2.2 Ubuntu系统

本次课程设计所使用的Linux系统是ubuntu14。

Ubuntu(乌班图)是一个以桌面应用为主的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的“Ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu基于Debian发行版和GNOME桌面环境,而从11.04版起,Ubuntu发行版放弃了Gnome桌面环境,改为Unity,与Debian的不同在于它每6个月会发布一个新版本。Ubuntu的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

LTS 是 Ubuntu 的长期支持版,因此 Ubuntu 14.04 支持周期长达 3-5 年。因此 Ubuntu 14.04 是追求稳定的用户和企业的最佳选择。所以本次课程设计选择ubuntu14.04LTS版本完全能够应付云平台搭建与相关实验的任务。

图2-2 ubuntu14.04LTS系统

3,云计算平台搭建过程

3.1 Ubuntu系统的安装

去Ubuntu官网下载好对应版本的系统镜像,并用虚拟光驱软件加载镜像,选择安装Ubuntu系统,一路点击继续后大约10来分钟就可以安装好Ubuntu系统了。

3.2 Hadopp系统部署

修改机器名:

打开/etc/hostname文件,将/etc/hostname文件中的Ubuntu改为你想取的机器名。这里我取“s15“。重启系统后才会生效。

安装ssh服务:

在terminal窗口中输入:Sudoa apt-get install open ssh-server

建立ssh无密码登录本机

在terminal窗口中输入:

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

得到如下图说明操作正确:

图3-1 建立ssh无密码登录本机

登录local host:

在terminal窗口中输入:bin/start-all.sh

安装Hadoop :

下载Hadoop 安装包并解压,打开Hadoop/conf/Hadoop.sh文件,配置conf/Hadoop.sh:找到#export JAVA_HOME=...一行,去掉#,然后加上本机JDK的路径。

打开conf/core-site.XML文件,加入如下代码:

<configuration>

<property>

<name>fs.default.name</name>

<value>hdfs://localhost:9000</value>

</property>

</configuration>

打开conf/map red-site.XML文件,编辑如下:

<configuration>

<property>

<name>mapred.job.tracker</name>

<value>localhost:9001</value>

</property>

</configuration>

打开conf/masters文件和conf/slaves文件,添加secondary的主机名,作为单机版环境,这里只需填写local host就Ok了。

到这里Hadoop系统就部署完毕了。调用bin/start-all.sh 命令即可以启动Hadoop,用JSP命令查看系统状态,出现如下信息说明系统部署成功:

图3-2 用jsp命令查看系统状态

4,分布式云计算实验

云平台已经搭建完毕,那么这只是第一步,关键还得学会怎么用它,为了能够体现云计算与普通PC机计算能力的差异我特意为本次课设设计了一个专门用于对比的实验程序。

云计算的能力在于飞速处理大数据,为了模拟大数据,在一个TXT文本中循环写入了七百多万单词,为了便于写入这么多单词,在TXT文本中填充了7094304个“for”来模拟大数据。

接下来分别设计一个用于分布式计算的Map Reduce程序和在普通PC机上运行的JAVA程序,该程序的功能是统计一个文本中的单词数量,并输出整个程序运行耗费时间。对比两个程序在两个环境中的运算耗费时间即可比较出二者的差异。

4.1 基于Map Reduce的分布式云计算实验

用于分布式计算的程序核心设计如下:

[cpp] view plaincopy
  1. public static void main(String[] Argus) throws Conception {
  2. Date d = new Date();
  3. long begintime = d.getTime();
  4. JobConf conf = new JobConf(WordCount.class);
  5. conf.setJobName("wordcount");
  6. conf.setNumMapTasks(3);
  7. conf.setNumReduceTasks(2);
  8. conf.outspokenness(Text.class);
  9. conf.outclass(Inequitable.class);
  10. conf.setMapperClass(Map.class);
  11. conf.setCombinerClass(Reduce.class);
  12. conf.setReducerClass(Reduce.class);
  13. conf.setInputFormat(TextInputFormat.class);
  14. conf.setOutputFormat(TextOutputFormat.class);   JobClient.runJob(conf);
  15. Date d2 = new Date();
  16. long endtime = d2.getTime();
  17. System.out.println("用时:");
  18. System.out.print(endtime-begintime);
  19. System.out.println(" 毫秒"); }

其中 Date d1,d2用于捕获程序运行开始和结束的时间其时间差即为程序运算所耗费的时间;conf.setNumMapTasks(3)设置分布式运算时所以的map数量为3个,conf.setNumReduceTasks(2);设置运算中所以的reduce数量为2个,其他的设置为配置Map Reduce的其他必要参数,在这里对本实验无影响就不解析了。

想要利用云平台来为我们做计算服务还要把写好的Map Reduce程序进行编译,打包成库文件,然后将模拟大数据的TXT文档提交到HDFS空间,执行以下命令就能启动云计算了:

bin/Hadoop as -put input/ input 把文件提交到HDFS空间

bin/hadoop jar WordCount.jar WordCount input output 启动云计算

得到的结果如下:

图4-1 云计算实验结果

可以看到输出结果为单词”for”7094304个,耗时49882毫秒。

4.2 普通PC机上的对比实验

在普通PC机上运行的对比实验程序十分简单,就是对一个文本进行读取,然后逐行识别出单词进行统计,其实现过程与Map Reduce程序中统计单词部分所实现的功能一样,详情参见附录。

该程序在非分布式云计算环境中的实验结果如下:

图4-2 普通PC机实验结果

可以看到输出结果为单词”for”也是7094304个,耗时259973毫秒。

4.3 分布式云计算实验结果与总结

从两个对比实验中我们非常清楚的看到同样都是统计7094304个单词的运算普通PC机程序耗费了259973毫秒,而分布式云计算只用了49882毫秒,分布式云计算比普通的计算快了足足5倍有余,并且由于计算速度受服务器好坏的影响,这个数据也只是在我的破电脑上的结果,如果在更强大的服务器上运行那就会有更大的差距。

本设计做的这个对比实验虽然简陋,但是麻雀虽小,五脏齐全,同样能够很好的对比出两种运算的优劣。除此之外,在相关的文献查看过程中发现云计算在数据越大优越性越能体现出来。事实上真正搭建好的集群式云计算平台对于上GB的大数据都是秒内完成的,这就是云计算的强大!

经过这次实验可以看出,云计算有足够的能力处理物联网中庞大的数据,在万物互联中产生的无数的数据就可以用云计算技术加以综合分析从而来更好的服务于物联网。

5, 课程设计总结

本次课程设计总的来说进行的还是很顺利的,一开始在本设计中采用主流的虚拟机加开源云平台的方法进行云平台搭建,但是在反复试了多种办法后都失败了,之后选择直接安装Ubuntu系统来搭建云平台,后来回想起来这果然是个聪明的决定,因为在纯Linux系统下部署云平台的所有操作都进行的十分顺利没有出现任何意外。

部署云平台进行的十分顺利从而有了更多的时间来学习和设计对比实验。本以为这个对比实验不就是写一个普通的统计单词的JAVA程序嘛,后来才知道提交到云计算平台的程序结构是有一定语法结构的,并且需要在程序代码中手动设置Map Reduce的各项参数,如果不学一学Map Reduce程序的相关知识根本没法写出一个简单的Map Reduce程序,于是借阅了《Hadoop大数据处理》和《Hadoop权威指南》等书籍,学习了几天后才出步了解Map Reduce程序的基本结构和语法,设计的对比实验程序也就顺利出炉了。

普通的PC机计算能力统计了七百多万个单词整整耗费了约4分钟的时间,当用云计算来做这个运算时真正的被它的处理速度震撼到了,它竟然只用了不到50秒!第一次真正直观体验到到云计算的强大就在这一刻开始了!

后来又做了更多的实验,发现数据越大,两种处理方法的对比也就越明显,怪不得现在主流的互联网公司都要部署云计算,没有这么强大的计算能力,世界与日俱增的大数据怎么处理的过来呢!

6,附录

Map Reduce程序:

[cpp] view plaincopy
  1. import java.util.*;
  2. import java.io.IOException;
  3. import java.util.Iterator;
  4. import java.util.StringTokenizer;
  5. import org.apache.hadoop.fs.Path;
  6. import org.apache.hadoop.io.IntWritable;
  7. import org.apache.hadoop.io.LongWritable;
  8. import org.apache.hadoop.io.Text;
  9. import org.apache.hadoop.mapred.FileInputFormat;
  10. import org.apache.hadoop.mapred.FileOutputFormat;
  11. import org.apache.hadoop.mapred.JobClient;
  12. import org.apache.hadoop.mapred.JobConf;
  13. import org.apache.hadoop.mapred.MapReduceBase;
  14. import org.apache.hadoop.mapred.Mapper;
  15. import org.apache.hadoop.mapred.OutputCollector;
  16. import org.apache.hadoop.mapred.Reducer;
  17. import org.apache.hadoop.mapred.Reporter;
  18. import org.apache.hadoop.mapred.TextInputFormat;
  19. import org.apache.hadoop.mapred.TextOutputFormat;
  20. import java.text.SimpleDateFormat;
  21. public class WordCount {
  22. public static class Map extends MapReduceBase implements //map
  23. Mapper<LongWritable, Text, Text, IntWritable> {
  24. private final static IntWritable one = new IntWritable(1);
  25. private final Text word = new Text();
  26. @Override
  27. public void map(LongWritable key, Text value,
  28. OutputCollector<Text, IntWritable> output, Reporter reporter)
  29. throws IOException {
  30. String line = value.toString();
  31. StringTokenizer tokenizer = new StringTokenizer(line);  //读取文本内容
  32. while (tokenizer.hasMoreTokens()) {      //对每个MAP开始各自计数
  33. word.set(tokenizer.nextToken());
  34. output.collect(word, one);
  35. }
  36. }
  37. }
  38. public static class Reduce extends MapReduceBase implements  //Reduce
  39. Reducer<Text, IntWritable, Text, IntWritable> {
  40. @Override
  41. public void reduce(Text key, Iterator<IntWritable> values,
  42. OutputCollector<Text, IntWritable> output, Reporter reporter)
  43. throws IOException {
  44. int sum = 0;
  45. while (values.hasNext()) {
  46. sum += values.next().get();   //将所有MAP记得数相加
  47. }
  48. output.collect(key, new IntWritable(sum));  //汇总
  49. }
  50. }
  51. public static void main(String[] args) throws IOException {
  52. // TODO Auto-generated method stub
  53. Date d = new Date();
  54. long begintime = d.getTime();
  55. JobConf conf = new JobConf(WordCount.class);
  56. conf.setJobName("wordcount");
  57. //设定MAP数
  58. conf.setNumMapTasks(3);
  59. //设定REDUCE数
  60. conf.setNumReduceTasks(2);
  61. // 设定输出的key和value类型
  62. conf.setOutputKeyClass(Text.class);
  63. conf.setOutputValueClass(IntWritable.class);
  64. // 设定各个作业的类
  65. conf.setMapperClass(Map.class);
  66. conf.setCombinerClass(Reduce.class);
  67. conf.setReducerClass(Reduce.class);
  68. // 设定输入输出的格式
  69. conf.setInputFormat(TextInputFormat.class);
  70. conf.setOutputFormat(TextOutputFormat.class);
  71. FileInputFormat.setInputPaths(conf, new Path(args[0]));
  72. FileOutputFormat.setOutputPath(conf, new Path(args[1]));
  73. JobClient.runJob(conf);
  74. Date d2 = new Date();
  75. long endtime = d2.getTime();
  76. System.out.println("用时:");
  77. System.out.print(endtime-begintime);
  78. System.out.println(" 毫秒");

用于对比的统计单词程序:import java.io.File;

[cpp] view plaincopy
  1. import java.io.FileNotFoundException;
  2. import java.util.Scanner;
  3. import java.util.*;
  4. import java.text.SimpleDateFormat;
  5. public class Readtxt {
  6. public static void main(String[] args) {
  7. Date d = new Date();
  8. long begintime = d.getTime();
  9. int count = 0;
  10. try {
  11. Scanner in = new Scanner(new File("testtxt.txt"));
  12. while (in.hasNext()) {
  13. String str = in.next();
  14. splitt(str);
  15. count++;
  16. }
  17. } catch (FileNotFoundException e) {
  18. e.printStackTrace();
  19. }
  20. System.out.println("这个文本内单词的个数是:"+count);
  21. Date d2 = new Date();
  22. long endtime = d2.getTime();
  23. System.out.println("用时:");
  24. System.out.print(endtime-begintime);
  25. System.out.println(" 毫秒");
  26. }
  27. public static void splitt(String str){
  28. String strr = str.trim();
  29. String[] abc = strr.split("[\\p{Space}]+");
  30. for(int i=0;i<abc.length;i++)
  31. {
  32. System.out.println(abc[i]);
  33. }
  34. }
  35. }

云计算平台构建与实验设计相关推荐

  1. 专题论坛:云计算平台构建与实践论坛

    时间5月22日 地点:一层多功能厅B 论坛主席: 张尧学 中国电子学会云计算专家委员会副主任委员,中国大数据专家委员会副主任委员,中国工程院院士,中南大学校长   王恩东 中国电子学会云计算专家委员会 ...

  2. 构建大型云计算平台分布式技术的实践

    本文基于章文嵩博士在2014年7月18日的全球架构师峰会ArchSummit上的主题演讲<构建大型云计算平台分布式技术的实践>整理而成.演讲slides可从ArchSummit官网下载. ...

  3. 政府云计算的构建选择-刘鑫(政务云 云平台)

    随着国内阿里.青云等公有云服务商的不断发展,以及各厂家.媒体的宣传,云计算技术已经不再神秘.在政府信息化领域,政务云的建设也开始萌芽.但从企业网市场的角度来看,政府或企业是应选择使用公有云.团体云,还 ...

  4. K8S 快速入门(一)虚拟化、容器化构建云计算平台的基本概念及原理解析

    本章主题 1.认识kubernetes (k8s) 在企业中应用场景? ----- 为什么要学习K8s?? 2.云技术(云计算平台) - 虚拟化及虚拟化基本概念及原理 3.云技术(云计算平台) - 容 ...

  5. 与VMware成立合资公司 中科曙光构建云计算平台

    4月13日,中科曙光(603019)与VMware宣布成立合资公司中科睿光软件技术有限公司,并发布两款产品,包括虚拟化软件及云操作系统. "产品还没有面世,就已有大量采购订单."中 ...

  6. 中科曙光构建云计算平台

    4月13日,中科曙光与VMware宣布成立合资公司中科睿光软件技术有限公司,并发布两款产品,包括虚拟化软件及云操作系统. "产品还没有面世,就已有大量采购订单."中科曙光总裁历军对 ...

  7. 北京第一个公共云计算平台即将诞生

    本文讲的是北京第一个公共云计算平台即将诞生,[IT168 专稿]北京第一个公共云计算平台即将诞生!10月13日,北京市计算中心.Platform公司在北京召开新闻发布会,宣布双方达成战略合作,共建联合 ...

  8. 承博士:让云计算落地生根的中国云计算平台

    2010-01-22 09:48:41 [0评论 ] 金蝶中间件秉承自主创新,努力打造自主知识产权的云计算平台;金蝶Apusic云计算解决方案是为大型企业和组织提供私有云的解决方案,通过云计算中间件平 ...

  9. 云计算平台2017年盘点——真正成为新技术新应用的基础架构

    作者简介: 吴凯,北京云途腾科技有限责任公司首席运营官,具有20年的IT和软件服务行业管理经验,历任多家著名外资及民营IT企业的核心高级管理职位,是中国云计算专家委员会专家委员,中国开源云联盟及云计算 ...

  10. 云计算具有什么平台_如何搭建自己的云计算平台?

    如果你的服务器很多,或者你的钱多了烧,可以考虑搭建自己的云计算平台.下面是一些开源的云计算框架和工具 1. Enomalism (https://www.enomaly.com/) 云计算平台.Eno ...

最新文章

  1. centos及ubuntu安装 Puppeteer/rendertron所需的依赖包
  2. 12v小型电机型号大全_伊藤8KW静音柴油发电机YT8100T型号规格
  3. 食物链(信息学奥赛一本通-T1390)
  4. mysql关闭12260端口_windows 如何查看端口占用情况?
  5. python的文本编辑geny_android模拟器(genymotion)+appium+python 框架执行基本原理(目前公司自己写的)...
  6. angular学习笔记
  7. 移植基于Qt4.4-tp1的WebKit到ARM平台
  8. Axure RP9教程 入门讲解
  9. 如何清空redis中的数据
  10. R、Rstudio、Rtools的下载与安装
  11. linux常用的解压缩文件的命令
  12. 【转】你真的理解Python中MRO算法吗?
  13. MGRE ISP是路由器(思科设备)
  14. 高并发高负载网站系统架构
  15. python 中numpy.randon.seed()方法的理解和应用
  16. 快速对齐word中目录的页码|容易上手的方法
  17. Chrome被百度网页劫持
  18. Android Studio 中 为模拟器添加图片和图片路径(图文级教程)
  19. 教育邮箱申请office365激活失败处理
  20. 简单四步抓取腾讯视频MP4文件

热门文章

  1. eclipse合并svn分支方法
  2. 以mysql为例的数据字典_建立数据字典
  3. 云桌面优缺点_桌面云优缺点
  4. python与工程造价的联系_终于知道工程造价专业面试技巧
  5. PaddleNLP--UIE(二)--小样本快速提升性能(含doccona标注)
  6. Axure RP最新授权码
  7. 数模算法:模糊综合评价模型
  8. python-数据结构-大学生-航空订票系统
  9. R语言软件版本自动更新
  10. linux查看tongweb端口,东方通tongweb linux安装