数据库处理方法、装置和存储介质制造方法及图纸

技术编号:19023419 阅读:19 留言:0更新日期:2018-09-26 19:04
本申请公开了一种数据库处理方法、装置、和存储介质,针对数据库集群,采用在业务逻辑中通过注解的方式标示当前业务事务类型为单库事务或是跨库事务,并设置路由服务,当新用户存储数据时计算出该新用户在所述数据库集群中对应数据源的路由信息,将路由信息存储在路由服务中,当老用户存储数据时,从所述路由服务中查询该老用户对应的数据源的路由信息;然后根据当前用户对应的路由信息找到对应的数据源;然后可以通过直接识别业务逻辑中的注解来判断出是单库事务还是跨库事务,并分别采用本地事务管理器和分布式事务管理器来进行数据存储管理。本发明专利技术提高了数据库整体的存储能力和运行性能,而且在配置使用上也做到了很好的易用性。

【技术实现步骤摘要】
数据库处理方法、装置和存储介质
本申请涉及计算机数据处理
,尤其涉及一种数据库处理方法、装置和存储介质。
技术介绍
目前,随着互联网的发展,计算机数据存储的规模越来越大。尤其是,随着互联网网站的发展,用户量的不断增长,数据量也不断地增加。目前的数据系统中,通常采用基于单数据库(本专利技术中简称为单库)事务的单库存储方式。如图1为现有技术中的一种采用单库分表存储数据的一种示意图。参见图1,数据库中存储着多个不同的数据表,客户端发起数据请求给对应的业务服务器,该业务服务器从数据库中的某个制定的数据表中进行数据操作。然而,在实现本专利技术过程中,专利技术人发现在现有技术中,在一些量大的业务上单库的承载能力已不能满足业务的发展,通常会存在下面的一些问题:数据存储问题,单台数据库服务器存储是有限的,不能满足日益增长的数据量;性能问题,访问量很大的情况下单台数据库服务器的性能不足以支撑访问请求。
技术实现思路
有鉴于此,本专利技术实施例的主要目的是提供一种数据库的数据处理方法、装置和存储介质,以提高数据库的存储能力和运行性能。本专利技术一种实施例的技术方案是这样实现的:一种数据库处理方法,该方法用于包含二个以上数据库的数据库集群;该方法主要包括:在业务逻辑中通过注解的方式标示当前业务事务类型;在收到数据存储请求后,确定该数据存储请求中的用户标识,如果是新增用户,则计算该新增用户在所述数据库集群中对应数据源的路由信息,将路由信息存储在路由服务中;如果是已有用户,则从所述路由服务中获取该用户对应的数据源的路由信息;根据当前用户对应的路由信息,确定对应的数据源;判断当前业务的事务类型,如果是单库事务,则获取本地事务管理器,利用该本地事务管理器,将所述数据存储请求中的数据存储到当前用户对应的路由信息所确定的数据源中;如果是跨库事务,则获取分布式事务管理器,利用该分布式事务管理器,将所述数据存储请求中的数据存储到当前用户对应的路由信息所确定的数据源中。在所述方法的一种优选实施例中,该方法进一步包括:在收到数据查询请求后,确定该数据查询请求中的用户标识,从所述路由服务中获取该用户对应的数据源的路由信息;根据所述用户的路由信息,确定对应的数据源;根据所述数据查询请求,从所述数据源中查询数据。在所述方法的一种优选实施例中,该方法进一步包括:统计指定用户对应数据源的数据量,当指定用户对应数据源的数据量超过阈值,则进一步执行以下步骤:将该指定用户对应数据源的数据迁移到所述数据库集群中的新选定的数据源中,并在所述路由服务中更新该指定用户对应的新选定的数据源的路由信息。在所述方法的一种优选实施例中,该方法进一步包括:在所述数据库集群中增加新的数据源,在所述路由服务中增加所述新的数据源的路由路径信息;之后当接收到数据存储请求后,确定该数据存储请求中的用户标识,如果是新增用户,则计算该新增用户在所述已增加所述新数据源的数据库集群中对应数据源的路由信息,将路由信息存储在路由服务中。在所述方法的一种优选实施例中,该方法进一步包括:确定所述数据库集群中需要下架的数据源,将该需要下架的数据源中的数据源迁移到所述数据库集群中的新选定的数据源中,并在所述路由服务中更新所述需要下架的数据源对应的路由信息;删除所述需要下架的数据源。在所述方法的一种优选实施例中,所述计算该新增用户在所述数据库集群中对应数据源的路由信息,具体包括:采用哈希计算的方法为该新增用户自动计算出一个在所述数据库集群中对应数据源的路由信息,所述路由信息包括该数据源的地址、端口号和数据库名。一种数据库处理装置,该装置用于处理包含二个以上数据库的数据库集群,该装置主要包括:注解模块,用于在业务逻辑中通过注解的方式标示当前业务事务类型;第一存储处理模块,用于在收到数据存储请求后,确定该数据存储请求中的用户标识,如果是新增用户,则计算该新增用户在所述数据库集群中对应数据源的路由信息,将路由信息存储在路由服务中;如果是已有用户,则从所述路由服务中获取该用户对应的数据源的路由信息;第二存储处理模块,用于根据当前用户对应的路由信息,确定对应的数据源;第三存储处理模块,用于判断当前业务的事务类型,如果是单库事务,则获取本地事务管理器,利用该本地事务管理器,将所述数据存储请求中的数据存储到当前用户对应的路由信息所确定的数据源中;如果是跨库事务,则获取分布式事务管理器,利用该分布式事务管理器,将所述数据存储请求中的数据存储到当前用户对应的路由信息所确定的数据源中。在所述方法的一种优选实施例中,所述装置进一步包括:第一查询模块,用于在收到数据查询请求后,确定该数据查询请求中的用户标识,从所述路由服务中获取该用户对应的数据源的路由信息;第二查询模块,用于根据所述用户的路由信息,确定对应的数据源;第三查询模块,用于根据所述数据查询请求,从所述数据源中查询数据。在所述方法的一种优选实施例中,该装置进一步包括:.数据量监控模块,用于统计指定用户对应数据源的数据量,当指定用户对应数据源的数据量超过阈值,则进一步触发以下的迁移模块:迁移模块,用于将该指定用户对应数据源的数据迁移到所述数据库集群中的新选定的数据源中,并在所述路由服务中更新该指定用户对应的新选定的数据源的路由信息。一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的任一实施例所含的步骤。与现有技术相比,上述专利技术中的实施例具有如下优点或有益效果:本专利技术实施例用于包含二个以上数据库的数据库集群,针对该数据库集群,采用在业务逻辑中通过注解的方式标示当前业务事务类型为单库事务或是跨库事务,并设置路由服务,当新用户存储数据时计算出该新用户在所述数据库集群中对应数据源的路由信息,将路由信息存储在路由服务中,当老用户存储数据时,从所述路由服务中查询该老用户对应的数据源的路由信息;然后根据当前用户对应的路由信息找到对应的数据源;然后可以通过直接识别业务逻辑中的注解来判断出是单库事务还是跨库事务,并分别采用本地事务管理器和分布式事务管理器来进行数据存储管理。由于本专利技术实施例对事物的处理部分,较之前传统分库技术和方案进行了改进和突破,通过注解的方式整合了单库和跨库事务,从而提高了数据库整体的存储能力和运行性能,而且在配置使用上也做到了很好的易用性。附图说明图1为现有技术中的一种采用单库分表存储数据的一种示意图;图2为本专利技术的一种实施例所述的数据库处理方法的一种流程示意图;图3为本专利技术所述的数据库处理方法的一种存储数据的实施例的流程示意图;图4a所示为本专利技术所述的数据库处理装置的一种的实施例的组成示意图;图4b所示为本专利技术所述的数据库处理装置的又一种的实施例的组成示意图;图4c所示为本专利技术所述的数据库处理装置的又一种的实施例的组成示意图;图5为本专利技术所述数据库处理方法的一种实施例中的数据查询的处理流程图;图6为本专利技术所述数据库处理方法的一种实施例中的数据量调节的处理流程图;图7为本专利技术所述数据库处理方法的一种实施例中的扩容操作的处理流程图;图8为本专利技术所述数据库处理方法的一种实施例中的缩容操作的处理流程图。具体实施方式下面结合附图及具体实施例对本专利技术再作进一步详细的说明。图2为本专利技术所述的数据库处理方法的一种实施例应用在数据库集群系统中的一种示意图。图3本文档来自技高网...

【技术保护点】
1.一种数据库处理方法,其特征在于,该方法用于包含二个以上数据库的数据库集群;该方法主要包括:在业务逻辑中通过注解的方式标示当前业务事务类型;在收到数据存储请求后,确定该数据存储请求中的用户标识,如果是新增用户,则计算该新增用户在所述数据库集群中对应数据源的路由信息,将路由信息存储在路由服务中;如果是已有用户,则从所述路由服务中获取该用户对应的数据源的路由信息;根据当前用户对应的路由信息,确定对应的数据源;判断当前业务的事务类型,如果是单库事务,则获取本地事务管理器,利用该本地事务管理器,将所述数据存储请求中的数据存储到当前用户对应的路由信息所确定的数据源中;如果是跨库事务,则获取分布式事务管理器,利用该分布式事务管理器,将所述数据存储请求中的数据存储到当前用户对应的路由信息所确定的数据源中。

【技术特征摘要】
1.一种数据库处理方法,其特征在于,该方法用于包含二个以上数据库的数据库集群;该方法主要包括:在业务逻辑中通过注解的方式标示当前业务事务类型;在收到数据存储请求后,确定该数据存储请求中的用户标识,如果是新增用户,则计算该新增用户在所述数据库集群中对应数据源的路由信息,将路由信息存储在路由服务中;如果是已有用户,则从所述路由服务中获取该用户对应的数据源的路由信息;根据当前用户对应的路由信息,确定对应的数据源;判断当前业务的事务类型,如果是单库事务,则获取本地事务管理器,利用该本地事务管理器,将所述数据存储请求中的数据存储到当前用户对应的路由信息所确定的数据源中;如果是跨库事务,则获取分布式事务管理器,利用该分布式事务管理器,将所述数据存储请求中的数据存储到当前用户对应的路由信息所确定的数据源中。2.根据权利要求1所述的方法,其特征在于,该方法进一步包括:在收到数据查询请求后,确定该数据查询请求中的用户标识,从所述路由服务中获取该用户对应的数据源的路由信息;根据所述用户的路由信息,确定对应的数据源;根据所述数据查询请求,从所述数据源中查询数据。3.根据权利要求1所述的方法,其特征在于,该方法进一步包括:统计指定用户对应数据源的数据量,当指定用户对应数据源的数据量超过阈值,则进一步执行以下步骤:将该指定用户对应数据源的数据迁移到所述数据库集群中的新选定的数据源中,并在所述路由服务中更新该指定用户对应的新选定的数据源的路由信息。4.根据权利要求1所述的方法,其特征在于,该方法进一步包括:在所述数据库集群中增加新的数据源,在所述路由服务中增加所述新的数据源的路由路径信息;之后当接收到数据存储请求后,确定该数据存储请求中的用户标识,如果是新增用户,则计算该新增用户在所述已增加所述新数据源的数据库集群中对应数据源的路由信息,将路由信息存储在路由服务中。5.根据权利要求1所述的方法,其特征在于,该方法进一步包括:确定所述数据库集群中需要下架的数据源,将该需要下架的数据源中的数据源迁移到所述数据库集群中的新选定的数据源中,并在所述路由服务中更新所述需要下架的数据源对应的路由信息;删除所述需要...

【专利技术属性】
技术研发人员:李清宇沈俊杰任莉强蔡毅勇肖京宇
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1