1.本技术属于计算机技术领域,尤其涉及一种数据同步方法及装置。
背景技术:2.随着机器人技术的发展,商用服务机器人的数量日益增多,商用服务机器人在使用过程中会产生海量数据(包括业务数据和日志文件)。一般情况下,机器人产生业务数据或者日志文件后,会将产生的数据上报给对应的业务数据库或者文件服务器进行存储。在数据存储过程中同时存在关于机器人数据的计算任务,如果采用机器人上报的数据的业务数据库或者文件服务器进行数据计算,业务数据库或者文件服务器将同时面临在数以万计的机器人数据写入压力以及数据计算处理压力,业务数据库或者文件服务器会因为负载过高无法快速响应数据存储和计算任务处理。
3.为了数据安全以及计算任务的顺利执行,可以将业务数据库或者文件服务器中的数据同步到备用数据库中,即业务数据库或者文件服务器在接收到机器人上报数据时,直接将其同步到备用数据库中,应用系统从备用数据库中获取数据进行实时分析计算。然而由于数据量的激增,现有的数据同步方法难以实现数据快速实时同步。
技术实现要素:4.本技术实施例提供了一种数据同步方法及装置,可以实现海量机器人数据的快速实时同步。
5.第一方面,本技术实施例提供了一种数据同步方法,应用于数据管理系统,所述数据管理系统包括同步装置和实时数据库,所述同步装置包括实时同步组件和分流集群,所述分流集群包括多个分流组件;所述方法包括:
6.所述实时同步组件获取数据源中的新增数据;
7.所述实时同步组件根据预设的拆分规则,对所述新增数据进行拆分,得到n个数据流,其中n为正整数;
8.所述实时同步组件将所述n个数据流分别发送至所述分流集群中的m个所述分流组件,其中m为正整数;
9.所述实时数据库从所述m个分流组件获取所述n个数据流并存储。
10.上述实施例中,数据管理系统设置有实时同步组件和包括多个分流组件的分流集群,实时同步组件获取数据源中的新增数据并且将新增数据拆分成n个数据流并发送至m个分流组件;实时数据库从m个分流组件中获取n个数据流并存储。通过将新增数据拆分为n个数据流,并将拆分后的n个数据流并行发送到分流集群的m个分流组件,进而使得实时数据库从m个分流组件获取n个数据流。对新增数据的拆分以及拆分后的并行传送,提高了新增数据处理速度,加快了实时同步组件和实时数据库中的数据流转速度,实现机器人数据的高吞吐,进而实现机器人数据的快速实时同步存储。
11.在第一方面的一种可能的实现方式中,在所述实时同步组件获取数据源中的新增
数据之前,所述方法包括:
12.所述实时同步组件获取第一同步子任务信息,其中所述第一同步子任务信息包括所述数据源的连接信息;
13.所述实时同步组件根据所述数据源的连接信息与所述数据源建立连接。
14.在第一方面的一种可能的实现方式中,所述第一同步子任务包括所述拆分规则;
15.在所述实时同步组件获取数据源中的新增数据之前,所述方法还包括:
16.所述实时同步组件根据所述拆分规则,与所述m个分流组件之间建立n个数据连接,每个所述数据连接与一个所述数据流对应;
17.所述实时同步组件将所述n个数据流分别发送至所述分流集群中的m个所述分流组件,包括:
18.所述实时同步组件通过所述n个数据连接将所述n个数据流分别发送至所述分流集群中的所述m个分流组件。
19.在第一方面的一种可能的实现方式中,所述实时同步组件根据所述拆分规则,与所述m个分流组件之间建立n个数据连接,包括:
20.所述实时同步组件将所述拆分规则发送至所述分流集群;
21.所述分流集群根据所述拆分规则和各个所述分流组件的任务信息,从所述分流集群中确定所述m个分流组件,并在所述m个分流组件中建立n个数据通道;
22.所述分流集群将所述m个分流组件的地址信息发送至所述实时同步组件;
23.所述实时同步组件根据所述地址信息与所述m个分流组件中的所述n个数据通道分别建立连接。
24.在第一方面的一种可能的实现方式中,所述第一同步子任务信息还包括标识信息;
25.所述分流集群在所述m个分流组件中建立n个数据通道时,根据所述标识信息对所述n个数据通道进行命名,以使所述n个数据通道的名称包括所述标识信息;
26.在所述实时同步组件获取数据源中的新增数据之前,所述方法还包括:
27.所述实时数据库获取第二同步子任务信息,所述第二同步子任务信息包括所述标识信息;
28.所述实时数据库根据所述标识信息,与所述分流集群中的名称包括所述标识信息的所述n个数据通道建立连接。
29.在第一方面的一种可能的实现方式中,所述实时数据库根据所述标识信息,与所述分流集群中的名称包括所述标识信息的所述n个数据通道建立连接,包括:
30.所述实时数据库将所述标识信息发送至所述分流集群;
31.所述分流集群根据所述标识信息对多个所述分流组件中的数据通道进行查询,确定名称包括所述标识信息的所述n个数据通道;
32.所述分流集群将所述n个数据通道的连接方式发送至所述实时数据库;
33.所述实时数据库根据所述n个数据通道的连接方式,与所述n个数据通道建立连接。
34.在第一方面的一种可能的实现方式中,所述拆分规则包括需要拆分的数据流数量,所述数据流数量为n;
35.所述实时同步组件根据预设的拆分规则,对所述新增数据进行拆分,得到n个数据流,包括:
36.所述实时同步组件按照获取所述新增数据的时间顺序,将所述新增数据中的第an+b条数据作为第b个数据流,其中a整数且a≥0,b为正整数且1≤b≤n。
37.在第一方面的一种可能的实现方式中,所述拆分规则包括分流字段和需要拆分的数据流数量,所述分流字段的类型数目和所述数据流数量均为n,所分流字段的每个类型对应一个所述数据流;
38.所述实时同步组件根据所述分流字段,确定所述新增数据中的各条数据所属的所述分流字段的类型;
39.所述实时同步组件将所述新增数据中的各条数据,作为所属的所述分流字段的类型所对应的数据流。
40.在第一方面的一种可能的实现方式中,所述分流字段为所述新增数据中的数据所属的机器人信息。
41.在第一方面的一种可能的实现方式中,所述方法还包括:
42.所述实时数据库接收应用系统发送的计算任务指令;
43.所述实时数据库根据计算任务指令获取计算任务信息;
44.所述实时数据库根据所述计算任务信息获取所需的数据并进行计算,获得所述计算任务信息对应的计算结果;
45.所述实时数据库将所述计算结果发送至所述应用系统。
46.上述实施例中,实时数据库接收应用系统发送的计算任务指令,根据计算任务指令获取所需的数据并进行相应的计算,最后将计算结果发送至应用系统;应用系统无须进行实际的数据处理即可获得计算任务指令的计算结果,因此可以有效降低应用系统的数据处理压力。
47.第二方面,本技术实施例提供了一种数据同步方法,应于数据管理系统,所述数据管理系统包括实时数据库,所述方法包括:
48.获取数据源中的新增数据;
49.基于预设拆分规则对所述新增数据进行拆分,得到n个数据流,其中n为正整数;
50.将所述n个数据流分为m份并发送给所述实时数据库,以使得所述实时数据库进行存储,其中m为正整数。
51.第三方面,本技术实施例提供了一种服务器,所述服务器被配置为执行以上第一方面中任一实施方式中所述实时同步组件所执行的步骤、所述分流集群中的分流组件所执行的步骤或者所述实时数据库中的服务器所执行的步骤,或者执行以上第二方面实施方式中所述的方法中的步骤。
52.第四方面,本技术实施例提供了一种数据管理系统,包括实时同步组件、分流集群和实时数据库,所述分流集群包括多个分流组件;其中:
53.所述实时同步组件用于获取数据源中的新增数据;
54.所述实时同步组件用于根据预设的拆分规则,对所述新增数据进行拆分,得到n个数据流,其中n为正整数;
55.所述实时同步组件用于将所述n个数据流分别发送至所述分流集群中的m个所述
分流组件,其中m为正整数;
56.所述实时数据库用于从所述m个分流组件中获取所述n个数据流并存储。
57.第五方面,本技术实施例提供了一种同步装置,包括获取单元、拆分单元和发送单元;其中:
58.获取单元,用于获取数据源中的新增数据;
59.拆分单元,用于基于预设拆分规则对所述新增数据进行拆分,得到n个数据流,其中n为正整数;
60.发送单元,用于将所述n个数据流分为m份并发送给所述实时数据库,以使得所述实时数据库进行存储,其中m为正整数。
61.第六方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如以上第一方面中任一实施方式中所述实时同步组件所执行的步骤、所述分流集群中的分流组件所执行的步骤或者所述实时数据库中的服务器所执行的步骤,或者实现如以上第二方面实施方式中所述的方法中的步骤。
62.第七方面,本技术实施例提供了一种计算机程序产品,当计算机程序产品在服务器上运行时,使得服务器执行以上第一方面中任一实施方式中所述实时同步组件所执行的步骤、所述分流集群中的分流组件所执行的步骤或者所述实时数据库中的服务器所执行的步骤,或者执行以上第二方面实施方式中所述的方法中的步骤。
63.可以理解的是,上述第二方面至第七方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
64.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
65.图1是本技术一实施例提供的数据管理系统的结构示意图;
66.图2是本技术一实施例提供的数据同步方法中的同步任务建立过程的交互图;
67.图3是本技术一实施例提供的数据同步方法中的数据的同步过程的交互图;
68.图4是本技术一实施例提供的数据同步装置的结构框图;
69.图5是本技术另一实施例提供的数据同步装置的结构框图;
70.图6是本技术另一实施例提供的数据同步装置的结构框图;
71.图7是本技术一实施例提供的同步装置的结构框图;
72.图8是本技术一实施例提供的数据同步设备的内部结构示意图。
具体实施方式
73.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电
路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
74.应当理解,当在本技术说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
75.还应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
76.如在本技术说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0077]
另外,在本技术说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0078]
在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0079]
目前的针对数据的同步方案无法实现海量机器人数据的快速实时同步。为了解决上述技术问题,本技术实施例旨在寻找一种能够对海量机器人数据进行快速实时同步的数据同步方法。
[0080]
本技术实施例提供的数据同步方法应用于数据管理系统,数据管理系统包括同步装置和实时数据库,其中同步装置用于从数据源获取新增数据并将新增数据同步到实时数据库中。具体地,同步装置用于:获取数据源中的新增数据;基于预设拆分规则对新增数据进行拆分,得到n个数据流,其中n为正整数;将n个数据流分为m份并发送给实时数据库,以使得实时数据库进行存储,其中m为正整数。
[0081]
上述数据同步方法,将新增数据拆分为n个数据流,然后将拆分后的n个数据流分为m份并发送给实时数据库,实现了新增数据的拆分分流并行发送处理,从而可以加速了上游的同步装置和下游的实时数据库中的数据流转,实现机器人数据的高吞吐以及机器人数据的快速实时同步存储。
[0082]
在一个实施例中,数据管理系统中的同步装置可以分为同步组件和分流集群,下面以实时同步组件和分流集群共同执行同步装置的功能对本技术实施例中的数据同步方法进行说明。
[0083]
如图1所示,为本技术实施例提供一种数据管理系统的结构示意图,该数据管理系统包括同步装置和实时数据库,其中同步装置包括实时同步组件和分流集群,其中分流集群包括多个分流组件,分流组件的个数可以根据需要增加,在此不做具体限定。
[0084]
在数据同步过程中,实时同步组件获取数据源中的需要同步的数据文件中的新增数据,并根据预设的拆分规则,将新增数据拆分为n个数据流;然后将n个数据流分别发送至分流集群中的m个分流组件中,实时数据库从m个分流组件中获取n个数据流并存储。
[0085]
实施例中,针对不同类型的数据源可以设置不同的实时同步组件,例如可以针对业务数据库和文件服务器分别设置实时同步组件,即与业务数据库对应的实时同步组件仅用于业务数据库中的新增数据的处理,而与文件服务器对应的实时同步组件仅用于文件服务器中的新增数据的处理。
[0086]
可选的,且针对每种数据源可以分别设置多个实时同步组件,进而增强数据管理系统的数据实时同步能力。
[0087]
示例性的,一个实时同步组件可以单独设置在一个服务器上,针对不同数据源的实时同步组件可以采用不同的方式从不同的数据源获取新增数据。
[0088]
例如,实时同步组件可以对业务数据库和/或文件服务器进行监听,当发现业务数据库和/或文件服务器中需要同步的数据文件中有新增数据时获取该新增数据;或者,业务数据也可以向实时同步组件推送需要同步的数据文件中的新增数据。
[0089]
示例性的,每个实时同步组件中运行有一个管理进程和一个或多个同步进程,每个同步进程对一个同步任务;其中管理进程负责同步进程的管理和监控。
[0090]
具体来说,管理进程负责接收同步任务指令并对同步任务指令进行解析并启动一个针对同步任务指令的同步进程,将解析后的同步任务信息发送至同步进程以使同步进程执行同步任务。
[0091]
其中,同步进程根据同步任务信息与数据源建立连接并开始同步数据,同步进程获取新增数据并将新增数据的位置信息上报至管理进程。当同步进程异常退出时,管理进程负责重启同步进程;当同步进程重新启动时管理进程将同步进程上报的新增数据位置信息发送至同步进程以使同步进程继续进行新增数据的同步。
[0092]
进一步的,同步进程在获取到新增数据后,还用于根据同步任务信息中的拆分规则将新增数据拆分成n个数据流,n为正整数,根据同步任务对应的数据量的大小设置。同步进程与分流集群建立n个连接,每个连接对应一个数据流。
[0093]
实施例中,分流集群中的每个分流组件可以单独部署在一个服务器上,并且分流集群中的分流组件的个数可以根据同步数据的体量增大而增加,即分流组件可以横向扩展,从而实现高可用。
[0094]
示例性的,分流集群内部是一个整体的系统,各个分流组件之间可以相互通讯。可选的,多个分流组件中一个分流组件为主分流组件,其他分流组件会将自身的信息数据写入到主分流组件中,其他分流组件同步主分流组件中的所有数据信息,即每个分流组件中均存储有各个分流组件的信息数据。其中,信息数据可以包括对应分流组件中的数据通道的相关数据,例如可以包括数据通道的数量、数据通道的名称、数据通道的ip地址(internet protocol address,互联网协议地址)等。
[0095]
其中,每个分流组件中包括多个数据通道,每个数据通道存储一个数据流,同一个分流组件上的多个数据通道所存储的数据流不同。
[0096]
可选的,为了提高数据的安全性,每个数据通道在不同的分流组件上存在多个数据副本。
[0097]
实施例中,实时数据库包括控制节点、计算节点和存储模块。其中每个控制节点、计算节点、存储模块均可以单独运行在一个服务器上。即实时数据库本身是由多个服务器组成的服务器集群。
[0098]
实施例中,实时数据库中的控制节点可横向扩展多个,每个控制节点均可对外提供服务,每个控制节点均可以向计算节点下发计算任务。但同一时刻只有一个控制节点为主控制节点,主控制节点负责记录和更新实时数据库的元数据信息,其他控制节点从主控制节点同步元数据信息。当主控制节点发生故障时,其他控制节点中的一个会成为主控制节点。多个控制节点的设置可以提高实时数据库的稳定性和安全性。
[0099]
其中,元数据信息可以为实时数据库中的各个节点(包括控制节点、计算节点、存储模块)的参数信息,参数信息具体可以包括:(1)如各个节点的网络信息、内存信息以及磁盘信息等;(2)各个节点中的任务信息,例如同步任务、计算任务等;(3)各个节点的数据统计信息等。
[0100]
实施例中,计算节点负责具体执行任务(计算任务或同步任务)。具体来说计算节点接收控制节点下发的任务信息,并根据任务信息执行任务。若任务为计算任务,则从存储模块中获取数据进行相应的计算;若任务为同步任务,则与分流集群中的数据通道连接,并从数据通道拉取数据并存储到存储模块中。
[0101]
可以理解的是,计算节点可以扩展多个,从而提升实时数据库的计算能力。
[0102]
可选的,计算节点在完成计算任务的数据计算后,将计算结果返回给控制节点,控制节点将计算结果返回给应用系统,应用系统可以对计算结果进行展示。
[0103]
实施例中,控制节点接收任务指令并对任务指令进行解析得到任务信息,其中任务指令可以为后台客户端发送的同步任务指令,也可以为应用系统发送的计算任务指令。
[0104]
下面结合具体实施例对本技术提供的一种数据同步方法进行示例性的说明。所述数据同步方法应用于图1所示的数据管理系统上。
[0105]
图2示出了本技术一实施例提供的数据同步方法中的同步任务建立过程的交互图。作为示例而非限定,如图2所示所述数据同步方法包括以下步骤:
[0106]
步骤s201、实时同步组件获取第一同步子任务信息,其中第一同步子任务信息包括数据源的连接信息。
[0107]
实施例中,第一同步子任务信息为实时同步组件对第一同步子任务指令进行解析得到的。第一同步子任务指令为实时同步组件从外界接收的,例如第一同步子任务指令可以是后台客户端发送的,也可以是具有同步任务指令下发权限的应用系统发送的。
[0108]
可以理解的是,数据源的连接信息与数据源的种类相关,如果数据源为业务数据库,那么其中数据源的连接信息可以包括业务数据库的地址、业务数据库的用户名和密码、以及需要同步的数据文件名称等。如果数据源为文件服务器,那么其中数据源连接信息可以包括服务器地址和需要同步的数据文件目录等。
[0109]
步骤s202、实时同步组件根据数据源的连接信息与数据源建立连接。
[0110]
实施例中,实时同步组件与第一同步子任务指令所需要同步的数据文件所在的数据源建立连接。如果第一同步子任务指令是关于一个数据表的数据的同步,那么需要同步的数据文件为一个数据表,一个数据表可以存储在一个数据源中也可以存储在多个数据源中;如果第一同步子任务指令是关于多个数据表的数据的同步,那么需要同步的数据文件就为多个数据表,多个数据表可以同时存储在一个数据源中也可以存储在多个数据源中。即需要同步的数据文件所在的数据源可以为一个数据源也可以为多个数据源。当数据源为多个时,多个数据源可以业务数据库,文件服务器,或者是业务数据库和文件服务器的组
合。
[0111]
上述实施例中,实时同步组件根据第一同步子任务信息与需要同步的数据文件所在的数据源建立连接,即实时同步组件根据同步任务的需要与特定的数据源建立连接,而不是与所有数据源建立连接,可以避免与不必要的数据源建立连接占用实时同步组件的资源。另外,通过在实时同步组件与特定的数据源之间建立连接,使得实时同步组件可以更方便地获取数据源中的新增数据,例如实时同步组件可以直接通过对数据源进行监听来发现和获取新增数据,实时同步组件也可以通过接收数据源的推送来获取新增数据。
[0112]
可选的,第一同步子任务信息包括拆分规则,数据同步方法还包括:
[0113]
步骤s203、实时同步组件根据拆分规则,与m个分流组件之间建立n个数据连接,每个数据连接与一个数据流对应。
[0114]
实施例中,拆分规则可以包括需要拆分的数据流的数量,本实施例中数据流的数量为n,n为正整数。
[0115]
可以理解的是,数据流的数量可以根据需求预先设定,数据流的数量的设定主要考虑需要同步的数据文件的数据量的大小。例如:如果需要同步的数据文件为机器人日志数据,由于机器人日志数据每日都会有大量的新增数据,因此机器人日志数据的数据量非常巨大,为了实现数据的快速同步存储,需要将新增数据分流成更多的数据流,因此数据流的数量可以选择较大的数值;而当需要同步的数据文件的数据量较小时,较小的数据流的数量即可实现数据的快速同步存储,此时数据流的数量可以选择较小的数值。
[0116]
上述实施例中,实时同步组件与m个分流组件之间建立n个数据连接,其中每个数据连接与一个数据流对应,n个数据连接与n个数据流相对应。后续实时同步组件通过n个数据连接将n个数据流分别发送至分流集群中的m个分流组件。即在实时同步组件将新增数据拆分为n个数据流之后,每个数据流均可以通过一个独立数据连接发送至分流组件。从而可以更好的实现新增数据的分流发送的作用,提高新增数据的同步速度。
[0117]
在一个实施例中,实时同步组件根据拆分规则,与m个分流组件之间建立n个数据连接的过程,具体包括以下步骤:
[0118]
(1)实时同步组件将拆分规则发送至分流集群。
[0119]
(2)分流集群根据拆分规则和各个分流组件的任务信息,从多个分流组件中确定m个分流组件,并在m个分流组件中建立n个数据通道。
[0120]
(3)分流集群将m个分流组件的地址信息发送至实时同步组件。
[0121]
(4)实时同步组件根据地址信息与m个分流组件中的n个数据通道分别建立连接。
[0122]
实施例中,各个分流组件的任务信息具体是指分流组件的资源使用情况,为了保证分流组件对数据的处理速度,优先在资源较为充足的分流组件中建立数据通道。
[0123]
实施例中,建立在分流组件中的数据通道可以对进入其中的数据流进行暂时性地存储,当实时数据库从分流集群中拉取数据时,数据通道中的数据进入到实时数据库。当数据通道中的数据进入到实时数据库后,数据通道中的相应数据将会被删除。
[0124]
可以理解的是,实施例中的n个数据通道与在实时同步组件和分流集群之间建立的n个连接一一对应。n个数据通道以及具体来说是新增数据在分流集群中的特定的分流组件中建立的n个数据分组。
[0125]
上述实施例中,通过实时同步组件和分流集群之间的交互,在实时同步组件和m个
分流组件之间建立n个数据连接。实时同步组件通过n个数据连接与建立在m个分流组件中的n个数据通道分别连接。在n个数据连接的建立过程中,结合分流集群中的各个分流组件本身的资源情况来确定能够建立数据通道的分流组件,从而保证所选择的m个分流组件有充分的资源可以快速处理n个数据流,进而确保新增数据可以快速同步至分流集群中。
[0126]
可选的,第一同步子任务信息还包括标识信息,分流集群在m个分流组件中建立n个数据通道时,对n个数据通道进行命名,n个数据通道名称均包括标识信息。数据同步方法还包括:
[0127]
步骤s204、实时数据库获取第二同步子任务信息,第二同步子任务信息包括标识信息。
[0128]
实施例中,第二同步子任务信息为实时数据库对第二同步子任务指令进行解析得到的。第二同步子任务指令为实时数据库从外界接收的,并且第二同步子任务指令和第一同步子任务指令属于同一个同步任务指令的两个子指令,即第二同步子任务指令和第一同步子任务指令的对应于同一个同步任务。
[0129]
具体来说,当后台客户端或者应用系统下发一个同步任务指令时,实际上下发的是两个同步子任务指令(即实施例中的第一同步子任务指令和第二同步子任务指令),其中一个同步子任务指令发送至实时同步组件,另外一个同步子任务指令发送至实时数据库。其中,接收到一个同步子任务的实时同步组件执行同步任务中从数据源获取新增数据并拆分为数据流,然后将数据流发送至分流集群的步骤;而接收到另外一个同步子任务的实时数据库执行同步任务中从分流集群中拉取拆分后的数据流的步骤。
[0130]
步骤s205、实时数据库根据标识信息,与分流集群中的名称包括标识信息的n个数据通道建立连接。
[0131]
实施例中,由于第一同步子任务信息包括标识信息,因此分流集群对n个数据通道所命名的名称中均包括了该标识信息,即分流集群给数据通道打上了标识信息的标记。而第二同步子任务信息也包括同样的标识信息,因此实时数据库只需要根据该标识信息即可从多个分流组件的所有数据通道中识别出n个数据通道并与之建立连接。后续实时数据库直接从建立连接的n个数据通道中获取对应的数据流。
[0132]
上述实施例中,通过对数据通道命名的方式对其其中的数据流打上标识信息,方便实时数据库对分流集群中的数据流进行区分。采用对数据通道打标记的方式来保证实时数据库对数据的识别,实时同步组件无需对拆分的每个数据流进行具体的标识,减少实时同步组件进行数据标识的工作量;同时实时数据库在拉取数据时仅需要对数据通道进行识别,无需对分流集群中的每个数据流进行识别,减少实时数据库进行数据流识别的工作量。
[0133]
可选的,实时数据库根据标识信息,与分流集群中的名称包括标识信息的n个数据通道建立连接的过程,具体包括以下步骤:
[0134]
(1)实时数据库将标识信息发送至分流集群。
[0135]
(2)分流集群根据标识信息对多个分流组件中的数据通道进行查询,确定名称包括标识信息的n个数据通道。
[0136]
(3)分流集群将n个数据通道的连接方式发送至实时数据库。
[0137]
(4)实时数据库根据n个数据通道的连接方式,与n个数据通道建立连接。
[0138]
上述实施例中,通过实时数据库和分流集群的交互,实现了实时数据库和n个数据
通道之间的连接,方法简单易于实现。并且在实时数据库与n个数据通道建立连接后,方便后续实时数据库从n个数据通道中获取数据流。这样n个数据流通过n个数据通道进入道实时数据库,保证了对新增数据的吞吐量,进而保证数据的实时同步存储。
[0139]
在一个实施例中,如图3所示,数据同步方法中还包括数据的同步过程。作为示例而非限定,数据同步方法中的数据同步过程具体包括:
[0140]
步骤s301、实时同步组件获取数据源中的新增数据。
[0141]
步骤s302、实时同步组件根据预设的拆分规则,对新增数据进行拆分,得到n个数据流,其中n为正整数。
[0142]
在一个实施例中,预设的拆分规则仅包括数据流的数量时,实时同步组件采用轮询的方式对新增数据进行拆分,采用轮询的方式进行拆分具体来说:实时同步组件按照获取新增数据的时间顺序,将新增数据中的第an+b条数据作为第b个数据流,其中a整数且a≥0,b为正整数且1≤b≤n。
[0143]
例如,实时同步组件将接收到的第1条数据作为第1个数据流,将接收到的第2条数据作为第2个数据流,以此类推,及将第n条数据作为第n个数据流;当接收到第n+1条数据时重新开始一个循环,将第n+1条数据作为第1个数据流,将第n+2条数据作为第2个数据流以此类推实现新增数据的分流。
[0144]
在另一个实施例中,预设的拆分规则包括数据流的数量和分流字段,分流字段的类型数目和数据流数量均为n,所分流字段的每个类型对应一个数据流;具体拆分过程包括:实时同步组件根据分流字段,确定新增数据中的各条数据所属的分流字段的类型;实时同步组件将新增数据中的各条数据,作为所属的分流字段的类型所对应的数据流。
[0145]
实施例中,分流字段指的是按照需要同步的数据文件中的一个或者多个字段,即从需要同步的数据文件中选择一个或多个字段,对获取的该数据文件中的新增数据进行分组,分组的个数即为数据流的数量。
[0146]
例如,可以按照机器人上报的新增数据中的任务类型字段(任务类型有多种),实时同步组件根据接收到的数据的“任务类型”字段的具体内容,对接收到的数据进行分流。例如:a类型任务的数据为第1个数据流,b类型任务分到第2个数据流,以此类推,h类型任务为第n个数据流。
[0147]
可选的,分流字段为新增数据中的数据所属的机器人信息,通过将机器人信息作为分流字段,可以将属于同一个机器人的所有新增数据分流到同一个数据通道中。例如,其中的机器人信息可以为机器人mac地址(media access control address,媒体存取控制位址)信息。
[0148]
步骤s303、实时同步组件将n个数据流分别发送至分流集群中的m个分流组件,其中m为正整数。
[0149]
实施例中,其中m为n个数据通道所在的分流组件的个数,m可以根据实际情况来确定。例如:当需要同步的数据文件的数据量在系统当前已有的分流组件的处理能力范围内时,可以采用系统中已有的分流组件来设置数据通道;当需要同步的数据文件的数据量超出当前已有的分流组件的处理能力时,也可以增设新的分流组件服务器,采用更多的分流组件来设置数据通道。
[0150]
可选的,m≤n,且n个数据通道在m个分流组件中分散分配。其中分散分配使得n个
数据通道可以更好地并行处理数据,m个分流组件的资源可以得到充分的利用。
[0151]
例如,如果分流集群中总共有5个分流组件,而m为5,n为10,那么在每个分流组件上建立2个数据通道;如果分流集群中总共有20个分流组件,而n为10,此时可以从20个分流组件中选出10个分流组件,此时m就为10,即在每个分流组件上建立1个数据通道。
[0152]
步骤s304、实时数据库从m个分流组件获取n个数据流并存储。
[0153]
上述实施例中,数据管理系统中设置有实时同步组件和包括多个分流组件的分流集群,实时同步组件获取数据源中的新增数据,将新增数据拆分成n个数据流并发送至m个分流组件,实时数据库从m个分流组件中获取n个数据流并存储。将新增数据进行拆分,并将拆分后的数据流分别发送到m个分流组件中,实现新增数据的分流和并行发送处理,加快了实时同步组件和实时数据库中的数据流转速度,实现机器人数据的高吞吐,从而实现了机器人数据的快速实时同步存储。
[0154]
在一个实施例中,数据同步方法还包括计算任务的处理过程,计算任务处理过程主要由实时数据库完成,具体包括以下步骤:实时数据库接收应用系统发送的计算任务指令;实时数据库根据计算任务指令获取计算任务信息;实时数据库根据计算任务信息获取所需的数据并进行计算,获得计算任务信息对应的计算结果;实时数据库将计算结果发送至应用系统。
[0155]
上述实施例中,实时数据库除了用于对数据进行同步存储之外,还用于对接应用系统,接收应用系统下发的计算任务指令并完成具体的数据计算,将计算结果反馈给应用系统。应用系统无需进行实际的数据处理即可完成计算任务指令,从而降低了应用系统的数据处理压力。
[0156]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0157]
对应于上文实施例所述的数据同步方法中实时同步组件所执行的步骤,图4示出了本技术实施例提供的数据同步装置的结构框图,为了便于说明,仅示出了与本技术实施例相关的部分。
[0158]
参照图4,数据同步装置400包括:
[0159]
获取单元401,用于获取数据源中的新增数据;
[0160]
拆分单元402,用于根据预设的拆分规则,对新增数据进行拆分,得到n个数据流,其中n为正整数;
[0161]
发送单元403,用于将n个数据流分别发送至分流集群中的m个分流组件,其中m为正整数;以使实时数据库从m个分流组件中获取n个数据流并存储。
[0162]
可选的,数据同步装置400还包括连接单元;在获取单元401在用于获取数据源中的新增数据之前:
[0163]
获取单元401,还用于获取第一同步子任务信息,其中第一同步子任务信息包括数据源的连接信息。
[0164]
连接单元,用于根据数据源的连接信息与数据源建立连接。
[0165]
可选的,数据同步装置400还包括数据连接建立单元;在获取单元401用于获取数据源中的新增数据之前:
[0166]
数据连接建立单元,用于根据拆分规则,与m个分流组件之间建立n个数据连接,每个数据连接与一个数据流对应。
[0167]
发送单元403在用于将n个数据流分别发送至分流集群中的m个分流组件时,具体包括:发送单元403通过n个数据连接将n个数据流分别发送至分流集群中的m个分流组件。
[0168]
可选的,数据连接建立单元,用于根据拆分规则,与m个分流组件之间建立n个数据连接,具体包括:
[0169]
将拆分规则发送至分流集群,以使分流集群根据拆分规则和各个分流组件的任务信息,从分流集群中确定m个分流组件,并在m个分流组件中建立n个数据通道;
[0170]
接收分流集群发送的m个分流组件的地址信息;
[0171]
根据地址信息与m个分流组件中的n个数据通道分别建立连接。
[0172]
对应于上文实施例所述的数据同步方法中分流组件所执行的步骤,图5示出了本技术实施例提供的数据同步装置的结构框图,为了便于说明,仅示出了与本技术实施例相关的部分。
[0173]
如图5所示,数据同步装置500包括:接收单元501和数据输出单元502,其中:
[0174]
接收单元501,用于接收实时同步组件分别发送的n个数据流,其中n个数据流是由实时同步组件获取数据源中的新增数据,并根据预设的拆分规则,对新增数据进行拆分得到的,其中n为正整数;
[0175]
数据输出单元502,用于使得实时数据库获取m个分流组件中的n个数据流并存储。
[0176]
可选的,数据同步装置500还包括数据连接建立单元503;
[0177]
数据连接建立单元503,用于根据拆分规则与实时同步组件之间建立n个数据连接,每个述数据连接与一个数据流对应;
[0178]
接收单元501在用于接收实时同步组件分别发送的n个数据流时,具体包括:接收单元501接收实时同步组件通过n个数据连接分别发送的n个数据流。
[0179]
可选的,数据连接建立单元503在用于根据拆分规则与实时同步组件之间建立n个数据连接时,具体包括:
[0180]
接收实时同步组件发送的拆分规则;
[0181]
根据拆分规则和各个分流组件的任务信息,从分流集群中确定m个分流组件,并在m个分流组件中建立n个数据通道;
[0182]
将m个分流组件的地址信息发送至实时同步组件,以使实时同步组件根据地址信息与m个分流组件中的n个数据通道分别建立连接。
[0183]
可选的,数据同步装置500还包括连接建立单元,其中:
[0184]
数据连接建立单元503在用于在m个分流组件中建立n个数据通道时,还根据标识信息对n个数据通道进行命名,以使n个数据通道的名称包括标识信息;
[0185]
连接建立单元,用于将分流集群中的名称包括标识信息的n个数据通道与实时同步组件之间建立连接,其中实时数据库通过获取第二同步子任务信息来获取第二同步子任务信息中标识信息。
[0186]
可选的,连接建立单元,在用于将分流集群中的名称包括标识信息的n个数据通道与实时同步组件之间建立连接时,具体包括:
[0187]
接收实时数据库发送的标识信息;
[0188]
根据标识信息对多个分流组件中的数据通道进行查询,确定名称包括标识信息的n个数据通道;
[0189]
将n个数据通道的连接方式发送至实时数据库,以使实时数据库根据n个数据通道的连接方式,与n个数据通道建立连接。
[0190]
对应于上文实施例所述的数据同步方法中实时数据库所执行的步骤,图6示出了本技术实施例提供的数据同步装置的结构框图,为了便于说明,仅示出了与本技术实施例相关的部分。
[0191]
如图6所示,数据同步装置600包括:获取单元601,
[0192]
获取单元601,用于从m个分流组件中获取n个数据流并存储,其中m个分流组件中的n个数据流,由实时同步组件对获取的数据源中的新增数据根据预设的拆分规则拆分得到,并且分别发送至分流集群中的m个分流组件,其中n和m为正整数。
[0193]
可选的,数据同步装置600还包括数据通道连接单元602,在获取单元601用于从分流集群中获取n个数据流并存储之前,
[0194]
获取单元601,还用于获取第二同步子任务信息,第二同步子任务信息包括标识信息;
[0195]
数据通道连接单元602,用于根据标识信息,与分流集群中的名称包括标识信息的n个数据通道建立连接。
[0196]
可选的,数据通道连接单元602用于根据标识信息,与分流集群中的名称包括标识信息的n个数据通道建立连接,具体包括:
[0197]
将标识信息发送至分流集群,以使分流集群根据标识信息对多个分流组件中的数据通道进行查询,确定名称包括标识信息的n个数据通道;
[0198]
接收分流集群发送的n个数据通道的连接方式;
[0199]
根据n个数据通道的连接方式,与n个数据通道建立连接。
[0200]
可选的,数据同步装置600包括:接收单元、任务信息获取单元、计算单元、发送单元,其中:
[0201]
接收单元,用于接收应用系统发送的计算任务指令;
[0202]
任务信息获取单元,用于根据计算任务指令获取计算任务信息;
[0203]
计算单元,用于根据计算任务信息获取所需的数据并进行计算,获得计算任务信息对应的计算结果;
[0204]
发送单元,用于将计算结果发送至应用系统。
[0205]
对应于上文实施例所述的数据同步方法中同步装置所执行的步骤,图7示出了本技术实施例提供的同步装置的结构框图,为了便于说明,仅示出了与本技术实施例相关的部分。
[0206]
如图7所示,同步装置700包括:获取单元701、拆分单元702、发送单元703;其中:
[0207]
获取单元701,用于获取数据源中的新增数据;
[0208]
拆分单元702,用于基于预设拆分规则对新增数据进行拆分,得到n个数据流,其中n为正整数;
[0209]
发送单元703,用于将n个数据流分为m份并发送给实时数据库,以使得实时数据库进行存储,其中m为正整数。
[0210]
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本技术方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
[0211]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0212]
基于同一发明构思,本技术一实施例还提供了一种数据同步设备。如图8所示,该实施例的数据同步设备800包括:处理器801、存储器802以及存储在存储器802中并可在处理器801上运行的计算机程序804。计算机程序804可被处理器801运行,生成指令803,处理器801可根据指令803实现上述各个设备智能化方法实施例中的步骤。或者,处理器801执行计算机程序804时实现上述各装置实施例中各模块/单元的功能。
[0213]
示例性的,计算机程序804可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器802中,并由处理器801执行,以完成本技术。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序804在数据同步设备800中的执行过程。
[0214]
处理器801可以是中央处理单元(central processing unit,cpu),还可以是其它通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0215]
存储器802可以是数据同步设备800的内部存储单元,例如数据同步设备800的硬盘或内存。存储器802也可以是数据同步设备800的外部存储设备,例如数据同步设备800上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,存储器802还可以既包括数据同步设备800的内部存储单元也包括外部存储设备。存储器802用于存储计算机程序以及数据同步设备800所需的其它程序和数据。存储器802还可以用于暂时地存储已经输出或者将要输出的数据。
[0216]
本技术实施例还提供了一种服务器,所述服务器被配置为执行上述各个方法实施例中的实时同步组件所执行的步骤、分流集群中的分流组件所执行的步骤或者实时数据库中的服务器所执行的步骤,或者同步装置所执行的步骤。
[0217]
本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述各个方法实施例中的实时同步组件所执行的步骤、分流集群中的分流组件所执行的步骤或者实时数据库中的服务器所执行的步骤,或者同步装置所执行的步骤。
[0218]
本技术实施例提供了一种计算机程序产品,当计算机程序产品在服务器上运行时,使得服务器执行时可实现上述各个方法实施例中的实时同步组件所执行的步骤、分流集群中的分流组件所执行的步骤或者实时数据库中的服务器所执行的步骤,或者同步装置所执行的步骤。
[0219]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到装置/服务器的任何实体或装置、记录介质、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质。例如u盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
[0220]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0221]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0222]
在本技术所提供的实施例中,应该理解到,所揭露的装置/设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0223]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0224]
以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
技术特征:1.一种数据同步方法,其特征在于,应用于数据管理系统,所述数据管理系统包括同步装置和实时数据库,所述同步装置包括实时同步组件和分流集群,所述分流集群包括多个分流组件;所述方法包括:所述实时同步组件获取数据源中的新增数据;所述实时同步组件根据预设的拆分规则,对所述新增数据进行拆分,得到n个数据流,其中n为正整数;所述实时同步组件将所述n个数据流分别发送至所述分流集群中的m个所述分流组件,其中m为正整数;所述实时数据库从m个分流组件获取所述n个数据流并存储。2.如权利要求1所述的方法,其特征在于,在所述实时同步组件获取数据源中的新增数据之前,所述方法包括:所述实时同步组件获取第一同步子任务信息,其中所述第一同步子任务信息包括所述数据源的连接信息;所述实时同步组件根据所述数据源的连接信息与所述数据源建立连接。3.如权利要求2所述的方法,其特征在于,所述第一同步子任务信息包括所述拆分规则;在所述实时同步组件获取数据源中的新增数据之前,所述方法还包括:所述实时同步组件根据所述拆分规则,与所述m个分流组件之间建立n个数据连接,每个所述数据连接与一个所述数据流对应;所述实时同步组件将所述n个数据流分别发送至所述分流集群中的m个所述分流组件,包括:所述实时同步组件通过所述n个数据连接将所述n个数据流分别发送至所述分流集群中的所述m个分流组件。4.如权利要求3所述的方法,其特征在于,所述实时同步组件根据所述拆分规则,与所述m个分流组件之间建立n个数据连接,包括:所述实时同步组件将所述拆分规则发送至所述分流集群;所述分流集群根据所述拆分规则和各个所述分流组件的任务信息,从所述分流集群中确定所述m个分流组件,并在所述m个分流组件中建立n个数据通道;所述分流集群将所述m个分流组件的地址信息发送至所述实时同步组件;所述实时同步组件根据所述地址信息与所述m个分流组件中的所述n个数据通道分别建立连接。5.如权利要求4所述的方法,其特征在于,所述第一同步子任务信息还包括标识信息;所述分流集群在所述m个分流组件中建立n个数据通道时,根据所述标识信息对所述n个数据通道进行命名,以使所述n个数据通道的名称包括所述标识信息;在所述实时同步组件获取数据源中的新增数据之前,所述方法还包括:所述实时数据库获取第二同步子任务信息,所述第二同步子任务信息包括所述标识信息;所述实时数据库根据所述标识信息,与所述分流集群中的名称包括所述标识信息的所述n个数据通道建立连接。
6.如权利要求5所述的方法,其特征在于,所述实时数据库根据所述标识信息,与所述分流集群中的名称包括所述标识信息的所述n个数据通道建立连接,包括:所述实时数据库将所述标识信息发送至所述分流集群;所述分流集群根据所述标识信息对多个所述分流组件中的数据通道进行查询,确定名称包括所述标识信息的所述n个数据通道;所述分流集群将所述n个数据通道的连接方式发送至所述实时数据库;所述实时数据库根据所述n个数据通道的连接方式,与所述n个数据通道建立连接。7.如权利要求4所述的方法,其特征在于,所述拆分规则包括需要拆分的数据流数量,所述数据流数量为n;所述实时同步组件根据预设的拆分规则,对所述新增数据进行拆分,得到n个数据流,包括:所述实时同步组件按照获取所述新增数据的时间顺序,将所述新增数据中的第an+b条数据作为第b个数据流,其中a整数且a≥0,b为正整数且1≤b≤n。8.如权利要求4所述的方法,其特征在于,所述拆分规则包括分流字段和需要拆分的数据流数量,所述分流字段的类型数目和所述数据流数量均为n,所分流字段的每个类型对应一个所述数据流;所述实时同步组件根据预设的拆分规则,对所述新增数据进行拆分,得到n个数据流,包括:所述实时同步组件根据所述分流字段,确定所述新增数据中的各条数据所属的所述分流字段的类型;所述实时同步组件将所述新增数据中的各条数据,作为所属的所述分流字段的类型所对应的数据流。9.如权利要求8所述的方法,其特征在于,所述分流字段为所述新增数据中的数据所属的机器人信息。10.如权利要求1至9任一项所述的方法,其特征在于,所述方法还包括:所述实时数据库接收应用系统发送的计算任务指令;所述实时数据库根据计算任务指令获取计算任务信息;所述实时数据库根据所述计算任务信息获取所需的数据并进行计算,获得所述计算任务信息对应的计算结果;所述实时数据库将所述计算结果发送至所述应用系统。11.一种数据同步方法,其特征在于,应于数据管理系统,所述数据管理系统包括实时数据库,所述方法包括:获取数据源中的新增数据;基于预设拆分规则对所述新增数据进行拆分,得到n个数据流,其中n为正整数;将所述n个数据流分为m份并发送给所述实时数据库,以使得所述实时数据库进行存储,其中m为正整数。12.一种服务器,其特征在于,所述服务器被配置为执行权利要求1至11任一项所述的方法中所述实时同步组件所执行的步骤、所述分流集群中的分流组件所执行的步骤或者所述实时数据库中的服务器所执行的步骤,或者执行权利要求11中所述的方法中的步骤。
13.一种数据管理系统,其特征在于,包括实时同步组件、分流集群和实时数据库,所述分流集群包括多个分流组件;其中:所述实时同步组件用于获取数据源中的新增数据;所述实时同步组件用于根据预设的拆分规则,对所述新增数据进行拆分,得到n个数据流,其中n为正整数;所述实时同步组件用于将所述n个数据流分别发送至所述分流集群中的m个所述分流组件,其中m为正整数;所述实时数据库用于从m个分流组件获取所述n个数据流并存储。14.一种同步装置,其特征在于,包括获取单元、拆分单元和发送单元;其中:获取单元,用于获取数据源中的新增数据;拆分单元,用于基于预设拆分规则对所述新增数据进行拆分,得到n个数据流,其中n为正整数;发送单元,用于将所述n个数据流分为m份并发送给实时数据库,以使得所述实时数据库进行存储,其中m为正整数。15.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至10任一项所述的方法中所述实时同步组件所执行的步骤、所述分流集群中的分流组件所执行的步骤或者所述实时数据库中的服务器所执行的步骤,或者实现如权利要求11中所述的方法中的步骤。
技术总结本申请适用于计算机技术领域,提供了一种数据同步方法及装置,所述方法应用于数据管理系统,数据管理系统包括同步装置和实时数据库,同步装置包括实时同步组件和分流集群,分流集群包括多个分流组件;所述方法包括:实时同步组件获取数据源中的新增数据;实时同步组件根据预设的拆分规则,对新增数据进行拆分,得到N个数据流,其中N为正整数;实时同步组件将N个数据流分别发送至分流集群中的M个分流组件,其中M为正整数;实时数据库从M个分流组件获取N个数据流并存储。上述方法通过对新增数据进行拆分和并行发送可以加速实时同步装置和实时数据库中的数据流转速度,实现机器人数据的高吞吐,进而实现机器人数据的快速实时同步存储。同步存储。同步存储。
技术研发人员:曾庆勇
受保护的技术使用者:深圳市普渡科技有限公司
技术研发日:2022.06.22
技术公布日:2022/11/1