APP下载

浅谈基于OneNET平台的物联网通用应用平台的设计与实现

2018-04-18李东睿

数字通信世界 2018年1期
关键词:服务端终端联网

杨 艳,李东睿

(中移物联网有限公司,重庆 401121)

1 引言

物联网的核心为互联网技术,将用户端拓展到物物之间,从而进行通信与数据互换。现阶段,我国在各行业领域中都部署了很多物联网应用平台,但针对一些中小企业和开发者而言,如何快速的进行物联网应用平台的搭建,需要一种通用的框架设计模型来指导开发人员进行应用系统框架的搭建,以实现物联网应用平台的数据采集、存储、分析等工作,通过通用应用平台的模型搭建,能够为开发者提供参照,有效提高开发效率,对刚涉足物联网行业的企业在物联网应用平台的快速搭建和发展有重要的推动作用。

2 OneNET平台的概念

OneNET是中国移动公司打造的物联网开放平台,该平台全面面向物联网开发者和企业客户,同时,该平台为硬件设备中提供了接入协议,通过该协议可以让硬件直接接入到OneNET平台。同时OneNET具备全面面向物联网的协议标准和协议适配能力,为开发人员提供了更多的自由空间,是目前市场中最为先进的物联网云平台之一。其基本系统框架如图1所示。

图1 物联网通用应用平台系统框架

3 物联网通用应用平台设计理念

3.1 物联网通用应用平台

在OneNET平台中,需要通过协议来完成数据互换,在实际设计阶段,需要利用GPRS、WIFI等方式来进行数据传输,并进行跟踪、监测、管理等工作。其主要特点为,互联网技术是核心,物联网是依托于互联网而发展的;在物联网系统中应用到的智能技术比较多,有利于实现智能监控和智能管理;在物联网技术的发展下,拉近了物与物之间的关系,可在各行业领域中得到广泛应用。

3.2 物联网通信系统

通信协议是OneNET通信系统中非常重要的内容,需要对协议进行设定,才可实现数据互换。OneNET平台面向用户提供EDP协议来实现终端和平台的交互,通过Restful API接口来实现平台与平台的交互。在终端通过GPRS、WIFI等方式访问互联网时,此协议基于TCP/IP协议,而访问局域网则基于使用OPX/SPX协议[1],而API接口则采用基于HTTP协议和json数据格式。

4 API接口的设计

Restful API接口是OneNET平台提供的服务方式,是物联网通用应用平台设计的关键技术,在实际设计时,需要根据不同的功能来划分模块,包括设备管理模块、数据库模块、通信模块、配置模块等。其中,API接口在通信模块的作用是与OneNET平台进行通信交互,设备管理模块是根据设备系统的实际运行情况进行数据收集,以便于进行远程维护。数据库模块是对数据库进行操作及信息的管理,而配置模块主要是用来处理服务端的参数信息,或根据实际情况来调整模式。

4.1 设备管理模块设计

设备管理模块的设计是用于业务管理人员对设备的运行情况进行监控与管理。在实际开发阶段,需要对接口提供的one_user进行操作,当需要系统停止服务时,应关闭Socket程序,不能将其参与到操作当中,从而根据接口列表来释放内存。当服务端强制客户端下线时,需要发布远程指令,能保障系统安全稳定的运行。同时,当需要对设备进行查询时,应对设备的各项信息进行收集,需要涉及到数据读取方面的内容。因此,可对get_user_at接口发布指令,以获得相关信息。但在实际应用阶段,该设备端口有若干接口,有其各自的功能,需要输入不同的参数进行控制,以达到操控的目的[2]。

4.2 通信模块

通信模块的主要功能是实现客户端与服务端之间的对接,从而进行通信传输。在对OneNET平台进行设计时,可构建通信模型,以现实多个客户端通信端口,并将其进行整合,以进行通信控制,能有效提高控制效果,保障通信系统的运行效率。但在实际操作阶段,服务端每次重新启动,需要各个端口、协议等初始化,重新获取监控指令,这种操作比较复杂。因此,可输入启动接口和关闭接口,有利于提高底层操作效率。同时,在进行底层通信服务时,会产生很多的数据信息,对系统的运行效率会产生影响。应开发设置接口和数据接口,来完成数据的处理工作,从而释放缓存。

4.3 数据库设计

数据库模块主要是对通信产生的数据进行存储,以实现数据收集、存储、整理、分析、检索等功能。在对OneNET平台访问数据库时,会存在很多的问题,当平台与访问组件脱离时,无法对数据库进行控制。因此,应利用API来进行设计,在开发阶段,需要对开发环境进行设置,其过程比较复杂,难度较高,给编程工作带来了很大的难度。在这种情况下,可对PostgerSQL数据库的API函数进行封装,有利于形成开放接口,可有效对数据库进行操作。

4.4 配置模块

当服务端所处的环境存在问题时,可通过操控SetCustomIP接口来调试IP问题,并根据实际测试要求来划分不同的事件信息,包括消息驱动模式、阻塞模式、非阻塞模式等。在对不同信息进行处理时,应在配置模块上设计SetWorkMode接口,可对底层服务问题进行处理。另外,当服务端处于正常运行时,会根据运行状态来显示设备列表,以显示服务器的最大承载力,避免服务器过载而出现瘫痪等问题。

5 物联网通用应用平台的设计与实现

5.1 服务端架构设计

在对物联网通用应用平台进行设计时,采用三层架构,其中要求服务端具备相应的功能以便于进行操控与管理。其主要功能为:一是,WEB界面,管理人员可以登录监控服务端的界面进行物联网终端的监控信息查询和终端控制。二是,API数据接口设计,通过OneNET平台提供的API接口,服务端进行接口调用,相应的功能项目在WEB界面端进行展示。三是,对终端的协议进行适配和转换,对OneNET上存储的终端上报的业务数据信息进行处理和翻译。四是,针对物联网业务的大规模和大并发的情况,设定API调用的优先级和排队机制,保证降低服务器的负荷,保证监控系统的运行效率。四是,每次API接口调用之后,对各项数据信息进行记录,可以对日志进行查询和分析,以方便后期的统计分析。

图2 物联网通用应用平台架构设计

5.2 服务端整体设计

首先,服务端在实际应用阶段主要分为三层,包括接口层、服务层、应用层。接口层主要用来进行API接口的数据交换和控制,服务层负责对各个模块信息进行封装,而应用层负责为各个接口提供函数信息,对协议进行适配解析、面向WEB页面提供相应信息。

其次,当服务端处于正常运行时,需要按照一定的流程来完成数据传输工作,具体流程为:当数据产生后,需要将通信模块中的接口来获取数据信息,并将其传输给应用层。同时,应用层得到数据后,要进行数据解析工作,再将解析后的数据信息传输给用户端。若该数据信息为本地数据时,则上交至设备管理模式中,并通过接口传输至服务底层,从而将处理过的数据信息通过通信模块进行传输。

最后,软件设计也是必不可少的内容,需要管理人员通过操控软件来展示实际数据情况,具体交互界面包括启动服务、终止服务、下发、分离等按钮。同时,还需要对操作情况设置显示列,将各步骤的调试信息显示出来,便于管理人员进行处理与维护。

5.3 通信协议设计

在对通信协议进行设计时,主要分为协议结构、协议格式以及协议交互三个部分。其中,可用协议栈来表示服务端与客户端之间的关系。在对协议格式进行设计时,既要考虑实际应用需求,又要考虑日后的发展趋势。因此,应根据DC协议来设计报文类型,包括登录报文,登录响应报文,心跳、下线报文,心跳、下线响应报文等。而协议交互主要包括登录、通信传输、注销三个部分[3]。

5.4 服务端测试

5.4.1 API接口单元测试

在对API单元测试时,主要是检测各模块的调试结果与参数之间的关系,各接口函数与输入、输出的类型变化,并通过参数赋值进行测试。虽然检测内容比较多,但可以通过实际数值来判断系统的稳定性。

5.4.2 服务器测试

服务器测试主要分为三个部分,包括数据接收压力、连接请求压力以及数据流处理时间等。笔者对200台设备客户端进行了测试,重点对数据流实际处理情况进行了分析(如表1)。

表1 数据流处理时间表

通过表1可知,在终端数量和数据量不变的情况下,频率越高,所需要的响应时间就越长。与传统处理方法相比,数据流技术能有效缩短响应时间,提高处理效率,保障监控效果。

6 结束语

利用OneNET平台提供的API接口来进行物联网通用应用平台的设计与实现,可以快速的实现对各个模块的接口进行开发,以实现不同的功能,在使用时只需调用API接口,不需要了解OneNET背后的业务逻辑,大大简化的开发者的难度。同时,通过对硬件终端置入EDP协议后,物联网终端可以自动接入OneNET平台,方便了应用平台对终端的管理和监控。之后,通过对物联网业务使用最频繁的通用应用平台功能模块的设计和构建,使得开发者能够快速的理解OneNET平台的能力,提升开发效率。最后,在设计结束后还需要对平台API接口性能和服务器性能进行测试,保障开发的准确性和可靠性。本文的物联网通用应用平台的模型可以帮助开发者更加快速的开发部署物联网应用。

[1] 吉峰.物联网监控系统服务端设计与实现[D].南京邮电大学,2016.

[2] 钟新艳.基于物联网的远程视频和数据处理平台的设计与实现[D].电子科技大学,2016.

[3] 李祥书.基于物联网的运输监控系统的研究与实现[D].北京邮电大学,2015.

展开全文▼

猜你喜欢

服务端终端联网
“身联网”等五则
《物联网技术》简介
《物联网技术》简介
X美术馆首届三年展:“终端〉_How Do We Begin?”
通信控制服务器(CCS)维护终端的设计与实现
抢占物联网
GSM-R手持终端呼叫FAS失败案例分析
新时期《移动Web服务端开发》课程教学改革的研究
在Windows Server 2008上创建应用
ABB Elastimold 10kV电缆终端及中间接头