目前HIS系统由于业务复杂,要进行大量的运算,而且HIS系统在运行一段时间后,数据量激增,数据库占用空间增长很快,导致HIS投入运行一两年后,反应速度急遽下降,在进行一个简单的保存或删除业务时都要花较长时间,甚至让使用的医务人员也难以忍受,这时就应该考虑采用胖客户端了。
所谓胖客户端,这里是指将常用的数据缓存到本地,在进行数据的新增、修改或删除时先对本地缓存或数据库进行操作,如果要保存提交时再连接远程的数据库服务器,一次性进行批量提交,这样不用频繁访问远程数据库,对于复杂的业务计算可在本地完成,而且现在的客户端计算机相对几年前硬件也好了很多,这样既能提高访问速度,也可以更少的访问远程计算机,减少远程计算机硬盘的负担。
这里有几个关键的步骤:
1.启动时,将所有要用到的字典数据下载到本地数据库中(SQLITE或ACCESS),下载完成后以后要访问这些数据,如收费字典、药品字典、ICD10字典、材料字典、设备字典等都只需要访问本地数据库了,可以提高访问速度,这就是所谓的用空间换时间。(只是启动系统时较慢,以后每次访问都很快,而一天一般都只启动一次系统,所以效率提高很多)
2.在对数据进行增删改查的时候,也要先下载对应的数据到本地表中,改变数据后,直接批量提交即可(可设置标志位,标识是新增、修改还是删除),如果只是查询,除了第一次稍慢外,以后每次查询因为都在本地,速度也会很快。
3.对于数据字典。如果有人实时的修改或增加了字典如药品字典数据,那么我们可以采取重新启动系统,重新下载一次到本地表(每次下载都清空以前的字典表),或者实时更新本地表,这时就需要采用消息机制,发送一条广播消息,实时从数据库服务器中下载修改了的字典数据(只下载其中新增或修改的几条即可),更新本地字典表。
董继超
2016年3月11日