CN113590507A - 一种分布式存储系统及其缓存层、数据访问方法、设备 - Google Patents
一种分布式存储系统及其缓存层、数据访问方法、设备 Download PDFInfo
- Publication number
- CN113590507A CN113590507A CN202010363875.3A CN202010363875A CN113590507A CN 113590507 A CN113590507 A CN 113590507A CN 202010363875 A CN202010363875 A CN 202010363875A CN 113590507 A CN113590507 A CN 113590507A
- Authority
- CN
- China
- Prior art keywords
- cache
- target
- ocs
- data
- group
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 86
- 230000008569 process Effects 0.000 claims abstract description 43
- 238000012545 processing Methods 0.000 claims description 75
- 238000004590 computer program Methods 0.000 claims description 11
- 230000002085 persistent effect Effects 0.000 claims description 4
- 238000012423 maintenance Methods 0.000 abstract description 14
- 230000002688 persistence Effects 0.000 abstract description 2
- 230000000694 effects Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008520 organization Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种分布式存储系统及其缓存层,分布式存储系统包括缓存层和用于进行数据持久化存储的后端存储层;缓存层包括多个缓存节点,多个缓存节点上运行多个对象缓存服务OCS,多个OCS构成多个缓存组,每个缓存组独立处理不同的数据。应用本申请实施例所提供的技术方案,因为缓存组之间没有数据交叉,所以只需要维护同一个缓存组中OCS之间的数据一致性,降低了对于数据缓存一致性的维护成本,使得缓存数据同步的过程更为简单,在一定程度上提升了系统性能,而且,通过各缓存组可以低延迟、高并发地进行数据访问,提供高性能存储服务。本申请还公开了应用于该分布式存储系统的数据访问方法、设备及计算机存储介质,具有相应技术效果。
Description
技术领域
本申请涉及信息技术领域,特别是涉及一种分布式存储系统及其缓存层、数据访问方法、设备。
背景技术
随着计算机技术的快速发展,分布式存储系统在各领域的应用越来越广泛。客户端可以访问分布式存储系统中后端存储层中的数据。为提高访问性能,多会在分布式存储系统中的后端存储层之前添加一层使用高速存储介质的缓存层,用于部分数据的缓存。
在相关技术中,分布式存储系统中缓存层的各缓存节点具有全局统一性,需要维护各缓存节点之间缓存数据的一致性。然而,对于缓存数据一致性的维护成本较高,而且缓存数据同步的过程也在一定程度上降低了系统性能。
发明内容
本申请的目的是提供一种分布式存储系统及其缓存层、数据访问方法、设备,以减少对于缓存数据一致性的维护成本,提高系统性能。
为解决上述技术问题,本申请提供如下技术方案:
一种分布式存储系统,包括:
缓存层和用于进行数据持久化存储的后端存储层;
所述缓存层包括多个缓存节点,所述多个缓存节点上运行多个对象缓存服务OCS,所述多个OCS构成多个缓存组,每个缓存组独立处理不同的数据。
因为缓存组之间没有数据交叉,所以只需要维护同一个缓存组中OCS之间的数据一致性,而不需要进行缓存组之间的数据一致性的维护,降低了对于数据缓存一致性的维护成本,使得缓存数据同步的过程更为简单,在一定程度上提升了系统性能,而且,通过各缓存组可以低延迟、高并发地进行数据访问,提供高性能存储服务。
在本申请的一种具体实施方式中,每个缓存组包括主OCS和从OCS。
每个缓存组的OCS设置,采用多副本冗余方式进行,可以保证数据存储的可靠性。
在本申请的一种具体实施方式中,每个缓存组由主OCS对外提供数据访问服务。
易于维护数据读写一致性,可以有效避免同一缓存组的多个OCS同时对外提供数据访问服务容易导致的数据读写不一致的情况的发生。
一种数据访问方法,应用于上述的分布式存储系统,所述方法包括:
根据针对目标数据的写入请求确定用于处理所述写入请求的目标OCS,所述目标OCS为根据所述多个缓存组中每个缓存组的负载状态确定;
基于所述写入请求对所述目标数据进行写入处理。
在分布式存储系统中进行数据访问,分布式存储系统的缓存层的每个缓存组独立处理不同的数据,因为缓存组之间没有数据交叉,所以只需要维护同一个缓存组中OCS之间的数据一致性,而不需要进行缓存组之间的数据一致性的维护,降低了对于数据缓存一致性的维护成本,使得缓存数据同步的过程更为简单,在一定程度上提升了系统性能,而且,通过各缓存组可以低延迟、高并发地进行数据访问,提供高性能存储服务。
在本申请的一种具体实施方式中,所述根据针对目标数据的写入请求确定用于处理所述写入请求的目标OCS,包括:
将所述分布式存储系统的第一缓存节点确定为目标缓存节点,所述第一缓存节点为第一OCS所在的节点,所述第一OCS为接收针对目标数据的写入请求的OCS;
基于所述分布式存储系统中每个缓存组的负载状态,确定所述目标缓存节点上是否存在目标缓存组集合,所述目标缓存组集合中每个缓存组的负载状态均为非过载状态;
如果存在所述目标缓存组集合,则在所述目标缓存组集合中确定用于处理所述写入请求的目标OCS。
优先在当前访问的第一缓存节点中选择用于处理写入请求的目标OCS,可以减少请求转发次数,缩短了I/O路径,可以提高访问速度,而且在进行目标OCS的选择中,考虑到了负载状态,兼顾了缓存节点之间、缓存组之间的负载均衡。
在本申请的一种具体实施方式中,还包括:
如果所述目标缓存节点上不存在所述目标缓存组集合,则按照负载从低到高的顺序依次将所述缓存层中除所述第一缓存节点外的每个缓存节点确定为目标缓存节点,重复执行所述确定所述目标缓存节点上是否存在目标缓存组集合的步骤。
增强了各缓存节点的负载均衡。
在本申请的一种具体实施方式中,还包括:
如果所述缓存层的所有缓存节点中均不存在所述目标缓存组集合,则在负载最低的缓存组的OCS中确定用于处理所述写入请求的目标OCS。
进一步增强了各缓存节点的负载均衡。
在本申请的一种具体实施方式中,所述在所述目标缓存组集合中确定用于处理所述写入请求的目标OCS,包括:
确定所述目标缓存组集合中是否存在处于空闲状态的缓存组;
如果存在,则在处于空闲状态的缓存组中选择一个缓存组,在选择出的缓存组的OCS中确定用于处理所述写入请求的目标OCS;
如果不存在,则在所述目标缓存组集合的处于负载中等状态的缓存组中选择一个缓存组,在选择出的缓存组的OCS中确定用于处理所述写入请求的目标OCS。
增强了缓存组的负载均衡。
在本申请的一种具体实施方式中,所述在所述目标缓存组集合的处于负载中等状态的缓存组中选择一个缓存组,包括:
在所述目标缓存组集合的处于负载中等状态的缓存组中,选择负载最低的一个缓存组。
进一步增强了缓存组的负载均衡。
在本申请的一种具体实施方式中,所述基于所述写入请求对所述目标数据进行写入处理,包括:
判断所述目标数据是否符合预设的缓存条件;
如果符合,则将所述目标数据写入到所述目标OCS所在的缓存组对应的缓存节点中;
如果不符合,则将所述目标数据写入到所述分布式存储系统的后端存储层中。
将符合缓存条件的数据写入到缓存节点中,可以减轻缓存节点的存储压力。
一种数据访问方法,应用于上述的分布式存储系统,所述方法包括:
根据针对目标数据的读取请求获得所述目标数据的路由信息;
根据所述路由信息,确定用于处理所述读取请求的目标OCS;
基于所述读取请求对所述目标数据进行读取处理。
在分布式存储系统中进行数据访问,分布式存储系统的缓存层的每个缓存组独立处理不同的数据,因为缓存组之间没有数据交叉,所以只需要维护同一个缓存组中OCS之间的数据一致性,而不需要进行缓存组之间的数据一致性的维护,降低了对于数据缓存一致性的维护成本,使得缓存数据同步的过程更为简单,在一定程度上提升了系统性能,而且,通过各缓存组可以低延迟、高并发地进行数据访问,提供高性能存储服务。
一种缓存层,所述缓存层位于分布式存储系统中,所述缓存层包括多个缓存节点,所述多个缓存节点上运行多个对象缓存服务OCS,所述多个OCS构成多个缓存组,每个缓存组独立处理不同的数据;
所述缓存层的第一缓存节点上的第一OCS用于:
接收针对目标数据的写入请求;
确定用于处理所述写入请求的目标OCS,所述目标OCS为根据所述多个缓存组中每个缓存组的负载状态确定;
所述目标OCS用于:
基于所述写入请求对所述目标数据进行写入处理。
缓存层的每个缓存组独立处理不同的数据,因为缓存组之间没有数据交叉,所以只需要维护同一个缓存组中OCS之间的数据一致性,而不需要进行缓存组之间的数据一致性的维护,降低了对于数据缓存一致性的维护成本,使得缓存数据同步的过程更为简单,在一定程度上提升了系统性能,而且,通过各缓存组可以低延迟、高并发地进行数据访问,提供高性能存储服务。
一种缓存层,所述缓存层位于分布式存储系统中,所述缓存层包括多个缓存节点,所述多个缓存节点上运行多个对象缓存服务OCS,所述多个OCS构成多个缓存组,每个缓存组独立处理不同的数据;
所述缓存层的第二缓存节点上的第二OCS用于:
接收针对目标数据的读取请求;
获得所述目标数据的路由信息;
根据所述路由信息,确定用于处理所述读取请求的目标OCS;
所述目标OCS用于:
基于所述读取请求对所述目标数据进行读取处理。
缓存层的每个缓存组独立处理不同的数据,因为缓存组之间没有数据交叉,所以只需要维护同一个缓存组中OCS之间的数据一致性,而不需要进行缓存组之间的数据一致性的维护,降低了对于数据缓存一致性的维护成本,使得缓存数据同步的过程更为简单,在一定程度上提升了系统性能,而且,通过各缓存组可以低延迟、高并发地进行数据访问,提供高性能存储服务。
一种数据访问设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述任一项所述数据访问方法的步骤。
数据访问设备应用在分布式存储系统中,分布式存储系统的缓存层包括多个缓存节点,多个缓存节点上运行多个OCS,多个OCS构成多个缓存组,每个缓存组独立处理不同的数据。因为缓存组之间没有数据交叉,所以只需要维护同一个缓存组中OCS之间的数据一致性,而不需要进行缓存组之间的数据一致性的维护,降低了对于数据缓存一致性的维护成本,使得缓存数据同步的过程更为简单,在一定程度上提升了系统性能,而且,通过各缓存组可以低延迟、高并发地进行数据访问,提供高性能存储服务。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述数据访问方法的步骤。
计算机可读存储介质应用在分布式存储系统中,分布式存储系统的缓存层包括多个缓存节点,多个缓存节点上运行多个OCS,多个OCS构成多个缓存组,每个缓存组独立处理不同的数据。因为缓存组之间没有数据交叉,所以只需要维护同一个缓存组中OCS之间的数据一致性,而不需要进行缓存组之间的数据一致性的维护,降低了对于数据缓存一致性的维护成本,使得缓存数据同步的过程更为简单,在一定程度上提升了系统性能,而且,通过各缓存组可以低延迟、高并发地进行数据访问,提供高性能存储服务。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中分布式存储系统的一种结构示意图;
图2为本申请实施例中缓存层的一种组织结构示意图;
图3为本申请实施例中分布式存储系统的另一种结构示意图;
图4为本申请实施例中数据访问抽象架构示意图;
图5为本申请实施例中分布式存储系统的另一种结构示意图;
图6为本申请实施例中一种数据访问方法的实施流程图;
图7为本申请实施例中另一种数据访问方法的实施流程图;
图8为本申请实施例中一种数据访问设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1所示,为本申请实施例所提供的一种分布式存储系统的结构示意图,该分布式存储系统可以包括缓存层110和用于进行数据持久化存储的后端存储层120,缓存层110包括多个缓存节点,多个缓存节点上运行多个对象缓存服务OCS,多个OCS构成多个缓存组,每个缓存组独立处理不同的数据。
本申请实施例所提供的分布式存储系统可以包括缓存层110和后端存储层120。
缓存层110可以进行数据缓存,如缓存小I/O(Input/Output,输入/输出)、热点数据等设定类型数据。缓存层110可以包括多个缓存节点,多个缓存节点上可以运行多个OCS(Object Cache Server,对象缓存服务),多个OCS可以构成多个缓存组,每个缓存组可以独立处理不同的数据。缓存组与数据为一对多的对应关系。一个缓存组可包括多个OCS,一个OCS可属于多个缓存组,即运行多个服务实例。OCS主要负责缓存组的逻辑处理。
在本申请的一种具体实施方式中,每个缓存组可以包括主OCS和从OCS,如包括一个主OCS和至少一个从OCS,采用多副本冗余方式保证数据存储的可靠性。同一个缓存组的主OCS和从OCS之间可以通过Raft协议实现数据一致性。主OCS也可称为Leader OCS,从OCS也可称为Follower OCS。
每个缓存组可以由主OCS对外提供数据访问服务,即仅由其主OCS对外提供相应的数据写入、读取等访问服务。这样易于维护数据读写一致性,可以有效避免同一缓存组的多个OCS同时对外提供数据访问服务容易导致的数据读写不一致的情况的发生。
如图2所示,为缓存层110的组织结构示意图,该缓存层110为分布式缓存结构,包括缓存节点0、缓存节点1和缓存节点2,缓存节点0上运行OCS0、OCS1和OCS2,缓存节点1上运行OCS3和OCS4,缓存节点2上运行OCS5和OCS6。其中,OCS0、OCS3和OCS5构成缓存组0,OCS4、OCS1和OCS6构成缓存组1,OCS5、OCS1和OCS4构成缓存组2。在缓存组0中,OCS0为主OCS,OCS3和OCS4为从OCS,在缓存组1中,OCS4为主OCS,OCS1和OCS6为从OCS,在缓存组2中,OCS5为主OCS,OCS1和OCS4为从OCS。缓存组0、缓存组1、缓存组2独立处理不同的数据。
也就是说,在逻辑上缓存组为一组OCS的集合,数据被分配到一个缓存组中,由该缓存组的主OCS决定数据是否在缓存层110中存放,如果确定存放,则将在该缓存组对应的缓存节点中存放多个副本,同一个缓存组内的多个数据在缓存层110中的副本存放采用相同的拓扑结构,都将存放在该缓存组的每个OCS所运行在的缓存节点上。
从图2可以看出,在缓存层110的组织结构中,一个缓存组可以跨越多个缓存节点,一个缓存节点上可以运行多个缓存组的OCS,缓存组和缓存节点之间是多对多的对应关系,缓存数据可以均匀地在各缓存节点上分布。
在本申请实施例中,因为缓存组之间没有数据交叉,所以只需要维护同一个缓存组中主OCS和从OCS之间的数据一致性,而不需要进行所有缓存组之间的数据一致性的维护,降低了维护成本,每个缓存组独立处理不同的数据,通过各缓存组可以低延迟、高并发地进行数据访问,提供高性能存储服务。
后端存储层120用于进行数据持久化存储。在实际应用中,后端存储层120可以仅存储不需要在缓存层110中存储的数据。即对于一个数据而言,其或者在缓存层110中存储,或者在后端存储层120中存储,不会在缓存层110和后端存储层120中同时存储,这样可以节省存储空间。后端存储层120还可以既存储不需要在缓存层110中存储的数据,又存储需要在缓存层110中存储的数据。即对于一个数据而言,如果该数据需要在缓存层110中存储,则在缓存层110中存储的同时也需要在后端存储层120中存储,这样可以提高数据存储可靠性。
后端存储层120可以包括多个OSD(Object Storage Driver,对象存储设备),OSD主要作为后端存储构建分布式对象存储服务,可以运行于存储节点之上。
在实际应用中,存储节点可以利用物理节点中机械硬盘等相对低速的存储介质进行数据存储,缓存节点可以利用物理节点中相对高速的存储介质进行数据存储。
在本申请实施例中,分布式存储系统还可以包括接入层130、协调控制层140和元数据服务层150,如图3所示。
接入层130用于数据的I/O接入,可以包括多个PGW(Protocol Gateway,协议网关),PGW可以将外部的标准访问协议转换为分布式存储系统的内部访问协议,是整个分布式存储系统的前端。
协调控制层140(Monitor,MON)用于监控和调度整个分布式存储系统,可以对分布式存储系统中的缓存节点、OCS、缓存组等在线状态、负载状态等进行监测。
元数据服务层150(Metadata Server,MDS)用于提供元数据访问服务及缓存层110的路由控制。
在本申请实施例中,缓存层110位于客户端和分布式存储系统的后端存储层120之间,数据访问抽象架构如图4所示。客户端只要包含访问CA(Client Agent,客户端代理)与MDS的接口,就可以通过缓存层110及对象数据接口(Object Data Interface)或者对象元数据接口(Object Metadata Interface)去访问后端存储。而CA可以对接不同的协议访问接口,如文件访问接口(NFS(Network File System,网络文件系统)/SMB(Server MessageBlock,服务信息块))和块存储接口(iSCSI(Internet Small Computer SystemInterface,Internet小型计算机系统接口)),将其转换为分布式存储系统内部的访问协议。
在实际应用中,缓存层110可以以一个外部组件的形式链接客户端与后端存储层120,将小I/O、热数据等设定类型的数据存储在高速的分布式缓存中,从而提升系统的整体IO访问性能。
图5所示为分布式存储系统的另一种结构示意图,以缓存层110仅展示一个缓存组为例进行说明。该缓存组包括三个OCS,一主两从,采用多副本的存储方式保证数据的存储可靠性。在该结构中,接入层130的每个PGW与处于同一缓存节点中的OCS对应连接,缓存层110与包含多个OSD的后端存储层120连接,每个PGW包括NFS、SMB、iSCSI等接口,每个OCS包括CA、路由模块、存储引擎等,存储引擎具体可以包括读、写、日志存储等单元。MON可以监测缓存组的负载状态,MDS可以通过MON获得相应负载状态等信息,进行路由控制等。
应用本申请实施例所提供的分布式存储系统,缓存层包括多个缓存节点,多个缓存节点上运行多个OCS,多个OCS构成多个缓存组,每个缓存组独立处理不同的数据。因为缓存组之间没有数据交叉,所以只需要维护同一个缓存组中OCS之间的数据一致性,而不需要进行缓存组之间的数据一致性的维护,降低了对于数据缓存一致性的维护成本,使得缓存数据同步的过程更为简单,在一定程度上提升了系统性能,而且,通过各缓存组可以低延迟、高并发地进行数据访问,提供高性能存储服务。
相应于上面的系统实施例,本申请实施例还提供了一种数据访问方法,该方法可以应用于上述分布式存储系统。参见图6所示,该方法可以包括以下步骤:
S610:根据针对目标数据的写入请求确定用于处理写入请求的目标OCS。
目标OCS为根据多个缓存组中每个缓存组的负载状态确定。
在实际应用中,客户端可以根据实际需求,对分布式存储系统中的数据进行访问,如写入、读取等。客户端发出针对目标数据的写入请求后,分布式存储系统可以接收该写入请求。具体的,可以是分布式存储系统的缓存层的第一缓存节点上的第一OCS接收该写入请求。在分布式存储系统中,写入请求经过PGW接入后,到达PGW所在第一缓存节点上的第一OCS。第一OCS可以是运行在第一缓存节点上的一个主OCS。
在本申请实施例中,分布式存储系统的缓存层包括多个缓存节点,多个缓存节点上运行多个OCS,多个OCS构成多个缓存组,每个缓存组独立处理不同的数据。
第一缓存节点上的第一OCS接收针对目标数据的写入请求后,可以确定用于处理写入请求的目标OCS。该目标OCS可以是根据多个缓存组中每个缓存组的负载状态确定的。
在实际应用中,分布式存储系统的MON可以对整个分布式存储系统的运行状态进行监测,MDS通过MON可以获得各缓存组的负载状态。负载状态可以由I/O请求数量和缓存空间使用情况等因素综合评价。
第一OCS接收到针对目标数据的写入请求后,可以通过MON或者MDS获得各缓存组的负载状态,根据各缓存组的负载状态确定用于处理写入请求的目标OCS。或者,第一OCS接收到针对目标数据的写入请求后,可以向MDS发送确定请求,MDS基于该确定请求,根据各缓存组的负载状态确定用于处理写入请求的目标OCS,然后将确定结果返回给第一OCS,这样第一OCS即可确定用于处理写入请求的目标OCS。
在分布式存储系统中,缓存层的每个缓存组可以由主OCS对外提供数据访问服务。在数据创建,即有写入请求时,需要将待写入的目标数据分配到一个缓存组中,以决定其在缓存层中的访问位置,这个过程可称为路由分配过程。数据的路由分配可以考虑两方面的需求,一方面是使得各OCS上分布的数据均匀,从而使得OCS之间负载均衡;另一方面是尽量使得分配的缓存组的主OCS在当前访问的缓存节点上,因为缓存组中只有主OCS对外提供数据访问服务,如果主OCS在异地节点则需要通过网络转发来处理相应请求,而如果主OCS在当前访问的本地节点则可以避免请求转发,可以提高访问速度。
所以,在实际应用中,可以根据缓存组的负载状态,优先在当前访问的第一缓存节点上选择目标OCS。
S620:基于写入请求对目标数据进行写入处理。
在根据针对目标数据的写入请求确定用于处理写入请求的目标OCS之后,进一步可以由该目标OCS基于写入请求对目标数据进行写入处理。具体的,缓存层的第一缓存节点上的第一OCS接收针对目标数据的写入请求,确定用于处理写入请求的目标OCS后,如果目标OCS就是第一OCS,则可以直接通过第一OCS基于写入请求对目标数据进行写入处理,如果目标OCS不是第一OCS,则第一OCS可以将写入请求转发给目标OCS。具体的,可以直接转发,或者通过PGW转发。
目标OCS获得写入请求后,即可基于写入请求对目标数据进行写入处理。具体的,可以先确定目标数据是否为需要缓存的数据,如果是,则可以将目标数据存储到缓存层中,如果否,则可以将目标数据存储到后端存储层中。
应用本申请实施例所提供的方法,分布式存储系统根据针对目标数据的写入请求确定用于处理写入请求的目标OCS,基于写入请求对目标数据进行写入处理。缓存层的每个缓存组独立处理不同的数据,因为缓存组之间没有数据交叉,所以只需要维护同一个缓存组中OCS之间的数据一致性,而不需要进行缓存组之间的数据一致性的维护,降低了对于数据缓存一致性的维护成本,使得缓存数据同步的过程更为简单,在一定程度上提升了系统性能,而且,通过各缓存组可以低延迟、高并发地进行数据访问,提供高性能存储服务。
在本申请的一种具体实施方式中,步骤S610可以包括以下步骤:
步骤一:将分布式存储系统的第一缓存节点确定为目标缓存节点,第一缓存节点为第一OCS所在的节点,第一OCS为接收针对目标数据的写入请求的OCS;
步骤二:基于分布式存储系统中每个缓存组的负载状态,确定目标缓存节点上是否存在目标缓存组集合,目标缓存组集合中每个缓存组的负载状态均为非过载状态;如果存在目标缓存组集合,则执行步骤三,如果不存在目标缓存组集合,则执行步骤四;
步骤三:在目标缓存组集合中确定用于处理写入请求的目标OCS;
步骤四:按照负载从低到高的顺序依次将缓存层中除第一缓存节点外的每个缓存节点确定为目标缓存节点,重复执行步骤二的操作。
为便于描述,将上述四个步骤结合起来进行说明。
在实际应用中,缓存组、缓存节点等的负载状态可以分为三种:负载较低或者空闲的空闲状态(也可称为idle状态)、负载中等状态(也可称为normal状态)、过载状态(也可称为overload状态)。分布式存储系统可以全局维护几种状态的列表。
在本申请实施例中,在进行用于处理写入请求的目标OCS的确定时,可以先将接收针对目标数据的写入请求的第一OCS所在的第一缓存节点确定为目标缓存节点,基于分布式存储系统中每个缓存组的负载状态,确定目标缓存节点上是否存在目标缓存组集合。目标缓存组集合可以满足以下设定条件:目标缓存组集合中每个缓存组的负载状态均为非过载状态。当然,如果每个缓存组包括主OCS和从OCS,则目标缓存组集合还可以同时满足以下设定条件:目标缓存组集合中每个缓存组的主OCS运行在目标缓存节点上。
如果目标缓存节点上存在目标缓存组集合,则可以在目标缓存组集合中确定用于处理写入请求的目标OCS。即先在当前访问的第一缓存节点中进行目标OCS的选择。
具体的,可以先确定目标缓存组集合中是否存在处于空闲状态的缓存组,如果存在,则可以在处于空闲状态的缓存组中选择一个缓存组,如随机选择一个缓存组,在选择出的缓存组的OCS中确定用于处理写入请求的目标OCS,如将选择出的缓存组的主OCS确定为用于处理写入请求的目标OCS;如果不存在,则可以在目标缓存组集合的处于负载中等状态的缓存组中选择一个缓存组,如选择负载最低的一个缓存组,在选择出的缓存组的OCS中确定用于处理写入请求的目标OCS,如将选择出的缓存组的主OCS确定为用于处理写入请求的目标OCS。这样可以使得选择出的缓存组是负载较低的缓存组,有利于负载均衡。
如果目标缓存节点上不存在目标缓存组集合,则可以按照负载从低到高的顺序依次将缓存层中除第一缓存节点外的每个缓存节点确定为目标缓存节点,重复执行步骤二的操作,即重复执行确定目标缓存节点上是否存在目标缓存组集合的步骤。
在本申请实施例中,目标缓存组集合中每个缓存组的负载状态均为非过载状态。如果目标缓存节点中不存在这样的目标缓存组集合,则表明运行在目标缓存节点上的OCS所在的缓存组均处于过载状态。在这种情况下,可以按照负载从低到高的顺序依次将除第一缓存节点外的其他每个缓存节点确定为目标缓存节点,然后重复执行确定目标缓存节点上是否存在目标缓存组集合的步骤。在此过程中,如果能够确定出目标缓存组集合,则不再进行后续目标缓存节点的确定等步骤。
举例而言,将当前访问的第一缓存节点确定为目标缓存节点后,确定目标缓存节点上不存在目标缓存组集合,其他缓存节点按照负载从低到高的顺序排列为:缓存节点A、缓存节点B。将缓存节点A确定为目标缓存节点,确定目标缓存节点上是否存在目标缓存组集合。如果存在,则在目标缓存组集合中确定用于处理写入请求的目标OCS,不再进行将缓存节点B确定为目标缓存节点,重复执行确定目标缓存节点上是否存在目标缓存组集合的步骤。如果不存在,则继续将缓存节点B确定为目标缓存节点,确定目标缓存节点上是否存在目标缓存组集合,如果存在,则在目标缓存组集合中确定用于处理写入请求的目标OCS。
在本申请的一个实施例中,如果缓存层的所有缓存节点中均不存在目标缓存组集合,则可以在负载最低的缓存组的OCS中确定用于处理写入请求的目标OCS。
如果缓存层的所有缓存节点中均不存在满足设定条件的目标缓存组集合,则可以在遍历过程中查询到的负载最低的缓存组的OCS中确定目标OCS,用于处理写入请求。如可以将负载最低的缓存组的主OCS确定为用于处理写入请求的目标OCS。
在本申请实施例中,优先在当前访问的第一缓存节点中选择用于处理写入请求的目标OCS,可以减少请求转发次数,缩短了I/O路径,可以提高访问速度,而且在进行目标OCS的选择中,考虑到了负载状态,兼顾了缓存节点之间、缓存组之间的负载均衡。
在本申请的一个实施例中,步骤S620可以包括以下步骤:
判断目标数据是否符合预设的缓存条件;
如果符合,则将目标数写入到目标OCS所在的缓存组对应的缓存节点中;
如果不符合,则将目标数据写入到分布式存储系统的后端存储层中。
为便于描述,将上述几个步骤结合起来进行说明。
在本申请实施例中,根据缓存组的负载状态,确定用于处理写入请求的目标OCS后,目标OCS可以对目标数据进行存放位置的判定。
目标OCS可以先判断目标数据是否符合预设的缓存条件。缓存条件可根据实际情况进行设定和调整,如目标数据为设定类型数据,则认为其符合预设的缓存条件。
如果目标数据符合预设的缓存条件,则可以将目标数据写入到目标OCS所在的缓存组对应的缓存节点中。当然,同时,也可以将目标数据存储到后端存储层中,进行持久化存储。
如果目标数据不符合预设的缓存条件,则可以将目标数据写入到后端存储层中。即不在缓存层中存储目标数据,而是直接将目标数据存储到后端存储层中。
将符合缓存条件的数据写入到缓存节点中,可以减轻缓存节点的存储压力。
相应于上面的系统实施例,本申请实施例还提供了一种数据访问方法,该方法可以应用于上述分布式存储系统。参见图7所示,该方法可以包括以下步骤:
S710:根据针对目标数据的读取请求获得目标数据的路由信息;
S720:根据路由信息,确定用于处理读取请求的目标OCS;
S730:基于读取请求对目标数据进行读取处理。
为便于描述,将上述三个步骤结合起来进行说明。
在实际应用中,客户端可以根据实际需求,对分布式存储系统中的数据进行访问,如写入、读取等。客户端发出针对目标数据的读取请求后,分布式存储系统可以接收该读取请求。具体的,可以是分布式存储系统的缓存层的第二缓存节点上的第二OCS接收该读取请求。在分布式存储系统中,读取请求经过PGW接入后,到达PGW所在第二缓存节点上的第二OCS,第二OCS可以通过CA接收该读取请求。第二OCS可以是运行在第二缓存节点上的一个主OCS。
在接收到针对目标数据的读取请求时,可以先根据读取请求,查询并获得目标数据的路由信息。具体的,第二OCS可以通过路由模块向MDS查询目标数据的路由信息。根据查询获得的路由信息,可以确定用于处理读取请求的目标OCS。
在本申请实施例中,分布式存储系统的缓存层包括多个缓存节点,多个缓存节点上运行多个OCS,多个OCS构成多个缓存组,每个缓存组独立处理不同的数据。客户端访问数据时将请求交由OCS处理。由于不同缓存组缓存不同的数据,所以需要将客户端的请求路由到合适的OCS处理。
根据路由信息,可以确定待读取的目标数据所在的目标缓存组,在目标缓存组的OCS中确定用于处理读取请求的目标OCS,如将目标缓存组的主OCS确定为用于处理读取请求的目标OCS。
如果第二OCS就是目标OCS,则第二OCS可以直接基于读取请求对目标数据进行读取处理,响应读取请求。如果第二OCS不是目标OCS,则第二OCS可以将读取请求转发给目标OCS,具体的,可以通过PGW转发读取请求,由目标OCS基于读取请求对目标数据进行读取处理。
如果待读取的目标数据在缓存层中存储,则可以直接读取到该目标数据返回给客户端,如果待读取的目标数据在后端存储层中存储,则可以在后端存储层中获取到该目标数据,返回给客户端。
应用本申请实施例所提供的方法,根据针对目标数据的读取请求获得目标数据的路由信息,并根据路由信息,确定用于处理读取请求的目标OCS,基于读取请求对目标数据进行读取处理。缓存层的每个缓存组独立处理不同的数据,因为缓存组之间没有数据交叉,所以只需要维护同一个缓存组中OCS之间的数据一致性,而不需要进行缓存组之间的数据一致性的维护,降低了对于数据缓存一致性的维护成本,使得缓存数据同步的过程更为简单,在一定程度上提升了系统性能,而且,通过各缓存组可以低延迟、高并发地进行数据访问,提供高性能存储服务。
相应于上面的系统实施例和方法实施例,本申请实施例还提供了一种缓存层,如图2所示,缓存层位于分布式存储系统中,缓存层包括多个缓存节点,多个缓存节点上运行多个对象缓存服务OCS,多个OCS构成多个缓存组,每个缓存组独立处理不同的数据;
缓存层的第一缓存节点上的第一OCS用于:
接收针对目标数据的写入请求;
确定用于处理写入请求的目标OCS,目标OCS为根据多个缓存组中每个缓存组的负载状态确定;
目标OCS用于:
基于写入请求对目标数据进行写入处理。
相应于上面的系统实施例和方法实施例,本申请实施例还提供了一种缓存层,如图2所示,缓存层位于分布式存储系统中,缓存层包括多个缓存节点,多个缓存节点上运行多个对象缓存服务OCS,多个OCS构成多个缓存组,每个缓存组独立处理不同的数据;
缓存层的第二缓存节点上的第二OCS用于:
接收针对目标数据的读取请求;
获得目标数据的路由信息;
根据路由信息,确定用于处理读取请求的目标OCS;
目标OCS用于:
基于读取请求对目标数据进行读取处理。
相应于上面的方法实施例,本申请实施例还提供了一种数据访问设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现上述数据访问方法的步骤。
如图8所示,为数据访问设备的组成结构示意图,数据访问设备可以包括:处理器10、存储器11、通信接口12和通信总线13。处理器10、存储器11、通信接口12均通过通信总线13完成相互间的通信。
在本申请实施例中,处理器10可以为中央处理器(Central Processing Unit,CPU)、特定应用集成电路、数字信号处理器、现场可编程门阵列或者其他可编程逻辑器件等。
处理器10可以调用存储器11中存储的程序,具体的,处理器10可以执行数据方法的实施例中的操作。
存储器11中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本申请实施例中,存储器11中至少存储有用于实现以下功能的程序:
根据针对目标数据的写入请求确定用于处理写入请求的目标OCS,目标OCS为根据多个缓存组中每个缓存组的负载状态确定;
基于写入请求对目标数据进行写入处理;
和/或,
根据针对目标数据的读取请求获得目标数据的路由信息;
根据路由信息,确定用于处理读取请求的目标OCS;
基于读取请求对目标数据进行读取处理。
在一种可能的实现方式中,存储器11可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及至少一个功能(比如写入功能、读取功能)所需的应用程序等;存储数据区可存储使用过程中所创建的数据。
此外,存储器11可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
通信接口13可以为通信模块的接口,用于与其他设备或者系统连接。
当然,需要说明的是,图8所示的结构并不构成对本申请实施例中数据访问设备的限定,在实际应用中数据访问设备可以包括比图8所示的更多或更少的部件,或者组合某些部件。
相应于上面的方法实施例,本申请实施例还提供了一种计算机存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述数据访问方法的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (15)
1.一种分布式存储系统,其特征在于,包括:
缓存层和用于进行数据持久化存储的后端存储层;
所述缓存层包括多个缓存节点,所述多个缓存节点上运行多个对象缓存服务OCS,所述多个OCS构成多个缓存组,每个缓存组独立处理不同的数据。
2.根据权利要求1所述的系统,其特征在于,每个缓存组包括主OCS和从OCS。
3.根据权利要求2所述的系统,其特征在于,每个缓存组由主OCS对外提供数据访问服务。
4.一种数据访问方法,其特征在于,应用于权利要求1至3任一项所述的分布式存储系统,所述方法包括:
根据针对目标数据的写入请求确定用于处理所述写入请求的目标OCS,所述目标OCS为根据所述多个缓存组中每个缓存组的负载状态确定;
基于所述写入请求对所述目标数据进行写入处理。
5.根据权利要求4所述的方法,其特征在于,所述根据针对目标数据的写入请求确定用于处理所述写入请求的目标OCS,包括:
将所述分布式存储系统的第一缓存节点确定为目标缓存节点,所述第一缓存节点为第一OCS所在的节点,所述第一OCS为接收针对目标数据的写入请求的OCS;
基于所述分布式存储系统中每个缓存组的负载状态,确定所述目标缓存节点上是否存在目标缓存组集合,所述目标缓存组集合中每个缓存组的负载状态均为非过载状态;
如果存在所述目标缓存组集合,则在所述目标缓存组集合中确定用于处理所述写入请求的目标OCS。
6.根据权利要求5所述的方法,其特征在于,还包括:
如果所述目标缓存节点上不存在所述目标缓存组集合,则按照负载从低到高的顺序依次将所述缓存层中除所述第一缓存节点外的每个缓存节点确定为目标缓存节点,重复执行所述确定所述目标缓存节点上是否存在目标缓存组集合的步骤。
7.根据权利要求6所述的方法,其特征在于,还包括:
如果所述缓存层的所有缓存节点中均不存在所述目标缓存组集合,则在负载最低的缓存组的OCS中确定用于处理所述写入请求的目标OCS。
8.根据权利要求5所述的方法,其特征在于,所述在所述目标缓存组集合中确定用于处理所述写入请求的目标OCS,包括:
确定所述目标缓存组集合中是否存在处于空闲状态的缓存组;
如果存在,则在处于空闲状态的缓存组中选择一个缓存组,在选择出的缓存组的OCS中确定用于处理所述写入请求的目标OCS;
如果不存在,则在所述目标缓存组集合的处于负载中等状态的缓存组中选择一个缓存组,在选择出的缓存组的OCS中确定用于处理所述写入请求的目标OCS。
9.根据权利要求8所述的方法,其特征在于,所述在所述目标缓存组集合的处于负载中等状态的缓存组中选择一个缓存组,包括:
在所述目标缓存组集合的处于负载中等状态的缓存组中,选择负载最低的一个缓存组。
10.根据权利要求4至9之中任一项所述的方法,其特征在于,所述基于所述写入请求对所述目标数据进行写入处理,包括:
判断所述目标数据是否符合预设的缓存条件;
如果符合,则将所述目标数据写入到所述目标OCS所在的缓存组对应的缓存节点中;
如果不符合,则将所述目标数据写入到所述分布式存储系统的后端存储层中。
11.一种数据访问方法,其特征在于,应用于权利要求1至3之中任一项所述的分布式存储系统,所述方法包括:
根据针对目标数据的读取请求获得所述目标数据的路由信息;
根据所述路由信息,确定用于处理所述读取请求的目标OCS;
基于所述读取请求对所述目标数据进行读取处理。
12.一种缓存层,其特征在于,所述缓存层位于分布式存储系统中,所述缓存层包括多个缓存节点,所述多个缓存节点上运行多个对象缓存服务OCS,所述多个OCS构成多个缓存组,每个缓存组独立处理不同的数据;
所述缓存层的第一缓存节点上的第一OCS用于:
接收针对目标数据的写入请求;
确定用于处理所述写入请求的目标OCS,所述目标OCS为根据所述多个缓存组中每个缓存组的负载状态确定;
所述目标OCS用于:
基于所述写入请求对所述目标数据进行写入处理。
13.一种缓存层,其特征在于,所述缓存层位于分布式存储系统中,所述缓存层包括多个缓存节点,所述多个缓存节点上运行多个对象缓存服务OCS,所述多个OCS构成多个缓存组,每个缓存组独立处理不同的数据;
所述缓存层的第二缓存节点上的第二OCS用于:
接收针对目标数据的读取请求;
获得所述目标数据的路由信息;
根据所述路由信息,确定用于处理所述读取请求的目标OCS;
所述目标OCS用于:
基于所述读取请求对所述目标数据进行读取处理。
14.一种数据访问设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求4至11任一项所述数据访问方法的步骤。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求4至11任一项所述数据访问方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010363875.3A CN113590507A (zh) | 2020-04-30 | 2020-04-30 | 一种分布式存储系统及其缓存层、数据访问方法、设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010363875.3A CN113590507A (zh) | 2020-04-30 | 2020-04-30 | 一种分布式存储系统及其缓存层、数据访问方法、设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113590507A true CN113590507A (zh) | 2021-11-02 |
Family
ID=78237329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010363875.3A Pending CN113590507A (zh) | 2020-04-30 | 2020-04-30 | 一种分布式存储系统及其缓存层、数据访问方法、设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113590507A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050024446A (ko) * | 2002-07-04 | 2005-03-10 | 소니 가부시키가이샤 | 캐시 장치 및 캐시 데이터 관리 방법과 컴퓨터 프로그램 |
CN103019960A (zh) * | 2012-12-03 | 2013-04-03 | 华为技术有限公司 | 分布式缓存方法及系统 |
US20130136056A1 (en) * | 2011-11-30 | 2013-05-30 | Srinivasan Venkatraman | Distributed content management wireless network architecture |
CN105577806A (zh) * | 2015-12-30 | 2016-05-11 | Tcl集团股份有限公司 | 一种分布式缓存方法及系统 |
US9619389B1 (en) * | 2013-07-11 | 2017-04-11 | Unigen Corporation | System for a backward and forward application environment compatible distributed shared coherent storage |
CN108183947A (zh) * | 2017-12-27 | 2018-06-19 | 深圳天源迪科信息技术股份有限公司 | 分布式缓存方法及系统 |
CN108804347A (zh) * | 2017-05-05 | 2018-11-13 | 华中科技大学 | 一种用于工业大数据汇聚的缓存层、汇聚系统及方法 |
US10210167B1 (en) * | 2012-05-07 | 2019-02-19 | Amazon Technologies, Inc. | Multi-level page caching for distributed object store |
-
2020
- 2020-04-30 CN CN202010363875.3A patent/CN113590507A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050024446A (ko) * | 2002-07-04 | 2005-03-10 | 소니 가부시키가이샤 | 캐시 장치 및 캐시 데이터 관리 방법과 컴퓨터 프로그램 |
US20130136056A1 (en) * | 2011-11-30 | 2013-05-30 | Srinivasan Venkatraman | Distributed content management wireless network architecture |
US10210167B1 (en) * | 2012-05-07 | 2019-02-19 | Amazon Technologies, Inc. | Multi-level page caching for distributed object store |
CN103019960A (zh) * | 2012-12-03 | 2013-04-03 | 华为技术有限公司 | 分布式缓存方法及系统 |
US9619389B1 (en) * | 2013-07-11 | 2017-04-11 | Unigen Corporation | System for a backward and forward application environment compatible distributed shared coherent storage |
CN105577806A (zh) * | 2015-12-30 | 2016-05-11 | Tcl集团股份有限公司 | 一种分布式缓存方法及系统 |
CN108804347A (zh) * | 2017-05-05 | 2018-11-13 | 华中科技大学 | 一种用于工业大数据汇聚的缓存层、汇聚系统及方法 |
CN108183947A (zh) * | 2017-12-27 | 2018-06-19 | 深圳天源迪科信息技术股份有限公司 | 分布式缓存方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7823156B2 (en) | Method of hashing address space to storage servers | |
KR102044023B1 (ko) | 키 값 기반 데이터 스토리지 시스템 및 이의 운용 방법 | |
US20160132541A1 (en) | Efficient implementations for mapreduce systems | |
CN112000287B (zh) | 一种io请求处理装置、方法、设备及可读存储介质 | |
CN108762668B (zh) | 一种处理写入冲突的方法及装置 | |
CN113377868B (zh) | 一种基于分布式kv数据库的离线存储系统 | |
US9213501B2 (en) | Efficient storage of small random changes to data on disk | |
CN103312624A (zh) | 一种消息队列服务系统和方法 | |
CN110119304B (zh) | 一种中断处理方法、装置及服务器 | |
CN112506823B (zh) | 一种fpga数据读写方法、装置、设备及可读存储介质 | |
CN115167786B (zh) | 一种数据存储方法、装置、系统、设备和介质 | |
US11487473B2 (en) | Memory system | |
CN108777718B (zh) | 一种业务系统通过客户端访问读多写少系统的方法和装置 | |
US11288012B2 (en) | Memory system | |
CN110147345A (zh) | 一种基于rdma的键值存储系统及其工作方法 | |
CN113794764A (zh) | 服务器集群的请求处理方法、介质和电子设备 | |
CN107493309B (zh) | 一种分布式系统中的文件写入方法及装置 | |
CN116560562A (zh) | 一种读、写数据方法及装置 | |
US11093493B1 (en) | Dynamically switching between query and scan for optimizing table reads | |
CN114785662B (zh) | 一种存储管理方法、装置、设备及机器可读存储介质 | |
CN113590507A (zh) | 一种分布式存储系统及其缓存层、数据访问方法、设备 | |
EP4213006A1 (en) | Storage node, storage device and network chip | |
CN106484310B (zh) | 一种存储阵列操作方法和装置 | |
CN116594551A (zh) | 一种数据存储方法及装置 | |
CN111221857B (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 |