CN103930888B - 基于更新、储存及响应约束的多粒度分组聚合选择 - Google Patents
基于更新、储存及响应约束的多粒度分组聚合选择 Download PDFInfo
- Publication number
- CN103930888B CN103930888B CN201280026284.0A CN201280026284A CN103930888B CN 103930888 B CN103930888 B CN 103930888B CN 201280026284 A CN201280026284 A CN 201280026284A CN 103930888 B CN103930888 B CN 103930888B
- Authority
- CN
- China
- Prior art keywords
- time
- interim classification
- constraint
- interim
- classification
- 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.)
- Expired - Fee Related
Links
- 238000006116 polymerization reaction Methods 0.000 title claims abstract description 27
- 230000004044 response Effects 0.000 title claims abstract description 11
- 238000003860 storage Methods 0.000 claims abstract description 60
- 238000000034 method Methods 0.000 claims abstract description 28
- 230000002123 temporal effect Effects 0.000 claims abstract description 20
- 238000006243 chemical reaction Methods 0.000 claims abstract description 8
- 230000008859 change Effects 0.000 claims description 10
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000003780 insertion Methods 0.000 description 13
- 230000037431 insertion Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 11
- 239000008187 granular material Substances 0.000 description 11
- 238000004590 computer program Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000003442 weekly effect Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 235000019580 granularity Nutrition 0.000 description 4
- 238000011835 investigation Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000379 polymerizing effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 230000005291 magnetic effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000035699 permeability Effects 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2477—Temporal data queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24554—Unary operations; Data partitioning operations
- G06F16/24556—Aggregation; Duplicate elimination
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开涉及基于更新、储存及响应约束的多粒度分组聚合选择。公开用于基于更新、储存及响应约束的多粒度分级聚合选择的技术。例如,用于与多个数据库记录相关的聚合统计的临时分级,其中临时分级包含两个或更多个聚合统计级别,并且每个级别都具有与其相关的不同临时粒度,一种方法包含将临时分级迭代更改至下列的至少其中之一:(a)最小化储存使用成本同时满足临时分级更新约束和查询响应时间约束;(b)减少临时分级更新时间和查询响应时间同时满足储存使用约束;和(c)最小化用于未及时转换的频繁应用查询的查询响应时间同时满足储存使用约束,其中实现(a)、(b)及(c)至少其中之一的所得到的临时分级被识别为最佳临时分级。
Description
技术领域
本发明一般涉及数据处理系统,更具体地说,涉及这种数据处理系统中在时间维度上改进的关系数据聚合选择技术。
背景技术
在电子支付交易欺诈侦查的应用中,欺诈侦查软件通常要求计算在多个时间段内的交易量或合计总金额。其目的是建立支付接收者、支付发起者或一对发起者和接收者的支付历史的统计以便评估当前支付交易为欺诈的可能性。例如,在没有最近历史的一对之间大批量、小金额支付交易的激增表明支付发起人的行为改变或被第三方盗取的账号。被怀疑的交易随后应当被标记调查。
公共欺诈侦查软件依靠关系数据库管理系统来储存和管理支付交易记录。根据电子支付类型,交易记录能够在任何时间被单独插入数据库或在固定时间间隔被批量插入。欺诈侦查软件随后将结构化查询语言(SQL)中的查询发出至底层关系数据库以便收集关于参与该交易各方的聚合统计。
必须迅速答复聚合统计查询从而使欺诈侦查软件能够在瞬间做出决定。在数据库中存在数亿个交易时,只有通过也被称为物化表(materialized table)的预计算结果能够实现次秒级的查询响应时间。这些物化表储存聚合值,诸如基于通过欺诈侦查软件发出的预定义查询的原始数据库交易记录的合计和计算。该系统的效率和精确性取决于这种物化聚合表的选择。
发明内容
本发明的原理提供用于基于更新、储存及响应约束的多粒度分级聚合选择的技术。
例如,在本发明的一个方面中,对于与多个数据库记录相关的聚合统计的临时分级而言,其中临时分级包含两个或更多个聚合统计级别,并且每个级别都具有与其相关的不同临时粒度,一种方法包含迭代更改临时分级以便下列的至少其中之一:(a)最小化储存使用成本同时满足临时分级更新约束和查询响应时间约束;(b)减少临时分级更新时间和查询响应时间同时满足储存使用约束;并且(c)最小化用于未及时转换的频繁应用查询的查询响应时间同时满足储存使用约束,其中实现(a)、(b)及(c)至少其中之一的生成临时分级被识别为最佳临时分级。
有利地是,本发明示例性原理提供聚合选择技术,其产生多个时间粒度内的若干个物化关系表以便面对频繁插入数据来加速关系数据库查询。这些物化关系表储存聚合值,诸如在指定时间段内原始数据库交易记录的合计和计算。随着新交易记录不断插入,聚合值通常表示需要维持新鲜度的数据的基础统计。
结合附图,通过本发明示例性实施例的下列详细说明,本发明的这些以及其它目的、特征及优点将变得显而易见。
附图说明
图1A示出数据处理系统的方块图,图中本发明的一个或多个示例性实施例得以实施。
图1B示出根据本发明一个实施例的最佳聚合选择系统的方块图。
图2示出根据本发明一个实施例,临时聚合的关系就像金字塔,较细粒度聚合在底部而粗粒度聚合在顶部。
图3示出根据本发明一个实施例,当新数据记录插入时随着时间的滑动窗口查询。
图4示出根据本发明一个实施例,聚合以每年、每月及每日为间隔进行预计算的情况。
图5示出根据本发明一个实施例,聚合以每年、每季度及每周为间隔进行预计算的情况。
图6是根据本发明一个实施例,选择性物化时间分级中的某些级别,以便最小化额外储存空间的步骤流程图。
图7是根据本发明一个实施例,选择性物化时间分级中的某些级别,以便最小化更新和查询成本的步骤流程图。
图8是根据本发明一个实施例,跨时间分级而选择性物化某些颗粒(granule),以便最小化查询响应时间的步骤流程图。
具体实施方式
在本文中,将在一个或多个示例性数据处理系统上下文中描述本发明的示例性实施例。然而,可以理解,本发明的原理不限于任何特定的数据处理系统,并且可以在不同于本文所描述的示例性系统的系统中得以实施。
通过本发明示例性原理解决的关键问题是在受查询响应时间、更新成本、及储存使用约束的数据库中选择物化表的问题。更具体地,查询工作量的本质是在指定滑动窗口上的聚合交易。例如,工作量可以包含对于过去一天、一周、一个月、六个月、一年、及五年的周期内,对计算给定支付发起者的交易量的查询。它还可以包含对于过去一天、一周、一个月、及一年的周期内,对计算一对支付发起者和接收者之间交易的平均金额的查询。
物化表选择问题因为插入数据库的新交易的周期而进一步复杂化,由此需要数据库管理系统来维持储存在表中的预计算结果。更多物化表改进查询响应时间。然而,它们还增大更新成本和储存空间。根据本发明的示例性原理,我们提出选择性物化临时分级中聚合值的颗粒的算法。
在本文中描述的本发明的示例性原理提供用于在关系数据库中选择物化表的计算机实施方法、数据处理系统、及计算机程序产品,以便在存在频繁插入记录时加速临时聚合查询。本发明技术在临时分级中搜索颗粒,以便预计算在查询响应时间、更新成本、及储存使用方面受约束的聚合值。更具体地,临时转换查询谓语的滑动窗口查是通过在临时分级中选定级别上的多个粒度得到满足。根据最佳目标,即响应时间或储存空间,在成本估计的迭代中增加或减去分级中的级别以便满足各自的约束。结果是加速查询的最佳物化表组。
现在参考附图,并且特别是参考图1A,图1A示出数据处理系统的方块图,图中本发明一个或多个示例性实施例可得以实施。该系统包括一个或多个中央处理单元(CPU)100、主存储器102和储存设备104。实施对示例性实施例进行处理的计算机可执行代码或指令被CPU100执行并且暂时位于主存储器102中。储存设备104用于储存指令以及待由系统处理的数据库记录(例如,格式化文本文档)。
图1B示出根据本发明一个实施例的最佳聚合选择系统的方块图。如图所示,系统110把数据库记录、聚合统计及给定约束作为输入,而输出待物化的推荐聚合表。正如下面将详细解释的那样,在图6-8的上下文中下面描述的一种或多种方法可以由系统110执行以便产生输出结果。还可以意识到,系统110可以实施图1A的数据处理系统结构以便执行一种或多种方法。
现在转到图2,该图将临时聚合的分级关系描绘为金字塔,较细粒度聚合在底部而粗粒度聚合在顶部。在每年基础上预计算的聚合200处在最高级别。例如,处在这个级别的物化表可以储存2010、2009、2008、2007及2006年支付发起者的交易总量,其中每年被视为一个颗粒。能够通过增加来自2010、2009及2008的三个预计算结果简单答复对计算从2010年1月1日开始的过去三年内的交易总量的查询。
在时间分级中向下的下一个级别储存在每季度基础上预计算的聚合202。能够通过增加2011、2010、2009的Q1加上2008的Q4、Q3及Q2的结果来答复对计算从2011年4月1日开始的过去三年内的总交易量的查询。因此,季度是这个级别上的颗粒。
同样,每月204、每周206、每日208、及每小时210聚合能够被预计算并且储存在物化表中(分别以月、周、日及小时为颗粒)。分级的底部是原始交易数据记录212,所有聚合都能够由其以长查询响应时间为代价被计算出。我们能够安全地假设这些记录总是存在,虽然优选不访问或访问极小部分来答复查询。
可以意识到,对于已知的查询工作量而言,不是在每个级别上的每个颗粒都需要预计算或储存。每月聚合可以以查询响应时间为代价从每周或每日聚合中得到。因此,理解在本文中给定的本发明示例性描述的上下文中的典型查询的本质是重要的。
图3描述当新数据记录插入时随着时间的滑动窗口查询。在每小时基础上,如图所示,通过306、308及310插入新的批量交易。与300、302、及304相关的时间跨度建议查询还要准时地,即通常通过当前时间戳上的SQL谓词减去例如一年、一周或一天的固定周期,来转换谓词。在这幅图中随着时间从右至左推进,查询300包括306中的交易。查询302包括306和308中的交易。查询304包括306、308及310中的交易。随着滑动窗口查询逐渐包括新近插入的数据,它们还逐渐排除在窗口开始处的某些每小时聚合(即,参见图3的右侧)。
显然,从这个实例得出,滑动窗口查询的本质导致在时间分级的较低级别上的颗粒在查询窗口的开始和结束部分上(每小时、每日)被物化,而在时间分级的较高级别上的颗粒在查询窗口的中间部分上(每年)被物化。
要认识到,具体查询工作量、更新成本及储存使用决定物化的选定级别。图4示出聚合是以每年、每月及每日为间隔预计算的情况。图5示出聚合是以每年、每季度及每周为间隔预计算的情况。注意到,图4中的附图标记与图2中使用的那些相对应,只是简单地增大200,而图5中的附图标记与图2中使用的那些相对应,只是简单地增大300。
因此,为了答复过去五年内的滑动窗口查询,图4中的方案需要储存四个每年聚合加上12个每月聚合加上30个每日聚合。图5中的方案需要储存四个每年聚合加上四个每季度聚合加上四个每周聚合。乍一看,图5方案具有较少聚合和较低储存使用的优点。然而,它的更新成本将花费更长时间,因为更多的原始交易数据必须被访问到以便刷新当前周的每周聚合。相反,图4方案能够通过访问图5方案中需要访问的原始交易数据的1/7来更新当前日的每日聚合。
由欺诈侦查软件发出的现实世界查询工作量很少只具有一个固定周期的,如图4和图5中的情况所示。相反,工作量通常含有可能在过去一天、一周、一个月、六个月、一年、或五年的周期内的混合查询。不能够手动搜索最佳物化选择。本发明的示例性原理提供三种算法解决方案来选择性物化受最佳化目标和相关的约束的时间分级中的多个粒度。这三种解决方案在下面图6、7及8的上下文中分别详细描述。
图6示出选择性物化时间分级中某些级别以便最小化受查询响应时间和更新成本约束的储存空间的步骤流程图。在实际情况下,这转化成例如在十分钟的批处理窗口中处理千万个交易。该算法由假设时间分级中的所有级别将被物化(步骤600)开始。它随后估计每个级别上的储存使用(成本)(步骤602)。例如,物化每日聚合占用比物化每周聚合多七倍的空间。步骤604设置用于下K个窗口的插入工作量。例如,数据库管理者可以选择为具有每日八个批处理插入的五个营业日插入工作量进行优化。插入工作量随后被特征化为5×8=40个批处理插入。
步骤606至614迭代去除临时级别以便减少被物化表占用的储存空间而不违反查询和更新约束。对于每个级别而言,步骤606去除级别,而步骤608估计维持物化级别的成本。例如,如果每月级别被去除,则它的上部级别每季度聚合能够使用它的下部级别每周聚合进行计算。需要这种运行时间计算的工作量中的查询数量确定储存节省是否比更长的查询响应时间重要。
步骤610找到具有最强储存空间减少而不违反查询和更新约束的级别。如果找到解决方案(步骤612),则下一个迭代开始(步骤614)以便去除另一个临时级别。如果未能够找到解决方案,则该算法停止并且推荐将被物化的当前组临时级别。
图7示出选择性物化时间分级中某些级别以便最小化更新和查询成本的步骤流程图。该解决方案反映图6中的所述算法。图7中的这种算法力图最小化受储存空间约束的查询响应时间和更新成本。
该算法由假设在时间分级中无级别被物化(步骤700)开始。它随后估计每个级别上的储存使用(成本)(步骤702)。随后在步骤704中给定插入工作量。
步骤706至714迭代增加临时级别以便增大被物化表占用的储存空间从而减小查询和更新成本。对于每个级别而言,步骤706首先将一个级别增加至已经选定的级别组。该算法估计物化已选定级别而增加的储存空间和效益(步骤708)。
步骤710找到具有最大程度减少查询和更新成本而不违反储存空间约束的级别。如果找到解决方案(步骤712),则下一个迭代开始(步骤714)增加另一个临时级别。如果没有找到解决方案,则该算法停止并且推荐将被物化的当前组临时级别。
可以意识到,在图6和7上下文中描述的算法更适用于诸如图3所描述的滑动窗口查询。然而,可以进一步意识到,欺诈侦查软件要求的某些统计可以不落入滑动窗口查询范畴。例如,欺诈侦查统计可以查询去年同一个月的聚合值。在这种情况下,对最佳时间颗粒的搜索需要被推广至所有可能的临时节点。所谓节点,我们指的是在时间分级中表示的原子单位。例如,每年聚合2010是一个节点,每月聚合2011年3月也是,等等。
图8示出选择性物化跨时间分级的某些颗粒以便最小化查询响应时间的步骤流程图。最佳答复具有相当于渐缩最佳化、已知的NP问题的计算复杂性。我们因此应用强烈(greedy)启发式来搜索适当答复。
该算法由假设无节点被物化开始(步骤800)。它随后估计每个节点上的储存使用(成本)(步骤802)。随后在步骤804中给定插入工作量。
步骤806至812迭代增加节点以便增大被物化表占用的储存空间,而同时减小查询和更新成本(步骤806)。这个贪婪启发式寻找具有最佳成本效益比的节点(步骤808)。顶部节点随后被增加至组(步骤810)。如果储存成本约束被违反,则启发式停止(步骤812)。否则,它继续增加更多的节点以便在关系表中进行物化。
可以意识到,虽然图6、7及8示出可以被最佳聚合选择系统(图1B中的110)单独和独立执行的方法,但是可以理解,该系统能有利地结合执行两种或多种方法。以这种方式,可以实现基于更新、储存及响应约束的多粒度分级聚合选择。
所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或方块图描述本发明。应当理解,流程图和/或方块图的每个方框以及流程图和/或方块图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或方块图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或方块图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
计算机程序指令也可以装载到计算机、其它的可编程数据处理装置、或其它的设备上,以造成一系列操作步骤在计算机、其它的可编程装置或其它的设备上执行,以便产生计算机实施的过程,使得在计算机或其它的可编程装置上执行的指令提供用于实施在流程图和/或方块图的一个方块或多个方块中指定的功能/动作的过程。
再次参考图1A至8,附图中的各图示出根据本发明不同实施例的系统、方法及计算机程序产品的可能实施方式的结构、功能及操作。关于这点,流程图或方块图中的每个方块都可以表示模块、段、或部分代码,其包含用于实施指定逻辑功能的一个或多个可执行指令。还应当注意到,在一些可选实施方式中,在方块中指出的功能可以不按照附图中的顺序发生。例如,两个连续示出的方块事实上可以大致同时执行,或者依据所涉及的功能,方块有时可以按相反的顺序执行。还将注意到,方块图和/或流程图例示的每个方块、及方块图和/或流程图例示中方块的结合能够通过执行指定功能或动作的专用的基于硬件的系统、或专用硬件和计算机指令的结合得以实施。
因此,例如,图1A-8所描述的本发明的技术还能够包括,如本文中所描述的那样,提供一种系统,其中该系统包括明确的模块(例如,包含软件、硬件或软件和硬件的模块)。仅通过实例,模块可以包括但不限于最佳聚合选择模块。这个及其它模块可以被配置成例如执行在图1A-8上下文中描述和示出的步骤。
一个或多个实施例能够利用在通用计算机或包含处理器、存储器及由例如显示器和键盘形成的输入/输出接口的工作站上运行的软件。如在本文中使用的那样,术语“处理器”旨在包括(但不限于)任何处理设备,诸如包括CPU(中央处理单元)和/或其它形式处理电路的处理设备。此外,术语“处理器”可以指多于一个的单独处理器。术语“存储器”旨在包括(但不限于)与处理器或CPU相关的存储器,诸如RAM(随机存取存储器)、ROM(只读存储器)、固定存储设备(例如硬盘驱动器)、可拆卸存储设备(例如软盘)、闪速存储器等等。另外,如在本文中使用的那样,短语“输入/输出接口”旨在包括(但不限于)用于将数据输入至处理单元的一个或多个机构(例如,键盘或鼠标)、及用于提供与处理单元相关的结果的一个或多个机构(例如显示器或打印机)。
处理器、存储器、及诸如显示器和键盘的输入/输出接口能够例如经由作为数据处理单元的一部分的总线互相连接(例如,图1A)。例如,经由总线的适当的互相连接还能够被提供至网络接口,诸如网卡,其能够被提供成与计算机网络接口,以及至媒介接口,诸如软盘或CD-ROM驱动器,其能够被提供成与媒体接口。
适于储存和/或执行程序代码的数据处理系统能够包括至少一个处理器,其通过系统总线直接或间接地耦接至存储元件。存储元件能够包括在实际执行程序代码期间采用的本地存储器、大容量储存器及高速缓冲存储器,其提供至少一些程序代码的暂时储存以便在执行期间减少必须从大容量储存器取回的时间代码的数量。
输入/输出或I/O设备(包括但不限于键盘、显示器、指点设备等等)能够直接(诸如经由总线)或通过介入式I/O控制器(出于清晰的目的被省略)被耦接至系统。
诸如网络接口的网络适配器还可以被耦接至系统以便使数据处理系统变成通过介入式私人或公用网络被耦接至其它数据处理系统或远程打印机或储存设备。调制解调器、电缆调制解调器及以太网卡仅仅是少数目前可用的网络适配器类型。
如本文中,包括权利要求书中使用的那样,“服务器”包括运行服务器程序的物理数据处理系统(例如,如图1A所示的系统)。将理解,这种物理服务器可以或可以不包括显示器和键盘。并且,这种计算机结构能表示客户端的示例性实施方式。
将意识到并且应当理解,上述本发明的示例性实施例能够以若干种不同方式进行实施。给出本文中提供的本发明的教导,本领域普通技术人员将能够考虑本发明的其它实施方式。的确,虽然参考附图已经在本文中描述过本发明的示例性实施例,但是可以理解,本发明不限于那些准确的实施例,并且,各种其它改变和更改可以由本领域技术人员做出而不背离本发明的范围或精神。
Claims (24)
1.一种方法,包含:
用于与多个数据库记录相关的聚合统计的临时分级,其中所述临时分级包含两个或更多个聚合统计级别,并且每个级别都具有与其相关的不同的临时粒度,将所述临时分级迭代更改至下列的至少其中之一:(a)最小化储存使用成本同时满足临时分级更新约束和查询响应时间约束;(b)减少临时分级更新时间和查询响应时间同时满足储存使用约束;和(c)最小化用于未及时转换的频繁应用查询的查询响应时间同时满足所述储存使用约束,其中实现(a)、(b)及(c)至少其中之一的所得到的临时分级被识别为最佳临时分级;
其中所述临时分级被储存在存储器内,并且所述临时分级的所述迭代更改由处理器设备执行。
2.根据权利要求1所述的方法,其中迭代更改临时分级的步骤为:(a)最小化所述储存使用成本同时满足所述临时分级更新约束和所述查询响应时间约束包含:去除所述临时分级的一个或多个级别。
3.根据权利要求2所述的方法,其中所述临时分级的所述一个或多个级别被去除以便最小化受所述查询响应时间约束和所述临时分级更新约束的所述储存使用成本。
4.根据权利要求1所述的方法,其中迭代更改所述临时分级的步骤为:(b)减少所述临时分级更新时间和所述查询响应时间同时满足所述储存使用约束包含:将一个或多个级别增加至所述临时分级。
5.根据权利要求4所述的方法,其中所述临时分级的所述一个或多个级别被增加以便最小化受所述储存使用约束的所述查询响应时间和所述临时分级更新。
6.根据权利要求1所述的方法,其中迭代更改所述临时分级的步骤为:(c)最小化用于未及时转换的频繁应用查询的所述查询响应时间同时满足所述储存使用约束,包含:将一个或多个节点增加至所述临时分级。
7.根据权利要求6所述的方法,其中所述临时分级的所述一个或多个节点被增加以便不违反所述储存使用约束。
8.根据权利要求1所述的方法,其中所述最佳临时分级用于物化预计算结果,所述预计算结果在存在新近插入的数据库记录时用于加速对查询工作量的响应时间。
9.根据权利要求8所述的方法,其中所述新近插入的数据库记录在任何时间被单独插入或在固定时间间隔按批量被插入。
10.根据权利要求8所述的方法,其中所述查询工作量要求在指定滑动窗口上的聚合统计。
11.根据权利要求1所述的方法,其中所述不同的临时粒度包含一个或多个年、月、周、日、及小时。
12.根据权利要求1所述的方法,其中所述数据库记录对应于支付历史记录。
13.根据权利要求12所述的方法,其中所述聚合统计对应于支付接收者、支付发起者或一对发起者和接收者的支付历史以便确定当前支付交易为欺诈的可能性。
14.根据权利要求13所述的方法,其中所述聚合统计对应于交易量和交易金额。
15.一种装置,包含:
存储器,用于储存与多个数据库记录相关的聚合统计的临时分级,其中所述临时分级包含两个或更多个聚合统计级别,并且每个级别都具有与其相关的不同的临时粒度;和
处理器设备,操作性耦接至所述存储器并且被配置成将所述临时分级迭代更改至下列的至少其中之一:(a)最小化储存使用成本同时满足临时分级更新约束和查询响应时间约束;(b)减少临时分级更新时间和查询响应时间同时满足储存使用约束;和(c)最小化用于未及时转换的频繁应用查询的查询响应时间同时满足所述储存使用约束,其中实现(a)、(b)及(c)至少其中之一的所得到的临时分级被识别为最佳临时分级。
16.根据权利要求15所述的装置,其中所述临时分级的所述迭代更改为:(a)最小化所述储存使用成本同时满足所述临时分级更新约束和所述查询响应时间约束包含:去除所述临时分级的一个或多个级别。
17.根据权利要求15所述的装置,其中所述临时分级的迭代更改为:(b)减少所述临时分级更新时间和所述查询响应时间同时满足所述储存使用约束包含:将一个或多个级别增加至所述临时分级。
18.根据权利要求15所述的装置,其中所述临时分级的迭代更改为:(c)最小化用于未及时转换的频繁应用查询的所述查询响应时间同时满足所述储存使用约束包含:将一个或多个节点增加至所述临时分级。
19.根据权利要求15所述的装置,其中所述最佳临时分级用于物化预计算结果,所述预计算结果在存在新近插入的数据库记录时用于加速对查询工作量的响应时间。
20.根据权利要求19所述的装置,其中所述新近插入的数据库记录在任何时间被单独插入或在固定时间间隔按批量被插入。
21.根据权利要求19所述的装置,其中所述查询工作量要求在指定滑动窗口上的聚合统计。
22.根据权利要求15所述的装置,其中所述不同的临时粒度包含一个或多个年、月、周、日、及小时。
23.根据权利要求15所述的装置,其中所述数据库记录对应于支付历史记录。
24.一种制造品,包含计算机可读存储介质,其具有在其上有形实现的计算机可读程序代码,当所述计算机可读程序代码被执行时,使处理器设备用于与多个数据库记录相关的聚合统计的临时分级,其中所述临时分级包含两个或更多个聚合统计级别,并且每个级别都具有与其相关的不同的临时粒度,将所述临时分级迭代更改至下列的至少其中之一:(a)最小化储存使用成本同时满足临时分级更新约束和查询响应时间约束;(b)减少临时分级更新时间和查询响应时间同时满足储存使用约束;和(c)最小化用于未及时转换的频繁应用查询的查询响应时间同时满足所述储存使用约束,其中实现(a)、(b)及(c)至少其中之一的所得到的临时分级被识别为最佳临时分级。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/169,514 | 2008-07-08 | ||
US13/169,514 US8719295B2 (en) | 2011-06-27 | 2011-06-27 | Multi-granularity hierarchical aggregate selection based on update, storage and response constraints |
PCT/US2012/032891 WO2013002870A2 (en) | 2011-06-27 | 2012-04-10 | Multi-granularity hierarchical aggregate selection based on update, storage and response constraints |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103930888A CN103930888A (zh) | 2014-07-16 |
CN103930888B true CN103930888B (zh) | 2017-03-08 |
Family
ID=47362838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280026284.0A Expired - Fee Related CN103930888B (zh) | 2011-06-27 | 2012-04-10 | 基于更新、储存及响应约束的多粒度分组聚合选择 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8719295B2 (zh) |
CN (1) | CN103930888B (zh) |
GB (1) | GB2506800A (zh) |
WO (1) | WO2013002870A2 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8719295B2 (en) | 2011-06-27 | 2014-05-06 | International Business Machines Corporation | Multi-granularity hierarchical aggregate selection based on update, storage and response constraints |
US8751525B2 (en) | 2011-12-23 | 2014-06-10 | Sap Ag | Time slider operator for temporal data aggregation |
GB2503430A (en) * | 2012-06-25 | 2014-01-01 | Ibm | Relational modelling engine |
US10235441B1 (en) | 2012-06-29 | 2019-03-19 | Open Text Corporation | Methods and systems for multi-dimensional aggregation using composition |
US10169442B1 (en) | 2012-06-29 | 2019-01-01 | Open Text Corporation | Methods and systems for multi-dimensional aggregation using composition |
US9430453B1 (en) | 2012-12-19 | 2016-08-30 | Emc Corporation | Multi-page document recognition in document capture |
US10318970B2 (en) | 2013-10-04 | 2019-06-11 | International Business Machines Corporation | Generating a succinct approximate representation of a time series |
US10395198B2 (en) | 2013-10-04 | 2019-08-27 | International Business Machines Corporation | Forecasting a time series based on actuals and a plan |
US10169404B2 (en) | 2014-11-11 | 2019-01-01 | International Business Machines Corporation | Automatically aggregating data in database tables |
US10339467B2 (en) | 2015-06-02 | 2019-07-02 | International Business Machines Corporation | Quantitative discovery of name changes |
US10580006B2 (en) * | 2015-07-13 | 2020-03-03 | Mastercard International Incorporated | System and method of managing data injection into an executing data processing system |
US11222034B2 (en) * | 2015-09-15 | 2022-01-11 | Gamesys Ltd. | Systems and methods for long-term data storage |
US10318514B2 (en) * | 2016-05-04 | 2019-06-11 | International Business Machines Corporation | Reorganizing a data table to improve analytical database performance |
WO2018132118A1 (en) * | 2017-01-11 | 2018-07-19 | Wepay, Inc. | Systems and methods for flexible streaming aggregation for electronic transaction analysis |
CN106997386B (zh) * | 2017-03-28 | 2019-12-27 | 上海跬智信息技术有限公司 | 一种olap预计算模型、自动建模方法及自动建模系统 |
CN108268612B (zh) * | 2017-12-29 | 2021-05-25 | 上海跬智信息技术有限公司 | 一种基于olap预计算模型的预校验方法及预校验系统 |
US10897483B2 (en) | 2018-08-10 | 2021-01-19 | International Business Machines Corporation | Intrusion detection system for automated determination of IP addresses |
US20240184794A1 (en) * | 2022-12-05 | 2024-06-06 | Business Objects Software Ltd. | Customizable date dimension for non-standard calendar |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101494557A (zh) * | 2008-01-21 | 2009-07-29 | 国际商业机器公司 | 用于自动识别最优属性组的方法和系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6438537B1 (en) * | 1999-06-22 | 2002-08-20 | Microsoft Corporation | Usage based aggregation optimization |
US6374263B1 (en) | 1999-07-19 | 2002-04-16 | International Business Machines Corp. | System for maintaining precomputed views |
US20020156792A1 (en) | 2000-12-06 | 2002-10-24 | Biosentients, Inc. | Intelligent object handling device and method for intelligent object data in heterogeneous data environments with high data density and dynamic application needs |
CA2365692A1 (en) | 2001-06-21 | 2002-12-21 | International Business Machines Corporation | Method for recommending indexes and materialized views for a database workload |
US7599293B1 (en) | 2002-04-25 | 2009-10-06 | Lawrence Michael Bain | System and method for network traffic and I/O transaction monitoring of a high speed communications network |
US20050262193A1 (en) * | 2003-08-27 | 2005-11-24 | Ascential Software Corporation | Logging service for a services oriented architecture in a data integration platform |
US7380039B2 (en) | 2003-12-30 | 2008-05-27 | 3Tera, Inc. | Apparatus, method and system for aggregrating computing resources |
US7979368B2 (en) | 2005-07-01 | 2011-07-12 | Crossbeam Systems, Inc. | Systems and methods for processing data flows |
US20070061211A1 (en) * | 2005-09-14 | 2007-03-15 | Jorey Ramer | Preventing mobile communication facility click fraud |
US8719295B2 (en) | 2011-06-27 | 2014-05-06 | International Business Machines Corporation | Multi-granularity hierarchical aggregate selection based on update, storage and response constraints |
-
2011
- 2011-06-27 US US13/169,514 patent/US8719295B2/en not_active Expired - Fee Related
-
2012
- 2012-04-10 GB GB1400973.2A patent/GB2506800A/en not_active Withdrawn
- 2012-04-10 WO PCT/US2012/032891 patent/WO2013002870A2/en active Application Filing
- 2012-04-10 CN CN201280026284.0A patent/CN103930888B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101494557A (zh) * | 2008-01-21 | 2009-07-29 | 国际商业机器公司 | 用于自动识别最优属性组的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
US20120330996A1 (en) | 2012-12-27 |
GB2506800A (en) | 2014-04-09 |
GB201400973D0 (en) | 2014-03-05 |
WO2013002870A2 (en) | 2013-01-03 |
WO2013002870A3 (en) | 2014-05-01 |
CN103930888A (zh) | 2014-07-16 |
US8719295B2 (en) | 2014-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103930888B (zh) | 基于更新、储存及响应约束的多粒度分组聚合选择 | |
US10691646B2 (en) | Split elimination in mapreduce systems | |
CA2953959C (en) | Feature processing recipes for machine learning | |
US20190188205A1 (en) | Massively Parallel And In-Memory Execution Of Grouping And Aggregation In a Heterogeneous System | |
US11275735B2 (en) | Materialized graph views for efficient graph analysis | |
US8782075B2 (en) | Query handling in databases with replicated data | |
US8694458B2 (en) | Making estimations or predictions about databases based on data trends | |
CN111427971B (zh) | 用于计算机系统的业务建模方法、装置、系统和介质 | |
Osman et al. | Towards real-time analytics in the cloud | |
WO2023103527A1 (zh) | 一种访问频次的预测方法及装置 | |
CN102479255A (zh) | 用于优化数据库查询的方法和系统 | |
US9524331B2 (en) | Method and system for representing OLAP queries using directed acyclic graph structures in a datagrid to support real-time analytical operations | |
Bai et al. | Open shop scheduling problem to minimize total weighted completion time | |
CN109446225A (zh) | 数据缓存方法、装置、计算机设备及存储介质 | |
CN108173958A (zh) | 一种多云环境下基于蚁群算法的数据优化存储方法 | |
Altowim et al. | ProgressER: adaptive progressive approach to relational entity resolution | |
CN109299089A (zh) | 一种画像标签数据的计算及存储方法和计算及存储系统 | |
CN107766537A (zh) | 一种职位搜索排序方法及计算设备 | |
Li et al. | Query Optimization over Cloud Data Market. | |
US11762831B2 (en) | Adaptive sparse indexing in cloud-based data warehouses | |
CN106326295A (zh) | 语义数据的存储方法及装置 | |
CN109635042B (zh) | Oltp与olap一体化的汽车金融大数据系统 | |
Wang et al. | RODA: A fast outlier detection algorithm supporting multi-queries | |
Zhang et al. | Scalable Online Interval Join on Modern Multicore Processors in OpenMLDB | |
CN108038225A (zh) | 一种数据处理方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170308 |