数据处理方法、装置、电子设备及存储介质制造方法及图纸

技术编号:38202673 阅读:10 留言:0更新日期:2023-07-21 16:46
本申请提供了一种数据处理方法、装置、电子设备及存储介质,方法包括:接收读写指令,响应所述读写指令利用本地的主实例接口在数据库节点中读写对应数据;其中,所述主实例接口是在主节点异常的情况下,基于构建的读写类对象复用本地辅助实例对象的数据表形成的。由于本申请中的主实例接口,是通过构建的读写类对象复用本地辅助实例对应的数据表形成的,复用辅助实例的数据表耗费时间很少,无需等待辅助节点重新以读写模式打开RocksDB来回放所有预写日志,节省了大量的时间,进而可以提高RocksDB数据库集群在读写数据时的可靠性,实现RocksDB数据库集群的快速高可用。现RocksDB数据库集群的快速高可用。现RocksDB数据库集群的快速高可用。

【技术实现步骤摘要】
数据处理方法、装置、电子设备及存储介质


[0001]本申请涉及数据库
,尤其涉及一种数据处理方法、装置、电子设备及存储介质。

技术介绍

[0002]相关技术中,RocksDB数据库是开源的单机(Key

Value)KV数据库。RocksDB是高性能KV持久化存储引擎,以库组件形式嵌入程序中,为大规模分布式应用在磁盘上运行提供优化。RocksDB数据库集群可以包括主实例和辅助实例,如果RocksDB数据库集群中的主实例所在的机器出现故障,辅助实例对外提供服务。但是辅助实例提供服务的过程中程序准备耗时比较长,导致通过RocksDB数据库集群在读写数据时的可靠性较低。

技术实现思路

[0003]本申请实施例提供的一种数据处理方法、装置、电子设备及存储介质,可以提高RocksDB数据库集群在读写数据时的可靠性,实现RocksDB数据库集群的快速高可用。
[0004]本申请的技术方案是这样实现的:
[0005]本申请实施例提供了一种数据处理方法,应用于辅助节点,包括:
[0006]接收读写指令,响应所述读写指令利用本地的主实例接口在数据库节点中读写对应数据;其中,
[0007]所述主实例接口是在主节点异常的情况下,基于构建的读写类对象复用本地辅助实例对象的数据表形成的。
[0008]上述方案中,所述接收读写指令,响应所述读写指令利用本地的主实例接口在数据库节点中读写对应数据之前,所述方法还包括:
[0009]在所述主节点异常的情况下,构建出所述读写类对象;
[0010]复制所述辅助实例对象的相关数据给所述读写类对象;所述相关数据表征所述辅助实例对象记录的数据信息;
[0011]利用所述读写类对象复用所述数据表,以形成所述主实例接口。
[0012]上述方案中,所述在所述主节点异常的情况下,构建出所述读写类对象,包括以下之一:
[0013]响应接收的主节点异常信息,按照预设程序在本地的数据库代码中将第一类实例化,得到所述读写类对象;
[0014]响应接收的用户指令,在本地的数据库代码中将所述第一类实例化,得到所述读写类对象;所述用户指令是在所述主节点异常后触发的。
[0015]上述方案中,所述第一类为读写类;所述辅助实例对象对应的类为只读类。
[0016]上述方案中,所述复制所述辅助实例对象的相关数据给所述读写类对象,包括:
[0017]将所述辅助实例对象的变更记录信息和所述数据表复制给所述读写类对象。
[0018]上述方案中,所述在所述主节点异常的情况下,构建出所述读写类对象之后,所述
复制所述辅助实例对象的相关数据给所述读写类对象之前,所述方法还包括:
[0019]调用预设函数从数据库节点的预写日志集中获取最新数据,并将所述最新数据写入所述数据表;所述预写日志集用于暂存所述最新数据。
[0020]上述方案中,所述利用所述读写类对象复用所述辅助实例对象的数据表,以形成主实例接口,包括:
[0021]利用所述读写类对象持有数据库节点的文件锁,并将所述数据表的指针赋值给所述读写类对象,供所述读写类对象持有所述数据表,通过所述读写类对象的读写接口形成所述主实例接口;
[0022]其中,所述文件锁用于给在所述数据库节点的文件中进行读写操作授权。
[0023]本申请实施例还提供了一种数据处理装置,应用于辅助节点,包括:
[0024]读写模块,用于接收读写指令,响应所述读写指令利用本地的主实例接口在数据库节点中读写对应数据;其中,
[0025]所述主实例接口是在主节点异常的情况下,基于构建的读写类对象复用本地辅助实例对象的数据表形成的。
[0026]本申请实施例还提供了一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法中的步骤。
[0027]本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法中的步骤。
[0028]本申请实施例中,接收读写指令,响应所述读写指令利用本地的主实例接口在数据库节点中读写对应数据;其中,所述主实例接口是在主节点异常的情况下,基于构建的读写类对象复用本地辅助实例对象的数据表形成的。由于本申请中的主实例接口,是通过构建的读写类对象复用本地辅助实例对应的数据表形成的,复用辅助实例的数据表耗费时间很少,无需等待辅助节点重新以读写模式打开RocksDB来回放所有预写日志,节省了大量的时间,进而可以提高RocksDB数据库集群在读写数据时的可靠性,实现RocksDB数据库集群的快速高可用。
附图说明
[0029]图1为本申请实施例相关技术的效果示意图;
[0030]图2为本申请实施例提供的数据处理方法的一个可选的流程示意图;
[0031]图3为本申请实施例提供的数据处理方法的一个可选的流程示意图;
[0032]图4为本申请实施例提供的数据处理方法的一个可选的效果示意图;
[0033]图5为本申请实施例提供的数据处理方法的一个可选的流程示意图;
[0034]图6为本申请实施例提供的数据处理方法的一个可选的流程示意图;
[0035]图7为本申请实施例提供的数据处理装置的结构示意图;
[0036]图8为本申请实施例提供的电子设备的一种硬件实体示意图。
具体实施方式
[0037]为了使本申请的目的、技术方案和优点更加清楚,下面结合附图和实施例对本申
请的技术方案进一步详细阐述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
[0038]在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
[0039]如果申请文件中出现“第一/第二”的类似描述则增加以下的说明,在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
[0040]除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的
的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
[0041]本申请相关技术中,RocksDB数据库集群中可以包括主节点和辅助节点。其中,主节点的可以通过读写实例打开RocksDB,来进行数据的读写操作。主节点为承载读写实例的一侧终端。辅助节点可以通过只读实例打开RocksDB。辅助节点为承载只读实例的一侧终端。
[0042]请结合图1,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,应用于辅助节点,包括:接收读写指令,响应所述读写指令利用本地的主实例接口在数据库节点中读写对应数据;其中,所述主实例接口是在主节点异常的情况下,基于构建的读写类对象复用本地辅助实例对象的数据表形成的。2.根据权利要求1所述的数据处理方法,其特征在于,所述接收读写指令,响应所述读写指令利用本地的主实例接口在数据库节点中读写对应数据之前,所述方法还包括:在所述主节点异常的情况下,构建出所述读写类对象;复制所述辅助实例对象的相关数据给所述读写类对象;所述相关数据表征所述辅助实例对象记录的数据信息;利用所述读写类对象复用所述数据表,以形成所述主实例接口。3.根据权利要求2所述的数据处理方法,其特征在于,所述在所述主节点异常的情况下,构建出所述读写类对象,包括以下之一:响应接收的主节点异常信息,按照预设程序在本地的数据库代码中将第一类实例化,得到所述读写类对象;响应接收的用户指令,在本地的数据库代码中将所述第一类实例化,得到所述读写类对象;所述用户指令是在所述主节点异常后触发的。4.根据权利要求3所述的数据处理方法,其特征在于,所述第一类为读写类;所述辅助实例对象对应的类为只读类。5.根据权利要求2所述的数据处理方法,其特征在于,所述复制所述辅助实例对象的相关数据给所述读写类对象,包括:将所述辅助实例对象的变更记录信息和所述数据表复制给所述读写类对象。6.根据权利要求2
‑<...

【专利技术属性】
技术研发人员:张广超张成远刘欢葛集斌
申请(专利权)人:京东科技信息技术有限公司
类型:发明
国别省市:

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

1