当前位置: 首页 > 工具软件 > Bickley > 使用案例 >

Moblin 内核 -- BICKLEY

裴凯定
2023-12-01

简介

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

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

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

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

Libbickley

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

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

Daemon

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

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

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

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

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

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

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

元数据的存储位置

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

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

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

 

预告:Moblin 中文站 9月 沙龙将于 9月5日举办

 类似资料: