CN109241165A - 一种数据库同步延时的确定方法、装置和设备 - Google Patents

一种数据库同步延时的确定方法、装置和设备 Download PDF

Info

Publication number
CN109241165A
CN109241165A CN201811004932.8A CN201811004932A CN109241165A CN 109241165 A CN109241165 A CN 109241165A CN 201811004932 A CN201811004932 A CN 201811004932A CN 109241165 A CN109241165 A CN 109241165A
Authority
CN
China
Prior art keywords
data
time
database
synchronization
target database
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.)
Granted
Application number
CN201811004932.8A
Other languages
English (en)
Other versions
CN109241165B (zh
Inventor
陈正
王大鹏
李洪鹏
殷舒
刘胜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Union Mobile Pay Co Ltd
Original Assignee
Union Mobile Pay Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Union Mobile Pay Co Ltd filed Critical Union Mobile Pay Co Ltd
Priority to CN201811004932.8A priority Critical patent/CN109241165B/zh
Publication of CN109241165A publication Critical patent/CN109241165A/zh
Application granted granted Critical
Publication of CN109241165B publication Critical patent/CN109241165B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据库同步延时的确定方法、装置和设备,所述方法包括:第一服务器确定目标数据库的待检测数据库表;所述第一服务器获取所述待检测数据库表中预设时段内的数据的同步时间和写入时间;所述同步时间为第二服务器将所述数据在源数据库与所述目标数据库进行同步的时间;所述写入时间为所述数据写入所述目标数据库的时间;所述第一服务器根据所述同步时间和所述写入时间,确定所述数据的同步延迟时间;所述第一服务器根据所述预设时段内的数据的同步延迟时间,确定所述待检测数据库表的同步延迟时间。

Description

一种数据库同步延时的确定方法、装置和设备
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据库同步延时的确定方法、装置和设备。
背景技术
随着互联网的发展,由于单一数据库处理能力有限,单一数据库越来越不能满足业务的需求。通常,在业务系统中,会按照不同功能、业务维度,将数据库拆分成多个数据库。同时,多个数据库之间进行数据同步。然而,不同数据库之间的数据同步,存在一定延时;对于实时交易等场景,数据的延时会对业务造成一定影响,因此,需要及时的确定多个数据库中数据同步的延时,并根据延时大小,对数据库进行适时的调整,进而优化业务能力。
现有技术中,对数据库的延时的测量,无法根据业务维度确定数据库表的延迟,进而无法用于对数据库性能的优化。
因此,如何实现数据库的数据库同步延时的准确测量是目前亟待解决的技术问题。
发明内容
本发明实施例提供一种数据库同步延时的确定方法、装置和设备,用以实现数据库同步延时的准确测量,以对数据库的应用进行优化。
本发明实施例提供一种数据库同步延时的确定方法,包括:
第一服务器确定目标数据库的待检测数据库表;
所述第一服务器获取所述待检测数据库表中预设时段内的数据的同步时间和写入时间;所述同步时间为第二服务器将所述数据在源数据库与所述目标数据库进行同步的时间;所述写入时间为所述数据写入所述目标数据库的时间;
所述第一服务器根据所述同步时间和所述写入时间,确定所述数据的同步延迟时间;
所述第一服务器根据所述预设时段内的数据的同步延迟时间,确定所述待检测数据库表的同步延迟时间。
一种可能的实现方式,所述待检测数据库表为所述源数据库中的业务数据表。
一种可能的实现方式,确定所述待检测数据库表的同步延迟时间之后,还包括:
所述第一服务器根据所述目标数据库中的各待检测数据库表的同步延迟时间,确定所述目标数据库的同步延迟时间。
本发明实施例提供一种数据库同步延时的确定方法,包括:
第二服务器确定源数据库中的待同步数据;
所述第二服务器将所述待同步数据和所述待同步数据的同步时间发送至目标数据库;所述同步时间为所述第二服务器将所述数据在所述源数据库与目标数据库进行同步的时间;所述目标数据库中存储有所述待同步数据写入所述目标数据库的写入时间;所述数据的同步延迟时间是根据所述写入时间和所述同步时间确定的。
一种可能的实现方式,所述方法还包括:
所述第二服务器获取所述目标数据库中待检测数据库表的同步延时时间;所述待检测数据库表的同步延迟时间是根据所述待检测数据库表的各数据的同步延迟时间确定的;
所述第二服务器根据所述同步延时时间,确定所述待检测数据库表的业务类型;
所述第二服务器根据所述待检测数据库表的业务类型,确定所述源数据库中具有相同业务类型的源数据库表;
所述第二服务器设置所述源数据库表的同步数据库表为所述待检测数据库表。
一种可能的实现方式,所述待同步数据为业务数据。
本发明实施例提供一种数据库同步延时的确定装置,包括:
确定单元,用于确定目标数据库的待检测数据库表;
处理单元,用于获取所述待检测数据库表中预设时段内的数据的同步时间和写入时间;所述同步时间为第二服务器将所述数据在源数据库与所述目标数据库进行同步的时间;所述写入时间为所述数据写入所述目标数据库的时间;根据所述同步时间和所述写入时间,确定所述数据的同步延迟时间;根据所述预设时段内的数据的同步延迟时间,确定所述待检测数据库表的同步延迟时间。
一种可能的实现方式,所述待检测数据库表为所述源数据库中的业务数据表。
一种可能的实现方式,所述处理单元,还用于:
根据所述目标数据库中的各待检测数据库表的同步延迟时间,确定所述目标数据库的同步延迟时间。
本发明实施例提供一种数据库同步延时的确定装置,包括:
确定单元,用于确定源数据库中的待同步数据;
处理单元,用于将所述待同步数据和所述待同步数据的同步时间发送至目标数据库;所述同步时间为所述第二服务器将所述数据在所述源数据库与目标数据库进行同步的时间;所述目标数据库中存储有所述待同步数据写入所述目标数据库的写入时间;所述数据的同步延迟时间是根据所述写入时间和所述同步时间确定的。
一种可能的实现方式,所述处理单元,还用于:
获取所述目标数据库中待检测数据库表的同步延时时间;所述待检测数据库表的同步延迟时间是根据所述待检测数据库表的各数据的同步延迟时间确定的;根据所述同步延时时间,确定所述待检测数据库表的业务类型;根据所述待检测数据库表的业务类型,确定所述源数据库中具有相同业务类型的源数据库表;设置所述源数据库表的同步数据库表为所述待检测数据库表。
一种可能的实现方式,所述待同步数据为业务数据。
本发明实施例提供一种计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行如本发明实施例中任一项所述的方法。
本发明实施例提供一种电子设备,包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明实施例任一项所述的方法。
本发明有益效果:
本发明实施例提供的数据库同步延时的确定方法及装置,通过在同步数据中获得源数据库中的数据提交至同步列表的同步时间,进而在目标数据库中根据源数据库中的数据的同步时间和目标数据库中对应的数据的写入时间,即可确定所述数据的同步延迟时间。不需要针对同步延迟在不同的业务系统的服务器中部署应用,降低了检测的复杂度,在不影响数据库性能的前提下,有效的提高了同步延迟的检测效率。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例提供的数据库同步延时的确定方法的流程示意图;
图2为本发明实施例提供的数据库同步延时的确定方法的流程示意图;
图3为本发明实施例提供的数据库同步延时的确定装置的结构示意图;
图4为本发明实施例提供的数据库同步延时的确定装置的结构示意图;
图5为本发明实施例提供的实施数据库同步延时的确定方法的电子设备的硬件结构示意图。
具体实施方式
以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
随着互联网的发展,由于单一数据库处理能力有限,单一数据库越来越不能满足业务的需求。例如,电子商务日益深入人心,实时交易系统的数据量也与日俱增,然而单一数据库的处理能力有限,因此需要基于源数据库,按照业务或功能建立多个目标数据库,从而降低对源数据库的访问压力。
在本发明实施例中,业务系统可以涉及不同的应用系统,例如销售系统,人力资源系统,采购系统,财务系统等系统,具体的,可以在业务系统中,可以按照不同功能、业务维度,将数据库拆分成多个数据库。源数据库通常处理实时交易,目标数据库用于记录源数据库中的交易,业务系统在源数据库中的数据发生变化时,需要进行同步数据的同步。
当源数据库中的某个数据表发生变化时,需要保证关注该数据表的目标数据库中的该数据表与源数据库中的该数据表发生一致的变化,因此需要一个同步装置来实现目标数据库与源数据库之间数据的同步。多个数据库之间可以采用数据同步工具,进行数据同步。
本发明的实施例所应用的场景有多种,为更好的理解本方案,此处仅示例性列举以下几种:
场景一:源数据库为一个,目标数据库为多个,该源数据库为“写库”,支持相关写操作的事务处理,目标数据库为“读库”,支持业务查询、数据分析等查询操作。实际应用中,需保证该为“写库”的源数据库内容与多个为“读库”的目标数据库的数据内容一致,并需保证目标数据库的内容和源数据库内容同步的及时性和正确性。
场景二:源数据库为多个,目标数据库为一个,该多个源数据库为“写库”,且多个源数据库中储存的数据表均为“订单表”,此时,可将一部分用户的交易写到某个源数据库的“订单表”中,而将另一部分用户的交易写入到另一个源数据库的“订单表”中,此时,即多个源数据库中存储同一个数据表“订单表”,而不同源数据库中储存的数据内容不同。目标数据库为“读库”。实际应用中需实现将多个源数据库中的“订单表”的不同数据内容整合至一个目标数据库中,以便于通过该目标数据库可读取所有“订单表”的数据内容。
场景二中,也可设置多个目标数据库,分别将多个源数据库中的“订单表”同步至多个目标数据库中,以减少单个目标数据库的查询负荷量。
场景三:源数据库为多个,目标数据库为多个,该多个源数据库为“写库”,且多个源数据库中储存的数据表均为同一个数据表,例如“订单表”,多个源数据库中存储同一个数据表“订单表”,而不同源数据库中储存的数据内容不同。具体可为,源数据库按商户维度来区分,商户一的订单表信息通过一个源数据库储存,而商户二的订单表信息通过另一个源数据库储存。多个目标数据库均为“读库”。实际应用中可将以商户为维度区分的多个源数据库中的“订单表”的不同数据内容整合至以时间为维度的多个目标数据库中,即,可将一月份的所有商户的订单表整合至一个目标数据库中,将二月份的所有商户的订单表整合至另一个目标数据库中,以便于通过该目标数据库可读取所有“订单表”的数据内容。
场景四:本发明实施例中的至少一个目标数据库储存单个源数据库储存的全部数据表中的部分数据表。该单个目标数据库中也可储存有多个源数据库中每个源数据库中储存的部分数据表。举个例子,源数据库一中储存有数据表“一月份统计表、二月份统计表”,源数据库二中储存有数据表“三月份统计表、四月份统计表”,目标数据库中可仅存储源数据库一中的数据表“一月份统计表”,也可仅存储有源数据库一中的“一月份统计表”和源数据库二中的“三月份统计表”。
然而,不同数据库之间的数据同步,可能由于多种原因导致延时,对于实时交易等场景,数据的延时会对业务造成一定影响,因此,需要检测目标数据库与源数据库的数据库同步延时,并根据延时大小,访问不同数据库,或做出其他调整。因此,检测数据库同步延时,是业务系统运营、维护智能化的关键点。
目前数据库同步的方法中,可以按照不同数据库表进行数据同步,每个表对应一个线程,因此,不同数据库表的延时是不同的,“热点表”使用频率较高,单位时间内操作数量多,因此延时较大,相反的,“非热点表”的延时则较小。然而,通过独立的数据库检测表,最终的检测结果只是该表的延时,因此,无法根据业务类型,优化目标数据库和源数据库的设置。
为解决上述问题,如图1所示,本发明实施例提供一种数据库同步延时的确定方法,包括:
步骤101:第二服务器确定源数据库中的待同步数据;
步骤102:第二服务器将所述待同步数据和所述待同步数据的同步时间发送至目标数据库;
其中,所述同步时间为所述第二服务器将所述数据在所述源数据库与目标数据库进行同步的时间;所述目标数据库中存储有所述待同步数据写入所述目标数据库的写入时间;所述数据的同步延迟时间是根据所述写入时间和所述同步时间确定的。
步骤103:第一服务器确定目标数据库的待检测数据库表;
步骤104:第一服务器获取所述待检测数据库表中预设时段内的数据的同步时间和写入时间;
步骤105:第一服务器根据所述同步时间和所述写入时间,确定所述数据的同步延迟时间;
步骤106:第一服务器根据所述预设时段内的数据的同步延迟时间,确定所述待检测数据库表的同步延迟时间。
需要说明的是,本发明实施例中第一服务器可连接一个源数据库,也可连接多个源数据库,多个源数据库中可存储同一个数据表中的不同数据内容。
第二服务器可连接一个第一服务器,也可连接多个第一服务器,每个第一服务器可连接多个目标数据库,也可每个第一服务器仅连接一个目标数据库。
通过上述方法,通过在同步数据中获得源数据库中的数据提交至同步列表的同步时间,进而在目标数据库中根据源数据库中的数据的同步时间和目标数据库中对应的数据的写入时间,即可确定所述数据的同步延迟时间。不需要针对同步延迟在不同的业务系统的服务器中部署应用,降低了检测的复杂度,在不影响数据库性能的前提下,有效的提高了同步延迟的检测效率。
在步骤101中,可以在源数据库包含的每个数据库表中对应的写入数据的日志中,获取每条数据的写入时间。
具体的,可以通过读取源数据库生成的数据库日志,解析出每条数据在源数据库的提交至同步列表的同步时间,该时间记为T1。
需要说明的是,源数据库在写入数据时,还会生成每个数据的写入时间,由于数据写入时间与数据提交至同步列表的同步时间可能由于源数据库的问题,会有不同,因此,此处选取源数据库中的数据的提交至同步列表的同步时间作为所述数据在源数据库中的同步延迟的起始时间,避免了由于源数据库本身写入的原因导致的延迟造成的同步延时时间的不准确。
源数据库中的数据的同步时间,可以作为一个字段写入目标数据库,会按照业务的分片规则对大型表进行拆分,如按日,按月,按年等规则,因此不会出现一个表中的数据量过大,从而导致数据库性能下降的问题,部署简单。
为进一步降低同步延迟检测对数据库性能的影响,提高同步延迟检测数据的准确性,本发明实施例提供一种可能的实现方式,所述待同步数据为业务数据。
通过上述方法,由于是在业务数据同步的同时,确定的业务数据在源数据库中提交至同步列表的同步时间,进而在目标数据库中同步时,即可直接获得上述业务数据在目标数据库中的写入时间,根据源数据库中的业务数据的同步时间和目标数据库中对应的业务数据的写入时间,即可确定所述业务数据的同步延迟时间。获得的同步延时更能反映目标数据库在真实的业务场景中的同步延时。并且,由于不需要通过插入数据的方式,检测数据库的同步延迟,降低了对数据库性能的影响。
在步骤102中,在对各个待同步的目标数据库的数据进行同步时,还可以将这些待同步的目标数据库的属性信息写入到配置文件中,根据各个待同步的目标数据库在配置文件中写入的属性信息的位置,选定待同步的目标数据库,所述配置文件中包含预先选定的待同步的目标数据库的属性信息、各个待同步的目标数据库中需要同步的数据库表的标识信息。所述属性信息可以但不限于包括:IP地址、用户名、密码和端口等信息。针对任一待同步的目标数据库,在需要对该数据库包含的数据库表进行同步时,需要将这些数据库表的标识信息写入到配置文件中,所述标识信息可以但不限于为数据库表的名称等。
不同业务系统需要的同步数据可能不同,也可能相同,在进行数据同步前,可以先确定不同的业务类型对应的数据库表的同步规则,在本发明实施例中,不同的业务类型对应的数据库表的同步规则是预先设定好的。不同的业务类型对应的数据库表具有不同的业务标识。
在本发明实施例中,提供几种同步数据的方式,第一种为每个待同步的目标数据库对应的服务器通过一个数据同步接口将数据同步到待同步的目标数据库中,在本发明实施例中,在获取同步数据后,将同步数据保存在数据同步接口中,待同步的目标数据库对应的服务器可以通过主动同步的方式在数据同步接口中获取同步数据。
在本发明实施例中,第二种为根据待同步的目标数据库的同步规则,获取同步数据后,将同步数据保存在数据同步数据表中,在同步时间到达时,将数据同步数据表发送给待同步的目标数据库对应的服务器,或者待同步的目标数据库需要进行同步时,获取数据同步数据表,并将数据同步数据表保存在待同步的目标数据库中。
在步骤103中,通过数据同步,可以将所述同步时间写入目标数据库中的待检测数据表中。
具体的,所述待检测数据库表可以为在源数据库和目标数据库中增加的检测表。
但是,该方法需要持续不断的向检测表中写入数据,检测表中可能由于数据量过多,以及数据库机制,导致检测表条数累计多,消耗资源过多,会大量消耗数据库资源,比如CPU,IO,磁盘等资源。另外,在实际业务系统中,数据库的数量会很多,因此,采用新建检测表的方式,在每次部署新数据库时,都需要新增表空间、新建表结构等,还需要根据不同的业务系统对应建立,维护部署复杂,不便维护。
为进一步提高同步检测效率,降低检测对数据库的影响,本发明实施例中一种可能的实现方式,所述待检测数据库表可以为所述源数据库中的业务数据表。
在步骤104中,在目标数据库中的每个数据库表中包括时间戳字段和同步状态字段,所述时间戳字段用于表征数据库表中每条数据的写入时间,所述同步状态字段用于表征数据库表中每条数据是否已同步。
将同步数据同步给目标数据库后,根据目标数据库的同步规则中的所述同步时间,获取所述目标数据库待写入数据的同步时间的时间戳和写入时间的时间戳。
具体地,管理任一目标数据库的设备,例如,第一服务器,可以预先在该目标数据库包含的各个数据库表中新增时间戳字段T1,T2,还可以包括同步状态字段syncstatus。在向该数据库包含的任一数据库表写入数据时,可以记录写入该数据库的时间,例如,任一数据库表的格式可以参考表1所示:
表1
序号 写入内容 T1 T2 syncstatus
1 写入内容1 9:59 10:00 1
2 写入内容2 9:59 10:05 0
3 写入内容3 9:59 10:10 0
4 写入内容4 10:00 10:15 0
…… ……
由表1可知,每一个序号所在的行代表一条数据,表1中T1对应的列中代表各条数据在源数据库表的同步时间;T2对应的列中代表各条数据写入该数据库表的写入时间。syncstatus表示该数据库表中每条数据的是否已同步,如该数据库表中第1条数据的syncstatus字段取值为“1”,表示第1条数据已同步;第2~4条数据的syncstatus字段取值均为“0”,表示第2~4条数据未同步。在各个数据库表中增加了这两个字段,以实现目标数据库中数据的同步延时的确定。
通过上述方法,直接在业务数据表中确定同步延时,对数据库的性能影响小。源数据库的数据的同步时间,可以作为一个字段直接写入目标数据库对应的业务数据表中。具体的,可以按照业务的分片规则对大型业务数据表进行拆分,如按日,按月,按年等规则,因此不会出现一个数据表中的数据量过大,从而导致数据库性能下降的问题,不需要针对每个业务对应的不同数据库建立新的检测表或应用,部署简单。
另外,通过上述方法,可以更精确、更有针对性地计算不同业务类型的数据库表的数据确定同步延时,从而可以更好的根据业务类型优化目标数据库。
在步骤105中,一种可能的实现方式,确定所述待检测数据库表的同步延迟时间之后,还包括:
所述第一服务器根据所述目标数据库中的各待检测数据库表的同步延迟时间,确定所述目标数据库的同步延迟时间。
在具体实施过程中,管理任一目标数据库的设备,例如第一服务器,可以读取待检测数据库中的元数据信息,自动的或通过配置文件方式,分析出需要检测的数据库表。
按照一定时间频率访问待检测数据库数据表或所述待检测数据库中的每张数据库表,获取待检测数据库表中在预设时间段内的一条数据,将数据中T2与T1的时间差,确定为该数据库表的同步延时。其中,访问所述待检测数据库中的每张数据库表可以采用多线程工作方式,以提高访问效率。
当然,为进一步优化同步延时的确定,提高检测效率,可以直接获取待检测数据库表中最新的一条数据,将数据中T2与T1的时间差,确定为该数据库表的同步延时。
如图2所示,源数据库有源数据库表A,B,C中的三条最新记录,对应的同步时间分别为T1,T3,T5,同步至目标数据库的目标数据库表A,B,C的写入时间分别为T2,T4,T6。第一服务器分别检测目标数据库表A,B,C,可以确定出目标数据库表A,B,C的延时分别为:(T2-T1),(T4-T3),(T6-T5)。
在步骤106中,可以根据每个数据库表的同步延迟,确定整个数据库的同步延迟,进而可以优化目标数据库的业务类型。
在具体实施过程中,可以根据预设的目标数据库表的业务类型以及目标数据库的业务类型,将相同业务类型的目标数据库表的最大同步延迟时间,作为目标数据库的同步延迟时间;也可以将目标数据库中的所有目标数据库表的最大同步延迟时间,作为目标数据库的同步延迟时间;还可以将目标数据库中的目标数据库表的延迟时间的加权平均值作为目标数据库的同步延迟时间,可以根据需要确定确定方式,在此不做限定。
根据同步延迟时间,可以优化目标数据库的配置,一种可能的实现方式,所述方法还包括:
步骤一、第二服务器获取所述目标数据库中待检测数据库表的同步延时时间;
所述待检测数据库表的同步延迟时间是根据所述待检测数据库表的各数据的同步延迟时间确定的;
步骤二、第二服务器根据所述同步延时时间,确定所述待检测数据库表的业务类型;
步骤三、第二服务器根据所述待检测数据库表的业务类型,确定所述源数据库中具有相同业务类型的源数据库表;
其中,第二服务器可以将同步延时时间小的待检测数据库表,作为查询该业务类型数据的数据库表,而不需要设置为至源数据库中查询;因此,可以根据需要,关联目标数据库中的待检测数据库表和源数据库中的源数据库表,进而降低对源数据库的访问压力,以及提高查询数据的效率。
在具体的关联过程中,可以指定一个源数据库表进行关联,也可以关联多个相同业务类型的源数据库表,在此不做限定。
步骤四、第二服务器设置所述源数据库表的同步数据库表为所述待检测数据库表。
根据业务系统的不同需要,可以根据确定的同步延时,根据数据的实时性的需求,将数据同步至不同的数据库表中。通过上述方法,可以将同步延迟小的目标数据库中的数据库表,作为查询实时交易的数据库表,而不再需要在源数据库中进行查询,避免了多方查询源数据库对源数据库的性能的影响,提高源数据库的高可用性。
基于相同的发明构思,如图3所示,本发明实施例提供一种数据库同步延时的确定装置,包括:
确定单元301,用于确定目标数据库的待检测数据库表;
处理单元302,用于获取所述待检测数据库表中预设时段内的数据的同步时间和写入时间;所述同步时间为第二服务器将所述数据在源数据库与所述目标数据库进行同步的时间;所述写入时间为所述数据写入所述目标数据库的时间;根据所述同步时间和所述写入时间,确定所述数据的同步延迟时间;根据所述预设时段内的数据的同步延迟时间,确定所述待检测数据库表的同步延迟时间。
一种可能的实现方式,所述待检测数据库表为所述源数据库中的业务数据表。
一种可能的实现方式,处理单元302,还用于:
根据所述目标数据库中的各待检测数据库表的同步延迟时间,确定所述目标数据库的同步延迟时间。
如图4所示,本发明实施例提供一种数据库同步延时的确定装置,包括:
确定单元401,用于确定源数据库中的待同步数据;
处理单元402,用于将所述待同步数据和所述待同步数据的同步时间发送至目标数据库;所述同步时间为所述第二服务器将所述数据在所述源数据库与目标数据库进行同步的时间;所述目标数据库中存储有所述待同步数据写入所述目标数据库的写入时间;所述数据的同步延迟时间是根据所述写入时间和所述同步时间确定的。
一种可能的实现方式,处理单元402,还用于:
获取所述目标数据库中待检测数据库表的同步延时时间;所述待检测数据库表的同步延迟时间是根据所述待检测数据库表的各数据的同步延迟时间确定的;根据所述同步延时时间,确定所述待检测数据库表的业务类型;根据所述待检测数据库表的业务类型,确定所述源数据库中具有相同业务类型的源数据库表;设置所述源数据库表的同步数据库表为所述待检测数据库表。
一种可能的实现方式,所述待同步数据为业务数据。
本申请实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的数据同步方法。
图5是本发明实施例提供的实施数据库同步延时的确定方法的电子设备的硬件结构示意图,如图5所示,该电子设备包括:
一个或多个处理器510以及存储器520,图5中以一个处理器510为例。
执行数据同步方法的电子设备还可以包括:输入装置530和输出装置540。
处理器510、存储器520、输入装置530和输出装置540可以通过总线或者其他方式连接,图5中以通过总线连接为例。
存储器520作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的数据库同步延时的确定方法对应的程序指令/模块/单元。处理器510通过运行存储在存储器520中的非易失性软件程序、指令以及模块/单元,从而执行服务器或者智能终端的各种功能应用以及数据处理,即实现上述方法实施例数据库同步延时的确定方法。
存储器520可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据数据同步装置的使用所创建的数据等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器520可选包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至数据库同步延时的确定装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置530可接收输入的数字或字符信息,以及产生与数据库同步延时的确定装置的用户设置以及功能控制有关的键信号输入。输出装置540可包括显示屏等显示设备。
所述一个或者多个模块存储在所述存储器520中,当被所述一个或者多个处理器510执行时,执行上述任意方法实施例中的数据库同步延时的确定方法。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
本申请实施例提供了一种计算机程序产品,其中,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,其中,当所述程序指令被计算机执行时,使所述计算机执行本申请上述方法实施例中任一项数据库同步延时的确定方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (14)

1.一种数据库同步延时的确定方法,其特征在于,包括:
第一服务器确定目标数据库的待检测数据库表;
所述第一服务器获取所述待检测数据库表中预设时段内的数据的同步时间和写入时间;所述同步时间为第二服务器将所述数据在源数据库与所述目标数据库进行同步的时间;所述写入时间为所述数据写入所述目标数据库的时间;
所述第一服务器根据所述同步时间和所述写入时间,确定所述数据的同步延迟时间;
所述第一服务器根据所述预设时段内的数据的同步延迟时间,确定所述待检测数据库表的同步延迟时间。
2.如权利要求1所述的方法,其特征在于,所述待检测数据库表为所述源数据库中的业务数据表。
3.如权利要求1所述的方法,其特征在于,确定所述待检测数据库表的同步延迟时间之后,还包括:
所述第一服务器根据所述目标数据库中的各待检测数据库表的同步延迟时间,确定所述目标数据库的同步延迟时间。
4.一种数据库同步延时的确定方法,其特征在于,包括:
第二服务器确定源数据库中的待同步数据;
所述第二服务器将所述待同步数据和所述待同步数据的同步时间发送至目标数据库;所述同步时间为所述第二服务器将所述数据在所述源数据库与目标数据库进行同步的时间;所述目标数据库中存储有所述待同步数据写入所述目标数据库的写入时间;所述数据的同步延迟时间是根据所述写入时间和所述同步时间确定的。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
所述第二服务器获取所述目标数据库中待检测数据库表的同步延时时间;所述待检测数据库表的同步延迟时间是根据所述待检测数据库表的各数据的同步延迟时间确定的;
所述第二服务器根据所述同步延时时间,确定所述待检测数据库表的业务类型;
所述第二服务器根据所述待检测数据库表的业务类型,确定所述源数据库中具有相同业务类型的源数据库表;
所述第二服务器设置所述源数据库表的同步数据库表为所述待检测数据库表。
6.如权利要求4或5所述的方法,其特征在于,所述待同步数据为业务数据。
7.一种数据库同步延时的确定装置,其特征在于,包括:
确定单元,用于确定目标数据库的待检测数据库表;
处理单元,用于获取所述待检测数据库表中预设时段内的数据的同步时间和写入时间;所述同步时间为第二服务器将所述数据在源数据库与所述目标数据库进行同步的时间;所述写入时间为所述数据写入所述目标数据库的时间;根据所述同步时间和所述写入时间,确定所述数据的同步延迟时间;根据所述预设时段内的数据的同步延迟时间,确定所述待检测数据库表的同步延迟时间。
8.如权利要求7所述的装置,其特征在于,所述待检测数据库表为所述源数据库中的业务数据表。
9.如权利要求7所述的装置,其特征在于,所述处理单元,还用于:
根据所述目标数据库中的各待检测数据库表的同步延迟时间,确定所述目标数据库的同步延迟时间。
10.一种数据库同步延时的确定装置,其特征在于,包括:
确定单元,用于确定源数据库中的待同步数据;
处理单元,用于将所述待同步数据和所述待同步数据的同步时间发送至目标数据库;所述同步时间为所述第二服务器将所述数据在所述源数据库与目标数据库进行同步的时间;所述目标数据库中存储有所述待同步数据写入所述目标数据库的写入时间;所述数据的同步延迟时间是根据所述写入时间和所述同步时间确定的。
11.如权利要求10所述的装置,其特征在于,所述处理单元,还用于:
获取所述目标数据库中待检测数据库表的同步延时时间;所述待检测数据库表的同步延迟时间是根据所述待检测数据库表的各数据的同步延迟时间确定的;根据所述同步延时时间,确定所述待检测数据库表的业务类型;根据所述待检测数据库表的业务类型,确定所述源数据库中具有相同业务类型的源数据库表;设置所述源数据库表的同步数据库表为所述待检测数据库表。
12.如权利要求9或10所述的装置,其特征在于,所述待同步数据为业务数据。
13.一种计算机存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令用于执行如权利要求1至3任一权利要求所述的方法,或者,如权利要求4至6任一权利要求所述的方法。
14.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至3任一权利要求所述的方法,或者,如权利要求4至6任一权利要求所述的方法。
CN201811004932.8A 2018-08-30 2018-08-30 一种数据库同步延时的确定方法、装置和设备 Active CN109241165B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811004932.8A CN109241165B (zh) 2018-08-30 2018-08-30 一种数据库同步延时的确定方法、装置和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811004932.8A CN109241165B (zh) 2018-08-30 2018-08-30 一种数据库同步延时的确定方法、装置和设备

Publications (2)

Publication Number Publication Date
CN109241165A true CN109241165A (zh) 2019-01-18
CN109241165B CN109241165B (zh) 2021-02-23

Family

ID=65067984

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811004932.8A Active CN109241165B (zh) 2018-08-30 2018-08-30 一种数据库同步延时的确定方法、装置和设备

Country Status (1)

Country Link
CN (1) CN109241165B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110334150A (zh) * 2019-06-05 2019-10-15 上海易点时空网络有限公司 监测主从数据库同步延时的方法、监控终端及系统
CN110430091A (zh) * 2019-07-09 2019-11-08 上海易点时空网络有限公司 适用于redis的主从时延监控方法及装置、存储介质
CN111694798A (zh) * 2020-04-23 2020-09-22 武汉达梦数据库有限公司 一种基于日志解析的数据同步方法及数据同步系统
CN114071205A (zh) * 2021-11-16 2022-02-18 京东方科技集团股份有限公司 视频播放方法、装置、电子设备及存储介质
CN114661830A (zh) * 2022-03-09 2022-06-24 苏州工业大数据创新中心有限公司 一种数据处理方法、装置、终端和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130066829A1 (en) * 2009-01-30 2013-03-14 Apple Inc. Synchronization of database changes among multiple devices
CN104809201A (zh) * 2015-04-24 2015-07-29 联动优势科技有限公司 一种数据库同步的方法和装置
CN105589797A (zh) * 2015-09-17 2016-05-18 中国银联股份有限公司 主从数据库间数据同步延时检测的方法
CN106909598A (zh) * 2016-07-01 2017-06-30 阿里巴巴集团控股有限公司 一种保障计算数据一致性的处理方法、装置及系统
CN107402872A (zh) * 2016-03-31 2017-11-28 阿里巴巴集团控股有限公司 一种用于确定数据库间数据同步延迟的方法与设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130066829A1 (en) * 2009-01-30 2013-03-14 Apple Inc. Synchronization of database changes among multiple devices
CN104809201A (zh) * 2015-04-24 2015-07-29 联动优势科技有限公司 一种数据库同步的方法和装置
CN105589797A (zh) * 2015-09-17 2016-05-18 中国银联股份有限公司 主从数据库间数据同步延时检测的方法
CN107402872A (zh) * 2016-03-31 2017-11-28 阿里巴巴集团控股有限公司 一种用于确定数据库间数据同步延迟的方法与设备
CN106909598A (zh) * 2016-07-01 2017-06-30 阿里巴巴集团控股有限公司 一种保障计算数据一致性的处理方法、装置及系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110334150A (zh) * 2019-06-05 2019-10-15 上海易点时空网络有限公司 监测主从数据库同步延时的方法、监控终端及系统
CN110430091A (zh) * 2019-07-09 2019-11-08 上海易点时空网络有限公司 适用于redis的主从时延监控方法及装置、存储介质
CN111694798A (zh) * 2020-04-23 2020-09-22 武汉达梦数据库有限公司 一种基于日志解析的数据同步方法及数据同步系统
CN111694798B (zh) * 2020-04-23 2023-04-25 武汉达梦数据库股份有限公司 一种基于日志解析的数据同步方法及数据同步系统
CN114071205A (zh) * 2021-11-16 2022-02-18 京东方科技集团股份有限公司 视频播放方法、装置、电子设备及存储介质
CN114661830A (zh) * 2022-03-09 2022-06-24 苏州工业大数据创新中心有限公司 一种数据处理方法、装置、终端和存储介质
CN114661830B (zh) * 2022-03-09 2023-03-24 苏州工业大数据创新中心有限公司 一种数据处理方法、装置、终端和存储介质

Also Published As

Publication number Publication date
CN109241165B (zh) 2021-02-23

Similar Documents

Publication Publication Date Title
CN109241165A (zh) 一种数据库同步延时的确定方法、装置和设备
CN101576918B (zh) 具备负载均衡功能的数据缓存系统
US8874512B2 (en) Data replication method and system for database management system
CN109086325A (zh) 基于区块链的数据处理方法和装置
US8626765B2 (en) Processing database operation requests
US10331657B1 (en) Contention analysis for journal-based databases
CN105550270B (zh) 数据库查询方法和装置
US10496999B2 (en) Method and apparatus of controlling network payment
CN112668968A (zh) 一种基于领域驱动设计的仓储管理建模方法及系统
CN105608087B (zh) 一种资源调度方法与设备
US10133767B1 (en) Materialization strategies in journal-based databases
CN105573732B (zh) 一种基于分布式系统的业务对象的处理方法和装置
WO2016152183A1 (ja) 動線処理システム及び動線処理方法
WO2019033741A1 (zh) 投资产品的资源处理方法、装置、存储介质和计算机设备
CN109740129A (zh) 基于区块链的报表生成方法、装置、设备及可读存储介质
CN105786877B (zh) 一种数据存储方法、系统及查询方法
CN109815259A (zh) 网关内服务领域的配置方法、装置、计算机设备及计算机存储介质
CN111400272B (zh) 动态成本分摊方法及其系统
CN109189864A (zh) 一种数据同步延时的确定方法、装置和设备
CN104123104A (zh) 日志控制系统及方法
CN105912451A (zh) 一种lustre文件系统检测方法及装置
CN109992614B (zh) 数据获取方法、装置和服务器
CN115237889A (zh) 数据库切换方法及装置、存储介质、计算机设备
CN109976944B (zh) 数据处理方法和系统,存储介质和电子设备
TWI630496B (zh) Data storage method and system thereof

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