CN106462540A - 不可知数据代理 - Google Patents
不可知数据代理 Download PDFInfo
- Publication number
- CN106462540A CN106462540A CN201580027712.5A CN201580027712A CN106462540A CN 106462540 A CN106462540 A CN 106462540A CN 201580027712 A CN201580027712 A CN 201580027712A CN 106462540 A CN106462540 A CN 106462540A
- Authority
- CN
- China
- Prior art keywords
- data
- api
- unknowable
- brain
- api calls
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2291—User-Defined Types; Storage management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24575—Query processing with adaptation to user needs using context
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer And Data Communications (AREA)
- Telephonic Communication Services (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
提供示例性实施例以用于将数据整合到不可知数据代理,其中,数据的类型和结构对于数据代理预先未知。示例性实施例的方面包括:通过提供经由其接收第一API调用的第一API来从数据源中提取数据,该第一API调用包括数据以及描述数据的类型和数据的结构的清单两者;将数据存储在数据仓库中;以及提供通过其接收第二API调用的第二API,该第二API调用基于清单来查询数据。
Description
对相关申请的交叉引用
此国际PCT专利申请要求于2014年5月27日提交的序列号为62/033,333的美国临时专利申请的权益。
背景技术
术语物联网(通常缩写为IoT)被用于指示设备、系统和服务的先进连接性,其超出传统的机器到机器(M2M)并且覆盖各种协议、域和应用。在一种解释中,例如,配备有机器可读标识符的世界上的对象——诸如设备和传感器——将经由Wi-Fi、蓝牙或低功率无线电或者其他替选方式来连接到互联网/Web。根据一些估计,到2020年将存在260亿至300亿个无线地连接到物联网的设备。
从这样的信息感测设备收集数据将导致需要以在线平台的一些形式被收集、存储以及分析的大量的和复杂的数据集或“大数据”的集合。然而,当前的大数据平台架构在以下方面受限:它们需要了解将从其收集数据的设备的类型以及数据的类型和结构两者,以便与设备通信并且存储数据。即,这样的平台通常针对特定类型的应用或用例(即,特定领域)来定制。
可以设计并且实施尝试从处于物联网中的设备采集数据的在线平台,但是因为平台的不可避免的范围以及将连接到在线平台的众多设备,在当今和将来两种情况中,平台的实施方将不会了解它们中的大部分,所以在任何时间点处将必要的通信协议和情报“编程”到平台中以使得平台提供相当好的或相关的用户体验是不可能的。
因此,所需要的是一种改进的软件平台,设备(已知的和未知的)能够连接到其并且向其提交数据,以便向用户提供相关的功能性。
发明内容
示例性实施例提供了用于将数据整合到不可知(agnostic)数据代理(broker)的方法和系统,其中,数据的类型和结构对于数据代理预先未知。示例性实施例的方面包括:通过提供经由其接收第一API调用的第一API来从数据源中提取数据,该第一API调用包括数据以及描述数据的类型和数据的结构的清单两者;将数据存储在数据仓库中;以及提供通过其接收第二API调用的第二API,该第二API调用基于清单对数据进行查询。
根据在本文中所提供的示例性实施例,清单被提供作为使得数据代理平台能够不可知的工具,使得数据代理能够从对于数据代理预先未知的数据源接受数据,而不需要任何软件或架构调整。
附图说明
结合附图、根据实施例的下面的描述,本一般性发明构思的这些和/或其他特征和功用将变得明显并且更加容易领会,在附图中:
图1是示出数据不可知软件平台的示例性实施例的框图。
图2是示出根据示例性实施例的、用于将数据整合到不可知数据代理的处理的图。
图3是示出根据示例性实施例的、用于实施不可知数据代理的系统的图。
图4是示出用于流传输的数据的实时处理、存储以及公布的处理的流程图。
具体实施方式
现在将详细地参考在附图中示出了其示例的本一般性发明构思的实施例,在附图中,贯穿附图相同的附图标记指代相同的元件。以下在参考附图的同时对实施例进行描述,以便解释此一般性发明构思。
通过参考实施例的下面的详细描述和附图,可以更加容易地理解本发明以及实现本发明的方法的优点和特征。然而,本一般性发明构思可以被例示为多种不同形式,并且不应当被解释为限于在本文中所陈述的实施例。相反,这些实施例被提供为使得本公开将是充分的和完整的并且将向本领域技术人员完整地传达本一般性发明构思的概念,以及本一般性发明构思将仅由所附权利要求书定义。在附图中,为了清楚夸大层和区域的厚度。
在描述本发明的上下文中(特别是所附权利要求的上下文中),术语“一”、“一个”和“该”以及相似指代物的使用将被解释为涵盖单数和复数两者,除非在本文中另外地指示或者通过上下文清楚地否认。术语“包括”、“具有”、“包含”以及“容纳”将被解释为开放式术语(即,意味着“包括但是不限于”),除非另外地指出。
当在本文中使用时,术语“组件”或“模块”意味着但是不限于执行特定任务的软件或硬件组件,诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。组件或模块可以有利地被配置为驻留在可寻址存储介质中并且被配置为在一个或多个处理器上运行。因此,以示例的方式,组件或模块可以包括诸如软件组件、面向对象的软件组件、类组件和任务组件的组件、处理、功能、属性、过程、子例程、程序代码片段、驱动、固件、微代码、电路、数据、数据库、数据结构、表格、阵列以及变量。针对组件和组件或模块所提供的功能性可以被组合为更少的组件和组件或模块,或者进一步被分离为额外的组件和组件或模块。
除非另外地定义,否则在本文中所使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常所理解的含义相同的含义。注意的是,任何和所有示例的使用或者在本文中所提供的示例性术语仅意欲更好地阐述本发明并且不对本发明的范围进行限制,除非另外地指示。此外,除非另外地定义,否则不可以过度地解读在通用词典中所定义的所有术语。
图1是示出数据不可知软件平台的示例性实施例的框图。示例性实施例包括被称为不可知数据代理(agnostic data broker)10的软件平台,在物联网(IoT)的上下文中,其能够提取从任何和所有数据源12所输出的数据4。数据源12的示例包括例如传感器和算法。词语“不可知数据代理”指的是采用以下假设来设计软件平台的事实:假设不可能知道从所有现有的数据源12所输出的所有现有的数据的存在和结构,不涉及从未知的将来数据源12所输出的将来类型的数据的存在和结构。软件平台是数据不可知的,原因在于:关于从数据源12所输入的数据4的类型或格式或者数据代理提供对其的访问的所存储的数据的类型,数据代理未进行任何假设或判断。
现有的平台/系统受困于其可以提取的数据的类型。现有的平台必须首先限定它们将要利用其进行工作的数据的本体(ontology),并且因此现有的平台被限制为在由该本体所定义的特定域内进行工作。不可知数据代理10不需要定义是什么包括数据的可接受的类型。因此,不可知数据代理10与本体无关(ontologically-free)并且领域不受限制(domain-unlimited)。
作为不可知数据代理10的重要性的示例,考虑由本申请的受让人所开发的用于移动健康的可穿戴传感器平台16。可穿戴传感器平台16可以被实施为智能手表,或者包括配备有各种可替换传感器18的智能环带的其他可穿戴设备,各种可替换传感器18感测来自用户的生理数据。可穿戴传感器平台16的模块化允许第三方设计和开发可以整合到环带中的新的类型的可替换传感器18以及分析产生的传感器数据的新的数字健康解决方案app/智囊(brain)14。
可穿戴传感器平台16可以进一步包括充电机制,其允许用户在可穿戴传感器平台16被穿戴时对其进行充电。由于用户将不需要脱下设备,所以该特定的特征允许真正地持续的健康监测,从而导致传感器数据4的持续的流被输入到不可知数据代理10。来自传感器18的数据4不仅可以包括简单的单次心率和血压测量,而且还可以包括被用于计算心率和血压的完整的、持续的原始信号,从而允许深入了解(insight)用户的健康。
因此,不可知数据代理10能够提取、处理以及公布来自不同类型的数据源12的不同类型的数据4,包括未知的将来的设备(例如,可替换传感器18),而无需任何重新编程或架构改变。
图2是示出根据示例性实施例的、用于将数据整合到不可知数据代理10的处理的图。参考图1和图2两者,包括不可知数据代理10的软件组件可以通过提供经由其接收第一API调用2的第一API(被称为提取API 20)来从数据源12中提取数据4,该第一API调用2不仅包括要被提取的数据4,而且还包括描述数据的类型和结构的清单6(块21)。
在一个实施例中,清单6是使得数据代理平台不可知的工具,使得数据代理能够接受来自对于该数据代理预先未知的数据源的数据,而不需要任何架构调整。在一个实施例中,清单6可以被实施为通过分项的列表来描述数据4的结构和格式的XML文件,该分项的列表除了其他之外还定义了数据的结构和格式,诸如数据4是离散块还是流。例如,来自可穿戴模块化平台16的API调用2可以包括清单6,其规定了:温度计温度数据是数据4的块1中的字串,生物阻抗传感器数据是块2至块6中的字串,心率传感器数据是流,EKG传感器数据是流,等等。
在一个实施例中,假设数据源12是通信使能的(例如,Wi-Fi或蓝牙使能的传感器),则包括数据4和清单6的API调用2可以经由网络(未示出)从数据源12直接地被发送到不可知数据代理10。在另一个实施例中,数据源12可以被整合到发起API调用2的主机设备,例如,可穿戴模块化平台16。在一个实施例中,数据4和清单6被包括在API调用2中作为参数。在替选实施例中,数据4和清单6可以在不同的API调用中被发送。
当数据被提取时,不可知数据代理10将数据存储在数据仓库中(块23)。在一个实施例中,数据4被存储为原始数据。然而,在又一个实施例中,API调用2可以可选地包括规范化路径8作为另一个参数,其描述原始数据如何被转换为并且被存储为对于用户可用的格式。例如,用于来自可穿戴传感器平台16上的温度计传感器的原始温度数据的规范化路径8可以规定原始温度数据应当以华氏或摄氏来存储。从大量的数据源12(例如,来自可穿戴平台16的持续的流传输数据)提取并且存储大量的数据4可以被称为“大数据”11,其可能是第三方实体(例如,研究机构、公司等)针对学习和分析而主要感兴趣的。
为了使得所存储的数据可访问,不可知数据代理10进一步提供通过其接收第二API调用的第二API(被称为查询API 24),该第二API调用基于清单6来查询数据4,并且作为响应,不可知数据代理10返回数据(块25)。在一个实施例中,不可知数据代理10通过第三API返回数据,如以下进一步讨论地。
通过查询API 24,不可知数据代理10提供一平台,通过该平台在这里被称为智囊14的不同类型的第三方应用(app)和算法/服务可以被用于通过发出第二类型的查询API调用来访问数据4。例如,可以从自许多数据源12所输出的持续的、多样的数据收集并且保存的“大数据”11(图1)可以为研究者提供开发用于分析和聚合来自许多不同用户的数据4以搜索相关性、观察相互作用以及发展有价值的科学认知的新的大数据类型智囊14的机会。
虽然大数据11可能主要地对于大型实体有帮助,但是“小数据”13可以对于个体有帮助。当在本文中使用时,小数据13可以指关于特定用户的信息。通过所选择的感兴趣的智囊14,个体用户可以访问小数据类型智囊14(例如,训练和可视化工具以及健康跟踪app),例如,小数据类型智囊14可以分析来自特定用户的可穿戴传感器平台16的持续的传感器数据并且向用户提供反馈、鼓励以及奖励。
如通过箭头所示,智囊14不仅可以访问和分析被提取到不可知数据代理10中的数据4,而且还可以将分析的结果反馈回不可知数据代理10,因为结果可以与由其他数据源12和其他智囊所输出的其他数据混合,从而引发新的认知。
在一个示例性实施例中,智囊14可以被认为是不可知数据代理10的智能附加组件,可以使得其对于不可知数据代理10的用户可用。对(大数据11和小数据13的形式的)数据和各种类型的智囊14两者的访问可以根据基于付费的订阅模型对于用户可用并且以各种方式被货币化。例如,不可知数据代理10可以包括在线商店,该在线商店使得用户能够“订阅”他们的“个人数据云”并且可以将所选择的智囊14添加“个人数据云”之上以为用户提供相关的服务。在一些实施例中,智囊14可以在用户连接的设备中的任何一个上进行操作。即,对于高端用户,可以为用户提供更好的服务和/或用户能够访问聚合数据(诸如持续的心率信息)。
图3是示出根据示例性实施例的、用于实施不可知数据代理10的系统8的图。不可知数据代理10可以使用任何数量的应用服务器、web服务器和/或数据服务器(未示出)来实施,它们中的每个包括各种处理器和存储器。在一个实施例中,不可知数据代理10可以使用公共云中的可缩放(scalable)的虚拟机来实施。作为服务(IaaS)空间的基础设施中的商业可用的云提供方包括例如亚马逊Web服务(Amazon Web ServicesTM,AWS)、Rackspace公共云(Rackspace Public CloudTM)以及数字海洋(Digital OceanTM)。在替选实施例中,不可知数据代理10可以被实施在包括合适的资源的任何类型的单机计算机或用户设备上。
经由API调用与不可知数据代理10的电通信可以使用任何类型的私人网络或公共网络(未示出)而发生。公共网络的示例包括因特网,而有线网络和无线网络的示例可以包括局域网(LAN)、无线局域网(WLAN)、无线个域网(WPAN)、无线广域网、无线网状网、蜂窝网络以及全球网(GAN)。
根据示例性实施例的一个方面,不可知数据代理10提供软件组件和应用编程接口(API)集合,其允许数据源12、用户设备18和智囊14以不需要预先定义数据的方式、经由API调用与不可知数据代理10电通信。在一个实施例中,除了提取API 20和查询API 24之外,不可知数据代理10可以进一步包括消防水带(firehose)API 22、致动(actuation)API 26、管理API 28、算法API 30、3D app API 32以及存储(store)API 34。
在一个实施例中,不可知数据代理10可以进一步包括数据仓库36、扩展38以及app商店40。在一个实施例中,数据仓库36可以包括原始数据库38、规范化数据库40、历史数据库42以及账户数据库44。
当提取API 20允许大量数据源12向不可知数据代理10传送数据时,驱动API 26是以下接口,通过该接口不可知数据代理10和智囊14通过发送致动API调用向数据源12和用户设备18发送输出。致动API调用使得命令27被发送到指定的数据源12和/或用户设备18。输出可以包括在数据仓库36中所存储的数据和/或由智囊14所计算的结果15。在此上下文中,致动意味着改变一些事物的状态,无论是在屏幕上显示数据还是激活开关。
如前述示例那样,用户可以具有连接到该不可知数据代理10的、在用户的身体上以及在用户的房屋中的数据源12和用户设备18。数据源12可以向不可知数据代理10发送他们的数据,例如:身体传感器(健康,活动,……)、房屋传感器(温度、湿度、警报、开门等)、智能家电(洗衣机、TV、灯、喷水器)、移动电话、能量消耗跟踪器、相机等。来自源12和用户设备18的数据中的一些可以被配置为接收来自不可知数据代理10的命令27,诸如:智能家电(咖啡机)、灯、门锁、TV等。
如上所述,提取API 20允许数据源12发起在这里被称为获取调用(Get Call)2的提取API调用,其通过发送数据4、清单6以及可选地发送规范化路径8作为参数来向不可知数据代理10推送任何类型的数据。在一个实施例中,例如,提取API可以包括各种其他调用,诸如开启与数据代理的通信的开启调用(Open call)以及用信号通知数据4的发送已经暂停或终止的关闭调用(Close call)。
在一个实施例中,不可知数据代理10在账户数据库44中保持关于用户和数据源12的用户账户和记录。当从特定的数据源12接收到获取调用2时,数据代理10将数据4存储在数据仓库36中,如以下所描述地,并且搜索账户DB 44以确定进行调用的数据源12是否属于任何现有的账户。如果不是,则数据代理10可以向数据源12指派:标识设备的类型的设备类型ID;标识特定设备的设备ID;以及标识数据源12的拥有者/制造商的用户ID,并且将所指派的ID添加到账户数据库44中的用户账户记录。
在一个实施例中,数据源12的用户(例如,拥有者/制造商)还可以使用管理API 28来手动地创建并且管理用户账户。在一个实施例中,关于每个用户的账户信息标识由用户所登记的数据源12以及与用户相关联的任何已登记的用户设备18。
在一个实施例中,获取调用2可以包括清单文件自身,并且一旦被接收,则清单6还可以被存储在与发送数据源12相关联的用户账户中的账户数据库44中。很多不同的数据源12和用户设备18可以与每个用户相关联,并且一个或多个清单6可以与每个数据源12相关联,以描述由数据源12所产生的数据。
在又一个示例性实施例中,获取调用2可以替代地包括对清单16的引用而不是包括清单文件的副本。在一个实施例中,对清单6的引用可以包括之前提交的并且在账户DB44中所存储的现有的清单6的清单ID或者清单的URL。
当不可知数据代理10通过获取调用2接收到数据4时,数据4自动地被存储在原始数据库38中作为原始数据,即,以其原始的格式和结构而不被系统修改。如果规定了规范化路径8,则原始数据还如所规定地被处理并且变为被存储在规范化数据库40中的规范化的数据。在一个实施例中,规范化的数据可以被JSON(Java脚本对象标记法)格式化,具有标准化的字段名和值。当数据4被存储在数据仓库36中时,数据与相对应的清单ID相关联地被存储。账户DB中的任何数据源12可以被“公布”,所以智囊14可以访问数据源12及它们相对应的数据。
在一个实施例中,智囊14包括查询并且分析在数据仓库36中所存储的数据并且向用户提供服务的app和服务。智囊14可以被实施为可以被插入不可知数据代理10中以向用户提供额外的、相关的功能的后端云服务或可下载app。例如,这样的“插入的”智囊14的一个形式可以包括基于从多个用户数据源12(身体传感器、跟踪的活动模式等)所收集的数据的订阅节食服务。另一个示例可以包括连接到并且控制用户的房屋的灯的智囊14。第三方公司可以提供(付费或非付费的)模块,其可以使得用户能够获得更好的管理(与由平台默认地提供的管理相比),以基于房屋中人的存在、他们的活动等来开灯/关灯。
来自数据仓库36的、由智囊14以结果15的形式分析和输出的数据可以被智囊14通过发出包括结果15和新的清单6的获取调用2而反馈到不可知数据代理10中,从而定义反馈回路17。结果15可以被存储在数据仓库36中,诸如历史数据库42,以供其他智囊14使用。
作为示例,考虑以下公司,该公司已经开发了连同清单6一起传送被数据代理存储的用户的生物数据的生物传感器。第三方智囊14对数据进行访问,根据数据计算一些类型的分数并且将分数与另一清单发送回到数据代理,其中,分数被存储并且被发布以供其他方使用。除了发布之外,分数可以被存储在历史数据库42中。在历史数据库中所存储的数据可以与在其他历史数据库中的并且由其他智囊14进行操作的其他数据组合,以例如研发趋势和模式。因此,不可知数据代理10允许第三方利用此连续的不间断的反馈数据。
智囊14可以基于所存储的清单6、使用查询API 24和消防水带API来访问并且取回在数据仓库36中所存储的数据4。在一个实施例中,例如,通过查询API 24进行的调用可以与类似于SQL命令的数据库查询相似,这是由于数据4被存储在诸如原始数据库38、规范化数据库40、历史数据库42以及账户数据库44的数据库中。响应于从进行请求的智囊14接收查询API调用,不可知数据代理10通过致动API 26取回数据并且将其返回到进行请求的智囊14。
根据实施例的一个方面,流传输数据作为原始数据被存储在原始数据库38中并且被同时发送到事件队列27,以及被立即使得经由消防水带API 22对外部智囊14可用。
图4是示出用于流传输数据的实时处理、存储以及公布的处理的流程图。处理可以通过经由提取API调用从数据源12获取诸如音频/视频流或持续的心率数据的数据流48而开始(块50)。在一个实施例中,开启调用可以被用于利用不可知数据代理10开启流/web套接口以传输数据流48。如上所述,提取API调用还包括清单6或对其的引用,以及规范化路径8。
数据流48同时地被发送到事件队列27并且被存储在原始数据库38中(块52)。在事件队列27中,数据流48可以基于规范化路径8被过滤、被变换以及被增强(块54),并且然后被存储在规范化数据库40中(块56)。规范化的流传输数据可以被实时地分析(块58)。响应于从进行请求的智囊14接收消防水带API调用,分析的结果被取回并且被发送到智囊14(块60)。
在一个实施例中,消防水带API针对查询数据的流而被指定。当从智囊14接收消防水带API调用时,智囊14被订阅到事件队列27中的特定事件或数据流。此API被称为消防水带,这是因为事件队列27可以在任何给定的时间具有可用的大量的数据流或事件,并且智囊14仅订阅如在消防水带API调用(一个或多个)中所指定的感兴趣事件。
在存储之后的任何时间,原始数据和规范化的流传输数据可以通过后台处理64来分析(块62)。响应于从进行请求的智囊14接收查询API调用,不可知数据代理10取回分析结果并且将其发送到智囊14(块64)。
再次参考图3,现在将描述由不可知数据代理10所提供的API的示例概述。在一个实施例中,每个数据源12可以运行软件,其被配置为通过查询数据代理10来确定用于源设备12的清单6是否存在于数据代理10上。例如,查询API 15中的一个可以被称为“此设备存在吗(Does This Device Exist)”。当数据源12被激活时,数据源12中的软件使用此设备存在吗调用来查询数据代理10,以确定与数据源12相关联的清单是否存在。如果数据代理10确定清单已经存在,则数据代理10返回清单ID,例如,ID#1。当数据源12将数据提交到获取调用2中时,数据源12包括清单ID,例如,ID#1。然后,数据代理10使用清单ID取回所存储的清单6并且基于所存储的清单6将数据存储在数据仓库36中。在数据是流的情况下,经由消防水带API 22使得数据作为事件——例如,类型#1数据的事件——可用。然后,消防水带API 22公布类型#1数据的事件可用。被编写为分析类型#1数据的智囊14使用消防水带API22或查询API 24来访问数据,分析数据(例如,计算用户分数),以及然后通过致动API 26向用户提交分析后的数据及其类型(例如,类型#72)以用于存储和/或呈现。然后,另一个智囊14可以聚合来自多个用户的分析后的数据,以确定趋势等,并且使得该数据经由反馈回路17和提取API 20对于数据代理可用。
不可知数据代理10可以包括扩展38,以向智囊14提供对一些高级内部功能的访问。扩展38可以被认为是数据代理内的云、即服务,并且通过算法API 30对于智囊14可访问。扩展38可以包括规则引擎31、解析工具33以及沙盒35,这些对于智囊14可用,以用于数据代理10内的算法的运行。
沙盒35是其中智囊14可以通过算法API 30发布与所存储的数据具有特定的关系的它们的算法的区域,其中,算法被执行为虚拟智囊。优点在于,对其执行算法的数据不需要被从数据代理10传送到外部智囊14,这对于实时应用节约了传输时间。沙盒35提供了在本地实时地对数据仓库36中的数据的访问,所以数据不需要被来回传送。沙盒35中的算法被发布,并且其他方可以使用已经存在于沙盒35中的算法。由沙盒35所输出的数据可以被直接地反馈到数据仓库36中以供其他智囊使用,从而绕过反馈回路17,由此降低了延迟。扩展38通常可以通过租借数据代理10内的CPU时间来货币化。
app商店40是提供对智囊14的访问以及可下载app的在线商店。app商店40可以包括隐私/支付服务37、所存储的app 39以及web商店前端41。app商店40的一个功能是公布智囊14的存在以允许其他方访问。3D app商店API32允许智囊14被公布和/或被存储。同时,描述由智囊14所提供的服务的清单也被提交。例如,如果由智囊14提供的特定服务当被调用时需要特定的参数,则用于该服务的清单将定义参数。在一个实施例中,用于服务的清单可以由作者通过管理API 28来提交,之后通过用于经由web商店前端41进行访问的3D appAPI 32发布服务,。存储API 34允许用户通过用户设备18查询智囊/app/服务。存储API 34允许用户查询对于特定用户设备18可以给与什么服务(与仅能够进行数据提交的数据源12相反)。在另一个实施例中,用户设备18可以查询存储API 34并且自动地下载app。
已经公开了一种用于不可知数据代理的方法和系统。已经根据所示的实施例描述了本发明,以及可能存在对于实施例的变型并且任何变型将在本发明的精神和范围内。例如,示例性实施例可以使用硬件、软件、包含程序指令的计算机可读介质或其组合来实施。根据本发明所编写的软件要以计算机可读介质的一些形式——诸如存储器、硬盘或CD/DVD/蓝光盘——被存储并且被处理器执行。因此,本领域技术人员可以进行许多修改,而不背离所附的权利要求书的精神和范围。
Claims (18)
1.一种用于将数据整合到不可知数据代理的方法,其中,数据的类型和结构对于数据代理预先未知,该方法包括:
由在至少一个处理器上运行的至少一个软件组件,通过提供经由其接收第一API调用的第一API来从数据源中提取数据,该第一API调用包括数据以及描述数据的类型和数据的结构的清单两者;
将数据存储在数据仓库中;以及
提供通过其接收第二API调用的第二API,该第二API调用基于清单来查询数据。
2.根据权利要求1所述的方法,进一步包括:将清单实施为XML文件,该XML文件通过定义数据是离散块还是流的分项的列表来描述数据的结构格式。
3.根据权利要求1所述的方法,其中,在第一API调用中,数据和清单是参数。
4.根据权利要求1所述的方法,进一步包括:将数据存储为原始数据。
5.根据权利要求4所述的方法,其中,第一API调用进一步包括描述原始数据将如何被转换和存储的规范化路径。
6.根据权利要求1所述的方法,其中,第二API调用由智囊发出,该智囊包括对数据进行分析的应用和算法/服务中的至少一个。
7.根据权利要求6所述的方法,其中,分析的结果被智囊反馈到不可知数据代理,并且与来自其他数据源和其他智囊的其他数据混合。
8.根据权利要求6所述的方法,进一步包括:根据基于付费的订阅模型向用户提供对数据和各种类型的智囊的访问。
9.根据权利要求1所述的方法,进一步包括:使用第三API向数据源和用户设备中的至少一个发送命令。
10.一种不可知数据代理系统,该不可知数据代理系统使用应用服务器、web服务器和数据库服务器的任何组合来实施,应用服务器、web服务器和数据库服务器中的每个包括各种处理器和存储器,该不可知数据代理系统包括:
第一API,通过其接收用于从数据源中提取数据的第一API调用,其中,数据的类型和结构对于数据代理预先未知,该第一API包括数据以及描述数据的类型和数据的结构的清单两者;
数据仓库,用于存储数据;以及
第二API,通过其接收第二API调用,该第二API调用基于清单来查询数据。
11.根据权利要求10所述的系统,其中,清单被实施为XML文件,该XML文件通过定义数据是离散块还是流的分项的列表来描述数据的结构格式。
12.根据权利要求1所述的系统,其中,在第一API调用中,数据和清单是参数。
13.根据权利要求1所述的系统,其中,数据被存储为原始数据。
14.根据权利要求13所述的系统,其中,第一API调用进一步包括描述原始数据将如何被转换和存储的规范化路径。
15.根据权利要求1所述的系统,其中,第二API调用由智囊发出,该智囊包括对数据进行分析的应用和算法/服务中的至少一个。
16.根据权利要求15所述的系统,其中,分析的结果被智囊反馈到不可知数据代理,并且与来自其他数据源和其他智囊的其他数据混合。
17.根据权利要求15所述的系统,其中,根据基于付费的订阅模型向用户提供对数据和各种类型的智囊的访问。
18.根据权利要求1所述的系统,进一步包括:向数据源和用户设备中的至少一个发送命令的第三API。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462003333P | 2014-05-27 | 2014-05-27 | |
US62/003,333 | 2014-05-27 | ||
PCT/US2015/032450 WO2015183819A1 (en) | 2014-05-27 | 2015-05-26 | Agnostic data broker |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106462540A true CN106462540A (zh) | 2017-02-22 |
CN106462540B CN106462540B (zh) | 2020-06-30 |
Family
ID=54699658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580027712.5A Expired - Fee Related CN106462540B (zh) | 2014-05-27 | 2015-05-26 | 不可知数据代理 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10360202B2 (zh) |
EP (1) | EP3149604A4 (zh) |
JP (1) | JP6545189B2 (zh) |
KR (1) | KR20170010747A (zh) |
CN (1) | CN106462540B (zh) |
WO (1) | WO2015183819A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10026040B2 (en) * | 2014-06-09 | 2018-07-17 | Cognitive Scale, Inc. | Cognitive interfaces for use within a cognitive environment |
US10262273B2 (en) | 2014-06-09 | 2019-04-16 | Cognitive Scale, Inc. | Method for interfacing with a cognitive inference and learning system |
CN105518673B (zh) * | 2014-07-15 | 2020-07-07 | 微软技术许可有限责任公司 | 管理数据摄取 |
US10575250B2 (en) * | 2016-12-15 | 2020-02-25 | Cable Television Laboratories, Inc. | Normalization of data originating from endpoints within low power wide area networks (LPWANs) |
US10616168B2 (en) * | 2017-11-07 | 2020-04-07 | International Business Machines Corporation | Dynamically changing message classification and priority based on IOT device publication |
US11665241B1 (en) * | 2017-12-28 | 2023-05-30 | Itential, Inc. | Systems and methods for dynamic federated API generation |
US11465056B2 (en) | 2018-01-12 | 2022-10-11 | Bunch Live, Inc. | Game mediation component for enriching multiplayer gaming sessions |
US11103772B2 (en) | 2018-01-12 | 2021-08-31 | Bunch Live, Inc. | Mediating multiplayer electronic game sessions |
WO2020131121A1 (en) * | 2018-12-21 | 2020-06-25 | Intel Corporation | Modular system for internet of things |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060064422A1 (en) * | 2004-09-17 | 2006-03-23 | Arthurs Brendan P | Data sharing system, method and software tool |
US20060200486A1 (en) * | 2005-03-07 | 2006-09-07 | Microsoft Corporation | System and method for supporting non-native data types in a database API |
CN101099149A (zh) * | 2004-01-16 | 2008-01-02 | 希尔克瑞斯特实验室公司 | 元数据代理服务器及方法 |
US20090182472A1 (en) * | 2008-01-14 | 2009-07-16 | Schlumberber Technology Corporation | Real-time, bi-directional data management |
US20110055158A1 (en) * | 2009-08-26 | 2011-03-03 | Tapper Gunnar D | Distributed data analysis |
US20110145712A1 (en) * | 2009-12-10 | 2011-06-16 | Laurent Pontier | Information exchange using generic data streams |
CN102508912A (zh) * | 2011-11-09 | 2012-06-20 | 深圳市同洲电子股份有限公司 | 数据提取、转化和加载的方法及系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6286015B1 (en) | 1998-09-08 | 2001-09-04 | Oracle Corporation | Opaque types |
JP2001117798A (ja) | 1999-10-18 | 2001-04-27 | Takayuki Miyashita | 電子データ統合化データ管理システム |
US7509248B2 (en) * | 2001-11-14 | 2009-03-24 | Intel Corporation | Generic persistence engine |
JP2007086889A (ja) | 2005-09-20 | 2007-04-05 | Shin Caterpillar Mitsubishi Ltd | 遠隔管理システムにおける管理部側管理装置 |
US8352432B2 (en) * | 2009-03-31 | 2013-01-08 | Commvault Systems, Inc. | Systems and methods for normalizing data of heterogeneous data sources |
US8447768B2 (en) * | 2010-01-29 | 2013-05-21 | Novell, Inc. | Techniques for generically accessing data |
US20120046966A1 (en) | 2010-08-19 | 2012-02-23 | International Business Machines Corporation | Health Management Application Development and Deployment Framework |
US9225793B2 (en) * | 2011-01-28 | 2015-12-29 | Cisco Technology, Inc. | Aggregating sensor data |
WO2013123097A1 (en) * | 2012-02-13 | 2013-08-22 | SkyKick, Inc. | Migration project automation, e.g., automated selling, planning, migration and configuration of email systems |
-
2015
- 2015-05-26 KR KR1020167025714A patent/KR20170010747A/ko active IP Right Grant
- 2015-05-26 CN CN201580027712.5A patent/CN106462540B/zh not_active Expired - Fee Related
- 2015-05-26 WO PCT/US2015/032450 patent/WO2015183819A1/en active Application Filing
- 2015-05-26 JP JP2016564257A patent/JP6545189B2/ja not_active Expired - Fee Related
- 2015-05-26 EP EP15800251.9A patent/EP3149604A4/en not_active Withdrawn
- 2015-05-26 US US14/721,745 patent/US10360202B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101099149A (zh) * | 2004-01-16 | 2008-01-02 | 希尔克瑞斯特实验室公司 | 元数据代理服务器及方法 |
US20060064422A1 (en) * | 2004-09-17 | 2006-03-23 | Arthurs Brendan P | Data sharing system, method and software tool |
US20060200486A1 (en) * | 2005-03-07 | 2006-09-07 | Microsoft Corporation | System and method for supporting non-native data types in a database API |
US20090182472A1 (en) * | 2008-01-14 | 2009-07-16 | Schlumberber Technology Corporation | Real-time, bi-directional data management |
US20110055158A1 (en) * | 2009-08-26 | 2011-03-03 | Tapper Gunnar D | Distributed data analysis |
US20110145712A1 (en) * | 2009-12-10 | 2011-06-16 | Laurent Pontier | Information exchange using generic data streams |
CN102508912A (zh) * | 2011-11-09 | 2012-06-20 | 深圳市同洲电子股份有限公司 | 数据提取、转化和加载的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US10360202B2 (en) | 2019-07-23 |
JP6545189B2 (ja) | 2019-07-17 |
KR20170010747A (ko) | 2017-02-01 |
JP2017517803A (ja) | 2017-06-29 |
EP3149604A1 (en) | 2017-04-05 |
US20150347486A1 (en) | 2015-12-03 |
EP3149604A4 (en) | 2017-11-22 |
CN106462540B (zh) | 2020-06-30 |
WO2015183819A1 (en) | 2015-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106462540A (zh) | 不可知数据代理 | |
US11481652B2 (en) | System and method for recommendations in ubiquituous computing environments | |
US10171586B2 (en) | Physical environment profiling through Internet of Things integration platform | |
US10353939B2 (en) | Interoperability mechanisms for internet of things integration platform | |
JP6290609B2 (ja) | 検索中に関連性のない情報を削減するシステム及び方法 | |
US20150365480A1 (en) | Methods and systems for communicating with electronic devices | |
US20180204299A1 (en) | Method and system for controlling distribution of composite data of user by aggregation server | |
EP3079569B1 (en) | Combining information from multiple formats | |
WO2012024590A2 (en) | Product configuration server for efficiently displaying selectable attribute values for configurable products | |
Jin et al. | Peekaboo: A hub-based approach to enable transparency in data processing within smart homes | |
Alberternst et al. | Orchestrating heterogeneous devices and AI services as virtual sensors for secure cloud-based IoT applications | |
Cui et al. | Home appliance management system for monitoring digitized devices using cloud computing technology in ubiquitous sensor network environment | |
Mendes et al. | VITASENIOR-MT: A distributed and scalable cloud-based telehealth solution | |
Triboan et al. | Towards a mobile assistive system using service-oriented architecture | |
Kiljander et al. | Enabling end-users to configure smart environments | |
Hiriyannaiah et al. | Data Reduction Techniques in Fog Data Analytics for IoT Applications | |
US10401805B1 (en) | Switch terminal system with third party access | |
Zhang et al. | An infrastructure supporting considerate sensor service provisioning | |
Zeng et al. | IF-THEN in the Internet of Things | |
Devlic et al. | Synthesizing context for a sports domain on a mobile device | |
Khan et al. | Enhanced service-oriented open sensor web architecture with application server based mashup | |
Dötterl | Situation-aware recommender systems | |
FR3036214A1 (fr) | Plateforme informatique et electronique de pilotage de services accessibles par l'intermediaire de serveurs | |
Faried et al. | Neurosurgery Reporting System (NeuroSyRS): Prototype of Innovative Information System Application in Neurosurgery Center, Bandung, Indonesia |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200630 |
|
CF01 | Termination of patent right due to non-payment of annual fee |