《泛在业务环境设备能力的汇聚与系统框架设计,软件工程论文.docx》由会员分享,可在线阅读,更多相关《泛在业务环境设备能力的汇聚与系统框架设计,软件工程论文.docx(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、泛在业务环境设备能力的汇聚与系统框架设计,软件工程论文随着信息技术的发展,人们对信息的获取和使用方式由原来的单一网络连接逐步向泛在信息服务迁移 在泛在业务环境中,各类信息设备被应用到生活中的各类场景中 泛在业务环境是通过对这些无处不在的数字信息进行采集、管理、有效利用,使各类功能各异、无处不在的网络和设备能够协同工作,实现泛在业务环境下物与物、物与人、人与现实之间的高效交互形式如此图 1 所示,传统的设备能力利用方案多是面向特定行业和场景的垂直型应用,应用开发的壁垒高,通常使用封闭的私有接口和通信协议,难以知足泛在业务环境下跨网络、跨行业的水平型应用需求 所以,本文提出了一种系统架构,采用模块
2、化的方式方法将设备映射为抽象的 web 资源,使各类应用能够通过统一的 ESTful( Epresentational State Transfer) 接口与之实现访问和交互 架构考虑到了泛在网中设备海量、异构、移动的特点,因而模块的划分和功能设计使架构具有较好的低耦合和可扩展性 对设备的统一资源抽象使得这些数据源网络具备应用层的互操作能力,能够实现一个应用同时聚合使用多种设备的能力,同时,同一个设备的能力也能够被多个应用所复用,因而能够较好的知足泛在业务环境下设备能力的会聚与开放的需求 经过一个在详细硬件环境中施行的演示系统验证了该架构的可行性和有效性2 相关工作早期的泛在网研究重点在于将无
3、处不在的数字设备与现实世界进行关联整合,构成 Internet of Things 然而,早期应用的构造一般都是垂直方向的解决方案,每个应用通常只针对特定的场景,需要专用的软件和通信协议才能工作 这种构造在设备数量不多,用户较少的情况下是可行的,然而它不合适泛在业务环境下大量异构设备在应用层的服务聚合与开放为了实现较好的互操作性,研究人员尝试将传统网络中的协议移植到泛在网环境中 6LoWPAN3即是这种工作的成果,它能使设备具有简单的 IPv6 通信能力 文献2,6,8利用该方式方法在设备中植入精简的 web 服务 但是该方案的施行经过仍然非常精细,例如,在各类异构设备上施行 6LoWPAN
4、本身便需要解决各类兼容性的问题,在受限设备上施行 web 服务也需要针对存储和计算能力进行专门优化 这个经过相当于在各类设备上重新实现一套网络协议栈,成本和专业门槛较高,不合适大规模推广在文献4中描绘叙述了一种通过对设备能力进行抽象,进而屏蔽异构差异,实现泛在网中可插拔式( Plug and Play) 开放服务市场的前景 该工作缺少对下行通信的抽象方式方法进行讨论 文献7尝试在社交网络环境中实现设备信息的分享,该工作重点考虑了施行设备信息分享时的隐私保卫和接入控制等相关问题 该工作主要针对规模和数量较小的数据源网络信息分享,缺少对泛在网中海量设备、诸多数据源网络的情况下可扩展性的考虑利用已被
5、广泛接受和推广的技术来实现泛在设备的能力会聚与开放是非常适宜的 Web 技术的大规模普及使之具备这种条件,具有准入门槛低、易于推广的优势 在泛在网中,通常使用 EST 架构1的方式方法将设备的能力抽象成能够使用统一接口访问的 web 资源,这主要是由于其相对于其它方式方法更为简洁轻量的结果3 系统架构和组件功能相比传统的传感器网络应用,在泛在业务环境下设备的能力会聚与开放所面对的应用需求种类更多,服务范围也相对更为分散,加上泛在业务环境下设备数量诸多,架构和功能各异,因而,在架构上,除了要知足对不同平台的兼容性和能力会聚开放的需求外,还需要充分考虑整个系统的低耦合和可扩展性系统架构如此图 2
6、所示 架构的设计以数据为中心,将数据源的能力会聚与面向用户的能力开放进行分离 系统由数据源、预处理模块、ESTful 接口模块、控制适配模块、数据仓储组成 当数据从传感网中会聚到系统中后,首先由预处理模块进行必要的规整处理,将可能来自不同网络不同类型节点的原始数据预处理成数据仓储中所要求的格式 用户与系统之间的数据传输采用 HTTP 协议,交互经过采用 ESTful 风格的接口进行3. 1 数据源数据源通常由普通传感器节点和 sink 节点组成 普通节点通常装备有能够感悟某类参数( 如温度、位置信息等) 的专用传感模块 传感器节点采集数据后,通常通过其本身装备的无线发射模块在传感网中会聚到 s
7、ink 节点 根据应用需求场景的不同,传感器节点有时也需要接收和响应处理来自 sink下发的控制类请求报文Sink 节点连接传感器网络和全功能外部设备,同时具备与传感器网络中的节点和全功能设备进行通信的能力 普通节点的数据会聚到 sink 节点后,由 sink 交给全功能设备上的预处理程序进行处理 对传感器网络的控制指令也首先交由sink 节点然后向下传达3. 2 预处理模块在泛在业务环境中,平台需要能够支持不同种类,功能和架构各异的数据源设备的接入 这意味着接入平台的泛在设备的能力、上传的数据类型、数据的封装方式等等也是非常多样化的 因而,当数据会聚到 sink 节点后,需要由预处理模块对数
8、据进行必要的规整和格式化操作,屏蔽差异,使之符合平台对数据格式的要求,然后将其存入数据仓储模块举例来讲,预处理通常需要完成的功能如下:1) 针对各类 sink 节点上传的报文,进行相应的解析,提取出相关的数据字段;2) 若节点为能力受限节点,不能随报文提供数据采集的时间戳信息,则预处理模块有必要在数据进入仓储模块前为其添加当下的时间信息;3) 当数据源网络缺少标识,互相之间无法区分时,预处理模块能够在收到数据后为其添加相应的网络信息标识;4) 如有必要,需要对采集的数据进行单位换算,或者进行异常值检测,便于统计处理;5) 为了增加传输的效率、延长数据源网络的生命周期,数据源节点可能会积累多个感
9、悟数据后用封装到同一个报文中发出 在这种情况下,预处理模块可能需要将其分拆开,作为单个数据条目存入数据仓储模块3. 3 ESTful 接口模块ESTful 接口模块用于对泛在业务环境下的设备进行功能抽象和能力开放 将设备的能力封装为 ESTful 风格的接口供外部应用系统调用 ESTful 接口通常使用 HTTP 协议作为数据传输的方式方法,接口交互时的数据封装格式一般采用较轻量的 JSON,或者 XML 格式ESTful 接口的设计主要需要表示出对数据源的常用操作,如数据的查询和基本控制功能,还能够通过接口的封装提供原设备不具备的能力接口,如统计相关和事务控制类的接口等通过 ESTful 接
10、口抽象层,各类设备本身的私有通信方式和协议细节被隐藏起来,应用程序接入设备的门槛能够大大降低 同时,通过抽象层开放设备的能力,使得能够同时接入和使用数据源服务的用户数大大增加,符合泛在业务环境下对服务聚合和开放的需求3. 4 控制适配模块当需要通过 ESTful 接口向下施行对数据源的配置功能时,由于向下传达控制指令时的网络延时和传输的可靠性难以保证,加上 HTTP 协议本身无状态的特点,对数据源的配置类指令采用事务控制和非阻塞的方式进行 这种做法的好处是,在保证服务可用性的同时,客户端在进行数据源配置时无需考虑每类设备的细节,进而简化与数据源进行主动交互时的复杂度控制适配模块的功能流程描绘叙
11、述如下:1) 首先,由平台的用户向 ESTful 接口模块调用配置相关的接口;2) ESTful 接口模验证请求来源的合法性以及请求本身的完好性后,为该次配置动作开创建立相应的事务记录,存入事务仓储中; 将事务标识号返回给客户端 否则,该次调用配置接口失败,执行结束;3) 控制适配模块监控事务仓储中的事务列表,根据每条事务信息的描绘叙述内容执行不同的动作 事务的描绘叙述字段可包括: 事务的当下状态、单次执行失败后重复次数、执行间隔、上次执行时间、事务执行动作的描绘叙述信息等 事务的终止状态至少包括两类: 执行成功、执行失败终止;4) 平台的用户使用之前获得的事务标识号向 ESTful后端模块查
12、询事务当下的执行状态;5) ESTful 接口模块验证请求完好性后,向事务仓储查询相关的事务信息,并将之返回给用户应用程序3. 5 数据仓储模块在泛在业务环境中,一方面,平台需要适应来自多个数据源网络的能力会聚和开放需求; 另一方面,平台也需要应对来自应用程序对开放接口的大量调用 在这种情况下,在平台中将数据仓储模块独立出来单独考虑就显得非常必要,由于在大数据量和并发量的情况下,需要十分保证数据的安全和高可用性,随机接入平台的数据源网络和应用程序越来越多,随之而来的可扩展性需求也会出现 将业务逻辑和数据仓储分离开来正是为了适应这种可扩展性的需求数据仓储模块在本系统中主要用作两类功能:1) 作为
13、永久数据仓库存储预处理模块规范化后的传感数据;2) 为控制适配功能提供相应的事务信息基础设施当用作传感数据的存储时,华而不实应至少包含节点标识信息、数据和数据类型描绘叙述 当需要区分多个数据源网络时,需要包含不同网络的标识信息 对于节点的信息,可依需求对节点型号、节点运行程序的版本号、节点配置相关的参数进行记录当用作事务信息存储时,华而不实至少应包含事务标识号、事务描绘叙述信息、事务当下执行状态信息 对于事务描绘叙述信息,其规范由控制适配模块来定义以保证相应的功能需求和兼容性4 系统参考实现和部署系统架构的可行性和有效性通过一个在详细硬件平台上施行的参考系统来进行一步验证 系统中传感器网络的硬
14、件设备共有 4 种,主要为功能受限设备,它们组成数据源网络1) 普通节点 2 种,分别是 Crossbow MP 2400( MICAz) 和Crossbow MP XM2110( IIS) ;2) Sink 节点 Crossbow MP XM2110( IIS) ;3) Sink 节点与 PC 的接口设备 Crossbow MIB 520 USB In-terface Board;4) 传感器设备 Crossbow MTS300传感器网络中的节点运行 TinyOS 2. 1. 0 系统,其所使用的通信协议和接入方式是专门设计的私有方式方法 应用程序通过 ESTful 接口模块提供的接口来访问
15、传感器网络,在演示系统中呈现给最终用户的是 Web 交互界面详细来讲,普通节点周期性地( 默认以 10 秒为周期) 在传感器网络中向 sink 节点上传数据,数据类型有两种,分别为温度值和光照强度值预处理模块与 sink 节点通过串口进行通信,获得数据的原始报文,从中获取关键的节点标识、传感数据、数据类型信息 由于这些节点所上传的报文中无法包含有效的时间戳信息,因而在预处理时需要对此进行添补 另外,TinyOS 系统中节点的标识是局部唯一的,当有多个网络接入系统时,则可能会出现不同网络中设备标识符互相冲突的情况,因而预处理模块需要对不同网络进行区分,根据与之通信的 sink 节点的不同为数据添
16、加数据来源信息 可以以根据业务逻辑的需要,对节点标识符进行补充,使之具备全局唯一性ESTful 接口模块收到客户端的查询类请求后,从数据仓储中获得信息,然后再根据接口参数的要求封装成标准的格式返回给客户端 在演示系统中有控制类接口 1 个,用于设置节点的数据上报周期 ESTful 接口在收到这类请求后,通过控制适配模块注册相应的事务信息,然后将事务号返回给用户应用程序 控制适配模块负责事务的执行,进而实现控制指令的非阻塞操作演示系统的 ESTful 接口设计示例如表 1 所示 ESTful接口模块抽象和封装出必要的数据查询接口和网络参数控制功能,还能够在这里基础上提供原始数据源不具备的接口,例
17、如基本的数据统计接口、数据可视化相关的接口等 接口调用参数使用 HTTP 协议标准的方式编码,数据传输时的封装也使用标准的 JSON 格式编码,进而保证不同平台间的兼容性和互用性,具有易于施行和推广的优点如此图 3 所示,系统在整体上为各个接口设计了统一的应答格式 合并具有一样语义的部分,减少了细节差异,从应用开发人员的角度看使得接口整体具有互相关联的一致性图 4 为某次调用/QueryData 的结果示例,该次调用为数据查询类的调用,查询结果使用 JSON 进行封装表示 status字段的值为 0,reason 字段的值为 ok ,它们表示此次调用成功 查询结果中数据负载的封装和表示需要根据
18、各个接口的功能需求而分别定义,此处使用 JSON 的 object 类型进行表示 华而不实,dataset 字段为 array 类型,用于封装知足查询条件的数据集 每个数组元素又使用 object 对象封装,包含有 data、sn、ts、id 等 4 个字段,分别表示光照值、数据的序号、数据的时间戳、数据源的节点标识符 数据负载中还含有数据集的简单统计信息,由平台计算后返回给应用程序,封装在字段 min、max、median、mean、std _dev 中,分别表示最小值、最大值、中值、平均值、标准差。5 结束语本文针对泛在业务环境下设备的接入和交互问题,设计了一种基于 EST 的能力会聚与开放系统架构 考虑到泛在网中设备数量大、异构、移动等特点,系统的设计采用了模块化划分的方式方法,模块的划分方式保证了平台的低耦合和可扩展性 与传统方式方法中客户端与数据源一对一交互的形式相比,采用 EST 架构方式方法对数据源能力进行抽象,使得同一个数据源的能力能够同时应用到多个应用中去,同一个应用能够使用统一的接口来访问多个不同的数据源能力 标准的通信和交互接口相比私有协议具有准入门槛低、易于推广的特点,符合泛在业务环境下能力会聚与开放的需求