问题 j ay · 二月 18, 2023

系统:windows 内存:64GB

环境:jdk11 代码:

       IRISConnection conn = (IRISConnection)
                DriverManager.getConnection
                        ("jdbc:IRIS://localhost:" + superserverPort + "/" + namespace, username, password);
        IRIS iris = IRIS.createIRIS(conn);


        String getLastFullBackupInfo = iris.classMethodString("Backup.General", "GetLastFullBackupInfo");
        System.out.println(getLastFullBackupInfo);
        String getAbortStatus = iris.classMethodString("Backup.General", "GetAbortStatus");
        System.out.
1
0 245
问题 Shuai Wang · 二月 15, 2023

您好,我们的客户仍在使用较旧的 cache 2016.1 版本,我们这边需要适配 python 作为 client 连接 cache 进行一些操作。 但是查阅相关文档后发现,需要自行编译安装 python 驱动。

我们手头上只有 windows 版本的 cache 安装包,但是我们python适配的环境是 linux。 所以我想找一下是否有 cache 现有的 python 安装包或者 cache linux 安装版本,我自行安装。

谢谢。

2
0 418
文章 Qiao Peng · 二月 22, 2023 12m read

面向对象编程的优势

在应用程序开发时,我们使用的大多数开发语言都是面向对象编程 object-oriented programming (OOP)语言,例如大家熟悉的Java、.NET。而TIOBE的2023年2月的最新开发语言流行排行榜上,前5大语言都是面向对象编程语言,连排名第六的Visual Basic都有了越来越多的OO特性:

为什么使用面向对象编程这么流行?因为它有诸多优势:

  • 封装:将数据和操作数据的代码封装在一个单元中,在确定范围的数据上进行编程。方便代码的开发、管理与分享。
  • 抽象:将业务数据概括为不同的对象类型,从而进行业务分组开发、简化程序。
  • 继承:一个类可以从另一个类继承它属性和行为,从而实现更大范围的代码复用。
  • 多态:多个对象可以创建自一个类,且可以有不同的行为。一段灵活的代码能实现多种形态的业务,它进一步降低了代码开发量和调用难度。

而这4个优势正是面向对象编程的核心特征。

 

关系型数据库的对象/关系错配

虽然面向对象编程是绝对的主流,但数据通常被保存到关系型数据库中。关系型数据库的行和列二维关系与复杂的对象并不匹配:

  • 面向对象的核心特性:封装、抽象、继承、多态,关系数据库都无法直接支持。
  • 对象可以表达复杂的多维度、多类型的数据集,关系性数据库只能表达二维(行和列)、简单类型的数据集。
0
0 700
文章 Lele Yang · 二月 21, 2023 4m read

** 2018 年 2 月 12 日修订

虽然本文是关于 InterSystems IRIS 的,但它也适用于 Caché、Ensemble 和 HealthShare 发行版。

介绍

内存以页为单位进行管理。 Linux 系统上的默认页面大小为 4KB。 Red Hat Enterprise Linux 6、SUSE Linux Enterprise Server 11 和 Oracle Linux 6 引入了一种根据系统配置提供 2MB 或 1GB 大小的增加页面大小的方法,称为 HugePages。

起初 HugePages 需要在启动时分配,如果管理或计算不当可能会导致资源浪费。因此,各种 Linux 发行版引入了默认启用 2.6.38 内核的Transparent HugePages。这是一种自动创建、管理和使用 HugePages 的方法。以前的内核版本也可能具有此功能,但可能未标记为 [always] 而是设置为 [madvise]。

Transparent Huge Pages (THP) 是一种 Linux 内存管理系统,它通过使用更大的内存页面来减少在具有大量内存的机器上进行Translation Lookaside Buffer (TLB) 查找的开销。然而,在当前的 Linux 版本中,THP 只能映射单个进程的堆栈空间。

0
0 239
文章 Claire Zheng · 二月 21, 2023 1m read

速度、规模和安全性是我们真正热衷的领域,这也正是优秀的E级方程式赛车手所追求的。在InterSystems 2022年全球峰会上,InterSystems 数据平台产品管理总监Jeffery Fried 及其团队分享了InterSystems IRIS数据平台的新功能与产品规划。基于InterSystems IRIS数据平台,我们为用户构建优秀的“赛车”,内置的一系列非凡功能和高效周全的“维修技师”,确保“赛车手”能够在竞争激烈的赛道中心无旁骛地飞速向前!

0
0 265
文章 Tete Zhang · 二月 20, 2023 11m read

开发者您好!

这里向介绍@Lorenzo ScaleseOpenAPI-Suite (一个用于从OpenAPI 3.0生成 ObjectScript 代码的工具集)。这个工具集在 2023 年 InterSystems 开发工具大赛的21 个参赛作品中获得专家提名第三名

目前 IRIS 最高支持OpenAPI 2.0 ,但是这个工具支持 OpenAPI 3.0

提供的功能如下。

  1. 在服务器端创建类(与 OpenAPI 2.0相同,首先创建使用 API First理念创建的 REST 调度类所需的类。)
  2. 创建客户端 HTTP 类
  3. 创建客户端Production(业务服务、业务流程、业务操作、Ens.Request、Ens.Response)
  4. 一个 Web 界面,允许您指定要从此工具生成哪些功能
  5. 从 OpenAPI 1.x、2.x 到 3.0 版的转换工具

关于各个功能的详细介绍,请参考@Lorenzo Scales撰写的文章《 OpenAPI Suite - Part 1 》和《 OpenAPI Suite - Part 2 》。

在本文中,我尝试了 1 个功能。其中,以下的应对方案非常好。

  1. 根据OpenAPI 3.
0
1 423
文章 Hao Ma · 二月 16, 2023 9m read

A "big" or a "little" ask for ChatGPT?


几周前我尝试了 OpenAI GPT 的编码模型,看看它是否可以在医疗保健系统之间进行一些消息转换。它肯定可以,在相当大的程度上。
已经将近 3 周了,对于 ChatGPT 来说是很长很长的时间,所以我想知道它现在成长得有多快,以及它是否可以为我们做一些集成工程师的工作,例如它是否可以创建一个 InterSystems COS DTL将 HL7 转换为 FHIR 信息?

在不到一两分钟的时间内,我立即得到了一些答案。


测试

首先我想测试一下我是在和它背后的正确“人”说话


问题一:如何将HL7 V2.4报文转为FHIR STU3?


ChatGPT

将 HL7 V2.4 消息转换为 FHIR STU3 涉及多个步骤,因为这两个标准具有不同的数据模型和结构。以下是该过程的高级概述:

  1. 识别 HL7 消息中需要映射到 FHIR 资源的相关数据元素。这将取决于具体用例和交换的数据。
  2. 为每个数据元素定义映射规则。这涉及识别对应于 HL7 数据元素的等效 FHIR 资源和元素,以及任何必要的转换或翻译。
  3. 编写一个程序或脚本,可以从 HL7 消息中提取数据,应用映射规则,并创建相应的 FHIR 资源。这可能涉及使用正则表达式、解析库和 FHIR 资源创建库的组合。
2
0 406
文章 Michael Lei · 二月 19, 2023 1m read

各位开发者,大家好!

对我来说,关于 ObjectScript 的最痛苦的一件事是输入 ##class(Class).Method() 以在代码或终端中调用类方法。 为解决这个问题, 我甚至提出了一个在 ObjectScript 中简化它的想法

但是 VSCode ObjectScript中有一个刚刚引入到插件中的新功能 – 复制调用Copy Invocation!

只需将 **Copy Invocation**(复制调用)链接悬停在代码中的每个类方法上方,点击它,该调用就会被复制到缓冲区:

将其粘贴到想要执行的任何位置!!

USER>w ##class(dc.sample.ObjectScript).Test()

就到这儿!

这里是显示其运作方式的[视频]。

非常感谢 VSCode 贡献者

祝您编程愉快!

0
0 418
公告 Tete Zhang · 二月 16, 2023

InterSystems 产品支持的平台 - 版本更新 (2023 年 2 月

我们经常收到有关 InterSystems IRIS 数据平台支持的平台和框架的问题。此更新旨在分享最近的更改以及我们对即将发生的更改的当前决策。(预测未来是一项棘手的工作,不应将此视为我们对未来支持平台和框架的承诺。)

我们计划大约每 3 个月发布一次此类更新,然后在一年内重新评估。如果您觉得此更新有用,请告诉我们!我们很感激您的建议。

关于更新……

IRIS 生产操作系统和 CPU 架构

红帽企业版 Linux

  • 近期变动
    • IRIS 2022.1.2 添加了对RHEL 9.0的支持。 9.0 是一个操作系统主版本,将 Linux 内核更新到 5.14,将 OpenSSL 更新到 3.0, 将 Python 更新到 3.9
    • IRIS 2022.2.0 移除了对 RHEL 7.x 的支持。 IRIS 的早期版本仍支持 RHEL 7.9。
  • 即将发生的变化
    • RHEL 9.1 于 2022 年 11 月发布。Red Hat 仅在 RHEL 9.2 发布之前支持此次版本。
    • RHEL 9.2 计划于 2023 年第二季度末发布。 Red Hat 计划在未来4年内继续支持 9.2。 InterSystems 计划通过一项我们称为“操作系统次版本认证”的新流程,对 RHEL 9.
0
0 235
公告 Michael Lei · 二月 13, 2023

Hi 开发者们,

我们非常高兴地向大家宣布此次InterSystems 开发者竞赛(Tool)的获奖者!

首先,我们要感谢提交了21 份申请的 优秀参与者们 🔥

我们很高兴知道您认为这个主题很重要!

事不宜迟,我们在此公布此次竞赛的获胜者是……

1
0 203
文章 Michael Lei · 二月 13, 2023 3m read

在 InterSystems IRIS 2022.2 中,我们引入了列存储作为持久化 IRIS SQL 表的新选项,可以将您的分析查询性能提高一个数量级。该功能在 2022.2 和 2022.3 中标记为实验性,但将在即将发布的 2023.1 版本中“升级”为完全支持的生产能力。

产品文档和这个介绍性视频已经描述了行存储(仍然是 IRIS 上的默认设置并在我们的整个客户群中使用)与列表存储之间的区别,并提供了有关为您的用例选择合适的存储布局的高级指导。在本文中,我们将详细阐述这个主题,并根据行业实践建模原则、内部测试和抢先体验计划参与者的反馈分享一些建议。

0
0 170
文章 Hao Ma · 二月 9, 2023 1m read

大家好。


Chat GPT 是最近的热门话题,但我尝试使用它(尽管可能为时已晚)。

您似乎了解 ObjectScript yes

这就是为什么,

当被问到时,

哇哦! ObjectScript 程序及其描述回来了! !

你可以编程这个cheeky

1
0 329
文章 Claire Zheng · 二月 13, 2023 1m read

在InterSystems 2022年全球峰会上,InterSystems 创始人兼 CEO Terry Ragon 分享了如何才能使企业获得持续发展。他是“愿景领导公司”的坚定信徒,他认为,愿景、热情与专注对于推动业务发展、保持企业创新活力至关重要。InterSystems 的愿景是:我们是一家提供创新数据技术服务的公司,对卓越和客户成功充满激情。

0
0 248
文章 姚 鑫 · 二月 12, 2023 2m read

第七十四章 使用 irisstat 实用程序监控 IRIS - 查看 irisstat 输出

查看 irisstat 输出

可以立即查看 irisstat 数据(通过终端)或重定向到输出文件以供以后分析。查看数据的最常见方法是:

注意:当 IRIS 被强制关闭时,irisstat 会运行以捕获系统的当前状态。作为紧急关闭程序的一部分,输出被添加到消息日志中。

irisstat 文本文件

irisstat 报告可以重定向到文件而不是终端,如果想收集一组 IRIS 工具(诊断报告任务、IRISHung 脚本、^SystemPerformance 实用程序)未提供的一组 irisstat 选项,这可能很有用或者如果在运行这些工具时遇到问题。

诊断报告任务

诊断报告任务会创建一个包含基本信息和高级信息的 HTML 日志文件,InterSystems 全球响应中心 (WRC) 可以使用该文件来解决系统问题。

注意:诊断报告任务不能在挂起的系统上运行;如果系统挂起,请参阅本附录中的 IRISHung 脚本。

IRISHung 脚本

IRISHung 脚本是一个操作系统工具,用于在 IRIS 实例挂起时收集系统数据。位于 install-dir\bin 目录中的脚本名称是特定于平台的,如下表中指定:

Platform Script name
Microsoft Windows IRISHung.
0
0 224
文章 姚 鑫 · 二月 11, 2023 7m read

第七十三章 使用 irisstat 实用程序监控 IRIS - 使用选项运行 irisstat

使用选项运行 irisstat

不带选项运行 irisstat 会生成基本报告。通常,运行 irisstat 以获得特定信息。要指定目标信息,可以包括或排除如下选项:

  • 要包含(打开)一个选项,请指定一个标志,后跟一个 1(或其他级别)。
  • 要排除(关闭)一个选项,请指定一个标志后跟一个 0

例如,要在 irisstat 报告中包含全局文件表 (GFILETA) 部分,请使用 -m1 选项:

C:\iris-install-dir\Bin\irisstat -m1

或者,要关闭默认的基本选项,请使用 -a0 选项:

C:\iris-install-dir\bin\irisstat -a0

许多选项具有比 01 更详细的级别。这些附加级别被描述为具有“位”,它们以十进制显示为 2 的幂,并控制有关选项的特定类型的信息。例如,显示 PID 表的基本 -p 选项用 1 打开;但是,使用 2 添加 swcheck 列,使用 4 添加 pstate 列。等等。这些位可以组合;例如,如果要查看 2 位和 4 位显示的信息,请指定 -p6。要请求所有位,请使用 -1,如下所示:

bash-3.00$ ./irisstat -p-1

此外,可以在单个 irisstat 命令中组合多个标志。

0
0 170
文章 姚 鑫 · 二月 9, 2023 5m read

第七十一章 使用 REST API 监控 IRIS - 活动量指标

活动量指标

  • iris_interop_avg_processing_time {id="namespace",hosttype="HostType",host="host",production="production",messagetype="MessageType"} - 在生产和命名空间中处理指定 MessageType 的消息所需的平均时间长度(以秒为单位)。 HostType 可以是服务、操作或参与者(即进程)。 MessageType 是用户定义的;如果未指定 MessageType,则返回“-”。如果输出已配置为包括主机标签,则单独提供每个主机的消息处理时间。
  • iris_interop_avg_queueing_time {id="namespace",hosttype="HostType",host="host",production="production",messagetype="MessageType"} - 指定 MessageType 的消息在生产和命名空间中由 HostType 的主机处理时在队列中花费的平均持续时间(以秒为单位)。 HostType 可以是服务、操作或参与者(即进程)。 MessageType 是用户定义的;如果未指定 MessageType,则返回“-”。
0
0 154
文章 Jingwei Wang · 十一月 29, 2022 3m read

在Windows配置DSN

  1. 确认InterSystems ODBC客户端驱动已安装
    • InterSystems IRIS ODBC驱动会随着InterSystems IRIS安装包默认安装。
    • 如果没有随着InterSystems IRIS安装,请由此下载驱动,下载后执行.exe文件进行安装。
  2. 定义DSN(Data Source Names)
    • 打开Administrative Tools
    • 打开ODBC Data Sources Administrator(32-bit 或者 64-bit)
    • 选择‘System DSN’,点击右边 ‘Add’,弹出‘Create New Data Source’窗口。
    • 选择一个InterSystems IRIS 安装版本的ODBC驱动,点击‘Finish’
    • 如下图所示,输入驱动名称,IP地址,端口号(使用超级服务端口号),命名空间,用户名和密码。 
    • 然后点击 'Test Connection' 进行连接测试

     

在Linux配置DSN

  1. 确认InterSystems ODBC客户端驱动已安装
    • InterSystems IRIS ODBC驱动会随着InterSystems IRIS安装包默认安装。
3
0 681
文章 Duan Haihua · 二月 8, 2023 1m read

示例:在Caché的代码中执行shell命令“free -m |grep -i mem”

方法一:使用%Net.Remote.Utility类中的RunCommandViaZF方法

Set tSC = ##class(%Net.Remote.Utility).RunCommandViaZF("free -m |grep -i mem",.tTempFileName,,,0)

set file=##class(%FileCharacterStream).%New()
s file.Filename=tTempFileName

获得文件流后,再读取文件流中内容即可。

此方法本质是执行$ZF(-1)方法,由于$ZF(-1)在ENSEBLE2016.2后续的版本中不支持,导致后续版本可能会报错。

方法二:使用$ZF(-100)方法

s cmd="free"
s tTempFileName=##class(%File).GetDirectory()_"output.txt"
s errfile=##class(%File).GetDirectory()_"err.
0
0 219
公告 Michael Lei · 二月 8, 2023

InterSystems 宣布其首个开发人员预览版,作为2023.1 版开发人员预览计划的一部分。 2023.1 中添加了许多更新和增强功能,还有全新的功能,例如对列存储Columnar Storage 的生产就绪支持、使用Bulk FHIR 的能力以及对MacOS 13 Ventura的支持。当前的开发人员预览版可能不提供其中一些功能或改进。

未来的预览版本预计每两周更新一次,我们将在功能准备就绪时添加它们。请通过开发者社区分享您的反馈,以便我们共同打造更好的产品。

可以在下面的这些链接中找到初始文档。它们将在接下来的几周内更新,直到正式宣布发布(一般可用性 - GA):

此外,查看此链接以获取与此版本相关的升级信息。

与往常一样,扩展维护 (EM) 版本附带适用于所有受支持平台的经典安装包,以及 Docker 容器格式的容器映像。有关完整列表,请参阅支持的平台文档

安装包和预览密钥可从 WRC 的预览下载站点或通过评估服务网站获得(使用标记“显示预览软件”以访问 2023.1)。

0
0 220
文章 姚 鑫 · 二月 8, 2023 3m read

 

# 第七十章 使用 REST API 监控 IRIS - 互操作性指标

除了上一节中描述的指标外, IRIS 实例还可以记录有关活动互操作性产品的指标,并将它们包含在 `/metrics` 端点的输出中。默认情况下禁用这些互操作性指标的记录。要启用它,必须为要监控的每个互操作性产品执行以下步骤:

1. 为运行要监控的生产的 `IRIS` 实例打开一个终端会话。如有必要,通过执行以下命令切换到与生产关联的命名空间:

```
set $namespace = "[interopNS]"
```
其中 `[interopNS]` 是命名空间名称。

2. 在终端中,执行以下命令以启用当前命名空间内活动生产的指标收集(`SAM` 指的是系统警报和监控, 监控解决方案):

```
do ##class(Ens.Util.Statistics).EnableSAMForNamespace()
```

注意:如果为命名空间启用了指标记录但相应的生产未激活,则 `/metrics` 端点不会返回任何指标。

`Ens.Util.Statistics` 类提供了自定义 `/metrics` 端点输出的方法。例如,调用方法 `DisableSAMIncludeHostLabel` 将为整个生产提供聚合指标,而不是为每个主机单独提供它们。

完成此步骤后可用的指标在下面的基本互操作性指标表中进行了描述。

3.

0
0 170