文章
· 二月 3, 2023 阅读大约需 5 分钟
PerfTools IO 测试套件

目的

这两个工具(RanRead 和 RanWrite)用于在数据库(或一对数据库)内生成随机读写事件,以测试每秒输入/输出的操作数 (IOPS)。它们可以一起使用或分开单独使用,以测试 IO 硬件容量、验证目标 IOPS 并确保系统拥有可接受的磁盘响应时间。从 IO 测试中收集的结果将因配置而异,具体取决于 IO 子系统。在运行这些测试之前,请确保相应的操作系统监控和存储级别监控已配置,这些捕获的 IO 性能指标可以为以后的分析提供帮助。我们推荐使用 IRIS 中捆绑的系统性能工具,例如^SystemPerformance。

请注意,这里使用的工具是对先前版本的更新。之前的版本可在这里找到。

1 0
0 188
文章
· 七月 16, 2023 阅读大约需 13 分钟
一篇文章了解`IRIS/Caché`编码方案

一篇文章了解IRIS/Caché编码方案

一直以来,编码问题像幽灵一般,不少开发人员都受过它的困扰。

试想你请求一个数据,却得到一堆乱码,丈二和尚摸不着头脑。有同事质疑你的数据是乱码,虽然你很确定传了UTF-8 ,却也无法自证清白,更别说帮同事 debug 了。

有时,靠着百度和一手瞎调的手艺,乱码也能解决。尽管如此,还是很羡慕那些骨灰级程序员。为什么他们每次都能犀利地指出问题,并快速修复呢?原因在于,他们早就把编码问题背后的各种来龙去脉搞清楚了。

ASCII

标准ASCII 码,使用7 位二进制数(最高位为0)来表示所有的大写和小写字母,数字09、半角标点符号,以及在英语中使用的特殊控制符号。

1 0
0 400
文章
· 九月 7, 2022 阅读大约需 2 分钟
第二十五章 使用任务管理器(三)

第二十五章 使用任务管理器(三)

任务计划

任务计划页面(系统操作 > 任务管理器 > 任务计划)列出了所有计划任务。可以通过单击任何列标题对表中的信息进行排序。可以通过单击适当的选项查看详细信息或历史记录以及运行计划任务:

  • 任务名称 — 让查看有关任务的详细信息并对其执行操作。
  • 历史 — 显示任务的历史。
  • 运行 — 让运行任务。运行任务向导显示任务名称和 ID,以及任务运行的日期和时间;单击立即执行操作以确认信息并安排任务。

任务详情

要显示有关计划任务的详细信息并对其执行多项操作之一,请单击任务名称列中的任务名称。任务详细信息页面显示有关所选任务的信息和执行详细信息。可以通过单击相应的按钮对任务执行以下操作之一:

1 0
0 89
文章
· 十月 10, 2022 阅读大约需 3 分钟
第十二章 CSP 中的 HTTP 请求 - CSP 运行时环境

第十二章 CSP 中的 HTTP 请求 - CSP 运行时环境

CSP 的主要任务是提供动态内容以响应传入的 HTTP(超文本传输协议)请求。本节介绍 CSP 如何处理 HTTP 请求的基础知识。

HTTP 是一种简单的协议,其中客户端向服务器发出请求。 HTTP 是一种无状态协议;客户端和服务器之间的连接只持续为服务请求所需的时间。每个 HTTP 请求都包含一个请求标头,该标头指定请求类型(例如 GETPOST)、一个 URL 和一个版本号。请求还可能包含附加信息。 CSP 自动确定它应该处理哪些 HTTP 请求,将它们分派到运行在 Caché 服务器上的适当类,并将请求信息打包成易于使用的对象(例如对象中的 %CSP.Request)。

1 0
0 112

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

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

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

1 0
0 185
文章
· 九月 8, 2022 阅读大约需 2 分钟
第二十六章 使用任务管理器(四)

第二十六章 使用任务管理器(四)

导入任务

导入任务页面(系统操作 > 任务管理器 > 导入任务)允许通过浏览到先前导出的任务文件,然后单击立即执行操作来导入和运行任务。

注意:任务只能从运行相同版本的 IRIS 的实例导入或导出。

使用 ^TASKMGR

^TASKMGR 例程允许使用终端配置任务管理器。除非另有说明,^TASKMGR 和管理门户包含用于配置任务的相同选。

  1. 打开终端。
  2. 输入 set $namespace = "%SYS" 以更改为 %SYS 命名空间。
  3. 输入do ^TASKMGR

具体类 %SYS.Task

image

1 0
0 83
文章
· 九月 21, 2022 阅读大约需 3 分钟
第三十九章 连接到远程服务器(一)

第三十九章 连接到远程服务器(一)

可以从 Telnet 会话、WindowsIRIS® 启动器上的远程系统访问子菜单或从 Web 服务器和实例信息生成的 URI 控制远程实例。

要为远程实例使用远程系统访问子菜单上的实用程序:
1. 定义远程服务器连接以将服务器添加到首选服务器列表。
2. 单击 IRIS 启动器并指向远程系统访问。
3. 指向启动器实用程序,然后单击服务器名称。

还可以从 Telnet 会话连接到 IRIS 的远程实例:

  1. 单击 IRIS 启动器并指向远程系统访问。

  2. 单击 IRIS Telnet,连接到远程服务器,并使用用户名和密码登录 IRIS 系统。或者,如果服务器在首选服务器列表中,请指向终端,然后单击服务器名称。

1 0
0 140
文章
· 七月 31, 2023 阅读大约需 2 分钟
ChatGPT 与 InterSystems FHIR SQL 数据库构建器

FHIR® SQL Builder或 Builder 是 InterSystems IRIS 医疗版数据平台 的一个组件。它是一种复杂的投射工具,用于将 InterSystems IRIS 医疗版数据平台FHIR 存储库中的数据创建为自定义的 SQL 模式,而无需将数据移动到单独的 SQL 存储库中。 Builder 专门设计用于与 InterSystems IRIS 医疗版数据平台中的 FHIR 存储库和多模型数据库配合使用。

1 0
0 204

在医院信息化领域,中日联谊医院最近一次站在行业瞩目的聚光灯下,是在2021年7月。在国家卫生健康委统计信息中心发布的《关于2020年度国家医疗健康信息互联互通标准化成熟度测评结果公示的通知》中,9家医院获评五级乙等,中日联谊医院名列其中。这也是目前为数不多的“通关”互联互通五乙的医院之一。

1 0
0 227
文章
· 九月 10, 2022 阅读大约需 4 分钟
第二十八章 管理许可(一)

[toc]

第二十八章 管理许可(一)

配置许可

每个 IRIS 实例维护其许可证容量和当前使用的独立本地视图,并且每个实例都需要访问许可证密钥。可以在每个实例上安装和激活本地许可证密钥文件。或者,如果要管理多个实例,可以配置许可证服务器来管理存储在中央位置的密钥文件,然后它可以将其分发到其他实例。在这种情况下,必须为每个实例配置密钥文件的 LicenseID,以便它可以在启动时检索密钥的副本。

多服务器许可证可以在同一台机器或不同机器上的协作实例之间共享。仅允许使用多服务器密钥进行共享。要使用多服务器许可,必须配置一个或多个 IRIS 许可服务器来分配密钥授权的 IRIS 许可单元。共享密钥的所有实例都必须配置为使用相同的许可证服务器或一组许可证服务器。许可服务器可以在运行 IRIS 实例的任何计算机上运行。监控进程向许可服务器发送更新消息,当多个实例共享一个许可时,许可服务器协调许可分配。

1 0
0 84
文章
· 九月 22, 2022 阅读大约需 2 分钟
第四十章 连接到远程服务器(二)

第四十章 连接到远程服务器(二)

使用可选的服务器字段

网络服务器 IP 地址 Web Server IP Address

如果计划使用与正在管理的 IRIS 实例不同的机器上存在的 Web 服务器,请在此字段中输入 Web 服务器机器的 IP 地址。如果未指定,则默认为 IP 地址。

CSP Server Instance

如果正在配置一个 Web 服务器以连接到多个 IRIS 实例,请在 CSP 服务器实例字段中输入要连接的 IRIS 实例名称。

1 0
0 103
文章
· 十一月 1, 2022 阅读大约需 4 分钟
Caché实现SM3密码杂凑算法

0. 算法概述

SM3密码杂凑算法是中国国家密码管理局2010年公布的中国商用密码杂凑算法标准。该算法于2012年发布为密码行业标准(GM/T 0004-2012),2016年发布为国家密码杂凑算法标准(GB/T 32905-2016)。

SM3适用于商用密码应用中的数字签名和验证,是在[SHA-256]基础上改进实现的一种算法,其安全性和SHA-256相当。SM3和MD5的迭代过程类似,也采用Merkle-Damgard结构。消息分组长度为512位,摘要值长度为256位。

整个算法的执行过程可以概括成四个步骤:消息填充、消息扩展、迭代压缩、输出结果

1. 消息填充

SM3的消息扩展步骤是以512位的数据分组作为输入的。因此,我们需要在一开始就把数据长度填充至512位的倍数。具体步骤如下:

1、先填充一个“1”,后面加上k个“0”。其中k是满足(n+1+k) mod 512 = 448的最小正整数。

2、追加64位的数据长度。

1 2
0 388
文章
· 一月 19, 2023 阅读大约需 10 分钟
请求和接收测试结果(HL7v2的消息OML、ORL和ORU)

在上一篇文章中,我们看到了最常用的HL7消息类型之一--ADT(入院、出院、转院)的结构,以及ADT^A04的例子和它所有字段的描述。现在让我们来看看另一个数据流,它与测试订单的订购和履行有关。我说的是ORM(从2.5版本开始,你应该使用特定的消息来订购测试,如OMG、OML、OMD、OMS、OMN、OMI和OMP),ORL和ORU消息。在一个非常简化的情况下,数据的交换可能看起来像这样。

让我们更详细地看一下这些消息。

1 0
0 705
文章
· 二月 21, 2023 阅读大约需 4 分钟
Linux Transparent HugePages 及其对 InterSystems IRIS 的影响

** 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 只能映射单个进程的堆栈空间。

1 0
0 140
文章
· 三月 1, 2021 阅读大约需 7 分钟
第二章 InterSystems SQL基础

第二章 InterSystems SQL基础

本章概述了InterSystems SQL的特性,特别是那些SQL标准未涵盖的特性,或者与InterSystems IRIS®数据平台统一数据架构相关的特性。
本教程假定读者具备SQL知识,并不是为介绍SQL概念或语法而设计的。

本章讨论以下主题:
- 表
- 查询
- 权限
- 数据显示选项
- 数据排序类型
- 执行SQL

在InterSystems SQL中,数据显示在表中。每个表都包含许多列。一个表可以包含零个或多个数据值行。以下术语大体上等效:

1 2
0 195
文章
· 一月 26, 2022 阅读大约需 2 分钟
第三十五章 SQL函数 CURRENT_DATE

第三十五章 SQL函数 CURRENT_DATE

日期/时间函数,返回当前本地日期。

大纲

CURRENT_DATE

描述

CURRENT_DATE不带任何参数。它将当前本地日期作为数据类型DATE返回。不允许使用参数括号。CURRENT_DATE返回此时区的当前本地日期;它根据本地时间变量(如夏令时)进行调整。

在逻辑模式下CURRENT_DATE$HOROLOG格式返回当前本地日期;
例如,64701
显示模式下的CURRENT_DATE以区域设置的默认格式返回当前本地日期。
例如,在美国的区域设置为02/22/2018,在欧洲的区域设置为22/02/2018,在俄罗斯的区域设置为22.02.2018

1 0
0 275
文章
· 四月 11, 2022 阅读大约需 8 分钟
InterSystems 数据平台与三级等保 - 第一篇

数据平台不仅要安全,还要合规,三级等保是我们要符合的主要安全规范。InterSystems的数据平台和集成平台产品都和三级等保有关。如果没有正确配置它们的安全选项,就会影响到整个系统的安全,影响到合规性。

在生产环境上,如何配置安全的InterSystems的数据平台,并达到三级等保的要求?

这个系列文章,针对InterSystems 数据平台的安全架构,围绕对三级等保的合规性展开,介绍如何配置出一个安全、合规的数据平台。

1 0
2 630
文章
· 九月 11, 2022 阅读大约需 5 分钟
第二十九章 管理许可(二)

第二十九章 管理许可(二)

激活许可证密钥

IRIS 使用许可证密钥来确保其注册站点的正常运行、定义可用容量并控制对 IRIS 功能的访问。 许可证密钥以许可证密钥文件的形式提供,通常命名为 iris.key

安装 IRIS 后,使用以下程序激活许可证密钥。始终可以使用相同的过程为任何已安装的实例激活新的许可证密钥(即升级密钥)。可以激活放置在管理门户可访问的任何位置的许可证密钥;作为激活的一部分,许可证密钥将作为 iris.key 复制到实例的 install-dir/mgr 目录(如果尚未命名)。

注意:也可以在 Windows 安装期间选择许可证密钥。执行此操作时,许可证会自动激活,并且许可证密钥会作为 iris.key 复制到实例的 install-dir/mgr 目录中;不需要此处描述的激活过程。

本节还讨论了许可证故障排除和在所有许可证单元都在使用时从操作系统命令行升级许可证。

要激活许可证密钥,请使用以下过程:

1 0
0 186
文章
· 九月 23, 2022 阅读大约需 1 分钟
HTTPS 客户端

1、使用HTTPS前,需要在系统 > 安全管理 > SSL/TLS 配置 添加客户端的凭据

2、代码

1 0
0 158
文章
· 十月 1, 2022 阅读大约需 2 分钟
第三章 Caché 服务器页面简介 - 通过 cls 创建 csp 页面

第三章 Caché 服务器页面简介 - 通过 cls 创建 csp 页面

创建第一个 CSP 页面

本节介绍如何以两种不同的方式创建 Hello, World CSP 页面:

创建基于类的 CSP 页面

通过创建 %CSP.Page 的子类并覆盖其 OnPage 方法来创建 CSP 页面。通过此方法写入主设备的任何输出都会自动发送到 Web 浏览器并显示为网页。

1 0
0 104
文章
· 四月 8, 2021 阅读大约需 8 分钟
第二十章 用户、角色和权限

第二十章 用户、角色和权限

InterSystems IRIS®具有系统级安全性,以及一组与sql相关的额外安全性特性。
在数据库级保护之外,InterSystems SQL安全性提供了额外级别的安全功能。
SQL和系统级安全性之间的一些关键区别是:
- SQL保护比系统级保护更细粒度。可以为表、视图和存储过程定义特权。
- SQL权限既可以授予用户,也可以授予角色。
系统级权限只分配给角色。
- 持有SQL特权会隐式授予执行SQL操作所需的任何相关系统特权。
(相反,系统级特权并不意味着表级特权。)

InterSystems SQL在InterSystems IRIS数据平台上对ODBC、JDBC、Dynamic SQL和SQL Shell接口进行权限检查。
嵌入式SQL语句不执行特权检查;
假定使用嵌入式SQL的应用程序在使用嵌入式SQL语句之前会检查特权。

SQL权限和系统权限

要通过特定于SQL的机制操作表或其他SQL实体,用户必须具有适当的SQL权限。
系统级权限不足。
用户可以直接被授予SQL权限,也可以属于具有SQL权限的角色。

1 1
0 407
文章
· 八月 30, 2021 阅读大约需 12 分钟
Caché百讲,前言,Caché 简介,初识M程序,语法规则

第0讲 前言

自我介绍

大家好,我简单的自我介绍一下,我是姚鑫,

为什么开这次的课程

首先Caché,M这门技术相对比较冷门,资料方面都是英文,没有系统的相关资料,记得刚入职时学习的东西都是很基础的,稍微有一些复杂的结构变化,就不知道如何下手。之后,群里的小伙伴总有人问我,希望我出一个系统的Caché视频,这件事我也酝酿了很久,目的就是帮助到更多的同学,让每个小伙伴在日后的工作学习中能更加的得心应手。遇到困难或问题时,大家可以随时在群里咨询,群里的氛围很和谐,有很多热心的大佬,不会说有那种自己觉得简单的问题,不好意思问,没人回答的情况。只要你觉得是个问题就可以发出来。

因为这段时间比较忙,准备的比较仓促,可能有一些内容会有遗漏,大家有啥想法可以群里留言,会后可以答疑,大家可以提出来,一起探讨一下,后续的会准备的更加充分一些。

1 0
1 398
文章
· 九月 12, 2022 阅读大约需 3 分钟
第三十章 管理许可(三)

第三十章 管理许可(三)

确定许可证容量和使用情况

如何知道已使用了多少许可证以及由谁使用?类中的 %SYSTEM.License 提供了到 IRIS 许可证应用程序编程接口 (API) 的接口,并提供了许多方法和相关查询,可以使用这些方法和相关查询来查询许可证容量和当前使用情况。

可以使用 %Library.%ResultSet 类的 RunQuery 方法运行多个许可查询。例如:

USER>do ##class(%ResultSet).RunQuery("%SYSTEM.License","Summary")

LicenseUnitUse:Local:Distributed:
当前使用的软件许可单元 :2:2:
使用的最大软件许可单元数 :3:2:
授权的软件许可单元 :25:25:
当前连接 :2:2:
最大连接数 :6:6:

可以从管理门户的许可证使用页面(系统操作 > 许可证使用)查看这些查询的输出,详细信息如下表所示:

1 1
0 166
文章
· 十月 13, 2022 阅读大约需 2 分钟
第十五章 CSP 中的 HTTP 请求 - 处理 CSP 错误

第十五章 CSP 中的 HTTP 请求 - 处理 CSP 错误

处理 CSP 错误

%CSP.Error是默认的 CSP 错误页面。将其用作创建的任何错误页面的超类。可以使用 %CSP.Error中提供的功能从错误中提取信息。

在授予许可证之前处理 CSP 错误

如果已经有一个现有会话并且用户尝试转到一个未找到的页面,CSP 将显示标准错误页面,因为该会话已经有一个许可证。

如果 CSP 应用程序还没有许可证,并且发生以下任何错误,则 CSP 默认显示标准 Web HTTP/1.1 404 Page Not Found 错误消息。可以通过在错误页面(通常是 %CSP.Error的子类)上为应用程序设置以下参数来更改在授予许可之前遇到错误时显示的页面。

LICENSEERRORPAGE

如果生成以下错误,CSP 会查看 LICENSEERRORPAGE 参数的值:

1 0
0 174
文章
· 十一月 10, 2022 阅读大约需 6 分钟
Caché 字符编码自动判断

Caché 字符编码自动判断

先说几个场景:

  1. 使用文件字符流打开一个文本文档,但是我不确定是以UTF8编码的还是GB18030,所以就无法准确设置TranslateTable,就导致了中文乱码问题。
  2. 有一个文件下载的csp,其中文件名参数可能是中文,如果在一个UTF8编码的界面直接调用时,后台取到的文件名就会是乱码。
  3. 接收到字节流后需要转成字符流读取内容,但是无法确定编码格式,就无法准确的转成字符。

以上几个场景虽然大多都可以提前做好约定解决,但是可能有历史原因或者种种情况,需要我们自己能够解决,于是就有了下面的故事。

基础

首先我方系统使用GB18030编码,然后碰到的情况大多都是对方可能是UTF8编码,所以主要来解决识别字节流是不是UTF8编码的。

然后查了一个UTF8编码格式

1 0
0 333
文章
· 三月 4, 2021 阅读大约需 11 分钟
第三章 SQL语言元素(二)

第三章 SQL语言元素(二)

算术运算符和函数

InterSystems SQL支持以下算术运算符:

  • + 加法操作符。
    例如,17+7 = 24

  • 减法运算符。
    例如,17-7等于10
    注意,这些字符中的一对是InterSystems SQL注释指示器。
    因此,要指定两个或多个减法操作符或负号,必须使用空格或圆括号。
    例如,17- -7或17-(-7)等于24

1 5
0 228