DDS在患者监视系统中的应用【Data Distribute Service,数据分发服务】

SOA中间件DDS(数据分发服务-Data Distribution Service) DDS (Data-Distribution Service数据分发服务) 是OMG在2004年发布的中间件协议和应用程序接口(API)标准,它为分布式系统提供了低延迟,高可靠性,可扩展的通信架构标准。 SOA中间件DDS(数据分发服务-Data Distribution Service)_FeiCoding的博客-优快云博客_dds数据分发服务中间件近期,在汽车通信圈讨论较火的话题中,DDS绝对排得上号的,我会利用近期空余时间系统梳理下。OMG(Object Management Group)组织 提起 阅读详情

一、摘要

由对象管理组织(OMG)发布的实时系统的数据分发服务标准(DDS)最为适合医院患者监视系统的数据连接性的严格和挑战性要求。根据护理人员工作流程的不同,患者监视系统通常包括数百个、有时是数千个相互连接的生理采集设备(床旁监视器),具有对生态系统的命令和控制的实时临床查看器(中央站)以及多个事件通告(声音临床和系统警报)位置。DDS中间件的以数据为中心、基于网络的状态管理对于系统的可靠性、健壮性和分布式操作至关重要,该系统旨在做出至关重要的决策并提供临床信息以进行进一步护理。

二、应用程序

患者监控不仅仅是连接到患者的设备,该设备获取生理信息并处理该信息以生成警报。病人监视系统包括许多(通常是数百甚至有时是数千)连接到地理位置分散在医院内相关病人的设备,来自这些设备中每一个的数据和处理后的信息将在整个医院生态系统中进行通信,并传递到各种数据接收器。例如,患者数据将流向台式工作站、手持设备上的集中监控“作战室”中的临床查看应用程序、数据存储库、进一步处理和分析患者数据的临床算法以及电子病历(EMR)。
在这里插入图片描述

这个复杂且相互联系的生态系统本质上是动态的,患者不断入院并出院,设备需要不断关闭并重新启动。基于患者的疾病状态和当前状况,可以增加或减少对患者进行监视的生理参数。该算法针对患者进行了调整,并修改了触发警报的功能。设备和患者是移动的,可能会“徘徊”在网络覆盖范围之外,然后稍后再进入。

当系统在正常条件下运行时,可以预期上述动态行为。使情况更加复杂的是,网络交换机发生故障、光纤被切断、服务器断电或发生故障、患者设备被滥用和损坏、WiFi覆盖率低以及软件需要生命周期管理。最重要的是,永远无法“关闭”这种性质的系统。必须始终监视患者的生命关键事件,并通知护理人员是否发生此类事件。无论动态行为如何,系统都必须保持安全有效。

几乎可以在生态系统中的任何地方执行控制系统的操作,例如接纳和释放患者,更改设备和算法配置或管理临床事件和警报。可能有多个临床医生正在从生态系统的不同位置同时修改或响应同一位患者,特别是通过我们称为中央站的设备。

我们认为,这个生态系统是典型的MIoT(医疗物联网)范例。

在这里插入图片描述
中央监控室中一名临床技术员的插图,该监视器可监视40名不同的患者,包括管理临床警报并在必要时上报的能力。

三、通讯系统要求

考虑到众多的临床工作流程和应用,系统的规模庞大以及对高可用性的需求,对通信系统的要求非常严格。

  • 生理数据和其他数据在非确定性端点之间实时通信。一个数据源总是复制到许多动态更改的订户。生产者和大量订户之间的通信不能被认为具有固有的可靠性。订户可能会整体或个别受到影响,每个订户应“追赶”由于通信故障(长达数小时的通信丢失)而丢失的任何数据。

  • 可以在生态系统中的任何位置修改患者的临床监视配置…相关的设备,人口统计和生理属性以及算法操作参数…并且即使在操作过程中也应允许修改患者状态的核心关键集通信系统故障。恢复通信后,生态系统中所有参与者之间的患者状态将安全地调和。

  • 通信有效载荷是动态的,因为可以向患者添加和删除生理参数,或者可以激活新算法。

  • 通信消息必须经过加密和认证。设备必须相互认证。另外,必须存在一种授权方案,以允许用户和设备订阅和发布对系统状态的更改。

  • 通信有效负载必须高效,因为许多通信链路都是无线的,并且设备由电池供电。

  • 通信系统必须扩展到100,000个通信端点。

  • 随着软件的升级和增强功能,通信必须在系统处于过渡状态时继续运行……它将永远处于过渡状态。

  • 通信系统不应有单点故障。设备/服务级别的故障保护还不够;还必须考虑地理上的故障。可能由于灾难性事件(地震,爆炸等)而导致数据中心丢失,并且有可能需要大量额外的患者监测……必须继续进行患者监测。

  • 该系统应集成到融合的客户IT基础架构中,以支持现代IT技术和体系结构。

四、为什么选择DDS

数据分发服务标准是专门为实时、关键任务应用程序设计的,以可扩展和安全的方式管理分布式系统中以数据为中心的状态。

DDS不是“以云为中心”的。像许多消息代理技术(比如Kafka)一样,没有集中的服务集群来接收和转发所有消息。从患者监视的角度来看,这是必不可少的,因此设备可以彼此直接通信,而不必依赖于获得集中式服务。考虑到单个患者监控系统的潜在占用空间(超过100万平方英尺),我们非常重要的是,我们在设计DDS路由器时要考虑到故障模式和应用需求,来设计地理数据总线。

通过直接的设备到设备通信,可以使用“服务质量”控制以“线速”交换信息,例如,将生理性紧急事件的优先级高于历史患者数据。DDS旨在在动态、多变的环境中工作,发布者和订阅者不断参与并离开。听起来有点不习惯,由于大型患者监控系统的动态特性,数据状态通常“最终保持一致”。

最终一致性是我们必须接受的范式,需要一种能够以预测性和确定性方式持续,正确地调和状态,保持临床安全有效的技术。例如,如果由于各种通信基础设施故障而使医院护理单元由于集中式服务集(例如数据中心)而被“切断”,则患者采集设备必须继续与该单元的中央进行通信站。为了使该系统继续有效,临床医生必须能够修改隔离单元的状态。在基础设施中断期间继续接纳,移动和出院患者,并在本地调整警报限值。在这种“脑裂”的情况下,隔离单元的状态已独立更改,并且当恢复连接时,整个系统会协调并变得一致……最终保持一致。在此示例中,我们利用DDS的分布式状态来发挥我们的优势。没有数据主控权问题,只有分布式状态协调。

另外,为了减少通信的延迟,我们需要一种解决方案来推动整个生态系统中的数据状态变化。许多常见的消息代理要求客户端定期向服务器轮询新消息(例如Kafka);此元素是交换当前状态的真正实时系统与典型消息代理之间的根本区别。同样,DDS从根本上考虑了这种性能。在患者监护中,生理波形(即心电图,体积描记器,动脉血压,脑电图)被视为信号采集设备的快速变化的数据状态。

此外,由于有效载荷的动态特性以及有效通信的需求,DDS具有内置的“类型系统”(DDS-XTYPES),该系统为管理兼容性和发现的“类型定义”提供了语言。这使我们的数据模型可以动态更改并随时间发展,同时保持向后兼容性。这个管理数据模型兼容性的工具是解决“系统持续转换”问题的重要元素。由于DDS理解数据类型,因此它允许通过内容感知过滤(甚至在源处),内容查询以及通过DDS路由器进行上下文感知的数据转发来进行有效的数据分发。这些是使系统高效的强大功能。同样,大多数消息传递系统仅了解键/值元组,这给生产者和消费者带来了序列化和反序列化为数据模型的负担,以及管理数据模型变更的负担。随着数据模型的增长,键/值元组的效率大大降低,通信负载非常大。对于源自人类生理学的非常复杂的数据模型,绝对必要的是,数据分发系统在整个系统中具有强类型的数据模型依从性,并且随着数据模型的扩展而高效。

最后,一些DDS供应商提供了一种简单的附加解决方案,不仅可以压缩消息的内容,从而进一步提高系统效率,而且还具有DDS内置功能,可以完全保护消息。DDS域支持对不同应用程序通信模式进行逻辑分段,从而可以管理端点之间的信息流,从而进一步提高效率和可伸缩性。由于DDS是独立于传输的,因此最好的传输用于通信链接……让它成为TCP、UDP、多播甚至是自定义的无线串行链接(用于无线患者监护仪)。系统中可以选择各种不同的传输模式。

五、挑战

DDS非常强大,所以能正确运用也成为一项复杂的技术。它需要专家的剪裁以适合特定的应用。有些天真的想法是试图可以通过“傻瓜”模式来解决诸如我们的患者监控生态系统之类的复杂问题。许多消息传递技术都针对简单的需求,最终,如果选择解决复杂的问题,则会将复杂性推到系统设计的不同部分。DDS面临的挑战包括建立内部专业知识、耐心、应用系统的系统设计和测试准则以及越来越多的测试。

我们在GE Healthcare Patient Monitoring中采用的模型由开发DDS端点的专家核心组成,该端点将提供给设计患者监测系统功能的工程师。这为生理采集设备,临床观察者,临床算法和外部系统接口的设计提供了一些抽象。所有团队都具有基本的DDS知识和意识,但相对而言是从DDS复杂性中抽象出来的。团队了解提供的API和服务级别,并使用生成的内存中数据模型,事件挂钩和方法来处理状态更改并推送更新的数据状态。

在这里插入图片描述
临床单元中一名护理人员的插图,中心站有一位临床医生收集有关系统监控的一名患者的临床信息。包括对中央站上多个患者的实时检查,壁挂式显示器和手持式设备。

六、结论

在GE Healthcare的患者监测中,我们为我们建立的患者监测和治疗系统基础感到骄傲,并正在不断扩展。我们知道,有一天,我们的朋友、家人甚至我们自己都会成为系统上的患者。我们每天都承担着这一责任。我们知道失败的风险很高。我们利用正确和最佳的技术来解决这一极其复杂而重要的挑战,以帮助确保对患者进行安全监控。

本文转自微信公众号【DDS论坛】


译文连载

RTPS规范-译文连载:实时发布订阅协议(RTPS)DDS互操作网络协议规范-中文翻译_001
DDS规范-译文连载:DDS (Data Distribution Service) 数据分发服务-规范中文翻译_001

相关链接

DDS科普:一文读懂DDS(数据分发服务)
DDS定义:什么是DDS?

在这里插入图片描述

DDS与MQ对比分析 努力了那么多年,回头一望,几乎全是漫长的挫折和煎熬。对于大多数人的一生来说,顺风顺水只是偶尔,挫折、不堪、焦虑和迷茫才是主旋律。我们登上并非我们所选择的舞台,演出并非我们所选择的剧本。继续加油吧! 阅读详情

相关推荐

工业级数据分发服务DDS简介及安全特性分析

一.DDS介绍 1.1.DDS的来源 DDS即Data Distribution Service,是位于应用程序与操作系统之间的中间件,在互联网的工业应用背景下正被广泛使用。随着互联网和软件技术的发展,不断丰富的信息改变了数据服务的模式、服务的类型和服务的质量,加上工业应用对性能、安全性和可扩展性有非常严格的要求作为标准,DDS在工业互联网领域应运而生,以满足该领域对数据服务的需求和对数据的治理能力,使分散的数据得到集中、统一的处理和应用。 DDS在车联网领域的应用也十分广泛,一方面,自动驾驶催生了对

李老板的移动安全杂货铺 5291

数据分发服务 (DDS)及Fast DDS环境搭建

dds概念与FAST DDS 环境的构建

百冰千岚的博客 3360

DDS数据分发服务(Data Distribute Service)-博文汇总(技术博客_行业应用_规范翻译)

1 技术讲解 推荐博文 一文读懂“数据分发服务DDS”(Data Distribution Service,RTPS,OMG) 【DDS 数据分发服务】Blue DCS 分布式数据连接解决方案 构建自己的中间件分析指南——分析网络中间件的实践工作手册 (适用于分析自主可控DDS等中间件) What,Why,How 什么是DDS?What is DDS? 为什么选择DDS?Why choose D...

DDS技术交流推广大本营 2245

通讯协议篇(底层TCP/UDP;上层MQTT、HTTP、CoAP、DDS、AMQP、JMS;实现层RabbitMQ、ActiveMQ、Kafka)

通讯协议篇(底层TCP/UDP;上层MQTT、HTTP、CoAP、DDS、AMQP、JMS)1、TCP/IP网络模型介绍2、TCP协议介绍1. TCP连接过程2. TCP断开链接3. TCP协议的特点3、UDP协议介绍UDP协议的特点4、TCP/UDP协议对比5、上层的MQTT、HTTP、CoAP、DDS、AMQP、JMS1、MQTT1、MQTT的介绍2、HTTP1、HTTP的介绍3、CoAP1、...

hetiedan123的博客 1万+

车载通信与DDS标准解读系列(3):DDS-XTypes

本文从序列化概念切入,介绍XTypes中对于DDS Datatypes和序列化规则,包括:DDS中可支持的数据类型及其分类、数据对象的文件定义格式、开发语言绑定规则、具体的序列化规则。

经纬恒润的官方博客 1705

OpenDDS开发人员指南中文版3.23(16)扩展类型XTypes

OpenDDS3.23支持XType动态数据类型扩展的规范和功能,XType的DDS版本和非XType的DDS版本的互操作性,特性、动态语言绑定,特别指出了和XType规范要求实现不一致的内容等。

pony12的专栏 1513

基于DolphinScheduler构建大数据调度平台

Apache DolphinScheduler是一个新一代分布式大数据工作流任务调度系统,致力于“解决大数据任务之间错综复杂的依赖关系,整个数据处理开箱即用”。它以 DAG(有向无环图) 的方式将任务连接起来,可实时监控任务的运行状态,同时支持重试、从指定节点恢复失败、暂停及 Kill任务等操作。目前已经有像IBM、腾讯、美团、360等400多家公司生产上使用。 调度系统现在市面上的调度系统那么多,比如老牌的Airflow, Oozie,Kettle,xxl-job ,Spring Batch等等, 为什么要选DolphinScheduler ? DolphinScheduler 的定位是大数据工作流调度。通过把大数据和工作流做了重点标注. 从而可以知道DolphinScheduler的定位是针对于大数据体系。 DolphinScheduler是非常强大的大数据调度工具,有以下一些特点:1、通过拖拽以DAG 图的方式将 Task 按照任务的依赖关系关联起来,可实时可视化监控任务的运行状态;2、支持丰富的任务类型;3、支持工作流定时调度、依赖调度、手动调度、手动暂停/停止/恢复,同时支持失败重试/告警、从指定节点恢复失败、Kill 任务等操作;4、支持工作流全局参数及节点自定义参数设置;5、支持集群HA,通过 Zookeeper实现 Master 集群和 Worker 集群去中心化;6、支持工作流运行历史树形/甘特图展示、支持任务状态统计、流程状态统计;7、支持补数,并行或串行回填数据。课程会带大家构建DolphinScheduler大数据调度平台,实战讲解多种任务调度配置,会基于案例讲解DolphinScheduler使用,让大家在实战中掌握DolphinScheduler。 DolphinScheduler 发展很快 很多公司调度都切换到了DolphinScheduler,掌握DolphinScheduler调度使用势在必行,抓住新技术机遇,为跳巢涨薪做好准备。

What is DDS? 什么是DDS?(Data Distribute Service,数据分发服务)

The Data Distribution Service (DDS?) is a middleware protocol and API standard for data-centric connectivity from the Object Management Group® (OMG®). It integrates the components of a system together, providing low-latency data connectivity, extreme relia

usstmiracle的博客 2668

关于kafka的一点理解

在sparkstreaming 中消费kafka中的数据,用zookeeper去记录消费者偏移量,这个是kafka 0.9以前的,0.9以后,kafka中的broker会自己记录消费者偏移量的。  首先我要纠正一下,Kafka只是缓存中间件,它本身不消费数据,说Kafka消费不过来数据,本身在概念上就错了,如果生产者生产的数据Kafka处理不了,首先想到的应该是增加topic的分区数,增加并发写...

wyqwilliam的博客 306

OpenDDS开发指南V3.20之前言

opendds开发指南前言部分

u012739527的博客 2016

Java调用OpenDDS(1)-编译安装openDDS-补上了所有网络上其他文章遗漏的细节

openDDS的编译安装过程,没有任何细节遗漏的。

zhangzl419 2881

DDS (Data Distribution Service) 数据分发服务-规范中文翻译_003

DDS (Data Distribution Service) 数据分发服务-规范中文翻译_003 2.以数据为中心的订阅发布(DCPS) 2.2 平台无关模型(Platform Independent Model ,PIM) 2.2.1概述和设计原理 2.2.1.2 概念大纲 2.2.1.2.1 概述 图 2 1 概述 信息流借助以下实体:发送方的***发布者(Publisher)***和**...

DDS技术交流推广大本营 4389

保姆级教程:从AD导出Gerber到HFSS 3D Layout导入,搞定PCB电磁仿真全流程

本文提供从Altium Designer导出Gerber文件到Ansys HFSS 3D Layout导入的完整PCB电磁仿真流程指南。详细讲解Gerber文件导出设置、HFSS中的3D模型重建技巧,以及电磁仿真中的常见问题解决方案,帮助工程师高效完成高速电路和射频设计的性能验证。

weixin_30379531的博客 705

DDS(Data Distribution Service) 数据分发服务-01简介

介绍DDS 数据分发服务基本信息

guoban的博客 1万+

Oracle到金仓数据库信创改造迁移实施规划方案

**性能测试和优化**:对金仓数据库的性能进行测试,根据业务负载情况进行必要的调优,确保系统能够稳定高效运行。- **数据兼容性**:评估Oracle数据库中的数据结构和金仓数据库的兼容性,明确需要重构的数据模型。- **性能测试**:通过对金仓数据库的性能测试,预估在实际业务环境下的表现,是否能达到业务需求。- **工具选择**:选择适合的迁移工具,如金仓数据库提供的迁移工具,能够提升迁移效率和准确性。- **全面迁移**:在初步迁移成功后,进行全面数据迁移,确保所有数据完整迁移到金仓数据库上。

hdrhdrjdididrr的博客 480

VMware Workstation Pro 17 高效安装与激活指南

本文详细介绍了VMware Workstation Pro 17的高效安装与激活方法,包括系统要求、安装步骤、常见问题解决方案及性能优化技巧。通过专业的指导,帮助用户快速掌握这款强大的虚拟机软件,提升工作效率。

weixin_29322855的博客 402

分布式发布订阅消息系统 Kafka 架构设计 - 目前见到的最好的Kafka中文文章

转自:http://www.oschina.net/translate/kafka-design 参与翻译(4人):fbm, 飞翔的猴子, Khiyuan, nesteaa 感谢这些同志们的辛勤工作,翻译的真不错,目前见到的最好的Kafka中文文章 ------------------------------- 我们为什么要搭建该系统 Kafka是一个消息系统,原本开

Derekjiang的笔记簿 3万+

simulink中无迹卡尔曼(UKF)模块使用

simulink的UKF模块简单说明

qq_41059950的博客 2819

分布式消息服务DMS与开源Kafka对比

分布式消息服务(简称DMS)是一项基于高可用分布式集群技术的消息中间件服务,提供了可靠且可扩展的托管消息队列,用于收发消息和存储消息。那么,比起自建开源的Kafka,分布式消息服务DMS有哪些好处呢?以下就是两者的详细对比。 转载于:https://www.cnblogs.com/middleware/p/9146189.html...

weixin_30902675的博客 253

别再为域名备案发愁了!微信小程序后端调用,试试这个‘官方捷径’——云托管

本文介绍了微信小程序后端部署的新思路——利用微信云托管服务绕过域名备案难题。通过详细的环境准备、数据库配置、服务部署和小程序端调用方案,帮助开发者快速实现小程序与后端服务的无缝对接,大幅缩短上线周期并降低运维成本。

weixin_29243279的博客 669

three.js 载入 3D 模型的方法

三维模型的加载器ColladaLoader模型加载器。GLTFLoader模型加载器。OBJLoader模型加载器。FBXLoader模型加载器。

w418856的博客 4361

DDS 的动态数据类型转换有感

在阅读DDS类型的 动态类型时候,发现有个dds::core::xtypes::DynamicType。要解决这个问题 只能是使用模板技术 抽象出个个的实际类型 ,动态赋值了。这种宏替换可以解决在不知道类型是啥的时候,动态生产出可以执行的代码。突然想到了 C 语言的宏替换,宏替换是可以生产原始类型替换。这种类型可以自动根据字符串 决定数据的是那个类的。这样的用处就是根据字符串动态的生产可以编译的代码。但是拿到的是字符串 怎么把字符串变成实际的类型呢。替换之后 编译器在根据实际的类去编译。

FUHAILIANG_2015的博客 524

RK3588开发笔记-mipi csi接口imx415摄像头调试记录

摘要:本文详细介绍了RK3588开发板适配SONY IMX415 MIPI CSI摄像头的调试过程。从硬件环境准备(包括RK3588核心板、IMX415模块连接及测试工具)、软件环境配置(Linux 5.10内核、驱动状态确认),到设备树关键配置(MIPI链路、GPIO引脚、电源域等)都进行了详细说明。调试过程中通过dmesg日志、media-ctl拓扑分析等工具验证了摄像头驱动加载和图像采集功能。最终实现了800万像素高清图像采集,总结了硬件连接验证、信号完整性优化等关键经验,为类似MIPI摄像头调试提供

flypig has a dream! 880

DDS通信中间件——XTypes规范

介绍DDS-XTypes协议的主要内容,包括:类型系统以及类型描述等,包括IDL、编译器等内容。

NJzhenrong的博客 2581

20 Embedding 与向量检索:语义为什么能变成距离

Embedding 是 RAG 语义检索的数学基础。本文用工程视角讲清文本如何变成向量,为什么语义相近会表现为距离相近,Top-K 检索如何工作,以及在模型选择、同模型约束、精确匹配和召回评估上的常见坑。

老于的笔记的专栏 6202

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

分布式实时通信——DDS技术

近期,在汽车通信圈讨论较火的话题中,DDS绝对排得上号。而对于面向服务的通信协议,DDS与SOME/IP各自的优劣?DDS能否替换SOME/IP等问题也随之而来。孰优孰劣,今天暂且不探讨这些问题,我们先来了解下什么是DDS? DDS简介 DDS定义:Data Distribution Service 数据分发服务,是新一代分布式实时通信中间件协议,采用发布/订阅体系架构,强调以数据为中心,提供丰富的QoS服务质量策略,以保障数据进行实时、高效、灵活地分发,可满足各种分布式实时通信应用需求。 ..

怿星科技的博客 1万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

上一篇: DDS如何工作?How Dose DDS Work?(Data Distribute Service,数据分发服务)
下一篇: 实时发布订阅协议(RTPS)DDS互操作网络协议规范-中文翻译_007
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值