存储数据的方法、装置、设备和计算机可读介质制造方法及图纸

技术编号:35777526 阅读:18 留言:0更新日期:2022-12-01 14:21
本发明专利技术公开了存储数据的方法、装置、设备和计算机可读介质,涉及计算机技术领域。该方法的一具体实施方式包括:根据业务请求中的业务标识,选择所述业务请求对应的数据库作为操作数据库,以采用所述业务请求中的业务数据,更新所述操作数据库中的数据;所述操作数据库发送消息队列,所述消息队列中包括所述操作数据库的标识和所述业务数据;非操作数据库基于所述操作数据库的标识获知所述消息队列是所述操作数据库发送的,则按照所述消息队列中的业务数据同步数据,以确保所述操作数据库与所述非操作数据库的数据相同。该实施方式能够在多个数据库中迁移数据,从而提高多个数据库中的数据一致性。的数据一致性。的数据一致性。

【技术实现步骤摘要】
存储数据的方法、装置、设备和计算机可读介质


[0001]本专利技术涉及计算机
,尤其涉及一种存储数据的方法、装置、设备和计算机可读介质。

技术介绍

[0002]在数据量增速较高的情况下,原有的MySQL数据库已经无法满足数据增量的诉求,需要将MySQL数据库迁移至其他数据库。
[0003]在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:在多个数据库中迁移数据,业务要求迁移过程平稳,而且需要考虑到数据容灾和峰值数据存储,难以保证数据的一致性。

技术实现思路

[0004]有鉴于此,本专利技术实施例提供一种存储数据的方法、装置、设备和计算机可读介质,能够在多个数据库中迁移数据,从而提高多个数据库中的数据一致性。
[0005]为实现上述目的,根据本专利技术实施例的一个方面,提供了一种存储数据的方法,包括:
[0006]根据业务请求中的业务标识,选择所述业务请求对应的数据库作为操作数据库,以采用所述业务请求中的业务数据,更新所述操作数据库中的数据;
[0007]所述操作数据库发送消息队列,所述消息队列中包括所述操作数据库的标识和所述业务数据;
[0008]非操作数据库基于所述操作数据库的标识获知所述消息队列是所述操作数据库发送的,则按照所述消息队列中的业务数据同步数据,以确保所述操作数据库与所述非操作数据库的数据相同。
[0009]所述根据业务请求中的业务标识,选择所述业务请求对应的数据库作为操作数据库,包括:
[0010]所述业务请求中的业务标识对应高并发场景,选择非关系型数据库作为所述操作数据库;
[0011]或,
[0012]所述业务请求中的业务标识对应非高并发场景,选择关系型数据库作为所述操作数据库。
[0013]所述操作数据库发送消息队列,所述消息队列中包括所述操作数据库的标识和所述业务数据,包括:
[0014]所述操作数据库,确定业务数据对应的数据库标识与自身数据库的标识相同;
[0015]所述操作数据库发送所述消息队列,所述消息队列中包括所述操作数据库的标识和所述业务数据。
[0016]所述非操作数据库基于所述操作数据库的标识获知所述消息队列是所述操作数
据库发送的,包括:
[0017]所述非操作数据库,基于自身数据库的标识和所述操作数据库的标识,获知所述消息队列是所述操作数据库发送的。
[0018]所述方法还包括:
[0019]所述操作数据库,基于所述操作数据库的标识判断所述消息队列是所述操作数据库发送的,则停止同步数据。
[0020]所述按照所述消息队列中的业务数据同步数据之后,还包括:
[0021]所述操作数据库或所述非操作数据库,响应于查询数据请求,反馈所述查询数据请求中的业务数据。
[0022]所述业务请求包括提单请求、支付请求、问诊请求和义诊请求中的一种或多种;
[0023]所述业务请求的数量大于1。
[0024]根据本专利技术实施例的第二方面,提供了一种存储数据的装置,包括:
[0025]更新模块,用于根据业务请求中的业务标识,选择所述业务请求对应的数据库作为操作数据库,以采用所述业务请求中的业务数据,更新所述操作数据库中的数据;
[0026]发送模块,用于控制所述操作数据库发送消息队列,所述消息队列中包括所述操作数据库的标识和所述业务数据;
[0027]同步模块,用于控制非操作数据库基于所述操作数据库的标识获知所述消息队列是所述操作数据库发送的,则按照所述消息队列中的业务数据同步数据,以确保所述操作数据库与所述非操作数据库的数据相同。
[0028]根据本专利技术实施例的第三方面,提供了一种存储数据的电子设备,包括:
[0029]一个或多个处理器;
[0030]存储装置,用于存储一个或多个程序,
[0031]当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的方法。
[0032]根据本专利技术实施例的第四方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述的方法。
[0033]上述专利技术中的一个实施例具有如下优点或有益效果:根据业务请求中的业务标识,选择所述业务请求对应的数据库作为操作数据库,以采用所述业务请求中的业务数据,更新所述操作数据库中的数据;所述操作数据库发送消息队列,所述消息队列中包括所述操作数据库的标识和所述业务数据;非操作数据库基于所述操作数据库的标识获知所述消息队列是所述操作数据库发送的,则按照所述消息队列中的业务数据同步数据,以确保所述操作数据库与所述非操作数据库的数据相同。操作数据库更新数据后,通过消息队列在非操作数据库中同步数据,进而能够在多个数据库中迁移数据,从而提高多个数据库中的数据一致性。
[0034]上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
[0035]附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:
[0036]图1是根据本专利技术实施例的存储数据的方法的主要流程示意图;
[0037]图2是根据本专利技术实施例的选择业务请求对应的数据库作为操作数据库的示意图;
[0038]图3是根据本专利技术实施例的操作数据库发送消息队列的流程示意图;
[0039]图4是根据本专利技术实施例的同步数据的示意图;
[0040]图5是根据本专利技术实施例的存储数据的方法的应用示意图;
[0041]图6是根据本专利技术实施例的存储数据的装置的主要结构示意图;
[0042]图7是本专利技术实施例可以应用于其中的示例性系统架构图;
[0043]图8是适于用来实现本专利技术实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
[0044]以下结合附图对本专利技术的示范性实施例做出说明,其中包括本专利技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本专利技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0045]目前,可以采用以下技术实现数据迁移。
[0046]通过binlog异步写入:binlog指二进制日志,它记录了数据库上的所有改变,并以二进制的形式保存在磁盘中。binlog可以用来查看数据库的变更历史、数据库增量备份和恢复、MySQL主从数据库的复制。通过接收binlog的消息异步将数据写入从库。但是,binlog无法支持中间件,如:binlog并不支持redis和es等中间件。
[0047]数据双写,是在数据更新的时候,直接写入多个数据源。双写模式维护成本极高。如:多数据源中任意一个有问题,就必须对其他数据源进行回滚,如果要添加新数据源需要修改内容较多。
[0048]缓存存储,是先将数据写入缓存,后续再异步将数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种存储数据的方法,其特征在于,包括:根据业务请求中的业务标识,选择所述业务请求对应的数据库作为操作数据库,以采用所述业务请求中的业务数据,更新所述操作数据库中的数据;所述操作数据库发送消息队列,所述消息队列中包括所述操作数据库的标识和所述业务数据;非操作数据库基于所述操作数据库的标识获知所述消息队列是所述操作数据库发送的,则按照所述消息队列中的业务数据同步数据,以确保所述操作数据库与所述非操作数据库的数据相同。2.根据权利要求1所述存储数据的方法,其特征在于,所述根据业务请求中的业务标识,选择所述业务请求对应的数据库作为操作数据库,包括:所述业务请求中的业务标识对应高并发场景,选择非关系型数据库作为所述操作数据库;或,所述业务请求中的业务标识对应非高并发场景,选择关系型数据库作为所述操作数据库。3.根据权利要求1所述存储数据的方法,其特征在于,所述操作数据库发送消息队列,所述消息队列中包括所述操作数据库的标识和所述业务数据,包括:所述操作数据库,确定业务数据对应的数据库标识与自身数据库的标识相同;所述操作数据库发送所述消息队列,所述消息队列中包括所述操作数据库的标识和所述业务数据。4.根据权利要求3所述存储数据的方法,其特征在于,所述非操作数据库基于所述操作数据库的标识获知所述消息队列是所述操作数据库发送的,包括:所述非操作数据库,基于自身数据库的标识和所述操作数据库的标识,获知所述消息队列是所述操作数据库发送的。5.根据权利要求3所述存储数据的方法,其特征在于,所述方法还包括:所述...

【专利技术属性】
技术研发人员:刘德慧柴进
申请(专利权)人:北京京东拓先科技有限公司
类型:发明
国别省市:

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

1