掌桥专利:专业的专利平台
掌桥专利
首页

一种分库分表数据的处理方法和装置

文献发布时间:2023-06-19 09:57:26


一种分库分表数据的处理方法和装置

技术领域

本发明数据处理技术领域,具体涉及一种分库分表数据的处理方法和装置。

背景技术

随着业务的增多,将所有业务都放在一个库中已经变得越来越难以维护。所以,越来越多的项目采用分库分表的方式提高数据库的响应。分库分表根据一定规则计算落库地址,由于数据动态变化,所以测试人员无法准确知道数据保存在哪张表中。

当前虽然可以通过ElasticSearch工具查询分库分表数据,但是该工具具有延迟高、只能查询以及查询语法复杂的缺点,无法满足日常工作需要。

发明内容

有鉴于此,本发明的目的在于克服现有技术的不足,提供一种分库分表数据的处理方法和装置,以解决现有技术中处理分库分表数据的工具存在延迟高、只能查询以及查询语法复杂的问题。

根据本申请实施例的第一方面,提供一种分库分表数据的处理方法,所述方法包括:

采集界面数据;

根据所述界面数据获取第一表名称;

利用所述表名进行数据的查询、修改、删除和/或导出。

进一步的,所述根据所述界面数据获取第一表名称,包括:

根据所述界面数据中的快递运单号分别获取库名称和第二表名称;

令所述库名称加第二表名称为所述第一表名称。

进一步的,所述根据所述界面数据中的快递运单号获取库名称,包括:

获取快递运单号的后4位数,并取32的模,获取第一余数;

利用所述第一余数命名所述库名称。

进一步的,所述根据所述界面数据中的快递运单号获取第二表名称,包括:

获取快递运单号的后4位数,令快递运单号的后4位数除以32,取整数;

将所述整数除以32,获取第二余数;

利用所述第二余数命名所述第二表名称。

进一步的,所述利用所述第一表名称进行数据的查询、修改、删除和/或导出,包括:

根据所述第一表名称,利用SQL生成包含第一表名称的SQL语句;

利用所述包含第一表名称的SQL语句进行数据的查询、修改、删除和/或导出。

根据本申请实施例的第二方面,提供一种分库分表数据的处理装置,所述装置包括:

采集单元,用于采集界面数据;

获取单元,用于根据所述界面数据获取第一表名称;

操作单元,利用所述第一表名称进行数据的查询、修改、删除和/或导出。

进一步的,所述获取单元,包括:

第一获取模块,用于根据所述界面数据中的快递运单号获取库名称;

第二获取模块,用于根据所述界面数据中的快递运单号获取第二表名称;

确定模块,用于令所述库名称加第二表名称为所述第一表名称。

进一步的,所述第一获取模块,包括:

第一获取子模块,用于获取快递运单号的后4位数,并取32的模,获取第一余数;

第一命名子模块,用于利用所述第一余数命名所述库名称。

进一步的,所述第二获取模块,用于:

第二获取子模块,用于获取快递运单号的后4位数,令快递运单号的后4位数除以32,取整数;

第三获取子模块,用于将所述整数除以32,获取第二余数;

第二命名子模块,用于利用所述第二余数命名所述第二表名称。

进一步的,所述操作单元,包括:

生成模块,用于根据所述第一表名称,利用SQL生成包含第一表名称的SQL语句;

操作模块,用于利用所述包含第一表名称的SQL语句进行数据的查询、修改、删除和/或导出。

本发明采用以上技术方案,能够达到的有益效果包括:通过采集界面数据,根据界面数据获取第一表名称,利用第一表名称进行数据的查询、修改、删除和/或导出,实现了对分库分表数据的查询、修改、删除和/或导出等操作,并且操作延迟低,操作语法简单,提高了操作效率,使得查询更加准确。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据一示例性实施例示出的一种分库分表数据的处理方法的流程图;

图2是根据一示例性实施例示出的另一种分库分表数据的处理方法的流程图;

图3是根据一示例性实施例示出的是一种分库分表数据的处理方法装置的框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。

图1是根据一示例性实施例示出的一种分库分表数据的处理方法的流程图,如图1所示,该方法可以但不限于用于终端中,包括以下步骤:

步骤101:采集界面数据;

步骤102:根据界面数据获取第一表名称;

步骤103:利用表名进行数据的查询、修改、删除和/或导出。

一些实施例中,界面数据可以但不限于为接收的用户输入的数据。

进一步可选的,步骤102,包括:

步骤1021:根据界面数据中的快递运单号分别获取库名称和第二表名称;

步骤1022:令库名称加第二表名称为第一表名称。

进一步可选的,步骤1021中根据界面数据中的快递运单号获取库名称,包括:

1021a:获取快递运单号的后4位数,并取32的模,获取第一余数;

1021b:利用第一余数命名库名称。

一些实施例中,利用第一余数命名库名称可以但不限于为order_db_第一余数。

例如,假设快递运单号的后四位为0171,则取32的模后,获取的第一余数为11;然后利用11命名库名称,则库名称为order_db_11。

进一步可选的,步骤1021中根据界面数据中的快递运单号获取第二表名称,包括:

1021c:获取快递运单号的后4位数,令快递运单号的后4位数除以32,取整数;

1021d:将整数除以32,获取第二余数;

1021e:利用第二余数命名第二表名称。

一些实施例中,利用第二余数命名库名称可以但不限于为order_tb_第二余数。

例如,假设快递运单号为19408064,用后四位为8064除以32,得到的是251.9,取它的整数是251;接着将251除以32,取余数,余数为27,则第二表名称为order_tb_27。

进一步可选的,利用第一表名称进行数据的查询、修改、删除和/或导出,包括:

根据第一表名称,利用SQL生成包含第一表名称的SQL语句;

利用包含第一表名称的SQL语句进行数据的查询、修改、删除和/或导出。

需要说明的是,本发明实施例中涉及的“利用SQL生成包含第一表名称的SQL语句”和“利用包含第一表名称的SQL语句进行数据的查询、修改、删除和/或导出”方式,是本领域技术人员所熟知的,因此,其具体实现方式不做过多描述。

例如:用户需要查询数据,则生成的SQL语句可以但不限于为:SELECT*FROMorder_db_第一余数.order_tb_第二余数WHERE查询条件。

其中,查询条件可以但不限于是用户在界面中填入的,例如用户输入phoneNumber=’13800000001’,那么SQL语句就是:SELECT*FROM order_db_第一余数.order_tb_第二余数WHERE phoneNumber=’13800000001’。

本发明实施例提供的一种分库分表数据的处理方法,通过采集界面数据,根据界面数据获取第一表名称,利用第一表名称进行数据的查询、修改、删除和/或导出,实现了对分库分表数据的查询、修改、删除和/或导出等操作,并且操作延迟低,操作语法简单,提高了操作效率,使得查询更加准确;同时,通过先计算后查询的方式大大提升了系统的性能。

本发明实施例还提供另一种分库分表数据的处理方法,该方法基于Jmeter实现对分库分表数据的查询、修改、删除、导出操作,如图2所示,包括以下步骤:

步骤201:继承Jmeter的AbstractSamplerGui类,自定义界面;

需要说明的,本发明实施例中涉及的“自定义界面”方式,是本领域技术人员所熟知的,因此,其具体实现方式不做过多描述;

一些实施例中,自定义界面是利用Jmeter工具设计的用来接收用户数据的界面(即界面数据)。自定义界面元素可以但不限于包括:

1、操作选项:查询、删除、修改、导出;

2、快递单号文本框;

3、库名前缀文本框;

4、表名前缀文本框;

5、查询条件文本框;

6、提交按钮;

步骤202:继承Jmeter的AbstractSampler类,接收界面数据,根据界面数据获取第一表名称;

步骤203:根据第一表名称,利用SQL生成包含第一表名称的SQL语句;

步骤204:使用该SQL语句进行分库分表数据的查询、修改、删除和/或导出。

需要说明的是,本发明实施例中涉及的“继承Jmeter的AbstractSampler Gui类,自定义界面”和“继承Jmeter的AbstractSampler类”方式,是本领域技术人员所熟知的,因此,其具体实现方式不做过多描述。

进一步可选的,步骤202中根据界面数据获取第一表名称可以通过但不限于以下过程实现:

步骤2021:根据所述界面数据中的快递运单号获取库名称;

步骤2022:根据所述界面数据中的快递运单号获取第二表名称;

步骤2023:令库名称加第二表名称为第一表名称。

进一步可选的,步骤2021,包括:

2021a:获取快递运单号的后4位数,并取32的模,获取第一余数;

2021b:利用第一余数命名库名称。

进一步可选的,步骤2022,包括:

2022a:获取快递运单号的后4位数,令快递运单号的后4位数除以32,取整数;

2022b:将整数除以32,获取第二余数;

2022c:利用第二余数命名第二表名称。

本发明实施例提供的令一种分库分表数据的处理方法,实现了对分库分表数据的查询、修改、删除和/或导出等操作,并且操作延迟低,操作语法简单,提高了操作效率,使得查询更加准确;同时,通过先计算后查询的方式大大提升了系统的性能。

为配合实现上述分库分表数据的处理方法,本发明实施例还提供一种分库分表数据的处理装置,如图3所示,该装置包括:

采集单元,用于采集界面数据;

获取单元,用于根据界面数据获取第一表名称;

操作单元,利用第一表名称进行数据的查询、修改、删除和/或导出。

进一步可选的,获取单元,包括:

第一获取模块,用于根据界面数据中的快递运单号获取库名称;

第二获取模块,用于根据界面数据中的快递运单号获取第二表名称;

确定模块,用于令库名称加第二表名称为第一表名称。

进一步可选的,第一获取模块,包括:

第一获取子模块,用于获取快递运单号的后4位数,并取32的模,获取第一余数;

第一命名子模块,用于利用第一余数命名库名称。

进一步可选的,第二获取模块,用于:

第二获取子模块,用于获取快递运单号的后4位数,令快递运单号的后4位数除以32,取整数;

第三获取子模块,用于将整数除以32,获取第二余数;

第二命名子模块,用于利用第二余数命名第二表名称。

进一步可选的,操作单元,包括:

生成模块,用于根据第一表名称,利用SQL生成包含第一表名称的SQL语句;

操作模块,用于利用包含第一表名称的SQL语句进行数据的查询、修改、删除和/或导出。

需要说明的是,本发明实施例中涉及的“利用SQL生成包含第一表名称的SQL语句”和“利用包含第一表名称的SQL语句进行数据的查询、修改、删除和/或导出”方式,是本领域技术人员所熟知的,因此,其具体实现方式不做过多描述。

本发明实施例提供的一种分库分表数据的处理装置,通过采集单元采集界面数据,获取单元根据界面数据获取第一表名称,操作单元利用第一表名称进行数据的查询、修改、删除和/或导出,实现了对分库分表数据的查询、修改、删除和/或导出等操作,并且操作延迟低,操作语法简单,提高了操作效率,使得查询更加准确;同时,通过先计算后查询的方式大大提升了系统的性能。

可以理解的是,上述提供的装置实施例与上述的方法实施例对应,相应的具体内容可以相互参考,在此不再赘述。

本发明实施例还提供一种可读存储介质,其上存储有可执行程序,该可执行程序被处理器执行时实现上述分库分表数据的处理方法中的步骤。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令方法的制造品,该指令方法实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 一种分库分表数据的处理方法和装置
  • 一种分布式内存数据库数据路由和分库分表的方法及装置
技术分类

06120112363253