CN1627297A - 管理用标记语言写的数据的方法及其设备 - Google Patents

管理用标记语言写的数据的方法及其设备 Download PDF

Info

Publication number
CN1627297A
CN1627297A CNA2004100984793A CN200410098479A CN1627297A CN 1627297 A CN1627297 A CN 1627297A CN A2004100984793 A CNA2004100984793 A CN A2004100984793A CN 200410098479 A CN200410098479 A CN 200410098479A CN 1627297 A CN1627297 A CN 1627297A
Authority
CN
China
Prior art keywords
fragment
index
data
sgml
storage unit
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
Application number
CNA2004100984793A
Other languages
English (en)
Inventor
申孝燮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN1627297A publication Critical patent/CN1627297A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion
    • G06F16/86Mapping to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/81Indexing, e.g. XML tags; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/131Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]

Abstract

一种用于管理用标记语言写的数据的方法和装置从而允许数字数据的有效存储、删除、更新和获取;以及一种记录介质,用于存储为实现该方法所设计的程序。为了允许数字数据的有效存储、删除、更新和获取,用标记语言写的数据被分割成片段,并且每一个片段在预定的关系表中被管理。基于片段的数字数据的索引允许分段的数字数据被有效地存取。

Description

管理用标记语言写的数据的方法及其设备
                          技术领域
本发明涉及一种用于管理用标记语言写的数据的方法和设备,和一种用于记录设计以执行该相同的方法的程序的计算机可读记录介质;更具体地说,涉及一种方法,用于产生、存储、删除和更新通过分割用标记语言写的数据获得的片段,并产生、存储、删除和更新与该片段相关联的索引,和一种用于记录设计以执行该相同的方法的程序的计算机可读记录介质。
                          背景技术
包含用于处理数字数据的数字电路的数字装置逐渐变得普及。数字装置的例子包括计算机、打印机、扫描仪、寻呼机、数字照相机、传真机、数字复印机、个人数字助理(PDA)、蜂窝式移动电话、数字家庭电器、数字电话、数字投影机、家庭服务器、数字摄像机、数字电视广播接收机、数字卫星广播接收机、和机顶盒。
同时,由数字装置处理的数字数据可以以各种程序语言表示。特别地,包括标准通用标记语言(SGML)、超文本标记语言(HTML)和可扩展标记语言(XML)的标记语言由于它们增强的传送结构化信息的能力正在得到普及。关于标记语言的详细信息可以在 http://www.w3.orghttp://www.xml.com上找到。最通用的标记语言是XML,其是正式的万维网联盟(W3C)标准,并且各种其它标记语言预期在将来得到发展。
如图1所示,以标记语言为格式的数字数据被划分成结构和内容。例如,如图2所示,数字数据可以具有由根节点“TVAMain”10和子节点“ProgramDescription ”、“ProgramLocationTable”、“BroadcastEvent”11、“EventDescription”、“Serviceld”12、“PublishedTime”13、和“PublishedDuration”14组成的分级结构。图2示出了用作在Tv-Anytime论坛中用于广播节目的元数据的数字数据的分级结构的一部分,该论坛是成立于1999年9月的私营组织,致力于开发在用户环境如具有高存储容量为个人所用的个人数字记录机(PDR)提供视听功能和其他服务的规范。
当处理用标记语言写的并根据预定的协议作为格式的数字数据时,使用关于分级的结构的信息数字装置能得到更快的对想得到的内容的存取。
因此,用标记语言写的并具有根据预定的协议预先确定的格式的数字数据能在各种符合该协议的数字装置,如计算机、PDA和蜂窝式移动电话中被有效地处理。
由于这些优点,用标记语言写的数字数据通常被用于具有卓越的计算能力的企业级系统和具有有限的计算能力的小型数字装置。
用标记语言写的数字数据具有范围从个人信息如电话号码列表到用于描述和管理多媒体数据的元数据的广泛的用途。有各种不同类型的具有不同内容和结构的数字数据用于各种不同类型的应用。
各种用于管理用标记语言写的数字数据的方法已经被提出。例如,一个典型的用于存储和获取XML数据的方法是如图3所示的节点编号方案。节点编号方案在:[1]Chun Zhang,Jeffrey F.Naughton,Qiong Luo,David J.De Witt,和Guy M.Lohman“On Supporting Containment Queries in Relational DatabaseManagement Systems,”In Proc.of the 2001 ACM-SIGMOD conference,SantaBarbara,CA,USA,May 2001,[2]Quanzhong Li and Bongki Moon“Indexing andQuerying XML Data for Regular Path Expressions,”In Proc.of the 26th VLDBconference,Rome,Italy,Sep.2001,和[3]Torsten Grust“Accelerating XPathLocation Steps,”In Proceedings of the 2002 ACM-SIGMOD conference,pages109-120,Madison,Wisconsin,June 2002中被提出。
节点编号方案允许在XML文档中的每个节点(元素或属性)被自然地映射到关系表中的元组。每一个元组被表示成结构<doc_id,begin_pos,end_pos,level>。
这里,doc_id是文档的ID,begin_pos和end_pos表示在文档中关于节点的位置的信息,并且level表示节点离根节点的深度。例如,对应于呈现在图1的XML文档中的ProgramInformation节点中的每一个节点的元组可以被使用节点编号方案通过显示在图3中的树的每一个节点表示。
在图3中,由于所有的节点属于同一个文档,所以doc_id被设置为1,并且终端节点被用作指定父节点的文本值的特殊节点类型。
在节点编号方案中,两个节点之间的祖先-后代和父-子关系在XPath语言和XQuery语言中被分别使用运算符“//”和“/”表示,并且关系被通过比较每个元组的字段值确定。例如,如果节点“A”是节点“B”的祖先(即A//B),则节点“A”和“B”满足条件:“A.doc_id==B.doc_id,A.begin_pos<B.begin_pos,和A.end_pos>B.end_pos”。如果节点“A”是节点“B”的父(即A/B),则“A.level==B.level-1”被加到上面的条件中。
在XPath或XQuery语言中,结构化连接可以使用上述条件被执行以找到满足表示为“A/B”或“A//B”的查询的一对节点。
节点编号方案使普通的XML数据的存储和获取可以不需要与输入数据相关的XML方案(schema)或文档类型定义(DTD)的信息。但是,这个方案在具有有限的计算能力的小型数据装置中存在一些缺点。用于处理路径表达式以获取XML数据的必需被执行的连接的次数与路径表达式的长度相同。
由于在小型数字装置中没有足够的内存用于计算,所以输入/输出操作被频繁产生,这可能导致重大的性能下降。在存储XML数据时出现相同的结果。更新子节点可能导致更新父节点,因此使更新操作效率低。
另一个用于存储和获取文档的方法是属性内嵌技术。这个技术通过内嵌一个或多个XML节点到一个单一的表中,不但防止由节点编号导致的过多的片段,而且允许使用给定的DTD或XML方案使关系数据库被自动实现。
关于属性内嵌的更多的信息,参见[Javavel Shanmugasundaram,KristinTufte,Chun Zhang,Gang He,David J.Dewitt,and Jeffrey F.Naughton“Relational Databases for Querying XML Documents:Limitations andOpportunities,”In Proc.of the 25th VLDB conference,pages 302-314,Edinburgh,Scotland,Sep.1999]。
然而,和节点编号方案一样,当DTD中的很多的节点中的每一个具有多个基时,属性内嵌需要大量的计算。此外,由于该方法对XML数据的方案(DTD)非常敏感,所以节点属性的改变导致数据库的重建。
因此,需要一种用于有效管理用标记语言写的数字数据的方法。
                            发明内容
本发明的一个目的是提供一种方法和设备,用于有效地管理用标记语言写的数据;和一种计算机可读记录介质,用于记录设计以执行该方法的程序。
本发明的另一个目的是提供一种方法和设备,用于有效地为用标记语言写的数据生成索引;和一种记录介质,用于存储设计以执行该索引方法的程序。
本发明的一方面提供一种用于管理用标记语言写的数据的设备,包含:数据提供器,用于提供按预定节点组分割的具有用标记语言写的数据的片段;存储单元,用于存储片段和用于在逐个片段的基础上区分片段的标识符;和数据处理器,用于在请求数据时从存储单元获取包含请求的数据的片段并提供该片段。
该装置可以进一步包含片段管理单元,用于分析由数据提供器提供的片段并存储该片段和用于在逐个片段的基础上在存储单元中区分片段的标识符。
当分析的片段比先前存储在存储单元中的数据新时,片段管理单元可以更新包含先前存储的数据的片段。
同时,该设备也可以进一步包含索引管理单元,用于分析数据提供器提供的片段,产生相应于数据的索引,并在存储单元中在逐个索引的基础上存储产生的索引。
该数据提供器可以进一步为片段提供索引。
另外,该设备可以进一步包含索引管理单元,用于分析由数据提供器提供的索引,并存储该索引和用于在数据存储单元中在逐个索引的基础上区分索引的标识符。
当分析的索引比先前存储在存储单元中的索引新时,索引管理单元可以更新相应的索引。
另外,数据提供器可以选择性地提供在接收的数字广播流中的分段的数据。
该设备可以进一步包含元数据浏览器,用于解析由数据处理器提供的片段并将其输出。
本发明的另一个方面提供一种用于管理用标记语言写的数据的方法,包含:提供按预定的节点组分割的具有用标记语言写的数据的片段;分析片段并存储片段和用于在逐个片段的基础上区分片段的标识符;以及在请求数据时,从存储单元获取包含被请求的数据的片段并将其输出。
该方法可以进一步包含:当分析的片段比先前存储的新时,更新相应的先前存储的片段。
另外,该方法可以进一步包含:分析提供的片段,产生相应于数据的索引并存储产生的索引。
该方法可以进一步包含:提供片段的索引。
该方法可以进一步包含:分析提供的索引并存储该索引和用于在逐个索引的基础上区分索引的标识符。
当被分析的索引比先前存储的索引新时,该方法可以进一步包含:更新相应的先前存储的索引。
该方法也可以进一步包含:在接收的数字广播流中选择性地提供分段的数据。
该方法可以进一步包含:分析提供的片段并将其输出。
一种计算机可读的记录介质,用于记录被建造以执行上述方法的程序。
                            附图说明
通过参照附图对本发明的示例性的实施例的详细描述,本发明的上述及其它特点和优点将变得更清楚,其中:
图1是典型的用标记语言写的数据的示例性的图表;
图2示出了用标记语言写的数据的基本结构;
图3示出了使用传统的节点编号方案用于存储用标记语言写的数据的方法;
图4是用于解释用标记语言写的数据的分段的概念性的图表;
图5示出了根据本发明的实施例管理用标记语言写的数据的概念;
图6示出了使用图5所描述的数据管理概念管理图1的数字数据的概念;
图7是根据本发明的实施例管理用标记语言写的数据的数字装置的方框图;
图8A到8C是示出根据本发明的实施例管理和获取数据的方法的流程图;
图9显示了在普通电子节目指南(EPG)应用中的网格状指南屏幕;
图10是显示分段的元数据的传输的概念性图表;和
图11是根据本发明的另一个实施例用于处理用标记语言写的元数据的数字广播接收装置的方框图。
                        具体实施方式
通过参考下面对示例性实施例和附图的详细描述,可以更容易地理解本发明的优点及特点和实现本发明的方法。然而,本发明可以以多种不同的形式实施,不应被解释为局限于在此提出的实施例。更确切地说,提供这些实施例是为了公开充分和完全,并且充分地给本领域的技术人员传达本发明的概念,并且本发明将只由所附的权利要求限定。全文中相同的标号始终表示相同的部件。
现将参考附图对根据本发明的例证性的实施例的有效地管理用标记语言写的数据的方法和装置进行详细描述。
在说明本发明的示例性的实现之前,将首先描述分段的概念。分段是指将用标记语言写的数字数据分割成较小的片段。本发明基本上以片段管理数字数据。用标记语言写的数字数据的分段策略可以由用于处理数字数据的数字装置或用于在多个数字装置(下文称作“域”)中发送和接收预定数字数据的协议确定。
现将参照图4对分段的概念做简要地描述。如图1和2所示的以标记语言为格式的数字数据被分成多个树结构,其每一个被称为片段。
例如,如果数字数据被分块成:具有父节点TVAMain和预定的子节点(片段TVAMain)的树结构,具有父节点ProgramInformation Table和在该父节点之下的子节点(片段ProgramInformation)的树结构、和具有父节点BroadcastEvent和在该父节点之下的子节点(片段BroadcastEvent)的树结构,每一个被分块的树结构当作一个片段。
分段是用于管理或传送大量数字数据的有用的技术。例如,如果数字数据被分块为多个组织成相互可区分的片段,则可能只需独立地存取或传送所需的片段。
在域中的用标记语言写的数字数据的分级结构被划分成一组片段或片段类型。片段类型可以是另一片段类型的子。尽管在图4中数字数据被分割成以上三种片段类型:TVAMain、ProgramInformation和BroadcastEvent,但是分割的方法和片段的数量由特定域的分段策略任意地确定的。
同时,由于每个片段可以被独立地更新,所以属于不同片段的两个节点之间可以不再存在父-子关系。因此,当对用标记语言写的数字数据分段时为了维持两个节点之间的父-子关系,分段策略被设计成使得该两个节点属于相同的片段类型,或IDREF节点类型被使用以允许一个节点指向另一个节点。
数字数据的分段对于存取用标记语言写的数字数据更有用,更具体地说,是存取包含在数字数据中的预定节点。
为了实现这个,首先,分段策略被用于找到包含期望的节点的片段,然后直接地存取适当的节点。因此,为了得到需要的信息,可能只需对相关的片段而不是对所有的数字数据进行操作。
同时,在可扩展标记语言(XML)的情况中,万维网联盟(W3C)定义的XML路径语言(XPath)可以被用于标记包含在分段的数字数据中的预定节点。这里,XPath是一种用于描述在XML文档中到节点的路径的语法。更具体地讲,通过指定:a)从数字数据的根节点到包含相关节点的片段的父节点的绝对路径,和b)从相关片段的父节点到相关节点的相对路径,XPath被用于指出包含在片段中的相关的节点。
为了标识分段的数字数据,使用绝对或相对路径的指示方法可以被使用。例如,在每个片段中父节点的绝对路径可以被用于标识每个片段。除了使用Xpath确定绝对路径之外,当绝对路径具有固定模式时,绝对路径可以根据预定的映射规则被以代码表示。例如,如图2和4中所示的片段BroadcastEvent可以使用XPath表示成“/TVAMain/ProgramDescription/ProgramLocationTable/BroadcastEvent”,相同的片段根据映射规则被表示成“FF01”。在这种情况下,片段类型BroadcastEvent可以被标识为“FF01”。
现将对根据本发明的优选的实施例的数据管理结构进行描述。
在这个实施例中,分段的数字数据被在以下如表1所示的关系表中管理:
                                          <表1>
 Fragment#1_id  fragment#1_type  fragment#1_version  fragment#1_content
 Fragment#2_id  fragment#2_type  fragment#2_version  fragment#2_content
 Fragment#3_id  fragment#3_type  fragment#3_version  fragment#3_content
 ......  ......  ……  ......
表1包含每个片段的fragment_id、fragment_type、fragment_version和fragment_content。
这里,fragment_id表示每个片段的标识符,用于在传输网络或数据库中区分片段;fragment_type表示相关片段的类型;fragment_version表示片段的版本;fragment_content表示存储分段的数字数据的仓库。在这种情况下,数字数据可以被以文本或解析的形式存储在片段中。
使用关系表管理分段的数据允许数字装置有效地存取期望的信息而不需要处理所有的数字数据。更具体地说,获得存取期望的信息的第一步是使用先前描述的分段策略识别包含期望的信息的片段类型。
当找到多个相同片段类型的片段时,核对片段版本以选择片段的最新版本。然后核对选择的片段的片段内容以获得期望的信息。如果片段内容是未解析的文本形式,则期望的信息可以通过在内容上执行解析被提取。
现将对根据本发明的一个优选的实施例的数字数据的索引结构进行描述。
为获取满足某种条件的片段,最好为在搜索条件下频繁被涉及的节点生成索引,然后参照索引而不是检查所有片段的内容。
键值是节点值的索引可以为片段类型生成。例如,在图1的XML文档中,如果其键值是“类型”节点值的索引为片段类型ProgramInformation生成,则可能获取属于特定类型的节目的信息。
因此,值得为数字数据提供索引结构以允许对数字数据有效地获取和存取。
用标记语言写的数字数据中的节点可以被用作用于索引的键。例如,在图2中,“PublishedTime”可以被用作用于索引的键。
如上所述,为了指定键,包含与该键相对应的节点的片段的绝对路径和在片段中的相对路径可以被使用。
参照图2和图4,如果“PublishedTime”被用作键,关于该键的信息可以被指定为:a)包含节点“PublishedTime”的片段“BroadcastEvent”的绝对路径“/TVAMain/ProgramDescription/ProgramLocationTable/BroadcastEvent”,和b)在片段“BroadcastEvent”中的节点“PublishedTime”的相对路径“EventDescription/PublishedTime”。
总之,为了对用标记语言写的数字数据进行有效的管理,值得将数据分段并以如上所述构造的关系表管理片段。另外,最好提供索引结构以对分段的数字数据进行有效的存取。
用于索引结构中的键可以是包含在相应片段中的节点,并且使用索引结构允许对包含期望的内容的片段直接存取。此外,包含与键相对应的节点的片段的绝对路径和在片段中的相对路径可以被用作关于键的信息。
除了使用XPath指定绝对和相对路径作为关于键的信息外,当绝对和相对路径具有固定模式时,绝对和相对路径可以被以根据预定的映射规则的代码来表示。例如,“/TVAMain/ProgramDescription/ProgramLocationTable/BroadcastEvent”和“EventDescription/PublishedTime”也可以分别由根据映射规则的“FF01”和“AA01”来表示。
根据本发明的一个优选实施例的索引结构在图5中示出。
参照图5,基于标记语言的数据的总体结构包含四个组件:IndexDictionary 100、IndexKeyfield 200、索引300a或300b和片段400。
如上所述,片段400是在其中存储分段的数字数据的关系表,包含:fragment_id、fragment_type、fragment_version和fragment_content。
为了执行索引,索引结构包括:IndexDictionary 100、IndexKeyfield 200和索引300a或300b。
多个形成索引300a或300b的条目中的每一个包含字段key_value、fragment_id、fragment_type和fragment_version。键值可以包含多个被定义为一个或多个字段的子键值。字段fragment_id和fragment_version与在片段400中它们的对应字段相同。片段的索引可以用众所周知的索引技术例如B-tree生成。
由于数据库可以包含一个或多个索引,两个附加的数据结构可以被提供用作指定每一个索引。
IndexDictionary 100描述关于每一个索引的信息,并包含index_id、index_version、fragment_type、num_key_field和key_field_id。
这里,index_id是索引的ID,index_version是索引的版本,num_key_field是包含在键中的字段(节点)的数量,和key_field_id是键字段的ID。IndexKeyfield 200指定在索引300a或300b中关于键字段的信息并包含:key_field_id、key_field_path和key_field_type。key_field_id是键字段的ID,key_field_path是从包含相关键字段的片段到在标记语言数据结构中的相关键字段的相对路径,和key_field_type是在数据库中的键字段的类型。在另一个实施例中,键字段的从根节点到在标记语言数据结构中的相关键字段的绝对路径可以被用作key_field_path。
下面将参照图8描述用于管理用标记语言写的数字数据的方法。
图6示出使用根据本发明的实施例的图5中的数据管理结构的图1中的数字数据的管理。
在这个例证性的实施例中,描述了图1中的数字数据的索引信息,其中键是包含在片段“ProgramInformation”中的类型并且键值是新闻。
IndexDictionary 100包含关于索引300的信息,其中与片段类型“ProgramInformation”相关的索引的index_id是1并且index_version是2。IndexKeyfield 200也包含作为关于索引300的键字段信息的key_field_id和num_key_field。在这个实施例中,由于类型具有一个键字段,num_key_field是1,并且key_field_id是“7”。
IndexKeyfield 200描述关于“类型”的键字段的信息。例如,key_field_id是“7”,key_field_path是“BasicDescription/Genre”,并且key_field_type是“字符串”。
如图6所示的索引300的条目具有“类型”键字段的键值“新闻”。包含数字数据的片段具有键值“新闻”,这意味着类型是新闻,该片段的字段fragment_id是“123”,并且字段fragment_version是“1”。
因此,用户参照IndexDictionary 100和IndexKeyfield 200获取其键值为“类型”的索引300。然后用户从索引300获取键值是“新闻”的条目,并从该条目中提取片段的字段fragment_id和fiagment_version。使用提取的信息,用户从片段400获取包含“类型”是“新闻”的数字数据的片段。
图7是根据本发明的实施例的用于管理用标记语言写的数据的数字装置500的方框图。
参照图7,数字装置500包括:数据提供器510,用于提供分段的数字数据;片段管理单元520,用于将提供的片段转换成根据本发明的数字结构;索引管理单元530,用于生成或更新片段的索引;数据处理器540,用于将被提供的片段和索引存储在存储单元570中并执行存储的数字数据的获取;和应用程序560,用于从数字处理器540中请求获取并接收所需的数字数据用于处理。
数字提供器510通过生成分段的数据或从其它数字装置接收分段的数据来提供根据预定的分段策略的分段的数据。
当从其它数字装置接收分段的数据时,数字数据的索引可以伴随数据。接收的索引随后被发送到索引管理单元530用于管理。
片段管理单元520分析由数据提供器510提供的分段的数字数据从而相关的片段可以存储在如表1所示的示例性的关系表中。
更具体地讲,片段管理单元520分析片段以提取包括fragment_id、fragment_type、fragment_version和fragment_content的信息,并将提取的信息提交给数据处理器540。当接收到关于先前存储的片段的更新片段时,片段管理单元520也更新相关片段。
索引管理单元530分析由数据处理器540提供的分段的数字数据并生成IndexDictionary 100、IndexKeyfield 200和索引300a或300b。
当从数据提供器510接收到索引时,索引管理单元530也可以分析生成的信息。另外,当接收到关于先前存储的片段的更新片段时,索引管理单元530可以更新相关片段的索引。
数据处理器540从片段管理单元520和索引管理单元530接收处理的结果,将其存储在存储单元570中,从存储单元570获取应用程序560请求的片段,需要时提取数字数据,并将数字数据提交给应用程序560。如果存储在存储单元570的关系表中的fragment_content是文本形式的片段本身,则数据处理器540可以解析文本形式的片段以提交给应用程序560。
此外,当接收到新的片段时,数据处理器540将这一事实通知索引管理单元530,并依次更新相关的索引。
数据处理器540也管理存储单元570。就是说,数据处理器540请求片段管理单元520和索引管理单元530根据来自用户的或预定的算法选择性地删除存储在存储单元570中的片段和索引。同时,即使当接收到仅删除片段的请求时,最好也同时删除与该片段相关的索引。因此,当通报索引管理单元530片段的删除时,数据处理器540可以请求存储的索引的修改。
由图7中的数字装置500执行的操作总结如下。
数字装置500可以执行所有如下的操作,或者根据它的性能或功能,选择性地执行一项或多项操作。
1.产生分段的数字数据
2.存储分段的数字数据
3.更新分段的数字数据
4.删除分段的数字数据
5.产生分段的数字数据的索引
6.存储分段的数字数据的索引
7.更新分段的数字数据的索引
8.删除分段的数字数据的索引
9.获取数字数据
10.输出获取的数字数据
下面将参照图8A到8C来描述上述列表的功能的详情。
图8A到8C示出了根据本发明的实施例的用于管理分段的数字数据和索引的方法。
1.产生分段的数字数据
在步骤S110,数据提供器510根据预定的分段策略将数字数据分段。作为选择,数据提供器510可以提供从其它数字装置接收的片段,或在从其它数字装置接收的数字广播流中的分段的数据中选择性地提供分段的数据。
2.存储分段的数字数据
在步骤S120,为了提取包括fragment_id、fragment_type、fragment_version和fragment_content的信息,片段管理单元520分析数据提供器510提供的片段。提取的信息随后被发送到数据处理器540并存储在存储单元570的片段400中。
为了避免相同信息的重复存储,该方法可以进一步包含将数据提供器510提供的片段的fragment_id与先前存储的数据的fragment_id进行比较的步骤S130。
当在步骤S150时,与现存片段具有相同的fragment_id的片段被丢弃,只有具有不同的fragment_id的片段在步骤S170被存储。在另一个实施例中,fragment_id的比较之后在S140中比较fragment_version。如果提供的片段具有相同的fragment_id,但fragment_version比先前存储的片段高,则这意味着该片段已经被更新,这将在第3段描述。
同时,当一个新片段被添加到存储单元570的片段400或现存的片段被更新时,新片段的索引也需要被添加或现存的片段的索引需要被更新。增加和更新索引的处理将在5-7段描述。
3.更新分段的数字数据
在步骤S160,当具有与先前存储的片段相同信息的片段由数据提供器510提供时,数据处理器540更新先前存储的片段。为了确定两个片段是否相同,可以使用不同的字段。如上所述,可以使用fragment_version字段来确定片段是否与先前存储的片段相同并且后者是否已经被更新。
4.删除分段的数字数据
存储在存储单元570中的数字数据可以在片段中删除。当接收到来自用户的请求或根据预定的算法,存储在关系表中的片段可以被自动删除。在这种情况下,关于片段的信息被从关系表中删除。
5.产生分段的数据的索引
为获取预定的数字数据,为片段生成索引并查询索引能比核对存储在存储单元570中的所有片段的内容更有效率。在本发明的优选实施例中,属于预定的片段类型的节点被设置为键并且相关节点的值被设置为键值。索引管理单元530分析片段并通过生成如图5所示的IndexDictionary 100、IndexKeyfield 200和索引300a或300b提供索引。取决于数字装置500的性能或功能,索引管理单元530可以提供从其它数字装置接收的索引。
6.存储分段的数据的索引
由索引管理单元530提供的索引被发送到数字处理器540并存储在存储单元570中。和在片段的管理方法中一样,在步骤S220分析索引以在步骤S230确认提供的索引是否与先前存储的索引相同,并且然后在步骤S240确认后者是否已经被更新。根据确认的结果,在步骤S250或S270,索引可以被丢弃或存储,或在步骤S260,现存的索引可以被更新。
7.更新分段的数字数据的索引
当从数据提供器510接收到具有与先前存储在存储单元570中的索引相同的信息的索引时,数据处理器540在步骤S260更新先前存储的索引。为了确认两个索引是否相同,不同的字段可以被使用。例如,在步骤S240,index_version字段可以被用于确认索引是否与先前存储的索引相同,并然后确认后者是否已经被更新。在这种情况下,当索引的片段被更新时,最好相应地更新与该片段相关的索引。关于片段的更新可以从数据处理器540发送到索引管理单元530。
8.删除分段的数据的索引
存储在存储单元570中的索引可以被删除。也就是,当接收到来自用户经由应用程序560的请求或根据预定的算法,IndexDictionary 100、IndexKeyfield 200和索引300a或300b可以被自动地删除。
9.获取预定的数字数据
在本发明中,为每一片段执行数字数据的获取。简单的获取方法可以包括指定仅包含期望的数字数据的片段类型,从片段400获取指定的片段类型,并为获取提取找到的片段。
同时,为了更有效的获取,可以使用索引。现将描述使用索引的获取方法。
在步骤S310,当执行数字数据的获取时,首先,获取的目标由片段类型指定,并且搜索条件使用在相关片段中的特定节点(键)的值和用于特定节点值的比较操作符来指定。
例如,如图6所示,为执行其“类型”是“新闻”的数字数据,首先,使用索引获取包含其“类型”是“新闻”的数字数据的片段。对于键“类型”片段类型“ProgramInformation”被指定作为目标,并且其“类型”是“新闻”的片段被在属于片段类型“ProgramInformation”的片段中过滤。使用索引核对其“类型”是“新闻”的片段的fragment_id,从片段400中获取具有该fragment_id的片段。然后,片段被以由应用程序请求的形式解析。获取处理划分为四步:
1)选择索引:在步骤S320,将参照IndexDietionary 100和IndexKeyfield200选择处理用户的查询的索引300;
2)片段标识符过滤:在步骤S330,参照索引300提取匹配用户的查询的片段的fragment_id;
3)获取片段内容:在步骤S340,具有相关的fragment_id的fragment_content被参照片段400提取;
4)输出获取结果:在步骤S350,fragment_content被输出。如果fragment_content是文本形式的片段,则在输出前在该片段上执行单独的解析。
10.输出获取的数字数据
也就是,fragment_content被提交给预定的应用程序,然后该应用程序使用该内容用于数据处理。
现将描述根据本发明的用于执行数字数据管理方法的数字广播接收装置。
除了广播信号之外,数字广播接收装置接收以标记语言如XML为格式的元数据,并将其显示给用户。元数据是指“关于数据的数据”。也就是,元数据描述关于内容文件如节目标题或概况的信息。
例如,通过在图9中所示的电子节目指南(EPG)中的网格状指南屏幕,元数据可以被显示给用户。因此,数字接收装置需要有效地管理元数据以便为接收的广播节目提供不同的搜索功能。
如图10所示,每一个接收端40的数字广播接收装置通过传输网络30从传输端20接收分段的元数据。在这种情况下,数字广播接收装置也可以接收与分段的元数据相关的索引。
更具体地说,本发明有效地应用在数字广播领域中。
在数字广播环境中,广播音频和视频内容经由广播网络与描述该内容的元数据一起被传送。元数据主要地用于获取或浏览在接收装置中的广播内容。XML变得更为广泛地被采用作为描述广播内容的元数据的标准。代表性的例子是TV-Anytime元数据规范和MPEG-7多媒体描述方案。广播节目的元数据可以包含多种类型的信息,如:节目、节目组、节目评论,演职员名单、节目时间表和关于广播电台的信息。单一的元数据文档由多个部分组成,其包括各种类型的信息并包含相当数量的关于在预定的时间期间(通常少于两周)广播节目时间表的信息。因此,值得将元数据分割成较小的片段以将其在带宽有限的网络上传送。
将整个的XML文档分割成较小的片段传输有两个优点。首先,将文档分成大量的小信息包在易于出错的网络上传送比传送单一的大信息包安全。其次,允许对文档的一部分进行更新。也就是说,一次传送整个的文档需要在仅部分改变时每次重新传送整个的文档。与此相比,基于片段的传送仅需要重新传送改变的部分。在广播环境中,最好在轮流传送网络上反复传送片段从而数字广播接收装置可以在任何时间安全地接收所需的广播信息。
在图10中,元数据被分割成片段,并且每个片段与标识符、版本等信息为传送封装在一起。最好地,处理分段的数字数据的接收装置必须符合如下要求:
1)允许原始XML文档的有效的重建。
2)为XML文档的每一部分实现动态更新和版本控制。
3)允许有效获取XML文档的每一部分。
由于根据本发明的用于管理用标记语言写的数字数据的方法可以满足所有需求,它是适合数字广播发送和接收装置二者的解决方案。
图11是根据本发明的示例性的实施例的数字广播接收装置700的方框图。
为了广播服务的接收,与图7的普通数字装置不同,数字广播接收装置700进一步包含信号分离器710和元数据浏览器750。信号分离器710从传输层600接收数字广播流,并将音频和视频信号提交给适当的处理模块,以及分别将分段的元数据和与本发明相关的元数据的索引给片段管理单元720和索引管理单元730。元数据浏览器750是仅负责在如图7中显示的数据处理器540的功能中的解析的模块,并在图11中单独指出。
根据示例性实施例的数字广播接收装置700基本上具有与图7中的数字装置相同的配置,除了片段不是在其自身内产生而是从传输层600接收。由于它的操作与图7中的数字装置几乎相同,所以将不对其进行详细的解释。
尽管本发明已经被参照其示例性实施例具体地说明和描述,相关领域的普通技术人员应该理解,可以在不脱离由下面的权利要求限定的本发明的实质和范围的情况下,可以对其做出形式和细节的各种改变。
本发明通过将用标记语言写的数据分割成片段并在预定的关系表中管理每一片段使数字数据的有效的存储、删除、更新和获取成为可能。
此外,本发明使为基于片段的数字数据构造索引容易,同时由于使用索引使有效的获取成为可能。因此,这种方法对于轻型数字存储装置非常有效。

Claims (25)

1、一种用于管理用标记语言写的数据的设备,包含:
数据提供器,用于提供具有用标记语言写的数据的根据预定的节点组分割的片段;
存储单元,用于存储片段和用于在逐个片段的基础上区分片段的标识符;和
数据处理器,用于当请求数据时,从存储单元获取包含请求的数据的片段并提供该片段。
2、如权利要求1所述的设备,进一步包含片段管理单元,用于分析数据提供器提供的片段,并存储该片段和用于在存储单元中在逐个片段的基础上区分片段的标识符。
3、如权利要求2所述的设备,其中,当分析的片段比先前存储在存储单元中的数据新时,片段管理单元更新包含先前存储的数据的片段。
4、权利要求1所述的设备,进一步包含索引管理单元,用于分析由数据提供器提供的片段,产生相应于数据的索引并将产生的索引在逐个索引的基础上存储在存储单元中。
5、利要求1所述的设备,其中数据提供器进一步为片段中的至少一个提供索引。
6、如权利要求5所述的设备,进一步包含索引管理单元,用于分析由数据提供器提供的索引并存储该索引和用于在存储单元中在逐个索引的基础上区分索引的标识符。
7、如权利要求6所述的设备,其中,当分析的索引比先前存储在存储单元中的索引新时,索引管理单元更新相应的先前存储在存储单元中的索引。
8、如权利要求7所述的设备,其中,数据提供器选择性地提供在接收的数字广播流中分段的数据。
9、如权利要求8所述的设备,进一步包含元数据浏览器,用于解析由数据处理器提供的片段并输出该解析的片段。
10、一种用于管理用标记语言写的数据的方法,包含:
提供具有用标记语言写的数据的根据预定的节点组分割的片段;
分析片段并存储该片段和用于在逐个片段的基础上区分片段的标识符;和
当请求数据时,从存储单元获取包含请求的数据的片段并提供获取的片段。
11、如权利要求10所述的方法,进一步包含:当分析的片段比先前存储的片段新时,更新相应的先前存储的片段。
12、如权利要求10所述的方法,进一步包含:分析提供的片段中的至少一个,产生相应于数据的索引并存储产生的索引。
13、如权利要求10所述的方法,进一步包含:为片段中的至少一个提供索引。
14、如权利要求13所述的方法,进一步包含:分析提供的索引并存储该索引和用于在逐个索引的基础上区分索引的标识符。
15、如权利要求14所述的方法,进一步包含:当分析的索引比先前存储的索引新时,更新相应的先前存储的索引。
16、如权利要求15所述的方法,进一步包含:选择性地提供在接收的数字广播流中的分段的数据。
17、如权利要求16所述的方法,进一步包含:解析获取的包含请求的数据的片段并输出该解析的获取的片段。
18、一种计算机可读记录介质,用于记录用作执行管理用标记语言写的数据的方法的程序,所述方法包含:
提供具有用标记语言写的数据的根据预定的节点组分割的片段;
分析片段并存储该片段和用于在逐个片段的基础上区分片段的标识符;和
当请求数据时,从存储单元获取包含请求的数据的片段并提供该获取的片段。
19、如权利要求18所述的计算机可读记录介质,其中所述方法进一步包含:当分析的片段比先前存储的片段新时,更新相应的先前存储的片段。
20、如权利要求18所述的计算机可读记录介质,其中所述方法进一步包含:分析提供的片段中的至少一个,产生相应于数据的索引并存储产生的索引。
21、如权利要求18所述的计算机可读记录介质,其中,所述方法进一步包含:为片段中的至少一个提供索引。
22、如权利要求21所述的计算机可读记录介质,其中,所述方法进一步包含:分析提供的索引并存储该索引和用于在逐个索引的基础上区分索引的标识符。
23、如权利要求22所述的计算机可读记录介质,其中,所述方法进一步包含:当分析的索引比先前存储的索引新时,更新相应的先前存储的索引。
24、如权利要求23所述的计算机可读记录介质,其中,所述方法进一步包含:选择性地提供在接收的数字广播流中的分段的数据。
25、如权利要求24所述的计算机可读记录介质,其中,所述方法进一步包含:解析提供的包含请求的数据的片段并将其输出。
CNA2004100984793A 2003-12-13 2004-12-13 管理用标记语言写的数据的方法及其设备 Pending CN1627297A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR90937/2003 2003-12-13
KR1020030090937A KR100568234B1 (ko) 2003-12-13 2003-12-13 마크업 랭귀지 기반의 데이터 관리 방법과 그 장치 및기록매체

Publications (1)

Publication Number Publication Date
CN1627297A true CN1627297A (zh) 2005-06-15

Family

ID=34511219

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2004100984793A Pending CN1627297A (zh) 2003-12-13 2004-12-13 管理用标记语言写的数据的方法及其设备

Country Status (6)

Country Link
US (1) US7844644B2 (zh)
EP (1) EP1542140B1 (zh)
JP (1) JP2005174332A (zh)
KR (1) KR100568234B1 (zh)
CN (1) CN1627297A (zh)
DE (1) DE602004020438D1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101658034B (zh) * 2007-04-17 2014-01-29 汤姆森许可贸易公司 传送数据流中的视频数据和相关联的元数据的方法
CN106855866A (zh) * 2015-12-09 2017-06-16 北大方正集团有限公司 Xml文档存储方法及装置

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8028314B1 (en) 2000-05-26 2011-09-27 Sharp Laboratories Of America, Inc. Audiovisual information management system
US8020183B2 (en) 2000-09-14 2011-09-13 Sharp Laboratories Of America, Inc. Audiovisual management system
US20030038796A1 (en) * 2001-02-15 2003-02-27 Van Beek Petrus J.L. Segmentation metadata for audio-visual content
US6520032B2 (en) * 2001-03-27 2003-02-18 Trw Vehicle Safety Systems Inc. Seat belt tension sensing apparatus
US7904814B2 (en) 2001-04-19 2011-03-08 Sharp Laboratories Of America, Inc. System for presenting audio-video content
US7474698B2 (en) 2001-10-19 2009-01-06 Sharp Laboratories Of America, Inc. Identification of replay segments
US8214741B2 (en) 2002-03-19 2012-07-03 Sharp Laboratories Of America, Inc. Synchronization of video and data
US7657907B2 (en) 2002-09-30 2010-02-02 Sharp Laboratories Of America, Inc. Automatic user profiling
US8356317B2 (en) * 2004-03-04 2013-01-15 Sharp Laboratories Of America, Inc. Presence based technology
US8949899B2 (en) * 2005-03-04 2015-02-03 Sharp Laboratories Of America, Inc. Collaborative recommendation system
US8312110B2 (en) * 2004-03-12 2012-11-13 Kanata Limited Content manipulation using hierarchical address translations across a network
JP4313703B2 (ja) * 2004-03-12 2009-08-12 彼方株式会社 情報処理装置、システム、方法及びプログラム
US20080320169A1 (en) * 2005-01-12 2008-12-25 Ian Shaw Burnett Systems, Methods, and Computer Programs for Enabling a Computing Apparatus to Obtain Data
WO2007038844A1 (en) * 2005-10-06 2007-04-12 Smart Internet Technology Crc Pty Ltd Methods and systems for facilitating access to a schema
US20070100891A1 (en) * 2005-10-26 2007-05-03 Patrick Nee Method of forming a multimedia package
US8689253B2 (en) 2006-03-03 2014-04-01 Sharp Laboratories Of America, Inc. Method and system for configuring media-playing sets
ATE545913T1 (de) * 2006-10-30 2012-03-15 Research In Motion Ltd Verfahren und vorrichtung zur web-browser- seitenfragmentierung
US20080104269A1 (en) * 2006-10-30 2008-05-01 Research In Motion Limited Method and apparatus for web browser page fragmentation
EP2141615A1 (en) * 2008-07-04 2010-01-06 Software AG Method and system for generating indexes in an XML database management system
EP2325762A1 (en) 2009-10-27 2011-05-25 Exalead Method and system for processing information of a stream of information
US8521744B2 (en) * 2009-11-13 2013-08-27 Electronics And Telecommunications Research Institute Apparatus and method for authoring data in communication system
CN108351768B (zh) * 2015-09-30 2021-04-20 伊恩杰里索芙特公司 用标记语言编写文档的同时实现处理信息系统的数据的用户界面的方法
US10621041B2 (en) 2016-03-25 2020-04-14 Intel Corporation Methods and apparatus to assign indices and relocate object fragments in distributed storage systems
US20190347314A1 (en) 2017-02-01 2019-11-14 Obschestvo S Ogranichennoy Otvetstvennostyu "Intersoft" Method of preparing documents in markup languages when implementing a user interface

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4558413A (en) * 1983-11-21 1985-12-10 Xerox Corporation Software version management system
JPH0652161A (ja) 1992-08-03 1994-02-25 Fuji Xerox Co Ltd 文書処理方法及び文書処理装置
US6105033A (en) * 1997-12-29 2000-08-15 Bull Hn Information Systems Inc. Method and apparatus for detecting and removing obsolete cache entries for enhancing cache system operation
US6289358B1 (en) * 1998-04-15 2001-09-11 Inktomi Corporation Delivering alternate versions of objects from an object cache
US6128627A (en) * 1998-04-15 2000-10-03 Inktomi Corporation Consistent data storage in an object cache
KR100345277B1 (ko) 1999-11-02 2002-07-19 (주)한국지식웨어 Xml 문서의 논리적인 구조정보 추출기
US6947953B2 (en) 1999-11-05 2005-09-20 The Board Of Trustees Of The Leland Stanford Junior University Internet-linked system for directory protocol based data storage, retrieval and analysis
EP1146672A1 (en) 2000-04-10 2001-10-17 Sony International (Europe) GmbH Method to transmit an information service in a broadcast transmission system
US20020049705A1 (en) 2000-04-19 2002-04-25 E-Base Ltd. Method for creating content oriented databases and content files
WO2001090873A1 (en) 2000-05-22 2001-11-29 2Roam, Inc. System and method for generating a wireless web page
US20020029229A1 (en) * 2000-06-30 2002-03-07 Jakopac David E. Systems and methods for data compression
US20020016801A1 (en) 2000-08-01 2002-02-07 Steven Reiley Adaptive profile-based mobile document integration
KR100350989B1 (ko) 2000-12-14 2002-08-29 삼성전자 주식회사 디지털 데이터가 기록된 기록매체, 그 재생방법 및 재생장치
JP2003092753A (ja) 2000-12-21 2003-03-28 Victor Co Of Japan Ltd 構造化メタデータの伝送方法
JP4774622B2 (ja) * 2001-04-27 2011-09-14 ソニー株式会社 情報授受方法および情報授受システム
JP4045399B2 (ja) 2001-08-24 2008-02-13 富士ゼロックス株式会社 構造化文書管理装置及び構造化文書管理方法
JP2003111035A (ja) * 2001-09-28 2003-04-11 Nippon Hoso Kyokai <Nhk> コンテンツ送信制御方法、受信制御方法およびコンテンツ送信制御装置、受信制御装置ならびにコンテンツ送信制御プログラム、受信制御プログラム
CN1292371C (zh) * 2003-04-11 2006-12-27 国际商业机器公司 倒排索引存储方法、倒排索引机制以及在线更新的方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101658034B (zh) * 2007-04-17 2014-01-29 汤姆森许可贸易公司 传送数据流中的视频数据和相关联的元数据的方法
CN106855866A (zh) * 2015-12-09 2017-06-16 北大方正集团有限公司 Xml文档存储方法及装置

Also Published As

Publication number Publication date
KR20050058912A (ko) 2005-06-17
EP1542140A3 (en) 2006-04-26
EP1542140B1 (en) 2009-04-08
EP1542140A2 (en) 2005-06-15
KR100568234B1 (ko) 2006-04-07
JP2005174332A (ja) 2005-06-30
US20050131906A1 (en) 2005-06-16
DE602004020438D1 (de) 2009-05-20
US7844644B2 (en) 2010-11-30

Similar Documents

Publication Publication Date Title
CN1627297A (zh) 管理用标记语言写的数据的方法及其设备
CN1606743A (zh) 元数据的索引结构、提供元数据索引的方法和使用元数据索引的元数据搜索方法及设备
CN1598823A (zh) 使用元数据的索引的元数据搜索方法和装置
CN100339855C (zh) 内容管理系统
CN1156773C (zh) 字典管理方法以及装置
CN1533163A (zh) 电子节目指南数据的自由文本和属性搜索
CN1255214A (zh) 代理主计算机和用于在一个浏览器和一个代理计算机之间访问和检索信息的方法
CN1321362A (zh) 分配内容形成方法、内容分配方法和装置、及代码转换方法
CN101030157A (zh) 一种用户词库同步更新的方法和系统
CN1653452A (zh) 管理数据库系统中的表达式
CN1913522A (zh) 基于xml文件的rss信息交互处理方法
CN101064641A (zh) 对Web服务资源的基于属性的索引和/或查询方法及系统
CN101061688A (zh) 基于简单网络管理协议的网络管理设备和方法
CN1311887A (zh) 一种提供基于矢量图形的交通信息的方法及系统
CN1877582A (zh) 广告信息检索系统及广告信息检索方法
CN1924858A (zh) 一种获取新词的方法、装置以及一种输入法系统
CN1959674A (zh) 网络搜索方法、网络搜索设备和用户终端
CN1648900A (zh) 内容管理装置和内容管理方法
CN1750640A (zh) TV-Anytime元数据服务中的利用了get-Data操作的请求域提供方法
CN1666192A (zh) 检索处理系统、其检索服务器、客户端、检索处理方法、程序及记录介质
CN1674005A (zh) 文档管理方法、网络系统和信息处理装置
CN1825304A (zh) 信息管理装置、信息管理方法和信息管理程序
CN1479899A (zh) 具有格式改编的对象传输方法
CN1463404A (zh) 结构化文档传送设备和结构化文档传送系统
CN1690969A (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
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Open date: 20050615