查看原文
其他

【金猿技术展】分布错时事务机制——亚信科技分布式数据库全局一致性实现方法

数据猿 2022-12-27





亚信科技技术

本项目由亚信科技投递并参与“数据猿年度金猿策划活动——2022大数据产业创新技术突破榜单及奖项”评选

‍数据智能产业创新服务媒体

——聚焦数智 · 改变商业






分布错时事务机制应用于分布式集群中任一节点,以当前节点为例:在接收到携带第一操作的请求之后,确定第一操作的当前状态,以及进入第一操作的当前状态的混合时间戳;根据第一操作确定待处理的目标数据行;根据进入当前状态的混合时间戳和/或目标数据行的提交混合时间戳确定对目标数据行的处理方式。由于每个混合时间戳由包括物理时钟和逻辑时钟的混合时钟确定,混合时钟或混合时间戳可以在并发多事务场景中有效区分每个事务和每个状态。因此,基于具有明确的区分作用的混合时间戳,可以在事务处理过程中保证事务一致性和事务隔离性。`

技术说明


在分布式数据领域,如何协调多终端发起的事务,以保证事务一致性和隔离性是目前急需解决的技术问题。目前,存在以下两种应对方式:

第一种方式,在分布式集群中使用全局的时间戳生成服务生成每项事务的时间戳,并根据该时间戳来确定事务的执行顺序,从而实现事务一致性和隔离性。第二种方式,在分布式集群中,使用精确的GPS定时时钟(全球定位系统的定时服务,Global Positioning System)或者原子时钟提供时钟偏移较小的分布式时钟服务,并通过预设接口(如,truetimeAPI)为每项事务获取精确的时间,并根据时间顺序来确定事务的执行顺序,从而实现事务一致性和隔离性。

然而这两种方式要么可能会带来额外的时间延迟,要么需要昂贵且非普遍的硬件配置,并非理想的技术手段。因此,如何基于现有的条件(如,由配置有普通硬件的物理服务器搭建的分布式数据库) ,且不以牺牲操作的延迟性来实现事务的一致性和隔离性,仍为需要改进的技术问题。

分布错时事务机制基于混合的逻辑时钟以及分布式事务二阶段提交手段,可以实现在现有硬件的基础上,协调好各个事务中每项操作的处理过程,从而实现保持事务一致性和隔离性的目的。具体实施方法如下:

确定第一操作的当前状态,以及进入当前状态的混合时间戳;其中,混合时间戳由包括物理时钟和逻辑时钟的混合时钟确定;根据第一操作确定待处理的目标数据行;其中,每个数据行包括记录提交时间的提交混合时间戳和记录的数据,目标数据行隶属于至少一个节点;根据进入当前状态的混合时间戳和/或目标数据行的提交混合时间戳确定对目标数据行的处理方式。


获取当前的第一混合时间戳和物理时间戳,并比对物理时间戳与第一混合时间戳的物理时钟部分的数值的大小;若比对结果为相等,以自增方式更新第一混合时间戳的逻辑时钟部分的数值;若比对结果为大于,更新第一混合时间戳的物理时钟部分的数值为物理时间戳,以及以赋零值的方式更新第一混合时间戳的逻辑时钟部分的数值;确定进入当前状态的混合时间戳为更新的第一混合时间戳。

根据当前状态的混合时间戳和/或目标数据行的提交混合时间戳确定对目标数据行的处理方式,包括:

1、若目标数据行隶属于一个节点,且当前状态为提交状态,针对目标数据行进行更新操作,并将进入目标提交操作的提交状态的第二混合时间戳确定为与更新操作相应的数据行的提交混合时间戳。

2、若目标数据行隶属于至少两个节点,且当前状态为预提交状态,根据进入目标提交操作的预提交状态的第三混合时间戳确定对目标数据行的处理方式。

3、根据进入目标提交操作的预提交状态的第三混合时间戳确定对目标数据行的处理方式,包括:获取在至少两个节点上进入目标提交操作的预提交状态的第三混合时间戳,并从中筛选出最大的提交时间戳;将最大的提交时间戳作为进入目标提交操作的提交状态的第四混合时间戳,确定处理方式包括:针对目标数据行进行更新操作,并将第四混合时间戳确定为与更新操作相应的数据行的提交混合时间戳。

4、若接收到与用户终端相连接的节点发送的携带第五混合时间戳的任一请求,第五混合时间戳大于当前的第一混合时间戳,更新当前的第一混合时间戳为第五混合时间戳。

5、混合时间戳还包括对应的状态标志第一操作为目标读操作,以及当前状态为开始状态根据进入当前状态的混合时间戳和/或目标数据行的提交混合时间戳确定对目标数据行的处理方式,包括:

① 若目标数据行的提交混合时间戳对应的状态标志为地址标志,获取操作目标数据行的第二操作,并根据第二操作和/或进入目标读操作的开始状态的第六混合时间戳确定对目标数据行的处理方式;

② 若目标数据行的提交混合时间戳对应的状态标志为时间标志,根据第六混合时间戳确定对目标数据行的处理方式。

6、根据第二操作和/或进入目标读操作的开始状态的第六混合时间戳确定对目标数据行的处理方式,包括:

① 当目标读操作与第二操是同一事务中的操作时,设置目标数据行所记录的数据对目标读操作可见;

② 当目标读操作与第二操不是同一事务中的操作时:

  • 若第二操作为写操作或者若第二操作为处于开始状态的提交操作,设置目标数据行所记录的数据对目标读操作不可见;

  • 若第二操作为处于预提交状态的提交操作,响应于读信号,根据第六混合时间戳确定对目标数据行的处理方式;若第二操作为处于提交状态的提交操作,根据第六混合时间戳确定对目标数据行的处理方式。

7、确定第六混合时间戳与目标数据行的提交混合时间戳的差值:

① 若差值的绝对值不大于预设阈值,重启目标读操作,以重新确定对目标数据行的处理方式;

② 若差值的绝对值大于预设阈值,且差值大于零,设置目标数据行所记录的数据对目标读操作可见;

③ 若差值的绝对值大于预设阈值,且差值小于零,设置目标数据行所记录的数据对目标读操作不可见。

8、若处理方式包括设置目标数据行所记录的数据对目标读操作不可见,方法还包括:

① 获取目标数据行关联的历史数据行;根据第六混合时间戳与关联的历史数据行的提交混合时间戳设置关联的历史数据行所记录的数据是否对目标读操作可见。

② 分布错时事务机制还包括:统计每个节点上处于活跃状态的操作,并从处于活跃状态的操作中筛选出进入相应操作的开始状态的混合时间戳为最小的第三操作;确定进入第三操作的开始状态的混合时间戳为第七混合时间戳;根据第七混合时间戳删除符合删除条件的历史数据行。

9、该机制的数据处理装置包括:

第一确定模块,用于确定第一操作的当前状态,以及进入当前状态的混合时间戳;其中,混合时间戳由包括物理时钟和逻辑时钟的混合时钟确定;第二确定模块,用于根据第一操作确定待处理的目标数据行;其中,每个数据行包括记录提交时间的提交混合时间戳和记录的数据,目标数据行隶属于至少一个节点;第三确定模块,用于根据进入当前状态的混合时间戳和/或目标数据行的提交混合时间戳确定对目标数据行的处理方式。

★专利申请号/公开号CN 114942966 A

开发团队



·带队负责人姓名:
张桦

张桦先生作为AntDB数据库的研发带头人,从2008年移动计费核心改造之初就参与了AntDB的研发设计工作。随着AntDB在全国超过20个省的运营商核心系统的落地,张桦先生带领的AntDB数据库见证了中国通讯市场从2G向5G发展的全部历程,也经历了运营商行业国产化替换从首次落地向大规模推广的整个阶段。作为我国数据库领域的核心专家,张桦先生在数据库领域和垂直行业应用方面有近20年经验,不断推进AntDB在通信、金融、交通、能源、物联网等行业的规模落地。

·隶属机构:亚信科技

亚信科技始于1993年,是领先的“数智化全栈能力提供商”,依托咨询规划、产品研发、实施交付、系统集成、智慧决策、数据运营与客户服务7大能力为百行千业政企客户提供“端到端”的全链路数智化服务。

亚信科技积极拥抱5G、人工智能、云计算、大数据、物联网等先进技术,拥有行业领先的研发能力,已形成包括客户关系管理、计费账务、大数据、人工智能、5G网络智能化、研发运维一体化、数字化运营、PaaS平台、物联网产品等在内的AISWare产品体系。

公司秉承“一巩固、三发展”战略,在传统业务方面,以5G为契机,全面布局,提升效能,巩固BSS市场领导者地位;在新兴业务方面,力争5G OSS网络智能化业务、DSaaS数字化运营业务、垂直行业及企业上云业务的规模化发展。客户涉及政务、通信、金融、能源、交通、广电、邮政等行业。同时,亚信科技与业界伙伴共建生态,推动商业模式转变,为全行业数字化转型和产业可持续发展贡献力量。

相关评价


我们之所以选择AntDB的内存数据库,其中重要的原因在于内存数据库的高效和分布式数据库的可扩展,同时,也具备高可用性的设计。

我们选择在21年8月13日,进行账务数据库的割接,一是因为在月中,可以有充足的时间准备次月的出账,二是纪念84年前的八一三淞沪抗战,铭记落后就会挨打的历史。整个割接非常顺利,到9月份,又完成了容灾数据库的切换演练,至今已平稳运行一年多的时间,从实际情况看,数据库的重要生产指标,都满足了计费账务系统的场景要求,出账耗时缩减了30%左右,CPU负荷下降33%以上,内存维持75%以下,AntDB不仅实现了平稳过渡,也实现了业务侧的提质增效,达到了预期的要求。

此次项目的成功上线,解决了生产运营过程中存在的瓶颈问题,打破了长期以来,国内通信行业的支撑系统受限于国外数据库厂商的局面,树立了通信行业核心数据库的创新标杆;在新数据库的功能、高可用、可维护性等方面掌握了核心技术,为后续数据库的全面转型,沉淀了方法,积累了经验,更是培养了一支自主可控的专业队伍。

——上海移动信息系统运营部总经理 陆英雷

国产数自主可控数据库AntDB在省清分结算系统的应用,提供了省中心数据统一服务能力以及“全流程+多协议+高性能+全业务数据”的处理能力,满足了海量交易数据的集中采集、处理、查询要求,为取消省界收费后部-省两级架构支撑系统提供新动力。

现今的AntDB正高效完成业务报表的输出,支撑处理云南高速每天1000万条门架流水、200万条车道流水。当前数据量存储累计超100TB,已稳定运行近两年,获得了业务团队和业界的认可。

AntDB作为自主可控的国产数据库,成功运用于该“清分结算”类大数据库平台业务,具有广泛的社会意义:

高速交通行业示范作用:通过我省清分结算国产数据库的成功应用,为高速行业内应用国产数据库树立典范,增强行业内应用国产技术的信心。

信创产业示范效应:既响应国家号召、破解核心软件“卡脖子”风险,又落实云南高速集团公司的要求,助力公司实现自主可控创新引领,提升业务连续性,规避供应链安全风险。

——云南公路联网收费管理有限公司副总经理 张成林

提示:了解更多相关内容,点击文末左下角阅读原文”链接可直达该机构官网。 


《2022中国企业数智化转型升级服务全景图/产业图谱2.0版》

《2022中国数据智能产业图谱2.0版》

 创新服务企业榜

 创新服务产品榜

 最具投资价值榜

 创新技术突破榜

条漫:《看过大佬们发的朋友圈之后,我相信:明天会更好!》

联系数据猿

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存