CN101763433A - 一种数据存储系统及方法 - Google Patents
一种数据存储系统及方法 Download PDFInfo
- Publication number
- CN101763433A CN101763433A CN 201010034024 CN201010034024A CN101763433A CN 101763433 A CN101763433 A CN 101763433A CN 201010034024 CN201010034024 CN 201010034024 CN 201010034024 A CN201010034024 A CN 201010034024A CN 101763433 A CN101763433 A CN 101763433A
- Authority
- CN
- China
- Prior art keywords
- data
- module
- threshold value
- stored
- main 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000013500 data storage Methods 0.000 title claims abstract description 12
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据存储系统及方法,用于实现数据的快速存储,其中该系统主要包括:设置模块,用于在数据库中设置一主表及相应的存储阈值;判断模块,用于判断主表所存储的数据量是否达到相应的存储阈值;生成模块,用于判断模块判断出主表所存储数据量达到主表存储阈值时,在数据库中动态生成附属表;存储模块,用于将数据存储到主表或者附属表中。与现有技术相比,本发明提供的数据存储方法通过动态生成若干个与主表结构相同的附属表,实现了数据的快速保存,尤其适用于巨量数据的快速存储。
Description
技术领域
本发明涉及数据库技术,尤其涉及一种数据存储系统及方法。
背景技术
信息系统的应用越来越广泛,鉴于文件在冗余度、操作方便性等方面的要求和限制,使用数据库存取数据是一种非常普遍的方式。目前普遍使用的存储数据的方法是,在数据库中建立存储表,把存储的数据全部放到该存储表中。
目前普遍使用的存储方法,较优地适用于往已存储有少量数据的数据库中在存储少量数据的情形,其优势体现在存储速度较快。但是往已存储大量数据的数据库中再存储巨量数据的时候,受主机、网络及数据库性能等影响,数据存储的速度较慢,无法迅速地往数据库中存储数据,往往是用户较难接受的。
发明内容
本发明所要解决的技术问题是需要提供一种数据存储方法,用于实现数据的快速存储。
为了解决上述技术问题,本发明提供了一种数据存储系统,包括:
设置模块,用于在数据库中设置一主表,并为所述主表设置相应的存储阈值;
接收模块,用于接收数据;
判断模块,用于判断所述主表所存储的数据量是否达到相应的存储阈值;
生成模块,用于所述判断模块判断出所述主表所存储数据量达到所述主表存储阈值时,在所述数据库中动态生成附属表;
存储模块,用于将所述数据存储到所述主表或者所述附属表中;
其中,
所述生成模块用于在动态生成所述附属表时,每次生成一个附属表,并为该附属表设置相应的存储阈值,在所述判断模块判断出新生成的附属表所存储的数据达到相应的存储阈值时,继续生成一个附属表用于继续存储数据;
所述判断模块,用于判断所述新生成的附属表所存储的数据是否达到与其相应的存储阈值。
优选地,所述生成模块生成的所述附属表,其结构与所述主表的结构相同。
优选地,所述存储模块在所述判断模块判断出所述主表所存储的数据量未达到相应的存储阈值时,将所述数据存储到所述主表中,否则将所述数据存储到所述附属表中。
优选地,所述存储模块用于记录存储到所述主表或者附属表中的数据量;所述判断模块用于根据所述存储模块记录的存储到所述主表中的数据量,判断所述主表所存储的数据量是否达到相应的存储阈值,并用于根据所述存储模块记录的存储到所述附属表的数据量,判断所述附属表所存储的数据量是否达到相应的存储阈值。
优选地,所述判断模块进一步用于实时读取所述主表所存储的数据量,判断所述主表所存储的数据量是否达到相应的存储阈值;
所述判断模块进一步用于实时读取所述附属表所存储的数据量,判断所述附属表所存储的数据量是否达到相应的存储阈值。
为了解决上述技术问题,本发明还提供了一种数据存储方法,包括:
在数据库中设置一主表,并为所述主表设置相应的存储阈值;
接收数据,并将所述数据存储到所述主表中;
所述主表所存储的数据量达到相应的存储阈值时,在所述数据库中动态生成附属表,并继续接收数据;
将继续接收的数据存储到所述附属表中;
其中,动态生成附属表时,每次生成一个附属表,并为该附属表设置相应的存储阈值;新生成的附属表所存储的数据量达到与其相应的存储阈值时,继续生成一个附属表用于继续存储数据。
优选地,所述附属表的结构与所述主表的结构相同。
优选地,所述主表所存储的数据量未达到相应的存储阈值时,将所述数据存储到所述主表中,否则将所述数据存储到所述附属表中。
优选地,记录存储到所述主表或者附属表中的数据量;根据存储到所述主表中的数据量,判断所述主表所存储的数据量是否达到相应的存储阈值;根据存储到所述附属表的数据量,判断所述附属表所存储的数据量是否达到相应的存储阈值。
优选地,进一步实时读取所述主表所存储的数据量,判断所述主表所存储的数据量是否达到相应的存储阈值;进一步实时读取所述附属表所存储的数据量,判断所述附属表所存储的数据量是否达到相应的存储阈值。
与现有技术相比,本发明提供的数据存储方法通过动态生成若干个与主表结构相同的附属表,实现了数据的快速保存,尤其适用于巨量数据的快速存储。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明存储系统实施例的组成示意图;
图2为本发明方法实施例的流程示意图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。
需要说明的是,如果不冲突,本发明实施例以及实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明的核心思想是,最先接收的数据存储到一主表中,当主表所存储的数量达到预设的存储阈值时,根据主表的结构生成附属表,并将后续接收的数据存储到附属表中;当附属表所存储的数据达到预设的存储阈值时,继续根据主表的结构生成新附属表并存储所接收的数据。
图1为本发明存储系统实施例的组成示意图。如图1所示,本发明系统主要包括设置模块110、接收模块120、判断模块130、生成模块140以及存储模块150,其中:
设置模块110,用于在数据库中设置一主表,并为该主表设置相应的存储阈值;
接收模块120,用于接收数据;
判断模块130,与该接收模块120相连,用于接收模块120接收数据时,判断该主表所存储数据量是否达到相应的存储阈值;并用于判断附属表中所存储的数据量是否达到与附属表相应的存储阈值;
生成模块140,与该判断模块130相连,用于该判断模块130判断到该主表所存储数据量达到相应的存储阈值时,在该数据库中动态生成附属表;其中,该附属表的结构与主表的结构相同;
存储模块150,与该接收模块120、判断模块130以及生成模块140相连,用于根据判断模块130的判断结果,将接收模块120接收的数据存储到主表或者生成模块140所生成的附属表中。
上述主表是所有附属表的父本,接收模块120所接收的数据,先存入到主表中。在主表所存储的数据量达到与主表相应的存储阈值时,生成模块140生成附属表,接收模块120后续接收的数据,存入到生成模块140所生成的附属表中。
上述判断模块130判断主表或者附属表所存储的数据量是否达到相应的存储阈值(分别对应与主表相应的存储阈值或者与附属表相应的存储阈值),是根据存储模块150在往主表或者附属表(多个附属表时为每个附属表)中存储数据时所记录的数据量来进行的。在本发明的其他实施例中,判断模块130也可以实时读取主表或者附属表所存储的数据量,来判断是否达到相应的存储阈值的。
本发明技术方案中,若干个附属表的存储阈值,可以设置为相等也可以设置为不相等。
上述判断模块130进一步判断生成模块140所生成的附属表所存储的数据量,在所生成的该附属表所存储的数据量达到与附属表相应的存储阈值时,生成模块140进一步生成新附属表以继续存储接收模块120所接收的数据。
利用本发明方法存储数据时,无论数据库中是否存储有数据,均先查看是否存在附属表,如果存在,则获取最后一个附属表所存储的数据量,如果该数据量未达到与该附属表相应的存储阈值,则把数据写入到最后一个附属表中;当数据未全部写入而最后一个附属表所存储的数据量达到相应的存储阈值时,则重新生成一个新附属表并继续写入,以此类推直到数据全部写完为止;如果不存在附属表,且主表所存储的数据量未达到预设的与该主表相应的存储阈值,则把数据写入到该主表中;当数据未全部写入而该主表所存储的数据量达到相应的存储阈值时,或者主表的数据已经达到预设的与该主表相应的存储阈值,则生成一个附属表继续写入数据,以此类推,直到数据全部写完为止。
图2为本发明方法实施例的流程示意图。结合图1所示系统实施例,图2所示的方法实施例主要包括如下步骤:
步骤S210,在数据库中设置一主表,为该主表设置相应的存储阈值;
步骤S220,接收数据;
步骤S230,判断该主表所存储的数据量是否达到与该主表相应的存储阈值,是则转步骤S240,否则转步骤S270;
步骤S240,判断当前附属表是否达到与附属表相应的存储阈值,是则执行步骤S250后再执行步骤S260,否则直接执行步骤S260;其中该当前附属表是根据主表的结构生成,并于当前进行数据存储;
步骤S250,根据主表的结构在数据库中生成新附属表,并将该新附属表作为当前附属表继续存储所接收的数据;
步骤S260,往当前附属表中存储所接收的数据,存储过程中该当前附属表所存储的数据量达到相应的存储阈值时,则根据主表的结构生成新附属表继续存储所接收的数据,返回步骤S220继续执行;
步骤S270,往主表中存储所接收的数据,存储过程中该主表所存储的数据量达到与主表相应的存储阈值时,则根据主表的结构生成新附属表继续存储所接收的数据,返回步骤S220继续执行。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。另外,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (10)
1.一种数据存储系统,其特征在于,包括:
设置模块,用于在数据库中设置一主表,并为所述主表设置相应的存储阈值;
接收模块,用于接收数据;
判断模块,用于判断所述主表所存储的数据量是否达到相应的存储阈值;
生成模块,用于所述判断模块判断出所述主表所存储数据量达到所述主表存储阈值时,在所述数据库中动态生成附属表;
存储模块,用于将所述数据存储到所述主表或者所述附属表中;
其中,
所述生成模块用于在动态生成所述附属表时,每次生成一个附属表,并为该附属表设置相应的存储阈值,在所述判断模块判断出新生成的附属表所存储的数据达到相应的存储阈值时,继续生成一个附属表用于继续存储数据;
所述判断模块,用于判断所述新生成的附属表所存储的数据是否达到与其相应的存储阈值。
2.如权利要求1所述的系统,其特征在于:
所述生成模块生成的所述附属表,其结构与所述主表的结构相同。
3.如权利要求1所述的系统,其特征在于:
所述存储模块在所述判断模块判断出所述主表所存储的数据量未达到相应的存储阈值时,将所述数据存储到所述主表中,否则将所述数据存储到所述附属表中。
4.如权利要求1所述的系统,其特征在于:
所述存储模块用于记录存储到所述主表或者附属表中的数据量;
所述判断模块用于根据所述存储模块记录的存储到所述主表中的数据量,判断所述主表所存储的数据量是否达到相应的存储阈值,并用于根据所述存储模块记录的存储到所述附属表的数据量,判断所述附属表所存储的数据量是否达到相应的存储阈值。
5.如权利要求1所述的系统,其特征在于:
所述判断模块进一步用于实时读取所述主表所存储的数据量,判断所述主表所存储的数据量是否达到相应的存储阈值;
所述判断模块进一步用于实时读取所述附属表所存储的数据量,判断所述附属表所存储的数据量是否达到相应的存储阈值。
6.一种数据存储方法,其特征在于,包括:
在数据库中设置一主表,并为所述主表设置相应的存储阈值;
接收数据,并将所述数据存储到所述主表中;
所述主表所存储的数据量达到相应的存储阈值时,在所述数据库中动态生成附属表,并继续接收数据;
将继续接收的数据存储到所述附属表中;
其中,动态生成附属表时,每次生成一个附属表,并为该附属表设置相应的存储阈值;新生成的附属表所存储的数据量达到与其相应的存储阈值时,继续生成一个附属表用于继续存储数据。
7.如权利要求6所述的方法,其特征在于:
所述附属表的结构与所述主表的结构相同。
8.如权利要求6所述的方法,其特征在于:
所述主表所存储的数据量未达到相应的存储阈值时,将所述数据存储到所述主表中,否则将所述数据存储到所述附属表中。
9.如权利要求6所述的方法,其特征在于:
记录存储到所述主表或者附属表中的数据量;
根据存储到所述主表中的数据量,判断所述主表所存储的数据量是否达到相应的存储阈值;
根据存储到所述附属表的数据量,判断所述附属表所存储的数据量是否达到相应的存储阈值。
10.如权利要求6所述的方法,其特征在于:
进一步实时读取所述主表所存储的数据量,判断所述主表所存储的数据量是否达到相应的存储阈值;
进一步实时读取所述附属表所存储的数据量,判断所述附属表所存储的数据量是否达到相应的存储阈值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010034024 CN101763433B (zh) | 2010-01-12 | 2010-01-12 | 一种数据存储系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010034024 CN101763433B (zh) | 2010-01-12 | 2010-01-12 | 一种数据存储系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101763433A true CN101763433A (zh) | 2010-06-30 |
CN101763433B CN101763433B (zh) | 2012-12-12 |
Family
ID=42494597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010034024 Active CN101763433B (zh) | 2010-01-12 | 2010-01-12 | 一种数据存储系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101763433B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662964A (zh) * | 2012-03-05 | 2012-09-12 | 北京千橡网景科技发展有限公司 | 对用户的好友进行分组的方法和装置 |
CN105117470A (zh) * | 2015-08-28 | 2015-12-02 | 广州酷狗计算机科技有限公司 | 数据存储方法和装置 |
CN105760553A (zh) * | 2016-03-25 | 2016-07-13 | 北京奇虎科技有限公司 | 数据管理方法和装置 |
CN103678519B (zh) * | 2013-11-29 | 2017-03-29 | 中国科学院计算技术研究所 | 一种支持Hive DML增强的混合存储系统及其方法 |
CN106844236A (zh) * | 2016-12-27 | 2017-06-13 | 北京五八信息技术有限公司 | 终端设备的数据存储方法和装置 |
CN106959951A (zh) * | 2016-01-08 | 2017-07-18 | 北京国双科技有限公司 | 数据库的处理方法和装置 |
CN108256091A (zh) * | 2018-01-25 | 2018-07-06 | 郑州云海信息技术有限公司 | 一种基于SQLite数据库的垂直拆分方法 |
CN109784846A (zh) * | 2018-12-29 | 2019-05-21 | 福建华闽通达信息技术有限公司 | 一种根据数量判断表单是否生成附表的方法及计算机设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7895247B2 (en) * | 2003-10-29 | 2011-02-22 | Oracle International Corporation | Tracking space usage in a database |
US8341345B2 (en) * | 2005-08-08 | 2012-12-25 | International Business Machines Corporation | System and method for providing content based anticipative storage management |
CN101187936B (zh) * | 2007-12-07 | 2011-06-29 | 圣诺网络技术(上海)有限公司 | 一种日志数据的存储方法和装置 |
-
2010
- 2010-01-12 CN CN 201010034024 patent/CN101763433B/zh active Active
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662964A (zh) * | 2012-03-05 | 2012-09-12 | 北京千橡网景科技发展有限公司 | 对用户的好友进行分组的方法和装置 |
CN102662964B (zh) * | 2012-03-05 | 2015-05-27 | 北京千橡网景科技发展有限公司 | 对用户的好友进行分组的方法和装置 |
CN103678519B (zh) * | 2013-11-29 | 2017-03-29 | 中国科学院计算技术研究所 | 一种支持Hive DML增强的混合存储系统及其方法 |
CN105117470A (zh) * | 2015-08-28 | 2015-12-02 | 广州酷狗计算机科技有限公司 | 数据存储方法和装置 |
CN106959951A (zh) * | 2016-01-08 | 2017-07-18 | 北京国双科技有限公司 | 数据库的处理方法和装置 |
CN105760553A (zh) * | 2016-03-25 | 2016-07-13 | 北京奇虎科技有限公司 | 数据管理方法和装置 |
CN106844236A (zh) * | 2016-12-27 | 2017-06-13 | 北京五八信息技术有限公司 | 终端设备的数据存储方法和装置 |
CN108256091A (zh) * | 2018-01-25 | 2018-07-06 | 郑州云海信息技术有限公司 | 一种基于SQLite数据库的垂直拆分方法 |
CN109784846A (zh) * | 2018-12-29 | 2019-05-21 | 福建华闽通达信息技术有限公司 | 一种根据数量判断表单是否生成附表的方法及计算机设备 |
CN109784846B (zh) * | 2018-12-29 | 2022-09-13 | 福建华闽通达信息技术有限公司 | 一种根据数量判断表单是否生成附表的方法及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101763433B (zh) | 2012-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101763433B (zh) | 一种数据存储系统及方法 | |
CN106874348B (zh) | 文件存储和索引方法、装置及读取文件的方法 | |
US20080195833A1 (en) | Systems, methods and computer program products for operating a data processing system in which a file system's unit of memory allocation is coordinated with a storage system's read/write operation unit | |
EP3432157B1 (en) | Data table joining mode processing method and apparatus | |
WO2017185579A1 (zh) | 一种数据存储方法及装置 | |
US12056391B2 (en) | SSD-based log data storage method and apparatus, device and medium | |
CN105224237A (zh) | 一种数据存储方法及装置 | |
CN104657366B (zh) | 海量日志写入数据库的方法、装置和日志容灾系统 | |
CN104199784B (zh) | 一种基于分级存储的数据迁移方法及装置 | |
CN108733324B (zh) | 一种固态硬盘的数据读写方法、装置、设备及存储介质 | |
CN110688256B (zh) | 一种元数据上电恢复方法、装置、电子设备及存储介质 | |
CN109240607B (zh) | 一种文件读取方法和装置 | |
CN102867035A (zh) | 一种分布式文件系统集群高可用方法和装置 | |
CN103412822A (zh) | 操作非易失性内存和数据操作的方法和相关装置 | |
US10803109B2 (en) | Method and device for reading and writing video data in NAS device | |
CN106844491B (zh) | 一种临时数据的写入、读取方法及写入、读取装置 | |
CN109460406A (zh) | 一种数据处理方法及装置 | |
CN116088758A (zh) | 优化方法、装置、计算机设备、存储介质和程序产品 | |
CN104808953A (zh) | 控制数据存储的方法、装置及移动终端 | |
CN110399168A (zh) | 多数据盘存储服务器的系统启动方法、装置及设备 | |
US8726101B2 (en) | Apparatus and method for tracing memory access information | |
CN115794446B (zh) | 一种消息处理方法、装置、电子设备和存储介质 | |
EP4425892A1 (en) | Resource operating method and apparatus, electronic device, and storage medium | |
US10761940B2 (en) | Method, device and program product for reducing data recovery time of storage system | |
US20200081869A1 (en) | File storage method and storage apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20201118 Address after: 215100 No. 1 Guanpu Road, Guoxiang Street, Wuzhong Economic Development Zone, Suzhou City, Jiangsu Province Patentee after: SUZHOU LANGCHAO INTELLIGENT TECHNOLOGY Co.,Ltd. Address before: 100085 Beijing, Haidian District on the road to information on the ground floor, building 2-1, No. 1, C Patentee before: Inspur (Beijing) Electronic Information Industry Co.,Ltd. |