异步处理顺序数据块制造技术

技术编号:24335021 阅读:54 留言:0更新日期:2020-05-29 21:54
数据分析系统在块高速缓存中存储多个顺序的数据块。每个数据块包含一个或多个数据记录。数据记录中的每个数据记录都包含一个或多个值以及记录标记,所述记录标记用于标记数据记录的末尾。数据分析系统将块高速缓存中的数据块分配给工作线程。工作线程解析数据块以标识该数据块内包含的一个或多个数据记录。数据分析系统确定数据块是否被正确解析。响应于确定数据块已被正确解析,数据分析系统将数据块内包含的一个或多个数据记录提供给数据分析工作流。

Asynchronous processing of sequential data blocks

【技术实现步骤摘要】
【国外来华专利技术】异步处理顺序数据块
概括而言,所描述的实施例涉及在计算机系统中处理数据,并且具体而言,涉及异步处理从存储设备取回的数据块。
技术介绍
数据分析涉及从大数据集中提取具有商业价值的信息。例如,小型企业可以利用第三方数据分析环境,其采用专用的计算和人力资源来收集、处理和分析来自各种来源(例如,外部数据提供者、内部数据源(例如,本地计算机上的文件)、大数据存储库和基于云的数据(例如,社交媒体信息)的大量数据。以提取有用的定量和定性信息的方式处理数据分析中使用的这样的大数据集通常需要在功能强大的计算平台上实现的复杂软件工具。另外,需要有效的数据处理技术来访问、处理和分析来自不同数据源的大数据集。否则,可能会出现性能瓶颈,并阻碍数据分析平台的功能,延迟数据处理并降低从数据中提取的信息质量。例如,处理数据记录以输入到数据分析系统中的吞吐量是一个重要的考虑因素。如果数据记录处理缓慢,则数据分析平台的消费数据记录的部分可能需要等待记录,从而导致整个平台中的延迟
技术实现思路
通过用于在数据分析系统中处理数据块的方法、计算机实现的数据分析系统和计算机可读存储器解决了以上和其他问题。该方法的实施例包括在块高速缓存中存储多个顺序的数据块。每个数据块包含一个或多个数据记录。每个数据记录包含一个或多个值以及记录标记,所述记录标记对数据记录的末尾进行标记。该方法还包括将块高速缓存中的数据块分配给工作线程。该方法还包括由所述工作线程解析所述数据块,以识别所述数据块内包含的一个或多个数据记录。该方法还包括确定所述数据块是否被正确解析。该方法还包括响应于确定所述数据块被正确解析,将数据块内包含的一个或多个数据记录提供给在数据分析系统上执行的数据分析工作流。计算机实现的数据分析系统的实施例包括用于执行计算机程序指令的计算机处理器。该系统还包括非暂时性计算机可读存储器,其存储可由计算机处理器执行以执行操作的计算机程序指令。该操作包括在块高速缓存中存储多个顺序的数据块。每个数据块包含一个或多个数据记录。每个数据记录包含一个或多个值以及记录标记,所述记录标记对数据记录的末尾进行标记。该操作还包括将块高速缓存中的数据块分配给工作线程。该操作还包括由所述工作线程解析所述数据块,以识别所述数据块内包含的一个或多个数据记录。该操作还包括确定所述数据块是否被正确解析。该操作还包括响应于确定所述数据块被正确解析,将数据块内包含的一个或多个数据记录提供给在数据分析系统上执行的数据分析工作流。非暂时性计算机可读存储器的实施例存储可执行计算机程序指令。指令可执行以执行操作。该操作包括在块高速缓存中存储多个顺序的数据块。每个数据块包含一个或多个数据记录。每个数据记录包含一个或多个值以及记录标记,所述记录标记对数据记录的末尾进行标记。该操作还包括将块高速缓存中的数据块分配给工作线程。该操作还包括由所述工作线程解析所述数据块,以识别所述数据块内包含的一个或多个数据记录。该操作还包括确定所述数据块是否被正确解析。该操作还包括响应于确定所述数据块被正确解析,将数据块内包含的一个或多个数据记录提供给在数据分析系统上执行的数据分析工作流。附图说明图1是示出根据一个实施例的包括数据分析系统的数据分析环境的框图。图2是示出根据一个实施例的使用数据分析系统处理数据来创建的工作流的框图。图3是示出根据实施例的用作图1的数据分析系统的典型计算机系统的功能视图的高级框图。图4是示出根据一个实施例的数据分析系统的数据分析应用的更详细视图的框图。图5是示出根据一个实施例的数据分析应用的数据接收器模块的更详细视图的框图。图6是示出数据块与数据记录之间的示例关系的图。图7是示出根据一个实施例的处理从数据源接收的数据块的方法的流程图。图8是示出根据一个实施例的解析数据块的方法的流程图。附图仅出于说明的目的描绘了各种实施例。本领域技术人员将从以下讨论中容易地认识到,在不脱离本文所述实施例的原理的情况下,可以采用本文所示的结构和方法的替代实施例。在各个附图中,相同的附图标记和标记指示相同的元素。具体实施例图1是示出根据一个实施例的包括数据分析系统110的数据分析环境100的框图。环境100还包括经由网络130连接到数据分析系统110的多个数据源120。尽管所示的环境100仅包含耦合到多个数据源120的一个数据分析系统110,但是实施例可以具有多个数据分析系统以及单一数据源。数据源120向数据分析系统110提供电子数据。数据源120可以是诸如硬盘驱动器(HDD)或固态驱动器(SSD)之类的存储设备、管理和提供对多个存储设备的访问的计算机、存储区域网络(SAN)、数据库或云存储系统。数据源120也可以是可以从另一源取回数据的计算机系统。数据源120可以远离数据分析系统110并且经由网络130提供数据。另外,一些或所有数据源120可以直接耦合到数据分析系统并且在不将数据通过网络130传递数据的情况下提供数据。由数据源120提供的数据通常被组织成数据记录,每个数据记录包括一个或多个值。例如,由数据源120提供的数据记录可以包括一系列逗号分隔的值。数据使用数据分析系统110来描述与企业相关的信息。例如,来自数据源120的数据可以描述基于计算机的与网站上可访问的内容和/或与社交媒体应用的交互(例如,跟踪数据的点击)。数据分析系统110是用于处理和分析大量数据的基于计算机的系统。经由网络130从多个数据源120收集、聚集或以其他方式访问数据。数据分析系统110可以实现可缩放的软件工具和硬件资源,该可缩放的软件工具和硬件资源在访问、准备、混合和分析来自多种数据源的数据时被采用。例如,数据分析系统110支持数据密集型过程和工作流的执行。数据分析系统110可以是用于实现包括本文所述的异步数据处理技术的数据分析功能的计算设备。数据分析系统110可以配置为支持一个或多个软件应用,如图1所示为数据分析应用140。数据分析应用140处理并分析从一个或多个数据源120获取的大量数据。在一些情况下,数据分析应用140提供软件,其支持由多个最终用户对数据分析工具和宏的网络访问或基于云的访问。作为示例,数据分析应用140允许用户以类似于移动应用商店或其他基于云的服务的方式共享、浏览和消费分析。可以将分析数据、宏和工作流打包并执行为较小规模和可定制的分析应用(例如,app),例如其可以由数据分析系统110的其他用户访问。在一些情况下,可以由数据分析系统110管理对发布的分析应用的访问,即授予或撤消访问权限,从而提供访问控制和安全功能。数据分析应用140可以执行与分析app相关联的功能,例如创建、部署、发布、迭代、更新等。另外,数据分析应用140可以支持在数据分析中涉及的各个阶段处执行的功能,例如访问、准备、混合、分析和输出分析结果的能力。数据分析应用140还可以支持软件工具,以经由可视图形用户界面(GUI)设计和执行可重复的工作流。作为示例,与数据分析应用140相关联的GUI提供用于数据混合、本文档来自技高网...

【技术保护点】
1.一种在数据分析系统中处理数据块的计算机实现的方法,包括:/n在块高速缓存中存储多个顺序的数据块,每个数据块包含一个或多个数据记录,每个数据记录包含一个或多个值以及记录标记,所述记录标记对所述数据记录的末尾进行标记;/n将所述块高速缓存中的数据块分配给工作线程;/n由所述工作线程解析所述数据块,以识别所述数据块内包含的所述一个或多个数据记录;/n确定所述数据块是否被正确解析;以及/n响应于确定所述数据块被正确解析,将所述数据块内包含的所述一个或多个数据记录提供给在所述数据分析系统上执行的数据分析工作流。/n

【技术特征摘要】
【国外来华专利技术】20171016 US 15/785,3571.一种在数据分析系统中处理数据块的计算机实现的方法,包括:
在块高速缓存中存储多个顺序的数据块,每个数据块包含一个或多个数据记录,每个数据记录包含一个或多个值以及记录标记,所述记录标记对所述数据记录的末尾进行标记;
将所述块高速缓存中的数据块分配给工作线程;
由所述工作线程解析所述数据块,以识别所述数据块内包含的所述一个或多个数据记录;
确定所述数据块是否被正确解析;以及
响应于确定所述数据块被正确解析,将所述数据块内包含的所述一个或多个数据记录提供给在所述数据分析系统上执行的数据分析工作流。


2.根据权利要求1所述的方法,其中,在所述块高速缓存中存储所述多个顺序数据块包括:
向数据源发出多个输入/输出(I/O)请求,所述多个I/O请求对多个顺序排序的数据块进行请求;
响应于所述多个I/O请求,从所述数据源接收所述多个顺序排序的数据块,其中,所述多个顺序排序的数据块以不同于所述数据块的顺序次序的次序从所述数据源接收;
将所接收的多个顺序排序的数据块存储在所述块高速缓存中。


3.根据权利要求2所述的方法,其中,所述多个顺序排序的数据块被存储在响应于所述数据块的顺序次序而确定的所述块高速缓存中的位置处。


4.根据权利要求1所述的方法,其中,存在多个工作线程,并且将所述块高速缓存中的数据块分配给工作线程包括:
将多个数据块分配给多个工作线程,所述多个工作线程适于同时解析所分配的多个数据块。


5.根据权利要求1所述的方法,其中,由所述工作线程解析所述数据块以识别所述数据块内包含的所述一个或多个数据记录包括:
扫描所述数据块以识别所述数据块内的第一记录标记位置;
解析所述数据块中的位于所述第一记录标记位置之后的数据记录;以及
由所述工作线程解析下一顺序数据块中的在所述下一顺序数据块内的第一记录标记位置之前发生的数据记录。


6.根据权利要求1所述的方法,其中,确定所述数据块是否被正确解析包括:
存储通过所述工作线程解析所述数据块找到的所述数据块的估计的第一记录标记位置;
由另一工作线程确定所述数据块中的真实的第一记录标记位置;
确定所存储的估计的第一记录标记位置是否与所述真实的第一记录标记位置匹配;以及
如果所存储的估计的第一记录标记位置与所述真实的第一记录标记位置匹配,则确定所述数据块被正确解析。


7.根据权利要求1所述的方法,其中,确定所述数据块是否被正确解析包括:
存储所述数据块的估计的第一记录标记位置,其中,所述数据块是响应于所述估计的第一记录标记位置来解析的;
确定所述数据块中的真实的第一记录标记位置;
确定所存储的估计的第一记录标记位置是否与所述真实的第一记录标记位置匹配;
如果所存储的估计的第一记录标记位置与所述真实的第一记录标记位置不匹配,则确定所述数据块被错误地解析;以及
响应于确定所述数据块被错误地解析,使用所述数据块中的所述真实的第一记录标记位置来重新解析所述数据块。


8.一种用于处理数据块的计算机实现的数据分析系统,包括:
计算机处理器,其用于执行计算机程序指令;以及
非暂时性计算机可读存储器,其存储计算机程序指令,所述计算机程序指令能够由所述计算机处理器执行以执行操作,所述操作包括:
在块高速缓存中存储多个顺序的数据块,每个数据块包含一个或多个数据记录,每个数据记录包含一个或多个值以及记录标记,所述记录标记对所述数据记录的末尾进行标记;
将所述块高速缓存中的数据块分配给工作线程;
由所述工作线程解析所述数据块,以识别所述数据块内包含的所述一个或多个数据记录;
确定所述数据块是否被正确解析;以及
响应于确定所述数据块被正确解析,将所述数据块内包含的所述一个或多个数据记录提供给在所述数据分析系统上执行的数据分析工作流。


9.根据权利要求8所述的系统,其中,在所述块高速缓存中存储所述多个顺序数据块包括:
向数据源发出多个输入/输出(I/O)请求,所述多个I/O请求对多个顺序排序的数据块进行请求;
响应于所述多个I/O请求,从所述数据源接收所述多个顺序排序的数据块,其中,所述多个顺序排序的数据块以不同于所述数据块的顺序次序的次序从所述数据源接收;
将所接收的多个顺序排序的数据块存储在所述块高速缓存中。


10.根据权利要求9所述的系统,其中,所述多个顺序排序的数据块被存储在响应于所述数据块的顺序次序而确定的所述块高速缓存中的位置处。


11.根据权利要求8所述的系统,其中,存在多个工作线程,并且将所述块高速缓存中的数据块分配给工作线程包...

【专利技术属性】
技术研发人员:E·P·小哈丁A·D·赖利C·H·金斯利
申请(专利权)人:奥特瑞克斯股份有限公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1