流程数据保留策略
执行流程会生成大量作业数据,这些数据可能会迅速占用您的 Orchestrator 数据库。保留策略可帮助您有组织地释放数据库。
什么是保留策略?这是一项确保内置数据卸载功能的协议,方法是设置操作以在一段时间后从数据库中删除数据。 会发生什么? 由于数据库更轻,Cloud Orchestrator 的性能会更好。
对于指定流程,您配置的保留策略适用于同时满足以下条件的所有作业:
- 对于已完成的作业:
- 它们具有最终状态:“ Faulted ”、“ Successful ”、“ Stopped ”。
- 结束时间已超过 X 天,X 为保留期限。
- 对于未完成的作业:
- 它们具有非最终状态:“待处理”、“正在停止”、“正在终止”。
- 已超过 X 天内未修改,X 为保留期限。
保留期是按照日历天数计算而得。因此,符合条件的作业将在 X+1 个日历日删除,X 表示保留持续时间,+1 表示删除在下一个日历日执行。
请注意,删除可能会在时间刚进入下一个日历日时执行,因此与保留期限的结束时间只有几个小时的间隔。
例如,假设您将保留期限设置为一天:
如果作业的结束日期为 2022 年 6 月 6 日 00:01:00(日历日的第一分钟)或 2022 年 6 月 6 日 23:59:00(日历日的最后一分钟),则该作业符合在 6 月 8 日(6 月 8 日 + 1 天保留期 + 1 天后 = 6 月 8 日)运行的删除作业的条件。
因此:
- 我们会在下一个日历日存档您的作业数据,以确保至少将其保留一个日历日(保留期限),并且
- 我们的目标是确保在下一个日历日结束之前存档您的项目。
以下是保留策略的类型:
- 新创建流程的默认策略 - 系统将在 30 天后删除在新流程中创建的所有作业,且删除操作无法撤销。这是内置选项。
- 自定义策略 - 在您选择的保留期限过后,系统将删除或存档所有作业。 可以按照配置自定义保留策略部分中的说明配置此选项。
- 已完成的作业:
- 默认持续时间为 30 天。
- 最长持续时间为 180 天。
- 未完成的作业:
- 默认持续时间为 180 天。
- 最长持续时间为 540 天。
- 已完成的作业:
30 天的默认策略适用于:
- 未关联流程的作业
- 关联流程已遭删除的作业
自定义保留策略具有以下结果:
- 它将删除早于指定持续时间的作业。
-
这一类型会删除超过指定持续时间的有效作业,但会将其数据存档到现有存储桶中,以供后续参考。这样,您可以在不丢失信息的情况下卸载 Orchestrator 数据库。
备注:包含已删除作业信息的 Insights 仪表板会继续显示正确的数据。
Orchestrator 中的删除操作不会传播到 Insights。
注意:我们会保留已删除作业的唯一引用,因此添加新作业不会创建重复的唯一引用。
后台作业每天在您的服务器不忙时运行,并执行所有保留策略所需的操作。
最初,需要处理大量数据。为避免对运营性能产生任何影响,该作业可能需要大约一个月的时间来解析其数据积压并将其精准定位到各天。
因此,政策可能不会立即生效,但会在大约一个月后生效。
例如,假设您为流程配置了 45 天的删除策略。该策略在第 1 阶段结束时变为活动状态,但需要大约一个月的时间来保证删除所有 45 天前的作业。这是第一次出现异常,以便作业完成数据积压。
如果您不想丢失作业数据,但需要从 Orchestrator 数据库中卸载此信息,请存档作业。
先决条件:您需要存储桶来存储已存档的作业。
要检索存档信息,请从关联的存储桶中访问存档文件。
注意 1:您可以使用 Orchestrator 存储桶,也可以链接外部存储桶。
注意 2:您使用的存储桶不得为只读存储桶,以便系统可通过存档操作向其中添加项目。
注意 3:您可以使用相同的存储桶来存档来自不同流程的流程项目。
注意 4:此字段仅适用于“存档”选项。
注意 5:系统会在“租户”>“审核”页面上记录成功的存档操作,并会通过“操作”类型将其识别为存档。
注意 6:如果错误中断了存档操作,则会收到警示通知,以便修复错误。系统会在下次运行删除时(下一个日历日)重试存档操作。在成功重试存档之前,无法查看或访问受影响的作业。
.zip
文件,其路径为:
“Archive/Processes/Process-{process_key}/{archiving_operation_date}-{archiving_operation_timestamp}.zip”,其中各项含义如下:
- {process_key} - 包含作业的流程的唯一标识符
- {archiving_operation_date} - 生成存档时的 UTC 日期,采用
yyyy-MM-dd
格式 -
{archiving_operation_timestamp} - 生成存档时的 UTC 时间,采用
HH-mm-ss-fff
格式例如,存档文件可以命名为Archive/Processes/Process-1d1ad84a-a06c-437e-974d-696ae66e47c2/2022-05-26-03-00-08-496.zip
。
.zip
文件将显示具有相同名称语法的 .csv
文件:
“流程 -{process_key}-{archiving_operation_date}-{archiving_operation_timestamp}.csv”。
要在客户端中合并保留策略,请在 Swagger 文件中使用发行保留 API 的专用端点:
- GET
/odata/ReleaseRetention
- 返回所有活动策略的列表,其中包含策略操作、保留持续时间(以天为单位)、要应用策略的流程 ID 等信息。 - GET
/odata/ReleaseRetention({key})
- 返回有关指定流程的策略信息。 - PUT
/odata/ReleaseRetention({key})
- 更新有关指定流程的策略信息。 - DELETE
/odata/ReleaseRetention({key})
- 将指定的流程策略重置为默认值(保留 30 天后删除)。
请参阅我们参考指南中的示例。
要轻松识别哪些流程具有自定义保留策略,请从“列”下拉列表中选中相应的复选框,以启用“流程”页面上的“保留操作”和“保留期(天)”列。
“保留操作”列显示策略结果,而“保留期(天)”列显示策略应用之前的剩余时间。
如前所述,30 天保留策略适用于新创建的流程。但是,您不能总是依赖此值来识别具有默认策略的流程。例如,如果您将自定义保留期限设置为 55 天,然后将其更新为 30 天,则生成的策略不是默认策略。要查看这些场景是否代表默认策略,请查看审核页面。
每当后台作业执行与保留策略相关的清理操作(“存档”+“删除”或仅“删除”)时,系统都会代表管理员在审核中创建相应的条目。
1 表示“存档”操作类型。1 表示“删除”操作类型。