基于物联网的轻量级REST服务器的设计与实现【译】
在加热领域,用户通常使用安装在计算机中的客户端应用程序来访问系统。
这样,没有这些客户端应用程序,用户就无法访问系统,这是不方便的。通过使用REST等Web服务技术,用户可以通过浏览器轻松访问系统。对于用户来说,它比使用客户端应用程序访问系统更为方便。
本文中提到的服务器系统是一个新的结合物联网技术和REST技术的服务器系统。整个系统包含数据访问层、资源适配层和资源访问层。数据访问层为用户提供了一些接口来访问服务器上的资源。当用户访问系统时,数据访问层从请求中提取一些参数,匹配一些规则并将它们转换为数据对象服务。资源适配层使用来自数据对象服务的消息来生成数据包并将其写入资源访问层。资源访问层与许多物理模块连接,这些物理模块与许多传感器连接。当资源访问层接受一个数据包时,它将发送一个数据包作为对资源适配器层的响应。资源适配器层从资源访问层接受数据包,解析数据包并将结果传递给数据访问层,然后将结果以统一格式返回给用户。
本文的其余部分整理如下:第二节中描述了相关的工作。第三节介绍了基于传感器的REST服务器系统的体系结构。在第四节中,显示了系统的实现。结论见第五节。
使用REST技术,在不同机器上运行的不同应用程序可以相互交换数据,而不需要附加的、专用的软件或硬件。根据REST的规范,这些应用程序可以相互交换数据,而不管它们使用什么语言、平台和内部协议。REST技术是自描述的、自包含的网络模块,可以执行特定的业务功能。REST技术也易于部署,因为它是基于XML和HTTP等标准技术。REST技术降低了应用程序接口的成本,并提供了一种用于在多个组织之间集成业务流程的通用机制。
REST(表示状态转移)指的是一组体系结构约束和原则。满足这些限制和原则的应用或设计是REST的。Web应用中REST最重要的原理是客户端将在非状态下与服务器交换数据。从客户端到服务器的每个请求都必须包含必要的信息,以便服务器能够理解请求的含义。此外,客户端将不会收到任何通知服务器是否重新启动。最后,非状态请求可以由任何可用的服务器响应,这非常适合于部署在云计算环境。
在服务器端,应用程序和功能可以被划分为不同的资源。资源是一个概念实体,对客户开放。资源有多种类型,如应用程序、数据库记录和算法。每个资源使用URI(通用资源标识符)来获得唯一的地址。REST使用标准的HTTP方法,如GET、PUT、POST和DELETE。
REST的另一个重要原理是层次系统,这意味着一个组件不能理解其他组件,并且不与其他组件交换数据。通过将知识系统限制为单层,REST可以降低系统的复杂度,提高底层的独立性。当REST体系结构的约束作为一个整体被使用时,它可以应用于大客户机,减少客户端和服务器之间的数据交换延迟,简化整个系统的体系结构和客户端和服务器的实现。
有四种方法来解析java,XML对象,DOM,SAX,dom4j和JDOM。在这个系统中,SAX被用来解析XML对象。当基于基于事件的模型的SAX解析器解析XML对象时,可以触发一系列事件。当解析器发现指定的标签时,它可以激活回调方法,并告诉方法找到了指定的标签。SAX要求的内存大小通常不是很大。
SAX顺序扫描文档。当扫描文档的开始或结束,或元素的开始或结束时,我们可以编写代码来响应这些事件并保存数据。SAX的优点是内存消耗低,但其缺点是编码复杂。
基于传感器的REST服务器系统采用物联网技术和REST技术,利用物联网技术可以自动获取工厂中的各种数据,同时利用REST技术信息可以在服务器上获取任何时间的数据。
摘要
近年来,物联网技术和Web Service技术得到了迅速发展。越来越多的传感器被广泛应用于铁路、港口、航空航天、供暖等领域。利用物联网技术和Web Service技术,可以为供热领域的监控提供一种新的有效解决方案。基于B/S结构,用户可以访问系统,并通过浏览器获取随时随地的信息,而不是用户基于C/S架构使用客户端应用程序访问系统。在该系统的支持下,用户对供热系统中部分数据的监测和控制更为方便。关键词
IoT; Monitor and Control in the Industry;Web Service; Restful介绍
随着科学技术的发展,物联网在许多领域得到了广泛的应用,越来越多的人关注这一新兴领域。众所周知,物联网的概念首次出现在1999年,但是现在越来越多的社区同意物联网是世界信息产业的第三次技术革命。在加热领域,用户通常使用安装在计算机中的客户端应用程序来访问系统。
这样,没有这些客户端应用程序,用户就无法访问系统,这是不方便的。通过使用REST等Web服务技术,用户可以通过浏览器轻松访问系统。对于用户来说,它比使用客户端应用程序访问系统更为方便。
本文中提到的服务器系统是一个新的结合物联网技术和REST技术的服务器系统。整个系统包含数据访问层、资源适配层和资源访问层。数据访问层为用户提供了一些接口来访问服务器上的资源。当用户访问系统时,数据访问层从请求中提取一些参数,匹配一些规则并将它们转换为数据对象服务。资源适配层使用来自数据对象服务的消息来生成数据包并将其写入资源访问层。资源访问层与许多物理模块连接,这些物理模块与许多传感器连接。当资源访问层接受一个数据包时,它将发送一个数据包作为对资源适配器层的响应。资源适配器层从资源访问层接受数据包,解析数据包并将结果传递给数据访问层,然后将结果以统一格式返回给用户。
本文的其余部分整理如下:第二节中描述了相关的工作。第三节介绍了基于传感器的REST服务器系统的体系结构。在第四节中,显示了系统的实现。结论见第五节。
相关工作
物联网的发展历史悠久。1999,麻省理工学院的Neil Gershenfeld教授出版了他的书《当事物开始思考》,他描述了“物联网”的原理,即:射频识别(RFID)、红外传感器、全球定位系统、激光扫描仪等信息传感设备,按照议定的协议,对连接到互联网的任何物品进行信息交换和通信,以实现智能识别、定位、跟踪、监控和人。网络时代2005年11月17日,国际电信联盟在突尼斯世界信息峰会上发布了“ITU互联网报告2005:物联网”,指出无处不在的“物联网”通信根除,所有物体从轮胎到牙刷。畲族,从住房到组织可以交换通过互联网倡议。2008年11月,IBM的首席执行官Sam Palmisano提出了一个建造更智能星球的新议程,并澄清了物联网是未来的趋势。目前,中国、美国、欧盟等国家已经充分认识到物联网的巨大的经济效益,他们都投入巨资深入研究探索它。使用REST技术,在不同机器上运行的不同应用程序可以相互交换数据,而不需要附加的、专用的软件或硬件。根据REST的规范,这些应用程序可以相互交换数据,而不管它们使用什么语言、平台和内部协议。REST技术是自描述的、自包含的网络模块,可以执行特定的业务功能。REST技术也易于部署,因为它是基于XML和HTTP等标准技术。REST技术降低了应用程序接口的成本,并提供了一种用于在多个组织之间集成业务流程的通用机制。
REST(表示状态转移)指的是一组体系结构约束和原则。满足这些限制和原则的应用或设计是REST的。Web应用中REST最重要的原理是客户端将在非状态下与服务器交换数据。从客户端到服务器的每个请求都必须包含必要的信息,以便服务器能够理解请求的含义。此外,客户端将不会收到任何通知服务器是否重新启动。最后,非状态请求可以由任何可用的服务器响应,这非常适合于部署在云计算环境。
在服务器端,应用程序和功能可以被划分为不同的资源。资源是一个概念实体,对客户开放。资源有多种类型,如应用程序、数据库记录和算法。每个资源使用URI(通用资源标识符)来获得唯一的地址。REST使用标准的HTTP方法,如GET、PUT、POST和DELETE。
REST的另一个重要原理是层次系统,这意味着一个组件不能理解其他组件,并且不与其他组件交换数据。通过将知识系统限制为单层,REST可以降低系统的复杂度,提高底层的独立性。当REST体系结构的约束作为一个整体被使用时,它可以应用于大客户机,减少客户端和服务器之间的数据交换延迟,简化整个系统的体系结构和客户端和服务器的实现。
有四种方法来解析java,XML对象,DOM,SAX,dom4j和JDOM。在这个系统中,SAX被用来解析XML对象。当基于基于事件的模型的SAX解析器解析XML对象时,可以触发一系列事件。当解析器发现指定的标签时,它可以激活回调方法,并告诉方法找到了指定的标签。SAX要求的内存大小通常不是很大。
SAX顺序扫描文档。当扫描文档的开始或结束,或元素的开始或结束时,我们可以编写代码来响应这些事件并保存数据。SAX的优点是内存消耗低,但其缺点是编码复杂。
基于传感器的REST服务器系统采用物联网技术和REST技术,利用物联网技术可以自动获取工厂中的各种数据,同时利用REST技术信息可以在服务器上获取任何时间的数据。
轻量级REST服务器的体系结构
REST服务器系统是基于IOT的数据访问层、资源适配层和资源访问层。我们可以从图1看到它的体系结构。![](https://i-blog.csdnimg.cn/blog_migrate/cdacdbb9c2c7b3ca8676ce8c294727c3.png)
图1 REST服务器的架构
数据访问层
这一层位于用户和服务平台之间。通过浏览器,用户可以向服务器发送请求消息。当服务器的数据访问层接受来自用户的请求时,它将将消息转换为统一的格式,根据一系列规则生成数据对象服务并将其传递给资源适配器层。当数据访问层接收结果作为资源适配器层的响应时,它将以统一格式返回结果给用户。资源适配器层
资源适配器层为数据访问层中生成的数据对象服务的执行提供了条件。当资源适配器层接收到数据对象服务时,它将从数据对象服务中提取出一些参数,这些参数可用于搜索资源描述表和接口描述表,匹配数据协议的规则,然后生成数据包。通过连接资源和服务器系统之间的接口,资源适配器层将把这个包写入资源。当该层接收到来自资源访问层的响应的数据包时,它将使用数据协议的规则解析该数据包,并将需要的结果返回到数据访问层。资源访问层
资源访问层与许多物理模块连接,包括许多PLC(可编程逻辑控制器),它们与许多类型的传感器连接,这些传感器可以感知周围的物理状态,并将它们的原始数据存储在这些PLC的寄存器中。由不同公司生产的这些PLC可能具有不同的数据格式和数据协议。我们将针对不同的类型实现不同的数据协议。PLC绘制这些寄存器中存储的数据。基于物联网的REST服务器的实现
数据访问层
该层为用户提供了许多接口,可以通过浏览器访问服务器上的许多资源。服务器上的所有资源都由URI(统一资源标识符)定位,然后用户可以通过输入不同的URI来访问不同的资源。当用户希望通过URI访问服务器上的资源时,服务器的数据访问层将接收来自用户的请求,提取资源标识符和数据对象生成的匹配规则。如果匹配的结果为真,则这些消息将转换为XML格式的数据对象,并将此XML对象转移到资源适配器层。当数据访问层从资源适配器层接收到资源的数据时,它也将结果转换为XML对象并返回给用户。我们可以从图2看到它的细节。![](https://i-blog.csdnimg.cn/blog_migrate/a2ff929547d37c626e6168b3dbff0dbe.png)
图2数据访问层的数据流
在数据访问层的过程中,如果用户请求的这些参数能够匹配数据对象生成的规则,它将把这些参数转换成一个XML对象,其中包含了我们所需要的大量信息,如资源的变量名、资源ID、数据TY。资源的PE(浮动数据或数字数据)、请求的操作(读或写)、请求的日期和请求的时间。
资源适配器层
资源适配器层为在数据访问层中生成的XML数据对象的执行提供了条件。该层包括资源描述表、接口描述表和数据协议规则三个部分。资源描述表记录了已访问系统的这些资源的一些信息。信息包括资源的某些属性,如名称、值、控制类型、数据类型、数据协议资源使用规则。接口描述表记录一些关于这些接口的信息,通过这些接口与系统连接。接口的信息包括名称、类型、接口参数、接口的可用性等。数据协议的规则显示了传感器的数据如何存储在物理模块中的这些寄存器中,以及如何将协议包发送到这些模块,并将这些包解析为来自这些模块的响应。在解析数据访问层中生成的XML数据对象后,利用XML数据对象中的这些参数来搜索资源描述表和接口描述表,提取接口信息和资源使用的协议类型。然后,资源适配器层将使用协议信息来匹配数据协议的规则列表。如果成功,它将根据数据协议的描述生成一个包,并通过接口将其写入模块。我们可以从图3中看到这个过程
![](https://i-blog.csdnimg.cn/blog_migrate/7e29312b2bb3d726fb648e17464b8dbc.png)
图3资源适配器层的数据流1
当资源适配层接收到来自资源访问层的响应时,将根据数据协议的描述解析包,获取资源的值,然后传输到数据访问层。我们可以从图4中看到这个过程。
![](https://i-blog.csdnimg.cn/blog_migrate/ac680c94f5eccba684d0a371212c47bb.png)
图4资源适配器层的数据流2
资源访问层
资源访问层显示了与系统连接的许多物理模块。这些物理模块包括许多类型的传感器和一些PLC。在工业生产中,大量的传感器通过一些导线与PLC连接。这些传感器可以感知周围的物理状态,例如温度、湿度、风速、压力,并将这些原始数据存储在寄存器中。资源访问层中的物理模块(如PLC)从资源适配器层接收包,并将包作为响应发送给上层。上层将根据数据协议的规则对原始包进行解析,得到资源的值。我们可以从图5看到它的详细过程。
![](https://i-blog.csdnimg.cn/blog_migrate/a2d7eaf020991fa0db7c8d156ec6bd55.png)
图5资源访问层的数据流