CN112395284B 数据处理方法、装置、数据库系统、电子设备及存储介质 (阿里巴巴集团控股有限公司)_第1页
CN112395284B 数据处理方法、装置、数据库系统、电子设备及存储介质 (阿里巴巴集团控股有限公司)_第2页
CN112395284B 数据处理方法、装置、数据库系统、电子设备及存储介质 (阿里巴巴集团控股有限公司)_第3页
CN112395284B 数据处理方法、装置、数据库系统、电子设备及存储介质 (阿里巴巴集团控股有限公司)_第4页
CN112395284B 数据处理方法、装置、数据库系统、电子设备及存储介质 (阿里巴巴集团控股有限公司)_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

事务包括指示针对数据表的第一预提交任务,执行状态信息和所述第二执行状态信息均指示处理方法可以保证数据表和外置索引表的数据2接收所述数据库返回的所述第一预提交任务的第一执行状态信息和所述第二预提交若所述第一执行状态信息和所述第二执行状态信息均指示若所述第一执行状态信息和所述第二执行状态信息中至少一个指生成回滚消息,以通过所述回滚消息指示对所述第一预提交任务和/或所述第二预提交任根据判断结果确定查询语句,并根据所述查询语句和所述SQL语句生成对应的所述分若所述判断结果指示为包含插入操作的SQL语句,则确定根据所述5.根据权利要求4所述的方法,其特征在于若确定所述SQL语句为包括指示放弃冲突记录的第一子句的插入语生成指示向所述数据表中插入所述第一记录的所述第一预根据所述第一预提交任务和所述第二预提交任务生6.根据权利要求4所述的方法,其特征在于,所述若确定所述SQL语句为包括指示更新记录的第二子句的插入语句指示的所述待处理记录中与所述第一查询结果不匹配的第一记录和与所述第一查询结3生成指示向所述数据表中插入所述第一记录,且使用所述第二生成指示向所述外置索引表中插入所述第一记录,且使用7.根据权利要求4所述的方法,其特征在于其中,所述第一预提交任务指示删除所述数据表中所述第一若所述判断结果指示所述SQL语句不包含插入操作,则根据所述S交任务;其中,所述第一预提交任务指示根据所述SQL语句更新所述数据表中第二查询结果;所述第二预提交任务指示根据所述SQL语句更新所述外置索引表中与第二查询结果对交任务;其中,所述第一预提交任务指示根据所述SQL语句删除所述数据表中第二查询结果;所述第二预提交任务指示根据所述SQL语句删除所述外置索引表中与第二查询结果对12.根据权利要求3所述的方法,其特征在于,所述获取所述数据处理请求中的SQL语4从所述数据处理请求中获取原始SQL语句,并将所述原始SQL语句中的动根据所述原始SQL语句确定待处理的所述数据表,并确定所述数据表的主键是否为自若是自增主键且存在包含插入操作的语句,则生信息接收模块,用于接收所述数据库返回的所述第一提交模块,用于若所述第一执行状态信息和所述第二执行状态信息均指示一个数据库层上配置有多个数据库实例,各所述数据库实例均与至少一个所述存储层连所述代理层用于执行权利要求1-13中任一项所述的方法指示的操作,述数据库层中的至少一个所述数据库实例发送所述分布式事务中的所述第一预提交任务接收所述分布式事务的数据库层根据所述第一预提交任务和所述示对应的数据库实例与存储层交互,以执行所述第一预提交任务和所述第二预提交任务;所述存储器用于存放至少一可执行指令,所述可执行指令使所5[0003]现有采用上述分库分表策略的数据库在运行过程中,需要使用全局二级索引二执行状态信息;若所述第一执行状态信息和所述第二执行状态信息均指示任务执行成6事务以完成所述数据表和所述外置索引表的执行状态信息均指示执行成功时,才提交分布式事务对数据表和外置索引表执行数据处7[0031]在本实施例中,以分布式数据库系统中的代理层(如DRDSproxy,DistributedRelationalDatabaseServicesproxy)作为执行主体,对本发明实施例提供的数据处理户端的一个SQL语句会根据DRDSproxy的sharding算法路由到一个或多个分库(如MySQL实[0038]第一执行状态信息用于指示第一预提交任务涉及的各MySQL实例是否成功执行第行状态信息用于指示该记录A是否成功插入数[0039]同样地,第二执行状态信息用于指示第二预提交任务涉及的各MySQL实例是否成8[0044]由于只有在第一执行状态信息和第二执行状态信息均指示任务执行成功时才会[0047]本实施例的数据处理方法可以由任意适当的具有数据处式事务时,若第一执行状态信息和第二执行状态信息均指示任务执行成功,则执行步骤[0053]当第一执行状态信息和第二执行状态信息中指示一个指示任务执行失败时,例9的数据不一致,分布式事务不能提交,可以生成回滚消息,将回滚消息发送给涉及的各二级索引表可以拆分到多个MySQL实例上,且其采用的分片方式可以与数据表的分片方式在执行某个数据处理请求时,根据该数据处理请求生成MySQL数据源能够识别的第一预提[0060]本实施例的数据处理方法可以由任意适当的具有数据处该替换后的SQL语句即为从数据处理请求中获取的S[0072]在根据替换结果和自增值生成替换后的SQL语句时,可以将生成的自增值加入替[0076]SQL语句包括但不限于插入语句(insert)、更新语句(update)、替换语句[0077]本领域技术人员可以根据需要采用任何适当的方式确定SQL语句是否为包含插入插入新的记录时由于冲突记录的存在而导致部分或全部插入失败从而影响数据表和外置第二查询语句用于指示获取数据表中符合SQL语句中的条件子句的记录。在确定查询语句自增值生成等处理防止了由于自增值不一致或动态函数计算结果不一致等问题导致后续[0085]本实施例的数据处理方法可以由任意适当的具有数据处[0091]如实施例三中所述,在判断结果指示SQL语句包括插入操作时,为了防止数据表和/或外置索引表中已有记录与新的记录冲突而影响插入操作的执行造成数据表和外置索记录,冲突记录例如数据表中已经存在的某个或某些个记录的主键值与SQL语句指示的待[0094]通过将第一查询语句发送给涉及的各MySQL实例,由其进行执行,可以获得各[0096]下面例举几种根据所述第一查询结果和所述SQL语句,生成所述分布式事务的情[0098]情况一,SQL语句为基本插入语句,如,SQL语句为insertintot_primary(id,将该SQL语句指示的待处理记录插入到数据表中;该分布式事务的第二预提交任务指示将该SQL语句指示的待处理记录插入到外置[0099]若第一查询结果指示数据表和/或外置索引表中存在冲突记录,则本领域技术人语句指示的所述待处理记录中与所述第一查询结果不匹配的第一记录和与所述第一查询[0104]其中,若第一查询结果中既包括表冲突记录(即查询结果A)又包括索引表冲突记集合N中的记录更新外置索引表中的查询结果B的第[0111]本实施例的数据处理方法可以由任意适当的具有数据处[0120]其中,所述第一预提交任务指示根据所述SQL语句更新所述数据表中第二查询结果;所述第二预提交任务指示根据所述SQL语句更新所述外置索引表中与第二查询结果对[0126]其中,所述第一预提交任务指示根据所述SQL语句删除所述数据表中第二查询结果;所述第二预提交任务指示根据所述SQL语句删除所述外置索引表中与第二查询结果对[0129]由于是代理层根据数据处理请求生成分布式事务中的第一预提交任务和第二预提交任务,在生成第二预提交任务时将SQL语句转换为目标数据源(即外置索引表)能识别一查询语句用于指示查询与所述SQL语句指示的待处理记录冲突的记录;第二获取模块包括指示放弃冲突记录的第一子句的插入语句,则根据所述SQL语句指示的所述待处理记录和所述第一查询结果,确定所述待处理记录中与所述第一查询结果不匹配的第一记录;第三生成模块,用于生成指示向所述数据表中插入所述第一记录的所述第一预提交任务,于根据所述第一预提交任务和所述第二预提交包括指示更新记录的第二子句的插入语句时,则获取所述SQL语句指示的所述待处理记录查询语句用于指示获取所述数据表中符合所述SQL语句中的条件子句的记录;第三获取模预提交任务指示根据所述SQL语句更新所述数据表中第二查询结果;所述第二预提交任务指示根据所述SQL语句更新所述外置索引表中与第二查询结果对应的记录;第十二生成模预提交任务指示根据所述SQL语句删除所述数据表中第二查询结果;所述第二预提交任务指示根据所述SQL语句删除所述外置索引表中与第二查询结果对应的记录;第十四生成模中获取原始SQL语句,并将所述原始SQL语句中的动态函数替换为常量;第十五生成模块[0150]本实施例的数据处理装置用于实现前述多个方法实施例[0154]代理层可以部署在独立的服务器中,也可以部署在某一个或某几个数据库层[0155]数据库层可以是一个或多个,每个数据库层中可以包括keyupdate,则指示向数据表和外置索引表插入替换后的SQL语句指示的所有记录中与冲向数据表和外置索引表插入替换后的SQL语句指示的所有记录中与冲突记录不匹配的记[0177]处理器802可能是中央处理器CPU,或者是特定集成电路ASIC(Application提交所述分布式事务以完成所述数据表和所述外置索引表的数据息指示对所述第一预提交任务和/或所述第二预提交任一查询语句用于指示查询与所述SQL语句指示的待处理记录冲突的记录;根据所述第一查述第二预提交任务;根据所述第一预提交任务和所述第二预提交任务生成所述分布式事的插入语句时,则获取所述SQL语句指示的所述待处理记录中与所述第一查询结果不匹配查询语句用于指示获取所述数据表中符合所述SQL语句中的条件子句的记录;根据所述第更新所述数据表中第二查询结果;所述第二预提交任务指示根据所述SQL语句更新所述外置索引表中与第二查询结果对应的记录;根据所述第一预提交任务和所述第二预提交任删除所述数据表中第二查询结果;所述第二预提交任务指示根据所述SQL语句删除所述外置索引表中与第二查询结果对应的记录;根据所述第一预提交任务和所述第二预提交任[0192]程序810中各步骤的具体实现可以参见上述数据处理方法实施例中的相应步骤和络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质代码时,代码的执行将通用计算机转换为用于执行在此示出的数据处理方法

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论