CN110532268B - 海量数据分库存储的方法、装置、计算机设备及存储介质 - Google Patents
海量数据分库存储的方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN110532268B CN110532268B CN201910809222.0A CN201910809222A CN110532268B CN 110532268 B CN110532268 B CN 110532268B CN 201910809222 A CN201910809222 A CN 201910809222A CN 110532268 B CN110532268 B CN 110532268B
- Authority
- CN
- China
- Prior art keywords
- combination
- storage area
- data
- database
- mass data
- 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
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/04—Billing or invoicing
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Development Economics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Fuzzy Systems (AREA)
- Computing Systems (AREA)
- Accounting & Taxation (AREA)
- Economics (AREA)
- Finance (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了海量数据分库存储的方法、装置、计算机设备及存储介质,其中,方法包括:提取同类型海量数据的关键字段的值;根据所述关键字段的值对同类型海量数据进行分段;为各段的海量数据分配相应的数据库,并将各段的海量数据存储至相应的数据库中。采用本申请的方法进行分库存储处理之后,各个数据库的存储量较为平均,并且查询性能得到提升,也克服了更新或删除时锁表的问题。
Description
技术领域
本申请涉及数据存储技术领域,尤其涉及海量数据分库存储的方法、装置、计算机设备及存储介质。
背景技术
现有技术中,对于海量的数据来说,比如几亿或几十亿条数据,当将这些数据存储在同一个数据库的同一个表中的时候,对于数据的查询、更新、删除操作都存在性能上的瓶颈,并且容易出现锁表的情况。因此需要对数据进行分库处理,但现有技术中提供的分库存储方法,其仍存在查询效率低、更新或删除操作时容易出现锁表的问题。
申请内容
本申请实施例提供了海量数据分库存储的方法、装置、计算机设备及存储介质,旨在解决现有技术中分库存储方法存在查询效率低、更新或删除操作易出现锁表的问题。
第一方面,本申请实施例提供了一种海量数据分库存储的方法,其包括:
提取同类型海量数据的关键字段的值;
根据所述关键字段的值对同类型海量数据进行分段;
为各段的海量数据分配相应的数据库,并将各段的海量数据存储至相应的数据库中。
第二方面,本申请实施例提供了一种海量数据分库存储的装置,其包括:
提取模块,用于提取同类型海量数据的关键字段的值;
分段模块,用于根据所述关键字段的值对同类型海量数据进行分段;
存储模块,用于为各段的海量数据分配相应的数据库,并将各段的海量数据存储至相应的数据库中。
第三方面,本申请实施例提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的海量数据分库存储的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述海量数据分库存储的方法。
本申请实施例提供了一种海量数据分库存储的方法,包括:提取同类型海量数据的关键字段的值;根据所述关键字段的值对同类型海量数据进行分段;为各段的海量数据分配相应的数据库,并将各段的海量数据存储至相应的数据库中。经过本申请实施例提供的方法进行分库存储处理之后,各个数据库的存储量较为平均,并且查询性能得到提升,也克服了更新或删除时锁表的问题。本申请实施例同时还提供了一种海量数据分库存储的装置、一种计算机可读存储介质和一种计算机设备,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的海量数据分库存储的方法的流程示意图;
图2为本申请实施例提供的海量数据分库存储的装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1为本申请实施例提供的一种海量数据分库存储的方法的流程示意图,方法可以包括步骤:
S101、提取同类型海量数据的关键字段的值;
本步骤中,先提取同类型海量数据的关键字段的值,本申请实施例中,对海量数据分库处理是指对同类型海量数据进行分库处理。这样可方便进行存储和查询等。
在一个具体应用场景中,所述海量数据的类型为发票数据,例如企业的销项增值税发票,这些数据可能有几亿甚至几十亿条。
进一步,所述步骤S101包括:步骤一、提取发票数据的企业税号;步骤二、获取企业税号中表示企业标识的关键字段的值。
具体的,先在步骤S101中提取发票数据的企业税号,该企业税号具体为sellertaxno,然后对企业税号进行位数拆分,即提取出企业税号中表示企业标识的关键字段的值。
举例来说,当企业税号的长度为18位,截取16位和17位两位字符(这两个字符构成的关键字段,可以表示企业标识),当企业税号的长度为15位(旧税号),截取14位和15位两位字符(这两个字符构成的关键字段,可以表示企业标识),以保证即使使用的新税号和旧税号,也能使提取出的字符能够表示同一销方企业。举例:企业旧税号为15位:430302664657486,三证合一后升级的税号为18位:91430302664657486R,即新税号是在旧税号的基础上前面加两位字符(数字或字母),最后面加一位字符(数字或字母),那么按上述规则截取旧税号的14和15位为数字86,截取新税号的16和17位也是数字86。
S102、根据所述关键字段的值对同类型海量数据进行分段;
对于关键字段来说,其值一般是具有规律性的,即使无规律性,也可以根据普遍的规则对同类型海量数据进行分段,例如根据字符排序依次进行分段。对于发票数据来说,上述提取出的关键字段的值具有一定的规律,本申请实施例正是根据该规律来对海量发票数据进行分段。
进一步,所述步骤S102包括:步骤一、对所述表示企业标识的关键字段的值进行解析;步骤二、若所述表示企业标识的关键字段的值为纯数字的组合,将对应的发票数据归为第一段;若所述表示企业标识的关键字段的值为数字与X的组合,将对应的发票数据归为第二段;若所述表示企业标识的关键字段的值为数字与除X之外的其他字母的组合,将对应的发票数据归为第三段。
本步骤中,先对上述表示企业标识的关键字段的值进行解析,分析表示企业标识的关键字段的值的组成,然后根据组成来进行分段。所述组成包括三类:第一类是纯数字的组合,第二类是数字与字母X的组合,第三类是数字与除字母X之外的其他字母的组合。对于第一类,将对应的发票数据归为第一段,对于第二类,将对应的发票数据归为第二段,对于第三类,将对应的发票数据归为第三段。
具体的,在一个具体应用场景中,所述表示企业标识的关键字段的值由两个字符组成,相应的,上述三类组合具体可以是:所述纯数字的组合为两个单一数字构成的两位数组合,即数字+数字的组合;所述数字与X的组合为单个数字与X构成的两位数组合,即数字+X的组合;所述数字与除X之外的其他字母的组合为单个数字与除X之外的单个字母构成的两位数组合,即数字+除X之外的字母的组合。另外,还存在一种情况,即字母+数字/字母,即由字母+数字或者字母+字母构成的组合,在这种组合中前面一个字符为字母,后面一个字符可以是字母或数字,对于这种情况,其出现的情况较少,可将这种情况归到第三类,将对应的发票数据归为第三段。
S103、为各段的海量数据分配相应的数据库,并将各段的海量数据存储至相应的数据库中。
本步骤是根据前面的分段结果,来分配对应的数据库,以便将每段的海量数据存储。
进一步,所述步骤S103包括:对于纯数字的组合的情况,分配100个第一数据库;对于数字与X的组合的情况,分配10个第二数据库;对于数字与除X之外的其他字母的组合的情况,分配1个第三数据库。
在一个具体应用场景中,所述第一数据库、第二数据库和第三数据库的可存储量相同,即这些数据库的规格可以相同或大致相同,只是每个数据库存储的数据有所不同。
一般来说,对纯数字的组合的数据,其占所有数据的比例大约为90%,所以可分配较多的第一数据库;对于数字与X的组合的数据,其占所有数据的比例大约为9%,所以可分配较少的第二数据库;对于数字与除X之外的其他字母的组合的数据,其占所有数据的比例大约为1%,所以可分配更少的第三数据库。本申请实施例中,根据各段数据所占的比例来确定所分配的数据库的比例,从而可以使数据库分配更均匀。
进一步,所述步骤S103还包括:根据所述表示企业标识的关键字段的值将第一段的海量数据存储至匹配的第一数据库中;根据所述表示企业标识的关键字段的值将第二段的海量数据存储至匹配的第二数据库中;将第三段的海量数据存储至第三数据库中。上述步骤就是根据表示企业标识的关键字段的值来将海量数据进行分库存储。这样可以实现对海量数据的分库存储,同时分库是按照预定规则来进行匹配的,所以后续进行数据的检索和查询也更加方便,提高了查询效率。
举例来说,
1)表示企业标识的关键字段的值是数字+数字的组合,按00-99,依次存储到db00-db99,例如对于86的组合,对应的发票数据会存储在db086这个数据库中。从00到99的这种数字+数字的组合的数据量约占总数据量的90%左右,所以分db00-db99共一百个数据库进行存储。
本申请实施例中,是根据数字+数字的组合的具体值来确定存储的第一数据库,例如第一数据库分别为db00-db99,那么对于00的组合,则将对应发票数据存储到db00这个数据库中,对于01的组合,则将对应发票数据存储到db01这个数据库中,对于02的组合,则将对应发票数据存储到db2这个数据库中...,对于99的组合,则将对应发票数据存储到db99这个数据库中,这样就实现了根据具体值来确定存储的数据库,从而方便了数据的存储管理,同时也方便了进行检索和查询。
2)表示企业标识的关键字段的值是数字+X的组合,按0X-9X,依次存储到db100-db109,举例说明:如18位税号9161011409277778X8,取16-17位为8X,会存储到db108这个数据库中,如15位税号为11010866564242X,取14-15位为2X,会存储到db102这个数据库中。这种0X-9X的组合的数据量约占总数据量的9%左右,所以分db100-db109共十个数据库进行存储。
本申请实施例中,是根据数字+X的组合的具体值来确定存储的第二数据库,例如第二数据库分别为db100-db109,那么对于0X的组合,则将对应发票数据存储到db100这个数据库中,对于1X的组合,则将对应发票数据存储到db101这个数据库中,对于2X的组合,则将对应发票数据存储到db102这个数据库中...,对于9X的组合,则将对应发票数据存储到db109这个数据库中,这样就实现了根据具体值来确定存储的数据库,从而方便了数据的存储管理,同时也方便了进行检索和查询。
3)表示企业标识的关键字段的值是数字+除X外的其他字母的组合,或者字母+(数字|字母)的组合,都存储到db110这个数据库中。举例说明:如18位税号91330324MA2GCFX36Q,取17-18位为6Q(属于数字+除X外的其他字母),如15位税号14206255597102FU,取14-15位为FU(属于字母+字母),这类税号的数据量较少,占总数据量的1%左右,所以将上述情况归为一类,全部存储到db110这一数据库中。
本申请实施例中,可以对第三数据库的存储区域进行分类,例如将第三数据库分为三个存储区域:第一存储区域、第二存储区域和第三存储区域。对于第一存储区域,其可用来存储数字+除X外的其他字母的组合对应的发票数据,对于第二存储区域,其可用来存储字母+数字的组合对应的发票数据,对于第三存储区域,其可用来存储字母+字母的组合对应的发票数据,这样就实现了根据具体值来确定存储的数据库,从而方便了数据的存储管理,同时也方便了进行检索和查询。当然,每一类存储区域的大小可以根据所需存储的发票数据的总量来确定,另外还可将各存储区域的大小设置为浮动的,例如当某一存储区域存储的数据量较大时,则增加相应存储区域的大小,当某一存储区域存储的数据量较小时,则减少相应存储区域的大小,以便合理利用各存储区域,在这种情况下第三数据库的可存储量是固定的,只是会浮动设置各存储区域的大小,将一些未利用的存储空间转移到需求量较大的存储区域。
对于所述第一存储区域、第二存储区域和第三存储区域来说,可分别设置一上限和下限,用于确定是否转移存储空间,所述第一存储区域、第二存储区域和第三存储区域的上限可设置为相同,也可以设置为不同,所述第一存储区域、第二存储区域和第三存储区域的下限也可设置为相同,也可设置为不同。
举例来说,可检测所述第一存储区域、第二存储区域和第三存储区域存储的数据量,某一存储区域存储的数据量低于其下限(对应存储区域的下限)时,则可将该该存储区域的大小减去其下限得到的存储空间转移给其他存储区域,并且优先转移给存储较多数据量的存储区域。或者,某一存储区域存储的数据量高于其上限(对应存储区域的上限)时,则可将其他存储区域的大小减去其上限得到的存储空间转移给该存储区域,并且优先从存储较少数据量的存储区域中转移存储空间。
经过分库存储处理之后,比如之前1个多亿的数据量,大约平均分到了111个库存储,平均每个库的数据量只有约100万左右,并且与发票数据的规则相匹配,所以解决了查询超时性能问题、更新或删除时锁表的问题。
请参见图2,图2为本申请实施例所提供的海量数据分库存储的装置的结构示意图;
该装置可以包括:
提取模块201,用于提取同类型海量数据的关键字段的值;
分段模块202,用于根据所述关键字段的值对同类型海量数据进行分段;
存储模块203,用于为各段的海量数据分配相应的数据库,并将各段的海量数据存储至相应的数据库中。
进一步,所述海量数据的类型为发票数据。
进一步,所述提取模块201包括:
提取单元,用于提取发票数据的企业税号;
获取单元,用于获取企业税号中表示企业标识的关键字段的值。
进一步,所述分段模块202包括:
解析单元,用于对所述表示企业标识的关键字段的值进行解析;
第一分段单元,用于若所述表示企业标识的关键字段的值为纯数字的组合,将对应的发票数据归为第一段;
第二分段单元,用于若所述表示企业标识的关键字段的值为数字与X的组合,将对应的发票数据归为第二段;
第三分段单元,用于若所述表示企业标识的关键字段的值为数字与除X之外的其他字母的组合,将对应的发票数据归为第三段。
进一步,所述纯数字的组合为两个单一数字构成的两位数组合;所述数字与X的组合为单个数字与X构成的两位数组合;所述数字与除X之外的其他字母的组合为单个数字与除X之外的单个字母构成的两位数组合。
进一步,所述存储模块203包括:
第一分配单元,用于对于纯数字的组合的情况,分配100个第一数据库;二分配单元,用于对于数字与X的组合的情况,分配10个第二数据库;第三分配单元,用于对于数字与除X之外的其他字母的组合的情况,分配1个第三数据库。
进一步,所述存储模块203还包括:
第一存储单元,用于根据所述表示企业标识的关键字段的值将第一段的海量数据存储至匹配的第一数据库中;
第二存储单元,用于根据所述表示企业标识的关键字段的值将第二段的海量数据存储至匹配的第二数据库中;
第三存储单元,用于将第三段的海量数据存储至第三数据库中。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的方法。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请还提供了一种计算机设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的方法。当然所述计算机设备还可以包括各种网络接口,电源等组件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (5)
1.一种海量数据分库存储的方法,其特征在于,包括:
提取同类型海量数据的关键字段的值;
根据所述关键字段的值对同类型海量数据进行分段;
为各段的海量数据分配相应的数据库,并将各段的海量数据存储至相应的数据库中;
所述海量数据的类型为发票数据;
所述提取同类型海量数据的关键字段的值包括:
提取发票数据的企业税号;
获取企业税号中表示企业标识的关键字段的值;
所述根据所述关键字段的值对同类型海量数据进行分段包括:
对所述表示企业标识的关键字段的值进行解析;
若所述表示企业标识的关键字段的值为纯数字的组合,将对应的发票数据归为第一段;
若所述表示企业标识的关键字段的值为数字与X的组合,将对应的发票数据归为第二段;
若所述表示企业标识的关键字段的值为数字与除X之外的其他字母的组合,将对应的发票数据归为第三段;以及若所述表示企业标识的关键字段的值为:前面一个字符为字母、后面一个字符是字母或数字的组合,也将对应的发票数据归为第三段;
所述纯数字的组合为两个单一数字构成的两位数组合;所述数字与X的组合为单个数字与X构成的两位数组合;所述数字与除X之外的其他字母的组合为单个数字与除X之外的单个字母构成的两位数组合;
所述为各段的海量数据分配相应的数据库,并将各段的海量数据存储至相应的数据库中包括:
对于纯数字的组合的情况,分配100个第一数据库;对于数字与X的组合的情况,分配10个第二数据库;对于数字与除X之外的其他字母的组合的情况,分配1个第三数据库;
将第三数据库分为三个存储区域:第一存储区域、第二存储区域和第三存储区域,对于第一存储区域,用来存储数字+除X外的其他字母的组合对应的发票数据;对于第二存储区域,用来存储字母+数字的组合对应的发票数据;对于第三存储区域,其可用来存储字母+字母的组合对应的发票数据;
将各存储区域的大小设置为浮动;所述第一存储区域、第二存储区域和第三存储区域,分别设置一上限和下限,用于确定是否转移存储空间;若某一存储区域存储的数据量低于其下限时,则将该存储区域的大小减去其下限得到的存储空间转移给其他存储区域,并且优先转移给存储较多数据量的存储区域;或者,某一存储区域存储的数据量高于其上限时,则可将其他存储区域的大小减去其上限得到的存储空间转移给该存储区域,并且优先从存储较少数据量的存储区域中转移存储空间。
2.根据权利要求1所述的海量数据分库存储的方法,其特征在于,所述为各段的海量数据分配相应的数据库,并将各段的海量数据存储至相应的数据库中还包括:
根据所述表示企业标识的关键字段的值将第一段的海量数据存储至匹配的第一数据库中;
根据所述表示企业标识的关键字段的值将第二段的海量数据存储至匹配的第二数据库中;
将第三段的海量数据存储至第三数据库中。
3.一种海量数据分库存储的装置,其特征在于,包括:
提取模块,用于提取同类型海量数据的关键字段的值;
分段模块,用于根据所述关键字段的值对同类型海量数据进行分段;
存储模块,用于为各段的海量数据分配相应的数据库,并将各段的海量数据存储至相应的数据库中;
所述海量数据的类型为发票数据;
所述提取模块包括:
提取单元,用于提取发票数据的企业税号;
获取单元,用于获取企业税号中表示企业标识的关键字段的值;
所述分段模块包括:
解析单元,用于对所述表示企业标识的关键字段的值进行解析;
第一分段单元,用于若所述表示企业标识的关键字段的值为纯数字的组合,将对应的发票数据归为第一段;
第二分段单元,用于若所述表示企业标识的关键字段的值为数字与X的组合,将对应的发票数据归为第二段;
第三分段单元,用于若所述表示企业标识的关键字段的值为数字与除X之外的其他字母的组合,将对应的发票数据归为第三段;
所述纯数字的组合为两个单一数字构成的两位数组合;所述数字与X的组合为单个数字与X构成的两位数组合;所述数字与除X之外的其他字母的组合为单个数字与除X之外的单个字母构成的两位数组合;
所述存储模块包括:
第一分配单元,用于对于纯数字的组合的情况,分配100个第一数据库;二分配单元,用于对于数字与X的组合的情况,分配10个第二数据库;第三分配单元,用于对于数字与除X之外的其他字母的组合的情况,分配1个第三数据库;
将第三数据库分为三个存储区域:第一存储区域、第二存储区域和第三存储区域,对于第一存储区域,用来存储数字+除X外的其他字母的组合对应的发票数据;对于第二存储区域,用来存储字母+数字的组合对应的发票数据;对于第三存储区域,其可用来存储字母+字母的组合对应的发票数据;
将各存储区域的大小设置为浮动;所述第一存储区域、第二存储区域和第三存储区域,分别设置一上限和下限,用于确定是否转移存储空间;若某一存储区域存储的数据量低于其下限时,则将该存储区域的大小减去其下限得到的存储空间转移给其他存储区域,并且优先转移给存储较多数据量的存储区域;或者,某一存储区域存储的数据量高于其上限时,则可将其他存储区域的大小减去其上限得到的存储空间转移给该存储区域,并且优先从存储较少数据量的存储区域中转移存储空间。
4.一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至2任一项所述的海量数据分库存储的方法。
5.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至2任一项所述海量数据分库存储的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910809222.0A CN110532268B (zh) | 2019-08-29 | 2019-08-29 | 海量数据分库存储的方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910809222.0A CN110532268B (zh) | 2019-08-29 | 2019-08-29 | 海量数据分库存储的方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110532268A CN110532268A (zh) | 2019-12-03 |
CN110532268B true CN110532268B (zh) | 2023-04-28 |
Family
ID=68665171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910809222.0A Active CN110532268B (zh) | 2019-08-29 | 2019-08-29 | 海量数据分库存储的方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110532268B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105930387A (zh) * | 2016-04-14 | 2016-09-07 | 北京思特奇信息技术股份有限公司 | 一种基于数据路由、分库分表的数据操作系统及方法 |
CN106897409A (zh) * | 2017-02-16 | 2017-06-27 | 北京致远互联软件股份有限公司 | 数据分库存储方法及装置 |
CN107590257A (zh) * | 2017-09-20 | 2018-01-16 | 郑州云海信息技术有限公司 | 一种数据库管理方法及装置 |
CN109767274A (zh) * | 2018-12-05 | 2019-05-17 | 航天信息股份有限公司 | 一种对海量发票数据进行关联存储的方法及系统 |
-
2019
- 2019-08-29 CN CN201910809222.0A patent/CN110532268B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105930387A (zh) * | 2016-04-14 | 2016-09-07 | 北京思特奇信息技术股份有限公司 | 一种基于数据路由、分库分表的数据操作系统及方法 |
CN106897409A (zh) * | 2017-02-16 | 2017-06-27 | 北京致远互联软件股份有限公司 | 数据分库存储方法及装置 |
CN107590257A (zh) * | 2017-09-20 | 2018-01-16 | 郑州云海信息技术有限公司 | 一种数据库管理方法及装置 |
CN109767274A (zh) * | 2018-12-05 | 2019-05-17 | 航天信息股份有限公司 | 一种对海量发票数据进行关联存储的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110532268A (zh) | 2019-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7761455B2 (en) | Loading data from a vertical database table into a horizontal database table | |
US9251212B2 (en) | Profiling in a massive parallel processing environment | |
US10528553B2 (en) | System and method for optimizing queries | |
US8055666B2 (en) | Method and system for optimizing database performance | |
US7895171B2 (en) | Compressibility estimation of non-unique indexes in a database management system | |
EP2924594A1 (en) | Data encoding and corresponding data structure in a column-store database | |
US9129010B2 (en) | System and method of partitioned lexicographic search | |
CN111459985A (zh) | 标识信息处理方法及装置 | |
CN106933836B (zh) | 一种基于分表的数据存储方法和系统 | |
US7333992B2 (en) | System and method for identifying and storing changes made to a table | |
US10776345B2 (en) | Efficiently updating a secondary index associated with a log-structured merge-tree database | |
CN112395293B (zh) | 分库分表方法、分库分表装置、分库分表设备及存储介质 | |
CN110442585B (zh) | 数据更新方法、数据更新装置、计算机设备及存储介质 | |
CN113051229A (zh) | 一种用户数据获取方法、装置、终端及可读存储介质 | |
CN107357794B (zh) | 优化键值数据库的数据存储结构的方法和装置 | |
US8290950B2 (en) | Identifying locale-specific data based on a total ordering of supported locales | |
CN110515895B (zh) | 大数据存储系统中对数据文件进行关联存储的方法及系统 | |
CN1791873B (zh) | 还原数据库系统中的对象和从属对象 | |
US20140258307A1 (en) | Method for Preparing Numerous Data for Efficient Manipulation using Interning | |
CN110532268B (zh) | 海量数据分库存储的方法、装置、计算机设备及存储介质 | |
CN106503198A (zh) | 一种基于hadoop元数据的冷数据识别方法及系统 | |
Mihalca et al. | Hunting for malware code in massive collections | |
CN1324466A (zh) | 校验参照完整性中涉及的表空间的方法 | |
CN110609926A (zh) | 数据标签存储管理方法及装置 | |
CN114238241B (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 |