- 2010-04-19 11:46
- 作者:George Brooks,Ted Kenney
- 来源:创e时代
医疗保健及其相关的无数的社会和经济问题在我们的日常生活继续占据着舞台中心的位置。人口老龄化、推动全民医疗保健以及对预防性医疗保健价值的认可等因素推动了对医疗保健的关注。制造商们正在不断开发出便携式和可连接的医疗设备来实现流动医疗保健的产品的形式,新技术引导着对这些关注的回应。除了满足现有及不断变化的监管标准,这些先进的医疗设备必定会在更短的时间内以相当或更低的价格推出。
COTS软件组件
要打造更智能、更可靠并具有成本效益的医疗设备,嵌入式软件是所有工作中最核心的投入。医疗保健受到消费电子市场的启发,消费电子市场因发展和坚持开放标准而创新不断。这大大鼓励了COTS软件组件的出现以及至少一定程度上基于价格展开竞争。这种竞争被进一步定义在COTS产品的优化,出现了专用COTS和通用COTS可供选择。开发人员可对针对改进其它市场而开发创新技术,以及依赖供应商来缩小自己的关注焦点,专注于特定领域的优化。
这些COTS搭建模块被组装成多厂商组合实现技术。两个“嵌入式Linux操作系统和嵌入通用内存数据库系统用于处理日益复杂设备内数据”的组件,可以提供完整的、优化的开发平台。这使医疗设备制造商可以把重点放在医疗保健专业技术领域,而不是从零开始。
开源
Linux走在商业软件的最前沿。可以节省成本的开源软件对医疗设备制造商而言是非常有吸引力的选择。
Linux提供了一个系列可用应用程序的列表,可以满足用户接口或其它连接等所有需求。可用性和可移植性是非常宝贵的。然而,对集成和测试技术的投入是必需的。
现已有采用商业支持版嵌入式Linux的集成产品。这些经测试版包括开发环境和工具。此外,他们被移植到具体的开发板以进一步发挥Linux的优势和加速开发过程。
商业版Linux供应商利用当前开源社区发布的Linux Kernel 内核,并整合了更多的功能和软件支持。增加的功能包括快速启动、实时扩展以及其它可用Linux模块的组合。专有的优化也被整合到商业产品。厂商针对特定市场将它们打包进入商业产品。有些操作系统(OS)是面向以安全和防护为重点的市场而开发。其中一方面的工作包括,将ISO 9000:2001认证流程转化为医疗专属标准如ISO 13485和ISO 14971,这种打包的系统使得制造商应付规范要求的能力简单化。
Linux提供了两个开放源码和开放标准。这些特性都促进了Linux的使用,并且提供的通用应用编程接口(API),具有移植简单、可在不同设计中移植应用以及其它受到追捧的价值。例如,所有的LynuxWorks操作系统都有一个基于API的本地开放标准,这个标准基于POSIX标准。Linux软件实时操作系统不能满足某些医疗设备严格的实时性要求时,基于Linux的应用程序可以在Lynux Works RTOS中以最高优先级执行。
关注病人安全
微软Windows系统可能是在医疗设备市场上使用最广泛的操作系统,因为它提供了很多适合在设备上使用的应用程序,并且用户对它也很熟悉。Windows的价值是不容置疑的,然而,就像Linux一样,它也在硬实时响应和系统安全等方面存在局限。随着对病人信息安全需求的增加,必须同时满足访问方便和安全性需求。
关于病人的信息安全需要考虑到多个方面因素。例如,仅有需要和被许可的人才可以访问病人的信息。这些在很大程度上是由OS外部运行的系统来解决。然而,将不同的内核分离,一些侧重于安全和不同等级的访问,以及实现多个操作系统在给定的硬件环境下同时运行的虚拟化技术,这也需要操作系统专家。坚持内核分离和虚拟化原则的操作系统产品,利用最新的硬件辅助技术,可以实现不同操作系统间“与外部世界”的安全性。
将完全不同的系统整合是推动设备行业发展另一个原因,如将一台X光机和一台呼吸机合二为一。为了满足合并不同系统同时确保其安全性,虚拟化(一般称为管理程序)新技术已经开始取得突破。虚拟化技术为开发人员提供了一个嵌入式平台,可以满足将传统(没有变更)和新设计整合到一个平台,同时对确保不同的功能被完全分离和安全性。在保持硬实时响应的同时做到这一点。
虚拟化产品使得多个操作系统经修改或不做修改,都可以同时运行。配置一个用于满足硬件实时需要的RTOS,多个基于Linux或Windows的设计可以在同一平台运行,将安全(safety)和保密(security)完全分离开。
数据库
数据库软件是另一个关键领域,医疗设备开发商正转向COTS软件以提升效率、可靠性和易开发性。许多医疗系统提供了更高质量的服务,通过对收集到的数据进行识别并触发报警或自动报警从而挽救了不少生命。随着时间的推移,提供这些优势的处理能力已经从集中单元转移到智能设备。新技术经常在变化。因此,无线设备依靠其嵌入式软件来存储、分类和检索大容量的复杂数据。
在嵌入式软件的早期阶段,开发人员拼凑了自主开发数据管理代码,其通常基于操作系统的平面文件。用于设备的应用程序通常对数据管理的需求相对简单,并可能舍弃了真正的数据库管理系统(DBMS)具有的一些花哨功能,如事务支持、多用户并发访问、自动恢复和深度应用编程接口等。即使嵌入式应用有可能从这些特色功能中受益,但常用的8 和 16 位设备通常缺乏内存和 CPU资源来支持这种功能。
但是,数据复杂性不断提高、数据量增大、功能更强大的设备及对保健和以人为本应用程序的可靠性需求,推动了移动医疗技术中的复杂数功能的开发。
在理论上来讲,自主开发仍然是一种选择。但从头开始创建一个数据库系统是极其复杂的。当需要先进的功能时,整合一个COTS数据库而不是通过编码来实现这些能力,就会显得更具成本效益和更节省时间。COTS数据库也通常带有部署记录,已针对可靠性和性能进行调整的部署跟踪记录是相比自行开发数据管理代码的另一大优势。
旨在满足对实时嵌入式和手机软件之特定要求的新数据库技术在最近几年已经出现。早期的嵌入式数据库(即,在应用程度内部运行的数据库系统,而非客户-服务器架构下的独立数据库服务器),通常占用0.5Mbyte大小的代码空间或更大,造成设备内存和存储资源负担过重。这种DBMS
亦执行缓存和磁盘写入要求,削弱了快速而明确的响应时间。
IMDS的重要性
专为满足嵌入式设备的需求而开发的新嵌入式数据库系统克服了性能瓶颈,可满足医疗设备软实时性能的要求。这些系统同时也降低了对数据库的代码大小和CPU要求。其中一项关键技术是内存数据库系统(IMDS),其完全通过主存储器来管理和存储记录。内存存储技术省去了磁盘I
/ O以及缓存---传统数据库将经常要用到的数据记录存放到内存以实现更快的数据存取。(缓存对IMDS而言是多余的)。
IMDS的存储容量受到可用内存的限制。同样是字节,内存仍然比硬盘要贵,但双方的成本在近年来已经明显下降。基于内存的存储好处体现在速度:IMDS的性能通常是用微秒度量,而非像基于磁盘的DBMS响应则是用毫秒来评定。因此,IMDS足以满足医疗设备的需求。
通过去掉文件I / O、缓存和相关进程,相比基于磁盘的传统数据库,IMDS通常具有设计更简洁、更少数据传输和更少重复的优点。这有助于缩减代码空间。
不同的IMDS产品,其特性和由此导致的尺寸大小存在非常大的差异。有些针对电子商务和Web缓存而设计的IMDS和其相对应的基于磁盘的企业RDBMS具有非常类似的功能。相比之下,设计用于基于设备应用的IMDS 除去了在嵌入式环境不需要的附加功能,包括在客户-服务器构架下用作服务器的功能、不同的用户权限级别和用于SQL数据库应用程序编程接口的更复杂的指令。
通过去掉I / O、缓存和相关进程以及不必要的RDMBS功能,针对嵌入式系统而设计的IMDS通常具有相对较低的功耗和CPU需求。对于设备制造商而言,降低对蓄电池和CPU的要求,可以大大减少组件成本。省下来的钱可以降低成本作为利润,或让销售商降低设备价格,使产品更具市场优势。
通过去掉I /O、缓存和相关进程以及不必要的RDMBS功能,针对嵌入式系统而设计的IMDS通常具有相对较低的功耗和CPU需求。对于设备制造商而言,降低对蓄电池和CPU的要求,可以大大减少组件成本。省下来的钱可以降低成本作为利润,或让销售商降低设备价格,使产品更具市场优势。
除了节约生产成本,嵌入式IMDS的出现对患者和准备开发这一设备的工程师而言都是好消息。主要原因如下:
数据完整性
医疗护理中所用的任何软件其所处理的都必须是最新和完整的信息,这一点至关重要。例如,用于更新记录病人药物治疗变化的数据库的某个程序,必须捕捉到每一个已经做出的变更。否则,临床医生可能不会注意某个新的症状是药物相互作用造成的。
为了维护数据的完整性,数据库供应商提供了事务处理的标准概念“多个数据库作为一个单元一起更新成功或失败”。据称,具有最高水平数据完整性的DBMS具有ACID的属性,可提供原子性、一致性、隔离性、持久性的事务处理。
当开发人员集成一个COTS数据库时,他们获得了事务支持以及对缺陷和破坏数据的额外保障。与自主开发数据库的相比,COTS可以降低缺陷的发生频率和严重程度,其原因之一就是商业DBMS的追踪纪录包括对许多漏洞的发现和修复。商业软件供应商的开发人员,测试人员、客户,以及技术支持人员组成一个反馈环,这有效地保证了一款经良好测试和被广泛使用的COTS产品比某个开发人员单枪匹马写的数据管理代码更少漏洞,最后,开发人员的代码在编译、单元测试、QA,α,β等环节就错误百出。而COTS产品已经通过了这一步骤,使其相对于新代码具有更令人信服的选择。
此外,一个COTS数据库通常包括有自主设计产品所缺少的功能,这通常设计用于避免缺陷和错误(corruption)。例如,支持事务处理机制的代码编程超出了许多技术熟练的程序员的能力范围。然而,COTS数据库已经具备了这一功能,这对避免因数据库中相关记录不同步导致错误至关重要。
有些IMDS还具有的另一个属性是一个类型安全的API,其数据库功能可以分辨出希望处理数据的类型。因此,在应用程序编译时就能发现无效的函数参数,而不是等到问题出现后再解决---这样代价昂贵并且可能使得病人护理打折扣。数据类型错误是造成运行错误的最常见原因。虽然自主开发的数据库可以包括一个类型安全的API,但从零开始开发这样一个功能,再次超出了大多数嵌入式系统开发人员的经验。其复杂性决定了购买这种功能比自己动手创建立更有意义。
上市时间
软件质量和上市时间紧密相关。当开发团队采用COTS数据库时,他们受益于已经对DBMS所进行的测试以及其它用户记录。考虑到数据库系统的复杂性,采用已经验证的COTSDBMS可以大大缩短产品上市时间。这并不是说COTS产品不存在缺陷,只有极少数的COTS产品没有缺陷,因此必须分配时间进行验证。
软件更新和维护同样被简化。大多数COTS数据库系统使用模式语言,迫使开发人员将数据库设计与应用程序编程语言分开。相比被编译进应用源代码中,数据设计是抽象出来的。这减少了应用程序对物理组织的依赖或用于存储、引导和检索数据。应用程序仍然要知道它对患者数据和患者具有的某些属性(ID,年龄,性别等)进行管理。
不过,不用再需要担心这些属性相对记录初始的或相对其它属性的位置。也不需要担心如何从存储介质读取或写入这些数据,或担心当基本字段有变化时,需要对哪些索引进行更新,等等。此外,稍后推出的软件若增加新字段,可通过修改架构来达成,因其对应用程序的代码影响极小,所以不需要处理这些数据。所有这一切缩减了嵌入式软件的开发和维护时间,使得各制造商可以更快地推出新产品。
实时性
除了减少传统DBMS的延迟时间之外,IMDS通过除去难以预料完成时间的进程来提供更具确定性的响应。一些供应商已建立基于IMDS的机制,以提供更好的响应性能和可预见性,诸如操作系统内核的调度。这样布置利用了提供给内核任务的高优先权、零延时响应,满足了应用程序的数据排序、访问和检索等应用需求,这些都是很核心的功能。
在过去2~3年还有另一项创新---混合型数据库技术,其结合了内存和磁盘数据库系统的特点。混合技术使开发人员能够指定一组临时数据(在内存中管理),同时在数据库模式中(设计文件)用简单指令选择将其它记录类型存储到磁盘上。
为什么制造商希望两个IMDS的速度都更快?在典型的嵌入式应用中,有些记录并不要求实时处理。磁盘存储可以更便宜并且需要的物理空间更少。因此,通过采用混合嵌入式数据库,可对医疗设备进行性能、持久性、成本和尺寸的优化。
结论
设备制造商所用来的COTS技术部分源自于对消费电子产品的巨大需求。医疗行业可以利用连通性、可靠性的优势和实时要求,这在许多渗入我们生活中的嵌入式设备上有体现。COTS操作系统和DBMS对降低消费电子产品的成本和推动其创新做出了贡献,并证明能够满足医疗设备的性能和可靠性要求。在推出下一代医疗保健系统的过程中,这些COTS组件和其它COTS组件将在时间和财政预算等方面将越来越重要。
关于作者
George Brooks 为LynuxWorks公司(San Jose)新兴市场和半导体联盟的业务发展主管;Ted Kenney为McObject公司(Issaquah, WA)市场营销主管。