Ajax技术在物联网信息系统中的应用

2020-06-04 12:19施莹
无线互联科技 2020年8期

施莹

摘   要:物联网信息系统是物联网生态系统中的关键组成部分。文章介绍了物联网信息系统的基本设计方案,并在此基础上,介绍了基于Ajax技术的Web应用程序模型。Ajax技术应用于物联网信息系统的实时信息展示及历史数据查询,具有无刷新页面、响应速度快等优势。这种异步通信方式,使用户获得了更自然流畅的体验,实现了近似于桌面应用程序的交互效果。这样的系统可以负责收集从自然生态系统到建筑和工厂等各种设置的信息,从而应用于物联网的各个领域。

关键词:物联网信息系统;Ajax;jQuery;对象表示法

物联网是在互联网基础上架构的关于各种物理产品信息服务的综合,它主要由3大体系构成:一是传感网络系统,即通过现有的互联网、广电网络、通信网络等实现数据的传输与计算;二是业务应用系统,即输入输出控制终端;三是信息管理系统,即关联应用服务软件、门户、管道、终端等各方面的管理。

1    物联网信息系统

物联网强调“物”的连接和通信[1]。对于终端来说,这种通信涉及传感和执行两个重要方面。物联网在不同行业的应用,需要解决一些像网络管理、设备管理、计费管理、用户管理等基本的运营管理问题。物联网信息系统是物联网生态系统的关键组成部分,它负责分析从传感器收集的数据并做出决定。同时,完整的物联网系统需要用户界面,让用户与物联网系统进行交互。比如,物联网的环境监测应用通常使用传感器来帮助环境保护,通过监测空气或水质、大气或土壤条件,来监测实时的环境数据。以扬尘监测系统为例,分析获取的湿度数据,可得知是否需要打开灌溉系统,同时,还应具有显示湿度趋势仪表板的Web应用程序,并允许用户手动打开或关闭灌溉系统。

因此,物联网信息系统是连接物联网系统中所有内容的支持软件,它连接硬件处理不同的通信协议,为设备和用户提供安全的身份验证,收集、可视化和分析数据,集中管理与控制,有助于数据通信、数据流管理、设备管理及应用管理。

2    物联网信息系统的整体设计

文章以扬尘监测系统为例,通过搭建私有云的方式,采用B/S架构来设计物联网信息系统。系统使用专用服务器构建Web服务器和数据库服务器。在数据库服务器中创建数据库与表;在Web服务器上创建查询、报表生成等动态网页,在浏览器上显示监控点的各类数据[2]。

扬尘监测系统的信息平台需要完成各监测点采集设备的远程控制及终端数据的实时显示,包括:实时地图信息、视频监控数据、历史数据查询、報表统计情况、报警管理及远程控制等功能。根据需求可搭建基于PHP+MySQL的Web开发平台。

超文本预处理器(Hypertext Preprocessor,PHP)目前仍然是开发Web应用程序最理想的语言,它简单易学、功能强大、成本低廉、安全性较高和运行环境易于配置,且能够用来制作企业级的Web应用程序及动态网站。PHP之所以最适合与MySQL数据库搭配使用,主要原因是PHP提供了大量的MySQL数据库操作函数,这些函数可以方便地实现访问MySQL数据库的各种需要,从而轻松实现Web应用程序开发。

3    物联网信息系统的软件开发

3.1  Ajax技术

异步JavaScript及XML(Asynchronous JavaScript and XML,Ajax)技术已经成为Web开发中应用最广泛的技术之一,不管采用什么样的开发平台,只要开发浏览器/服务器(Browser/Server,B/S)模式架构的应用,那么表现层就一定会使用Ajax技术。事实上,Ajax并不是一种新的编程语言,而是一种用于创建更好、更快以及交互性更强的Web应用程序的技术。“老技术,新技巧”是对Ajax恰如其分的描述。Ajax本质就是使用JavaScript的XMLHttpRequest对象在浏览器和服务器之间交换数据。通过这个对象,JavaScript可以在不重载页面的情况下与Web服务器交换数据。Ajax在浏览器与Web服务器之间使用异步数据传输(HTTP请求),这样可使网页从服务器请求少量的信息,而不是整个网页。

以物联网信息系统之扬尘监测系统为例,在气象站密集、监控点繁多的情况下,需实时观测气温、湿度、风向、风速、降水量、气压、CO、PM2.5及PM10等10多项指标,监控要求高,数据量大,切换频繁,使用Ajax结合jQuery技术实现物联网信息系统的Web开发,具有无刷新页面、响应速度快、连续的用户体验等优势,Ajax异步刷新能起到无可比拟的作用。

3.2  使用jQuery实现Ajax

通过原生JavaScript实现Ajax较为复杂,如果服务器返回复杂结构的数据,处理起来会比较繁琐,此外还要考虑JavaScript的浏览器兼容性问题。因此,通过jQuery实现Ajax更加简洁方便。

jQuery是一个JavaScript代码库(或JavaScript框架),它极大地简化了JavaScript编程,优化超文本标记语言(HyperText Markup Language,HTML)文档操作、事件处理、动画设计和Ajax交互。jQuery对Ajax异步操作进行了封装,提供了多种Ajax请求的方式,从简单到复杂,有更多选择空间[3]。$.ajax()是jQuery对Ajax封装的基础方法,也是最常见的请求方法,它可以通过发送HTTP请求加载远程数据,是jQuery最底层的Ajax实现,具有很高的灵活性,通过这个方法可以完成异步通讯的所有功能。

以扬尘监测系统的历史数据统计为例,应对10余项观测数据,数据量庞大,通过$.ajax()方法就可以根据实际需求指定不同的返回类型,可使用XML,HTML或JSON格式返回,还可以指定beforeSend,error,success及complete这些事件发生时的回调函数。当服务器没有响应时,还可以使用参数来指定Ajax请求过期的时间。

3.3  處理JSON格式的响应数据

对象表示法(JavaScript Object Notation,JSON)是一种轻量级的数据交换格式,它是基于JavaScript的一个子集,采用独立于语言的文本格式,当前备受青睐[4]。JSON 类似于实体类对象,通常用来在客户端和服务器之间传递数据。在Ajax出现之初,客户端脚本和服务器之间传递数据使用的是可扩展标记语言(Extensible Markup Language,XML),但XML难于解析,体积也比较大,现在有JSON将XML取而代之的趋势。JSON具有结构简单、易于解析的优点。

JSON的数据结构与PHP的数组非常相似,在PHP5.2以上版本中,已有内置函数用来编码和解码JSON数据,其中json_encode方法常被用于将对象、数组、字符串转换成JSON格式,PHP使用该方法对变量进行JSON编码,其输出的就是一个JSON格式的字符串,适用于UTG-8的字符串数据,可以直接在jQuery中使用,尤其适用于物联网信息系统的大数据、高并发的数据传输模式[5]。

3.4  大数据量吞吐

通常在物联网信息系统中,数据监测和采集十分频繁,历史数据量庞大,所以用Ajax接收后端返回的JSON数据,如果数据量特别大,处理高并发,前端的响应速度会变慢。可以通过多种方法解决这个问题:

首先,可以尝试使用Web服务器的数据压缩功能,主流的Web服务器Tomcat,Apache,Nginx都提供压缩配置,主流的压缩格式是Gzip。

其次,可尝试减少服务器端返回的数据大小。针对每次请求,尽量只返回必要的数据,那些该次请求没有用到的数据就不返回,经过整理后返回的JSON数据能明显减小,前端响应变快。

最后,还可将大数据量的数据进行分割返回,例如需要返回100条数据,可以通过10次请求来进行返回数据。每次返回的数据包括数量的总行数、返回当前数据的位置、此次返回数据的数量。通过将大数据量数据进行切分、分批返回的方式,可以快速呈现数据,让物联网信息系统的管理人员或浏览者看到相应的数据,从而提升用户体验。

4    结语

使用Ajax技术处理物联网信息系统的庞大数据,可实现对页面局部的刷新、循环查询数据库信息、对硬件设备数据进行实时信息动态刷新展示,从而实现物联网信息系统24 h不间断采集和分析数据的需求,实现连贯的用户体验,并有效减轻服务器和带宽的负担。

[参考文献]

[1]尹育新,戎宏娜.浅谈一种全新的网络技术—物联网[J].信息系统工程,2010(2):105-106.

[2]王祥滨,张宁,郝欣.基于物联网的扬尘在线监测系统设计与实现[J].中国科技期刊数据库科研,2015(11):3627-3630.

[3]刘红坤.基于Ajax和PHP数据分页的实现[J].计算机系统应用,2012(2):218-220.

[4]郭庆燕,张敏,杨贤栋. JQuery Ajax异步处理JSON数据实现气象图片的显示[J].计算机应用与软件,2016(6):20-22.

[5]李志秀,张军,陈光,等.JQuery Ajax异步处理JSON数据在项目管理系统中的应用[J].云南大学学报(自然科学版),2011(S2):247-250.

Abstract:The Internet of Things information system is a key component in the Internet of Things ecosystem. This paper introduces the basic design scheme of Internet of Things information system, and on this basis, introduces the Web application model based on Ajax technology. Ajax technology is applied to the real-time information display and historical data query of the Internet of Things information system, which has the advantages of no refresh fast response speed. This asynchronous communication model enables users to gain a more natural and smooth experience and achieve interactive effects similar to desktop applications. Such a system could be responsible for collecting information on various settings, from natural ecosystems to buildings and factories, thus applied to various fields of the Internet of Things.

Key words:Internet of Things information system; Ajax; jQuery; JavaScript Object Notation