发明内容
未解决上述问题,本发明提供一种基于NTFS的媒体库扫描方法及装置,能够避免重复解析媒体文件以及遍历全部文件而造成的媒体库扫描速度底且浪费资源的技术问题。
本发明提供一种基于NTFS的媒体库扫描方法,所述方法包括:选中一文件为待扫描文件;判断所述待扫描文件是否包含媒体文件标识的第一数据流,其中,所述媒体文件标识的第一数据流为文件被首次扫描解析为媒体文件时创建;若所述待扫描文件包含媒体文件标识的第一数据流,则判断所述第一数据流记录的时间戳是否晚于所述待扫描文件的修改时间;若所述第一数据流记录的时间戳晚于所述待扫描文件的修改时间,则跳过所述待扫描文件并选中下一文件为待扫描文件;若所述第一数据流记录的时间戳不晚于所述待扫描文件的修改时间,则对所述待扫描文件进行扫描解析。
优选地,文件被首次扫描解析为媒体文件时创建所述媒体文件标识的第一数据流包括:扫描解析一文件;其中,所述文件为首次扫描解析的文件;当所述文件为媒体文件时,在所述文件上创建一数据流;将解析所述文件得到的MetaData信息和当前时间写入创建的所述数据流中以形成所述媒体文件标识的第一数据流。
优选地,所述选中一文件为待扫描文件的步骤之前还包括:选中一文件目录为待扫描文件目录;判断所述待扫描文件目录是否包含的第二数据流以判断所述待扫描文件目录中是否包含媒体文件;其中,所述第二数据流信息为文件目录被首次扫描时创建;若所述待扫描文件目录不包含媒体文件时,则判断所述第二数据流记录的时间戳是否晚于所述待扫描文件目录的修改时间;若所述第二数据流记录的时间戳晚于所述待扫描文件目录的修改时间,则跳过所述待扫描文件目录并选中下一文件目录为待扫描文件目录;若所述第二数据流记录的时间戳不晚于所述待扫描文件目录的修改时间,则对所述待扫描文件目录中的文件进行扫描解析。
优选地,若确定所述待扫描文件目录包含第二数据流从而确定所述待扫描文件目录中包含媒体文件时,则选中所述待扫描文件目录中的一文件为待扫描文件,并执行所述判断所述待扫描文件是否包含媒体文件标识的第一数据流的步骤及之后的步骤。
优选地,文件目录被首次扫描时创建所述文件目录的第二数据流信息包括:扫描所述文件目录下包含的全部文件以判断所述文件目录中是否包含媒体文件;若所述文件目录中不包含媒体文件,则在所述文件目录上创建一数据流,并把当前时间写入到创建的所述数据流中以形成所述第二数据流。
优选地,所述选中一文件为待扫描文件的步骤之前还包括:选中一文件目录为待扫描文件目录;判断所述待扫描文件目录是否包含一预设数据流信息;其中,所述预设数据流信息为用户预先创建的;若所述待扫描文件目录包含所述预设数据流信息,则跳过所述待扫描文件目录并选中下一文件目录为待扫描文件目录。
优选地,创建所述预设数据流信息包括:在资源浏览器所包含的一文件目录上创建所述预设数据流信息。
本发明还提供一种基于NTFS的媒体库扫描装置,所述装置包括:媒体文件扫描单元,用于选中一文件为待扫描文件;以及数据流解析单元,用于判断所述媒体文件扫描单元选中的所述待扫描文件是否包含媒体文件标识的第一数据流,以及当确定所述待扫描文件包含媒体文件标识的第一数据流时判断所述第一数据流记录的时间戳是否晚于所述待扫描文件的修改时间;当所述第一数据流记录的时间戳晚于所述待扫描文件的修改时间时,控制所述媒体文件扫描单元跳过所述待扫描文件并选中下一文件为待扫描文件;当所述第一数据流记录的时间戳不晚于所述待扫描文件的修改时间时控制所述媒体文件扫描单元对所述待扫描文件进行扫描解析;其中,所述媒体文件标识的第一数据流为文件被首次扫描解析为媒体文件时创建。
优选地,所述装置还包括:文件数据流创建单元,用于当所述媒体文件扫描单元扫描解析的一文件为媒体文件时在所述文件上创建一数据流,以及将所述媒体文件扫描单元解析所述文件得到的Metadata信息和当前时间写入创建的所述数据流中以形成所述媒体文件标识的第一数据流。
优选地,所述装置还包括文件数据流创建单元,所述媒体文件扫描单元还用于对一文件目录下包含的全部文件进行扫描,并判断所述文件目录中是否包含媒体文件;文件目录数据流创建单元,用于当所述媒体文件扫描单元确定所述文件目录中不包含媒体文件时在所述文件目录上创建一数据流,并把当前时间写入到创建的所述数据流中以形成所述第二数据流。
优选地,所述数据流解析单元还用于判断所述媒体文件扫描单元选中的待扫描文件目录是否包含的第二数据流以判断所述待扫描文件目录中是否包含媒体文件,以及当所述待扫描文件目录不包含媒体文件时判断所述第二数据流记录的时间戳是否晚于所述待扫描文件目录的修改时间;若所述第二数据流记录的时间戳晚于所述待扫描文件目录的修改时间,则控制所述媒体文件扫描单元过所述待扫描文件目录并选中下一文件目录为待扫描文件目录;若所述第二数据流记录的时间戳不晚于所述待扫描文件目录的修改时间,则控制所述媒体文件扫描单元对所述待扫描文件目录中的文件进行扫描解析。
优选地,所述文件目录数据流创建单元还用于在资源浏览器所包含的一文件目录上创建所述预设数据流信息。
优选地,所述数据流解析单元还用于判断所述媒体文件扫描单元选中的一待扫描文件目录是否包含所述预设数据流信息,若所述待扫描文件目录包含所述预设数据流信息,则控制所述媒体文件扫描单元跳过所述待扫描文件目录并选中下一文件目录为待扫描文件目录。
本发明提供的一种基于NTFS的媒体库扫描方法及装置,再在文件或文件目录进行首次扫描时创建媒体文件标识的且携带当前时间戳的数据流,以标识该文件已经被扫描过或该文件目录中是否包含媒体文件,这样在下一次的媒体库扫描时可以判断是否再次扫描该文件或者是否需要扫描该文件目录,以跳过不必要的文件或文件目录的扫描,从而避免重复解析媒体文件以及遍历全部文件而造成的媒体库扫描速度底且浪费资源的技术问题,提高媒体库的扫描速度。
具体实施方式
为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
请参阅图1,为本发明第一实施方式中的基于NTFS的媒体库扫描方法的流程示意图,该方法包括如下步骤:
步骤S10,选中一文件为待扫描文件。
步骤S11,判断该待扫描文件是否包含媒体文件标识的第一数据流。若是,则进入步骤S12;否则,进入步骤S14。
其中,该媒体文件标识的第一数据流为文件被首次扫描解析为媒体文件时创建。
步骤S12,若该待扫描文件包含媒体文件标识的第一数据流,则判断该第一数据流记录的时间戳是否晚于该待扫描文件的修改时间。若是,则进入步骤S13;否则,进入步骤S14。
步骤S13,若该第一数据流记录的时间戳晚于该待扫描文件的修改时间,则跳过该待扫描文件并选中下一文件为待扫描文件。然后,流程结束。
步骤S14,对该待扫描文件进行扫描解析。然后,流程结束。
请同时参阅图2,为本发明实施方式中创建媒体文件标识的第一数据流方法的流程示意图。该方法包括如下子步骤:
子步骤S110,扫描解析一文件。其中,该文件为首次扫描解析的文件。
子步骤S111,当该文件为媒体文件时,在该文件上创建一数据流。
子步骤S112,将解析该文件得到的MetaData信息和当前时间写入创建的该数据流中以形成该媒体文件标识的第一数据流。
在本实施方式中,首次扫描媒体库时,如果碰到媒体文件,则在媒体文件上创建一个数据流,名称为“MediaMetaData”,并把解析出来的媒体文件MetaData信息和当前时间写入到该创建的数据流中形成该媒体文件标识的第一数据流。后续媒体库扫描过程中,如果媒体文件有名为“MediaMetaData”的数据流,并且数据流记录的时间戳比文件的最后修改时间晚,则认为数据流中的信息是有效的,跳过该媒体文件的解析。如果媒体文件的“MediaMetaData”数据流记录的时间戳比文件的最后修改时间早,则认为数据流中的信息已经过期,重新解析媒体文件并更新数据流。
请参阅图3,为本发明第二实施方式中的基于NTFS的媒体库扫描方法的流程示意图,该方法包括如下步骤:
步骤S20,选中一文件目录为待扫描文件目录。
步骤S21,判断该待扫描文件目录是否包含第二数据流以判断该待扫描文件目录中是否包含媒体文件。若否,则进入步骤S22;否则,进入步骤S24。
其中,该第二数据流信息为文件目录被首次扫描时创建。
步骤S22,若该待扫描文件目录不包含媒体文件,则判断该第二数据流记录的时间戳是否晚于该待扫描文件目录的修改时间。若是,则进入步骤S23;否则,进入步骤S24。
步骤S23,若该第二数据流记录的时间戳晚于该待扫描文件目录的修改时间,则跳过该待扫描文件目录并选中下一文件目录为待扫描文件目录。然后,返回步骤S21。
步骤S24,选中一文件为待扫描文件。
步骤S25,判断该待扫描文件是否包含媒体文件标识的第一数据流。若是,则进入步骤S26;否则,进入步骤S28。
其中,该媒体文件标识的第一数据流为文件被首次扫描解析为媒体文件时创建。
步骤S26,若该待扫描文件包含媒体文件标识的第一数据流,则判断该第一数据流记录的时间戳是否晚于该待扫描文件的修改时间。若是,则进入步骤S27;否则,进入步骤S28。
步骤S27,若该第一数据流记录的时间戳晚于该待扫描文件的修改时间,则跳过该待扫描文件并选中下一文件为待扫描文件。然后,流程结束。
步骤S28,对该待扫描文件进行扫描解析。然后,流程结束。
请同时参阅图4,为本发明实施方式中创建文件目录的第二数据流方法的流程示意图。该方法包括如下子步骤:
子步骤S210,扫描该文件目录下包含的全部文件以判断该文件目录中是否包含媒体文件。若否,则进入步骤S211;否则,继续执行步骤S210。
子步骤S211,若该文件目录中不包含媒体文件,则在该文件目录上创建一数据流,并把当前时间写入到创建的该数据流中以形成该第二数据流。
在本实施方式中,在媒体库扫描过程中,如果某个文件目录中没有任何媒体文件,则在这个文件目录上创建一个数据流,名为“NoMedia”,并把当前时间写入到数据流中以形成该第二数据流。后续媒体库扫描时,如果发现文件目录有名为”NoMedia”数据流,并且时间戳没有过期(时间戳比文件目录最后修改时间晚),则跳过此文件目录。
请参阅图5,为本发明第三实施方式中的基于NTFS的媒体库扫描方法的流程示意图。该方法包括如下步骤:
步骤S30,选中一文件目录为待扫描文件目录。
步骤S31,判断该待扫描文件目录是否包含一预设数据流信息。若是,则进入步骤S32;否则,进入步骤S33。
其中,该预设数据流信息为用户预先创建的。
在本实施方式中,在资源浏览器所包含的一文件目录上创建该预设数据流信息。
具体地,在资源浏览器里面增加功能,在文件目录上创建一个名为”SkipMedia”的数据流。在媒体库扫描过程中,如果碰到文件目录有名为“SkipMedia”的数据流,则跳过此文件目录的扫描。
步骤S32,若该待扫描文件目录包含该预设数据流信息,则跳过该待扫描文件目录并选中下一文件目录为待扫描文件目录。然后,返回步骤S31。
步骤S33,选中一文件为待扫描文件。
步骤S34,判断该待扫描文件是否包含媒体文件标识的第一数据流。若是,则进入步骤S35;否则,进入步骤S37。
其中,该媒体文件标识的第一数据流为文件被首次扫描解析为媒体文件时创建。
步骤S35,若该待扫描文件包含媒体文件标识的第一数据流,则判断该第一数据流记录的时间戳是否晚于该待扫描文件的修改时间。若是,则进入步骤S36;否则,进入步骤S37。
步骤S36,若该第一数据流记录的时间戳晚于该待扫描文件的修改时间,则跳过该待扫描文件并选中下一文件为待扫描文件。然后,流程结束。
步骤S37,对该待扫描文件进行扫描解析。然后,流程结束。
请参阅图6,为本发明实施方式中的基于NTFS的媒体库扫描装置的结构示意图。该装置40包括:
媒体文件扫描单元41,用于选中一文件为待扫描文件。
数据流解析单元42,用于判断该媒体文件扫描单元41选中的待扫描文件是否包含媒体文件标识的第一数据流,以及当确定该待扫描文件包含媒体文件标识的第一数据流时判断该第一数据流记录的时间戳是否晚于该待扫描文件的修改时间。当该第一数据流记录的时间戳晚于该待扫描文件的修改时间时,控制该媒体文件扫描单元41跳过该待扫描文件并选中下一文件为待扫描文件。当该第一数据流记录的时间戳不晚于该待扫描文件的修改时间时控制该媒体文件扫描单元41对该待扫描文件进行扫描解析。
进一步地,该装置40还包括文件数据流创建单元43,用于当该媒体文件扫描单元41扫描解析的一文件为媒体文件时在该文件上创建一数据流,以及将该媒体文件扫描单元41解析该文件得到的Metadata信息和当前时间写入创建的该数据流中以形成该媒体文件标识的第一数据流。其中,该文件为首次进行扫描解析的文件。
进一步地,该装置40还包括文件目录数据流创建单元44。该媒体文件扫描单元41还用于对一文件目录下包含的全部文件进行扫描,并判断该文件目录中是否包含媒体文件。该文件目录数据流创建单元44用于当该媒体文件扫描单元41确定该文件目录中不包含媒体文件时在该文件目录上创建一数据流,并把当前时间写入到创建的该数据流中以形成该第二数据流。
该数据流解析单元42还用于判断该媒体文件扫描单元41选中的待扫描文件目录是否包含的第二数据流以判断该待扫描文件目录中是否包含媒体文件,以及当该待扫描文件目录不包含媒体文件时判断该第二数据流记录的时间戳是否晚于该待扫描文件目录的修改时间。若该第二数据流记录的时间戳晚于该待扫描文件目录的修改时间,则控制该媒体文件扫描单元41跳过该待扫描文件目录并选中下一文件目录为待扫描文件目录。若该第二数据流记录的时间戳不晚于该待扫描文件目录的修改时间,则控制该媒体文件扫描单元41对该待扫描文件目录中的文件进行扫描解析。
进一步地,该文件目录数据流创建单元44还用于在资源浏览器所包含的一文件目录上创建该预设数据流信息。
该数据流解析单元42还用于判断该媒体文件扫描单元41选中的一待扫描文件目录是否包含该预设数据流信息,若该待扫描文件目录包含该预设数据流信息,则控制该媒体文件扫描单元41跳过该待扫描文件目录并选中下一文件目录为待扫描文件目录。
本发明提供的一种基于NTFS的媒体库扫描方法及装置,再在文件或文件目录进行首次扫描时创建媒体文件标识的且携带当前时间戳的数据流,以标识该文件已经被扫描过或该文件目录中是否包含媒体文件,这样在下一次的媒体库扫描时可以判断是否再次扫描该文件或者是否需要扫描该文件目录,以跳过不必要的文件或文件目录的扫描,从而避免重复解析媒体文件以及遍历全部文件而造成的媒体库扫描速度底且浪费资源的技术问题,提高媒体库的扫描速度。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。