系统“心跳”功能主要用于对联合系统功能的监测以及实现自身某些功能的自动切换。例如信息系统在做了单点登录整合之后,为降低系统耦合紧密的风险,可以适当保留系统的本地登录功能。然后利用系统“心跳”功能实现二者对用户透明的自动切换,从而增加系统健壮性,防止因为统一认证系统的故障而引起全局瘫痪。
那么什么是“心跳”功能呢?“心跳”功能即是利用周期性访问,从而确定其它系统功能是否正常的方法。以前面情况为例,实现步骤如下:
1,在统一认证系统中开一个“心跳”线程,定时执行一个访问A系统操作,访问A系统的S接口;
2,A系统实现一个接口S,接口S功能为每接到一个访问请求,则记录一条被访问记录,例如:2009-3-18 fw
3,系统A同时需要也开一个“心跳”线程,没隔一定时间,访问接口S所做的被访问记录,查看最后一条记录是否有陈旧记录标识,如果没有,则证明单点系统有最新“心跳”传来,其功能为无故障。最后线程在此记录后添加(陈旧)标识,例如:2009-3-18 fw old
如果发现最后一条记录具有(陈旧)标识,则根据具体情况的配置,将记录标识为例如2009-3-18 fw old1,等达到2009-3-18 fw old5的时候,证明统一认证系统已长久没有最新心跳传来,其出现功能故障,则A系统自动切换为本地认证;
需要注意的是,由于存在网络传输时限和误差,系统A的“心跳”线程跳动间隔时间最好要大于统一认证系统“心跳”线程跳动间隔时间。




