CN110865769A - 处理读/写请求的方法、网络存储系统及电子设备 - Google Patents
处理读/写请求的方法、网络存储系统及电子设备 Download PDFInfo
- Publication number
- CN110865769A CN110865769A CN201810990458.4A CN201810990458A CN110865769A CN 110865769 A CN110865769 A CN 110865769A CN 201810990458 A CN201810990458 A CN 201810990458A CN 110865769 A CN110865769 A CN 110865769A
- Authority
- CN
- China
- Prior art keywords
- request
- write request
- read
- write
- network 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.)
- Granted
Links
Images
Classifications
-
- 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/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请实施例提供一种处理读/写请求的方法、网络存储系统及电子设备。其中,方法包括如下的步骤:在第一工作状态下接收到第一读请求时,将所述第一读请求发送至所述网络存储设备;检查已发送但未收到执行响应的各写请求中,是否存在与所述第一读请求对应的地址范围有重叠的第一写请求;当不存在所述第一写请求时,等待接收所述第一读请求对应的执行响应。与现有技术相比,本申请实施例提供的技术方案省去了发送请求的保序检查所需消耗的时间,提高了请求发送的处理效率,进而改善现有技术中因保序检查耗费大量时间致使的请求处理延迟问题。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种处理读/写请求的方法、网络存 储系统及电子设备。
背景技术
对于拥有大规模网络存储设备存储磁盘的分布式存储而言,服务器可以 批量发送读写请求给网络存储设备存储磁盘或系统,但是有可能受限于网络 通道的情况,读写请求到达网络存储设备存储磁盘或系统的时间并不保证顺 序。假设先发送A后发送B,但存储系统有可能先收到B。这时候读写操作 有可能不合预期,预期为先A后B,但落实到存储是先B后A。此外,目前 有些类型的磁盘或存储系统,其对同一批读写请求是同时落盘执行的,并不 关心同一批的多个读写请求是否有顺序问题,这时就需要服务器自己实现保 序。
现有技术中,服务器仅具有一种发送保序策略,即每次给网络存储设备 存储磁盘或系统发送读写请求前需先对同一批发送的请求作一遍地址检查, 确保同一批发送下去的请求地址不重叠时再批量发送。在同一批发送的请求 数量很多时,保序检查所耗费的时间就非常可观了。
发明内容
鉴于上述问题,提出了本申请以便解决上述问题或至少部分地解决上述 问题的处理读/写请求的方法、网络存储系统及电子设备。
于是,在本申请的一个实施例中,提供了一种处理读/写请求的方法。其 中,所述读/写请求用于请求对网络存储设备中某个地址范围的数据进行读写, 该方法包括:
在第一工作状态下接收到第一读请求时,将所述第一读请求发送至所述 网络存储设备;
检查已发送但未收到执行响应的各写请求中,是否存在与所述第一读请 求对应的地址范围有重叠的第一写请求;
当不存在所述第一写请求时,等待接收所述第一读请求对应的执行响应。
在本申请的另一个实施例中,提供了一种处理读/写请求的方法。所述读 /写请求用于请求对网络存储设备中某个地址范围的数据进行读写,该方法包 括:
在第一工作状态下接收到第一写请求时,检查已发送但未收到执行响应 的各读请求中,是否存在与所述第一写请求对应的地址范围有重叠的第一读 请求;
当不存在所述第一读请求时,将所述第一写请求发送至所述网络存储设 备;
检查已发送但未收到执行响应的各写请求中,是否存在与所述第一写请 求对应的地址范围有重叠的第二写请求;
当不存在所述第二写请求时,等待接收所述第一写请求对应的执行响应。
在本申请的一个实施例中,提供了一种网络存储系统。其中,所述网络 存储系统用于根据接收到的数据请求来执行相应的操作,所述数据请求用于 请求对网络存储设备中某个地址范围的数据进行读写;具体的,该网络存储 系统包括:服务器及网络存储设备;
当所述数据请求为第一读请求时,所述服务器用于在第一工作状态下接 收到第一读请求时,将所述第一读请求发送至网络存储设备;检查已发送但 未收到执行响应的各写请求中,是否存在与所述第一读请求对应的地址范围 有重叠的第一写请求;当不存在所述第一写请求时,等待接收所述第一读请 求对应的执行响应;
所述网络存储设备,用于接收所述第一读请求,根据所述第一读请求执 行相应的操作并向返回对应的执行响应。
在本申请的一个实施例中,提供了一种电子设备。该电子设备包括:第 一存储器和第一处理器,其中,
所述第一存储器,用于存储程序;
所述第一处理器,与所述第一存储器耦合,用于执行所述第一存储器中 存储的所述程序,以用于:
在第一工作状态下接收到第一读请求时,将所述第一读请求发送至所述 网络存储设备;
检查已发送但未收到执行响应的各写请求中,是否存在与所述第一读请 求对应的地址范围有重叠的第一写请求;
当不存在所述第一写请求时,等待接收所述第一读请求对应的执行响应。
在本申请的另一个实施例中,提供了一种电子设备,该电子设备包括: 第二存储器和第二处理器,其中,
所述第二存储器,用于存储程序;
所述第二处理器,与所述第二存储器耦合,用于执行所述第二存储器中 存储的所述程序,以用于:
在第一工作状态下接收到第一写请求时,检查已发送但未收到执行响应 的各读请求中,是否存在与所述第一写请求对应的地址范围有重叠的第一读 请求;
当不存在所述第一读请求时,将所述第一写请求发送至所述网络存储设 备;
检查已发送但未收到执行响应的各写请求中,是否存在与所述第一写请 求对应的地址范围有重叠的第二写请求;
当不存在所述第二写请求时,等待接收所述第一写请求对应的执行响应。
本申请实施例提供的一技术方案中,接收到读请求后直接发送,并在读 请求发送时或发送后在已发送但未收到执行响应的写请求中作保序检查,这 样就能让网络存储设备处理第一请求和服务器对第一请求进行保序检查同时 进行,省去了读请求发送前的保序检查所消耗的时间;另外,在保序检查时 仅遍历已发送但未收到执行响应的写请求,而非现有技术中便利所有请求(包 括读请求和写请求),遍历数量减少,进一步地节省了时间,提高了请求发 送的处理效率,进而改善现有技术中因保序检查耗费大量时间致使的请求处 理延迟问题。
本申请实施例提供的另一技术方案中,接收到写请求时,在已发送但未 收到执行响应的读请求中无与该写请求地址重复的读请求时,也采用发送与 保序同步进行的方式,省去了读请求发送前的保序检查所消耗的时间,有助 于改善现有技术中因保序检查耗费大量时间致使的请求处理延迟问题;另外, 在发送前的保序检查仅遍历已发送但未收到执行响应的写请求中,而非现有 技术中便利所有请求(包括读请求和写请求),遍历数量减少,进一步地节 省了时间。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施 例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描 述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出 创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中请求发送流程的示意图;
图2为本申请一实施例提供的网络存储系统的架构示意图;
图3为本申请一实施例提供的处理读/写请求的方法的流程示意图;
图4为本申请另一实施例提供的处理读/写请求的方法的流程示意图;
图5为本申请又一实施例提供的技术方案的流程示意图;
图6为本申请一实施例提供的处理读/写请求的装置的结构框图;
图7为本申请另一实施例提供的处理读/写请求的装置的结构框图;
图8为本申请一实施例提供的电子设备的结构框图;
图9为本申请另一实施例提供的电子设备的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实 施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
在本申请的说明书、权利要求书及上述附图中描述的一些流程中,包含 了按照特定顺序出现的多个操作,这些操作可以不按照其在本文中出现的顺 序来执行或并行执行。操作的序号如101、102等,仅仅是用于区分各个不同 的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或 更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本 文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不 代表先后顺序,也不限定“第一”和“第二”是不同的类型。
如果多个读写请求都是相同的地址,那这些读写请求往往需要保证处理 顺序。比如往某存储地址D里先后写入数字1~5,对应发送5个写请求,这 时必须保证是从1到5的执行顺序,否则这个地址的数据就会出错。举例来 说,如果网络存储设备接收这5个写请求的顺序不守序,先接收到写入数字 5的写请求,最后接收到写入数字1的写请求,则网络存储设备按照接收写 请求的顺序执行后最终这个存储地址D存放的数据为1,与预期的数据5不同。
如上面所述,为了正确性,相同地址的读写请求需要保证执行的先后顺 序。因此,对于同一磁盘地址范围,如果有读写请求正在网络存储设备存储 执行但还未完成,则针对该地址的新的读写请求原则上是不能发送的,因为 有可能造成乱序,读出错误数据,或写入不正确的数据。如果服务器不作专 门处理,直接把读写请求发送给网络存储设备存储,就有可能造成读写请求 乱序,出现数据错误。因此,服务器系统必须要保证发送读写请求时不出现 上述乱序的问题。
现有技术中,服务器每次给网络存储设备存储发送读写请求前,往往要 先对已发送但网络存储设备未执行完成的读写请求做一遍地址检查,确保地 址相同的读写请求不会在同一批发送下去。具体流程,如图1所示,包括:
S1、接收到请求A后,遍历发送列表及等待列表中是否有与请求A对应 的地址范围有重叠的请求;若发送列表和等待列表中无与请求A对应的地址 范围有重叠的请求,则执行步骤S2;若发送列表和等待列表中有与请求A 对应的地址范围有重叠的请求B,则执行步骤S3。
已发送但网络存储设备未执行完成的读写请求被添加在上述的发送列表 中。因与已发送但网络存储设备未执行完成的读写请求地址范围重叠,而处 于等待状态的请求被添加在上述的等待列表中。
S2、发送所述请求A,并将该请求A添加至发送列表中;接收到网络存 储设备反馈请求A对应的执行响应后,将请求A从发送列表中删除;检查等 待列表,让等待请求A执行响应后再发送的等待请求开始发送。
S3、将请求A添加至等待列表,并将请求A标记为等待状态。
其中,等待状态为不具备发送条件,等待发送条件满足的一种状态。每 个请求其对应的发送条件不同,可通过标记确定。例如,标记请求A对应的 发送条件满足的事件可具体为:接收到请求B对应的执行响应。
S4、根据所述等待状态,在接收到网络存储设备反馈请求B对应的执行 响应时,执行步骤S2。
上述流程是从服务器的角度说明的,即上述流程的执行主体为服务器。
现有技术方案,对于每个请求,都要在发送之前先做一次保序检查,以 避免和已发送但网络存储设备未反馈执行完成的请求出现乱序。当系统的并 发处理请求数量很多时,这个保序检查所消耗的时间是非常可观的,让请求 的处理总时间加长。每个请求都要进行一遍这种检查,等于每个请求的处理 用时都要加上这一部分时间。这在系统繁忙的情况下可能会占据请求处理用 时的10%~20%。
现有的云磁盘都追求低延迟,这部分检查的时间如果能够优化,则对云 磁盘的延迟有可观的改善。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行 清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而 不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创 造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面是本申请提供的所述方法所基于的系统架构进行说明。
如图2所示,本申请一实施例提供的网络存储系统的结构示意图。如图 2所示,本实施例提供的网络存储系统包括服务器100及网络存储设备200, 并用于根据接收到的数据请求来执行相应的操作。在实际应用中,所述服务器 100可以是云磁盘前端系统与挂载云磁盘的虚拟机所在的物理机。所述网络 存储设备200可具体是与云磁盘前端系统通信的后端存储系统。其中,云磁 盘前端系统负责接收虚拟机往云磁盘的请求,并通过网络转发给网络存储设 备。后端存储系统可以是磁盘柜、存储集群等等,收到云磁盘前端系统发送的请求并执行,最终把读、写操作落实在对应的磁盘上,并反馈执行响应。 在本申请实施例提供的技术方案中,数据请求用于请求对网络存储设备中某个 地址范围的数据进行读写。具体的,
当所述数据请求为第一读请求时,服务器100用于在第一工作状态下接 收到所述第一读请求时,将所述第一读请求发送至网络存储设备;检查已发 送但未收到执行响应的各写请求中,是否存在与所述第一读请求对应的地址 范围有重叠的第一写请求;当不存在所述第一写请求时,等待接收所述第一 读请求对应的执行响应;
网络存储设备200,用于接收所述服务器100发送的所述数据请求,根 据所述数据请求执行相应的操作并返回对应的执行响应。
本申请实施例提供的技术方案中,接收到读请求后直接发送,并在读请 求发送时或发送后在已发送但未收到执行响应的写请求中作保序检查,这样 就能让网络存储设备处理第一请求和服务器对第一请求进行保序检查同时进 行,省去了读请求发送前的保序检查所消耗的时间;另外,在保序检查时仅 遍历已发送但未收到执行响应的写请求,而非现有技术中便利所有请求(包 括读请求和写请求),遍历数量减少,进一步地节省了时间,提高了服务器 的请求发送的处理效率,进而改善现有技术中因保序检查耗费大量时间致使 的请求处理延迟问题。
进一步的,当所述数据请求为第二写请求时,本申请实施例提供的所述 服务器100还用于在所述第一工作状态下接收到第二写请求时,检查已发送 但未收到执行响应的各读请求中,是否存在与所述第二写请求对应的地址范 围有重叠的第二读请求;当不存在所述第二读请求时,将所述第二写请求发 送至所述网络存储设备;检查已发送但未收到执行响应的各写请求中,是否 存在与所述第二写请求对应的地址范围有重叠的第三写请求;当不存在所述 第三写请求时,等待接收所述第二写请求对应的执行响应。
本申请实施例提供的技术方案中,接收到写请求时,在已发送但未收到 执行响应的读请求中无与该写请求地址重复的读请求时,也采用发送与保序 同步进行的方式,省去了读请求发送前的保序检查所消耗的时间,有助于改 善现有技术中因保序检查耗费大量时间致使的请求处理延迟问题;另外,在 发送前的保序检查仅遍历已发送但未收到执行响应的写请求中,而非现有技 术中便利所有请求(包括读请求和写请求),遍历数量减少,进一步地节省 了时间。
本申请实施例提供的所述网络存储系统中服务器的具体工作流程及其与网 络存储设备之间的信令交互将在以下各实施例中作进一步的说明。
如图3所示,本申请一实施例提供的所述处理读/写请求的方法的流程的 示意图。本实施例提供的所述方法的执行主体可以是上述系统中的服务器。 具体的,如图3所示,所述方法包括:
101、在第一工作状态下接收到第一读请求时,将所述第一读请求发送至 所述网络存储设备。
102、检查已发送但未收到执行响应的各写请求中,是否存在与所述第一 读请求对应的地址范围有重叠的第一写请求。
103、当不存在所述第一写请求时,等待接收所述第一读请求对应的执行响 应。
具体实施时,系统的工作状态可包括两种状态,分别为第一工作状态和第 二工作状态。其中,在接收第一读请求时,可通过当前系统中的等待列表和重 做列表来判定系统当前的工作状态是否为第二工作状态。例如,若当前系统中 的等待列表和重做列表均为空列表,则当前的工作状态为第一工作状态。若当 前系统中的等待列表为非空列表,则当前的工作状态为第二工作状态。
这里需要补充的是:每次接收一个新请求时,都要通过等待列表和重做列 表的空/非空情况来确定系统当前的工作状态,这势必会增加系统处理的复杂度。 为了简化系统在确定当前工作状态的复杂度,可为系统增设一个用于标记的当 前工作状态的状态标识。在等待列表和重做列表均为空列表时,状态标识会联 动地为第一工作状态对应的状态标识。在等待列表中因添加了新的等待请求而 变为非空列表时,状态标识会联动地更改为第二工作状态对应的状态标识。这 样每次接收新的请求时,获取系统的状态标识即可获知当前系统的所处的工作 状态,并采用该工作状态对应的发送流程处理新接收的请求。
具体实施时,在上述101步骤之前,本申请实施例提供的技术方案还可包 括如下步骤:获取接收到新请求时系统的工作状态;若系统的工作状态为第一 工作状态,则识别所述新请求的请求类别;所述请求类别为读类别时,执行上 述步骤101。
其中,上述获取系统的工作状态即可通过获取系统的状态标识的方式得到。 例如,获取接收到新请求时系统的状态标识;所述状态标识为第一标识时,系 统的工作状态为所述第一标识对应的第一工作状态。
这里还需要补充的是:本申请实施例中提及的第二工作状态可简单理解为 上述内容提及的现有请求发送流程(如图1所示)。因此,在实际应用中,还 是会出现当两个请求的地址范围重叠时,其中未发送的一个请求需等待。此时 系统就需要采用第二工作状态对应的下方流程方案,即先保序检查再发送的方 案,以保证网络存储设备处理顺序的准确性。
上述101中,发送所述第一读请求可具体包括:将所述第一读请求添加至发 送列表中,并发送至网络存储设备。将第一读请求添加至发送列表中是为了将 第一读请求作为系统保序检查时的被查数据。网络存储设备对第一读请求执行 完成后并反馈执行响应后,所述第一读请求从所述发送列表中删除。
上述102中,保序检查时仅检查已发送但未收到执行响应的写请求。因此, 在具体实施时,系统中可包含有两个发送列表,例如,写请求发送列表和读请 求发送列表。将发送的读请求添加至读请求发送列表中,将发送的写请求添加 至写请求发送列表中。这样系统在进行上述步骤102的保序检查时,直接检查 写请求发送列表中写请求是否与第一读请求地址范围重叠即可。
其中,读请求和写请求中携带有起始地址、读写的长度等等。因此在地址范 围重叠检查时,直接比对两个请求中的起始地址即可获知是否地址范围有重叠。
本申请实施例提供的技术方案中,接收到读请求后直接发送,并在读请 求发送时或发送后在已发送但未收到执行响应的写请求中作保序检查,这样 就能让网络存储设备处理第一请求和服务器对第一请求进行保序检查同时进 行,省去了读请求发送前的保序检查所消耗的时间;另外,在保序检查时仅 遍历已发送但未收到执行响应的写请求,而非现有技术中便利所有请求(包 括读请求和写请求),遍历数量减少,进一步地节省了时间,提高了服务器 的请求发送的处理效率,进而改善现有技术中因保序检查耗费大量时间致使 的请求处理延迟问题。
在实际场景中,在已发送但未收到执行响应的写请求中检查出有与正在发送 或已发送的所述第一读请求对应的地址范围有重叠的第一写请求的概率较低。 但当存在有与第一读请求对应的地址范围有重叠的第一写请求时,为了保证网 络存储设备该地址区域的数据的正确性,需采用如下重新发送的方式以让网络 存储设备按照顺序串行执行重做来保证数据的正确性。即本申请实施例提供的 所述方法,还包括:
104、当存在所述第一写请求时,等待接收所述第一读请求和所述第一 写请求对应的执行响应。
105、在接收到所等待的执行响应之后,按照所述第一读请求和所述第一写 请求的接收时间的先后顺序,将所述第一读请求和所述第一写请求重新串行发 送至所述网络存储设备,以由网络存储设备按照接收顺序串行并返回对应的执 行响应。
上述104中,可具体采用如下方法实现等待:
1041、将所述第一读请求和所述第一写请求添加至等待列表。
1043、按照所述第一读请求和所述第一写请求的接收时间的先后顺序,将 所述第一读请求和所述第一写请求添加至重做列表。
其中,上述1041中将第一读请求和第一写请求添加至等待列表时,还 需在所述等待列表中将所述第一读请求标记为等待状态。其中,等待状态为 不具发送条件,等待发送条件满足的一种状态。本实施例中,标记的所述第 一读请求对应的发送条件满足的事件可具体为:接收到所述第一读请求对应 的执行响应。同样的,标记的所述第一写请求对应的发送条件满足的事件可 具体为:接收到所述第一写请求对应的执行响应。标记的作用是能在接收到 网络存储设备反馈某一请求的执行响应后,能基于标记获知等待列表中的哪 一个请求可以被发送。上述第一读请求和第一写请求均标记为等待状态,可 简单理解为:待网络存储设备反馈第一读请求对应的执行响应后,第一读请 求再次发送至网络存储设备;待网络存储设备反馈第一写请求对应的执行响 应后,将第一写请求再次发送至网络存储设备。
这里将第一读请求和第一写请求添加至等待列表的目的,一是为了作为系统 切换工作状态的判定依据,二是为了便于后来接收的新请求可从等待列表中检 查是否有地址范围有重叠的请求。将第一读请求和第一写请求添加至重做列表 是为了便于参数管理,服务器在接收到网络存储设备反馈的第一读请求或第一 写请求的执行响应后,可通过查询重做列表得知该第一读请求或第一写请求为 需重新发送的请求。
进一步的,执行上述105将所述第一请求和所述写请求按照接收时间前后顺 序重新串行发送之后,本实施例还可需包括如下步骤:
将所述第一读请求和所述第一写请求从所述重做列表中删除;
将所述第一读请求和所述第一写请求从所述等待列表中删除。
当然,在另一种可实现的方案中,也可在执行上述105将所述第一请求 和所述写请求按照接收时间前后顺序重新串行发送之前,将所述第一读请求 和所述第一写请求从所述重做列表中删除;将所述第一读请求和所述第一写 请求从所述等待列表中删除。
或者,在执行上述105将所述第一请求和所述写请求按照接收时间前后 顺序重新串行发送之前,将所述第一读请求和所述第一写请求从所述重做列 表中删除;在执行上述105将所述第一请求和所述写请求按照接收时间前后 顺序重新串行发送之后,将所述第一读请求和所述第一写请求从所述等待列 表中删除。
或者,在执行上述105将所述第一请求和所述写请求按照接收时间前后 顺序重新串行发送之前,将所述第一读请求和所述第一写请求从所述等待列 表中删除;在执行上述105将所述第一请求和所述写请求按照接收时间前后 顺序重新串行发送之后,将所述第一读请求和所述第一写请求从所述重做列 表中删除。
再进一步的,删除后,若等待列表和所述重做列表均为空列表时,则将 所述第二工作状态切换回所述第一工作状态。
上述105中,按照所述第一读请求和所述第一写请求的接收时间的先后顺序, 将所述第一读请求和所述第一写请求添加至重做列表,可具体包括如下步骤:
1051、将所述第一读请求和所述第一写请求中接收时间在先的请求发送 至所述网络存储设备;
1052、接收到所述网络存储设备反馈的所述第一读请求和所述第一写请求中 接收时间在先的请求的执行响应后,将所述第一读请求和所述第一写请求中接 收时间在后的请求发送至所述网络存储设备。
例如,第一请求A的接收时间为T1;与第一请求地址范围有重叠的写请求 B的接收时间为T2。其中,TI晚于T2。先将写请求B发送至网络存储设备; 待网络存储设备反馈所述写请求B对应的执行响应后,再将第一请求A发送至 网络存储设备。
这里需要说明的是:系统当前所处工作状态可以是通过判定等待列表是否为 空列表的方式来确定。例如,等待列表为非空时,系统的工作状态即切换为第 二工作状态;等待列表和重做列表均为空列表时,系统的工作状态即切换回所 述第一工作状态。当然,为了方便每次接收新请求时,避免每次都通过判定等 待列表中是否为空列表的方式来判定系统的工作状态的麻烦,如上述内容可知, 设置一个用于标记的系统工作状态的状态标识。这样,每次系统就直接根据当 前状态标识是第一标识还是第二标识,来确定系统的运行状态是第一工作状态 还是第二工作状态。因此,上述内容中提及的“将第一工作状态切换至第二工 作状态”可具体为:将第一工作状态对应的状态标识切换为所述第二工作状态对应的状态标识。同样的,上述内容中提及的“将第二工作状态切换为第一工作 状态”可具体为:将第二工作状态对应的状态标识切换为第一工作状态对应的状 态标识。
实际应用中,接收到的请求除读请求外还有写请求。当在第一工作状态下接 收写请求时,服务器对该第二写请求的发送处理过程可采用如下方法实现。即, 本申请实施例提供的技术方案还包括:
106、在所述第一工作状态下接收到第二写请求时,检查已发送但未收到 执行响应的各读请求中,是否存在与所述第二写请求对应的地址范围有重叠 的第二读请求。
107、当不存在所述第二读请求时,将所述第二写请求发送至所述网络存 储设备。
108、检查已发送但未收到执行响应的各写请求中,是否存在与所述第二 写请求对应的地址范围有重叠的第三写请求。
109、当不存在所述第三写请求时,等待接收所述第二写请求对应的执行响 应。
上述106中,已发送但未收到执行响应的读请求可在读请求发送列表中;系 统检查时可直接在读请求发送列表中检查是否有与第一请求的地址范围有重叠 的第二读请求即可。
这里需要补充说明的是:与写请求相比,读请求在发送之前并不检查读请求 发送列表中的已发送但未收到执行响应的读请求是否与读请求的地址范围有重 叠,是因为:两个读请求不管网络存储设备先执行谁,都不会影响网络存储设 备数据的正确性以及网络存储设备反馈的执行响应的准确性。因此,在第一工 作状态下,读请求可采用发送与保序检查同步进行的方案。
虽然在实际应用中,在已发送但未收到执行响应的读请求中检查出与所述第 一请求的地址范围有重叠的第二读请求的概率非常低,但当检查出有第二读请 求的时候,系统可将当前第一工作状态切换为第二工作状态。即承接上述步骤 106之后,本申请实施例提供的所述方法,还包括:
110、当存在所述第二读请求时,等待接收所述第二读请求对应的执行响 应。
111、接收到所述第二读请求对应的执行响应后,将所述第二写请求发送至 所述网络存储设备。
同样的,上述110中可将第二写请求添加至等待列表中,并标记为等待状态。 其中,标记的所述第二写请求对应的发送条件满足的事件为:接收到所述第二 读请求对应的执行响应。第二写请求发送之前或之后,将第二写请求从等待列 表中删除。
虽然在实际应用中,在已发送但未收到执行响应的写请求中检查出与正在发 送或已发送的所述第二写请求的地址范围有重叠的第三写请求的概率非常低, 但当检查出的时候,可采用如下重新发送的方案以保证网络存储设备该重叠地 址区域数据的正确性。即承接上述步骤108之后,本申请实施例提供的所述方 法,还包括:
112、当存在所述第三写请求时,等待接收所述第二写请求和所述第三写 请求对应的执行响应。
同样的,这里第二写请求和第三写请求也可被添加至等待列表和重做列 表中,并在等待列表中标记为等待状态。标记的第二写请求对应的发送条件 满足的事件为:接收到第二写请求对应的执行响应;标记的第三写请求对应 的发送条件满足的事件为:接收到所述第三写请求对应的执行响应。
此时,等待列表为非空列表,本实施例提供的技术方案还包括:
当等待列表为非空列表时,将第一工作状态切换为第二工作状态。
113、在接收到所等待的执行响应之后,按照所述第二写请求和所述第三写 请求的接收时间的先后顺序,将所述第二写请求和所述第三写请求重新串行发 送至所述网络存储设备,以由所述网络存储设备按照接收顺序串行执行并返回 对应的执行响应。
上述113中,按照所述第二写请求和所述第三写请求的接收时间的先后顺序, 将所述第二写请求和所述第三写请求重新串行发送至所述网络存储设备,可具 体包括:
将所述第二写请求和所述第三写请求中接收时间在先的请求发送至所 述网络存储设备;
接收到所述网络存储设备反馈的、所述第二写请求和所述第三写请求中接收 时间在先的请求的执行响应后,将所述第二写请求和所述第三写请求中接收时 间在后的请求发送至所述网络存储设备。
由上述内容可知,服务器的系统具有两种工作状态,分别为第一工作状态和 第二工作状态。当系统处于第二工作状态时,本实施例提供的技术方案还包括 如下步骤:
114、在第二工作状态下接收到第一数据请求时,检查已发送但未收到 执行响应的各数据请求及等待发送的各数据请求中,是否存在与所述第一数 据请求对应的地址范围有重叠的第二数据请求。
115、当存在所述第二数据请求时,将所述第一数据请求添加至等待列 表,并在所述等待列表中将所述第一数据请求标记为等待状态。
其中,所述等待状态为不具发送条件,等待发送条件满足的一种状态。 其中,标记的所述第一数据请求的发送条件满足的事件可具体为:接收到所 述第二数据请求对应的执行响应。
116、根据所述等待状态,在接收到所述第二数据请求的执行响应时, 将所述第一数据请求从所述等待列表中删除。
117、将所述第一数据请求发送至所述网络存储设备。
这里需要说明的是:上述第一数据请求可为写请求或读请求;上述第二 数据请求可为写请求或读请求。
上述步骤116和117中将“第一数据请求从所述的等待列表中删除”以 及“所述第一数据请求至所述网络存储设备”两个步骤可同时进行,也可先 将第一数据请求从所述的等待列表中删除,再将所述第一数据请求发送至所 述网络存储设备;还可先将所述第一数据请求发送至所述网络存储设备,再 将所述第一数据请求从所述等待列表中删除;对此本申请实施例不作具体限 定。
进一步的,当检查已发送但未收到执行响应的各数据请求及等待发送的 各数据请求中,不存在与所述第一数据请求对应的地址范围有重叠的第二数 据请求时,将所述第一数据请求添加至发送列表并发送至网络存储设备,以 便网络存储设备对数据进行读或写操作。
较现有技术中的发送流程,本实施例提供的技术方案在第二工作状态下 还包括步骤:
118、判断等待列表和重做列表是否均为空列表,若是,则将第二工作状 态切换回第一工作状态;否则,维持在第二工作状态。
综上内容可知,本申请实施例提供的技术方案中,系统处于第一工作状态时 请求发送的处理流程是:先检查读请求列表中的读请求,若第一请求为读请求, 那么两个读请求同一批发送,并不会存在网络存储设备反馈正确性的问题。若 第一请求为写请求,那么先读后写或是先写后读,都会存在网络存储设备反馈 正确性的问题,因此,在检查到读请求列表中有地址范围有重叠的读请求时, 即将该第一请求添加至等待列表中,此时服务器的工作状态即切换为第二工作 状态。若第一请求为写请求,读请求列表中无与第一请求地址范围有重叠的读 请求,则可先发送该第一请求。发送时,同步的检查写请求列表中是否有与第 一请求地址范围有重叠的写请求。若无,则等着网络存储设备反馈;若有,则 将所述第一请求与写请求一同添加至等待列表及重做列表。这里之所以这么做 是因为:网络存储设备可通过重做的方式进行来让请求正确完成;但对两个写 请求的服务器用户来说是无感的;另外,服务器发送和检查同步进行,可节省 一定的时间。
图4示出了本申请一实施例提供的处理读/写请求的方法的流程示意图。 其中,所述读/写请求用于请求对网络存储设备中某个地址范围的数据进行读写。 如图4所示,所述方法,包括:
201、在第一工作状态下接收到第一写请求时,检查已发送但未收到执行 响应的各读请求中,是否存在与所述第一写请求对应的地址范围有重叠的第 一读请求。
202、当不存在所述第一读请求时,将所述第一写请求发送至所述网络存 储设备。
203、检查已发送但未收到执行响应的各写请求中,是否存在与所述第一 写请求对应的地址范围有重叠的第二写请求。
204、当不存在所述第二写请求时,等待接收所述第一写请求对应的执行 响应。
有关上述步骤201~204的内容可参见上述实施例中的相应内容,此处不 再赘述。
进一步的,本申请实施例提供的所述方法还包括:
205、当存在所述第二写请求时,等待接收所述第一写请求和所述第二写 请求对应的执行响应。
206、在接收到所等待的执行响应之后,按照所述第一写请求和所述第二 写请求的接收时间的先后顺序,将所述第一写请求和所述第二写请求重新串 行发送至网络存储设备,以由网络存储设备按照接收顺序串行执行并返回对 应的执行响应。
上述205中,等待接收所述第一写请求和所述第二写请求对应的执行响 应,可具体包括:
2051、将所述第一写请求和所述第二写请求添加至等待列表;
2052、按照所述第一写请求和所述第二写请求的接收时间的先后顺序, 将所述第一写请求和所述第二写请求添加至重做列表。
进一步的,本申请实施例提供的所述方法还包括:
207、当所述等待列表为非空列表时,将所述第一工作状态切换为第二工 作状态。
进一步的,按照所述第一写请求和所述第二写请求的接收时间的先后顺 序,将所述第一写请求和所述第二写请求重新串行发送至网络存储设备之后, 本申请实施例提供的技术方案,还包括:
208、将所述第一写请求和所述第二写请求从所述重做列表中删除;
209、将所述第一写请求和所述第二写请求从所述等待列表中删除。
进一步的,本申请实施例提供的方案还包括:
210、当所述等待列表和所述重做列表均为空列表时,将所述第二工作状 态切换回所述第一工作状态。
进一步的,本申请实施例还包括:
211、当存在所述第一读请求时,将所述第一写请求添加至等待列表中。
212、将第一工作状态切换为第二工作状态。
213、待待接收到所述第一读请求对应的执行响应后,将所述第一写请求 发送至所述网络存储设备。
进一步的,本申请实施例还包括:
214、在第二工作状态下接收到第一数据请求时,检查已发送但未收到 执行响应的各数据请求及等待发送的各数据请求中,是否存在与所述第一数 据请求对应的地址范围有重叠的第二数据请求。
215、当存在所述第二数据请求时,将所述第一数据请求添加至等待列 表,并在所述等待列表中将所述第一数据请求标记为等待状态。
216、根据所述等待状态,在接收到所述第二数据请求对应的执行响应 时,将所述第一数据请求从所述等待列表中删除。
217、将所述第一数据请求发送至网络存储设备。
其中,所述第一数据请求和所述第二数据请求为读请求或写请求。
这里需要说明的是:本实施例提供的各步骤的具体实现可参见上述实施例 和下述实施例的相关内容,此处不再赘述。另外,本实施例提供的技术方案还 包括有在第一工作状态下接收到读请求时,对该读请求的处理过程;具体的, 这部分内容可参见上述实施例和下述实施例中的相关内容。
下面结合一具体实例对本申请实施例提供的技术方案作进一步的说明,以 帮助理解。
假设新接收到的请求为请求A;正在发送及已发送但网络存储设备未执行 完成并未反馈执行响应的请求包括:请求B、请求C、请求D、请求E。其中, 请求B和请求C的请求类别为读请求类别;请求D与请求E的请求类别为写请 求类别。读请求列表中包含有请求B和请求C;写请求列表中包含有请求D和 请求E。发送列表中包含有请求B、请求C、请求D、请求E。
本申请的服务器系统分为两种状态:第一工作状态和第二工作状态。系 统初始阶段默认为快速状态。系统根据当前的状态,决定收到的读写请求按 照那种流程进行处理。第一工作状态下收到的读写请求采用第一工作状态对 应的下方处理流程进行处理;第二工作状态下收到的读写请求采用第二工作 状态对应的发送处理流程进行处理。
具体的,如图5所示,本申请实施例提供的技术方案包括:
301、接收请求A。
302、系统当前工作状态为第一工作状态还是第二工作状态;第一工作状态 时执行步骤303~315;第二工作状态时执行步骤316。
303、识别请求A的请求类别。
304、请求A的请求类别为读类别,则将请求A添加至读请求列表及发 送列表中,并发送至网络存储设备,进入步骤308。
305、请求A的请求类别为写类别,则遍历读请求列表,检查读请求列表 中是否存在与请求A地址范围有重叠的读请求。
即检查请求B和请求C中是否有与请求A地址范围有重叠的读请求。具体 实施时,可通过比对请求中携带的起始地址,来确定两个请求是否地址范围有 重叠。
306、若存在与请求A地址范围有重叠的读请求(假设请求B与所述请求A 的地址范围有重叠),则将所述请求A添加至等待列表,并标记请求A为等待 状态,且标记的请求A的发送条件满足的事件为:接收到请求B对应的执行响 应;将当前第一工作状态切换为第二工作状态;当接收到请求B对应的执行响 应时,将请求A从等待列表中删除;将请求A添加至写请求列表及发送列表中 并发送至网络存储设备。
307、若不存在与请求A地址范围有重叠的读请求,则将请求A添加至写 请求列表及发送列表中并发送至网络存储设备。
308、检查写请求列表中,是否存在与请求A地址范围有重叠的写请求, 若不存在,则进入步骤309;否则,进入步骤310。
即检查请求D、请求E中是否有与请求A地址范围有重叠的请求。这里需 要补充的是:后续步骤假设请求D与请求A对应的地址范围有重叠。
309、等待网络存储设备反馈所述请求A对应的执行响应。
310、将请求A和请求D添加至等待列表,并在所述等待列表中将请求 A标记为等待状态,且标记的请求A的发送条件满足的事件为:接收到请求 A对应的执行响应;将请求D标记为等待状态,且标记的请求D的发送条件 满足的事件为:接收到请求D对应的执行响应。
311、将请求A和请求D按照接收时间前后添加至重做列表。
因为,请求D的接收时间早于请求A,所以按照先请求D后请求A的 顺序添加至重做列表。
312、将当前第一工作状态切换至第二工作状态。
313、接收到网络存储设备反馈的所述请求A对应的执行响应及所述请 求D对应的执行响应后,将请求A和请求D按照接收时间前后顺序重新串 行发送至所述网络存储设备。
314、将请求A和请求D从所述重做列表中删除;将请求A和请求D从 所述等待列表中删除。
315、若重做列表和所述等待列表均为空列表,则将所述第二工作状态 切换回所述第一工作状态。
316、检查发送列表和等待列表中是否有与所述请求A的地址范围有重 叠的请求;若有,执行317~319;若无,将所述A请求添加至发送队列中, 并发送至网络存储设备。
假设发送列表中请求C与请求A对应的地址范围有重叠。
317、将所述请求A添加至等待列表,并将所述请求A标记为等待状态。
其中,等待状态为不具发送条件,等待发送条件满足的一种状态。本实 例中,标记的所述请求A对应的发送条件满足的事件可以是:接收到请求C 对应的执行响应。
318、根据所述等待状态,在接收到所述网络存储设备反馈所述C请求对应 的执行响应时,将所述请求A从所述等待列表中删除,并将所述请求A发送至 所述网络存储设备。
319、若重做列表和所述等待列表均为空列表,则将所述第二工作状态切换 回所述第一工作状态。
由上述各步骤可知,在第一工作状态下,本实施例只让写请求针对正在 发送的读请求发送列表作保序检查。而传统流程中,无论读写请求,均需针 对正在发送的发送列表(即包含有读请求和写请求的列表)做保序检查。本 申请的快速流程更节省发送时间。
在第二工作状态下,基本与现有技术类同,先遍历处理保序,后发送网 络存储设备执行。只是在发现没有重叠的请求等待及无重做的请求时,系统 就主动切回默认的第一工作状态,后续的请求均采用第一工作状态对应的发 送流程执行发送处理。
总之,本申请实施例通过将写请求保序检查流程旁路化,让一部分检查 保序的工作和发送网络存储设备存储可以并行。因为写请求的保序检查旁路 化,因此理论上可以优化50%的保存检查耗时。对于线上常出现的批量写请 求场景,本申请的优化更为有效,这种场景下保序检查整套都旁路化,优化 了100%的检查耗时。
需要说明的是:上述实施例所提供方法的各步骤的执行主体均可以是同一 设备,或者,该方法也由不同设备作为执行主体。比如,步骤101至步骤103 的执行主体可以为设备A;又比如,步骤101和102的执行主体可以为设备A, 步骤103的执行主体可以为设备B;等等。
图6示出了本申请一实施例提供的处理读/写请求的装置的结构示意图。如 图6所示,其中,所述读/写请求用于请求对网络存储设备中某个地址范围的数 据进行读写,该装置包括:
发送模块401,用于在第一工作状态下接收到第一读请求时,将所述第 一读请求发送至所述网络存储设备;
检查模块402,用于检查已发送但未收到执行响应的各写请求中,是否 存在与所述第一读请求对应的地址范围有重叠的第一写请求;
等待模块403,用于当不存在所述第一写请求时,等待接收所述第一读 请求对应的执行响应。
本申请实施例提供的一技术方案中,接收到读请求后直接发送,并在读 请求发送时或发送后在已发送但未收到执行响应的写请求中作保序检查,这 样就能让网络存储设备处理第一请求和服务器对第一请求进行保序检查同时 进行,省去了读请求发送前的保序检查所消耗的时间;另外,在保序检查时 仅遍历已发送但未收到执行响应的写请求,而非现有技术中便利所有请求(包 括读请求和写请求),遍历数量减少,进一步地节省了时间,提高了服务器 的请求发送的处理效率,进而改善现有技术中因保序检查耗费大量时间致使 的请求处理延迟问题。
进一步的,本申请实施例提供的处理读/写请求的装置还包括:
所述等待模块403,还用于当存在所述第一写请求时,等待接收所述第 一读请求和所述第一写请求对应的执行响应;
所述发送模块401,还用于在接收到所等待的执行响应之后,按照所述 第一读请求和所述第一写请求的接收时间的先后顺序,将所述第一读请求和 所述第一写请求重新串行发送至所述网络存储设备,以由网络存储设备按照 接收顺序串行并返回对应的执行响应。
进一步的,所述发送模块401,还用于将所述第一读请求和所述第一写 请求中接收时间在先的请求发送至所述网络存储设备;接收到所述网络存储 设备反馈的所述第一读请求和所述第一写请求中接收时间在先的请求对应的 执行响应后,将所述第一读请求和所述第一写请求中接收时间在后的请求发 送至所述网络存储设备。
进一步的,所述等待模块403,还用于将所述第一读请求和所述第一写 请求添加至等待列表;按照所述第一读请求和所述第一写请求的接收时间的 先后顺序,将所述第一读请求和所述第一写请求顺序添加至重做列表。
进一步的,本申请实施例提供的所述装置还包括:
切换模块,用于当所述等待列表为非空列表时,将所述第一工作状态切 换为第二工作状态。
进一步的,本申请实施例提供的所述装置还包括:
删除模块,用于将所述第一读请求和所述第一写请求从所述重做列表中 删除;将所述第一读请求和所述第一写请求从所述等待列表中删除。
进一步的,本申请实施例提供的所述装置还包括:
切换模块,用于当所述等待列表和所述重做列表均为空列表时,将所述 第二工作状态切换回所述第一工作状态。
进一步的,本申请实施例提供的所述装置还包括:
所述检查模块402,还用于在所述第一工作状态下接收到第二写请求时, 检查已发送但未收到执行响应的各读请求中,是否存在与所述第二写请求对 应的地址范围有重叠的第二读请求;
所述发送模块401,还用于当不存在所述第二读请求时,将所述第二写 请求发送至所述网络存储设备;
所述检查模块402,还用于检查已发送但未收到执行响应的各写请求中, 是否存在与所述第二写请求对应的地址范围有重叠的第三写请求;
所述等待模块403,还用于当不存在所述第三写请求时,等待接收所述 第二写请求对应的执行响应。
进一步的,本申请实施例提供的所述装置还包括:
所述等待模块403,还用于当存在所述第三写请求时,等待接收所述第 二写请求和所述第三写请求对应的执行响应;
所述发送模块401,还用于在接收到所等待的执行响应之后,按照所述 第二写请求和所述第三写请求的接收时间的先后顺序,将所述第二写请求和 所述第三写请求重新串行发送至所述网络存储设备,以由所述网络存储设备 按照接收顺序串行执行并返回对应的执行响应。
进一步的,本申请实施例提供的所述装置还包括:
所述等待模块403,还用于当存在所述第二读请求时,等待接收所述第 二读请求对应的执行响应;
所述发送模块401,还用于接收到所述第二读请求对应的执行响应后, 将所述第二写请求发送至所述网络存储设备。
进一步的,本申请实施例提供的所述装置还包括:
所述检查模块402,还用于在第二工作状态下接收到第一数据请求时, 检查已发送但未收到执行响应的各数据请求及等待发送的各数据请求中,是 否存在与所述第一数据请求对应的地址范围有重叠的第二数据请求;
添加模块,用于当存在所述第二数据请求时,将所述第第一数据请求添 加至等待列表,并在所述等待列表中将所述第一数据请求标记为等待状态;
删除模块,还用于根据所述等待状态,在接收到所述第二数据请求的执 行响应时,将所述第一数据请求从所述等待列表中删除;
所述发送模块401,用于将所述第一数据请求发送至所述网络存储设备。
其中,所述第一数据请求和所述第二数据请求为写请求或读请求。
这里需要说明的是:上述实施例提供的处理读/写请求的装置可实现上述 各方法实施例中描述的技术方案,上述各模块或单元具体实现的原理可参见 上述各方法实施例中的相应内容,此处不再赘述。
图7示出了本申请另一实施例提供的处理读/写请求的装置的结构示意图。 如图7所示,本实施例提供的所述装置包括:
检查模块501,用于在第一工作状态下接收到第一写请求时,检查已发 送但未收到执行响应的各读请求中,是否存在与所述第一写请求对应的地址 范围有重叠的第一读请求;
发送模块502,用于当不存在所述第一读请求时,将所述第一写请求发 送至所述网络存储设备;
所述检查模块501,还用于检查已发送但未收到执行响应的各写请求中, 是否存在与所述第一写请求对应的地址范围有重叠的第二写请求;
等待模块503,用于当不存在所述第二写请求时,等待接收所述第一写请求 对应的执行响应。
本申请实施例提供的技术方案中,接收到写请求时,在已发送但未收到 执行响应的读请求中无与该写请求地址重复的读请求时,也采用发送与保序 同步进行的方式,省去了读请求发送前的保序检查所消耗的时间,有助于改 善现有技术中因保序检查耗费大量时间致使的请求处理延迟问题;另外,在 发送前的保序检查仅遍历已发送但未收到执行响应的写请求中,而非现有技 术中便利所有请求(包括读请求和写请求),遍历数量减少,进一步地节省 了时间。
进一步,本申请实施例提供的所述装置还包括:
所述等待模块503,还用于当存在所述第二写请求时,等待接收所述第 一写请求和所述第二写请求对应的执行响应;
所述发送模块502,还用于在接收到所等待的执行响应之后,按照所述 第一写请求和所述第二写请求的接收时间的先后顺序,将所述第一写请求和 所述第二写请求重新串行发送至网络存储设备,以由网络存储设备按照接收 顺序串行执行并返回对应的执行响应。
进一步的,所述等待模块503还用于:将所述第一写请求和所述第二写 请求添加至等待列表;按照所述第一写请求和所述第二写请求的接收时间的 先后顺序,将所述第一写请求和所述第二写请求顺序添加至重做列表。
进一步的,本申请实施例提供的所述装置还包括:
切换模块,用于当所述等待列表为非空列表时,将所述第一工作状态切 换为第二工作状态。
进一步的,本申请实施例提供的所述装置还包括:
删除模块,用于将所述第一写请求和所述第二写请求从所述重做列表中 删除;将所述第一写请求和所述第二写请求从所述等待列表中删除。
进一步的,本申请实施例提供的所述装置还包括:
切换模块,用于当所述等待列表和所述重做列表均为空列表时,将所述 第二工作状态切换回所述第一工作状态。
进一步的,本申请实施例提供的所述装置还包括:
添加模块,用于当存在所述第一读请求时,将所述第一写请求添加至等 待列表中;
切换模块,用于将第一工作状态切换为第二工作状态;
所述发送模块502,用于待接收到所述第一读请求对应的执行响应后, 将所述第一写请求发送至所述网络存储设备。
进一步的,本申请实施例提供的所述装置还包括:
所述检查模块501,还用于在第二工作状态下接收到第一数据请求时, 检查已发送但未收到执行响应的各数据请求及等待发送的各数据请求中,是 否存在与所述第一数据请求对应的地址范围有重叠的第二数据请求;
添加模块,用于当存在所述第二数据请求时,将所述第一数据请求添加 至等待列表,并在所述等待列表中将所述第一数据请求标记为等待状态;
删除模块,用于根据所述等待状态,在接收到所述第二数据请求对应的 执行响应时,将所述第一数据请求从所述等待列表中删除;
所述发送模块502,用于将所述第一数据请求发送至网络存储设备。
其中,所述第一数据请求和所述第二数据请求为读请求或写请求。
这里需要说明的是:上述实施例提供的处理读/写请求的装置可实现上述各 方法实施例中描述的技术方案,上述各模块或单元具体实现的原理可参见上述 各方法实施例中的相应内容,此处不再赘述。
图8示出了本申请一实施例提供的电子设备的结构示意图。如图8所示, 所述电子设备包括:第一存储器601和第一处理器602,其中,
所述第一存储器601,用于存储程序;
所述第一处理器602,与所述第一存储器601耦合,用于执行所述第一 存储器801中存储的所述程序,以用于:
在第一工作状态下接收到第一读请求时,将所述第一读请求发送至所述 网络存储设备;
检查已发送但未收到执行响应的各写请求中,是否存在与所述第一读请 求对应的地址范围有重叠的第一写请求;
当不存在所述第一写请求时,等待接收所述第一读请求对应的执行响应。
本申请实施例提供的技术方案中,接收到读请求后直接发送,并在读请 求发送时或发送后在已发送但未收到执行响应的写请求中作保序检查,这样 就能让网络存储设备处理第一请求和服务器对第一请求进行保序检查同时进 行,省去了读请求发送前的保序检查所消耗的时间;另外,在保序检查时仅 遍历已发送但未收到执行响应的写请求,而非现有技术中便利所有请求(包 括读请求和写请求),遍历数量减少,进一步地节省了时间,提高了服务器 的请求发送的处理效率,进而改善现有技术中因保序检查耗费大量时间致使 的请求处理延迟问题。
上述第一存储器601可被配置为存储其它各种数据以支持在电子设备上 的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法 的指令。第一存储器601可以由任何类型的易失性或非易失性存储设备或者 它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读 存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存 储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光 盘。
上述第一处理器602在执行第一存储器601中的程序时,除了上面的功能 之外,还可实现其它功能,具体可参见前面各实施例的描述。
进一步,如图8所示,电子设备还包括:第一通信组件603、第一显示器 604、第一电源组件605、第一音频组件606等其它组件。图8中仅示意性给出 部分组件,并不意味着电子设备只包括图8所示组件。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储 介质,所述计算机程序被计算机执行时能够实现上述各实施例提供的处理读/ 写请求的方法步骤或功能。
图9示出了本申请一实施例提供的电子设备的结构示意图。如图9所示, 所述电子设备包括:第二存储器701和第二处理器702,其中,
所述第二存储器701,用于存储程序;
所述第二处理器702,与所述第二存储器701耦合,用于执行所述第二 存储器701中存储的所述程序,以用于:
在第一工作状态下接收到第一写请求时,检查已发送但未收到执行响应 的各读请求中,是否存在与所述第一写请求对应的地址范围有重叠的第一读 请求;
当不存在所述第一读请求时,将所述第一写请求发送至所述网络存储设 备;
检查已发送但未收到执行响应的各写请求中,是否存在与所述第一写请 求对应的地址范围有重叠的第二写请求;
当不存在所述第二写请求时,等待接收所述第一写请求对应的执行响应。
本申请实施例提供的技术方案中,接收到写请求时,在已发送但未收到 执行响应的读请求中无与该写请求地址重复的读请求时,也采用发送与保序 同步进行的方式,省去了读请求发送前的保序检查所消耗的时间,有助于改 善现有技术中因保序检查耗费大量时间致使的请求处理延迟问题;另外,在 发送前的保序检查仅遍历已发送但未收到执行响应的写请求中,而非现有技 术中便利所有请求(包括读请求和写请求),遍历数量减少,进一步地节省 了时间。
上述第二存储器701可被配置为存储其它各种数据以支持在电子设备上 的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法 的指令。第二存储器701可以由任何类型的易失性或非易失性存储设备或者 它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读 存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存 储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光 盘。
上述第二处理器702在执行第二存储器701中的程序时,除了上面的功能 之外,还可实现其它功能,具体可参见前面各实施例的描述。
进一步,如图8所示,客户端设备还包括:第二通信组件703、第二显示器 704、第二电源组件705、第二音频组件706等其它组件。图8中仅示意性给出 部分组件,并不意味着电子设备只包括图9所示组件。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储 介质,所述计算机程序被计算机执行时能够实现上述各实施例提供的处理读/ 写请求的方法步骤或功能。
这里需要说明的是:上各电子设备实施例中,电子设备可以是云端设备 等,本申请实施例对此不作具体限定。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的 单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也 可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。 可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。 本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施 方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。 基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以 以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介 质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备 (可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例 的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限 制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员 应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其 中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的 本质脱离本申请各实施例技术方案的精神和范围。
Claims (23)
1.一种处理读/写请求的方法,其中,所述读/写请求用于请求对网络存储设备中某个地址范围的数据进行读写,该方法包括:
在第一工作状态下接收到第一读请求时,将所述第一读请求发送至所述网络存储设备;
检查已发送但未收到执行响应的各写请求中,是否存在与所述第一读请求对应的地址范围有重叠的第一写请求;
当不存在所述第一写请求时,等待接收所述第一读请求对应的执行响应。
2.根据权利要求1所述的方法,其中,还包括:
当存在所述第一写请求时,等待接收所述第一读请求和所述第一写请求对应的执行响应;
在接收到所等待的执行响应之后,按照所述第一读请求和所述第一写请求的接收时间的先后顺序,将所述第一读请求和所述第一写请求重新串行发送至所述网络存储设备,以由网络存储设备按照接收顺序串行并返回对应的执行响应。
3.根据权利要求2所述的方法,其中,按照所述第一读请求和所述第一写请求的接收时间的先后顺序,将所述第一读请求和所述第一写请求重新串行发送至所述网络存储设备,包括:
将所述第一读请求和所述第一写请求中接收时间在先的请求发送至所述网络存储设备;
接收到所述网络存储设备反馈的、所述第一读请求和所述第一写请求中接收时间在先的请求对应的执行响应后,将所述第一读请求和所述第一写请求中接收时间在后的请求发送至所述网络存储设备。
4.根据权利要求2或3所述的方法,其中,所述等待接收所述第一读请求和所述第一写请求对应的执行响应,包括:
将所述第一读请求和所述第一写请求添加至等待列表;
按照所述第一读请求和所述第一写请求的接收时间的先后顺序,将所述第一读请求和所述第一写请求添加至重做列表。
5.根据权利要求4所述的方法,其中,还包括:
当所述等待列表为非空列表时,将所述第一工作状态切换为第二工作状态。
6.根据权利要求5所述的方法,其中,按照所述第一读请求和所述第一写请求的接收时间的先后顺序,将所述第一读请求和所述第一写请求重新串行发送至所述网络存储设备之后,还包括:
将所述第一读请求和所述第一写请求从所述重做列表中删除;
将所述第一读请求和所述第一写请求从所述等待列表中删除。
7.根据权利要求6所述的方法,其中,还包括:
当所述等待列表和所述重做列表均为空列表时,将所述第二工作状态切换回所述第一工作状态。
8.根据权利要求1至3中任一项所述的方法,其中,还包括:
在所述第一工作状态下接收到第二写请求时,检查已发送但未收到执行响应的各读请求中,是否存在与所述第二写请求对应的地址范围有重叠的第二读请求;
当不存在所述第二读请求时,将所述第二写请求发送至所述网络存储设备;
检查已发送但未收到执行响应的各写请求中,是否存在与所述第二写请求对应的地址范围有重叠的第三写请求;
当不存在所述第三写请求时,等待接收所述第二写请求对应的执行响应。
9.根据权利要求8所述的方法,其中,还包括:
当存在所述第三写请求时,等待接收所述第二写请求和所述第三写请求对应的执行响应;
在接收到所等待的执行响应之后,按照所述第二写请求和所述第三写请求的接收时间的先后顺序,将所述第二写请求和所述第三写请求重新串行发送至所述网络存储设备,以由所述网络存储设备按照接收顺序串行执行并返回对应的执行响应。
10.根据权利要求9所述的方法,其中,还包括:
当存在所述第二读请求时,等待接收所述第二读请求对应的执行响应;
接收到所述第二读请求对应的执行响应后,将所述第二写请求发送至所述网络存储设备。
11.根据权利要求1至3中任一项所述的方法,其中,还包括:
在第二工作状态下接收到第一数据请求时,检查已发送但未收到执行响应的各数据请求及等待发送的各数据请求中,是否存在与所述第一数据请求对应的地址范围有重叠的第二数据请求;
当存在所述第二数据请求时,将所述第一数据请求添加至等待列表,并在所述等待列表中将所述第一数据请求标记为等待状态;
根据所述等待状态,在接收到所述第二数据请求的执行响应时,将所述第一数据请求从所述等待列表中删除;
将所述第一数据请求发送至所述网络存储设备;
其中,所述第一数据请求和所述第二数据请求为写请求或读请求。
12.一种处理读/写请求的方法,其中,所述读/写请求用于请求对网络存储设备中某个地址范围的数据进行读写,该方法包括:
在第一工作状态下接收到第一写请求时,检查已发送但未收到执行响应的各读请求中,是否存在与所述第一写请求对应的地址范围有重叠的第一读请求;
当不存在所述第一读请求时,将所述第一写请求发送至所述网络存储设备;
检查已发送但未收到执行响应的各写请求中,是否存在与所述第一写请求对应的地址范围有重叠的第二写请求;
当不存在所述第二写请求时,等待接收所述第一写请求对应的执行响应。
13.根据权利要求12所述的方法,其中,还包括:
当存在所述第二写请求时,等待接收所述第一写请求和所述第二写请求对应的执行响应;
在接收到所等待的执行响应之后,按照所述第一写请求和所述第二写请求的接收时间的先后顺序,将所述第一写请求和所述第二写请求重新串行发送至网络存储设备,以由网络存储设备按照接收顺序串行执行并返回对应的执行响应。
14.根据权利要求13所述的方法,其中,所述等待接收所述第一写请求和所述第二写请求对应的执行响应,包括:
将所述第一写请求和所述第二写请求添加至等待列表;
按照所述第一写请求和所述第二写请求的接收时间的先后顺序,将所述第一写请求和所述第二写请求添加至重做列表。
15.根据权利要求14所述的方法,其中,还包括:
当所述等待列表为非空列表时,将所述第一工作状态切换为第二工作状态。
16.根据权利要求15所述的方法,其中,按照所述第一写请求和所述第二写请求的接收时间的先后顺序,将所述第一写请求和所述第二写请求重新串行发送至网络存储设备之后,还包括:
将所述第一写请求和所述第二写请求从所述重做列表中删除;
将所述第一写请求和所述第二写请求从所述等待列表中删除。
17.根据权利要求16所述的方法,其中,还包括:
当所述等待列表和所述重做列表均为空列表时,将所述第二工作状态切换回所述第一工作状态。
18.根据权利要求12至17中任一项所述的方法,其中,还包括:
当存在所述第一读请求时,将所述第一写请求添加至等待列表中;
将第一工作状态切换为第二工作状态;
待接收到所述第一读请求对应的执行响应后,将所述第一写请求发送至所述网络存储设备。
19.根据权利要求12至17中任一项所述的方法,其中,还包括:
在第二工作状态下接收到第一数据请求时,检查已发送但未收到执行响应的各数据请求及等待发送的各数据请求中,是否存在与所述第一数据请求对应的地址范围有重叠的第二数据请求;
当存在所述第二数据请求时,将所述第一数据请求添加至等待列表,并在所述等待列表中将所述第一数据请求标记为等待状态;
根据所述等待状态,在接收到所述第二数据请求对应的执行响应时,将所述第一数据请求从所述等待列表中删除;
将所述第一数据请求发送至网络存储设备;
其中,所述第一数据请求和所述第二数据请求为读请求或写请求。
20.一种网络存储系统,用于根据接收到的数据请求来执行相应的操作,所述网络存储系统包括服务器及网络存储设备,所述数据请求用于请求对网络存储设备中某个地址范围的数据进行读写,在所述网络存储系统中:
当所述数据请求为第一读请求时,所述服务器用于在第一工作状态下接收到所述第一读请求时,将所述第一读请求发送至所述网络存储设备;检查已发送但未收到执行响应的各写请求中,是否存在与所述第一读请求对应的地址范围有重叠的第一写请求;当不存在所述第一写请求时,等待接收所述第一读请求对应的执行响应;
所述网络存储设备,用于接收所述服务器发送的所述数据请求,根据所述数据请求执行相应的操作并返回对应的执行响应。
21.根据权利要求20所述的网络存储系统,其中:
当所述数据请求为第二写请求时,所述服务器用于在所述第一工作状态下接收到第二写请求时,检查已发送但未收到执行响应的各读请求中,是否存在与所述第二写请求对应的地址范围有重叠的第二读请求;当不存在所述第二读请求时,将所述第二写请求发送至所述网络存储设备;检查已发送但未收到执行响应的各写请求中,是否存在与所述第二写请求对应的地址范围有重叠的第三写请求;当不存在所述第三写请求时,等待接收所述第二写请求对应的执行响应。
22.一种电子设备,其中,包括:第一存储器和第一处理器,其中,
所述第一存储器,用于存储程序;
所述第一处理器,与所述第一存储器耦合,用于执行所述第一存储器中存储的所述程序,以用于:
在第一工作状态下接收到第一读请求时,将所述第一读请求发送至所述网络存储设备;
检查已发送但未收到执行响应的各写请求中,是否存在与所述第一读请求对应的地址范围有重叠的第一写请求;
当不存在所述第一写请求时,等待接收所述第一读请求对应的执行响应。
23.一种电子设备,其中,包括:第二存储器和第二处理器,其中,
所述第二存储器,用于存储程序;
所述第二处理器,与所述第二存储器耦合,用于执行所述第二存储器中存储的所述程序,以用于:
在第一工作状态下接收到第一写请求时,检查已发送但未收到执行响应的各读请求中,是否存在与所述第一写请求对应的地址范围有重叠的第一读请求;
当不存在所述第一读请求时,将所述第一写请求发送至所述网络存储设备;
检查已发送但未收到执行响应的各写请求中,是否存在与所述第一写请求对应的地址范围有重叠的第二写请求;
当不存在所述第二写请求时,等待接收所述第一写请求对应的执行响应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810990458.4A CN110865769B (zh) | 2018-08-28 | 2018-08-28 | 处理读/写请求的方法、网络存储系统及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810990458.4A CN110865769B (zh) | 2018-08-28 | 2018-08-28 | 处理读/写请求的方法、网络存储系统及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110865769A true CN110865769A (zh) | 2020-03-06 |
CN110865769B CN110865769B (zh) | 2023-06-20 |
Family
ID=69651856
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810990458.4A Active CN110865769B (zh) | 2018-08-28 | 2018-08-28 | 处理读/写请求的方法、网络存储系统及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110865769B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110515743A (zh) * | 2019-07-26 | 2019-11-29 | 济南浪潮数据技术有限公司 | 写事件通知方法及装置 |
WO2022100116A1 (zh) * | 2020-11-13 | 2022-05-19 | 华为技术有限公司 | 一种保序执行写请求的方法及网络设备 |
CN115617718A (zh) * | 2022-12-19 | 2023-01-17 | 芯动微电子科技(珠海)有限公司 | 一种基于AXI总线的读写保序方法及SoC系统 |
CN115857834A (zh) * | 2023-01-05 | 2023-03-28 | 摩尔线程智能科技(北京)有限责任公司 | 一种用于检查针对存储器的读写一致性的方法和装置 |
CN116643945A (zh) * | 2023-05-31 | 2023-08-25 | 合芯科技有限公司 | 一种二级缓存的数据检测方法、系统及计算机设备 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020108005A1 (en) * | 2001-02-05 | 2002-08-08 | Larson Jeffrey D. | Dynamic queuing for read/write requests |
US6757768B1 (en) * | 2001-05-17 | 2004-06-29 | Cisco Technology, Inc. | Apparatus and technique for maintaining order among requests issued over an external bus of an intermediate network node |
US6832279B1 (en) * | 2001-05-17 | 2004-12-14 | Cisco Systems, Inc. | Apparatus and technique for maintaining order among requests directed to a same address on an external bus of an intermediate network node |
CN1588552A (zh) * | 2004-09-16 | 2005-03-02 | 联合信源数字音视频技术(北京)有限公司 | 有异步缓存的双倍速动态随机存取存储器控制装置及方法 |
US20130290619A1 (en) * | 2012-04-30 | 2013-10-31 | Netapp, Inc. | Apparatus and Method for Sequential Operation on a Random Access Device |
CN103902348A (zh) * | 2012-12-25 | 2014-07-02 | 华为技术有限公司 | 一种虚拟化环境下用户数据的读写方法、系统及物理机 |
WO2015027806A1 (zh) * | 2013-08-26 | 2015-03-05 | 华为技术有限公司 | 一种内存数据的读写处理方法和装置 |
WO2015077955A1 (zh) * | 2013-11-28 | 2015-06-04 | 华为技术有限公司 | 一种写数据方法、装置和系统 |
CN106802774A (zh) * | 2017-01-18 | 2017-06-06 | 广东睿江云计算股份有限公司 | 写请求处理方法和装置、读请求处理方法和装置 |
US20180121366A1 (en) * | 2016-11-01 | 2018-05-03 | Alibaba Group Holding Limited | Read/write request processing method and apparatus |
WO2018082302A1 (zh) * | 2016-11-07 | 2018-05-11 | 华为技术有限公司 | 响应写请求的方法和装置 |
-
2018
- 2018-08-28 CN CN201810990458.4A patent/CN110865769B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020108005A1 (en) * | 2001-02-05 | 2002-08-08 | Larson Jeffrey D. | Dynamic queuing for read/write requests |
US6757768B1 (en) * | 2001-05-17 | 2004-06-29 | Cisco Technology, Inc. | Apparatus and technique for maintaining order among requests issued over an external bus of an intermediate network node |
US6832279B1 (en) * | 2001-05-17 | 2004-12-14 | Cisco Systems, Inc. | Apparatus and technique for maintaining order among requests directed to a same address on an external bus of an intermediate network node |
CN1588552A (zh) * | 2004-09-16 | 2005-03-02 | 联合信源数字音视频技术(北京)有限公司 | 有异步缓存的双倍速动态随机存取存储器控制装置及方法 |
US20130290619A1 (en) * | 2012-04-30 | 2013-10-31 | Netapp, Inc. | Apparatus and Method for Sequential Operation on a Random Access Device |
CN103902348A (zh) * | 2012-12-25 | 2014-07-02 | 华为技术有限公司 | 一种虚拟化环境下用户数据的读写方法、系统及物理机 |
WO2015027806A1 (zh) * | 2013-08-26 | 2015-03-05 | 华为技术有限公司 | 一种内存数据的读写处理方法和装置 |
WO2015077955A1 (zh) * | 2013-11-28 | 2015-06-04 | 华为技术有限公司 | 一种写数据方法、装置和系统 |
US20180121366A1 (en) * | 2016-11-01 | 2018-05-03 | Alibaba Group Holding Limited | Read/write request processing method and apparatus |
WO2018082302A1 (zh) * | 2016-11-07 | 2018-05-11 | 华为技术有限公司 | 响应写请求的方法和装置 |
CN106802774A (zh) * | 2017-01-18 | 2017-06-06 | 广东睿江云计算股份有限公司 | 写请求处理方法和装置、读请求处理方法和装置 |
Non-Patent Citations (4)
Title |
---|
LI RUITAO: "Expansion on Register Address Space of VXIbus Device and It’s Application" * |
卢军,陈凌虎,卢显良: "一种适应WAN的新型分层缓存管理机制" * |
李辉,谢长生,涂平: "一种新型的高性能计算机存储系统的研究与实现" * |
董晓明;李小勇;程煜;: "分布式文件系统的写性能优化" * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110515743A (zh) * | 2019-07-26 | 2019-11-29 | 济南浪潮数据技术有限公司 | 写事件通知方法及装置 |
WO2022100116A1 (zh) * | 2020-11-13 | 2022-05-19 | 华为技术有限公司 | 一种保序执行写请求的方法及网络设备 |
CN115617718A (zh) * | 2022-12-19 | 2023-01-17 | 芯动微电子科技(珠海)有限公司 | 一种基于AXI总线的读写保序方法及SoC系统 |
CN115857834A (zh) * | 2023-01-05 | 2023-03-28 | 摩尔线程智能科技(北京)有限责任公司 | 一种用于检查针对存储器的读写一致性的方法和装置 |
CN116643945A (zh) * | 2023-05-31 | 2023-08-25 | 合芯科技有限公司 | 一种二级缓存的数据检测方法、系统及计算机设备 |
CN116643945B (zh) * | 2023-05-31 | 2023-12-15 | 合芯科技有限公司 | 一种二级缓存的数据检测方法、系统及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110865769B (zh) | 2023-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110865769B (zh) | 处理读/写请求的方法、网络存储系统及电子设备 | |
CN110601922B (zh) | 一种对照实验的实现方法、装置、电子设备和存储介质 | |
CN105468302B (zh) | 一种处理数据的方法、装置及系统 | |
CN110830581B (zh) | 提升区块链响应速度的方法、区块链应用系统及相关设备 | |
US11593107B2 (en) | Handling an input/output store instruction | |
CN108874558A (zh) | 分布式事务的消息订阅方法、电子装置及可读存储介质 | |
US11100047B2 (en) | Method, device and computer program product for deleting snapshots | |
CN110008041B (zh) | 一种消息处理方法及装置 | |
CN104991821A (zh) | 批量处理监控任务的方法及装置 | |
US8782375B2 (en) | Hash-based managing of storage identifiers | |
US10642585B1 (en) | Enhancing API service schemes | |
CN110968478A (zh) | 日志采集方法、服务器及计算机存储介质 | |
JP2009536403A (ja) | ワーク・アイテム・イベント処理 | |
WO2023078128A1 (zh) | 虚拟订单的处理方法、装置、设备及计算机可读存储介质 | |
CN111831350A (zh) | 应用进程配置更新方法、系统、终端设备及存储介质 | |
CN114327948A (zh) | 消息处理方法、装置、设备及存储介质 | |
CN107783728A (zh) | 数据存储方法、装置和设备 | |
JP4894567B2 (ja) | トレース情報出力装置、および、トレース情報出力方法 | |
US20100235549A1 (en) | Computer and input/output control method | |
CN108595270A (zh) | 一种内存资源的回收方法及装置 | |
US7673302B1 (en) | System and method for managing messages in a queuing system | |
CN110851437A (zh) | 一种存储方法、装置及设备 | |
CN116324726A (zh) | 加速的非易失性存储器设备检查和取证 | |
CN116185649A (zh) | 存储控制方法、存储控制器、存储芯片、网卡、可读介质 | |
CN113850664A (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 |