用于分层数据格式的数据库模型的制作方法

文档序号:6406131阅读:159来源:国知局
专利名称:用于分层数据格式的数据库模型的制作方法
技术领域
本发明涉及一种在将分层数据格式映射到关系数据库管理系统的基础上确保数据相容性的方法。此外,本发明涉及使用这种方法从和/或向记录介质读和/或写的设备。
背景技术
未来的数字记录将以预准备、表述以及归档增加的值数据值服务为特征,即,例如是DVR(数字录像机)的记录器将存储和处理由内容供给者如广播装置或特殊服务甚至由用户自己装配的内容供给者传送的附加信息。生成增加值(元数据)以便为用户提供更多的信息。例如,增加值可以是解释故事的电影摘要,演员列表等等。也可以由在电影内易于导航的附加信息来组成增加值。例如,一部电影可以由片断以及子片断等等构成,它们中的每个都具有独立的标题并可能包含更有用的信息。
为了提供结构化的信息和为了传送用于诸如视频流或音频流的多媒体对象的其它元数据,通常使用分层数据格式。一个众所周知并被广泛接受的分层数据格式是可扩展标记语言XML。XML是一个用于定义专有标记语言的系统,其中该标记语言用来发送格式化的数据。因此也可以将其称作元语言,即一种用于创建其它专有语言的语言。XML数据由文本组成,该文本是以多个描述符的形式组织的。文本本身包含元素、属性以及内容,也就是剩余文本。除了用于多媒体对象以外,XML的许多其它应用也都是已知的。
可以指望将来的数字记录器可以以XML或其它分层数据格式在关系数据库中存储相当大量的数据,这是因为这些数据库被广泛的使用并且它们是相当精密复杂的。为了存储,分层数据格式必须被映射到关系数据库管理系统中(RDBMS)。为此,将包含描述符的分层数据格式映射到关系数据库管理系统的方法已经在未决的欧洲专利申请02017045.2中提出。根据这种方法,描述符被分割成多个公共格式的部分,这些部分以一定的关系存储在关系数据库中。稍后将参考图4说明数据库模型。
在XML中,单一文档可以包括为多个软件模型定义并由它们使用的元素和属性。对于这种文档,必须考虑识别以及可能的冲突。即使当冲突出现在相同元素类型或属性名为另一软件模型而不同地定义时,这些软件模型也必须识别它们必须处理的元素和属性。这要求元素和属性具有通用名,这些通用名具有超出它们所包含文档的范围。为此,在XML中使用名称空间。XML名称空间是由定位器识别的名称的集合,也就是一个统一资源标识符(URI)。为明确地识别,对文档内的元素和属性提供一个前缀。将前缀通过分隔符与其所指出的元素或属性分开,例如,mwauthor(前缀=“mw”,分隔符=“”,元素名=“author”)。在可以使用这样的前缀之前,必需在XML文档中对其加以定义<Section xmlnsmw=“http//www.mw-homepage/mws-namespaces”>
<mwauthor>Winter et al.</mwauthor>
</Section>
在该例中,对名称空间的说明从标识符“xmlns”开始,随后紧接着分隔符“”与URI“http//www.mw-homepage/mws-namespaces”。然而,由于前缀可由任何人自由选择,且仅具有少量的限制,因此可能出现冲突的定义<Section xmlnsmw=“http//www.mw-homepage/mws-namespaces”>
<mwtitle>Namespaces</mwtitle>
</Section>
<Chapter xmlnsmw=“http//www.another-mw-homepage/XML/ns”>
<mwsection>Section 1</mwsection>
</Chapter>
在上述例子中,两个不同的定位器与相同的前缀一起使用。如果两个定义都被存储在一个数据库中,那么该数据库中的数据将不相容。

发明内容
本发明的一个目的是改进现有技术中已知的在关系数据库中以分层数据格式来存储数据的方法。
依据本发明,一种用于在将一个数据项存储到数据库的基础上确保数据相容性的方法,该数据项具有标识符和定位器,用于将数据项链接到目的文件,借此,除了该数据项以外,所述标识符和定位器也都被存储在该数据库中,该方法包括以下步骤检查标识符和定位器的当前组合是否已经存储在数据库中,如果是,则使用已存储的数据项的组合,在标识符和定位器的当前组合未存储在数据库中的情况下,检查标识符或者定位器是否已经存储在数据库中,如果是,则用单义的组合替换标识符和定位器的当前组合,并将单义的组合与数据项一起存储,以及将标识符和定位器的当前组合连同其它的数据项一起存储。
优选的,在数据库中标识符和定位器与数据项分别存储。存储之前检查标识符和定位器的组合先前是否已被使用和存储。如果是,那么无须任何限制就可以使用该组合。否则,如果或者标识符或者定位器以不同的组合使用过或在数据库中存储过,那么存储当前的组合将导致数据不相容。因此在这种情况下,就用标识符和定位器的单义组合替换当前组合,随后将该单义组合存储在数据库中。如果无论标识符或定位器先前都未曾存储在数据库中,那么将当前标识符和定位器的组合加上数据项一起存储。该方法的优点是通过防止一个单义的标识符与一个以上的定位器一同存储在数据库中以确保数据的相容性。每一个标识符都涉及单一的、单义的定位器。
优选的,所述替换步骤包括如果标识符与不同的定位器组合先前已经被存储,那么用尚未存储在数据库中的单义标识符替换该标识符,以及如果定位器与不同的标识符组合先前已经被存储,那么用先前已存储的标识符替换该标识符。
如果标识符与不同定位器组合已被存储,那么足以用一个尚未存储在数据库中的新的标识符替换该标识符。否则,如果定位器与不同标识符组合已被存储,那么该标识符最好用先前存储的标识符来替换。虽然后者对确保数据的相容性并非是绝对必需的,但它有助于防止数据库内的重复,从而减少存储在数据库中的数据的数量。
优选的,数据项是分层数据格式的字段。这种字段例如为元素和属性。分层数据格式通常用于提供结构信息并为多媒体对象传送其它元数据。因此,该方法广泛适用于多媒体应用。然而,该方法不限于分层数据格式并且也可应用于其它数据格式。
有益地,分层数据格式为可扩展标记语言XML。XML是一个众所周知并被广泛接受的分层数据格式,它由文本组成,其中该文本是以描述符的形式组织的。这样,该方法适用于任一类型的多媒体对象包括以XML描述符为形式的元数据。由于,XML是源于SGML的一个专用标识语言,所以XML描述符遵循预定的规则并且没有不需要的数据和冲突出现,其中SGML是标准通用的标识语言[ISO 8879]。
有益地,标识符和定位器的组合是一个名称空间说明。名称空间是可扩展标识语言的重要特征。它们使得为相同的元素和属性定义不同的含义,或者定义附加的元素和属性。为了避免在一个数据库中不同文档之间的冲突,一个能够存储XML描述符的数据库为处理名称空间提供了有利的方法。
优选的,定位器是一个统一资源标识符URI。统一资源标识符是众所周知的并且为指示定义的目的文件所设定的概念。当然,其它类型的定位器例如统一资源定位器(URL)或统一资源名(URN)也可以使用。
有益地,标识符是一个前缀。前缀对于特征化按照规则定义的元素或属性是十分容易且合适的方法,其中该规则与该前缀有关并且由该前缀来识别。通常该前缀是通过分隔符例如“”与其所指出的元素或属性分开。优选的,该前缀可以自由选择而只具有少量的限制。例如,可能存在的限制可以是与标准定义有关的专有保留前缀、禁用字符以及前缀长度的或上或下的限制。
优选的,数据项、标识符以及定位器都存储在一个关系数据库中。这些数据库广泛的使用并且是十分精密复杂的。它们可对数据进行简单的处理和快速的搜索。当然,本发明不限于关系数据库。它也可以应用到其它类型的数据库。
有益地,一种用于读取和/或写入记录介质的设备,该设备使用依据本发明的在数据库中存储数据项上确保数据相容性的方法。如前所述,未来的数字记录器在关系数据库中将以分层数据格式存储相当大数量的数据。由于分层数据格式可能包括名称空间或一个与之相似的概念,所以这些数字记录器能够有利地处理标识符和定位器。
为了更好地理解本发明,在下面参考附图对优选实施例的描述中将具体解释示范性实施例,这里用XML作为分层数据格式的一个例子。可以看到本发明并不局限于这些示范性实施例,并且也可以不离开本发明的范围对所给的特征进行组合和/或修改。


图1示出了包括多个元数据描述符的元数据流,图2示出了标准的元数据描述符,它包括名称空间信息、一个唯一的识别符以及连接到其它元数据描述符的链接,图3a、3b示出了包含名称空间信息的一个简化的XML描述符的及其XML树的表示,图4示出了用于将分层数据格式映射到关系数据库的数据库模型,其中元素、属性、整数值、串型值、前缀以及名称空间被分成不同的关系,以及图5示出了依据本发明的在分层数据格式映射到关系数据库时确保数据相容性的方法。
具体实施例方式
图1描述了包括多个元数据描述符2的元数据流1,在随后的图2中将对其进行更详细的解释。除了元数据描述符2外,元数据流1还包括对特定的元数据流1内所有的元数据描述符2都有效的名称空间说明3。
图2示出了标准元数据描述符2。元数据描述符的实际内容包含在核心7中。另外,元数据描述符2由名称空间说明4、唯一标识符5以及链接到其它元数据描述符的链接6组成。该唯一标识符5能对元数据描述符2进行明确识别。在这个例子中,名称空间说明4说明一个具有相应的统一资源标识符(URI)“http//www.thomson.net/MetaDataStream/CoreMD”的前缀“th”,也就是定义了一个指向元数据字段所在位置的标识符。名称空间说明4仅仅对特定的元数据描述符2有效。名称空间说明4并不局限于一个说明。还可以使用一个前缀定义多个说明。不同的前缀通常链接到不同的URI参数,可是,也可以将多个前缀链接到同一URI。当URI参数具有相同的字符时通常认为它们是相同的。在参数不同的情况下其功能仍是等效的。包含在核心7的每一个元数据字段用一个前缀做标记以便指明它可被理解为如同在各自的URI中的定义那样。如果一个字段没有前缀,那么就使用由元数据流1的名称空间说明3所给出的通用定义。
图3示出了部分a)XML描述符2的核心7的一个简化的例子以及部分b)作为XML树的相应表示。从图中可以看出,描述符2的示范核心7包含一个0级secetionStart(段开始),一个1级段以及一个2级段,每个段都有一个标题。2级段的标题具有值为“down”的属性“arrow”。描述符2的核心7由17个字段组成,这里把每个标题的文本当作一个字段来计算,而与字段的实际数目无关。例如,“5555 Hello 6666”是一个“逻辑”字段,即使它包含三个“实际”字段。在图a)部分中的描述符2的核心7的每一行中所给出的数是指核心7内每一行的第一个字段的相关字段位置。从图b)部分相应的树结构可以看到核心7有5个级,即0级到4级。树结构对于说明在描述符2的核心7中的不同字段之间的分层关系是一个非常有用的工具。
字段“sectionStart”包含更进一步的名称空间说明,其说明了具有相应的URI“http//www.mw-homepage/mw-namespaces”的前缀“mw”。前缀“mw”与前缀“th”结合起来,依照定义的原因来区别不同的字段(section,title,arrow)。换句话说,前缀“th”指出随后的字段是按照定义在“http//www.thomson.net/MetaStream/CoreMD”中来理解的,而前缀“mw”指出随后的字段是按照定义在“http//mw-homepage/mw-namespaces”中来理解的。
图4示出了用于将分层数据格式映射到关系数据库中的数据库模型,该数据库模型在未决的欧洲专利申请20117045.2中已经公开。该数据库模型使用一个主关系8以及五个次关系9,这些关系由相应的表表示。主关系8包括与元数据描述符2有关的结构化信息,而在从属关系9中存储了不同类型的元数据字段的值,这就避免了在关系8、9内的重复。在该例中,将XML字段分为类型“元素”,“字符串”,“属性”,“前缀”以及“名称空间”。当然,也可以使用其它类型,例如“整型”等。
主关系8的第一栏的“描述符号码”表明在数据库管理系统中的单义描述符号码。第二栏“字段位置”包括在特定的描述符2中所存储的字段的相对位置。“描述符号码”与“字段位置”一起作为关系8的主密钥,可使描述符2完全恢复。XML字段的类型存储在关系8的“类型”栏中。对于每个XML字段除了“类型”值以外,一个与描述符相应的密钥值“描述符密钥值”也包含在主关系8中。描述符密钥值表明了XML字段的特定类型在次关系9中的相关项。“类型”与“描述符密钥值”栏结合在一起作为次密钥值,这是因为它们将由主密钥指定的每个XML字段与特定值联系在一起。
主关系8的“级”栏包括如图3b所示的每一个XML字段的分层级别。可以看到,并不是所有的描述符2的字段都存储在该关系中。“closing”字段如“</title>”和“</section>”不包含附加的信息并且对于描述符2的恢复来说不是必须的。因此它们不存储在数据库中。当然,如果需要也可以存储这些字段。最后一栏“下一较高字段位置”包含在主关系8中,它包括一个标志,用于指示特定的描述符2内的XML字的下一较高分层字段。当只有通用格式的一个部分的字段位置是已知的时,该标志对于恢复描述符部分就是非常有用的信息,例如询问结果。通过提供这种附加信息有助于快速重组描述符部分。对于描述符2的每一个字段来说,相关的名称空间也包含在附加栏“名称空间”中。这对于确保元数据字段的正确定义是十分必要的。当然,与名称空间说明本身无关的名称空间也包含在主关系8中。名称空间存储在主关系8的最后(字段位置14和15)。实现该实例中的数据库以便当将一个XML文本输入数据库时先分别收集所有的名称空间。当不带有名称空间地完成输入整个文本时,只有那些实际用于该文本的名称空间存储在关系8的最后。在文本重组时该方法是相反的。首先读取名称空间并且只有后面的XML文本可以重组。尽管重组的XML文本不必与初始的XML文本完全一致,但它仅仅包括在XML文本的开头所列出的实际使用的名称空间。这将产生更清晰更强的相容性。
图5示出了依据本发明的在将分层数据格式映射到关系数据库时确保数据相容性的方法。在步骤10中,将包括前缀和统一资源标识符的名称空间送到数据库。在存储前缀和URI之前,在步骤11中检查前缀和URI的当前组合是否已经存储在数据库中。如果是,则在步骤12中将存储的名称空间即前缀和URI用于数据项。然而,如果步骤11揭示了当前组合没有存储在数据库中,则在步骤13中检查带有不同前缀的URI先前是否已经存储在数据库中。如果是,则在步骤14中将当前前缀转换为先前存储的前缀。然后,在步骤17中,将数据项和名称空间即前缀和URI存储在数据库中。如果步骤13揭示了带有不同前缀的URI并未存储在数据库中,则在步骤15中检查带有不同URI的前缀是否已经存储在数据库中。如果不是这样,则在步骤17中将前缀和URI的当前组合还有数据项存储在数据库中。然而,如果步骤15揭示了当前前缀与不同URI的组合先前并未存储在数据库中,那么在步骤16中将当前前缀转换为单义前缀。接着,在步骤17中将数据项以及前缀和URI的组合存储在数据库中。
以下三个例子将进一步说明依据本发明的方法。
1.)假设将第一个XML文本输入到数据库中<Section xmlnsmw=“http//www.mw-homepage/mws-namespaces”>
<mwauthor>Winter et al.</mwauthor>
</Section>
接着将下一个XML文本输入到数据库中<Chapter xmlnsmw=“http//www.mw-homepage/mws-namespaces”>
<mwtitle>Namespaces</mwtitle>
</Chapter>
由于这个名称空间已经存储在数据库中,因此不用将新的名称空间输入到数据库中。而是继续使用先前存储的名称空间。
2.)再次将第一个XML文本输入到数据库中<Section xmlnsmw=“http//www.mw-homepage/mws-namespaces”>
<mwauthor>winter et al.</mwauthor>
</Section>
接着将下一个XML文本输入到数据库中<Chapter xmlnsmmww=“http//www.mw-homepage/mws-namespaces”>
<mmwwtitle>Namespaces</mmwwtitle>
</Chapter>
在该例中相同的URI与一个不同的前缀结合。为了确保在数据库内数据的相容性,也就是,为了将每一个URI与一个前缀结合,就要在将数据项存储在数据库之前把当前前缀转换为先前存储的前缀<Chapter xmlnsmw=“http//www.mw-homepage/mws-namespaces”>
<mwtitle>Namespaces</mwtitle>
</Chapter>
3.)在该例中同样将第一个XML文本输入到数据库中<Section xmlnsmw=“http//www.mw-homepage/mws-namespaces”>
<mwauthor>winter et al.</mwauthor>
</Section>
接着将下一个XML文本输入到数据库中<Chapter xmlnsmw=“http//www.another-mw-homepage/XML/ns”>
<mwtitle>Namespaces</mwtitle>
</Chapter>
在这种情况下,相同的前缀与两个不同的URI参数结合在一起使用。为了确保数据库内数据的相容性,就要在将数据项存储在数据库之前把当前前缀转换为一个新的、单义的前缀<Chapter xmlnsmw2=“http//www.another-mw-homepage/XML/ns”>
<mw2title>Namespaces</mw2title>
</Chapter>
权利要求
1.一种用于在将数据项存储到数据库的基础上确保数据相容性的方法,该数据项具有一个标识符,用于将该数据项链接到目的文件,借此,将用于目的文件的标识符和定位器与数据项一起存储在数据库中,其特征在于该方法包括以下步骤检查标识符和定位器的当前组合是否已经存储在数据库中(步骤11),如果是,则将存储的组合用于数据项(步骤12),在该标识符和定位器的当前组合并未存储在数据库中的情况下,检查该标识符或者该定位器是否已经存储在数据库中(步骤13,15),如果是,则用单义的组合替换标识符和定位器的当前组合(步骤14,16),并且将该单义的组合与该数据项一起存储(步骤17),以及将标识符和定位器的当前组合连同其它的数据项一起存储(步骤17)。
2.根据权利要求1的方法,其特征在于该替换步骤(14,16)包括如果与不同的定位器组合的标识符先前已经被存储,那么用尚未存储在数据库中的单义标识符替换该标识符(步骤16),以及如果与不同的标识符组合的定位器先前已经被存储,那么用先前已存储的标识符替换该标识符(步骤14)。
3.根据权利要求1或2的方法,其特征在于所述数据项为分层数据格式的字段。
4.根据权利要求3的方法,其特征在于所述分层数据格式为可扩展的标记语言。
5.根据上述任意一个权利要求的方法,其特征在于所述标识符和定位器的组合为名称空间说明。
6.根据上述任意一个权利要求的方法,其特征在于所述定位器为统一资源标识符。
7.根据上述任意一个权利要求的方法,其特征在于所述标识符是一个前缀。
8.根据上述任意一个权利要求的方法,其特征在于所述数据库是关系数据库。
9.一种用于从和/或向记录介质读和/或写的设备,其特征在于该设备利用如权利要求1-8中任意一个所述的用于在将数据项存储到数据库中的基础上确保数据相容性的方法。
全文摘要
用于在将数据项存储到数据库中的基础上确保数据相容性的方法,该数据项具有标识符和定位器,用于将数据项链接到目的文件,借此将标识符和定位器连同数据项都存储在数据库中,该方法包括以下步骤检查标识符和定位器的当前组合是否已经存储在数据库中(步骤11),如果是,则将存储的组合用于数据项(步骤12),如果标识符和定位器的当前组合并未存储在数据库中,那么检查或者标识符或者定位器是否已经存储在数据库中(步骤13,15),如果是,则用单义的组合替换当前标识符和定位器的组合(步骤14,16),并且将单义的组合与数据项一起存储(步骤17),以及将标识符和定位器的当前组合连同其它的数据项一起存储(步骤17)。
文档编号G06F17/30GK1542657SQ20041004776
公开日2004年11月3日 申请日期2004年4月7日 优先权日2003年4月7日
发明者马科·温特, 马科 温特, 哈特穆特·彼得斯, 特 彼得斯, 夫 布拉沃特, 迈诺尔夫·布拉沃特, 奥斯特曼, 拉尔夫·奥斯特曼, 赫珀, 迪特马·赫珀 申请人:汤姆森特许公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1