时钟同步方法、装置、电子设备和可读存储介质制造方法及图纸

技术编号:35182196 阅读:24 留言:0更新日期:2022-10-12 17:51
本公开提供了一种时钟同步方法、装置、电子设备和可读存储介质,涉及人工智能领域,具体涉及云计算、分布式存储和基础架构技术,可应用在智能云场景下。时钟同步方法包括:第一节点获取目标事务,确定参与目标事务的至少一个第二节点;将目标事务发送到至少一个第二节点;接收至少一个第二节点发送的至少一个第一时钟,根据至少一个第一时钟得到第二时钟;将第二时钟发送到所述至少一个第二节点。时钟同步方法包括:第二节点接收第一节点发送的目标事务;根据第一本地时钟,为目标事务分配第一时钟;将第一时钟发送到第一节点,接收第一节点发送的第二时钟;在确定第二时钟大于第二本地时钟的情况下,将第二本地时钟同步为第二时钟。钟。钟。

【技术实现步骤摘要】
时钟同步方法、装置、电子设备和可读存储介质


[0001]本公开涉及人工智能领域,具体涉及云计算、分布式存储和基础架构技术,可应用在智能云场景下。提供了一种时钟同步方法、装置、电子设备和可读存储介质。

技术介绍

[0002]数据库中的事务可以看成一个一个的事件,数据库需要对这些事件进行排序,而事件的顺序由分配给事件的时钟来保障。在分布式数据库的应用场景下,多个数据库运行在不同的机器上,由于事务的时钟需要反映全局的顺序,因此时钟对分布式数据库十分重要。

技术实现思路

[0003]根据本公开的第一方面,提供了一种时钟同步方法,包括:第一节点获取目标事务,确定参与所述目标事务的至少一个第二节点;将所述目标事务发送到所述至少一个第二节点,以用于所述至少一个第二节点为所述目标事务分配第一时钟;接收所述至少一个第二节点发送的至少一个第一时钟,根据所述至少一个第一时钟得到第二时钟;将所述第二时钟发送到所述至少一个第二节点,以用于所述至少一个第二节点根据所述第二时钟同步本地时钟。
[0004]根据本公开的第二方面,提供了一种时钟同步方法,包括:第二节点接收第一节点发送的目标事务;根据第一本地时钟,为所述目标事务分配第一时钟;将所述第一时钟发送到所述第一节点,接收所述第一节点发送的第二时钟;在确定所述第二时钟大于第二本地时钟的情况下,将所述第二本地时钟同步为所述第二时钟。
[0005]根据本公开的第三方面,提供了一种时钟同步装置,位于第一节点,包括:确定单元,用于获取目标事务,确定参与所述目标事务的至少一个第二节点;第一发送单元,用于将所述目标事务发送到所述至少一个第二节点,以用于所述至少一个第二节点为所述目标事务分配第一时钟;第一接收单元,用于接收所述至少一个第二节点发送的至少一个第一时钟,根据所述至少一个第一时钟得到第二时钟;第二发送单元,用于将所述第二时钟发送到所述至少一个第二节点,以用于所述至少一个第二节点根据所述第二时钟同步本地时钟。
[0006]根据本公开的第四方面,提供了一种时钟同步装置,位于第二节点,包括:第三接收单元,用于接收第一节点发送的目标事务;处理单元,用于根据第一本地时钟,为所述目标事务分配第一时钟;第三发送单元,用于将所述第一时钟发送到所述第一节点,接收所述第一节点发送的第二时钟;同步单元,用于在确定所述第二时钟大于第二本地时钟的情况下,将所述第二本地时钟同步为所述第二时钟。
[0007]根据本公开的第五方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如
上所述的方法。
[0008]根据本公开的第六方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行如上所述的方法。
[0009]根据本公开的第七方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如上所述的方法。
[0010]由以上技术方案可以看出,本公开的第一节点无需参与为目标事务分配第一时钟的过程,仅需要将根据至少一个第一时钟得到的第二时钟发送到至少一个第二节点,便能够完成至少一个第二节点在执行目标事务时本地时钟的同步,从而简化了时钟同步的步骤、提升了时钟同步的效率、降低了时钟同步的延时,且第一时钟的分配由第二节点单独完成,使得数据库的性能不会受限于中心化的时间服务器,从而增强了数据库的可用性。
[0011]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0012]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0013]图1是根据本公开第一实施例的示意图;
[0014]图2是根据本公开第二实施例的示意图;
[0015]图3是根据本公开第三实施例的示意图;
[0016]图4是根据本公开第四实施例的示意图;
[0017]图5是根据本公开第五实施例的示意图;
[0018]图6是根据本公开第六实施例的示意图;
[0019]图7是用来实现本公开实施例的时钟同步方法的电子设备的框图。
具体实施方式
[0020]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和机构的描述。
[0021]图1是根据本公开第一实施例的示意图。如图1所示,本实施例的时钟同步方法,具体包括如下步骤:
[0022]S101、第一节点获取目标事务,确定参与所述目标事务的至少一个第二节点;
[0023]S102、将所述目标事务发送到所述至少一个第二节点,以用于所述至少一个第二节点为所述目标事务分配第一时钟;
[0024]S103、接收所述至少一个第二节点发送的至少一个第一时钟,根据所述至少一个第一时钟得到第二时钟;
[0025]S104、将所述第二时钟发送到所述至少一个第二节点,以用于所述至少一个第二节点根据所述第二时钟同步本地时钟。
[0026]本实施例的时钟同步方法的执行主体为位于数据库中的第一节点,该第一节点无需参与为目标事务分配第一时钟的过程,仅需要将根据至少一个第一时钟得到的第二时钟
发送到至少一个第二节点,便能够完成至少一个第二节点在执行目标事务时本地时钟的同步,从而简化了时钟同步的步骤、提升了时钟同步的效率、降低了时钟同步的延时,且第一时钟的分配由第二节点单独完成,使得数据库的性能不会受限于中心化的时间服务器,从而增强了数据库的可用性。
[0027]本实施例中的数据库可以为NewSQL等分布式数据库,该数据库中包含一个第一节点与多个第二节点;其中,第一节点为数据库中的协调者节点,用于将获取的事务分配给存储节点;第二节点为数据库中的存储节点,用于执行协调者节点为其分配的事务。
[0028]本实施例的第一节点在执行S101获取目标事务时,可以将输入端输入的事务作为目标事务,也可以将定时从事务服务器获取的事务作为目标事务;其中,本实施例中的事务(Transaction)是指访问并可能操作各种数据项的一个数据库操作序列,事务例如为对数据库进行读取操作和/或写入操作。
[0029]由于将数据库划分为多个分片之后,不同的第二节点与不同的分片相对应,每个第二节点中记录着与不同字段或者不同标识对应的数据,因此本实施例中的第一节点在执行S101获取目标事务之后,需要从数据库包含的多个第二节点中,确定参与该目标事务的至少一个第二节点。
[0030]本实施例的第一节点在执行S101确定参与目标事务的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种时钟同步方法,包括:第一节点获取目标事务,确定参与所述目标事务的至少一个第二节点;将所述目标事务发送到所述至少一个第二节点,以用于所述至少一个第二节点为所述目标事务分配第一时钟;接收所述至少一个第二节点发送的至少一个第一时钟,根据所述至少一个第一时钟得到第二时钟;将所述第二时钟发送到所述至少一个第二节点,以用于所述至少一个第二节点根据所述第二时钟同步本地时钟。2.根据权利要求1所述的方法,其中,所述确定参与所述目标事务的至少一个第二节点包括:获取所述目标事务的事务信息;将数据库中与所述事务信息匹配的第二节点,作为所述参与所述目标事务的至少一个第二节点。3.根据权利要求1

2中任一项所述的方法,其中,所述根据所述至少一个第一时钟得到第二时钟包括:从所述至少一个第一时钟中选取数值最大的第一时钟,作为目标时钟;根据所述目标时钟,得到所述第二时钟。4.根据权利要求3所述的方法,其中,所述根据所述目标时钟,得到所述第二时钟包括:增加所述目标时钟的逻辑计数;将所得到的处理结果作为所述第二时钟。5.根据权利要求1

4中任一项所述的方法,还包括,接收所述至少一个第二节点发送的事务属性获取请求;获取所述目标事务的事务属性;将所述事务属性发送到至少一个第二节点,以用于所述至少一个第二节点根据所述事务属性确定所述目标事务为单分片事务或者多分片事务。6.一种时钟同步方法,包括:第二节点接收第一节点发送的目标事务;根据第一本地时钟,为所述目标事务分配第一时钟;将所述第一时钟发送到所述第一节点,接收所述第一节点发送的第二时钟;在确定所述第二时钟大于第二本地时钟的情况下,将所述第二本地时钟同步为所述第二时钟。7.根据权利要求6所述的方法,其中,所述根据第一本地时钟,为所述目标事务分配第一时钟包括:获取当前本地时钟,作为所述第一本地时钟;增加所述第一本地时钟的逻辑计数,将处理结果作为所述第一时钟。8.根据权利要求6

7中任一项所述的方法,其中,所述将所述第一时钟发送到所述第一节点包括:向所述第一节点发送事务属性获取请求;接收所述第一节点发送的事务属性;
在根据所述事务属性确定所述目标事务为多分片事务的情况下,将所述第一时钟发送到所述第一节点。9.一种时钟同步装置,位于第一节点,包括:确定单元,用于获取目标事务,确定参与所述目标事务的至少一个第二节点;第一发送单元,用于将所述目标事务发送到所述至少一个第二节点,以用于所述至少一个第二节点为所述目标事务分配第一时钟;第一接收单元,用于接收所述至少一个第二节点发送的至少一个第一时钟,根据所述至少一个第一时钟得到第二时钟;第二发送单元,用于将所述第二时钟发送到所述至少一个第二节点,以用于所述至少一个第二节点根据所述第二时钟同步本...

【专利技术属性】
技术研发人员:曹彪陈亮
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

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

1