书签 分享 收藏 举报 版权申诉 / 18

使用公共描述的跨平台数据可视化.pdf

  • 上传人:r7
  • 文档编号:19173
  • 上传时间:2018-01-12
  • 格式:PDF
  • 页数:18
  • 大小:1.25MB
  • 摘要
    申请专利号:

    CN201380055261.7

    申请日:

    2013.11.01

    公开号:

    CN104756072A

    公开日:

    2015.07.01

    当前法律状态:

    实审

    有效性:

    审中

    法律详情:

    专利申请权的转移IPC(主分类):G06F 9/44登记生效日:20171020变更事项:申请人变更前权利人:微软公司变更后权利人:微软技术许可有限责任公司变更事项:地址变更前权利人:美国华盛顿州变更后权利人:美国华盛顿州|||实质审查的生效IPC(主分类):G06F 9/44申请日:20131101|||公开

    IPC分类号:

    G06F9/44; G06T11/20

    主分类号:

    G06F9/44

    申请人:

    微软公司

    发明人:

    F·O·温特尼茨; A·乌尼坦; D·P·希尔; J·A·戴维斯

    地址:

    美国华盛顿州

    优先权:

    13/668,206 2012.11.02 US

    专利代理机构:

    上海专利商标事务所有限公司31100

    代理人:

    杨丽

    PDF完整版下载: PDF下载
    内容摘要

    本发明延及用于使用公共描述的跨平台数据可视化的各方法、系统和计算机程序产品。本发明的各实施例提供了用于简化软件开发和增强代码可靠性的机制。用户界面连同交互式和动态特性一起可以独立于任何专用设备平台来描述(程序性地和/或声明性地)。用户界面质量可以使用具有附连行为的通用场景图形结构来描述。通用场景图形接着可被用来使用平台专用(例如,渲染、姿势识别等)子系统在任何数目的不同计算平台上驱动该用户界面。平台专用子系统可基于由平台专用子系统所使用的技术而改变。例如,渲染子系统可基于用于渲染图形数据的技术而改变,该技术诸如举例来说OpenGL、XAML、DirectX、Quartz等。

    权利要求书

    1.  一种在计算机系统处输出数据可视化的方法,所述计算机系统包括用户界面管理系统,所述用户界面管理系统包括场景图形处理层和平台专用用户界面子系统,所述场景图形处理层知晓对所述平台专用用户界面子系统可用的数据可视化处理技术,所述方法包括:
    所述场景图形处理层访问来自在多个不同技术平台上执行的公共代码的通用场景图形,所述通用场景图形表示用户界面,所述通用场景图形定义独立于包括所述平台专用用户界面子系统在内的多个不同的平台专用用户界面子系统中的任一个的数据可视化,所述通用场景图形包含描述所述数据可视化的特性的场景图形元数据;
    所述场景图形处理层将所述通用场景图形中的至少一些部分的结构和数据解读成由平台专用渲染子系统处理的专用操作,所述场景图形处理层基于平台提供的渲染子系统的特性来作出如何处理个体场景图形节点或场景图形节点群的决定;
    所述场景图形处理层将所述专用操作发送给所述平台专用渲染子系统以供处理;以及
    所述平台专用渲染子系统通过处理所述专用操作来输出所述数据可视化。

    2.
      如权利要求1所述的方法,其特征在于,所述平台专用渲染子系统是平台专用通信子系统,所述平台专用通信子系统经由网络通信连接到平台专用渲染子系统。

    3.
      如权利要求1所述的方法,其特征在于,访问通用场景图形包括访问包括指定类型的节点的通用场景图形;并且所述方法进一步包括:
    所述场景图形处理层在生成所述专用操作之前基于所述指定类型的节点被包括在所述通用场景图形中来推断所述场景图形元数据。

    4.
      如权利要求1所述的方法,其特征在于,访问通用场景图形包括访问包括指定数目的节点的通用场景图形;并且所述方法进一步包括:
    所述场景图形处理层在生成所述专用操作之前基于所述指定数目的节点来推 断所述场景图形元数据。

    5.
      如权利要求1所述的方法,其特征在于,将所述通用场景图形中的至少一些部分的结构和数据解读成专用操作包括将所述通用场景图形中的至少一些部分的结构和数据解读成用于使用保留模式来渲染数据可视化的专用操作。

    6.
      如权利要求1所述的方法,其特征在于,将所述通用场景图形中的至少一些部分的结构和数据解读成专用操作包括将所述通用场景图形中的至少一些部分的结构和数据解读成用于使用即刻模式来渲染数据可视化的专用操作。

    7.
      一种在计算机系统处处理来自数据可视化的输入姿势的方法,所述计算机系统包括用户界面管理系统,所述用户界面管理系统包括场景图形处理层和平台专用用户界面子系统,所述场景图形处理层知晓对所述平台专用用户界面子系统可用的姿势识别处理技术,所述方法包括:
    所述场景图形处理层访问来自在多个不同技术平台上执行的公共代码的通用场景图形,所述通用场景图形表示用户界面,所述通用场景图形定义独立于包括所述平台专用用户界面子系统在内的多个不同的平台专用用户界面子系统中的任一个的输入姿势处理的行为,所述通用场景图形包含描述所述行为的特性的场景图形元数据;
    所述场景图形处理层接收来自所述平台专用用户界面子系统的输入姿势数据,所述输入姿势数据针对通过利用对所述平台专用用户界面子系统可用的姿势识别技术来识别的输入姿势;
    所述场景图形处理层基于所利用的姿势识别技术并且根据所述场景图形元数据来调整所述输入姿势数据以供与所述通用场景图形的一致性;以及
    所述场景图形处理层将经调整的输入姿势数据路由到所述通用场景图形中的恰适行为。

    8.
      如权利要求7所述的方法,其特征在于,所述平台专用用户界面子系统是平台专用用户输入子系统。

    9.
      如权利要求8所述的方法,其特征在于,接收输入姿势数据包括接收针对以下各项之一的输入姿势数据:经识别的鼠标输入姿势、经识别的键盘输入姿势、经识别的触摸输入姿势、经识别的语音输入姿势,或经识别的视频输入姿势。

    10.
      一种计算机系统,所述计算机系统包括:
    一个或多个处理器;
    系统存储器;
    专用技术平台的一个或多个组件;
    其上存储有表示场景图形处理层的计算机可执行指令的一个或多个计算机存储设备,所述场景图形处理层知晓对所述专用技术平台可用的数据可视化处理技术,所述场景图形处理层知晓对所述专用技术平台可用的姿势识别处理技术,所述场景图形处理层被配置成:
    访问来自在多个不同技术平台上执行的公共代码的通用场景图形,所述通用场景图形表示用户界面,所述通用场景图形:
    定义独立于包括所指定的技术平台在内的多个不同技术平台中的任一个的一个或多个数据可视化;
    定义独立于包括所指定的技术平台在内的多个不同技术平台中的任一个的输入姿势处理的行为;以及
    指示描述所述一个或多个数据可视化的特性以及描述输入姿势处理的行为的特性两者的场景图形元数据;
    通过以下操作来输出数据可视化:
    将所述通用场景图形中的至少一些部分的结构和数据解读成由所述平台专用用户界面子系统处理的专用操作,基于平台提供的渲染子系统的特性来作出如何处理个体场景图形节点或场景图形节点群的决定;以及
    将所述专用操作发送给所述专用技术平台以供通过处理所述专用操作来输出;以及
    通过以下操作来处理输入姿势:
    接收来自所述专用技术平台的输入姿势数据,所述输入姿势数据针对通过利 用对所述专用技术平台可用的姿势识别技术来识别的输入姿势;
    基于所利用的姿势识别技术并且根据所述场景图形元数据来调整所述输入姿势数据以供与所述通用场景图形的一致性;以及
    将经调整的输入姿势数据路由到所述通用场景图形中的恰适行为。

    说明书

    使用公共描述的跨平台数据可视化
    背景
    1.背景和相关技术
    计算机系统及相关技术影响社会的许多方面。的确,计算机系统处理信息的能力已转变了人们生活和工作的方式。现在,计算机系统通常执行在计算机系统出现以前手动执行的许多任务(例如,文字处理、日程安排、帐目管理等)。最近,计算机系统彼此耦合并耦合到其他电子设备以形成计算机系统及其他电子设备可在其上传输电子数据的有线和无线计算机网络。因此,许多计算任务的执行分布在多个不同的计算机系统和/或多个不同的计算环境中。
    不同的计算平台(例如Windows、iOS等)通常使用不同的平台专用技术以供与数据可视化(诸如举例来说图标、网格、小块等)进行交互(例如,渲染和接收来自数据可视化的输入姿势)。由于平台专用技术中的差异和复杂性,开发一致且高度交互式用户界面以跨多个计算平台来使用可能是具有挑战性且耗时的。例如,开发者可能不得不维护多个代码库,一个代码库针对使用中的每一个不同的计算平台。每一代码库可包括可用于计算平台并且可能跨不同计算平台有所不同的各个平台专用机制。
    其他跨平台开发挑战包括测试跨平台应用的难度。测试跨平台应用可能复杂得多,因为不同的平台可能展现出稍有不同的行为或细微缺陷(bug)。此外,开发者常常限于使用在所有平台上可用的特征的最小公分母子集。这可能阻碍了应用的性能或者阻止开发者使用平台最先进的特征。
    不同的平台常常具有不同的用户界面约定,而跨平台应用通常不能容适这些用户界面约定。例如,针对MAC OS X和GNOME开发的应用被假定为将最重要的按钮置于窗口或对话的右手侧,而微软Windows和KDE具有相反的约定。尽管这些差异中的许多是细微的,但无法恰适地符合这些约定的跨平台应用对于用户而言可能是笨拙的或格格不入的。当在快速工作时,这些相反的约定甚至可能导致数据丢失,诸如在确认用户想要保存还是丢弃对文件的改变的对话框中。
    跨平台执行环境还可遭受跨平台安全漏洞,从而造成易于受到跨平台恶意软件攻击的环境。
    概述
    本发明延及用于使用公共描述的跨平台数据可视化的各方法、系统和计算机程序产品。本发明的一些实施例包括输出数据可视化。场景图形处理层访问来自在多个不同技术平台上执行的公共代码的通用场景图形。通用场景图形表示用户界面。通用场景图形定义独立于多个不同的平台专用用户界面子系统中的任一个的数据可视化。通用场景图形包含描述数据可视化的特性的场景图形元数据。
    场景图形处理层将通用场景图形中的至少一些部分的结构和数据解读成由平台专用渲染子系统处理的专用操作。场景图形处理层基于平台提供的渲染子系统的特性来作出如何处理个体场景图形节点或场景图形节点群的决定。例如,场景图形处理层可以基于平台提供的最优渲染子系统来作出决定。场景图形处理层将专用操作发送给平台专用渲染子系统以供处理。平台专用渲染子系统通过处理专用操作来输出数据可视化。输出数据可视化可包括向显示设备渲染、写入文件、经由网络通信发送给另一系统等。
    本发明的其他实施例包括处理输入姿势。场景图形处理层访问来自在多个不同技术平台上执行的公共代码的通用场景图形。通用场景图形表示用户界面。通用场景图形定义独立于多个不同的平台专用用户界面子系统中的任一个的输入姿势处理的行为。通用场景图形包含描述行为的特性的场景图形元数据。
    场景图形处理层从平台专用用户界面子系统接收输入姿势数据。输入姿势数据用于通过利用可用于平台专用用户界面子系统的姿势识别技术来识别的输入姿势。场景图形处理层基于所利用的姿势识别技术并且根据场景图形元数据来调整输入姿势数据以供与通用场景图形的一致性。场景图形处理层将经调整的输入姿势数据路由到通用场景图形中的恰适行为。
    提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本发明内容并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
    本发明的附加特征和优点将在以下描述中叙述,并且其一部分根据本描述将是显而易见的,或者可通过对本发明的实践来获知。本发明的特征和优点可通过在 所附权利要求书中特别指出的工具和组合来实现和获得。本发明的这些以及其它特征、优点和特征将根据以下描述和所附权利要求而变得更显而易见,或者可通过如此后阐述的对本发明的实践而获知。
    附图说明
    为了描述可获得本发明的上述和其它优点和特征的方式,将通过参考附图中示出的本发明的具体实施例来呈现以上简要描述的本发明的更具体描述。可以理解,这些附图只描绘了本发明的各典型实施例,并且因此不被认为是对其范围的限制,将通过使用附图并利用附加特征和细节来描述和解释本发明,在附图中:
    图1A和1B解说使用公共描述来促进跨平台数据可视化的示例计算机架构。
    图2解说用于输出数据可视化并且处理来自数据可视化的输入姿势的示例计算机架构。
    图3解说用于输出数据可视化的示例方法的流程图。
    图4解说用于处理来自数据可视化的输入姿势的示例方法的流程图。
    图5解说在不同计算平台上利用通用场景图形。
    详细描述
    本发明延及用于使用公共描述的跨平台数据可视化的各方法、系统和计算机程序产品。本发明的一些实施例包括输出数据可视化。场景图形处理层访问来自在多个不同技术平台上执行的公共代码的通用场景图形。通用场景图形表示用户界面。通用场景图形定义独立于多个不同的平台专用用户界面子系统中的任一个的数据可视化。通用场景图形包含描述数据可视化的特性的场景图形元数据。
    场景图形处理层将通用场景图形中的至少一些部分的结构和数据解读成由平台专用用户界面子系统处理的专用操作。场景图形处理层基于平台提供的渲染子系统的特性来作出如何处理个体场景图形节点或场景图形节点群的决定。例如,场景图形处理层可以基于平台提供的最优渲染子系统来作出决定。场景图形处理层将专用操作发送给平台专用渲染子系统以供处理。平台专用渲染子系统通过处理专用操作来输出数据可视化。输出数据可视化可包括向显示设备渲染、写入文件、经由网络通信发送给另一系统等。
    本发明的其他实施例包括处理输入姿势。场景图形处理层访问来自在多个不同技术平台上执行的公共代码的通用场景图形。通用场景图形表示用户界面。通用 场景图形定义独立于多个不同的平台专用用户界面子系统中的任一个的输入姿势处理的行为。通用场景图形包含描述行为的特性的场景图形元数据。
    场景图形处理层从平台专用用户界面子系统接收输入姿势数据。输入姿势数据用于通过利用可用于平台专用用户界面子系统的姿势识别技术来识别的输入姿势。场景图形处理层基于所利用的姿势识别技术并且根据场景图形元数据来调整输入姿势数据以供与通用场景图形的一致性。场景图形处理层将经调整的输入姿势数据路由到通用场景图形中的恰适行为。
    本发明的各实施例可包括或利用专用或通用计算机,该专用或通用计算机包括诸如例如一个或多个处理器、系统存储器和触摸屏显示设备等计算机硬件,如以下更详细讨论的。本发明范围内的各实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。这样的计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是计算机存储介质(设备)。承载计算机可执行指令的计算机可读介质是传输介质。由此,作为示例而非限制,本发明的各实施例可包括至少两种显著不同的计算机可读介质:计算机存储介质(设备)和传输介质。
    计算机存储介质(设备)包括RAM、ROM、EEPROM、CD-ROM、固态驱动器(SSD)(如基于RAM)、闪存、相变存储器(PCM)、其他类型的存储器、其他光盘存储、磁盘存储或其他磁存储设备、或可用于存储计算机可执行指令或数据结构形式的所需程序代码装置且可由通用或专用计算机访问的任何其他介质。
    “网络”被定义为使得电子数据能够在计算机系统和/或模块和/或其它电子设备之间传输的一个或多个数据链路。当信息通过网络或另一个通信连接(硬连线、无线、或者硬连线或无线的组合)传输或提供给计算机时,该计算机将该连接适当地视为传输介质。传输介质可包括可用于携带计算机可执行指令或数据结构形式的所需程序代码装置并可由通用或专用计算机访问的网络和/或数据链路。上述的组合也应当包括在计算机可读介质的范围内。
    此外,在到达各种计算机系统组件之后,计算机可执行指令或数据结构形式的程序代码装置可从传输介质自动传输到计算机存储介质(设备)(或反之亦然)。例如,通过网络或数据链接接收到的计算机可执行指令或数据结构可被缓存在网络接口模块(例如,“NIC”)内的RAM中,然后最终被传输到计算机系统RAM和/ 或计算机系统处的较不易失性的计算机存储介质(设备)。因而,应当理解,计算机存储介质(设备)可被包括在还利用(甚至主要利用)传输介质的计算机系统组件中。
    计算机可执行指令例如包括,当在处理器处执行时使通用计算机、专用计算机、或专用处理设备执行某一功能或某组功能的指令和数据。计算机可执行指令可以是例如二进制代码、诸如汇编语言之类的中间格式指令、或甚至源代码。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述特征或动作。更具体而言,上述特征和动作是作为实现权利要求的示例形式而公开的。
    本领域的技术人员将理解,本发明可以在具有许多类型的计算机系统配置的网络计算环境中实践,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络PC、小型计算机、大型计算机、移动电话、PDA、平板、寻呼机、路由器、交换机等等。本发明也可在其中通过网络链接(或者通过硬连线数据链路、无线数据链路,或者通过硬连线和无线数据链路的组合)的本地和远程计算机系统两者都执行任务的分布式系统环境中实施。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备二者中。
    本发明的各实施例还可以在云计算环境中实现。在该描述和下面的权利要求书中,“云计算”被定义为用于允许对可配置计算资源的共享池的按需网络访问的模型。例如,云计算机可被部署于市场以提供对可配置计算资源的共享池的普遍存在且方便的按需访问。可配置计算资源的共享池可经由虚拟化而被快速地供应,并可利用低管理努力或服务提供商交互来释放,并随后相应被缩放。
    云计算模型可由各种特性组成,诸如举例来说按需自服务、广泛网络访问、资源池、快速灵活性、测定的服务等。云计算模型还可展现各种服务模型,诸如例如软件即服务(“SaaS”)、平台即服务(“PaaS”)以及基础结构即服务(“IaaS”)。云计算模型还可以使用不同的部署模型来部署,诸如私有云、社区云、公共云、混合云等。在该描述和权利要求书中,“云计算环境”是其中采用了云计算的环境。
    本发明的各实施例提供了用于简化软件开发和增强代码可靠性的机制。用户界面连同交互式和动态特性一起可以独立于任何专用设备平台来描述(程序性地和 /或声明性地)。用户界面质量可以使用具有附连行为的通用场景图形结构来描述。通用场景图形接着可被用来使用平台专用(例如,渲染、姿势识别等)子系统在任何数目的不同计算平台上驱动该用户界面。平台专用子系统可基于由平台专用子系统所使用的技术而改变。例如,渲染子系统可基于用于渲染图形数据的技术而改变,该技术诸如举例来说OpenGL、XAML、DirectX、Cocoa/Quartz等。
    用公共的方式来指定静态和动态用户界面结构两者(接着可在多个不同计算平台上使用)能够实现更高效的代码递送、更多代码重用以及更高质量的体验。用公共的方式来指定用户界面结构还使不得不为不同计算平台开发大量和/或复量的代码的努力最小化。用公共的方式来指定用户界面结构还帮助确保用户界面功能在不同计算平台上是一致且可靠的。
    一般而言,场景图形是一种组织要被渲染在屏幕上的图形或视觉数据的分层式方式。场景图形中的每一节点通常表示用户界面中的视觉元素。图形中的高级父节点可表示复杂视觉元素(例如条形图)。父节点进而由子节点构成,每一子节点表示父视觉的构成视觉元素(例如,轴、条、图例)。子节点由表示渐进式地更简单的视觉元素的子节点(例如,线、形状、文本标记)类似地构成。
    场景图形中的节点可具有公共属性,诸如大小、位置、取向、不透明性等。场景图形中的子节点相对于他们的父节点被放置。由此,用户界面中的视觉可以通过在场景图形中设置对应根节点的位置或取向来被容易地移动或重新取向。子节点可以在渲染时被放置,因为它们的位置是相对于它们的父节点来定义的。类似的机制可用于遍布分层结构来传播视觉样式信息。例如,设置父节点的不透明性可使得使用相同的不透明性值来渲染子节点。
    图1A和1B解说使用公共描述来促进跨平台数据可视化的示例计算机架构100。参考图1A,计算机架构100包括模型层101、演示器层111、查看层121和平台抽象层131。在模型层101、演示器层111、查看层121和平台抽象层131中每一者处的组件可通过局部总线和/或网络(诸如举例来说局域网(“LAN”)、广域网(“WAN”)或甚至因特网)彼此连接(或作为局部总线和/或网络的一部分)。相应地,在模型层101、演示器层111、查看层121和平台抽象层131中每一者处的组件以及任何其他连接的计算机系统和它们的组件都能够创建消息相关数据并通过局部总线和/或网络交换消息相关数据(例如,网际协议(“IP”)数据报和利 用IP数据报的其他更高层协议,诸如传输控制协议(“TCP”)、超文本传输协议(“HTTP”)、简单邮件传输协议(“SMTP”)等)。
    如所描绘的,模型层101包括查询响应处理机102、数据103和视觉状态104。一般而言,模型层101的组件可以互操作以制定模型,从而定义要在用户界面处显示或以其他方式对其起作用的数据。例如,图表定义106可以定义要在用户界面处显示或以其他方式对其起作用的图表138。
    演示器层111包括主存组件112。主存组件112进一步包括文档控制器171、画布172、可视化窗格173,以及可视化主机174。一般而言,演示器层111还包括与模型中定制的模型类型定义相对应的演示器。一般而言,演示器也对模型和视图起作用。演示器从储存库(模型)检索数据并且格式化数据以供在视图中显示。
    如所描绘的,演示器层111包括图表演示器113。图表演示器113包括图表数据映射器114、图表场景构建器116和交互处理机117。图表演示器113可以访问图表定义106以及来自主机组件112的数据。图表数据映射器114、图表场景构建器116以及交互处理机117可以互操作以将图表定义106格式化成场景图形122。
    查看层121包括场景图形122。场景图形122是显示数据(图表定义106)的界面。场景图形122包括节点182(根节点)、节点183(对应于图表138)、节点184(用于滚动查看)、节点166(对应于堆叠柱形图162)、节点167(对应于堆叠柱形图163)和节点186(对应于堆叠柱形图163的标记)。对应于图表138中的其他用户界面元素的节点也可被包括在场景图形122中。
    场景图形122还包括对附连于节点的行为进行定义的依赖性属性181。附连的行为可用于指定如何在用户界面中动画化视觉元素。储存动画(诸如便利功能)可以被封装在易于重用的行为中,该行为可被简单地附连到要被动画化的节点。更复杂的动画可以使用可配置行为来表示,该可配置行为指定动画参数和/或要被动画化的节点的目标属性。附连行为也可被用于指定场景图形中节点的样式行为,以使得可以控制样式信息(颜色、字体、不透明性、视觉效果等)至子节点的传播。
    附连行为可以封装程序逻辑(诸如如上所述的布局逻辑),或者可以封装可由平台专用用户界面子系统(例如,渲染子系统)用来实现所述专用行为的信息(元数据)。由此,附连行为表示一种扩展场景图形办法的方式,以使得它可用平台无关的方式来表示高度交互性的用户界面。附连行为可用平台无关的方式来定义用户 界面的交互本质。以平台无关的方式进行定义允许平台专用用户界面子系统聚焦于使用恰适的平台专用工具和技术将行为转换成高效的平台有关的实现。
    附连行为可用于指定如何为要求键盘或屏幕阅读器支持的用户渲染用户界面。例如,屏幕阅读器行为可被附连到场景图形中的某些节点并且被渲染子系统用来驱动平台专用的屏幕阅读器实现。类似地,键盘可访问性(快捷键、换行/焦点控制等)可通过使用附连到场景图形中的节点的行为来配置。在这些情形中,期望应用行为可以使用附连行为以平台无关的方式来指定。同样,允许平台专用用户界面子系统使用平台专用的技术高效地实现行为。
    平台抽象层131包括资源管理器132、动画引擎134和渲染引擎136。资源管理器132被配置成管理输出图表138所消耗的资源。动画引擎134被配置成使用平台专用的技术来实现动画逻辑。渲染引擎136(或某一其他输出引擎)使用平台专用的技术来实现渲染(或其他输出技术)。例如,渲染引擎136可以在显示设备上渲染图表138。或者,其他平台专用用户界面子系统可以向文件输出图表138的数据。
    或者,其他平台专用用户界面子系统可以经由网络通信向另一计算设备输出图表138的数据以供进一步处理。其他计算设备可包括用于渲染图表138的渲染子系统。其他计算系统可以经由网络通信返回图表138以供在平台抽象层131中演示。
    附连行为可用于指定要如何处理用户输入姿势(触摸、鼠标、键盘、语音、视频等,输入姿势)。表示具体姿势(诸如轻叩、平滑、点击)的行为可被附连到场景图形中的节点并且被配置成调用应用中的某一命令或动作。当姿势识别器检测到用户输入姿势时,它将输入姿势数据路由到为其附连合适姿势行为的最近场景图形。随后自动调用相关联的命令或动作。用于不同触摸姿势的姿势行为可被附连到场景图形分层结构中遍布的节点以实现更复杂的姿势处理情景。
    转向图1B,平台抽象层131还包括姿势识别器133。姿势识别器133负责处理用户输入以及将事件信息路由到场景图形122中的恰适行为。姿势识别器133可以将姿势输入数据路由到场景图形122中的恰适行为。场景图形122中的行为接着可以将事件数据路由到演示器层111以对图表138中的数据起作用(例如,激活动画)。
    在一些实施例中,平台抽象层还包括位于通用场景图形与平台专用用户界面 子系统之间的场景图形处理层。场景图形处理层可选择恰适的平台专用技术以根据场景图形中指示的提示来高效地输出数据可视化。在一些实施例中,场景图形处理层基于场景图形中的节点数目或节点类型来选择不同的平台专用技术。例如,取决于场景图形中的节点数目,场景图形处理层可以指令渲染子系统在渲染数据可视化时使用保留模式或即刻模式。
    场景图形处理层还可调节输入姿势数据以供与场景图形的一致性。
    转向图2,图2解说用于输出数据可视化并且处理来自数据可视化的输入姿势的示例计算机架构200。参考图2,计算机架构200包括查看层201和平台抽象层211。在查看层201和平台抽象层211中每一者处的组件通过局部总线和/或网络(诸如举例来说局域网(“LAN”)、广域网(“WAN”)以及甚至因特网)彼此连接(或作为局部总线和/或网络的一部分)。相应地,在查看层201和平台抽象层211中每一者处的组件以及任何其他连接的计算机系统和它们的组件都能够创建消息相关数据并通过局部总线和/或网络交换消息相关数据(例如,网际协议(“IP”)数据报和利用IP数据报的其他更高层协议,诸如传输控制协议(“TCP”)、超文本传输协议(“HTTP”)、简单邮件传输协议(“SMTP”)等)。
    查看层201包括场景图形202。场景图形220包括表示图表217中各图形元素的节点203、204、206和207。场景图形202还包括表示可对图表217中的数据采取的动作的行为281、282和283。
    平台227包括平台专用渲染子系统214和平台专用姿势识别子系统216。平台227可以通过平台227所使用的硬件和/或软件来与其他平台相区分。例如,平台227可以是平台(使用XAML),它与iOS平台(使用Quartz)不同。
    一般而言,场景图形202中的行为可以在场景图形处理层212处被处理并且被用来生成操作以在平台专用渲染子系统214处高效地输出数据可视化。平台专用渲染子系统214可以是渲染子系统、文件写入子系统,或网络通信子系统。场景图形处理层212可以被专门配置以供与平台227联用。由此,场景图形处理层212知晓对平台227可用的渲染子系统的特性。
    图3解说了用于输出数据可视化的示例方法300的流程图。方法300将参考计算机架构200的组件和数据来描述。
    方法300包括场景图形处理层访问来自在多个不同技术平台上执行的公共代码的通用场景图形,通用场景图形表示用户界面,通用场景图形定义独立于多个不同的平台专用用户界面子系统中的任一个的数据可视化,通用场景图形包含描述数据可视化的特性的场景图形元数据(301)。例如,场景图形处理层212可以访问场景图形202。场景图形202可以源自演示器层。场景图形202可以被包括在可在多个不同技术平台上执行的公共代码中。场景图形202定义独立于任何多个不同的平台专用用户界面子系统(诸如举例来说将用于渲染的子系统或将XAML用于渲染的子系统)的图表237。场景图形202包含描述图表217的元数据。元数据可以明确地包括在场景图形202中或者可以根据场景图形202的特征来推断。
    方法300包括场景图形处理层将通用场景图形中的至少一些部分的结构和数据解读成由平台专用渲染子系统处理的专用操作,场景图形处理层基于平台提供的渲染子系统的特性来作出如何处理个体场景图形节点或场景图形节点群的决定(动作302)。例如,场景图形处理层212可以将场景图形202的各部分的结构和数据解读成供平台专用渲染子系统214消费的操作213。场景图形处理层212可以基于平台227中的渲染子系统(包括平台专用渲染子系统214)的特性来作出如何处理个体场景图形节点或场景图形节点群的决定。渲染子系统特性可包括当前机器状态,诸如举例来说,可用存储器、CPU速度等。
    场景图形处理层212可以基于平台提供的最优渲染子系统来作出决定。场景图形处理层212可以基于对平台专用渲染子系统214可用的数据可视化处理技术并且根据来自场景图形202的元数据来优化操作213以供平台专用渲染子系统214处的高效处理(例如,即刻模式相比于保留模式,或者相反)。
    方法300包括场景图形处理层将专用操作发送给平台专用渲染子系统以供处理(303)。例如,场景图形处理层212可以将操作213发送给平台专用渲染子系统214以供处理。平台专用渲染子系统214可以接收来自场景图形处理层212的操作213。
    方法300包括平台专用渲染子系统通过处理专用操作来输出数据可视化(304)。例如,平台专用渲染子系统214可以通过处理操作213来输出数据可视化247。在一些实施例中,平台专用渲染子系统214将数据可视化数据247渲染为图表217。在其他实施例中,平台专用渲染子系统214分别将数据可视化数据247 渲染到文件或者经由网络通信将数据可视化数据247发送到另一系统以供进一步处理。
    如所描述的,场景图形处理层212可以被专门配置以供与平台227联用。由此,场景图形处理层212知晓对平台专用姿势识别子系统216可用的姿势识别技术和输入姿势数据格式。
    图4解说了用于处理来自数据可视化的输入姿势的示例方法400的流程图。方法400将参考计算机架构200的组件和数据来描述。
    方法400包括场景图形处理层访问来自在多个不同技术平台上执行的公共代码的通用场景图形,通用场景图形表示用户界面,通用场景图形定义独立于多个不同的平台专用用户界面子系统中的任一个的输入姿势处理的行为,通用场景图形包含描述行为的特性的场景图形元数据(401)。例如,场景图形处理层212可以访问场景图形202。场景图形202可以源自演示器层。场景图形202可以被包括在可在多个不同技术平台上执行的公共代码中。场景图形202定义独立于任何多个不同的平台专用用户界面子系统(诸如举例来说将用于渲染的子系统或将XAML用于渲染的子系统)的触摸事件行为284。场景图形202可包含描述触摸事件行为284的特性的元数据(诸如举例来说数据格式)。
    用户可以将触摸输入219输入到显示图表217的触摸屏显示设备上。平台专用姿势识别子系统216可以通过利用触摸输入219上可用的姿势识别技术来将触摸选择241识别为指定类型的输入姿势(例如,滑动、选择、轻叩等)。平台专用姿势识别子系统216可以基于指定类型的输入姿势来生成输入姿势数据221。平台专用姿势识别子系统216可以将输入姿势数据221发送给场景图形处理层212。
    方法400包括场景图形处理层接收来自平台专用用户界面子系统的输入姿势数据,输入姿势数据针对通过利用对平台专用用户界面子系统可用的姿势识别技术来识别的输入姿势(402)。例如,场景图形处理层212可以接收来自平台专用姿势识别子系统216的输入姿势数据221。
    方法400包括场景图形处理层基于所利用的姿势识别技术并且根据场景图形元数据来调整输入姿势数据以供与通用场景图形的一致性(403)。例如,场景图形处理层212可以将输入姿势数据221调整为经调整的输入姿势数据222。输入姿势数据221可以基于由平台专用姿势识别子系统216所使用的姿势识别技术并且根 据描述触摸事件行为284的元数据来被调整为经调整的输入姿势数据222以供与场景图形202的一致性。
    方法400包括场景图形处理层将经调整的输入姿势数据路由到通用场景图形中的恰适行为(404)。例如,场景图形处理层212可以将经调整的输入姿势数据222路由到触摸事件行为284。触摸事件行为284可进而将经调整的输入姿势数据222转换成事件数据248。触摸事件行为284可以将数据248发送给演示器层以供处理。
    图5解说在不同计算平台上利用通用场景图形501。如所描绘的,图5包括平台512和平台522。平台512和平台522可以由硬件和/或软件来区分。例如,平台512可包括ARM处理器,使用作为操作系统,并且可使用XAML进行图形渲染。另一方面,平台522可包括A6处理器,使用iOS作为操作系统,并且使用进行图形渲染。
    平台512包括场景图形处理层513。场景图形处理层513被配置成用于平台专用子系统514。因而,场景图形处理层513知晓对平台专用子系统514可用的数据可视化输出(例如渲染)技术和姿势识别技术。
    同样地,平台522包括场景图形处理层523。场景图形处理层523被配置成用于平台专用子系统524。因而,场景图形处理层523知晓对平台专用子系统524可用的数据可视化输出(例如渲染)技术和姿势识别技术。场景图形处理层513和场景图形处理层523可分别计及平台512和522中的差异。由此,平台512和522两者能够以高效且一致的方式来恰适地利用场景图形501。
    例如,场景图形处理层513可以配置操作(诸如操作516)以在平台专用子系统514处高效地渲染数据可视化。操作的配置可基于平台专用子系统514处可用的数据可视化输出技术并且根据场景图形501中指示的元数据。场景图形处理层513还可调整来自平台专用子系统514的输入姿势数据(诸如输入姿势数据517)以供与场景图形501的一致性。可以基于对平台专用子系统514可用的姿势识别技术以及与场景图形501中的输入姿势行为有关的任何元数据来调整输入姿势数据。
    同样地,场景图形处理层523可以配置操作(诸如操作526)以在平台专用子系统524处高效地渲染数据可视化。操作的配置可基于平台专用子系统524处可用的数据可视化输出技术并且根据场景图形501中指示的元数据。由此,配置操作以 用于平台专用子系统524处的高效渲染可以与配置操作以用于平台专用子系统514处的高效渲染不同。
    场景图形处理层523还可调整来自平台专用子系统524的输入姿势数据(诸如输入姿势数据527)以供与场景图形501的一致性。可以基于对平台专用子系统524可用的姿势识别技术以及与场景图形501中的输入姿势行为有关的任何元数据来调整输入姿势数据。由此,调整来自平台专用子系统524的输入姿势数据可以与调整来自平台专用子系统514的输入姿势数据不同。
    本发明可具体化为其它具体形式而不背离其精神或本质特征。所描述的实施例在所有方面都应被认为仅是说明性而非限制性的。因此,本发明的范围由所附权利要求书而非前述描述指示。落入权利要求书的等效方案的含义和范围内的所有改变都被权利要求书的范围所涵盖。

    关 键  词:
    使用 公共 描述 平台 数据 可视化
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:使用公共描述的跨平台数据可视化.pdf
    链接地址:https://www.zhuanlichaxun.net/p-19173.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1