CN102446220A - 用于可视化数据的自适应树结构 - Google Patents
用于可视化数据的自适应树结构 Download PDFInfo
- Publication number
- CN102446220A CN102446220A CN2011104080393A CN201110408039A CN102446220A CN 102446220 A CN102446220 A CN 102446220A CN 2011104080393 A CN2011104080393 A CN 2011104080393A CN 201110408039 A CN201110408039 A CN 201110408039A CN 102446220 A CN102446220 A CN 102446220A
- Authority
- CN
- China
- Prior art keywords
- node
- time span
- event
- data
- layer
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/904—Browsing; Visualisation therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明描述了用于可视化数据的自适应树结构。公开了用于基于事件的数据密度来生成用于存储事件数据的自适应树结构的一种或多种系统和/或技术。具体地,自适应树结构可包括一个或多个节点层,其中一层可对应于一事件分辨率。节点可对应于记录事件数据期间的特定时间跨度。节点可基于该节点覆盖的时间跨度内发生的事件的数量被指定为包括原始事件的原始节点或包括概述事件的概述节点。
Description
技术领域
本发明涉及数据处理,尤其涉及数据的可视化。
背景技术
如今,许多应用存储、处理和/或可视化大量的数据。例如,应用开发环境可允许用户开发、测试和部署图形用户界面、网站、web服务和/或其他应用。对于开发者而言,跟踪和/或可视化与这些应用的执行有关的事件可能是有益的,这么做可提供对事件的洞察,这些事件诸如上下文切换、应用对应用程序接口的调用、CPU利用率、采样和/或各种各样的其他事件。以此方式,开发者可例如通过事件的时间线来可视地分析应用执行的性能数据。不幸的是,应用在几分钟内的执行可导致上百万个事件。当前的事件可视化技术试图通过为各种视觉分辨率预先计算可视化数据来管理这样的大量的事件数据。
发明内容
提供本发明内容以便以简化形式介绍在以下具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键因素或必要特征,也不旨在用于限定所要求保护的主题的范围。
本文尤其公开了用于基于事件数据集的数据密度来生成自适应树结构的一种或多种系统和/或技术以及用于确定所述自适应树结构内的事件的节点数据的一种或多种系统和/或技术。虽然本文所示的一个或多个示例可在与应用执行相关联的事件的上下文中描述自适应树结构的实现,但可以明白,自适应树结构不限于存储与这些事件有关的数据,还可用于存储任何类型的数据(例如,随着时间被记录的数据、与文本文档相关联的数据、与电子表格相关联的数据、与网络话务相关联的数据、与社交网络相关联的数据和/或任何其他类型的数据)。在一个示例中,与应用的执行有关的事件可作为多个原始事件被记录在事件数据集内。例如,上下文切换(例如,CPU使用在各应用之间的切换)、应用对应用程序接口的调用(例如,因为文件被锁定而导致应用被阻塞的调用)、CPU使用、采样(例如,收集样本事件来确定在特定时间应用是否正在执行)和/或可作为原始事件被记录在事件数据集内的多个其他事件。可生成自适应树结构来存储与事件数据集或其各部分的特定视觉分辨率相关联的预先计算的事件数据。可从自适应树结构中提取特定视觉分辨率处的事件数据以供可视化,诸如通过事件时间线。
可以理解,自适应树结构可包括一个或多个节点层。可以理解,被分配到一节点的多个事件可受限于一阈值数,以使得节点可被分配不超过阈值数的事件(例如,1000个事件的阈值数)。可以理解,节点可与时间跨度相关联,该时间跨度对应于各事件在事件数据集内的时间跨度。以此方式,节点可覆盖事件数据集中被该节点的时间跨度覆盖的原始数据(例如,节点可与覆盖事件数据集内500个原始事件的0-30秒的时间跨度相关联)。然而,如果节点覆盖了事件数据集中大于阈值数的多个原始事件(例如,节点可覆盖事件数据集内在30-60秒之间发生的195500个原始事件,这大于阈值数1000),则该节点所覆盖的事件数据集内的原始事件可被聚集成概述事件。以此方式,节点可被分配不大于阈值数的多个概述事件(例如,195500个原始事件可被聚集成1000个概述事件。)
可以理解,节点可以是概述节点或原始节点。原始节点可以是覆盖了事件数据集内小于或等于预定数量的多个原始事件的节点(例如,节点可与覆盖了事件数据集内的500个原始事件的0-30秒的时间跨度相关联,这小于或等于阈值数1000)。以此方式,节点可被分配500个原始事件,并且可被指定为原始节点。可以理解,原始节点可以是自适应树结构中没有子节点的叶节点。概述节点可以是覆盖了事件数据集内大于预定数量的多个原始事件的节点(例如,节点可包括对应于事件数据集内195500个原始事件的30-60秒的时间跨度,这大于阈值数1000)。以此方式,节点可被分配从由该节点的时间跨度覆盖的原始事件中聚集的多个概述事件,其中概述事件的数量等于预定数量(例如,概述节点可被分配从195500个原始事件中聚集的1000个概述事件)。可以理解,概述节点可以是与预定数量个子节点相关联的非叶节点(例如,概述节点可与预定数量4个子节点相关联,以使得各个子节点对应于该概述节点的1/4时间跨度)。
在生成自适应树结构期间,可指定一个或多个节点层。例如,第一层可被指定为具有根节点。根节点的时间跨度可对应于事件数据集的总时间跨度(例如,根节点可与覆盖在120秒内记录的200000个原始事件的时间跨度0-120秒相关联)。因为根节点可覆盖大于阈值数的多个原始事件,所以根节点可被分配从由根节点覆盖的原始事件中聚集的多个概述事件,其中概述事件的数量小于或等于阈值数量(例如,200000个原始数据可被聚集成分配给根节点的1000个概述事件)。根节点可被指定为概述节点。可以理解,根节点可与预定数量的子节点相关联,因为根节点是概述节点(例如,层1的根结点可与层2的4个子节点相关联)。
可在自适应树结构中指定一个或多个附加层。对于自适应树的当前层:可作出紧接着当前层的前一层是否包括一个或多个概述节点的确定(例如,如果前一层仅包括原始节点(叶节点),则自适应树结构可以是完整的)。如果前一层包括一个或多个概述节点,则对于各个概述节点:可为概述节点生成预定数量的子节点,其中子节点的各个时间跨度对应于概述节点的时间跨度的一小部分(例如,如果概述节点的时间跨度覆盖原始事件的30-60秒且生成了4个子节点,子节点的各个时间跨度可以是概述节点的30秒时间跨度的1/4,以使得第一子节点可包括30-30.75的时间跨度,第二子节点可包括37.5-45的时间跨度,第三子节点可包括45-52.5的时间跨度,而第四子节点可包括52.5-60的时间跨度)。对于各个子节点:如果事件数据集内被子节点的时间跨度覆盖的多个原始事件小于或等于阈值数,则该子节点可被指定为原始节点并且可被分配原始事件,否则子节点可被指定为概述节点并且可被分配从事件数据集内被该子节点的时间跨度覆盖的原始事件中到处的多个概述事件。概述事件的数量可等于阈值数量。以此方式,可基于事件数据集的数据密度来生成自适应树结构(例如,可在密集的原始事件区域中指定较多的节点和/或层,而可在稀疏的原始事件区域中指定较少的节点和/或层)。
自适应树结构可包括一个或多个节点层,诸如包括原始事件的原始节点(叶节点)和/或包括从原始事件中聚集的概述事件的概述节点(非叶节点)。自适应树结构中的各个层可对应于事件数据集或其各部分的视觉分辨率。例如,第一层可包括被分配从事件数据集的整个时间跨度中聚集的概述事件的根节点(概述节点)。较高的层,诸如第一层,可提供对事件数据集或其各部分的低分辨率视图,它可用于提供事件数据集的缩小可视化(例如,第一层可提供对应于在120秒内的200000个原始事件的1000个概述事件)。较低的层,诸如六层自适应树结构中的第四层,可提供对事件数据集的特定部分的高分辨率视图,它可用于提供事件数据集或其各部分的放大可视化(例如,第四层中的概述节点可提供对应于在1.875秒时间跨度内的10000个原始事件的1000个概述事件)。可以理解,可用从自适应树结构内的节点数据中导出的事件数据来填充时间线。例如,可基于请求的时间跨度从自适应树结构内的一个或两个节点中确定节点数据(例如,用户可请求对在时间跨度30-60秒内发生的事件的可视化)。对应于所请求的时间跨度30-60秒的一个或两个节点可被确定为包括该节点数据。以此方式,可用从节点数据导出的事件数据来填充时间线。用户能够可视化事件,放大、缩小、滚动时间线和/或与时间线执行其他交互。可通过用从自适应树结构中的节点数据中导出的相应事件数据来更新时间线以满足这样的用户输入。
为实现上述和相关目的,以下描述和附图阐述了各个说明性方面和实现。这些方面和实现仅指示可使用一个或多个方面的各种方式中的一些。结合附图考虑以下详细描述,则本发明的其他方面、优点、以及新颖特征将变得显而易见。
附图说明
图1是示出基于包括多个原始事件的事件数据集的数据密度来生成自适应树结构的示例性方法的流程图。
图2是示出从自适应树结构中确定事件的节点数据的示例性方法的流程图。
图3是示出用于基于事件数据集的密度来生成自适应树结构的示例性系统的组件框图,它可被用于用事件数据来填充时间线。
图4是生成自适应树结构的示例的图示。
图5是基于所请求的时间跨度确定自适应树结构内的节点数据的示例的图示。
图6是基于所请求的时间跨度确定自适应树结构内的节点数据的示例的图示。
图7是基于所请求的时间跨度确定自适应树结构内的节点数据的示例的图示。
图8是基于所请求的时间跨度确定自适应树结构内的节点数据的示例的图示。
图9是基于所请求的时间跨度确定自适应树结构内的节点数据的示例的图示。
图10是示例性计算机可读介质的图示,其中可包括被配置成实现此处所阐述的原理中的一个或多个的处理器可执行指令。
图11图解了其中可实现本文中所阐述的各种措施中的一个或多个的示例性计算环境。
具体实施方式
现在参考附图来描述所要求保护的主题,所有附图中使用相同的附图标记来指代相同的元素。在以下描述中,为解释起见,阐明了众多具体细节以提供对所要求保护的主题的全面理解。然而,很明显,所要求保护的主题可以在没有这些具体细节的情况下实施。在其它情况下,以框图形式示出了各种结构和设备以便于描述所要求保护的主题。
如今,应用的执行可包括一组复杂的事件。例如,web应用在执行期间可在与数据库、web服务和/或各种客户机计算设备交互时执行数十万个代码行。跟踪、存储、分析和/或可视化这些事件可能是有益的,这可提供对应用的执行的洞察。例如,可在用户界面的交互式时间线内呈现被记录的事件数据。用户可滚动至事件的各时间范围、改变缩放比例和/或与交互式时间线执行其他交互来查看各事件。在一个示例中,可沿着时间线的时间轴来标绘各事件。时间线可向用户提供查看被记录的事件的整个时间跨度(例如,在粗略粒度上的事件的缩小视图)的能力、放大至特定时间跨度(例如,在较精细的粒度上的事件的放大视图)的能力和/或滚动至时间线内的各时间跨度的能力。
不幸的是,时间线可与大的事件数据集(例如,在应用执行的几分钟内记录的数百万个事件)相关联,这可影响时间线的响应性、存储开销和/或其他资源利用率。当前的可视化技术可通过为各缩放水平预先计算时间线信息来管理大的事件数据集,这可允许对用户动作的平滑响应,诸如滚动和缩放。这样的预先计算的时间线信息可被存储在数据结构中,诸如包括一个或多个节点层的树结构(例如,第一层可包括表示在事件数据集的整个时间跨度内的事件的根节点,第二层可包括表示在整个时间跨度的各个1/4部分内的事件的4个节点,第三层可包括表示整个时间跨度的各个1/16部分内的事件的16个节点等)。然而,随着树结构变得越深,节点的数量指数级增长。树结构的深度可取决于事件数据集的总时间和/或事件可在时间线内呈现的最大缩放因子。指数级增长可呈现不可缩放的树结构,这可限制可视化较长的时间范围的能力和/或缩放的能力。另外,树结构可能不考虑数据密度随着时间的分布,并且可能为密集和稀疏区域使用等量的存储,这可能浪费存储。
相应地,本文尤其提供了用于基于事件数据集的数据密度来生成自适应树结构的一种或多种系统和/或技术以及用于确定所述自适应树结构内的事件的节点数据的一种或多种系统和/或技术。自适应树结构可包括基于数据密度指定的层和/或节点(例如,覆盖密集事件数据的节点可被拆分成子节点,而覆盖稀疏数据的节点可被指定为叶节点),这与均匀的完整的树相反,其中各个层和/或节点是均匀的(例如,各个节点层可被均匀地拆分直到创建最后一个层:层1具有1个节点,层2具有4个节点,层3具有16个节点,层4具有64个节点等)。例如,自适应树结构可包括用于集中原始数据的区域的较多的层和/或节点,而可包括用于稀疏原始数据的区域的较少的层和/或节点。以此方式,因为用于节点和/或层的存储空间可基于数据密度来分配(例如,仅在需要的地方而不在不需要的地方存在开销),所以可减少事件数据的开销存储。
自适应树结构可包括与事件数据集内的事件的预先计算的分辨率相对应的一个或多个层。例如,较高的层,诸如层1或层2,可包括粗略粒度上的对事件数据的缩小分辨率,而较低的层,诸如层5或层6,可包括较精细粒度上的对事件数据的放大分辨率。因此,特定层和/或节点可被用来确定在所需分辨率上的事件的节点数据。节点数据可被用来填充事件的可视化,诸如,事件的时间线。以此方式,用户可与时间线交互(例如,缩放、滚动等),以使得可基于从自适应树结构内的特定层和/或节点提取的节点数据来填充时间线内在相对应的分辨率上的事件的可视化。除了通过基于数据密度生成自适应树结构来减少存储开销之外,由于可例如不超过两个节点来满足对事件数据的请求,因此可增强时间线响应性。另外,节点可包括受限于一阈值数的多个事件,以使得可对作为节点数据被处理的最大数量的事件进行约束。以此方式,自适应树结构可包括事件数据的预先计算的分辨率,该分辨率可被用来向用户提供事件数据的交互式时间线。
基于包括多个原始事件的事件数据集的数据密度来生成自适应树结构的一个实施例由图1中的示例性方法100示出。在102处,该方法开始。可以理解,事件数据集内的多个原始事件可对应于各种各样的数据(例如,随着时间被记录的数据、与应用的执行相关联的事件、在社交网络中发生的事件、文本数据、电子表格数据、逻辑数据等)。在104,可指定自适应树结构中的第一层。第一层可包括根节点。根节点的时间跨度可对应于事件数据集的总时间跨度(例如,120秒的200000个原始事件),并因此根节点可覆盖在事件数据集的总时间跨度内发生的原始事件(例如,根节点可覆盖200000个原始事件。)
可以理解,被分配到一节点的多个事件可受限于一阈值数,以使得该节点可被分配不超过阈值数的事件。例如,限制被分配给节点的事件的数量可限制在填充时间线时被处理的事件的数量,这可增强时间线的响应性,诸如用户界面绘制次数(例如,被分配给一个或两个节点的事件可被用来满足对事件数据的请求以填充时间线)。阈值数量可表示可被分配给节点的事件(诸如概述事件和/或原始事件)的最大数量。
可以理解,如果节点覆盖少于或等于阈值数量的事件数据集内的多个原始事件(例如,节点的0-30秒的时间跨度覆盖事件数据集内的500个原始事件),则该节点可被指定为原始节点(没有子节点的叶节点)并且由该原始节点覆盖的原始事件可被分配到该原始节点。然而,如果节点覆盖大于阈值数量的事件数据集内的多个原始事件(例如,节点的30-60秒的时间跨度覆盖事件数据集内的195500个原始事件,这大于1000的阈值数量),则该节点可被指定为概述节点(具有预定数量的子节点的非叶节点)并且从原始事件中导出的多个概述事件可被分配到该概述节点,其中概述事件的数量可等于阈值数量。在导出概述事件的一个示例中,原始事件可被聚集成概述事件。具体地,具有与概述节点相关联的分辨率的合适时间跨度的原始事件被选为概述事件(例如,具有合适时间跨度的原始事件可以是具有最大足够时间跨度的原始事件以使得该原始事件在以当前缩放水平在时间线中被显示为例如矩形时可以容易地可见)。类似地,不包括与概述节点相关联的分辨率的合适时间跨度的原始事件可被聚集(例如组合)成在沿着时间线以当前缩放水平显示为矩形时可以可见的较大的概述事件。
根节点可被分配从事件数据集的原始事件中导出的多个概述事件,因为根节点可覆盖事件数据集中大于阈值数量的原始事件(例如,根节点的120秒的时间跨度可覆盖200000个原始事件,这大于1000的阈值数量)。概述事件的数量可等于阈值数量。以此方式,根节点可被指定为概述节点。
在106,可在自适应树结构中指定一个或多个附加层。具体地,在108,对于自适应树结构的当前层,在110可作出关于紧接着当前层的前一层是否包括一个或多个概述节点(非叶节点)的确定。在112,如果前一层包括一个或多个概述节点,则对于各个概述节点:在114可为概述节点生成预定数量的子节点,其中子节点的时间跨度可对应于概述节点的时间跨度的一小部分(例如,可为概述节点生成4个子节点,其中子节点包括等于概述节点的时间跨度的1/4的时间跨度)。可以理解,节点的时间跨度可对应于事件数据集内被该节点覆盖的原始事件的时间跨度。例如,概述节点可包括覆盖195500个事件的时间跨度30-60。可为概述节点生成预定数量(诸如4)的子节点,其中子节点的时间跨度对应于概述节点的30秒时间跨度的1/4(例如,第一子节点可包括30-37.5秒的时间跨度,以使得第一子节点覆盖事件数据集内在30-37.5秒时间跨度内的原始事件;第二子节点可包括37.5-45秒的时间跨度,以使得第二子节点覆盖数据内在37.5-45秒时间跨度内的原始事件;以此类推)。在一个示例中,概述节点的子节点的各个时间跨度可包括相等的长度,其中子节点的各个时间跨度之和等于概述节点的时间跨度。在另一示例中,一个或多个子节点的各个时间跨度在不同子节点之间可以不同。类似地,虽然本文描述了为概述节点生成4个子节点,其中子节点包括等于概述节点的时间跨度的1/4的时间跨度,但即时应用不旨在受限于此。即,可生成任何合适数量的子节点,其中子节点可包括任何合适的时间跨度。此外,各个概述节点中的每个的子节点的数量可在不同概述节点之间不同和/或子节点的各个时间跨度也可不同。
可以理解,可基于由节点覆盖的原始事件是否小于或等于阈值数量(例如,1000个事件的阈值数量)来将为概述节点生成的各个子节点指定为概述节点或原始节点。在116,如果事件数据集内被子节点的时间跨度覆盖的原始事件的数量小于或等于阈值数量(例如,子节点的30-37.5秒时间跨度覆盖447个原始事件,这小于1000个事件的阈值数量),则该子节点可被指定为原始节点且可被分配原始事件。然而,如果事件数据集内被子节点的时间跨度覆盖的原始事件的数量大于阈值数量(例如,子节点的37.5-45秒时间跨度覆盖143006个原始事件,这大于1000个事件的阈值数量),则该子节点可被指定为概述节点且可被分配从小于或等于阈值数量的原始事件中导出的多个概述事件。在导出概述事件的一个示例中,由时间跨度覆盖的原始事件可被聚集为概述节点的概述事件。因此,包括短时间跨度的原始事件(例如,在时间线内显示时在视觉上可能太小的原始事件)可被聚集在一起,以使得概述事件可指示两个或更多个原始事件。另选地或另外地,小于或等于阈值数量的多个原始事件可被选为概述节点的事件(例如,可选择更能揭示或指示由所有原始数据覆盖的内容的那些原始事件)。
以此方式,可基于事件数据集内的事件的数据密度来生成包括一个或多个节点层的自适应树结构。例如,稀疏数据区域可导致没有子节点的原始节点(例如,具有覆盖500个原始事件的时间跨度的节点可被指定为被分配500个原始事件的原始节点),而密集数据区域可导致具有子节点的概述节点(例如,具有覆盖195500个原始事件的时间跨度的节点可导致被分配1000个概述事件的概述节点,以使得可为概述节点创建子节点)。
可以理解,可从自适应树结构中确定各事件的节点数据。例如,可从自适应树结构中确定各事件的节点数据以满足用事件数据填充时间线的请求。具体地,可接收请求的时间跨度(例如,与查看动作、缩放动作、滚动动作和/或时间线内的其他动作相对应的时间跨度)。可确定与 其中T是事件数据集的总时间跨度,而CPNL是每个概述节点的子节点的预定数量。例如,自适应树结构可包括在T=120秒的总时间跨度内的事件,可为自适应树结构内的各个概述节点(非叶节点)创建了4个子结点(CPNL=4)。因此,30-35秒的请求的时间跨度可被用来确定层(L)=3(例如,当层(L)=3时满足{120/4^L}<5<={120/4^L-1},因为1.875<5<=7.5)。
可基于最初在层(L)对节点求值来确定与请求的时间跨度相对应的自适应树结构内的节点数据,这可涉及以下四个确定中的一个或多个。第一,如果请求的时间跨度完全落在层(L)的一节点内,则该节点被确定为包括节点数据(例如,请求的时间跨度30-35可完全落在具有时间跨度30-37.5的层3的节点内)。第二,如果请求的时间跨度完全落在层(L)的两个相邻节点内,则这两个相邻节点可被确定为包括节点数据(例如,请求的时间跨度35-40可完全落在层3内具有时间跨度30-37.5和37.5-45的两个相邻时间内)。第三,如果请求的时间跨度的第一段完全落在层(L)的第一节点内而请求的时间跨度的第二段不落在层(L)的各个节点内(例如,请求的时间跨度58-63可包括可完全落在层3具有时间跨度52.5-60的第一节点内的第一段58-60,但第二段60-63可能不落在层(L)的各个节点内),则第一节点可被确定为包括节点数据的第一部分,而不同层(例如,层(L)之前的一层)的第二节点可被确定为包括节点数据的第二部分,其中请求的时间跨度的第二段完全落在第二节点内。可以理解,第一节点可以是层(L)内的任意节点,而第二节点可以是另一层内的任意节点。第四,如果层(L)的节点中没有一个跨越请求的时间跨度的至少一部分,则层(L)可递减一层至前一层并使用递减的层迭代地确定节点数据。在一个示例中,可从不超过两个节点中导出节点数据。
可以理解,虽然文本使用了诸如第一节点、第二节点、第一部分、第二部分、第一段和/或第二段之类的语言以及类似的语言,但这些语言不意味着是限制性的。例如,第一节点可以是层(L)内的任何节点。类似地,诸如第一和第二之类的语言在本文中仅被用作标识符且不必指示事物的次序(例如,一项在另一项之前(时间上))。
可以理解,节点数据可被用来导出时间线的事件数据,它可被呈现给用户。如果节点数据对应于概述节点的概述事件,则概述事件可与节点数据一起存储(例如,概述事件在存储在概述节点内时先前可能已经从原始事件被聚集成合适的可视分辨率)。如果节点数据对应于原始节点的原始事件,则原始事件可被聚集成概述事件,它可被存储在节点数据中(例如,在时间线的当前分辨率下在视觉上可能很小的原始事件可为了时间线内的事件的视觉清晰度被聚集成较大的概述事件)。
时间线可以是交互式的,以使得用户可查看、缩放、滚动时间线和/或在时间线内执行其他用户输入。在一个示例中,可接收对应于在时间线内的缩放动作的用户输入。用户输入可包括第二请求的时间跨度。第二请求的时间跨度可与对应于当前时间线视图的请求的时间跨度不同。可在自适应树结构中确定对应于第二请求的时间跨度的第二节点数据(例如,一个或两个节点可被确定为包括第二节点数据)。以此方式,可用对应于第二节点数据的事件来更新时间线以呈现新的时间线视图。
在另一示例中,可接收对应于在时间线内的滚动动作的用户输入。用户输入可包括第二请求的时间跨度。第二请求的时间跨度可与对应于当前时间线视图的请求的时间跨度不同。可在自适应树结构中确定对应于第二请求的时间跨度的第二节点数据(例如,一个或两个节点可被确定为包括第二节点数据)。以此方式,可用对应于第二节点数据的事件来更新时间线以呈现新的时间线视图。在118,该方法结束。
从自适应树结构中确定事件的节点数据的一个实施例由图2的示例性方法200示出。在202处,该方法开始。在204,可接收请求的时间跨度。例如,用户可请求对时间线内对应于请求的时间跨度的事件的特定视图(例如,查看在0-20秒内发生的事件的请求)。在206,可计算对应于其中T是事件数据集的总时间跨度(例如,2000000个事件的120秒),而CPNL是每个概述节点的子节点的预定数量(例如,可能为自适应树中的各个概述节点(非叶节点)创建了4个子节点。)即,自适应树结构可包括在T=120秒的总时间跨度内的事件,其中可为自适应树结构内的各个概述节点创建了4个子结点(CPNL=4)。在一个示例中,0-20秒的请求时间跨度可被用来确定层(L)=2(例如,当层(L)=2时满足{120/4^L}<20<={120/4^L-1},因为7.5<20<=30)。
在208,可在自适应树结构中确定对应于请求的时间跨度的节点数据。可以理解,节点数据可包括从自适应树结构中的一个或两个节点中导出的事件,它可被用来使用这些事件来填充时间线。在一个示例中,确定节点数据可包括以下确定中的一个或多个。第一,在210,如果请求的时间跨度完全落在层(L)的一节点内,则该节点被确定为包括节点数据(例如,请求的时间跨度0-20秒可完全落在具有时间跨度0-30秒的层2的节点内)。第二,在212,如果请求的时间跨度完全落在层(L)的两个相邻节点内,则这两个相邻节点可被确定为包括节点数据(例如,请求的时间跨度10-40秒可落在具有时间跨度0-30秒的层2的第一节点和具有时间跨度30-60秒的层2的第二节点内,其中请求的时间跨度完全落在时间跨度的组合内)。
第三,在214,如果请求的时间跨度的第一段完全落在层(L)的第一节点内而请求的时间跨度的第二段不落在层(L)的各个节点内,则:在216,第一节点可被确定为包括节点数据的第一部分,在218,不同层(例如,层(L)之前的一层)内的第二节点可被确定为包括节点数据的第二部分,其中请求的时间跨度的第二段完全落在第二节点内。以此方式,可从层(L)的第一节点和不同层的第二节点中导出节点数据。
第四,在220,如果层(L)的节点中没有一个跨越请求的时间跨度的至少一部分,则层(L)可递减一层至前一层,并可使用递减的层迭代地确定节点数据。以此方式,对应于请求的时间跨度的事件的节点数据可由自适应树结构内的一个或两个节点满足。
确定适于时间线的当前视图的查看分辨率的事件的节点数据可以是有益的(例如,用于放大的视图的较精细粒度的事件、用于缩小的视图的较粗略粒度的事件等)。即,时间线可例如沿着时间轴将事件显示为矩形。然而,某些事件可能持续时间太短而无法容易地沿着时间线查看。因此,在以针对时间线的当前视图的分辨率进行查看时,某些事件可被聚集(组合)以创建容易可见的事件。具体地,如果节点数据对应于概述节点的概述事件,则概述事件可被存储在事件的节点数据中(例如,概述事件在被分配到概述节点时先前可能已经从原始事件被聚集)。如果节点数据对应于原始节点的原始事件,则原始事件可被聚集(或可以不被聚集)成概述事件,它可被存储在节点数据中(例如,在时间线的当前缩放水平下在视觉上可能很小的原始事件可为了时间线内的事件的视觉清晰度被聚集成视觉上较大的概述事件)。
可呈现用从节点数据中导出的事件数据填充的时间线。时间线可以是交互式时间线,它允许用户查看、滚动、缩放时间线和/或与时间线执行其他动作。可用从自适应树结构中的一个或两个节点中导出的事件来填充时间线。例如,可接收对应于在时间线内的缩放动作和/或滚动动作的用户输入。用户输入可包括可与对应于当前时间线视图的请求的时间跨度不同的第二请求的时间跨度。可在自适应树结构中确定对应于第二请求的时间跨度的第二节点数据。以此方式,可用响应的方式使用事件来填充时间线,因为仅一个或两个节点可被确定为包括节点数据,这可减少处理时间。在222,该方法结束。
图3示出被配置成用于基于事件数据集314的密度生成自适应树结构308的系统300的示例,它可被用来使用事件数据320来填充时间线332。在一个示例中,事件数据集314可包括在应用的执行期间被记录的原始事件(例如,120秒内的200000个原始事件)。可生成具有一个或多个节点层的自适应树结构308,其中一层可表示一个分辨率的事件。例如,较高的层,诸如层1,可包括粗略粒度上的事件数据的缩小的分辨率,它可被用来显示时间线322内事件的缩小视图。较低的层,诸如层5,可包括较精细粒度上的事件数据的放大的分辨率,它可被用来显示时间线322内事件的放大视图。
系统300可包括自适应树生成器组件302、节点提取器组件310和/或时间线呈现组件312。可以理解,自适应树生成器302可与阈值数量306相关联。在一个示例中,阈值数量306可指定可被分配到一节点的事件的最大数量(例如,阈值数量306可指定一节点可包括不超过1000个事件)。阈值数量306可被自适应树生成器302用来确定节点被指定为概述节点还是原始节点。例如,节点可与对应于事件数据集314内原始事件的时间跨度的时间跨度相关联。如果节点的时间跨度覆盖大于阈值数量306的原始事件(例如,节点的时间跨度30-60秒可覆盖事件数据集314内的195500个原始事件),则该节点可被指定为概述节点,且从原始事件中导出的概述事件可被分配到该概述节点,其中概述事件的数量可等于阈值数量306(例如,195500个原始事件可被聚集成1000个概述事件)。然而,如果由节点的时间跨度覆盖的事件数据集314内的原始事件的数量少于或等于阈值数量306,则该节点可被指定为原始节点,且原始事件可被分配到原始节点。
自适应树生成器302可与预定数量304相关联。在一个示例中,预定数量304可指定为概述节点创建的子节点的数量。在指定自适应树结构308的层时,自适应树生成器302可使用预定数量304(例如,如果前一层包括概述节点,则自适应树生成器302可为概述节点生成等于预定数量的多个子节点,诸如4个子节点)。
在生成自适应树结构308的一个示例中,自适应树生成器302可被配置成指定自适应树结构308中的第一层(例如,指定层316)。第一层可包括被分配等于阈值数量306的多个概述事件的根结点。具体地,根结点的时间跨度可对应于事件数据集314的总时间跨度(例如,120秒),它可覆盖事件数据集314中多于预定数量306的原始事件(例如,200000个原始事件)。因此,根结点可被指定为概述节点。
自适应树生成器302可被配置成指定自适应树结构308中的一个或多个附加层(例如,指定层316)。具体地,对于自适应树结构308的当前层,可作出关于紧接着当前层的前一层是否包括一个或多个概述节点的确定。如果前一层包括一个或多个概述节点,则对于各个概述节点:可为概述节点生成等于预定数量304的多个子节点。子节点的时间跨度可对应于概述节点的时间跨度的一小部分(例如,概述节点可跨越0-30秒,以使得可生成分别具有时间跨度0-7.5、7.5-15、15-22.5和22.5-30秒的4个子节点)。各个子节点可被指定被分配原始事件的原始节点或被分配概述事件的概述节点。具体地,对于各个子节点:如果由子节点的时间跨度覆盖的事件数据集314内的原始事件的数量少于或等于阈值数量306,则该子节点可被指定为原始节点并可被分配原始事件,否则该子节点可被指定为概述节点并可被分配从由该子节点的时间跨度覆盖的事件数据集内的原始事件中导出的多个概述事件,其中概述事件的数量等于阈值数量306。以此方式,自适应树生成器302可生成包括一个或多个节点层的自适应树结构308,其中一层对应于可在时间线322内显示的一个分辨率的事件。
节点提取器310可被配置成确定自适应树结构308内的事件的节点数据318。节点数据318可由时间线呈现组件312用来使用事件数据320来填充时间线322。具体地,节点提取器310可接收请求的时间跨度。例如,请求的时间跨度可对应于时间线322(例如,用户可指定要在时间线322内查看的事件的所需时间跨度)。节点提取器310可计算对应于其中T是事件数据集314的总时间跨度,而CPNL是每个概述节点的子节点的预定数量304。
节点提取器310可确定对应于自适应树结构308中的请求的时间跨度的节点数据318。在一个示例中,节点提取器310可被配置成通过执行以下四个确定中的一个或多个来确定节点数据318。第一,如果请求的时间跨度完全落在层(L)的一节点内,则节点提取器310可将该节点确定为包括节点数据318。第二,如果请求的时间跨度完全落在层(L)的两个相邻节点内,则节点提取器310可将这两个节点确定为包括节点数据。第三,如果请求的时间跨度的第一段完全落在层(L)的第一节点内而请求的时间跨度的第二段不落在层(L)的各个节点内,则第一节点可被确定为包括节点数据318的第一部分,而不同层(例如,层(L)之前的一层)内的第二节点可被确定为包括节点数据的第二部分,其中请求的时间跨度的第二段完全落在该第二节点内。可以理解,第一节点可以是层(L)内的任意节点,而第二节点可以是另一层内的任意节点。第四,如果层(L)的节点中没有一个跨越请求的时间跨度的至少一部分,则层(L)可递减一层至前一层,并且节点提取器310可使用递减的层来确定节点数据318。以此方式,节点提取器310可基于请求的时间跨度来确定从自适应树结构308中的一个或两个节点中导出的节点数据318。
节点数据318可由时间线呈现组件312用来使用对应于请求的时间跨度的事件来填充时间线322。节点提取器310可被配置成将节点数据318格式化为适于时间线322的当前视图的查看分辨率(例如,用于放大的视图的较精细粒度的事件、用于缩小的视图的较粗略粒度的事件等)。具体地,如果节点数据318对应于概述节点的概述事件,则概述事件可被用作节点数据318和/或事件数据320(例如,概述事件在被分配到自适应树结构中的概述节点时先前可能已经从原始事件被聚集)。如果节点数据对应于原始节点的原始事件,则原始事件可被聚集(或可以不被聚集)成概述事件,它可被用作节点数据318和/或事件数据320(例如,在时间线322的当前缩放水平下在视觉上可能很小的原始事件可为了时间线322内的事件的视觉清晰度被聚集成视觉上较大的概述事件)。
时间线呈现组件312可被配置成呈现由节点数据318表示的事件数据320的时间线322。时间线呈现组件312可被配置成用第二节点数据表示的第二事件数据来更新时间线322,该第二节点数据是由节点提取器310响应于对应于滚动动作、缩放动作的用户输入和/或时间线322内的其他用户输入来确定的。以此方式,用户可交互式地查看时间线322内的事件。可以理解,时间线呈现组件312可被配置成用各种各样的格式来呈现从节点数据316中导出的事件数据320,这些格式诸如事件的文本呈现、事件的图形呈现、事件的基于web的呈现、事件的电子表格表示等。
图4示出生成自适应树结构406的示例400。事件数据集402可包括在0-120秒之间被记录的200000个原始事件的任意分布。自适应树生成器404可被配置成生成自适应树结构406。预定数量=4可指定要为自适应树结构406内的概述节点(非叶节点)生成4个子节点。阈值数量=1000可指定一节点可包括不超过1000个事件。
自适应树生成器404可生成包括一个或多个节点层的自适应树结构406,其中一层可对应于可被用来填充时间线的一个分辨率的事件数据。具体地,自适应树生成器404可指定包括根结点408的层(1)。根结点408的时间跨度0-120秒可对应于事件数据集402的总时间跨度0-120秒。因此,根结点408可覆盖事件数据集402的200000个原始事件。然而,根结点408可被限于由阈值数量=1000所指定的1000个事件。因此,可向从200000个原始事件中导出的1000个概述事件分配给附近的408,且根结点408可被指定为概述节点。
自适应树生成器404可指定自适应树结构406内的一个或多个附加层。例如,自适应树生成器404可指定层(2)。在指定层(2)期间,可作出关于层(1)(紧接着层(2)的前一层)是否包括一个或多个概述节点的确定。因为根结点408是概述节点,可为该根结点408生成等于预定数量4的4个子节点。即,可在层(2)中生成节点A 410、节点B 412、节点C 414和节点D 416。子节点的时间跨度可等于根结点408的时间跨度的一小部分。例如,节点A 410的时间跨度可以是0-30秒,节点B 412的时间跨度可以是30-60秒,节点C 414的时间跨度可以是60-90秒,和/或节点D的时间跨度可以是90-120秒。
因为事件数据集402内原始事件的分布可以是任意的,所以由层(2)的各个节点的时间跨度所覆盖的原始事件的数量可以相同或不同。例如,节点A410的时间跨度0-30可覆盖事件数据集402内的500个原始事件。因为节点A410覆盖的500个原始事件少于或等于阈值数量=1000,所以节点A 410可被指定为原始节点(没有层(3)中的子节点的叶节点且500个原始事件可被分配给节点A 410)。节点B 412的时间跨度30-60可覆盖事件数据集402内的195500个原始事件。因为节点B 412覆盖的195500个原始事件大于阈值数量=1000,所以节点B 412可被指定为概述节点(具有层(3)中的子节点的非叶节点)且从195500个原始事件中导出的1000个概述事件可被分配给节点B412。节点C 414的时间跨度60-90可覆盖事件数据集402内的1000个原始事件。因为节点C 414覆盖的1000个原始事件少于或等于阈值数量=1000,所以节点C 414可被指定为原始节点(没有层(3)中的子节点的叶节点且1000个原始事件可被分配给节点C 414)。节点D 416的时间跨度90-120可覆盖事件数据集402内的3000个原始事件。因为节点D 416覆盖的3000个原始事件大于阈值数量=1000,所以节点D 416可被指定为概述节点(具有层(3)中的子节点的非叶节点)且从3000个原始事件中导出的1000个概述事件可被分配给节点D 416。
可以理解,自适应树生成器404可指定自适应树结构406内的其他层,诸如层(3)、层(4)和/或诸如层(N)之类的其他层。例如,自适应树生成器404可将层(3)内的节点E 418、节点F 420、节点G 422和/或节点H 424指定为节点B 412(层(2)的概述节点)的子节点。自适应树生成器可将层(3)内的节点I 426、节点J 428、节点K 430和/或节点L 432指定为节点D 416(层(3)的概述节点)的子节点。以此方式,自适应树生成器404可生成具有一个或多个节点层的自适应树结构,其中一层可对应于可被用来填充时间线的一分辨率的事件数据(例如,层(1)可包括可被用来提供事件的缩小视图的事件数据的粗略粒度的事件数据;层(3)可包括可被用来提供事件的放大视图的事件数据的精细粒度的事件数据;以此类推)。
图5示出基于请求的时间跨度502确定自适应树结构506内的节点数据534的示例500。可以理解,自适应树结构506可对应于图4的自适应树结构406。节点提取器504可被配置成基于40-55秒的请求的时间跨度502来确定自适应树结构506内的节点数据534。在一个示例中,节点数据534可被用作使用对应于40-55秒的请求的时间跨度502的事件来填充时间线的事件数据536。
在一个示例中,节点提取器504可使用40-55秒的请求的时间跨度502来将自适应树结构506内的一个或两个节点确定为包括节点数据534。例如,节点提取器504可基于其中T=120秒(事件数据集的总时间)而CPNL=4(概述节点的子节点的预定数量)。即,当层(L)=2时满足{120/4^L}<15<={120/4^L-1},因为7.5<15<=30。在层2内,节点提取器504可确定40-55秒的请求的时间跨度502完全落在节点B的时间跨度30-60秒内。因此,节点提取器504可将节点B 512确定为包括节点数据534。因为节点B 512是包括概述事件的概述节点(例如,从事件数据集内由节点B的时间跨度30-60秒覆盖的195500个原始事件中导出的1000个概述事件),所以节点B 512的1000个概述事件可被存储在节点数据534中。以此方式,在基于40-55秒的请求的时间跨度502来填充时间线时,节点数据534可被用作包括来自节点B 512的事件的事件数据534。
图6示出基于请求的时间跨度602确定自适应树结构606内的节点数据634的示例600。可以理解,自适应树结构606可对应于图4的自适应树结构406。节点提取器604可被配置成基于35-40秒的请求的时间跨度602来确定自适应树结构606内的节点数据634。在一个示例中,节点数据634可被用作使用对应于35-40秒的请求的时间跨度602的事件来填充时间线的事件数据636。
在一个示例中,节点提取器604可使用35-40秒的请求的时间跨度602来将自适应树结构606内的一个或两个节点确定为包括节点数据634。例如,节点提取器604可基于其中T=120秒(事件数据集的总时间)而CPNL=4(概述节点的子节点的预定数量)。即,当层(L)=3时满足{120/4^L}<5<={120/4^L-1},因为1.875<5<=7.5。在层3内,节点提取器604可确定35-40秒的请求的时间跨度602完全落在两个相邻节点(节点E 618和节点F 620)内。具体地,35-40的请求的时间跨度602完全落在节点E 618的时间跨度30-37.5以及节点F 620的时间跨度37.5-45内。因此,节点提取器604可将节点E 618和节点F 620确定为包括节点数据634。因为节点E 618是包括原始事件的原始节点,所以原始事件可被聚集(或可以不被聚集)为可被存储在节点数据634中的概述事件。因为节点F 620是包括概述事件的概述节点(例如,从事件数据集内由节点E的时间跨度30-37.5秒覆盖的原始事件中导出的1000个概述事件),所以节点F 620的1000个概述事件可被存储在节点数据634中。以此方式,在基于35-40秒的请求的时间跨度602来填充时间线时,节点数据634可被用作包括(并非)从节点E 618的原始事件聚集的概述事件和来自节点F 620的概述事件的事件数据636。
图7示出基于请求的时间跨度702确定自适应树结构706内的节点数据734的示例700。可以理解,自适应树结构706可对应于图4的自适应树结构406。节点提取器704可被配置成基于58-62秒的请求的时间跨度702来确定自适应树结构706内的节点数据734。在一个示例中,节点数据734可被用作使用对应于58-62秒的请求的时间跨度702的事件来填充时间线的事件数据736。
在一个示例中,节点提取器704可使用58-62秒的请求的时间跨度702来将自适应树结构706内的一个或两个节点确定为包括节点数据734。例如,节点提取器704可基于其中T=120秒(事件数据集的总时间)而CPNL=4(概述节点的子节点的预定数量)。即,当层(L)=3时满足{120/4^L}<4<={120/4^L-1},因为1.875<4<=7.5。在层3中,节点提取器704可确定请求的时间跨度702的第一段58-60落在第一节点(节点H 724)内。然而,节点提取器704可确定请求的时间跨度702的第二段60-62不落在层3的各节点内(例如,第二段60-62可不落在节点E、节点F和节点G的各时间跨度内)。节点提取器704可确定第二段60-62完全落在层2(例如,层3之前的一层)的节点C 714内。因此,节点提取器704可将层3的节点H 724和层2的节点C 714确定为包括节点数据734。因为节点H 724是包括原始事件的原始节点,所以原始事件可被聚集(或可以不被聚集)为可被存储在节点数据734中的概述事件。因为节点C 714是包括原始事件的原始节点,所以原始事件可被聚集(或可以不被聚集)为可被存储在节点数据734中的概述事件。以此方式,在基于58-62秒的请求的时间跨度702来填充时间线时,节点数据734可被用作包括从(或者并非从)节点H 724的原始事件聚集的概述事件和从(或者并非从)节点C 714原始事件聚集的概述事件的事件数据736。
图8示出基于请求的时间跨度802确定自适应树结构806内的节点数据834的示例800。可以理解,自适应树结构806可对应于图4的自适应树结构406。节点提取器804可被配置成基于28-34秒的请求的时间跨度802来确定自适应树结构806内的节点数据834。在一个示例中,节点数据834可被用作使用对应于28-34秒的请求的时间跨度802的事件来填充时间线的事件数据836。
在一个示例中,节点提取器804可使用28-34秒的请求的时间跨度802来将自适应树结构806内的一个或两个节点确定为包括节点数据834。例如,节点提取器804可基于其中T=120秒(事件数据集的总时间)而CPNL=4(概述节点的子节点的预定数量)。即,当层(L)=3时满足{120/4^L}<6<={120/4^L-1},因为1.875<6<=7.5。在层3中,节点提取器804可确定请求的时间跨度802的第二段30-34落在第一节点(节点E 818)内。然而,节点提取器804可确定请求的时间跨度802的第一段28-30不落在层3的各节点内(例如,第一段28-30可不落在节点F、节点G和节点H的各时间跨度内)。节点提取器804可确定第一段28-30完全落在层2(例如,层3之前的一层)的节点A 810内。因此,节点提取器804可将层3的节点E 818和层2的节点A 810确定为包括节点数据834。因为节点E 818是包括原始事件的原始节点,所以原始事件可被聚集(或可以不被聚集)为可被存储在节点数据834中的概述事件。因为节点A 810是包括原始事件的原始节点,所以原始事件可被聚集(或可以不被聚集)为可被存储在节点数据834中的概述事件。以此方式,在基于28-34秒的请求的时间跨度802来填充时间线时,节点数据834可被用作包括从(或并非从)节点E818的原始事件聚集的概述事件和从(或并非从)节点A 810的原始事件聚集的概述事件的事件数据836。
图9示出基于请求的时间跨度902确定自适应树结构906内的节点数据934的示例900。可以理解,自适应树结构906可对应于图4的自适应树结构406。节点提取器904可被配置成基于70-75秒的请求的时间跨度902来确定自适应树结构906内的节点数据934。在一个示例中,节点数据934可被用作使用对应于70-75秒的请求的时间跨度902的事件来填充时间线的事件数据936。
在一个示例中,节点提取器904可使用70-75秒的请求的时间跨度902来将自适应树结构906内的一个或两个节点确定为包括节点数据934。例如,节点提取器904可基于其中T=120秒(事件数据集的总时间)而CPNL=4(概述节点的子节点的预定数量)。即,当层(L)=3时满足{120/4^L}<5<={120/4^L-1},因为1.875<5<=7.5。在层3中,节点提取器904可确定层3的节点中没有一个跨越70-75秒的请求的时间跨度902的至少一部分。节点提取器904可递减层(L)至2,并且可使用层(L)=2来确定节点数据934。在层2内,节点提取器904可确定70-75秒的请求的时间跨度902完全落在节点C的时间跨度60-90秒内。因此,节点提取器904可将节点C 914确定为包括节点数据934。因为节点C 914是包括原始事件的原始节点,所以原始事件可被聚集(或可以不被聚集)为可被存储在节点数据934中的概述事件。以此方式,在基于70-75秒的请求的时间跨度902来填充时间线时,节点数据934可被用作包括从(或并非从)节点C 914的原始事件聚集的概述事件的事件数据936。
再一实施例涉及包括被配置成实现此处所呈现的技术中的一种或多种的处理器可执行指令的计算机可读介质。可以用这些方式设计的一种示例性计算机可读介质在图8中示出,其中实现800包括其上编码有计算机可读数据814的计算机可读介质816(例如,CD-R、DVD-R、或硬盘驱动器的盘片)。该计算机可读数据814又包括被配置成根据此次阐述的原理中的一个或多个来操作的一组计算机指令812。在一个这样的实施例800中,处理器可执行计算机指令812可被配置成执行方法810,诸如例如,图1的示例性方法100中的至少某些和/或图2的示例性方法200中的至少某些。在另一个这样的实施例中,处理器可执行指令812可被配置成实现一种系统,诸如例如,图3的示例性系统300的至少某一些。本领域普通技术人员可以设计可被配置成根据此处描述的技术操作的许多这样的计算机可读介质。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。
如在本申请中所使用的,术语“组件”、“模块”、“系统”、“接口”等一般旨在表示计算机相关的实体,该实体可以是硬件、硬件和软件的组合、软件、或者执行中的软件。例如,组件可以是,但不限于,在处理器上运行的进程、处理器、对象、可执行码、执行的线程、程序和/或计算机。作为说明,运行在控制器上的应用程序和控制器都可以是组件。一个或多个组件可驻留在进程和/或执行的线程内,并且组件可位于一个计算机上和/或分布在两个或更多的计算机之间。
此外,所要求保护的主题可以使用产生控制计算机以实现所公开的主题的软件、固件、硬件或其任意组合的标准编程和/或工程技术而被实现为方法、装置或制品。如这里所使用的术语“制品”可以包含可以从任何计算机可读的设备、载体或介质进行访问的计算机程序。当然,本领域的技术人员将会认识到,在不背离所要求保护的主题的范围或精神的前提下可以对这一配置进行许多修改。
图9和以下讨论提供了对用于实现此处所阐述的原理中的一个或多个实施例的合适计算环境的简要、概括描述。图9的操作环境只是合适的操作环境的一个示例,并不旨在对该操作环境的使用范围或功能提出任何限制。示例计算设备包括但不限于个人计算机、服务器计算机、手持式或膝上型设备、移动设备(诸如移动电话、个人数字助理(PDA)、媒体播放器等等)、多处理器系统、消费电子产品、小型计算机、大型计算机、包括任何以上系统或设备的分布式计算环境等等。
尽管并非必需,但各实施例在由一个或多个计算设备执行的“计算机可读指令”的一般上下文中描述。计算机可读指令可通过计算机可读介质来分发(在以下讨论)。计算机可读指令可被实现为执行特定任务或实现特定抽象数据类型的程序模块,如函数、对象、应用程序编程接口(API)、数据结构等等。通常,计算机可读指令的功能可按需在各个环境中组合或分布。
图9示出了包括被配置成实现此处所提供的一个或多个实施例的计算设备912的系统910的示例。在一种配置中,计算设备912包括至少一个处理单元916和存储器918。取决于计算设备的确切配置和类型,存储器918可以是易失性的(如RAM)、非易失性的(如ROM、闪存等)或是两者的某种组合。该配置在图9中由虚线914来示出。
在其他实施例中,设备912可以包括附加特征和/或功能。例如,设备912还可以包括附加存储(例如,可移动和/或不可移动),其中包括但不限于磁存储、光存储等等。这样的附加存储在图9中由存储920示出。在一个实施例中,用于实现此处所提供的一个或多个实施例的计算机可读指令可以在存储920中。存储920还可以储存实现操作系统、应用程序等其他计算机可读指令。可以在存储器918中加载计算机可读指令以便由例如处理单元916来执行。
此处所使用的术语“计算机可读介质”包括计算机存储介质。计算机存储介质包括以用于存储诸如计算机可读指令或其他数据等信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。存储器918和存储920都是计算机存储介质的示例。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光存储、磁带盒、磁带、磁盘存储或其他磁存储设备、或者可用于存储所需信息并且可由设备912访问的任何其他介质。任何这样的计算机存储介质可以是设备912的一部分。
设备912还可包括允许该设备912与其他设备进行通信的通信连接926。通信连接926可包括但不限于,调制解调器、网络接口卡(NIC)、集成网络接口、射频发射机/接收机、红外线端口、USB连接、或用于将计算设备912连接到其他计算设备的其他接口。通信连接926可以包括有线连接或无线连接。通信连接926可以发送和/或接收通信媒体。
术语“计算机可读介质”可以包括通信介质。通信介质通常以诸如载波或其他传输机制等“已调制数据信号”来体现计算机可读指令或其他数据,并包括任何信息传送介质。术语“已调制数据信号”可以包括以对信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。
设备912可包括输入设备924,诸如键盘、鼠标、笔、语音输入设备、触摸输入设备、红外照相机、视频输入设备和/或任何其他输入设备。设备912中还可包括输出设备922,诸如一个或多个显示器、扬声器、打印机和/或任何其他输出设备。输入设备924和输出设备922可以通过有线连接、无线连接或其任何组合来连接到设备912。在一个实施例中,来自另一计算设备的输入设备或输出设备可用作计算设备912的输入设备924或输出设备922。
计算设备912的组件可通过多种互连来连接,例如总线。这样的互连可以包括诸如PCIExpress之类的外围部件互连(PCI)、通用串行总线(USB)、火线(IEEE1384)、光学总线结构等等。在另一实施例中,计算设备912的组件可以通过网络互连。例如,存储器918可由位于通过网络互连的不同物理位置的多个物理存储器单元组成。
本领域技术人员会认识到,用于存储计算机可读指令的存储设备可分布在网络上。例如,可以通过网络928访问的计算设备930可以储存实现此处所提供的一个或多个实施例的计算机可读指令。计算设备912可以访问计算设备930并下载部分或全部计算机可读指令来执行。或者,计算设备912可以按需下载计算机可读指令的片断,或者某些指令可以在计算设备912处执行而某些则在计算设备930处执行。
此处提供了各实施例的各种操作。在一个实施例中,所描述的操作中的一个或多个可以组成储存在一个或多个计算机可读介质上的计算机可读指令,这些指令如果被计算设备执行则使得计算设备执行所描述的操作。描述一些或全部操作的顺序不应被解释为暗示了这些操作必须要依赖于顺序。从本说明书获益的本领域技术人员应理解替换的排序。此外,应该理解并非所有的操作都必须存在于此处所提供的每一实施例中。
此外,在此使用词语“示例性”意指用作示例、实例或说明。在此被描述为“示例性”的任何方面或设计并不一定被解释为比其他方面或设计有利。相反,使用词语“示例性”旨在以具体的方式呈现各个概念。如本申请中所使用的,术语“或”意指包括性“或”而非互斥性“或”。即,除非另有指定或从上下文可以清楚,否则“X使用A或B”意指任何自然的包括性排列。即,如果X使用A;X使用B;或X使用A和B两者,则在任何以上情况下,都满足“X使用A或B”。另外,本申请中和所附权利要求书中所使用的冠词“一”和“一个”一般可被解释为是指“一个或多个”,除非另有指定或从上下文可以清楚指的是单数形式。
同样,虽然参考一个或多个实现示出并描述了本发明,但本领域的其他技术人员基于对本说明书和附图的阅读和理解可以想到各种等效替换和修改。本发明包括所有这些修改和替换并且只由所附权利要求书的范围来限定。具体来说,对于由上述组件(例如,元素、资源等等)执行的各种功能,除非另外指明,否则用于描述这些组件的术语旨在对应于执行所描述的执行此处在本发明的示例性实现中所示的功能的组件的指定功能(例如,功能上等效)的任何组件,即使这些组件在结构上不等效于所公开的结构。另外,尽管可相对于若干实现中的仅一个实现来公开本发明的一个特定特征,但是这一特征可以如对任何给定或特定应用所需且有利地与其它实现的一个或多个其它特征相组合。此外,就在说明书或权利要求书中使用术语“包含”、“具有”、“含有”和“带有”及其变体而言,这些术语旨在以与术语“包括”相似的方式为包含性的。
Claims (15)
1.一种用于基于包括多个原始事件的事件数据集的数据密度来生成自适应树结构的方法(100),包括:
指定(104)自适应树结构内的第一层,所述第一层包括被分配来自事件数据集的阈值数量的概述事件的根结点,所述根结点的时间跨度对应于所述事件数据集的总时间跨度,所述根结点被指定为概述节点;以及
指定(106)所述自适应树结构内的一个或多个附加层,所述指定包括:
对于所述自适应树结构的当前层(108):
确定(110)紧接着所述当前层的前一层是否包括一个或多个概述节点;以及
如果前一层包括一个或多个概述节点,则对于各个概述节点(112):
为概述节点生成(114)预定数量的子节点,子节点的时间跨度对应于所述概述节点的时间跨度的一小部分;以及
对于各个子节点(116):
如果子节点的时间跨度覆盖的事件数据集内的原始事件的数量少于或等于所述阈值数量,则将所述子节点指定为原始节点并将所述原始事件分配给所述原始节点,否则将所述子节点指定为概述节点并分配从所述子节点的时间跨度覆盖的事件数据集内的原始事件中导出的多个概述事件,所述概述事件的数量等于所述阈值数量。
2.如权利要求1所述的方法,其特征在于,包括:
接收请求的时间跨度;
计算层(L),所述层(L)对应于:其中T是事件数据集的总时间跨度而CPNL是每个概述节点的子节点的预定数量;以及
确定所述自适应树结构内对应于所述请求的时间跨度的节点数据,确定节点数据包括:
如果所述请求的时间跨度完全落在层(L)的一节点内,则将所述节点确定为包括所述节点数据;
如果所述请求的时间跨度完全落在层(L)的两个相邻节点内,则将所述两个相邻节点确定为包括所述节点数据;
如果所述请求的时间跨度的第一段完全落在层(L)的第一节点内且所述请求的时间跨度的第二段不落在层(L)的各节点内,则:
将所述第一节点确定为包括所述节点数据的第一部分;以及
将前一层内的第二节点确定为包括所述节点数据的第二部分,其中所述请求的时间跨度的第二段完全落在所述第二节点内;以及
如果层(L)的节点中没有一个跨越所述请求的时间跨度的至少一部分,则将所述层(L)递减一层至前一层并迭代确定节点数据。
3.如权利要求1所述的方法,其特征在于,分配多个概述事件包括:
聚集原始事件作为概述节点的概述事件。
4.如权利要求1所述的方法,其特征在于,至少一个概述事件指示两个或更多个原始事件。
5.如权利要求2所述的方法,其特征在于,所述节点数据从不超过两个节点中导出。
6.如权利要求2所述的方法,其特征在于,包括:
呈现包括由所述节点数据表示的事件数据的时间线。
7.如权利要求6所述的方法,其特征在于,包括:
接收对应于在时间线内的缩放动作的用户输入,所述用户输入包括与所述请求的时间跨度不同的第二请求的时间跨度;以及
确定所述自适应树结构内对应于所述第二请求的时间跨度的第二节点数据。
8.如权利要求6所述的方法,其特征在于,包括:
接收对应于在时间线内的滚动动作的用户输入,所述用户输入包括与所述请求的时间跨度不同的第二请求的时间跨度;以及
确定所述自适应树结构内对应于所述第二请求的时间跨度的第二节点数据。
9.如权利要求2所述的方法,其特征在于,包括:
如果所述节点数据对应于原始节点,则:
将原始节点的原始事件聚集成概述事件;以及
将所述概述事件存储在节点数据中。
10.如权利要求1所述的方法,其特征在于,概述节点的子节点的各个时间跨度包括相等长度,其中子节点的各个时间跨度的总和等于所述概述节点的时间跨度。
11.一种用于基于包括多个原始事件的事件数据集的密度来生成自适应树结构的系统(300),包括:
自适应树生成器(302),被配置成:
指定自适应树结构(308)内的第一层,所述第一层包括被分配来自事件数据集的阈值数量的概述事件的根结点,所述根结点的时间跨度对应于所述事件数据集的总时间跨度,所述根结点被指定为概述节点;以及
指定所述自适应树结构(308)内的一个或多个附加层,所述指定包括:
对于所述自适应树结构(308)的当前层:
确定紧接着所述当前层的前一层是否包括一个或多个概述节点;以及
如果前一层包括一个或多个概述节点,则对于各个概述节点:
为概述节点生成预定数量的子节点,子节点的时间跨度对应于所述概述节点的时间跨度的一小部分;以及
对于各个子节点:
如果子节点的时间跨度覆盖的事件数据集内的原始事件的数量少于或等于所述阈值数量,则将所述子节点指定为原始节点并将所述原始事件分配给所述原始节点,否则将所述子节点指定为概述节点并分配从所述子节点的时间跨度覆盖的事件数据集内的原始事件中导出的多个概述事件,所述概述事件的数量等于所述阈值数量。
12.如权利要求11所述的系统,其特征在于,包括:
节点提取器,被配置为:
接收请求的时间跨度;
确定所述自适应树结构内对应于所述请求的时间跨度的节点数据,确定节点数据包括:
如果所述请求的时间跨度完全落在层(L)的一节点内,则将所述节点确定为包括所述节点数据;
如果所述请求的时间跨度完全落在层(L)的两个相邻节点内,则将所述两个相邻节点确定为包括所述节点数据;
如果所述请求的时间跨度的第一段完全落在层(L)的第一节点内且所述请求的时间跨度的第二段不落在层(L)的各节点内,则:
将所述第一节点确定为包括所述节点数据的第一部分;以及
将前一层内的第二节点确定为包括所述节点数据的第二部分,其中所述请求的时间跨度的第二段完全落在所述第二节点内;以及
如果层(L)的节点中没有一个跨越所述请求的时间跨度的至少一部分,则将所述层(L)递减一层至前一层并迭代确定节点数据。
13.如权利要求12所述的系统,其特征在于,包括:
时间线呈现组件212,被配置成:
呈现由所述节点数据表示的事件数据的时间线。
14.如权利要求13所述的系统,其特征在于,所述时间线呈现组件被配置成:
用由第二节点数据表示的第二事件数据来更新时间线,所述第二节点数据由所述节点提取器响应于与时间线内的滚动动作和缩放动作中的至少一个相对应的用户输入来确定。
15.如权利要求12所述的系统,其特征在于,所述节点提取器被配置成:
如果所述节点数据对应于原始节点,则:
将原始节点的原始事件聚集成概述事件;以及
将所述概述事件存储在节点数据中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/956,127 | 2010-11-30 | ||
US12/956,127 US8595750B2 (en) | 2010-11-30 | 2010-11-30 | Adaptive tree structure for visualizing data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102446220A true CN102446220A (zh) | 2012-05-09 |
CN102446220B CN102446220B (zh) | 2014-11-12 |
Family
ID=46008716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110408039.3A Active CN102446220B (zh) | 2010-11-30 | 2011-11-29 | 用于可视化数据的自适应树结构 |
Country Status (2)
Country | Link |
---|---|
US (2) | US8595750B2 (zh) |
CN (1) | CN102446220B (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10754764B2 (en) | 2018-04-22 | 2020-08-25 | Sas Institute Inc. | Validation sets for machine learning algorithms |
US10386271B1 (en) * | 2018-04-22 | 2019-08-20 | Sas Institute Inc. | Interactive visualization tool for designed experiments |
US11125655B2 (en) | 2005-12-19 | 2021-09-21 | Sas Institute Inc. | Tool for optimal supersaturated designs |
US10535422B2 (en) | 2018-04-22 | 2020-01-14 | Sas Institute Inc. | Optimal screening designs |
JP4396758B2 (ja) * | 2007-10-31 | 2010-01-13 | カシオ計算機株式会社 | 循環小数表示装置および循環小数表示制御プログラム |
US8595750B2 (en) | 2010-11-30 | 2013-11-26 | Microsoft Corporation | Adaptive tree structure for visualizing data |
US9063797B2 (en) * | 2011-09-19 | 2015-06-23 | Varonis Systems, Inc. | Method and apparatus for events handling in a multi-platform system |
US9891907B2 (en) * | 2014-07-07 | 2018-02-13 | Harman Connected Services, Inc. | Device component status detection and illustration apparatuses, methods, and systems |
US10769104B2 (en) | 2014-12-12 | 2020-09-08 | Aveva Software, Llc | Block data storage system in an event historian |
US10579601B2 (en) | 2014-12-12 | 2020-03-03 | Aveva Software, Llc | Data dictionary system in an event historian |
US10325014B2 (en) | 2015-04-30 | 2019-06-18 | Workiva Inc. | System and method for convergent document collaboration |
US10255263B2 (en) * | 2015-05-18 | 2019-04-09 | Workiva Inc. | Data storage and retrieval system and method for storing cell coordinates in a computer memory |
US10453240B2 (en) * | 2015-11-05 | 2019-10-22 | Adobe Inc. | Method for displaying and animating sectioned content that retains fidelity across desktop and mobile devices |
US10103964B2 (en) * | 2016-06-17 | 2018-10-16 | At&T Intellectual Property I, L.P. | Managing large volumes of event data records |
US11194940B2 (en) | 2018-04-22 | 2021-12-07 | Sas Institute Inc. | Optimization under disallowed combinations |
US11561690B2 (en) | 2018-04-22 | 2023-01-24 | Jmp Statistical Discovery Llc | Interactive graphical user interface for customizable combinatorial test construction |
US11755825B2 (en) | 2019-09-12 | 2023-09-12 | Workiva Inc. | Method, system, and computing device for facilitating private drafting |
US11443108B2 (en) | 2020-08-17 | 2022-09-13 | Workiva Inc. | System and method for document management using branching |
US11100281B1 (en) | 2020-08-17 | 2021-08-24 | Workiva Inc. | System and method for maintaining links and revisions |
US11100277B1 (en) | 2021-02-15 | 2021-08-24 | Workiva Inc. | Systems, methods, and computer-readable media for flow-through formatting for links |
US11354362B1 (en) | 2021-05-06 | 2022-06-07 | Workiva Inc. | System and method for copying linked documents |
US11640495B1 (en) | 2021-10-15 | 2023-05-02 | Workiva Inc. | Systems and methods for translation comments flowback |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1991751A (zh) * | 2005-12-27 | 2007-07-04 | 国际商业机器公司 | 管理分层对象的集成多维视图的方法和系统 |
US20100017168A1 (en) * | 2006-07-03 | 2010-01-21 | Inchron Gmbh | Method of testing the real-time capability of a system |
CN101763422A (zh) * | 2010-01-12 | 2010-06-30 | 北京国信慧通科技有限责任公司 | 一种矢量数据的存储及空间索引方法 |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5828883A (en) | 1994-03-31 | 1998-10-27 | Lucent Technologies, Inc. | Call path refinement profiles |
US6769126B1 (en) | 1996-12-10 | 2004-07-27 | International Business Machines Corporation | Apparatus and method for demand load analysis |
US6651243B1 (en) | 1997-12-12 | 2003-11-18 | International Business Machines Corporation | Method and system for periodic trace sampling for real-time generation of segments of call stack trees |
US6714936B1 (en) | 1999-05-25 | 2004-03-30 | Nevin, Iii Rocky Harry W. | Method and apparatus for displaying data stored in linked nodes |
US6467052B1 (en) * | 1999-06-03 | 2002-10-15 | Microsoft Corporation | Method and apparatus for analyzing performance of data processing system |
US6759567B2 (en) * | 2001-06-27 | 2004-07-06 | Kimberly-Clark Worldwide, Inc. | Pulp and synthetic fiber absorbent composites for personal care products |
US7194477B1 (en) * | 2001-06-29 | 2007-03-20 | Revenue Science, Inc. | Optimized a priori techniques |
US7046247B2 (en) | 2002-05-15 | 2006-05-16 | Hewlett-Packard Development Company, L.P. | Method for visualizing graphical data sets having a non-uniform graphical density for display |
US7140008B2 (en) | 2002-11-25 | 2006-11-21 | Microsoft Corporation | Dynamic temporal optimization framework |
WO2004070033A1 (en) | 2003-02-10 | 2004-08-19 | Genesense Technologies Inc. | Antisense oligonucleotides directed to ribonucleotide reductase r2 and uses thereof in the treatment of cancer |
US20040168115A1 (en) | 2003-02-21 | 2004-08-26 | Bauernschmidt Bill G. | Method and system for visualizing data from multiple, cached data sources with user defined treemap reports |
US7386686B2 (en) | 2003-03-28 | 2008-06-10 | Intel Corporation | Inlining with stack trace cache-based dynamic profiling |
US7409676B2 (en) | 2003-10-20 | 2008-08-05 | International Business Machines Corporation | Systems, methods and computer programs for determining dependencies between logical components in a data processing system or network |
US7519961B2 (en) | 2004-02-12 | 2009-04-14 | International Business Machines Corporation | Method and apparatus for averaging out variations in run-to-run path data of a computer program |
US7373473B2 (en) | 2004-03-10 | 2008-05-13 | Leica Geosystems Hds Llc | System and method for efficient storage and manipulation of extremely large amounts of scan data |
US20050223080A1 (en) | 2004-04-05 | 2005-10-06 | Microsoft Corporation | Updatable user experience |
US20060069682A1 (en) | 2004-09-16 | 2006-03-30 | Microsoft Corporation | Profiler tool for database servers |
EP1717755B1 (en) | 2005-03-08 | 2011-02-09 | Oculus Info Inc. | System and method for large scale information analysis using data visualization techniques |
US20070100878A1 (en) | 2005-10-28 | 2007-05-03 | Nfr Security, Inc. | Group sorted consolidation of data in an intrusion management system |
FR2896591B1 (fr) * | 2006-01-24 | 2008-05-23 | Schneider Electric Ind Sas | Dispositif de mesure de courant continu a forte dynamique de mesure, declencheur electronique comportant un tel dispositif de mesure et dispositif de coupure ayant un tel declencheur |
US8560946B2 (en) | 2006-03-22 | 2013-10-15 | Vistracks, Inc. | Timeline visualizations linked with other visualizations of data in a thin client |
US8286139B2 (en) | 2008-03-19 | 2012-10-09 | International Businesss Machines Corporation | Call stack sampling for threads having latencies exceeding a threshold |
US8443011B2 (en) | 2008-04-30 | 2013-05-14 | Netapp, Inc. | Graphical storage system visualization, timeline based event visualization, and storage system configuration visualization |
CN101582048A (zh) | 2008-05-16 | 2009-11-18 | 国际商业机器公司 | 一种用于缺陷管理的方法和系统 |
US8280683B2 (en) | 2008-07-17 | 2012-10-02 | International Business Machines Corporation | Probabilistic framework for the highly efficient correlation of call chains with hardware events |
US8312037B1 (en) * | 2008-08-28 | 2012-11-13 | Amazon Technologies, Inc. | Dynamic tree determination for data processing |
WO2010031945A1 (fr) | 2008-09-16 | 2010-03-25 | France Telecom | Technique de protection dans un réseau de communication en mode connecte de noeuds feuilles d'un arbre point a multipoint |
US8527936B2 (en) | 2008-12-31 | 2013-09-03 | Cadence Design Systems, Inc. | Method and system for implementing graphical analysis of hierarchical coverage information using treemaps |
JP5218109B2 (ja) | 2009-01-30 | 2013-06-26 | 富士通株式会社 | 可視化データ処理装置、可視化データ処理装置の制御方法、及び可視化データ処理装置の制御プログラム |
US8886689B2 (en) | 2009-02-17 | 2014-11-11 | Trane U.S. Inc. | Efficient storage of data allowing for multiple level granularity retrieval |
CN101483610B (zh) | 2009-02-26 | 2011-07-20 | 迈普通信技术股份有限公司 | 链路状态路由协议的路由更新方法 |
US8510721B2 (en) | 2010-08-25 | 2013-08-13 | Microsoft Corporation | Dynamic calculation of sample profile reports |
US8595750B2 (en) | 2010-11-30 | 2013-11-26 | Microsoft Corporation | Adaptive tree structure for visualizing data |
US8941657B2 (en) | 2011-05-23 | 2015-01-27 | Microsoft Technology Licensing, Llc | Calculating zoom level timeline data |
-
2010
- 2010-11-30 US US12/956,127 patent/US8595750B2/en not_active Expired - Fee Related
-
2011
- 2011-11-29 CN CN201110408039.3A patent/CN102446220B/zh active Active
-
2013
- 2013-11-25 US US14/089,384 patent/US10346222B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1991751A (zh) * | 2005-12-27 | 2007-07-04 | 国际商业机器公司 | 管理分层对象的集成多维视图的方法和系统 |
US20100017168A1 (en) * | 2006-07-03 | 2010-01-21 | Inchron Gmbh | Method of testing the real-time capability of a system |
CN101763422A (zh) * | 2010-01-12 | 2010-06-30 | 北京国信慧通科技有限责任公司 | 一种矢量数据的存储及空间索引方法 |
Also Published As
Publication number | Publication date |
---|---|
US10346222B2 (en) | 2019-07-09 |
US20140089945A1 (en) | 2014-03-27 |
US20120137308A1 (en) | 2012-05-31 |
CN102446220B (zh) | 2014-11-12 |
US8595750B2 (en) | 2013-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102446220B (zh) | 用于可视化数据的自适应树结构 | |
RU2586866C2 (ru) | Дифференцирование набора признаков участником арендуемой среды и пользователем | |
CN102918491B (zh) | 在用户界面内再现不兼容内容 | |
CN102487456A (zh) | 用于提供网络视频访问热度的方法和装置 | |
CN105023165A (zh) | 社交网络平台中投放任务的控制方法、装置及系统 | |
US10362359B2 (en) | Video player framework for a media distribution and management platform | |
CN102982152A (zh) | 查询结果的时间可视化 | |
CN103686237A (zh) | 推荐视频资源的方法及系统 | |
CN102007484A (zh) | 提供/接收用户接口的方法及装置 | |
CN102982084A (zh) | 多维数据报告 | |
CN104657372A (zh) | 页面操作数据处理方法及装置 | |
EA003744B1 (ru) | Расширяемая распределенная интеграционная система приложения для предприятия | |
CN104375742A (zh) | 一种能在激活时呈现动态信息的便携式电子装置,系统和方法 | |
CN109190025B (zh) | 信息监控方法、装置、系统和计算机可读存储介质 | |
US20110213654A1 (en) | Optimizing placement of advertisements across multiple platforms | |
CN111352903A (zh) | 日志管理平台、日志管理方法、介质以及电子设备 | |
CN108668147A (zh) | 一种优化直播应用的方法以及移动终端 | |
CN104247378A (zh) | 提供基于规则的内容分析以管理web扩展的激活 | |
CN105512910A (zh) | 一种目标用户筛选方法和装置 | |
CN115039411A (zh) | 用于聚合直播流的方法和系统 | |
CN103309914A (zh) | 信息处理设备、信息处理方法和程序 | |
US8839208B2 (en) | Rating interestingness of profiling data subsets | |
JP2012141683A (ja) | 広告情報提供装置 | |
JP2007249873A (ja) | 分析モデル作成方法、分析モデル作成プログラムおよび分析モデル作成装置 | |
CN1609790A (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 | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150429 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20150429 Address after: Washington State Patentee after: Micro soft technique license Co., Ltd Address before: Washington State Patentee before: Microsoft Corp. |