【技术实现步骤摘要】
数据分片方法、装置、电子设备及存储介质
本公开涉及计算机
,特别是涉及一种数据分片方法、装置、电子设备及存储介质。
技术介绍
大型互联网应用具有海量数据、大流量、高并发等特征,典型的“一主多从”数据库架构无法满足业务的高速发展。行之有效的方案是水平拆分数据库,建立“多主多从”的数据库架构,即数据分片。建立“多主多从”的数据库架构的过程中,对数据进行分片处理是必须的过程。数据分片处理涉及大量数据表、海量数据。现有技术中,常规的数据分片方案是:一段时间内对多台从数据服务器和主服务器实现上线双写;在上线双写验证没有数据错误后,进行历史数据迁移;在完成历史数据迁移之后,将数据读写等操作切换到从数据服务器或主服务器上的心数据库中;最后,进行冗余数据清理(例如,旧数据库回收)。现有技术中的数据分片方法采用的数据分片方式和策略对于不同的数据库分库和数据表是固定的,为了实现该数据分片方式和策略,对于每个数据库工程,需要对相应数据库操作的不同阶段的多处代码进行修改。可见,现有技术中的数据分片方法至少存在通用性较差,开发效率低下的缺陷。
技术实现思路
本公开提供一种数据分片方法,有 ...
【技术保护点】
1.一种数据分片方法,其特征在于,包括:通过面向切面编程技术拦截预设的数据库操作中的数据操作;将拦截到的所述数据操作映射到预设的数据处理模块;根据与所述数据处理模块匹配的数据处理策略确定目标数据源,并对所述目标数据源进行与拦截到的所述数据操作对应的数据操作,其中,所述数据处理策略为由数据服务预先从配置模块获取进行本地缓存的。
【技术特征摘要】
1.一种数据分片方法,其特征在于,包括:通过面向切面编程技术拦截预设的数据库操作中的数据操作;将拦截到的所述数据操作映射到预设的数据处理模块;根据与所述数据处理模块匹配的数据处理策略确定目标数据源,并对所述目标数据源进行与拦截到的所述数据操作对应的数据操作,其中,所述数据处理策略为由数据服务预先从配置模块获取进行本地缓存的。2.根据权利要求1所述的方法,其特征在于,所述通过面向切面编程技术拦截预设的数据库操作中的数据操作的步骤,包括:通过预设的配置模块获取预先定义的切面的切入点,其中,所述切入点包括:数据读操作和数据写操作相关的数据操作,和/或,针对预设地址的数据操作;通过面向切面编程技术对所述切入点进行拦截。3.根据权利要求1所述的方法,其特征在于,所述将拦截到的所述数据操作映射到预设的数据处理模块的步骤,包括:根据拦截到的所述数据操作的数据操作类型,将拦截到的所述数据操作映射到预设的与所述数据操作类型匹配的数据处理模块;其中,所述数据操作类型包括:数据读操作、数据写操作,所述预设的数据处理模块包括:实现与所述数据读操作对应的数据处理逻辑的数据处理模块、实现与所述数据写操作对应的数据处理逻辑的数据处理模块。4.根据权利要求3所述的方法,其特征在于,所述数据处理策略包括:写策略、读策略、灰度策略、数据迁移策略和数据校验策略中的任意一种或多种,其中,所述写策略用于指示数据写操作针对的目标数据源;所述读策略用于指示数据读操作针对的目标数据源;所述灰度策略用于指示:若确定的目标数据源为第二数据库和第一数据库,则按照所述灰度策略对所述第二数据库和第一数据库同步进行与所述数据写操作对应的数据操作;以及,若确定的目标数据源为第二数据库,则按照所述灰度策略对所述第二数据库进行与所述数据读操作对应的数据操作;所述数据迁移策略包括加锁的数据段信息,所述数据迁移策略用于指示根据所述数据迁移策略执行从第一数据库到第二数据库的分段加锁数据迁移;所述数据校验策略用于指示:以所述第一数据库中的数据为标准对所述第二数据库中的数据进行校验,以及,以所述第二数据库中的数据为标准对所述第一数据库中的数据进行校验。5.根据权利要求1至4任一项所述的方法,其特征在于,还包括:获取所述配置模块在所述数据处理策略变更后发送...
【专利技术属性】
技术研发人员:陈乐乐,邵晓明,宋彬,刘军,周艺伟,
申请(专利权)人:北京三快在线科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。