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

技术编号:26170891 阅读:23 留言:0更新日期:2020-10-31 13:40
本申请适用于大数据技术领域,提供了一种数据管理方法、装置、电子设备及计算机可读存储介质。其中,该方法包括:当接收到指定账号所发送的编辑指令时,基于所述编辑指令,对数据库进行编辑;在对所述数据库编辑成功后,确定与缓存相关的待编辑数据;获取所述待编辑数据的标志码,并根据所述标志码,检测预设的队列中是否已存在所述待编辑数据,其中,所述标志码用于唯一的表示所述待编辑数据及所述编辑指令所指示的编辑操作;若所述队列中不存在所述待编辑数据,则将所述待编辑数据加入所述队列,以通过所述队列对所述缓存进行编辑。本申请方案可保证数据库与缓存的一致性,避免在高并发请求时出现脏读问题。

The invention relates to a data management method, a data management device, an electronic device and a storage medium

【技术实现步骤摘要】
一种数据管理方法、数据管理装置、电子设备及存储介质
本申请涉及大数据
,尤其涉及一种数据管理方法、数据管理装置、电子设备及计算机可读存储介质。
技术介绍
随着互联网的发展,互联网应用被越来越多的人使用,传统的关系型数据库面对超大规模和高并发请求已经显得力不从心,因此越来越多的非关系型数据库被用作缓存,来改善系统吞吐量,但随之也带来了数据库和缓存的数据不一致的问题。目前常见的数据库与缓存的同步方案为旁路缓存(CacheAsidePattern),然而,该同步方案仍存在更新缓存失败的可能性,这将导致脏读问题的出现。
技术实现思路
有鉴于此,本申请实施例提供了一种数据管理方法、数据管理装置、电子设备及计算机可读存储介质,可保证数据库与缓存的一致性,避免在高并发请求时出现脏读问题。本申请实施例的第一方面提供了一种数据管理方法,包括:当接收到指定账号所发送的编辑指令时,基于上述编辑指令,对数据库进行编辑;在对上述数据库编辑成功后,确定与缓存相关的待编辑数据;获取上述待编辑数据的标志码,并根据上述标志码,检测预设的队列中是否已存在上述待编辑数据,其中,上述标志码用于唯一的表示上述待编辑数据及上述编辑指令所指示的编辑操作;若上述队列中不存在上述待编辑数据,则将上述待编辑数据加入上述队列,以通过上述队列对上述缓存进行编辑。本申请实施例的第二方面提供了一种数据管理装置,包括:数据库编辑单元,用于当接收到指定账号所发送的编辑指令时,基于上述编辑指令,对数据库进行编辑;待编辑数据确定单元,用于在对上述数据库编辑成功后,确定与缓存相关的待编辑数据;标志码获取单元,用于获取上述待编辑数据的标志码,其中,上述标志码用于唯一的表示上述待编辑数据及上述编辑指令所指示的编辑操作;数据检测单元,用于根据上述标志码,检测预设的队列中是否已存在上述待编辑数据;缓存编辑单元,用于若上述队列中不存在上述待编辑数据,则将上述待编辑数据加入上述队列,以通过上述队列对上述缓存进行编辑。本申请实施例的第三方面提供了一种电子设备,包括存储器、处理器以及存储在上述存储器中并可在电子设备上运行的计算机程序,上述处理器执行上述计算机程序时实现第一方案提供的数据管理方法的各步骤。本申请实施例的第四方面提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现第一方案提供的数据管理方法的各步骤。实施本申请实施例提供的一种数据管理方法、数据管理装置、电子设备及计算机可读存储介质具有以下有益效果:一方面,在数据库编辑成功后,也即实现对数据库的更新后,通过队列对缓存进行编辑,可借助队列的消费重试机制,使得原本不可靠的缓存与数据库同步操作变得可靠,且提升了编辑操作的有序性;另一方面,在将待编辑数据加入队列之前,会先获取用于唯一的表示待编辑数据及编辑指令所指示的编辑操作的标志码,基于该标志码进行初步的筛选,避免同一编辑操作被执行多次,以此提升数据缓存的效率。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本申请实施例提供的一种数据管理方法的实现流程图;图2是本申请实施例提供的一种数据管理方法的另一实现流程图;图3是本申请实施例提供的一种数据管理方法的又一实现流程图;图4是本申请实施例提供的一种数据管理装置的结构框图;图5是本申请实施例提供的一种电子设备的结构示意图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。本申请实施例所涉及的数据管理方法,可以应用于电子设备、台式电脑、手机、平板电脑、可穿戴设备、车载设备、增强现实(augmentedreality,AR)/虚拟现实(virtualreality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobilepersonalcomputer,UMPC)、上网本及个人数字助理(personaldigitalassistant,PDA)等电子设备上,本申请实施例对电子设备的具体类型不作任何限制。请参阅图1,图1示出了本申请实施例提供的数据管理方法的实现流程图。如图1所示,本实施例提供的数据管理方法可以包括:步骤101,当接收到指定账号所发送的编辑指令时,基于上述编辑指令,对数据库进行编辑;在本申请实施例中,操作者可以登录自己的账号,对数据库及缓存中所存储的数据进行编辑。以任一账号为指定账号为例,对本申请实施例进行描述:通常来说,操作者通过指定账号查阅的是缓存中的数据,因而,上述编辑指令也是指定账号基于缓存中的数据所发送的;当电子设备接收到指定账号所发送的编辑指令时,由于缓存需要与数据库保持同步,因而,电子设备将首先基于该编辑指令对数据库中的数据进行编辑,以实现数据库的更新。具体地,电子设备可以通过预设的服务接口来调用预设的服务(service),该服务可执行本申请实施例的各个步骤。可将服务视为一类应用程序,本申请实施例所提出的服务用于实现数据的更新与同步。举例来说,编辑指令是对缓存中P1位置处的A数据进行修改,则该服务会在数据库中找到对应的数据,并先对该数据库中的对应的数据进行修改;如果修改失败,则电子设备可向指定账号输出数据库编辑失败提醒消息,以提醒操作者当前对数据库的编辑失败。在一些实施例中,电子设备的服务可以预先设定一失败次数阈值;当对数据库的编辑失败时,该服务可以反复对数据库进行编辑,并记录失败次数;若反复对数据库进行编辑一直失败,导致失败次数达到该失败次数阈值,则向指定账号输出数据库编辑失败提醒消息;如果在失败次数达到该失败次数阈值前就编辑成功,则停止反复对数据库进行编辑,并执行后续步骤。在一些实施例中,上述编辑指令所能够指示的编辑操作包括但不限于如下类型:新增、删除或修改。需要注意的是,由于在接收到编辑指令后,会先对数据库进行编辑,此时缓存中的数据还没有更新;因而,即便对数据库的编辑失败,也不会影响数据库及缓存的数据同步。步骤102,在对上述数据库编辑成功后,确定与缓存相关的待编辑数据;在本申请实施例中,在数据库编辑成功后,电子设备的服务可基于该编辑指令继续确定与缓存相关的待编辑数据;也即,确定在缓存中需要对哪些数据进行编辑,包括该数据在缓存中的位置,编辑前的值及编辑后的值等。其中,上述缓存可以是redis缓存,此处不作限定。步骤103,获取上述待编辑数据的标志码,并根据上述标志码,检测预设的队列中是否已存在上述待编辑数据;在本申请实施例中,电子设备预本文档来自技高网...

【技术保护点】
1.一种数据管理方法,其特征在于,包括:/n当接收到指定账号所发送的编辑指令时,基于所述编辑指令,对数据库进行编辑;/n在对所述数据库编辑成功后,确定与缓存相关的待编辑数据;/n获取所述待编辑数据的标志码,并根据所述标志码,检测预设的队列中是否已存在所述待编辑数据,其中,所述标志码用于唯一的表示所述待编辑数据及所述编辑指令所指示的编辑操作;/n若所述队列中不存在所述待编辑数据,则将所述待编辑数据加入所述队列,以通过所述队列对所述缓存进行编辑。/n

【技术特征摘要】
1.一种数据管理方法,其特征在于,包括:
当接收到指定账号所发送的编辑指令时,基于所述编辑指令,对数据库进行编辑;
在对所述数据库编辑成功后,确定与缓存相关的待编辑数据;
获取所述待编辑数据的标志码,并根据所述标志码,检测预设的队列中是否已存在所述待编辑数据,其中,所述标志码用于唯一的表示所述待编辑数据及所述编辑指令所指示的编辑操作;
若所述队列中不存在所述待编辑数据,则将所述待编辑数据加入所述队列,以通过所述队列对所述缓存进行编辑。


2.如权利要求1所述的数据管理方法,其特征在于,所述获取所述待编辑数据的标志码,并根据所述标志码,检测预设的队列中是否已存在所述待编辑数据,包括:
根据所述待编辑数据及所述编辑指令所指示的编辑操作,生成循环冗余校验码作为所述待编辑数据的标志码;
分别检测所述队列中的各个任务对象所包含的标志码是否与所述待编辑数据的标志码相同;
若每个任务对象所包含的标志码均与所述待编辑数据的标志码不同,则确定所述队列中不存在所述待编辑数据;
相应地,若所述队列中不存在所述待编辑数据,则将所述待编辑数据加入所述队列,包括:
若所述队列中不存在所述待编辑数据,则将所述待编辑数据及所述待编辑数据的标志码包装为新的任务对象;
将所述新的任务对象存入所述队列的尾部。


3.如权利要求1所述的数据管理方法,其特征在于,所述数据库存储于区块链中,所述数据管理方法还包括:
当接收到所述指定账号所发送的查阅请求时,获取所述指定账号的权限;
基于所述权限确定所述指定账号在缓存中的可访问数据及可编辑数据;
向所述指定账号推送所述可访问数据;
相应地,所述当接收到指定账号所发送的编辑指令时,基于所述编辑指令,对数据库进行编辑,包括:
当接收到所述指定账号基于所述可访问数据而输入的编辑指令时,检测所述编辑指令所指向的数据是否为可编辑数据;
若所述编辑指令所指向的数据为可编辑数据,则基于所述编辑指令,对数据库进行编辑。


4.如权利要求3所述的数据管理方法,其特征在于,在所述检测所述编辑指令所指向的数据是否为可编辑数据之后,所述数据管理方法还包括:
若所述编辑指令所指向的数据不为可编辑数据,则将所述指定账号的账号信息及所述编辑指令包装为临时权限请求;
...

【专利技术属性】
技术研发人员:周先花
申请(专利权)人:平安国际智慧城市科技股份有限公司
类型:发明
国别省市:广东;44

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

1