并行保护
并行车队使多个单个消息能够联接在一起,以实现所需的结果。 相关消息集可以按任意顺序到达,但BizTalk Server在开始进程之前必须接收所有这些消息。
例如,当医院接纳新患者时,医院需要患者提供的几条信息,包括保险信息、过去的病史和联系信息。 几个不同的人收集此信息,包括保险专家、护士和接待员。 多个不同的系统处理此信息。 无法保证收集和提交此信息的顺序。 例如,信息收集者可能忙于处理其他患者,医疗记录部门可能在他们的日程安排中落后,或者保险系统可能无法正常运行。 在患者住院期间,必须以有组织的方式为患者收集此信息。 这可以保证患者得到适当的护理和准确的计费。
上述方案是需要并行车队消息处理的业务方案的示例。 业务要求规定在患者入院前接收三种不同类型的消息。 这三条消息是“保险”、“历史记录”和“患者”消息。 这些消息中的任何一条都可能是患者到达的第一条消息,这会产生争用条件。 为了解决此问题,将三个 接收 形状放入 一个并行操作 形状中,每个接收都标记为 Activate = True。 这样,三个消息中的任何一个就可以启动业务流程。 业务流程实例将等待其他两条消息到达,然后继续进一步处理。
您可以使用 BizTalk Server 中的“并行关联接收”消息传送设计模式来实现并行保护。 并行相关接收是并行 操作 形状的两个或多个分支中的相关接收语句。 如果在多个并行任务中初始化关联,则每个相关接收必须初始化完全相同的关联集。 接收相关消息的第一个此类任务执行实际初始化,对业务流程中 “并行操作” 形状中的其他任务执行验证。
有关并行 convoy 实现的示例,请参阅 中的 https://go.microsoft.com/fwlink/?LinkId=73703SDK 示例“并行 Convoy”。