1.本发明涉及数据同步领域,具体涉及一种数据同步方法、系统、设备以及存储介质。
背景技术:
2.在大数据领域,开源大数据解决方案还不能很好的解决集群内和集群间的数据同步问题,没有实现关系型数据库(mysql、oracle等)、nosql数据存储(redis、mongodb、hbase等)、无结构化数据存储(hdfs、node(服务器之间)等)、时间序列数据库(tsdb、opentsdb等)、消息系统(kafka)、数据仓库(hive)等两两服务之间借助大数据同步平台进行的数据同步。在大数据服务广泛使用的过程中,在数据采集,数据容灾备份、数据迁移等场景中,数据同步显得尤为重要,但是目前数据迁移还是具体场景具体写代码进行完成,没有一个独立的,完整的,兼容多个场景的解决方案。因此一个统一的,解决数据同步混乱场景的大数据同步平台,统一处理数据同步装置是目前亟待解决的问题。
技术实现要素:
3.有鉴于此,为了克服上述问题的至少一个方面,本发明实施例提出一种数据同步方法,包括以下步骤:
4.对每一个存储服务对应的插件的参数进行配置并根据配置后的参数将每一个插件安装在对应的存储服务中;
5.利用源存储服务中的插件接收第一数据同步请求并判断所述第一数据同步请求中携带的第一用户是否具备对应的读权限;
6.响应于所述第一用户具备对应的读权限,读取待同步数据并利用所述源存储服务中的插件将所述待同步数据发送到管理平台;
7.利用目的存储服务中的插件接收第二数据同步请求并判断所述第二数据同步请求中携带的第二用户是否具备对应的写权限;
8.响应于所述第二用户具备对应的写权限,利用目的存储服务中的插件将所述待同步数据写入到所述目的存储服务中。
9.在一些实施例中,对每一个存储服务对应的插件的参数进行配置并根据配置后的参数将每一个插件安装在对应的存储服务中,进一步包括:
10.对每一个存储服务对应的插件的安装位置信息、链接信息、元数据存储位置信息以及用户同步参数进行配置。
11.在一些实施例中,还包括:
12.根据每一个插件配置的用户同步参数将对应的存储服务中若干个用户的信息同步到所述管理平台中的用户管理中心;
13.将每一个存储服务中的数据资源信息同步到所述管理平台中的资源管理中心。
14.在一些实施例中,还包括:
15.通过所述用户管理中心创建新用户并根据对所述新用户配置的归属参数利用对应插件将所述新用户同步到对应的存储服务中。
16.在一些实施例中,还包括:
17.利用所述管理平台中的权限管理中心根据所述资源管理中心中每一个存储服务的数据资源为所述用户管理中心的用户进行数据资源分配以及读写权限分配;
18.利用对应的插件将所述权限管理中心为所述新用户分配的读写权限同步到对应的存储服务中。
19.在一些实施例中,还包括:
20.将数据同步过程中生成的元数据保存到预先配置的元数据存储位置。
21.在一些实施例中,还包括:
22.利用所述管理平台的任务管理中心查看数据同步任务的运行状态。
23.基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种数据同步系统,包括:
24.配置模块,配置为对每一个存储服务对应的插件的参数进行配置并根据配置后的参数将每一个插件安装在对应的存储服务中;
25.第一判断模块,配置为利用源存储服务中的插件接收第一数据同步请求并判断所述第一数据同步请求中携带的第一用户是否具备对应的读权限;
26.发送模块,配置为响应于所述第一用户具备对应的读权限,读取待同步数据并利用所述源存储服务中的插件将所述待同步数据发送到管理平台;
27.第二判断模块,配置为利用目的存储服务中的插件接收第二数据同步请求并判断所述第二数据同步请求中携带的第二用户是否具备对应的写权限;
28.写入模块,配置为响应于所述第二用户具备对应的写权限,利用目的存储服务中的插件将所述待同步数据写入到所述目的存储服务中。
29.基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种计算机设备,包括:
30.至少一个处理器;以及
31.存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行如上所述的任一种数据同步方法的步骤。
32.基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时执行如上所述的任一种数据同步方法的步骤。
33.本发明具有以下有益技术效果之一:本发明提出的方案借助大数据同步平台中间服务,实现两两服务之间数据的同步(包括数据采集、数据容灾备份、数据迁移等操作),用户只需要在大数据同步平台上填写数据源与目的服务关系即可,大数据平台完成用户认证、数据拉取、数据映射、数据写入等过程,降低了数据同步过程中重复工作,解放工程师双手,大大降低了用户使用门槛,提高工作效率。
附图说明
34.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
35.图1为本发明的实施例提供的数据同步方法的流程示意图;
36.图2为本发明的实施例提供的用户管理中心的结构示意图;
37.图3为本发明的实施例提供的资源管理中心的结构示意图;
38.图4为本发明的实施例提供的权限管理中心的结构示意图;
39.图5为本发明的实施例提供的数据同步中心的结构示意图;
40.图6为本发明的实施例提供的任务管理中心的结构示意图;
41.图7为本发明的实施例提供的数据同步系统的结构示意图;
42.图8为本发明的实施例提供的计算机设备的结构示意图;
43.图9为本发明的实施例提供的计算机可读存储介质的结构示意图。
具体实施方式
44.为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
45.需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
46.根据本发明的一个方面,本发明的实施例提出一种数据同步方法,如图1所示,其可以包括步骤:
47.s1,对每一个存储服务对应的插件的参数进行配置并根据配置后的参数将每一个插件安装在对应的存储服务中;
48.s2,利用源存储服务中的插件接收第一数据同步请求并判断所述第一数据同步请求中携带的第一用户是否具备对应的读权限;
49.s3,响应于所述第一用户具备对应的读权限,读取待同步数据并利用所述源存储服务中的插件将所述待同步数据发送到管理平台;
50.s4,利用目的存储服务中的插件接收第二数据同步请求并判断所述第二数据同步请求中携带的第二用户是否具备对应的写权限;
51.s5,响应于所述第二用户具备对应的写权限,利用目的存储服务中的插件将所述待同步数据写入到所述目的存储服务中。
52.本发明提出的方案解决了数据采集,数据迁移带来的复杂过程,直接在可视化页面就可以完成数据采集和数据迁移等数据同步操作。
53.在一些实施例中,步骤s1,对每一个存储服务对应的插件的参数进行配置并根据配置后的参数将每一个插件安装在对应的存储服务中,进一步包括:
54.对每一个存储服务对应的插件的安装位置信息、链接信息、元数据存储位置信息以及用户同步参数进行配置。
55.具体的,管理平台具有可视化web ui页面,管理员用户可登录该ui页面,然后通过配置装置对插件安装位置、插件连接信息、元数据存储库、用户数据等进行配置。
56.以大数据集群hdp2的大数据组件hdfs为例,说明以上参数概念。
57.其中,通过配置插件安装位置参数可以配置大数据集群hdp2的hdfs组件的插件在集群中的安装位置,例如可以将插件安装在hdfs的namenode和datanode的所有节点;
58.通过配置插件链接信息参数可以配置大数据组件hdfs的插件在hdp2集群连接信息,例如hdfs://manager.hdp2:9000;
59.通过配置元数据存储位置信息可以配置大数据集群hdp2在数据同步过程中生成的元数据在管理平台上的存储位置,例如,可以配置为database name:hdp2;database username:hdp2;database password:hdp2;jdbc:jdbc:mysql://manager.hdp2:3306/hdp2;
60.通过配置用户数据配置可以配置在初始化过程中将集群中的哪些用户同步到管理平台的用户管理中心,配置装置只需配置一次,会根据此配置同步大数据集群节点中的用户数据,配置项参数可以修改,例如可以通过sync source:linux;minimum user id:500;password file:/etc/passwd;group file:/etc/group,同步500个用户数据。
61.这样,当插件装置根据在配置装置配置的安装参数被安装在存储服务(例如大数据组件的相关节点)后,用户在后续进行数据同步时,插件所在的节点承担数据同步任务的运行,并且插件还承担对其用户的数据同步请求操作权限进行判定;如果有权限任务继续执行,如果该用户没有权限,则抛出异常,提示该用户在该数据同步过程中哪个环节没有什么权限,同时插件装置还担任集群用户与平台页面创建用户的双向同步通道。
62.在一些实施例中,可以在web ui页面中进行插件的配置创建、查看、启停、修改、删除等操作,同时查看同步的集群资源。
63.在一些实施例中,还包括初始化过程:
64.根据每一个插件配置的用户同步参数将对应的存储服务中若干个用户的信息同步到所述管理平台中的用户管理中心;
65.将每一个存储服务中的数据资源信息同步到所述管理平台中的资源管理中心。
66.具体的,初始化装置则会在集群部署好之后,自动把集群资源同步到管理平台的资源管理中心以及将集群中的用户同步到管理平台的用书管理中心,同时也会执行冒烟用户测试,测试其正确性。
67.在一些实施例中,还包括:
68.通过所述用户管理中心创建新用户并根据对所述新用户配置的归属参数利用对应插件将所述新用户同步到对应的存储服务中。
69.具体的,如图2所示,作为用户管理中心,可以创建、管理(增、删、改、查、启用、禁用)用户,同步集群用户按钮,可以单向把集群的用户同步到用户管理中心。如果在用户管理中心平台创建用户,则归属选项设置时,可以把创建的该用户单向同步到所归属的集群。
70.需要说明的是,在用户管理中心创建用户后,需要通过插件在相应的存储服务中创建同样的用户,在在用户管理中心删除新创建的用户后,需要通过插件在相应的存储服务中同样删除新创建的用户。
71.在一些实施例中,还包括:
72.利用所述管理平台中的权限管理中心根据所述资源管理中心中每一个存储服务的数据资源为所述用户管理中心的用户进行数据资源分配以及读写权限分配;
73.利用对应的插件将所述权限管理中心为所述新用户分配的读写权限同步到对应的存储服务中。
74.具体的,如图3所示,作为资源管理中心,可以查看在初始后同步过来的每一个大数据集群(例如hdp1、hdp2、cdh1等)的资源,即每一个大数据集群包括的大数据组件,每一个大数据组件中的资源的大小、文件数、权限等属性。如图4所示,作为权限管理中心,可以创建、管理(增、删、改、查)用户权限,以及给用户分配服务资源和权限。管理员可以在权限管理中心将资源分配给用户并指定权限。以mysql为例:在hdp1集群中,设定用户laowang对mysql中project1库所有表(资源)有可读可写可执行权限,并且是递归操作,这样可以在权限管理中心设定为:|hdp1_mysql|project1|laowang|pro1|rwx|yes|allow|
…
;在用户laowang访问project1库中资源时,才有权限。
75.在一些实施例中,如图5所示,用户可以在数据同步中心的页面上提交数据同步任务,从而进行步骤s2-s5的数据同步过程,需要说明的是,源存储服务和目的存储服务可以是同一个集群中的不同大数据组件,也可以是不同集群中的不同大数据组件,还可以是同一个数据组件中不同级别的存储(例如mysql中的不同级别的数据库)。第一用户和第二用户可以是同一个用户,也可以是不同的用户。从而实现了集群内、集群间、大数据组件内以及大数据组件间等两两存储服务之间借助大数据同步平台进行的数据同步。
76.在一些实施例中,还包括:
77.将数据同步过程中生成的元数据保存到预先配置的元数据存储位置。
78.具体的,可以设置存储装置,以用于保存元数据信息,集群资源信息,用户信息,用户权限信息,操作日志等信息,并用来存储设定的权限条件,由权限装置设定的权限条件统统保留到存储装置;以及保存一些创建的或者同步的用户数据、审计日志、登录信息等元数据。在权限管理中心设定的权限列表,保存在存储装置。每次权限装置进行用户数据同步访问判定时,都会从存储装置中获取权限列表,与其用户数据同步访问条件进行对比,判定该用户是否有权限进行数据资源同步操作。
79.在一些实施例中,还包括:
80.利用所述管理平台的任务管理中心查看数据同步任务的运行状态。
81.具体的,如图6所示,作为任务管理中心,用户可以查看提交的数据同步任务运行状态,及日志查看。更加方便用户操作,简化操作流程。
82.本发明提出的方案通过登录可视化webui页面,进行插件的配置管理,查看集群资源同步,创建、同步集群用户,给用户分配集群资源权限,执行数据同步任务及日志查看。由配置装置进行对插件安装位置、插件连接信息、元数据存储库、用户数据等进行配置等操作。插件装置被安装在大数据组件的相关节点,用户进行数据同步时,插件所在的节点承担数据同步任务的运行,并且插件还承担对其用户的数据同步请求操作权限进行判定;如果有权限则任务继续执行,如果没有权限则抛出异常,提示该用户在该数据同步过程中哪个环节没有什么权限,同时插件装置还担任服务器用户与平台页面创建用户的双向同步通道。初始化装置则会在集群部署好之后,自动把集群资源及用户与平台完成同步,同时也会执行冒烟用户测试,测试平台正确性。资源管理装置,则根据配置的集群资源管理平台上所有的资源。权限管理装置,则管理在页面上对不同用户分配的对某种资源的权限。存储装置保存元数据信息,集群资源信息,用户信息,用户权限信息,操作日志等信息。大数据平台完
成用户认证、数据拉取、数据映射、数据写入等过程,降低了数据同步过程中重复工作,解放工程师双手,大大降低了用户使用门槛,提高工作效率。
83.本发明提出的方案借助大数据同步平台中间服务,实现两两服务之间数据的同步(包括数据采集、数据容灾备份、数据迁移等操作),用户只需要在大数据同步平台上填写数据源与目的服务关系即可,大数据平台完成用户认证、数据拉取、数据映射、数据写入等过程,降低了数据同步过程中重复工作,解放工程师双手,大大降低了用户使用门槛,提高工作效率。
84.基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种数据同步系统400,如图7所示,包括:
85.配置模块401,配置为对每一个存储服务对应的插件的参数进行配置并根据配置后的参数将每一个插件安装在对应的存储服务中;
86.第一判断模块402,配置为利用源存储服务中的插件接收第一数据同步请求并判断所述第一数据同步请求中携带的第一用户是否具备对应的读权限;
87.发送模块403,配置为响应于所述第一用户具备对应的读权限,读取待同步数据并利用所述源存储服务中的插件将所述待同步数据发送到管理平台;
88.第二判断模块404,配置为利用目的存储服务中的插件接收第二数据同步请求并判断所述第二数据同步请求中携带的第二用户是否具备对应的写权限;
89.写入模块405,配置为响应于所述第二用户具备对应的写权限,利用目的存储服务中的插件将所述待同步数据写入到所述目的存储服务中。
90.在一些实施例中,配置模块401还配置为:
91.对每一个存储服务对应的插件的安装位置信息、链接信息、元数据存储位置信息以及用户同步参数进行配置。
92.在一些实施例中,还包括初始化模块,配置为:
93.根据每一个插件配置的用户同步参数将对应的存储服务中若干个用户的信息同步到所述管理平台中的用户管理中心;
94.将每一个存储服务中的数据资源信息同步到所述管理平台中的资源管理中心。
95.在一些实施例中,还包括用户模块配置为:
96.通过所述用户管理中心创建新用户并根据对所述新用户配置的归属参数利用对应插件将所述新用户同步到对应的存储服务中。
97.在一些实施例中,还包括权限模块,配置为:
98.利用所述管理平台中的权限管理中心根据所述资源管理中心中每一个存储服务的数据资源为所述用户管理中心的用户进行数据资源分配以及读写权限分配;
99.利用对应的插件将所述权限管理中心为所述新用户分配的读写权限同步到对应的存储服务中。
100.在一些实施例中,还包括保存模块,配置为:
101.将数据同步过程中生成的元数据保存到预先配置的元数据存储位置。
102.在一些实施例中,还包括查看模块,配置为:
103.利用所述管理平台的任务管理中心查看数据同步任务的运行状态。
104.本发明提出的方案借助大数据同步平台中间服务,实现两两服务之间数据的同步
(包括数据采集、数据容灾备份、数据迁移等操作),用户只需要在大数据同步平台上填写数据源与目的服务关系即可,大数据平台完成用户认证、数据拉取、数据映射、数据写入等过程,降低了数据同步过程中重复工作,解放工程师双手,大大降低了用户使用门槛,提高工作效率。
105.基于同一发明构思,根据本发明的另一个方面,如图8所示,本发明的实施例还提供了一种计算机设备501,包括:
106.至少一个处理器520;以及
107.存储器510,存储器510存储有可在处理器上运行的计算机程序511,处理器520执行程序时执行如上的任一种数据同步方法的步骤。
108.基于同一发明构思,根据本发明的另一个方面,如图9所示,本发明的实施例还提供了一种计算机可读存储介质601,计算机可读存储介质601存储有计算机程序指令610,计算机程序指令610被处理器执行时执行如上的任一种数据同步方法的步骤。
109.最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。
110.此外,应该明白的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。
111.本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
112.以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
113.应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
114.上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
115.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
116.所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实
施例的保护范围之内。
技术特征:
1.一种数据同步方法,其特征在于,包括以下步骤:对每一个存储服务对应的插件的参数进行配置并根据配置后的参数将每一个插件安装在对应的存储服务中;利用源存储服务中的插件接收第一数据同步请求并判断所述第一数据同步请求中携带的第一用户是否具备对应的读权限;响应于所述第一用户具备对应的读权限,读取待同步数据并利用所述源存储服务中的插件将所述待同步数据发送到管理平台;利用目的存储服务中的插件接收第二数据同步请求并判断所述第二数据同步请求中携带的第二用户是否具备对应的写权限;响应于所述第二用户具备对应的写权限,利用目的存储服务中的插件将所述待同步数据写入到所述目的存储服务中。2.如权利要求1所述的方法,其特征在于,对每一个存储服务对应的插件的参数进行配置并根据配置后的参数将每一个插件安装在对应的存储服务中,进一步包括:对每一个存储服务对应的插件的安装位置信息、链接信息、元数据存储位置信息以及用户同步参数进行配置。3.如权利要求2所述的方法,其特征在于,还包括:根据每一个插件配置的用户同步参数将对应的存储服务中若干个用户的信息同步到所述管理平台中的用户管理中心;将每一个存储服务中的数据资源信息同步到所述管理平台中的资源管理中心。4.如权利要求3所述的方法,其特征在于,还包括:通过所述用户管理中心创建新用户并根据对所述新用户配置的归属参数利用对应插件将所述新用户同步到对应的存储服务中。5.如权利要求4所述的方法,其特征在于,还包括:利用所述管理平台中的权限管理中心根据所述资源管理中心中每一个存储服务的数据资源为所述用户管理中心的用户进行数据资源分配以及读写权限分配;利用对应的插件将所述权限管理中心为所述新用户分配的读写权限同步到对应的存储服务中。6.如权利要求2所述的方法,其特征在于,还包括:将数据同步过程中生成的元数据保存到预先配置的元数据存储位置。7.如权利要求1所述的方法,其特征在于,还包括:利用所述管理平台的任务管理中心查看数据同步任务的运行状态。8.一种数据同步系统,其特征在于,包括:配置模块,配置为对每一个存储服务对应的插件的参数进行配置并根据配置后的参数将每一个插件安装在对应的存储服务中;第一判断模块,配置为利用源存储服务中的插件接收第一数据同步请求并判断所述第一数据同步请求中携带的第一用户是否具备对应的读权限;发送模块,配置为响应于所述第一用户具备对应的读权限,读取待同步数据并利用所述源存储服务中的插件将所述待同步数据发送到管理平台;第二判断模块,配置为利用目的存储服务中的插件接收第二数据同步请求并判断所述
第二数据同步请求中携带的第二用户是否具备对应的写权限;写入模块,配置为响应于所述第二用户具备对应的写权限,利用目的存储服务中的插件将所述待同步数据写入到所述目的存储服务中。9.一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行如权利要求1-7任意一项所述的方法的步骤。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行如权利要求1-7任意一项所述的方法的步骤。
技术总结
本发明公开了一种数据同步方法,包括以下步骤:对每一个存储服务对应的插件的参数进行配置并根据配置后的参数将每一个插件安装在对应的存储服务中;利用源存储服务中的插件接收第一数据同步请求并判断第一数据同步请求中携带的第一用户是否具备对应的读权限;响应于第一用户具备对应的读权限,读取待同步数据并利用源存储服务中的插件将待同步数据发送到管理平台;利用目的存储服务中的插件接收第二数据同步请求并判断第二数据同步请求中携带的第二用户是否具备对应的写权限;响应于第二用户具备对应的写权限,利用目的存储服务中的插件将待同步数据写入到目的存储服务中。本发明还公开了一种系统、计算机设备以及可读存储介质。储介质。储介质。
技术研发人员:汤高蒙
受保护的技术使用者:苏州浪潮智能科技有限公司
技术研发日:2021.11.29
技术公布日:2022/3/8