本发明涉及计算机软件应用开发技术领域,具体涉及一种跨库传输海量数据的方法。
背景技术:
两个数据库之间海量数据的传输可以通过在机器上建了两个dblink 分别连接原数据库,和目标数据库,写个循环慢慢导,但是海量的数据传输,需要花费很大的时间。
随着烟草行业订货系统从地市公司集中到省级公司集中的转变,为提高订货效率而采用读写分离的数据库,多数据库之间的数据交互日益频繁,原来采用的WEB服务或者联合体方式,都给系统带来很大性能压力,特别需要提出新的改进方案。
技术实现要素:
本发明要解决的技术问题是:本发明针对以上问题,提供一种跨库传输海量数据的方法。
本发明所采用的技术方案为:
一种跨库传输海量数据的方法,所述方法在消费数据库和业务生产库之间跨库交互数据时,在消费数据库创建两份相同的实体表,一份实体表用于对接业务生产库产生的数据,一份实体表用于实时业务消费的数据,可以有效降低业务消费系统对业务生产系统的影响。
所述业务生产库跟业务消费库采用联合体对接,但只对接一份表,将业务生产库生产的数据完全复制到消费数据库对应的实体表中。
在进行某些算法编程的时候,需要使几种不同类型的变量存放到同一段内存单元中。也就是使用覆盖技术,几个变量互相覆盖。这种几个不同的变量共同占用一段内存的结构,被称作"共用体"类型结构,简称共用体,也叫联合体。
所述方法通过将复制的生产数据结合当前的消费数据,处理后生成新的消费数据。
业务消费库两份表之间由业务消费库所在系统的高速服务发起数据交互。
业务生产库和业务消费库的数据交互过程如下:
1、业务生产库产生业务数据;
2、业务数据通过联合体复制到业务消费库;
3、业务生产库系统调用业务消费库系统的高速服务;
4、服务将生产数据的复制结合当前的消费数据,处理后生成新的消费数据。
本发明的有益效果为:
本发明的跨数据库数据传输方法提供了一种满足同时生产和消费的数据同步方案,与现有技术相比,高可用的跨数据库数据传输方法可实现读写分离跨库之间数据的高效率交互,更好的满足客户对业务数据同时生产和消费的高可靠性和高效率要求,具有很好的推广应用价值。
附图说明
图1为本发明生产库和消费库的数据交互示意图示意图。
具体实施方式
下面结合附图,根据具体实施方式对本发明进一步说明:
实施例1:
一种跨库传输海量数据的方法,所述方法在消费数据库和业务生产库之间跨库交互数据时,在消费数据库创建两份相同的实体表,一份实体表用于对接业务生产库产生的数据,一份实体表用于实时业务消费的数据,可以有效降低业务消费系统对业务生产系统的影响。
实施例2
在实施例1的基础上,本实施例所述业务生产库跟业务消费库采用联合体对接,但只对接一份表,将业务生产库生产的数据完全复制到消费数据库对应的实体表中。
在进行某些算法编程的时候,需要使几种不同类型的变量存放到同一段内存单元中。也就是使用覆盖技术,几个变量互相覆盖。这种几个不同的变量共同占用一段内存的结构,被称作"共用体"类型结构,简称共用体,也叫联合体。
实施例3
在实施例2的基础上,本实施例所述方法通过将复制的生产数据结合当前的消费数据,处理后生成新的消费数据。
实施例4
在实施例1、2或3的基础上,本实施例业务消费库两份表之间由业务消费库所在系统的高速服务发起数据交互。
实施例5
业务生产库和业务消费库的数据交互过程如下:
1、业务生产库产生业务数据;
2、业务数据通过联合体复制到业务消费库;
3、业务生产库系统调用业务消费库系统的高速服务;
4、服务将生产数据的复制结合当前的消费数据,处理后生成新的消费数据。
实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。