一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种自动分库分表方法、装置、设备及存储介质与流程

2022-04-30 14:51:52 来源:中国专利 TAG:


1.本发明涉及数据处理技术领域,尤其涉及一种自动分库分表方法、装置、设备及存储介质。


背景技术:

2.分库分表就是为了解决由于数据量过大而导致数据库性能降低的问题,将原来独立的数据库拆分成若干数据库组成,将数据大表拆分成若干数据表组成,使得单一数据库、单一数据表的数据量变小,从而达到提升数据库性能的目的。
3.目前所有应用系统数据都存放在同一数据库同一用户下,各种数据之间相互关联。
4.目前的应用系统数据的分库分表方法极其不方便对其中的海量数据进行梳理和筛选,如果需要根据业务不同对各种表进行分库只能人工手动操作完成,增加人工不必要的工作量,工作效率大为降低。


技术实现要素:

5.有鉴于此,有必要提供一种自动分库分表方法、装置、设备及存储介质,用以解决现有技术中分库分表效率低,需要人工操作分库分表的问题。
6.为达到上述技术目的,本发明采取了以下技术方案:
7.第一方面,本发明提供了一种自动分库分表方法,包括:获取数据库中所有应用系统的文件数据;解析文件数据,确定文件数据的不同属性特征;基于文件数据的不同属性特征以及时间字段,根据预设规则,建立分库分表脚本;运行分库分表脚本,将所有应用系统的文件数据进行分库分表。
8.优选的,获取数据库中所有应用系统的文件数据,包括:获取文件数据的独立标签;根据文件数据的独立标签,获取数据库中所有应用系统的文件数据。
9.优选的,获取文件数据的独立标签,包括:查找文件数据的预设数据,匹配预设数据,得到文件数据的独立标签。
10.优选的,解析文件数据,确定文件数据的不同属性特征,包括:将文件数据的不同属性设置不同的属性标识符;识别文件数据的属性标识符,确定文件数据的不同属性特征。
11.优选的,解析文件数据,确定文件数据的不同属性特征,还包括:根据文件数据的生成时间,设置文件数据的时间字段。
12.优选的,基于文件数据的不同属性特征以及时间字段,根据预设规则,建立分库分表脚本,包括:
13.预设规则为:si=ai·
α ti·
β,其中,si为分库分表属性,ai为文件的每一不同属性特征的权重,α为文件属性特征对于分库分表权重影响因子,ti为每一不同时间字段的权重,β为时间字段对于分库分表权重影响因子;
14.基于文件数据的属性标识符以及时间字段,根据预设规则,建立分库分表脚本。
15.优选的,运行分库分表脚本,将所有应用系统的文件数据进行分库分类,包括:
16.运行分库分表脚本,根据属性特征和时间字段将所有应用系统的文件按照预设排布规则进行分库分表。
17.第二方面,本发明还提供了一种自动分库分表装置,包括:
18.获取模块,用于获取数据库中所有应用系统的文件数据;
19.解析模块,用于解析文件数据,确定文件数据的不同属性特征;
20.建立模块,用于基于文件数据的不同属性特征以及时间字段,根据预设规则,建立分库分表脚本;
21.运行模块,用于运行分库分表脚本,将所有应用系统的文件数据进行分库分类。
22.第三方面,本发明还提供了一种电子设备,包括存储器和处理器,其中,
23.存储器,用于存储程序;
24.处理器,与存储器耦合,用于执行存储器中存储的程序,以实现上述任一种实现方式中的自动分库分表方法中的步骤。
25.第四方面,本发明还提供了一种计算机可读存储介质,用于存储计算机可读取的程序或指令,程序或指令被处理器执行时,能够实现上述任一种实现方式中的自动分库分表方法中的步骤。
26.采用上述实施例的有益效果是:本发明提供的一种自动分库分表方法、装置、设备及存储介质,获取数据库中所有文件的数据,对所有文件的数据进行解析,得到所有文件数据的不同属性特征,并建立分库分表脚本,实现将所有应用系统的文件数据的分库分表,通过脚本实现了自动化的分库分表,提高了分库分表的效率,解决了需要人工操作分库分表的不足。
附图说明
27.图1为本发明提供的自动分库分表方法的一实施例的流程示意图;
28.图2为本发明提供的自动分库分表装置的一实施例的结构示意图;
29.图3为本发明实施例提供的自动分库分表电子设备的结构示意图。
具体实施方式
30.下面结合附图来具体描述本发明的优选实施例,其中,附图构成本技术一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
31.在本技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
32.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
33.本发明提供了一种自动分库分表方法、装置、设备及存储介质,以下分别进行说明。
34.请参阅图1,图1为本发明提供的自动分库分表方法的一实施例的流程示意图,本发明的一个具体实施例,公开了一种自动分库分表方法,包括:
35.s101、获取数据库中所有应用系统的文件数据;
36.s102、解析文件数据,确定文件数据的不同属性特征;
37.s103、基于文件数据的不同属性特征以及时间字段,根据预设规则,建立分库分表脚本;
38.s104、运行分库分表脚本,将所有应用系统的文件数据进行分库分表。
39.在本发明的具体的实施例中,步骤s101从数据库中查找所有文件数据,将存放在同一数据库同一用户下的所有应用系统数据提取出来,以对其进行分库分表。
40.在本发明的具体的实施例中,步骤s102对所有应用系统的文件数据进行解析,根据数据的属性不同,将不同属性的数据设置不同的标识,实现将数据的属性特征进行区分。
41.在本发明的具体的实施例中,步骤s103基于文件数据的不同属性特征以及时间字段,根据预设规则,建立了对应的分库分表脚本,对每一属性特征建立一个对应的分库分表脚本,该分库分表脚本能够将具有对应的属性特征或者时间字段的文件数据进行分库分表。
42.在本发明的具体的实施例中,步骤s104通过建立的分库分表脚本,实现将所有应用系统的文件数据进行自动的分库分表。
43.与现有技术相比,本实施例提供的一种自动分库分表方法,获取数据库中所有文件的数据,对所有文件的数据进行解析,得到所有文件数据的不同属性特征,并建立分库分表脚本,实现将所有应用系统的文件数据的分库分表,通过脚本实现了自动化的分库分表,提高了分库分表的效率,解决了需要人工操作分库分表的不足。
44.在本发明的一些实施例中,获取数据库中所有应用系统的文件数据,包括:
45.获取文件数据的独立标签;
46.根据文件数据的独立标签,获取数据库中所有应用系统的文件数据。
47.在上述实施例中,独立标签为不同应用系统的一种独立标识,是区别不同应用系统的标签,可以预先设定以一条数据中预定位置的字段为该文件数据的独立标签,可以是一个字段或者多个字段,可以理解的是,一个应用系统的文件数据也可以包括多个独立标签,实现对一个应用系统的文件数据的精细划分。获取数据库中所有文件数据的独立标签,并根据该独立标签,获取数据库中所有应用系统的文件数据。实现了从数据库中获取不同的应用系统的文件数据。
48.在本发明的一些实施例中,获取文件数据的独立标签,包括:查找文件数据的预设数据,匹配预设数据,得到文件数据的独立标签。
49.在上述实施例中,预设数据为应用系统的文件数据预定位置的字段数据,通过匹配该预设数据,识别该预设数据属于的应用系统,从而确定所有的应用系统的文件数据的独立标签。
50.在本发明的一些实施例中,解析文件数据,确定文件数据的不同属性特征,包括:
51.将文件数据的不同属性设置不同的属性标识符;
52.识别文件数据的属性标识符,确定文件数据的不同属性特征。
53.在上述实施例中,文件数据具有多种不同的属性,可以为文件类型、文件编号、文件属性、文件内容等相关表征内容,文件数据的每一不同属性的表征内容都设置一种独立的属性标识符,用于区别该类型文件数据与其他类型的文件数据。通过对文件数据的属性
标识符进行识别,可以得到文件数据的不同属性特征,分库分表是将文件数据的不同属性特征进行区分,将相同属性特征的文件数据放入同一数据库或者同一表格中。
54.在本发明的一些实施例中,解析文件数据,确定文件数据的不同属性特征,还包括:根据文件数据的生成时间,设置文件数据的时间字段。
55.在上述实施例中,时间字段也是文件数据的一种属性特征,但是不属于文件数据的组成,而是在文件数据生成时,根据文件数据的生成时间设置的内容,文件数据的时间字段可以将文件数据的历史数据按照时间进行区分。
56.在本发明的一些实施例中,基于文件数据的不同属性特征以及时间字段,根据预设规则,建立分库分表脚本,包括:
57.预设规则为:si=ai·
α ti·
β,其中,si为分库分表属性,ai为文件的每一不同属性特征的权重,α为文件属性特征对于分库分表权重影响因子,ti为每一不同时间字段的权重,β为时间字段对于分库分表权重影响因子;
58.根据文件数据的属性标识符以及时间字段,根据预设规则,建立分库分表脚本。
59.在上述实施例中,通过该预设规则,根据文件的不同属性特征以及时间字段,计算出该文件数据的具体分库分表属性,并根据该分库分表属性建立分库分表脚本,分库分表脚本能够识别文件数据的属性特征以及时间字段,并对文件数据进行分库分表,因此可以基于文件数据的属性特征以及时间字段对文件数据进行分库分表。
60.可以理解的是,α和β是通过历史分库分表数据进行计算出来的影响因子,是固有的,不随着文件的属性特征以及时间字段而变化。
61.本发明的一个具体的实施例中,α为0.3,ai为0.2,ti为0.15,β为0.7,计算出的s1为0.165,计算全部的文件数据分库分表的属性,并对其进行排序,其中计算出的s的值最大时,所对应的文件数据的属性特征以及时间字段为该文件数据的分库分表情况,以此建立分库分表脚本。在本发明的一些实施例中,运行分库分表脚本,将所有应用系统的文件数据进行分库分类,包括:运行分库分表脚本,根据属性特征和时间字段将所有应用系统的文件按照预设排布规则进行分库分表。
62.在上述实施例中,预设排布规则即将所有应用系统中的文件数据按照其不同的属性特征,存储至专门存放该类属性特征的数据库中,提高文件数据的关联性,让各类数据有规律的实现了分库分表。
63.为了更好实施本发明实施例中的自动分库分表方法,在自动分库分表方法基础之上,对应的,请参阅图2,图2为本发明提供的自动分库分表装置的一实施例的结构示意图,本发明实施例提供了一种自动分库分表装置200,包括:
64.获取模块201,用于获取数据库中所有应用系统的文件数据;
65.解析模块202,用于解析文件数据,确定文件数据的不同属性特征;
66.建立模块203,用于基于文件数据的不同属性特征以及时间字段,根据预设规则,生成分库分表脚本;
67.运行模块204,用于运行分库分表脚本,将所有应用系统的文件数据进行分库分类。
68.这里需要说明的是:上述实施例提供的装置200可实现上述各方法实施例中描述的技术方案,上述各模块或单元具体实现的原理可参见上述方法实施例中的相应内容,此
处不再赘述。
69.请参阅图3,图3为本发明实施例提供的自动分库分表电子设备的结构示意图。基于上述自动分库分表方法,本发明还相应提供了一种自动分库分表设备,自动分库分表设备可以是移动终端、桌上型计算机、笔记本、掌上电脑及服务器等计算设备。该自动分库分表设备包括处理器310、存储器320及显示器330。图3仅示出了电子设备的部分组件,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
70.存储器320在一些实施例中可以是自动分库分表设备的内部存储单元,例如自动分库分表设备的硬盘或内存。存储器320在另一些实施例中也可以是自动分库分表设备的外部存储设备,例如自动分库分表设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,存储器320还可以既包括自动分库分表设备的内部存储单元也包括外部存储设备。存储器320用于存储安装于自动分库分表设备的应用软件及各类数据,例如安装自动分库分表设备的程序代码等。存储器320还可以用于暂时地存储已经输出或者将要输出的数据。在一实施例中,存储器320上存储有自动分库分表程序340,该自动分库分表程序340可被处理器310所执行,从而实现本技术各实施例的自动分库分表方法。
71.处理器310在一些实施例中可以是一中央处理器(central processing unit,cpu),微处理器或其他数据处理芯片,用于运行存储器320中存储的程序代码或处理数据,例如执行自动分库分表方法等。
72.显示器330在一些实施例中可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light-emitting diode,有机发光二极管)触摸器等。显示器330用于显示在自动分库分表设备的信息以及用于显示可视化的用户界面。自动分库分表设备的部件310-330通过系统总线相互通信。
73.在一实施例中,当处理器310执行存储器320中自动分库分表程序340时实现如上的自动分库分表方法中的步骤。
74.本实施例还提供了一种计算机可读存储介质,其上存储有自动分库分表程序,该自动分库分表程序被处理器执行时实现以下步骤:
75.获取数据库中所有应用系统的文件数据;
76.解析文件数据,确定文件数据的不同属性特征;
77.基于文件数据的不同属性特征以及时间字段,根据预设规则,生成分库分表脚本;
78.运行分库分表脚本,将所有应用系统的文件数据进行分库分表。
79.综上,本实施例提供的一种自动分库分表方法、装置、设备及存储介质,获取数据库中所有文件的数据,对所有文件的数据进行解析,得到所有文件数据的不同属性特征,并建立分库分表脚本,实现将所有应用系统的文件数据的分库分表,通过脚本实现了自动化的分库分表,提高了分库分表的效率,解决了需要人工操作分库分表的不足。
80.以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献