CN1639682A - 在线索化应用中高效存储缩进式线索 - Google Patents

在线索化应用中高效存储缩进式线索 Download PDF

Info

Publication number
CN1639682A
CN1639682A CNA038048809A CN03804880A CN1639682A CN 1639682 A CN1639682 A CN 1639682A CN A038048809 A CNA038048809 A CN A038048809A CN 03804880 A CN03804880 A CN 03804880A CN 1639682 A CN1639682 A CN 1639682A
Authority
CN
China
Prior art keywords
record
records
label
hierarchical set
numerical digit
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
Application number
CNA038048809A
Other languages
English (en)
Other versions
CN100416491C (zh
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.)
Plumtree Software Inc
Original Assignee
Plumtree Software Inc
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 Plumtree Software Inc filed Critical Plumtree Software Inc
Publication of CN1639682A publication Critical patent/CN1639682A/zh
Application granted granted Critical
Publication of CN100416491C publication Critical patent/CN100416491C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • 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
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99937Sorting
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99948Application of database or data structure, e.g. distributed, multimedia, or image

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Human Resources & Organizations (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Software Systems (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明描述了一种方法、装置和计算机可读介质,用于在层次记录集合中检索记录(202),该层次记录集合具有多个层级和多个层深(204),每个记录都具有一个在所述层次记录集合中唯一的标签,包括在所述层次记录集合中标识出一个记录;修改所述标签,从而产生一个键值;对所述层次记录集合只进行一次索引(208),从而在所述层次记录集合中选择一个或多个记录,其中“对所述层次记录集合只进行一次索引”包括将所述键值应用到所述层次记录集合(208);以及获取所选择的记录(210)。

Description

在线索化应用中高效存储缩进式线索
技术领域
本发明一般地涉及数据管理,更具体地说涉及管理层次存储的数据。
背景技术
层次数据集合非常有用也很普遍。这种数据集一般由多个记录组成。在层次记录集合中,一个记录可具有多个“孩子”,这些孩子与该记录有关,并存在于所述层次的较低级别上。这一记录称为所述孩子记录的“双亲”记录。记录的孩子可具有孩子,如此等等,只受限于数据库的大小。在单个记录的孩子集合中,对孩子进行排序,使得存在第一孩子、第二孩子等等,这经常是很有用的。
迄今为止,这些层次数据集的应用受限于可用来管理所述数据的工具的效率。在数据库中存储层次数据的传统方法包括多次代价昂贵的调用以更新和/或查询数据库。例如,为了选择记录的第二孙子,需要三次查询。第一次查询选择该记录的孩子。第二次查询选择该孩子的第一个孩子。第三次查询选择该孩子的第二个孩子。
发明内容
一般地说,在一个方面,本发明描述了一种方法、装置和计算机可读介质,用于在层次记录集合中检索记录,该层次记录集合具有多个层级和多个层深,每个记录都具有一个在所述层次记录集合中唯一的标签。它包括在所述层次记录集合中标识出一个记录;修改所述标签,从而产生一个键值;对所述层次记录集合只进行一次索引,从而在所述层次记录集合中选择一个或多个记录,其中“对所述层次记录集合只进行一次索引”包括将所述键值应用到所述层次记录集合;以及获取所选择的记录。
具体的实现可包括下述特征中的一项或多项。“应用”包括在所述层次记录集合中选择具有与所述键值相匹配的标签的记录。“标识出一个记录”包括从用户接收对一个记录的选择;以及从用户接收命令;并且其中,基于来自用户的命令来修改所述标签。每个记录都具有一个或多个字段,并且多种实现可包括在显示器上显示每个所获取的记录的一个字段,其中每个字段在显示器上的位置表示相应的所获取的记录的层深和层级。每个标签是具有多个数位的数字;每个数位的位置表示一个层深;每个数位的值表示一个层级;并且,修改所述标签包括根据来自用户的命令在至少一个数位处进行选择;以及根据来自用户的命令改变所选择的数位的值。每个标签是具有多个数位的数字;每个数位的位置表示一个层深;每个数位的值表示一个层级;所述来自用户的命令请求检索所标识的记录的孩子;并且修改所述标签包括选择与所标识的记录的层深相对应的数位;以及将对应于与所选择的数位相对应的层深之下的层深的每个数位的值设置成通配值。每个标签是具有多个数位的数字;每个数位的位置表示一个层深;每个数位的值表示一个层级;所述来自用户的命令请求检索所标识的记录的双亲;并且修改所述标签包括选择与所标识的记录的层深相对应的数位;以及将所选择的数位的值设置为空值。每个记录表示一个消息或一个文件夹中之一。
一般地说,在一个方面,本发明描述了一种方法、装置和计算机可读介质,用于将新记录添加到具有多个层级和多个层深的层次记录集合中,所述层次记录集合中的每个记录都具有一个在所述层次记录集合中唯一的标签。它包括在所述层次记录集合中标识出一个记录;修改所述标签,从而产生一个键值;将所述键值添加到所述新记录中;以及对所述层次记录集合只进行一次索引,从而将所述新记录添加到所述层次记录集合中,其中“对所述层次记录集合只进行一次索引”包括将所述键值应用到所述层次记录集合。
具体的实现可包括下述特征中的一项或多项。“标识出一个记录”包括从用户接收对一个记录的选择。每个标签是具有多个数位的数字;每个数位的位置表示一个层深;每个数位的值表示一个层级;所标识的记录表示一个消息;标识一个记录还包括接收来自用户的命令,该命令请求回复所述消息;并且,修改所述标签包括选择一个数位,该数位对应于一个层深,该层深紧邻在所标识的记录的层深之下;以及增加所选择的数位的值。“应用”包括在所述层次记录集合中选择具有与所述键值相匹配的标签的记录。每个标签包括多个数位;每个数位的位置表示一个层深;每个数位的值表示一个层级。
一般地说,在一个方面,本发明描述了一种方法、装置和计算机可读介质,用于在具有多个层级和多个层深的层次记录集合中选择记录,每个记录都具有一个在所述层次记录集合中唯一的标签。它包括在所述层次记录集合中标识出一个记录;修改所述标签;以及对所述层次记录集合只进行一次索引,从而在所述层次记录集合选择一个或多个记录,其中“对所述层次记录集合只进行一次索引”包括将修改后的标签应用到所述层次记录集合。
具体的实现可包括下述特征中的一项或多项。每个标签包括多个数位;每个数位的位置表示一个层深;每个数位的值表示一个层级。“应用”包括在所述层次记录集合中选择具有与所述键值相匹配的标签的记录。
本发明的实现具有多种优点,包括下述优点中的一项或多项。本发明的实现允许只利用对数据库的单次访问就可以操纵该数据库,其中该数据库表示了一种缩进式线索(thread)化讨论(discussion)。例如,通过单次数据库访问例如查询或调用就可以添加、删除以及检索消息。
在下面的附图和描述中给出了一个或多个实现的细节。其他特征从下面的具体实施方式、附图和权利要求看来也是很清楚的。
附图说明
图1示出了缩进式线索化讨论的显示。
图2的流程图示出了根据一种实现,在缩进式线索化讨论中检索消息的双亲的过程。
图3的流程图示出了根据一种实现,在缩进式线索化讨论中检索消息的孩子的过程。
图4的流程图示出了根据一种实现,向缩进式线索化讨论添加消息的过程。
本说明书中使用的每个标号中前面的(多个)数位表示该标号首次出现的附图的号码。
具体实施方式
层次数据的一种常见类型是缩进式线索化讨论。缩进式线索化讨论最初只出现在因特网新闻组中,作为一种管理并显示在多个参与者之间进行的讨论的方法,已经越来越普遍。缩进式线索化讨论管理工具现在已出现在消费品例如电子邮件软件程序中。
图1示出了缩进式线索化讨论的显示。缩进式线索化讨论开始于一个用户在对多个用户可用的论坛中张贴消息102,其中所张贴的消息不是对另一个消息的回复。这一消息在此称为讨论的“源”消息。任何源消息都构成了一个线索的“头”。因此,消息102既是讨论的源消息,也是线索头。对消息的所有回复都是线索的一部分。当然,论坛可以具有多个讨论。
当用户张贴对消息的回复时,所述回复一般显示在该消息之下,并且缩进一次。任何具有回复的消息都是某个线索的头。因此,一个讨论可具有许多线索。线索头相对于其回复的消息缩进一次。
消息104是对消息102的回复。因此,回复104显示在消息102之下,并缩进一次,如图1所示。对回复104的回复106再缩进一次。对回复104的回复106的回复108进一步缩进一次。
当某个用户张贴出对源消息102的另一个回复110时,回复110示出为仅缩进一次,并示出在消息104及其孩子106和108之下。对源消息102的后续回复112也示出为缩进一次,并示出在消息110之下。对消息112的回复114示出为缩进两次并在消息112之下。
诸如图1之类的显示使得用户可迅速理解讨论层次结构以及每个消息在层次中的位置。消息在层次中的位置可以按照层次的两个维度来描述:级别与深度。消息的深度是包含该消息的线索的数量。例如,参考图1,消息108的深度是3,因为它被以消息106、104和102开头的线索所包含。源消息例如消息102的深度是零。
特定深度处的消息的级别表示该特定深度处在该消息之前的消息的数量。例如,参考图1,消息112的级别是3,因为它的深度是1,并且其前面有消息110和104,后二者的深度也都是1。每个层深内的先后顺序可通过任何数量的因素或其结合来确定。在线索化讨论组中,最经常使用的是消息的时间顺序,其由张贴每个消息的时间和日期所确定。当层次数据集中的记录表示容器(container)例如文件夹时,可以使用文件夹的名称的字母顺序。另外,所述显示的用户可以选择记录中的任何字段,因此使得该字段的内容来确定先后顺序。源消息例如消息102的级别是零。
再次参考图1,单个层级处的消息例如消息104、110和112按照时间顺序示出,而消息的孩子(即对该消息的回复、对这些回复的回复等等)示出在该消息之下,相同层级处的下一个消息之上。向用户显示的消息一般存储在某种数据库中,例如一张表中。该表的每一行(row)表示一个消息。每个消息具有多个字段,例如主题、作者、正文、张贴日期等等。每一列(column)表示一个字段。
管理这种缩进式线索化讨论的传统方法是非常低效的。一般地,或者在创建新消息时必须更新该表的多个行,或者需要进行多次查询来显示一个缩进式线索。需要更新的行数可能大到线索中的消息数量。
本发明的实现将一个标签与层次记录集合中的每个记录相关联,该标签在层次记录集合中是唯一的。所述标签一般是记录的一个字段。表1示出了根据一种实现,表示图1的讨论的数据库表的一部分。
                            表1
    标签     深度     级别     主题
    0000     0     0     Bike Rides in the Bay Area
    1000     1     1     Old La Honda
    1100     2     1     re:Old La Honda
    1110     3     1     re:re:Old La Honda
    2000     1     2     Page Mill Road
    3000     1     3     The Bears Loop
    3100     2     1     re:The Bears Loop
每个标签都是具有多个数位的数字,每个数位表示层次中的一个深度。表1的层次具有4个深度,因此每个标签具有4个数位。在一种实现中,所述数位被安排成最高有效位表示层次的第一深度(即源消息的深度),下一个最高有效位表示层次的第二深度,如此等等。其他实现采用其他数位安排方式。
每个数位的值表示层次中的级别。假设表1的层次具有4个级别。那么,每个数位可具有范围在从0到3的值。值0表示层次中的该深度处没有消息。当然,也可支持其他深度和级别范围,本领域内的技术人员在阅读本说明书后很清楚这一点。一种实现支持16个级别和16个深度。在该实现中,标签是“大整数”表示的16个数位(16-digit)的十六进制数,它是所具有的值从-263到263的有符号64位数。
每个标签唯一地标识出其记录在层次中的位置。例如,标签“3100”示出了该记录是源消息的第三个孩子的第一个孩子。
所公开的标签的一个优点在于记录的标签可通过修改相关记录的标签而迅速且容易地确定,无需对数据库进行索引。
图2的流程图示出了根据一种实现,在缩进式线索化讨论中检索消息的双亲的过程200。过程200接收来自用户的命令(步骤202)。该命令标识出消息108,并请求检索消息108的双亲。过程200修改消息108的标签以产生一个键值。为此,过程200首先选择与消息108的层深对应的数位(步骤204)。参考表1,消息108的深度为3。因此,过程200选择消息108的标签的第3最高有效位。每个消息的深度不必存储在该表中,而是可以利用每个数位所表示的层深来实时确定。当标签具有的数位是按照层深升序排列时,例如表1的标签,则可以通过简单地选择最低非零有效位来选择与消息的层深对应的数位。
过程200然后将所选择的数位的值设为空值(步骤206)。在表1的标签中,空值是零。当然,也可选择其他值作为空值。所获得的键值是“1100”,这是消息106(消息108的双亲)的标签。过程200然后通过将该键值应用到数据库来对数据库仅进行一次索引(步骤208),从而选择了消息106的记录。过程200然后获取消息106(步骤210),并将消息106显示给用户(步骤212)。
图3的流程图示出了根据一种实施例,在缩进式线索化讨论中检索消息的孩子的过程300。过程300接收来自用户的命令(步骤302)。该命令标识出消息104,并请求检索以消息104开头的线索中的所有消息。这些消息包括消息104的孩子、消息104的孩子的孩子等等。
过程300修改消息104的标签以产生一个键值。为此,过程300首先选择对应于消息104的层深的数位(步骤304)。参考表1,消息104的深度为1。因此,过程300选择消息104的标签的最高有效位。过程300然后将与在所选择的数位的层深之下的层深相对应的每个数位的值都设为通配值(步骤308)。所获得的键值是“1XXX”,其中“X”表示可匹配任何值的通配值。
在一种实现中,将键值应用到数据库,在数据库中选择具有与该键值相匹配的标签的所有记录。过程300通过将该键值应用到数据库,对数据库仅进行一次索引(步骤310),从而选择以消息104开头的线索中的消息的记录。参考图1,键值“1XXX”与对应于消息106和108的记录的标签相匹配。过程300然后获取消息106和108(步骤312),并将消息106和108显示给用户(步骤314)。
过程300也可用于删除消息。当删除消息时,也删除其所有孩子。过程300选择一个消息及其所有孩子。然后删除与所选择的消息对应的记录。
图4的流程图示出了根据一种实现,将消息添加到缩进式线索化讨论的过程400。过程400接收来自用户的命令(步骤402)。该命令标识出消息114,并请求回复消息114。过程400修改消息114的标签以产生一个键值。为此,过程400首先选择与某个层深对应的数位,所述某个层深紧邻在消息114的层深之下(步骤404)。参考表1,消息114的深度为2。因此,过程400选择消息114的标签的第三最高有效位。过程400然后增加所选择的数位的值(步骤406)。所获得的键值是“3110”。过程400然后通过将一个以所述键值作为标签的记录添加到数据库,对数据库仅进行一次索引(步骤408)。该记录对应于新消息。
本发明可以实现为数字电子电路,或计算机硬件、固件、软件或其结合。本发明的装置可以实现在计算机程序产品中,该产品可感知地包含在机器可读存储设备中,以由可编程处理器执行;并且,本发明的方法步骤可由可编程处理器执行程序指令来执行,以通过对输入数据进行操作并生成输出来执行本发明的功能。本发明可优选地实现在一个或多个计算机程序中,所述程序可在可编程系统上执行,该系统包括至少一个可编程处理器,其耦合来从数据存储系统接收数据和指令,并将数据和指令发送到所述数据存储系统,还包括至少一个输入设备和至少一个输出设备。每个计算机程序都可以高级过程性或面向对象编程语言来实现,或根据需要以汇编或机器语言来实现;在任何情形下,所述语言都可以是编译型或解释型语言。适当的处理器例如包括通用或专用微处理器。一般地,处理器从只读存储器和/或随机访问存储器接收指令和数据。一般地,计算机将包括一个或多个大容量存储设备以存储数据文件;这种设备包括磁盘,例如内部硬盘或可拆卸盘;磁光盘;以及光盘。适于可感知地包含计算机程序指令和数据的存储设备包括所有形式的非易失性存储器,例如包括半导体存储器件,例如EPROM、EEPROM以及闪存器件;磁盘,例如内部硬盘和可拆卸盘;磁光盘;以及CD-ROM盘。任何前述设备都可为ASIC(专用集成电路)所补充或包含于ASIC中。
在此已经描述了本发明的多种实现。然而,将可理解到,可做出各种修改而不偏离本发明的精神和范围。因此,其他实现也在所附权利要求的范围之内。

Claims (82)

1.一种在层次记录集合中检索记录的方法,该层次记录集合具有多个层级和多个层深,每个记录都具有一个在所述层次记录集合中唯一的标签,所述方法包括:
在所述层次记录集合中标识出一个记录;
修改所述标签,从而产生一个键值;
对所述层次记录集合只进行一次索引,从而在所述层次记录集合中选择一个或多个记录,其中“对所述层次记录集合只进行一次索引”包括将所述键值应用到所述层次记录集合;以及
获取所选择的记录。
2.如权利要求1所述的方法,其中“应用”包括:
在所述层次记录集合中选择具有与所述键值相匹配的标签的记录。
3.如权利要求2所述的方法,其中“标识出一个记录”包括:
从用户接收对所述一个记录的选择;以及
从所述用户接收命令;并且其中
基于所述来自用户的命令来修改所述标签。
4.如权利要求3所述的方法,其中,每个所述记录都具有一个或多个字段,所述方法还包括:
在显示器上显示所获取的记录中每个记录的一个字段,其中每个所述字段在所述显示器上的位置表示所获取的记录中相应记录的层深和层级。
5.如权利要求2所述的方法,其中:
每个标签是具有多个数位的数字;
每个数位的位置表示一个层深;
每个数位的值表示一个层级;并且
“修改所述标签”包括:
根据来自用户的命令来选择至少一个数位;以及
根据所述来自用户的命令改变所选择的数位的值。
6.如权利要求2所述的方法,其中:
每个标签是具有多个数位的数字;
每个数位的位置表示一个层深;
每个数位的值表示一个层级;
来自用户的命令请求检索所标识的记录的孩子;并且
“修改所述标签”包括:
选择与所标识的记录的层深相对应的数位;以及
将对应于与所选择的数位相对应的层深之下的层深的每个数位的值设置成通配值。
7.如权利要求2所述的方法,其中:
每个标签是具有多个数位的数字;
每个数位的位置表示一个层深;
每个数位的值表示一个层级;
来自用户的命令请求检索所标识的记录的双亲;并且
“修改所述标签”包括:
选择与所标识的记录的层深相对应的数位;以及
将所选择的数位的值设置为空值。
8.如权利要求2所述的方法,其中每个所述记录表示一个消息和一个文件夹中之一。
9.一种用于将新记录添加到具有多个层级和多个层深的层次记录集合中的方法,所述层次记录集合中的每个记录都具有一个在所述层次记录集合中唯一的标签,所述方法包括:
在所述层次记录集合中标识出一个记录,作为所述新记录的双亲;
修改所述标签,从而产生一个键值;
将所述键值添加到所述新记录中;以及
对所述层次记录集合只进行一次索引,从而将所述新记录添加到所述层次记录集合中,其中“对所述层次记录集合只进行一次索引”包括将所述键值应用到所述层次记录集合。
10.如权利要求9所述的方法,其中“标识出一个记录”包括:
从用户接收对所述一个记录的选择。
11.如权利要求10所述的方法,其中:
每个标签是具有多个数位的数字;
每个数位的位置表示一个层深;
每个数位的值表示一个层级;
所标识的记录表示一个消息;
“标识出一个记录”还包括接收来自所述用户的命令,该命令请求回复所述消息;并且
“修改所述标签”包括:
选择一个数位,该数位对应于一个层深,该层深紧邻在所标识的记录的层深之下;以及
增加所选择的数位的值。
12.如权利要求9所述的方法,其中“应用”包括:
在所述层次记录集合中选择具有与所述键值相匹配的标签的记录。
13.如权利要求9所述的方法,其中:
每个标签包括多个数位;
每个数位的位置表示一个层深;并且
每个数位的值表示一个层级。
14.一种用于在具有多个层级和多个层深的层次记录集合中选择记录的方法,每个所述记录都具有一个在所述层次记录集合中唯一的标签,所述方法包括:
在所述层次记录集合中标识出一个记录;
修改所述标签;以及
对所述层次记录集合只进行一次索引,从而在所述层次记录集合中选择一个或多个记录,其中“对所述层次记录集合只进行一次索引”包括将修改后的标签应用到所述层次记录集合。
15.如权利要求14所述的方法,其中:
每个标签包括多个数位;
每个数位的位置表示一个层深;并且
每个数位的值表示一个层级。
16.如权利要求14所述的方法,其中“应用”包括:
在所述层次记录集合中选择具有与所述键值相匹配的标签的记录。
17.一种计算机,至少一个所述计算机被编程来执行一个过程,用于在层次记录集合中检索记录,该层次记录集合具有多个层级和多个层深,每个记录都具有一个在所述层次记录集合中唯一的标签,所述过程包括:
在所述层次记录集合中标识出一个记录;
修改所述标签,从而产生一个键值;
对所述层次记录集合只进行一次索引,从而在所述层次记录集合中选择一个或多个记录,其中“对所述层次记录集合只进行一次索引”包括将所述键值应用到所述层次记录集合;以及
获取所选择的记录。
18.如权利要求17所述的计算机,其中“应用”包括:
在所述层次记录集合中选择具有与所述键值相匹配的标签的记录。
19.如权利要求18所述的计算机,其中“标识出一个记录”包括:
从用户接收对所述一个记录的选择;以及
从所述用户接收命令;并且其中
基于所述来自用户的命令来修改所述标签。
20.如权利要求19所述的计算机,其中,每个所述记录都具有一个或多个字段,并且所述过程还包括:
在显示器上显示所获取的记录中每个记录的一个字段,其中每个所述字段在所述显示器上的位置表示所获取的记录中相应记录的层深和层级。
21.如权利要求18所述的计算机,其中:
每个标签是具有多个数位的数字;
每个数位的位置表示一个层深;
每个数位的值表示一个层级;并且
“修改所述标签”包括:
根据来自用户的命令来选择至少一个数位;以及
根据所述来自用户的命令改变所选择的数位的值。
22.如权利要求18所述的计算机,其中:
每个标签是具有多个数位的数字;
每个数位的位置表示一个层深;
每个数位的值表示一个层级;
来自用户的命令请求检索所标识的记录的孩子;并且
“修改所述标签”包括:
选择与所标识的记录的层深相对应的数位;以及
将对应于与所选择的数位相对应的层深之下的层深的每个数位的值设置成通配值。
23.如权利要求18所述的计算机,其中:
每个标签是具有多个数位的数字;
每个数位的位置表示一个层深;
每个数位的值表示一个层级;
来自用户的命令请求检索所标识的记录的双亲;并且
“修改所述标签”包括:
选择与所标识的记录的层深相对应的数位;以及
将所选择的数位的值设置为空值。
24.如权利要求18所述的计算机,其中每个所述记录表示一个消息和一个文件夹中之一。
25.一种计算机,至少一个所述计算机被编程来执行一个过程,用于将新记录添加到具有多个层级和多个层深的层次记录集合中,所述层次记录集合中的每个记录都具有一个在所述层次记录集合中唯一的标签,所述过程包括:
在所述层次记录集合中标识出一个记录,作为所述新记录的双亲;
修改所述标签,从而产生一个键值;
将所述键值添加到所述新记录中;以及
对所述层次记录集合只进行一次索引,从而将所述新记录添加到所述层次记录集合中,其中“对所述层次记录集合只进行一次索引”包括将所述键值应用到所述层次记录集合。
26.如权利要求25所述的计算机,其中“标识出一个记录”包括:
从用户接收对所述一个记录的选择。
27.如权利要求26所述的计算机,其中:
每个标签是具有多个数位的数字;
每个数位的位置表示一个层深;
每个数位的值表示一个层级;
所标识的记录表示一个消息;
“标识出一个记录”还包括接收来自所述用户的命令,该命令请求回复所述消息;并且
“修改所述标签”包括:
选择一个数位,该数位对应于一个层深,该层深紧邻在所标识的记录的层深之下;以及
增加所选择的数位的值。
28.如权利要求25所述的计算机,其中“应用”包括:
在所述层次记录集合中选择具有与所述键值相匹配的标签的记录。
29.如权利要求25所述的计算机,其中:
每个标签包括多个数位;
每个数位的位置表示一个层深;并且
每个数位的值表示一个层级。
30.一种计算机,至少一个所述计算机被编程来执行一个过程,以在具有多个层级和多个层深的层次记录集合中选择记录,每个所述记录都具有一个在所述层次记录集合中唯一的标签,所述过程包括:
在所述层次记录集合中标识出一个记录;
修改所述标签;以及
对所述层次记录集合只进行一次索引,从而在所述层次记录集合中选择一个或多个记录,其中“对所述层次记录集合只进行一次索引”包括将修改后的标签应用到所述层次记录集合。
31.如权利要求30所述的计算机,其中:
每个标签包括多个数位;
每个数位的位置表示一个层深;并且
每个数位的值表示一个层级。
32.如权利要求30所述的计算机,其中“应用”包括:
在所述层次记录集合中选择具有与所述键值相匹配的标签的记录。
33.一种在层次记录集合中检索记录的装置,该层次记录集合具有多个层级和多个层深,每个记录都具有一个在所述层次记录集合中唯一的标签,所述装置包括:
在所述层次记录集合中标识出一个记录的装置;
修改所述标签,从而产生一个键值的装置;
对所述层次记录集合只进行一次索引,从而在所述层次记录集合中选择一个或多个记录的装置,其中“对所述层次记录集合只进行一次索引”包括将所述键值应用到所述层次记录集合;以及
获取所选择的记录的装置。
34.如权利要求33所述的装置,其中用于“应用”的装置包括:
在所述层次记录集合中选择具有与所述键值相匹配的标签的记录的装置。
35.如权利要求34所述的装置,其中用于“标识出一个记录”的装置包括:
从用户接收对所述一个记录的选择的装置;以及
从所述用户接收命令的装置;并且其中
基于所述来自用户的命令来修改所述标签的装置。
36.如权利要求35所述的装置,其中,每个所述记录都具有一个或多个字段,所述装置还包括:
在显示器上显示所获取的记录中每个记录的一个字段的装置,其中每个所述字段在所述显示器上的位置表示所获取的记录中相应记录的层深和层级。
37.如权利要求34所述的装置,其中:
每个标签是具有多个数位的数字;
每个数位的位置表示一个层深;
每个数位的值表示一个层级;并且
“修改所述标签”的装置包括:
根据来自用户的命令来选择至少一个数位的装置;以及
根据所述来自用户的命令改变所选择的数位的值的装置。
38.如权利要求34所述的装置,其中:
每个标签是具有多个数位的数字;
每个数位的位置表示一个层深;
每个数位的值表示一个层级;
来自用户的命令请求检索所标识的记录的孩子;并且
“修改所述标签”的装置包括:
选择与所标识的记录的层深相对应的数位的装置;以及
将对应于与所选择的数位相对应的层深之下的层深的每个数位的值设置成通配值的装置。
39.如权利要求34所述的装置,其中:
每个标签是具有多个数位的数字;
每个数位的位置表示一个层深;
每个数位的值表示一个层级;
来自用户的命令请求检索所标识的记录的双亲;并且
“修改所述标签”的装置包括:
选择与所标识的记录的层深相对应的数位的装置;以及
将所选择的数位的值设置为空值的装置。
40.如权利要求34所述的装置,其中每个所述记录表示一个消息和一个文件夹中之一。
41.一种用于将新记录添加到具有多个层级和多个层深的层次记录集合中的装置,所述层次记录集合中的每个记录都具有一个在所述层次记录集合中唯一的标签,所述装置包括:
在所述层次记录集合中标识出一个记录,作为所述新记录的双亲的装置;
修改所述标签,从而产生一个键值的装置;
将所述键值添加到所述新记录中的装置;以及
对所述层次记录集合只进行一次索引,从而将所述新记录添加到所述层次记录集合中的装置,其中“对所述层次记录集合只进行一次索引”包括将所述键值应用到所述层次记录集合。
42.如权利要求41所述的装置,其中用于“标识出一个记录”的装置包括:
从用户接收对所述一个记录的选择的装置。
43.如权利要求42所述的装置,其中:
每个标签是具有多个数位的数字;
每个数位的位置表示一个层深;
每个数位的值表示一个层级;
所标识的记录表示一个消息;
用于“标识一个记录”的装置还包括用于接收来自所述用户的命令的装置,该命令请求回复所述消息;并且
“修改所述标签”的装置包括:
选择一个数位的装置,该数位对应于一个层深,该层深紧邻在所标识的记录的层深之下;以及
增加所选择的数位的值的装置。
44.如权利要求41所述的装置,其中用于“应用”的装置包括:
在所述层次记录集合中选择具有与所述键值相匹配的标签的记录的装置。
45.如权利要求41所述的装置,其中:
每个标签包括多个数位;
每个数位的位置表示一个层深;并且
每个数位的值表示一个层级。
46.一种用于在具有多个层级和多个层深的层次记录集合中选择记录的装置,每个所述记录都具有一个在所述层次记录集合中唯一的标签,所述装置包括:
在所述层次记录集合中标识出一个记录的装置;
修改所述标签的装置;以及
对所述层次记录集合只进行一次索引,从而在所述层次记录集合中选择一个或多个记录的装置,其中“对所述层次记录集合只进行一次索引”包括将修改后的标签应用到所述层次记录集合。
47.如权利要求46所述的装置,其中:
每个标签包括多个数位;
每个数位的位置表示一个层深;并且
每个数位的值表示一个层级。
48.如权利要求46所述的装置,其中用于“应用”的装置包括:
在所述层次记录集合中选择具有与所述键值相匹配的标签的记录的装置。
49.一种计算机可读介质,其包含可由计算机执行的指令,以执行一种在层次记录集合中检索记录的方法,该层次记录集合具有多个层级和多个层深,每个记录都具有一个在所述层次记录集合中唯一的标签,所述方法包括:
在所述层次记录集合中标识出一个记录;
修改所述标签,从而产生一个键值;
对所述层次记录集合只进行一次索引,从而在所述层次记录集合中选择一个或多个记录,其中“对所述层次记录集合只进行一次索引”包括将所述键值应用到所述层次记录集合;以及
获取所选择的记录。
50.如权利要求49所述的介质,其中“应用”包括:
在所述层次记录集合中选择具有与所述键值相匹配的标签的记录。
51.如权利要求50所述的介质,其中“标识出一个记录”包括:
从用户接收对所述一个记录的选择;以及
从所述用户接收命令;并且其中
基于所述来自用户的命令来修改所述标签。
52.如权利要求51所述的介质,其中,每个所述记录都具有一个或多个字段,所述方法还包括:
在显示器上显示所获取的记录中每个记录的一个字段,其中每个所述字段在所述显示器上的位置表示所获取的记录中相应记录的层深和层级。
53.如权利要求50所述的介质,其中:
每个标签是具有多个数位的数字;
每个数位的位置表示一个层深;
每个数位的值表示一个层级;并且
“修改所述标签”包括:
根据来自用户的命令来选择至少一个数位;以及
根据所述来自用户的命令改变所选择的数位的值。
54.如权利要求50所述的介质,其中:
每个标签是具有多个数位的数字;
每个数位的位置表示一个层深;
每个数位的值表示一个层级;
来自用户的命令请求检索所标识的记录的孩子;并且
“修改所述标签”包括:
选择与所标识的记录的层深相对应的数位;以及
将对应于与所选择的数位相对应的层深之下的层深的每个数位的值设置成通配值。
55.如权利要求50所述的介质,其中:
每个标签是具有多个数位的数字;
每个数位的位置表示一个层深;
每个数位的值表示一个层级;
来自用户的命令请求检索所标识的记录的双亲;并且
“修改所述标签”包括:
选择与所标识的记录的层深相对应的数位;以及
将所选择的数位的值设置为空值。
56.如权利要求50所述的介质,其中每个所述记录表示一个消息和一个文件夹中之一。
57.一种计算机可读介质,其包含可由计算机执行的指令,以执行一种将新记录添加到具有多个层级和多个层深的层次记录集合中的方法,所述层次记录集合中的每个记录都具有一个在所述层次记录集合中唯一的标签,所述方法包括:
在所述层次记录集合中标识出一个记录,作为所述新记录的双亲;
修改所述标签,从而产生一个键值;
将所述键值添加到所述新记录中;以及
对所述层次记录集合只进行一次索引,从而将所述新记录添加到所述层次记录集合中,其中“对所述层次记录集合只进行一次索引”包括将所述键值应用到所述层次记录集合。
58.如权利要求57所述的介质,其中“标识出一个记录”包括:
从用户接收对所述一个记录的选择。
59.如权利要求58所述的介质,其中:
每个标签是具有多个数位的数字;
每个数位的位置表示一个层深;
每个数位的值表示一个层级;
所标识的记录表示一个消息;
“标识出一个记录”还包括接收来自所述用户的命令,该命令请求回复所述消息;并且
“修改所述标签”包括:
选择一个数位,该数位对应于一个层深,该层深紧邻在所标识的记录的层深之下;以及
增加所选择的数位的值。
60.如权利要求57所述的介质,其中“应用”包括:
在所述层次记录集合中选择具有与所述键值相匹配的标签的记录。
61.如权利要求57所述的介质,其中:
每个标签包括多个数位;
每个数位的位置表示一个层深;并且
每个数位的值表示一个层级。
62.一种计算机可读介质,其包含可由计算机执行的指令,以执行一种在具有多个层级和多个层深的层次记录集合中选择记录的方法,每个所述记录都具有一个在所述层次记录集合中唯一的标签,所述方法包括:
在所述层次记录集合中标识出一个记录;
修改所述标签;以及
对所述层次记录集合只进行一次索引,从而在所述层次记录集合中选择一个或多个记录,其中“对所述层次记录集合只进行一次索引”包括将修改后的标签应用到所述层次记录集合。
63.如权利要求62所述的介质,其中:
每个标签包括多个数位;
每个数位的位置表示一个层深;并且
每个数位的值表示一个层级。
64.如权利要求62所述的介质,其中“应用”包括:
在所述层次记录集合中选择具有与所述键值相匹配的标签的记录。
65.一种在具有多个层级和多个层深的层次数据集中对数据贴标签的方法,包括:
确定该数据的层级;
确定该数据的层深;以及
将标签分配给该数据,包括:
确定所述数据的直接双亲;
选择所述数据的直接双亲的标签,其中所述标签是一个具有多个数位的数,每个所述数位表示所述层次数据集的一个层深;
选择所选择的标签的一个数位,该数位表示所述数据的层深;
将一个值分配给所选择的数位,该值表示所述数据的层级。
66.如权利要求65所述的方法,其中“将一个值分配给所选择的数位”包括:
确定所述数据的直接双亲的已有标签的孩子的数量;
增加所述孩子数量以获得一个增数;以及
将所选择的数位的值设置成等于所述增数的值。
67.如权利要求65所述的方法,其中:
每项数据表示一个消息;
数据的孩子表示对由该数据表示的消息的回复;并且
数据的双亲表示一个消息,该数据表示对该消息的回复。
68.如权利要求65所述的方法,其中:
每项数据表示一个容器;
数据的孩子表示一个容器,该容器位于该数据所表示的容器之内;并且
数据的双亲表示一个容器,其包含由该数据表示的容器。
69.一种计算机,至少一个所述计算机被编程来执行一个过程,以在具有多个层级和多个层深的层次数据集中对数据贴标签,所述过程包括:
确定该数据的层级;
确定该数据的层深;以及
将一个标签分配给该数据,包括:
确定所述数据的直接双亲;
选择所述数据的直接双亲的标签,其中所述标签是一个具有多个数位的数,每个所述数位表示所述层次数据集的一个层深;
选择所选择的标签的一个数位,该数位表示所述数据的层深;
将一个值分配给所选择的数位,该值表示所述数据的层级。
70.如权利要求69所述的计算机,其中“将一个值分配给所选择的数位”包括:
确定所述数据的直接双亲的已有标签的孩子的数量;
增加所述孩子数量以获得一个增数;以及
将所选择的数位的值设置成等于所述增数的值。
71.如权利要求69所述的计算机,其中:
每项数据表示一个消息;
数据的孩子表示对由该数据表示的消息的回复;并且
数据的双亲表示一个消息,该数据表示对该消息的回复。
72.如权利要求69所述的计算机,其中:
每项数据表示一个容器;
数据的孩子表示一个容器,该容器位于该数据所表示的容器之内;并且
数据的双亲表示一个容器,其包含由该数据表示的容器。
73.一种在具有多个层级和多个层深的层次数据集中对数据贴标签的装置,包括:
确定该数据的层级的装置;
确定该数据的层深的装置;以及
将标签分配给该数据的装置,包括:
确定所述数据的直接双亲的装置;
选择所述数据的直接双亲的标签的装置,其中所述标签是一个具有多个数位的数,每个所述数位表示所述层次数据集的一个层深;
选择所选择的标签的一个数位的装置,该数位表示所述数据的层深;
将一个值分配给所选择的数位的装置,该值表示所述数据的层级。
74.如权利要求73所述的装置,其中“将一个值分配给所选择的数位”的装置包括:
确定所述数据的直接双亲的已有标签的孩子的数量的装置;
增加所述孩子数量以获得一个增数的装置;以及
将所选择的数位的值设置成等于所述增数的值的装置。
75.如权利要求73所述的装置,其中:
每项数据表示一个消息;
数据的孩子表示对由该数据表示的消息的回复;并且
数据的双亲表示一个消息,该数据表示对该消息的回复。
76.如权利要求73所述的装置,其中:
每项数据表示一个容器;
数据的孩子表示一个容器,该容器位于该数据所表示的容器之内;并且
数据的双亲表示一个容器,其包含由该数据表示的容器。
77.一种计算机可读介质,其包含可由计算机执行的指令,以执行一种在具有多个层级和多个层深的层次数据集中对数据贴标签的方法,该方法包括:
确定该数据的层级;
确定该数据的层深;以及
将标签分配给该数据,包括:
确定所述数据的直接双亲;
选择所述数据的直接双亲的标签,其中所述标签是一个具有多个
数位的数,每个所述数位表示所述层次数据集的一个层深;
选择所选择的标签的一个数位,该数位表示所述数据的层深;
将一个值分配给所选择的数位,该值表示所述数据的层级。
78.如权利要求77所述的介质,其中“将一个值分配给所选择的数位”包括:
确定所述数据的直接双亲的已有标签的孩子的数量;
增加所述孩子数量以获得一个增数;以及
将所选择的数位的值设置成等于所述增数的值。
79.如权利要求77所述的介质,其中:
每项数据表示一个消息;
数据的孩子表示对由该数据表示的消息的回复;并且
数据的双亲表示一个消息,该数据表示对该消息的回复。
80.如权利要求77所述的介质,其中:
每项数据表示一个容器;
数据的孩子表示一个容器,该容器位于该数据所表示的容器之内;并且
数据的双亲表示一个容器,其包含由该数据表示的容器。
81.一种用于层次数据集中的数据的唯一标签,该层次数据集具有多个层级和多个层深,所述标签包括:
具有多个数位的数,每个数位表示所述层次数据集的一个层深;并且其中
非零最低有效数位的位置表示所述数据的层深;
非零最低有效数位的值表示所述数据的层级;并且
有效性比所述非零最低有效数位高的数位表示所述数据的双亲。
82.一种存储器,用于存储数据以供正在数据处理系统上运行的应用程序访问,该存储器包括:
存储在该存储器中的数据结构,该数据结构包括一种具有多个层级和多个层深的层次数据集,所述层次数据集包括用于数据的唯一标签,该标签包括:
具有多个数位的数,每个数位表示所述层次数据集的一个层深;并且其中
非零最低有效数位的位置表示所述数据的层深;
非零最低有效数位的值表示所述数据的层级;并且
有效性比所述非零最低有效数位高的数位表示所述数据的双亲。
CNB038048809A 2002-02-28 2003-02-28 在线索化讨论应用中高效存储缩进式线索 Expired - Fee Related CN100416491C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/085,780 2002-02-28
US10/085,780 US7031977B2 (en) 2002-02-28 2002-02-28 Efficiently storing indented threads in a threaded discussion application

Publications (2)

Publication Number Publication Date
CN1639682A true CN1639682A (zh) 2005-07-13
CN100416491C CN100416491C (zh) 2008-09-03

Family

ID=27753712

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB038048809A Expired - Fee Related CN100416491C (zh) 2002-02-28 2003-02-28 在线索化讨论应用中高效存储缩进式线索

Country Status (8)

Country Link
US (8) US7031977B2 (zh)
EP (1) EP1485791A4 (zh)
JP (1) JP2005519370A (zh)
KR (1) KR20040104465A (zh)
CN (1) CN100416491C (zh)
AU (1) AU2003213723A1 (zh)
CA (1) CA2477733A1 (zh)
WO (1) WO2003073263A1 (zh)

Families Citing this family (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7031977B2 (en) * 2002-02-28 2006-04-18 Plumtree Software, Inc. Efficiently storing indented threads in a threaded discussion application
GB0315156D0 (en) * 2003-06-28 2003-08-06 Ibm Identification system and method
US7269621B2 (en) 2004-03-31 2007-09-11 Google Inc. Method system and graphical user interface for dynamically updating transmission characteristics in a web mail reply
US7912904B2 (en) * 2004-03-31 2011-03-22 Google Inc. Email system with conversation-centric user interface
US9819624B2 (en) 2004-03-31 2017-11-14 Google Inc. Displaying conversations in a conversation-based email system
US7814155B2 (en) * 2004-03-31 2010-10-12 Google Inc. Email conversation management system
KR100457325B1 (ko) * 2004-07-09 2004-11-17 엔에이치엔(주) 메세지 송수신 및 게시 시스템 및 송수신 및 게시 방법
US7979501B1 (en) 2004-08-06 2011-07-12 Google Inc. Enhanced message display
US8042037B1 (en) * 2004-10-29 2011-10-18 Glovia International, Inc. Sequencing of markup language documents
US8055715B2 (en) * 2005-02-01 2011-11-08 i365 MetaLINCS Thread identification and classification
US9002725B1 (en) 2005-04-20 2015-04-07 Google Inc. System and method for targeting information based on message content
US8745485B2 (en) * 2005-08-18 2014-06-03 Oracle International Corporation Extensible remote tag markup system and method
US8225231B2 (en) 2005-08-30 2012-07-17 Microsoft Corporation Aggregation of PC settings
US7949714B1 (en) * 2005-12-05 2011-05-24 Google Inc. System and method for targeting advertisements or other information using user geographical information
US8601004B1 (en) 2005-12-06 2013-12-03 Google Inc. System and method for targeting information items based on popularities of the information items
US20070226295A1 (en) * 2006-03-23 2007-09-27 Nokia Corporation Method and apparatuses for retrieving messages
US20080281863A1 (en) * 2007-05-10 2008-11-13 Hewlett-Packard Development Company, L.P. Repository system and method
US20090083338A1 (en) * 2007-09-21 2009-03-26 Microsoft Corporation Synchronization of electronic postings
US20100087173A1 (en) * 2008-10-02 2010-04-08 Microsoft Corporation Inter-threading Indications of Different Types of Communication
US8411046B2 (en) 2008-10-23 2013-04-02 Microsoft Corporation Column organization of content
US8086275B2 (en) 2008-10-23 2011-12-27 Microsoft Corporation Alternative inputs of a mobile communications device
US8385952B2 (en) 2008-10-23 2013-02-26 Microsoft Corporation Mobile communications device user interface
US8238876B2 (en) 2009-03-30 2012-08-07 Microsoft Corporation Notifications
US8175653B2 (en) 2009-03-30 2012-05-08 Microsoft Corporation Chromeless user interface
US8355698B2 (en) 2009-03-30 2013-01-15 Microsoft Corporation Unlock screen
US8836648B2 (en) 2009-05-27 2014-09-16 Microsoft Corporation Touch pull-in gesture
US9361604B2 (en) 2010-09-23 2016-06-07 Avaya Inc. System and method for a context-based rich communication log
US20120159395A1 (en) 2010-12-20 2012-06-21 Microsoft Corporation Application-launching interface for multiple modes
US20120159383A1 (en) 2010-12-20 2012-06-21 Microsoft Corporation Customization of an immersive environment
US8689123B2 (en) 2010-12-23 2014-04-01 Microsoft Corporation Application reporting in an application-selectable user interface
US8612874B2 (en) 2010-12-23 2013-12-17 Microsoft Corporation Presenting an application change through a tile
US9423951B2 (en) 2010-12-31 2016-08-23 Microsoft Technology Licensing, Llc Content-based snap point
US9026591B2 (en) 2011-02-28 2015-05-05 Avaya Inc. System and method for advanced communication thread analysis
US9383917B2 (en) 2011-03-28 2016-07-05 Microsoft Technology Licensing, Llc Predictive tiling
US20120284648A1 (en) * 2011-04-21 2012-11-08 Michael John Marshall Cascading Data Displays and Methods
US9658766B2 (en) 2011-05-27 2017-05-23 Microsoft Technology Licensing, Llc Edge gesture
US20120304132A1 (en) 2011-05-27 2012-11-29 Chaitanya Dev Sareen Switching back to a previously-interacted-with application
US9104307B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US9104440B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US8893033B2 (en) 2011-05-27 2014-11-18 Microsoft Corporation Application notifications
US9158445B2 (en) 2011-05-27 2015-10-13 Microsoft Technology Licensing, Llc Managing an immersive interface in a multi-application immersive environment
US8972409B2 (en) 2011-07-27 2015-03-03 Google Inc. Enabling search for conversations with two messages each having a query team
KR101801359B1 (ko) * 2011-07-28 2017-11-24 엘지전자 주식회사 이동 단말기
US8687023B2 (en) 2011-08-02 2014-04-01 Microsoft Corporation Cross-slide gesture to select and rearrange
US20130057587A1 (en) 2011-09-01 2013-03-07 Microsoft Corporation Arranging tiles
US8922575B2 (en) 2011-09-09 2014-12-30 Microsoft Corporation Tile cache
US9557909B2 (en) 2011-09-09 2017-01-31 Microsoft Technology Licensing, Llc Semantic zoom linguistic helpers
US10353566B2 (en) 2011-09-09 2019-07-16 Microsoft Technology Licensing, Llc Semantic zoom animations
US8933952B2 (en) 2011-09-10 2015-01-13 Microsoft Corporation Pre-rendering new content for an application-selectable user interface
US9244802B2 (en) 2011-09-10 2016-01-26 Microsoft Technology Licensing, Llc Resource user interface
US9146670B2 (en) 2011-09-10 2015-09-29 Microsoft Technology Licensing, Llc Progressively indicating new content in an application-selectable user interface
US9223472B2 (en) 2011-12-22 2015-12-29 Microsoft Technology Licensing, Llc Closing applications
US9128605B2 (en) 2012-02-16 2015-09-08 Microsoft Technology Licensing, Llc Thumbnail-image selection of applications
US9600132B2 (en) * 2012-11-27 2017-03-21 Microsoft Technology Licensing, Llc Using custom RTF commands to extend chat functionality
US9450952B2 (en) 2013-05-29 2016-09-20 Microsoft Technology Licensing, Llc Live tiles without application-code execution
WO2015149347A1 (en) 2014-04-04 2015-10-08 Microsoft Technology Licensing, Llc Expandable application representation
CN105378582B (zh) 2014-04-10 2019-07-23 微软技术许可有限责任公司 计算设备的可折叠壳盖
KR20160143784A (ko) 2014-04-10 2016-12-14 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 컴퓨팅 디바이스용 슬라이더 커버
US9396354B1 (en) 2014-05-28 2016-07-19 Snapchat, Inc. Apparatus and method for automated privacy protection in distributed images
US9537811B2 (en) 2014-10-02 2017-01-03 Snap Inc. Ephemeral gallery of ephemeral messages
US9113301B1 (en) 2014-06-13 2015-08-18 Snapchat, Inc. Geo-location based event gallery
US10254942B2 (en) 2014-07-31 2019-04-09 Microsoft Technology Licensing, Llc Adaptive sizing and positioning of application windows
US10678412B2 (en) 2014-07-31 2020-06-09 Microsoft Technology Licensing, Llc Dynamic joint dividers for application windows
US10592080B2 (en) 2014-07-31 2020-03-17 Microsoft Technology Licensing, Llc Assisted presentation of application windows
US10642365B2 (en) 2014-09-09 2020-05-05 Microsoft Technology Licensing, Llc Parametric inertia and APIs
US10824654B2 (en) 2014-09-18 2020-11-03 Snap Inc. Geolocation-based pictographs
US10284508B1 (en) 2014-10-02 2019-05-07 Snap Inc. Ephemeral gallery of ephemeral messages with opt-in permanence
US9674335B2 (en) 2014-10-30 2017-06-06 Microsoft Technology Licensing, Llc Multi-configuration input device
US9385983B1 (en) 2014-12-19 2016-07-05 Snapchat, Inc. Gallery of messages from individuals with a shared interest
US10311916B2 (en) 2014-12-19 2019-06-04 Snap Inc. Gallery of videos set to an audio time line
US10133705B1 (en) 2015-01-19 2018-11-20 Snap Inc. Multichannel system
KR102035405B1 (ko) 2015-03-18 2019-10-22 스냅 인코포레이티드 지오-펜스 인가 프로비저닝
US10135949B1 (en) 2015-05-05 2018-11-20 Snap Inc. Systems and methods for story and sub-story navigation
US10354425B2 (en) 2015-12-18 2019-07-16 Snap Inc. Method and system for providing context relevant media augmentation
US10582277B2 (en) 2017-03-27 2020-03-03 Snap Inc. Generating a stitched data stream

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02272645A (ja) * 1989-04-14 1990-11-07 Hitachi Ltd プログラム・デバツグ支援方法
US5428529A (en) * 1990-06-29 1995-06-27 International Business Machines Corporation Structured document tags invoking specialized functions
GB2273179A (en) * 1992-12-02 1994-06-08 Ibm Cache indexing in interative processes.
US6339767B1 (en) * 1997-06-02 2002-01-15 Aurigin Systems, Inc. Using hyperbolic trees to visualize data generated by patent-centric and group-oriented data processing
US5557786A (en) * 1994-01-24 1996-09-17 Advanced Computer Applications, Inc. Threaded, height-balanced binary tree data structure
US5724577A (en) * 1995-06-07 1998-03-03 Lockheed Martin Corporation Method for operating a computer which searches a relational database organizer using a hierarchical database outline
US5907837A (en) * 1995-07-17 1999-05-25 Microsoft Corporation Information retrieval system in an on-line network including separate content and layout of published titles
US6427147B1 (en) * 1995-12-01 2002-07-30 Sand Technology Systems International Deletion of ordered sets of keys in a compact O-complete tree
US6161126A (en) * 1995-12-13 2000-12-12 Immersion Corporation Implementing force feedback over the World Wide Web and other computer networks
US6014137A (en) * 1996-02-27 2000-01-11 Multimedia Adventures Electronic kiosk authoring system
US5894554A (en) * 1996-04-23 1999-04-13 Infospinner, Inc. System for managing dynamic web page generation requests by intercepting request at web server and routing to page server thereby releasing web server to process other requests
US5881379A (en) * 1996-05-20 1999-03-09 International Business Machines Corporation System, method, and program for using duplicated direct pointer sets in keyed database records to enhance data recoverability without logging
US6014638A (en) * 1996-05-29 2000-01-11 America Online, Inc. System for customizing computer displays in accordance with user preferences
US5819271A (en) * 1996-06-04 1998-10-06 Multex Systems, Inc. Corporate information communication and delivery system and method including entitlable hypertext links
IL118959A (en) * 1996-07-26 1999-07-14 Ori Software Dev Ltd Database apparatus
US5754755A (en) * 1996-10-10 1998-05-19 Microsoft Corporation Method and system for generating test scripts
US6128663A (en) * 1997-02-11 2000-10-03 Invention Depot, Inc. Method and apparatus for customization of information content provided to a requestor over a network using demographic information yet the user remains anonymous to the server
US6026433A (en) 1997-03-17 2000-02-15 Silicon Graphics, Inc. Method of creating and editing a web site in a client-server environment using customizable web site templates
US6131744A (en) * 1997-05-02 2000-10-17 Micro Beef Technologies, Inc. System and method for recycling identification tags
US6112192A (en) * 1997-05-09 2000-08-29 International Business Machines Corp. Method for providing individually customized content in a network
US6865715B2 (en) * 1997-09-08 2005-03-08 Fujitsu Limited Statistical method for extracting, and displaying keywords in forum/message board documents
US5974445A (en) * 1997-10-28 1999-10-26 International Business Machines Corporation Web browser which checks availability of hot links
JP3189886B2 (ja) * 1997-10-30 2001-07-16 日本電気株式会社 半導体記憶装置
US6353824B1 (en) * 1997-11-18 2002-03-05 Apple Computer, Inc. Method for dynamic presentation of the contents topically rich capsule overviews corresponding to the plurality of documents, resolving co-referentiality in document segments
US5953724A (en) * 1997-11-24 1999-09-14 Lowry Software, Incorporated Global database library data structure for hierarchical graphical listing computer software
US6065120A (en) * 1997-12-09 2000-05-16 Phone.Com, Inc. Method and system for self-provisioning a rendezvous to ensure secure access to information in a database from multiple devices
US6675173B1 (en) * 1998-01-22 2004-01-06 Ori Software Development Ltd. Database apparatus
US6185614B1 (en) * 1998-05-26 2001-02-06 International Business Machines Corp. Method and system for collecting user profile information over the world-wide web in the presence of dynamic content using document comparators
US6112209A (en) * 1998-06-17 2000-08-29 Gusack; Mark David Associative database model for electronic-based informational assemblies
US6415283B1 (en) * 1998-10-13 2002-07-02 Orack Corporation Methods and apparatus for determining focal points of clusters in a tree structure
US6134548A (en) * 1998-11-19 2000-10-17 Ac Properties B.V. System, method and article of manufacture for advanced mobile bargain shopping
DE19853278A1 (de) * 1998-11-19 2000-05-25 Aventis Pharma Gmbh Substituierte 4-Amino-2-aryl-cyclopenta[d]pyrimidine, ihre Herstellung, ihre Verwendung und sie enthaltende pharmazeutische Präparate
US6279007B1 (en) * 1998-11-30 2001-08-21 Microsoft Corporation Architecture for managing query friendly hierarchical values
JP3256518B2 (ja) * 1999-04-28 2002-02-12 シャープ株式会社 光ディスク及び光ディスク装置
US6421072B1 (en) * 1999-06-03 2002-07-16 International Business Machines Corporation Displaying a complex tree structure among multiple windows
US6496853B1 (en) * 1999-07-12 2002-12-17 Micron Technology, Inc. Method and system for managing related electronic messages
JP3941292B2 (ja) * 1999-07-26 2007-07-04 日本電気株式会社 ページ情報表示方法及び装置並びにページ情報表示用のプログラム又はデータを記憶した記憶媒体
US6327628B1 (en) * 2000-05-19 2001-12-04 Epicentric, Inc. Portal server that provides a customizable user Interface for access to computer networks
JP2001357051A (ja) 2000-06-15 2001-12-26 Ricoh Co Ltd 文書管理装置
US6683632B2 (en) * 2000-12-08 2004-01-27 Xerox Corporation Method and system for presenting semilinear hierarchy
JP4213360B2 (ja) * 2001-05-15 2009-01-21 株式会社東芝 知識蓄積支援システムおよび同システムにおける返信メッセージ処理方法
US6480857B1 (en) * 2001-06-07 2002-11-12 David Chandler Method of organizing hierarchical data in a relational database
US7305402B2 (en) * 2001-10-10 2007-12-04 International Business Machines Corporation Adaptive indexing technique for use with electronic objects
US7031977B2 (en) 2002-02-28 2006-04-18 Plumtree Software, Inc. Efficiently storing indented threads in a threaded discussion application

Also Published As

Publication number Publication date
KR20040104465A (ko) 2004-12-10
US8341126B2 (en) 2012-12-25
US20030163446A1 (en) 2003-08-28
US7031977B2 (en) 2006-04-18
AU2003213723A1 (en) 2003-09-09
EP1485791A1 (en) 2004-12-15
CA2477733A1 (en) 2003-09-04
US7254585B2 (en) 2007-08-07
US7660827B2 (en) 2010-02-09
US20060085458A1 (en) 2006-04-20
WO2003073263A1 (en) 2003-09-04
EP1485791A4 (en) 2007-10-24
US20070106634A1 (en) 2007-05-10
US20040267817A1 (en) 2004-12-30
US7171429B2 (en) 2007-01-30
US20040210576A1 (en) 2004-10-21
US7653660B2 (en) 2010-01-26
US20080010314A1 (en) 2008-01-10
US7174330B2 (en) 2007-02-06
US20070106635A1 (en) 2007-05-10
JP2005519370A (ja) 2005-06-30
US20040210569A1 (en) 2004-10-21
CN100416491C (zh) 2008-09-03

Similar Documents

Publication Publication Date Title
CN100416491C (zh) 在线索化讨论应用中高效存储缩进式线索
US6725223B2 (en) Storage format for encoded vector indexes
Subramanian et al. Performance challenges in object-relational DBMSs
EP1643384B1 (en) Query forced indexing
US7788287B2 (en) System and method for storing and accessing data in an interlocking trees datastore
US7685136B2 (en) Method, system and program product for managing document summary information
US7734657B2 (en) Containment hierarchy in a database system
US20100198881A1 (en) Method of data storage and management
US7613715B2 (en) Map and data location provider
US6356888B1 (en) Utilize encoded vector indexes for distinct processing
US20040078355A1 (en) Information management system
US7020647B1 (en) Utilize encoded vector indexing for database grouping
US6978272B1 (en) Method and apparatus for displaying instrumentation parameters in a database system
KR20030065860A (ko) 엑스엠엘 계층구조를 이용한 비디오 검색 시스템 및 그 방법
CN113297207A (zh) 数据处理方法、装置及设备
CN117539872A (zh) 一种数据二级索引的方法与终端
US7676477B1 (en) Utilities for deriving values and information from within an interlocking trees data store
Philip et al. Efficient storage organization for the execution of visual queries in large object databases
JPH07105063A (ja) 時系列データのファイル格納方法

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080903