本发明涉及数据传输技术领域,具体地说是一种多数据库间数据传输的算法 。
背景技术:
互联网不断发展的今天,多系统交互越来越频繁,因此数据在多数据库之间传输越来越常见,那么数据传输的速度和准确性直接决定了的系统间交互的可行性。
当前订单采集系统,传统的订单处理方法,是按照订单提交顺序,单个处理订单,当订单处理完成之后,将订单数据传输给订单业务系统,并根据订单业务系统的处理结果,做后续处理。这样虽保障了订单的实时性和高准确性,却也大大的消耗了系统资源。
技术实现要素:
本发明的技术任务是针对以上不足之处,提供一种多数据库间数据传输的算法 ,将订单采集过程和数据传输过程拆分,当订单采集系统采集完数据之后,通过消息中间件的方式,将订单数据准实时的传输到订单业务系统。
本发明解决其技术问题所采用的技术方案是:
一种多数据库间数据传输的算法 ,转换订单并进行逻辑判断,通过分析订单行为和订单操作时间,来确认是否和如何执行数据库操作;
具体操作处理流程如下:
1、解析订单数据,
将传输过来的新订单数据进行数据解析,转换成订单业务系统可识别的数据。
2、订单数据检查,
检查订单业务系统是否已经存在该订单号的旧订单:如果不存在,执行插入操作,处理结束;如果存在,则检验订单业务库订单数据是否可以修改:如果不可以修改,处理结束;如果可以修改,继续顺序执行;
3、针对订单不同操作属性执行对应处理,
如果是订单的新增,抛弃该信息,处理结束;
如果是订单的停止,停止业务系统旧订单;
如果是订单的修改,对比订单的时间戳属性:
如果新订单的时间戳大于旧订单,则删除旧订单,插入新订单;
如果新订单的时间戳小于等于旧订单,抛弃该信息,处理结束;
4、处理记录痕迹化,
针对每一次的抛弃的消息,记录抛弃的原因。
进一步的,针对可修改的订单,执行固定标识的逻辑判断。
本发明的一种多数据库间数据传输的算法和现有技术相比,具有以下有益效果:
将订单采集过程和数据传输过程拆分,当订单采集系统采集完数据之后,通过消息中间件的方式,将订单数据准实时的传输到订单业务系统;订单业务系统根据订单的操作属性(新增、修改、删除),分别进行相应的操作,从而确保数据的准确性和交互效率;
该发明应用于烟草业务订单系统以后,在大并发的处理过程中,订单采集系统和订单业务系统数据数据保持准实时一致。
具体实施方式
下面结合具体实施例对本发明作进一步说明。
一种多数据库间数据传输的算法 ,转换订单并进行逻辑判断,通过分析订单行为和订单操作时间,来确认是否和如何执行数据库操作;
具体操作处理流程如下:
1、解析订单数据,
将传输过来的新订单数据进行数据解析,转换成订单业务系统可识别的数据。
2、订单数据检查,
检查订单业务系统是否已经存在该订单号的旧订单:如果不存在,执行插入操作,处理结束;如果存在,则检验订单业务库订单数据是否可以修改:如果不可以修改,处理结束;如果可以修改,继续顺序执行;
3、针对订单不同操作属性执行对应处理,
如果是订单的新增,抛弃该信息,处理结束;
如果是订单的停止,停止业务系统旧订单;
如果是订单的修改,对比订单的时间戳属性:
如果新订单的时间戳大于旧订单,则删除旧订单,插入新订单;
如果新订单的时间戳小于等于旧订单,抛弃该信息,处理结束;
4、处理记录痕迹化,
针对每一次的抛弃的消息,记录抛弃的原因。
针对可修改的订单,执行固定标识的逻辑判断。
本发明将订单采集过程和数据传输过程拆分,当订单采集系统采集完数据之后,通过消息中间件的方式,将订单数据准实时的传输到订单业务系统;订单业务系统根据订单的操作属性(新增、修改、删除),分别进行相应的操作,从而确保数据的准确性和交互效率。应用于烟草业务订单系统以后,在大并发的处理过程中,订单采集系统和订单业务系统数据数据保持准实时一致。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。