分类: 云计算

云计算

以智能原生为基础建设再造生产力

从科技抗疫到新基建,我们看到一场以智能化为趋势的数字化转型革命已经到来。

不同规模、不同业务模式的百行百业,既要面对技术更迭带来的冲击和影响,更要乘风破浪,从中寻找转型升级的机会。

智能化变革以智能原生为原点,以高效的基础建设,助力上层业务决策结果更精准、流程更高效,成为不可低估的新兴生产力。

从数字化到智能化 产业变革正在发生

过去半个多世纪,数字经济的迅速发展解决了社会经济中“看不见”的问题,数据代表着人类对世界认识的广度。

但是人类还远远没有“看透”世界,新一轮以5G、IoT、区块链、数字孪生等为代表的前沿技术,正逐步揭开数据蕴藏的巨大能量。

不过,当庞大的数据成为人类社会的核心资源,蕴含巨大价值的同时,也给数字基础设施带来了前所未有的挑战。

据IDC《数据时代2025》报告预测,随着5G、物联网技术的发展,数据正在呈海量式爆发,2025年将达到175ZB的惊人规模。

面对如此庞大的数据量,人们对智能化的需求正在日益增长。

我们认为,ICT基础设施在人工智能产业中地位将愈加重要,未来更加可靠的网络、更快速的存储以及更高效的计算设备,AI芯片,类脑芯片及边缘计算设备的需求量都将激增。

认知智能时代到来,智能技术将持续得到提升,应用场景将更为丰富;此外人工智能与5G、IoT、VR/AR技术相结合,将赋予更大的想象空间。

与此同时,随着“新基建”的火热开展,为ICT基础设施更具智能创造了巨大的发展契机。

我们认为,实现智能需要以数据、算力、算法三大要素为支撑。

在ICT基础设施上实现算力按需调度、数据顺畅流淌、算法敏捷高效,并通过智能基础设施、智能云平台、智能安全、智能运维、智能数据平台、智能算法六大核心技术能力,支撑智能应用部署,进一步推动智能化与百行百业业务场景的深度融合。

“智能原生”将成为智能时代的新生命力

我们先回顾一下云原生的发展。

云起步于2006年,当时百行百业普遍处于烟囱式、单点式的IT架构建设处境。

随着云的兴起,百行百业在架构设计之初即向云而生(即云原生),其本质上是在追求简洁、高效和扁平。

如今,我们看到了随着智能化技术的成熟,智能原生将为用户的技术架构带来新的生命力。

预计到2025年,智能将成为基础架构与生俱来的能力。

而当基础架天然具备了AI计算和AI分析的服务能力,也就不需要再考虑传统架构是不是具备对AI的兼容,它将成为基础建设高效、敏捷的生产力,也将把人们从繁琐复杂的工作中解脱出来,让人们有更多精力思考业务、人文层面的事情。相信到那时候,就没有人会再谈论传统架构了。

AI in ALL 使能智能未来

作为数字化解决方案领导者,紫光旗下新华三集团正在通过“AI in ALL”智能战略作为实现“智能原生”的起点。

从赋予基础架构智能,到产品和解决方案全面嵌入智能,再到助力客户的业务与运营更具智能,进而迎接“智能原生”的到来。

在智能战略之下,*具行动力的数字大脑计划从2019年首次发布以来,以智能化为核心帮助近2000个客户构建了数字大脑,加速他们的数字化转型。

2020年,“数字大脑计划”再次进行了升级,我们希望能够统一云计算和智能服务能力,让百行百业用户拥抱几乎无处不云,无处不智能的新时代。

具体而言,新华三除了继续将智能技术全面应用于数字基础设施、主动安全及统一运维中,还将业务能力平台全面升级为云与智能平台。

具体升级包括在网络方面,新华三已经具备网络精细数据的处理能力,并且可以做到“自诊断网络”和“自隔离网络”,让网络实现自动化、自优化和自主化。

在计算方面,面向AI计算而生的GPU服务器推出了各种衍生款型,为用户提供强大的智能算力。

%title插图%num

在存储方面,新华三的存储设备结合InfoSight 智能云管理产品,将已知的各种问题同步到未出现问题的设备以预防风险发生,同时对未来风险进行预判。

在云与智能平台上,针对计算虚拟化、存储虚机化和网络切片等资源的调度上引入AI的算法,全面具备对于基础设施的智能管理能力……

2020年,我们要将智能推向所有的产品、解决方案以及应用中。

从智能战略到数字大脑计划,从智能数字平台到智慧应用生态,新华三集团将融合5G、边缘计算、人工智能等前沿技术,实践落地更多智能化应用。

仰望星空,脚踏实地,面对即将来临的智能时代,新华三集团将秉承数字化解决方案领导者的使命,不断使能客户智能化,驱动未来数字世界的智能原生建设与发展。

财报上新不久的Mobvista,还内藏何种“惊艳”?

就在不久前,Mobvista刚刚发布了2019年的财报数据。我们观察到其程序化广告收入已高达22.3亿元,同比增长40.8%;经调整后EBITDA达3.6亿元,同比增长高达19.5%……试想仅仅上市一年,Mobvista在增长放缓的大环境下依然能够取得如此“高光时刻”,可见其发展势头不容小觑。

在收入方面大举“开源”的同时,Mobvista还运用技术手段有效“节流”。财报中提到,过去一年汇量科技的程序化业务收入显著增長的同時,程序化业务的服务器成本下降了10.8%,服务器成本占程序化广告业务收入的比例,从2018年的6.6%降至2019年的4.2%。

这归功于汇量科技独立研发的技术中台——尤其是其中的弹性集群管理平台SpotMax,在过去一年中的深度应用。在程序化广告业务的长期实践中,Mobvista已经将大数据计算引擎(EnginePlus)、大规模机器学习算法平台(MindAlpha)、数据管理平台(Datatory)和云服务器弹性集群管理平台(SpotMax)沉淀为可复用、共享和迭代的技术中台。技术中台提供的大数据实时计算的能力,为支持广告精准定向和展示向安装的转化率持续提升,推动程序化业务的规模化增长提供了技术基础。而技术中台更为直观的作用是实现云服务器成本的集约。

SpotMax背后的云服务成本之观
记得初识SpotMax还是在去年云栖大会与阿里云联合发布之时,据悉在联手打磨此款服务的过程中,阿里云弹性计算团队会根据Mobvista的反馈对自身弹性集群作相应的改进提升;而Mobvista方面则是将自身的产品与解决方案更好融入阿里云的解决方案库中,并定期向阿里云方面的架构师与销售团队同步,便于一同将价值传递给用户。

————————————————
%title插图%num

盘点服务始末,我们发现,SpotMax始于Mobvista在利用Spot Instance优化云端成本上积累的一定经验,为的就是帮助其他云的使用者找到成本可控的大规模云端系统实践的可行之路。“我们更适合将SpotMax定义为一种体系,即利用弹性计算资源进行云端系统成本优化的工具,它包含产品和解决方案等诸多层面,甚至可以被理解为一种生态,可做到因需求不同来选择具体的组成部分并完成既定目标。”Mobvista技术副总裁兼首席架构师蔡超对此总结道。

如今SpotMax解决方案和服务主要包含MaxArch、MaxChaos和MaxGroup三部分。其中MaxArch是一种基于架构的咨询服务,主要是Mobvista为用户提供针对现有架构的评估以及向云上迁移的实践建议与有关云原生的架构设计等;而MaxChaos则是基于开源软件与Mobvista自研的诸多服务框架之上,提供可以帮助用户持续提升自身系统高可用性的混沌工程服务;*后MaxGroup则可被简单定义为Spot Instance集群管理服务,主要通过集群防退化、集群推荐以及基于强化学习的混合机群负载均衡等助力用户进一步降低云上系统的成本。总结一句,SpotMax寄希望于云计算平台得天独厚的弹性计算基础能力,以此搭建一套实时竞价和调度管理系统,达成按需购买与抢占实例低价的双重优势。

读到此处,想必各位看官对刚才提出的“双重优势”一头雾水,所以在细聊之前,晶少还是先针对性介绍下目前用户购买使用云服务的几种方式以及与之产生的成本关联吧!如今用户购买使用云服务会有这样几种形式,*常使用的当属按需实例,即随买随用、按需获取模式,这种方式虽然省去了提前规划的复杂性,但也是*昂贵的使用方式之一,如果不是财大气粗的企业用起来恐怕还是吃不消的。

另外一种则是预留实例,即用户通过预定用量和时长来享受一定折扣的服务,但缺陷比较明显,那就是不够灵活弹性,在这个“天下武功为快不破“的时代显然也是使用起来寸步难行。而以SpotMax服务为代表的则是第三种方式,也是目前Mobvista业务中在线系统正在大规模使用的,一度被阿里云称之为抢占实例,顾名思义就是“想用就要抢”的理念,这也是目前提出的一种*大化购买碎片计算力资源来优化云上系统成本的做法。

如果从技术角度考量这几种形式,可以这样被理解:常用的按需获取其实主要利用了云计算的弹性拓展特性,因为此过程中云服务提供商需要具备让用户可以随时随地获取被释放计算资源的能力,所以就不得不预留大量的计算资源,竞价实例可以被认为是云服务提供商利用闲置计算资源推出的实例,其价格会根据供需情况实时变化,但与按量实例相比较其价格优势就非常明显了。

可尽管竞价实例的价格通常是按需实例的10-20%,但遇到出价低于市场价或是资源紧张的情况就会出现被回收,也就是关于竞价实例中存在的中断机制。基于此为了保持系统服务的可持续性和服务水平,用户就需要在竞价实例被回收时及时作出应对系统集群容量变化的有效举措 ,通常情况下此过程中需要结合一些Spot集群管理软件,帮助维持集群容量的动态稳定,这样就可做到在不影响可用性的前提下实现系统成本的大幅度节省。

基于此蔡超表示,SpotMax就是源于该理念所达成的设计实践,目前已经在Mobvista内部同时支持了三条主要业务线的运维工作,主要侧重大量抢占实例支撑的在线系统,辅以其他优化措施实现了单位请求成本节约70%。

关于未来的技术创新迭代,他表示其实*初设计SpotMax时就已经考虑到要积*有效应对用户不同场景中千差万别的需要以及以后层出不穷的刚性需求,所以在架构上着力采用了插件的模式,即可根据用户场景不同来选择相应的插件使用。“目前Mobvista针对容器化场景的插件已经被提供,另外某些定制化创新性质的插件正在被研发中。尽管目前SpotMax依然处于早期的推广使用阶段,但从反馈的数据中我们发现针对目前试用用户的系统计算资源成本至少可降低一半左右。”

云原生架构实践促Mobvista“云端俭省之道”
如此说来,SpotMax是云上系统成本降低的刚需产物不假,但我们目前所经历的云上系统成本居高不下又根源于何呢?其实很重要的一方面是计算资源的成本使然。所谓计算资源成本,简单来说就是我们熟悉的云端虚拟机、数据存储、流量使用以及云端资源所涉及的诸如消息队列服务、机器学习等功能性服务之类;如今随着企业上云的规模化与产业化差异性越发鲜明,需求的碎片化趋势也逐渐加剧,如何有效降低运成本就顺理成章变成用户关注的大问题,所以也就不难理解SpotMax的应运而生了。

对此晶少觉得,其实降低成本*直观有效的办法就是系统可以做到对需求量完成自动伸缩以及合理使用服务平台的收费模式,在此过程中无论是*基本的CPU利用率还是数据存储选择的范围等都会被纳入考察范围之内,进一步来说如果想要达成此种弹性的系统要求,架构的合理性*对是关键所在。“在利用云特点的基础之上采用更加细腻有效的伸缩方式,比方说微服务架构让系统伸缩力度更颗粒性。毕竟复杂单体系统伸缩会需要更大而昂贵的计算资源,繁杂的人力支持更是不可缺少。”蔡超补充道。

具体来说,通过架构调整来完成系统伸缩力度更细化,其实本质上是促成架构更高效适用云平台的契机之一,即利用云平台特性让服务集群更好地应对竞价实例,减少中断对服务集群自身容量的影响并稳定容量,例如采取*基本的机器保障支持利用率、根据数据属性选择合适的存储方式以及线上集群自动伸缩等。

说到此处不得不提及一点,其实Mobvista在投身SpotMax研发之前自身也经历过促成云成本降低的艰难探索,无论是尝试低CPU利用率机器的合并淘汰,还是对数据存储的优化以及购买Reserved Instance预留实例等,同时也是蔡超在加入Mobvista之后秉承all in cloud的前提不断跟进的重要任务之一。

众所周知,Mobvista旗下拥有程序化广告平台,移动程序化广告的具有请求量巨大的特性,峰值达到单日近千亿次,同时对于响应时间也有着非常苛刻的要求。晶少了解到通常程序化一般对于响应时间的要求是50-100ms,在这种苛刻的条件下要采用竞价实例的话势必要充分提高系统的弹性,一来二去,展开Mobvista架构向微服务为代表的云原生构架迁移就被提上了蔡超的日程。

通过介绍,晶少知晓早年间Mobvista的几大业务系统都是部署在云端较为庞大的单体系统,其中*大的瓶颈则是需要横向扩展时不免要整体复制,过程中必然需要更多的计算资源。基于此Mobvista方面首先开始了从云单体系统向云原生架构的改造,构建微服务成为*步,该实践需要考量的是面向容错、恢复和混沌工程,以此建立一个高可用的微服务架构使云上系统更具弹性,以便更好利用资源。

深入提及架构改造,蔡超明确,云原生实质是帮助企业高效运用云平台,以便更快速开发和发布应用的一些技术方法及理念。但在此尝试中由于基础设施的改变需要相应架构调整去适配,所以本地系统直接向云上迁移是完全不可行的,不但使用艰难还会造成巨大的成本浪费。“另外更容易被忽视的一点,企业尝试云原生时往往停留在系统建设层面,而忽视了与其配套的开发团队甚至是工作方式的相关调整,这方面确实需要很长一段时间来解决,不能一蹴而就,这也算是Mobvista的一些宝贵的实践心得。”

如今Mobvista已经在架构方面完成了微服务的改造,未来还将紧跟技术趋势加大对容器化、服务网格等技术的引入。“我们希望能够提升基础设施的抽象层次,做到从虚拟网络到容器网络,再到服务网络,如此就可以大大提升大规模与复杂系统的可维护性。更深入来讲,无论是目前的推广、变现还是数据洞察业务,抑或是云端架构改造所带来的成本优化,本质上为企业创造价值并构建工具生态的想法是需要持续被坚持的,也是Mobvista的大事儿。”蔡超说。
————————————————

探索网络虚拟世界的“藏宝图”!网络空间地图技术与市场分析

随着全球信息化的发展,网络已经覆盖人类生产和生活的诸多领域。特别是近年来,5G网络、大数据、人工智能(AI)、物联网等新兴信息技术迅速普及和推广,进一步推动物理空间的信息化和网络化。网络空间(Cyberspace)逐渐成为物理空间的全息映射,成为继“陆海空天”后的第五大疆域。2016年12月发布的《国家网络空间安全战略》指出,网络空间由互联网、通信网、计算机系统、自动化控制系统、数字设备及其承载的应用、服务和数据等组成。网络空间所承载的分布广阔、数量庞大的信息资产,蕴藏着无数“瑰宝”,正不断激发人类的探索欲望。

没有网络安全就没有国家安全。2016年4月19日,*总书记在“网络安全和信息化工作座谈会上的讲话”中强调,“感知网络安全态势是*基本、*基础的工作。要全面加强网络安全检查,摸清家底,认清风险,找出漏洞,通报结果,督促整改”。由于网络空间包含的信息量巨大,结构复杂,探索网络空间迫切需要一个与百度地图、高德地图类似的工具,将网络世界中的“一草一木”有效标识出来。基于网络空间地图提供的方向标,人们便可按图索骥,快速寻觅到“宝藏”。

%title插图%num

网络空间地图的概念和特点

网络空间地图是一种基于系列测绘技术, 反映网络空间中各种信息实体的地理位置、逻辑关系、通联结构及变化状态的可视化地图。狭义的网络空间地图主要基于IP地址或物理节点展示网络对象与地理坐标的对应关系,强调其物理空间的归属性;而广义上的网络空间地图则更加立体,具有多层次、多维度特点,可以将传输网、IP网、设备组成、系统服务、业务通联、安全动态乃至社交热点等跨越物理域、逻辑域、认知域的信息进行有机组织、分层叠加投射至地图之上。

那么,对于用户来说,什么是网络空间地图应该具备的优秀特质呢?类似物理空间地图效果,网络空间地图也应具备准确、高清的特点,能够准确标识出信息资产的地理属性、网络属性、应用属性乃至社会属性,拥有良好的人机接口,面向不同用户呈现信息资产的多维画像。此外,由于网络空间瞬息万变,信息资产*易受到外部条件的触发而发生改变。静态信息无法反映出信息资产的多变状态,有时甚至会造成对信息资产客观情况的扭曲,所以优秀的网络空间地图还应具物理空间地图所不具备的时效性和动态性,及时、客观地反映出信息资产的*新特征。

%title插图%num

网络空间地图依托的实现技术

人们主要通过网络空间测绘手段来得到网络空间地图。网络空间测绘的概念*初源自物理空间的地理测绘学,专门指对地理环境中实体对象的空间结构特征进行概括和抽象,并对其空间位置进行测量和绘制。网络空间测绘是地理测绘在网络空间的拓展,主要指的是对网络空间中各种信息资产的地理位置信息和网络信息进行主动或被动方式的探测、采集与分析,并以此来建立设备的相互关系索引,描绘网络逻辑连接关系,从而帮助用户掌握网络空间中各种信息资产的实时动态。

网络空间测绘使用到的技术通常包括网络探测扫描技术、协议分析技术、IP定位技术、拓扑测量技术、大数据分析与存储技术、网络可视化技术和漏洞扫描验证技术等。

(一)网络测量和协议分析技术

网络空间有约40亿IPv4地址空间和几乎无限多的IPv6地址空间,这些地址分布于全球各地,是网络通联和信息服务的基础,与IPv4/IPv6地址相对应的是域名地址,全球已注册域名超过3亿,并以每年超1千万的数量增长。如此庞大的IP地址空间和域名空间是网络空间组成节点的“门牌号”,需要大量探针基于这些“门牌号”去访问、识别和记录海量节点的信息要素。

网络探测和协议分析是探针的关键技术,其工作过程通常分为三个阶段:

一是利用已知地址集或通过地址推测算法,基于TCP/IP协议快速探测目标IP和端口服务的存活性;

二是基于协议特征或应用服务特征(指纹库),与目标端口服务进行尝试交互,识别服务类型和基本属性(例如,设备型号、操作系统类型、应用软件版本等);

三是基于协议深度交互,获取目标深层信息(例如,组件结构、漏洞信息、归属信息等)。

因此,网络探测和协议分析是获取网络空间信息资产的主要手段,其能力直接影响网络空间地图的全面性和准确性。

(二)漏洞扫描和验证技术

漏洞扫描和验证是基于漏洞特征或机理,主动开展信息采集和协议交互的漏洞识别技术,是发现威胁进而及时处置威胁的重要技术。对于新爆发的漏洞,传统漏洞扫描主要在更新规则策略后对指定资产开展一次全新的漏洞检查,这对于局域网或小范围的网络较为有效,但对国家范围或互联网范围的节点进行漏洞排查则过于缓慢。

网络空间地图对漏洞的检查充分利用了大数据能力,通过提前获取系统特征,在新漏洞爆发时先对历史数据进行快速比对,然后利用大量分布式节点对筛选出的可疑目标进行快速漏洞验证,可以确保在1-Day内大范围摸清漏洞的分布与影响。

(三)拓扑测量技术

网络拓扑即网络互联结构,如同地球上四通八达的交通图,需全面监测和有效掌握。全球互联网由一个个自治系统(Autonomous System,简称AS)连接而成,每个自治系统在全球有一个唯一编号(ASN),对应某个管理机构控制下的路由器和网络群组,即分支众多的路由节点和数量庞大的IP地址。这些AS自治域、路由节点、IP地址组成了全球互联Internet网络拓扑。

全球目前共分配17.6万多个AS自治系统号,遍布240个国家和地区。其中,中国所分配的AS自治系统号码数超过2800个。

网络空间拓扑测量主要基于Ping、Traceroute、SNMP、ARP、DNS和NETCONF等探测技术,以及公开信息采集和开源情报辅助等手段,对全球及指定国家、区域、网段进行拓扑探测和绘制,构建包括AS级、POP级、路由器级、IP接口级的网络拓扑,支撑实现对网络拓扑的分层、分区域显示。拓扑测量需要一定规模的分布式节点群对全球互联网开展持续监测,其中算法复杂,数据存储与运算量大,还有不少技术需不断深化。

(四)IP定位技术

世界各国的IP地址空间由全球互联网名称与数字地址分配机构(ICANN)进行分配,目前IPv4空间已于2011年分配完毕,而IPv6地址空间足够各国长期使用。受制于路由器部署位置、路由表的信息量和更新频率,*大多数情况下,各国的IP地址分配会与地理区域相关。

因此,采集IP地址与地理位置对应关系后,可基于IP地址查询其所对应位置,或基于地理区域查询包含的IP地址集合。IP定位库将网络空间地址与地理空间地址建立了关联,对统计、监管甚至网络犯罪侦查等应用领域非常重要,也是网络空间地图所依赖的重要资源库。

国内外有专门的厂商基于路由探测、情报分析等手段采集IP定位信息,并以数据服务方式提供用户使用。出于隐私考虑,这些IP定位信息精度相对较粗,很难达到街道级别,但可以适应大部分应用情况,例如,网络客户地理位置统计、城市内IP资产统计等。

更高精度的IP定位,需要基于主被动采集、WiFi热点采集、GPS关联、多点定位等多手段融合获得精准数据,应在法律允许范围内开展相关业务。

(五)知识图谱分析

多源网络空间资产数据的语义模型构建、语义数据采集和存储,在此基础上建立网络空间核心资产的知识图谱,形成基于知识图谱的网络空间资产指纹库;同时构建异构多源的网络空间资产数据上下文的标准化描述、语义建模及上下文语义查询和推理引擎,实现基于上下文语义的精确资产数据源搜索,定位和网络资产数据源的动态绑定机制。

核心在于对多模、多源异构数据和多维复杂关系的高效处理与可视化展示,将测绘数据和社会数据进行深度挖掘,通过数据融合分析,用数学模型直接表示的关联属性,融合成一张以关系为纽带的数据网络。通过对关系的挖掘与分析,能够找到隐藏在行为之下的关联,并进行直观的展示。

(六)大数据存储与分析技术

网络空间由海量节点组成,其信息量和处理模式是典型的大数据特点,网络空间地图对网络与节点的深层挖掘、关联分析、漏洞发现等都需要大数据加持。在存储方面,由于每日需存储数千万条探测数据,同时开展内容检索、深度挖掘与综合分析等复杂任务,这对数据的存储和管理构成较大挑战,为满足大容量、准实时、高吞吐等性能要求,需要在分布式存储、分布式检索等方面持续优化。

在大数据分析方面,为了找寻数据间的关联,需要对不同类型的数据内容进行检索、深度挖掘和综合分析。建模是大数据分析技术的核心工作,主要是选择和应用各种数学模型,同时对模型参数和输入变量进行校准调优,在生成*终的数据集后,用构建好的模型进行聚类分析。在对数据作进一步归类和统计的基础上,*终建立资源画像和资源间的关联关系,形成指纹信息库、地理信息库、威胁情报库和漏洞库等知识库。

(七)网络可视化技术

网络可视化技术可基于网络探测和大数据分析的结果,综合运用信息处理与图形图像展示手段,将网络空间中抽象化的信息资产和逻辑关系映射为网络空间的全息地图,在归类、统计、分层等基础上通过丰富的图形化手段直观展示网络空间的物理链路、逻辑拓扑、资产画像、流量内容、安全态势等多维度信息,为摸清资产分布、掌握漏洞信息、感知趋势变化、支撑指挥决策等提供重要手段。

%title插图%num

网络空间地图的应用场景

网络空间地图的使用比较广泛,大可以覆盖整个互联网,作为网络空间的“地形图”,服务于国家安全和相关监管部门,为互联网资产监测提供支撑;小可以深入企业内网,充当“建筑结构图”,以SaaS方式服务于广大有资产管理需求的企业组织,为IT资产的有效管理提供支持。具体来说,网络空间地图的应用场景包括以下多方面:

(一)网络战中的沙盘推演

在传统军事作战中,作战地图是分析地形地貌、判断敌我态势、实施兵力部署和辅助指挥作战的重要工具。当下,网络空间已成为新的军事竞技场,地图在网络空间作战中赋予了新的使命和意义。网络跨越国界联接世界各地,信息光速可达,网络攻击转瞬完成。

而要在网络空间形成一招制胜的攻击能力或构筑坚如铜墙铁壁的防御能力,则需要有全局的洞察能力和深层信息的刺探能力。网络空间地图是国家之间、组织之间开展网络攻防的态势底图,是构建陆海空天联合的立体作战视图的基础。网络中的信息中枢、关键设施、防御要隘、可用资源等都可通过网络空间地图系统深度感知和有效标识,为沙盘推演、排兵布阵、态势掌控、指挥作战提供重要支撑。

(二)互联网安全监管中的“挂图作战”

“挂图作战”是通过直观的图表形式来将计划的实施方案、工作流程和执行进度等内容呈现出来,用于指导计划具体实施过程的工作方式,是一种类似作战的快速响应行动方式。由于其具备直观性和客观性,方便任务进展跟踪,一些重大项目(例如,灾害防治、环保监测等)纷纷借鉴了这种工作方式,在趋势研判和指挥调度中成效显著。

近年来,随着信息化、网络化全面推广,网络监管和安全保障越来越重要,各地相关部门纷纷开始筹建用于互联网安全监管的“挂图作战”指挥平台。网络空间地图对全局资产的信息采集及对网络安全态势的展现效果与“挂图作战”思路不谋而合,这为其在互联网安全监管业务中的应用提供了广阔的舞台。

通过网络空间地图,资产标识、漏洞分布、安全影响一目了然,一旦爆发安全漏洞或攻击,监管方便能及时收到预警,看到相关目标和坐标,并据此迅速开展应急响应办法。

(三)关键基础设施保护与IT资产管理

IT资产是指计算设备、信息系统、网络、软件、虚拟计算平台以及相关硬件等。IT资产管理的核心是要跟踪、审计和监控IT资产全生命周期状态。不同于静态的物理资产,信息资产在整个生命周期中的状态通常在不断变化,仅依靠人工统计,显然跟不上信息资产的变化速度。

对于IT资产规模庞大且部署分散的组织,IT资产管理难度很大,特别是对国家关键基础设施的监管更是一个大的工程挑战。*优化利用和分配现有IT资产,方可*大限度地保护信息技术上的投资,而这种决策离不开高价值的战略情报。基于网络空间地图勾勒出的信息资产“全息”样貌,决策者就可以从全局视角把握资产属性、运行状态和发展趋势,减少资产管理决策活动的不确定性。

同时,网络空间地图还可以与相关安全系统做深度整合,在典型的IT资产生命周期中,充分发挥其对动态信息资产的跟踪效能,及时捕捉信息资产在全生命周期任一阶段出现的异常情况,辅助开展IT资产的脆弱性管理和风险控制,并*终实现IT资产的安全运营。

(四)物联网资产监控管理

物联网技术爆发已让万物互联成为现实。智能摄像头、车联网、充电桩、智能电表/水表开始遍布世界的各个角落。物联网资产监控管理首先要解决的是安全问题。物联网的部署特点和低功耗要求,使其安全较为薄弱,例如,连接内网的室外摄像头、地处偏僻位置的ATM机、客源稀少的自动贩卖机等,都可能成为黑客入侵整个系统的着力点,增大了信息被窃取的机会,甚至有业务瘫痪的风险。为此,运营者需要通过网络空间地图探测并持续更新所有物联网资产的准确清单,在此基础上,识别和解决与资产的安全漏洞。

此外,网络空间地图展现的物联网资产全网分布情况,也能给厂商制定市场竞争策略提供高价值的战略情报,从而有重点地选择市场投放区域。

(五)数字孪生及智慧城市感知与运营

作为一种实现信息化与城镇化深度融合的城市信息化高级形态,智慧城市基于城市的精细化和动态管理,*大提升了城市运营效率,改善了市民生活质量。智慧城市是由数据驱动的,其建设与运营依托通信网、IPv6网、物联网、云计算、大数据等新一代IT技术实现的泛在互联和全面感知。

网络空间地图可以成为智慧城市感知和运营的基础,其作用主要体现如下:

*,保证信息资产的能见度。智慧城市中不断增加的托管资产和物联网设备是管理难题,网络空间地图可以帮助识别环境中的所有资产,深入感知信息资产所处的IT环境状况,了解它们当前所处的生命周期阶段以及如何影响业务,管控风险,提升安全。

第二,有助于制定资产管理计划。网络空间地图可以提高智慧城市的运营效率,便于跟踪和展示IT资产,并为漏洞发现、威胁感知、事件响应、故障排除等问题提供解决方案支撑,管理者可以基于网络空间地图获取相关状态信息来推进资产管理计划。

第三,有助于保证合规性。网络空间地图可以监视网络中的硬件和软件组件,检查是否安装了未经授权的软件或硬件,帮助管理者为审核做好准备,从而有效降低法律风险。

第四,有助于控制IT成本。网络空间地图提供的资产数据有助于资产利用率分析和预算规划,帮助智慧城市*大限度地提高现有资产利用率,优化资产使用并控制IT资产采购支出。

%title插图%num

网络空间地图的市场应用前景

网络空间地图是构建数字世界的必备的基础技术能力,随着其被广泛应用到多种领域,未来将继续探索更多的可能性。那么,网络空间地图的市场空间究竟是怎样的?其成长潜力有多大?这实际上取决于智慧城市、IT管理、物联网以及网络安全等相关产业的投资规模和发展前景。

由于国内政策红利已得到释放,市场资金大量涌入智慧城市、IT运维管理、物联网和网络安全等新兴产业。有数据显示,2019年我国智慧城市市场规模估计已突破10万亿元,我国网络安全市场规模同期约为478亿元;2020年IT运维管理市场规模将达到2690亿元左右,物联网市场规模同期也将突破2万亿元。考虑到市场重叠因素,保守估计,目前新兴市场总体规模已超过10万亿元。

这些产业蕴含着巨大的IT资产管理和网络空间地图的市场机会,当前保守估计,网络空间地图至少已经存在3到5亿元的市场需求量。未来几年随着相关产业的全面崛起,网络空间地图市场将快速走向成熟,有望进一步被放大到数十亿元的规模。作为连接网络虚拟空间和物理空间的桥梁,网络空间地图的未来可期,潜力无限!

上市之后,青云存储平台QingStor也要“进军”云原生

3 月 16 日,北京青云科技股份有限公司(以下简称“青云科技”)登录科创板,昔日里频频出现在公众视野的云计算企业,终于作为“中国混合云*股”成功上市,股票代码 688316。

在国内迅速崛起的大大小小的云计算企业中,青云科技规模不算*大,却从公有云切入市场,旗帜鲜明地以“混合云”为卖点,在财报仍为亏损的状态下冲出重围成功上市。

%title插图%num

 

三年内有望实现盈利,是青云科技CEO黄允松对外界做出的承诺,他的底气来源于青云科技亏损的唯一来源是公有云业务,而私有云业务年增长率持续高位,以这个速度,三年内转亏为盈应该不是问题。

青云科技上市,明示了市场对于云计算未来空间的遐想。而在上市第三天,青云科技在媒体沟通会上即宣布,其旗下存储平台 QingStor 将迎来品牌及战略升级。

QingStor战略升级,将成独立、开放运营品牌

按照青云科技的设想,接下来的一年,QingStor 重点是要打造更强的商业服务能力,服务企业数字化转型。在过去,青云科技认为 QingStor 在技术上的积累已经足以支撑业务的运转,但技术实力仍然需要保持,除了原来北京和武汉的研发中心,今年年初还新增了成都研发中心。未来,QingStor还会加大技术投入,研发团队在人数上将有大幅增长。

除了保持技术*,QingStor 还要在商业、生态和落地上发力。对于品牌的定位,QingStor 的总结是三个词:专业、独立和开放。

专业不用多做解释,如今的 QingStor 在对象存储、文件存储、块存储和融合存储上都有完整的产品线;独立是指 QingStor 的运营方式,就是将 QingStor 作为一个独立运营的产品品牌,这是青云科技希望向外界传递的重要信息之一;开放则是指QingStor除了开源产品和开放政策之外,在市场策略上将比以前更加开放,要建立自己的“朋友圈”。

2021年新产品&新功能预告

除了大的战略定位,QingStor 产品和研发团队的负责人王煜还预告了 QingStor 将在 2021 年进行的重大新产品和功能发布,主要包括两个云原生块存储新产品/功能优化,和一个文件存储系统。

*,QingStor 将强化分布式块存储产品 NeonSAN 在超大规模云计算平台的底层支撑能力,推出全新的存储访问协议 NVMe Over Fabric。在 RDMA 网络互联上,QingStor 之前已经实现了在存储内部数据副本之间通过 RDMA 进行复制,今年则将允许客户端层也通过 RDMA 网络协议访问存储,以降低企业关键业务的存储网络延迟,使之能够挑战 FC-SAN 类似的传统访问协议,并探索大吞吐网卡支持,以及非易失内存 SCM 在软件架构中的应用等。第二是优化对超大规模集群的支持,NeonSAN 本身在数据层面的设计是 Share-nothing 架构,天然可以无线横向水平扩展,而在管理层今年会在控制平面做一个 partition 分区,允许大规模集群横向水平扩展。在特性和功能层面,NeonSAN 今年也会进行增强,比如同步备灾、一致性卷组、读写快照、跨存储池迁移等。在平台支持层面,NeonSAN 不仅服务于青云QingCloud云平台,还支持市面上主流的虚拟化和云计算平台,包括 VMware、OpenStack、Hyper-V 等,今年 QingStor 会关注这些平台的迭代升级,并进行同步匹配。

第二个今年上半年的重磅发布,一个是云原生分布式块存储产品,它基于 NeonSAN 架构,在此基础上进行全栈存储组件容器化改造,全面兼容市面上主流的 K8s 平台,包括青云的 KubeSphere,红帽的 OpenShift,Rancher 等。此次,这一产品还会全面接入容器平台监控运维体系,并将利用 K8s 平台本身 operator 自动化运维机制管理存储系统。开发者喜闻乐见的是,这是一款完全免费的产品,可以通过主流应用市场进行分发、下载,并支持企业级客户平滑迁移到企业版 NeonSAN。

第三款正式对外发布的产品,是已经在青云内部孵化多年的全新云原生分布式文件系统,它是采用 Rust 实现的插件式分布式文件系统。更重要的是,这个文件系统将完全开源,并采用社区开发和运营的模式。

%title插图%num

除此之外,今年QingStor 对象存储和文件存储产品也将在架构层面迎来全新升级,对象存储将升级至 4.0,文件存储升级至 3.0,底层存储引擎将完全替换成将要全新发布的分布式文件系统。也就是说,这款云原生分布式文件系统将成为下一代 QingStor 商业版本存储底层新一代的存储引擎。

*后,QingStor还会在今年发布一个厂商中立的数据服务框架,为上层提供统一的数据管理和操作接口,实现新功能和数据迁移、管理、数据备份等,加入框架后可以在各个厂商之间无缝进行数据迁移、数据管理、数据备份等。

%title插图%num

存储的机会在哪里?

除了品牌升级和重要产品发布预告之外,在沟通会上,QingStor还从市场和技术两个层面,分享了他们看到的未来与存储相关的机会所在,供读者朋友们参考。

在市场层面,QingStor认为存储的*个机会在于大量数据,数据量爆炸增长背后,存储解决方案会发生巨大的改变,包括数据湖、人工智能中大数据产生后的一些存储方式,以及备份归档等方面的市场需求增长将非常迅猛;

第二是细分场景,即用户对于数据的科学处理将使数据发挥更大的作用,第二存储、混合云存储、边缘存储将更加满足用户的细分场景需求;

第三是以云原生为代表的的全新模式,将迎来爆炸性增长,未来三年会看到以云原生为代表的全新存储模式有非常明显的市场机会。

而从技术层面上讲,QingStor 产品和研发团队的负责人王煜分享了他对于存储在 2021 年将出现的几个明显技术趋势的观察。

%title插图%num

他认为,存储将在 2021 年出现四大趋势,首先是存储池化。顾名思义,企业在过去几十年构建存储的方式是围绕业务,根据不同的应用和业务采购存储系统,但这样会导致底层存储系统冗杂,引起“数据孤岛”和管理难的问题。而现在企业倾向于围绕数据中心构建统一的存储资源池,为上层提供应对不同业务的服务,这对技术提出了更高的要求,比如高性能、高并发,并由此催生对于硬件性能、新的协议的要求,除此之外对于大规模水平扩展能力,以及多租户多隔离的要求也会相应提高。

第二个趋势是服务化,这会加速存储用户与服务提供方的解耦,所谓花多少钱买多少服务,开发者通过天然开放的API接口,可以简单地集成 SDK 在应用代码中调用相应的存储服务,实现存储功能,用户无需关系存储和扩容能力,按需付费,把企业采购存储资源变成采购服务,这是存储服务化的一个重要标志,可以*大地降低企业成本。

第三个趋势是云原生化,云原生的本质是应用系统*大化或全面地使用云平台提供的能力,与云计算相比,云原生除了提供 IaaS 和 PaaS 的服务之外,还提供了平台级的集群管理能力。实现云原生,应用系统架构需要改造,从单体应用变成容器部署。另一个实现云原生的手段是无状态化,让逻辑代码可以无限快速伸缩扩容,提升系统的承载能力。另外,数据库计算存储分离,也是在存储层解决数据保护问题的有效手段。

第四个趋势是数据价值化,也就是更好地利用数据,围绕存储本身将会出现很多新兴场景,比如第二存储、数据湖、数据统计、元数据检索等,形成完整的数据挖掘解决方案。

结语

2020 年,AWS 在云存储服务成为全球*可以被视为一个标志性事件,证明了如今云存储已经是一个市场足够大的盘子。而青云科技在上市后的第三天,就宣布了存储品牌 QingStor 的品牌升级和未来规划,从中足见其对于存储业务的重视,以及想要挖掘存储市场潜力的决心。

作为一家独立的云服务商,青云科技的上市本身也证明了市场对于国内云计算发展空间的认可,相信对于这家以自主创新、以混合云为亮点的企业来说,上市也只是一个新的起点,未来是否还能实现自我突破,更多的还是要思考上市的意义,以及经营模式是否已经做好了作战的准备。

————————————————

数据库设计的 10 个*佳实践

以下为译文:

数据库是应用及计算机的核心元素,负责存储运行软件应用所需的一切重要数据。为了保障应用正常运行,总有一个甚至多个数据库在默默运作。我们可以把数据库视为信息仓库,以结构化的方式存储了大量的相关信息,并合理分类,方便搜索及使用。

因此,数据库设计成为软件开发中的重要一环,对于开发者来说,设计一个高效的数据库至关重要。那么,为什么数据库设计很重要,“好”的标准又是什么?本文将做以介绍。

%title插图%num

为什么数据库设计很重要?

用我们订购衬衫的在线商城网站举例。如今,从网站上订购衬衫的过程似乎很简单,但涉及了很多信息交换。例如:*次浏览网页时,系统会展示给你一系列信息,包含产品分类,所有可用商品、相应价格、可用尺码、颜色以及其他相关信息。网站会从存储数据的数据库中检索,当用户选中所需商品并继续操作购买时,网站会询问个人详细信息、送货地址、付款详细信息,并确认订单。目前在此过程中产生的新数据,如用户详细信息、订单详细信息、购买及付款都会在同一个数据库中添加及更新。

数据库设计很重要,因为对构建可伸缩且能够在高工作负载下运行的软件应用来说,它是至关重要的。设计数据库首先来说,选择数据库软件很关键。目前可用于构建应用的数据库软件有数百种可供选择,我们可以从一些*好的免费数据库软件中选择,之后便是设计符合要求的数据库了。下面列出了10个*优的数据库设计实践。

%title插图%num

数据库设计的10个*佳实践

将所有人的观点列入考量

要设计好的数据库,必须考虑所有相关利益者的观点。在构建数据库之前,先去收集信息,了解他们对数据库的期望以及对数据库的操作熟练度。这样就能得出数据库应当采用的技术水平,以及是否要就数据库的功能来训练用户。

选择符合需求的数据库类型

数据库有多种类型,选择正确类型则是数据库设计的关键。我们可以将数据库以两种方式分类。一是基于数据库用以定义和操作数据的查询语言。使用SQL的数据库是结构化数据*常用的类型。然而,由于NoSQL数据库的可伸缩性、灵活性和速度更优,它们更适合机器学习、网络分析以及物联网(IoT)使用。

第二种分类方式则是基于数据模型。这样分类会有四种类型:关系数据库、分层数据库、网络数据库以及面向对象的数据库。

研究数据库的不同类型,并针对应用需求作出选择,这是必要的初始步骤。

以一致的方式来定义与标记表和列

在定义数据项以及标记表与列时,遵从一致性原则非常重要,可以帮助我们更好地理解数据。命名表与列的*佳实践之一便是使用简单的名字来定义其包含的数据。比如:只需将包含用户名称的列标记为“CustomerName”(“用户名”)即可。

应当避免使用复数名(如CustomerNames)、缩写(如CN),并且名称中不得使用空格(如Customer Name)。如果坚持遵守这些规则,则将来的用户在使用数据库时会更容易。

规范化是关键

数据库的规范化指的是将数据库中的所有信息组织起来,避免数据重复和冗余。简单来说,规范化是将数据打散分配到多个较小的相关表中,而不是统统存在一个大表里。

将数据规范化是很好的数据库设计实践,有助于提高效率。但是请确保不要过度规范化,否则将会把数据分散到太多的小表中,反而造成混乱。

数据库设计的文档化很重要

事实上,文档化并非人见人爱,因为实在太烦了。但要记得,文档化对于良好的数据库设计至关重要,可以追踪所有的小细节。数据库设计应当附有指示说明、ER图、存储过程及所有其他相关的信息。文档还应当为编程者和终端用户提供足够信息量,确保他们能够理解并使用。

隐私是首要考量

很多时候,存储在数据库中的信息是加密信息,隐私就成了一个值得关注的问题。为了获得*大程度的安全性,我们应当对密码加密,使用身份验证来限制数据库的访问,并使用另一个服务器来存放数据库,而不是应用所在的服务器。这将确保你的数据不受攻击和隐私侵犯的威胁。

考虑长期需求

优秀的数据库设计应当具备可伸缩性,即:在使用量增加的情况下,仍然能承受较高的工作负载,并保障应用的运行。对工作量可能会有所改变的企业来说,在设计数据库时牢记此项至关重要。例如:如果一个电子商务网站预计当销售量增长时,访客会在一个月内急速增加,那么在设计数据库时应当将这一点列入考量,以便数据库可以响应迅速增长的访客,并保持在高工作负载的情况下运作。

代码以及使用预存程序

数据库设计中的常见错误之一,就是不使用预存程序。预存程序指的是,在操作数据时手边随时可用的提前预存代码串。例如,如果有个SQL查询是常用的操作指令,则将它提前写入预存程序,而不是在用的时候重新来写,就会让工作简单起来。一旦有了预存程序,就可以在需要时一步执行并载入这个SQL查询了。

编写大量预存程序是个吃力的工作,但如果花时间完成并用文档记录下来的话,对终端用户来说,使用数据库就更加轻松了。

在数据库建模和设计上投入时间

优秀数据库设计的专业技巧之一是在数据库建模和设计上投入时间和精力。开发者常见的错误就是忽略这一步以节省时间,将重点放在软件开发更重要的其他方面上。但是,数据库设计对于保障应用的功能来说非常关键。如果一味想节省时间,不仔细思考设计的话,未来就会需要花费更多时间来维护数据库,甚至重新设计。

测试设计

测试也是数据库设计很关键的步骤,而且经常会被疏忽对待,甚至完全跳过,只为了赶DDL。我们应当在发布项目前,花些时间来彻底测试数据库设计,以确保其满足了所有计划中的需求,且正常运行。

%title插图%num

结语

对于以数据为中心的项目来说,数据库设计*为重要,开发过程中我们也应当慎重对待。文中提到的数据库设计实践,如针对长期需求进行适当的计划,选择正确的数据库类型,使用一致性的名称与标签,数据规范化,数据库设计文档化,并提前测试,这些都是我们在设计优秀数据库时需要考虑的关键问题。

golang中多种方式设置时区

go语言的time.Now()返回的是当地时区时间

time.Now().Format(“2006-01-02 15:04:05”)
1
time设置自定义时区

var cstSh, _ = time.LoadLocation(“Asia/Shanghai”) //上海
fmt.Println(“SH : “, time.Now().In(cstSh).Format(“2006-01-02 15:04:05”))
1
2
LoadLocation 有个问题,它依赖于 IANA Time Zone Database (简称 tzdata 吧) 这个数据库,一般linux系统都带了,但是windows系统就没带。所以如果windows系统没有安装go环境,调用LoadLocation就会报错。

当前解决方法也有:

1、我们可以自己把tzdata文件放到自己的程序目录中,然后让 time 包能够从我们自己的程序目录中加载时区文件就可以了。

文件目录可以通过环境变量设置,在main方法中:

os.Setenv(“ZONEINFO”, ‘/home/tz/data.zip’)
1
然后再调用 LoadLocation 方法就可以了。

下载tzdata

2、使用时区方式 推荐方式

var cstZone = time.FixedZone(“CST”, 8*3600) // 东八区
fmt.Println(“SH : “, time.Now().In(cstZone).Format(“2006-01-02 15:04:05”))
1
2
全局设置
如果说要设置全局的time时区配置应该如何做?

main.go(主函数处)增加一个初始化方法

func initInMain() {
var cstZone = time.FixedZone(“CST”, 8*3600) // 东八
time.Local = cstZone
}
1
2
3
4
将定义的时区实例赋值给time.Local

推荐阅读

Redis工具收费后新的开源已出现

GitHub上Star*高的工程师技能图谱

中国程序员*容易发错的单词

推荐!!! Markdown图标索引网站

 

蓝桥杯算法之成绩分析

问题引入:
小蓝给学生们组织了一场考试,卷面总分为100分,每个学生的得分都是一个0到100的整数。
请计算这次考试的*高分、*低分和平均分。

输入格式:
输入的*行包含一个整数n,表示考试人数。
接下来n行,每行包含一个0至100的整数,表示一个学生的得分。

输出格式:
输出三行。
*行包含一个整数,表示*高分。
第二行包含一个整数,表示*低分。
第三行包含一个实数,四舍五入保留正好两位小数,表示平均分

样例输入:
7
80
92
56
74
88
99
10
样例输出:
99
10
71.29

解题思路:
首先当输入n个数字(代表成绩)的时候,那么就要求将这几个数字都提取到,此时可以使用List集合。(使用List集合的原因:因为List集合是有序可重复的集合,可重复指代当输入一个数字的时候,可以继续输入另一个相同的数,那么这和输入成绩的情况相似,因为输入成绩可能重复输入)。接着就可以将List集合排序,然后取到*个和*后一个数字代表*低和*高分了。

具体代码如下:
————————————————
%title插图%num

%title插图%num

Hadoop分布式和伪分布式下NameNode和DataNode的分布

今天布置了有关hadoop分布式与伪分布式的作业,经过资料的查询,了解了很多概念,以下为整理的相关信息。

概念的理解:
(1)分布式
利用分而治之的思想:
随着数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统(HDFS)。

(2)伪分布式
Hadoop的伪分布式:
伪分布式就是假分布式,假就假在只有一台机器而不是多台机器来完成一个任务,但是模拟了分布式的这个过程,所以伪分布式下Hadoop也就是虽然在一个机器上配置了hadoop的所有节点,但伪分布式完成了所有分布式所必须的事件。伪分布式Hadoop和单机版*大区别就在于需要配置HDFS。

Hadoop伪分布式模式是指在一台机器上同时启动NameNode,DataNode, JobTracker, TaskTracker等进程(一般都是1个),并没有真正分布到集群内的不同机器上,所以这种模式叫伪分布式模式。

NameNode的组成:
Namenode整个内存结构大致可以分成四大部分:Namespace、BlockManger、NerworkTopology及其他;Namespace是维护整个文件系统的目录树结构及目录树上的状态变化;BlockManger维护整个文件系统中与数据块相关的信息及数据块的状态变化;NetworkTopology维护机架拓扑及Datanode信息,机架感知的基础;其他部分包括用以实现读写互斥同步的LeaseManger、支持集中式缓存管理的CacheManager、用于数据备份,回滚的SnapshotManager、管理HDFS安全访问的DelegationTokenSecretManager等。

如图:即为NameNode的有关组成部分:
————————————————
%title插图%num

NameNode的介绍:
(1)是整个文件系统的管理节点。它维护着整个文件系统的文件目录树,文件/目录的元信息和每个文件对应的数据块列表。接收用户的操作请求。
(2)文件包括:
fsimage:元数据镜像文件。存储某一时段NameNode内存元数据信息。
edits:操作日志文件。
fstime:保存*近一次checkpoint的时间
(3)以上这些文件是保存在linux的文件系统中。

(4)、NameNode是主节点,存储文件的元数据,如文件名,文件目录结构,文件属性(生成事件,副本数,文件权限),以及每个文件的块列表和块所在的DataNode信息等等。

(5)、Namenode是一个中心服务器,单一节点,负责管理文件系统的名字空间,以及客户端对文件的访问。文件操作,NameNode负责文件元数据的操作,DataNode负责处理文件内容的读写请求,跟文件内容相关的数据流不经过NameNode,只会询问它跟那个DataNode联系,否则NameNode会成为系统的瓶颈。副本存放在那些DataNode上由NameNode来控制,根据全局情况做出块放置决定,读取文件时候NameNode尽量让用户先读取*近的副本,降低带块消耗和读取延时。NameNode全权管理数据块的复制。它周期性的从集群中每个DataNode接受心跳信号和块状态报告(Blocreport)。接受到心跳信号意味着该DataNode节点正常工作。块状态报告包含一个该DataNode上所有数据块的列表。
NameNode工作特点:
(1)Namenode始终在内存中保存metedata,用于处理“读请求”
(2)到有“写请求”到来时,namenode会首先写editlog到磁盘,即向edits文件中写日志,成功返回后,才会修改内存,并且向客户端返回
(3)Hadoop会维护一个fsimage文件,也就是namenode中metedata的镜像,但是fsimage不会随时与namenode内存中的metedata保持一致,而是每隔一段时间通过合并edits文件来更新内容。Secondary namenode就是用来合并fsimage和edits文件来更新NameNode的metedata的。

DataNode的介绍:
DataNode是以块的形式存储数据,默认为128M。

(1)提供真实文件数据的存储服务。
(2)文件块(block):*基本的存储单位。对于文件内容而言,一个文件的长度大小是size,那么从文件的0偏移开始,按照固定的大小,顺序对文件进行划分并编号,划分好的每一个块称一个Block。HDFS默认Block大小是128MB,以一个256MB文件,共有256/128=2个Block.
dfs.block.size
(3)不同于普通文件系统的是,HDFS中,如果一个文件小于一个数据块的大小,并不占用整个数据块存储空间
(4)Replication。多复本。默认是三个。hdfs-site.xml的dfs.replication属性。

(5)、DataNode在本地文件系统存储文件块数据,以及块数据的校验和。

(6)、DataNode,一个数据块在DataNode以文件存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。DataNode启动后NameNode注册,通过后,周期性(1小时)的向NameNode上报所有的块信息。心跳是每3秒一次,心跳返回结果带有NameNode给该DataNode的命令如复制块数据到另一台机器,或者删除某个数据块。如果超过10分钟没有收到某个DataNode的心跳,则认为该节点不可用。集群运行中可以安全加入和退出一些机器。

以下为我的一些整理:
一、Hadoop分布式下Namenode和Datanode的分布
Namenode整个内存结构大致可以分成四大部分:Namespace、BlockManger、NerworkTopology及其他;Namespace是维护整个文件系统的目录树结构及目录树上的状态变化;BlockManger维护整个文件系统中与数据块相关的信息及数据块的状态变化;NetworkTopology维护机架拓扑及Datanode信息,机架感知的基础;其他部分包括用以实现读写互斥同步的LeaseManger、支持集中式缓存管理的CacheManager、用于数据备份,回滚的SnapshotManager、管理HDFS安全访问的DelegationTokenSecretManager等;Namenode常驻内存,主要被Namespase和BlockManager使用,其他部分内存开销较小且相对固定。
Datanode以块的形式存储数据,一个数据块在datanode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,另一个是元数据(包括数据块的长度,块数据的校验和,时间戳);
Namenode周期性的从集群中的每个datanode接受心跳信号和块状态报告。而datanode会周期性的向namenode上报所有的块信息。
Namenode和Datanode以管理结点-工作结点模式运行,一个namenode结点和多个datanode结点,其中客户端(client)用户通过与namenode和datanode交互来访问整个文件系统,客户端提供了一些列的文件系统接口。
其中NameNode和secondary namemode、jobtracker运行在Master节点上,而DataNode和TaskTracker在Slave节点上。

二、Hadoop伪分布式下Namenode和Datanode的分布:
伪分布式就是一个机器既当namenode又当datanode;
Namenode、Datanode和JobTracker、TaskTracker等进程在一台机器上同时启动,并没有真正分布到集群内的不同机器上。
————————————————

云服务器下NFS文件挂载配置

什么是NFS
*近想为毕设搭个云服务器,所以想使用nginx+tomcat+nfs的方式搭建一下这个云服务器。所以有了这篇配置的文章。
NFS是网络文件系统,允许一个节点通过网络访问远程计算机的文件系统,远程文件系统可以被直接挂载到本地,文件操作和本地没有区别,如果是局域网的nfs那么io的性能也可以保证。下面就以CentOS 7.x为例,配置NFS。

服务器端配置
首先是服务端配置,服务端提供文件系统供客户端来挂载使用,配置过程如下:

首先检查是否缺少基础环境:
rpm -qa | grep nfs-utils
rpm -qa | grep rpcbind

如果这两个包存在那么可以直接使用,一般服务器安装的时候都会存在,如果没有的话执行下面命令安装:
yum -y install nfs-utils
yum -y install rpcbind

打开需要的端口:
一次正常的挂载操作中,会涉及这些端口。

nfs tcp 2049 这个很明显到处都是
sunrpc tcp 111 这个很明显到处都是
sunrpc udp 111 其中这个很难发现,仔细排查才看到
acp-proto udp 4046 其中仔细看udp的会找到
安装完成之后配置nfs访问目录,配置文件位置/etc/exports,默认是空的这里添加一行:
/nfs_test 192.168.1.8(rw,no_root_squash,no_all_squash,async)
共享的文件夹位置 允许访问的ip(该地址可执行的操作)
这个配置表示开放本地存储目录/nfs_test 只允许192.168.1.8这个主机有访问权限,rw表示允许读写;no_root_squash表示root用户具有完全的管理权限;no_all_squash表示保留共享文件的UID和GID,此项是默认不写也可以;async表示数据可以先暂时在内存中,不是直接写入磁盘,可以提高性能,另外也可以配置sync表示数据直接同步到磁盘;就配置这些就可以,保存退出。

现在配置完这些配置,启动相关服务:
systemctl start rpcbind.service
systemctl start nfs.service

启动之后可以通过status来查看状态,如果下次修改了配置,可以重启服务来使配置生效,也可以直接执行如下命令刷新配置:
exportfs -a

从机配置
现在服务端配置完毕,可以在对应的主机上来配置从机了,需要的环境和服务端一样,要保证安装nfs-utils和rpcbind。

保证环境没问题和上面一样启动rpcbind服务和nfs服务。不再赘述。

首先创建挂载点: mkdir /mnt/test1

然后挂载nfs:mount -t nfs 192.168.1.3:/nfs_test /mnt/test1
注意这里的ip是主机ip,主机挂载位置/nfs_test,从机挂载位置/mnt/test1

挂载成功之后通过 df -h 可以查看挂载的情况,nfs可用空间就是服务端/nfs_test目录所能使用的*大空间。

现在就可以往nfs写入数据了,服务端往/nfs_test读写数据和客户端往/mnt/test1读写数据是一样的,这样就实现了文件同步和共享。

卸载nfs和普通文件系统一样,使用:umount /mnt/test1

如果需要设置开机挂载,在/etc/fstab添加一行配置即可: 192.168.1.3:/nfs_test /mnt/test1 nfs rw,tcp,intr 0 1 然后服务端和客户端都要用enable设置nfs和rpcbind服务开机启动,然后才可以正常挂载。
————————————————
版权声明:本文为CSDN博主「No_Game_No_Life_」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/No_Game_No_Life_/article/details/88388975

友情链接: SITEMAP | 旋风加速器官网 | 旋风软件中心 | textarea | 黑洞加速器 | jiaohess | 老王加速器 | 烧饼哥加速器 | 小蓝鸟 | tiktok加速器 | 旋风加速度器 | 旋风加速 | quickq加速器 | 飞驰加速器 | 飞鸟加速器 | 狗急加速器 | hammer加速器 | trafficace | 原子加速器 | 葫芦加速器 | 麦旋风 | 油管加速器 | anycastly | INS加速器 | INS加速器免费版 | 免费vqn加速外网 | 旋风加速器 | 快橙加速器 | 啊哈加速器 | 迷雾通 | 优途加速器 | 海外播 | 坚果加速器 | 海外vqn加速 | 蘑菇加速器 | 毛豆加速器 | 接码平台 | 接码S | 西柚加速器 | 快柠檬加速器 | 黑洞加速 | falemon | 快橙加速器 | anycast加速器 | ibaidu | moneytreeblog | 坚果加速器 | 派币加速器 | 飞鸟加速器 | 毛豆APP | PIKPAK | 安卓vqn免费 | 一元机场加速器 | 一元机场 | 老王加速器 | 黑洞加速器 | 白石山 | 小牛加速器 | 黑洞加速 | 迷雾通官网 | 迷雾通 | 迷雾通加速器 | 十大免费加速神器 | 猎豹加速器 | 蚂蚁加速器 | 坚果加速器 | 黑洞加速 | 银河加速器 | 猎豹加速器 | 海鸥加速器 | 芒果加速器 | 小牛加速器 | 极光加速器 | 黑洞加速 | movabletype中文网 | 猎豹加速器官网 | 烧饼哥加速器官网 | 旋风加速器度器 | 哔咔漫画 | PicACG | 雷霆加速