Disclosure is a method and a device access database, the database schema used to read and write separate in the database schema of the read and write separate write library, including the main library and read and write the elastic base, wherein the main library and the library to read and write based on the synchronization strategy for data synchronization, the database the method includes: receiving access to the data insertion request, carry business types of the data insertion request; determining the type of business access status; when the access state for daily state, the main library write data into based on the access state; when the elastic writing state, elastic write library based on the data insertion.
【技术实现步骤摘要】
数据库访问的实现方法和装置
本说明书涉及数据库
,尤其涉及一种数据库访问的实现方法和装置。
技术介绍
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。当数据量较大时,可以采用读写分离的数据库架构。在读写分离的数据库架构中,可以由写库对外提供增加、删除、修改的功能,由读库对外提供读取功能。当插入数据量剧增时,需要提供更可靠的数据库访问的实现方案。
技术实现思路
有鉴于此,本说明书提供一种数据库访问的实现方法和装置。具体地,本说明书是通过如下技术方案实现的:一种数据库访问的实现方法,应用于读写分离的数据库架构中,该读写分离的数据库架构包括主写库、弹性写库以及读库,其中,所述主写库与所述读库之间基于同步策略进行数据同步,所述数据库访问的实现方法包括:接收到数据插入请求,所述数据插入请求中携带业务类型;确定所述业务类型的访问状态;当所述访问状态为日常状态时,基于主写库完成数据插入;当所述访问状态为弹写状态时,基于弹性写库完成数据插入。一种数据库访问的实现方法,应用于读写分离的数据库架构中,该读写分离的数据库架构包括主写库、弹性写库以及读库,其中,所述主写库与所述读库之间基于同步策略进行数据同步,所述数据库访问的实现方法包括:在接收到数据插入请求时,确定数据库的访问状态;当所述访问状态为日常状态时,基于主写库完成数据插入;当所述访问状态为弹写状态时,基于弹性写库完成数据插入。一种数据库访问的实现装置,应用于读写分离的数据库架构中,该读写分离的数据库架构包括主写库、弹性写库以及读库,其中,所述主写库与所述读库之间基于同步策略进行数据同步,所述数 ...
【技术保护点】
一种数据库访问的实现方法,应用于读写分离的数据库架构中,该读写分离的数据库架构包括主写库、弹性写库以及读库,其中,所述主写库与所述读库之间基于同步策略进行数据同步,所述数据库访问的实现方法包括:接收到数据插入请求,所述数据插入请求中携带业务类型;确定所述业务类型的访问状态;当所述访问状态为日常状态时,基于主写库完成数据插入;当所述访问状态为弹写状态时,基于弹性写库完成数据插入。
【技术特征摘要】
1.一种数据库访问的实现方法,应用于读写分离的数据库架构中,该读写分离的数据库架构包括主写库、弹性写库以及读库,其中,所述主写库与所述读库之间基于同步策略进行数据同步,所述数据库访问的实现方法包括:接收到数据插入请求,所述数据插入请求中携带业务类型;确定所述业务类型的访问状态;当所述访问状态为日常状态时,基于主写库完成数据插入;当所述访问状态为弹写状态时,基于弹性写库完成数据插入。2.根据权利要求1所述的方法,还包括:当所述业务类型的访问状态由弹写状态更新为回迁状态时,将弹性写库中所述业务类型的数据回迁至主写库中,并在接收到针对所述业务类型的数据插入请求时,基于主写库完成数据插入。3.根据权利要求2所述的方法,还包括:在所述回迁状态下,停止对弹性库进行所述业务类型的数据修改和数据删除操作。4.根据权利要求1所述的方法,还包括:在所述弹写状态下,若接收到针对所述业务类型的数据查询请求,则确定所述数据查询请求的查询类别;若所述查询类别为一对多查询,则分别查询读库和弹性写库,并将查询结果合并后返回;若所述查询类别为一对一查询,则查询读库,若在读库中未查询到,则查询弹性写库,并将查询结果返回。5.根据权利要求1所述的方法,还包括:在所述弹写状态下,若接收到针对所述业务类型的数据修改或删除请求,则基于所述弹性写库中的全局插入表判断目标数据是否存储在弹性写库中;若目标数据存储在弹性写库中,则基于弹性写库完成数据修改或删除;若目标数据未存储在弹性写库中,则基于主写库完成数据修改或删除。6.根据权利要求1所述的方法,所述完成数据插入的过程包括:DAL拦截器基于目标字段判断是否需要加锁;若需要加锁,则添加DAO注解标示,所述DAO注解标示包括:业务类型和所述目标字段;启动异步线程基于所述注解标示进行加锁操作;若加锁成功,则进行数据插入,并在数据插入成功后释放锁资源。7.一种数据库访问的实现方法,应用于读写分离的数据库架构中,该读写分离的数据库架构包括主写库、弹性写库以及读库,其中,所述主写库与所述读库之间基于同步策略进行数据同步,所述数据库访问的实现方法包括:在接收到数据插入请求时,确定数据库的访问状态;当所述访问状态为日常状态时,基于主写库完成数据插入;当所述访问状态为弹写状态时,基于弹性写库完成数据插入。8.一种数据库访问的实现装置,应用于读写分离的数据库架构中,该读写分离的数据库架构包括主写库、弹性写库以及读库,其中,所述主写库与所述读库之间基于同步策略进行数据...
【专利技术属性】
技术研发人员:范先凯,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。