CN102622377A - 用于合并文件的方法和设备 - Google Patents

用于合并文件的方法和设备 Download PDF

Info

Publication number
CN102622377A
CN102622377A CN2011100351428A CN201110035142A CN102622377A CN 102622377 A CN102622377 A CN 102622377A CN 2011100351428 A CN2011100351428 A CN 2011100351428A CN 201110035142 A CN201110035142 A CN 201110035142A CN 102622377 A CN102622377 A CN 102622377A
Authority
CN
China
Prior art keywords
file
actual
virtual
source
merging
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
Application number
CN2011100351428A
Other languages
English (en)
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.)
Beijing Oak Pacific Interactive Technology Development Co Ltd
Original Assignee
Beijing Oak Pacific Interactive Technology Development 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 Beijing Oak Pacific Interactive Technology Development Co Ltd filed Critical Beijing Oak Pacific Interactive Technology Development Co Ltd
Priority to CN2011100351428A priority Critical patent/CN102622377A/zh
Publication of CN102622377A publication Critical patent/CN102622377A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明的实施方式涉及用于合并文件的方法和设备。具体地,公开了一种用于合并文件的方法,包括:响应于合并多个源文件的请求,确定所述源文件是虚拟文件还是实际文件;针对虚拟文件,定位组成该虚拟文件的实际文件;以及将所述源文件中的实际文件与组成各虚拟文件的实际文件合并。本发明的实施方式还公开了相应的设备。

Description

用于合并文件的方法和设备
技术领域
本发明的实施方式总体上涉及信息技术领域,更具体地,涉及用于合并文件的方法和设备。
背景技术
为描述和说明目的,首先定义在此使用的若干术语在本申请语境中的含义。在此使用的术语“文件”总体上可以分为“虚拟文件”和“实际文件”两类。“虚拟文件”是指实际上并不存在于物理存储介质上的、而是仅存在于逻辑上或概念上的文件。相反,“实际文件”则是指实际存在于物理存储介质(例如,磁盘)上的文件,包括文本文件、二进制文件和/或其他任何形式的文件。此外,在此使用的术语“合并”表示将两个或更多文件的内容相结合以生成新的文件。合并可以按照多种方式执行,诸如头尾合并、插入、交错合并等各种方式。另外,在此使用的术语“源文件”和“目标文件”分别表示合并操作所针对的文件以及作为合并结果而获得的文件。可以理解,源文件和目标文件是相对的,一个合并操作中的目标文件可以充当另一目标操作中的源文件,反之亦然。
如本领域已知的,在软件以及Web站点的开发和维护中,为了便于设计、调试、实现和修改各种功能,经常需要对多个文件进行合并。举例而言,在Web站点的开发中,有时需要将原本在两个页面中呈现的内容集中到一个页面中。此时,假设两个页面的源文件分别为文件A和文件B,一种比较简单、有效的方法是将文件A和文件B合并为新的文件(例如,文件C),其中文件C包含原文件A和文件B的内容(可能还需要某些后续处理,不是本发明所要考虑的问题)。此时,文件A和B为源文件,而文件C为目标文件。
在现有技术中,很多支持文件合并的方案和工具往往只支持二级合并。换言之,在发起文件合并的请求或者命令中,必须明确地指定所有源文件的完整路径。仍然考虑上文提及的示例,根据现有技术,文件合并请求中必须显式地指明文件A和文件B的完整路径。否则,合并将无法完成。
然而在实践中,经常遇到需要进行多级文件合并的情况。例如,在上文的示例中,如果文件A需要进一步由文件A1和A2合并获得。在这种情况下,根据上述现有技术,文件合并的请求必须将文件A1、A2和B指定为源文件,并明确指定其路径。这样做带来了诸多不便。首先,这增加了开发人员的负担,削弱了逻辑抽象的作用。其次,可能会重复配置或者漏配置的问题。例如,仍然考虑上述情况,如果在后续开发和维护过程中,文件A的合并规则被改变(例如,变为由文件A1和A3合并获得),则必须相应地修改目标文件C的合并规则,即,将相关的源文件改为A1、A3和B。然而,在实践中,在诸如文件数量众多、各文件由不同的人员/团队负责时等很多情况下,可能遗漏修改目标文件C的合并规则。这将导致无法获得期望的目标文件C。
为了解决这一问题,在现有技术中,已经提出了若干支持多级文件合并的方案,即,允许源文件本身进一步由其他文件合并而来。然而,根据现有技术的此类方案,文件合并请求中所涉及的所有源文件都必须是实际文件,这可能给文件的管理和维护带来不利影响。
在很多情况下,对文件进行划分和合并的主要目的是为了确保所谓的“粒度最小化”原则,即,尽可能确保每个实际文件中仅涉及基本的功能和/或信息。例如,在上文提及的示例中,文件A1和A2可能包含有粒度足够小(甚至最小)的基本信息单位。而另一方面,在需要通过合并获得新文件时,为了在较高层面(例如,功能层面、逻辑层面,等)确保清晰、完整,某些源文件可能仅仅在逻辑上被定义。仍然考虑上文示例,为了逻辑清晰和便于维护,目标文件C可被定义为由源文件A(由文件A1和A2合并获得)和源文件B合并获得,而源文件A实际上并不存在于任何物理存储介质上,即,源文件A是虚拟文件。
然而,现有技术的解决方案无法有效地处理这一问题。换言之,如果合并中涉及到的任何一个源文件是存储介质上不存在的,则合并将出现错误。因此根据现有技术,在上文示例中,为了创建目标文件C,必须首先显式地创建源文件A,使其成为实际文件。这可能导致粒度最小化原则被破坏,从而不利于文件的粒度控制。
发明内容
为了克服现有技术中的上述缺陷,本发明的实施方式提供用于文件合并的新颖的方法和设备。
在本发明的一个方面,提供一种用于合并文件的方法,包括:响应于合并多个源文件的请求,确定所述源文件是虚拟文件还是实际文件;针对虚拟文件,定位组成该虚拟文件的实际文件;以及将所述源文件中的实际文件与组成各虚拟文件的实际文件合并。
根据本发明的某些可选实施方式,确定所述源文件是虚拟文件还是实际文件可以进一步包括:在相关的存储介质上搜索所述源文件;以及响应于在所述存储介质上没有搜索到源文件,将该源文件确定为所述虚拟文件。根据本发明的另一些某些可选实施方式,确定所述源文件是虚拟文件还是实际文件可以进一步包括:根据所述请求中与所述源文件相关联的标签来确定所述源文件是虚拟文件还是实际文件。备选地或附加地,确定所述源文件是虚拟文件还是实际文件可以进一步包括:根据虚拟文件描述信息来确定所述多个源文件中的虚拟文件。
根据本发明的某些可选实施方式,定位组成虚拟文件的实际文件可以进一步包括:根据虚拟文件描述信息,定位组成所述虚拟文件的实际文件。
根据本发明的某些可选实施方式,所述合并可以进一步包括:在不创建额外实际文件的情况下执行所述合并。备选地,所述合并可以进一步包括:创建与所述虚拟文件对应的实际文件;对所述多个源文件中的实际文件与所创建的实际文件进行合并;以及删除所创建的实际文件。
在本发明的又一方面,提供一种用于合并文件的设备,包括:确定装置,配置用于响应于合并多个源文件的请求而确定所述源文件是虚拟文件还是实际文件;定位装置,配置用于针对虚拟文件而定位组成该虚拟文件的实际文件;以及合并装置,配置用于将所述源文件中的实际文件与组成各虚拟文件的实际文件合并。
根据本发明的实施方式,不但允许多级文件合并,而且还允许参与合并的源文件是虚拟文件,即实际上并不存在的文件。当合并请求中的某些或全部源文件是此类虚拟文件时,可以利用多种机制来获取组成每个虚拟文件的实际文件,并利用这些实际文件来正确地完成合并操作。根据优选实施方式,无需用户显式地指明虚拟文件,而是可以在运行时期间自动确定。而且,根据优选实施方式,在文件合并期间无需创建任何中间文件。由此,本发明的实施方式不仅可以有效地节省存储资源,更重要的是,能够克服现有技术中存在的由文件合并导致的漏配置、重复配置、破坏粒度最小化原则等问题。
附图说明
通过参考附图阅读下文的详细描述,本发明实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示出了根据本发明示例性实施方式的用于合并文件的方法100的流程图;
图2A-图2C示出了根据本发明示例性实施方式的文件合并请求的若干示例格式的示意图;
图3示出了根据本发明示例性实施方式的用于合并文件的设备300的框图;以及
图4示出了适合用来实践本发明实施方式的计算机系统400的框图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。
如上文所述,根据本发明的实施方式,不但允许多级文件合并,而且还允许参与合并的源文件是虚拟文件,即实际上并不存在的文件。根据优选实施方式,无需用户显式地指明虚拟文件,而是可以在运行时期间自动确定。而且,根据本发明的优选实施方式,在文件合并期间无需创建任何中间文件。由此,不但可以有效地节省存储资源,还能够克服现有技术中存在的由文件合并导致的漏配置、重复配置、破坏粒度最小化原则等问题。
下面结合附图以示例的方式详细描述本发明的各种实施方式。首先参考图1,其示出了根据本发明示例性实施方式的用于合并文件的方法100的流程图。应当理解,方法100中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法100可以包括附加的步骤和/或省略执行示出的步骤。本发明的范围在此方面不受限制。
方法100开始之后,在步骤S102,响应于合并多个源文件的请求,确定源文件是否为虚拟文件。
在步骤S102中,合并源文件的请求可以是通过多种方式获得的。例如,此类请求可以由用户通过命令行、图形用户界面和/或任何适当的技术手段交互输入。此外,此类请求也可以由系统中的其他相关设备、模块和/或组件产生和提供。又如,此类请求也可以是批处理命令或其部分。本发明的范围在此方面不受限制。
根据本发明的实施方式,合并多个源文件的请求可以具有各种格式。一般而言,文件合并请求至少应包含:指示参与合并的源文件的标识信息;以及指示作为合并结果的目标文件的标识信息。特别地,根据本发明的实施方式,源文件允许是虚拟文件,即实际上并不存在于任何物理存储介质上的文件。为此,根据本发明实施方式,文件合并请求还应包含相应的附加字段,这将在下文详述。
根据本发明的实施方式,在步骤S102,可以通过多种方式来确定源文件是虚拟文件还是实际文件。例如,根据一种实施方式,可以根据文件合并请求中指示的源文件的标识信息(例如,文件名、存储路径等),在相关的存储介质(例如,执行文件合并的实体所具有或关联的存储介质,等等)上搜索源文件。如果能够在存储介质上搜索到特定的源文件,则确定该源文件为实际文件。反之,如果在所述存储介质上没有搜索到源文件,则将该源文件确定为虚拟文件。以此方式,根据本发明的这些实施方式,用户无需显式地声明某个源文件为虚拟文件,而是可以自动地检测和确定虚拟文件。
可以理解,上述方式是可行的,但可能具有较高的计算和/或时间代价。为此,根据本发明的另一些实施方式,可以通过文件合并请求本身来确定一个源文件是否为虚拟文件。例如,参见图2A,其示出了根据本发明示例性实施方式的文件合并请求的一个示例格式。在图2A所示的示例中,合并请求200A除了包括指示目标文件的字段210和指示源文件1…N的字段212-1…212-N之外,还包括虚拟文件描述信息字段214。如下所述,根据本发明的实施方式,字段214中包含的虚拟文件描述信息可以指示组成源文件中的每个以及全部虚拟文件的实际文件信息。
由此,如果某个源文件的标识信息(例如,文件名)存在于此类虚拟文件描述信息中,则可以确定该源文件是虚拟文件。因而,在这样的实施方式中,可以通过搜索和匹配虚拟文件描述信息字段214中包含的虚拟文件描述信息,来确定源文件是否为虚拟文件。可以理解,根据图2A所示的实施方式,用户仍旧无需显式地声明某个源文件为虚拟文件。不仅如此,由于搜索虚拟文件描述信息的代价通常小于搜索物理存储介质(例如,磁盘)的代价,还可以获得性能的提升。
应当理解,在图2A所示的合并请求中,多个字段的划分仅仅是出于说明和描述目的。在实践中,上述格式可以通过多种方式来实现。例如,参加下面的表1,示出了利用可扩展标记语言(XML)来实现图2A所示的合并请求200A的一个具体示例。
Figure BSA00000431492500071
表1
在此示例中,“<combine>”信息块对应于图2A中的目标文件字段210;三个“<include>”信息块对应于源文件字段212;而“<conf>”信息块则对应于虚拟文件描述信息字段214。如上所述,在表1所示的示例中,通过搜索虚拟文件描述信息可知:源文件“File_A”和“File_D”存在于虚拟文件描述信息之中。由此,可以将文件“File_A”和“File_D”确定为虚拟文件。这样,无需特别地声明,便可以自动检测出源文件中的虚拟文件。
在本发明的另一些实施方式中,文件合并请求还可以具有如图2B所示的格式。类似于图2A的情况,在图2B中所示的实施方式中,用户无需显式地指示文件的类别,而是通过例如包含在请求中的虚拟文件描述信息来自动确定。不同之处在于,在图2B所示的实施方式中,虚拟文件描述信息不再是统一的信息块,相反,各源文件可以具有与之关联的、各自独立的虚拟文件描述信息字段(例如,图2B中示出的字段224-1…224-N)中。特别地,对于源文件中的虚拟文件,字段224-1…224-N可以包含描述该虚拟文件的任何适当信息;而对于源文件中的实际文件,该字段可以为空(NULL)或其他预定值。
参见表2,其示出了利用XML来实现图2B所示的合并请求200B的一个具体示例。可以看到,在表2所示的示例中,虚拟文件“File_A”和“File_D”的每一个都具有与之关联的虚拟文件描述信息。而文件“File_B”不具有此类信息(即,此类信息为“空”),因而可被确定为实际文件。
Figure BSA00000431492500081
表2
图2C示出了根据本发明的又一些实施方式,其中合并请求中可以包含与各源文件字段232_1…232_N相关联的标签字段234-1…234-N。此类标签234-1…234-N可专门用于指示与之关联的源文件属于虚拟文件还是实际文件。例如,标签234-1…234-N可以利用预定的文本、数字、比特、预定标记等各种手段来指示源文件的类别。
参见表3,其示出了利用XML来实现图2C所示的合并请求200C的一个具体示例。
Figure BSA00000431492500091
表3
可以看到,在表3所示的示例中,每一个<include>信息块中增加了一个与之关联的“virtual”的属性,其对应于图2C中所示的标签234。在此类实施方式中,需要用户在合并请求中显式地指定某个源文件是否为虚拟文件。在操作期间,文件的类别可以通过直接读取对应的属性值来确定,而无需如同前述实施方式那样搜索虚拟文件描述信息。由此,不需要执行任何存储介质或信息的搜索,从而可以进一步提高处理速度和降低成本
此外,应当理解,图2A-图2C所示的格式以及表1-表3中示出的具体语法仅仅是文件合并请求的若干示例性实施方式。例如,在图2C示出的带有标签的实施方式中,虚拟文件描述信息字段被示为单个字段。实际上,在这种情况下,文件合并请求也可以包含与各源文件分别关联的虚拟文件描述信息字段,如同图2B所示那样。而且,根据本发明的教导和启发,本领域技术人员可以利用各种目前已知或将来开发的手段在合并请求中指明源文件的类别。本发明的范围在此方面不受限制。
继续对方法100的讨论。如果在步骤S102确定当前考虑的源文件是实际文件,则方法100转到步骤S106,在此执行实际文件的合并。另一方面,如果在步骤S102确定当前考虑的源文件是虚拟文件,则方法100进行到步骤S104,在此定位组成该虚拟文件的实际文件。
根据本发明的某些实施方式,可以根据虚拟文件描述信息来定位组成虚拟文件的实际文件。在本发明的某些实施方式中,虚拟文件描述信息可以包含在文件合并请求之中。例如,如上文结合表1-表3的示例所述的,对于源文件中的任何虚拟文件,合并请求中可以包含与之关联的虚拟文件描述信息字段,其中包含的虚拟文件描述信息可以指示组成该虚拟文件的实际文件的有关信息(例如,文件名、存储地址,等等)。由此,当确定文件合并请求中的一个或多个源文件是虚拟文件时,本发明的实施方式不会如同现有技术中那样报错或是终止执行,而是可以根据虚拟文件描述信息来确定组成该虚拟文件的实际文件。
备选地或附加地,虚拟文件描述信息也可以存储在其他可访问位置,而不是包含在请求本身中。例如,此类信息可以存储在可动态更新的另一配置文件中(例如,文本文件、数据库,等等)。在这样的实施方式中,在步骤S104,可以利用虚拟文件的标识信息来搜索该配置文件,从而定位组成该虚拟文件的实际文件。
应当注意,本发明的实施方式支持虚拟文件的多级合并。换言之,作为源文件的虚拟文件本身仍然可以由多级文件组成。而且,这些次级虚拟文件也可以是虚拟文件。此时,在步骤S104中,本发明的实施方式将继续定位组成次级虚拟文件的实际文件,直到定位到所有实际文件为止。也就是说,在步骤S104,可以递归地调用方法100。本领域技术人员可以理解,这一递归调用可以按照诸如深度优先或广度优先等各种方式来实现。
另外,在步骤S104中,如果由于虚拟文件描述信息或配置文件的错误和/或缺失等原因而无法定位组成某个虚拟文件的实际文件,则可以提示用户或者返回错误信息。此时,相应的合并过程可以继续执行,也可以终止。其他错误提示和恢复机制也是可行的,本发明在此方面不受限制。
在定位了组成当前考虑的源文件的所有实际文件之后,方法100进行到步骤S106,在此确定是否存在更多待确定的源文件。如果确定结果为“否”,即,已经组成文件合并请求中所涉及到的每个虚拟文件的实际文件均已定位,则方法100进行到步骤S108以执行合并(下文详述)。
另一方面,如果在步骤S108处确定还存在没有确定的源文件,则方法100返回步骤S102以继续确定下一个源文件是否为虚拟文件。应当理解,尽管按照图1中示出的实施方式,对每个源文件的确定是逐次顺序执行的,但是在备选实施方式中此类确定可以按照任何适当的顺序执行或者并行执行。
在步骤S106,执行实际文件的合并。应当理解,步骤S106中涉及的实际文件既包括源文件中的实际文件,也包括组成源文件中虚拟文件的那些实际文件。步骤S106所得的结果即是合并后的文件。
特别地,根据本发明的实施方式,为了保持逻辑层面的清晰以及遵循粒度最小化原则,在步骤S106处,在合并操作完成之后,不应在物理存储介质上创建任何额外的实际文件。为此,根据本发明的某些实施方式,步骤S106处的执行可以在不创建额外实际文件的情况下执行的。换言之,根据这样的实施方式,参与合并操作的实际文件都是原本就存在于物理存储介质上的实际文件。
备选地,在本发明的另一些实施方式中,步骤S106处的合并也可以通过以下方式来执行:对于虚拟文件,创建与该虚拟文件对应的实际文件,即合并组成该虚拟文件的实际文件,以生成新的实际文件。这些生成的实际文件可称为中间实际文件。而后,对多个源文件中的实际文件与所创建的中间实际文件进行合并。最后,在删除在合并过程中创建的那些中间实际文件。
方法100在步骤S106之后结束。获得的合并文件可被用于多种目的和用途,这不属于本发明所要关注和讨论的问题。
现在参考图3,其示出了根据本发明示例性实施方式的用于合并文件的设备300的框图。如图3所示,根据本发明的实施方式,设备300包括确定装置302,定位装置304,以及合并装置306。
根据本发明的实施方式,确定装置302可配置用于响应于合并多个源文件的请求,确定所述源文件是虚拟文件还是实际文件。根据本发明的某些可选实施方式,确定装置302可以进一步包括:配置用于在相关的存储介质上搜索所述源文件的装置;以及配置用于响应于在所述存储介质上没有搜索到源文件而将该源文件确定为所述虚拟文件的装置。根据本发明的某些可选实施方式,确定装置302可以进一步包括:配置用于根据与源文件相关联的标签来确定该源文件是虚拟文件还是实际文件的装置。此外,确定装置302可以进一步包括:配置用于根据虚拟文件描述信息来确定所述多个源文件中的虚拟文件的装置。
定位装置304可配置用于针对源文件中的虚拟文件而定位组成该虚拟文件的实际文件。根据本发明的某些可选实施方式,定位装置304可以进一步包括:配置用于根据虚拟文件描述信息来定位组成所述虚拟文件的实际文件的装置。
合并装置306可配置用于将所述源文件中的实际文件与组成各虚拟文件的实际文件合并。根据本发明的某些可选实施方式,合并装置306可以进一步包括:配置用于在不创建额外实际文件的情况下执行所述合并的装置。此外,合并装置306可以进一步包括:配置用于创建与所述虚拟文件对应的实际文件的装置;配置用于对所述多个源文件中的实际文件与所创建的实际文件进行合并的装置;以及配置用于删除所创建的实际文件的装置。
为清晰起见,在图3中并未示出各个装置所包含的子装置。然而,应当理解,设备300中记载的每个装置与参考图1描述的方法100中的每个步骤相对应。由此,上文针对图1描述的操作和特征同样适用于设备300及其中包含的装置和子装置,在此不再赘述。
还应当理解,设备300可以利用各种方式来实现。例如,在某些实施方式中,设备300可以利用软件和/或固件模块来实现。此外,设备300也可以利用硬件模块来实现。例如,设备300可以实现为集成电路(IC)芯片或专用集成电路(ASIC)。设备300也可以实现为片上系统(SOC)。现在已知或者将来开发的其他方式也是可行的,本发明的范围在此方面不受限制。
图4示出了适于用来实现本发明实施方式的计算机系统的框图。如图4所示,计算机系统可以包括:CPU(中央处理单元)401、RAM(随机存取存储器)402、ROM(只读存储器)403、系统总线404、硬盘控制器405、键盘控制器406、串行接口控制器407、并行接口控制器408、显示控制器409、硬盘410、键盘411、串行外部设备412、并行外部设备413和显示器414。在这些部件中,与系统总线404相连的有CPU 401、RAM 402、ROM 403、硬盘控制器405、键盘控制器406、串行控制器407、并行控制器408和显示控制器409。硬盘410与硬盘控制器405相连,键盘411与键盘控制器406相连,串行外部设备412与串行接口控制器407相连,并行外部设备413与并行接口控制器408相连,以及显示器414与显示控制器409相连。应当理解,图4所述的结构框图仅仅为了示例的目的而示出的,而不是对本发明的限制。在某些情况下,可以根据需要增加或者减少其中的一些设备。
特别地,除硬件实施方式之外,本发明的实施方式可以通过计算机程序产品的形式实现。例如,参考图1描述的方法100可以通过计算机程序产品来实现。该计算机程序产品可以存储在例如图4所示的RAM 304、ROM 304、硬盘410和/或任何适当的存储介质中,或者通过网络从适当的位置下载到计算机系统400上。计算机程序产品可以包括计算机代码部分,其包括可由适当的处理设备(例如,图4中示出的CPU 401)执行的程序指令。所述程序指令至少可以包括:用于响应于合并多个源文件的请求而确定所述源文件是虚拟文件还是实际文件的指令;用于针对虚拟文件而定位组成该虚拟文件的实际文件的指令;以及用于将所述源文件中的实际文件与组成各虚拟文件的实际文件合并的指令。
上文已经结合若干具体实施方式阐释了本发明的精神和原理。本发明的实施方式提供了用于合并文件的新颖的方法和设备。根据本发明的实施方式,不但允许多级文件合并,而且还允许参与合并的源文件是虚拟文件,即实际上并不存在的文件。具体而言,当合并请求中的某些或全部源文件是此类虚拟文件时,可以利用多种机制来获取组成虚拟文件的实际文件,并利用这些实际文件来正确地完成合并操作。根据优选实施方式,无需用户显式地指明虚拟文件,而是可以在运行时期间自动确定。特别地,根据本发明的优选实施方式,在文件合并期间无需创建任何中间文件。由此,不但可以有效地节省存储资源,而且能够克服现有技术中存在的由文件合并导致的漏配置、重复配置、破坏粒度最小化原则等问题。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
说明书中提及的通信网络可以包括各类网络,包括但不限于局域网(“LAN”),广域网(“WAN”),基于IP协议的网络(例如,因特网)以及端对端网络(例如,ad hoc对等网络)。
应当注意,尽管在上文详细描述中提及了设备的若干装置或子装置,但是这种划分仅仅并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明,但是应该理解,本发明并不限于所公开的具体实施方式。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。所附权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。

Claims (14)

1.一种用于合并文件的方法,包括:
响应于合并多个源文件的请求,确定所述源文件是虚拟文件还是实际文件;
针对虚拟文件,定位组成该虚拟文件的实际文件;以及
将所述源文件中的实际文件与组成各虚拟文件的实际文件合并。
2.如权利要求1所述的方法,其中确定所述源文件是虚拟文件还是实际文件进一步包括:
在相关的存储介质上搜索所述源文件;以及
响应于在所述存储介质上没有搜索到源文件,将该源文件确定为所述虚拟文件。
3.如权利要求1所述的方法,其中确定所述源文件是虚拟文件还是实际文件进一步包括:
根据虚拟文件描述信息来确定所述多个源文件中的虚拟文件。
4.如权利要求1所述的方法,其中确定所述源文件是虚拟文件还是实际文件进一步包括:
根据所述请求中与所述源文件相关联的标签来确定所述源文件是虚拟文件还是实际文件。
5.如权利要求1所述的方法,其中定位组成虚拟文件的实际文件进一步包括:
根据虚拟文件描述信息来定位组成所述虚拟文件的实际文件。
6.如权利要求1所述的方法,其中所述合并包括:
在不创建额外实际文件的情况下执行所述合并。
7.如权利要求1所述的方法,其中所述合并包括:
创建与所述虚拟文件对应的实际文件;
对所述多个源文件中的实际文件与所创建的实际文件进行合并;以及
删除所创建的实际文件。
8.一种用于合并文件的设备,包括:
确定装置,配置用于响应于合并多个源文件的请求而确定所述源文件是虚拟文件还是实际文件;
定位装置,配置用于针对虚拟文件而定位组成该虚拟文件的实际文件;以及
合并装置,配置用于将所述源文件中的实际文件与组成各虚拟文件的实际文件合并。
9.如权利要求8所述的设备,其中所述确定装置进一步包括:
配置用于在相关的存储介质上搜索所述源文件的装置;以及
配置用于响应于在所述存储介质上没有搜索到源文件而将该源文件确定为所述虚拟文件的装置。
10.如权利要求8所述的设备,其中所述确定装置进一步包括:
配置用于根据虚拟文件描述信息来确定所述多个源文件中的虚拟文件的装置。
11.如权利要求8所述的设备,其中所述确定装置进一步包括:
配置用于根据所述与所述源文件相关联的标签来确定所述源文件是虚拟文件还是实际文件的装置。
12.如权利要求8所述的设备,其中所述定位装置进一步包括:
配置用于根据虚拟文件描述信息来定位组成所述虚拟文件的实际文件的装置。
13.如权利要求8所述的设备,其中所述合并装置进一步包括:
配置用于在不创建额外实际文件的情况下执行所述合并的装置。
14.如权利要求8所述的设备,其中所述合并装置进一步包括:
配置用于创建与所述虚拟文件对应的实际文件的装置;
配置用于对所述多个源文件中的实际文件与所创建的实际文件进行合并的装置;以及
配置用于删除所创建的实际文件的装置。
CN2011100351428A 2011-01-28 2011-01-28 用于合并文件的方法和设备 Pending CN102622377A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011100351428A CN102622377A (zh) 2011-01-28 2011-01-28 用于合并文件的方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011100351428A CN102622377A (zh) 2011-01-28 2011-01-28 用于合并文件的方法和设备

Publications (1)

Publication Number Publication Date
CN102622377A true CN102622377A (zh) 2012-08-01

Family

ID=46562300

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011100351428A Pending CN102622377A (zh) 2011-01-28 2011-01-28 用于合并文件的方法和设备

Country Status (1)

Country Link
CN (1) CN102622377A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104077409A (zh) * 2014-07-14 2014-10-01 北京龙存科技有限责任公司 一种基于重组文件元数据实现快速文件切割和合并的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1996310A (zh) * 2006-01-06 2007-07-11 国际商业机器公司 用于生成搜索引擎搜索结果的方法和系统
WO2008068940A1 (ja) * 2006-12-05 2008-06-12 Mitsubishi Electric Corporation 映像音声再生装置
CN101651678A (zh) * 2009-09-11 2010-02-17 北京锐安科技有限公司 网络中动态合并及分别执行合并pe文件的方法及其系统
EP2216783A1 (en) * 2004-07-22 2010-08-11 Panasonic Corporation Playback apparatus and playback method
US20100257218A1 (en) * 2009-04-03 2010-10-07 Konstantin Iliev Vassilev Merging multiple heterogeneous file systems into a single virtual unified file system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2216783A1 (en) * 2004-07-22 2010-08-11 Panasonic Corporation Playback apparatus and playback method
CN1996310A (zh) * 2006-01-06 2007-07-11 国际商业机器公司 用于生成搜索引擎搜索结果的方法和系统
WO2008068940A1 (ja) * 2006-12-05 2008-06-12 Mitsubishi Electric Corporation 映像音声再生装置
US20100257218A1 (en) * 2009-04-03 2010-10-07 Konstantin Iliev Vassilev Merging multiple heterogeneous file systems into a single virtual unified file system
CN101651678A (zh) * 2009-09-11 2010-02-17 北京锐安科技有限公司 网络中动态合并及分别执行合并pe文件的方法及其系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104077409A (zh) * 2014-07-14 2014-10-01 北京龙存科技有限责任公司 一种基于重组文件元数据实现快速文件切割和合并的方法
CN104077409B (zh) * 2014-07-14 2017-12-12 北京龙存科技有限责任公司 一种基于重组文件元数据实现快速文件切割和合并的方法

Similar Documents

Publication Publication Date Title
US7508985B2 (en) Pattern-matching system
CN1641583B (zh) 自描述软件映象更新组件
US8453085B2 (en) Method for estimating the latency time of a clock tree in an ASIC design
CN101160564A (zh) 用于实现有双端序能力的编译器的方法和装置
CN112529694B (zh) 授信处理方法、装置、设备及系统
CN110851207B (zh) 状态转换管理方法、装置、电子设备和存储介质
US11782813B2 (en) Methods and apparatus to determine refined context for software bug detection and correction
CN111159040A (zh) 一种测试数据生成方法、装置、设备及存储介质
CN113885936A (zh) 一种定制镜像中软件包依赖的解决方法
CN111930810A (zh) 数据规则挖掘方法及装置
Yang et al. Definition and detection of defects in NFT smart contracts
US20120005643A1 (en) System and Method for Placing Integrated Circuit Functional Blocks According to Dataflow Width
KR100288670B1 (ko) 데이터세그먼트처리방법및정보처리시스템
CN103729865A (zh) 拉伸图片的方法和设备
CN110992039B (zh) 交易处理方法、装置及设备
US9679092B1 (en) Constraint handling for parameterizable hardware description language
CN111324645B (zh) 区块链的数据处理方法及装置
Kozlenkov et al. Architecture-driven service discovery for service centric systems
CN102622377A (zh) 用于合并文件的方法和设备
WO2020024902A1 (zh) 用于搜索区块链数据的方法、装置及存储介质
US10956241B1 (en) Unified container for hardware and software binaries
CN112907198B (zh) 业务状态流转维护方法、装置及电子设备
CN110245136B (zh) 数据检索方法及装置、设备及存储设备
CN113722321A (zh) 数据导出方法、装置和电子设备
CN113138762A (zh) Ui页面开发方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120801