CN106547870B - 数据库的分表方法及装置 - Google Patents
数据库的分表方法及装置 Download PDFInfo
- Publication number
- CN106547870B CN106547870B CN201610942177.2A CN201610942177A CN106547870B CN 106547870 B CN106547870 B CN 106547870B CN 201610942177 A CN201610942177 A CN 201610942177A CN 106547870 B CN106547870 B CN 106547870B
- Authority
- CN
- China
- Prior art keywords
- sub
- database
- module
- tables
- retrieval
- 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.)
- Expired - Fee Related
Links
Images
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/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9017—Indexing; Data structures therefor; Storage structures using directory or table look-up
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (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
本发明涉及一种数据库的分表方法及装置,所述方法包括:获取数据库分表规则;根据所述数据库分表规则将所述数据库进行分表,各分表以所述数据库分表规则中的关键字作为物理表名。本发明的有益效果为:使得通过数据库分表规则对数据库进行规则化、系统化的分表,并且对各分表以分表规则中预设的关键字进行物理命名,在实现了对数据库进行快速分表的同时,不仅解决了目前数据库中数据碎片化严重、分表混乱的问题,还使得数据库中各分表的显示更加直观,方便对对数据库中各类型分表进行后续的查询、数据统计、数据转移等操作。
Description
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种数据库的分表方法及装置。
背景技术
目前,随着计算机和网络应用的日益广泛以及不同领域的业务种类的日益丰富,对包含海量数据的数据库记录总表进行分表,并随后针对各个分表进行查询操作变得越来越重要。
在现有的技术方案中,各个外部应用均具有针对不同的分表而开发的特定的查询模块,并通过该查询模块对不同的分表进行查询操作。
然而,现有的技术方案存在如下问题:在查询时向数据库中进行查询,而无法在每个相应的分表中进行查询,这样使得总的查询效率被降低,用户无法获得良好的查询体验。
发明内容
本发明提供一种数据库的分表方法及装置,以实现从数据库合理地分表以更加有效率地进行查询操作。
第一方面,本发明实施例提供了一种数据库的分表方法,所述方法包括:
获取数据库分表规则;
根据所述数据库分表规则将所述数据库进行分表,各分表以所述数据库分表规则中的关键字作为物理表名。
结合另一方面,在另一方面的一种可能的实施方式中,所述方法还包括:
获取各所述分表的当前使用系数;
检测各所述当前使用系数是否超过对应的各所述分表的预设使用阈值;
当各所述当前使用系数超过对应的各所述分表的预设使用阈值时,建立新的各所述分表;
当各所述当前使用系数未超过对应的各所述分表的预设使用阈值时,间隔一预设时间,返回获取各所述分表的当前使用系数的步骤。
结合另一方面,在另一方面的一种可能的实施方式中,在所述建立新的各所述分表时,所述方法还包括:
获取当前使用系数超过预设使用阈值的分表的开始时间和建立新表时间;
将所述开始时间和所述建立新表时间作为时间范围加入所述物理表名中。
结合另一方面,在另一方面的一种可能的实施方式中,所述方法还包括:
获取检索关键字;
根据所述检索关键字对各所述分表进行检索优先级的划分;
根据所述检索优先级对各所述分表进行检索。
结合另一方面,在另一方面的一种可能的实施方式中,所述方法还包括:
获取检索关键字;
确定所述检索关键字与各所述分表的物理表名的关联强度;
根据所述关联强度的高低在对应的各所述分表中进行检索。
第二方面,本发明还发明了一种数据库的分表装置,其特征在于,所述装置包括:
获取模块,用于获取数据库分表规则;
分表模块,用于根据所述数据库分表规则将所述数据库进行分表,各分表以所述数据库分表规则中的关键字作为物理表名。
上述的装置,所述装置还包括:
使用系数获取模块,用于获取各所述分表的当前使用系数;
检测模块,用于检测各所述当前使用系数是否超过对应的各所述分表的预设使用阈值;
新表模块,用于当各所述当前使用系数超过对应的各所述分表的预设使用阈值时,建立新的各所述分表;
返回模块,用于当各所述当前使用系数未超过对应的各所述分表的预设使用阈值时,间隔一预设时间,返回获取各所述分表的当前使用系数的步骤。
上述的装置,所述新表模块还包括:
时间获取子模块,用于获取当前使用系数超过预设使用阈值的分表的开始时间和建立新表时间;
添加子模块,用于将所述开始时间和所述建立新表时间作为时间范围加入所述物理表名中。
上述的装置,所述装置还包括:
第一关键字获取模块,用于获取检索关键字;
划分模块,用于根据所述检索关键字对各所述分表进行检索优先级的划分;
第一检索模块,用于根据所述检索优先级对各所述分表进行检索。
上述的装置,所述装置还包括:
第二关键字获取模块,用于获取检索关键字;
强度确定模块,用于确定所述检索关键字与各所述分表的物理表名的关联强度;
第二检索模块,用于根据所述关联强度的高低在对应的各所述分表中进行检索。
本发明通过获取能够在输入的或在云服务平台存储的数据库分表规则,实现了对数据库按照一定的规则进行分表,并且对各分表以分表规则中预设的关键字进行物理命名,实现了对数据库进行快速分表,解决了目前数据库中数据碎片化严重、分表混乱的问题,使得对数据库中未被分表的区域按照获取的数据库分表规则进行分表,并在建立新表时根据已建立的分表进行表的扩充,大大方便后续的数据库查询等工作。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种数据库的分表方法的主流程图。
图2是根据一示例性实施例示出的建立新表时的流程图。
图3是根据一示例性实施例示出的检索时流程图。
图4是根据一示例性实施例示出的另一种检索方式时的流程图。
图5是根据一示例性实施例示出的一种数据库的分表装置的主框图。
图6是根据一示例性实施例示出的建立新表时的框图。
图7是根据一示例性实施例示出的新表命名框图。
图8是根据一示例性实施例示出的一种检索方式下的框图。
图9是根据一示例性实施例示出的另一种检索方式下的框图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图中将各步骤描述成顺序的处理,但是其中的许多步骤可以并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排,当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图内的其它步骤。处理可以对应于方法、函数、规程、子例程、子程序等。
本发明涉及一种数据库的分表方法及装置,其主要运用于数据库分表的场景中,其基本思想是:通过获取预设的或在线输入的数据库分表规则对数据库进行分表,并按照数据库分表规则中的关键字对各分表进行命名,使得数据库中每一区域中的表都能够系统化、明确地显示给用户,用户在后续的查询等操作时能够明确从数据库中的哪一分表区域中查询,减少了后续操作的冗余和繁琐,为后续操作提供了良好的分表基础。
本实施例可适用于云平台中以进行数据库分表的情况中,该方法可以由云平台的中心控制装置来执行,其中该装置可以由软件和/或硬件来实现,一般地可集成于云平台中,如图1所示,为本发明的一种数据库的分表方法的主流程图,结合图示,所述方法具体包括如下步骤:
在步骤110中,获取数据库分表规则;
所述数据库分表规则可以为云平台中预存的各类分表规则,例如针对于不同的应用平台设置的分表规则,也可以为在线编程形成的分表规则,以在当前分表规则不适应当前平台的情况下对所述数据库的分表规则进行调整。
在步骤120中,根据所述数据库分表规则将所述数据库进行分表,各分表以所述数据库分表规则中的关键字作为物理表名。
在不同的数据库中按照数据库分表规则的不同可以实现不同类型的分类,在可能的一种实施方式中,所述数据库可以为一种SQL数据库,所述数据库分表规则可以为:通过mysql集群进行分表、预先估计会出现大量数据且访问频繁的分表以及利用存储引擎进行分表等。
在本发明示例性实施例的另一种实施场景中,各所述数据库分表的命名方式可以为通过数据库分表规则中的关键字作为其命名,例如分表规则为“以用户类型为分表规则”,其中的关键字为“用户”,则其对应的分表为用户分表,分表规则为“以话题类型为分表规则”,其中的关键字为“话题”,则其对应的分表为话题分表,又或者是发帖分表,等等。
以数据库分表规则中的关键字作为对应的分表的物理表名,使得用户能够更直观地对各分表进行识别。
通过本发明的方法,使得通过数据库分表规则对数据库进行规则化、系统化的分表,并且对各分表以分表规则中预设的关键字进行物理命名,在实现了对数据库进行快速分表的同时,不仅解决了目前数据库中数据碎片化严重、分表混乱的问题,还使得数据库中各分表的显示更加直观,方便对对数据库中各类型分表进行后续的查询、数据统计、数据转移等操作。
在本发明示例性实施例的另一种实施场景中,所述方法还包括在当前分表的使用容量超过阈值之后建立新表,以及时对数据进行分类存储的过程,如图2所示,这一过程包括如下步骤:
在步骤210中,获取各所述分表的当前使用系数;
针对于每一类型的数据库分表的当前在线用户的多少以及用户对数据库分表中增加数据、数据查询的频率等情况,确定获取各所述分表的当前使用系数的时间间隔,以可以更及时地在当前各所述分表在容量满额的情况下建立新表加载数据。
各所述分表的当前使用系数可通过对各所述分表的容量的检测进行,检测方法可通过编辑程序语言的方式查询,也可以通过数据库接口连接数据工具等工具进行查询。
在步骤220中,检测各所述当前使用系数是否超过对应的各所述分表的预设使用阈值;
数据库中各分表的预设使用阈值可设置相同或不同,例如,所有分表的预设使用阈值为95%,则在每一分表的当前使用系数在达到95%时建立新表;或者对用户分表的预设使用阈值设置为80%,而话题分表的预设使用阈值设置为90%,这样可以根据不同类型的数据库分表的特性选择预设使用阈值的设置,避免数据库分表由于用户或者话题的大量增加而造成的分表崩溃、数据丢失等情况的发生。
获取的当前使用系数,以及该分表已设置的预设使用阈值,均为对应的各所述分表的数据容量的占用百分比表示方法,其数据表示以及所用单位是统一的以便于比较。
在步骤230中,当各所述当前使用系数超过对应的各所述分表的预设使用阈值时,建立新的各所述分表;
在一种可行的实施场景中,所述分表为用户分表,在用户分表的当前使用系数为95%,而该用户分表的预设使用阈值为90%时,即所述当前使用系数超过对应的各所述分表的预设使用阈值,则此时建立一新的用户分表,并使用户的相关数据存储于新的用户分表中。
在步骤240中,当各所述当前使用系数未超过对应的各所述分表的预设使用阈值时,间隔一预设时间,返回获取各所述分表的当前使用系数的步骤。
在一种可行的实施场景中,所述分表为用户分表,在用户分表的当前使用系数为85%,而该用户分表的预设使用阈值为90%时,即所述当前使用系数未超过对应的各所述分表的预设使用阈值,结合所述当前使用系数以及所述预设使用阈值之间的差值(5%)较小,则此时可间隔一较小的预设时间,例如为120秒后返回步骤210。
而在所述当前使用系数为20%,而该用户分表的预设使用阈值为90%时,鉴于二者之间的差值达到70%,此时可间隔一较大的预设时间,例如为1800秒之后返回步骤210,以再次对当前使用系数进行检测。
通过本发明的方法,在原分表的使用系数达到一预设使用阈值时或者在数据填满时建立一新的分表,并使相关数据存储于新的用户分表中,在建立新表时,可对各相应的分表根据原分表的物理表名按照相应的编号进行命名,例如,原分表为“用户分表”,则新建立的分表可为“用户分表-1”、“用户分表-2”、“用户分表-3”……,以实现对各类型分表的区分,本发明的方法可避免数据库分表由于不能及时建立新表而造成的数据拥堵或者数据崩溃的情况的发生。
在本发明示例性实施例的另一种实施场景中,在所述建立新的各所述分表时,所述方法还包括:
在步骤250中,获取当前使用系数超过预设使用阈值的分表的开始时间和建立新表时间;
在数据库中根据数据库分表规则建立的第一个分表为原表,建立新的分表时为新表,原表的建立时间可获取系统显示的当前时间为开始时间,而每一新表的建立新表时间可作为上一分表的结束时间。
在步骤260中,将所述开始时间和所述建立新表时间作为时间范围加入所述物理表名中。
开始时间和建立新表时间之间概括的时间范围可加入到各所述分表的物理表名中,以使各所述分表的命名规则为“关键字+时间”,进一步使得各分表的命名方式更加合理,并便于后续查询操作。
通过本发明的方法,通过记录每个分表的起始时间和结束时间,并用一时间范围加入到原物理表名中,使得当用户查询时,能够根据用户的注册时间,查找相应的分表,到分表中查找已记录于该用户分表的相关用户的基本信息,可以极大地提升数据查询效率。
在本发明示例性实施例的另一种实施场景中,所述方法还包括在各分表划分后以及相应新的分表建立之后对数据查询的过程,如图3所示,这一过程可包括如下步骤:
在步骤310中,获取检索关键字;
在一种可行的实施方式中,例如在用户分表中查询用户-李刚的相关违规信息时,所述检索关键字可为“用户李刚非法操作”。
针对于不同的数据库分表,其相应的检索关键字以及检索方式并不相同。
在步骤320中,根据所述检索关键字对各所述分表进行检索优先级的划分;
在获取到检索关键字后,在所有的用户分表中根据出现“用户李刚非法操作”关键字的频率进行检索优先级的划分。
在步骤330中,根据所述检索优先级对各所述分表进行检索。
其中,对于出现关键字频率高的用户分表优先进行检索,在其未检索成功的情况下再依次对出现关键字频率较低的用户分表进行检索。
通过本发明的方法,避免了在数据库中进行常规检索的效率低下,使得检索效率大幅提升,一般地优先级较高的数据库分表中即可查询到需要检索的数据,而无需在优先级较低的数据库中做无效查询操作。
在本发明示例性实施例的另一种实施场景中,如图4所示,所述方法还包括在各分表划分后以及相应新的分表建立之后对数据查询的过程,结合图示,这一过程可包括如下步骤:
在步骤410中,获取检索关键字;
在步骤420中,确定所述检索关键字与各所述分表的物理表名的关联强度;
在所述检索关键字中可加入查询时间,各所述分表的物理表名中同样地可加入其分表中各数据记录的最大时间范围,通过该查询时间与各数据库分表的时间范围的比较可得到检索关键字与各所述分表的关联强度。
在步骤430中,根据所述关联强度的高低在对应的各所述分表中进行检索。
通过本发明的方法,避免了在数据库中进行常规检索的效率低下,使得检索效率大幅提升,一般地关联强度较高的数据库分表中即可查询到需要检索的数据,而无需在关联强度较低的数据库中做无效查询操作。
图5为本发明实施例提供的一种数据库的分表装置的信令流程图/结构示意图,该装置可由软件和/或硬件实现,一般地集成于云平台数据库中,可通过的数据库的分表方法来实现。如图所示,本实施例可以以上述实施例为基础,提供了一种数据库的分表装置,其主要包括了获取模块510以及分表模块520,其中的两两模块之间可实现通讯连接,且均可以与云平台的中心控制单元通讯连接。
其中的获取模块510,用于获取数据库分表规则;
其中的分表模块520,用于根据所述数据库分表规则将所述数据库进行分表,各分表以所述数据库分表规则中的关键字作为物理表名。
在本发明示例性实施例的另一种实施场景中,如图6所示,所述装置还包括:
使用系数获取模块530,用于获取各所述分表的当前使用系数;
检测模块540,用于检测各所述当前使用系数是否超过对应的各所述分表的预设使用阈值;
新表模块550,用于当各所述当前使用系数超过对应的各所述分表的预设使用阈值时,建立新的各所述分表;
返回模块560,用于当各所述当前使用系数未超过对应的各所述分表的预设使用阈值时,间隔一预设时间,返回获取各所述分表的当前使用系数的步骤。
在本发明示例性实施例的另一种实施场景中,如图7所示,所述新表模块550还包括:
时间获取子模块560,用于获取当前使用系数超过预设使用阈值的分表的开始时间和建立新表时间;
添加子模块570,用于将所述开始时间和所述建立新表时间作为时间范围加入所述物理表名中。
在本发明示例性实施例的另一种实施场景中,如图8所示,所述装置还包括:
第一关键字获取模块810,用于获取检索关键字;
划分模块820,用于根据所述检索关键字对各所述分表进行检索优先级的划分;
第一检索模块830,用于根据所述检索优先级对各所述分表进行检索。
在本发明示例性实施例的另一种实施场景中,如图9所示,所述装置还包括:
第二关键字获取模块910,用于获取检索关键字;
强度确定模块920,用于确定所述检索关键字与各所述分表的物理表名的关联强度;
第二检索模块930,用于根据所述关联强度的高低在对应的各所述分表中进行检索。
上述实施例中提供的数据库的分表装置可执行本发明中任意实施例中所提供的数据库的分表方法,具备执行该方法相应的功能模块和有益效果,未在上述实施例中详细描述的技术细节,可参见本发明任意实施例中所提供的数据库的分表方法。
将意识到的是,本发明也扩展到适合于将本发明付诸实践的计算机程序,特别是载体上或者载体中的计算机程序。程序可以以源代码、目标代码、代码中间源和诸如部分编译的形式的目标代码的形式,或者以任何其它适合在按照本发明的方法的实现中使用的形式。也将注意的是,这样的程序可能具有许多不同的构架设计。例如,实现按照本发明的方法或者系统的功能性的程序代码可能被再分为一个或者多个子例程。
用于在这些子例程中间分布功能性的许多不同方式将对技术人员而言是明显的。子例程可以一起存储在一个可执行文件中,从而形成自含式的程序。这样的可执行文件可以包括计算机可执行指令,例如处理器指令和/或解释器指令(例如,Java解释器指令)。可替换地,子例程的一个或者多个或者所有子例程都可以存储在至少一个外部库文件中,并且与主程序静态地或者动态地(例如在运行时间)链接。主程序含有对子例程中的至少一个的至少一个调用。子例程也可以包括对彼此的函数调用。涉及计算机程序产品的实施例包括对应于所阐明方法中至少一种方法的处理步骤的每一步骤的计算机可执行指令。这些指令可以被再分成子例程和/或被存储在一个或者多个可能静态或者动态链接的文件中。
另一个涉及计算机程序产品的实施例包括对应于所阐明的系统和/或产品中至少一个的装置中每个装置的计算机可执行指令。这些指令可以被再分成子例程和/或被存储在一个或者多个可能静态或者动态链接的文件中。
计算机程序的载体可以是能够运载程序的任何实体或者装置。例如,载体可以包含存储介质,诸如(ROM例如CDROM或者半导体ROM)或者磁记录介质(例如软盘或者硬盘)。进一步地,载体可以是可传输的载体,诸如电学或者光学信号,其可以经由电缆或者光缆,或者通过无线电或者其它手段传递。当程序具体化为这样的信号时,载体可以由这样的线缆或者装置组成。可替换地,载体可以是其中嵌入有程序的集成电路,所述集成电路适合于执行相关方法,或者供相关方法的执行所用。
应该留意的是,上文提到的实施例是举例说明本发明,而不是限制本发明,并且本领域的技术人员将能够设计许多可替换的实施例,而不会偏离所附权利要求的范围。在权利要求中,任何放置在圆括号之间的参考符号不应被解读为是对权利要求的限制。动词“包括”和其词形变化的使用不排除除了在权利要求中记载的那些之外的元素或者步骤的存在。在元素之前的冠词“一”或者“一个”不排除复数个这样的元素的存在。本发明可以通过包括几个明显不同的组件的硬件,以及通过适当编程的计算机而实现。在列举几种装置的装置权利要求中,这些装置中的几种可以通过硬件的同一项来体现。在相互不同的从属权利要求中陈述某些措施的单纯事实并不表明这些措施的组合不能被用来获益。
如果期望的话,这里所讨论的不同功能可以以不同顺序执行和/或彼此同时执行。此外,如果期望的话,以上所描述的一个或多个功能可以是可选的或者可以进行组合。
如果期望的话,上文所讨论的各步骤并不限于各实施例中的执行顺序,不同步骤可以以不同顺序执行和/或彼此同时执行。此外,在其他实施例中,以上所描述的一个或多个步骤可以是可选的或者可以进行组合。
虽然本发明的各个方面在独立权利要求中给出,但是本发明的其它方面包括来自所描述实施方式的特征和/或具有独立权利要求的特征的从属权利要求的组合,而并非仅是权利要求中所明确给出的组合。
这里所要注意的是,虽然以上描述了本发明的示例实施方式,但是这些描述并不应当以限制的含义进行理解。相反,可以进行若干种变化和修改而并不背离如所附权利要求中所限定的本发明的范围。
本领域普通技术人员应该明白,本发明实施例的装置中的各模块可以用通用的计算装置来实现,各模块可以集中在单个计算装置或者计算装置组成的网络组中,本发明实施例中的装置对应于前述实施例中的方法,其可以通过可执行的程序代码实现,也可以通过集成电路组合的方式来实现,因此本发明并不局限于特定的硬件或者软件及其结合。
本领域普通技术人员应该明白,本发明实施例的装置中的各模块可以用通用的移动终端来实现,各模块可以集中在单个移动终端或者移动终端组成的装置组合中,本发明实施例中的装置对应于前述实施例中的方法,其可以通过编辑可执行的程序代码实现,也可以通过集成电路组合的方式来实现,因此本发明并不局限于特定的硬件或者软件及其结合。
注意,上述仅为本发明的示例性实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (4)
1.一种数据库的分表方法,其特征在于,所述方法包括:
获取数据库分表规则;
根据所述数据库分表规则将所述数据库进行分表,各分表以所述数据库分表规则中的关键字作为物理表名;
所述方法还包括:
获取各所述分表的当前使用系数;
检测各所述当前使用系数是否超过对应的各所述分表的预设使用阈值;
当各所述当前使用系数超过对应的各所述分表的预设使用阈值时,建立新的各所述分表;
当各所述当前使用系数未超过对应的各所述分表的预设使用阈值时,间隔一预设时间,返回获取各所述分表的当前使用系数的步骤;
在所述建立新的各所述分表时,所述方法还包括:
获取当前使用系数超过预设使用阈值的分表的开始时间和建立新表时间;
将所述开始时间和所述建立新表时间作为时间范围加入所述物理表名中;
所述方法还包括:
获取检索关键字;
确定所述检索关键字与各所述分表的物理表名的关联强度;
根据所述关联强度的高低在对应的各所述分表中进行检索。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取检索关键字;
根据所述检索关键字对各所述分表进行检索优先级的划分;
根据所述检索优先级对各所述分表进行检索。
3.一种数据库的分表装置,其特征在于,所述装置包括:
获取模块,用于获取数据库分表规则;
分表模块,用于根据所述数据库分表规则将所述数据库进行分表,各分表以所述数据库分表规则中的关键字作为物理表名;
所述装置还包括:
使用系数获取模块,用于获取各所述分表的当前使用系数;
检测模块,用于检测各所述当前使用系数是否超过对应的各所述分表的预设使用阈值;
新表模块,用于当各所述当前使用系数超过对应的各所述分表的预设使用阈值时,建立新的各所述分表;
返回模块,用于当各所述当前使用系数未超过对应的各所述分表的预设使用阈值时,间隔一预设时间,返回获取各所述分表的当前使用系数的步骤;
所述新表模块还包括:
时间获取子模块,用于获取当前使用系数超过预设使用阈值的分表的开始时间和建立新表时间;
添加子模块,用于将所述开始时间和所述建立新表时间作为时间范围加入所述物理表名中;
所述装置还包括:
第二关键字获取模块,用于获取检索关键字;
强度确定模块,用于确定所述检索关键字与各所述分表的物理表名的关联强度;
第二检索模块,用于根据所述关联强度的高低在对应的各所述分表中进行检索。
4.根据权利要求3所述的装置,其特征在于,所述装置还包括:
第一关键字获取模块,用于获取检索关键字;
划分模块,用于根据所述检索关键字对各所述分表进行检索优先级的划分;
第一检索模块,用于根据所述检索优先级对各所述分表进行检索。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610942177.2A CN106547870B (zh) | 2016-10-31 | 2016-10-31 | 数据库的分表方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610942177.2A CN106547870B (zh) | 2016-10-31 | 2016-10-31 | 数据库的分表方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106547870A CN106547870A (zh) | 2017-03-29 |
CN106547870B true CN106547870B (zh) | 2020-03-17 |
Family
ID=58392201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610942177.2A Expired - Fee Related CN106547870B (zh) | 2016-10-31 | 2016-10-31 | 数据库的分表方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106547870B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107341250A (zh) * | 2017-07-07 | 2017-11-10 | 天津天大求实电力新技术股份有限公司 | 一种适用于大规模电力网格规划的快速检索数据库系统 |
CN107657014A (zh) * | 2017-09-26 | 2018-02-02 | 上海斐讯数据通信技术有限公司 | 一种大容量数据表的动态分表方法及系统 |
CN108304671B (zh) * | 2018-02-12 | 2021-07-27 | 厦门海迈科技股份有限公司 | 建筑信息模型的数据管理方法及相关装置 |
CN110795431B (zh) * | 2019-10-28 | 2020-12-01 | 天津同阳科技发展有限公司 | 环境监测数据处理方法、装置、设备及存储介质 |
CN111209284B (zh) * | 2020-01-10 | 2023-12-29 | 北京仁科互动网络技术有限公司 | 基于元数据的分表方法及装置 |
CN114637744A (zh) * | 2022-02-18 | 2022-06-17 | 深圳联想懂的通信有限公司 | 一种数据库处理方法、装置、电子设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104714972B (zh) * | 2013-12-17 | 2018-06-22 | 中国银联股份有限公司 | 数据库分表建立及查询方法 |
CN103631959A (zh) * | 2013-12-17 | 2014-03-12 | 江苏名通信息科技有限公司 | 一种基于Hash算法支持千万用户数据分表方法 |
CN105045816A (zh) * | 2015-06-26 | 2015-11-11 | 上海斐讯数据通信技术有限公司 | 一种大量数据的存取方法及系统 |
CN105930387A (zh) * | 2016-04-14 | 2016-09-07 | 北京思特奇信息技术股份有限公司 | 一种基于数据路由、分库分表的数据操作系统及方法 |
-
2016
- 2016-10-31 CN CN201610942177.2A patent/CN106547870B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN106547870A (zh) | 2017-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106547870B (zh) | 数据库的分表方法及装置 | |
US11580168B2 (en) | Method and system for providing context based query suggestions | |
US11310066B2 (en) | Method and apparatus for pushing information | |
EP2637111A1 (en) | Data management system and method using database middleware | |
US9355152B2 (en) | Non-exclusionary search within in-memory databases | |
US20130346439A1 (en) | Pushing Business Objects | |
CN107480205B (zh) | 一种进行数据分区的方法和装置 | |
US8812492B2 (en) | Automatic and dynamic design of cache groups | |
CN108874950B (zh) | 一种基于er关系的数据分布存储方法及装置 | |
CN104462430A (zh) | 关系型数据库的数据处理方法及装置 | |
CN104580448A (zh) | 信息推送方法和装置 | |
CN111784468B (zh) | 一种账户关联方法、装置及电子设备 | |
CN114900546B (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
CN109408737B (zh) | 用户推荐方法、装置和存储介质 | |
CN104935966A (zh) | 一种分类视频信息的复制方法及装置 | |
CN109101595B (zh) | 一种信息查询方法、装置、设备及计算机可读存储介质 | |
CN106156210B (zh) | 一种确定应用标识匹配列表的方法和装置 | |
CN104834728A (zh) | 一种订阅视频的推送方法及装置 | |
CN110502168B (zh) | 多点触控功能菜单生成方法、装置、服务器、终端及介质 | |
CN107203550B (zh) | 一种数据处理方法和数据库服务器 | |
CN117272056A (zh) | 对象特征构建方法、装置和计算机可读存储介质 | |
CN108920658B (zh) | 一种移动设备桌面搬家方法、装置及电子设备 | |
CN110019448B (zh) | 一种数据交互方法及装置 | |
CN112434189A (zh) | 数据查询方法、装置及设备 | |
CN109947892B (zh) | 分析路径确定方法及系统、界面、日志树构建方法 |
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 | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: The method and device of dividing database into tables Effective date of registration: 20210104 Granted publication date: 20200317 Pledgee: Inner Mongolia Huipu Energy Co.,Ltd. Pledgor: Tvmining (BEIJING) Technology Co., Ltd. Registration number: Y2020990001518 |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200317 Termination date: 20211031 |