监视并报告从源位置到目的地位置的数据上传的传输及完整性的制作方法

文档序号:11455527阅读:145来源:国知局
监视并报告从源位置到目的地位置的数据上传的传输及完整性的制造方法与工艺

背景

在现代计算系统中,在一个或多个计算机上生成并存储与数据库、电子邮件系统、web服务系统、在线软件供应系统、文档管理系统等相关联的大量数据。在一些情况下,大型数据中心容纳数百或者甚至数千台计算机,在这些计算机上运行各种应用软件并为一个或多个计算系统用户储存众多类型的数据。例如,大型数据中心可被用于为成百、成千或更多的个人用户、公司、教育机构或(其数据可被处理和储存的)任何其他实体处理和储存各种类型的数据。

必须在周期性的基础上(以定期和不定期的频率)将包括用户数据和/或系统数据在内的各种类型的数据从各个计算系统(计算机及计算机的网络)上传到一个或多个指定存储位置,根据接收方的需要在该一个或多个指定存储位置处对数据进行分析、报告或者以其他方式加以使用。由于数百或数千的计算系统(尤其是大数据中心的大量计算机)对必须被上传到一个或多个目的地存储位置的数据进行处理,源和目的地之间的数据传输中的错误会产生严重问题。例如,即使大型数据中心中工作着的50,000台计算机的1%的数据传输失败或者不完整,那么还是有来自500台计算机的数据将被认为是错误的。因此,存在针对用于监视并报告从源位置上传到目的地位置的数据的传输和完整性的方法和系统的需要。本发明正是关于这些以及其他考虑因素而被作出的。

概述

提供本概述以便以简化的形式介绍将在以下具体实施方式中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。

上述和其他问题是通过对从一个或多个源位置上传到一个或多个目的地位置的数据的上传传输和完整性的自动监视及报告来解决的。根据本发明的各方面,数据上传器模块被安装在每一个计算系统上,或者可由每一个计算系统访问,用户和/或系统数据可能需要从这些计算系统导出到目的地存储库。基于命令,给定的数据加载器模块对所请求的数据进行读取、转换(如果需要的话)并将其从源计算系统导出到指定的目的地存储位置或存储库。为了确保这样的数据从每个源系统被正确地导出到每个指定的存储库,传输的成功和数据传输的完整性被周期性地监视并报告。

根据本发明的各方面,测试数据从每个源系统被传递到一个或多个指定的存储库,以监控数据上传连接性以及数据上传器模块的正确操作。此外,被提取自源的数据与目的地接收到的数据周期性地进行比较,以对从源系统导出到目的地系统的数据的完整性进行分析和报告。传输或导出完整性中的错误根据需要被报告并被校正。

一个或多个实施例的细节在附图和以下描述中阐述。根据对以下详细描述的阅读和对相关联附图的审阅,其他特征和优点将是显而易见的。应当理解,以下详细描述只是解释性的并且不限制如要求保护的本发明。

附图简述

合并在本公开中且构成本公开的一部分的附图解说了本发明的各个方面。

图1是用于监视并报告从源位置到目的地位置的数据的上传和上传完整性的系统架构的一个示例的简化框图。

图2是用于监视并报告从源位置到目的地位置的数据的上传和上传完整性的数据上传器模块的一个示例的简化框图。

图3是用于监视并报告从源位置到目的地位置的数据的上传和上传完整性的示例方法的流程图。

图4是解说可实施本发明的各方面的计算设备的示例物理组件的框图。

图5a和5b是可实施本发明的各方面的移动计算设备的简化框图。

图6是可实施本发明的各方面的分布式计算系统的简化框图。

详细描述

以下详细描述参考了各附图。只要可能,就在附图和以下描述中使用相同的附图标记来指示相同或类似的元素。尽管描述了本发明的各实施例,但是修改、调适以及其他实现是可能的。例如,可对附图中所解说的元素进行替换、添加或修改,并且可通过对所公开的方法替换、重排或添加阶段来修改本文中所描述的方法。因此,以下详细描述并不限制本发明,而相反,本发明的准确范围是由所附权利要求来限定的。

如以上简要描述的,本发明的各实施例涉及对从一个或多个源位置上传到一个或多个目的地位置的数据的上传传输和完整性的自动监视及报告。如下面参考图1和图2详细描述的,上传器模块被安装在或者能够访问每个计算机或计算系统,数据将从这些计算机或计算系统被上传到指定的存储库。例如,在源计算机或计算系统处被生成和/或被处理的用户和/或系统数据可能需要从源系统被读取、根据需要被转换并接着被导出到指定的存储库,从中根据指定的存储位置处的接收方的需要来对数据进行分析、报告或者以其他方式加以使用。

根据本发明的各方面,为了确保从源系统到目的地系统的数据上传的质量和完整性,上传器模块周期性地测试其将数据从源系统上传到目的地系统的能力,并且周期性地测试由其从源系统上传到目的地系统的数据的完整性。为了测试从源系统上传到目的地系统的数据的传输质量,上传器模块周期性地将测试数据分组从给定的源位置传送到指定的目的地位置,并且传输中的任何错误根据需要被报告并被校正。此外,上传器模块生成完整性日志,关于经上传的数据的信息被写入该完整性日志中,并且上传器模块周期性地将完整性日志与在给定的目的地系统处实际接收到的数据进行比较,以确定从源系统上传到指定的存储系统的数据是否完整。数据上传完整性中的错误根据需要被报告并被校正。

图1是用于监视并报告从源位置到目的地位置的数据的上传和上传完整性的系统架构的一个示例的简化框图。系统架构100包括用于将数据从各种各样的源计算系统(或个体计算机)上传到各种各样的目的地存储库的各种示例计算组件。在图1的左侧,数据中心105解说了其中可以容纳数百、数千或更多的个体计算机或计算系统110a、110b、110n的数据中心,在这些计算机或计算系统上可以储存各种数据类型的数据,这些数据可以使用各种不同的计算过程(例如,各种各样的软件应用)来处理。例如,计算设备110a、110b、110n中的每一者可包括各种类型的计算机,例如,用于在数据库中存储用户数据的服务器计算机、电子邮件系统、文档管理系统等,并且计算系统110a、110b和110n可用于运行各种计算系统软件应用,例如,数据库应用、电子邮件系统应用、web服务应用、在线软件供应应用、生产力应用、数据管理系统应用、电信应用等。

如应当领会的,数据中心105还解说了许多数据中心中的一个,这些数据中心可以共处一处,或者可以位于不同位置并且可以经由用于在离散数据中心之间传递数据的各种传输系统与彼此相关联。此外,尽管数据中心105如上所述被解说成多个计算机系统110a-n可位于其中以提供数据和服务的数据中心,但数据中心105等效地解说了单个计算设备,诸如台式计算机、膝上型计算机、平板计算机、手持式计算机、或由个体用户操作的其他计算设备,来自这些计算设备的用户数据和/或计算机系统数据可被提取、转换(如果需要的话)并导出到目的地存储库以根据需要进行分析和进一步使用。

仍然参照数据中心105,每一个计算设备110a-n分别与一个上传器模块115a、115b、115n相关联,上传器模块用于从每个相关联的计算机/计算系统110a-n上传用户和/或系统数据并转换(如果需要的话),并且将被提取出的数据导出到指定的目的地存储库。上传器模块115a-n在以下结合图2进一步详细描述。根据本发明的一个方面,上传器模块115a-n可被安装在每个相关联的计算机/计算系统110a-n上。

替代地,单个上传器模块115a可作为独立的模块来被操作,该模块可与多个计算系统110a-n相关联。在这种情况下,上传器模块可作为远程上传器模块130操作,其可通过分布式计算网络(例如互联网或内联网)来访问一个或多个相关联的计算系统110a-n。换言之,根据本发明的各方面,上传器模块115a-n可被安装在相关联的计算设备110a-n上,或者上传器模块可在如本文所描述的计算设备的远程工作,数据可从该计算设备被提取出以用于数据的转换(如果需要的话)以及用于将数据导出到目的地存储库。

依然参考图1,边缘路由器120解说了一种用于将被提取出的数据从给定的上传器模块传递到数据中心105外部的系统的典型路由器设备。应当理解,边缘路由器120可以负责确保传递自给定的数据中心105的数据被正确地传递到理想目的地系统组件,例如,传递自上传器模块的经封包化的数据被正确地路由到系统100的正确的目的地组件。

分布式计算网络125解说了通过其数据可从数据中心被传递到数据中心外部的各组件(诸如以下描述的目的地存储库145a-n)的任意网络(诸如互联网或内联网)。

边缘路由器135解说了接收方边缘路由器,数据通过该接收方边缘路由器可被传递到负责确保在允许接收到的数据被传递到一个或多个目的地存储库145a-n之前接收到的数据被正确地认证的代理服务140。

存储库145a-n解说了可被授权接收经由上传器模块115a-n上传的数据的任何数据存储库。例如,目的地存储库145a-n可与服务提供商相关联以储存并分析与为服务提供商的顾客提供的计算系统和软件服务相关联的数据。例如,存储库145a可被指定成用于接收与给定的服务提供商所提供的电子邮件服务相关联的用户数据和计算系统数据。存储库145b可被指定成用于接收并分析与给定的服务提供商的web服务相关联的用户数据和系统数据。类似地,目的地储存库145n可与在线软件供应相关联,例如经由一个或多个在线软件应用服务系统被提供给各种用户的对文字处理服务、幻灯片演示应用服务、数据库应用服务、电子表格应用服务、电信应用服务等的供应。

如应当理解的,目的地存储库145a-n中的每一个均可与不同的服务提供商或者与用户和/或计算系统数据的不同请求者相关联。例如,存储库145a可与第一电信或软件应用服务提供商相关联,存储库145b可与第二服务提供商相关联,依此类推。

如本领域技术人员应当理解的,计算系统服务、数据管理服务、在线软件应用服务、web服务等的提供商常常需要检查、分析以及以其他方式管理计算系统数据和用户数据以确保数据和计算系统服务正根据需要工作并被维护。例如,在线软件服务的提供商可能需要周期性地审核在大型数据中心105处被维护的数百或数千台服务器计算机110a-n的工作中的功能和能力。类似地,在线软件服务的提供商可能需要监控被储存在这类数据中心系统上的用户数据以确保用户数据正如服务提供商与各种顾客之间的服务协定所要求的被正确地处理。在这种情况下,来自给定的计算机的工作数据和/或用户数据可由相关联的上传器模块115a根据与被提取出的数据相关联的任意数据类型来被提取出并且可被传递给并被储存在期望的存储库145a-n上供作出请求的服务提供商或用户进行分析。

在数据被传递给目的地存储库之前,数据可能出于各种原因需要转换。例如,如果数据包含与给定的用户相关联的敏感的机密和/或个人信息,例如用户的姓名、社保号、驾照号、财务数据等,则这类个人可标识信息(pii)可在数据被传递给目的地存储库之前从数据中由上传器模块擦除,以避免这类个人可标识信息被传递给未经授权的个人或实体。类似地,如果从数据中心105处的计算系统中的给定的计算机中提取出的数据根据第一格式被储存,然而该数据在期望的目的地存储库中将根据第二格式来被储存,则上传器模块115可将该数据从第一格式转换成第二格式,使得该数据可在目的地存储库中被正确地储存及使用。

仍然参照图1,根据本发明的各方面,每个目的地存储库145a-n可配备或关联上传器模块150a、150b、150n,这些上传器模块可被用于提取、转换以及储存来自数据中心105的远程的数据中心105处的计算系统110a、110b、100n的用户数据和/或计算系统数据。换言之,可从各个作出请求的目的地存储库145a、145b、145n操作上传器模块150a到150n以请求、读取、转换以及储存所需的用户或计算系统数据。因此,如上所述的,上传器模块115a、115b、115n可被安装在各个计算系统110a到110n上或与其相关联,远程上传器130可被用于读取、转换、并经由分布式计算网络来导出数据,该分布式计算网络可被用于访问期望的计算系统110a到110n,或者上传器模块115a、115b、115n可访问在各个目的地存储库的远程的所需数据。替代地,上传器模块115a-n可被用于提取数据、转换数据以及以与用于将数据从计算系统110a-n导出所述相同的方式来导出数据。

分析模块155a、155b、155n解说了存储库145a-n处的可被用于按照需要分析、报告、以及导出接收到的数据的软件应用或其他可执行模块。例如,分析模块155a可用于分析由所提供的在线软件服务生成的文档以确保这类文档如所要求的在相应的计算设备110a-n处被正确地保存。分析模块155b可解说用于分析电子邮件流量以确保电子邮件消息在相关联的数据中心计算设备110a-n处根据所要求的电子邮件服务处理来被生成和处理的软件应用或其他可执行模块。换言之,任何分析模块155a-n可在给定的目的地存储库处被用于按照来自上传器模块115a-n、130、150a-150n的数据的接收方所要求的对接收到的数据进行分析。

根据本发明的各方面,在任何一个目的地存储库145a-145n处被储存和分析以及以其他方式被使用的数据可在之后根据需要被导出到其他目的地。例如,这类数据可被分析并报告给一个或多个服务提供商的顾客以向作出请求的顾客针对服务提供商所执行的处理进行周期性地报告。此外,被储存在任何一个目的地存储库145a-n处的数据可通过图1中解说的系统100被传递回来,以供存储回从中最初提取了该数据的计算设备110a-n。

现在参考图2,解说并描述了数据上传器115a-n。如以上简要描述的,数据上传器115a-n是包含足够用于读取、转换(如果需要的话)以及将来自一个或多个数据源110a-n的各种数据类型的数据导出到一个或多个数据存储145a-n的计算机可执行指令的软件应用或软件模块。参考图2,数据上传器115a-n包括用于接收数据上传指令以及用于指导数据上传器模块115a-n的各组件的处理的操作模块205。配置文件读取器210是一个模块,数据上传器115a-n用该模块来读取数据上传指令的配置文件215,如以下描述的。数据读取器模块225可用于经由数据读取器插件模块227a-n来读取各种数据类型的数据。数据转换模块230是可用于响应于从配置文件215中读取的数据转换信息经由数据转换插件232a-n来对数据进行转换的模块。数据导出模块235可用于经由数据导出插件237a-n将数据从存储器导出到由从配置文件215中接收到的指令所指派的指定目的地存储库145a-n。

换言之,数据读取器模块225、数据转换模块230、数据导出模块235是数据上传器模块115a-n的用来读取、转换和导出如配置文件215中包含的信息所指定的各种类型的数据的模块。并且,模块225、230、235中的每一个可被启用以基于各种插件227、232、237所指示的来读取、转换和导出数据,这些插件由数据上传器操作模块205访问或者被安装在数据上传器115a-n上以允许上传器115a-n根据被指定成用于上传到给定的目的地存储库145a-n的各种数据类型220来读取、转换和导出数据。

如针对不同类型的数据读取、转换和导出所要求的,各种数据读取器、数据转换和数据导出插件模块227、232、237可被提供给数据上传器115a-n或者可由数据加载器模块115a-n访问。例如,需要从在数据中心105处工作的各个计算设备接收经转换的数据的服务提供商可提供数据读取器插件、数据转换插件以及数据导出插件供数据上传器模块115a-n使用以根据它们各自的需求来读取、转换和导出数据。

如本文所描述的可被读取、转换以及导出的数据可以具有几乎无限数量的不同数据类型。这类数据可以是操作系统事件、文本文件、xml文件、html文件、数据库(例如sql数据库)的内容、电子邮件文件、日程信息、文字处理文档、电子表格文档、幻灯片演示文档、任务文档以及文件等的形式。

如应当理解的,给定的数据上传器115a-n可被安装在给定的计算设备110a-n上或者可以以其他方式与给定的计算设备110a-n相关联或提供有对计算设备110a-n的访问,并且数据上传器115a-n可被启用以用于通过关联数据读取器插件227a-n来读取许多不同类型的数据,从而允许数据上传器115a-n读取指定类型的数据。类似地,上传器115a-n可被启用以根据需要通过将上传器与所需转换所要求的数据转换插件相关联来转换数据。类似地,上传器模块115a-n可被启用以根据需要通过将上传器与合适的数据导出插件237a-n相关联来导出数据。

配置文件215a解说了可被上传器模块115a-n访问的用于接收给定数据集或给定数据类型的数据上传指令的文件。被包含在配置文件中的数据上传指令可提供包括与要被上传的数据相关联的数据类型、数据读取指令以及用于允许上传器模块访问所需数据的安全性信息在内的信息。此外,配置文件可提供关于所需数据要被如何转换(如果需要的话)的指令以及关于经上传的数据要被储存在何处以及经导出的数据要按哪种文件类型被储存的指令。

仍然参考图2,连接性和完整性模块240解说了在上传器模块115a-n中工作或与之相关联的软件模块,该软件模块包含足够的计算机可执行指令以用于监视并报告从源计算系统110a-n被上传到目的地存储库145a-n的数据的上传成功及完整性,如上所述。根据本发明的各方面,连接性和完整性模块240在操作模块205的指示下由上传器模块115a-n操作,以执行用于测试给定的源系统110a-n与指定的目的地存储库145a-n之间的数据传输的可靠性的连接性诊断。换言之,根据第一诊断操作,连接性和完整性模块240测试源系统与指定的存储系统之间的数据传输管线的可操作性,以确保在源系统和目的地系统之间传递的数据的传输质量。由连接性和完整性模块240执行的第二诊断包括对从给定的源系统110a-n上传到指定的目的地存储库145a-n的数据的完整性的测试。

根据第一诊断测试,数据上传器115a-n测试数据是否可从源计算设备或系统110a-n被成功地传递到目的地存储库145a-n。通过该第一测试,针对数据上传器的关于数据上传器实际是否被安装在给定的计算设备或系统上并且可访问指定的目的地存储库(即,与之通信)的初步问题可得到解答。如下面将参照图3进一步详细描述的,为了执行该第一诊断测试,数据上传器周期性地从计算设备或系统110a-n(数据上传器被安装在计算设备或系统110a-n上或者与之相关联)生成并发送数据分组,其看起来像从给定的计算设备或系统110a-n被提取出的普通数据分组。如上所述,测试数据分组不需要读取或变换数据,而是根据与目的地存储库相关联的数据导出插件237a-n来仅被发送到指定的目的地存储库145a-n,以确定数据分组是否实际可从源位置被导出到目的地位置。通过将测试数据分组作为“心跳(heartbeat)”消息从源位置发送到目的地位置,传输数据可被生成以用于允许对以下情况的分析:给定的源设备或系统与指定的目的地系统之间的哪些传输管线(如果有的话)由于相关联的数据上传器的故障或者源和目的地系统之间的连接性问题而不可操作。

根据第二诊断测试,从源位置被上传到目的地位置的数据的完整性可通过在源计算机或系统110a-n处生成日志文件来被监视、分析和报告,关于从源设备或系统被提取出的数据的信息被写入源计算机或系统110a-n中,该信息可以与从指定的存储库接收到的信息进行比较,以用于确定从源系统读取的数据是否与在目的地系统处接收到的数据匹配以供确定上传的完整性。

以上已结合图1和图2描述了用于本发明的各个方面的系统架构,图3是用于自动监视及报告从一个或多个源位置到一个或多个目的地位置的数据上传的上传传输和完整性的示例方法的流程图。例程300起始于开始操作305,并进行到操作310,其中如图2所例示的给定的上传器模块115a-n被指令来监视并报告指定的源计算机/系统110a-n到指定的目的地存储库145a-145n之间的数据传输。

在操作310,上传器模块115a-n确定用于监视并报告从指定的源到指定的目的地的经传输的数据的数据传输和完整性。应当理解,测试参数可包括诸如上传器模块被安装在其上或者上传器模块能够访问的源计算设备/系统的身份以及数据要被导出到的目的地存储位置的身份、要被执行的测试类型、要被执行的测试的频率之类的信息等。例如,上传器模块可被指令传递标识源设备/系统110a-n的测试数据分组、测试数据分组的长度、与测试数据分组的传输相关联的日期/时间戳等。替代地,上传器模块115a-n可被指令传递实际内容片段(例如,用户数据项或者与指定的源计算机的操作相关联的数据项)作为测试数据分组中的内容项。在频率方面,上传器模块可根据任何可配置的频率(例如,在24小时内每隔五分钟)将测试数据分组作为被导出的数据分组传递到指定的目的地存储库。

应当理解,上述仅仅是可由上传器模块115a-n利用以用于将测试数据分组从源传递到目的地以供测试传输成功和导出完整性的信息类型和导出频率的示例。根据本发明的一个方面,测试参数可经由配置文件215被传递到上传器模块,或者测试参数可从指定的源设备或系统被传递到上传器文件。替代地,测试参数可根据来自与给定的目的地存储库145a-n相关联的数据上传接收方的指令从给定的目的地设备或系统被传递到上传器模块,以用于测试上传器模块的操作。

在操作315,数据上传器模块115a-n生成用于导出到指定的目的地存储库145a-n的测试数据分组。根据本发明的一个方面,测试数据分组不是通过从源计算机/系统110a-n读取实际的用户和/或系统数据而被生成的,也不是被包含在测试数据分组中的数据所需的数据的任何变换。替代地,如应当理解的,上传器模块115a-n可被配置成从计算机/系统110a-n读取实际的用户/系统数据,随后进行数据的测试或示例变换(如上面参考图1和2所描述的),使得被导出到指定的目的地存储库145a-n的数据分组包含可在正常上传器数据导出期间被传递的数据类型的样本。在任一情况下,从数据上传器到指定的目的地的测试数据分组传输用作用于验证上传器与指定的目的地位置之间的传输连接性的可操作性的心跳。

根据一个方面,经生成的测试数据分组可至少包括标识与上传器相关联的源计算机/系统110a-n的用于测试的信息、与测试数据导出相关联的日期/时间戳、用于导出数据的任何数据导出插件的标识以及预期的接收方目的地存储库145a-n的标识。此外,使用中的数据上传器的版本标识符将被提供在测试数据分组中,以用于在发生传输连接困难的情况下将数据上传器版本与其他数据上传器版本进行比较。例如,如果给定版本的使用中的数据上传器是过时的,以使得其不能由经最近更新的源计算设备/系统识别,则关于当前使用中的数据上传器115的版本的信息可能对于确定任何发生的传输困难的性质而言是重要的。

在操作320,数据上传器115a-n将测试数据分组传送到指定的目的地。应当理解,测试数据分组可在周期性的基础上(例如,在24小时内每隔五分钟)按指令被发送到指定的目的地。在这种情况下,每个测试数据分组可以与除了在测试时间段期间可能改变的信息以外的测试时间段期间被发送的其他测试数据分组完全相同。例如,在测试时间段期间,每个测试数据分组的日期/时间戳将不同于其他测试数据分组,并且对测试中正被使用的系统的任何改变可被反映在被填充到测试数据分组中的信息中。例如,如果测试数据分组在24小时时间段内被发送,并且在24小时时间段期间,版本更改或其他更改在源计算设备/系统或数据上传器上生效,则这样的信息可被放置在从源计算机/系统被传递到指定的目的地存储库145a-n的后续测试数据分组中。

根据本发明的一个方面,数据上传器可经由多个数据导出插件237a-n将来自给定的源计算机/系统110a-n的测试数据分组发送到一个或多个指定的目的地存储位置,以供除了测试系统的其他组件的传输可操作性以外,针对每个数据导出插件的可操作性对每个数据导出插件进行测试,如本文所述。

仍然参考图3,在操作325,对经导出的测试数据分组的分析可被执行,以确定数据上传器、任何所使用的数据导出插件以及在数据上传器与接收方指定的目的地存储位置之间的任何传输组件的传输可操作性。根据一个方面,由于每个测试数据分组在指定的目的地存储库处被接收,所以目录文件或其他文件可用与具有心跳日志形式的接收到的数据分组相关联的信息或其他适用的数据文件来填充,以用于接收并列出接收到的测试数据分组。例如,被包含在这样的文件目录或心跳日志中的条目可指示从运行空白配置文件的源计算机“pqr”接收到的测试数据分组“xyz”在给定的日期和时间被接收并被记录。示例日志条目还可包括标识信息,包括负责发送测试数据分组的数据上传器的版本信息,以及测试数据导出中所使用的任何数据导出插件的标识信息。如果测试数据分组包括实际的用户和/或系统数据,则该用户/系统数据可以与其他测试数据分组信息一起被记录在心跳文件中。

在对被包含在心跳日志中的接收到的测试数据分组信息的分析期间,对来自各种源计算机设备/系统的接收到的测试数据分组的比较可以与如上文参照图1和图2所例示和描述的数据将从中经由数据上传器被导出的已知的计算机设备/系统的列表进行比较。因此,如果测试数据分组从一个或多个已知的计算设备/系统110a-n中的每一个被发送到一个或多个对应的指定的目的地存储库145a-n,并且测试数据分组未被接收并被输入到任何一个或多个已知的计算设备/系统的心跳日志中,则对于在尝试测试数据分组的情况下未从其接收到测试数据分组的那些计算机或计算系统,可能会注意到传输失败。

在操作330,如果确定存在其中未从源计算系统110a-n接收到一个或多个测试数据分组的连接性问题,则方法300进行到操作360,其中如所确定的,错误被报告并且可以对如图1所示的系统100中的一个或多个组件进行校正。例如,如果测试数据分组是从一个计算设备110a-n,而不是从第二计算设备110a-n(其中两个计算设备正在使用同一连接系统)被接收到的,则可以确定问题存在于与从中未接收到测试数据分组的计算机或计算系统相关联的数据上传器,或者被用于错误测试数据分组传输的导出插件可能存在问题。应当理解,这些仅是可以基于如上所述的缺少对测试数据分组的接收而被分析的组件故障或传输系统故障的示例。各种校正动作可被采用来校正传输故障,包括重新安装疑似故障的数据上传器115a-n,重新安装一个或多个数据导出插件,检查边缘路由器120、135,检查在代理服务140处可能发生的认证问题等。

如上所述,除了分析测试传输以外,对测试数据分组结果的报告可被执行。例如,一份报告,其指示测试数据分组显示90%的已安装的数据上传器是正确连接的,8%是已安装但没有正确连接的(例如,上周从这些数据上传器接收到了心跳测试消息但目前却没有的情况),而2%的经测试的数据上传器目前既不工作也没有在过去成功传递测试数据分组。这类经报告的信息可由管理人员使用以用于确定数据传输问题并用于使校正更改生效。

此外,版本报告可针对测试数据分组传输中所使用的组件来被生成。例如,版本报告可能会显示,85%的经测试的数据上传器是缺少一个版本更新的当前版本,5%的经测试的数据上传器是缺少两个版本更新的当前版本,而5%的数据上传器是当前版本。因此,这样的报告可能会促使管理人员意识到95%的当前运行的数据上传器不是当前版本,并且可能需要版本升级才能确保正常运行。

在操作335,数据上传器模块的连接性和完整性模块240进行第二诊断测试,以确定从指定的源计算设备/系统110a-n被导出到一个或多个指定的目的地存储库145a-n的数据的完整性。完整性日志在与正被测试的数据上传器115a-n相关联的本地计算设备/系统110a-n处被生成。为了完整性测试的目的,如上所述,测试数据分组可被导出到目的地存储位置,或者完整性测试可针对实际的用户和/或系统数据的一次或多次上传来被执行,如上文参考图1和2所述。

在任一情况下,由于数据分组(无论是测试还是实际的)被上传,与该数据分组相关联的信息可被写入完整性日志并被储存在计算设备/系统110a-n和相关联的数据上传器处的本地存储器中,以用于随后与在指定的目的地存储库处接收到的信息进行比较。例如,一个完整性日志条目,诸如“时间戳上午10:30,从目录123中读取日志文件a,目录123包含五个大小各为十兆字节的文件”。在向完整性日志写入信息之后,相关联的数据分组(无论是测试还是实际的)被上传到指定的目的地存储库,如以上参照图1和图2所述。

作为响应,数据上传器从指定的目的地存储库接收回信(callback),该回信提供关于目的地存储库已接收到的内容的信息。例如,目的地存储位置可将回信传递给数据上传器,该回信表示目的地存储位置接收到与由数据上传器传递的信息相等且相对应并且由数据上传器输入到完整性日志中的信息。替代地,数据上传器可从目的地存储库接收回信,该回信提供与为经上传的数据提供的信息不匹配的信息。在任一情况下,在操作340,数据上传器将回信信息写入完整性日志,并且在操作345,数据上传器将完整性日志发送到指定的目的地存储库以供分析。

根据本发明的各方面,完整性日志是当上传器正在运行时被写入本地盘或存储器的日志。当上传器从确收经上传的完整性日志的目的地获取回信时,上传器在记录回信信息的日志中写入另一行,例如“时间戳上午10:35,成功上传4兆字节的日志类型a”。因此,上传器然后将该日志写入光盘,然后将其自己的日志上传到目的地,如宇宙(cosmos)。上传器在其运行时上传其自己的完整性日志。完整性日志的准确性与心跳数据相结合来被采信。因此,心跳数据确认数据传输管线是开启的,并且此外,心跳数据提供了经传输的数据的完整性的可靠性。

在操作350,对接收到的完整性日志的分析可在接收方目的地存储库处被执行,以用于确定从计算设备/系统110a-n提取出的信息是否与在指定的目的地存储库处接收到的数据匹配以供确定数据上传是否完成。例如,当完整性数据到达目的地时,分析工作可以在提供关于上传器的性能和正被上传的数据的质量的各种有用信息的数据上进行。也就是说,完整性日志可随时间来被审阅以跟踪诸如日志类型、随时间的存储器中的文件大小等各种数据信息。例如,一则分析可能显示在上午10:00的时间戳处存储器中的文件大小为5兆字节,上午11:00的文件大小为10兆字节,而中午12:00的文件大小为15兆字节,从而得到显示被测试的上传器能够每小时上传5兆字节的趋势。如果下一个完整性日志条目显示文件大小只有1兆字节,则可能会出现对所考虑的上传器不再传递预期的数据量的担忧。因此,各种上传器性能度量可被分析,诸如随时间的日志大小、上传大小、上传速度等。

如果在操作350,确定发生了从给定的计算设备/系统110a-n经由给定的数据上传器115a-n的不完整的数据上传,则在操作360,错误可被报告并且校正动作可被完成,如上所述。该例程在操作395处结束。

尽管已经在结合在计算机上的操作系统上运行的应用程序执行的程序模块的一般上下文中描述了本发明,但是本领域技术人员将认识到本发明还可结合其他程序模块实现。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构及其他类型的结构。

本文中所描述的实施例和功能可经由多个计算系统操作,这些计算系统包括而不限于台式计算机系统、有线和无线计算系统、移动计算系统(例如,移动电话、上网本、平板或板式计算机、笔记本计算机、以及膝上型计算机)、手持设备、多处理器系统、基于微处理器或可编程消费性电子设备、小型计算机、以及大型计算机。

此外,本文中所描述的实施例和功能可在分布式系统(例如,基于云的计算系统)上操作,其中应用功能、存储器、数据存储和检索、以及各种处理功能可在分布式计算网络(诸如互联网或内联网)上彼此远程地操作。各种类型的用户界面和信息可经由板上计算设备显示器或者经由与一个或多个计算设备相关联的远程显示单元显示。例如,各种类型的用户界面和信息可显示并且在各种类型的用户界面和信息在其上投影的墙面上交互。与通过其可实践本发明的实施例的多个计算系统的交互包括按键输入、触摸屏输入、语音或其他音频输入、其中相关联的计算设备配备有用于捕捉和解释用户手势以控制计算设备的功能的检测(例如,相机)功能的手势输入等等。

图4-6及相关联的描述提供了其中可实施本发明的各实施例的各种操作环境的讨论。然而,关于图4-6所示出和讨论的设备和系统是用于示例和说明的目的,而非对可被用于实施本文所述的本发明的各实施例的大量计算设备配置的限制。

图4是示出可用来实施本发明的各实施例的计算设备400的物理组件(即硬件)的框图。下面描述的计算设备组件可适用于上述的计算设备110、115、145。在基本配置中,计算设备400可包括至少一个处理单元402以及系统存储器404。取决于计算设备的配置和类型,系统存储器404可包括但不限于易失性存储(例如,随机存取存储器)、非易失性存储(例如,只读存储器)、闪存、或者此类存储器的任何组合。系统存储器404可包括操作系统405和适合于运行软件应用450的一个或多个程序模块406。例如,操作系统405可适合于控制计算设备400的操作。此外,可结合图形库、其他操作系统、或者任何其他应用程序来实践本发明的实施例,并且这些实施例不限于任何特定的应用或系统。该基本配置在图4中由虚线408内的那些组件示出。计算设备400可具有附加特征或功能。例如,计算设备400也可以包括附加的数据存储设备(可移动和/或不可移动),诸如磁盘、光盘或带。这些附加存储在图4中由可移动存储设备409和不可移动存储设备410示出。

如上所声明的,大量程序模块和数据文件可被存储在系统存储器404中。尽管在处理单元402上执行,但是程序模块406可以执行包括但不限于下列过程:图3中所示的方法300的各阶段中的一个或多个。根据本发明的实施例可使用的其他程序模块可包括应用,诸如电子邮件和联系人应用、文字处理应用、电子表格应用、数据库应用、幻灯片演示应用、绘图或计算机辅助应用等。

此外,可在电气电路中实践本发明的实施例,该电气电路包括离散电子元件、包含逻辑门的封装或集成电子芯片、利用微处理器或者在包含电子元件或微处理器的单个芯片上的电路。例如,可以通过片上系统(soc)来实施本发明的各实施例,其中,可以将图4中示出的每个或许多组件集成到单个集成电路上。此类soc设备可包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元、以及各种应用功能,所有这些单元被集成(或“烧制”)到芯片基板上,作为单个集成电路。当通过soc操作时,在此相对于提供跨多个工作负载的活动流描述的功能可以通过在单个集成电路(芯片)上集成有计算设备/系统400的其他组件的专用逻辑来操作。还可使用能够执行逻辑操作(诸如举例而言,与、或、以及非)的其他技术来实践本发明的实施例,这些技术包括但不限于机械、光学、流体和量子技术。此外,可在通用计算机内或者在任何其他电路或系统中实践本发明的实施例。

计算设备400也可具有一个或多个输入设备412,如键盘、鼠标、笔、语音输入设备、触摸输入设备等等。也可包括(诸)输出设备414,如显示器、扬声器、打印机等等。前述设备是示例,并且可使用其他设备。计算设备400可包括允许与其他计算设备418通信的一个或多个通信连接416。合适的通信连接416的示例包括但不限于rf发射机、接收机、和/或收发机电路系统、通用串行总线(usb)、并行和/或串行端口。

如本文中所使用的术语计算机可读介质可包括计算机存储介质。计算机存储介质可包括以用于存储信息(诸如计算机可读指令、数据结构、或者程序模块)的任何方法和技术实现的易失性和非易失性、可移除和不可移除介质。系统存储器404、可移除存储设备409、以及不可移除存储设备410都是计算机存储介质示例(即,存储器存储)。计算机存储介质可包括ram、rom、电可擦除只读存储器(eeprom)、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁存储设备、或者可用于存储信息且可由计算设备400访问的任何其他制品。任何此类计算机存储介质可以是计算设备400的一部分。计算机存储介质不包括载波或者其他经传播或经调制的数据信号。

通信介质可通过计算机可读指令、数据结构、程序模块、或者经调制的数据信号(诸如载波或者其他传送机制)中的其他数据体现,并且包括任何信息传递介质或传输介质。术语“经调制的数据信号”可描述具有以对该信号中的信息进行编码的方式设置或改变的一个或多个特性的信号。通过示例而非限制,通信介质可包括诸如有线网络或直接有线连接之类的有线介质、以及诸如声、射频(rf)、红外和其他无线介质之类的无线介质。

图5a和5b示出可用来实施本发明的各实施例的移动计算环境500,例如移动电话、智能电话、平板个人计算机、膝上型计算机等。参考图5a,示出了用于实现各实施例的移动计算设备500的一个实施例。在基本配置中,移动计算设备500是具有输入元件和输出元件两者的手持计算机。移动计算设备500通常包括显示器505以及允许用户将信息输入移动计算设备500的一个或多个输入按钮510。移动计算设备505的显示器500还可用作输入设备(例如,触摸屏显示器)。如果被包括在内,任选的侧输入元件515允许进一步的用户输入。侧输入元件515可以是旋转开关、按钮、或者任何其他类型的手动输入元件。在替代实施例中,移动计算设备500可合并或多或少的输入元件。例如,在一些实施例中,显示器505可以不是触摸屏。在又一替代实施例中,移动计算设备500是便携式电话系统,诸如蜂窝电话。移动计算设备500还可包括任选的小键盘535。任选的小键盘535可以是物理小键盘或者在触摸屏显示器上生成的“软”小键盘。在各个实施例中,输出元件包括用于示出图形用户界面(gui)的显示器505、视觉指示器520(例如,发光二极管)、和/或音频换能器525(例如,扬声器)。在一些实施例中,移动计算设备500合并用于向用户提供触觉反馈的振动换能器。在又一实施例中,移动计算设备500结合诸如音频输入(如传声器插孔)、音频输出(如耳机插孔)、以及视频输出(如hdmi端口)之类的外围设备端口540,用于将信号发送到外部设备或从外部设备接收信号。

图5b是示出移动计算设备的一个实施例的架构的框图。换言之,移动计算设备500可结合一系统(即架构)502以实现某些实施例。在一个实施例中,系统502被实现为能够运行一个或多个应用(例如,浏览器、电子邮件、日历、联系人管理器、消息收发客户端、游戏、以及媒体客户端/播放器)的“智能电话”。在一些实施例中,系统502被集成为计算设备,诸如集成个人数字助理(pda)和无线电话。

一个或多个应用程序550可被加载到存储器562中,并且在操作系统564上或者与其相关联地运行。应用程序的示例包括电话拨号程序、电子通信程序、个人信息管理(pim)程序、文字处理程序、电子表格程序、互联网浏览器程序、消息通信程序等等。系统502还包括存储器562内的非易失性存储区域568。非易失性存储区域568可用于存储持久性信息,如果系统502断电,该持久性信息则不会丢失。应用程序550可使用和存储非易失性存储区域568中的信息,诸如电子邮件应用所使用的电子邮件或其他消息等。同步应用(未示出)还驻留在系统502上,并且被编程为与驻留在主机计算机上的相应同步应用交互以使存储在非易失性存储区域568中的信息保持与存储在主机计算机的相应信息同步。如应当理解的,其他应用也可被加载到存储器562并在移动计算设备500上运行。

系统502具有可被实现为一个或多个电池的电源570。电源570可能进一步包括外部电源,诸如补充电池或对电池再充电的ac适配器或供电底座(powereddockingcradle)。

系统502还可包括执行发射和接收射频通信的功能的无线电572。经由通信载体或服务供应者,无线电572促进系统502和“外部世界”之间的无线连接。在操作系统564的控制下进行与无线电572之间的传输。换句话说,可经由操作系统564将无线电572接收到的通信散布到应用程序550反之亦然。

可以使用视觉指示器520来提供视觉通知和/或可以使用音频接口574来通过音频换能器525产生可听通知。在所解说的实施例中,视觉指示器520是发光二极管(led)而音频换能器525是扬声器。这些设备可直接耦合到电源570以使它们在激活时保持开启达通知机制所陈述的持续时间,即使处理器560以及其他组件可能关闭以节约电池电量。led可被编程为无限地保持开启,直至用户采取措施来指示该设备的开启状态。音频接口574用于向用户提供听得见的信号且接收来自用户的听得见的信号。例如,除了耦合到音频换能器525以外,音频接口574还可耦合到话筒以接收听得见的输入,诸如促进电话交谈。根据本发明的实施例,话筒还可用作音频传感器以促进对通知的控制,如将在下文中所描述的。系统502可进一步包括允许板载相机530的操作来记录静止图像、视频流等的视频接口576。

实现系统500的移动计算设备502可具有附加特征或功能。例如,移动计算设备500还可包括附加数据存储设备(可移除和/或不可移除),诸如磁盘、光盘或带。这种附加存储设备在图5b中用非易失性存储区568示出。

如上所述,通过移动计算设备500生成或捕捉且经由系统502存储的数据/信息可在本地被存储在移动计算设备500上,或者该数据可被存储在可由该设备经由无线电572或者经由移动计算设备500与关联于移动计算设备500的单独计算设备(例如,分布式计算网络中的服务器计算机(诸如互联网))之间的有线连接访问的任意数量的存储介质上。如应当领会的,可经由移动计算设备500、经由无线电572、或者经由分布式计算网络访问此类数据/信息。类似地,可以在根据熟知的数据/信息转移和存储装置(包括电子邮件和协同数据/信息共享系统)的用于存储和使用的计算设备之间容易地转移此类数据/信息。

图6示出用于跨分布式计算环境的各组件来提供本文中描述的功能的系统的架构的一个实施例。与上文描述的应用相关联地进行开发、交互或编辑的内容可被存储在不同通信信道或其他存储类型中。例如,可使用目录服务622、web门户624、邮箱服务626、即时消息存储628、或者社交网站630来存储各种文档。如本文中描述的,应用450(例如,电子通信应用)可使用用于跨多个工作负载来提供本文中描述的功能的这些类型的系统中的任意。服务器615可为客户端605a-c和110a-n提供功能。作为一个示例,服务器615可以是通过web提供此处所描述的应用功能的web服务器。服务器615可在web上通过网络125、610向客户端605a-c和110a-n提供应用功能。作为示例,计算设备110a-n可被实现并被具体化在个人计算机605a、平板计算设备605b和/或移动计算设备605c(例如智能电话)或者其他计算设备中。客户端计算设备的这些实施例中的任一个可从存储616获得内容。

例如,以上参考根据本发明的实施例的方法、系统和计算机程序产品的框图和/或操作解说来描述本发明的实施例。框图中所注释的功能/动作可以不按照如任一流程图中所示的次序发生。例如,连续示出的两个框实际上可基本并发地执行,或者取决于所涉及的功能/动作,这些框有时可以相反的次序执行。

本申请中所提供的一个或多个实施例的描述和解说并非旨在限制或限定如以任何方式要求保护的本发明的范围。本申请中所提供的实施例、示例和细节被认为足以传达占有且使其他人能够得到和使用要求保护的发明的最佳模式。要求保护的发明不应当被解释为限于本申请中所提供的任一实施例、示例或细节。不管是组合还是单独地示出和描述,各个(结构和方法)特征旨在选择性地包括或省略以产生具有一组特定特征的实施例。已经提供有本申请的描述和解说,本领域技术人员可设想落入在不背离要求保护的发明的更宽范围的本申请中体现的一般发明性概念的更宽泛方面的精神的变体、修改、以及替代实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1