压缩模式表示对象和用于元数据处理的方法

文档序号:6570169阅读:132来源:国知局

专利名称::压缩模式表示对象和用于元数据处理的方法
技术领域
:本发明通常涉及结构化数据文档,更具体地,涉及元数据模式的表不。
背景技术
:结构化数据文档广泛用于多种用途,包括例如,数据库、电子商务、图形、和多媒体。结构化数据文档的某些示例包括HTML(超文本标记语言)文档、XML(可扩展标记语言)文档、可縮放矢量图形(SVG)文件、mp3音频文件、和MEPG-7多媒体文件。结构化数据文档的常见特征是使用模式来描述文档的结构、内容和/或语义。例如,XML文档可以承载任何类型的数据。XML允许文档的作者定义她或他自身的标签和文档结构。另一方面,XML模式定义了XML文档的合法构建模块,诸如可以呈现在文档中的元素或属性、文档元素之间的关系、元素和属性的数据类型、以及元素和属性的缺省值。XML模式典型地被写入XML并且支持数据类型和命名空间。XML模式可以在其他模式中重新使用。可以参考来自单个文档的多个XML模式。XML模式典型地以纯文本的格式定义并且因此提供了通常软件和硬件无关的数据传递方式。然而,纯文本格式的使用典型地意味着XML文档及其相关模式需要相当大的存储器和传输带宽。此外,由于仅依照句法组织模式元素,因此在能够使用模式的任何部分之前,通常必须解析整个模式,这需要相当大的处理时间和接收端的功率。附图简述图1是本发明的实施例的示意图;图2是简单和复杂类型的示意图;图3是二进制模式编码过程的示意图;图4是二进制模式格式设置的示意图5是用于元数据处理和传送模式表示对象的方法的示意图6是用于元数据处理和接收模式表示对象的方法的示意图;并且图7是用于元数据处理的装备的示意图。具体实施例方式提供了一种用于元数据处理的压縮二进制模式表示对象和一种相关方法。该对象和方法提供了对于传输带宽要求和对结构化数据文档解码的处理要求的相当大节约。下文给出的教导内容以XML文档(可扩展标记语言)为背景。然而,本领域的技术人员将容易地认识到,这些教导内容通常可应用于任何结构化数据文档。所公开的用于元数据处理的二进制模式格式的一个优点在于,相对于文本格式,高压縮比是可行的。下文描述的二进制格式典型地将模式规模压縮到小于文本格式原始规模的20%。该高压縮比相当大地减少了传输过程中的网络带宽要求、接收端的存储规模要求、以及对应的解码过程中的处理。这些优点在移动环境中是特别有帮助的。所公开的二进制模式格式利用两个类属数据结构实现两个基础数据类型,其通常在结构化数据文档中使用,特别地在XML模式中使用。模式被分解为复杂类型和简单类型的数据结构的序列,其以线性的方式交替排列。所公开的二进制模式格式的另一优点在于,模式中的基本数据结构可以位于任意序列中。在数据流或文件的起点处提供入口表格,以链接该流或文件中的所有数据结构。该入口表格至少在某种程度上如同査找表格,其将每个数据结构的规模和偏移存储在该流或文件中。在每个复杂类型数据结构内部,每个子元素具有指配给其的索引号码,这提供了一种在不执行任何搜索操作的情况快速穿过整个模式树的方式。此外,模式类型信息被有目的地安放在每个数据结构的起点处,由此有助于任何类型的匹配和验证。使用二进制模式对象的解码器可以容易地定位相关的模式片段并且在使用其之前将其加载到存储器中,用于选择性地对一部分元数据流解码。使用文本模式的相同的解码器须加载整个文本模式并且针对传入的模式实例执行全面的校验和解析。所公开的二进制模式格式的另一优点在于,将模式命名空间并入到二进制模式格式中。这允许当前的二进制模式表格参考外部模式类型。由单个比特组成的标志可用于指出模式类型是否是外部的,在该情况中对应的命名空间跟随。该标志的使用消除了指明每个内部模式类型命名空间的需要,因此提供了进一步的效率。图1提供了应用于XML文档的示例,特别是MPEG-7多媒体文件的概况。在服务器100处提供文件或数据流,并且该文件或数据流具有XML内容101和与其相关联的一个或多个XML模式102。通常,在MPEG-7编码二进制元数据(BiM)流104可被解码之前,所需的基于文本的XML模式将被推送到客户端侧103。这可能消耗大量的带宽,特别是在需要动态模式切换105的时候。而且,需要在客户端侧130解析每个XML模式102,这需要额外的处理时间和处理能力。根据本描述的教导内容,在服务器侧100由二进制模式格式器106处理基于文本的XML模式102,二进制模式格式器106在传输之前将XML模式102变换为二进制形式107。在二进制格式中,所有模式元素被链接为如下文描述的查找表格并且被单独压縮为高效的二进制结构。MPEG-7BiM编码器108可以直接使用二进制模式,并且压縮二进制模式107可以在网络上高效地传输到客户端侧103。在客户端侧103,MPEG-7BiM解码器108可以利用接收的二进制模式109动态地重新设置其自身,该二进制模式109可以存储在二进制模式高速缓冲存储器110中。由于二进制模式107已在服务器侧IOO被预先处理,因此它们不需要客户端侧103上的XML解析器,因此节约了处理时间和客户端侧103的能力。本领域的技术人员应认识到这些节约,即减少了用于传输的带宽要求和客户端处的处理要求,使得本教导内容特别适用于移动环境。可替换地,二进制模式109可以离线生成并且可被加载在客户端侧103上,用于由服务器或者某种自动或半自动方法选择。在由服务器选择方案的情况中,特定的二进制模式ID可由BiM流104输送。给定的XML模式可被分解为包括两个基本数据类型的序列简单类型(图2b)和复杂类型(图2a)。如所示出的,简单类型200包括报头201和简单类型单元202。简单类型可能进一步受到其项目类型203、与类型相关联的刻面204、和/或成员类型阵列205的限制。复杂类型210包括报头211并且可以包括一个或多个元素单元213、属性单元215、和/或类型转换单元217。每个复杂类型还将典型地包含元素计数212、属性计数214、和类型转换计数216。每个类型可以与该模式中的其他类型连接,以形成模式树。模式树由一个或多个根组成,该根提供了针对模式的入口点。该说明性实施例中的二进制模式编码过程300与图3的流程图一致。只要存在更多的待处理的根入口301,则处理来自根表格的下一根入口302。检査根入口,以确定其是简单类型还是复杂类型303。如果其是复杂类型,则所有子元素被处理并且被链接到类型ID304,所有属性被处理并且被链接到类型ID305,以及所有可能的类型转换被处理并且被链接到类型ID306。如果根入口是简单类型,则处理基类型和任何可能的刻面307。如果来自根表格的入口包含另外的类型,则对它们进行相似的检査和处理308。否则,我们返回到流程图的顶部并且确定是否存在更多的待处理的根入口301。现在参考图4,在该说明性实施例中,利用模式入口表格401(其后跟随有该模式的命名空间402)和由该模式定义的根类型403的序列,使二进制模式格式400的设置结构化。二进制模式表格中的模式类型404与模式入口表格401互为参考。如图4中所示,模式表格由对应于表格中每个模式类型的入口组成。每个入口占用固定数目的字节,这有助于基于索引值快速访问。模式入口表格401中的最初的两个入口具有特殊的指配。表格401中的第一个入口,即入口0,专门用于模式表格400的命名空间。入口1专门用于根表格403。根表格403包括一个或多个模式类型404。该实施例中的模式入口表格401的最初四个字节表示模式入口表格401的规模和相对命名空间402的偏移。命名空间402是跟随在模式入口表格401之后的特殊的数据结构。其指明了二进制模式表格400的命名空间。该命名空间可被编码为字符串,该字符串的规模和偏移在模式入口表格401的入口0中指明。即使模式类型按顺序地配置在模式表格400内部,它们仍然全部链接在一起以形成倒置树状结构。在该结构的顶部,存在一个或多个根。这些根被称为模式表格的全局入口并且用作针对模式表格的入口点。根表格403是模式入口表格401之后的第二数据结构。在下文的表1中示出了根表格403的说明性二进制编码示例。其开始于模式表格中的根入口的数目,后面跟随的是参考模式入口表格中的入口的每个根入口的索引号码。根表格403还包括全局元素的名称。表1.根表格的二进制编码<table>complextableseeoriginaldocumentpage9</column></row><table>应当注意,vluimsbf8被指定用于可变长度码无符号整数,其第一个比特是最高有效位。vluimsbf8的规模是一个字节的倍数。每个字节的第一个比特指明如果设定为1,则对于该vluimsbf8码字存在其他字节。通过并置属于该vluimsbf8码字的每个字节的七个最低有效位,对无符号整数进行编码。如前面提及的,图2a中示出了复杂类型元素。在该示例中,复杂类型的二进制编码包含报头211、元素计数212和一组可选的子元素213、属性计数214和一组可选的属性215、以及类型转换计数216和一组可选的类型转换217。二进制复杂类型报头包括用于指明复杂类型的名称的字符串。在某些情况中,复杂类型还承载报头中将包含的内联(inline)内容。如果复杂类型不包含内联内容,则内联内容类型的规模将是零。在下文的表2中示出了复杂类型报头的二进制编码的说明性示例。表2.复杂类型报头的二进制编码<table>complextableseeoriginaldocumentpage10</column></row><table>复杂类型子元素开始于元素计数212,其后面跟随有元素单元序列213。在下文的表3中示出了元素单元的二进制编码的说明性示例。minOccurs和maxOccurs的值每个均使用7个比特进行编码,并且因此适用于0126个事件。当maxOccurs的所有7个比特被设定为1时,maxOccurs被理解为"无约束"。表3.元素单元的二进制编码<table>complextableseeoriginaldocumentpage11</column></row><table>在设定简单元素标志时,元素仅承载内联内容。在内联内容具有原始类型的情况中,外部标志将被重新设定并且原始类型标志将被设定。如果外部标志未被设定,则可以在相同的模式表格中经由入口索引找到元素类型的位置,或者,如果外部标志被设定,则可以在命名空间跟随在后的不同表格中找到元素类型的位置。入口索引的使用允许应用程序快速地自相同的模式表格获得子元素类型,而不需要执行串匹配。属性组由属性计数(其后面跟随有一个或多个属性单元)组成。在下文的表4中示出了属性单元的二进制编码的说明性示例。表4.属性单元的二进制编码<table>complextableseeoriginaldocumentpage12</column></row><table>每个属性单元包含三个关键标志使用标志、缺省标志和固定标志。使用标志被编码为2比特0b00指出是可选的;0b01指出是必需的;0bl0指出是禁止的;并且0bll是预留的。缺省标志指出是否将指明用于该属性的缺省值。固定标志指出是否将指明用于该属性的固定值。属性单元还包含外部标志,其指出属性类型的位置。如果其是外部的,则将指明用于该外部模式的命名空间。如果其是内部的,则将给出入口索引,以定位相同模式表格中的对应类型。如果属性是原始类型,则将设定原始标志并且由属性类型的值指明该类型的名称。由于假设BiM解码器了解所有原始类型,因此该实施例中的模式表格不需要包括原始类型的任何信息。类型转换组由类型转换计数(其后面跟随有一组类型转换单元)组成。在下文的表5中示出了类型转换单元的二进制编码的说明性示例。表5.类型转换单元的二进制编码<table>complextableseeoriginaldocumentpage13</column></row><table>图2b中示出了两个基本数据类型中的一个,即简单类型。如前面提及的,简单类型包括报头201和单个简单类型单元202。简单类型单元202可以具有项目类型203并且可以具有一个或多个刻面204。简单类型202可以进一步具有成员类型阵列205。在下文的表6中示出了简单类型报头的二进制编码的说明性示例。表6.简单类型报头的二进制编码<table>complextableseeoriginaldocumentpage14</column></row><table>在下文的表7中示出了简单类型单元的二进制编码的说明性示例。表7.简单类型单元的二进制编码<table>complextableseeoriginaldocumentpage14</column></row><table>根据一种方案,简单类型属于三个类别中的一个,其被称为组类型。在该说明性示例中,组类型被编码为2比特0b00指出原子;ObOl指出合并;0bl0指出列表;并且0bll是预留的。刻面标志指出是否指明简单类型的刻面。合并标志指出是否指明简单类型的成员类型阵列。列表标志指出是否指明简单类型的项目类型。串阵列承载字符串的阵列。在下文的表8中示出了串阵列的二进制编码的说明性示例。串阵列可用于简单类型单元中的成员类型阵列,或者用于刻面中的列举阵列。表8.串阵列的二进制编码<table>complextableseeoriginaldocumentpage15</column></row><table>刻面204可用于指明对简单类型单元202的限制。在下文的表9中示出了刻面204的二进制编码的说明性示例。在该示例中,空白空间的值被编码为2比特0b00指出保留;0b01指出替换;0M0指出塌縮(collapse);并且0M1是预留的。表9.刻面的二进制编码<table>complextableseeoriginaldocumentpage16</column></row><table>法。根据该说明性方案,提供501结构化数据文档505。结构化数据文档505包括格式化模式506,其具有一个或多个类型507。标识502特定类型之间的关系链接。建立503多个基本上未分级排序的元素,其中至少某些元素包括特定类型及其对应的关系链接。然后传送504该多个基本上未分级排序的元件。由此可提供的结构化数据文档的类别的一个示例是XML文档。这样类型507可以包括复杂类型和简单类型,如上文所描述的。而且,关系链接可以定义多个类型的分级关系。在某些情况中,例如在移动环境中,所需的是在传输之前压縮未分级排序的元素。由压縮导致的规模减小提供了带宽使用和接收机的处理时间的效率。如果通过独立地压縮至少某些元素而实现元素的独立选择和解压縮,则可以实现进一步的效率。图6中示出了使用诸如此处描述的模式对象用于接收信息的方法600的说明性示例。接收601—个或多个传输,该传输包括一个或多个基本上未分级排序的元素的集合602,其中至少某些元素包括模式格式化类型603和对应的关系链接604。还可以可选地接收605结构化数据文档。在接收端记录606至少某些接收元素。标识607所需的模式格式化类型,并且恢复608对应于所需模式格式化类型的元素。如果该元素具有压縮格式,则恢复过程608可以包括查询模式609并且对所需的模式格式化类型解压縮610。可选地,可以分立于其他的接收元素,对所需的模式格式化类型解压縮。对应于恢复元素的关系链接可用于标识待自动恢复的至少另一个元素611。如果接收605结构化数据文档,则可以使用恢复608的模式格式化信息对其进行处理612。图7中说明了用于接收和处理模式表示对象的装备的说明性示例。接收器701在操作中耦合到存储器702。存储器702存储至少一个接收的传输703,其包括多个基本上未分级排序的元素704。至少某些元素704包括选定的模式格式化类型705和对应的关系链接706。处理器707在操作中耦合到存储器702。处理器被设置和配置为标识所需的模式格式化类型705;恢复多个基本上未分级排序的元素704中的元素中的给定元素,其对应于所需的模式格式化类型705;并且使用至少一个关系链接706来标识待自动恢复的多个基本上未分级排序的元素704中的至少一个其他元素。此处的教导内容提供了元数据处理领域中的数个技术优点。二进制模式对象通常比其文本对应物更加高效。即使在文本和二进制模式的规模可比的情况中,二进制模式对象在操作中仍优于其文本对应物。使用二进制模式对象的解码器可以搜索相关的模式片段,并且在使用该模式片段用于选择性地解码一部分元数据比特流之前,将其加载到存储器中。使用文本模式的相同的解码器须加载整个文本模式并且针对传入的模式实例执行全面校验和解析,因而比等效的二进制模式消耗了更多的时间、存储器和处理能力。由此处的教导内容得到的一个重要优点是二进制元数据解码时使用的二进制元数据模式对象之间的兼容性。二进制元数据对象是独立于客户端软件的二进制格式。因此,能够读取该格式的任何客户端均能够理解该二进制元数据。在模式兼容性方面,如果设备发现其自身在存在不止一个模式的情况下操作,则该设备可以简单地从数个该可用模式切换到不同的二进制元数据模式对象,其可能位于存储器、辅助存储器中,或者在解码器设置过程中接收自远程服务器。该二进制元数据模式对象还可以确保内容管理系统中的数据模型之间的兼容性,这是因为模式数据库可以动态配置,以与正在使用的模式匹配。此处的教导内容的优点在移动通信情况中是特别重要的。由于二进制元数据解码严重依赖于模式信息,因此定义直接服务于二进制元数据解码器的要求的高效的二进制模式格式移除了影响高效操作的最重要的瓶颈。前文涉及本发明的示例性实施例。应当理解,后附权利要求中阐述的本发明的精神和范围内的其他实施例和变化方案是可行的。权利要求1.一种方法,包括提供具有对应格式化模式的结构化数据文档,其中所述格式化模式包括多个类型;标识所述多个类型中的特定类型之间的关系链接;建立多个基本上未分级排序的元素,其中至少某些所述元素包括选定类型和对应于所述选定类型关系链接;传送所述多个基本上未分级排序的元素。2.如权利要求1所述的方法,其中所述结构化数据文档包括可扩展标记语言(XML)数据文档。3.如权利要求l所述的方法,其中所述多个类型包括复杂类型和简单类型。4.如权利要求l所述的方法,其中所述关系链接定义所述多个类型的分级关系。5.如权利要求l所述的方法,其中传送所述多个基本上未分级排序的元素进一步包括压縮所述多个基本上未分级排序的元素,以提供压縮的排序元素;传送所述压縮的排序元素。6.—种装备,包括接收器;存储器,在操作中耦合到所述接收器并且具有存储在其中的至少一个接收的传输,其中所述至少一个接收的传输包括多个基本上未分级排序的元素,其中至少某些所述元素包括选定的模式格式化类型和对应于所述选定的模式格式化类型的关系链接;处理器,在操作中耦合到所述存储器并且被设置和配置为-标识所需的模式格式化类型;恢复所述多个基本上未分级排序的元素中的、对应于所述所需模式格式化类型的给定元素;使用所述多个基本上未分级排序元素中的所述给定元素中包含的至少一个关系链接,来标识待自动恢复的所述多个基本上未分级排序的元素中的至少一个其他元素。7.如权利要求6所述的装备,其中所述传输进一步包括结构化数据文档,并且其中所述处理器进一步被设置和配置为使用模式格式化信息来处理所述结构化数据文档,所述模式格式化信息是使用所述多个基本上未分级排序的元素恢复的。8.如权利要求6所述的装备,其中所述处理器进一步被设置和配置为将所述多个基本上未分级排序的元素中的所述给定元素解压縮。9.如权利要求6所述的装备,其中所述处理器进一步包括用于下列操作的装置-标识所述所需的模式格式化类型;恢复所述多个基本上未分级排序的元素中的、对应于所述所需模式格式化类型的所述给定元素;使用所述多个基本上未分级排序的元素中的所述给定元素中包含的所述至少一个关系链接,来标识待自动恢复的所述多个基本上未分级排序的元素中的至少一个其他元素。10.如权利要求6所述的装备,其中所述处理器进一步包括用于下列操作的装置查询;以及分立于所述多个基本上未分级排序的元素中的至少其他元素,单独地对所述多个基本上未分级排序的元素中的所述给定元素解压縮。全文摘要提供了一种用于元数据处理的压缩二进制模式表示对象和一种相关的方法。该压缩二进制模式表示比文本模式表示提供了带宽和处理要求的节约。该二进制模式表示实现了仅对所需模式元素的选择和解码,而不需要解析整个模式。文档编号G06F7/00GK101346689SQ200680048823公开日2009年1月14日申请日期2006年12月19日优先权日2005年12月21日发明者巴加万·R·甘地,方建军,玮王,阿方索·马丁尼兹·史密斯申请人:摩托罗拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1