IDC的全称是Internet Data Center,中文翻译即是“互联网数据中心”,过去很长一段时间大家都习惯称作“机房”,随着大数据的概念深入人心,现在都时尚的称作“数据中心”
定义:IDC服务商利用已有的互联网通信线路、带宽资源,建立标准化的专业级机房环境,为企业、政府提供服务器托管、租用以及相关增值等方面的全方位服务。
IDC服务商除了具备IDC经营许可证外,大部分企业还拥有ISP许可证。
ISP的英文是Internet Service Provider,翻译为互联网服务提供商,即向广大用户综合提供互联网接入业务、信息业务、和增值业务的电信运营商

网民访问互联网的逻辑图
网民分别从就近的IP接入运营商交换网访问互联网公司托管在机房内的服务器,获取各种互联网信息及应用

IDC产业链图示
上游为基础设施提供者,包括三大电信运营商提供的带宽、电力公司提供的电力、政府提供的土地、设备厂商提供的软硬件系统等;中游的运营商包括第三方IDC公司有光环新网、数据港、万国数据、世纪互联、鹏博士等上市企业,也有包括北京互联通、网银互联等非上市企业,我们易信科技是准上市企业,正在冲刺IPO;下游应用行业包括阿里云、腾讯云、华为云等云计算企业以及网易、360等互联网巨头客户,各地政府机关和各行业企业客户等;
数据中心是承载数据分析、存储、计算的唯一载体,是赋能千行百业,推动经济社会高质量发展、助力城市数字化转型的重要新型基础设施(简称:新基建)。
数据中心的选址要求非常苛刻:备选址地点发生自然灾害的概率和频率(地震、洪水、飓风、龙卷风等)极低;周边无任何生产或存储腐蚀性气体、粉尘、噪音、强震动的厂矿企业;无超高压变电站、电气化铁道、大功率雷达站等强电磁干扰源;附近电力供给应充足可靠,就近有运营商骨干网络,交通应便捷等;

选址合格后,数据中心的建设方面对土建施工、网络资源、电力系统、空调系统、消防系统和监控系统等都有很严格的要求,以确保数据中心安全、稳定的运行。

就像开发商建的房子是人的家一样,IDC就是服务器的“家”,我们都知道,大量的服务器会被集中放置在机柜中,那如果要保障服务器正常运行的话,需要哪些条件呢?必须有持续不断的“粮食”——电力、必须具备持续不断的“舒适环境”——制冷、能够应对火灾的系统——消防、能够保证客户设备、数据的安全和“私密性”的管理——安防等基础环境。
IDC,是具备可靠性、安全性、可扩展性的,具备Internet接入能力的电信级数据机房。
美国把数据中心等级标准从低到高按照T1、T2、T3、T4来划分

数据中心供配电系统是确保IT设备正常运行的基础,很多数据中心电力可用性达到99.999%。双路10KV的高压市电分别从西丽变电站和白芒变电站接入,经过施耐德高低压配电柜输送至华为在线式UPS并最终供电给服务器机柜,UPS系统采用2N+1架构设计,电池后备时间大于30分钟,当发生市电中断时,由电池系统为机柜供电,同时处于在线待机模式、N+1并机运行的康明斯柴油发电机组检测到市电中断后7秒内即可启动,3分钟内满发并供电至机房,储油罐的油量可供柴发在机房满载情况下运行24小时,附近两个加油站与我司有供油协议,运油车随叫随到。柴油发电机每半月会启动一次,每月市电切换发电系统一次,做系统自检,确保供电稳定。


数据中心与通信网络的关系,就像发电厂与输配电网的关系一样,发电厂发出的电依靠电网输送到千家万户;数据中心产生和存储的信息,依靠通信网络连接传输到亿万网民的终端设备上。没有数据中心,网络只是两根线,但没有网络,数据中心就是信息孤岛。
由于光纤会受到地铁、市政施工等破坏而发生损坏,所以数据中心的网络可用性通常低于电力可用性,只有99.995%,三大电信运营商的骨干网分别从沙河西路和园区线路一主一备双链路接入机房网络间,经过路由器和防火墙后分配到每个机柜,网络间到每个机柜配备24芯MPO跳线、8芯LC-LC跳线,可开通各运营商与第三方专线电路,提供机房与阿里云、腾讯云、华为云等各大云平台的云专线高速互联。

数据中心就像一个大型仓库,机柜内密集的存放着服务器和网络设备,这些设备保存着互联网上的大部分数据,也为云计算提供必须的算力。这些电子设备在日夜运行的过程中消耗了巨量电力的同时也产生了大量的热量,据悉,其能量使用密度超过一栋普通办公大楼百倍以上。
数据中心为了给机房的电子设备降温,通常会采用冷水机组源源不断地生产出冷冻水,通过环形管网循环至机房末端空调来吸收机房的热量,同时在机房外部通过冷却塔将吸收的冷冻水热量做散热冷却水循环,降温后再循环至冷水机组,这两个相互独立的热交换通过板式换热器来完成。

自主研发的“间接蒸发精密空调”、“蒸发冷却式冷水机组”、“间接蒸发冷却技术及机组”分别于 2018 年、2019 年、2020 年、2021年连续 4 年入选《国家绿色数据中心先进适用技术产品名录》
身处大数据时代,未来数据的价值会超越黄金和石油
鉴于数据中心对于安全的要求很高,因此数据中心的安全防范系统设计就是一个复杂的系统工程,需要从物理环境和人为因素等各方面来全面考虑,一般由视频安防监控系统、出入口控制系统、入侵报警系统、电子巡更系统、安全防范综合管理系统等组成。
数据中心7×24小时监控系统,保存时间大于90天;出入口控制系统采用人脸实名认证+ID卡门禁管理;消防系统采用极早期火灾报警系统,精准火警定位和烟雾探测,消防室设有专人24小时值班;由于电子设备严禁使用泡沫、干粉和水等灭火介质,所以数据中心通常采用七氟丙烷气体灭火,在保证灭火效率和效果的同时确保对电子设备无损害。七氟丙烷属于有毒气体,机房门口都有红色警示灯和“放气勿入”的警示标语,机房内也设有防毒面具,保障意外发生时机房内滞留人员的人身安全。

选择数据中心时,首先应留意该数据中心的建设时间和PUE数值,新的数据中心较老旧数据中心无论是在架构还是在电气设备可靠性方面都更有优势,更重要的是老旧数据中心由于PUE已不符合政府的最新要求,很多都被限期整改甚至随时有关停风险,即便是要求整改,但运行中的数据中心是无法实施较大的改造工程的,通常都会搬迁后进行架构级的大改造,以达到政府的节能要求,一线城市的数据中心年均PUE值要求不高于1.3,PUE值必须有权威评测机构出具评测报告,千万不能相信监控大屏上显示的数字。其次,电力和网络是数据中心的根本,应检查数据中心的双路市电、网络情况及响应的设备,确保电力可用性和网络可用性达到安全标准;再次关注数据中心提供的具体服务,哪些是免费的,哪些是收费项目,管理制度是否健全,值班人员是否充足,人少和管理混乱都极易发生火灾等意外事件,损害用户的利益。
我正在学习如何使用Nokogiri,根据这段代码我遇到了一些问题:require'rubygems'require'mechanize'post_agent=WWW::Mechanize.newpost_page=post_agent.get('http://www.vbulletin.org/forum/showthread.php?t=230708')puts"\nabsolutepathwithtbodygivesnil"putspost_page.parser.xpath('/html/body/div/div/div/div/div/table/tbody/tr/td/div
总的来说,我对ruby还比较陌生,我正在为我正在创建的对象编写一些rspec测试用例。许多测试用例都非常基础,我只是想确保正确填充和返回值。我想知道是否有办法使用循环结构来执行此操作。不必为我要测试的每个方法都设置一个assertEquals。例如:describeitem,"TestingtheItem"doit"willhaveanullvaluetostart"doitem=Item.new#HereIcoulddotheitem.name.shouldbe_nil#thenIcoulddoitem.category.shouldbe_nilendend但我想要一些方法来使用
类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
给定这段代码defcreate@upgrades=User.update_all(["role=?","upgraded"],:id=>params[:upgrade])redirect_toadmin_upgrades_path,:notice=>"Successfullyupgradeduser."end我如何在该操作中实际验证它们是否已保存或未重定向到适当的页面和消息? 最佳答案 在Rails3中,update_all不返回任何有意义的信息,除了已更新的记录数(这可能取决于您的DBMS是否返回该信息)。http://ar.ru
我有一个模型:classItem项目有一个属性“商店”基于存储的值,我希望Item对象对特定方法具有不同的行为。Rails中是否有针对此的通用设计模式?如果方法中没有大的if-else语句,这是如何干净利落地完成的? 最佳答案 通常通过Single-TableInheritance. 关于ruby-on-rails-Rails-子类化模型的设计模式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co
我在我的项目目录中完成了compasscreate.和compassinitrails。几个问题:我已将我的.sass文件放在public/stylesheets中。这是放置它们的正确位置吗?当我运行compasswatch时,它不会自动编译这些.sass文件。我必须手动指定文件:compasswatchpublic/stylesheets/myfile.sass等。如何让它自动运行?文件ie.css、print.css和screen.css已放在stylesheets/compiled。如何在编译后不让它们重新出现的情况下删除它们?我自己编译的.sass文件编译成compiled/t
我正在寻找执行以下操作的正确语法(在Perl、Shell或Ruby中):#variabletoaccessthedatalinesappendedasafileEND_OF_SCRIPT_MARKERrawdatastartshereanditcontinues. 最佳答案 Perl用__DATA__做这个:#!/usr/bin/perlusestrict;usewarnings;while(){print;}__DATA__Texttoprintgoeshere 关于ruby-如何将脚
我正在使用的第三方API的文档状态:"[O]urAPIonlyacceptspaddedBase64encodedstrings."什么是“填充的Base64编码字符串”以及如何在Ruby中生成它们。下面的代码是我第一次尝试创建转换为Base64的JSON格式数据。xa=Base64.encode64(a.to_json) 最佳答案 他们说的padding其实就是Base64本身的一部分。它是末尾的“=”和“==”。Base64将3个字节的数据包编码为4个编码字符。所以如果你的输入数据有长度n和n%3=1=>"=="末尾用于填充n%
我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i