saas系统下剥离单个集团数据的方法、装置及可读介质与流程

文档序号:27918571发布日期:2021-12-11 10:54阅读:203来源:国知局
saas系统下剥离单个集团数据的方法、装置及可读介质与流程

1.本发明涉及计算机领域,具体涉及了一种saas系统下剥离单个集团数据的方法、装置及可读介质。


背景技术:

2.目前在企业数字化转型的过程中saas承担着不可替代的作用,sass系统中存在很多个企业或者集团,当在saas实践过程中存在的比较多的有益于用户的数据之后,企业想进行私有化进行部署,进行自己管理自己的服务,这时我们需要把这个集团相关的数据从sass系统的众多集团中剥离出来,此时这种操作既具备意义。
3.以现有技术为例,人工进行手动迁移,其中包含了数据库有40多个数据,有2000多张表,耗时耗费心力,而且极其容易出问题,又极其难以排查,一端处理失败,重新再迁移一次,或者再迁移另一个集团用户,每次都会发费大量的时间处理这个问题,且员工直接操作线上的数据库也是存在风险的。


技术实现要素:

4.本发明的目的在于至少解决现有技术中存在的技术问题之一,提供了一种saas系统下剥离单个集团数据的方法、装置及可读介质,实现了便捷地及快速的进行数据剥离,确保高效率,提高了数据剥离的安全性。
5.本发明的技术方案包括一种saas系统下剥离单个集团数据的方法,其特征在于,该方法包括以下步骤:配置需要剥离的saas系统中所拉取的目标数据库信息,配置所插入的源数据库信息,以及配置目标数据库信息的关联数据库的过滤条件;根据所述来源数据库信息执行数据库的创建或匹配;根据所述过滤条件从所述源数据库获取对应的数据并执行插入。
6.根据所述的saas系统下剥离单个集团数据的方法,其中配置需要剥离的saas系统中所拉取的目标数据库信息,配置所插入的源数据库信息,以及配置目标数据库信息的关联数据库的过滤条件包括:配置所拉取数据库的账号、密码及ip地址;配置saas系统中与集团相关联的数据库表,并设置对应的所述过滤条件,所述过滤条件包括数据库id、过滤字段及过滤值;配置需要插入源数据的数据库的账号及密码,并映射所述数据库。
7.根据所述的saas系统下剥离单个集团数据的方法,其中根据所述目标数据库信息执行数据库的创建或匹配包括:检查目标数据库服务器是否存在映射的数据库,若不存在则直接创建对应的数据库;若存在,则检查源数据库的表是否存在,若不存在则进行数据库表的创建,若存在则继续检查其中字段是否匹配,若目标数据库缺少对应字段,则自动创建并添加。
8.根据所述的saas系统下剥离单个集团数据的方法,其中根据所述过滤条件从所述源数据库获取对应的数据并执行插入还包括:检查目标数据是否存在配置所述过滤条件对应的关键列信息,若存在则直接查询源数据库进行获取数据,通过获取的数据进行拼装插
入语句;若不存在配置过滤条件相关的关键列的数据,则直接导出对应的数据库表,并为不存在配置过滤条件的数据库表查找与集团数据的关联关系,并将关联关系添加至所述过滤条件中。
9.根据所述的saas系统下剥离单个集团数据的方法,其中根据所述过滤条件从所述源数据库获取对应的数据并执行插入包括:通过所述过滤条件在所述源数据库查询对应数据,根据查询的数据,创建对应的插入语句并生成插入语句列表;连接目标数据之后,批量执行语句列表中的插入语句,执行成功则会直接把数据插入到目标数据,执行失败则把插入语句保存到指定的文件,并生成对应的日志。
10.根据所述的saas系统下剥离单个集团数据的方法,其中根据所述过滤条件从所述源数据库获取对应的数据并执行插入包括:通过接口的请求及响应完成数据获取及插入。
11.根据所述的saas系统下剥离单个集团数据的方法,其中该方法还包括:集团数据的数据拉取及数据插入通过ip白名单进行权限控制。
12.根据所述的saas系统下剥离单个集团数据的方法,其中该方法还包括:根据所述过滤条件集团数据的数据拉取及数据插入失败时,创建交互界面,通过所述交互界面进行数据拉取及数据插入失败时的处理。
13.本发明的技术方案还包括一种saas系统下剥离单个集团数据的装置,该装置包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现任一所述的方法步骤。
14.本发明的技术方案还包括一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现任一所述的方法步骤。
15.本发明的有益效果为:实现了便捷地及快速的进行数据剥离,确保高效率,提高了数据剥离的安全性,减少了人力操作成本。
附图说明
16.下面结合附图和实施例对本发明进一步地说明;
17.图1所示为根据本发明实施方式的总体流程图。
18.图2所示为根据本发明实施方式的集团数据剥离流程图。
19.图3所示为根据本发明实施方式的系统框图。
20.图4所示为根据本发明方式的saas系统的拉取示意图。
21.图5所示为根据本发明实施方式的装置图。
具体实施方式
22.本部分将详细描述本发明的具体实施例,本发明之较佳实施例在附图中示出,附图的作用在于用图形补充说明书文字部分的描述,使人能够直观地、形象地理解本发明的每个技术特征和整体技术方案,但其不能理解为对本发明保护范围的限制。
23.本发明的描述中,除非另有明确的限定,设置等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
24.图1所示为根据本发明实施方式的总体流程图。其包括以下流程:
25.s100,配置需要剥离的saas系统中所拉取的目标数据库信息,配置所插入的源数
据库信息,以及配置目标数据库信息的关联数据库的过滤条件;
26.s200,根据来源数据库信息执行数据库的创建或匹配;
27.s300,根据过滤条件从源数据库获取对应的数据并执行插入。
28.图2所示为根据本发明实施方式的集团数据剥离流程图。其主主要包括以下步骤:
29.在数据剥离模块后台进行配置:
30.配置要拉取哪些数据库的账号,密码,ip等信息。
31.配置相关存在与集团相关联的数据库表:
32.过滤条件进行配置,自由编排以下条件,条件如下表1所示,
[0033][0034]
表1
[0035]
配置需要插入源数据的数据库的账号密码,以及映射哪个来源数据库。
[0036]
检查目标数据库服务器是否存在映射的数据库,若不存在则直接创建,若存在数据库则直接使用此数据库,再去检查源数据库的表是否存在,若不存在则直接进行创建,若存在则继续检查其中字段是否匹配,若目标数据库少字段,则自动添加。
[0037]
其实施方式如下代码所示:
[0038][0039]
其接口的请求及响应参考如下表2
[0040][0041]
表2
[0042]
检查目标数据是否存在配置过滤条件相关的关键列信息,若存在则直接查询源数据库进行获取数据,然后通过获取到的数据进行拼装insert插入语句。若不存在配置过滤条件相关的关键列的数据,则直接导出此表(这种表及其少数只存在少于1%),然后通过人工检查并找到集团与此表的数据的关联关系,并添加到过滤条件的配置中。实施例代码如下所示:
[0043]
(1)查询sql语句
[0044]
select*from user where ep_id=1and app_id=2
[0045]
(2)获取数据后的接口
[0046][0047]
[0048]
其接口的请求和响应内容如下表3所示,
[0049][0050]
表3
[0051]
通过过滤条件在源数据库查询到相关的数据,通过这些数据进行拼装insert语句数据库的插入语句列表。并通过连接目标数据之后,批量执行这些insert语句,执行成功则会直接把数据插入到目标数据,执行失败则把insert语句保存到指定的文件,通过日志来分析插入失败的原因,剔除其中有问题的sql语句,然后进行手工批量执行。
[0052]
通过表,列,数据拼装成一个完整的insert sql语句,实施例代码如下:
[0053]
insert into wake_member.user("user_name","ep_id","app_id")values('张三',1,2)。
[0054]
图3所示为根据本发明实施方式的系统框图。如图3所示,该实施例包括数据初始化模块、目标数据库sql生成模块、数据连接模块及目标数据sql执行模块。本实施例的系统从集团数据获取相关联的数据及数据库表执行剥离处理。其中数据初始化模块用于获取源数据库、获取目标数据、获取表结构、获取表数据;目标数据库sql生成模块用于目标数据库表的创建语句及目标数据库表的数据插入sql语句;数据连接模块用于源数据库及目标数据库的连接处理;目标数据sql执行模块用于数据库表的sql语句初始化及添加处理。
[0055]
此系统通过云上进行白名单定向访问,提高了系统的安全性。云服务器上的mysql通过ip白名单的网络控制,可以指定ip才有权限访问数据库资源,因为全程都是程序处理,不存在开发人员对数据库的数据进行操作,避免了人对数据库数据的误操作导致的数据问题。
[0056]
图4所示为根据本发明方式的saas系统的拉取示意图。作为对图2的进一步说明,本发明的本发明的技术方案根据过滤条件集团数据的数据拉取及数据插入失败时,创建交互界面,通过交互界面进行数据拉取及数据插入失败时的处理
[0057]
图5所示为根据本发明实施方式的装置图。装置包括存储器100及处理器200,其中处理器200存储有计算机程序,计算机程序用于执行:配置需要剥离的saas系统中所拉取的目标数据库信息,配置所插入的源数据库信息,以及配置目标数据库信息的关联数据库的过滤条件;根据来源数据库信息执行数据库的创建或匹配;根据过滤条件从源数据库获取对应的数据并执行插入。
[0058]
应当认识到,本发明实施例中的方法步骤可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
[0059]
此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
[0060]
进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、ram、rom等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。
[0061]
计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。
[0062]
上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1