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

一种数据处理方法和装置.pdf

  • 上传人:GAME****980
  • 文档编号:4042181
  • 上传时间:2018-08-12
  • 格式:PDF
  • 页数:22
  • 大小:1.44MB
  • 摘要
    申请专利号:

    CN201310454548.9

    申请日:

    2013.09.29

    公开号:

    CN104516730A

    公开日:

    2015.04.15

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):G06F 9/44申请日:20130929|||公开

    IPC分类号:

    G06F9/44; H04L29/08

    主分类号:

    G06F9/44

    申请人:

    国际商业机器公司

    发明人:

    黄刚; 王亮; 姜坦; 张煜; 兰灵; 易立; 姚勇

    地址:

    美国纽约

    优先权:

    专利代理机构:

    北京市中咨律师事务所11247

    代理人:

    于静; 张亚非

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

    本发明属于信息处理领域,公开了一种数据处理方法,该方法包括:获取依赖元数据,其中,所述依赖元数据用于表示至少两个组件之间数据上的依赖关系;获得错误信息以及数据输出,其中,所述错误信息用于描述在运行应用时发生的错误,所述数据输出包括在运行所述应用时组件输出的数据,所述应用包括所述至少两个组件;根据所述错误信息,分析与该错误信息相关的依赖元数据和数据输出;提供分析结果,所述分析结果包括以下至少之一:发生错误的原因,错误修正方法的提示,导致错误发生的相关依赖元数据和导致错误发生的相关数据输出。相应的,本发明还公开了一种数据处理装置。通过本发明提供的技术方案可以辅助用户快速准确的定位错误,并修改错误。

    权利要求书

    权利要求书
    1.  一种数据处理方法,所述方法包括:
    获取依赖元数据,其中,所述依赖元数据用于表示至少两个组件之间 数据上的依赖关系;
    获得错误信息以及数据输出,其中,所述错误信息用于描述在运行应 用时发生的错误,所述数据输出包括在运行所述应用时组件输出的数据, 所述应用包括所述至少两个组件;
    根据所述错误信息,分析与该错误信息相关的依赖元数据和数据输 出;
    提供分析结果,所述分析结果包括以下至少之一:发生错误的原因, 错误修正方法的提示,导致错误发生的相关依赖元数据和导致错误发生的 相关数据输出。

    2.  根据权利要求1所述的方法,其中,所述方法进一步包括:
    获取时序约束,其中,所述时序约束用于表示所述至少两个组件的执 行顺序;
    获得数据输入,其中,所述数据输入包括在运行所述应用时组件读取 的数据;
    根据所述时序约束和所述数据输入确定所述时序约束中存在冗余的 时序约束。

    3.  根据权利要求2所述的方法,其中,所述获取时序约束包括以下 至少之一:
    通过对获取的依赖元数据进行分析得到时序约束;
    通过解析应用实例的概述信息得到时序约束。

    4.  根据权利要求2或3所述的方法,其中,所述方法进一步包括:
    向用户提示存在冗余的时序约束以及造成该冗余的时序约束的依赖 元数据。

    5.  根据权利要求1所述的方法,其中,所述获得错误信息以及数据 输出包括以下步骤之一:
    从云平台获取由云平台记录的错误信息以及数据输出,其中,所述错 误信息用于描述在云平台运行所述应用时发生的错误,所述数据输出包括 在云平台运行所述应用时组件输出的数据;
    运行所述应用并记录用于描述在运行所述应用时发生的错误的错误 信息以及在运行所述应用时组件输出的数据。

    6.  根据权利要求1所述的方法,其中,所述获取依赖元数据包括:
    从云平台获取应用实例的概述信息;
    根据所述概述信息搜索本地环境得到至少部分的依赖元数据。

    7.  根据权利要求6所述的方法,其中,所述获取依赖元数据进一步 包括:
    若从本地环境找不到所述依赖元数据,则从云平台获取所述依赖元数 据。

    8.  根据权利要求1所述的方法,其中,所述根据所述错误信息,分 析与该错误信息相关的依赖元数据和数据输出,包括以下至少之一:
    根据所述错误信息中的空指针异常以及该空指针异常对应的依赖元 数据,确定该空指针异常对应的组件没有输出相应的数据;
    根据所述错误信息中的空指针异常以及该空指针异常对应的组件的 数据输出,确定该空指针异常对应的依赖元数据有误;
    根据所述错误信息中的空指针异常以及该空指针异常对应的组件的 数据输出,确定该空指针异常对应的正确的依赖元数据。

    9.  根据权利要求2或3所述的方法,其中,所述获得数据输入,包 括以下之一:
    从云平台获取由云平台记录的数据输入,其中,所述数据输入包括在 云平台运行所述应用时组件读取的数据;
    运行所述应用并记录运行该应用时组件读取的数据。

    10.  一种数据处理装置,所述装置包括:
    关系获取模块,被配置为获取依赖元数据,其中,所述依赖元数据用 于表示至少两个组件之间数据上的依赖关系;
    第一信息获取模块,被配置为获得错误信息以及数据输出,其中,所 述错误信息用于描述在运行应用时发生的错误,所述数据输出包括在运行 所述应用时组件输出的数据,所述应用包括所述至少两个组件;
    分析模块,被配置为根据所述错误信息,分析与该错误信息相关的依 赖元数据和数据输出;
    结果模块,被配置为提供分析结果,所述分析结果包括以下至少之一: 发生错误的原因,错误修正方法的提示,导致错误发生的相关依赖元数据 和导致错误发生的相关数据输出。

    11.  根据权利要求10所述的装置,所述装置进一步包括:
    时序获取模块,被配置为获取时序约束,其中,所述时序约束用于表 示所述至少两个组件的执行顺序;
    第二信息获取模块,被配置为获得数据输入,其中,所述数据输入包 括在运行所述应用时组件读取的数据;
    冗余确定模块,被配置为根据所述时序约束和所述数据输入确定所述 时序约束中存在冗余的时序约束。

    12.  根据权利要求11所述的装置,其中,所述时序获取模块包括以 下至少之一:
    第一时序子模块,被配置为通过对获取的依赖元数据进行分析得到时 序约束;
    第二时序子模块,被配置为通过解析应用实例的概述信息得到时序约 束。

    13.  根据权利要求11或12所述的装置,其中,所述装置进一步包括: 提示模块,被配置为向用户提示存在冗余的时序约束以及造成该冗余的时 序约束的依赖元数据。

    14.  根据权利要求10所述的装置,其中,所述第一信息获取模块包 括以下之一:
    云平台获取子模块,被配置为从云平台获取由云平台记录的错误信息 以及数据输出,其中,所述错误信息用于描述在云平台运行所述应用时发 生的错误,所述数据输出包括在云平台运行所述应用时组件输出的数据;
    第一运行记录子模块,被配置为运行所述应用并记录用于描述在运行 所述应用时发生的错误的错误信息以及在运行所述应用时组件输出的数 据。

    15.  根据权利要求10所述的装置,其中,所述关系获取模块包括:
    概述信息获取子模块,被配置为从云平台获取应用实例的概述信息;
    搜索子模块,被配置为根据所述概述信息搜索本地环境得到至少部分 的依赖元数据。

    16.  根据权利要求15所述的装置,其中,所述关系获取模块进一步 包括:
    依赖元数据获取子模块,被配置为若从本地环境找不到所述依赖元数 据,则从云平台获取所述依赖元数据。

    17.  根据权利要求10所述的装置,其中,所述分析模块包括以下至 少之一:
    第一确定子模块,被配置为根据所述错误信息中的空指针异常以及该 空指针异常对应的依赖元数据,确定该空指针异常对应的组件没有输出相 应的数据;
    第二确定子模块,被配置为根据所述错误信息中的空指针异常以及该 空指针异常对应的组件的数据输出,确定该空指针异常对应的依赖元数据 有误;
    第三确定子模块,被配置为根据所述错误信息中的空指针异常以及该 空指针异常对应的组件的数据输出,确定该空指针异常对应的正确的依赖 元数据。

    18.  根据权利要求11或12所述的装置,其中,所述第二信息获取模 块包括以下之一:
    数据输入获取子模块,被配置为从云平台获取由云平台记录的数据输 入,其中,所述数据输入包括在云平台运行所述应用时组件读取的数据;
    第二运行记录子模块,被配置为运行所述应用并记录运行该应用时组 件读取的数据。

    说明书

    说明书一种数据处理方法和装置
    技术领域
    本发明涉及信息处理领域,更具体地,涉及一种数据处理的方法和装 置。
    背景技术
    随着应用开发技术的不断发展,越来越多的应用不再采用整体开发的 方式,而是分为多个组件进行开发。组成应用的多个组件之间存在数据依 赖关系(data dependency)以及时序约束(order constrain)。
    组成一个应用的多个组件可能是由不同开发者开发的,或者多个组件 中存在能够重复使用的组件,也即存在通用组件。这些都可能会导致数据 依赖关系和时序约束的错误,从而使得整个应用无法运行。
    在应用运行中发生报错时,无论是开发人员或者应用的使用者都难以 确定造成错误的原因,需要花费很大的力气才能够修正错误。因此,需要 一种简单易行的技术方案来提示发生错误的原因或者修正错误的方法。
    发明内容
    基于现有技术中存在的上述问题,本发明实施例提供了一种数据处理 方法和装置,以提供一种辅助修正由多个组件组成的应用发生的错误的技 术方案。
    根据本发明的一个方面,提供了一种数据处理方法,所述方法包括: 获取依赖元数据,其中,所述依赖元数据用于表示至少两个组件之间数据 上的依赖关系;获得错误信息以及数据输出,其中,所述错误信息用于描 述在运行应用时发生的错误,所述数据输出包括在运行所述应用时组件输 出的数据,所述应用包括所述至少两个组件;根据所述错误信息,分析与 该错误信息相关的依赖元数据和数据输出;提供分析结果,所述分析结果 包括以下至少之一:发生错误的原因,错误修正方法的提示,导致错误发 生的相关依赖元数据和导致错误发生的相关数据输出。
    根据本发明的另一个方面,提供了一种数据处理装置,所述装置包括: 关系获取模块,被配置为获取依赖元数据,其中,所述依赖元数据用于表 示至少两个组件之间数据上的依赖关系;第一信息获取模块,被配置为获 得错误信息以及数据输出,其中,所述错误信息用于描述在运行应用时发 生的错误,所述数据输出包括在运行所述应用时组件输出的数据,所述应 用包括所述至少两个组件;分析模块,被配置为根据所述错误信息,分析 与该错误信息相关的依赖元数据和数据输出;结果模块,被配置为提供分 析结果,所述分析结果包括以下至少之一:发生错误的原因,错误修正方 法的提示,导致错误发生的相关依赖元数据和导致错误发生的相关数据输 出。
    本发明所提供的技术方案能够辅助修正应用发生的错误。
    附图说明
    通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的 上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性 实施方式中,相同的参考标号通常代表相同部件。
    图1示出了根据本发明一实施例的云计算节点;
    图2示出了根据本发明一实施例的云计算环境;
    图3示出了根据本发明一实施例的抽象模型层;
    图4示出了本发明实施例一种数据处理方法的流程示意图;
    图5示出了本发明实施例一种数据处理方法的流程示意图;
    图6示出了本发明实施例一种数据处理方法具体实现的示例的流程示 意图;
    图7示出了本发明实施理一种数据处理装置的结构示意图。
    具体实施方式
    下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显 示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开 而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使 本公开更加透彻和完整,并且能够将本公开的范围完整的传达给本领域的 技术人员。
    首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载 的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开 发的任何其它类型的计算环境而实现。
    云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方 便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务 提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网 络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式 可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
    特征包括:
    按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情 况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能 力。
    广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标 准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电 话、膝上型电脑、个人数字助理PDA)对云的使用。
    资源池:提供者的计算资源被归入资源池并通过多租户 (multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和 虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不 知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如 国家、州或数据中心),因此具有位置无关性。
    迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以 实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的 可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计 算能力。
    可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带 宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源 效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方 提供透明度。
    服务模型如下:
    软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构 上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络 的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用 配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存 储、乃至单个应用能力等的底层云基础架构。
    平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费 者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创 建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层 云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也 具有控制权。
    基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中 部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基 础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系 统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火 墙)可能具有有限的控制权。
    部署模型如下:
    私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织 或第三方管理并且可以存在于该组织内部或外部。
    共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如 任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由 共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
    公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织 拥有。
    混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云 或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够 移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量 分担技术)绑定在一起。
    云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性 和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
    现在参考图1,其中显示了云计算节点的一个例子。图1显示的云计算 节点10仅仅是适合的云计算节点的一个示例,不应对本发明实施例的功 能和使用范围带来任何限制。总之,云计算节点10能够被用来实现和/或 执行以上所述的任何功能。
    云计算节点10具有计算机系统/服务器12,其可与众多其它通用或专 用计算系统环境或配置一起操作。众所周知,适于与计算机系统/服务器 12一起操作的计算系统、环境和/或配置的例子包括但不限于:个人计算 机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基 于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型 计算机系统﹑大型计算机系统和包括上述任意系统的分布式云计算技术 环境,等等。
    计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行 指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行 特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、 逻辑、数据结构等。计算机系统/服务器12可以在通过通信网络链接的远 程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境 中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质 上。
    如图1所示,云计算节点10中的计算机系统/服务器12以通用计算设 备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或 者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包 括系统存储器28和处理单元16)的总线18。
    总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储 器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的 任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标 准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA 总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI) 总线。
    计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质 可以是能够被计算机系统/服务器12访问的任意可获得的介质,包括易失 性和非易失性介质,可移动的和不可移动的介质。
    系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例 如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服 务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机 系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非 易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未 示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘 驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其 它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个 或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序 产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被 配置以执行本发明各实施例的功能。
    具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在 存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个 应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合 中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施 例中的功能和/或方法。
    计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、 指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计 算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器 12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制 解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。 并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个 网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特 网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器 12的其它模块通信。应当明白,尽管图中未示出,其它硬件和/或软件模 块可以与计算机系统/服务器12一起操作,包括但不限于:微代码、设备 驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以 及数据备份存储系统等。
    现在参考图2,其中显示了示例性的云计算环境50。如图所示,云计 算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个 或者多个云计算节点10,本地计算设备例如可以是个人数字助理(PDA) 或移动电话54A,台式电脑54B、笔记本电脑54C和/或汽车计算机系统 54N。云计算节点10之间可以相互通信。可以在包括但不限于如上所述 的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网 络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的 消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基 础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。 应当理解,图2显示的各类计算设备54A-N仅仅是示意性的,云计算节 点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的 任意类型的计算设备(例如使用网络浏览器)通信。
    现在参考图3,其中显示了云计算环境50(图2)提供的一组功能抽象 层。首先应当理解,图3所示的组件、层以及功能都仅仅是示意性的,本 发明的实施例不限于此。如图3所示,提供下列层和对应功能:
    硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机, 例如系统;基于RISC(精简指令集计算机)体系结构的 服务器,例如IBM系统;IBM系统;IBM系统;存储设备;网络和网络组件。软件组件的例子包括:网络应用服务 器软件,例如IBM应用服务器软件;数据库软件,例如IBM 数据库软件。(IBM,zSeries,pSeries,xSeries,BladeCenter, WebSphere以及DB2是国际商业机器公司在全世界各地的注册商标)。
    虚拟层62提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟 服务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系 统,以及虚拟客户端。
    在一个示例中,管理层64可以提供下述功能:资源供应功能:提供用 于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定 价功能:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和 发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的 消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能: 为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能:提 供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议 (SLA)计划和履行功能:为根据SLA预测的对云计算资源未来需求提 供预先安排和供应。以及记录功能:记录应用运行中各组件的数据的输出、 输入和错误信息。
    工作负载层66提供云计算环境可能实现的功能的示例。在该层中,可 提供的工作负载或功能的示例包括:地图绘制与导航;软件开发及生命 周期管理;虚拟教室的教学提供;数据分析处理;交易处理。
    参照图4,本发明一实施例提供了一种数据处理的方法。该方法包括: 步骤410,获取依赖元数据;步骤430,获得错误信息以及数据输出;步 骤450,根据所述错误信息,分析与该错误信息相关的依赖元数据和数据 输出;步骤470,提供分析结果。本实施例中,依赖元数据用于表示至少 两个组件之间数据上的依赖关系;错误信息用于描述在运行应用时发生的 错误,该应用包括前述至少两个组件;数据输出包括在运行该应用时组件 输出的数据;分析结果包括以下至少之一:发生错误的原因,错误修正方 法的提示,导致错误发生的相关依赖元数据和导致错误发生的相关数据输 出。本领域技术人员可以理解,输出的数据例如可以包括被输出的属性的 名称和该属性的值中的至少一个。本实施例适用于包括多个组件的应用, 其中该应用可以由该多个组件构成,还可以包括其他部分。该应用可以是 服务、中间件或者具有特定功能的应用等,本发明并不进行限制。通过采 用本实施例提供的技术方案,可以根据错误信息、数据输出以及依赖元数 据来提供能够帮助用户修正错误的辅助信息。例如,记录的错误信息包括 组件B的名称(或者id,以下实施例中名称均可以为id)为xx1的属性 没有读取到数据,为空指针异常。根据依赖元数据,xx1的源应当为组件 A的名称为yy1的属性。根据记录的组件A的数据输出,发现名称为yy1 的属性没有输出。此时可以向用户提供发生错误的原因为组件A的名称 为yy1的属性没有输出导致组件B的名称为xx1的属性无法获取所需的输 入。这样,用户可以非常简单的得到发生错误的原因,从而对组件B进行 修正。并且,通过采用本实施例提供的方法还可以发现在设计时无法发现 的错误。仍以上述示例为例进行说明,若组件A名称为yy1的属性仅在 运行时才会有输出,那么在设计阶段或者说非运行状态时是无法发现该错 误的,也就无法纠正该错误,而本实施例提供的方案通过记录运行中发生 的错误信息以及数据输出,不但可以发现设计阶段就存在的错误还可以发 现仅在运行中才会体现出来的错误,从而辅助用户修正存在的各种错误。
    本发明一实施例中,错误信息例如包括:读取数据时发生的空指针异 常。
    本发明一实施例中,步骤450例如包括以下至少之一:根据所述错误 信息中的空指针异常以及该空指针异常对应的依赖元数据,确定该空指针 异常对应的组件没有输出相应的数据;根据所述错误信息中的空指针异常 以及该空指针异常对应的组件的数据输出,确定该空指针异常对应的依赖 元数据有误;根据所述错误信息中的空指针异常以及该空指针异常对应的 组件的数据输出,确定该空指针异常对应的正确的依赖元数据。其中,根 据所述错误信息中的空指针异常以及该空指针异常对应的组件的数据输 出,确定该空指针异常对应的正确的依赖元数据例如可以修复错误的依赖 元数据,将错误的依赖元数据自动改为正确的依赖元数据。
    参照图5,本发明一实施例中,提供了一种数据处理方法。该方法包括: 步骤510,获取时序约束;步骤530,获得数据输入;步骤550,根据所 述时序约束和所述数据输入确定所述时序约束中存在冗余的时序约束。本 实施例中,时序约束用于表示该至少两个组件的执行顺序;数据输入包括 在运行所述应用时组件读取的数据。其中,数据输入特别是包括在运行所 述应用时组件读取的其他组件输出的数据。本领域技术人员可以理解,读 取的数据例如可以包括需要读取数据的属性的名称和该属性读取的值中 的至少一个。通过本实施例提供的技术方案,可以确定存在冗余的时序约 束,从而辅助用户调整时序约束或者删除时序约束。例如,用户规定了组 件C与组件D之间的时序约束,具体为组件D需要在组件C执行完毕后 执行。通过本实施例中对于运行时数据输入的记录发现组件D并不存在 任何一个数据输入是读取组件C的数据输出,由此可以确定该时序约束 为冗余的时序约束。据此,用户可以删除或者调整冗余的时序约束。另一 实施例中,如图5所示的方法还可以包括向用户提示的步骤,即向用户提 示该冗余的时序约束。进一步的,可以根据冗余的时序约束是定义在依赖 元数据中还是由用户在构建应用时定义的,向用户提供不同的提示。
    如图4所示的实施例可以和如图5所示的实施例结合。一结合的示例 中,步骤410到步骤470与步骤510到步骤550之间没有特定的顺序。
    另一结合的示例中,步骤530获得的数据输入可以是与步骤430中获 取的数据输出一同实现的,也即在运行应用时记录错误信息以及组件的数 据输入和数据输出。再一结合的示例中,如图5所示的实施例中向用户提 示冗余的时序约束的步骤可以和步骤470一同实现,也即同时向用户提示 错误信息以及冗余的时序约束。
    本发明一实施例中,步骤510例如可以包括:通过对获取的依赖元数 据进行分析得到时序约束。如图5所示的实施例还可以包括:向用户提示 存在冗余的时序约束以及造成该冗余的时序约束的依赖元数据。由于该冗 余的时序约束是定义在依赖元数据中的,因此可以通过向用户提示该冗余 的时序约束以及相关的依赖元数据来辅助用户删除或者调整该冗余的时 序约束。
    本发明一实施例中,步骤510例如可以包括:通过解析应用实例的概 述信息(profile)得到时序约束。具体的,步骤510例如包括:从云平台获 取应用实例的概述信息;通过解析所述概述信息得到时序约束。在用户构 建应用时,可以定义多个组件之间的时序约束,该时序约束包含在应用实 例的概述信息中。因此,可以通过解析从云平台获取的应用实例来得到时 序约束。本领域技术人员可以理解,结合其他实施例,从云平台获取应用 实例的概述信息可以在其他步骤中完成,例如在获取依赖元数据的步骤中 执行从云平台获取应用实例的概述信息,这样步骤510只需要解析已经获 得的应用实例的概述信息得到时序约束即可。
    正如前面所述,本发明可以应用在云计算环境中也可以应用在其他计 算环境中。下面先以云计算环境中本实施例的应用为例进行说明。
    本发明一实施例中,步骤430例如包括:从云平台获取由云平台记录 的错误信息以及数据输出。本实施例中,错误信息用于描述在云平台运行 该应用时发生的错误,数据输出包括在云平台运行所述应用时组件输出的 数据。通过采用本实施例的技术方案,可以将应用的运行放在云平台端, 并由云平台记录组件的数据输出和错误信息,这样可以降低对于终端的计 算能力的要求。此时,分析等步骤由终端完成,这样可以降低云平台的工 作负载,提高云平台的性能。
    本发明一实施例中,步骤530例如包括:从云平台获取由云平台记录 的数据输入。其中,数据输入包括在云平台运行所述应用时组件读取的数 据。本领域技术人员可以理解,若实施时同时包括步骤530和步骤430, 这两个步骤可以是一同实现的,也即同时获取错误信息、数据输出和数据 输入。相应的,云平台也可以在运行应用时同时记录上述错误信息、数据 输入和数据输出。
    本发明一实施例中,步骤410例如包括:从云平台获取应用实例的概 述信息;根据所述概述信息搜索本地环境得到至少部分的依赖元数据。更 进一步的,可以通过登录云平台来获取应用实例的概述信息,以控制不同 的用户对于应用实例的获取,并且可以方便用户构建并寻找自己的应用实 例。通过采用本实施例提供的方法,可以优先对本地的环境进行搜索来得 到依赖元数据,这样可以减少终端与云平台之间的通信,降低网络的传输 压力。本发明另一实施例中,若从本地环境找不到所述依赖元数据,则从 云平台获取所述依赖元数据。在具体实施时,可以通过调用云平台的API 获取所需的依赖元数据。
    本领域技术人员可以理解,当采用云计算环境实施本发明实施例时, 云平台运行应用可以通过将应用部署在虚拟机中实现。
    下面通过图6所示的示例举例说明云计算环境中,本发明实施例的应 用方式。
    步骤610,登录云平台获取应用实例A的概述信息。应用实例A包括 4个组件,组件W、组件X、组件Y和组件Z。
    步骤620,解析应用实例A的概述信息,获取时序约束。通过解析应 用实例A的概述信息,可以得到用户定义的时序约束,组件Z在组件Y 执行完毕后执行。
    步骤630,根据应用实例A的概述信息,在本地环境中搜索依赖元数 据。
    步骤640,响应于未在本地环境中找到依赖元数据,调用云平台的API 获取依赖元数据。其中,得到如下的依赖元数据。


    步骤650,云平台运行应用实例A,并记录错误信息、数据输出和数据 输入。参照表1,为记录的错误信息、数据输入和数据输出。
    表1错误信息、数据输入和数据输出的记录表

    步骤660,从云平台获取错误信息、数据输出以及数据输入。终端需要 从云平台得到相应的信息。
    步骤670,根据错误信息,分析与该错误信息相关的依赖元数据、数据 输出和数据输入。本示例中,对于X.dmgrport的空指针异常,以及组件 W和组件X的依赖元数据“sourceid”:“port”,“targetid”:“dmgrport” 可以确定组件W并没有一个名称为port的属性有数据输出,因此 X.dmgrport没有读取到所需的数据。也就是说确定该依赖元数据有误。 进一步的,组件W中有名称为mgmtport的属性,其具有数据输出8879, 并且该数据输出并没有被读取,由此可以确定正确的依赖元数据为 “sourceid”:“mgmtport”,“targetid”:“dmgrport”。本示例中, 对于Y.dbctx的空指针异常,以及组件W和组件Y的依赖元数据 “sourceid”:“dbctx”,“targetid”:“dbctx”,可以确定组件W的 dbctx没有数据输出。本示例中组件Z并没有读取组件Y的数据输出,由 此确定组件Z并不需要在组件Y执行完毕之后执行。
    步骤680,提供分析结果并提示冗余的时序约束。本示例中分析结果可 以包括发生错误的原因,例如“组件W没有名称为port的输出,因此组 件X中的dmgrport未能读取所需数据”。本示例中分析结果可以包括错 误修正方法的提示,例如“依赖元数据应当修改为sourceid:mgmtport, targetid:dmgrport”。本领域技术人员可以理解,根据本示例,若组件W 中存在两个具有数据输出且该数据输出没有被读取的属性,而组件X也 有两个属性没有读取到所需的数据,则分析结果可以包括导致错误发生的 相关数据输出和/或导致错误发生的相关依赖元数据,例如提示组件X没 有读取到所需数据的属性名称以及组件W的数据输出中没有被读取的数 据输出,还可以提示错误的依赖元数据。本示例中通过对依赖元数据的分 析可以得到时序约束“组件Z在组件Y执行完毕后执行”,在之前的步 骤可以发现,组件Z并不需要在组件Y执行完毕之后执行,因此在步骤 680中可以向用户提示存在该冗余的时序约束。
    本领域技术人员可以理解,在云计算环境中,本发明实施例还可以单 独实施在终端上或者云平台上。本发明一实施例中,步骤430例如包括: 运行所述应用并记录用于描述在运行所述应用时发生的错误的错误信息 以及在运行所述应用时组件输出的数据。本发明一实施例中,步骤530例 如包括:运行所述应用并记录运行该应用时组件读取的数据。
    并且,本发明实施例可以实施在非云计算的计算环境中。参照上述描 述,本发明实施例可以实施在两个相互交互的设备上,也可以单独实施在 某一个设备上。
    以上已经通过具体的示例说明了几种结合的可能,本领域技术人员可 以理解,还可以通过结合得到更多的实施例,此处不再赘述。
    前面已经参考附图描述了实现本发明的方法的各个实施例。本领域技 术人员可以理解的是,上述方法可以以软件方式实现,也可以以硬件方式 实现,或者通过软件与硬件相结合的方式实现。并且,本领域技术人员可 以理解,通过以软件、硬件或者软硬件相结合的方式实现上述方法中的各 个步骤,可以提供一种数据处理装置。即使该装置在硬件结构上与通用处 理设备相同,由于其中所包含的软件的作用,使得该装置表现出区别于通 用处理设备的特性,从而形成本发明的各个实施例的装置。下面将参考图 7具体描述根据本发明的各个实施例的数据处理装置。
    参见图7,图7示出了本发明实施例提供的一种数据处理装置700。 该装置例如可以布置在终端上。优选的,该终端可以和云平台通信,从云 平台获取信息。该装置还可以布置在云平台上。该装置700包括:关系获 取模块710,被配置为获取依赖元数据,其中,所述依赖元数据用于表示 至少两个组件之间数据上的依赖关系;第一信息获取模块720,被配置为 获得错误信息以及数据输出,其中,所述错误信息用于描述在运行应用时 发生的错误,所述数据输出包括在运行所述应用时组件输出的数据,所述 应用包括所述至少两个组件;分析模块730,被配置为根据所述错误信息, 分析与该错误信息相关的依赖元数据和数据输出;以及结果模块740,被 配置为提供分析结果,所述分析结果包括以下至少之一:发生错误的原因, 错误修正方法的提示,导致错误发生的相关依赖元数据和导致错误发生的 相关数据输出。通过采用本实施例提供的装置可以根据错误信息、数据输 出以及依赖元数据来提供能够帮助用户修正错误的辅助信息。这样可以避 免用户手工查找错误所需的巨大的人力消耗,也可以更加迅速准确地帮助 用户找到错误以及错误原因。
    本发明一实施例中,装置700进一步包括:时序获取模块750,被配 置为获取时序约束,其中,所述时序约束用于表示所述至少两个组件的执 行顺序;第二信息获取模块760,被配置为获得数据输入,其中,所述数 据输入包括在运行所述应用时组件读取的数据;以及冗余确定模块770, 被配置为根据所述时序约束和所述数据输入确定所述时序约束中存在冗 余的时序约束。本领域技术人员可以理解,当用硬件或者软件来实现本实 施例时,第二信息获取模块760和第一信息获取模块720可以采用同一硬 件或者软件组件来实现。
    本发明一实施例中,时序获取模块750例如包括以下子模块(未在图 中示出)中的至少一个:第一时序子模块,被配置为通过对获取的依赖元 数据进行分析得到时序约束;第二时序子模块,被配置为通过解析应用实 例的概述信息得到时序约束。本发明另一实施例中,装置700进一步包括: 提示模块780,被配置为向用户提示存在冗余的时序约束以及造成该冗余 的时序约束的依赖元数据。
    本发明一实施例中第一信息获取模块720例如包括以下之一:云平台 获取子模块,被配置为从云平台获取由云平台记录的错误信息以及数据输 出,其中,所述错误信息用于描述在云平台运行所述应用时发生的错误, 所述数据输出包括在云平台运行所述应用时组件输出的数据;第一运行记 录子模块,被配置为运行所述应用并记录用于描述在运行所述应用时发生 的错误的错误信息以及在运行所述应用时组件输出的数据。本发明另一实 施例中,若该装置布置在运平台上,则第一信息获取模块720包括第一运 行记录子模块。
    本发明一实施例中,关系获取模块710包括:概述信息获取子模块, 被配置为从云平台获取应用实例的概述信息;搜索子模块,被配置为根据 所述概述信息搜索本地环境得到至少部分的依赖元数据。本发明另一实施 例中,关系获取模块710进一步包括:依赖元数据获取子模块,被配置为 若从本地环境找不到所述依赖元数据,则从云平台获取所述依赖元数据。
    本发明一实施例中,分析模块730例如包括以下至少之一:第一确定 子模块,被配置为根据所述错误信息中的空指针异常以及该空指针异常对 应的依赖元数据,确定该空指针异常对应的组件没有输出相应的数据;第 二确定子模块,被配置为根据所述错误信息中的空指针异常以及该空指针 异常对应的组件的数据输出,确定该空指针异常对应的依赖元数据有误; 第三确定子模块,被配置为根据所述错误信息中的空指针异常以及该空指 针异常对应的组件的数据输出,确定该空指针异常对应的正确的依赖元数 据。
    本发明一实施例中,第二信息获取模块例如包括以下之一:数据输入 获取子模块,被配置为从云平台获取由云平台记录的数据输入,其中,所 述数据输入包括在云平台运行所述应用时组件读取的数据;第二运行记录 子模块,被配置为运行所述应用并记录运行该应用时组件读取的数据。
    上述装置实施例中的实现细节可以参照相应的方法实施例。并且上述 装置实施例之间可以彼此参照、结合,以得到更多的实施方式,具体的结 合方式也可以参照方法实施例以及方法实施例中给出的结合提示。
    附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法 和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程 图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述 模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的 可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功 能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际 上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及 的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图 和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基 于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
    以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽 性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范 围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更 都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原 理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普 通技术人员能理解本文披露的各实施例。

    关 键  词:
    一种 数据处理 方法 装置
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

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

    关于本文
    本文标题:一种数据处理方法和装置.pdf
    链接地址:https://www.zhuanlichaxun.net/p-4042181.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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