文章 姚 鑫 · 四月 20, 2023 3m read

第三十四章 配置镜像 - 在镜像中激活日志加密

在镜像中激活日志加密

在镜像成员上激活日志加密时,请记住三个重要的注意事项:

  • 不能在故障转移成员和 DR 异步上激活日志文件加密,除非镜像需要 TLS 安全性。

  • 如果在主服务器上激活了日志加密,则必须在属于镜像的任何报告异步上激活它。此外,最佳做法是在备份和任何 DR 异步上激活日志加密,以便在发生故障转移或 DR 升级时日志加密将继续有效。

  • 故障转移成员和 DR 异步之间的日志加密要求在一个成员上用于日志加密的加密密钥在其他成员上被激活(尽管不一定用于日志加密),以便根据需要用于解密收到的日志文件。具体来说,

    • 如果在主服务器上激活了日志加密,则必须在备份和所有 DR 异步上加载并激活用于主服务器上的日志加密的密钥。 (如果未激活主日志加密密钥的报告异步更改为 DR 异步,则会生成警告;异步可以暂时保持与镜像的连接,但下次需要时将无法重新连接,除非密钥已被激活。)
    • 如果在备份或 DR 异步上激活了日志加密,则必须在主数据库上加载并激活用于该成员的日志加密的密钥。

    同样,作为准备故障转移或升级的最佳实践,如果任何成员(主要、备份)或可能成为(DR 异步)故障转移成员指定了日志加密密钥,则应将此密钥加载到所有其他此类成员上,包括多个 DR 异步。

注意:如果仅在报告异步上激活日志加密,则镜像不需要 TLS 安全性,并且

0
0 163
文章 Shanshan Yu · 四月 18, 2023 1m read

随着生活水平的提高,人们越来越注重身体健康。 而孩子的健康成长也越来越成为家长关心的话题。 孩子的身体发育可以从孩子的身高和体重反映出来。 因此,及时预测身高和体重具有重要意义。 通过科学的预测和比较,关注孩子的发育状态。

该项目使用InterSystems IRIS Cloud SQL通过输入大量体重和身高相关数据来支持,并建立基于IntegratedML的AutoML进行预测分析。 根据输入的父母身高,可以快速预测孩子未来的身高,并根据当前的身高和体重状况判断孩子的体重指数。 在正常范围内。

功能

通过应用该程序,可以快速预测处于正常发育状态的儿童的身高。 通过结果,家长可以判断孩子发育是否正常,是否需要临床干预,有助于了解孩子未来的身高; 通过当前体重状态判断当前孩子的BMI是否正常,了解孩子当前的健康状况

应用场景

1.儿童身高预测

2. 监测儿童发育

0
0 209
文章 姚 鑫 · 四月 17, 2023 6m read

第三十一章 配置镜像 - 删除镜像成员时删除镜像数据库属性

删除镜像成员时删除镜像数据库属性

当从镜像中删除成员时,始终可以选择从属于该镜像的镜像数据库中删除镜像属性。后果如下:

  • 如果保留镜像属性并稍后将 IRIS 实例恢复到镜像,数据库将自动添加到镜像,但必须先激活它们,然后才能赶上并同步(请参阅激活和赶上镜像数据库)。

但是,如果保留镜像属性,则除非先执行以下操作之一,否则无法删除该数据库:

将成员恢复到从中删除它的同一个镜像。 (如果该成员是主故障转移成员,这不是一个选项,因为镜像不再存在。)然后可以从镜像中删除一个或多个数据库(请参阅从镜像中删除镜像数据库)并在以下情况下删除它们你希望。

  • 使用 ^MIRROR 例程的删除一个或多个镜像数据库选项(请参阅使用 ^MIRROR 例程)从一个或多个数据库中删除镜像属性,然后根据需要删除它们。

  • 如果删除镜像属性,数据库将永久取消镜像并且可以像任何本地数据库一样使用;如果要在实例作为镜像成员重新加入后将它们返回到镜像,则必须使用首次将它们作为现有数据库添加到镜像的过程。

当从备份或异步成员上的镜像中删除单个数据库时,镜像数据库属性会自动删除。

编辑或删除异步成员

  1. 导航到“编辑异步配置”页面(系统管理 > 配置 > 镜像设置 > 编辑异步)。
  2. 使用 Remove Mirror Configuration 按钮从其镜像中
0
0 191
文章 姚 鑫 · 四月 16, 2023 5m read

第三十章 配置镜像 - 激活和更新镜像数据库

激活和更新镜像数据库

可以使用镜像监视器在备份故障转移成员和异步成员上激活和/或赶上镜像数据库。

如将现有数据库添加到镜像中所述,新添加的包含数据的镜像数据库可以自动与主数据库同步,方法是使用 ^DBREST 例程从主故障转移成员恢复备份。如果使用其他方法,则必须激活并赶上备份故障转移成员和异步成员。

要激活和赶上镜像数据库,请在备份故障转移成员和异步成员上执行以下操作:

  1. 导航到镜像监控页面(系统操作 > 镜像监控)。
  2. 如有必要,在异步成员上,单击包含您要对其执行操作的数据库的镜像的详细信息链接。
  3. 镜像数据库列表显示每个数据库的状态,如使用镜像监视器中所述。在其他可能的状态中,Needs Catchup 表示需要 Catchup 操作,Needs Activation 表示同时需要 ActivateCatchup 操作,CatchupRunning 表示 Catchup 操作当前正在数据库上运行。
  4. 选择“激活”或“同步”链接以对单个数据库执行操作,或从“选择操作”下拉列表中选择“激活”或“同步”,然后单击“开始”以打开一个对话框,您可以在其中从所有数据库列表中选择多个数据库该操作适合立即应用于所有这些操作。执行此操作时,ActivateCatchup 任务将在后台运行。当选择 Catchup 时,会显示 Needs Ac
0
0 232
文章 姚 鑫 · 四月 11, 2023 4m read

第二十五章 配置镜像 - 创建镜像并配置第一个故障转移成员

创建镜像并配置第一个故障转移成员

以下过程描述了如何创建镜像和配置第一个故障转移成员。

  1. 在第一个故障转移成员上,导航到管理门户的创建镜像页面(系统管理 > 配置 > 镜像设置 > 创建镜像)并单击创建镜像。如果该选项未激活,则镜像尚未启用;首先点击Enable Mirror Service,然后选中ServiceEnabled复选框并点击Save,然后选择Create a Mirror选项。
  2. 在创建镜像页面,在镜像信息部分输入以下信息:

a. 镜像名称 - 输入镜像的名称。

注意:有效名称必须是 115 个字母数字字符;小写字母会自动替换为大写字母。

b. 需要 SSL/TLS — 通过选中或清除复选框来指定是否要对镜像内的所有通信要求 TLS 安全(如建议的那样)。如果选择需要 SSL/TLS 并且该实例还没有用于镜像的有效 TLS 配置,则在完成该过程之前,必须单击设置 SSL/TLS 链接并在此成员上创建所需的 TLS 配置。 (创建 TLS 配置的说明包含在为镜像创建和编辑 TLS 配置中。)还可以取消创建镜像过程并导航到 TLS 配置页面(系统管理 > 安全 > SSL/TLS 配置)。如果实例确实具有用于镜像的有效 TLS 配置,则链接改为编辑 SSL/TLS,并且在选择需要 SSL/TLS 时不需

0
0 193
公告 Claire Zheng · 四月 10, 2023

2023年4月14日-16日,2023 CHITEC将在安徽省合肥市合肥滨湖国际会展中心(安徽省合肥市锦绣大道3899号)盛大召开。点击查看CHITEC 2023完整日程。InterSystems将亮相CHITEC,通过展位展示、主题研讨会、分论坛演讲等方式,全方位多角度展示InterSystems加速评测,助力公立医院高效建设互联互通平台和数据中心的能力。

0
0 471
文章 姚 鑫 · 四月 8, 2023 3m read

第二十二章 配置镜像 - 镜像配置指导原则

为了提供强大、经济的HA解决方案,镜像设计为可适应各种系统配置和体系结构。但是,建议遵循以下一般配置准则:

  • IRIS实例和平台兼容性-在确定要添加到镜像的系统之前,请务必查看IRIS实例兼容性和成员字符顺序注意事项中描述的要求。
  • 故障转移成员相等-假定镜像中的两个故障转移成员相等。无法将首选项配置为主角色,并且根据情况需要将主角色和备份角色互换。因此,最佳做法是使故障转移系统主机彼此尽可能相似,特别是使用相似的计算资源进行配置;即,两个系统上的CPU和内存配置以及磁盘配置应具有可比性。
  • 主实例配置和安全设置-主故障转移成员上的用户、角色、命名空间和映射(包括全局映射和包映射)等元素的配置不会被其他镜像成员上的镜像复制。因此,必须在备份故障切换成员或灾难恢复异步成员上手动复制所有设置,并根据需要进行更新,才能使备份故障切换成员或灾难恢复异步成员有效地从主成员接管。
  • 未镜像数据-仅在主故障转移成员上的镜像数据库中的数据在备份故障转移成员和异步成员上复制和同步。因此,使备份或灾难恢复异步有效地接管主服务器所需的任何文件(例如,包括与SQL网关和Web服务器配置相关的文件)都必须手动复制到这些成员,并根据需要进行更新。

注:镜像数据库的文件流(默认情况下位于数据库目录的Stream子目录中)不会被镜像。

  • ICMP-不要在配置为镜像成员的任何
0
0 120
文章 姚 鑫 · 四月 7, 2023 3m read

第二十一章 配置镜像

本章提供了镜像和镜像成员的设置、配置和管理的相关信息和步骤。

镜像的自动部署方法

本章提供了使用管理门户创建镜像和将现有实例配置为成员的过程。 IRIS Data平台还提供了几种自动部署镜像的方法,这些镜像在部署后完全可运行。

使用云管理器(ICM)部署镜像

ISC建议使用InterSystems Cloud Manager(ICM)部署 IRIS,包括镜像配置。通过将纯文本声明性配置文件、简单的命令行界面和Docker Containers中的 IRIS部署相结合,ICM为提供了一种简单、直观的方式来配置云或虚拟基础架构,并在该基础架构上部署所需的InterSystems IRIS体系结构以及其他服务。ICM可以显著简化部署流程,尤其是对于复杂的水平群集配置。

除了部署独立的镜像实例外,ICM还可以部署具有镜像数据服务器的分布式缓存集群和具有镜像数据节点的分片集群。

使用 Kubernetes运算符(IKO)部署镜像

KUBERNETES一个开源的编排引擎,用于自动部署、扩展和管理容器化的工作负载和服务。可以定义想要部署的容器化服务以及希望它们遵循的策略;Kubernetes以尽可能高效的方式透明地提供所需的资源,在部署偏离规范时修复或恢复部署,并自动或按需扩展。InterSystems Kubernetes运算符(ICO)使用IrisCluster定制资源

0
0 202
文章 姚 鑫 · 四月 6, 2023 3m read

第二十章 镜像架构和规划 - 限制对备份故障转移成员的访问

虽然托管镜像备份故障转移成员的系统可能有未使用的资源或容量,或者可能希望在其镜像数据库上运行只读查询,但 推荐的最佳实践是将主机专用于其角色,仅作为备份镜像成员。对备份的任何镜像相关或非镜像使用都会产生以下影响:

  • 如果备份性能的降低导致其确认从主服务器接收到日志数据的速度变慢,则访问主服务器上镜像数据库的应用程序用户可能会遇到性能下降的情况。任何必须等待主节点确认的应用程序交互,包括那些涉及显式日志同步以及同步提交事务和 ECP 活动的应用程序交互,都可能以这种方式受到影响。
  • 如果备份的确认延迟到足以防止它在 QoS 超时内发生,则主要撤销备份的活动状态,导致自动故障转移变得更加困难或不可能,具体取决于主要中断的性质。
  • 如果确实发生自动故障转移,备份现在支持其现有资源使用和主要用户应用程序资源使用。如果可能的话,备份主机必须有能力处理这两种负载。

出于这些原因,如果必须从主成员卸载用户活动,则应使用异步成员而不是备份成员。

在单个主机上安装多个镜像成员

构成镜像的 IRIS 实例通常安装在单独的物理或虚拟主机上,但这不是必需的。假设系统的容量足以处理所涉及的资源负载而不会导致性能下降,则可以在同一台主机上安装多个镜像成员,包括多个镜像的整体;个人情况将决定这是否可行,以及可以共存多少个镜像或镜像成员。

共同托管多个故障

0
0 144
文章 姚 鑫 · 四月 5, 2023 5m read

第十九章 镜像架构和规划 - 规划镜像虚拟 IP (VIP)

规划镜像虚拟 IP (VIP)

如内置机制中所述,当镜像 VIP 正在使用且成员成为主要成员时,VIP 将重新分配给新的主要成员,这允许所有外部客户端和连接与单个静态 IP 交互,而不管哪个故障转移成员是目前担任小学。

在故障转移过程中,遇到网络断开连接的连接客户端能够在备份成为主要后重新连接。如果配置了 VIP,备份只有在成功分配 VIP 后才能完成故障转移;否则,故障转移过程将中止,镜像需要手动干预。

在准备设置镜像 VIP 时,请考虑以下事项:

  • 要使用镜像 VIP,两个故障转移成员必须配置在同一子网中,并且 VIP 必须与在每个系统上选择的网络接口属于同一子网。 DR 异步成员必须在同一子网上有一个网络接口,以便在作为灾难恢复的一部分提升为主时能够获取 VIP;如果不是这种情况,则必须将替代的重定向机制纳入灾难恢复程序。
  • 当故障转移和/或 DR 异步成员位于不同的数据中心时,可以跨数据中心扩展 VLAN 子网以继续支持相同的 VIP 地址。这需要两个站点之间的第 2 层连接,并且可能不足以满足所有情况;请参阅双数据中心的镜像配置和地理上分离的灾难恢复中的讨论。
  • 应该在你的 DNS 服务器上为 VIP 分配一个 DNS 名称,以供连接的客户端使用。
  • 如果 VIP 正在使用中并且从 VIP 子网中删除了故障转移成员,
0
0 166
文章 姚 鑫 · 四月 4, 2023 3m read

第十八章 镜像架构和规划 - 在故障转移或灾难恢复后重定向应用程序连接

当备份故障转移成员通过自动故障转移成为主要成员或作为灾难恢复的一部分手动将 DR 异步提升为主要成员时,需要某种机制将应用程序连接重定向到新的主要成员。有许多方法可以实现这一点,本章将详细讨论其中的一些方法。一种解决方案可能适用于自动故障转移和 DR 提升,或者可以组合解决方案,例如用于自动故障转移的镜像 VIP 和用于 DR 提升的 DNS 更新。

内置机制

镜像配置中可以包含以下机制,如示例镜像体系结构和网络配置中所示,以解决应用程序重定向问题:

  • 镜像虚拟 IP 地址 (VIP)

当镜像 VIP 正在使用时(请参阅规划镜像虚拟 IP (VIP))并且成员成为主成员时,VIP 会自动绑定到新主成员上的本地接口,从而允许外部客户端继续连接到相同的 IP 地址.使用 VIP 要求有资格成为主要成员的成员位于同一子网上,如示例镜像体系结构和网络配置中所述。

注意:通常,VIP 不能在云环境中使用;有关在云中进行镜像时的备选方案和其他注意事项的信息,请参阅在云环境中进行镜像。

  • 分布式缓存集群

在镜像分布式缓存集群中(请参阅配置与镜像的应用程序服务器连接),故障转移成员配置为数据服务器,所有应用程序服务器连接都专门配置为镜像连接。故障转移后,应用程序服务器重新建立与新的主要故障转移成员的连接,并继续处理正在进行

0
0 221
文章 Michael Lei · 四月 3, 2023 2m read

如果您使用过 Caché Objects,你已经知道所有关于关系(一对多,父子孙继承等)......
但是您不会在文档中找到关于多对多关系的地方。

但我经常遇到 Caché 对象的新用户提出的问题:
“是否可以实现多对多关系?”答案是——当然!

如何实现取决于相关的任务:有一个比较重的和一个轻量级的解决方案。
两者的共同点是它们不能开箱即用需要添加一些代码来管理它。

让我们举一个基于 SAMPLES 命名空间的例子:

我们有 N:1 关系的情况

但是,您如何处理超过 1 个公司的员工?

重的解决方案:
您添加一个额外的持久类,与双方都有一个:多的关系。

优点:您可以添加管理信息作为有效性、各种时间戳……
以及与此“链接”相关的其他内容。
但它是一个额外的持久类,具有所有优点和缺点。所以我觉得这个很重。
该类可能如下所示:

Class Sample.Jobs Extends %Persistent  [Final]
{
Property Status As %Boolean;
Relationship Company As Sample.Company [ Cardinality = one, Inverse = Slot ];
Relationship Employee As Sample.Employee [ Cardinality = one, Inverse = J




0
0 229
文章 Johnny Wang · 四月 25, 2022 39m read

    大家应该都已经很熟悉 InterSystems Ensemble(一个集成和应用程序开发平台),每个人都知道 Ensemble Workflow 子系统是什么以及它对于自动化人类交互的作用。 对于那些不了解 Ensemble Workflow 的人,我将简要介绍它的功能(已经熟悉的朋友可以直接跳过这一部分并学习如何使用 Angular.js 中的 Workflow 接口)。

InterSystems Ensemble

    InterSystems Ensemble 是一个集成和应用程序开发平台,旨在集成异构系统、自动化业务流程和创建新的复杂应用程序,这些应用程序通过新的业务逻辑或新的用户界面增强集成应用程序的功能:EAI、SOA、BPM、BAM 甚至 BI (感谢 InterSystems DeepSee:一种用于开发分析应用程序的内置技术)。

    Ensemble 具有以下关键功能:

    适配器:与应用程序、技术和数据源交互的组件。 Ensemble 提供技术和应用程序集成适配器(Web 和 REST 服务、文件、FTP、电子邮件、SQL、EDI、HL7、SAP、Siebel、1S Enterprise 等)。 您可以使用适配器 SDK 创建自己的适配器。

    业务服务:将来自外部系统的数据转换为 Ensemble 消息并启动业务流程和/或业务运

1
0 651
文章 Louis Lu · 三月 31, 2023 2m read

当我在Docker容器上构建IRIS服务器时,由于升级Docker版本,发现我构建的IRIS服务器消失了。

基于这个经历,这篇文章展示如何在升级平台或docker之前为IRIS服务器做一个备份,以及在新环境中重建IRIS的过程。

IRIS服务器备份过程

完成IRIS服务器的构建后,需要进行备份。

特别是在升级之前建议做一个备份,尤其当有自定义类、routine或者 global时。

下文中的“{}”代表输入参数

  1. 导出用户定义

导出IRIS服务器中所有用户定义:

zn"%SYS"write##class(Security.Users).Export({输出完整路径文件名})
  1. 导出application定义
zn"%SYS"write##class(Security.Applications).Export({输出完整路径文件名})
  1. 停止IRIS
iris stop {iris运行实例名称}
  1. 备份iris.cpf

Iris.cpf存放于iris安装目录下,比如 /usr/irissys/iris.cpf

  1. 备份所有的数据库文件

建议卸除数据库后,备份所有的数据库文件所在的文件夹

  1. 启动IRIS
iris start {iris 实例名称}

服务器重建过程

如果重新安装IRIS服务器,

0
0 385
文章 Lele Yang · 三月 31, 2023 4m read

《WebGateway系列(4): 配置HTTPS访问IRIS的Web服务》中介绍了在Web服务器中配置SSL/TLS以实现从客户端浏览器到Web服务器之间的安全连接,从Web服务器到IRIS之间是否也可以通过配置SSL/TLS建立起安全连接呢?尤其是在Web服务器与IRIS没有安装在同一台Server上的情况下,这段连接的安全性也是需要考虑的。答案是肯定的,接下来我们就来介绍下配置Web Gateway使用SSL/TLS连接到IRIS的基本步骤。

1.首先,我们先准备一下所需要的证书。通讯的双方为Web Gateway 和 IRIS Super Server, 双方都需要准备好各自的证书和key。IRIS自带的Public Key Infrastructure(PKI)功能内置了OpenSSL,可以用来生成服务器端及客户端的证书和key。在使用此功能时,IRIS可以同时作为CA Server和CA Client,作为CA Server时可以生成自签名的证书,可以批准CA Client的证书申请并将证书下发给CA Client。

1)配置本地证书颁发机构服务器,生成sever端的证书和key。

 

 

2)配置本地证书颁发机构客户端,如下

 

3)将证书签名请求提交到证书颁发机构服务器

 

4)进程未决证书签名请求

 

发放证书。

 

至此,C

0
0 528
Job Claire Zheng · 三月 26, 2023

北京协和医院是集医疗、教学、科研于一体的现代化综合三级甲等医院,是国家卫生健康委指定的全国疑难重症诊治指导中心,最早承担干部保健和外宾医疗任务的医院之一,也是高等医学教育和住院医师规范化培训国家级示范基地,临床医学研究和技术创新的国家级核心基地。
北京协和医院信息中心目前正在招聘M语言开发工程师,具体要求如下:

2
0 320
文章 Jingwei Wang · 三月 28, 2023 5m read

IRIS 配置和用户帐户包含需要跟踪的各种数据元素,许多人难以在 IRIS 实例之间复制或同步这些系统配置和用户帐户。那么如何简化这个过程呢?

在软件工程中,CI/CD 或 CICD 是持续集成 (CI) 和(更常见的)持续交付或(较少见的)持续部署 (CD) 的组合实践集。 CI/CD 能消除我们所有的挣扎吗?

我在一个开发和部署 IRIS 集群的团队工作。我们在 Red Hat OpenShift 容器平台上的容器中运行 IRIS。

如果您当前没有使用 Kubernetes,请不要停止阅读。即使您没有使用 Kubernetes 或在容器中运行 IRIS,您也可能会遇到与我和我的团队面临的挑战类似的挑战。

我们决定将代码与配置分开,并将它们放在不同的 GitHub 存储库中。每次在代码库中进行提交时,都会触发管道运行。结果,从代码库中的文件构建了一个新image。

我们通过将 YAML 文件和其他配置工件添加到部署 GitHub 存储库,将配置定义为以 GitOps 方式使用的代码。 GitOps 是一个软件开发框架,它使组织能够持续交付软件应用程序,同时使用 Git 作为单一事实来源有效地管理 IT 基础设施(以及更多)。 GitOps 的好处之一是能够轻松回滚。您所需要做的就是恢复到 Git 中的先前状态。

DevOps 是软件开发和 IT 行业的一种方法论。作为

0
0 360
文章 Kelly Huang · 三月 28, 2023 1m read

嗨大家好!

最近我需要使用 IRIS For Health 设置本地 FHIR 服务器,我认为我找到了有史以来最简单的方法!

只需在终端中运行以下两行:

docker run --rm --name my-iris -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/irishealth-community

docker exec -it my-iris iris session iris -U "USER" '##class(%ZPM.PackageManager).Shell("install fhir-server")'

您将在 http://localhost:9092/fhir/r4 本地运行 FHIR 服务器。

就是这么简单!

FHIR 服务器将使用最新版本的 InterSystems IRIS for Health Community Edition,并将通过 FHIRSERVER 命名空间中的 IPM 包从该应用程序部署 FHIR 服务器

这是针对 Mac OS的,所以请在评论中添加它在 Windows 中的工作方式。

这是一篇非常短的文章,因为使用 InterSystems IRIS for Health 和IPM Package Manager 设置本地 FHIR 服务器真的很容易。

0
0 288
文章 water huang · 三月 27, 2023 9m read

一、背景

1.1 我遇到了几个项目,他们的接口服务器崩溃了。 项目上希望尽快恢复服务器。他们的服务器在局域网上运行,他们不能使用git,服务器中有多个命名空间运行不同的服务,而且通常只有一台平台服务器。

1.2 如果消息中有字符流类型的属性,消息搜索页面不支持使用字符流属性进行过滤,因此很难找到想要的消息。

1.3 其他同事可能会更新服务器上的代码,代码中可能有些错误。

2.挑战

2.1 如何快速恢复?

2.2 如何支持字符流属性过滤消息?

2.3 如何在编译类时自动备份?

3.解决方案

1.编译时自动导出为备份文件

首先,我们定义一个名为“SYS.base”的类,它只有一个名为“ CLSBAKPATH”的参数,并设置它的值

Class SYS.Base Extends%RegisteredObject 
{
   Parameter CLSBAKPATH = "D:\IRIS\CLSBAK";
}

然后,定义一个名为“SYS.Projection”的类,它继承了 base和%Projection.AbstractProjection,添加“Projection Reference As SYS.Projection”,重写类方法“CreateProjection”;

代码如下:

Class SYS.Projection Extends ( 
1
0 281
文章 Michael Lei · 三月 27, 2023 11m read

好不好玩,能当真吗?


最近几个月,大型语言模型GPT正在激起一些现象。因此,上周末我不可避免地也在玩 ChatGPT,以探究它是否会成为我正在敲打的一些基于 BERT 的“传统”AI 聊天机器人的补充,或者更确切地说,它是否会淘汰它们。
玩的时候脑子里冒出一个念头。通过略微理论化或哲学化,最终互操作性标准(如 HL7 和 FHIR 等)是一种“语言”,对吗? HL7 有自己的语法、规则、词汇甚至方言——每个系统都有自己的语调。这就是为什么当一台机器与另一台机器对话时,它们需要翻译器(例如 DTL 转换)来实现相互理解。
所以环顾四周,似乎一切都是语言:编码是语言:python,javascript和COS也是语言。 HL7、FHIR 甚至 XML 或 JSON 都是语言,只是它们比自然语言更结构化,那么 GPT 应该更容易上手吗?
那么,我们可以从简单地重用 GPT 的预训练编码语言模型来模拟 DTL 开始吗?我们还没有进行调整,以下是初步结果:


测试


模式:完整
型号:code-davinci-002
温度:0
最大长度:1989
其他:默认
停止序列:###
1、将HL7 ADT A01转A05?

输入:  

##### Translate this function from HL7 V2.8 ADT_A01 to HL7 V2.4 ADT_A05
### HL7 V2.8 ADT
0
0 261
文章 姚 鑫 · 三月 27, 2023 4m read

第十章 镜像架构和规划 - 仲裁器中断的影响

仲裁器中断的影响

仲裁器的中断对镜像的可用性没有直接影响。但是,如果在恢复仲裁器之前发生了自动故障转移以响应主中断场景中的主中断场景56,则备份无法自动接管。

备份中断的影响

在主应用程序可以恢复处理之前,某些应用程序可能会经历短暂的暂停(大约是 QoS 超时)。如果没有配置仲裁器,或者如果仲裁器在备份中断之前变得不可用,则经历的暂停可能会稍微长一些(大约是QoS 超时的三倍)。如果在恢复备份之前发生主要中断,则结果是整个镜像中断。

主要和仲裁联合中断的影响

这种情况的后果在响应主要中断情况的自动故障转移中进行了介绍。简而言之,如果备份可以联系主的 ISCAgent,它就会接管;如果不是,结果是整个镜像中断,手动干预强制备份成为主要可能是一个合适的选择。

联合备份和仲裁中断的影响

如果备份和仲裁器同时(或几乎同时)变得不可用,则主节点将无限期地保持在故障状态,因为它假定它是孤立的,因此备份节点可能已成为主要节点。结果是整个镜像中断。当备份再次可用时,它会联系主服务器,然后主服务器恢复作为主服务器运行。或者,可以通过手动干预强制恢复主节点。如果备份和仲裁程序依次失败,则在备份中断的影响中描述的短暂暂停之后,主要继续作为主要运行,因为它知道备份不可能成为主要。

主要和备份联合中断的影响

这种组合的结果总是镜像完全中断。

定位仲裁器以优化镜

0
0 157
文章 姚 鑫 · 三月 26, 2023 4m read

第九章 镜像架构和规划 - 备份处于活动状态时自动进行故障转移

备份处于活动状态时自动进行故障转移

当备份处于活动状态时,如果它可以确认故障转移的第二个条件——即主服务器未作为主服务器运行并且在没有人为干预的情况下无法继续运行,则它有资格作为主服务器接管。备份可以通过以下三种方式之一执行此操作:

  • 通过接收来自主要请求它接管的通信。

这发生在主实例正常关闭期间或当主实例检测到它已挂起时。一旦主要发送此消息,它就不能再充当主要并且活动备份可以安全地接管。如果前一个主节点挂起,新的主节点会迫使它关闭。

  • 通过从仲裁器接收到它已与主节点失去联系的信息。

主要和备用 IRIS 实例与仲裁器保持持续联系,仲裁器会在与其他故障转移成员的联系中断或恢复时更新每个实例。当一个网络事件同时将主节点与备份节点和仲裁节点隔离开来时,它就会无限期地进入故障状态。因此,如果一个活动的备份失去了与主的联系,并从仲裁器得知它也失去了与主的联系,备份可以安全地接管,因为主必须要么已经失败,要么被隔离并处于故障状态,因此不能再充当主要角色。恢复连接时,如果以前的主节点挂起,新的主节点会强制关闭它。

  • 通过从主系统的 ISCAgent 接收主实例已关闭或挂起的信息。

当仲裁器不可用或未配置仲裁器时,与主实例失去联系的活动备份可以尝试联系主实例的 ISCAgent(这只有在主实例的主机系统仍在运行时才有可能)以确

0
0 142
文章 姚 鑫 · 三月 25, 2023 4m read

第八章 镜像架构和规划 - 镜像同步

镜像同步

如数据完整性指南的“日志”一章所述,日志文件包含自上次备份以来对 IRIS 实例中的数据库所做更改的时间顺序记录。在镜像中,记录对主数据库所做更改的日志数据成为对备份和异步数据库副本进行相同更改的基础。因此,镜像数据库始终记录在主数据库上,而在备份和 DR 异步上,它们始终是只读的,以防止来自其他来源的更新。通常它们在报告异步时也是只读的。

当镜像数据库上记录Global更新操作(主要是 SetKill 操作)的数据写入主数据库的日志时,日志记录将传输到其他镜像成员。一旦在备份或异步成员上收到日志记录,记录在其中的操作就会在该成员的数据库上执行。这个过程被称为dejournaling

日志记录从主服务器到备份的传输是同步的,主服务器在关键点等待备份的确认。这使故障转移成员保持紧密同步并使备份处于活动状态,如备份状态和自动故障转移中详细描述的那样。相反,异步从主服务器异步接收日志数据。因此,异步镜像成员有时可能比主成员落后一些日志记录。

注意:当 IRIS 实例成为镜像的成员时,会发生以下日志更改以支持镜像:

  • 当 IRIS 实例成为镜像中的主要故障转移成员时,会发生以下变化:
    • 日志切换被触发,以 MIRROR-mirror_name 为前缀的新日志文件,例如 MIRROR-MIR21-20180921.001。从那时起,所有
0
0 215
文章 姚 鑫 · 三月 24, 2023 2m read

第七章 镜像架构和规划 - 报告异步

报告异步

报告异步镜像成员出于数据挖掘和商业智能等目的维护所选数据库的只读或读写副本,并且不能提升为故障转移成员。一个报告异步最多可以属于 10 个镜像,允许它作为一个全面的企业范围数据仓库,将来自不同位置的相关数据库集合在一起。

连接到多个镜像的单个报告异步成员

单一故障转移镜像配置

镜像还可以由单个故障转移成员和一个或多个异步成员组成。此配置不提供高可用性,但可以解决其他需求。例如,具有单个故障转移成员、至少一个 DR 异步成员和一定数量的报告异步成员的镜像可以在支持数据收集和仓储的同时提供数据安全和灾难恢复。为了提供高可用性,故障转移成员可以位于操作系统级别的故障转移集群或其他一些高可用性配置中。

具有多个异步成员的单个故障转移成员

ISCAgent

称为 ISCAgent 的进程在每个镜像成员的主机系统上运行,为镜像成员之间提供额外的通信方式。最重要的是,ISCAgent 提供了一种方法,当两个成员之间的正常通信中断时,一个故障转移成员可以通过该方法获取有关另一个成员的信息。 ISCAgent 可以向已关闭或断开连接的镜像成员发送数据。代理还参与故障转移决策;例如,与主实例和仲裁器都失去联系的备份可以联系主实例的 ISCAgent(假设主实例的主机系统仍在运行)以确认主实例在接管之前确实已关闭。

ISCAgent 会自动随 IRIS

0
0 161
文章 姚 鑫 · 三月 23, 2023 3m read

第六章 镜像架构和规划 - 镜像组件

镜像是物理上独立的 IRIS实例的逻辑分组,同时维护生产数据库的精确副本,以便在提供对数据库的访问的实例变得不可用时,另一个实例可以接管。镜像可以通过自动故障转移提供高可用性,在自动故障转移中,提供数据库访问的 IRIS实例(或其主机系统)发生故障会导致另一个实例立即自动接管。

本章介绍镜像的组件和机制,并解释镜像规划中的问题,包括网络要求、故障切换后重定向应用程序连接以及在虚拟环境中进行镜像。

镜像组件

托管配置为镜像一部分的 IRIS 实例的系统称为镜像成员。 (IRIS 实例本身有时称为镜像成员。)镜像成员有两种类型:

  • 故障转移镜像成员
  • 异步镜像成员

两个附加组件支持从一个故障转移成员到另一个的自动故障转移:

  • ISCAgent

  • Arbiter

故障转移镜像成员

要启用自动故障转移,镜像必须包含两个故障转移成员,物理上独立的系统,每个系统托管一个 IRIS 实例。在任何给定时间,一个故障转移实例充当主要实例,为应用程序提供对镜像中数据库的访问权限,而另一个实例充当备份实例,维护这些数据库的同步副本,以备接管为主要实例。当主要的 IRIS 实例变得不可用时,备份将接管,提供对数据库的不间断访问,而没有数据丢失的风险。有关自动故障转移过程的详细信息,请参阅自动故障转移机制。

故障转移成员使用多个镜像成员网络地址通过多个通信通道相

0
0 143
文章 姚 鑫 · 三月 23, 2023 24m read

简介

什么是Query

Query是一种查询方法,用于查找满足条件的数据,将结果以数据集的形式展现出来。

Query类别

  • SQL Query,使用类 %SQLQuerySQL SELECT 语句。
  • 自定义Query,使用类 %Query 和自定义逻辑生成查询数据。

说明:在讲通用Query解决方案之前,我们先了解一下Query的基础和基础使用,有助于理解实现原理。如果读者了解Query基本使用,可跳过此章节,直接阅读“现状”。

Query基本使用

SQL Query基本使用

Query QueryPersonByName(name As %String = "") As %SQLQuery(COMPILEMODE = "IMMEDIATE", CONTAINID = 1, ROWSPEC = "id:%Integer:ID,MT_Name:%String:name,age:%String,no:%String", SELECTMODE = "RUNTIME") [ SqlName = QueryPersonByName, SqlProc ]
{
	SELECT top 10 ID, MT_Age, MT_Name, MT_No
	FROM M_T.Person
	WHERE (MT_Name %STARTSWITH :name)
	ORDER BY id
}

说明:

































请添加图片描述


0
0 321