CN109710619B - 一种数据库扩容方法、装置和可读介质 - Google Patents
一种数据库扩容方法、装置和可读介质 Download PDFInfo
- Publication number
- CN109710619B CN109710619B CN201811642481.0A CN201811642481A CN109710619B CN 109710619 B CN109710619 B CN 109710619B CN 201811642481 A CN201811642481 A CN 201811642481A CN 109710619 B CN109710619 B CN 109710619B
- Authority
- CN
- China
- Prior art keywords
- virtual card
- information
- data
- card number
- fragment
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据库扩容方法、装置和可读介质,所述方法,包括:在接收到虚拟卡号申请请求后,获取所要申请的虚拟卡标识;若确定出历史未为所述虚拟卡标识表征的虚拟卡分配过虚拟卡号,则为所述虚拟卡标识表征的虚拟卡分配一个虚拟卡号;根据卡数据存储控制表中数据表的使用次数,为分配的虚拟卡号确定存储所述虚拟卡号详情信息的片区信息及数据表标识;将所述虚拟卡号详情信息存储至所述片区信息对应的片区数据信息库中所述数据表标识对应的数据表中。采用上述方法,有效实现了在无需数据转移的情况下数据库的扩容处理。
Description
技术领域
本发明涉及业务支撑技术领域,尤其涉及一种数据库扩容方法、装置和可读介质。
背景技术
在业务推广过程中,会存在发行大量长期使用的虚拟卡现象,而需要在数据库中对大量的虚拟卡进行记录,因此对数据库的存储能力有较高的要求。
为了提高数据库的存储能力,现有的数据库扩容方案中,都不可避免的需要对数据进行移植,例如,通过预留待扩容数据表的方式进行整表移植,或者将分片字段与非分片字段分别存储在主库和备库中,扩容时基于2的指数倍对现有数据库进行扩容,以便于数据移植的平滑进行,也就是说现有技术一般致力于移植时降低数据移植复杂度问题,但依然存在数据移植的问题。
因此,如何在无需移植数据的情况下,实现数据库的扩容是值得考虑的问题之一。
发明内容
本发明实施例提供一种数据库扩容方法、装置和可读介质,用以在无需移植数据的情况下,实现数据库的扩容。
第一方面,本发明实施例提供一种数据库扩容方法,应用于数据库集群中,所述数据库集群包括多个片区数据信息库,每一片区数据信息库包括主数据库和至少一个备份数据库,其中,每一片区数据信息库包括多个数据表,且每一片区数据信息库具有唯一的片区信息;以及
所述方法,包括:
在接收到虚拟卡号申请请求后,获取所要申请的虚拟卡标识;
若确定出历史未为所述虚拟卡标识表征的虚拟卡分配过虚拟卡号,则为所述虚拟卡标识表征的虚拟卡分配一个虚拟卡号;
根据卡数据存储控制表中数据表的使用次数,为分配的虚拟卡号确定存储所述虚拟卡号详情信息的片区信息及数据表标识;
将所述虚拟卡号详情信息存储至所述片区信息对应的片区数据信息库中所述数据表标识对应的数据表中;
其中,所述卡数据存储控制表用于存储数据库集群中各个片区数据信息库的片区信息、数据表标识和数据表的使用次数。
第二方面,本发明实施例提供一种数据库扩容装置,应用于数据库集群中,所述数据库集群包括多个片区数据信息库,所述片区数据信息库的数量可配置,且每一片区数据信息库包括主数据库和至少一个备份数据库,其中,每一片区数据信息库包括多个数据表,且每一片区数据信息库具有唯一的片区信息;以及
所述装置,包括:
获取单元,用于在接收到虚拟卡号申请请求后,获取所要申请的虚拟卡标识;
虚拟卡分配单元,用于若确定出历史未为所述虚拟卡标识表征的虚拟卡分配过虚拟卡号,则为所述虚拟卡标识表征的虚拟卡分配一个虚拟卡号;
确定单元,用于根据卡数据存储控制表中数据表的使用次数,为分配的虚拟卡号确定存储所述虚拟卡号详情信息的片区信息及数据表标识;
存储单元,用于将所述虚拟卡号详情信息存储至所述片区信息对应的片区数据信息库中所述数据表标识对应的数据表中;
其中,所述卡数据存储控制表用于存储数据库集群中各个片区数据信息库的片区信息、数据表标识和数据表的使用次数。
第三方面,本发明实施例提供一种通信设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;所述处理器执行所述程序时实现如本申请提供的任一项所述的数据库扩容方法。
第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请提供的任一项所述的数据库扩容方法中的步骤。
本发明有益效果:
本发明实施例提供的数据库扩容方法、装置和可读介质,在接收到虚拟卡号申请请求后,获取所要申请的虚拟卡标识;若确定出历史未为所述虚拟卡标识表征的虚拟卡分配过虚拟卡号,则为所述虚拟卡标识表征的虚拟卡分配一个虚拟卡号;根据卡数据存储控制表中数据表的使用次数,为分配的虚拟卡号确定存储所述虚拟卡号详情信息的片区信息及数据表标识;将所述虚拟卡号详情信息存储至所述片区信息对应的片区数据信息库中所述数据表标识对应的数据表中。由于本发明中卡数据存储控制表中记录了数据库集群中所有片区数据信息库的使用情况,即使数据库集群新增片区数据信息库,由于新增的片区数据信息库的片区信息、其包含的数据表标识及使用次数均存储在卡数据控制表中,基于卡数据存储控制表各个数据表使用情况,可以为申请的虚拟卡号确定存储虚拟卡号详情信息的片区信息及数据表标识,这样一来,并不会对历史虚拟卡号详情信息的存储有任何影响,有效实现了在无需数据转移的情况下数据库的扩容处理。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1a为本发明实施例提供的数据库扩容系统的结构示意图之一;
图1b为本发明实施例提供的数据库扩容系统的结构示意图之二;
图1c为本发明实施例提供的数据库扩容系统的结构示意图之三;
图2为本发明实施例提供的数据库扩容方法的流程示意图之一;
图3为本发明实施例提供的确定历史是否为所述虚拟卡标识表征的虚拟卡分配过虚拟卡号的流程示意图;
图4为本发明实施例提供的数据库扩容方法的流程示意图之二;
图5为本发明实施例提供的数据库扩容装置的结构示意图;
图6为本发明实施例提供的通信装置的结构示意图。
具体实施方式
本发明实施例提供的数据库扩容方法、装置和可读介质,用以在无需移植数据的情况下,实现数据库的扩容。
以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
便于理解本发明,本发明涉及的技术术语中:
1、虚拟卡,是在信用卡账户下设置的虚拟小卡片,主要凭卡号、有效期、验证码信息完成网上及其他非面对面的交易操作。
2、卡bin段,是指虚拟卡号的前6位数字代表发卡行标记代码。
为了解决现有技术在实现数据库的扩容时因需要移植数据所带来的无法快速扩容的问题,本发明提供一种数据库扩容系统,参考图1a所示,该数据库扩容系统包括应用服务器、数据库集群和分布式管理设备,该分布式管理设备中安装有DB Proxy,用于管理数据库集群,其中,数据库集群包括多个片区数据信息库(图1a中第1片区数据信息库~第n片区数据信息库),每一片区数据信息库包括主数据库和至少一个备份数据库,例如,第1片区数据信息库包括一个主数据库和备份数据库1~m1,第2片区数据信息库包括一个主数据库和备份数据库1~m2,第n片区数据信息库包括一个主数据库和备份数据库1~mn等,其中,每一片区数据信息库包括多个数据表,且每一片区数据信息库具有唯一的片区信息。基于上述系统,应用服务器在接收到虚拟卡号申请请求后,可以确定申请的虚拟卡标识,然后确定历史是否为所述虚拟卡标识表征的虚拟卡分配过虚拟卡号,若否,则为所述虚拟卡标识表征的虚拟卡分配一个虚拟卡号;根据卡数据存储控制表中数据表的使用次数,为分配的虚拟卡号确定存储所述虚拟卡号详情信息的片区信息及数据表标识;将所述虚拟卡号详情信息存储至所述片区信息对应的片区数据信息库中所述数据表标识对应的数据表中,这样一来,为分配的虚拟卡号配置一个片区数据信息库,由该片区数据信息库中的数据表来存储该虚拟卡号详情信息,从而实现了在不需要数据移植的情况下实现数据库的扩容。
具体地,当需要对数据库集群进行数据库扩容时,可以根据实际扩容需求,在数据库集群中新增一个或多个片区数据信息库,同时将新增的片区数据信息库的片区信息及新增的片区数据信息库里包含的数据表的数据表标识及数据表的使用次数存储至卡数据存储控制表中,这样一来,以便于基于该卡数据存储控制表为虚拟卡号确定存储该虚拟卡号详情信息的片区数据信息库和数据表,进而在无需数据移植情况下实现数据库的扩容。
一种可能的实施方式中,本发明中的至少一个备份数据库可以只包括一个备份数据库,参考图1b所示,即一个片区数据信息库包括一个主数据库和一个备份数据库,两个数据库之间通过mysql主从复制进行数据同步。正常情况下,主数据库为写数据库,而备份数据库为读库,当主数据库异常时,备份数据库才会作为写数据库,也就是说在正常情况下,在需要写入虚拟卡号详情信息时,会将虚拟卡号详情信息写入主数据库中,而在读虚拟卡号详情信息时,会从备份数据库中读取,基于该部署方式下,也能实现数据库的扩容及正常情况下读写分离。
另一种可能的实施方式中,本发明中至少一个备份数据库包括第一备份数据库和第二备份从数据库,参考图1c所示,其中,主数据库为写数据库,第一备份数据库与第二备份数据库为处于工作状态的读数据库,当主数据库发生异常时,第一备份数据库则作为写数据库,将虚拟卡号详情信息写入第一备份数据库中。
具体地,为了更好地保证数据库读写分离,实现数据库高可用,本发明中一个片区数据信息库还可以包括一个主数据库和第一备份数据库和第二备份数据库,其中,第二备份数据库为从数据库,为第一备份数据库的备份,三个数据库之间通过mysql主备从复制进行数据同步。正常情况下,主数据库为写数据库,第一和第二备份数据库为两个双活的读库。只有当主数据库异常时会将第一备份数据库当做写数据库。这样一来,在读虚拟卡号详情信息时一般会从第一或第二备份数据库中读取,而在需要写入虚拟卡号详情信息时,一般会向主数据库写入,从而有效保证了读写分离,同时实现了数据库的利用率。
需要说明的是,本发明中数据库集群中片区数据信息库的数量可配置,可以仅扩展一个片区数据信息库,也可以扩展多个片区数据信息库,本发明对扩展数量不进行限制。
在对数据库集群进行描述之后,接下来对本发明提供的数据库扩容方法进行介绍,以上述方法由应用服务器和分布式管理设备配合实施为例进行说明,实施过程可以参考图2所示,包括以下步骤:
S21、在接收到虚拟卡号申请请求后,获取所要申请的虚拟卡标识。
具体地,本发明提供的虚拟卡标识可以但不限于为虚拟卡发卡行标识代码bin段等。该卡bin段一般为卡号前几位,如前6位等。以用户申请的虚拟卡号为交通银行虚拟卡为例,则可以获取到所要申请的虚拟卡标识为601428等。为了后续描述方便,以虚拟卡标识为卡bin段为例进行说明。
S22、确定历史是否为所述虚拟卡标识表征的虚拟卡分配过虚拟卡号,若否,则执行步骤S23;若是,则执行步骤S28。
具体地,本发明部署了控制库,参考图1a~图1c所示,该控制库用于存储卡号分配控制表和卡数据存储控制表,其中,卡数据存储控制表用于存储数据库集群中各个片区数据信息库的片区信息和数据表标识,参考表1所示;而卡号分配控制表用于记录历史分配的虚拟卡号的虚拟卡标识、存储历史分配的虚拟卡号详情信息的片区信息和数据表标识,参考表2所示。通过部署控制库,可以将虚拟卡号分配信息及虚拟卡号的存储信息与虚拟卡号详情信息分开存放。控制库由应用逻辑管理,数据量小无需对控制库进行扩容处理。
表1
虚拟卡标识 | 分配位置 | 数据表标识 | 片区信息 |
卡bin段1 | 位置1 | 数据表标识1 | 片区信息1 |
卡bin段2 | 位置2 | 数据表标识2 | 片区信息2 |
卡bin段3 | 位置3 | 数据表标识3 | 片区信息3 |
…… | …… | …… | …… |
表2
具体地,表2和表2中的片区信息可以但不限于为片区编号等,由于不同的片区数据信息库具有不同的片区信息,故不同的片区数据信息库具有唯一的片区编号;本发明中数据表标识可以但不限于为数据表名等,为了保证同一片区数据信息库中数据表的唯一性,需要一个片区数据信息库中具有互不相同的数据表名,不同的片区数据信息库中数据表名可以相同也可以不同。为了后续描述方便,以数据表标识为数据表名、片区信息为片区编号为例进行说明。
可选地,为了保证可以随时成功访问到控制库,本发明提出可以配置一个备份控制库,参考图1a~图1c所示,数据库扩容系统包括控制库A和控制库B,控制库A与控制库B互相备份,这样,当某一控制库发生故障时,还可以访问另一控制库,这样就可以随时获取到虚拟卡号分配信息和虚拟卡号的存储信息等。
由于本发明提供的卡号分配控制表记录了历史申请的虚拟卡号的相关信息,而卡数据存储控制表记录了数据库集群中片区数据信息库包含的数据表的使用情况,在对数据库集群进行扩容时,原始数据库集群中数据信息库记载的数据保持不变,且通过卡号分配控制表即可查找到虚拟卡号详情信息的存储位置,同时,在申请新的虚拟卡时,可以基于卡数据存储控制表记录的数据表的使用情况,为其分配存储容量足够的数据表存储虚拟卡号详情信息,有效实现了在无需转移数据的情况下数据库的扩容。
可选地,可以按照图3所示的流程实施步骤S22,包括以下步骤:
S31、确定卡号分配控制表中是否存储所要申请的虚拟卡标识,若是,则执行步骤S32;若否,则执行步骤S33。
S32、确定历史为所述虚拟卡标识表征的虚拟卡分配过虚拟卡号。
S33、确定历史未为所述虚拟卡标识表征的虚拟卡分配过虚拟卡号。
图3所示的流程中,由于卡号分配控制表中记录的是历史申请过的虚拟卡号的相关信息,则当获取到所要申请的虚拟卡号的卡bin段后,可以确定该卡bin段是否在卡号分配控制表中,若存在则表明历史为该卡bin段表征的虚拟卡申请过虚拟卡号,若不在卡号分配控制表中,则表明历史未为该卡bin段表征的虚拟卡申请过虚拟卡号。
S23、为所述虚拟卡标识表征的虚拟卡分配一个虚拟卡号。
具体地,当确定出历史未申请过该卡bin段表征的虚拟卡的虚拟卡号时,则从头开始分配一个虚拟卡号,即从该卡bin段表征的虚拟卡的数值最小的虚拟卡号开始分配。
S24、根据卡数据存储控制表中数据表的使用次数,为分配的虚拟卡号确定存储所述虚拟卡号详情信息的片区信息及数据表标识。
本步骤中,在分配虚拟卡号后,为了存储该虚拟卡号详情信息,需要为该虚拟卡号寻找一个数据表,为此,本发明提出基于卡数据存储控制表中记录的各个数据表的使用次数来为该虚拟卡号分配一个用于存储虚拟卡号详情信息的数据表,由于本发明中具有多个片区数据信息库,而每一片区数据信息库包括多个数据表,故在为虚拟卡号查找数据表时,也需要确定片区数据信息库的片区信息。
可选地,可以按照下述过程实施步骤S24,包括:
确定卡数据存储控制表中数据表的使用次数最少的数据表标识及数据表所属的片区数据信息库的片区信息为存储所述虚拟卡号详情信息的片区信息及数据表标识。
具体地,为了保证存储该虚拟卡号详情信息的数据表的存储能力,本发明中可以根据表2所示的卡数据存储控制表中存储的各个数据表的使用次数,确定出使用次数最小的数据表的数据表名和该数据表所属的片区数据信息库的片区编号。
S25、将所述虚拟卡号详情信息存储至所述片区信息对应的片区数据信息库中所述数据表标识对应的数据表中。
具体地,基于步骤S24确定出的用于存储分配的虚拟卡号详情信息的数据表名和片区编号后,可以将申请的虚拟卡号详情信息存储至片区编号对应的数据信息库中数据表名对应的数据表中。
需要说明的是,本发明中的虚拟卡号详情信息可以但不限于包括虚拟卡号、加密相关信息、虚拟卡号有效期限等。
具体地,应用服务器在基于卡数据存储控制表确定出用于存储虚拟卡号详情信息的数据表名和片区编号后,可以将数据表名和片区编号发送给分布式管理设备,由该分布式管理设备基于DB Proxy根据接收到的数据表名和片区编号将虚拟卡号详情信息写入该片区编号对应的片区数据信息库里包含的数据表名对应的数据表中。
S26、将所述虚拟卡标识和基于所述虚拟卡号确定出的存储所述虚拟卡号详情信息的片区信息及数据表标识存储至卡号分配控制表中。
本步骤中,为了后续快速查找到虚拟卡号详情信息,本发明提出将分配的虚拟卡号的虚拟卡标识、分配位置、步骤S24确定出的片区编号和数据表名存储至卡号分配控制表中。
S27、更新卡数据存储控制表中存储所述虚拟卡号详情信息的数据表的使用次数。
本步骤中,为了后续基于使用次数为分配的虚拟卡号确定片区编号和数据表名时,本发明提出在卡数据存储控制表中更新步骤S24中确定出数据表的使用次数。
S28、从卡号分配控制表中提取出与所述虚拟卡标识对应的分配位置,基于该分配位置分配一个虚拟卡号。
具体地,当确定出历史为卡bin段分配过虚拟卡号时,则可以从卡号分配控制表中提取出该卡bin段的分配位置,该分配位置用于表征虚拟卡号分配到哪个位置,通过提取分配位置,使得分配的虚拟卡号能够保证唯一性,例如,提取出的分配位置为“XXXXXXXXXXXXXX10”,则可以为所要申请的虚拟卡号分配“XXXXXXXXXXXXXX10”的虚拟卡号。
S29、从卡号分配控制表中提取出与所述虚拟卡标识对应的数据表标识和片区信息。
本步骤中,为了存储分配的虚拟卡号的虚拟卡号详情信息,同样需要为该虚拟卡号寻找一个数据表,为此,本发明提出可以从卡号分配控制表中提取出该卡bin段对应的片区编号和数据表名。
S210、将分配的虚拟卡号详情信息存储至提取的片区信息对应的片区数据信息库中提取的数据表标识对应的数据表中。
基于步骤S29,可以将虚拟卡号详情信息存储至步骤S29确定出的片区编号对应的片区数据信息库里包含的数据表名对应的数据表中。
至此,实现了在无需数据迁移的情况下,数据库的扩容。
可选地,本发明提供的数据库扩容方法,还可以包括图4所示的流程,包括以下步骤:
S41、在接收到虚拟卡信息查询请求后,确定所述查询请求中携带的虚拟卡号的虚拟卡标识。
本步骤中,应用服务器在接收到虚拟卡信息查询请求后,可以基于查询请求中虚拟卡号确定该虚拟卡号的卡bin段。
S42、从卡号分配控制表中确定所述虚拟卡标识对应的数据表标识和片区信息。
本步骤中,在确定出虚拟卡号的卡bin段后,可以从卡号分配控制表确定用于存储该虚拟卡号详情信息的片区编号和数据表名。
S43、从所述片区信息对应的片区数据信息库中所述数据表标识对应的数据表中查询虚拟卡号详情信息。
基于步骤S43,可以将查找到的片区编号和数据表名发送给分布式管理设备,由该分布式管理设备基于DB Proxy快速定位到存储该卡bin段的虚拟卡号详情信息的片区数据信息库及该片区数据信息库里的数据表,从而可以查找到该数据表名对应的数据表中的虚拟卡号详情信息,进而对查找到的虚拟卡号详情信息进行操作。
采用本发明提供的数据库扩容方法,由于本发明中卡数据存储控制表中记录了数据库集群中所有片区数据信息库的使用情况,即使数据库集群新增片区数据信息库,由于新增的片区数据信息库的片区信息、其包含的数据表标识及使用次数均存储在卡数据控制表中,基于卡数据存储控制表各个数据表使用情况,可以为申请的虚拟卡号确定存储虚拟卡号详情信息的片区信息及数据表标识,这样一来,并不会对历史虚拟卡号详情信息的存储有任何影响,有效实现了在无需数据转移的情况下数据库的扩容处理。
基于同一发明构思,本发明实施例中还提供了一种数据库扩容方法装置,由于上述装置解决问题的原理与数据库扩容方法相似,因此上述装置的实施可以参见方法的实施,重复之处不再赘述。
如图5所示,为本发明实施例提供的数据库扩容方法装置的结构示意图,本发明提供的装置,可以应用于数据库集群中,所述数据库集群包括多个片区数据信息库,所述片区数据信息库的数量可配置,且每一片区数据信息库包括主数据库和至少一个备份数据库,其中,每一片区数据信息库包括多个数据表,且每一片区数据信息库具有唯一的片区信息;以及上述装置,包括:
获取单元51,用于在接收到虚拟卡号申请请求后,获取所要申请的虚拟卡标识;
虚拟卡分配单元52,用于若确定出历史未为所述虚拟卡标识表征的虚拟卡分配过虚拟卡号,则为所述虚拟卡标识表征的虚拟卡分配一个虚拟卡号;
确定单元53,用于根据卡数据存储控制表中数据表的使用次数,为分配的虚拟卡号确定存储所述虚拟卡号详情信息的片区信息及数据表标识;
存储单元54,用于将所述虚拟卡号详情信息存储至所述片区信息对应的片区数据信息库中所述数据表标识对应的数据表中;
其中,所述卡数据存储控制表用于存储数据库集群中各个片区数据信息库的片区信息、数据表标识和数据表的使用次数。
可选地,虚拟卡分配单元52,还用于若确定出历史为所述虚拟卡标识表征的虚拟卡分配过虚拟卡号,则从卡号分配控制表中提取出与所述虚拟卡标识对应的分配位置,基于该分配位置分配一个虚拟卡号;
在此基础之上,所述装置,还包括:
提取单元55,用于从卡号分配控制表中提取出与所述虚拟卡标识对应的数据表标识和片区信息;
所述存储单元54,还用于将分配的虚拟卡号详情信息存储至提取的片区信息对应的片区数据信息库中提取的数据表标识对应的数据表中。
可选地,所述装置,还包括:
第一更新单元56,用于将所述虚拟卡标识和基于所述虚拟卡号确定出的存储所述虚拟卡号详情信息的片区信息及数据表标识存储至卡号分配控制表中;
第二更新单元57,用于更新卡数据存储控制表中存储所述虚拟卡号详情信息的数据表的使用次数;
其中,所述卡号分配控制表用于记录历史分配的虚拟卡号的虚拟卡标识、存储历史分配的虚拟卡号详情信息的片区信息和数据表标识。
优选地,所述确定单元53,具体用于确定卡数据存储控制表中数据表的使用次数最少的数据表标识及数据表所属的片区数据信息库的片区信息为存储所述虚拟卡号详情信息的片区信息及数据表标识。
优选地,所述装置,还包括:
查询单元58,用于在接收到虚拟卡信息查询请求后,确定所述查询请求中携带的虚拟卡号的虚拟卡标识;从卡号分配控制表中确定所述虚拟卡标识对应的数据表标识和片区信息;从所述片区信息对应的片区数据信息库中所述数据表标识对应的数据表中查询虚拟卡号详情信息。
可选地,所述至少一个备份数据库包括第一备份数据库和第二备份从数据库,其中,主数据库为写数据库,第一备份数据库与第二备份数据库为处于工作状态的读数据库,当主数据库发生异常时,第一备份数据库则作为写数据库,将虚拟卡号详情信息写入第一备份数据库中。
可选地,所述虚拟卡分配单元52,具体用于若确定出卡号分配控制表中未存储所述虚拟卡标识,则确定历史未为所述虚拟卡标识表征的虚拟卡分配过虚拟卡号;若确定出卡号分配控制表中存储所述虚拟卡标识,则确定历史为所述虚拟卡标识表征的虚拟卡分配过虚拟卡号。
可选地,所述虚拟卡标识为虚拟卡发卡行标识代码bin段。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本发明时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
基于相同的技术构思,本申请实施例还提供了一种通信装置,该通信装置可实现前述实施例中的方法。
参见图6,为本发明实施例提供的通信装置的结构示意图,如图6所示,该通信装置可包括:处理器601、存储器602、收发机603以及总线接口。
处理器601负责管理总线架构和通常的处理,存储器602可以存储处理器601在执行操作时所使用的数据。收发机603用于在处理器601的控制下接收和发送数据。
总线架构可以包括任意数量的互联的总线和桥,具体由处理器601代表的一个或多个处理器和存储器602代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。处理器601负责管理总线架构和通常的处理,存储器602可以存储处理器601在执行操作时所使用的数据。
本发明实施例揭示的流程,可以应用于处理器601中,或者由处理器601实现。在实现过程中,信号处理流程的各步骤可以通过处理器601中的硬件的集成逻辑电路或者软件形式的指令完成。处理器601可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的数据库扩容方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器602,处理器601读取存储器602中的信息,结合其硬件完成信号处理流程的步骤。
具体地,所述处理器601,用于读取存储器中的程序,执行上述任一方法所述的任一步骤。
基于相同的技术构思,本申请实施例还提供了一种计算机存储介质。所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行前述任一方法所述的任一步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (11)
1.一种数据库扩容方法,其特征在于,应用于数据库集群中,所述数据库集群包括多个片区数据信息库,每一片区数据信息库包括主数据库和至少一个备份数据库,其中,每一片区数据信息库包括多个数据表,且每一片区数据信息库具有唯一的片区信息;所述数据库集群中片区数据信息库的数量可配置,可扩展一个片区数据信息库或者多个片区数据信息库;以及
所述方法,包括:
在接收到虚拟卡号申请请求后,获取所要申请的虚拟卡标识;
若确定出历史未为所述虚拟卡标识表征的虚拟卡分配过虚拟卡号,则为所述虚拟卡标识表征的虚拟卡分配一个虚拟卡号;
根据卡数据存储控制表中数据表的使用次数,为分配的虚拟卡号确定存储所述虚拟卡号详情信息的片区信息及数据表标识;
将所述虚拟卡号详情信息存储至所述片区信息对应的片区数据信息库中所述数据表标识对应的数据表中;
其中,所述卡数据存储控制表用于存储数据库集群中各个片区数据信息库的片区信息、数据表标识和数据表的使用次数。
2.如权利要求1所述的方法,其特征在于,
若确定出历史为所述虚拟卡标识表征的虚拟卡分配过虚拟卡号,则从卡号分配控制表中提取出与所述虚拟卡标识对应的分配位置,基于该分配位置分配一个虚拟卡号;
从卡号分配控制表中提取出与所述虚拟卡标识对应的数据表标识和片区信息;
将分配的虚拟卡号详情信息存储至提取的片区信息对应的片区数据信息库中提取的数据表标识对应的数据表中。
3.如权利要求1所述的方法,其特征在于,还包括:
将所述虚拟卡标识和基于所述虚拟卡号确定出的存储所述虚拟卡号详情信息的片区信息及数据表标识存储至卡号分配控制表中;
更新卡数据存储控制表中存储所述虚拟卡号详情信息的数据表的使用次数;
其中,所述卡号分配控制表用于记录历史分配的虚拟卡号的虚拟卡标识、存储历史分配的虚拟卡号详情信息的片区信息和数据表标识。
4.如权利要求1所述的方法,其特征在于,根据卡数据存储控制表中数据表的使用次数,为分配的虚拟卡号确定存储所述虚拟卡号详情信息的片区信息及数据表标识,具体包括:
确定卡数据存储控制表中数据表的使用次数最少的数据表标识及数据表所属的片区数据信息库的片区信息为存储所述虚拟卡号详情信息的片区信息及数据表标识。
5.如权利要求1所述的方法,其特征在于,还包括:
在接收到虚拟卡信息查询请求后,确定所述查询请求中携带的虚拟卡号的虚拟卡标识;
从卡号分配控制表中确定所述虚拟卡标识对应的数据表标识和片区信息;
从所述片区信息对应的片区数据信息库中所述数据表标识对应的数据表中查询虚拟卡号详情信息。
6.如权利要求1或2所述的方法,其特征在于,所述至少一个备份数据库包括第一备份数据库和第二备份从数据库,其中,主数据库为写数据库,第一备份数据库与第二备份数据库为处于工作状态的读数据库,当主数据库发生异常时,第一备份数据库则作为写数据库,将虚拟卡号详情信息写入第一备份数据库中。
7.如权利要求1所述的方法,其特征在于,按照下述方法确定历史是否为所述虚拟卡标识表征的虚拟卡分配过虚拟卡号:
若确定出卡号分配控制表中未存储所述虚拟卡标识,则确定历史未为所述虚拟卡标识表征的虚拟卡分配过虚拟卡号;
若确定出卡号分配控制表中存储所述虚拟卡标识,则确定历史为所述虚拟卡标识表征的虚拟卡分配过虚拟卡号。
8.如权利要求1~5和7任一所述的方法,其特征在于,所述虚拟卡标识为虚拟卡发卡行标识代码bin段。
9.一种数据库扩容装置,其特征在于,应用于数据库集群中,所述数据库集群包括多个片区数据信息库,所述片区数据信息库的数量可配置,且每一片区数据信息库包括主数据库和至少一个备份数据库,其中,每一片区数据信息库包括多个数据表,且每一片区数据信息库具有唯一的片区信息;所述数据库集群中片区数据信息库的数量可配置,可扩展一个片区数据信息库或者多个片区数据信息库;以及
所述装置,包括:
获取单元,用于在接收到虚拟卡号申请请求后,获取所要申请的虚拟卡标识;
虚拟卡分配单元,用于若确定出历史未为所述虚拟卡标识表征的虚拟卡分配过虚拟卡号,则为所述虚拟卡标识表征的虚拟卡分配一个虚拟卡号;
确定单元,用于根据卡数据存储控制表中数据表的使用次数,为分配的虚拟卡号确定存储所述虚拟卡号详情信息的片区信息及数据表标识;
存储单元,用于将所述虚拟卡号详情信息存储至所述片区信息对应的片区数据信息库中所述数据表标识对应的数据表中;
其中,所述卡数据存储控制表用于存储数据库集群中各个片区数据信息库的片区信息、数据表标识和数据表的使用次数。
10.一种通信设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;其特征在于,所述处理器执行所述程序时实现如权利要求1~8任一项所述的数据库扩容方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~8任一项所述的数据库扩容方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811642481.0A CN109710619B (zh) | 2018-12-29 | 2018-12-29 | 一种数据库扩容方法、装置和可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811642481.0A CN109710619B (zh) | 2018-12-29 | 2018-12-29 | 一种数据库扩容方法、装置和可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109710619A CN109710619A (zh) | 2019-05-03 |
CN109710619B true CN109710619B (zh) | 2023-09-29 |
Family
ID=66259600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811642481.0A Active CN109710619B (zh) | 2018-12-29 | 2018-12-29 | 一种数据库扩容方法、装置和可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109710619B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110083662B (zh) * | 2019-05-15 | 2024-02-23 | 国网江西省电力有限公司信息通信分公司 | 一种基于平台系统的双活架构建设方法 |
CN111752978B (zh) * | 2020-06-28 | 2024-10-18 | 中国银行股份有限公司 | 基于分布式缓存的卡bin路由选择方法、装置及系统 |
CN112612790B (zh) * | 2020-12-17 | 2024-06-18 | 深圳前海微众银行股份有限公司 | 卡号配置方法、装置、设备及计算机存储介质 |
CN113886500A (zh) * | 2021-10-20 | 2022-01-04 | 北京达佳互联信息技术有限公司 | 一种数据处理方法、装置、服务器以及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090039166A (ko) * | 2007-10-17 | 2009-04-22 | 에스케이 텔레콤주식회사 | 가상 pCell 데이터베이스를 구축하는 방법, 서버 및시스템 |
CN101458808A (zh) * | 2008-12-31 | 2009-06-17 | 中国建设银行股份有限公司 | 银行管理系统、服务器集群和相关方法 |
CN102129458A (zh) * | 2011-03-09 | 2011-07-20 | 胡劲松 | 关系型数据库的存储方法及装置 |
CN107220259A (zh) * | 2016-03-22 | 2017-09-29 | 北京京东尚科信息技术有限公司 | 一种数据库扩展系统、设备和用于扩展数据库的方法 |
-
2018
- 2018-12-29 CN CN201811642481.0A patent/CN109710619B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090039166A (ko) * | 2007-10-17 | 2009-04-22 | 에스케이 텔레콤주식회사 | 가상 pCell 데이터베이스를 구축하는 방법, 서버 및시스템 |
CN101458808A (zh) * | 2008-12-31 | 2009-06-17 | 中国建设银行股份有限公司 | 银行管理系统、服务器集群和相关方法 |
CN102129458A (zh) * | 2011-03-09 | 2011-07-20 | 胡劲松 | 关系型数据库的存储方法及装置 |
CN107220259A (zh) * | 2016-03-22 | 2017-09-29 | 北京京东尚科信息技术有限公司 | 一种数据库扩展系统、设备和用于扩展数据库的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109710619A (zh) | 2019-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109710619B (zh) | 一种数据库扩容方法、装置和可读介质 | |
CN101268439B (zh) | 数据库片段克隆和管理 | |
CN110532123B (zh) | HBase系统的故障转移方法及装置 | |
CN107590207B (zh) | 数据同步方法及装置、电子设备 | |
CN105260404B (zh) | 存储时间序列数据的方法和装置 | |
CN110209490B (zh) | 一种内存管理方法及相关设备 | |
CN105224546B (zh) | 数据存储和查询方法及设备 | |
CN107193827B (zh) | 分库分表的幂等控制方法和装置 | |
CN105550345A (zh) | 文件操作方法和装置 | |
CN112749198B (zh) | 一种基于版本号的多级数据缓存方法及装置 | |
US11474938B2 (en) | Data storage system with multiple-size object allocator for disk cache | |
CN114328018B (zh) | 快照的创建方法、计算设备及存储介质 | |
CN112306993A (zh) | 基于Redis的数据读取方法、装置、设备及可读存储介质 | |
CN110597663A (zh) | 一种事务处理方法及装置 | |
CN106682017B (zh) | 一种数据库更新方法及装置 | |
CN105589704A (zh) | 一种加速虚拟机启动的方法及系统 | |
JP2010515128A (ja) | 不揮発性メモリにおけるデータを管理する方法 | |
CN107430546B (zh) | 一种文件更新方法及存储设备 | |
CN110188850B (zh) | 智能卡临时号码控制方法、装置及系统 | |
CN113434470B (zh) | 数据分布方法、装置及电子设备 | |
CN102724301A (zh) | 云数据库系统以及云数据读写处理方法、设备 | |
CN111124294B (zh) | 一种扇区映射信息的管理方法及装置、存储介质和设备 | |
CN109582235B (zh) | 管理元数据存储方法及装置 | |
CN108351801A (zh) | 多版本移除管理器 | |
CN112650748A (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 |