CN103647685B - 一种测试结果信息上传接收处理方法 - Google Patents

一种测试结果信息上传接收处理方法 Download PDF

Info

Publication number
CN103647685B
CN103647685B CN201310699699.0A CN201310699699A CN103647685B CN 103647685 B CN103647685 B CN 103647685B CN 201310699699 A CN201310699699 A CN 201310699699A CN 103647685 B CN103647685 B CN 103647685B
Authority
CN
China
Prior art keywords
thread
data
test result
result information
frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310699699.0A
Other languages
English (en)
Other versions
CN103647685A (zh
Inventor
赵秀才
贺稳安
陈安军
张喜俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CLP Kesiyi Technology Co Ltd
Original Assignee
CETC 41 Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CETC 41 Institute filed Critical CETC 41 Institute
Priority to CN201310699699.0A priority Critical patent/CN103647685B/zh
Publication of CN103647685A publication Critical patent/CN103647685A/zh
Application granted granted Critical
Publication of CN103647685B publication Critical patent/CN103647685B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供一种测试结果信息上传接收处理方法,包括以下步骤:步骤100,建立“测试结果信息数据库”;步骤102,建立“用户界面线程”并运行;步骤104,建立“监听服务线程”并就绪;步骤106,建立“数据安全队列”并注册事件处理函数为分类触发“客户处理线程”;步骤108,建立“数据传输线程”并注册就绪;步骤110,“监听服务线程”根据注册情况建立已注册终端的“客户处理线程”;步骤112,“客户处理线程”从“数据安全队列”中获取数据帧信息;步骤114,各个仪表终端的“虚拟软面板”从“测试结果信息数据库”中获取信息并进行可视化显示浏览。本发明协同工作效率高、模块化程度高且易于升级与功能扩展。

Description

一种测试结果信息上传接收处理方法
技术领域
本发明属于测试维修技术领域,尤其涉及的是一种无线组网测试维修系统内仪表终端节点的测试结果信息上传接收处理方法。
背景技术
在测试维修技术领域内,以网络为中心的测试维修系统一直在装备日常维护和检测维修保障中起着重要的技术状态感知与信息支撑作用。现有组网测试维修系统一般采用有线组网方式,通常由位置分散的各种便携式仪表设备(如示波器、功率计、万用表、频谱仪和频率计等)、主控计算机与网络设备等资源组成。如图1所示,其中,主控计算机选用工业控制计算机,内置的组网管理软件用于辅助用户进行测试资源管理、数据接收存储与可视化浏览;仪表设备包括频谱仪、示波器、功率计与其他仪表,为方便现场技术人员操作使用,仪表配备为便携式或手持设备且仪表固件中均具备数据传输选件功能。这些仪表设备地理位置分散,借助有线以太网(LAN或WAN,支持TCP/IP协议)与主控计算机进行通讯交互;网络设备一般选用商用货架交换机/集线器/路由器与网络适配器等。
组网测试维修系统的典型用户为技术专家与现场技术人员,技术专家在管理控制中心借助主控计算机中的组网管理软件来感知装备技术状态并对测试维修活动进行指导,现场技术人员使用各种便携式仪表进行检测维修。测试结果信息从现场技术人员到技术专家之间的传播途径如图2所示。首先由仪表设备内固件接收人机交互命令完成测试结果信息的数据采集,然后所采集测试结果信息借助仪表设备内置的数据上传选件通过网络设备进行数据传输,最后由主控计算机内的组网管理软件进行数据接收存储与解析浏览。
近年来,随着无线网络技术和物联网技术快速发展,无线组网在各行各业中的应用也越来越广泛。基于ZigBee、蓝牙或WiFi标准无线组网的测试维修系统与有线组网相比具有明显优势,不仅网络布线不受环境限制、节点维护简单、系统可扩展性显著提高,而且能够根据测试维修活动规模进行灵活配置、快速部署,明显改善了管理控制中心(本地)与测试维修现场(远端)之间的信息交互与信息共享,在测试维系活动中用户的检测操作响应及时、协同工作效率明显提高。但是,目前多数无线组网测试维修系统仅借助无线通讯链路实现了文件传输功能,一般将测试结果信息以数据文件或界面截图文件的形式存储,由现场技术人员借助仪表设备内部的数据传输选件进行远程连接与数据上传,本地技术专家借助管理控制中心所部署的组网管理软件来进行数据接收存储与数据解析浏览。仪表设备必须进行手动连接、上传与断开,组网管理软件不支持多台仪表的自动识别、同时上传与同步显示,因而整个测试维修活动中测试操作响应不及时、工作效率较低。同时,由于测试结果信息以数据文件或界面截图的形式被存储并共享利用,不便于后续进行数据归档与报表分析。尤其是当大量测试结果信息被获取时,难以进行深层次的统计分析、知识挖掘与决策实施。
现有组网测试维修系统一般由驻留于仪表固件中的数据传输选件来通过有线网络将测试结果信息传输给主控计算机中的组网管理软件。该技术途径存在如下缺点:
协同工作效率低:现有技术途径需要现场技术人员借助仪表设备内部的数据传输选件进行远程连接与数据上传,仪表设备必须进行手动连接、上传与断开连接,组网管理软件不支持多台仪表的自动识别、同时上传与同步显示。尤其是当多台仪表终端基于无线通讯模块同时进行数据上传时,测试现场技术人员与控制管理中心技术专家数据信息交互频繁、测试操作响应迟缓。因而,现有技术途径的协同工作效率较低。
功能扩展能力差:现有技术往往只能使得测试结果信息以数据文件或界面截图的形式被存储并共享利用,不便于后续进行数据归档与报表分析。尤其是当大量测试结果信息被获取时,难以进行深层次的统计分析与知识挖掘。同时,现有技术途径的模块化程度低,各个功能部分的接口不清晰,不便于后续的软件升级与功能更新。因而,现有技术的功能扩展能力较差。
因此,现有技术存在缺陷,需要改进。
发明内容
本发明所要解决的技术问题是针对现有技术的不足,提供一种测试结果信息上传接收处理方法。
本发明的技术方案如下:
一种测试结果信息上传接收处理方法,其中,包括以下步骤:
步骤100,在主控计算机中建立“测试结果信息数据库”;
步骤102,在主控计算机的组网管理软件中建立“用户界面线程”并作为主线程运行;
步骤104,在主控计算机的组网管理软件中建立“监听服务线程”并就绪;
步骤106,在主控计算机的组网管理软件中建立“数据安全队列”并注册事件处理函数为分类触发“客户处理线程”;
步骤108,在仪表终端固件的上传选件中建立“数据传输线程”并注册就绪;
步骤110,将“监听服务线程”与“客户处理线程”设置为联动;
步骤112,“客户处理线程”从“数据安全队列”中获取数据帧信息、组装为测试结果信息、存入“测试结果信息数据库”;
步骤114,各个仪表终端的“虚拟软面板”从“测试结果信息数据库”中获取信息并进行可视化显示浏览。
所述的测试结果信息上传接收处理方法,其中,“用户界面线程”、“数据安全队列”、“监听服务线程”与“客户处理线程”;所述“用户界面线程”为主线程,用于实时接收人机交互消息或控制处理命令消息,通过协调操作与运行“监听服务线程”、“客户处理线程”与“虚拟软面板”来实现测试数据的识别、分类接收、实时存储与解析浏览;所述“数据安全队列”为数据帧先入先出队列,负责接收数据帧、管理数据帧队列并提供可动态定制的事件回调函数接口以方便其他线程来订阅数据帧信息,确保数据帧能够可靠无损地被其他线程读取;所述“监听服务线程”,用于监听通信端口上出现的各种数据帧并进行识别处理,若发现注册数据帧,则产生客户连接事件,解析数据帧获取仪表类型、型号与IP地址信息,根据仪器类型以更新人机界面、动态生成“客户处理线程”;若发现注销数据帧,则产生客户断开事件,查找匹配客户信息以更新人机界面,等待所对应的“客户处理线程”的执行完毕并释放资源;若发现测试结果信息数据帧,则产生客户数据帧就绪事件,并将数据帧写入“数据安全队列”,进而查找匹配客户信息、激活对应的“客户处理线程”并通知更新人机界面信息与有效的“虚拟软面板”。
所述的测试结果信息上传接收处理方法,其中,所述“客户处理线程”在客户注册时被动态生成、数据就绪时被激活调用、客户注销时释放所占用的内存,用于从数据帧队列中获取单个数据帧并组装成完整的测试结果数据信息,以测试结果数据文件的形式存储到测试结果信息数据库中;当“用户界面线程”、“监听服务线程”被创建并启动后,数据帧队列与测试结果信息数据库也处于有效状态,在数据传输过程中,用户通过“用户界面线程”实现整个监听服务任务的开始、暂停与继续。
所述的测试结果信息上传接收处理方法,其中,所述“监听服务线程”是利用线程池系列函数来完成“客户处理线程”的创建、设置与终止;当有新客户注册时,若存在一个空闲线程,则用来分配给新线程;若没有空闲线程,且没有达到系统所允许的最大线程数,线程池将自动创建一个新线程;如果已经达到了系统的最大允许线程数且线程池内没有空闲线程,则等待直到有空闲线程或某一客户线程执行完毕释放资源后再创建新线程。
所述的测试结果信息上传接收处理方法,其中,所述主控机算机与所述仪表终端之间的通信协议为TCP/IP协议。
所述的测试结果信息上传接收处理方法,其中,所述步骤108的具体步骤为:
步骤1081:自动获取仪表终端IP地址与通信端口等相关连接信息,并建立相应的“数据传输线程”;
步骤1082:利用已知的服务器端信息建立连接并注册为客户端;
步骤1083:进入人机界面执行,若执行上传命令,则上传选件首先将当前测试结果信息按照接口通信协议规范进行数据打包,然后激活“数据传输线程”以完成数据传输处理。
所述的测试结果信息上传接收处理方法,其中,所述步骤112中的帧信息为二进制方式,由帧头、帧体和帧尾组成;所述帧体为不定长结构,帧体中包含测试结果信息的种类、含义、数据类型和顺序结构与具体仪表设备类型相匹配;所述帧头为定长的48字节;所述帧尾为定长的1字节。
所述的测试结果信息上传接收处理方法,其中,所述步骤112中所述存入“测试结果信息数据库”的具体步骤为:
步骤1121:当多个仪表并行数据采集并上传数据存入“测试结果信息数据库”时,每个客户端首先根据文件的类型与长度等属性信息生成确认数据帧并发送给服务器端监听端口;
步骤1122:根据文件长度来依次读取文件信息来生成文件信息数据帧并发送,直到当前文件内容全部发送完毕;
步骤1123:“监听服务线程”作为总调度员来监听通信端口上出现的各种数据帧并进行识别与处理指派,与当前客户端所匹配的“客户处理线程”设置允许处理事件回调的循环处理代码且一直处于有效状态,当数据帧就绪并依次通过“数据安全队列”抵达时,将按照先确认再接收存储的方式进行同步控制:首先接收确认数据帧获取文件类型与长度属性,然后依次手机文件信息数据帧并存储到相应的测试结果信息文件中。
所述的测试结果信息上传接收处理方法,其中,所述步骤114中,所述虚拟软面板设计为可独立使用的测试结果信息可视化浏览工具;所述虚拟软面板基于开放式数据库连接(ODBC)进行数据库访问,采用SQL命令来与关系型数据库进行交互,以辅助操作用户自动从测试结果信息数据库中获取当前或历史测试结果信息。
采用上述方案,使得多台仪表设备终端中的测试结果信息可以同时上传且可靠稳定地从测试维修现场仪表终端节点传递到管理控制中心的主控计算机上,明显改善了管理控制中心与测试维修现场之间的信息交互与信息共享。本发明采用多无线终端数据同步接收处理技术来解决多台仪表终端基于无线通讯模块同时进行数据上传时服务器端组网管理软件进行接收、存储并同步显示的实时处理与并发协同问题,响应实时性强、控制处理效率高;采用了基于数据库的测试结果解析浏览技术,用于解决测试结果信息的识别、格式化、分析统计、图形化显示与界面图形存储等。基于专用通信协议进行数据帧解析并实现与仪表客户端的同步显示,模块化程度高且易于升级与功能扩展。
附图说明
图1为现有技术组网测试维修系统示意图。
图2为现有技术中数据传输流程示意图。
图3为本发明的数据上传接收处理方法流程图。
图4为本发明中步骤108仪表终端固件中的相关处理流程图。
图5为本发明中测试结果信息文件的发送接收协同控制流程图。
具体实施方式
以下结合附图和具体实施例,对本发明进行详细说明。
实施例1
本发明所要解决的技术问题在于,提供一种方法,能够有效解决现有组网测试维系系统的柔性适应能力差、协同工作效率低的问题。有鉴于此,本发明的一种组网测试维修系统的上传数据接收处理方法,包括:步骤100,在主控计算机中建立“测试结果信息数据库”;步骤102,在主控计算机的组网管理软件中建立“用户界面线程”并作为主线程运行;步骤104,在主控计算机中建立“监听服务线程”并就绪;步骤106,在主控计算机中建立“数据队列”并注册事件处理函数为分类触发“客户处理线程”;步骤108,在仪表终端固件中建立“数据传输线程”并注册就绪;步骤110,将“监听服务线程”与“客户处理线程”设置为联动;步骤112,“客户处理线程”从“数据安全队列”中获取数据帧信息、组装为测试结果信息、存入“测试结果信息数据库”;步骤114,各个仪表终端的“虚拟软面板”从测试结果信息数据库中获取信息并进行可视化显示浏览。本发明的方法流程图如图3所示。
利用本发明方法的组网维修系统可根据测试维修活动规模进行灵活配置与部署,主要由主控计算机、仪表资源与网络设备组成。其中,主控计算机选用军用加固笔记本,内置的组网管理软件由用户操作平台、数据接收存储组件、数据解析浏览组件及系列可独立使用的虚拟软面板等软件程序组成;仪表资源包括频谱仪、示波器、功率计与其他仪表,为方便现在技术人员操作使用,仪表配备为便携式或手持设备且仪表固件中均具备数据传输选件功能。这些仪表资源地理位置分散,借助无线传输网络(如:ZigBee、蓝牙与WiFi)与主控计算机进行通讯交互。仪器通过边界网关快速接入无线通信网络实现与主控计算机的无线连接。
基于上述以无线网络为中心的测试维修环境,首先由仪表设备内固件接收人机交互命令完成测试结果信息的数据采集,然后所采集测试结果信息借助仪表设备内置的数据上传选件通过网络设备进行数据传输,最后由主控计算机内的组网管理软件进行数据接收存储与解析浏览。整个系统软件采用客户端/服务器模式进行设计,测试结果信息的数据传输必然涉及到客户端与服务器之间通信协议的设计、客户端仪表固件上传选件的设计、服务器端组网管理软件的设计与虚拟软面板设计等相关内容。
通信协议设计既要考虑到各类仪表所采集原始数据内容,具有一定的通用性,又要便于组网管理,需要提供版本信息、设备型号、序列号等。同时还需要兼容有线局域网(普通以太网)与无线局域网(支持ZigBee、蓝牙与WiFi)。因而,网络层通信协议采用TCP/IP协议,传输层采用TCP协议以保证数据的可靠传输,编程接口采用Socket套接字标准。考虑到传输处理效率,通信信息帧的格式采用了二进制方式,由帧头、帧体和帧尾组成。具体如表1所列,帧体为不定长结构,帧体中包含测试结果信息的种类、含义、数据类型和顺序结构与具体仪表设备类型有关,帧头、帧尾为定长的48字节和1字节。
表1信息帧结构表
仪表固件中的数据上传选件,需要辅助现场技术人员来解决现场操作使用时与管理控制中心之间交互不畅通所导致的工作效率低的问题,避免操作使用繁琐、响应不及时的现象。该选件作为客户端软件负责与服务器端组网管理软件进行自动连接、数据上传与断开连接。选件软件的处理流程如图4所示。仪表设备开机上电后就启动数据上传初始准备。首先,需要自动获取本机IP地址与通信端口等相关连接信息,并建立相应的数据传输处理线程等,以便于组网管理软件进行连接。成功后即利用已知的服务器端信息来建立连接并注册为客户端,当然此时需要向组网管理软件提供有效地仪表设备类型、型号、IP地址等表征信息,以便组网管理软件进行统一管理。随后进入人机界面执行,处于接收人机交互命令消息阶段。此时,用户可以借助固件“配置”菜单下的“上传”按钮或软菜单来进行当前仪表测试结果信息的上传。如果执行了上传命令,上传选件首先将当前测试结果信息按照接口通信协议规范进行数据打包,然后激活数据传输线程即可完成数据传输处理。具体实现时,注册所用数据帧约定为帧体长度为0的数据帧,服务器通信端口约定为缺省5025,仪表设备关机时上传选件需自动断开与服务器间的连接并释放相关资源。
服务器端的组网管理软件,既要自动完成已注册客户端仪表的上传数据接收与入库存储,支持多台仪表的自动识别、分类管理、并发接收与实时存储,还要能够将及时通知操作人员数据传输状态并引导操作人员进行解析浏览。组网管理软件充分利用CPU空闲实现来对客户做出响应,运行效率与灵活性要求较高,基于Windows操作系统的多线程技术进行设计处理。
整个组网管理软件中所涉及到的线程处理包括“用户界面线程”、“监听服务线程”与“客户处理线程”等。其中,“用户界面线程”为主线程,负责实时接收人机交互消息或控制处理命令消息,通过协调操作与运行“监听服务线程”、“客户处理线程”与“虚拟软面板”来实现测试数据的识别、分类接收、实时存储与解析浏览等。“监听服务线程”负责监听通信端口上出现的各种数据帧并进行识别处理。若发现注册数据帧,则产生客户连接(TCP_CONNECT)事件,解析数据帧获取仪表类型、型号与IP地址等信息,根据仪器类型来进行人机界面更新、动态生成“客户处理线程”;若发现注销数据帧,则产生客户断开(TCP_DISCONNECT)事件,查找匹配客户信息以进行人机界面更新,等待所对应的“客户处理线程”的执行完毕并释放资源;若发现测试结果信息数据帧,则产生客户数据就绪(TCP_DATAREADY)事件,查找匹配客户信息以进行人机界面更新,激活所对应的“客户处理线程”来从客户接收数据并更新有效的“虚拟软面板”。“客户处理线程”在客户注册时被动态生成、数据就绪时被激活调用、客户注销时释放所占用的内存,主要用于从数据帧队列中获取单个数据帧并组装成完整的测试结果数据信息,以测试结果数据文件的形式存储到测试结果信息数据库中。组网管理软件就绪后,“用户界面线程”、“监听服务线程”就已经被创建并启动,“数据帧队列”与“测试结果信息数据库”也处于有效状态。在数据传输过程中,用户可以通过“用户界面线程”来实现整个监听服务任务的开始、暂停与继续。
鉴于“线程池”(Thread Pool)技术能够有效减少多线程应用环境中频繁创建或销毁子线程所引起的系统开销和资源消耗,提高TCP服务器端的并发处理能力,因而,监听服务设计时充分借助了LabWindows/CVI所提供的线程池系列函数来完成“客户处理线程”的创建、设置与终止。这样,当有新客户注册时,若存在一个空闲线程,则用来分配给新线程;若没有空闲线程,且没有达到系统所允许的最大线程数,线程池将自动创建一个新线程;如果已经达到了系统的最大允许线程数且线程池内没有空闲线程,则系统将等待直到有空闲线程或某一客户线程执行完毕释放资源后再创建新线程。具体使用的函数包括CmtNewThreadPool创建新线程池、CmtDiscardThreadPool释放线程池所用资源、CmtScheduleThreadPoolFunction告知线程池在其中一线程中运行特定函数、CmtWaitForThreadPoolFunctionCompletion等待次线程函数运行完毕与CmtReleaseThreadPoolFunctionID释放线程函数标识资源,这些函数大大地简化了“监听服务线程”与“用户界面线程”对“客户处理线程”的调度管理。
在装备测试维修保障活动中,对整个组网维修系统的并发(Concurrent)处理能力提出了直接需求:不仅要求现场与控制中心之间测试结果信息的同步显示,而且存在多个仪表终端同时工作并同时上传数据的情况。这就要求整个数据传输流程中所涉及到的任务之间的联系要尽量少,多个任务能够同时执行。
组网维修系统的整体环境恰恰均有天然优势,以网络为中心的仪表设备相对独立且内置数据上传组件之间没有联系,仪表设备与主控计算机之间的信息通道除了监听服务线程与数据帧队列联系紧密之外也没有相互联系。而监听服务线程与数据帧队列虽然有可能是并发承载能力的瓶颈,但是也可以在编码实现时可以通过减少处理代码来得到优化。此外,组网管理软件中基于“线程池”技术的客户处理机制不仅提高了监听服务的并发接收处理能力,也为多台仪表设备同时连接、数据传输与断开提供了可能,这也就进一步增强了监听服务线程与数据帧队列的并发处理能力。
针对每台仪表所部署的客户端——数据上传选件,组网管理软件所创建的线程池均动态分配相应的“客户处理线程”来进行数据接收与入库存储。鉴于基于TCP协议的流式套接字(TCP Socket)具有面向连接、可靠传输的优势,可以把通信链路上的可靠传输的测试结果数据等效成基于“数据安全队列”的字节流。可见,数据上传选件与组网管理软件之间所搭建的信息通道,若能够完全基于TCP协议进行设计,无疑将大大提升整个组网维修系统的并发处理能力。在组网维修系统中,上传选件与组网管理软件之间所建立的信息通道,最常出现的数据信息是测试结果信息文件上传所涉及到的确认数据帧与文件信息数据帧。针对测试结果信息文件的数据上传,客户端与服务器端软件之间发送接收协同控制流程如图5所示。
当多个仪表并行数据采集并上传数据时,每个客户端(上传选件)首先根据文件的类型与长度等属性信息生成确认数据帧并发送给服务器端监听端口(如5025),然后根据文件长度依次读取文件信息来生成文件信息数据帧并发送,直到当前文件内容全部发送完毕。组网管理软件中的监听服务线程作为总调度员来监听通信端口上出现的各种数据帧并进行识别与处理指派。与当前客户端所匹配的“客户处理线程”设置允许处理事件回调的循环处理代码且一直处于有效状态。当数据就绪并依次通过数据帧队列抵达时,将按照先确认再接收存储的方式进行同步处理。首先接收确认数据帧获取文件类型与长度属性,然后依次收集文件信息数据帧并存储到相应的测试结果信息文件中。单次循环处理过程中出现超时或者信息不匹配等异常情况均给予提示并退出当前循环,以避免出现无限等待或资源丢失的情况。
虚拟软面板设计为可独立使用的测试结果信息可视化浏览工具。本发明中以示波器虚拟软面板为例进行说明,其他仪表终端虚拟软面板与其功能相似。虚拟软面板不仅提供自截图存储、轨迹图存储、结果信息文件存储以及信息浏览功能,而且支持【上一个】、【下一个】、【最新】、【最旧】与【查询】等浏览定位方式。该系列软面板采用ODBC技术与规范化的SQL命令与关系型数据库进行交互,辅助用户自动从“测试结果信息数据库”中获取当前或历史测试结果信息。其中的多个功能组件均提供公开的API接口,可以直接被顶层组网管理软件或其他应用软件调用,具体包括:基于专用通信协议处理设计的测试结果信息解析模块;实现与仪表客户端的快速同步显示的测试结果信息浏览模块;可将当前面板窗口中的所有显示信息进行图形化处理归档的自截图组件,支持存储的图形文件格式包括JPG、BMP、TIFF与PNG。
基于无线传输网络实现组网维修系统,主要由主控计算机、仪表资源与网络设备组成。系统总体架构可根据测试维修活动规模进行灵活配置与部署。其中,主控计算机选用军用加固笔记本,内置的组网管理软件由用户操作平台、数据接收存储组件、数据解析浏览组件及系列可独立使用的虚拟软面板等软部件组成;仪表资源包括频谱仪、示波器、功率计与其他仪表,为方便现在技术人员操作使用,仪表配备为便携式或手持设备且仪表固件中均具备数据传输选件功能。这些仪表资源地理位置分散,借助无线传输网络(如:ZigBee、蓝牙与WiFi)与主控计算机进行通讯交互。仪器通过边界网关快速接入无线通信网络实现与主控计算机的无线连接。在这种以无线网络为中心组网实现测试维修环境中,首先由仪表设备内固件接收人机交互命令完成测试结果信息的数据采集,然后所采集测试结果信息借助仪表设备内置的数据上传选件通过网络设备进行数据传输,最后由主控计算机内的组网管理软件进行数据接收存储与解析浏览。整个系统软件采用客户端/服务器模式进行设计,测试结果信息的数据传输必然涉及到客户端与服务器之间通信协议的设计、客户端仪表固件上传选件的设计、服务器端组网管理软件的设计与虚拟软面板设计等相关内容。
实施例2
在上述实施例的基础上,对本发明进一步说明,本发明一种测试结果信息上传接收处理方法,其中,包括以下步骤:
步骤100,在主控计算机中建立“测试结果信息数据库”;
步骤102,在主控计算机的组网管理软件中建立“用户界面线程”并作为主线程运行;
步骤104,在主控计算机的组网管理软件中建立“监听服务线程”并就绪;
步骤106,在主控计算机的组网管理软件中建立“数据安全队列”并注册事件处理函数为分类触发“客户处理线程”;
步骤108,在仪表终端固件的上传选件中建立“数据传输线程”并注册就绪;
步骤110,将“监听服务线程”与“客户处理线程”设置为联动;
步骤112,“客户处理线程”从“数据安全队列”中获取数据帧信息、组装为测试结果信息、存入“测试结果信息数据库”;
步骤114,各个仪表终端的“虚拟软面板”从“测试结果信息数据库”中获取信息并进行可视化显示浏览。
所述的测试结果信息上传接收处理方法,其中,“用户界面线程”、“数据安全队列”、“监听服务线程”与“客户处理线程”;所述“用户界面线程”为主线程,用于实时接收人机交互消息或控制处理命令消息,通过协调操作与运行“监听服务线程”、“客户处理线程”与“虚拟软面板”来实现测试数据的识别、分类接收、实时存储与解析浏览;所述“数据安全队列”为数据帧先入先出队列,负责接收数据帧、管理数据帧队列并提供可动态定制的事件回调函数接口以方便其他线程来订阅数据帧信息;所述“监听服务线程”,用于监听通信端口上出现的各种数据帧并进行识别处理,若发现注册数据帧,则产生客户连接事件,解析数据帧获取仪表类型、型号与IP地址信息,根据仪器类型以更新人机界面、动态生成“客户处理线程”;若发现注销数据帧,则产生客户断开事件,查找匹配客户信息以更新人机界面,等待所对应的“客户处理线程”的执行完毕并释放资源;若发现测试结果信息数据帧,则产生客户数据就绪事件,查找匹配客户信息以更新人机界面,激活对应的“客户处理线程”来从客户接收数据并更新有效的“虚拟软面板”。
所述的测试结果信息上传接收处理方法,其中,所述“客户处理线程”在客户注册时被动态生成、数据就绪时被激活调用、客户注销时释放所占用的内存,用于从数据帧队列中获取单个数据帧并组装成完整的测试结果数据信息,以测试结果数据文件的形式存储到测试结果信息数据库中;当“用户界面线程”、“监听服务线程”被创建并启动后,数据帧队列与测试结果信息数据库也处于有效状态,在数据传输过程中,用户通过“用户界面线程”实现整个监听服务任务的开始、暂停与继续。
所述的测试结果信息上传接收处理方法,其中,所述“监听服务线程”是利用线程池系列函数来完成“客户处理线程”的创建、设置与终止;当有新客户注册时,若存在一个空闲线程,则用来分配给新线程;若没有空闲线程,且没有达到软件系统所允许的最大线程数,线程池将自动创建一个新线程;如果已经达到了软件系统的最大允许线程数且线程池内没有空闲线程,则软件系统将等待直到有空闲线程或某一客户线程执行完毕释放资源后再创建新线程。。
所述的测试结果信息上传接收处理方法,其中,所述主控机算机与所述仪表终端之间的通信协议为TCP/IP协议。
所述的测试结果信息上传接收处理方法,其中,所述步骤108的具体步骤为:
步骤1081:自动获取仪表终端IP地址与通信端口等相关连接信息,并建立相应的数据传输处理线程;
步骤1082:利用已知的服务器端信息建立连接并注册为客户端;
步骤1083:进入人机界面执行,若执行上传命令,则上传选件首先将当前测试结果信息按照接口通信协议规范进行数据打包,然后激活数据传输线程以完成数据传输处理。
所述的测试结果信息上传接收处理方法,其中,所述步骤112中的帧信息为二进制方式,由帧头、帧体和帧尾组成;所述帧体为不定长结构,帧体中包含测试结果信息的种类、含义、数据类型和顺序结构与具体仪表设备类型相匹配;所述帧头为定长的48字节;所述帧尾为定长的1字节。
所述的测试结果信息上传接收处理方法,其中,所述步骤112中所述存入测试结果信息数据库的具体步骤为:
步骤1121:当多个仪表并行数据采集并上传数据存入测试结果信息数据库时,每个客户端首先根据文件的类型与长度等属性信息生成确认数据帧并发送给服务器端监听端口;
步骤1122:根据文件长度来依次读取文件信息来生成文件信息数据帧并发送,直到当前文件内容全部发送完毕;
步骤1123:“监听服务线程”作为总调度员来监听通信端口上出现的各种数据帧并进行识别与处理指派,与当前客户端所匹配的“客户处理线程”设置允许处理事件回调的循环处理代码且一直处于有效状态,当数据帧就绪并依次通过“数据安全队列”抵达时,将按照先确认再接收存储的方式进行同步控制:首先接收确认数据帧获取文件类型与长度属性,然后依次手机文件信息数据帧并存储到相应的测试结果信息文件中。
所述的测试结果信息上传接收处理方法,其中,所述步骤114中,所述虚拟软面板设计为可独立使用的测试结果信息可视化浏览工具;所述虚拟软面板采用ODBC技术与SQL命令与关系型数据库进行交互,辅助用户自动从测试结果信息数据库中获取当前或历史测试结果信息。
采用上述方案,使得多台仪表设备终端中的测试结果信息可以同时上传且可靠稳定地从测试维修现场仪表终端节点传递到管理控制中心的主控计算机上,明显改善了管理控制中心与测试维修现场之间的信息交互与信息共享。本发明采用多无线终端数据同步接收处理技术来解决多台仪表终端基于无线通讯模块同时进行数据上传时服务器端组网管理软件进行接收、存储并同步显示的实时处理与并发协同问题,响应实时性强、控制处理效率高;采用了基于数据库的测试结果解析浏览技术,用于解决测试结果信息的识别、格式化、分析统计、图形化显示与界面图形存储等。基于专用通信协议进行数据帧解析并实现与仪表客户端的同步显示,模块化程度高且易于升级与功能扩展。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

Claims (7)

1.一种测试结果信息上传接收处理方法,包括以下步骤:
步骤100,在主控计算机中建立“测试结果信息数据库”;
步骤102,在主控计算机的组网管理软件中建立“用户界面线程”并作为主线程运行;
步骤104,在主控计算机的组网管理软件中建立“监听服务线程”并就绪;
步骤106,在主控计算机的组网管理软件中建立“数据安全队列”并注册事件处理函数为分类触发“客户处理线程”;
步骤108,在仪表终端固件的上传选件中建立“数据传输线程”并注册就绪;
步骤110,将“监听服务线程”与“客户处理线程”设置为联动;
步骤112,“客户处理线程”从“数据安全队列”中获取数据帧信息、组装为测试结果信息、存入“测试结果信息数据库”;
步骤114,各个仪表终端的“虚拟软面板”从“测试结果信息数据库”中获取信息并进行可视化显示浏览;
其特征在于,所述步骤108的具体步骤为:
步骤1081:自动获取仪表终端IP地址与通信端口等相关连接信息,并建立相应的数据传输处理线程;
步骤1082:利用已知的服务器端信息来建立连接并注册为客户端;
步骤1083:进入人机界面执行,若执行上传命令,则上传选件首先将当前测试结果信息按照接口通信协议规范进行数据打包,然后激活数据传输线程以完成数据传输处理。
2.如权利要求1所述的测试结果信息上传接收处理方法,其特征在于,“用户界面线程”、“数据安全队列”、“监听服务线程”与“客户处理线程”;所述“用户界面线程”为主线程,用于实时接收人机交互消息或控制处理命令消息,通过协调操作与运行“监听服务线程”、“客户处理线程”与“虚拟软面板”来实现测试数据的识别、分类接收、实时存储与解析浏览;所述“数据安全队列”为数据帧先入先出队列,负责接收数据帧、管理数据帧队列并提供可动态定制的事件回调函数接口以方便其他线程来订阅数据帧信息;所述“监听服务线程”,用于监听通信端口上出现的各种数据帧并进行识别处理,若发现注册数据帧,则产生客户连接事件,解析数据帧获取仪表类型、型号与IP地址信息,根据仪器类型以更新人机界面、动态生成“客户处理线程”;若发现注销数据帧,则产生客户断开事件,查找匹配客户信息以更新人机界面,等待所对应的“客户处理线程”的执行完毕并释放资源;若发现测试结果信息数据帧,则产生客户数据就绪事件,并写入“数据安全队列”,进而查找匹配客户信息、激活对应的“客户处理线程”并通知更新人机界面信息与有效的“虚拟软面板”。
3.如权利要求2所述的测试结果信息上传接收处理方法,其特征在于,所述“客户处理线程”在客户注册时被动态生成、数据就绪时被激活调用、客户注销时释放所占用的资源,用于从数据帧队列中获取单个数据帧并组装成完整的测试结果数据信息,以测试结果数据文件的形式存储到测试结果信息数据库中;当“用户界面线程”、“监听服务线程”被创建并启动后,数据帧队列与测试结果信息数据库也处于有效状态,在数据传输过程中,用户通过“用户界面线程”实现整个监听服务任务的开始、暂停与继续。
4.如权利要求3所述的测试结果信息上传接收处理方法,其特征在于,所述“监听服务线程”是利用线程池系列函数来完成“客户处理线程”的创建、设置与终止;当有新客户注册时,若存在一个空闲线程,则用来分配给新线程;若没有空闲线程,且没有达到系统所允许的最大线程数,线程池将自动创建一个新线程;如果已经达到了系统的最大允许线程数且线程池内没有空闲线程,则等待直到有空闲线程或某一客户线程执行完毕释放资源后再创建新线程。
5.如权利要求1所述的测试结果信息上传接收处理方法,其特征在于,所述步骤112中的帧信息为二进制方式,由帧头、帧体和帧尾组成;所述帧体为不定长结构,帧体中包含测试结果信息的种类、含义、数据类型和顺序结构与具体仪表设备类型相匹配;所述帧头为定长的48字节;所述帧尾为定长的1字节。
6.如权利要求5所述的测试结果信息上传接收处理方法,其特征在于,所述步骤112中所述存入测试结果信息数据库的具体步骤为:
步骤1201:当多个仪表并行数据采集并上传数据存入测试结果信息数据库时,每个客户端首先根据文件的类型与长度等属性信息生成确认数据帧并发送给服务器端监听端口;
步骤1202:根据文件长度来依次读取文件信息来生成文件信息数据帧并发送,直到当前文件内容全部发送完毕;
步骤1203:监听服务线程作为总调度员来监听通信端口上出现的各种数据帧并进行识别与处理指派,与当前客户端所匹配的“客户处理线程”设置允许处理事件回调的循环处理代码且一直处于有效状态,当数据就绪并依次通过数据帧队列抵达时,将按照先确认再接收存储的方式进行同步处理:首先接收确认数据帧获取文件类型与长度属性,然后依次收集文件信息数据帧并存储到相应的测试结果信息文件中。
7.如权利要求1所述的测试结果信息上传接收处理方法,其特征在于,所述步骤114中,
所述虚拟软面板设计为可独立使用的测试结果信息可视化浏览工具;所述虚拟软面板基于开放式数据库连接(ODBC)进行数据库访问,采用SQL命令来与关系型数据库进行交互,以辅助操作用户自动从测试结果信息数据库中获取当前或历史测试结果信息。
CN201310699699.0A 2013-12-18 2013-12-18 一种测试结果信息上传接收处理方法 Active CN103647685B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310699699.0A CN103647685B (zh) 2013-12-18 2013-12-18 一种测试结果信息上传接收处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310699699.0A CN103647685B (zh) 2013-12-18 2013-12-18 一种测试结果信息上传接收处理方法

Publications (2)

Publication Number Publication Date
CN103647685A CN103647685A (zh) 2014-03-19
CN103647685B true CN103647685B (zh) 2017-01-04

Family

ID=50252846

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310699699.0A Active CN103647685B (zh) 2013-12-18 2013-12-18 一种测试结果信息上传接收处理方法

Country Status (1)

Country Link
CN (1) CN103647685B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103942305B (zh) * 2014-04-18 2017-10-31 西可通信技术设备(河源)有限公司 一种移动终端的校准信息获取方法及系统
US20160055429A1 (en) * 2014-08-20 2016-02-25 Universal City Studios Llc Virtual queuing system and method
CN104394192B (zh) * 2014-10-22 2018-04-20 中国电子科技集团公司第四十一研究所 一种组网生产线测试系统的多测试节点数据上传方法
CN104834506B (zh) * 2015-05-15 2017-08-01 北京北信源软件股份有限公司 一种采用多线程处理业务应用的方法
CN108052386A (zh) * 2017-10-30 2018-05-18 北京奇虎科技有限公司 一种测试结果传输方法、装置、服务器及存储介质
CN108134635B (zh) * 2017-12-22 2021-02-09 中国联合网络通信集团有限公司 基于多线程的测量控制方法及装置
CN108509308A (zh) * 2018-02-08 2018-09-07 广州视源电子科技股份有限公司 板卡数据监控方法、系统、可读存储介质及计算机设备
CN109359032B (zh) * 2018-09-05 2022-03-22 Oppo(重庆)智能科技有限公司 测试数据收集方法、装置、系统和电子设备
CN111161012B (zh) * 2019-12-05 2020-10-02 广州二空间信息服务有限公司 一种信息推送方法、装置及计算机设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101630285A (zh) * 2009-08-07 2010-01-20 华南理工大学 一种应用于嵌入式系统的软件性能测试方法
CN101916507A (zh) * 2010-08-10 2010-12-15 广东省建筑科学研究院 桥梁健康监测系统
CN102497427A (zh) * 2011-12-13 2012-06-13 山东省建筑科学研究院 实现可再生能源监测系统数据采集服务的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101630285A (zh) * 2009-08-07 2010-01-20 华南理工大学 一种应用于嵌入式系统的软件性能测试方法
CN101916507A (zh) * 2010-08-10 2010-12-15 广东省建筑科学研究院 桥梁健康监测系统
CN102497427A (zh) * 2011-12-13 2012-06-13 山东省建筑科学研究院 实现可再生能源监测系统数据采集服务的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
自动测试系统中的仪器可互换技术及其应用;方鹏,赵秀才;《仪器仪表学报》;20070430;第28卷(第4期);70-73 *

Also Published As

Publication number Publication date
CN103647685A (zh) 2014-03-19

Similar Documents

Publication Publication Date Title
CN103647685B (zh) 一种测试结果信息上传接收处理方法
CN110753089B (zh) 一种管理客户端的方法、装置、介质和电子设备
CN106687932A (zh) 跨设备应用发现和控制
CN111800443B (zh) 数据处理系统和方法、装置以及电子设备
CN104037885B (zh) 移动电源及其工作状态监测系统和监测管理方法
CN104881352A (zh) 基于移动端的系统资源监控装置
CN109492073A (zh) 日志搜索方法、日志搜索装置和计算机可读存储介质
CN110321093A (zh) 一种投屏配对方法、装置、存储介质及投屏器
CN112615746B (zh) 一种边缘计算方法、装置及系统
CN102393807A (zh) 移动终端锁屏界面显示方法、装置及移动终端
CN106789488B (zh) 智能家居设备管理方法及装置
CN106454936B (zh) 网络控制方法和智能终端
CN109976919A (zh) 一种消息请求的传输方法和装置
CN113138900B (zh) 一种数据采集处理方法、装置和电子设备
CN104038274A (zh) 一种光纤检测维护管理系统
CN207010859U (zh) 一种远程控制视频监控系统
CN111104281B (zh) 一种游戏性能监控方法、装置、系统及存储介质
CN207408864U (zh) 一种用于巡检、应急指挥的智能穿戴终端
CN111224709A (zh) 一种集群无人机测控系统
CN104427457B (zh) 面向m2m应用和网络的业务平台接口装置及方法
CN106488297B (zh) 一种显示图像数据的方法和装置
US20240061759A1 (en) Automatic test method and apparatus, electronic device, and storage medium
CN109271289A (zh) 一种应用接口监控方法、装置、设备及计算机可读介质
CN201467453U (zh) 基于网络控制的蓝牙信息发送系统
CN111858260A (zh) 信息显示方法、装置、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20190226

Address after: 266000 No. 98 Xiangjiang Road, Huangdao District, Qingdao City, Shandong Province

Patentee after: China Electronics Technology Instrument and Meter Co., Ltd.

Address before: 266555 No. 98 Xiangjiang Road, Qingdao economic and Technological Development Zone, Shandong

Patentee before: The 41st Institute of CETC

TR01 Transfer of patent right
CP01 Change in the name or title of a patent holder

Address after: 266000 No. 98 Xiangjiang Road, Huangdao District, Qingdao City, Shandong Province

Patentee after: CLP kesiyi Technology Co.,Ltd.

Address before: 266000 No. 98 Xiangjiang Road, Huangdao District, Qingdao City, Shandong Province

Patentee before: CHINA ELECTRONIC TECHNOLOGY INSTRUMENTS Co.,Ltd.

CP01 Change in the name or title of a patent holder