CN109074378B - 模块化电子数据分析计算*** - Google Patents

模块化电子数据分析计算*** Download PDF

Info

Publication number
CN109074378B
CN109074378B CN201780022389.1A CN201780022389A CN109074378B CN 109074378 B CN109074378 B CN 109074378B CN 201780022389 A CN201780022389 A CN 201780022389A CN 109074378 B CN109074378 B CN 109074378B
Authority
CN
China
Prior art keywords
data
data analysis
user
mapped
data processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201780022389.1A
Other languages
English (en)
Other versions
CN109074378A (zh
Inventor
E·库库米迪斯
C·A·A·G·内托
A·E·雪莉
A·特纳
B·J·阿尔塞斯
D·L·梅赛
M·安德鲁斯
R·P·洛萨达
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN109074378A publication Critical patent/CN109074378A/zh
Application granted granted Critical
Publication of CN109074378B publication Critical patent/CN109074378B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/168Details of user interfaces specifically adapted to file systems, e.g. browsing and visualisation, 2d or 3d GUIs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24573Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Library & Information Science (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

一种被配置为执行电子数据分析平台程序的服务器设备存储多个模块化数据处理工具,每个模块化数据处理工具被配置为以预定数据类型执行数据处理,并与数据分析流水线中的其他模块化数据处理工具相组合,接收一个或多个用户数据源的用户输入,将该一个或多个用户数据源的数据映射到预定数据类型中的一个或多个,确定经映射的一个或多个用户数据源的数据分析目标,选择一个或多个模块化数据处理工具,该一个或多个模块化数据处理工具被配置为处理映射到经映射的一个或多个用户数据源的数据的一个或多个预定数据类型,以生成数据分析目标,以及生成被配置为生成数据分析目标的数据分析流水线。

Description

模块化电子数据分析计算***
背景
数据生成正在迅速增加,并且处理数据以提取洞察和知识的需求对于许多企业和组织的成功而言至关重要。但是,许多组织通常缺乏必要的资源来开发他们所需的内部定制数据处理模块和流水线(pipeline),或甚至发现和集成来自其他提供商的兼容解决方案。当前的大数据处理解决方案提供箱式解决方案,该箱式解决方案仅解决非常特定于领域的数据处理需求。特定于领域的数据处理解决方案可能需要大量的软件开发资源,这可能是在严格的时间线或预算下阻碍发展的障碍。
概述
为了解决上文所讨论的问题,提供了一种用于模块化电子数据分析平台程序的服务器设备。该服务器设备包括处理器和由该处理器执行的电子数据分析平台程序,该电子数据分析平台程序被配置以:存储多个模块化数据处理工具,每个模块化数据处理工具被配置为以预定数据类型执行数据处理,并与数据分析流水线中的其他模块化数据处理工具相组合,接收一个或多个用户数据源的用户输入,该一个或多个用户数据源包括未确定数据类型的数据,将该一个或多个用户数据源的数据映射到预定数据类型中的一个或多个,确定经映射的一个或多个用户数据源的数据分析目标,选择一个或多个模块化数据处理工具,该一个或多个模块化数据处理工具被配置为处理映射到经映射的一个或多个用户数据源的数据的一个或多个预定数据类型,以生成数据分析目标,生成被配置为生成该数据分析目标的数据分析流水线,该数据分析流水线包括经映射的一个或多个用户数据源以及一个或多个模块化数据处理工具,以及使用该数据分析流水线处理经映射的一个或多个用户数据源,以生成数据分析目标。
提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。此外,所要求保护的主题不限于解决在本公开的任一部分中所提及的任何或所有缺点的实现。
附图简述
图1示出了根据本说明书的一实施例的用于电子数据分析平台程序的示例计算***。
图2示出了用于图1的计算***的示例客户端电子数据分析平台程序图形用户界面。
图3示出了图1的电子数据分析平台程序的示例未映射的用户数据源和相应的预定数据类型。
图4示出了图1的电子数据分析平台程序的示例数据分析流水线。
图5示出了图1的电子数据分析平台程序的另一示例数据分析流水线。
图6示出了用于图1的计算***的另一示例客户端电子数据分析平台程序图形用户界面。
图7示出了用于图1的计算***的另一示例客户端电子数据分析平台程序图形用户界面。
图8示出了用于图1的计算***的另一示例客户端电子数据分析平台程序图形用户界面。
图9示出了使用图1的计算***的电子数据分析平台程序的示例方法。
图10继续图9的示例方法。
图11继续图9的示例方法。
图12示出了根据本说明书的一实施例的示例计算***。
详细描述
图1例示了根据本公开的一个实施例的计算***10。如图所示,计算***10包括服务器设备12,该服务器设备12例如可采用单个服务器设备或以云计算配置操作的多个服务器设备的形式。服务器设备12被配置为经由通信网络与客户端计算设备14进行通信,该客户端计算设备14例如可采用台式计算设备、平板计算设备等形式。服务器设备12还可被配置为经由通信网络与其他用户的其他客户端计算设备16和因特网数据库18进行通信。通信网络包括广域网、无线局域网等。
服务器设备12包括处理器17、易失性存储器19和非易失性存储器20。非易失性存储器22包括由处理器16执行的用于电子数据分析平台程序(EDAPP)22的指令。电子数据分析平台程序22被配置为与在客户端计算设备14上执行的客户端电子数据分析平台程序26进行通信。将理解,每个其他客户端计算设备16也可执行客户端电子数据分析平台程序26的各实例。
客户端电子数据分析平台程序26被配置为在与客户端计算设备14相关联的显示器30上显示图形用户界面(GUI)28。图2例示了包括多个GUI元素32的示例客户端电子数据分析平台程序GUI 28。通过与该多个GUI元素32进行交互,用户可输入由客户端电子数据分析平台程序26发送到在服务器设备12上执行的电子数据分析平台程序的用户输入34。用户可经由任何合适的输入方法与多个GUI元素32进行交互,其例如可采用键盘和鼠标输入、触摸输入、语音输入等形式。
回到图1,用户输入34可包括一个或多个用户数据源的输入,包括未映射的用户数据源36、数据分析目标38、和选择输入40。然而,将理解,其他用户输入34也可采用其他合适的形式,诸如仅作为一些非限制示例的用户认证信息、对用户简档设置的改变、以及GUI导航输入。因此,根据上文所讨论的方法,客户端计算设备14被配置为接收一个或多个用户数据源36的用户输入34,该一个或多个用户数据源36包括未确定的数据类型的数据,并将该一个或多个用户数据源36发送给服务器设备12。
在服务器上执行的电子数据分析平台程序22包括数据映射模块42,该数据映射模块42被配置为接收一个或多个用户数据源36的用户输入34,该一个或多个用户数据源36包括未确定的数据类型的数据。
图3例示了示例未映射的用户数据源36A,其例如可采用电子表格文件、纯文本文件等形式。示例未映射的用户数据源36A包括四列数据,每列包括相同类型的数据。在上载到服务器设备12时,被包括在未映射的用户数据源36A中的数据具有未确定的数据类型。也就是说,在服务器设备12上执行的电子数据分析平台程序22不知道未映射的用户数据源36A包括什么类型的数据。
电子数据分析平台程序22的数据映射模块42被配置为将一个或多个用户数据源36的数据映射到预定数据类型44中的一个或多个。预定数据类型44是为电子数据分析平台程序22标准化和设置的数据类型。预定数据类型44可包括例如名数据(First Name Data)、姓氏数据(Last Name Data)、地址数据(Address Data)、出生日期数据(Date of BirthData)、电话号码数据(Phone Number Data)、收入水平数据(Income Level Data)、人口统计数据(Demographic Data)、电子邮件地址数据(Email Address Data)或任何其他合适类型的数据。
在一个实施例中,数据映射模块42使用智能列类型推断来将包括未映射的用户数据源36的一个或多个用户数据源的数据映射到预定数据类型44。数据映射模块42可包括用于预测数据源中的每列包含什么类型的数据的规则引擎。例如,可基于数据源中的列的头部或名称来预测该列的数据的类型。如果列名是“名(first_name)”,则该列的数据可被映射到名数据预定数据类型。作为另一示例,被包括在特定列中的数据的类型和实际值可被用于预测数据类型。如果列包含诸如“史密斯(Smith)”和“汤普森(Thompson)”之类的值,则该数据可被映射到姓氏数据预定数据类型。然而,如果列包含诸如“西雅图(Seattle)”、“雷蒙德(Redmond)”和“贝尔维尤(Bellevue)”之类的值,则该数据可被映射到地址城市数据预定数据类型。作为又一示例,特定列相对于其他列的位置可被用于预测该特定列的数据类型。如果第五列包含城市名称、第六列包含整数、第七列包括街道名称,则该第六列不仅可能被映射到整数预定数据类型,而且可能被映射到街道号码预定数据类型。将理解,这些具体示例仅仅是说明性的,并且还可利用将数据映射到未在上文具体讨论的预定数据类型44的其他类型的规则和方法。
如图3所例示的,示例未映射的用户数据源36A的数据由数据映射模块42映射到预定数据类型44。在此具体示例中,未映射的用户数据源36A的第一列包括值“史密斯”、“汤普森”、“丹尼斯(Dennis)”、和“库珀(Cooper)”。因此,数据映射模块42将第一列的数据映射到姓氏数据预定数据类型。接下来,当第二列包括城市名称时,数据映射模块42将第二列的数据映射到地址城市数据预定数据类型。假设第三列包括整数值并位于包含地址城市数据的第二列以及包含通常与街道名称相关联的单词的第四列的旁边,则数据映射模块42将第三列的数据映射到地址街道号码数据预定数据类型,而将第四列的数据映射到地址街道名称数据预定数据类型。
在一个实施例中,如果数据映射模块42不能精确地将一列数据映射到预定数据类型44,则数据映射模块42可提示用户输入消歧输入以指定该列包含哪种数据。例如,因为第三列包括五位整数值,所以数据映射模块42可确定第三列可能包含地址街道号码数据或地址邮政编码数据的预定数据类型。因此,数据映射模块42可提示用户输入消歧输入以指定第三列包含哪个预定数据类型44。作为上述各实施例的替换或补充,用户可手动地将各列映射到预定数据类型44。
回到图1,数据映射模块42将未映射的用户数据源36映射到预定数据类型44,并存储所得到的经映射的一个或多个用户数据源46。在一个实施例中,数据映射模块42被配置为将经映射的一个或多个用户数据源46发送给客户端计算设备14,该客户端计算设备14被配置为从服务器设备12接收经映射的一个或多个用户数据源46,其包括映射到一个或多个预定数据类型44的数据。
如所例示的,除了由客户端计算设备14的用户上载的任何数据源之外,数据映射模块42还存储经映射的平台数据源48。这些经映射的平台数据源48可能源自由其他客户端计算设备16的其他用户上载的数据、来自因特网数据库18、内部数据库等的未映射的公共数据源50和未映射的私有数据源52两者。在一个实施例中,电子数据分析平台程序22的数据映射模块42被配置为从私有和公共数据库检索多个数据源,其包括因特网数据库18的未映射的公共数据源50和未映射的私有数据源52。例如,未映射的公共数据源50可包括从政府因特网数据库检索的人口普查数据,而未映射的私有数据源52可包括可以从搜索引擎公司的私有数据库检索的因特网搜索模式数据。私有数据库是指非公开可用的数据库(例如订阅数据库),而公共数据库是公开可用的数据库(例如免订阅数据库)。
在检索多个数据源之后,数据映射模块42被配置为将多个数据源中的每个数据源的数据映射到预定数据类型44。数据映射模块42可以以与应用于一个或多个用户数据源36相同的方式将来自未映射的公共数据源50和未映射的私有数据源52的数据映射到预定数据类型44。数据映射模块42进一步被配置为将来自公共和私有数据源的多个经映射的数据源存储为经映射的平台数据源48。除了经映射的用户数据源46之外,还可利用经映射的平台数据源48来用于用户的数据处理目标。
如图1所例示的,在服务器设备12上执行的电子数据分析平台程序22包括数据处理工具模块54,其被配置为存储多个模块化数据处理工具56,每个模块化数据处理工具56被配置为以预定数据类型44执行数据处理并且在数据分析流水线58中与其他模块化数据处理工具56组合。在一个实施例中,每个模块化数据处理工具56对一个或多个预定数据类型输入60执行数据处理并生成一个或多个预定数据类型输出62。因此,由于每个模块化数据处理工具56都被配置为处理预定数据类型44作为输入,并生成预定数据类型44作为输出,所以通过将一个模块化数据处理工具56的预定数据类型输出62与另一模块化数据处理工具56的预定数据类型输入60相匹配可将多个模块化数据处理工具56模块化地组合到数据分析流水线58中。
图4例示了被配置为处理来自经映射的用户数据源46和经映射的第二数据源64的数据以生成数据分析目标38的示例模块化数据处理工具56。在此示例中,经映射的第二数据源64可以是由用户上载的第二用户数据源,或可以选自经映射的平台数据源48以提供未被包括在经映射的用户数据源46中的附加数据。如图所示,模块化数据处理工具是“党派预测器(Party Affiliation Predictor)”类型的预测器56B,并被配置为以姓氏数据、地址城市数据和平均收入水平数据预定数据类型作为预定数据类型输入60,并输出姓氏数据和党派数据预定数据类型输出62作为经映射的用户数据源46的数据分析目标38。在其中本***被用于将广告定向到预期购买者的替换用例场景中,预测器56B可被配置为预测用户的不同特征,诸如特定用户是否可能购买特定产品。
继续党派示例,经映射的用户数据源46包括映射到姓氏数据、地址城市数据、地址街道号码数据和地址街道名称数据预定数据类型44的数据,但不包括映射到平均收入水平数据预定数据类型44的数据,其中来自模块化数据处理工具56的预测器56B需要生成姓氏数据和相应党派数据的数据分析目标38。然而,经映射的第二数据源64确实包括对应于地址城市数据/地址街道名称数据的平均收入水平数据。因此,在此示例中,电子数据分析平台程序22生成示例数据分析流水线58A,其包括经映射的用户数据源46、经映射的第二数据源64和预测器56B。
然而,为了将来自经映射的用户数据源46的数据与来自经映射的第二数据源64的数据相匹配,还需要将来自模块化数据处理工具56的数据合并工具56A添加到示例数据分析流水线58A。在此示例中,预测器56B需要人们的姓氏数据、他们的家庭地址城市数据以及他们的平均收入水平数据来预测他们的党派。然而,经映射的用户数据源46仅包括每个人的姓名和位置的数据,然而经映射的第二数据源64仅包括生活在各位置处的人们的平均收入水平的数据。因此,为了将经映射的第二数据源64的平均收入水平数据与经映射的用户数据源46的姓氏数据相匹配,数据合并工具56A被添加到示例数据分析流水线58A。在此具体示例中,数据合并工具56A可基于被包括在经映射的用户数据源46和经映射的第二数据源64两者中的相应地址城市数据将由其姓氏数据标识的特定人与特定平均收入水平数据进行匹配。也就是说,如果经映射的用户数据源46包括具有姓氏数据“史密斯”和地址城市数据“西雅图”的某一人的数据条目,并且经映射的第二数据源64包括具有平均收入水平数据“$50,000”的地址城市数据“西雅图”的数据条目,则数据合并工具56A可将经映射的用户数据源46中具有姓氏数据“史密斯”的该人的数据条目与经映射的第二数据源64中的平均收入水平数据“$50,000”进行匹配。
因此,在由数据合并工具56A处理之后,人的姓氏数据、地址城市数据、和平均收入水平数据可被输入到预测器56B,该预测器56B可然后生成并输出该人的预测党派数据。以此方式,示例数据分析流水线58A可被配置为输出与经映射的用户数据源46的姓氏数据中的每个人相对应的预测党派数据。
将理解,包括姓氏数据和党派数据的经生成的示例数据分析目标38本身是包括预定数据类型44的经映射的数据源。因此,数据分析目标38可随后被输入到另一模块化数据处理工具56中,该模块化数据处理工具56具有姓氏数据和党派数据的预定数据类型输入60。附加的,经生成的数据分析38可作为新的经映射的平台数据源48被存储在电子数据分析平台程序22上,和/或可被发送到客户端计算设备14以呈现给用户。
简要地转到图5,例示了图4中描述的示例数据分析流水线58A。示例数据分析流水线58A包括经映射的一个或多个用户数据源46、经映射的第二数据源64、以及包括上文描述的数据合并工具56A和预测器56B的多个模块化数据处理工具56,它们被模块化地组合以生成数据分析目标38。然而,因为经映射的一个或多个用户数据源46和经映射的第二数据源64可能是由不同方生成的,所包含的数据的格式也可能不同,并从而防止数据合并工具56A的数据合并。附加地,根据数据收集方法,数据源可能是杂乱的(即,非结构良好的)并具有诸如重复条目、不完整数据等不一致和错误。例如,日期可能是不同格式的,缺少年份等;姓名可能被误拼,缺少大小写,包括昵称或缩写而非完整的正式姓名;地址可能包括误拼,缺乏街道、道路、林荫大道名称,缺乏诸如NW、SW等地理指示符,缺乏公寓号码等不完整的数据。因此,电子数据分析平台程序22还可选择数据清理器和名称标准化器模块化数据分析工具被添加到示例数据分析流水线58A,以便在输入到数据合并工具56A之前对格式进行标准化并清除任何杂乱数据。将理解,这些具体示例仅仅是说明性的,并且还可使用未在上文具体讨论的其他模块化数据处理工具56、数据源、数据分析目标和数据分析流水线。附加地,将理解,数据分析流水线可包括任何合适数量的经映射的数据源和模块化数据处理工具。
回到图1,在接收到一个或多个用户数据源之后,电子数据分析平台程序22被配置为确定经映射的一个或多个用户数据源46的数据分析目标38。在一个实施例中,数据分析目标38包括由包括一个或多个模块化数据处理工具56的数据分析流水线58生成和输出的一个或多个预定数据类型44。在此实施例中,用户输入34进一步包括经映射的一个或多个用户数据源46的数据分析目标38。此外,在此实施例中,客户端电子数据分析平台程序26可被配置为经由用户输入34为经映射的一个或多个用户数据源46确定数据分析目标38,并将数据分析目标发送到服务器设备12。
简要地转到图6,示例客户端电子数据分析平台程序GUI 28包括GUI元素32A,其被配置为接收数据分析目标38的用户输入34。在所例示的示例中,用户已将“党派数据”的用户输入34A输入到GUI元素32A中。客户端电子数据分析平台程序将用户输入34A发送给在服务器设备12上执行的电子数据分析平台程序22。将理解,此具体示例仅仅是说明性的,并且还可使用未在上文具体讨论的其他输入方法来输入数据分析目标38,诸如下拉菜单的选择输入、语音输入等。
在另一实施例中,电子数据分析平台程序22被配置为基于映射到经映射的一个或多个用户数据源46的数据的一个或多个预定数据类型44来确定数据分析目标38。例如,如果经映射的用户数据源46包括映射到姓氏数据、地址城市数据、和平均收入水平数据预定数据类型的数据,则电子数据分析平台程序可确定可使用来自数据处理工具模块54所存储的模块化数据处理工具56的预测器56B从经映射的用户数据源46挖掘党派数据。因此,在此特定实施例中,电子数据分析平台程序可被配置为将数据分析目标38确定为党派数据,并相应地生成数据分析流水线模块30。
此外,在此实施例中,为了确定数据分析目标38,电子数据分析平台程序22被进一步配置为确定多个模块化数据处理工具56,其被配置为处理映射到经映射的一个或多个用户数据源46的数据的一个或多个预定数据类型44以生成多个数据分析目标38。在上面的示例中,经映射的用户数据源46包括映射到姓氏数据、地址城市数据、和平均收入水平数据预定数据类型的数据,电子数据分析平台程序22可确定多个模块化数据处理工具56被配置为处理姓氏数据、地址城市数据、和平均收入水平数据预定数据类型,以生成不同的数据分析目标。例如,除了预测器56B之外,财富热映射器工具可被配置为处理相同的预定数据类型以生成热图数据,该热图数据可视地显示包含在经映射的用户数据源46中的最富裕的地理位置。
因此,在此实施例中,电子数据分析平台程序22被配置为将由多个模块化数据处理工具56生成的多个数据分析目标38的列表66呈现给用户,如图7的示例客户端电子数据分析平台程序GUI 28所示。为了呈现列表66,电子数据分析平台程序22可被配置为将GUI数据发送给在客户端计算设备14上执行的客户端电子数据分析平台程序,以使客户端计算设备14在客户端电子数据分析平台程序GUI 28上显示列表66。接下来,电子数据分析平台程序22被配置为接收从多个数据分析目标38的列表66对数据分析目标的用户选择。在所例示的示例中,用户可点击包括在多个数据分析目标38的列表66中的GUI元素,并且因此输入特定数据分析目标的选择输入40,其被配置为被发送到由服务器设备12执行的电子数据分析平台程序22。
转回图1,电子数据分析平台程序22包括被配置为选择一个或多个模块化数据处理工具56的数据分析流水线模块68,该一个或多个模块化数据处理工具56被配置为处理映射到经映射的一个或多个用户数据源46的数据的一个或多个预定数据类型44,以生成数据分析目标38。例如,如果数据分析目标38是党派数据,则数据分析流水线模块68可选择模块化数据处理工具56,其被配置为将映射到经映射的用户数据源46的数据的一个或多个预定数据类型作为预定数据类型输入60,并生成数据分析目标38作为预定数据类型输出62。在图4和5所例示的特定示例中,数据分析流水线模块68从模块化数据处理工具56中选择党派预测器作为预测器56B。替换地,在目标广告场景中,预测器可被配置为例如预测一个人购买特定产品的可能性。
在一些情况下,可存在多个模块化数据处理工具56,其被配置为处理经映射的用户数据源46的数据以生成数据分析目标38。在一个实施例中,数据分析流水线模块68可被配置为选择具有最高评级或排序的模块化数据处理工具,其可经由来自其他客户端计算设备16的用户的输入随时间生成。在另一实施例中,数据分析流水线模块68被配置为确定多个模块化数据处理工具56C,其被配置为处理映射到经映射的一个或多个用户数据源46的数据的一个或多个预定数据类型44以生成数据分析目标38,并向用户呈现多个模块化数据处理工具56C的排序列表70,如图6的示例客户端电子数据分析平台程序GUI 28所示。利用客户端电子数据分析平台程序GUI 28,用户可输入模块化数据处理工具56C之一的选择输入。接下来,在服务器设备12上执行的电子数据分析平台程序的数据分析流水线模块68被配置为接收从排序列表70中对模块化数据处理工具56的用户选择。
如图1所示,数据分析流水线模块68被配置为生成数据分析流水线58,其被配置为生成数据分析目标38,数据分析流水线58包括经映射的一个或多个用户数据源46以及一个或多个模块化数据处理工具56,并利用数据分析流水线58处理经映射的一个或多个用户数据源46以生成数据分析目标38。在一个实施例中,数据分析流水线模块68可将数据分析流水线58和经生成的数据分析目标发送给在客户端计算设备上执行的客户端电子数据分析平台程序26,以使数据分析流水线58和经生成的数据分析目标经由显示器30上显示的客户电子数据分析平台程序GUI 28被呈现给用户。
在另一实施例中,客户端计算设备14可被配置为利用数据分析流水线58执行数据处理。在此实施例中,在客户端计算设备14上执行的客户端电子分析平台程序26被配置为从服务器设备12接收一个或多个模块化数据处理工具56,其被配置为处理映射到经映射的一个或多个用户数据源46的数据的一个或多个预定数据类型44以生成数据分析目标38,每个模块化数据处理工具56被配置为利用预定数据类型44执行数据处理和与数据分析流水线58中的其他模块化数据处理工具56组合。连同一个或多个模块化数据处理工具,客户端计算设备14还可接收包括一个或多个模块化数据处理工具的数据分析流水线58。此外,在此实施例中,客户端计算设备14被配置为向客户端计算设备14的用户呈现数据分析流水线58,其被配置为生成数据分析目标38,数据分析流水线包括经映射的一个或多个用户数据源和一个或多个模块化数据处理工具。数据分析流水线58可经由客户端计算设备14的显示器30上显示的客户端电子数据分析平台程序GUI 28被呈现给用户。在此实施例中,客户端计算设备14被配置为利用数据分析流水线58处理经映射的一个或多个用户数据源46以生成数据分析目标38。
如在图4中所例示的示例中讨论的,所选择的一个或多个模块化数据处理工具可能需要未被包括在经映射的用户数据源46中的预定数据类型的数据以便生成数据分析目标38。因此,在一个实施例中,电子数据分析平台程序22被进一步配置为确定一个或多个模块化数据处理工具56是否需要未被映射到经映射的一个或多个用户数据源46的数据的第二预定数据类型44以生成数据分析目标38。在图4所例示的具体示例中,所选择的模块化数据处理工具56(其是针对党派的预测器56B)需要平均收入水平数据的预定数据类型44,其未被映射到经映射的用户数据源46的数据。因此,经映射的用户数据源46需要补充包括平均收入水平数据预定数据类型并可以与经映射的用户数据源46的数据合并的另一经映射的数据源。
因此,在此实施例中,如果一个或多个模块化数据处理工具需要第二预定数据类型,则电子数据分析平台程序22被进一步配置为从包括映射到第二预定数据类型的数据的多个经映射的数据源中选择第二经映射的数据源64,并将该第二经映射的数据源64添加到数据分析流水线58。将理解,数据分析流水线58不限于一个或两个经映射的数据源,并可包括任何合适数量的经映射的数据源。
在一个实施例中,电子数据分析平台程序22被进一步配置为存储被配置为生成数据分析目标38的经生成的数据分析流水线58。经生成的数据分析流水线58可由数据分析流水线模块68存储在服务器设备上。经存储的数据分析流水线58可被发送到其他客户端计算设备16以使得在每个客户端计算设备上执行的客户端电子数据分析平台程序将经生成的数据分析流水线58呈现给电子数据分析平台程序22的其他用户。
如图2所示,电子数据分析平台程序22可被进一步配置为利用一个或多个模块化数据处理工具56的描述72和数据分析目标38以编程方式注释经生成的数据分析流水线58。在所例示的示例中,描述72包括经生成的数据分析流水线58的描述性标题以及被包括在经生成的数据分析流水线58中的每个模块化数据处理工具的名称。描述72经由客户端电子数据分析平台程序GUI 28被呈现给用户,并且客户端计算设备14和其他客户端计算设备16的每个用户可经由客户端电子数据分析平台程序GUI 28访问经生成的数据分析流水线58。将理解,描述72可包括任何其他合适的信息,诸如用户的名称、流水线的打包价格等。
简要回到图1,电子数据分析平台程序22的数据处理工具模块54可被进一步配置为在因特网数据库18中搜索未存储在电子数据分析平台程序22上的多个非平台数据处理工具74。因特网数据库包括可经由万维网访问的公共数据库,诸如提供与数据处理有关的开源模块的网站。因特网数据库还可包括用户自己的私有数据库,诸如内部公司数据库,其中电子数据分析平台程序22已经得到用户作出的对于访问的许可。
图8例示了电子数据分析平台程序22已经由网站76访问因特网数据库的示例因特网数据库18。在搜索因特网数据库18时,电子数据分析平台程序22被配置为处理多个非平台数据处理工具74中的每一个的概述78,以确定被配置为生成数据分析目标38的一个或多个非平台数据处理工具74。概述可采用机器可读的非平台数据处理工具的任何合适的书面描述的形式。为了处理概述78,电子数据分析平台程序22可搜索与数据分析目标38相关的关键字。在图8的具体示例中,数据分析目标38是党派数据预定数据类型。因此,电子数据分析平台程序22处理因特网数据库18中的每个可搜索的非平台数据处理工具的概述78,以获得与“党派数据”有关的关键字。在所例示的示例中,电子数据分析平台程序22找到具有概述78A和78B的两个非平台数据处理工具74A和74B,其包括与党派数据的数据分析目标相关的关键字“党派”和“政党”。
在一个实施例中,电子数据分析平台程序22还处理与映射到经映射的用户数据源46的数据的一个或多个预定数据类型有关的关键字的概述78。在所例示的示例中,电子数据分析平台程序22确定包括关键字“地址”和“收入水平”的非平台数据分析工具74A和74B的概述78A和78B,这与映射到图3的示例经映射的用户数据源的一个或多个预定数据类型密切相关。
在确定被配置为生成数据分析目标38的一个或多个非平台数据处理工具74之后,电子数据分析平台程序22进一步被配置为向用户呈现一个或多个非平台数据处理工具74。回到图6,电子数据分析平台程序22可经由客户端电子数据分析平台程序GUI 28向用户呈现一个或多个非平台数据处理工具74。在所例示的示例中,客户端电子数据分析平台程序GUI 28在模板化数据处理工具56C的排序列表70旁边的列表GUI元素80中将在图8的示例中确定的非平台数据分析工具呈现给用户。因此,可向用户呈现源自电子数据分析平台程序22本身和可经由因特网数据库18访问的非平台数据处理工具74两者的适用数据处理工具。用户可然后经由客户端电子数据分析平台程序28的GUI元素基于哪个数据处理工具适合于用户的数据处理目标来选择特定的数据处理工具——模块化数据处理工具56或非平台数据处理工具74。
在一个实施例中,电子数据分析平台程序22被配置为经由客户端电子数据分析平台程序26从呈现给用户的一个或多个非平台数据处理工具74接收用户对非平台数据处理工具的选择。将理解,源自因特网数据库18的非平台数据处理工具74不一定与存储在电子数据分析平台程序22上的模块化数据处理工具直接兼容。例如,非平台数据处理工具74不可能被设计为专门处理电子数据分析平台程序22的预定数据类型44。因此,为了被集成到电子数据分析平台程序22中,所选择的非平台数据处理工具82通常将经历软件开发以调整所选择的非平台数据处理工具82以被配置为处理合适的预定数据类型44,并与模块化数据处理工具56模块化地兼容。
在一个实施例中,为了促进此非平台数据处理工具的软件开发,电子数据分析平台程序22的工作请求模块84被配置为以编程方式生成工作请求88的广告86,以将所选择的非平台数据处理工具82转换为新的模块化数据处理工具56,该新的模块化数据处理工具56被配置为对预定数据类型44执行数据处理以生成数据分析目标38,并在电子数据分析平台程序22上呈现工作请求88的广告86。图8例示了用于将示例非平台数据处理工具74A转换为新的模块化数据处理工具的工作请求88的示例广告86A。经由被其他客户端计算设备16显示的客户端电子数据分析平台程序GUI向用户呈现示例广告86A。这些其他用户可以是自由软件开发者,其经由被他们自己的客户端计算设备执行的客户端电子数据分析平台程序26接受工作请求88。将理解,广告86可包括任何合适的信息,诸如软件开发预算、所选择的非平台数据处理工具82的描述、所选择的非平台数据处理工具82将被集成到其中的数据分析流水线58等。在转换之后,新的模块化数据处理工具可被自由职业者的客户端电子数据分析平台程序上载到由服务器设备12执行并由数据处理工具模块54存储的电子数据分析平台程序22。新的模块化数据处理工具可然后被添加到发起工作请求88的用户的数据分析流水线58中。
图9和10示出了根据本说明书的一实施例的示例方法900。在步骤902,方法900可包括从私有和公共数据库中检索多个数据源。私有和公共数据库可能包括因特网数据库、内部数据库、政府数据库等。从步骤902前进到步骤904,方法900可包括将多个数据源中的每个数据源的数据映射到预定数据类型。从步骤904行进到步骤906,方法900可包括存储多个经映射的数据源。
从步骤906前进到步骤908,该方法900可包括存储多个模块化数据处理工具,每个模块化数据处理工具被配置为以预定数据类型执行数据处理,并与数据分析流水线中的其他模块化数据处理工具相组合。从步骤908行进到步骤910,方法900可包括接收一个或多个用户数据源的用户输入,该一个或多个用户数据源包括未确定数据类型的数据。从步骤910前进到步骤912,方法900可包括将一个或多个用户数据源的数据映射到预定数据类型中的一个或多个。
从步骤912行进到步骤914,方法900可包括确定经映射的一个或多个用户数据源的数据分析目标。在一个实施例中,用户输入进一步包括经映射的一个或多个用户数据源的数据分析目标。在另一实施例中,基于映射到经映射的一个或多个用户数据源的数据的一个或多个预定数据类型来确定数据分析目标。在此实施例中,步骤914可包括子步骤916-920以确定数据分析目标。从步骤914前进到子步骤916,方法900可包括确定多个模块化数据处理工具,其被配置为处理被映射到经映射的一个或多个用户数据源的数据的一个或多个预定数据类型,以生成多个数据分析目标。从子步骤916行进到子步骤918,方法900可包括将由多个模块化数据处理工具生成的多个数据分析目标的列表呈现给用户。从子步骤918前进到子步骤920,方法900可包括接收从多个数据分析目标的列表中对数据分析目标的用户选择。
从步骤914行进到步骤922,方法900可包括选择一个或多个模块化数据处理工具,其被配置为处理映射到经映射的一个或多个用户数据源的数据的一个或多个预定数据类型,以生成数据分析目标。在一个实施例中,步骤922包括子步骤924-928。从步骤922前进到子步骤924,方法900可包括确定多个模块化数据处理工具,其被配置为处理被映射到经映射的一个或多个用户数据源的数据的一个或多个预定数据类型,以生成数据分析目标。从子步骤924行进到子步骤926,方法900可包括向用户呈现多个模块化数据处理工具的排序列表。从子步骤926前进到子步骤928,方法900可包括接收从排序列表中对模块化数据处理工具的用户选择。
从步骤922进行到步骤930,方法900可包括确定一个或多个模块化数据处理工具是否需要未被映射到经映射的一个或多个用户数据源的数据的第二预定数据类型以生成数据分析目标。如果一个或多个模块化数据处理工具需要第二预定数据类型,则方法900从步骤930前进到步骤932,并且可包括从包括映射到第二预定数据类型的数据的多个经映射的数据源中选择第二经映射的数据源。从步骤932行进到步骤934,方法900可包括将第二经映射的数据源添加到数据分析流水线。从步骤934前进到步骤936,方法900可包括生成被配置为生成数据分析目标的数据分析流水线,该数据分析流水线包括经映射的一个或多个用户数据源以及一个或多个模块化数据处理工具。另一方面,如果一个或多个模块化数据处理工具不需要第二经预定的数据类型,则方法900直接从步骤930行进到步骤936。
从步骤936前进到步骤938,方法900可包括利用数据分析流水线处理经映射的一个或多个用户数据源以生成数据分析目标。从步骤938进行到步骤940,方法900可包括存储被配置为生成数据分析目标的经生成的数据分析流水线。从步骤940前进到步骤942,方法900可包括用一个或多个模块化数据处理工具的描述和数据分析目标来注释经生成的数据分析流水线。从步骤942行进到步骤944,方法900可包括将经生成的数据分析流水线呈现给其他用户。
图11示出了步骤922的另一实施例,其可附加地或任选地发生在上文讨论的步骤922的各实施例中。在此实施例中,步骤922包括子步骤946-956。行进到子步骤946,方法900可包括在因特网数据库中搜索多个非平台数据处理工具。从子步骤946前进到子步骤948,方法900可包括处理多个非平台数据处理工具中的每一个的概述,以确定被配置为生成数据分析目标的一个或多个非平台数据处理工具。从子步骤948进行到子步骤950,方法900可包括向用户呈现一个或多个非平台数据处理工具。
从子步骤950前进到子步骤952,方法900可包括接收从呈现给用户的一个或多个非平台数据处理工具中对非平台数据处理工具的用户选择。从子步骤952行进到子步骤954,方法900可包括生成工作请求的广告,以将所选择的非平台数据处理工具转换为新的模块化数据处理工具,该新的模块化数据处理工具被配置为对预定数据类型执行数据处理以生成数据分析目标。从子步骤954前进到子步骤956,方法900可包括向另一用户呈现工作请求的广告。在所选择的非平台数据处理工具被转换为新的模块化数据处理工具之后,该新的模块化数据处理工具可根据上文讨论的方法在步骤922期间被选择并被添加到数据分析流水线。
将理解,可使用贯穿本公开描述的算法过程来执行上文描述的,包括在上文计算***10中描绘的方法步骤。
在一些实施例中,本文中所描述的方法和过程可以与一个或多个计算设备的计算***绑定。具体而言,这样的方法和过程可被实现为计算机应用程序或服务、应用编程接口(API)、库、和/或其他计算机程序产品。
图12示意性地示出了可执行上述方法和过程中的一个或多个的计算***900的非限制性实施例。以简化形式示出了计算***900。计算***900可具体化图1的一个或多个服务器设备12或客户端计算设备14或其他客户端计算设备16。计算***900可采取以下形式:一个或多个个人计算机、服务器计算机、平板计算机、家庭娱乐计算机、网络计算设备、游戏设备、移动计算设备、移动通信设备(例如,智能电话)和/或其他计算设备,以及诸如智能手表和头戴式增强现实设备之类的可穿戴计算设备。
计算***900包括逻辑处理器902、易失性存储器903以及非易失性存储设备904。计算***900可任选地包括显示子***906、输入子***908、通信子***1000和/或在图12中未示出的其他组件。
逻辑处理器902包括被配置成执行指令的一个或多个物理设备。例如,逻辑处理器可以被配置成执行指令,该指令是一个或多个应用、程序、例程、库、对象、组件、数据结构或其他逻辑构造的一部分。这种指令可被实现以执行任务、实现数据类型、转换一个或多个组件的状态、实现技术效果、或以其他方式得到期望结果。
逻辑处理器可包括被配置成执行软件指令的一个或多个物理处理器(硬件)。附加地或替换地,逻辑处理器可包括被配置成执行硬件实现的逻辑或固件指令的一个或多个硬件逻辑电路或固件设备。逻辑处理器902的各处理器可以是单核的或多核的,并且其上所执行的指令可被配置成用于串行、并行和/或分布式处理。逻辑处理器的个体组件可任选地分布在两个或更多个分开的设备之间,该设备可以位于远程以及/或者被配置用于协同处理。逻辑处理器的各方面可由以云计算配置进行配置的可远程访问的联网计算设备来虚拟化和执行。将理解,在这样的情况中,这些虚拟化方面在各种不同的机器的不同物理逻辑处理器上运行。
非易失性存储设备904包括被配置成保持可由逻辑处理器执行的指令以实现本文描述的方法和过程的一个或多个物理设备。当实现这样的方法和过程时,非易失性存储设备94的状态可以被转换——例如以保存不同的数据。
非易失性存储设备904可包括可移动和/或内置的物理设备。非易失性存储设备94可包括光学存储器(例如,CD、DVD、HD-DVD、蓝光碟等)、半导体存储器(例如,ROM、EPROM、EEPROM、闪存等)和/或磁性存储器(例如,硬盘驱动器、软盘驱动器、磁带驱动器、MRAM等)或其他大容量存储设备技术。非易失性存储设备904可包括非易失性、动态、静态、读/写、只读、顺序存取、位置可寻址、文件可寻址和/或内容可寻址设备。将理解,非易失性存储设备904被配置成即使当切断给非易失性存储设备904的功率时也保存指令。
易失性存储器903可以包括包含随机存取存储器的物理设备。易失性存储器903典型地被逻辑处理器902用于在软件指令的处理期间临时存储信息。将理解,当切断给易失性存储器903的功率时,易失性存储器903典型地不继续存储指令。
逻辑处理器902、易失性存储器903和非易失性存储设备904的各方面可以被一起集成到一个或多个硬件逻辑组件中。这些硬件逻辑组件可包括例如现场可编程门阵列(FPGA)、程序和应用专用的集成电路(PASIC/ASIC)、程序和应用专用的标准产品(PSSP/ASSP)、片上***(SOC)以及复杂可编程逻辑器件(CPLD)。
术语“模块”、“程序”和“引擎”可被用于描述典型地由处理器以软件实现的计算***900的方面,以使用易失性存储器的部分来执行特定功能,该功能涉及专门将处理器配置成执行该功能的变换处理。因此,模块、程序或引擎可经由逻辑处理器902执行由非易失性存储设备904所保持的指令、使用易失性存储器903的各部分来实例化。将理解,不同的模块、程序、和/或引擎可以从相同的应用、服务、代码块、对象、库、例程、API、函数等实例化。类似地,相同的模块、程序和/或引擎可由不同的应用、服务、代码块、对象、例程、API、功能等来实例化。术语“模块”、“程序”和“引擎”意在涵盖单个或成组的可执行文件、数据文件、库、驱动程序、脚本、数据库记录等。
在包括显示子***906时,显示子***906可用于呈现由非易失性存储设备904所保持的数据的视觉表示。该视觉表示可采用图形用户界面(GUI)的形式。由于本文所描述的方法和过程改变了由非易失性存储设备保存的数据,并由此转换非易失性存储设备的状态,因此同样可以转换显示子***906的状态以视觉表示底层数据的改变。显示子***906可包括使用实质上任何类型的技术的一个或多个显示设备。可将此类显示设备与逻辑处理器902、易失性存储器903和/或非易失性存储设备904结合在共享外壳中,或此类显示设备可以是***显示设备。
在被包括时,输入子***908可以包括诸如键盘、鼠标、触摸屏、话筒、相机或游戏控制器之类的一个或多个用户输入设备或者与其对接。
当包括通信子***1000时,通信子***1000可以被配置成将本文描述的各种计算设备彼此通信地耦合,并且与其他设备通信地耦合。通信子***1000可包括与一个或多个不同通信协议兼容的有线和/或无线通信设备。作为非限定性示例,通信子***可被配置成用于经由无线电话网络或者有线或无线局域网或广域网进行通信。在一些实施例中,通信子***可允许计算***900经由诸如因特网之类的网络将消息发送至其他设备以及/或者从其他设备接收消息。
下述段落提供了对本申请的权利要求的附加支持。一方面提供了一种服务器设备,包括:处理器,以及由处理器执行的电子数据分析平台程序,该电子数据分析平台程序被配置为:存储多个模块化数据处理工具,每个模块化数据处理工具被配置为以预定数据类型执行数据处理,并与数据分析流水线中的其他模块化数据处理工具相结合,接收一个或多个用户数据源的用户输入,该一个或多个用户数据源包括未确定数据类型的数据,将该一个或多个用户数据源的数据映射到预定数据类型中的一个或多个,确定经映射的一个或多个用户数据源的数据分析目标,选择一个或多个模块化数据处理工具,该一个或多个模块化数据处理工具被配置为处理映射到经映射的一个或多个用户数据源的数据的该一个或多个预定数据类型,以生成数据分析目标,生成被配置为生成数据分析目标的数据分析流水线,该数据分析流水线包括经映射的一个或多个用户数据源以及一个或多个模块化数据处理工具,以及使用数据分析流水线处理经映射的一个或多个用户数据源,以生成数据分析目标。在此方面,服务器设备可附加地或替换地包括,其中电子数据分析平台程序被进一步配置为:从私有和公共数据库中检索多个数据源,将多个数据源的每个数据源的数据映射到预定数据类型,存储多个经映射的数据源,确定一个或多个模块化数据处理工具是否需要未被映射到经映射的一个或多个用户数据源的数据的第二预定数据类型以生成数据分析目标,如果一个或多个模块化数据处理工具需要第二预定数据类型:从多个经映射的数据源中选择包括映射到第二预定数据类型的数据的第二经映射的数据源,以及将该第二经映射的数据源添加到数据分析流水线。在此方面,服务器设备可附加地或替换地包括,其中用户输入进一步包括经映射的一个或多个用户数据源的数据分析目标。在此方面,服务器设备可附加地或替换地包括,其中电子数据分析平台程序被配置为基于映射到经映射的一个或多个用户数据源的数据的一个或多个预定数据类型来确定数据分析目标。在此方面,服务器设备可附加地或替换地包括,其中为了确定数据分析目标,电子数据分析平台程序被进一步配置为:确定多个模块化数据处理工具,该多个模块化数据处理工具被配置为处理被映射到经映射的一个或多个用户数据源的数据的一个或多个预定数据类型,以生成多个数据分析目标,向用户呈现由多个模块化数据处理工具生成的多个数据分析目标的列表,以及接收从多个数据分析目标的列表中对数据分析目标的用户选择。在此方面,服务器设备可附加地或替换地包括,其中电子数据分析平台程序被进一步配置为:在因特网数据库中搜索未存储在电子数据分析平台程序上的多个非平台数据处理工具,处理多个非平台数据处理工具中的每一个的概述,以确定被配置为生成数据分析目标的一个或多个非平台数据处理工具,以及向用户呈现一个或多个非平台数据处理工具。在此方面,服务器设备可附加地或替换地包括,其中电子数据分析平台程序被进一步配置为:接收从呈现给用户的一个或多个非平台数据处理工具中对非平台数据处理工具的用户选择,生成工作请求的广告,以将所选择的非平台数据处理工具转换为新的模块化数据处理工具,该新的模块化数据处理工具被配置为对预定数据类型执行数据处理以生成数据分析目标,以及在电子数据分析平台程序上呈现工作请求的广告。在此方面,服务器设备可附加地或替换地包括,其中为了选择模块化数据处理工具,电子数据分析平台程序被进一步配置为:确定多个模块化数据处理工具,多个模块化数据处理工具被配置为处理被映射到经映射的一个或多个用户数据源的数据的一个或多个预定数据类型,以生成数据分析目标,向用户呈现多个模块化数据处理工具的排序列表,以及接收从排序列表中对模块化数据处理工具的用户选择。在此方面,服务器设备可附加地或替换地包括,其中电子数据分析平台程序被进一步配置为:存储经生成的数据分析流水线,数据分析流水线被配置为生成数据分析目标,用一个或多个模块化数据处理工具的描述和数据分析目标来注释经生成的数据分析流水线,以及将经生成的数据分析流水线呈现给电子数据分析平台程序的其他用户。
另一方面提供了一种方法,包括:存储多个模块化数据处理工具,每个模块化数据处理工具被配置为以预定数据类型执行数据处理,并与数据分析流水线中的其他模块化数据处理工具相结合,接收一个或多个用户数据源的用户输入,该一个或多个用户数据源包括未确定数据类型的数据,将一个或多个用户数据源的数据映射到预定数据类型中的一个或多个,确定经映射的一个或多个用户数据源的数据分析目标,选择一个或多个模块化数据处理工具,一个或多个模块化数据处理工具被配置为处理映射到经映射的一个或多个用户数据源的数据的一个或多个预定数据类型,以生成数据分析目标,生成被配置为生成数据分析目标的数据分析流水线,数据分析流水线包括经映射的一个或多个用户数据源以及一个或多个模块化数据处理工具,以及使用数据分析流水线处理经映射的一个或多个用户数据源,以生成数据分析目标。在此方面,该方法可附加地或替换地包括,从私有和公共数据库中检索多个数据源,将多个数据源的每个数据源的数据映射到预定数据类型,存储多个经映射的数据源,确定一个或多个模块化数据处理工具是否需要未被映射到经映射的一个或多个用户数据源的数据的第二预定数据类型以生成数据分析目标,如果一个或多个模块化数据处理工具需要第二预定数据类型:从多个经映射的数据源中选择包括映射到第二预定数据类型的数据的第二经映射的数据源,以及将第二经映射的数据源添加到数据分析流水线。在此方面,该方法可附加地或替换地包括,其中用户输入进一步包括经映射的一个或多个用户数据源的数据分析目标。在此方面,该方法可附加地或替换地包括,其中基于被映射到经映射的一个或多个用户数据源的数据的一个或多个预定数据类型来确定数据分析目标。在此方面,该方法可附加地或替换地包括,其中确定数据分析目标进一步包括:确定多个模块化数据处理工具,多个模块化数据处理工具被配置为处理被映射到经映射的一个或多个用户数据源的数据的一个或多个预定数据类型,以生成多个数据分析目标,向用户呈现由多个模块化数据处理工具生成的多个数据分析目标的列表,以及接收从多个数据分析目标的列表中对数据分析目标的用户选择。在此方面,该方法可附加地或替换地包括,在因特网数据库中搜索多个非平台数据处理工具,处理多个非平台数据处理工具中的每一个的概述,以确定被配置为生成数据分析目标的一个或多个非平台数据处理工具,以及向用户呈现一个或多个非平台数据处理工具。在此方面,该方法可附加地或替换地包括,接收从呈现给用户的一个或多个非平台数据处理工具中对非平台数据处理工具的用户选择,生成工作请求的广告,以将所选择的非平台数据处理工具转换为新的模块化数据处理工具,新的模块化数据处理工具被配置为对预定数据类型执行数据处理以生成数据分析目标,以及向另一个用户呈现工作请求的广告。在此方面,该方法可附加地或替换地包括,其中选择模块化数据处理工具进一步包括:确定多个模块化数据处理工具,多个模块化数据处理工具被配置为处理被映射到经映射的一个或多个用户数据源的数据的一个或多个预定数据类型,以生成数据分析目标,向用户呈现多个模块化数据处理工具的排序列表,以及接收从排序列表中对模块化数据处理工具的用户选择。在此方面,该方法可附加地或替换地包括,存储经生成的数据分析流水线,数据分析流水线被配置为生成数据分析目标,用一个或多个模块化数据处理工具的描述和数据分析目标来注释经生成的数据分析流水线,以及将经生成的数据分析流水线呈现给其他用户。
另一方面提供了一种客户端计算设备,包括:处理器,以及由处理器执行的客户端电子数据分析平台程序,客户端电子数据分析平台程序被配置为:接收一个或多个用户数据源的用户输入,一个或多个用户数据源包括未确定数据类型的数据,将一个或多个用户数据源发送到服务器设备,从服务器设备接收包括被映射到一个或多个预定数据类型的数据的经映射的一个或多个用户数据源,确定经映射的一个或多个用户数据源的数据分析目标,将数据分析目标发送到服务器设备,从服务器设备接收一个或多个模块化数据处理工具,一个或多个模块化数据处理工具被配置为处理映射到经映射的一个或多个用户数据源的数据的一个或多个预定数据类型以生成数据分析目标,每个模块化数据处理工具被配置为利用预定数据类型执行数据处理和与数据分析流水线中的其他模块化数据处理工具组合,向客户端计算设备的用户呈现数据分析流水线,数据分析流水线被配置为生成数据分析目标,数据分析流水线包括经映射的一个或多个用户数据源和一个或多个模块化数据处理工具,以及使用数据分析流水线处理经映射的一个或多个用户数据源,以生成数据分析目标。在此方面,该客户端计算设备可附加地或替换地包括,其中基于被映射到经映射的一个或多个用户数据源的数据的一个或多个预定数据类型来确定数据分析目标。
应当理解,本文中所描述的配置和/或办法本质上是示例性的,且这些具体实施例或示例不应被视为具有限制意义,因为许多变体是可能的。本文中所描述的具体例程或方法可表示任何数量的处理策略中的一个或多个。由此,所例示和/或所描述的各种动作可以以所解说和/或所描述的顺序、以其他顺序、并行地执行,或者被省略。同样,以上所描述的过程的次序可被改变。
本公开的主题包括本文中所公开的各种过程、***和配置以及其他特征、功能、动作、和/或属性的所有新颖和非显而易见的组合和子组合,以及其任何和所有等同物。

Claims (17)

1.一服务器设备,包括:
处理器;以及
由所述处理器执行的电子数据分析平台程序,所述电子数据分析平台程序被配置为:
存储多个模块化数据处理工具,每个模块化数据处理工具被配置为以预定数据类型执行数据处理以及与数据分析流水线中的其他模块化数据处理工具相组合;
接收一个或多个用户数据源的用户输入,所述一个或多个用户数据源包括未确定数据类型的数据;
将所述一个或多个用户数据源的所述数据映射到所述预定数据类型中的一个或多个;
确定一组模块化数据处理工具,所述模块化数据处理工具被配置成对经映射的一个或多个用户数据源的一个或多个预定数据类型执行数据处理;
确定由所确定的该组模块化数据处理工具生成的一组数据分析目标;
从所确定的该组数据分析目标中选择经映射的一个或多个用户数据源的数据分析目标;
选择一个或多个模块化数据处理工具,所述一个或多个模块化数据处理工具被配置为处理映射到所述经映射的一个或多个用户数据源的数据的所述一个或多个预定数据类型,以生成所述数据分析目标;
生成被配置为生成所述数据分析目标的数据分析流水线,所述数据分析流水线包括所述经映射的一个或多个用户数据源以及所述一个或多个模块化数据处理工具;以及
使用所述数据分析流水线处理所述经映射的一个或多个用户数据源,以生成所述数据分析目标。
2.如权利要求1所述的服务器设备,其特征在于,所述电子数据分析平台程序被进一步配置为:
从私有和公共数据库中检索多个数据源;
将所述多个数据源的每个数据源的数据映射到所述预定数据类型;
存储多个经映射的数据源;
确定所述一个或多个模块化数据处理工具是否需要未被映射到所述经映射的一个或多个用户数据源的数据的第二预定数据类型以生成所述数据分析目标;
如果所述一个或多个模块化数据处理工具需要所述第二预定数据类型:
从所述多个经映射的数据源中选择包括映射到所述第二预定数据类型的数据的第二经映射的数据源;以及
将所述第二经映射的数据源添加到所述数据分析流水线。
3.如权利要求1所述的服务器设备,其特征在于,为了选择所述数据分析目标,所述电子数据分析平台程序被进一步配置为:
向用户呈现由该组模块化数据处理工具生成的该组数据分析目标的列表;以及
接收从该组数据分析目标的所述列表中对所述数据分析目标的用户选择。
4.如权利要求1所述的服务器设备,其特征在于,所述电子数据分析平台程序被进一步配置为:
在因特网数据库中搜索未被存储在所述电子数据分析平台程序上的多个非平台数据处理工具;
处理所述多个非平台数据处理工具中的每一个的概述,以确定被配置为生成所述数据分析目标的一个或多个非平台数据处理工具;以及
向所述用户呈现所述一个或多个非平台数据处理工具。
5.如权利要求4所述的服务器设备,其特征在于,所述电子数据分析平台程序被进一步配置为:
接收从呈现给所述用户的所述一个或多个非平台数据处理工具中对非平台数据处理工具的用户选择;
生成工作请求的广告,以将所选择的非平台数据处理工具转换为新的模块化数据处理工具,所述新的模块化数据处理工具被配置为对所述预定数据类型执行数据处理以生成所述数据分析目标;以及
在所述电子数据分析平台程序上呈现所述工作请求的所述广告。
6.如权利要求1所述的服务器设备,其特征在于,为了选择模块化数据处理工具,所述电子数据分析平台程序被进一步配置为:
确定多个模块化数据处理工具,所述多个模块化数据处理工具被配置为处理被映射到所述经映射的一个或多个用户数据源的数据的所述一个或多个预定数据类型,以生成所述数据分析目标;
向所述用户呈现所述多个模块化数据处理工具的排序列表;以及
接收从所述排序列表中对所述模块化数据处理工具的用户选择。
7.如权利要求1所述的服务器设备,其特征在于,所述电子数据分析平台程序被进一步配置为:
存储经生成的数据分析流水线,所述数据分析流水线被配置为生成所述数据分析目标;
用所述一个或多个模块化数据处理工具的描述和所述数据分析目标来注释所述经生成的数据分析流水线;以及
将所述经生成的数据分析流水线呈现给所述电子数据分析平台程序的其他用户。
8.一种方法,包括:
存储多个模块化数据处理工具,每个模块化数据处理工具被配置为以预定数据类型执行数据处理以及与数据分析流水线中的其他模块化数据处理工具相组合;
接收一个或多个用户数据源的用户输入,所述一个或多个用户数据源包括未确定数据类型的数据;
将所述一个或多个用户数据源的所述数据映射到所述预定数据类型中的一个或多个;
确定一组模块化数据处理工具,所述模块化数据处理工具被配置成对经映射的一个或多个用户数据源的一个或多个预定数据类型执行数据处理;
确定由所确定的该组模块化数据处理工具生成的一组数据分析目标;
从所确定的该组数据分析目标中选择经映射的一个或多个用户数据源的数据分析目标;
选择一个或多个模块化数据处理工具,所述一个或多个模块化数据处理工具被配置为处理映射到所述经映射的一个或多个用户数据源的数据的所述一个或多个预定数据类型,以生成所述数据分析目标;
生成被配置为生成所述数据分析目标的数据分析流水线,所述数据分析流水线包括所述经映射的一个或多个用户数据源以及所述一个或多个模块化数据处理工具;以及
使用所述数据分析流水线处理所述经映射的一个或多个用户数据源,以生成所述数据分析目标。
9.如权利要求8所述的方法,其特征在于,进一步包括:
从私有和公共数据库中检索多个数据源;
将所述多个数据源的每个数据源的数据映射到所述预定数据类型;
存储多个经映射的数据源;
确定所述一个或多个模块化数据处理工具是否需要未被映射到所述经映射的一个或多个用户数据源的数据的第二预定数据类型以生成所述数据分析目标;
如果所述一个或多个模块化数据处理工具需要所述第二预定数据类型:
从所述多个经映射的数据源中选择包括映射到所述第二预定数据类型的数据的第二经映射的数据源;以及
将所述第二经映射的数据源添加到所述数据分析流水线。
10.如权利要求8所述的方法,其特征在于,选择所述数据分析目标进一步包括:
向用户呈现由该组模块化数据处理工具生成的该组数据分析目标的列表;以及
接收从该组数据分析目标的所述列表中对所述数据分析目标的用户选择。
11.如权利要求8所述的方法,其特征在于,进一步包括:
在因特网数据库中搜索多个非平台数据处理工具;
处理所述多个非平台数据处理工具中的每一个的概述,以确定被配置为生成所述数据分析目标的一个或多个非平台数据处理工具;以及
向所述用户呈现所述一个或多个非平台数据处理工具。
12.如权利要求11所述的方法,其特征在于,进一步包括:
接收从呈现给所述用户的所述一个或多个非平台数据处理工具中对非平台数据处理工具的用户选择;
生成工作请求的广告,以将所选择的非平台数据处理工具转换为新的模块化数据处理工具,所述新的模块化数据处理工具被配置为对所述预定数据类型执行数据处理以生成所述数据分析目标;以及
向另一个用户呈现所述工作请求的所述广告。
13.如权利要求8所述的方法,其特征在于,选择模块化数据处理工具进一步包括:
确定多个模块化数据处理工具,所述多个模块化数据处理工具被配置为处理被映射到所述经映射的一个或多个用户数据源的数据的所述一个或多个预定数据类型,以生成所述数据分析目标;
向所述用户呈现所述多个模块化数据处理工具的排序列表;以及
接收从所述排序列表中对所述模块化数据处理工具的用户选择。
14.如权利要求8所述的方法,其特征在于,进一步包括:
存储经生成的数据分析流水线,所述数据分析流水线被配置为生成所述数据分析目标;
用所述一个或多个模块化数据处理工具的描述和所述数据分析目标来注释所述经生成的数据分析流水线;以及
将所述经生成的数据分析流水线呈现给其他用户。
15.一种客户端计算设备,包括:
处理器;以及
由所述处理器执行的客户端电子数据分析平台程序,所述客户端电子数据分析平台程序被配置为:
接收一个或多个用户数据源的用户输入,所述一个或多个用户数据源包括未确定数据类型的数据;
将所述一个或多个用户数据源发送到服务器设备;
从所述服务器设备接收包括被映射到一个或多个预定数据类型的数据的经映射的一个或多个用户数据源;
从所述服务器设备接收由所确定的一组模块化数据处理工具生成的一组数据分析目标,所确定的该组模块化数据处理工具被配置成对经映射的一个或多个用户数据源的一个或多个预定数据类型执行数据处理;
将从接收到的该组数据分析目标中选择的数据分析目标发送到所述服务器设备;
从所述服务器设备接收一个或多个模块化数据处理工具,所述一个或多个模块化数据处理工具被配置为处理映射到所述经映射的一个或多个用户数据源的数据的所述一个或多个预定数据类型以生成所述数据分析目标,每个模块化数据处理工具被配置为利用所述预定数据类型执行数据处理以及与数据分析流水线中的其他模块化数据处理工具相组合;
向所述客户端计算设备的用户呈现数据分析流水线,所述数据分析流水线被配置为生成所述数据分析目标,所述数据分析流水线包括所述经映射的一个或多个用户数据源和所述一个或多个模块化数据处理工具;以及
使用所述数据分析流水线处理所述经映射的一个或多个用户数据源,以生成所述数据分析目标。
16.一种具有指令的计算机可读存储介质,当所述指令被执行时使得机器执行如权利要求8-14中任一项所述的方法。
17.一种计算机***,包括用于执行如权利要求8-14中任一项所述的方法的装置。
CN201780022389.1A 2016-03-30 2017-03-27 模块化电子数据分析计算*** Active CN109074378B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/085,832 US10726034B2 (en) 2016-03-30 2016-03-30 Modular electronic data analysis computing system
US15/085,832 2016-03-30
PCT/US2017/024212 WO2017172553A1 (en) 2016-03-30 2017-03-27 Modular electronic data analysis computing system

Publications (2)

Publication Number Publication Date
CN109074378A CN109074378A (zh) 2018-12-21
CN109074378B true CN109074378B (zh) 2022-04-08

Family

ID=58547828

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780022389.1A Active CN109074378B (zh) 2016-03-30 2017-03-27 模块化电子数据分析计算***

Country Status (4)

Country Link
US (1) US10726034B2 (zh)
EP (1) EP3436982B1 (zh)
CN (1) CN109074378B (zh)
WO (1) WO2017172553A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200364093A1 (en) * 2019-05-14 2020-11-19 Pricewaterhousecoopers Llp System and methods for generating secure ephemeral cloud-based computing resources for data operations
KR20210143464A (ko) * 2020-05-20 2021-11-29 삼성에스디에스 주식회사 데이터 분석 장치 및 그것의 데이터 분석 방법
CN112118250B (zh) * 2020-09-15 2022-11-11 北京通付盾人工智能技术有限公司 一种基于零信任技术的模块化数据分析方法
US20220308926A1 (en) * 2021-03-23 2022-09-29 Opsera Inc. Build Manifest In DevOps Landscape
US20230034257A1 (en) * 2021-07-28 2023-02-02 Micro Focus Llc Indexes of vertical table columns having a subset of rows correlating to a partition range
CN115202851A (zh) * 2022-09-13 2022-10-18 创新奇智(浙江)科技有限公司 数据任务执行***及数据任务执行方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102016827A (zh) * 2008-03-08 2011-04-13 东京毅力科创株式会社 自主的基于生物学的学习工具
CN102521226A (zh) * 2010-09-29 2012-06-27 微软公司 比较并选择数据净化服务提供者
CN102549567A (zh) * 2009-07-29 2012-07-04 施耐德电气美国股份有限公司 用于电力监控***的自然语言导航
CN104156415A (zh) * 2014-07-31 2014-11-19 沈阳锐易特软件技术有限公司 解决医疗数据标准编码对照问题的映射处理***及方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6965895B2 (en) * 2001-07-16 2005-11-15 Applied Materials, Inc. Method and apparatus for analyzing manufacturing data
US7945469B2 (en) 2004-11-16 2011-05-17 Amazon Technologies, Inc. Providing an electronic marketplace to facilitate human performance of programmatically submitted tasks
US20080256341A1 (en) 2007-04-11 2008-10-16 Microsoft Corporation Data Processing Pipeline Selection
US8417715B1 (en) 2007-12-19 2013-04-09 Tilmann Bruckhaus Platform independent plug-in methods and systems for data mining and analytics
US8181003B2 (en) * 2008-05-29 2012-05-15 Axis Semiconductor, Inc. Instruction set design, control and communication in programmable microprocessor cores and the like
US9037692B2 (en) 2008-11-26 2015-05-19 Red Hat, Inc. Multiple cloud marketplace aggregation
US8607242B2 (en) 2010-09-02 2013-12-10 International Business Machines Corporation Selecting cloud service providers to perform data processing jobs based on a plan for a cloud pipeline including processing stages
US8973012B2 (en) 2011-10-25 2015-03-03 International Business Machines Corporation Composing analytic solutions
US9510141B2 (en) 2012-06-04 2016-11-29 Apple Inc. App recommendation using crowd-sourced localized app usage data
US20150286725A1 (en) 2014-04-03 2015-10-08 Zillabyte, Inc. Systems and/or methods for structuring big data based upon user-submitted data analyzing programs
US20150089626A1 (en) 2014-08-12 2015-03-26 Fred Korangy System and method providing marketplace for big data applications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102016827A (zh) * 2008-03-08 2011-04-13 东京毅力科创株式会社 自主的基于生物学的学习工具
CN102549567A (zh) * 2009-07-29 2012-07-04 施耐德电气美国股份有限公司 用于电力监控***的自然语言导航
CN102521226A (zh) * 2010-09-29 2012-06-27 微软公司 比较并选择数据净化服务提供者
CN104156415A (zh) * 2014-07-31 2014-11-19 沈阳锐易特软件技术有限公司 解决医疗数据标准编码对照问题的映射处理***及方法

Also Published As

Publication number Publication date
EP3436982B1 (en) 2021-09-15
US10726034B2 (en) 2020-07-28
EP3436982A1 (en) 2019-02-06
WO2017172553A1 (en) 2017-10-05
CN109074378A (zh) 2018-12-21
US20170286503A1 (en) 2017-10-05

Similar Documents

Publication Publication Date Title
CN109074378B (zh) 模块化电子数据分析计算***
JP6736173B2 (ja) データベースへの自然言語インタフェースのための方法、システム、記録媒体およびコンピュータ・プログラム
US8972245B2 (en) Text prediction using environment hints
US10032208B2 (en) Identifying recommended electronic books with detailed comparisons
US9817646B1 (en) Multiplatform and multichannel distribution of web applications across devices
US10114898B2 (en) Providing additional functionality with search results
US8694540B1 (en) Predictive analytical model selection
US9177058B2 (en) Multi-step search result retrieval
US20170097967A1 (en) Automated Customization of Display Component Data for Search Results
US20170255445A1 (en) Translation of natural language into user interface actions
CN105324771A (zh) 识别用户先前交互的物理位置的个人搜索结果
CN111241387A (zh) 提高搜索结果的相关性
US10846772B2 (en) Item maps for app store apps
US10936584B2 (en) Searching and accessing application-independent functionality
US11086887B2 (en) Providing search results based on natural language classification confidence information
US20120231816A1 (en) Location Based Computerized System and Method Thereof
EP2889788A1 (en) Accessing information content in a database platform using metadata
US8862455B2 (en) Creating and implementing language-dependent string pluralizations
US10769732B2 (en) Expertise determination based on shared social media content
US20160188721A1 (en) Accessing Multi-State Search Results
US8688719B2 (en) Targeted telephone number lists from user profiles
US11755633B2 (en) Entity search system
US11720554B2 (en) Iterative query expansion for document discovery
KR101757755B1 (ko) 선행기술조사의 분배처리 방법 및 이를 운용하는 서버 및 시스템
US11593411B2 (en) Historical augmentation of electronic maps

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant