数据流探索的制作方法_4

文档序号:9932628阅读:来源:国知局
的可视化。该部分可被指定为 在日期d之前的最近的n个事务,其中n和d都是由数据流探索客户端(例如104)处的用户交 互式地指定的。d的默认值可W是"现在",而n的默认值是"无限",从而不提供可视性限制。 在一些实施例中,n或d的值或两者可W由数据流可视化模块502基于数据流可视化模块502 所生成的可视化(例如,Sank巧示图)的响应度随着数据流探索客户端104的用户与该可视 化的交互而自动调整;响应度可取决于系统106、客户端104、W及网络110的负荷。
[0115] 为了进一步加快可视化的生成,数据流可视化模块502可在生成可视化时利用针 对数据流数据存储206执行的查询的高速缓存。数据流可视化模块502高速缓存数据流探索 系统(例如200)执行的数据库查询的结果,尤其是在可视探索的上下文内。该高速缓存可在 所有的可视化、制表、W及标记之间共享。另外,每一个查询的正则形式可被用作为高速缓 存键。例如,S化查询"沈LECT X FROM y W肥RE Z = 3AND W = r 和"沈LECT X FROM y W肥RE w = 4AND Z =沪可被转换成正则形式的"S化ECT X FROM y W肥RE z = 3AND w = r,该正则 形式随后被用作为针对相关联的查询结果的高速缓存键。运可避免使用高速缓存存储来不 必要地保留语义上相同的数据库查询所生成的相同、重复的结果。运还可减少存储系统资 源使用,因为不必要的计算可被避免。
[0116] 取决于实施例,对数据流可视化模块502(或者可能是数据流探索系统200的其它 组件)生成的可视化的访问可要求用户认证(例如,通过LDAP或活动目录)或用户凭证。本文 稍后还讨论了 Sankey示图的可视化有关的更多内容。
[0117] 数据流制表模块504可被配置成生成、提供、或W其他方式促进与数据流有关的信 息的表。在一些实施例中,表可W用数据流可视化模块502所提供的可视化(例如,Sank巧示 图)并且与之同步地呈现。相应地,对于数据流制表模块504所提供的表所执行的调整(例 如,选择)可导致在数据流可视化模块502所提供的可视化上执行的对应调整。
[0118] 数据流制表模块504所提供的表可包括数据库用户、数据库表、W及正则查询的电 子表格状视图,W及数据库数据流的相关联的度量和统计。根据一些实施例,存储在存储系 统中的信息的子集可在任意时间被显示。运一子集可由探索客户端104的用户经由出现在 表格上的过滤器来控制。过滤器可表示包括或排除一个或多个实体或标记。分页可W是另 一种类型的过滤器,其每一页只显示几个表格行。探索客户端104的用户还可按照任意表格 列来对显示的信息排序。取决于实施例,所提供的表可采用一种或若干种形式,包括:其中 各个行对应于任何一种实体类型(例如,数据库用户、正则查询、数据库表);W及其中概括 了其它实体。例如,W数据库表为中屯、的形式可具有示出进行过针对数据库表的查询的、被 描绘在每一行上的数据库用户的总数的列。探索客户端(例如104)的用户可随后点击该数 字(比如与数据库表"tr相关联的行)来切换到W数据库用户为中屯、的视图,该视图经过数 据库表"tr的过滤。或者,探索客户端(例如104)的用户可点击标记(标记被显示在每一个 实体旁边、其所在行内),该标记因而被添加到表过滤器列表。本文稍后还讨论了与数据流 的制表有关的更多内容。
[0119] 数据流标记模块506可被配置成促进为数据流的元素标记一个标记。如本文中所 讨论的,标记可W是基于文本的标签或与数据流(作为一个整体)或同数据流相关联的元素 相关联的关键词。可被标记的数据流的元素可包括例如与数据流相关联的一个或多个实体 (例如,数据源、数据主题、或数据客户端)、或者与数据流相关联的一个或多个注释。一旦一 个或多个元素与标记相关联,那些元素可被分组、定位、排序、过滤、或W其它方式基于和/ 或根据该标记来处理。
[0120] 标记可被组织在有向非循环图(DAG)中,其中每一个标记具有父标记并且可能具 有子标记。由此,在一些实施例中,标记可表示组织结构,诸如跨部口的用户划分。例如,标 记"公哥'可具有子标记"工程'和"法务',而"法务'可具有子标记"专和'和"税务'。标记还 可表示地理(例如,第一级是洲、下一级是国家、依此类推)、工作量(例如,具有一个最顶层 "工作流"标记W及诸如"待决"、"已批准"、和/或"已审核"之类的多个子标记的浅的分层结 构)、或者对于应用于查询的标记的软件应用和/或其发出该查询的模块(例如,"记账"、"电 子邮件"、"分析器"、"可视化器",其中后者具有子标记"饼图"和"柱状图")。
[0121] 对于一些实施例,两个或更多个不同标记可具有相同的文本标签。例如,"Bob的团 队"可W是标记分层结构中的两个不同标记的标签,一个是在Robed Jones的团队的"税 务"下,另一个在Robed Smith的团队的"专利"下。可由数据流标记模块506施加的对于标 记标签的唯一限制可W是共享一个父标记的两个标记不能具有相同标签。
[0122] 当经由用户界面呈现时,标记可被呈现使得用户可分辨具有相同文本标签的标 记。例如,每一个标记经由其自身的标签呈现,但是当用户将光标、鼠标光标等移动(例如, 悬停巧Ij给定标签上时,示出分层结构的图形气球可被呈现,其中给定标签在分层结构内被 突出显示。在一些实施例中,脚本可使用标记的标签和其父标记(如果存在的话)的那些标 签的组合来访问或指代标记(例如,使用"公司:法务:专利:Bob的团队"来指代标记"Bob的 团队",标记"Bob的团队"是标记"专利"的子标记,标记"专利"是标记"法务"的子标记,而标 记"法务"是标记"公司"的子标记)。
[0123] -个给定实体可W与零个或更多个标记相关联。例如,除了部口分层结构,探索客 户端104的用户(例如,HR经理)可创建另一分层结构,其中标记表示雇员表现,诸如"前 10%-奖金"、"中间80%-稳定"、"后10%-重新分配"。例如,用户Sue可W既被标记为 巧Ob的团队"又被标记为"前10 % -奖金"。另外,在标记被组织为DAG的情况下,标记可具有 不止一个父标记。另外,在标记被组织为DAG的情况下,标记可具有不止一个父标记。例如, 标记"前10%-奖金"可具有两个父标记:"最近排名"和"201:3排名",其中前一个标记仅包 含最新近的排名(因此,其子标记组在每次表现评定周期后改变),而后一个标记保留过去 排名的历史纪录(即,其子标记组不改变)。因此,给定的标记层次结构不必非得表示为严格 的树。
[0124] 在各实施例中,标记可与访问许可(例如,访问控制列表)相关联。在一些实施例 中,仅某些授权用户可创建私人标记的子标记。在一些实施例中,创建标记的用户的身份可 被跟踪、存储、并且稍后被显示或使用在进一步的计算中,诸如触发执行。
[0125] 如本文中更详细描述的,通过数据流标记模块506进行的标记创建或关联可设及 由用户作出的明确用户界面动作,或者经由基于脚本的分析(其可评估数据流分析结果)自 动进行。例如,用户创建的脚本可执行并因此分析已知数据库表、正则查询、和数据库数据 流的数据库用户,并将它们标记如下:将执行了最耗时查询的数据库用户标记为那样;将产 生最繁重的流(例如,最高的字节数)的正则查询或数据库表标记为那样。
[0126] 经由基于脚本的分析创建的标记可与经由其它手段创建的任何标记没有不同。所 有标记的统一对待部分暗示了在标记被组织为DAG的情况下经由基于脚本的分析创建的标 记可经由收养(收养是将附加的父标记分配给标记)而保留。例如,考虑创建标记"使用脚 本"、是"使用脚本"的子标记的标记"执行"、W及是"执行"的子标记的"前10 %"、"中间 80%"、W及"后10%"的脚本。该脚本随后将运=个(叶)标记中的仅仅一个应用于数据库数 据流中的每一个数据库表。同一脚本第二次运行时,标记"使用脚本"可脱离与其"执行"子 标记的关系(意味着标记"使用脚本"将"执行"从其子标记组中移除),运可导致该标记被移 除(因为它不具有认领其的父标记),其=个子标记被移除(因为它们不具有留下的父标 记),并且使用运些被取消标记的子标记来标记的所有表被移除。随后,该脚本可创建相同 名称的新的标记:标记"使用脚本";子标记"执行";W及子标记"前10%"、"中间80%"、和 "后10%"。在用户希望保留原始的"执行"标记的情况下,用户可在脚本的第二遍运行之前 让"使用脚本的历史"标记收养该原始的"执行"标记。通过运样做,"执行"标记可不再第二 遍运行期间被移除,因为在"使用脚本"标记与其脱离关系之后,"执行"标记仍将具有一个 认领它的父标记。在用户希望保留原始的"执行"标记的情况下,用户可在脚本的第二遍运 行之前让"使用脚本的历史"标记收养该原始的"执行"标记。运样做,"执行"标记可不再第 二遍运行期间被移除,因为在"使用脚本'标记与其脱离关系之后,"执行"标记仍将具有一 个认领它的父标记。
[0127] 给定标记可与父标记解除关联(例如,"脱离关系")。如果给定标记W不可访问告 终(即,它不具有父标记),则它被自动从数据流探索系统(例如200)中移除。对于一些实施 例,给定标记的移除可导致其子标记中不具有其它父标记的标记也被移除,因为它们也可 变为不可访问。运同样可发生于运些子标记的任何后代标记。与同被移除的标记相关联(例 如被标记的)的数据流探索系统(例如200)中的任何实体随后与该标记解除关联。为了保护 对标记的无意的移除,数据流探索系统(例如200)可控制用户对于移除标记或对标记解除 相关(例如,与实体脱离关系)的许可并且可在标记被移除或解除关联之前进一步要求多个 级别的确认(例如,用于捕捉被脱离关系的标记的"回收站"或"垃圾"桶)。
[0128] 数据流注释模块508可被配置成对数据流的一个或多个元素进行注释,其中元素 可包括数据流的任何实体或数据流本身。对于一些实施例,注释可被用来捕捉可被称为关 于数据流的"(人类)学院知识"的内容。注释可W是可通过数据流探索系统(例如200)访问 或编辑的笔记或通用文档。数据流的每个元素(例如,实体)可与零个或更多个注释相关联。 另外,每个注释可包含到数据流探索系统(例如,200)并指向描述该元素(例如实体)的页面 的反向链接(例如,URL)。
[0129] 例如,考虑其中表"tr与可包含文本"ti存储客户端的地址"的注释相关联的数据 库数据流。注释还可包含可点击的链接,如果被选择,该链接可将数据流探索客户端(例如 104)处的用户引导到一个页面,在该页面中,所显示的信息被过滤W仅包括与表"tr有关 的数据。
[0130] 注释可使用另一子系统来存储或实现,诸如第=方Wiki或协作式文档系统。另外, 注释可被存储或实现在驻于其它子系统上的其它文档旁边。子系统的集成可促进数据流探 索系统(例如200)和子系统之间的无缝过渡。对于各实施例,命令行接口(CLI)可被用于管 理注释。
[0131] 用户可在注释内提及其它用户,被提及的用户接收到他们已在注释中被提及的通 知(例如,经由电子邮件、文本消息、或即时消息)。用户还可选择在他们选择的某些注释被 修改时接收通知。
[0132] 在某些实施例中,文本串可被用作为基于与数据流的元素相关联的注释的内容来 过滤可视化中(例如,在Sankey示图中)描绘的数据流的可见性时的关键词。对于一些实施 例,注释可促进访问数据流探索系统(例如200)的两个或更多个用户之间的协作。
[0133] 命令行接口(CLI)模块510可被配置成提供命令行接口(CLI),该命令行接口(CLI) 可促进执行与数据流有关的操作的一组命令的执行。例如,用户可使用化I命令"Cli add化g Top:化iId"来创建标记"ChiId"作为叮op"标记的子标记。在另一示例中,用户可使 用化I命令"cli for i in range(10)cliAddTag("Top:Qiild"+str(i))"来创建叮op"标记 的10个子标记,命名为"化ildO"到"化ild9"。对于一些实施例,命令行接口(CLI)可实现创 建脚本并且随后执行脚本,该脚本导致数据流探索系统(例如200)执行数据流操作。例如, 一系列化I命令可被存储在脚本文件中并随后根据需要由化I执行。对于一些实施例,化I可 经由终端屏幕来使用。在一些实施例中,CLI可经由基于web的界面来使用,该基于web的界 面提供文本框,可在其中键入和执行化I命令。化I可支持与标准编程语言(诸如Python、 化rl等)的编程语言构造穿插在一起的混合的定制化I命令。在一些实施例中,CLI模块510 可被用于执行与数据流探索系统(例如200)有关的非分析操作,并且可作为分析操作的补 充或替代来执行运类操作。
[0134] 对于一些实施例,CLI模块510可使用现有解释器(诸如Jython,其是实现为化va包 的Python解释器)来实现化I。通过运一将化va解释器用作Python解释器下的基础,Jython 响应于通过化I接收到的命令执行的操作可被约束于化va沙盒,从而约束Jython对代表化I 模块510执行该化va解释器的计算设备的访问。代表化I模块510执行化va解释器的计算设 备可W与访问化K例如,客户端/服务器模型中)的计算设备(例如,客户端设备)不相同。在 一些实施例中,CLI模块510可使用Jruby(其是一种W化va实现的Ruby解释器)来实现化I。 在各实施例中,化I模块510可使得任意壳命令的执行(例如,类似于PE化中的systemO的方 式)能够促进基于脚本的与流分析模块500的交互。
[0135] 取决于实施例,CLI模块510可促进脚本执行,使得如果脚本中的任意命令无法完 成,则脚本中的所有命令被视为就像他们没有被执行过。运可通过让脚本执行发生在嵌入 在数据流探索系统(例如200)内的数据库的数据库事务内、并且让该事务在当脚本没有成 功完成的情况下回滚来实现。
[0136] 在一些实施例中,CLI模块510可提供或W其它方式实现交互式控制台,通过该交 互式控制台,用户可输入和执行与数据流探索系统(例如200)有关的命令(例如,在Jython 或Jruby中)。在运样做时,交互式控制台可允许用户交互式地执行命令、测量运些命令的产 出、W及决定他们想要(例如,在脚本中)调用哪些命令。在各实施例中,CLI模块510还可提 供或W其他方式实现集成开发环境(IDE),通过该集成开发环境,与数据流探索系统(例如 200)-起工作的脚本可被创作或编辑。被创作、上传或W其他方式被保存到数据流探索系 统(例如200)的脚本可被合并到脚本库中,脚本库可在将来的会话期间为数据流探索系统 的用户提供对于那些脚本的访问,并且可允许用户将脚本分享给数据流探索系统的其它用 户(例如,用于脚本的协作使用或开发)。
[0137] 在一些实施例中,一个或多个web服务被实现W提供由客户端对本文中描述的各 个特征的远程访问。例如,客户端可使用HTTP协议和WJSON格式交换的消息来与提供实现 对本文中描述的各特征的访问的一个或多个web服务的服务器通信。在另一示例中,执行生 成基于HTTP的消息(例如,类似于curl)的脚本(例如,从命令行中执行或作为无人值守的批 处理执行的一部分)的客户端可远程地访问(例如,通过网络连接)通过实现对本文中描述 的各特征的访问的一个或多个web服务所提供的特征。作为进一步示例,客户端可通过将脚 本(例如,JSON格式并且经由HTTP协议)提交给实现本文中描述的各特征的一个或多个web 服务来远程地执行脚本。
[0138] 图6示出了根据本发明的一个实施例的用于分析数据流的示例过程600。在一些实 施例中,数据流分析过程600可整体或部分地由本文中描述的数据流探索系统200执行。对 于一些实施例,用于分析数据流的过程可执行比图6中所示的更多或更少的操作,并且可按 与所示出的顺序不同的顺序来执行图6中示出的操作。
[0139] 在框602,捕捉数据源和数据客户端之间的数据流。在各实施例中,数据流的捕捉 可由数据流捕捉组件(例如数据流捕捉模块400)来促成,该数据流捕捉组件通过将数据从 数据源中抽取、接收从数据源推送的数据、或用作数据源和数据客户端之间的数据流的代 理来捕捉数据流。其它实施例可使用附加或替代的方法来检索或捕捉数据源和数据客户端 之间的数据流中的数据。
[0140] 在框604,预分析数据流中的数据。对于一些实施例,被预分析的数据可来自在框 602捕捉的数据流。对数据的预分析可包括提取、推导、或W其它方式从数据中生成与数据 流有关的信息。例如,在捕捉的数据流设及给定电子邮件服务器所处理的电子邮件的情况 下,对数据流中捕捉的电子邮件数据的预处理可得到标识电子邮件发件人、标识电子邮件 收件人、标识相关电子邮件(例如,电子邮件线程)、并且提供关于电子邮件的各种度量(诸 如它们的数据大小(例如,字节数)、附件的数量、附件的类型、W及发送/接收时间戳)的数 据流信息。通过对数据的预分析而生成的信息可包括例如(在602捕捉的)数据流中设及的 一个或多个实体(例如,数据源、数据主题、或数据客户端)、与数据流相关联的一个或多个 标记(自动或手动标记的)、或者与数据流相关联的一
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1