CN113688147B - 一种数据处理方法及系统 - Google Patents

一种数据处理方法及系统 Download PDF

Info

Publication number
CN113688147B
CN113688147B CN202111043729.3A CN202111043729A CN113688147B CN 113688147 B CN113688147 B CN 113688147B CN 202111043729 A CN202111043729 A CN 202111043729A CN 113688147 B CN113688147 B CN 113688147B
Authority
CN
China
Prior art keywords
database
file
slave
file list
master
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.)
Active
Application number
CN202111043729.3A
Other languages
English (en)
Other versions
CN113688147A (zh
Inventor
王志翔
王颖慧
尹婷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bank of China Ltd
Original Assignee
Bank of China Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Bank of China Ltd filed Critical Bank of China Ltd
Priority to CN202111043729.3A priority Critical patent/CN113688147B/zh
Publication of CN113688147A publication Critical patent/CN113688147A/zh
Application granted granted Critical
Publication of CN113688147B publication Critical patent/CN113688147B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请公开了一种数据处理方法及系统,可应用于金融领域或其他领域。根据主数据库的文件清单和从数据库的文件清单进行比对,得到主数据库相对于从数据库中的区别文件,即缺失文件和多余文件,并对主数据库的文件清单中的对象的内容与从数据库的文件清单中的对象的内容进行判定,得到主数据库的文件清单中的对象的内容与从数据库的文件清单中的对象的区别内容,基于区别文件和/或区别内容,对从数据库中的结构内容执行对应的删除、添加、更新等操作,确保主数据库和从数据库中的结构内容达成一致,避免出现程序操作报错、无法登录、批量操作的性能异常等问题。

Description

一种数据处理方法及系统
技术领域
本申请涉及数据库处理技术领域,更具体地说,涉及一种数据处理方法及系统。
背景技术
软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程,也是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程。
在软件开发过程中,在开发环境、组装环境、功能测试环境、演练环境、生产环境长时间运行后,难以避免会发生由于部署方式导致的环境遗漏、生产数据库问题修复等情况,从而导致数据库进行修改,造成测试环境数据库和生产环境数据库不一致,出现程序操作报错、无法登录、批量操作的性能异常等问题。
发明内容
有鉴于此,本申请公开了一种数据处理方法及系统,确保主数据库和从数据库中的结构内容达成一致,避免出现程序操作报错、无法登录、批量操作的性能异常等问题。
为了实现上述目的,其公开的技术方案如下:
本申请第一方面公开了一种数据处理方法,所述方法包括:
获取数据库信息;所述数据库信息包括主数据库信息和从数据库信息;所述主数据库信息用于指示处于目标环境的数据库信息;所述从数据库信息用于指示处于测试环境的数据库信息;
基于所述数据库信息生成数据库文本,并获取所述数据库文本中的主数据库的文件清单和从数据库的文件清单;
将所述数据库文本中的所述主数据库的文件清单和所述从数据库的文件清单进行比对;
若所述主数据库的文件清单中的对象和所述从数据库的文件清单中的对象不同,则生成所述主数据库相对于所述从数据库的区别文件,并根据所述区别文件的类型,对所述从数据库执行对应操作;
若所述主数据库的文件清单中的对象和所述从数据库的文件清单中的对象相同,则去除所述主数据库与所述从数据库之间文件名不同的文件,并对所述主数据库的文件清单中的对象的内容与所述从数据库的文件清单中的对象的内容进行判定;
若所述主数据库的文件清单中的同名文件的内容与所述从数据库的文件清单中的同名文件的内容不一致,则生成预设更新脚本,并基于所述预设更新脚本对所述从数据库进行更新。
优选的,所述获取数据库信息,包括:
获取主数据库连接信息和从数据库连接信息;所述主数据库连接信息通过连接主数据库得到;所述从数据库连接信息通过连接从数据库得到;
通过所述主数据库连接信息和所述从数据库连接信息,得到数据库信息。
优选的,所述获取所述数据库文本中的主数据库的文件清单和从数据库的文件清单,包括:
创建所述主数据库的关键字和所述从数据库的关键字;
通过所述主数据库的关键字获取所述数据库文本中的主数据库的文件清单;
通过所述从数据库的关键字获取所述数据库文本中的从数据库的文件清单。
优选的,所述根据所述区别文件的类型,对所述从数据库执行对应操作,包括:
确定区别文件的类型,所述区别文件的类型包括缺失文件和多余文件;
若所述主数据库相对所述从数据库的区别文件为所述缺失文件,则从所述从数据库中删除缺失文件类型的区别文件;
若所述主数据库相对所述从数据库的区别文件为所述多余文件,则从所述从数据库中添加多余文件类型的区别文件。
优选的,还包括:
若所述主数据库的文件清单中的对象的内容与所述从数据库的文件清单中的对象的内容一致,则停止执行对所述从数据库的更新操作。
本申请第二方面公开了一种数据处理系统,所述系统包括:
第一获取单元,用于获取数据库信息;所述数据库信息包括主数据库信息和从数据库信息;所述主数据库信息用于指示处于目标环境的数据库信息;所述从数据库信息用于指示处于测试环境的数据库信息;
第二获取单元,用于基于所述数据库信息生成数据库文本,并获取所述数据库文本中的主数据库的文件清单和所述从数据库的文件清单;
比对单元,用于将所述数据库文本中的所述主数据库的文件清单和所述从数据库的文件清单进行比对;
执行单元,用于若所述主数据库的文件清单中的对象和所述从数据库的文件清单中的对象不同,则生成所述主数据库相对于所述从数据库的区别文件,并根据所述区别文件的类型,对所述从数据库执行对应操作;
判定单元,用于若所述主数据库的文件清单中的对象和所述从数据库的文件清单中的对象相同,则去除所述主数据库与所述从数据库之间文件名不同的文件,并对所述主数据库的文件清单中的对象的内容与所述从数据库的文件清单中的对象的内容进行判定;
更新单元,用于若所述主数据库的文件清单中的同名文件的内容与所述从数据库的文件清单中的同名文件的内容不一致,则生成预设更新脚本,并基于所述预设更新脚本对所述从数据库进行更新。
优选的,所述第一获取单元,包括:
第一获取模块,用于获取主数据库连接信息和从数据库连接信息;所述主数据库连接信息通过连接主数据库得到;所述从数据库连接信息通过连接从数据库得到;
第二获取模块,用于通过所述主数据库连接信息和所述从数据库连接信息,得到数据库信息。
优选的,所述第二获取单元,包括:
创建模块,用于创建所述主数据库的关键字和所述从数据库的关键字;
第三获取模块,用于通过所述主数据库的关键字获取所述数据库文本中的主数据库的文件清单;
第四获取模块,用于通过所述从数据库的关键字获取所述数据库文本中的从数据库的文件清单。
优选的,根据所述区别文件的类型,对所述从数据库执行对应操作的所述执行单元,包括:
确定模块,用于确定区别文件的类型,所述区别文件的类型包括缺失文件和多余文件;
删除模块,用于若所述主数据库相对所述从数据库的区别文件为所述缺失文件,则从所述从数据库中删除缺失文件类型的区别文件;
添加模块,用于若所述主数据库相对所述从数据库的区别文件为所述多余文件,则从所述从数据库中添加多余文件类型的区别文件。
优选的,还包括:
停止单元,用于若所述主数据库的文件清单中的对象的内容与所述从数据库的文件清单中的对象的内容一致,则停止执行对所述从数据库的更新操作。
经由上述技术方案可知,本申请公开了一种数据处理方法及系统,获取数据库信息;数据库信息包括主数据库信息和从数据库信息,主数据库信息用于指示处于目标环境的数据库信息,从数据库用于指示处于测试环境的数据库信息,基于数据库信息生成数据库文本,并获取数据库文本中的主数据库的文件清单和从数据库的文件清单,将数据库文本中的主数据库的文件清单和从数据库的文件清单进行比对,若主数据库的文件清单中的对象和从数据库的文件清单中的对象不同,则生成主数据库相对从数据库的区别文件,并根据区别文件的类型,对从数据库执行对应操作,若主数据库的文件清单中的对象和从数据库的文件清单中的对象相同,则去除主数据库与所述从数据库之间文件名不同的文件,并对主数据库的文件清单中的对象的内容与从数据库的文件清单中的对象的内容进行判定,若主数据库的文件清单中的同名文件的内容与从数据库的文件清单中的同名文件的内容不一致,则生成预设更新脚本,并基于预设更新脚本对从数据库进行更新。通过上述方案,根据主数据库的文件清单和从数据库的文件清单进行比对,得到主数据库相对于从数据库中的区别文件,即缺失文件和多余文件,并对主数据库的文件清单中的对象的内容与所述从数据库的文件清单中的对象的内容进行判定,得到主数据库的文件清单中的对象的内容与所述从数据库的文件清单中的对象的区别内容,基于区别文件和/或区别内容,对从数据库中的结构内容执行对应的删除、添加、更新等操作,确保主数据库和从数据库中的结构内容达成一致,避免出现程序操作报错、无法登录、批量操作的性能异常等问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例公开的一种数据处理方法的流程示意图;
图2为本申请实施例公开的获取数据库信息的流程示意图;
图3为本申请实施例公开的获取数据库文本中的主数据库的文件清单和从数据库的文件清单的流程示意图;
图4为本申请实施例公开的根据区别文件的类型,对从数据库执行对应操作的流程示意图;
图5为本申请实施例公开的一种数据处理系统的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
由背景技术可知,在软件开发过程中,难以避免会发生由于部署方式导致的环境遗漏、生产数据库问题修复等情况,从而导致数据库进行修改,造成测试环境数据库和生产环境数据库不一致,出现程序操作报错、无法登录、批量操作的性能异常等问题。
为了解决上述问题,本申请实施例公开了一种数据处理方法及系统,根据主数据库的文件清单和从数据库的文件清单进行比对,得到主数据库相对于从数据库中的区别文件,即缺失文件和多余文件,并对主数据库的文件清单中的对象的内容与所述从数据库的文件清单中的对象的内容进行判定,得到主数据库的文件清单中的对象的内容与所述从数据库的文件清单中的对象的区别内容,基于区别文件和/或区别内容,对从数据库中的结构内容执行对应的删除、添加、更新等操作,确保主数据库和从数据库中的结构内容达成一致,避免出现程序操作报错、无法登录、批量操作的性能异常等问题。具体实现方式通过下述实施例具体进行说明。
本申请提供的一种数据处理方法及系统可用于金融领域或其他领域,例如,可用于金融领域中的数据库应用场景。其他领域为除金融领域之外的任意领域,例如,软件开发领域。上述仅为示例,并不对本发明提供的一种数据处理方法及系统的应用领域进行限定。
参考图1所示,为本申请实施例公开的一种数据处理方法的流程示意图,该数据处理方法的流程示意图主要包括如下步骤:
S101:获取数据库信息;数据库信息包括主数据库信息和从数据库信息;主数据库信息用于指示处于目标环境的数据库信息;从数据库信息用于指示处于测试环境的数据库信息。
在S101中,根据用户选择和填写的数据库连接信息,同时连接多个数据库实例来获取数据库信息。其中,多个数据库实例为同一个应用部署在测试环境、开发环境等不同环境下,若需要使多个环境的内容一致,这多个环境即为数据库实例。
具体获取数据库信息的过程如下:
首先,获取主数据库连接信息和从数据库连接信息,主数据库连接信息通过连接主数据库得到,从数据库连接信息通过连接从数据库得到。
其中,主数据库连接信息用于指示与主数据库处于连接状态,从数据库连接信息用于指示与从数据库处于连接状态。
然后,通过主数据库连接信息和从数据库连接信息,得到数据库信息。
其中,数据库信息包括自定义函数、表、存储过程、事件等。
具体主数据库和从数据的确定依据为,由需要将测试环境或者演练环境的数据库追平到和生产数据库一致的状态,将对比目标库的生产数据库为主数据库,将待追平成和生产数据库一致的为从数据库。
为了方便理解主数据库和从数据库的确定,这里举例进行说明:
例如,若需要让A环境的数据库追平B环境数据库,即,让A环境的数据库与B环境的数据库保持一致,则B环境的数据库为主数据库,A环境的数据库为从数据库。
S102:基于数据库信息生成数据库文本,并获取数据库文本中的主数据库的文件清单和从数据库的文件清单。
在S102中,将数据库信息以文本的形式进行导出,得到数据库文本。
数据库文本包括所有表的详细信息、函数的详细信息、测试过程中每个对象的详细信息等。
数据库实例文本包含了数据库下所有对象的创建脚本信息,是后续用于数据库文件清单比对和对象内容比对的数据来源。
从数据库的实例文本中即可获取对应的主数据库文件清单(主数据库的对象清单)和从数据库的文件清单(从数据库的对象清单)。
具体获取数据库文本中的主数据库的文件清单和从数据库的文件清单的过程如下A1-A3:
A1:创建主数据库的关键字和从数据库的关键字。
其中,关键字包括函数function、表table、存储过程procedure、事件trigger等。
关键字为数据库特有的对象类型,关键字为默认项。
A2:通过主数据库的关键字获取数据库文本中的主数据库的文件清单。
其中,主数据库的文件清单包括主数据库的对象、主数据库的对象名、主数据库的对象类型等。
A3:通过从数据库的关键字获取数据库文本中的从数据库的文件清单。
其中,从数据库的文件清单包括从数据库的对象、从数据库的对象名、从数据库的对象类型等。
A2和A3为并列关系。
S103:将数据库文本中的主数据库的文件清单和从数据库的文件清单进行比对,若主数据库的文件清单中的对象和从数据库的文件清单中的对象不同,则执行S104,若主数据库的文件清单中的对象和从数据库的文件清单中的对象相同,则执行S105。
在S103中,通过排查数据库文件清单(主数据库的文件清单和从数据库的文件清单)中的对象,若对象不同,则无需比对对象的内容,若对象相同(类型相同且命名相同),则比对对象的内容是否一致。
对象包括视图、函数、表(含索引等)、存储过程、调度事件等。
S104:生成主数据库相对于从数据库的区别文件,并根据区别文件的类型,对从数据库执行对应操作。
在S104中,区别文件的类型包括缺失文件和多余文件。基于区别文件的类型,对从数据库执行对应添加、删除操作,确保主数据库和从数据库的结构内容达成一致。
具体根据区别文件的类型,对从数据库执行对应操作的过程如B1-B3所示。
B1:确定区别文件的类型,区别文件的类型包括缺失文件和多余文件。
其中,缺失文件用于指示在主数据库和从数据库中,主数据库不存在该文件,而从数据库存在该文件。
多余文件用于指示在主数据库和从数据库中,主数据库中存在该文件,而从数据库中不存在该文件。
B2:若主数据库相对从数据库的区别文件为缺失文件,则从从数据库中删除缺失文件类型的区别文件。
其中,若主数据库相对从数据库的区别文件为缺失文件,则从从数据库中删除缺失文件类型的区别文件,确保主数据库和从数据库的结构内容达成一致。
B3:若主数据库相对从数据库的区别文件为多余文件,则从从数据库中添加多余文件类型的区别文件。
其中,若主数据库相对从数据库的区别文件为多余文件,则从从数据库中添加多余文件类型的区别文件,确保主数据库和从数据库的结构内容达成一致。
B2和B4为并列关系。
S105:去除主数据库与从数据库之间文件名不同的文件,并对主数据库的文件清单中的对象的内容与从数据库的文件清单中的对象的内容进行判定,若主数据库的文件清单中的同名文件的内容与从数据库的文件清单中的同名文件的内容不一致,则执行S106,若主数据库的文件清单中的同名文件的内容与从数据库的文件清单中的同名文件的内容一致,则执行S107。
在S105中,存在文件名不同的文件,即说明是表、存储过程、触发器等大层级上就有多余文件和缺失文件,因此需要去除主数据库与从数据库之间文件名不同的文件,使得主数据库与从数据库之间的文件的文件名称和文件类型相同后,再对同名文件的内容进行比对,比较表结构、函数和存储过程内容、调度时间和频率是否一致。
S106:生成预设更新脚本,并基于预设更新脚本对从数据库的内容进行更新。
在S106中,若主数据库的文件清单中的同名文件的内容与从数据库的文件清单中的同名文件的内容不一致,生成预设更新脚本,并对从数据库的文件清单中的同名文件的内容更新为与主数据库的文件清单中的同名文件的内容,确保主数据库和从数据库的结构内容达成一致。
对同名文件内容中存在差异的字段或函数等,缺失的内容通过绿色在差异文件中显示,多余的内容通过红色在差异文件中显示。
缺失的内容也可以通过黄色在差异文件中显示,多余的内容通过蓝色在差异文件中显示,缺失的内容和多余的内容在差异文件中颜色的显示,本申请不做具体限定。
预设更新脚本用于从从数据库追平到主据库的结构化查询语言(StructuredQuery Language,SQL)脚本文件。
预设更新脚本的确定本申请不做具体限定。
本方案中,将目标环境的数据库和待追平环境的数据库通过比对之后,执行对应的追平脚本,即可使待追平环境的数据库和目标环境保持完全一致,以保证各环境的功能、问题现象一致,避免因为环境不一致(表结构字段不一致、字段类型不一致、索引不一致、存储过程或调度任务不一致等)导致避免出现程序操作报错、无法登录、批量操作的性能异常等生产事件的发生。
可选的,根据用户选择将其中的一个环境数据库追平程另外一个环境数据库同等的结构信息,使这个数据库的结构内容达成一致。
例如,A数据库为主数据库,B数据库为从数据库,A数据库中包括C表,C表中包括a字段、b字段,c字段,B数据库中也包括该C表,用户从B数据库的C表中选择除a字段以外的其他字段进行追平,使B数据库中的b字段和c字段与A数据库中的C表的b字段和c字段保持一致,使B数据库中C表的a字段与A数据库中C表中的a字段不保持一致。
S107:停止执行对从数据库的更新操作。
本申请实施例中,根据主数据库的文件清单和从数据库的文件清单进行比对,得到主数据库相对于从数据库中的区别文件,即缺失文件和多余文件,并对主数据库的文件清单中的对象的内容与所述从数据库的文件清单中的对象的内容进行判定,得到主数据库的文件清单中的对象的内容与所述从数据库的文件清单中的对象的区别内容,基于区别文件和/或区别内容,对从数据库中的结构内容执行对应的删除、添加、更新等操作,确保主数据库和从数据库中的结构内容达成一致,避免出现程序操作报错、无法登录、批量操作的性能异常等问题。
参考图2所示,为上述S101中涉及到获取数据库信息的过程,主要包括如下步骤:
S201:获取主数据库连接信息和从数据库连接信息;主数据库连接信息通过连接主数据库得到;从数据库连接信息通过连接从数据库得到。
S202:通过主数据库连接信息和从数据库连接信息,得到数据库信息。
S201-S202的执行原理与上述S101的执行原理一致,可参考,此处不再进行赘述。
本申请实施例中,获取主数据库连接信息和从数据库连接信息,通过主数据库连接信息和从数据库连接信息,实现得到数据库信息的目的。
参考图3所示,为上述S103中涉及到获取数据库文本中的主数据库的文件清单和从数据库的文件清单的过程,主要包括如下步骤:
S301:创建主数据库的关键字和从数据库的关键字。
S302:通过主数据库的关键字获取数据库文本中的主数据库的文件清单。
S303:通过从数据库的关键字获取数据库文本中的从数据库的文件清单。
S301-S303的执行原理与上述S103的执行原理一致,可参考,此处不再进行赘述。
本申请实施例中,创建主数据库的关键字和从数据库的关键字,通过主数据库的关键字获取数据库文本中的主数据库的文件清单,通过从数据库的关键字获取数据库文本中的从数据库的文件清单,实现得到获取数据库文本中的主数据库的文件清单和从数据库的文件清单的目的。
参考图4所示,为上述S104中涉及到根据区别文件的类型,对从数据库执行对应操作的过程,主要包括如下步骤:
S401:确定区别文件的类型,区别文件的类型包括缺失文件和多余文件。
S402:若主数据库相对所述从数据库的区别文件为缺失文件,则从数据库中删除缺失文件类型的区别文件。
S403:若主数据库相对从数据库的区别文件为多余文件,则从从数据库中添加多余文件类型的区别文件。
S401-S403的执行原理与上述S104的执行原理一致,可参考,此处不再进行赘述。
本申请实施例中,确定区别文件的类型,区别文件的类型包括缺失文件和多余文件,若主数据库相对所述从数据库的区别文件为缺失文件,则从从数据库中删除区别文件,若主数据库相对从数据库的区别文件为多余文件,则从从数据库中添加多余文件,确保主数据库和从数据库的结构内容达成一致,避免出现程序操作报错、无法登录、批量操作的性能异常等问题。
基于上述实施例图1公开的一种数据处理方法,本申请实施例还对应公开了一种数据处理系统的结构示意图,如图5所示,该数据处理系统包括第一获取单元501、第二获取单元502、比对单元503、执行单元504、判定单元505和更新单元506。
第一获取单元501,用于获取数据库信息;数据库信息包括主数据库信息和从数据库信息;主数据库信息用于指示处于目标环境的数据库信息;从数据库信息用于指示处于测试环境的数据库信息。
第二获取单元502,用于基于数据库信息生成数据库文本,并获取数据库文本中的主数据库的文件清单和从数据库的文件清单。
比对单元503,用于将数据库文本中的主数据库的文件清单和从数据库的文件清单进行比对。
执行单元504,用于若主数据库的文件清单中的对象和从数据库的文件清单中的对象不同,则生成主数据库相对于所述从数据库的区别文件,并根据区别文件的类型,对从数据库执行对应操作。
判定单元505,用于若主数据库的文件清单中的对象和从数据库的文件清单中的对象相同,则去除主数据库与从数据库之间文件名不同的文件,并对主数据库的文件清单中的对象的内容与从数据库的文件清单中的对象的内容进行判定。
更新单元506,用于若主数据库的文件清单中的同名文件的内容与从数据库的文件清单中的同名文件的内容不一致,则生成预设更新脚本,并基于预设更新脚本对从数据库进行更新。
进一步的,第一获取单元501包括第一获取模块和第二获取模块。
第一获取模块,用于获取主数据库连接信息和从数据库连接信息;主数据库连接信息通过连接主数据库得到;从数据库连接信息通过连接从数据库得到。
第二获取模块,用于通过主数据库连接信息和从数据库连接信息,得到数据库信息。
进一步的,第二获取单元502,包括创建模块、第三获取模块和第四获取模块。
创建模块,用于创建主数据库的关键字和从数据库的关键字。
第三获取模块,用于通过主数据库的关键字获取数据库文本中的主数据库的文件清单。
第四获取模块,用于通过从数据库的关键字获取数据库文本中的从数据库的文件清单。
进一步的,根据区别文件的类型,对从数据库执行对应操作的执行单元504,包括确定模块、删除模块和添加模块。
确定模块,用于确定区别文件的类型,区别文件的类型包括缺失文件和多余文件。
删除模块,用于若主数据库相对从数据库的区别文件为缺失文件,则从从数据库中删除缺失文件类型的区别文件。
添加模块,用于若主数据库相对所述从数据库的区别文件为多余文件,则从从数据库中添加多余文件类型的区别文件。
进一步的,还包括停止单元。
停止单元,用于若主数据库的文件清单中的对象的内容与从数据库的文件清单中的对象的内容一致,则停止执行对从数据库的更新操作。
本申请实施例中,根据主数据库的文件清单和从数据库的文件清单进行比对,得到主数据库相对于从数据库中的区别文件,即缺失文件和多余文件,并对主数据库的文件清单中的对象的内容与所述从数据库的文件清单中的对象的内容进行判定,得到主数据库的文件清单中的对象的内容与所述从数据库的文件清单中的对象的区别内容,基于区别文件和/或区别内容,对从数据库中的结构内容执行对应的删除、添加、更新等操作,确保主数据库和从数据库中的结构内容达成一致,避免出现程序操作报错、无法登录、批量操作的性能异常等问题。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请各实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种数据处理方法,其特征在于,所述方法包括:
获取数据库信息;所述数据库信息包括主数据库信息和从数据库信息;所述主数据库信息用于指示处于目标环境的数据库信息;所述从数据库信息用于指示处于测试环境的数据库信息;
基于所述数据库信息生成数据库文本,并获取所述数据库文本中的主数据库的文件清单和从数据库的文件清单;
将所述数据库文本中的所述主数据库的文件清单和所述从数据库的文件清单进行比对;
若所述主数据库的文件清单中的对象和所述从数据库的文件清单中的对象不同,则生成所述主数据库相对于所述从数据库的区别文件,并根据所述区别文件的类型,对所述从数据库执行对应操作;
若所述主数据库的文件清单中的对象和所述从数据库的文件清单中的对象相同,则去除所述主数据库与所述从数据库之间文件名不同的文件,并对所述主数据库的文件清单中的对象的内容与所述从数据库的文件清单中的对象的内容进行判定;
若所述主数据库的文件清单中的同名文件的内容与所述从数据库的文件清单中的同名文件的内容不一致,则生成预设更新脚本,并基于所述预设更新脚本对所述从数据库进行更新。
2.根据权利要求1所述的方法,其特征在于,所述获取数据库信息,包括:
获取主数据库连接信息和从数据库连接信息;所述主数据库连接信息通过连接主数据库得到;所述从数据库连接信息通过连接从数据库得到;
通过所述主数据库连接信息和所述从数据库连接信息,得到数据库信息。
3.根据权利要求1所述的方法,其特征在于,所述获取所述数据库文本中的主数据库的文件清单和从数据库的文件清单,包括:
创建所述主数据库的关键字和所述从数据库的关键字;
通过所述主数据库的关键字获取所述数据库文本中的主数据库的文件清单;
通过所述从数据库的关键字获取所述数据库文本中的从数据库的文件清单。
4.根据权利要求1所述的方法,其特征在于,所述根据所述区别文件的类型,对所述从数据库执行对应操作,包括:
确定区别文件的类型,所述区别文件的类型包括缺失文件和多余文件;
若所述主数据库相对所述从数据库的区别文件为所述缺失文件,则从所述从数据库中删除缺失文件类型的区别文件;
若所述主数据库相对所述从数据库的区别文件为所述多余文件,则从所述从数据库中添加多余文件类型的区别文件。
5.根据权利要求1所述的方法,其特征在于,还包括:
若所述主数据库的文件清单中的对象的内容与所述从数据库的文件清单中的对象的内容一致,则停止执行对所述从数据库的更新操作。
6.一种数据处理系统,其特征在于,所述系统包括:
第一获取单元,用于获取数据库信息;所述数据库信息包括主数据库信息和从数据库信息;所述主数据库信息用于指示处于目标环境的数据库信息;所述从数据库信息用于指示处于测试环境的数据库信息;
第二获取单元,用于基于所述数据库信息生成数据库文本,并获取所述数据库文本中的主数据库的文件清单和从数据库的文件清单;
比对单元,用于将所述数据库文本中的所述主数据库的文件清单和所述从数据库的文件清单进行比对;
执行单元,用于若所述主数据库的文件清单中的对象和所述从数据库的文件清单中的对象不同,则生成所述主数据库相对于所述从数据库的区别文件,并根据所述区别文件的类型,对所述从数据库执行对应操作;
判定单元,用于若所述主数据库的文件清单中的对象和所述从数据库的文件清单中的对象相同,则去除所述主数据库与所述从数据库之间文件名不同的文件,并对所述主数据库的文件清单中的对象的内容与所述从数据库的文件清单中的对象的内容进行判定;
更新单元,用于若所述主数据库的文件清单中的同名文件的内容与所述从数据库的文件清单中的同名文件的内容不一致,则生成预设更新脚本,并基于所述预设更新脚本对所述从数据库进行更新。
7.根据权利要求6所述的系统,其特征在于,所述第一获取单元,包括:
第一获取模块,用于获取主数据库连接信息和从数据库连接信息;所述主数据库连接信息通过连接主数据库得到;所述从数据库连接信息通过连接从数据库得到;
第二获取模块,用于通过所述主数据库连接信息和所述从数据库连接信息,得到数据库信息。
8.根据权利要求6所述的系统,其特征在于,所述第二获取单元,包括:
创建模块,用于创建所述主数据库的关键字和所述从数据库的关键字;
第三获取模块,用于通过所述主数据库的关键字获取所述数据库文本中的主数据库的文件清单;
第四获取模块,用于通过所述从数据库的关键字获取所述数据库文本中的从数据库的文件清单。
9.根据权利要求6所述的系统,其特征在于,根据所述区别文件的类型,对所述从数据库执行对应操作的所述执行单元,包括:
确定模块,用于确定区别文件的类型,所述区别文件的类型包括缺失文件和多余文件;
删除模块,用于若所述主数据库相对所述从数据库的区别文件为所述缺失文件,则从所述从数据库中删除缺失文件类型的区别文件;
添加模块,用于若所述主数据库相对所述从数据库的区别文件为所述多余文件,则从所述从数据库中添加多余文件类型的区别文件。
10.根据权利要求6所述的系统,其特征在于,还包括:
停止单元,用于若所述主数据库的文件清单中的对象的内容与所述从数据库的文件清单中的对象的内容一致,则停止执行对所述从数据库的更新操作。
CN202111043729.3A 2021-09-07 2021-09-07 一种数据处理方法及系统 Active CN113688147B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111043729.3A CN113688147B (zh) 2021-09-07 2021-09-07 一种数据处理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111043729.3A CN113688147B (zh) 2021-09-07 2021-09-07 一种数据处理方法及系统

Publications (2)

Publication Number Publication Date
CN113688147A CN113688147A (zh) 2021-11-23
CN113688147B true CN113688147B (zh) 2024-02-09

Family

ID=78585460

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111043729.3A Active CN113688147B (zh) 2021-09-07 2021-09-07 一种数据处理方法及系统

Country Status (1)

Country Link
CN (1) CN113688147B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101185076A (zh) * 2005-03-31 2008-05-21 瑞士银行股份有限公司 用于使第二数据库与第一数据库同步的计算机网络系统及相应过程
CN104462342A (zh) * 2014-12-04 2015-03-25 北京国双科技有限公司 数据库快照同步处理方法及装置
CN105930493A (zh) * 2016-05-04 2016-09-07 北京思特奇信息技术股份有限公司 一种不同数据库间数据同步的方法和系统
CN108228223A (zh) * 2017-10-26 2018-06-29 山东浪潮云服务信息科技有限公司 基于国产cpu环境的多类型数据库统一增量更新方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101185076A (zh) * 2005-03-31 2008-05-21 瑞士银行股份有限公司 用于使第二数据库与第一数据库同步的计算机网络系统及相应过程
CN104462342A (zh) * 2014-12-04 2015-03-25 北京国双科技有限公司 数据库快照同步处理方法及装置
CN105930493A (zh) * 2016-05-04 2016-09-07 北京思特奇信息技术股份有限公司 一种不同数据库间数据同步的方法和系统
CN108228223A (zh) * 2017-10-26 2018-06-29 山东浪潮云服务信息科技有限公司 基于国产cpu环境的多类型数据库统一增量更新方法

Also Published As

Publication number Publication date
CN113688147A (zh) 2021-11-23

Similar Documents

Publication Publication Date Title
US7624394B1 (en) Software installation verification
US8380588B2 (en) Side-by-side comparison of associations for multi-level bills of material
US8296732B2 (en) Computer-implemented systems and methods for analyzing product configuration and data
US9594797B2 (en) Data quality assessment
US9720971B2 (en) Discovering transformations applied to a source table to generate a target table
US7725501B1 (en) System and method for rapid database application deployment and use
EP3513314A1 (en) System for analysing data relationships to support query execution
CN104965735A (zh) 用于生成升级sql脚本的装置
US20140006459A1 (en) Rule-based automated test data generation
US9514164B1 (en) Selectively migrating data between databases based on dependencies of database entities
US10592482B2 (en) Method and system for identifying and analyzing hidden data relationships in databases
US20060288344A1 (en) Method and apparatus for upgrading a software application in the presence of user modifications
CN109344056B (zh) 一种测试方法以及测试装置
US9164759B2 (en) Test management domain asset discovery and analysis
US20080091647A1 (en) Tool and a method for customizing hint
CN109101410B (zh) 一种风险驱动测试方法和装置以及计算机可读存储介质
Fisun et al. Query parsing in order to optimize distributed DB structure
CN115712623B (zh) 一种基于捕获元数据变更的批量数据容错采集方法
CN111026670A (zh) 测试用例的生成方法、测试用例的生成装置及存储介质
JP2012208664A (ja) ソフトウェア設計・運用統合管理システム
US20110202855A1 (en) Gui evaluation system, gui evaluation method, and gui evaluation program
CN115033894A (zh) 一种基于知识图谱的软件组件供应链安全检测方法及装置
US20140136155A1 (en) Analyzing hardware designs based on component re-use
CN113688147B (zh) 一种数据处理方法及系统
EP4172758A1 (en) Reduced processing loads via selective validation specifications

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
GR01 Patent grant
GR01 Patent grant