草庐IT

戴尔可靠的IT和安全的计算机系统助力NASA登月计划迈出关键一步

戴尔 2023-03-28 原文
“我觉得摄影师在打印太空照片时遇到的最大的问题是设法如实印出那种纯粹绝对的黑。放幻灯片时背景里肯定会有一抹蓝色,而且绝对无法还原我们在月球上亲眼所见的那种色彩对比和反差,因为月球的天空漆黑。”

——哈里森·施密特

最后一位踏上月球的地球人

今天,是我们人类最后一次踏上月球的50周年。

50年前,阿波罗17号发射升空,2名宇航员踏上月球,并带回了历次登月史上最多的月球样品。

然而,由于科研价值下降,以及登月所需庞大资金的压力,阿波罗计划被迫终止,阿波罗17号也成为人类曾经访问过另一个世界的最后痕迹。

微信启动页面上的地球,就是阿波罗17号在登月飞行中拍摄的。

不过在这50年里,人类从未停止对太空探索的渴望:

● 我们的火星车成功找到火星曾经有水的证据;

● 我们的旅行者1号带着人类的问候,经过36年的漫漫旅途,终于飞出了太阳系

● 我们的太空望远镜正在逼近138亿年前,宇宙大爆炸后所诞生的第一缕光……

50年后的今天,我们再次向月球进发。这一次,我们怀着更宏伟和远大的目标。

半个世纪后

重返月球

北京时间2022年11月16日,NASA(美国国家航空航天局)成功执行了阿尔忒弥斯1号的发射任务,史上推力最强大的火箭“太空发射系统”(SLS)发射升空,并进行为期40多天的探月试飞工作。

登月火箭SLS点火升空

图片来源:NASA/Keegan Barber

据了解,阿尔忒弥斯一号是后续登月计划中的第一步,此次探月试飞并未搭载人员,主要目的为了测试飞船飞往月球以及环绕月球、高速返回地球等关键技术,检验飞船返回地球是否能够经受与大气层剧烈摩擦产生的热量等等。

之后的阿尔忒弥斯二号(计划2024年)将执行载人绕月飞行任务,而阿尔忒弥斯三号(计划2025年)则最终把人类送入月球表面。

那么,这次登月计划只是为了重返月球吗?

当然不是。

登月仅仅是一个开始,阿尔忒弥斯计划的最终意图是在月球南极建立一个永久性的月球基地,不仅作为前往月球的宇航员的住所,而且作为前往火星和深空探测的载人任务的中转站。

今天的人类所掌握的技术,已经和半个世纪前不可同日而语。

半个世纪前,NASA发射控制架构师使用的计算机系统(阿波罗制导计算机),其体积足足有一间房子那么大,而这台系统的计算能力,约等于今天我们口袋里的一部智能手机。

如果我们再把今天的智能手机和一台戴尔PowerEdge服务器相比,PowerEdge服务器的处理速度快了大约20倍,内存容量增加了1.6万倍,计算能力提高了近1800%

想象一下,我们把那个房间里的计算系统换成PowerEdge服务器,会是什么样呢?

没错。十多年来,戴尔科技集团一直与NASA保持着合作关系,为其提供计算系统和服务,致力于实现“科技创新推动人类进步”的共同目标。

 

戴尔科技集团助力

NASA重启登月计划

今天,NASA发射控制架构师、工程师和技术人员正在使用更加紧凑的Dell PowerEdge服务器,并且服务器机房依然是50年前阿波罗计划所使用的那一间。

这些服务器使NASA能够运行飞行软件应用、执行系统监控功能并实时分析数据。同时,使用Dell Precision工作站,飞行外科医生、轨道测试主管、气象学家和其他专家能通过控制台,来分析发射过程中的185000个关键数据点和遥测数据。这种深度的见解和对发射的更大控制,是50年前载人登月计划中无法实现的。

在整个发射任务过程中,戴尔的产品将处理数百万个数据点,并允许控制人员与发射控制处的服务器和飞行的火箭进行交互。

除了在发射控制系统中提供计算系统外,NASA团队还通过戴尔支持服务来帮助解决潜在问题,并确保团队能够满足发射要求。戴尔工程师会在现场根据需要提供即时支持和服务,以确保在发射倒计时期,可靠的IT和安全的计算机系统。

SLS火箭竖立在肯尼迪航天中心的

航天器装配大楼 (VAB) 

图片来源:NASA/Frank Michaux

结语

探索一直是人类精神的永恒组成部分。在戴尔科技集团,我们经常思考技术如何影响我们的日常生活和工作。在与NASA的合作中,我们看到戴尔的创新,正在参与到那高度复杂的系统里,助力人类向宇宙深处探索。

50年后的今天,不仅NASA重启登月计划迈出了关键一步,世界上多个国家也在着手进行着登月计划,这是一个新的登月和探索时代的开始,也是新一代人开启太空探索的时代。

END

如果您想了解更多有关戴尔科技的产品和解决方案信息,请扫描以下二维码咨询戴尔官方客服。

有关戴尔可靠的IT和安全的计算机系统助力NASA登月计划迈出关键一步的更多相关文章

  1. ruby-on-rails - rails : save file from URL and save it to Amazon S3 - 2

    从给定URL下载文件并立即将其上传到AmazonS3的更直接的方法是什么(+将有关文件的一些信息保存到数据库中,例如名称、大小等)?现在,我既不使用Paperclip,也不使用Carrierwave。谢谢 最佳答案 简单明了:require'open-uri'require's3'amazon=S3::Service.new(access_key_id:'KEY',secret_access_key:'KEY')bucket=amazon.buckets.find('image_storage')url='http://www.ex

  2. ruby - 如何使用 Ruby aws/s3 Gem 生成安全 URL 以从 s3 下载文件 - 2

    我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A

  3. ruby - 如何安全地删除文件? - 2

    在Ruby中是否有Gem或安全删除文件的方法?我想避免系统上可能不存在的外部程序。“安全删除”指的是覆盖文件内容。 最佳答案 如果您使用的是*nix,一个很好的方法是使用exec/open3/open4调用shred:`shred-fxuz#{filename}`http://www.gnu.org/s/coreutils/manual/html_node/shred-invocation.html检查这个类似的帖子:Writingafileshredderinpythonorruby?

  4. ruby - 用 YAML.load 解析 json 安全吗? - 2

    我正在使用ruby2.1.0我有一个json文件。例如:test.json{"item":[{"apple":1},{"banana":2}]}用YAML.load加载这个文件安全吗?YAML.load(File.read('test.json'))我正在尝试加载一个json或yaml格式的文件。 最佳答案 YAML可以加载JSONYAML.load('{"something":"test","other":4}')=>{"something"=>"test","other"=>4}JSON将无法加载YAML。JSON.load("

  5. ruby - Ruby 的 AST 中的 'send' 关键字是什么意思? - 2

    我正在尝试学习Ruby词法分析器和解析器(whitequarkparser)以了解更多有关从Ruby脚本进一步生成机器代码的过程。在解析以下Ruby代码字符串时。defadd(a,b)returna+bendputsadd1,2它导致以下S表达式符号。s(:begin,s(:def,:add,s(:args,s(:arg,:a),s(:arg,:b)),s(:return,s(:send,s(:lvar,:a),:+,s(:lvar,:b)))),s(:send,nil,:puts,s(:send,nil,:add,s(:int,1),s(:int,3))))任何人都可以向我解释生成的

  6. ruby-on-rails - Ruby 的 'open_uri' 是否在读取或失败后可靠地关闭套接字? - 2

    一段时间以来,我一直在使用open_uri下拉ftp路径作为数据源,但突然发现我几乎连续不断地收到“530抱歉,允许的最大客户端数(95)已经连接。”我不确定我的代码是否有问题,或者是否是其他人在访问服务器,不幸的是,我无法真正确定谁有问题。本质上,我正在读取FTPURI:defself.read_uri(uri)beginuri=open(uri).readuri=="Error"?nil:urirescueOpenURI::HTTPErrornilendend我猜我需要在这里添加一些额外的错误处理代码...我想确保我采取一切预防措施来关闭所有连接,这样我的连接就不是问题所在,但是我

  7. ruby - 你会如何在 Ruby 中表达成语 "with this object, if it exists, do this"? - 2

    在Ruby(尤其是Rails)中,您经常需要检查某物是否存在,然后对其执行操作,例如:if@objects.any?puts"Wehavetheseobjects:"@objects.each{|o|puts"hello:#{o}"end这是最短的,一切都很好,但是如果你有@objects.some_association.something.hit_database.process而不是@objects呢?我将不得不在if表达式中重复两次,如果我不知道实现细节并且方法调用很昂贵怎么办?显而易见的选择是创建一个变量,然后测试它,然后处理它,但是你必须想出一个变量名(呃),它也会在内存中

  8. ruby-on-rails - 安全地显示使用回形针 gem 上传的图像 - 2

    默认情况下:回形针gem将所有附件存储在公共(public)目录中。出于安全原因,我不想将附件存储在公共(public)目录中,所以我将它们保存在应用程序根目录的uploads目录中:classPost我没有指定url选项,因为我不希望每个图像附件都有一个url。如果指定了url:那么拥有该url的任何人都可以访问该图像。这是不安全的。在user#show页面中:我想实际显示图像。如果我使用所有回形针默认设置,那么我可以这样做,因为图像将在公共(public)目录中并且图像将具有一个url:Someimage:看来,如果我将图像附件保存在公共(public)目录之外并且不指定url(同

  9. ruby - Chef : Read variable from file and use it in one converge - 2

    我有以下代码,它下载一个文件,然后将文件的内容读入一个变量。使用该变量,它执行一个命令。这个配方不会收敛,因为/root/foo在编译阶段不存在。我可以通过多个聚合和一个来解决这个问题ifFile.exist但我想用一个收敛来完成它。关于如何做到这一点有什么想法吗?execute'download_joiner'docommand"awss3cps3://bucket/foo/root/foo"not_if{::File.exist?('/root/foo')}endpassword=::File.read('/root/foo').chompexecute'join_domain'd

  10. ruby - 为什么 return 关键字会导致我的 'if block' 出现问题? - 2

    下面的代码工作正常:person={:a=>:A,:b=>:B,:c=>:C}berson={:a=>:A1,:b=>:B1,:c=>:C1}kerson=person.merge(berson)do|key,oldv,newv|ifkey==:aoldvelsifkey==:bnewvelsekeyendendputskerson.inspect但是如果我在“ifblock”中添加return,我会得到一个错误:person={:a=>:A,:b=>:B,:c=>:C}berson={:a=>:A1,:b=>:B1,:c=>:C1}kerson=person.merge(berson

随机推荐