一種多系统异步更新的系统和方法
【專利名稱】:
一種多系统异步更新的系统和方法
【發明背景】适用于更新操作涉及的更新数据较多,耗时较长,且与业务
系统关联较小,业务系统无需立即显示数据更新详情的情况。
【技術內容說明與揭露】
【具體作法】
1. 用户进入业务系统,点击或者操作更新动作,引发更新事件,
例如主管核准、管制系统等。更新事件将首先访问数据库,更
新该记录标志位,设置为待更新状态(如 0),更新成功后返回用
户以作成功之提示。用户收到的成功提示,实际上是一个虚拟
的提示,并没有真正完成数据的更新,但是用户并不需要关心
数据更新的情况。
2. 数据库中将产生一待更新队列,按照时间先后顺序排列。有一
个或者多个更新服务实时提取队列中的记录,每个服务只取最
早的一笔记录,并更新其状态为更新中(如 1),从待更新队列中
移除。
3. 更新服务根据记录更新要求,更新一个或者多个资料库的信息,
可以通过执行数据库存储过程或者代码加 SQL 语句的形式来完
成。完成之后将更新其状态为已完成(如 10)。如果更新失败,将
会恢复其状态为待更新状态(如 0),重新加入待更新队列中,继
续等待更新服务处理,这种方式可以解决当大部分更新失败的
问题,大多数问题都是由于数据库超时、链接失败、网络故障
等非逻辑性的问题,通过多次尝试一般都是可以更新成功的。
当然每次失败都将被记录,一旦超过一定次数(可以由配置文件
控制)之后,将不会再设置为待更新状态(如 0),而是失败状态
(如 50),系统将自动通知相关人员处理该失败记录。
【流程圖】
【說明】
图 A 为原有系统数据更新的方式,用户通过同步的方式,待数据
评论0
最新资源