CN111813338A - 一种网络存储设备 - Google Patents
一种网络存储设备 Download PDFInfo
- Publication number
- CN111813338A CN111813338A CN202010617759.XA CN202010617759A CN111813338A CN 111813338 A CN111813338 A CN 111813338A CN 202010617759 A CN202010617759 A CN 202010617759A CN 111813338 A CN111813338 A CN 111813338A
- Authority
- CN
- China
- Prior art keywords
- hard disk
- user
- user data
- programmable device
- network
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/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]
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种网络存储设备,该网络存储设备突破了传统存储设备的存储能力,提高了存储速率,能满足日益增长的存储要求。本申请实施例提供网络存储设备,所述网络存储设备包括可编程器件和多个硬盘,所述多个硬盘均与所述可编程器件连接;所述可编程器件用于从网络中接收至少一个目标用户的用户数据包,并将目标用户的用户数据包存入该目标用户对应的硬盘中,其中,在所述可编程器件同时接收多个目标用户的用户数据包,且多个目标用户分别对应不同硬盘的情况下,所述可编程器件并行地将多个目标用户各自的用户数据包存入多个目标用户各自对应的硬盘。
Description
技术领域
本申请实施例涉及通信技术领域,具体而言,涉及一种网络存储设备。
背景技术
随着云计算、大数据、人工智能等技术的发展、终端用户数量的累积、以及用户需求多样性的提高,为了应对用户请求的高并发和多样性,为用户提供服务的设备需要具备充足的存储能力和网络通信能力。然而目前的存储设备在网络中所能提供的存储能力有限,主要体现在数据读写的速率偏低,不能同时满足大量用户的读写需求,或者不能满足少量用户的大流量读写需求(例如观看超高清视频的需求)。总之,目前的存储设备不能进一步满足日益增长的存储要求。
发明内容
本申请实施例提供一种网络存储设备,该网络存储设备突破了传统存储设备的存储能力,提高了存储速率,能满足日益增长的存储要求。
本申请实施例提供网络存储设备,所述网络存储设备包括可编程器件和多个硬盘,所述多个硬盘均与所述可编程器件连接;
所述可编程器件用于从网络中接收至少一个目标用户的用户数据包,并将目标用户的用户数据包存入该目标用户对应的硬盘中,其中,在所述可编程器件同时接收多个目标用户的用户数据包,且多个目标用户分别对应不同硬盘的情况下,所述可编程器件并行地将多个目标用户各自的用户数据包存入多个目标用户各自对应的硬盘。
采用本申请提供的网络存储设备进行数据存储时,网络存储设备中的可编程器件可以同时从网络中接收多个目标用户各自的用户数据包。由于本申请中的可编程器件具有并行处理能力,且可编程器件与多个硬盘连接,在可编程器件同时接收多个目标用户的用户数据包,且多个目标用户分别对应不同硬盘的情况下,可编程器件能并行地将多个目标用户各自的用户数据包存入多个目标用户各自对应的硬盘。可见,本申请中的网络存储设备能实现对用户数据包的并行存储,具有很高的存储速率,有利于提高整个网络的存储能力和计算能力。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提出的网络存储设备的示意图;
图2是本申请一实施例提出的新型网络拓扑结构示意图;
图3是本申请另一实施例提出的网络存储设备的示意图;
图4是本申请又一实施例提出的网络存储设备的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
随着云计算、大数据、人工智能等技术的发展、终端用户数量的累积、以及用户需求多样性的提高,为了应对用户请求的高并发和多样性,为用户提供服务的云端需要具备充足的存储能力。然而目前的存储设备在网络中所能提供的存储能力有限,主要体现在数据读写的速率偏低,不能同时满足大量用户的读写需求,或者不能满足少量用户的大流量读写需求(例如观看超高清视频的需求)。总之,目前的存储设备不能进一步满足日益增长的存储要求。
为此,本申请通过以下实施例提出基于同一发明构思的至少一种网络存储设备,该网络存储设备突破了传统存储设备的存储速度限制,能满足日益增长的存储要求。
参考图1,图1是本申请一实施例提出的网络存储设备的示意图。如图1所示,该网络存储设备包括可编程器件和多个硬盘。可编程器件用于从网络中接收至少一个目标用户的用户数据包,并将目标用户的用户数据包存入该目标用户对应的硬盘中。其中,在可编程器件同时接收多个目标用户的用户数据包,且多个目标用户分别对应不同硬盘的情况下,可编程器件并行地将多个目标用户各自的用户数据包存入多个目标用户各自对应的硬盘。
其中,可编程器件从网络中接收目标用户的用户数据包是指:该可编程器件通过有线通讯或无线通讯的方式,从其他网络设备处接收目标用户的用户数据包。
具体实现时,可编程器件可选用现场可编程门阵列(Field Programmable GateArray,FPGA)。多个硬盘可全部选用固态硬盘,也可全部选用机械硬盘,也可以部分选用固态硬盘,部分选用机械硬盘。多个硬盘均与FPGA的总线连接,如此,FPGA可以通过其总线将目标用户的用户数据包存入目标用户对应的硬盘。
采用本申请提供的网络存储设备进行数据存储时,网络存储设备中的可编程器件可以同时从网络中接收多个目标用户各自的用户数据包。由于本申请中的可编程器件具有并行处理能力,且可编程器件与多个硬盘连接,在可编程器件同时接收多个目标用户的用户数据包,且多个目标用户分别对应不同硬盘的情况下,可编程器件能并行地将多个目标用户各自的用户数据包存入多个目标用户各自对应的硬盘。可见,本申请中的网络存储设备能实现对用户数据包的并行存储,具有很高的存储速率,有利于提高整个网络的存储能力和计算能力。
为便于理解,假设可编程器件在一段时间内同时从网络中接收用户A、用户B以及用户C各自的用户数据包。其中,用户A、用户B以及用户C分别对应硬盘a、硬盘b以及硬盘c。可编程器件同时将用户A、用户B以及用户C各自的用户数据包分别存入硬盘a、硬盘b以及硬盘c,从而实现用户数据包的并行存储,以显著提升数据存储速率。
本申请中的网络存储设备在具体应用时,可应用于以下的新型网络拓扑结构。参考图2,图2是本申请一实施例提出的新型网络拓扑结构示意图。如图2所示,该新型网络拓扑结构示意图包括:多个网络计算设备(101至106)和多个本申请提出的网络存储设备(201至204),各个设备之间直接或间接相连,使得各个设备之间可以直接或间接地传递数据。多个网络计算设备中的一个或多个作为网络中的管理节点,如图2所示,假设网络计算设备101是网络中的管理节点。
当用户终端(例如手机、个人电脑等)发起文件创建请求后,距离该用户终端最近的网络计算设备105从其存储的用户文件属性表中锁定一个空白的文件索引号,作为待创建的文件的文件索引号。网络计算设备针对该文件索引号填写文件信息,包括文件名和用户信息,使得该文件索引号由空白状态转变为占用状态。需要说明的是,各个计算网络设备中均存储且维护有用户文件属性表,当用户文件属性表在一个网络计算设备中产生变动时,其他网络计算设备中的用户文件属性表将先后进行相应地更新,以使得各个网络计算设备中的用户文件属性表保持一致。
接着,网络中的管理节点根据多个网络存储节点的分布情况,选择一个与用户终端接近的网络存储设备202用于存储待创建的文件。具体地,一方面,管理节点从网络存储设备202中选择一个硬盘(假设选中的硬盘是硬盘202-4),作为上述用户终端对应的硬盘。并且管理节点在为待创建的文件确定出硬盘后,还将硬盘信息录入用户文件属性表,使得文件名、用户信息、硬盘信息三者之间形成绑定关系。另一方面,管理节点还建立一条链接路径,如图2所示,该链接路径为:用户终端-网络计算设备105-网络存储设备202,用户终端可以通过该条链接路径,将其中的用户数据发送给网络存储设备202进行存储。再一方面,管理节点还为该用户终端的此次文件创建请求分配网络资源(即用于传输用户数据的网络资源),网络资源的大小决定了用户数据传输的速率。
此后,用户终端将用户数据切分成多个分段,并将每个分段打包成固定数据长度(例如1KB)的用户数据包,并通过上述链接路径依次将各个数据包发送给网络存储设备202。如此,网络存储设备202的可编程器件从网络中接收用户终端的用户数据包,并将接收的用户数据包存入网络存储设备202上的硬盘202-4。需要说明的是,网络中可能同时存在多个终端设备同时向网络存储设备202存储文件,在这种情况下,网络存储设备202中的可编程器件发挥其并行性能,将多个用户终端各自的用户数据包并行地存入各自对应的硬盘中。
当又一用户终端(例如手机、个人电脑等)发起服务需求,例如视频播放需求。网络中的管理节点将视频播放需求拆分成:片源提供任务、视频解码任务以及视频播放任务。管理节点根据其维护的用户文件属性表,确定存储有片源数据的硬盘(假设存储有片源的硬盘为网络存储设备204上的硬盘204-5)。管理节点还向多个网络计算设备广播第一计算请求,第一计算请求是针对视频解码任务的计算请求。当某一网络计算设备在接收到第一计算请求,且其计算能力满足视频解码任务所要求的目标计算能力,则该网络计算设备将其计算能力信息反馈给管理节点。如此,管理节点可能会接收到多个网络计算设备反馈的能力信息,相当于多个网络计算设备向管理节点请求执行视频解码任务。管理节点可以从多个网络计算设备中选择一个网络计算设备(假设为网络计算设备103)执行视频解码任务,相当于管理节点将视频解码任务分配给该网络计算设备。同样地,管理节点按照同样的方式,从多个网络计算设备中选择一个网络计算设备(假设为网络计算设备102)执行视频播放任务。
如此,管理节点针对用户终端的视频播放需求,建立了一条链接路径,该链接路径为:网络存储设备204-网络计算设备103-网络计算设备102。网络存储设备204上硬盘204-5中的片源数据需要传输至网络计算设备103。
需要说明的是,上述网络拓扑结构是本申请的网络存储设备的一种应用方式,本申请的网络存储设备的具体应用方式不局限于上述网络拓扑结构。
基于上述实施例提出的网络存储设备,本发明提供以下一些具体实施方式的示例,在互不抵触的前提下,各个示例之间可任意组合,以形成新一种网络存储设备。需要说明的是,由以下任意示例所组合形成的新一种网络存储设备,均应受到本发明的保护。
在一些具体实施方式中,可编程器件包括多个通道,可编程器件在将目标用户的用户数据包存入该目标用户对应的硬盘之前,可编程器件根据该目标用户对应的网络资源分配参数,从其多个通道中为该目标用户分配相应数量个通道。可编程器件在将目标用户的用户数据包存入该目标用户对应的硬盘期间,通过上述相应数量个通道将该目标用户的用户数据包传输给该目标用户对应的硬盘。
本申请中,可编程器件的每个通道代表一定数量的数据传输能力。一个目标用户对应的网络资源分配参数越大,表示应当为该目标用户分配越多的网络资源,从而为该目标用户提供更快的数据传输速率。如此,可编程器件应当为该目标用户分配较多数量的通道,从而形成强大的数据传输能力。换言之,本申请中可编程器件为目标用户分配的通道数,表征目标用户的用户数据包的传输速率。可编程器件为目标用户分配的通道数越大,目标用户的用户数据包的传输速率越高。
在一些具体实施方式中,考虑到网络存储设备的硬盘的数据读写速率远大于用户终端的数据读写速率,用户终端的数据读写速率远不能匹配硬盘的数据读写速率。为此,在这些具体实施方式中,可以在网络存储设备的硬盘和网络之间设置缓存器。具体地,参考图3,图3是本申请另一实施例提出的网络存储设备的示意图。在图3所示的一些具体实施方式中,所述网络存储设备还包括多个缓存器,每个硬盘分别对应一个缓存器。每个硬盘所分配的相应数量个通道在向该硬盘传输用户数据包期间,将用户数据包输入该硬盘对应的缓存器,该缓存器中存储的用户数据包达到第一预设数据量后,该缓存器将存储的用户数据包存入该硬盘,其中,所述第一预设数据量小于所述缓存器的存储容量。
为便于理解,以上述第一预设数据量等于1MB为例,假设每个用户数据包的数据长度统一是1KB,可编程器件从网络中获取到目标用户的用户数据包之后,将用户数据包暂时引导集中至该目标用户对应的硬盘前的缓存器,当该缓存器积累满1024个用户数据包,即1MB后,启动存盘操作,将缓存器中的1MB数据存入其后的硬盘。此外,又考虑到网络存储设备中的一个硬盘可能在同一时间段内,同时被存入多个目标用户的用户数据包,在这种情况下,缓存器写入数据的速率较高。因此,当缓存器所缓存的用户数据包总量达到1MB且准备写入硬盘时,缓存器可能会继续接收到用户数据包,为了避免缓存溢出,造成用户数据包丢失,缓存器的存储容量应大于1MB,例如缓存器的存储容量可选定为2MB。
在另一些具体实施方式中,同样考虑到网络存储设备的硬盘的数据读写速率远大于用户终端的数据读写速率,用户终端的数据读写速率远不能匹配硬盘的数据读写速率。为此,在这些具体实施方式中,可以在网络存储设备的硬盘和网络之间设置缓存器。具体地,所述网络存储设备还包括多个缓存器,所述可编程器件的每个通道对应一个缓存器;每个硬盘所分配的相应数量个通道中的每个通道在向该硬盘传输用户数据包期间,将用户数据包输入该通道对应的缓存器,该缓存器中存储的用户数据包达到第二预设数据量后,该缓存器将存储的用户数据包存入该硬盘,其中,所述第二预设数据量小于所述缓存器的存储容量。
具体实现时,如果某一硬盘被分配的通道数为8,则该硬盘对应8个缓存器。当该硬盘在同一时间段内,需要同时被存入多个目标用户的用户数据包,则可编程器件可以从该硬盘对应的8个缓存器中分别为每个目标用户各分配一个缓存器。以上述第二预设数据量等于1MB为例,假设每个用户数据包的数据长度统一是1KB,可编程器件从网络中获取到目标用户的用户数据包之后,将用户数据包暂时引导集中至该目标用户对应的硬盘前的相应缓存器(即分配给该目标用户的缓存器),当该缓存器积累满1024个用户数据包,即1MB后,启动存盘操作,将缓存器中的1MB数据存入其后的硬盘。此外,又考虑到在某些情况下缓存器写入数据的速率较高,当缓存器所缓存的用户数据包总量达到1MB且准备写入硬盘时,缓存器可能会继续接收到用户数据包,为了避免缓存溢出,造成用户数据包丢失,缓存器的存储容量应大于1MB,例如缓存器的存储容量可选定为2MB。
采用上述网络存储设备,由于每个目标用户分别对应一个缓存器,因此每个缓存器分别用于缓存不同目标用户的用户数据包。一方面,避免多个目标用户的用户数据包缓存在一个缓存器上,缓存器每次写入的1MB数据包中包括多个目标用户的用户数据包,造成同一目标用户的各个用户数据包被分散存储。另一方面,由于不同目标用户分别对应不同的缓存器,因此不同目标用户的用户数据包之间不存在相互影响,具体地,不同目标用户的用户数据包按照并保持各自的网络传输速度,分别写入硬盘。例如分配给目标用户A的网络资源较多,其用户数据包的网络传输速度较快,则目标用户A通过其单独对应的缓存器,仍然能保持高速率的写盘操作。而分配给目标用户B的网络资源较少,其用户数据包的网络传输速度较慢,则目标用户B通过其单独对应的缓存器,仍然保持低速率的写盘操作。
在本申请的一些具体实施方式中,可编程器件还用于从所述多个硬盘中的目标硬盘读取数据,并将读取的数据发送给目标设备。其中,所述可编程器件在从所述目标硬盘读取数据期间,所述可编程器件将读取的数据放入所述目标硬盘对应的缓存器,在该缓存器中的数据量达到第三预设数据量后,所述可编程器件将该缓存器中第三预设数据量的数据发送给所述目标设备。
具体实现时,每个硬盘分别对应一个缓存器,如图3所示。或者,可编程器件的每个通道对应一个硬件,如果一个硬盘被分配了多个通道,则该硬盘对应的缓存器也是多个。
为便于理解上述具体实施方式,沿用前述示例,当某一用户终端(例如手机、个人电脑等)发起服务需求,例如视频播放需求。网络中的管理节点将视频播放需求拆分成:片源提供任务、视频解码任务以及视频播放任务。管理节点根据其维护的用户文件属性表,确定存储有片源数据的硬盘,假设存储有片源的硬盘为网络存储设备204上的硬盘204-5,则网络存储设备204上的硬盘204-5即被视为目标硬盘。
管理节点还向多个网络计算设备广播第一计算请求,第一计算请求是针对视频解码任务的计算请求。当某一网络计算设备在接收到第一计算请求,且其计算能力满足视频解码任务所要求的目标计算能力,则该网络计算设备将其计算能力信息反馈给管理节点。如此,管理节点可能会接收到多个网络计算设备反馈的能力信息,相当于多个网络计算设备向管理节点请求执行视频解码任务。管理节点可以从多个网络计算设备中选择一个网络计算设备(假设为网络计算设备103)执行视频解码任务,相当于管理节点将视频解码任务分配给该网络计算设备。同样地,管理节点按照同样的方式,从多个网络计算设备中选择一个网络计算设备(假设为网络计算设备102)执行视频播放任务。
如此,管理节点针对用户终端的视频播放需求,建立了一条链接路径,该链接路径为:网络存储设备204-网络计算设备103-网络计算设备102。网络存储设备204上硬盘204-5中的片源数据需要传输至网络计算设备103。
网络存储设备204在执行片源提供任务期间,网络存储设备204的可编程器件从硬盘204-5中读取视频数据,并暂存于相应的缓存器中,当该缓存器中缓存的视频数据达到1MB时,可编程器件将缓存器中存储的1MB视频数据发送给网络计算设备103。当该缓存器中缓存的视频数据低于1MB时,再次从硬盘204-5中读取视频数据,以补充缓存器。如此连续操作,实现远程均流读盘操作。
在本申请的一些具体实施方式中,所述可编程器件从网络中接收的用户数据包具有统一的格式和统一的数据长度。如前所述,具体实现时,每个用户数据包的长度可统一设定为1KB。此外,每个用户数据包还具有统一的帧格式。本申请中,通过将每个用户数据包的数据长度限定为统一长度,且将每个用户数据包的格式限定为统一格式,可以简化可编程器件的操作难度,使得可编程器件可以快捷地为各个用户数据包确定合适长度的可用硬盘地址,而不需要针对不同长度的用户数据包分别确定不同长度的可用硬盘地址,特别利于流媒体等数据的高速读写盘。
在本申请的一些具体实施方式中,所述可编程器件中运行有文件系统,所述文件系统中包括各目标用户的用户数据包与硬盘之间的对应关系。可编程器件在将目标用户的用户数据包存入该目标用户对应的硬盘之前,根据各目标用户的用户数据包与硬盘之间的对应关系,为该目标用户确定对应的硬盘。
示例地,所述对应关系具体可以是上述用户文件属性表。如前所述,用户文件属性表中记录有文件名、用户信息、硬盘信息等三者之间的绑定关系,其中,文件名和用户信息记录在用户数据包中。如此,可编程器件在将目标用户的用户数据包存入该目标用户对应的硬盘之前,可以首先从用户数据包中读取文件名和用户信息,然后以读取出的文件名和用户信息为索引,从用户文件属性表中查询与该索引相匹配的硬盘信息,从而确定出目标用户对应的硬盘。
需要说明的是,上述具体实施方式中,文件系统运行在网络存储设备的可编程器件中。但本申请并不局限于此,在本申请的另一些具体实施方式中,文件系统也可运行在用户侧,网络存储设备的可编程器件不运行文件系统,网络存储设备的可编程器件用于被动地控制数据读写,如以下具体实施方式所述。
在本申请的另一些具体实施方式中,所述可编程器件从网络中接收的用户数据包中包括硬盘地址,所述可编程器件在将目标用户的用户数据包存入该目标用户对应的硬盘之前,将该目标用户的用户数据包中包括的硬盘地址所指向的硬盘,确定为该目标用户对应的硬盘。
示例地,网络中的管理节点在为用户终端的待创建文件分配硬盘后(例如网络存储设备202中的硬盘202-4),将分配的硬盘的信息反馈给用户终端。用户终端在将文件拆分成数据块,并将数据块封装成数据包时,数据包中即包括数据块,又包括控制信息。所述控制信息中可以包括硬盘信息(即分配给该用户终端的硬盘的编号202-4)。网络存储设备202的可编程器件从网络中接收到该用户终端发出的用户数据包后,根据该用户数据包的控制信息中记录的硬盘信息,将硬盘202-4确定为该用户终端对应的硬盘。
在本发明的一些具体实施方式中,所述多个硬盘中的每个硬盘各自对应有硬盘地址,具有相同硬盘地址的各个硬盘组成一个硬盘组,其中,一个硬盘组中的各个硬盘来自于同一个网络存储设备,或者来自于不同的网络存储设备。
目标用户的用户数据包对应一个硬盘地址,该硬盘地址对应的硬盘即是该目标用户对应的硬盘,或者该硬盘地址对应的硬盘组中的各个硬盘均是该目标用户对应的硬盘。
具体地,在图2所示的网络拓扑结构中,多个网络存储设备的多个硬盘可以形成多个硬盘组,每个硬盘组分别对应一个硬盘地址,硬盘地址是一种用于区分不同硬盘组的信息,不同硬盘组的硬盘地址互不相同。多个硬盘组中,某些硬盘组中仅包括一个硬盘,另一些硬盘组中包括多个硬盘。对于包括多个硬盘的硬盘组,其多个硬盘可以来自于同一个网络存储设备,也可以来自于不同的网络存储设备。
示例地,假设一个硬盘组中包括:硬盘A、硬盘B以及硬盘Z等三个硬盘,其中硬盘A和硬盘B均位于网络存储设备1中,而硬盘Z位于网络存储设备6中。其中,网络存储设备1的可编程器件1或网络存储设备6的可编程器件6,用于控制该硬盘组的数据读写。假设目标用户的用户数据包刚好对应该硬盘组的硬盘地址,则硬盘A、硬盘B以及硬盘Z则是该目标用户对应的硬盘。可编程器件1或可编程器件6在从网络中接收到该目标用户的用户数据包之后,用于将用户数据包存入硬盘A、硬盘B以及硬盘Z中的一个或多个中。
由于本申请中的各个硬盘作为最小粒度,参与至整个网络中,因此不同网络存储设备上的硬盘之间可以组成硬盘组。相比于现有技术中仅能是同一设备上的硬盘才能组成硬盘组,本申请中硬盘组的组成方式更具灵活性。
参考图4,图4是本申请再一实施例提出的网络存储设备的示意图。在图4所示的具体实施方式中,所述网络存储设备还包括管理器件和通信接口;所述管理器件用于向所述可编程器件烧录程序,以及用于管理所述网络存储设备的电源;所述通信接口连接所述可编程器件,所述可编程器件通过所述通信接口从网络中接收目标用户的用户数据包。
其中,管理器件可选用微控制单元(Microcontroller Unit,MCU)。网络存储设备的管理器件中存储有文件读写控制程序,在整个网络存储设备接入网络并接入电源后,网络存储设备的管理器件将其存储的文件读写控制程序烧录给可编程器件。可编程器件通过执行文件读写控制程序以实现:接收目标用户的用户数据包、将目标用户的用户数据包存入该目标用户对应的硬盘等过程。
其中,通信接口可选用光纤接口,并且光纤接口可以是多路。网络存储设备的可编程器件连接这些光纤接口。
在本申请的一些具体实施方式中,所述网络存储设备还包括电路板,所述可编程器件、所述多个硬盘、所述管理器件以及所述通信接口集成在所述电路板上。本申请通过电路板集成网络存储设备中的各个器件,可以提高整个网络存储设备的集成度,减小网络存储设备的体积,增强网络存储设备的结构稳定性。
本申请提出的网络存储设备具有更高的存储能力,为便于理解,假设本申请提供的网络存储设备中包括:
1)8路10Gbps的光纤接口(即上述通信接口),如此,网络峰值流量等于8×10Gbps,即80Gbps;可用网络峰值流量等于80%峰值,即64Gbps。
2)12个4Gbps的硬盘,如此,硬盘峰值流量等于12×4Gbps,即48Gbps;可用硬盘峰值流量等于80%峰值,即38Gbps。
3)64个2.4Gbps的缓存器,如此,缓存峰值流量等于64×2.4Gbps,即153Gbps;可用缓存峰值流量等于70%峰值,即107Gbps。
4)缓存器总容量等于64GByte,单路缓存等于2MByte,可支持用户流等于64Gbyte/2Mbyte,即32000用户流。
根据用户服务能力最大化的目标,网络存储设备的瓶颈在于可用硬盘峰值流量。由此得出,平均每路用户流量等于38Gbps/32K,即1.2Mbps。可见,如果用户流量大于不超过1.2Mbps,则可同时服务的总用户数不少于32000。若用户平均码流为5Mbps,则允许38Gbps/5Mbps路用户数据流,即7600路用户数据流。可见,本申请提出的网络存储设备的性能远高于传统互联网和计算机。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种网络存储设备,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种网络存储设备,其特征在于,所述网络存储设备包括可编程器件和多个硬盘,所述多个硬盘均与所述可编程器件连接;
所述可编程器件用于从网络中接收至少一个目标用户的用户数据包,并将目标用户的用户数据包存入该目标用户对应的硬盘中,其中,在所述可编程器件同时接收多个目标用户的用户数据包,且多个目标用户分别对应不同硬盘的情况下,所述可编程器件并行地将多个目标用户各自的用户数据包存入多个目标用户各自对应的硬盘。
2.根据权利要求1所述的网络存储设备,其特征在于,所述可编程器件包括多个通道,所述可编程器件在将目标用户的用户数据包存入该目标用户对应的硬盘之前,所述可编程器件根据该目标用户对应的网络资源分配参数,从所述多个通道中为该目标用户分配相应数量个通道;
所述可编程器件在将目标用户的用户数据包存入该目标用户对应的硬盘期间,通过所述相应数量个通道将该目标用户的用户数据包传输给该目标用户对应的硬盘。
3.根据权利要求2所述的网络存储设备,其特征在于,所述网络存储设备还包括多个缓存器,每个硬盘分别对应一个缓存器;每个硬盘所分配的相应数量个通道在向该硬盘传输用户数据包期间,将用户数据包输入该硬盘对应的缓存器,该缓存器中存储的用户数据包达到第一预设数据量后,该缓存器将存储的用户数据包存入该硬盘,其中,所述第一预设数据量小于所述缓存器的存储容量;
或者,
所述网络存储设备还包括多个缓存器,所述可编程器件的每个通道对应一个缓存器;每个硬盘所分配的相应数量个通道中的每个通道在向该硬盘传输用户数据包期间,将用户数据包输入该通道对应的缓存器,该缓存器中存储的用户数据包达到第二预设数据量后,该缓存器将存储的用户数据包存入该硬盘,其中,所述第二预设数据量小于所述缓存器的存储容量。
4.根据权利要求3所述的网络存储设备,其特征在于,所述可编程器件还用于从所述多个硬盘中的目标硬盘读取数据,并将读取的数据发送给目标设备;
其中,所述可编程器件在从所述目标硬盘读取数据期间,所述可编程器件将读取的数据放入所述目标硬盘对应的缓存器,在该缓存器中的数据量达到第三预设数据量后,所述可编程器件将该缓存器中第三预设数据量的数据发送给所述目标设备。
5.根据权利要求1至4任一所述的网络存储设备,其特征在于,所述可编程器件从网络中接收的用户数据包具有统一的格式和统一的数据长度。
6.根据权利要求1至4任一所述的网络存储设备,其特征在于,所述可编程器件中运行有文件系统,所述文件系统中包括各目标用户的用户数据包与硬盘之间的对应关系,所述可编程器件在将目标用户的用户数据包存入该目标用户对应的硬盘之前,根据各目标用户的用户数据包与硬盘之间的对应关系,为该目标用户确定对应的硬盘。
7.根据权利要求1至4任一所述的网络存储设备,其特征在于,所述可编程器件从网络中接收的用户数据包中包括硬盘地址,所述可编程器件在将目标用户的用户数据包存入该目标用户对应的硬盘之前,将该目标用户的用户数据包中包括的硬盘地址所指向的硬盘,确定为该目标用户对应的硬盘。
8.根据权利要求1至4任一所述的网络存储设备,其特征在于,所述多个硬盘中的每个硬盘各自对应有硬盘地址,具有相同硬盘地址的各个硬盘组成一个硬盘组,其中,一个硬盘组中的各个硬盘来自于同一个网络存储设备,或者来自于不同的网络存储设备;
目标用户的用户数据包对应一个硬盘地址,该硬盘地址对应的硬盘即是该目标用户对应的硬盘,或者该硬盘地址对应的硬盘组中的各个硬盘均是该目标用户对应的硬盘。
9.根据权利要求1至4任一所述的网络存储设备,其特征在于,所述网络存储设备还包括管理器件和通信接口;
所述管理器件用于向所述可编程器件烧录程序,以及用于管理所述网络存储设备的电源;
所述通信接口连接所述可编程器件,所述可编程器件通过所述通信接口从网络中接收目标用户的用户数据包。
10.根据权利要求9所述的网络存储设备,其特征在于,所述网络存储设备还包括电路板,所述可编程器件、所述多个硬盘、所述管理器件以及所述通信接口集成在所述电路板上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010617759.XA CN111813338A (zh) | 2020-06-30 | 2020-06-30 | 一种网络存储设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010617759.XA CN111813338A (zh) | 2020-06-30 | 2020-06-30 | 一种网络存储设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111813338A true CN111813338A (zh) | 2020-10-23 |
Family
ID=72855279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010617759.XA Pending CN111813338A (zh) | 2020-06-30 | 2020-06-30 | 一种网络存储设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111813338A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130339486A1 (en) * | 2012-06-14 | 2013-12-19 | Microsoft Corporation | Scalable Storage with Programmable Networks |
CN107256201A (zh) * | 2017-05-27 | 2017-10-17 | 上海德衡数据科技有限公司 | 一种基于多核异构cpu‑gpu‑fpga的大数据引擎架构 |
US20180074851A1 (en) * | 2016-09-13 | 2018-03-15 | International Business Machines Corporation | Determining memory access categories to use to assign tasks to processor cores to execute |
US20180246853A1 (en) * | 2017-02-28 | 2018-08-30 | Microsoft Technology Licensing, Llc | Hardware node with matrix-vector multiply tiles for neural network processing |
CN108536526A (zh) * | 2017-03-02 | 2018-09-14 | 腾讯科技(深圳)有限公司 | 一种基于可编程硬件的资源管理方法以及装置 |
CN110023905A (zh) * | 2016-11-17 | 2019-07-16 | 亚马逊技术股份有限公司 | 联网可编程逻辑服务提供商 |
US20200104690A1 (en) * | 2018-09-28 | 2020-04-02 | Qualcomm Incorporated | Neural processing unit (npu) direct memory access (ndma) hardware pre-processing and post-processing |
WO2020121030A1 (en) * | 2018-12-12 | 2020-06-18 | Mipsology SAS | Caching data in artificial neural network computations |
-
2020
- 2020-06-30 CN CN202010617759.XA patent/CN111813338A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130339486A1 (en) * | 2012-06-14 | 2013-12-19 | Microsoft Corporation | Scalable Storage with Programmable Networks |
US20180074851A1 (en) * | 2016-09-13 | 2018-03-15 | International Business Machines Corporation | Determining memory access categories to use to assign tasks to processor cores to execute |
CN110023905A (zh) * | 2016-11-17 | 2019-07-16 | 亚马逊技术股份有限公司 | 联网可编程逻辑服务提供商 |
US20180246853A1 (en) * | 2017-02-28 | 2018-08-30 | Microsoft Technology Licensing, Llc | Hardware node with matrix-vector multiply tiles for neural network processing |
CN108536526A (zh) * | 2017-03-02 | 2018-09-14 | 腾讯科技(深圳)有限公司 | 一种基于可编程硬件的资源管理方法以及装置 |
CN107256201A (zh) * | 2017-05-27 | 2017-10-17 | 上海德衡数据科技有限公司 | 一种基于多核异构cpu‑gpu‑fpga的大数据引擎架构 |
US20200104690A1 (en) * | 2018-09-28 | 2020-04-02 | Qualcomm Incorporated | Neural processing unit (npu) direct memory access (ndma) hardware pre-processing and post-processing |
WO2020121030A1 (en) * | 2018-12-12 | 2020-06-18 | Mipsology SAS | Caching data in artificial neural network computations |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8880650B2 (en) | System and method for storing streaming media file | |
US9497035B2 (en) | Method, device, and system for playing media based on P2P | |
US20150317583A1 (en) | Business Scheduling Method and Apparatus and Convergence Device | |
CN110417676B (zh) | 一种调度方法、装置和调度网络 | |
WO2014026613A1 (zh) | 网络带宽分配方法及终端 | |
US10506020B2 (en) | Data transmission method, and terminal | |
KR101104729B1 (ko) | 최적의 캐시조각 획득방식을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법 | |
CN109348264B (zh) | 视频资源共享方法、装置、存储介质及电子设备 | |
KR20100058786A (ko) | 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법 | |
Sheu et al. | Virtual batching: A new scheduling technique for video-on-demand servers | |
CN113596166A (zh) | 数据获取方法、装置、计算机设备和存储介质 | |
US9491212B2 (en) | Method for streaming media and media controller | |
US8583819B2 (en) | System and method for controlling server usage in peer-to-peer (P2P) based streaming service | |
CN111813338A (zh) | 一种网络存储设备 | |
CN114866854B (zh) | 视频接入方式动态分配方法、系统、电子设备和存储介质 | |
KR20100052025A (ko) | 대역폭 공유 방식 컨텐츠 제공 시스템 및 방법 | |
CN110784534A (zh) | 数据服务方法、装置、系统及电子设备 | |
RU2522995C2 (ru) | Способ и устройство создания одноранговой группы в одноранговом приложении и способ применения одноранговой группы | |
Wu et al. | A deployment optimization scheme over multimedia big data for large-scale media streaming application | |
CN115412777A (zh) | 流媒体数据的传输方法及装置、系统 | |
US9229944B2 (en) | Scalable networked digital video recordings via shard-based architecture | |
CN103747253B (zh) | 一种基于fifo的视频编码数据传输方法 | |
KR20100053009A (ko) | 캐시 조각 획득시간 기반의 노드 전환을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법 | |
CN104469539A (zh) | 一种协作缓存方法、流媒体管理子系统及服务器 | |
KR20030026373A (ko) | 메모리 관리장치를 구비한 전송서버 및 그 방법 |
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 |