CN116319726A - 基于远程存储协议的数据处理方法、装置、设备及介质 - Google Patents
基于远程存储协议的数据处理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116319726A CN116319726A CN202310215700.1A CN202310215700A CN116319726A CN 116319726 A CN116319726 A CN 116319726A CN 202310215700 A CN202310215700 A CN 202310215700A CN 116319726 A CN116319726 A CN 116319726A
- Authority
- CN
- China
- Prior art keywords
- data
- processed
- processing request
- processing
- serialized
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 30
- 238000012545 processing Methods 0.000 claims abstract description 367
- 238000000034 method Methods 0.000 claims abstract description 134
- 230000008569 process Effects 0.000 claims description 83
- 230000005540 biological transmission Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 8
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种基于远程存储协议的数据处理方法、装置、设备及介质。该方法包括:接收处理请求,其中,处理请求用于指示对待处理数据进行存入操作或取出操作;根据预设远程存储协议对处理请求进行序列化处理,得到序列化后的处理请求,其中,预设远程存储协议用于表征远程存储的请求中包括对象存储语义;将序列化后的处理请求发送至服务端;其中,序列化后的处理请求用于指示解析待处理数据的对象存储语义后得到待处理数据的位置信息,待处理数据的位置信息用于基于待处理数据的位置信息对待处理数据执行处理请求对应的操作,以得到处理结果;接收服务端反馈的处理结果,并输出处理结果。本申请的方法,提升了数据存取效率。
Description
技术领域
本申请涉及计算机技术,尤其涉及一种基于远程存储协议的数据处理方法、装置、设备及介质。
背景技术
随着网络技术的迅猛发展,网络逐渐深入到人们的生活和工作的各个方面,其中,远程存储在网络技术中发挥着重要的作用,远程存储是一种存储方式,可以使用远程终端访问远程存储设备或服务,这样用户就可以存储、管理和保护数据了。
其中,远程存储是基于远程存储协议实现的,远程存储协议是指现有的广泛应用的基于网络远程访问非易失存储介质的接口规范(Non-Volatile Memory Express OverFabrics,NVMe-oF)。该规范定义了远程访问非易失介质的命令格式和数据格式,相较于访问本地非易失介质的本地存储协议(Non-Volatile Memory Express,NVMe),远程存储协议进一步规定了数据通过网络传输的方法。
然而,由于目前的远程存储协议是针对于块设备访问接口制定的,即命令和数据格式都是基于统一线性编址的非易失介质地址空间,并不能直接提供对象存储的语义,这导致上层应用在调用对象存储的接口进行数据存取时,需要将唯一的对象标识符和数据对象本身,通过复杂的数据存取地址计算和转化,得到读写远程非易失介质的真实物理地址再进行读写,这其中可能涉及到多次的网络往返、数据的序列化和反序列化的操作以及数据的拷贝,使得对象存储过程需要跨越复杂冗余的软件栈,占用了大量的网络资源,增加了数据存储的开销,导致数据对象的存取效率低下。
发明内容
本申请提供一种基于远程存储协议的数据处理方法、装置、设备及介质,用以解决目前数据对象的存取效率低下的问题。
第一方面,本申请提供一种基于远程存储协议的数据处理方法,所述方法应用于客户端,所述方法包括:
接收处理请求,其中,所述处理请求用于指示对待处理数据进行存入操作或取出操作;
根据预设远程存储协议对所述处理请求进行序列化处理,得到序列化后的处理请求,所述序列化后的存储请求包括所述待处理数据的对象存储语义;其中,所述预设远程存储协议用于表征远程存储的请求中包括对象存储语义;所述对象存储语义包括表征所述待处理数据被存储的位置的字段;
将所述序列化后的处理请求发送至服务端;其中,所述序列化后的处理请求用于指示解析所述待处理数据的对象存储语义后得到所述待处理数据的位置信息,所述待处理数据的位置信息用于基于所述待处理数据的位置信息对所述待处理数据执行所述处理请求对应的操作,以得到处理结果;其中,所述待处理数据的位置信息表征所述待处理数据被存储的物理地址;所述处理结果表征对所述待处理数据的处理是否完成;
接收所述服务端反馈的所述处理结果,并输出所述处理结果。
第二方面,本申请提供一种基于远程存储协议的数据处理方法,应用于服务端,所述方法包括:
接收客户端发送的序列化后的处理请求;其中,所述序列化后的处理请求根据预设远程存储协议对处理请求进行序列化处理得到;其中,所述处理请求用于指示对待处理数据进行存入操作或取出操作,所述序列化后的存储请求包括所述待处理数据的对象存储语义;其中,所述预设远程存储协议用于表征远程存储的请求中包括对象存储语义;所述对象存储语义包括表征所述待处理数据被存储的位置的字段;
解析所述序列化后的处理请求,得到所述待处理数据的位置信息;其中,所述待处理数据的位置信息表征所述待处理数据被存储的物理地址;
基于所述待处理数据的位置信息对所述待处理数据执行所述处理请求对应的操作,以得到处理结果;其中,所述处理结果表征对所述待处理数据的处理是否完成;
将所述处理结果发送至所述客户端。
第三方面,本申请提供一种基于远程存储协议的数据处理装置,所述装置应用于客户端,所述装置包括:
第一接收模块,用于接收处理请求,其中,所述处理请求用于指示对待处理数据进行存入操作或取出操作;
序列化处理模块,用于根据预设远程存储协议对所述处理请求进行序列化处理,得到序列化后的处理请求,所述序列化后的存储请求包括所述待处理数据的对象存储语义;其中,所述预设远程存储协议用于表征远程存储的请求中包括对象存储语义;所述对象存储语义包括表征所述待处理数据被存储的位置的字段;
第一发送模块,用于将所述序列化后的处理请求发送至服务端;其中,所述序列化后的处理请求用于指示解析所述待处理数据的对象存储语义后得到所述待处理数据的位置信息,所述待处理数据的位置信息用于基于所述待处理数据的位置信息对所述待处理数据执行所述处理请求对应的操作,以得到处理结果;其中,所述待处理数据的位置信息表征所述待处理数据被存储的物理地址;所述处理结果表征所述待处理数据是否处理完成;
处理结果输出模块,用于接收所述服务端反馈的所述处理结果,并输出所述处理结果。
第四方面,本申请提供一种基于远程存储协议的数据处理装置,所述装置应用于服务端,所述装置包括:
第二接收模块,用于接收客户端发送的序列化后的处理请求;其中,所述序列化后的处理请求根据预设远程存储协议对处理请求进行序列化处理得到;其中,所述处理请求用于指示对待处理数据进行存入操作或取出操作,所述序列化后的存储请求包括所述待处理数据的对象存储语义;其中,所述预设远程存储协议用于表征远程存储的请求中包括对象存储语义;所述对象存储语义包括表征所述待处理数据被存储的位置的字段;
解析模块,用于解析所述序列化后的处理请求,得到所述待处理数据的位置信息;其中,所述待处理数据的位置信息表征所述待处理数据被存储的物理地址;
处理模块,用于基于所述待处理数据的位置信息对所述待处理数据执行所述处理请求对应的操作,以得到处理结果;其中,所述处理结果表征对所述待处理数据的处理是否完成;
第二发送模块,用于将所述处理结果发送至所述客户端。
第五方面,本申请提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,以实现第一方面所述的方法。
第六方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现第一方面所述的数据处理方法。
第七方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面所述的方法。
本申请提供的基于远程存储协议的数据处理方法,通过客户端接收处理请求,其中,处理请求用于指示对待处理数据进行存入操作或取出操作;根据预设远程存储协议对处理请求进行序列化处理,得到序列化后的处理请求,序列化后的存储请求包括待处理数据的对象存储语义。其中,预设远程存储协议用于表征远程存储的请求中包括对象存储语义;对象存储语义包括表征待处理数据被存储的位置的字段。然后,将序列化后的处理请求发送至服务端;其中,序列化后的处理请求用于指示解析待处理数据的对象存储语义后得到待处理数据的位置信息,待处理数据的位置信息用于基于待处理数据的位置信息对待处理数据执行处理请求对应的操作,以得到处理结果;其中,待处理数据的位置信息表征待处理数据被存储的物理地址;处理结果表征对待处理数据的处理是否完成;接收服务端反馈的处理结果,并输出处理结果。也就是说,本方法通过预先对远程存储协议进行了扩展,使得远程存储协议带有对象存储的语义,由于该语义中包含表征待处理数据被存储的位置的字段,在保证数据存取正确性的同时,将上层应用的对象语义传递到了数据传输协议层,在传输过程中只用通过待处理数据被存储的位置的字段调用数据对象即可,不必拷贝数据,减少了数据拷贝带来的额外开销,从而提升了数据存取效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是根据一示例性实施例示出的一种基于远程存储协议的数据处理方法的应用场景示意图;
图2是根据一示例性实施例示出的一种基于远程存储协议的数据处理方法的方法流程图;
图3是根据另一示例性实施例示出的一种基于远程存储协议的数据处理方法的方法流程图;
图4是根据图3实施例示出的通过常驻轮询转发进程将处理请求进行转发的流程示意图;
图5是根据图3实施例示出的处理请求的传输路径示意图;
图6是根据又一示例性实施例示出的一种基于远程存储协议的数据处理方法的方法流程图;
图7是根据再一示例性实施例示出的一种基于远程存储协议的数据处理方法的方法流程图;
图8是根据又另一示例性实施例示出的一种基于远程存储协议的数据处理方法的方法流程图;
图9是根据一示例性实施例示出的一种基于远程存储协议的数据处理装置的框图;
图10是根据另一示例性实施例示出的一种基于远程存储协议的数据处理装置的框图;
图11是根据一示例性实施例示出的一种电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
首先对本申请所涉及的名词进行解释:
序列化(Serialization):是指将对象的状态信息转换为可以存储或传输的形式的过程。
对象存储:也叫做基于对象的存储,是用来描述解决和处理离散单元的方法的通用术语,这些离散单元被称作为对象。
本申请提供的基于远程存储协议的数据处理方法,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
示例性地,本申请具体的应用场景可以为如图1所示的数据传输系统,在该数据传输系统中可以包括服务端和客户端,其中,服务端和客户端通信连接。可选的,服务端可以包括但不限于:服务器、计算机等。可选的,客户端可以包括但不限于:个人电脑、移动终端、车载终端、智能可穿戴设备等等。可选的,服务端和客户端的数量可以是一个或多个,在此不做限定。
图2是根据一示例性实施例示出的一种基于远程存储协议的数据处理方法,该基于远程存储协议的数据处理方法可以应用于图1中的客户端,如图2所示,该基于远程存储协议的数据处理方法可以包括:
110、接收处理请求,其中,处理请求用于指示对待处理数据进行存入操作或取出操作。
在一些实施方式中,客户端可以接收用户输入的处理请求,例如,用户可以在客户端上做出用于将客户端中的待处理数据上传至服务端进行存储的一系列操作,客户端则可以根据用户做出的该系列操作,生成相应的处理请求。可选地,该系列操作可以包括对选择待处理数据的操作、选择对待处理数据执行存入的操作等。其中,该处理请求具体可以为基于对象的存取请求。
120、根据预设远程存储协议对处理请求进行序列化处理,得到序列化后的处理请求,序列化后的存储请求包括待处理数据的对象存储语义;其中,预设远程存储协议用于表征远程存储的请求中包括对象存储语义;对象存储语义包括表征待处理数据被存储的位置的字段。
在一些实施方式中,客户端可以将处理请求序列化至预设的远程存储协议,也就是按照预设的远程存储协议的规定对处理请求进行序列化处理,得到序列化后的处理请求。示例性地,例如,预设的远程存储协议在原来只规定处理请求需要具有第一字段和第二字段的基础上,还扩展了第三字段,且该第三字段中需要包括待处理数据的对象存储语义,那么客户端在根据预设远程存储协议对处理请求进行序列化处理时,使得序列化后的处理请求中也包含第三字段,该第三字段为表征待处理数据被存储的位置的字段。可选地,其中第一字段或第二字段可以用于规定处理请求(即存取命令)的格式等。
130、将序列化后的处理请求发送至服务端;其中,序列化后的处理请求用于指示解析待处理数据的对象存储语义后得到待处理数据的位置信息,待处理数据的位置信息用于基于待处理数据的位置信息对待处理数据执行处理请求对应的操作,以得到处理结果;其中,待处理数据的位置信息表征待处理数据被存储的物理地址;处理结果表征对待处理数据的处理是否完成。
沿用上述示例,客户端可以将序列化后的处理请求发送至服务端,服务端在接收到序列化后的处理请求后,可以对序列化后的处理请求中的待处理数据的对象存储语义进行解析,从而得到位置信息,然后该位置信息从待处理数据被存放的位置中提取出待处理数据,然后提取出的待处理数据存入到服务端的指定位置中。当服务端检测到待处理数据存入到服务端的动作完成时,服务端可以生成表征待处理数据已经处理完成的处理结果,然后将处理结果反馈给客户端。
140、接收服务端反馈的处理结果,并输出处理结果。
沿用上述示例,客户端在接收到处理结果后,可以将处理结果输出,以提醒用户,本次对待处理数据的处理已经完成。可选地,客户端输出处理结果的方式可以包括通过其显示设备输出和/或通过其音频播放设备输出。
可见,在本实施例中,通过客户端接收处理请求,其中,处理请求用于指示对待处理数据进行存入操作或取出操作;根据预设远程存储协议对处理请求进行序列化处理,得到序列化后的处理请求,序列化后的存储请求包括待处理数据的对象存储语义。其中,预设远程存储协议用于表征远程存储的请求中包括对象存储语义;对象存储语义包括表征待处理数据被存储的位置的字段。然后,将序列化后的处理请求发送至服务端;其中,序列化后的处理请求用于指示解析待处理数据的对象存储语义后得到待处理数据的位置信息,待处理数据的位置信息用于基于待处理数据的位置信息对待处理数据执行处理请求对应的操作,以得到处理结果;其中,待处理数据的位置信息表征待处理数据被存储的物理地址;处理结果表征对待处理数据的处理是否完成;接收服务端反馈的处理结果,并输出处理结果。也就是说,本方法通过预先对远程存储协议进行了扩展,使得远程存储协议带有对象存储的语义,由于该语义中包含表征待处理数据被存储的位置的字段,在保证数据存取正确性的同时,将上层应用的对象语义传递到了数据传输协议层,在传输过程中只用通过待处理数据被存储的位置的字段调用数据对象即可,不必拷贝数据,减少了数据拷贝带来的额外开销,从而提升了数据存储效率。
图3是根据另一示例性实施例示出的一种基于远程存储协议的数据处理方法,该基于远程存储协议的数据处理方法可以应用于图1中的客户端,如图3所示,该基于远程存储协议的数据处理方法可以包括:
210、通过常驻轮询转发进程接收待处理数据的处理请求,其中,常驻轮询转发进程用于通过轮询转发的方式对处理请求进行接收。其中,处理请求用于指示对待处理数据进行存入操作或取出操作。
示例性地,客户端可以为多个,以客户端为通信网络中的节点,多个客户端节点中的每个客户端节点设置有常驻轮询转发进程,该常驻轮询转发进程和客户端中的应用进程之间通过共享内存进行通信,其中,应用进程可以用于发出待处理数据的处理请求。在实际应用中,应用进程的数据对象请求(即上述处理请求)由常驻轮询转发进程发送到服务端。
在本实施例中,通过常驻轮询转发进程接收待处理数据的处理请求,并将该处理请求转发至客户端,从而通过轮询降低了数据对象请求的延迟,提升应用性能;常驻轮询转发进程相比应用进程数量少,减少了和服务端的网络连接;同时通过请求转发,避免了应用进程中央处理器(Central Processing Unit,CPU)轮询数据请求造成的额外开销。
在一些实施方式中,步骤210的具体实施方式可以包括:
211、接收用户进程发出的处理请求,将处理请求存储在共享内存的指定发送队列中。其中,共享内存为用户进程和常驻轮询转发进程的共享内存。
212、通过常驻轮询转发进程轮询共享内存中的各个发送队列。
213、若轮询到指定发送队列,则从指定发送队列中提取处理请求。
示例性地,如图4所示,客户端中可以有一个或者多个常驻轮询转发进程(例如图4中的转发进程0和转发进程1),该常驻轮询转发进程用于负责接收并转发用户进程的数据存取请求,即上述处理请求。用户进程和常驻轮询转发进程之间通过跨进程共享内存(即上述共享内存)的通信队列通信,每个用户进程都有自己独占的一组发送队列和接受队列,在用户进程启动的时候,通过初始化队列的方式和转发进程建立通信。可选地,上述指定发送队列可以为所述共享内存中任意一个发送队列。
当一个数据存取的请求的执行流程从用户进程开始时,用户进程调用对象存储接口,得到处理请求,并将该处理请求存放在发送队列中,然后,常驻轮询转发进程会一直轮询各个发送队列,当发现某个发送队列中有新的处理请求时,会将该新的处理请求拉取,以便进行下一步处理。例如用户进程包括用户进程1,用户进程1通过跨进程共享内存与转发进程0通信,转发进程0中的轮询器可以轮询用户进程1对应的发送队列,并在发现某个发送队列中有新的处理请求时,可以提取出该将该新的处理请求,并将该新的处理请求作为对象存储命令进行转发。同理,客户端中除用户进程1以外的其它用户进程(如用户进程n)也可以通过上述方式实现处理请求的接收和转发。其中,转发进程还可以包括接收队列,与发送队列相反,该接收队列是在客户端需要对待处理数据进行取出操作时使用,其取出操作为所述存入操作的逆过程,故不在此赘述。
在一些实施方式中,上述共享内存中包括指定内存,指定内存的内存地址为待处理数据的内存地址。
示例性地,本实施方式通过截获应用的内存分配器,以在共享内存中分配指定内存,且指定内存的内存地址为待处理数据的内存地址,从而可以在共享内存中分配内存来消除数据对象(即待处理数据)在进程间的拷贝。例如,原来的共享内存只包括内存A,用户进程在将待处理数据的处理请求发送至共享内存时,需要将待处理数据拷贝到内存A中。现通过截获应用的内存分配器,以在共享内存中分配指定内存,使得共享内存包括内存A1和指定内存B,由于指定内存B的内存地址为待处理数据的内存地址,所以可以共享内存可以直接通过指定内存B接收待处理数据的处理请求,而不用再将待处理数据拷贝到共享内存中。从而在处理请求传输过程中减少一次数据拷贝,节省了CPU的开销。作为一种更为具体的示例,如图5所示,图5示出了一种处理请求的传输路径示意图,其中,包括截获内存分配的传输路径(如图5中的路径1)和没有截获内存分配的传输路径(如图5中的路径2),根据图5可知,处理请求通过路径1可以从用户进程直接传递至转发进程,而在路径2中需要将待处理数据进行一次拷贝后进入转发进程,因此本实施方式通过在共享内存中分配指定内存,从而在数据传输的路径上进行了优化,具体来说在数据请求执行的关键路径上减少了数据拷贝,以达到减少CPU开销的目的,从而降低了请求执行的延迟,提升系统吞吐。
220、根据预设远程存储协议对处理请求进行序列化处理,得到序列化后的处理请求,序列化后的存储请求包括待处理数据的对象存储语义;其中,预设远程存储协议用于表征远程存储的请求中包括对象存储语义;对象存储语义包括表征待处理数据被存储的位置的字段。
在一些实施方式中,步骤220的具体实施方式可以包括:
221、获取待处理数据的位置信息、大小信息以及待处理数据对应的唯一对象标识。
222、将位置信息、大小信息以及待处理数据对应的唯一对象标识填充到处理请求的指定字段中,得到序列化后的处理请求;其中,指定字段基于预设远程存储协议确定。
沿用上述示例,例如当转发进程拉取到一个新的处理请求时,可以根据处理请求的类型字段区分其请求类型(如存入请求或取出请求),并将待处理数据对应的唯一对象标识(以下也可称对象存储的唯一对象标识)和位置信息、大小信息填充到远程存储协议请求的指定字段中,用作服务端提取对象存储语义。
在一些实施方式中,在步骤220之前,该方法还可以包括:
确定待处理数据的字节长度;若字节长度小于或等于长度阈值,则将待处理数据添加到处理请求中。
示例性地,客户端可以获取待处理数据的数据对象信息,该数据对象信息可以包括待处理数据的位置信息、字节长度,对于字节长度小于长度阈值的待处理数据,可以直接将待处理数据添加在处理请求中,通过处理请求一并发送。
在一些实施方式中,预设远程存储协议支持按照块粒度访问。具体地,该协议规定了存取命令的格式,描述了待处理数据的大小和位置,支持按照块粒度访问。
230、将序列化后的处理请求发送至服务端。其中,序列化后的处理请求用于指示解析待处理数据的对象存储语义后得到待处理数据的位置信息,待处理数据的位置信息用于基于待处理数据的位置信息对待处理数据执行处理请求对应的操作,以得到处理结果;其中,待处理数据的位置信息表征待处理数据被存储的物理地址;处理结果表征对待处理数据的处理是否完成。
在一些实施方式中,客户端包括第一网卡,步骤230的具体实施方式可以包括:
通过第一网卡将序列化后的处理请求发送至服务端;其中,共享内存为第一网卡能够访问的内存。
沿用上述示例,请再次参阅图4,在图4中,可以将客户端侧的网卡确定为第一网卡,转发进程在轮询到处理请求,并提取除该处理请求后,可以将对象存储的唯一对象标识和位置信息、大小信息填充到远程存储协议请求的指定字段中,用作服务端提取对象存储语义,得到序列化后的处理请求(以下也可称远程存储协议请求)。随后转发进程将封装好的远程存储协议请求,通过第一网卡发送到服务端。其中,图4中服务器侧的网卡可以作为第二网卡,第一网卡和第二网卡之间可以通信,第二网卡可以接收第一网卡发送序列化后的处理请求。服务端的常驻进程会通过轮询器轮询第二网卡,当发现第二网卡收到序列化后的处理请求之后,会根据远程存储协议请求的指定字段,提取出唯一对象标识、位置信息和大小信息,根据唯一对象标识、位置信息和大小信息确定待处理数据的存储索引,并通过本地的待处理数据的存储索引来获得存取数据对象在非易失介质上的物理地址,随后通过本地的存储协议以及物理地址,来存取待处理数据。
其中,将共享内存设置为第一网卡能够访问的内存,从而能够消除数据对象在共享内存和网络栈缓冲区之间的拷贝。
也就是说,在整个处理请求转发过程中,可以减少两次待处理数据的数据拷贝操作。示例性地,第一次减少数据拷贝的过程为:用户进程需要将数据对象通过进程间共享队列发送给常驻轮询转发进程,这需要一次内存拷贝,即将数据对象从用户进程拷贝到共享队列,在实施例中,通过截获用户进程的内存分配器,将用户的数据对象内存地址直接分配在共享内存中,这样当需要发送数据对象到常驻轮询转发进程时候,就无须内存拷贝复制,而是通过传递一个引用,使得常驻轮询转发进程可以通过该引用获取到数据对象,从而减少了一次数据拷贝。
第二次减少数据拷贝的过程为:当常驻轮询转发进程需要将数据对象发送到服务器时,需要将数据对象复制到网络栈的数据缓冲中进行发送,这需要一次内存拷贝,即从常驻进程的数据对象缓冲拷贝到网络栈的数据缓冲中,在实施例中,通过将常驻进程的数据对象缓冲提前注册到网络栈的数据缓冲中来消除这次内存拷贝,即在常驻进程初始化启动时,就在网络栈的数据缓冲中分配一块地址空间,既用于收发网络请求,又用于存放用户进程的数据对象,这样在需要将数据对象跨网络发送时,就无需将数据对象本身复制到网络栈的数据缓冲中,从而消除了一次内存拷贝。
在一些实施方式中,在待处理数据的存取过程中,可以要求对于同一个对象唯一标识,取得的对象内容和存放的对象内容保持一致。
在一些实施方式中,对于待处理数据的存放操作,可以要求待处理数据在断电之后不丢失,之后的数据读取操作可以读取到最新的正确对象内容。可选地,上述要求可以通过将所有对数据对象的修改操作按照操作的顺序,持久化到持久化介质中来实现。
在一些实施方式中,对待处理数据逇存取执行流程,可以被实现在硬件或固件等硬件装置中,通过固化的硬件逻辑更高效地执行对待处理数据的处理请求。
240、接收服务端反馈的处理结果,并输出处理结果。
其中,步骤240的具体实施方式可以参考步骤140,故不在此赘述。
综上所述,在本实施例的基于远程存储协议的数据处理方法,通过将对象存储的语义结合到了底层远程数据传输的协议中,使得对象存储过程不需要跨越复杂冗余的软件栈,减少了不必要的软件层次的开销,具体来说,已有的对象存储系统需要将对象存储的复杂语义转化为具体的对象数据存储位置,再利用底层协议进行数据读写访问,而该方法通过补充和增强已有底层协议的语义,达到精简软件栈的目的。该方法利用广泛应用的、成熟的远程数据传输的协议,在其上加入对象存储语义,可以利用这些协议已有的久经工程实践检测的协议栈,大大提升了该方法的可靠性和鲁棒性。该方法通过管理数据缓冲区的生命周期,可以让数据在网络栈和存储栈之间实现零拷贝,这不仅能节约宝贵的CPU资源,更能减少请求的延迟,从而提升数据存取效率。
图6是根据又一示例性实施例示出的一种基于远程存储协议的数据处理方法,该基于远程存储协议的数据处理方法可以应用于图1中的服务端,如图6所示,该基于远程存储协议的数据处理方法可以包括:
310、接收客户端发送的序列化后的处理请求;其中,序列化后的处理请求根据预设远程存储协议对处理请求进行序列化处理得到;其中,处理请求用于指示对待处理数据进行存入操作或取出操作,序列化后的存储请求包括待处理数据的对象存储语义;其中,预设远程存储协议用于表征远程存储的请求中包括对象存储语义;对象存储语义包括表征待处理数据被存储的位置的字段。
320、解析序列化后的处理请求,得到待处理数据的位置信息;其中,待处理数据的位置信息表征待处理数据被存储的物理地址。
示例性地,服务端接收到序列化后的处理请求后可以根据预设的远程存储协议规定对序列化后的处理请求中的指定字段进行解析,得到待处理数据的位置信息,其中,待处理数据的位置信息表征待处理数据被存储的物理地址。
330、基于待处理数据的位置信息对待处理数据执行处理请求对应的操作,以得到处理结果;其中,处理结果表征对待处理数据的处理是否完成。
沿用上述示例,服务端可以通过上述得到的物理地址来调用待处理数据,并对待处理数据进行存入操作或者取出操作。
340、将处理结果发送至客户端。
其中,处理结果用于指示客户端对处理结果进行输出。
图7是根据再一示例性实施例示出的一种基于远程存储协议的数据处理方法,该基于远程存储协议的数据处理方法可以应用于图1中的服务端,如图7所示,该基于远程存储协议的数据处理方法可以包括:
410、接收客户端发送的序列化后的处理请求;其中,序列化后的处理请求根据预设远程存储协议对处理请求进行序列化处理得到。其中,处理请求用于指示对待处理数据进行存入操作或取出操作,序列化后的存储请求包括待处理数据的对象存储语义;其中,预设远程存储协议用于表征远程存储的请求中包括对象存储语义;对象存储语义包括表征待处理数据被存储的位置的字段。
在一些实施方式中,服务端包括第二网卡,步骤410的具体实施方式可以包括:通过轮询器轮询第二网卡;若轮询到第二网卡中具有序列化后的处理请求,则从第二网卡中提取序列化后的处理请求。
420、从序列化后的处理请求的指定字段中提取出待处理数据的位置信息、大小信息以及待处理数据对应的唯一对象标识;其中,指定字段基于预设远程存储协议确定。
430、根据位置信息、大小信息以及待处理数据对应的唯一对象标识,确定待处理数据的对象存储索引。
440、根据对象存储索引获取待处理数据在非易失介质上的物理地址,并将物理地址确定为待处理数据的位置信息。
请再次参阅图4,图4中服务器侧的网卡可以作为第二网卡,第一网卡和第二网卡之间可以通信,第二网卡可以接收第一网卡发送序列化后的处理请求。服务端的常驻进程会通过轮询器轮询第二网卡,当发现第二网卡收到序列化后的处理请求之后,会根据序列化后的处理请求的指定字段,提取出唯一对象标识、位置信息和大小信息,根据唯一对象标识、位置信息和大小信息确定待处理数据的存储索引,并通过本地的待处理数据的存储索引来获得待处理数据在非易失介质上的物理地址,随后通过本地的存储协议以及物理地址,来存取待处理数据。
450、基于待处理数据的位置信息对待处理数据执行处理请求对应的操作,以得到处理结果;其中,处理结果表征对待处理数据的处理是否完成。
460、将处理结果发送至客户端。
在一些实施方式中,步骤460的具体实施方式可以包括:
通过预设远程存储协议对处理结果进行序列化处理,得到序列化后的处理结果;将序列化后的处理结果发送至客户端。
示例性地,预设远程存储协议还规定了处理结果中需包括第四字段,该第四字段可以表征对待处理数据的处理是否完成。通过预设远程存储协议对处理结果进行序列化处理,得到的序列化后的处理结果中包括第四字段,当客户端接收到序列化后的处理结果后可以解析第四字段,从而得知对待处理数据的处理是否完成。其中,通过预设远程存储协议对处理结果进行序列化处理的具体过程可以参考上述实施例中根据预设远程存储协议对处理请求进行序列化处理的过程,故不在此赘述。
图8是根据又另一示例性实施例示出的一种基于远程存储协议的数据处理方法,该方法可以应用于图1所示的数据传输系统,如图8所示,该方法可以包括:
510、客户端接收处理请求。
520、客户端根据预设远程存储协议对处理请求进行序列化处理,得到序列化后的处理请求,序列化后的存储请求包括待处理数据的对象存储语义。其中,预设远程存储协议用于表征远程存储的请求中包括对象存储语义;对象存储语义包括表征待处理数据被存储的位置的字段。
530、客户端将序列化后的处理请求发送至服务端。其中,序列化后的处理请求用于指示解析待处理数据的对象存储语义后得到待处理数据的位置信息,待处理数据的位置信息用于基于待处理数据的位置信息对待处理数据执行处理请求对应的操作,以得到处理结果;其中,待处理数据的位置信息表征待处理数据被存储的物理地址;处理结果表征对待处理数据的处理是否完成。
540、服务端接收客户端发送的序列化后的处理请求。
550、服务端解析序列化后的处理请求,得到待处理数据的位置信息;其中,待处理数据的位置信息表征待处理数据被存储的物理地址。
560、服务端基于待处理数据的位置信息对待处理数据执行处理请求对应的操作,以得到处理结果;其中,处理结果表征对待处理数据的处理是否完成。
沿用上述示例,服务端可以通过上述得到的物理地址来调用待处理数据,并对待处理数据进行存入操作或者取出操作。
570、服务端将处理结果发送至客户端。
580、客户端接收服务端反馈的处理结果,并输出处理结果。
其中,步骤510至步骤580的具体实施方式及有益效果可以参考上述实施例中的基于远程存储协议的数据处理方法,故不在此赘述。
图9是根据一示例性实施例示出的一种基于远程存储协议的数据处理装置,应用于图1中的客户端,如图9所示,该装置600可以包括:
第一接收模块610,用于接收处理请求,其中,处理请求用于指示对待处理数据进行存入操作或取出操作。
序列化处理模块620,用于根据预设远程存储协议对处理请求进行序列化处理,得到序列化后的处理请求,序列化后的存储请求包括待处理数据的对象存储语义;其中,预设远程存储协议用于表征远程存储的请求中包括对象存储语义;对象存储语义包括表征待处理数据被存储的位置的字段。
第一发送模块630,用于将序列化后的处理请求发送至服务端;其中,序列化后的处理请求用于指示解析待处理数据的对象存储语义后得到待处理数据的位置信息,待处理数据的位置信息用于基于待处理数据的位置信息对待处理数据执行处理请求对应的操作,以得到处理结果;其中,待处理数据的位置信息表征待处理数据被存储的物理地址;处理结果表征待处理数据是否处理完成。
处理结果输出模块640,用于接收服务端反馈的处理结果,并输出处理结果。
在一些实施方式中,序列化处理模块620,具体用于获取待处理数据的位置信息、大小信息以及待处理数据对应的唯一对象标识;将位置信息、大小信息以及待处理数据对应的唯一对象标识填充到处理请求的指定字段中,得到序列化后的处理请求;其中,指定字段基于预设远程存储协议确定。
在一些实施方式中,第一接收模块610具体用于通过常驻轮询转发进程接收待处理数据的处理请求,其中,常驻轮询转发进程用于通过轮询转发的方式对处理请求进行接收。
在一些实施方式中,第一接收模块610具体还用于接收用户进程发出的处理请求,将处理请求存储在共享内存的指定发送队列中;其中,共享内存为用户进程和常驻轮询转发进程的共享内存;通过常驻轮询转发进程轮询共享内存中的各个发送队列;若轮询到指定发送队列,则从指定发送队列中提取处理请求。
在一些实施方式中,客户端包括第一网卡,第一发送模块630,具体用于通过第一网卡将序列化后的处理请求发送至服务端;其中,共享内存为第一网卡能够访问的内存。
在一些实施方式中,共享内存中包括指定内存,指定内存的内存地址为待处理数据的内存地址。
在一些实施方式中,该装置600还包括:
添加模块,用于确定待处理数据的字节长度;若字节长度小于或等于长度阈值,则将待处理数据添加到处理请求中。
在一些实施方式中,预设远程存储协议支持按照块粒度访问。
图10是根据一示例性实施例示出的一种基于远程存储协议的数据处理装置,应用于图1中的服务端,如图10所示,该装置700可以包括:
第二接收模块710,用于接收客户端发送的序列化后的处理请求;其中,序列化后的处理请求根据预设远程存储协议对处理请求进行序列化处理得到;其中,处理请求用于指示对待处理数据进行存入操作或取出操作,序列化后的存储请求包括待处理数据的对象存储语义;其中,预设远程存储协议用于表征远程存储的请求中包括对象存储语义;对象存储语义包括表征待处理数据被存储的位置的字段。
解析模块720,用于解析序列化后的处理请求,得到待处理数据的位置信息;其中,待处理数据的位置信息表征待处理数据被存储的物理地址。
处理模块730,用于基于待处理数据的位置信息对待处理数据执行处理请求对应的操作,以得到处理结果;其中,处理结果表征对待处理数据的处理是否完成。
第二发送模块740,用于将处理结果发送至客户端。
在一些实施方式中,服务端包括第二网卡,第二接收模块710,具体用于通过轮询器轮询第二网卡;若轮询到第二网卡中具有序列化后的处理请求,则从第二网卡中提取序列化后的处理请求。
在一些实施方式中,解析模块720,具体用于从序列化后的处理请求的指定字段中提取出待处理数据的位置信息、大小信息以及待处理数据对应的唯一对象标识;其中,指定字段基于预设远程存储协议确定;根据位置信息、大小信息以及待处理数据对应的唯一对象标识,确定待处理数据的对象存储索引;根据对象存储索引获取待处理数据在非易失介质上的物理地址,并将物理地址确定为待处理数据的位置信息。
在一些实施方式中,第二发送模块740,具体用于通过预设远程存储协议对处理结果进行序列化处理,得到序列化后的处理结果;将序列化后的处理结果发送至客户端。
图11是根据一示例性实施例示出的一种电子设备的结构示意图,该电子设备可以是计算机、移动终端、智能可穿戴设备、服务器等。其中,该电子设备可以相当于上述实施例中的客户端,该电子设备也可以相当于上述实施例中的服务端。
电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)接口812,传感器组件814,以及通信组件816。
处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在电子设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为电子设备800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述电子设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当电子设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。例如,传感器组件814可以检测到电子设备800的打开/关闭状态,组件的相对定位,例如所述组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或电子设备800一个组件的位置改变,用户与电子设备800接触的存在或不存在,电子设备800方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由电子设备800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种非临时性计算机可读存储介质,当该存储介质中的指令由终端设备的处理器执行时,使得终端设备能够执行上述电子设备的基于远程存储协议的数据处理方法。
在示例性实施例中,还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时上述实施例中的基于远程存储协议的数据处理方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (17)
1.一种基于远程存储协议的数据处理方法,其特征在于,应用于客户端,所述方法包括:
接收处理请求,其中,所述处理请求用于指示对待处理数据进行存入操作或取出操作;
根据预设远程存储协议对所述处理请求进行序列化处理,得到序列化后的处理请求,所述序列化后的存储请求包括所述待处理数据的对象存储语义;其中,所述预设远程存储协议用于表征远程存储的请求中包括对象存储语义;所述对象存储语义包括表征所述待处理数据被存储的位置的字段;
将所述序列化后的处理请求发送至服务端;其中,所述序列化后的处理请求用于指示解析所述待处理数据的对象存储语义后得到所述待处理数据的位置信息,所述待处理数据的位置信息用于基于所述待处理数据的位置信息对所述待处理数据执行所述处理请求对应的操作,以得到处理结果;其中,所述待处理数据的位置信息表征所述待处理数据被存储的物理地址;所述处理结果表征对所述待处理数据的处理是否完成;
接收所述服务端反馈的所述处理结果,并输出所述处理结果。
2.根据权利要求1所述的方法,其特征在于,所述根据预设远程存储协议对所述处理请求进行序列化处理,得到序列化后的处理请求,包括:
获取所述待处理数据的位置信息、大小信息以及所述待处理数据对应的唯一对象标识;
将所述位置信息、所述大小信息以及所述待处理数据对应的唯一对象标识填充到所述处理请求的指定字段中,得到所述序列化后的处理请求;其中,所述指定字段基于所述预设远程存储协议确定。
3.根据权利要求1所述的方法,其特征在于,所述接收待处理数据的处理请求,包括:
通过常驻轮询转发进程接收待处理数据的处理请求,其中,所述常驻轮询转发进程用于通过轮询转发的方式对所述处理请求进行接收。
4.根据权利要求3所述的方法,其特征在于,所述通过常驻轮询转发进程接收待处理数据的处理请求,包括:
接收用户进程发出的处理请求,将所述处理请求存储在共享内存的指定发送队列中;其中,所述共享内存为所述用户进程和所述常驻轮询转发进程的共享内存;
通过所述常驻轮询转发进程轮询所述共享内存中的各个发送队列;
若轮询到所述指定发送队列,则从所述指定发送队列中提取所述处理请求。
5.根据权利要求4所述的方法,其特征在于,所述客户端包括第一网卡,所述将所述序列化后的处理请求发送至服务端,包括:
通过所述第一网卡将所述序列化后的处理请求发送至服务端;其中,所述共享内存为所述第一网卡能够访问的内存。
6.根据权利要求4所述的方法,其特征在于,所述共享内存中包括指定内存,所述指定内存的内存地址为所述待处理数据的内存地址。
7.根据权利要求1至6任一项所述的方法,其特征在于,在所述根据预设远程存储协议对所述处理请求进行序列化处理,得到序列化后的处理请求之前,所述方法还包括:
确定所述待处理数据的字节长度;
若所述字节长度小于或等于长度阈值,则将所述待处理数据添加到所述处理请求中。
8.根据权利要求1至6任一项所述的方法,其特征在于,所述预设远程存储协议支持按照块粒度访问。
9.一种基于远程存储协议的数据处理方法,其特征在于,应用于服务端,所述方法包括:
接收客户端发送的序列化后的处理请求;其中,所述序列化后的处理请求根据预设远程存储协议对处理请求进行序列化处理得到;其中,所述处理请求用于指示对待处理数据进行存入操作或取出操作,所述序列化后的存储请求包括所述待处理数据的对象存储语义;其中,所述预设远程存储协议用于表征远程存储的请求中包括对象存储语义;所述对象存储语义包括表征所述待处理数据被存储的位置的字段;
解析所述序列化后的处理请求,得到所述待处理数据的位置信息;其中,所述待处理数据的位置信息表征所述待处理数据被存储的物理地址;
基于所述待处理数据的位置信息对所述待处理数据执行所述处理请求对应的操作,以得到处理结果;其中,所述处理结果表征对所述待处理数据的处理是否完成;
将所述处理结果发送至所述客户端。
10.根据权利要求9所述的方法,其特征在于,所述服务端包括第二网卡,所述接收客户端发送的序列化后的处理请求,包括:
通过轮询器轮询所述第二网卡;
若轮询到所述第二网卡中具有所述序列化后的处理请求,则从所述第二网卡中提取所述序列化后的处理请求。
11.根据权利要求9所述的方法,其特征在于,所述解析所述序列化后的处理请求,得到所述待处理数据的位置信息,包括:
从所述序列化后的处理请求的指定字段中提取出所述待处理数据的位置信息、大小信息以及所述待处理数据对应的唯一对象标识;其中,所述指定字段基于所述预设远程存储协议确定;
根据所述位置信息、大小信息以及所述待处理数据对应的唯一对象标识,确定所述待处理数据的对象存储索引;
根据所述对象存储索引获取所述待处理数据在非易失介质上的物理地址,并将所述物理地址确定为所述待处理数据的位置信息。
12.根据权利要求9至11任一项所述的方法,其特征在于,所述将所述处理结果发送至所述客户端,包括:
通过所述预设远程存储协议对处理结果进行序列化处理,得到序列化后的处理结果;
将所述序列化后的处理结果发送至所述客户端。
13.一种基于远程存储协议的数据处理装置,应用于客户端,所述装置包括:
第一接收模块,用于接收处理请求,其中,所述处理请求用于指示对待处理数据进行存入操作或取出操作;
序列化处理模块,用于根据预设远程存储协议对所述处理请求进行序列化处理,得到序列化后的处理请求,所述序列化后的存储请求包括所述待处理数据的对象存储语义;其中,所述预设远程存储协议用于表征远程存储的请求中包括对象存储语义;所述对象存储语义包括表征所述待处理数据被存储的位置的字段;
第一发送模块,用于将所述序列化后的处理请求发送至服务端;其中,所述序列化后的处理请求用于指示解析所述待处理数据的对象存储语义后得到所述待处理数据的位置信息,所述待处理数据的位置信息用于基于所述待处理数据的位置信息对所述待处理数据执行所述处理请求对应的操作,以得到处理结果;其中,所述待处理数据的位置信息表征所述待处理数据被存储的物理地址;所述处理结果表征所述待处理数据是否处理完成;
处理结果输出模块,用于接收所述服务端反馈的所述处理结果,并输出所述处理结果。
14.一种基于远程存储协议的数据处理装置,其特征在于,应用于服务端,所述装置包括:
第二接收模块,用于接收客户端发送的序列化后的处理请求;其中,所述序列化后的处理请求根据预设远程存储协议对处理请求进行序列化处理得到;其中,所述处理请求用于指示对待处理数据进行存入操作或取出操作,所述序列化后的存储请求包括所述待处理数据的对象存储语义;其中,所述预设远程存储协议用于表征远程存储的请求中包括对象存储语义;所述对象存储语义包括表征所述待处理数据被存储的位置的字段;
解析模块,用于解析所述序列化后的处理请求,得到所述待处理数据的位置信息;其中,所述待处理数据的位置信息表征所述待处理数据被存储的物理地址;
处理模块,用于基于所述待处理数据的位置信息对所述待处理数据执行所述处理请求对应的操作,以得到处理结果;其中,所述处理结果表征对所述待处理数据的处理是否完成;
第二发送模块,用于将所述处理结果发送至所述客户端。
15.一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至8或9至12中任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至8或9至12中任一项所述的数据处理方法。
17.一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现权利要求1至8或9至12中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310215700.1A CN116319726A (zh) | 2023-02-28 | 2023-02-28 | 基于远程存储协议的数据处理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310215700.1A CN116319726A (zh) | 2023-02-28 | 2023-02-28 | 基于远程存储协议的数据处理方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116319726A true CN116319726A (zh) | 2023-06-23 |
Family
ID=86837339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310215700.1A Pending CN116319726A (zh) | 2023-02-28 | 2023-02-28 | 基于远程存储协议的数据处理方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116319726A (zh) |
-
2023
- 2023-02-28 CN CN202310215700.1A patent/CN116319726A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109597568B (zh) | 一种数据存储方法、装置、终端设备及存储介质 | |
CN104756080A (zh) | 扩展主机设备的功能 | |
JP7100154B2 (ja) | プロセッサコアのスケジューリング方法、装置、端末及び記憶媒体 | |
US20180288155A1 (en) | Method and apparatus for managing a shared storage system | |
US10817355B2 (en) | Method and apparatus for communication between webpage and operating system | |
WO2017092594A1 (zh) | 一种信息处理方法及装置 | |
CN112882850B (zh) | 按键事件处理方法、装置、设备和存储介质 | |
CN115525453B (zh) | 多屏协同中断的处理方法及电子设备 | |
CN110413420B (zh) | 数据传输方法、装置、终端及存储介质 | |
US20200258195A1 (en) | Image Processing Method and Device | |
CA3102425C (en) | Video processing method, device, terminal and storage medium | |
CN114265713B (zh) | Rdma事件管理方法、装置、计算机设备及存储介质 | |
CN110413383B (zh) | 事件处理方法、装置、终端及存储介质 | |
US20220414178A1 (en) | Methods, apparatuses and systems for displaying alarm file | |
WO2021164560A1 (zh) | 一种多核芯片及其调度方法 | |
CN117076346A (zh) | 应用程序数据处理方法、装置及电子设备 | |
CN116303303A (zh) | 批量数据处理方法、装置、设备及介质 | |
CN110908814A (zh) | 消息处理方法、装置、电子设备及存储介质 | |
CN112839065A (zh) | 信息处理方法、装置、第一设备及存储介质 | |
CN116319726A (zh) | 基于远程存储协议的数据处理方法、装置、设备及介质 | |
CN109766347B (zh) | 一种数据更新方法、装置、系统、计算机设备及存储介质 | |
CN109032583B (zh) | 数据交互方法及装置 | |
CN108958943B (zh) | 内存释放方法及装置 | |
CN112818265A (zh) | 一种交互方法及移动终端 | |
CN107391128B (zh) | 监控虚拟文件对象模型vdom的方法和装置 |
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 |