检验网络中动态数据采集系统的设计
搞要 如何对检验设备的数据进行可靠、稳定、实时的采集是检验网络系统成功的关键要素。本文从数据采集的实时性、稳定性方面论述了检验设备数据采集与预处理的设计方法,给出了经实际证明的使系统更稳健、更可靠的措施。关键词 网络;数据采集;临床实验系统
Design of a dynamic data collection system in lab network
Gao Yulin et al(The First Military Medical College,Guangzhou,510515)
Abstract This paper introduces a method of data collection and pre-treatment in lab network respecting to real-time performence and stability of data collection.The realization method of making the system more stable and reliable is also given.Key words network,data collection ,clinic lab system
1 引言 检验科检验设备网络是医院网络系统的重要组成部分。虽然其数据管理、计算、查询和统计处理并不复杂,但如何保证对检验设备的数据进行可靠、稳定、实时地采集及预处理(数据识别与分离,实时送入网络数据库等),却有较高的要求,且有一定的难度。在目前流行的系统中多数存在数据不稳定,预处理不实时,网络用户无法及时共享数据,甚至锁机等现象。我们从数据采集的实时性、稳定性等方面,介绍了医学检验设备网络中数据采集与预处理系统的设计。2 系统设计思想2.1 保证数据的实时接收与预处理 检验仪器的数据输出在时间上是分散的、随机的,这样要求数据的接收具有较高的实时性,即数据采集系统必须始终处于就绪状态,一旦检验仪器有数据输出,便可接收。将接收数据放入缓冲区以备预处理(即对数据进行分类分离及送入网络数据库)。根据预处理的方式不同,检验数据采集系统分成两大类。一类是将预处理和其他处理放在一起,在前台人为干预下进行处理。另一类是在后台自动实时进行预处理。前一类系统简单,但数据不能实时处理,实时送往网络用户。后者设计较为复杂,但实时性强,并且能及时检测与排除数据传送中的各种不稳定因素。我们在系统设计中采用后一类。2.2 可靠性措施 (1)由于数据采集是后台完成的,因此后台程序本身必须是稳健的,无论前台处理如何复杂和繁忙,后台程序必须能正常运行。 (2)数据的接收采用中断方式进行。标准计算机包含两个串口,可以同时采集多台仪器的数据。进行预处理时必须检测所有串口的状态,当串行口接收完一完整的数据块,并已处于空闲状态时,向预处理程序发出预处理申请。这样既使缓冲区的数据得到实时处理,又保证了串口接收数据的可靠性。 (3)预处理前检查整个计算机操作系统是否处于安全状态,待其处于安全状态时,再进行预处理,以免出现锁机现象。 (4)合理采用数据流控制。多数检验仪器都提供Xon/Xoff通信流的控制。当缓冲区已满或收到一完整数据块需进行预处理时,程序向机器发送Xoff指令。当预处理完成后,再向机器发送Xon指令,通知机器接收正处于待命状态,这样保证不会因缓冲区满或进行预处理而导至数据丢失或者锁机。 (5)提高采集系统的数据容错能力。数据的不稳定性除了系统本身以外,检验仪器的不稳定以及干扰等也会导致错码或误码,解决这些问题必须提高系统的容错能力。自动识别非正常信息,如校正、定校故障等信号,并且作相应处理。3 程序设计 (1)数据接收处理 数据采集的流程图如图1所示。当有数据到达时接收程序启动,对接收信号进行判断。如果接收到有效数据块起始符,则清理缓冲区,准备存放新的数据。当收到数据块结束符时、则向检验仪器发送xoff指令,并向预处理程序出申请预处理的信号。 (2)预处理程序的激活 预处理模块的激活流程图见图2。预处理模块用计算机的定时中断激活。在定时中断中,判断系统是否处在安全期,在此期向可对预处理申请信号作出响应,激活预处理模块对缓冲区中的数据进行预处理。预处理结束后向检验仪器发xon指令,通知检验仪器恢复数据传送。
图1 图2
(3)预处理模块 预处理模块流程图见图3。预处理模块对数据进行识别、分离并送入网络数据库。第一步:从系统配置文件中读入检验仪器配置信息以确定机器数据类型、格式、存放最终数据的网络路径等信息。第二步:根据配置信息对接收数据进行判断处理,在接收数据中,可能包含干扰、校准等非正常数据,这些数据必须予以排除,否则将导致正常数据混乱和系统不稳定。第三步:从正常数据块中检出数据并且送入指定网络数据库(表)中。4 系统特点 (1)系统稳定:由于程序中对系统进行安全性检查,避开了在系统不稳定时段进行数据预处理,杜绝了锁机现象的出现。 (2)数据稳定:在同时对多台仪器进行数据采集时,对各串行接口进行检测,等到数据库空闲时再进行预处理,不会因进行预处理而影响到数据的接收。
图3
(3)设备无关性:由于预处理模块与配置文件是各自独立的。由配置文件专门描述仪器特征及数据格式。不同仪器只须修改配置文件无须修改处理程序。实现了处理程序与设备的无关性。便于系统的推广。 (4)实时性:由于数据接收以后,自动触发预处理程序对数据进行预处理,并直接将结果送往网络数据库,使网络用户可实时收到检验结果。实现测定过程的全方位监视。5 结束语 我们应用以上设计思想开发的南方(惠侨)医学检验设备实时网络已成功地在广州南方医院、珠江医院、广州市第一人民医院、云南省人民医院等十几家大医院使用,取得良好效果。这些设计思想对其它医学检测仪器的数据采集与预处理也有一定的参考价值。
高育林(第一军医大学 广州市 510515)李伟鹏(第一军医大学 广州市 510515)
参考文献
1,李伟鹏,等.医院检验设备网络系统.医学信息,1998;5,4~62,王太重,等.医学检验中文信息处理系统的现状与方案原则.实用医学检验杂志,1995;4:(2):38~40