整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

光纤通信速率破纪录!2倍于全球互联网总流量,每秒能传

光纤通信速率破纪录!2倍于全球互联网总流量,每秒能传1.84Pbit

lex 发自 凹非寺

量子位 | 公众号 QbitAI

现在,光纤信息传输能快到什么程度??

最新研究显示,科学家们又在光纤通信的速度上取得了重大突破

他们在约8公里长的光纤上,成功实现了1.84Pbit/s的传输速率。

每秒1.84Pbit,是个什么概念?

这相当于每秒可以传输约236个1TB硬盘的数据;同时也相当于NASA等重量级科研机构专用网络速度的20多倍。

Phys.org指出,这还相当于目前全球互联网总流量的2倍

要知道,先前在今年5月份,光纤通信的速度才刚刚被刷新过一次,从每秒Tbit的量级上升到了Pbit量级——达到1.02 Pbit/s。

(1Pbit=1024Tbit)

而现在,这项纪录再度被刷新,背后的团队来自丹麦哥本哈根大学和瑞典查尔姆斯理工大学。

值得注意的是,他们是世界上第一个仅用“单个激光器+单个光学芯片”,就实现每秒传输速度超过1Pbit的团队。

截至目前,相关成果论文已经登上了Nature旗下的光学类顶刊:Nature Photonics。

这项成果在Hacker Newer社区上也引起了众网友的关注。

有人激动地表示:

这可能会引导出一种全新的缓存形式,数据将不断围绕着一圈光纤飞速传播。

随着相关光学传感器越来普及、越来越越便宜,当前未被使用的暗光纤将派上用场。

定制光学芯片,大幅提升传播速度

本研究涉及的主要领域就是光纤通信。

在这里先来说说光纤通信系统基本组成,它包括:光发信机、光收信机、光纤、光缆,还有中继器等。 

而在此研究中,最值得拿来说道说道的,就是光发信机部分的光源(光发信机由光源、驱动器和调制器组成)

研究人员专门设计定制出了一种光学芯片,它能把来自红外激光器的光转换成由许多颜色组成的彩虹光谱。

不同颜色光的频率不同。

因此,经此芯片处理后,单一激光的一个频率(颜色)甚至可以变出上百种频率(颜色)

而且通过人为操控,这些新生成颜色的频率差距都是固定的,很像梳子上的齿。

于是对这样的光谱,人送称号:光学频率梳 (Frequency comb,简称频率梳)

这个频率梳有两大明显优势

一是作为光波传输的源头,这些梳状结构很适合波分复用(WDM),数据会被调制到每个梳状线上,然后被同时传输。

由于每个单色光之间的频率和频率差都是固定的,所以也不用担心一下子传这么多数据,会引起混乱。

而如果直接用单一激光二极管的阵列作为光源,不仅需要更多硬件,而且每个激光器的频率容易随机漂移,造成数据间的串扰。

其二,所有这些生成的光都是相干的,这使得不同通道之间还可以联合进行数字信号处理。

所以总而言之,用频率梳充当光源,不仅可以同时传送多组互相不干扰的数据,而且还能联合处理数字信号,最终大大加快了数据传输速率。

为了测试种方案的实际效果,研究者们在一条光纤上进行了实验。

这条光纤长7.9公里,有37芯、223个频率通道。

研究人员对所得数据分析计算后得出,在这条光纤上的信息传输速率达到了1.84Pbit/s。

本文的共同一作,Oxenl?we教授指出:

这个解决方案是可扩展的。

可以通过技术手段,创建更多频率,而且可以在较小的副空间上先梳理不同的同频,再将其进行光学放大,有效解决存储空间和传输效率的问题。

研究团队简介

本研究由丹麦哥本哈根大学尼尔斯·玻尔研究所和丹麦技术大学(DTU)的团队主导,瑞典查尔姆斯理工大学的学者们也参与了研究。

尼尔斯·玻尔(量子理论创始人之一)研究所成立于1921年,目前的研究领域涉及天体物理学、生物物理学、电子科学,和量子物理学等。

论文的共同一作有3位,分别为:A. A. J?rgensen,和D. Kong和L. K. Oxenl?we。

L. K. Oxenl?we,现任丹麦技术大学光子通信技术教授,并兼任丹麦光通信用硅光子学(SPOC)研究中心的负责人。

1996年至2002年间,Oxenl?we先后在哥本哈根大学获得了物理学以及天文学学士和理学硕士学位,后在丹麦技术大学获得博士学位。

他的主要研究领域包括光纤通信、量子纠缠、量子计算等。

A. A. J?rgensen和D. Kong目前都是尼尔斯·玻尔研究所的研究员。

论文地址:
https://www.nature.com/articles/s41566-022-01082-z
参考链接:
[1]https://newatlas.com/telecommunications/optical-chip-fastest-data-transmission-record-entire-internet-traffic/

[2]https://phys.org/news/2022-10-transmission-laser-optical-chip.html
[3]https://news.ycombinator.com/item?id=33315392

— 完 —

量子位 QbitAI · 头条号签约

关注我们,第一时间获知前沿科技动态

经有产品经理使用Axure做个人博客,并发布上线。Axure到底有多少潜力?能否可以挑战更多的开发项目成为直接上线可用的产品?

笔者正好利用2020年超长的春节假期进行一次探索。为什么会想到要用一款原型工具去做成品?

主要原因是所见即所得的编辑过程,让那些需要一定时间学习编程才能完成的工作,由普通人来做学习成本几乎可以不计,而且质量的稳定性更加可靠。如轮播只要简单设置就好,也无需考虑不同浏览器之间的代码兼容性。其次Axure提供了强大的函数库,给于了无限可能。

本次的挑战的工具使用Axure8.0版,项目选择了作者公司中交互较为复杂的移动端商城装修功能。此功能让用户在PC端通过所见即所得的编辑方式,将移动端常见的展示效果,像搭积木一样,组合设置成为用户需要的移动端商城的样式。(如下图:左边,装修组件选择区。中间,实际效果预览区。右边,组件参数设置区。)

本次挑战的原型已发布到作者的线上空间,网址如下:

  • 不带Axure导航栏原型地址:http://yssycm.com/fituppage/fituppage.html
  • 带Axure导航栏原型地址:http://yssycm.com/fituppage

探索过程完成的主要功能:

  1. 适用于不同屏幕尺寸的自适应布局框架。
  2. 装修组件在预览区中的实时显示。
  3. 预览区指定位置插入新的装修组件。
  4. 预览区中删除已有的装修组件。
  5. 装修组件组件在预览区中位置的上下调整。
  6. 装修组件的设置变更时在预览区中的同步。
  7. 公用图片选择控件的单选与多选功能。
  8. 公用翻页控件。
  9. 装修组件“图片列表”功能。
  10. 装修组件“视频”功能。
  11. 装修组件“标题”功能。

因时间有限,其它装修组件的功能暂未提供,但依据笔者的经验,是可以实现的。如果需要与后台通讯则要外挂JS文件处理其中的数据。

经过这段时间的探索与试验,总结下来,Axure可做一些对文件体积不敏感,交互不复杂的项目。如:CMS,个人博客等展示类的产品。如果需要一些复杂的交互,也可以实现,实现的过程中则需要额外注意些事项,有兴趣的朋友可以了解后面分享给大家的一些探索中的经验。

Axure做前端开发的优缺点

优点

所见即所得的编辑效果:虽然只有一个优点,但这是很多人的痛点,编程学习的东西很多,从HTML,CSS,JS到放弃,而Axure的工作方式让前端的工作就像画画。

缺点

成品文件冗余:

以本次项目为例,HTML文件:482KB。JS脚本:855KB(其中jquery库162KB),CSS文件62KB,页面数据文件:1270KB。共计2669KB(不含图片资源)。如果把项目中所有功能做完,HTML文件和页面数据文件可能会更大,这也许是Axure为了存储原型描述相关的内容,生产的冗余。

执行效率低:

主要发生在数据集频繁大量变更时,会导至页面明显卡顿,而Axure的数据集机制也导致容易出现大量的数据操作。所以笔者只能控制一些界面元件的数量,降低实时同步频率,选择操作间隙更新数据等方法,让卡顿感尽量减少。

调试过程繁琐:

Axure并没有现成的较好的调试方法,需要规划一个调试空间,有兴趣的朋友可以看后面的单元测试与集成测试介绍。

代码碎片化:

Axure中所有的代码都写在元件上,这个开始没太在意,但随着项目的进展,影响越来越大最后导致后面几乎进行不下去,最后不得不提出Axure伪代码规范的解决方案。

经过本次探索,笔者认为如果Axure向可视化编程方向努努力,可能会极大的降低前端的开发门槛或改变开发方式。

如何使用Axure完成一些复杂的交互,下面将本次探索的一些经验分享给大家。

Axure编程中必备的基础功能实现

变量

实现变量效果的三种方式:

  1. Axure全局变量:利用Axure原生的全局变量功能,这种变量所有页面共用,可用在跨页面的数据传递上。
  2. 元件文本记录:利用元件的文本记录功能,这种方式保存的变量只在当前页面有效。
  3. 数据集(中继器):用于存取复杂的数据,可以当作一个小型的数据表用。由于中继器也是页面元件,所以只在当前页面有效。数据集中的数据可以通过文本元件配合筛选获得或通过筛选配合字符截取完成,笔者推荐前者,因为更直观简单易调试。

条件判定

Axure中每一个元件都可以添加条件判定。但用在模拟功能函数上,多选按钮(checkbox)较为适用,因为选择状态可视有利于调试过程。

循环

通过定时切换多选按钮(checkbox)完成。缺点逻辑严谨差一些,需要注意逻辑并行可能的影响。可以使用禁用或锁定等方式避免影响。

自定义功能函数

通过定时切换多选按钮(checkbox)完成。由于一个元件上承载的功能有限,所以有时需要多个checkbox组合完成,这种方式我们把他称为功能函数组。

命名规范

对于复杂的项目,元件多时间命名规范极为重要。否则再次优化,修改无从着手。规范可以帮助我们看名知其意,也有利于在众多元件中轻松找到需要的元件。

编程过程

设计过程

功能设计图:折分功能,帮助理解流程及流程中各动作的影响范围。

功能列表:记录拆分后的功能列表,帮助你实施时更加有条理,应随着伪代码的编写逐步完善。

功能影响列表:记录功能可能影响到的范围或用户可能的非正常操作列表,并给出对应的解决方案(如有必要可编写解决方案的伪代码),应随着伪代码的编写逐步完善。

伪代码编写

伪代码是将各元件的协作,用简练的文字描述出来的方法。因为Axrue中的功能,都是写在各各独立的元件上的,非常碎片化,对于复杂一些的功能,编辑不直观,思维容易被干扰,后期也不利于梳理和阅读。本次的项目随着元件的增加,几乎到了不可维护的情况。

所以需要避免在元件中盲目操作导致越发混乱,同时对于之后的维护,只需要有对应的伪代码,便可快速了解整个全貌,轻松上手,伪代码需要与命名规范结合使用。(本次使用的Axure伪代码规范文档:http://www.yssycm.com/personal/index.php/2020/03/15/axure-pseudocode-specification/)

创建调试环境

调试即是伪代码的实施的过程,按伪代码的内容要求,逐一操作创建对应的元件并赋于对应的功能。将需要监视的变量,数据集,功能函数组,分类陈列,方便运行中查看错误产生在那。必要时可增加额外功能元件,帮助触发特定的情况。Axure中的等待命令可以模拟编程调试中的断点功能,完成调试后可以只隐藏不删除,便于之后再次修改维护(发布上线的可以删除减少一些冗余)。

单元测试与集成测试

将项目中的功能,依据范围,目的,拆分为相对独立的功能模块,每一个功能模块在独立的页面进行编辑和调试。最后再组装到一个页面中。可以快速定位错误的位置,同时预览调试速度也快。

其它相关事项

  • 选择元件的顺序会影响执行顺序,如果发生难已理解的错误,可以仔细查看下顺序。
  • 如果能有一个大的宽屏(2560*1440)的显示器将极大提高效率与过程的舒适性。
  • Axrue发布后与预览时的图片引用位置是不同的。因为在发布时会把项目所有用到的图片进行总和,无论在项目中引用过几次是否在同一个界面中,最后都只会输出一张,大家共用,一般是输出到第一次引用此图片的页面资源文件夹中,如果项目中有依赖图片路径的操作,记的处理。
  • 引入外部的CSS文件可以扩展Axrue的样式功能。
  • 引入外部的JS文件可以实现更多的交互或实现原型中的数据与外部系统打通。如果计划要把数据传送到后台,伪代码设计时就应考虑到。

本文由 @镜缘 原创发布于人人都是产品经理。未经许可,禁止转载

题图来自Unsplash,基于CC0协议

文作者将与大家分享产品原型需求管理系统的内容,enjoy~

为什么要做这个东西?几个原因:

  1. 现有的worktile、leango等项目管理协作类工具,存放原型文档过于麻烦,产品、技术在寻找某些需求时,无法快速查找
  2. 在早之前分享过一篇文章《如何利用局域网实现产品需求目录管理?》文章主要介绍如何用RP文件当全需求目录管理后台,用中继器作数据库表,对局域网的需求目录进行管理。这个方式也不太方便,要增加一个需求,需要在一个小小的中继器表中增加内容,比较辛苦

设计原理

因为用Axure导出来的原型文件,该原型设计工具只考虑到页面展示,并没有考虑到数据存储这一块,Axure的数据存储全部存到js文件中。但Axure中有一个可以把数据传递到外部的地方:打开链接、在框架中打开链接。而技术原理中,有一个URL传参方法,下面是原型介绍:

在Axure原型中设置个全局变量,在另外一个页面使用该变量并进行赋值时,会发现,该原型工具本身也是通过URL来传递参数,如上图的:#text10=666。其中text10就是我定义的一个全局变量

所以整个产品需求目录管理系统设计的核心原理就是:URL传参+php脚本读参数+php写入本地文件。读数据核心:php读取本地文件+赋值给参数+打开指定文件并附带参数,如:index.html#canshu=666

下面是php脚本介绍:

这个文件(canshu.php)已经写得很明白了,打开本地的db.txt(类型于数据库,只不过是简单的数据库),然后读取链接参数,原型Axure将几个控件的内容按一定规则拼接好,赋值给一个全局变量,然后再到一个内部框架打开canshu.php,并带上参数,如下图的【打开./canshu.php?[[canshu]],canshu.php文件,通过$_SERVER函数就会读取到链接的参数,然后把该参数内容读取下来,并赋值给$urlcan,然后就拿该参数写入db.txt

然后有同学问了,怎么读?读用逆向思维即可:利用一个php脚本读取txt的内容,并赋值给canshu,然后打开index.html#canshu=xxx,如此下来,你的原型文件就能获取到txt的内容并赋值给了原型中的全局变量了。

以下是系统介绍:

  • 产品原型目录地址
  • 产品原型目录后台管理

特别注意的是:【URL】。URL是你本地原型的相对路径地址,比如你用本地局域网搭建,假如你的ip是:http://192.168.1.1/,并且你创建了1.5.1的文件夹,里面放了需求1的原型地址,所以它的相对路径就是1.5.1/index.html,当到产品原型目录点击时,就会直接跳转至http://192.168.1.1/1.5.1/index.html

【分类】分类会在产品原型目录地址首页显示标识,如下图:

【排期设置】排期设置就是首页的1.5.1、1.5.2、1.5.2这些排期,当然可以命名其它,但是注意的是,修改排期命名时,需求管理列表中的排期也需要跟这些命名一致,否则会筛选不出这些需求

使用这个需求管理系统,需要准备以下内容:

  1. 可以先查阅一下之前分享的文章之前分享过一篇局域网分享axure原型的文章:《【win+mac】用局域网内部分享Axure原型,这里有详细的步骤》、如何利用局域网实现产品需求目录管理?
  2. 该系统可以搭建在本地局域网,但是局域网需要配置一下PHP环境,因为需要运行php文件。如果你是自己买了服务器,或者上传到了公司服务器,那也需要配置下php环境,这个具体可以让技术帮你搭建
  3. 了解一下SVN文档管理工具,使用了该工具,可以在本地简历需求目录架构,并上传到服务器:

可以在本地管理需求目录,并提交至服务器(有中文语言包)

使用了SVN演示

写在最后

没有不可能,活学活用。

源码的逻辑就不码出来了,但是你如果要研究,可以自行研究。

本文由 @jeasionlee 原创发布于人人都是产品经理。未经许可,禁止转载。

题图来自 Pixabay,基于 CC0 协议