如何搭建亿级并发的系统架构?

如何搭建亿级并发的系统架构?,第1张

想设计亿万级高并发架构,你要先知道高并发是什么?

面对流量高峰,不同的企业是如何通过技术手段解决高并发难题的呢?

0、引言

软件系统有三个追求:高性能、高并发、高可用,俗称三高。三者既有区别也有联系,门门道道很多,全面讨论需要三天三夜,本篇讨论高并发。

高并发(High Concurrency)。并发是操作系统领域的一个概念,指的是一段时间内多任务流交替执行的现象,后来这个概念被泛化,高并发用来指大流量、高请求的业务情景,比如春运抢票,电商双十一,秒杀大促等场景。

很多程序员每天忙着搬砖,平时接触不到高并发,哪天受不了跑去面试,还常常会被面试官犀利的高并发问题直接KO,其实吧,高并发系统也不高深,我保证任何一个智商在线的看过这篇文章后,都能战胜恐惧,重拾生活的信心。

本文先介绍高并发系统的度量指标,然后讲述高并发系统的设计思路,再梳理高并发的关键技术,最后结合作者的经验做一些延伸探讨。

1、高并发的度量指标

既然是高并发系统,那并发一定要高,不然就名不副实。并发的指标一般有QPS、TPS、IOPS,这几个指标都是可归为系统吞吐率,QPS越高系统能hold住的请求数越多,但光关注这几个指标不够,我们还需要关注RT,即响应时间,也就是从发出request到收到response的时延,这个指标跟吞吐往往是此消彼长的,我们追求的是一定时延下的高吞吐。

比如有100万次请求,99万次请求都在10毫秒内响应,其他次数10秒才响应,平均时延不高,但时延高的用户受不了,所以,就有了TP90/TP99指标,这个指标不是求平均,而是把时延从小到大排序,取排名90%/99%的时延,这个指标越大,对慢请求越敏感。

除此之外,有时候,我们也会关注可用性指标,这可归到稳定性。

一般而言,用户感知友好的高并发系统,时延应该控制在250毫秒以内。

什么样的系统才能称为高并发?这个不好回答,因为它取决于系统或者业务的类型。不过我可以告诉你一些众所周知的指标,这样能帮助你下次在跟人扯淡的时候稍微靠点儿谱,不至于贻笑大方。

通常,数据库单机每秒也就能抗住几千这个量级,而做逻辑处理的服务单台每秒抗几万、甚至几十万都有可能,而消息队列等中间件单机每秒处理个几万没问题,所以我们经常听到每秒处理数百万、数千万的消息中间件集群,而像阿某的API网关,每日百亿请求也有可能。

2、高并发的设计思路

高并发的设计思路有两个方向:

垂直方向扩展,也叫竖向扩展

水平方向扩展,也叫横向扩展

垂直方向:提升单机能力

提升单机处理能力又可分为硬件和软件两个方面:

硬件方向,很好理解,花钱升级机器,更多核更高主频更大存储空间更多带宽

软件方向,包括用各快的数据结构,改进架构,应用多线程、协程,以及上性能优化各种手段,但这玩意儿天花板低,就像提升个人产出一样,996、007、最多24 X 7。

水平方向:分布式集群

为了解决分布式系统的复杂性问题,一般会用到架构分层和服务拆分,通过分层做隔离,通过微服务解耦。

这个理论上没有上限,只要做好层次和服务划分,加机器扩容就能满足需求,但实际上并非如此,一方面分布式会增加系统复杂性,另一方面集群规模上去之后,也会引入一堆AIOps、服务发现、服务治理的新问题。

因为垂直向的限制,所以,我们通常更关注水平扩展,高并发系统的实施也主要围绕水平方向展开。

3、高并发的关键技术

玩具式的网络服务程序,用户可以直连服务器,甚至不需要数据库,直接写磁盘文件。但春运购票系统显然不能这么做,它肯定扛不住这个压力,那一般的高并发系统是怎么做呢?比如某宝这样的正经系统是怎么处理高并发的呢?

其实大的思路都差不多,层次划分 + 功能划分。可以把层次划分理解为水平方向的划分,而功能划分理解为垂直方向的划分。

首先,用户不能直连服务器,要做分布式就要解决“分”的问题,有多个服务实例就需要做负载均衡,有不同服务类型就需要服务发现。

集群化:负载均衡

负载均衡就是把负载(request)均衡分配到不同的服务实例,利用集群的能力去对抗高并发,负载均衡是服务集群化的实施要素,它分3种:

DNS负载均衡,客户端通过URL发起网络服务请求的时候,会去DNS服务器做域名解释,DNS会按一定的策略(比如就近策略)把URL转换成IP地址,同一个URL会被解释成不同的IP地址,这便是DNS负载均衡,它是一种粗粒度的负载均衡,它只用URL前半部分,因为DNS负载均衡一般采用就近原则,所以通常能降低时延,但DNS有cache,所以也会更新不及时的问题。

硬件负载均衡,通过布置特殊的负载均衡设备到机房做负载均衡,比如F5,这种设备贵,性能高,可以支撑每秒百万并发,还能做一些安全防护,比如防火墙。

软件负载均衡,根据工作在ISO 7层网络模型的层次,可分为四层负载均衡(比如章文嵩博士的LVS)和七层负载均衡(NGINX),软件负载均衡配置灵活,扩展性强,阿某云的SLB作为服务对外售卖,Nginx可以对URL的后半部做解释承担API网关的职责。

所以,完整的负载均衡链路是 client <->DNS负载均衡 ->F5 ->LVS/SLB ->NGINX

不管选择哪种LB策略,或者组合LB策略,逻辑上,我们都可以视为负载均衡层,通过添加负载均衡层,我们将负载均匀分散到了后面的服务集群,具备基础的高并发能力,但这只是万里长征第一步。

数据库层面:分库分表+读写分离

前面通过负载均衡解决了无状态服务的水平扩展问题,但我们的系统不全是无状态的,后面通常还有有状态的数据库,所以解决了前面的问题,存储有可能成为系统的瓶颈,我们需要对有状态存储做分片路由。

数据库的单机QPS一般不高,也就几千,显然满足不了高并发的要求。

所以,我们需要做分库分表 + 读写分离。

就是把一个库分成多个库,部署在多个数据库服务上,主库承载写请求,从库承载读请求。从库可以挂载多个,因为很多场景写的请求远少于读的请求,这样就把对单个库的压力降下来了。

如果写的请求上升就继续分库分表,如果读的请求上升就挂更多的从库,但数据库天生不是很适合高并发,而且数据库对机器配置的要求一般很高,导致单位服务成本高,所以,这样加机器抗压力成本太高,还得另外想招。

读多写少:缓存

缓存的理论依据是局部性原理。

一般系统的写入请求远少于读请求,针对写少读多的场景,很适合引入缓存集群。

在写数据库的时候同时写一份数据到缓存集群里,然后用缓存集群来承载大部分的读请求,因为缓存集群很容易做到高性能,所以,这样的话,通过缓存集群,就可以用更少的机器资源承载更高的并发。

缓存的命中率一般能做到很高,而且速度很快,处理能力也强(单机很容易做到几万并发),是理想的解决方案。

CDN本质上就是缓存,被用户大量访问的静态资源缓存在CDN中是目前的通用做法。

缓存也有很多需要谨慎处理的问题:

一致性问题:(a)更新db成功+更新cache失败 ->不一致 (b)更新db失败+更新cache成功 ->不一致 ©更新db成功+淘汰缓存失败 ->不一致

缓存穿透:查询一定不存在的数据,会穿透缓存直接压到数据库,从而导致缓存失去作用,如果有人利用这个漏洞,大量查询一定不存在的数据,会对数据库造成压力,甚至打挂数据库。解决方案:布隆过滤器 或者 简单的方案,查询不存在的key,也把空结果写入缓存(设置较短的过期淘汰时间),从而降低命失

缓存雪崩:如果大量缓存在一个时刻同时失效,则请求会转到DB,则对DB形成压迫,导致雪崩。简单的解决方案是为缓存失效时间添加随机值,降低同一时间点失效淘汰缓存数,避免集体失效事件发生

但缓存是针对读,如果写的压力很大,怎么办?

高写入:消息中间件

同理,通过跟主库加机器,耗费的机器资源是很大的,这个就是数据库系统的特点所决定的。

相同的资源下,数据库系统太重太复杂,所以并发承载能力就在几千/s的量级,所以此时你需要引入别的一些技术。

比如说消息中间件技术,也就是MQ集群,它是非常好的做写请求异步化处理,实现削峰填谷的效果。

消息队列能做解耦,在只需要最终一致性的场景下,很适合用来配合做流控。

假如说,每秒是1万次写请求,其中比如5千次请求是必须请求过来立马写入数据库中的,但是另外5千次写请求是可以允许异步化等待个几十秒,甚至几分钟后才落入数据库内的。

那么此时完全可以引入消息中间件集群,把允许异步化的每秒5千次请求写入MQ,然后基于MQ做一个削峰填谷。比如就以平稳的1000/s的速度消费出来然后落入数据库中即可,此时就会大幅度降低数据库的写入压力。

业界有很多著名的消息中间件,比如ZeroMQ,rabbitMQ,kafka等。

消息队列本身也跟缓存系统一样,可以用很少的资源支撑很高的并发请求,用它来支撑部分允许异步化的高并发写入是很合适的,比使用数据库直接支撑那部分高并发请求要减少很多的机器使用量。

避免挤兑:流控

再强大的系统,也怕流量短事件内集中爆发,就像银行怕挤兑一样,所以,高并发另一个必不可少的模块就是流控。

流控的关键是流控算法,有4种常见的流控算法。

计数器算法(固定窗口):计数器算法是使用计数器在周期内累加访问次数,当达到设定的限流值时,触发限流策略,下一个周期开始时,进行清零,重新计数,实现简单。计数器算法方式限流对于周期比较长的限流,存在很大的弊端,有严重的临界问题。

滑动窗口算法:将时间周期分为N个小周期,分别记录每个小周期内访问次数,并且根据时间滑动删除过期的小周期,当滑动窗口的格子划分的越多,那么滑动窗口的滚动就越平滑,限流的统计就会越精确。此算法可以很好的解决固定窗口算法的临界问题。

漏桶算法:访问请求到达时直接放入漏桶,如当前容量已达到上限(限流值),则进行丢弃(触发限流策略)。漏桶以固定的速率进行释放访问请求(即请求通过),直到漏桶为空。分布式环境下实施难度高。

令牌桶算法:程序以r(r=时间周期/限流值)的速度向令牌桶中增加令牌,直到令牌桶满,请求到达时向令牌桶请求令牌,如获取到令牌则通过请求,否则触发限流策略。分布式环境下实施难度高。

4、高并发的实践经验

接入-逻辑-存储是经典的互联网后端分层,但随着业务规模的提高,逻辑层的复杂度也上升了,所以,针对逻辑层的架构设计也出现很多新的技术和思路,常见的做法包括系统拆分,微服务。

除此之外,也有很多业界的优秀实践,包括某信服务器通过协程(无侵入,已开源libco)改造,极大的提高了系统的并发度和稳定性,另外,缓存预热,预计算,批量读写(减少IO),池技术等也广泛应用在实践中,有效的提升了系统并发能力。

为了提升并发能力,逻辑后端对请求的处理,一般会用到生产者-消费者多线程模型,即I/O线程负责网络IO,协议编解码,网络字节流被解码后产生的协议对象,会被包装成task投入到task queue,然后worker线程会从该队列取出task执行,有些系统会用多进程而非多线程,通过共享存储,维护2个方向的shm queue,一个input q,一个output q,为了提高并发度,有时候会引入协程,协程是用户线程态的多执行流,它的切换成本更低,通常有更好的调度效率。

另外,构建漏斗型业务或者系统,从客户端请求到接入层,到逻辑层,到DB层,层层递减,过滤掉请求,Fail Fast(尽早发现尽早过滤),嘴大屁眼小,哈哈。

漏斗型系统不仅仅是一个技术模型,它也可以是一个产品思维,配合产品的用户分流,逻辑分离,可以构建全方位的立体模型。

5、小结

莫让浮云遮望眼,除去繁华识真颜。我们不能掌握了大方案,吹完了牛皮,而忽视了编程最本质的东西,掌握最基本最核心的编程能力,比如数据架构和算法,设计,惯用法,培养技术的审美,也是很重要的,既要致高远,又要尽精微。

《国务院关于加快培育和发展战略性新兴产业的决定》(2010年)中列了七大国家战略性新兴产业体系,其中包括“新一代信息技术产业”。其主要内容是“加快建设宽带、泛在、融合、安全的信息网络基础设施,推动新一代移动通信、下一代互联网核心设备和智能终端的研发及产业化,加快推进三网融合,促进物联网、云计算的研发和示范应用。着力发展集成电路、新型显示、高端软件、高端服务器等核心基础产业。提升软件服务、网络增值服务等信息服务能力,加快重要基础设施智能化改造。大力发展数字虚拟等技术,促进文化创意产业发展”。

最近科技部发布《导航与位置服务科技发展“十二五”专项规划》。该规划明确了我国导航与位置服务产业跨越式发展的方向和目标,给出了突破三大核心技术:泛在精确定位,全息导航地图,智能位置服务的具体目标。

科技部《中国云科技发展“十二五”专项规划》指出:云计算是互联网时代信息基础设施与应用服务模式的重要形态,是新一代信息技术集约化发展的必然趋势。它以资源聚合和虚拟化、应用服务和专业化、按需供给和灵便使用的服务模式,提供高效能、低成本、低功耗的计算与数据服务,支撑各类信息化的应用。给出了“突破大规模资源管理与调度、大规模数据管理与处理、运行监控与安全保障等重大关键技术,研制按需简约的云操作系统与服务管理平台、EB 级云存储系统、支持亿级并发的云服务器系统、面向云计算中心网络大容量交换机,以及与其相适应的安全管理系统,形成面向区域、重点行业的各类云服务整体技术解决方案”的具体目标。

以北斗系统为主体的中国卫星导航加上云计算技术,将是新一代信息技术和智能信息产业的核心要素与共用基础。它对高端制造业、现代服务业、综合数据业等多个产业改造升级有促进作用。对传统地质调查工作来说,智能地质调查和智慧地质调查就是现代地质调查的典型标志,而导航与位置服务、云计算和网格计算等技术为智能地质调查和智慧地质调查带来了契机。下面就云计算、网格计算和导航与位置服务等技术的当前进展综述如下。

一、导航与位置服务

(一)国内外导航卫星技术发展现状

全球导航卫星系统(GNSS(GLOBAL NAVIGATION SATELLITE SYSTEM))是能够提供时间、空间基准和位置相关动态信息的天基卫星导航定位系统,是当前最具发展前景和带动性的高科技领域之一,已经成为重大空间信息化基础设施。由于GNSS系统在国家政治、军事、经济、科技等领域的重要作用,世界航天大国都在发展各自的GNSS系统,如今美国GPS(Global Positioning System)、俄罗斯GLONASS(GLOBAL NAVIGATION SATELLITE SYSTEM)、欧盟GALILEO(“伽利略”)和中国北斗卫星导航系统(BDS,BeiDou(COMPASS)Navigation Satellite System)已经被联合国确认作为全球四大卫星导航系统。此外,印度和日本基于本国的发展战略,分别发展了针对亚太地区的区域卫星导航系统IRNSS(Indian Regional Navigation Satellite System)和QZSS(Quasi-Zenith Satellite System)。

20世纪60年代末至70年代初,美国和前苏联分别开始研制全天候、全天时、连续实时提供精确定位服务的新一代全球卫星导航系统,至90年代中期全球卫星导航系统GPS和GLONASS均已建成并投入运行。2002年3月,欧盟启动GALILEO 计划。全球各定位系统参数见表1-1。

表1-1 全球定位系统参数及性能表

我国卫星导航事业起步于20世纪80年代,从陈芳允院士提出双星定位理论开始。作为我国自主研发的导航卫星系统,其发展战略分三步,第一步:2000年建成北斗卫星导航试验系统,中国成为世界上第三个拥有自主卫星导航系统的国家。第二步:北斗卫星导航(区域)系统,在2012年,建成由5颗GEO卫星、5颗IGSO卫星(2颗在轨备份)和4颗MEO卫星共14颗卫星构成的,形成覆盖亚太大部分地区的北斗卫星导航系统。第三步:2020年全面建成北斗卫星导航系统,届时将包含5颗地球同步轨道卫星、3颗倾斜地球同步轨道卫星和27颗中轨道卫星,形成优于GPS定位精度并具备短报文通讯的覆盖全球的导航定位系统。目前,北斗卫星导航系统已经完成第二步的建设,并开始为亚太地区用户提供快速定位、简短数字报文通信和授时服务。

北斗卫星导航系统提供定位、导航、授时和短报文通讯服务,分为开放服务和授时服务两种方式。开放服务是指在服务区内为任何拥有终端设备的用户提供定位、导航和授时服务,定位精度10m,授时精度50ns,测速精度0.2m/s。授权服务是指需要获得授权方可使用的服务,包括更高精度的定位服务(最高可达1m)和短报文服务。

我国卫星导航与位置服务产业按产业上中下游基本可分为:上游是导航与卫星制造、芯片、OEM板卡、模块、天线等:中游是终端集成、系统集成;下游是销售、运营、服务。2012年12月,国务院新闻办公室举行新闻发布会,正式宣布北斗卫星导航系统即日正式提供区域服务。根据中国卫星导航定位协会预测,到2015年,卫星导航与位置服务产业产值将超过2250亿元,至2020年则将超过4000亿元,届时北斗产业有望占据70%至80%的市场份额。

北斗除在定位、导航功能方面不弱于GPS外,其授时功能主要应用于金融、电力以及通信等领域。北斗授时精度能达到10ns的级别,其特有通信功能有望成为无线移动通信的重要补充,对资源调度、安全监控和防灾抗灾工作具有重要意义。

(二)国内外位置服务的发展现状

位置服务(LBS,Location Based Services)又称定位服务,LBS是由移动通信网络和卫星定位系统结合在一起提供的一种增值业务,通过一组定位技术获得移动终端的位置信息(如经纬度坐标数据),提供给移动用户本人或他人以及通信系统,实现各种与位置相关的业务。实质上是一种概念较为宽泛的与空间位置有关的新型服务业务。

2004年,Reichenbacher将用户使用LBS的服务归纳为五类:定位(个人位置定位)、导航(路径导航)、查询(查询某个人或某个对象)、识别(识别某个人或对象)、事件检查(当出现特殊情况下向相关机构发送带求救或查询的个人位置信息)。

随着智能手机的普及,美国有3/4的智能手机用户正在使用实时的LBS定位服务。Pew Inter ent& American Life Project对此进行了一项调查研究,结果表明:美国有74%的智能手机用户使用实时的LBS定位服务,来查找附近的相关信息;另外,18%的用户会使用诸如Foursquare的地理位置社交服务的“签到”来确认自己的地理位置,并分享给朋友。

美国的智能手机用户占有率由2011年的35%增长到2012年的46%,这意味着其中使用LBS服务的整体比例也在增加。此外,使用“签到”的用户量也从2011年的12%增长到2012年的18%,智能手机在美国市场的占有率越来越高。

Pew Interent&American Life Project成员Kathryn Zickuhr向Mashable透漏,长期的研究发现:位置与用户的互联网及手机使用情况无关,但是用户定位服务意识的增长已经成为人们使用数码科技产品的一部分。Zickuhr同时补充到,发现人们所处的位置,其重要性在于发现自我,发现与他人之间的社会联系。毫无异议,LBS信息服务及地理位置社交签到服务会更多地在年轻用户中普及。研究同时表明,尽管低收入人群会较少使用LBS信息服务,但却更可能成为地理位置社交服务的用户群体。

2001年12月,日本的KDDI推出第一个商业化位置服务。在KD DI服务推出之前,日本知名的保安公司SECOM 在2001年4月成功推出了第一个具备GPSONE技术,能实现追踪功能的设备。该设备也运行在KDDI的网络中。这一高精度安全和保卫服务能在任何情况下准确定位呼叫个人、物体或车辆的位置;NTTDoCoMo在i-mode套餐中提供了i-Area业务,但仅限于日常信息服务。基于高通MS-GPS系统开发的EZNaviWalk步行导航应用在日本市场大获成功,成为KDDI与NTTDoCoMo竞争的杀手级应用。

在韩国,KTF于2002年2月利用GPSONE技术成为韩国首家在全国范围内通过移动通信网络向用户提供商用移动定位业务的公司。在LBS业务创新方面,走在世界最前端的是韩国移动运营商。2004年7月,韩国最大的移动运营商SK 电讯率先推出全球首项保障儿童安全的网络定位服务—i.—Kids,用来确认孩子当前的位置和活动路径,一旦孩子的活动超出设置的范围,就会自动发出报警短信。

加拿大的Bell移动公司可谓LBS业务的市场领袖,率先推出了基于位置的娱乐、信息、求助等服务,2003年12月,Bell移动的M yFinder业务已占尽市场先机。Bell移动还不断推陈出新,2004年9月,Bel l移动发布全球首款基于GPS的移动游戏Swordfsih,利用移动定位技术,把地球微缩成了一个可测量的鱼塘。据调查,大约2/3的美国用户愿意每月支付费用来获得引导驾驶的方向和位置信息。在市场的驱动下,在E911方面处于领先地位的SprintPCS在2004年9月份推出了LBS商用服务。

在欧洲,运营商应用LBS的技术已经相当成熟,服务主要是定位与导航业务。

2012年,科技部发布了《导航与位置服务科技发展“十二五”专项规划(征求意见稿)》(以下简称《规划》),指出“导航与位置服务产业在国际上已成为继互联网、移动通信之后,发展最快的新兴信息产业之一。”《规划》明确了我国导航与位置服务产业跨越式发展的方向和目标:突破泛在精确定位、全息导航地图、智能位置服务三大核心技术;开展公众、行业及区域应用示范,为政府、企业、公众用户提供位置信息服务:直接形成1000亿以上的规模产业:初步建立5个高新技术产业化基地等。

全球导航与位置服务产业已成为继互联网、移动通信之后发展最快的新兴信息产业之一,近年来保持着50%以上的年增长势头。据统计,我国卫星导航与位置服务产业2011年产值接近700亿元,与2000年相比,增长约20多倍,占全球的7.4%。我国地理信息位置服务产业在未来的5年内将进入黄金发展期,甚至是“钻石”发展时期。

目前,北斗卫星导航系统已成为我国重大的空间信息化基础设施。以北斗系统为主体的中国卫星导航,将是新一代信息技术和智能信息产业的核心要素与共用基础。北斗卫星导航系统对高端制造业、现代服务业、综合数据业等多个产业改造升级有促进作用,“位置”作为新一代信息技术的重要元素将无所不在。

二、云计算与网格技术

(一)云计算

信息时代,新技术创新能力和新产业发展程度成为各国综合实力的衡量标准。因此,世界各国,尤其是发达国家,针对云计算的技术创新、产业发展以及人才保障都制定了一系列扶植政策和保障措施。全球云计算产业虽处于发展初期,市场规模不大,但将会引导传统ICT 产业向社会化服务转型,未来发展空间十分广阔。2011年全球云计算服务规模约为900 亿美元,2015年将达到1768 亿美元,发展空间十分广阔。

近些年,美国政府制定了一系列关于云计算的扶植政策,主要体现在以下几个方面:统一战略计划、明确云计算产品服务标准;加强基础设施建设,制定标准、鼓励创新:加大政府采购,积极培育市场;构建云计算生态系统,推动产业链协调发展。由当前的现状分析,美国政府将云计算技术和产业定位为维持国家核心竞争力的重要手段之一。美国政府对云计算产业的扶植采用深度介入的方式,通过强制政府采购和指定技术架构来推进云计算技术进步和产业落地发展。

2012年9月,欧盟委员会宣布启动一项旨在进一步开发欧洲云计算潜力的战略计划,旨在扩大云计算技术在经济领域的应用,从而创造大量的就业机会。欧盟委员会的云计算战略计划中的政策措施包括:筛选众多技术标准,使云计算用户在互操作性、数据的便携性和可逆性方面得到保证,到2013年确定上述领域的必要标准:支持在欧盟范围内开展“可信赖云服务提供商”的认证计划;为云计算服务,特别是服务的SLA 制定安全和公平的标准规范;利用公共部门的购买力(占全部IT支出的20%)来建立欧盟成员国与相关企业欧洲云计算业务之间的合作伙伴关系,确立欧洲云计算市场,促使欧洲云服务提供商扩大业务范围并提供性价比高的在线管理服务。欧盟委员会制定的云计算战略计划的目标是:到2020年,云计算能够在欧洲创造250万个新就业岗位,年均产值1600亿欧元,达到欧盟国民生产总值的1%。

2010年8月,日本经济产业省发布的《云计算与日本竞争力研究》报告指出:政府、用户和云服务提供商(数据中心,IT厂商等)应利用日本的优势,如在IT方面的技术优势,并通过分析云计算的全球发展趋势,解决云计算演进和发展过程中的挑战和关键问题,构建一个云计算产业发展的良好环境。通过开创基于云计算的服务开拓全球市场,在2020年前培养出累计规模超过40万亿日元的新市场。

2011年9月,韩国政府制定了《云计算全面振兴计划》,其核心是政府率先引进并提供云计算服务,为云计算开发国内需求。韩国通信委员会(KCC)报告指出:2010~2012年间,韩国政府投入4158亿韩元预算来构建通用云计算基础设施,将电子政务中使用的1970台利用率低下的服务器虚拟化,逐步置换成高性能服务器,并根据系统服务器资源使用量实现服务器资源的动态分配。

我国云计算服务市场处于起步阶段,云计算技术与设备已经具备一定的发展基础。我国云计算服务市场总体规模较小,但追赶势头明显。据Gartner估计,2011年我国在全球约900 亿美元的云计算服务市场中所占份额不到3%,但年增速达到40%,预期未来我国与国外在云计算方面的差距将逐渐缩小。

大型互联网企业是目前国内主要的云计算服务提供商,业务形式以IaaS+PaaS形式的开放平台服务为主,其中IaaS服务相对较为成熟,PaaS服务初具雏形。我国大型互联网企业开发了云主机、云存储、开放数据库等基础IT 资源服务,以及网站云、游戏云等一站式托管服务。一些互联网公司自主推出了PaaS云平台,并向企业和开发者开放,其中数家企业的PaaS平台已经吸引了数十万的开发者入驻,通过分成方式与开发者实现了共赢。

ICT 制造商在云计算专用服务器、存储设备以及企业私有云解决方案的技术研发上具备了相当的实力。其中,国内企业研发的云计算服务器产品已经具备一定竞争力,在国内大型互联网公司的服务器新增采购中,国产品牌的份额占到了50%以上,同时正在逐步进入国际市场;国内设备制造企业的私有云解决方案已经具备千台量级物理机和百万量级虚拟机的管理水平。

软件厂商逐渐转向云计算领域,开始提供SaaS 服务,并向PaaS领域扩展。国内SaaS软件厂商多为中小企业,业务形式多以企业CRM 服务为主。领先的国内SaaS 软件厂商签约用户数已经过万。

电信运营商依托网络和数据中心的优势,主要通过IaaS服务进入云计算市场。中国电信于2011年8月发布天翼云计算战略、品牌及解决方案,2012年提供云主机、云存储等IaaS服务,未来还将提供云化的电子商务领航等SaaS 服务和开放的PaaS服务平台。中国移动自2007年起开始搭建大云(Big Cloud)平台,2011年11月发布了大云1.5版本,移动MM等业务将在未来迁移至大云平台。中国联通则自主研发了面向个人、企业和政府用户的云计算服务“沃·云”。目前“沃·云”业务主要以存储服务为主,实现了用户信息和文件在多个设备上的协同功能,以及文件、资料的集中存储和安全保管。

IDC 企业依托自己的机房和数据中心,将IaaS作为云服务切入点,目前已能提供弹性计算、存储与网络资源等IaaS服务。少数IDC企业还基于自己的传统业务,扩展到提供PaaS和SaaS服务,如应用引擎、云邮箱等。

为加快推进云计算技术创新和产业发展,科技部于2012年下发了《中国云科技发展“十二五”专项规划》,在规划中,提出了重点突破的关键技术。这些关键技术也是该领域十二五技术发展趋势。

这些关键技术主要包括云计算体系结构、计算、存储、管理、应用支撑、海量数据处理等共性关键技术。如支持万级并发任务的云服务器节点技术,支持十万量级节点有效交互的数据中心互联网络结构与通信栈技术,支持身份认证、加密与隔离的硬件安全技术:大规模分布式数据共享与管理技术;资源调度及弹性计算技术;用户信息管理技术,运行管控技术,安全管理与防护技术;应用服务开发和运行环境技术,应用服务交互技术:云计算数据中心绿色节能技术等。

(二)网格计算

从20世纪90年代中期开始,美国自然科学基金会、NASA 等组织、部门以及美国军方都相继投入大量资金用于各自领域内的网格研究项目。到目前为止美国政府用于网格技术基础研究经费已达5 亿美元。NPACI(National Partnerships forAdvanced Computational Infrastructure)Grid 是由美国自然科学基金会(NSF)资助的网格研究项目。其目的是建立一个能够满足NPACI科学计算需求的先进计算机体系。其运作方式是:研究人员首先从试验或是数字图书馆收集数据,然后通过运行计算网格上的模型来对数据进行分析,并通过Web 实现这些数据的共享,最后将分析结果通过数字图书馆发布。NPACI Grid 由一系列分布于各个资源站点的硬件资源、软件资源、网络资源及数据资源构成。这些站点主要包括圣迭戈超级计算中心(San Diego Supercomputer Center,SDSC),得克萨斯先进计算中心(Te Axdvaanceds Computing Center,TACC)及密歇根大学(University of Michigan)。目前这些资源站点已经安装了集成的网格中间件集合和先进的NPACI应用软件。

TeraGrid 项目于2001年8月由美国NSF 支持启动,旨在构建全球范围最广、功能最全面、支持开放式科学研究的分布式网格计算体系。该体系能够使全美国成千上万的科学家通过全球最快的研究网络共享计算资源。2001年8月资助5300万美元支持四个站点:国家超级计算应用中心(NCSA)、圣迭戈超级计算机中心(SDSC)、Argonme国家实验室(ANL)和高级计算机研究中心(CACR)。2002年10月,匹兹堡超级计算中心加入,NFS追加35万美元增补资金。2003年9月TeraGrid又增加了四个站点,NSF相应地增加了10万美元。TeraGrid主要的合作伙伴是IBM、Intel和Qwest通信。到2004年为止,TeraGrid将向用户提供20TeraFlop(万亿次浮点运算/秒)的计算能力,1PetaByte(250)的数据存储能力,高分辨率的可视化环境,以及一系列支持网格计算的软件工具包。TeraGrid的所有资源将通过一个具有40Gigabits/s交换能力的网络相连。

Globus是目前全球最有影响的网格研究计划之一,主要项目成员有美国阿贡国家实验室、芝加哥大学、南加州大学,IBM 公司现在也参与其中。其主要研究任务分4个方面:网格基础理论和关键技术研究,软件及工具的开发,试验平台的建立,网格应用的开发。

根据Globus的规划,在网格计算环境下,所有可用于共享的主体都是资源,如计算机、高性能网络设备、昂贵的仪器、大容量的存储设备、各种科学数据、各种软件等是资源,分布式文件系统、数据库缓冲池等也可以理解为资源。实际上,只要在网格计算环境中对用户存在利用价值的东西都可理解为资源。Globus 实际上关心的不是资源的实体本身,而是如何把资源安全、有效、方便地提供给用户使用。所以从共享的角度考虑,Globus将主要研究重点放在了资源的访问接口或访问界面上。目前,Globus 把在商业计算领域中的Web Service技术融合进来,希望能够对各种商业应用提供广泛的、基础性的网格环境支持,实现更方便的信息共享和互操作。

网格研究已被列入国家“863”计划。“十五”期间我国将研制具有每秒4万亿次运算能力、面向网格的高性能计算机;建设一个具有5万~7万亿次聚合计算能力的高性能计算环境即“中国国家网格”(CN-Grid):开发一套具有自主知识产权的网格软件;建设若干个科学研究、经济建设、社会发展和国防建设急需的重要应用网格;形成若干网格技术的国家标准,参与制定国际标准;使我国在网格技术方面达到世界先进水平,大幅度地提高我国的综合国力和国际竞争能力。

中科院计算所正在开展名为“织女星网格”的研究。其核心思想是基于宽带和无线网络,让现在位于一台计算机内的各种部件都能独立上网,共享资源和服务。计算所将重点研究通用服务、辅助智能、全局一体、自主控制4项技术,并研究开发出面向网格的服务器、路由器、操作系统、协议等具体产品和技术。

中国教育科研网格ChinaGrid计划是教育部“十五”211工程公共服务体系建设的重大专项。其科研网格支撑平台由华中科技大学、清华大学、上海交通大学、北京航空航天大学等联合开发,它基于W eb服务的参考架构,达到国际先进水平。该支撑平台利用中国教育科研网和高校的大量计算资源和信息资源,实现资源的有效共享,消除信息孤岛,提供有效的服务器,形成高水平、低成本的计算服务平台。

中国教育科研网格将充分利用中国国家教育科研网CERNET和高校的大量计算资源和信息资源,开放相应的网络软件,配合网络计算机的使用,将分布在教育和科研网上自治的分布异构的海量资源集成起来,实现CERN ET环境下资源的有效共享,消除信息孤岛,提供有效的服务,形成高水平低成本的服务平台,将高性能计算送到教育和科研网用户的桌面上,成为国家科研教学服务的大平台。

三、新一代信息技术在野外地质调查工作应用需求

.1 从传统走向数字化和智能化是野外地质调查工作的需求

导航与位置服务是指基于导航定位、移动通信、数字地图等技术,建立人、事、物、地在统一时空基准下的位置与时间标签及其关联,为政府、企业、行业及公众用户提供随时获知所关注目标的位置及位置关联信息的服务。对带动现代地质调查行业升级改造具有重要促进作用。随着基础设施的完善和技术的进步,“位置”作为新一代信息技术的重要元素将在野外地质调查中发挥重要作用。

野外地质调查工作通常在艰险地区开展,很多地方具有一次性到达的性质,野外一手获得的信息就极为宝贵了。如果在野外观察,受限于个人的能力和观察环境的限制,可能就会漏掉极为有用的信息,导致失去发现“矿”的机会。其次,野外工作环境艰苦、学科交叉多、找矿难度大,通过现代化工具实现野外地质工作部署、专家会诊、远程指导,管理监控等方面的需求越来越迫切。

为有效在野外一线获取地质数据,使其最大化和准确,需要利用北斗系统为主体的中国卫星导航的特点与优势,与野外地质调查充分结合,搭建野外地质调查北京(中国地质调查局)、大区(华东、华北、西南、西北、东北、中南)、地调院或地勘单位(省级)及野外人员4级结点组网体系;以网格GIS技术为基础,研究支撑中国地质调查局万级用户的位置信息搜索、智能推送和按需服务技术、通过基于BDS/GPS的野外地质调查智能位置服务系统与平台的建设,为地质人员在野外地质调查主动地推送当前位置相关地质、矿产、地球化学、地球物理、区域预警信息、区域人文地理背景信息等综合信息,为智能地质调查和智慧地质调查的实施提供空间和信息化基础设施的具体依托。

2.加强对野外地质调查人员的工作、管理服务能力的需要

中国地质调查局组织实施国家“青藏高原地质矿产调查与评价专项”,开展主要成矿带大比例尺区域地质矿产调查和矿产资源远景评价工作,通过面积性的地质、化探、物探工作,提高基础地质调查程度,查明成矿地质背景、成矿条件和矿产资源潜力,圈定找矿靶区,进行矿产开发等人类活动对环境破坏的修复试验,对于充分发挥青藏高原资源优势,缓解我国资源“瓶颈”制约,促进区域经济可持续发展,提高边疆民族生活水平和巩固边防具有重要的意义。

现在每年都有大量地质技术人员涌入艰险的野外一线,实施国家基础性、公益性地质调查任务。由于野外地质调查工作具有移动性大、单独工作(或2~3人一组)、分散性强等特点。我国现阶段我国基础地质调查工作的重点在西部地区,多为移动通讯和地面通讯网络的盲区,野外地质调查工作进度和动态、野外工作的应急救援主要是采用卫星电话的联络方式,其推广应用受自动化程度低和成本高的限制,很难满足野外地质调查移动目标的动态跟踪与导航。急需通过高技术手段提高野外地质调查的工作精度和安全保障,完成国家基础性地质调查队伍精兵加现代化的转型要求。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/384463.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存