CN113722392A - 数据同步方法和装置、数据同步系统、服务器、存储介质 - Google Patents
数据同步方法和装置、数据同步系统、服务器、存储介质 Download PDFInfo
- Publication number
- CN113722392A CN113722392A CN202010453907.9A CN202010453907A CN113722392A CN 113722392 A CN113722392 A CN 113722392A CN 202010453907 A CN202010453907 A CN 202010453907A CN 113722392 A CN113722392 A CN 113722392A
- Authority
- CN
- China
- Prior art keywords
- database
- data
- source file
- name
- synchronized
- 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.)
- Pending
Links
Images
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开关于一种数据同步方法和装置、数据同步系统、服务器、存储介质。该方法包括:从本地的配置文件中获取待同步的源文件名称;所述配置文件通过热部署机制进行部署;基于所述源文件名称轮询所述第一数据库中的源文件,得到与第二数据库中具有同一名称的源文件之间不同的数据,将不同的数据作为所述源文件中待同步的增量数据;将所述增量数据同步到第二数据库。本实施例可以解决第一数据库和第二数据库受到网络环境限制的问题,使第一数据库和第二数据库达到实时同步的效果。
Description
技术领域
本公开涉及数据库技术领域,尤其涉及一种数据同步方法和装置、数据同步系统、服务器、存储介质。
背景技术
SQLServer数据库和MySQL数据库因各自特点可以应用于不同的网络环境中,实际应用中,SQLServer数据库中的数据需要实时同步至MySQL数据库中。当SQLServer数据库中数据变化时,SQLServer数据库中的触发器会被触发,由触发器基于增量方式同步到MySQL数据库中,其中增量方式是指每一次仅同步新增的数据的方式。
然而,当SQLServer数据库和MySQL数据库之间的网络环境不稳定或者不连通时,触发器无法将增量数据同步到MySQL数据库中,达不到SQLServer数据库和MySQL数据库同步数据的效果。
发明内容
本公开提供一种数据同步方法和装置、数据同步系统、服务器、存储介质,以解决相关技术中存在的问题。
本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种数据同步方法,应用于分别与第一数据库和第二数据库通信的数据同步服务器,所述方法包括:
从本地的配置文件中获取待同步的源文件名称;所述配置文件通过热部署机制进行部署;
基于所述源文件名称轮询所述第一数据库中的源文件,得到与第二数据库中具有同一名称的源文件之间不同的数据,将不同的数据作为所述源文件中待同步的增量数据;
将所述增量数据同步到第二数据库。
可选地,将所述增量数据同步到第二数据库之前,所述方法还包括:
根据预设的映射规则,将所述源文件的名称字段与所述第二数据库中目标文件的名称字段建立映射关联;所述目标文件用于存入所述增量数据;所述第一数据库与所述第二数据库为不同类型的数据库。
可选地,将所述增量数据同步到第二数据库之后,所述方法还包括:
检测所述第二数据库的响应信息;所述响应信息用于表征所述第二数据库成功存入所述增量数据;
响应于在第二设定时长内未检测到所述响应信息,重新将所述增量数据同步到第二数据库。
可选地,从本地的配置文件中获取待同步的源文件名称之前,所述方法还包括:
响应于表征更新配置文件的触发操作,将所获取的源文件名称存入所述配置文件。
可选地,从本地的配置文件中获取待同步的源文件名称之前,所述方法还包括:
检测定时器是否定时到第一设定时长;
响应于定时到所述第一设定时长,执行从本地的配置文件中获取待同步的源文件名称的步骤。
可选地,从本地的配置文件中获取待同步的源文件名称之前,所述方法还包括:
检测是否接收到第一数据库中触发器发送的触发指令;
响应于检测到所述触发指令,执行从本地的配置文件中获取待同步的源文件名称的步骤。
可选地,所述第一数据库为SQLServer数据库,所述第二数据库为MYSQL数据库。
根据本公开实施例的第二方面,提供一种数据同步装置,应用于分别与第一数据库和第二数据库通信的数据同步服务器,所述装置包括:
名称获取模块,被配置为执行从本地的配置文件中获取待同步的源文件名称;所述配置文件通过热部署机制进行部署;
数据获取模块,被配置为执行基于所述源文件名称轮询所述第一数据库中的源文件,得到与第二数据库中具有同一名称的源文件之间不同的数据,将不同的数据作为所述源文件中待同步的增量数据;
数据同步模块,被配置为执行将所述增量数据同步到第二数据库。
可选地,所述装置还包括:
名称映射模块,被配置为执行根据预设的映射规则,将所述源文件的名称字段与所述第二数据库中目标文件的名称字段建立映射关联;所述目标文件用于存入所述增量数据;所述第一数据库与所述第二数据库为不同类型的数据库。
可选地,将所述增量数据同步到第二数据库之后,所述装置还包括:
响应检测模块,被配置为执行检测所述第二数据库的响应信息;所述响应信息用于表征所述第二数据库成功存入所述增量数据;
所述数据同步模块,还被配置为执行响应于在第二设定时长内未检测到所述响应信息,重新将所述增量数据同步到第二数据库。
可选地,所述装置还包括:
配置文件配置模块,被配置为执行响应于表征更新配置文件的触发操作,将所获取的源文件名称存入所述配置文件。
可选地,所述装置还包括:
定时检测模块,被配置为执行检测定时器是否定时到第一设定时长;
定时触发模块,被配置为执行响应于定时到所述第一设定时长,触发所述名称获取模块。
可选地,所述装置还包括:
指令检测模块,被配置为执行检测是否接收到第一数据库中触发器发送的触发指令;
定时触发模块,被配置为执行响应于检测到所述触发指令,触发所述名称获取模块。
根据本公开实施例的第三方面,提供一种数据同步系统,包括第一数据库、第二数据库和数据同步服务器;所述数据同步服务器分别与所述第一数据库和所述第二数据库通信;
所述数据同步服务器被配置为执行从本地的配置文件中获取待同步的源文件名称;所述配置文件通过热部署机制进行部署;基于所述源文件名称轮询所述第一数据库中的源文件,得到与第二数据库中具有同一名称的源文件之间不同的数据,将不同的数据作为所述源文件中待同步的增量数据。
可选地,所述第一数据库为SQLServer数据库,所述第二数据库为MYSQL数据库。
根据本公开实施例的第四方面,提供一种服务器,包括:
处理器;
用于存储所述处理器可执行的计算机程序的存储器;其中,所述处理器被配置为执行所述存储器中的计算机程序,以实现如上述所述方法的步骤。
根据本公开实施例的第五方面,提供一种存储介质,当所述存储介质中的可执行的计算机程序由服务器的处理器执行时,使得服务器能够执行如上述所述方法的步骤。
根据本公开实施例的第六方面,提供一种应用程序,当该应用程序由服务器的处理器执行时,使得所述服务器能够执行上述所述方法的步骤。
本公开的实施例提供的技术方案至少带来以下有益效果:
本实施例中通过设置分别与第一数据库和第二数据库通信的数据同步服务器,由数据同步服务器从本地的配置文件中获取待同步的源文件名称;所述配置文件通过热部署机制进行部署,可以提高源文件的部署效率;然后,基于所述源文件名称轮询所述第一数据库中的源文件,得到与第二数据库中具有同一名称的源文件之间不同的数据,将不同的数据作为所述源文件中待同步的增量数据;最后,将所述增量数据同步到第二数据库,可以解决第一数据库和第二数据库受到网络环境限制的问题,使第一数据库和第二数据库达到实时同步的效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种数据同步系统的架构图。
图2是根据一示例性实施例示出的一种数据同步方法的流程图。
图3是根据一示例性实施例示出的另一种数据同步方法的流程图。
图4是根据一示例性实施例示出的一种数据同步装置的框图。
图5是根据一示例性实施例示出的一种服务器的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
SQLServer数据库和MySQL数据库因各自特点可以应用于不同的网络环境中,实际应用中,SQLServer数据库中的数据需要实时同步至MySQL数据库中。当SQLServer数据库中数据变化时,SQLServer数据库中的触发器会被触发,由触发器基于增量方式同步到MySQL数据库中,其中增量方式是指每一次仅同步新增的数据的方式。
然而,当SQLServer数据库和MySQL数据库之间的网络环境不稳定或者不连通时,触发器无法将增量数据同步到MySQL数据库中,达不到SQLServer数据库和MySQL数据库同步数据的效果。
为此,本公开实施例提供了一种数据同步方法,可以应用于图1所示的数据同步场景下的数据同步系统。参见图1,数据同步系统包括第一数据库10、第二数据库20和数据同步服务器30,该数据同步服务器30可以分别与第一数据库10和第二数据库20通信,例如,在部署过程中,将数据同步服务器30分别加入到第一数据库10和第二数据库20可连通的白名单中,从而达到可通信的效果。这样,数据同步服务器30可以将第一数据库10的增量数据同步到第二数据库20中,达到数据同步的效果。
需要说明的是,第一数据库10与第二数据库20为不同类型的数据库,如第一数据库10可以采用SQLServer数据库,第二数据库20可以采用MYSQL数据库,并且第一数据库10和第二数据库20处于不连通状态,或者经常处于网络环境不好的状态,即第一数据库10和第二数据库20处于不同的网络环境之下,之间无法直接连通。
需要说明的是,数据同步服务器可以是一台服务器或者多台服务器,或者多台服务器构成的服务器集群,或者是至少一台虚拟机。在一实施例中,数据同步服务器采用虚拟机实现,该虚拟机可以部署到独立的服务器之内,还可以部署到第一数据库10或者第二数据库20之内,技术人员可以根据具体场景进行部署,相应方案落入本公开的保护范围。另外,数据同步服务器中相关程序可以采用任意一种编程语言来实现,例如Java编程语言,在此不作限定。
基于图1所示的数据同步场景,描述本公开实施例提供的一种数据同步方法,可以适于图1所示的数据同步服务器,图2是根据一示例性实施例示出的一种数据同步方法的流程图。参见图2,一种数据同步方法,包括步骤21~步骤23,其中:
在步骤21中,从本地的配置文件中获取待同步的源文件名称;所述配置文件通过热部署机制进行部署。
在一实施例中,数据同步服务器30可以以主动方式启动数据同步过程,也可以被动方式启动数据同步过程。
在一示例中,以主动方式启动数据同步过程为例,数据同步服务器30内可以设置定时器,该定时器可以定时设定时长(后称之为第一设定时长),其中第一设定时长可以设置为数十毫秒、数百毫秒、数秒、数十秒、数百秒等,该第一设定时长可以根据具体场景进行设置,如当第一数据库10中的数据更新比较频繁时,第一设定时长可以设置的较小,当第一数据库10中的数据更新比较少时,第一设定时长可以设置的较大。当定时器定时到第一设定时长时可以生成一个触发信号并发送给数据同步服务器30中的处理器。数据同步服务器30的处理器可以检测是否接收到上述触发信号,从而确定定时器是否定时到第一设定时长。当接收到上述触发信号即定时器定时到第一设定时长时,可以响应该触发信号,执行从本地的配置文件中获取待同步的源文件名称的步骤。
也就是说,本示例中通过调整第一设定时长的大小可以调整数据同步服务器30同步数据的节奏,使第一数据库10和第二数据库20中的差别数据保持在合理范围(如10KB-1000MB之间),才达到实时或者类实时同步的效果。
在一示例中,以被动方式启动数据同步过程为例,第一数据库10中设置有触发器,如第一数据库10采用SQLServer数据库时,触发器可以包括insert触发器、delete触发器和update触发器中一种或者多种,如insert触发器在检测到插入表更新后可以生成触发信号,并将该触发信号发送给数据同步服务器30。数据同步服务器30可以检测是否接收到上述触发器发送的触发指令,在接收到触发指令后,可以执行从本地的配置文件中获取待同步的源文件名称的步骤,即可以响应该触发信号启动数据同步过程。
在一实施例中,数据同步服务器30的本地可以预先存储一个配置文件,该配置文件中可以存储第一数据库10中的待同步的源文件名称,如源文件为数据表且源文件名称为表名。本实施例中,数据同步服务器30可以支持热部署机制,即在不重新启动数据同步服务器30的情况下,允许添加待同步的源文件名称,并检测配置文件的变化;或者说,本实施例中数据同步服务器30无需重启即可更新配置文件,有利于提升数据同步效率。
需要说明的是,上述配置文件中的待同步的源文件名称可以由用户根据业务类型手动添加,也可以由数据同步服务器30根据业务类型自动添加,在此不作限定。
在一示例中,以手动添加为例,数据同步服务器30可以检测表征更新配置文件的触发操作,在确定检测到触发操作后,将获取的源文件名称存入该配置文件,达到更新配置文件的效果。其中,更新操作包括插入、增加、修改等,可以根据具体场景进行设置。
在一示例中,以自动添加为例,数据同步服务器30可以检测业务类型,当业务类型更新后可以获取更新后业务对应的至少一个源文件,并将该至少一个源文件名称存入该配置文件,达到更新配置文件的效果。
在步骤22中,基于所述源文件名称轮询所述第一数据库中的源文件,得到与第二数据库中具有同一名称的源文件之间不同的数据,将不同的数据作为所述源文件中待同步的增量数据。
在一实施例中,数据同步服务器30可以根据源文件名称在第一数据库中轮询对应的源文件,可以得到与第二数据库中具有同一名称的源文件之间不同的数据,数据同步服务器30可以将与第二数据库中具有同一名称的源文件之间不同的数据作为待同步的增量数据,即将本次轮询是对第一数据库和第二数据库中具有同一名称的源文件的数据进行比对,可以得到第一数据库中源文件较第二数据库中源文件新增加的数据,将这些新增加的数据作为待同步的增量数据。若未获得增量数据,数据同步服务器30结束本次轮询,转到步骤21。例如,源文件名称为ABC,经过上一次同步后,第二数据库中源文件ABC中包括:ABC{X1、X2、X2、……、X5},第一数据库中源文件ABC中包括:ABC{X1、X2、X2、……、X5、X6},此时X6即是本次轮询后所得到的待同步的数据。其中获取X6的方式可以是将第二数据库中源文件ABC内的数据依次对比第一数据库中的X1、X2、X2、……、X5、X6,还可以从X5开始对比直接得到X6,即数据同步服务器30可以采用不同的轮询方式:全量轮询、增量轮询。
以全量轮询为例,数据同步服务器30在获取到待同步的源文件名称后,可以得到第二数据库20中已经同步过该源文件的数据(可称之为第二数据)。然后,数据同步服务器30可以轮询第一数据库10中同一名称的源文件,将第一数据库10中源文件内的数据称之为第一数据。此时数据同步服务器30一一比较第一数据和第二数据,找到两者之间不同的数据,这些数据即是待同步的数据。由于每次会对第一数据进行全部比较,因此称之为全量轮询。
以增量轮询为例,第一数据库10和第二数据库20可以采用链式存储方式来存储数据。那么,数据同步服务器30在获取到待同步的源文件名称后,即可以获得前一次已经同步过该源文件的数据的位置。然后,数据同步服务器30可以轮询第一数据库10中同一名称的源文件,待同步的数据即是从上述位置之后的数据。由于每次仅查询一部分数据,因此称之为增量轮询。
在步骤23中,将所述增量数据同步到第二数据库。
在一实施例中,数据同步服务器30可以将增量数据同步到第二数据库20中。可理解的是,上述待同步的源文件可能是第一次同步,也可能是第N(N大于1)次同步。
在一示例中,对于第一次同步的源文件,数据同步服务器30可以获取预设的映射规则,根据该映射规则将源文件的名称字段与第二数据库中目标文件的名称字段建立映射关系,如第一数据库10采用SQLServer数据库,其名称采用驼峰方式命名;第二数据库20采用MYSQL数据库时,其名称采用下划线法命名;基于此,数据同步服务器30可以将待同步的源文件名称转换成下划线法命名,例如,UserId==>user_id。之后,数据同步服务器30可以将增量数据存入到目标文件中。这样,本示例中因采用了映射机制可以在第二数据库中创建对应的目标文件,使目标文件名称采用转换后的文件名称即可,无需为每个目标文件创建服务,可以提升同步效率。
在一示例中,对于第N次同步的源文件,数据同步服务器30可以增量数据直接存入对应的目标文件。
本实施例中,在同步增量数据时,数据同步服务器30会直接将增量数据发送给第二数据库20。考虑到第二数据库20可能出现存储失败,或者数据同步服务器30与第二数据库20通信链路可能出现问题,因此,本实施例中,数据同步服务器30在向第二数据库20发送增量数据量后开始检测第二数据库的响应信息并进行计时,该响应信息用于表征第二数据库成功存储增量数据。若在第二设定时长内检测到响应信息,数据同步服务器30确定本次数据同步成功,转到步骤21;若在第二设定时长内未检测到响应信息,数据同步服务器30重新将增量数据同步到第二数据库20,从而保证同步的成功率。
至此,本实施例中通过设置分别与第一数据库和第二数据库通信的数据同步服务器,由数据同步服务器从本地的配置文件中获取待同步的源文件名称;所述配置文件通过热部署机制进行部署,可以提高源文件的部署效率;然后,基于所述源文件名称轮询所述第一数据库中的源文件,得到与第二数据库中具有同一名称的源文件之间不同的数据,将不同的数据作为所述源文件中待同步的增量数据;最后,将所述增量数据同步到第二数据库,可以解决第一数据库和第二数据库受到网络环境限制的问题,使第一数据库和第二数据库达到实时同步的效果。
下面以第一数据库采用SQLServer数据库,第二数据库采用MYSQL数据库,数据同步服务器采用Java服务为例,描述上述数据同步过程,参见图3,包括:
部署本地的配置文件:根据业务类型预先确定待同步的源文件(即数据表),或者在业务的发展过程中,确定增减的源文件(即数据表),将这些待同步的源文件的名称存入到配置文件中。其中,配置文件的部署方式可以采用java热部署机制,无需重启java服务即可检测到class文件的变化,可以提高同步效率。class文件是java代码最终编译成的二进制文件。
在部署完成后,Java服务启动Java定时器,在定时到第一设定时长时,从本地的配置文件中获取待同步的源文件名称。由于Java服务已经加入到SQLServer数据库中的连通白名单之中,这样Java服务可以轮询SQLServer中的待同步的源文件,获取增量数据。在将增量数据同步到MYSQL数据库中对应的目标文件中。
其中,目标文件名称由Java服务根据预设的映射规则对待同步的源文件名称进行转换得到,例如将采用驼峰方式命名的UserId转换成采用下划线法命名的user_id,而MYSQL数据库可以根据目标文件名称创建目标文件,如创建一个user_id表。
本公开实施例还提供了一种数据同步装置,应用于分别与第一数据库和第二数据库通信的数据同步服务器,图4是根据一示例性实施例示出的一种数据同步装置的框图。参见图4,一种数据同步装置,包括:
名称获取模块41,被配置为执行从本地的配置文件中获取待同步的源文件名称;所述配置文件通过热部署机制进行部署;
数据获取模块42,被配置为执行基于所述源文件名称轮询所述第一数据库中的源文件,得到与第二数据库中具有同一名称的源文件之间不同的数据,将不同的数据作为所述源文件中待同步的增量数据;
数据同步模块43,被配置为执行将所述增量数据同步到第二数据库。
在一实施例中,所述装置还包括:
名称映射模块,被配置为执行根据预设的映射规则,将所述源文件的名称字段与所述第二数据库中目标文件的名称字段建立映射关联;所述目标文件用于存入所述增量数据;所述第一数据库与所述第二数据库为不同类型的数据库。
在一实施例中,将所述增量数据同步到第二数据库之后,所述装置还包括:
响应检测模块,被配置为执行检测所述第二数据库的响应信息;所述响应信息用于表征所述第二数据库成功存入所述增量数据;
所述数据同步模块,还被配置为执行响应于在第二设定时长内未检测到所述响应信息,重新将所述增量数据同步到第二数据库。
在一实施例中,所述装置还包括:
配置文件配置模块,被配置为执行响应于表征更新配置文件的触发操作,将所获取的源文件名称存入所述配置文件。
在一实施例中,所述装置还包括:
定时检测模块,被配置为执行检测定时器是否定时到第一设定时长;
定时触发模块,被配置为执行响应于定时到所述第一设定时长,触发所述名称获取模块。
在一实施例中,所述装置还包括:
指令检测模块,被配置为执行检测是否接收到第一数据库中触发器发送的触发指令;
定时触发模块,被配置为执行响应于检测到所述触发指令,触发所述名称获取模块。
关于上述实施例中的装置,其中装置中各步骤的具体实现方式已经在描述方法实施例时进行了详细描述,此处将不做详细阐述说明。
至此,本实施例中通过设置分别与第一数据库和第二数据库通信的数据同步服务器,由数据同步服务器从本地的配置文件中获取待同步的源文件名称;所述配置文件通过热部署机制进行部署,可以提高源文件的部署效率;然后,基于所述源文件名称轮询所述第一数据库中的源文件,得到与第二数据库中具有同一名称的源文件之间不同的数据,将不同的数据作为所述源文件中待同步的增量数据;最后,将所述增量数据同步到第二数据库,可以解决第一数据库和第二数据库受到网络环境限制的问题,使第一数据库和第二数据库达到实时同步的效果。
本公开实施例还提供了一种数据同步系统,系统架构图如图1所示,包括第一数据库、第二数据库和数据同步服务器;所述数据同步服务器分别与所述第一数据库和所述第二数据库通信;
所述数据同步服务器被配置为执行从本地的配置文件中获取待同步的源文件名称;所述配置文件通过热部署机制进行部署;基于所述源文件名称轮询所述第一数据库中的源文件,得到与第二数据库中具有同一名称的源文件之间不同的数据,将不同的数据作为所述源文件中待同步的增量数据;并将所述增量数据同步到第二数据库。
在一实施例中,所述第一数据库为SQLServer数据库,所述第二数据库为MYSQL数据库。
图5是根据一示例性实施例示出的一种服务器的框图。参照图5,服务器500可以包括以下一个或多个组件:处理组件502,存储器504,电源组件506,多媒体组件508,音频组件510,输入/输出(I/O)的接口512,传感器组件514,以及通信组件516。
处理组件502通常控制服务器500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件502可以包括一个或多个处理器520来执行指令,以完成图3所示方法的全部或部分步骤。此外,处理组件502可以包括一个或多个模块,便于处理组件502和其他组件之间的交互。例如,处理组件502可以包括多媒体模块,以方便多媒体组件508和处理组件502之间的交互。
存储器504被配置为存储各种类型的数据以支持在服务器500的操作。这些数据的示例包括用于在服务器500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件506为服务器500的各种组件提供电力。电源组件506可以包括电源管理系统,一个或多个电源,及其他与为服务器500生成、管理和分配电力相关联的组件。
多媒体组件508包括在服务器500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件508包括一个前置摄像头和/或后置摄像头。当服务器500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件510被配置为输出和/或输入音频信号。例如,音频组件510包括一个麦克风(MIC),当服务器500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器504或经由通信组件516发送。在一些实施例中,音频组件510还包括一个扬声器,用于输出音频信号。
I/O接口512为处理组件502和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件514包括一个或多个传感器,用于为服务器500提供各个方面的状态评估。例如,传感器组件514可以检测到服务器500的打开/关闭状态,组件的相对定位,例如所述组件为服务器500的显示器和小键盘,传感器组件514还可以检测服务器500或服务器500一个组件的位置改变,用户与服务器500接触的存在或不存在,服务器500方位或加速/减速和服务器500的温度变化。传感器组件514可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件514还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件514还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件516被配置为便于服务器500和其他设备之间有线或无线方式的通信。服务器500可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件516经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件516还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在本公开一实施例中,服务器500可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行执行如下步骤:从本地的配置文件中获取待同步的源文件名称;所述配置文件通过热部署机制进行部署;基于所述源文件名称轮询所述第一数据库中的源文件,得到与第二数据库中具有同一名称的源文件之间不同的数据,将不同的数据作为所述源文件中待同步的增量数据;将所述增量数据同步到第二数据库。
在本公开一实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器504,上述指令可由服务器500的处理器520执行如下步骤:从本地的配置文件中获取待同步的源文件名称;所述配置文件通过热部署机制进行部署;基于所述源文件名称轮询所述第一数据库中的源文件,得到与第二数据库中具有同一名称的源文件之间不同的数据,将不同的数据作为所述源文件中待同步的增量数据;将所述增量数据同步到第二数据库。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在本公开一实施例中,还提供了一种计算机程序产品,当该计算机程序产品由服务器的处理器执行时,使得所述服务器能够执行如下步骤:从本地的配置文件中获取待同步的源文件名称;所述配置文件通过热部署机制进行部署;基于所述源文件名称轮询所述第一数据库中的源文件,得到与第二数据库中具有同一名称的源文件之间不同的数据,将不同的数据作为所述源文件中待同步的增量数据;将所述增量数据同步到第二数据库。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置/服务器/存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖上述各实施例的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种数据同步方法,其特征在于,应用于分别与第一数据库和第二数据库通信的数据同步服务器,所述方法包括:
从本地的配置文件中获取待同步的源文件名称;所述配置文件通过热部署机制进行部署;
基于所述源文件名称轮询所述第一数据库中的源文件,得到与第二数据库中具有同一名称的源文件之间不同的数据,将不同的数据作为所述源文件中待同步的增量数据;
将所述增量数据同步到第二数据库。
2.根据权利要求1所述的方法,其特征在于,将所述增量数据同步到第二数据库之前,所述方法还包括:
根据预设的映射规则,将所述源文件的名称字段与所述第二数据库中目标文件的名称字段建立映射关联;所述目标文件用于存入所述增量数据,其中,所述第一数据库与所述第二数据库为不同类型的数据库。
3.根据权利要求1所述的方法,其特征在于,将所述增量数据同步到第二数据库之后,所述方法还包括:
检测所述第二数据库的响应信息;所述响应信息用于表征所述第二数据库成功存入所述增量数据;
响应于在第二设定时长内未检测到所述响应信息,重新将所述增量数据同步到第二数据库。
4.根据权利要求1所述的方法,其特征在于,从本地的配置文件中获取待同步的源文件名称之前,所述方法还包括:
响应于表征更新配置文件的触发操作,将所获取的源文件名称存入所述配置文件。
5.根据权利要求1所述的方法,其特征在于,从本地的配置文件中获取待同步的源文件名称之前,所述方法还包括:
检测定时器是否定时到第一设定时长;
响应于定时到所述第一设定时长,执行从本地的配置文件中获取待同步的源文件名称的步骤。
6.根据权利要求1所述的方法,其特征在于,从本地的配置文件中获取待同步的源文件名称之前,所述方法还包括:
检测是否接收到第一数据库中触发器发送的触发指令;
响应于检测到所述触发指令,执行从本地的配置文件中获取待同步的源文件名称的步骤。
7.根据权利要求1所述的方法,其特征在于,所述第一数据库为SQLServer数据库,所述第二数据库为MYSQL数据库。
8.一种数据同步装置,其特征在于,应用于分别与第一数据库和第二数据库通信的数据同步服务器,所述装置包括:
名称获取模块,被配置为执行从本地的配置文件中获取待同步的源文件名称;所述配置文件通过热部署机制进行部署;
数据获取模块,被配置为执行基于所述源文件名称轮询所述第一数据库中的源文件,得到与第二数据库中具有同一名称的源文件之间不同的数据,将不同的数据作为所述源文件中待同步的增量数据;
数据同步模块,被配置为执行将所述增量数据同步到第二数据库。
9.一种服务器,其特征在于,包括:
处理器;
用于存储所述处理器可执行的计算机程序的存储器;
其中,所述处理器被配置为执行所述存储器中的计算机程序,以实现如权利要求1~7任一项所述方法的步骤。
10.一种存储介质,其特征在于,当所述存储介质中的可执行的计算机程序由处理器执行时,能够实现如权利要求1~7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010453907.9A CN113722392A (zh) | 2020-05-26 | 2020-05-26 | 数据同步方法和装置、数据同步系统、服务器、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010453907.9A CN113722392A (zh) | 2020-05-26 | 2020-05-26 | 数据同步方法和装置、数据同步系统、服务器、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113722392A true CN113722392A (zh) | 2021-11-30 |
Family
ID=78671844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010453907.9A Pending CN113722392A (zh) | 2020-05-26 | 2020-05-26 | 数据同步方法和装置、数据同步系统、服务器、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113722392A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108108483A (zh) * | 2018-01-09 | 2018-06-01 | 政采云有限公司 | 基于SpringAop拦截DAO层校验SQL的方法、装置和系统 |
US20180210937A1 (en) * | 2015-09-25 | 2018-07-26 | Alibaba Group Holding Limited | Data synchronization method and apparatus |
CN108595522A (zh) * | 2018-03-27 | 2018-09-28 | 北京明朝万达科技股份有限公司 | 一种增量同步方法、装置及系统 |
CN108845793A (zh) * | 2018-05-03 | 2018-11-20 | 蔡廷超 | 一种orm设计方法及装置 |
CN108920670A (zh) * | 2018-07-06 | 2018-11-30 | 深圳市小牛在线互联网信息咨询有限公司 | 缓存同步方法、装置、系统及存储介质 |
CN110716715A (zh) * | 2019-10-18 | 2020-01-21 | 恒生电子股份有限公司 | 一种应用程序开发方法、装置、设备及介质 |
-
2020
- 2020-05-26 CN CN202010453907.9A patent/CN113722392A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180210937A1 (en) * | 2015-09-25 | 2018-07-26 | Alibaba Group Holding Limited | Data synchronization method and apparatus |
CN108108483A (zh) * | 2018-01-09 | 2018-06-01 | 政采云有限公司 | 基于SpringAop拦截DAO层校验SQL的方法、装置和系统 |
CN108595522A (zh) * | 2018-03-27 | 2018-09-28 | 北京明朝万达科技股份有限公司 | 一种增量同步方法、装置及系统 |
CN108845793A (zh) * | 2018-05-03 | 2018-11-20 | 蔡廷超 | 一种orm设计方法及装置 |
CN108920670A (zh) * | 2018-07-06 | 2018-11-30 | 深圳市小牛在线互联网信息咨询有限公司 | 缓存同步方法、装置、系统及存储介质 |
CN110716715A (zh) * | 2019-10-18 | 2020-01-21 | 恒生电子股份有限公司 | 一种应用程序开发方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108831448B (zh) | 语音控制智能设备的方法、装置及存储介质 | |
CN108520746B (zh) | 语音控制智能设备的方法、装置及存储介质 | |
US10324707B2 (en) | Method, apparatus, and computer-readable storage medium for upgrading a ZigBee device | |
US11361586B2 (en) | Method for sending warning information, storage medium and terminal | |
CN108810866B (zh) | 连接智能设备的方法、装置及存储介质 | |
CN112003893A (zh) | 一种资源下载方法和装置 | |
CN115185717B (zh) | 接口调用方法、装置、电子设备和存储介质 | |
CN113946443A (zh) | 边缘设备管理及主动注册方法、装置和电子设备 | |
CN111538502A (zh) | 安装包的处理方法、装置、电子设备及存储介质 | |
CN110852163A (zh) | 绑定方法及装置 | |
CN114721710A (zh) | 版本控制方法、装置及存储介质 | |
CN113709235A (zh) | 设备注册方法及装置、电子设备和存储介质 | |
CN110865823B (zh) | 预装应用控制方法、预装应用控制装置及存储介质 | |
CN112068876A (zh) | 一种进程管理方法、装置和系统 | |
CN110071959B (zh) | 定时同步第三方国标资源的方法及装置 | |
CN113722392A (zh) | 数据同步方法和装置、数据同步系统、服务器、存储介质 | |
CN107911807B (zh) | 蓝牙数据传输方法及装置 | |
CN115934035A (zh) | 一种序列号生成方法、装置、电子设备及存储介质 | |
CN107105005B (zh) | 同步数据的方法及装置 | |
CN107122174B (zh) | 应用程序更新方法及装置 | |
CN114217923A (zh) | 页面信息处理方法及装置 | |
CN111241134B (zh) | 一种数据处理方法及装置 | |
CN116437240A (zh) | 数据信息传输方法、装置及设备 | |
CN113778398A (zh) | 代码生成方法、装置、电子设备及存储介质 | |
CN108923988B (zh) | 设备分组方法及装置 |
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 |