CN104969213A - 用于低延迟数据存取的数据流分割 - Google Patents
用于低延迟数据存取的数据流分割 Download PDFInfo
- Publication number
- CN104969213A CN104969213A CN201480007137.8A CN201480007137A CN104969213A CN 104969213 A CN104969213 A CN 104969213A CN 201480007137 A CN201480007137 A CN 201480007137A CN 104969213 A CN104969213 A CN 104969213A
- Authority
- CN
- China
- Prior art keywords
- daily record
- record data
- data
- server
- end server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
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/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- Storage Device Security (AREA)
Abstract
在本文中公开了一种通过分割数据流促进并且加速日志数据处理的技术。前端集群实时生成大量日志数据并且将日志数据传送至聚合集群。聚合集群被设计成聚合来自不同的前端服务器和集群的到来的日志数据流。聚合集群进一步将日志数据分割成多个数据流以便数据流被并行发送至接收应用。在一个实施方式中,随机分割日志数据以确保日志数据被均匀分布在分割数据流中。在另一个实施方式中,接收分割数据流的应用确定如何分割日志数据。
Description
相关申请的交叉引用
本申请要求于2013年1月31日提交的美国专利申请号13/756,340的优先权,通过引用将其全部内容结合于此。
技术领域
本发明总体涉及数据获取和处理系统,并且具体地涉及能够将数据分割成多个数据流的数据获取和处理系统。
背景技术
计算机和网络计算的发展引起了需要大量数据存储的应用。例如,数千万用户可以创建网页并且将图像和文本上传到社交媒体网站中。因此,社交媒体网站每天可能累积大量数据,因此,需要一种用于存储和处理数据的高度可扩展的系统(scalable system)。存在促进这样的大量数据存储的多种工具。
这些社交媒体网站的前端集群监测用户活动并且基于社交媒体用户的活动产生日志数据。前端集群将日志数据传输至集中存储文件管理器或数据仓库。集中存储文件管理器或数据仓库组织所接收的日志数据并且对来自数据处理应用的请求作出响应。为了容纳大量的日志数据,普遍使用大规模的数据仓库以存储日志数据并且为来自数据处理应用的数据密集查询服务。
通过使应用能够与数以千计的计算机(也称作节点)的集群和前兆字节的数据交互存在支持大规模数据密集的分布式应用的框架。例如,被称为Hadoop的框架使用分布式、可扩展的、便携式文件系统,称为Hadoop分布式文件系统(HDFS)以在Hadoop集群中的数据节点(也称为从节点)之中分布大量数据。为了减小数据节点电源中断或网络故障(包括开关故障)的不利影响,HDFS内的数据通常被复制在不同的数据节点上。
开发了Hive用于在Hadoop集群的顶部上运行,Hive是一种开放源数据仓库系统。Hive支持用被称为HiveQL的类似脚本查询语言(SQL)的说明性语言表示的数据查询。然后Hive系统将用HiveQL表示的查询编译成可以有向无环图的数学表达式在Hadoop集群上执行的映射减少工作。HiveQL语言包括支持包含原始类型、集合(例如,阵列和映射)以及嵌套布局类型(nested compositions of types)的表格的类型系统。此外,Hive系统包括被称为Hive-Metastore的系统类目,包含方案和统计,这对数据探索和查询优化有用。
与Hadoop集群耦合的Hive系统可以为社会网络系统存储和分析大量数据。例如,Hive系统可以分析在用户之间的连接程度以对用户在社会网络系统上跟进的故事进行排列。Hive系统可以分析活动日志以了解社会网络系统的服务如何被用来帮助应用开发员、网页管理员以及广告人员做出开发和业务决定。Hive系统可以运行复杂的数据挖掘程序以优化向社会网络系统的用户示出的广告。Hive系统可以进一步分析使用日志以识别社会网络系统的垃圾邮件和滥用。
Hive系统对于没有创造并且执行Hive查询用于著作、调试并且调度复杂的数据管道并且基于存储在Hive系统和如同MySQL和Oracle的其他关系数据库中存储的数据生成报告的能力的人包括基于网络的工具。
然而,前端集群将捕获的日志数据定期而不是实时地发送到集中数据仓库。此外,在数据仓库能够对这些日志数据的数据查询做出响应之前,数据仓库需要花费时间组织所接收的日志数据。因此,在捕获日志数据的时长之后仅可用数据仓库中的日志数据。时长可以是一小时甚至一天。数据处理和消耗应用仅可访问具有明显延迟的日志数据。
此外,集中数据仓库需要保持与前端服务器的连接来持续接收日志数据。在现代的社交网络中,前端服务器的数目可以上千甚至更多。数据仓库承载保持连接的重大负荷。这种保持连接的负荷影响数据仓库的总性能。
发明内容
本文中引进的技术提供了低延迟地日志数据存取和处理的益处。具体地,本文中引进的技术包括实时生成大量日志数据并且将日志数据传送至聚合集群的前端集群。将聚合集群设计成聚合来自不同的前端服务器和集群的到来的日志数据流。聚合集群进一步将日志数据分割成多个数据流以便数据流被并行发送至接收应用。在一个实施方式中,聚合集群随机分割日志数据以确保日志数据被均匀分布在分割数据流中。在另一个实施方式中,接收分割数据流的应用确定如何分割日志数据。
根据本文中引进的技术,因此,提供了分割数据流的方法。该方法包括基于实时用户活动产生日志数据、将日志数据传输至聚合服务器、在聚合服务器聚合日志数据、将日志数据分割到多个日志数据流、以及将日志数据流并行馈送到至少一个后端服务器。
根据本文中引进的技术,因此,也提供了分割数据流的计算机实施系统。计算机实施系统包括多个前端服务器和至少一个聚合服务器。多个前端服务器配置成用于基于实时用户活动产生日志数据。聚合服务器配置成用于聚合从前端服务器中的至少一些接收的日志数据。聚合服务器经由网络与前端服务器中的至少一些相连。聚合服务器包括配置成用于暂存日志数据的数据暂存区。聚合服务器进一步配置成用于将所述日志数据分割到多个日志数据流以便一个或多个后端服务器能够并行检索所述日志数据流。
根据本文中引进的技术,因此,也提供了分割日志数据的聚合服务器。聚合服务器包括处理器、网络接口、数据存储和存储器。网络接口耦接至处理器,所述聚合服务器通过所述网络接口能够与多个前端服务器通信。前端服务器基于实时用户活动产生日志数据。数据存储包括数据暂存区。存储器存储当由处理器执行时使得聚合服务器执行包括从前端服务器接收日志数据的过程的指令,其中,前端服务器基于实时用户活动产生日志数据、聚合日志数据、在数据暂存区暂存日志数据、以及将日志数据分割到多个日志数据流以便一个或多个后端服务器能够并行检索日志数据流。
在本发明的实施方式中,提供了一种用于对社交网络系统或者第三方系统或者客户端系统的用户进行认证的方法,尤其是用于防止社交网络系统或者社交网络系统的部分或者第三方系统或者客户端系统未经批准的使用,包括:
在本发明的实施方式中,方法包括:
基于实时用户活动在多个前端服务器处产生日志数据;
将日志数据传输至聚合服务器;
在聚合服务器处聚合日志数据;
将日志数据分割到多个日志数据流;并且
将日志数据流并行馈送到至少一个后端服务器。
分割步骤可以包括:
随机分割日志数据使得日志数据被均匀分布至多个日志数据流。
该方法可以进一步包括:
在数据暂存区暂存日志数据。
该方法可以进一步包括:
从后端服务器接收关于如何将日志数据分割到多个日志数据流的指令。
日志数据可包括多个日志数据条目,每个日志数据条目包括应用标识和类目字段。
该方法可以进一步包括:
对于日志数据的每个条目,以总桶数为模通过应用标识和类目字段的散列函数计算桶号,其中,总桶数是多个日志数据流的总数;并且
将日志数据的条目分配至通过桶号识别的日志数据流。
类目字段可包括日志数据条目的预期目的地的高级描述。
应用标识能够识别用于处理日志数据条目的数据消耗应用。
日志数据可包括多个日志数据条目;并且
该方法可以进一步包括:
对于每个日志数据条目,随机生成从1至总桶数的整数,其中,总桶数是多个日志数据流的总数;并且
将该日志数据条目分配至通过桶号识别的日志数据流。
通过能用于接收日志数据流的后端服务器的数量和每个后端服务器能够处理的连接数能够确定总桶数。
可通过在至少一个后端服务器上运行的数据消耗应用指示总桶数。
当后端服务器接收并且处理日志数据流时后端服务器是等载的。
该方法可以进一步包括:
检查日志数据的条目的前缀以确定被分配条目的日志数据流。
该方法可以进一步包括:
将日志数据发送至数据仓库;并且
处理在数据仓库处的日志数据使得数据仓库能够基于处理日志数据对数据查询做出响应。
在也可要求保护的发明的实施例中,计算机实施系统,包括:
多个前端服务器,配置成用于基于实时用户活动产生日志数据;以及
至少一个聚合服务器,配置成用于聚合从所述前端服务器中的至少一些接收的日志数据,聚合服务器经由网络与前端服务器中的至少一些相连;
其中,聚合服务器包括配置成用于暂存日志数据的数据暂存区,并且聚合服务器被配置成用于将日志数据分割到多个日志数据流以便一个或多个后端服务器能够并行检索日志数据流。
日志数据能够包括多个日志数据条目,每个日志数据条目可包括应用标识和类目字段;并且聚合服务器可进一步配置成:
对于日志数据的每个条目,以总桶数为模通过应用标识和类目字段的散列函数计算桶号,其中,总桶数是多个日志数据流的总数;并且
将日志数据的条目分配至通过桶号识别的日志数据流。
日志数据可包括多个日志数据条目;并且聚合服务器可进一步配置成用于:
对于每个日志数据条目,随机生成从1至总桶数的整数,其中,总桶数是多个日志数据流的总数;并且
将该日志数据条目分配至通过桶号识别的日志数据流。
可通过在一个或多个后端服务器上运行的数据消耗应用指示总桶数,并且可通过能用于接收日志数据流的后端服务器的数量和后端服务器中的每个后端服务器能够处理的连接数来确定总桶数。
在也可要求保护的发明的实施例中,聚合服务器,包括:
处理器;
网络接口,耦接至处理器,聚合服务器通过网络接口能够与多个前端服务器通信;
数据存储,包括数据暂存区;以及
存储器,存储当由处理器执行时使得聚合服务器执行过程的指令,包括:
从前端服务器接收日志数据,其中,前端服务器基于实时用户活动产生日志数据,
聚合日志数据,
在数据暂存区暂存日志数据,并且
将日志数据分割到多个日志数据流以便一个或多个后端服务器能够并行检索日志数据流。
日志数据可包括多个日志数据条目,每个日志数据条目可包括应用标识和类目字段;并且过程可进一步包括:
对于日志数据的每个条目,以总桶数为模通过应用标识和类目字段的散列函数计算桶号,其中,总桶数是多个日志数据流的总数;并且
将日志数据的条目分配至通过桶号识别的日志数据流。
日志数据可包括多个日志数据条目;并且
过程可进一步包括:
对于每个日志数据条目,随机生成从1至总桶数的整数,其中,总桶数是多个日志数据流的总数;并且
将该日志数据条目分配至通过桶号识别的日志数据流。
在本发明的另一实施方式中,一个或多个计算机可读非易失性存储介质体现为当执行时可操作以执行根据本发明或根据上述实施方式中任一项的方法的软件。
在本发明的另一实施方式中,系统包括:一个或多个处理器;以及耦接至处理器的存储器,存储器包括通过处理器可执行的指令,当执行指令时处理器可操作为执行根据本发明或上述实施方式的任一个的方法。通过附图并且通过以下详细描述,在本文中介绍的技术的其他方面显而易见。
附图说明
通过结合所附权利要求和附图的以下具体描述(它们均构成本说明书的一部分)的研究,本发明的这些和其他目标、特征以及特性对于本领域的技术人员更加显而易见。在附图中:
图1示出了线上数据收集系统的实例。
图2示出了能够分割日志数据流的聚合集群的实例。
图3示出了日志数据条目的示例性结构。
图4示出了具有多层聚合服务器的线上数据收集系统的另一实例。
图5示出了聚合并且暂存日志数据的示例过程。
图6示出了暂存并且分割日志数据的示例过程。
图7是示出可以表示在本文中描述的任何节点或服务器的计算机服务的架构的实例的高级框图。
具体实施方式
在本说明书中参考“实施方式”、“一个实施方式”等,表示在本发明的至少一个实施方式中包括所描述的特定特征、功能或特性。这样的短语出现在本说明书中,不必指相同的实施方式,也不必互相排斥。
图1示出了线上数据收集系统的实例。线上数据收集系统100包括多个前端集群110。每个前端集群110包括多个相互连接的前端服务器112。在一个实施方式中,前端集群110可包括从5000至30000个前端服务器112。前端集群处理网络流量并且基于线上数据收集系统100监测的用户活动实时产生日志数据。在一个实施方式中,前端集群110进一步负责向系统100的用户提供用户界面,包括提供HTTP服务。
线上数据收集系统100还包括负责聚合日志数据的多个聚合集群120,即,收集和缓冲高效网络数据传输的日志数据。每一个前端集群110向聚合集群120中至少一个发送请求以确定聚合集群120是否可用。如果聚合集群120可用,前端集群110将捕获日志数据实时流传输至聚合集群120。每一个聚合集群120从多个服务器接收流式日志数据并且聚合日志数据。在一个实施方式中,聚合日志数据包括就合并文件和类目而言重组日志数据。聚合日志数据文件与到来的日志数据文件不必具有一对一映射。将聚合集群120设计成按比例排列大量服务器节点并且对网络和节点失败具有鲁棒性。在一个实施方式中,聚合集群120对聚合日志数据执行另外的处理,包括压缩聚合日志数据。在另一个实施方式中,聚合集群120对聚合日志数据不执行另外的处理。
然后,聚合集群120定期将聚合日志数据拷贝到数据仓库130,诸如,在Hadoop集群上实现的Hive数据仓库。在一些实施方式中,Hive数据仓库能够存储千兆字节的数据。在一些其他实施方式中,聚合集群120将聚合日志数据发送至一个或多个NFS文件管理器。
在一些实施方式中,聚合集群120可被实现为二级结构。聚合集群之一称为主聚合集群。其余的聚合集群是二级聚合集群。主聚合集群负责从前端集群110接收日志数据,并且将所接收的日志数据分配到二级聚合集群。在后端服务器上运行的数据消耗应用从二级聚合集群实时检索日志数据。聚合集群的该二级结构为后端服务器提供大带宽以从它们下拉(pulldown)日志数据。在一些其他实施方式中,在后端服务器上运行的数据消耗应用直接从主聚合集群实时检索日志数据。
一旦数据仓库130已接收并且处理相关日志数据,后端服务器140可向数据仓库130发送查询请求用于离线数据分析。对于更快的日志数据存取,每一个聚合集群120包括数据暂存区122。数据暂存区122是在处理之前暂时存储(也称作存放)聚合日志数据的聚合集群120内的中间存储区。在一个实施方式中,数据暂存区122可横跨聚合集群120的服务器扩大。后端服务器140能够直接访问数据暂存区122用于实时或近实时日志数据馈送。在预定时长之后可以移除存储在数据暂存区122中的日志数据。例如,在一个实施方式中,在捕获日志数据之后3天移除日志数据。在一个实施方式中,后端服务器140是线上数据收集系统100的一部分。在另一个实施方式中,后端服务器140与线上数据收集系统100分离。
在一些实施方式中,前端集群110中的服务器112可以进一步包括一级附加暂存区115。例如,前端集群110中的前端服务器112被告知其相应的聚合集群120是不可用的。而非将日志数据流传输至当前不可用的聚合集群120,前端服务器112暂时将日志数据存储在一级附加暂存区115。可通过后端服务器直接访问一级附加暂存区115。换言之,后端服务器140可直接从一级附加暂存区115流传输日志数据而无需访问聚合集群120或数据仓库130。在一些其他实施方式中,在有或者没有一级附加暂存区的情况下,前端集群110可以进一步包括系统内任何级别的服务器能够直接访问的零级暂存区。
在一个实施方式中,线上数据收集系统可通过将数据分成多个优先级层而对日志数据划分优先顺序。例如,上层日志数据将具有较高优先级被传输到数据仓库和后端服务器。当数据被存放在暂存区中时,上层日志数据也可以具有较长停留时间。与上层日志数据相比在较短停留时段之后将会较早地删除下层日志数据。在一些实施方式中,在策略系统中能够实现有关设置优先级的指令。当提交数据消耗应用时,策略可以详细说明带宽以及其请求的数据等级的优先级层。策略可以进一步详细说明请求日志数据是否被从暂存区直接传输到应用运行的后端服务器、是否从数据仓库传输请求日志数据、或者请求日志数据是否是聚合服务器中的一级附加暂存区或暂存区。
为了加速日志数据的处理,聚合集群能够将日志数据分割到多个日志数据流以便日志数据流被并联发送至在后端服务器上运行的数据消耗应用。图2示出了能够分割日志数据流的聚合集群的实例。聚合集群210通过检查日志数据的条目分割日志数据从而确保日志数据被均匀并且随机地分布于分割的日志数据流212(也称作桶(bucket))中。图3示出了日志数据条目的示例性结构。日志数据的条目300包括应用ID310,其识别将要消耗并且处理该日志数据条目的数据消耗应用。在一个实施方式中,应用ID310是开发者证书。条目300还包括类目320。类目320是消息的预期目的地的高级说明。条目300还包括消息330。消息330包括日志数据条目的实际内容。
在一个实施方式中,聚合服务器读取应用ID和类目,并且然后计算应用ID和类目的散列函数。例如,散列函数可以是得到32位或128位散列值的MurmurHash3散列函数。聚合服务器通过总桶数进一步对散列函数的值取模。结果是日志数据条目被分配的桶号。换言之,日志数据条目将要被归入具有该桶号的日志数据流。散列函数改组日志数据的条目使得项被均匀且随机地分布于桶(即,分割的日志数据流)中。条目的桶号的分配与创建条目时的时间或者条目的应用ID无关。在一些实施方式中,桶号可以是除了应用ID以外的日志数据条目的数据字段的函数。例如,散列函数能够使用应用ID和日志数据条目的另一数据字段以生成散列值用以确定桶号。
可以各种各样的方式确定总桶数。在一个实施方式中,通过估计总数据量和每个后端服务器能够处理的数据带宽来确定后端服务器的总数。桶数被确定为大于后端服务器的数量的数,因此系统能够按比例扩大至包括更多的后端服务器。例如,如果桶数是1024,这意味着在串流分割中不需要进行任何改变系统能够按比例增大至1024后端服务器。可以利用多个后端服务器以实时并行处理分割数据流。由于流被均匀地分割,所以后端服务器是等载的。在另一个实施方式中,当提交数据消耗应用时,可以详细说明包括用于并行处理日志数据流的桶数的数据消耗应用的策略。
在另一个实施方式中,通过随机数来确定被分配到每个日志数据条目的桶号。聚合服务器生成总桶数的范围内的随机整数并且将该生成的整数分配到日志数据条目作为分配桶号。
在又一个实施方式中,数据消耗应用能够详细说明分配桶号的函数或方式。例如,数据消耗应用可基于条目的某些ID分配桶号。数据消耗应用可将条目的第一范围的用户ID分配给第一桶号;并且将条目的第二范围的用户ID分配给第二桶号等。
在一个实施方式中,线上数据收集系统可具有与如1中的聚合服务器相似的一层以上的中间服务器。图4示出了具有多层聚合服务器的线上数据收集系统的另一实例。线上数据收集系统400包括多个前端集群410。每个前端集群410包括多个相互连接的前端服务器412。前端集群410基于线上数据收集系统100监测的用户活动实时产生日志数据。在一个实施方式中,前端集群110中的服务器412可以进一步包括后端服务器450可直接访问的一级附加暂存区415。
线上数据收集系统400还包括负责聚合从前端集群410传输的日志数据的多个一级聚合集群420。此外,线上数据收集系统400包括负责聚合从一级聚合集群420传输的日志数据的一个或多个二级聚合集群430。二级聚合集群430然后定期将聚合日志数据拷贝到数据仓库440,诸如,在Hadoop集群上实现的Hive数据仓库。
一级聚合集群420包括一级数据暂存区422并且二级聚合集群430包括二级数据暂存区432。后端服务器450能够直接从一级数据暂存区422或二级数据暂存区432检索日志数据。在一个实施方式中,后端服务器450可决定是否基于网络布局从一级暂存区或二级暂存区检索日志数据。例如,如果就网络布局而言与一级聚合集群420相比后端服务器450更靠近二级聚合集群430,那么后端服务器450决定从二级数据暂存区432检索日志数据。
例如,在一个实例中,日志数据是用户活动数据并且数据消耗应用是新鲜事应用。而非在一段时间之后等待数据仓库上可用的脱机日志数据,新鲜事应用能够根据在网络布局中哪个聚合集群更靠近新鲜事应用的后端服务器而请求从一级暂存区或二级暂存区实时检索相关用户活动日志数据。新鲜事应用用非常低的延迟下拉用户活动日志数据并且能够处理日志数据并且尽快填入新鲜事结果。
在一个实施方式中,具有多级聚合集群的线上数据收集系统包括具有一级附加暂存功能的前端集群。当聚合集群不可用时,前端集群能够使用其一级附加暂存功能以继续将日志数据馈送至后端服务器。在另一个实施方式中,线上数据收集系统甚至可以包括具有数据暂存功能的二级以上的聚合集群。
在日志数据聚合的每个阶段,具有多级暂存功能的这种线上数据收集系统能够实时提供日志数据。当还不能从中心数据库(例如,数据仓库)获得日志数据时,系统能够在每个阶段响应于数据消耗查询提供低延迟数据馈送。后端服务器可选择在网络布局方面用于检索阶段日志数据的更近的集群。后端服务器的数据流穿过网络中较少的节点和系统,因此,在传输过程中损失日志数据或破坏日志数据的机会减少了。因此,多级暂存系统提高日志数据传输的耐用性和可靠性。
图5示出了聚合并且暂存日志数据的示例过程。在步骤510,前端服务器基于实时用户活动产生日志数据。在一个实施方式中,前端服务器进一步向用户提供网络内容。在一个实施方式中,前端服务器将日志数据划分成多个优先级层,并且仅向聚合服务器传输优先级层的上层中的日志数据。
在步骤514,前端服务器检查聚合服务器是否可用。如果聚合服务器不可用,那么在步骤516中前端服务器将一级附加暂存区处的日志数据暂存到多个前端服务器的至少一个中。在步骤518中,如果后端服务器请求,前端服务器将一级附加暂存区的日志数据实时馈送至后端服务器。如果聚合服务器可用,在步骤520中,前端服务器将日志数据传输至聚合服务器。
在步骤530中,聚合服务器聚合日志数据。在一个实施方式中,聚合包括通过在聚合服务器结合日志数据的流重组日志数据。在另一个实施方式中,聚合服务器进一步压缩在聚合服务器处的日志数据。
在步骤540中,聚合服务器暂存日志数据以便后端服务器能够实时访问日志数据。在一个实施方式中,一个后端服务器向有关日志数据的数据暂存位置的聚合服务器和前端服务器发送指令。然后,聚合服务器和前端服务器根据指令确定是否暂存日志数据。在步骤550中,聚合服务器将来自聚合服务器的日志数据直接实时馈送到后端服务器。
在步骤560中,聚合服务器将日志数据发送至数据仓库。在步骤570中,数据仓库处理日志数据以便数据仓库能够基于处理的日志数据对数据查询做出响应。
在步骤580中,聚合服务器在预定时段之后从聚合服务器移除日志数据。如果前端服务器在一级附加暂存区暂存日志数据,那么在预定时段之后前端服务器也从一级附加暂存区移除日志数据。
图6示出了暂存并且分割日志数据的示例过程。在步骤610中,前端服务器基于实时用户活动产生日志数据。在一个实施方式中,前端服务器进一步向用户提供网络内容。
在步骤614中,前端服务器检查聚合服务器是否可用。如果聚合服务器不可用,那么在步骤616中前端服务器将一级附加暂存区处的日志数据暂存到多个前端服务器的至少一个中。
在步骤618中,如果后端服务器请求,前端服务器将一级附加暂存区的日志数据实时馈送至后端服务器。如果聚合服务器可用,在步骤620中,前端服务器将日志数据传输至聚合服务器。
在步骤630中,聚合服务器聚合日志数据。在一个实施方式中,聚合包括通过在聚合服务器结合日志数据的流重组日志数据。在另一个实施方式中,聚合服务器进一步压缩在聚合服务器处的日志数据。
在步骤640中,聚合服务器暂存日志数据以便后端服务器能够实时访问日志数据。
在一个实施方式中,日志数据包括多个日志数据。每个日志数据包括应用标识和类目字段。类目字段包括日志数据的预期目的地的高级说明;应用标识识别处理日志数据的数据消耗应用。聚合服务器可检查日志数据的条目的前缀以识别应用标识和类目字段。
在一个实施方式中,在步骤650中,对于日志数据的每个条目,聚合服务器以总桶数为模通过应用标识和类目字段的散列函数来计算桶号。总桶数是多个日志数据流的总数。在一个实施方式中,通过能用于接收日志数据流的后端服务器的数量和每个后端服务器能够处理的连接数确定总桶数。在另一个实施方式中,可通过在至少一个后端服务器上运行的数据消耗应用指示总桶数。目的是当后端服务器接收并且处理日志数据流时,后端服务器是等载的。在步骤652中,聚合服务器将日志数据的条目分配至通过桶号识别的日志数据流。
在另一个实施方式中,对于每个日志数据,聚合服务器随机生成从1至总桶数的整数。然后,聚合服务器将该日志数据登记项分配至通过桶号识别的日志数据流。
在步骤654中,聚合服务器将日志数据分割到多个日志数据流。在一个实施方式中,聚合服务器从后端服务器接收关于如何将日志数据分割到多个日志数据流的指令。在一个实施方式中,前端服务器也可以与分割日志数据的聚合服务器相似的方式将日志数据分割到多个日志数据流。在步骤660中,聚合服务器将日志数据流并行馈送至一个或多个后端服务器。
在步骤670中,聚合服务器将日志数据发送至数据仓库。在步骤680中,数据仓库处理日志数据以便数据仓库能够基于处理的日志数据对数据查询做出响应。
在步骤690中,聚合服务器在预定时段之后从聚合服务器移除日志数据。如果前端服务器将日志数据暂存在一级附加暂存区,那么在预定时段之后前端服务器也从一级附加暂存区移除日志数据。
在一个实施方式中,在后端服务器接收分割日志数据流之后,后端服务器合并分割日志数据流。假设分割之前的日志数据属于多个流,每一个流被分配至后端服务器之一。当后端服务器中的任一个从聚合服务器接收分割日志数据流的消息时,其确定为消息所属的流分配哪个后端服务器。然后,后端服务器将消息转发至分配的后端服务器(也称作拥有者)。在一个实施方式中,后端服务器将一个类目的日志数据合并到队列中。可以各种各样的方式实现队列。例如,可以与类目中文件相似的命名规则实现队列,其中,最后一个文件是唯一可能打开的文件。另一个实现队列的方式是利用二层系统。
在一些实施方式中,为了记录流到服务器的分配信息,后端服务器保留分配信息的分布图。当分配信息存在变化时,例如,当服务器不可用时,或者当添加新流时,更新分布图。后端服务器以低延迟方式获得这些变化的通知。
该流到服务器分配机制提供管理流与后端服务器之间的关系的自动和动态方式。当后端服务器之一出故障时,剩余的后端服务器能够重新分布被分配到出故障的后端服务器的流的所有权。通过将一些后端服务器的一些流的所有权转移至其他后端服务器,该机制能够平衡后端服务器的工作负荷。
图7是示出服务器700的架构的实例的高级框图,其可以表示前端服务器、聚合服务器、数据仓库服务器、以及后端服务器中的任一个。服务器700包括与互连730耦接的一个或多个处理器710和存储器720。在图7中示出的互连730是表示由合适的桥接器、适配器或控制器连接的任何一个或多个单独的物理总线、点对点连接或这两者的抽象化表示。因此,互连730可以包括(例如)系统总线、外部设备互连(PCI)总线或PCI快线、超传输或工业标准架构(ISA)总线、小型计算机系统接口(SCSI)总线、通用串行总线(USB)、IIC(I2C)总线或电气与电子工程师协会(IEEE)标准1394总线,也称为“火线”。
处理器710是服务器700的中央处理器(CPU),从而控制服务器700的总体操作。在某些实施方式中,处理器710通过执行存储在存储器720内的软件或固件来完成这个。处理器710可以是或者可以包括一个或多个可编程通用或专用微处理器、数字信号处理器(DSP)、可编程控制器、专用集成电路(ASIC)、可编程逻辑装置(PLD)、可信任平台模块(TPM)等或这样的装置的组合。
存储器720是或者包括服务器700的主存储器。存储器720表示任何形式的随机存取存储器(RAM)、只读存储器(ROM)、闪存等或这样的装置的组合。在使用中,除了别的之外,存储器720可以包含体现服务器700的至少一部分操作系统的代码770。代码770也可包括用于执行在本文中公开的技术的指令。
同样通过互连730连接至处理器710的是网络适配器740和存储适配器750。网络适配器740为服务器700提供经由网络与装置通信的能力,诸如,其他前端服务器、巩固服务器、数据仓库服务器、或后端服务器并且可以是例如以太网适配器或光纤通道适配器。在一些实施方式中,服务器可以使用不止一个网络适配器来单独处理在数据存储集群内以及数据存储集群外的通信。存储适配器750允许服务器700访问永久存储器并且例如可以是光纤通道适配器或SCSI适配器。
存储在存储器720内的代码770可以实施为软件和/或固件以对处理器710进行编程以执行如下所述动作。在某些实施方式中,可以通过服务器700(即,经由网络适配器740)从系统中下载这种软件或固件而将这种软件或固件首先提供给服务器700。
在本文中介绍的技术例如可以由通过软件和/或固件或者完全在专用硬连线电路内或者在这种形式的组合内编程的可编程电路(例如,一个或多个微处理器)实现。专用硬连线电路可以是例如一个或多个专用集成电路(ASIC)、可编程逻辑装置(PLD)、现场可编程门阵列(FPGA)等的形式。
实现本文中引进的技术的软件或固件可以被存储在机器可读存储介质中并且可通过一个或多个通用或专用可编程序微处理机执行。如在本文中使用的术语“机器可读存储介质”包括能够以机器可访问的形式存储信息的任何机构(例如,机器可以是计算机、网络装置、蜂窝电话、个人数字助理(PDA)、制造工具、具有一个或多个处理器的任何装置等)。例如,机器可访问存储介质包括可记录/不可记录的介质(例如,只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪存装置)等。
如在本文中使用的,术语“逻辑”可包括例如用专用软件和/或固件、专用硬连线电路、或它们的组合编程的可编程电路。
除了上述实例以外,在不背离本发明的情况下,本发明还可以做出各种其他修改和变形。因此,以上公开内容不被视为具有限制性,并且所附权利要求被解释为包括本发明的真实精神和整个范围。
Claims (20)
1.一种方法,包括:
基于实时用户活动在多个前端服务器处产生日志数据;
将所述日志数据传输至聚合服务器;
在所述聚合服务器处聚合所述日志数据;
将所述日志数据分割到多个日志数据流;并且
将所述日志数据流并行馈送到至少一个后端服务器。
2.根据权利要求1所述的方法,其中,所述分割的步骤包括:
随机分割所述日志数据使得所述日志数据被均匀分布至多个日志数据流。
3.根据权利要求1所述的方法,进一步包括:
从所述后端服务器接收关于如何将所述日志数据分割到多个日志数据流的指令。
4.根据权利要求1所述的方法,其中,所述日志数据包括多个日志数据条目,每个日志数据条目包括应用标识和类目字段。
5.根据权利要求4所述的方法,进一步包括:
对于所述日志数据的每个条目,以总桶数为模通过所述应用标识和所述类目字段的散列函数计算桶号,其中,总桶数是所述多个日志数据流的总数;并且
将所述日志数据的条目分配至通过所述桶号识别的日志数据流。
6.根据权利要求5的所述方法,其中,所述类目字段包括所述日志数据条目的预期目的地的高级描述。
7.根据权利要求5的所述方法,其中,所述应用标识识别处理所述日志数据条目的数据消耗应用。
8.根据权利要求4所述的方法,其中,所述日志数据包括多个日志数据条目;并且
所述方法进一步包括:
对于每个日志数据条目,随机生成从1至总桶数的整数,其中,所述总桶数是所述多个日志数据流的总数;并且
将日志数据条目分配至通过桶号识别的日志数据流。
9.根据权利要求4所述的方法,其中,通过能用于接收所述日志数据流的后端服务器的数量和每个后端服务器能够处理的连接数来确定总桶数。
10.根据权利要求4所述的方法,其中,通过在至少一个后端服务器上运行的数据消耗应用指示总桶数。
11.根据权利要求9的所述方法,其中,当所述后端服务器接收并且处理所述日志数据流时所述后端服务器是等载的。
12.根据权利要求1所述的方法,进一步包括:
检查所述日志数据的条目的前缀以确定被分配所述条目的所述日志数据流。
13.根据权利要求1所述的方法,进一步包括:
将所述日志数据发送至数据仓库;并且
处理在所述数据仓库处的所述日志数据使得所述数据仓库能够基于所处理的日志数据对数据查询做出响应。
14.一种计算机实施系统,包括:
多个前端服务器,配置成用于基于实时用户活动产生日志数据;以及
至少一个聚合服务器,配置成用于聚合从所述前端服务器中的至少一些接收的所述日志数据,所述聚合服务器经由网络与所述前端服务器中的至少一些相连;
其中,所述聚合服务器包括配置成用于暂存所述日志数据的数据暂存区,并且所述聚合服务器被配置成用于将所述日志数据分割到多个日志数据流以便一个或多个后端服务器能够并行检索所述日志数据流。
15.根据权利要求14所述的计算机实施系统,其中,所述日志数据包括多个日志数据条目,每个日志数据条目包括应用标识和类目字段;并且
其中,所述聚合服务器进一步配置成用于:
对于所述日志数据的每个条目,以总桶数为模通过所述应用标识和所述类目字段的散列函数计算桶号,其中,总桶数是所述多个日志数据流的总数;并且
将日志数据的条目分配至通过所述桶号识别的日志数据流。
16.根据权利要求14所述的计算机实施系统,其中,所述日志数据包括多个日志数据条目;并且
其中,所述聚合服务器进一步配置成用于:
对于每个日志数据条目,随机生成从1至总桶数的整数,其中,所述总桶数是所述多个日志数据流的总数;并且
将该日志数据条目分配至由桶号识别的日志数据流。
17.根据权利要求4所述的方法,其中,通过在一个或多个后端服务器上运行的数据消耗应用指示总桶数,并且通过能用于接收所述日志数据流的所述后端服务器的数量和所述后端服务器中的每个后端服务器能够处理的连接数来确定所述总桶数。
18.一种聚合服务器,包括:
处理器;
网络接口,耦接至所述处理器,所述聚合服务器通过所述网络接口能够与多个前端服务器通信;
数据存储,包括数据暂存区;以及
存储器,存储当由所述处理器执行时使得所述聚合服务器执行过程的指令,所述过程包括:
从所述前端服务器接收日志数据,其中,所述前端服务器基于实时用户活动产生所述日志数据,
聚合所述日志数据,
在所述数据暂存区暂存所述日志数据,并且
将所述日志数据分割到多个日志数据流以便一个或多个后端服务器能够并行检索所述日志数据流。
19.根据权利要求18所述的聚合服务器,其中,所述日志数据包括多个日志数据条目,每个日志数据条目包括应用标识和类目字段;并且
其中,所述过程还包括:
对于所述日志数据的每个条目,以总桶数为模通过所述应用标识和所述类目字段的散列函数计算桶号,其中,总桶数是所述多个日志数据流的总数;并且
将所述日志数据的条目分配至通过所述桶号识别的日志数据流。
20.根据权利要求18所述的聚合服务器,其中,所述日志数据包括多个日志数据条目;并且
其中,所述过程还包括:
对于每个日志数据条目,随机生成从1至总桶数的整数,其中,所述总桶数是所述多个日志数据流的总数;并且
将该日志数据条目分配至通过桶号识别的日志数据流。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/756,340 | 2013-01-31 | ||
US13/756,340 US10223431B2 (en) | 2013-01-31 | 2013-01-31 | Data stream splitting for low-latency data access |
PCT/US2014/012120 WO2014120487A1 (en) | 2013-01-31 | 2014-01-17 | Data stream splitting for low-latency data access |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104969213A true CN104969213A (zh) | 2015-10-07 |
CN104969213B CN104969213B (zh) | 2018-01-12 |
Family
ID=51224089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480007137.8A Active CN104969213B (zh) | 2013-01-31 | 2014-01-17 | 用于低延迟数据存取的数据流分割 |
Country Status (10)
Country | Link |
---|---|
US (1) | US10223431B2 (zh) |
JP (1) | JP6258975B2 (zh) |
KR (1) | KR101885688B1 (zh) |
CN (1) | CN104969213B (zh) |
AU (1) | AU2014212780B2 (zh) |
BR (1) | BR112015017391A2 (zh) |
CA (1) | CA2897338C (zh) |
IL (1) | IL239811B (zh) |
MX (1) | MX356571B (zh) |
WO (1) | WO2014120487A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106815274A (zh) * | 2015-12-02 | 2017-06-09 | 中兴通讯股份有限公司 | 基于Hadoop的日志数据挖掘方法及系统 |
CN111680009A (zh) * | 2020-06-10 | 2020-09-18 | 苏州跃盟信息科技有限公司 | 日志处理方法、装置、存储介质和处理器 |
CN112416699A (zh) * | 2020-06-05 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 指标数据收集方法及系统 |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9609050B2 (en) * | 2013-01-31 | 2017-03-28 | Facebook, Inc. | Multi-level data staging for low latency data access |
US9678773B1 (en) | 2014-09-30 | 2017-06-13 | Amazon Technologies, Inc. | Low latency computational capacity provisioning |
US9600312B2 (en) | 2014-09-30 | 2017-03-21 | Amazon Technologies, Inc. | Threading as a service |
US9146764B1 (en) | 2014-09-30 | 2015-09-29 | Amazon Technologies, Inc. | Processing event messages for user requests to execute program code |
US9537788B2 (en) | 2014-12-05 | 2017-01-03 | Amazon Technologies, Inc. | Automatic determination of resource sizing |
US9733967B2 (en) | 2015-02-04 | 2017-08-15 | Amazon Technologies, Inc. | Security protocols for low latency execution of program code |
US9588790B1 (en) | 2015-02-04 | 2017-03-07 | Amazon Technologies, Inc. | Stateful virtual compute system |
US10706970B1 (en) | 2015-04-06 | 2020-07-07 | EMC IP Holding Company LLC | Distributed data analytics |
US10511659B1 (en) * | 2015-04-06 | 2019-12-17 | EMC IP Holding Company LLC | Global benchmarking and statistical analysis at scale |
US10277668B1 (en) | 2015-04-06 | 2019-04-30 | EMC IP Holding Company LLC | Beacon-based distributed data processing platform |
US10541938B1 (en) | 2015-04-06 | 2020-01-21 | EMC IP Holding Company LLC | Integration of distributed data processing platform with one or more distinct supporting platforms |
US10860622B1 (en) | 2015-04-06 | 2020-12-08 | EMC IP Holding Company LLC | Scalable recursive computation for pattern identification across distributed data processing nodes |
US10515097B2 (en) * | 2015-04-06 | 2019-12-24 | EMC IP Holding Company LLC | Analytics platform for scalable distributed computations |
US10776404B2 (en) | 2015-04-06 | 2020-09-15 | EMC IP Holding Company LLC | Scalable distributed computations utilizing multiple distinct computational frameworks |
US10791063B1 (en) | 2015-04-06 | 2020-09-29 | EMC IP Holding Company LLC | Scalable edge computing using devices with limited resources |
US10541936B1 (en) * | 2015-04-06 | 2020-01-21 | EMC IP Holding Company LLC | Method and system for distributed analysis |
US10425350B1 (en) | 2015-04-06 | 2019-09-24 | EMC IP Holding Company LLC | Distributed catalog service for data processing platform |
US9910713B2 (en) | 2015-12-21 | 2018-03-06 | Amazon Technologies, Inc. | Code execution request routing |
US10656861B1 (en) | 2015-12-29 | 2020-05-19 | EMC IP Holding Company LLC | Scalable distributed in-memory computation |
US11132213B1 (en) | 2016-03-30 | 2021-09-28 | Amazon Technologies, Inc. | Dependency-based process of pre-existing data sets at an on demand code execution environment |
CN105912609B (zh) * | 2016-04-06 | 2019-04-02 | 中国农业银行股份有限公司 | 一种数据文件处理方法和装置 |
US10102040B2 (en) | 2016-06-29 | 2018-10-16 | Amazon Technologies, Inc | Adjusting variable limit on concurrent code executions |
WO2018182060A1 (ko) * | 2017-03-28 | 2018-10-04 | ㈜리얼타임테크 | 관계형 데이터베이스 기반의 텍스트 로그데이터 저장 및 검색 방법 |
US10853115B2 (en) | 2018-06-25 | 2020-12-01 | Amazon Technologies, Inc. | Execution of auxiliary functions in an on-demand network code execution system |
US11146569B1 (en) | 2018-06-28 | 2021-10-12 | Amazon Technologies, Inc. | Escalation-resistant secure network services using request-scoped authentication information |
US11099870B1 (en) | 2018-07-25 | 2021-08-24 | Amazon Technologies, Inc. | Reducing execution times in an on-demand network code execution system using saved machine states |
US11099917B2 (en) | 2018-09-27 | 2021-08-24 | Amazon Technologies, Inc. | Efficient state maintenance for execution environments in an on-demand code execution system |
US11243953B2 (en) * | 2018-09-27 | 2022-02-08 | Amazon Technologies, Inc. | Mapreduce implementation in an on-demand network code execution system and stream data processing system |
US11943093B1 (en) | 2018-11-20 | 2024-03-26 | Amazon Technologies, Inc. | Network connection recovery after virtual machine transition in an on-demand network code execution system |
US11010188B1 (en) | 2019-02-05 | 2021-05-18 | Amazon Technologies, Inc. | Simulated data object storage using on-demand computation of data objects |
US11861386B1 (en) | 2019-03-22 | 2024-01-02 | Amazon Technologies, Inc. | Application gateways in an on-demand network code execution system |
US11119809B1 (en) | 2019-06-20 | 2021-09-14 | Amazon Technologies, Inc. | Virtualization-based transaction handling in an on-demand network code execution system |
US11190609B2 (en) | 2019-06-28 | 2021-11-30 | Amazon Technologies, Inc. | Connection pooling for scalable network services |
US11159528B2 (en) | 2019-06-28 | 2021-10-26 | Amazon Technologies, Inc. | Authentication to network-services using hosted authentication information |
US11115404B2 (en) | 2019-06-28 | 2021-09-07 | Amazon Technologies, Inc. | Facilitating service connections in serverless code executions |
US11119826B2 (en) | 2019-11-27 | 2021-09-14 | Amazon Technologies, Inc. | Serverless call distribution to implement spillover while avoiding cold starts |
US11714682B1 (en) | 2020-03-03 | 2023-08-01 | Amazon Technologies, Inc. | Reclaiming computing resources in an on-demand code execution system |
US11188391B1 (en) | 2020-03-11 | 2021-11-30 | Amazon Technologies, Inc. | Allocating resources to on-demand code executions under scarcity conditions |
US11550713B1 (en) | 2020-11-25 | 2023-01-10 | Amazon Technologies, Inc. | Garbage collection in distributed systems using life cycled storage roots |
US11593270B1 (en) | 2020-11-25 | 2023-02-28 | Amazon Technologies, Inc. | Fast distributed caching using erasure coded object parts |
US11797522B2 (en) * | 2021-01-29 | 2023-10-24 | International Business Machines Corporation | Database log writing based on log pipeline contention |
US11388210B1 (en) | 2021-06-30 | 2022-07-12 | Amazon Technologies, Inc. | Streaming analytics using a serverless compute system |
US11968280B1 (en) | 2021-11-24 | 2024-04-23 | Amazon Technologies, Inc. | Controlling ingestion of streaming data to serverless function executions |
US12015603B2 (en) | 2021-12-10 | 2024-06-18 | Amazon Technologies, Inc. | Multi-tenant mode for serverless code execution |
US11995085B2 (en) * | 2022-02-25 | 2024-05-28 | Visa International Service Association | System, method, and computer program product for efficiently storing multi-threaded log data |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6978458B1 (en) * | 2000-11-17 | 2005-12-20 | Oracle International Corporation | Distributing data items to corresponding buckets for use in parallel operations |
US20080256079A1 (en) * | 2007-04-11 | 2008-10-16 | Yahoo! Inc. | Load-based technique to balance data sources to data consumers |
CN101517569A (zh) * | 2006-08-07 | 2009-08-26 | 米谋萨系统有限公司 | 改造数据的合成完整副本 |
US20110246826A1 (en) * | 2010-03-31 | 2011-10-06 | Cloudera, Inc. | Collecting and aggregating log data with fault tolerance |
Family Cites Families (78)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US1024646A (en) | 1911-06-24 | 1912-04-30 | Jeremiah Muckey | Mold for concrete curbs for graves. |
US6212515B1 (en) * | 1998-11-03 | 2001-04-03 | Platinum Technology, Inc. | Method and apparatus for populating sparse matrix entries from corresponding data |
US6408292B1 (en) | 1999-08-04 | 2002-06-18 | Hyperroll, Israel, Ltd. | Method of and system for managing multi-dimensional databases using modular-arithmetic based address data mapping processes on integer-encoded business dimensions |
WO2001039012A2 (en) | 1999-11-22 | 2001-05-31 | Avenue, A, Inc. | Efficient web server log processing |
US20110128972A1 (en) | 2000-04-17 | 2011-06-02 | Randy Thornton | Peer to peer dynamic network link acceleration |
AU2001251643A1 (en) | 2000-04-17 | 2001-10-30 | Circadence Corporation | System and method for providing distributed database services |
US7139791B1 (en) * | 2000-07-13 | 2006-11-21 | International Business Machines Corporation | Apparatus and method for providing access to a data stream by a plurality of users at a same time |
US7127492B1 (en) * | 2000-10-31 | 2006-10-24 | International Business Machines Corporation | Method and apparatus for distributed application acceleration |
US20030046394A1 (en) * | 2000-11-03 | 2003-03-06 | Steve Goddard | System and method for an application space server cluster |
US20020184327A1 (en) * | 2001-05-11 | 2002-12-05 | Major Robert Drew | System and method for partitioning address space in a proxy cache server cluster |
US7895350B1 (en) * | 2001-07-05 | 2011-02-22 | Motive, Inc. | N-way data stream splitter |
US8156216B1 (en) | 2002-01-30 | 2012-04-10 | Adobe Systems Incorporated | Distributed data collection and aggregation |
US7337214B2 (en) | 2002-09-26 | 2008-02-26 | Yhc Corporation | Caching, clustering and aggregating server |
US6698815B1 (en) | 2002-10-02 | 2004-03-02 | Grupo Antolin Ingenieria, S.A. | Sun visor with mirror assembly |
US8676843B2 (en) * | 2002-11-14 | 2014-03-18 | LexiNexis Risk Data Management Inc. | Failure recovery in a parallel-processing database system |
US7506355B2 (en) * | 2002-11-22 | 2009-03-17 | Microsoft Corporation | Tracking end-user content viewing and navigation |
US7469253B2 (en) * | 2003-04-01 | 2008-12-23 | Microsoft Corporation | Associative hash partitioning using pseudo-random number generator |
US20040230744A1 (en) * | 2003-05-17 | 2004-11-18 | Teh Jin Teik | Cache content protocol for a content data delivery system |
US8234517B2 (en) * | 2003-08-01 | 2012-07-31 | Oracle International Corporation | Parallel recovery by non-failed nodes |
US7523145B2 (en) * | 2004-04-22 | 2009-04-21 | Opentv, Inc. | System for managing data in a distributed computing system |
US7644050B2 (en) * | 2004-12-02 | 2010-01-05 | International Business Machines Corporation | Method and apparatus for annotation-based behavior extensions |
WO2005124632A2 (en) * | 2004-06-08 | 2005-12-29 | Rosenthal Collins, Group, Llc | Method and system for providing electronic information for multi-market electronic trading |
US20080201299A1 (en) * | 2004-06-30 | 2008-08-21 | Nokia Corporation | Method and System for Managing Metadata |
US7380173B2 (en) * | 2004-08-03 | 2008-05-27 | International Business Machines Corporation | Identifying temporal ambiguity in a aggregated log stream |
US20060206923A1 (en) | 2005-03-09 | 2006-09-14 | Macrovision Corporation | Method and system for self-encrypting key identification |
US20060236074A1 (en) * | 2005-04-14 | 2006-10-19 | Arm Limited | Indicating storage locations within caches |
JP2006318312A (ja) | 2005-05-13 | 2006-11-24 | Victor Co Of Japan Ltd | 情報配信管理サーバ |
US7587388B2 (en) * | 2005-07-28 | 2009-09-08 | Microsoft Corporation | Separating uploads into aggregate and raw data storage |
US20070027974A1 (en) * | 2005-08-01 | 2007-02-01 | Microsoft Corporation | Online service monitoring |
US8775273B2 (en) | 2005-11-23 | 2014-07-08 | Ebay Inc. | System and method for transaction automation |
US20070124437A1 (en) * | 2005-11-30 | 2007-05-31 | Cisco Technology, Inc. | Method and system for real-time collection of log data from distributed network components |
US7636743B2 (en) * | 2005-12-19 | 2009-12-22 | Commvault Systems, Inc. | Pathname translation in a data replication system |
WO2007124504A2 (en) | 2006-04-21 | 2007-11-01 | Mediamote, Inc. | Collection and distribution of sense-on-demand data |
KR100950661B1 (ko) | 2006-05-20 | 2010-04-02 | 삼성전자주식회사 | 통신 시스템에서 신호 수신 장치 및 방법 |
US20070299631A1 (en) | 2006-06-27 | 2007-12-27 | Microsoft Corporation | Logging user actions within activity context |
US8037052B2 (en) | 2006-11-22 | 2011-10-11 | General Electric Company | Systems and methods for free text searching of electronic medical record data |
JP5396001B2 (ja) | 2006-12-13 | 2014-01-22 | 楽天Edy株式会社 | 情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラム |
US20080288500A1 (en) * | 2007-02-13 | 2008-11-20 | Demetrios Sapounas | Physiological data processing architecture for situation awareness |
JP5320678B2 (ja) | 2007-02-20 | 2013-10-23 | 日本電気株式会社 | データ分散格納システム及びデータ分散方法、それに用いる装置並びにそのプログラム |
JP4422742B2 (ja) | 2007-06-11 | 2010-02-24 | 達也 進藤 | 全文検索システム |
US8321579B2 (en) * | 2007-07-26 | 2012-11-27 | International Business Machines Corporation | System and method for analyzing streams and counting stream items on multi-core processors |
US7698422B2 (en) | 2007-09-10 | 2010-04-13 | Specific Media, Inc. | System and method of determining user demographic profiles of anonymous users |
US20090157766A1 (en) * | 2007-12-18 | 2009-06-18 | Jinmei Shen | Method, System, and Computer Program Product for Ensuring Data Consistency of Asynchronously Replicated Data Following a Master Transaction Server Failover Event |
US8019863B2 (en) | 2008-03-28 | 2011-09-13 | Ianywhere Solutions, Inc. | Synchronizing events between mobile devices and servers |
US8893131B2 (en) * | 2008-04-11 | 2014-11-18 | Yahoo! Inc. | System and/or method for bulk loading of records into an ordered distributed database |
JP5257311B2 (ja) * | 2008-12-05 | 2013-08-07 | ソニー株式会社 | 情報処理装置、および情報処理方法 |
US8392530B1 (en) * | 2008-12-18 | 2013-03-05 | Adobe Systems Incorporated | Media streaming in a multi-tier client-server architecture |
KR101207510B1 (ko) | 2008-12-18 | 2012-12-03 | 한국전자통신연구원 | 클러스터 데이터 관리시스템 및 클러스터 데이터 관리 시스템에서 공유 재수행 로그를 이용한 데이터 재구축 방법 |
US8078825B2 (en) * | 2009-03-11 | 2011-12-13 | Oracle America, Inc. | Composite hash and list partitioning of database tables |
US8224924B2 (en) | 2009-03-27 | 2012-07-17 | Bank Of America Corporation | Active email collector |
JP4911198B2 (ja) * | 2009-06-03 | 2012-04-04 | 富士通株式会社 | ストレージ制御装置、ストレージシステムおよびストレージ制御方法 |
JP5395565B2 (ja) | 2009-08-12 | 2014-01-22 | 株式会社日立製作所 | ストリームデータ処理方法及び装置 |
US8230046B2 (en) * | 2009-12-15 | 2012-07-24 | Facebook, Inc. | Setting cookies in conjunction with phased delivery of structured documents |
US8930686B2 (en) | 2009-12-23 | 2015-01-06 | International Business Machines Corporation | Deduplication of encrypted data |
US8348840B2 (en) | 2010-02-04 | 2013-01-08 | Robert Bosch Gmbh | Device and method to monitor, assess and improve quality of sleep |
US8943053B2 (en) | 2010-02-26 | 2015-01-27 | Telefonaktiebolaget L M Ericsson (Publ) | Social data ranking and processing |
US9082127B2 (en) * | 2010-03-31 | 2015-07-14 | Cloudera, Inc. | Collecting and aggregating datasets for analysis |
US9317572B2 (en) | 2010-03-31 | 2016-04-19 | Cloudera, Inc. | Configuring a system to collect and aggregate datasets |
US8788543B2 (en) * | 2010-05-13 | 2014-07-22 | International Business Machines Corporation | Scalable, concurrent resizing of hash tables |
US8819236B2 (en) | 2010-12-16 | 2014-08-26 | Microsoft Corporation | Resource optimization for online services |
EP2659620B1 (en) * | 2010-12-29 | 2018-10-17 | Citrix Systems Inc. | Systems and methods for scalable n-core statistics aggregation |
US8825608B2 (en) | 2011-02-23 | 2014-09-02 | Level 3 Communications, Llc | Content delivery network analytics management via edge stage collectors |
US20120246303A1 (en) | 2011-03-23 | 2012-09-27 | LogRhythm Inc. | Log collection, structuring and processing |
US8775941B1 (en) * | 2011-07-20 | 2014-07-08 | Google Inc. | System for monitoring and reporting deviations of real-time analytics data from expected analytics data |
US8775556B1 (en) * | 2011-07-20 | 2014-07-08 | Google Inc. | Automated segmentation and processing of web site traffic data over a rolling window of time |
US20130030868A1 (en) * | 2011-07-25 | 2013-01-31 | Cbs Interactive, Inc. | Scheduled Split Testing |
US11127309B2 (en) | 2011-08-09 | 2021-09-21 | The Mitre Corporation | Flight management system operator |
US9747592B2 (en) | 2011-08-16 | 2017-08-29 | Verizon Digital Media Services Inc. | End-to-end content delivery network incorporating independently operated transparent caches and proxy caches |
US8429162B1 (en) * | 2011-09-27 | 2013-04-23 | Amazon Technologies, Inc. | Facilitating data redistribution in database sharding |
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 |
US20130238391A1 (en) | 2012-03-09 | 2013-09-12 | Oracle International Corporation | Product oriented web site analytics |
EP2856701B1 (en) | 2012-05-31 | 2016-09-28 | Netsweeper (Barbados) Inc. | Policy service logging using graph structures |
US8850263B1 (en) | 2012-09-14 | 2014-09-30 | Amazon Technologies, Inc. | Streaming and sampling in real-time log analysis |
US9104745B1 (en) | 2012-09-28 | 2015-08-11 | Palo Alto Networks, Inc. | Distributed log collector and report generation |
US8447854B1 (en) * | 2012-12-04 | 2013-05-21 | Limelight Networks, Inc. | Edge analytics query for distributed content network |
US9152502B2 (en) | 2012-12-21 | 2015-10-06 | Microsoft Technology Licensing, Llc | Data error detection and correction using hash values |
US9633022B2 (en) | 2012-12-28 | 2017-04-25 | Commvault Systems, Inc. | Backup and restoration for a deduplicated file system |
US9609050B2 (en) | 2013-01-31 | 2017-03-28 | Facebook, Inc. | Multi-level data staging for low latency data access |
-
2013
- 2013-01-31 US US13/756,340 patent/US10223431B2/en active Active
-
2014
- 2014-01-17 CA CA2897338A patent/CA2897338C/en not_active Expired - Fee Related
- 2014-01-17 KR KR1020157022383A patent/KR101885688B1/ko active IP Right Grant
- 2014-01-17 CN CN201480007137.8A patent/CN104969213B/zh active Active
- 2014-01-17 WO PCT/US2014/012120 patent/WO2014120487A1/en active Application Filing
- 2014-01-17 JP JP2015556052A patent/JP6258975B2/ja active Active
- 2014-01-17 BR BR112015017391A patent/BR112015017391A2/pt not_active Application Discontinuation
- 2014-01-17 AU AU2014212780A patent/AU2014212780B2/en not_active Ceased
- 2014-01-17 MX MX2015009825A patent/MX356571B/es active IP Right Grant
-
2015
- 2015-07-06 IL IL239811A patent/IL239811B/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6978458B1 (en) * | 2000-11-17 | 2005-12-20 | Oracle International Corporation | Distributing data items to corresponding buckets for use in parallel operations |
CN101517569A (zh) * | 2006-08-07 | 2009-08-26 | 米谋萨系统有限公司 | 改造数据的合成完整副本 |
US20080256079A1 (en) * | 2007-04-11 | 2008-10-16 | Yahoo! Inc. | Load-based technique to balance data sources to data consumers |
US20110246826A1 (en) * | 2010-03-31 | 2011-10-06 | Cloudera, Inc. | Collecting and aggregating log data with fault tolerance |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106815274A (zh) * | 2015-12-02 | 2017-06-09 | 中兴通讯股份有限公司 | 基于Hadoop的日志数据挖掘方法及系统 |
CN112416699A (zh) * | 2020-06-05 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 指标数据收集方法及系统 |
CN111680009A (zh) * | 2020-06-10 | 2020-09-18 | 苏州跃盟信息科技有限公司 | 日志处理方法、装置、存储介质和处理器 |
CN111680009B (zh) * | 2020-06-10 | 2023-10-03 | 苏州跃盟信息科技有限公司 | 日志处理方法、装置、存储介质和处理器 |
Also Published As
Publication number | Publication date |
---|---|
IL239811B (en) | 2019-01-31 |
AU2014212780B2 (en) | 2018-09-13 |
CN104969213B (zh) | 2018-01-12 |
KR101885688B1 (ko) | 2018-08-06 |
AU2014212780A1 (en) | 2015-07-23 |
CA2897338C (en) | 2018-08-14 |
KR20150114965A (ko) | 2015-10-13 |
JP2016515228A (ja) | 2016-05-26 |
US10223431B2 (en) | 2019-03-05 |
MX356571B (es) | 2018-06-04 |
US20140214752A1 (en) | 2014-07-31 |
WO2014120487A1 (en) | 2014-08-07 |
JP6258975B2 (ja) | 2018-01-10 |
BR112015017391A2 (pt) | 2017-07-11 |
CA2897338A1 (en) | 2014-08-07 |
MX2015009825A (es) | 2016-04-04 |
IL239811A0 (en) | 2015-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104969213B (zh) | 用于低延迟数据存取的数据流分割 | |
US10581957B2 (en) | Multi-level data staging for low latency data access | |
US20130191523A1 (en) | Real-time analytics for large data sets | |
CN109218355B (zh) | 负载均衡引擎,客户端,分布式计算系统以及负载均衡方法 | |
Khanli et al. | PHFS: A dynamic replication method, to decrease access latency in the multi-tier data grid | |
CN110225074B (zh) | 一种基于设备地址域的通讯报文分发系统及分发方法 | |
US9703610B2 (en) | Extensible centralized dynamic resource distribution in a clustered data grid | |
US8671134B2 (en) | Method and system for data distribution in high performance computing cluster | |
CN102859961B (zh) | 具有自适应的文件处理的分布式视频转码系统 | |
CN101957863A (zh) | 数据并行处理方法、装置及系统 | |
CN103595805A (zh) | 一种基于分布式集群的数据放置方法 | |
CN104065568A (zh) | 一种Web服务器集群的路由方法 | |
CN103176849A (zh) | 一种基于资源分类的虚拟机集群的部署方法 | |
CN102981913B (zh) | 支持大规模分布式增量计算的推理控制方法及推理控制系统 | |
CN109451069B (zh) | 基于分布式存储的网络数据文件库存储及查询方法 | |
JP5818263B2 (ja) | データの分散管理システム及び装置及び方法及びプログラム | |
CN105554069B (zh) | 一种大数据处理分布式缓存系统及其方法 | |
Lai et al. | A scalable multi-attribute hybrid overlay for range queries on the cloud | |
EP2765517B1 (en) | Data stream splitting for low-latency data access | |
Lee et al. | A big data management system for energy consumption prediction models | |
Guo et al. | Handling data skew at reduce stage in Spark by ReducePartition | |
US20120030355A1 (en) | Dynamically allocating index server resources to partner entities | |
CN112954022A (zh) | 一种基于智能变电站的多并发实时通信方法及装置 | |
US20140365681A1 (en) | Data management method, data management system, and data management apparatus | |
Cao et al. | Load-balancing schemes for a hierarchical peer-to-peer file search system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: California, USA Patentee after: Yuan platform Co. Address before: California, USA Patentee before: Facebook, Inc. |
|
CP01 | Change in the name or title of a patent holder |