信息同步方法及装置与流程

文档序号:25294568发布日期:2021-06-04 09:11阅读:44来源:国知局
信息同步方法及装置与流程

1.本发明涉及通信技术领域,尤其是涉及一种信息同步方法及装置。


背景技术:

2.dba(database administrator,数据库管理员)系统,负责全面管理和控制数据库系统,具体的职责包括:决定数据库中所存放的数据内容和结构;决定数据库的存储结构和存取策略;定义数据的安全性要求和完整性约束条件;监控数据库的使用和运行;数据库的改进和重组。dba系统可以用于管理和控制多个数据库。根据业务需求,有时候需要将数据库中的数据进行同步处理,由于数据库中存储的表结构众多,因此,人工进行数据库间的同步操作,面临着较高的复杂度和易错性。


技术实现要素:

3.本发明提供了一种信息同步方法及装置,可以自动进行数据库间信息的对比和同步处理,缓解人工操作的复杂度和易错性。
4.第一方面,本发明实施例提供了一种信息同步方法,该方法包括:按照预设时刻获取第一信息和第二信息;所述第一信息根据所述第二信息生成;所述第一信息存储在第一数据库中;所述第二信息存储在第二数据库中;对比所述第一信息和所述第二信息,得到差异功能数据;所述第一信息中包括所述差异功能数据,并且所述第二信息中不包括所述差异功能数据;将所述差异功能数据同步至所述第二数据库。
5.第二方面,本发明实施例还提供一种信息同步装置,该装置包括:获取模块,用于按照预设时刻获取第一信息和第二信息;所述第一信息根据所述第二信息生成;所述第一信息存储在第一数据库中;所述第二信息存储在第二数据库中;对比模块,用于对比所述第一信息和所述第二信息,得到差异功能数据;所述第一信息中包括所述差异功能数据,并且所述第二信息中不包括所述差异功能数据;同步模块,用于将所述差异功能数据同步至所述第二数据库。
6.第三方面,本发明实施例还提供一种计算机设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述信息同步方法。
7.第四方面,本发明实施例还提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行上述信息同步方法。
8.本发明实施例带来了以下有益效果:本发明实施例提供了一种信息同步方案,该方案按照预设时刻获取第一数据库中的第一信息和第二数据库中的第二信息,该第一信息根据该第二信息生成,之后,将该第一信息和该第二信息进行对比,将第一信息中包括但第二信息中不包括的内容作为差异功能数据,最后,把差异功能数据同步至第二数据库,以丰富第二数据库中的信息。本发明实施例可以自动进行不同数据库中相关信息的对比,以实现差异功能数据自第一数据库中至第二数据库的自动同步,缓解了人工操作的复杂度和易
错性,提高了数据同步的效率和准确度。
9.本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
10.为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
11.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
12.图1为本发明实施例提供的信息同步方法流程图;
13.图2为本发明实施例提供的信息同步方法执行示意图;
14.图3为本发明实施例提供的一种信息同步装置结构框图;
15.图4为本发明实施例提供的另一种信息同步装置结构框图;
16.图5为本发明实施例提供的计算机设备结构框图。
具体实施方式
17.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
18.目前,随着用户数量增多、用户的个性化功能需求也增多,对于存储于数据库中的用于实现某种功能的数据,在经过修改或补充后,会得到不同的结构和数据,同行业或者不同行业可能存在共性的功能,从而根据同一个产品功能,可以得到不同的项目功能,项目功能是在产品功能的基础上进行补充、删减或修改得到的,以满足用户的多种个性化需求。如果能够复用已开发完成产品功能的相关数据,将会大大节省新功能的设计开发时间,提高生产效率。
19.基于此,本发明实施例提供的一种信息同步方法及装置,可以提高产品功能数据库结构复用性,节省设计开发时间,提高生产效率,还可以解决分布式产品和多项目数据库同步问题。
20.为便于对本实施例进行理解,首先对本发明实施例所公开的一种信息同步方法进行详细介绍。
21.本发明实施例提供了一种信息同步方法,参见图1所示的一种信息同步方法流程图,该方法包括以下步骤:
22.步骤s102,按照预设时刻获取第一信息和第二信息。
23.在本发明实施例中,第一信息存储在第一数据库中;第二信息存储在第二数据库中。可以通过删除、增加和修改中的一种或几种方式,对某种第二信息进行处理,生成多种
第一信息,每种第一信息可以存放在不同的第一数据库中。不同种类的第二信息可以存放在不同的第二数据库中。按照预设时刻扫描,可以获取第一数据库和该第一数据库中的第一信息,以及对应的第二数据库中的第二信息。
24.需要说明的是,为了实现某种业务功能,第二信息可以是通用版本,即第二数据库可以对多个用户开放访问权限,第一信息是基于第二信息生成的定制版本,可以仅对指定的用户开放第一数据库的访问权限。
25.还需要说明的是,第二信息可以包括表结构、表结构中包括字段、字段中包括数据等信息,通过表结构、字段以及数据等信息的组合,可以实现一种或多种业务功能。例如,第一信息根据第二信息生成,那么,若第二信息中包括表1,表1中包括字段a、字段b和字段c,字段a中包括功能数据d、功能数据e和功能数据f,则通过字段增加及功能数据减少,得到一种第一信息中可以包括表1,表1中包括字段a、字段b、字段c和字段d,字段a中包括功能数据d和功能数据e;通过功能数据修改,得到另一种第一信息中可以包括表1,表1中包括字段a、字段b和字段c,字段a中包括功能数据d、功能数据e和功能数据h。可以根据实际需求,对第二信息进行处理,以得到不同的第一信息。
26.另外需要说明的是,对于同一个第二信息对应的多种第一信息,多种第一信息可以以分布式形式存储,可以设置不同的时刻对不同种类的第一信息进行扫描。
27.步骤s104,对比第一信息和所述第二信息,得到差异功能数据。
28.在本发明实施例中,功能数据是第一信息或第二信息中的一部分信息,功能数据可以为表结构、字段或数据中的一种或任意几种的组合。经过对比,若第一信息中包括某功能数据,并且第二信息中不包括该功能数据,则可以将该功能数据作为差异功能数据。
29.需要说明的是,对比包括对表结构和数据进行对比。例如,对数据进行对比可以是,第二信息中包括表1,表1中包括字段a、字段b和字段c,字段a中包括功能数据d、功能数据e和功能数据f,第一信息中包括表1,表1中包括字段a、字段b、字段c和字段d,字段a中包括功能数据d和功能数据e,那么将第一信息和第二信息进行对比,得到的差异功能数据为:字段d。其中,功能数据f由于存在于第二信息中,不存在于第一信息中,不能作为差异功能数据。
30.步骤s106,将差异功能数据同步至第二数据库。
31.在本发明实施例中,对比之后有差异的话,自动同步差异。同步包括对表结构和数据进行同步,把数据库的表结构和数据同步到数据库中。将差异功能数据复制并发送至第二数据库,对于差异功能数据中包括的表结构,同步操作时,需要在第二数据库中建表,实现表结构的同步。可以使用sql(structured query language,结构化查询语言)在第二数据库中建表。
32.需要说明的是,在本发明实施例中,对于同一个第二信息对应的多个第一信息,可以并行对比,以提高对比的效率,但是需要逐个进行同步,以保证同步结果的准确性。
33.另外需要说明的是,将第一数据库中的数据同步至第二数据库后,便于用户通过访问第二数据库获取同步后的信息,并且,多次同步后,第二数据库中包括不同第一数据库中的多种第一信息,用户可以将第二数据库中的多种第一信息进行组合使用,进一步实现数据的复用,节省设计开发时间。
34.本发明实施例提供了一种信息同步方案,该方案按照预设时刻获取第一数据库中
的第一信息和第二数据库中的第二信息,该第一信息根据该第二信息生成,之后,将该第一信息和该第二信息进行对比,将第一信息中包括但第二信息中不包括的内容作为差异功能数据,最后,把差异功能数据同步至第二数据库,以丰富第二数据库中的信息。本发明实施例可以自动进行不同数据库中相关信息的对比,以实现差异功能数据自第一数据库中至第二数据库的自动同步,缓解了人工操作的复杂度和易错性,提高了数据同步的效率和准确度。
35.为了提高对比操作的数据处理效率,对比所述第一信息和所述第二信息,得到差异功能数据之前,还可以执行如下步骤:
36.将第一信息和第二信息加载到redis(remote dictionary server,远程字典服务)数据库。
37.在本发明实施例中,将待对比的第一信息和第二信息加载到redis数据库中,从而在redis数据库中进行数据对比,减少dba系统db(datebase)数据库的压力。
38.为了进一步提高数据同步的准确度,对比所述第一信息和所述第二信息,得到差异功能数据之后,还可以执行如下操作:
39.对第一信息进行加锁处理;判断第二信息是否已加锁;如果否,对第二信息加锁。
40.在本发明实施例中,对第一信息进行加锁处理,可以实现对该第一信息的加载权限进行管理。当某一个执行引擎获取过某个第一信息之后,对该第一信息进行加锁处理,则下一个执行引擎无法再获取该第一信息。同样的,关于对第二信息加锁的内容,不再进行赘述。
41.需要说明的是,锁是一种互斥的机制,在多线程环境中实现对资源的强制控制,以帮助实现并发控制。加锁操作,使若干线程不可以同时执行,当某一个线程处于运行状态时,其他线程一定处于就绪或阻塞状态。
42.需要说明的是,在本发明实施例中,若第二信息处于未被加锁的状态,则对该第二信息进行加锁。若第二信息处于与其他第一信息同步的操作中,说明该第二信息处于加锁状态,需要等待该第二信息解锁后(即完成其他第一信息与该第二信息的同步),再对该第二信息进行加锁。
43.在完成第一信息与第二信息的同步之后,为了便于其他第一信息与第二信息的同步操作,该方法还可以执行如下步骤:
44.对第一信息进行解锁处理;对第二信息进行解锁处理。
45.在本发明实施例中,在第二数据库中表结构和数据同步完成后,出发解释处理操作。进行解锁处理可以解除对第一信息与第二信息的加载权限限制,方便对第一信息进行其他处理,方便其他第一信息加载第二信息,并与第二信息进行同步。
46.考虑到将第一信息和第二信息加载到redis数据库进行处理,处理结果的相关信息仍然存储在redis数据库中,为了便于用户获取差异功能数据,将差异功能数据同步至第二数据库,可以按照如下步骤执行:
47.将差异功能数据从redis数据库同步至第二数据库。
48.在本发明实施例中,差异功能数据进行复制并发送至第二数据库,若差异功能数据中存在表结构,需要在第二数据库中建表,以使同步后的第二数据库中的信息能够实现第一数据库中的信息能实现的功能。
49.为了提高同步后信息的正确性,将差异功能数据同步至第二数据库之后,还可以执行如下步骤:
50.对比第一数据库和同步了差异功能数据库之后的第二数据库,得到验证结果;验证结果用于验证数据库同步的正确性。
51.在本发明实施例中,同步了差异功能数据库之后的第二数据库应当包括第一数据中的全部信息,实现第一数据库中第一信息能够实现的全部功能,如果根据对比后得到的验证结果发现同步了差异功能数据库之后的第二数据库不包括第一数据中的全部信息,不能实现第一数据库中第一信息能够实现的全部功能,证明数据同步存在问题,需要进行关注。
52.为了提高各个步骤数据处理的效率,对比第一信息和所述第二信息,得到差异功能数据之前,还可以执行如下步骤:
53.生成多种微服务;多种微服务至少包括:分布式定时微服务、对比服务微服务、计划同步微服务和验证微服务中的一种或几种;将多种微服务通过注册中心进行注册;根据注册后的多种微服务执行信息同步方法。
54.在本发明实施例中,微服务是由单一应用程序构成的小服务,拥有自己的进程与轻量化处理,服务依业务功能设计,以全自动的方式部署,与其他服务使用http api(application programming interface,应用程序编程接口)通讯。同时,服务会使用最小规模的集中管理(例如docker)技术,服务可以用不同的编程语言与数据库等。微服务可以部署在不同的服务器上,也可以部署在相同的服务器不同的容器上。
55.将微服务注册到注册中心,可以得到服务的地址等信息,注册后的微服务可以相互调用。
56.不同种类的微服务可以实现不同的作用,例如分布式定时微服务可以用于按照预设时刻获取第一数据库中的第一信息和第二数据库中的第二信息;对比服务微服务可以用于对比第一信息和所述第二信息,得到差异功能数据;计划同步微服务可以用于将差异功能数据同步至第二数据库;验证微服务可以用于对比第一数据库和同步了差异功能数据库之后的第二数据库,得到验证结果。
57.参见图2所示的信息同步方法执行示意图,下面结合一个具体的实施例对该方法进行说明。
58.(1)分布式定时、对比服务、计划同步、验证等微服务通过注册中心注册服务,并相互调用。
59.(2)定时扫描db管理数据库中的某个项目表、字段、数据等信息,加载到内存数据库redis中并且对该项目进行加锁。
60.(3)查看该项目对应的产品是否加锁,产品没有加锁,立刻对产品进行加锁,如果有加锁,项目等待产品解锁。
61.(4)产品解锁后,项目的表、字段、数据等信息和产品相关的信息进行对比,项目中多余的表、字段、数据合并到已经加装到redis的产品相关信息里。
62.(5)计划同步微服务收到合并完成通知后,该微服务同步相关信息到产品管理数据库中。
63.(6)表、字段、数据同步到数据库中后,该微服务执行生成sql同步到产品数据库。
64.(7)验证微服务通过对比产品数据库和项目数据库检验数据库同步正确性。
65.本发明实施例提供了一种信息同步方法及装置,该方法可以通过微服务定时扫描第一信息中各项目表和字段、业务数据等信息和第二信息中的表和字段等对比,对比后根据项目多余表和字段、数据等信息定时同步到产品数据库。规定产品库不做删减,只做新增。可以用于解决同一产品(通用版本)多项目(基于通用版本为某一个用户定制的版本)管理中自动对比同步问题,通过梳理版本信息,把项目功能同步到产品功能上,不需要工作人员针对项目中已有的功能再重新开发,从产品功能数据所在的第二数据库即可获取已有项目功能的数据,提高了生产效率;可以解决同一产品多项目的表结构繁多而复杂,人工对比的复杂度和易错性以及项目自动同步到产品,并同步到其他项目的问题,提高了数据同步的效率和准确度。
66.本发明实施例还提供一种信息同步装置,参见图3所示的一种信息同步装置结构框图,该装置包括:
67.获取模块71,用于按照预设时刻获取第一信息和第二信息;第一信息根据第二信息生成;第一信息存储在第一数据库中;第二信息存储在第二数据库中;对比模块72,用于对比第一信息和第二信息,得到差异功能数据;第一信息中包括差异功能数据,并且第二信息中不包括差异功能数据;同步模块73,用于将差异功能数据同步至第二数据库。
68.在一个实施例中,参见图4所示的另一种信息同步装置结构框图,该装置包括:该装置还包括:加载模块74,用于将第一信息和第二信息加载到redis数据库。
69.在一个实施例中,参见图4所示的另一种信息同步装置结构框图,该装置包括:该装置还包括:加锁模块75,用于对第一信息进行加锁处理;判断第二信息是否已加锁;如果否,对第二信息加锁。
70.在一个实施例中,参见图4所示的另一种信息同步装置结构框图,该装置包括:该装置还包括:解锁模块76,用于:对所述第一信息进行解锁处理;对第二信息进行解锁处理。
71.在一个实施例中,同步模块,还用于:将差异功能数据从redis数据库同步至第二数据库。
72.在一个实施例中,参见图4所示的另一种信息同步装置结构框图,该装置包括:该装置还包括:验证模块77,用于:对比第一数据库和同步了差异功能数据库之后的第二数据库,得到验证结果;验证结果用于验证数据库同步的正确性。
73.在一个实施例中,参见图4所示的另一种信息同步装置结构框图,该装置包括:该装置还包括:微服务模块78,用于:生成多种微服务;多种微服务至少包括:分布式定时微服务、对比服务微服务、计划同步微服务和验证微服务中的一种或几种;将多种微服务通过注册中心进行注册;根据注册后的多种微服务执行信息同步方法。
74.本发明实施例还提供一种计算机设备,参见图5所示的计算机设备结构示意框图,该计算机设备包括存储器81、处理器82,存储器中存储有可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一种方法的步骤。
75.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的计算机设备的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述
76.本发明实施例还提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,程序代码使处理器执行上述任一种方法的步骤。
77.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
78.本发明是参照根据本发明实施例的方法和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
79.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
80.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
81.最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1