CN105787077A - 数据同步方法和装置 - Google Patents
数据同步方法和装置 Download PDFInfo
- Publication number
- CN105787077A CN105787077A CN201610118402.0A CN201610118402A CN105787077A CN 105787077 A CN105787077 A CN 105787077A CN 201610118402 A CN201610118402 A CN 201610118402A CN 105787077 A CN105787077 A CN 105787077A
- Authority
- CN
- China
- Prior art keywords
- data
- synchronization
- tables
- database
- information
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了数据同步方法和装置。该方法的一具体实施方式包括:接收客户端发送的数据同步请求;确定数据库标识和数据表标识对应的同步规则信息,同步规则信息包括:目标数据库的目标数据库标识、用于指示对待同步数据的同步方式的同步方式信息;通过同步方式信息指示的同步方式,对目标数据库的数据表标识对应的数据表中的数据标识对应的数据执行数据库操作。实现了通过针对数据表配置同步规则信息,进行数据同步。一方面,使得数据同步操作独立于数据库主业务,提升数据库系统的可靠性。另一方面,根据不同的数据同步需求,灵活配置同步规则信息,从而减少了系统的复杂度,进一步提升数据库系统的可靠性。
Description
技术领域
本申请涉及计算机领域,具体涉及数据库领域,尤其涉及数据同步方法和装置。
背景技术
在对海量数据进行存储时,通常采用分布式存储架构。在对分布式存储架构中其中一个数据库进行数据库操作之后,需要与其他数据库保持数据同步。在进行数据同步时,通常采用以下方式:判断执行数据库操作所属的数据表,确定需要进行数据同步的目标数据库,同时暂停当前执行的数据库操作,在目标数据库上执行数据同步操作。
然后,当采用上述方式进行数据同步时,一方面,在进行数据同步时,数据同步操作的代码与数据库的主业务,例如,执行增加记录操作、删除记录操作、修改记录操作的进程的代码是混合在一起,在执行数据同步遇到故障时,会导致主业务被挂起,从而降低整个数据库系统的运行效率。另一方面,不同的数据表具有不同的同步需求,需要针对每一个数据表,单独配置相应地代码来执行数据同步操作,增加系统的复杂度。
发明内容
本申请提供了数据同步方法和装置,用于解决上述背景技术部分存在的技术问题。
第一方面,本申请提供了数据同步方法,该方法包括:接收客户端发送的数据同步请求,数据同步请求基于对数据库执行数据库操作生成,数据同步请求包括:数据库的数据库标识、与数据库操作对应的待同步数据所属的数据表的数据表标识、待同步数据的数据标识;确定数据库标识和数据表标识对应的同步规则信息,同步规则信息包括:目标数据库的目标数据库标识、用于指示对待同步数据的同步方式的同步方式信息;通过同步方式信息指示的同步方式,对目标数据库的数据表标识对应的数据表中的数据标识对应的数据执行数据库操作,以进行数据同步。
第二方面,本申请提供了数据同步方法,该方法包括:响应于对数据库执行数据库操作,生成数据同步请求,数据同步请求包括:数据库的数据库标识、与数据库操作对应的待同步数据所属的数据表的数据表标识、待同步数据的数据标识;向服务端发送数据同步请求,以使得服务端确定数据库标识和数据表标识对应的同步规则信息,根据同步规则信息中的目标数据库的目标数据库标识、同步方式信息对目标数据库的数据表标识对应的数据表中的数据标识对应的数据执行数据库操作,以进行数据同步。
第三方面,本申请提供了数据同步装置,该装置包括:接收单元,配置用于接收客户端发送的数据同步请求,数据同步请求基于对数据库执行数据库操作生成,数据同步请求包括:数据库的数据库标识、与数据库操作对应的待同步数据所属的数据表的数据表标识、待同步数据的数据标识;确定单元,配置用于确定数据库标识和数据表标识对应的同步规则信息,同步规则信息包括:目标数据库的目标数据库标识、用于指示对待同步数据的同步方式的同步方式信息;同步单元,配置用于通过同步方式信息指示的同步方式,对目标数据库的数据表标识对应的数据表中的数据标识对应的数据执行数据库操作,以进行数据同步。
第四方面,本申请提供了数据同步装置,该装置包括:响应单元,配置用于响应于对数据库执行数据库操作,生成数据同步请求,数据同步请求包括:数据库的数据库标识、与数据库操作对应的待同步数据所属的数据表的数据表标识、待同步数据的数据标识;发送单元,配置用于向服务端发送数据同步请求,以使得服务端确定数据库标识和数据表标识对应的同步规则信息,根据同步规则信息中的目标数据库的目标数据库标识、同步方式信息对目标数据库的数据表标识对应的数据表中的数据标识对应的数据执行数据库操作,以进行数据同步。
本申请提供的数据同步方法和装置,通过接收客户端发送的数据同步请求,数据同步请求包括:数据库的数据库标识、与数据库操作对应的待同步数据所属的数据表的数据表标识、待同步数据的数据标识;确定数据库标识和数据表标识对应的同步规则信息,同步规则信息包括:目标数据库的目标数据库标识、用于指示对待同步数据的同步方式的同步方式信息;通过同步方式信息指示的同步方式,对目标数据库的数据表标识对应的数据表中的数据标识对应的数据执行数据库操作,以进行数据同步。实现了通过针对数据表配置同步规则信息,进行数据同步。一方面,使得数据同步操作独立于数据库主业务,提升数据库系统的可靠性。另一方面,根据不同的数据同步需求,灵活配置同步规则信息,从而减少了系统的复杂度,进一步提升数据库系统的可靠性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2示出了根据本申请的数据同步方法的一个实施例的流程图;
图3示出了本申请中的数据同步方法的一个示例性原理图;
图4示出了根据本申请的数据同步方法的另一个实施例的流程图;
图5示出了同步规则信息的一个示例性结构图;
图6示出了根据本申请的数据同步装置的一个实施例的结构示意图;
图7示出了根据本申请的数据同步装置的另一个实施例的结构示意图;
图8是适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的数据同步方法或数据同步装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供传输链路的介质。网络104可以包括各种连接类型,例如有线、无线传输链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯应用,例如、数据库类应用、浏览器类应用、搜索类应用、文字处理类应用等。
终端设备101、102、103可以是具有显示屏并且支持网络通信的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(MovingPictureExpertsGroupAudioLayerIII,动态影像专家压缩标准音频层面3)、MP4(MovingPictureExpertsGroupAudioLayerIV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以对终端设备101、102、103上的数据库类应用提供数据同步支持。服务器可以预先存储适用于不同类型的数据库的同步规则信息,当对终端上的数据库执行数据库操作时,可以利用同步规则信息在其他终端设备上执行相应地操作进行数据同步。
需要说明的是,本申请实施例中,客户端、服务端并不特指某一类型的设备。可以将发出数据同步请求的进程称之为客户端,可以将用于处理同步请求的进程称之服务端。上述客户端、服务端可以分别运行于终端设备101、102、103或服务器105之上。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
请参考图2,其示出了根据本申请的数据同步方法的一个实施例的流程200。需要说明的是,本实施例所提供的数据同步方法一般由图1中的服务器105执行,相应地,数据同步装置一般设置于服务器105中。该方法包括以下步骤:
步骤201,接收客户端发送的数据同步请求。
在本实施例中,数据同步请求基于对数据库执行数据库操作生成,数据同步请求包括:数据库的数据库标识、与数据库操作对应的待同步数据所属的数据表的数据表标识、待同步数据的数据标识。
在本实施例的一些可选的实现方式中,数据库操作包括:增加记录操作、删除记录操作、修改记录操作。
在本实施例中,同一个数据表可以存储在多个不同类型的数据库中,可以利用比较稳定的数据库来执行数据的增加记录操作、删除记录操作、修改记录操作等操作,可以利用操作速度较快的数据库来执行数据的读取操作。当对其中一个数据库中的数据表中的数据执行数据库操作时,需要与存储在其他数据库中的数据表中的该数据进行数据同步。
例如,可以分别采用MySQL数据库、Redis数据库来存储同一数据表。可以采用MySQL数据库来执行对数据表中的数据的增加记录操作、删除记录操作、修改记录操作等操作,利用Redis数据库来执行对数据表中的数据的读取操作。当对MySQL数据库中的数据表中的数据进行增加记录操作、删除记录操作、修改记录操作时,则需要同时在Redis数据库中执行相应地操作,从而进行数据同步。以对存储在MySQL数据库中的数据表中的一条数据进行修改记录操作为例,当对MySQL数据库中的数据表中的该条数据进行修改时,则需要查查找出Redis数据库的该数据表中的该条数据,并且对该条数据进行相应地修改。
步骤202,确定数据库标识和数据表标识对应的同步规则信息。
在本实施例中,同步规则信息包括:目标数据库的目标数据库标识、用于指示对待同步数据的同步方式的同步方式信息。在本实施例中,同步方式可以包括但不限于:noqueue(直接写入),queue(并发队列),orderqueue(顺序执行队列)。
在本实施例的一些可选地实现方式中,还包括:接收输入的对数据库中的数据表的同步规则信息配置指令,同步规则信息配置指令包括:目标数据库的目标数据库标识、用于指示对待同步数据的同步方式的同步方式信息;生成包含目标数据库标识和同步方式信息的同步规则信息;将数据库的数据库标识和数据表的数据表标识与同步规则信息对应存储。
在本实施例中,可以针对存储在数据库中的数据表,预先配置同步规则信息。以一个数据表同时存储在MySQL数据库和Redis数据库,针对存储在MySQL数据库中的数据表配置同步规则信息为例,当针对该数据表配置同步规则信息时,可以首先接收到对MySQL数据库中的该数据表的同步规则信息配置指令,同步规则信息配置指令包括:目标数据库即待进行数据同步的数据库的目标数据库标识,即Redis数据库的数据库标识,用于指示对待同步数据的同步方式的同步方式信息。然后,生成包含Redis数据库的数据库标识和同步方式信息的同步规则信息,将MySQL数据库的数据库标识和该数据表的数据表标识与该同步规则信息进行对应存储。
在本实施例中,可以根据数据同步请求中的数据库的数据库标识、与数据库操作对应的待同步数据所属的数据表的数据表标识,查找出对应的同步规则信息。以一个数据表同时存储在MySQL数据库和Redis数据库,针对存储在MySQL数据库中的数据表中的数据执行修改记录操作为例,数据同步请求中包括该MySQL数据库的数据库标识和该数据表的数据表标识。可以根据该MySQL数据库的数据库标识和该数据表的数据表标识,查找出预先存储的MySQL数据库的数据库标识和该数据表的数据表标识对应的同步规则信息,其中,同步规则信息中包含目标数据库的目标数据库标识,即Redis数据库的目标数据库标识以及同步方式信息。相应地,可以根据数据表标识,查找出Redis数据库中的该数据表。然后,根据可以数据同步请求中的数据标识,即执行修改记录操作之后修改的MySQL数据库中的数据表中的数据的数据标识,查找出Redis数据库中的该数据表中的该条数据,从而对该条数据进行相应地修改。
在本实施例中,同步规则信息中还包含表示执行数据库操作的数据库与目标数据库的关系的字段。例如,字段MySQLToRedis表示目标数据库为Redis数据库,当对MySQL数据库中的数据表中的数据执行数据库操作时,需要在Redis数据库中相应地数据表中的数据进行数据同步。可以通过解析该字段,确定目标数据库为Redis数据库,进而查找出Redis数据库对应的调用接口,例如,对Redis数据库中的数据表中的数据的修改记录操作对应的调用接口。又例如,字段RedisToMySQL表示目标数据库为MySQL数据库,对Redis数据库中的数据表中的数据执行数据库操作时,需要在MySQL数据库中相应地数据表中的数据进行数据同步。可以通过解析该字段,确定目标数据库为MySQL数据库,进而查找出MySQL数据库对应的调用接口,例如,对MySQL数据库中的数据表中的数据的修改记录操作对应的调用接口。
步骤203,通过同步方式信息指示的同步方式,对目标数据库的数据表标识对应的数据表中的数据标识对应的数据执行数据库操作。
在本实施例中,可以预先创建用于接收数据同步请求的接收线程,利用该接收线程接收数据同步请求之后,可以利用数据结构队列对数据同步请求进行排序。在本实施例中,可以预先创建用于进行数据同步的处理线程,利用该处理线程定时轮询并获取队列中的数据同步请求,从预先配置的同步规则信息中查找出数据同步请求对应的同步规则信息,根据规则信息包含目标数据库的目标数据库标识、数据表标识、数据标识,查找出目标数据库中的数据表中的数据,对该数据执行数据库操作,从而进行数据同步。
请参考图3,其示出了本申请中的数据同步方法的一个示例性原理图。
在图3中,示出了MySQL数据库和Redis数据库,MySQL数据库和Redis数据库可以部署在不同的客户端上。假设一个数据表同时存储在MySQL数据库和Redis数据库中。可以采用MYSQL数据库来执行对数据表中的数据的增加记录操作、删除记录操作、修改记录操作等操作,利用Redis数据库来执行对数据表中的数据的读取操作。当对MYSQL数据库中的该数据表中的一条数据执行数据库操作时,客户端可以利用预先创建的触发器对象检测对MYSQL数据库中的该数据表中的该条数据的操作。然后,生成包含MYSQL数据库的数据库标识、数据表的数据表标识、该条数据的数据标识的数据同步请求。服务端接收数据同步请求,将数据同步请求加入到队列中。对MYSQL数据库中的数据表中的数据执行的数据库操作可以为多个,例如,对MYSQL数据库中的数据表中的一条数据执行修改记录操作,同时,在MYSQL数据库中的数据表中增加一条数据。相应地,生成的数据同步请求为多个。在服务端,利用预先创建用于进行数据同步的处理线程定时轮询并获取队列中的数据同步请求,例如,数据同步请求1。可以从预先配置的同步规则信息中查找出数据同步请求对应的同步规则信息,根据规则信息包含目标数据库的目标数据库标识、数据表标识、数据标识,查找出目标数据库中的数据表中的该条数据,对该条数据执行相应的数据库操作,从而进行数据同步。
以对MYSQL数据库中的数据表中的一条数据进行修改记录操作为例,同步规则信息中包含目标数据库的目标数据库标识即Redis数据库的目标数据库标识以及同步方式信息。相应地,可以根据数据表标识,查找出Redis数据库中的该数据表。然后,根据可以同步请求中的数据标识,即执行修改记录操作之后修改的MySQL数据库中的数据表中的数据的数据标识,查找出Redis数据库中的该数据表中的该条数据,从而对该条数据进行相应地修改。
下面说明本申请的数据同步方式与现有技术的区别:
在现有技术中,一方面,在进行数据同步时,数据同步操作的代码与数据库的主业务,例如,执行增加记录操作、删除记录操作、修改记录操作的进程的代码是混合在一起,在执行数据同步遇到故障时,会导致主业务被挂起,从而降低整个数据库系统的运行效率。另一方面,不同的数据表具有不同的同步需求,需要针对每一个数据表,单独配置相应地代码来执行数据同步操作,增加系统的复杂度。
而在本实施例中,仅需在数据同步请求中加入执行数据库操作的数据库标识、数据表标识、数据标识,即可在服务端查找出相应地同步规则信息,在不同类型的数据库之间进行数据同步。一方面,使得数据同步操作独立于数据库主业务,提升数据库系统的可靠性。另一方面,可以根据不同的数据同步需求,灵活配置同步规则信息,从而减少了数据库系统的复杂度,进一步提升数据库系统的可靠性。
请参考图4,其示出了根据本申请的数据同步方法的另一个实施例的流程400。需要说明的是,本实施例所提供的数据同步方法一般由图1中的终端设备101、102、103执行,相应地,数据同步装置一般设置于终端设备101、102、103中。该方法包括以下步骤:
步骤401,响应于对数据库执行数据库操作,生成数据同步请求。
在本实施例中,数据同步请求包括:数据库的数据库标识、与数据库操作对应的待同步数据所属的数据表的数据表标识、待同步数据的数据标识。
请参考图5,其示出了同步规则信息的一个示例性结构图。
在图5中,示出了同步规则信息中包含的字段,可以包含任务名称字段Topic、表示执行数据库操作的数据库与目标数据库的关系的字段Event、数据表标识字段Table、目标数据库的标识字段Did。该同步规则信息可以为存储在MySQL数据库的一个数据表对应的同步规则信息,该数据表可以同时存储在MySQL数据库和Redis数据库中。该数据表用于的存储课程名称,任务名称字段Topic为课程数据,表示该数据表中的数据的类型为课程数据。字段Event为MySQLToRedis,表示当对MySQL数据库中的数据表中的数据执行数据库操作时,需要在Redis数据库中相应地数据表中的数据进行数据同步。数据表标识字段Table为课程名称。
在本实施例的一些可选地实现方式中,响应于对数据库执行数据库操作,生成数据同步请求包括:利用预设触发器对象响应于对数据库执行数据库操作,生成数据同步请求,预设触发器对象为预先创建的与数据表绑定的触发器对象。
在本实施例中,可以预先针对数据库中的数据表,创建触发器对象,利用触发器对象检测对数据库的数据表中的数据的操作,并且,将触发器对象与用于发送数据同步请求的线程进行绑定。当对数据库执行数据库操作时,则可以利用触发器检测对数据库执行的数据库操作,由与触发器对象绑定的线程发送数据同步请求。
步骤402,向服务端发送数据同步请求。
在本实施例中,在生成数据同步请求之后,可以向服务端发送数据同步请求,以使得服务端确定数据库标识和数据表标识对应的同步规则信息,根据同步规则信息中的目标数据库的目标数据库标识、同步方式信息对目标数据库的数据表标识对应的数据表中的数据标识对应的数据执行数据库操作,以进行数据同步。
进一步参考图6,作为对上述各图所示方法的实现,本申请提供了一种数据同步装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图6所示,本实施例的数据同步装置600包括:接收单元601,确定单元602,同步单元603。其中,接收单元601配置用于接收客户端发送的数据同步请求,数据同步请求基于对数据库执行数据库操作生成,数据同步请求包括:数据库的数据库标识、与数据库操作对应的待同步数据所属的数据表的数据表标识、待同步数据的数据标识;确定单元602配置用于确定数据库标识和数据表标识对应的同步规则信息,同步规则信息包括:目标数据库的目标数据库标识、用于指示对待同步数据的同步方式的同步方式信息;同步单元603配置用于通过同步方式信息指示的同步方式,对目标数据库的数据表标识对应的数据表中的数据标识对应的数据执行数据库操作,以进行数据同步。
在本实施例中,接收单元601可以接收客户端发送的数据同步请求。在本实施例中,同一个数据表可以存储在多个不同类型的数据库中,可以利用比较稳定的数据库来执行数据的增加记录操作、删除记录操作、更改操作等操作,利用操作速度较快的数据库来执行数据的读取操作。当对其中一个数据库中的数据表中的数据执行数据库操作时,需要与存储在其他数据库中的数据表中的该数据进行数据同步。
在本实施例中,确定单元602可以确定数据库标识和数据表标识对应的同步规则信息。在本实施例中,同步规则信息包括:目标数据库的目标数据库标识、用于指示对待同步数据的同步方式的同步方式信息。在本实施例中,同步方式可以包括但不限于:noqueue(直写),queue(并发队列),orderqueue(顺序执行队列)。
在本实施例中,同步单元603可以通过同步方式信息指示的同步方式,对目标数据库的数据表标识对应的数据表中的数据标识对应的数据执行数据库操作。
在本实施例的一些可选的实现方式中,装置600还包括:指令接收单元(未示出),配置用于接收输入的对数据库中的数据表的同步规则信息配置指令,同步规则信息配置指令包括:目标数据库的目标数据库标识、用于指示对待同步数据的同步方式的同步方式信息;生成单元(未示出),配置用于生成包含目标数据库标识和同步方式信息的同步规则信息;存储单元(未示出),配置用于将数据库的数据库标识和数据表的数据表标识与同步规则信息对应存储。
在本实施例的一些可选的实现方式中,数据库操作包括:增加记录操作、删除记录操作、修改记录操作。
进一步参考图7,作为对上述各图所示方法的实现,本申请提供了一种数据同步装置的一个实施例,该装置实施例与图4所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图7所示,本实施例的数据同步装置700包括:响应单元701,发送单元702。响应单元701配置用于响应于对数据库执行数据库操作,生成数据同步请求,数据同步请求包括:数据库的数据库标识、与数据库操作对应的待同步数据所属的数据表的数据表标识、待同步数据的数据标识;发送单元702配置用于向服务端发送数据同步请求,以使得服务端确定数据库标识和数据表标识对应的同步规则信息,根据同步规则信息中的目标数据库的目标数据库标识、同步方式信息对目标数据库的数据表标识对应的数据表中的数据标识对应的数据执行数据库操作,以进行数据同步。
在本实施例中,响应单元701可以检测对数据库执行数据库操作,例如,通过触发器对象检测对数据执行的数据库操作,然后,响应于对数据库执行数据库操作,生成数据同步请求。
在本实施例中,发送单元702可以在生成数据同步请求之后,可以向服务端发送数据同步请求。
在本实施例的一些可选的实现方式中,响应单元701包括:触发子单元(未示出),配置用于利用预设触发器对象响应于对数据库执行数据库操作,生成数据同步请求,预设触发器对象为预先创建的与数据表绑定的触发器对象。
图8示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。
如图8所示,计算机系统800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM803中,还存储有系统800操作所需的各种程序和数据。CPU801、ROM802以及RAM803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当所述一个或者多个程序被一个设备执行时,使得所述设备:接收客户端发送的数据同步请求,所述数据同步请求基于对数据库执行数据库操作生成,所述数据同步请求包括:数据库的数据库标识、与数据库操作对应的待同步数据所属的数据表的数据表标识、所述待同步数据的数据标识;确定所述数据库标识和数据表标识对应的同步规则信息,所述同步规则信息包括:目标数据库的目标数据库标识、用于指示对待同步数据的同步方式的同步方式信息;通过所述同步方式信息指示的同步方式,对所述目标数据库的所述数据表标识对应的数据表中的所述数据标识对应的数据执行所述数据库操作,以进行数据同步。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种数据同步方法,其特征在于,所述方法包括:
接收客户端发送的数据同步请求,所述数据同步请求基于对数据库执行数据库操作生成,所述数据同步请求包括:数据库的数据库标识、与数据库操作对应的待同步数据所属的数据表的数据表标识、所述待同步数据的数据标识;
确定所述数据库标识和数据表标识对应的同步规则信息,所述同步规则信息包括:目标数据库的目标数据库标识、用于指示对待同步数据的同步方式的同步方式信息;
通过所述同步方式信息指示的同步方式,对所述目标数据库的所述数据表标识对应的数据表中的所述数据标识对应的数据执行所述数据库操作,以进行数据同步。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收输入的对数据库中的数据表的同步规则信息配置指令,所述同步规则信息配置指令包括:目标数据库的目标数据库标识、用于指示对待同步数据的同步方式的同步方式信息;
生成包含所述目标数据库标识和同步方式信息的同步规则信息;
将所述数据库的数据库标识和数据表的数据表标识与所述同步规则信息对应存储。
3.根据权利要求2所述的方法,其特征在于,所述数据库操作包括:增加记录操作、删除记录操作、修改记录操作。
4.一种数据同步方法,其特征在于,所述方法包括:
响应于对数据库执行数据库操作,生成数据同步请求,所述数据同步请求包括:数据库的数据库标识、与数据库操作对应的待同步数据所属的数据表的数据表标识、所述待同步数据的数据标识;
向服务端发送数据同步请求,以使得服务端确定所述数据库标识和数据表标识对应的同步规则信息,根据同步规则信息中的目标数据库的目标数据库标识、同步方式信息对所述目标数据库的所述数据表标识对应的数据表中的所述数据标识对应的数据执行所述数据库操作,以进行数据同步。
5.根据权利要求4所述的方法,其特征在于,所述响应于对数据库执行数据库操作,生成数据同步请求包括:
利用预设触发器对象响应于对数据库执行数据库操作,生成数据同步请求,所述预设触发器对象为预先创建的与所述数据表绑定的触发器对象。
6.一种数据同步装置,其特征在于,所述装置包括:
接收单元,配置用于接收客户端发送的数据同步请求,所述数据同步请求基于对数据库执行数据库操作生成,所述数据同步请求包括:数据库的数据库标识、与数据库操作对应的待同步数据所属的数据表的数据表标识、所述待同步数据的数据标识;
确定单元,配置用于确定所述数据库标识和数据表标识对应的同步规则信息,所述同步规则信息包括:目标数据库的目标数据库标识、用于指示对待同步数据的同步方式的同步方式信息;
同步单元,配置用于通过所述同步方式信息指示的同步方式,对所述目标数据库的所述数据表标识对应的数据表中的所述数据标识对应的数据执行所述数据库操作,以进行数据同步。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
指令接收单元,配置用于接收输入的对数据库中的数据表的同步规则信息配置指令,所述同步规则信息配置指令包括:目标数据库的目标数据库标识、用于指示对待同步数据的同步方式的同步方式信息;
生成单元,配置用于生成包含所述目标数据库标识和同步方式信息的同步规则信息;
存储单元,配置用于将所述数据库的数据库标识和数据表的数据表标识与所述同步规则信息对应存储。
8.根据权利要求7所述的装置,其特征在于,数据库操作包括:增加记录操作、删除记录操作、修改记录操作。
9.一种数据同步装置,其特征在于,所述装置包括:
响应单元,配置用于响应于对数据库执行数据库操作,生成数据同步请求,所述数据同步请求包括:数据库的数据库标识、与数据库操作对应的待同步数据所属的数据表的数据表标识、所述待同步数据的数据标识;
发送单元,配置用于向服务端发送数据同步请求,以使得服务端确定所述数据库标识和数据表标识对应的同步规则信息,根据同步规则信息中的目标数据库的目标数据库标识、同步方式信息对所述目标数据库的所述数据表标识对应的数据表中的所述数据标识对应的数据执行所述数据库操作,以进行数据同步。
10.根据权利要求9所述的装置,其特征在于,所述响应单元包括:
触发子单元,配置用于利用预设触发器对象响应于对数据库执行数据库操作,生成数据同步请求,所述预设触发器对象为预先创建的与所述数据表绑定的触发器对象。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610118402.0A CN105787077B (zh) | 2016-03-02 | 2016-03-02 | 数据同步方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610118402.0A CN105787077B (zh) | 2016-03-02 | 2016-03-02 | 数据同步方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105787077A true CN105787077A (zh) | 2016-07-20 |
CN105787077B CN105787077B (zh) | 2020-05-15 |
Family
ID=56386889
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610118402.0A Active CN105787077B (zh) | 2016-03-02 | 2016-03-02 | 数据同步方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105787077B (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107577780A (zh) * | 2017-09-13 | 2018-01-12 | 郑州云海信息技术有限公司 | 一种数据中心云资源同步方法和装置 |
CN107908631A (zh) * | 2017-07-25 | 2018-04-13 | 平安科技(深圳)有限公司 | 数据处理方法、装置、存储介质和计算机设备 |
CN108776622A (zh) * | 2018-06-06 | 2018-11-09 | 北京达佳互联信息技术有限公司 | 数据同步方法、装置、计算机设备及存储介质 |
CN109086320A (zh) * | 2018-07-02 | 2018-12-25 | 平安科技(深圳)有限公司 | 财务数据同步方法、装置、计算机设备和存储介质 |
CN109325037A (zh) * | 2018-08-17 | 2019-02-12 | 中国平安人寿保险股份有限公司 | 一种针对海量数据的数据同步方法、存储介质和服务器 |
CN109359160A (zh) * | 2018-10-12 | 2019-02-19 | 平安科技(深圳)有限公司 | 数据同步方法、装置、计算机设备及存储介质 |
CN110245181A (zh) * | 2019-04-25 | 2019-09-17 | 深圳壹账通智能科技有限公司 | 数据同步的同步方法、装置及计算机存储介质 |
CN110545301A (zh) * | 2018-05-29 | 2019-12-06 | 视联动力信息技术股份有限公司 | 监控资源同步方法和装置 |
CN110659299A (zh) * | 2019-08-30 | 2020-01-07 | 珠海格力电器股份有限公司 | 数据更新的方法及装置、前端开发客户端 |
CN111241198A (zh) * | 2020-01-02 | 2020-06-05 | 广州虎牙科技有限公司 | 数据同步方法、装置及数据处理设备 |
CN111414424A (zh) * | 2020-03-23 | 2020-07-14 | 北京思特奇信息技术股份有限公司 | 一种配置数据自动同步redis的方法、系统、介质及设备 |
CN111460031A (zh) * | 2020-03-23 | 2020-07-28 | 腾讯科技(深圳)有限公司 | 一种数据同步的方法、装置、设备和介质 |
CN111897880A (zh) * | 2020-09-30 | 2020-11-06 | 腾讯科技(深圳)有限公司 | 数据库同步方法、装置、终端设备以及存储介质 |
CN112015804A (zh) * | 2019-05-28 | 2020-12-01 | 阿里巴巴集团控股有限公司 | 数据同步方法、装置、设备及存储介质 |
CN112883040A (zh) * | 2021-02-04 | 2021-06-01 | 中国工商银行股份有限公司 | 一种数据同步方法、装置及设备 |
CN113032480A (zh) * | 2019-12-25 | 2021-06-25 | 陕西西部资信股份有限公司 | 数据同步方法、系统及装置 |
WO2022126918A1 (zh) * | 2020-12-17 | 2022-06-23 | 平安科技(深圳)有限公司 | 关联脚本自动同步方法、装置、计算机设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140040202A1 (en) * | 2010-03-02 | 2014-02-06 | Microsoft Corporation | Automatic synchronization conflict resolution |
CN103699580A (zh) * | 2013-12-03 | 2014-04-02 | 中铁程科技有限责任公司 | 数据库同步方法及装置 |
CN103744906A (zh) * | 2013-12-26 | 2014-04-23 | 乐视网信息技术(北京)股份有限公司 | 一种数据同步系统、方法及装置 |
CN104809201A (zh) * | 2015-04-24 | 2015-07-29 | 联动优势科技有限公司 | 一种数据库同步的方法和装置 |
US20150213102A1 (en) * | 2014-01-27 | 2015-07-30 | International Business Machines Corporation | Synchronous data replication in a content management system |
CN105183898A (zh) * | 2015-09-29 | 2015-12-23 | 北京奇艺世纪科技有限公司 | 数据同步方法和数据同步系统 |
-
2016
- 2016-03-02 CN CN201610118402.0A patent/CN105787077B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140040202A1 (en) * | 2010-03-02 | 2014-02-06 | Microsoft Corporation | Automatic synchronization conflict resolution |
CN103699580A (zh) * | 2013-12-03 | 2014-04-02 | 中铁程科技有限责任公司 | 数据库同步方法及装置 |
CN103744906A (zh) * | 2013-12-26 | 2014-04-23 | 乐视网信息技术(北京)股份有限公司 | 一种数据同步系统、方法及装置 |
US20150213102A1 (en) * | 2014-01-27 | 2015-07-30 | International Business Machines Corporation | Synchronous data replication in a content management system |
CN104809201A (zh) * | 2015-04-24 | 2015-07-29 | 联动优势科技有限公司 | 一种数据库同步的方法和装置 |
CN105183898A (zh) * | 2015-09-29 | 2015-12-23 | 北京奇艺世纪科技有限公司 | 数据同步方法和数据同步系统 |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107908631A (zh) * | 2017-07-25 | 2018-04-13 | 平安科技(深圳)有限公司 | 数据处理方法、装置、存储介质和计算机设备 |
WO2019019766A1 (zh) * | 2017-07-25 | 2019-01-31 | 平安科技(深圳)有限公司 | 数据处理方法、装置、存储介质和计算机设备 |
CN107577780A (zh) * | 2017-09-13 | 2018-01-12 | 郑州云海信息技术有限公司 | 一种数据中心云资源同步方法和装置 |
CN110545301A (zh) * | 2018-05-29 | 2019-12-06 | 视联动力信息技术股份有限公司 | 监控资源同步方法和装置 |
CN110545301B (zh) * | 2018-05-29 | 2022-06-17 | 视联动力信息技术股份有限公司 | 监控资源同步方法和装置 |
CN108776622A (zh) * | 2018-06-06 | 2018-11-09 | 北京达佳互联信息技术有限公司 | 数据同步方法、装置、计算机设备及存储介质 |
CN109086320A (zh) * | 2018-07-02 | 2018-12-25 | 平安科技(深圳)有限公司 | 财务数据同步方法、装置、计算机设备和存储介质 |
WO2020006894A1 (zh) * | 2018-07-02 | 2020-01-09 | 平安科技(深圳)有限公司 | 财务数据同步方法、装置、计算机设备和存储介质 |
CN109325037A (zh) * | 2018-08-17 | 2019-02-12 | 中国平安人寿保险股份有限公司 | 一种针对海量数据的数据同步方法、存储介质和服务器 |
CN109359160A (zh) * | 2018-10-12 | 2019-02-19 | 平安科技(深圳)有限公司 | 数据同步方法、装置、计算机设备及存储介质 |
CN110245181A (zh) * | 2019-04-25 | 2019-09-17 | 深圳壹账通智能科技有限公司 | 数据同步的同步方法、装置及计算机存储介质 |
CN112015804A (zh) * | 2019-05-28 | 2020-12-01 | 阿里巴巴集团控股有限公司 | 数据同步方法、装置、设备及存储介质 |
CN110659299A (zh) * | 2019-08-30 | 2020-01-07 | 珠海格力电器股份有限公司 | 数据更新的方法及装置、前端开发客户端 |
CN113032480A (zh) * | 2019-12-25 | 2021-06-25 | 陕西西部资信股份有限公司 | 数据同步方法、系统及装置 |
CN111241198A (zh) * | 2020-01-02 | 2020-06-05 | 广州虎牙科技有限公司 | 数据同步方法、装置及数据处理设备 |
CN111241198B (zh) * | 2020-01-02 | 2024-02-27 | 广州虎牙科技有限公司 | 数据同步方法、装置及数据处理设备 |
CN111460031A (zh) * | 2020-03-23 | 2020-07-28 | 腾讯科技(深圳)有限公司 | 一种数据同步的方法、装置、设备和介质 |
CN111414424A (zh) * | 2020-03-23 | 2020-07-14 | 北京思特奇信息技术股份有限公司 | 一种配置数据自动同步redis的方法、系统、介质及设备 |
CN111414424B (zh) * | 2020-03-23 | 2023-08-04 | 北京思特奇信息技术股份有限公司 | 一种配置数据自动同步redis的方法、系统、介质及设备 |
CN111897880A (zh) * | 2020-09-30 | 2020-11-06 | 腾讯科技(深圳)有限公司 | 数据库同步方法、装置、终端设备以及存储介质 |
CN111897880B (zh) * | 2020-09-30 | 2020-12-29 | 腾讯科技(深圳)有限公司 | 数据库同步方法、装置、终端设备以及存储介质 |
WO2022126918A1 (zh) * | 2020-12-17 | 2022-06-23 | 平安科技(深圳)有限公司 | 关联脚本自动同步方法、装置、计算机设备及存储介质 |
CN112883040A (zh) * | 2021-02-04 | 2021-06-01 | 中国工商银行股份有限公司 | 一种数据同步方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN105787077B (zh) | 2020-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105787077A (zh) | 数据同步方法和装置 | |
CN104850301B (zh) | 一种在系统桌面上将应用程序图标分类的方法和系统 | |
CN1645841B (zh) | 使用插入消息更改向代码自适应地分派接收消息 | |
CN107077497B (zh) | 复合分区函数 | |
CN105071976A (zh) | 数据传输方法和装置 | |
CN107302597B (zh) | 消息文案推送方法和装置 | |
CN110007936B (zh) | 数据处理方法和装置 | |
CN108011949B (zh) | 用于获取数据的方法和装置 | |
CN112052374B (zh) | 一种页面展示方法、装置、计算机设备和存储介质 | |
CN108259533A (zh) | 一种数据传输方法和装置 | |
CN103873519A (zh) | 一种数据同步方法、客户端、服务器、终端和系统 | |
CN107748689A (zh) | 一种网页展示方法和装置 | |
CN108196902B (zh) | 用于展示开屏广告的方法与设备 | |
CN110489158B (zh) | 对代码托管平台进行优化的方法、装置、介质和电子设备 | |
CN105205100A (zh) | 终端之间基于mtp的数据同步方法及终端 | |
CN111736825B (zh) | 一种信息展示方法、装置、设备和存储介质 | |
CN111813685B (zh) | 自动化测试方法和装置 | |
CN110708238B (zh) | 用于处理信息的方法和装置 | |
CN104639973A (zh) | 一种信息推送方法及装置 | |
CN112069137A (zh) | 生成信息的方法、装置、电子设备及计算机可读存储介质 | |
CN105144073A (zh) | 可移除存储设备身份和配置信息 | |
CN110647327A (zh) | 基于卡片的用户界面动态控制的方法和装置 | |
US10528625B2 (en) | Client cloud synchronizer | |
CN105787359A (zh) | 进程守护方法和装置 | |
CN114979256A (zh) | 一种消息推送方法、装置、电子设备及计算机可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |