购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.4
万物互联时代面临的挑战

人类文明先后经历了农耕时代、工业时代和信息时代。诞生于20世纪60年代的互联网极大地推动了信息时代的发展,无数计算机通过网络连接在一起。人们打破了距离和语言的限制,通过网络可以浏览信息、分享数据、发送电子邮件等。互联网的兴起使人们获取信息的广度和深度发生了深刻的变化,尤其是移动互联网的普及,使全球移动用户数量得以快速增长。

一般而言,智能终端(Smart Terminal)是一类嵌入式计算机系统设备,其典型特征是包含可编程芯片、处于计算机网络的末梢,存在人—机、物—机交互界面。

IoT通过网络,特别是无线网络,将智能终端相互连接起来,实现任何时间、任何地点,人—机、机—机的互联互通。IoT的概念最早可以追溯到20世纪80年代初,但多年来IoT一直处于概念期,并没有真正地快速发展起来。根据使用场合,IoT终端可分为固定终端、移动终端和手持终端;根据功能的扩展性,则可分为单一功能终端(专用智能终端)和通用智能终端;根据应用的行业,则主要分为工业设施IoT终端、农业设施IoT终端、物流识别IoT终端、电力系统IoT终端、安防监测IoT终端等,需要说明的是该分类随着行业的增加和细分而变化。传统观点认为,智能手机、平板计算机、笔记本计算机、台式计算机和固定电话等传统智能终端属于非IoT终端,而IoT终端(狭义)是指非IoT终端之外的智能终端设备,如网关设备、传感器设备和NFC(Near Field Communication,近场通信)设备等短距通信设备。近年来,随着IoT实践的不断深入,越来越多的观点认为智能手机等智能设备也属于IoT终端。如果不做特殊说明,本书中提到的IoT设备默认包含手机等智能终端。

近10年来,智能终端的发展一直处于“快车道”中,无论是设备数量还是设备种类,都发生了巨大变化。IoT终端在多个领域中逐步落地,特别是智能家居、工业IoT、车联网、智慧城市等领域,目前正处在快速发展中,万物互联时代到来了。

1.4.1 万物互联时代已来临

回顾移动互联网发展历程,2011年年底,全球智能手机出货量首次超过了PC出货量,这标志着移动互联网时代的来临。IoT研究机构IoT Analytics 2020年发布的IoT跟踪报告显示,那之前10年,全球所有IoT终端(不包含智能手机)连接数年的复合增长率达到10%。报告指出,2020年全球IoT的连接数约为117亿,IoT发展进入一个新的历史阶段,报告同时预测,2025年智能设备的数量将达到300亿部。

与计算机体系结构不断发展一样,IoT硬件技术也在快速发展中,举例说明如下。

计算单元: 从通用计算走向领域计算,CPU、GPU、TPU、NPU、IPU不断发展,以支撑AI、图形处理、并行运算等强算力需求。

存储单元: 智能存储、存算一体、SCM、非易失性内存等存储单元会逐步规模应用,易失存储与持久存储逐步走向融合,边界不再清晰。

通信单元: 无线通信技术不仅提供通信能力,也提供无线传感技术和增强型无线位置追踪等能力。同时,5G大连接、低时延、高可靠性使新型高吞吐量、低时延广域计算成为可能。

智能驾驶: 智能驾驶汽车包含完整的传感器、网络互联、计算单元等,是新一代移动数据中心的主要载体。

智能家庭: 家居越来越智能化,无缝连接、自然交互等可支撑良好的用户体验。新型IoT设备硬件技术发展需要操作系统提供新的抽象与设计来充分简化编程、快速互联、释放算力,以支持构建异构新老硬件混合异构环境,实现新型硬件技术与现有硬件技术的完美融合。

当前,智能终端操作系统主要解决的是人和单设备的交互问题,交互的方式取决于单设备的硬件支持哪些交互能力。针对用户如何通过一台设备和另一台设备进行交互的问题,当前多个智能终端操作系统做了一定的尝试。譬如,打通App在两个设备之间的消息通道,优化了用户在特定场景下的操作体验等。未来的操作体验将会围绕万物互联的全场景展开,大量设备如何动态接入网络?如何互相通信?用户与多设备的交互方式如何体现以人为中心?这些都是迫切需要在系统层面解决的问题。

1.4.2 改善终端用户体验的诉求

在20世纪大型机时代,终端通常指的是与集中式处理计算主机系统交互的,由显示器、键盘等I/O设备组成的操作台设备。后来,终端的处理能力越来越强大,“终端”这个词已经约等于计算机系统,也就是我们常说的微型机或PC。21世纪,随着移动系统(包括软件和硬件)技术的发展,人们所说的终端,更多的是指笔记本计算机、智能手机、平板计算机等设备。并且,随着消费电子设备的发展,智能电视、智能眼镜、智能手表、智能手环等设备也已经加入终端的行列。

近年来,智能终端的概念在各种媒体中常被提及。从概念上讲,智能终端是相对于非智能终端而言的。21世纪之前,面向消费市场的终端产品由于软硬件能力的限制,大多属于非智能终端。随着嵌入式软硬件技术和操作系统技术的发展及硬件成本的不断降低,智能终端迅速发展并快速取代非智能终端,成为市场主流。智能终端的“智能”主要体现在功能的可扩展性方面,智能终端跟具体应用软件的结合可以看作某一场景的非智能终端。譬如,智能终端安装了学习软件后就变成了学习机;智能终端安装了K歌软件后,则变成了KTV点唱机;智能终端安装了导航软件后就变成了导航仪。用户通过安装各种各样的软件,可以很方便地使智能终端变成融合了无数个非智能终端功能的综合体。

经过十多年的快速发展,越来越多种类的新型智能终端大规模进入了普通人的生活,并深刻地改变了人们的生活方式和工作方式。智能终端未来的发展趋势体现在以下层面上。

在硬件层面上体现为新型硬件器件的引入、更高的硬件集成度和智能终端设备范围的拓展,一些原本非智能终端随着硬件的升级变为智能终端。

在操作系统层面上体现为对新型硬件和较低性能非智能终端的支持,与其他智能终端更高效地协同,交互更人性化、更智能,体验更好。

在应用层面上体现为用户程序种类更丰富,用户程序之间的协同更方便、更普遍。

可以看出,智能终端的硬件能力只有在丰富的生态应用下才能充分发挥其“智能”,智能终端丰富的应用程序则可以极大地扩展其功能。软件通过组合使用各项智能硬件功能,结合网络接入功能,可以把更多的内容引入智能终端。这也同时要求智能终端使用开放操作系统。

需要注意,开放操作系统和开源操作系统是两个不同的概念。开放操作系统是相对封闭操作系统而言的,开放操作系统是指操作系统的应用生态是开放的,一般通过开放的API、配套的SDK(Software Development Kit,软件开发包)和IDE(Integrated Development Environment,集成开发环境)支持第三方开发者进行应用程序的开发。而开源操作系统是指操作系统的源码是开源的,开源操作系统不一定是开放操作系统。

综上所述,智能终端繁荣发展的核心是使用新一代开放操作系统,它从本质上决定了应用的快捷开发程度,以及应用使用智能终端设备软硬件资源的能力。

在万物互联时代,人和各种不同设备之间的交互会更加频繁,设备和设备之间的交互也会常态化。但是,人和设备之间的交互及设备和设备之间的交互要做到以人为中心,更好地为人服务,就需要重新设计人—机和机—机交互体系。我们可以畅想一下,万物互联的智能世界跟当前世界相比会发生根本的变化:具备联网能力、存储能力和一定计算能力的智能设备数量迅速增加;在大多数场景下,每个人的周围几乎随时同时存在多台智能设备,这些智能设备通过网络连接在一起,互相协同,用户可以通过任一设备控制另一设备,而不管这台设备当前所处的具体位置;用户也可以通过一台设备访问其他设备上的资源,这些资源可能存在于本地的另一台设备上,或者存在于远端的另一台设备上,但对用户而言,这些资源就好像永远在其身边一样可随时随地使用。若想将这些畅想变为事实,需要解决当前存在的如下四大痛点。

体验不一致: 譬如,手机上丰富的应用无法在其他终端上使用。

体验不连续: 譬如,视频播放无法跨设备迁移,播放进度不同步。

硬件互割裂: 譬如,手机无法使用车机上的GPS(Global Positioning System,全球定位系统)进行辅助定位。

内容不协同: 譬如,手机上的地图信息无法与车机上的地图协同使用。

1.4.3 开发者面临的挑战

庞大的开发者群体是软件生态繁荣的基础,操作系统的设计必须了解开发者面临的挑战,并能够在系统层面上重点帮助开发者应对挑战。

相关调研数据显示,在移动终端开发者中,63%的开发者反馈他们开发一个应用需要适配多个操作系统。虽然当前有多款支持跨平台的开发框架,如Web开发框架和Flutter开发框架等,但对于一些较复杂的应用程序,开发者仍需要针对不同的操作系统分别进行开发,这是开发者面临的最大挑战。不同的操作系统对外提供的平台API能力范围也不尽相同,通过跨平台的开发框架很难解决由操作系统本身差异导致的各种深层次问题。在当前IoT领域,操作系统种类繁多,百花齐放,给设备开发者带来便利,同时也给应用开发者带来了适配更多操作系统的繁重工作量。

排在第二位的挑战是开发者必须面对类型众多的智能设备。即使这些设备使用同一个操作系统,应用开发者也不得不针对不同类型的设备开发不同的应用,以提供更好的业务体验。譬如,不同设备屏幕大小不同、分辨率也不同,如何为这些设备设计更好的UI(User Interface,用户界面)?一种常见的做法是为不同的设备设计不同的布局和资源,开发者会将大量精力耗费在UI的设计和调整上。另外,这些设备能够提供的交互方式也千差万别,有的提供触控交互,有的提供键盘和鼠标交互,有的提供遥控器交互,开发者需要针对这些不同的交互方式开发不同的业务处理逻辑。

调研数据同时显示,大多数应用使用了多语言的混合开发模式。这需要开发者掌握多门开发语言,对大多数开发者而言,这是一项较高的要求。熟练掌握一门开发语言需要花费大量的学习成本,开发者不但要熟悉开发语言的语法知识,还要通过不断实践来掌握该语言常用的开发模式。另外,开发者还需要能够熟练使用该语言配套的工具链,对常用的第三方库也要有足够的了解。还有一点需要指出,开发语言版本的升级迭代也给开发者带来了更多的学习成本。

另外,适配不同的操作系统、适配不同的设备、使用多种语言开发,必然导致代码库的维护更加复杂。许多开发者将大量精力投入架构优化,希望通过一个架构支持不同的操作系统和不同的设备。一种常见的思路是提取更多的公共组件,这些公共组件通常进行了跨平台的设计,对于无法跨平台的组件,采用分别实现的方式。多组件不仅带来了维护成本的提高,也带来了功能的不一致性和接口兼容性等方面的技术问题。 zR9knL+No3BR5736DhqkG41i/2cni/MTzW49wPcdz19UDoZ8wIvNArtPj4zIo6Na

点击中间区域
呼出菜单
上一章
目录
下一章
×