CN108984277B - 基于gps原子钟的分布式数据库事务处理方法及装置 - Google Patents
基于gps原子钟的分布式数据库事务处理方法及装置 Download PDFInfo
- Publication number
- CN108984277B CN108984277B CN201810284235.6A CN201810284235A CN108984277B CN 108984277 B CN108984277 B CN 108984277B CN 201810284235 A CN201810284235 A CN 201810284235A CN 108984277 B CN108984277 B CN 108984277B
- Authority
- CN
- China
- Prior art keywords
- time
- server
- affairs
- node server
- atomic clock
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0644—External master-clock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Abstract
本发明提出一种基于GPS原子钟的分布式数据库事务处理方法及装置,方法包括节点服务器接收多个事务请求;若事务间存在并发冲突;获取各事务的启动时间;启动时间为发出事务请求的节点服务器的本地时间且与所在地域的GPS原子钟服务器的时间同步;根据各事务的启动时间对各事务进行处理。装置包括接收模块用于接收多个事务请求;判断模块用于判断各事务间是否存在并发冲突;获取模块用于获取各事务的启动时间;启动时间为发出各事务请求的节点服务器的本地时间且与所在地域的GPS原子钟服务器的时间同步;处理模块用于根据各事务的启动时间先后对各事务进行处理。本发明使得分布式数据库系统的吞吐能力提升且各服务器部署复杂度低。
Description
技术领域
本发明涉及分布式数据库技术领域,特别涉及一种基于GPS(Global PositioningSystem,全球定位系统)原子钟的分布式数据库事务处理方法及装置。
背景技术
随着互联网业务及大数据技术的快速发展,要求数据库系统并发处理的数据量越来越大,同时存量数据也在持续增大。为了支持分布式事务,常见的方法是通过使用一个全局的中心事务节点来为分布式数据库系统产生唯一的事务ID(IDentity)和时间戳。然而这会导致中心事务节点成为整个分布式数据库系统中的瓶颈和单点。
在背景技术中公开的上述信息仅用于加强对本发明的背景的理解,因此其可能包含没有形成为本领域普通技术人员所知晓的现有技术的信息。
发明内容
本发明实施例提供一种基于GPS原子钟的分布式数据库事务处理方法及装置,以至少解决现有技术中的以上技术问题。
第一方面,本发明实施例提供了一种基于GPS原子钟的分布式数据库事务处理方法,应用于第一节点服务器中,所述方法包括:
第一节点服务器接收多个事务请求;
判断接收到的各所述事务请求对应的事务间是否存在并发冲突;
如果存在并发冲突,则获取各所述事务的启动时间;其中,所述启动时间为发出所述事务请求时的第二节点服务器的本地时间,所述第二节点服务器的本地时间与其所在地域的GPS原子钟服务器的时间同步;
所述第一节点服务器根据各所述事务的所述启动时间先后对各所述事务进行处理。
结合第一方面,本发明在第一方面的第一种实施方式中,所述方法还包括:
判断接收到的各所述事务的所述启动时间的间隔是否在时间间隔误差内;
若在所述时间间隔误差内,则执行其中一个所述事务,并将另一个所述事务在所述时间间隔误差后重启。
结合第一方面,本发明在第一方面的第二种实施方式中,所述方法还包括:
根据所述第二节点服务器所在地域的所述GPS原子钟服务器的时间,定时同步所述第二节点服务器的本地时间。
结合第一方面,本发明在第一方面的第三种实施方式中,所述方法还包括:
根据所述第二节点服务器所在地域的所述GPS原子钟服务器的时间,定时同步所述第二节点服务器所在地域的二级时间服务器的时间;
根据所述二级时间服务器的时间,定时同步所述第二节点服务器的本地时间。
结合第一方面,本发明在第一方面的第四种实施方式中,所述方法还包括:
各所述第二节点服务器所在地域的所述GPS原子钟服务器时间同步。
第二方面,本发明实施例提供了一种基于GPS原子钟的分布式数据库事务处理装置,应用于第一节点服务器中,所述装置包括:
接收模块,用于接收多个事务请求;
第一判断模块,用于判断接收到的各所述事务请求对应的事务间是否存在并发冲突;
获取模块,用于当各所述事务间存在并发冲突时,获取各所述事务的启动时间;其中,所述启动时间为发出所述事务请求时的第二节点服务器的本地时间,所述第二节点服务器的本地时间与其所在地域的GPS原子钟服务器的时间同步;
处理模块,用于根据各所述事务的所述启动时间先后对各所述事务进行处理。
在一个可能的设计中,所述装置还包括:
第二判断模块,用于判断接收到的各所述事务的所述启动时间的间隔是否在时间间隔误差内;若在所述时间间隔误差内,则执行其中一个所述事务,并将另一个所述事务在所述时间间隔误差后重启。
在一个可能的设计中,获取模块包括:
第一同步子模块,用于根据所述第二节点服务器所在地域的所述GPS原子钟服务器的时间,定时同步所述第二节点服务器的本地时间。
在一个可能的设计中,获取模块包括:
第二同步子模块,用于根据所述第二节点服务器所在地域的所述GPS原子钟服务器的时间,定时同步所述第二节点服务器所在地域的二级时间服务器的时间,根据所述二级时间服务器的时间,定时同步所述第二节点服务器的本地时间。
第三方面,本发明实施例提供了一种基于GPS原子钟的分布式数据库事务处理终端,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如第一方面包括的任一所述的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现如第一方面包括的任一所述的方法。
上述技术方案中的一个技术方案具有如下优点或有益效果:本发明的第二节点服务器由于从GPS原子钟服务器同步时间,因此提高了第二节点服务器的本地时间精度,同时兼顾了成本和部署复杂度。本发明的第一节点服务器以接收到各事务的启动时间作为事务处理时序,且各事务的启动时间为发出事务请求时的第二节点服务器的本地时间,因此能够精准的按照事务请求的正确时序对各事务请求进行处理,因此解决了节点服务器出现单点或性能瓶颈的问题,提高了分布式数据库系统的吞吐能力。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。
图1为本发明实施方式提供的事务处理方法的流程示意图;
图2为本发明实施方式提供的各地域节点服务器与时间服务器的部署示意图;
图3为本发明实施方式提供的节点服务器部署示意图;
图4为本发明实施方式提供的事务处理装置结构示意图;
图5为本发明实施方式提供的事务处理终端结构示意图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
实施例一
本发明实施例提供了一种基于GPS原子钟的分布式数据库事务处理方法,该方法应用于分布式数据库的节点服务器中,如图1所示,该方法主要包括以下步骤:
步骤S100:第一节点服务器接收多个事务请求。
在本实施例中,定义用于接收事务请求的是第一节点服务器,用于发出事务请求的是第二节点服务器,统称为节点服务器。第一节点服务器与第二节点服务器的概念是相对的,当一个节点服务器用于接收事务时则为第一节点服务器,当该节点服务器用于发出事务请求时则为第二节点服务器。因此,在下文中若没有指出是第一节点服务器还是第二节点服务器,则可以理解为所述的节点服务器既可以是第一节点服务器也可以是第二节点服务器。
步骤S200:第一节点服务器判断接收到的各事务请求对应的事务间是否存在并发冲突。
步骤S300:如果存在并发冲突,则获取各事务的启动时间;其中,启动时间为发出事务请求的第二节点服务器的本地时间,第二节点服务器的本地时间与第二节点服务器所在地域的GPS原子钟服务器的时间同步。
步骤S400:第一节点服务器根据各事务的启动时间先后对各事务进行处理。
需要说明的是,第二节点服务器在发出事务请求时,会在事务的数据结构中产生启动时间。第一节点服务器在接收到事务时,可以在该事务的数据结构中产生一个通用唯一识别码(UUID,Universally Unique Identifier)。第一节点服务器接收的多个事务请求是分别从不同的第二节点服务器发出的,即多个第二节点服务器向同一个第一节点服务器发送事务请求时,可能会出现事务冲突。
在第一种实施方式的基础上,第一节点服务器的本地时间可以实时与所在地域的GPS原子钟服务器同步时钟信息,也可以定时从所在地域的GPS原子钟服务器同步时钟信息。由于GPS原子钟服务器的时间精准,因此直接从GPS原子钟服务器的时间同步的第一节点服务器的本地时间精度也因此提高,进而提高了事务启动时间的准确度,使用于事务处理的第二节点服务器能够更准确的确定并发的冲突事务的启动时间。
由于第一节点服务器与第二节点服务器的概念是相对的,因此可以理解为第二节点服务器的本地时间可以实时与所在地域的GPS原子钟服务器同步时钟信息,也可以定时从所在地域的GPS原子钟服务器同步时钟信息。
每一个地域中可以部署一个或多个GPS原子钟服务器。考虑到部署复杂度和成本,可在每一个地域只部署一个GPS原子钟服务器,同一个地域中的节点服务器均与该GPS原子钟服务器进行时间同步。在不考虑通信成本的情况下或在其他应用场景中,也可以在同一个地域布置若干个GPS原子钟服务器,同一个地域中的各节点服务器可以分别与同一个地域中的任意GPS原子钟服务器时间同步,或是与就近的GPS原子钟服务器时间同步。当在同一个地域布置多个GPS原子钟服务器时,各GPS原子钟服务器之间时间也需要进行同步,以保证同一区域中的所有节点服务器的本地时间精度。
在第一种实施方式的基础上,本方法还包括:判断接收到的各事务的启动时间的间隔是否在时间间隔误差内;若在时间间隔误差内,则执行其中一个事务,并将另一个事务在时间间隔误差后重启。
时间间隔误差是预设在各节点服务器中的,优选的时间间隔误差为10ms(毫秒),若两个冲突事务的启动时间的间隔在10ms以内,则需要将其中一个事务重启,先执行另一个事务,当另一事务处理完后再执行重启的事务。由于时间间隙过小,则可近似于认为两个并发事务是同时发起的请求,因此随机选择其中一个并发事务先于其他并发事务执行。从而消除事务请求发出时间的歧义,为事务重新排序,并使事务按排序后的时序继续在分布式数据库系统的各节点服务器继续执行。
在第一种实施方式的基础上,如图2所示,由于分布式数据库系统的节点服务器是分布在不同地域的,除了使得每一个地域中的节点服务器与所在地域的GPS原子钟服务器时间同步,还可以使得不同地域的GPS原子钟服务器的时钟同步。这样,可以保证各地域中的各节点服务器的本地时间精度更高且各节点服务器的时间也能够同步,以避免不同地域发出的事务请求的事务启动时间存在偏差。
在第一种实施方式的基础上,节点服务器通过二级时间服务器与节点服务器所在地域的GPS原子钟服务器连接,根据节点服务器所在地域的GPS原子钟服务器的时间,定时同步二级时间服务器的时间;根据二级时间服务器的时间,定时同步节点服务器的本地时间。
考虑到部署复杂度和成本,可在每一个地域只布置一二级时间服务器(如图2所示),同一个地域的节点服务器与同一个地域的GPS原子钟服务器和二级时间服务器均连接,该节点服务器可以与同一个地域的GPS原子钟服务器或二级时间服务器进行时间同步。例如,节点服务器从二级时间服务器进行时间同步,当二级时间服务器出现故障时,为了不影响事务处理速度和系统吞吐能力,节点服务器可变为从GPS原子钟服务器同步时间。在不考虑通信成本的情况下或在其他应用场景中,也可以在同一个地域布置若干个二级时间服务器,同一个地域中的各节点服务器可以分别与同一个地域中的任意二级时间服务器时间同步,或是与就近的二级时间服务器时间同步。
优选的,二级时间服务器可以采用NTP(Network Time Protocol,网络时间协议)时间方案。
在第一种实施方式的基础上,当在同一个地域布置多个二级时间服务器时,各二级时间服务器之间时间也需要进行同步,以保证同一区域中的所有节点服务器的本地时间精度。
在一个具体的实施例中,如图2所示,分布式数据库系统的节点服务器分布在A、B、C三个地域中,每个地域中均具有节点服务器、二级时间服务器和GPS原子钟服务器。每个地域中的节点服务器与本地域中的二级时间服务器及GPS原子钟服务器时间同步。地域A、B、C中的GPS原子钟服务器时钟同步。
在第一种实施方式的基础上,由于分布式数据库系统的节点服务器是分布在不同地域的,因此为了提高时间精度还可以使得各地域中的二级时间服务器时钟同步。
在第一种实施方式的基础上,事务的数据结构至少包括启动时间、通用唯一识别码以及事务状态。
同一个数据库集群中的各节点服务器分别部署在各地域的数据中心中。二级时间服务器也可部署在该地域的数据中心中。而GPS原子钟服务器则可以不布置在该地域的数据中心中。每一个节点服务器均可以被分成多个分片(range),同一个数据库集群中的各节点服务器可以存储备份有相关联的其他节点服务器的数据信息。
在一个具体的实施例中,如图3所示,数据库集群包括三个节点服务器,三个节点服务器部署在三个数据中心中,每个数据中心内还部署有一个二级时间服务器,每个节点服务器中包含三个分片。
实施例二
本发明实施例提供了一种事务处理装置,应用于接收事务请求的节点服务器(即第一节点服务器),如图4所示,包括:
接收模块10,用于接收多个事务请求。
第一判断模块20,用于判断接收到的各事务请求对应的事务间是否存在并发冲突。
获取模块30,用于当各事务间存在并发冲突时,获取各事务的启动时间;其中,启动时间为发出各事务请求的第二节点服务器的本地时间,第二节点服务器的本地时间与第二节点服务器所在地域的GPS原子钟服务器的时间同步。
处理模块40,用于根据各事务的启动时间先后对各事务进行处理。
在一个可能的设计中,获取模块30包括:
第一同步子模块,用于根据第二节点服务器所在地域的GPS原子钟服务器的时间,定时同步第二节点服务器的本地时间。
在一个可能的设计中,获取模块30还包括:
第二同步子模块,用于根据第二节点服务器所在地域的GPS原子钟服务器的时间,定时同步第二节点服务器所在地域的二级时间服务器的时间,根据二级时间服务器的时间,定时同步第二节点服务器的本地时间。
在一个可能的设计中,还包括第二判断模块,用于根据第二节点服务器所在地域的GPS原子钟服务器的时间,定时同步第二节点服务器所在地域的二级时间服务器的时间,根据二级时间服务器的时间,定时同步第二节点服务器的本地时间。
需要说明的是,本实施例中记载的第一节点服务器和第二节点服务器与第一实施例中记载的第一节点服务器和第二节点服务器相同。因此,本实施例中的第一节点服务器与第二节点服务器也为相对概念,仅用于功能区分不同的节点服务器,第一节点服务器在用作发送事务请求时,也可以理解为是第二节点服务器,第二节点服务器在用作接收事务请求时,也可以理解为是第一节点服务器。不应理解和限制于上述各实施例中第一节点服务器只能用于接收事务请求,第二节点服务器只能用于发送事务请求,应根据节点服务器当前状态下的具体功能进行区分。
实施例三
本发明实施例提供了一种事务处理终端,如图5所示,包括:
存储器400和处理器500,存储器400内存储有可在处理器500上运行的计算机程序。处理器500执行所述计算机程序时实现上述实施例中的事务处理方法。存储器400和处理器500的数量可以为一个或多个。
通信接口600,用于存储器400和处理器500与外部进行通信。
存储器400可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
如果存储器400、处理器500以及通信接口600独立实现,则存储器400、处理器500以及通信接口600可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(ISA,Industry Standard Architecture)总线、外部设备互连(PCI,PeripheralComponent)总线或扩展工业标准体系结构(EISA,Extended Industry StandardComponent)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器400、处理器500以及通信接口600集成在一块芯片上,则存储器400、处理器500及通信接口600可以通过内部接口完成相互间的通信。
实施例四
本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现如实施例一包括的任一所述的事务处理方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
本发明实施例所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质的更具体的示例至少(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,计算机可读存储介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
在本发明实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于指令执行系统、输入法或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、射频(Radio Frequency,RF)等等,或者上述的任意合适的组合。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能执行单元可以集成在一个处理模块中,也可以是各个执行单元单独物理存在,也可以两个或两个以上执行单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。所述存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (11)
1.一种基于GPS原子钟的分布式数据库事务处理方法,应用于第一节点服务器中,其特征在于,所述方法包括:
第一节点服务器接收多个事务请求;
判断接收到的各所述事务请求对应的事务间是否存在并发冲突;
如果存在并发冲突,则获取各所述事务的启动时间;其中,所述启动时间为发出所述事务请求时的第二节点服务器的本地时间,所述第二节点服务器的本地时间与其所在地域的GPS原子钟服务器的时间同步;
所述第一节点服务器根据各所述事务的所述启动时间先后对各所述事务进行处理。
2.如权利要求1所述的事务处理方法,其特征在于,所述方法还包括:
判断接收到的各所述事务的所述启动时间的间隔是否在时间间隔误差内;
若在所述时间间隔误差内,则执行其中一个所述事务,并将另一个所述事务在所述时间间隔误差后重启。
3.如权利要求1所述的事务处理方法,其特征在于,所述方法还包括:
根据所述第二节点服务器所在地域的所述GPS原子钟服务器的时间,定时同步所述第二节点服务器的本地时间。
4.如权利要求1所述的事务处理方法,其特征在于,所述方法还包括:
根据所述第二节点服务器所在地域的所述GPS原子钟服务器的时间,定时同步所述第二节点服务器所在地域的二级时间服务器的时间;
根据所述二级时间服务器的时间,定时同步所述第二节点服务器的本地时间。
5.如权利要求1所述的事务处理方法,其特征在于,所述方法还包括:
各所述第二节点服务器所在地域的所述GPS原子钟服务器时间同步。
6.一种基于GPS原子钟的分布式数据库事务处理装置,应用于第一节点服务器中,其特征在于,所述装置包括:
接收模块,用于接收多个事务请求;
第一判断模块,用于判断接收到的各所述事务请求对应的事务间是否存在并发冲突;
获取模块,用于当各所述事务间存在并发冲突时,获取各所述事务的启动时间;其中,所述启动时间为发出所述事务请求时的第二节点服务器的本地时间,所述第二节点服务器的本地时间与其所在地域的GPS原子钟服务器的时间同步;
处理模块,用于根据各所述事务的所述启动时间先后对各所述事务进行处理。
7.如权利要求6所述的事务处理装置,其特征在于,所述装置还包括:
第二判断模块,用于判断接收到的各所述事务的所述启动时间的间隔是否在时间间隔误差内;若在所述时间间隔误差内,则执行其中一个所述事务,并将另一个所述事务在所述时间间隔误差后重启。
8.如权利要求6所述的事务处理装置,其特征在于,获取模块包括:
第一同步子模块,用于根据所述第二节点服务器所在地域的所述GPS原子钟服务器的时间,定时同步所述第二节点服务器的本地时间。
9.如权利要求6所述的事务处理装置,其特征在于,获取模块包括:
第二同步子模块,用于根据所述第二节点服务器所在地域的所述GPS原子钟服务器的时间,定时同步所述第二节点服务器所在地域的二级时间服务器的时间,根据所述二级时间服务器的时间,定时同步所述第二节点服务器的本地时间。
10.一种基于GPS原子钟的分布式数据库事务处理终端,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-5中任一所述的方法。
11.一种计算机可读存储介质,其存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810284235.6A CN108984277B (zh) | 2018-04-02 | 2018-04-02 | 基于gps原子钟的分布式数据库事务处理方法及装置 |
US16/282,438 US10567549B2 (en) | 2018-04-02 | 2019-02-22 | Distributed database transaction processing method, device based on GPS atomic clock server |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810284235.6A CN108984277B (zh) | 2018-04-02 | 2018-04-02 | 基于gps原子钟的分布式数据库事务处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108984277A CN108984277A (zh) | 2018-12-11 |
CN108984277B true CN108984277B (zh) | 2019-08-30 |
Family
ID=64541777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810284235.6A Active CN108984277B (zh) | 2018-04-02 | 2018-04-02 | 基于gps原子钟的分布式数据库事务处理方法及装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10567549B2 (zh) |
CN (1) | CN108984277B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110795506A (zh) * | 2019-10-23 | 2020-02-14 | 广州巨杉软件开发有限公司 | 基于分布式逻辑时间戳的分布式数据库管理方法及装置 |
US11921708B1 (en) * | 2022-08-29 | 2024-03-05 | Snowflake Inc. | Distributed execution of transactional queries |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5263155A (en) * | 1991-02-21 | 1993-11-16 | Texas Instruments Incorporated | System for selectively registering and blocking requests initiated by optimistic and pessimistic transactions respectively for shared objects based upon associated locks |
CN102063055A (zh) * | 2010-12-10 | 2011-05-18 | 南京科远自动化集团股份有限公司 | 一种冗余utc时间同步服务器 |
CN102684808A (zh) * | 2012-06-06 | 2012-09-19 | 哈尔滨工业大学 | 一种自适应时钟同步系统 |
CN103345502A (zh) * | 2013-07-01 | 2013-10-09 | 曙光信息产业(北京)有限公司 | 分布式数据库的事务处理方法和系统 |
CN104317944A (zh) * | 2014-10-31 | 2015-01-28 | 上海实方软件有限公司 | 一种基于公式的时间戳动态调整并发控制方法 |
CN106648840A (zh) * | 2016-08-30 | 2017-05-10 | 周烜 | 事务之间的时序确定方法和装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6307868B1 (en) * | 1995-08-25 | 2001-10-23 | Terayon Communication Systems, Inc. | Apparatus and method for SCDMA digital data transmission using orthogonal codes and a head end modem with no tracking loops |
US6665308B1 (en) * | 1995-08-25 | 2003-12-16 | Terayon Communication Systems, Inc. | Apparatus and method for equalization in distributed digital data transmission systems |
US6356555B1 (en) * | 1995-08-25 | 2002-03-12 | Terayon Communications Systems, Inc. | Apparatus and method for digital data transmission using orthogonal codes |
US7069325B1 (en) * | 2001-12-21 | 2006-06-27 | Cisco Technology, Inc. | Method and apparatus for handling requests in a network |
US7752115B2 (en) * | 2002-10-02 | 2010-07-06 | Trading Technologies International, Inc. | Method and apparatus for a fair exchange |
US20080144493A1 (en) * | 2004-06-30 | 2008-06-19 | Chi-Hsiang Yeh | Method of interference management for interference/collision prevention/avoidance and spatial reuse enhancement |
FR2910776A1 (fr) * | 2006-12-22 | 2008-06-27 | Thomson Licensing Sas | Procede de communications entre au moins une station cliente et au moins deux stations de base |
US8122274B2 (en) * | 2009-02-27 | 2012-02-21 | International Business Machines Corporation | Method, system and computer program product for certifying a timestamp of a data processing system |
US9230000B1 (en) * | 2012-06-04 | 2016-01-05 | Google Inc. | Pipelining Paxos state machines |
US10362109B2 (en) * | 2016-03-30 | 2019-07-23 | Task Performance Group, Inc. | Cloud operating system and method |
-
2018
- 2018-04-02 CN CN201810284235.6A patent/CN108984277B/zh active Active
-
2019
- 2019-02-22 US US16/282,438 patent/US10567549B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5263155A (en) * | 1991-02-21 | 1993-11-16 | Texas Instruments Incorporated | System for selectively registering and blocking requests initiated by optimistic and pessimistic transactions respectively for shared objects based upon associated locks |
CN102063055A (zh) * | 2010-12-10 | 2011-05-18 | 南京科远自动化集团股份有限公司 | 一种冗余utc时间同步服务器 |
CN102684808A (zh) * | 2012-06-06 | 2012-09-19 | 哈尔滨工业大学 | 一种自适应时钟同步系统 |
CN103345502A (zh) * | 2013-07-01 | 2013-10-09 | 曙光信息产业(北京)有限公司 | 分布式数据库的事务处理方法和系统 |
CN104317944A (zh) * | 2014-10-31 | 2015-01-28 | 上海实方软件有限公司 | 一种基于公式的时间戳动态调整并发控制方法 |
CN106648840A (zh) * | 2016-08-30 | 2017-05-10 | 周烜 | 事务之间的时序确定方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108984277A (zh) | 2018-12-11 |
US10567549B2 (en) | 2020-02-18 |
US20190306274A1 (en) | 2019-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110033244B (zh) | 基于区块链的智能合约执行方法及装置和电子设备 | |
EP3816912B1 (en) | Blockchain-based transaction processing method and apparatus, and electronic device | |
CN101626398B (zh) | 获取好友动态的方法及系统 | |
JP2021503676A (ja) | ブロックチェーンに基づく部屋在庫管理システム | |
CN108984277B (zh) | 基于gps原子钟的分布式数据库事务处理方法及装置 | |
US7778986B2 (en) | Securing transfer of ownership of a storage object from an unavailable owner node to another node | |
CN109032796B (zh) | 一种数据处理方法和装置 | |
CN109388626A (zh) | 用于向业务分配编号的方法和装置 | |
CN108958969B (zh) | 数据库灾备方法、装置及灾备系统 | |
CN108664625A (zh) | 一种跨系统数据同步方法及装置 | |
US20080093444A1 (en) | Automatic vending system using rfid and method thereof | |
CN116204485A (zh) | 多处理器系统及其通信方法、处理器内核 | |
EP1383293A2 (en) | Connection information management system for managing connection information used in communications between IC cards | |
CN105225101A (zh) | 圈存方法、装置和系统 | |
CN101464938A (zh) | 用于管理射频标识标签的用户存储器的设备和方法 | |
US10331627B2 (en) | Method and system for unified technological stack management for relational databases | |
CN110472977A (zh) | 一种区块链的交易记录生成方法及相关设备 | |
EP2669856A1 (en) | Information processor and information processing method | |
JP2004192289A (ja) | 情報処理装置 | |
CN110389837A (zh) | 数据访问方法、装置、设备、存储介质及系统 | |
CN117251456B (zh) | 一种主键值生成方法、装置、电子设备和存储介质 | |
CN109447293A (zh) | 一种产品数据的处理方法及装置 | |
CN112948430B (zh) | 一种日期数据查询方法和装置 | |
CN110889040B (zh) | 用于推送信息的方法和装置 | |
JP4318310B2 (ja) | Icタグアクセスプログラム、方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |