【技术实现步骤摘要】
数据存储方法和装置
[0001]本专利技术涉及大数据
,尤其涉及一种数据存储方法和装置。
技术介绍
[0002]随着金融业的飞速发展,银行间竞争也日趋激烈。为减少应用成本,各大银行已经把分布式的改造提上日程。而银行的交易系统,其特点是交易类型多,交易场景复杂,存储数据量庞大,数据集中存储于DB2数据库。目前系统内数据库表的数据量,最高可以达到百亿级,大部分数据量在千万到数十亿不等。在分布式存储的改造过程中,数据需要从DB2数据库迁移到基于开源或自研的数据库系统内。现有的集中存储策略受制于数据节点服务器的性能,无法满足交易的性能要求。分布式改造的做法是通过设立一个统一的分片键进行数据拆分,满足数据均匀分布以及多分片分布的要求。但是单纯地进行分片拆分,会造成如下问题:由于每个业务场景的流程、条件、数据结构都不尽相同,使用统一分片策略无法满足金融业务的复杂场景需求;使用统一的分片策略对现有系统的侵入较大,需要应用进行重构;5.跨多个表进行交易的场景下,所涉及的数据存储于不同分片会造成分布式事务,影响交易的性能。因此亟需一种大 ...
【技术保护点】
【技术特征摘要】
1.一种数据存储方法,其特征在于,所述方法应用于分布式存储系统中,所述分布式存储系统包括多个数据库集群,每个所述数据库集群包括多个分片;所述方法包括:获取多个待存储数据表,对所述多个待存储数据表进行分类,得到多个待存储表组,其中,每个待存储表组中至少包括一个所述待存储数据表;对于每一待存储表组,确定与所述待存储表组对应的目标数据库集群;确定所述待存储表组对应的路由策略,依据所述路由策略,将所述待存储表组中的待存储数据表存储至所述目标数据库集群中对应的分片上。2.根据权利要求1所述的方法,其特征在于,对所述多个待存储数据表进行分类包括:对于每一待存储数据表,统计所述待存储数据表的操作信息;根据所述操作信息,确定所述待存储数据表的类别。3.根据权利要求2所述的方法,其特征在于,所述操作信息包括以下一种或多种操作在单位时间内的操作次数:插入、删除、修改,查询和游标;根据所述操作信息,确定所述待存储数据表的类别包括:根据所述一种或多种操作在单位时间内的操作次数,确定所述待存储数据表的类别。4.根据权利要求3所述的方法,其特征在于,根据所述一种或多种操作在单位时间内的操作次数,确定所述待存储数据表的类别包括:当所述查询操作的操作次数大于或等于第一阈值,且所述插入操作、删除操作、修改操作和游标操作的操作次数均小于或等于第二阈值时,所述待存储数据表的类别为查询类;当所述插入操作的操作次数大于或等于第一阈值,且所述查询操作、删除操作、修改操作和游标操作的操作次数均小于或等于第二阈值时,所述待存储数据表的类别为插入类;当所述查询操作、插入操作、删除操作、修改操作和游标操作的操作次数之间的差值小于或等于第三阈值时,所述待存储数据表的类别为更新类。5.根据权利要求4所述的方法,其特征在于,确定所述待存储表组对应的路由策略,依据所述路由策略,将所述待存储表组中的待存储数据表存储至所述目标数据库集群中对应的分片上包括:若所述待存储表组的类别为查询类,则将所述待存储表组存储在所述目标数据库集群中的每一分片上;若所述待存储表组的类别为插入类或更新类,则确定所述目标数据库集群的分片键设置规则,根据所述分片键设置规则,确定所述待存储表组中每一待存储数据表对应的分片,并将所述待存储数据表存储于其对应的分片上。6.根据权利要求5所述的方法,其特征在于,根据所述分片键设置规则,确定所述待存储表组中每一待存储数据表对应的分片包括:从所述待存储表组的多个待存储数据表中确定主表,并将所述待存储表组中除所述主表的其他待存储数据表作为子表;根据所述分片键设置规则,在所述目标数据库集群中确定与所述主表对应的目标分片;从所述子表中确定与所述主表具有关联关系的目标子表,将所述目标分片作为与所述目标子表对应的分片,其中,所述目标子表与所述主表具有相同的列。7.根据权利要求6所述的方法,其特征在于,从所述待存储表组的多个待存储数据表中
确定主表包括:确定所述待存储表组中各个待存储数据表之间的关联权重;根据所述关联权重,从所述待存储表组的待存储数据表中确定主表。8.根据权利要求7所述的方法,其特征在于,根据所述分片键设置规则,在所述目标数据库集群中确定与所述主表对应的目标分片包括:根据所述分片键设置...
【专利技术属性】
技术研发人员:郑阳,龙礡涛,张文豪,高继威,王将,
申请(专利权)人:中国建设银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。