多线程、quartz 定时器同步两个数据库,匹配数据表流程和详情

本文介绍了在无法直接访问远程ERP接口的情况下,如何通过Quartz定时器和多线程每分钟从供应商的中间库获取数据,然后与本地数据库进行匹配和同步。同步流程涉及到四个表的数据,通过比较时间戳来确定最新数据,最终在本地生成可供展示的表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      同步数据不外乎两种方法:一是通过对方ERP提供的API接口直接操作数据库,二是通过中间库的形式同步数据库,可想而知最好的办法是第一种,第二种方法我们采取每一分钟读取一次的方法,会有时间误差,且开销也比较高。由于某些特殊原因我们暂且采用了第二种方法同步数据,基本流程如上图所示,要匹配供应商的数据库,把数据拿到我本地进行操作,供应商那边分出了一个中间库给我们操作,对方只提供商品的基本信息,存在四个表中,并且有一个时间表用于比较他是否更新了数据,如果他更新数据则会改变基本表中的时间戳,此时时间会比时间表中的时间大,当我们此时比较式就会查出最新的数据,抽取出来根据特定字段同步到本地数据库中。在于本地大库的数据匹配,添加上其他字段形成可以使用的展现表。

   技术方面我们采用定时器方法,固定时间内抓取数据,定时器方案如下代码所示:

<span style="font-size:14px;">new Thread(){
			public void run(){
				Connection conn = null;
				try {//由于对接的供应商数量还不确定,我们采用jdbc动态数据源的方式操作对方中间库
					 conn = DBUtils.getConnection(url, user, password, driverName);//获取中间库Connection
				} catch 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值