求2012年最新的中国云计算前景分析报告

hedy_yuan 2012-05-22 05:05:40
求最新的中国云计算前景分析报告,相关的都行!!
当然要最新的哈~
...全文
181 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
oatos 2012-05-24
  • 打赏
  • 举报
回复
最新的还没出炉
大数据掘金 作者:赵俊 来源:《新财富》2012第01期 大数据自身蕴藏着巨大的商业价值,其开发、利用和分析等一整套运作也将催 生更多的行业机会,并带动相关产业的发展。 尽管一面频繁降价促销、一面广告攻势凌厉,但一家零售企业最近仍顶不住竞 争对手频频扩大市场份额,连连丢城失地。通过深入研究,企业发现原来对手通过微博 等社交网络以及智能手机的定位数据掌握消费者的喜好,加之从门店收集的各类数据, 进行整合和分析,从而第一时间捕捉到了最全面的市场情绪。同时,他们将这些信息通 过云计算平台与供应商和物流商的数据库联网,实时调整价格、自动补货、跟踪物流, 轻松在各门店之间调配产品,实现了生产到终端消费者的无缝连接,大幅提升了对市场 的反应速度。 一家地产企业通过各种渠道获取尽可能多的信息,更为全面了解自身的运营情 况和外部的运营环境,从而准确地判断出应该何时融资、何时买地、何时批量上项目, 从以往在各个经济不均衡之地圈地盖楼的"空间挣钱"方式转换至"时间挣钱"的方式,"快 人一步"成为行业领先。 这些都是大数据应用的寻常景象。如同上世纪80代的个人电脑,眼下,大数 据还处于早期发展阶段,但它已成为新时代的关键生产要素和产品形态,具有广阔的应 用前景及改变世界经济的力量。大数据的开发和应用不仅能为企业带来更出色的商业效 益,同时也将催生更多的行业机会,孕育出色的解决方案提供商,并带动相关产业的共 同发展。正因为如此,根据 IDC的测算,到2020 ,仅企业对大数据的支出一项就将超过2000 亿美元。 大数据的商业价值 IDC 在报告中提及,领军企业与其他企业之间最大的显著差别在于新数据类型的引入,这无 疑是对大数据商业价值的充分肯定。传统的商业智能系统中用以分析的数据,大都是企 业自身信息系统所产生的标准化和结构化的运营数据,只占到企业所能获取数据的不到 15%。另外85%的非结构性和半结构性数据广泛存在于社交网络、物联网、移动计算、传 感器和电子商务等媒介之中。企业如果能将这些新的数据与业务融合,决策的依据会更 全面准确。电信咨询公司Ovum的最新调查显示,在北美、欧洲和亚太地区将近有半数以 上的企业IT部门在不久的将来投资大数据分析。 早在2007,沃尔玛就建立了一个存储能力高达4PB以上的超大数据中心,其数 据量在2010时已达到美国国会图书馆的167倍。通过对消费者的购物行为等非结构化数 据进行分析,沃尔玛成为最了解顾客购物习惯的零售商。中国移动通过对社交媒体等各 种来源的大数据分析,第一时间自动捕捉市场变化,再以最快捷的方式推送给指定负责 人,使他在最短时间内获知市场行情。 电子商务企业作为大数据时代的"吃螃蟹者",也已经初品其甘甜。早在2006 ,eBay就成立了大数据分析平台,为了准确分析用户的购物行为,eBay定义了超过500种 类型的数据,对顾客的行为进行跟踪分析。通过对关键字广告的投入产出进行衡量,公 司精确计算出每一个关键字为eBay带来的投资回报,优化过后,自 2007 以来,eBay 产品销售的广告费降低了99%,顶级卖家占总销售额的百分比却上升至32%。 国金证券TMT分析师赵国栋认为,企业应用大数据分为三步:第一是要融合企业 内外的海量信息;第二要具备行业建模及分析的能力;第三要与企业的决策和业务流程 深度整合。前两步是技术推动,第三步将引起企业组织、流程甚至是文化方面的变革。 催生新一代IT领袖 正因为其中所蕴藏的巨大价值,大数据成为了众多企业淘金的"圣地"。 IBM架构师史蒂夫·沃特(Stephen Watt)曾在《Deriving New Business Insights with Big Data》一文中简单阐述过大数据的生态系统。简而言之,大数据的生态系统,就是数据的 生存周期。数据从产生,到处理,再到价值提取,最后被消费掉,这整个过程就构成了 大数据的生态系统(图1)。每个步骤中都存在着不同的商业需,已有不少成熟和初创 公司深耕各自所在的领域,以期尽早占据优势地位。以投资Facebook而闻名的风险投资 机构AccelPartners认为,大数据是信息技术未来发展的战略走向,将催生下一代价值数 万亿美元的软件企业。 源自雅虎的大数据系统Hadoop,主要面向存储和处理成百上千TB直至PB级别的 结构化、半结构化或非结构化的大数据。Hadoop能将大数据分解成多个子问题,将它们 分配到成百上千个处理节点之上,再将结果汇集到一个小数据集当中,从而更容易分析 得出最后的结果。 相比传统的数据存储系统,Hadoop成本更低。传统数据存储的费用是每GB 5美元,而在同样容量下,Hadoop的成本仅为0.25美元。此外,Hadoop具有更强的可扩展 性,帮助企业用较低的成本为此前购买的设备添
赢在大数据 作者:暂无 来源:《计算机世界》 2012第35期 如果说传统的商业智能为我们打开了通往智慧世界的一扇窗的话,那么,大数据将为我们开启的就是一道通往智慧世界的大门。 在这个世界里,我们洞悉业务运营的每一个过程; 在这个世界里,我们充分了解我们自己和我们的客户; 在这个世界里,我们的决策不再是拍脑袋,决策理性而且科学。 本报记者 邹大斌 成立于2008的Vpon威朋是一家移动广告公司,其主营业务之一是接受广告主委托在其合作方推出的移动App上发布广告。上个月Vpon威朋推出了一款名为3S(Sales Supporting System)的系统广告分析系统,这是一套建立在Hadoop平台上的大数据挖掘、分析及处理系统。这套系统的最大作用是能精确地统计和分析用户点击移动应用的时间、地点和各种偏好,从而帮助广告主做出最有效的广告投放决策。成立于2009的北京百分点信息科技有限公司(以下称百分点)也在做与Vpon威朋类似的事情。百分点推出了一种名为个性化搜索引擎的工具,电子商务网站可以利用它来分析访客的点击行为,找出访客的偏好,进行产品推荐。同样,这个搜索引擎也是基于Hadoop开发。 近几来,在互联网领域像Vpon威朋、百分点这样利用Hadoop等大数据相关技术进行访客点击行为分析,来开展业务的公司越来越多,其中有一大批是对新兴技术敏感的初创公司,同时也不乏像Google、Facebook这样著名的互联网公司。 事实上,"大数据"这股发端于互联网企业的数据分析热潮如今已经超出了互联网领域,部分敢于"尝鲜"的传统企业已经开始部署大数据相关技术,市场增长非常迅猛。根据IDC最新发布的全球大数据市场预测,大数据市场将从2010的32亿美元增长至2015的169亿美元,复合增长率将达到40%。对市场前景的良好预期吸引投资者们纷纷投身其中,目前对于大数据的风投资金已超过5亿美元:去底Hadoop版本的主要发布者Cloudera获得4000万美元投资;Cloudera的竞争对手,另一个Hadoop版本发布者——MapR获得了2500万美元的投资;NoSQL数据库厂商10Gen(MongoDB的供应商)和DataStax(Cassandra的供应商)分别获得了3200万美元和1100万美元的融资;今4月刚刚在纳斯达克进行IPO,融资2.3亿美元??这个名单可以列得很长。 很显然,在市场研究机构和投资者看来,大数据市场现在是如日中天,其热度甚至大有盖过云计算之势。与此同时,"大数据是大忽悠、大谎言"的说法也不绝于耳。纷纷扰扰的市场宣传中,我们究竟该如何认识大数据,大数据到底是大机遇还是大骗局? 迎来大数据时代 大数据与数据的爆炸性增长有着密切关系。根据IDC的研究,2010底全球新生成的数据量已经达到120万PB(或1.2 ZB),这些数据如果使用光盘存储,摞起来可以从地球到月球一个来回(从地球到月球大约24万英里)。IDC预计,到2020需要存储的数据量将达到35万亿GB,是2010数据存储量的42倍。 赢在大数据全文共6页,当前为第1页。 赢在大数据全文共6页,当前为第1页。 今天的中国是数据生产的大国。还是IDC提供的数据,截止到20126月,中国有近3.9亿的移动客户、5.3亿的互联网客户。在一个比较典型的二级城市中,每个季度就可能产生出200PB的视频数据。 应该说,我们面对的挑战不只是海量数据,还包括越来越繁多的数据格式,特别是非结构化和半结构数据量远远超过传统的结构化数据。研究表明,如今新增数据中80%以上是诸如日志、图片、视频、电子邮件等非结构化或半结构化的数据。这些数据都不能(或者不适合)用传统方法处理,需要有新的思考、新的作为,而这种技术就是大数据。 不过,对于什么是大数据至今并没有明确而且一致的定义。目前关于大数据有两个不同的理解,一个是认为它是一系列的技术,通过这些技术对大量的结构化和非结构化数据进行处理,从而获得各种分析和预测结果;另一个,也是更多的人理 是,简单地称海量的数据集为大数据,本文采用后一种认识。 虽然缺乏对大数据明确的定义,但对大数据三个"V"基本特征各方却是颇有共识,即海量的数据规模(volume)、快速的数据流转(velocity)、多样的数据类型(variety)。这其中,"海量"是大数据引发人们广泛关注的前提,而快速和复杂的数据类型则是引发人们广泛关注的关键。 大数据从何而来 谈到大数据,不得不谈到移动设备。因为我们面对的大数据除了来自企业应用、运营的数据以及供应链、供应商产生的各种各样的数据,还有很大一部分来自社交媒体以及移动应用,而移动智能设备就是背后最大的推手之一。 众所周知,智能移动设备的普及给社会带来诸多变化。其中之一就是人们可以在任何时间、任何地点获取
王 伟 控制科学与工程学院 2017 大数据与知识自动化 2017大数据与知识自动化全文共55页,当前为第1页。 主要内容 一、什么是大数据 二、大数据时代的思维变革 三、大数据的应用 四、大数据带来的负面作用 五、大数据的发展前景 六、大数据与知识自动化 2017大数据与知识自动化全文共55页,当前为第2页。 维克托 迈尔 舍恩伯格、肯尼思 库克耶著,大数据时代,浙江人民出版社,2013。 维克托 迈尔 舍恩伯格,被誉为"大数据时代的预言家"、牛津大学网络学院教授 肯尼思 库克耶,《经济学人》数据编辑 2017大数据与知识自动化全文共55页,当前为第3页。 在这本书中,从小数据时代到大数据的崛起,作者以宏大的历史观、文化观、大数据观,给我们描绘了一幅数据科学、智慧文化的全景图。2012其著作《大数据》在中国社会开大数据之先河,引发了大数据战略、数据治国和开放数据的讨论。 涂子沛,江西吉安人,现居美国硅谷。作者本科毕业于华中科技大学计算机系,研究生毕业于中山大学和卡内基梅隆大学,获公共管理硕士和信息科学硕士学位。 涂子沛,数据之巅:大数据革命,历史、现实与未来,中信出版社,2014。 2017大数据与知识自动化全文共55页,当前为第4页。 2017大数据与知识自动化全文共55页,当前为第5页。 在人类社会发展进程中,人们观测自然现象、揭示和把握自然规律并进而用于改善自身生存和生活状况的活动从来都没有停止过。人类揭示和运用自然规律是从观测和记录自然现象开始的,而这种观测和记录的结果要么就是数据,要么可以通过某种方法转化为数据。 人类把握和运用自然规律的能力越强,社会经济和科学技术就越发展;社会经济和科学技术越发展,人类揭示和运用自然规律的愿望和需就越强烈,结果是获取和存储的观测数据就会越来越多。 伴随着近代传感器、无线通信、计算机与互联网等技术的迅猛发展及在各个领域的广泛应用,人类获取数据的手段和途径越来越多,成本越来越低,速度越来越快,所获数据的种类、层次和尺度也越来越多样化,这就在广度、深度和速度三个方面催生了大数据时代的到来。 一、什么是大数据 2017大数据与知识自动化全文共55页,当前为第6页。 最早提出"大数据"时代到来的是全球知名咨询公司麦肯锡,麦肯锡称:数据已经渗透到当今每一个行业和业务职能领域,成为重要的生产因素。人们对于海量数据的挖掘和运用,预示着新一波生产率增长和消费者盈余浪潮的到来。 "大数据"在物理学、生物学、环境生态学等领域以及军事、金融、通讯等行业存在已有时日,却因为近来互联网和信息行业的发展而引起人们关注。 大数据作为云计算、物联网之后IT行业又一大颠覆性的技术革命。云计算主要为数据资产提供了保管、访问的场所和渠道,而数据才是真正有价值的资产。 2017大数据与知识自动化全文共55页,当前为第7页。 大数据将逐渐成为现代社会基础设施的一部分。就像公路、铁路、港口、水电、和通信网络一样不可或缺。而大数据同这些物理化的基础设施不同,不会因为人们的使用而折旧和贬值。 世界的本质就是数据。因此大数据时代的经济学、政治学、社会学和许多科学门类都会发生巨大甚至是本质上的变化和发展,进而影响人类的价值体系、知识体系和生活方式。 2017大数据与知识自动化全文共55页,当前为第8页。 进入2012,大数据一词越来越多地被提及,人们用它来描述和定义信息爆炸时代产生的海量数据,并命名与之相关的技术发展与创新。它上过《纽约时报》《华尔街日报》的专栏封面,进入美国白宫官网的新闻。 数据正在迅速膨胀并变大,它决定着企业的未来发展,虽然很多企业可能并没有意识到数据爆炸性增长带来问题的隐患,但是随着时间的推移,人们将越来越多的意识到数据对企业的重要性。 《纽约时报》2012一篇专栏中所称,"大数据"时代已经降临,在商业、经济及其他领域中,决策将日益基于数据和分析而作出,而并非基于经验和直觉。 哈佛大学社会学教授加里·金说:这是一场革命,庞大的数据资源使得各个领域开始了量化进程,无论学术界、商界还是政府,所有领域都将开始这种进程。 2017大数据与知识自动化全文共55页,当前为第9页。 大数据到底有多大?一组名为"互联网上一天"的数据告诉我们,一天之中,互联网产生的全部内容可以刻满1.68亿张DVD;发出的邮件有2940亿封之多(相当于美国两的纸质信件数量);发出的社区帖子达200万个(相当于《时代》杂志770的文字量)…… 2进制数据单位:Byte、KB(103)、MB(106)、GB(109)、TB(1012)、PB(1015)、EB(1018)、ZB(1021)、YB(1024)、DB(1027)、NB(1030) 国际数据公司(IDC)的研究结果表明,2009全球产生的数据量为0.8ZB,2010
dW 登录 | 注册 IBM developerWorks® 技术主题 软件下载 社区 技术讲座 搜索 developerWorks 打印本页面用电子邮件发送本页面新浪微博人人网腾讯微博搜狐微博网易微博DiggFacebookTwitterDeliciousLinked In developerWorks 中国技术主题Java technology文档库 在 Java 应用程序中访问 USB 设备 介绍 USB、jUSB 和 JSR-80 Java 平台一直都以其平台无关性自豪。虽然这种无关性有许多好处,但是它也使得编写与硬件交互的 Java 应用程序的过程变得相当复杂。在本文中,研究科学家蒋清野讨论了两个项目,它们通过提供使Java 应用程序可以使用 USB 设备的 API 而使这个过程变得更容易。虽然这两个项目仍然处于萌芽状态,但是它们都显示了良好的前景,并已经成为一些实用应用程序的基础。 1 评论: 蒋清野 (qjiang@ieee.org), 研究科学家, HappyFox Engineering Solutions 2003 10 月 25 日 + 内容 在 IBM Bluemix 云平台上开发并部署您的下一个应用。 现在就开始免费试用 通用串行总线(Universal Serial Bus USB)规范的第一个版本发表于 1996 1月。因为它的低成本、高数据传输率、使用容易和灵活性,USB 在计算机行业里获得了广泛接受。今天,许多周边设备和装置都是通过 USB 接口连接到计算机上的。目前,大多数一般用途的操作系统都提供了对 USB 设备的支持,并且用 C 或者 C++ 可以相对容易地开发访问这些外设的应用程序。不过,Java 编程语言在设计上对硬件访问提供的支持很少,所以编写与 USB 设备交互的应用程序是相当困难的。 IBM 的 Dan Streetman 最早开始了在 Java 语言中提供对 USB 设备的访问的努力。2001,他的项目通过 Java 规范请(Java Specification Request,JSR)过程被接受为 Java 语言的候选扩展标准。这个项目现在称为 JSR-80 并且指定了官方包 javax.usb 。同时,在 2000 6月,Mojo Jojo 和 David Brownell 在 SourceForge 开始了 jUSB 项目。这两个项目都开发出了 Linux 开发人员可以使用的包,尽管它们都还很不完善。这两个项目也都开始试图向其他操作系统上的 Java 应用程序提供对 USB 设备的访问,尽管它们都还没有开发出可以使用的包(参阅 参考资料 中有关本文中讨论的这两个项目及其他项目的资料)。 在本文中,将对 jUSB 和 JSR-80 项目作一个简要介绍,不过,我们首先要看一下 USB 协议的具体细节,这样您就可以理解这两个项目是如何与 USB 设备交互的。我们还将提供代码片段以展示如何用这两个项目的 API 访问 USB 设备。 USB 介绍 1994,一个由四个行业伙伴(Compaq、Intel、Microsoft 和 NEC)组成的联盟开始制定 USB 协议。该协议最初的目的是将 PC 与电话相连并提供容易扩展和重新配置的 I/O 接口。1996 1月,发表了 USB 规范的第一个版本,1998 9月发表了后续版本(版本 1.1)。这个规范允许 127台设备同时连接到一起,总的通信带宽限制为 12 Mbps。后来,又有三个成员(Hewlett-Packard、Lucent 和 Philips)加入了这个联盟。2000 4月,发表了 USB 规范的 2.0版本,它支持高达 480 Mbps 的传输率。今天,USB 在高速(视频、图像、储存)和全速(音频、宽带、麦克风)数据传输应用中起了关键作用。它还使各种低速设备(键盘、鼠标、游戏外设、虚拟现实外设)连接到 PC 上。 USB 协议有严格的层次结构。在所有 USB 系统中,只有一个主设备,到主计算机的的 USB 接口称为 主控器(host controller)。主控器有两个标准――开放主控器接口(Compaq 的 Open Host Controller Interface,OHCI)和通用主控器接口(Intel 的 Universal Host Controller Interface,UHCI)。这两个标准提供了同样的能力,并可用于所有的 USB 设备,UHCI 的硬件实现更简单一些,但是需要更复杂的设备驱动程序(因而 CPU 的负荷更大一些)。 USB 物理互连是分层的星形拓朴,最多有七层。一个 hub 是每个星形的中心,USB 主机被认为是 root hub。每一段连线都是 hub 与 USB 设备的点对点连接,后者可以是为系统提供更多附加点的另一个 hub,也可以是一个提供功能的某种设备。主机使用主/从协议与 USB 设备通信。这种方式解决了包冲突的问题,但是同时也阻止了附加的设备彼此建立直接通信。 所有传输的数据都是由主控器发起的。数据从主机流向设备称为 下行(downstream)或者 输出(out)传输,数据从设备流向主机称为 上 行(upstream)或者 输入(in)传输。数据传输发生在主机和 USB 设备上特定的 端点(endpoint) 之间,主机与端点之间的数据链接称为 管道(pipe)。 一个给定的 USB 设备可以有许多个端点,主机与设备之间数据管道的数量与该设备上端点的数量相同。一个管道可以是单向或者是双向的,一个管道中的数据流与所有其他管道中的数据流无关。 USB 网络中的通信可以使用下面四种数据传输类型中的任意一种: 控制传输:这些是一些短的数据包,用于设备控制和配置,特别是在设备附加到主机上时。 批量传输:这些是数量相对大的数据包。像扫描仪或者 SCSI 适配器这样的设备使用这种传输类型。 中断传输:这些是定期轮询的数据包。主控器会以特定的间隔自动发出一个中断。 等时传输:这些是实时的数据流,它们对带宽的要高于可靠性要。音频和视频设备一般使用这种传输类型。 像串行端口一样,计算机上每一个 USB 端口都由 USB 控制器指定了一个惟一的标识数字(端口 ID)。当 USB 设备附加到 USB 端口上时,就将这个 惟一端口 ID 分配给这台设备,并且 USB 控制器会读取 设备描述符。设备描述符包括适用于该设备的全局信息、以及设备的 配置信息。配置定义了一台 USB 设备的功能和 I/O 行为。一台 USB 设备可以有一个或者多个配置,这由它们相应的配置描述符所描述。每一个配置都有一个或者多个 接口,它可以视为一个物理通信渠道 ;每一个接口有零个或者多个端点,它可以是数据提供者或者数据消费者,或者同时具有这两种身份。接口由接口描述符描述,端点由端点描述符描述。并且一台 USB 设备可能还有字符串描述符以提供像厂商名、设备名或者序列号这样的附加信息。 正如您所看到的,像 USB 这样的协议为使用 Java 这种强调平台和硬件无关性的语言的开发人员提出了挑战。现在让我们看两个试图解决这个问题的项目。 回页首 jUSB API jUSB 项目是由 Mojo Jojo 和 David Brownell 于 2000 6月创立的。其目标是提供一组免费的、在 Linux 平台上访问 USB 设备的 Java API。这个 API 是按照 Lesser GPL (LGPL)条款发表的,这意味着您可以在专有和免费软件项目中使用它。这个 API 提供了对多个物理 USB 设备的多线程访问,并支持本机和远程设备。具有多个接口的设备可以同时被多个应用程序(或者设备驱动程序)所访问,其中每一个应用程序(或者设备驱动程序)都占据一个不同的接口。该 API 支持控制传输、批量传输和中断传输,不支持等时传输,因为等时传输用于媒体数据(如音频和视频),JMF API 已经在其他标准设备驱动程序上对此提供了很好的支持(参阅 参考资料)。当前,该 API 可以在具有 Linux 2.4 核心或者以前的 2.2.18 核心的 GNU/Linux 版本上工作。因此可支持大多数最新的版本,例如,该 API 可以在没有任何补丁或者升级的 Red Hat 7.2 和 9.0 上工作。 jUSB API 包括以下包: usb.core : 这个包是 jUSB API 的核心部分。它使得 Java 应用程序可以从 USB 主机访问 USB 设备。 usb.linux : 这个包包含 usb.core.Host 对象的 Linux 实现、bootstrapping 支持和其他可以提升 Linux USB 支持的类。这个实现通过虚拟 USB 文件系统( usbdevfs )访问 USB 设备。 usb.windows : 这个包包含 usb.core.Host 对象的 Windows 实现、bootstrapping 支持和其他可以提升 Windows USB 支持的类。这个实现仍然处于非常初级的阶段。 usb.remote : 这个包是 usb.core API 的远程版本。它包括一个 RMI proxy 和一个 daemon 应用程序,它让 Java 应用程序可以访问远程计算机上的 USB 设备。 usb.util : 这个包提供了一些有用的实用程序,可以将 firmware下载到 USB 设备上、将 USB 系统的内容转储到 XML 中、以及将只有 bulk I/O 的 USB 设备工具转换成一个套接字(socket)。 usb.devices : 这个可选包收集了用 jUSB API 访问不同 USB 设备的 Java 代码,包括柯达数码相机和 Rio 500 MP3 播放器。这些 API 经过特别编写以简化访问特定 USB 设备的过程,并且不能用于访问其他设备。这些 API 是在 usb.core API 之上构建的,它们可以工作在所有支持 jUSB 的操作系统上。 usb.view : 这个可选包提供了基于 Swing 的 USB 树简单浏览器。它是一个展示 jUSB API 应用的很好的示例程序。 尽管 usb.core.Host 对象的实现对于不同的操作系统是不同的,但是 Java 程序员只需要理解 usb.core 包就可以用 jUSB API 开始应用程序的开发。表 1 列出了 usb.core 的接口和类,Java 程序员应该熟悉它们: 表 1. jUSB 中的接口和类 接口 说明 Bus 将一组 USB 设备连接到 Host 上 Host 表示具有一个或者多个 Bus 的 USB 控制器 类 说明 Configuration 提供对设备所支持的 USB 配置的访问,以及对与该配置关联的接口的访问 Descriptor 具有 USB 类型的描述符的实体的基类 Device 提供对 USB 设备的访问 DeviceDescriptor 提供对 USB 设备描述符的访问 EndPoint 提供对 USB 端点描述符的访问、在给定设备配置中构造设备数据输入或者输出 HostFactory 包含 bootstrapping 方法 Hub 提供对 USB hub 描述符以及一些 hub 操作的访问 Interface 描述一组端点,并与一个特定设备配置相关联 PortIdentifier 为 USB 设备提供稳定的字符串标识符,以便在操作和故障诊断时使用 用 jUSB API 访问一台 USB 设备的正常过程如下: 通过从 HostFactory 得到 USB Host 进行 Bootstrap。 从 Host 访问 USB Bus ,然后从这个 Bus 访问 USB root hub(即 USB Device )。 得到 hub 上可用的 USB 端口数量,遍历所有端口以找到正确的 Device 。 访问附加到特定端口上的 USB Device 。可以用一台 Device 的 PortIdentifier 直接从 Host 访问它,也可以通过从 root hub 开始遍历 USB Bus 找到它。 用 ControlMessage 与该 Device 直接交互,或者从该 Device 的当前 Configuration 中要一个 Interface, 并与该 Interface 上可用的 Endpoint 进行 I/O 。 清单 1 展示了如何用 jUSB API 获得 USB 系统中的内容。这个程序编写为只是查看 root hub 上可用的 USB 设备,但是很容易将它改为遍历整个 USB 树。这里的逻辑对应于上述步骤 1 到步骤 4。 清单 1. 用 jUSB API 获得 USB 系统的内容 import usb.core.*; public class ListUSB { public static void main(String[] args) { try { // Bootstrap by getting the USB Host from the HostFactory. Host host = HostFactory.getHost(); // Obtain a list of the USB buses available on the Host. Bus[] bus = host.getBusses(); int total_bus = bus.length; // Traverse through all the USB buses. for (int i=0; i年 6月到 2001 2月期间非常活跃。该 API 的最新的版本 0.4.4发表于 2001 2月 14日。从那以后只提出了很少的改进,原因可能是 IBM 小组成功地成为了 Java 语言的候选扩展标准。不过,基于 jUSB 已经开发出一些第三方应用程序,包括 JPhoto 项目(这是一个用 jUSB 连接到数码照相机的应用程序)和 jSyncManager 项目(这是一个用 jUSB 与使用 Palm 操作系统的 PDA 同步的应用程序)。 回页首 JSR-80 API (javax.usb) 正如前面提到的,JSR-80 项目是由 IBM 的 Dan Streetman 于 1999创立的。2001,这个项目通过 Java 规范请(JSR)过程被接受为 Java 语言的候选扩展标准。这个项目现在称为 JSR-80 并且被正式分派了 Java 包 javax.usb 。这个项目使用 Common Public License 的许可证形式,并通过 Java Community Process 进行开发。这个项目的目标是为 Java 平台开发一个 USB 接口,可以从任何 Java 应用程序中完全访问 USB 系统。JSR-80 API 支持 USB 规范所定义的全部四种传输类型。目前,该 API 的 Linux 实现可以在支持 2.4 核心的大多数最新 GNU/Linux 版本上工作,如 Red Hat 7.2 和 9.0。 JSR-80 项目包括三个包: javax-usb ( javax.usb API)、 javax-usb-ri (操作系统无关的基准实现的公共部分)以及 javax-usb-ri-linux (Linux 平台的基准实现,它将公共基准实现链接到 Linux USB 堆栈)。所有这三个部分都是构成 Linux 平台上 java.usb API 完整功能所必需的。在该项目的电子邮件列表中可以看到有人正在致力于将这个 API 移植到其他操作系统上(主要是 Microsoft Windows),但是还没有可以工作的版本发表。 尽管 JSR-80 API 的操作系统无关的实现在不同的操作系统上是不同的,但是 Java 程序员只需要理解 javax.usb 包就可以开始开发应用程序了。表 2 列出了 javax.usb 中的接口和类, Java 程序员应该熟悉它们: 表 2. JSR-80 API 中的接口和类 接口 说明 UsbConfiguration 表示 USB 设备的配置 UsbConfigurationDescriptor USB 配置描述符的接口 UsbDevice USB 设备的接口 UsbDeviceDescriptor USB 设备描述符的接口 UsbEndpoint USB 端点的接口 UsbEndpointDescriptor USB 端点描述符的接口 UsbHub USB hub 的接口 UsbInterface USB 接口的接口 UsbInterfaceDescriptor USB 接口描述符的接口 UsbPipe USB 管道的接口 UsbPort USB 端口的接口 UsbServices javax.usb 实现的接口 类 说明 UsbHostManager javax.usb 的入口点 用 JSR-80 API 访问 USB 设备的正常过程如下: 通过从 UsbHostManager 得到相应的 UsbServices 进行 Bootstrap。 通过 UsbServices 访问 root hub。在应用程序中 root hub 就是一个 UsbHub 。 获得连接到 root hub 的 UsbDevice s 清单。遍历所有低级 hub 以找到正确的 UsbDevice 。 用控制消息( UsbControlIrp )与 UsbDevice 直接交互,或者从 UsbDevice 的相应 UsbConfiguration 中要一个 UsbInterface 并与该 UsbInterface 上可用的 UsbEndpoint 进行 I/O。 如果一个 UsbEndpoint 用于进行 I/O,那么打开与它关联的 UsbPipe 。通过这个 UsbPipe 可以同步或者异步提交上行数据(从 USB 设备到主计算机)和下行数据(从主计算机到 USB 设备)。 当应用程序不再需要访问该 UsbDevice 时,关闭这个 UsbPipe 并释放相应的 UsbInterface 。 在清单 3 中,我们用 JSR-80 API 获得 USB 系统的内容。这个程序递归地遍历 USB 系统上的所有 USB hub 并找出连接到主机计算机上的所有 USB 设备。这段代码对应于上述步骤 1 到步骤 3。 清单 3. 用 JSR-80 API 获得 USB 系统的内容 import javax.usb.*; import java.util.List; public class TraverseUSB { public static void main(String argv[]) { try { // Access the system USB services, and access to the root // hub. Then traverse through the root hub. UsbServices services = UsbHostManager.getUsbServices(); UsbHub rootHub = services.getRootUsbHub(); traverse(rootHub); } catch (Exception e) {} } public static void traverse(UsbDevice device) { if (device.isUsbHub()) { // This is a USB Hub, traverse through the hub. List attachedDevices = ((UsbHub) device).getAttachedUsbDevices(); for (int i=0; i年 2月发表了 javax.usb API、RI 和 RI 的 0.10.0 版本。看起来这一版本会提交给 JSR-80 委员会做最终批准。预计正式成为 Java 语言的扩展标准后,其他操作系统上的实现会很快出现。Linux 开发者团体看来对 JSR-80 项目的兴趣比 jUSB 项目更大,使用 Linux 平台的 javax.usb API 的项目数量在不断地增加。 回页首 结束语 jUSB API 和 JSR-80 API 都为应用程序提供了从运行 Linux 操作系统的计算机中访问 USB 设备的能力。JSR-80 API 提供了比 jUSB API 更多的功能,很有可能成为 Java 语言的扩展标准。目前,只有 Linux 开发人员可以利用 jUSB 和 JSR-80 API 的功能。不过,有人正在积极地将这两种 API 移植到其他操作系统上。Java 开发人员应该在不久就可以在其他操作系统上访问 USB 设备。从现在起就熟悉这些 API,当这些项目可以在多个平台上发挥作用时,您就可以在自己的应用程序中加入 USB 功能了。 参考资料 您可以参阅本文在 developerWorks 全球站点上的 英文原文. 有关 USB 规范的更多信息,请访问 USB.org。 访问 SourceForge 上的 jUSB 项目主页。 有关 JSR-80 项目的更多信息,请访问其 主页或者其 在 Java Community Process 中的页面。 查找更多有关 jPhoto 项目的内容。 了解 jSyncManager项目。 有关 JMF 项目的更多内容,参阅 Eric Olson 的全面性的“ Java Media Framework 基础”教程( developerWorks,2002 5月)。 可以在 developerWorks Java 技术专区 中找到关于 Java 编程各个方面的数百篇文章。 加入 developerWorks 中文社区,查看开发人员推动的博客、论坛、组和维基,并与其他 developerWorks 用户交流。 条评论 请 登录 或 注册 后发表评论。 添加评论: 注意:评论中不支持 HTML 语法 有新评论时提醒我剩余 1000 字符 共有评论 (1) 非常不错! 由 javaku 于 201205月28日发布 报告滥用 IBM PureSystems IBM PureSystems™ 系列解决方案是一个专家集成系统 developerWorks 学习路线图 通过学习路线图系统掌握软件开发技能 软件下载资源中心 软件下载、试用版及云计算 回页首 帮助 联系编辑 提交内容 订阅源 在线浏览每周时事通讯 新浪微博 报告滥用 使用条款 第三方提示 隐私条约 浏览辅助 IBM 教育学院教育培养计划 IBM 创业企业全球扶持计划 ISV 资源 (英语) dW 中国每周时事通讯 选择语言: English 中文 日本語

1,151

社区成员

发帖
与我相关
我的任务
社区描述
该论坛主要探讨基于IBM云计算的开发技术,并为网友们提供自由交流的平台。
社区管理员
  • IBM云计算社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧