会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 专利权 / 专利合作条约 / 第I章 / 国际申请 / 修改 / 数据表的修改方法和装置

数据表的修改方法和装置

阅读:350发布:2021-02-24

IPRDB可以提供数据表的修改方法和装置专利检索,专利查询,专利分析的服务。并且本发明公开了数据表的修改方法和装置。所述方法包括:接收对目标数据表的修改请求;获取与所述目标数据表对应的业务数据;根据所述业务数据和预设的数据表修改规则生成与所述目标数据表对应的修改策略;根据所述修改策略对所述目标数据表进行修改。该技术方案能够针对不同业务使用的数据表根据其业务特性选择合适的时间、修改方式等进行数据表的修改,避免了因为资源紧张等问题导致改表失败和业务故障,提高了改表的成功率和效率,适于MySQL等数据库中数据表的修改。,下面是数据表的修改方法和装置专利的具体信息内容。

1.一种数据表的修改方法,包括:

接收对目标数据表的修改请求;

获取与所述目标数据表对应的业务数据;

根据所述业务数据和预设的数据表修改规则生成与所述目标数据表对应的修改策略;

根据所述修改策略对所述目标数据表进行修改。

2.如权利要求1所述的方法,其中,所述业务数据包括如下的一种或多种:数据表读写情况;

数据表所在机器的资源使用情况;

数据表属性。

3.如权利要求1所述的方法,其中,所述修改策略包括如下的一种或多种:锁表修改;

本机在线修改;

数据表迁移后在线修改。

4.如权利要求1所述的方法,其中,所述根据所述业务数据和预设的数据表修改规则生成与所述目标数据表对应的修改策略包括:当目标数据表所在机器的剩余磁盘空间小于所述数据表的容量时,对所述机器进行磁盘空间整理;

若该机器整理后的剩余磁盘空间大于所述数据表的容量时,对所述目标数据表进行本机在线修改;

若该机器整理后的剩余磁盘空间仍小于所述数据表的容量时,对所述目标数据表进行数据表迁移后在线修改。

5.如权利要求1所述的方法,其中,所述根据所述业务数据和预设的数据表修改规则生成与所述目标数据表对应的修改策略包括:根据所述业务数据和预设的数据表修改规则判断是否可以在线修改,否则生成锁表修改的修改策略;

是则确定可以在线修改的时间,并根据预估的数据表修改所需时间进一步判断是否可以在线修改;

否则生成锁表修改的修改策略,是则生成包含修改时间点的在线修改策略。

6.如权利要求1所述的方法,其中,所述数据表修改所需时间是根据目标数据表的大小预估的。

7.如权利要求1所述的方法,其中,所述预设的数据表修改规则包括若干种数据表修改方式;

所述根据所述业务数据和预设的数据表修改规则生成与所述目标数据表对应的修改策略包括:根据所述业务数据计算出与各数据表修改方式对应的修改权重,根据权重最高的数据表修改方式生成对应的修改策略。

8.一种数据表的修改装置,包括:

请求接收单元,适于接收对目标数据表的修改请求;

业务数据获取单元,适于获取与所述目标数据表对应的业务数据;

修改单元,适于根据所述业务数据和预设的数据表修改规则生成与所述目标数据表对应的修改策略,根据所述修改策略对所述目标数据表进行修改。

9.一种电子设备,其中,该电子设备包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如权利要求1-7中任一项所述的方法。

10.一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现如权利要求1-7中任一项所述的方法。

说明书全文

数据表的修改方法和装置

技术领域

[0001] 本发明涉及计算机技术领域,具体涉及数据表的修改方法和装置。

背景技术

[0002] 数据表的修改又称为“改表”,例如修改表中的数据,与很多业务场景息息相关。现有技术中的改表存在一些不足,举例而言,在线改表场景下,当数据表过大时,如果对磁盘容量预估不足,有时会导致磁盘空间占用达到100%,造成线上业务故障;基于简单规则改表,在复杂环境中容易出现问题,等等。

发明内容

[0003] 鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的数据表的修改方法和装置。
[0004] 依据本发明的一个方面,提供了一种数据表的修改方法,包括:
[0005] 接收对目标数据表的修改请求;
[0006] 获取与所述目标数据表对应的业务数据;
[0007] 根据所述业务数据和预设的数据表修改规则生成与所述目标数据表对应的修改策略;
[0008] 根据所述修改策略对所述目标数据表进行修改。
[0009] 可选地,所述业务数据包括如下的一种或多种:
[0010] 数据表读写情况;
[0011] 数据表所在机器的资源使用情况;
[0012] 数据表属性。
[0013] 可选地,所述修改策略包括如下的一种或多种:
[0014] 锁表修改;
[0015] 本机在线修改;
[0016] 数据表迁移后在线修改。
[0017] 可选地,所述根据所述业务数据和预设的数据表修改规则生成与所述目标数据表对应的修改策略包括:
[0018] 当目标数据表所在机器的剩余磁盘空间小于所述数据表的容量时,对所述机器进行磁盘空间整理;
[0019] 若该机器整理后的剩余磁盘空间大于所述数据表的容量时,对所述目标数据表进行本机在线修改;
[0020] 若该机器整理后的剩余磁盘空间仍小于所述数据表的容量时,对所述目标数据表进行数据表迁移后在线修改。
[0021] 可选地,所述根据所述业务数据和预设的数据表修改规则生成与所述目标数据表对应的修改策略包括:
[0022] 根据所述业务数据和预设的数据表修改规则判断是否可以在线修改,否则生成锁表修改的修改策略;
[0023] 是则确定可以在线修改的时间,并根据预估的数据表修改所需时间进一步判断是否可以在线修改;
[0024] 否则生成锁表修改的修改策略,是则生成包含修改时间点的在线修改策略。
[0025] 可选地,所述数据表修改所需时间是根据目标数据表的大小预估的。
[0026] 可选地,所述预设的数据表修改规则包括若干种数据表修改方式;
[0027] 所述根据所述业务数据和预设的数据表修改规则生成与所述目标数据表对应的修改策略包括:
[0028] 根据所述业务数据计算出与各数据表修改方式对应的修改权重,根据权重最高的数据表修改方式生成对应的修改策略。
[0029] 可选地,所述数据表修改方式包括如下的一种或多种:
[0030] pt-online-schema-change方式,ghost方式,DDL online方式。
[0031] 依据本发明的另一方面,提供了一种数据表的修改装置,包括:
[0032] 请求接收单元,适于接收对目标数据表的修改请求;
[0033] 业务数据获取单元,适于获取与所述目标数据表对应的业务数据;
[0034] 修改单元,适于根据所述业务数据和预设的数据表修改规则生成与所述目标数据表对应的修改策略,根据所述修改策略对所述目标数据表进行修改。
[0035] 可选地,所述业务数据包括如下的一种或多种:
[0036] 数据表读写情况;
[0037] 数据表所在机器的资源使用情况;
[0038] 数据表属性。
[0039] 可选地,所述修改策略包括如下的一种或多种:
[0040] 锁表修改;
[0041] 本机在线修改;
[0042] 数据表迁移后在线修改。
[0043] 可选地,所述修改单元,适于当目标数据表所在机器的剩余磁盘空间小于所述数据表的容量时,对所述机器进行磁盘空间整理;若该机器整理后的剩余磁盘空间大于所述数据表的容量时,对所述目标数据表进行本机在线修改;若该机器整理后的剩余磁盘空间仍小于所述数据表的容量时,对所述目标数据表进行数据表迁移后在线修改。
[0044] 可选地,所述修改单元,适于根据所述业务数据和预设的数据表修改规则判断是否可以在线修改,否则生成锁表修改的修改策略;是则确定可以在线修改的时间,并根据预估的数据表修改所需时间进一步判断是否可以在线修改;否则生成锁表修改的修改策略,是则生成包含修改时间点的在线修改策略。
[0045] 可选地,所述数据表修改所需时间是根据目标数据表的大小预估的。
[0046] 可选地,所述预设的数据表修改规则包括若干种数据表修改方式;
[0047] 所述修改单元,适于根据所述业务数据计算出与各数据表修改方式对应的修改权重,根据权重最高的数据表修改方式生成对应的修改策略。
[0048] 可选地,所述数据表修改方式包括如下的一种或多种:
[0049] pt-online-schema-change方式,ghost方式,DDL online方式。
[0050] 依据本发明的又一方面,提供了一种电子设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如上述任一所述的方法。
[0051] 依据本发明的再一方面,提供了一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现如上述任一所述的方法。
[0052] 由上述可知,本发明的技术方案,在接收到对目标数据表的修改请求后,并不直接对其进行修改,而是先获取与其对应的业务数据,生成相应的修改策略,再根据修改策略对目标数据表进行修改。该技术方案能够针对不同业务使用的数据表根据其业务特性选择合适的时间、修改方式等进行数据表的修改,避免了因为资源紧张等问题导致改表失败和业务故障,提高了改表的成功率和效率,适于MySQL等数据库中数据表的修改。
[0053] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

[0054] 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0055] 图1示出了根据本发明一个实施例的一种数据表的修改方法的流程示意图;
[0056] 图2示出了根据本发明一个实施例的一种数据表的修改装置的结构示意图;
[0057] 图3示出了根据本发明一个实施例的电子设备的结构示意图;
[0058] 图4示出了根据本发明一个实施例的计算机可读存储介质的结构示意图。

具体实施方式

[0059] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0060] 图1示出了根据本发明一个实施例的一种数据表的修改方法的流程示意图。如图1所示,该方法包括:
[0061] 步骤S110,接收对目标数据表的修改请求。
[0062] 例如,在互联网公司,目标数据表可以是线上业务使用的数据表,例如保存用户信息的用户表等,当用户信息发生变动时会产生修改请求。修改数据表通常包括对数据表中数据的修改、数据表结构的修改、数据类型的修改等等。
[0063] 步骤S120,获取与目标数据表对应的业务数据。
[0064] 这里的业务数据反应了使用数据表的业务的业务特性,在本发明的一个实施例中,上述方法中,业务数据包括如下的一种或多种:数据表读写情况;数据表所在机器的资源使用情况;数据表属性。
[0065] 数据读写情况反映出数据表是否被频繁读写,以及在哪个时间段会被频繁读写等等,当数据表读写频繁时不适合进行改表,而是应该选择较为空闲的时间。具体可以通过线程活跃数、增删改查情况、每秒连接数、数据库引擎的每秒读写行数等反映出来。
[0066] 数据表所在机器的资源使用情况通常包括CPU、内存、读写、网卡、磁盘等资源的使用情况,是机器性能的一个直观反应。在机器高负载时同样不适合进行改表,而是应该选择较为空闲的时间。
[0067] 除了上述两种业务数据外,数据表的属性也会影响数据表修改策略的生成,例如存库延迟、是否有外键、binlog日志格式等等。例如当存库延迟过高时不能在线改表。
[0068] 步骤S130,根据业务数据和预设的数据表修改规则生成与目标数据表对应的修改策略。
[0069] 步骤S140,根据修改策略对目标数据表进行修改。
[0070] 可见,图1所示的方法,在接收到对目标数据表的修改请求后,并不直接对其进行修改,而是先获取与其对应的业务数据,生成相应的修改策略,再根据修改策略对目标数据表进行修改。该技术方案能够针对不同业务使用的数据表根据其业务特性选择合适的时间、修改方式等进行数据表的修改,避免了因为资源紧张等问题导致改表失败和业务故障,提高了改表的成功率和效率,适于MySQL等数据库中数据表的修改。
[0071] 在本发明的一个实施例中,上述方法中,修改策略包括如下的一种或多种:锁表修改;本机在线修改;数据表迁移后在线修改。
[0072] 其中,锁表修改是一种可以视为兜底的修改方式,但是由于锁表后数据表不能访问,会直接影响业务,因此会尽量避免此种修改方式。在线修改是对业务影响最小的修改方式,改表期间可以正常访问数据表。其中在本机修改较为容易实现,而在某些情况下,只能先将数据表进行迁移,才能进一步实现数据表修改。
[0073] 例如,在本发明的一个实施例中,上述方法中,根据业务数据和预设的数据表修改规则生成与目标数据表对应的修改策略包括:当目标数据表所在机器的剩余磁盘空间小于数据表的容量时,对机器进行磁盘空间整理;若该机器整理后的剩余磁盘空间大于数据表的容量时,对目标数据表进行本机在线修改;若该机器整理后的剩余磁盘空间仍小于数据表的容量时,对目标数据表进行数据表迁移后在线修改。
[0074] 举例而言,目标数据表大小为200G,其所在机器的剩余磁盘空间为150G。在线改表需要与目标数据表大小相当的空闲磁盘空间,因此当前机器不支持在线改表。而如果对其进行磁盘空间整理后,可以腾出200G以上(一般还要保有余量)的空闲磁盘空间,则可以进行本机在线修改;否则就只能进行数据表迁移。
[0075] 在本发明的一个实施例中,上述方法中,根据业务数据和预设的数据表修改规则生成与目标数据表对应的修改策略包括:根据业务数据和预设的数据表修改规则判断是否可以在线修改,否则生成锁表修改的修改策略;是则确定可以在线修改的时间,并根据预估的数据表修改所需时间进一步判断是否可以在线修改;否则生成锁表修改的修改策略,是则生成包含修改时间点的在线修改策略。
[0076] 本实施例示出的策略可以与前述方式结合使用,也可以单独实施。例如根据业务情况,每天9:00~11:00是业务高峰期,对目标数据表的访问量较大,此时不适合进行改表,需要避开该时段。又或者经过分析发现数据表全天的读写都很频繁(这是一种较为特殊的情况,实际很少发生),那么也只能锁表修改。当数据表修改请求中包含数据表修改时间时,可以根据指定的时间判断在该时间点进行改表能否满足在线修改的条件,例如指定的时间是改表时间是8:00,而预估的数据表修改所需时间是2小时,则会持续到10:00,进入业务高峰期,此时就是不适当的,可以调节至11:00进行修改,这是一种自动实现的方式,在实际应用中也可以根据需求,返回预警信息,由人工重新指定修改时间。在本发明的一个实施例中,上述方法中,数据表修改所需时间是根据目标数据表的大小预估的。一般而言,数据表越大,修改所需的时间也就越长。
[0077] 机器的磁盘占用也通常是随时间变动的,则与前述实施例进行结合,也可以找出剩余磁盘空间大于数据表的容量的时段进行修改。
[0078] 在本发明的一个实施例中,上述方法中,预设的数据表修改规则包括若干种数据表修改方式;根据业务数据和预设的数据表修改规则生成与目标数据表对应的修改策略包括:根据业务数据计算出与各数据表修改方式对应的修改权重,根据权重最高的数据表修改方式生成对应的修改策略。在本发明的一个实施例中,上述方法中,数据表修改方式包括如下的一种或多种:pt-online-schema-change方式,ghost方式,DDL(Data Definition Language,数据定义语言)online方式。
[0079] 上述示出的三种数据表修改方式各有其侧重点,例如在机器负载不同时,各类数据表修改方式的效率不同。上述实施例则是根据获取到的业务数据计算出各数据表修改方式的权重,一般业务数据有多个类别,那么就实际得到了各类别加权后的总权重值,可以评估各类数据表修改方式在实际修改时的效率,选择效率最高的数据表修改方式也能够节约资源。
[0080] 图2示出了根据本发明一个实施例的一种数据表的修改装置的结构示意图。如图2所示,数据表的修改装置200包括:
[0081] 请求接收单元210,适于接收对目标数据表的修改请求。
[0082] 例如,在互联网公司,目标数据表可以是线上业务使用的数据表,例如保存用户信息的用户表等,当用户信息发生变动时会产生修改请求。修改数据表通常包括对数据表中数据的修改、数据表结构的修改、数据类型的修改等等。
[0083] 业务数据获取单元220,适于获取与目标数据表对应的业务数据。
[0084] 这里的业务数据反应了使用数据表的业务的业务特性,在本发明的一个实施例中,上述装置中,业务数据包括如下的一种或多种:数据表读写情况;数据表所在机器的资源使用情况;数据表属性。
[0085] 数据读写情况反映出数据表是否被频繁读写,以及在哪个时间段会被频繁读写等等,当数据表读写频繁时不适合进行改表,而是应该选择较为空闲的时间。具体可以通过线程活跃数、增删改查情况、每秒连接数、数据库引擎的每秒读写行数等反映出来。
[0086] 数据表所在机器的资源使用情况通常包括CPU、内存、读写、网卡、磁盘等资源的使用情况,是机器性能的一个直观反应。在机器高负载时同样不适合进行改表,而是应该选择较为空闲的时间。
[0087] 除了上述两种业务数据外,数据表的属性也会影响数据表修改策略的生成,例如存库延迟、是否有外键、binlog日志格式等等。例如当存库延迟过高时不能在线改表。
[0088] 修改单元230,适于根据业务数据和预设的数据表修改规则生成与目标数据表对应的修改策略,根据修改策略对目标数据表进行修改。
[0089] 可见,图2所示的装置,通过各单元的相互配合,在接收到对目标数据表的修改请求后,并不直接对其进行修改,而是先获取与其对应的业务数据,生成相应的修改策略,再根据修改策略对目标数据表进行修改。该技术方案能够针对不同业务使用的数据表根据其业务特性选择合适的时间、修改方式等进行数据表的修改,避免了因为资源紧张等问题导致改表失败和业务故障,提高了改表的成功率和效率,适于MySQL等数据库中数据表的修改。
[0090] 在本发明的一个实施例中,上述装置中,修改策略包括如下的一种或多种:锁表修改;本机在线修改;数据表迁移后在线修改。
[0091] 其中,锁表修改是一种可以视为兜底的修改方式,但是由于锁表后数据表不能访问,会直接影响业务,因此会尽量避免此种修改方式。在线修改是对业务影响最小的修改方式,改表期间可以正常访问数据表。其中在本机修改较为容易实现,而在某些情况下,只能先将数据表进行迁移,才能进一步实现数据表修改。
[0092] 例如,在本发明的一个实施例中,上述装置中,修改单元230,适于当目标数据表所在机器的剩余磁盘空间小于数据表的容量时,对机器进行磁盘空间整理;若该机器整理后的剩余磁盘空间大于数据表的容量时,对目标数据表进行本机在线修改;若该机器整理后的剩余磁盘空间仍小于数据表的容量时,对目标数据表进行数据表迁移后在线修改。
[0093] 举例而言,目标数据表大小为200G,其所在机器的剩余磁盘空间为150G。在线改表需要与目标数据表大小相当的空闲磁盘空间,因此当前机器不支持在线改表。而如果对其进行磁盘空间整理后,可以腾出200G以上(一般还要保有余量)的空闲磁盘空间,则可以进行本机在线修改;否则就只能进行数据表迁移。
[0094] 在本发明的一个实施例中,上述装置中,修改单元230,适于根据业务数据和预设的数据表修改规则判断是否可以在线修改,否则生成锁表修改的修改策略;是则确定可以在线修改的时间,并根据预估的数据表修改所需时间进一步判断是否可以在线修改;否则生成锁表修改的修改策略,是则生成包含修改时间点的在线修改策略。
[0095] 本实施例示出的策略可以与前述方式结合使用,也可以单独实施。例如根据业务情况,每天9:00~11:00是业务高峰期,对目标数据表的访问量较大,此时不适合进行改表,需要避开该时段。又或者经过分析发现数据表全天的读写都很频繁(这是一种较为特殊的情况,实际很少发生),那么也只能锁表修改。当数据表修改请求中包含数据表修改时间时,可以根据指定的时间判断在该时间点进行改表能否满足在线修改的条件,例如指定的时间是改表时间是8:00,而预估的数据表修改所需时间是2小时,则会持续到10:00,进入业务高峰期,此时就是不适当的,可以调节至11:00进行修改,这是一种自动实现的方式,在实际应用中也可以根据需求,返回预警信息,由人工重新指定修改时间。在本发明的一个实施例中,上述装置中,数据表修改所需时间是根据目标数据表的大小预估的。一般而言,数据表越大,修改所需的时间也就越长。
[0096] 机器的磁盘占用也通常是随时间变动的,则与前述实施例进行结合,也可以找出剩余磁盘空间大于数据表的容量的时段进行修改。
[0097] 在本发明的一个实施例中,上述装置中,预设的数据表修改规则包括若干种数据表修改方式;修改单元230,适于根据业务数据计算出与各数据表修改方式对应的修改权重,根据权重最高的数据表修改方式生成对应的修改策略。在本发明的一个实施例中,上述装置中,数据表修改所需时间数据表修改方式包括如下的一种或多种:pt-online-schema-change方式,ghost方式,DDL online方式。
[0098] 上述示出的三种数据表修改方式各有其侧重点,例如在机器负载不同时,各类数据表修改方式的效率不同。上述实施例则是根据获取到的业务数据计算出各数据表修改方式的权重,一般业务数据有多个类别,那么就实际得到了各类别加权后的总权重值,可以评估各类数据表修改方式在实际修改时的效率,选择效率最高的数据表修改方式也能够节约资源。
[0099] 综上所述,本发明的技术方案,在接收到对目标数据表的修改请求后,并不直接对其进行修改,而是先获取与其对应的业务数据,生成相应的修改策略,再根据修改策略对目标数据表进行修改。该技术方案能够针对不同业务使用的数据表根据其业务特性选择合适的时间、修改方式等进行数据表的修改,避免了因为资源紧张等问题导致改表失败和业务故障,提高了改表的成功率和效率,适于MySQL等数据库中数据表的修改。
[0100] 需要说明的是:
[0101] 在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0102] 在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0103] 类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
[0104] 本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0105] 此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0106] 本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的数据表的修改装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0107] 例如,图3示出了根据本发明一个实施例的电子设备的结构示意图。该电子设备包括处理器310和被安排成存储计算机可执行指令(计算机可读程序代码)的存储器320。存储器320可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。存储器320具有存储用于执行上述方法中的任何方法步骤的计算机可读程序代码331的存储空间330。例如,用于存储计算机可读程序代码的存储空间330可以包括分别用于实现上面的方法中的各种步骤的各个计算机可读程序代码331。计算机可读程序代码331可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(CD)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为例如图4所述的计算机可读存储介质。图4示出了根据本发明一个实施例的一种计算机可读存储介质的结构示意图。该计算机可读存储介质400存储有用于执行根据本发明的方法步骤的计算机可读程序代码331,可以被电子设备300的处理器310读取,当计算机可读程序代码331由电子设备300运行时,导致该电子设备300执行上面所描述的方法中的各个步骤,具体来说,该计算机可读存储介质存储的计算机可读程序代码331可以执行上述任一实施例中示出的方法。计算机可读程序代码331可以以适当形式进行压缩。
[0108] 应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0109] 本发明公开了A1、一种数据表的修改方法,包括:
[0110] 接收对目标数据表的修改请求;
[0111] 获取与所述目标数据表对应的业务数据;
[0112] 根据所述业务数据和预设的数据表修改规则生成与所述目标数据表对应的修改策略;
[0113] 根据所述修改策略对所述目标数据表进行修改。
[0114] A2、如A1所述的方法,其中,所述业务数据包括如下的一种或多种:
[0115] 数据表读写情况;
[0116] 数据表所在机器的资源使用情况;
[0117] 数据表属性。
[0118] A3、如A1所述的方法,其中,所述修改策略包括如下的一种或多种:
[0119] 锁表修改;
[0120] 本机在线修改;
[0121] 数据表迁移后在线修改。
[0122] A4、如A1所述的方法,其中,所述根据所述业务数据和预设的数据表修改规则生成与所述目标数据表对应的修改策略包括:
[0123] 当目标数据表所在机器的剩余磁盘空间小于所述数据表的容量时,对所述机器进行磁盘空间整理;
[0124] 若该机器整理后的剩余磁盘空间大于所述数据表的容量时,对所述目标数据表进行本机在线修改;
[0125] 若该机器整理后的剩余磁盘空间仍小于所述数据表的容量时,对所述目标数据表进行数据表迁移后在线修改。
[0126] A5、如A1所述的方法,其中,所述根据所述业务数据和预设的数据表修改规则生成与所述目标数据表对应的修改策略包括:
[0127] 根据所述业务数据和预设的数据表修改规则判断是否可以在线修改,否则生成锁表修改的修改策略;
[0128] 是则确定可以在线修改的时间,并根据预估的数据表修改所需时间进一步判断是否可以在线修改;
[0129] 否则生成锁表修改的修改策略,是则生成包含修改时间点的在线修改策略。
[0130] A6、如A1所述的方法,其中,所述数据表修改所需时间是根据目标数据表的大小预估的。
[0131] A7、如A1所述的方法,其中,所述预设的数据表修改规则包括若干种数据表修改方式;
[0132] 所述根据所述业务数据和预设的数据表修改规则生成与所述目标数据表对应的修改策略包括:
[0133] 根据所述业务数据计算出与各数据表修改方式对应的修改权重,根据权重最高的数据表修改方式生成对应的修改策略。
[0134] A8、如A7所述的方法,其中,所述数据表修改方式包括如下的一种或多种:
[0135] pt-online-schema-change方式,ghost方式,DDL online方式。
[0136] 本发明还公开了B9、一种数据表的修改装置,包括:
[0137] 请求接收单元,适于接收对目标数据表的修改请求;
[0138] 业务数据获取单元,适于获取与所述目标数据表对应的业务数据;
[0139] 修改单元,适于根据所述业务数据和预设的数据表修改规则生成与所述目标数据表对应的修改策略,根据所述修改策略对所述目标数据表进行修改。
[0140] B10、如B9所述的装置,其中,所述业务数据包括如下的一种或多种:
[0141] 数据表读写情况;
[0142] 数据表所在机器的资源使用情况;
[0143] 数据表属性。
[0144] B11、如B9所述的装置,其中,所述修改策略包括如下的一种或多种:
[0145] 锁表修改;
[0146] 本机在线修改;
[0147] 数据表迁移后在线修改。
[0148] B12、如B9所述的装置,其中,
[0149] 所述修改单元,适于当目标数据表所在机器的剩余磁盘空间小于所述数据表的容量时,对所述机器进行磁盘空间整理;若该机器整理后的剩余磁盘空间大于所述数据表的容量时,对所述目标数据表进行本机在线修改;若该机器整理后的剩余磁盘空间仍小于所述数据表的容量时,对所述目标数据表进行数据表迁移后在线修改。
[0150] B13、如B9所述的装置,其中,
[0151] 所述修改单元,适于根据所述业务数据和预设的数据表修改规则判断是否可以在线修改,否则生成锁表修改的修改策略;是则确定可以在线修改的时间,并根据预估的数据表修改所需时间进一步判断是否可以在线修改;否则生成锁表修改的修改策略,是则生成包含修改时间点的在线修改策略。
[0152] B14、如B9所述的装置,其中,所述数据表修改所需时间是根据目标数据表的大小预估的。
[0153] B15、如B9所述的装置,其中,所述预设的数据表修改规则包括若干种数据表修改方式;
[0154] 所述修改单元,适于根据所述业务数据计算出与各数据表修改方式对应的修改权重,根据权重最高的数据表修改方式生成对应的修改策略。
[0155] B16、如B15所述的装置,其中,所述数据表修改方式包括如下的一种或多种:
[0156] pt-online-schema-change方式,ghost方式,DDL online方式。
[0157] 本发明还公开了C17、一种电子设备,其中,该电子设备包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如A1-A8中任一项所述的方法。
[0158] 本发明还公开了D18、一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现如A1-A8中任一项所述的方法。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用