APP下载

基于智能客户端的基建工程项目信息管理研究

2022-12-09郑小立蒋学平

大众标准化 2022年22期
关键词:离线客户端测试

蒋 维,郑小立,张 亮,蒋学平

(1.宁夏超高压电力工程有限公司,宁夏回族自治区 银川 750011;2.国网宁夏电力有限公司超高压公司,宁夏回族自治区 银川 750011;3.合肥偌天电气科技发展有限公司,安徽 合肥 231131)

智能客户端是一种利用本地设备与资源进行部署,同时支持运用Web Services等多种技术进行数据库访问、实现网络资源利用,可根据网络连接条件执行数据实时上传与脱机操作,并提供智能安装、定时更新等功能。将其应用于系统开发设计环节,基于NET平台完成系统开发部署,能够为项目信息的在线存储、离线缓存等功能实现提供现实借鉴意义。

1 智能客户端技术

智能客户端主要分为移动、Windows、Office三种类型,利用客户端进行数据缓存可实现离线功能、优化用户体验、节约系统运行成本。该客户端提供瞬态、只读引用两种数据类型,采用短期、长期两种数据缓存方式,并基于.NET平台提供RDA、SSA两种数据同步方式,可消除服务器或客户端数据更改产生的数据不一致性问题,选用Web Service进行分布式程序创建,并配合Visual Studio 2008及其他辅助工具完成应用开发。

2 系统需求与架构设计

2.1 系统需求分析

根据基建项目由立项到交付全过程涉及的各类信息,运用统一管理系统进行基建工程各参建单位业务数据、分部分项工程信息以及进度、质量、投资等多个方面的工程信息进行整理与汇总,实现对基建工程项目信息的统筹管理。

2.2 系统架构设计

(1)系统网络架构。在基建工程项目信息管理系统结构设计上,将系统大体划分为浏览器、Web服务器与DB服务器三个层级,如图1所示。其中浏览器层主要用于实现智能客户端的核心功能,接收智能客户端发出的服务请求信息,经用户接口进行信息显示;Web服务器层用于对客户端发出的服务请求信息进行处理,并将数据处理结果返回至客户机端;DB服务器负责对基建工程项目中涉及的大量数据信息进行存储、分析、处理及加工,并响应Web服务器请求进行数据库管理,并返回数据处理结果。

图1 系统网络架构图

(2)系统功能模块设计。根据基建工程项目的信息管理需求,围绕质量、进度、资金、安全四个方面进行系统功能模块设计:①质量管理模块,包含文件、原材料质量、半成品质量、成品质量、用户反馈质量意见、关键零件质量以及质量缺陷问题等信息内容,需结合基建工程需求完成质量管理相关文件的分类、输入、查询及修改等功能设计;②进度管理模块,围绕招投标、供应商与施工管理三个层面进行管理设计,其中招投标进度管理子模块需提供专家信息快速检索与查询功能,供应商管理模块设有供应商档案与中标供应商查询等基本功能,施工管理模块包含施工计划、施工现场与竣工维护等管理内容;③资金管理模块,由财务管理、设备管理两个方面组成,其中财务管理包含项目财务预决算、合同付款、变更及结算等信息内容,设备管理包含设备合同、综合信息及使用过程管理等,此处需引入KKS编码技术进行设备全过程监管;④安全管理模块,包含合同管理、安监管理两部分,其中合同管理需提供合同添加、变更、信息浏览等功能,安监管理涉及施工过程与竣工运营两个阶段的安全管理要求。

(3)数据库访问设计。引入Oracle技术进行数据库访问逻辑设计,根据基建工程项目信息分类及对应的数据表内容、类型与长度,需面向系统基本功能进行数据表逻辑结构设计。以基建工程项目的预算经费信息为例,其数据表中应包含不同预算经费的序号、呈批单位、起止日期、预算类型、预算编码等具体内容,并分别完成各数据项对应数据类型的编制与存储,如表1所示。

表1 预算经费数据表

以数据库表查询功能的实现为例,主要根据序号ID进行代码设计:

为实现系统智能感知功能,可采用“V”进行视图命名的统一,将专家ID、专家身份识别等数据格式统一为“V.ExpertID”“V.ExpertStatusID”等,并在Where、orderby语句后进行筛选与排序条件的设计,便于系统录入信息。

2.3 智能客户端存储方案

利用智能客户端实现系统脱机状态下的存储功能,需引入一种存储方案满足系统日常操作状态与脱机工作状态下的数据存储、缓存处理要求,并确保在恢复联机状态时实现客户端与网络信息的自动同步。在客户端存储方案构思环节,如何判断网络处于脱机/联机状态,客户在离线/在线状态间转换后如何在第一时间将服务器数据上传并同步至客户端,在系统处于脱机状态下怎样缓存数据等,均成为智能客户端应用系统设计时亟需解决的问题。基于上述需求与问题,拟围绕以下三个层面进行存储方案设计:

(1)数据读取流程设计,在智能客户端应用软件运行过程中,先与Web服务器端建立通信连接,获取服务器端数据进行本地数据更新;当发现存在网络连接故障时,运行客户端软件读取本地数据,进入离线缓存操作模式,并将离线操作过程与结果数据以“.XML”形式存储在本地;待网络恢复连接后,使客户端与服务器自动同步数据。在数据读取流程代码设计上,定义公有的Load()方法,根据条件判断语句进行智能客户端上一次执行操作时的网络状态判断,当HasBasicInfo()方法为真时,调用ReadData()读取客户端本地.XML文件离线缓存数据与ChangeOnlineStatus(),并将客户端界面切换至离线状态;当判断方法为假时,调用DisplayLoginForm()进入用户登录界面,并调用ReadData()恢复网络连接,读取服务器端数据后存储在本地数据集中,代码设计为:

(2)数据写入流程设计,在智能客户端系统软件程序运行结束后,需将客户端修改的数据进行存储,在离线状态下将数据修改过程与改后数据以“.xml”格式存储在本地客户端,在网络连接状态下将数据上传至服务器端进行存储。在数据写入流程建构上,表现为:开始→判断是否在线→(否)保存数据至本地;(是)保存数据至服务器→结束。在数据写入流程代码设计上,主要需定义save()方法,根据条件判断语句对m_IsOnline进行真假判断,当判断结果为真时调用update()方法将数据存储至服务器端,当判断结果为假时调用saveData方法将数据存储至本地客户端,其代码设计如下:

(3)程序总体流程设计,当智能客户端在网络连接状态切换时,主要通过读取本地数据进行比较,当发现数据发生改变时,将修改后的数据存储在本地数据集内,待回复网络连接后再将修改后的数据上传至服务器端进行存储;当发现数据未发生改变时,将本地存储数据删除,利用由服务器端获取的新数据进行覆盖,并实现后续数据、业务及存储等操作功能。

3 系统实现与测试结果

3.1 系统功能实现

(1)权限控制功能。基于权限控制原则进行用户登录权限设置,由用户根据专用登录名、密码进入系统,系统根据用户信息完成权限配置,并进入不同操作界面中,实现对不同用户的权限控制。在管理员功能实现上,需分别对系统质量、进度、资金、安全管理模块进行用户权限与操作的设置,支持对用户权限进行修改、新增或删除,并且具有查询系统日志等权限。

(2)信息搜索功能。基于SQL语言进行数据库设计,以基建工程项目招标专家信息搜索功能实现为例,需运用SQL语言构建一种随机函数,根据数据库中编号的线性递增特征,选用“DBMS_RANDOM.RANDOM*n+记录编号”的形式生成SQL语句,用于保证在任意一次调用记录编号时不出现相同的初始值。针对上述功能实现情况进行测试,将常量n取值为2 000个,每一次记录编号的序号取值在1~10范围内,观察10次记录序号与伪随机函数集合的测试结果可以发现,测试数据与记录编号呈同步递增趋势,但任意两记录编号的测试数值结果均具有随机性,且小数点5位以后的数值具有无序性特征,在字符反转后仍保持无序、随机变化特点。整合上述测试结果,完成随机抽取算法组合函数的建构,待SQL语句执行结束后,将生成m个随机序列,执行orderby语句后进行不同随机数值的重新排序,并运行rownum语句提取其中前n个记录,借此有效提升信息搜索效率,保证高效完成专家信息的搜索。

3.2 系统运行测试

(1)在系统功能测试环节,分别完成链接测试、表单操作、平台兼容性及数据库测试。以数据库测试为例,模拟用户提交错误表单信息的情况,判断是否存在数据一致性错误;或模拟程序设计环节出现问题的情况,判断是否存在输出错误等。经上述不同功能测试后,测试结果表明该系统基本达成功能设计目标,符合系统预期设计要求。

(2)在系统性能测试环节,首先模拟用户在电话拨号/宽带上网模式下登录系统,判断页面访问速度是否符合连接速度测试要求;其次选择单台服务器进行集合点设计,分别模拟4/8/16个用户并发2次迭代场景,观察响应时间的变化规律。测试结果表明,系统操作界面友好、运行状况稳定,支持10个及以上用户同时访问系统、执行数据处理任务,且响应时间、运行效率与自动恢复功能等均符合预期开发需求。

(3)在系统安全测试环节,基于身份认证方式进行用户登录与访问权限设计,当用户在系统界面输入登录名、密码后,系统将自动判断是否匹配,确认输入信息符合要求后,运行数据库表中的user_power代码进行登录身份判断与权限设置,使用户成功登录系统,反之输入密码错误次数达到3次以上后将锁定用户名,禁止用户登录。在系统数据安全测试上,该系统运用RAIDS磁盘阵列进行数据库数据的存储,并提供数据库备份操作,有效防范因系统崩溃或突然断电等情况产生数据信息丢失问题。

4 结论

通过研究基建工程项目信息管理系统设计方案,引入智能客户端弥补B/S架构下应用程序部署与管理上存在的不足,并提出一种数据存储方案,最终有效为系统功能、性能与安全性提供保障,并支持数据在线上传与离线存储需求。未来还可引入Workflow进行多业务场景下系统的自动化设计,在现有系统功能模块的基础上新增无人值守、数据浏览等功能选择,为系统应用范围扩大提供良好示范经验。

猜你喜欢

离线客户端测试
异步电机离线参数辨识方法
幽默大测试
浅谈ATC离线基础数据的准备
如何看待传统媒体新闻客户端的“断舍离”?
FTGS轨道电路离线测试平台开发
“摄问”测试
“摄问”测试
“摄问”测试
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略