搜索​​​​

清除过滤器
文章
Claire Zheng · 四月 21, 2021

InterSystems Caché系统运维培训:InterSystems Caché架构、备份与恢复

近日,InterSystems极客俱乐部举办了线上直播“InterSystems Caché系统运维培训”,这是系列视频之一。InterSystems中国资深售前顾问吕正之讲解了“InterSystems Caché架构、备份与恢复”。
文章
Claire Zheng · 四月 3, 2023

InterSystems 技术征文大赛(InterSystems IRIS教程)获奖名单出炉!

亲爱的社区开发者们: 感谢第四届 InterSystems 技术征文大赛(InterSystems IRIS 教程)的优秀参与者们,我们有很棒的新文章供您阅读和欣赏! 🌟 24 篇精彩文章🌟 是时候宣布此次竞赛优胜者啦! 让我们认识一下获奖者和他们的文章: ⭐️ 专家奖——由 InterSystems 专家选出的获奖者: 🥇 第一名: InterSystems Embedded Python in glance 作者: @Muhammad Waseem 🥈 第二名: InterSystems Embedded Python with Pandas - 第 1 部分,作者:@Rizmaan Marikar 🥉第三名: SQLAlchemy - 将 Python 和 SQL 与 IRIS 数据库结合使用的最简单方法 作者:@Heloisa Paiva ⭐️开发者社区奖—— 由社区成员选出的获奖者,获得最多赞的文章: 🏆 设置 VS Code 以使用 InterSystems 技术 作者:@Maria Gladkova 此外! ⭐️我们想根据贡献的数量奖励更多的作者: @Robert Cemper:4 篇文章! @Heloisa Paiva: 3 篇文章! @Iryna Mykhailova: 3 篇文章! 这些作者将获得适用于 iPad 的 Magic Keyboard Folio 或 Bose Soundlink Micro 蓝牙扬声器! 让我们祝贺所有参加 英文社区 #4第四届技术征文大赛的英雄们: @Robert Cemper @Heloisa Paiva @Muhammad Waseem @王喆 @Iryna Mykhailova @Maria Gladkova @Yone Moreno @Akio Hashimoto @Julian Matthews @Daniel Aguilar @water huang @Oliver Wilms @Rizmaan Marikar @姚 鑫 @Zhong Li @Jude Mukkadayil @Roger Merchberger 谢谢你们!您为我们的开发社区做出了卓越的贡献! 我们将联系参赛者以寄送礼品。 再次感谢所有中国选手的热情参与!@姚 鑫@王喆@water huang
公告
Claire Zheng · 八月 19, 2021

InterSystems开发者竞赛:InterSystems IRIS Analytics

亲爱的社区开发者们,大家好! 欢迎积极参与新一轮InterSystems开发者竞赛! 🏆 InterSystems开发者竞赛:InterSystems IRIS Analytics 🏆 竞赛时间:2021年8月23日-9月12日 奖金总额: $8,750 登录页面即可参赛: https://contest.intersystems.com 奖项设置 1. 专家提名奖(Experts Nomination)- 获奖者由我们特别挑选的专家团选出: 🥇 第一名 - $4,000 🥈 第二名 - $2,000 🥉 第三名 - $1,000 2. 社区提名奖(Community Nomination)- 获得总投票数最多的应用: 🥇 第一名 - $1,000 🥈 第二名 - $500 🥉 第三名 - $250 如果同时多位参赛者获得同样的票数,均被视为优胜者,将平分奖金 谁可以参加? 任何开发者社区的成员均可参加,InterSystems内部员工除外(InterSystems contractor员工可以参加)。还没有账号?现在来建一个! 👥 开发者可以组团 创建一个协作应用程序,组团限定人数为2-5人。 请注意,要在您的README文件中标注您的团队成员——社区用户profile 参赛时间安排 🛠 8月23日 - 9月5日: 应用开发、提交阶段 ✅ 9月 6日 - 12日: 投票阶段 注意:在整个参赛期间(开发与投票期间,即8月23日-9月12日),开发者可持续编辑、提升其应用 主题 💡 应用InterSystems IRIS开发分析解决方案(Analytics Solution) 💡 使用一个或多个InterSystems IRIS分析功能,如: Adaptive Analytics 自适应分析(AtScale) InterSystems Reports (Logi) InterSystems BI (DeepSee) InterSystems NLP (iKnow) 创造一个简单的、引人注目的、清晰的可视化产品和/或故事。 以下是参赛须知: 有效应用程序:100%全新的Open Exchange Apps或已有的应用程序(但有显著提升)。所有参赛者/团队提交的应用程序只有经过我们团队的审核之后才会被批准参赛。 该应用应该在 IRIS Community Edition or IRIS for Health Community Edition or IRIS Advanced Analytics Community Edition 上工作。 该应用需开源并在GitHub上发布。 该应用的README文件应为英文,包含安装步骤,并包含视频demo或/和应用程序如何运行的描述。 资源助力 1. 示例应用程序和说明: 1.1. Adaptive Analytics(自适应分析): Adaptive Analytics in Action (视频) 1.2 InterSystems报告: A look at InterSystems Reports (视频) InterSystems Reports Resource guide Running InterSystems Reports in containers IRIS reports server demo (OEX) 1.3 IRIS BI 案例: IRIS Analytics Template Samples BI Covid19 analytics Analyze This Game of Throne Analytics Pivot Subscriptions Error Globals Analytics Creating InterSystems IRIS BI Solutions Using Docker & VSCode (视频) The Freedom of Visualization Choice: InterSystems BI (视频) InterSystems BI(DeepSee) Overview (线上课程) InterSystems BI(DeepSee) Analyzer Basics (线上课程) 1.4 InterSystems NLP (iKnow): iKnow Source Code Samples Aviation Set Analysis iKnow First Look (线上课程) 2. Sample数据: Hole Foods database for IRIS BI (与SamplesBI包一起安装) Adventure Works, zip Synthea 3. 将数据导入IRIS的工具: CSVGEN and CSVGENUI S3 External Table 4. IRIS初学者 Build a Server-Side Application with InterSystems IRIS Learning Path for beginners 5. 如何将您的APP提交给大赛 如何在InterSystems Open Exchange上发布应用程序 如何把参赛APP提交给大赛 参赛评比 投票规则即将发布,敬请期待! So! 期待您的精彩提交!加入我们的编程马拉松,赢取大奖 ❗️ 点击此处,查看 官方竞赛条款解读❗️
文章
Claire Zheng · 一月 21, 2021

InterSystems IRIS History Monitor仪表盘界面展示

大家好! 我想跟大家分享一个个人项目,该项目始于工作中的一个简单需求:“能否知道我们使用了多少个Caché许可证?” 在阅读社区的其他文章时,我发现了一篇David Loveluck写的非常棒的文章:APM——使用Caché History Monitor。 我根据David的这篇文章,开始使用Caché History Monitor并显示所有这些信息。 在面临“选择哪种很酷的技术”这个问题时,我决定使用简单而强大的CSP,这样我的客户可以认识到Caché不仅仅是MUMPS/终端。 在创建了页面以显示许可、数据库增长和CSP会话的历史记录后,我决定为System Dashboard和进程页面创建一个新设计。 我的Caché实例运行得良好。 但是,如果使用IRIS呢?根据Evgeny Shvarov的文章:在InterSystems IRIS开发存储库中使用Docker,我实现了docker技术,并把代码放到了GitHub上,现在大家只需几个步骤就可以进行尝试。 如何运行? 如要使用这里的repo进行编码,请执行以下操作: 1. 通过Clone/git命令将repo 更新到任意本地目录中: $ git clone https://github.com/diashenrique/iris-history-monitor.git 2. 打开这个目录下的终端,并运行: $ docker-compose build 3. 在项目中运行IRIS容器: $ docker-compose up -d 如何测试 打开浏览器,并转到链接:http://localhost:52773/csp/irismonitor/dashboard.csp 使用用户名_SYSTEM可以运行仪表盘dashboard和其他功能。 系统仪表盘 系统仪表盘(System Dashboard)可展示: ·许可 ·系统时间 ·应用程序错误 ·缓存过程 ·CSP会话 ·Lock Table ·日志空间 ·日志状态 ·ECP AppServer ·ECP DataServer ·编写守护进程 ·缓存效率 ·严重警告 折线图小工具每5秒绘制一个点: 系统菜单 系统进程 进程过滤器 通过使用不同的过滤器可以实现你所需的结果。也可以使用“Multiple Sort(多重排序)”,按Shift +单击列标题,甚至可以将数据网格导出到Excel! History Monitor(历史记录监控器) CSP会话和许可的History Monitor可显示三个部分的信息: ·每5分钟 ·每天 ·每小时 “Database Growth”部分只显示当日信息。历史记录页面共享以下功能: Date Range Picker(日期选择插件) 默认值为“过去7天” Chart / Data Table(图表/ 数据表) 在每个部分的右上角有两个按钮(Chart / Data Table [图表/ 数据表]) Data Table(数据表)显示创建图表所用的信息,同样可以以Excel格式下载。 Excel中显示CSP中定义的相同格式、内容和组。 缩放 所有图表都有Zoom(缩放)选项,以可视化方式显示更多详细信息。 平均值和最大值 对于“每小时”和“每天”部分,图表显示的是平均值和最大值。 平均值 最大值 希望这篇文章对您有用! 注:本文为译文,点击此处阅读原文,原文由Henrique Gonçalves Dias撰写。
公告
Claire Zheng · 一月 7, 2021

如何在 InterSystems Global Masters倡导中心获得积分

大家好!InterSystems Global Masters 倡导中心与开发者社区紧密联系并不是秘密。 为开发者社区做出任何贡献都会带来 Global Masters 积分。 所以, 我们准备了一份关于如何在 Global Masters 以最佳方式获得积分的简短指南。 如何在 GLOBAL MASTERS 获得积分 在开发者社区上发布英文帖子 100 第一次在社区评论 回答一个问题 / 发表一个评论(英文) 300 30 第 1 个被标记为“已接受”的回答 1000 之后的每一个“已接收”回答 150 第5/10/25/50个“已接收”回答 4000/8000/20000/40000 翻译一篇文章 50 在 DC 上问第1/5/10/25/50个问题 500/2000 /5000 /15000/30000 在 DC 上发布第1/5/10/25/50个帖子 1500/7500/15000/40000/75000 在 Open Exchange 发布一个应用程序 800 对每一个ZPM应用积分奖励 400 在Open Exchange发布第1/5/10/25个应用程序 1000/10000/25000/75000 帖子浏览量达到750+/2000+/5000+/15000+ 600/2500/7000/20000 在开发者社区阅读一篇帖子 10 看一个视频 20 通过社交媒体分享一次(帖子/视频) 40 发布的第1/2/3/4/5 篇带“最佳实践”标签的文章 1000/3000/7000/10000/15000 在Open Exchange上您的应用第50/100/250/500/1000次下载 2500/5000/7500/12500/25000 对 InterSystems / InterSystems 产品作一次评述 2 000-3 000 邀请成员加入开发者社区 600 为您的OEX应用创建一个video 3000 *仅计算在 Global Masters 倡导中心注册后发布的帖子。 完成挑战,获得徽章并升级:Insider > Advocate > Specialist > Expert > VIP。 您的级别越高,可获得的奖励越有趣! 欢迎点击查看更多有关 Global Masters 的其他信息: 如何加入 InterSystems Global Masters Global Masters 徽章说明 Global Masters 级别说明 Global Masters 计划的变更 如果您尚未加入 InterSystems Global Masters 倡导中心,现在就开始行动吧! 欢迎在本帖评论中提出您的问题。 欢迎大家多参与Global Master,多积分,多贡献,提高等级,赢取礼品! @Young Zheng @An Xingqi @jinhui hu @wenyang zhang @guoguo wang @shikai ren @chaolong huang @yabin duan @鹏飞 楚 @智辉 李 @SHAN HU @Wendy Wu @Hao Wang @Z C @Zhaoying Li @Neal Wu @liu yaquan @qu qu @wang wei @guo meiya@yajing xu @yue li @权权 苏 @xiaohu xiong @yadong zhao @Yi Han @Wen Zhou @jie zhang @张 恒 @guo wenheng @Jing Li @迪 文
文章
Nicky Zhu · 一月 8, 2021

InterSystems 最佳实践之 Ensemble 孤立消息

在本文中,我们将讨论孤立消息。 ## 什么是孤立消息 每个消息正文都与一个保存元数据的消息标头相关联。 标头保存源配置名称、目标配置名称、创建时间、处理时间、关联的消息正文引用、会话信息、消息正文类名、消息状态等信息。 当有消息正文记录没有相应的标头记录时,这些消息正文称为孤立消息正文。 我们将讨论可能导致孤立消息正文产生的原因。 ### 仅清除标头 在清除任务设置中,**BodiesToo** 设置用于指定是否将消息正文与消息标头一起清除。 如果**关闭**此设置,清除任务将只删除消息标头,而保留消息正文。 这些消息正文将成为孤立记录,因为所引用的标头已被删除。 如果清除消息标头但保留消息正文,则管理门户将无法清除孤立消息正文。 在这种情况下,必须以编程方式清除消息正文。 ![](/sites/default/files/inline/images/purgetask_1.jpg)   请参阅有关清除任务的文档 [http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=EGMG\_purge#EGMG\_purge_basic](http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=EGMG_purge#EGMG_purge_basic) ### 复杂的消息正文类(对象值属性) 当 Ensemble 清除某条消息正文时,不一定删除该消息正文的对象值属性。 具体来说,只有当其他对象是序列对象或子对象(由关系定义)时,才会删除这些对象。 对于其他对象,必须通过在消息正文类中定义删除触发器或实现 **%OnDelete()** 方法来适当地处理删除。 OnDelete 实现的示例代码 Class Sample.Address Extends %Persistent{ /// The street address. Property Street As %String(MAXLEN = 80); /// The city name. Property City As %String(MAXLEN = 80); /// The 2-letter state abbreviation. Property State As %String(MAXLEN = 2); /// The 5-digit U.S. Zone Improvement Plan (ZIP) code. Property Zip As %String(MAXLEN = 5); } Class Sample.Person Extends %Persistent{ /// Person's name. Property Name As %String [ Required ]; /// Person's Social Security number. This is validated using pattern match. Property SSN As %String(PATTERN = "3N1""-""2N1""-""4N") [ Required ]; /// Person's Date of Birth. Property DOB As %Date; /// Person's home address. Property Home As Address; /// Person's office address. Property Office As Address; ///Callback for object deletion ClassMethod %OnDelete(oid As %ObjectIdentity) As %Status [ Private ]{ // Delete the property object references. Set tSC = $$$OK, tThis = ##class(Sample.Person).%Open(oid) If $ISOBJECT(tThis.Home) Set tSC = ##class(Sample.Address).%DeleteId(tThis.Home.%Id()) If $ISOBJECT(tThis.Office) Set tSC = ##class(Sample.Address).%DeleteId(tThis.Office.%Id()) Quit tSC } ///Callback/Trigger for SQL delete Trigger OnDelete [ Event = DELETE ]{ // Delete the property object references. {%%ID} holds the id of the record being deleted. Set tID={%%ID} Set tThis = ##class(Sample.Person).%OpenId(tID) If $ISOBJECT(tThis.Home) Do ##class(Sample.Address).%DeleteId(tThis.Home.%Id()) If $ISOBJECT(tThis.Office) Do ##class(Sample.Address).%DeleteId(tThis.Office.%Id()) Quit } } ### 已创建但从未发送到其他主机的消息对象 当一条消息被发送/转发到其他主机时,Ensemble 会创建一个新的消息标头,并关联相应的消息正文。 如果在业务服务/流程中创建的消息正文/对象实例已保存到磁盘/数据库,但从未在生产过程中发送到其他主机,它将没有关联的标头,并保留为孤立消息正文。 最佳实践是不创建消息正文,除非它将被转发,或者不对该对象实例调用 %Save()(在将消息放入目标配置队列之前,SendRequestSync/SendRequestAsync API 将保存该对象实例)。 这样,除非将消息正文对象发送到其他主机,否则它将不会持久化。 此问题的最常见原因是开发人员: 克隆了消息正文,且从未转发克隆的消息正文 在上下文变量 (BPL) 中创建了消息正文对象,且从未转发。 ## 孤立消息的影响 孤立消息不会被清除任务清除。 这些消息将占用磁盘空间,并且随着它们数量的增长,磁盘使用量也会成比例增加。 不仅消息正文数据使用磁盘空间,每条孤立消息正文记录的任何索引/搜索表条目也都占用磁盘空间。 ## 识别孤立消息 可以通过查询消息标头和正文来确定孤立消息是否存在。 每个消息标头都引用相应的消息正文。 消息正文对象 Id 引用存储在标头的 MessageBodyId 属性中,消息正文类名存储在标头的 MessageBodyClassName 属性中。 在 HL7 消息表中查找孤立消息的示例查询: SELECT HL7.Id  FROM EnsLib_HL7.Message HL7    LEFT JOIN Ens.MessageHeader hdr    ON HL7.Id=hdr.MessageBodyId    WHERE hdr.MessageBodyId IS NULL 上面的查询将返回所有没有相应标头的 HL7 消息。 可以将该查询修改为查询任何其他消息类型,只需替换消息正文表名即可。 ## 清除孤立消息 管理门户无法提供清除孤立消息正文的方法。 在这种情况下,必须以编程方式清除消息正文。 在 **ENSDEMO** 数据库中,类 **Demo.Util.CleanupSet** 提供了一个如何执行此操作的示例。 该例程也执行深度清除,同时处理对象属性引用。 还可以参考另一个例程来清除孤立消息,但该例程不执行深度清除,只对删除消息正文有帮助。 我在下面附上可下载源码的 github 链接: 最佳做法是始终: 1. 避免编程错误(如前面所讨论)以防止出现孤立消息 2. 只有需要正文并且知道只能以编程方式清除这些消息正文时,才将清除任务设置成关闭 BodiesToo 设置。 3. 实施关系或针对持久对象属性实现 OnDelete。 我希望本文对您构建生产环境有所帮助。 如果您有任何问题或疑虑,请联系我们。 谢谢。
公告
Nicky Zhu · 一月 8, 2021

InterSystems 系统警报和监视 (SAM) 预览版本已发布

现在,InterSystems **系统警报和监视**(简称 InterSystems _SAM_)第 1 版 (v1.0) 发布了预览版本。    InterSystems SAM v1.0 为基于 InterSystems IRIS 的产品提供现代化的监视解决方案。 其可对集群进行高级别查看,并且能够以单节点方式可视化深入探视指标,同时提供警报通知。 该第 1 个版本提供对一百多个 InterSystems IRIS 内核指标的可视化,并且用户可以根据自己的喜好扩展默认提供的 Grafana 模板。 V1.0 旨在成为简单直观的基准。 请进行尝试并向我们发送反馈,帮助我们使其变得更棒! 从版本 2019.4 开始,SAM 可以显示来自基于 InterSystems 的实例中的信息 SAM 仅以容器格式提供。 您将需要 SAM 管理器容器,以及一小组额外的开源_组件_(Prometheus 和 Grafana),它们由组合文件自动添加。 可从以下位置获取 SAM 组件和 SAM 管理器社区版 * [WRC 预览页面](https://wrc.intersystems.com/wrc/coDistPreview.csp):分别为“SAM 组件”和“SAM 管理器” * 如果您要在 docker-compose 运行之前下载,可通过外部源[SAM 组件 Github repo](https://github.com/intersystems-community/sam) & [Docker Hub 上的 SAM 管理器](https://hub.docker.com/_/intersystems-system-alerting-and-monitoring)(后一个链接可能在几个小时内不可用,但容器是可获取的)   如果您正在旅行,或偏爱通过语音收听有关什么是 SAM 方面的提问与回答,我们为您准备了以下播客: 可在[此处](https://docs.intersystems.com/sam/csp/docbook/Doc.View.cls?KEY=ASAM)找到 SAM 文档  

#InterSystems Package Manager (IPM)

14 帖子0 关注者
文章
Qiao Peng · 三月 5, 2021

[InterSystems IRIS 初探] 让我们使用互操作性

大家好! InterSystems IRIS 有一个名为 **Interoperability**(互操作性)的菜单。 它提供了轻松创建系统集成(适配器、记录映射、BPM、数据转换等)的机制,因此可以轻松连接不同的系统。 数据中继过程中可以包括各种操作,例如:为了连接没有正常连接的系统,可以根据目标系统的规范来接收(或发送)数据。 此外,在发送数据之前,可以从其他系统获取和添加信息。 还可以从数据库(IRIS 等)获取和更新信息。 在本系列文章中,我们将讨论以下主题,同时查看 示例代码 以帮助您了解工作原理以及在系统中集成互操作性时需要进行哪种开发。 * 工作原理 * 什么是Production * 消息 * 组件创建 * 业务操作 * 业务流程 * 业务服务 首先,我介绍一下我们将在本系列文章中使用的案例研究。 > 某公司运营着一个购物网站,他们正在更改产品信息的显示顺序以配合季节变化。但是,有些商品无论季节如何都能卖得很好,而有些商品在意料之外的时间卖出,这不符合当前的显示顺序更改规则,因此,我们研究了按照当天的温度而不是季节来更改显示顺序的可能性。 调查购买产品时的温度变得非常必要。由于可以使用外部 Web API 来查询天气信息,因此我们计划收集购买时的天气信息,并将其记录在后面的审核数据库中。 案例非常简单,但您需要使用“外部 Web API”来收集信息,并且需要将获得的信息和购买信息结合起来记录在数据库中。 具体说明将在相关文章中讨论(不包括网站的创建)。 请移步观看! 至于我们这次使用的“外部 Web API”,我们使用的是 OpenWeather的 当前天气数据. (如果您想要尝试一下,您需要注册一个帐户并获得 API ID). 以下是一个 REST 客户端发出的 GET 请求的结果(我们将以在 Interoperability 中实现的机制来运行此流程)。 ![](/sites/default/files/inline/images/image1050jp.png) HTTP 响应的 JSON 如下所示: ```json { "coord": { "lon": 135.5022, "lat": 34.6937 }, "weather": [ { "id": 803, "main": "Clouds", "description": "broken clouds", "icon": "04d" } ], "base": "stations", "main": { "temp": 17.05, "feels_like": 13.33, "temp_min": 16, "temp_max": 18, "pressure": 1017, "humidity": 55 }, "visibility": 10000, "wind": { "speed": 4.63, "deg": 70 }, "clouds": { "all": 75 }, "dt": 1611635756, "sys": { "type": 1, "id": 8032, "country": "JP", "sunrise": 1611612020, "sunset": 1611649221 }, "timezone": 32400, "id": 1853909, "name": "Osaka", "cod": 200 } ``` 在 下一篇文章中,我们将讨论如何使用 Interoperability 菜单进行系统集成。 [OpenWeather]: https://openweathermap.org/
公告
jieliang liu · 三月 15, 2021

InterSystems Developers 2020 年最佳视频

嗨,开发者们, 欢迎查询 [InterSystems Developers YouTube 频道] InterSystems Developers YouTube Channel: 按观看次数排名前 10 的视频 № Video Views 1 Active Directory 与 LDAP 的集成 13 079 2 FHIR 上的 SMART:基础知识 7 463 3 构建现代 Web 应用程序 6 133 4 使用 Visual Studio Code 编写 ObjectScript 5 491 5 使用 FHIR 进行开发 - REST API 5 195 6 使用 IRIS 社区版、GitHub、Docker 和 VSCode 创建你的第一段 InterSystems ObjectScript 代码 1 487 7 托管文件传输 1 326 8 规模调整和容量计划 1 200 9 使用 Visual Studio Code 和 ObjectScript 1 155 10 5 分钟内为 InterSystems IRIS 创建 CRUD REST API 1 013 按观看时间排名前 10 的视频 № Video WT (hours) 1 FHIR 上的 SMART:基础知识 1 226,6 2 Active Directory 与 LDAP 的集成 798,1 3 构建现代 Web 应用程序 485,6 4 使用 FHIR 进行开发 - REST API 446,3 5 InterSystems IRIS 数据平台简介 104,5 6 规模调整和容量计划 101,0 7 VSCode-ObjectScript 简介网络研讨会 86,1 8 使用 IRIS 社区版、GitHub、Docker 和 VSCode 创建你的第一段 InterSystems ObjectScript 代码 79,7 9 证书吊销、OCSP 装订和 KMIP 72,4 10 使用 Visual Studio Code 编写 ObjectScript 63,9 Enjoy watching our top videos! 👏🏼 And stay tuned with InterSystems Developers YouTube! 这些视频目前都在油管上,有希望看哪些的欢迎在贴下留言。我们会尽快放在B站上。谢谢!
文章
Hao Ma · 三月 26, 2021

使用 InterSystems IRIS 创建认知数字服务

Intersystems IRIS 是开发、运行和消耗数据科学服务的绝佳平台。 IRIS 可以使用适配器从任何类型、格式、协议和时间提取数据。 这些数据集可以通过 BPL、DTL 和 Object Script 准备,并存储为 SQL 或 NoSQL 数据。 最后,它可以被 IRIS 内部的开放 ML 算法所消耗,并在 IRIS 仪表板中可视化。 了解详情:[https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=PAGE\_data\_science](https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=PAGE_data_science)。
公告
Claire Zheng · 四月 13, 2021

InterSystems IRIS平台入驻AWS Quick Start

Hi 社区开发者们,告诉大家一个好消息!InterSystems IRIS®数据平台已入驻AWS Quick Start,今后可在AWS上快速部署高可用的生产环境。 基于AWS和InterSystems在安全性和高可用性方面的最佳实践,InterSystems IRIS Quick Start模板能够提供可靠、可重复的自动化参考部署,简化IRIS关键任务环境的构建过程。 这些加速器将数百个手动步骤简化为几步,因此用户可以在几分钟内快速、经济有效地在自己的AWS账户中安装InterSystems IRIS,从而更快地获得洞察和价值。 InterSystems数据平台副总裁Scott Gnau表示:“InterSystems IRIS入驻AWS Quick Start后,可为用户提供优化的、预配置的数据平台,帮助其近乎实时地部署安全、高可用的生产环境。InterSystems IRIS和AWS Quick Start的强强联合可以加快实现价值的速度,用户可专注于利用其中的深刻洞见。在目前日益激烈的竞争环境中,这两点非常重要。” 作为这个最新产品的一部分,我们还将为通过Quick Start部署InterSystems IRIS平台的用户提供一份指南,以介绍架构并提供部署指导。 作为一个全面的、云优先的数据平台,InterSystems IRIS无需集成多种技术,因此可减少代码、系统资源和维护流程,并提高投资回报率。
文章
Michael Lei · 四月 14, 2021

通过 InterSystems IRIS 实现分布式人工智能

**什么是分布式人工智能 (DAI)?** 试图找到一个“无懈可击”的定义是徒劳的:这个术语似乎有些“超前”。 但是,我们仍然可以从语义上分析该术语本身,推导出分布式人工智能也是人工智能(请参见我们为提出一个“实用”定义所做的[努力](https://www.linkedin.com/pulse/ai-robotization-intersystems-iris-data-platform-sergey-lukyanchikov/)),只是它分布在多台没有聚合在一起(既不在数据方面,也不通过应用程序聚合,原则上不提供对特定计算机的访问)的计算机上。 即,在理想情况下,分布式人工智能的安排方式是:参与该“分布”的任何计算机都不能直接访问其他计算机的数据和应用程序,唯一的替代方案是通过“透明的”消息传递来传输数据样本和可执行脚本。 与该理想情况的任何偏差都会导致出现“部分分布式人工智能”- 一个示例是通过中央应用程序服务器分发数据, 或者其反向操作。 不管怎样,我们都会得到一组“联合”模型(即,在各自数据源上训练的模型,或者按自己的算法训练的模型,或者同时以这两种方式训练的模型)。 **“面向大众”的分布式人工智能方案** 我们不会讨论边缘计算、机密数据操作员、分散的移动搜索,或者类似的引人入胜但又不是最有意识和最广泛应用(目前不是)的方案。 我们将更“贴近于生活”,例如,如果考虑以下方案(其详细演示应该可以在此处观看):一家公司运行一个生产级 AI/ML 解决方案,其运行质量正在由一名外部数据科学家(即,不是该公司员工的专家)系统地进行检查。 由于种种原因,该公司无法授予数据科学家访问该解决方案的权限,但可以按照时间表或在特定事件(例如,解决方案终止一个或多个模型的训练会话)后向其发送所需表中的记录样本。 我们据此假定,该数据科学家拥有某个版本的 AI/ML 机制,且这些机制已经集成在公司正在运行的生产级解决方案中,而且数据科学家本人很可能正在开发、改进和调整这些机制,以适应该具体公司的具体用例。 将这些机制部署到正在运行的解决方案中、监控机制的运行以及其他生命周期方面的工作由一名数据工程师(公司员工)负责。 我们在[这篇文章](https://www.linkedin.com/pulse/intersystems-iris-all-purpose-universal-platform-aiml-lukyanchikov/)中提供了一个在 InterSystems IRIS 平台上部署生产级 AI/ML 解决方案的示例,该解决方案可自主处理来自设备的数据流。 上一段提供的链接下的演示中也运行了相同的解决方案。 您可以使用我们的仓库 Convergent Analytics 中的内容(免费且无时间限制,请访问 Links to Required Downloads 和 Root Resources 部分)在 InterSystems IRIS 上构建您自己的解决方案原型。 通过这样的方案,我们可获得“分布程度”如何的人工智能? 在我们看来,此方案相当接近理想情况,因为数据科学家与公司的数据和算法均保持“切割”(只是传输了有限的样本,但在某个时间点前很重要;而且数据科学家自己的“样本”永远不会与作为实时生产级解决方案的一部分部署和运行的“活跃”机制 100% 同步),他完全不能访问公司的 IT 基础架构。 因此,数据科学家的作用变为在他的本地计算资源上部分重放该公司生产级 AI/ML 解决方案的运行片段,获得可接受置信级别的运行质量评估,并向公司返回反馈(在我们的具体方案中,以“审核”结果表示,可能还加上该公司解决方案涉及的 AI/ML 机制的改进版本)。 _图 1 分布式人工智能方案表示_ 我们知道,在人类执行人工智能项目交换的过程中,不一定需要表示和传输反馈,这源于有关现代方法的出版物以及已有的分布式人工智能实现经验。 但是,InterSystems IRIS 平台的优势在于,它允许同样高效地开发和启动“混合”(人类和机器串联)且完全自动化的人工智能用例,因此,我们将继续根据上述“混合”示例进行分析,同时为读者留下自行阐述其完全自动化的可能性。 **如何在 InterSystems IRIS 平台上运行具体的分布式人工智能方案** 本文上一节提到的带有方案演示的视频介绍对作为实时 AI/ML 平台的 InterSystems IRIS 进行了总体概述,并解释了其对 DevOps 宏机制的支持。 在演示中,没有明确覆盖负责定期将训练数据集传输给外部数据科学家的“公司侧”业务流程,因此,我们将从该业务流程及其步骤的简介开始。 发送方业务流程的一个主要“引擎”是 while 循环(使用 InterSystems IRIS 可视业务流程编辑器实现,该编辑器基于平台解释的 BPL 表示法),负责将训练数据集系统地发送给外部数据科学家。 该“引擎”内部执行以下操作(参见下图,跳过数据一致性操作): _图 2“发送方”业务流程的主要部分_ (a) 负载分析器 – 将训练数据集表中的当前记录集加载到业务流程中,并基于它在 Python 会话中形成一个数据框架。 调用操作会触发对 InterSystems IRIS DBMS 的 SQL 查询,并触发对 Python 接口的调用以将 SQL 结果传输给它,以便形成数据框架; (b) Azure 分析器 – 另一个调用操作,触发对 Python 接口的调用,以向其传输一组 Azure ML SDK for Python 指令,从而在 Azure 中构建所需的基础架构,并在该基础架构上部署前一个操作中形成的数据框架数据; 作为执行上述业务流程操作的结果,我们在 Azure 中获得一个存储对象(一个 .csv 文件),其中包含公司的生产级解决方案用于模型训练的最近数据集的导出: _图 3 训练数据集“到达”Azure ML_ 这样,发送方业务流程的主要部分已经结束,但是我们还需要再执行一个操作,同时请记住,我们在 Azure ML 中创建的任何计算资源都是可计费的(参见下图,跳过数据一致性操作): _图 4“发送方”业务流程的最后部分_ (c) 资源清理 – 触发对 Python 接口的调用,以向其传输一组 Azure ML SDK for Python 指令,从 Azure 中删除上一个操作中构建的计算基础架构。 数据科学家所需的数据已经传输完毕(数据集现在在 Azure 中),因此我们可以继续启动将访问数据集的“外部”业务流程,运行至少一次替代模型训练(从算法上讲,替代模型不同于作为生产级解决方案一部分运行的模型),并向数据科学家返回得到的模型质量指标及可视化,从而表示有关公司生产级解决方案运行效率的“审核结果”。 我们现在看一下接收方业务流程:与发送方业务流程(在包含公司自主 AI/ML 解决方案的其他业务流程中运行)不同,它不需要 while 循环,而是包含与在 Azure ML 和 IntegratedML(InterSystems IRIS 中用于自动 ML 框架的加速器)中训练替代模型有关的一系列操作,并将训练结果提取到 InterSystems IRIS 中(该平台也被认为在数据科学家处本地安装): _图 5“接收方”业务流程_ (a) 导入 Python 模块 – 触发对 Python 接口的调用,以向其传输一组指令,导入进一步操作所需的 Python 模块; (b) 设置 AUDITOR 参数 – 触发对 Python 接口的调用,以向其传输一组指令,为进一步操作所需的变量指定默认值; (c) Azure ML 审核 –(我们将跳过任何对 Python 接口触发的进一步引用)将“审核任务”提交到 Azure ML; (d) 解释 Azure ML – 将发送方业务流程传输到 Azure ML 的数据与 Azure ML 的“审核”结果一起获取到本地 Python 会话中(此外,在 Python 会话中创建“审核”结果的可视化); (e) 流式传输到 IRIS – 将发送方业务流程传输到 Azure ML 的数据与 Azure ML 的“审核”结果一起从本地 Python 会话中提取到 IRIS 中的业务流程变量; (f) 填充 IRIS – 将发送方业务流程传输到 Azure ML 的数据与 Azure ML 的“审核”结果一起从 IRIS 中的业务流程变量写入 IRIS 中的表; (g) IntegratedML 审核 – 使用 IntegratedML 加速器“审核”从 Azure ML 接收的数据以及上一个操作中写入 IRIS 的 Azure ML“审核”结果(在此特定情况下,该加速器处理 H2O auto-ML 框架); (h) 对 Python 进行查询 – 将数据和 IntegratedML“审核”结果传输到 Python 会话中; (i) 解释 IntegratedML – 在 Python 会话中,创建 IntegratedML“审核”结果的可视化; (j) 资源清理 – 从 Azure 中删除先前的操作中创建的计算基础架构。 _图 6 Azure ML“审核”结果的可视化_ _图 7 IntegratedML“审核”结果的可视化_ **分布式人工智能一般如何在 InterSystems IRIS 平台上实现** InterSystems IRIS 平台实现分布式人工智能有三种基本方法: ·       根据用户定义的规则和算法,直接交换人工智能项目,并对其进行本地和中央处理 ·       人工智能项目处理委托给专门的框架(例如:TensorFlow、PyTorch),交换的编排和各个准备步骤由用户在 InterSystems IRIS 的本地和中央实例上配置 ·       人工智能项目的交换和处理都通过云提供商(Azure、AWS、GCP)来完成,本地和中央实例只向云提供商发送输入数据并接收最终结果 _图 8 在 InterSystems IRIS 平台上实现分布式人工智能的基本方法_ 这些基本方法可以修改/组合使用:尤其是,在本文的上一节(“审核”)所描述的具体方案中,使用了第三种方法“以云为中心”,将“审核员”部分划分到云端,而在数据科学家一侧执行本地部分(作为“中央实例”)。 目前,在我们生活的现实中,“分布式人工智能”学科的理论和应用要素正在不断积累,但还没有形成“规范形式”,这使得创新实现具有巨大潜力。 我们的专家团队密切关注分布式人工智能作为一门学科的发展,并为其在 InterSystems IRIS 平台上的实现设计加速器。 我们乐于分享我们的内容,并帮助每一个认为这里讨论的领域有用的人开始分布式人工智能机制的原型设计。 您可以使用以下电子邮件地址联系我们的 AI/ML 专家团队 – MLToolkit@intersystems.com。
文章
Michael Lei · 五月 15, 2022

InterSystems IRIS最佳实践---在TLS/SSL中使用操作系统的证书库

有一个简单的新方法可以在Windows和Mac上的InterSystems IRIS 2019.1(和2018.1.2)的SSL/TLS配置中添加证书授权(CA)证书。 你可以通过输入以下内容要求IRIS使用操作系统的证书存储。 %OSCertificateStore 在 "包含受信任证书颁发机构X.509证书的文件 "栏中输入:%OSCertificateStore。 这里有一张如何在门户中这样做的图片: 这里有一个描述这个问题的文档链接。 它在 "包含受信任的证书颁发机构证书的文件 "的选项列表中。 这就是你需要做的所有事情! 现在,这个配置将接受由操作系统证书库中列出的任何CA颁发的证书。
公告
Michael Lei · 五月 16, 2022

DBeaver 官方支持 InterSystems IRIS

我们很高兴地宣布,从7.2.4版本开始,DBeaver已经支持开箱即用InterSystems IRIS的。 你不需要再手动配置它,只要在连接列表中找到IRIS的图标即可。 所有必要的字段都已填写。但是,请不要忘记输入你的用户名和密码。 默认情况下,InterSystems的IRIS驱动程序不包括在DBeaver中。对于第一次连接,DBeaver建议从InterSystems的官方GitHub仓库下载驱动程序。这个驱动程序将被用于所有进一步的连接。 目前的版本不包含IRIS的具体功能,但所有主要的DBeaver功能都将适用于你的数据库。 如果你认为可以添加其他重要的东西,请让我们知道。