文章
· 十月 7, 2022 阅读大约需 4 分钟
第九章 CSP 架构 - CSP 应用程序设置

第九章 CSP 架构 - CSP 应用程序设置

CSP 应用程序设置

CSP 服务器接收到传入的 HTTP 请求时,它使用本地 CSP 应用程序设置来确定如何处理请求。本节介绍 如何使用 CSP 应用程序设置处理 CSP 应用程序请求。

启用对 %CSP 页面的应用程序访问

以下规则管理对页面和类的访问:

  1. 默认情况下,允许用户应用程序访问以下页面:

- 允许 /csp/sys/ 应用程序及其所有子应用程序的页面
- 允许使用 isc/studio/templates//isc/studio/usertemplates/ 应用程序的页面

1 0
0 58
文章
· 十月 19, 2022 阅读大约需 7 分钟
CORS请求Request携带Cookie失败占用License解决方案

CORS请求Request携带Cookie失败占用License解决方案

起因

  1. 因为是前后端分离的项目,前端使用的vue2,后端iris。需要获取cooikesessionid,每次请求时携带cookie,防止每次请求都占用一个license

  2. 登录认证,保持会话期间全局变量,超时退出。

现象

下图是如果不携带cookie每次请求都会新建一个session并且占用一个license

image

6 0
0 241
文章
· 十二月 16, 2022 阅读大约需 2 分钟
第十五章 使用系统监视器 - 系统监控健康状态

第十五章 使用系统监视器 - 系统监控健康状态

基于发布到消息日志的通知,包括由IRIS 实例直接生成的系统警报以及由 System Monitor 和它的 Health Monitor 组件 System Monitor 在共享内存中的寄存器中维护一个总结整个系统健康状况的单一值。

在启动时,系统健康状态是根据在启动过程中发布到消息日志的系统(而不是系统监视器)警报的数量来设置的。系统监视器运行后,可以通过系统警报或系统监视器警报或警告来提升健康状态。自上次系统警报或系统监视器警报或警告发布后 30 分钟过去后,状态将清除到下一个较低级别。下表显示了如何确定系统健康状态。

0 0
0 74
文章
· 一月 29, 2023 阅读大约需 3 分钟
第六十章 使用 ^PERFSAMPLE 监控进程 - 预定义分析示例

第六十章 使用 ^PERFSAMPLE 监控进程 - 预定义分析示例

预定义分析示例

以下是从过程状态维度开始的分析示例。

在此示例中,^PERFSAMPLE319994 个样本中找到了 76755 个处于可样本状态的进程样本(如果选择了忽略空闲的选项,则为非空闲):

0 0
0 62

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

查看 irisstat 输出

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

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

irisstat 文本文件

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

诊断报告任务

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

0 0
0 88

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

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

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

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

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

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

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

0 0
0 75
文章
· 六月 19, 2023 阅读大约需 5 分钟
IRIS通过SNMP发送警告通知的操作

上篇文章IRIS, Caché监控指导 - 警告和告警 发出后收到要求介绍一下发送SNMP通知的具体操作,这里介绍一下。

我省去了SNMP的原理,这个有需要的可以网上查找。这里只做一个配置的操作:测试怎么从一个Windows上安装的IRIS实例发送IRIS Alert给另一台Linux服务器。

第一步: 配置 Windows SNMP

因为安全原因,Windows 10不再默认安装中启动SNMP,用户需要手工安装SNMP启动服务。以下两个文章是古老的Window 2003和新的Windows 10中配置SNMP的安装,给各位做个参考。

2 0
1 131

本文介绍了 InterSystems 客户围绕 SDDC 和 HCI 解决方案的注意事项。

采用软件定义数据中心 (SDDC) 和超融合基础架构 (HCI) 解决方案的 InterSystems 客户需要重点关注的事项

越来越多的 IT 组织正在探究使用SDDC 和 HCI 解决方案的可行性。 这些解决方案看上去很有吸引力,其市场定位为跨异构数据中心和云基础设施可以使得 IT 管理更容易、投入的成本花费更少。 对于 IT 组织来说,潜在的好处是巨大的,许多 InterSystems 客户正在拥抱 SDDC、HCI 或两者兼有。

如果您正在考虑 SDDC 或 HCI 解决方案,请联系您的销售客户经理或销售工程师,安排与技术架构师的通话。 这对于确保成功非常重要。

0 0
0 194
文章
· 二月 4, 2021 阅读大约需 5 分钟
第二十四章 Caché 变量大全 $ZA 变量

# <center> 第二十四章 Caché 变量大全 $ZA 变量

包含当前设备上最后一次读取的状态。

# 大纲

```java
$ZA
```

# 描述

`$ZA`包含当前设备上最后一次读取的状态。

不能使用`SET`命令修改此特殊变量。尝试这样做会导致`<SYNTAX>`错误。

# 注意

## `$ZA`,带终端I / O

`$ZA`被实现为一系列位标志,每个位表示一条特定的信息。下表显示了可能的值、它们的含义,以及如何使用模(`#`)和整数除(`\`)运算符测试它们:

0 0
0 92
文章
· 二月 20, 2021 阅读大约需 6 分钟
第四十二章 Caché 变量大全 $ZTIMESTAMP 变量

第四十二章 Caché 变量大全 $ZTIMESTAMP 变量

包含协调世界时间格式的当前日期和时间。

大纲

$ZTIMESTAMP
$ZTS

描述

$ZTIMESTAMP包含协调的通用时间值形式的当前日期和时间。这是世界范围内的时间和日期标准;此值很可能与当地的时间(和日期)值不同。

$ZTIMESTAMP将日期和时间表示为以下格式的字符串:

ddddd,sssss.fff

其中ddddd是一个整数,指定自1840年12月31日起的天数;sssss是一个整数,指定自当天午夜以来的秒数,fff是一个可变的数字,指定小数秒。这种格式类似于$HOROLOG,只是$HOROLOG不包含分数秒。

假设当前日期和时间(世界协调时)如下:

0 0
0 70
文章
· 三月 7, 2021 阅读大约需 17 分钟
第五章 SQL定义表(二)

第五章 SQL定义表(二)

主键

InterSystems IRIS提供了两种方法来唯一标识表中的行:RowID和主键。

可选的主键是一个有意义的值,应用程序可以使用该值唯一地标识表中的行(例如,联接中的行)。主键可以是用户指定的数据字段,也可以是多个数据字段的组合。主键值必须是唯一的,但不必是整数值。 RowID是一个内部用于标识表中行的整数值。通常,主键是由应用程序生成的值,而RowID是由InterSystems IRIS生成的唯一整数值。

系统会自动创建一个主map,以使用RowID字段访问数据行。如果定义主键字段,系统将自动创建并维护主键索引。

0 0
0 81
文章
· 三月 21, 2021 阅读大约需 9 分钟
第十二章 使用嵌入式SQL(五)

第十二章 使用嵌入式SQL(五)

嵌入式SQL变量

以下局部变量在嵌入式SQL中具有特殊用途。这些局部变量名称区分大小写。在过程启动时,这些变量是不确定的。它们由嵌入式SQL操作设置。也可以使用SET命令直接设置它们,或使用NEW命令将其重置为未定义。像任何局部变量一样,值将在过程持续期间或直到设置为另一个值或使用NEW进行定义之前一直存在。例如,某些成功的嵌入式SQL操作未设置%ROWID。执行这些操作后,%ROWID是未定义的或保持设置为其先前值。

  • %msg
  • %ROWCOUNT
  • %ROWID
  • SQLCODE

这些局部变量不是由Dynamic SQL设置的。 (请注意,SQL Shell和Management Portal SQL接口执行Dynamic SQL。)相反,Dynamic SQL设置相应的对象属性。

0 0
0 113
文章
· 四月 15, 2021 阅读大约需 10 分钟
第二章 定义和构建索引(三)

#

第二章 定义和构建索引(三)

# 位图索引

位图索引是一种特殊类型的索引,它使用一系列位串来表示与给定索引数据值相对应的一组ID值。

位图索引具有以下重要功能:

  • 位图是高度压缩的:位图索引可以比标准索引小得多。这大大减少了磁盘和缓存的使用量。
  • 位图操作针对事务处理进行了优化:与使用标准索引相比,可以在表中使用位图索引,而不会降低性能。
  • 位图上的逻辑操作(countingANDOR)经过优化以获得高性能。
  • SQL引擎包括许多可以利用位图索引的特殊优化。

位图索引的创建取决于表的唯一标识字段的性质:

0 0
0 70
文章
· 四月 29, 2021 阅读大约需 3 分钟
WebGateway系列(4): 配置HTTPS访问IRIS的Web服务

经常被问到有关IRIS如何支持SSL,HTTPS的问题,有必要写个东西介绍一下。

HTTPS的原理

简单的说,https实现两个目的:一是访问网站加密,2是确认被访问的网站是真的。

首先,被访问的网站要申请一个证书,这个证书必须是权威机构发放的,比如google, VeriSign等等,所有的浏览器里有预装了这些组织的公钥(Public Key),因此能确认你提供的证书真是这些组织给出的,而这个证书可以证明你的网站的身份。注意证书证明的是提供服务的组织和服务的真实性,和用什么设备没关系,也就是说,IRIS不管证书的事儿。

接下去,被访问的服务器可以生成公钥和私钥,和客户端交换key,生成整个世界只有两者知道的security code,用来两者之间数据的交换。详细的过程和消息交互可以在网上找到很多很好的文章和视频,比如这个: How does HTTPS work? What's a CA? What's a self-signed Certificate?

0 0
0 265
文章
· 五月 6, 2021 阅读大约需 5 分钟
第三章 使用多维存储(全局变量)(二)

第三章 使用多维存储(全局变量)(二)

遍历全局变量中的数据

有许多方法可以遍历(迭代)存储在全局变量中的数据。

$ORDER(下一个/上一个)函数

ObjectScript $Order函数允许顺序访问全局中的每个节点。

$ORDER函数返回给定级别(下标编号)的下一个下标的值。例如,假设定义了以下全局设置:

 Set ^Data(1) = ""
 Set ^Data(1,1) = ""
 Set ^Data(1,2) = ""
 Set ^Data(2) = ""
 Set ^Data(2,1) = ""
 Set ^Data(2,2) = ""
 Set ^Data(5,1,2) = ""

要查找第一个第一级下标,我们可以使用:

0 0
0 93

我本人和其他技术架构师经常需要向客户和供应商说明 Caché IO 要求以及 Caché 应用程序使用存储系统的方式。 在向客户和供应商说明典型的 Caché IO 配置文件和事务性数据库应用程序的要求时,下面的表格很有用。 原始表格由 Mark Bolinsky 创建。

在以后的帖子中,我将讨论更多关于存储 IO 的内容,所以现在贴上这些表格也作为将来文章的参考。

0 0
0 124
文章
· 六月 3, 2021 阅读大约需 10 分钟
第十五章 Caché WebSocket

第十五章 Caché WebSocket

使用WebSockets (RFC 6455)

web是围绕请求/响应范例构建的:客户机向服务器发送请求,服务器通过向客户机发送响应进行响应。此范式和HTTP本身不允许此通信协议的反向形式,即服务器与客户机启动请求/响应周期。已经开发了许多技术来解决了这个问题,即服务器可以启动与客户机的对话。这些技术通常被称为基于推送或 comet-based的技术,它们都存在不适合在web基础设施上进行全面部署的问题。目前使用的三种主要技术如下所述。

Short Polling 短轮询

使用这种技术,客户端定期发送HTTP请求来检测服务器状态的变化,服务器被编程为立即响应。空响应表示没有变化。

0 0
0 87
文章
· 六月 10, 2021 阅读大约需 4 分钟
第三章 指定输出的字符集

第三章 指定输出的字符集

指定输出的字符集

若要指定要在输出文档中使用的字符集,可以设置Writer实例的Charset属性。选项包括“UTF-8”“UTF-16”以及InterSystems IRIS支持的其他字符集。

Writing the Prolog

XML文件的序言(根元素之前的部分)可以包含文档类型声明、处理指令和注释。

影响Prolog的属性

writer实例中,以下属性会影响prolog:

Charset

控制两件事:XML声明中的字符集声明和(相应的)输出中使用的字符集编码。

NoXmlDeclaration

控制输出是否包含XML声明。在大多数情况下,默认值是0,这意味着已经编写了声明。如果没有指定字符集,并且输出定向到字符串或字符流,则默认为1,并且不写入任何声明。

0 0
0 148
文章
· 六月 22, 2021 阅读大约需 5 分钟
第十五章 XML检查属性

第十五章 XML检查属性

检查属性的基本方法

可以使用%XML.Node的以下方法。以检查当前节点的属性。
- AttributeDefined() 如果当前元素具有具有给定名称的属性,则返回非零(TRUE)。
- FirstAttributeName() 返回当前元素的第一个属性的属性名称。
- GetAttributeValue() 返回给定属性的值。如果元素没有该属性,则该方法返回NULL。
- GetNumberAttributes() 返回当前元素的属性数。
- LastAttributeName() 返回当前元素的最后一个属性的属性名称。
- NextAttributeName() 在给定属性名称的情况下,无论指定的属性是否有效,此方法都会按排序顺序返回下一个属性的名称。
- PreviousAttributeName() 在给定属性名称的情况下,无论指定的属性是否有效,此方法都会按排序顺序返回上一个属性的名称。

0 0
0 73
文章
· 七月 15, 2021 阅读大约需 4 分钟
第四章 使用目录

第四章 使用目录

使用目录

%Library。File类提供了几个类方法,允许对目录执行各种操作。

创建目录

若要创建目录,请使用CreateDirectory()方法,该方法返回一个布尔值来指示成功或失败。这个方法需要两个参数。第一个参数是要创建的目录的名称。第二个参数是输出参数。如果为负,它包含操作系统返回的错误代码,以防方法失败。

如果e:\temp已经存在,以下命令将失败,并显示Windows系统错误代码183,这意味着“当文件已经存在时,无法创建该文件。”

0 0
0 89

第八十一章 方法关键字 - SoapRequestMessage

当多个web方法具有相同的SoapAction时使用此方法。
在默认场景中,该关键字指定请求消息的SOAP正文中的顶级元素的名称。
仅适用于定义为web服务web客户端的类。

用法

要在请求消息的SOAP体中指定顶级元素的名称,请使用以下语法:

Method name(formal_spec) As returnclass [ WebMethod, SoapAction = "MyAct", SoapRequestMessage="MyReqMessage" ] 
{    //implementation }

其中soaprequestmessage是有效的XML标识符。

详解

注意:此关键字仅对包装的文档/文字document/literal消息有效。

0 0
0 60
文章
· 八月 21, 2021 阅读大约需 3 分钟
查询关键字WebMethod,CodeMode,Event,Final

第129章 查询关键字 - WebMethod

指定这个类查询是否为web方法
仅应用于定义为web服务web客户端的类。

用法

要指定这个查询是一个web方法,请使用以下语法:

Query name(formal_spec) As classname [ WebMethod ] {    //implementation }

否则,忽略该关键字或将Not放在该关键字之前。

详情

这个关键字指定这个类查询是否是一个web方法,是否可以通过SOAP协议调用。

默认

如果忽略此关键字,则无法以web方法调用查询。

生成的类

当你将这个关键字添加到类查询并编译类时,类编译器会生成两个额外的类:

0 0
0 69
文章
· 九月 5, 2021 阅读大约需 6 分钟
第七章 SQL命令 CREATE INDEX(二)

第七章 SQL命令 CREATE INDEX(二)

UNIQUE关键字

使用UNIQUE关键字,可以指定索引中的每条记录都有一个唯一的值。
更具体地说,这确保了索引(以及包含索引的表)中的两条记录不能具有相同的排序值。
默认情况下,大多数索引使用大写字符串排序(使搜索不区分大小写)。
在本例中,值“Smith”“SMITH”被认为是相等的,而不是唯一的。
CREATE INDEX不能指定非默认索引字符串排序规则。
通过在类定义中定义索引,可以为各个索引指定不同的字符串排序规则。

可以更改名称空间的默认排序规则,使字段/属性在默认情况下区分大小写。
更改此选项需要重新编译命名空间中的所有类并重新构建所有索引。
转到Management Portal,选择Classes选项,为存储的查询选择名称空间,并使用Compile选项重新编译相应的类。
然后重建所有指数。
它们将区分大小写。

注意:当表的数据被其他用户访问时,不要重建索引。
这样做可能会导致不准确的查询结果。

0 0
0 115
文章
· 九月 18, 2021 阅读大约需 4 分钟
第十九章 SQL命令 CREATE TABLE(六)

第十九章 SQL命令 CREATE TABLE(六)

WITH子句,%CLASSPARAMETER关键字,STORAGETYPE关键字

可选的WITH子句可以在表格元素逗号结尾的圆括号之后和Shard Key定义(如果存在的话)之后指定。
WITH子句可以包含一个用逗号分隔的列表:
- 一个或多个%CLASSPARAMETER 子句。
- STORAGETYPE子句

0 0
0 56
文章
· 十月 18, 2021 阅读大约需 8 分钟
第四十九章 SQL命令 GROUP BY

第四十九章 SQL命令 GROUP BY

SELECT子句,它根据一个或多个列对查询的结果行进行分组。

大纲

SELECT ...
GROUP BY field {,field2}

参数

  • field - 从其中检索数据的一个或多个字段。
    单个字段名或以逗号分隔的字段名列表。

描述

GROUP BYSELECT命令的一个子句。
可选的GROUP BY子句出现在FROM子句和可选的WHERE子句之后,可选的HAVINGORDER BY子句之前。

0 0
0 63