第八章 准备创建Productions
- 规划 IRIS
服务器部署
容量和性能清单
IRIS
服务器的性能通过其处理峰值消息负载的能力来衡量。 IRIS
服务器的性能取决于许多组件和设置之间的复杂交互。 IRIS
服务器的负载主要取决于:
InterSystems IRIS 程序员可以在这里学习、分享、了解最新动态、成长,以及收获快乐!
第七章 准备创建Productions - 使用 Productions 的路线图
以下部分概述了可能希望从中着手的文档资源,具体取决于角色。
IRIS
生产开发人员
如果是准备使用 IRIS 产品的开发人员,请参阅以下资源:
-
Introducing Interoperability Productions
概述了 IRIS
互操作性和可能希望包含在productions
中的选项,并提供了指向更详细信息的指针。
-
创建作品的最佳实践描述了设计、开发和维护作品的最佳实践。
Developing Productions
,反过来,它会向指出应用程序开发集中的特定主题:创建Productions
和其他指南。
- 配置
Productions
描述了在作品中配置项目的详细信息。
IRIS
管理员
如果是准备使用产品的管理员,请参阅以下资源:
Caché, IRIS在系统产生了最严重的问题时会产生错误信息并通知客户,但这并不足够。一是客户需要更多更灵活的通知消息,二是客户通常会有第3方的监控系统,因此得到Cache, IRIS的监控指标是必须的。
在所有的指标中,用户最关心的是以下几类:
- 硬件资源的使用,CPU, 内存, IO性能
- 数据库使用的硬盘的占用
- Cache, IRIS Journal的硬盘占有
- Mirror的状态
- License的使用情况
- Caché的性能指标
除此之外,第3方监控系统还需要获得Caché的一些系统信息,比如版本,instance名字等等。
指标的获得
有以下几个获得指标的方法
1. 系统仪表板及其Web服务
Caché的系统仪表板显示的数据包括:系统性能;系统运行状态 (运行时间,上一次备份,数据库,Journal状况等; 事务和进程情况;软件许可使用情况;任务,ECP等,还有就是错误和警告的数量。
第六章 介绍Productions - 其他Production 选项
本章概述了与制作相关的其他选项。
用户门户
与 Studio
和管理门户等后端工具不同,用户门户(正式名称为 用户门户)旨在供最终用户直接使用。下面显示了一个例子:
用户门户旨在使最终用户能够执行以下任务:
- 视图和仪表板,其中可以包括生产业务指标,将在本章后面介绍。
- 查看和管理工作流任务,将在下一节介绍。
- 向用户门户的其他用户发送消息,如上图左上角所示。
工作流
IRIS
为制作中的工作流程提供支持。工作流使得将人机交互合并到自动化业务流程中成为可能。企业内工作流的使用可能包括订单输入、订单履行、合同批准或服务台活动。
production
使用业务流程和业务操作集实现工作流。业务流程接收请求,组织完成该请求所需的任务,然后调用业务操作来执行这些任务。
这些业务操作中的每一个都将任务分配给一个工作流角色,该角色将任务放入属于该角色的每个用户的工作流收件箱中。要访问此收件箱,用户需要使用上一主题中介绍的用户门户。
第五章 介绍Productions - 业务流程和业务逻辑
业务流程和业务逻辑
本章描述业务流程中支持的逻辑种类。
介绍
业务流程是production
的中间部分。它们接受来自production
内部主机类(业务服务或业务流程)的请求,然后处理请求或将它们转发到production
内部的其他主机类进行处理。
建议在production
中进行以下分工:使用业务服务从生产外部接收输入并将其(作为消息)简单地转发到production
中。使用业务流程来处理任何需要的业务逻辑。使用业务操作从生产内部接收消息,并简单地为生产外部的目的地生成输出。也就是说,将业务逻辑集中在业务流程中。
因此,IRIS
为业务流程中的复杂逻辑提供了广泛的支持,并且该逻辑可以由非技术用户定义。
首先,业务流程可以包含自己的复杂逻辑。它还可以使用以下可重复使用的物品:
数据转换计算消息内容并将更改应用到消息内容。
业务规则在决策点更改业务流程的行为,或根据消息类型、消息内容或消息来源将消息发送到特定目的地。
第二章 介绍Productions - 互操作性制作简介
互操作性产品的目的是使能够连接系统,以便可以在它们之间转换和路由消息。要连接系统,需要开发、配置、部署和管理集成多个软件系统的产品。本章介绍产生式和一些基本术语。
介绍Productions
互操作性产品是用于轻松连接系统和开发互操作性应用程序的集成框架。产品提供到各种消息格式和通信协议的内置连接。可以轻松添加其他格式和协议,并通过编码或使用图形界面定义业务逻辑和消息转换。Products
提供了消息的持久存储,允许跟踪消息的路径并审核消息是否成功传递。一部作品中的元素被称为business hosts。business hosts
.有三种,用途不同,具体如下:
使用sql访问数据库时,如何对sql语句进行加密?
第一章 IRIS 基础知识:使用互操作性制作连接系统
本文介绍了如何将系统与 IRIS
数据平台互操作性产品连接在一起。
为什么要连接系统?
连接系统涉及允许来自一个系统的消息由另一个系统处理。例如,以下场景需要连接系统:
- 为了提高效率,需要集成最初设计用于执行单一功能的系统。例如,可以通过集成跟踪库存、订购材料、记录销售和控制运输的各个系统来提高效率。
- 合并后,在独立组织中执行相同功能的系统需要协同工作,以使统一组织有效。
将系统连接在一起时,可能会面临以下挑战:
2023年4月14日-16日,2023 CHITEC在合肥圆满举办!此次盛会期间,创新的数据技术提供商InterSystems通过展位展示、主题研讨会、分论坛演讲等方式,全方位多角度展示了“加速评测,助力公立医院高效建设互联互通平台和数据中心”的能力,吸引了众多参会嘉宾。
第五十四章 镜像中断程序
由于计划维护或计划外问题,镜像中一个或两个故障转移成员上的 IRIS 实例可能变得不可用。当故障转移成员的 IRIS
实例不可用时,其 ISCAgent
可能继续可用(如果主机系统仍在运行),也可能不可用(如主机系统关闭时)。本节提供了处理各种计划内和计划外中断场景的过程,这些场景涉及实例中断或一个或两个故障转移成员的全部中断。
如自动故障转移机制中所述,从主要故障转移成员到备份故障转移成员的安全和成功故障转移有两个要求:
- 确认主实例确实已关闭,并且没有被临时网络问题隔离。
- 确认备份具有来自主数据库的最新日志数据,因为它在主数据库发生故障时处于活动状态(请参阅镜像同步)或因为它已被手动捕获(请参阅主数据库的计划外中断而没有自动故障转移)。
在阅读和使用本材料时,可能需要参考自动故障转移规则来查看管理自动故障转移的规则。
有关使用镜像监视器确定备份故障转移成员是否处于活动状态或 DR
异步是否被赶上的信息,请参阅镜像成员日志传输和取消日志状态和监控镜像。
今天从官网下载了IRISHealth-2023.1.0.229.0-lnxrh9x64版本的数据库安装包,在RHEL9.0上进行安装配置测试,遇到一个问题,趁热记录下来。
测试环境及软件版本:
操作系统——Red Hat Enterprise Linux release 9.0 (Plow)
数据库——IRISHealth-2023.1.0.229.0-lnxrh9x64
测试创建镜像时,配置好虚拟IP,点击保存。
保存后发现数据库没有变成主成员状态,一直是等待的状态,如下图所示:
第五十三章 管理镜像 - Production自动启动如何在镜像环境中工作
当镜像系统启动时(此时还没有成员成为主故障转移成员):
IRIS
不会启动任何访问镜像数据的生产,即使在 ^Ens.AutoStart
中指定了生产。如果成员成为主实例,则这些产品将在那时开始。
IRIS
确定实例上是否存在不访问镜像数据的命名空间。如前所述, 建议只在镜像成员上安装镜像产品。但是,如果安装了任何带有非镜像数据库的产品, IRIS
将启动 ^Ens.AutoStart
中指定的产品。 (此逻辑确保如果在镜像成员上安装了非镜像命名空间,它会在 IRIS
启动时启动。)
稍后,当该成员成为主要故障转移成员时, IRIS
会找到引用镜像数据的名称空间,以便它可以在这些名称空间中启动生产。如果遵循 的建议,则在实例成为主镜像成员之前,不应运行任何生产访问镜像数据。 IRIS
在开始生产之前首先检查生产是否已经在运行,特别是:
在上一篇文章中,我们看到了如何捕获位于我们服务器上一个文件夹中的DICOM类型的文件,以及如何将它们发送到PACS软件(在我们的案例中是ORTHANC开源解决方案)进行存储和咨询。那么,在这篇文章中,我们要处理的是相反的动作。
在我们的例子中,我们将配置我们的IRIS for Health Prodcution,以接收从我们的PACS通过TCP/IP发送的图像。要做到这一点,我们必须包括一个标准EnsLib.DICOM.Service.TCP类的业务服务,它将允许我们配置接收端。让我们来看看这个配置:
如您所见,我们已经声明了将监听的端口,通过该端口将接收从 PACS 发送的图像。我们还配置了本地 AET (Application Entity Title,应用实体名称)(IRIS) 和将向我们发送 DICOM (ORTHANC) 的 PACS,请记住这些字段是强制性的,并且将用于检查发送和接收 DICOM 消息的有效性。不要忘记必须从 DICOM 设置菜单配置和关联两个 AET:
2023年4月,InterSystems亚太区总经理老卢(Luciano Brustia)回到了阔别三年多的北京,针对一些热门问题分享了自己的观点:北京在疫情前后有什么不同?InterSystems是如何进行本土化创新服务中国市场的?与其他亚太国家相比,中国医疗信息化发展有什么特色?医疗信息化未来的发展方向和趋势是什么?
第五十二章 管理镜像 - 使用^DATABASE例程重新创建现有镜像数据库
使用^DATABASE
例程重新创建现有镜像数据库
^DATABASE
例程的 10) Recreate a database
选项使可以在不更改数据库名称或大小的情况下清除现有数据库中的数据。 (有关例程的信息,请参阅 ^DATABASE
。)可以将此选项用于镜像数据库,但必须在出现数据库的每个镜像成员上使用它,并且顺序与使用创建数据库选项的顺序相同创建一个新的镜像数据库——首先在主数据库上,然后是备份数据库,然后是数据库作为镜像一部分的任何异步数据库。
注意:如果使用 10
) 重新创建数据库选项在主数据库上重新创建数据库,则必须对备份和镜像中的任何 DR 异步操作重复该操作;如果不这样做,数据库可能会在发生故障转移或灾难恢复时变得过时。强烈建议也对报告异步重复重新创建操作。
第五十一章 管理镜像 - 镜像的数据库注意事项
镜像的数据库注意事项
本节提供配置和管理镜像数据库时要考虑的信息:
IRIS
实例兼容性
镜像中的 IRIS
实例必须以多种方式兼容,如下所示:
第五十章 管理镜像 - 在报告异步上使用 Dejournal 过滤器
在报告异步上使用 Dejournal 过滤器
仅在报告异步上,可以在给定镜像上设置用户定义的 dejournal
过滤器,让为每个日志记录执行自己的代码以确定哪些记录应用于该镜像中的读写数据库。定义过滤器后,可以在任意数量的镜像上设置它,并且可以随时设置、更改和删除过滤器。
重要提示:此功能仅适用于高度专业化的情况。应仔细考虑替代方案。为了控制将哪些全局变量复制到镜像成员,到非镜像数据库的全局映射提供了一种更简单、轻量级的解决方案。对于监控应用程序数据库的更新,在应用程序级别构建的解决方案通常更加灵活。
第四十九章 管理镜像 - 停止备份和异步成员的镜像
停止备份和异步成员的镜像
可以暂时停止在备份或异步成员上进行镜像。例如,可能希望在短时间内停止备份成员上的镜像以进行维护或重新配置,或者在主数据库维护期间停止镜像,并且可能暂时停止报告异步成员上的镜像以减少网络使用。为此,请执行以下操作:
- 导航到要停止镜像的成员的“系统操作”>“镜像监控”页面
- 如果该成员是备份故障转移成员,请单击停止在此成员上镜像按钮。
- 如果该成员是异步成员,请单击希望异步停止镜像的镜像所在行中的“在此成员上停止镜像”链接。 (停止一个镜像的镜像不会影响报告异步所属的其他镜像。)
该操作需要几秒钟。当刷新镜像监视器时,“在此成员上停止镜像”将替换为“在此成员上开始镜像”,可以使用它来恢复镜像。
重要提示:当停止对某个成员进行镜像时,镜像将保持停止状态,直到如前所述再次明确启动它。镜像的重新初始化或成员的重新启动都不会在成员上启动镜像。
WIN SQL是大多数用户使用的普通编辑器。但是我们不能使用winsql下载大量数据。所以我写了一个教程如何连接一个新的基于 Java 的编辑器,叫做 Squirrel SQL,它可以很容易地下载或导出 excel 或任何其他格式的数据。我还包括一个 Java JCBC 连接程序来连接 IRIS 数据库,尤其是镜像/故障转移服务器。
基于 SQL Java 的编辑器导出大量数据和用于 IRIS 连接的 Java JDBC 程序
虽然在一项研究中,与医生的回答相比,一些专业人士确实更喜欢ChatGPT的回答,但凯洛格Kellog研究人员表示,现在判断人工智能是否真的能与医生的专业知识和对待病人的态度相媲美还为时过早。
根据本周发表在《美国医学会杂志》(JAMA Internal Medicine)上的一项研究,人工智能聊天机器人助手可以为患者的健康问题提供可以与医生回复相提并论的同等质量而且富有同情心的答复。
一组有执照的医护人员比较了医生和聊天机器人2022年10月在社交媒体论坛Reddit的r/AskDocs上公开提出的病人问题的回答,到了12月下旬他们被ChatGPT的答复征服了。
研究作者称:"聊天机器人的回答比医生的回答更受欢迎,而且在质量和同情心方面的评价都明显更高。“
加州大学圣地亚哥分校高通研究所的约翰-艾尔斯(John Ayers)撰写的《比较医生和人工智能聊天机器人对发布在公共社交媒体论坛上的患者问题的回应》的研究新闻很快被大量报道,其中充满了决定性的动词,如 "超越"、"击败 "或 "战胜",医生们上了头条,而ChatGPT成为了胜利者。
但其他生成型人工智能学者并不确定ChatGPT的同理心是否能取代医生的同理心。
第四十八章 管理镜像 - 将备份降级为 DR 异步
除了将 DR
异步提升为故障转移成员外,还可以执行相反的操作 — 将不是当前主要成员的故障转移成员降级为 DR
异步,这样镜像就只剩下一个故障转移镜像。当不希望故障转移成员响应镜像配置中的临时更改时,这在计划中断情况下很有用。例如:
我们客户的一个共同需求是配置 HealthShare HealthConnect 和 IRIS的高可用性模式。
市场上的其他集成引擎通常被宣传为具有“高可用性”配置,但事实并非如此。通常,这些解决方案与外部数据库一起使用,因此,如果这些数据库未配置为高可用性,当发生数据库崩溃或与它的连接丢失时,整个集成工具将变得不可用。
对于 InterSystems 解决方案,这个问题不存在,因为数据库是工具本身的一部分和核心。 InterSystems 如何解决高可用性问题?深奥的配置会把我们拖入异化和疯狂的漩涡?不!在 InterSystems,我们倾听并处理了您的投诉(正如我们一直努力做的那样 ;)),并且我们已将镜像功能提供给所有用户和开发人员。
镜像
镜像如何工作?这个概念本身非常简单。如您所知,IRIS 和 HealthShare 都使用一个日志系统,该系统记录每个实例的数据库上的所有更新操作。这个日志系统是后来帮助我们在崩溃后恢复实例而不会丢失数据的系统。好吧,这些日志文件在镜像中配置的实例之间发送,允许并保持镜像中配置的实例永久更新。
架构
让我们简要解释一下在 Mirror 中配置的系统架构是什么样的:
当系统发生严重危机,一般错误,以及其他需要管理员关注的其他事件发生时, 管理员必须及时的收到系统发出的警告信息。
上篇文章中介绍了控制台日志。这是个文本文件,包含几乎所有的系统级别的错误信息,并且有严重级别的标识,那么使用工具来监控控制台日志文件,并给管理员发送通知是可行的方案吗?
当然。实际上,有些用户正是这样来管理Caceh'/IRIS的。他们有自己熟悉的监控工具,实时读取控制台日志,分析内容,并完成警告通知的发送。
这篇文章我来介绍的是Cache'/IRIS内置的处理警告的机制和配置方法。 通过把严重的错误和事件写入另一个文本文件alert.log,并配置邮件,SNMP, API接口发送通知,可以基本的实现caceh'/IRIS系统的警告通知工作。
Alerts.log
控制台日志中最严重的两个级别(级别2和3), 的记录会被写入另一个文本文件,名字是Alert.log。 默认存储于\installDir\mgr\路径。
第四十六章 管理镜像 - 更新镜像成员网络地址
当必须更新一个或多个镜像成员(包括主要成员)的一个或多个网络地址时,如编辑或删除故障转移成员中所述,通常会在主要成员上更改此信息。当您保存更改时,主节点将它们传播到所有连接的镜像成员(并在它们重新连接时传播到断开连接的成员)。不能更改连接的备份或异步成员上的任何镜像成员网络地址,因为镜像成员必须从主成员接收所有此类信息。但是,一般情况下有一些例外情况,如下所示:
- 由于
IRIS
实例的超级服务器端口是其常规配置的一部分,因此必须在本地进行更改。因此,镜像成员的超级服务器端口是唯一始终在成员本身上更新的镜像网络信息。要更改主服务器的超级服务器端口,请转到主服务器的“编辑镜像”页面,要更改备份的,请转到备份的“编辑镜像”页面,依此类推。
注意:当在“编辑网络地址”对话框中单击本地成员超级服务器端口的“编辑端口”链接时,将出现一个包含管理门户内存和启动页面的对话框,以便更改端口号。但是,不要直接转到此页面来更改镜像成员的超级服务器端口;始终使用“编辑镜像”或“编辑异步配置”页面和“编辑网络地址”对话框来进行此更改。
第四十五章 管理镜像 - 使用 ^MIRROR 状态监视器
使用 ^MIRROR 状态监视器
^MIRROR
例程提供基于字符的镜像状态监视器。 ^MIRROR Status Monitor
选项显示镜像成员的状态,包括类型、状态、日志传输延迟和 dejournal
延迟(请参阅镜像成员日志传输和 Dejournaling
状态)。监视器可以在任何镜像成员上运行,但在故障转移成员上运行它会提供有关仲裁器配置和所有连接的异步成员的信息,而在异步成员上运行它则不会。
要启动状态监视器,请打开终端窗口,在 %SYS
命名空间中运行 ^MIRROR
例程(请参阅使用 ^MIRROR
例程),然后从镜像状态菜单中选择状态监视器。以下是在故障转移成员上运行时监视器的输出示例:
第四十四章 管理镜像 - 传入日记传输率
传入日记传输率
在备份和异步成员的镜像成员状态列表下方,自上次刷新镜像监视器以来日志数据从主服务器到达的速率显示在该成员的传入日志传输率下。
首次加载镜像监控页面时,该区域显示文本---(将在刷新时显示)。下次刷新页面时,显示的信息取决于传入的日志数据是否压缩(参见镜像流量压缩),如下:
IRIS老是断网是什么原因呢?网络没问题。
第四十三章 管理镜像 - 镜像成员日记传输和取消日记状态
当一个 IRIS
实例属于一个镜像时,它的成员类型和状态、日志传输状态和 dejournaling
状态由镜像监视器和 ^MIRROR
例程状态监视器选项显示,如监视镜像中所述。
下表描述了可能显示的类型和状态;第一个显示特定成员类型的特定状态,而第二个中的状态适用于所有成员类型。
这里只讨论Caché和IRIS本身产生的错误和警告。用户在维护工作中通常会需要更多的内容, 那些我们在后面的
“系统性能指标”里介绍。另外, 关于集成平台的告警和日志, 也会在后面单独讨论。集成平台,也就是Ensemble Production,是IRIS系统上运行的应用,它的日志,告警,以及指标,测量,是单独的内容。
控制台日志
控制台日志是系统运行状态的日志文件,在IRIS里是messages.log, 在Cache‘里的名字是console.log,默认放在安装目录的mgr子目录。 用户也可以在管理门户的"系统操作>系统日志>控制台日志"里查看。以下是一个实际的例子:
第四十二章 管理镜像 - 监控镜像
本章涵盖与管理和维护可操作的 IRIS
镜像相关的主题。
监控镜像
可以使用以下两种方法之一监视现有镜像的操作:
- 管理门户的镜像监控页面
^MIRROR
例程的状态监视器选项
这两种方法都显示有关镜像及其成员的操作状态和传入日志传输率的信息,以及有关镜像数据库状态的信息。此外,镜像监视器还允许您对镜像数据库执行多项操作。
监控镜像通信进程描述了在镜像成员上运行的镜像通信进程。
注意:基本镜像成员信息,包括指向镜像监视器的链接,也会出现在管理门户主页消息窗格中(请参阅系统管理指南的“使用管理门户”一章中的管理门户消息窗格。
许多与数据库和镜像相关的操作,例如安装或卸载数据库以及将数据库添加到镜像或从镜像中删除数据库,都记录在消息日志中。
使用镜像监视器
要显示镜像监视器,请导航到任何镜像成员上的“系统操作”>“镜像监视器”页面。
在故障转移成员上,镜像监视器包含以下按钮和部分: