APP下载

基于.net的自助终端设备管控系统的设计与实现

2022-10-18苗金凤赵学臣孙传强

电脑知识与技术 2022年25期

苗金凤 赵学臣 孙传强

摘要:文章针对自助终端管理中存在的管理困难问题,设计自助终端管理系统,该系统可以对各种型号的自助终端设备实行集中远程实时管控,使自助终端设备管理人员能够及时有效地对自助终端客户端软件进行升级和可配置化的硬件部件调换,保证不同硬件使用的可插拔式管理,方便对各个终端设备的实时管控。为此,综合采用了基于Web方式的集中化数据管理和基于Windows方式的硬件控制框架,实现对终端设备端软件及硬件的远程实时控制,便于系统的软硬件管理和调试。实证运行表明,本系统具有良好的易用性和可扩展性,已在多家医院及高校机构推广使用。

关键词:.net;自助终端设备;软件管理

中图分类号:TP3      文献标识码:A

文章编号:1009-3044(2022)25-0096-03

开放科学(资源服务) 标识码(OSID) :

随着国内计算机和数字化领域的不断发展,自助终端设备改变和影响着我们的生活,很多地方都会使用到自助终端设备,实现类似存储信息、打印、查询、支付等多种服务功能,目前应用领域比较广泛。

医疗服务领域中,引入了大量的自助终端设备,因操作与使用方法简单便捷推动了医疗卫生技术的快速进步,截止到2015年8月底,全国医院中配置自助终端的投入数量超过了30000家。假如每家医院配置3-5台自助终端设备,如查询机、挂号机、叫号机等,根据发展趋势,至2022年医疗领域的自助终端数量将累计超过30万台。自助终端在为企业节省劳动力的同时方便了用户的应用需求,提升了用户办理业务的效率。自助终端极大地改变了人们的生活和工作方式,但随着社会需求的不断发展和自助终端的升级和进步,自助服务终端也要随着社会的发展而随之变革[1]。

随着自助終端在各行各业的不断普及,自助终端的数量不断增加,在提供服务的同时也加大了设备维护的成本。自助终端设备以24小时服务为特点,人工不可能长时间驻守在设备周边,且作为损耗品自助终端的电子设备部件日益复杂,自助终端设备的硬件和软件不稳定的情况时有发生,现阶段很多情况只能通过人工的方式逐台进行设备维护,人工成本较高,而且各种硬件设备不满足可插拔式应用。如何高效、便捷、自动化、中心化地对自助服务终端进行维护是当前一个亟待解决的问题。

1 主要内容及贡献

基于.Net Core技术设计实现了自助终端设备的管控系统部分,通过该系统可以对N台终端设备集中式或分布式的远程实时控制,从而可以提高自助终端的维护效率,降低企业维护自助终端的人工成本,以便自助终端管理人员更高效地进行设备维护。

本设计解决的问题,主要分为以下几个方面:

①针对设备软件方面的维护,通过控制中心可以直接对一台或多台终端设备进行远程实时控制,实时监控终端设备的工作状态,及时进行自助终端客户端软件升级、挂起、系统重启等操作。

②针对设备硬件方面的维护,终端设备存在多种不同型号,通过远控中心可集中对各类型号的终端设备信息进行维护。

③可配置化的硬件部件调换,在某硬件部件更换不同型号后,通过远控配置方式实现快速驱动切换,保证不同硬件使用的可插拔式应用。

本文组织结构如下:

首先,本文讨论并分析了基于.Net的自助终端设备管控系统的整体框架设计,通过概要分析与需求分析阐述系统技术架构以及系统的功能构架,该系统的设计关键点在于使用的易操作性、功能的稳定性等几个重要方面。

其次,根据上述系统架构确定最终设计方案,对自助终端设备管控系统进行详细设计,同时对系统关键模块给出详细的分析。

最后,对自助终端设备管控系统做出工作总结和展望。

2 需求分析

2.1 系统总体需求

通过对自助终端管理人员工作流程的了解和调研,对基于.Net的自助终端设备管控系统有了初步的设计框架,最终确定业务功能需求:管理员的注册登录、设备硬件管理、软件管理(包括升级、重启、挂起) 。

该系统的用户主要针对自助终端维护管理人员,在管理人员完成注册登录之后,可以通过控制中心查看所有型号的客户终端,对设备基本信息进行管理,对设备状态可进行实时监控;可实时对终端软件进行升级、锁定,对硬件设备进行重启、挂起等操作;通过硬件管理可对每台客户终端硬件部件进行管理,在进行硬件部件的更换时,可以通过远控配置方式实现快速驱动切换,如图1所示。

2.2 硬件控制需求

硬件管理模块主要功能:对客户终端硬件部件信息的管理和各硬件部件驱动的管理。因涉及设备能否正常运转,所以要保证信息的准确性。硬件管理功能模块共包括两个部分:一是对设备硬件部件信息的添加、修改、查询和删除;二是对硬件驱动的远程更换、添加、删除、查询等。

2.3 软件管理需求

软件管理模块是针对自助终端客户端软件的操作,这个模块需要做到远程实时的控制,着重于客户终端反应的及时性。软件管理可以实时监控自助终端客户端软件的工作状态,及时进行软件部分的重启、升级和挂起等操作,主要功能包括系统升级、系统挂起和系统重启等。

2.4 实时通信需求

使用Web Socket、Server Sent Events和Long Polling作为底层传输方式,实现服务器端与自助终端客户端软件之间的即时通信,操控系统底层及硬件控制,当接收到消息后由自助终端客户端软件(Web页面) 实时完成变更并生效。实现暂停服务、客户端升级、驱动切换等功能。

3 详细设计

3.1 系统技术选型

基于.Net Core的自助终端设备管控系统采用B/S架构和C/S架构相结合的方式,该系统架构拥有总体成本低、维护方便、分布性强、开发简单、系统扩展容易、维护和升级方式简单等特点。

采用跨平台高性能开源框架ASP .Net core框架,是体系结构更精简的模块化框架。.Net core 完全作为NuGet包提供,借助NuGet包可以将应用优化减少到只包含必须的依赖项,提升了安全性,保证了高性能性。

本系统综合使用ASP .Net Core WebAPI框架和Winform进行开发,使用C#程序语言和SQL Sever数据库,通过Postman对WebAPI接口进行功能测试,采用VUE Element UI框架进行用户交互以及前端页面展示,采用Winform实现系统硬件的操纵,可部署于Windows Server 2003及以上版本服务器。

3.2 系统架构设计

根据自助终端维护的业务分析,将该系统主要划分为设备管理、设备组成部件管理和终端客户端软件三个模块。其中设备管理可以对不同型号的终端进行工作状态的实时监控,通过远程控制中心对设备进行集中管控。在终端设备更换不同型号的硬件部件时,可通过远控中心实现快速驱动切换,确保终端设备的可插拔式应用。

系统采用前后端分离的模式。后端通过接口或者API返回前端所需要的数据[2];前端负责将数据和HTML页面融合并渲染展示。该方式具有职责分离、分工明确的优势,可提高开发效率实现高内聚低耦合,减少后端服务器的负载压力,降低维护成本,代码重构及可维护性增强,保证了后台的高并发、高可用、高性能,使前端更好地追求页面表现、速度流畅、高兼容性等[3]。

3.3 模块设计

3.3.1 硬件部件管理设计

硬件部件信息管理模块主要针对自助机组成的各种硬件部件管理,如读卡器、发卡器、支付设备等。

1) 读卡器硬件基本信息详细设计,该模块主要由Models.CardReader.cs读卡器实体类、读卡器抽象接口类、Service.CardReaderService.cs读卡器业务逻辑处理类、ModelsDTO.CardReaderDTO数据传输类以及相关前端文件共同实现。

2) 发卡器硬件基本信息详细设计,该模块主要由Models. CardDispenser.cs发卡器实体类、发卡器抽象接口类、Service. CardDispenserService.cs发卡器业务逻辑处理类、ModelsDTO.CardDispenserDTO数据传输类以及相关前端文件共同实现。

3) 自助终端硬件基本信息详细设计,该模块主要由Models. Info.cs自助终端实体类、自助终端抽象接口类、Service. InfoService.cs自助终端业务逻辑处理类、ModelsDTO. InfoDTO数据传输类以及相关前端文件共同实现。

3.3.2 软件信息管理设计

软件信息管理功能主要通过SignalR技术搭建实时通讯的环境,通过软件管理,可以实时地通过服务器实时地进行消息通知和方法的调用,实现通过管控中心对自助终端客户端软件实时进行暂停服务、客户端升级、驱动切换等并生效。

3.3.3 实时命令控制设计

在该模块中,采用Winform应用程序作为框架,将基于Web自助业务功能逻辑嵌入到Winform中,充分将Winform程序和Web程序的优势结合,从而构建成一个适应性更加广泛、功能更加强大的混合式开发框架模式。然后通过SignalR会将变动信息即时地发送给助自助终端客户端软件,当接收到消息后由自助终端客户端软件(Web页面) 完成变更并生效。

软件信息管理模块基于SignalR库实现实时的管控。管理员首先要选择软件管理的相关选项,然后服务器直接向客户端发送相应指令,客户端接收到指令,做出响应并向服务器返回相应结果。具体方法设计如下:

①在服务器端定义对应的Hub类;②在客户端定义Hub类所对应的Proxy类;③在客户端与服务器端间长连接(Connection) 的建立,用于实时消息通信;④服务器端可基于SignalR主动向浏览器端發起命令发送,对特定客户端或所有客户端发送指令,客户端做出响应。

4 总结及展望

本文主要针对自助服务终端软硬件的管控进行分析、设计,使用ASP.Net Core WebAPI框架作为程序的主框架,采用前后端分离的模式,通过WebAPI实现数据在前后端的传值[4-5],采用SQL Server数据库为系统提供数据支持,采用基于Vue.js的Elment UI设计前端界面,对用户更友好,在保证了易用性的基础上,同时兼顾系统的高可靠性和后期可维护性。

本文对越来越普遍的自助终端的维护现状进行了分析,对设备维护过程存在的痛点与不足进行了分析,并且针对这些痛点在本系统中进行了有效的解决与改善。现阶段基于.Net Core的自助终端设备管控系统基本上达到了设计目标,实现了需求分析中的主要内容。同时本系统在实时性、可用性、易用性等方面都达到了良好的效果,在一定程度上解决了当前自助终端维护工作中存在的工作量大、耗时长等诸多痛点。本系统可以为当前自助终端维护人员的工作进行服务,在节省工作人员的时间和精力的基础上,可以在一定程度上推动目前自助终端维护方式的变革。

参考文献:

[1] 陈斌.跨行业的通用性自助填表终端机研究[J].软件,2017,38(2):61-64.

[2] 杨秋鸿,潘晓衡,赵铁柱,等.面向大数据应用的分布式服务平台设计与实现[J].东莞理工学院学报,2020,27(1):34-38.

[3] 李威威.基于前后端分离架构的工作台账系统设计与实现[J].云南民族大学学报(自然科学版),2021,30(2):174-178,184.

[4] 梁宇,钮俊.基于微服务的机关后勤管理系统设计与实现[J].无线通信技术,2020,29(1):26-31.

[5] 郭玉林.信息管理系统设计与实现[J].电脑迷,2016(1):75.

【通联编辑:张薇】