シナリオ:
2 つの異なるサービステリトリーに対して、2 つの OR が同時にトリガーされます。これらのテリトリーに配置されているサービスリソースは次のとおりです。
| サービスリソース | テリトリー 1 (プライマリ) | テリトリー 2 (セカンダリ) |
| サービスリソース A | プライマリ | セカンダリ |
| サービスリソース B | プライマリ | セカンダリ |
両方の OR が同時に開始されます。
| 最適化リクエスト | 対象テリトリー | 開始時刻 | 完了時刻 | 重複発生の有無 |
| OR 1 | テリトリー 1 | 01:00 AM | 01:14 AM | なし |
| OR 2 | テリトリー 2 | 01:00 AM | 01:28 AM | あり |
FSL 最適化エンジンでは、スケジュールされた実行を処理するときに楽観的並行性制御モデルが使用されます。
データスナップショット: 実行の開始時に、各 OR は関連するすべてのリソースの対応可能状況と予定データについて、その時点でのスナップショットを取得します。
独立実行: 最適化エンジンは、この固定された独立スナップショットのみを参照して実行されます。
コミットフェーズ: OR は処理を完了すると、処理の実行中に元となるデータが変更されたかどうかを再確認することなく、スケジュール結果をデータベースにコミットします。
OR 1 と OR 2 が同時に開始されると、それぞれが同一のデータスナップショットを取得します。最初に完了した OR (OR 1) は、有効な割り当てを正常にコミットします。ただし、2 番目の OR (OR 2) が完了すると、古くなったスナップショットに基づいて変更が書き込まれ、意図せず OR 1 の割り当てが上書きされ、重複する予定が作成されます。
# 「テリトリーを照合」でこれを防ぐことができない理由:
一般的に、システム管理者は「テリトリーを照合」の作業ルールによってテリトリーの最適化処理が分離されることを期待します。このルールは正しく動作するものの、データベーストランザクションではなくポリシー範囲を制御します。
| 「テリトリーを照合」の動作 | この問題を防げるか |
| テリトリー 2 の OR が、テリトリー 2 の SA をスケジュールするよう制限 | はい (正しく適用) |
| テリトリー 1 の OR が、テリトリー 1 の SA をスケジュールするよう制限 | はい (正しく適用) |
| テリトリーをまたいだ SA の割り当てを防止 | はい (正しく適用) |
| 共有リソースを同時実行の OR 処理からロック | いいえ (このルールの適用範囲外) |
| 実行中にリソースの対応可能状況を更新 | いいえ (このルールの適用範囲外) |
| 同時実行される OR 間の競合を検出 | いいえ (このルールの適用範囲外) |
結果的に発生した重複は、ポリシー違反や設定ミスによるものではありません。これは、2 つの独立したプロセスが同じ物理リソースを同じ時間枠にスケジュール設定してしまうことで発生する、データの競合状態です。
サービスリソースのプールを共有するサービステリトリーでは、最適化リクエストのスケジュールをずらしてください。
重複の特定: 同じサービスリソース (プライマリまたはセカンダリ) を共有するすべてのサービステリトリーを洗い出します。
プライマリテリトリーの優先度付け: プライマリ/高優先度テリトリーの OR を最初に実行するようにスケジュール設定します。
バッファの導入: 開始時刻の間に十分な間隔を確保します。最初の OR の一般的な完了時刻から 20 ~ 30 分後に、次の OR を開始するようにバッファを適用します。
| スケジュールモデル | OR 1 (テリトリー 1) の開始 | OR 2 (テリトリー 2) の開始 | 結果 |
| 変更前 (問題あり) | 01:00 AM | 01:00 AM | 競合状態が発生し、予定が重複する。 |
| 変更後 (推奨) | 01:00 AM | 01:30 AM | 問題なく実行される。OR 2 のスナップショットに、OR 1のコミット済みの変更が反映される。 |
OR をずらすことで、2 番目の OR は最初の OR でコミットされた変更がすでに反映されたスナップショットを取得するため、競合状態が解消されます。
005387523

We use three kinds of cookies on our websites: required, functional, and advertising. You can choose whether functional and advertising cookies apply. Click on the different cookie categories to find out more about each category and to change the default settings.
Privacy Statement
Required cookies are necessary for basic website functionality. Some examples include: session cookies needed to transmit the website, authentication cookies, and security cookies.
Functional cookies enhance functions, performance, and services on the website. Some examples include: cookies used to analyze site traffic, cookies used for market research, and cookies used to display advertising that is not directed to a particular individual.
Advertising cookies track activity across websites in order to understand a viewer’s interests, and direct them specific marketing. Some examples include: cookies used for remarketing, or interest-based advertising.