CN110472167B - 数据管理方法、装置及计算机可读存储介质 - Google Patents

数据管理方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
CN110472167B
CN110472167B CN201910475489.0A CN201910475489A CN110472167B CN 110472167 B CN110472167 B CN 110472167B CN 201910475489 A CN201910475489 A CN 201910475489A CN 110472167 B CN110472167 B CN 110472167B
Authority
CN
China
Prior art keywords
data
segment
target
segmented
identification
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
CN201910475489.0A
Other languages
English (en)
Other versions
CN110472167A (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.)
Beijing Jingdong Zhenshi Information Technology Co Ltd
Original Assignee
Beijing Jingdong Zhenshi Information 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 Beijing Jingdong Zhenshi Information Technology Co Ltd filed Critical Beijing Jingdong Zhenshi Information Technology Co Ltd
Priority to CN201910475489.0A priority Critical patent/CN110472167B/zh
Publication of CN110472167A publication Critical patent/CN110472167A/zh
Application granted granted Critical
Publication of CN110472167B publication Critical patent/CN110472167B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开提供了一种数据管理方法、装置及计算机可读存储介质,涉及信息技术领域。其中的数据管理方法包括:根据预设的映射关系,将目标数据映射为目标分段标识;在本地缓存中查询目标分段标识对应的分段数据,其中,目标分段标识对应的分段数据为与目标分段标识对应的多个数据组成的数据片段;在本地缓存中不存在目标分段标识对应的分段数据的情况下,在分布式缓存中查询目标分段标识对应的分段数据;在分布式缓存中不存在目标分段标识对应的分段数据的情况下,在本地缓存中将目标分段标识对应的分段数据回写为空值数据。本公开既能避免对本地缓存的访问穿透至分布式缓存,又能节约本地缓存的存储空间,从而提高了缓存系统的工作效率和空间利用率。

Description

数据管理方法、装置及计算机可读存储介质
技术领域
本公开涉及信息技术领域,特别涉及一种数据管理方法、装置及计算机可读存储介质。
背景技术
诸如在线商城、门户网站以及在线交易系统等大型互联网应用系统,往往需要处理高并发、大批量的用户访问请求,这对互联网应用系统的响应速度、并发能力等性能提出了比较高的要求。缓存是应用系统的一种关键技术,通过在应用系统和物理数据源之间提供暂存数据的内存空间,减少对数据源直接访问的次数,提高应用的响应速度,极大缓解应用系统后端数据库的压力,在提高系统效率的同时了节约系统资源。传统的基于数据库的数据存储结构逐渐演变为数据库加缓存的数据存储结构。
应用系统的缓存技术通常包括本地缓存和分布式缓存两种。所谓本地缓存,是指在应用服务器本地的物理内存中划分出一部分空间用来缓冲应用客户端所需要的数据。其优势在于访问时延非常低,但是其缺陷在于容量较小,同时需要实现多个服务器之间的数据一致性。所谓分布式缓存,是指将缓存从应用服务器本身延伸到网络,通过分布式集群来提供缓存服务功能。与本地缓存相比,分布式缓存的优势在于存储量大,且不存在数据一致性问题,但是其缺陷在于分布式缓存的访问存在网络延时,其访问延时要比本地缓存高。
考虑到本地缓存和分布式缓存各有优劣,为了兼顾两种缓存方案的优势,应用系统可以采用多级缓存方案,即同时使用本地缓存和分布式缓存。在数据读取的时候,通常的过程为先读取本地缓存,如果本地缓存不存在对应的数据,则访问远程分布式缓存。考虑到本地缓存的存储量相比于分布式缓存较少,无法实现所需数据全量缓存,一般本地缓存只是起到缓存热点数据的作用。多级缓存能够针对系统架构,在系统层级实现数据缓存,减少系统开销,提升数据访问效率。
发明内容
发明人研究发现,在数据查询的过程中可能存在本地缓存穿透的现象。本地缓存穿透是指,如果本地缓存和分布式缓存中都不存在目标数据,所有对目标数据的访问都会访问分布式缓存,造成分布式缓存的负荷过大。为此,可以在本地缓存中回写诸如“NaN”或“N/A”的空值标识符来对应目标数据,使得再次访问本地缓存是就能够返回空值标识符,从而避免对本地缓存的访问穿透至分布式缓存。
在实际应用当中,以黑/白名单数据为例,当黑/白名单数据的数据量过多,例如达到十万、百万量级时,为了提高黑/白名单的访问和处理效率,通常采用分布式缓存来存储黑/白名单数据。通常的存储方式有两种:一种是黑/白名单中的所有数据作为列表集中存储,另一种是黑/白名单中的单个数据逐一独立存储。当系统采用多级缓存时,上述两种方式均存在一定的问题。
对于采用所有数据作为列表集中存储的方式,由于黑/白名单数目过多,所需数据存储空间过大,存储、传输和更新数据的代价均很大,无法有效实现本地缓存的价值。如果采用压缩方法进行存储,例如布隆过滤器的方式,并不能保证数据的绝对正确性,而且难以支持删除黑/白名单中数据的需求。
而对于采用单个数据逐一存储的方式,由于本地缓存需要为非黑/白名单的数据(举例说明:商品SKU为全量数据,部分商品不提供配送服务,这部分商品采用黑名单方式存储,其它的商品就是非黑名单的正常商品SKU数据)回写空值标识符,而这些非黑/白名单数据相比于黑/白名单数据的量级更大,可以达到数亿或者数十亿的量级。因本地缓存容量有限,而非黑/白名单数据需要回写空值,会导致黑/白名单数据无法有效存储,仍会使大量的对于黑/白名单数据的访问穿透至分布式缓存上,限制了本地缓存的作用。
本公开解决的一个技术问题是,如何既能避免对本地缓存的访问穿透至分布式缓存,又能节约本地缓存的存储空间,从而提高缓存系统的工作效率和空间利用率。
根据本公开实施例的一个方面,提供了一种数据管理方法,包括:根据预设的映射关系,将目标数据映射为目标分段标识;在本地缓存中查询目标分段标识对应的分段数据,其中,目标分段标识对应的分段数据为与目标分段标识对应的多个数据组成的数据片段;在本地缓存中不存在目标分段标识对应的分段数据的情况下,在分布式缓存中查询目标分段标识对应的分段数据;在分布式缓存中不存在目标分段标识对应的分段数据的情况下,在本地缓存中将目标分段标识对应的分段数据回写为空值数据。
在一些实施例中,还包括:在分布式缓存中存在目标分段标识对应的分段数据的情况下,在本地缓存中回写目标分段标识及目标分段标识对应的分段数据;在目标分段标识对应的分段数据中查询目标数据。
在一些实施例中,还包括:在本地缓存中存在目标分段标识对应的分段数据的情况下,在目标分段标识对应的分段数据中查询目标数据。
在一些实施例中,还包括:根据所述预设的映射关系,将新增数据映射为新增数据的分段标识;在分布式缓存中查询新增数据的分段标识对应的分段数据;在分布式缓存中存在新增数据的分段标识对应的分段数据的情况下,将新增数据插入新增数据的分段标识对应的分段数据当中。
在一些实施例中,还包括:在分布式缓存中不存在新增数据的分段标识对应的分段数据的情况下,在分布式缓存中建立空的分段数据作为新增数据的分段标识对应的分段数据;将新增数据插入新增数据的分段标识对应的分段数据当中。
在一些实施例中,还包括:根据所述预设的映射关系,将待删除数据映射为待删除数据的分段标识;在分布式缓存中查询待删除数据的分段标识对应的分段数据;将待删除数据从待删除数据的分段标识对应的分段数据中删除。
在一些实施例中,还包括:在待删除数据的分段标识对应的分段数据为空的情况下,将待删除数据的分段标识对应的分段数据删除。
在一些实施例中,预设的映射关系包括哈希运算关系以及库存量单位与库存量单位所属品类标识之间的映射关系。
在一些实施例中,分段数据为白名单数据或黑名单数据。
根据本公开实施例的另一个方面,提供了一种数据管理装置,包括:标识映射模块,被配置为根据预设的映射关系,将目标数据映射为目标分段标识;数据查询模块,被配置为在本地缓存中查询目标分段标识对应的分段数据,其中,目标分段标识对应的分段数据为与目标分段标识对应的多个数据组成的数据片段;以及在本地缓存中不存在目标分段标识对应的分段数据的情况下,在分布式缓存中查询目标分段标识对应的分段数据;数据回写模块,被配置为在分布式缓存中不存在目标分段标识对应的分段数据的情况下,在本地缓存中将目标分段标识对应的分段数据回写为空值数据。
根据本公开实施例的又一个方面,提供了一种数据管理装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行前述的数据管理方法。
根据本公开实施例的再一个方面,提供了一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行时实现前述的数据管理方法。
本公开既能避免对本地缓存的访问穿透至分布式缓存,又能节约本地缓存的存储空间,从而提高了缓存系统的工作效率和空间利用率。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出了本公开一些实施例的数据管理方法的流程示意图。
图2示出了本公开另一些实施例的数据管理方法的流程示意图。
图3示出了本公开又一些实施例的数据管理方法的流程示意图。
图4示出了面向多级缓存的黑/白名单系统架构的结构示意图。
图5示出了基于分段方式的黑/白名单访问处理的流程示意图。
图6示出了基于分段方式的黑/白名单新增元素的流程示意图。
图7示出了基于分段方式的黑/白名单删除元素的流程示意图。
图8示出了本公开一些实施例的数据管理装置的结构示意图。
图9示出了本公开另一些实施例的数据管理装置的结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
针对海量黑/白名单数据,本公开采用分段数据的方式进行缓存。即,将全量数据(例如黑/白名单中的所有数据)划分成多个分段数据,每个分段数据是由多个数据组成一个数据片段,且每个分段数据都具有与其一一对应的分段标识。分段标识与分段数据之间的映射关系具体可以是多种多样的,下面举几个例子以便读者理解,而不作为对映射关系的限定。
例如,预设的映射关系可以为哈希运算关系。假设缓存中存储的数据是商品的SKU(Stock Keeping Unit,库存量单位),缓存的分段数据一共有10段,将商品的SKU除以10,按照运算结果的个位数从0到9分为10段。假设商品的SKU为1002028323,该SKU的分段标识为2。
再比如,预设的映射关系可以为SKU与SKU所属品类标识之间的映射关系。仍假设缓存中存储的数据是商品的SKU,所有SKU都有所属的品类,例如办公用品、个护化妆、宠物生活,玩具乐器等品类,因此可以利用品类标识对全量数据进行分段。
本领域技术人员应理解,这里的SKU还可以更换为其它的业务信息,在此不作赘述。表1示例性的示出了分段标识与分段数据之间的映射关系。
表1
分段标识01 分段数据01
分段标识02 分段数据02
分段标识n 分段数据n
分段数据例如可以为白名单数据或黑名单数据。黑/白名单是计算机领域中一种有效的行为控制措施和规则过滤措施。若配置黑名单,被列入到黑名单的资源不允许执行相关操作或规则;若配置白名单,则被列入白名单的资源允许执行相关操作或规则。具体举例来说,在电商平台中,可以配置黑/白名单数据以标识不同商品为用户提供不同的服务。如果采用了黑名单机制,则列入黑名单中的商品不提供配送服务;如果采用了白名单机制,则列入白名单中的商品无需提供相关的属性信息,就可以直接为用户提供配送服务。
下面结合图1描述本公开数据管理方法的一些实施例,以便从查询目标数据的角度解释本公开的数据管理方法。
图1示出了本公开一些实施例的数据管理方法的流程示意图。如图1所示,本实施例包括步骤S101~步骤S107。
在步骤S101中,根据预设的映射关系,将目标数据映射为目标分段标识。
在步骤S102中,在本地缓存中查询目标分段标识对应的分段数据。其中,目标分段标识对应的分段数据为与目标分段标识对应的多个数据组成的数据片段。
在本地缓存中存在目标分段标识对应的分段数据的情况下,执行步骤S103。在本地缓存中不存在目标分段标识对应的分段数据的情况下,执行步骤S104。
在步骤S103中,在目标分段标识对应的分段数据中查询目标数据。
在步骤S104中,在分布式缓存中查询目标分段标识对应的分段数据。
在分布式缓存中存在目标分段标识对应的分段数据的情况下,执行步骤S105。在分布式缓存中不存在目标分段标识对应的分段数据的情况下,执行步骤S107。
在步骤S105中,在本地缓存中回写目标分段标识及目标分段标识对应的分段数据。
在步骤S106中,在目标分段标识对应的分段数据中查询目标数据。
在步骤S107中,在本地缓存中将目标分段标识对应的分段数据回写为空值数据。
本实施例与将所有数据作为列表集中存储的方式相比,本地缓存不需要存储全量数据,仍可以实现热点分段的缓存,大幅降低存储、传输和更新数据的代价;与单数据逐一存储的方式相比,本地缓存只需要以分段标识或分段数据为基本单位,为不存在的分段数据回写空值数据,大幅减少了需要回写的数据量。因此,本实施例中的数据管理方法可以充分利用本地缓存实现数据的访问,既能避免对本地缓存的访问穿透至分布式缓存,又能节约本地缓存的存储空间,从而提高了缓存系统的工作效率和空间利用率,保证了缓存系统的可用性。
下面结合图2描述本公开数据管理方法的另一些实施例,以便从新增数据的角度解释本公开的数据管理方法。
图2示出了本公开另一些实施例的数据管理方法的流程示意图。如图2所示,本实施例包括步骤S201~步骤S205。
在步骤S201中,根据预设的映射关系,将新增数据映射为新增数据的分段标识。
在步骤S202中,在分布式缓存中查询新增数据的分段标识对应的分段数据。
在分布式缓存中存在新增数据的分段标识对应的分段数据的情况下,执行步骤S203。在分布式缓存中不存在新增数据的分段标识对应的分段数据的情况下,执行步骤S204。
在步骤S203中,将新增数据插入新增数据的分段标识对应的分段数据当中。
在步骤S204中,在分布式缓存中建立空的分段数据作为新增数据的分段标识对应的分段数据,返回步骤S203。
本实施例提供的数据管理方法,能够实现将新增数据映射至对应的分段标识,并将新增数据插入对应的分段数据当中,实现数据的新增功能。
下面结合图3描述本公开数据管理方法的另一些实施例,以便从删除数据的角度解释本公开的数据管理方法。
图3示出了本公开又一些实施例的数据管理方法的流程示意图。如图3所示,本实施例包括步骤S301~步骤S305。
在步骤S301中,根据预设的映射关系,将待删除数据映射为待删除数据的分段标识。
在步骤S302中,在分布式缓存中查询待删除数据的分段标识对应的分段数据。
在步骤S303中,将待删除数据从待删除数据的分段标识对应的分段数据中删除。
在步骤S304中,判断待删除数据的分段标识对应的分段数据是否为空。
在待删除数据的分段标识对应的分段数据为空的情况下,执行步骤S305。在待删除数据的分段标识对应的分段数据不为空的情况下,结束数据删除流程。
在步骤S305中,将待删除数据的分段标识对应的分段数据删除。
本实施例提供的数据管理方法,能够实现将待删除数据映射至对应的分段标识,并将待删除数据从对应的分段数据当中删除,实现数据的删除功能。
下面以数据为黑/白名单数据为例,列举一些具体的应用例,来解释在实际的工作场景中如何应用本公开中的数据管理方法。
首先,构建面向多级缓存的黑/白名单系统架构。图4示出了面向多级缓存的黑/白名单系统架构的结构示意图。如图4所示,面向多级缓存的黑/白名单系统架构的结构40包括:
应用系统401,具体可以为各种业务应用系统,承载业务逻辑,需要依据黑/白名单数据为客户端提供不同的业务服务;
黑/白名单管理客户端402,负责黑/白名单的分段、按段新增、更新、删除等操作;
分布式缓存403,用于存储应用系统401所需数据的副本,包括黑/白名单数据,从而提升黑/白名单访问速度,分布式缓存相对于应用系统采用独立集群部署的方式;
本地缓存404,用于存储应用系统所需热点数据,包括黑/白名单热点数据的副本,本地缓存部署在应用系统的本地,进一步提升访问速度;
多级缓存客户端405,用于为缓存系统提供统一客户端,使得应用系统401可以通过统一的方式实现与多级缓存的交互;
数据库406,用于持久化存储应用系统所需的原始数据。
(第一应用例)
图5示出了基于分段方式的黑/白名单访问处理的流程示意图。如图5所示,当应用系统需要访问黑/白名单时,调用多级缓存客户端实现黑/白名单数据的读取。具体包括以下步骤:
步骤S501,应用程序按照元素查询黑/白名单数据,调用多级缓存客户端。
例如,假设当前商品SKU为1002028323,应用程序需要查询黑名单,以确认1002028322是否存在黑名单中。
步骤S502,多级缓存客户端接收元素参数,并计算映射到对应分段,获取对应分段标识。
例如,元素参数为1002028323,对应的分段标识为2。
步骤S503,多级缓存客户端依据分段标识查询本地缓存的分段数据。
步骤S504,本地缓存返回对应的分段数据。
步骤S505,多级缓存客户端判断本地缓存是否存在对应的分段数据。如果存在,执行步骤S511,否则执行步骤S506。
步骤S506,多级缓存客户端依据分段标识查询分布式缓存的分段数据。
步骤S507,分布式缓存返回对应的分段数据。
步骤S508,多级缓存客户端判断对应分段数据是否存在。如果不存在,执行步骤S509;如果存在,执行步骤S510。
步骤S509,多级缓存客户端回写特殊的空值到对应的分段标识。
步骤S510,多级缓存客户端回写分段数据到对应的分段标识。
步骤S511,多级缓存客户端返回特殊空值或者分段数据到应用程序。
步骤S512,应用程序查询返回的结果中是否包含对应的元素,并按照相应的黑/白名单逻辑进行后续的处理。
例如,应用程序进一步利用1002028323查询到黑名单中存在1002028323,进而按照黑名单逻辑进行后续的处理。
本应用例中,应用系统在访问缓存黑/白名单时,缓存客户端会将待查询数据映射到分段数据,然后进行黑/白名单查询。如果分段数据不存在,则说明待查询数据不属于黑/白名单;如果分段数据存在,再进一步对待查询数据进行匹配查询。如果在当前分段数据中不存在待查询数据,则待查询数据不属于黑/白名单;如果在当前分段数据中存在待查询数据,则否则当前元素属于黑/白名单,应用系统将以黑/白名单的机制进行相应的逻辑处理。
(第二应用例)
图6示出了基于分段方式的黑/白名单新增元素的流程示意图。如图6所示,当配置客户端增加一个新的元素时,黑/白名单管理器会查询对应的分段是否存在,并进行相应的更新操作。具体包括以下步骤:
步骤S601,配置客户端新增元素,发送包含新增元素的消息给黑/白名单管理器。
例如,新增元素可以为一个要加入黑名单/白名单的SKU。
步骤S602,黑/白名单管理器接收需新增的元素消息,并计算映射到对应分段,获取对应分段标识。
步骤S603,黑/白名单管理器基于分段标识查询分布式缓存。
步骤S604,分布式缓存返回对应数据给黑/白名单管理器。
步骤S605,黑/白名单管理器判断是否存在对应的分段数据,如果不存在,执行步骤S606;如果存在,执行步骤S607。
步骤S606,按照分段标识生成空的分段数据。
步骤S607,将元素插入对应的分段数据。
例如,将SKU为1002028322的新增数据插入分段标识为2的分段数据。
步骤S608,黑/白名单管理器更新分布式缓存的对应分段数据。
步骤S609,黑/白名单管理器返回处理结果给配置客户端。
例如,返回的处理结果为是否成功新增数据。如果失败,客户端可以进行重试。
本应用例能够实现将新增数据映射至对应的分段标识,并将新增数据插入对应的分段数据当中,实现数据的新增功能。
(第三应用例)
图7示出了基于分段方式的黑/白名单删除元素的流程示意图。如图7所示,当配置客户端删除一个已有的元素时,黑/白名单管理器会查询对应的分段是否存在,并进行相应的更新操作。具体包括以下步骤:
步骤S701,配置客户端删除元素,发送包含删除元素的消息给黑/白名单管理器。
步骤S702,黑/白名单管理器接收需删除的元素消息,并计算映射到对应分段数据,获取对应分段标识。
步骤S703,黑/白名单管理器基于分段标识查询分布式缓存。
步骤S704,分布式缓存返回对应分段数据给黑/白名单管理器。
步骤S705,黑/白名单管理器删除对应分段数据中的元素。
步骤S706,黑/白名单管理器判断当前分段数据是否为空,如果为空,执行步骤S707;如果不为空,执行步骤S708。
步骤S707,删除对应的分段数据,执行步骤S709。
步骤S708,更新对应的分段数据。
步骤S709,黑/白名单管理器返回处理结果给配置客户端。
例如,处理结果具体可以为是否成功删除数据。
本应用例能够实现将待删除数据映射至对应的分段标识,并将待删除数据从对应的分段数据当中删除,实现数据的删除功能。
本领域技术人员应理解,第二实施例和第三实施例给出了新增/删除单个元素的处理过程,批处理的过程与此类似,处理时可以看作是多个单元素操作的合并,这里不再给出具体描述。
下面结合图8描述本公开数据管理装置的一些实施例。
图8示出了本公开一些实施例的数据管理装置的结构示意图。如图8所示,本实施例中的数据管理装置80包括:
标识映射模块802,被配置为根据预设的映射关系,将目标数据映射为目标分段标识;
数据查询模块804,被配置为在本地缓存中查询目标分段标识对应的分段数据,其中,目标分段标识对应的分段数据为与目标分段标识对应的多个数据组成的数据片段;以及在本地缓存中不存在目标分段标识对应的分段数据的情况下,在分布式缓存中查询目标分段标识对应的分段数据;
数据回写模块806,被配置为在分布式缓存中不存在目标分段标识对应的分段数据的情况下,在本地缓存中将目标分段标识对应的分段数据回写为空值数据。
本实施例与将所有数据作为列表集中存储的方式相比,本地缓存不需要存储全量数据,仍可以实现热点分段的缓存,大幅降低存储、传输和更新数据的代价;与单数据逐一存储的方式相比,本地缓存只需要以分段标识或分段数据为基本单位,为不存在的分段数据回写空值数据,大幅减少了需要回写的数据量。因此,本实施例中的数据管理装置可以充分利用本地缓存实现数据的访问,既能避免对本地缓存的访问穿透至分布式缓存,又能节约本地缓存的存储空间,从而提高了缓存系统的工作效率和空间利用率,保证了缓存系统的可用性。
下面结合图9描述本公开数据管理装置的另一些实施例。
图9示出了本公开另一些实施例的数据管理装置的结构示意图。如图9所示,该实施例的数据管理装置90包括:存储器910以及耦接至该存储器910的处理器920,处理器920被配置为基于存储在存储器910中的指令,执行前述任意一些实施例中的数据管理方法。
其中,存储器910例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。
数据管理装置90还可以包括输入输出接口930、网络接口940、存储接口950等。这些接口930、940、950以及存储器910和处理器920之间例如可以通过总线960连接。其中,输入输出接口930为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口940为各种联网设备提供连接接口。存储接口950为SD卡、U盘等外置存储设备提供连接接口。
本公开还包括一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现前述任意一些实施例中的数据管理方法。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (11)

1.一种数据管理方法,包括:
根据预设的映射关系,将目标数据映射为目标分段标识;
在本地缓存中查询目标分段标识对应的分段数据,其中,目标分段标识对应的分段数据为与目标分段标识对应的多个数据组成的数据片段;
在本地缓存中不存在目标分段标识对应的分段数据的情况下,在分布式缓存中查询目标分段标识对应的分段数据;
在分布式缓存中不存在目标分段标识对应的分段数据的情况下,在本地缓存中将目标分段标识对应的分段数据回写为空值数据;
在本地缓存或分布式缓存中存在目标分段标识对应的分段数据的情况下,在目标分段标识对应的分段数据中查询目标数据。
2.如权利要求1所述的数据管理方法,还包括:
在分布式缓存中存在目标分段标识对应的分段数据的情况下,在本地缓存中回写目标分段标识及目标分段标识对应的分段数据。
3.如权利要求1或2所述的数据管理方法,还包括:
根据所述预设的映射关系,将新增数据映射为新增数据的分段标识;
在分布式缓存中查询新增数据的分段标识对应的分段数据;
在分布式缓存中存在新增数据的分段标识对应的分段数据的情况下,将新增数据插入新增数据的分段标识对应的分段数据当中。
4.如权利要求3所述的数据管理方法,还包括:
在分布式缓存中不存在新增数据的分段标识对应的分段数据的情况下,在分布式缓存中建立空的分段数据作为新增数据的分段标识对应的分段数据;
将新增数据插入新增数据的分段标识对应的分段数据当中。
5.如权利要求1或2所述的数据管理方法,还包括:
根据所述预设的映射关系,将待删除数据映射为待删除数据的分段标识;
在分布式缓存中查询待删除数据的分段标识对应的分段数据;
将待删除数据从待删除数据的分段标识对应的分段数据中删除。
6.如权利要求5所述的数据管理方法,还包括:
在待删除数据的分段标识对应的分段数据为空的情况下,将待删除数据的分段标识对应的分段数据删除。
7.如权利要求1所述的数据管理方法,其中,所述预设的映射关系包括哈希运算关系以及库存量单位与库存量单位所属品类标识之间的映射关系。
8.如权利要求1或2所述的数据管理方法,其中,所述分段数据为白名单数据或黑名单数据。
9.一种数据管理装置,包括:
标识映射模块,被配置为根据预设的映射关系,将目标数据映射为目标分段标识;
数据查询模块,被配置为在本地缓存中查询目标分段标识对应的分段数据,其中,目标分段标识对应的分段数据为与目标分段标识对应的多个数据组成的数据片段;以及在本地缓存中不存在目标分段标识对应的分段数据的情况下,在分布式缓存中查询目标分段标识对应的分段数据;
数据回写模块,被配置为在分布式缓存中不存在目标分段标识对应的分段数据的情况下,在本地缓存中将目标分段标识对应的分段数据回写为空值数据;
所述数据查询模块,还被配置为在本地缓存或分布式缓存中存在目标分段标识对应的分段数据的情况下,在目标分段标识对应的分段数据中查询目标数据。
10.一种数据管理装置,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如权利要求1至8中任一项所述的数据管理方法。
11.一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行时实现如权利要求1至8中任一项所述的数据管理方法。
CN201910475489.0A 2019-06-03 2019-06-03 数据管理方法、装置及计算机可读存储介质 Active CN110472167B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910475489.0A CN110472167B (zh) 2019-06-03 2019-06-03 数据管理方法、装置及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910475489.0A CN110472167B (zh) 2019-06-03 2019-06-03 数据管理方法、装置及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN110472167A CN110472167A (zh) 2019-11-19
CN110472167B true CN110472167B (zh) 2022-11-08

Family

ID=68506750

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910475489.0A Active CN110472167B (zh) 2019-06-03 2019-06-03 数据管理方法、装置及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN110472167B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113486025B (zh) * 2021-07-28 2023-07-25 北京腾云天下科技有限公司 数据存储方法、数据查询方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106506704A (zh) * 2016-12-29 2017-03-15 北京奇艺世纪科技有限公司 一种缓存更新方法及装置
CN107231395A (zh) * 2016-03-25 2017-10-03 阿里巴巴集团控股有限公司 数据存储方法、装置和系统
CN108595685A (zh) * 2018-05-04 2018-09-28 北京顶象技术有限公司 一种数据处理方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107231395A (zh) * 2016-03-25 2017-10-03 阿里巴巴集团控股有限公司 数据存储方法、装置和系统
CN106506704A (zh) * 2016-12-29 2017-03-15 北京奇艺世纪科技有限公司 一种缓存更新方法及装置
CN108595685A (zh) * 2018-05-04 2018-09-28 北京顶象技术有限公司 一种数据处理方法及装置

Also Published As

Publication number Publication date
CN110472167A (zh) 2019-11-19

Similar Documents

Publication Publication Date Title
US11082206B2 (en) Layout-independent cryptographic stamp of a distributed dataset
KR101994021B1 (ko) 파일 조작 방법 및 장치
US9317519B2 (en) Storage system for eliminating duplicated data
US8782235B2 (en) Resource migration system and resource migration method
US20160350302A1 (en) Dynamically splitting a range of a node in a distributed hash table
US11314689B2 (en) Method, apparatus, and computer program product for indexing a file
CN105512200A (zh) 一种分布式数据库处理的方法和设备
US6968382B2 (en) Activating a volume group without a quorum of disks in the volume group being active
CN103530387A (zh) 一种hdfs针对小文件的改进方法
CN101944124A (zh) 分布式文件系统管理方法、装置以及对应的文件系统
CN103186622B (zh) 一种全文检索系统中索引信息的更新方法以及装置
WO2017090071A1 (en) Method and computer system for managing blocks
CN107211003A (zh) 分布式存储系统及管理元数据的方法
CN109299056A (zh) 一种基于分布式文件系统的数据同步方法和装置
CN105320676A (zh) 一种客户数据查询服务方法及装置
CN110245129B (zh) 一种分布式全局数据去重方法和装置
CN110472167B (zh) 数据管理方法、装置及计算机可读存储介质
US20170285951A1 (en) Packed row representation for efficient network serialization with direct column indexing in a network switch
CN113853778B (zh) 一种文件系统的克隆方法及装置
CN112764662B (zh) 用于存储管理的方法、设备和计算机程序产品
CN108196786B (zh) 用于存储系统分区的方法和管理设备
US11451627B2 (en) System and method for content management with intelligent data store access across distributed stores
KR20200121986A (ko) 데이터베이스 관리 시스템에서 데이터 저장을 위한 공간 관리를 제공하는 컴퓨터 프로그램
CN117009346A (zh) 数据库表结构变更方法、装置、设备及存储介质
CN117112546A (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