Bickley - Moblin内核


未知
Moblin
C/C++

软件简介

Bickley是一个元数据管理API和框架,由三个主要部分组成:

l Libkozo —— Kozo是围绕TDB库的数据库抽象。

l Libbickley —— Libbickley是一个客户端API,允许客户端通过较高级别接口访问元数据。

l Daemons —— 有两个daemon,分别用于从文件和其他来源提取元数据和对这些元数据编制索引。

Libbickley

Libbickley以列举项的形式将数据呈现给客户端。目前共有三类列举项,分别代表音频、图像和视频项。对于与这些类型相关的元数据,列举项还包含一些文件相关的元数据和一些自定义元数据,比如播放次数、排名、标签。

通过使用Libbickley,客户端不必了解libkozo是如何将数据保存在数据库中的,而且对数据的所有操作都应该通过Libbickley完成。

Daemon

组成Bickley元数据系统的两个daemon是bkl-orbiter和bkl-investigator。bkl-
orbiter始终处于运行状态,可以跟踪各种来源,从而监视来源上需要为其编制索引的文件。当它发现需要提取的内容时,bkl-
investigator就会启动并扫描随后要发送给orbiter的元数据文件。

目前,bkl-orbiter能够监视的来源有:

l GConf —— 表示本地文件系统。

l 可移除的媒体 —— 表示CD/DVD和可移除的存储设备。

l UPnP —— 表示局域网上基于UPnP的媒体服务器。

GConf来源可以监视键/apps/bickley/watched_uris并对在该键中找到的任意uri编制索引。

当新的来源可用时,bkl-orbiter还会发出D-Bus信号,而Libbickley可以将此信号通知客户端应用程序。

元数据的存储位置

元数据存储在设备的文件系统中。对于本地文件系统,数据库存储在~/.kozo/databases/local-media中。

l 对于UPnP,元数据也存储在~/.kozo/databases中,而数据库文件名就是UPnP设备UDN的MD5和。

l
对于可移除的媒体,如果该媒体是可写的,那么元数据存储在$(mount_point)/.kozo/databases中,否则也存储在~/.kozo/databases中,数据库文件名是挂载点的MD5和。

介绍内容来自 http://blog.csdn.net/moblin/archive/2009/08/13/4442447.aspx