CN112540993A - 表单数据库构建方法、构建装置和查询方法 - Google Patents

表单数据库构建方法、构建装置和查询方法 Download PDF

Info

Publication number
CN112540993A
CN112540993A CN202011526605.6A CN202011526605A CN112540993A CN 112540993 A CN112540993 A CN 112540993A CN 202011526605 A CN202011526605 A CN 202011526605A CN 112540993 A CN112540993 A CN 112540993A
Authority
CN
China
Prior art keywords
sub
data
query
tables
main
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.)
Pending
Application number
CN202011526605.6A
Other languages
English (en)
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.)
Beijing Jinher Software Co Ltd
Original Assignee
Beijing Jinher Software Co 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 Beijing Jinher Software Co Ltd filed Critical Beijing Jinher Software Co Ltd
Priority to CN202011526605.6A priority Critical patent/CN112540993A/zh
Publication of CN112540993A publication Critical patent/CN112540993A/zh
Pending legal-status Critical Current

Links

Images

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/245Query processing

Landscapes

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

Abstract

本发明公开了一种表单数据库构建方法、构建装置和查询方法,属于数据处理领域;当主表的数据量达到预设值时,根据主表的数据建立多个子表,能够避免主表数据过多导致查询速度变慢的情况的发生,将数据存储到多个子表中,查询时只需从某一个子表中查询即可,查询速度快,当所述子表建立完成后,建立子表的查询链接,子表建立过程不影响主表的正常使用,子表建立完成并进行链接后,可以直接通过子表进行查询,大大提高了用户的体验。

Description

表单数据库构建方法、构建装置和查询方法
技术领域
本发明涉及数据处理技术,特别地,涉及一种表单数据库构建方法、构建装置和查询方法。
背景技术
对于传统的刚上线的互联网项目来说,由于前期活跃用户不多,并发量也相对较小,企业一般都会将所有数据存放在单表中进行操作,但随着业务的发展和用户量的增加,单表所需要存储的数据也会越来越多,但是关系型数据库在单表数据量较大的情况下,查询性能会急剧下降,这样大大的削弱了用户的体验,同时也降低了系统的质量。
发明内容
为了克服现有技术的不足,本发明提供一种表单数据库构建方法、构建装置和查询方法,以解决单表数据量较大时,查询性能下降的问题。
本发明解决其技术问题所采用的技术方案是:
第一方面,
一种表单数据库构建方法,包括以下步骤:
获取主表的数据;
当所述主表的数据量达到预设值时,根据主表的数据建立多个子表,每个子表内数据都不相同,且所有子表内总数据构成主表的数据;
当所述子表建立完成后,建立子表的查询链接以便查询时从所述子表内进行查询。
进一步地,所述根据主表的数据建立多个子表包括:
选取待拆分的字段;
确定拆分规则;
根据拆分规则处理所述待拆分字段以获取拆分后的子表名称以及所述子表名称对应的子表数据;
将获取的子表数据及其在主表中对应的要素转移到子表中得到子表,所述要素包括主键、索引和默认值。
进一步地,所述确定拆分规则包括:
获取历史查询记录;
根据历史查询记录确定拆分的规则。
进一步地,所述根据拆分规则处理所述待拆分字段以获取拆分后的子表名称以及所述子表名称对应的子表数据包括:对所述待拆分字段采用取模操作获取拆分后的子表名称以及所述子表名称对应的子表数据。
进一步地,还包括:
检测到根据主表的数据建立多个子表的过程被中断;
重新根据所述主表的数据建立多个子表。
进一步地,还包括:
重新根据所述主表的数据建立多个子表后,判断每个子表内是否存在重复数据;
当存在重复数据时;删除所述重复数据。
进一步地,还包括:
当检测到有新数据时,直接插入主表;同时判断所述新数据的属性插入相应的子表中。
进一步地,还包括:
获取每个子表中数据量;
当任一子表中数据量达到预设值且存在新数据要插入时,建立新的子表存储所述新数据。
第二方面,
一种表单数据库构建装置,包括:
数据获取模块,用于获取主表的数据;
子表建立模块,用于当所述主表的数据量达到预设值时,根据主表的数据建立多个子表,每个子表内数据都不相同,且所有子表内总数据构成主表的数据;
子表链接模块,用于当所述子表建立完成后,建立子表的查询链接以便查询时从所述子表内进行查询。
第三方面,
一种表单数据库查询方法,包括以下步骤:
根据用户选择确定查询方式;所述查询方式包括通过主表进行查询和通过子表进行查询;
根据所述查询方式进行查询。
本申请采用以上技术方案,至少具备以下有益效果:
本申请技术方案提供一种表单数据库构建方法、构建装置和查询方法,当主表的数据量达到预设值时,根据主表的数据建立多个子表,能够避免主表数据过多导致查询速度变慢的情况的发生,将数据存储到多个子表中,查询时只需从某一个子表中查询即可,查询速度快,当所述子表建立完成后,建立子表的查询链接,子表建立过程不影响主表的正常使用,子表建立完成并进行链接后,可以直接通过子表进行查询,大大提高了用户的体验。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种表单数据库构建方法流程图;
图2是本发明实施例提供的一种表单数据库构建装置结构框图;
图3是本发明实施例提供的一种表单数据库查询方法流程图;
图4是本发明实施例提供的一种表单数据库构建和查询示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面结合附图和实施例对本发明的技术方案进行详细的描述说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本申请所保护的范围。
参照图1,本发明实施例提供一种表单数据库构建方法,包括以下步骤:
获取主表的数据;
当主表的数据量达到预设值时,根据主表的数据建立多个子表,每个子表内数据都不相同,且所有子表内总数据构成主表的数据;
当子表建立完成后,建立子表的查询链接以便查询时从子表内进行查询。
本发明实施例提供的一种表单数据库构建方法,当主表的数据量达到预设值时,根据主表的数据建立多个子表,能够避免主表数据过多导致查询速度变慢的情况的发生,将数据存储到多个子表中,查询时只需从某一个子表中查询即可,查询速度快,当所述子表建立完成后,建立子表的查询链接,子表建立过程不影响主表的正常使用,子表建立完成并进行链接后,可以直接通过子表进行查询,大大提高了用户的体验。
作为对上述实施例的一种补充说明,根据主表的数据建立多个子表包括:
选取待拆分的字段;
确定拆分规则;一下可选实施例中,确定拆分规则包括获取历史查询记录;根据历史查询记录确定拆分的规则。可以理解的是,也可以认为设定拆分规则,或者两种方式结合设定拆分规则。
根据拆分规则处理待拆分字段以获取拆分后的子表名称以及子表名称对应的子表数据;具体地,对待拆分字段采用取模操作获取拆分后的子表名称以及子表名称对应的子表数据。
将获取的子表数据及其在主表中对应的要素转移到子表中得到子表,要素包括但不限于:主键、索引和默认值。
在实际运行过程中,检测到根据主表的数据建立多个子表的过程被中断;重新根据主表的数据建立多个子表。需要说明的是,重新根据主表的数据建立多个子表后,判断每个子表内是否存在重复数据;当存在重复数据时;删除重复数据。在主表拆分过程中有可能因为各种原因导致拆分中断或拆分失败,因此在往子表中插入数据时要对重复数据做异常处理,这样万一拆分过程被中断,完全可以进行再次拆分,而且拆分后能保证子表的数据合并后与主表的数据完全匹配。
作为本发明实施例一种可选的实现方式,还包括:获取每个子表中数据量;当任一子表中数据量达到预设值且存在新数据要插入时,建立新的子表存储新数据。该方案能够保证每个子表存储的数据在一定值,方便快速查询,如果子表存储数据过多,那么查询速度就会变慢,因此,保证每个子表存储数据不多。
一个实施例中,本发明还提供一种表单数据库构建装置,如图2所示,包括:
数据获取模块21,用于获取主表的数据;
子表建立模块22,用于当主表的数据量达到预设值时,根据主表的数据建立多个子表,每个子表内数据都不相同,且所有子表内总数据构成主表的数据;具体地,选取待拆分的字段;确定拆分规则;根据拆分规则处理待拆分字段以获取拆分后的子表名称以及子表名称对应的子表数据;将获取的子表数据及其在主表中对应的要素转移到子表中得到子表,要素包括主键、索引和默认值。
其中,确定拆分规则包括:获取历史查询记录;根据历史查询记录确定拆分的规则。
一些可选实施例中,根据拆分规则处理待拆分字段以获取拆分后的子表名称以及子表名称对应的子表数据包括:对待拆分字段采用取模操作获取拆分后的子表名称以及子表名称对应的子表数据。
需要说明的是,当检测到根据主表的数据建立多个子表的过程被中断;子表建立模块重新根据主表的数据建立多个子表。
一些可选实施例中,当检测到有新数据时,直接插入主表;同时判断新数据的属性插入相应的子表中。
在实际运行过程中,获取每个子表中数据量;当任一子表中数据量达到预设值且存在新数据要插入时,建立新的子表存储新数据。
异常处理模块24,用于判断每个子表内是否存在重复数据;当存在重复数据时;删除重复数据。
子表链接模块23,用于当子表建立完成后,建立子表的查询链接以便查询时从子表内进行查询。
本发明实施例提供的一种表单数据库构建装置,数据获取模块获取主表的数据;当主表的数据量达到预设值时,子表建立模块根据主表的数据建立多个子表,每个子表内数据都不相同,且所有子表内总数据构成主表的数据;异常处理模块判断每个子表内是否存在重复数据;当存在重复数据时;删除重复数据。子表链接模块,用于当子表建立完成后,建立子表的查询链接以便查询时从子表内进行查询。本发明实施例提供的构建装置能够在数据库正常运行时将主表拆分为子表,不会影响数据库的正常运行,同时子表建立查询链接,用户再次查询时可以直接通过子表进行查询,查询速度快,用户体验好。
一个实施例中,本发明还提供一种表单数据库查询方法,如图3所示,包括以下步骤:
根据用户选择确定查询方式;查询方式包括通过主表进行查询和通过子表进行查询;
根据查询方式进行查询。
本发明实施例提供的查询方法,用户可以选择采用子表进行查询,此时查询速度快,也可以通过主表进行查询,给用户提供多种选择,提高用户的体验。
为了更进一步的说明本发明的方案,图4给出了一种子表数据库构建和查询的流程图。在服务器上查询时,可以根据用户需要选择读取子表数据还是读取主表数据,本发明实施例的方案将一张大数据量的单表按照一定规则拆分成多个子表,客户端查询时按照拆分规则去不同的子表读取数据,实现在不影响现有业务的情况下提高查询速度的效果。根据业务实际情况在主表中选择要进行拆分的字段,然后对本字段进行取模操作,并以此创建子表并将不同的数据映射到对应的子表中。在现有逻辑中对主表进行插入操作时也要把数据插到子表中一份,这样可以保证主表与子表中增量数据的一致性。根据子表的拆分规则把主表中的数据拆分到子表中,拆分过程中要对重复数据做异常处理,这样万一拆分过程被中断,完全可以进行再次拆分,这样可以保证主表与子表中存量数据的一致性。数据拆分完毕后,最后上线子表查询业务,最后一步上线之前,无论做了什么都不会影响现有业务,分步操作的设计会大大降低系统故障率。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种表单数据库构建方法,其特征在于,包括以下步骤:
获取主表的数据;
当所述主表的数据量达到预设值时,根据主表的数据建立多个子表,每个子表内数据都不相同,且所有子表内总数据构成主表的数据;
当所述子表建立完成后,建立子表的查询链接以便查询时从所述子表内进行查询。
2.根据权利要求1所述的方法,其特征在于:所述根据主表的数据建立多个子表包括:
选取待拆分的字段;
确定拆分规则;
根据拆分规则处理所述待拆分字段以获取拆分后的子表名称以及所述子表名称对应的子表数据;
将获取的子表数据及其在主表中对应的要素转移到子表中得到子表,所述要素包括主键、索引和默认值。
3.根据权利要求2所述的方法,其特征在于:所述确定拆分规则包括:
获取历史查询记录;
根据历史查询记录确定拆分的规则。
4.根据权利要求2所述的方法,其特征在于:所述根据拆分规则处理所述待拆分字段以获取拆分后的子表名称以及所述子表名称对应的子表数据包括:对所述待拆分字段采用取模操作获取拆分后的子表名称以及所述子表名称对应的子表数据。
5.根据权利要求1所述的方法,其特征在于,还包括:
检测到根据主表的数据建立多个子表的过程被中断;
重新根据所述主表的数据建立多个子表。
6.根据权利要求5所述的方法,其特征在于,还包括:
重新根据所述主表的数据建立多个子表后,判断每个子表内是否存在重复数据;
当存在重复数据时;删除所述重复数据。
7.根据权利要求1所述的方法,其特征在于,还包括:
当检测到有新数据时,直接插入主表;同时判断所述新数据的属性插入相应的子表中。
8.根据权利要求1所述的方法,其特征在于,还包括:
获取每个子表中数据量;
当任一子表中数据量达到预设值且存在新数据要插入时,建立新的子表存储所述新数据。
9.一种表单数据库构建装置,其特征在于,包括:
数据获取模块,用于获取主表的数据;
子表建立模块,用于当所述主表的数据量达到预设值时,根据主表的数据建立多个子表,每个子表内数据都不相同,且所有子表内总数据构成主表的数据;
子表链接模块,用于当所述子表建立完成后,建立子表的查询链接以便查询时从所述子表内进行查询。
10.一种表单数据库查询方法,其特征在于,包括以下步骤:
根据用户选择确定查询方式;所述查询方式包括通过主表进行查询和通过子表进行查询;
根据所述查询方式进行查询。
CN202011526605.6A 2020-12-22 2020-12-22 表单数据库构建方法、构建装置和查询方法 Pending CN112540993A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011526605.6A CN112540993A (zh) 2020-12-22 2020-12-22 表单数据库构建方法、构建装置和查询方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011526605.6A CN112540993A (zh) 2020-12-22 2020-12-22 表单数据库构建方法、构建装置和查询方法

Publications (1)

Publication Number Publication Date
CN112540993A true CN112540993A (zh) 2021-03-23

Family

ID=75019646

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011526605.6A Pending CN112540993A (zh) 2020-12-22 2020-12-22 表单数据库构建方法、构建装置和查询方法

Country Status (1)

Country Link
CN (1) CN112540993A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572727A (zh) * 2013-10-22 2015-04-29 阿里巴巴集团控股有限公司 一种数据查询方法及装置
CN105045877A (zh) * 2015-07-20 2015-11-11 深圳市深信服电子科技有限公司 数据库数据分片存储方法和装置、数据查询方法和装置
CN106844564A (zh) * 2016-12-30 2017-06-13 郑州云海信息技术有限公司 一种网盘文件分表方法及装置
CN107818114A (zh) * 2016-09-14 2018-03-20 中国移动通信有限公司研究院 一种数据处理方法、装置及数据库
CN109408535A (zh) * 2018-09-28 2019-03-01 中国平安财产保险股份有限公司 大数据量匹配方法、装置、计算机设备及存储介质
CN110175808A (zh) * 2019-04-17 2019-08-27 广州精选速购网络科技有限公司 一种订单管理、查询方法、装置、设备及介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572727A (zh) * 2013-10-22 2015-04-29 阿里巴巴集团控股有限公司 一种数据查询方法及装置
CN105045877A (zh) * 2015-07-20 2015-11-11 深圳市深信服电子科技有限公司 数据库数据分片存储方法和装置、数据查询方法和装置
CN107818114A (zh) * 2016-09-14 2018-03-20 中国移动通信有限公司研究院 一种数据处理方法、装置及数据库
CN106844564A (zh) * 2016-12-30 2017-06-13 郑州云海信息技术有限公司 一种网盘文件分表方法及装置
CN109408535A (zh) * 2018-09-28 2019-03-01 中国平安财产保险股份有限公司 大数据量匹配方法、装置、计算机设备及存储介质
CN110175808A (zh) * 2019-04-17 2019-08-27 广州精选速购网络科技有限公司 一种订单管理、查询方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN111723160B (zh) 一种多源异构增量数据同步方法及系统
KR101335101B1 (ko) 데이터의 복제 관리 방법 및 시스템
US8965840B2 (en) Automatic synchronization conflict resolution
KR101084816B1 (ko) 버저닝 기반 트리거를 위한 시스템 및 방법
US9032011B2 (en) Management of data object sharing among applications
US20090307230A1 (en) Computer system, database access method, application server, and program
CN110071978A (zh) 一种集群管理的方法及装置
US20130054639A1 (en) Globally unique identification of directory server changelog records
EP1971939A2 (en) File system dump/restore by node numbering
US8311977B2 (en) Information processing apparatus
CN106897421B (zh) 基于哨兵模式的内存数据库读写分离系统及方法
US7962453B2 (en) Dynamic redistribution of a distributed memory index when individual nodes have different lookup indexes
CN112540993A (zh) 表单数据库构建方法、构建装置和查询方法
CN113254516A (zh) 一种服务器信息自动录入的方法
CN108306780B (zh) 一种基于云环境的虚拟机通信质量自优化的系统和方法
CN111767282A (zh) 基于MongoDB的存储系统及数据插入方法和存储介质
JP3979000B2 (ja) ログ情報取得出力方法および該方法を実現するプログラムを記録した記録媒体
JP5098700B2 (ja) 情報通信システムのファイル交換装置およびファイル交換方法
US7636720B2 (en) Associating and using information in a metadirectory
JP3906217B2 (ja) システム改善支援システム
JP2000047919A (ja) 仮想データベースレプリケーションシステム
US8745072B2 (en) Virtual directory server changelog
CN111858644B (zh) 数据融合与查询的方法、装置和系统
CN114185697A (zh) 一种基于worker实现three.js异步加载3D模型的方法
CN116467058A (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