使用 IBM FileNet P8 实现序列号分发器
2009-12-09 00:00:00 来源:WEB开发网核心提示:简介很多小商店都按照客户到来的大约顺序给他们发放一个序列号,从而让他们有序地排队,使用 IBM FileNet P8 实现序列号分发器,序列号通常由一台机器打印在一小段纸条上,如果多个客户同时光临,我们获取到的下一个号码总是大于前一个号码, 我们希望号码分配能够在包含多线程、多处理器、多服务器、多层和多用户 P8 环境
简介
很多小商店都按照客户到来的大约顺序给他们发放一个序列号,从而让他们有序地排队。序列号通常由一台机器打印在一小段纸条上。如果多个客户同时光临,出于礼貌原因,排队的次序可能受到干扰。
免责声明
附带的样例代码由 IBM 公司创建。该样例代码不是任何标准或 IBM 产品的一部分,提供的目的仅是帮助您开发应用程序。该代码按原样提供,不提供任何形式的保证。IBM 对使用该样例代码导致的损失不负任何责任,不管是否提示可能导致的损失。
软件系统中也通常出现类似的问题。我们需要为事件分配一个号码,同时要确保该号码是唯一的,并且遵从一定的模式。可以通过一些常见的解决方案解决这个问题,但分布式系统让问题变得更加复杂。如果您要使用 ECM 系统为小面包店的客户分配号码,这是非常不现实的。不过,您可能需要分配客户 ID、零件号码或其他更简单的号码。数据库供应商为这类问题实现了序列化列类型。不过,P8 不提供对数据库序列号类型的直接访问,因此您必须使用其他机制。
在本文中,我们将探索如何在 P8 环境中解决该问题。我们先了解需求:
我们需要确保分配的号码是绝对唯一的。同一个号码被分配两次是不可接受的。
我们想要号码遵从某种模式,避免号码分配中出现间断。模式可能包含很多东西,但为了进行演示,本文仅使用简单的递增模式。我们获取到的下一个号码总是大于前一个号码。
我们希望号码分配能够在包含多线程、多处理器、多服务器、多层和多用户 P8 环境中可靠地工作,并且实现出色的性能。
赞助商链接