CN106844592A - 一种数据库变更方法及装置 - Google Patents

一种数据库变更方法及装置 Download PDF

Info

Publication number
CN106844592A
CN106844592A CN201710021650.8A CN201710021650A CN106844592A CN 106844592 A CN106844592 A CN 106844592A CN 201710021650 A CN201710021650 A CN 201710021650A CN 106844592 A CN106844592 A CN 106844592A
Authority
CN
China
Prior art keywords
database
change
error information
task
changed
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
Application number
CN201710021650.8A
Other languages
English (en)
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.)
Wireless Living (hangzhou) Mdt Infotech Ltd
Original Assignee
Wireless Living (hangzhou) Mdt Infotech 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 Wireless Living (hangzhou) Mdt Infotech Ltd filed Critical Wireless Living (hangzhou) Mdt Infotech Ltd
Priority to CN201710021650.8A priority Critical patent/CN106844592A/zh
Publication of CN106844592A publication Critical patent/CN106844592A/zh
Pending legal-status Critical Current

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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/278Data partitioning, e.g. horizontal or vertical partitioning
    • 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/25Integrating or interfacing systems involving database management systems

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)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据库变更方法及装置,该方法包括:获取变更任务,根据变更任务对数据库进行变更,实时采集每一个变更任务的报错信息,当报错信息符合预期时,继续对数据库进行变更,当报错信息超出预期时,停止对数据库进行变更。上述技术方案,使分布式MySQL批量变更可以得到稳定性的实时分析和稳定保证,并提高变更的效率,可以给业务的稳定性带来更好的帮助,提升用户体验满意度。

Description

一种数据库变更方法及装置
技术领域
本发明涉及分布式系统领域,特别涉及一种数据库变更方法及装置。
背景技术
随着国家互联网+、电子商务、移动互联网的深入发展,分布式MySQL应用越来越广泛。随着数据量的增加,业务需求场景也是与日俱增,每天都在变化中。分布式MySQL数据库的操作变更在这个背景下变得频繁、重要。为了确保基于MySQL的产品和应用的稳定性,需要确保MySQL的操作变更的影响是可控的。部署了分布式MySQL后,随之带来的问题是如何高效和稳定地进行MySQL的变更。
目前业界大部分的数据库变更处于以下2种阶段:1、人工操作阶段,依赖运维人员DBA人工进行操作,完全依赖人的意识和水平;2、单纯自动化阶段,任务下发的时候全部下发,不会联动业务量情况,不会联动依赖数据库的业务健康。但这两种方式都没考虑到和业务访问量情况,线上业务的实时访问数据库有无报错等问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种数据库变更方法及装置。用以提高数据库变更的效率以及业务的稳定性。
本发明提供一种数据库变更方法,包括:
获取变更任务,根据所述变更任务对数据库进行变更;
实时采集每一个变更任务的报错信息;
当所述报错信息符合预期时,继续对所述数据库进行变更;
当所述报错信息超出预期时,停止对所述数据库进行变更。
在一个实施例中,在所述获取变更任务之前,所述方法还可包括:
按照预设规则将数据库的变更任务划分为N个任务,N为正整数。
在一个实施例中,所述方法还可包括:
实时采集线上业务的关键业务量信息;
每完成一个变更任务,分析所述报错信息和关键业务量信息变化情况。
在一个实施例中,所述当所述报错信息超出预期时,停止对所述数据库进行变更,可包括:
当所述报错信息的持续次数超过预设次数时,停止对所述数据库进行变更,所述报错信息包含数据库异常错误日志。
在一个实施例中,在所述当所述报错信息超出预期时,停止对所述数据库进行变更之后,所述方法还可包括:
发送告警信息。
本发明还提供一种数据库变更装置,包括:
变更模块,用于获取变更任务,根据所述变更任务对数据库进行变更;
第一采集模块,用于实时采集每一个变更任务的报错信息;
继续模块,用于当所述报错信息符合预期时,继续对所述数据库进行变更;
停止模块,用于当所述报错信息超出预期时,停止对所述数据库进行变更。
在一个实施例中,所述装置还可包括:
任务划分模块,用于按照预设规则将数据库的变更任务划分为N个任务,N为正整数。
在一个实施例中,所述装置还可包括:
第二采集模块,用于实时采集线上业务的关键业务量信息;
分析模块,用于每完成一个变更任务,分析所述报错信息和关键业务量信息变化情况。
在一个实施例中,所述停止模块可包括:
停止子模块,用于当所述报错信息的持续次数超过预设次数时,停止对所述数据库进行变更,所述报错信息包含数据库异常错误日志。
在一个实施例中,所述装置还可包括:
告警模块,用于发送告警信息。
本发明的实施例提供的技术方案可以包括以下有益效果:
上述技术方案,通过获取变更任务,根据变更任务对数据库进行变更,实时采集每一个变更任务的报错信息,当报错信息符合预期时,继续对数据库进行变更,当报错信息超出预期时,停止对数据库进行变更。分布式MySQL批量变更可以得到稳定性的实时分析和稳定保证,并提高变更的效率,可以给业务的稳定性带来更好的帮助,提升用户体验满意度。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中一种数据库变更方法的流程图;
图2为本发明实施例中另一种数据库变更方法的流程图;
图3为本发明实施例中另一种数据库变更方法的流程图;
图4为本发明实施例中另一种数据库变更方法的流程图;
图5为本发明实施例中另一种数据库变更方法的流程图;
图6为本发明实施例中一种数据库变更装置的框图;
图7为本发明实施例中另一种数据库变更装置的框图;
图8为本发明实施例中另一种数据库变更装置的框图;
图9为本发明实施例中另一种数据库变更装置的框图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1所示为本发明实施例中一种数据库变更方法的流程图,如图1所示,该数据库变更方法包括以下步骤S11-S14:
步骤S11,获取变更任务,根据变更任务对数据库进行变更。
步骤S12,实时采集每一个变更任务的报错信息。
步骤S13,当报错信息符合预期时,继续对数据库进行变更。
步骤S14,当报错信息超出预期时,停止对数据库进行变更。
数据库提供了对数据的存储功能,并且能够支持用户对所保存的数据的访问功能。实际应用中,用户往往对数据库中保存的数据存在变更的需求,例如,新增数据、删除数据、修改数据等。因此,数据库也能够支持用户对数据库进行变更的需求。用户对数据库进行变更,主要通过如下步骤实现:数据库开发人员根据数据库变更需求,编写结构化查询语言(Structured Query Language,SQL)语句;数据库变更需求一般包括数据库的变更对象信息以及对该数据库变更对象执行的操作类型信息。数据库开发人员将编写的SQL语句发送给数据库管理员(Database administrator,DBA);DBA对接收的SQL语句进行审核,即判断SQL语句的编写是否准确;DBA对接收的SQL语句审核通过后,根据该SQL语句确定数据库变更需求;DBA登录数据库,根据确定出的数据库变更需求,对数据库执行与该变更需求相应的操作;DBA在完成对数据库的操作后,将数据库开发人员编写的SQL语句应用到该数据库的开发库。
在这个过程中,为了确保基于MySQL的产品和应用的稳定性,需要确保MySQL的操作变更的影响是可控的。本发明实施例的上述方法,通过获取变更任务,根据变更任务对数据库进行变更,实时采集每一个变更任务的报错信息,当报错信息符合预期时,继续对数据库进行变更,当报错信息超出预期时,停止对数据库进行变更。分布式MySQL批量变更可以得到稳定性的实时分析和稳定保证,并提高变更的效率,可以给业务的稳定性带来更好的帮助和保证影响范围最小,提升用户体验满意度。
在一个实施例中,在步骤S11之前,如图2所示,该数据库变更方法还可包括以下步骤S15:
步骤S15,按照预设规则将数据库的变更任务划分为N个任务,N为正整数。
本实施了提供一个数据库变更任务初始化程序,该程序会把数据库的变更任务初始化为N个任务。比如添加1000个表,则自动拆分为1000个任务。
在一个实施例中,如图3所示,该数据库变更方法还可包括以下步骤S16-S17:
步骤S16,实时采集线上业务的关键业务量信息。
步骤S17,每完成一个变更任务,分析报错信息和关键业务量信息变化情况。
在一个实施例中,如图4所示,步骤S14可以实施为如下步骤S141:
步骤S141,当报错信息的持续次数超过预设次数时,停止对数据库进行变更,报错信息包含数据库异常错误日志。
本实施例提供一个变更任务控制模块,控制模块会对业务报错信息进行处理,如判断业务报错信息里面是否有SQLException的错误日志,比如对A数据库进行变更,依赖A数据库的业务一直出现SQLException错误,在数据库变更完成后依然在报错,程序自动判断变更任务不可继续,自动停止变更。
在一个实施例中,如图5所示,在步骤S14之后,该数据库变更方法还可包括如下步骤S18:
步骤S18,发送告警信息。
数据库停止变更后,发送告警信息,方便运维人员及时了解数据库变更情况。
基于同一发明构思,本发明实施例还提供了一种数据库变更装置,由于该装置所解决问题的原理与前述数据库变更方法相似,因此该装置的实施可以参见前述方法的实施,重复之处不再赘述。
图6所示为本发明实施例中一种数据库变更装置的框图,如图6所示,该数据库变更装置包括:
变更模块61,用于获取变更任务,根据变更任务对数据库进行变更;
第一采集模块62,用于实时采集每一个变更任务的报错信息;
继续模块63,用于当报错信息符合预期时,继续对数据库进行变更;
停止模块64,用于当报错信息超出预期时,停止对数据库进行变更。
在一个实施例中,如图7所示,该数据库变更装置还可包括:
任务划分模块65,用于按照预设规则将数据库的变更任务划分为N个任务,N为正整数。
在一个实施例中,如图8所示,该数据库变更装置还可包括:
第二采集模块66,用于实时采集线上业务的关键业务量信息;
分析模块67,用于每完成一个变更任务,分析报错信息和关键业务量信息变化情况。
在一个实施例中,停止模块64可包括:
停止子模块,用于当报错信息的持续次数超过预设次数时,停止对数据库进行变更,报错信息包含数据库异常错误日志。
在一个实施例中,如图9所示,该数据库变更装置还可包括:
告警模块68,用于发送告警信息。
本发明实施例的上述装置,通过获取变更任务,根据变更任务对数据库进行变更,实时采集每一个变更任务的报错信息,当报错信息符合预期时,继续对数据库进行变更,当报错信息超出预期时,停止对数据库进行变更。分布式MySQL批量变更可以得到稳定性的实时分析和稳定保证,并提高变更的效率,可以给业务的稳定性带来更好的帮助,提升用户体验满意度。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种数据库变更方法,其特征在于,包括:
获取变更任务,根据所述变更任务对数据库进行变更;
实时采集每一个变更任务的报错信息;
当所述报错信息符合预期时,继续对所述数据库进行变更;
当所述报错信息超出预期时,停止对所述数据库进行变更。
2.如权利要求1所述的方法,其特征在于,在所述获取变更任务之前,所述方法还包括:
按照预设规则将数据库的变更任务划分为N个任务,N为正整数。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
实时采集线上业务的关键业务量信息;
每完成一个变更任务,分析所述报错信息和关键业务量信息变化情况。
4.如权利要求1所述的方法,其特征在于,所述当所述报错信息超出预期时,停止对所述数据库进行变更,包括:
当所述报错信息的持续次数超过预设次数时,停止对所述数据库进行变更,所述报错信息包含数据库异常错误日志。
5.如权利要求1-4中任一项所述的方法,其特征在于,在所述当所述报错信息超出预期时,停止对所述数据库进行变更之后,所述方法还包括:
发送告警信息。
6.一种数据库变更装置,其特征在于,包括:
变更模块,用于获取变更任务,根据所述变更任务对数据库进行变更;
第一采集模块,用于实时采集每一个变更任务的报错信息;
继续模块,用于当所述报错信息符合预期时,继续对所述数据库进行变更;
停止模块,用于当所述报错信息超出预期时,停止对所述数据库进行变更。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:
任务划分模块,用于按照预设规则将数据库的变更任务划分为N个任务,N为正整数。
8.如权利要求6所述的装置,其特征在于,所述装置还包括:
第二采集模块,用于实时采集线上业务的关键业务量信息;
分析模块,用于每完成一个变更任务,分析所述报错信息和关键业务量信息变化情况。
9.如权利要求6所述的装置,其特征在于,所述停止模块包括:
停止子模块,用于当所述报错信息的持续次数超过预设次数时,停止对所述数据库进行变更,所述报错信息包含数据库异常错误日志。
10.如权利要求6-9中任一项所述的装置,其特征在于,所述装置还包括:
告警模块,用于发送告警信息。
CN201710021650.8A 2017-01-12 2017-01-12 一种数据库变更方法及装置 Pending CN106844592A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710021650.8A CN106844592A (zh) 2017-01-12 2017-01-12 一种数据库变更方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710021650.8A CN106844592A (zh) 2017-01-12 2017-01-12 一种数据库变更方法及装置

Publications (1)

Publication Number Publication Date
CN106844592A true CN106844592A (zh) 2017-06-13

Family

ID=59124833

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710021650.8A Pending CN106844592A (zh) 2017-01-12 2017-01-12 一种数据库变更方法及装置

Country Status (1)

Country Link
CN (1) CN106844592A (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1298540A1 (en) * 2001-09-27 2003-04-02 BRITISH TELECOMMUNICATIONS public limited company Method of customising terms
JP2005092707A (ja) * 2003-09-19 2005-04-07 Seiko Epson Corp 類似度算出システムおよび類似度算出プログラム、並びに類似度算出方法
CN101425024A (zh) * 2008-10-24 2009-05-06 中国移动通信集团山东有限公司 一种多任务处理方法及装置
CN102073912A (zh) * 2009-11-23 2011-05-25 中国移动通信集团黑龙江有限公司 数据质量控制方法、装置及系统
CN103577551A (zh) * 2013-10-16 2014-02-12 青岛海信传媒网络技术有限公司 一种数据批量提交到数据库的方法和装置
CN105447408A (zh) * 2015-12-03 2016-03-30 曙光信息产业(北京)有限公司 一种数据保护方法及装置
CN105653362A (zh) * 2015-12-23 2016-06-08 北京奇虎科技有限公司 用于管理定时任务的方法和设备
CN106293920A (zh) * 2016-08-15 2017-01-04 北京票之家科技有限公司 任务调度方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1298540A1 (en) * 2001-09-27 2003-04-02 BRITISH TELECOMMUNICATIONS public limited company Method of customising terms
JP2005092707A (ja) * 2003-09-19 2005-04-07 Seiko Epson Corp 類似度算出システムおよび類似度算出プログラム、並びに類似度算出方法
CN101425024A (zh) * 2008-10-24 2009-05-06 中国移动通信集团山东有限公司 一种多任务处理方法及装置
CN102073912A (zh) * 2009-11-23 2011-05-25 中国移动通信集团黑龙江有限公司 数据质量控制方法、装置及系统
CN103577551A (zh) * 2013-10-16 2014-02-12 青岛海信传媒网络技术有限公司 一种数据批量提交到数据库的方法和装置
CN105447408A (zh) * 2015-12-03 2016-03-30 曙光信息产业(北京)有限公司 一种数据保护方法及装置
CN105653362A (zh) * 2015-12-23 2016-06-08 北京奇虎科技有限公司 用于管理定时任务的方法和设备
CN106293920A (zh) * 2016-08-15 2017-01-04 北京票之家科技有限公司 任务调度方法及装置

Similar Documents

Publication Publication Date Title
CN110292775B (zh) 获取差异数据的方法及装置
US9436734B2 (en) Relative performance prediction of a replacement database management system (DBMS)
US20090271351A1 (en) Rules engine test harness
EP4053824A1 (en) Testing system
CN108764480A (zh) 一种信息处理的系统
US10311111B2 (en) Search method and apparatus and storage medium
CN110096434A (zh) 一种接口测试方法及装置
EP2169572A2 (en) System and method for using classification trees to predict rare events
CN110262942A (zh) 一种日志分析方法及装置
CN107463935A (zh) 应用分类方法和应用分类装置
CN108470071A (zh) 一种数据处理方法及装置
CN108255852B (zh) Sql执行方法及装置
CN106021114B (zh) 面向智能机器人的自动化测试方法及系统
US7949620B2 (en) Method and device for detecting clusters amongst data arranged in orders for cluster creation and removal based on conditional probabilities between clusters
CN111767277A (zh) 数据处理方法和装置
CN107491558A (zh) 元数据更新方法及装置
CN110750299A (zh) 智能软件质量跟踪系统、方法及存储介质
CN112256576B (zh) 人机对话语料测试方法、装置、设备及存储介质
CN111949786A (zh) 智能问答模型优化方法及装置
CN106844592A (zh) 一种数据库变更方法及装置
CN104331507B (zh) 机器数据类别自动发现和分类的方法及装置
US20200204434A1 (en) Automated remediation of information technology events
CN112766779B (zh) 信息处理方法、计算机设备及存储介质
CN111523685B (zh) 基于主动学习的降低性能建模开销的方法
US9239867B2 (en) System and method for fast identification of variable roles during initial data exploration

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: 20170613

RJ01 Rejection of invention patent application after publication