CN110019139A - 数据迁移的方法、装置、电子设备和存储介质 - Google Patents
数据迁移的方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN110019139A CN110019139A CN201711481762.8A CN201711481762A CN110019139A CN 110019139 A CN110019139 A CN 110019139A CN 201711481762 A CN201711481762 A CN 201711481762A CN 110019139 A CN110019139 A CN 110019139A
- Authority
- CN
- China
- Prior art keywords
- data
- attribute
- document
- conversion
- database
- 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
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/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- 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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种数据迁移的方法、装置、电子设备和存储介质。所述方法包括获取Domino数据库的多个文档,每一文档包括第一数据和第二数据,所述第一数据的属性为域名,所述第二数据的属性为域值;将第一数据的属性由域名转换为字段,并将第二数据的属性由域值转换为记录;将转换后的第一数据和转换后的第二数据存储至关系型数据库的数据表中。所述方法通过将第一数据的属性由域名转换为字段,并将第二数据的属性由域值转换为记录,将转换后的第一数据和转换后的第二数据存储至关系型数据库的数据表中,可以有效的利用关系型数据库的优势,实现快速搜索。
Description
技术领域
本发明实施例涉及计算机技术领域,特别是一种数据迁移的方法、装置、电子设备和存储介质。
背景技术
Domino系统是一种群组工作软件,用于辅助多人协同工作,从而突破平台、技术、组织和地理上的限制,充分实现信息与技术方面的共享。Domino系统包括Domino服务器和Domino数据库。
Domino数据库是文档型数据库,通常用于存储历史数据,如历史公文,历史公文是国家行政机关或企事业单位在行政管理过程中已经形成的具有法定效力和规范体式的文书,是依法行政和进行公务活动的重要工具。
历史公文具有三个特点:数据量大、属于非结构化数据和常查阅。
数据量大:记录了某企业十几年甚至更长时间的历史公文。
非结构化数据:指数据结构不规则或不完整,没有预定义的数据模型,不方便用数据库的二维数据表来表现的数据。
常查阅:在遇到一些事件时,需查阅公文来,以决策事件处理方法。
可以理解的是,相较于其他新型的数据库,Domino数据库属于文档型数据库,向用户展示文档,不如数据表直观,且不利于数据搜索。
现有技术中发现Domino数据库的缺陷,提出将Domino中的历史数据迁移至关系型数据库的解决方案。
关系型数据库是基于J2EE(Java 2 Platform Enterprise Edition,Java2平台企业版)代码,使用集合代数等数学概念来处理数据的数据库。关系型数据库以数据表的格式存储数据,使用SQL(Structured Query Language,结构化查询语言)可以实现数据的快速检索。
简单介绍现有技术中将Domino的历史数据迁移至关系型数据库的方案:
将domino的待迁移的文档转化为HTML(Hyper Text Markup Language,超文本标记语言)的格式,先保存到第三方的文档服务器中进行集中管理,然后存储至关系型数据库中。
该方案的缺点在于,将文档保存为HTML格式,关系型数据库的SQL无法对HTML格式的文档进行检索,可以使用ajax(asynchronous javascript and XML,异步的java脚本和可扩展标记语言)插件进行搜索,而SQL的查询速度和性能都优于ajax。
也就是说,现有技术的方式不能有效利用关系型数据库的优点,不能使用SQL来快速查询和定位文档,迁移至关系型数据库后,搜索的效率不高。
发明内容
针对现有技术的缺陷,本发明实施例提供一种数据迁移的方法、装置、电子设备和存储介质。
一方面,本发明实施例提供一种数据迁移的方法,所述方法包括:
获取Domino数据库的多个文档,每一文档包括第一数据和第二数据,所述第一数据的属性为域名,所述第二数据的属性为域值;
将第一数据的属性由域名转换为字段,并将第二数据的属性由域值转换为记录;
将转换后的第一数据和转换后的第二数据存储至关系型数据库的数据表中。
另一方面,本发明实施例提供一种数据迁移的装置,所述装置包括:
获取模块,用于获取Domino数据库的多个文档,每一文档包括第一数据和第二数据,所述第一数据的属性为域名,所述第二数据的属性为域值;
转换模块,用于将第一数据的属性由域名转换为字段,并将第二数据的属性由域值转换为记录;
存储模块,用于将转换后的第一数据和转换后的第二数据存储至关系型数据库的数据表中。
另一方面,本发明实施例还提供一种电子设备,包括存储器、处理器、总线以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以上方法的步骤。
另一方面,本发明实施例还提供一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上方法的步骤。
由上述技术方案可知,本发明实施例提供的数据迁移的方法、装置、电子设备和存储介质,所述方法通过将第一数据的属性由域名转换为字段,并将第二数据的属性由域值转换为记录,并将转换后的第一数据和转换后的第二数据存储至关系型数据库的数据表中,可以有效的利用关系型数据库的优势,实现快速搜索。
附图说明
图1为本发明实施例提供的一种数据迁移的方法的流程示意图;
图2为本发明又一实施例提供的迁移架构示意图;
图3为本发明又一实施例提供的配置工具配置的迁移前的示意图;
图4为本发明又一实施例提供的配置工具配置的迁移后的示意图;
图5为本发明又一实施例提供的配置工具的代码实现示意图;
图6为本发明又一实施例提供的自动稽核工具示意图;
图7为本发明又一实施例提供的异常日志视图;
图8为本发明又一实施例提供的异常日志视图的应用示意图;
图9为本发明又一实施例提供的异常数据维护界面示意图;
图10为本发明又一实施例提供的重新迁移界面示意图;
图11为本发明又一实施例提供的迁移后关系型数据库的界面示意图;
图12为本发明又一实施例提供的一种数据迁移的装置的结构示意图;
图13为本发明又一实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明实施例一部分实施例,而不是全部的实施例。
图1示出了本发明实施例提供的一种数据迁移的方法的流程示意图。
如图1所示,本发明实施例提供的方法具体包括以下步骤:
步骤11、获取Domino数据库的多个文档,每一文档包括第一数据和第二数据,所述第一数据的属性为域名,所述第二数据的属性为域值;
本发明实施例提供的数据迁移的方法在数据迁移的装置上实现,数据迁移的装置为迁移工具。
可选地,迁移工具是一种应用服务器,具有配置和转换的功能,迁移工具包括应用数据库。
可选地,Domino数据库包括多个库,每一个库包括多个内容为历史公文的文档。
可选地,每一文档包括数据和正文,数据包括文档名、标题和日期等除了正文以外的信息。
可选地,每一数据包括第一数据和第二数据,所述第一数据和第二数据成对存在,第一数据和第二数据是属性为域的数据。
可选地,所述第一数据的属性为域名,所述第二数据的属性为域值,域名用于描述域的名称,域值用于表示域的值。
可选地,在迁移工具进行任务时,先进行配置的流程。
可选地,配置的作用是使迁移工具完成任务,需要配置的信息包括Domino主机地址、库名称、视图名称、需要提取的域名和阈值。
可选地,数据迁移前的属性是数据在Domino数据库中属性(域和阈值),数据的迁移后的属性是根据本发明实施例确定的。
在本发明实施例中,梳理迁移前后的数据的属性对照映射关系,将Domino数据库中的非结构化数据(文档)转换为结构化数据(数据表)。
可选地,第一数据和第二数据在迁移前的属性为域,预先为第一数据和第二数据确定一种迁移后的属性。
可选地,关系型数据库以数据表的格式存储数据,数据表是由行和列构成的。将数据表中的每一行称为一个记录,将数据表中的每一列称为一个字段。
可选地,预先配置的信息为:将第一数据的域名转换为数据表的字段,将第二数据的域值转换为数据表的记录。
步骤12、将第一数据的属性由域名转换为字段,并将第二数据的属性由域值转换为记录;
可选地,迁移工具确定配置的信息后,根据配置的信息执行转换,得到属性为字段的第一数据和属性为记录的第二数据。
可选地,属性的转换方式可有多种,本发明实施例以其中一种为例进行说明,根据Spring MVC(流模型视图控制器)框架,将第一数据的属性由域名转换为字段,并将第二数据的属性由域值转换为记录。
可选地,在迁移工具中搭载Spring MVC框架,Spring MVC框架具有强大的学习功能,可开发转换事件的驱动程序,根据驱动程序实现属性的转换。
可选地,迁移工具在Domino数据库中逐个库访问,遍历每一个库中的文档,针对文档中的第一数据和第二数据,执行映射转换。
可选地,执行属性转换时,将Domino数据库中的非结构化数据转换为结构化数据,也就是将域名转换为字段,将域值转换为记录。
步骤13、将转换后的第一数据和转换后的第二数据存储至关系型数据库的数据表中。
可选地,在关系型数据库中,可使用关系型数据库的SQL,对数据库进行搜索,进而实现数据分析和数据统计。
可选地,关系型数据库可为Oracle数据库。
可选地,Oracle数据库是甲骨文公司设计的数据库,可承载大吞吐量,具有强大的可扩展性。
本实施例提供的数据迁移的方法,通过将第一数据的属性由域名转换为字段,并将第二数据的属性由域值转换为记录,将转换后的第一数据和转换后的第二数据存储至关系型数据库的数据表中,可以有效的利用关系型数据库的优势,实现快速搜索。
在上述实施例的基础上,本发明又一实施例提供的数据迁移的方法,每一文档还包括第三数据,所述第三数据的属性为视图,相应地,将第一数据的属性由域名转换为字段,并将第二数据的属性由域值转换为记录的步骤之后,所述方法包括:
将第三数据的属性由视图转换为索引;
将转换后的第三数据存储至关系型数据库的数据表中。
可选地,视图是Domino数据库中文档的显示属性,是一个虚拟查询项。
可选地,第三数据的内容由查询来定义,并且在引用时动态生成。
可选地,索引是关系型数据库中的指向数据表的指定值的指针,相当于数据表的目录,可以根据目录中的页码快速找到所需的内容。
可选地,数据表中使用索引以找到特定值,使SQL语句执行得更快,可快速访问数据表中的特定值。
可选地,转换的功能可基于Spring MVC(流模型视图控制器)框架开发的应用程序。
本实施例其他步骤与前述实施例步骤相似,本实施例不再赘述。
本实施例提供的数据迁移的方法,通过将第三数据的属性由视图转换为索引,在关系型数据库中实现快速查询。
在上述实施例的基础上,本发明又一实施例提供的数据迁移的方法,所述文档还包括正文,正文的属性为文本,相应地,将第一数据的属性由域名转换为字段,并将第二数据的属性由域值转换为记录的步骤之后,所述方法包括:
将正文的属性由文本转换为附件;
将转换后的正文存储至网络文件系统NFS中。
可选地,正文在迁移前的属性为文本,迁移后的属性为word附件。
可选地,word附件可不存储于关系型数据库中,关系型数据库的格式为数据表,数据表不携带附件,而是存储于NFS(Network File System,网络文件系统)中。
可选地,NFS是FreeBSD(UNIX操作系统)支持的文件系统,允许网络中的计算机之间通过TCP(Transmission Control Protocol传输控制协议)/IP网络共享资源。在关系型数据库中,可以透明地根据预设的链接地址读写位于远端NFS的服务器上的附件,就像访问本地文件一样。
本实施例其他步骤与前述实施例步骤相似,本实施例不再赘述。
本实施例提供的数据迁移的方法,将正文的属性由文本转换为附件,将转换后的正文存储至网络文件系统NFS中,通过访问NFS来访问正文。
在上述实施例的基础上,本发明又一实施例提供的数据迁移的方法,将转换后的第一数据和转换后的第二数据存储至关系型数据库的数据表中的步骤之后,所述方法包括:
若已迁移的库的数量和预先记录的Domino数据库的库的总数不一致,则根据日志定位迁移失败的库。
可选地,统计未迁移前Domino数据库的库的数量。
可选地,实时统计已迁移的库的数量,在迁移完成后,若已迁移的库的数量和预先记录的Domino数据库的库的总数一致,则迁移成功。
若不一致,则表示有部分库迁移失败,则查找日志。
可选地,在迁移过程中,对应生成日志。
日志用于记录迁移工作的任务的进展,可直观的呈现迁移进度,日志可记录无法迁移的库的名称,以及异常信息。
可选地,异常信息用于表示无法迁移的错误的类型,例如“未知错误”。
可选地,针对无法迁移的库中的文档,可单独进行修复处理。
本实施例其他步骤与前述实施例步骤相似,本实施例不再赘述。
本实施例提供的数据迁移的方法,将已迁移的库的数量和预先记录的Domino数据库的库的总数进行对比,以确保历史数据无遗漏的全部迁移至关系型数据库。
在上述实施例的基础上,本发明又一实施例提供的数据迁移的方法,将转换后的第一数据和转换后的第二数据存储至关系型数据库的数据表中的步骤之后,所述方法包括:
若已迁移的文档的数量和预先记录的Domino数据库的文档的总数不一致,则根据日志定位迁移失败的文档。
可选地,统计未迁移前Domino数据库的每一库的文档数,将每一库的文档数相加得到文档的总数。
可选地,实时统计已迁移的文档的数量,在迁移完成后,若已迁移的文档的数量和预先记录的Domino数据库的文档的总数一致,则迁移成功。
若不一致,则表示有部分文档迁移失败,则查找日志。
可选地,在迁移过程中,对应生成日志。
日志用于记录迁移工作的任务的进展,可直观的呈现迁移进度,日志可记录无法迁移的文档ID(Identification,身份标识),以及异常信息。
可选地,异常信息用于表示无法迁移的错误的类型,例如“未知错误”。
可选地,针对无法迁移的文档,可单独进行修复处理。
本实施例其他步骤与前述实施例步骤相似,本实施例不再赘述。
本实施例提供的数据迁移的方法,将已迁移的文档的数量和预先记录的Domino数据库的文档的总数进行对比,以确保历史数据无遗漏的全部迁移至关系型数据库。
在上述实施例的基础上,本发明又一实施例提供的数据迁移的方法,根据日志定位迁移失败的文档的步骤之后,所述方法包括:
针对迁移失败的文档,获取该文档的使用权限;
根据使用权限,对迁移失败的文档进行修复。
可选地,若一个文档迁移失败,需仔细检查该文档的失败原因,然后对文档进行修复。
可选地,迁移工具作为第三方工具,没有权限对文档进行修复,此时可能遇到的问题就是权限错误:“不应任何用户都能修改!”。
可选地,在本发明实施例中增加授权功能,使得将文档授权给迁移工具,使得迁移工具有权限查看此文档,进行修复。
本实施例其他步骤与前述实施例步骤相似,本实施例不再赘述。
本实施例提供的数据迁移的方法,将使用权限授权给迁移工具,使得迁移工具可对迁移失败的文档进行修复。
为了更充分理解本发明的技术内容,在上述实施例的基础上,详细说明本实施例提供的数据迁移的方法。
本发明实施例要解决的技术问题:
1、公文系统历史数据存储结构不统一,迁移后数据格式化困难。需实现Domino文档中重要的域转换为关系型数据库中的字段信息,便于展示和统计分析;
2、因历史数据的数据量巨大,很容易造成数据丢失,因此本发明实施例还需保证数据的正确性和传输效率。
目前公文系统共计24个公文文种,历史公文有500多万条记录,存储于3595个Domino库中,占用3373GB的存储。因基于J2EE建设了新的OA系统,应用数据存储于关系型数据库,因此在查询统计过程中,出现历史数据无法顺利查询、统计和分析的问题。为解决此问题,提出了一种将Domino历史数据迁移至关系型数据库的方法,将应用在途及历史数据批量导入新系统,便于用户访问查询。为实现此功能,需要完成以下几个步骤:
1、梳理新旧系统数据对照映射关系,建立设计数据库模型,数据包括业务数据和管理数据。
2、以自动、快速、准确为原则设计并实现迁移工具,迁移工具有配置工具、自动适配导出工具、自动稽核工具。
3、按照由小及大、由轻及重、由简及繁为原则进行配置,由工具自动实现迁移工作。
图2为本发明又一实施例提供的迁移架构示意图。
如图2所示,通过SpringMVC框架开发转换程序,可以适配到每个数据库的字段进行Domino数据抓取,抓取后的数据经过数据转换和数据处理存储到Oracle数据库中,按新的风格进行数据展示和其他格式数据查询。
迁移分三个部分:迁移配置、迁移工具和自动稽核工具
1)配置工具
图3为本发明又一实施例提供的配置工具配置的迁移前的示意图。
如图3所示,需要配置的信息包括:Domino主机地址、数据库名称、视图名称、需要提取的域值名称。
主要配置Domino主机地址和names.nsf地址簿信息,配置完毕后执行同步操作,可以将Domino数据库中names.nsf账号信息转换成userid存储到数据库中,后续转换的文档读者权限也是匹配userid,而不是Domino数据库中的长账号。
图4为本发明又一实施例提供的配置工具配置的迁移后的示意图。
如图4所示,点击“新建”后可输入目标地址即Domino服务器IP地址、视图等信息。“数据库适配信息”字段为需要迁移的Domino具体字段值,此值以json格式存储到数据库中,转换程序根据此适配信息去Domino数据库中获取相关信息后以xml形式存储到数据库中,便于数据的表单展示和不同字段值的数据存储。对于需要查询、检索的标题、日期等做为搜索条件关键字存储为单独列值,便于后续扩展搜索。
图5为本发明又一实施例提供的配置工具的代码实现示意图。
如图5所示,每条数据即为一个数据库的配置信息,可以同时选择多个数据库执行数据的抽取工作,简化人工参与。
同时如果后期人为原因或者数据抽取失败,可以通过修改同步状态再次进行针对某个domon数据库的全库的数据抽取,简化用户操作。对于抽取失败的数据可以通过日志查看到哪些数据失败,可在日志稽核页面进行单独文档的再次抽取,针对文档抽取在日志稽核处会有相关介绍。
以数据库、单条文档两种方式都可以支持数据的抽取,同时可以通过修改配置方式,支持多次数据抽取,增加灵活性和扩展性。
2)迁移工具
关于关系型数据库和Domino数据库比较如下表1。
按照以下对应关系进行映射。其中难点为在历史公文库结构不统一的情况下,如何实现快速数据抽取、映射和存储。
表1
Domino内置的工作流引擎可以按照用户应用所定义的流程分发、传递和跟踪文档。代理服务可以根据预先设定的安排或者用户请求执行一系列自动化任务程序。逐个库访问,到指定视图遍历文档,提取字段和相关附件。字段信息存储于oracle数据库,附件存储于NFS目录。
为应对多种数据存储结构,采取了以库为单元的数据迁移映射方法,建立多种配置模板,工具根据库内的数据结构,快速选择并可以快速自定义,在数据迁移前,对不同阶段的公文信息做格式统一化处理,保证数据的一致性和完整性。如正文统一转换使用word附件存储,部分信息统一数据库字段存储,有利于建议统一的快速检索方式。
图6为本发明又一实施例提供的自动稽核工具示意图。
如图6所示,自动稽核工具的日志检查
迁移数据量巨大,且历史数据结构复杂不统一,数据校验原则也不尽相同。导致数据抽取时容易出现异常,在稽核之前加入日志检查机制,有效提高数据抽取和数据转换的成功率,提高转换效率。
图7为本发明又一实施例提供的异常日志视图。
图8为本发明又一实施例提供的异常日志视图的应用示意图。
如图7和8所示,异常日志视图,是以库为单位进行数据抽取时如某些数据损坏等造成数据无法抽取,会记录无法抽取的文档id、无法抽取的异常信息在此视图中。
图9为本发明又一实施例提供的异常日志维护界面示意图。
如图8和9所示,得益于数据迁移过程中的日志检查机制,完成迁移的数据一定是准确无误的。稽核管理只需对文档数量和数据条数进行对比即可,以确保数据无遗漏。稽核管理会记录每个Domino数据库中待抽取的数据总条数、抽取成功的文档条数,以数据库维度进行比较,如果Domino数据库和迁移后的数据没有偏差则Domino数据库中文档全部迁移成功,如有偏差则可以查看日常日志,定位到哪些文档没有迁移成功。
4)历史数据维护手段
历史数据为迁移成功后管理员可以查看到的所有数据,根据以往的经验,数据迁移后最容易遇到的问题就是权限错误。此处特别加入公文授权功能,管理员通过此操作可以选择相应的文档授权给其他人,可以有权限查看此文档,避免Domino旧系统需要手动添加文档权限,可以单个或者多个文档授权给某人。
图10为本发明又一实施例提供的重新迁移界面示意图。
如图10所示,针对修复完成后的文档,进行重新迁移,以保证历史数据完整的迁移至关系型数据库中。
本发明实施例自动化实现大数据量的结构不统一的非结构化数据转换为结构化数据,并迁移存储于关系型数据库中。
为保证全量数据准确的迁移至关系型数据库,还提出纠错稽核机制,从文档颗粒度进行纠错稽核,保证数据准确性和唯一性。
图11为本发明又一实施例提供的文档粒度的异常数据维护界面示意图。
如图11所示,为保证全量数据准确的迁移至关系型数据库,本发明实施例提出纠错稽核机制,从文档颗粒度和数据库颗粒度的两个维度进行纠错稽核,保证数据准确性和唯一性。
在选择某库执行同步后,失败的文档将在异常数据维护界面列出,记录了该文档的所属库、文档id(唯一标识),失败原因等,维护人员可以根据失败原因,判断并对文档或配置进行手动干预,然后选择文档进行重新同步,直到当前库全部执行成功。
稽核功能主要用于数据库粒度的成功同步文档数与应同步文档数之间的稽核功能,是维护人员可以全局高度,快速掌握数据迁移的进展,并能快速找到未完成的库,稽核失败将进行人为或自动纠错,以便重新导入。
本实施例提供的数据迁移的方法,大数据量下,自动化实现结构不统一的非结构化数据转换为结构化数据,并存储于关系型数据。
通过本发明实施例中的方案,解决大量Domino非结构化数据存储于关系型数据库的难题,更有利于应用系统使用数据,特别是在数据分析和数据统计方面,可以更有效的利用关系型数据库的优势。
本发明实施例中的纠错稽核机制,极大的降低了数据转换错误率和数据丢失率,保证了数据的唯一性和准确性。
进行数据映射转换,在数据分析和数据统计方面,可以更有效的利用关系型数据库的优势。采用纠错稽核机制,极大的降低了数据转换错误率和数据丢失率,保证了数据的唯一性和准确性。
图12为本发明又一实施例提供的一种数据迁移的装置的结构示意图。
参照图12,在上述实施例的基础上,本实施例提供的数据迁移的装置,所述装置包括获取模块121、转换模块122和存储模块123,其中:
获取模块121用于获取Domino数据库的多个文档,每一文档包括第一数据和第二数据,所述第一数据的属性为域名,所述第二数据的属性为域值;转换模块122用于将第一数据的属性由域名转换为字段,并将第二数据的属性由域值转换为记录;存储模块123用于将转换后的第一数据和转换后的第二数据存储至关系型数据库的数据表中。
本实施例提供的数据迁移的装置,可用于执行上述方法实施例的方法,本实施不再赘述。
本实施例提供的数据迁移的装置,通过转换模块将第一数据的属性由域名转换为字段,并将第二数据的属性由域值转换为记录,并通过存储模块将转换后的第一数据和转换后的第二数据存储至关系型数据库的数据表中,可以有效的利用关系型数据库的优势,实现快速搜索。
图13为本发明又一实施例提供的一种电子设备的结构示意图。
参阅图13,本发明实施例提供的电子设备,所述电子设备包括存储器(memory)131、处理器(processor)132、总线133以及存储在存储器131上并可在处理器上运行的计算机程序。其中,所述存储器131、处理器132通过所述总线133完成相互间的通信。
所述处理器132用于调用所述存储器131中的程序指令,以执行所述程序时实现如图1的方法。
在另一种实施方式中,所述处理器执行所述程序时实现如下方法:
每一文档还包括第三数据,所述第三数据的属性为视图,相应地,将第一数据的属性由域名转换为字段,并将第二数据的属性由域值转换为记录的步骤之后,所述方法包括:
将第三数据的属性由视图转换为索引;
将转换后的第三数据存储至关系型数据库的数据表中。
在另一种实施方式中,所述处理器执行所述程序时实现如下方法:所述文档还包括正文,正文的属性为文本,相应地,将第一数据的属性由域名转换为字段,并将第二数据的属性由域值转换为记录的步骤之后,所述方法包括:
将正文的属性由文本转换为附件;
将转换后的正文存储至网络文件系统NFS中。
在另一种实施方式中,所述处理器执行所述程序时实现如下方法:将转换后的第一数据和转换后的第二数据存储至关系型数据库的数据表中的步骤之后,所述方法包括:
若已迁移的库的数量和预先记录的Domino数据库的库的总数不一致,则根据日志定位迁移失败的库。
在另一种实施方式中,所述处理器执行所述程序时实现如下方法:将转换后的第一数据和转换后的第二数据存储至关系型数据库的数据表中的步骤之后,所述方法包括:
若已迁移的文档的数量和预先记录的Domino数据库的文档的总数不一致,则根据日志定位迁移失败的文档。
在另一种实施方式中,所述处理器执行所述程序时实现如下方法:根据日志定位迁移失败的文档的步骤之后,所述方法包括:
针对迁移失败的文档,获取该文档的使用权限;
根据使用权限,对迁移失败的文档进行修复。
在另一种实施方式中,所述处理器执行所述程序时实现如下方法:所述关系型数据库可为Oracle数据库。
本实施例提供的电子设备,可用于执行上述方法实施例的方法对应的程序,本实施不再赘述。
本实施例提供的电子设备,通过所述处理器执行所述程序时实现通过将第一数据的属性由域名转换为字段,并将第二数据的属性由域值转换为记录,并将转换后的第一数据和转换后的第二数据存储至关系型数据库的数据表中,可以有效的利用关系型数据库的优势,实现快速搜索。
本发明又一实施例提供的一种存储介质,所述存储介质上存储有计算机程序,所述程序被处理器执行时实现如图1的步骤。
在另一种实施方式中,所述程序被处理器执行时实现如下方法:
每一文档还包括第三数据,所述第三数据的属性为视图,相应地,将第一数据的属性由域名转换为字段,并将第二数据的属性由域值转换为记录的步骤之后,所述方法包括:
将第三数据的属性由视图转换为索引;
将转换后的第三数据存储至关系型数据库的数据表中。
在另一种实施方式中,所述程序被处理器执行时实现如下方法:所述文档还包括正文,正文的属性为文本,相应地,将第一数据的属性由域名转换为字段,并将第二数据的属性由域值转换为记录的步骤之后,所述方法包括:
将正文的属性由文本转换为附件;
将转换后的正文存储至网络文件系统NFS中。
在另一种实施方式中,所述程序被处理器执行时实现如下方法:将转换后的第一数据和转换后的第二数据存储至关系型数据库的数据表中的步骤之后,所述方法包括:
若已迁移的库的数量和预先记录的Domino数据库的库的总数不一致,则根据日志定位迁移失败的库。
在另一种实施方式中,所述程序被处理器执行时实现如下方法:将转换后的第一数据和转换后的第二数据存储至关系型数据库的数据表中的步骤之后,所述方法包括:
若已迁移的文档的数量和预先记录的Domino数据库的文档的总数不一致,则根据日志定位迁移失败的文档。
在另一种实施方式中,所述程序被处理器执行时实现如下方法:根据日志定位迁移失败的文档的步骤之后,所述方法包括:
针对迁移失败的文档,获取该文档的使用权限;
根据使用权限,对迁移失败的文档进行修复。
在另一种实施方式中,所述程序被处理器执行时实现如下方法:所述关系型数据库可为Oracle数据库。
本实施例提供的存储介质,所述程序被处理器执行时实现上述方法实施例的方法,本实施不再赘述。
本实施例提供的存储介质,通过将将第一数据的属性由域名转换为字段,并将第二数据的属性由域值转换为记录,并将转换后的第一数据和转换后的第二数据存储至关系型数据库的数据表中,可以有效的利用关系型数据库的优势,实现快速搜索。
本发明又一实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:
获取Domino数据库的多个文档,每一文档包括第一数据和第二数据,所述第一数据的属性为域名,所述第二数据的属性为域值;
将第一数据的属性由域名转换为字段,并将第二数据的属性由域值转换为记录;
将转换后的第一数据和转换后的第二数据存储至关系型数据库的数据表中。
本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。
本领域技术人员可以理解,实施例中的各步骤可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。
虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
1.一种数据迁移的方法,其特征在于,所述方法包括:
获取Domino数据库的多个文档,每一文档包括第一数据和第二数据,所述第一数据的属性为域名,所述第二数据的属性为域值;
将第一数据的属性由域名转换为字段,并将第二数据的属性由域值转换为记录;
将转换后的第一数据和转换后的第二数据存储至关系型数据库的数据表中。
2.根据权利要求1所述的方法,其特征在于:每一文档还包括第三数据,所述第三数据的属性为视图,相应地,将第一数据的属性由域名转换为字段,并将第二数据的属性由域值转换为记录的步骤之后,所述方法包括:
将第三数据的属性由视图转换为索引;
将转换后的第三数据存储至关系型数据库的数据表中。
3.根据权利要求1所述的方法,其特征在于:所述文档还包括正文,正文的属性为文本,相应地,将第一数据的属性由域名转换为字段,并将第二数据的属性由域值转换为记录的步骤之后,所述方法包括:
将正文的属性由文本转换为附件;
将转换后的正文存储至网络文件系统NFS中。
4.根据权利要求1所述的方法,其特征在于:将转换后的第一数据和转换后的第二数据存储至关系型数据库的数据表中的步骤之后,所述方法包括:
若已迁移的库的数量和预先记录的Domino数据库的库的总数不一致,则根据日志定位迁移失败的库。
5.根据权利要求4所述的方法,其特征在于:将转换后的第一数据和转换后的第二数据存储至关系型数据库的数据表中的步骤之后,所述方法包括:
若已迁移的文档的数量和预先记录的Domino数据库的文档的总数不一致,则根据日志定位迁移失败的文档。
6.根据权利要求1所述的方法,其特征在于:根据日志定位迁移失败的文档的步骤之后,所述方法包括:
针对迁移失败的文档,获取该文档的使用权限;
根据使用权限,对迁移失败的文档进行修复。
7.根据权利要求1所述的方法,其特征在于:所述关系型数据库可为Oracle数据库。
8.一种数据迁移的装置,其特征在于,所述装置包括:
获取模块,用于获取Domino数据库的多个文档,每一文档包括第一数据和第二数据,所述第一数据的属性为域名,所述第二数据的属性为域值;
转换模块,用于将第一数据的属性由域名转换为字段,并将第二数据的属性由域值转换为记录;
存储模块,用于将转换后的第一数据和转换后的第二数据存储至关系型数据库的数据表中。
9.一种电子设备,其特征在于,包括存储器、处理器、总线以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1-7任意一项的步骤。
10.一种存储介质,其上存储有计算机程序,其特征在于:所述程序被处理器执行时实现如权利要求1-7任意一项的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711481762.8A CN110019139A (zh) | 2017-12-29 | 2017-12-29 | 数据迁移的方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711481762.8A CN110019139A (zh) | 2017-12-29 | 2017-12-29 | 数据迁移的方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110019139A true CN110019139A (zh) | 2019-07-16 |
Family
ID=67187215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711481762.8A Pending CN110019139A (zh) | 2017-12-29 | 2017-12-29 | 数据迁移的方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110019139A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110727726A (zh) * | 2019-09-30 | 2020-01-24 | 武汉达梦数据库有限公司 | 一种文档型数据库中数据抽取到关系数据库的方法和系统 |
CN111090399A (zh) * | 2019-12-13 | 2020-05-01 | 北京浪潮数据技术有限公司 | 一种磁盘数据的在线迁移方法、装置、设备及介质 |
CN112286892A (zh) * | 2020-07-01 | 2021-01-29 | 上海柯林布瑞信息技术有限公司 | 后关系型数据库的数据实时同步方法及装置、存储介质、终端 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739436A (zh) * | 2009-09-28 | 2010-06-16 | 孙彬 | 基于xml的柔性数据迁移方法 |
CN102236653A (zh) * | 2010-04-26 | 2011-11-09 | 北京开普互联科技有限公司 | 一种实现版式文档与关系数据库交互的方法 |
US20140101105A1 (en) * | 2012-10-10 | 2014-04-10 | Tibero Co., Ltd. | Method and apparatus for data migration from hierarchical database of mainframe system to rehosting solution database of open system |
CN103955517A (zh) * | 2014-05-05 | 2014-07-30 | 中国工商银行股份有限公司 | 将文档型数据库的数据转换至关系型数据库的方法及系统 |
CN105335412A (zh) * | 2014-07-31 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 用于数据转换、数据迁移的方法和装置 |
-
2017
- 2017-12-29 CN CN201711481762.8A patent/CN110019139A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739436A (zh) * | 2009-09-28 | 2010-06-16 | 孙彬 | 基于xml的柔性数据迁移方法 |
CN102236653A (zh) * | 2010-04-26 | 2011-11-09 | 北京开普互联科技有限公司 | 一种实现版式文档与关系数据库交互的方法 |
US20140101105A1 (en) * | 2012-10-10 | 2014-04-10 | Tibero Co., Ltd. | Method and apparatus for data migration from hierarchical database of mainframe system to rehosting solution database of open system |
CN103955517A (zh) * | 2014-05-05 | 2014-07-30 | 中国工商银行股份有限公司 | 将文档型数据库的数据转换至关系型数据库的方法及系统 |
CN105335412A (zh) * | 2014-07-31 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 用于数据转换、数据迁移的方法和装置 |
Non-Patent Citations (3)
Title |
---|
北京慧点科技开发有限公司: "《中文Lotus Domino R5 Web开发指南》", 31 May 2001, 北京:机械工业出版社 * |
北京老苏: "Domino数据转移到关系型数据库(一)", 《HTTPS://BLOG.CSDN.NET/SUJIANYU/ARTICLE/DETAILS/71516240》 * |
黄煜: "海量数据的迁移和报表自动生成的研究和实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110727726A (zh) * | 2019-09-30 | 2020-01-24 | 武汉达梦数据库有限公司 | 一种文档型数据库中数据抽取到关系数据库的方法和系统 |
CN111090399A (zh) * | 2019-12-13 | 2020-05-01 | 北京浪潮数据技术有限公司 | 一种磁盘数据的在线迁移方法、装置、设备及介质 |
CN112286892A (zh) * | 2020-07-01 | 2021-01-29 | 上海柯林布瑞信息技术有限公司 | 后关系型数据库的数据实时同步方法及装置、存储介质、终端 |
CN112286892B (zh) * | 2020-07-01 | 2024-04-05 | 上海柯林布瑞信息技术有限公司 | 后关系型数据库的数据实时同步方法及装置、存储介质、终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110431545A (zh) | 针对结构化数据和非结构化数据执行查询 | |
US10963800B2 (en) | Service layer augmentation of response to semantically-informed query of arbitrary external data sources | |
CN111611458B (zh) | 大数据治理中基于元数据和数据分析技术实现系统数据架构梳理的方法 | |
US7234112B1 (en) | Presenting query plans of a database system | |
CN109997126A (zh) | 事件驱动提取、变换、加载(etl)处理 | |
CN106126648B (zh) | 一种基于重做日志的分布式商品信息爬虫方法 | |
US8713041B2 (en) | Peer to peer (P2P) missing fields and field valuation feedback | |
CN110119395B (zh) | 大数据治理中基于元数据实现数据标准与数据质量关联处理的方法 | |
CN108319547A (zh) | 测试用例生成方法、装置和系统 | |
US10430413B2 (en) | Data information framework | |
KR101573561B1 (ko) | X500 데이터 모델을 관계형 데이터베이스에 매핑하는 방법 | |
JP2005302029A (ja) | パラメータ化照会を提示するための方法、システム及びコンピュータ可読媒体 | |
CN111125068A (zh) | 一种元数据治理方法和系统 | |
CN103562910A (zh) | 管理数据查询 | |
CN106815353A (zh) | 一种数据查询的方法及设备 | |
CN110019139A (zh) | 数据迁移的方法、装置、电子设备和存储介质 | |
CN113934750A (zh) | 基于编译方式的数据血缘关系分析方法 | |
CN108664657A (zh) | 一种大数据任务调度方法、电子设备、存储介质及平台 | |
CN117056308A (zh) | 一种基于OpenLineage数据库生成金融大数据血缘关系的方法 | |
CN111414410A (zh) | 数据处理方法、装置、设备和存储介质 | |
US20090024558A1 (en) | Methods and systems for storing and retrieving rejected data | |
CN109636303B (zh) | 一种半自动提取和结构化文档信息的存储方法及系统 | |
US20200012643A1 (en) | Method for managing and executing decoders and transformations using linked data and a service layer | |
Sheth et al. | Complex relationships and knowledge discovery support in the InfoQuilt system | |
EP3422177A1 (en) | Systems and methods for code parsing and lineage detection |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190716 |
|
RJ01 | Rejection of invention patent application after publication |