用于源目标映射的基于电子表格程序的数据分类的制作方法

文档序号:6379905阅读:305来源:国知局
专利名称:用于源目标映射的基于电子表格程序的数据分类的制作方法
技术领域
本发明一般涉及电子表格程序,例如,涉及用于源目标映射的基于电子表格程序的数据分类。
背景技术
随着计算技术的发展以及计算设备变得更普遍,使用计算机对于日常活动已经变得常见。例如,个人可能利用云计算环境中的云数据服务。云计算可提供各种计算能力(例如,软件、数据访问、存储服务等),而无需用户(例如,终端用户)知晓递送服务的系统的物
理位置和/或配置。此外,电子表格程序的用户在电子表格上维护表格数据集。通常,用户想要通过与外部数据源进行交互来纠正、改进、和/或扩充其电子表格中的数据(例如,用于广告目的、用于各种目的经更新的信息等)。然而,电子表格程序数据集模式(例如,用电子表格对数据的组织)可能与外部数据源的电子表格模式不同。然而,电子表格程序数据集模式与外部数据源的数据集模式可能具有共享对应的和/或相似的信息语义的属性。为了使电子表格程序的用户标识并使用外部数据,可手动地分析外部数据集以确定这些数据集可如何映射到电子表格程序的数据集。此外,信息从外部集合到电子表格程序数据的任何传送是手动执行的,或用于映射该信息并执行该传递的过程是手动创建的。这是耗时的且可能是令人沮丧的,并且增加对电子表格内的数据进行更新、纠正、扩充等过程的花费。当今计算系统和电子表格程序的上述缺点仅旨在提供常规系统的一些问题的概览,并且不旨在是穷尽性的。常规系统的其他问题以及此处所描述的各非限制性实施例的对应的益处可以在审阅以下描述后变得更显而易见。

发明内容
此处提供了简化的概述以帮助能够对以下更详细的描述和附图中的示例性、非限制性实施例的各方面有基本或大体的理解。然而,本概述并不旨在是详尽的或穷尽的。相反,本发明的唯一目的在于,以简化的形式提出与一些示例性、非限制性实施例相关的一些概念,作为以下各实施例的更详细的描述的序言。本文公开的各方面涉及匹配用户数据的服务模式和匹配用户数据的第三方云模式。外部数据集可被映射或标记以便将其属性分成标准信息类型。在电子表格应用内,用户可分类其基于电子表格的数据集的属性。该分类允许执行自动过程。这样的过程包括自动地对应外部数据源和数据集检测、电子表格数据集与外部数据集的并集和交集、自动的值和实体匹配、以及信息传送,以便改进基于电子表格的数据集的质量。这些和其他实施例在下文中更详细地描述。


参考附图进一步描述各非限制性实施例,在附图中图1示出了根据一方面的示例性计算系统的框图;图2是示出根据一方面的包含列标识符组件、列识别组件、以及外部源分类器的映射管理器组件的框图;图3示出根据一方面的数据查找服务映射的示例性示意表示;图4示出根据一个方面的可向用户提供以促进用于源目标映射的基于电子表格程序的数据分类的示例性提示的示意表示;图5示出根据一个方面的包含传送组件、聚集组件、分析组件和匹配组件的修订组件;图6示出根据一方面的用于源目标映射的方法的非限制性流程图;图7示出根据一方面的用于源目标映射的基于电子表格的数据分类的非限制性流程图;图8示出根据一方面的用于自动映射的非限制性流程图;图9是表示其中可实现在此处所述的各个实施例的示例性、非限制性联网环境的框图;以及图10是表示其中可实现此处所述的各个实施例的一个或多个方面的示例性、非限制性计算系统或操作环境的框图。
具体实施例方式概览所公开的各方面提供用于(例如手动地或自动地)映射或标记外部数据集以便将其属性分类成标准信息类型的手段。在电子数据应用内,用户可对其自己的基于数据电子表格的数据集执行相同或相似的功能(或该功能可被自动执行)。一旦属性被分类,则可执行其他自动过程。这样的自动过程包括为改进基于电子表格的数据集的数据质量的目的,自动地对应外部数据提供者和数据集检测、电子表格数据集与外部数据集的并集和交集、自动的值和实体匹配、以及信息传送。一个方面涉及一种包括映射管理器组件和修订组件的系统。该映射管理器组件被配置成在同用户计算环境相关联的用户电子表格模式与同外部计算环境相关联的数据服务模式之间执行自动相关。该修订组件被配置成在外部计算环境与用户计算环境之间传送数据。在一个示例中,该映射管理器组件还被配置成自动地分析用户数据和外部数据,以便确定用户电子表格模式与数据服务模式之间的映射。在另一示例中,该修订组件还被配置成在数据传送期间自动地应用值和实体匹配。根据另一示例,该修订组件还被配置成在数据传送期间执行并集或交集中的至少一个。在一个示例中,该系统包括列标识符组件,该列标识符组件被配置成在用于数据传送的用户电子表格模式中标识列。对于这一方面,该系统包括列识别组件,该列识别组件被配置成确定包含在标识出的列中的信息的类型。根据一个示例,该系统包括聚集组件,该聚集组件被配置成在数据传送期间对包含在用户计算环境中的数据执行并集或交集中的一个或多个。根据另一示例,该系统包括分析组件,该分析组件被配置成对包含在用户计算环境中但不包括在被传送的数据中的数据加标志。在又一示例中,该系统包括外部源分类器,该外部源分类器被配置成标识包含与用户计算环境中所包含的信息相同或相似的信息的一个或多个外部源。在又一示例中,该系统包括界面组件,该界面组件被配置成显示提示,该提示请求映射管理器组件用来执行匹配的信息。在另一示例中,该映射管理器组件基于外部计算环境所支持的信息类型来执行自动相关。根据另一示例,该映射管理器组件对与包含在外部计算环境中的服务应用编程接口相关联的数据服务模式执行自动相关。根据一个方面的是一种方法,该方法包括接收对外部数据服务所支持的查找信息类型的指示,以及获取指示和包含在用户数据内的列的查找信息类型。该方法还包括自动地将列映射到与外部数据服务所支持的查找信息类型相关联的数据。此外,该方法包括基于映射将外部数据从外部数据服务传送到用户电子表格环境。在一个示例中,获取标识和查找信息类型包括发送对数据类型的请求用于查找,以及接收对用户数据的选择。对于这一示例,该方法包括确定支持查找信息类型的至少一个外部数据服务,以及显示所支持的查找信息类型的列表。 在一个示例中,传送数据包括删除重复数据。在另一示例中,传送数据包括对被传送的数据和用户数据执行并集或交集。在又一示例中,传送数据包括在数据传送期间自动地应用值和实体匹配。根据另一示例,该方法包括标识包含在用户数据中但不包含在被传送的数据中的数据。另一方面涉及计算机可读存储介质,该计算机可读存储介质包括存储在其中的计算机可执行指令,这些指令响应于执行致使计算系统执行各操作。该操作包括标识与用户计算环境相关联的用户电子表格模式中的列,以及确定包含在标识出的列中的信息的类型。该操作还包括在用户电子表格模式与同外部计算环境相关联的数据服务模式之间执行自动映射,以及在外部计算环境与用户计算环境之间选择性地传送数据。在一个示例中,该操作还可包括自动地分析用户数据和外部数据,以便确定用户电子表格模式与数据服务模式之间的映射。此处,以上已经呈现了用于实现服务模式匹配的实施例中的某些的概览。作为接下来的内容的路标,更详细地描述服务模式匹配的各示例性、非限制性实施例和特征。随后,为了附加说明,给出一些非限制性实现和示例,之后是其中可实现这些实施例和/或特征的代表性网络和计算环境。用于源目标映射的基于电子表格程序的数据分类通过参考用于在电子表格程序中提供数据分类供源目标映射的一个或多个非限制性方式进行的进一步描述,图1大致地示出了示例性计算系统的框图。示例性计算系统被配置成映射外部数据集,以便将其属性分类成标准信息类型并允许用户对基于个人电子表格的数据集的属性进行分类。示例性计算系统还执行自动的过程,诸如自动的外部数据提供者和数据集检测、电子表格数据集与外部数据集的并集和交集、自动的值和实体匹配、以及信息传送,以便改进基于电子表格的数据集的质量。在一个不例中,可将用户电子表格数据传送给各服务,这允许这些服务直接扩充数据并将数据传回该用户电子表格。根据一些方面,映射可被执行以便出于其他用户发现数据的目的,将(与第一用户相关联的)数据的存在传达给一服务。该服务可向其他用户广播第一用户的电子表格数据是已知的且可用于访问,这在第一用户是专家、具有更好的数据、具有附加的信息、或出于其他原因的情况下可能是有利的。此外,该服务可广播在第一用户的电子表格中可用的、另一服务可使用并向其他人传播的数据类型。例如,在其中数据集被共享但并非广为人知的企业中可利用这样的映射。因此,信息分类和映射可通过这些服务进一步促进信息共享。图1中示出的计算系统包括用户计算环境100和非用户或外部计算环境110。在一个示例中,用户计算环境100可包括用户定义的电子表格程序。许多电子表格程序提供包含具有通用标记的列和行的电子表格。例如,可以用字母表中的字母(例如,“A”、“B”、“C”、“D”、“E”、“F”、“G”等)来标记列,而可以数字地标记行(例如,“ I ”、“2”、“3”、“4”、“5”、“6”等)。尽管该通用标记可应用于许多情形且可能有用,但存在用户期望个性化该电子表格程序的其他情形。例如,用户可能通过标识包含在列(或行)中的元素的信息来标记这些列(或行)。例如,与应收账款相关的电子表格程序可包括列标题“发票号”、“发票日期”、“发票额”、“托收额”、“托收日期”、以及“不足额”。作为顾客数据库的列标题的另一示例包括“顾客姓名”、“地址”、“城市”、“州”、“邮政编码”、和“电话号码”。由此,用户定义的电子表格程序可包括用户定义的电子表格模式。例如,一模式可以是以标题为“顾客姓名”的列来组织的顾客姓名。外部计算环境110可包括外部数据,该外部数据可被用来扩充包含在用户定义的电子表格程序中的数据。外部数据中所包括的是数据服务模式,它们是外部计算环境110所支持的服务模式。根据一个方面,可通过与包含在外部计算环境110内的外部数据源进行交互,来对用户计算环境100中包括的数据进行纠正、改进、更新、扩充等。外部数据源可以是例如例行地搜集或收集与各种主题有关的信息的商用数据源。例如,商用数据源可收集与(例如连锁杂货店的)顾客及其购物习惯有关的信息。在另一示例中,商用数据源可收集与(例如与特定行业相关联的)组织以及每一组织的执行者、雇员、顾客、销售历史等有关的信息。在又一示例中,商用数据源可能收集与参加商贸展的人以及在商贸展访问的摊位有关的信息。搜集了许多其他类型的数据,并且所公开的各方面可利用所有这些类型。此外,尽管参考商用数据源来讨论,但根据一个方面,外部计算环境110可与非商用数据源相关。可以理解,任何数据搜集是在已经显式地(或在某些情况下隐式地)接收到来自被跟踪的个人或组织的授权之后进行的。例如,顾客(或通过经授权的个体的组织)可同意共享个人以及非个人信息,并且可以向顾客(或通过经授权的个体的组织)呈现一个或多个机会来选择退出对数据的收集。在某些方面,该个人或组织必需在数据被收集之前采取肯定动作。根据其他方面,该个人或组织在数据被收集之前采取肯定动作来阻止对数据的收集,这阻止了这样的数据收集。本文还构想了从外部源收集数据,该外部数据源已经接收到或是明确或是隐含同意来收集数据。此外,在内部计算环境中被收集且保留的数据是电子表格的用户或拥有者在明确或隐含同意的情况下已经收集的数据。因此,所公开的各方面与对数据的收集不相关而与这样的数据的映射相关,更具体地,与不同实体(或使用多个电子表格和/或多个模式的同一实体)之间的服务模式匹配相关。示例性计算系统中还包括映射管理器组件120,映射管理器组件120被配置成在用户电子表格模式(例如,用户计算环境100)与数据服务模式(例如,外部计算环境100)以及服务接口模式之间执行自动相关。该相关允许对外部数据(且在某些情况下对用户数据)的自动分析,以便确定外部数据模式如何映射到用户电子表格模式。基于该分析,可将来自外部数据的信息动态地传送(或复制)到用户电子表格模式。以此方式,用户可利用外部数据,而无需手动地查看外部数据以匹配数据并随后手动地将该信息复制到用户电子表格中。因此,所公开的各方面可降低成本并节省时间以及可自动执行的其他功能。根据某些方面,映射组件120被配置成执行一对一的映射,其中每一列与另一列作比较(例如,用户电子表格中的一列与外部数据中的一列作比较)。根据某些方面,映射组件120被配置成执行一对多的列映射。例如,用户电子表格中的单个列与外部数据中的两个或更多列作比较。另选地,用户电子表格中的两个或更多列与外部数据中的单个列作比较。根据一个示例,用户电子表格中的两个或更多列与外部数据中的两个或更多列作比较。根据本文讨论的各个方面,一对一的列匹配和/或一对多的列匹配可导致自动串接和/或自动解析。示例性计算环境中还包括修订组件130,修订组件130被配置成在外部计算环境110与用户计算环境100之间传送数据。对数据的传送基于由映射管理器组件120执行的模式匹配。例如,修订组件130可将来自外部计算环境110 (例如,商用数据库、另一用户数据库等)的数据与用户计算环境100 (例如,用户数据库、用户电子表格等)中的数据作比较。如果这两者中都包含该数据(例如,重复),则不把该数据导入用户电子表格中。如果用户电子表格中包括该数据但外部电子表格中不包括该数据,则修订组件130可自动地删除或标志该数据(例如供数据库管理员进一步分析)。如果外部电子表格中包括该数据但用户电子表格中不包括该数据,则可将该数据添加到用户电子表格。例如,可将该数据从一个或多个服务导入用户电子表格。在另一示例中,可将用户电子表格内的数据导出或传送到该服务,其中该服务扩充用户数据并将该数据传回用户电子表格。根据某些方面,修订组件130被配置成分析相应电子表格中的数据,并且确定如何处理该数据。例如,如果一列与“组织”相关,则可以(例如在用户电子表格与外部电子表格之间)比较该行中的其他字段,以便确定一个或多个值是否已经改变(例如,地址、电话号码、因特网域等)。因此,根据一个方面,所公开的各方面可提供自动的值和实体匹配。对数据的删除、加标志、添加以及其他功能(例如,并集、交集、值和实体匹配等)可基于可配置参数(例如,用户偏好,发送给用户以请求如何处理数据的提示等)或其他参数(例如,对数据的历史处理等)。因此,根据一个方面,所公开的各方面可被配置成动态地执行用于源目标映射的基于电子表格程序的数据分类。在一个示例中,Bob期望通过找出可用于使他自己的基于电子表格的数据更全面和准确的外部数据来更新他的电子表格中的数据。Bob可从菜单打开他的电子表格中的表单,该表单列出他的数据集中的列。菜单允许他从下拉式菜单(或其他类型的菜单)选择数据域,以便指定他的数据集与特定域相关。该域可以是已知域、通用域、标识行业的域等。根据对该数据域的选择,可向Bob提供服务所选择的数据域的外部提供者的列表或其他标识。Bob可从该列表中选择一个或多个外部提供者,并且可向其呈现提供者所支持的该域内的标准信息类型。Bob随后可从他自己的数据集中选择(例如拖曳)任何列放到该域的已知或通用类型,以便标识包含在他的数据集内的数据类型。在一个示例中,该菜单、下拉式菜单、列表等以可视格式呈现或输出在显示器中。然而,所公开的各方面不限于此,可利用以可感知格式(例如,可视、可听等)向用户呈现数据的其他手段。在一实施例中,图1所示的计算系统在操作上可不同于常规的计算系统,以便提供胜于由采用数据匹配的计算系统获得的益处的额外益处。例如,此处描述的计算系统可执行服务模式匹配。在一个示例中,可将第三方云模式映射到用户的数据。图2是示出根据一方面的包含列标识符组件、列识别组件、以及外部源分类器的映射管理器组件200的框图。映射管理器组件200被配置成在同用户计算环境相关联的用户电子表格模式与同外部计算环境相关联的数据服务模式之间执行自动相关。根据某些方面,该映射管理器组件对与包含在外部计算环境中的服务应用编程接口相关联的数据服务模式执行自动相关。映射管理器组件200在操作上连接到修订组件210,修订组件210被配置成在外部计算环境与用户计算环境之间传送数据。映射管理器组件200中包括列标识器组件220,列标识器组件220被配置成在用户数据中标识要用于数据传送的列。根据一个方面,可利用所标识的列来进行一对一的匹配和/或一对多的匹配。例如,图3示出根据一方面的数据查找服务映射的示例性示意表示。右边示出的是用户电子表格数据300以及与用户电子表格数据300相关联的域。如图所示,域(统称为用户域310)包括“顾客”、“地址行1”、“地址行2”、“地址行3”、“城市”、“州”、“邮政”和“国家”。列标识符组件220被配置成自动地或基于接收到的数据(例如,用户手动输入的数据)来标识这些域。根据某些方面,列标识符组件220 (例如从用户)接收对要用于更新数据的域或列的指示。在某些方面,列标识符组件220可自动地选择要检索的外部数据的列。自动标识可代替用户的手动输入或补充手动的信息输入。列标识符组件220可基于包括用户偏好、该列(或各列)先前是否已被选择(或未被选择)以供外部数据扩充之类的各种参数、或基于其他准则(例如,被电子表格程序自动填充的数据的列、包含数学公式的列等)来作出选择。映射管理器组件200中还包括列识别组件230,列识别组件230被配置成确定包含在所标识的列中的信息的类型。根据某些方面,列识别组件230可被配置成自动地确定包含在所标识的列中的信息的类型。自动信息类型确定可以是用户手动输入的补充或代替。例如,列识别组件230可被配置成分析电子表格中的用户数据,并确定包括了标题。列识别组件230作出的这一分析可包括查看包含在电子表格的第一行中的数据,并且将第一行与电子表格中其他行作比较。如果第一行与其他行不具有重复内容,则列识别组件230可以推断第一行是标题行且包含用户标识信息。例如,如果列的第一行是“州”而列中的其他行包括其他单词(例如,“田纳西”、“肯塔基州”、“佛罗里达”、“俄勒等),则列识别组件230可推断第一行包含标题。另一方面,如果列中的第一行是“俄勒而同一列中的另一行包括“俄勒R”,则列识别组件230可推断第一行不是标题行,并且要向用户请求信息以便确定包含在该列中的信息的类型。在另一示例中,列标识组件230被配置成基于分析包含在第一行中的项(例如,单词、短语等)的含义来推断第一行是列标题。例如,如果第一行包含短语“居住城市”或“名(First Name)”,则列识别组件230可将该短语解析成单词(或对整个短语执行分析),以便确定该短语(个别单词或其他条目)是否指示宽泛的类别并且有资格作为列标题。如果存在不确定性、或如果确定了该项没有指示宽泛的类别,则列识别组件230可向用户请求信息以便确定包含在该列中的信息的类型。在一个示例中,如果列中的第一行包括单词“ Shawn(肖恩)”,则列识别组件230可确定该单词不涉及宽泛的类别,并且由此确定第一行不是列标题。在这种情况下,会向用户提示与其中每一列要被分类的类别有关的信息。在某些方面,用户环境240内可包含映射管理器组件200、列标识符组件220、和/或列识别组件230中的至少一部分。例如,可将映射管理器组件200、列标识符组件220、和/或列识别组件230中的至少一部分与界面组件250相关联。界面组件250可被配置成(例如以任何可感知格式)向用户呈现各种信息,并且从用户接收与电子表格的内容相关联的各种数据或其他准则、以及其他数据。例如,界面组件250可被配置成显示提示(例如图4的提示),该提示允许用户提供映射管理器组件200在用户数据260 (包含在用户环境240中)与外部数据270 (包含在外部环境275中)之间执行映射所使用的信息。界面组件250可以提供图形用户界面(GUI)、命令行界面、语音界面、自然语言文本界面等等。例如,可以呈现向用户提供对各种请求进行加载、导入、选择、读取等的区域或手段的⑶I,并且该⑶I可包括呈现这些动作的结果的区域。这些区域可以包括已知的文本和/或图形区域,包括对话框、静态控件、下拉菜单、列表框、弹出式菜单,编辑控件、组合框、单选按扭、复选框、按钮以及图形框。另外,可使用便于信息传达的实用工具,诸如用于导航的垂直和/或水平滚动条以及确定一区域是否可被查看的工具栏按钮。用户还可与这些区域交互,以便通过诸如鼠标、滚球、键区、键盘、笔、用照相机捕捉的姿势和/或语音激活等各种设备来选择和提供信息。通常,诸如键盘上的按钮或回车键等机制可在输入了信息之后采用以启动信息传达。然而,可以理解,所公开的各方面不限于此。例如,只突出显示一复选框可以启动信息传达。在另一示例中,可以使用命令行界面。例如,命令行界面可通过提供文本消息、产生音调等来向用户提示信息。用户然后可提供适当的信息,诸如对应于在该界面提示中提供的选项的字母数字输入或对提示中所提出的问题的回答。可以理解,命令行界面可以与GUI和/或API结合使用。另外,命令行界面还可以与硬件(例如,视频卡)和/或具有有限的图形支持的显示器(例如,黑白、以及EGA)、和/或低带宽通信信道结合使用。映射管理器组件200中还包括外部源分类器280,外部源分类器280被配置成标识包含与用户环境240中所包含的信息相同或相似的信息的一个或多个外部源290。例如,基于列标识符组件220和/或列识别组件230所执行的分析,外部源分类器280可提供可支持用户数据的信息类型的一个或多个外部源290的列表。用户可选择外部源之一。根据某些方面,外部源分类器280可自动选择外部源之一。例如,如果只存在一个支持查找信息类型的外部源,则可自动地将该外部源呈现给用户。在某些方面,可基于历史考虑(例如过去利用特定源的相同或相似的用户电子表格)、用户偏好(例如,如果源B和D可用,则使用源D)等来自动应用外部源。再次参考图3,左边示出了外部数据服务320。外部数据服务320所支持的域(统称为数据服务域330)包括“姓名”(包括子域“名”和“姓”)、“房屋街道”、“城市”、“州”、和“邮编”。在某些方面,与外部数据服务相关联的外部数据模式可包括“公司名称”、“名”、“姓”、“中间名”、“地址”、“房屋号”、“街道”、“城市”、和“邮政编码”。用户域310与数据服务域330的直接比较(例如,精确匹配)示出了只有“城市”和“州”可单独基于命名约定来直接地匹配。由此,如果利用命名约定技术,则将难以自动地检测用户域310与数据服务域330之间的关联,因为命名约定不能精确地匹配。因此,为了使用来自外部数据服务320的数据供用户电子表格数据300,会对该数据进行手动匹配。然而,本文所公开的各方面可基于对与用户电子表格数据300和外部数据服务320相关联的属性的分类,来自动地执行匹配。此外,本文所公开的各方面可提供与所支持的查找信息类型340有关的信息。继续参考图2和3,外部源分类器280被配置成保留与数据服务域330以及那些数据服务域330同所支持的查找信息类型340的关联有关的信息。如图3中所示,(数据服务域330的)“名”与(所支持的查找信息类型340)的“顾客名”相关联,而(数据服务域330的)“房屋#”与(所支持的查找信息类型340的)“房屋号”相关联。所支持的每一查找信息类型以相同方式来标识。在图3的示例中,所支持的查找信息类型以深色字体标出,而特定外部数据服务320不支持的查找信息类型以较浅字体标出。然而,根据所公开的各方面,可以利用标识所支持的查找信息类型的其他手段。在用户手动地将信息提供给列识别组件230的示例中,可以向用户呈现所支持的查找信息类型340列表,并且可标识每一域最紧密相关的信息类型。在该示例中,(用户域310的)“顾客”用(所支持的查找信息类型340的)“顾客名”来标识,而三个地址行(用户域310的“地址行1”、“地址行2”、和“地址行3”)用(所支持的查找信息类型340的)“地址行”来标识。此外,“城市(City)”用“城市(city)”来标识,“州”用“州省缩写(StateProvinceAbbreviation)”来标识,而“邮政”用“邮政编码”来标识。如图所示,在该示例中,“国家”不是所支持的查找信息类型。以类似的方式,外部发起人(或拥有外部数据服务的人)可手动地标识每一域最紧密相关的信息类型,并且该标识可由外部源标识器280捕捉。在该示例中,“名”用“顾客名”来标识,“名”用“个人名一名”来标识,而“姓”用“个人名一姓”来标识。此外,“房屋#”用“地址行”和“房屋号”来标识,而“街道”用“街道名”来标识。此外,“城市(City)”用“城市(City)”来标识,“州”用“州省缩写(StateProvinceAbbreviation)来标识,而“邮政”用“邮政编码”来标识。基于该匹配,修订组件210被配置成在数据传送期间自动地应用值和实体匹配。根据某些方面,修订组件210还被配置成在数据传送期间执行并集(union)或交集(join)(例如,组合来自数据库中的两个或更多表的记录)中的至少一个。在某些方面,修订组件210被配置成(例如,在用户电子表格中所包含的数据过时的情况下)删除数据。此外,修订组件210被配置成执行对数据的净化(例如值匹配)、执行查找服务和/或相似性排序(例如,搜索重复数据)、以及其他功能。图4示出根据一个方面的可向用户提供以促进用于源目标映射的基于电子表格程序的数据分类的示例性提示的示意表示。例如,该提示可由界面组件(例如,图2的界面组件250)向用户输出。如图所示,用户可能正在使用电子表格400,并且可向该用户呈现弹出窗口 410,弹出窗口 410允许用户有机会选择服务提供者并将来自用户的电子表格数据的列映射到外部数据源。因此,弹出窗口 410可获取可被用于在外部数据源与用户电子表格数据之间提供自动映射的信息。在420处,弹出窗口 410可允许用户选择要查找的数据的类型。在该示例中,选择了 “包括其姓名、地址、电话、网站和电子邮件在内的组织和人”。用户还(从电子表格程序)选择了包含数据430的表单。在该情况下,“表单I”被选择。在440处,可能还向用户提供标识该表单的第一行是否包含列名称的选项。例如,列可能使用通用列名称(例如,“A”、“B”、“C”、“D”等)来标识。用户也可能使用第一行来提供与每一行中所包含的内容有关的信息(例如,“顾客”、“地址(addr)”、“城市(cty)”等),使得用户更容易理解该数据。用户也可选择查找服务提供者450 (例如,外部数据源)。在某些方面,基于用户选择供查找的数据类型,在420处动态地呈现供用户选择外部数据源或查找服务提供者450的下拉菜单或其他手段。因此,如果对要被查找的数据类型的选择作出改变,则在420处,可被选择的一个或多个查找服务提供者450也可能改变。还可向用户呈现与窗口的目的有关的细节。例如,在460处,示例性提示通知用户“查找服务提供者需要知道要使用你数据中的什么列,以及这些列中有什么类型的信息。将用户列拖放到适当的信息类型上。或者,选择你希望映射的用户列,右击它们并选择‘自动映射’。”在窗口的下半部分,在左侧向用户呈现用户列470,列470与表单400直接对应。在该示例中,与用户列标题有关的通用列标题是“顾客A”(指示“顾客”与通用列“A”有关)、“地址B”、“城市C”、“街道D”、“邮政E”和“电话F”。右侧的是所支持的查找信息类型480的列表。示出了 “顾客A”与“组织名称”之间的链接490。由此,用户已经将他的顾客列与同外部数据源相关联的信息类型“组织名称”相链接。其他用户列被链接到所支持的查找信息类型,如链接495所示。图5示出根据一个方面的包含传送组件、聚集组件、分析组件和匹配组件的修订组件500。根据一个方面,映射组件510被配置成在同用户计算环境相关联的用户电子表格模式与同外部计算环境相关联的数据服务模式之间执行自动相关。在映射组件510进行成功的相关之后,修订组件500被配置成在外部计算环境与用户计算环境之间传送数据。例如,用户可能期望查询与外部数据源相关联的应用程序接口。然而,该应用程序接口用于专用目的,该目的可以是查找或不同目的。此外,该应用程序接口可能具有不同的签名,该签名是与该应用程序接口相关联的方法调用的签名。由此,不同的应用程序接口对于不同操作可具有不同签名。可将来自这些签名(例如操作)的图表映射到包含在用户数据中的数据。数据传送由传送组件520来促进,传送组件520被配置成在大约与数据被传送的同时选择性地对数据执行一个或多个功能。这些功能可包括并集、交集、值和/或实体匹配、以及可改进与用户计算环境相关联的基于电子表格的数据集的数据质量的其他功能。为促进与数据传送相关联的功能,修订组件500包括聚集组件530,聚集组件530被配置成对位于用户电子表格中的数据和来自外部数据源的数据执行并集或交集中的一个或多个。例如,聚集组件530被配置成组合来自数据库中两个或更多表的记录,其中第一表可以是用户表,而第二表可以是来自外部数据源的表。记录的组合可基于一对一的列映射、一对多的映射、或其组合。根据某些方面,聚集组件530可在该组合不会创建重复数据的情况下组合数据。例如,如果用户电子表格和外部数据源两者中都包含该数据(例如,重复),则不把该数据导入用户电子表格中,在用户电子表格数据被传送到服务的情况下也不把该数据直接扩充到服务处的用户数据。根据一个方面,如果外部电子表格中包括该数据但用户电子表格中不包括该数据,则可将该数据添加到用户电子表格。修订组件500中还包括分析组件540,分析组件540被配置成分析用户电子表格中是否已经包括该数据而外部电子表格中没有包括该数据。如果是这种情况,则该数据可被自动删除或由分析组件540加标志。例如,分析组件540可查看包括在用户电子表格中的数据,并且确定是否存传送自外部数据源的相似(或相同)数据。如果来自用户数据库的一个或多个行不具有从外部数据源到达的相似数据,则分析组件510对用户数据库中的该数据加标志(例如,这可指示用户数据库中的该数据要被删除)。此外,分析组件540可被配置成分析外部电子表格或服务中是否包括该数据而用户电子表格中不包括该数据。修订组件500中还包括匹配组件550,匹配组件550被配置成分析相应电子表格中的数据,并且确定如何处理数据(例如,是否要更新数据或不要更新数据?)。例如,如果一列与“组织”相关,则可以(例如在用户电子表格与外部电子表格之间)比较该行中的其他字段,以便确定一个或多个值是否已经改变(例如,地址、电话号码、因特网域等)。因此,根据一个方面,所公开的各方面可提供自动的值和实体匹配。图6示出了根据一方面的源目标映射的方法的非限制性流程图。在600处,接收对一个或多个外部数据服务所支持的查找信息的指示。例如,一个或多个外部数据服务所支持的查找信息可保留在数据存储中。在一个示例中,与外部数据服务发布其支持的查找信息基本上相同的时间接收所支持的查找信息。在某些方面,外部数据服务所支持的查找信息可随时间改变,并且由此,例如保留在数据存储中的信息可以用新的信息来更新。在610处,获取对包含在用户数据中的列的标识和查找信息类型。例如,该标识可以是对用户电子表格中列的标识,其中期望数据来自外部数据源。根据一个方面,查找信息类型可以是列与所选择的外部数据源支持的查找信息类型之间的交叉引用。在620处,列被自动映射到与外部数据服务所支持的查找信息类型相关联的数据。自动映射可包括将所支持的查找信息类型与用户数据中的列相关联。在630处,将来自服务的外部数据传送到用户电子表格环境,该传送可基于映射。例如,可以用来自外部数据源的数据扩充用户数据,可以更新一个或多个列,或可以执行其他动作(例如,可以标识一个或多个列中潜在的过时数据)。外部数据不总是导致用户数据更新。然而,用户将以某种方式预览用户数据。图7示出根据一方面的用于源目标映射的基于电子表格的数据分类的非限制性流程图。在700处,接收对一个或多个外部数据源所支持的查找信息类型的指示。在705处,获取包含在用户数据中的对列的标识和查找信息类型。根据一个方面,获取标识和查找信息类型包括在710处发送对数据类型的请求用于查找。例如,请求可作为显示在电子表格程序中的提示来发送。在715处,接收对用户数据的选择,以及在720处,确定支持查找信息类型的至少一个外部数据服务。该确定可基于访问包含与支持查找信息类型的外部数据服务有关的信息的数据存储来作出。在725处,显示所支持的查找信息类型的列表。在720处,列被自动映射到与外部数据服务所支持的查找信息类型相关联的数据。在735处,基于该映射来更新用户数据中的至少一列。根据某些方面,在740处,该更新包括将数据从外部数据服务传送到用户数据。在一个方面中,传送数据包括删除重复数据。在另一方面中,传送数据包括对被传送的数据和用户数据执行并集或交集。根据另一方面中,传送数据包括在数据传送期间自动地应用值和实体匹配。在又一方面,传送数据包括标识包含在用户数据中但不包含在被传送的数据中的数据。可对所标识的数据加标志或标识以供进一步分析。图8示出了根据一方面的用于自动映射的非限制性流程图。在800处,标识用户电子表格模式中与用户计算环境相关联的列。在810处,确定包含在所标识的列中的信息的类型。该确定可基于用户输入和/或基于对列的自动分析来作出。在820处,执行用户电子表格模式与同外部计算环境相关联的数据服务模式之间的自动映射。在830处,选择性地在外部计算环境与用户计算环境之间传送数据。根据某些方面,在840处,自动分析用户数据和外部数据,以便确定用户电子表格模式与数据服务模式之间的映射。如本文讨论的,各个方面被配置成引入包含标准类型的信息的已知域的概念。夕卜部数据集可被映射或标记以便将其属性分成这些标准信息类型。在电子表格应用内,用户可分类其基于电子表格的数据集的属性。该分类允许执行自动过程,诸如自动的对应外部数据源和数据集检测、电子表格数据集与外部数据集的并集和交集、自动的值和实体匹配、以及信息传送,以便改进基于电子表格的数据集的质量。示例性联网以及分布式环境本领域技术人员能够理解,此处所述的用于源目标映射的基于电子表格程序的数据分类的系统和方法的各实施例可结合任何计算机或其他客户机或服务器设备来实现,该任何计算机或其他客户机或服务器设备可作为计算机网络的一部分来部署或者被部署在分布式计算环境中,并且可连接到任何种类的数据存储。在这一点上,此处描述的各实施例可在具有任何数量的存储器或存储单元的、并且任何数量的应用和进程跨任何数量的存储单元发生的任何计算机系统或环境中实现。这包括但不限于具有部署在具有远程或本地存储的网络环境或分布式计算环境中的服务器计算机和客户机计算机的环境。分布式计算通过计算设备和系统之间的通信交换提供了计算机资源和服务的共享。这些资源和服务包括信息的交换、对于诸如文件等对象的高速缓存存储和盘存储。这些资源和服务还包括多个处理单元之间的处理能力共享以便进行负载平衡、资源扩展、处理专门化,等等。分布式计算利用网络连接,从而允许客户机利用它们的集体力量来使整个企业受益。在这一点上,各种设备可具有应用、对象或资源,它们可以参与如针对本发明的各实施例描述的访问控制和执行机制。图9提供了示例性的联网或分布式计算环境的示意图。该分布式计算环境包括计算对象910、912等以及计算对象或设备920、922、924、926、928等,这些计算对象或设备可包括如由应用930、932、934、936、938和数据存储940表示的程序、方法、数据存储、可编程逻辑等。可以理解,计算对象910、912等以及计算对象或设备920、922、924、926、928等可包括不同的设备,诸如个人数字助理(PDA)、音频/视频设备、移动电话、MP3播放器、个人计算机、膝上型计算机等。每个计算对象910、912等以及计算对象或设备920、922、924、926、928等可经由通信网络942直接或间接地与一个或多个其他计算对象910、912等以及计算对象或设备920、922、924、926、928等通信。尽管在图9中被示为单个元件,但通信网络942可包括向图9的系统提供服务的其他计算对象和计算设备和/或可表示未示出的多个互连网络。每一个计算对象910、912等或计算对象或设备920、922、924、926、928等还可以含有应用,诸如可以利用API或其他对象、软件、固件和/或硬件的、适于实现或与根据本公开内容的各实施例所提供的访问控制和管理技术进行通信的应用930、932、934、936、938。存在支持分布式计算环境的各种系统、组件和网络配置。例如,计算系统可由有线或无线系统、本地网络或广泛分布的网络连接在一起。当前,许多网络被耦合至因特网,后者为广泛分布的计算提供了基础结构并包含许多不同的网络,但任何网络基础结构可用于与如各实施例中所描述的访问控制管理系统相关联的示例性通信。由此,可使用诸如客户机/服务器、对等、或混合体系结构之类的网络拓扑结构和网络基础结构的主机。“客户机”是使用与它无关的另一类或组的服务的一个类或组中的成员。客户机可以是进程,即大致上是请求由另一程序或进程提供的服务的一组指令或任务。客户机进程利用所请求的服务,而不必“知道”有关其他程序或服务本身的任何工作细节。在客户机/服务器体系结构中,尤其在联网系统中,客户机通常是访问另一计算机(例如,服务器)所提供的共享网络资源的计算机。在图9的图示中,作为非限制性示例,计算对象或设备920、922、924、926、928等可被认为是客户机而计算对象910、912等可被认为是服务器,其中计算对象910、912等担当提供数据服务的服务器,诸如从客户机计算对象或设备920、922、924、926、928等接收数据、存储数据、处理数据、向客户机计算对象或设备920、922、924、926、928等发送数据,但任何计算机都可取决于环境而被认为是客户机、服务器、或两者。服务器通常是可通过诸如因特网或无线网络基础结构之类的远程网络或本地网络访问的远程计算机系统。客户机进程可在第一计算机系统中活动,而服务器进程可在第二计算机系统中活动,它们通过通信介质相互通信,由此提供分布式功能并允许多个客户机利用服务器的信息收集能力。按照此处所描述的技术来利用的任何软件对象可以被单独提供或分布在多个计算设备或对象上。在其中通信网络942或总线例如是因特网的网络环境中,计算对象910、912等可以是其他计算对象或设备920、922、924、926、928等通过诸如超文本传输协议(HTTP)等多种已知协议中的任一种与其通信的web服务器。担当服务器的计算对象910、912等还可用作客户机,例如计算对象或设备920、922、924、926、928等,这是分布式计算环境的特性。示例性计算设备如上所述,有利的是,此处所描述的技术可适用于期望在计算系统中执行服务模式匹配或第三方云模式匹配的任何设备。因此,可以理解,构想了结合各实施例使用的所有种类的手持式、便携式和其他计算设备和计算对象,即,在设备的资源使用可理想地提升的任何地方。因此,以下在图10中所述的通用远程计算机只是计算设备的一个示例。尽管并非所需,但各实施例可部分地经由操作系统来实现,以供设备或对象的服务开发者使用和/或被包括在用于执行此处所述的各实施例的一个或多个功能方面的应用软件内。软件可以在由诸如客户机工作站、服务器或其他设备等一个或多个计算机执行的诸如程序模块等计算机可执行指令的通用上下文中描述。本领域的技术人员可以理解,计算机系统具有可用于传递数据的各种配置和协议,并且由此没有特定配置或协议应当被认为是限制性的。图10由此示出了其中可实现本文所述的各实施例的一个或多个方面的合适的计算系统环境1000的一个示例,尽管如上所述,计算系统环境1200仅为合适的计算环境的一个示例,并非对使用范围或功能提出任何限制。也不应当将计算系统环境1000解释为对在示例性计算系统环境1000中所示的组件中的任何一个或其组合有任何依赖或要求。参考图10,用于实现一个或多个实施例的示例性远程设备包括计算机1010形式的通用计算设备。计算机1010的组件可包括,但不限于,处理单元1020、系统存储器1030、以及将包括系统存储器的各种系统组件耦合到处理单元1020的系统总线1022。计算机1310通常包括各种计算机可读介质,并且可以是可由计算机1310访问的任何可用介质。相同存储器1330可包括计算机存储介质。计算设备通常包括各种介质,各种介质可包括计算机可读存储介质和/或通信介质,此处使用的这两个术语彼此有如下不同。计算机可读存储介质可以是可以被计算机访问的任何可用的存储介质,并包括易失性和非易失性介质,可移动的和不可移动的介质。作为示例而非限制,计算机可读存储介质可结合用于存储诸如计算机可读指令、程序模块、结构化数据、或非结构化数据之类的信息的任何方法或技术来实现。计算机可读存储介质包括但不限于,RAM、ROM、EEPR0M、闪存或其他存储器技术、CD ROM、数字多功能盘(DVD)或其他光盘存储、盒式磁带、磁带、磁盘存储或其他磁存储设备,或者可用于存储所需信息的其他有形的和/或非瞬时介质。计算机可读存储介质可由一个或多个本地或远程计算设备访问(例如,经由访问请求、查询或其他数据检索协议),用于关于该介质所存储的信息的各种操作。通信介质通常以诸如载波或其他传输机制等已调制数据信号之类的数据信号来体现计算机可读指令、数据结构、程序模块或其他结构化或非结构化数据,且包含任何信息递送或传递介质。术语“已调制数据信号”或信号是指具有以在一个或多个信号中编码信息的方式被设定或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、RF、红外线和其它无线介质。用户可通过输入设备1040向计算机1010输入命令和信息。监视器或其他类型的显示设备也经由诸如输出接口 1050之类的接口连接到系统总线1022。除监视器以外,计算机还可包括诸如扬声器和打印机之类的其他外围输出设备,它们可通过输出接口 1050连接。计算机1010可使用到一个或多个其他远程计算机(诸如远程计算机1070)的诸如网络接口 1060的逻辑连接在联网或分布式环境中操作。远程计算机1070可以是个人计算机、服务器、路由器、网络PC、对等设备或其他常见网络节点、或者任何其他远程媒体消费或传输设备,并且可包括以上关于计算机1010所述的任何或全部元件。图10所示的逻辑连接包括诸如局域网(LAN)或广域网(WAN)之类的网络1072,但也可包括其他网络/总线。这些联网环境在家庭、办公室、企业范围的计算机网络、内联网和因特网中是常见的。如上所述,尽管结合各种计算设备和网络体系结构描述了各示例性实施例,但底层概念可被应用于任何网络系统和任何计算设备或系统。此外,存在实现相同或相似功能的多种方法,例如适当的AP1、工具箱、驱动程序代码、操作系统、控件、独立或可下载软件对象等,它们使得应用和服务能够使用此处提供的技术。由此,此处的各实施例从API (或其他软件对象)的观点以及从实现如此处描述的一个或多个实施例的软件或硬件对象构想。由此,此处所述的各实施例可具有完全采用硬件、部分采用硬件并且部分采用软件、以及采用软件的方面。本文中所使用的词语“示例性”意味着用作示例、实例、或说明。为避免疑惑,本文所公开的主题不限于这些示例。另外,在此所述的被描述为“示例性”的任意方面或设计并不一定要被解释为相比其它方面或设计更优选或有利。此外,在使用术语“包括”、“具有”、“包含”和其他类似词语的程度上,为避免疑惑,这些术语旨在以类似于术语“包括”作为开放的过渡词的方式是包含性的而不排除任何附加或其他元素。如所述的,此处所述的各种技术可结合硬件或软件或,在适当时,以两者的组合来实现。如此处所使用的,术语“组件”、“系统”等同样旨在指计算机相关实体,或者是硬件、硬件和软件的组合、软件或者是执行中的软件。例如,组件可以是,但不限于是,在处理器上运行的进程、处理器、对象、可执行码、执行的线程、程序和/或计算机。作为说明,在计算机上运行的应用和计算机都可以是组件。一个或多个组件可以驻留在进程和/或执行线程中,并且组件可以位于一个计算机内和/或分布在两个或更多计算机之间。如前所述的系统已经参考若干组件之间的交互来描述。可以理解,这些系统和组件可包括组件或指定的子组件、某些指定的组件或子组件和/或附加的组件,并且根据上述内容的各种置换和组合。子组件还可作为通信地耦合到其他组件的组件来实现,而不是被包括在父组件内(层次性)。另外,应注意到一个或多个组件可被组合成提供聚集功能的单个组件,或被分成若干单独的子组件,且诸如管理层等任何一个或多个中间层可被设置成通信耦合到这样的子组件以便提供集成功能。此处所述的任何组件也可与一个或多个此处未专门描述的但本领域技术人员一般已知的其他组件进行交互。鉴于以上所述的示例性系统,参考各附图的流程图还可理解根据所述的主题实现的方法。尽管为了说明简洁起见,作为一系列框示出和描述的方法,但是应当理解,各实施例不仅仅限于框的次序,因为一些框可以与此处所描绘和描述的框不同的次序发生和/或与其他框并发地发生。尽管经由流程图示出了非顺序或分支的流程,但可以理解,可实现达到相同或类似结果的各种其他分支、流程路径和框的次序。此外,并非全部所示的框都是实现下面所述的方法所必需的。除了此处所描述的各实施例之外,可以理解,可以使用其他相似的实施例或者可对所述实施例作出修改和添加以便执行对应的实施例的相同或等效的功能而不背离这些实施例。此外,多个处理芯片或多个设备可共享此处所述的一个或多个功能的性能,并且类似地,存储可跨多个设备实现。因此,本发明不应限于任何单个实施例,而是应当根据所附权利要求书的广度、精神和范围来解释。
权利要求
1.一种系统,包括映射管理器组件(120),被配置成在同用户计算环境(100)相关联的用户电子表格模式与同外部计算环境(110)相关联的数据服务模式之间执行相关;以及修订组件(130),被配置成在所述外部计算环境(110)与所述用户计算环境(100)之间传送数据。
2.如权利要求1所述的系统,其特征在于,所述映射管理器组件(120)还被配置成分析用户数据和外部数据,以便确定所述用户电子表格模式与所述数据服务模式之间的映射。
3.如权利要求1所述的系统,其特征在于,所述修订组件(130)还被配置成在数据传送期间应用值和实体匹配。
4.如权利要求1所述的系统,其特征在于,所述修订组件(130)还被配置在数据传送期间执行并集或交集中的至少一个。
5.如权利要求1所述的系统,其特征在于,还包括列标识符组件(220),被配置成在所述用户电子表格模式中标识用于数据传输的列;以及列识别组件(230 ),被配置成确定包含在所标识的列中的信息的类型。
6.如权利要求1所述的系统,其特征在于,还包括聚集组件(530),被配置成在数据传送期间对包含在所述用户计算环境中的数据执行并集或交集中的一个或多个。
7.如权利要求1所述的系统,其特征在于,还包括分析组件(540),被配置成对包含在所述用户计算环境中但不包括在被传送的数据中的数据加标志。
8.如权利要求1所述的系统,其特征在于,还包括外部源分类器(280),被配置成标识包含与所述用户计算环境中所包含的信息相同或相似的信息的一个或多个外部源。
9.如权利要求1所述的系统,其特征在于,所述映射管理器组件(120)基于所述外部计算环境所支持的信息类型来所述相关。
10.如权利要求1所述的系统,其特征在于,所述映射管理器组件(120)对与包含在所述外部计算环境中的服务应用编程接口相关联的数据服务模式执行所述相关。
11.一种方法,包括接收对外部数据服务所支持的查找信息类型的指示(600);获取对包含在用户数据中的列的标识和查找信息类型(610);将所述列映射到与所述外部数据服务所支持的查找信息类型相关联的数据(620);以及基于映射将外部数据从所述外部数据服务传送到用户电子表格环境(630)。
12.如权利要求11所述的方法,其特征在于,所述获取包括发送对数据的类型的请求用于查找(710);接收对所述用户数据的选择(715);确定支持所述查找信息类型的至少一个外部数据服务(720);以及显示所述至少一个外部数据服务所支持的查找信息类型的列表(725)。
13.如权利要求11所述的方法,其特征在于,所述映射包括一対一的列映射和ー对多的列映射中的至少ー个。
14.如权利要求11所述的方法,特征在于,所述传送包括以下各项中的至少ー项删除重复数据、对被传送的数据和所述用户数据执行并集或交集、以及在数据传送期间应用值和实体匹配。
15.如权利要求11所述的方法,其特征在于,还包括标识包含在所述用户数据中但不包含在被传送的数据中的数据。
全文摘要
本发明公开了用于源目标映射的基于电子表格程序的数据分类。本发明涉及与用户的数据匹配的第三方云模式。用户可从外部源选择要被查找的数据的类型,以便使用来自外部源的数据来扩充用户的数据。可向用户呈现支持所选择的数据类型的服务提供者列表。来自用户数据的列与所支持的查找信息类型自动地或手动地相关联。基于该关联,自动地将来自外部数据源的数据映射到用户的数据,且有选择性地将更新应用于用户的数据。
文档编号G06F9/44GK103049475SQ201210419280
公开日2013年4月17日 申请日期2012年10月26日 优先权日2011年10月28日
发明者C·埃金斯 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1