【技术实现步骤摘要】
一种数据库与对象存储的事务一致性处理方法及系统
本专利技术涉及数据库
,尤指一种数据库与对象存储的事务一致性处理方法及系统。
技术介绍
在IT系统设计和建设过程中,技术人员需要保证用户单次交易的原子性,即用户单次交易可能涉及多次数据库操作,需要保证如果交易成功,所有数据库操作全部成功,如果交易失败,不管交易进行到哪一步,都需要保证本次操作所有数据库操作全部回退至操作前的状态。现有成熟的商用数据库产品通常可以使用自带的机制保障用户单次交易所有数据库操作的事务一致性。但是,对于分布式影像管理平台来说,用户单次上传影像包括元数据和影像文件两部分,元数据存储在数据库中,影像文件存储在对象存储中。按照业务规则,要求用户在上传影像时,如果交易成功,则数据库中必须存在该影像的元数据信息,对象存储中必须存在该影像文件;而对于影像修改和删除交易,必须保证存储在数据库中的元数据和存储在对象存储中的影像文件必须同时修改、删除成功或同时修改、删除失败。基于上述分布式影像管理平台,目前常用的保证多种存储中事务一致性的方法多为失败后重试或进行反向操作的方式来实现,具体流程为:用户一次上传影像操作需上传影像文件和影像元数据信息,应用程序校验无误后先将影像元数据信息插入数据库,完成一次数据库事务,再将影像文件上传至对象存储中,如果上传成功,则交易完成,但如果上传影像文件至对象存储失败,则需对已经插入数据库中的元数据信息进行删除操作。或者先上传影像文件至对象存储,再将影像元数据信息插入数据库,如果插入数据库失败,则将对象存储中刚 ...
【技术保护点】
1.一种数据库与对象存储的事务一致性处理方法,其特征在于,该方法包括:/n获取交易的数据文件及文件元数据信息;/n在柔性事务表中记录数据文件存储信息;/n将所述数据文件上传至对象存储的位置;其中,/n若上传数据文件失败,返回交易失败信息;/n若上传数据文件成功,继续执行数据库事务,将对应的所述文件元数据信息记录至数据库数据表,并删除所述柔性事务表中所述数据文件对应的数据文件存储信息;其中,若所述数据库事务执行成功,返回交易成功信息;若所述数据库事务执行失败,返回交易失败信息;/n定时读取所述柔性事务表中的数据文件存储信息;/n根据读取到的所述数据文件存储信息,在所述对象存储中批量查找对应的数据文件,将查找到的数据文件进行删除;/n在删除数据文件成功或在所述对象存储中未查找到相应数据文件时,将柔性事务表中记录的相应数据文件存储信息进行删除。/n
【技术特征摘要】
1.一种数据库与对象存储的事务一致性处理方法,其特征在于,该方法包括:
获取交易的数据文件及文件元数据信息;
在柔性事务表中记录数据文件存储信息;
将所述数据文件上传至对象存储的位置;其中,
若上传数据文件失败,返回交易失败信息;
若上传数据文件成功,继续执行数据库事务,将对应的所述文件元数据信息记录至数据库数据表,并删除所述柔性事务表中所述数据文件对应的数据文件存储信息;其中,若所述数据库事务执行成功,返回交易成功信息;若所述数据库事务执行失败,返回交易失败信息;
定时读取所述柔性事务表中的数据文件存储信息;
根据读取到的所述数据文件存储信息,在所述对象存储中批量查找对应的数据文件,将查找到的数据文件进行删除;
在删除数据文件成功或在所述对象存储中未查找到相应数据文件时,将柔性事务表中记录的相应数据文件存储信息进行删除。
2.根据权利要求1所述的数据库与对象存储的事务一致性处理方法,其特征在于,在柔性事务表中记录的所述数据文件存储信息包括:
数据文件的数量及数据文件存储在对象存储的位置。
3.根据权利要求2所述的数据库与对象存储的事务一致性处理方法,其特征在于,在柔性事务表中记录数据文件存储信息,还包括:
在记录数据文件存储信息成功后,将所述数据文件上传至对象存储的位置;
在记录数据文件存储信息失败后,返回交易失败信息。
4.根据权利要求2所述的数据库与对象存储的事务一致性处理方法,其特征在于,将所述数据文件上传至对象存储的位置,包括:
若文件上传的位置与所述柔性事务表中记录的对象存储的位置不一致,或文件上传发生报错,判定上传数据文件失败,返回交易失败信息。
5.根据权利要求1所述的数据库与对象存储的事务一致性处理方法,其特征在于,所述数据库事务包括两个操作:
第一操作是将对应的所述文件元数据信息记录至数据库数据表;
第二操作是删除所述柔性事务表中所述数据文件对应的数据文件存储信息;
其中,所述两个操作的结果保持相同,为全部执行成功或全部执行失败。
6.根据权利要求1所述的数据库与对象存储的事务一致性处理方法,其特征在于,根据读取到的所述数据文件存储信息,在所述对象存储中批量查找对应的数据文件,将查找到的数据文件进行删除,包括:
若删除数据文件失败,等待下一次定时读取所述柔性事务表中的数据文件存储信息,进一步处理删除失败的数据文件。
7.根据权利要求6所述的数据库与对象存储的事务一致性处理方法,其特征在于,在删除数据文件成功或在所述对象存储中未查找到相应数据文件时,将柔性事务表中记录的相应数据文件存储信息进行删除,包括:
若删除柔性事务表中记录的相应数据文件存储信息失败,等待下一次定时读取所述柔性事务表中的数据文件存储信息,进一步处理删除失败的柔性事务表中记录的相应数据文件存储信息。
8.一种数据库与对象存储的事务一致性处理系统,其特征在于,该系统包括:
信息获取模块,用于获取交易的数据文件及文件元数据信息;
信息记录模块,用于在柔性事务表中记录数据文件存储信息;
文件上传模块,用于...
【专利技术属性】
技术研发人员:牛安宇,李小平,张煌辉,瞿欢,秦荣倩,李慧,刘朝晨,刘湘,袁琳,
申请(专利权)人:中国银行股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。