[发明专利]一种业务数据的读、写方法、装置、设备和存储介质在审
申请号: | 201910374553.6 | 申请日: | 2019-05-07 |
公开(公告)号: | CN110096552A | 公开(公告)日: | 2019-08-06 |
发明(设计)人: | 蔡旭森 | 申请(专利权)人: | 广州虎牙信息科技有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/25 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 511400 广东省广州市番禺区南村镇万博二*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 业务数据 数据库 写操作 写入 主数据库 操作类型 存储介质 数据库同步 接收数据 数据操作 主数据 成功 失败 保证 | ||
本发明公开了一种业务数据的读、写方法、装置、设备和存储介质。该方法包括:接收数据操作;确定数据操作的操作类型;若操作类型为写操作,则执行第一写操作;若第一写操作执行成功,则执行第二写操作,第二写操作用于将业务数据写入所有从数据库,以使主数据库与所有从数据库同步业务数据。该方法通过区分主数据库与从数据库,区分业务数据写入的顺序,只有当将业务数据写入主数据库成功后才会将该业务数据写入从数据库,不管该业务数据是否成功写入从数据库,都有完整、正确的业务数据存在于主数据库中,当从数据库执行写操作失败后,可以从主数据获取正确的业务数据进行从数据库的写入,从而保证业务数据在各个数据库中的一致性。
技术领域
本发明实施例涉及数据存储技术,尤其涉及一种业务数据的读、写方法、装置、设备和存储介质。
背景技术
目前,随着互联网的普及与发展,有越来越多的数据需要被处理,同时对处理的要求也越来越高。对于一些网站运营商而言,每天可能需要面对极大的业务数据,随着业务数据量的增大,对数据的稳定存储、快速读取的要求也越来越高。
通常业务数据会存储在一个数据库中,此时,如果该数据库出现了故障,那么这个数据库中的业务数据都无法使用。为了解决这一问题,一般会设置多个数据库之间进行业务数据的同步。
但是,如果一个业务数据同时被写入多个数据库,可能因为写入不稳定等因素,导致一个业务数据在不同的数据库中表现为不同的业务数据,即无法保证每个数据库中业务数据的一致性。当用户需要读取该业务数据时,会根据数据数据库的不同而产生不同的返回结果,从而导致系统维护的难度加大。
发明内容
本发明提供一种业务数据的读、写方法、装置、设备和存储介质,以解决一个业务数据同时被写入多个数据库,无法保证一致性的问题。
第一方面,本发明实施例提供了一种业务数据的写方法,在一分布式的数据集群中包含主数据库、从数据库与一代理,所述方法应用于所述代理中,包括:
接收数据操作;
确定所述数据操作的操作类型;
若所述操作类型为写操作,则执行第一写操作,所述第一写操作用于将所述数据操作所作用的业务数据写入所述主数据库;
若所述第一写操作执行成功,则执行第二写操作,所述第二写操作用于将所述业务数据写入所有从数据库,以使所述主数据库与所有从数据库同步所述业务数据。
在此基础上,所述代理记录有所述主数据库的第一地址,所述代理创建有线程池,所述线程池中具有线程;
所述执行第一写操作,包括:
为所述主数据库分配线程,作为第一线程;
确定所述主数据库的第一地址;
调用所述第一线程访问所述第一地址,以向所述主数据库写入所述业务数据;
释放所述第一线程。
在此基础上,所述从数据库的数量为至少两个,所述代理记录有所述从数据库的第二地址;
所述执行第二写操作,包括:
确定第一目标数据库,所述第一目标数据库为未执行写子操作的从数据库;
对所述第一目标数据库执行写子操作,所述写子操作用于写入所述业务数据;
判断将所述业务数据是否成功写入所述第一目标数据库;
若是,则确认所述主数据库与所述第一目标数据库成功同步所述业务数据,返回执行所述确定第一目标数据库。
在此基础上,所述执行第二写操作,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州虎牙信息科技有限公司,未经广州虎牙信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910374553.6/2.html,转载请声明来源钻瓜专利网。