好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

一种使前后台数据库中数据相一致的方法.docx

3页
  • 卖家[上传人]:ting****789
  • 文档编号:308597146
  • 上传时间:2022-06-12
  • 文档格式:DOCX
  • 文档大小:18.17KB
  • / 3 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 一种使前后台数据库中数据相一致的方法专利名称:一种使前后台数据库中数据相一致的方法技术领域:本发明涉及采用前后台配置方式的系统,尤指一种使前后台数据库中数据相一致的方法背景技术: 对于采用前后台配置方式的系统中,在联机状态下,后台有一套完整的数据库,前台各单板具有一套和自身单板相关的数据库,包括全局数据和本板数据在每次更新时,后台向前台各板广播要执行的事务操作,等到收到各板返回的成功响应后,再更新后台数据库数据但是,当后台接收返回消息超时,会认为数据更新失败,而此时前台单板已更新了数据,这就造成前台部分单板数据与后台数据库数据不一致的现象在出现这种不一致问题后,以后再对数据库数据进行更新,往往会失败,这将影响以后对系统的操作和维护发明内容本发明提供一种使前后台数据库中数据相一致的方法,解决前后台配置系统中由于数据更新带来前后台数据库数据不一致的问题本发明方法包括下列步骤A)设定前台单板数据库的版本号;B)后台向前台单板发送数据更新命令消息,该数据更新消息中包含后台保存的对应单板数据库的版本号;C)前台对应单板接收消息后,判断消息中携带的版本号和本板中数据库的版本号是否相同;D)如果是,则执行更新命令,转入步骤E;如果否,则向后台返回失败消息,结束本次数据更新过程;E)进一步判断数据更新命令是否成功执行,如果是,则将本板数据库的版本号升级,并向后台返回成功消息和升级后的版本号,转入步骤F;否则,向后台返回失败消息和本板当前版本号,转入步骤G;F)后台接收前台单板返回的成功消息后,更新后台数据库中的相应数据,并升级对应数据库的版本号,结束本次数据更新过程;G)将该次数据更新命令作为单板事务记录到一单板事务存储空间中;H)后台根据单板事务存储空间中的存储记录,再次发起数据更新过程。

      所述步骤D中如果判断结果为否,则进一步包括下列步骤D1)当判断出数据更新消息中携带的版本号为前台单板数据库升级前的版本号时,则在返回的失败消息中指明失败原因是上次已被执行的重复更新命令;D2)后台收到上述失败消息后,更新后台数据库中对应上次更新命令的数据并升级数据库的版本号,使之与前台单板数据库的版本号相一致;D3)结束本次数据更新过程D4)当判断出数据更新消息中携带的版本号为前台单板数据库当前版本号的升级后版本,则在返回的失败消息中指明失败原因是后台版本超前;D5)后台收到上述失败消息后,则使前台单板重新读取后台数据库当前版本的数据,并使前台单板数据库的版本号与后台一致;检查单板事务存储空间是否存储有与本板相关的单板事务记录,如果有,则按时间顺序重发这些记录所对应的数据更新命令,继续数据更新过程;否则,等待后台发出下一更新命令所述步骤E中如果判断结果为否,进一步包括下列步骤G1)判断更新数据是否为非法数据,如果是,则在失败消息中注明失败原因为数据非法;G2)后台收到上述失败消息后,结束本次数据更新过程所述步骤H包括判断连续重发数据更新过程是否超过规定次数,如果是,则使前台单板重新读取后台数据库当前版本的数据,并使前台单板数据库的版本号与后台一致;并清空事务存储空间中的所有事务记录。

      根据本发明的上述方法,后台可同时向前台所有单板广播数据更新命令,每块单板更新命令中包括后台数据库中保存的该单板数据库的版本号和具体事务当各单板中返回有失败消息时,则对返回失败消息的单板单独重发数据更新命令根据本发明的上述方法,在后台中,可为每块单板设置一单板事务存储空间使用本发明的方法,能有效避免前后台配置系统中前后台数据库中数据不一致的问题,确保后台能对前台单板实现正确操作与维护具体实施例方式在后台,为前台每块单板保留一个事务存储空间,用来记录失败事务在前台单板和后台中分别保留一个该单板数据库的版本号不管前台还是后台,只要和该单板相关的数据库更新成功,都分别升级各自的版本号在正常情况下,前台版本号应该和后台保持一致在数据更新命令消息中包含后台保存的版本号,在数据更新结果消息中包含前台版本号如果某次数据库更新失败,若不是因为数据非法而且单板工作正常,后台需要从单板事务存储空间中读取单板事务,重新执行若超过规定次数后,仍然没有成功,则认为前后台数据库存在严重不一致情形,需要前台重新读取后台数据和重新设置版本号某一单板的数据库数据更新和其他单板没有关系单板数据更新具体过程如下1、不管是正常的数据更新命令还是重发的数据更新命令,前台收到后,检查消息中携带的版本号,如果和前台单板数据库的版本号相一致,则认为消息合法,执行更新命令;如果执行成功,前台将版本号升级,在更新结果中返回成功消息和升级后的版本号;如果执行失败,在更新结果中返回的失败消息,指出失败原因是数据非法或数据更新过程失败,以及当前前台版本号。

      2、如果数据更新消息中所携带的数据库版本号为前台版本号升级前版本号,则认为是上一次重复命令,在更新结果中返回失败消息,指出失败原因是属于上次重复更新命令;后台收到该失败消息后,更新后台版本号,执行上次事务更新后台数据;3、如果后台版本号是前台版本号升级后版本,这在一般情况下是不可能的,则认为出现严重不一致情形,在更新结果中返回失败消息,失败原因是后台版本超前如果是因为后台版本超前,这表示前后台出现严重不一致,要求前台重新读取后台当前版本配置的数据库数据,前后台版本号同步,以后台版本号为准读取成功后,如果事务存储空间还存在和本板相关的失败事务,那么按照失败的时间顺序再重发这些数据更新命令消息,每次执行一个事务只有当一次事务执行成功后,才转发下一个事务4、如果消息丢失,前台没有收到,则不会进行任何处理5、如果前台单板数据库更新成功,前台本板升级版本号,在更新结果消息中返回给后台,后台判断前台返回的版本号就是后台保存的该单板版本升级后的下一个版本,认为数据更新成功,也更新后台该单板数据库的数据和版本号6、如果单板更新成功,版本号也升级,并返回更新结果消息,但后台接收超时,认为前台更新失败,则后台保留原先版本号不变,并保存这次执行的事务到该单板的事务存储空间中。

      7、如果单板更新失败,保持版本不变,并向后台返回失败消息和当前版本号,指出失败原因如果是因为数据非法,那么后台认为这是一次无效更新,保持后台版本号不变,不记录这次事务过程;否则,认为是数据更新过程失败如果是数据更新过程失败,那么后台认为本次更新失败,保持后台版本不变,记录这次事务过程到事务存储空间,再次发起更新过程对于重新发起的更新过程,如果超过规定次数,仍然没有成功,那么需要前台重新读取后台当前版本配置,前后台版本号同步,清空事务存储空间中的事务如果重新读取过程也失败,则认为单板宕机对于全局数据库更新,后台可同时向前台所有单板广播更新命令,每块单板更新命令中包含后台中该单板数据库版本号和具体事务它要求所有单板同时执行更新命令,每块单板执行情况和本板数据库更新情况类似另外,后台需要在规定时间内接收所有单板的更新结果消息对于全局数据库更新出现部分失败的情况,判断具体情况,对于某些失败的单板,如果需要重发,单独发送更新命令,不向所有单板广播具体情形如下1)如有只有少数单板返回失败,则表示数据是正确的,只是少数单板的数据更新过程失败;则后台升级返回成功的单板的数据库版本号,并更新后台全局数据库数据,对于返回失败的单板,不对其数据库版本号升级,并保存本次事务到该单板的事务存储空间,然后单独对失败单板再发起更新命令。

      具体步骤与单板数据库更新过程相同2)如果前台单板全部返回失败,则只可能是数据非法或全部单板的数据更新过程失败对于前者,可以认为本次更新失败,结束本次数据更新过程,后台保持全局数据库数据不变,各单板版本号不变;对于后者,可以考虑再次重发更新命令,向全部单板广播;如果一直重复多次,仍然都是返回数据更新过程失败,超过规定次数后,可以认为本次更新命令失败,结束本次数据更新过程3)若返回的数据更新结果除成功外,至少有一块单板接收超时或失败,则后台更新全局数据库数据,同时更新返回成功单板的数据库版本号,对接收超时或失败的单板单个重发更新命令以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内因此,本发明的保护范围应该以权利要求书的保护范围为准权利要求1.一种使前后台数据库中数据相一致的方法,包括下列步骤A)设定前台单板数据库的版本号;B)后台向前台单板发送数据更新命令消息,该数据更新消息中包含后台保存的对应单板数据库的版本号;C)前台对应单板接收消息后,判断消息中携带的版本号和本板中数据库的版本号是否相同;D)如果是,则执行更新命令,转入步骤E;如果否,则向后台返回失败消息,结束本次数据更新过程;E)进一步判断数据更新命令是否成功执行,如果是,则将本板数据库的版本号升级,并向后台返回成功消息和升级后的版本号,转入步骤F;否则,向后台返回失败消息和本板当前版本号,转入步骤G;F)后台接收前台单板返回的成功消息后,更新后台数据库中的相应数据,并升级对应数据库的版本号,结束本次数据更新过程;G)将该次数据更新命令作为单板事务记录到一单板事务存储空间中;H)后台根据单板事务存储空间中的存储记录,再次发起数据更新过程。

      2.如权利要求1所述的一种使前后台数据库中数据相一致的方法,其特征在于所述步骤D中如果判断结果为否,则进一步包括下列步骤D1)当判断出数据更新消息中携带的版本号为前台单板数据库升级前的版本号时,则在返回的失败消息中指明失败原因是上次已被执行的重复更新命令;D2)后台收到上述失败消息后,更新后台数据库中对应上次更新命令的数据并升级数据库的版本号,使之与前台单板数据库的版本号相一致;D3)结束本次数据更新过程3.如权利要求1所述的一种使前后台数据库中数据相一致的方法,其特征在于所述步骤D中如果判断结果为否,则进一步包括下列步骤D4)当判断出数据更新消息中携带的版本号为前台单板数据库当前版本号的升级后版本,则在返回的失败消息中指明失败原因是后台版本超前;D5)后台收到上述失败消息后,则使前台单板重新读取后台数据库当前版本的数据,并使前台单板数据库的版本号与后台一致;检查单板事务存储空间是否存储有与本板相关的单板事务记录,如果有,则按时间顺序重发这些记录所对应的数据更新命令,继续数据更新过程;否则,等待后台发出下一更新命令4.如权利要求1所述的一种使前后台数据库中数据相一致的方法,其特征在于所述步骤E中如果判断结果为否,进一步包括下列步骤G1)判断更新数据是否为非法数据,如果是,则在失败消息中注明失败原因为数据非法;G2)后台收到上述失败消息后,结束本次数据更新过程。

      5.如权利要求1所述的一种使前后台数据库中数据相一致的方法,其特征在于所述步骤H包括判断连续重发数据更新过程是否超过规定次数,如果是,则使前台单板重新读取后台数据库当前版本的数据,并使前台单板数据库的版本号与后台一致;并清空事务存储空间中的所有事务记录6.如权利要求1所述的一种使前后台数据库中数据相一致的方法,其特征在于后台可同时向前台所有单板广播数据更新命令,每块单板更新命令中包括后台数据库中保存的该单板数据库的版本号和具体事务7.如权利要求6所述的一种使前后台数据库中数据相一致的方法,其特征在于当各单板中返回有失败消息时,则对返回失败消息的单板单独重发数据更新命令8.如权利要求6所述的一种使前后台数据库中数据相一致的方法,其特征在于在后台中,可为每块单板设置一单板事务存储空间全文摘要本发明有关一种使前后台数据库中数据相一致的方法,包括步骤设定前台单板数据库的版本号;后台向前台单板发送数据更新命令消息,该数据更新消息中包含后台保存的对应单板数据库的版本号;前台单板判断。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.