CN112527911A - 一种数据存储方法、装置、设备及介质 - Google Patents
一种数据存储方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN112527911A CN112527911A CN202011604133.1A CN202011604133A CN112527911A CN 112527911 A CN112527911 A CN 112527911A CN 202011604133 A CN202011604133 A CN 202011604133A CN 112527911 A CN112527911 A CN 112527911A
- Authority
- CN
- China
- Prior art keywords
- data
- preset
- database
- writing
- written
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据存储方法、装置、设备及介质,包括:获取数据写入请求;其中,所述写入请求携带写入数据;将所述写入数据写入预设mysql数据库;若成功写入到所述预设mysql数据库,则将所述写入数据写入预设elasticsearch数据库;若写入到所述预设elasticsearch数据库失败,则将所述预设mysql数据库中对应的所述写入数据删除,若删除失败,则记录对应的失败信息;定时基于所述失败信息将所述预设mysql数据库中的所述写入数据同步至所述预设elasticsearch数据库;当获取到数据读取请求,则基于所述预设elasticsearch数据库进行数据检索。能够保障数据的完整性和一致性,并提升对数据的检索能力。
Description
技术领域
本申请涉及数据存储技术领域,特别涉及一种数据存储方法、装置、设备及介质。
背景技术
在现有技术中,主流的数据库包括关系型数据库、列存储数据库以及面向文档的数据库,其中,关系型数据库模型是把复杂的数据结构归结为简单的二元关系。在关系型数据库中,对数据的操作几乎全部建立在一个或多个关系表格上,通过对这些关联的表格分类、合并、连接或选取等运算来实现数据库的管理。列存储数据库将数据存储在列族中,一个列族存储经常被一起查询的相关数据,占用内存很大,且鉴于建立在为批量分析而优化的HDFS(即Hadoop Distributed File System,分布式文件系统)上,导致读取性能不高,API(即Application Programming Interface,应用程序接口)相比其它数据库相对笨拙。而面向文档数据库以文档形式存储对于事务的支持不够友好,存储空间较大。综上,现有的数据存储方法,多采用关系型数据库横纵表,检索能力差,对于大数据量的存储也有瓶颈;nosql对事务的支持不够友好,数据的完整性和一致性较差。
发明内容
有鉴于此,本申请的目的在于提供一种数据存储方法、装置、设备及介质,能够保障数据的完整性和一致性,并提升对数据的检索能力。其具体方案如下:
第一方面,本申请公开了一种数据存储方法,包括:
获取数据写入请求;其中,所述写入请求携带写入数据;
将所述写入数据写入预设mysql数据库;
若成功写入到所述预设mysql数据库,则将所述写入数据写入预设elasticsearch数据库;
若写入到所述预设elasticsearch数据库失败,则将所述预设mysql数据库中对应的所述写入数据删除,若删除失败,则记录对应的失败信息;
定时基于所述失败信息将所述预设mysql数据库中的所述写入数据同步至所述预设elasticsearch数据库;
当获取到数据读取请求,则基于所述预设elasticsearch数据库进行数据检索。
可选的,所述定时基于所述失败信息将所述预设mysql数据库中的所述写入数据同步至所述预设elasticsearch数据库,包括:
利用预设映射关系,定时基于所述失败信息将所述预设mysql数据库中的所述写入数据同步至所述预设elasticsearch数据库。
可选的,所述预设mysql数据库中包括横表和纵表;所述横表用于存储系统默认字段的数据,所述纵表用于存储自定义字段的数据;所述预设elasticsearch数据库用于存储所述系统默认字段的数据和所述自定义字段的数据。
可选的,所述方法还包括:
获取配置信息;
基于所述配置信息在所述预设mysql数据库和所述预设elasticsearch数据库创建对应的所述自定义字段。
可选的,所述将所述写入数据写入预设mysql数据库,包括:
确定所述写入数据对应的字段名称;
基于所述字段名称将所述写入数据写入所述预设mysql数据库中对应的字段。
可选的,所述方法还包括:
生成所述写入数据对应的操作日志。
第二方面,本申请公开了一种数据存储装置,包括:
数据写入请求获取模块,用于获取数据写入请求;其中,所述写入请求携带写入数据;
mysql数据库写入模块,用于将所述写入数据写入预设mysql数据库;
elasticsearch数据库写入模块,用于若所述mysql数据库写入模块将所述写入数据成功写入到所述预设mysql数据库,则将所述写入数据写入预设elasticsearch数据库;
写入数据删除模块,用于若所述elasticsearch数据库写入模块将所述写入数据写入到所述预设elasticsearch数据库失败,则将所述预设mysql数据库中对应的所述写入数据删除,若删除失败,则记录对应的失败信息;
数据同步模块,用于定时基于所述失败信息将所述预设mysql数据库中的所述写入数据同步至所述预设elasticsearch数据库;
数据读请求处理模块,用于当获取到数据读取请求,则基于所述预设elasticsearch数据库进行数据检索。
可选的,所述预设mysql数据库中包括横表和纵表;所述横表用于存储系统默认字段的数据,所述纵表用于存储自定义字段的数据;所述预设elasticsearch数据库用于存储所述系统默认字段的数据和所述自定义字段的数据。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述的数据存储方法。
第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述的数据存储方法。
可见,本申请先获取数据写入请求;其中,所述写入请求携带写入数据,之后将所述写入数据写入预设mysql数据库,若成功写入到所述预设mysql数据库,则将所述写入数据写入预设elasticsearch数据库,若写入到所述预设elasticsearch数据库失败,则将所述预设mysql数据库中对应的所述写入数据删除,若删除失败,则记录对应的失败信息,定时基于所述失败信息将所述预设mysql数据库中的所述写入数据同步至所述预设elasticsearch数据库,当获取到数据读取请求,则基于所述预设elasticsearch数据库进行数据检索。也即,本申请中将数据成功写入mysql数据库才将数据写入到elasticsearch数据库,若写入到预设elasticsearch数据库失败,则将预设mysql数据库中对应的所述写入数据删除,若删除失败,定时基于失败信息同步预设mysql数据库中和预设elasticsearch数据库,在进行数据读取时,基于elasticsearch数据库进行检索,这样,能够保障数据的完整性和一致性,并提升对数据的检索能力。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种数据存储方法流程图;
图2为本申请公开的一种具体的数据存储方法流程图;
图3为本申请公开的一种具体的数据存储方法流程图;
图4为本申请公开的一种系统字段设置示意图;
图5为本申请公开的一种具体的新建字段示意图;
图6为本申请公开的一种去重规则配置示意图;
图7为本申请公开的一种不同业务对象对应的字段设置示意图;
图8为本申请公开的一种具体的资源流转规则配置示意图;
图9为本申请公开的一种数据存储装置结构示意图;
图10为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在现有技术中,主流的数据库包括关系型数据库、列存储数据库以及面向文档的数据库,其中,关系型数据库模型是把复杂的数据结构归结为简单的二元关系。在关系型数据库中,对数据的操作几乎全部建立在一个或多个关系表格上,通过对这些关联的表格分类、合并、连接或选取等运算来实现数据库的管理。列存储数据库将数据存储在列族中,一个列族存储经常被一起查询的相关数据,占用内存很大,且鉴于建立在为批量分析而优化的HDFS上,导致读取性能不高,API相比其它数据库相对笨拙。而面向文档数据库以文档形式存储对于事务的支持不够友好,存储空间较大。综上,现有的数据存储方法,多采用关系型数据库横纵表,检索能力差,对于大数据量的存储也有瓶颈;nosql对事务的支持不够友好,数据的完整性和一致性较差。为此,本申请实施例公开了一种数据存储方案,能够保障数据的完整性和一致性,并提升对数据的检索能力。
参见图1所示,本申请实施例公开了一种数据存储方法,包括:
步骤S11:获取数据写入请求;其中,所述写入请求携带写入数据。
步骤S12:将所述写入数据写入预设mysql数据库。
在具体的实施方式中,可以确定所述写入数据对应的字段名称;基于所述字段名称将所述写入数据写入所述预设mysql数据库中对应的字段。
并且,本实施例可以基于预设去重规则进行数据去重,若满足所述预设去重规则,则不将所述写入数据写入所述预设mysql数据库。
例如,待写入数据在数据库中存在手机号码和姓名字段相同的数据,则满足预设查重规则,则不将该条数据写入数据库。
步骤S13:若成功写入到所述预设mysql数据库,则将所述写入数据写入预设elasticsearch数据库。
步骤S14:若写入到所述预设elasticsearch数据库失败,则将所述预设mysql数据库中对应的所述写入数据删除,若删除失败,则记录对应的失败信息。
也即,本申请实施例数据的插入或者更新,先更新mysql,然后更新elasticsearch,如果elasticsearch失败,则回退mysql,如果mysql失败则不进行对应elasticsearch的更新,如一个逻辑里面更新多个业务与对象的插入或者编辑,回滚elasticsearch的方案是基于mysql的
TransactionalEventListener(phase=TransactionPhase.AFTER_ROLLBACK)。同时基于分布式锁和数据校验层,实现数据的高质量。
步骤S15:定时基于所述失败信息将所述预设mysql数据库中的所述写入数据同步至所述预设elasticsearch数据库。
在具体的实施方式中,利用预设映射关系,定时基于所述失败信息将所述预设mysql数据库中的所述写入数据同步至所述预设elasticsearch数据库。
也即,本申请实施例可以基于字段进行预设mysql数据库和预设elasticsearch数据库的映射,并且,可以设置字段对应的存储结构也即数据类型。例如,手机号码在mysql中存储结构为varchar,在elasticsearch存储为keyword。
另外,本申请实施例还可以对不同数据类型进一步配置,比如,文本类型字段的最大长度和最小长度,是否必填等。
需要指出的是,通过上述补偿任务保证在特殊情况下mysql和elasticsearch数据的最终一致性,解决了OLTP(即on-line transaction processing,联机事务处理)、OLAP(即On-Line Analytical Processing,联机分析处理)不兼容的问题。
步骤S16:当获取到数据读取请求,则基于所述预设elasticsearch数据库进行数据检索。
另外,在具体的实施方式中,本实施例可以生成所述写入数据对应的操作日志。具体的,每一次数据的变更和插入均会产生对应的log日志,记录数据变化信息,全流程的日志监控保证数据的可追溯性,解决了业务查询日志困难的问题。
可见,本申请实施例先获取数据写入请求;其中,所述写入请求携带写入数据,之后将所述写入数据写入预设mysql数据库,若成功写入到所述预设mysql数据库,则将所述写入数据写入预设elasticsearch数据库,若写入到所述预设elasticsearch数据库失败,则将所述预设mysql数据库中对应的所述写入数据删除,若删除失败,则记录对应的失败信息,定时基于所述失败信息将所述预设mysql数据库中的所述写入数据同步至所述预设elasticsearch数据库,当获取到数据读取请求,则基于所述预设elasticsearch数据库进行数据检索。也即,本申请实施例中将数据成功写入mysql数据库才将数据写入到elasticsearch数据库,若写入到预设elasticsearch数据库失败,则将预设mysql数据库中对应的所述写入数据删除,若删除失败,定时基于失败信息同步预设mysql数据库中和预设elasticsearch数据库,在进行数据读取时,基于elasticsearch数据库进行检索,这样,能够保障数据的完整性和一致性,并提升对数据的检索能力。
参见图2所示,本申请实施例公开了一种具体的数据存储方法,包括:
步骤S21:获取配置信息。
步骤S22:基于所述配置信息在预设mysql数据库和预设elasticsearch数据库创建对应的所述自定义字段。
在具体的实施方式中,所述预设mysql数据库中包括横表和纵表;所述横表用于存储系统默认字段的数据,所述纵表用于存储自定义字段的数据;所述预设elasticsearch数据库用于存储所述系统默认字段的数据和所述自定义字段的数据。
需要指出的是,本申请实施例可以支持多种业务类型的自定义字段,解决传统数据库数据类型少,且业务无关性的问题。为了用保证业务的正常流传,可以针对不同业务对象创建的系统默认字段,用户可以配置不同类型的自定义字段,并进行自定义新建或修改,同时设置不同数据类型的配置。具体可以基于类数据库的DDL((Data DefinitionLanguage,数据库模式定义语言)的alter table可实现动态自定义字段的扩展,以解决数据库新建、修改扩展字段及字段约束方案过重的问题。
步骤S23:获取数据写入请求;其中,所述写入请求携带写入数据;
步骤S24:将所述写入数据写入预设mysql数据库;
步骤S25:若成功写入到所述预设mysql数据库,则将所述写入数据写入预设elasticsearch数据库;
步骤S26:若写入到所述预设elasticsearch数据库失败,则将所述预设mysql数据库中对应的所述写入数据删除,若删除失败,则记录对应的失败信息;
步骤S27:定时基于所述失败信息将所述预设mysql数据库中的所述写入数据同步至所述预设elasticsearch数据库;
步骤S28:当获取到数据读取请求,则基于所述预设elasticsearch数据库进行数据检索。
可见,本申请实施例通过多数据源存储,即mysql数据库和elasticsearch数据库存储,多数据源存储,利用mysql事务支持以及elasticsearch的高效索引机制,提升检索系效率和以及实现字段的高扩展。
具体的,本申请实施例先搭建mysql(分表)和elasticsearch(分索引)的基础数据存储组件,基于字段构建mysql和elasticsearch的映射关系,新建不同的业务对象模板,并设定初始化系统字段,在配置后台新建不同类型的自定义字段,在用户前端新建不同的业务对象数据,在用户前端对于业务对象不同的字段类型进行检索,展示。例如,参见图3所示,图3为本申请实施例公开的一种具体的数据存储方法流程图。可以基于预设标准配置模板进行mysql和elasticsearch的配置,包括系统默认字段、去重规则等,用户可以修改配置,并创建自定义字段。并对前述逻辑进行封装适配,保证上层的业务逻辑调用的高可用性,减轻调用的复杂度。例如,参见图4所示,图4为本申请公开的一种具体的系统字段设置示意图,参见图5所示,图5为本申请实施例公开的一种具体的新建字段示意图,参见图6所示,图6为本申请实施例公开的一种去重规则配置示意图。针对线索、客户、商机、联系人四个业务对象,对每个对象系统初始不同的系统字段,并且设置对应的资源流转规则,系统管理人员可在配置后台进行自定义字段的设置,销售人员可在销售端进行检索和查看不同业务对象的系统字段和自定义字段。参见图7所示,图7为本申请实施例公开的一种不同业务对象对应的字段设置示意图。参见图8所示,图8为本申请实施例公开的一种具体的资源流转规则配置示意图。
参见图9所示,本申请实施例公开了一种数据存储装置,包括:
数据写入请求获取模块11,用于获取数据写入请求;其中,所述写入请求携带写入数据;
mysql数据库写入模块12,用于将所述写入数据写入预设mysql数据库;
elasticsearch数据库写入模块13,用于若所述mysql数据库写入模块将所述写入数据成功写入到所述预设mysql数据库,则将所述写入数据写入预设elasticsearch数据库;
写入数据删除模块14,用于若所述elasticsearch数据库写入模块将所述写入数据写入到所述预设elasticsearch数据库失败,则将所述预设mysql数据库中对应的所述写入数据删除,若删除失败,则记录对应的失败信息;
数据同步模块15,用于定时基于所述失败信息将所述预设mysql数据库中的所述写入数据同步至所述预设elasticsearch数据库;
数据读请求处理模块16,用于当获取到数据读取请求,则基于所述预设elasticsearch数据库进行数据检索。
可见,本申请实施例先获取数据写入请求;其中,所述写入请求携带写入数据,之后将所述写入数据写入预设mysql数据库,若成功写入到所述预设mysql数据库,则将所述写入数据写入预设elasticsearch数据库,若写入到所述预设elasticsearch数据库失败,则将所述预设mysql数据库中对应的所述写入数据删除,若删除失败,则记录对应的失败信息,定时基于所述失败信息将所述预设mysql数据库中的所述写入数据同步至所述预设elasticsearch数据库,当获取到数据读取请求,则基于所述预设elasticsearch数据库进行数据检索。也即,本申请实施例中将数据成功写入mysql数据库才将数据写入到elasticsearch数据库,若写入到预设elasticsearch数据库失败,则将预设mysql数据库中对应的所述写入数据删除,若删除失败,定时基于失败信息同步预设mysql数据库中和预设elasticsearch数据库,在进行数据读取时,基于elasticsearch数据库进行检索,这样,能够保障数据的完整性和一致性,并提升对数据的检索能力。
其中,所述预设mysql数据库中包括横表和纵表;所述横表用于存储系统默认字段的数据,所述纵表用于存储自定义字段的数据;所述预设elasticsearch数据库用于存储所述系统默认字段的数据和所述自定义字段的数据。
在具体的实施方式中,所述数据同步模块15,具体用于利用预设映射关系,定时基于所述失败信息将所述预设mysql数据库中的所述写入数据同步至所述预设elasticsearch数据库。
所述装置还包括自定义字段创建模块,用于获取配置信息;基于所述配置信息在所述预设mysql数据库和所述预设elasticsearch数据库创建对应的所述自定义字段。
并且,所述mysql数据库写入模块12,具体用于确定所述写入数据对应的字段名称;基于所述字段名称将所述写入数据写入所述预设mysql数据库中对应的字段。
所述装置还包括日志模块,用于生成所述写入数据对应的操作日志。
参见图10所述,本申请实施例公开了一种电子设备20,包括处理器21和存储器22;其中,所述存储器22,用于保存计算机程序;所述处理器21,用于执行所述计算机程序,以实现前述实施例公开的数据存储方法。
关于上述数据存储方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
并且,所述存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,存储方式可以是短暂存储或者永久存储。
另外,所述电子设备20还包括电源23、通信接口24、输入输出接口25和通信总线26;其中,所述电源23用于为所述电子设备20上的各硬件设备提供工作电压;所述通信接口24能够为所述电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;所述输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
进一步的,本申请实施例还公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的数据存储方法。
关于上述数据存储方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种数据存储方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种数据存储方法,其特征在于,包括:
获取数据写入请求;其中,所述写入请求携带写入数据;
将所述写入数据写入预设mysql数据库;
若成功写入到所述预设mysql数据库,则将所述写入数据写入预设elasticsearch数据库;
若写入到所述预设elasticsearch数据库失败,则将所述预设mysql数据库中对应的所述写入数据删除,若删除失败,则记录对应的失败信息;
定时基于所述失败信息将所述预设mysql数据库中的所述写入数据同步至所述预设elasticsearch数据库;
当获取到数据读取请求,则基于所述预设elasticsearch数据库进行数据检索。
2.根据权利要求1所述的数据存储方法,其特征在于,所述定时基于所述失败信息将所述预设mysql数据库中的所述写入数据同步至所述预设elasticsearch数据库,包括:
利用预设映射关系,定时基于所述失败信息将所述预设mysql数据库中的所述写入数据同步至所述预设elasticsearch数据库。
3.根据权利要求1所述的数据存储方法,其特征在于,所述预设mysql数据库中包括横表和纵表;所述横表用于存储系统默认字段的数据,所述纵表用于存储自定义字段的数据;所述预设elasticsearch数据库用于存储所述系统默认字段的数据和所述自定义字段的数据。
4.根据权利要求3所述的数据存储方法,其特征在于,还包括:
获取配置信息;
基于所述配置信息在所述预设mysql数据库和所述预设elasticsearch数据库创建对应的所述自定义字段。
5.根据权利要求1所述的数据存储方法,其特征在于,所述将所述写入数据写入预设mysql数据库,包括:
确定所述写入数据对应的字段名称;
基于所述字段名称将所述写入数据写入所述预设mysql数据库中对应的字段。
6.根据权利要求1至5任一项所述的数据存储方法,其特征在于,还包括:
生成所述写入数据对应的操作日志。
7.一种数据存储装置,其特征在于,包括:
数据写入请求获取模块,用于获取数据写入请求;其中,所述写入请求携带写入数据;
mysql数据库写入模块,用于将所述写入数据写入预设mysql数据库;
elasticsearch数据库写入模块,用于若所述mysql数据库写入模块将所述写入数据成功写入到所述预设mysql数据库,则将所述写入数据写入预设elasticsearch数据库;
写入数据删除模块,用于若所述elasticsearch数据库写入模块将所述写入数据写入到所述预设elasticsearch数据库失败,则将所述预设mysql数据库中对应的所述写入数据删除,若删除失败,则记录对应的失败信息;
数据同步模块,用于定时基于所述失败信息将所述预设mysql数据库中的所述写入数据同步至所述预设elasticsearch数据库;
数据读请求处理模块,用于当获取到数据读取请求,则基于所述预设elasticsearch数据库进行数据检索。
8.根据权利要求7所述的数据存储装置,其特征在于,所述预设mysql数据库中包括横表和纵表;所述横表用于存储系统默认字段的数据,所述纵表用于存储自定义字段的数据;所述预设elasticsearch数据库用于存储所述系统默认字段的数据和所述自定义字段的数据。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至6任一项所述的数据存储方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的数据存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011604133.1A CN112527911B (zh) | 2020-12-29 | 2020-12-29 | 一种数据存储方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011604133.1A CN112527911B (zh) | 2020-12-29 | 2020-12-29 | 一种数据存储方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112527911A true CN112527911A (zh) | 2021-03-19 |
CN112527911B CN112527911B (zh) | 2022-12-02 |
Family
ID=74977091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011604133.1A Active CN112527911B (zh) | 2020-12-29 | 2020-12-29 | 一种数据存储方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112527911B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000123038A (ja) * | 1998-10-15 | 2000-04-28 | Mitsubishi Materials Corp | データベース装置、データベースアクセス方法及びデータベースアクセスプログラムを記録した記録媒体 |
CN105589944A (zh) * | 2015-12-17 | 2016-05-18 | 河南思维自动化设备股份有限公司 | Lkj基础数据填写表反向数据的自动推算方法 |
US20170091041A1 (en) * | 2015-09-25 | 2017-03-30 | Alibaba Group Holding Limited | Method and apparatus for transferring data between databases |
CN109739687A (zh) * | 2018-12-03 | 2019-05-10 | 国云科技股份有限公司 | 一种基于Elasticsearch的快照管理系统及方法 |
CN110400067A (zh) * | 2019-07-18 | 2019-11-01 | 福建威盾科技集团有限公司 | 一种通用资产管理的方法及系统 |
CN111460023A (zh) * | 2020-04-29 | 2020-07-28 | 上海东普信息科技有限公司 | 基于Elasticsearch的业务数据处理方法、装置、设备及存储介质 |
CN111475515A (zh) * | 2020-03-05 | 2020-07-31 | 深圳壹账通智能科技有限公司 | 失败任务的补偿管理方法、装置、计算机设备及存储介质 |
CN111914066A (zh) * | 2020-08-17 | 2020-11-10 | 山东合天智汇信息技术有限公司 | 多源数据库全局搜索方法及系统 |
-
2020
- 2020-12-29 CN CN202011604133.1A patent/CN112527911B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000123038A (ja) * | 1998-10-15 | 2000-04-28 | Mitsubishi Materials Corp | データベース装置、データベースアクセス方法及びデータベースアクセスプログラムを記録した記録媒体 |
US20170091041A1 (en) * | 2015-09-25 | 2017-03-30 | Alibaba Group Holding Limited | Method and apparatus for transferring data between databases |
CN105589944A (zh) * | 2015-12-17 | 2016-05-18 | 河南思维自动化设备股份有限公司 | Lkj基础数据填写表反向数据的自动推算方法 |
CN109739687A (zh) * | 2018-12-03 | 2019-05-10 | 国云科技股份有限公司 | 一种基于Elasticsearch的快照管理系统及方法 |
CN110400067A (zh) * | 2019-07-18 | 2019-11-01 | 福建威盾科技集团有限公司 | 一种通用资产管理的方法及系统 |
CN111475515A (zh) * | 2020-03-05 | 2020-07-31 | 深圳壹账通智能科技有限公司 | 失败任务的补偿管理方法、装置、计算机设备及存储介质 |
CN111460023A (zh) * | 2020-04-29 | 2020-07-28 | 上海东普信息科技有限公司 | 基于Elasticsearch的业务数据处理方法、装置、设备及存储介质 |
CN111914066A (zh) * | 2020-08-17 | 2020-11-10 | 山东合天智汇信息技术有限公司 | 多源数据库全局搜索方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112527911B (zh) | 2022-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9678969B2 (en) | Metadata updating method and apparatus based on columnar storage in distributed file system, and host | |
CN105630864B (zh) | 存储行标识符值的字典的强制排序 | |
EP3047397B1 (en) | Mirroring, in memory, data from disk to improve query performance | |
EP2874077B1 (en) | Stateless database cache | |
CN111414403B (zh) | 数据访问方法和装置、数据存储方法和装置 | |
US20170255708A1 (en) | Index structures for graph databases | |
CN107977396B (zh) | 一种KeyValue数据库的数据表的更新方法与表数据更新装置 | |
US10762068B2 (en) | Virtual columns to expose row specific details for query execution in column store databases | |
US9646004B2 (en) | Hierarchical database report generation with automated query generation for placeholders | |
US11150996B2 (en) | Method for optimizing index, master database node and subscriber database node | |
CN110083579A (zh) | 增量数据同步的方法、装置、计算机设备及计算机存储介质 | |
US20140279842A1 (en) | Inferring a sequence of editing operations to facilitate merging versions of a shared document | |
CN111680030A (zh) | 数据融合方法及装置,基于元信息的数据处理方法和装置 | |
CN111639087B (zh) | 数据库中数据更新方法、装置和电子设备 | |
CN112527911B (zh) | 一种数据存储方法、装置、设备及介质 | |
CN113918535A (zh) | 一种数据读取方法、装置、设备及存储介质 | |
CN114816247A (zh) | 一种逻辑数据获取方法及装置 | |
US11789971B1 (en) | Adding replicas to a multi-leader replica group for a data set | |
CN114840497A (zh) | 一种数据库的行迁移预处理方法、系统、装置及存储介质 | |
CN114297196A (zh) | 元数据存储方法、装置、电子设备及存储介质 | |
CN114116907A (zh) | 一种数据库的同步方法、装置、电子设备和存储介质 | |
KR20210033880A (ko) | 인덱스 리두 로그를 이용한 인덱스 복구를 위한 방법, 서버 및 컴퓨터 판독가능 저장매체 | |
JP2016149049A (ja) | 情報処理装置、情報処理システム、ペアデータ更新方法及びプログラム | |
KR101573663B1 (ko) | 데이터 통합 방법 및 시스템 | |
CN112685431B (zh) | 异步缓存方法、装置、系统、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |