CN107615253B - 用于存储器架构的系统和方法 - Google Patents

用于存储器架构的系统和方法 Download PDF

Info

Publication number
CN107615253B
CN107615253B CN201580080625.6A CN201580080625A CN107615253B CN 107615253 B CN107615253 B CN 107615253B CN 201580080625 A CN201580080625 A CN 201580080625A CN 107615253 B CN107615253 B CN 107615253B
Authority
CN
China
Prior art keywords
file
block
identifier
inode
readable medium
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.)
Expired - Fee Related
Application number
CN201580080625.6A
Other languages
English (en)
Other versions
CN107615253A (zh
Inventor
王珂
张强
庹伟
梁泰文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SZ DJI Technology Co Ltd
Original Assignee
SZ DJI Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SZ DJI Technology Co Ltd filed Critical SZ DJI Technology Co Ltd
Publication of CN107615253A publication Critical patent/CN107615253A/zh
Application granted granted Critical
Publication of CN107615253B publication Critical patent/CN107615253B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1727Details of free space management performed by the file system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了与写文件和读文件有关的系统、方法和装置。提供了具有多个空闲存储块的块区。所述多个空闲存储块中的每个空闲块与多个块标识符中的一个块标识符相关联。另外,所述多个块标识符中的每个块标识符列在块索引中。每个块标识符具有储存所述多个块标识符中的唯一块标识符的内容,所述内容将所述块标识符与所述唯一块标识符相链接,从而链接所述多个块标识符。

Description

用于存储器架构的系统和方法
技术领域
本发明涉及文件存储领域,更具体地涉及一种用于通过使用存储系统的链式结构而有效地储存和读取文件的系统和方法。
背景技术
常规的文件系统不能够准确而有效地在短时期内捕捉大量数据。特别是,当存储器架构的存储能力缺乏使文件进入速度与获取内容的速度相匹配的能力时,与文件相关联的大量数据的捕捉可能导致错误。这种缺乏可能妨碍图像捕捉装置充分地利用其记录特征。例如,缺乏足够的存储结构可能使得图像捕捉装置,诸如那些与飞行器(诸如无人飞行器(UAV))相关联的图像捕捉装置无法最大化其可记录的信息量。
发明内容
本发明提供了用于通过使用存储系统的链式结构而有效地储存和读取文件的系统和方法。当储存大文件时,因为来自所述文件的数据储存在多个不相连的存储区域内,所以常规的文件系统可能需要大量开销。然而,本文提供的存储配置方法和系统可以用于通过使储存数据的速率与文件大小无关来使上传文件的速率归一化。
另外,能够以提供快速检索的方式储存所述文件。具体而言,可以储存所述文件,以便在接收到读请求时省略搜索所述文件的一个或多个位置的过程。与此相反,对于常规的文件系统,在检索所述文件之前,通常需要搜索储存文件的位置的处理步骤。然而,同样地,本文提供的存储配置方法和系统可以用于通过使数据的检索与文件大小无关来使读文件的速率归一化。
本发明的一个方面可以包括一种储存文件的方法。所述方法可以包括接收所述文件。所述方法还可以包括确定储存所述文件所需的多个空闲存储块。所述多个空闲存储块中的每个空闲存储块对应于块ID标识符单元。另外,每个块ID标识符单元储存下一个空闲存储块的块标识符,从而在所述多个空闲存储块之间形成链接关系。进一步地,根据所述多个空闲存储块之间的所述链接关系而将所述文件储存在所述多个空闲存储块中。
本发明的方面还可以包括一种读文件的方法。所述方法可以包括读取索引节点。所述索引节点储存多个块标识符,所述多个块标识符与储存所述文件的多个存储块相关联。另外,所述方法可以包括读取储存所述文件的所述多个存储块。
本发明的附加方面可以包括一种链接块区中的空闲存储块的方法。所述方法可以包括提供具有多个空闲存储块的块区。所述多个空闲存储块中的每个空闲块与多个块标识符中的一个块标识符相关联。另外,所述方法可以包括将所述多个块标识符中的每个块标识符列于块索引中,并且使每个块标识符与对应的内容相关联。所述对应的内容储存所述多个块标识符中的唯一块标识符,所述内容将所述块标识符与所述唯一块标识符相链接,从而链接所述多个块标识符。
本发明的进一步方面可以包括一种增加图像存储系统中的可用存储的方法。所述方法可以包括将当前可操作的块标识符标识为引用第二空闲存储块的第二块标识符。所述方法还可以包括确定与第一块标识符相关联的被占用的存储块已变为空闲。另外,所述方法可以包括将所述当前可操作的块标识符从所述第二块标识符更新为所述第一块标识符。所述方法还可以包括将所述第一块标识符列于块索引中,并且使所述第一块标识符与储存所述第二块标识符的第一内容相关联。所述第二空闲存储块的第二位置独立于所述第一空闲存储块的位置。
应当明白,本发明的不同方面可以被单独地、共同地或彼此结合地理解。本文所描述的本发明的各个方面可以适用于下文阐述的任何特定应用或者适用于任何其他类型的可移动物体。本文对诸如无人飞行器等飞行器的任何描述均可适用于和用于任何可移动物体,诸如任何载运工具。另外,本文在空中运动(例如,飞行)的情景下公开的系统、装置和方法还可以适用于其他类型运动的情景下,诸如在地面上或在水上的移动、水下运动或者在太空中的运动。
通过考察说明书、权利要求书和附图,本发明的其他目标和特征将会变得显而易见。
援引并入
本说明书中所提及的所有出版物、专利和专利申请均通过引用而并入于此,其程度犹如具体地和个别地指出要通过引用而并入每一个别出版物、专利或专利申请那样。
附图说明
在所附权利要求书中具体阐述了本发明的新颖特征。通过参考对在其中利用到本发明原理的说明性实施方式加以阐述的以下详细描述和附图,将会对本发明的特征和优点获得更好的理解;在附图中:
图1图示了根据本发明实施方式的存储器架构系统的示例性结构。
图2图示了根据本发明实施方式的存储器架构系统的示例性超扇区结构。
图3图示了根据本发明实施方式的存储器架构系统的示例性目录表结构。
图4图示了根据本发明实施方式的存储器架构系统的示例性目录项结构。
图5图示了根据本发明实施方式的存储器架构系统的示例性索引节点表结构。
图6图示了根据本发明实施方式的索引节点的示例性数据结构。
图7图示了根据本发明实施方式的块索引的示例性结构。
图8图示了根据本发明实施方式的存储器架构系统的组件之间的示例性交互的示意图。
图9图示了根据本发明实施方式的块索引与块存储区域之间的关系。
图10图示了根据本发明实施方式的用于存储器架构系统的文件存储的示例性示意图。
图11图示了根据本发明实施方式的用于存储器架构系统的文件存储的另一示例性示意图。
图12图示了根据本发明实施方式的被编程或以其他方式被配置成用于实现本文提供的方法的计算机控制系统。
图13图示了根据本发明实施方式的储存文件的方法的流程图。
图14图示了根据本发明实施方式的读文件的方法的流程图。
图15图示了根据本发明实施方式的增加图像存储系统中的可用存储的流程图。
具体实施方式
本发明提供了与有效地捕捉、储存和检索数据有关的系统、方法和装置。具体而言,本发明提供了上传和存储大量数据的文件结构,以便不阻碍获取数据的速率。另外,本发明提供了在没有与搜索储存文件数据的一个或多个位置相关联的开销成本的情况下检索数据的文件结构。这些系统和方法可以用于快速地上传、储存和检索大量数据,诸如图像数据。另外,图像数据可以由无人飞行器(UAV)获取。具体而言,本发明可以涉及一种用于超高速相机的文件系统配置。正因如此,本文提供的系统和方法可以适用于数码相机或类似的装置,诸如安装在无人飞行器上的那些装置。无人飞行器可被配置成用于使用耦合至所述无人飞行器的媒体捕捉装置来捕捉图像信息。
使用本文提供的存储配置方法和系统,可以基于文件归档系统的结构来使上传图像的速率归一化。这转而可有利地允许稳定的图像捕捉。这与其他系统形成对比,所述其他系统在读或写文件时,诸如在读或写大文件时,可能具有较高的内部开销。具体而言,在先前捕捉视频的系统利用的配置方法中,写文件的速率取决于文件的大小、文件系统开销以及存储器装置的实际写开销。这一关系表示为等式:
速率=(文件的大小)/((文件系统开销)+(实际写开销))
根据以上用于配置文件系统以供写文件的前述方法的等式,针对具有不同大小的文件的写速率可能由于文件的不同大小而有所不同,即使所述文件是由同一文件系统写入的也是如此。与此相反,本文提供的存储器架构系统提供用于媒体捕捉装置文件系统的配置,所述配置提供与正在写入的文件的大小无关的文件写入速率。具体而言,本发明的实施方式提供了以一种可以有效地使文件大小与写文件的速率无关的方式来链接空闲存储块的文件结构,因为每个空闲块都是利用文件写入结构而同样地链接且同样地可访问的。以这种方式,将文件组件(file component)储存在空闲存储块内的速率与所述存储块的位置无关。另外,本发明的实施方式还提供了用于储存引用文件位置的目录而不是在接收到对文件的读请求时要求系统搜索所述文件的位置。以这种方式,本文提供的实施方式可以减少用于文件读取和写入的开销。具体而言,本文提供的实施方式可以用于减少用于目录寻址的开销、用于文件创建的开销以及用于地址搜索的开销。因此,使用本发明实施方式的文件系统配置,可以最大化存储器装置的实际读-写速率,特别是当获取会对常规的文件写入系统造成负担的大量数据时。
本文提供的存储器架构系统可以用于储存任何类型的文件。文件可以包括图像、视频、文档、报告、音频文件或其他示例。另外,文件可以是大文件。对于6K图像,文件大小可以是30M。对于8K图像,文件大小可以是60M。如本文讨论的示例中所提供的,要存储的文件可以从诸如相机等媒体捕捉装置中获得。储存在相机中的文件通常是图像。在具有4K和10位的图像的示例中,原始图像可能需要10.5M的存储器带宽。如果帧频为每秒60帧且图像未经压缩,那么在图像采集期间,可能每秒钟存入硬盘共640M数据。然而,使用常规的系统,媒体捕捉装置的传输速率可以具有30%至40%之间的利用率。为了利用被忽略的资源,本文提供的实施方式公开了针对相机等的文件系统配置,所述配置可以减少文件系统的内部开销并且增加存储器装置的带宽利用率。
本文提供的系统和方法公开了存储器架构结构或“文件系统”的磁盘存储结构。具体而言,提供了可以减少文件系统的内部开销并且增加存储器装置的带宽利用率的文件系统配置。这种文件配置在应用到诸如高速图像捕捉装置等图像捕捉装置时尤为有利。以高速率获得图像通常占用大量的带宽。通过在图像采集期间减少文件系统的内部开销,可以增加专用于获得图像本身的带宽量。这转而可增加图像采集的可靠性。正因如此,本文讨论的磁盘存储结构的实施方式可以有利地适用于图像文件、媒体文件、多媒体文件以及与数据的快速采集相关联的其他形式的内容的采集。
图1中提供了本文所述实施方式的文件系统结构。具体而言,图1提供了根据本发明实施方式的存储器架构系统的示例性结构100。图1包括超扇区(supersector)110、目录表120、索引节点表130、块索引140和块区150。
与文件系统相关联的信息可被记录在超扇区110中。超扇区110是关键信息区。磁盘信息以及用于系统启动的信息可被记录在超扇区110中。具体而言,磁盘信息以及用于系统启动可以包括与运行存储器架构系统本身相关联的信息。储存在块存储区域内的信息可以不被包括在磁盘信息以及用于系统启动的信息中,因为所述储存在块存储区域中的信息可能与图像或者储存在系统内的其他数据有关,并且可能不与用于运行系统本身的信息进行交互。下文在图2中提供了超扇区110的结构的示例。另外,与目录有关的信息可被记录在目录表120中。具体而言,与目录有关的信息可以包括目录项信息。下文在图3中提供了目录表的示例,并且下文在图4中提供了目录项结构的示例。
另外,与文件本身有关的信息可被记录在索引节点表130中。下文在图5中提供了索引节点表的示例,并且下文在图6中提供了索引节点的数据结构的示例。进一步地,与存储块有关的信息可被记录在块索引140中。下文在图7中提供了块索引的示例性数据结构。与存储块有关并且储存在块索引中的信息可以彼此链接。另外,文件的文件组件,诸如图像文件,可以储存在块区150中,其中块区可以是数据存储区。
图2图示了根据本发明实施方式的存储器架构结构或“文件系统”的示例性超扇区结构200。与文件系统相关联的信息可以储存在超扇区中,所述超扇区是关键信息区。超扇区结构200包括磁盘大小210。磁盘大小210可以是指在磁盘上本地可用的存储量、可用于储存第三方数据的存储量、可由文件系统在多个存储器装置中访问的存储量或者其他示例。另外,目录表的大小215和连接点表的大小220可以包括在超扇区结构200中。连接点表220可以是指包含来自同一数据库内的两个或更多个表的公用字段的数据库表。另外,存在的目录数225和最后创建的目录的标识符230可以包括在超扇区结构200中。存在的目录数225和最后创建的目录230可以用于确定新目录的可用性并且确定引用号以分配新目录。超扇区结构200还可以包括当前可操作的索引节点的标识符235、空闲块的数目240、最后修改时间245、块的大小250、当前可操作的块的标识符255和/或终止符260。当前可操作的索引节点的标识符235能够指示出用以储存与图像文件相关联的数据的位置。具体而言,索引节点可以用于储存对所述文件的描述。当前可操作的索引节点标识符235可以指向索引节点表中空闲的首个索引节点。另外,基于磁盘大小210和块的大小250来确定空闲块的数目240。进一步地,当前可操作的块的标识符255能够指示出用以储存文件的文件组件的位置。具体而言,当前可操作的块标识符255可以指向对应于块区中的空闲存储块的首个块标识符。另外,终止符可以用于初步检测是否存在文件系统。
图3图示了示例性目录表300。具体而言,目录信息可被记录在根目录表300中。在示例中,文件系统可以具有两个目录表:根目录300和序列文件目录310、320。目录级别可以用于区分序列文件。在一个示例中,目录可以用于储存一组文件,诸如相册。在此示例中,序列文件目录310可以用于储存与夏威夷之行相关联的照片。每个照片或图像文件可以具有与储存在索引节点文件中的照片有关的信息。每个索引节点文件转而可由序列文件目录310引用。另外,由根目录300引用的序列文件目录的数目可以是可预见的。
进一步地,目录表120可以具有目录项。每个目录项可以具有特定的数据结构。因此,图4图示了目录项的示例性数据结构400。具体而言,图4中图示的目录项400包括目录标识符405、目录名410、目录中的索引节点的数目415、起始的索引节点号420、末尾的索引节点号425、通道数430、数据存储的形式435、创建时间440和/或最后修改时间445。使用旅行期间拍摄的相册的示例,起始的索引节点号420可以与相册中的第一张照片相关联,而末尾的索引节点号425可以与相册中的最后一张照片相关联。另外,目录中索引节点的数目415可以与相册中照片的总数相关联。
如图5中所见,提供了根据本发明实施方式的存储器架构系统的示例性索引节点表500结构。索引节点表500包括两个索引节点510、520。每个索引节点可以与文件相关联。进一步地,每个索引节点可以用于储存所储存文件的文件组件的一个或多个位置。另外,图6图示了根据本发明实施方式的索引节点的示例性数据结构600。具体而言,图6包括数据大小605。数据大小605可以包括四元素数组。另外,图6可以包括创建时间610、索引节点中块的数目615和/或索引节点中块的索引数组620。以这种方式,当接收到读文件以读取文件时,可以标识正储存与所述文件有关的信息的索引节点,并且可以基于储存在索引节点中的信息来标识与所述文件相关联的文件组件的位置。
图7中提供了具有块索引740的示例性结构700。具体而言,图7图示了具有块索引740的结构700,所述块索引740对应于块区750内的块。数据结构700(其可以是存储器架构结构)还包括关键信息区710、数据表720和索引节点表730。如图7中所见,块索引740可以看作诸如块ID标识符单元745等块ID标识符单元的一个大数组。数组或块索引740的大小可以等于块区750中的存储块755的数目。具体而言,块索引740内的每个块ID标识符单元可以对应于块区750中的存储块。
另外,块索引中的每个块ID标识符单元可以记录以下信息中的至少一种:与之对应的存储块是否被占用,以及如果所述块是空闲的,那么与之链接的下一个空闲块是哪个存储块。具体而言,每个块ID标识符单元可以记录(1)下一个空闲存储块的块标识符,或者(2)表明对应于所述块ID标识符单元的存储块已被占用的指示符。图7中图示了(1)的示例,其中块ID标识符单元745具有内容746。具体而言,内容746是数字“1”,其标识出下一个块标识符。另外,块索引内的每个单元链接至另一单元,从而形成块索引内的相连结构。这种增量式链接的结构可以允许在图像采集期间快速地储存数据。另外,当不再需要图像时,链式结构可以是可复写的,以使得先前用于存储的块可以再合并到所述链式结构中。具体而言,当以前占用的存储块变为空闲时,对应于最新空闲的存储块的块标识符可以替换当前空闲的存储块标识符,并且可以在其内容内放入对所述块标识符的引用。
在示例中,对应于被占用存储块的块ID标识符单元可以呈现表明所述存储块被占用的指示符。在示例中,所述指示符可以是诸如“0xFFFFFFFFF”等表示,以表明所述存储块已被占用。指示符可以是另一表示形式,诸如“已占用”或者与被占用存储块相关联的另一短语。然而,当存储块空闲时,块ID标识符单元可以呈现一数值。具体而言,块ID标识符单元可以呈现块标识符,所述块标识符对应于链接至所述块ID标识符单元的另一块标识符。
在块索引结构的示例中,可以提供两层映射结构。具体而言,第一层映射可以是目录表到连接点表的映射。另外,第二层映射可以是连接点表到存储块表的映射。存储块表可以是一概念表。另外,可以在本文讨论的实施方式中提出与块索引存储和序列存储有关的各种实施方式。具体而言,可以通过块索引的使用而链接存储器装置上的空闲块。另外,可以记录与被占用块相关联的信息。
进一步地,如下文进一步讨论的,可以使用允许增量式存储的结构,以使得所要储存的对象是用于访问从高速相机中记录的图像的潜在目录,而不是图像本身。具体而言,储存的对象可以是针对如何定位并读取先前存储的图像的快速引用。这种存储结构大大减少了搜索所储存的图像文件所需的时间量和带宽,特别是当所储存的图像文件被储存在可能不在近距离内的若干存储块中时。以这种方式,本文所讨论的实施方式提供了一种在写文件时使开销减到最少并且还使定位并读取已被储存的文件所需的努力降到最少的结构。
作为示例,将用于储存文件的空闲存储块链接在一起可以在接收文件之前起始。具体而言,可以提供具有多个空闲存储块的块区。所述多个空闲存储块中的每个存储空闲块可以对应于多个块标识符中的一个块标识符。另外,块索引中的多个块标识符中的每个块标识符可被列为块ID标识符单元,并且可以具有对应内容。所述对应内容可以储存多个块标识符中的唯一块标识符,其将所述块标识符与所述唯一块标识符相链接。以这种方式,可以链接多个块标识符。
在附加示例中,多个块标识符中的第一块标识符可被列为当前可操作的块标识符。另外,当前可操作的块标识符可以引用当前空闲的存储块。在进一步示例中,被列为当前块标识符的块标识符可以不储存在另一块标识符的内容中。
存储器架构系统的组件可以具有多种交互形式。图8图示了根据本发明实施方式的存储器架构系统800的组件之间的示例性交互的示意图。具体而言,图8提供了存储器架构系统800内的超扇区组件805、目录组件810、索引节点组件815、块索引组件820和块区组件825。
超扇区组件805可以是关键信息区。正因如此,超扇区组件805可以包括与存储器架构系统800的其他组件有关的信息。具体而言,超扇区组件805可以包括当前可操作的索引节点的标识符(标记为“索引节点ID”)和当前可操作的块的标识符(标记为“块ID”)。图8中图示了后者的关系,其提供了从超扇区组件805到块索引820的连接器(connector)830。具体而言,连接器830从块索引820向超扇区组件805提供当前可操作的块标识符。具体而言,提供给超扇区组件805的当前可操作的块标识符是“tag_free 1(OxOF)”。
图8还图示了块索引820内的连接数。具体而言,如图8所示,当前可操作的块是“tag_free 1(OxOF)”,其中“tag_free 1(OxOF)”是块ID标识符单元,并且块索引820中提供的块ID标识符单元的列表还可以被称为块索引。沿着块ID标识符单元之间的链接移动,“tag_free 1(OxOF)”经由连接832而连接到下一个可操作的块“tag_free 2(OxO4)”。所述下一个可操作的块“tag_free 2(OxO4)”继而经由连接834而连接到后续可操作的块“tag_free 3(Ox11)”,所述块“tag_free 3(Ox11)”继而经由连接836而进一步地连接到块索引820进一步往下的空间中的可操作的块。因此,图8的块索引820图示了块ID标识符单元之间的链接。
另外,图8图示了目录组件810与索引节点组件815之间的连接。具体而言,目录组件810的目录项可以经由连接840而引用索引节点项“Inode_n1”、“Inode_mn”和“Inode_n2”。进一步地,“Inode_mn”还可以连接到块区825中的块。具体而言,“Inode_mn”可以经由连接850而连接到块区825内的块“Block_m1”、“Block_m2”和“Block_m3”。如此一来,一旦标识出目录组件810的目录项,就可以在索引节点组件815中标识出相关的索引节点项,所述索引节点组件815还可以包括所储存的、与储存在块区825处的块中的文件组件的位置有关的信息。
图8还图示了通过移除块区825中的块与索引节点815之间的一个或多个连接来释放块区空间的能力。具体而言,索引节点组件815通常经由连接850而连接到块区825,并且分别经由连接852、854和856而特定地连接到块区825内的块“Block_m1”、“Block_m2”和“Block_m3”。连接852、854和856指示出块“Block_m1”、“Block_m2”和“Block_m3”已被占用。然而,如果切断所述连接中的一个或多个,则相应的块可被再次认为是空闲的。
在一些示例中,空闲块可以包括当前不储存文件组件的块。在其他示例中,空闲块可以包括不连接至文件检索引用(file retrieve reference)的块。在第二个示例中,所述块可以保持空闲,但是可以继续储存先前的图像文件的一部分,直到为所述块分配要储存的新文件组件。当存在要储存的新文件组件时,所述块可以通过写在先前的文件组件上来储存所述新文件组件。以这种方式,块区可以避免消耗处理能力来删除不再与期望图像文件相关联的每个图像文件组件,并且可反而将处理资源集中在向传入的文件分配存储上。
可以在接收要储存的文件之前建立存储器架构结构的结构组件。具体而言,当文件系统启动时,处理器可以将与存储器架构结构的每个文件结构组件相关联的信息读取到存储器中,但所述块区除外。进一步地,系统可以在信息可用的文件结构内填入信息。例如,系统可以填入最后创建的目录的标识符,诸如超扇区结构200中的标识符225;当前可操作的索引节点的标识符,诸如超扇区结构200中的标识符230;以及当前可操作的块的标识符,诸如超扇区结构200中的标识符250,以及其他信息。
另外,当初始化文件系统时,与所述文件系统通信连接的图像捕捉装置可以进入捕捉模式。在示例中,文件系统可以储存在图像捕捉装置内,以便响应于接合图像捕捉装置而起始所述图像捕捉装置。当所述图像捕捉装置已经起始捕捉模式之后,可以在文件系统中创建新目录。具体而言,可以使用唯一的目录标识符来生成所述新目录。另外,目录标识符可以基于最后创建的目录的标识符并且从其增量式地增加,如超扇区结构200的标识符225所提供的。
如果接收到要储存的新图像,则可以在将所述新图像写入要储存在文件系统中的文件之前确定所述图像的若干特性。具体而言,可以确定文件系统内的块区中有多少块将被所述图像占用。储存所述图像所需的块区中的块的数目可以基于所述图像的大小而计算得到。例如,储存图像所需的块区中的块的数目可以通过获取所述图像的总大小并且将所述图像的总大小除以单个块的大小而得以确定。得到的数字将指示出储存所述图像所需的存储块的数目。进一步地,如果得到的数字是非整数(例如,如果得到的数字是2.5),则储存所述图像所需的存储块的数目将会是从得到的数字依次得到的下一个连续整数。在图像的总大小除以存储块的大小的结果为数字2.5的示例中,储存图像所需的存储块的数目将会是下一个连续整数3。
基于计算得到的块的数目,可以将关于要更新的被占用块的数目的信息填入文件结构中。具体而言,一旦确定储存图像所需的存储块的数目,就可以在索引节点数据结构600中更新“索引节点中的块的数目”内容615。
另外,图像数据可以基于超扇区结构200的“当前可操作的块”标识符250的内容而储存在块区中的指定块中。如果需要多个块来储存图像,则初始块将会基于“当前可操作的块”标识符250的内容而储存在块区中的指定块中,在这之后,“当前可操作的块”将会基于块索引140内的内容而更新至下一个当前可操作的块。在储存所述初始块之后,基于块索引140内的链接来更新“当前可操作的块”标识符250以反映下一个要索引的块。另外,每次储存块时,可以将块索引中对应位置的值分配给一个变量,所述变量储存当前可操作的块的标识符。继而,块索引中的对应位置可被写为包含表明所述块被占用的指示符。针对需要储存的任何剩余的图像文件组件,重复这个过程,以便将储存在文件系统内的每个图像文件组件储存至被引用为超扇区结构200中的“当前可操作的块”250的块。
在存储过程之后,可以更新超扇区结构200的当前可操作的索引节点230的标识符。在索引节点表130是连续表的示例中,当前可操作的索引节点230的ID可以增量式地增加。在示例中,当前可操作的索引节点的ID可以在更新时增加单个整数。
用于储存文件的写过程的示例可以在接收到文件时起始。一旦接收到文件,就可以确定储存所述文件所需的多个空闲存储块。储存文件所需的空闲存储块的数目可以基于所述文件内的数据量而计算得到。具体而言,文件内的数据量可以基于所述文件的大小而得以确定。
另外,可以在接收到文件之后确定当前可操作的索引节点标识符。在示例中,可以通过向最近占用的索引节点标识符添加连续增量而确定当前可操作的索引节点。在示例中,连续增量可以是单个整数。另外,关于图像文件的信息可以储存在索引节点内。例如,可以更新储存在当前可操作的索引节点内的持有块的数目,以反映用于存储图像文件的块的数目。具体而言,持有块的数目可以包括对用以储存文件的块的数目的引用。
多个空闲存储块中的每个存储空闲块可以对应于多个块标识符中的一个块标识符。每个块标识符具有储存多个块标识符中的唯一块标识符的内容,所述内容将所述块标识符与所述唯一块标识符相链接,从而在所述多个空闲存储块之间形成链接关系。另外,可以根据所述多个空闲存储块之间的链接关系而将所述文件储存在所述多个空闲存储块中。
具体而言,当储存文件时,可以引用当前可操作的块标识符并且可以将所述文件的图像文件组件储存在被所述当前可操作的块标识符标识为当前空闲的存储块的存储块中。可以基于最后占用的块标识符以及由块索引中被占用的块标识符所链接的块标识符来确定当前可操作的块标识符。
每次储存块时,可以更新块索引中的值。另外,当储存块时,可以更新储存在超扇区中的当前可操作的块标识符。具体而言,超扇区可以是用于描述磁盘系统结构的信息扇区中的表。
在储存文件之后,在储存来自所述文件的全部数据之后,更新所述当前可操作的块标识符。另外,可以更新当前可操作的索引节点标识符,以便反映下一个可用的索引节点标识符。具体而言,可以通过向先前的当前可操作的索引节点标识符添加连续增量来确定所述下一个可用的索引节点标识符。
在其他示例中,写过程可以通过在接收文件之前初始化文件系统而开始。具体而言,初始化文件系统可以包括确定并记录当前可操作的索引节点标识符。另外,所述初始化文件系统可以包括确定并记录当前可操作的空闲块。另外,可以从存储器向硬盘写入用于描述磁盘系统结构的表。在示例中,能够每一秒向所述硬盘写入所述表。
在进一步示例中,使用的图像捕捉装置可以安装在可移动物体上。所述可移动物体可以是无人飞行器。另外,捕捉文件的步骤可以发生在所述无人飞行器处于飞行状态时。在示例中,所述文件可以是媒体文件、图像文件或视频文件。
本文公开的实施方式的优点是高效的读过程,所述读过程可以基于优化的、用于储存图像的文件结构而得到利用。具体而言,使用当前系统检索到的文件不需要用以确定图像文件组件的位置的开销。相反,当前的实施方式是针对储存目录的,所述目录提供所储存的图像组件的每个位置。以这种方式,当检索到图像文件时,不存在搜索图像文件组件的位置所需的开销。这与先前设计的文件结构系统相比具有优势,在所述先前设计的文件结构系统中,与检索文件相关联的开销可能相当大,特别是对于图像文件或多媒体文件。在读取图像文件时,由于当前的实施方式不具有与确定图像文件组件的位置相关联的开销,所以与确定图像文件组件的位置相关联的读过程的一些部分与文件大小无关。
当文件系统启动时,可以建立存储器架构结构的结构组件。具体而言,当文件系统启动时,处理器可以将与存储器架构结构的每个文件结构组件相关联的信息读取到存储器中,但所述块区除外。进一步地,所述系统可以在信息可用的文件结构内填入信息。例如,系统可以填入最后创建的目录的标识符,诸如超扇区结构200中的标识符225;当前可操作的索引节点的标识符,诸如超扇区结构200中的标识符230;以及当前可操作的块的标识符,诸如超扇区结构200中的标识符250,以及其他信息。
一旦初始化系统,硬件就可以发出用于读取图像的命令。另外,可以通过软件来分析命令串,以确定要读取的图像的位置。然而,在本发明的实施方式中,图像文件组件的位置可以包括目录。正因如此,当图像的位置目录包括在命令串中时,所述软件无需进一步地查找图像的位置。相反,软件仅需打开所述目录并且找到图像的位置。软件可以访问与图像相关联的号码,以便允许所述软件确定与图像相关联的目录项。因此,软件可以根据目录名来搜索目录表。另外,可以基于所述搜索而找到对应的目录项。进一步地,可以根据目录项中的起始索引节点号和末尾索引节点号来为用于储存图像的标识符进行索引。
以这种方式,可以通过分析与起始索引节点号和末尾索引节点号相关联的索引节点来找到图像的位置。另外,可以读取索引节点中的块数与每个块的索引标识符。基于此信息,可以根据块索引来读取来自块区中的读数据。
可以在接收到读请求时起始用于访问文件的读过程的示例。一旦接收到读请求,就可以读取与所述读请求相关联的索引节点。索引节点可以储存多个块标识符,所述多个块标识符对应于储存文件的多个存储块。另外,可以读取储存文件的所述多个存储块。具体而言,可以使用储存在索引节点中的块标识符来访问所述多个存储块。
在进一步示例中,多个块标识符中的第一块标识符可被列为当前可操作的块标识符。另外,当前可操作的块标识符可以引用当前空闲的存储块,诸如对应于第一块标识符的当前空闲的存储块。被列为当前可操作的块标识符的块标识符可以不被储存在另一块标识符的内容中。具体而言,块标识符可以具有指向下一个可用于储存文件内容的块标识符的内容。如果块标识符是当前可操作的块标识符,则因此不存在具有与当前可操作的块标识符相匹配的内容的块标识符。另外,一旦对应于当前可操作的块标识符的空闲存储块储存有文件组件,所述存储块就不再是空闲的,并且更新所述当前可操作的块标识符。具体而言,将当前可操作的块标识符从所述第一块标识符更新为列于块索引中的第二块标识符。
图9中图示了用于链接块存储区域中的空闲存储块的组件之间的关系。具体而言,图9图示了根据本发明实施方式的块索引900与块存储区域950之间的关系。具体而言,图9图示了具有块ID标识符单元905、910、915、920和925的块索引900。每个块ID标识符单元905、910、915、920和925分别对应于存储块区950处的存储块955、960、965、970、975。另外,每个块ID标识符单元905、910、915、920和925分别储存内容907、912、917、922和927。
当块ID标识符单元(诸如块ID标识符单元915)具有标记为“已占用”的内容917时,块存储区域950内对应于块ID标识符单元915的存储块被占用。如图9中所见,存储块965对应于块ID标识符单元915。由于块ID标识符单元915的内容917是“已占用”,所以对应的存储块965由于也被占用因而显示为阴影。一旦存储块被占用,则将对每个被占用存储块的引用储存在索引节点内,所述索引节点储存相关联文件的位置信息。例如,如果被占用的存储块“块1”和“块3”储存与同一文件相关联的文件组件,那么对每个存储块的引用将会储存在共享的索引节点或“Inode”内。
由于索引节点储存了对存储块——其用于储存文件的文件组件——的位置的引用,所以当接收到检索文件的读请求时,可以不需要搜索。更确切地说,当接收到针对特定文件的读请求时,可以确定相关联的索引节点并且读取储存文件组件的存储块的位置。以这种方式,检索文件的速率与文件的大小无关,因为在储存与文件相关联的信息的索引节点内提供了对与所述文件相关联的每个位置的引用。
另外,当块ID标识符单元,诸如块标识符910,具有引用另一块标识符的内容时,一旦对应于块ID标识符单元910的存储块被占用,则块存储区域950内对应于块标识符912的存储块就是下一个要被占用的存储块。如图9中所见,一旦对应于被引用为“块id 2”的块ID标识符单元910的存储块被占用,下一个要被文件组件占用的后续存储块将会是被引用为“块id 4”的块标识符912。以这种方式,链接多个块标识符。具体而言,如图9中所见,被引用为“块id 2”的块ID标识符单元910链接到被引用为“块id 4”的块ID标识符单元920,所述块ID标识符单元920继而链接到被引用为“块id 5”的块ID标识符单元925。
图10和图11中讨论了根据本文所述示例来更新文件结构的示例。图10提供了根据本发明实施方式在储存文件组件之前的文件系统的示意图。具体而言,图10图示了文件1000,所述文件1000具有可储存在文件系统1010中的文件组件1005。文件组件1005可以储存在块存储区域1015的存储块1020中。块存储区域1015中的每个存储块1020对应于列在块索引1025中的块标识符1030。每个块标识符1030对应于块存储区域1015中的存储块1020。这种关联在图10中可见,例如被引用为“1”、“2”、“3”和“4”的块ID标识符单元1030分别对应于块存储区域1015内被引用为“1”、“2”、“3”和“4”的存储块1020。
根据通过块索引1025来链接存储块1020的文件结构,文件组件1005可以储存在块存储区域1015中。具体而言,存储块1020由列于块索引1025中的块ID标识符单元1030引用,并且进一步地,每个块ID标识符单元1030具有引用可用于储存后续文件组件的链接块的内容1035。另外,文件结构1010通过引用超扇区1040处的当前可操作的块标识符1045而标识出块存储区域1015内可用于储存文件组件的存储块1020。如图10中所见,当前可操作的块标识符1045被引用为“块2”。正因如此,文件组件1005储存在块存储区域1015内被引用为“2”的存储块1020处。进一步地,在将文件组件1005储存在块存储区域1020的块2处之后,将对应于块2的块ID标识符单元1030储存在当前的索引节点1050处,所述索引节点1050与正被储存的文件1000相关联。
一旦已经在块2处储存文件组件1005,则将会在块存储区域的后续存储块1020处储存下一个文件组件1005。后续存储块的块ID标识符单元1030(被引用为“下一个块4”)可被标识为块ID标识符单元1030的内容1035(被引用为如图10中所见的“2”)。这个后续的块标识符继而用于更新当前可操作的块标识符1045。具体而言,图11提供了在文件组件已被储存在存储块1020(被引用为块存储区域1015的“块2”)处之后更新的文件系统1000的示意图。
如图11中所见,当前可操作的块标识符1045已被更新并且被引用为“块4”。当前的索引节点1050也已被更新成包括对“块2”的引用,因为文件1000的文件组件1005储存在被引用为存储块区域1015的“块2”的存储块1020中。另外,块存储区域1020的块2已被更新成标记有星号*,以便指示出块2现已被更新。进一步地,因为存储块区域1020的块2现已被占用,所以对应于“2”的块ID标识符单元1030的内容1035被更新成引用“已占用”。因此,文件1000的下一个文件组件1005将会储存在存储块1020处,所述存储块1020被引用为由当前可操作的块标识符1045标识的存储块区域1015中的“块4”。
一旦文件已被存储,则可能在将来的某个时间将其从文件结构中删除。具体而言,当用户将附加数据的采集优先于对先前获取并储存的数据的保留时,可以删除文件。在示例中,可以将文件从存储块区域中删除。在其他示例中,部分文件可以从文件检索引用中断开连接,并且后续的数据可以重写所述部分文件。一旦发生这种情况,提供本发明的系统和方法,用于增加图像存储系统中的可用存储。
具体而言,提供了增加图像存储系统中的可用存储的方法的示例。所述方法包括将当前的块标识符标识为引用第二空闲存储块的第二块标识符。所述方法还包括确定对应于第一块标识符的被占用的存储块已变为空闲。另外,所述方法包括将当前块标识符由第二块标识符更新为第一块标识符。所述方法还包括将第一块标识符列于块索引中,并且使所述第一块标识符与储存第二块标识符的第一内容相关联。第二空闲存储块的位置独立于第一空闲存储块的位置。
在附加示例中,所述方法包括确定对应于第三块标识符的第二空闲存储块已变为空闲。所述方法还可以包括将当前可操作的块标识符由第一块标识符更新为第三块标识符。另外,确定被占用的存储块已变为空闲可以包括:接收表明已删除对存储文件中被占用存储块的引用的指示。进一步地,确定被占用的存储块已变为空闲可以包括:接收表明已删除储存在所述存储块内的内容的指示。
本公开内容提供了计算机控制系统,所述系统被编程用于实现本公开内容的方法。图12示出被编程或以其他方式被配置成用于处理视频数据的计算机系统1201。计算机系统1201可以调节本公开内容的写图像数据和读图像数据的各个方面,举例而言,诸如捕捉图像数据、写存储数据和读存储数据。计算机系统1201可以是图像捕捉系统的处理器、用户的电子装置或者关于电子装置远程定位的计算机系统。所述电子装置可以是移动电子装置。
计算机系统1201包括中央处理单元(CPU,在本文中也称为“处理器”和“计算机处理器”)1205,所述中央处理单元可以是单核或多核处理器或者用于并行处理的多个处理器。计算机系统1201还包括存储器或存储器位置1210(例如,随机存取存储器、只读存储器、闪存存储器)、电子存储单元1215(例如,硬盘)、用于与一个或多个其他系统通信的通信接口1220(例如,网络适配器)以及外围装置1225,诸如高速缓冲存储器、其他存储器、数据存储和/或电子显示适配器。存储器1210、存储单元1215、接口1220以及外围装置1225通过诸如主板等通信总线(实线)与CPU 1205通信。存储单元1215可以是用于储存数据的数据存储单元(或数据储存库)。计算机系统1201可以借助于通信接口1220而可操作地耦合至计算机网络(“网络”)1230。网络1230可以是因特网、内联网和/或外联网、或者与因特网通信的内联网和/或外联网。在一些情况下,网络1230是电信和/或数据网络。网络1230可以包括一个或多个计算机服务器,所述计算机服务器可以支持分布式计算,诸如云计算。在一些情况下,借助于计算机系统1201,网络1230可以实现对等网络,所述对等网络可以使耦合到计算机系统1201的装置能够表现为客户端或服务器。
CPU 1205可以执行一系列机器可读的指令,所述指令可以体现在程序或软件中。所述指令可以储存在诸如存储器1210等存储器位置中。所述指令可被引导至CPU 1205,其可随后对CPU 1205进行编程或以其他方式进行配置以实现本公开内容的方法。由CPU 1205执行的操作的示例可以包括提取、解码、执行和回写。
CPU 1205可以是诸如集成电路等电路的一部分。系统1201的一个或多个其他组件可以包括在所述电路中。在一些情况下,所述电路为专用集成电路(ASIC)。
存储单元1215可以储存文件,诸如驱动程序、库和已保存的程序。存储单元1215可以储存用户数据,例如,用户偏好和用户程序。在一些情况下,计算机系统1201可以包括位于计算机系统1201之外的诸如位于远程服务器之上的一个或多个附加数据存储单元,所述远程服务器通过内联网或因特网与计算机系统1201通信。
计算机系统1201可以通过网络1230与一个或多个远程计算机系统通信。举例而言,计算机系统1201可以与用户的远程计算机系统(例如,用户终端)通信。远程计算机系统的示例包括个人计算机(例如,便携式PC)、触屏平板计算机或平板计算机(例如,
Figure GDA0002799549630000211
iPad、
Figure GDA0002799549630000212
Galaxy Tab)、电话、智能电话(例如,
Figure GDA0002799549630000213
iPhone、支持Android的装置、
Figure GDA0002799549630000214
)或个人数字助理。用户可以经由网络1230来访问计算机系统1201。
本文描述的方法可以通过机器(例如,计算机处理器)可执行的代码的方式实现,所述代码储存在计算机系统1201的电子存储位置上,举例而言,诸如储存在存储器1210或电子存储单元1215上。机器可执行的或机器可读的代码能够以软件的形式提供。在使用期间,代码可以由处理器1205执行。在一些情况下,可以从存储单元1215中检索代码并将其储存在存储器1210上,以便于由处理器1205访问。在一些情况下,电子存储单元1215可被排除,并且机器可执行指令储存在存储器1210上。
代码可被预编译和配置成用于与具有适于执行代码的处理器的机器一起使用,或者可以在运行期间被编译。代码能够以编程语言提供,可以对所述编程语言进行选择以使得代码能够以预编译或即时编译的方式执行。
本文提供的系统和方法的方面,诸如计算机系统1201,可以体现在编程中。所述技术的各个方面可被认为是通常以机器(或处理器)可执行代码和/或携带在或体现在一类机器可读介质中的相关联数据的形式提供的“产品”或“制品”。机器可执行代码可以储存在诸如存储器(例如,只读存储器、随机存取存储器、闪存存储器)或硬盘等电子存储单元上。“存储”类介质可以包括计算机、处理器等或其相关联模块的任何或全部有形存储器,诸如各种半导体存储器、磁带驱动器、硬盘驱动器等,其可以在任何时候提供用于软件编程的非暂时性存储。全部或部分软件有时可以通过因特网或各种其他电信网络进行通信。此类通信例如可以支持将软件从一个计算机或处理器上传至另一计算机或处理器中,例如,从管理服务器或主机上传至应用服务器的计算机平台中。因此,可以承载软件元素的另一类介质包括光波、电波和电磁波,诸如通过有线网络和光固话网络以及通过各种空间链路而在本地装置之间的物理接口中使用。携带这种波的物理元素,诸如有线或无线链路、光链路等,也可以被认为是承载所述软件的介质。如本文所使用的,除非受限于非暂时性有形“存储”介质,否则诸如计算机或机器“可读介质”等术语是指参与向处理器提供用于执行的指令的任何介质。
因此,机器可读介质,诸如计算机可执行代码,可以采取许多形式,包括但不限于有形存储介质、载波介质或物理传输介质。非易失性存储介质例如包括光盘或磁盘,诸如任何一个或多个计算机等中的任何存储装置,诸如可以用于实现附图中示出的数据库等。易失性存储介质包括动态存储器,诸如此类计算机平台的主存储器。有形传输介质包括同轴电缆;铜线和光纤,其包括含有位于计算机系统内的总线的线缆。载波传输介质可以采取电信号或电磁信号、或者声波或光波(诸如在射频(RF)和红外(IR)数据通信期间生成的那些波)的形式。因此,计算机可读介质的常见形式例如包括:软盘、柔性盘、硬盘、磁带、任何其他磁介质、CD-ROM、DVD或DVD-ROM、任何其他光介质、穿孔卡片纸带、具有孔图案的任何其他物理存储介质、RAM、ROM、PROM和EPROM、FLASH-EPROM、任何其他存储芯片或存储盒、传送数据或指令的载波、传送此类载波的电缆或链路、或者计算机可从其中读取编程代码和/或数据的任何其他介质。这些形式的计算机可读介质中的许多可以涉及携带一个或多个指令的一个或多个序列至处理器以供执行。
计算机系统1201可以包括电子显示器1235或者可以与其通信,所述电子装置1235包括用于提供例如用户终端的用户界面(UI)1240,所述用户终端播放视频和/或允许用户在用户界面1240上编辑视频。UI的示例包括但不限于图形用户界面(GUI)和基于网络的用户界面。
本公开内容的方法和系统可以通过一种或多种算法的方式实现。算法可以在由中央处理单元1205执行时通过软件的方式实现。算法例如可以通过在对应于块存储区域内的存储块的块标识符之间形成链接关系来创建高效的块存储区域。
在一些实施方式中,在本文讨论的实施方式中使用的图像捕捉装置可以是相机。另外,相机可以与无人飞行器的组件一起使用并且附着至所述组件。相机可以刚性地耦合至无人飞行器。或者,相机可被允许相对于无人飞行器而移动。在一些情况下,相机可被允许相对于无人飞行器而关于多达六个自由度移动。相机可以直接安装到无人飞行器上,可以并入无人飞行器内或者可以耦合到安装在无人飞行器上的载体。在一些实施方式中,载体可以是云台。载体可以允许相机关于一个、两个、三个、四个或更多个旋转轴线旋转。这可以允许改变由相机捕捉的视野。在一些实施方式中,相机可以是无人飞行器的有效载荷。
相机可以捕捉无人飞行器的环境的图像。所述图像可以包括静止图像(例如,快照)和/或视频图像。相机可以连续捕捉视频和/或快照。或者,相机可以按特定频率来捕捉视频和/或快照,以随时间推移而产生一系列图像数据和/或视频数据。在一些实施方式中,可以在记录环境音频的同时捕捉视频。
在一些实施方式中,捕捉的视频和/或图像可以储存在搭载于无人飞行器上的存储器中。所述存储器可以位于图像捕捉装置上,或者可以与图像捕捉装置分离。所述存储器可以包括非暂时性计算机可读介质,所述非暂时性计算机可读介质可以包括一个或多个存储器单元(例如,诸如安全数码(SD)卡等可移动介质或外部存储、或随机存取存储器(RAM)、或只读存储器(ROM)或闪存存储器)。或者,捕捉的视频和/或图像可被传输至远程终端。捕捉的视频和/或图像的传输可以通过无线链接来实现,所述无线链接包括但不限于射频(RF)链接、Wi-Fi链接、蓝牙链接、2G链接、3G链接或LTE链接。
相机可以包括图像传感器以及一个或多个光学元件,诸如镜头。所述一个或多个镜头可被配置成用于将光引导至图像传感器。图像传感器是一种将光学图像转换成电子信号的装置。相机的图像传感器可以是电荷耦合装置(CCD)类型、互补金属氧化物半导体(CMOS)类型、N型金属氧化物半导体(NMOS)类型或背照式CMOS(BSI-CMOS)类型。可选地,来自图像传感器的图像数据可以储存在图像捕捉装置之上或之外的存储器中。所述存储器可以位于无人飞行器之上。
光学系统的焦距是对所述系统会聚或发散光的强度的测量。光学镜头的焦距是最初经准直的光线聚焦到一个焦点所经过的距离。存在两种类型的镜头:定焦镜头和变焦镜头。定焦镜头可以具有固定的焦距并且所述焦距可以包含单一焦距。变焦镜头可以具有可变的焦距并且所述焦距可以包含多个焦距。在一些实施方式中,相机的镜头可以是变焦镜头。或者,相机的镜头可以是定焦镜头。
在一些实施方式中,适合于本发明的图像捕捉装置的变焦镜头的焦距范围的下限可以小于或等于1mm、2mm、4mm、6mm、8mm、10mm、15mm、20mm、25mm、30mm、35mm、40mm、45mm、50mm、55mm、60mm、65mm、70mm、75mm、80mm、85mm、90mm、95mm、100mm、105mm、110mm、120mm、130mm、140mm、150mm、160mm、170mm、180mm、190m、200mm、220mm、240mm、260mm、280mm、300mm、320mm、340mm、360mm、380mm、400mm、450mm、500mm、550mm、600mm、650mm、700mm、750mm、800mm、850mm、900mm、950mm、1000mm或1150mm。可选地,针对本发明的图像捕捉装置的焦距范围的下限可以小于或等于本文描述的任何值。适合于本发明的图像捕捉装置的变焦镜头的焦距范围的下限可以具有落在本文描述的任何两个值之间的范围内的值。
在一些情况下,适合于本发明的图像捕捉装置的变焦镜头的焦距范围的上限可以小于或等于2mm、5mm、10mm、15mm、20mm、25mm、30mm、35mm、40mm、45mm、50mm、55mm、60mm、65mm、70mm、75mm、80mm、85mm、90mm、95mm、100mm、105mm、110mm、120mm、130mm、140mm、150mm、160mm、170mm、180mm、190mm、200mm、220mm、240mm、260mm、280mm、300mm、320mm、340mm、360mm、380mm、400mm、450mm、500mm、550mm、600mm、650mm、700mm、750mm、800mm、850mm、900mm、950mm、1000mm、1150mm或2000mm。可选地,适合于本发明的图像捕捉装置的变焦镜头的焦距范围的上限可以小于或等于本文描述的任何值。适合于本发明的图像捕捉装置的变焦镜头的焦距范围的上限可以具有落在本文描述的任何两个值之间的范围内的值。
在一些情况下,适合于本发明的图像捕捉装置的定焦镜头的焦距可以小于或等于1mm、2mm、4mm、6mm、5mm、6mm、8mm、10mm、12mm、14mm、16mm、18mm、20mm、22mm、24mm、26mm、28mm、30mm、35mm、40mm、45mm、50mm、55mm、60mm、65mm、70mm、75mm、80mm、85mm、90mm、95mm、100mm、105mm、110mm、120mm、130mm、140mm、150mm、160mm、170mm、180mm、190mm、200mm、220mm、240mm、260mm、280mm、300mm、320mm、340mm、360mm、380mm、400mm、450mm、500mm、550mm、600mm、650mm、700mm、750mm、800mm、850mm、900mm、950mm、1000mm、1150mm或1200mm。可选地,适合于本发明的图像捕捉装置的定焦镜头的焦距可以小于或等于本文描述的任何值。适合于本发明的图像捕捉装置的定焦镜头的焦距可以具有落在本文描述的任何两个值之间的范围内的值。
在摄影中,视野(FOV)是通过空间中处于特定位置和朝向的相机可见的那部分世界;拍摄照片时位于FOV之外的物体不被记录在照片中。作为视角,其最经常表示为视图锥面的角大小。对于标准镜头,视野可被计算为FOV=2arctan(d/2f),其中d为图像传感器大小,而f是镜头的焦距。对于具有固定大小的图像传感器,定焦镜头可以具有固定的FOV并且所述FOV可以包含单一FOV角度。对于具有固定大小的图像传感器,变焦镜头可以具有可变的FOV角范围并且所述FOV角范围可以包含多个FOV角度。
在一些情况下,适合于本发明的图像捕捉装置的定焦镜头的FOV可以小于或等于170°、169°、165°、160°、155°、150°、145°、140°、135°、130°、125°、120°、115°、110°、105°、100°、95°、90°、85°、80°、75°、70°、65°、60°、55°、50°、45°、40°、35°、30°、25°、20°、15°、10°、5°、3°、2°或1°。可选地,适合于本发明的图像捕捉装置的定焦镜头的FOV可以小于或等于本文描述的任何值。适合于本发明的图像捕捉装置的定焦镜头的FOV可以具有落在本文描述的任何两个值之间的范围内的值。
在一些情况下,适合于本发明的图像捕捉装置的变焦镜头的FOV角范围的下限可以小于或等于170°、169°、165°、160°、155°、150°、145°、140°、135°、130°、125°、120°、115°、110°、105°、100°、95°、90°、85°、80°、75°、70°、65°、60°、55°、50°、45°、40°、35°、30°、25°、20°、15°、10°、5°、3°、2°或1°。可选地,适合于本发明的图像捕捉装置的变焦镜头的FOV角范围的下限可以小于或等于本文描述的任何值。适合于本发明的图像捕捉装置的变焦镜头的FOV角范围的下限可以具有落在本文描述的任何两个值之间的范围内的值。
在一些情况下,适合于本发明的图像捕捉装置的变焦镜头的FOV角范围的上限可以小于或等于170°、169°、165°、160°、155°、150°、145°、140°、135°、130°、125°、120°、115°、110°、105°、100°、95°、90°、85°、80°、75°、70°、65°、60°、55°、50°、45°、40°、35°、30°、25°、20°、15°、10°、5°、3°、2°或1°。可选地,适合于本发明的图像捕捉装置的变焦镜头的FOV角范围的上限可以小于或等于本文描述的任何值。适合于本发明的图像捕捉装置的变焦镜头的FOV角范围的上限可以具有落在本文描述的任何两个值之间的范围内的值。
图像捕捉装置可以是高分辨率图像捕捉装置。在一些实施方式中,图像捕捉装置可以是能够实现4K分辨率的4K图像捕捉装置。图像捕捉装置可以能够实现大于或等于约1000像素、2000像素、2500像素、3000像素、3500像素、4000像素、4500像素、5000像素、5500像素、6000像素、7000像素、8000像素或10000像素的水平分辨率。在一些情况下,图像捕捉装置可以实现小于或等于约4000像素、6000像素、8000像素、10000像素、12000像素、15000像素、20000像素或30000像素的水平分辨率。任何捕捉到的图像的水平分辨率可以落在本文描述的任何值之间。高分辨率相机可以能够将以所述分辨率捕捉到的图像储存在存储器中。或者,图像能够以低于其被捕捉到时的分辨率而被储存。图像能够以高分辨率来储存,诸如以本文描述的任何分辨率来储存。
本文所描述的系统、装置和方法可以适用于多种物体,包括可移动物体和静止物体。如前文所述,本文对诸如无人飞行器等飞行器的任何描述均可适用于和用于任何可移动物体。本文对飞行器的任何描述均可具体适用于无人飞行器。本发明的可移动物体可被配置成用于在任何合适的环境内移动,诸如在空中(例如,固定翼飞行器、旋翼飞行器或者既不具有固定翼也不具有旋翼的飞行器)、在水中(例如,船舶或潜艇)、在地面上(例如,机动车,诸如轿车、卡车、公交车、厢式货车、摩托车、自行车;可移动结构或框架,诸如棒状物、钓鱼竿;或者火车)、在地下(例如,地铁)、在太空(例如,航天飞机、卫星或探测器),或者这些环境的任何组合。可移动物体可以是载运工具,诸如本文其他各处所描述的载运工具。
可移动物体可以能够在所述环境内关于六个自由度(例如,三个平移自由度和三个旋转自由度)而自由移动。或者,可移动物体的移动可能关于一个或多个自由度受到约束,诸如由预定路径、轨迹或朝向所约束。所述移动可以由诸如引擎或电机等任何合适的致动机构所致动。可移动物体的致动机构可以由任何合适的能源提供动力,诸如电能、磁能、太阳能、风能、重力能、化学能、核能或者其任何合适的组合。可移动物体可以如本文其他各处所述,经由推进系统而自推进。所述推进系统可以可选地依靠能源运行,所述能源诸如为电能、磁能、太阳能、风能、重力能、化学能、核能或者其任何合适的组合。或者,可移动物体可以由生物所携带。
在一些情况下,可移动物体可以是飞行器。例如,飞行器可以是固定翼飞行器(例如,飞机、滑翔机)、旋翼飞行器(例如,直升机、旋翼机)、同时具有固定翼和旋翼的飞行器或者既无固定翼又无旋翼的飞行器(例如,飞艇、热气球)。飞行器可以是自推进式,诸如在空中自推进。自推进式飞行器可以采用推进系统,诸如包括一个或多个引擎、电机、轮子、轮轴、磁体、旋翼、螺旋桨、桨叶、喷嘴或者其任何合适组合的推进系统。在一些情况下,推进系统可以用于使可移动物体能够从表面起飞、降落在表面上、保持其当前位置和/或朝向(例如,悬停)、改变朝向和/或改变位置。
可移动物体可以由用户遥控或者由可移动物体之内或之上的乘员在本地控制。可移动物体可以经由单独的载运工具内的乘员来遥控。在一些实施方式中,可移动物体是无人的可移动物体,诸如无人飞行器。无人的可移动物体,诸如无人飞行器,可以不具有搭乘所述可移动物体的乘员。可移动物体可以由人类或自主控制系统(例如,计算机控制系统)或者其任何合适的组合来控制。可移动物体可以是自主式或半自主式机器人,诸如配置具有人工智能的机器人。
可移动物体可以具有任何合适的大小和/或尺寸。在一些实施方式中,可移动物体可以具有能容纳人类乘员身处载运工具之内或之上的大小和/或尺寸。或者,可移动物体可以具有比能够容纳人类乘员身处载运工具之内或之上的大小和/或尺寸更小的大小和/或尺寸。可移动物体可以具有适合于由人类搬运或携带的大小和/或尺寸。或者,可移动物体可以大于适合由人类搬运或携带的大小和/或尺寸。在一些情况下,可移动物体可以具有的最大尺寸(例如,长度、宽度、高度、直径、对角线)小于或等于约:2cm、5cm、10cm、50cm、1m、2m、5m或10m。所述最大尺寸可以大于或等于约:2cm、5cm、10cm、50cm、1m、2m、5m或10m。例如,可移动物体的相对的旋翼的轴之间的距离可以小于或等于约:2cm、5cm、10cm、50cm、1m、2m、5m或10m。或者,相对的旋翼的轴之间的距离可以大于或等于约:2cm、5cm、10cm、50cm、1m、2m、5m或10m。
在一些实施方式中,可移动物体可以具有小于100cm x 100cm x 100cm、小于50cmx 50cm x 30cm或小于5cm x 5cm x 3cm的体积。可移动物体的总体积可以小于或等于约:1cm3、2cm3、5cm3、10cm3、20cm3、30cm3、40cm3、50cm3、60cm3、70cm3、80cm3、90cm3、100cm3、150cm3、200cm3、300cm3、500cm3、750cm3、1000cm3、5000cm3、10,000cm3、100,000cm3、1m3或10m3。相反地,可移动物体的总体积可以大于或等于约:1cm3、2cm3、5cm3、10cm3、20cm3、30cm3、40cm3、50cm3、60cm3、70cm3、80cm3、90cm3、100cm3、150cm3、200cm3、300cm3、500cm3、750cm3、1000cm3、5000cm3、10,000cm3、100,000cm3、1m3或10m3
在一些实施方式中,可移动物体可以具有的占地面积(这可以指由所述可移动物体所包围的横截面面积)小于或等于约:32,000cm2、20,000cm2、10,000cm2、1,000cm2、500cm2、100cm2、50cm2、10cm2或5cm2。相反地,所述占地面积可以大于或等于约:32,000cm2、20,000cm2、10,000cm2、1,000cm2、500cm2、100cm2、50cm2、10cm2或5cm2
在一些情况下,可移动物体可以不超过1000kg重。可移动物体的重量可以小于或等于约:1000kg、750kg、500kg、200kg、150kg、100kg、80kg、70kg、60kg、50kg、45kg、40kg、35kg、30kg、25kg、20kg、15kg、12kg、10kg、9kg、8kg、7kg、6kg、5kg、4kg、3kg、2kg、1kg、0.5kg、0.1kg、0.05kg或0.01kg。相反地,所述重量可以大于或等于约:1000kg、750kg、500kg、200kg、150kg、100kg、80kg、70kg、60kg、50kg、45kg、40kg、35kg、30kg、25kg、20kg、15kg、12kg、10kg、9kg、8kg、7kg、6kg、5kg、4kg、3kg、2kg、1kg、0.5kg、0.1kg、0.05kg或0.01kg。
在一些实施方式中,可移动物体相对于所述可移动物体所携带的负荷可以较小。如本文其他各处进一步详述,所述负荷可以包括有效载荷和/或载体。在一些示例中,可移动物体的重量与负荷重量之比可以大于、小于或等于约1:1。在一些情况下,可移动物体的重量与负荷重量之比可以大于、小于或等于约1:1。可选地,载体重量与负荷重量之比可以大于、小于或等于约1:1。当需要时,可移动物体的重量与负荷重量之比可以小于或等于:1:2、1:3、1:4、1:5、1:10或者甚至更小。相反地,可移动物体的重量与负荷重量之比还可以大于或等于:2:1、3:1、4:1、5:1、10:1或者甚至更大。
在一些实施方式中,可移动物体可以具有低能耗。例如,可移动物体可以使用小于约:5W/h、4W/h、3W/h、2W/h、1W/h或更小。在一些情况下,可移动物体的载体可以具有低能耗。例如,载体可以使用小于约:5W/h、4W/h、3W/h、2W/h、1W/h或更小。可选地,可移动物体的有效载荷可以具有低能耗,诸如小于约:5W/h、4W/h、3W/h、2W/h、1W/h或更小。
图13图示了根据本发明实施方式的储存文件的方法的流程图1300。在方框1310中,接收文件。在方框1320中,确定储存文件所需的多个空闲存储块。在方框1330中,将文件储存在所述多个空闲存储块中。具体而言,根据多个空闲存储块之间的链接关系而将文件储存在所述多个空闲存储块中。所述方法还可以包括将对文件的描述储存在索引节点中。每个索引节点标识符可以列在连续表中。可以通过向最近占用的索引节点标识符添加固定增量来确定当前可用的索引节点标识符。所述固定增量可以是1。
所述方法还可以包括在完成文件的存储之后,更新当前可用的索引节点标识符。所述方法还可以包括更新储存在当前可用的索引节点内的持有块的数目。当储存块时,更新可储存在关键信息区中的当前可操作的块标识符。所述关键信息区可以位于信息扇区中。所述方法还可以包括在接收文件之前初始化文件系统。初始化文件系统可以包括确定并记录当前可用的索引节点标识符。附加地或备选地,初始化文件系统可以包括确定并记录当前可操作的块标识符。
图14图示了根据本发明实施方式的读文件的方法的流程图1400。在方框1410中,读取索引节点。在方框1420中,读取储存文件的多个存储块。读文件的方法还可以包括在读取索引节点之前接收读取命令。所述方法可以包括在读取索引节点之前接收读取命令。可以在读取索引节点之前分析所述读取命令。分析所述读取命令可以包括确定要读取的内容。
所述方法还可以包括在从目录表读取索引节点之前读取目录项。所述目录项可以与要读取的索引节点的内容相关联。可以从目录项确定起始索引节点标识符。可以从目录项确定末尾索引节点标识符。另外,可以在标识末尾索引节点标识符之后,执行读取索引节点。可以在分析读取命令、索引到对应的目录并且索引到对应的索引节点之后,执行所述读取索引节点。另外,第二空闲存储块的位置可以独立于第一空闲存储块的位置。储存文件所需的存储块的数目可以基于文件内的数据量而计算得到。另外,文件内的数据量可以基于所述文件的分辨率而得以确定。
图15图示了根据本发明实施方式的增加图像存储系统中的可用存储的方法的流程图1500。在方框1510中,将当前可操作的块标识符标识为第二块标识符。所述第二块标识符引用第二空闲存储块。在方框1520中,确定与第一块标识符相关联的被占用的存储块已变为空闲。在方框1530中,将所述当前可操作的块标识符由所述第二块标识符更新为所述第一块标识符。在方框1540中,将所述第一块标识符列在块索引中。所述第一块标识符与储存第二块标识符的第一内容相关联。
所述方法还可以包括确定与第三块标识符相关联的第二空闲存储块已变为空闲,并且将所述当前可操作的块标识符由所述第一块标识符更新为所述第三块标识符。确定所述被占用的存储块已变为空闲可以包括接收表明已删除对存储文件中被占用存储块的引用的指示。另外,确定所述被占用的存储块已变为空闲可以包括接收表明已删除储存在所述存储块内的内容的指示。
虽然本文已经示出和描述了本发明的优选实施方式,但对于本领域技术人员显而易见的是,这样的实施方式只是以示例的方式提供的。本领域技术人员现将会在不偏离本发明的情况下想到许多更改、改变和替代。应当理解,在实践本发明的过程中可以采用对本文所描述的本发明实施方式的各种替代方案。所附权利要求旨在限定本发明的范围,并因此覆盖这些权利要求及其等效项的范围内的方法和结构。

Claims (87)

1.一种储存文件的方法,所述方法包括:
接收所述文件;
基于所述文件内的数据量来计算储存所述文件所需的空闲存储块的数目;
确定储存所述文件所需的多个空闲存储块,其中所述多个空闲存储块中的每个空闲存储块对应于块ID标识符单元,其中每个块ID标识符单元储存下一个空闲存储块的块标识符,从而在所述多个空闲存储块之间形成链接关系;
根据所述多个空闲存储块之间的所述链接关系,将所述文件储存在所述多个空闲存储块中;
将对所述文件的描述储存在索引节点中;以及
每次储存块时,更新块索引中的块ID标识符单元的内容。
2.根据权利要求1所述的方法,其中每个索引节点与索引节点标识符相关联。
3.根据权利要求1所述的方法,还包括:
确定当前可用的索引节点标识符,以在接收到所述文件之后储存对所述文件的描述。
4.根据权利要求3所述的方法,其中在连续表中列出每个索引节点标识符。
5.根据权利要求4所述的方法,其中通过向最近占用的索引节点标识符添加固定增量来确定所述当前可用的索引节点标识符。
6.根据权利要求5所述的方法,其中所述固定增量为1。
7.根据权利要求3所述的方法,还包括:
在完成所述文件的储存之后,更新所述当前可用的索引节点标识符。
8.根据权利要求1所述的方法,其中基于所述文件的分辨率来确定所述文件内的所述数据量。
9.根据权利要求3所述的方法,还包括:
更新储存在所述当前可用的索引节点内的持有块的数目。
10.根据权利要求9所述的方法,其中所述持有块的数目包括对用以储存所述文件的块的数目的引用。
11.根据权利要求1所述的方法,其中当储存块时,更新储存在关键信息区中的当前可操作的块标识符。
12.根据权利要求11所述的方法,其中所述关键信息区位于信息扇区中。
13.根据权利要求12所述的方法,其中使用表来描述磁盘系统结构。
14.根据权利要求11所述的方法,其中所述关键信息区位于硬盘中的文件系统中。
15.根据权利要求14所述的方法,其中所述关键信息区储存超过重要性的阈值水平的磁盘信息。
16.根据权利要求11所述的方法,其中在储存来自所述文件的全部数据之后,更新所述当前可操作的块标识符。
17.根据权利要求1所述的方法,其中基于最后占用的块标识符以及由所述块索引中被占用的块标识符所链接的块标识符,确定当前可操作的块标识符。
18.根据权利要求1所述的方法,还包括:
在接收所述文件之前,初始化文件系统。
19.根据权利要求18所述的方法,其中初始化所述文件系统包括确定并记录当前可用的索引节点标识符。
20.根据权利要求18所述的方法,其中初始化所述文件系统包括确定并记录当前可操作的块标识符。
21.根据权利要求1所述的方法,其中从存储器向硬盘写入用于描述磁盘系统结构的表。
22.根据权利要求21所述的方法,其中能够每一秒向所述硬盘写入所述表。
23.根据权利要求21所述的方法,其中仅向所述硬盘写入更新的内容。
24.根据权利要求21所述的方法,其中使用安装在可移动物体上的媒体捕捉装置来捕捉所述文件。
25.根据权利要求24所述的方法,其中所述可移动物体是无人飞行器(UAV)。
26.根据权利要求25所述的方法,其中在所述无人飞行器处于飞行状态时捕捉所述文件。
27.根据权利要求1所述的方法,其中所述文件是媒体文件。
28.根据权利要求1所述的方法,其中所述文件是图像文件。
29.根据权利要求1所述的方法,其中所述文件是视频文件。
30.一种包含用于储存文件的程序指令的非暂时性计算机可读介质,所述计算机可读介质包括:
用于接收所述文件的程序指令,其中基于所述文件内的数据量来计算储存所述文件所需的空闲存储块的数目;
用于确定储存所述文件所需的多个空闲存储块的程序指令,其中所述多个空闲存储块中的每个空闲存储块对应于块ID标识符单元,其中每个块ID标识符单元储存下一个空闲存储块的块标识符,从而在所述多个空闲存储块之间形成链接关系;
用于根据所述多个空闲存储块之间的所述链接关系将所述文件储存在所述多个空闲存储块中的程序指令;
用于将对所述文件的描述储存在索引节点中的程序指令;以及
用于在每次储存块时更新块索引中的块ID标识符单元的内容的程序指令。
31.根据权利要求30所述的计算机可读介质,其中每个索引节点与索引节点标识符相关联。
32.根据权利要求30所述的计算机可读介质,还包括:
用于确定当前可用的索引节点标识符以在接收到所述文件之后储存对所述文件的描述的程序指令。
33.根据权利要求32所述的计算机可读介质,其中在连续表中列出每个索引节点标识符。
34.根据权利要求33所述的计算机可读介质,其中通过向最近占用的索引节点标识符添加固定增量来确定所述当前可用的索引节点标识符。
35.根据权利要求34所述的计算机可读介质,其中所述固定增量为1。
36.根据权利要求32所述的计算机可读介质,还包括:
用于在完成所述文件的储存之后更新所述当前可用的索引节点标识符的程序指令。
37.根据权利要求30所述的计算机可读介质,其中基于所述文件的分辨率来确定所述文件内的所述数据量。
38.根据权利要求32所述的计算机可读介质,还包括:
用于更新储存在所述当前可用的索引节点内的持有块的数目的程序指令。
39.根据权利要求38所述的计算机可读介质,其中所述持有块的数目包括对用以储存所述文件的块的数目的引用。
40.根据权利要求30所述的计算机可读介质,其中当储存块时,更新储存在关键信息区中的当前可操作的块标识符。
41.根据权利要求40所述的计算机可读介质,其中所述关键信息区位于信息扇区中。
42.根据权利要求40所述的计算机可读介质,其中所述关键信息区位于硬盘中的文件系统中。
43.根据权利要求42所述的计算机可读介质,其中所述关键信息区储存超过重要性的阈值水平的磁盘信息。
44.根据权利要求41所述的计算机可读介质,其中使用表来描述磁盘系统结构。
45.根据权利要求40所述的计算机可读介质,其中在储存来自所述文件的全部数据之后,更新所述当前可操作的块标识符。
46.根据权利要求30所述的计算机可读介质,其中基于最后占用的块标识符以及由所述块索引中被占用的块标识符所链接的块标识符,确定当前可操作的块标识符。
47.根据权利要求30所述的计算机可读介质,还包括:
用于在接收所述文件之前初始化文件系统的程序指令。
48.根据权利要求47所述的计算机可读介质,其中初始化所述文件系统包括确定并记录当前可用的索引节点标识符。
49.根据权利要求47所述的计算机可读介质,其中初始化所述文件系统包括确定并记录当前可操作的块标识符。
50.根据权利要求30所述的计算机可读介质,其中从存储器向硬盘写入用于描述磁盘系统结构的表。
51.根据权利要求50所述的计算机可读介质,其中能够每一秒向所述硬盘写入所述表。
52.根据权利要求50所述的计算机可读介质,其中仅向所述硬盘写入更新的内容。
53.根据权利要求50所述的计算机可读介质,其中使用安装在可移动物体上的媒体捕捉装置来捕捉所述文件。
54.根据权利要求53所述的计算机可读介质,其中所述可移动物体是无人飞行器(UAV)。
55.根据权利要求54所述的计算机可读介质,其中在所述无人飞行器处于飞行状态时捕捉所述文件。
56.根据权利要求30所述的计算机可读介质,其中所述文件是媒体文件。
57.根据权利要求30所述的计算机可读介质,其中所述文件是图像文件。
58.根据权利要求30所述的计算机可读介质,其中所述文件是视频文件。
59.一种用于储存文件的系统,所述系统包括:
媒体捕捉装置,其被配置成用于捕捉文件;以及
一个或多个处理器,其单独地或共同地被配置成用于:
基于所述文件内的数据量来计算储存所述文件所需的空闲存储块的数目;
确定储存所述文件所需的多个空闲存储块,其中所述多个空闲存储块中的每个空闲存储块对应于块ID标识符单元,其中每个块ID标识符单元储存下一个空闲存储块的块标识符,从而在所述多个空闲存储块之间形成链接关系;
根据所述多个空闲存储块之间的所述链接关系,将所述文件储存在所述多个空闲存储块中;
将对所述文件的描述储存在索引节点中;以及
每次储存块时,更新块索引中的值。
60.根据权利要求59所述的系统,其中每个索引节点与索引节点标识符相关联。
61.根据权利要求59所述的系统,其中所述一个或多个处理器还被配置成用于:
在接收到所述文件之后,确定当前可用的索引节点标识符。
62.根据权利要求61所述的系统,其中在连续表中列出每个索引节点标识符。
63.根据权利要求62所述的系统,其中通过向最近占用的索引节点标识符添加固定增量来确定所述当前可用的索引节点标识符。
64.根据权利要求63所述的系统,其中所述固定增量为1。
65.根据权利要求61所述的系统,其中所述一个或多个处理器还被配置成用于:
在完成所述文件的储存之后,更新所述当前可用的索引节点标识符。
66.根据权利要求59所述的系统,其中基于所述文件的分辨率来确定所述文件内的所述数据量。
67.根据权利要求61所述的系统,其中所述一个或多个处理器还被配置成用于:
更新储存在所述当前可用的索引节点内的持有块的数目。
68.根据权利要求67所述的系统,其中所述持有块的数目包括对用以储存所述文件的块的数目的引用。
69.根据权利要求59所述的系统,其中当储存块时,更新储存在关键信息区中的当前可操作的块标识符。
70.根据权利要求69所述的系统,其中所述关键信息区位于信息扇区中。
71.根据权利要求69所述的系统,其中所述关键信息区位于硬盘中的文件系统中。
72.根据权利要求71所述的系统,其中所述关键信息区储存超过重要性的阈值水平的磁盘信息。
73.根据权利要求70所述的系统,其中使用表来描述磁盘系统结构。
74.根据权利要求69所述的系统,其中在储存来自所述文件的全部数据之后,更新所述当前可操作的块标识符。
75.根据权利要求59所述的系统,其中基于最后占用的块标识符以及由所述块索引中被占用的块标识符所链接的块标识符,确定当前可操作的块标识符。
76.根据权利要求59所述的系统,其中所述一个或多个处理器还被配置成用于:
在接收所述文件之前,初始化文件系统。
77.根据权利要求76所述的系统,其中初始化所述文件系统包括确定并记录当前可用的索引节点标识符。
78.根据权利要求76所述的系统,其中初始化所述文件系统包括确定并记录当前可操作的块标识符。
79.根据权利要求59所述的系统,其中从存储器向硬盘写入用于描述磁盘系统结构的表。
80.根据权利要求79所述的系统,其中能够每一秒向所述硬盘写入所述表。
81.根据权利要求79所述的系统,其中仅向所述硬盘写入更新的内容。
82.根据权利要求79所述的系统,其中使用安装在可移动物体上的媒体捕捉装置来捕捉所述文件。
83.根据权利要求82所述的系统,其中所述可移动物体是无人飞行器(UAV)。
84.根据权利要求83所述的系统,其中在所述无人飞行器处于飞行状态时,进行捕捉所述文件的步骤。
85.根据权利要求59所述的系统,其中所述文件是媒体文件。
86.根据权利要求59所述的系统,其中所述文件是图像文件。
87.根据权利要求59所述的系统,其中所述文件是视频文件。
CN201580080625.6A 2015-06-01 2015-06-01 用于存储器架构的系统和方法 Expired - Fee Related CN107615253B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/080532 WO2016192025A1 (en) 2015-06-01 2015-06-01 Systems and methods for memory architecture

Publications (2)

Publication Number Publication Date
CN107615253A CN107615253A (zh) 2018-01-19
CN107615253B true CN107615253B (zh) 2021-03-12

Family

ID=57439788

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580080625.6A Expired - Fee Related CN107615253B (zh) 2015-06-01 2015-06-01 用于存储器架构的系统和方法

Country Status (4)

Country Link
US (1) US10635633B2 (zh)
JP (1) JP6818982B2 (zh)
CN (1) CN107615253B (zh)
WO (1) WO2016192025A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108496161A (zh) * 2017-09-29 2018-09-04 深圳市大疆创新科技有限公司 数据缓存装置及控制方法、数据处理芯片、数据处理系统
CN108804571B (zh) * 2018-05-23 2021-11-05 湖南博匠信息科技有限公司 一种数据存储方法、装置以及设备
CN111262952B (zh) * 2020-03-27 2023-11-21 北京环鼎科技有限责任公司 用于存储式测井的声波数据文件下载的断点续载方法
US20230064221A1 (en) * 2021-08-27 2023-03-02 Weld North Education LLC Live electronic content customization

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1878301A (zh) * 2006-07-19 2006-12-13 杭州华为三康技术有限公司 一种视频监控数据存储管理方法及系统
CN101529395A (zh) * 2006-08-31 2009-09-09 夏普株式会社 文件系统

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6035367A (en) 1997-04-04 2000-03-07 Avid Technology, Inc. Computer file system providing looped file structure for post-occurrence data collection of asynchronous events
JP4049525B2 (ja) * 2000-08-16 2008-02-20 富士通株式会社 分散処理システム
US7708205B2 (en) 2003-11-13 2010-05-04 Metrologic Instruments, Inc. Digital image capture and processing system employing multi-layer software-based system architecture permitting modification and/or extension of system features and functions by way of third party code plug-ins
US7464877B2 (en) 2003-11-13 2008-12-16 Metrologic Instruments, Inc. Digital imaging-based bar code symbol reading system employing image cropping pattern generator and automatic cropped image processor
US7062602B1 (en) 2001-04-09 2006-06-13 Matrix Semiconductor, Inc. Method for reading data in a write-once memory device using a write-many file system
JP2003030966A (ja) * 2001-07-18 2003-01-31 Sony Corp 再生装置および方法、記録媒体、並びにプログラム
US6823417B2 (en) 2001-10-01 2004-11-23 Hewlett-Packard Development Company, L.P. Memory controller for memory card manages file allocation table
US7751628B1 (en) 2001-12-26 2010-07-06 Reisman Richard R Method and apparatus for progressively deleting media objects from storage
US7330956B1 (en) * 2002-04-16 2008-02-12 Emc Corporation Bucket based memory allocation
JP2004318540A (ja) * 2003-04-17 2004-11-11 Hitachi Ltd 性能情報監視装置、方法およびプログラム
US7076605B1 (en) * 2003-04-25 2006-07-11 Network Appliance, Inc. Method and apparatus for writing data to a storage device
US7103772B2 (en) 2003-05-02 2006-09-05 Giritech A/S Pervasive, user-centric network security enabled by dynamic datagram switch and an on-demand authentication and encryption scheme through mobile intelligent data carriers
CN100440171C (zh) 2004-02-24 2008-12-03 中国科学院声学研究所 一种嵌入式环境下音像录放装置的文件组织管理方法
AU2005223652B2 (en) 2004-03-18 2011-01-27 Andrew Peter Liebman A novel media file access and storage solution for multi-workstation/multi-platform non-linear video editing systems
JP4209820B2 (ja) 2004-07-15 2009-01-14 株式会社ハギワラシスコム メモリカードシステム及び該メモリカードシステムで使用されるライトワンス型メモリカード、ホストシステムと半導体記憶デバイスとからなるシステム
JP2006133882A (ja) 2004-11-02 2006-05-25 Canon Inc 情報処理装置及び方法
US7475274B2 (en) 2004-11-17 2009-01-06 Raytheon Company Fault tolerance and recovery in a high-performance computing (HPC) system
JP4689247B2 (ja) 2004-11-19 2011-05-25 キヤノン株式会社 カメラ及びその制御方法
US8140813B2 (en) 2005-09-15 2012-03-20 Eye-Fi, Inc. Endless memory
JP4890048B2 (ja) * 2006-02-24 2012-03-07 株式会社日立製作所 記憶制御装置及び記憶制御装置を用いたデータマイグレーション方法
US7779426B2 (en) 2006-03-30 2010-08-17 Microsoft Corporation Describing and querying discrete regions of flash storage
US9003354B2 (en) * 2006-07-20 2015-04-07 Texas Instruments Incorporated Optimizing memory usage and system performance in a file system requiring entire blocks to be erased for rewriting data
WO2008026466A1 (fr) * 2006-08-31 2008-03-06 Sharp Kabushiki Kaisha Système de fichiers
US8045504B2 (en) 2006-12-26 2011-10-25 Motorola Mobility, Inc. Method and apparatus for facilitating network mobility
US8010711B2 (en) 2007-01-26 2011-08-30 Digital Video Chip, Llc Universal multimedia
TWI417722B (zh) * 2007-01-26 2013-12-01 Hicamp Systems Inc 階層式不可改變的內容可定址的記憶體處理器
WO2009062029A1 (en) 2007-11-09 2009-05-14 Carnegie Mellon University Efficient high performance system for writing data from applications to a safe file system
US7953919B2 (en) 2007-12-21 2011-05-31 Spansion Llc Physical block addressing of electronic memory devices
US7979264B2 (en) 2008-02-26 2011-07-12 Streaming Networks (Pvt) Ltd System and method for interfacing a media processing apparatus with a computer
JP2009238094A (ja) 2008-03-28 2009-10-15 Hitachi Ltd ストレージシステム及びデータ保存方法
US7840730B2 (en) 2008-06-27 2010-11-23 Microsoft Corporation Cluster shared volumes
US8315995B1 (en) * 2008-09-09 2012-11-20 Peer Fusion, Inc. Hybrid storage system
US8086794B2 (en) 2008-12-12 2011-12-27 Datadirect Networks, Inc. System and method for data migration between computer cluster architecture and data storage devices
US8572036B2 (en) 2008-12-18 2013-10-29 Datalight, Incorporated Method and apparatus for fault-tolerant memory management
SE534142C2 (sv) 2009-06-16 2011-05-10 Ikonoskop Ab Förfarande och system för lagring av data
CA2766231C (en) 2009-06-26 2017-01-17 Simplivity Corporation Namespace file system accessing an object store
US8723952B1 (en) 2009-11-01 2014-05-13 Leonid Rozenboim Tamper-resistant video surveillance network
CN101699442B (zh) * 2009-11-04 2012-04-18 华为技术有限公司 一种三态内容可寻址存储器tcam的寻址方法及装置
CN101854388B (zh) 2010-05-17 2014-06-04 浪潮(北京)电子信息产业有限公司 一种集群存储中并行访问大量小文件的方法及系统
CN102024034B (zh) * 2010-11-26 2012-05-30 中国科学院声学研究所 一种面向高清媒体的嵌入式文件系统的碎片处理方法
US8738572B2 (en) * 2011-05-24 2014-05-27 Red Lambda, Inc. System and method for storing data streams in a distributed environment
US8612719B2 (en) 2011-07-21 2013-12-17 Stec, Inc. Methods for optimizing data movement in solid state devices
CN102915340A (zh) * 2012-02-29 2013-02-06 浙江工商大学 一种扩展的基于b+树对象文件系统
US20130269039A1 (en) * 2012-04-04 2013-10-10 Infinidat Ltd. Data access control
CN102768645B (zh) * 2012-06-14 2016-01-20 国家超级计算深圳中心(深圳云计算中心) 混合缓存的固态硬盘预取方法和固态硬盘ssd
CN102866954B (zh) * 2012-08-31 2015-11-25 华为技术有限公司 内存分配的方法及装置
CN102999442B (zh) 2012-11-16 2015-12-02 成都索贝数码科技股份有限公司 面向媒体应用的存储系统及方法
US9063966B2 (en) * 2013-02-01 2015-06-23 International Business Machines Corporation Selective monitoring of archive and backup storage
JP2014199567A (ja) * 2013-03-29 2014-10-23 パナソニックヘルスケア株式会社 情報処理装置、情報処理装置の制御方法及びプログラム
CN103389945B (zh) * 2013-07-05 2017-04-12 杭州华三通信技术有限公司 一种内存管理的方法及装置
JP2015014963A (ja) * 2013-07-05 2015-01-22 富士通株式会社 ストレージ制御装置、制御プログラム及び制御方法
CN103702057B (zh) 2013-09-03 2017-04-12 成都竣泰科技有限公司 一种适应于多路并发写入流媒体数据的分块式存储算法
US20150130840A1 (en) * 2013-11-08 2015-05-14 Sharper Shape Ltd. System and method for reporting events

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1878301A (zh) * 2006-07-19 2006-12-13 杭州华为三康技术有限公司 一种视频监控数据存储管理方法及系统
CN101529395A (zh) * 2006-08-31 2009-09-09 夏普株式会社 文件系统

Also Published As

Publication number Publication date
CN107615253A (zh) 2018-01-19
JP6818982B2 (ja) 2021-01-27
JP2018515852A (ja) 2018-06-14
US20170052963A1 (en) 2017-02-23
US10635633B2 (en) 2020-04-28
WO2016192025A1 (en) 2016-12-08

Similar Documents

Publication Publication Date Title
CN107005624B (zh) 处理视频的方法、系统、终端、装置、处理器和存储介质
CN107615253B (zh) 用于存储器架构的系统和方法
US9223845B2 (en) Mobile hadoop clusters
US20150283706A1 (en) Enhanced system and method for planning and controlling for robotic devices
WO2015153667A2 (en) Distributed video processing and selective video upload in a cloud environment
US9665444B2 (en) Multimedia file repair methods and apparatus
EP3345071B1 (en) Smart downloading of sensing data in remote sensing systems
US11107506B2 (en) Method and system for combining and editing UAV operation data and video data
WO2019119426A1 (zh) 基于无人机的立体成像方法和装置
US20210227102A1 (en) Systems and methods for synchronizing frame timing between physical layer frame and video frame
US20210105411A1 (en) Determination device, photographing system, movable body, composite system, determination method, and program
US11066182B2 (en) Control apparatus, camera apparatus, flying object, control method and program
JP2016195383A (ja) フォト・クラスターの検出および圧縮
JP6884959B1 (ja) 制御装置、画像処理装置、撮像装置、移動体、制御方法、及びプログラム
JP6896963B1 (ja) 制御装置、撮像装置、移動体、制御方法、及びプログラム
JP6710863B2 (ja) 飛行体、制御方法、及びプログラム
JP6707790B2 (ja) 制御装置、撮像装置、移動体、制御方法、及びプログラム
JP6413170B1 (ja) 決定装置、撮像装置、撮像システム、移動体、決定方法、及びプログラム
Ye et al. Bus on the Edge: Continuous Monitoring of Traffic and Infrastructure–Year 2
JP2021168459A (ja) 装置、システム、撮像装置、移動体、プログラム及び方法
Provencher et al. Astrobee: Space Station Robotic Free Flyer
Tschauner Low-cost, rapid, mid-resolution 3D data capture using miniature, automatic Unmanned Aerial Vehicles and modern computer vision algorithms

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210312