数据处理方法及装置、存储介质和处理器制造方法及图纸

技术编号:24995829 阅读:29 留言:0更新日期:2020-07-24 17:58
本发明专利技术公开了一种数据处理方法及装置、存储介质和处理器,该方法包括:确定对数据库中的目标行进行更新操作;在更新操作在数据库事务中的情况下,对执行更新操作的结构化查询语言SQL语句进行解析,得到主键ID,其中,主键ID为目标行的主键ID;根据目标行的主键ID对目标行执行更新操作,并对合成的键值进行加锁,其中,合成的键值由数据库的标识信息ID、目标行所在的数据表的标识信息ID和主键ID构成;在加锁成功的情况下,提交数据库事务,以使目标行的更新操作生效。本发明专利技术解决了业务运行中并发修改数据,而无法正常回滚所导致的数据不一致的技术问题。

【技术实现步骤摘要】
数据处理方法及装置、存储介质和处理器
本专利技术涉及数据处理
,具体而言,涉及一种数据处理方法及装置、存储介质和处理器。
技术介绍
在供应链或物流场景下,一个正常业务流程通常会包含多个服务的调用,服务中往往会有很多数据更新操作,例如,卖家入库的操作中,需要对部分业务数据进行更新。如果业务执行中出现问题(比如网络超时、宕机等),通常需要调用服务的反向接口去订正已经做过的更新操作。如果订正前,数据已经被别的业务调用更改,很可能会出现数据错误,多数情况下需要人工订正,造成很大业务压力和资源浪费,也影响用户体验。针对上述的问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术实施例提供了一种数据处理方法及装置、存储介质和处理器,以至少解决业务运行中并发修改数据,而无法正常回滚所导致的数据不一致的技术问题。根据本专利技术实施例的一个方面,提供了一种数据处理方法,包括:确定对数据库中的目标行进行更新操作;在所述更新操作在数据库事务中的情况下,对执行所述更新操作的结构化查询语言SQL语句进行解析,得到主键ID,本文档来自技高网...

【技术保护点】
1.一种数据处理方法,其特征在于,包括:/n确定对数据库中的目标行进行更新操作;/n在所述更新操作在数据库事务中的情况下,对执行所述更新操作的结构化查询语言SQL语句进行解析,得到主键ID,其中,所述主键ID为所述目标行的主键ID;/n根据所述目标行的主键ID对所述目标行执行更新操作,并对合成的键值进行加锁,其中,所述合成的键值由所述数据库的标识信息ID、所述目标行所在的数据表的标识信息ID和所述主键ID构成;/n在加锁成功的情况下,提交所述数据库事务,以使所述目标行的更新操作生效。/n

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:
确定对数据库中的目标行进行更新操作;
在所述更新操作在数据库事务中的情况下,对执行所述更新操作的结构化查询语言SQL语句进行解析,得到主键ID,其中,所述主键ID为所述目标行的主键ID;
根据所述目标行的主键ID对所述目标行执行更新操作,并对合成的键值进行加锁,其中,所述合成的键值由所述数据库的标识信息ID、所述目标行所在的数据表的标识信息ID和所述主键ID构成;
在加锁成功的情况下,提交所述数据库事务,以使所述目标行的更新操作生效。


2.根据权利要求1所述的数据处理方法,其特征在于,在得到主键ID之前,所述方法还包括:
判断执行所述更新操作的所述SQL语句与所述数据库建立的连接是否在所述数据库事务中;
若不在所述数据库事务中,则开启所述数据库事务,以使所述更新操作在所述数据库事务中。


3.根据权利要求1所述的数据处理方法,其特征在于,对执行所述更新操作的SQL语句进行解析,得到主键ID包括:
判断所述SQL语句中的目标语句中是否已经指定了主键;
若所述SQL语句中的目标语句中已经指定了主键,则获取所述主键ID;
若所述SQL语句中的目标语句中未指定主键,则基于所述目标语句构建查询语句;
基于所述查询语句确定在所述数据表中影响行的主键,获取所述影响行的主键ID作为所述主键ID。


4.根据权利要求3所述的数据处理方法,其特征在于,若所述目标语句中已经指定了所述主键,对所述目标行执行所述更新操作。


5.根据权利要求3所述的数据处理方法,其特征在于,基于所述查询语句确定所述数据表中影响行的主键,对所述影响行执行所述更新操作。


6.根据权利要求1所述的数据处理方法,其特征在于,对合成的键值进行加锁,包括:
将所述数据库的标识信息ID、所述目标行所在的数据表的标识信息ID和所述主键ID发送至缓存中;
在所述缓存中对所述合成的键值进行加锁。


7.根据权利要求6所述的数据处理方法,其特征在于,在所述缓存中对所述合成的键值进行加锁包括:
若加锁失败,则开始计时;
若计时时间到达预设时间时,则重新对所述合成的键值进行加锁;
若重新加锁次数超过预设次数,则回滚所述数据库事务,以使所述目标行的数据回滚至开启所述数据库事务前。


8.一种数据处理装置,其特征在于,包括:
确定单元,用于确定对数据库中的目标行进行更新操作;
获取单元,用于在所述更新操作在数据库事务中的情况下,对执行所述更新操作的结构化查询语言SQL语句进行解析,得到主键ID,其中,所述主键ID为所述目标行的主键ID;
加锁单元,用于根据所述目标行的主键ID对所述目标行执行更新操作,并对合成的键值进行加锁,其中,所述合成的键值由所述数据库的标识信息ID、所述目标行所在的数据表的标识信息ID和所述主键ID构成;
生效单元,用于在加锁成功的情况下,提交所述数据库事务,以使所述目标行的更新操作生效。


9.根据权利要求8所述的数据处理装置,其特征在于,所述装置还包括:
判断单元,用于在得到主键ID之前...

【专利技术属性】
技术研发人员:王鑫张伟刘建设姜宇
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1