数据库采用

 

    对于我们所使用的,很多时候都是程序既连接本地数据库又连接远端的数据库,需要与远端的数据库通过接口形式,调用第三方开发商的动态库,再进行后台业务,由于连接两个数据库,进行两家开发商的业务,两家开发商都用事务控制自己的数据流。

      首先在进行这种连接两台数据库的业务时,都应当考虑本地与远端服务器的数据一致性问题,但是由于网络,网络设备等因素往往会导致数据不一致性问题的出现,那么出现这种问题时,有什么更好的办法来解决呢?

      本人在从事医疗软件开发两年,尤其对于医保,农合等的接口开发与设计,对本地与远端数据的提交产生过很多的想法,正如TCP/IP协议所说,我们无法保证我们的每一次通话都能够准确的到达,但我可以确定我三次连接都成功,我不求两个数据库连接多次提交,但我只想通过技术手段,技术逻辑来减少和发现这类差异数据,对查找这类差异数据提供保证,所以在对程序使用事务控制业务数据的提交方面我的想法如下:

    1.  在大部分情况下,优先提交远端,确保远端有记录,如果远端提交失败,这时候远端,与本地都回滚。

    2.提交远端,如果远端成功,这时候,可以提交本地,但同时本地提交有可能失败,或是成功,如果成功则业务完成。

   3 如果本地提交失败,那么这个时候,远端已经成功,无法回滚,本地失败,必然回滚,这样照成了本地与远端的数据差异。此时,我们应当知道这种情况。

   4.程序判断出远端与本地的不一致性,这个时候,程序给出友好提示,并把失败信息记录下来,便于事后的处理。

   5.由于我们大部分都是优先提交远端,在提交本地,那么很多时候都是远端数据比本地多,这个时候,对于本地的问题,我们可以进行开发各种插件来补充这种差异。

 

     远端数据,与本地数据不一致,时常是困扰着我们,对于这么两个开发商的程序,做的两套系统,一旦出现问题就会出现踢皮球的现场,或是由一方的工程师开始查找,并进行处理,这样的人海战术很不合理,我们是否能通过技术手段,来减少这种差异,或是通过技术手段,查找差异,用程序来代替人脑的劳动呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值