以UPnP网络为基础的媒体文件管理方法

文档序号:7622782阅读:173来源:国知局
专利名称:以UPnP网络为基础的媒体文件管理方法
技术领域
本发明是关于家庭网络的,即关于一种以UPnP网络为基础的媒体文件管理方法。
背景技术
UPnPTM(以下称为“UPnP”)是最近提出的旨在通过网络将多种小型设备(device)连接起来的技术中的其中之一。
所谓的UPnP就是一种以诸如TCP/IP、HTTP和XML之类的互联网标准技术为基础,将PnP(Plug and Play,即插即用)功能扩展到整个网络,使各种家用电器、网络打印机、网关等网络设备连接到网络中,尤其是家庭网络上的技术。
在当前的UPnP AV结构中,包括控制点(CPControl Point)、对家庭网络有用的内容(content)进行储存的媒体服务器(MSMediaServer)以及通过家庭网络提供内容的Media Render(MR)。
上述媒体服务器具有储存和保管媒体信息的功能,同时也具有根据控制点请求,告知媒体信息或者传送媒体文件的功能。
上述Media Render利用上述媒体服务器提供的信息,播放实际的媒体。
在以上说明中,媒体服务器利用CDS(Content DirectoryService),执行与媒体之间的直接通信,并定义在这过程中的各个操作(Action)和事件(Event),但是实际上由于它并不参与以何种方式管理媒体文件,所以各个操作和事件完全是根据应用程序(application)进行处理的。
通常,实现上述CDS的方法大致可以分为两种。
第一种是利用存储器上特定资料结构的方法。这种方法就是从存储器(Memory)中读取储存在储存媒体中的媒体文件信息,并在存储器上进行实际媒体文件管理的处理方法。这种方法,在存储器上登记并使用全体媒体文件的资料结构,当媒体文件媒体上没有任何信息变化的时候,由于完全无需进行文件媒体的I/O操作,所以处理速度比较快,另外,由于存储器上的处理要比文件处理方便得多,因此为了对特定元数据(Metadata)进行保管,并不需要执行其他的处理工作,只需对当前的资料结构稍加修正即可。
第二种是不将媒体信息另行储存在存储器中,每当从相关客户那里接收特定操作请求时,从储存媒体中直接读取相关信息,并制成响应(response)数据的方法。这种方法的特点是,不在存储器上制定任何管理目的的资料结构,当从客户接收到命令的时候,访问存有相关资料的媒体,取得实际信息。它具有无需在存储器上进行处理,降低存储器的使用量,便于实现的优点,此外由于从实际媒体文件中直接获取信息,因此还具有在使用存储器资料结构的时候,无需进行追加刷新或者同步操作等优点。
但是,现有的在存储器上使用特定资料结构的第一种方法,在当前储存的媒体个数非常多或者文件的元数据信息非常多的状况下,存储器的使用量也会随之增大。因此这种方法不能采用对存储器敏感的嵌入式系统。
而且,现有的在储存媒体中直接访问媒体文件的第二种方法,文件系统本身不储存UPnP CDS所要求的元数据,如果要储存除基本文件信息外的追加信息,就必须生成其他的记录信息。由于作为CDS处理基础的目标(Object)ID形态由于通常也是独立于文件名,因此就需要追加记录信息,所以在进行处理时,就会频繁地进行高负荷的I/O操作,这样就会导致处理速度相对较慢,处理效率比较低下的问题。

发明内容
本发明为了解决以往技术的缺陷,提出了一种以UPnP网络为基础的媒体文件管理方法,以便在存储器容量有限的状况下,通过使用系统中的目录元文件和索引文件,从而降低存储器的使用量,弥补现有技术效率低的缺点。
本发明为了实现上述目的,基于在以UPnP为基础的网络中目录信息管理方法,包含了以下阶段第一阶段,在媒体服务器被启动之后,将现有的目录元文件和索引文件删除,并对根容器(Root Container)进行确认;第二阶段,获取上述根容器下位的容器和项目(Item)信息,并依次确定与其对应的目标ID;第三阶段,生成与上述目标ID对应的目录元文件,并将其储存;第四阶段,将上述各个目标ID制作成索引文件,并对其进行储存。
上述确定目标ID的阶段包含下述过程
利用散列(Hash)函数,获取目标ID字符串的过程;对与上述字符串相对应的索引文件是否存在进行确认的过程;对上述已经确认存在的索引文件中包含的路径与目标ID是否一致进行比较的过程;如果上述比较的结果为不一致,便增加目标ID的值,并重新返回到确认上述索引文件是否存在阶段的过程;如果上述比较的结果为一致或者索引文件不存在,则将当前的目标ID确定为最终目标ID的过程。
另外,本发明为了实现上述目的,在以UPnP为基础的网络中目录(Contents)信息的管理方法,包含以下阶段第一阶段,确认客户是否发出了目录信息请求;第二阶段,在客户发出了上述目录信息请求之后,对是否存在与请求目标ID相对应的索引文件进行检索;第三阶段,如果上述索引文件存在,便对此索引文件中所包含的路径(path)在实际系统上是否存在进行确认;第四阶段,如果上述路径在实际系统上确实存在,判断有无必要对目录元文件进行更新;第五阶段,如果在上述阶段中判断为有必要对目录元文件进行更新,便删除现有的目录元文件,生成新的目录元文件,并将其提供给客户。
本发明在实现媒体服务器CDS的过程中,只在媒体信息发生变更的情况下进行更新,没有必要周期性地确认是否需要进行更新,即使在更新过程中,也只是对与容器的个数相对应数量的文件确认是否需要更新。这样可以减少系统负荷,提高工作效率。即,本发明只有当储存媒体中记录的媒体信息发生变更的时候,才执行更新过程,因此与周期性地检查是否继续更新的方法相比,减少了负荷,即使是在有必要周期性地对是否进行更新进行确认时,也不必对所有文件进行检查,在将容器和目录元文件的更新时间进行比较之后,只对与容器个数相对应数量的文件进行更新,因此使得工作效率得以提高。
此外,本发明由于使用预先生成的目录元文件,这与当客户发出请求时直接生成XML的方法相比,其操作效率更高,而且只对与文件系统无关的纯元信息进行储存。


图1是本发明实施例的媒体文件管理装置的构成示意图。
图2是索引文件和目录元文件结构示意图。
图3是索引文件和目录元文件的示意图。
图4是本发明的实施例中媒体文件信息生成过程的运行顺序图。
图5是图4中确定目标ID过程的运行示意图。
图6是本发明的实施例中媒体文件信息更新过程的运行示意图。
*附图主要部分符号说明*110媒体储存装置 120索引文件生成装置130目录元文件生成装置 140索引文件处理装置
150目录元文件检测装置 160目录元文件更新装置170索引文件更新装置具体实施方式
下面参照附图对本发明作详细说明。
本发明利用目录元文件和索引文件,对媒体文件信息和目标ID进行管理,对具有如图2所示结构的上述目录元文件和索引文件的说明如下。
首先,目录元文件分别存在于特定的媒体容器(Container、directory)中。实际上它是以类似于upnp.met的文件名被储存起来。内部格式基本上是根据XML,以类似于浏览(Browse)操作所对应的响应(response)格式的形式被储存起来的。
因此,在本发明中,当客户发出实际浏览操作等请求的情况下,参照并相应已经制成的目录元文件,因此每当客户发出请求时,与从媒体文件中直接提取信息的方式相比,降低了I/O操作量和计算量,提高了处理的速度。
另外,索引文件是访问客户的CDS操作请求(request)所对应对象的标准,在实际的CDS操作中,目标ID与索引文件名相对应。实际容器或项目(Item)的路径储存在索引文件中。索引文件根据具体情况可以分为音频、视频、图像等类型,可以储存在各个目录中。这时,通常媒体文件(Item)所对应的目标ID和目录(Container)所对应的目标ID被区分储存。项目(Item)索引文件虽然只储存了实际路径,但是容器索引文件记录着实际路径、sub Container及目标ID以及文件目标(Item Object)ID。在媒体文件信息改变时,索引文件信息的更新需要参照上述附加信息。
由于大部分的CDS操作是以目标ID为基准而实现的,因此索引文件是按照客户请求进行的第一处理对象。
图1是本发明实施例中媒体文件管理装置的构成图。如图所示,本发明实施例的媒体文件管理装置由媒体储存装置110、索引文件生成装置120、目录元文件生成装置130、索引文件处理装置140、目录元文件检测装置150、目录元文件更新装置160以及索引文件更新装置170构成。
上述媒体储存装置110设置在媒体服务器(MS)内部,用于读取媒体资料,并将其传送给索引文件生成装置120和目录元文件生成装置130。
上述目录元文件生成装置130用于生成目录元文件,与此同时,上述索引文件生成装置120生成索引文件。
上述生成的文件是进行CDS服务所必须的文件。
如图1所示,UPnP操作处理装置包含了索引文件处理装置140、目录元文件检测装置150、目录元文件更新装置160以及索引文件更新装置170。
上述索引文件处理装置140在客户发出浏览操作请求之后,从媒体储存装置110中提取索引文件,然后根据对现有目录元文件是否存在进行判断,并将索引文件传送至目录元文件检测装置150和目录元文件更新装置170中。
上述目录元文件检测装置150与目录元文件更新装置160相互间可以进行通信。
上述目录元文件更新装置160将经过更新的目录元文件传送至索引文件更新装置170。
上述索引文件更新装置170生成新的索引文件,并通过索引文件处理装置140,将其储存在媒体储存装置110中。
参照图2至图6,对具有上述结构的本发明实施例的运作及其作用效果进行说明。
首先,对UPnP CDS的浏览操作的响应过程进行说明。在这里,假设了目标ID=“0015”对应Browse Direct Children发出请求的情况。
首先,如果客户发出了浏览操作的请求,对目标ID所对应的索引文件进行搜索。这时,目标ID根据容器情况和目录情况,其处理过程也不同。
当输入的目标ID为容器的情况下,在访问与0015有关的索引文件之后,读取相关文件的内容,获取实际容器的信息。如果,目标ID为项目时,在实际记录的信息中,只选择除文件名以外的目录名,并作为相关信息获取。
然后,在相关的容器中,对目录元文件(upnp.met)进行搜索。
当目录元文件不存在,或者内部文件信息被更新过的情况下,就会更新相关的upnp.met文件。
接下来,在通过上述过程获取了所需的upnp.met文件之后,就会对此内容作出响应。
在执行上述操作的过程中,从I(input)/O(output)的容量上看,在特定容器的Item和sub Container的个数之和定为“N”的时候,在处理过程中没有进行媒体更新的情况下,“N”就为O(2)。
即,在现有的第二种方法中,针对相关容器的所有项目(Item)、subContainer进行I/O操作,使其达到O(N),但是本发明由于只进行了索引文件读取和目录元文件读取的两次I/O操作,因此相比以往,效率就得以提高。
此外,媒体服务器在最初启动时,执行所需CDS根容器以下的所有信息所对应的目标ID确定、目录元文件生成和索引文件生成等操作,参照图4的运行示意图,对此过程进行说明。
首先,当媒体服务器启动时,如果当前存在目录元文件或者索引文件,将其删除(S400)。
然后,从根容器(Object ID=0)开始,进行循环(recursive)搜索,对每个容器进行选择(S401)。
然后,利用相关容器内的项目(Item)和容器信息,制成目录元文件,利用散列函数确定目标ID,将目标ID以索引文件的形态,储存在相互独立的储存位置中(S402、S403)。
通过上述方法,在处理完所有的sub Container之后,完成了CDS服务的准备。
图5是图4中确定目标ID过程的运行示意图。参照图5,对上述过程中的目标ID确定方法进行如下说明。
使用散列函数,获得相关数字,并将其重新转换成文字格式,将其确定为目标ID,以确定相关项目或者容器的路径名称所对应的目标ID(S500)。在此,使用散列函数是因为,无需在单独的文件或存储器中对目标ID信息进行维持、管理。
但是由于散列(Hash)在特性上有可能发生冲突,因此上述过程中所确定的目标ID是否以索引文件形式实际存在进行确认(S501)。
这时,如果存在索引文件,对相关索引文件中所包含的路径信息与当前的目标ID是否相同进行确认(S502)。
如果确定结果为路径信息不一致,就增加一个目标ID的数字值(S503)。
然后重新回到确认索引文件存在的过程,反复执行上述操作。
在执行上述过程时,即使当前确定的目标ID所对应的索引文件不存在,或者存在相关索引文件,只要此索引文件中所包含的路径信息与目前确定的目标ID不一致,就将目前确定的目标ID选择为最终的目标ID。
可是,不直接从媒体中获取媒体文件信息,而单独储存信息,当客户发出请求的时候进行参考的方法,需要注意的事项是能否与实际媒体文件实现同步。这是因为当媒体的媒体信息改变时,改变的信息应该被反映,才能将正确的信息传送给客户。
即,最理想的状况是,能够将储存媒体中产生的所有记录的修正、删除、添加信息通报给UPnP媒体服务器,但实际上会受到系统特性上的制约。
因此,需要一种可有效地对目录元文件和索引文件进行更新的方法。
图6是本发明的实施例中媒体文件信息更新过程的运行示意图。参照图6,对浏览操作的同步过程进行说明。
首先,当从客户处接收操作的时候,对相关目标ID所对应的索引文件进行搜索,检查其是否存在(S600、S601)。
这时,如果存在索引文件,便读取此文件,并得到实际目标的路径(path)(S602)。如果上述过程(S601)中不存在索引文件,就作为错误(Error)处理。
然后,对上述过程中获取的目标路径是否存在于实际系统中,进行确认(S603)。
如果,上述过程(S603)中确认目标路径并不存在于实际系统中,便将与相关目标ID有关的索引文件删除,作为错误处理(S604)。这时,如果目标ID相当于与容器而不是项目,索引文件就具备了如图3所示的容器索引文件结构,而且即使在删除索引文件时,也会追踪其文件内部,将下位容器和项目的目标ID信息所对应的索引文件全部删除。
然后,如果在上述过程(S603)中,如确认目标的路径存在于实际系统中,便执行目录元文件更新检查过程(S605)。即,如果在相关容器中不存在目录元文件,或者将容器与目录元文件的更改时间(modification time)进行比较,判断所存在的目录元文件信息是以前的旧信息,便对目录元文件进行更新。
这时,如果存在当前的目录元文件(S607),将读取并记录此内容的目标ID的相关索引文件删除(S608)。
因此,在当前目录元文件不存在的情况下,或者存在当前的目录元文件,但是已经删除了其内部的索引文件之后,收集容器内的信息,重新生成目录元文件(S609)。这时,在内部相关索引文件也一起生成。
在进行完上述过程之后,目录元文件就与实际存储在媒体中的信息实现同步状态。因此,在读取了此元文件并执行了必要的操作之后,就会将相应信息传送给客户(S606)。
权利要求
1.一种以UPnP网络为基础的媒体文件管理方法,其特征包括以下阶段第一阶段,在媒体服务器被启动之后,将现有的目录元文件和索引文件删除,并对根容器进行确认;第二阶段,获取上述根容器下位的容器和项目信息,并依次确定与其对应的目标ID;第三阶段,生成与上述目标ID对应的目录元文件,并储存;第四阶段,将上述各个目标ID制作成索引文件,并储存。
2.如权利要求1所述以UPnP网络为基础的媒体文件管理方法,其特征在于,上述确定目标ID的阶段包括利用散列函数,获取目标ID字符串的过程;对与上述字符串相对应的索引文件是否存在进行确认的过程;对上述已经确认存在的索引文件中包含的路径与目标ID进行比较,确认两者是否一致的过程;如果上述比较的结果为一致或者索引文件不存在,则将当前的目标I D确定为最终目标ID的过程。
3.如权利要求2所述以UPnP网络为基础的媒体文件管理方法,其特征包括如果索引文件中所包含的路径与当前的目标ID不一致,则增加目标ID的值,并确认索引文件是否存在的过程。
4.一种以UPnP网络为基础的媒体文件管理方法,其特征包括以下阶段第一阶段,确认客户是否发出了目录信息请求;第二阶段,在客户发出了上述目录信息请求之后,对被请求目标ID相对应的索引文件是否存在进行检索;第三阶段,如果上述索引文件存在,便对其索引文件中所包含的路径在系统里是否实际存在进行确认;第四阶段,如果上述路径在系统里实际存在,则判断有无必要对目录元文件进行更新;第五阶段,如果在上述阶段中判断为有必要对目录元文件进行更新,便删除现有的目录元文件,生成新的目录元文件,并将其提供给客户。
5.如权利要求4所述以UPnP网络为基础的媒体文件管理方法,其特征在于如果在容器中目录元文件不存在,或者确认目录元文件是经过了时间的旧目录元文件,便判断为需要对目录元文件进行更新。
全文摘要
本发明是关于以UPnP网络为基础的媒体文件管理方法的,更详细的说,本发明的目的是要在存储器制约相对较大的系统中,通过使用目录元文件和索引文件,减少存储器的使用量,以弥补现有存储器容量不足的缺点。为了上述目的,本发明基于在以UPnP为基础的网络中对目录信息进行管理的方法,包含以下阶段第一阶段,在媒体服务器被启动之后,将现有的目录元文件和索引文件删除,并对根容器进行确认;第二阶段,获取上述根容器下位的容器和项目信息,并依次确定与其对应的目标ID;第三阶段,生成与上述目标ID对应的目录元文件,并将其储存起来;第四阶段,将上述各个目标ID制作成索引文件,并将其储存起来。
文档编号H04L12/28GK1928858SQ200510094298
公开日2007年3月14日 申请日期2005年9月9日 优先权日2005年9月9日
发明者任康熙, 安成俊 申请人:乐金电子(昆山)电脑有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1