各位开发者社区的同学们,大家好!

我们的🏆InterSystems开发者社区中文版首届技术征文大赛🏆(点击链接进入参赛页面,浏览所有参赛文章)已经结束,此次大赛收到了来自20名参赛者的30篇参赛文章,感谢大家的积极参与!

以下是获奖名单!

0 0
0 153
InterSystems 开发者社区汇聚了 17,943 位出色的开发者
InterSystems IRIS 程序员可以在这里学习、分享、了解最新动态、成长,以及收获快乐!
文章
· 十一月 10, 2022 阅读大约需 6 分钟
Caché 字符编码自动判断

Caché 字符编码自动判断

先说几个场景:

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

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

基础

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

然后查了一个UTF8编码格式

1 0
0 211
文章
· 十二月 7, 2022 阅读大约需 11 分钟
ECP 与 Docker

大家好!

这是关于使用 Docker 初始化 IRIS 实例的系列文章中的第三篇。 这次,我们将关注企业缓存协议(Enterprise Cache Protocol,ECP)。

ECP 允许以一种非常简单的方式将某些 IRIS 实例配置为应用程序服务器,将其他实例配置为数据服务器。 有关详细的技术信息,请参阅官方文档。

本文旨在介绍:

  • 如何编写数据服务器的初始化脚本,以及如何编写一个或多个应用程序服务器的初始化脚本。
  • 如何使用 Docker 在这些节点之间建立加密连接。

为此,我们通常使用我们在以前的 Web 网关中已经看到的一些工具,以及描述 OpenSSL、envsubst 和 Config-API 等工具的镜像文章。

要求

ECP 不适用于 IRIS 社区版。 因此,需要访问全球响应中心才能下载容器许可证并连接到 containers.intersystems.com 注册表。

准备系统

系统必须与容器共享一些本地文件。 需要创建特定用户和组来避免出现“访问被拒绝”错误。

0 0
0 136
文章
· 十二月 21, 2022 阅读大约需 5 分钟
第二十章 使用系统监视器 - 定义系统监视器组件

第二十章 使用系统监视器 - 定义系统监视器组件

SYS.Monitor API 允许定义自己的传感器、订阅者和通知器类。

Sensor Classes

传感器类扩展 %SYS.Monitor.AbstractSensorSystem Monitor 控制器最初调用每个传感器类的 Start() 方法;此后,在每个周期,它都会调用 GetSensors() 方法。 SetSensor() 方法在传感器类中用于设置 SensorReading 属性中的传感器名称/值对,该属性由 GetSensors() 返回并传递给所有订阅者类。

传感器类还可以评估传感器读数,并根据评估结果调用类的 %SYS.Monitor.Email 以根据通知或任何用户定义的警报方法生成电子邮件消息。

0 0
0 86
文章
· 一月 4, 2023 阅读大约需 4 分钟
IRIS, Caché监控指导 - 介绍

本文章是一个系列,主要目的是介绍给IRIS,Caché的终端用户如何方便的监控您的系统。

InterSystems系统的监控很难吗?需要学习很多技术吗? 我的答案是还好。

关于Caché和IRIS监控,无论是那部分内容,在InterSystems的在线文档或者开发者论坛,其实都能找到相关的说明和方案。但问题是太多,太杂乱,没有一个“操作维护手册”的东西。结果是,如果您是一个新手的InterSystems产品的维护工程师或者管理员,您要花很多的时间在大量的文档里找答案。

还有一个问题是文档中很多章节的内容又太深,包含了一些开发人员才关心的内容,这是Caché或者IRIS的特性造成的,因为它首先是一个开发平台。结果是,对于管理员,很多文档的很不友好。

因此,我要写的这个文章的的目的是这样的:

  • 简单。只介绍管理维护人员需要的内容。只介绍和监控相关的内容。其他比如备份恢复,扩容,修改配置等等基本不涉及。

  • 易学。文章的期待读者是系统管理员,因此不需要您有编程能力或者InterSystems编程语言的基础。我系统对您的每个日常工作和关注的主题,给出最容易实现的操作步骤。

1 0
0 454

第四十五章 使用 ^SystemPerformance 监视性能 - Abort ^SystemPerformance

Abort ^SystemPerformance

如果要停止正在运行的配置文件,可以中止数据收集,并可选择使用 $$Stop^SystemPerformance(runid) 命令删除配置文件的所有 .log 文件。例如,要中止由 runid20111220_1327_12hours 标识的报告的数据收集并删除到目前为止写入的所有 .log 文件,请在终端的 %SYS 命名空间中输入以下命令:

do Stop^SystemPerformance("20111220_1327_12hours")

要在不删除日志文件的情况下停止作业并从这些日志文件生成 HTML 性能报告,请输入:

0 0
0 73

嘿开发者,

我们想邀请您参加我们的下一场比赛,该比赛致力于创造有用的工具,让您的开发伙伴们的生活更轻松

🏆 InterSystems 开发者竞赛:Tool(工具)🏆

提交有助于加快开发速度、贡献更多定性代码并有助于使用 InterSystems IRIS 测试、部署、支持或监控您的解决方案的应用程序。

时间: 2023 年 1 月 23 日至 2 月 12 日(美国东部时间)

奖金池: 13,500 美元

0 0
1 225
文章
· 二月 1, 2023 阅读大约需 5 分钟
第六十三章 使用 SNMP 监控 IRIS - SNMP 故障排除

第六十三章 使用 SNMP 监控 IRIS - SNMP 故障排除

SNMP 故障排除

IRIS 子代理(运行 ^SNMP 例程)取决于操作系统提供的 SNMP 主代理的正确安装和配置。正如 IRIS 作为子代理中所述,^SNMP 例程与此主代理通信有两种主要方式:
- ^SNMP 主要在 TCP 端口 705 上使用 AgentX 协议。
- 在 Windows 上,^SNMP 使用安装为 iscsnmp.dllWindows 扩展代理 DLL

0 0
0 88
文章
· 二月 28, 2023 阅读大约需 1 分钟
【GS22 视频】如何让脑健康管理变得普惠?

这是InterSystems 2022年全球峰会上来自客户 Cognetivity Neuroscience 的分享。InterSystems IRIS 数据平台助力 Cognetivity Neurosciences 打造脑健康管理评估工具CognlCA。CognlCA 能够在正确的时间将数据提供给正确的人,推动脑健康评估、筛查和管理的节点前置,从而促进脑健康管理的普惠化。

1 0
0 52
文章
· 三月 20, 2023 阅读大约需 4 分钟
第三章 高可用性的故障转移策略

第三章 高可用性的故障转移策略

随着组织越来越依赖基于网络的应用程序,使数据库尽可能可用和可靠变得至关重要。本指南解释了 IRIS 数据平台如何提供高度可用和可靠的数据存储,并描述了从中断和故障中快速恢复并同时保持数据完整性的策略。

IRIS® 数据平台提供多种高可用性 (HA) 解决方案,并可轻松与操作系统供应商提供的所有常见 HA 配置集成。

维持系统高可用性的主要机制称为故障转移。在这种方法下,一个失败的主系统被一个备份系统取代;也就是说,处理故障转移到备份系统。许多 HA 配置还提供灾难恢复机制,即在故障转移机制无法保持系统可用时恢复系统可用性。

IRIS 实例故障转移有五种通用方法以实现 HA(包括不实施 HA 策略)。本章概述了这些方法,而本指南的其余部分提供了实施这些方法的过程。

0 0
0 107

好不好玩,能当真吗?


最近几个月,大型语言模型GPT正在激起一些现象。因此,上周末我不可避免地也在玩 ChatGPT,以探究它是否会成为我正在敲打的一些基于 BERT 的“传统”AI 聊天机器人的补充,或者更确切地说,它是否会淘汰它们。

玩的时候脑子里冒出一个念头。通过略微理论化或哲学化,最终互操作性标准(如 HL7 和 FHIR 等)是一种“语言”,对吗? HL7 有自己的语法、规则、词汇甚至方言——每个系统都有自己的语调。这就是为什么当一台机器与另一台机器对话时,它们需要翻译器(例如 DTL 转换)来实现相互理解。

所以环顾四周,似乎一切都是语言:编码是语言:python,javascript和COS也是语言。 HL7、FHIR 甚至 XML 或 JSON 都是语言,只是它们比自然语言更结构化,那么 GPT 应该更容易上手吗?

那么,我们可以从简单地重用 GPT 的预训练编码语言模型来模拟 DTL 开始吗?我们还没有进行调整,以下是初步结果:

0 0
0 154
文章
· 四月 27, 2023 阅读大约需 3 分钟
第四十一章 配置镜像 - 使用 ^ZMIRROR 例程

第四十一章 配置镜像 - 使用 ^ZMIRROR 例程

用户定义的 ^ZMIRROR 例程允许为特定镜像事件(例如故障转移成员成为主要成员)实现自己的自定义、特定于配置的逻辑和机制。

^ZMIRROR 例程包含以下入口点。如果它们被省略,它们都提供适当的默认值。

  • $$CanNodeStartToBecomePrimary^ZMIRROR() — 当实例确定
    • 另一个故障转移成员当前未充当主要成员,并且在没有手动干预的情况下无法成为主要成员。
    • 本地成员有资格成为主要成员,即将开始接管过程。

CanNodeStartToBecomePrimary 为逻辑提供了一个入口点,以阻止故障转移成员自动成为主节点(无论是在启动时还是作为备份连接时),以提供对故障转移的手动控制,并且不是大多数 ^ZMIRROR 例程的一部分。

0 0
0 84

第二十四章 开发Productions - ObjectScript Productions - 定义业务服务

本页介绍如何定义业务服务类。

提示: IRIS®提供使用特定入站适配器的专用业务服务类,其中之一可能适合需要。如果是这样,则不需要编程。有关部分列表,请参阅 Introducing Interoperability Productions 中的连接选项。

介绍

业务服务负责接受来自外部应用程序的请求到 IRIS。下图显示了它是如何工作的:

请注意,此图仅显示数据的输入流,而不是可选响应。

业务服务负责以下活动:

0 0
0 38

第三十章 开发Productions - ObjectScript Productions - 定义业务操作 - 调用适配器方法

调用适配器方法

最常见的是,业务操作不包含用于与外部系统通信的逻辑。相反,业务操作使用处理此逻辑的出站适配器。一旦业务操作与出站适配器相关联,它就会调用适配器的方法来发送和接收数据。有关调用适配器方法的详细信息,请参阅从业务主机访问属性和方法。

向生产中的目标发送请求

尽管业务操作主要负责向特定的外部应用程序传递请求,但它也可以根据需要向其他业务操作或业务流程发送消息。要将消息发送到生产中的目标,请调用 SendRequestSync()SendRequestAsync()SendDeferredResponse()

Ens.BusinessOperation 定义了一个可以使用的附加方法:DeferResponse()

0 0
0 60

第六十一章 镜像中断程序 - 计划故障转移到提升的 DR 异步

计划故障转移到提升的 DR 异步

如果在镜像中包含一个或多个 DR 异步以提供灾难恢复功能,则最好通过计划的故障转移到每个 DR 异步来定期测试此功能。要执行此测试,或者当出于任何其他原因(例如包含故障转移成员的数据中心计划停电)而想要故障转移到 DR 异步时,请使用以下过程:

  1. IRIS C 提升为故障转移成员;因为 IRIS A 可用,所以不会要求您选择故障转移伙伴。 IRIS C 成为备份, IRIS B(如果存在)降级为 DR 异步。

注意:如果镜像仅包含一个故障转移成员,则过程相同;不需要选择故障转移伙伴, IRIS C 成为备份,因此镜像现在有两个故障转移成员。

1 0
1 57

图像

你好社区

在本文中,我将介绍我的应用程序irisChatGPT ,它是基于LangChain Framework构建的。

首先,让我们对框架进行一个简单的概述。

全世界都在谈论ChatGPT以及大型语言模型 (LLM) 如何变得如此强大,并且表现超出预期,提供类似人类的对话。这只是将其应用于每个企业和每个领域的开始!

0 0
0 203

第六十六章 开发Productions - ObjectScript Productions - Production品及其零部件的生命周期 - 业务流程的生命周期

业务流程的生命周期

每次Production启动时, IRIS都会为Production创建公共参与者池。ActorPoolSize设置的值确定池中的作业数。

在执行元池中的每个作业中,都有一个Ens.ActorEns.在一个对象中,该对象负责管理业务流程对其作业的使用。在一个Ens.Actor时称为执行元。

0 0
0 67

InterSystems 已纠正了两个缺陷。

第一个缺陷可能导致 ECP 应用程序服务器挂起。此缺陷仅与 ARM 和 IBM Power 处理器相关;存在于 InterSystems IRIS®、InterSystems IRIS for Health™ 和 HealthShare® Health Connect 版本2022.1.22022.1.3中。该修复被标识为 DP-423661。该缺陷将在所有未来版本中得到解决。

0 0
0 56
文章
· 八月 17, 2023 阅读大约需 2 分钟
第一章 IRIS 编程简介

第一章 IRIS 编程简介

简介

IRIS 是一个高性能多模型数据平台,具有内置的通用编程语言 ObjectScript,以及对 Python 的内置支持。

IRIS 支持多进程并提供并发控制。每个进程都可以直接、高效地访问数据。

IRIS 中,可以根据喜好编写类、例程或它们的组合。在所有情况下,存储的数据最终都包含在称为全局变量的结构中。 IRIS 编程具有以下特点:
- 类和例程可以互换使用。
- 类和例程可以互相调用。
- 类提供面向对象的功能。
- 数据库存储已集成到 ObjectScriptPython 中。
- 类可以以简化编程的方式保存数据。如果使用持久类,数据可以同时作为对象、SQL 表和全局变量使用。
- 可以直接从类或例程访问全局变量,这意味着可以灵活地按照想要的方式存储和访问数据。

可以选择适合需求的方法。

0 0
0 78
文章
· 十月 6, 2023 阅读大约需 4 分钟
快速创建命名空间

一般情况下,我们根据iris的portal向导创建数据库,然后创建命名空间。这个过程比较花时间,如果是已经存在的数据库,还需要再装载。翻阅portal调用的方法后,我整合了这几个方法。把这几个方法拷贝到任意已经存在的命名空间,通过执行CNNS(路径,命名空间),就可以快速创建好命名空间。方法的大概过程是,进入到%sys命名空间,然后依次创建数据库,创建命名空间,创建web应用。创建完成后,回到当前命名空间。

7 0
0 78

2023年11月24日19:00-20:00,InterSystems开发者社区举办了“InterSystems第二届技术征文大赛线上分享会”,邀请参赛作者进行了作品分享&点评,此次分享吸引了66位开发者参会。

未参加此次会议的社区成员,可通过以下链接了解此次Meetup详情(请注意,您需要登录后申请查看视频)

0 0
0 38
文章
· 十二月 23, 2023 阅读大约需 3 分钟
第三章 使用$ZF(-100)运行程序或系统命令

第三章 使用$ZF(-100)运行程序或系统命令

$ZF(-100)函数允许 IRIS 进程调用可执行程序或主机操作系统的命令。这是唯一可以在没有特殊的Callout共享库的情况下使用的$ZF函数。

  • $ZF(-100)的语法和功能概述。
  • 程序执行-程序可以选择异步运行或在操作系统外壳中运行。
  • 记录命令和重定向输出——可选设置可以记录命令或重定向I/O
  • 添加%System_Callout:USE特权—使用$ZF(-100)需要此特权。

注意:$ZF(-100)取代了已弃用的函数$ZF(-1)$ZF(-2),在所有情况下都应优先使用。

0 0
0 23

作为针对数据导入处理性能和错误(锁定表已满)的衡量标准,可能需要调整常规内存堆 (gmheap) 和锁定表大小 (locksiz) 参数。

事实上,您可以使用终端和管理门户来检查当前分配了多少通用内存堆。


★终端用

// 一般メモリヒープサマリUSER> w $system .Config.SharedMemoryHeap.GetUsageSummary() 4992226 , 6029312 , 59441152

通用内存堆摘要以使用量、分配量和配置量(字节)的形式显示返回值。

0 0
0 27
文章
· 二月 19 阅读大约需 4 分钟
FHIR在行动:InterSystems的真实国际案例

世界各地的医院和医疗系统、支付方、技术提供商和研究人员都使用InterSystems解决方案来打破互操作性障碍,简化FHIR应用程序的开发和交付工作。

SMART on FHIR 应用

纽约州健康信息网络Hixny使用InterSystems HealthShare Unified Care Record®,为美国最大的公共卫生信息交换机构Healthix开发了一个SMART on FHIR应用程序。每当临床医生查看患者记录时,该创新应用程序都会并排显示患者的社交和病史。该解决方案允许临床医生评估健康的社会决定因素,并直接从其现有的应用程序和工作流程中进行社会服务转介,从而简化互动并提高提供者的效率。HealthShare Unified Care Record 使 Hixny 能够轻松地以单一、一致的格式维护所有数据,无论其来源如何。

0 0
0 24