CN111026764B - 一种数据存储方法、装置、电子产品及存储介质 - Google Patents

一种数据存储方法、装置、电子产品及存储介质 Download PDF

Info

Publication number
CN111026764B
CN111026764B CN201911282089.4A CN201911282089A CN111026764B CN 111026764 B CN111026764 B CN 111026764B CN 201911282089 A CN201911282089 A CN 201911282089A CN 111026764 B CN111026764 B CN 111026764B
Authority
CN
China
Prior art keywords
file
data
aof
database
sql
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.)
Active
Application number
CN201911282089.4A
Other languages
English (en)
Other versions
CN111026764A (zh
Inventor
杨琪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Mihayou Network Science And Technology Co ltd
Original Assignee
Shanghai Mihayou Network Science And Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Mihayou Network Science And Technology Co ltd filed Critical Shanghai Mihayou Network Science And Technology Co ltd
Priority to CN201911282089.4A priority Critical patent/CN111026764B/zh
Publication of CN111026764A publication Critical patent/CN111026764A/zh
Application granted granted Critical
Publication of CN111026764B publication Critical patent/CN111026764B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明实施例公开了一种数据存储方法、装置、电子产品及存储介质,其中该方法包括:从应用服务器获取应用数据,将所述应用数据写入主Redis数据库,以使所述主Redis数据库将所述应用数据同步至从Redis数据库;开启所述从Redis数据库的AOF功能,以使所述从Redis数据库根据同步的应用数据生成AOF文件;将所述AOF文件转化为SQL文件,并将所述SQL文件发送至MySQL数据库,以使所述MySQL数据库导入所述SQL文件内的数据。本发明实施例提供的一种数据存储方法、装置、电子产品及存储介质,实现了高性能和高可靠性的数据存储。

Description

一种数据存储方法、装置、电子产品及存储介质
技术领域
本发明实施例涉及计算机技术,尤其涉及一种数据存储方法、装置、电子产品及存储介质。
背景技术
现有技术中,Redis数据库是一种key-value存储系统,可支持存储多种value类型,例如包括字符串(string)、链表(list)、集合(set)和哈希值(hash)等类型,且上述数据类型都支持push/pop、add/remove以及取交集、并集和差集及等原子操作。此外,Redis数据库为基于内存的数据存储系统,可支持突发流量数据的存储情况,存储性能较高。
MySQL数据库是一种建立在关系数据库模型基础上的数据库,其中关系数据库将数据保存在不同的具有关联关系的表中。MySQL数据库借助于集合代数等概念和方法来处理数据库中的数据,同时也是一个被组织成一组拥有正式描述性的表格,该形式的表格作用的实质是装载着数据项的特殊收集体,这些表格中的数据能以许多不同的方式被存取或重新召集而不需要重新组织数据库表格。因此,MySQL数据库的可靠性高,安全性好,且可还原任意时刻数据。
现有技术中,Redis数据库的缺点至少包括,可靠性较低,不能还原任意时刻数据;MySQL数据库的缺点至少包括,性能较低,面对突发流量数据容易出现阻塞现象。
发明内容
有鉴于此,本发明实施例提供了一种数据存储方法、装置、电子产品及存储介质,实现了高性能和高可靠性的数据存储。
第一方面,本发明实施例提供了一种数据存储方法,包括:
从应用服务器获取应用数据,将所述应用数据写入主Redis数据库,以使所述主Redis数据库将所述应用数据同步至从Redis数据库;
开启所述从Redis数据库的AOF功能,以使所述从Redis数据库根据同步的应用数据生成AOF文件;
将所述AOF文件转化为SQL文件,并将所述SQL文件发送至MySQL数据库,以使所述MySQL数据库导入所述SQL文件内的数据。
第二方面,本发明实施例提供了一种数据存储装置,包括:
数据写入模块,用于从应用服务器获取应用数据,将所述应用数据写入主Redis数据库,以使所述主Redis数据库将所述应用数据同步至从Redis数据库;
AOF功能开启模块,用于开启所述从Redis数据库的AOF功能,以使所述从Redis数据库根据同步的应用数据生成AOF文件;
文件转化发送模块,用于将所述AOF文件转化为SQL文件,并将所述SQL文件发送至MySQL数据库,以使所述MySQL数据库导入所述SQL文件内的数据。
第三方面,本发明实施例提供了一种电子产品,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任一实施例所述的数据存储方法。
第四方面,本发明实施例提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任一实施例所述的数据存储方法。
本发明实施例提供的一种数据存储方法、装置、电子产品及存储介质,数据存储装置从应用服务器获取应用数据,并将应用数据写入主Redis数据库;主Redis数据库在写入应用数据的同时,可将应用数据同步至从Redis数据库;数据存储装置可开启从Redis数据库的AOF功能,以使从Redis数据库可根据同步的应用数据生成AOF文件;数据存储装置可将AOF文件转化为SQL文件,并将SQL文件发送至MySQL数据库,以使MySQL数据库导入SQL文件内的数据。
通过将应用数据写入主Redis数据库,可以支持应用数据突发流量时的存储情况,提高存储性能;通过开启从Redis数据库的AOF功能,可以在保证主Redis数据库性能基础上,实现应用数据的持久化;通过将AOF文件转化为SQL文件,并将SQL文件发送至MySQL数据库,可以实现限流写入MySQL数据库,避免了MySQL数据库阻塞,且提高了应用数据的安全可靠性,也可实现任意时刻数据应用数据的还原。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种数据存储方法流程图;
图2是本发明实施例一提供的一种数据存储方法中应用数据的数据流向示意图;
图3是本发明实施例二提供的一种数据存储装置结构示意图;
图4是本发明实施例三提供的一种电子产品的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,以下将参照本发明实施例中的附图,通过实施方式清楚、完整地描述本发明的技术方案,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。下述各实施例中,每个实施例中同时提供了可选特征和示例,实施例中记载的各个特征可进行组合,形成多个可选方案,不应将每个编号的实施例仅视为一个技术方案。
实施例一
图1是本发明实施例一提供的一种数据存储方法流程图,本实施例可适用于应用数据的存储情况,例如适用于对游戏应用的玩家变动数据进行数据存储的情况。该方法可以由本发明实施例提供的数据存储装置实现,其中数据存储装置可由硬件和/或软件构成,且数据存储装置可集成于本发明实施例提供的电子产品中。
参见图1,该数据存储方法,包括如下步骤:
S110、从应用服务器获取应用数据,将应用数据写入主Redis数据库,以使主Redis数据库将应用数据同步至从Redis数据库。
本发明实施例提供的数据存储方法可以由数据存储装置实施,而数据存储装置可以为由不同功能的代码程序构成的虚拟装置,可以将其理解为实现数据存储的软件工具。数据存储装置可通过通信接口与应用服务器进行通信连接,并可通过该通信接口获取应用服务器的应用数据。在获取应用数据后,可通过向主Redis数据库发送写命令的方式,将应用数据写入主Redis数据库。主Redis数据库在根据写命令写入应用数据的同时,还可以将应用数据同步至从Redis数据库。
其中,主Redis数据库可以向任意数量的从Redis数据库同步应用数据,且从Redis数据库也可以是关联其他从Redis数据库的主Redis数据库。主Redis数据库将应用数据同步至从Redis数据库的过程,不仅可以包括将应用数据同步至从Redis数据库的过程,还可以包括将应用数据同步至从Redis数据库的从Redis数据库的过程。且可根据发布/订阅机制实现从Redis数据库同步主Redis数据库数据,使得可以实现一部分从Redis数据库选择性的同步主Redis数据库数据。
其中,主Redis数据库将应用数据同步至从Redis数据库的过程,可以是增量复制的过程,该过程并非是从Redis数据库全量复制主Redis数据库中数据的过程,而是主Redis数据库每执行一个写命令就会向从Redis数据库发送相同的写命令,从服务器接收并执行收到的写命令的过程。
由于应用数据存在突发流量的情况,通过将应用数据写入存储性能更好的主Redis数据库,可以支持应用数据突发流量时的存储,很大程度上避免了存储阻塞的发生。
S120、开启从Redis数据库的AOF功能,以使从Redis数据库根据同步的应用数据生成AOF文件。
数据存储装置除了在将应用数据写入主Redis数据库后,开启从Redis数据库的AOF功能之外,还可以在将应用数据写入主Redis数据库之前,提前开启从Redis数据库的AOF功能。
其中,通过开启从Redis数据库的AOF功能,可实现应用数据的持久化。从Redis数据库的AOF持久化,可以认为是从Redis数据库追加写命令到AOF文件,可基本实现应用数据的无损存储。开启AOF功能虽然可为Redis数据库提供了异常情况下的数据恢复机制,但很有可能造成存储性能卡顿,影响处理速度。因此,通过设置主Redis数据库关闭AOF功能,从Redis数据库开启AOF功能,不仅可以使存储性能最大化,还可以避免应用数据损坏。
其中,从Redis数据库追加写命令到AOF文件的过程,可以是现将写命令追加到缓冲区aof_buf;根据不同的同步策略将aof_buf中的内容同步到AOF文件。其中,同步策略可以包括always、everysec和no三种;当同步策略为always时,就意味着每条写命令都会同步写入AOF文件,会造成频繁I/O调用;当同步策略为no时,就将写AOF文件的时机交给了用户操作,这在很大程度上牺牲了AOF数据无损的优势;因此,一般可将同步策略设置为everysec,从Redis数据库可默认每隔一秒进行一次fsync调用,将缓冲区中的写命令写入AOF文件。
从Redis数据库追加写命令到AOF文件,会导致文件增长较快,过大的AOF文件不仅会影响从Redis数据库的正常运行,也会导致数据恢复需要的时间过长。因此,需要间歇性的重写(bgrewrite)AOF文件。文件重写可以认为是把写命令同步到新的AOF文件,而不对旧的AOF文件进行任何读取和写入操作的过程。
S130、将AOF文件转化为SQL文件,并将SQL文件发送至MySQL数据库,以使MySQL数据库导入SQL文件内的数据。
其中,实现数据存储的代码程序中可包含有将AOF文件转化为SQL文件的解析程序,通过该解析程序可解析AOF文件,并生成SQL文件。其中,SQL文件由SQL语句组成,SQL语句是一种高级的非过程化的编程语言。其中,MySQL数据库导入SQL文件内的数据的方式可以包括以及下几种:1.没有登陆MySQL数据库的时候以文件的形式导入mysql数据,执行命令例如为mysql-uroot-p</www/example/××.sql test#,其中test是MySQL数据库的名称,××为SQL文件的名称;2.登陆MySQL数据库后,可以使用的source命令,执行命令例如为source</www/example/××.sql test;3.登陆MySQL数据库后,可以使用load data方式导入数据,执行命令例如为load data local infile"D:/data.sql"into table test.××fields terminated by":"lines terminated by"\n",其中local的意思是把本地文件上传到MySQL数据库服务器并加载;4.利用mysqlimport命令导入数据,执行命令例如为mysqlimport-h 192.168.114.129-u root-p--fields-terminated=":"--local testD:/××.sql。上述MySQL数据库导入SQL文件内的数据的方式仅为示例性举例,其他SQL文件数据的导入方法同样可适用于此,在此不做穷举。
可选的,将AOF文件转化为SQL文件,包括:对AOF文件进行解析,得到解析结果;根据解析结果生成SQL文件。
进一步的,对AOF文件进行解析,得到解析结果,包括:当AOF文件达到预设大小时,或每隔预设周期,对AOF文件中的写命令进行解析,得到主Redis数据库同步的应用数据,并将解析得到的应用数据作为解析结果。
其中,当AOF文件达到预设大小时,从Redis数据库可以进行文件重写,也就是可以将写命令同步到新的AOF文件,而不对旧的AOF文件进行写入操作。此时,数据存储装置可以对旧的AOF文件进行解析,得到旧的AOF文件中由主Redis数据库发送至从Redis数据库的写指令,进而得到写指令中要求写入的应用数据。或者,数据存储装置还可以每隔预设周期对旧的AOF文件进行解析,得到旧的AOF文件中由主Redis数据库发送至从Redis数据库的写指令,进而得到写指令中要求写入的应用数据。其中,预设大小和预设周期皆可以根据数据存储的实际需求进行设置,以实现最佳的数据存储速率。
通过设置AOF文件的预设大小,或者设置AOF文件解析的预设周期,可以在面对应用数据突发流量时,可以在一定程度上保证数据限流写入MySQL数据库,以保护MySQL数据库,避免发生MySQL数据库阻塞的情况。
进一步的,根据解析结果生成SQL文件,包括:将解析结果添加至预设SQL语句模板的预设位置,得到完整的SQL语句,并将SQL语句保存为SQL文件。
解析AOF文件后,可以得到多条应用数据,可分别将每条应用数据添加至预设SQL语句模板的预设位置,以得到多条完整的SQL语句。将多条完整的SQL语句可保存为一个SQL文件。其中,预设SQL语句模板可以是将数据写入MySQL数据库的语句模板,通过将应用数据添加至预设SQL语句模板的预设位置,可以实现MySQL数据库执行完整的SQL语句时,将预设位置处的应用数据写入数据库。通过将应用数据写入MySQL数据库,可提高应用数据的安全可靠性,也可实现任意时刻数据应用数据的还原。
可选的,当应用为游戏类应用时,应用数据为基于玩家操作触发的变动数据。其中,当游戏服务器接收到玩家终端的操作时,会相应更新玩家用户的一些数据,例如账户信息数据或游戏等级数据等等。可以将更新的玩家数据(即变动数据)作为应用数据进行存储。此外,应用还可以为其他类的应用程序,例如媒体播放类、生活健康类和办公设计类应用软件等,在此不做穷举。
图2是本发明实施例一提供的一种数据存储方法中应用数据的数据流向示意图。参见图2,应用为游戏类应用,应用数据为基于玩家操作触发的变动数据,玩家变动数据的存储过程中,数据流向可以为:
玩家终端接收玩家操作指令,生成玩家变动数据,并将玩家变动数据发送至相应的游戏服务器;数据存储装置可以获取游戏服务器内的玩家变动数据,并写入主Redis(图中Redis master)数据库;主Redis数据库将应用数据同步至从Redis(图中Redis slave)数据库;数据存储装置还可以提前开启从Redis数据库的AOF功能,以使从Redis数据库根据主Redis数据库同步的应用数据生成AOF文件;数据存储装置还可以将从Redis数据库生成的AOF文件转化为SQL文件,并将SQL文件发送至MySQL数据库,以使MySQL数据库导入SQL文件内的数据。
当玩家变动数据出现突发流量的情况时,通过将应用数据写入主Redis数据库,可以支持数据突发流量时的存储情况,提高存储性能;通过开启从Redis数据库的AOF功能,可以在保证主Redis数据库性能基础上,实现玩家变动数据的持久化;通过将AOF文件转化为SQL文件,并将SQL文件发送至MySQL数据库,可以实现限流写入MySQL数据库,避免了MySQL数据库阻塞,且提高了玩家变动数据的安全可靠性,也可实现任意时刻数据玩家数据的还原。
本实施例提供的数据存储方法,从应用服务器获取应用数据,并将应用数据写入主Redis数据库;主Redis数据库在写入应用数据的同时,可将应用数据同步至从Redis数据库;开启从Redis数据库的AOF功能,以使从Redis数据库可根据同步的应用数据生成AOF文件;将AOF文件转化为SQL文件,并将SQL文件发送至MySQL数据库,以使MySQL数据库导入SQL文件内的数据。
通过将应用数据写入主Redis数据库,可以支持应用数据突发流量时的存储情况,提高存储性能;通过开启从Redis数据库的AOF功能,可以在保证主Redis数据库性能基础上,实现应用数据的持久化;通过将AOF文件转化为SQL文件,并将SQL文件发送至MySQL数据库,可以实现限流写入MySQL数据库,避免了MySQL数据库阻塞,且提高了应用数据的安全可靠性,也可实现任意时刻数据应用数据的还原。
实施例二
图3是本发明实施例二提供的一种数据存储装置结构示意图,本实施例可适用于数据存储的情况。
参见图3,本实施例中数据存储装置,包括:
数据写入模块310,用于从应用服务器获取应用数据,将应用数据写入主Redis数据库,以使主Redis数据库将应用数据同步至从Redis数据库;
AOF功能开启模块320,用于开启从Redis数据库的AOF功能,以使从Redis数据库根据同步的应用数据生成AOF文件;
文件转化发送模块330,用于将AOF文件转化为SQL文件,并将SQL文件发送至MySQL数据库,以使MySQL数据库导入SQL文件内的数据。
可选的,AOF功能开启模块,具体用于:将从Redis数据库的appendonly参数设置为开启AOF功能状态。
可选的,文件转化发送模块,包括:
AOF文件解析子模块,用于对AOF文件进行解析,得到解析结果;
SQL文件生成子模块,用于根据解析结果生成SQL文件。
进一步的,AOF文件解析子模块,具体用于:当AOF文件达到预设大小时,或每隔预设周期,对AOF文件中的写命令进行解析,得到主Redis数据库同步的应用数据,并将解析得到的应用数据作为解析结果。
进一步的,SQL文件生成子模块,具体用于:将解析结果添加至预设SQL语句模板的预设位置,得到完整的SQL语句,并将SQL语句保存为SQL文件。
可选的,当应用为游戏类应用时,应用数据为基于玩家操作触发的变动数据。
本实施例提供的数据存储装置,与上述实施例提出的数据存储方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例与上述实施例具有相同的有益效果。
实施例三
本实施例提供了一种电子产品,本实施例可适用于数据存储的情况,例如适用于对游戏应用的玩家变动数据进行数据存储的情况。
图4是本发明实施例三提供的一种电子产品的结构示意图。参见图4,该电子产品包括:
一个或多个处理器410;
存储器420,用于存储一个或多个程序;
当一个或多个程序被一个或多个处理器410执行,使得一个或多个处理器410实现如上述实施例提出的数据存储方法。
图4中以一个处理器410为例;处理器410和存储器420可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储器420作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的数据存储方法对应的程序指令/模块。处理器410通过运行存储在存储器420中的软件程序、指令以及模块,从而执行电子产品的各种功能应用以及数据处理,即实现上述的数据存储方法。
存储器420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作装置、功能所需的应用程序;存储数据区可存储根据电子产品的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器420可进一步包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至电子产品。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本实施例提出的电子产品与上述实施例提出的数据存储方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例与上述实施例具有相同的有益效果。
实施例四
本实施例提供一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例提出的数据存储方法。
本实施例提出的存储介质与上述实施例提出的数据存储方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例与上述实施例具有相同的有益效果。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种数据存储方法,其特征在于,包括:
从应用服务器获取应用数据,将所述应用数据写入主Redis数据库,以使所述主Redis数据库将所述应用数据同步至从Redis数据库;
开启所述从Redis数据库的AOF功能,以使所述从Redis数据库根据同步的应用数据生成AOF文件;
将所述AOF文件转化为SQL文件,并将所述SQL文件发送至MySQL数据库,以使所述MySQL数据库导入所述SQL文件内的数据。
2.根据权利要求1所述的方法,其特征在于,所述开启所述从Redis数据库的AOF功能,包括:将所述从Redis数据库的appendonly参数设置为开启AOF功能状态。
3.根据权利要求1所述的方法,其特征在于,所述将所述AOF文件转化为SQL文件,包括:对所述AOF文件进行解析,得到解析结果;根据所述解析结果生成SQL文件。
4.根据权利要求3所述的方法,其特征在于,所述对所述AOF文件进行解析,得到解析结果,包括:
当所述AOF文件达到预设大小时,或每隔预设周期,对所述AOF文件中的写命令进行解析,得到所述主Redis数据库同步的应用数据,并将解析得到的应用数据作为解析结果。
5.根据权利要求3所述的方法,其特征在于,所述根据所述解析结果生成SQL文件,包括:将所述解析结果添加至预设SQL语句模板的预设位置,得到完整的SQL语句,并将所述SQL语句保存为SQL文件。
6.根据权利要求1所述的方法,其特征在于,当应用为游戏类应用时,所述应用数据为基于玩家操作触发的变动数据。
7.一种数据存储装置,其特征在于,包括:
数据写入模块,用于从应用服务器获取应用数据,将所述应用数据写入主Redis数据库,以使所述主Redis数据库将所述应用数据同步至从Redis数据库;
AOF功能开启模块,用于开启所述从Redis数据库的AOF功能,以使所述从Redis数据库根据同步的应用数据生成AOF文件;
文件转化发送模块,用于将所述AOF文件转化为SQL文件,并将所述SQL文件发送至MySQL数据库,以使所述MySQL数据库导入所述SQL文件内的数据。
8.根据权利要求7所述的装置,其特征在于,所述文件转化发送模块,包括:
AOF文件解析子模块,用于对所述AOF文件进行解析,得到解析结果;
SQL文件生成子模块,用于根据所述解析结果生成SQL文件。
9.一种电子产品,其特征在于,所述电子产品包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的数据存储方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的数据存储方法。
CN201911282089.4A 2019-12-13 2019-12-13 一种数据存储方法、装置、电子产品及存储介质 Active CN111026764B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911282089.4A CN111026764B (zh) 2019-12-13 2019-12-13 一种数据存储方法、装置、电子产品及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911282089.4A CN111026764B (zh) 2019-12-13 2019-12-13 一种数据存储方法、装置、电子产品及存储介质

Publications (2)

Publication Number Publication Date
CN111026764A CN111026764A (zh) 2020-04-17
CN111026764B true CN111026764B (zh) 2023-08-11

Family

ID=70208451

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911282089.4A Active CN111026764B (zh) 2019-12-13 2019-12-13 一种数据存储方法、装置、电子产品及存储介质

Country Status (1)

Country Link
CN (1) CN111026764B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113139081B (zh) * 2021-04-27 2023-10-27 中山亿联智能科技有限公司 高效率低延迟上报读取用户在线播放信息的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105808643A (zh) * 2016-02-25 2016-07-27 浪潮通信信息系统有限公司 一种Redis内存数据库刷新的方法
CN105989160A (zh) * 2015-03-03 2016-10-05 大唐软件技术股份有限公司 一种针对Redis数据库的内存数据持久化方法和装置
CN106506605A (zh) * 2016-10-14 2017-03-15 华南理工大学 一种基于微服务架构的SaaS应用构建方法
CN108235051A (zh) * 2017-12-29 2018-06-29 福建中金在线信息科技有限公司 直播系统及直播数据的存储和获取方法
CN108614876A (zh) * 2018-04-26 2018-10-02 武汉斗鱼网络科技有限公司 一种基于Redis数据库的系统和数据处理方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11042328B2 (en) * 2015-06-01 2021-06-22 Samsung Electronics Co., Ltd. Storage apparatus and method for autonomous space compaction

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105989160A (zh) * 2015-03-03 2016-10-05 大唐软件技术股份有限公司 一种针对Redis数据库的内存数据持久化方法和装置
CN105808643A (zh) * 2016-02-25 2016-07-27 浪潮通信信息系统有限公司 一种Redis内存数据库刷新的方法
CN106506605A (zh) * 2016-10-14 2017-03-15 华南理工大学 一种基于微服务架构的SaaS应用构建方法
CN108235051A (zh) * 2017-12-29 2018-06-29 福建中金在线信息科技有限公司 直播系统及直播数据的存储和获取方法
CN108614876A (zh) * 2018-04-26 2018-10-02 武汉斗鱼网络科技有限公司 一种基于Redis数据库的系统和数据处理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
韦立.基于Redis自适应迁移策略的研究.《中国优秀硕士学位论文全文数据库信息科技辑》.2019,第10-35页. *

Also Published As

Publication number Publication date
CN111026764A (zh) 2020-04-17

Similar Documents

Publication Publication Date Title
JP6777673B2 (ja) インプレーススナップショット
CN106933703B (zh) 一种数据库数据备份的方法、装置及电子设备
CN107402963B (zh) 搜索数据的构建方法、增量数据的推送方法及装置和设备
CN107391628B (zh) 数据同步方法及装置
US9251011B2 (en) Backup of in-memory databases
US20230325287A1 (en) Data backup method and apparatus, data recovery method and apparatus, and storage medium
US9424271B2 (en) Atomic incremental load for map-reduce systems on append-only file systems
US10853157B2 (en) Compact binary event log generation
US8874519B1 (en) Method and apparatus for restoring a table in a database
CN103595797B (zh) 一种分布式存储系统中的缓存方法
CN101369283A (zh) 一种内存数据库与物理数据库间的数据同步方法及系统
US20140156603A1 (en) Method and an apparatus for splitting and recovering data in a power system
CN109710185A (zh) 数据处理方法及装置
CN112416654B (zh) 一种数据库日志重演方法、装置、设备及存储介质
CN112286941A (zh) 一种基于Binlog+HBase+Hive的大数据同步方法和装置
CN110781197B (zh) 一种hive离线同步校验方法、装置及电子设备
CN111367991B (zh) 一种基于消息队列的MongoDB数据实时同步方法及系统
KR102119258B1 (ko) 데이터베이스 관리 시스템에서의 변경 데이터 캡쳐 구현 기법
KR20200056357A (ko) 데이터베이스 관리 시스템에서의 변경 데이터 캡쳐 구현 기법
CN114706836B (zh) 一种基于机载嵌入式数据库的数据生命周期管理方法
CN111026764B (zh) 一种数据存储方法、装置、电子产品及存储介质
CN114385760A (zh) 增量数据实时同步的方法、装置、计算机设备及存储介质
CN114398217A (zh) 一种fpga并行仿真的海量仿真波形数据切片方法
CN108829345B (zh) 日志文件的数据处理方法和终端设备
US9020905B2 (en) Synchronizing database and non-database resources without a commit coordinator

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