CN116450058A - 数据转存方法、装置、异构平台、设备及介质 - Google Patents
数据转存方法、装置、异构平台、设备及介质 Download PDFInfo
- Publication number
- CN116450058A CN116450058A CN202310721744.1A CN202310721744A CN116450058A CN 116450058 A CN116450058 A CN 116450058A CN 202310721744 A CN202310721744 A CN 202310721744A CN 116450058 A CN116450058 A CN 116450058A
- Authority
- CN
- China
- Prior art keywords
- data
- network file
- file system
- protocol
- chip
- 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
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000012546 transfer Methods 0.000 title claims abstract description 60
- 238000004806 packaging method and process Methods 0.000 claims description 57
- 238000012545 processing Methods 0.000 claims description 40
- 230000003287 optical effect Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012216 screening Methods 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 description 17
- 238000004891 communication Methods 0.000 description 6
- 238000007405 data analysis Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012856 packing Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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
-
- 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
-
- 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- 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)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了数据转存方法、装置、异构平台、设备及介质,应用于存储技术领域,包括:将待转存数据存储至自身所挂载的存储器中;将所述待转存数据的数据信息上传至片上系统,以便所述片上系统基于所述数据信息并利用网络文件系统协议进行打包,得到网络文件系统协议包;获取所述片上系统返回的网络文件系统协议包,并将所述待转存数据添加至所述网络文件系统协议包,得到目标数据包;将所述目标数据包发送至相应的存储服务器。本发明要解决的问题为现有数据转存方案大量消耗时间和CPU资源的问题。本发明所提偶感的方案避免了数据在CPU中的批量复制操作,能够提升数据转存的效率,降低CPU资源的消耗以及硬件成本。
Description
技术领域
本发明涉及存储技术领域,特别涉及数据转存方法、装置、异构平台、设备及介质。
背景技术
在工业和测控场景中,一般会有大规模的原始数据需要存储到分布式服务器中。这些原始数据一般有私有协议,而分布式存储服务器通常使用NFS(即Network FileSystem,网络文件系统)协议,产生原始数据的设备不能够直接将数据存储到分布式存储服务器。
目前,通常的做法是使用中转设备完成数据中转。中转设备包括FPGA(即FieldProgrammable Gate Array,现场可编程逻辑门阵列)设备、中转服务器和网卡,其中,中转服务器的应用程序需要将数据读到服务器中,然后通过文件编程写入挂载目录中。期间伴随大量的数据复制、系统协议栈调用等处理。这些处理往往需要大量消耗时间和CPU(即Central Processing Unit,中央处理器)资源。
发明内容
有鉴于此,本发明的目的在于提供数据转存方法、装置、异构平台、设备及介质,能够提升数据转存的效率,降低CPU资源的消耗以及硬件成本。其具体方案如下:
第一方面,本发明公开了一种数据转存方法,应用于可编程逻辑器件,包括:
将待转存数据存储至自身所挂载的存储器中;
将所述待转存数据的数据信息上传至片上系统,以便所述片上系统基于所述数据信息并利用网络文件系统协议进行打包,得到网络文件系统协议包;
获取所述片上系统返回的网络文件系统协议包,并将所述待转存数据添加至所述网络文件系统协议包,得到目标数据包;
将所述目标数据包发送至相应的存储服务器。
可选的,所述将所述待转存数据添加至所述网络文件系统协议包,得到目标数据包,包括:
将所述网络文件系统协议包中的所述数据信息替换为所述待转存数据,得到目标数据包。
可选的,所述将所述待转存数据的数据信息上传至片上系统,包括:
检测所述存储器中的所述待转存数据的数据量;
当所述数据量达到预设阈值,则将所述待转存数据的数据信息上传至片上系统。
可选的,所述将所述待转存数据的数据信息上传至片上系统,包括:
将所述待转存数据在所述存储器中的存储地址以及数据长度上传至片上系统,以便所述片上系统基于所述存储地址以及所述数据长度并利用网络文件系统协议进行打包,得到网络文件系统协议包。
可选的,所述片上系统在打包时所使用的地址为预先申请的内存中的地址,并从该地址填入所述数据信息。
可选的,所述预先申请的内存的地址长度与所述存储器的地址长度一致。
可选的,所述片上系统在打包时所使用的地址为与所述存储地址对应的地址。
可选的,所述片上系统在用户态基于所述数据信息并利用网络文件系统协议进行打包。
可选的,所述片上系统在用户态利用多个线程并行为多个存储服务器,基于相应的数据信息并利用网络文件系统协议进行打包。
可选的,所述将待转存数据存储至自身所挂载的存储器中,包括:
基于原始数据对应的目标协议将所述原始数据解析,得到待转存数据;
将待转存数据存储至自身所挂载的存储器中。
可选的,所述基于原始数据对应的目标协议将所述原始数据解析,得到待转存数据,包括:
识别原始数据对应的目标协议;
从多个预设协议处理逻辑中筛选所述目标协议对应的预设协议处理逻辑;
基于筛选出的预设协议处理逻辑将所述原始数据解析,得到待转存数据。
可选的,所述将所述待转存数据的数据信息上传至片上系统,包括:
利用用户数据报协议将所述待转存数据的数据信息打包,得到数据信息包;
将所述数据信息包上传至片上系统。
可选的,所述将所述目标数据包发送至相应的存储服务器,包括:
通过光口将所述目标数据包发送至相应的存储服务器。
第二方面,本发明公开了一种数据转存方法,应用于片上系统,包括:
获取可编程逻辑器件上传的待转存数据的数据信息;其中,所述待转存数据存储于所述可编程逻辑器件所挂载的存储器中;
基于所述数据信息并利用网络文件系统协议进行打包,得到网络文件系统协议包;
将所述网络文件系统协议包返回至所述可编程逻辑器件,以便所述可编程逻辑器件将所述待转存数据添加至所述网络文件系统协议包,得到目标数据包,并将所述目标数据包发送至相应的存储服务器。
可选的,还包括:
申请内存,所述内存的地址长度与所述存储器的地址长度一致。
可选的,所述基于所述数据信息并利用网络文件系统协议进行打包,得到网络文件系统协议包,包括:
使用所述内存中的地址,基于所述数据信息并利用网络文件系统协议进行打包,得到网络文件系统协议包。
可选的,所述基于所述数据信息并利用网络文件系统协议进行打包,得到网络文件系统协议包,包括:
在用户态基于所述数据信息并利用网络文件系统协议进行打包,得到网络文件系统协议包。
第三方面,本发明公开了一种数据转存装置,应用于可编程逻辑器件,包括:
数据暂存模块,用于将待转存数据存储至自身所挂载的存储器中;
信息上传模块,用于将所述待转存数据的数据信息上传至片上系统,以便所述片上系统基于所述数据信息并利用网络文件系统协议进行打包,得到网络文件系统协议包;
协议包获取模块,用于获取所述片上系统返回的网络文件系统协议包;
数据包获取模块,用于将所述待转存数据添加至所述网络文件系统协议包,得到目标数据包;
数据包发送模块,用于将所述目标数据包发送至相应的存储服务器。
可选的,数据包获取模块,具体用于将所述网络文件系统协议包中的所述数据信息替换为所述待转存数据,得到目标数据包。
可选的,信息上传模块,具体包括:
数据量检测子模块,用于检测所述存储器中的所述待转存数据的数据量;
数据信息上传子模块,用于当数据量检测子模块检测到所述数据量达到预设阈值,则将所述待转存数据的数据信息上传至片上系统。
可选的,信息上传模块,具体用于将所述待转存数据在所述存储器中的存储地址以及数据长度上传至片上系统,以便所述片上系统基于所述存储地址以及所述数据长度并利用网络文件系统协议进行打包,得到网络文件系统协议包。
可选的,数据暂存模块,具体包括:
数据解析子模块,用于基于原始数据对应的目标协议将所述原始数据解析,得到待转存数据;
数据存储子模块,用于将待转存数据存储至自身所挂载的存储器中。
可选的,数据解析子模块,具体包括:
协议识别单元,用于识别原始数据对应的目标协议;
处理逻辑筛选单元,用于从多个预设协议处理逻辑中筛选所述目标协议对应的预设协议处理逻辑;
数据解析单元,用于基于筛选出的预设协议处理逻辑将所述原始数据解析,得到待转存数据。
可选的,信息上传模块,具体包括:
数据信息打包子模块,用于利用用户数据报协议将所述待转存数据的数据信息打包,得到数据信息包;
数据信息包上传子模块,用于将所述数据信息包上传至片上系统。
可选的,数据包发送模块,具体用于通过光口将所述目标数据包发送至相应的存储服务器。
第四方面,本发明公开了一种数据转存装置,应用于片上系统,包括:
数据信息获取模块,用于获取可编程逻辑器件上传的待转存数据的数据信息;其中,所述待转存数据存储于所述可编程逻辑器件所挂载的存储器中;
数据信息打包模块,用于基于所述数据信息并利用网络文件系统协议进行打包,得到网络文件系统协议包;
协议包返回模块,用于将所述网络文件系统协议包返回至所述可编程逻辑器件,以便所述可编程逻辑器件将所述待转存数据添加至所述网络文件系统协议包,得到目标数据包,并将所述目标数据包发送至相应的存储服务器。
可选的,所述装置还用于申请内存,所述内存的地址长度与所述存储器的地址长度一致。
相应的,所述数据信息打包模块,具体用于:使用所述内存中的地址,基于所述数据信息并利用网络文件系统协议进行打包,得到网络文件系统协议包。
可选的,数据信息打包模块,用于在用户态基于所述数据信息并利用网络文件系统协议进行打包,得到网络文件系统协议包。
可选的,数据信息打包模块,具体用于在用户态利用多个线程并行为多个存储服务器,基于相应的数据信息并利用网络文件系统协议进行打包。
第五方面,一种异构平台,包括可编程逻辑器件和片上系统,其中,所述可编程逻辑器件用于执行前述第一方面所述的数据转存方法,所述片上系统用于执行前述第二方面所述的数据转存方法。
第六方面,本发明公开了一种电子设备,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现前述的数据转存方法。
第七方面,本发明公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述的数据转存方法。
可见,本发明将待转存数据存储至自身所挂载的存储器中,然后将所述待转存数据的数据信息上传至片上系统,以便所述片上系统基于所述数据信息并利用网络文件系统协议进行打包,得到网络文件系统协议包,之后获取所述片上系统返回的网络文件系统协议包,并将所述待转存数据添加至所述网络文件系统协议包,得到目标数据包,最后将所述目标数据包发送至相应的存储服务器。也即,本发明将待转存数据临时存储在自身所挂载的存储器中,向片上系统上传的是待转存数据的数据信息而非数据本身,由片上系统基于数据信息并利用网络文件系统进行打包,并返回网络文件系统协议包,然后可编程逻辑器件将待转存数据添加至网络文件系统协议包并发送至存储服务器。
本发明的有益效果在于:避免了数据在CPU中的批量复制操作,能够提升数据转存的效率,降低CPU资源的消耗以及硬件成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为现有技术中的一种数据转存方案流程图;
图2为本发明实施例提供的一种数据转存方法流程图;
图3为本发明实施例提供的一种具体的数据转存方案示意图;
图4为本发明实施例提供的一种具体的FPGA上传数据信息的处理流程图;
图5为本发明实施例提供的一种应用程序NFS打包发送流程图;
图6为本发明实施例提供的一种FPGA信息还原发送流程图;
图7为本发明实施例提供的另一种数据转存方法流程图;
图8为本发明实施例提供的一种数据转存装置示意图;
图9为本发明实施例提供的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在工业和测控场景中,一般会有大规模的原始数据需要存储到分布式服务器中。这些原始数据一般有私有协议,而分布式存储服务器通常使用NFS协议,产生原始数据的设备不能够直接将数据存储到分布式存储服务器。其中,NFS主要功能是通过局域网络让不同的主机系统之间可以共享文件或目录。分布式存储:是一种数据存储技术,通过网络使用企业中的每台机器上的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散的存储在企业的各个角落。
目前,通常的做法是使用中转设备完成数据中转。中转设备包括FPGA设备、中转服务器和网卡(光卡),其中,FPGA设备用于协议解析和数据传递;中转服务器用于通过系统自带的NFS将分布式存储服务器的IP(即Internet Protocol,网际互连协议)地址挂载到本地,并将接收的数据保存到挂载目录;对于网卡(光卡),中转服务器将数据保存的过程也是通过网口向分布式存储服务器存储文件的过程。例如,参见图1所示,图1为现有技术中的一种数据转存方案流程图。但是种方案存在如下弊端:中转服务器的应用程序需要将数据读到服务器中,然后通过文件编程写入挂载目录中。期间伴随大量的数据复制、系统协议栈调用等处理。这些处理往往需要大量消耗时间和CPU资源。并且,当分布式存储服务器使用的是NFS-v3协议时,由于不支持多路径,导致一套中转设备仅能处理一个数据流,不能够有效利用中转服务器向分布式存储服务器进行数据推送时的总带宽。NFS多路径(多通道):可以使用多个IP地址访问单个NFS服务器。分布式存储服务器,一般对外提供多个IP,但是对于不支持多路径的NFS-v3协议,中转服务器到存储服务器之间只有一条路径,不能有效利用中转服务器的带宽。对于支持多路径的NFS-v4.1协议,中转服务器可以使用多个ip并行向分布式存储服务器发送数据。以上因素导致中转设备向分布式存储服务器推送数据的效率低下。为此,本发明提供数据转存方案,避免了数据在CPU中的批量复制操作,能够提升数据转存的效率,降低CPU资源的消耗以及硬件成本。
参见图2所示,本发明实施例公开了一种数据转存方法,应用于可编程逻辑器件,包括:
步骤S11:将待转存数据存储至自身所挂载的存储器中。
在具体的实施方式中,可编程逻辑器件可以为FPGA,存储器可以为DDR,也即DDRSDRAM(Double Data Rate Synchronous Dynamic Random Access Memory,双倍数据率同步动态随机存取存储器)。
其中,本发明实施例可以基于原始数据对应的目标协议将所述原始数据解析,得到待转存数据;将待转存数据存储至自身所挂载的存储器中。具体的,可以识别原始数据对应的目标协议;从多个预设协议处理逻辑中筛选所述目标协议对应的预设协议处理逻辑;基于筛选出的预设协议处理逻辑将所述原始数据解析,得到待转存数据。也即,本发明实施例可以预先实现多种协议的处理逻辑,在获取到原始数据后,基于该原始数据对应的协议进行解析。这样,实现了对原始数据进行各种私有协议的解析和实时处理。
步骤S12:将所述待转存数据的数据信息上传至片上系统,以便所述片上系统基于所述数据信息并利用网络文件系统协议进行打包,得到网络文件系统协议包。
在一种实施方式中,可以利用用户数据报协议将所述待转存数据的数据信息打包,得到数据信息包;将所述数据信息包上传至片上系统。
并且,在具体的实施方式中,本发明实施例可以检测所述存储器中的所述待转存数据的数据量;当所述数据量达到预设阈值,则将所述待转存数据的数据信息上传至片上系统。这样,避免数据量较小时频繁上传数据信息,降低性能。
在具体的实施方式中,可以将所述待转存数据在所述存储器中的存储地址以及数据长度上传至片上系统,以便所述片上系统基于所述存储地址以及所述数据长度并利用网络文件系统协议进行打包,得到网络文件系统协议包。也即,数据信息可以包括待转存数据在所述存储器中的存储地址以及数据长度。并且,片上系统基于TCP(即TransmissionControl Protocol,传输控制协议)协议将网络文件系统协议包返回至可编程逻辑器件。
本发明实施例中,所述片上系统在打包时所使用的地址为预先申请的内存中的地址,并从该地址填入所述数据信息。所述预先申请的内存的地址长度与所述存储器的地址长度一致。所述片上系统在打包时所使用的地址为与所述存储地址对应的地址。也即,在打包时所使用的地址可以与所述存储地址的值一致。其中,预先申请的内存可以大页内存(HugePages),片上系统中的应用程序申请大页内存,地址长度同FPGA中用到的DDR长度保持一致,应用程序申请的内存和FPGA的内存一一对应,这块内存不保存实际业务数据,仅用于数据的虚拟处理,目的是兼容发送时的处理流程,在NFS和TCP协议层面上不需要做更加复杂的处理。
另外,所述片上系统在用户态基于所述数据信息并利用网络文件系统协议进行打包。在具体的实施方式中,所述片上系统在用户态利用多个线程并行为多个存储服务器,基于相应的数据信息并利用网络文件系统协议进行打包。每个存储服务器可以对应一个线程。这样,在用户态利用网络文件系统协议进行打包,避免了从内核态拷贝数据,进一步提升了数据转存效率,并且,在用户态实现的NFS不受系统NFS-v3不支持多路径的问题。可大幅度提升发送带宽的利用率。
步骤S13:获取所述片上系统返回的网络文件系统协议包,并将所述待转存数据添加至所述网络文件系统协议包,得到目标数据包。
在具体的实施方式中,可以基于TCP协议解析网络文件系统协议包,获取包中的数据信息,根据数据信息从自身挂载的存储器中读取相应的待转存数据,将所述网络文件系统协议包中的所述数据信息替换为所述待转存数据,得到目标数据包。
步骤S14:将所述目标数据包发送至相应的存储服务器。
通过光口将所述目标数据包发送至相应的存储服务器。其中,相应的存储服务器为目标数据包发送的目的服务器,为分布式集群中的分布式服务器,并且,由片上系统基于预设负载均衡策略确定目标数据包发送的目的服务器。
本发明实施例实现了高速数据的NFS硬件卸载,避免数据在CPU中的批量复制操作,提升处理CPU处理效率和向服务端推送的能力。不需要处理能力很强的CPU,低端的SOC(即System on Chip,片上系统)即可实现,实现形式是异构平台即FPGA+SOC,代替了现有技术中的FPGA+服务器+网卡,节省大量硬件成本。
例如,参见图3所示,图3为本发明实施例公开的一种具体的数据转存方案示意图。具体包括以下步骤:利用FPGA并行、实时处理的特点,对原始数据进行原始协议的解析,根据协议提取需要转存的数据临时存储到FPGA所挂载的DDR中;FPGA将数据信息通过UDP(即User Datagram Protocol,用户数据报协议)打包上传到SOC;数据信息包含高速数据即需要转存的数据所在DDR的地址以及数据长度;应用程序申请大页内存,地址长度同FPGA中用到的DDR长度保持一致,应用程序申请的内存和FPGA的内存一一对应,这块内存不保存实际业务数据,仅用于数据的虚拟处理,目的是兼容发送时的处理流程,在NFS和TCP协议层面上不需要做更加复杂的处理。应用程序需要实现UDP编程、NFS-client和SOCKET(即套接字)程序,分别用于数据信息的接收、虚拟数据的打包和数据发送。当应用程序通过UDP接收到高速数据的数据信息后,对地址和长度信息进行解析。并使用NFS进行打包,打包所用的直接地址是大页内存中对应的地址,直接地址开始填入对应的数据信息。当NFS数据打包完成后通过TCP发回到FPGA。FPGA收到CPU的打包数据后,根据NFS协议,对其中打包信息进行解析和还原,将虚拟数据(即数据信息)替换为FPGA中临时存储的数据;FPGA将替换后的数据通过QSFP(即Quad Small Form-factor Pluggable,四通道小型可插拔)光口发送到分布式存储服务器。
其中,参见图4所示,图4为本发明实施例公开的一种具体的FPGA上传数据信息的处理流程图。FPGA从光口接收原始数据,对原始数据进行协议处理;FPGA将处理后的数据临时保存到FPGA的DDR中;当保存数据达到一定阈值时,生成数据信息并对数据信息进行UDP打包并上传到SOC。
进一步的,参见图5所示,图5为本发明实施例公开的一种应用程序NFS打包发送流程图。SOC中的应用程序申请与FPGA中相对应的大页地址,大小一致;当应用程序收到FPGA上传的数据信息后,在用户态进行NFS打包和发送。服务器会向SOC发送RPC(即RemoteProcedure Call,远程过程调用)请求即打包请求,将打包请求中的地址和长度进行RPC打包,其中,地址和长度为SOC发送至服务器的。RPC最主要的功能就是指定每个NFS功能所对应的端口,并返回给客户端,使客户端可以连接到正确的端口上。
进一步的,参见图6所示,图6为本发明实施例公开的一种FPGA信息还原发送流程图。FPGA收到应用程序发送的打包信息时,结合临时存储的数据进行数据还原处理;FPGA将还原后的TCP帧通过光口发送到分布式存储服务器。具体的,收到SOC发送的TCP数据,对TCP协议进行解析,获取NFS打包内容,从打包内容中提取打包信息,根据打包信息从临时数据找到对应数据,将数据还原到TCP帧中,通过光口发送至分布式存储服务器。
需要指出的是,本发明实施例在软件流程上,FPGA对SOC实现了网口功能,SOC上运行的应用程序可利用网络编程和多线程实现数据信息的灵活处理;FPGA可对高速数据进行各种私有协议的解析和实时处理,并将需要NFS存储的高速数据在FPGA中临时保存,仅上传数据信息。应用程序通过申请与FPGA相应的大页内存,实现对数据信息的虚拟处理;应用程序可以在用户态实现NFS协议的打包,依据FPGA中内存的划分对打包数据信息进行灵活处理,并通过TCP-SOCKET编程的方式将打包信息通过网口发回到FPGA进行还原;FPGA可对NFS协议进行轻量级的解析,可以有效提取打包信息、还原信息并发送到分布式存储服务器在用户态实现的NFS不受系统NFS-v3不支持多路径的问题。可大幅度提升发送带宽的利用率。在硬件上,设计FPGA+SOC的异构平台,利用FPGA高速实时处理的特点和SOC灵活性。这样,通过软硬件协同实现业务数据在NFS转存时的数据零拷贝,FPGA在收到原始数据并进行协议处理后,临时保存数据;符合上传条件时仅上传数据信息;在收到NFS打包数据时,根据打包信息结合临时保存的数据进行还原处理。在SOC中,应用程序申请与FPGA内存相对应的内存地址,在收到FPGA的数据信息时,进行虚拟打包处理,这种处理兼容原有的NFS通信流程,不需要服务端做相关的修改,也不需要FPGA做复杂的还原处理。在软硬件协同下,完成高速数据的零拷贝。避免了用FPGA+服务器+网口实现时的低效率推送和高成本硬件。
也即,本发明实施例通过异构平台减少了数据的传输路径、实现转存数据的零拷贝。数据并不需要应用程序进行分析,应用程序在数据转存中做的工作是对数据进行整体接收以及NFS协议封装,原始数据保留到FPGA设备;应用程序对数据信息进行虚拟打包,并将打包后的数据发回到FPGA;FPGA对打包后的信息解析还原,将之前保留的数据填充到发送数据帧中,并通过光口发送到分布式存储服务器。
参见图7所示,本发明实施例公开了一种数据转存方法,应用于片上系统,包括:
步骤S21:获取可编程逻辑器件上传的待转存数据的数据信息;其中,所述待转存数据存储于所述可编程逻辑器件所挂载的存储器中。
其中,数据信息可以包括待转存数据在所述存储器中的存储地址以及数据长度。可编程逻辑器件可以为FPGA,存储器可以为DDR。
步骤S22:基于所述数据信息并利用网络文件系统协议进行打包,得到网络文件系统协议包;
在具体的实施方式中,可以申请内存,所述内存的地址长度与所述存储器的地址长度一致。使用所述内存中的地址,基于所述数据信息并利用网络文件系统协议进行打包,得到网络文件系统协议包。预先申请的内存可以大页内存,片上系统中的应用程序申请大页内存,地址长度同FPGA中用到的DDR长度保持一致,应用程序申请的内存和FPGA的内存一一对应,这块内存不保存实际业务数据,仅用于数据的虚拟处理,目的是兼容发送时的处理流程,在NFS和TCP协议层面上不需要做更加复杂的处理。
并且,在用户态基于所述数据信息并利用网络文件系统协议进行打包,得到网络文件系统协议包。在具体的实施方式中,所述片上系统在用户态利用多个线程并行为多个存储服务器,基于相应的数据信息并利用网络文件系统协议进行打包。每个存储服务器可以对应一个线程。这样,在用户态利用网络文件系统协议进行打包,避免了从内核态拷贝数据,进一步提升了数据转存效率,并且,在用户态实现的NFS不受系统NFS-v3不支持多路径的问题。可大幅度提升发送带宽的利用率。
步骤S23:将所述网络文件系统协议包返回至所述可编程逻辑器件,以便所述可编程逻辑器件将所述待转存数据添加至所述网络文件系统协议包,得到目标数据包,并将所述目标数据包发送至相应的存储服务器。
在具体的实施方式中,片上系统基于TCP协议将网络文件系统协议包返回至可编程逻辑器件。可编程逻辑器件通过光口将所述目标数据包发送至相应的存储服务器。存储服务器为分布式存储服务器。
可见,本发明实施例获取可编程逻辑器件上传的待转存数据的数据信息;其中,所述待转存数据存储于所述可编程逻辑器件所挂载的存储器中,之后基于所述数据信息并利用网络文件系统协议进行打包,得到网络文件系统协议包,然后将所述网络文件系统协议包返回至所述可编程逻辑器件,以便所述可编程逻辑器件将所述待转存数据添加至所述网络文件系统协议包,得到目标数据包,并将所述目标数据包发送至相应的存储服务器。也即,本发明将待转存数据临时存储在自身所挂载的存储器中,向片上系统上传的是待转存数据的数据信息而非数据本身,由片上系统基于数据信息并利用网络文件系统进行打包,并返回网络文件系统协议包,然后可编程逻辑器件将待转存数据添加至网络文件系统协议包并发送至存储服务器。避免了数据在CPU中的批量复制操作,能够提升数据转存的效率,降低CPU资源的消耗以及硬件成本。
参见图8所示,本发明实施例公开了一种数据转存装置,应用于可编程逻辑器件,包括:
数据暂存模块11,用于将待转存数据存储至自身所挂载的存储器中;
信息上传模块12,用于将所述待转存数据的数据信息上传至片上系统,以便所述片上系统基于所述数据信息并利用网络文件系统协议进行打包,得到网络文件系统协议包;
协议包获取模块13,用于获取所述片上系统返回的网络文件系统协议包;
数据包获取模块14,用于将所述待转存数据添加至所述网络文件系统协议包,得到目标数据包;
数据包发送模块15,用于将所述目标数据包发送至相应的存储服务器。
可见,本发明实施例将待转存数据存储至自身所挂载的存储器中,然后将所述待转存数据的数据信息上传至片上系统,以便所述片上系统基于所述数据信息并利用网络文件系统协议进行打包,得到网络文件系统协议包,之后获取所述片上系统返回的网络文件系统协议包,并将所述待转存数据添加至所述网络文件系统协议包,得到目标数据包,最后将所述目标数据包发送至相应的存储服务器。也即,本发明实施例将待转存数据临时存储在自身所挂载的存储器中,向片上系统上传的是待转存数据的数据信息而非数据本身,由片上系统基于数据信息并利用网络文件系统进行打包,并返回网络文件系统协议包,然后可编程逻辑器件将待转存数据添加至网络文件系统协议包并发送至存储服务器。避免了数据在CPU中的批量复制操作,能够提升数据转存的效率,降低CPU资源的消耗以及硬件成本。
其中,数据包获取模块14,具体用于将所述网络文件系统协议包中的所述数据信息替换为所述待转存数据,得到目标数据包。
信息上传模块12,具体包括:
数据量检测子模块,用于检测所述存储器中的所述待转存数据的数据量;
数据信息上传子模块,用于当数据量检测子模块检测到所述数据量达到预设阈值,则将所述待转存数据的数据信息上传至片上系统。
在具体的实施方式中,信息上传模块12,具体用于将所述待转存数据在所述存储器中的存储地址以及数据长度上传至片上系统,以便所述片上系统基于所述存储地址以及所述数据长度并利用网络文件系统协议进行打包,得到网络文件系统协议包。
其中,所述片上系统在打包时所使用的地址为预先申请的内存中的地址,并从该地址填入所述数据信息。并且,所述预先申请的内存的地址长度与所述存储器的地址长度一致。另外,所述片上系统在打包时所使用的地址为与所述存储地址对应的地址。
并且,所述片上系统在用户态基于所述数据信息并利用网络文件系统协议进行打包。进一步的,在具体的实施方式中,所述片上系统在用户态利用多个线程并行为多个存储服务器,基于相应的数据信息并利用网络文件系统协议进行打包。
在具体的实施方式中,数据暂存模块11,具体包括:
数据解析子模块,用于基于原始数据对应的目标协议将所述原始数据解析,得到待转存数据;
数据存储子模块,用于将待转存数据存储至自身所挂载的存储器中。
数据解析子模块,具体包括:
协议识别单元,用于识别原始数据对应的目标协议;
处理逻辑筛选单元,用于从多个预设协议处理逻辑中筛选所述目标协议对应的预设协议处理逻辑;
数据解析单元,用于基于筛选出的预设协议处理逻辑将所述原始数据解析,得到待转存数据。
信息上传模块12,具体包括:
数据信息打包子模块,用于利用用户数据报协议将所述待转存数据的数据信息打包,得到数据信息包;
数据信息包上传子模块,用于将所述数据信息包上传至片上系统。
在具体的实施方式中,数据包发送模块15,具体用于通过光口将所述目标数据包发送至相应的存储服务器。
进一步的,本发明实施例还公开了一种数据转存装置,应用于片上系统,包括:
数据信息获取模块,用于获取可编程逻辑器件上传的待转存数据的数据信息;其中,所述待转存数据存储于所述可编程逻辑器件所挂载的存储器中;
数据信息打包模块,用于基于所述数据信息并利用网络文件系统协议进行打包,得到网络文件系统协议包;
协议包返回模块,用于将所述网络文件系统协议包返回至所述可编程逻辑器件,以便所述可编程逻辑器件将所述待转存数据添加至所述网络文件系统协议包,得到目标数据包,并将所述目标数据包发送至相应的存储服务器。
可见,本发明实施例获取可编程逻辑器件上传的待转存数据的数据信息;其中,所述待转存数据存储于所述可编程逻辑器件所挂载的存储器中,之后基于所述数据信息并利用网络文件系统协议进行打包,得到网络文件系统协议包,然后将所述网络文件系统协议包返回至所述可编程逻辑器件,以便所述可编程逻辑器件将所述待转存数据添加至所述网络文件系统协议包,得到目标数据包,并将所述目标数据包发送至相应的存储服务器。也即,本发明将待转存数据临时存储在自身所挂载的存储器中,向片上系统上传的是待转存数据的数据信息而非数据本身,由片上系统基于数据信息并利用网络文件系统进行打包,并返回网络文件系统协议包,然后可编程逻辑器件将待转存数据添加至网络文件系统协议包并发送至存储服务器。避免了数据在CPU中的批量复制操作,能够提升数据转存的效率,降低CPU资源的消耗以及硬件成本。
在具体的实施方式中,所述装置还可以用于申请内存,所述内存的地址长度与所述存储器的地址长度一致。
相应的,所述数据信息打包模块,具体用于:使用所述内存中的地址,基于所述数据信息并利用网络文件系统协议进行打包,得到网络文件系统协议包。
另外,数据信息打包模块,用于在用户态基于所述数据信息并利用网络文件系统协议进行打包,得到网络文件系统协议包。在一种具体的实施方式中,数据信息打包模块,具体用于在用户态利用多个线程并行为多个存储服务器,基于相应的数据信息并利用网络文件系统协议进行打包。
进一步的,本发明公共了一种异构平台,包括可编程逻辑器件和片上系统,其中,
所述可编程逻辑器件用于将待转存数据存储至自身所挂载的存储器中;将所述待转存数据的数据信息上传至片上系统,以便所述片上系统基于所述数据信息并利用网络文件系统协议进行打包,得到网络文件系统协议包;获取所述片上系统返回的网络文件系统协议包,并将所述待转存数据添加至所述网络文件系统协议包,得到目标数据包;将所述目标数据包发送至相应的存储服务器。
所述片上系统用于获取可编程逻辑器件上传的待转存数据的数据信息;其中,所述待转存数据存储于所述可编程逻辑器件所挂载的存储器中;基于所述数据信息并利用网络文件系统协议进行打包,得到网络文件系统协议包;将所述网络文件系统协议包返回至所述可编程逻辑器件,以便所述可编程逻辑器件将所述待转存数据添加至所述网络文件系统协议包,得到目标数据包,并将所述目标数据包发送至相应的存储服务器。
参见图9所示,本发明实施例公开了一种电子设备20,包括处理器21和存储器22;其中,所述存储器22,用于保存计算机程序;所述处理器21,用于执行所述计算机程序,前述实施例公开的数据转存方法。
关于上述数据转存方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
并且,所述存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,存储方式可以是短暂存储或者永久存储。
另外,所述电子设备20还包括电源23、通信接口24、输入输出接口25和通信总线26;其中,所述电源23用于为所述电子设备20上的各硬件设备提供工作电压;所述通信接口24能够为所述电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本发明技术方案的任意通信协议,在此不对其进行具体限定;所述输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
进一步的,本发明实施例还公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的数据转存方法。
关于上述数据转存方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的数据转存方法、装置、异构平台、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (21)
1.一种数据转存方法,其特征在于,应用于可编程逻辑器件,包括:
将待转存数据存储至自身所挂载的存储器中;
将所述待转存数据的数据信息上传至片上系统,以便所述片上系统基于所述数据信息并利用网络文件系统协议进行打包,得到网络文件系统协议包;
获取所述片上系统返回的网络文件系统协议包,并将所述待转存数据添加至所述网络文件系统协议包,得到目标数据包;
将所述目标数据包发送至相应的存储服务器。
2.根据权利要求1所述的数据转存方法,其特征在于,所述将所述待转存数据添加至所述网络文件系统协议包,得到目标数据包,包括:
将所述网络文件系统协议包中的所述数据信息替换为所述待转存数据,得到目标数据包。
3.根据权利要求1所述的数据转存方法,其特征在于,所述将所述待转存数据的数据信息上传至片上系统,包括:
检测所述存储器中的所述待转存数据的数据量;
当所述数据量达到预设阈值,则将所述待转存数据的数据信息上传至片上系统。
4.根据权利要求1所述的数据转存方法,其特征在于,所述将所述待转存数据的数据信息上传至片上系统,包括:
将所述待转存数据在所述存储器中的存储地址以及数据长度上传至片上系统,以便所述片上系统基于所述存储地址以及所述数据长度并利用网络文件系统协议进行打包,得到网络文件系统协议包。
5.根据权利要求4所述的数据转存方法,其特征在于,所述片上系统在打包时所使用的地址为预先申请的内存中的地址,并从该地址填入所述数据信息。
6.根据权利要求5所述的数据转存方法,其特征在于,所述预先申请的内存的地址长度与所述存储器的地址长度一致。
7.根据权利要求6所述的数据转存方法,其特征在于,所述片上系统在打包时所使用的地址为与所述存储地址对应的地址。
8.根据权利要求1所述的数据转存方法,其特征在于,所述片上系统在用户态基于所述数据信息并利用网络文件系统协议进行打包。
9.根据权利要求1所述的数据转存方法,其特征在于,所述片上系统在用户态利用多个线程并行为多个存储服务器,基于相应的数据信息并利用网络文件系统协议进行打包。
10.根据权利要求1所述的数据转存方法,其特征在于,所述将待转存数据存储至自身所挂载的存储器中,包括:
基于原始数据对应的目标协议将所述原始数据解析,得到待转存数据;
将待转存数据存储至自身所挂载的存储器中。
11.根据权利要求10所述的数据转存方法,其特征在于,所述基于原始数据对应的目标协议将所述原始数据解析,得到待转存数据,包括:
识别原始数据对应的目标协议;
从多个预设协议处理逻辑中筛选所述目标协议对应的预设协议处理逻辑;
基于筛选出的预设协议处理逻辑将所述原始数据解析,得到待转存数据。
12.根据权利要求1所述的数据转存方法,其特征在于,所述将所述待转存数据的数据信息上传至片上系统,包括:
利用用户数据报协议将所述待转存数据的数据信息打包,得到数据信息包;
将所述数据信息包上传至片上系统。
13.根据权利要求1至12任一项所述的数据转存方法,其特征在于,所述将所述目标数据包发送至相应的存储服务器,包括:
通过光口将所述目标数据包发送至相应的存储服务器。
14.一种数据转存方法,其特征在于,应用于片上系统,包括:
获取可编程逻辑器件上传的待转存数据的数据信息;其中,所述待转存数据存储于所述可编程逻辑器件所挂载的存储器中;
基于所述数据信息并利用网络文件系统协议进行打包,得到网络文件系统协议包;
将所述网络文件系统协议包返回至所述可编程逻辑器件,以便所述可编程逻辑器件将所述待转存数据添加至所述网络文件系统协议包,得到目标数据包,并将所述目标数据包发送至相应的存储服务器。
15.根据权利要求14所述的数据转存方法,其特征在于,还包括:
申请内存,所述内存的地址长度与所述存储器的地址长度一致。
16.根据权利要求15所述的数据转存方法,其特征在于,所述基于所述数据信息并利用网络文件系统协议进行打包,得到网络文件系统协议包,包括:
使用所述内存中的地址,基于所述数据信息并利用网络文件系统协议进行打包,得到网络文件系统协议包。
17.根据权利要求14所述的数据转存方法,其特征在于,所述基于所述数据信息并利用网络文件系统协议进行打包,得到网络文件系统协议包,包括:
在用户态基于所述数据信息并利用网络文件系统协议进行打包,得到网络文件系统协议包。
18.一种数据转存装置,其特征在于,应用于可编程逻辑器件,包括:
数据暂存模块,用于将待转存数据存储至自身所挂载的存储器中;
信息上传模块,用于将所述待转存数据的数据信息上传至片上系统,以便所述片上系统基于所述数据信息并利用网络文件系统协议进行打包,得到网络文件系统协议包;
协议包获取模块,用于获取所述片上系统返回的网络文件系统协议包;
数据包获取模块,用于将所述待转存数据添加至所述网络文件系统协议包,得到目标数据包;
数据包发送模块,用于将所述目标数据包发送至相应的存储服务器。
19.一种异构平台,其特征在于,包括可编程逻辑器件和片上系统,其中,所述可编程逻辑器件用于执行如权利要求1至13任一项所述的数据转存方法,所述片上系统用于执行如权利要求14至17任一项所述的数据转存方法。
20.一种电子设备,其特征在于,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现如权利要求1至17任一项所述的数据转存方法。
21.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至17任一项所述的数据转存方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310721744.1A CN116450058B (zh) | 2023-06-19 | 2023-06-19 | 数据转存方法、装置、异构平台、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310721744.1A CN116450058B (zh) | 2023-06-19 | 2023-06-19 | 数据转存方法、装置、异构平台、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116450058A true CN116450058A (zh) | 2023-07-18 |
CN116450058B CN116450058B (zh) | 2023-09-19 |
Family
ID=87136050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310721744.1A Active CN116450058B (zh) | 2023-06-19 | 2023-06-19 | 数据转存方法、装置、异构平台、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116450058B (zh) |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102680886A (zh) * | 2011-03-11 | 2012-09-19 | 清华大学 | 远程逻辑分析系统 |
US20160154820A1 (en) * | 2014-12-01 | 2016-06-02 | Dell Products, Lp | Optimized UEFI File System with Network File System Compound Statements |
CN106357814A (zh) * | 2016-10-27 | 2017-01-25 | 北京华为数字技术有限公司 | 一种文件处理方法、代理服务端及客户端 |
CN108028833A (zh) * | 2015-12-30 | 2018-05-11 | 华为技术有限公司 | 一种nas数据访问的方法、系统及相关设备 |
CN109040207A (zh) * | 2018-07-20 | 2018-12-18 | 广东浪潮大数据研究有限公司 | 一种访问用户态网络文件系统的方法、装置及设备 |
US10296258B1 (en) * | 2018-03-09 | 2019-05-21 | Pure Storage, Inc. | Offloading data storage to a decentralized storage network |
CN111049857A (zh) * | 2019-12-26 | 2020-04-21 | 山东方寸微电子科技有限公司 | 一种基于udp协议的网络存储系统及方法 |
CN111225020A (zh) * | 2019-11-07 | 2020-06-02 | 苏州浪潮智能科技有限公司 | 一种用户态网络文件系统双栈访问方法、装置及设备 |
US20200344329A1 (en) * | 2019-04-25 | 2020-10-29 | Liqid Inc. | Multi-Protocol Communication Fabric Control |
CN112653730A (zh) * | 2020-12-10 | 2021-04-13 | 苏州浪潮智能科技有限公司 | 一种用户态网络文件存储方法和系统 |
US20210303522A1 (en) * | 2020-03-30 | 2021-09-30 | Pure Storage, Inc. | Copying a File System |
CN114089920A (zh) * | 2021-11-25 | 2022-02-25 | 北京字节跳动网络技术有限公司 | 数据存储方法、装置、可读介质及电子设备 |
WO2022105884A1 (zh) * | 2020-11-23 | 2022-05-27 | 中兴通讯股份有限公司 | 数据传输方法、装置、网络设备、存储介质 |
CN115103036A (zh) * | 2022-05-20 | 2022-09-23 | 中国科学院计算技术研究所 | 一种高效的tcp/ip数据报处理方法及系统 |
CN115374078A (zh) * | 2022-08-30 | 2022-11-22 | 北京华云安软件有限公司 | 一种数据存储与读取系统及其工作方法 |
CN116166198A (zh) * | 2023-02-27 | 2023-05-26 | 阿里巴巴(中国)有限公司 | 一种数据传输方法、设备、系统及存储介质 |
-
2023
- 2023-06-19 CN CN202310721744.1A patent/CN116450058B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102680886A (zh) * | 2011-03-11 | 2012-09-19 | 清华大学 | 远程逻辑分析系统 |
US20160154820A1 (en) * | 2014-12-01 | 2016-06-02 | Dell Products, Lp | Optimized UEFI File System with Network File System Compound Statements |
CN108028833A (zh) * | 2015-12-30 | 2018-05-11 | 华为技术有限公司 | 一种nas数据访问的方法、系统及相关设备 |
US20180314433A1 (en) * | 2015-12-30 | 2018-11-01 | Huawei Technologies Co., Ltd. | Method, system, and related device for nas data access |
CN106357814A (zh) * | 2016-10-27 | 2017-01-25 | 北京华为数字技术有限公司 | 一种文件处理方法、代理服务端及客户端 |
US10296258B1 (en) * | 2018-03-09 | 2019-05-21 | Pure Storage, Inc. | Offloading data storage to a decentralized storage network |
CN109040207A (zh) * | 2018-07-20 | 2018-12-18 | 广东浪潮大数据研究有限公司 | 一种访问用户态网络文件系统的方法、装置及设备 |
US20200344329A1 (en) * | 2019-04-25 | 2020-10-29 | Liqid Inc. | Multi-Protocol Communication Fabric Control |
CN111225020A (zh) * | 2019-11-07 | 2020-06-02 | 苏州浪潮智能科技有限公司 | 一种用户态网络文件系统双栈访问方法、装置及设备 |
CN111049857A (zh) * | 2019-12-26 | 2020-04-21 | 山东方寸微电子科技有限公司 | 一种基于udp协议的网络存储系统及方法 |
US20210303522A1 (en) * | 2020-03-30 | 2021-09-30 | Pure Storage, Inc. | Copying a File System |
WO2021202175A1 (en) * | 2020-03-30 | 2021-10-07 | Pure Storage, Inc. | File systems constructed of block objects |
WO2022105884A1 (zh) * | 2020-11-23 | 2022-05-27 | 中兴通讯股份有限公司 | 数据传输方法、装置、网络设备、存储介质 |
CN112653730A (zh) * | 2020-12-10 | 2021-04-13 | 苏州浪潮智能科技有限公司 | 一种用户态网络文件存储方法和系统 |
CN114089920A (zh) * | 2021-11-25 | 2022-02-25 | 北京字节跳动网络技术有限公司 | 数据存储方法、装置、可读介质及电子设备 |
CN115103036A (zh) * | 2022-05-20 | 2022-09-23 | 中国科学院计算技术研究所 | 一种高效的tcp/ip数据报处理方法及系统 |
CN115374078A (zh) * | 2022-08-30 | 2022-11-22 | 北京华云安软件有限公司 | 一种数据存储与读取系统及其工作方法 |
CN116166198A (zh) * | 2023-02-27 | 2023-05-26 | 阿里巴巴(中国)有限公司 | 一种数据传输方法、设备、系统及存储介质 |
Non-Patent Citations (5)
Title |
---|
HAN, WEIHUA: "Improve the Verification Productivity: Some Best Practices from SoC and Processor Projects", 2014 15TH INTERNATIONAL MICROPROCESSOR TEST AND VERIFICATION WORKSHOP (MTV 2014) * |
孙宜进;朱杰;: "基于Linux和SOPC系统的NFS开发平台设计", 信息技术, no. 03 * |
明亮;冯丹;王芳;陈碧砚;: "基于InfiniBand的RPC优化", 计算机工程与科学, no. 07 * |
李胜利;徐力;张明虎;: "基于实时微内核的零拷贝通信协议", 华中科技大学学报(自然科学版), no. 01 * |
赵振廷: "网络硬盘存储系统设计与FPGA实现", 中国优秀硕士学位论文全文数据库 信息科技辑 * |
Also Published As
Publication number | Publication date |
---|---|
CN116450058B (zh) | 2023-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9495308B2 (en) | Offloading of computation for rack level servers and corresponding methods and systems | |
US8090790B2 (en) | Method and system for splicing remote direct memory access (RDMA) transactions in an RDMA-aware system | |
CN104283939A (zh) | 灵活的流卸载 | |
CN112612734A (zh) | 文件传输方法、装置、计算机设备及存储介质 | |
CN114201421B (zh) | 一种数据流处理方法、存储控制节点及可读存储介质 | |
CN109857545B (zh) | 一种数据传输方法及装置 | |
CN109451014B (zh) | 一种WebService代理系统及其透明代理方法 | |
US9740523B2 (en) | Optimizing stream-mode content cache | |
CN113312032B (zh) | 前端项目资源更新方法、装置、电子设备及存储介质 | |
CN105554540A (zh) | 一种网络接口在条件接收卡中的实现方法和装置 | |
CN113301004B (zh) | 数据处理方法、装置、通信方法和单网卡虚拟机 | |
CN106202083A (zh) | 用于web页面的资源打包系统、方法及装置 | |
CN113315706A (zh) | 私有云流量控制方法、设备及系统 | |
CN116382773A (zh) | 一种部署PyFlink任务的方法 | |
US11392402B1 (en) | Coordinated migration of network-accessible services while maintaining service availability in prior environment | |
CN114465770A (zh) | 数据处理方法及相关装置 | |
CN116450058B (zh) | 数据转存方法、装置、异构平台、设备及介质 | |
CN117395307A (zh) | 一种数据传输的方法、装置及存储介质 | |
CN112492055A (zh) | 一种传输协议重定向的方法、装置、设备及可读存储介质 | |
CN117201477A (zh) | 一种基于浏览器的图片资源下载方法及装置 | |
US9075640B1 (en) | Sharing applications in a java virtual machine | |
CN113726723B (zh) | 基于udp的数据传输方法、装置及设备 | |
CN113259229A (zh) | 数据处理方法、装置及网关设备 | |
WO2013162569A1 (en) | Increasing a data transfer rate | |
CN116170406A (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 |