CN116633616A - 数据访问方法、系统、设备及存储介质 - Google Patents
数据访问方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN116633616A CN116633616A CN202310581803.XA CN202310581803A CN116633616A CN 116633616 A CN116633616 A CN 116633616A CN 202310581803 A CN202310581803 A CN 202310581803A CN 116633616 A CN116633616 A CN 116633616A
- Authority
- CN
- China
- Prior art keywords
- target data
- version number
- storage node
- data
- storage
- 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 68
- 230000004048 modification Effects 0.000 claims abstract description 32
- 238000012986 modification Methods 0.000 claims abstract description 32
- 238000004891 communication Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000012795 verification Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- 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/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
- G06F16/2329—Optimistic concurrency control using versioning
-
- 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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书一个或多个实施例提供一种数据访问方法、系统、设备及存储介质。所述方法包括:在有访问请求的情况下,确认本地是否缓存所述访问请求指示的目标数据;若否,向存储节点发送该所述访问请求,以接收所述存储节点返回的所述目标数据及其版本号,并缓存在本地;其中,存储节点存储的任一条数据的版本号基于对该条数据的修改操作而相应修改;若是,在确定本地缓存的所述目标数据的版本号与存储节点存储的所述目标数据的版本号一致的情况下,读取本地缓存的目标数据,否则,向存储节点发送该访问请求。本实施例实现减轻存储节点的负载,并保证数据的强一致性。
Description
技术领域
本说明书一个或多个实施例涉及数据访问技术领域,尤其涉及一种数据访问方法、系统、设备及存储介质。
背景技术
在相关技术的数据访问系统中,数据可以存储在一个或一个以上的存储节点中,不同的访问端可以根据实际的访问需要访问任意一个存储节点,从存储节点中读取需要的数据。
当一个存储节点中的某一条数据的访问热度较高时,会使该存储节点的负载增加,导致存储节点出现性能瓶颈,有些访问该条数据的访问端可能需要等待较长的时间。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种数据访问方法、系统、设备及存储介质。
为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
根据本说明书一个或多个实施例的第一方面,提出了一种数据访问方法,应用于访问端,所述方法包括:
在有访问请求的情况下,确认本地是否缓存所述访问请求指示的目标数据;
若否,向存储节点发送该所述访问请求,以接收所述存储节点返回的所述目标数据及其版本号,并缓存在本地;其中,存储节点存储的任一条数据的版本号基于对该条数据的修改操作而相应修改;
若是,在确定本地缓存的所述目标数据的版本号与存储节点存储的所述目标数据的版本号一致的情况下,读取本地缓存的目标数据,否则,向存储节点发送该访问请求。
本实施例具有如下有益效果:实现在读取本地缓存的目标数据之前会进行版本号校验,只有本地缓存的所述目标数据的版本号与存储节点存储的所述目标数据的版本号相同才会读取本地缓存的目标数据,这个机制既降低了存储节点的负载又保证了从本地读取的目标数据一定是存储节点最新的值,实现数据强一致和准确性。
根据本说明书一个或多个实施例的第二方面,提出了一种数据访问方法,应用于存储节点,所述方法包括:
接收任意一个访问端发送的访问请求,确定所述访问请求指示的目标数据;
将所述目标数据及其版本号返回给所述访问端,以使所述访问端将所述目标数据及其版本号缓存在本地;其中,存储节点存储的任一条数据的版本号基于对该条数据的修改操作而相应修改;
其中,所述目标数据及其版本号用于使所述访问端在再次接收到针对于所述目标数据的访问请求时,在确定本地缓存的所述目标数据的版本号与存储节点存储的所述目标数据的版本号一致的情况下,读取本地缓存的目标数据。
本实施例具有如下有益效果:任一条数据的版本号基于对该条数据的修改操作而相应修改,这让数据的修改和版本号的修改一定能同步进行,保持一致。访问端在读取本地缓存的目标数据之前会进行版本号校验,只有本地缓存的所述目标数据的版本号与存储节点存储的所述目标数据的版本号相同才会读取本地缓存的目标数据,这个机制既降低了存储节点的负载又保证了从本地读取的目标数据一定是存储节点最新的值,实现数据强一致和准确性。
根据本公开实施例的第三方面,提供一种数据访问方法,应用于存储节点,任一所述存储节点用于将本存储节点的至少一条数据及其版本号缓存在其他存储节点,并通知访问端;和/或,接收其他存储节点发送的至少一条数据及其版本号并存储在本地;存储节点存储的任一条数据的版本号基于对该条数据的修改操作而相应修改;所述方法包括:
接收任意一个访问端发送的访问请求,确定所述访问请求指示的目标数据是否为其他存储节点缓存在本存储节点中的;
若否,向所述访问端返回所述目标数据;
若是,在确定本存储节点存储的目标数据的版本号与所述其他存储节点存储的所述目标数据的版本号一致的情况下,将本地缓存的目标数据返回给所述访问端。
本实施例具有如下有益效果:将数据缓存至其他存储节点有利于降低本存储节点的访问负载,并且缓存在其他存储节点的目标数据在返回给访问端之前需要进行版本号校验,只有确定两个存储节点存储的目标数据的版本号一致的情况下,才向访问端返回目标数据,实现数据强一致和准确性。
根据本公开实施例的第四方面,提供一种数据访问系统,包括至少一个访问端和至少一个存储节点;
任一所述存储节点,用于接收任一访问端发送的访问请求,确定所述访问请求指示的目标数据;将所述目标数据及其版本号返回给所述访问端;其中,存储节点存储的任一条数据的版本号基于对该条数据的修改操作而相应修改;
任一所述访问端,用于在有访问请求的情况下,确认本地是否缓存所述访问请求指示的目标数据;若否,向存储节点发送该访问请求,以接收所述存储节点返回的所述目标数据及其版本号,并缓存在本地;若是,在确定本地缓存的所述目标数据的版本号与存储节点存储的所述目标数据的版本号一致的情况下,读取本地缓存的目标数据,否则,向存储节点发送该访问请求。
根据本公开实施例的第五方面,提供一种数据访问系统,包括至少一个访问端和至少两个存储节点;
任一所述存储节点,用于将本存储节点的至少一条数据及其版本号缓存在其他存储节点,并通知访问端;和/或,接收其他存储节点发送的至少一条数据及其版本号并存储在本地;其中,存储节点存储的任一条数据的版本号基于对该条数据的修改操作而相应修改;
任一访问端,用于向存储节点发送访问请求;
任一所述存储节点,还用于接收任意一个访问端发送的访问请求,确定所述访问请求指示的目标数据是否为其他存储节点缓存在本存储节点中的;若否,向所述访问端返回所述目标数据;若是,在确定本存储节点存储的目标数据的版本号与所述其他存储节点存储的所述目标数据的版本号一致的情况下,将本地缓存的目标数据返回给所述访问端。根据本公开实施例的第六方面,提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器执行所述可执行指令时,用于实现第一方面所述的方法。
根据本公开实施例的第七方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述方法的步骤。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
图1是一示例性实施例提供的第一种数据访问系统的结构示意图。
图2是一示例性实施例提供的第二种数据访问系统的结构示意图。
图3是一示例性实施例提供的数据访问过程的时序图。
图4是一示例性实施例提供的第三种数据访问系统的结构示意图。
图5是一示例性实施例提供的第四种数据访问系统的结构示意图。
图6是一示例性实施例提供的一种数据访问方法的流程示意图。
图7A是一示例性实施例提供的另一种数据访问方法的流程示意图。
图7B是一示例性实施例提供的又一种数据访问方法的流程示意图。
图8是一示例性实施例提供的一种设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
相关技术中,数据可以存储在一个或一个以上的存储节点中,以数据库中的数据表为例,数据表中的数据可以基于分片规则分散在不同的存储节点上。不同的访问端可以根据实际的访问需要访问任意一个存储节点,从存储节点中读取需要的数据。当一个存储节点中的某一条数据的访问热度较高时,会使该存储节点的负载增加,导致存储节点出现性能瓶颈,有些访问该条数据的访问端可能需要等待较长的时间。其中,存储节点是集成在物理设备中的软件产品,一个物理设备可以集成一个或多个存储节点,本实施例对此不做任何限制。
相关技术中一种应对存储节点负载增加的方案是:将热点数据缓存在访问端上,然后使用异步通知的方案来失效缓存的热点数据。例如访问端可以订阅数据失效消息以及获取热点数据信息;访问端从服务端请求数据A,如果A是热点数据则将返回的A的值缓存在本地内存中;当访问端再次收到读取A的请求,直接返回缓存在内存中的结果,避免请求服务端,这让热点A的流量降低;当A被修改时,服务端会异步发送失效A的消息给访问端,访问端删除本地缓存,后续请求A会再次向服务端请求最新数据。该方案中失效A的消息是异步发送,这导致A被修改至收到A失效消息的这段时间内,访问端会读取到不一致的结果。并且服务端和访问端不在同一台机器,服务端和访问端的通讯可能出现断连、丢包等异常,当A被修改后服务端没有办法保证及时的通知到所有访问端,从而无法保证数据的一致性。
针对于相关技术中的问题,请参阅图1,本说明书实施例提供了一种数据访问系统,包括至少一个访问端和至少一个存储节点。图1中的n为大于0的整数。其中,任一存储节点用于存储至少一条数据以及各条数据的版本号;任一条数据的版本号基于对该条数据的修改操作而相应修改。举个例子,以数据库中的数据表为例,这里的一条数据指示数据表中的一行数据,当该行数据中的其中一个值被修改之后,该行数据的版本号被相应修改。在其他的场景中,比如在函数调用场景中,一条数据可以是指某个函数的所有入参的值。本实施例对于数据的划分不做任何限制,可依据实际应用场景进行具体设置。
任一所述存储节点,还用于接收任一访问端发送的访问请求,确定所述访问请求指示的目标数据;将所述目标数据及所述目标数据的版本号返回给所述访问端。
任一所述访问端,用于在有访问请求的情况下,确认本地是否缓存所述访问请求指示的目标数据;若否,向存储节点发送该访问请求,以接收所述存储节点返回的所述目标数据及所述目标数据的版本号,并缓存在本地;若是,在确定本地缓存的所述目标数据的版本号与存储节点存储的所述目标数据的版本号一致的情况下,读取本地缓存的目标数据,否则,向存储节点发送该访问请求。
本实施例实现访问端可以缓存目标数据,从而在后续有同样需求的情况下可以直接读取本地缓存的目标数据,无需再从存储节点中获取,从而有利于降低存储节点的负载;并且考虑到存储节点存储的目标数据会被修改导致访问端存储的目标数据失效的问题,为了避免访问端错误读取失效的目标数据,进一步提供版本号校验方式,存储节点在返回目标数据的时候一并返回目标数据的版本号,访问端可以缓存目标数据及其版本号,在确定本地缓存的所述目标数据的版本号与存储节点存储的所述目标数据的版本号一致的情况下,表明访问端缓存的目标数据为最新的未失效的数据,则可以直接读取本地缓存的目标数据,保证了数据读取的准确性和强一致性。在一些实施例中,请参阅图2,所述访问端包括代理节点和第一客户端。所述代理节点能够与第一客户端或第二客户端通信连接。示例性的,代理节点可以接收第一客户端发送的访问请求,并转发给存储节点;以及在获取访问请求指示的目标数据之后,将其返回给第一客户端。示例性的,代理节点可以接收第二客户端发送的访问请求,并转发给存储节点;以及在获取访问请求指示的目标数据之后,将其返回给第二客户端。
在一种可能的场景中,所述代理节点、第一客户端和所述存储节点由同一生产商维护,则该生厂商的开发人员可以实现对代理节点或者第一客户端的代码进行修改,以使得修改后的代理节点和修改后的第一客户端具备上述功能。所述第二客户端为开源客户端或者由其他生产商维护,第二客户端的代码无法被修改,第二客户端可以通过修改后的代理端访问所述存储节点。当然,第一客户端也可以通过修改后的代理端访问所述存储节点,本实施例对此不做任何限制。
在另一种可能的场景中,所述代理节点、第一客户端、和所述存储节点也可以由不同的生产商维护,可以由不同生产商通过协商进行代码修改,以实现本说明书实施例提供的功能,本实施例对此不做任何限制。
在一些可能的实施方式中,版本号校验过程可以在访问端中进行,以降低校验操作对存储节点的负载。示例性的,所述访问端所在设备安装第一RDMA(Remote DirectMemory Access,远程直接数据存取)网卡,以及所述存储节点所在的设备安装第二RDMA网卡。RDMA技术通过网络把数据直接传入计算机的存储区,将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任何影响,这样就不需要用到多少计算机的处理功能。
任一所述存储节点,还用于接收任一访问端发送的访问请求,确定所述访问请求指示的目标数据;将所述目标数据、所述目标数据的版本号以及所述版本号的存储地址返回给所述访问端。
任一所述访问端,还用于在有访问请求的情况下,确认本地是否缓存所述访问请求指示的目标数据;若否,向存储节点发送该访问请求,以接收所述存储节点返回的所述目标数据、所述目标数据的版本号以及所述版本号的存储地址,并缓存在本地;若是,通过所述第一RDMA网卡向所述第二RDMA网卡发送第一校验请求,所述第一校验请求携带有所述目标数据的版本号的存储地址,以使所述第二RDMA网卡从该存储地址读取存储节点存储的所述目标数据的版本号并返回;在确定本地缓存的所述目标数据的版本号与所述第二RDMA网卡返回的版本号一致的情况下,读取本地缓存的目标数据,否则,向存储节点发送该访问请求。
本实施例能够借助于RDMA技术,在无需存储节点的处理器(如CPU)参与的情况下,由存储节点的第二RDMA网卡直接从存储地址中读取版本号并返回,能够极大降低存储节点的处理器的负载。
在一个例子中,请参阅图3所示的数据访问系统的时序图。
11,在T1时刻,访问端1存在用于请求数据A的数据访问请求1,且访问端1的本地存储空间未缓存数据A,则访问端1向存储节点1发送访问请求1;
12,存储节点1响应于访问请求1,将数据A(假设A=1)、数据A的版本号ver(假设ver=5)和版本号的存储地址返回给访问端1。
13,访问端1将存储节点1返回的数据A(A=1)、数据A的版本号ver(ver=5)和版本号的存储地址缓存在本地存储空间。
14、在T2时刻,访问端1又有请求数据A的需求,即存在用于请求数据A的数据访问请求2,在确认本地缓存有数据A的情况下,通过第一RDMA网卡向第二RDMA网卡发送第一校验请求,所述第一校验请求携带数据A的版本号的存储地址。
15、第二RDMA网卡直接从该存储地址读取存储节点存储的数据A的版本号并返回。
16、访问端1检验本地存储的数据A的版本号与第二RDMA网卡返回的版本号一致,直接读取本地缓存的数据A。
17、在T3时刻,访问端2向存储节点1发送针对于数据A的修改请求,请求将A=1修改为A=2。
18、存储节点1基于修改请求修改数据A,并修改数据A的版本号(假设修改后的ver=6)。
19、在T4时刻,访问端1再次有请求数据A的需求,即存在用于请求数据A的数据访问请求3,在确认本地缓存有数据A的情况下,通过第一RDMA网卡向第二RDMA网卡发送第一校验请求,所述第一校验请求携带数据A的版本号的存储地址。
20、第二RDMA网卡直接从该存储地址读取存储节点存储的数据A的版本号并返回。
21、访问端1检验本地存储的数据A的版本号(ver=5)与第二RDMA网卡返回的版本号(ver=6)不一致,则向存储节点1发送访问请求3。
在另一种可能的实现方式中,版本号校验过程也可以在存储节点中进行,任一所述存储节点,还用于接收任一访问端发送的访问请求,确定所述访问请求指示的目标数据;将所述目标数据及其版本号返回给所述访问端;其中,存储节点存储的任一条数据的版本号基于对该条数据的修改操作而相应修改;
任一所述访问端,用于在有访问请求的情况下,确认本地是否缓存所述访问请求指示的目标数据;若否,向存储节点发送该访问请求,以接收所述存储节点返回的所述目标数据及其版本号,并缓存在本地;若是,向所述存储节点发送第二校验请求,所述第二校验请求携带有本地缓存的所述目标数据的版本号;
任一所述存储节点,还用于接收任意一个访问端发送的第二校验请求,将所述第二校验请求携带的所述目标数据的版本号与所述存储节点存储的所述目标数据的版本号进行比对,在两者一致的情况下向所述访问端返回校验一致信息,以使所述访问端读取缓存在访问端本地的目标数据;以及在两者不一致的情况下向所述访问端返回校验不一致信息,以使所述访问端向本存储节点发送访问请求。
本实施例中,实现在版本号校验一致的情况下,访问端无需从存储节点读取数据,有利于降低存储节点的负载,同时保证数据的强一致性。
在一些实施例中,考虑到有些数据的访问频率较低,如果将这些数据缓存在访问端,后续访问端再次访问的几率较低,造成访问端存储资源浪费的问题。因此,任一所述存储节点,还用于在接收任意一个访问端发送的访问请求后,确定所述访问请求指示的目标数据是否为热点数据;热点数据即可被频繁访问的数据,举个例子,如果该目标数据在单位时间内的被访问次数超过预设次数,则可以确定该目标数据为目标数据;或者如果该目标数据在单位时间内的被访问次数大于其他数据在单位时间内的被访问次数统计值,则可以确定该目标数据为目标数据。其中,预设次数可依据实际应用场景进行具体设置,本实施例对此不做任何限制。被访问次数统计值包括但不限于平均值、中位数或者最大数等等。
任一所述存储节点,还用于在确定所述目标数据为热点数据的情况下,将所述目标数据以及所述目标数据的版本号返回给所述访问端;如果所述目标数据不是热点数据,则直接将该目标数据返回给访问端即可。本实施例将某个存储节点的热点数据存储在访问端,有利于降低该存储节点的热点访问的负载。
本说明书提供了一种数据访问系统,任一存储节点用于存储至少一条数据以及各条数据的版本号;任一条数据的版本号基于对该条数据的修改操作而相应修改,这让数据的修改和版本号的修改一定能同步进行,保持一致。访问端可以缓存目标数据及其版本号,在读取本地缓存的目标数据之前会进行版本号校验,只有本地缓存的所述目标数据的版本号与存储节点存储的所述目标数据的版本号相同才会读取本地缓存的目标数据,这个机制既降低了存储节点的负载又保证了从本地读取的目标数据一定是存储节点最新的值,实现数据强一致。
在一些实施例中,数据除了缓存在访问端之外,也可以缓存在其他的存储节点中。请参阅图4,本说明书实施例提供了一种数据访问系统,包括至少一个访问端和至少两个存储节点。图4中的n为大于0的整数。至少两个存储节点之间通信连接。
任一所述存储节点,用于将本存储节点的至少一条数据及其版本号缓存在其他存储节点,并通知访问端;和/或,接收其他存储节点发送的至少一条数据及其版本号并存储在本地;其中,存储节点存储的任一条数据的版本号基于对该条数据的修改操作而相应修改。
示例性的,任一所述存储节点在将本存储节点的至少一条数据及其版本号缓存在其他存储节点之后,可以通知对该条数据有访问需求的部分或所有访问端,以使对该条数据有访问需求的访问端从所述其他存储节点读取数据,从而降低本存储节点的负载。
任一访问端,用于向存储节点发送访问请求。
任一所述存储节点,还用于接收任意一个访问端发送的访问请求,确定所述访问请求指示的目标数据是否为其他存储节点缓存在本存储节点中的;若否,向所述访问端返回所述目标数据;若是,在确定本存储节点存储的目标数据的版本号与所述其他存储节点存储的所述目标数据的版本号一致的情况下,将本地缓存的目标数据返回给所述访问端。
本实施例实现可以将某个存储节点的数据存储在其他存储节点,访问端可以从其他存储节点读取目标数据,从而有利于降低某个存储节点的负载。并且考虑到存储节点存储的目标数据会被修改导致其他存储节点存储的目标数据失效的问题,为了避免访问端从其他存储节点错误读取失效的目标数据,进一步提供版本号校验方式,其他存储节点在确定本地缓存的所述目标数据的版本号与原存储节点存储的所述目标数据的版本号一致的情况下,表明缓存的目标数据为最新的未失效的数据,则其他存储节点可以将本地缓存的目标数据返回给所述访问端,保证了数据读取的准确性。
在一些实施例中,请参阅图5,所述访问端包括代理节点和第一客户端;所述代理节点能够与第一客户端或第二客户端通信连接。示例性的,代理节点可以接收第一客户端发送的访问请求,并转发给存储节点;以及在获取访问请求指示的目标数据之后,将其返回给第一客户端。示例性的,代理节点可以接收第二客户端发送的访问请求,并转发给存储节点;以及在获取访问请求指示的目标数据之后,将其返回给第二客户端。
在一些实施例中,在将某个存储节点的数据存储在其他存储节点之后,版本号校验过程可以在两个存储节点中的任一个中进行,本实施例对此不做任何限制。
在一种可能的实现方式中,任一所述存储节点所在的设备安装有RDMA网卡。任一所述存储节点,还用于将本存储节点的至少一条数据、该条数据的版本号以及版本号的存储地址缓存在其他存储节点;和/或,接收其他存储节点发送的至少一条数据、数据的版本号以及版本号的存储地址并存储在本地。
任一访问端,用于向存储节点发送访问请求。
任一所述存储节点,还用于接收任意一个访问端发送的访问请求,确定所述访问请求指示的目标数据是否为其他存储节点缓存在本存储节点中的;若否,向所述访问端返回所述目标数据;若是,通过本端的RDMA网卡向所述其他存储节点的RDMA网卡发送第一校验请求,所述第一校验请求携带有所述目标数据的版本号的存储地址,以使所述其他存储节点的RDMA网卡从该存储地址读取所述目标数据的版本号并返回;在确定本地缓存的所述目标数据的版本号与所述其他存储节点的RDMA网卡返回的版本号一致的情况下,将本地缓存的目标数据返回给所述访问端。
本实施例能够借助于RDMA技术,在无需其他存储节点的处理器(如CPU)参与的情况下,由其他存储节点的RDMA网卡直接从存储地址中读取版本号并返回,能够极大降低其他存储节点(即存储目标数据的原存储节点)的处理器的负载。
在另一种可能的实现方式中,任一所述存储节点,用于将本存储节点的至少一条数据及其版本号缓存在其他存储节点,并通知访问端;和/或,接收其他存储节点发送的至少一条数据及其版本号并存储在本地;其中,存储节点存储的任一条数据的版本号基于对该条数据的修改操作而相应修改。
任一访问端,用于向存储节点发送访问请求。
任一所述存储节点,还用于接收任意一个访问端发送的访问请求,确定所述访问请求指示的目标数据是否为其他存储节点缓存在本存储节点中的;若否,向所述访问端返回所述目标数据;若是,向所述其他存储节点发送第二校验请求,所述第二校验请求携带有本地缓存的所述目标数据的版本号,以使得所述其他存储节点将所述第二校验请求携带的所述目标数据的版本号与其存储的所述目标数据的版本号进行比对,在两者一致的情况下返回校验一致信息。任一所述存储节点,还用于根据其他存储节点返回的校验一致信息,将本地缓存的目标数据返回给所述访问端。另外,在所述其他存储节点校验不一致信息的情况下,所述存储节点可以删除本地缓存的目标数据及其版本号,向所述其他存储节点重新获取目标数据及其版本号,存储在本地以及将目标数据返回给访问端。
在一些实施例中,考虑到有些数据的访问频率较低,如果将这些数据缓存在其他存储节点,后续访问端再次访问的几率较低,造成其他存储节点的存储资源浪费的问题;并且其他存储节点同样存在负载问题。因此,任一所述存储节点,还用于若确定本存储节点的数据中存在热点数据,将该热点数据以及热点数据的版本号缓存在满足低负载条件的其他存储节点,并通知访问端;和/或,在本存储节点的负载满足低负载条件的情况下,接收其他存储节点发送的热点数据以及热点数据的版本号并存储在本地。本实施例将某个存储节点的热点数据存储在低负载的其他存储节点,有利于降低该存储节点的热点访问的负载,并且实现负载均衡。
其中,低负载条件可依据实际应用场景进行具体设置,本实施例对此不做任何限制。例如存储节点1可以先向存储节点2和存储节点3发送数据存储请求;存储节点2确定自身的负载较高,向存储节点1返回无法存储的第一响应;存储节点3在确定自身的负载较低的情况下,向存储节点1返回允许存储的第二响应;则存储节点1可以基于第二响应,将热点数据及其版本号存储在存储节点3中。
其中,热点数据即可被频繁访问的数据,举个例子,热点数据在单位时间内的被访问次数超过预设次数;或者热点数据在单位时间内的被访问次数大于其他数据在单位时间内的被访问次数统计值。其中,预设次数可依据实际应用场景进行具体设置,本实施例对此不做任何限制。被访问次数统计值包括但不限于平均值、中位数或者最大数等等。
本说明书提供了一种数据访问系统,任一存储节点用于存储至少一条数据以及各条数据的版本号;任一条数据的版本号基于对该条数据的修改操作而相应修改,这让数据的修改和版本号的修改一定能同步进行,保持一致。存储节点在确定访问请求指示的目标数据为其他存储节点缓存在本存储节点的时候,在读取本地缓存的目标数据之前会进行版本号校验,只有本地缓存的所述目标数据的版本号与其他存储节点存储的所述目标数据的版本号相同才会读取本地缓存的目标数据,这个机制保证了读取的目标数据一定是其他存储节点最新的值,实现数据强一致。
以上实施方式中的各种技术特征可以任意进行组合,只要特征之间的组合不存在冲突或矛盾,但是限于篇幅,未进行一一描述,因此上述实施方式中的各种技术特征的任意进行组合也属于本说明书公开的范围。
相应地,请参阅图6,本说明书实施例还提供了一种数据访问方法,应用于图1所示的访问端,所述方法包括:
在S101中,在有访问请求的情况下,确认本地是否缓存所述访问请求指示的目标数据。
在S102中,若否,向存储节点发送该访问请求,以接收所述存储节点返回的所述目标数据及其版本号,并缓存在本地;其中,存储节点存储的任一条数据的版本号基于对该条数据的修改操作而相应修改。
在S103中,若是,在确定本地缓存的所述目标数据的版本号与存储节点存储的所述目标数据的版本号一致的情况下,读取本地缓存的目标数据,否则,向存储节点发送该访问请求。
在一些实施例中,所述访问端所在设备安装第一RDMA网卡,以及所述存储节点所在的设备安装第二RDMA网卡。
所述向存储节点发送该访问请求,以接收所述存储节点返回的所述目标数据及其版本号,并缓存在本地,包括:向存储节点发送该访问请求,以接收所述存储节点返回的所述目标数据、所述目标数据的版本号以及所述版本号的存储地址,并缓存在本地。
所述在确定本地缓存的所述目标数据的版本号与存储节点存储的所述目标数据的版本号一致的情况下,读取本地缓存的目标数据,包括:通过所述第一RDMA网卡向所述第二RDMA网卡发送第一校验请求,所述第一校验请求携带有所述目标数据的版本号的存储地址,以使所述第二RDMA网卡从该存储地址读取存储节点存储的所述目标数据的版本号并返回;在确定本地缓存的所述目标数据的版本号与所述第二RDMA网卡返回的版本号一致的情况下,读取本地缓存的目标数据。
在一些实施例中,所述在确定本地缓存的所述目标数据的版本号与存储节点存储的所述目标数据的版本号一致的情况下,读取本地缓存的目标数据,包括:向所述存储节点发送第二校验请求,所述第二校验请求携带有本地缓存的所述目标数据的版本号,以使所述存储节点将所述第二校验请求携带的所述目标数据的版本号与所述存储节点存储的所述目标数据的版本号进行比对,在两者一致的情况下向所述访问端返回校验一致信息;根据返回的校验一致信息,读取本地缓存的目标数据。
在一些实施例中,所述访问端包括代理节点和第一客户端;
所述代理节点能够与第一客户端或第二客户端通信连接,接收第一客户端或第二客户端发送的访问请求,并转发给存储节点。
关于方法的具体内容可参见上述的存储系统的描述,此处不在赘述。
相应的,请参阅图7A,本说明书实施例还提供了一种数据访问方法,应用于如图1所述的存储节点,所述方法包括:
在S201中,接收任意一个访问端发送的访问请求,确定所述访问请求指示的目标数据。
在S202中,将所述目标数据及其版本号返回给所述访问端,以使所述访问端将所述目标数据及其版本号缓存在本地;其中,存储节点存储的任一条数据的版本号基于对该条数据的修改操作而相应修改;所述目标数据及其版本号用于使所述访问端在再次接收到针对于所述目标数据的访问请求时,在确定本地缓存的所述目标数据的版本号与存储节点存储的所述目标数据的版本号一致的情况下,读取本地缓存的目标数据。
在一些实施例中,所述访问端所在设备安装第一RDMA网卡,以及所述存储节点所在设备安装第二RDMA网卡;所述访问端还用于通过所述第一RDMA网卡向所述第二RDMA网卡发送第一校验请求,所述第一校验请求携带有所述目标数据的版本号的存储地址;所述第二RDMA网卡还用于从接收的第一校验请求携带的存储地址读取存储节点存储的所述目标数据的版本号并返回。
在一些实施例中,所述方法还包括:接收任意一个访问端发送的第二校验请求,将所述第二校验请求携带的所述目标数据的版本号与所述存储节点存储的所述目标数据的版本号进行比对,在两者一致的情况下向所述访问端返回校验一致信息,以使所述访问端读取缓存在访问端本地的目标数据。
在一些实施例中,所述将所述目标数据及其版本号返回给所述访问端,包括:若所述目标数据为热点数据,将所述目标数据及其版本号返回给所述访问端;其中,热点数据在单位时间内的被访问次数超过预设次数;或者热点数据在单位时间内的被访问次数大于其他数据在单位时间内的被访问次数统计值。
关于方法的具体内容可参见上述的存储系统的描述,此处不在赘述。
相应的,请参阅图7B,本说明书实施例还提供了一种数据访问方法,应用于如图4所示的存储节点,任一所述存储节点用于将本存储节点的至少一条数据及其版本号缓存在其他存储节点,并通知访问端;和/或,接收其他存储节点发送的至少一条数据及其版本号并存储在本地;存储节点存储的任一条数据的版本号基于对该条数据的修改操作而相应修改;所述方法包括:
在S301中,接收任意一个访问端发送的访问请求,确定所述访问请求指示的目标数据是否为其他存储节点缓存在本存储节点中的。
在S302中,若否,向所述访问端返回所述目标数据。
在S303中,若是,在确定本存储节点存储的目标数据的版本号与所述其他存储节点存储的所述目标数据的版本号一致的情况下,将本地缓存的目标数据返回给所述访问端。
在一些实施例中,任一所述存储节点所在的设备安装有RDMA网卡;任一所述存储节点,还用于将本存储节点的至少一条数据、该条数据的版本号以及版本号的存储地址缓存在其他存储节点;和/或,接收其他存储节点发送的至少一条数据、数据的版本号以及版本号的存储地址并存储在本地。
所述在确定本存储节点存储的目标数据的版本号与所述其他存储节点存储的所述目标数据的版本号一致的情况下,将本地缓存的目标数据返回给所述访问端,包括:通过本端的RDMA网卡向所述其他存储节点的RDMA网卡发送第一校验请求,所述第一校验请求携带有所述目标数据的版本号的存储地址,以使所述其他存储节点的RDMA网卡从该存储地址读取所述目标数据的版本号并返回;在确定本地缓存的所述目标数据的版本号与所述其他存储节点的RDMA网卡返回的版本号一致的情况下,将本地缓存的目标数据返回给所述访问端。
在一些实施例中,所述在确定本存储节点存储的目标数据的版本号与所述其他存储节点存储的所述目标数据的版本号一致的情况下,将本地缓存的目标数据返回给所述访问端,包括:向所述其他存储节点发送第二校验请求,所述第二校验请求携带有本地缓存的所述目标数据的版本号,以使得所述其他存储节点将所述第二校验请求携带的所述目标数据的版本号与其存储的所述目标数据的版本号进行比对,在两者一致的情况下返回校验一致信息;根据返回的校验一致信息,将本地缓存的目标数据返回给所述访问端。
在一些实施例中,任一所述存储节点用于将本存储节点的至少一条热点数据及其版本号缓存在其他存储节点,并通知访问端;和/或,接收其他存储节点发送的至少一条热点数据及其版本号并存储在本地。其中,热点数据在单位时间内的被访问次数超过预设次数;或者热点数据在单位时间内的被访问次数大于其他数据在单位时间内的被访问次数统计值。
关于方法的具体内容可参见上述的存储系统的描述,此处不在赘述。
图8是一示例性实施例提供的一种设备的示意结构图。请参考图8,在硬件层面,该设备包括处理器802、内部总线804、网络接口806、内存808以及非易失性存储器810,当然还可能包括其他业务所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器802从非易失性存储器810中读取对应的计算机程序到内存808中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
在一些实施例中,本说明书实施例还提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器通过运行所述可执行指令以实现上述中任一项所述的方法。
在一些实施例中,本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述任一项所述方法的步骤。
示例性的,所述电子设备集成一计算机程序产品,该电子设备执行该计算机程序产品时实现本说明书实施例提供的数据访问方法。
需要说明的是,本说明书所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (14)
1.一种数据访问方法,其特征在于,应用于访问端,所述方法包括:
在有访问请求的情况下,确认本地是否缓存所述访问请求指示的目标数据;
若否,向存储节点发送该访问请求,以接收所述存储节点返回的所述目标数据及其版本号,并缓存在本地;其中,存储节点存储的任一条数据的版本号基于对该条数据的修改操作而相应修改;
若是,在确定本地缓存的所述目标数据的版本号与存储节点存储的所述目标数据的版本号一致的情况下,读取本地缓存的目标数据,否则,向存储节点发送该访问请求。
2.根据权利要求1所述的方法,其特征在于,所述访问端所在设备安装第一RDMA网卡,以及所述存储节点所在设备安装第二RDMA网卡;
在向存储节点发送所述访问请求的情况下,所述存储节点还返回所述版本号的存储地址;
所述在确定本地缓存的所述目标数据的版本号与存储节点存储的所述目标数据的版本号一致的情况下,读取本地缓存的目标数据,包括:
通过所述第一RDMA网卡向所述第二RDMA网卡发送第一校验请求,所述第一校验请求携带有所述目标数据的版本号的存储地址,以使所述第二RDMA网卡从该存储地址读取存储节点存储的所述目标数据的版本号并返回;
在确定本地缓存的所述目标数据的版本号与所述第二RDMA网卡返回的版本号一致的情况下,读取本地缓存的目标数据。
3.根据权利要求1所述的方法,其特征在于,所述在确定本地缓存的所述目标数据的版本号与存储节点存储的所述目标数据的版本号一致的情况下,读取本地缓存的目标数据,包括:
向所述存储节点发送第二校验请求,所述第二校验请求携带有本地缓存的所述目标数据的版本号;其中,所述第二校验请求用于使所述存储节点将所述第二校验请求携带的所述目标数据的版本号与所述存储节点存储的所述目标数据的版本号进行比对,在两者一致的情况下向所述访问端返回校验一致信息;
根据返回的校验一致信息,读取本地缓存的目标数据。
4.根据权利要求1至3任意一项所述的方法,其特征在于,所述访问端包括代理节点和第一客户端;
所述代理节点能够与第一客户端或第二客户端通信连接,接收第一客户端或第二客户端发送的访问请求,并转发给存储节点。
5.一种数据访问方法,其特征在于,应用于存储节点,所述方法包括:
接收任意一个访问端发送的访问请求,确定所述访问请求指示的目标数据;
将所述目标数据及其版本号返回给所述访问端,以使所述访问端将所述目标数据及其版本号缓存在本地;其中,存储节点存储的任一条数据的版本号基于对该条数据的修改操作而相应修改;
其中,所述目标数据及其版本号用于使所述访问端在再次接收到针对于所述目标数据的访问请求时,在确定本地缓存的所述目标数据的版本号与存储节点存储的所述目标数据的版本号一致的情况下,读取本地缓存的目标数据。
6.根据权利要求5所述的方法,其特征在于,所述访问端所在设备安装第一RDMA网卡,以及所述存储节点所在设备安装第二RDMA网卡;
所述访问端还用于通过所述第一RDMA网卡向所述第二RDMA网卡发送第一校验请求,所述第一校验请求携带有所述目标数据的版本号的存储地址;
所述第二RDMA网卡还用于从接收的第一校验请求携带的存储地址读取存储节点存储的所述目标数据的版本号并返回。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
接收任意一个访问端发送的第二校验请求,将所述第二校验请求携带的所述目标数据的版本号与所述存储节点存储的所述目标数据的版本号进行比对,在两者一致的情况下向所述访问端返回校验一致信息,以使所述访问端读取缓存在访问端本地的目标数据。
8.根据权利要求5所述的方法,其特征在于,所述将所述目标数据及其版本号返回给所述访问端,包括:
若所述目标数据为热点数据,将所述目标数据及其版本号返回给所述访问端;
其中,热点数据在单位时间内的被访问次数超过预设次数;或者热点数据在单位时间内的被访问次数大于其他数据在单位时间内的被访问次数统计值。
9.一种数据访问方法,其特征在于,应用于存储节点,任一所述存储节点用于将本存储节点的至少一条数据及其版本号缓存在其他存储节点,并通知访问端;和/或,接收其他存储节点发送的至少一条数据及其版本号并存储在本地;存储节点存储的任一条数据的版本号基于对该条数据的修改操作而相应修改;所述方法包括:
接收任意一个访问端发送的访问请求,确定所述访问请求指示的目标数据是否为其他存储节点缓存在本存储节点中的;
若否,向所述访问端返回所述目标数据;
若是,在确定本存储节点存储的目标数据的版本号与所述其他存储节点存储的所述目标数据的版本号一致的情况下,将本地缓存的目标数据返回给所述访问端。
10.根据权利要求9所述的方法,其特征在于,任一所述存储节点所在的设备安装有RDMA网卡;
任一所述存储节点,还用于将版本号的存储地址缓存在其他存储节点;和/或,接收其他存储节点发送的版本号的存储地址并存储在本地;
所述在确定本存储节点存储的目标数据的版本号与所述其他存储节点存储的所述目标数据的版本号一致的情况下,将本地缓存的目标数据返回给所述访问端,包括:
通过本端的RDMA网卡向所述其他存储节点的RDMA网卡发送第一校验请求,所述第一校验请求携带有所述目标数据的版本号的存储地址,以使所述其他存储节点的RDMA网卡从该存储地址读取所述目标数据的版本号并返回;
在确定本地缓存的所述目标数据的版本号与所述其他存储节点的RDMA网卡返回的版本号一致的情况下,将本地缓存的目标数据返回给所述访问端。
11.一种数据访问系统,其特征在于,包括至少一个访问端和至少一个存储节点;
任一所述存储节点,用于接收任一访问端发送的访问请求,确定所述访问请求指示的目标数据;将所述目标数据及其版本号返回给所述访问端;其中,存储节点存储的任一条数据的版本号基于对该条数据的修改操作而相应修改;
任一所述访问端,用于在有访问请求的情况下,确认本地是否缓存所述访问请求指示的目标数据;若否,向存储节点发送该访问请求,以接收所述存储节点返回的所述目标数据及其版本号,并缓存在本地;若是,在确定本地缓存的所述目标数据的版本号与存储节点存储的所述目标数据的版本号一致的情况下,读取本地缓存的目标数据,否则,向存储节点发送该访问请求。
12.一种数据访问系统,其特征在于,包括至少一个访问端和至少两个存储节点;
任一所述存储节点,用于将本存储节点的至少一条数据及其版本号缓存在其他存储节点,并通知访问端;和/或,接收其他存储节点发送的至少一条数据及其版本号并存储在本地;其中,存储节点存储的任一条数据的版本号基于对该条数据的修改操作而相应修改;
任一访问端,用于向存储节点发送访问请求;
任一所述存储节点,还用于接收任意一个访问端发送的访问请求,确定所述访问请求指示的目标数据是否为其他存储节点缓存在本存储节点中的;若否,向所述访问端返回所述目标数据;若是,在确定本存储节点存储的目标数据的版本号与所述其他存储节点存储的所述目标数据的版本号一致的情况下,将本地缓存的目标数据返回给所述访问端。
13.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1至10任意一项所述的方法。
14.一种计算机可读存储介质,其特征在于,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1至10任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310581803.XA CN116633616A (zh) | 2023-05-22 | 2023-05-22 | 数据访问方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310581803.XA CN116633616A (zh) | 2023-05-22 | 2023-05-22 | 数据访问方法、系统、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116633616A true CN116633616A (zh) | 2023-08-22 |
Family
ID=87612819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310581803.XA Pending CN116633616A (zh) | 2023-05-22 | 2023-05-22 | 数据访问方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116633616A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118245503A (zh) * | 2024-05-24 | 2024-06-25 | 平凯星辰(北京)科技有限公司 | 存储过程的执行方法、装置、电子设备及可读存储介质 |
-
2023
- 2023-05-22 CN CN202310581803.XA patent/CN116633616A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118245503A (zh) * | 2024-05-24 | 2024-06-25 | 平凯星辰(北京)科技有限公司 | 存储过程的执行方法、装置、电子设备及可读存储介质 |
CN118245503B (zh) * | 2024-05-24 | 2024-08-16 | 平凯星辰(北京)科技有限公司 | 存储过程的执行方法、装置、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112764948B (zh) | 数据发送方法、数据发送装置、计算机设备及存储介质 | |
CN114676074A (zh) | 一种访问请求处理方法、装置、电子设备及存储介质 | |
US11188471B2 (en) | Cache coherency for host-device systems | |
US12001450B2 (en) | Distributed table storage processing method, device and system | |
CN116633616A (zh) | 数据访问方法、系统、设备及存储介质 | |
CN107545050A (zh) | 数据查询方法及装置、电子设备 | |
CN112131478B (zh) | 交易检测方法及装置 | |
CN111694639B (zh) | 进程容器地址的更新方法、装置和电子设备 | |
CN109062717B (zh) | 数据缓存及缓存容灾方法和系统、缓存系统 | |
CN111159298B (zh) | 业务请求处理方法、装置、电子设备及存储介质 | |
CN111125168B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN114356446B (zh) | 一种进程间事件的处理方法、装置、设备以及存储介质 | |
CN115934583A (zh) | 分级缓存方法、装置及系统 | |
CN114116656A (zh) | 数据处理方法及相关装置 | |
CN109656805B (zh) | 用于业务分析的代码链路的生成方法、装置及业务服务器 | |
CN111752919A (zh) | 一种数据写入方法、数据读取方法及装置 | |
CN111767311A (zh) | 变量请求方法、系统、计算机设备和计算机可读存储介质 | |
CN117539802B (zh) | 一种缓存操作方法、系统以及相关装置 | |
CN115037783B (zh) | 数据传输方法及装置 | |
EP4414837A1 (en) | Data processing method, device, system, and apparatus | |
CN115695454B (zh) | 一种mec主机的数据存储方法、装置、设备及存储介质 | |
CN112286973B (zh) | 数据消息的存储方法、装置、计算机设备及存储介质 | |
CN113704274B (zh) | 一种数据的读取方法及电子设备 | |
CN111884809B (zh) | 一种防止分叉链交易重放的方法、装置及电子设备 | |
CN117807115A (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 |