大学代写论文网专业提供代写毕业论文、代写本科论文服务
您现在的位置:首页 > 计算机论文 > 软件工程论文 >
智能表性能检测数据信息管理软件研发分析
发布时间:2019-10-15

  摘    要: 为了保证智能表的产品质量, 智能表性能的检测已成为一种必要手段, 现在的各种检测终端都是独立运行的, 检测数据难以实现统一管理, 设计并开发了一套基于局域网的智能表性能检测数据管理系统。该系统实现了智能表检测的用户权限管理、检测任务管理、检测数据汇总、检测阈值管理和检测报表、图片等文件管理功能, 同时, 为了保证检测数据的实时性和完整性, 设计了一种自适应数据传输存储机制。测试结果表明, 系统达到了检测系统的数据管理要求, 并能有效地保证数据的完整性。

  关键词: 智能表; 检测终端; 数据管理; 网络状态; 自适应;

  Abstract: This paper designs and develops a set of LAN-based.Smart meter performance detection data management system.The system realizes the user rights management, detection task management, detection data aggregation, detection threshold management, detection report, picture and other file management functions of smart table detection.At the same time, in order to ensure the real-time and integrity of the detection data, a system is designed in this paper.

  Keyword: smart meter; detection terminal; data management; network status; adaptive;

  本文所设计的智能表性能检测数据管理系统,结合Web技术和数据库技术,基于网络将地理布局分散的检测终端进行物理相连,通过搭建网络共享数据库,实现各终端性能检测数据的集中存储和信息共享。利用检测数据管理子系统动态分配检测任务,跟踪任务完成进度,智能化分析、汇总检测数据,实现了智能表检测数据的统一管理,解决了因各终端检测数据单独存储[1]、检测信息无法共享、数据资料人工整理、纸质保存而导致的数据管理混乱等问题。

  系统中各检测终端独立运行,互不干扰[2],性能检测结束后以网络为传输渠道将数据上传至共享数据库,实现数据的集中管理。但在实际应用中,企业内网络线路老化、设备故障、检测终端数过多等原因均会导致检测终端与共享数据库的连接失败,使得部分终端检测数据上传失败,数据丢失。

  为保证系统运行不受网络或数据库连接异常的影响,检测数据实时传输和存储完整,本文提出了一种自适应数据传输存储机制。

  1、 智能表检测数据管理系统

  系统立足于智能表的性能检测,基于B/S架构,采用基于Python语言的一款MVC框架———Django进行设计与开发[3],前端以Bootstrap框架和j Query辅助设计界面[4],最终实现了检测数据管理系统的多类管理功能,并满足了系统性能的需求。

  1.1、 系统架构组成

  系统由检测数据管理工作站、Web服务器、共享数据库服务器和多个性能检测终端组成,如图1所示。

  其中,检测数据管理工作站、Web服务器和共享数据库服务器共同组成了检测数据管理子系统,是整个系统建设的重要组成部分,将分布于各区域的检测终端管理起来,形成一个整体。主要实现产品信息管理、用户权限管理、检测任务管理、检测数据汇总、检测阈值管理等功能,最终以可视化界面的形式将数据展现给用户。
 

智能表性能检测数据信息管理软件研发分析
 

  多个检测终端作为系统的管理对象,主要完成智能表所有性能的测试,是系统检测数据的来源,各终端需统一接收数据管理子系统分配的检测任务,根据业务需求进行检测,独立工作,互不干扰。检测任务结束后,通过数据库通信接口将检测数据以统一的格式上传至共享数据库服务器,完成数据的同步。

  图1 系统网络结构图
图1 系统网络结构图

  检测数据管理子系统和多个检测终端使用一个共享数据库服务器,将多个检测终端上传的检测数据和数据管理子系统录入的产品信息、任务信息、检测结果等整合成一个完整的中心库。库中数据主要涵盖了用户信息、产品信息、性能检测数据、检测任务完成情况、检测结果评判标准、检测阈值参数和检测报表等。

  1.2、 软件架构设计

  系统基于三层架构模式[5]将整体分为表示层、应用层和数据访问层,其软件架构如图2所示。

  表示层用于用户与系统交互,主要作用是显示数据和接受用户输入的数据并提供多种功能的操作入口。通过HTTP协议将请求发送至业务层,收到HTTP响应后,获取相应的HTML、JS、CSS文件以及后端数据进行页面渲染,并最终将结果显示在浏览器供用户查看。

  应用层负责业务逻辑的处理。根据请求路径调用相应的业务逻辑处理函数,根据输入的请求数据,调用数据访问层获取数据处理结果并返回至表示层。根据功能的不同分为产品信息管理、检测数据管理、检测任务管理、权限管理、检测阈值管理和文件管理六大模块。

  图2 系统软件架构图
图2 系统软件架构图

  数据访问层提供数据访问接口和多种数据访问类,接受应用层的数据操作请求,通过ORM技术实现与数据库的连接,完成相应的数据读取与存储操作,最终将结果数据返回至应用层。

  1.3、 数据管理流程制定

  智能表的性能检测包含多种检测项目,检测流程复杂,检测数据多样且涉及企业隐私。在数据管理过程中,为保证数据访问的安全性,系统采用了基于角色的访问控制技术[6],把用户划分为系统管理员、分管领导和操作员三种角色,赋予不同的数据访问权限,将业务需求按照流程以权限级别合理有序地处理。系统管理员主要负责管理系统用户权限、产品信息和检测阈值参数;分管领导主要负责检测结果的查询及相关报表的审阅和打印;操作员主要负责与智能表性能检测有关的一切操作,具体的数据管理流程如图3所示。

  图3 数据管理流程图
图3 数据管理流程图

  系统将检测数据的管理流程划分为检测前、检测中和检测结束三个阶段:检测前,需提前录入检测信息,并将大批量的检测工作“化整为零”,进行任务分配;检测中,需跟踪任务完成进度,查询检测数据上传情况;检测结束,需对已完成所有检测项目的批次数据进行综合结果判断和批次结果入库操作。

  2、 检测数据的传输与存储

  各检测终端通过企业内网将检测数据传输至共享数据库,因网络状态影响或其他原因而导致检测终端与共享数据库的连接异常,会使得检测结果数据上传失败,发生数据丢失。为避免异常情况对数据传输产生影响,最有效的方式便是提前判断网络状态和数据库连接情况,选取最佳的数据存储方式以保证检测数据的完整性。

  2.1、 网络连通性判断

  网络是否连通是判断检测终端能否与共享数据库连接的先行条件,即若由于企业断网、系统硬件故障、网络线路老化、网线未插紧等原因导致检测终端与服务器之间的网络通信异常,检测终端必定无法连接上共享数据库,从而无法实现检测数据上传。为测得网络的连通性,系统采用主动网络检测工具[7],通过不断发送数据包,并根据数据包返回情况来获取检测终端与服务器之间的网络连接状态。

  2.2、 数据库连接判断

  即使网络正常连通,仍可能出现检测终端与共享数据库连接失败的情况,返回“can’t connect to MySQL server on[serverip]”或“timeout”的报错信息,使得检测数据存储失败。根据系统运行时的实际情况进行分析,检测终端连接共享数据库失败的原因主要有两点:

  1)数据库连接超时。检测终端在尝试与共享数据库服务器建立连接时,需完成6次“握手”,前三次“握手”是为了建立TCP连接,在网络连通的情况下,“握手”成功检测终端便会进入阻塞,等待服务器端的消息。后三次“握手”,服务器端除了要完成用户名和密码的匹配校验外,还要实现终端IP到域名的解析,进行IP验证,任何一步都可能因为网络问题导致线程阻塞,使得连接失败,为了防止线程浪费在不必要的校验等待上,数据库设置了连接超时(connect_timeout)限制,即从终端向数据库服务器发起连接请求开始计时,若等待处理时间超过该值,数据库则拒绝终端连接请求。通常在系统运行环境网络不佳的情况下,会将该值设置得较大一些,尽可能降低网络质量对数据库连接的影响。

  2)终端数量超过数据库的最大连接数。当网络正常连通,也可能由于终端数过多而出现连接失败,返回“Too many connections”的报错信息,这是由于当前尝试连接数据库的终端数超过了数据库最大连接数限制,该值可根据系统的检测终端数量进行合理设置。

  2.3、 自适应数据传输存储机制设计

  检测网络连通性和判断与共享数据库的连接情况为能否进行数据传输提供依据。为避免因检测终端与共享数据库连接异常而导致检测数据上传失败,而使检测无效,提出了自适应数据传输存储机制,保证了检测数据的完整性,流程如图4所示。

  进行智能表性能检测之前,检测终端需预先检测网络状态,并判断是否能与共享数据库正常连接。若均连接正常,检测终端将在联网获取检测任务号后进入性能检测阶段;若连接异常,将在人工创建检测任务号后进入性能检测阶段。检测结束,检测终端将检测结果数据按任务号缓存至本地数据库,并将数据同步标志位置为0,表示该数据还未上传至共享数据库。

  在检测结果数据同步阶段,检测终端需再次检测网络状态和判断与共享数据库的连接情况。若连接正常,则从本地数据库中读取数据同步标志位为0的所有检测结果数据,以统一的数据格式按任务号将数据同步至共享数据库,并将数据同步标志位置为1,表示数据已上传;若三次连接均失败,则等待下次检测再进行检测结果数据同步。

  图4 自适应数据传输存储流程图
图4 自适应数据传输存储流程图

  3、 系统测试

  (1)系统功能测试

  在系统测试环节,根据系统的功能需求设计了测试用例,并获得了预期的测试结果,实现了系统对各终端检测数据的统一管理,测试结果如表1所示。

  表1 系统部分功能测试结果示例
表1 系统部分功能测试结果示例

  (2)数据传输与存储测试

  系统搭建完成后,首先选择一个智能表性能检测终端,在不同网络状态下,分别做了20次与共享数据库的连接及数据存储测试。同时,为排除因数据库连接超时而连不上数据库的干扰,将数据库连接超时限制设置得较大(10s),测试结果如表2所示。

  然后在网络连通的情况下,测试多个终端与共享数据库的连接情况和数据存储情况,其中每个终端每次测试20次。测试中,为更好地测得连接失败的原因,将数据库连接超时限制设为最小值1s,并将其中一台检测终端放在距离交换机100m的位置,测试结果如表3所示。

  从测试结果发现,当4台检测终端同时连接共享数据库时,距离交换机100m的检测终端5次因数据库连接超时而导致共享数据库连接失败,将数据缓存至本地数据库;当同时发起数据库连接请求的终端数为5台时,其中1台终端因超出连接数限制,20次均无法连接共享数据库,将数据缓存至本地数据库,待重新连接共享数据库后实现了数据同步。最终,所有检测终端均将检测结果数据同步至共享数据库中,保证了数据的存储完整。

  表2 不同网络状态下的数据传输与存储测试示例
表2 不同网络状态下的数据传输与存储测试示例

  表3 检测终端与共享数据库的连接测试结果示例
表3 检测终端与共享数据库的连接测试结果示例

  参考文献

  [1]高如如.基于Web的燃气管理信息系统设计与实现[D].济南:山东大学, 2018
  [2]杨锐, 严军, 倪清荣.基于混合模式的气表质检系统的设计与实现[J].电子测量技术, 2017, 40 (10) :66-69
  [3]郑成刚.基于Django的日程协作系统的设计与实现[D].大连:大连理工大学, 2014
  [4]唐容.基于B_S架构数据管理系统的设计与实现[D].南京:东南大学, 2015
  [5]王倩.基于Web的培训机构信息管理系统的设计与实现[D].成都:电子科技大学, 2010
  [6]聂松洋.基于Web的燃气管理系统及其安全的设计与实现[D].北京:北京工业大学, 2013
  [7] 古炜旋.网络关键性能指标主动测量技术的研究[D].广州:中山大学, 2007

对应分类:
版权所有:大学论文网专业权威的论文代写、论文发表的网站,秉承信誉至上、用户为首的服务理念,服务好每一位客户
本站部分论文收集于网络,如有不慎侵犯您的权益,请您及时致电或写信告知,我们将第一时间处理,邮箱:82274534@qq.com