CN114158258B - 实时动态地产生文件系统兼容性的方法 - Google Patents

实时动态地产生文件系统兼容性的方法 Download PDF

Info

Publication number
CN114158258B
CN114158258B CN202080038522.4A CN202080038522A CN114158258B CN 114158258 B CN114158258 B CN 114158258B CN 202080038522 A CN202080038522 A CN 202080038522A CN 114158258 B CN114158258 B CN 114158258B
Authority
CN
China
Prior art keywords
access
data
file system
file
terminal device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202080038522.4A
Other languages
English (en)
Other versions
CN114158258A (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.)
Model Software Co ltd
Original Assignee
Model Software 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 Model Software Co ltd filed Critical Model Software Co ltd
Publication of CN114158258A publication Critical patent/CN114158258A/zh
Application granted granted Critical
Publication of CN114158258B publication Critical patent/CN114158258B/zh
Active 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/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • 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/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/164File meta data generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)
  • Radio Relay Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种用以实时动态建立文件系统的兼容性及对数据执行独立于文件系统的存取的方法。根据本发明,终端用户可使用任何终端设备存取被动数据存储器,而无须考虑所述被动存储器的基础文件系统。这可避免例如转换文件系统的复杂程序步骤。因此,所述方法更有效且能够防止错误。本发明也涉及一种相应配置的设备和系统布局。此外,还提出一种计算机程序产品,其具有可实施所述方法步骤的控制命令。

Description

实时动态地产生文件系统兼容性的方法
技术领域
本发明涉及一种用以实时动态建立文件系统的兼容性及对数据执行独立于文件系统的存取的方法。根据本发明,终端用户可使用任何终端设备存取被动数据存储器,而无须考虑该被动存储器的基础文件系统。这可避免例如提供在存储介质上直接转换文件系统的复杂程序步骤。因此,所述方法更有效且能够防止错误。本发明也涉及一种相应配置的设备和系统布局。此外,还提出一种计算机程序产品,其具有可实施所述方法步骤的控制命令。
背景技术
US 5,463,772 A1案公开了多个用于读取和写入具有预定文件系统的主动数据存储器的设备。
WO 2005/086 039 A2案提供了一种用于产生使用记录有结构化信息的存储介质的方法,并且基于此目的,提出了数据转换及使用通用数据模型。
WO 2018/031 794 A1案公开了一种用于写入存储介质的方法。
US 5,742,818 A案公开了一种用于转换文件系统的方法。
现有技术可解决终端设备需要存取数据存储器时,会发生的兼容性问题。例如,终端设备不支持存储器上的文件系统。现有技术提出,在发生不兼容的情况下,即使用不同文件系统的情况下,则通常会转换数据存储器的文件系统。因此,数据存储器的文件系统即会转换为终端设备所支持的文件系统。此程序不但复杂,而且也会遗失存储介质上的数据。
从一个文件系统传输或转换到另一个文件系统,通常是藉由将整个数据存储器格式化来执行。格式化是基于在重构期间清除整个数据存储器,并且数据存储器在写入操作开始时为空闲状态。这会导致更多问题,例如备份数据的必要性或可能遗失数据的问题。
此外,在现有技术中,模拟目标系统功能的模拟技术已为公众所知悉。模拟又是另一个复杂的程序,在提供目标系统的基础硬件和软件的抽象层级的方面需要付诸相当的努力。模拟本身通常相当费工。此外,如果通信参与者是被动数据存储器,则会提供非必要的功能。此情况通常无法提供广泛的功能,而让数据存储器的主要工作只有被动操作,并且仅存储静态数据。因此,模拟相当费工,并且即使在可用的情况下,也容易出错。
因此,现有技术的缺点,是没有任何方法可允许终端用户在基础文件系统总是兼容的情况下,将被动数据存储器连接到终端设备。对应的方法相当复杂,并且在准备程序步骤中,通常要执行整个文件系统的复杂转换。然而,这对于用户而言着实是一项缺点,因为用户通常想要实时写入数据载体,而不想接受格式化。如果用户会面临遗失数据的风险,则这样的方法当然不被接受。
因此,本发明的目标之一是提供一种让用户能够将被动数据存储器连接到终端设备,而不会发生文件系统兼容性问题的方法。因此,独立于文件系统的数据存取应该是可行的,所述数据存取不会导致任何数据遗失,并且还能够实时执行。本发明的另一个目标,是提供一种相应配置的设备,以及一种相应配置的系统布局。此外,还提供一种计算机程序,其具有控制命令,用以实施所述方法,或操作所述设备或所述系统布局。
透过具有权利要求1的特征的方法,即可实现所述目标。进一步的有利配置于从属权利要求中详细说明。
发明内容
为此,提供一种实时动态建立文件系统的兼容性及对数据执行独立于文件系统的访问的方法,包括:对一主动终端设备和一模型化设备授与存取权限,使其可存取一被动数据存储器的文件系统,所述模型化设备可通信地连接在所述被动数据存储器与所述主动终端设备之间;透过所述模型化设备接收来自所述主动终端设备的一存取要求,其中,所述存取要求指定对所述被动数据存储器的存取数据和存取操作;透过所述模型化设备识别所述被动数据存储器的文件系统;根据所识别的被动数据存储器的文件系统,选择所存储的适于执行所述存取要求的存取规则;将所选择的存取规则透过所述模型化设备应用到由所述存取要求指定的存取数据;以及根据所述存取要求执行所述存取操作。
根据本发明,在不模拟数据载体的硬件,而是在数据层级或文件层级上进行调整,使得来自终端设备的数据得以写入被动数据存储器的情况下,便够动态建立文件系统的兼容性。因为并非模拟硬件,而是在文件层级完成工作,因此无需进行模拟。被动数据存储器也没有任何软件,因此也无需对应任何功能。所述数据存储器通常仅提供被动的读取操作或写入操作。这使得本方法得以实时完成工作。
根据本发明,实时表示没有明显的延迟,亦即,从用户的角度来看,用户不会注意到任何延迟。各个程序步骤皆可以在几分之一秒内处理完成,让终端用户感觉程序是实时进行的。从技术角度来看,处理时间当然存在,但是人类用户无法主观地感知。
根据本发明,所述方法可以避免在准备方法步骤中,模拟或传输文件系统的必要性。因此,终端用户可以藉由模型化设备将存储介质或被动数据存储器耦合到终端设备,并立即开始在数据存储器上进行读写操作。这表示数据存储器中的数据可以独立于文件系统来存取。对数据具有存取权限即表示支持数据载体上的读取操作和写入操作。
为达到此目的,就必须授与对文件系统的存取权限。授与存取权限也称为挂载操作。在此处,可以读取出被动数据存储器的文件系统,并且能够识别出数据存储器上有哪些数据。这不需要花费大量的时间,因此从用户的角度来看,这个程序步骤也可以实时执行,亦即没有等候时间。透过授与对文件系统的存取权限,数据存储器就能够可通信地耦合到主动终端设备,而模型化设备则连接在所述数据存储器与所述主动终端设备之间。授与存取权限包括,例如,在数据存储器、模型化设备,以及主动终端设备之间建立插入式连接。
插入式连接的实施方式,可以是将被动数据存储器直接插入模型化设备,然后再插入主动终端设备。然而,也可以在数据存储器、模型化设备和终端设备之间提供有线连接。根据本发明的一方面,透过在数据存储器、模型化设备,以及终端设备之间的实体连接,即可授与存取权限。本领域技术人员了解可达成上述目标的通用格式,以及如何设计这类插入式连接。例如,可以使用USB,如此便能使用通用接口实施此插入式连接。因此,被动数据存储器可以是外部硬盘或USB存储棒或SD卡插槽。
模型化设备可以设计为独立的硬件设备,并且可以具有例如,包含了存取规则的数据存储器。模型化设备也可以作为提供或执行控制逻辑的嵌入式系统来实施。一般而言,模型化设备至少包括两个接口,其中,被动数据存储器透过其中一个接口与模型化设备通信,主动终端设备则使用另一个接口通信。然而,一般而言,也可以提供更多接口,以便连接多个数据存储器。此外,也可以连接多个主动终端设备,以便所述主动终端设备从数据存储器写入或读取。
被动数据存储器不提供任何功能性,而仅用于存储数据,因此可以称为被动。相应的写入操作和读取操作则是由主动终端设备启动和传输。因此,主动终端设备会启动本发明的方法,并将会存取被动数据存储器。主动终端设备会备妥根据基础文件系统存储的数据,以及要求存储在被动数据存储器上的数据。根据本发明,相应的数据根据主动设备受支持的文件系统来调整。
一般而言,主动终端设备支持第一文件系统;而被动数据存储器具有第二文件系统。如果数据正在写入被动数据存储器,则会调整第一文件系统格式的数据,使所述数据可以存储为第二文件系统格式。如果正在从数据存储器要求数据,则会从第二文件系统格式中调整相应的数据,使所述数据可以对应于第一文件系统格式。通常,没有必要为此调整有效负载数据,而只需调整其他数据。例如,可以将元数据模型化,以便所述元数据可以写入数据存储器或存储在主动终端设备上。其他数据可以是描述有效负载数据的数据,或提供文件系统相关信息的数据。可能会发生其他数据描述了指定相应的数据区块实体存储在存储介质上的位置的偏移量。
因此,模型化设备会接受来自主动终端设备的一存取要求,所述存取要求指定对被动数据存储器的存取数据和存取操作。存取操作可以是读取操作也可以是写入操作,而存取数据则描述实际要查询或传输的内容。例如,存取数据可以指定要根据“写入”存取操作写入数据存储器的文件名称。存取要求由主动终端设备启动并指定所需的数据,而无需进入文件系统。
被动数据存储器的文件系统接着会由模型化设备加以识别。模型化设备在主动终端设备与被动数据存储器之间进行协调。因此,所有消息或命令都透过模型化设备传递。因此连接的通信参与者,即主动终端设备和被动数据存储器,只会透过模型化设备进行通信。
此外,亦可根据所识别的被动数据存储器的文件系统选择适于执行存取要求的已存储的存取规则。例如,存储的存取规则可以根据经验确定,或者可以在准备程序步骤中创建。存取规则描述数据将如何模型化,以便所述数据从第一文件系统开始,并且可以在第二文件系统中进行解释。其他数据,例如元数据,在此处的调整方式,通常会将根据第一操作系统编码的文件或数据,来根据第二操作系统进行编码。例如,如果执行写入操作,则主动终端设备会根据主动终端设备上可用的第一文件系统或文件系统格式来传输文件。然后根据存取规则将所述文件模型化,以便所述文件可以存储在第二文件系统或文件系统格式上。此外,如果执行读取操作,则也会将第二个文件系统的数据模型化,以便所述数据可以被主动终端设备的文件系统解释。如此一来即可转换所述数据,从而得以存储在主动终端设备的文件系统上。
存取规则的选择方式可以如下所述:保留一个表格,所述表格在第一列中描述主动终端设备的文件系统;在第二列中描述被动数据存储器的文件系统;并且在第三列中指出所提供的存取规则。第三列可以保留指向相应存取规则的指针。FAT、FAT32、ExFAT、NTFS或其他等等皆可以作为文件系统。
具有存取规则的数据存储器通常内置在模型化设备中,或者,数据存储器也可以作为被读取的外部数据存储器。数据存储器也可以由主动终端设备装载。
因此,存取规则会描述如何调整要写入或读取的数据的相关规则,以便所述数据在各种情况下都能够兼容。亦即,其运作方式可以为:存取数据接受分析,使得有效负载数据与其他数据分离,而其他数据则根据文件系统进行调整。尽管在一般情况下只会调整其他数据或元数据,但也可以选择性地调整有效负载数据。因此,可以非常有效地执行调制程序,并且也可以实时执行所述方法。因此,其他数据的转换可以快速执行,因为受到调整的不是文件系统而是数据,而且通常只有元数据受到调整。这只是相当少量的数据,在技术上无需太过费工即可进行调整。
如果选择了存取规则,则所述存取规则将会应用到存取数据,这表示要读取或写入的数据的调整方式可如下所述:所述数据可以写入被动数据存储器的文件系统,或者,如果要读取数据,则会调整所述数据,以便所述数据对应于主动终端设备的文件系统。如先前所述,通常只需要对其他数据进行编码或模型化即可,而不需要处理有效负载数据。
由于数据现在已经以兼容方式进行了转换,因此可以启动执行存取操作的实际步骤。存取操作可以是读取操作或写入操作。由于数据现在已可以适当地使用,故所述数据可以写入被动数据存储器,或从被动数据存储器读取。
本方法的步骤可以应用所选择的存取规则,并且针对已定义的数据流执行存取操作,从而反复执行。例如,主动终端设备可以要求一组文件,并可以根据所述存取操作确定对存取数据进行一次调整是否足够,或者,例如,每次进行文件的写入操作后是否必须重新应用存取规则。这表示元数据可以针对每个文件进行调整,或者只调整一次元数据并复写所有有效负载数据。此处的进行方式,可存储在模型化设备的数据存储器中。
根据本发明的一方面,授与存取权限包括:挂载程序;将被动数据存储器集成到模型化设备;将被动数据存储器集成到主动终端设备;可通信地耦合;建立至少一个插入式连接;激活存取权限;设置存取权限和/或数据通信。这么做的优点是可以在授与存取权限时读取数据存储器,因此可以在读取操作期间评估可用的数据。因此,例如,可以得知文件大小,并可以确定要读取的数据流的结构。根据此信息,即可将所选存取规则的应用以及存取操作的实施加以优化。例如,如果有许多较小的文件,则可以将各文件群组作为数据流读取,因此所选存取规则的应用便会与多个文件相关联。如果文件很庞大,则可以将存取规则应用于每个文件。可通信耦合可确保主动终端设备会透过模型化设备与被动数据存储器通信。此外,也可以实施额外的安全机制,例如可以指派存取权限。
根据本发明的另一方面,主动终端设备具有可产生存取要求的操作系统。这么做的优点是可以预先指定数据流,从而可以得知哪些文件正在受到要求。如此一来,操作系统便可以指定要读取或写入的大量文件,而所选择的存取规则也可以应用于一个或多个文件。因此,可以将存取数据分割,并且可以调整为完整的段,或调整为独立的段,即独立的数据流。透过这种方式,便可以将少量数据汇总,并且只应用一次存取规则。这表示可以写入这些文件,并且不需要每次重新调整其他数据。
根据本发明的另一方面,会针对每个数据流反复执行应用步骤和执行步骤,其中操作系统定义所述数据流。这样做的优点是应用存取规则和执行写入操作可以不限次数地执行,以便在最后一次反复之后读取或写入所有存取数据。因此,可以根据所要求或指定的文件来选择数据流。
根据本发明的另一方面,存取要求至少包括一读取和/或写入要求。这么做的优点是可以对被动数据存储器进行读取和写入存取。在此情况下,没有必要模拟被动数据存储器的功能,而是根据本发明针对要写入或要读取的(元)数据进行调整,并且不直接调整被动数据存储器上的文件系统。
根据本发明的另一方面,存取要求指定有效负载数据和/或其他数据。这么做的优点是,存取要求已经指定了哪些数据是有效负载数据,而哪些数据是其他数据。例如,其他数据可以作为描述有效负载数据的元数据。这类其他数据可以是文件的大小或文件名称。如果文件系统不支持某些其他数据,例如使用了不同的字符集,则应用存取规则时将会变更文件名称,使其与文件系统的字符集相匹配。例如,主动终端设备想将文件写入被动数据存储器,并且使用具有变母音的文件名称来指定有效负载数据。如果数据存储器的文件系统不支持变母音,则提供存取规则,例如,变母音由另一子音取代,或由一子音和一个“e”取代。
根据本发明的另一方面,存取数据会描述:文件名称、绝对存储器地址、相对存储器地址、文件类型和/或文件属性。这么做的优点是,存取数据会描述哪些信息可能需要调整。如果被动数据存储器的存储系统仅支持某些存储地址或仅具有特定的大小,则会调整传输的存储地址,以便将存取数据写入数据存储器。如果要读取文件,则可以调整这些存取数据,以便将所述存取数据保存在主动终端设备的文件系统中。
根据本发明的另一方面,存取操作描述读取和/或写入操作。这么做的优点是,存取操作会描述如何执行各个操作。在此情况下,即可以针对每个文件系统描述读取或写入的方式。
根据本发明的另一方面,存取规则描述调制操作,所述调制操作会说明如何将存取数据的其他数据模型化,以便根据文件系统读取和/或写入存取数据。这么做的优点是,存取规则显示出转换规则或调制规则,以针对某些存取数据进行转换,如果所述存取数据是针对第一文件系统进行编码,则会将其重新编码,使其与第二文件系统兼容。
根据本发明的另一方面,存取规则描述如何将根据第一文件系统的数据写入第二文件系统和/或从第二文件系统读取。这么做的优点是可以从主动终端设备上的文件系统和被动数据存储器上的文件系统进行转换。因此,存取规则描述编码数据,或描述其他数据的调整程序。一般而言,只需要调整其他数据,而无需调整有效负载数据。
根据本发明的另一方面,被动数据存储器包括:存储介质、USB存储棒、硬盘、存储卡、服务器、网络组件、DAS、NAS和/或本地数据储存设备。这么做的优点是可以重复使用常规规格,此外,还可以使用各种存储介质。在此情况下,也可以针对多个被动数据存储器进行寻址。NAS代表网络连接存储。DAS代表直接连接存储。
根据本发明的另一方面,主动终端设备可以是电视机、打印机、路由器、DAS、NAS、便携式终端设备、固定式终端设备、计算机、电话或网络组件。这么做的优点是,主动终端设备可以透过多种方式实施,并且建立了一种通用方法,让完全不同的文件系统得以兼容。
本发明的另一方面,是能够区分存取要求,并且判断一要求是存取用户内容还是存取元数据。根据存取要求的类型,所述要求接着会在不进行数据修改的情况下转发到被动存储器,或者使用转译规则将元数据转换为适当的格式。
本发明的另一方面,是能够从被动存储器中仅检索部分元数据,以便向终端设备发送反馈。透过这种方式,即可实时提供所要求文件的最重要相关信息,而且响应时间很短。
本发明的另一方面,是能够仅将被动存储器的特定部分(通常是包含内容的特定子目录)作为独立的存储器,然后可由终端设备提供使用。
本发明的另一方面,是能够进行预先选择,从而决定终端设备可使用哪个文件系统。这是透过开关或使用外部介质上的预设文件来完成,例如makeas.exFAT,其会指示模型化单元创建具有exFAT文件系统的外部存储器。透过这种方式,模型化单元便可以将exFAT文件系统提供给终端设备使用,因为这类文件系统自其规范公开以来已被广泛使用(exFAT的开放源代码实施方法受到微软公司的开发人员所支持),并且广泛用于嵌入式设备、移动电话和其他多介质设备。
本发明的另一方面,是在终端设备上使用FAT32文件系统时,能够弥补其严重缺点。其中一个主要缺点是文件大小的限制,即FAT32为4GB。FAT32的另一个限制是相同子目录中可寻址文件的数量,即65534个。旧型的终端设备通常支持具有FAT32的外部介质,所述终端设备的限制也可以被考虑在内,以便用户能够继续使用。本发明透过让终端设备能够使用多个最大尺寸为4GB的文件,藉此处理大文件所带来的问题。
FAT32的第二个限制,即相同子目录中的最大可寻址文件数目为65534个,当所有文件都位于相同目录或子目录中时,便会对使用产生影响。尽管从包含超过65534个文件的子目录中检索信息的可能性很小,但在这种情况下,本发明会提示用户已达到限制,并且这65534个文件无法同时存取。如此一来,用户就会知道并非所有文件都能够在终端设备上显示,但仍然可以使用。
根据本发明的一方面,假设终端设备仅支持FAT32。如果终端设备的模块或组件(例如已安装的文件系统驱动程序)能够针对具有FAT32格式的本地、外部或虚拟存储器进行寻址,来创建、恢复、更新或删除文件和目录,则视为终端设备支持FAT32。
根据本发明的一方面,存储器定义为区块设备,即基本程序是透过区块来提供,即读取区块和写入区块,其可透过偏移量或存储器中的位置加以寻址。假设终端设备具有USB接口,用于连接外部存储介质。
对于终端设备支持FAT32的假设,通常仅用于演示目的,并非旨在将所提出的发明的可能用途限制在FAT32系统上。对于终端设备具有用于连接外部存储介质的USB接口的假设,同样是用于演示目的,并非旨在将所提出的发明的可能用途限制在USB接口的连接方式上。本文中若提到对应的标准,例如FAT或FAT32,则通常是代表文件系统。
此目标也可以透过一种模型化设备来实现,其以可通信的方式连接在一被动数据存储器与一主动终端设备之间,并配置以将一被动数据存储器的文件系统的存取权限授与一主动终端设备,所述模型化设备进一步配置以接收来自所述主动终端设备的一存取要求,其中,所述存取要求指定对所述被动数据存储器的存取数据和存取操作,并进一步设置以识别被动数据存储器的文件系统,且进一步配置以根据所识别的被动数据存储器的文件系统,选择所存储的适于执行存取要求的存取规则,并且所述模型化设备进一步配置以将所选择的存取规则应用到由所述存取要求指定的存取数据;以及进一步配置以根据所述存取要求执行所述存取操作。
所述模型化设备适于在提出的方法中使用。此外,所述模型化设备也适于在提出的系统布局中使用。
此目标也可以透过一种系统布局来实现,其用以实时动态建立文件系统兼容性及对数据执行独立于文件系统的存取,包括:配置至少一接口单元以对一主动终端设备和一模型化设备授与存取一被动数据存储器的文件系统的权限,所述模型化设备可通信地连接在所述被动数据存储器与所述主动终端设备之间;配置所述模型化设备以接收来自所述主动终端设备的一存取要求,其中,所述存取要求指定对所述被动数据存储器的存取数据和存取操作;配置所述模型化设备以识别所述被动数据存储器的文件系统;配置一数据库单元以根据所述被动数据存储器所识别的文件系统,选择所存储的适于执行所述存取要求的存取规则;配置所述模型化设备以将所选择的存取规则应用到由所述存取要求指定的存取数据;以及配置所述被动数据存储器以根据所述存取要求执行所述存取操作。
此目标也可以透过一种具有控制命令的计算机程序产品来实现,当在计算机上执行所述控制命令时,即可实施所述方法并操作所提出的布局。
根据本发明特别有利的是,所述方法可以用于实施所提出的设备和单元或系统布局。此外,所提出的设备和单元也适用于执行本发明的方法。因此,设备或系统布局在各种情况下都实现了适合执行相应方法的结构特征。然而,所述结构特征也可以设计为方法步骤。所提出的方法也提供了可实施所述结构特征功能的步骤。
本发明的进一步优点、特征和细节可从以下描述中理解,其中参照附图对本发明的各个方面进行了详细描述。在权利要求和说明书中提到的特征可以单独或以任何方式组合成为本发明的基本特征。同理,上述特征和此处详细描述的特征也可以单独使用或以任意方式组合使用。在实施例描述中使用的术语“左”、“右”、“上”和“下”是是指附图中具有正常可读图示或正常可读参考标志的方向。所示出和描述的实施例不应理解为最后结果,而是用于解释本发明的示例。本详细说明书是供本领域技术人员参考,因此,为避免使本说明书更难以理解,在本说明书中,对已知的电路、结构和方法均未详细展出或说明。
附图说明
图1是常见系统布局的示意性框图;
图2是根据本发明一方面的系统布局的示意性方块图,用于实时动态建立文件系统的兼容性及对数据执行独立于文件系统的存取;
图3是根据本发明另一方面的系统布局的示意性方块图,用于实时动态建立文件系统的兼容性及对数据执行独立于文件系统的存取;
图4是根据本发明再另一方面用于实时动态建立文件系统的兼容性及对数据执行独立于文件系统的存取的方法的示意性流程图;
图5是可由模型化设备执行的方法步骤的示意性流程图;
图6是根据本发明的方法步骤的示意流程图,用于执行存取要求;
图7是根据本发明的模型化装置的方法步骤的示意流程图,用于从被动存储器读取文件系统参数;
图8A、图8B是根据本发明一方面说明应用已存储的存取规则的方法步骤的表格;
图9A、图9B是根据本发明另一方面说明应用已存储的存取规则的方法步骤的补充表格;以及
图10是根据本发明一方面说明应已存储的存取规则的方法步骤的表格。
附图编号说明
1模拟器1
2模拟器2
M模型化设备
(100)-(105)参阅具体实施方式
(201)终端设备
(202)模型化设备
(203)被动存储器
(204)通信接口(201)-(202)
(205)通信接口(202)-(203)
(206)保存其他数据的方法
(207)将数据模型化的方法
(301)、(310)、(311)、(312)、(313)、(315)、(325)、(351)、(355)、(356)参阅具体实施方式
(314)引导扇区结构和文件系统参数的模型化
(324)目录数据的模型化
(354)读取时有效负载数据的具体化
(331)、(332)、(333)、(335)、(336)、(349)参阅具体实施方式
(334)写入时有效负载数据的具体化
(339)元数据的变更限定
(314)基于(文件系统2)对(文件系统1)进行引导扇区结构的模型化(Filesystem1)文件系统1
(Filesystem2)文件系统2
(BytesPerSector)以字节为单位的扇区大小:参数,其具有原始(IN)值(Value1_2)并可能根据存取规则(BS1)通过转换取得新的(OUT)值和新的格式(Value1_1)
文件系统的其他参数或特征:
(SectorPerCluster)每个集群的扇区数目
(SectorPerCluster)每个驱动器的集群数目
(VolumeLabel)驱动器标签
(Etc)等等
(FSPropertyN)文件系统的属性N:(文件系统2)上的另一个参数,其具有原始(IN)值(ValueN_2),并可能根据存取规则(BSN)通过转换取得新的(OUT)值和新的格式(ValueN_1)
(IN)初始值
(ValueN)值N
(Rule)规则、存取规则(BS2、BS3等等)
(Out)结束值
(BSMemberN)
(AV)可用:(206)中已保存扇区的可用性通知。(LEER)表示“未保存”;(AV)表示“已保存”
(Last)已保存扇区的最后位置
(324)目录数据的模型化
(StateNow)当前状态:文件系统1上FAT的实际状态
(StateNow-1)文件系统1上FAT的先前状态,可能为未知、尚未初始化的状态。
(Directory,Filesystem1)文件系统1上的目录结构(已模型化)
(Directory,Filesystem2)文件系统2上的目录结构
(File1…FileN)文件1...文件N:文件对象的文件名称
(Ext1…ExtN)扩展名1…扩展名N:文件对象扩展名
(Size1..SizeN)大小1...大小N:文件对象的大小
(Sc1…ScN)起始集群1…起始集群N:就FAT而言,文件的第一个集群。此值是根据(402)对文件系统1加以模型化
(Nc1ofN)N的下一个集群1:N上的下一个集群1
(M+1)(文件系统1)上FAT中的下一个空闲位置
(402)此方法针对从文件系统2所要求的文件,在文件系统1上将FAT结构模型化。因此,文件系统1上的文件位置最初并未分割
(402a)开始反复程序:读取(文件系统2)根目录的内容
(402b)确定是否已对反复内容定义起始集群。
(402c)在具有反复内容的范围上将(文件系统1)模型化
(402d)结束反复程序:读取(文件系统2)根目录的内容
(405)FAT变更的限定
(StateNow)当前状态:文件系统1上FAT的实际状态
(StateNow-1)文件系统1上FAT的先前状态
(ScN)起始集群N:就FAT N而言,文件的第一个集群
(Nc1ofN)N的下一个集群1:N上的下一个集群1
(LcofN)N的最后一个集群:N上的最后一个集群
(Free)空闲:未占用的扇区
(M+1)(文件系统1)上FAT中的下一个空闲位置
(Last)最后一个扇区:已保存扇区的最后位置
(QualifiedDifferenceFAT)评估,亦即限定这些变化的结果:(StateNow)与(StateNow-1)之间的差异可以视为“创建一个新文件”的新链;所述新链应从集群(K+M+1)开始,长度为19个扇区(L)
(406)目录结构变更的限定
(StateNow)当前状态:文件系统1上目录结构的实际状态
(StateNow-1)当前状态1:文件系统1上目录结构的原始状态
(File1)、(File2)、(File3)、(FileN)文件1、文件2…文件N:文件对象的文件名称,对应于目录结构中的项目,从1到N
(Ext1)、(Ext2)、(Ext3)、(ExttN)扩展名1…扩展名N:文件对象的扩展名,对应于目录结构中的项目,从1到N
(Size1)、(Size2)、(Size3)、(SizeN)大小1…大小N:文件对象的大小,对应于目录结构中的项目,从1到N
(Sc1)、(Sc2)、(Sc3)、(ScN)、(Sc N+1)文件对象的起始集群值,对应目录结构中的条目,从1到N+1
(QualifiedDifferenceDir)限定这些变化的结果:(StateNow)与(StateNow-1)之间的差异可以视为“创建新文件的程序”;所述新文件的名称为XXX,扩展名为ABC,从(SC N+1)开始,长度为19*512字节
(404)确定有效负载数据与文件的关联性
(ScN)起始集群N:就FAT N而言,文件的第一个集群
(Nc1ofN)N的下一个集群1:N上的下一个集群1
(LcofN)N的最后一个集群:N上的最后一个集群
(M+1)(文件系统1)上FAT中的下一个空闲位置
(Free)空闲:未占用的扇区
(Last)最后一个扇区:已保存扇区的最后位置
(Range)范围:文件系统占用的扇区
(Filesystem1)文件系统1
(OFFSET)偏移量:位于段部分旁,存储器地址中的第二个部分(整数值)
(Size1)大小1:文件对象的大小
(File1_fs2)文件系统2上的文件1
(File1_fs2)文件系统2上的文件1
(Ext1)、(Ext2)、(Ext3)、(ExtN)扩展名1…扩展名N:文件对象扩展名
(Size1)、(Size2)、(Size3)、(SizeN)大小1…大小N:文件对象的大小(File1)、(File2)、(File3)、(FileN)文件1…文件N:文件对象的文件名称
具体实施方式
图1展示了根据现有技术的系统布局。左侧为存储介质,右侧为终端设备,右侧仅显示插入式连接。模型化设备的设计方式,是在右侧和左侧同时对硬件进行模拟。这是现有技术的案例,因为中间的设备可向外围设备传递控制命令。因此,现有技术通常不提供被动存储介质,而是可以在此处连接诸如输入设备等外围设备。因此,现有技术还需要对功能性进行模拟,而根据本发明其则非必要事项。
从图1中可以看出,现有技术中特别不利的是需要透过左侧的模拟器1和右侧的模拟器2同时进行模拟。因此,现有技术必须模拟所有连接的终端设备,这表示在技术上相当费力,并且容易出错。
根据本发明可克服现有技术中的所述缺点,并且令人惊讶地发现,只需要在文件层级或数据层级进行调整即可。此外,现有技术无法实时建立兼容性。例如,如果左侧实际上为存储介质,则现有技术设计为在此处调整文件系统。根据本发明,文件系统不需要调整,而只需调整要读取或写入的数据。
图2展示了根据本发明的系统布局。被动存储介质布置在左侧,主动终端设备布置在右侧,其在此处未示出。中间是模型化设备M,其可通信地连接在存储介质与终端设备之间。为此,可以在左侧和右侧提供插入式连接,或者分别提供电缆线。
图2也在底部展示了一数据存储器,所述数据存储器存储存取规则并供模型化设备M使用。所述数据存储器可以布置在外部,其中,在范例实施例中所述数据存储器则内置在模型化设备中。与现有技术相比,本发明特别有利的是不需要提供模拟组件1、2,而只需要调制单元即可。所述调制单元布置在模型化设备M的中央。
图3以另一视图展示了建议的系统布局,其中在左侧为被动数据存储器提供了插入式连接,并且在右侧提供了电缆线连接。此布置也可以用不同的方式实现,即左侧也可以有电缆线连接。所使用的接口可以根据传统规格进行设计。在范例实施例中,所述接口实施为USB接口。
图4为示意性流程图,其中展示了一种用于实时动态建立文件系统的兼容性及对数据执行独立于文件系统的存取的方法,包括:授与存取权限步骤100,对一主动终端设备和一模型化设备M授与存取权限,使其可存取一被动数据存储器的文件系统,模型化设备M可通信地连接在所述被动数据存储器与所述主动终端设备之间;接收步骤101,透过所述模型化设备接收来自所述主动终端设备的一存取要求,其中,所述存取要求指定所述被动数据存储器的存取数据和存取操作;识别步骤102,透过所述模型化设备识别所述被动数据存储器的文件系统;选择步骤103,根据识别步骤102所识别的所述被动数据存储器的文件系统,选择所存储的适於执行所述存取要求的存取规则;应用步骤104,将所选择的存取规则应用到由所述存取要求指定的存取数据;以及执行步骤105,根据所述存取要求执行存取操作。
本领域技术人员者可以了解,这些步骤可以具有进一步的子步骤,并且具体而言,每个方法步骤都可以反复执行和/或以不同的顺序执行。
以下所有流程都是从终端设备的角度加以说明,所述终端设备由作为主要参与者的用户控制。
图5展示了当终端设备201产生读取存取要求时,根据本发明模型化设备202可以执行的动作。在本案例中,所述终端设备支持FAT32作为文件系统,在下文中将其称为文件系统1。
根据本发明的一方面,存取要求透过所述终端设备与所述模型化设备之间的通信接口,即USB接口204来进行。
根据本发明的一方面,模型化设备中可实施两种方法。保存其他数据的方法206,和将数据模型化的方法207。如果数据是从被动存储器203中读取,则此流程是透过通信接口205进行。但是,所述被动存储器也不一定要透过USB接口连接到模型化设备;205也可以使用数据总线代替,如此一来所述被动存储器即可直接作为所述模型化设备的组件来实施。
根据本发明的一方面,事件发生的顺序是基于终端设备发起了哪些存取要求,接着,已经连接被动存储器的模型化设备才连接到终端设备。根据终端设备的不同,此顺序可能与下列附图不同。
根据本发明的一方面,所述终端设备透过两种方式与所述模型化设备进行通信:其中一种方式是,所述终端设备的操作系统中负责USB设备的组件,将透过USB连接的模型化设备识别为“存储器”类型的外部USB设备。另一种方式是,操作系统的另一个组件确定如何在逻辑级别上对连接的存储器进行定位,具体而言,即可以在存储器上识别哪个文件系统。
根据本发明的一方面,对于使用USB协议的第一种通信,至少需要模型化设备具有基本参数,例如,将可寻址区块的数量或区块大小回报为USB协议所支持范围内的必要动作。为此可以启动所谓的识别要求301,然而,这不一定需要根据操作系统的实施方式来执行。根据USB协议的具体动作在此不多做说明,因为本领域技术人员原则上可以毫无问题地执行所述协议。只需注意,所述第一识别要求已经导致模型化设备能够相应地调整,并且使处理这种识别要求所需的数据(可寻址区块的数量)保持可用。
为此,根据本发明的一方面,在模型化设备方面的第一个必要动作是从被动存储器314读取文件系统参数,如图7中的详细说明。被动存储器上的文件系统,以下称为文件系统2,在314的执行程序中由模型化设备识别,由此读取出的数据不受限于满足第一识别要求,而是根据本发明首先进行转换,将其作为文件系统1的引导扇区数据继续保存在模型化设备206中。因此,识别要求的必要参数(可寻址区块的数量、区块大小)也充分确定,并且模型化设备根据USB协议完成310识别要求。
在下一步中,所述终端设备的所述操作系统应确定如何在逻辑级别上对连接的存储器进行定位,具体而言,即可以在存储器上识别哪个文件系统。
为此,所述终端设备可以产生至少一个存取要求,其目的是从存储器中至少读取区块0,因为区块0包含用于确定文件系统的信息。
为了执行所述存取要求,可以根据本发明执行以下动作,其在图5中作为范例加以说明。
所述终端设备的第一存取要求311为:从位置0开始读取一个扇区。
根据本发明的一方面,在第一步骤312中,检查所要求的数据是否已经保存在模型化设备中。不能排除所述终端设备的识别要求301还没有发出,而是被存取要求311取代。尽管在执行311时所述终端设备还不知道所述被动存储器的参数,但这并不妨碍所述终端设备产生存取要求311,因为当所述存储器可寻址时,位置0永远可以被读取。为了方便说明,则假设没有根据301预先发出识别要求。因此,尚未根据206保存位置0中的第一个扇区的数据。
根据本发明的一方面,在第二步骤313中,当从位置0读取一扇区时,检查涉及了文件系统1方面的哪些数据。因此,动作313的细节通常如下:在读取程序中检查涉及了其他数据还是有效负载数据,如果涉及有效负载数据,则就文件系统1方面,所述数据来自哪个文件。
为此使用了存取规则。如上所示,存取规则定义了如何将一文件系统的元数据转换为另一文件系统的元数据。这些规则也会定义为文件系统结构提供的文件系统的哪些范围对应于另一个文件系统上的相应范围,从而可以确定存取要求是否涉及元数据方面的其他数据。
根据本存取规则400,当从位置0读取一扇区时,则涉及特殊的其他数据,具体而言,即涉及所谓的引导扇区。
根据存取规则,文件系统1的一引导扇区可概括为314,其中所有文件系统参数(文件系统大小、文件系统上的逻辑区块大小(所谓的群集)、第一目录的起始位置等)已经充分确定。这预先假定了所述数据必须让所述终端设备能够使用,以用于要处理的第一次存取311。文件系统1的所有参数基本上都是从所述被动存储器之文件系统2的各个参数导出或计算。存取规则401包括了所述方法,具体而言,所述方法根据文件系统2对于相应的文件系统1/文件系统2的组合来确定如何计算文件系统1的参数,以及确定要应用哪个特定存取规则。所述附图展示了如何应用引导扇区401的存取规则。这样的应用方式是没有问题的,因为文件系统的大小是已知的,并且逻辑区块的大小可以从文件系统2中挪用(如果这不可行,则应用其他存取规则来调整区块大小)。
因此,所述模型化设备会模拟并保存扇区0的数据,使所述终端设备可以使用扇区0来启动进一步的存取程序。
根据本发明的一方面,当提供了已模型化的引导扇区数据时,即可满足当前的特定查询311。
所要求的数据315是透过通信接口(此处为:USB)来进行。如此一来即完成了存取要求311。
由于第一个存取要求导致已读取的区块1是FAT32引导扇区,从而决定了所述终端设备的进一步动作。
原则上,根据本发明的一方面,可以假设如果第一区块被识别为具有有效内容(文件系统参数)的有效引导扇区,则所述终端设备的操作系统会继续存取要求,以便确定USB接口所提供的所述存储器上的文件系统。这样的程序也可以称为“探查”,其目的是将内存识别为特定、具有逻辑性组织的文件系统,并且在操作系统中公开自身的逻辑接口(所谓的“挂载点”)。
或者,在满足第一个存取要求并已证明第一区块的内容是合理的引导扇区后,所述终端设备的操作系统也可以向其组件或应用程序发送消息(所谓的“广播”)以通知所述组件或应用程序可使用新的存储器。如此一来,负责的组件和所述文件系统驱动程序即可启动另一流程,所述流程通常称为“挂载”。
两种方案都会导致相同的结果,即所述新的可用存储器被识别为FAT32,并且所述终端设备的操作系统或至少其中一组件或应用程序可以将所述存储器作为逻辑文件系统进行处理。
根据本发明的一方面,所述文件系统的挂载只能用于读取操作,或者也能用于写入操作取决于以下因素:所述终端设备的操作系统、所述相应文件系统的支持范围,以及所述终端设备为可从外部连接的存储介质提供的工作。以下实施方法说明读写模式。所述文件系统仅以读取模式挂载于所述存储器上的情况不需要单独处理,因为根据本发明提出的方法如果在读写模式中如预期般的成功,则理当可应用于读取模式。
因此,来自所述终端设备的进一步存取要求,取决于在出现“新存储器可用”的情况下规划了哪些工作。所述终端设备可能会执行一特定的应用程序,所述应用程序会尝试读取所述新存储器的内容,这表示根目录的内容会首先受到存取。如果没有任何应用程序自动启动,则将所述模型设备连接到所述设备的用户即采取进一步的动作来取得所述内存中的内容,并且开始“取得根目录的内容”动作,以便确定其接下来的步骤。为了检索根目录的内容,所述用户也可以输入诸如“dir”或“ls”等终端设备命令。在最佳情况下,可以预期所述终端设备会在下一次存取要求时尝试读取根目录的内容。为了执行所述存取要求,可以根据本发明执行以下动作,其亦在图5中作为范例加以说明。
根据本发明的一方面,假设根目录范围从扇区X开始,并且占用了100个扇区的范围,而这是由应用到步骤314的规则所确定。因此,第二个存取要求321将会:从扇区X开始读取100个扇区。
根据本发明的一方面,在第一步骤312中,检查所要求的数据是否已经可用。在目前的情况下,数据还无法使用,因为所述终端设备到目前为止只读取了扇区0。
在第二步骤313中,当从位置X往前读取100个扇区时,则检查在文件系统1方面涉及了哪些数据。为此会使用存取规则。
根据存取规则400,如果对已模型化文件系统存取扇区X,特别是在整个已要求的长度(100个扇区)上,则这就是所谓的根目录。
因此,模型化设备202可以为所述终端设备的根目录保存数据206,在接下来的步骤324(参阅图9)中应用进一步的存取规则,在此系统根目录中,对存在于文件系统2上的文件实时产生元数据,所述元数据对应于文件系统1的根目录。
因此,所述元数据可用于重写文件系统2上的文件,其中支持文件系统1(此处为:FAT32)的所述终端设备的每个组件会将所述重写的文件解释为如同其保存在所述模型化设备中一样。根据本发明,所述元数据会被保存206,以供终端设备当前和未来存取要求使用。
对于存取规则324的应用,可能需要从文件系统2中读取更多元数据,以便获得完整理解:已要求的100个扇区可以对根目录结构的哪些文件进行寻址,以及所述文件的大小,以及透过方法404(参阅图10)来确定上述文件被放置在文件系统2的哪些范围中。
在中期的结果中:透过以与文件系统1对应的格式将根目录模型化,即可读取出比要求更多的数据,这么做并无坏处,因为这些最初读取出的多余数据会保存以供存取规则进一步使用。
在步骤321中,透过提供使用存取规则模型化的100个扇区,来满足终端设备的具体读取存取要求。
所要求的数据325是透过通信接口(此处为:USB)来进行。如此一来即完成了存取要求321。
一旦根目录内容被提供给所述终端设备,其应用程序可能会提示用户采取进一步的步骤,例如打开文件或选择文件内容进行具体动作(打印、播放视频/音频文件等)。此时,应从外部存储介质存取文件内容,并且所述终端设备的操作系统组件(或其文件系统驱动程序)应向已挂载的逻辑卷产生要求,以从文件中取得要求的内容。
根据本发明的一方面,假设正在存取文件ABC.ZYZ的内容,并且假设所述文件大小为10个区块。
为了执行所述存取要求,可以根据本发明执行以下动作,其亦在图5中作为范例加以说明。
存取要求351启动,其包括从位置Pos1读取10个区块,所述10个区块对应于文件系统1上之文件ABC.ZYZ SC1的第一集群。
因为尚未要求这些数据,因此所述数据还没有保存206。
首先,必须确定所述要求涉及了有效负载数据还是其他数据313。
以下事实可推论所述查询涉及有效负载数据:在将FAT结构402模型化来满足查询321时,文件ABC.XYZ的大小已被考虑在内,并且在文件分配表中为所述文件的内容保存了一连续的模型化链。
亦即,模型化方法402可将文件系统2的现有文件以不分割的方式放置在模型化文件系统1上,并且无关这些文件在文件系统2上是否由多个分割的内容片段所产生.
因此,透过存取要求351数据所读取的数据是有效负载数据。
根据本发明的一方面,在进一步的步骤354中,检查具体正在存取哪些有效负载数据。所述终端设备不仅对ABC.XYZ,而对多个文件提出存取要求的情况亦有可能。这可透过方法404确定(参阅图10),所述方法会确定当存取文件系统1方面的指定区块时,实际涉及了文件系统2上的哪些文件。因此,方法404适合在特定情况下,针对不同文件的存取内容确定要采取的进一步动作。这样的情况即可说明,当从文件系统1中读取与有效负载数据对应的特定区块时,必定会在文件系统2上确定要读取的对应区块。如此一来,即可透过导向所述被动存储器的对应存取要求355读取出有效负载数据。如果文件系统2上的要求内容没有作为连续链放置,则重复程序355直到要求351所要求的所有数据都被读取为止。
所要求的数据356是透过通信接口(此处为:USB)来进行。如此一来即完成了存取要求351。
在根目录内容提供给所述终端设备使用后,其应用程序可以提示用户采取进一步步骤,例如所述将终端设备上产生的数据保存在已挂载的逻辑卷上。例如,如果扫描了新文档,则可以选择已挂载的逻辑卷作为目标存储位置。
假设在所述终端设备上产生了共19个区块的有效负载数据后,所述终端设备会尝试在文件系统1的根目录中将所述有效负载数据创建为名称为XXX.ABC的文件,并且将新创建之文件XXX.ABC的内容,从位置Pos2开始写入。
根据本发明的一方面可进一步假设,当尚未定义有效负载数据时,则所述终端设备不会为新的文件创建用于描述文件系统1的根目录中的文件名称和文件大小的存取要求,并且只有在所述新创建的数据的所有有效负载数据都完成描述时,才会发出这类要求。
进行这种假设的原因,是为了在所述终端设备上实施优化读写存取要求方法的可能性。
因此,如果假设所述终端设备在另一存取要求描述对应文件的元数据之前尝试写入有效负载数据,则在方法404上便会出现不确定性,即要写入的新区块还没有被分类至任何文件。然而,此挂起状态最迟会在所述终端设备产生另一存取要求,来更新存储器上新创建的文件的元数据时结束。
为了执行所述存取要求,可以根据本发明执行以下动作,其亦在图6中作为范例加以说明。
存取要求331启动,其包括从位置Pos2开始写入19个区块,其中位置Pos2对应于SCN+1。
首先必须检查332,要写入的数据是否已保存206。由于位置Pos2中的数据既没有被读取也没有被写入,所以所述数据尚未保存。
下一步是确定所述要求涉及了有效负载数据还是其他数据333。因此,动作333的细节通常如下:在写入程序中检查涉及了其他数据还是有效负载数据,如果涉及有效负载数据,则就文件系统1方面,所述数据来自哪个文件。
如此还不能明确确定,因为这些区块既没有作为元数据保存206,也没有在351方面作为有效负载数据被读取。在接下来的步骤334中,根据方法405(参阅图9),首先会假设涉及了有效负载数据并且相应地处理要写入的区块。因此便开始了所谓的浮动状态,因为这些区块还没有被分类至任何文件。所述模型化设备会暂时将要写入的数据保存206为有效负载数据,但写入程序完成后将透过通信接口204回报335。如此一来即完成了存取要求331。
假设当文件系统1的根目录内容被更新时,则会启动进一步的存取要求336,其用于写入从位置X+99开始的一区块。具体而言,所述区块是根目录的最后一个扇区。
首先必须检查332,要写入的数据是否已保存206。本案例即为此情况,因为在步骤321中,位置X+99中的区块已经作为文件系统1的根目录模型化324并且保存206。
如果数据区块已经保存并且是元数据,则可以应用存取规则来确定339,其涉及哪些具体变化。图9中示出了相应的方法406,其包括限定根目录结构中的变更并将其定义为抽象描述,从中可以推断出要对文件系统2采取哪些相应的变更。在本案例中,所述变更即XXX.ABC文件的新项目,所述文件先前不存在于根目录中。这种变更可以描述为好像所述终端设备想要创建一个名为XXX.ABC的新文件,其大小为19个扇区,并且从Pos2开始。这种对于动作的抽象描述也可以类似于Posix标准。
在进一步的步骤中,根据本发明的一方面,透过将所述抽象描述转换为对所述被动存储器的相应要求,将目标变更应用于文件系统2。如此一来,便在文件系统2上创建了一个数据XXX.ABC的项目,然而,虽然在文件系统1上已经指定了所述文件的开始位置,但所述项目尚未指定所述文件在文件系统2上的开始位置。因此,在挂起状态下,对于文件系统1上具体文件的有效负载数据的可分类性,仍然在404上存在不确定性。然而,这种不确定性可以透过针对更新FAT范围的存取要求来修正,这将在稍后讨论。
最后,写入操作完成后会透过通信接口204回报340。如此一来即完成了存取要求336。
在所述终端设备或其应用程序完成所有必要的用户工作后,例如扫描文档并将此数据放置在外部介质上,或传输其他用户产生的内容,外部介质便可以与所述终端设备分离。
部分终端设备会明确提示用户卸载外部设备,以便在这些流程中确保数据安全性。如果用户在所述终端设备提示执行卸载程序之前移除了外部介质,未等待卸载程序完成,然后才将外部介质与终端设备分离,则用户将承担可能发生数据遗失的全部责任。这种安全移除外部存储器的方法不容易作为标准程序来执行,因为用户在将外部介质与终端设备分离时往往会感到不耐烦。用户不希望必须执行并等待卸载程序,而是希望能够在设备活动完成,并且处于可以在终端设备上轻松读取的闲置状态时,立即拔出外部存储介质。为了满足用户的这些期望,终端设备的操作系统通常支持适用于文件系统驱动程序的同步技术,使所述文件系统驱动程序能够与外部存储介质一起工作。
这项技术透过清除存储在终端设备的存储器中的文件系统数据内容,使外部存储介质永远保持在最新状态,所述动作通常是由操作系统本身启动。这表示:在终端设备或其应用程序完成可能涉及外部存储介质的工作,并进入闲置状态(并等待用户的进一步输入或进一步指令)后,如果外部存储介质突然中断连接,则文件系统驱动程序或类似组件可以清除尚未写入外部介质的区块,从而确保数据安全性。这样的同步技术会对外部存储器执行进一步的存取要求。
根据本发明,为了便于这类透过FAT进行的读写尝试,可以执行以下动作,例如从文件系统1中读取FAT。
需要注意的是,读取FAT的存取要求,最迟会在挂载后第一次尝试读取文件时发出,或者挂载后第一次尝试存取子目录之后发出。
由于FAT(FAT分配表)是用来定义文件系统1方面的文件范围放置的表,因此这类结构在文件系统2上并不存在,只有透过将存取规则应用于文件系统2的并行结构上才能产生这些结构。因此,FAT会被保存在模型化设备202上。此外,这种结构不会为各别文件重写元数据,而是为文件系统1上的所有文件重写元数据,并且构成一种非有效负载数据的其他数据。
然而,FAT并非针对文件系统2上存在的所有文件来累计模型化324,而仅针对在存取要求期间所要求的文件来累计模型化314。亦即,只要文件在终端设备上完全没有被探索过(无论是透过要求目录内容还是透过直接文件路径信息),就不会针对此文件将描述其位置的元数据加以模型化。这种模型化使得方法404得以适用,从而能够将文件有效负载数据加以分类。
图9中示出了相应的方法405,其包括限定FAT中的变更并将其定义为抽象描述,从中可以推断出要对文件系统2采取哪些相应的变更。
首先需要注意的是,根据存取规则400,可以毫无疑问地确定存取要求是否涉及了FAT的范围。
假设FAT的更新至少会用于对应文件XXX.ABC的分配链。由于针对终端设备的写入操作是以优化的方式来进行,因此不能预期FAT的更新只会针对特定文件的特定分配链。反之,可预期多个文件的FAT会进行累积更新。具体要进行哪些变更,可以透过比较FAT的状态来确定405。
这是XXX.ABC文件的新项目,而所述文件尚不存在分配链。因此,可以将这种变更视为:终端设备想要为名为XXX.ABC的新文件创建一连续的分配链,其包括19个扇区,并且从(SCN+1)开始。
在进一步的步骤中,要进行的变更将会应用405于文件系统2,因为此抽象描述必须针对文件系统2上,用来管理有效负载数据在所述文件系统上之位置的结构进行调整。这也导致,方法404上之有效负载数据的可分类性不再存在任何不确定性,而这些要根据要求331写入、仍保存在模型化设备中的有效负载数据,现在可以被写入到被动存储器的对应位置。
如此一来,不仅如同针对查询336所做的处理,在文件系统2上创建了数据XXX.ABC的项目,同时也指定了文件XXX.ABC在文件系统1和文件系统2上的位置。
最后,写入操作完成后会透过通信接口204回报。如此一来即完成了FAT的存取要求。
最后要注意的是,以其他方式执行的终端设备,其动作可以以不同的顺序来执行,并且针对文件系统1的所有变更永远会直接产生存取要求。因此,上述模型化设备的动作并不会变更,因为文件系统1中固定顺序的更新,使得方法404上的挂起状态得以被排除。

Claims (16)

1.一种实时动态建立文件系统的兼容性及对数据执行独立于文件系统的存取的方法,其特征在于,包括:
授与存取权限步骤(100),对一主动终端设备和一模型化设备(M)授与存取一被动数据存储器的文件系统的权限,所述模型化设备可通信地连接在所述被动数据存储器与所述主动终端设备之间;
接收步骤(101),透过所述模型化设备(M)接收来自所述主动终端设备的一存取要求,其中,所述存取要求指定对所述被动数据存储器的存取数据和存取操作;
识别步骤(102),透过所述模型化设备(M)识别所述被动数据存储器的所述文件系统;
选择步骤(103),根据所识别(102)的所述被动数据存储器的所述文件系统,选择所存储的适于执行所述存取要求的存取规则,其中,选择所述存取规则以提供一表格,所述表格在第一列中描述所述主动终端设备的文件系统,在第二列中描述所述被动数据存储器的所述文件系统,并且在第三列中提供指出相应的存取规则的一指针;
应用步骤(104),将所选择的存取规则透过所述模型化设备(M)应用到由所述存取要求指定的存取数据;以及
执行步骤(105),根据所述存取要求执行所述存取操作。
2.根据权利要求1所述的方法,其特征在于,所述授与存取权限步骤(100)包括:识别引导扇区、挂载程序、将所述被动数据存储器集成到所述模型化设备(M)中、将所述被动数据存储器集成到所述主动终端设备中、可通信地耦合、建立至少一个插入式连接、激活存取权限、设置存取权限和/或数据通信。
3.根据权利要求1所述的方法,其特征在于,所述主动终端设备包括产生所述存取要求的一操作系统。
4.根据权利要求2所述的方法,其特征在于,所述主动终端设备包括产生所述存取要求的一操作系统。
5.根据权利要求3所述的方法,其特征在于,对每个数据流反复执行所述应用步骤(104)和所述执行步骤(105),其中所述操作系统定义所述数据流。
6.根据权利要求4所述的方法,其特征在于,对每个数据流反复执行所述应用步骤(104)和所述执行步骤(105),其中所述操作系统定义所述数据流。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述存取要求包括至少一个读取和/或写入要求。
8.根据权利要求1-6中任一项所述的方法,其特征在于,所述存取要求指定有效负载数据和/或其他数据。
9.根据权利要求1-6中任一项所述的方法,其特征在于,所述存取数据描述:文件名称、绝对存储器地址、相对存储器地址、文件类型、和/或文件属性。
10.根据权利要求1-6中任一项所述的方法,其特征在于,所述存取操作描述读取和/或写入操作。
11.根据权利要求1-6中任一项所述的方法,其特征在于,所述存取规则描述调制操作,所述调制操作说明如何将所述存取数据的其他数据模型化,以便根据所述文件系统读取和/或写入所述存取数据。
12.根据权利要求1-6中任一项所述的方法,其特征在于,存取规则描述如何根据一第一文件系统将数据写入一第二文件系统,和/或从所述第二文件系统中读取数据。
13.根据权利要求1-6中任一项所述的方法,其特征在于,所述文件系统的识别步骤(102)包括识别引导扇区。
14.根据权利要求10所述的方法,其特征在于,根据所述存取要求执行(105)所述写入操作,当文件大小受到所述文件系统限制时,将一对应的文件分割为至少两个独立的文件。
15.一种系统装置,其特征在于,用以实时动态建立文件系统兼容性及对数据执行独立于文件系统的存取,包括:
配置至少一接口单元以对一主动终端设备和一模型化设备(M)授与存取一被动数据存储器的文件系统的权限,所述模型化设备(M)可通信地连接在所述被动数据存储器与所述主动终端设备之间;
配置所述模型化设备(M)以接收(101)来自所述主动终端设备的一存取要求,所述存取要求指定对所述被动数据存储器的存取数据和存取操作;
设置所述模型化设备(M)以识别(102)所述被动数据存储器的所述文件系统;
配置一数据库单元以根据所识别(102)的所述被动数据存储器的所述文件系统,选择(103)所存储的适于执行所述存取要求的存取规则,其中,选择所述存取规则以提供一表格,所述表格在第一列中描述所述主动终端设备的文件系统,在第二列中描述所述被动数据存储器的所述文件系统,并且在第三列中提供指出相应的存取规则的一指针;
配置所述模型化设备(M)以将所选择的所述存取规则应用(104)到由所述存取要求指定的存取数据;以及
配置所述被动数据存储器以根据所述存取要求执行(105)所述存取操作。
16.一种具有控制命令的计算机程序可读存储介质,其特征在于,当在一计算机上执行所述控制命令时,实施根据权利要求1至14中任一项的方法。
CN202080038522.4A 2020-06-18 2020-11-30 实时动态地产生文件系统兼容性的方法 Active CN114158258B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP20020284.4A EP3926450B1 (de) 2020-06-18 2020-06-18 Dynamisches herstellen einer kompatibilität von dateisystemen in echtzeit
EP20020284.4 2020-06-18
PCT/EP2020/025548 WO2021170202A1 (de) 2020-06-18 2020-11-30 Dynamisches herstellen einer kompatibilität von dateisystemen in echtzeit

Publications (2)

Publication Number Publication Date
CN114158258A CN114158258A (zh) 2022-03-08
CN114158258B true CN114158258B (zh) 2022-08-19

Family

ID=71130811

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080038522.4A Active CN114158258B (zh) 2020-06-18 2020-11-30 实时动态地产生文件系统兼容性的方法

Country Status (21)

Country Link
US (1) US11340799B2 (zh)
EP (2) EP3926450B1 (zh)
JP (1) JP7197733B2 (zh)
KR (1) KR102392863B1 (zh)
CN (1) CN114158258B (zh)
AU (1) AU2020432487B2 (zh)
BR (1) BR112021025520A2 (zh)
CA (1) CA3133737C (zh)
DK (2) DK3926450T3 (zh)
ES (1) ES2917252T3 (zh)
FI (1) FI3912021T3 (zh)
HR (1) HRP20220732T1 (zh)
HU (2) HUE058873T2 (zh)
LT (1) LT3926450T (zh)
MX (1) MX2021016003A (zh)
PL (1) PL3926450T3 (zh)
PT (1) PT3926450T (zh)
RS (1) RS63283B1 (zh)
SG (1) SG11202110119WA (zh)
SI (1) SI3926450T1 (zh)
WO (1) WO2021170202A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5463772A (en) * 1993-04-23 1995-10-31 Hewlett-Packard Company Transparent peripheral file systems with on-board compression, decompression, and space management
CN101097571A (zh) * 2006-06-26 2008-01-02 凌阳科技股份有限公司 一种支持文件分配表文件系统的数据存储系统及方法
CN101908073A (zh) * 2010-08-13 2010-12-08 清华大学 一种文件系统中实时删除重复数据的方法
CN101957836A (zh) * 2010-09-03 2011-01-26 清华大学 一种文件系统中可配置的实时透明压缩方法
CN102541475A (zh) * 2012-03-12 2012-07-04 成都市华为赛门铁克科技有限公司 数据存储方法和数据存储装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3798438B2 (ja) * 1994-08-31 2006-07-19 富士写真フイルム株式会社 メモリカードインタフェース装置
US5742818A (en) 1995-12-15 1998-04-21 Microsoft Corporation Method and system of converting data from a source file system to a target file system
JP4559359B2 (ja) 2003-02-20 2010-10-06 パナソニック株式会社 情報記録媒体及びその領域管理方法
WO2005086039A2 (de) 2004-03-04 2005-09-15 Bayer Business Services Gmbh Verfahren zur bereitstellung mit strukturierter information bespielter, beliebiger speichermedien
EP2016591A1 (en) * 2006-04-28 2009-01-21 Agfa-Gevaert Conventionally printable non-volatile passive memory element and method of making thereof.
US9003109B1 (en) * 2014-05-29 2015-04-07 SanDisk Technologies, Inc. System and method for distributed computing in non-volatile memory
US9015439B1 (en) * 2014-05-30 2015-04-21 SanDisk Technologies, Inc. Event lock storage device
US10521126B2 (en) 2016-08-11 2019-12-31 Tuxera, Inc. Systems and methods for writing back data to a storage device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5463772A (en) * 1993-04-23 1995-10-31 Hewlett-Packard Company Transparent peripheral file systems with on-board compression, decompression, and space management
CN101097571A (zh) * 2006-06-26 2008-01-02 凌阳科技股份有限公司 一种支持文件分配表文件系统的数据存储系统及方法
CN101908073A (zh) * 2010-08-13 2010-12-08 清华大学 一种文件系统中实时删除重复数据的方法
CN101957836A (zh) * 2010-09-03 2011-01-26 清华大学 一种文件系统中可配置的实时透明压缩方法
CN102541475A (zh) * 2012-03-12 2012-07-04 成都市华为赛门铁克科技有限公司 数据存储方法和数据存储装置

Also Published As

Publication number Publication date
MX2021016003A (es) 2022-04-25
KR102392863B1 (ko) 2022-04-29
EP3912021B1 (de) 2023-05-24
HRP20220732T1 (hr) 2022-09-02
US20220050607A1 (en) 2022-02-17
LT3926450T (lt) 2022-06-27
CN114158258A (zh) 2022-03-08
JP2022531744A (ja) 2022-07-08
KR20210157396A (ko) 2021-12-28
DK3912021T3 (da) 2023-08-21
ES2917252T3 (es) 2022-07-07
AU2020432487A1 (en) 2022-02-03
RS63283B1 (sr) 2022-06-30
HUE062586T2 (hu) 2023-11-28
PT3926450T (pt) 2022-06-20
CA3133737C (en) 2022-05-17
AU2020432487B2 (en) 2023-01-12
DK3926450T3 (da) 2022-06-20
FI3912021T3 (en) 2023-08-17
US11340799B2 (en) 2022-05-24
HUE058873T2 (hu) 2022-09-28
SI3926450T1 (sl) 2022-08-31
EP3926450A1 (de) 2021-12-22
EP3926450B1 (de) 2022-05-11
EP3912021A1 (de) 2021-11-24
BR112021025520A2 (pt) 2022-12-27
JP7197733B2 (ja) 2022-12-27
SG11202110119WA (en) 2021-10-28
CA3133737A1 (en) 2021-09-02
WO2021170202A1 (de) 2021-09-02
PL3926450T3 (pl) 2022-07-11

Similar Documents

Publication Publication Date Title
US8615594B2 (en) Virtual media with folder-mount function
US6192444B1 (en) Method and system for providing additional addressable functional space on a disk for use with a virtual data storage subsystem
US5581740A (en) System for reading CD ROM data from hard disks
CN100399310C (zh) 信息处理装置、信息处理方法及随其使用的程序和记录介质
CN101650660B (zh) 从中央存储装置引导计算机系统
JP2005501317A (ja) 外部データ記憶装置管理システムおよび方法
US9235583B2 (en) Virtual media with folder-mount function
US20120124092A1 (en) File storage apparatus and access control method
CN105045663A (zh) 快速部署虚拟机的方法与系统
CN107451138A (zh) 一种分布式文件系统存储方法和系统
CN102272751A (zh) 在数据库环境通过背景同步的数据完整性
US8732427B2 (en) Systems and methods for collapsing a derivative version of a primary storage volume
JP4755244B2 (ja) 情報生成方法、情報生成プログラム及び情報生成装置
CN110109866A (zh) 一种文件系统目录的管理方法及设备
WO2001042985A2 (en) Sharing data between operating systems
US20150339317A1 (en) Avoiding full file replication using sparse files
CN106528226A (zh) 操作系统的安装方法及装置
US20060059188A1 (en) Operation environment associating data migration method
CN114158258B (zh) 实时动态地产生文件系统兼容性的方法
JP2006031608A (ja) 計算機、ストレージシステム、計算機が行うファイル管理方法、およびプログラム
RU2808634C1 (ru) Динамическое определение совместимости файловых систем в реальном времени
US20070124366A1 (en) Storage control method for managing access environment enabling host to access data
JP2011134269A (ja) 情報処理装置、情報処理方法、プログラム、記録媒体
US7565355B1 (en) Merging file systems during a disk clone operation
CN116185454A (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