CN117201518B - 数据的传输方法、系统、装置、存储介质和电子设备 - Google Patents
数据的传输方法、系统、装置、存储介质和电子设备 Download PDFInfo
- Publication number
- CN117201518B CN117201518B CN202311478015.4A CN202311478015A CN117201518B CN 117201518 B CN117201518 B CN 117201518B CN 202311478015 A CN202311478015 A CN 202311478015A CN 117201518 B CN117201518 B CN 117201518B
- Authority
- CN
- China
- Prior art keywords
- data
- storage space
- transmission
- protocol
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 644
- 238000000034 method Methods 0.000 title claims abstract description 83
- 230000004044 response Effects 0.000 claims abstract description 423
- 230000001360 synchronised effect Effects 0.000 claims description 51
- 238000012546 transfer Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 16
- 230000006870 function Effects 0.000 claims description 9
- 239000000758 substrate Substances 0.000 claims 6
- 239000000523 sample Substances 0.000 claims 3
- 230000000694 effects Effects 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 14
- 238000012545 processing Methods 0.000 description 12
- 230000002093 peripheral effect Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000001693 membrane extraction with a sorbent interface Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
Classifications
-
- 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
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Abstract
本申请实施例提供了一种数据的传输方法、系统、装置、存储介质和电子设备,其中,该方法包括:接收数据请求设备发送的第一传输协议的数据传输请求,其中,数据传输请求用于指示待对数据响应设备的第一存储空间的数据执行传输操作,数据响应设备上还部署了第二存储空间,第二存储空间用于存储第一存储空间中的部分数据;响应数据传输请求,根据数据响应设备上的第二传输协议的第一协议信息对第二存储空间和第一存储空间进行数据同步,其中,第二传输协议是用于保持第二存储空间和第一存储空间的数据同步的协议;对第一存储空间执行传输操作。通过本申请,解决了数据传输的效率较低的问题,进而达到了提高数据传输的效率的效果。
Description
技术领域
本申请实施例涉及计算机领域,具体而言,涉及一种数据的传输方法、系统、装置、存储介质和电子设备。
背景技术
随着计算机技术的发展,目前实现了为计算机设备扩展存储空间,但同一计算机设备的多个存储空间之间的数据不一致使得在计算机设备之间进行数据传输的过程中,进行响应的计算机设备不能正确执行发起请求的计算机设备请求执行的传输操作,现有技术中,一般通过控制计算机设备只使用一部分存储空间用于在计算机设备之间进行传输操作,从而实现传输的一致性,但是这样的方式就会导致计算机设备能够进行传输的数据量减少。
针对相关技术中,数据传输的效率较低等问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种数据的传输方法、系统、装置、存储介质和电子设备,以至少解决相关技术中数据传输的效率较低的问题。
根据本申请的一个实施例,提供了一种数据的传输方法,包括:
接收数据请求设备发送的第一传输协议的数据传输请求,其中,所述数据传输请求用于指示待对数据响应设备的第一存储空间的数据执行传输操作,所述数据响应设备上还部署了第二存储空间,所述第二存储空间用于存储所述第一存储空间中的部分数据;
响应所述数据传输请求,根据所述数据响应设备上的第二传输协议的第一协议信息对所述第二存储空间和所述第一存储空间进行数据同步,其中,所述第二传输协议是用于保持所述第二存储空间和所述第一存储空间的数据同步的协议,所述第一协议信息用于指示所述第二存储空间和所述第一存储空间之间的数据同步情况;
对所述第一存储空间执行所述传输操作。
在一个示例性实施例中,所述根据所述数据响应设备上的第二传输协议的第一协议信息对所述第二存储空间和所述第一存储空间进行数据同步,包括:在所述第二存储空间中存储了所述数据传输请求所指示的待执行传输操作的存储位置的目标数据的情况下,从所述数据响应设备上所记录的所述第二传输协议的存储状态中查询所述目标数据的目标存储状态,其中,所述第一协议信息包括所述存储状态,所述存储状态用于指示所述第二存储空间中存储的数据的同步状态;在所述目标存储状态为目标状态的情况下,将所述目标数据同步至所述第一存储空间,其中,所述目标状态用于指示所述目标数据存在修改但未同步。
在一个示例性实施例中,所述从所述数据响应设备上所记录的所述第二传输协议的存储状态中查询所述目标数据的目标存储状态,包括:向所述数据响应设备请求调用所述第二传输协议的第一协议信息;在所述数据响应设备允许调用所述第二传输协议的第一协议信息的情况下,从所述第二传输协议的第一协议信息中查询所述目标数据的目标存储状态。
在一个示例性实施例中,所述将所述目标数据同步至所述第一存储空间,包括:对所述第二存储空间中的所述目标数据触发所述第二传输协议的同步操作;在所述目标数据已同步至所述第一存储空间的情况下,将所述目标状态转换为非目标状态,其中,所述非目标状态用于指示所述目标数据已同步。
在一个示例性实施例中,所述从所述数据响应设备上所记录的所述第二传输协议的存储状态中查询所述目标数据的目标存储状态,包括:从所述数据响应设备上所记录的计算快速连接协议的缓存状态标签中查询所述目标数据的目标缓存状态标签,其中,所述第二传输协议包括所述计算快速连接协议,所述存储状态包括所述缓存状态标签,所述第一存储空间是所述数据响应设备上的内存空间,所述第二存储空间是所述数据响应设备上的缓存空间;所述在所述目标存储状态为目标状态的情况下,将所述目标数据同步至所述第一存储空间,包括:在所述目标缓存状态标签为已修改标签的情况下,对所述缓存空间中的所述目标数据触发所述计算快速连接协议的缓存一致性操作。
在一个示例性实施例中,所述根据所述数据响应设备上的第二传输协议的第一协议信息对所述第二存储空间和所述第一存储空间进行数据同步,包括:检测所述数据响应设备所支持的传输协议;从所述数据响应设备所支持的传输协议中选取功能符合所述第一存储空间和所述第二存储空间的存储类型的所述第二传输协议;根据所述第二传输协议的第一协议信息对所述第二存储空间和所述第一存储空间进行数据同步。
在一个示例性实施例中,所述根据所述数据响应设备上的第二传输协议的第一协议信息对所述第二存储空间和所述第一存储空间进行数据同步,包括:根据所述数据响应设备上的第二传输协议的第一协议信息对所述数据响应设备进行数据同步,并对所述数据响应设备通过所述第二传输协议所连接的协议设备进行数据同步。
在一个示例性实施例中,所述根据所述数据响应设备上的第二传输协议的第一协议信息对所述数据响应设备进行数据同步,并对所述数据响应设备通过所述第二传输协议所连接的协议设备进行数据同步,包括:根据所述数据响应设备上的计算快速连接协议的第一协议信息对所述数据响应设备进行数据同步,并对所述数据响应设备通过所述计算快速连接协议所连接的计算快速连接设备进行数据同步。
在一个示例性实施例中,所述接收数据请求设备发送的第一传输协议的数据传输请求,包括:接收所述数据请求设备发送的所述第一传输协议的第一请求,其中,所述第一请求用于指示所述数据响应设备对所述第一存储空间中目标位置的数据进行数据同步,所述数据传输请求包括所述第一请求。
在一个示例性实施例中,所述对所述第一存储空间执行所述传输操作,包括:接收所述数据请求设备发送的所述第一传输协议的第二请求,其中,所述第二请求用于请求对所述第一存储空间中所述目标位置的数据执行所述传输操作;响应所述第二请求,对所述第一存储空间中所述目标位置的数据执行所述传输操作。
根据本申请的另一个实施例,还提供了一种数据的传输方法,包括:
向数据响应设备发送第一传输协议的数据传输请求,其中,所述数据传输请求用于指示待对数据响应设备的第一存储空间的数据执行传输操作,所述数据响应设备上还部署了第二存储空间,所述第二存储空间用于存储所述第一存储空间中的部分数据,所述数据响应设备用于响应所述数据传输请求,根据所述数据响应设备上的第二传输协议的第一协议信息对所述第二存储空间和所述第一存储空间进行数据同步后对所述第一存储空间执行所述传输操作,所述第二传输协议是用于保持所述第二存储空间和所述第一存储空间的数据同步的协议,所述第一协议信息用于指示所述第二存储空间和所述第一存储空间之间的数据同步情况;
接收所述数据响应设备对所述第一存储空间执行所述传输操作后返回的信息。
在一个示例性实施例中,所述向数据响应设备发送第一传输协议的数据传输请求,包括:
向所述数据响应设备发送所述第一传输协议的第一请求,其中,所述第一请求用于指示所述数据响应设备对所述第一存储空间中目标位置的数据进行数据同步,所述数据传输请求包括所述第一请求。
在一个示例性实施例中,所述向所述数据响应设备发送所述第一传输协议的第一请求,包括:创建携带了所述目标位置的所述第一请求;通过与所述数据响应设备之间连接的所述第一传输协议的总线向所述数据响应设备发送所述第一请求。
在一个示例性实施例中,所述通过与所述数据响应设备之间连接的所述第一传输协议的总线向所述数据响应设备发送所述第一请求,包括:通过与所述数据响应设备之间连接的所述第一传输协议的总线向所述数据响应设备以及所述数据响应设备通过所述第二传输协议所连接的协议设备广播所述第一请求,其中,所述数据响应设备以及所述协议设备均用于响应所述第一请求对所述目标位置的数据进行数据同步。
在一个示例性实施例中,所述接收所述数据响应设备对所述第一存储空间执行所述传输操作后返回的信息,包括:向所述数据响应设备发送所述第一传输协议的第二请求,其中,所述第二请求用于请求对所述第一存储空间中目标位置的数据执行所述传输操作;接收所述数据响应设备响应所述第二请求返回的信息。
在一个示例性实施例中,在所述向所述数据响应设备发送所述第一传输协议的第二请求之前,所述方法还包括:在所述传输操作包括写数据操作的情况下,对第三存储空间和第四存储空间进行数据同步,其中,所述第三存储空间是存储了被执行所述写数据操作的数据的存储空间,所述第四存储空间用于存储所述第三存储空间中的部分数据。
在一个示例性实施例中,所述对第三存储空间和第四存储空间进行数据同步,包括:在所述第四存储空间中存储了被执行所述写数据操作的数据的情况下,获取所述第二传输协议的第二协议信息,其中,所述第二协议信息用于指示所述第三存储空间和所述第四存储空间之间的数据同步情况;根据所述第二协议信息对第三存储空间和第四存储空间进行数据同步。
根据本申请的另一个实施例,提供了一种数据的传输系统系统,包括:数据请求设备和数据响应设备,其中,所述数据响应设备上部署了第一存储空间和第二存储空间,所述数据请求设备和所述数据响应设备均支持第一传输协议,所述数据响应设备还支持第二传输协议,所述第二传输协议是用于保持所述第二存储空间和所述第一存储空间的数据同步的协议,所述数据请求设备,用于执行上述任一项方法实施例中的相应步骤;所述数据响应设备,用于执行上述任一项方法实施例中的相应步骤。
根据本申请的另一个实施例,提供了一种数据的传输装置,包括:
第一接收模块,用于接收数据请求设备发送的第一传输协议的数据传输请求,其中,所述数据传输请求用于指示待对数据响应设备的第一存储空间的数据执行传输操作,所述数据响应设备上还部署了第二存储空间,所述第二存储空间用于存储所述第一存储空间中的部分数据;
第一同步模块,用于响应所述数据传输请求,根据所述数据响应设备上的第二传输协议的第一协议信息对所述第二存储空间和所述第一存储空间进行数据同步,其中,所述第二传输协议是用于保持所述第二存储空间和所述第一存储空间的数据同步的协议,所述第一协议信息用于指示所述第二存储空间和所述第一存储空间之间的数据同步情况;
传输模块,用于对所述第一存储空间执行所述传输操作。
根据本申请的另一个实施例,提供了一种数据的传输装置,包括:
发送模块,用于向数据响应设备发送第一传输协议的数据传输请求,其中,所述数据传输请求用于指示待对数据响应设备的第一存储空间的数据执行传输操作,所述数据响应设备上还部署了第二存储空间,所述第二存储空间用于存储所述第一存储空间中的部分数据,所述数据响应设备用于响应所述数据传输请求,根据所述数据响应设备上的第二传输协议的第一协议信息对所述第二存储空间和所述第一存储空间进行数据同步后对所述第一存储空间执行所述传输操作,所述第二传输协议是用于保持所述第二存储空间和所述第一存储空间的数据同步的协议,所述第一协议信息用于指示所述第二存储空间和所述第一存储空间之间的数据同步情况;
第二接收模块,用于接收所述数据响应设备对所述第一存储空间执行所述传输操作后返回的信息。
根据本申请的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本申请的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本申请,接收数据请求设备发送的第一传输协议的数据传输请求,其中,数据传输请求用于指示待对数据响应设备的第一存储空间的数据执行传输操作,数据响应设备上还部署了第二存储空间,第二存储空间用于存储第一存储空间中的部分数据;响应数据传输请求,根据数据响应设备上的第二传输协议的第一协议信息对第二存储空间和第一存储空间进行数据同步,其中,第二传输协议是用于保持第二存储空间和第一存储空间的数据同步的协议,第一协议信息用于指示第二存储空间和第一存储空间之间的数据同步情况;对第一存储空间执行传输操作。由于第一协议信息用于获取第二存储空间和第一存储空间之间的数据同步情况,并且第二传输协议用于保持第二存储空间和第一存储空间的数据同步,因此在接收到第一传输协议的数据传输请求的情况下,使用数据响应设备上的第二传输协议的第一协议信息对第二存储空间和第一存储空间进行数据同步,再执行传输操作就能够保证第二存储空间和第一存储空间数据的一致性。因此,可以解决数据传输的效率较低的问题,达到提高数据传输的效率的效果。
附图说明
图1是本申请实施例的一种数据的传输方法的服务器设备的硬件结构框图;
图2是根据本申请实施例的数据的传输方法的流程图一;
图3是根据本申请实施例的一种数据同步的执行过程的流程图;
图4是根据本申请实施例的一种数据传输请求的传输过程的示意图;
图5是根据本申请实施例的一种数据请求设备和数据响应设备的示意图;
图6是根据本申请实施例的数据的传输方法的流程图二;
图7是根据本申请实施例的一种数据请求设备与数据响应设备进行数据传输的过程的示意图;
图8是根据本申请实施例的数据的传输系统的结构框图;
图9是根据本申请实施例的数据的传输装置的结构框图一;
图10是根据本申请实施例的数据的传输装置的结构框图二;
图11是根据本申请实施例的电子设备的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请的实施例。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在服务器设备或者类似的运算装置中执行。以运行在服务器设备上为例,图1是本申请实施例的一种数据的传输方法的服务器设备的硬件结构框图。如图1所示,服务器设备可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述服务器设备还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述服务器设备的结构造成限定。例如,服务器设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的数据的传输方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至服务器设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器设备的通信供应方提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种数据的传输方法,图2是根据本申请实施例的数据的传输方法的流程图一,如图2所示,该流程包括如下步骤:
步骤S202,接收数据请求设备发送的第一传输协议的数据传输请求,其中,所述数据传输请求用于指示待对数据响应设备的第一存储空间的数据执行传输操作,所述数据响应设备上还部署了第二存储空间,所述第二存储空间用于存储所述第一存储空间中的部分数据;
步骤S204,响应所述数据传输请求,根据所述数据响应设备上的第二传输协议的第一协议信息对所述第二存储空间和所述第一存储空间进行数据同步,其中,所述第二传输协议是用于保持所述第二存储空间和所述第一存储空间的数据同步的协议,所述第一协议信息用于指示所述第二存储空间和所述第一存储空间之间的数据同步情况;
步骤S206,对所述第一存储空间执行所述传输操作。
通过上述步骤,接收数据请求设备发送的第一传输协议的数据传输请求,其中,数据传输请求用于指示待对数据响应设备的第一存储空间的数据执行传输操作,数据响应设备上还部署了第二存储空间,第二存储空间用于存储第一存储空间中的部分数据;响应数据传输请求,根据数据响应设备上的第二传输协议的第一协议信息对第二存储空间和第一存储空间进行数据同步,其中,第二传输协议是用于保持第二存储空间和第一存储空间的数据同步的协议,第一协议信息用于指示第二存储空间和第一存储空间之间的数据同步情况;对第一存储空间执行传输操作。由于第一协议信息用于获取第二存储空间和第一存储空间之间的数据同步情况,并且第二传输协议用于保持第二存储空间和第一存储空间的数据同步,因此在接收到第一传输协议的数据传输请求的情况下,使用数据响应设备上的第二传输协议的第一协议信息对第二存储空间和第一存储空间进行数据同步,再执行传输操作就能够保证第二存储空间和第一存储空间数据的一致性。因此,可以解决数据传输的效率较低的问题,达到提高数据传输的效率的效果。
可选的,在本实施例中,本申请提出的数据的传输方法使用的场景广泛,可以但不限于包括:文件传输、音频传输、视频传输、数据包传输等等,在如下实施例中,可以但不限于以文件传输场景为例,对上述数据的传输方法进行说明,但不对使用场景进行限定,任何需要进行数据传输的场景均可以使用本申请提出的数据的传输方法。上述数据的传输方法可以但不限于应用于包括数据响应设备和数据请求设备的场景中,并且根据场景不同,数据响应设备和数据请求设备可以但不限于为不同的设备。
在上述步骤S202提供的技术方案中,上述数据的传输方法可以但不限于应用于数据响应设备,数据请求设备可以但不限于包括能够接收数据请求设备发送的数据传输请求并进行响应的设备,比如:GPU(Graphics Processing Unit,图形处理器)、CPU(CentralProcessing Unit,中央处理器)、网络适配器、存储控制器、外围控制设备等。
可选的,在本实施例中,可以但不限于将数据响应设备上的存储空间进行划分得到第一存储空间和第二存储空间比如:将数据响应设备上的存储空间划分为第一存储空间和第二存储空间。或者,直接为数据响应设备分配对应大小的内存空间和缓存空间。
可选的,在本实施例中,数据响应设备上的存储空间可以但不限于包括:内存空间和缓存空间等。可以但不限于将内存空间作为第一存储空间,将缓存空间作为第二存储空间。使用第二存储空间存储第一存储空间中的部分数据,比如:第一存储空间为内存空间,第二存储空间为缓存空间,使用缓存空间存储内存空间中的部分数据,实现提高了对于内存空间的访问速度。
可选的,在本实施例中,第一传输协议可以但不限于是数据响应设备能够识别的协议,数据响应设备可以但不限于根据第一传输协议的数据传输请求确定数据请求设备需要执行传输操作的数据,数据响应设备能够对第一存储空间执行的传输操作可以但不限于包括:读取第一存储空间中存储的数据、向第一存储空间中写入数据等。
可选的,在本实施例中,上述数据请求设备可以但不限于包括:GPU(GraphicsProcessing Unit,图形处理器)、CPU(Central Processing Unit,中央处理器)、网络适配器、存储控制器、音频设备、外围控制设备等。
可选的,在本实施例中,在数据响应设备接收到第一传输协议的数据传输请求的情况下,数据响应设备可以但不限于用于根据数据传输请求确定待执行传输操作的数据,比如:从数据传输请求中获取待执行传输操作的数据在第一存储空间中的存储地址,根据第一存储空间与第二存储空间之间的地址映射关系确定待执行传输操作的数据在第二存储空间中的存储地址,从而确定待执行传输操作的数据。或者,从数据传输请求中获取待执行传输操作的数据在第二存储空间中的存储地址,从而直接确定待执行传输操作的数据等。数据传输请求可以但不限于用于指示一个或者多个待执行传输操作的数据,在数据传输请求指示多个待执行传输操作的数据的情况下,可以但不限于将每个待执行传输操作的数据确定为目标数据执行传输操作。
可选的,在本实施例中,第一传输协议的数据传输请求用于指示待对数据响应设备的第一存储空间的数据执行传输操作,以第一存储空间为内存空间为例,第一传输协议可以但不限于是能够直接访问数据响应设备的内存空间进行读写操作的协议,比如:DMA(Direct Memory Access,直接内存访问)、UDMA(Ultra Direct Memory Access,超直接存储器存取)等。
可选的,在本实施例中,在不同的场景中,可以但不限于使用不同功能的数据传输请求,比如:通过数据传输请求指示数据响应设备待执行传输操作的目标数据,以及具体的传输操作,数据响应设备能够根据数据传输请求确定待执行传输操作的目标数据,并根据数据传输请求执行数据同步和数据传输操作。或者,可以但不限于通过数据传输请求指示数据响应设备待执行传输操作的目标数据,数据响应设备在接收到数据传输请求的情况下,仅能根据数据传输请求执行对应的数据同步操作。
可选的,在本实施例中,对于在第二存储空间和第一存储空间中存储的同一数据,可以但不限于通过第二存储空间和第一存储空间之间的对应关系从第一存储空间中查找得到与第二存储空间中对应的数据,或者,从第二存储空间中查找得到与第一存储空间中对应的数据,第二存储空间和第一存储空间之间的对应关系可以但不限于包括:第二存储空间的存储地址和第一存储空间的存储地址具有映射关系、第一存储空间和第二存储空间中存储的数据具有唯一的数据标识等。
在一个示例性实施例中,可以但不限于采用以下方式接收数据请求设备发送的第一传输协议的数据传输请求:接收所述数据请求设备发送的所述第一传输协议的第一请求,其中,所述第一请求用于指示所述数据响应设备对所述第一存储空间中目标位置的数据进行数据同步,所述数据传输请求包括所述第一请求。
可选的,在本实施例中,第一传输协议可以但不限于是数据响应设备能够识别的协议,可以但不限于通过第一传输协议传输第一请求,在数据响应设备解析第一传输协议的情况下,能够获取第一请求并根据第一请求指示数据传输操作或者数据同步操作。
可选的,在本实施例中,第一请求可以但不限于用于指示待执行传输操作的数据在存储空间中的存储位置,比如:第一请求用于指示待执行传输操作的数据在第一存储空间中的存储位置。或者,第一请求用于指示待执行传输操作的数据在第二存储空间中的存储位置等。待执行传输操作的数据可以但不限于包括待执行数据同步的数据,第一请求还可以但不限于用于指示数据响应设备对第一存储空间中目标位置的数据进行数据同步,比如:根据第一请求,数据响应设备能够对目标位置的数据进行数据同步,在完成数据同步的情况下,执行数据传输操作。或者,根据第一请求,数据响应设备对目标位置的数据进行数据同步,在接收到数据传输操作的请求的情况下,再执行数据传输操作等。
可选的,在本实施例中,数据响应设备能够对第一存储空间中目标位置的数据进行数据同步操作,比如:以第一传输协议为DMA为例,可以但不限于在DMA中携带目标位置使得数据响应设备能够根据目标位置进行数据同步操作,并进行数据传输。或者,通过DMA传输第一请求,通过第一请求指示数据响应设备能够根据目标位置进行数据同步操作。
或者,可以但不限于通过在第一传输协议中携带第一请求使得数据响应设备能够对第一存储空间中目标位置的数据进行数据同步操作,比如:以第一传输协议为DMA为例,可以但不限于在DMA中携带第一请求使得数据响应设备能够根据第一请求获取目标位置再进行数据同步操作,并响应DMA进行数据传输。
或者,可以但不限于构建符合数据响应设备进行数据传输所需要使用的第一传输协议的第一请求,第一请求可以但不限于用于指示目标位置,在数据响应设备接收到第一请求的情况下,对目标位置的数据进行数据同步操作,在完成同步操作的情况下,再执行数据传输操作等。
可选的,在本实施例中,对于同一数据,第二存储空间中的存储位置与第一存储空间中的存储位置可以但不限于具有对应关系,可以但不限于将目标请求设备需要进行数据传输的数据在第二存储空间中所在的位置确定为目标位置。
可选的,在本实施例中,在数据响应设备接收到第一请求的情况下,可以但不限于通过多种方式对第一存储空间中目标位置的数据进行数据同步,比如:使用第二存储空间中对应的数据对第一存储空间中目标位置的数据进行数据同步。或者,通过获取数据对第一存储空间中目标位置的数据进行数据同步等。
可选的,在本实施例中,可以但不限于通过第一传输协议的总线连接数据响应设备与数据请求设备,比如:PCIE(Peripheral Component Interconnect Express,一种高速串行计算机扩展总线标准)等。数据请求设备可以但不限于通过第一传输协议的总线向数据响应设备发送第一请求,比如:数据请求设备通过PCIE向数据响应设备发送第一请求。
在上述步骤S204提供的技术方案中,可以但不限于使用第二传输协议保持第二存储空间和第一存储空间的数据同步,比如:在第二存储空间和第一存储空间对于同一数据的存储情况出现不同的情况下,使用正确的数据对错误的数据进行数据同步,使得第二存储空间和第一存储空间对于同一数据的存储情况保持一致。
可选的,在本实施例中,上述数据传输请求可以但不限于用于指示数据响应设备通过第二传输协议的第一协议信息确定第二存储空间和第一存储空间之间的数据同步情况,进一步,在数据传输请求指示了待执行传输操作的数据的情况下,数据响应设备可以但不限于确定第一存储空间中待执行传输操作的数据与第二存储空间中对应的数据是否保持同步。
可选的,在本实施例中,数据传输请求可以但不限于用于指示的待执行传输操作的数据的存储位置,比如:数据传输请求携带了待执行传输操作的数据的存储位置。或者,数据传输请求携带了待执行传输操作的数据的标识,根据标识与存储位置的对应关系确定待执行传输操作的数据的存储位置等。
在一个示例性实施例中,可以但不限于采用以下方式根据所述数据响应设备上的第二传输协议的第一协议信息对所述第二存储空间和所述第一存储空间进行数据同步:在所述第二存储空间中存储了所述数据传输请求所指示的待执行传输操作的存储位置的目标数据的情况下,从所述数据响应设备上所记录的所述第二传输协议的存储状态中查询所述目标数据的目标存储状态,其中,所述第一协议信息包括所述存储状态,所述存储状态用于指示所述第二存储空间中存储的数据的同步状态;在所述目标存储状态为目标状态的情况下,将所述目标数据同步至所述第一存储空间,其中,所述目标状态用于指示所述目标数据存在修改但未同步。
可选的,在本实施例中,数据传输请求可以但不限于用于指示一个或者多个待执行传输操作的数据,在数据传输请求指示多个待执行传输操作的数据的情况下,可以但不限于将每个待执行传输操作的数据确定为目标数据,从数据响应设备上所记录的第二传输协议的存储状态中查询每个目标数据的存储状态,仅对存储状态为目标状态的数据确定执行将目标数据同步至第一存储空间的过程。
可选的,在本实施例中,第二传输协议可以但不限于用于获取第二存储空间中存储的每个数据的存储状态,比如:通过第二传输协议获取第二存储空间中存储的全部数据的存储状态,再从全部数据中筛选得到目标数据的目标存储状态。或者,通过第二传输协议直接获取目标数据的目标存储状态等。
可选的,在本实施例中,可以但不限于通过第二传输协议获取第二存储空间中存储的目标数据的目标存储状态,目标数据的目标存储状态可以但不限于用于指示目标数据是否存在修改,在目标存储状态指示目标数据被修改的情况下,目标存储状态可以但不限于还用于指示修改后的目标数据是否从第二存储空间同步至第一存储空间中。
可选的,在本实施例中,第二存储空间中存储的数据的存储状态可以但不限于包括:已修改、未修改、已修改并同步、已修改未同步等。目标状态可以但不限于用于指示对应的数据存在修改但未将修改后的数据同步至第一存储空间。
在一个示例性实施例中,可以但不限于采用以下方式从所述数据响应设备上所记录的所述第二传输协议的存储状态中查询所述目标数据的目标存储状态:向所述数据响应设备请求调用所述第二传输协议的第一协议信息;在所述数据响应设备允许调用所述第二传输协议的第一协议信息的情况下,从所述第二传输协议的第一协议信息中查询所述目标数据的目标存储状态。
可选的,在本实施例中,在数据请求设备通过第一传输协议发送数据传输请求的情况下,数据响应设备可以但不限于通过第二传输协议获取第一协议信息,由于第一传输协议与第二传输协议可以但不限于为不同的协议,因此,数据请求设备可以但不限于向数据响应设备请求调用第二传输协议的第一协议信息从而获取目标数据的目标存储状态。
可选的,在本实施例中,可以但不限于将第二存储设备中存储的数据的存储状态存储至第二传输协议的第一协议信息中,数据响应设备可以但不限于通过调用第二传输协议的第一协议信息获取目标数据的目标存储状态。
在一个示例性实施例中,可以但不限于采用以下方式将所述目标数据同步至所述第一存储空间:对所述第二存储空间中的所述目标数据触发所述第二传输协议的同步操作;在所述目标数据已同步至所述第一存储空间的情况下,将所述目标状态转换为非目标状态,其中,所述非目标状态用于指示所述目标数据已同步。
可选的,在本实施例中,第二传输协议可以但不限于用于将第二存储空间中的数据同步至第一存储空间中,在通过第二传输协议确定第二存储空间中的目标数据已被修改且未同步至第一存储空间的情况下,可以但不限于通过第二传输协议将目标数据同步至第一存储空间中。
可选的,在本实施例中,可以但不限于通过多种方式触发第二传输协议的同步操作,比如:向第二存储空间发送用于触发第二传输协议的同步操作的请求。或者,由数据响应设备根据目标数据自动触发第二传输协议的同步操作等。
可选的,在本实施例中,第二传输协议的同步操作可以但不限于用于将第二存储空间中的数据写入第一存储空间,实现第一存储空间和第二存储空间对于同一数据的同步操作。在目标数据已经同步的情况下,可以但不限于将目标数据的目标状态转换为用于指示目标数据已经在第一存储空间和第二存储空间中同步的非目标状态。
可选的,在本实施例中,第二存储空间中的目标数据以及对应的第一存储空间的数据可以但不限于是Cacheline(缓存行)的形式存储的,在传输操作不同的情况下,第二传输协议的同步操作可以但不限于不同,比如:
在传输操作请求对第二存储空间中的目标数据进行写操作的情况下,可以但不限于直接对目标数据进行写操作,并将目标数据的目标存储状态转换为用于指示目标数据已同步的非目标状态;
或者,在传输操作请求对第二存储空间中的目标数据进行读操作的情况下,可以但不限于对目标数据进行数据同步操作并将目标数据的目标存储状态转换为用于指示目标数据已同步的非目标状态,再执行读操作。
在一个示例性实施例中,可以但不限于采用以下方式从所述数据响应设备上所记录的所述第二传输协议的存储状态中查询所述目标数据的目标存储状态:从所述数据响应设备上所记录的计算快速连接协议的缓存状态标签中查询所述目标数据的目标缓存状态标签,其中,所述第二传输协议包括所述计算快速连接协议,所述存储状态包括所述缓存状态标签,所述第一存储空间是所述数据响应设备上的内存空间,所述第二存储空间是所述数据响应设备上的缓存空间;所述在所述目标存储状态为目标状态的情况下,可以但不限于采用以下方式将所述目标数据同步至所述第一存储空间:在所述目标缓存状态标签为已修改标签的情况下,对所述缓存空间中的所述目标数据触发所述计算快速连接协议的缓存一致性操作。
可选的,在本实施例中,在第二传输协议为计算快速连接(CXL,Compute ExpressLink)协议的情况下,可以但不限于从CXL协议包括的缓存一致性协议中获取缓存状态标签,以缓存一致性协议为MESI协议为例,缓存状态标签可以但不限于包括:M(Modified,修改)、E(Exclusive、独占)、S(Exclusive,共享)、I(Exclusive,无效)。
可选的,在本实施例中,以目标缓存状态标签为MESI标签为例,在目标数据的目标存储状态为M的情况下,可以但不限于认为目标存储状态为已修改标签,对存储空间中的目标数据存储缓存一致性操作,即将目标数据从缓存空间同步至内存空间。
可选的,在本实施例中,可以但不限于将数据响应设备的内存空间确定为第一存储空间,将数据响应设备的缓存空间确定为第二存储空间,第二传输协议为计算快速连接协议,目标状态为修改,在缓存空间中存储了数据传输请求所指示的待执行传输操作的存储位置的目标数据的情况下,从数据响应设备上所记录的计算快速连接协议的存储状态中查询目标数据的目标存储状态;在目标数据的目标存储状态为目标状态的情况下,将目标数据同步至内存空间。
在一个示例性实施例中,可以但不限于采用以下方式根据所述数据响应设备上的第二传输协议的第一协议信息对所述第二存储空间和所述第一存储空间进行数据同步:检测所述数据响应设备所支持的传输协议;从所述数据响应设备所支持的传输协议中选取功能符合所述第一存储空间和所述第二存储空间的存储类型的所述第二传输协议;根据所述第二传输协议的第一协议信息对所述第二存储空间和所述第一存储空间进行数据同步。
可选的,在本实施例中,数据响应设备可以但不限于支持多中传输协议,比如:TCP(Transmission Control Protocol,传输控制协议)、UDP(User Datagram Protocol,用户数据报协议)、CXL协议等。第二传输协议可以但不限于用于在第一存储空间和第二存储空间中进行数据同步,以第一存储空间为内存空间,第二存储空间为缓存空间为例可以但不限于从数据响应设备所支持的传输协议中选择能够在内存空间和缓存空间中进行数据同步的协议作为第二传输协议,比如:CXL协议等。
可选的,在本实施例中,第二传输协议可以但不限于包括多项协议信息,以第二传输协议为CXL协议为例,可以但不限于将CXL协议中包括的Cacheline(缓存行)信息确定为第二传输协议的第一协议信息,从CXL协议中包括的Cacheline信息中查询目标数据的目标存储状态。
在一个示例性实施例中,可以但不限于采用以下方式根据所述数据响应设备上的第二传输协议的第一协议信息对所述第二存储空间和所述第一存储空间进行数据同步:根据所述数据响应设备上的第二传输协议的第一协议信息对所述数据响应设备进行数据同步,并对所述数据响应设备通过所述第二传输协议所连接的协议设备进行数据同步。
可选的,在本实施例中,数据响应设备可以但不限于通过第二传输协议连接了多个协议设备,以第二传输协议为CXL协议为例,数据响应设备通过CXL协议连接的设备可以但不限于包括:CPU、GPU、FPGA(Field Programmable Gate Array,现场可编程门阵列)等。
可选的,在本实施例中,以第二传输协议为CXL协议为例,数据响应设备可以但不限于还连接了多个设备进行内存扩展等操作,比如:将连接的多个设备的内存空间与数据响应设备的第一存储空间共同编码作为数据响应设备的第一存储空间。在使用第二传输协议的第一协议信息进行数据同步的情况下,可以但不限于将数据响应设备本身的内存空间以及数据响应设备连接的设备的内存空间都作为第一存储空间,使用第一协议信息进行数据同步。
在一个示例性实施例中,可以但不限于采用以下方式根据所述数据响应设备上的第二传输协议的第一协议信息对所述数据响应设备进行数据同步,并对所述数据响应设备通过所述第二传输协议所连接的协议设备进行数据同步:根据所述数据响应设备上的计算快速连接协议的第一协议信息对所述数据响应设备进行数据同步,并对所述数据响应设备通过所述计算快速连接协议所连接的计算快速连接设备进行数据同步。
可选的,在本实施例中,以第二传输协议为CXL协议为例,数据响应设备可以但不限于通过CXL协议连接多个设备即计算快速连接设备,并使用CXL协议中的缓存一致性协议将连接的多个计算快速连接设备的内存空间与数据响应设备的第一存储空间共同编码进行使用,在使用第二传输协议的第一协议信息进行数据同步的情况下,可以但不限于将数据响应设备的内存空间以及数据响应设备通过CXL协议连接的计算快速连接设备的内存空间都作为第一存储空间,使用第一协议信息进行数据同步。
在一个示例性实施例中,提供了一种数据同步的执行过程的示例。图3是根据本申请实施例的一种数据同步的执行过程的流程图,如图3所示,以数据请求设备向数据响应设备发送了DMA协议的数据传输请求,DMA协议为第一传输协议,数据传输请求中携带了数据响应设备中需要执行传输操作的目标数据在第一存储空间中的存储地址,通过CXL协议中的MESI协议检测目标数据的Cacheline的目标存储状态,数据响应设备通过CXL协议连接了多个CXL设备,第二存储空间包括数据响应设备的缓存空间和数据响应设备通过CXL协议连接的CXL设备的存储空间为例,可以但不限于通过以下流程对目标数据执行数据同步:
步骤S302:根据目标数据在第一存储空间中的存储地址确定第二存储空间中对应的目标数据;
步骤S304:检测目标数据的缓存行的目标存储状态;
步骤S306:判断目标存储状态是否为M(修改)状态;
步骤S308:在目标存储状态为M状态的情况下,将第二存储空间中的目标数据回写至第一存储空间;
步骤S310:在完成将目标数据回写至第一存储空间的情况下,修改目标存储状态为E(独占)状态;
步骤S312:完成后通知数据请求设备,已完成目标数据同步。
进一步,数据请求设备可以但不限于通过数据传输请求,请求对数据响应设备上的多个数据执行传输操作,在数据请求设备请求对数据响应设备上的多个数据执行传输操作的情况下,数据响应设备可以但不限于依次检测每个目标数据的缓存行的目标存储状态,只将存储状态为M状态的目标数据进行数据同步操作,提高数据同步操作的效率。由于数据响应设备不仅有其自己的内存空间和缓存空间,还通过CXL协议连接了一个或者多个CXL设备,因此,在数据响应设备需要进行数据同步的情况下,数据响应设备不仅需要检测自己的缓存空间中的缓存行是否存为M状态,还需要检测通过CXL协议连接的CXL设备中的缓存行是否为M状态,并且使用CXL协议进行数据回写。
在上述步骤S206提供的技术方案中,可以但不限于在多种情况下对第一存储空间执行传输操作,比如:在完成对第二存储空间和第一存储空间进行数据同步的情况下,数据响应设备对第一存储空间执行传输操作。或者,在完成对第二存储空间和第一存储空间进行数据同步的情况下,数据响应设备根据数据请求设备的指示再对第一存储空间执行传输操作等。
在一个示例性实施例中,可以但不限于采用以下方式对所述第一存储空间执行所述传输操作:接收所述数据请求设备发送的所述第一传输协议的第二请求,其中,所述第二请求用于请求对所述第一存储空间中所述目标位置的数据执行所述传输操作;响应所述第二请求,对所述第一存储空间中所述目标位置的数据执行所述传输操作。
可选的,在本实施例中,数据请求设备可以但不限于向数据响应设备发送第一传输协议的第二请求作为数据响应设备对第一存储空间的目标位置的数据执行传输操作的指示。
可选的,在本实施例中,数据响应设备可以但不限于根据数据请求设备发送的第二请求对第一存储空间中目标位置的数据执行传输操作,以第一存储空间为数据响应设备的内存空间为例,第二请求可以但不限于用于请求访问数据响应设备的内存空间,比如:DMA(Direct Memory Access,直接内存访问)等。
在一个示例性实施例中,提供了一种数据传输请求的传输过程的示例。图4是根据本申请实施例的一种数据传输请求的传输过程的示意图,如图4所示,以第一存储空间为内存空间,第二存储空间为缓存空间为例,在数据请求设备向数据响应设备发送数据传输请求的情况下,数据响应设备通过响应数据传输请求将缓存空间和内存空间进行数据同步,在完成缓存空间和内存空间的数据同步的情况下,再进行数据传输操作。
进一步,数据请求设备与数据响应设备之间进行的数据传输操作可以但不限于包括:数据请求设备请求向数据响应设备写入数据,或者数据请求设备请求读取数据响应设备中存储的数据。
在一个示例性实施例中,提供了一种数据请求设备和数据响应设备的示例。图5是根据本申请实施例的一种数据请求设备和数据响应设备的示意图,如图5所示,数据请求设备和数据响应设备可以但不限于部署了DMA接口和PCIE接口,并支持CXL相关协议(CXL.memory(内存协议)、CXL.cache(缓存一致性协议)、CXL.IO),由同步优化控制器进行各项协议的使用及响应,在数据响应设备对第二存储空间和第一存储空间进行数据同步的过程中,数据请求设备和数据响应设备可以但不限于通过以下方式工作:
在数据响应设备接收到数据传输请求的情况下,可以但不限于根据数据传输请求中指示的目标数据的地址从缓存空间即第二存储空间中获取对应的目标数据以及目标数据的目标存储状态即Cacheline状态,由于CXL Cacheline状态包含了一致性的缓存信息,因此在数据响应设备对第二存储空间和第一存储空间进行数据同步的过程中,数据响应设备可以不回写和同步数据传输请求所有涉及的Cacheline,比如:
CXL Cacheline状态E、S、I都表明缓存空间中的缓存数据和内存空间中的数据已经保持同步或者无意义,这些CXL Cacheline状态无需再进行数据同步操作,无论是数据请求设备还是数据响应设备,都保持当前CXL状态,数据请求设备可以但不限于通过DMA请求从数据响应设备的内存空间即第一存储空间中传输目标数据。
对于CXL Cacheline状态M,M状态可以但不限于用于指示缓存空间中的目标数据与内存空间中不同步且与数据响应设备通过CXL协议连接的其他设备并不知晓,这些CXLCacheline状态需进行相关处理,可以但不限于包括以下两种情况:
如果数据请求设备请求的传输操作为Cacheline是被写方,即向Cacheline写入数据,可以但不限于不再将缓存空间的数据回写至内存空间,通过DMA直接向Cacheline写入数据,并将当前Cacheline状态转变成I。
如果数据请求设备请求的传输操作为Cacheline对应的是被读方,即读取当前Cacheline中的数据,则需要将Cacheline中的数据回写至内存空间,并将Cacheline状态转变成E,再使用DMA读取内存空间中的数据。
由于将DMA和缓存一致性过程结合,根据两种功能的状态组合,先判断出哪些缓存数据有必要回写,只触发有必要回写的缓存一致性同步过程,而不是简单的将DMA请求的缓存数据全部写回主存中,并将所有DMA请求相关的缓存状态设置为I。
通过增加同步优化控制器,根据CXL缓存一致性协议中的缓存状态,协调DMA传输过程,将DMA流程与缓存一致性协议同步过程合并归一,并优化其中过程,去掉没必要的数据同步过程。
在本实施例中还提供了一种数据的传输方法,图6是根据本申请实施例的数据的传输方法的流程图二,如图6所示,该流程包括如下步骤:
步骤S602,向数据响应设备发送第一传输协议的数据传输请求,其中,所述数据传输请求用于指示待对数据响应设备的第一存储空间的数据执行传输操作,所述数据响应设备上还部署了第二存储空间,所述第二存储空间用于存储所述第一存储空间中的部分数据,所述数据响应设备用于响应所述数据传输请求,根据所述数据响应设备上的第二传输协议的第一协议信息对所述第二存储空间和所述第一存储空间进行数据同步后对所述第一存储空间执行所述传输操作,所述第二传输协议是用于保持所述第二存储空间和所述第一存储空间的数据同步的协议,所述第一协议信息用于指示所述第二存储空间和所述第一存储空间之间的数据同步情况;
步骤S604,接收所述数据响应设备对所述第一存储空间执行所述传输操作后返回的信息。
通过上述步骤,接收数据请求设备发送的第一传输协议的数据传输请求,其中,数据传输请求用于指示待对数据响应设备的第一存储空间的数据执行传输操作,数据响应设备上还部署了第二存储空间,第二存储空间用于存储第一存储空间中的部分数据;响应数据传输请求,根据数据响应设备上的第二传输协议的第一协议信息对第二存储空间和第一存储空间进行数据同步,其中,第二传输协议是用于保持第二存储空间和第一存储空间的数据同步的协议,第一协议信息用于指示第二存储空间和第一存储空间之间的数据同步情况;对第一存储空间执行传输操作。由于第一协议信息用于获取第二存储空间和第一存储空间之间的数据同步情况,并且第二传输协议用于保持第二存储空间和第一存储空间的数据同步,因此在接收到第一传输协议的数据传输请求的情况下,使用数据响应设备上的第二传输协议的第一协议信息对第二存储空间和第一存储空间进行数据同步,再执行传输操作就能够保证第二存储空间和第一存储空间数据的一致性。因此,可以解决数据传输的效率较低的问题,达到提高数据传输的效率的效果。
可选的,在本实施例中,本申请提出的数据的传输方法使用的场景广泛,可以但不限于包括:文件传输、音频传输、视频传输、数据包传输等等,在如下实施例中,可以但不限于以文件传输场景为例,对上述数据的传输方法进行说明,但不对使用场景进行限定,任何需要进行数据传输的场景均可以使用本申请提出的数据的传输方法。上述数据的传输方法使用的场景可以但不限于包括数据响应设备和数据请求设备,根据使用的场景不同,可以但不限于将不同的设备确定为数据响应设备和数据请求设备。
在上述步骤S602提供的技术方案中,上述数据的传输方法可以但不限于应用于数据请求设备,数据请求设备可以但不限于包括能够获取数据响应设备中的第一存储空间中的数据的设备,比如:GPU(Graphics Processing Unit,图形处理器)、CPU(CentralProcessing Unit,中央处理器)、网络适配器、存储控制器、音频设备、外围控制设备等。
可选的,在本实施例中,上述数据请求设备可以但不限于包括能够接收数据请求设备发送的数据传输请求并进行响应的设备,比如:GPU(Graphics Processing Unit,图形处理器)、CPU(Central Processing Unit,中央处理器)、网络适配器、存储控制器、外围控制设备等。
可选的,在本实施例中,第一传输协议可以但不限于是数据响应设备能够识别的协议,数据响应设备可以但不限于根据第一传输协议的数据传输请求确定数据请求设备需要执行传输操作的数据,传输操作可以但不限于包括:数据请求设备请求读取数据响应设备中的数据、数据请求设备请求向数据响应设备中写入数据等。
在一个示例性实施例中,可以但不限于采用以下方式向数据响应设备发送第一传输协议的数据传输请求:向所述数据响应设备发送所述第一传输协议的第一请求,其中,所述第一请求用于指示所述数据响应设备对所述第一存储空间中目标位置的数据进行数据同步,所述数据传输请求包括所述第一请求。
可选的,在本实施例中,第一传输协议可以但不限于是数据响应设备能够识别的协议,可以但不限于通过在第一传输协议中指示第一请求使得数据响应设备能够对第一存储空间中目标位置的数据进行数据同步操作,比如:以第一传输协议为DMA(Direct MemoryAccess,直接内存访问)为例,可以但不限于在DMA中携带目标位置使得数据响应设备能够根据目标位置进行数据同步操作,并响应DMA进行数据传输。
或者,可以但不限于通过在第一传输协议中携带第一请求使得数据响应设备能够对第一存储空间中目标位置的数据进行数据同步操作,比如:以第一传输协议为DMA为例,可以但不限于在DMA中携带第一请求使得数据响应设备能够根据第一请求获取目标位置再进行数据同步操作,并响应DMA进行数据传输。
或者,可以但不限于构建符合数据响应设备进行数据传输所需要使用的第一传输协议的第一请求,第一请求可以但不限于用于指示目标位置,在数据响应设备接收到第一请求的情况下,对目标位置的数据进行数据同步操作,在完成同步操作的情况下,再执行数据传输操作等。
可选的,在本实施例中,可以但不限于将目标请求设备需要进行数据传输的数据在第二存储空间中所在的位置确定为目标位置,对于同一数据,第二存储空间中数据的存储位置与第一存储空间中的存储位置可以但不限于是具有对应关系的。
在一个示例性实施例中,可以但不限于采用以下方式向所述数据响应设备发送所述第一传输协议的第一请求:创建携带了所述目标位置的所述第一请求;通过与所述数据响应设备之间连接的所述第一传输协议的总线向所述数据响应设备发送所述第一请求。
可选的,在本实施例中,第一传输协议的总线可以但不限于用于连接数据响应设备与数据请求设备,比如:PCIE(Peripheral Component Interconnect Express,一种高速串行计算机扩展总线标准)等。数据请求设备可以但不限于通过第一传输协议的总线向数据响应设备发送第一请求,比如:数据请求设备通过PCIE向数据响应设备发送第一请求。
在一个示例性实施例中,可以但不限于采用以下方式通过与所述数据响应设备之间连接的所述第一传输协议的总线向所述数据响应设备发送所述第一请求:通过与所述数据响应设备之间连接的所述第一传输协议的总线向所述数据响应设备以及所述数据响应设备通过所述第二传输协议所连接的协议设备广播所述第一请求,其中,所述数据响应设备以及所述协议设备均用于响应所述第一请求对所述目标位置的数据进行数据同步。
可选的,在本实施例中,数据响应设备可以但不限于通过第二传输协议连接了多个协议设备,以第二传输协议为CXL协议为例,数据响应设备通过CXL协议连接的设备可以但不限于包括:CPU、GPU、FPGA(Field Programmable Gate Array,现场可编程门阵列)等。
可选的,在本实施例中,以第二传输协议为CXL协议为例,数据响应设备可以但不限于还连接了多个设备进行内存扩展等操作,比如:将连接的多个设备的内存空间与数据响应设备的第一存储空间共同编码作为数据响应设备的第一存储空间。在使用第二传输协议的第一协议信息进行数据同步的情况下,可以但不限于将数据响应设备本身的内存空间以及数据响应设备连接的设备的内存空间都作为第一存储空间,使用第一协议信息进行数据同步。
可选的,在本实施例中,数据传输设备可以但不限于向数据响应设备以及数据响应设备连接的协议设备传输第一请求,使得数据响应设备以及数据响应设备连接的协议设备都能够接收到第一请求并进行响应。
在一个示例性实施例中,在所述向所述数据响应设备发送所述第一传输协议的第二请求之前,可以但不限于采用以下方式进行数据同步:在所述传输操作包括写数据操作的情况下,对第三存储空间和第四存储空间进行数据同步,其中,所述第三存储空间是存储了被执行所述写数据操作的数据的存储空间,所述第四存储空间用于存储所述第三存储空间中的部分数据。
可选的,在本实施例中,数据请求设备可以但不限于部署了多个存储空间,比如:缓存空间和内存空间。第四存储空间是用于存储第三存储空间中的部分数据,可以但不限于将数据请求设备的缓存空间确定为第四存储空间,将数据请求设备的内存空间确定为第三存储空间。
可选的,在本实施例中,在数据请求设备请求向数据响应设备进行写入数据操作的情况下,可以但不限于保持数据请求设备中部署的多个存储空间的一致性,比如:将第三存储空间中存储的最新的数据写入第四存储空间。或者,将第四存储空间中写入的最新的数据存储至第三存储空间等。
在一个示例性实施例中,可以但不限于采用以下方式对第三存储空间和第四存储空间进行数据同步:在所述第四存储空间中存储了被执行所述写数据操作的数据的情况下,获取所述第二传输协议的第二协议信息,其中,所述第二协议信息用于指示所述第三存储空间和所述第四存储空间之间的数据同步情况;根据所述第二协议信息对第三存储空间和第四存储空间进行数据同步。
可选的,在本实施例中,可以但不限于通过第二传输协议的第二协议信息确定第三存储空间与第四存储空间中的数据是否保持一致,以第二传输协议为CXL协议为例,第二协议信息可以但不限与包括M(Modified,修改)、E(Exclusive、独占)、S(Exclusive,共享)、I(Exclusive,无效),可以但不限于在第二协议信息为M的情况下,对第三存储空间和第四存储空间执行数据同步。
在上述步骤S604提供的技术方案中,在数据响应设备完成数据同步的情况下,可以但不限于用于向数据传输设备返回完成数据同步的指示,在数据响应设备完成数据传输操作的情况下,也可以但不限于用于向数据传输设备返回完成数据传输的指示,数据响应设备可以但不限于用于根据同一指示完成数据同步以及数据传输操作,并返回执行数据传输操作后返回的信息。
或者,数据响应设备还可以但不限于在完成数据同步的情况下,向数据请求设备返回完成数据同步的信息,在完成数据传输的情况下,再向数据请求设备返回完成数据传输的信息等。
可选的,在本实施例中,数据响应设备对第一存储空间执行的操作可以但不限于包括:向数据请求设备传输第一存储空间中的数据。根据数据请求设备的指示向第一存储空间中写入数据等。
在一个示例性实施例中,可以但不限于采用以下方式接收所述数据响应设备对所述第一存储空间执行所述传输操作后返回的信息:向所述数据响应设备发送所述第一传输协议的第二请求,其中,所述第二请求用于请求对所述第一存储空间中目标位置的数据执行所述传输操作;接收所述数据响应设备响应所述第二请求返回的信息。
可选的,在本实施例中,数据请求设备可以但不限于向数据响应设备发送第一传输协议的第二请求作为数据响应设备对第一存储空间的目标位置的数据执行传输操作的指示。
可选的,在本实施例中,数据响应设备可以但不限于根据数据请求设备发送的第二请求对第一存储空间中目标位置的数据执行传输操作,以第一存储空间为数据响应设备的内存空间为例,第二请求可以但不限于用于请求访问数据响应设备的内存空间,比如:DMA(Direct Memory Access,直接内存访问)等。
在一个示例性实施例中,提供了一种数据请求设备与数据响应设备进行数据传输的过程的示例。图7是根据本申请实施例的一种数据请求设备与数据响应设备进行数据传输的过程的示意图,如图7所示,数据请求设备创建第一传输协议的数据传输请求,数据处理请求用于指示数据请求设备请求对数据响应设备进行数据传输的目标数据,由于数据响应设备通过CXL协议连接了一个或者多个设备即CXL设备,数据响应设备通过PCIE总线向数据响应设备以及数据响应设备连接的设备广播数据传输请求,数据响应设备以及数据响应设备连接的设备根据数据传输请求中指示的目标数据进行数据同步操作,数据响应设备以及数据响应设备连接的设备完成数据同步操作的情况下,数据请求设备可以但不限于再向数据响应设备发送DMA请求,用于从数据响应设备的第一存储空间中传输目标数据,在完成目标数据的传输的情况下,数据响应设备可以但不限于向数据请求设备返回完成的指示。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
在本实施例中还提供了一种数据的传输系统,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。图8是根据本申请实施例的数据的传输系统的结构框图,如图8所示,该系统包括:数据请求设备802和数据响应设备804,其中,所述数据响应设备上部署了第一存储空间806和第二存储空间808,所述数据请求设备和所述数据响应设备均支持第一传输协议,所述数据响应设备还支持第二传输协议,所述第二传输协议是用于保持所述第二存储空间和所述第一存储空间的数据同步的协议,所述数据请求设备,用于执行上述任一项方法实施例中的相应步骤;所述数据响应设备,用于执行上述任一项方法实施例中的相应步骤。
通过上述系统,接收数据请求设备发送的第一传输协议的数据传输请求,其中,数据传输请求用于指示待对数据响应设备的第一存储空间的数据执行传输操作,数据响应设备上还部署了第二存储空间,第二存储空间用于存储第一存储空间中的部分数据;响应数据传输请求,根据数据响应设备上的第二传输协议的第一协议信息对第二存储空间和第一存储空间进行数据同步,其中,第二传输协议是用于保持第二存储空间和第一存储空间的数据同步的协议,第一协议信息用于指示第二存储空间和第一存储空间之间的数据同步情况;对第一存储空间执行传输操作。由于第一协议信息用于获取第二存储空间和第一存储空间之间的数据同步情况,并且第二传输协议用于保持第二存储空间和第一存储空间的数据同步,因此在接收到第一传输协议的数据传输请求的情况下,使用数据响应设备上的第二传输协议的第一协议信息对第二存储空间和第一存储空间进行数据同步,再执行传输操作就能够保证第二存储空间和第一存储空间数据的一致性。因此,可以解决数据传输的效率较低的问题,达到提高数据传输的效率的效果。
在一个示例性实施例中,上述数据请求设备可以但不限于用于:向数据响应设备发送第一传输协议的数据传输请求,其中,所述数据传输请求用于指示待对数据响应设备的第一存储空间的数据执行传输操作,所述数据响应设备上还部署了第二存储空间,所述第二存储空间用于存储所述第一存储空间中的部分数据,所述数据响应设备用于响应所述数据传输请求,根据所述数据响应设备上的第二传输协议的第一协议信息对所述第二存储空间和所述第一存储空间进行数据同步后对所述第一存储空间执行所述传输操作,所述第二传输协议是用于保持所述第二存储空间和所述第一存储空间的数据同步的协议,所述第一协议信息用于指示所述第二存储空间和所述第一存储空间之间的数据同步情况;接收所述数据响应设备对所述第一存储空间执行所述传输操作后返回的信息。
在一个示例性实施例中,上述数据请求设备可以但不限于通过以下方式向数据响应设备发送第一传输协议的数据传输请求:向所述数据响应设备发送所述第一传输协议的第一请求,其中,所述第一请求用于指示所述数据响应设备对所述第一存储空间中目标位置的数据进行数据同步,所述数据传输请求包括所述第一请求。
在一个示例性实施例中,上述数据请求设备可以但不限于通过以下方式向所述数据响应设备发送所述第一传输协议的第一请求:创建携带了所述目标位置的所述第一请求;通过与所述数据响应设备之间连接的所述第一传输协议的总线向所述数据响应设备发送所述第一请求。
在一个示例性实施例中,上述数据请求设备可以但不限于通过以下方式通过与所述数据响应设备之间连接的所述第一传输协议的总线向所述数据响应设备发送所述第一请求:通过与所述数据响应设备之间连接的所述第一传输协议的总线向所述数据响应设备以及所述数据响应设备通过所述第二传输协议所连接的协议设备广播所述第一请求,其中,所述数据响应设备以及所述协议设备均用于响应所述第一请求对所述目标位置的数据进行数据同步。
在一个示例性实施例中,上述数据请求设备可以但不限于通过以下方式接收所述数据响应设备对所述第一存储空间执行所述传输操作后返回的信息:向所述数据响应设备发送所述第一传输协议的第二请求,其中,所述第二请求用于请求对所述第一存储空间中目标位置的数据执行所述传输操作;接收所述数据响应设备响应所述第二请求返回的信息。
在一个示例性实施例中,在所述向所述数据响应设备发送所述第一传输协议的第二请求之前,上述数据请求设备可以但不限于通过以下方式进行数据同步:在所述传输操作包括写数据操作的情况下,对第三存储空间和第四存储空间进行数据同步,其中,所述第三存储空间是存储了被执行所述写数据操作的数据的存储空间,所述第四存储空间用于存储所述第三存储空间中的部分数据。
在一个示例性实施例中,上述数据请求设备可以但不限于通过以下方式对第三存储空间和第四存储空间进行数据同步:在所述第四存储空间中存储了被执行所述写数据操作的数据的情况下,获取所述第二传输协议的第二协议信息,其中,所述第二协议信息用于指示所述第三存储空间和所述第四存储空间之间的数据同步情况;根据所述第二协议信息对第三存储空间和第四存储空间进行数据同步。
在一个示例性实施例中,上述数据响应设备可以但不限于还用于:接收数据请求设备发送的第一传输协议的数据传输请求,其中,所述数据传输请求用于指示待对数据响应设备的第一存储空间的数据执行传输操作,所述数据响应设备上还部署了第二存储空间,所述第二存储空间用于存储所述第一存储空间中的部分数据;响应所述数据传输请求,根据所述数据响应设备上的第二传输协议的第一协议信息对所述第二存储空间和所述第一存储空间进行数据同步,其中,所述第二传输协议是用于保持所述第二存储空间和所述第一存储空间的数据同步的协议,所述第一协议信息用于指示所述第二存储空间和所述第一存储空间之间的数据同步情况;对所述第一存储空间执行所述传输操作。
在一个示例性实施例中,上述数据响应设备可以但不限于通过以下方式根据所述数据响应设备上的第二传输协议的第一协议信息对所述第二存储空间和所述第一存储空间进行数据同步:在所述第二存储空间中存储了所述数据传输请求所指示的待执行传输操作的存储位置的目标数据的情况下,从所述数据响应设备上所记录的所述第二传输协议的存储状态中查询所述目标数据的目标存储状态,其中,所述第一协议信息包括所述存储状态,所述存储状态用于指示所述第二存储空间中存储的数据的同步状态;在所述目标存储状态为目标状态的情况下,将所述目标数据同步至所述第一存储空间,其中,所述目标状态用于指示所述目标数据存在修改但未同步。
在一个示例性实施例中,上述数据响应设备可以但不限于通过以下方式从所述数据响应设备上所记录的所述第二传输协议的存储状态中查询所述目标数据的目标存储状态:向所述数据响应设备请求调用所述第二传输协议的第一协议信息;在所述数据响应设备允许调用所述第二传输协议的第一协议信息的情况下,从所述第二传输协议的第一协议信息中查询所述目标数据的目标存储状态。
在一个示例性实施例中,上述数据响应设备可以但不限于通过以下方式将所述目标数据同步至所述第一存储空间:对所述第二存储空间中的所述目标数据触发所述第二传输协议的同步操作;在所述目标数据已同步至所述第一存储空间的情况下,将所述目标状态转换为非目标状态,其中,所述非目标状态用于指示所述目标数据已同步。
在一个示例性实施例中,上述数据响应设备可以但不限于通过以下方式从所述数据响应设备上所记录的所述第二传输协议的存储状态中查询所述目标数据的目标存储状态:从所述数据响应设备上所记录的计算快速连接协议的缓存状态标签中查询所述目标数据的目标缓存状态标签,其中,所述第二传输协议包括所述计算快速连接协议,所述存储状态包括所述缓存状态标签,所述第一存储空间是所述数据响应设备上的内存空间,所述第二存储空间是所述数据响应设备上的缓存空间;在所述目标存储状态为目标状态的情况下,可以但不限于通过以下方式将所述目标数据同步至所述第一存储空间:在所述目标缓存状态标签为已修改标签的情况下,对所述缓存空间中的所述目标数据触发所述计算快速连接协议的缓存一致性操作。
在一个示例性实施例中,上述数据响应设备可以但不限于通过以下方式根据所述数据响应设备上的第二传输协议的第一协议信息对所述第二存储空间和所述第一存储空间进行数据同步:检测所述数据响应设备所支持的传输协议;从所述数据响应设备所支持的传输协议中选取功能符合所述第一存储空间和所述第二存储空间的存储类型的所述第二传输协议;根据所述第二传输协议的第一协议信息对所述第二存储空间和所述第一存储空间进行数据同步。
在一个示例性实施例中,上述数据响应设备可以但不限于通过以下方式根据所述数据响应设备上的第二传输协议的第一协议信息对所述第二存储空间和所述第一存储空间进行数据同步:根据所述数据响应设备上的第二传输协议的第一协议信息对所述数据响应设备进行数据同步,并对所述数据响应设备通过所述第二传输协议所连接的协议设备进行数据同步。
在一个示例性实施例中,上述数据响应设备可以但不限于通过以下方式根据所述数据响应设备上的第二传输协议的第一协议信息对所述数据响应设备进行数据同步,并对所述数据响应设备通过所述第二传输协议所连接的协议设备进行数据同步:根据所述数据响应设备上的计算快速连接协议的第一协议信息对所述数据响应设备进行数据同步,并对所述数据响应设备通过所述计算快速连接协议所连接的计算快速连接设备进行数据同步。
在一个示例性实施例中,上述数据响应设备可以但不限于通过以下方式接收数据请求设备发送的第一传输协议的数据传输请求:接收所述数据请求设备发送的所述第一传输协议的第一请求,其中,所述第一请求用于指示所述数据响应设备对所述第一存储空间中目标位置的数据进行数据同步,所述数据传输请求包括所述第一请求。
在一个示例性实施例中,上述数据响应设备可以但不限于通过以下方式对所述第一存储空间执行所述传输操作:接收所述数据请求设备发送的所述第一传输协议的第二请求,其中,所述第二请求用于请求对所述第一存储空间中所述目标位置的数据执行所述传输操作;响应所述第二请求,对所述第一存储空间中所述目标位置的数据执行所述传输操作。
在本实施例中还提供了一种数据的传输装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图9是根据本申请实施例的数据的传输装置的结构框图一,如图9所示,该装置包括:
第一接收模块902,用于接收数据请求设备发送的第一传输协议的数据传输请求,其中,所述数据传输请求用于指示待对数据响应设备的第一存储空间的数据执行传输操作,所述数据响应设备上还部署了第二存储空间,所述第二存储空间用于存储所述第一存储空间中的部分数据;
第一同步模块904,用于响应所述数据传输请求,根据所述数据响应设备上的第二传输协议的第一协议信息对所述第二存储空间和所述第一存储空间进行数据同步,其中,所述第二传输协议是用于保持所述第二存储空间和所述第一存储空间的数据同步的协议,所述第一协议信息用于指示所述第二存储空间和所述第一存储空间之间的数据同步情况;
传输模块906,用于对所述第一存储空间执行所述传输操作。
通过上述装置,接收数据请求设备发送的第一传输协议的数据传输请求,其中,数据传输请求用于指示待对数据响应设备的第一存储空间的数据执行传输操作,数据响应设备上还部署了第二存储空间,第二存储空间用于存储第一存储空间中的部分数据;响应数据传输请求,根据数据响应设备上的第二传输协议的第一协议信息对第二存储空间和第一存储空间进行数据同步,其中,第二传输协议是用于保持第二存储空间和第一存储空间的数据同步的协议,第一协议信息用于指示第二存储空间和第一存储空间之间的数据同步情况;对第一存储空间执行传输操作。由于第一协议信息用于获取第二存储空间和第一存储空间之间的数据同步情况,并且第二传输协议用于保持第二存储空间和第一存储空间的数据同步,因此在接收到第一传输协议的数据传输请求的情况下,使用数据响应设备上的第二传输协议的第一协议信息对第二存储空间和第一存储空间进行数据同步,再执行传输操作就能够保证第二存储空间和第一存储空间数据的一致性。因此,可以解决数据传输的效率较低的问题,达到提高数据传输的效率的效果。
在一个示例性实施例中,所述第一同步模块,包括:
查询单元,用于在所述第二存储空间中存储了所述数据传输请求所指示的待执行传输操作的存储位置的目标数据的情况下,从所述数据响应设备上所记录的所述第二传输协议的存储状态中查询所述目标数据的目标存储状态,其中,所述第一协议信息包括所述存储状态,所述存储状态用于指示所述第二存储空间中存储的数据的同步状态;
第一同步单元,用于在所述目标存储状态为目标状态的情况下,将所述目标数据同步至所述第一存储空间,其中,所述目标状态用于指示所述目标数据存在修改但未同步。
在一个示例性实施例中,所述查询单元,还用于:向所述数据响应设备请求调用所述第二传输协议的第一协议信息;在所述数据响应设备允许调用所述第二传输协议的第一协议信息的情况下,从所述第二传输协议的第一协议信息中查询所述目标数据的目标存储状态。
在一个示例性实施例中,所述第一同步单元,还用于:对所述第二存储空间中的所述目标数据触发所述第二传输协议的同步操作;在所述目标数据已同步至所述第一存储空间的情况下,将所述目标状态转换为非目标状态,其中,所述非目标状态用于指示所述目标数据已同步。
在一个示例性实施例中,所述第一同步模块,还用于:所述从所述数据响应设备上所记录的所述第二传输协议的存储状态中查询所述目标数据的目标存储状态,包括:从所述数据响应设备上所记录的计算快速连接协议的缓存状态标签中查询所述目标数据的目标缓存状态标签,其中,所述第二传输协议包括所述计算快速连接协议,所述存储状态包括所述缓存状态标签,所述第一存储空间是所述数据响应设备上的内存空间,所述第二存储空间是所述数据响应设备上的缓存空间;所述在所述目标存储状态为目标状态的情况下,将所述目标数据同步至所述第一存储空间,包括:在所述目标缓存状态标签为已修改标签的情况下,对所述缓存空间中的所述目标数据触发所述计算快速连接协议的缓存一致性操作。
在一个示例性实施例中,所述第一同步模块,包括:
检测单元,用于检测所述数据响应设备所支持的传输协议;
选取单元,用于从所述数据响应设备所支持的传输协议中选取功能符合所述第一存储空间和所述第二存储空间的存储类型的所述第二传输协议;
第二同步单元,用于根据所述第二传输协议的第一协议信息对所述第二存储空间和所述第一存储空间进行数据同步。
在一个示例性实施例中,所述第一同步模块,包括:
第三同步单元,用于根据所述数据响应设备上的第二传输协议的第一协议信息对所述数据响应设备进行数据同步,并对所述数据响应设备通过所述第二传输协议所连接的协议设备进行数据同步。
在一个示例性实施例中,所述第三同步单元,还用于:根据所述数据响应设备上的计算快速连接协议的第一协议信息对所述数据响应设备进行数据同步,并对所述数据响应设备通过所述计算快速连接协议所连接的计算快速连接设备进行数据同步。
在一个示例性实施例中,所述第一接收模块,包括:
第一接收单元,用于接收所述数据请求设备发送的所述第一传输协议的第一请求,其中,所述第一请求用于指示所述数据响应设备对所述第一存储空间中目标位置的数据进行数据同步,所述数据传输请求包括所述第一请求。
在一个示例性实施例中,所述传输模块,包括:
第二接收单元,用于接收所述数据请求设备发送的所述第一传输协议的第二请求,其中,所述第二请求用于请求对所述第一存储空间中所述目标位置的数据执行所述传输操作;
传输单元,用于响应所述第二请求,对所述第一存储空间中所述目标位置的数据执行所述传输操作。
在本实施例中还提供了一种数据的传输装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。图10是根据本申请实施例的数据的传输装置的结构框图二,如图10所示,该装置包括:
发送模块1002,用于向数据响应设备发送第一传输协议的数据传输请求,其中,所述数据传输请求用于指示待对数据响应设备的第一存储空间的数据执行传输操作,所述数据响应设备上还部署了第二存储空间,所述第二存储空间用于存储所述第一存储空间中的部分数据,所述数据响应设备用于响应所述数据传输请求,根据所述数据响应设备上的第二传输协议的第一协议信息对所述第二存储空间和所述第一存储空间进行数据同步后对所述第一存储空间执行所述传输操作,所述第二传输协议是用于保持所述第二存储空间和所述第一存储空间的数据同步的协议,所述第一协议信息用于指示所述第二存储空间和所述第一存储空间之间的数据同步情况;
第二接收模块1004,用于接收所述数据响应设备对所述第一存储空间执行所述传输操作后返回的信息。
通过上述装置,接收数据请求设备发送的第一传输协议的数据传输请求,其中,数据传输请求用于指示待对数据响应设备的第一存储空间的数据执行传输操作,数据响应设备上还部署了第二存储空间,第二存储空间用于存储第一存储空间中的部分数据;响应数据传输请求,根据数据响应设备上的第二传输协议的第一协议信息对第二存储空间和第一存储空间进行数据同步,其中,第二传输协议是用于保持第二存储空间和第一存储空间的数据同步的协议,第一协议信息用于指示第二存储空间和第一存储空间之间的数据同步情况;对第一存储空间执行传输操作。由于第一协议信息用于获取第二存储空间和第一存储空间之间的数据同步情况,并且第二传输协议用于保持第二存储空间和第一存储空间的数据同步,因此在接收到第一传输协议的数据传输请求的情况下,使用数据响应设备上的第二传输协议的第一协议信息对第二存储空间和第一存储空间进行数据同步,再执行传输操作就能够保证第二存储空间和第一存储空间数据的一致性。因此,可以解决数据传输的效率较低的问题,达到提高数据传输的效率的效果。
在一个示例性实施例中,所述发送模块,包括:
第一发送单元,用于向所述数据响应设备发送所述第一传输协议的第一请求,其中,所述第一请求用于指示所述数据响应设备对所述第一存储空间中目标位置的数据进行数据同步,所述数据传输请求包括所述第一请求。
在一个示例性实施例中,所述第一发送单元,还用于:创建携带了所述目标位置的所述第一请求;通过与所述数据响应设备之间连接的所述第一传输协议的总线向所述数据响应设备发送所述第一请求。
在一个示例性实施例中,所述第一发送单元,还用于:通过与所述数据响应设备之间连接的所述第一传输协议的总线向所述数据响应设备以及所述数据响应设备通过所述第二传输协议所连接的协议设备广播所述第一请求,其中,所述数据响应设备以及所述协议设备均用于响应所述第一请求对所述目标位置的数据进行数据同步。
在一个示例性实施例中,所述第二接收模块,包括:
第二发送单元,用于向所述数据响应设备发送所述第一传输协议的第二请求,其中,所述第二请求用于请求对所述第一存储空间中目标位置的数据执行所述传输操作;
第三接收单元,用于接收所述数据响应设备响应所述第二请求返回的信息。
在一个示例性实施例中,所述装置还包括:
第二同步模块,用于在所述传输操作包括写数据操作的情况下,对第三存储空间和第四存储空间进行数据同步,其中,所述第三存储空间是存储了被执行所述写数据操作的数据的存储空间,所述第四存储空间用于存储所述第三存储空间中的部分数据。
在一个示例性实施例中,所述第二同步模块,包括:
获取单元,用于在所述第四存储空间中存储了被执行所述写数据操作的数据的情况下,获取所述第二传输协议的第二协议信息,其中,所述第二协议信息用于指示所述第三存储空间和所述第四存储空间之间的数据同步情况;
第四同步单元,用于根据所述第二协议信息对第三存储空间和第四存储空间进行数据同步。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的实施例还提供了一种电子设备,图11是根据本申请实施例的电子设备的结构框图,如图11所示,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (21)
1.一种数据的传输方法,其特征在于,
包括:
接收数据请求设备发送的第一传输协议的数据传输请求,其中,所述数据传输请求用于指示待对数据响应设备的第一存储空间的数据执行传输操作,所述数据响应设备上还部署了第二存储空间,所述第二存储空间用于存储所述第一存储空间中的部分数据;
响应所述数据传输请求,根据所述数据响应设备上的第二传输协议的第一协议信息对所述第二存储空间和所述第一存储空间进行数据同步,其中,所述第二传输协议是用于保持所述第二存储空间和所述第一存储空间的数据同步的协议,所述第一协议信息用于指示所述第二存储空间和所述第一存储空间之间的数据同步情况;
对所述第一存储空间执行所述传输操作;
其中,所述根据所述数据响应设备上的第二传输协议的第一协议信息对所述第二存储空间和所述第一存储空间进行数据同步,包括:在所述第二存储空间中存储了所述数据传输请求所指示的待执行传输操作的存储位置的目标数据的情况下,从所述数据响应设备上所记录的所述第二传输协议的存储状态中查询所述目标数据的目标存储状态,其中,所述第一协议信息包括所述存储状态,所述存储状态用于指示所述第二存储空间中存储的数据的同步状态;在所述目标存储状态为目标状态的情况下,将所述目标数据同步至所述第一存储空间,其中,所述目标状态用于指示所述目标数据存在修改但未同步。
2.根据权利要求1所述的方法,其特征在于,
所述从所述数据响应设备上所记录的所述第二传输协议的存储状态中查询所述目标数据的目标存储状态,包括:
向所述数据响应设备请求调用所述第二传输协议的第一协议信息;
在所述数据响应设备允许调用所述第二传输协议的第一协议信息的情况下,从所述第二传输协议的第一协议信息中查询所述目标数据的目标存储状态。
3.根据权利要求1所述的方法,其特征在于,
所述将所述目标数据同步至所述第一存储空间,包括:
对所述第二存储空间中的所述目标数据触发所述第二传输协议的同步操作;
在所述目标数据已同步至所述第一存储空间的情况下,将所述目标状态转换为非目标状态,其中,所述非目标状态用于指示所述目标数据已同步。
4.根据权利要求1所述的方法,其特征在于,
所述从所述数据响应设备上所记录的所述第二传输协议的存储状态中查询所述目标数据的目标存储状态,包括:从所述数据响应设备上所记录的计算快速连接协议的缓存状态标签中查询所述目标数据的目标缓存状态标签,其中,所述第二传输协议包括所述计算快速连接协议,所述存储状态包括所述缓存状态标签,所述第一存储空间是所述数据响应设备上的内存空间,所述第二存储空间是所述数据响应设备上的缓存空间;
所述在所述目标存储状态为目标状态的情况下,将所述目标数据同步至所述第一存储空间,包括:在所述目标缓存状态标签为已修改标签的情况下,对所述缓存空间中的所述目标数据触发所述计算快速连接协议的缓存一致性操作。
5.根据权利要求1所述的方法,其特征在于,
所述根据所述数据响应设备上的第二传输协议的第一协议信息对所述第二存储空间和所述第一存储空间进行数据同步,包括:
检测所述数据响应设备所支持的传输协议;
从所述数据响应设备所支持的传输协议中选取功能符合所述第一存储空间和所述第二存储空间的存储类型的所述第二传输协议;
根据所述第二传输协议的第一协议信息对所述第二存储空间和所述第一存储空间进行数据同步。
6.根据权利要求1所述的方法,其特征在于,
所述根据所述数据响应设备上的第二传输协议的第一协议信息对所述第二存储空间和所述第一存储空间进行数据同步,包括:
根据所述数据响应设备上的第二传输协议的第一协议信息对所述数据响应设备进行数据同步,并对所述数据响应设备通过所述第二传输协议所连接的协议设备进行数据同步。
7.根据权利要求6所述的方法,其特征在于,
所述根据所述数据响应设备上的第二传输协议的第一协议信息对所述数据响应设备进行数据同步,并对所述数据响应设备通过所述第二传输协议所连接的协议设备进行数据同步,包括:
根据所述数据响应设备上的计算快速连接协议的第一协议信息对所述数据响应设备进行数据同步,并对所述数据响应设备通过所述计算快速连接协议所连接的计算快速连接设备进行数据同步。
8.根据权利要求1所述的方法,其特征在于,
所述接收数据请求设备发送的第一传输协议的数据传输请求,包括:
接收所述数据请求设备发送的所述第一传输协议的第一请求,其中,所述第一请求用于指示所述数据响应设备对所述第一存储空间中目标位置的数据进行数据同步,所述数据传输请求包括所述第一请求。
9.根据权利要求8所述的方法,其特征在于,
所述对所述第一存储空间执行所述传输操作,包括:
接收所述数据请求设备发送的所述第一传输协议的第二请求,其中,所述第二请求用于请求对所述第一存储空间中所述目标位置的数据执行所述传输操作;
响应所述第二请求,对所述第一存储空间中所述目标位置的数据执行所述传输操作。
10.一种数据的传输方法,其特征在于,
包括:
向数据响应设备发送第一传输协议的数据传输请求,其中,所述数据传输请求用于指示待对数据响应设备的第一存储空间的数据执行传输操作,所述数据响应设备上还部署了第二存储空间,所述第二存储空间用于存储所述第一存储空间中的部分数据,所述数据响应设备用于响应所述数据传输请求,根据所述数据响应设备上的第二传输协议的第一协议信息对所述第二存储空间和所述第一存储空间进行数据同步后对所述第一存储空间执行所述传输操作,所述第二传输协议是用于保持所述第二存储空间和所述第一存储空间的数据同步的协议,所述第一协议信息用于指示所述第二存储空间和所述第一存储空间之间的数据同步情况,所述数据响应设备还用于在所述第二存储空间中存储了所述数据传输请求所指示的待执行传输操作的存储位置的目标数据的情况下,从所述数据响应设备上所记录的所述第二传输协议的存储状态中查询所述目标数据的目标存储状态,在所述目标存储状态为目标状态的情况下,将所述目标数据同步至所述第一存储空间,所述第一协议信息包括所述存储状态,所述存储状态用于指示所述第二存储空间中存储的数据的同步状态,所述目标状态用于指示所述目标数据存在修改但未同步;
接收所述数据响应设备对所述第一存储空间执行所述传输操作后返回的信息。
11.根据权利要求10所述的方法,其特征在于,
所述向数据响应设备发送第一传输协议的数据传输请求,包括:
向所述数据响应设备发送所述第一传输协议的第一请求,其中,所述第一请求用于指示所述数据响应设备对所述第一存储空间中目标位置的数据进行数据同步,所述数据传输请求包括所述第一请求。
12.根据权利要求11所述的方法,其特征在于,
所述向所述数据响应设备发送所述第一传输协议的第一请求,包括:
创建携带了所述目标位置的所述第一请求;
通过与所述数据响应设备之间连接的所述第一传输协议的总线向所述数据响应设备发送所述第一请求。
13.根据权利要求12所述的方法,其特征在于,
所述通过与所述数据响应设备之间连接的所述第一传输协议的总线向所述数据响应设备发送所述第一请求,包括:
通过与所述数据响应设备之间连接的所述第一传输协议的总线向所述数据响应设备以及所述数据响应设备通过所述第二传输协议所连接的协议设备广播所述第一请求,其中,所述数据响应设备以及所述协议设备均用于响应所述第一请求对所述目标位置的数据进行数据同步。
14.根据权利要求10所述的方法,其特征在于,
所述接收所述数据响应设备对所述第一存储空间执行所述传输操作后返回的信息,包括:
向所述数据响应设备发送所述第一传输协议的第二请求,其中,所述第二请求用于请求对所述第一存储空间中目标位置的数据执行所述传输操作;
接收所述数据响应设备响应所述第二请求返回的信息。
15.根据权利要求14所述的方法,其特征在于,
在所述向所述数据响应设备发送所述第一传输协议的第二请求之前,所述方法还包括:
在所述传输操作包括写数据操作的情况下,对第三存储空间和第四存储空间进行数据同步,其中,所述第三存储空间是存储了被执行所述写数据操作的数据的存储空间,所述第四存储空间用于存储所述第三存储空间中的部分数据。
16.根据权利要求15所述的方法,其特征在于,
所述对第三存储空间和第四存储空间进行数据同步,包括:
在所述第四存储空间中存储了被执行所述写数据操作的数据的情况下,获取所述第二传输协议的第二协议信息,其中,所述第二协议信息用于指示所述第三存储空间和所述第四存储空间之间的数据同步情况;
根据所述第二协议信息对第三存储空间和第四存储空间进行数据同步。
17.一种数据的传输系统,其特征在于,
包括:数据请求设备和数据响应设备,其中,所述数据响应设备上部署了第一存储空间和第二存储空间,所述数据请求设备和所述数据响应设备均支持第一传输协议,所述数据响应设备还支持第二传输协议,所述第二传输协议是用于保持所述第二存储空间和所述第一存储空间的数据同步的协议,
所述数据请求设备,用于执行所述权利要求10至16任一项中所述的方法的步骤;
所述数据响应设备,用于执行所述权利要求1至9任一项中所述的方法的步骤。
18.一种数据的传输装置,其特征在于,
包括:
第一接收模块,用于接收数据请求设备发送的第一传输协议的数据传输请求,其中,所述数据传输请求用于指示待对数据响应设备的第一存储空间的数据执行传输操作,所述数据响应设备上还部署了第二存储空间,所述第二存储空间用于存储所述第一存储空间中的部分数据;
第一同步模块,用于响应所述数据传输请求,根据所述数据响应设备上的第二传输协议的第一协议信息对所述第二存储空间和所述第一存储空间进行数据同步,其中,所述第二传输协议是用于保持所述第二存储空间和所述第一存储空间的数据同步的协议,所述第一协议信息用于指示所述第二存储空间和所述第一存储空间之间的数据同步情况;
传输模块,用于对所述第一存储空间执行所述传输操作;
其中,所述第一同步模块,包括:查询单元,用于在所述第二存储空间中存储了所述数据传输请求所指示的待执行传输操作的存储位置的目标数据的情况下,从所述数据响应设备上所记录的所述第二传输协议的存储状态中查询所述目标数据的目标存储状态,其中,所述第一协议信息包括所述存储状态,所述存储状态用于指示所述第二存储空间中存储的数据的同步状态;第一同步单元,用于在所述目标存储状态为目标状态的情况下,将所述目标数据同步至所述第一存储空间,其中,所述目标状态用于指示所述目标数据存在修改但未同步。
19.一种数据的传输装置,其特征在于,
包括:
发送模块,用于向数据响应设备发送第一传输协议的数据传输请求,其中,所述数据传输请求用于指示待对数据响应设备的第一存储空间的数据执行传输操作,所述数据响应设备上还部署了第二存储空间,所述第二存储空间用于存储所述第一存储空间中的部分数据,所述数据响应设备用于响应所述数据传输请求,根据所述数据响应设备上的第二传输协议的第一协议信息对所述第二存储空间和所述第一存储空间进行数据同步后对所述第一存储空间执行所述传输操作,所述第二传输协议是用于保持所述第二存储空间和所述第一存储空间的数据同步的协议,所述第一协议信息用于指示所述第二存储空间和所述第一存储空间之间的数据同步情况,所述数据响应设备还用于在所述第二存储空间中存储了所述数据传输请求所指示的待执行传输操作的存储位置的目标数据的情况下,从所述数据响应设备上所记录的所述第二传输协议的存储状态中查询所述目标数据的目标存储状态,在所述目标存储状态为目标状态的情况下,将所述目标数据同步至所述第一存储空间,所述第一协议信息包括所述存储状态,所述存储状态用于指示所述第二存储空间中存储的数据的同步状态,所述目标状态用于指示所述目标数据存在修改但未同步;
第二接收模块,用于接收所述数据响应设备对所述第一存储空间执行所述传输操作后返回的信息。
20.一种计算机可读存储介质,其特征在于,
所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至9任一项中所述的方法的步骤,或者实现权利要求10至16任一项中所述的方法的步骤。
21.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,
所述处理器执行所述计算机程序时实现所述权利要求1至9任一项中所述的方法的步骤,或者实现权利要求10至16任一项中所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311478015.4A CN117201518B (zh) | 2023-11-08 | 2023-11-08 | 数据的传输方法、系统、装置、存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311478015.4A CN117201518B (zh) | 2023-11-08 | 2023-11-08 | 数据的传输方法、系统、装置、存储介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117201518A CN117201518A (zh) | 2023-12-08 |
CN117201518B true CN117201518B (zh) | 2024-02-20 |
Family
ID=88998367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311478015.4A Active CN117201518B (zh) | 2023-11-08 | 2023-11-08 | 数据的传输方法、系统、装置、存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117201518B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112835519A (zh) * | 2021-01-29 | 2021-05-25 | 杭州海康威视数字技术股份有限公司 | 一种数据读取方法、装置、电子设备及存储介质 |
CN113055196A (zh) * | 2019-12-28 | 2021-06-29 | 华为技术有限公司 | 报文处理方法、网络设备及计算机可读存储介质 |
CN115514698A (zh) * | 2021-06-21 | 2022-12-23 | 中兴通讯股份有限公司 | 协议计算方法、交换机、跨设备链路聚合系统及存储介质 |
CN115904809A (zh) * | 2022-11-29 | 2023-04-04 | 联想(北京)有限公司 | 一种数据恢复方法及电子设备 |
CN116701526A (zh) * | 2022-12-05 | 2023-09-05 | 荣耀终端有限公司 | 数据同步的方法及电子设备 |
-
2023
- 2023-11-08 CN CN202311478015.4A patent/CN117201518B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113055196A (zh) * | 2019-12-28 | 2021-06-29 | 华为技术有限公司 | 报文处理方法、网络设备及计算机可读存储介质 |
CN112835519A (zh) * | 2021-01-29 | 2021-05-25 | 杭州海康威视数字技术股份有限公司 | 一种数据读取方法、装置、电子设备及存储介质 |
CN115514698A (zh) * | 2021-06-21 | 2022-12-23 | 中兴通讯股份有限公司 | 协议计算方法、交换机、跨设备链路聚合系统及存储介质 |
CN115904809A (zh) * | 2022-11-29 | 2023-04-04 | 联想(北京)有限公司 | 一种数据恢复方法及电子设备 |
CN116701526A (zh) * | 2022-12-05 | 2023-09-05 | 荣耀终端有限公司 | 数据同步的方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN117201518A (zh) | 2023-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101412173B1 (ko) | 다중―프로세서 시스템에서 1차 프로세서로부터 하나 이상의 2차 프로세서로의 실행 가능 소프트웨어 이미지의 직접적인 분산 로딩 | |
US11853767B2 (en) | Inter-core data processing method, system on chip and electronic device | |
CN111190854B (zh) | 通信数据处理方法、装置、设备、系统和存储介质 | |
CN111615692A (zh) | 数据搬运方法、计算处理装置、设备及存储介质 | |
JP5505516B2 (ja) | 情報処理システムおよび情報送信方法 | |
CN110046050B (zh) | 一种核间数据传输的装置和方法 | |
WO2013154541A1 (en) | Remote direct memory access with reduced latency | |
US20080047005A1 (en) | Access monitoring method and device for shared memory | |
CN108139955A (zh) | 用于在计算设备中提供独立于操作系统的错误控制的系统和方法 | |
CN114706531A (zh) | 数据处理方法、装置、芯片、设备及介质 | |
CN107741965B (zh) | 数据库同步处理方法、装置、计算设备及计算机存储介质 | |
KR102303424B1 (ko) | 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치 | |
CN117201518B (zh) | 数据的传输方法、系统、装置、存储介质和电子设备 | |
WO2013154540A1 (en) | Continuous information transfer with reduced latency | |
CN110597643B (zh) | 核间通信方法、处理器以及电子设备 | |
CN109889456B (zh) | 一种数据传输方法、装置、设备、系统和存储介质 | |
US8909873B2 (en) | Traffic control method and apparatus of multiprocessor system | |
CN116402673A (zh) | 数据处理方法、系统、计算设备和存储介质 | |
CN116483259A (zh) | 一种数据处理方法以及相关装置 | |
CN112764897B (zh) | 任务请求的处理方法、装置、系统及计算机可读存储介质 | |
KR20230082484A (ko) | 전자 장치의 동작 방법 | |
KR20080109591A (ko) | 전자장치 및 그 데이터 송수신방법과, 슬레이브 장치 및복수의 장치 간의 통신방법 | |
CN115878351B (zh) | 消息的传输方法及装置、存储介质及电子装置 | |
JP7363344B2 (ja) | メモリ制御装置、および制御方法 | |
CN116389357B (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 |