一种分布式数据库读写中间件制造技术

技术编号:19903731 阅读:32 留言:0更新日期:2018-12-26 03:00
本发明专利技术公开了一种分布式数据库读写中间件,包括用于对输入的SQL指令进行分析的指令分析模块、用于将中间件对目标操作库和主数据库中取出矫正计数表的数据进行比较的一致性判读模块、用于数据库分配的数据库分配模块、用于对分配的数据库进行操作的数据库操作模块、用于调取数据进行比较的矫正计数表和用于对矫正计数表进行操作,添加计数/输出执行结果的一致性修正模块,采用上述技术方案,主要对读写操作的算法进行改进,通过算法改进,判断本次读操作的数据库和主数据库是否数据一致,如果不一致,就自动将操作指令分配到主数据库进行操作,避免因为编程习惯不当造成的读写错误风险,杜绝因为脏读造成的程序bug,降低测试和编程成本。

【技术实现步骤摘要】
一种分布式数据库读写中间件
本专利技术涉及数据处理
,具体指一种分布式数据库读写中间件。
技术介绍
目前市面上的高并发分布式数据库中间件广泛采用同步复制,然后由中间件分析SQL语句,根据分析结果,将写指令指定到主数据库进行操作,将读指令指定到从的数据库进行读操作,从而分摊单机负载压力,无需程序员在使用使进行数据库指定。这种中间件虽然无需程序员对操作的数据库进行指定,能够很好的利用主从数据库分担数据库操作压力,但是也存在致命的问题,因为数据库主从库之间的同步是基于日志的秒级同步,所以当程序中进行毫秒级的写操作和马上进行读操作这样的写法将构成致命的脏读情况,在程序读操作时,很可能因为日志复制的延迟,本次读指令无法读取到上次刚刚进行的写操作所修改的数据,而造成数据读取错误。目前为了避免这样的情况发生,其做法是对程序员进行人为行为规范,不允许进行写操作后立刻的读操作,避免脏读的发生。而人为约定往往并不能杜绝大项目中的编程习惯不当的失误,而这样的失误往往会造成程序的隐含bug,使得程序出现不确定的错误,同时这样的缺陷往往很难被定位和复现,而造成大量的测试开发差错成本。
技术实现思路
本专利技本文档来自技高网
...

【技术保护点】
1.一种分布式数据库读写中间件,其特征在于,包括用于对输入的SQL指令进行分析的指令分析模块、用于将中间件对目标操作库和主数据库中取出矫正表的数据进行比较的一致性判读模块、用于数据库分配的数据库分配模块、用于对分配的数据库进行操作的数据库操作模块、用于调取数据进行比较的矫正计数表和用于对矫正计数表进行操作,添加计数/输出执行结果的一致性修正模块,其步骤包括:S1、输入SQL指令;S2、通过指令分析模块对指令进行分析本次操作是读操作或是写操作,如果判定是写操作,则继续步骤S3,如果判定是读操作,则继续步骤S7;S3、判定是写操作,由数据库分配模块将其分配到主数据库;S4、通过一致性修正模块对矫正...

【技术特征摘要】
1.一种分布式数据库读写中间件,其特征在于,包括用于对输入的SQL指令进行分析的指令分析模块、用于将中间件对目标操作库和主数据库中取出矫正表的数据进行比较的一致性判读模块、用于数据库分配的数据库分配模块、用于对分配的数据库进行操作的数据库操作模块、用于调取数据进行比较的矫正计数表和用于对矫正计数表进行操作,添加计数/输出执行结果的一致性修正模块,其步骤包括:S1、输入SQL指令;S2、通过指令分析模块对指令进行分析本次操作是读操作或是写操作,如果判定是写操作,则继续步骤S3,如果判定是读操作,则继续步骤S7;S3、判定是写操作,由数据库分配模块将其分配到主数据库;S4、通过一致性修正模块对矫正计数表进行操作;S5、调用数据库操作模块进行操作;S6、通过一致性修正模块对矫正计数表再次进行操作,添加计数,输出执行结果;S7、判定是读操作,由一致性判读模块从中间件的目标从数据库和主数据库中取出矫正计数表的数据进...

【专利技术属性】
技术研发人员:董津曹兴兵杨宣志
申请(专利权)人:纳里健康科技有限公司
类型:发明
国别省市:浙江,33

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

1