CN111506573B - 数据库表分区方法、装置、计算机设备及存储介质 - Google Patents

数据库表分区方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN111506573B
CN111506573B CN202010183137.0A CN202010183137A CN111506573B CN 111506573 B CN111506573 B CN 111506573B CN 202010183137 A CN202010183137 A CN 202010183137A CN 111506573 B CN111506573 B CN 111506573B
Authority
CN
China
Prior art keywords
partition
data
sub
index
database table
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
CN202010183137.0A
Other languages
English (en)
Other versions
CN111506573A (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.)
Ping An Life Insurance Company of China Ltd
Original Assignee
Ping An Life Insurance Company 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 Ping An Life Insurance Company of China Ltd filed Critical Ping An Life Insurance Company of China Ltd
Priority to CN202010183137.0A priority Critical patent/CN111506573B/zh
Publication of CN111506573A publication Critical patent/CN111506573A/zh
Application granted granted Critical
Publication of CN111506573B publication Critical patent/CN111506573B/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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • 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/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24558Binary matching operations
    • G06F16/2456Join operations
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据库表分区方法、装置、计算机设备及存储介质。所述方法包括:获取用于建立数据库表中的主分区的第一数据指标以及第一数据指标的第一数量;解析与第一数据指标关联的预设代码列表,得到解析结果,并自解析结果中提取指标代码;在数据库表中建立数量为第一数量的主分区,并将主分区分别与第一数据指标一一对应关联,同时在数据库表中的主分区下建立一个第一子分区;在第一子分区下建立第二子分区;在一个主分区中,按照该主分区中的第二子分区的建立时间的先后顺序,依次将第二子分区拼接至主分区,得到完成分区的数据库表。通过本发明可对数据库表进行数据分区,提高数据库表的整体数据处理能力。

Description

数据库表分区方法、装置、计算机设备及存储介质
技术领域
本发明涉及数据存储领域,尤其涉及一种数据库表分区方法、装置、计 算机设备及存储介质。
背景技术
目前很多项目的运营和实施,需运用事实表中的大量数据,并且事实表 中的数据还不断进行动态增加,此时就需要一种好的保存方式去分类存储上 述提到的数据。目前,Oracle为上述事实表提供了自动建分区的功能,可以 按天自动扩展分区,即每天都会自动建立一个以天为分区单位的分区,但是 Oracle的上述方案存在以下缺陷:一是建立分区的脚本语言将会非常繁多, 从而导致技术人员难以去整理;二是分区的名字是固定的,不能指定有特殊 意义的分区名,从而不方便于辨识和理解;三是不支持复合分区,从而导致 数据拓展性较差。因此,本领域技术人员亟需寻找一种技术方案解决上述提 到的缺陷。
发明内容
基于此,有必要针对上述技术问题,提供一种数据库表分区方法、装置、 计算机设备及存储介质,用于减少建立分区的脚本语言、提高分区的辨识能 力、提高分区的拓展能力和对数据库表进行数据分区,提高数据库表的整体 数据处理能力。
一种数据库表分区方法,包括:
接收数据库表的分区信号,从预设数据接口获取用于建立所述数据库表 中的主分区的第一数据指标以及所述第一数据指标的第一数量;一个所述第 一数据指标关联一个预设代码列表;
利用预设解析方法解析与所述第一数据指标关联的所述预设代码列表, 得到所述预设代码列表的解析结果,并自所述解析结果中提取与所述第一数 据指标关联的指标代码;
在所述数据库表中建立数量为第一数量的主分区,并将第一数量的所述 主分区分别与第一数量的所述第一数据指标一一对应关联,同时在所述数据 库表中的所述主分区下建立一个默认的第一子分区,并将所述第一子分区与 预设时间变量区间关联;
在所述数据库表中的所述第一子分区下建立至少一个第二子分区;每一 个所述第二子分区关联一个所述指标代码,且每一个所述第二子分区也都与 该第二子分区所属的所述第一子分区对应的所述预设时间变量区间关联;
在一个所述主分区中,按照该主分区中的所述第二子分区的建立时间的 先后顺序,依次将每一个所述第二子分区拼接至所述主分区,直至所述主分 区下的所有所述第二子分区均被拼接至所述主分区之后,得到完成分区的所 述数据库表;所述第二子分区的所述建立时间属于与所述第二子分区关联的 所述预设时间变量区间。
一种数据库表分区装置,包括:
第一获取模块,用于接收数据库表的分区信号,从预设数据接口获取用 于建立所述数据库表中的主分区的第一数据指标以及所述第一数据指标的第 一数量;一个所述第一数据指标关联一个预设代码列表;
提取模块,用于利用预设解析方法解析与所述第一数据指标关联的所述 预设代码列表,得到所述预设代码列表的解析结果,并自所述解析结果中提 取与所述第一数据指标关联的指标代码;
关联模块,用于在所述数据库表中建立数量为第一数量的主分区,并将 第一数量的所述主分区分别与第一数量的所述第一数据指标一一对应关联, 同时在所述数据库表中的所述主分区下建立一个默认的第一子分区,并将所 述第一子分区与预设时间变量区间关联;
建立模块,用于在所述数据库表中的所述第一子分区下建立至少一个第 二子分区;每一个所述第二子分区关联一个所述指标代码,且每一个所述第 二子分区也都与该第二子分区所属的所述第一子分区对应的所述预设时间变 量区间关联;
拼接模块,用于在一个所述主分区中,按照该主分区中的所述第二子分 区的建立时间的先后顺序,依次将每一个所述第二子分区拼接至所述主分区, 直至所述主分区下的所有所述第二子分区均被拼接至所述主分区之后,得到 完成分区的所述数据库表;所述第二子分区的所述建立时间属于与所述第二 子分区关联的所述预设时间变量区间。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在 所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上 述数据库表分区方法。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序, 所述计算机程序被处理器执行时实现上述数据库表分区方法。
上述数据库表分区方法、装置、计算机设备及存储介质,通过先建立出 与第一数据指标(第一数据指标数量为第一数量)关联的主分区(主分区数 量为第一数量),可以将每个第一数据指标所对应的不同处理逻辑和各主分 区分别关联,因此建立的主分区可单独处理与其关联的第一数据指标所对应 的数据,也可以使用此主分区衍生出同套处理逻辑或者包括同套处理逻辑的 子分区(比如,第一子分区和第二子分区),从而在对所有第一数据指标所 对应的数据(也即第一数据指标关联的指标代码所对应的数据)进行数据处理过程(可包括存储、查询和提取等处理)中,各个第一数据指标对所应的 数据可单独存储于专属的数据处理局域(主分区下的第二子分区),可提高 整体的数据处理能力;本发明将各个第二子分区拼接至对应的各个主分区, 可起到一种对主分区进行拓展的作用(拓展出第二子分区),且主分区并不 只拼接了一个第一子分区,而是各个主分区都有至少一个第二子分区,从而 处理第一数据指标的数据处理区域(第二子分区)将会接近多元化;通过本发明最后得到的完成分区的数据库表,分区过程简单,其中分区涉及到脚本 语言将会大大减少。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的 描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅 仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性 劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中数据库表分区方法的一应用环境示意图;
图2是本发明一实施例中数据库表分区方法的一流程图;
图3是本发明一实施例中数据库表分区方法步骤S50之后的流程示意图;
图4是本发明一实施例中数据库表分区装置的结构示意图;
图5是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是 全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创 造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的数据库表分区方法,可应用在如图1的应用环境中,其中, 客户端通过网络与服务器进行通信。其中,客户端可以但不限于各种个人计 算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以 用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种数据库表分区方法,以该方法应 用在图1中的服务器为例进行说明,包括如下步骤:
S10,接收数据库表的分区信号,从预设数据接口获取用于建立所述数据 库表中的主分区的第一数据指标以及所述第一数据指标的第一数量;一个所 述第一数据指标关联一个预设代码列表;
可理解地,第一数据指标的属性值为可以代表一种第一数据指标(该第 一数据指标下存在至少一类小指标,且一类小指标对应一个指标代码;一个 预设代码列表中包含至少一个规则字符串,每一个规则字符串均属于一类小 指标;也即每一个规则字符串仅与一个指标代码关联,但一个指标代码可以 关联多个规则字符串)的字符串,可理解地,从预设数据接口获取的第一数 据指标的第一数量大于等于2时,接收到的所有第一数据指标中的相邻两个 第一数据指标对应的字符串之间将使用预设分隔符号进行分隔,比如,预设 分隔符号可以为逗号。
具体地,服务器首先接收到数据库表的分区信号,也即在创建与多个第 一数据指标对应的数据库表的过程中,服务器首先接收分区信号,然后在预 设数据接口中查询导入到预设数据接口的第一数据指标的第一数量(第一数 据指标的第一数量将决定后续步骤中在数据库表中建立的主分区的数量), 接着获取第一数量的第一数据指标(所有的设立的主分区中的每一个主分区 均将与一个第一数据指标关联)。
S20,利用预设解析方法解析与所述第一数据指标关联的所述预设代码列 表,得到所述预设代码列表的解析结果,并自所述解析结果中提取与所述第 一数据指标关联的指标代码;
进一步地,所述利用预设解析方法解析与所述第一数据指标关联的所述 预设代码列表,得到所述预设代码列表的解析结果,并自所述解析结果中提 取与所述第一数据指标关联的指标代码,包括:
利用预设的正则表达式查找并解析与所述第一数据指标关联的所述预设 代码列表的属性值,得到解析成功的所述预设代码列表中的所有规则字符串; 可理解地,第一数据指标的属性值为可以代表一种第一数据指标的字符串, 该第一数据指标下存在至少一类小指标,且一类小指标对应一个指标代码; 一个预设代码列表中包含至少一个规则字符串,每一个规则字符串均属于一 类小指标(或属于一类指标代码),也即每一个规则字符串仅与一个指标代 码关联,但一个指标代码可以关联多个规则字符串。
利用所述预设的树函数对各个所述规则字符串进行分类,得到分类之后 的各个所述规则字符串的集合,并将所述集合记录为所述解析结果;也即, 在本实施例中,将各规则字符串进行分类之后,确认每一类规则字符串所属 的类别(也即属于哪一类小指标)。在本实施例中,上述集合为一个第一数 据指标下的各所述小指标的集合。
提取所述解析结果中的每一类所述规则字符串的类别,并将每一个所述 类别对应的唯一标识记录为一个所述指标代码。上述唯一标识为每一类小指 标的唯一标识,一类小指标中包含至少一个规则字符串,也即,一个指标代 码包含至少一个规则字符串。可理解地,正则表达式的作用是将预设代码列 表中的每一行数据(每一行数据均包含一个规则字符串)进行查找并进行解 析出规则字符串;树函数的作用是使用预先设置好的树函数分类算法将规则 字符串进行分类,为规则字符串定义好一个类别(一个类别对应一类小指标)。
具体地,首先利用调用的预设的正则表达式查找解析各行第一数据指标 的属性值,属性值包括对第一数据指标的数值和注释进行解析等,从而得到 解析成功的规则字符串(便于服务器去理解解析成功的规则字符串);接着 利用调用的预设的树函数对应设置好的多个节点(每个节点分出两种结果, 一种为true,一种为false),不断地按照预设判断规则去进行判断所有的规 则字符串,从而将所有的规则字符串进行精确的分类,得到上述提到的解析 结果;最后通过解析结果对应设置好的每一类规则字符串的类别(也即一个小指标对应的类别),将各个类别对应的唯一标识(也即该类别的小指标对 应的唯一标识)分别记录为指标代码(一个指标代码对应一个类别),也即 确定出第一数据指标关联的所有类别,进而记录所有类别。
在本实施例中,利用正则表达式和树函数从第一数据指标组成的指标代 码列表中不断地循环进行提取指标代码,此指标代码将作为第一数据指标所 关联的类别,也可以作为分区所对应的类别。
S30,在所述数据库表中建立数量为第一数量的主分区,并将第一数量的 所述主分区分别与第一数量的所述第一数据指标一一对应关联,同时在所述 数据库表中的所述主分区下建立一个默认的第一子分区,并将所述第一子分 区与预设时间变量区间关联;
可理解地,预设时间变量区间可被设置用于记录开始建立默认的第一子 分区的开始时间或结束建立默认的第一子分区的结束时间所属的时间段;默 认的第一子分区中存储的数据均与该预设时间变量区间关联;默认的第一子 分区从属于主分区;主分区可以使用与其关联的第一数据指标进行命名(该 命名视为找寻该主分区中的数据的标识),第一子分区可以使用预设时间变 量区间和第一子分区对应的主分区关联的第一数据指标进行命名(该命名视 为找寻该第一子分区中的数据的标识)。
S40,在所述数据库表中的所述第一子分区下建立至少一个第二子分区; 每一个所述第二子分区关联一个所述指标代码,且每一个所述第二子分区也 都与该第二子分区所属的所述第一子分区对应的所述预设时间变量区间关 联;
可理解地,一个第一子分区可拓展至少一个第二子分区,且每个第二子 分区都存在专属的身份信息(也即指标代码),该身份信息可用来区分该第 二子分区与其他第二子分区(也即可作为第二子分区的类别对应的唯一标 识);具体地,可使用SQL中的Modify语句来对第二子分区的属性(包含身 份信息)进行修改,并使用SQL中的Modify语句来执行插入内容等操作,从 而在第一子分区下新建、删除或者修改各与其相关联的第二子分区,且每个 第二子分区都可关联一个指标代码,且在第一子分区下建立的所有第二子分 区,均可继承并关联该第一子分区对应的预设时间变量区间(也即,预设时 间变量区间以及该第一子分区关联的第一数据指标均在该第二子分区的身份 信息中被注明)。由上述可知,第二子分区可以使用指标代码、预设时间变 量区间和第一子分区对应的主分区关联的第一数据指标进行命名(该命名视 为找寻该第二子分区中的数据的标识)。
在本实施例中,通过在默认的第一子分区下,对第一子分区进行拓展至 少一个第二子分区,且各个第二子分区均关联的一个指标代码,通过此指标 代码可将与指标代码关联的第一数据指标所对应的数据(也即第一数据指标 关联的指标代码所对应的数据)存储至该指标代码关联的第二子分区。
且在步骤S30至步骤S40的实施例中,通过先建立出与第一数据指标(第 一数据指标数量为第一数量)关联的主分区(主分区数量为第一数量),可 以将每个第一数据指标所对应的不同处理逻辑和各主分区分别关联,因此建 立的主分区可单独处理与其关联的第一数据指标所对应的数据,也可以使用 此主分区衍生出同套处理逻辑或者包括同套处理逻辑的子分区(比如,第一 子分区和第二子分区),从而在对所有第一数据指标所对应的数据(也即第 一数据指标关联的指标代码所对应的数据)进行数据处理过程(可包括存储、查询和提取等处理)中,各个第一数据指标对所应的数据可单独存储于专属 的数据处理局域(主分区下的第二子分区),可提高整体的数据处理能力。 默认的第一子分区将作为再次拓展出多个子分区(第二子分区)的依据。
S50,在一个所述主分区中,按照该主分区中的所述第二子分区的建立时 间的先后顺序,依次将每一个所述第二子分区拼接至所述主分区,直至所述 主分区下的所有所述第二子分区均被拼接至所述主分区之后,得到完成分区 的所述数据库表;所述第二子分区的所述建立时间属于与所述第二子分区关 联的所述预设时间变量区间。
可理解地,第二子分区的建立时间关联了预设时间变量区间,预设时间 变量区间可记录建立第二子分区的开始时间或结束建立第二子分区的结束时 间所属的时间段(比如,对应于建立第二子分区的当天的日期所对应的时间 段),而第二子分区的建立时间从属于预设时间变量区间,且在第二子分区 建立时即已被自动记录,因此第二子分区的建立时间可直接获取;在各个第 二子分区拼接主分区的过程中,使用的是预设SQL拼接语句,且各个第二子 分区都被一个相同的预设SOL拼接语句拼接完成(但分批次进行拼接,每个 批次仅拼接其中一个第二子分区,如此,避免了一次拼接的第二子分区的数 量过多,导致的拼出的SQL拼接语句的长度过长,进而导致该SQL拼接语句 长度超过字符串变量长度的极限的问题出现);且每个第二子分区都可以使 用与该第二子分区对应的主分区关联的第一数据指标、第二子分区关联的指 标代码和第二子分区的建立时间所属的预设时间变量分区对该第二子分区进 行的命名,如此根据上述命名中的第一数据指标、指标代码和预设时间变量 分区其中的一项或多项即可查询第二子分区中的数据,由于已经将第二子分 区拼接在主分区上,因此,可以直接在主分区中即可查询到第二子分区中的 信息,此时无需通过主分区-第一子分区-第二子分区的顺序层层递进,如此提 升了数据的查询速度;并且,在主分区中查询第二子分区中的数据时,提供 的查询参数也无需必须包含预设的时间变量区间,而是仅仅根据指标代码一 种参数亦可查询。
在本实施例中,将各个第二子分区拼接至对应的各个主分区,可起到一 种对主分区进行拓展的作用(拓展出第二子分区),且主分区并不只拼接了 一个第一子分区,而是各个主分区都有至少一个第二子分区,从而处理第一 数据指标的数据处理区域(第二子分区)将会接近多元化。且本实施例中最 后得到的完成分区的数据库表,分区过程简单,其中分区涉及到脚本语言也 将会大大减少。
在另一实施例中,在一个所述主分区中,按照该主分区中的所述第二子 分区的建立结束时间的先后顺序,依次将每一个所述第二子分区拼接至所述 主分区直至所述主分区下的所有所述第二子分区均被拼接至所述主分区之 后,得到完成分区的所述数据库表。
进一步地,所述步骤S50之后,还包括:
判断完成分区的所述数据库表中的所述第一数据指标是否出现数据问 题;所有所述第一数据指标在所述预设数据表中都对应一个所述主分区;
在所述数据库中的所述第一数据指标中的至少一个出现所述数据问题 时,通过与所述数据问题对应的预设处理方法处理所述数据问题;
若所述数据问题被所述数据问题对应的所述预设处理方法成功处理,则 将被所述预设处理方法处理成功之后的所述第一数据指标和所述主分区重新 关联;
若所述数据问题未能被所述数据问题对应的所述预设处理方法成功处 理,则删除所述数据库表中存在所述数据问题的所述第一数据指标关联的所 述主分区。
在本实施例中,对判断出现数据问题的第一数据指标进行解决,并通过 与数据问题对应的预设处理方法处理数据问题,进而也可对出现数据问题的 第一数据指标以及第一数据指标关联的主分区进行删除,如此,可以快速删 除对应于单个第一数据指标的所有数据;同时,由于所有与该第一数据指标 关联的数据均存储在与其对应的主分区中,因此可以迅速且一次性删除,并 重新建立对数据问题进行成功处理之后的第一数据指标和与其对应的主分区 重新关联,其中,该主分区与该第一数据指标均已进行成功处理,如此,在进行数据问题的处理时,也仅对该主分区进行处理,且成功处理完毕之后也 无需进行重新分区,也即,本发明中,如果存在单一的第一数据指标的数据 问题,亦可方便重新分区和调整错误,减少了出现数据问题之后需要对多个 分区中的错误数据进行数据处理的问题,也减少了在该种情况下进行重新分 区的数据量。
进一步地,如图3所述,所述步骤S50之后,还包括:
S501,自所述预设数据接口中获取第二数据指标;
S502,若所述第二数据指标与所有所述第一数据指标均不一致,则根据 所述第二数据指标执行新的分区操作;所述新的分区操作包括:新建与所述 第二数据指标对应的主分区、在与所述第二数据指标对应的主分区下新建第 一子分区、在新建的第一子分区下新建与所述第二数据指标中的各所述指标 代码分别关联的第二子分区、将新建的第二子分区拼接至与所述第二数据指 标对应的主分区。
在本实施例中,通过给新的第二数据指标增加与其对应的主分区、第一 子分区和第二子分区,保证了新数据的拓展。
进一步地,所述步骤S501之后,还包括:
若所述第二数据指标与其中一个所述第一数据指标一致,则获取一致的 所述第一数据指标对应的各指标代码的第一类别,同时获取所述第二数据指 标对应的各指标代码的第二类别;
在所述第二类别与一个所述第一类别一致时,将一致的所述第二类别对 应的所述第二数据指标的指标代码关联至一致的所述第一类别对应的第二子 分区;
在所述第二类别与所有所述第一类别均不一致时,新建一个与不一致的 所述第二类别关联的第二子分区,并将与所述第二类别关联的第二子分区拼 接至与一致的所述第一数据指标关联的主分区上。
在本实施例中,将第二数据指标(包括与其对应的指标代码)与第一数 据指标(包括与其对应的指标代码)比对之后,根据比对结果进行分区,使 得同样的数据指标仅会对应建立一个主分区,同一个数据指标下的同一类别 的指标代码仅会对应建立一个第二子分区,使得数据的整合度更好,进而减 少了数据库的资源浪费,避免了建立过多的同类主分区和第二子分区。
进一步地,所述步骤S50之后,还包括:
在各个所述第二子分区在预设时长内未进行存取数据的操作时,提示预 设人员删除该第二子分区。
在本实施例中,若一个第二子分区长期并未进行存取数据的操作,说明 该第二子分区是并不常用的数据处理区域,因此为了节省数据库的资源可提 示用户对其进行删除(进行初始化)。
进一步地,所述步骤S50之后,还包括:
根据预设的数据指标的时效性表确定出所述第一数据指标对所应的数据 的时效长度,并判断所述第一数据指标关联的所述主分区拼接的各个所述第 二子分区中的数据的存放时间是否超过所述时效长度;在该步骤中,预设的 数据指标的时效性表确定出第一数据指标所对应的数据的时效长度,第一数 据指标所对应的数据的时效性越弱,第一数据指标所对应的数据的时效长度 越长;
若所述第二子分区中的数据的所述存放时间超过所述时效长度,则提示 预设人员删除该第二子分区中超过所述时效长度的数据。
在本实施例中,通过从预设的数据指标的时效性表确定出第一数据指标 所对应的数据的时效性,接着通过第一数据指标所对应的数据的时效性确定 出时效长度,判断一个第二子分区中第一数据指标所对应的数据的存放时间 是否超过时效长度,若是,将该分区中的第一数据指标进行删除,从而可节 省数据库的资源。
在另一实施例中,若所述第二子分区中的数据的所述存放时间未超过所 述时效长度,则不提示预设人员删除该第二子分区中超过所述时效长度的数 据。
综上所述,上述提供了一种数据库表分区方法,通过先建立出与第一数 据指标(第一数据指标数量为第一数量)关联的主分区(主分区数量为第一 数量),可以将每个第一数据指标所对应的不同处理逻辑和各主分区分别关 联,因此建立的主分区可单独处理与其关联的第一数据指标所对应的数据, 也可以使用此主分区衍生出同套处理逻辑或者包括同套处理逻辑的子分区 (比如,第一子分区和第二子分区),从而在对所有第一数据指标所对应的 数据(也即第一数据指标关联的指标代码所对应的数据)进行数据处理过程(可包括存储、查询和提取等处理)中,各个第一数据指标对所应的数据可 单独存储于专属的数据处理局域(主分区下的第二子分区),可提高整体的 数据处理能力;本发明将各个第二子分区拼接至对应的各个主分区,可起到 一种对主分区进行拓展的作用(拓展出第二子分区),且主分区并不只拼接 了一个第一子分区,而是各个主分区都有至少一个第二子分区,从而处理第 一数据指标的数据处理区域(第二子分区)将会接近多元化;通过本发明最后得到的完成分区的数据库表,分区过程简单,其中分区涉及到脚本语言将 会大大减少。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后, 各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实 施过程构成任何限定。
在一实施例中,提供一种数据库表分区装置,该数据库表分区装置与上 述实施例中数据库表分区方法一一对应。如图4所示,该数据库表分区装置 包括第一获取模块11、提取模块12、关联模块13、建立模块14和拼接模块 15。各功能模块详细说明如下:
第一获取模块11,用于接收数据库表的分区信号,从预设数据接口获取 用于建立所述数据库表中的主分区的第一数据指标以及所述第一数据指标的 第一数量;一个所述第一数据指标关联一个预设代码列表;
提取模块12,用于利用预设解析方法解析与所述第一数据指标关联的所 述预设代码列表,得到所述预设代码列表的解析结果,并自所述解析结果中 提取与所述第一数据指标关联的指标代码;
关联模块13,用于在所述数据库表中建立数量为第一数量的主分区,并 将第一数量的所述主分区分别与第一数量的所述第一数据指标一一对应关 联,同时在所述数据库表中的所述主分区下建立一个默认的第一子分区,并 将所述第一子分区与预设时间变量区间关联;
建立模块14,用于在所述数据库表中的所述第一子分区下建立至少一个 第二子分区;每一个所述第二子分区关联一个所述指标代码,且每一个所述 第二子分区也都与该第二子分区所属的所述第一子分区对应的所述预设时间 变量区间关联;
拼接模块15,用于在一个所述主分区中,按照该主分区中的所述第二子 分区的建立时间的先后顺序,依次将每一个所述第二子分区拼接至所述主分 区,直至所述主分区下的所有所述第二子分区均被拼接至所述主分区之后, 得到完成分区的所述数据库表;所述第二子分区的所述建立时间属于与所述 第二子分区关联的所述预设时间变量区间。
进一步地,所述提取模块包括:
解析子模块,用于利用预设的正则表达式查找并解析与所述第一数据指 标关联的所述预设代码列表的属性值,得到解析成功的所述预设代码列表中 的所有规则字符串;
第一记录子模块,用于利用所述预设的树函数对各个所述规则字符串进 行分类,得到分类之后的各个所述规则字符串的集合,并将所述集合记录为 所述解析结果;
第二记录子模块,用于提取所述解析结果中的每一类所述规则字符串的 类别,并将每一个所述类别对应的唯一标识记录为一个所述指标代码。
进一步地,所述数据库表分区装置还包括:
第一判断模块,用于判断完成分区的所述数据库表中的所述第一数据指 标是否出现数据问题;所有所述第一数据指标在所述预设数据表中都对应一 个所述主分区;
重新关联模块,用于在所述数据库中的所述第一数据指标中的至少一个 出现所述数据问题时,通过与所述数据问题对应的预设处理方法处理所述数 据问题;若所述数据问题被所述数据问题对应的所述预设处理方法成功处理, 则将被所述预设处理方法处理成功之后的所述第一数据指标和所述主分区重 新关联;
删除模块,用于若所述数据问题未能被所述数据问题对应的所述预设处 理方法成功处理,则删除所述数据库表中存在所述数据问题的所述第一数据 指标关联的所述主分区。
进一步地,所述数据库表分区装置还包括:
第二获取模块,用于自所述预设数据接口中获取第二数据指标;
执行模块,用于若所述第二数据指标与所有所述第一数据指标均不一致, 则根据所述第二数据指标执行新的分区操作;所述新的分区操作包括:新建 与所述第二数据指标对应的主分区、在与所述第二数据指标对应的主分区下 新建第一子分区、在新建的第一子分区下新建与所述第二数据指标中的各所 述指标代码分别关联的第二子分区、将新建的第二子分区拼接至与所述第二 数据指标对应的主分区。
进一步地,所述数据库表分区装置还包括:
第三获取模块,用于若所述第二数据指标与其中一个所述第一数据指标 一致,则获取一致的所述第一数据指标对应的各指标代码的第一类别,同时 获取所述第二数据指标对应的各指标代码的第二类别;
关联模块,用于在所述第二类别与一个所述第一类别一致时,将一致的 所述第二类别对应的所述第二数据指标的指标代码关联至一致的所述第一类 别对应的第二子分区;
新建模块,用于在所述第二类别与所有所述第一类别均不一致时,新建 一个与不一致的所述第二类别关联的第二子分区,并将与所述第二类别关联 的第二子分区拼接至与一致的所述第一数据指标关联的主分区上。
进一步地,所述数据库表分区装置还包括:
第一提示模块,用于在各个所述第二子分区在预设时长内未进行存取数 据的操作时,提示预设人员删除该第二子分区。
进一步地,所述数据库表分区装置还包括:
第二判断模块,用于根据预设的数据指标的时效性表确定出所述第一数 据指标对所应的数据的时效长度,并判断所述第一数据指标关联的所述主分 区拼接的各个所述第二子分区中的数据的存放时间是否超过所述时效长度;
第二提示模块,用于若所述第二子分区中的数据的所述存放时间超过所 述时效长度,则提示预设人员删除该第二子分区中超过所述时效长度的数据。
关于数据库表分区装置的具体限定可以参见上文中对于数据库表分区方 法的限定,在此不再赘述。上述数据库表分区装置中的各个模块可全部或部 分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立 于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储 器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器, 其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理 器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算 和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非 易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失 性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据 库用于存储数据库表分区方法中涉及到的数据。该计算机设备的网络接口用于 与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数 据库表分区方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在 存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上 述实施例中数据库表分区方法的步骤,例如图2所示的步骤S10至步骤S50。 或者,处理器执行计算机程序时实现上述实施例中数据库表分区装置的各模块 /单元的功能,例如图4所示模块11至模块15的功能。为避免重复,这里不 再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程 序,计算机程序被处理器执行时实现上述实施例中数据库表分区方法的步骤, 例如图2所示的步骤S10至步骤S50。或者,计算机程序被处理器执行时实现 上述实施例中数据库表分区装置的各模块/单元的功能,例如图4所示模块11 至模块15的功能。为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流 程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可 存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包 括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用 的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或 易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM (PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM) 或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存 储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、 动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM
(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM (SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器 总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以 上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而 将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划 分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参 照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解: 其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技 术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱 离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之 内。

Claims (10)

1.一种数据库表分区方法,其特征在于,包括:
接收数据库表的分区信号,从预设数据接口获取用于建立所述数据库表中的主分区的第一数据指标以及所述第一数据指标的第一数量;一个所述第一数据指标关联一个预设代码列表;
利用预设解析方法解析与所述第一数据指标关联的所述预设代码列表,得到所述预设代码列表的解析结果,并自所述解析结果中提取与所述第一数据指标关联的指标代码;
在所述数据库表中建立数量为第一数量的主分区,并将第一数量的所述主分区分别与第一数量的所述第一数据指标一一对应关联,同时在所述数据库表中的所述主分区下建立一个默认的第一子分区,并将所述第一子分区与预设时间变量区间关联;
在所述数据库表中的所述第一子分区下建立至少一个第二子分区;每一个所述第二子分区关联一个所述指标代码,且每一个所述第二子分区也都与该第二子分区所属的所述第一子分区对应的所述预设时间变量区间关联;
在一个所述主分区中,按照该主分区中的所述第二子分区的建立时间的先后顺序,依次将每一个所述第二子分区拼接至所述主分区,直至所述主分区下的所有所述第二子分区均被拼接至所述主分区之后,得到完成分区的所述数据库表;所述第二子分区的所述建立时间属于与所述第二子分区关联的所述预设时间变量区间。
2.根据权利要求1所述的数据库表分区方法,其特征在于,所述利用预设解析方法解析与所述第一数据指标关联的所述预设代码列表,得到所述预设代码列表的解析结果,并自所述解析结果中提取与所述第一数据指标关联的指标代码,包括:
利用预设的正则表达式查找并解析与所述第一数据指标关联的所述预设代码列表的属性值,得到解析成功的所述预设代码列表中的所有规则字符串;
利用所述预设的树函数对各个所述规则字符串进行分类,得到分类之后的各个所述规则字符串的集合,并将所述集合记录为所述解析结果;
提取所述解析结果中的每一类所述规则字符串的类别,并将每一个所述类别对应的唯一标识记录为一个所述指标代码。
3.根据权利要求1所述的数据库表分区方法,其特征在于,所述得到完成分区的所述数据库表之后,还包括:
判断完成分区的所述数据库表中的所述第一数据指标是否出现数据问题;所有所述第一数据指标在所述预设数据表中都对应一个所述主分区;
在所述数据库中的所述第一数据指标中的至少一个出现所述数据问题时,通过与所述数据问题对应的预设处理方法处理所述数据问题;
若所述数据问题被所述数据问题对应的所述预设处理方法成功处理,则将被所述预设处理方法处理成功之后的所述第一数据指标和所述主分区重新关联;
若所述数据问题未能被所述数据问题对应的所述预设处理方法成功处理,则删除所述数据库表中存在所述数据问题的所述第一数据指标关联的所述主分区。
4.根据权利要求1所述的数据库表分区方法,其特征在于,所述得到完成分区的所述数据库表之后,还包括:
自所述预设数据接口中获取第二数据指标;
若所述第二数据指标与所有所述第一数据指标均不一致,则根据所述第二数据指标执行新的分区操作;所述新的分区操作包括:新建与所述第二数据指标对应的主分区、在与所述第二数据指标对应的主分区下新建第一子分区、在新建的第一子分区下新建与所述第二数据指标中的各所述指标代码分别关联的第二子分区、将新建的第二子分区拼接至与所述第二数据指标对应的主分区。
5.根据权利要求4所述的数据库表分区方法,其特征在于,所述自所述预设数据接口中获取第二数据指标之后,还包括:
若所述第二数据指标与其中一个所述第一数据指标一致,则获取一致的所述第一数据指标对应的各指标代码的第一类别,同时获取所述第二数据指标对应的各指标代码的第二类别;
在所述第二类别与一个所述第一类别一致时,将一致的所述第二类别对应的所述第二数据指标的指标代码关联至一致的所述第一类别对应的第二子分区;
在所述第二类别与所有所述第一类别均不一致时,新建一个与不一致的所述第二类别关联的第二子分区,并将与所述第二类别关联的第二子分区拼接至与一致的所述第一数据指标关联的主分区上。
6.根据权利要求1所述的数据库表分区方法,其特征在于,所述得到完成分区的所述数据库表之后,还包括:
在各个所述第二子分区在预设时长内未进行存取数据的操作时,提示预设人员删除该第二子分区。
7.根据权利要求1所述的数据库表分区方法,其特征在于,所述得到完成分区的所述数据库表之后,还包括:
根据预设的数据指标的时效性表确定出所述第一数据指标对所应的数据的时效长度,并判断所述第一数据指标关联的所述主分区拼接的各个所述第二子分区中的数据的存放时间是否超过所述时效长度;
若所述第二子分区中的数据的所述存放时间超过所述时效长度,则提示预设人员删除该第二子分区中超过所述时效长度的数据。
8.一种数据库表分区装置,其特征在于,包括:
第一获取模块,用于接收数据库表的分区信号,从预设数据接口获取用于建立所述数据库表中的主分区的第一数据指标以及所述第一数据指标的第一数量;一个所述第一数据指标关联一个预设代码列表;
提取模块,用于利用预设解析方法解析与所述第一数据指标关联的所述预设代码列表,得到所述预设代码列表的解析结果,并自所述解析结果中提取与所述第一数据指标关联的指标代码;
关联模块,用于在所述数据库表中建立数量为第一数量的主分区,并将第一数量的所述主分区分别与第一数量的所述第一数据指标一一对应关联,同时在所述数据库表中的所述主分区下建立一个默认的第一子分区,并将所述第一子分区与预设时间变量区间关联;
建立模块,用于在所述数据库表中的所述第一子分区下建立至少一个第二子分区;每一个所述第二子分区关联一个所述指标代码,且每一个所述第二子分区也都与该第二子分区所属的所述第一子分区对应的所述预设时间变量区间关联;
拼接模块,用于在一个所述主分区中,按照该主分区中的所述第二子分区的建立时间的先后顺序,依次将每一个所述第二子分区拼接至所述主分区,直至所述主分区下的所有所述第二子分区均被拼接至所述主分区之后,得到完成分区的所述数据库表;所述第二子分区的所述建立时间属于与所述第二子分区关联的所述预设时间变量区间。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述数据库表分区方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述数据库表分区方法。
CN202010183137.0A 2020-03-16 2020-03-16 数据库表分区方法、装置、计算机设备及存储介质 Active CN111506573B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010183137.0A CN111506573B (zh) 2020-03-16 2020-03-16 数据库表分区方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010183137.0A CN111506573B (zh) 2020-03-16 2020-03-16 数据库表分区方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN111506573A CN111506573A (zh) 2020-08-07
CN111506573B true CN111506573B (zh) 2024-03-12

Family

ID=71871575

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010183137.0A Active CN111506573B (zh) 2020-03-16 2020-03-16 数据库表分区方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN111506573B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112529360A (zh) * 2020-11-12 2021-03-19 贝壳技术有限公司 数据指标统计扩展计算方法及装置
CN112527786A (zh) * 2020-12-17 2021-03-19 平安银行股份有限公司 数据表分区新增方法、装置、计算机设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107861989A (zh) * 2017-10-17 2018-03-30 平安科技(深圳)有限公司 数据的分区存储方法、装置、计算机设备及存储介质
CN108470045A (zh) * 2018-03-06 2018-08-31 平安科技(深圳)有限公司 电子装置、数据链式归档的方法及存储介质
CN108780452A (zh) * 2016-03-14 2018-11-09 华为技术有限公司 一种存储过程处理方法及装置
CN110069488A (zh) * 2017-09-30 2019-07-30 北京国双科技有限公司 一种数据存储方法、数据读取方法及其装置
CN110704381A (zh) * 2019-09-06 2020-01-17 平安城市建设科技(深圳)有限公司 数据解析方法、装置及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108780452A (zh) * 2016-03-14 2018-11-09 华为技术有限公司 一种存储过程处理方法及装置
CN110069488A (zh) * 2017-09-30 2019-07-30 北京国双科技有限公司 一种数据存储方法、数据读取方法及其装置
CN107861989A (zh) * 2017-10-17 2018-03-30 平安科技(深圳)有限公司 数据的分区存储方法、装置、计算机设备及存储介质
CN108470045A (zh) * 2018-03-06 2018-08-31 平安科技(深圳)有限公司 电子装置、数据链式归档的方法及存储介质
CN110704381A (zh) * 2019-09-06 2020-01-17 平安城市建设科技(深圳)有限公司 数据解析方法、装置及存储介质

Also Published As

Publication number Publication date
CN111506573A (zh) 2020-08-07

Similar Documents

Publication Publication Date Title
US9953639B2 (en) Voice recognition system and construction method thereof
US20190197068A1 (en) Page rendering method, device, and data storage medium
CN111506573B (zh) 数据库表分区方法、装置、计算机设备及存储介质
CN110019384B (zh) 一种血缘数据的获取方法、提供血缘数据的方法及装置
CN113986241B (zh) 一种基于知识图谱的业务规则的配置方法以及装置
CN110597852A (zh) 数据处理方法、装置、终端及存储介质
CN111562920A (zh) 小程序代码相似度确定方法、装置、服务器及存储介质
CN110333990B (zh) 数据处理方法以及装置
CN105988995A (zh) 一种基于HFile批量加载数据的方法
CN110209717B (zh) 基础数据库的封装方法、装置、计算机设备和存储介质
CN111679963A (zh) 用户行为数据的处理方法、装置、设备及存储介质
US11941032B2 (en) Key name generation method and apparatus and non-transitory computer-readable storage medium
CN111831687A (zh) 数据查询的优化方法、装置、计算机设备和存储介质
CN114490673B (zh) 数据信息处理方法、装置、电子设备及存储介质
CN110968555A (zh) 维度数据处理方法和装置
CN115391188A (zh) 一种场景测试用例生成方法、装置、设备及存储介质
CN109947429B (zh) 数据处理方法及装置
CN110222105B (zh) 数据汇总处理方法及装置
CN111090670B (zh) 一种数据预聚合的方法、系统、计算设备及存储介质
CN113761043A (zh) 数据提取方法、装置、计算机设备和存储介质
WO2020215693A1 (zh) 软件测试方法、装置、计算机设备和可读存储介质
CN113377419A (zh) 一种业务处理方法、装置、可读存储介质及电子设备
CN111538804A (zh) 一种基于HBase的图数据处理方法和设备
CN110263055B (zh) 一种参数提示方法、装置、设备和存储介质
CN115203490B (zh) 图数据库中List列表容器数据类型的查询方法及装置

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