A. 什么是ADSLADSL是干什么用的
客观而言,ADSL是最容易实现的一种宽带技术,因为它是建筑在电话线基础上的,而国内电信部门拥有着最丰富的铜线资源,在世界上排名第二,仅次于美国。也正是因为这个因素,ADSL正在全国各地大力推广。
从技术上讲,ADSL将一条双绞线上用户频谱分为三个频段。由于ADSL的这种上行速率低,下行速率高的不对称性,因此称ADSL为非对称数字用户线技术(Asymmetrical DSL)。其实这样非常适合于用户对浏览网页、VOD这种高带宽下载数据的应用。
性能分析
1、速度快
ADSL支持的常用下行速率最高达8Mbps,是Modem速度的150倍,上行也达640kbps。
2、上网不需交电话费
ADSL在同一铜线上分别传送数据和语音信号,数据信号并不通过电话交换机设备,不需要拨号,这意味着使用ADSL上网无须交纳电话费。在很多地区,ADSL基本上都是按月付费的,费用固定,在使用上没有任何限制。另外,由于它是一种专线上网方式,可以与普通电话共存于一条电话线上,所以上网与接听电话、拨打电话互不影响。
3、可实现多种服务
ADSL的有效传输距离为3~5公里,它还可以根据双绞铜线质量的优劣和传输距离的远近动态地调整用户的访问速度,可以满足全屏动态图像多媒体应用的要求,例如可以获得1.5Mbps(MPEG-1)的带宽,相当于VCD图像质量,甚至3Mbps~6Mbps(MPEG-2的带宽),相当于DVD图像质量,这是传统的传输方式远远不能满足的。由于ADSL比Modem拨号上网要快得多,使ADSL成为用于网上高速冲浪、视频点播、远程局域网络访问的理想技术。
虽然ADSL有很多优点,但一样存在着自己的缺点,如对电信技术的要求比较高、对电话线路质量要求较高、制作成本较高、初装费及使用费也较高,而且每位用户占用一条专线带宽而使有限资源不能充分利用以及存在电话线质量和远距离信息损耗较大的缺点等。
费 用
对ADSL的用户来说,成本投入主要包括:硬件设备(即ADSL Modem、网卡和分离器的费用),初装费以及每月的使用费。国内每个城市的具体资费因其促销政策而略有不同,但费用组成基本相近。
以上海为例,目前上海电信提供的终端设备费为790元,设备安装调试费400元,加上10元手续费,初期投资的成本在1200元左右。在“首付”之后,只需每月再支付130元(其中包括50元月租费、80元包月信息费)就可以无时间限制地以512kbps的带宽在网上畅游。
目前各地电信局在为用户安装ADSL时一般会要求购买他们提供的ADSL Modem终端设备,ADSL Modem可分为内置、外置及USB三种类型。具体选择哪种,大家可根据自己的需求而定,其中外置ADSL Modem安装、设置和使用较为方便,但价格较贵,而且由于外置的ADSL Modem(如图2)使用了以太网接口,所以在与电脑连接时还需要配一块以太网卡。而内置PCI接口的ADSL Modem价格便宜,一般主流的400~500元就能拿下,而且不占外部空间,对于一般家庭用户非常经济。当然你也可以适当考虑USB的ADSL Modem,它具备安装使用方便、支持热插拔、接口速度较快等特点,也是一种选择。
适用人群
通过以上介绍,我们可以对ADSL的特点、功能和目前的资费情况有了比较清楚的了解。那么我们可以想像,最终影响大家选择上网方式的主要问题无疑就是大家本身的需要、目的以及与之对应的接入方式的性价比了。
在现阶段,除了Modem拨号作为低端普及型的接入方式外,ADSL技术无疑是电信公司占领宽带接入网市场的主要接入技术。所以,从实用的角度来看,目前对于家庭用户以及部分小型企业来说,最实际和最合算的接入方式恐怕就是ADSL了。当然,随着时间的推移,ADSL取代Modem拨号上网也是一种必然。
由于国内上网用户数的飞速膨胀,网络速度太慢和收费太贵就成了中国Internet发展的两大障碍。ADSL之所以迅速发展了起来,就是其没有因为先进性而被“贵族化”,而是定位为“大众化”的高速接入服务。作为上网最需要关注的两个因素——性能和价格,ADSL方式都有不俗的表现:512kbps以上的带宽比我们现在主流的Modem快很多;由于实施的是包月制度,100多元的网络费用也相对低廉。在目前ADSL 用户中,个人用户与企业用户各占一半,就说明了ADSL已步入小公司、家庭用户,而且费用也是普通用户所能承受的。所以,如果你上网较为频繁,上网时间较长,需要经常进行大数据量的传输或者想看网络电影、收听网络广播,而当地又能提供ADSL宽带接入的话,你还是早点装上ADSL吧!
B. 如何在elasticsearch中查看Logstash打到elasticsearch的数据
Elasticsearch是一个高伸缩、高可用、基于Apache
Lucene的开源搜索与分析引擎。通过它你可以很方便地对数据进行深入挖掘,可以随时放大与缩小搜索与分析的区间,并且这一切都是实时的。为了提供了一
个优秀的用户体验,我们对Elasticsearch投入了很大的精力。Elasticsearch本身的各种选项已有了良好的默认值,使用户能够更方便
地上手。但我们也为用户提供了全方面的选项,在必要的情况下,可以对该引擎的几乎每个方面进行定制。
举例来说,当你使用它搜索数据的时候,可以使
用传统的查询(‘查找满足条件Y的所有项X’)进行过滤(在Elasticsearch术语中称为“视图”),高亮显示搜索片段,为每条结果提供相应的上
下文。也可以使用地理位置(‘查找在Z里之内的所有项’),或是为用户提供搜索关键字建议,并且提供了强大的聚合(即Elasticsearch中的“分
面”(facet))能力,例如时间分布图或者统计图。
Elasticsearch既可以搜索、也可以保存数据。它提供了一种半结构化、不依赖
schema并且基于JSON的模型,你可以直接传入原始的JSON文档,Elasticsearch会自动地检测出你的数据类型,并对文档进行索引。你
也可以对schema映射进行定制,以实现你的目的,例如对单独的字段或文档进行boost映射,或者是定制全文搜索的分析方式等等。
你既可以在自己的膝上电脑中启用一个小型实例,也可以在云端启用几十乃至几百个实例,只需要一些极小的改变而已。Elasticsearch会自动进行横向扩展,它能够随着你的应用一起成长。
Elasticsearch
运行在JVM之上,它使用JSON格式,通过RESTful
HTTP接口的方式访问,因此任何一种客户端或语言都能够与其交互。目前已经有了大量的客户端和框架的整合方案,包括对多种编程语言的支持,通过这些原生
的API与专门的DSL将不一致的地方最小化,并实现性能最大化。
Elasticsearch非常适合于大数据的场合,它的高伸缩性与分布式架构
的本质使得对大量信息的搜索与存储都可以在近乎实时的情况下完成。通过Elasticsearch-Hadoop这个项目,我们使Hadoop使用者(这
里也包括Hive、Pig和Cascading)能够用一个成熟的搜索引擎来增强他们的工作流。我们还为他们提供了一种丰富的语言,能够让他们更好地表达
意图,因而更准确地获得想要的结果,并且速度也大大提高了。
C. 智能合约怎么运用在监狱中
数字化监狱时代已逐步迈向智慧监狱时代,智慧监狱是监狱 信息化建设的最高形态。文章针对智慧监狱中存在的数据中心化、安全性欠缺等方面问题,分析区块链技术应用于智慧监狱中的优势及可行性,采用智能合约技术,给出了基于私有链的智慧监狱管理系统设计,保证了系统信息的共享、保密和不可篡改性。旨在为“区块链+”监狱管理创新模式提供参考。
2016年12月“区块链“首次被写入《国务院关于印发“十三五“国家信息化规划的通知》,监狱系统应该紧跟步伐,积极开拓一条新型发展之路叫区 块链技术最早在2008年中本聪发表的论文中被提出,后来依次经历了以区块链为单位的块链式数据结构的区块链1.0、创建可共用的技术平台的区块链2.0、以价值互联网为内核的区块链3.0。
如今区块链技术逐步发展,引起了国内外的极大重视,下面从以下三个方面来表述近几年区块链技术的发展。
国外制度监管层面:
2015年6月4日,纽约金 融服务部门(NYDFS)发布了数字密码货币公司监管框架BitLincense。2015年10月,奥巴马政府和 私人公司结成“区块链联盟”的伙伴关系,目的是 监管防止将数字密码货币用于非法用途。
2016年1 月19 H,英国政府公布了《分布式总账技术:超 越区块链》;2016年2月,欧洲委员会(EC)宣 布了欧洲反洗钱和反恐怖金融监管规划。
2017年5 月25 H,美国国防高级研究计划局要求印第安的 科技与制造公司(ITAMCO)开发使用区块链协议的平台。
教育科研发展层面:
2015年9月,肖风联合以 太坊创始人Vitalik Buterin和比特股联合创始人沈波共同成立“区块链实验室”,以促进区块链技术的教育;
2016年加州大学伯克利分校推行了针对区块链的本科教育囚;
2018年3月,由牛津大学多名学者联合推出成立了第一所基于区块链技术的大学 “伍尔夫大学”。
企业应用研究层面:
国内外许多企业都已致力于区块链的架构的设计和应用的推广。如文献所述,纽约州电力公司TransActiveGrid建立微电网网络;Linux基金会于2015年提出了超级账本项目; 2016年5月31日,腾讯对区块链在金融应用方面 的合作联盟(深圳)成立;中国人民银行于2017 年成立数字货币研究所。
区块链技术虽然有了极大的进步,但在可行性、安全性和监管方面还需要进一步加强,预计还需 5~10年的时间才可达到成熟期山。伴随区块链技术的逐步完善,基于理论总归要指导实践,否则只是虚的概念的理念,区块链技术得到了广泛应用。
区块链应用于医学的成功案例较多,如全球具有最大规模的区块链公司Guardtime利用区块链各个节点间的共同协商来提升智慧医疗中数据的安全保护,实现100万份数据的安全存储,而将区块链技术应用于监狱信息化的案例较少。
对于智慧监狱来说,安全是一切业务开展的基础条件,信息安全和数据安全是核心要素。文章通过分析当前监狱信息化建设过程中存在的问题,探索基于区块链技术如何减少信任程序、提供安全可靠的数据存储、提高工作处理效率等问题,为区块链于监狱系统的应用落地做必要的知识储备回。
智慧监狱现状分析
1.1智慧监狱的概念
智慧监狱就是在监狱中利用互联网、云计算、大数据整合系统内部的环境、人流、信息流,以智慧通信、智慧控制实现数字化采集信息、网络化传输信息、智能化管理信息,构建数据联动的机制,对监狱数据采用数据挖掘,构成监狱大数据,对大数据进行分析,构建智慧监狱同。
1.2智慧监狱的问题分析
到目前为止,全国监狱已基本布设智能报警系统、监狱围墙周界、综合门禁系统等,监狱信息化 建设水平有了显著提升,但与理想状态还有差距,主要表现在以下几方面:
信息共享程度低
数据壁垒问题严重阻碍监狱信息化的发展性罪犯信息种类多、互补性强、关联关系复杂。监狱内部数据集成化程度较低,信息缺少共享机制,难以形成协同效应,系统内部存在信息交叉录入的状况,造成存储冗余,浪费警力。
信息准确性难确保
现有的数据库建设大多是对基础数据的建设,如违法犯罪人员信息系统,必须保证信息的准确性, 并且可以作为司法依据,但目前因人为或失误导致的身份信息有偏差,服刑表现数据不准确的问题,严重损害了执法形象。
信息安全机制不健全
信息安全结构欠成熟,细节描述欠清晰,具体管理中缺乏安全标准,应用缺乏实践经验,不能保证信息的完整存储和安全传输,信息的丢失、泄露、篡改等现象具有发生的可能性。
警戒设备漏洞难避免
警戒设备的配比,很大程度上决定了监狱的安全性,当今门禁系统加了一门又一门,隔离网墙筑了一道又一道,但其毕竟是“物”的防线叫还有诸多技术问题需解决,如基于视频点名、条形码扫描等的定位技术有时造成点名不准确;
高投入的视频监控主要用于事后的取证,不能充分利用大数据分析罪犯通话记录、行为习惯、交往圈、家庭背景等方面的信息,进行必要的监控预警和图像智能化分析,避免脱逃或自杀的可能。
区块链技术的优势
区块链利用数据加密技术将数据区块以链式存储结构的形式存储,每个区块包括区块头和区块身,区块头存储上一个区块的哈希值,作用类似于指针,区块身保存经过验证合法的记录和时间戳等。
区块链利用P2P、共识机制来建立分布式存储节点的信任;
利用智能合约实现交易的自动执行,并且是不受外面干扰的准确运行;
利用“脚本”对数据进行自动操作,实现可编程的数据库。
区块链可能会成为创造信任的一种协议,类似于HTTP协议、TCP/IP协议,利用计算机编程语言来开发去中心化的产品。
数据存储:区块链是去中心化的存储结构,多个节点组成端到端的网络,每个节点的地位都是对等的,个别节点的故障不会影响到整个系统,可解决监狱系统内部共享性差的问题;
区块链中若更改某个区块的数据,则要更改此块后面的所有数据,因此很难实现,区块链本身的机制实现了其不可更改,即使内部工作人员也无法更改,确保监狱系统中数据一旦上链则不可更改;
区块链中接入的节点越多,则安全性越高,当区块后面连接6个区块后,信息几乎不可能被篡改,称此时为稳定状态圆,可实现智慧监狱中数据的可靠存储。
数据溯源:利用时间戳和加密技术的链式存储结构,保证可以追溯每一笔交易。在智慧监狱中实现数据的取证操作。区块链节点利用相互验证保证准确性,若对交易有疑问,可利用回溯交易记录,从而准确判断真实性。如监狱生产车间的产品信息上链保存,产品信息包括配件溯源信息和配件产品检测证书,从而可以检验产品的质量合格性。
数据交易:所有的数据的传送都是基于公钥地址的,而非具体到个人真实身份,在匿名的状态下 完成区块链中的交易,但无法知道其真实身份,匿名特征为举报者提供了安全保护;区块链是创造信任的网络,节点之间按规则操作,实现对整个体系的信任,区块链中数据记录和规则都是透明的,任何人都可用公用接口来查询数据,人为无法对它更改,实现监狱系统中所有数据都上区块链,数据实时传送。
数据安全:区块链可以看作利用加密算法和共 识机制来保证数据不被篡改的一组协议气区块链 利用最长链条来作为工作量的一种证明。只要长链条是诚实矿工创造的,则区块链是安全的,利用时间戳来标识先后次序,避免重复交易。
区块链利用哈希函数保证了数据的所有权,用表1来举例说明。
美国的中本聪提出了泊松分布的概率论模型,计算出新的哈希头刈后,后面要继续追加N个头部(名、入、灯…)后,刈才得到认可,在攻击者未掌握超过51%的算力的情况下是较难实现的。攻击者追上第z块的概率见如下公式所示:P表示 诚实者发现下一节点的概率,0表示攻击者发现下 一节点的概率。
分析可得随着z的增大,其追上的机会越来越小。因此,用数学方法证明了区块链的特殊结构实 现了其不可篡改性。
区块链技术应用研究
区块链分为公有链、联盟链和私有链,由于私 有链主要提供安全、可追溯、不可篡改、自动执行 的运算平台,可以同时避免来自内部和外部对数据的攻击,因此符合承载公平、公正、严明、可靠的 监狱环境。
首先利用区块链保存信息并且保证其不可被更改,
其次实现信息的共享,建设良好的跨平台协作。
利用 IPFS ( Interplanetary File System )加密保存数据,与智能合约相结合,实现信息的保护 和共享,区块链系统与原始系统利用接口对接,实 现对原始信息系统的保护。IPFS包括块交换、哈希表等,保存文件时得到文件指纹,获得文件后,通过文件指纹将文件取出并验证,再将其返回。
3.1可行性分析
在智慧监狱领域,区块链的去中心化,可以将不同数据资源集成于一个区块链中,利用区 块链的分布式存储并结合一定的云存储技术,实现对智慧监狱信息的存储。
利用区块链的共识机制实现信息的匿名性,确保了隐私保护。共识机制是通过投票,对交易确认。区块链的共识机制确保所有诚实矿工的区 块链的前缀相同,同时保证由诚实矿工发布的信息会被其它诚实矿工添加到自己的区块链中,共识机制有拼算力的PoW(Proof of Work),拼财力的 PoS(Proof of Stake)等。区块链运作越高速则共识的代价越昂贵。
通过数据加密哈希算法解决共享后的权限问题,保证数据的不可篡改性,降低了系统的信任风险,将区块链应用于智慧监狱,保存原始数据, 防止人为篡改,杜绝“走关系”篡改罪犯表现基础数据,提高数据的可信度。
区块链的每个节点都保存完整的数据备份,即使某个节点数据丢失也可从其它节点将数据 恢复。将区块链技术应用于数据采集方面,给加入区块链的原始数据添加时间标记,从而证明数据的真实可靠性,是一种较低成本的验证过程。
3.2体系结构
充分利用区块链的特性来设计系统架构如图2 所示,实现将各个监狱的数据资源集合到区块链中,监狱管理局负责区块链的监管,完成数据的上链和信息的共享。
3.2.1罪犯模块
个人基本信息
将区块链用于犯人基本信息记录的保存,即每位犯人拥有一个账本,从而有了关于自己过往的完整数据库,这些数据的掌握者是罪犯本身,充分体 现了智慧监狱的现代化的一个重要的考量标准“人文性”,从人性上避免犯罪心理上的漏洞。
狱中表现数据
罪犯在狱中会进行劳动改造和思想改造,狱中表现数据非常重要,且为罪犯减刑的重要依据,因此必须保证数据的真实性和无法篡改性。基于区块 链特有的数据安全性,能充分利用区块链上的记录来决定是否满足减刑条件。监狱系统视频监控中所获数据,利用“区块链+人工智能”技术分析犯人 的行为轨迹,避免脱逃、自杀的发生。
3.2.2警员模块
警员任职履历
包括警员的出生背景、教育程度、工作经历、 工作绩效、年终考核等,形成多方共识的警员电子 档案,用技术手段避免繁琐的信息整合,减轻了档案管理的工作。
警员巡更管理
记录警员巡逻路线并被保存,准确评定工作时间的表现;记录警员能否走到罪犯中间,了解他们的思想波动,筑造良好的警囚关系叫
3.2.3财务数据管理模块
日常开支
监狱中所有开支数据实时存入区块链,实现了 过程的透明化和信息的准确性,较好实现了财务资金的监管。
劳动收益
由于劳作的特殊性,通过区块链将劳动产品的 追溯认证放到监管中,将整个制造过程存储指纹记录作为数据的存证,由于过程的公开化,避免了极端分子的破坏行为,保证了产品的安全性。
3.2.4信息管理模块
日常的文件、工作安排和会议记录等及时存入区块链,利用区块链信息的实时传送使所有人都可及时获取最新信息。对链中数据设置数据访问权限分级控制,不同级别获得的信息量也不同,通过加 密算法,使数据只能被相关人员阅读,从而强化对隐私内容的保护,提高数据的安全性。
3.2.5监控中心模块
实时监控监舍、生产车间、食堂及监狱周边区 域,出现紧急事端及时报警。对监控中心数据开展 预警判断,将事端抹杀在萌芽中。监控数据及时打 包上链叫。监狱内重要通道对出入人员实时记录,对限制区域增设门禁。对监舍每个一小时清监一次, 人数不齐将会报警。劳作场地也要每隔半小时清点 一次。通过必要的监控措施,减轻警力,提升监狱 的安全性。
3.3智慧监狱中区块链的数据类型
智慧监狱中区块链采用多种数据类型,对不同 的数据做不同数据存储处理。区块链API/SDK将适配接收并格式化这些数据,核心数据和计量证书签 名后上链存证,区块链中存放文件的哈希值后,用户在客户端对文件查找,利用IPFS网络获取目的文件凹。利用区块链的防篡改性避免人为的篡改;利用链上时间戳和哈希值,实时追踪数据变化的全 过程,数据防伪性增强。如图3所示。
3.4采用智能合约虚拟机分层思路
智能合约是可被所有节点运行的区块链的代 码,按照定好的规则管理资产,通过多方协作,清 除错误风险,实现每个用户的透明操作回。链上脚本实现区块链的可编程和智能合约自动执行,随脚本机制的加强,实现了区块链与智能合约的融合发 展,链上脚本为区块链提供了扩展接口,任何人都 可利用脚本实现区块链的应用。
顶层的DSL引擎将DSL翻译成智能合约的开发语言Solidity, Solidity 是静态语言,当其编译完发到网络后,可被以太坊 调用,实现web应用,中层的Solidity语言通过安全分析工具检查后,转换为EVM指令集,EVM使 开发人员使用高级语言来编智能合约,再利用EVM 编译成字节码后部署在区块链中,实现开发智能合约,底层是可插拔的架构,可直接运行在EVM虚 拟机上,也可转换后运行在WASM虚拟机上。
事前使用比较严格的合约和虚拟机,上线前还要经过严格的审核和形式化证明,事后要强 化运行控制和追责。
3.5隐私数据处理
由于区块链是P2P网络,采用中继转发进行通 信,因此比较难推测出信息传播的去向。由于具体 交易中使用用户自己创建的地址,实现匿名操作, 所以与个人具体信息无关,较好实现了数据存储的安全性。区块链中的隐私分为交易隐私和身份隐私, 权限分层设计如图5所示。
数据只能公开部分信息, 对于较敏感的数据利用私钥授权设置隐私数据保护。利用加密算法和智能合约相结合来实现对隐私 数据的保护,如罪犯和警员的个人信息模块的信息 和加密密钥一起存于区块链中,通过数字指纹防止信息被泄露,其当事人可利用智能合约来更改数据访问权限网。有如下访问权限:
掌握权限:对于犯人模块,犯人自身拥有;对 警员模块,警员自己掌管。
虚权限:只能查看到其密文而无法真正访问内 部数据。
结语
认真贯彻党的十九大精神,积极落实“科技强 国,网络强国,数字中国,智慧社会”战略部署, 秉承“没有信息化就没有现代化”的工作思路,注 重在科学化、精细化、智慧化上下功夫,创造“狱 警大脑”聪明过人、“感知触角”无处不在、“智 慧监狱”保佑平安的新气象,推动区块链、云计算、 大数据等先进技术在监狱工作中的深度融合发展, 努力将罪犯改造为守法公民,维护社会的安全稳定。
智慧监狱是未来监狱系统信息化建设的基本方向, 它是融合智慧城市、智慧地球理念于监狱领域的映射,加强对智慧监狱的研究探索,努力引导监狱信 息化建设向更广更深方向发展,为监狱现代化建设 提供了长足动力。
文章探讨了智慧监狱中存在的一 些问题,探索利用区块链技术特征实现数据信息的 不可篡改性和可追溯性,包括如何在区块链上存放 数据并保护数据隐私,探索解决智慧监狱现存问题。
若可对区块链实际应用的成功案例进行二次开发,则可节省成本,还可保证运行的稳定性回。接下来 将积极探索切实有效的区块链应用落地,坚持不忘 初心、牢记使命,积极努力探索监狱信息化建设向 更高层次,更大成效发展。
D. 大数据时代是如何到来的,跟那些主要因素有关系
这东西只能说是时代在更新,社会在进步;必然会出现很多新的产物。大数据主要基于网络,因为现在基本谁都离不开手机,离不开网络。
不是专业人士,对错勿怪啊
E. ISDN,DSL,ADSL,T
ISDN(Integrated Services Digital Network)综合业务数字网络是基于公共电话网的数字化网络,它能够利用普通的电话线双向传送高速数字信号,广泛地进行各项通信业务,包括话音、数据 、图象等。因为它几乎综合了目前各单项业务网络的功能,所以被形象地称作“一线通”。
ADSL(Asymmetric Digital Subscriber Line),即非对称数字用户环路,它利用数字编码技术从现有铜质电话线上获取最大数据传输容量,同时又不干扰在同一条线上进行的常规话音服务。其原因是它用电话话音传输以外的频率传输数据。也就是说,用户可以在上网“冲浪”的同时打电话或发送传真,而这将不会影响通话质量或降低下载互联网内容的速度。
DSL的中文名是数字用户线路,是以电话线为传输介质的传输技术组合。DSL技术在传的公用电话网络的用户环路上支持对称和非对称传输模式,解决了经常发生在网络服务供应商和最终用户间的“最后一公里”的传输瓶颈问题。
F. 以太网,DSL,ADSL是怎样的一个概念
ADSL介绍
一、概述
ADSL是DSL的一种非对称版本,它利用数字编码技术从现有铜质电话线上获取最大数据传输容量,同时又不干扰在同一条线上进行的常规话音服务。其原因是它用电话话音传输以外的频率传输数据。也就是说,用户可以在上网"冲浪"的同时打电话或发送传真,而这将不会影响通话质量或降低下载Internet内容的速度。
ADSL能够向终端用户提供8Mbps的下行传输速率和1Mbps的上行传输速率,比传统的28.8K模拟调制解调器快将近200倍。这也是传输速率达128Kbps的ISDN(综合业务数据网)所无法比拟的。与电缆调制解调器相比, ADSL具有独特优势:它提供针对单一电话线路用户的专线服务,而电缆调制解调器则要求一个系统内的众多用户分享同一带宽。尽管电缆调制解调器的下行速率比ADSL高,但考虑到将来会有越来越多的用户在同一时间上网,电缆调制解调器的性能将大大下降。另外,电缆调制解调器的上行速率通常低于ADSL。不容忽视的是,目前,全世界有将近7.5亿铜质电话线用户,而享有电缆调制解调器服务的家庭只有1200万。
ADSL设计目的有两个功能:高速数据通信和交互视频。数据通信功能可为因特网访问、公司远程计算或专用的网络应用。交互视频包括需要高速网络视频通信的视频点播(VoD)、电影、游戏等。目前,ADSL只支持与T1/E1的接口,在未来可以到桌面。
二、ADSL的标准
一直以来,ADSL有CAP和DMT两种标准,CAP由AT&T Paradyne设计,而DMT由Amati通信公司发明,其区别在于发送数据的方式。ANSI标准T1.413是基于DMT的,DMT已经成为国际标准,而CAP则大有没落之势。近来谈论很多的G.Lite标准很被看好,不过DMT和G.Lite两种标准各有所长,分别适用于不同的领域。DMT是全速率的ADSL标准,支持8Mbps/1.5Mbps的高速下行/上行速率,但是,DMT要求用户端安装POTS分离器,比较复杂;而G.Lite标准虽然速率较低,下行/上行速率为1.5Mbps/512Kbps,但由于省去了复杂的POTS分离器,因此用户可以像使用普通Modem一样,直接从商店购买CPE,然后自己就可以简单安装。就适用领域而言,DMT可能更适用于小型或家庭办公室(SOHO);G.Lite则更适用于普通家庭用户。
1、CAP(Carrierless Amplitude/Phase Molation)
CAP是AT&T Paradyne的专有调制方式,数据被调制到单一载体信道,然后沿电话线发送。信号在发送前被压缩,在接收端重组。
2、DMT(Discrete Multi-Tone)
将数据分成多个子载体信道,测试每个信道的质量,然后赋予其一定的比特数。DMT用离散快速傅立叶变换创建这些信道。
DMT使用了我们熟悉的机制来创建调制解调器间的连接。当两个DMT调制解调器连接时,它们尝试可能的最高速率。根据线路的噪声和衰减,两个调制解调器可能成功地以最高速率连接或逐步降低速率直到双方都满意。
3、G.Lite
正如N1标准和互用性测试曾推动了ISDN市场一样,如今客户和厂商也急切地等待着一项DSL设备互用性标准的到来。该标准被称为G.lite,也被另称为Consumer Asymmetrical DSL (消费者ADSL),它正在由一个几乎包括所有主要的DSL设备制造商的集团--Universal ADSL Working Group进行开发。不过不要将这个标准与Rockwell公司1997年夏天展示的已不再使用的基于QAM的Consumer DSL芯片集或者与Universal ADSL相混淆。G.lite的第一版工作文档是1998年6月在亚特兰大举行的Supercomm贸易博览会上公布的。这项初步的G.lite标准首先由UAWG交付表决,然后作为一项建议转交给国际电信联盟ITU。ITU当时预计在1998年底之前签署认可一项正式的G.lite标准。
未来的G.lite标准的某些细节已经明了,基于该标准的CPE也许很快就会出现。G.lite标准(即ADSL)将基于ANSI标准"T1.413 Issue 2 DMT Line Code"之上,并且将1.5Mbps的下行速度和384Kbps的上行速度预定为其最大速度。小于那些最大速度的"速度自适应(Rate-Adaptive)"也是该标准的一部分,所以,Internet服务提供商(ISP)可以提供256Kbps的对称速度作为一个G.lite连接速度。不过,为了简化设备和供应要求,多数设备将被限制在那些最大速度上。
1.5Mbps的速度限制虽然与DSL的一般被公布的7Mbps的最大下行速度相比似乎具有限制性,但它是基于典型客户布线方案的经验测试之上,也是基于可通过ISP获得的实际骨干带宽之上。
DSL线路需要优质铜环--这意味着没有加感线圈,桥接抽头之间不超过2500英尺,而一般与中心局之间的距离不超过18000英尺。如果速度更高,距离要求就变得更加关键,而且线路也更容易被"扰乱者"--和DSL线路处于同样线捆中的ISDN和T1线路--破坏。
虽然G.lite正被宣传为一项"不分离(splitterless)"的标准,但新的标准所面临的工程现实意味着,在一开始可能仍然对分离器、过滤器,甚至新的客户场所布线有所需要。随着G.lite的标准走向成熟,人们更好地理解这些问题,更好地实施厂商芯片,它也许才会更接近于成为一项真正的不分离的标准。
当然,即使处于G.lite速度,常规的PC串行端口上的UARTs(通用异步接收机/发送器)也已不能跟上。因此,使用串行技术的单个用户的外置PC调制解调器将会在PC上采用通用串行总线端口(Universal Serial Bus),也有可能采用增强的并行端口;路由器和桥接单位则使用以太网;更新一点的芯片集,如Rockwell最近宣传的V.90/ADSL配对芯片集,将会把G.lite和V.90标准结合在一个调制解调器上,为客户提供一项连接配置选择。
带宽是另一项考虑因素。当Bellcore于1989年首次公布其DSL工作时,其目的是为了将DSL用于视频点播服务,而不是纯粹的数据通信。
但是,现在没有几家ISP能够真正满足1000个用户的7Mbps Internet访问需求。G.lite的1.5Mbps/384Kbps限制是一个合理的最大速度,无论如何,许多用户很可能会选择更慢的对称速度。..
4、目前的标准
ANSI提出了速率可达6.1Mbps的ADSL标准T1.413,ETSI(European Technical Standard Institute)增加了附件以适应欧洲的需要,称为T1E1.4,将扩展标准以包含用户端的复用接口、网络配置和管理协议及其它改进。
三、原理
ADSL用其特有的调制解调硬件来连接现有双绞线连接的各端,它创建具有三个信道的管道,见下图。
该管道具有一个高速下传信道(到用户端),一个中速双工信道和一个POTS信道(4KHz),POTS信道用以保证即使ADSL连接失败了,语音通信仍能正常运转。高速和中速信道均可以复用以创建多个低速通道。
在过去数年中,电话系统的硬件技术有了很大进步,然而ADSL使用了非常简单的方法来获取取惊人的速率:压缩。它使用很先进的DSP和算法在电话线(双绞线)中压缩尽可能多的信息。
ADSL用频分复用(FDM)或回馈抑制(Echo Cancellation)在电话线中创建多个信道。FDM使用一条下传数据管道和一条上传数据管道,并用时分复用(TDM)将下传管道分割,上传管道也被分成多个低速信道。回馈抑制将下传管道和上传管道重叠,并用本地回馈抑制(如V.34规范)将二者区分。回馈抑制虽然更加有效,但增加了复杂性和成本。
ADSL复用下传信道,双工化,将信道分块,给每块加上错误码,然后发送数据,接收端根据误码和块长纠错。测试表明ADSL调制解调器的纠错足以应付MPEG2和多种其他的数字视频方案。
四、ADSL的未来
ADSL的未来可能不会与现在有太大的差异。目前ADSL的实现有两种方式:CAP和DMT,后者已成为标准。虽然CAP不是标准,但它由AT&T Paradyne发明,已经在通信中广为应用。G.Lite也很有发展前途。很难说将来会是什么样子,但有一点可以肯定:厂商和电话公司有一个需要克服以发展网络的瓶颈,解决方法必须在目前很快可用,并在未来仍然有用武之地。
参考资料:http://kuandai.kfinfo.ha.cn/Article_Show.asp?ArticleID=115
G. Apache Flink现在在大数据处理方面能够和Apache Spark分庭抗礼么
我们是否还需要另外一个新的数据处理引擎?当我第一次听到flink的时候这是我是非常怀疑的。在大数据领域,现在已经不缺少数据处理框架了,但是没有一个框架能够完全满足不同的处理需求。自从Apache spark出现后,貌似已经成为当今把大部分的问题解决得最好的框架了,所以我对另外一款解决类似问题的框架持有很强烈的怀疑态度。
不过因为好奇,我花费了数个星期在尝试了解flink。一开始仔细看了flink的几个例子,感觉和spark非常类似,心理就倾向于认为flink又是一个模仿spark的框架。但是随着了解的深入,这些API体现了一些flink的新奇的思路,这些思路还是和spark有着比较明显的区别的。我对这些思路有些着迷了,所以花费了更多的时间在这上面。
flink中的很多思路,例如内存管理,dataset API都已经出现在spark中并且已经证明 这些思路是非常靠谱的。所以,深入了解flink也许可以帮助我们分布式数据处理的未来之路是怎样的
在后面的文章里,我会把自己作为一个spark开发者对flink的第一感受写出来。因为我已经在spark上干了2年多了,但是只在flink上接触了2到3周,所以必然存在一些bias,所以大家也带着怀疑和批判的角度来看这篇文章吧。
Apache Flink是什么
flink是一款新的大数据处理引擎,目标是统一不同来源的数据处理。这个目标看起来和spark和类似。没错,flink也在尝试解决spark在解决的问题。这两套系统都在尝试建立一个统一的平台可以运行批量,流式,交互式,图处理,机器学习等应用。所以,flink和spark的目标差别并不大,他们最主要的区别在于实现的细节。
后面我会重点从不同的角度对比这两者。
Apache Spark vs Apache Flink
1.抽象 Abstraction
spark中,对于批处理我们有RDD,对于流式,我们有DStream,不过内部实际还是RDD.所以所有的数据表示本质上还是RDD抽象。
后面我会重点从不同的角度对比这两者。在flink中,对于批处理有DataSet,对于流式我们有DataStreams。看起来和spark类似,他们的不同点在于:
一)DataSet在运行时是表现为运行计划(runtime plans)的
在spark中,RDD在运行时是表现为java objects的。通过引入Tungsten,这块有了些许的改变。但是在flink中是被表现为logical plan(逻辑计划)的,听起来很熟悉?没错,就是类似于spark中的dataframes。所以在flink中你使用的类Dataframe api是被作为第一优先级来优化的。但是相对来说在spark RDD中就没有了这块的优化了。
flink中的Dataset,对标spark中的Dataframe,在运行前会经过优化。
在spark 1.6,dataset API已经被引入spark了,也许最终会取代RDD 抽象。
二)Dataset和DataStream是独立的API
在spark中,所有不同的API,例如DStream,Dataframe都是基于RDD抽象的。但是在flink中,Dataset和DataStream是同一个公用的引擎之上两个独立的抽象。所以你不能把这两者的行为合并在一起操作,当然,flink社区目前在朝这个方向努力(https://issues.apache.org/jira/browse/FLINK-2320),但是目前还不能轻易断言最后的结果。
2.内存管理
一直到1.5版本,spark都是试用java的内存管理来做数据缓存,明显很容易导致OOM或者gc。所以从1.5开始,spark开始转向精确的控制内存的使用,这就是tungsten项目了
flink从第一天开始就坚持自己控制内存试用。这个也是启发了spark走这条路的原因之一。flink除了把数据存在自己管理的内存以外,还直接操作二进制数据。在spark中,从1.5开始,所有的dataframe操作都是直接作用在tungsten的二进制数据上。
3.语言实现
spark是用scala来实现的,它提供了Java,Python和R的编程接口。
flink是java实现的,当然同样提供了Scala API
所以从语言的角度来看,spark要更丰富一些。因为我已经转移到scala很久了,所以不太清楚这两者的java api实现情况。
4.API
spark和flink都在模仿scala的collection API.所以从表面看起来,两者都很类似。下面是分别用RDD和DataSet API实现的word count
// Spark wordcount
object WordCount {
def main(args: Array[String]) {
val env = new SparkContext("local","wordCount")
val data = List("hi","how are you","hi")
val dataSet = env.parallelize(data)
val words = dataSet.flatMap(value => value.split("\\s+"))
val mappedWords = words.map(value => (value,1))
val sum = mappedWords.receByKey(_+_)
println(sum.collect())
}
}
// Flink wordcount
object WordCount {
def main(args: Array[String]) {
val env = ExecutionEnvironment.getExecutionEnvironment
val data = List("hi","how are you","hi")
val dataSet = env.fromCollection(data)
val words = dataSet.flatMap(value => value.split("\\s+"))
val mappedWords = words.map(value => (value,1))
val grouped = mappedWords.groupBy(0)
val sum = grouped.sum(1)
println(sum.collect())
}
}
不知道是偶然还是故意的,API都长得很像,这样很方便开发者从一个引擎切换到另外一个引擎。我感觉以后这种Collection API会成为写data pipeline的标配。
Steaming
spark把streaming看成是更快的批处理,而flink把批处理看成streaming的special case。这里面的思路决定了各自的方向,其中两者的差异点有如下这些:
实时 vs 近实时的角度
flink提供了基于每个事件的流式处理机制,所以可以被认为是一个真正的流式计算。它非常像storm的model。
而spark,不是基于事件的粒度,而是用小批量来模拟流式,也就是多个事件的集合。所以spark被认为是近实时的处理系统。
Spark streaming 是更快的批处理,而Flink Batch是有限数据的流式计算。
虽然大部分应用对准实时是可以接受的,但是也还是有很多应用需要event level的流式计算。这些应用更愿意选择storm而非spark streaming,现在,flink也许是一个更好的选择。
流式计算和批处理计算的表示
spark对于批处理和流式计算,都是用的相同的抽象:RDD,这样很方便这两种计算合并起来表示。而flink这两者分为了DataSet和DataStream,相比spark,这个设计算是一个糟糕的设计。
对 windowing 的支持
因为spark的小批量机制,spark对于windowing的支持非常有限。只能基于process time,且只能对batches来做window。
而Flink对window的支持非常到位,且Flink对windowing API的支持是相当给力的,允许基于process time,data time,record 来做windowing。
我不太确定spark是否能引入这些API,不过到目前为止,Flink的windowing支持是要比spark好的。
Steaming这部分flink胜
SQL interface
目前spark-sql是spark里面最活跃的组件之一,Spark提供了类似Hive的sql和Dataframe这种DSL来查询结构化数据,API很成熟,在流式计算中使用很广,预计在流式计算中也会发展得很快。
至于flink,到目前为止,Flink Table API只支持类似DataFrame这种DSL,并且还是处于beta状态,社区有计划增加SQL 的interface,但是目前还不确定什么时候才能在框架中用上。
所以这个部分,spark胜出。
Data source Integration
Spark的数据源 API是整个框架中最好的,支持的数据源包括NoSql db,parquet,ORC等,并且支持一些高级的操作,例如predicate push down
Flink目前还依赖map/rece InputFormat来做数据源聚合。
这一场spark胜
Iterative processing
spark对机器学习的支持较好,因为可以在spark中利用内存cache来加速机器学习算法。
但是大部分机器学习算法其实是一个有环的数据流,但是在spark中,实际是用无环图来表示的,一般的分布式处理引擎都是不鼓励试用有环图的。
但是flink这里又有点不一样,flink支持在runtime中的有环数据流,这样表示机器学习算法更有效而且更有效率。
这一点flink胜出。
Stream as platform vs Batch as Platform
Spark诞生在Map/Rece的时代,数据都是以文件的形式保存在磁盘中,这样非常方便做容错处理。
Flink把纯流式数据计算引入大数据时代,无疑给业界带来了一股清新的空气。这个idea非常类似akka-streams这种。
成熟度
目前的确有一部分吃螃蟹的用户已经在生产环境中使用flink了,不过从我的眼光来看,Flink还在发展中,还需要时间来成熟。
结论
目前Spark相比Flink是一个更为成熟的计算框架,但是Flink的很多思路很不错,Spark社区也意识到了这一点,并且逐渐在采用Flink中的好的设计思路,所以学习一下Flink能让你了解一下Streaming这方面的更迷人的思路。
H. 大数据调度平台分类(Oozie/Azkaban/AirFlow/DolphinScheler)
大数据调度系统,是整个离线批处理任务和准实时计算计算任务的驱动器。这里我把几个常见的调度系统做了一下分类总结,结合目前阿里云上的MaxCompute中的调度系统,做个对比。
Oozie是一个workflow(工作流)协调系统,是由Cloudera公司贡献给Apache的,主要用来管理Hadoop作业(job)。
统一调度hadoop系统中常见的mr任务启动、Java MR、Streaming MR、Pig、Hive、Sqoop、Spark、Shell等。
配置相关的调度任务复杂,依赖关系、时间触发、事件触发使用xml语言进行表达。
任务状态、任务类型、任务运行机器、创建时间、启动时间、完成时间等。
支持启动/停止/暂停/恢复/重新运行:支持启动/停止/暂停/恢复/重新运行。
可以通过DB支持HA(高可用)。调度任务时可能出现死锁,依赖当前集群版本,如更新最新版,易于现阶段集群不兼容。
Azkaban是由Linkedin公司推出的一个批量工作流任务调度器,主要用于在一个工作流内以一个特定的顺序运行一组工作和流程,它的配置是通过简单的key:value对的方式,通过配置中的dependencies 来设置依赖关系,这个依赖关系必须是无环的,否则会被视为无效的工作流。Azkaban使用job配置文件建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。
command、HadoopShell、Java、HadoopJava、Pig、Hive等,支持插件式扩展。
实际项目中经常有这些场景:每天有一个大任务,这个大任务可以分成A,B,C,D四个小任务,A,B任务之间没有依赖关系,C任务依赖A,B任务的结果,D任务依赖C任务的结果。一般的做法是,开两个终端同时执行A,B,两个都执行完了再执行C,最后再执行D。这样的话,整个的执行过程都需要人工参加,并且得盯着各任务的进度。但是我们的很多任务都是在深更半夜执行的,通过写脚本设置crontab执行。其实,整个过程类似于一个有向无环图(DAG)。每个子任务相当于大任务中的一个流,任务的起点可以从没有度的节点开始执行,任何没有通路的节点之间可以同时执行,比如上述的A,B。总结起来的话,我们需要的就是一个工作流的调度器,而Azkaban就是能解决上述问题的一个调度器。
提供job配置文件快速建立任务和任务之间的依赖关系,通过自定义DSL绘制DAG并打包上传。
只能看到任务状态。
只能先将工作流杀死在重新运行。
通过DB支持HA,任务太多时会卡死服务器。
Airflow 是 Airbnb 开源的一个用 Python 编写的调度工具。于 2014 年启动,2015 年春季开源,2016 年加入 Apache 软件基金会的孵化计划。Airflow 通过 DAG 也即是有向非循环图来定义整个工作流,因而具有非常强大的表达能力。
支持Python、Bash、HTTP、Mysql等,支持Operator的自定义扩展。
需要使用Python代码来定义流程。
不直观。
杀掉任务,重启。
任务过多会卡死。
XXL-JOB是一个开源的,具有丰富的任务管理功能以及高性能,高可用等特点的轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展、开箱即用。
基于Java。
无,但是可以配置任务之间的依赖。
无
可以暂停、恢复。
支持HA。任务是基于队列的,轮询机制。
DolphinScheler是今年(2019年)中国易观公司开源的一个调度系统,在今年美国时间2019年8月29号,易观开源的分布式任务调度引擎DolphinScheler(原EasyScheler)正式通过顶级开源组织Apache基金会的投票决议,根据Apache基金会邮件列表显示,在包含11个约束性投票(binding votes)和2个无约束性投票(non-binding votes)的投票全部持赞同意见,无弃权票和反对票,投票顺利通过,这样便以全票通过的优秀表现正式成为了Apache孵化器项目。
Apache DolphinScheler是一个分布式、去中心化、易扩展的可视化DAG工作流任务调度系统,其致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。
支持传统的shell任务,同时支持大数据平台任务调度:MR、Spark、SQL(mysql、postgresql、hive/sparksql)、python、procere、sub_process。
所有流、定时操作都是可视化的,通过拖拽来绘制DAG,配置数据源及资源,同时对于第三方系统,提供api方式的操作。
任务状态、任务类型、重试次数、任务运行机器、可视化变量,以及任务流执行日志。
支持暂停、恢复、补数操作。
支持HA,去中心化的多Master和多Worker。DolphinScheler上的用户可以通过租户和hadoop用户实现多对一或一对一的映射关系。无法做到细节的权限管控。
任务队列机制,单个机器上可调度的任务数量可以灵活配置,当任务过多时会缓存在任务队列中,不会操作机器卡死。
调度器使用分布式调度,整体的调度能力会随集群的规模线性正常,Master和Worker支持动态上下线,可以自由进行配置。
可以通过对用户进行资源、项目、数据源的访问授权。支持,可视化管理文件,及相关udf函数等。
I. ADSL是什么意思
ADSL介绍
一、概述
ADSL是DSL的一种非对称版本,它利用数字编码技术从现有铜质电话线上获取最大数据传输容量,同时又不干扰在同一条线上进行的常规话音服务。其原因是它用电话话音传输以外的频率传输数据。也就是说,用户可以在上网"冲浪"的同时打电话或发送传真,而这将不会影响通话质量或降低下载Internet内容的速度。
ADSL能够向终端用户提供8Mbps的下行传输速率和1Mbps的上行传输速率,比传统的28.8K模拟调制解调器快将近200倍。这也是传输速率达128Kbps的ISDN(综合业务数据网)所无法比拟的。与电缆调制解调器相比, ADSL具有独特优势:它提供针对单一电话线路用户的专线服务,而电缆调制解调器则要求一个系统内的众多用户分享同一带宽。尽管电缆调制解调器的下行速率比ADSL高,但考虑到将来会有越来越多的用户在同一时间上网,电缆调制解调器的性能将大大下降。另外,电缆调制解调器的上行速率通常低于ADSL。不容忽视的是,目前,全世界有将近7.5亿铜质电话线用户,而享有电缆调制解调器服务的家庭只有1200万。
ADSL设计目的有两个功能:高速数据通信和交互视频。数据通信功能可为因特网访问、公司远程计算或专用的网络应用。交互视频包括需要高速网络视频通信的视频点播(VoD)、电影、游戏等。目前,ADSL只支持与T1/E1的接口,在未来可以到桌面。
二、ADSL的标准
一直以来,ADSL有CAP和DMT两种标准,CAP由AT&T Paradyne设计,而DMT由Amati通信公司发明,其区别在于发送数据的方式。ANSI标准T1.413是基于DMT的,DMT已经成为国际标准,而CAP则大有没落之势。近来谈论很多的G.Lite标准很被看好,不过DMT和G.Lite两种标准各有所长,分别适用于不同的领域。DMT是全速率的ADSL标准,支持8Mbps/1.5Mbps的高速下行/上行速率,但是,DMT要求用户端安装POTS分离器,比较复杂;而G.Lite标准虽然速率较低,下行/上行速率为1.5Mbps/512Kbps,但由于省去了复杂的POTS分离器,因此用户可以像使用普通Modem一样,直接从商店购买CPE,然后自己就可以简单安装。就适用领域而言,DMT可能更适用于小型或家庭办公室(SOHO);G.Lite则更适用于普通家庭用户。
1、CAP(Carrierless Amplitude/Phase Molation)
CAP是AT&T Paradyne的专有调制方式,数据被调制到单一载体信道,然后沿电话线发送。信号在发送前被压缩,在接收端重组。
2、DMT(Discrete Multi-Tone)
将数据分成多个子载体信道,测试每个信道的质量,然后赋予其一定的比特数。DMT用离散快速傅立叶变换创建这些信道。
DMT使用了我们熟悉的机制来创建调制解调器间的连接。当两个DMT调制解调器连接时,它们尝试可能的最高速率。根据线路的噪声和衰减,两个调制解调器可能成功地以最高速率连接或逐步降低速率直到双方都满意。
3、G.Lite
正如N1标准和互用性测试曾推动了ISDN市场一样,如今客户和厂商也急切地等待着一项DSL设备互用性标准的到来。该标准被称为G.lite,也被另称为Consumer Asymmetrical DSL (消费者ADSL),它正在由一个几乎包括所有主要的DSL设备制造商的集团--Universal ADSL Working Group进行开发。不过不要将这个标准与Rockwell公司1997年夏天展示的已不再使用的基于QAM的Consumer DSL芯片集或者与Universal ADSL相混淆。G.lite的第一版工作文档是1998年6月在亚特兰大举行的Supercomm贸易博览会上公布的。这项初步的G.lite标准首先由UAWG交付表决,然后作为一项建议转交给国际电信联盟ITU。ITU当时预计在1998年底之前签署认可一项正式的G.lite标准。
未来的G.lite标准的某些细节已经明了,基于该标准的CPE也许很快就会出现。G.lite标准(即ADSL)将基于ANSI标准"T1.413 Issue 2 DMT Line Code"之上,并且将1.5Mbps的下行速度和384Kbps的上行速度预定为其最大速度。小于那些最大速度的"速度自适应(Rate-Adaptive)"也是该标准的一部分,所以,Internet服务提供商(ISP)可以提供256Kbps的对称速度作为一个G.lite连接速度。不过,为了简化设备和供应要求,多数设备将被限制在那些最大速度上。
1.5Mbps的速度限制虽然与DSL的一般被公布的7Mbps的最大下行速度相比似乎具有限制性,但它是基于典型客户布线方案的经验测试之上,也是基于可通过ISP获得的实际骨干带宽之上。
DSL线路需要优质铜环--这意味着没有加感线圈,桥接抽头之间不超过2500英尺,而一般与中心局之间的距离不超过18000英尺。如果速度更高,距离要求就变得更加关键,而且线路也更容易被"扰乱者"--和DSL线路处于同样线捆中的ISDN和T1线路--破坏。
虽然G.lite正被宣传为一项"不分离(splitterless)"的标准,但新的标准所面临的工程现实意味着,在一开始可能仍然对分离器、过滤器,甚至新的客户场所布线有所需要。随着G.lite的标准走向成熟,人们更好地理解这些问题,更好地实施厂商芯片,它也许才会更接近于成为一项真正的不分离的标准。
当然,即使处于G.lite速度,常规的PC串行端口上的UARTs(通用异步接收机/发送器)也已不能跟上。因此,使用串行技术的单个用户的外置PC调制解调器将会在PC上采用通用串行总线端口(Universal Serial Bus),也有可能采用增强的并行端口;路由器和桥接单位则使用以太网;更新一点的芯片集,如Rockwell最近宣传的V.90/ADSL配对芯片集,将会把G.lite和V.90标准结合在一个调制解调器上,为客户提供一项连接配置选择。
带宽是另一项考虑因素。当Bellcore于1989年首次公布其DSL工作时,其目的是为了将DSL用于视频点播服务,而不是纯粹的数据通信。
但是,现在没有几家ISP能够真正满足1000个用户的7Mbps Internet访问需求。G.lite的1.5Mbps/384Kbps限制是一个合理的最大速度,无论如何,许多用户很可能会选择更慢的对称速度。..
4、目前的标准
ANSI提出了速率可达6.1Mbps的ADSL标准T1.413,ETSI(European Technical Standard Institute)增加了附件以适应欧洲的需要,称为T1E1.4,将扩展标准以包含用户端的复用接口、网络配置和管理协议及其它改进。
三、原理
ADSL用其特有的调制解调硬件来连接现有双绞线连接的各端,它创建具有三个信道的管道,见下图。
该管道具有一个高速下传信道(到用户端),一个中速双工信道和一个POTS信道(4KHz),POTS信道用以保证即使ADSL连接失败了,语音通信仍能正常运转。高速和中速信道均可以复用以创建多个低速通道。
在过去数年中,电话系统的硬件技术有了很大进步,然而ADSL使用了非常简单的方法来获取取惊人的速率:压缩。它使用很先进的DSP和算法在电话线(双绞线)中压缩尽可能多的信息。
ADSL用频分复用(FDM)或回馈抑制(Echo Cancellation)在电话线中创建多个信道。FDM使用一条下传数据管道和一条上传数据管道,并用时分复用(TDM)将下传管道分割,上传管道也被分成多个低速信道。回馈抑制将下传管道和上传管道重叠,并用本地回馈抑制(如V.34规范)将二者区分。回馈抑制虽然更加有效,但增加了复杂性和成本。
ADSL复用下传信道,双工化,将信道分块,给每块加上错误码,然后发送数据,接收端根据误码和块长纠错。测试表明ADSL调制解调器的纠错足以应付MPEG2和多种其他的数字视频方案。
四、ADSL的未来
ADSL的未来可能不会与现在有太大的差异。目前ADSL的实现有两种方式:CAP和DMT,后者已成为标准。虽然CAP不是标准,但它由AT&T Paradyne发明,已经在通信中广为应用。G.Lite也很有发展前途。很难说将来会是什么样子,但有一点可以肯定:厂商和电话公司有一个需要克服以发展网络的瓶颈,解决方法必须在目前很快可用,并在未来仍然有用武之地。
J. Elasticsearch解决问题之道——请亮出你的DSL
0、引言
在业务开发中,我们往往会陷入开发的细枝末节之中,而忽略了事物的本源。
经常有同学问到:
等等等等…..
以上的看似复杂的问题,如果转换成DSL,清楚的写出来,梳理清楚问题的来龙去脉,问题就自然解决了一大半。
所以,请亮出你的dsl,不论什么语言的检索,转换到es查询都是sql查询,在es中对应dsl语法,es再拆解比如:分词match_phrase拆解成各term组合,最终传给lucene处理。
亮出你的dsl,确保编程里的实现和你的kibana或者head插件一致是非常重要、很容易被忽视的工作。
如果对dsl拆解不理解,那就再 加上 profile:true或者explain:true拆解结果一目了然。
维基网络定义:领域特定语言(英语:domain-specific language、DSL)指的是专注于某个应用程序领域的计算机语言。又译作领域专用语言。
Elasticsearch提供基于JSON的完整查询DSL来定义查询。 将Query DSL视为查询的AST(抽象语法树),由两种类型的子句组成:
1、叶子查询子句
叶查询子句查找特定字段中的特定值,例如匹配,术语或范围查询。 这些查询可以单独使用。
2、复合查询子句
复合查询子句可以组合其他叶子或复合查询,用于以逻辑方式组合多个查询(例如bool或dis_max查询),或更改其行为(例如constant_score查询)。
给个例子,一看就明白。
看到这里,可能会有人着急了:“我X,这不是官网定义吗?再写一遍有意思吗?”
引用一句鸡汤话,“再显而易见的道理,在中国,至少有一亿人不知道”。同样的,再显而易见的问题,在Elasticsearch技术社区也会有N多人提问。
基础认知不怕重复,可怕的是对基础的专研、打磨、夯实。
Elasticsearch相关的核心操作,广义上可做如下解读,不一定涵盖全,仅抛砖引玉,说明DSL的重要性。
从大到小。
集群的管理,一般我们会使用Kibana或者第三方工具Head插件、cerebro工具、elastic-hq工具。
基本上硬件的(磁盘、cpu、内存)使用率、集群的 健康 状态都能一目了然。
但基础的DSL会更便捷,便于细粒度分析问题。
如:集群状态查询:
如:节点热点线程查看:
如:集群分片分配情况查看:
索引生命周期是一直强调的概念,主要指索引的“生、老、病、死”的全过程链条的管理。
创建索引我们优先使用较单纯index更灵活的template模板。
创建索引类似Mysql的创建表的操作,提前设计好表结构对应ES是提前设计好M app ing非常重要。
两个维度:
举例:
如:索引清理缓存。
如:某原因导致分片重新分配,_recovery查看分片分配状态。
高版本的索引生命周期管理推荐使用:ILM功能。
这个是大家再熟悉不过的了。
举例:
删除数据包括:指定id删除 delete和批量删除delete_by_query(满足给定条件)。
更新操作。包括:指定id的update/upsert或者批量更新update_by_query。
这是ES的重头戏。包含但不限于:
1、支持精确匹配查询的:term、range、exists、wildcard、prefix、fuzzy等。
2、支持全文检索的:match、match_phrase、query_string、multi_match等
1、Bucketing分桶聚合
举例:最常用的terms就类似Mysql group by功能。2、Metric计算聚合
举例:类比Mysql中的: MIN, MAX, SUM 操作。3、Pipeline针对聚合结果聚合
举例:bucket_script实现类似Mysql的group by 后having的操作。
留给大家 结合 业务场景思考添加。
这里把开头提到的几个问题逐一解答一下。
实际Mysql业务中,我们一般是先验证sql没有问题,再写业务代码。
实际ES业务中,也一样,先DSL确认没有问题,再写业务代码。
写完java或者python后,打印DSL,核对是否完全一致。
不一致的地方基本就是结果和预期不一致的原因所在。
第一步:借助analyzer API分析查询语句和待查询document分词结果。
这个API的重要性,再怎么强调都不为过。
第二步:可以借助profile:true查看细节。第三步:核对match_phrase词序的原理。
6.3版本后已经支持sql,如果不会写,可以借助translate 如下API翻译一下。
不够精确,但足够参考用了,需要根据业务细节微调。
当然,还是 建议 ,从业务出发,自己写DSL。
从大往小,逐步细化排解
END
公众号 ( sheng )里回复 面经、ES、Flink、 Spring、Java、Kafka、监控 等关键字可以查看更多关键字对应的文章
1、《从0到1学习Flink》—— Apache Flink 介绍
2、《从0到1学习Flink》—— Mac 上搭建 Flink 1.6.0 环境并构建运行简单程序入门
3、《从0到1学习Flink》—— Flink 配置文件详解
4、《从0到1学习Flink》—— Data Source 介绍
5、《从0到1学习Flink》—— 如何自定义 Data Source ?
6、《从0到1学习Flink》—— Data Sink 介绍
7、《从0到1学习Flink》—— 如何自定义 Data Sink ?
8、《从0到1学习Flink》—— Flink Data transformation(转换)
9、《从0到1学习Flink》—— 介绍 Flink 中的 Stream Windows
10、《从0到1学习Flink》—— Flink 中的几种 Time 详解
11、《从0到1学习Flink》—— Flink 读取 Kafka 数据写入到 ElasticSearch
12、《从0到1学习Flink》—— Flink 项目如何运行?
13、《从0到1学习Flink》—— Flink 读取 Kafka 数据写入到 Kafka
14、《从0到1学习Flink》—— Flink JobManager 高可用性配置
15、《从0到1学习Flink》—— Flink parallelism 和 Slot 介绍
16、《从0到1学习Flink》—— Flink 读取 Kafka 数据批量写入到 MySQL
17、《从0到1学习Flink》—— Flink 读取 Kafka 数据写入到 RabbitMQ
18、《从0到1学习Flink》—— 你上传的 jar 包藏到哪里去了
19、大数据“重磅炸弹”——实时计算框架 Flink
20、《Flink 源码解析》—— 源码编译运行
21、为什么说流处理即未来?
22、OPPO数据中台之基石:基于Flink SQL构建实数据仓库
23、流计算框架 Flink 与 Storm 的性能对比
24、Flink状态管理和容错机制介绍
25、原理解析 | Apache Flink 结合 Kafka 构建端到端的 Exactly-Once 处理
26、Apache Flink 是如何管理好内存的?
27、《从0到1学习Flink》——Flink 中这样管理配置,你知道?
28、《从0到1学习Flink》——Flink 不可以连续 Split(分流)?
29、Flink 从0到1学习—— 分享四本 Flink 的书和二十多篇 Paper 论文
30 、360深度实践:Flink与Storm协议级对比
31、Apache Flink 1.9 重大特性提前解读
32、如何基于Flink+TensorFlow打造实时智能异常检测平台?只看这一篇就够了
33、美团点评基于 Flink 的实时数仓建设实践
34、Flink 灵魂两百问,这谁顶得住?
35、一文搞懂 Flink 的 Exactly Once 和 At Least Once
36、你公司到底需不需要引入实时计算引擎?