医院系统客户端的自动更新

关磊

濉溪县医院 信息科,安徽 淮北 235100

[摘 要]目的实现整个医院局域网内基于C/S架构开发的软件的自动更新。方法针对C/S模式软件更新不方便的问题,设计一种在同一局域网内基于FTP协议的客户端自动更新方案,并利用PowerBuilder9.0完成软件的开发和测试。结果实现了医院局域网内各客户端对C/S架构软件的自动检测与更新。结论此软件的应用大大减轻了医院局域网的维护工作,提高了工作效率。

[关键词]医院局域网;程序自动更新;FTP;C/S模式

随着医院数字化进程的不断深入,各种各样的应用需求不断增多,软件更新也更加频繁。为了更加高效的工作,寻求更加快捷的软件更新的方式方法已迫在眉睫。

根据医院工作的特点,医院信息系统(HIS)软件选用C/S模式[1]。HIS子模块较多,各模块之间相互调用,个性化比较强,并且经常提出应用需求,为此要经常修改操作界面或者增减模块,这是B/S模式不能满足的;医院需要打印电子病历、化验单、检查单、挂号单、申请单等各种不同的书面材料,需要系统很好地与打印机连接,B/S模式在打印功能方面也有些欠缺。尽管C/S模式有很多优点,但还是不能很好地适应医院各种繁杂的维护工作,而B/S模式的更新、维护工作都很方便。为此,我们可以设置一个自动更新软件来弥补[2]。因为B/S模式可以说是基于特定通信协议(HTTP)的C/S架构,医院软件基础是C/S模式,有少部分需要与B/S模式共同完成,并不是绝对的C/S模式。

1 设计思路

软件自动更新有两种方法:① 在局域网内自动更新[2],此方法是利用局域网内已知计算机用户名和密码,通过访问文件服务器的共享文件,再把里面的程序COPY到本地硬盘进行覆盖,此时如果用户没有使用新的版本,这种方法容易造成数据的不一致;② 利用FTP服务器下载文件更新,在同一个局域网内,通过在服务器端存放版本信息文件(.up文件)内部的参数设置文件(ini文件)来判别软件的版本信息,实行自动更新。

根据医院客户端多、容错率低、要求数据一致性的特点,我们选用利用FTP服务器下载文件这种方法,及时有效地解决了系统软件更新问题[3]

我院现信息系统大多是基于PB开发,为了提高兼容性,我们仍选用PB来开发本地客户端的自动更新程序[4]

2 实现方法

2.1 外部参数文件的设置

更新程序需要有存放参数的配置文件(建立connect. ini文件),存放FTP服务器的IP用户名及版本号。根据实际情况设置verson 和runname (版本号和需要更新的.exe程序[5-6]),实例如下:

意思就是通过端口21访问FTP服务器,更新护士站nurse.exe文件,版本号为v.1.0.0.2。

2.2 服务器端设置

在FTP服务器的根目录下设置一个名为bv1.0.0.2.up的文本文档文件,其中.up是不可以修改的,而文件名的第一个字母是a~z之间的任意字母标注,当首字母为a时,更新程序会读出这个文件内的第一行,并以消息盒的形式呈现给用户。

在FTP服务器用户的根目录下存放需要更新的文件列表。其中,要在客户端删除的文件用“-”号开头;在后面加上相对路径,用“+>”表示要更新到客户端的哪个路径下(相对路径),“+”号表示从FTP服务器端的哪个文件下更新。具体实例如下:

2.3 程序设计

打开pb9.0建立工作组workspace,添加应用application,设置Global Variables的如下全局变量[3]:

string rnewtitle="系统自动更新程序"

/

/自动更新界面的title

string newfilename="sysup.txt"

//上面提到的在FTP服务器中的bv1.0.0.2.up文件会更新此文件名放在客户端程序根目录下。

然后建立更新窗口w_renew(图1):

图1 程序更新窗口

在窗口上建立st_1文本框用来显示更显得版本号,显示窗口w_renew的open事件代码如下:

st_2.text="本程序已经有了新的版本,新版本号是:"+version+",请选择:"

this.title=rnewtitle

最后建立commandbutton命令按钮,用来实现软件更新操作,主要说明开始更新调用FTP服务器的单击click事件:

(1)定义变量和链接服务器:

(2)建立函数(Functions):

(3)删除文件:

//此处可以先对旧文件进行备份,最后再删除。

(5)更新完毕是否开启新系统:

3 结论

在实际工作中,我们还注意到网络的负载能力和单机的负载能力,并在这方面采取了一些措施。比如:将客户端进行分组,在软件更新时间上进行交错(先外科后内科或者先住院部后门诊)[7]

自动更新系统上线后,给我院的系统软件实施工程师带来了极大方便,使全院的软件更新维护工作轻松了很多,特别是以前对于一些限制人员进入的科室,如ICU、新生儿科、透析室、妇产科这些科室,现在每个科室只要装个更新软件,就可以自行更新,不但方便了大家的工作,更提高了工作效率[8]

[参考文献]

[1] 顾希,曹鸣.软件自动更新的两种方法[J].医疗卫生装备,2005, 26(2):38-39,48.

[2] 徐国宝.B/S模式和C/S模式信息协同管理系统的研究与应用[D].广东:广州,广东工业大学,2014.

[3] 赵卫绩,刘井莲.基于FTP协议的客户端自动更新程序的设计与实现[J].科学技术与工程,2010,10(34):8591-8593.

[4] 王超.基于PowerBuilder应用程序的设计[J].数字技术与应用,2014,(4):153-154.

[5] 周芮.医院信息系统自动升级的实现[D].吉林:长春,吉林大学, 2006.

[6] 贺广新.c/s模式下客户端软件自动升级的设计与实现[D].陕西:西安,西安电子科技大学,2013.

[7] 王鹏,孟媛.局域网内软件的自动更新[J].医疗卫生装备,2009, 30(9):49-50.

[8] 张志彬,白剑坤.HIS系统客户端软件自动更新实现[J].医疗装备,2009,22(3):27-28.

Automatic Update of Hospital Client System

GUAN Lei
Department of Information, Suixi County Hospital, Huaibei Anhui 235100, China

Abstract:ObjectiveTo realize the automatic update of the software based on C/S architecture in the whole hospital intranet.MethodsFocusing on the inconvenience in the C/S mode software updating process, an automatic update scheme was designed based on FTP protocol in the same local area network. A software was developed and tested by PowerBuilder9.0.ResultsThe automatic detection and renewal of client end of the hospital local area network was realized.ConclusionThe application of the software can greatly reduce the working load in the maintenance of the hospital intranet and increase the work efficiency in the hospital.

Key words:hospital intranet; software automatic updating; FTP; C/S mode

[中图分类号]TP311.53

[文献标志码]A

doi:10.3969/j.issn.1674-1633.2016.03.028

[文章编号]1674-1633(2016)03-0108-03

收稿日期:2015-08-13

修回日期:2015-09-16