CN102945242B - 管理数据的方法、系统和计算机系统 - Google Patents

管理数据的方法、系统和计算机系统 Download PDF

Info

Publication number
CN102945242B
CN102945242B CN201210350046.7A CN201210350046A CN102945242B CN 102945242 B CN102945242 B CN 102945242B CN 201210350046 A CN201210350046 A CN 201210350046A CN 102945242 B CN102945242 B CN 102945242B
Authority
CN
China
Prior art keywords
data cell
key assignments
index
block
data
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.)
Active
Application number
CN201210350046.7A
Other languages
English (en)
Other versions
CN102945242A (zh
Inventor
埃弗雷姆.M.维施尼亚克
马歇尔.A.伊斯曼
保罗.贝
H.马克.布罗姆利
约翰.L.理查森
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.)
Ab Initio Technology LLC
Original Assignee
Ab Initio Technology LLC
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 Ab Initio Technology LLC filed Critical Ab Initio Technology LLC
Publication of CN102945242A publication Critical patent/CN102945242A/zh
Application granted granted Critical
Publication of CN102945242B publication Critical patent/CN102945242B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; 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
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Storage Device Security (AREA)

Abstract

提供一种用于管理数据的方法,该方法包括:接收可单独访问的数据单元,每个数据单元由各自的键值来识别;存储多个数据块,至少一些块中的每一个是通过压缩多个接收的数据单元而生成的;以及管理各块中用于搜索数据单元的索引的集合,其中所述索引的集合中的第一索引包括针对每个所述块的条目,所述条目基于第一键值使能包括各数据单元的块的位置,所述数据单元对应于包括所述第一键值的各键值的范围,所述索引的集合还包括第二索引,所述第二索引包括用于从对应于所述第一键值的数据单元的属性值确定所述第一键值的条目。

Description

管理数据的方法、系统和计算机系统
本申请是申请日为2007年10月29日、申请号为200780040946.9、发明名称为“管理可单独访问的数据单元的存储器”的发明专利申请的分案申请。
技术领域
本发明涉及管理可单独访问的数据单元的存储器。本发明具体涉及用于管理数据的方法、系统和计算机系统。
背景技术
数据库系统可以用多种格式中任意一种存储数据或“记录”的可单独访问(individuallyaccessible)单元。每个记录可以对应诸如信用卡交易这样的逻辑实体,并且典型地具有用于唯一识别该记录的关联的主键(primarykey)。该记录可以包括与记录格式的各个字段(field)相关联的多个值。所述记录可以存储在一个或多个文件中(例如,平面文件或诸如XML文件这样的结构数据文件)。在压缩的数据库系统中,记录中的单独记录或值可以在存储时压缩,并在访问时解压缩,以降低系统的存储要求。
发明内容
在一个方面,一般来说,用于管理数据的方法包括:接收可单独访问的数据单元,每个数据单元由键值来识别(identify);存储多个数据块,至少一些块中的每一个是通过组合多个所述数据单元而生成的;以及提供包括用于每个所述块的条目(entry)的索引,其中,一个或多个条目基于所提供的键值使能包括数据单元的块的位置,该数据单元与包括所提供的键值的键值范围对应。
在另一个方面,一般来说,用于管理数据的系统包括:用于接收可单独访问的数据单元的装置,每个数据单元由键值来识别;用于存储多个数据块的装置,至少一些块中的每一个是通过组合多个所述数据单元而生成的;以及用于提供包括用于每个所述块的条目的索引的装置,其中,一个或多个条目基于所提供的键值使能包括数据单元的块的位置,该数据单元与包括所提供的键值的键值范围对应。
在再一个方面,一般来说,存储在计算机可读介质上的用于管理数据的计算机程序,包括用于使计算机执行以下步骤的指令:接收可单独访问的数据单元,每个数据单元由键值来识别;存储多个数据块,至少一些块中的每一个是通过组合多个所述数据单元而生成的;以及提供包括用于每个所述块的条目的索引,其中,一个或多个条目基于所提供的键值使能包括数据单元的块的位置,该数据单元与包括所提供的键值的键值范围对应。
在另一个方面,一般来说,用于管理数据的方法包括:接收可单独访问的数据单元,每个数据单元由各自的键值来识别;存储多个数据块,至少一些块中的每一个是通过压缩多个接收的数据单元而生成的;以及管理各块中用于搜索数据单元的索引的集合,其中所述索引的集合中的第一索引包括针对每个所述块的条目,所述条目基于第一键值使能包括各数据单元的块的位置,所述数据单元对应于包括所述第一键值的各键值的范围,所述索引的集合还包括第二索引,所述第二索引包括用于从对应于所述第一键值的数据单元的属性值确定所述第一键值的条目。
在另一个方面,一般来说,用于管理数据的计算机系统包括:输入设备,配置为接收可单独访问的数据单元,每个数据单元由各自的键值来识别;至少一个处理器,配置为处理数据单元,该处理包括:存储多个数据块,至少一些块中的每一个是通过压缩多个接收的数据单元而生成的;以及管理各块中用于搜索数据单元的索引的集合,其中所述索引的集合中的第一索引包括针对每个所述块的条目,所述条目基于第一键值使能包括各数据单元的块的位置,所述数据单元对应于包括所述第一键值的各键值的范围,所述索引的集合还包括第二索引,所述第二索引包括用于从对应于所述第一键值的数据单元的属性值确定所述第一键值的条目。
在另一个方面,一般来说,用于管理数据的系统包括:用于接收可单独访问的数据单元的装置,每个数据单元由各自的键值来识别;用于存储多个数据块的装置,至少一些块中的每一个是通过压缩多个接收的数据单元而生成的;以及用于管理各块中用于搜索数据单元的索引的集合的装置,其中所述索引的集合中的第一索引包括针对每个所述块的条目,所述条目基于第一键值使能包括各数据单元的块的位置,所述数据单元对应于包括所述第一键值的各键值的范围,所述索引的集合还包括第二索引,所述第二索引包括用于从对应于所述第一键值的数据单元的属性值确定所述第一键值的条目。
这些方面可以包括一个或多个下列特征。
至少一些块是通过基于所述键值的定义的顺序(definedorder)来组合所述数据单元而生成的。
所述定义的顺序是字母顺序(alphabetical)。
所述定义的顺序是数字顺序(numerical)。
各个块是从数据单元的各个集合生成的,并且这些集合根据定义的顺序对应于无重叠的键值范围。
索引中的一个或多个条目识别与对应块从其生成的数据单元对应的键值范围。
所述键值范围由包括键值范围的至少一个极值的信息来识别。
所述键值范围由来自索引中第一条目的第一极值和来自索引中第二条目的第二极值来识别。
所述键值范围由包括与对应块从其生成的数据单元相关联的键值的至少一个极值的信息来识别。
所述键值范围由来自索引中第一条目的第一极值和来自索引中第二条目的第二极值来识别。
索引中至少一些条目中的每一个识别对应块的存储位置。
通过组合多个数据单元生成块包括压缩数据单元的集合。
解压缩通过压缩数据单元的集合而生成的块包括处理整个块。
所述数据单元是每个都具有一个或多个与对应字段相关联的值的记录。
识别所接收的数据单元的键值对应于在被接收之前与给定数据单元相关联的一个或多个字段。
识别所接收的数据单元的键值被分配给在被接收之后的数据单元。
键值被单调地(monotonically)分配。
键值被顺序地(sequentially)分配。
所存储的数据块被存储为块的第一集合。
所述块的第一集合被存储在文件中。
存储一个或多个数据块的第二集合,所述第二集合中的至少一些块的每一个是从在存储所述块的第一集合之后接收到的多个数据单元中生成的。
所述第二集合中的至少一些块是通过压缩数据单元的集合而生成的。
提供包括用于第二集合中每个块的条目的索引,其中,一个或多个条目基于所提供的键值使能包括数据单元的块的位置,该数据单元与包括所提供的键值的键值范围对应。
处理块的第一和第二集合,以便恢复从其生成块的数据单元;根据与所述数据单元对应的键值的顺序,排序从第一集合中恢复的数据单元和从第二集合中恢复的数据单元,以生成经排序的数据单元的集合;以及生成块的第三集合,所述第三集合中至少一些块的每一个是通过组合多个经排序的数据单元而生成的。
排序从第一集合中恢复的数据单元和从第二集合恢复的数据单元包括,根据与所述数据单元对应的键值的顺序,合并从第一集合恢复的数据单元和从第二集合恢复的数据单元,以生成经排序的数据单元的集合。
提供包括用于第三集合中每个块的条目的第三集合的索引,其中,一个或多个条目基于所提供的键值使能包括数据单元的块的位置,所述数据单元与包括所提供的键值的键值范围对应。
提供与所存储的块相关联的筛选数据结构(screeningdatastructure),用于确定包括给定属性值的数据单元包括在从其生成所述块的数据单元中的可能性(possibility)。
所述属性值包括识别单元的键值。
所述筛选数据结构对于给定属性值确定包括给定属性值的数据单元肯定没有包括(definitelynotincluded),或者包括给定属性值的数据单元可能被包括(possiblyincluded)。
当所述数据单元没有被包括时,所述筛选数据结构确定包括给定属性值的数据单元可能被包括的概率(probability)取决于所述数据结构的大小
基于从其生成所述块的数据单元的数目来选择筛选数据结构的大小。
提供与所存储的块相关联的次级索引,用于确定包括给定属性值的数据单元的一个或多个键值。
所述数据单元是每个都具有与对应字段相关联的一个或多个值的记录,识别记录的键值对应于主键值,并且与次级索引相关联的属性值对应于所述辅键值。
所述次级索引包括表,该表具有通过所述数据单元中的属性值而非键值进行排序的行。
这些方面可以包括一个或多个下列优点。
通过压缩多个记录的块,可以实现比单独压缩记录更高的压缩度。索引的块(indexedblocks)提供在无需从压缩记录的文件开头进行解压缩的条件下访问给定记录的能力。块的大小可以选择为足够大以提供高压缩度,以及选择为足够小以限制访问块内给定记录所需的解压缩量。可以使用这样的压缩技术来压缩每个块:这些技术不需要提供从压缩块的任意位置开始解压缩的能力。从而可以使用提供较大压缩度的技术。
通过存储识别与从其生成对应块的记录相对应的键值范围的索引,由于不需要具有每个记录的条目,所以索引可以被保持得很小(例如,小到足以适应相对较快的存储器)。索引条目使能可以载入(loaded)和解压缩的一个或多个块的位置,以便恢复能够用来搜索期望记录的记录集合。将签字与压缩块相关联可以表示期望记录不存在,排除了载入压缩块以搜索该记录的需要。
其它特征和优点将从下面的说明以及权利要求中变得清楚。
附图说明
图1是用于存储和检索记录的系统的框图。
图2A、2B、2C和2D是由系统处理和存储在系统中的数据的示意图。
图3A和3B是示出对于不同的签字大小的错误肯定概率(falsepositiveprobability)的表。
图4A和4B是用于搜索记录的过程的流程图。
具体实施方式
参照图1,记录存储与检索系统100从一个或多个源接受数据,如SOURCEA(源A)-SOURCEC(源C)。数据包括能够表示为可单独访问的数据单元的信息。例如,信用卡公司可以从各种零售公司接收表示单个交易的数据。每笔交易都与表示属性的值相关联,所述属性诸如客户名字、日期、购买量等。记录处理模块102确保所述数据根据预定记录格式被格式化,以使得与交易相关联的值被存储在记录中。在某些情况下,这可以包括根据记录格式转换来自源的数据。在其它情况下,一个或多个源可以提供已经根据记录格式被格式化的数据。
记录处理模块102通过识别每个记录的主键(primarykey)值排序记录(例如,识别单个记录的唯一键、或者识别记录的多个更新的版本的键),并且将记录分成与主键值的不重叠范围相对应的记录集合。例如,每个记录集合可以对应于预定数目的记录(例如,100个记录)。压缩模块104将每个记录集合压缩到经压缩的数据块中。这些压缩的块被存储在记录存储器106中的压缩记录文件中(例如,如一个或多个硬盘驱动器的非易失性存储介质中)。系统100还包括提供索引的索引与搜索模块108,所述索引包括每个块的条目。该索引用于定位可能包括给定记录的块,如下面更详细描述的。该索引可以存储在索引存储器110中的索引文件中。例如,索引文件可以作为压缩记录文件存储在相同存储介质中,由于索引文件典型地远小于压缩记录文件,因而索引文件可以优选地存储在相对较快的存储器中(例如,如动态随机存取存储器的易失性存储介质)。
在系统100的可替换实施例中,可以使用除了压缩之外的功能或者取代压缩功能来处理记录集合以生成块,以便将记录以某种方式组合(即,以使得块不仅仅只是连续的记录集合)。例如,某些系统处理记录集合,以便生成加密数据块。
接口模块112向人们和/或诸如AGENTA(代理A)-AGENTD(代理D)这样的计算机代理提供对所存储的记录的访问。例如,接口模块112可以实现在线账户(account)系统,以便信用卡顾客监视他们的交易。对满足各种准则的交易信息的请求可以由系统100来处理,并且可以从存储在记录存储器106中的压缩块中检索相应的记录。
在对来自一个或多个源的输入记录流进行处理以便生成压缩记录文件之前可以将其暂时存储。参照图2,系统100检索将要存储在压缩记录文件中的记录集合200,并且根据主键的值对记录进行排序。
主键值可以唯一地识别数据库中可以由一个或多个记录表示的给定项(item)(例如,每个具有给定主键值的记录可以对应于不同更新版本的项)。主键可以是与记录的一个或多个已有字段对应的“固有键(naturalkey)”。如果没有保证对每个项都是唯一字段,那么主键可以是包含记录的多个字段的复合键,该多个字段一起保证或者非常可能对每个记录是唯一的。可替换地,主键可以是在被接收之后分配给每个记录的“合成键(synthetickey)”。例如,系统100可以将顺序递增的整数或者某些其它单调变化值(monotonicallyprogressingvalues)的序列(例如,时戳)作为唯一的主键值进行分配。在这种情况下,表示不同版本的相同条目的记录可以被分配不同的合成键值。如果使用整数,那么可能的主键值的范围(例如,如由所使用的比特数所确定的)可以足够大以使得如果主键值滚计(rollover),则先前被分配以给定主键值的任何记录都已经从压缩记录文件中去除。例如,旧的交易可以被去除并且存档或者丢弃。
在图2A中所示的例子中,记录200由按字母排序的主键值来识别:A、AB、CZ……。系统100压缩具有主键值A-DD的N个记录的第一集合,以生成标记为BLOCK1(块1)的对应压缩块。下一个记录集合包括具有主键值DX-GF的下N个排序的记录。压缩模块104可以使用各种无损数据压缩算法中的任意一种(例如,Lempel-Ziv型算法)。每个连续压缩块被组合,形成压缩记录文件202。
可以选择用于生成压缩块的记录的数目N,以在压缩效率和解压缩速度之间进行权衡(tradeoff)。所述压缩可以通过给定因子R来平均缩减数据的大小,该因子R取决于被压缩的数据的本质(nature)以及被压缩的数据的大小(例如,当更多数据被压缩时,R典型地较小)。所述压缩还可以具有平均大小O相关联的开销(overhead)(例如,压缩相关数据)。从每个大小为X的M个记录中生成的、结果得到的压缩记录文件的平均大小可以被表达为[M/N](RNX+O),对于大量块来说,可以近似为RMX+OM/N。从而,在某些情况下,较大的值N可以通过减小R以及减少开销对文件大小的份额(contribution)两者来提供较大压缩。较小的N值减少解压缩给定压缩块以访问可能包含在该块中的记录所需的时间。
在其它实施方式中,不同的压缩块可以包括不同数目的记录。每个块可以根据预定范围具有一定数目的记录(anumberofrecords)。例如,第一块包括具有主键值1-1000的记录,并且第二块包括具有主键值1001-2000的记录,等等。本例中压缩块中的记录的数目可以是不同的,因为不是每个主键值都必须存在(例如,在已有数字字段被用作固有键的情况下)。
在某些实施方式中,不同的压缩块在某些情况下可以包括目标数目的记录,并且在例外情况下,可以包括更多或更少的记录。例如,如果记录集合以这样的记录结尾:该记录的主键值不同于以排序顺序中之后记录的主键值,那么那些记录用于生成压缩块。如果记录集合以这样的记录结尾:该记录的主键值与排序顺序中之后记录的主键值相同,那么具有主键值的所有附加记录都被添加到该集合中。通过这种方式,相同的主键值不从一个压缩块跨到(crossover)另一个压缩块。
索引与搜索模块108对每一个压缩块的生成索引文件204中的条目。索引条目包括识别每个压缩块的键字段206,例如,通过相应的未压缩的记录集合中的第一个记录的主键。这些条目还包括位置字段208,其识别压缩记录文件202中经识别的压缩块的存储位置。例如,位置字段可以包含以记录存储器106中的绝对地址的形式的指针,或者以从记录存储器106中压缩记录文件202的开始地址开始的偏移量的形式的指针。
为了在压缩记录文件202中搜索给定记录,模块108可以基于键字段206执行对索引文件204的搜索(例如,二进制搜索)。对提供的键值(例如,由代理之一提供的),模块108定位包括与键值范围对应的记录的块,所述键值范围包括提供的键值。带有所提供的键值的记录可以已经包括在用于生成定位的块的记录集合中或者可以未包括在其中,但是,如果该记录存在于记录200中,那么由于记录200按主键值进行了排序,则该记录应当已经被包括。然后,模块108解压缩定位的块,并且用提供的键值搜索记录。在主键值对每个记录不是唯一的情况下,模块108可以用提供的键值在压缩块中找出多个记录。在本例中,键字段206包括集合中第一个记录的主键,模块108搜索分别具有早于和晚于所提供的键值的键值的两个连续索引条目,并且返回与具有较早键值的条目相对应的块。在某些情况下,所提供的键值可以与索引条目中的键值相同,在这种情况下模块108返回与该条目相对应的块。
在不同的实施方式中,在索引文件204中的条目有不同方法来识别与从其生成相应块的记录相对应的键值范围。如图2A中所示的实施方式中,键值范围可以是用于生成块的记录的两个键值极值之间的范围(例如,在按字母顺序的主键值的排序序列中的第一个和最后一个,或者在按数字顺序的主键值的排序序列中的最小值和最大值)。索引条目可以包括定义所述范围的极值中的一个或两者。在某些实施方式中,如果索引条目包括针对给定块定义的范围的最小键值,那么压缩记录中与最后一个块相关联的最后一个索引条目还可以包括定义该块的范围的最大键值。然后,该最大键值可以在搜索压缩记录文件时使用,以便确定何时给定键值在范围之外。
可替换地,键值范围可以扩展到用于生成块的记录的键值之外的范围。例如,在从具有1到1000之间按数字排列的主键值的记录生成的块的情况下,记录中所表示的最小键值可以大于1,而记录中所表示的最大键值可以小于1000。索引条目可以包括定义范围的极值1和1000中的一个或者两者。
当在原始记录组已经被处理而生成压缩记录文件之后附加记录到达时,可以将那些记录存储在缓冲器中并且以未压缩的(uncompressed)形式进行搜索。可替换地,附加记录组可以被增量处理(incrementallyprocessed),并且存储为可被附加索引文件访问的附加压缩记录文件。在某些情况下,即使在压缩少量附加记录不会提供存储空间大小的很大降低时,将附加记录进行压缩以保持访问记录的统一过程也是有好处的。可以以固定时间间隔(例如,每30秒或每5分钟)或者在接收到了预定数目的附加记录之后(例如,每1000个记录或每10,000个记录),重复处理附加记录。如果基于时间间隔处理输入记录,那么在某些间隔中可能没有输入记录或者有少量记录,该少量记录全部被压缩到一个压缩块中。
参照图2B,在原始压缩记录文件202已经被生成之后,在附加记录被系统100接收的例子中,附加压缩记录文件210可以被附到原始压缩记录文件202上,以形成复合压缩记录文件211。系统100用主键值对附加记录进行排序,并且将N个记录的集合进行压缩,以生成压缩记录文件210的压缩块。被标记为BLOCK91(块91)的、附加文件(appendedfile)210中的压缩块具有主键值BA-FF。模块108生成包括条目的附加索引文件212,所述条目可以用于搜索附加文件210内所表示的附加记录。新的索引文件212可以附到先前的索引文件204上。
可以附上任意数目的压缩记录文件,以便形成复合压缩记录文件。如果索引与搜索模块108在复合压缩记录文件内以给定键值搜索记录,那么模块108就使用相应的索引文件在每个所附压缩记录文件内搜索记录。可替换地,请求给定记录的代理可以用要搜索的复合压缩记录指定一定数目的压缩记录文件(例如,最近生成的10个压缩记录文件或者最后一小时内生成的任意压缩记录文件)。
在给定时间量(例如,每24小时)之后或者已经附上给定数目的压缩记录文件之后,系统100可以合并(consolidate)这些文件,以便从复合压缩记录文件生成单一压缩记录文件以及新的对应索引文件。在合并之后,可以搜索单个索引,以定位可能包含给定记录的压缩块,从而导致更有效率的记录访问。在合并时间,系统100对压缩记录文件进行解压缩以便恢复对应的排序记录集合,通过主键值对记录进行排序,并且生成新的压缩记录文件和索引。由于每个所恢复的记录集合已经被排序,所以可以通过合并(merging)以前根据主键值排序的列表来有效地对记录进行排序,以便生成单一排序记录集合。
参照图2C,根据有多少附加记录已经到达以及这些记录曾经以怎样的频率(howoften)被处理,复合压缩记录文件211包括初始压缩记录文件202、附加压缩记录文件210和许多(numberof)附加压缩记录文件220、221、...。每个压缩记录文件都可以具有相关联的索引文件,索引文件可以用于在那个文件的压缩块内搜索给定记录。在本例中,压缩记录文件220中的一个足够小以具有单一压缩块(BLOCK95(块95)),因此不必需要相关联的索引文件,但是可以具有表示块中的主键值范围以及其在存储器中的位置的相关联数据。在合并之后,从不同的所附压缩记录文件中恢复的记录被处理,以生成单个压缩记录文件230。
在经单调分配的主键的情况下,不仅可以在压缩记录文件内自动排序记录,还可以从一个文件到下一个文件自动排序记录,消除合并文件的需要,以便在单一索引搜索中访问记录。参照图2D,系统100接收记录集合250,所述记录集合用连续整数识别,所述连续整数以到达顺序分配,作为记录的主键。因此,记录250通过主键自动排序。在本例中,初始压缩记录文件252包括每个都包括100个记录的压缩块,索引文件254包括键字段256和位置字段258,键字段256用于压缩块中第一个记录的主键值,位置字段258识别对应的存储器位置。由于在已经生成初始压缩记录文件252之后到达的记录将稍后以排序顺序自动具有主键值,所以所附的压缩记录文件260和相应索引文件262不需要被合并以基于单一索引搜索使能有效记录访问。例如,索引文件262可以简单地附在索引文件254上,并且可以一起搜索两个索引(例如,在单一二进制搜索中),用于定位压缩记录文件252或者压缩记录文件262之一中的压缩块。
可以选择性地合并复合压缩记录文件261,以便消除可能已经在压缩记录文件252结尾处插入的不完整块。在这样的合并中,只有第一个文件252中的最后一个压缩块会需要被解压缩,并且代替合并经过解压缩的记录集合,而是记录集合可以简单地合并以形成新的排序的记录集合,该记录集合将被分为包含100个记录的集合中,并且然后再次压缩以形成新的压缩记录文件。
使用连续整数合成主键值的另一个好处是,如果将要基于主键值划分记录,那么由于在键值中没有间隙,所以所述划分可以自动进行平衡(balanced)。
多种技术中的任意一种可以使用来更新记录以及使存在于压缩记录文件中的先前版本的记录无效。在某些情况下,不需要单独地去除或更新记录(例如,日志、交易、电话)。在这些情况下,旧记录被去除和丢弃,或者按预定数目的压缩块的组进行存档,例如,从压缩记录文件的开头开始进行存档。在某些情况下,可以去除整个压缩记录文件。
在某些情况下,通过添加新的更新记录来更新一个记录的一个或多个值,用于存储在压缩块中,而以前接收到的记录版本(具有相同主键值)可以存储留在不同的压缩块中。然后,可以存在多个版本的记录,并且一些技术被用来确定哪个是有效记录版本。例如,出现在任意一个压缩记录文件中的最后一个版本(最近接收到的)可以被隐含地(implicitly)或明确地(explicitly)指定为有效版本,而任意其它版本都是无效的。在这种情况下以给定主键搜索记录可以包括按照出现顺序找出用该主键识别的最后一个记录。可替换地,通过写(write)表示该记录的任意先前版本不是有效的“无效记录”,可以使记录无效而无需添加新版本的记录。
系统100通过不同的处理过程来传递(mediate)对存储在记录存储器106中的压缩记录文件的访问。多种同步技术中的任意一种可以用于调解对一个或多个压缩记录文件内的压缩块的访问。系统100确保修改文件的任何处理(例如,通过附上数据或者合并数据)不互相干扰。例如,如果在发生合并时新记录到达,系统100可以等待,直到合并处理完成,或者可以生成压缩块,并且在将它们附到当前压缩记录文件之前暂时存储它们。从压缩记录文件中读出的处理可以载入完整的一部分文件,并且可以忽视可能正在修改的任何不完整部分。
系统100存储附加数据,该附加数据基于记录的属性而非主键来使能对记录的搜索。压缩记录文件的次级索引包括基于被指定为辅键(secondarykey)的属性的值提供一个或多个主键值的信息。每个指定为辅键的属性都可以与相应的次级索引相关联。例如,每个次级索引都可以被组织为一个表,该表具有用相关联的辅键进行排序的行。每行都包括辅键值以及包括该辅键值的记录的一个或多个主键值。因此,如果代理发起对包括给定辅键值的任意记录的搜索,那么系统100就查找主键,主键用于在压缩记录文件的索引中搜索包括所述记录的压缩块。次级索引可以较大(例如,与记录的数目相近),并且在某些情况下可以存储在存储压缩记录文件的存储介质中。
在某些情况下,被分配为辅键的属性的值可以对于每个记录是唯一的。在这种情况下,在辅键与主键之间为一对一对应关系,并且接口模块112可以将该辅键属性像它是主键一样呈现给代理。
在新的压缩记录文件被附到复合压缩记录文件时,每个次级索引都可以被更新。可替换地,对每个压缩记录文件,可以将辅键与不同的次级索引相关联,并且当压缩记录文件被合并时,次级索引可以被合并为单一次级索引。
筛选数据结构可以与压缩记录文件相关联,用于确定包括给定属性值的记录被包括在该文件的压缩块中的可能性。例如,使用重叠编码签字(overlapencodedsignature,OES)作为筛选数据结构使系统100能够确定具有给定键值(主键或辅键)的记录肯定不存在(“否定”结果),或者具有给定键值的记录有存在的可能性(“肯定”结果)。对于肯定结果,系统访问适当的压缩块以便检索记录(“确认肯定”结果)或者确定该记录不存在(“错误肯定”结果)。对于否定结果,系统可以将否定结果给代理而无需为不存在的记录花费时间解压缩和搜索压缩块。OES的大小对肯定结果为错误肯定结果的频率有影响,一般来说,较大的OES大小会产生较少的错误肯定结果。对于给定的OES大小,一般来说,越少区别可能键值(fewerdistinctpossiblekey)会产生越少错误肯定结果。
其它类型的筛选数据结构是可能的。可以针对每个压缩记录文件提供用于给定主键或辅键的筛选数据结构。可替换地,可以针对每个压缩块提供用于密钥的筛选数据结构。
图3A和3B示出的表中提供了针对各种大小的示范性OES筛选数据结构(列)以及针对压缩记录文件中表现的各种数目的区别键值(行),获得键值的错误肯定结果的概率值。对于一个OES来说,根据该OES的大小以及区别键值的数目,多于一个键值的存在可以表示在OES的同一部分,对于那些键值中的一个,如果存在其它键值则可能导致错误肯定结果。本示范性OES的大小从210=1024bits(图3A的表中)到228=256Mbits(图3B的表中)不等。区别键值的数目从100(图3A的表中)到100,000,000(图3B的表中)不等。对于这两个表来说,右上方的空单元格对应于0%,而左下方的空单元格对应于100%。对于错误肯定结果低的单元格(例如,接近零),筛选数据结构可能大于提供充分筛选所需。对于错误肯定概率相当大的单元格(例如,>50%),筛选数据结构可能太小而不能提供充分筛选。本例对应于每个键值使用四个散列(hash)码来生成OES的技术。对于给定数目的区别密钥,其它OES筛选数据结构的例子可能产生不同的错误肯定概率表。
由于压缩记录文件中表现的区别键值的数目可能是未知的,所以系统100可以基于从其生成文件的记录的数目,对压缩记录文件选择筛选数据结构的大小。在选择大小时,在降低错误肯定概率与存储筛选数据结构所需要的存储空间之间存在权衡。该权衡中的一个因素是搜索不存在的(absent)键值的可能性。如果大多数要查找的键值可能存在于解压缩记录中,则可能根本不需要筛选数据结构。如果有相当大可能性找不到键值,那么对于相对较大的筛选数据结构分配存储空间会节省相当多时间。
与压缩记录文件相关联的筛选数据结构的大小取决于该文件对应于该记录的初始或合并的大型数据库、还是对应于对较大数据库进行的较小更新。相对较小的筛选数据结构大小可以用于在固定更新间隔期间被附加的压缩记录文件,因为在每次更新中通常存在较少区别键值。而且,随着多次更新之后压缩记录文件的数目增长,较小的大小可以缩减所需的存储空间。筛选数据结构的大小可以基于更新中期望的记录和/或区别键值的数目、以及基于期望的更新次数。例如,如果在24小时的时段中,每五分钟附加上更新的文件,那么在一天结束时将有288个压缩记录文件。至少一个错误肯定结果的概率将是图3A和3B的表中的适当值的288倍(假定对于不同更新的结果是独立的)。在合并之后,由于区别键值的数目会显著增长,所以较大的筛选数据结构对于合并后的压缩记录文件可能是合适的。
压缩记录文件可以具有针对主键和针对每个辅键、或者针对密钥的某些子集(subset)的筛选数据结构。例如,系统100可以提供针对主键以及只针对那些期待在搜索记录时最经常使用的辅键的筛选数据结构。
图4A示出了用于以给定主键值搜索一个或多个记录的过程400的流程图。过程400确定402是否存在与第一压缩记录文件相关联的筛选数据结构。如果存在,则过程400处理404筛选数据结构,以获得肯定结果或者否定结果。如果给定主键值没有通过筛选(否定结果),过程400检查406下一个压缩记录文件,并且如果存在那个文件则对其重复筛选(repeaton)。如果给定主键值通过筛选(肯定结果),过程400以给定主键值搜索408可能包含记录的块的索引。如果没有筛选数据结构与压缩记录文件相关联,则过程400搜索408索引而不执行筛选。
在搜索408索引之后,如果找到410与包括给定主键值的键值范围相关联的压缩块,那么过程400解压缩412在由索引条目识别的位置处的块,并且以给定主键值搜索414结果记录中一个或多个记录。然后,过程检查416下一个压缩记录文件,并且如果该文件存在则对其重复筛选。如果没有发现压缩块(例如,如果给定主键值小于第一块中的最小键值或大于最后一个块中的最大键值),那么过程400就检查416下一个压缩记录文件,并且如果该文件存在则对其重复筛选。
图4B示出了用于以给定辅键值搜索一个或多个记录的过程400的流程图。过程450确定452是否存在与第一压缩记录文件相关联的筛选数据结构。如果存在,则过程450处理454筛选数据结构,以获得肯定结果或者否定结果。如果给定辅键值没有通过筛选(否定结果),那么过程450检查406下一个压缩记录文件,并且如果该文件存在则对其重复筛选。如果给定辅键值通过筛选(肯定结果),则过程450查找458对应于包含给定辅键的记录的主键。如果没有筛选数据结构与压缩记录文件相关联,则过程450查找458主键而不执行筛选。
对于找到的每一个主键,过程450以给定主键值搜索460可能包含记录的块的索引。在搜索460索引之后,如果找到462与包括给定主键值的键值范围相关联的压缩块,则过程450解压缩464在由索引条目识别的位置处的块,并且以给定主键值搜索466结果记录中的一个或多个记录。然后,过程检查468下一个压缩记录文件,并且如果该文件存在则对其重复筛选。如果没有发现压缩块,则过程450检查468下一个压缩记录文件,并且如果该文件存在则对其重复筛选。
可以按照出现的顺序由过程400或过程450返回以给定主键或辅键找到的多个记录,或者,在某些情况下,只返回最后版本的记录。
上面所描述的记录存储与检索方案可以使用用于在计算机上执行的软件来实现。例如,该软件形成在一个或多个经编程或可编程的计算机系统(可以具有各种结构,诸如分布的、客户端/服务器、或网格)上执行的一个或多个计算机程序中的过程,每个计算机系统包括至少一个处理器、至少一个数据存储系统(包括易失性存储器和非易失性存储器和/或存储元件)、至少一个输入设备或端口、以及至少一个输出设备或端口。该软件可以形成大型程序的一个或多个模块,例如,该大型程序提供与计算图表的设计和配置相关的其它业务。图表的节点和元素可以被实施为存储在计算机可读介质中的数据结构或者符合存储在数据库中的数据模型的其它组织的数据。
该软件可以被提供在诸如CD-ROM这样的介质上,其可以被通用或专用可编程计算机读取或者通过网络递送(编码在传播信号中)到执行它的计算机。所有功能可以在专用计算机上执行,或者使用诸如协处理器这样的专用硬件执行。该软件可以以分布方式实施,在该分布方式中,由该软件指定的不同的计算部分由不同的计算器执行。每个这样的计算机程序被优选地存储在或下载到可由通用或专用可编程计算机读取的存储介质或设备中(例如,固态存储器或介质、或者磁介质或光介质),用于在存储介质或设备被计算机系统读取时配置并运行计算机,以便执行这里所描述的过程。也可以考虑将本发明的系统实施为计算机可读存储介质,其配置有计算机程序,其中,这样配置的存储介质使得计算机系统以指定或预定义的方式运行,以便执行这里所描述的功能。
已经描述了本发明的许多实施例。但是,应当理解,可以进行各种修改,而在不脱离本发明的精神和范围。例如,上面所描述的某些步骤可以单独排序,从而可以以不同于所述的顺序来执行。
将理解的是,前述描述意在说明而非局限本发明的范围,本发明的范围由后附权利要求限定。例如,可以以不同的顺序来执行上述的许多功能步骤,而基本不影响总体处理。其它实施例也在后附权利要求的范围内。

Claims (99)

1.一种用于管理数据的方法,该方法包括:
接收可单独访问的数据单元,每个数据单元由各自的键值来识别;
存储多个数据块,至少一些块中的每一个是通过压缩多个接收的数据单元而生成的;以及
管理用于搜索各块中的数据单元的索引的集合,其中所述索引的集合中的第一索引包括针对每个所述块的条目,其中所述条目基于第一键值使能定位包括各数据单元的块,所述数据单元对应于包括所述第一键值的各键值的范围,所述索引的集合还包括第二索引,所述第二索引包括用于从对应于所述第一键值的数据单元的属性值确定所述第一键值的条目。
2.如权利要求1所述的方法,其中,至少一些块是通过基于所述键值的定义的顺序压缩所述数据单元而生成的。
3.如权利要求2所述的方法,其中,各自的块是从数据单元的各自的集合生成的,并且这些集合根据定义的顺序对应于无重叠的第一键值的范围。
4.如权利要求1所述的方法,其中,所述第一索引中的一个或多个条目识别与对应块从其生成的数据单元对应的第一键值的范围。
5.如权利要求4所述的方法,其中,所述第一键值的范围由包括所述第一键值的范围的至少一个极值的信息来识别。
6.如权利要求4所述的方法,其中,所述第一键值的范围由包括与对应块从其生成的数据单元相关联的第一键值的至少一个极值的信息来识别。
7.如权利要求1所述的方法,其中,所述第一索引中至少一些条目中的每一个识别对应块的存储位置。
8.如权利要求1所述的方法,其中,所述数据单元是每一个都具有一个或多个与对应字段相关联的值的记录。
9.如权利要求1所述的方法,其中,所述第一键值对应于在被接收之前与给定数据单元相关联的一个或多个字段。
10.如权利要求1所述的方法,其中,所述第一键值在被接收到之后被分配给所述数据单元。
11.如权利要求1所述的方法,其中,所述第一键值被单调地分配。
12.如权利要求1所述的方法,其中,与所存储的块相关联的筛选数据结构用于确定包括给定属性值的数据单元包括在从其生成所述块的数据单元中的可能性。
13.如权利要求1所述的方法,其中,所述数据单元是每一个都具有与对应字段相关联的一个或多个值的记录,识别记录的所述第一键值对应于主键值,并且与所述第二索引相关联的属性值对应于辅键值。
14.如权利要求1所述的方法,其中,所述第二索引包括表,该表具有按所述数据单元中的属性值进行排序的行。
15.一种用于管理数据的计算机系统,该计算机系统包括:
输入设备,配置为接收可单独访问的数据单元,每个数据单元由各自的键值来识别;
至少一个处理器,配置为处理数据单元,该处理包括
存储多个数据块,至少一些块中的每一个是通过压缩多个接收的数据单元而生成的;以及
管理用于搜索各块中的数据单元的索引的集合,其中所述索引的集合中的第一索引包括针对每个所述块的条目,其中所述条目基于第一键值使能定位包括各数据单元的块,所述数据单元对应于包括所述第一键值的各键值的范围,所述索引的集合还包括第二索引,所述第二索引包括用于从对应于所述第一键值的数据单元的属性值确定所述第一键值的条目。
16.如权利要求15所述的计算机系统,其中,至少一些块是通过基于所述键值的定义的顺序压缩所述数据单元而生成的。
17.如权利要求16所述的计算机系统,其中,各自的块是从数据单元的各自的集合生成的,并且这些集合根据定义的顺序对应于无重叠的第一键值的范围。
18.如权利要求15所述的计算机系统,其中,所述第一索引中的一个或多个条目识别与对应块从其生成的数据单元对应的第一键值的范围。
19.如权利要求18所述的计算机系统,其中,所述第一键值的范围由包括所述第一键值的范围的至少一个极值的信息来识别。
20.如权利要求18所述的计算机系统,其中,所述第一键值的范围由包括与对应块从其生成的数据单元相关联的第一键值的至少一个极值的信息来识别。
21.如权利要求15所述的计算机系统,其中,所述第一索引中至少一些条目中的每一个识别对应块的存储位置。
22.如权利要求15所述的计算机系统,其中,所述数据单元是每一个都具有一个或多个与对应字段相关联的值的记录。
23.如权利要求15所述的计算机系统,其中,所述第一键值对应于在被接收之前与给定数据单元相关联的一个或多个字段。
24.如权利要求15所述的计算机系统,其中,所述第一键值在被接收到之后被分配给所述数据单元。
25.如权利要求15所述的计算机系统,其中,所述第一键值被单调地分配。
26.如权利要求15所述的计算机系统,其中,与所存储的块相关联的筛选数据结构用于确定包括给定属性值的数据单元包括在从其生成所述块的数据单元中的可能性。
27.如权利要求15所述的计算机系统,其中,所述数据单元是每一个都具有与对应字段相关联的一个或多个值的记录,识别记录的所述第一键值对应于主键值,并且与所述第二索引相关联的属性值对应于辅键值。
28.如权利要求15所述的计算机系统,其中,所述第二索引包括表,该表具有按所述数据单元中的属性值进行排序的行。
29.一种用于管理数据的系统,该系统包括:
用于接收可单独访问的数据单元的装置,每个数据单元由各自的键值来识别;
用于存储多个数据块的装置,至少一些块中的每一个是通过压缩多个接收的数据单元而生成的;以及
用于管理用于搜索各块中的数据单元的索引的集合的装置,其中所述索引的集合中的第一索引包括针对每个所述块的条目,其中所述条目基于第一键值使能定位包括各数据单元的块,所述数据单元对应于包括所述第一键值的各键值的范围,所述索引的集合还包括第二索引,所述第二索引包括用于从对应于所述第一键值的数据单元的属性值确定所述第一键值的条目。
30.如权利要求29所述的系统,其中,至少一些块是通过基于所述键值的定义的顺序压缩所述数据单元而生成的。
31.如权利要求30所述的系统,其中,各自的块是从数据单元的各自的集合生成的,并且这些集合根据定义的顺序对应于无重叠的第一键值的范围。
32.如权利要求29所述的系统,其中,所述第一索引中的一个或多个条目识别与对应块从其生成的数据单元对应的第一键值的范围。
33.如权利要求32所述的系统,其中,所述第一键值的范围由包括所述第一键值的范围的至少一个极值的信息来识别。
34.如权利要求32所述的系统,其中,所述第一键值的范围由包括与对应块从其生成的数据单元相关联的第一键值的至少一个极值的信息来识别。
35.如权利要求29所述的系统,其中,所述第一索引中至少一些条目中的每一个识别对应块的存储位置。
36.如权利要求29所述的系统,其中,所述数据单元是每一个都具有一个或多个与对应字段相关联的值的记录。
37.如权利要求29所述的系统,其中,所述第一键值对应于在被接收之前与给定数据单元相关联的一个或多个字段。
38.如权利要求29所述的系统,其中,所述第一键值在被接收到之后被分配给所述数据单元。
39.如权利要求29所述的系统,其中,所述第一键值被单调地分配。
40.如权利要求29所述的系统,其中,与所存储的块相关联的筛选数据结构用于确定包括给定属性值的数据单元包括在从其生成所述块的数据单元中的可能性。
41.如权利要求29所述的系统,其中,所述数据单元是每一个都具有与对应字段相关联的一个或多个值的记录,识别记录的所述第一键值对应于主键值,并且与所述第二索引相关联的属性值对应于辅键值。
42.如权利要求29所述的系统,其中,所述第二索引包括表,该表具有按所述数据单元中的属性值进行排序的行。
43.一种用于管理数据的系统,所述系统包括:
用于接收可单独访问的数据单元的装置,每个数据单元由各自的键值来识别;
用于存储数据块的第一集合的装置,块的第一集合中的至少一些块中的每一个是通过压缩多个数据单元而生成的;
用于提供第一索引的装置,所述第一索引包括针对块的第一集合的每个所述块的条目,其中一个或多个所述条目基于提供的键值使能定位包括各数据单元的块,所述数据单元对应于包括所述提供的键值的各键值的范围;
用于在压缩块的第一集合的数据单元之后接收额外的可单独访问的数据单元的装置,每个额外的数据单元由各自的键值来识别;
用于存储数据块的第二集合的装置,块的第二集合中的至少一些块中的每一个是通过压缩多个额外数据单元而生成的;
用于提供第二索引的装置,所述第二索引包括针对块的第二集合的每个所述块的条目;以及
用于管理用于搜索包括所述块的第一集合和所述块的第二集合的块的多个集合中的数据单元的、包括所述第一索引和所述第二索引的多个索引的集合的装置,其中所述管理包括基于识别数据单元的键值是否单调地分配,生成第三索引以代替用于在所述块的第一集合和所述块的第二集合中搜索的第一索引和第二索引,其中当所述键值没有单调地分配时生成所述第三索引包括在解压所述块的第一集合和所述块的第二集合两者之后,将所述块的第一集合和所述块的第二集合合并为块的第三集合,以便生成所述第三索引,并且当所述键值单调地分配时生成所述第三索引包括附加第一和第二索引,
其中,所述数据单元是每个都具有一个或多个与对应字段相关联的值的记录。
44.如权利要求43所述的系统,其中,所述块的第一集合中的至少一些块是通过基于所述键值的定义的顺序压缩所述数据单元而生成的。
45.如权利要求44所述的系统,其中,所述定义的顺序是字母顺序。
46.如权利要求44所述的系统,其中,所述定义的顺序是数字顺序。
47.如权利要求44所述的系统,其中,各个块从数据单元的各个集合生成,并且集合根据定义的顺序对应于无重叠的键值范围。
48.如权利要求43所述的系统,其中,所述第一索引中的一个或多个条目识别与对应块从其生成的数据单元对应的键值范围。
49.如权利要求48所述的系统,其中,所述键值范围由包括键值范围的至少一个极值的信息来识别。
50.如权利要求49所述的系统,其中,所述键值范围由来自所述第一索引中第一条目的第一极值和来自所述第一索引中第二条目的第二极值来识别。
51.如权利要求48所述的系统,其中,所述键值范围由包括与对应块从其生成的数据单元相关联的键值的至少一个极值的信息来识别。
52.如权利要求51所述的系统,其中,所述键值范围由来自所述第一索引中第一条目的第一极值和来自所述第一索引中第二条目的第二极值来识别。
53.如权利要求48所述的系统,其中,所述第一索引中至少一些条目中的每一个识别对应块的存储位置。
54.如权利要求43所述的系统,其中,解压缩通过压缩数据单元的集合而生成的块包括处理整个块。
55.如权利要求43所述的系统,其中,识别所接收的数据单元的键值对应于在被接收之前与给定数据单元相关联的一个或多个字段。
56.如权利要求43所述的系统,其中,识别所接收的数据单元的键值被分配给在被接收之后的数据单元。
57.如权利要求56所述的系统,其中,键值被单调地分配。
58.如权利要求57所述的系统,其中,键值被顺序地分配。
59.如权利要求43所述的系统,其中,所述块的第一集合被存储在文件中。
60.如权利要求43所述的系统,其中,所述第二索引的一个或多个条目基于所提供的键值使能定位包括数据单元的块,该数据单元与包括所提供的键值的键值范围对应。
61.如权利要求43所述的系统,其中,当所述键值没有单调地分配时生成所述第三索引包括:
解压缩块的第一集合和第二集合,以便恢复从其生成块的数据单元;
根据与所述数据单元对应的键值的顺序,排序从第一集合中恢复的数据单元和从第二集合中恢复的数据单元,以生成经排序的数据单元的集合;以及
生成块的第三集合,所述第三集合中至少一些块的每一个是通过组合多个经排序的数据单元而生成的。
62.如权利要求61所述的系统,其中,排序从第一集合中恢复的数据单元和从第二集合中恢复的数据单元包括,根据与所述数据单元对应的键值的顺序,合并从第一集合恢复的数据单元和从第二集合恢复的数据单元,以生成经排序的数据单元的集合。
63.如权利要求43所述的系统,进一步包括用于提供与所述块的第一集合中所存储的块相关联的第一筛选数据结构的装置,用于确定包括给定属性值的数据单元包括在从其生成所述块的第一集合中的块的数据单元中的可能性。
64.如权利要求63所述的系统,其中,所述属性值包括识别数据单元的键值。
65.如权利要求63所述的系统,其中,所述筛选数据结构对于给定属性值确定包括给定属性值的数据单元肯定没有包括,或者包括给定属性值的数据单元可能被包括。
66.如权利要求65所述的系统,其中,当所述数据单元没有被包括时,所述筛选数据结构确定包括给定属性值的数据单元可能被包括的概率取决于所述数据结构的大小。
67.如权利要求66所述的系统,进一步包括用于基于从其生成所述块的数据单元的数目来选择筛选数据结构的大小的装置。
68.如权利要求43所述的系统,进一步包括用于提供与所述块的第一集合中所存储的块相关联的次级索引的装置,用于确定包括给定属性值的数据单元的一个或多个键值。
69.如权利要求68所述的系统,其中,所述数据单元是每个都具有与对应字段相关联的一个或多个值的记录,识别记录的键值对应于主键值,并且与次级索引相关联的属性值对应于辅键值。
70.如权利要求68所述的系统,其中,所述次级索引包括表,该表具有通过所述数据单元中的属性值而非键值进行排序的行。
71.一种用于管理数据的计算机系统,该计算机系统包括:
输入设备,配置为接收可单独访问的数据单元,每个数据单元由各自的键值来识别;
至少一个处理器,配置为处理数据单元,该处理包括:
存储数据块的第一集合,块的第一集合中的至少一些块中的每一个是通过压缩多个数据单元而生成的;
提供第一索引,所述第一索引包括针对块的第一集合的每个所述块的条目,其中一个或多个所述条目基于提供的键值使能定位包括各数据单元的块,所述数据单元对应于包括所述提供的键值的各键值的范围;
在压缩块的第一集合的数据单元之后接收额外的可单独访问的数据单元,每个额外的数据单元由各自的键值来识别;
存储数据块的第二集合,块的第二集合中的至少一些块中的每一个是通过压缩多个额外数据单元而生成的;
提供第二索引,所述第二索引包括针对块的第二集合的每个所述块的条目;以及
管理用于搜索包括所述块的第一集合和所述块的第二集合的块的多个集合中的数据单元的、包括所述第一索引和所述第二索引的多个索引的集合,其中所述管理包括基于识别数据单元的键值是否单调地分配,生成第三索引以代替用于在所述块的第一集合和所述块的第二集合中搜索的第一和第二索引,其中当所述键值没有单调地分配时生成所述第三索引包括在解压所述块的第一集合和所述块的第二集合两者之后,将所述块的第一集合和所述块的第二集合合并为块的第三集合,以便生成所述第三索引,并且当所述键值单调地分配时生成所述第三索引包括附加第一索引和第二索引。
72.如权利要求71所述的计算机系统,其中,所述块的第一集合中的至少一些块是通过基于所述键值的定义的顺序压缩所述数据单元而生成的。
73.如权利要求72所述的计算机系统,其中,所述定义的顺序是字母顺序。
74.如权利要求72所述的计算机系统,其中,所述定义的顺序是数字顺序。
75.如权利要求72所述的计算机系统,其中,各个块从数据单元的各个集合生成,并且集合根据定义的顺序对应于无重叠的键值范围。
76.如权利要求71所述的计算机系统,其中,所述第一索引中的一个或多个条目识别与对应块从其生成的数据单元对应的键值范围。
77.如权利要求76所述的计算机系统,其中,所述键值范围由包括键值范围的至少一个极值的信息来识别。
78.如权利要求77所述的计算机系统,其中,所述键值范围由来自所述第一索引中第一条目的第一极值和来自所述第一索引中第二条目的第二极值来识别。
79.如权利要求76所述的计算机系统,其中,所述键值范围由包括与对应块从其生成的数据单元相关联的键值的至少一个极值的信息来识别。
80.如权利要求79所述的计算机系统,其中,所述键值范围由来自所述第一索引中第一条目的第一极值和来自所述第一索引中第二条目的第二极值来识别。
81.如权利要求76所述的计算机系统,其中,所述第一索引中至少一些条目中的每一个识别对应块的存储位置。
82.如权利要求71所述的计算机系统,其中,解压缩通过压缩数据单元的集合而生成的块包括处理整个块。
83.如权利要求71所述的计算机系统,其中,所述数据单元是每个都具有一个或多个与对应字段相关联的值的记录。
84.如权利要求83所述的计算机系统,其中,识别所接收的数据单元的键值对应于在被接收之前与给定数据单元相关联的一个或多个字段。
85.如权利要求83所述的计算机系统,其中,识别所接收的数据单元的键值被分配给在被接收之后的数据单元。
86.如权利要求85所述的计算机系统,其中,键值被单调地分配。
87.如权利要求86所述的计算机系统,其中,键值被顺序地分配。
88.如权利要求71所述的计算机系统,其中,所述块的第一集合被存储在文件中。
89.如权利要求71所述的计算机系统,其中,所述第二索引的一个或多个条目基于所提供的键值使能定位包括数据单元的块,该数据单元与包括所提供的键值的键值范围对应。
90.如权利要求71所述的计算机系统,其中,当所述键值没有单调地分配时生成所述第三索引包括:
解压缩块的第一集合和第二集合,以便恢复从其生成块的数据单元;
根据与所述数据单元对应的键值的顺序,排序从第一集合中恢复的数据单元和从第二集合中恢复的数据单元,以生成经排序的数据单元的集合;以及
生成块的第三集合,所述第三集合中至少一些块的每一个是通过组合多个经排序的数据单元而生成的。
91.如权利要求90所述的计算机系统,其中,排序从第一集合中恢复的数据单元和从第二集合恢复的数据单元包括,根据与所述数据单元对应的键值的顺序,合并从第一集合恢复的数据单元和从第二集合恢复的数据单元,以生成经排序的数据单元的集合。
92.如权利要求71所述的计算机系统,其中所述处理进一步包括提供与所述块的第一集合中所存储的块相关联的第一筛选数据结构,用于确定包括给定属性值的数据单元包括在从其生成所述块的第一集合中的块的数据单元中的可能性。
93.如权利要求92所述的计算机系统,其中,所述属性值包括识别数据单元的键值。
94.如权利要求92所述的计算机系统,其中,所述筛选数据结构对于给定属性值确定包括给定属性值的数据单元肯定没有包括,或者包括给定属性值的数据单元可能被包括。
95.如权利要求94所述的计算机系统,其中,当所述数据单元没有被包括时,所述筛选数据结构确定包括给定属性值的数据单元可能被包括的概率取决于所述数据结构的大小。
96.如权利要求95所述的计算机系统,其中所述处理进一步包括基于从其生成所述块的数据单元的数目来选择筛选数据结构的大小。
97.如权利要求71所述的计算机系统,其中所述处理进一步包括提供与所述块的第一集合中所存储的块相关联的次级索引,用于确定包括给定属性值的数据单元的一个或多个键值。
98.如权利要求71所述的计算机系统,其中,所述数据单元是每个都具有与对应字段相关联的一个或多个值的记录,识别记录的键值对应于主键值,并且与次级索引相关联的属性值对应于辅键值。
99.如权利要求97所述的计算机系统,其中,所述次级索引包括表,该表具有通过所述数据单元中的属性值而非键值进行排序的行。
CN201210350046.7A 2006-11-01 2007-10-29 管理数据的方法、系统和计算机系统 Active CN102945242B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/555,458 2006-11-01
US11/555,458 US8229902B2 (en) 2006-11-01 2006-11-01 Managing storage of individually accessible data units

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN2007800409469A Division CN101553813B (zh) 2006-11-01 2007-10-29 管理可单独访问的数据单元的存储器

Publications (2)

Publication Number Publication Date
CN102945242A CN102945242A (zh) 2013-02-27
CN102945242B true CN102945242B (zh) 2016-07-06

Family

ID=39331642

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2007800409469A Active CN101553813B (zh) 2006-11-01 2007-10-29 管理可单独访问的数据单元的存储器
CN201210350046.7A Active CN102945242B (zh) 2006-11-01 2007-10-29 管理数据的方法、系统和计算机系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN2007800409469A Active CN101553813B (zh) 2006-11-01 2007-10-29 管理可单独访问的数据单元的存储器

Country Status (9)

Country Link
US (2) US8229902B2 (zh)
EP (1) EP2080121B1 (zh)
JP (1) JP5377318B2 (zh)
KR (1) KR101400816B1 (zh)
CN (2) CN101553813B (zh)
AU (1) AU2007317574B2 (zh)
CA (4) CA2910840C (zh)
HK (1) HK1181484A1 (zh)
WO (1) WO2008057815A2 (zh)

Families Citing this family (208)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7747733B2 (en) 2004-10-25 2010-06-29 Electro Industries/Gauge Tech Power meter having multiple ethernet ports
US8229902B2 (en) * 2006-11-01 2012-07-24 Ab Initio Technology Llc Managing storage of individually accessible data units
US7885932B2 (en) * 2006-11-01 2011-02-08 Ab Initio Technology Llc Managing storage of individually accessible data units
US8930331B2 (en) 2007-02-21 2015-01-06 Palantir Technologies Providing unique views of data based on changes or rules
US20090287986A1 (en) * 2008-05-14 2009-11-19 Ab Initio Software Corporation Managing storage of individually accessible data units
US8984390B2 (en) 2008-09-15 2015-03-17 Palantir Technologies, Inc. One-click sharing for screenshots and related documents
US9104695B1 (en) 2009-07-27 2015-08-11 Palantir Technologies, Inc. Geotagging structured data
KR20150042876A (ko) 2009-12-23 2015-04-21 아브 이니티오 테크놀로지 엘엘시 쿼리 관리
KR20150045532A (ko) * 2010-03-10 2015-04-28 아브 이니티오 테크놀로지 엘엘시 개별적으로 액세스 가능한 데이터 유닛의 스토리지 관리 방법
US8799240B2 (en) * 2011-06-23 2014-08-05 Palantir Technologies, Inc. System and method for investigating large amounts of data
US9092482B2 (en) 2013-03-14 2015-07-28 Palantir Technologies, Inc. Fair scheduling for mixed-query loads
US9547693B1 (en) 2011-06-23 2017-01-17 Palantir Technologies Inc. Periodic database search manager for multiple data sources
US20130013605A1 (en) 2011-07-08 2013-01-10 Stanfill Craig W Managing Storage of Data for Range-Based Searching
US9280532B2 (en) 2011-08-02 2016-03-08 Palantir Technologies, Inc. System and method for accessing rich objects via spreadsheets
US8732574B2 (en) 2011-08-25 2014-05-20 Palantir Technologies, Inc. System and method for parameterizing documents for automatic workflow generation
US8504542B2 (en) 2011-09-02 2013-08-06 Palantir Technologies, Inc. Multi-row transactions
US10275840B2 (en) 2011-10-04 2019-04-30 Electro Industries/Gauge Tech Systems and methods for collecting, analyzing, billing, and reporting data from intelligent electronic devices
US10771532B2 (en) 2011-10-04 2020-09-08 Electro Industries/Gauge Tech Intelligent electronic devices, systems and methods for communicating messages over a network
US20150356104A9 (en) * 2011-10-04 2015-12-10 Electro Industries/Gauge Tech Systems and methods for collecting, analyzing, billing, and reporting data from intelligent electronic devices
US10862784B2 (en) 2011-10-04 2020-12-08 Electro Industries/Gauge Tech Systems and methods for processing meter information in a network of intelligent electronic devices
US20130218930A1 (en) * 2012-02-20 2013-08-22 Microsoft Corporation Xml file format optimized for efficient atomic access
US9747363B1 (en) * 2012-03-01 2017-08-29 Attivio, Inc. Efficient storage and retrieval of sparse arrays of identifier-value pairs
US9582529B2 (en) * 2012-06-06 2017-02-28 Spiral Genetics, Inc. Method and system for sorting data in a cloud-computing environment and other distributed computing environments
US9798768B2 (en) 2012-09-10 2017-10-24 Palantir Technologies, Inc. Search around visual queries
US9348677B2 (en) 2012-10-22 2016-05-24 Palantir Technologies Inc. System and method for batch evaluation programs
EP2767911A1 (en) * 2013-02-13 2014-08-20 BAE Systems PLC Data storage and retrieval
AU2013366088B2 (en) * 2012-12-20 2019-06-06 Bae Systems Plc Searchable data archive
US9501507B1 (en) 2012-12-27 2016-11-22 Palantir Technologies Inc. Geo-temporal indexing and searching
US9875054B2 (en) 2013-03-06 2018-01-23 Ab Initio Technology Llc Managing operations on stored data units
US10133500B2 (en) 2013-03-06 2018-11-20 Ab Initio Technology Llc Managing operations on stored data units
US9959070B2 (en) 2013-03-06 2018-05-01 Ab Initio Technology Llc Managing operations on stored data units
US10140664B2 (en) 2013-03-14 2018-11-27 Palantir Technologies Inc. Resolving similar entities from a transaction database
US10275778B1 (en) 2013-03-15 2019-04-30 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive investigation based on automatic malfeasance clustering of related data in various data structures
US10803512B2 (en) 2013-03-15 2020-10-13 Commerce Signals, Inc. Graphical user interface for object discovery and mapping in open systems
US8924388B2 (en) 2013-03-15 2014-12-30 Palantir Technologies Inc. Computer-implemented systems and methods for comparing and associating objects
US10771247B2 (en) 2013-03-15 2020-09-08 Commerce Signals, Inc. Key pair platform and system to manage federated trust networks in distributed advertising
US8909656B2 (en) 2013-03-15 2014-12-09 Palantir Technologies Inc. Filter chains with associated multipath views for exploring large data sets
US11816465B2 (en) 2013-03-15 2023-11-14 Ei Electronics Llc Devices, systems and methods for tracking and upgrading firmware in intelligent electronic devices
US9799042B2 (en) 2013-03-15 2017-10-24 Commerce Signals, Inc. Method and systems for distributed signals for use with advertising
US11222346B2 (en) 2013-03-15 2022-01-11 Commerce Signals, Inc. Method and systems for distributed signals for use with advertising
US8868486B2 (en) 2013-03-15 2014-10-21 Palantir Technologies Inc. Time-sensitive cube
JP5494860B2 (ja) * 2013-04-01 2014-05-21 富士通株式会社 情報管理プログラム、情報管理装置および情報管理方法
US8799799B1 (en) 2013-05-07 2014-08-05 Palantir Technologies Inc. Interactive geospatial map
EP3379415B1 (en) * 2013-05-17 2019-11-06 Ab Initio Technology LLC Managing memory and storage space for a data operation
CN103353887A (zh) * 2013-06-28 2013-10-16 贵阳朗玛信息技术股份有限公司 用户数据查找方法及装置
US9292507B2 (en) * 2013-08-16 2016-03-22 Vmware, Inc. Automated document revision trimming in a collaborative multi-user document store
US10191965B2 (en) 2013-08-16 2019-01-29 Vmware, Inc. Automatically determining whether a revision is a major revision or a minor revision by selecting two or more criteria, determining if criteria should be weighted and calculating a score has exceeded a threshold
WO2015033388A1 (ja) * 2013-09-03 2015-03-12 株式会社東芝 情報処理システム、サーバ装置、情報処理方法及びプログラム
US9785317B2 (en) 2013-09-24 2017-10-10 Palantir Technologies Inc. Presentation and analysis of user interaction data
JP6281225B2 (ja) * 2013-09-30 2018-02-21 日本電気株式会社 情報処理装置
US8938686B1 (en) 2013-10-03 2015-01-20 Palantir Technologies Inc. Systems and methods for analyzing performance of an entity
US8812960B1 (en) 2013-10-07 2014-08-19 Palantir Technologies Inc. Cohort-based presentation of user interaction data
US9116975B2 (en) 2013-10-18 2015-08-25 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive simultaneous querying of multiple data stores
CN104572711A (zh) * 2013-10-18 2015-04-29 腾讯科技(深圳)有限公司 一种分布式文档形数据存取方法及装置
SG11201603105VA (en) 2013-10-21 2016-05-30 Ab Initio Technology Llc Checkpointing a collection of data units
US9105000B1 (en) 2013-12-10 2015-08-11 Palantir Technologies Inc. Aggregating data from a plurality of data sources
US10025834B2 (en) 2013-12-16 2018-07-17 Palantir Technologies Inc. Methods and systems for analyzing entity performance
US10579647B1 (en) 2013-12-16 2020-03-03 Palantir Technologies Inc. Methods and systems for analyzing entity performance
US10356032B2 (en) 2013-12-26 2019-07-16 Palantir Technologies Inc. System and method for detecting confidential information emails
US9043696B1 (en) 2014-01-03 2015-05-26 Palantir Technologies Inc. Systems and methods for visual definition of data associations
US8832832B1 (en) 2014-01-03 2014-09-09 Palantir Technologies Inc. IP reputation
US8924429B1 (en) 2014-03-18 2014-12-30 Palantir Technologies Inc. Determining and extracting changed data from a data source
US9836580B2 (en) 2014-03-21 2017-12-05 Palantir Technologies Inc. Provider portal
CN105745642B (zh) * 2014-03-31 2019-08-16 华为技术有限公司 查询数据的处理方法和装置
US11734396B2 (en) 2014-06-17 2023-08-22 El Electronics Llc Security through layers in an intelligent electronic device
US9129219B1 (en) 2014-06-30 2015-09-08 Palantir Technologies, Inc. Crime risk forecasting
US9535974B1 (en) 2014-06-30 2017-01-03 Palantir Technologies Inc. Systems and methods for identifying key phrase clusters within documents
US9619557B2 (en) 2014-06-30 2017-04-11 Palantir Technologies, Inc. Systems and methods for key phrase characterization of documents
US9256664B2 (en) 2014-07-03 2016-02-09 Palantir Technologies Inc. System and method for news events detection and visualization
US20160026923A1 (en) 2014-07-22 2016-01-28 Palantir Technologies Inc. System and method for determining a propensity of entity to take a specified action
US9419992B2 (en) 2014-08-13 2016-08-16 Palantir Technologies Inc. Unwanted tunneling alert system
US9454281B2 (en) 2014-09-03 2016-09-27 Palantir Technologies Inc. System for providing dynamic linked panels in user interface
US9390086B2 (en) 2014-09-11 2016-07-12 Palantir Technologies Inc. Classification system with methodology for efficient verification
US9767172B2 (en) 2014-10-03 2017-09-19 Palantir Technologies Inc. Data aggregation and analysis system
US9501851B2 (en) 2014-10-03 2016-11-22 Palantir Technologies Inc. Time-series analysis system
US9785328B2 (en) 2014-10-06 2017-10-10 Palantir Technologies Inc. Presentation of multivariate data on a graphical user interface of a computing system
SG11201703061XA (en) 2014-10-20 2017-05-30 Ab Initio Technology Llc Specifying and applying rules to data
US9229952B1 (en) 2014-11-05 2016-01-05 Palantir Technologies, Inc. History preserving data pipeline system and method
US11126598B1 (en) 2014-11-06 2021-09-21 Ab Initio Technology Llc Techniques for performing lifecycle operations on a data store
US9043894B1 (en) 2014-11-06 2015-05-26 Palantir Technologies Inc. Malicious software detection in a computing system
US9483546B2 (en) 2014-12-15 2016-11-01 Palantir Technologies Inc. System and method for associating related records to common entities across multiple lists
US10362133B1 (en) 2014-12-22 2019-07-23 Palantir Technologies Inc. Communication data processing architecture
US9348920B1 (en) 2014-12-22 2016-05-24 Palantir Technologies Inc. Concept indexing among database of documents using machine learning techniques
US10552994B2 (en) 2014-12-22 2020-02-04 Palantir Technologies Inc. Systems and interactive user interfaces for dynamic retrieval, analysis, and triage of data items
US10452651B1 (en) 2014-12-23 2019-10-22 Palantir Technologies Inc. Searching charts
US9817563B1 (en) 2014-12-29 2017-11-14 Palantir Technologies Inc. System and method of generating data points from one or more data stores of data items for chart creation and manipulation
US9335911B1 (en) 2014-12-29 2016-05-10 Palantir Technologies Inc. Interactive user interface for dynamic data analysis exploration and query processing
US11302426B1 (en) 2015-01-02 2022-04-12 Palantir Technologies Inc. Unified data interface and system
US10169395B2 (en) * 2015-02-12 2019-01-01 International Business Machines Corporation Database identifier generation in transaction processing systems
US9727560B2 (en) 2015-02-25 2017-08-08 Palantir Technologies Inc. Systems and methods for organizing and identifying documents via hierarchies and dimensions of tags
EP3611632A1 (en) 2015-03-16 2020-02-19 Palantir Technologies Inc. Displaying attribute and event data along paths
US9886467B2 (en) 2015-03-19 2018-02-06 Plantir Technologies Inc. System and method for comparing and visualizing data entities and data entity series
WO2016157336A1 (ja) * 2015-03-27 2016-10-06 株式会社日立製作所 文書検索システムおよび検索方法
US9348880B1 (en) 2015-04-01 2016-05-24 Palantir Technologies, Inc. Federated search of multiple sources with conflict resolution
US10103953B1 (en) 2015-05-12 2018-10-16 Palantir Technologies Inc. Methods and systems for analyzing entity performance
US9672257B2 (en) 2015-06-05 2017-06-06 Palantir Technologies Inc. Time-series data storage and processing database system
US9384203B1 (en) 2015-06-09 2016-07-05 Palantir Technologies Inc. Systems and methods for indexing and aggregating data records
US10628834B1 (en) 2015-06-16 2020-04-21 Palantir Technologies Inc. Fraud lead detection system for efficiently processing database-stored data and automatically generating natural language explanatory information of system results for display in interactive user interfaces
US9407652B1 (en) 2015-06-26 2016-08-02 Palantir Technologies Inc. Network anomaly detection
US9418337B1 (en) 2015-07-21 2016-08-16 Palantir Technologies Inc. Systems and models for data analytics
US9392008B1 (en) 2015-07-23 2016-07-12 Palantir Technologies Inc. Systems and methods for identifying information related to payment card breaches
US9977805B1 (en) * 2017-02-13 2018-05-22 Sas Institute Inc. Distributed data set indexing
US9996595B2 (en) 2015-08-03 2018-06-12 Palantir Technologies, Inc. Providing full data provenance visualization for versioned datasets
US9456000B1 (en) 2015-08-06 2016-09-27 Palantir Technologies Inc. Systems, methods, user interfaces, and computer-readable media for investigating potential malicious communications
US9600146B2 (en) 2015-08-17 2017-03-21 Palantir Technologies Inc. Interactive geospatial map
US9537880B1 (en) 2015-08-19 2017-01-03 Palantir Technologies Inc. Anomalous network monitoring, user behavior detection and database system
US9671776B1 (en) 2015-08-20 2017-06-06 Palantir Technologies Inc. Quantifying, tracking, and anticipating risk at a manufacturing facility, taking deviation type and staffing conditions into account
US11150917B2 (en) 2015-08-26 2021-10-19 Palantir Technologies Inc. System for data aggregation and analysis of data from a plurality of data sources
US10402385B1 (en) 2015-08-27 2019-09-03 Palantir Technologies Inc. Database live reindex
US9485265B1 (en) 2015-08-28 2016-11-01 Palantir Technologies Inc. Malicious activity detection system capable of efficiently processing data accessed from databases and generating alerts for display in interactive user interfaces
US10706434B1 (en) 2015-09-01 2020-07-07 Palantir Technologies Inc. Methods and systems for determining location information
US9984428B2 (en) 2015-09-04 2018-05-29 Palantir Technologies Inc. Systems and methods for structuring data from unstructured electronic data files
US9639580B1 (en) 2015-09-04 2017-05-02 Palantir Technologies, Inc. Computer-implemented systems and methods for data management and visualization
US9576015B1 (en) 2015-09-09 2017-02-21 Palantir Technologies, Inc. Domain-specific language for dataset transformations
US9454564B1 (en) 2015-09-09 2016-09-27 Palantir Technologies Inc. Data integrity checks
JP6679874B2 (ja) 2015-10-09 2020-04-15 富士通株式会社 符号化プログラム、符号化装置、符号化方法、復号化プログラム、復号化装置および復号化方法
US10044745B1 (en) 2015-10-12 2018-08-07 Palantir Technologies, Inc. Systems for computer network security risk assessment including user compromise analysis associated with a network of devices
US9424669B1 (en) 2015-10-21 2016-08-23 Palantir Technologies Inc. Generating graphical representations of event participation flow
US20170147393A1 (en) * 2015-11-20 2017-05-25 Sap Se Cache-efficient system for two-phase processing
US10210236B2 (en) 2015-11-23 2019-02-19 Ab Initio Technology Llc Storing and retrieving data of a data cube
US10223429B2 (en) 2015-12-01 2019-03-05 Palantir Technologies Inc. Entity data attribution using disparate data sets
US10706056B1 (en) 2015-12-02 2020-07-07 Palantir Technologies Inc. Audit log report generator
US9760556B1 (en) 2015-12-11 2017-09-12 Palantir Technologies Inc. Systems and methods for annotating and linking electronic documents
US9514414B1 (en) 2015-12-11 2016-12-06 Palantir Technologies Inc. Systems and methods for identifying and categorizing electronic documents through machine learning
US10114884B1 (en) 2015-12-16 2018-10-30 Palantir Technologies Inc. Systems and methods for attribute analysis of one or more databases
US9542446B1 (en) 2015-12-17 2017-01-10 Palantir Technologies, Inc. Automatic generation of composite datasets based on hierarchical fields
US10373099B1 (en) 2015-12-18 2019-08-06 Palantir Technologies Inc. Misalignment detection system for efficiently processing database-stored data and automatically generating misalignment information for display in interactive user interfaces
US10958435B2 (en) 2015-12-21 2021-03-23 Electro Industries/ Gauge Tech Providing security in an intelligent electronic device
US10871878B1 (en) 2015-12-29 2020-12-22 Palantir Technologies Inc. System log analysis and object user interaction correlation system
US9792020B1 (en) 2015-12-30 2017-10-17 Palantir Technologies Inc. Systems for collecting, aggregating, and storing data, generating interactive user interfaces for analyzing data, and generating alerts based upon collected data
US10430263B2 (en) 2016-02-01 2019-10-01 Electro Industries/Gauge Tech Devices, systems and methods for validating and upgrading firmware in intelligent electronic devices
KR101663547B1 (ko) * 2016-02-26 2016-10-07 주식회사 아미크 데이터베이스의 아카이빙 방법 및 장치, 아카이빙된 데이터베이스의 검색 방법 및 장치
KR101656750B1 (ko) * 2016-02-26 2016-09-23 주식회사 아미크 인덱스정보를 생성하는 데이터베이스의 아카이빙 방법 및 장치, 인덱스정보를 포함하는 아카이빙된 데이터베이스의 검색 방법 및 장치
US10698938B2 (en) 2016-03-18 2020-06-30 Palantir Technologies Inc. Systems and methods for organizing and identifying documents via hierarchies and dimensions of tags
US9652139B1 (en) 2016-04-06 2017-05-16 Palantir Technologies Inc. Graphical representation of an output
US10068199B1 (en) 2016-05-13 2018-09-04 Palantir Technologies Inc. System to catalogue tracking data
US10417237B2 (en) * 2016-05-24 2019-09-17 International Business Machines Corporation Sorting tables in analytical databases
US10007674B2 (en) 2016-06-13 2018-06-26 Palantir Technologies Inc. Data revision control in large-scale data analytic systems
US10545975B1 (en) 2016-06-22 2020-01-28 Palantir Technologies Inc. Visual analysis of data using sequenced dataset reduction
US10909130B1 (en) 2016-07-01 2021-02-02 Palantir Technologies Inc. Graphical user interface for a database system
US9753935B1 (en) 2016-08-02 2017-09-05 Palantir Technologies Inc. Time-series data storage and processing database system
US10552002B1 (en) 2016-09-27 2020-02-04 Palantir Technologies Inc. User interface based variable machine modeling
US10936559B1 (en) * 2016-09-28 2021-03-02 Amazon Technologies, Inc. Strongly-consistent secondary index for a distributed data set
US10133588B1 (en) 2016-10-20 2018-11-20 Palantir Technologies Inc. Transforming instructions for collaborative updates
US10726507B1 (en) 2016-11-11 2020-07-28 Palantir Technologies Inc. Graphical representation of a complex task
US9842338B1 (en) 2016-11-21 2017-12-12 Palantir Technologies Inc. System to identify vulnerable card readers
US10318630B1 (en) 2016-11-21 2019-06-11 Palantir Technologies Inc. Analysis of large bodies of textual data
US11250425B1 (en) 2016-11-30 2022-02-15 Palantir Technologies Inc. Generating a statistic using electronic transaction data
US10884875B2 (en) 2016-12-15 2021-01-05 Palantir Technologies Inc. Incremental backup of computer data files
GB201621434D0 (en) 2016-12-16 2017-02-01 Palantir Technologies Inc Processing sensor logs
US9886525B1 (en) 2016-12-16 2018-02-06 Palantir Technologies Inc. Data item aggregate probability analysis system
US10249033B1 (en) 2016-12-20 2019-04-02 Palantir Technologies Inc. User interface for managing defects
US10728262B1 (en) 2016-12-21 2020-07-28 Palantir Technologies Inc. Context-aware network-based malicious activity warning systems
US10223099B2 (en) 2016-12-21 2019-03-05 Palantir Technologies Inc. Systems and methods for peer-to-peer build sharing
US10360238B1 (en) 2016-12-22 2019-07-23 Palantir Technologies Inc. Database systems and user interfaces for interactive data association, analysis, and presentation
US11373752B2 (en) 2016-12-22 2022-06-28 Palantir Technologies Inc. Detection of misuse of a benefit system
US10721262B2 (en) 2016-12-28 2020-07-21 Palantir Technologies Inc. Resource-centric network cyber attack warning system
US10762471B1 (en) 2017-01-09 2020-09-01 Palantir Technologies Inc. Automating management of integrated workflows based on disparate subsidiary data sources
US10133621B1 (en) 2017-01-18 2018-11-20 Palantir Technologies Inc. Data analysis system to facilitate investigative process
US10509844B1 (en) 2017-01-19 2019-12-17 Palantir Technologies Inc. Network graph parser
US10515109B2 (en) 2017-02-15 2019-12-24 Palantir Technologies Inc. Real-time auditing of industrial equipment condition
CN108572958B (zh) * 2017-03-07 2022-07-29 腾讯科技(深圳)有限公司 数据处理方法及装置
US10581954B2 (en) 2017-03-29 2020-03-03 Palantir Technologies Inc. Metric collection and aggregation for distributed software services
US10866936B1 (en) 2017-03-29 2020-12-15 Palantir Technologies Inc. Model object management and storage system
US10133783B2 (en) 2017-04-11 2018-11-20 Palantir Technologies Inc. Systems and methods for constraint driven database searching
US10563990B1 (en) 2017-05-09 2020-02-18 Palantir Technologies Inc. Event-based route planning
US10606872B1 (en) 2017-05-22 2020-03-31 Palantir Technologies Inc. Graphical user interface for a database system
US10896097B1 (en) 2017-05-25 2021-01-19 Palantir Technologies Inc. Approaches for backup and restoration of integrated databases
US10795749B1 (en) 2017-05-31 2020-10-06 Palantir Technologies Inc. Systems and methods for providing fault analysis user interface
GB201708818D0 (en) 2017-06-02 2017-07-19 Palantir Technologies Inc Systems and methods for retrieving and processing data
US10956406B2 (en) 2017-06-12 2021-03-23 Palantir Technologies Inc. Propagated deletion of database records and derived data
US11940990B1 (en) 2017-06-16 2024-03-26 Amazon Technologies, Inc. Global clock values for consistent queries to replicated data
US11216762B1 (en) 2017-07-13 2022-01-04 Palantir Technologies Inc. Automated risk visualization using customer-centric data analysis
US10430444B1 (en) 2017-07-24 2019-10-01 Palantir Technologies Inc. Interactive geospatial map and geospatial visualization systems
US11334552B2 (en) 2017-07-31 2022-05-17 Palantir Technologies Inc. Lightweight redundancy tool for performing transactions
US10417224B2 (en) 2017-08-14 2019-09-17 Palantir Technologies Inc. Time series database processing system
US10216695B1 (en) 2017-09-21 2019-02-26 Palantir Technologies Inc. Database system for time series data storage, processing, and analysis
US11281726B2 (en) 2017-12-01 2022-03-22 Palantir Technologies Inc. System and methods for faster processor comparisons of visual graph features
US10614069B2 (en) 2017-12-01 2020-04-07 Palantir Technologies Inc. Workflow driven database partitioning
US11016986B2 (en) 2017-12-04 2021-05-25 Palantir Technologies Inc. Query-based time-series data display and processing system
US10783162B1 (en) 2017-12-07 2020-09-22 Palantir Technologies Inc. Workflow assistant
US10877984B1 (en) 2017-12-07 2020-12-29 Palantir Technologies Inc. Systems and methods for filtering and visualizing large scale datasets
US11314721B1 (en) 2017-12-07 2022-04-26 Palantir Technologies Inc. User-interactive defect analysis for root cause
US10769171B1 (en) 2017-12-07 2020-09-08 Palantir Technologies Inc. Relationship analysis and mapping for interrelated multi-layered datasets
US11263382B1 (en) 2017-12-22 2022-03-01 Palantir Technologies Inc. Data normalization and irregularity detection system
CN108108469A (zh) * 2017-12-29 2018-06-01 北京奇虎科技有限公司 数据迭代方法及装置
US11754997B2 (en) 2018-02-17 2023-09-12 Ei Electronics Llc Devices, systems and methods for predicting future consumption values of load(s) in power distribution systems
US11734704B2 (en) 2018-02-17 2023-08-22 Ei Electronics Llc Devices, systems and methods for the collection of meter data in a common, globally accessible, group of servers, to provide simpler configuration, collection, viewing, and analysis of the meter data
US11686594B2 (en) 2018-02-17 2023-06-27 Ei Electronics Llc Devices, systems and methods for a cloud-based meter management system
US10877654B1 (en) 2018-04-03 2020-12-29 Palantir Technologies Inc. Graphical user interfaces for optimizations
US10754822B1 (en) 2018-04-18 2020-08-25 Palantir Technologies Inc. Systems and methods for ontology migration
US10885021B1 (en) 2018-05-02 2021-01-05 Palantir Technologies Inc. Interactive interpreter and graphical user interface
US10754946B1 (en) 2018-05-08 2020-08-25 Palantir Technologies Inc. Systems and methods for implementing a machine learning approach to modeling entity behavior
GB201807534D0 (en) 2018-05-09 2018-06-20 Palantir Technologies Inc Systems and methods for indexing and searching
US11119630B1 (en) 2018-06-19 2021-09-14 Palantir Technologies Inc. Artificial intelligence assisted evaluations and user interface for same
US11126638B1 (en) 2018-09-13 2021-09-21 Palantir Technologies Inc. Data visualization and parsing system
CN109582666A (zh) * 2018-09-29 2019-04-05 阿里巴巴集团控股有限公司 数据主键生成方法、装置、电子设备及存储介质
US11294928B1 (en) 2018-10-12 2022-04-05 Palantir Technologies Inc. System architecture for relating and linking data objects
US20220129430A1 (en) * 2019-04-29 2022-04-28 Hitachi Vantara Llc Optimizing storage and retrieval of compressed data
US11863589B2 (en) 2019-06-07 2024-01-02 Ei Electronics Llc Enterprise security in meters
US11221999B2 (en) * 2019-06-28 2022-01-11 Salesforce.Com, Inc. Database key compression
CN113535710B (zh) * 2020-04-22 2023-12-15 中山大学 一种搜索方法、装置、终端设备及存储介质
AU2021202904A1 (en) * 2020-05-15 2021-12-02 Vail Systems, Inc. A data management system using attributed data slices
KR102315070B1 (ko) * 2020-07-31 2021-10-20 인하대학교 산학협력단 에지 컴퓨팅환경에서 키벨류 데이터 오케스트레이션 시스템의 데이터 처리 및 데이터 백업
US11250022B1 (en) 2020-09-29 2022-02-15 Amazon Technologies, Inc. Offline index builds for database tables
US11880385B1 (en) 2020-09-29 2024-01-23 Amazon Technologies, Inc. Ordering updates to secondary indexes using conditional operations
US11892992B2 (en) * 2022-01-31 2024-02-06 Salesforce, Inc. Unique identification management
CN115905122B (zh) * 2023-02-20 2023-05-30 成都九洲电子信息系统股份有限公司 一种飞行航迹数据存储及检索系统、方法及存储介质

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4775932A (en) * 1984-07-31 1988-10-04 Texas Instruments Incorporated Computer memory system with parallel garbage collection independent from an associated user processor
JPH0752450B2 (ja) * 1986-08-01 1995-06-05 株式会社日立製作所 辞書デ−タ検索装置
JPH0823865B2 (ja) * 1987-08-28 1996-03-06 株式会社日立製作所 デ−タ検索方法および装置
JPH05257774A (ja) * 1992-03-10 1993-10-08 Fujitsu Ltd インデックス・レコード番号を圧縮・格納した情報検索装置
JPH07287716A (ja) * 1994-02-22 1995-10-31 Ricoh Co Ltd 辞書検索装置
JP3013221B2 (ja) 1994-07-11 2000-02-28 日本製粉マネジメントサービス株式会社 製麺用捏ね水の連続製造装置並びに連続製造の捏ね水を用いた製麺方法
JP3515810B2 (ja) * 1994-08-16 2004-04-05 富士通株式会社 ソート処理方法および装置
US5737593A (en) * 1995-06-02 1998-04-07 International Business Machines Corporation System and method for defining shapes with which to mine time sequences in computerized databases
US6278992B1 (en) 1997-03-19 2001-08-21 John Andrew Curtis Search engine using indexing method for storing and retrieving data
US6389534B1 (en) * 1997-06-30 2002-05-14 Taher Elgamal Cryptographic policy filters and policy control method and apparatus
JP3692764B2 (ja) * 1998-02-25 2005-09-07 株式会社日立製作所 構造化文書登録方法、検索方法、およびそれに用いられる可搬型媒体
CA2244626A1 (en) * 1998-07-31 2000-01-31 Kom Inc. A hardware and software system
US6195024B1 (en) * 1998-12-11 2001-02-27 Realtime Data, Llc Content independent data compression method and system
US6658405B1 (en) * 2000-01-06 2003-12-02 Oracle International Corporation Indexing key ranges
GB0015233D0 (en) * 2000-06-21 2000-08-16 Canon Kk Indexing method and apparatus
GB2406680B (en) * 2000-11-30 2005-05-18 Coppereye Ltd Database
FI20010110A0 (fi) * 2001-01-18 2001-01-18 Stonesoft Oy Pakettien lajittelu gateway-verkkoelementissä
US6925463B2 (en) * 2002-04-15 2005-08-02 International Business Machines Corporation Method and system for query processing by combining indexes of multilevel granularity or composition
AU2003229021C1 (en) * 2002-05-10 2009-09-17 Oracle International Corporation Storing and querying relational data in compressed storage format
US6970866B1 (en) 2002-05-31 2005-11-29 Adobe Systems Incorporated Filter file system
DE10228128B4 (de) * 2002-06-24 2004-09-23 Infineon Technologies Ag Verfahren zur Speicherung von Daten, Verfahren zum Lesen von Daten, Vorrichtung zur Komprimierung von Daten und Vorrichtung zur Dekomprimierung von Daten
US8239343B2 (en) * 2003-05-23 2012-08-07 Bmc Software, Inc. Database reorganization technique
CN1595399A (zh) * 2003-09-08 2005-03-16 北京语言大学语言信息处理研究所 汉语文本中词及词属性自动索引和检索的方法
US7430603B2 (en) 2003-11-10 2008-09-30 Eath Co., Ltd. Aggregation system
US20060184563A1 (en) 2005-02-14 2006-08-17 Potter David H Method and apparatus for temporal database
JP4782490B2 (ja) * 2005-06-29 2011-09-28 富士通株式会社 データ集合分割プログラム、データ集合分割装置、およびデータ集合分割方法
CN100486345C (zh) * 2006-04-25 2009-05-06 沈阳昂立信息技术有限公司 基于pc服务器的业务系统
US20080015945A1 (en) * 2006-07-12 2008-01-17 Michael Goldstein System and Method for Processing Subscriptions and Periodically-Billed Services
CN102831214B (zh) 2006-10-05 2017-05-10 斯普兰克公司 时间序列搜索引擎
US7885932B2 (en) 2006-11-01 2011-02-08 Ab Initio Technology Llc Managing storage of individually accessible data units
US8229902B2 (en) 2006-11-01 2012-07-24 Ab Initio Technology Llc Managing storage of individually accessible data units
US8189912B2 (en) 2007-11-24 2012-05-29 International Business Machines Corporation Efficient histogram storage
JP4670885B2 (ja) 2008-03-28 2011-04-13 ブラザー工業株式会社 時系列データ管理装置及びプログラム
US20090287986A1 (en) 2008-05-14 2009-11-19 Ab Initio Software Corporation Managing storage of individually accessible data units

Also Published As

Publication number Publication date
CA2910841C (en) 2016-07-05
CA2941074C (en) 2021-03-23
WO2008057815A3 (en) 2008-10-09
US8229902B2 (en) 2012-07-24
JP2010508606A (ja) 2010-03-18
CN101553813B (zh) 2012-11-14
CA2910841A1 (en) 2008-05-15
CA2668136C (en) 2018-10-23
CA2910840A1 (en) 2008-05-15
EP2080121A4 (en) 2016-08-03
EP2080121A2 (en) 2009-07-22
CA2941074A1 (en) 2008-05-15
AU2007317574B2 (en) 2014-04-24
CA2910840C (en) 2017-01-24
US20120284240A1 (en) 2012-11-08
KR101400816B1 (ko) 2014-06-27
US8639674B2 (en) 2014-01-28
WO2008057815A2 (en) 2008-05-15
EP2080121B1 (en) 2018-10-17
CA2668136A1 (en) 2008-05-15
US20080104149A1 (en) 2008-05-01
CN102945242A (zh) 2013-02-27
HK1181484A1 (zh) 2013-11-08
JP5377318B2 (ja) 2013-12-25
AU2007317574A1 (en) 2008-05-15
KR20090075885A (ko) 2009-07-09
CN101553813A (zh) 2009-10-07

Similar Documents

Publication Publication Date Title
CN102945242B (zh) 管理数据的方法、系统和计算机系统
EP2281242B1 (en) Managing storage of individually accessible data units
US7885932B2 (en) Managing storage of individually accessible data units
AU2010347763A1 (en) Managing storage of individually accessible data units
AU2014202186B2 (en) Managing storage of individually accessible data units
AU2015258326B2 (en) Managing storage of individually accessible data units

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1181484

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1181484

Country of ref document: HK