图2软件系统功能模块1.3软件系统工作流程 本软件功能模块间的数据流关系如图3所示。各模块间通过相应接口完成网络数据的上传、分析与处理和控制命令的下发操作。首先,软件接收来自网络的各类型数据,并对其进行分类与解析。随后,软件将数据处理结果通过数据库模块进行存储。在此基础上,拓扑显示模块和信息查询模块分别通过查询/更新数据库进行信息显示和用户控制指令的下发操作。数据处理模块和数据库模块扫描数据库中的相应表项,提取控制信息后通过网络通信模块下发至目标网络。 图3软件工作流程图2主要功能模块的实现 2.1网络通信功能模块 网络通信模块是本软件的底层数据通信模块,该模块采用完成端口模型(I/O completion port, IOCP)作为本软件的网络服务引擎,由于IOCP规定了并行线程的数量,并使用线程池对线程进行管理,从而避免了反复创建线程和线程调度的开销,提高了本软件的并行处理能力。该模块通过构造完成端口模型类(IOCPModeSvr),使用CreatIOCompletionPort()函数创建完成端口对象;构造ListenProc()函数监听来自物联网感知层网络网关节点的连接请求;使用bool CIOCPModeSvr::SendMsg()函数响应上层控制命令的下发要求,向客户端发送控制命令帧。 2.2数据分析与处理功能模块 数据处理模块是物联网数据分析与处理软件的关键组成模块之一。该模块接收来自底层网络模块的数据帧,并进行分类、分析、处理及重构等操作,为上层数据应用奠定数据预处理基础。通过创建DataProc类实现该模块,具体包括: 1)通过内联函数checkType()快速解析由底层网络上传的数据帧的协议类型与数据类型; 2)构造getInt()、getRangeString()等函数完成数据帧的数据进制与格式转换; 3)使用ProcessRecvData()函数分析数据帧,重构出信息处理所需数据; 4)完成相应数据处理功能,主要包括数据聚类、数据计算、数据范围判断、数据异常的处理、反馈数据帧的构造。 2.3参数设置模块 参数设置模块是物联网数据分析与处理软件的系统参数初始化模块,该模块读取用户设置的软件运行参数,并对软件进行相应运行参数初始化。该模块响应用户参数设置操作,读取参数并判断参数是否有效。若参数设置有效,则对软件相应运行参数进行修改,同时显示软件当前连接状态,界面实现如图4所示。 图4参数设置界面 2.4数据库与Web服务器 本软件采用MySQL数据库进行原始数据的存放,其中已经直接保存了经由数据分析与处理模块上传的全部数据,主要数据表包括:表node_topu_stat,用以存储网络所有原始拓扑信息;表node_info_stat,存储网络节点上传的状态信息;表control_stat,负责存储用户的查询和控制指令。由于上层的拓扑展示模块所需要的是最新的数据信息,因而需要Web服务器模块将冗余的原始数据进行初步处理,为拓扑显示模块提供无冗余的信息,以实现基于拓扑图的物联网实时监控。首先,通过对数据库中各分类表加入触发器实现数据的初步提取。其次,在本模块中,数据处理模块所生成的最新数据进一步转换为能够表示拓扑图的XML文件,即将节点所上传的邻居表转换为节点与边的关系。本系统中使用了Web服务器所能支持的JSP技术实现了实时访问数据库生成转换数据的功能,拓扑控制模块直接访问该页面的地址,即可实现拓扑数据的获取,如图5所示。 图5数据库与Web服务器2.5拓扑显示模块
网络拓扑显示模块是与用户进行交互的主要模块,用户通过点击"网络拓扑"访问拓扑展示模块。该模块通过定时向Web服务器数据处理模块发起拓扑数据请求实现网络拓扑的实时更新。通过向数据处理模块获取拓扑XML数据,图形界面将其转化为拓扑图中的"节点"与"边"的实际图形对象,并将其他附加数据作为标签保存在给节点,方便用户查看。模块工作流程及实现界面分别如图6和图7所示。 |
核心期刊网(www.hexinqk.com)秉承“诚以为基,信以为本”的宗旨,为广大学者老师提供投稿辅导、写作指导、核心期刊推荐等服务。 核心期刊网专业期刊发表机构,为学术研究工作者解决北大核心、CSSCI核心、统计源核心、EI核心等投稿辅导咨询与写作指导的问题。 投稿辅导咨询电话:18915033935 投稿辅导客服QQ: 投稿辅导投稿邮箱:1003158336@qq.com |