CN105745639A - 可移动储存器数据散列 - Google Patents
可移动储存器数据散列 Download PDFInfo
- Publication number
- CN105745639A CN105745639A CN201380081008.9A CN201380081008A CN105745639A CN 105745639 A CN105745639 A CN 105745639A CN 201380081008 A CN201380081008 A CN 201380081008A CN 105745639 A CN105745639 A CN 105745639A
- Authority
- CN
- China
- Prior art keywords
- hashed value
- saved
- calculated
- data base
- media server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/137—Hash-based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/41—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
- G06F16/152—File search processing using file content signatures, e.g. hash values
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
Abstract
根据示例的媒体服务器可包括读取器、散列校验器、数据库管理器和服务器。读取器可从可移动储存器读取数据。散列校验器可计算被算出散列值,并确定该被算出散列值是否等于被保存散列值。如果被算出散列值等于或不等于被保存散列值,则数据库管理器可检索被保存数据库或生成被生成数据库。服务器可供给被保存数据库或被生成数据库。
Description
背景技术
媒体服务器可存储和提供诸如视频、音乐和图片文件的各种数字媒体。媒体服务器可以是用于将媒体文件共享给消费者电子设备的专用计算机装置或在个人计算机上运行的应用。例如,通用即插即用(UPnP)是一组可以由媒体服务器使用来共享媒体文件的联网协议。数字生活网络联盟(DLNA)认证后的设备使用UPnP,并且一定会支持某些类型的媒体文件格式、编码以及分辨率。
附图说明
在下面的详细描述中并参考附图描述某些实施例,附图中:
图1示出了具有用于检索被保存数据库或生成被生成数据库的数据库管理器的示例性媒体服务器;
图2示出了将数据库提供给客户端的示例性过程;以及
图3示出了具有用于存储指令以实现媒体服务器的非暂时性计算机可读介质的示例性系统。
具体实施方式
一些媒体服务器建立可被提供给客户端的数据库,该数据库用于反映诸如视频、音频文件和图像的可供给内容。例如,媒体服务器的数据库可包含与可被提供给客户端的媒体内容库相关联的元数据。客户端可与媒体服务器交互,以搜索或浏览媒体库,从而识别所期望的内容。
媒体服务器可通过扫描用于可交付内容的附加存储体来建立数据库。在一些情况下,数据库可包括与所包含的媒体文件有关的各种信息。例如,数据库可包括文件名、文件类型、分辨率、专辑名称、艺术家姓名、长度、大小以及其他元数据。收集此信息并建立数据库的过程可能花费大量时间。
在一些情况下,媒体服务器可容纳可移动储存器。例如,媒体服务器可具有安全性数字(SD)存储卡读卡器、其他可移动媒体驱动器、或端口,以连接到外部的硬盘驱动器。每当用户附接新的可移动存储体时的重建数据库可能会在媒体能被供给到客户端之前产生令人不满意的延迟。媒体服务器可保存与可移动存储体对应的数据库。然而,如果用户移走该存储体并对它进行改变,那么当用户重新附接该存储体时,数据库可能是不同步的。
所公开技术的实施方式可允许媒体服务器检测在所附接的可移动存储体上的媒体文件是否自生成被保存数据库之后起已被改变。这可允许媒体服务器确定是使用被保存数据库还是生成新的数据库。这可允许媒体服务器避免在每次附接可移动存储体时都重建数据库,其可在媒体能够被供给到客户端之前消除上述延迟。
图1示出了具有用于检索被保存数据库或生成被生成数据库的数据库管理器104的示例性媒体服务器100。例如,媒体服务器100可以是移动存储设备,该设备可以附接到可移动存储设备,并且将媒体流式传输到诸如智能手机和平板计算机的客户端。在一些示例中,所示出的模块可以被实现为存储于非暂时性计算机可读介质上的处理器可执行的指令、被实现为硬件、或被实现为两者的组合。
该示例性服务器100可包括读取器102。读取器102可从可移动储存器101读取数据。例如,读取器102可使用总线连接到可移动储存器101,并且通过总线从可移动储存器101读取数据。在各种实施方式中,各种存储设备可以是可移动储存器101。例如,可移动储存器101可以是诸如SD卡的可移动闪存存储体、或诸如外部硬盘驱动器(HD)或外部固态驱动器(SSD)的外部驱动器。
由读取器102读取的数据可包括可移动储存器101的一个文件系统结构或多个文件系统结构。文件系统结构可以是表示或反映可移动储存器101的存储内容的任何数据结构。例如,文件系统结构可以是文件分配表、文件更改日志、自由空间位图、目录、主文件表、文件系统记录和属性、或文件系统日记。文件系统结构可取决于可移动储存器101的格式。例如,在文件分配表(FAT)格式化的储存器101中,文件系统结构可以是文件分配表或目录表。在此实施例中,读取器102可读取文件分配表,或者可读取一组目录表。作为另一示例,在新技术文件系统(NTFS)格式化的储存器101中,文件系统结构可以是主文件表或更新序列号(USN)日记。在一些实施方式中,服务器100可容纳各种格式的储存器101。在这种实施方式中,读取器102可检测储存器101的格式,并且以依赖于该格式的方式来读取文件系统结构。
在一些实施方式中,可移动储存器101可存储标识信息。例如,SD卡可具有存储标识信息的卡标识(CID)寄存器。读取器102可读取并提供这种标识信息中的一些或者全部。例如,读取器102可读取并提供被存储在储存器101的CID寄存器中的序列号。
示例性服务器100也可包括散列校验器103。在一些实施方式中,散列校验器可使用由读取器提供的数据来计算被算出散列值。在各种实施方式中,散列校验器103可使用各种散列函数来计算被算出散列值。例如,散列校验器103可使用诸如32或64位循环冗余校验(CRC)函数的校验和函数、诸如MurmurHash或Jenkins散列函数的非加密散列函数、或诸如安全散列算法(SHA)的加密散列函数。
散列校验器还可确定被算出散列值是否等于被保存散列值107。例如,散列校验器103可从存储器105检索出被保存散列值107。例如,存储器105可以是诸如随机存取存储器(RAM)、闪存、或内部存储体的内部存储器。
在一些实施方式中,被保存散列值107可与储存器101的标识相关联。例如,散列校验器103可使用由读取器102从可移动储存器101中提供的标识,来识别被保存散列值107。在一些情况下,散列校验器103可将被算出散列值保存为被保存散列值107以供将来使用。
在其他实施方式中,被保存散列值107可不与储存器标识相关联地存储。在这些实施方式中,散列校验器103将被算出散列值与多个被保存散列值107相比较,直到找到匹配为止。在这些实施方式中,如果被算出散列值不等于被保存散列值107,则散列校验器103可将被算出散列值存储为被保存散列值107。例如,散列校验器103可将被算出散列值添加到被存储在存储器105中的被保存散列值107的表中。作为另一示例,散列校验器103可利用被算出散列值来替代最早或最少使用的被保存散列值107。
示例性媒体服务器100还可包括数据库管理器104。在一些实施方式中,数据库管理器104可被联接到散列校验器103,以获得被算出散列值是否等于被保存散列值107的指示。如果被算出散列值等于被保存散列值107,则数据库管理器104对被保存数据库106进行检索。例如,被保存数据库106可以是当储存器101被先前附接到服务器100时所生成的媒体数据库。如果储存器101的内容自储存器101先前被附接起没有改变,则被算出散列值将等于被保存散列值107。因此,被保存数据库106可以反映储存器101的当前内容,并且可以无需建立新的数据库。这可允许媒体服务器100开始供给储存器101的内容,而无需强迫用户等待媒体数据库被生成。
如果被算出散列值不等于被保存散列值107,则数据库管理器104可生成被生成数据库。例如,数据库管理器104可使用读取器102,以生成被存储在储存器101上的媒体内容的被生成媒体数据库,该数据库可由媒体服务器100供给客户端。如果储存器101的内容自储存器101先前被附接起已被改变,则被算出散列值将不等于被保存散列值107。因此,数据库管理器104可生成被生成数据库,以反映储存器101的改变内容。这可避免媒体服务器100将损坏或过时的数据库供给客户端。
在一些实施方式中,数据库管理器104可保存与被算出散列值相关联的被生成数据库。如果被算出散列和被保存散列107与储存器标识相关联,则被保存数据库106可与相同的储存器标识相关联。如果被算出散列不等于被保存散列107,则数据库管理器104可用被生成数据库来替代被保存数据库106。作为另一示例,存储器105可存储通过散列值107索引的数据库106的表。在一些情况下,数据库管理器104可使用被算出散列值和被生成数据库将条目添加到这种表。在其他情况下,数据库管理器104可使用被算出散列值和被生成数据库来替代这种表中的条目。例如,数据库管理器104可替代最早或最少使用的条目。
示例性媒体服务器100还可包括服务器108。服务器108可提供被保存数据库或被生成数据库。服务器108可从数据库管理器104获取被保存数据库106或被生成数据库。例如,如果被算出散列值等于被保存散列值107,则数据库管理器104可将被保存数据库106提供给服务器108。作为另一示例,如果被算出散列值不等于被保存散列值107,则数据库管理器104可将被生成数据库提供给服务器108。服务器108可以以各种方式来供给被保存数据库或被生成数据库。例如,服务器108可传输数据库的元素列表。作为另一示例,服务器108可提供接口,以允许客户端查询数据库。
服务器108还可将可移动储存器101的内容供给到所连接的客户端。例如,客户端可使用数据库来选择被存储在储存器101中的媒体内容项。服务器108可将所选择的媒体内容项供给到客户端。例如,服务器108可流式传输所选择的媒体内容项,以在客户端上回放或在被联接到客户端的媒体播放器上回放。作为另一示例,服务器108可将所选择的媒体内容项的副本传送到客户端以供存储。在一些实施方式中,示例性媒体服务器100可包括代码转换器110。在这些实施方式中,服务器108可使用代码转换器110,来将以第一格式存储的媒体内容项代码转换成用于在客户端上回放的第二格式。在一些实施方式中,服务器108可使用收发器109,以将被保存数据库107或被生成数据供给到客户端。例如,收发器109可以是诸如Wi-Fi收发器的无线收发器、或诸如Ethernet(以太网)或MoCA(同轴电缆多媒体联盟)收发器的有线收发器。
图2示出了将数据库提供给客户端的示例性过程。例如,关于图1描述的示例性媒体服务器100可执行所示出的示例性过程。
示例性过程可包括块201。块201可包括媒体服务器从可移动储存器获取数据。例如,可移动储存器可以是被附接到媒体服务器的可移动驱动器,诸如SD卡或USB硬盘驱动器或SSD。在一些实施方式中,数据可以是除了被存储在可移动储存器中的实际媒体文件之外的数据,但是它表示或反映被存储在可移动储存器上的媒体文件。例如,该数据可包括由可移动储存器的文件系统使用以对所存储的文件进行管理的文件系统结构。例如,数据结构可包括文件分配表、目录表、一组目录表、主文件表、或USN日记。在一些实施方式中,数据可包括多个文件系统结构。例如,数据可包括一组目录表、或文件分配表和自由空间位图。
示例性过程还可包括块202。块202可包括媒体服务器将数据用作散列函数中的参数以获取被算出散列值。例如,散列函数可以是诸如32或64位循环冗余校验(CRC)函数的校验和函数、诸如MurmurHash或Jenkins散列函数的非加密散列函数、或诸如安全散列算法(SHA)的加密散列函数。
在一些实施方式中,块202可包括针对多个数据集中的每一个计算散列值。例如,每个数据集可以是独立的文件系统数据结构,例如目录。在这些实施方式中,块202可包括计算多个被算出散列值,每个散列值对应于一组数据。如下所述,这可允许媒体服务器确定可移动储存器上的已经改变的文件子集、和可移动储存器上的保持不变的文件子集。
作为另一示例,每个数据集可以是文件系统结构的一部分。例如,块202可包括媒体服务器将文件系统结构分割为多个文件系统部分。块202可进一步包括用于每个文件系统部分的被算出部分散列值。作为示例,块202可包括将诸如FAT32表的FAT表分割为多个部分,并针对每个部分计算散列值。因此,每个被算出部分散列值可对应于在可移动储存器上的一组特定的存储地址。
示例性过程还可包括块203。块203可包括媒体服务器将被算出散列值与被保存散列值相比较。例如,被保存散列值可以是当可移动储存器在先前时刻被连接到媒体服务器时被计算出的散列值。在进一步的实施方式中,媒体服务器可存储多个不同的散列值。例如,每次媒体服务器计算出不同的散列值时,媒体服务器可对它进行存储。作为另一示例,媒体服务器可存储多达设定数目的不同散列值。在一些实施方式中,媒体服务器可将被算出散列与每个被保存散列值相比较,以确定被算出散列是否匹配于任何被保存散列值。在其他实施方式中,媒体服务器可存储与可移动储存器标识符相关联的被保存散列值。在这些情况下,媒体服务器可从可移动储存器读取标识符,并使用该标识符来检索被保存散列值。
在一些实施方式中,块203可包括将多个被算出散列值与多个被保存散列值相比较。例如,如果块202针对多个数据集中的每一个被执行,则块203可针对多个被算出散列值中的每一个来执行。在一些情况下,被算出散列值中的每一个可针对多个被保存散列值来进行校验。如果被算出散列值等于被保存散列值,则对应于被算出散列值的文件可能自可移动储存器先前被附接起未被改变。例如,用于计算相等散列值的目录可能未被改变。如果被算出散列值不等于任何被保存散列值,则对应于被算出散列值的文件自可移动储存器先前被附接起可能已被改变。例如,用于计算不相等散列值的目录可能已被改变。
在进一步的实施方式中,如果块202包括将文件系统结构分割为多个文件系统部分,则块203可包括将多个被算出部分散列值与相对应的被保存部分散列值相比较。例如,相对应的被保存部分散列值可以是与先前被算出的部分散列值相对应的被保存散列值。例如,相对应的被保存部分散列值可以是在诸如FAT32表的FAT表的同等大小的分区上被计算出的散列值。
示例性过程可包括块204。在一些实施方式中,如果媒体确定在块203中被算出散列等于被保存散列,则可以执行块204。块204可包括媒体服务器提供被保存数据库,以供给被存储在可移动储存器上的媒体文件。例如,媒体服务器可检索与被保存散列值相关联的被保存数据库。在一些实施方式中,媒体服务器可以以符合UPnP或DLNA协议的方式来提供被保存数据库。例如,媒体服务器可将数据库中的媒体文件列表提供给客户端,或可提供接口以允许客户端查询数据库。在一些情况下,当可移动储存器在先前时刻被连接到媒体服务器时,生成被保存数据库。例如,当计算出被保存散列值时,可以生成被保存数据库。因此,当创建被保存散列值时,被保存数据库可以反映可移动储存器的内容。如果被算出散列值等于被保存散列值,则这可表示可移动储存器的内容自被保存散列值被算出起未被改变。因此,被保存数据库可被用来准确地反映可移动储存器的当前内容。
在一些实施方式中,被保存数据库可以反映在可移动储存器上的文件的一部分。例如,如果块203包括将多个被算出散列值与多个被保存散列值相比较,则这可出现,被保存数据库可对应于与被保存散列值中的一个相等的被算出散列值。作为另一示例,如果块202包括分割文件系统结构并针对每个文件系统部分确定被算出部分散列值,则这可出现。在这些实施方式中,块204可另外包括提供多个被保存数据库。例如,如果多个被算出散列值等于多个被保存散列值中的被保存散列值,则针对每个相等的散列值可提供不同的被保存数据库。
在一些实施方式中,块204还可包括供给在被保存数据库中所反映的媒体文件。例如,块204可包括在查看被保存数据库之后流式传输由客户端选择的媒体文件。在这些实施方式中,块204还可包括对媒体文件进行代码转换,用以以客户端所需的格式来供给它们。作为另一示例,块204可包括将多个被保存数据库组合成流式数据库并且供给流式数据库。在一些情况下,被保存数据库也可如下所述与在步骤206中生成的数据库组合。
示例性过程还可以包括块205。在一些实施方式中,如果在块203中确定了被算出散列值不等于被保存散列值,则可以执行块205。块205可包括用于生成被生成数据库的媒体服务器。例如,媒体服务器可通过扫描可移动储存器的内容来生成被生成数据库,以将文件名和文件信息,诸如像专辑封面、标题和格式信息之类的元数据,添加到被生成数据库。在一些情况下,所得的被生成数据库可以包括可遵循诸如UPnP或DLNA的协议供给到客户端的全部文件。
在一些实施方式中,块205可包括针对不等于多个散列值中的任何一个的每个被算出散列值生成被生成数据库。例如,如果在块203中将多个被算出散列值与多个散列值相比较,则这可出现。作为另一示例,如果块202包括分割文件系统结构并针对每个文件系统部分确定被算出部分散列值,则这可出现。在一些情况下,块205可包括确定哪些目录对应于不相等的散列值并针对那些目录生成数据库。作为另一示例,块205可包括确定哪些文件对应于文件结构的部分并针对这些文件生成被生成数据库。例如,如果文件系统结构的这部分是FAT表的分区,则块205可包括对被存储在由FAT表的分区所覆盖的地址中的文件进行扫描。
示例性过程还可包括块206。在一些实施方式中,如果在块203中确定了被算出散列值不等于被保存散列值,则可以执行块206。块206可包括提供在块205中生成的被生成数据库。例如,媒体服务器可通过将数据库提供给所连接的客户端来提供被生成数据库。例如,媒体服务器可以以符合诸如UPnP或DLNA的流协议的方式来提供被生成数据库。
在一些实施方式中,块206可包括提供多个被生成数据库。例如,如果在块205中生成多个数据库,则这些数据库可以在块206中被提供。此外,如果块204针对任何散列值被执行,则在块204中生成的数据库可连同被保存数据库一起被提供。例如,可通过将在块204中检索到的数据库与在块205中生成的数据库组合来生成组合数据库,该组合数据库反映FAT表中的任何可供给媒体。
示例性过程还可包括块207,如果被算出散列值不等于被保存散列值,则可以执行块207。块207可包括保存被算出散列值。例如,如果使用可移动储存器ID,则被算出散列值可与可移动储存器ID相关联地被保存,该被算出散列值可以替代在块203中使用的之前被保存的散列值。作为另一示例,被算出散列值可被保存为一组被保存散列值中的元素。例如,被算出散列值可被添加到一组被保存散列值,或者可替代一组被保存散列值的以前存在的元素。在一些实施方式中,块207可进一步包括保存多个被算出值。例如,在块203中不等于被保存散列值的每个被算出散列值可被保存。
如果示例性过程包括块207,则示例性过程还可包括块208。块208可包括保存被生成数据库。被生成数据库可与在块207中被保存的被算出散列值相关联地保存。在一些实施方式中,被生成数据库可替代之前保存的数据库。在其他实施方式中,被生成数据库可被添加到一组被保存数据库中。在另外的实施方式中,块208可包括保存多个被生成数据库。例如,在块207中被保存的每个被算出散列值可具有被保存且关联的被生成数据库。
图3示出了具有用于存储指令以实现媒体服务器的非暂时性计算机可读介质304的示例性系统300。在一些情况下,示例性系统可以是图1的媒体服务器的实施方式,并且可以执行图2的过程的实施方式。
示例性系统300可包括收发器301和可移动储存器303。在一些实施方式中,收发器301可关于图1的收发器109来描述。例如,收发器301可以是有线的或无线的收发器。可移动储存器303可关于图1的可移动储存器101来描述。例如,可移动储存器303可以是诸如SD卡的可移动闪存存储体、或诸如外部HD或SSD的附加外部驱动器。
示例性系统还可包括处理器302。在一些实施方式中,处理器302可以执行被存储在非暂时性计算机可读介质304上的指令305、306、307,以实现诸如图1的读取器102、散列校验器103、数据库管理器104、代码转换器110以及服务器108的模块。在其他实施方式中,这些模块中的一些模块可部分或全部由硬件模块来执行。
非暂时性计算机可读介质304可包括指令305。在一些实施方式中,指令305可使系统300执行关于图2所描述的块201、或实现如关于图1所描述的读取器102。指令305可由处理器302执行,以从可移动储存器中检索文件系统结构。在进一步的实施方式中,指令205可由处理器执行,以从可移动储存器303检索标识(ID)。例如,处理器可检索SD卡上的标识寄存器的ID号。
非暂时性计算机可读介质304可以进一步包括指令306。在一些实施方式中,指令306可使系统300执行图2的块202、或实现图1的散列校验器103。在一些情况下,指令306可由处理器302执行,以对文件系统结构进行散列,从而计算被算出散列值。例如,处理器302可执行指令306,以将文件系统结构用作散列函数中的参数。在进一步的实施方式中,被算出散列值可以是多个被算出散列值中的一个。在该实施方式中,指令306可由处理器执行,以通过将文件系统结构分割为多个文件系统分区并且对文件系统分区中的每一个进行散列以计算多个被算出散列值,来对文件系统结构进行散列。
指令306可由处理器302执行,以确定被算出散列值是否等于被保存散列值。例如,指令306可使系统300执行图2的块203。如果指令306由处理器302执行,以计算多个被算出散列值,则指令306可被进一步执行,以确定被算出散列值中的哪个(如果有)等于多个被保存散列值的任何一个。此外,如果指令306被执行以使处理器302从可移动储存器303中检索ID,则可以执行指令306,以使处理器302使用该标识来获得被保存散列值。
非暂时性计算机可读介质304可进一步包括指令307。在一些情况下,可以执行指令307,用以使系统300执行图2的块204至208,或者用以实现图1的数据库管理器104和服务器108。
在一些实施方式中,指令307可由处理器302执行,以提供对应于被保存散列值的被保存数据库。例如,如果被算出散列值等于被保存散列值,则处理器302可执行指令307,以提供被保存数据库。指令307可进一步由处理器302执行,以根据可移动储存器303的内容来生成被生成数据库,并提供该被生成数据库。例如,如果被算出散列值不同于被保存散列值,则处理器302可执行指令307,以生成并提供被生成数据库。在进一步的实施方式中,可以执行指令307,以将被算出散列值存储为被保存散列值,并且将被生成数据库存储为被保存数据库。例如,如果被算出散列值不同于被保存散列值,则处理器302可执行指令307,以存储被算出散列值和被生成数据库。
如果指令306可由处理器302执行以比较多个散列值,则指令307可由处理器302执行,以针对相等散列值检索被保存数据库,并针对不同散列值生成数据库。例如,指令307可由处理器302执行,以针对多个被算出散列值中等于对应的被保存散列值的每个相应的被算出散列值,提供与相应的被算出散列值对应的被保存数据库。此外,指令307可由处理器302执行,以针对多个被算出散列值中不等于任何对应的被保存散列值的每个相应的被算出散列值,生成对应的被生成数据库并提供对应的被生成数据库。
在上述的描述中,许多细节被阐述,以提供对本文所公开的主题的理解。然而,实施方式可以在没有这些细节中的一些或全部的情况下被实施。其他实施方式可包括根据上文讨论细节的修改和变化。旨在所附权利要求覆盖这些修改和变化。
Claims (15)
1.一种媒体服务器,包括:
读取器,从可移动储存器读取数据;
散列校验器,使用所述数据来计算被算出散列值,并确定所述被算出散列值是否等于被保存散列值;和
数据库管理器,用以:
如果所述被算出散列值等于所述被保存散列值,则检索被保存数据库;并且
如果所述被算出散列值不等于所述被保存散列值,则生成被生成数据库;以及
服务器,供给所述被保存数据库或所述被生成数据库。
2.根据权利要求1所述的媒体服务器,其中:
所述读取器从所述可移动储存器读取标识;以及
所述散列校验器使用所述标识来识别所述被保存散列值。
3.根据权利要求1所述的媒体服务器,其中:
如果所述被算出散列值不等于所述被保存散列值,则所述散列校验器将所述被算出散列值保存为所述被保存散列值。
4.根据权利要求1所述的媒体服务器,其中:
所述数据库管理器保存与所述被算出散列值相关联的所述被生成数据库。
5.一种方法,包括:
媒体服务器从可移动储存器获取数据;
所述媒体服务器将所述数据用作散列函数中的参数,以获取被算出散列值;
所述媒体服务器将所述被算出散列值与被保存散列值相比较;
如果所述被算出散列值等于所述被保存散列值,则所述媒体服务器提供被保存数据库,以供给被存储在所述可移动储存器上的媒体文件;并且
如果所述被算出散列值不等于所述被保存散列值,则所述媒体服务器生成被生成数据库并提供所述被生成数据库。
6.根据权利要求5所述的方法,其中所述数据包括一个文件系统结构。
7.根据权利要求5所述的方法,其中所述数据包括多个文件系统结构。
8.根据权利要求5所述的方法,进一步包括:
使用被存储在所述可移动储存器上的标识符来获取所述被保存散列值。
9.根据权利要求5所述的方法,进一步包括:
所述媒体服务器获取文件系统结构;
所述媒体服务器将所述文件系统结构分割为多个文件系统部分,所述数据是所述文件系统部分中的一个;
所述媒体服务器针对每个文件系统部分确定被算出部分散列值,所述被算出散列值是所述被算出部分散列值中的一个;
针对被算出部分散列值等于对应的被保存部分散列值,所述媒体服务器提供被保存数据库;并且
针对被算出部分散列值不等于对应的被保存部分散列值,所述媒体服务器生成被生成数据库并提供所述被生成数据库。
10.根据权利要求5所述的方法,其中所述数据包括文件系统结构的部分,并且所述方法进一步包括:
如果所述被算出散列值不等于所述被保存散列值,则所述媒体服务器确定与所述文件结构的所述部分对应的文件,并且针对所述文件生成所述被生成数据库。
11.一种存储指令的非暂时性计算机可读介质,所述指令能由处理器执行以:
从可移动储存器检索文件系统结构;
对所述文件系统结构进行散列,以计算被算出散列值;
确定所述被算出散列值是否等于被保存散列值;
如果所述被算出散列值等于所述被保存散列值,则提供与所述被保存散列值对应的被保存数据库;并且
如果所述被算出散列值不同于所述被保存散列值,则:
根据所述可移动储存器的内容生成被生成数据库;并且
提供所述被生成数据库。
12.根据权利要求11所述的非暂时性计算机可读介质,存储进一步的指令,所述指令能由所述处理器执行以:
如果所述被算出散列值不同于所述被保存散列值,则将所述被算出散列值存储为所述被保存散列值,并且将所述被生成数据库存储为所述被保存数据库。
13.根据权利要求11所述的非暂时性计算机可读介质,存储进一步的指令,所述指令能由所述处理器执行以:
从所述可移动储存器检索标识;并且
使用所述标识来获取所述被保存散列值。
14.根据权利要求11所述的非暂时性计算机可读介质,存储进一步的指令,所述指令能由所述处理器执行以:
通过将所述文件系统结构分割为多个文件系统分区并且对所述文件系统分区中的每个进行散列以计算多个被算出散列值,来对所述文件系统结构进行散列,所述被算出散列值是所述多个被算出散列值中的一个。
15.根据权利要求14所述的非暂时性计算机可读介质,存储进一步的指令,所述指令能由所述处理器执行以:
针对所述多个被算出散列值中等于对应的被保存散列值的每个相应的被算出散列值,提供与所述相应的被算出散列值对应的被保存数据库;并且
针对所述多个被算出散列值中不等于任何对应的被保存散列值的每个相应的被算出散列值,生成对应的被生成数据库并提供所述对应的被生成数据库。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2013/071023 WO2015076797A1 (en) | 2013-11-20 | 2013-11-20 | Removable storage data hash |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105745639A true CN105745639A (zh) | 2016-07-06 |
Family
ID=53179931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380081008.9A Pending CN105745639A (zh) | 2013-11-20 | 2013-11-20 | 可移动储存器数据散列 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20160292173A1 (zh) |
EP (1) | EP3072061A4 (zh) |
CN (1) | CN105745639A (zh) |
WO (1) | WO2015076797A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112948287A (zh) * | 2021-03-29 | 2021-06-11 | 成都新易盛通信技术股份有限公司 | 一种基于Hashmap缓存机制的SD卡读写方法及系统 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10205726B2 (en) * | 2016-06-03 | 2019-02-12 | Honeywell International Inc. | Apparatus and method for preventing file access by nodes of a protected system |
US11425170B2 (en) | 2018-10-11 | 2022-08-23 | Honeywell International Inc. | System and method for deploying and configuring cyber-security protection solution using portable storage device |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070156778A1 (en) * | 2006-01-04 | 2007-07-05 | Microsoft Corporation | File indexer |
US20080288099A1 (en) * | 2007-05-18 | 2008-11-20 | William Thanos | Digital media player with improved user experience |
US20090043963A1 (en) * | 2007-08-10 | 2009-02-12 | Tomi Lahcanski | Removable storage device with code to allow change detection |
CN102737127A (zh) * | 2012-06-20 | 2012-10-17 | 厦门聚海源物联网络技术有限公司 | 一种海量数据存储方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7107296B2 (en) * | 2003-06-25 | 2006-09-12 | Microsoft Corporation | Media library synchronizer |
US20070056042A1 (en) * | 2005-09-08 | 2007-03-08 | Bahman Qawami | Mobile memory system for secure storage and delivery of media content |
US7734648B2 (en) * | 2006-04-11 | 2010-06-08 | Sap Ag | Update manager for database system |
WO2008010375A1 (fr) * | 2006-07-20 | 2008-01-24 | Hitachi Medical Corporation | Dispositif ultrasonographique |
US8028106B2 (en) * | 2007-07-06 | 2011-09-27 | Proster Systems, Inc. | Hardware acceleration of commonality factoring with removable media |
KR101452725B1 (ko) * | 2007-11-20 | 2014-10-21 | 삼성전자주식회사 | 휴대 단말기 및 그 데이터 동기화 방법 |
US20110106815A1 (en) | 2009-11-02 | 2011-05-05 | Lenovo (Singapore) Pte, Ltd. | Method and Apparatus for Selectively Re-Indexing a File System |
-
2013
- 2013-11-20 WO PCT/US2013/071023 patent/WO2015076797A1/en active Application Filing
- 2013-11-20 US US15/035,443 patent/US20160292173A1/en not_active Abandoned
- 2013-11-20 EP EP13897924.0A patent/EP3072061A4/en not_active Ceased
- 2013-11-20 CN CN201380081008.9A patent/CN105745639A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070156778A1 (en) * | 2006-01-04 | 2007-07-05 | Microsoft Corporation | File indexer |
US20080288099A1 (en) * | 2007-05-18 | 2008-11-20 | William Thanos | Digital media player with improved user experience |
US20090043963A1 (en) * | 2007-08-10 | 2009-02-12 | Tomi Lahcanski | Removable storage device with code to allow change detection |
CN102737127A (zh) * | 2012-06-20 | 2012-10-17 | 厦门聚海源物联网络技术有限公司 | 一种海量数据存储方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112948287A (zh) * | 2021-03-29 | 2021-06-11 | 成都新易盛通信技术股份有限公司 | 一种基于Hashmap缓存机制的SD卡读写方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
EP3072061A1 (en) | 2016-09-28 |
EP3072061A4 (en) | 2017-05-10 |
US20160292173A1 (en) | 2016-10-06 |
WO2015076797A1 (en) | 2015-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9881015B2 (en) | Method and system for previewing file information | |
AU2009201232B2 (en) | Managing media files from multiple sources | |
US8634947B1 (en) | System and method for identifying digital files | |
US11201942B2 (en) | System and method for providing caching and pre-fetch of assets/media | |
US20110307457A1 (en) | Integrated duplicate elimination system, data storage device, and server device | |
US9465892B2 (en) | Associating metadata with media objects using time | |
US20130219050A1 (en) | Cloud service access apparatus, cloud service access method, and cloud service access system | |
US20130067237A1 (en) | Providing random access to archives with block maps | |
US8861865B2 (en) | Method and apparatus for searching for image | |
CN105745639A (zh) | 可移动储存器数据散列 | |
US20140059065A1 (en) | Management of network-based digital data repository | |
CN103314364A (zh) | 内容数据管理装置、内容数据管理方法以及程序 | |
CN112286457B (zh) | 对象重删方法、装置、电子设备及机器可读存储介质 | |
CN103514297A (zh) | 文本增加批注数据的方法及装置,查询方法及装置 | |
KR20180033069A (ko) | 화상 처리장치와 그 제어방법, 및 기억매체 | |
US9009107B2 (en) | Object-sharing system, method and non-transitory computer readable storage medium for storing the method for maintaining hierarchical naming contexts in object sharing system | |
US11093713B2 (en) | Method for generating search index and server utilizing the same | |
CN115905120B (zh) | 档案文件管理方法、装置、计算机设备和存储介质 | |
US20150120681A1 (en) | System and method for aggregating media content metadata | |
EP2722777A2 (en) | Method and apparatus for managing a catalog of media content | |
EP2237144A1 (en) | Method of remotely storing data and related data storage system | |
CN113868440B (zh) | 特征库的管理方法、装置、设备及介质 | |
US20140365542A1 (en) | Data processing system and method | |
WO2022215517A1 (ja) | データ管理システム、データ管理方法、データ管理プログラム | |
CN114168546A (zh) | 一种文件库构建方法、系统、移动终端及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160706 |