CN101452482A - 用于搜索可扩展标记语言(xml)数据的方法和装置 - Google Patents
用于搜索可扩展标记语言(xml)数据的方法和装置 Download PDFInfo
- Publication number
- CN101452482A CN101452482A CNA200810183338XA CN200810183338A CN101452482A CN 101452482 A CN101452482 A CN 101452482A CN A200810183338X A CNA200810183338X A CN A200810183338XA CN 200810183338 A CN200810183338 A CN 200810183338A CN 101452482 A CN101452482 A CN 101452482A
- Authority
- CN
- China
- Prior art keywords
- group
- list
- xml
- search
- concurrently
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information 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/84—Mapping; Conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
Abstract
可扩展标记语言(XML)数据被表示为结构列表,其中该列表中的每个结构用来表示该XML的一个方面。一组频繁使用的元素被从该结构列表表示中提取出来,并且存储在紧缩向量中。该紧缩向量表示支持直接在XML数据上使用单指令多数据(SIMD)指令,以加快XML数据被搜索的速度,同时令存储该XML数据所需的存储器最小化。
Description
技术领域
本公开内容涉及可扩展标记语言(XML),尤其涉及提高搜索XML文档的速度。
背景技术
XML是一种开放标准的通用标记语言,被用来对文档进行编码,以利于经由互联网共享数据。与HTML相似,XML也被用来创建万维网上包含文本、图形、声音、视频和超链接的文档。然而,XML不同于HTML的是,XML使用的标签用来指示编码数据的逻辑结构而不是显示规范。
存在许多不同的用于在存储结构中表示XML数据的方式。例如,XML数据可以被表示为:(1)由万维网联盟(W3C)推荐的字符序列;(2)具有次级索引以提高存取速度的字符序列;(3)结构列表(a list of structures),其中每个结构表示XML数据的某个方面;或者(4)结构树,其中每个结构表示XML数据的某个方面。
XML数据的典型的“结构列表”表示(representation)使用各种结构类型来表示XML数据的不同特征,并且按文档顺序把这些结构连接到一个列表中。典型的结构类型是元素、属性、字符数据、命名空间、处理指令和注释。
XML数据的“结构列表”表示的优点是:与“结构树”表示相比其相对紧凑,并且其还比字符序列更易于进行自动处理。因此,它是低速的字符序列处理和可能需要大存储器的“结构树”表示之间的一个良好的折衷。
可以使用由XML数据展示的层次结构,在逻辑上规定对XML文档的搜索,例如,查找节点‘b’的孩子,所述节点‘b’是节点‘a’的孩子,这在万维网联盟(W3C)XML路径语言(XPath)语法中可以用与使用字符序列的正则表达式类似的方式,将其表示成“//a/b/*”。然而,相比搜索被表示为“结构树”(其中,各结构之间的指针可以被用来限制搜索空间)的数据,对被存储为结构列表的数据使用分层搜索模型可能会很慢。因此,“结构树”表示提供对XML数据的随机存取,而“结构列表”仅提供顺序存取。
附图说明
通过参照附图进行下列详细的描述,所要求保护的主题的实施例的特征将会变得更加明显,在图中相同的数字指示相同的部分,并且其中:
图1A和1B说明了XML文档的一个例子;
图2是SIMD指令执行模型的框图;
图3A说明了根据本发明的原理,从图1B示出的结构列表中提取的主列表(primary list)的一个实施例;
图3B说明了从图1B示出的结构列表提取的次列表(secondary list)的一个实施例;
图3C说明了从图1B示出的结构列表中提取的、交替插入主列表和次列表的结构的一个实施例;
图4是说明用于根据图1B示出的结构列表来生成图3A示出的主列表的方法的一个实施例的流程图;以及
图5是包括用于根据XML文档的结构列表表示来生成主列表的列表-紧缩向量转换器(list to packed vector converter)的一个实施例的系统的框图。
尽管将参照所要求保护的主题的示例性实施例进行下列详细描述,然而对于这些实施例的许多替代方式、修改和变化对本领域的技术人员是显而易见的。因此,所要求保护的主题应被广泛地看待,并且仅由所附权利要求中所阐述的内容来限定。
具体实施方式
图1A和1B说明了XML文档的一个例子。XML文档可以被格式化为在可以从www.w3.org得到的万维网联盟(W3C)可扩展标记语言(XML)1.0中描述的格式。如图1A所示,XML文档100包括多个元素102、104、106、108,并且这些元素具有开始标签‘<>’和/或结束标签‘</>’。元素102、104、106、108的类型,例如‘a,b,c或d’,被包括在开始标签和结束标签中。
参考图1A,元素102包括使用“xmlns”声明的一个命名空间,该命名空间具有名称(ns1)和统一资源标识符(uri)(命名空间),所述统一资源标识符是标识抽象或物理资源的紧凑字符序列。元素102还包括一个属性,其具有名称(a1)和值(属性)。
图1B说明了结构列表150,其可以被用来表示图1A示出的XML文档100。XML数据的典型的“结构列表”表示使用不同的结构类型来表示XML数据的不同特征并且按文档顺序把这些结构连接到一个列表中。典型的结构类型是元素(例如,开始元素、结束元素)、属性、命名空间,处理指令、注释和字符数据(例如,文本)。
如图1B所示,用于表示图1A示出的XML文档100的结构列表150包括用结构152-1、……、152-15表示的元素类型a、b、c、和d、命名空间、属性和文本,所述结构152-1、……、152-15包括开始和结束元素结构、命名空间结构、属性结构和文本结构。
因此,元素类型‘a’102(图1A),即<a xmlns:ns1=”命名空间”a1=”属性”></a>,是用开始元素结构152-1、命名空间结构152-2,属性结构152-3,文本结构152-4和结束元素结构152-15来表示的。结合图1A中示出的XML文档100,结构152-1对应于<a>,结构152-2对应于xmlns:ns1=”命名空间”;结构152-3对应于a1=”属性”;结构152-4对应于换行和制表符,并且结构152-15对应于</a>。
为了缩小搜索XML文档的“结构树”表示和搜索XML文档的“结构列表”表示之间的性能差异,可以增强“结构树”中的结构(使其具有用来提供结构之间的直接链接的偏移或指针,或者是通过把很少被存取的数据移动到次级存储机制中),以减少存储器读取量。还可以一起计算多个分层搜索,从而将存取成本摊到多个搜索上。然而,即使使用了这些技术,搜索性能仍旧受制于扫描XML文档中的所有数据以寻找特定类型的元素所耗费的时间。
因为在结构列表中的每个结构的长度(比特数)是变化的,因此搜索特定的元素类型需要逐字节地顺序搜索整个XML文档,以便找到一个匹配。XML文档可能有数以千计的记录,因此,针对特定记录对XML文档从头到尾进行扫描非常耗时。
根据本发明的原理,通过用适合单指令多数据(SIMD)指令的格式来存储XML数据,提高了对“结构列表”表示的扫描速度以帮助搜索处理过程。SIMD指令可以被用来并行地对多个结构元素执行搜索。
单指令多数据(SIMD)指令同时对一个数据集中的多个元素执行相同的操作。为了允许单个SIMD指令检查多个结构,该数据集的元素通常被存储在“紧缩向量”(即,一种包括多个具有相同大小的元素的数据结构中)。不是逐字节地从每个结构中加载数据,而是用适合SIMD指令使用的格式来存储XML数据。
在一个实施例中,用并行的形式来排列一组结构,使得数据容易被SIMD指令存取。针对图1A示出的XML文档的、在图1B示出的结构列表在逻辑上被分成两部分:(1)用并行布局将关键信息集合在一起的主列表;和(2)用标准的串行形式表示的剩余数据的次列表。
图2是SIMD指令执行模型的框图。SIMD指令的工作方式是,使用一条指令同时对多条数据进行操作。如图2所示,第一操作数200具有被标记为B[0]-B[7]的8个字节,并且第二操作数202具有被标记为A[0]-A[7]的8个字节。对于第一操作数200中的每一个字节和第二操作数202中的对应字节,并行地执行相同的操作‘op’204,以产生具有被标记为R[0]-R[7]的8个字节的结果。
图3A说明了根据本发明的原理,从图1B示出的结构列表150中提取的主列表300的一个实施例。根据SIMD指令的长度,在连续的存储器中存储一组结构类型和一组结构名称。如结合图2示出的模型所论述的,这允许使用SIMD指令在主列表300中并行地搜索该组结构类型和/或该组结构名称。
图3A说明了主列表300的布局,其假定每个组有8个供SIMD指令使用的项,该SIMD指令并行地对64个比特(8个字节)进行操作。在其它实施例中,每个组可以有大于或小于8个项。在示出的实施例中,主列表300拥有被标记为B[0]到B[31]的32个字节,这些字节用于存储从结构列表表示150中提取的结构名称和类型。
响应于应用编程接口(API)要求在XML文档100中执行搜索的请求,可以从被表示为结构列表150的该XML文档中提取出主列表300。可以使用列表-紧缩向量转换器从结构列表表示150中提取元素,以生成主列表300中的紧缩向量表示。
被存储在主列表300中的、来自结构列表表示150的每个元素或者是结构类型或者是结构名称。在示出的实施例中,SIMD指令使用的操作数大小是64个比特(即,8个字节)。因此,为主列表300分配存储器中32个(4 x 8字节)连续字节,以便存储与在图1B的结构列表表示150中示出的15个结构相对应的所有结构类型和结构名称。
前8个字节[B0-B7](一组8个并行项)存储与图1B示出的结构列表表示150中的前8个结构152-1、…、152-8相对应的结构类型。接下来的8个字节[B8-B15]存储与图1B示出的结构列表表示150中的前8个结构152-1、…、152-8相对应的结构名称。字节B[16]到B[23]存储与图1B示出的结构列表表示150中的结构152-9、…、152-15相对应的结构类型,并且字节B[24]到B[31]存储与图1B示出的结构列表表示150中的结构152-9、…、152-15相对应的结构名称。
在字节B[0]-B[7]和字节B[16]-B[23]中存储的结构类型包括:开始元素(SE)类型结构、结束元素(EE)类型结构、命名空间(NS)类型结构、属性(A)类型结构以及文本(T)类型结构。结构名称包括a-d、ns1和a1。
在将要进行搜索的XML文档100中,结构类型和结构名称是最常见的字段。在主列表300中的关键数据项是在字节[B0]-[B7]和字节B[16]-B[23]中存储的结构类型、以及可选地在字节B[8]-[B15]和字节B[24]-B[31]中存储的结构名称。对于结构名称,该表示允许将字符串用表示该字符串的数字来替换,就像在XML数据表示中常用到的那样。同样,如所示,每个结构类型和结构名称可以被编码到一个字节中。
可以使用SIMD指令在主列表300中搜索特定的结构类型和/或结构名称。例如,可以使用对主列表300的字节B[0]-[B7]和B[16]-B[23]进行操作的两个SIMD相等性比较来在XML文档100中搜索特定类型的结构。
因此,在图3A示出的主列表300中的紧缩向量表示通过并行搜索8个字节而在逻辑上减少了扫描成本。通过将SIMD相等性操作与字节范围B[0]-[B7]和[B24]-[B31]相组合,可以执行更复杂的搜索。
尽管可以在主列表300中安排结构列表表示150的所有数据,但存在一些很少被使用的项,其会增加在主列表300中搜索特定的结构名称或类型所耗费的时间。因此,在一个实施例中,在主列表300中不包括在结构列表表示150中很少被使用的元素,例如,uri和属性值。不是顺序地搜索整个结构列表表示150,XML文档是被存储在由紧缩向量构成的主列表300以及一个次列表中。
图3B说明了从图1B示出的结构列表150中提取的次列表302的一个实施例。
如果在主列表300中的搜索没有产生匹配,则除了使用主列表之外,使用以常规的串行方式排列的次列表302来搜索很少被使用的项。次列表302存储指向数据的指针(DP)。在图3B示出的例子中,示出了24个指针(DP[0]-DP[23])。每个指针可以拥有4个字节或8个字节,取决于系统中的CPU是32位(4字节)还是64位(8字节)。主列表300中的每个项(B[0]-B[31])与次列表(流)302中的三个项(DP)相关。这三个项存储的指针指向了用来对没有被存储在主列表300中的、很少被存取的XML数据进行描述所必需的附加信息。
第一个项用于存储指向记录(结构)152-1、…、152-15的前缀字符串的指针,第二个项用于存储指向名称字符串的指针或指向URI字符串的指针,而第三个项用于存储指向文本字符串的指针。因为不是所有的结构类型都使用全部三个项,所以在图3B示出的次列表302中未使用的项被示为0。
在图3B示出的例子中,Pn表示指向记录‘n’的前缀字符串的指针,Nn表示指向记录‘n’的名称字符串的指针,Un表示指向记录‘n’的URI字符串的指针,以及Tn表示指向记录‘n’的文本字符串的指针。这些字段被存储为前缀、名称/URI以及文本,即被存储在三个项中。因为没有结构类型既需要名称又需要URI,所以名称和URI共享第二个项。
通过用主列表300中结构的位置乘以3倍的次列表302中项的大小(例如4或8),可以为特定结构152-1、…、152-15计算出其在次列表302中的偏移。
在另一个实施例中,主列表和次列表可以被交替插入在一个结构中,并且/或者可以选择性地对输入的某些部分使用并行数据表示,而对其它部分不使用。在任一情况下,用于提高搜索效率的XML数据的并行数据布局的原理仍然适用。
为了交替插入主流和次流,首先,用主流的格式对固定数目的结构进行编码,并且将其存储在存储器中。接着,用次流的格式对相同固定数目的结构进行编码,并将其存储在存储器中接下来的连贯存储单元中。重复这种处理过程多次,直至完成对所有数据进行编码。图3C说明了从图1B示出的结构列表150中提取的、交替插入主列表和次列表的结构310的一个实施例。如图3C所示,主列表被存储在304和308而次列表被存储在306和308。
图4是说明用于根据图1B示出的结构列表表示150来生成图3A示出的主列表300的方法的一个实施例的流程图。
在块400,列表-紧缩向量转换器等待接收要求处理XML文档100的请求。用于要求处理XML文档的请求可以由用于处理XML文档的API调用生成。JAXP是API调用的一个例子,其被用于在JAVA中处理XML文档。如果接收到请求,则处理继续进行到块402。如果没有接收到请求,则处理继续进行到块400。
在块402,对被存储为图1B示出的结构列表表示150的XML文档100进行解析,以便从N个连贯的结构中提取结构类型。例如,参考图1B,如果N是8,则从该结构列表表示的前八个结构152-1、…、152-8中提取结构类型,其第一个结构类型是开始元素(SE)类型,并且第八个结构类型是结束元素(EE)。处理继续进行到块404。
在块404,随着从该结构列表表示中提取出N个结构类型,将这些结构类型存储在在主列表300中的连续存储单元中。处理继续进行到块406。
在块406,在从N个元素中的每一个中提取出结构类型之后,对结构列表表示150进行解析以确定N个结构名称,一个结构名称对应于从中提取出结构类型的N个结构中的一个结构。处理继续进行到块408。
在块408,随着从该结构列表表示中提取出N个结构名称,将这些结构名称存储在该主列表300中的连续存储单元中,从存储第N个结构类型之后的存储单元开始。为N个结构中的每个结构预留一个用于存储结构名称的位置,而不管是否存在与该结构相关联的结构名称。例如,如图3A所示,即使结构152-4没有结构名称,仍然预留用于存储与结构152-4相关联的结构名称的字节B[11]。处理继续进行到块410。
在块410,列表-紧缩向量转换器确定在结构列表表示150中是否存在另一个将要被处理的结构。如果有,则处理继续进行到块402,以处理在结构列表表示150中剩余的结构。如果没有,则继续进行到块412。
在块412,在已根据结构列表表示150生成该主列表300之后,可以在该主列表300中搜索特定的结构类型和/或结构名称。使用SIMD指令,可以并行地对主列表中的紧缩向量中的8个字节与一个字节进行比较以搜索匹配。例如,诸如比较紧缩字节相等(PCMPEQB)指令这样的x86 MMX比较指令执行目的操作数和源操作数中的紧缩字节的相等性比较。处理继续进行到块400以等待另一个请求。
图5是一个系统的框图,所述系统包括用于根据XML文档528的结构列表表示来生成主列表534的列表-紧缩向量转换器530的一个实施例。
系统500包括处理器501、存储器控制中心(MCH)502以及输入/输出(I/O)控制中心(ICH)504。MCH 502包括用于控制处理器501和存储器504之间的通信的存储器控制器506。处理器501和MCH 502通过系统总线516进行通信。
处理器501可以是支持SIMD流指令扩展(SSE)指令的多种处理器中的任意其中一种,例如,单核英特奔腾处理器、单核英特尔赛扬处理器、英特XScale处理器、或诸如英特奔腾D、英特至处理器或英特酷双核处理器这样的多核处理器、或任意其它类型的处理器。
存储器503可以是动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、同步动态随机存取存储器(SDRAM)、第二代双倍数据速率(DDR2)RAM、或Rambus动态随机存取存储器(RDRAM)、或任何其它类型的存储器。
可以使用诸如直接媒体接口(DMI)这样的高速芯片对芯片(chip-to-chip)互连514把ICH 504耦合到MCH 502上。通过两个单向通道,DMI支持的2吉比特/秒的并发传输速率。
ICH 504可以包括存储输入/输出(I/O)控制器510,其用于控制与至少一个被耦合到ICH 504上的存储设备512进行通信。存储设备可以是,例如,磁盘驱动器、数字视频光盘(DVD)驱动器、光盘(CD)驱动器、独立磁盘冗余阵列(RAID)、磁带机或其它存储设备。使用串行存储协议,例如串行连接小型计算机系统接口(SAS)或串行高级技术附件(SATA),ICH 504可以通过存储协议互连518与存储设备512进行通信。
ICH 504还可以包括网络接口通信(NIC)控制器526,用于控制通过互联网与至少一个其它系统536进行通信。存储器508可以存储用于根据XML文档528的结构列表表示来生成主列表534的列表-紧缩向量转换器530。XML文档528可以被存储在RAID阵列512中,或被存储在经由互联网550可访问的另一个系统528中。紧缩向量转换器530对XML文档528的结构列表表示536(可以存储在存储器508中)进行操作。根据本发明的原理,紧缩向量转换器530根据XML文档528的结构列表表示来生成主列表534和次列表532。
针对64比特SIMD指令,即并行地对64个比特(8个字节)进行操作的SIMD指令,描述了本发明的一个实施例。然而,本发明并不被限于并行地对64比特进行操作。本发明的实施例可以使用并行地对大于64比特进行操作的SIMD指令,例如,使用了128比特寄存器对16个字节并行地进行操作。
对本领域技术人员来说显而易见的是,本发明的实施例中所涉及的方法可以用包括计算机可用介质的计算机程序产品来实现。例如,这样的计算机可用介质可以由其上存储有计算机可读程序代码的只读存储器设备(诸如光盘只读存储器(CD-ROM)盘或常规的ROM设备)或计算机磁盘构成。
尽管已经参照本发明的实施例来具体地示出和描述了本发明,但本领域的技术人员应该理解,可以对其进行形式和细节上的各种修改,而不脱离由所附权利要求包含的本发明实施例的范围。
Claims (20)
1、一种方法,包括:
从可扩展标记语言(XML)文档的结构列表表示中提取一组元素;以及
在连续的存储单元中将该组元素存储到紧缩向量中,以支持并行地搜索该组中的元素。
2、根据权利要求1所述的方法,其中,该组中的元素是结构类型。
3、根据权利要求1所述的方法,其中,该组中的元素是结构名称。
4、根据权利要求1所述的方法,其中,该组中的元素的数目至少是8个。
5、根据权利要求1所述的方法,还包括:
使用单指令多数据(SIMD)指令对所述紧缩向量进行搜索,以便并行地在所述紧缩向量中的该组元素中的每个元素中搜索匹配。
6、根据权利要求5所述的方法,其中,所述SIMD指令并行地对8个字节进行操作。
7、根据权利要求5所述的方法,其中,所述SIMD指令并行地对16个字节进行操作。
8、根据权利要求1所述的方法,还包括:
存储由可变大小的元素构成的次列表,以支持搜索可变大小的元素,其中所述可变大小的元素是从所述结构列表表示中提取的、且没有被包括在所述主列表中。
9、一种装置,包括:
列表-紧缩向量转换器,用于从可扩展标记语言(XML)文档的结构列表表示中提取一组元素;以及
主列表,用于在连续的存储单元中将该组元素存储到紧缩向量中,以支持并行地搜索该组中的元素。
10、根据权利要求9所述的装置,其中,该组中的元素是结构类型。
11、根据权利要求9所述的装置,其中,该组中的元素是结构名称。
12、根据权利要求9所述的装置,其中,该组中的元素的数目至少是8个。
13、根据权利要求9所述的装置,其中,所述主列表支持使用单指令多数据(SIMD)指令对所述紧缩向量进行搜索,以便并行地在所述紧缩向量中的该组元素中的每个元素中搜索匹配。
14、根据权利要求13所述的装置,其中,所述SIMD指令并行地对8个字节进行操作。
15、根据权利要求13所述的装置,其中,所述SIMD指令并行地对16个字节进行操作。
16、根据权利要求9所述的装置,还包括:
次列表,用于存储从所述结构列表表示中提取的、且没有被包括在所述主列表中的可变大小的元素,以支持搜索可变大小的元素。
17、一种包括具有相关信息的机器可访问介质的制品,其中,所述信息当被访问时使得机器执行:
从XML文档的结构列表表示中提取一组元素;以及
在连续的存储单元中将该组元素存储到紧缩向量中,以支持并行地搜索该组中的元素。
18、根据权利要求17所述的制品,其中,该组中的元素是结构类型。
19、根据权利要求17所述的制品,其中,该组中的元素是结构名称。
20、根据权利要求17所述的制品,其中,所述机器还执行:
使用单指令多数据(SIMD)指令对所述紧缩向量进行搜索,以便并行地在所述紧缩向量中的该组元素中搜索匹配。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/949,761 US8341165B2 (en) | 2007-12-03 | 2007-12-03 | Method and apparatus for searching extensible markup language (XML) data |
US11/949,761 | 2007-12-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101452482A true CN101452482A (zh) | 2009-06-10 |
CN101452482B CN101452482B (zh) | 2013-02-27 |
Family
ID=40456868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810183338XA Expired - Fee Related CN101452482B (zh) | 2007-12-03 | 2008-12-02 | 用于搜索可扩展标记语言(xml)数据的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8341165B2 (zh) |
EP (1) | EP2068254B1 (zh) |
JP (1) | JP4896950B2 (zh) |
CN (1) | CN101452482B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8341165B2 (en) | 2007-12-03 | 2012-12-25 | Intel Corporation | Method and apparatus for searching extensible markup language (XML) data |
CN105892995A (zh) * | 2016-03-28 | 2016-08-24 | 龙芯中科技术有限公司 | 查找负数的方法、装置及处理器 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2493188A (en) * | 2011-07-28 | 2013-01-30 | Canon Kk | Method for encoding structured data into a bitstream parsing parallel encoding threads |
JP6136142B2 (ja) * | 2012-08-24 | 2017-05-31 | 富士通株式会社 | 文字列置換装置、方法及びプログラム |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5819101A (en) | 1994-12-02 | 1998-10-06 | Intel Corporation | Method for packing a plurality of packed data elements in response to a pack instruction |
BR9509845A (pt) | 1994-12-02 | 1997-12-30 | Intel Corp | Microprocessador com operação de compactação de elementos de operação compósitos |
US7197625B1 (en) * | 1997-10-09 | 2007-03-27 | Mips Technologies, Inc. | Alignment and ordering of vector elements for single instruction multiple data processing |
GB2362731B (en) * | 2000-05-23 | 2004-10-06 | Advanced Risc Mach Ltd | Parallel processing of multiple data values within a data word |
US7136991B2 (en) * | 2001-11-20 | 2006-11-14 | Henry G Glenn | Microprocessor including random number generator supporting operating system-independent multitasking operation |
WO2003091903A1 (en) * | 2002-04-24 | 2003-11-06 | Sarvega, Inc. | System and method for processing of xml documents represented as an event stream |
EP1502196A4 (en) * | 2002-05-02 | 2008-04-02 | Sarvega Inc | SYSTEM AND METHOD FOR TRANSFORMING XML DOCUMENTS USING STYLE SHEETS |
JP2004295674A (ja) | 2003-03-27 | 2004-10-21 | Fujitsu Ltd | Xml文書解析方法、xml文書検索方法、xml文書解析プログラム、xml文書検索プログラムおよびxml文書検索装置 |
US7209925B2 (en) * | 2003-08-25 | 2007-04-24 | International Business Machines Corporation | Method, system, and article of manufacture for parallel processing and serial loading of hierarchical data |
JP2005135199A (ja) | 2003-10-30 | 2005-05-26 | Nippon Telegr & Teleph Corp <Ntt> | オートマトン作成方法、および、xmlデータ検索方法、ならびに、xmlデータ検索装置、xmlデータ検索プログラム、および、xmlデータ検索プログラムの記録媒体 |
US7508985B2 (en) * | 2003-12-10 | 2009-03-24 | International Business Machines Corporation | Pattern-matching system |
KR100677116B1 (ko) * | 2004-04-02 | 2007-02-02 | 삼성전자주식회사 | 사이클릭 레퍼런싱 방법/장치, 파싱 방법/장치 및 그방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한기록매체 |
US7587805B2 (en) * | 2005-01-19 | 2009-09-15 | Gm Global Technology Operations, Inc. | Reconfigurable fixture device and methods of use |
US20060167907A1 (en) * | 2005-01-27 | 2006-07-27 | Kevin Jones | System and method for processing XML documents |
US20060167869A1 (en) * | 2005-01-27 | 2006-07-27 | Kevin Jones | Multi-path simultaneous Xpath evaluation over data streams |
US7400271B2 (en) * | 2005-06-21 | 2008-07-15 | International Characters, Inc. | Method and apparatus for processing character streams |
US20070083807A1 (en) * | 2005-10-06 | 2007-04-12 | Microsoft Corporation | Evaluating multiple data filtering expressions in parallel |
JP4760415B2 (ja) * | 2006-02-06 | 2011-08-31 | セイコーエプソン株式会社 | コンピュータのデバイスドライバ実現方法 |
US8341165B2 (en) | 2007-12-03 | 2012-12-25 | Intel Corporation | Method and apparatus for searching extensible markup language (XML) data |
-
2007
- 2007-12-03 US US11/949,761 patent/US8341165B2/en active Active
-
2008
- 2008-11-28 EP EP08253836.4A patent/EP2068254B1/en not_active Not-in-force
- 2008-12-02 CN CN200810183338XA patent/CN101452482B/zh not_active Expired - Fee Related
- 2008-12-02 JP JP2008307456A patent/JP4896950B2/ja not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8341165B2 (en) | 2007-12-03 | 2012-12-25 | Intel Corporation | Method and apparatus for searching extensible markup language (XML) data |
CN105892995A (zh) * | 2016-03-28 | 2016-08-24 | 龙芯中科技术有限公司 | 查找负数的方法、装置及处理器 |
CN105892995B (zh) * | 2016-03-28 | 2018-06-12 | 龙芯中科技术有限公司 | 查找负数的方法、装置及处理器 |
Also Published As
Publication number | Publication date |
---|---|
CN101452482B (zh) | 2013-02-27 |
EP2068254B1 (en) | 2015-06-17 |
JP4896950B2 (ja) | 2012-03-14 |
JP2009140494A (ja) | 2009-06-25 |
US20090144521A1 (en) | 2009-06-04 |
EP2068254A1 (en) | 2009-06-10 |
US8341165B2 (en) | 2012-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8892599B2 (en) | Apparatus and method for securing preliminary information about database fragments for utilization in mapreduce processing | |
US8739022B2 (en) | Parallel approach to XML parsing | |
US8935267B2 (en) | Apparatus and method for executing different query language queries on tree structured data using pre-computed indices of selective document paths | |
US7523119B2 (en) | XPath evaluation and information processing | |
CN102662997B (zh) | 一种存储xml数据到关系数据库的方法 | |
CN1584884B (zh) | 检索结构化文档的数据的设备 | |
CN100495401C (zh) | 结构化文档处理装置和方法 | |
CN103294652B (zh) | 一种数据转换方法及系统 | |
CN101136033A (zh) | 结构化文档管理系统和管理在所述系统中的索引的方法 | |
CN101452482B (zh) | 用于搜索可扩展标记语言(xml)数据的方法和装置 | |
US8397158B1 (en) | System and method for partial parsing of XML documents and modification thereof | |
CN100462973C (zh) | Xml文件预处理方法、装置、读取方法和装置 | |
JP4313845B2 (ja) | マルチインスタンス・インメモリ・データベース | |
US20120215756A1 (en) | Gateways having localized in memory databases and business logic execution | |
Hsu et al. | UCIS-X: an updatable compact indexing scheme for efficient extensible markup language document updating and query evaluation | |
Su et al. | Raindrop: A uniform and layered algebraic framework for XQueries on XML streams | |
US8407209B2 (en) | Utilizing path IDs for name and namespace searches | |
Bou et al. | Keyword search with path-based filtering over XML streams | |
US20070153342A1 (en) | Display and editing of documents described by schemas | |
Hoeller et al. | Efficient XML data and query integration in the wireless sensor network engineering process | |
Kim et al. | Efficient processing of regular path joins using PID | |
Zhu et al. | Research on typical parsing models for XBRL taxonomy | |
Wang et al. | Grammar based interface processing in Web service composition | |
Dong | Designing and Implementing of Online Message System Based on XML Technology | |
Suying et al. | Optimization and Application of EPA Device Description Based on XML |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130227 Termination date: 20211202 |
|
CF01 | Termination of patent right due to non-payment of annual fee |