CN109478296A - 用于完全集成捕获和分析商业信息以产生预测决策和模拟的系统 - Google Patents
用于完全集成捕获和分析商业信息以产生预测决策和模拟的系统 Download PDFInfo
- Publication number
- CN109478296A CN109478296A CN201780033615.6A CN201780033615A CN109478296A CN 109478296 A CN109478296 A CN 109478296A CN 201780033615 A CN201780033615 A CN 201780033615A CN 109478296 A CN109478296 A CN 109478296A
- Authority
- CN
- China
- Prior art keywords
- data
- business
- analysis
- processor
- engine
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
Abstract
本发明公开了一种用于完全集成收集商业影响数据、对数据进行分析并生成分析驱动的商业决策和候选商业决策的分析驱动的模拟的系统,包括存储在计算设备的处理器的存储器中并在处理器上运行的商业信息检索引擎、商业信息分析引擎和商业决策及商业动作路径模拟引擎。一种用于从具有异构报告简档的源捕获、存储和分析多维时间序列数据的系统和方法。来自以不规则间隔发送可变量的多维数据的传感器组的数据由数据处理设备接收,该数据处理设备处理原始数据以提取感兴趣的参数并保持直到接收到预定数量的传感器事件或流数据量。然后将数据提交到数据存储,直到分析时为止。较旧的数据将写入存档存储。该系统允许通过健壮的查询语言对数据存储数据进行复杂的选择和转换。
Description
相关申请的交叉引用
本申请是PCT申请,要求2016年4月28日提交的申请号为15/141,752、题为“用于完全集成捕获和分析商业信息以产生预测决策和模拟的系统”的美国专利申请的优先权,同时为2016年4月5日提交的申请号为15/091,563、题为“用于对来自传感器的具有异构报告间隔简档的时间序列数据进行捕获、分析及存储的系统”的部分延续案。上述专利文件的全部内容通过引用分别并入于此。
技术领域
本发明涉及在商业信息管理、操作和预测规划中使用计算机系统的领域。特别地,涉及系统的开发,该系统集成了商业信息和操作数据、复杂数据分析和该数据的使用、预编程序命令和参数以及机器学习的功能,以创建能够实现预测决策和行动(action)路径结果模拟的商业操作系统。
本发明涉及大量远程传感器数据的接收、存储以及分析,特别地,来自远程传感器的传感器数据的传输速率随时间变化呈高度异构(heterogeneous)。
背景技术
在过去数十年中,商业决策者可以从诸如商业设备上或可从第三方获得的无处不在的传感器、详细因果数据以及商业过程监控软件所获得的金融、操作、基础设施、风险管理的和哲学方面的信息的数量,已经扩展到数据超过几乎所有人能够完全遵循所有这些功能的能力,更不用说在给定的商业环境中更有效地解释和有意义地使用这些可用数据。换句话说,现在可供决策者群体的决策者使用的商业相关信息的迅速发展已经远远超出了那些最需要使用它的人的能力,无论是完全遵循它还是可靠地使用它。在过去几年中,未能及时识别重要趋势或及时了解信息导致NETFLIXTM,FACEBOOKTM和UPSTM出现了高度可见的、面向客户的中断,仅举几例。
现已出现了一些商业软件,其目的是将商业数据分析或商业决策过程精简或自动化。
PALANTIRTM提供用于隔离大量数据模式的软件,DATABRICKSTM提供定制分析服务,ANAPLANTM提供财务影响计算服务,还有其他软件源可缓解商业数据相关性识别、该数据的分析和商业决策自动化的某些方面,但这些解决方案都不能处理整个任务的多个方面。
目前需要的是一个完全集成的系统,它可以从许多不同的来源检索商业相关信息,并对这些大量数据进行识别和分析,将其转换为商业有用的格式,然后使用该数据创建智能预测商业决策和商业路径模拟。形成一种“商业操作系统”。
使用远程传感器连续实时甚至远距离收集环境信息如温度、压力、光照水平、个别化合物的存在和声音,此处仅列出总可能性中的小部分,这种能力数倍地提高了人类管理和控制日益复杂的生活的各个方面的潜力。除了物理传感器,例如重力仪、甲烷传感器和热电偶,这些只是传统上讨论传感器时所考虑的几个例子,还有大量的电子硬件和软件混合传感器可以测量计算机或集群计算速度、计算机网络流量速度、路径、目的地、瓶颈,此处仅举几个例子。不幸的是,阻碍人类利用传感器的潜力及其返回的信息的原因并非我们可以制造和部署的传感器的数量或类型受限,而是我们缺乏对每个传感器提供的数据连续流进行可靠检索和存储的能力,以及操纵这些数据产生有意义的、可操作的结果,例如导致了特定兴趣高峰的重复事件,或从原始数据流识别重要趋势。
最近,在这个问题领域取得了进展。Boundary报告称对从他们的时间序列网络监测传感器生成的数据流进行了成功捕获和短期存储,其实现是通过减少记录的传感器参数的数量、聚合进入系统的流使得例如10秒的传感器数据将作为单个块提交至他们的数据存储器、并且还限制每个提交的块以包括来自任意和有限数量的网络传感器的读数。这些数据,即通过总传感器的任意子群测量定义的时间段的块被作为块写入直接(straight)键:值对数据存储器达预定的时间量,但必须清除维持足够低的数据存储级别以保证系统运作。没有长期存储捕获的数据的规定。开发人员还能够根据时间记录的传感器ID和存储传感器数据的数据存储器中的关键字获取一些原始数据。这个系统被开发商称为Kobayashi(来自Boundary的Hungry Hungry Kobayashi-Dietrich Featherston;https://vimeo.com/42902962:2012),是传感器数据流捕获和在短时间内从数据存储器中简单获取传感器数据的重要基础。虽然Kobayashi通过从一组传感器捕获和存储简化数据流的能力推动了技术发展,但Boundary的开发无法执行功能传感器数据流捕获和分析所需的多项任务。这些要求来自一份清单,该清单包括:1)Kobayashi使用的严格基于时间间隔的递交(commitment)计划在可靠的时间序列传感器中运行良好,这意味着数据随时间均匀到达,但是当传感器数据不规则地到达并且同时接收大量数据时,运行情况并不能令人满意;2)Kobayashi没有规定传感器数据的长期存储—开发人员提供的只有8.64x104(一天中的秒数)存储在数据存储器中,然后数据被清除;3)除最基本的脚本之外,Kobayashi没有强大的查询语言来从数据存储器中获取特定数据;4)没有转换能力,这种能力在尝试分析大量潜在的有噪声和复杂数据时尤为重要。
因此,亟需一种从多个传感器捕获时间序列数据到数据存储器的系统和方法,这些传感器可以以不规则的间隔发送数据,其中大量数据可以同时来自传感器阵列。还需要一种用于旧数据的长期存档存储的系统和方法,可能不再需要用于当前分析,并且这将导致实时数据库中不可接受的高维护开销,但这对于长期趋势或者先前事件分析是至关重要的。最后,需要一种系统和方法,其允许基于复杂的搜索标准对特定传感器数据进行直接、标准化的搜索和分析,然后使用转换工具来最大化数据信息潜力以及一组强大的表示格式,以使转换数据的信息价值最大化。
发明内容
因此,发明人开发了一种分布式系统,用于对来自多个源的商业操作信息进行完全集成的检索以及深度分析。该系统进一步使用商业信息分析的结果来优化商业决策的制定,并允许使用最新数据和机器介导的预测算法来模拟替代行动路径。
根据本发明的一个实施例,一种系统,包括:商业信息检索引擎,其存储在计算设备的处理器的存储器中并在所述处理器上运行;商业信息分析引擎,其存储在计算设备的处理器的存储器中并在所述处理器上运行;以及商业决策及商业动作路径模拟引擎,其存储在计算设备的处理器的存储器中并在所述处理器上运行。其中,所述商业信息检索引擎用于:从多个来源检索多个商业相关数据;直接从人机接口设备或从一个或多个命令和控制存储设备接收多个分析参数和控制命令;存储所累积检索的信息,以供商业信息分析引擎或预定数据超时进行处理。所述商业信息分析引擎用于:从商业信息检索引擎中检索多种数据类型;基于商业流程分析作者在当前活动中提出的具体目标和需求,对检索到的数据执行多种分析函数及变换。商业决策及商业动作路径模拟引擎用于:使用商业信息分析引擎执行的数据分析和变换结果,并结合来自多个来源的可用补充数据以及来自商业流程分析作者的任何当前活动特定机器学习、命令和参数,以制定当前商业操作和风险状况报告;以及使用商业信息分析引擎执行的数据分析和变换结果,并结合来自多个来源的可用补充数据、来自商业流程分析作者的任何当前活动特定命令和参数、以及从机器学习到的算法中收集的输入,为第一个终端用户提供商业行动路径模拟和商业决策支持。
根据本发明的另一个实施例,所述商业信息检索引擎采用用于人机接口设备输入的门户,所述输入的至少一部分是商业相关数据,至少另一部分是与当前商业分析活动的进行相关的命令和参数。所述商业信息检索引擎采用存储在计算设备的处理器的存储器中并在其上运行的存储器中的高容量深度网页爬虫,所述高容量深度网页爬虫从高度可定制的基于云的接口接收至少一些爬取控制和蜘蛛配置参数,使用通用搜索控制参数和单独的Web搜索代理特定配置数据来协调一个或多个万维网搜索,接收可能导致发布更多Web搜索控制参数的爬取进度反馈信息、控制以及监视分布式爬取服务器上的蜘蛛,从爬取服务器接收原始爬取活动数据,依据爬取活动的参数聚合来自每个网站或网页的爬取活动数据的至少一部分。原型蜘蛛由程序库提供,单个蜘蛛通过使用配置文件创建。爬取活动请求被持久存储,并且可以重复使用或用做类似爬取活动的基础。所述商业信息检索引擎采用存储在计算设备的处理器的存储器中并在其上运行的多维时间序列数据存储器,以从多个异构类型的传感器接收多个数据,其中部分传感器具有异构报告和数据有效载荷传输配置简档;所述商业信息检索引擎在预定时间量、预定数量的数据或预定数量的事件上聚合传感器数据;所述商业信息检索引擎依照每个预定访问连接检索特定数量的聚合后的传感器数据,以允许可靠地接收和包含数据;所述商业信息检索引擎使用另外的多个访问连接透明地检索大量因太大而无法通过一个访问连接可靠传输的聚合后的传感器数据,以允许在传感器数据流量大的情况下捕获所有聚合后的传感器数据;并将聚合后的传感器数据存储在简单的键值对中,使得在接收这些聚合后的传感器数据时不需要进行数据变换。所述商业信息分析引擎采用存储在计算设备的处理器的存储器中并在其上运行的存储器中的有向计算图;所述有向计算图检索来自多个数据源中的一个或多个的输入流;过滤数据以从流中移除数据记录,移除数据记录的原因包括但不限于:缺少所有信息、记录中数据损坏、以及存在不一致信息或缺失信息导致数据记录无效;所述有向计算图将过滤后的数据流分成两个或多个相同的部分;基于一组预定参数格式化一个数据流内的数据,以便为数据存储器中的有意义存储做准备;使用系统的资源发送相同的数据流以便进一步分析和线性变换或分支变换。
根据本发明的另一个实施例,一种完全集成捕获、变化分析商业影响数据以并生成预测决策和模拟的方法,包括以下步骤:(a)使用存储在计算设备的处理器的存储器中并在所述处理器上运行的商业信息检索引擎来检索商业相关数据、分析活动命令和控制信息;(b)使用存储在计算设备的处理器的存储器中并在所述处理器上运行的商业信息分析引擎并结合前述设计的分析活动命令和控制信息来分析和变换所检索的商业相关数据;以及(c)基于对前述检索的商业相关数据的分析结果和前述输入的分析活动命令和控制信息,使用商业决策及商业路径模拟引擎提供商业决策关键信息以及商业路径模拟信息。
相应地,发明人开发了一种分布式系统,用于捕获和存储来自具有异构报告简档的传感器的时间序列数据,该系统可以扩展以接收高数据吞吐量的时段。该系统还包括对已经超过实时数据存储器内预定年龄但仍然需要存储的数据进行存档的能力。该系统包括一个强大的SQL类的查询语言,它不仅允许用户使用复杂的逻辑来专门选择所需的数据,而且还可以在显示数据之前对所选数据进行数据变化过程。
根据本发明的另一个实施例,一种用于从具有异构报告间隔简档的传感器捕获、分析和存储数据时间序列的系统,包括:数据流管理引擎,其存储在计算设备的处理器的存储器中并在所述处理器上运行;多维时间序列数据存储器,其存储在计算设备的处理器的存储器中并在所述处理器上运行;数据查询和输出引擎,其存储在计算设备的处理器的存储器中并在所述处理器上运行。本实施例中,所述数据流管理引擎用于:接收多个传感器数据;在预定时间量、预定数量的数据或预定数量的事件上聚合传感器数据,以传输至所述多维时间序列数据存储器中;按预定的每个访问连接发送特定数量的聚合后的传感器数据,以允许可靠地将数据传输和包含到多维时间序列数据存储器中;使用另外的多个访问连接透明地传输一些因数量太大而不能通过一个访问连接可靠传输的聚合后的传感器数据,以允许在传感器数据流入量大的情况下通过多维时间序列数据存储器捕获所有聚合后的传感器数据。本实施例中,所述多维时间序列数据存储器用于:将聚合后的传感器数据存储在简单的键值对中,使得在接收这些聚合后的传感器数据时不需要进行数据变换;存储预定数量样本的数据,然后清除最旧的数据。进一步地,在一些实施例中,所述数据查询和输出引擎是在收集传感器数据之前通过指定参数来建立分析的交互点,所述参数包括置于聚合后的传感器数据的每个量子内的事件或时间单位的数量、所述数据流管理引擎和所述多维时间序列数据存储器之间的连接通道数量、可以一次组合以将聚合后的传感器数据传送到多维数据存储器的通道数量、每个传感器要存储的相互关联的维数;具有SQL类的查询语言,以有用的格式从所述多维时间序列数据库中检索感兴趣的传感器数据;是用于选择在检索数据后的多维时间序列数据存储器上执行的变换以及指定数据输出格式的交互点。
根据本发明的另一实施例,一种用于从具有异构报告间隔简档的传感器捕获、分析和存储数据时间序列的方法,包括以下步骤:(a)从具有不规则报告间隔简档的远程传感器接收原始数据;(b)基于分析中包括的传感器数量和预定时间间隔或预定数量的事件来聚合传感器数据;(c)根据报告数据的传感器的数量,使用一个到预定的多个通信线路将聚合后的传感器数据传送到多维时间序列数据存储器;(d)将未变换的聚合后的传感器数据在键值对数据存储器中存储预定的一段时间,在超时时移除存储的聚合传感器数据;(e)使用SQL类的查询语言从多维数据存储中检索持续分析所感兴趣的聚合后的传感器数据;(f)进行变换然后将该数据格式化为最适合其在持续分析中的格式。
附图说明
附图示出了本发明的若干实施例,并且与说明书一起用于解释根据实施例的本发明的原理。本领域技术人员将认识到,附图中示出的特定实施例仅仅是示例性的,并不意图限制本发明的范围。
图1是根据本发明实施例的商业操作系统的示例性体系结构图;
图2是示出在极高带宽云接口的功能中使用的示例性步骤集的流程图;
图3是根据本发明实施例的线性变换(transformation)流水线(pipeline)系统的示例性体系结构图,其以变换节点和消息的有向图的方式介绍了变换流水线的概念;
图4是本发明一个实施例中使用图论将本发明的变换流水线模块建模为有向图的方法的流程图;
图5是本发明一个实施例中用于线性变换流水线的方法的流程图;
图6是本发明一个实施例中用于变换流水线的方法的流程图,其中变换流水线中的一个变换节点从两个源变换节点接收数据流;
图7是本发明一个实施例中用于变换流水线的方法的流程图,其中变换流水线中的一个变换节点将输出数据流发送到两个单独的变换流水线中的两个目的地变换节点;
图8是本发明一个实施例的示例性万维网目标站点的图,该站点包含松散结构、大容量数据的类型,这些数据使得它们成为的搜索(search)和检索(retrieval)的候选;
图9是本发明一个实施例中用于高容量网页爬取模块(web crawling module)的方法的流程图;
图10是Scrapy网络蜘蛛配置文件的一个非常简单的示例的列表;
图11是本发明一个实施例的从具有异构报告简档的传感器捕获和存储时间序列数据的示例性步骤集的方法流程图;
图12是本发明一个实施例的使用元泳道(metaswimlanes)透明地适应数据流的级别的方法流程图,该数据流会使单个泳道过载;
图13是本发明一个实施例的使用卡尔曼滤波器(Kalman filter)从噪声传感器数据中爬取和平滑估计的系统状态的简化示例;
图14本发明的各种实施例中所使用的计算设备的示例性硬件架构的框图;
图15是本发明的各种实施例中的客户端设备的示例性逻辑架构的框图;
图16是本发明的各种实施例中的客户端、服务器和外部服务的示例性架构布置的框图;
图17是本发明的各种实施例中所使用的计算设备的示例性硬件架构的另一框图;
图18是本发明一个实施例的自动规划服务模块的操作的方法流程图;
图19是本发明一个实施例的用于从具有异构报告简档的传感器捕获和存储时间序列数据的系统的示例性体系结构图。
具体实施方式
本发明用于完全集成捕获和分析商业信息以产生预测决策和模拟的系统和方法,发明人已经构思并将之沦为实践。
本发明用于对来自传感器的具有异构报告间隔简档(heterogeneous reportinterval profiles)的时间序列数据进行捕获、分析及存储的系统和方法,发明人已经构思并将之沦为实践。
本申请中将阐述一个或多个不同的发明。此外,对于本文描述的一个或多个发明,可以描述许多替代实施例;应该理解,这些仅用于说明目的。所描述的实施例无意在任何意义上进行限制。如从本公开中显而易见的,本发明中的一个或多个可以广泛适用于多个实施例。通常,足够详细地描述实施例以使得本领域技术人员能够实践本发明中的一个或多个,并且应当理解,在不脱离特定发明范围的情况下,可以利用其他实施例并且可以进行结构、逻辑、软件、电气和其他方面的改变。因此,本领域技术人员将认识到,可以通过各种修改和变化来实践本发明。本发明中的特定特征在本公开的一个或多个特定实施例或附图中有描述,并且其中通过图示的方式示出了本发明中的一个或多个的特定实施例。然而,应该理解的是,这些特征不限于在一个或多个特定实施例或附图中并参考它们的描述的使用。本公开既不是对一个或多个发明的所有实施例的文字描述,也不是必须存在于所有实施例中的一个或多个发明的特征的列表。
本申请中提供的段落标题和本申请的主题仅为了方便理解,不应以任何方式限制本公开。
除非另有明确说明,否则彼此通信的设备之间不需要持续通信。另外,彼此通信的设备可以通过一个或多个逻辑或物理中介直接或间接地通信。
对具有彼此通信的若干组件的实施例的描述并不意味着需要所有这些组件。相反,为了更全面地说明本发明的一个或多个方面,可以描述各种可选组件以说明一个或多个发明的各种可能的实施例。类似地,尽管可能依次顺序地描述了处理步骤、方法步骤、算法等,但是这些处理、方法和算法通常可以被配置为以交替顺序工作,除非另有明确说明。换句话说,在本申请中描述的任何顺序或步骤顺序本身并不表示要求以该顺序执行步骤。所描述的过程的步骤可以以任何实际的顺序执行。此外,尽管被描述或暗示为顺序发生(例如,因为在另一步骤之后描述了一个步骤),但是可以同时执行一些步骤。此外,通过附图中的描绘来说明过程并不意味着所示过程不包括对其的其他变化和修改,并不意味着所示过程或其任何步骤对于本发明中的一个或多个是必需的,也并不暗示所示的过程是优选的。此外,每个实施例一般描述一次步骤,但这并不意味着它们必须发生一次,也并非意味着它们在每次处理、方法或算法时仅发生一次。在一些实施例或者某些实例中可以省略一些步骤,或者一些步骤在给定的实施例或事件中可以执行一次以上。
当描述单个设备或物品时,显然可以使用一个以上的设备或物品来代替单个设备或物品。类似地,在描述不止一个设备或物品的情况下,显然可以使用单个设备或物品来代替一个以上的设备或物品。
设备的功能或特征可替代地由一个或多个未明确描述为具有这样的功能或特征的其他设备来实现。因此,一个或多个发明的其他实施例不需要包括设备本身。
为清楚起见,本文描述或引用的技术和机构有时将呈单数形式。然而,应该注意,除非另有说明,否则特定实施例包括技术的多次迭代或机构的多种表现。附图中的流程描述或方框应被理解为表示包括用于实现过程中的特定逻辑功能或步骤的一个或多个可执行指令的模块、片段或代码部分。替代实施方式包括在本发明的实施例的范围内,例如,功能可以不按所示或讨论的顺序执行,包括基本上同时或相反的顺序,这取决于所涉及的功能,如本领域普通技术人员所理解的。
定义
如本文所用,“泳道(swimlane)”是时间序列传感器数据接收和分配设备与旨在保持分配数据时间序列传感器数据的数据存储器之间的通信信道。泳道能够在两个设备之间移动特定的有限数量的数据。例如,单个泳道可以可靠地携带并且已经并入数据存储器的数据容量,相当于5秒内来自10个传感器的5秒钟的数据,这是其容量。尝试使用一个泳道从6个传感器接收5秒钟的数据将导致数据丢失。
如本文所用,“元泳道(metaswimlane)”是两个或更多个真实泳道的转移容量的所需逻辑组合,其对请求过程是透明的。当每单位时间接收的数据量随时间变化呈高度异构时,传感器研究可启动以使用元泳道。使用上面使用的示例,单个真实泳道可以传输并合并10个传感器的5秒钟数据而不会丢失数据,在5秒间隔期间突然接收来自13个传感器的传入传感器数据将导致系统创建一个双泳道元泳道,以在一个真实泳道中容纳标准的10个传感器数据,在第二个透明增加的真实泳道中容纳3个传感器数据,但是,由于数据接收和分配设备将透明地增加额外的真实泳道,因此不需要对数据接收逻辑进行任何更改。
概念架构
图1是根据本发明一个实施例的商业操作系统100的示例性体系结构图。客户端访问105系统既用于系统控制又用于与系统输出的交互,例如自动预测决策和规划以及备用路径模拟,其通过系统的高度分布的、极高带宽云接口110进行,该接口110是通过使用Scala/Lift开发环境和由AWS ELASTIC BEANSTALKTM调解的Web交互操作由应用程序驱动的,二者均由于标准合规性和易于开发而使用。系统分析的大部分商业数据既来自客户商业范围内的来源,也来自基于云的源,也通过云接口110进入系统,数据被传递到系统的分析和变换组件、有向计算图模块155、高容量网页爬取模块115和多维时间序列数据库120。有向计算图模块155检索来自多个源的一个或多个数据流,所述源包括但不限于多个物理传感器、基于网络的问卷和调查、电子基础设施的监视、众包活动和人工输入设备信息。在有向计算图模块155中,数据被分成两个相同的流,其中一个子流被发送用于批处理和存储,而另一个子流被重新格式化以用于变换流水线分析。接着,数据被传送到通用变换服务(general transformer service)模块160以进行线性数据变换作为分析的一部分,或传送到可分解变换服务模块150用于分支或迭代变换作为分析的一部分。有向计算图模块155将所有数据表示为有向图,其中变换为节点以及图的变换边之间的结果消息。包含相当多的中间变换数据的这些图被存储在图堆栈模块145内进一步分析。高容量网页爬取模块115使用多个服务器托管的预编程网络蜘蛛来从基于网络的资源中查找和检索感兴趣的数据,这些资源未被传统的网络爬取技术标记。多维时间序列数据库模块120从大量传感器检索数据,这些传感器可以为几种不同类型。该模块通过动态分配网络带宽和服务器处理通道来处理输入数据,从而适应不规则和高容量浪涌(surges)。由多维时间序列数据库120和高容量网络爬取模块115检索的数据可以通过有向计算图模块155和相关的通用变换服务模块150和可分解变换服务模块160进一步分析并变换成任务优化结果。
接着,变换分析处理的结果可以进一步与自动规划服务模块130中已有数据外部的分析和情境信息相关的客户指令、附加商业规则和实践相结合,所述自动规划服务模块130还运行强大的预测统计功能和机器学习算法以允许基于当前系统导出的结果快速预测发展趋势和结果,并为每个选择一些可能的商业决策。通过使用所有可用数据,自动规划服务模块130可以提出最可能产生的商业决策是具有可用高度确定性的最有利的商业结果。在使用系统导出的结果与自动规划服务模块130密切相关的情况下,结合可能的外部提供的附加信息,并辅以终端用户商业决策,与面向终端用户的观察和状态估计服务140连接的商业结果模拟模块125使得商业决策者可以基于当前可用数据的分析来对选择一个待决行动而不选是另外一个的可能结果进行调查。例如,管道(pipelines)运营部门报告了在一个偏远地区的一段管道中原油压力的降幅非常小。许多人认为这个问题完全是由于被污染的、可能是故障的流量传感器所导致,其他人认为它是由于一个近端上游泵中可能有异物卡在其中所导致。对这两种可能性的校正是增加受影响的泵的输出以希望清除它或受污染的传感器。故障传感器需要在下个维护周期进行更换。然而,少数人认为压力下降是由于管道中断,此可能性很小,但即便如此,原油正在泄漏,对于污染的传感器或泵选项的补救措施可能会使泄漏更加严重并且之后会浪费很多时间。该公司确实有一个约8小时路程远的承包商,或者可以租用卫星时间查看,这两种方式虽然比负面公众曝光率很高的清理漏油方式要便宜得多,但对于可能的传感器问题而言还是很昂贵。这些传感器问题之前已经发生过,并且商业操作系统100具有相关数据,由于柱状图的数量太大而没有人真正研究过这些数据,因此采用了其他行动方案125、140。由于其他可用数据并且承包商已被派遣,该系统基于所有可用数据预测此次根本原因不太可能是污染的传感器或泵。其发现管道中有个小漏洞。需要进行小规模清理,并且需要关闭管道以进行维修,但已经节省了数千万美元。这只是商业操作系统的许多种可能使用的一个例子,本领域技术人员将容易地制定更多。
图2是示出在极高带宽云接口200的功能中使用的示例性步骤集的流程图,极高带宽云接口也在图1中描述为110。流入和流出极高带宽云接口200的数据可以来自通过台式或移动计算设备的人机交互(如202中)、从远程传感器阵列发送的读取数据(如203中)和从网页检索的数据(如204中),203、204两者可以于适度时间间隔内达到非常高的瞬时容量,这必须由接口调节以确保可靠的数据捕获。应当注意,虽然云201通常表示互联网,通常是上下文中的万维网,但是它也可延伸为从客户端商业的范围传输到可以使用单独网络拓扑结构的商业操作系统的数据。在极高带宽云接口中,使用大多数开源资源构建和支持的Web应用程序为终端用户提供图形界面,以提交新信息(如207中),并对分析和预测决策的结果以及商业操作系统创建的模拟进行可视化分析(如208中)。程序还用于在208步骤中执行分析时从分析器和编程器接受并正确地将命令行指令和参数发送(route)到系统。由多维时间序列数据库模块120以及高容量网页爬取模块115检索的传感器数据和原始网页数据也可以通过高容量接口(如205中)。虽然本实施例将云接口表示为商业操作系统架构的单片部分,但是本发明不具有这样的要求,因此在其他实施例中,数据、编程命令和活动参数可以从多个门户进入云。
图3是本发明优选实施例中用于使用分布式计算图300对大数据集进行预测分析的系统内的变换流水线的框图。本实施例中,流输入315用作变换流水线的第一个变换节点(即变换节点1)320的输入。对输入数据流执行变换节点的功能,并且将变换的输出消息325发送到标号330所示的变换节点2。变换节点320、330、340、350、360的进展(progression)以及来自每个节点的相关输出消息325、335、345、355在配置上是线性的,这是最简单的排列,并且如前所述,代表了当前的技术水平。虽然各实施例中将变换节点描述为均匀形状,但是这种均匀性仅为了表示简单和清晰,并不反映流水线内变换之间必要的操作相似性。应当理解,本领域技术人员将认识到流水线中的某些变换可以是完全独立的;某些变换可能涉及通过在台式或移动设备330上运行的程序实现的人机交互,例如通过一个或多个拨号盘进行的选择、对一个或多个开关的定位、或在控制显示器上设置的参数,所有这些都可以在分析期间改变;其他变换可能需要外部聚合或相关服务,或者可能依赖于对同步或异步分析引擎的远程过程调用,如在多个其他可能性之间的模拟中可能发生的那样。此外,本实施例中,一个流水线中各个变换节点可以表示另一个变换流水线的功能。应当理解,所描绘的变换流水线的节点长度决不会将本发明所采用的变换流水线限制为340、350、360所分配的任意最大长度,因为变换的数量将受到可用于本发明的每个实现的资源的限制。进一步地,应理解,对变换流水线长度不存在限制。最后一个变换节点360的输出并且通过扩展,变换流水线可以被发送回消息传递软件模块135以用于预定动作。
图4是本发明一个实施例中使用图论155将本发明的变换流水线模块160建模为有向图的方法400的流程图。本实施例中,变换流水线t1..tn的各个变换如402、404、406使得每个tiT被表示为图形节点。属于T的变换是对各个数据集di的离散变换,与经典函数一致。这样,每个单独的变换tj接收一组输入并产生单个输出。单个变换ti的输入被定义为函数in:tid1..dk使得in(ti)={d1..dk)表示具有k个输入的变换。类似地,单个变换的输出被定义为函数out:ti[ld1]表示产生单个输出的变换(可由其他变换使用)。现在可以定义out(ta)于in(tb)的依赖性函数dep(ta,tb)。通过变换流水线401、403、405的携带数据流的消息构成图形边。然后,使用上述定义,本发明中的变换流水线可以定义为G=(V,E),其中V为消息(t1,t2..t(n-1),tn),t1..tn为所有变换,E为所有依赖关系dep(ti,tj),如407中。
图5是本发明一个实施例中用于线性变换流水线501的方法500的流程图。本实施例中为最简单的配置,第一变换节点502对输入流起作用,然后对于整个流水线顺序地执行流水线中的其余变换502、503、504、505,并未在初始节点内部引入新的数据,也未在流水线505的最后一个节点之前拆分输出流。此配置是变换流水线的当前技术水平,也是这些构造的最一般的形式。线性变换流水线不需要特殊操作来简化数据路径,因此被称为不可分解的,因此它们由通用变换服务160处理。此图中描述的示例用于表示线性变换流水线的配置,并且是最简单的配置形式。本发明并不局限于此。
图6是本发明一个实施例中用于变换流水线的方法600的流程图,其中变换流水线中的一个变换节点607从两个源变换节点601接收数据流。本发明通过对很大程度上依赖于后变换函数延续(post transformation function continuation)的输入事件602-603、604-605进行分解或串行化来实现该变换流水线配置。各个变换节点602、604的结果在目的变换节点606之前并且被放置到单个专用数据存储变换节点603、605中(进行两次处理,故图中示出两次)。为了处理该变换流水线,必须拆开流水线并由可分解变换服务150处理。然后从数据存储器606中检索组合结果,并将其作为变换流水线主干607、608内的变换节点的输入流。该图中描绘的示例表示变换流水线的配置,其具有从两个源节点602、604接收输入的各个变换节点,并且是用于示出该点的配置的最简单形式。本发明并不局限于此。本领域技术人员可以意识到,可能存在大量的排列和拓扑,特别是因为本发明对从多于一个源接收输入的变换节点的数量或向目的节点提供输入的源数量没有设置限制。
图7是本发明一个实施例中用于变换流水线的方法700的流程图,其中变换流水线中的一个变换节点703将输出数据流发送到两个单独的变换流水线中的两个目的地变换节点701、706、708。本发明通过对输出事件704、705-706、707-708进行分解或串行化来实现该变换流水线配置。源变换节点703的结果在目的变换节点706之前并且被放置到单个专用数据存储变换节点704、705、707中(由于存储进行一次、获取进行两次,故图中示出三次)。然后从数据存储器704中检索在先变换节点的结果,并将其作为两个下游变换流水线706、708内的变换节点的输入流。该图中描绘的示例表示变换流水线的配置,其具有向两个目的节点706、708发送输出流的各个变换节点,并且是用于示出该点的配置的最简单形式。本发明并不局限于此。本领域技术人员可以意识到,可能存在大量的排列和拓扑,特别是因为本发明对向多于一个目的发送输出的变换节点的数量或从源节点接收输入的目的数量没有设置限制。该示例变换流水线也很复杂并且必须被分解以完全处理,因此它也将由可分解变换服务器150处理。
图8是万维网上的网站的框图800,其是用于大量爬取深度网络数据的分布式系统的示例目标类型。www.seismi.org 810是一个地质(geoseismic)数据的网站,它本质上是非文本的,因此很少有对传统网页爬虫有用的标签。从这种类型的网站检索的数据也不适合关系数据存储设置,并且可能需要在存储在文档类型数据存储器之前进行大量的后爬取(post-scrape)变换。
theunitedstates.io/federal_spending/811是一个发布原始支出数据报告的网站,主要是文本的,但是与网络相关的标签极少,即便有也很难通过传统的爬取索引或检索。这种类型的网站估计也具有大量的数据,这又会阻碍传统的网页爬虫工具。此外,原始支出数据可能需要在有意义的数据存储器存储之前进行大量的预处理。toolkit.climate.gov 812与www.seismi.org 810一样,是一个具有大量非文本气候数据的网站,几乎没有任何与网络相关的标签,这意味着需要使用气候固有关键字来有意义地检索已爬取数据,并且可能需要在有意义的存储之前进行数据变换步骤和预存储处理。
http://hall-of-justice.herokuapp.com/category/corrections/813、http://hall-of-justice.herokuapp.com/category/financial/814、和http://www.electionpassport.com815都是类似的,因为它们是具有极大量的自由格式文本数据的站点,几乎没有任何网络标签,并且在输出或存储之前需要处理所检索的数据的概率很高。
图9是用于高容量网页爬取模块115的方法900的流程图。一个或多个爬取活动(scrape campaign)的参数,配置数据可以包括但不限于:要遍历的网站或网页、要解析的Web文档数据的关键字或标签、以及后续链接或在网站上找到的其他参考文献的搜索扩展规则、以及由爬取活动的作者所包含的任何其他蜘蛛配置信息;爬取活动控制指令包括但不限于:爬取活动中使用的蜘蛛数量、预定爬取活动中的特定网站或网页的相对资源使用优先级、在遇到特定结果或结果类型时对爬取活动进行调整的指令、应用特定爬取活动结果数据进行预处理和后处理步骤的指令以及包含持久存储器格式化规则的输出格式指令;上述参数、配置数据和爬取活动控制指令通过命令行接口接收(如910中),或者通过基于HTTP的RESTful JSON应用程序编程接口(API)从软件应用程序110接收(如920中),命令行接口可以从交互终端105或计算系统115上的另一软件应用程序接收命令。在API内使用REST和JSON不应被解释为本发明仅依赖于使用这些协议来完成该任务,因为本领域技术人员将意识到可以使用任何其它类似的协议,例如但不限于,基于MQTT的消息传递、SOAP或AJAX。REST和JSON的使用仅符合当前的实践和发明人的决定。接收的爬取活动控制和蜘蛛配置参数在必要时形式化并存储在数据存储器中,以便在后续启动爬取活动时使用。在启动时可以立即也可以延迟,并且相同的爬取活动可以重复运行,随着参数持续直到清除。本领域技术人员将理解,诸如Redis的键值数据存储器非常适合于存储爬取活动参数数据,但是本发明并未规定使用任何特定类型的数据存储器来存储爬取活动数据。一旦接收到启动爬取活动的命令,本发明使用爬取活动作者传递的控制指令来协调爬取活动(如940中)。来自列表中的指令包括要爬取的网站的数量和复杂性、分配给特定网站或页面的优先级、要使用的不同蜘蛛配置的数量、作者希望爬取的进行速度,上述指令用于根据本发明的预定编程决定将要部署的蜘蛛的数量和要包括在爬取中的爬取服务器的数量。当爬取活动活跃时,爬取活动控制器模块通过爬取控制器115持续监视例如卡住的蜘蛛和中间爬取结果等进度和操作信息(如950中),使得爬取活动的作者可以确定爬取过程中取得的进展、有一些迹象表明已经产生了什么结果、知道蜘蛛仍有待处理的任务以及可能已经遵循的任何链接以及根据预先编程的报告参数980对爬取作为整体添加的影响。监控950及报告980意识到已经出现的操作问题,如果有的话。监视数据被记录到数据存储器(如930中)以供后续分析。基于刚刚公开的进展和操作健康报告,或者其他不可预见的因素,本发明的程序设计允许调整爬取活动,而不必关闭运行的爬取并且不会丢失先前累积的爬取结果(如960中)。由各个蜘蛛获得的原始爬取结果通过爬取服务器115的爬取控制器模块115传递并且被聚合,然后根据爬取活动的预定目标以特定方式变换(如970中)。本发明为此目的提供预编程的算法工具集,并且还提供API挂钩,其允许数据在最终输出之前以预定的最适合爬取活动作者需求的格式传递到外部处理算法。结果数据也可以被适当地处理和形式化以持久存储于基于文档的数据存储器中(如990中),例如MongoDB、任何NOSQL类型数据存储器甚至是可以使用关系数据库,具体取决于作者的需要和在爬取期间获取的数据类型。对于爬取结果的持久存储,本发明不依赖于任何特定的数据存储器类型。
应特别提及本发明中使用的蜘蛛。作者选择使Scrapy(Scrapinghub,LTD.,www.scrapy.org))以生成在本发明协调的网页爬取中使用的蜘蛛,Scrapy是一种免费的、开源的、BSD许可的网页爬行框架。选择Scrapy有几个原因,其中一些原因是:Python中用于基本Web蜘蛛功能的编程已经存在,因此作者在设计蜘蛛以使用框架时不需要广博的编程专业知识;创建特定于爬取活动的蜘蛛所需的其余配置参数900的格式和关键字已明确定义,功能强大且文档齐全(http://doc.scrapy.org/en/latest/index.html),在CareerBuilder.com、BiteFinder.com和Data.gov.uk等高数据吞吐量网站的使用过程中,Scrapy框架已被证明是可靠和稳定的。虽然本发明目前综合使用Scrapy框架来定义所使用的蜘蛛,但它在编程方面并非依赖于Scrapy框架,以至于无法用另一个Web爬行代理框架(例如OXPath-http://oxpath.org))来替代,如果找到更好的替代方案,则可以替代,而不应该将Scrapy来严格限制发明。
图10是Scrapy网络蜘蛛配置文件1000的一个非常简单的示例的列表。此列表要求Scrapy框架以及Scrapy所依赖的库(http://doc.scrapy.org/en/1.0/intro/install.html)存在于运行网页爬取(web scrape)的系统上。虽然经过高度简化,但列表1000显示了创建爬取特定蜘蛛1010、1020、1030、1040所需的所有主要部分。在列表1010的顶部为一个声明将包含在当前蜘蛛的创建中的部分Scrapy框架的段。在列表中,下一部分1020声明了一个用于识别此蜘蛛类型的名称、以及允许蜘蛛在爬取期间遍历的万维网域、以及爬取起点的URL。在下一部分1030中声明的是在爬取期间遇到HTML链接时应用的规则,以及处理爬取的目标信息时应使用的算法,在这种情况下,蜘蛛正在从example.com域抓取特定类型的HTML链接。末段部分1040具有关于如何处理目标数据的指令,包括与特定web标签相关联的数据的指令。虽然本实施例配置创建的蜘蛛具有有限的能力,但它很实用,并且会如所写那样完成它的爬取功能。人们会立刻意识到列举的蜘蛛定义中的所有指令都与检索数据有关,而不是蜘蛛如何到达网站或实现列出的文件中给出的指令的细节等。这也是该框架用于本发明的理由。
图11是本发明一个实施例的从具有异构报告简档的传感器捕获和存储时间序列数据的方法1100的流程图。在方法的第一步骤1105中,从连接到捕获及分析设备的一组传感器接收数据。接收的传感器数据可以被捕获并存储在两个主要范例(paradigm)下。其中一个范例中,传感器数据以确定的、可靠的周期到达,其可以是连续的,但是每单位时间的数据量是可靠同质的(homogeneous),因此使用简单的基于时间的模型即可容易地执行传感器数据的捕获和存储。该范例及其解决方案是现有技术因此并未示出。当被监测的传感器以不规则的间隔发送数据并且捕获及分析设备接收的数据量随时间推移而变化很大时,使用第二范例。与同质传感器数据行为相比,这种异构传感器数据行为需要不同的处理策略。传感器数据捕获设备以严格规则的时间间隔存储传感器数据,因为每个存储周期的数据量可能变化很大。在异构数据流入(influx)的条件下可靠工作的两种策略是事件驱动和流捕获。事件驱动策略将数据保存在数据流管理引擎120的存储器中,直到已经发生预定数量的数据事件(如1110-1120中)。通过选择对管理员来说重要的参数或维度来处理数据,然后在达到预定的事件阈值时将其存储到数据存储1120、1130。流捕获策略使用在数据流管理引擎120中累积的数据量作为触发器1110-1115,以将处理后的传感器数据提交到存储器1115-1130。根据本实施例,管理员可以预先选择事件驱动或流驱动的递交(commitment),以及与使用管理设备120分析传感器数据有关的许多其他参数。
在异构传感器数据传输的条件下,有时将输入数据提交到数据存储器的速率超过单个数据泳道的传输容量1125。通过允许系统透明地将多个真实泳道分配给单个数据传输来解决这种可能性。例如,如果单个真实泳道每单位时间可以传输5个传感器的数据,而8个传感器的数据必须在该单位时间内提交,则系统可以(如果由管理员预先设置)使用元泳道,如图12中所示,可以使用2个真实泳道,一个用于将5个传感器的数据传输到数据存储器,另一个用于将三个传感器的数据传输到数据存储器,从而保持单个泳道在提交过程中的质量。
无论传输情况如何,所有传感器数据都存储在多维时间序列数据存储器中1130,此方式设计为满足非常低的开销(overhead)、快速的数据存储和最小的维护需求,以减少资源消耗。本实施例使用的键值对数据存储是RIAKTM、REDISTM和BERKELEY DBTM,因为它们开销低且速度快,但是如果出现对特性特征具有更好响应的另一个数据存储类型,则本发明不特别依赖于本领域已知的单个数据存储类型。由于本领域技术人员容易推测的因素,数据存储递交可靠性取决于在时间序列传感器数据分析固有的条件下的数据存储数据大小。为实现本发明的目的,数据记录的数量必须保持相对较低。作为示例,一组开发人员将其多维时间序列键值对数据存储的大小限制为大约8.64x104个记录,相当于一秒间隔传感器在24小时内的读数或一分钟间隔传感器在60天内的读数。在此开发系统中,最旧的数据将从数据存储器中删除并丢失。在开发条件下,这种数据丢失是可以接受的,但在生产环境(production environment)中,旧数据的丢失是很重要且不可接受的。本发明通过规范将过期数据置于长期存储中来解决这种保留旧数据的需求。本实施例中包含档案存储1170。由数据归档(data archive)120提供的档案存储可以由用户在本地提供,也可以是基于云的,诸如由Amazon Web Services或Google提供的,或者可以是本领域技术人员已知的任何其他可用的超大容量存储方法。通过使用复杂查询逻辑专门检索传感器数据1135,并使用工具进行变换,所述工具诸如包括所有查询的传感器的平均读数、所查询的所有传感器的所有读数的变化、所查询的传感器的标准偏差和更复杂类型的工具例如标准线性插值、卡尔曼滤波和平滑。然后,数据可以由系统以各种格式表示,例如但不限于文本(text)、JSON、KML、GEOJSON和TOPOJSON,具体取决于结果信息的最终用途1180。
图12是本发明一个实施例的使用元泳道透明地适应数据流级别的方法的流程图,该数据流级别会使单个泳道过载。如前所述,当试图从以不规则时间间隔发送数据并且每单位时间发送的数据可能是异构数量的多组实时传感器提交数据时,很可能出现以下情况:从管理引擎1210(在本发明的一个完整实施例的上下文中也示为120)将数据的瞬时流传输至多维时间序列数据存储器1220(在本发明的系统实施例的上下文中示为100)时,将超过单个数据信道的瞬时数据容量,或者超过位于数据流管理引擎1210和多维时间序列数据存储器1220之间的泳道1211a的瞬时数据容量。在这种情况下,如果无法提供补救措施,重要的、关键的数据可能会丢失。在本实施例中所采取和示出的补救措施是系统在被配置时以对提交过程透明的方式将两个或更多个真实泳道1215a、1215b的传输和划拨带宽(commitmentbandwidth)进行组合的能力。这意味着本发明处理物理传输路径以及逻辑细节,例如跟踪多个键值对、过程标识和作为过程开销所涉及的任何特定于应用程序的簿记,然后创建数据结构以使数据记录在后续数据操作中充当单个实体。
图13是本发明一个实施例的使用卡尔曼滤波器从噪声传感器数据中提取和平滑估计的系统状态的简化示例。由于卡尔曼滤波器能够在噪声输入数据的情况下提取可靠的精确可解释数据,因此在本发明的各种实施例的数据变换函数中频繁使用卡尔曼滤波器。在本发明的一个或多个实施例中提供这种滤波器如何工作的简单演示是有用的。出于示例性的目的,让我们想象一下,深埋地下矿井的矿工挖掘出一个大型的二氧化碳地下储存库,二氧化碳冲入矿井的最低层,取代了该矿最低层的大量大气;假设那里的二氧化碳水平稳定在50%。矿业公司决定使用氢氧化锂罐和矿井通风的组合来解决问题。根据本发明的系统120可以连接到CO2传感器阵列以监测清理的进度。在该示例中,50%的CO2在CO2传感器上记录为1000,并且作为整体,制造商声明所述阵列将具有400的噪声水平。据信,这种努力可以每小时除去15.0%的现有CO2。
参照1310中列出的卡尔曼滤波器公式:
a等于与之前测量期间的百分比相比将被留下的二氧化碳百分比,100%-15%=85%。所以a=0.85。
^xk代表估计的当前结果,^xk-1代表先前的估计结果,r为传感器或传感器阵列的发布的噪声等级,zk代表当前观察结果,pk为最后一个先前预期结果和最后一个先前观察结果之间的预测误差。
最后,gk是最后预期结果与当前观察结果之间的差的系数,当添加到最后预期结果时,将产生当前预期结果。
对于在传感器数据的分析中绘制的每个数据点,使用1310中的顶部方程和使用第二方程的误差预测来计算预期结果。下方的等式用于更新用以计算下一组估计值的数字^xk。参照1320,1320e显示通过将先前的CO2预期值乘以15%(a)的预期减少值而确定的CO2计算值(xk)1330a。1320d是在显示的时间点1320f处由CO2传感器1330b报告的实际值。从初始报告的CO2传感器值开始的卡尔曼估计值如1320b所示。当绘制图形时,这组估计值描绘在线1330c中。通过将绘制的实际CO2传感器读数1330b与绘制的卡尔曼滤波器数据1330c进行比较,可以看出卡尔曼滤波器平滑的效果。由于本实施例采用长期存储数据的方式,因此其用户还可以利用卡尔曼滤波器的变体-卡尔曼舒缓,其中来自另一时间段的数据用于更好地可视化当前数据。一个例子是使用从二氧化碳分析的第四个到第八个小时的校正数据来平滑小时第十二到第十四个小时的数据,未图示。
图18是本发明一个实施例的自动规划服务模块的操作的方法流程图。如1801中,来自系统的分析数据结果被提供给标记为130的自动规划服务模块。在模块内,分析数据结果被映射到所有可能的商业操作或决策,这些操作或决策由广泛的调查结果(broadfindings)所暗示且在系统中是已知的。其中许多动作可能是专门为当前活动输入的(如1802中)。然后将外部源信息结合到动作选择过程中(如1803中),任何外部源信息诸如影响决策的现有商业实践、在本领域已知的另外多个可能因素中影响所提出动作的法律和相关规定考虑因素。一旦知道了考虑外部参数的最广泛的可能的预期动作,就将信息理论统计算法和机器学习原理应用于由系统100开发的分析数据,以可靠预测进行每个选择的可能结果并提供与每个动作相关的统计数据(如1804中)。与具有高于预定阈值的有利结果值的动作有关的数据被发送到模拟模块125和观察和状态估计模块140,以便根据相关分析活动的作者的指示适当地呈现给终端用户(如1805中)。
图19是本发明一个实施例的用于从具有异构报告简档的传感器捕获和存储时间序列数据的系统的示例性体系结构图1900。本实施例中,多个传感器设备1910a-n将数据流传输到收集设备,在这种情况下,网络服务器充当网络网关1915。这些传感器1910a-n可以为多种形式,一些非穷举的例子是:测量湿度、压力、温度、方位和气体存在的物理传感器;或者虚拟传感器,例如用于测量网络流量水平、控制器中内存使用、以及在特定网段上的电子邮件消息流中使用“重新填充”一词的次数等的程序,此处仅列举本领域已知的许多不同形式中的少数几种。本实施例中,传感器数据在没有变换的情况下被传递到数据管理引擎1920,其中它被聚合和组织以存储在特定类型的数据存储器1925中,该数据存储器1925被设计为处理从传感器数据得到的多维时间序列数据。原始传感器数据可表现出高度不同的传递特性。一些传感器组可以连续地提供低到中等量的数据。尝试以这种连续方式将数据存储到数据存储器并不可行,因为尝试分配识别密钥并且存储来自多个传感器的实时数据总会导致重要数据丢失。在这种情况下,数据流管理引擎1920将输入数据保存在存储器中,仅保留由研究管理员预先确定的较大传感器流内的参数或“维度”以及从管理设备1912发送的存储它们的指令。然后,数据流管理引擎120将聚合来自多个独立传感器的数据,并在一个足够大小的泳道中以预定间隔(例如,每10秒)并使用时间戳作为密钥将上述数据分配给多维时间序列数据存储器。这种每单位时间可预见数量的数据的高度有序传递特别适合于数据捕获和存储,但是传感器数据传输不规则发生且数据量极不均匀的模式非常普遍。在这些情况下,数据流管理引擎无法在单个泳道模式的数据存储上成功使用严格的单个时间间隔。除了单个时间间隔方法之外,本发明还可以利用基于事件的存储触发器,如在管理设备1912处所设置的,预定数量的数据接收事件触发数据块的传输,所述数据块由作为一个维度的分配数量的事件和作为另一个维度的多个传感器ID组成。在本实施例中,提交的系统时间或作为接收的传感器数据的一部分的时间戳被用作值-键对的数据块值的键。当累积的流数据达到在管理设备1912处设置的预设大小时,本发明还可以接受具有承诺发生(commitment occurring)的原始数据流。
在从中等数量传感器到大量传感器的大量报告期间,要提交的数据的瞬时负载将超过可通过单个泳道可靠传输的数据。如果在管理设备1912处预先设置捕获参数,则本发明的实施例可以将两个或更多个泳道的数据移动容量透明地组合到提交过程,以适应需要提交的数据流入,组合后的带宽被称为元泳道。图12中显示了由各个泳道1211a-z形成元泳道1215a、1215b的图示。无论传输情况如何,所有传感器数据都存储在多维时间序列数据存储器1925中,该数据存储器1130满足非常低的开销(overhead)、快速的数据存储和最小的维护需求,以减少资源消耗。本实施例使用的键值对数据存储是RIAK、REDIS和BerkeleyDB,因为它们开销低且速度快,但是如果出现对特性特征具有更好响应的另一个数据存储类型,则本发明不特别依赖于本领域已知的单个数据存储类型以排除本领域中已知的其他类型。由于本领域技术人员容易推测的因素,数据存储递交可靠性取决于在时间序列传感器数据分析固有的条件下的数据存储数据大小。为实现本发明的目的,数据记录的数量必须保持相对较低。作为示例,一组开发人员将其多维时间序列键值对数据存储的大小限制为大约8.64x104个记录,相当于一秒间隔传感器24小时的读数或一分钟间隔传感器60天的读数。在此开发系统中,最旧的数据将从数据存储器中删除并丢失。在开发条件下,这种数据丢失是可以接受的,但在生产环境(production environment)中,旧数据的丢失是很重要且不可接受的。本发明通过规范将过期数据置于长期存储中来解决这种保留旧数据的需求。本实施例中包含档案存储1930。所述档案存储可以由用户在本地提供,也可以是基于云的,诸如由Amazon Web Services或Google提供的,或者可以是本领域技术人员已知的任何其他可用的超大容量存储方法。
可靠地捕获和存储传感器数据以及提供数据的长期、离线和存储,虽然重要,但只是一种练习,这种练习是没有用于随时间推移重复检索和分析最可能不同但具体的数据集的方法的。本发明通过强健的查询语言提供了这种要求,该查询语言既提供直接的语言来检索由多个参数绑定(bounded)的数据集,又在输出之前调用(invoke)该数据集上的多个变换。在本实施例中,使用预定义查询命令对所需数据集进行隔离和变换,这些预定义查询命令是由管理设备1912发出并在数据库内通过结构化查询解释器1935起作用的。下面是一个高度简化的示例语句,用于说明使用结构化查询解释器1935可以访问的极少数可用选项的方法。
SELECT[STREAMING|EVENTS]data_spec FROM[unit]timestamp TO timestampGROUPBY(sensor_id,identifier)FILTER[filter_identifier]FORMAT[sensor[ASidentifier][,sensor[AS identifier]]...](TEXT|JSON|FUNNEL|KML|GEOJSON|TOPOJSON);
此处“data_spec”可以用更大的传感器阵列中的各个传感器的列表替换,并且列表中的每个传感器可以被赋予“sensor AS identifier”格式的人类可读标识符。“unit”允许研究人员为传感器数据分配周期,例如秒(s)、分(m)、时(h)。可以应用一个或多个变换滤波器,变换滤波器包括但不限于:均值、中值、方差、标准偏差、标准线性插值或卡尔曼滤波和平滑,然后以一种或多种格式将数据格式化,所述格式诸如文本、JSON、KML、GEOJSON和TOPOJSON以及本领域已知的其它数据格式,具体取决于数据的预期用途。
硬件架构
通常,本文公开的技术可以在硬件上实现,或者在软件和硬件的组合上实现。例如,它们可以在操作系统内核中、在单独的用户进程中、在绑定到网络应用程序中的库包中、在特殊构造的机器上、在专用集成电路(ASIC)上或在网络接口卡上实施。
本文公开的至少一些实施例的软件/硬件混合实施方式可以在可编程网络驻留机器(应当被理解为包括间歇连接的网络感知机器)上实现,该机器由存储在存储器中的计算机程序选择性地激活或重新配置。这些网络设备可以具有多个网络接口,其可以被配置或设计为利用不同类型的网络通信协议。本文描述其中一些机器的一般架构,以便说明可以实现给定功能单元的一个或多个示例性装置。根据特定实施例,本文公开的各种实施例的至少一些特征或功能可以在与一个或多个网络相关联的一个或多个通用计算机上实现,例如终端用户计算机系统、客户端计算机、网络服务器或其他服务器系统、移动计算设备(例如平板计算设备、移动电话、智能电话、笔记本或其他合适的计算设备)、消费电子设备/音乐播放器或任何其他合适的电子设备、路由器、交换机或其他合适的设备,或上述设备的任意组合。在一些实施例中,本文公开的各种实施例的至少一些特征或功能可以在一个或多个虚拟化计算环境中实现(例如网络计算云、托管在一个或多个物理计算机器上的虚拟机、或其他适当的虚拟环境)。
现在参照图14,其中示出了描绘适合于实现本文公开的特征或功能的至少一部分的示例性计算设备10的框图。计算设备10可以为,例如,前一段中列出的计算机中的任何一个,或者是任何其他电子设备,这些电子设备能够根据存储在存储器中的一个或多个程序执行基于软件或硬件的指令。计算设备10可以被配置为通过诸如广域网、城域网、局域网、无线网络、因特网或任何通信网络之类的通信网络与多个其他计算设备(例如客户端或服务器)使用已知的协议以无线或者有线方式进行通信。
在一个实施例中,计算设备10包括一个或多个中央处理单元(CPU)12、一个或多个接口15、以及一个或多个总线14(诸如外设组件互连(PCI)总线)。当在适当的软件或固件控制下动作时,CPU 12可以负责实现与特定配置的计算设备或机器的功能相关联的特定功能。例如,在一个实施例中,计算设备10可以被配置或设计为利用CPU 12、本地存储器(memory)11和/或远程存储器16以及一个或多个接口15来用作服务器系统。在一个实施例中,可以使CPU 12在软件模块或组件的控制下执行一种或多种不同类型的功能和/或操作,例如,软件模块或组件可以包括操作系统和任何适当的应用软件、驱动器等。
CPU 12可以包括一个或多个处理器13,例如选自Intel、ARM、Qualcomm和AMD系列微处理器之一的处理器。在一些实施例中,处理器13可以包括专门设计的硬件,例如专用集成电路(ASIC)、电可擦除可编程只读存储器(EEPROM)、现场可编程门阵列(FPGA)等,用于控制计算设备10的操作。在特定实施例中,本地存储器11(诸如非易失性随机存取存储器(RAM)和/或只读存储器(ROM),包括例如一个或多个级别的高速缓冲存储器)也可以为CPU12的一部分。然而,有许多不同的方式可以将存储器连接到系统10。存储器11可以用于各种目的,例如高速缓存和/或存储数据、编程指令等。应当进一步理解,CPU 12可以是各种片上系统(SOC)类型硬件中的一种,其可以包括诸如存储器或图形处理芯片的附加硬件,诸如Qualcomm SNAPDRAGONTM或Samsung EXYNOSTM CPU,这些硬件在本领域中变得越来越普遍,可用于移动设备或集成设备。
如这里所使用的,术语“处理器”不仅仅限于本领域中称为处理器、移动处理器或微处理器的那些集成电路,而是广泛地指微控制器、微计算机、可编程逻辑控制器、专用集成电路和任何其他可编程电路。
在一个实施例中,提供了接口15作为网络接口卡(NIC)。通常,NIC通过计算机网络控制数据包的发送和接收;其他类型的接口15可以支持与计算设备10一起使用的其他外围设备。可以提供的接口包括以太网接口、帧中继接口、电缆接口、DSL接口、令牌环接口、图形接口等。此外,可以提供各种类型的接口,例如通用串行总线(USB)、串行、以太网、FIREWIRETM、THUNDERBOLTTM、PCI、并行、射频(RF)、BLUETOOTHTM、近场通信(例如使用近场磁场)、802.11(WiFi)、帧中继、TCP/IP、ISDN、快速以太网接口、千兆以太网接口、串行ATA(SATA)或外部SATA(ESATA)接口、高清多媒体接口(HDMI)、数字视频接口(DVI)、模拟或数字音频接口、异步传输模式(ATM)接口、高速串行接口(HSSI)接口、销售点(POS)接口、光纤数据分布式接口(FDDI)等等。通常,这些接口15可以包括适合于与适当的介质(media)通信的物理端口。在某些情况下,它们还可以包括独立的处理器(例如专用的音频或视频处理器,如在高保真A/V硬件接口领域中常见的那样),并且在某些情况下,还可以包括易失性和/或非易失性存储器(例如RAM)。
尽管上面示出和描述的系统示出了用于实现本文描述的一个或多个发明的计算设备10的一个特定体系结构,但它决不是唯一的。例如,可以使用具有一个或任意数量的处理器13的架构,并且这样的处理器13可以存在于单个设备中或分布在任何数量的设备中。在一个实施例中,单个处理器13同时处理通信以及路由计算,而在其他实施例中,可以提供单独的专用通信处理器。在各种实施例中,根据本发明的系统可以实现不同类型的特征或功能,该系统包括客户端设备(诸如运行客户端软件的平板设备或智能电话)和服务器系统(诸如下文将详细描述的服务器系统)。
无论网络设备配置如何,本发明的系统可以采用一个或多个存储器或存储器模块(例如远程存储器块16和本地存储器11),其用于存储数据、用于通用网络操作的程序指令、或与本文描述的实施例的功能有关的其他信息(或以上的任意组合)。例如,程序指令可以控制操作系统和/或一个或多个应用程序的执行或包括操作系统和/或一个或多个应用程序。存储器16或存储器11、16还可以被配置为存储数据结构、配置数据、加密数据、历史系统操作信息或本文描述的任何其他特定或通用非程序信息。
因为可以采用这些信息和程序指令来实现本文描述的一个或多个系统或方法,所以至少一些网络设备实施例可以包括永久性机器可读存储介质,例如,其可以被配置或设计为存储程序指令、用于执行这里描述的各种操作的状态信息等。这种永久性机器可读存储介质的示例包括但不限于诸如硬盘、软盘和磁带之类的磁介质;光盘介质(如CD-ROM盘);光磁介质,例如光盘,以及专门用于存储和执行程序指令的硬件设备,例如只读存储器设备(ROM),闪存(在移动设备和集成系统中常见),可以在单个硬件设备中组合固态和硬盘驱动器的物理组件(在个人计算机方面已经变得越来越普遍)的固态驱动器(SSD)和“混合SSD”存储驱动器,忆阻器存储器(memristormemory),随机存取存储器(RAM)等。应当理解,这种存储装置可以是集成且不可拆卸的(例如可以焊接到母板上或以其他方式集成到电子设备中的RAM硬件模块),或者它们可以是可拆卸的,例如可插拔(swappable)的闪存模块(例如“拇指驱动器”或设计用于快速交换物理存储设备的其他可移动介质)、“热插拔”硬盘驱动器或固态驱动器、可拆卸光学存储盘或其他此类可拆卸介质,并且上述集成和可拆卸的存储介质可以互换使用。程序指令的示例包括诸如可以由编译器产生的目标代码,诸如可以由汇编器或链接器产生的机器代码,诸如可以由例如JAVATM编译器生成并且通过使用Java虚拟机或其等效物执行的字节代码,或者包含可由计算机使用解释器执行的更高级代码的文件(例如用Python、Perl,Ruby、Groovy或任何其他脚本语言编写的脚本)。
在一些实施例中,本发明的系统可以在独立计算系统上实现。现在参考图15,其示出了描绘独立计算系统上的一个或多个实施例或其组件的典型示例性架构的框图。计算设备20包括多个处理器21,这些处理器21可以运行执行本发明实施例的一个或多个功能或应用的软件,例如客户端应用程序24。这些处理器21可以在操作系统22的控制下执行计算指令,操作系统22可以是例如Microsoft的WINDOWSTM操作系统、Apple的Mac OS/X或iOS操作系统、各种Linux操作系统、Google的ANDROIDTM操作系统等。在许多情况下,一个或多个共享服务23可以在系统20中操作,并且可以用于向客户端应用程序24提供公共服务。服务23例如可以是WINDOWSTM服务、Linux环境中的用户空间公共服务、或者与操作系统21一起使用的任何其他类型的公共服务架构。输入设备28可以是适合于接收用户输入的任何类型,包括例如键盘、触摸屏、麦克风(例如用于语音输入)、鼠标、触摸板、轨迹球或上述的任意组合。输出设备27可以是适合于向对系统20而言无论是远程的还是本地的一个或多个用户提供输出的任何类型,并且可以包括例如用于视觉输出的一个或多个屏幕、扬声器、打印机或上述的任意组合。存储器(memory)25可以是具有本领域已知的任何结构和体系架构的随机存取存储器,供处理器21使用以运行软件。存储设备26可以是用于以数字形式(如上文所述)存储数据的任何磁、光、机械、忆阻器或电存储设备。存储设备26的示例包括闪存、磁性硬盘驱动器、CD-ROM和/或类似物。
在一些实施例中,本发明的系统可以在分布式计算网络上实现,例如具有任意数量的客户端和/或服务器的分布式计算网络。现在参考图16,其中示出了用于实施本发明一个实施例中在分布式计算网络上的系统的至少一部分的示例性结构30的框图。本实施例中,客户端33的数量可以为任意数量。每个客户端33可以运行用于实现本发明的客户端部分的软件;客户端可以包括上文所述的系统20。另外,用于处理从一个或多个客户端33接收的请求的服务器32的数量可以为任意数量。客户端33和服务器32可以经由一个或多个电子网络31相互通信,电子网络31在各种实施例中可以是因特网、广域网、移动电话网络(诸如CDMA或GSM蜂窝网络)、无线网络(例如WiFi、Wimax、LTE等)或局域网(或实际上本领域中已知的任何网络拓扑;本发明不优选任何一种网络拓扑)中任一种。网络31可以使用任何已知的网络协议来实现,包括例如有线和/或无线协议。
另外,在一些实施例中,服务器32可以在需要时调用外部服务37以获得附加信息、或者引用有关特定调用的附加数据。与外部服务37的通信可以例如经由一个或多个网络31进行。在各种实施例中,外部服务37可以包括与网络有关的服务或与硬件设备本身相关或安装在硬件设备上的功能。例如,在一个实施例中,客户端应用程序24在智能手机或其他电子设备上实现,客户端应用程序24可以获得存储在云中的服务器系统32中或者部署在特定企业或用户房屋中的一个或多个上的外部服务37上的信息。
在本发明的一些实施例中,客户端33和/或服务器32可以使用以本地或远程方式部署在一个或多个网络31上的一个或多个专用服务或设备。例如,一个或多个数据库34可以由本发明的一个或多个实施例使用或引用。本领域普通技术人员应该理解,数据库34可以以各种各样的体系结构排列,并使用各种各样的数据访问和操作装置。例如,在各种实施例中,一个或多个数据库34可以包括使用结构化查询语言(SQL)的关系数据库系统,而其他数据库可以包括替代数据存储技术,例如本领域中称为“NoSQL”的那些技术(例如HadoopCassandra、Google BigTable等等)。在本发明的一些实施例中,可以使用诸如面向列的数据库、内存数据库、集群数据库、分布式数据库或甚至平面文件数据存储库的数据库架构变例。本领域普通技术人员将理解,除非本文的特定实施例指定了特定数据库技术或组件的特定布置,否则可以适当地使用已知或未来数据库技术的任意组合。此外,应当理解,这里使用的术语“数据库”可以指物理数据库机器、充当单个数据库系统的机器集群、或整个数据库管理系统内的逻辑数据库。除非为给定使用术语“数据库”指定了特定含义,否则它应被解释为表示该词的任何含义,所有这些含义都是本领域普通技术人员可以理解术语“数据库”的普通含义。
类似地,本发明的大多数实施例可以使用一个或多个安全系统36和配置系统35。安全和配置管理是常见的信息技术(IT)和Web功能,二者中一些通常与任何IT或Web系统相关联。本领域普通技术人员应该理解,本领域中现在已知的或将来的任何配置或安全子系统可以与本发明的实施例一起使用而不受限制,除非任何特定实施例中描述了需要特定的安全系统36或配置系统35或方法。
图17示出了可以在整个系统的各个位置中的任何位置使用的计算机系统40的示例性概述。它是可以执行代码来处理数据的任何计算机的示例。在不脱离本文公开的系统和方法的更宽范围的情况下,可以对计算机系统40进行各种修饰和改变。中央处理器单元(CPU)41连接到总线42,总线也连接到存储器(Mem)43、非易失性存储器(NVM)44、显示器(Display)47、输入/输出(I/O)单元48和网络接口卡(NIC)53。I/O单元48通常可以连接到键盘49、指示设备50、硬盘(HDD)52和实时时钟(RTC)51。NIC 53连接到网络54,网络54可以是因特网或本地网络,本地网络可以连接或者不连接至因特网。图中还示出了作为系统40的一部分的电源单元(PSU)45,在本实施例中,电源单元45连接到主交流(AC)电源46。图中未示出的有可能存在的电池,以及众所周知但不适用于本文公开的当前系统和方法的特定新颖功能的许多其他装置和修改。应当理解,本文所描述的一些或所有组件可以组合,例如在各种集成应用中,例如Qualcomm或Samsung芯片上系统(SOC)设备,或者只要适合时将多个性能或功能组合至单个硬件设备(例如,诸如智能电话、视频游戏控制台之类的移动设备,诸如汽车中的导航或多媒体系统之类的车载计算机系统,或其他集成硬件设备)中。
在其它实施例中,用于实现本发明的系统或方法的功能可以分布在任意数量的客户端和/或服务器组件中。例如,可以通过各种软件模块执行与本发明有关的各种功能,并且这些模块可以不同方式实现以在服务器和/或客户端上运行。
本领域技术人员将意识到上述各种实施例的一系列可能的修改。因此,本发明由权利要求及其等同物限定。
Claims (18)
1.一种用于完全集成收集商业影响数据、对所述数据进行分析并生成分析驱动的商业决策和候选商业决策的分析驱动的模拟的系统,其特征在于,包括:
商业信息检索引擎,其存储在计算设备的处理器的存储器中并在所述处理器上运行;
商业信息分析引擎,其存储在计算设备的处理器的存储器中并在所述处理器上运行;以及
商业决策及商业动作路径模拟引擎,其存储在计算设备的处理器的存储器中并在所述处理器上运行;
其中,所述商业信息检索引擎用于:
(a)从多个来源检索多个商业相关数据;
(b)直接从人机接口设备或从一个或多个命令和控制存储设备接收多个分析参数和控制命令;
(c)存储所累积检索的信息,以供商业信息分析引擎或预定数据超时进行处理;
其中,所述商业信息分析引擎用于:
(d)从商业信息检索引擎中检索多种数据类型;
(e)基于商业流程分析作者在当前活动中提出的具体目标和需求,对检索到的数据执行多种分析函数及变换;
其中商业决策及商业动作路径模拟引擎用于:
(f)使用商业信息分析引擎执行的数据分析和变换结果,并结合来自多个来源的可用补充数据以及来自商业流程分析作者的任何当前活动特定机器学习、命令和参数,以制定当前商业操作和风险状况报告;以及
(g)使用商业信息分析引擎执行的数据分析和变换结果,并结合来自多个来源的可用补充数据、来自商业流程分析作者的任何当前活动特定命令和参数、以及从机器学习到的算法中收集的输入,为第一个终端用户提供商业行动路径模拟和商业决策支持。
2.根据权利要求1所述的系统,其特征在于,所述商业信息检索引擎采用用于人机接口设备输入的门户,所述输入的至少一部分是商业相关数据,至少另一部分是与当前商业分析活动的进行相关的命令和参数。
3.根据权利要求2所述的系统,其特征在于,所述商业信息检索引擎采用存储在计算设备的处理器的存储器中并在其上运行的存储器中的高容量深度网页爬虫,所述高容量深度网页爬虫从高度可定制的基于云的接口接收至少一些爬取控制和蜘蛛配置参数,使用通用搜索控制参数和单独的Web搜索代理特定配置数据来协调一个或多个万维网搜索,接收可能导致发布更多Web搜索控制参数的爬取进度反馈信息、控制以及监视分布式爬取服务器上的蜘蛛,从爬取服务器接收原始爬取活动数据,依据爬取活动的参数聚合来自每个网站或网页的爬取活动数据的至少一部分。
4.根据权利要求3所述的系统,其特征在于,原型蜘蛛由程序库提供,单个蜘蛛通过使用配置文件创建。
5.根据权利要求3所述的系统,其特征在于,爬取活动请求被持久存储,并且可以重复使用或用做类似爬取活动的基础。
6.根据权利要求2所述的系统,其特征在于,所述商业信息检索引擎采用存储在计算设备的处理器的存储器中并在其上运行的多维时间序列数据存储器,以从多个异构类型的传感器接收多个数据,其中部分传感器具有异构报告和数据有效载荷传输配置简档;所述商业信息检索引擎在预定时间量、预定数量的数据或预定数量的事件上聚合传感器数据;所述商业信息检索引擎依照每个预定访问连接检索特定数量的聚合后的传感器数据,以允许可靠地接收和包含数据;所述商业信息检索引擎使用另外的多个访问连接透明地检索大量因太大而无法通过一个访问连接可靠传输的聚合后的传感器数据,以允许在传感器数据流量大的情况下捕获所有聚合后的传感器数据;并将聚合后的传感器数据存储在简单的键值对中,使得在接收这些聚合后的传感器数据时不需要进行数据变换。
7.根据权利要求1所述的系统,其特征在于,所述商业信息分析引擎采用存储在计算设备的处理器的存储器中并在其上运行的存储器中的有向计算图;所述有向计算图检索来自多个数据源中的一个或多个的输入流;过滤数据以从流中移除数据记录,移除数据记录的原因包括但不限于:缺少所有信息、记录中数据损坏、以及存在不一致信息或缺失信息导致数据记录无效;所述有向计算图将过滤后的数据流分成两个或多个相同的部分;基于一组预定参数格式化一个数据流内的数据,以便为数据存储器中的有意义存储做准备;使用系统的资源发送相同的数据流以便进一步分析和线性变换或分支变换。
8.一种用于完全集成收集商业影响数据、对所述数据进行分析并生成分析驱动的商业决策和分析驱动的商业决策模拟的方法,其特征在于,包括以下步骤:
(a)使用存储在计算设备的处理器的存储器中并在所述处理器上运行的商业信息检索引擎来检索商业相关数据、分析活动命令和控制信息;
(b)使用存储在计算设备的处理器的存储器中并在所述处理器上运行的商业信息分析引擎并结合前述设计的分析活动命令和控制信息来分析和变换所检索的商业相关数据;以及
(c)基于对前述检索的商业相关数据的分析结果和前述输入的分析活动命令和控制信息,使用商业决策及商业路径模拟引擎提供商业决策关键信息以及商业路径模拟信息。
9.根据权利要求8所述的方法,其特征在于,所述商业信息检索引擎采用用于人机接口设备输入的门户,所述输入的至少一部分是商业相关数据,至少另一部分是与当前商业分析活动的进行相关的命令和参数。
10.根据权利要求9所述的方法,其特征在于,所述商业信息检索引擎采用存储在计算设备的处理器的存储器中并在其上运行的存储器中的高容量深度网页爬虫,所述高容量深度网页爬虫从高度可定制的基于云的接口接收至少一些爬取控制和蜘蛛配置参数,使用通用搜索控制参数和单独的Web搜索代理特定配置数据来协调一个或多个万维网搜索,接收可能导致发布更多Web搜索控制参数的爬取进度反馈信息、控制以及监视分布式爬取服务器上的蜘蛛,从爬取服务器接收原始爬取活动数据,依据爬取活动的参数聚合来自每个网站或网页的爬取活动数据的至少一部分。
11.根据权利要求10所述的方法,其特征在于,原型蜘蛛由程序库提供,单个蜘蛛通过使用配置文件创建。
12.根据权利要求10所述的方法,其特征在于,爬取活动请求被持久存储,并且可以重复使用或用作类似爬取活动的基础。
13.根据权利要求9所述的方法,其特征在于,所述商业信息检索引擎采用存储在计算设备的处理器的存储器中并在其上运行的多维时间序列数据存储器,以从多个异构类型的传感器接收多个数据,其中部分传感器具有异构报告和数据有效载荷传输配置简档;所述商业信息检索引擎在预定时间量、预定数量的数据或预定数量的事件上聚合传感器数据;所述商业信息检索引擎依照每个预定访问连接检索特定数量的聚合后的传感器数据,以允许可靠地接收和包含数据;所述商业信息检索引擎使用另外的多个访问连接透明地检索大量因太大而无法通过一个访问连接可靠传输的聚合后的传感器数据,以允许在传感器数据流量大的情况下捕获所有聚合后的传感器数据;并将聚合后的传感器数据存储在简单的键值对中,使得在接收这些聚合后的传感器数据时不需要进行数据变换。
14.根据权利要求8所述的方法,其特征在于,所述商业信息分析引擎采用存储在计算设备的处理器的存储器中并在其上运行的存储器中的有向计算图;所述有向计算图检索来自多个数据源中的一个或多个的输入流;过滤数据以从流中移除数据记录,移除数据记录的原因包括但不限于:缺少所有信息、记录中数据损坏、以及存在不一致信息或缺失信息导致数据记录无效;所述有向计算图将过滤后的数据流分成两个或多个相同的部分;基于一组预定参数格式化一个数据流内的数据,以便为数据存储器中的有意义存储做准备;使用系统的资源发送相同的数据流以便进一步分析和线性变换或分支变换。
15.一种用于从具有异构报告间隔简档的传感器捕获、分析和存储数据时间序列的系统,其特征在于,包括:
数据流管理引擎,其存储在计算设备的处理器的存储器中并在所述处理器上运行;
多维时间序列数据存储器,其存储在计算设备的处理器的存储器中并在所述处理器上运行;
数据查询和输出引擎,其存储在计算设备的处理器的存储器中并在所述处理器上运行;
其中,所述数据流管理引擎用于:
(a)接收多个传感器数据;
(b)在预定时间量、预定数量的数据或预定数量的事件上聚合传感器数据,以传输至所述多维时间序列数据存储器中;
(c)按预定的每个访问连接发送特定数量的聚合后的传感器数据,以允许可靠地将数据传输和包含到多维时间序列数据存储器中;
(d)使用另外的多个访问连接透明地传输一些因数量太大而不能通过一个访问连接可靠传输的聚合后的传感器数据,以允许在传感器数据流入量大的情况下通过多维时间序列数据存储器捕获所有聚合后的传感器数据;以及
其中,所述多维时间序列数据存储器用于:
(e)将聚合后的传感器数据存储在简单的键值对中,使得在接收这些聚合后的传感器数据时不需要进行数据变换;
(f)存储预定数量样本的数据,然后清除最旧的数据;以及
其中,所述数据查询和输出引擎:
(g)是在收集传感器数据之前通过指定参数来建立分析的交互点,所述参数包括置于聚合后的传感器数据的每个量子内的事件或时间单位的数量、所述数据流管理引擎和所述多维时间序列数据存储器之间的连接通道数量、可以一次组合以将聚合后的传感器数据传送到多维数据存储器的通道数量、每个传感器要存储的相互关联的维数;
(h)具有SQL类的查询语言,以有用的格式从所述多维时间序列数据库中检索感兴趣的传感器数据;
(i)是用于选择在检索数据后的多维时间序列数据存储器上执行的变换以及指定数据输出格式的交互点。
16.根据权利要求15所述的系统,其特征在于,所述系统还包括存储在计算设备的处理器的存储器中并在其上运行的长期数据存储器,所述长期数据存储器用于接收在所述多维时间序列数据存储器上定时的旧时间序列数据,并存储所述旧时间序列数据直到需要时或被释放。
17.一种用于从具有异构报告间隔简档的传感器捕获、分析和存储数据时间序列的方法,其特征在于,包括以下步骤:
(a)从具有不规则报告间隔简档的远程传感器接收数据;
(b)基于分析中包括的传感器数量和预定时间间隔或预定数量的事件来聚合传感器数据;
(c)根据报告数据的传感器的数量,使用一个到预定的多个通信线路将聚合后的传感器数据传送到多维时间序列数据存储器;
(d)将未变换的聚合后的传感器数据在键值对数据存储器中存储预定的一段时间,在超时时移除存储的聚合传感器数据;
(e)使用SQL类的查询语言从多维数据存储中检索持续分析所感兴趣的聚合后的传感器数据;
(f)进行变换然后将该数据格式化为最适合其在持续分析中的格式。
18.根据权利要求17所述的方法,其特征在于,已经过期到从多维时间序列数据存储器中移除的程度的聚合后的传感器数据被存储在外部存储服务器上直到需要时或被释放。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/091,563 US10204147B2 (en) | 2016-04-05 | 2016-04-05 | System for capture, analysis and storage of time series data from sensors with heterogeneous report interval profiles |
US15/091,563 | 2016-04-05 | ||
US15/141,752 US10860962B2 (en) | 2015-10-28 | 2016-04-28 | System for fully integrated capture, and analysis of business information resulting in predictive decision making and simulation |
US15/141,752 | 2016-04-28 | ||
PCT/US2017/026239 WO2017176944A1 (en) | 2016-04-05 | 2017-04-05 | System for fully integrated capture, and analysis of business information resulting in predictive decision making and simulation |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109478296A true CN109478296A (zh) | 2019-03-15 |
Family
ID=60000709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780033615.6A Pending CN109478296A (zh) | 2016-04-05 | 2017-04-05 | 用于完全集成捕获和分析商业信息以产生预测决策和模拟的系统 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3440569A4 (zh) |
CN (1) | CN109478296A (zh) |
WO (1) | WO2017176944A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111582488A (zh) * | 2020-04-23 | 2020-08-25 | 傲林科技有限公司 | 一种事件推演方法及装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10425353B1 (en) | 2017-01-27 | 2019-09-24 | Triangle Ip, Inc. | Machine learning temporal allocator |
US11571811B2 (en) | 2019-10-15 | 2023-02-07 | UiPath, Inc. | Process evolution for robotic process automation and workflow micro-optimization |
CN114000907A (zh) * | 2021-12-10 | 2022-02-01 | 重庆邮电大学 | 一种基于数字孪生技术的矿井通风设备智能调控系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103309990A (zh) * | 2013-06-18 | 2013-09-18 | 上海晶樵网络信息技术有限公司 | 基于互联网用户公开信息的用户多维度分析与监测方法 |
US20130332460A1 (en) * | 2012-06-06 | 2013-12-12 | Derek Edwin Pappas | Structured and Social Data Aggregator |
CN103514301A (zh) * | 2013-10-24 | 2014-01-15 | 深圳市同洲电子股份有限公司 | 分布式网络爬虫任务调度的方法及系统 |
US20140156806A1 (en) * | 2012-12-04 | 2014-06-05 | Marinexplore Inc. | Spatio-temporal data processing systems and methods |
CN104077402A (zh) * | 2014-07-04 | 2014-10-01 | 用友软件股份有限公司 | 数据处理方法和数据处理系统 |
CN104182389A (zh) * | 2014-07-21 | 2014-12-03 | 安徽华贞信息科技有限公司 | 一种基于语义的大数据分析商业智能服务系统 |
US20140359552A1 (en) * | 2011-09-19 | 2014-12-04 | Tata Consultancy Services Limited | Computer Platform for Development and Deployment of Sensor Data Based Applications and Services |
CN104966172A (zh) * | 2015-07-21 | 2015-10-07 | 上海融甸信息科技有限公司 | 一种用于企业经营数据分析的大数据可视化分析处理系统 |
US20160006629A1 (en) * | 2013-07-07 | 2016-01-07 | George Ianakiev | Appliance clearinghouse with orchestrated logic fusion and data fabric - architecture, system and method |
US9275059B1 (en) * | 2011-11-07 | 2016-03-01 | Emc Corporation | Genome big data indexing |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002342037A (ja) * | 2001-05-22 | 2002-11-29 | Fujitsu Ltd | ディスク装置 |
US20050165822A1 (en) * | 2004-01-22 | 2005-07-28 | Logic Sight, Inc. | Systems and methods for business process automation, analysis, and optimization |
-
2017
- 2017-04-05 CN CN201780033615.6A patent/CN109478296A/zh active Pending
- 2017-04-05 WO PCT/US2017/026239 patent/WO2017176944A1/en active Application Filing
- 2017-04-05 EP EP17779786.7A patent/EP3440569A4/en not_active Withdrawn
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140359552A1 (en) * | 2011-09-19 | 2014-12-04 | Tata Consultancy Services Limited | Computer Platform for Development and Deployment of Sensor Data Based Applications and Services |
US9275059B1 (en) * | 2011-11-07 | 2016-03-01 | Emc Corporation | Genome big data indexing |
US20130332460A1 (en) * | 2012-06-06 | 2013-12-12 | Derek Edwin Pappas | Structured and Social Data Aggregator |
US20140156806A1 (en) * | 2012-12-04 | 2014-06-05 | Marinexplore Inc. | Spatio-temporal data processing systems and methods |
CN103309990A (zh) * | 2013-06-18 | 2013-09-18 | 上海晶樵网络信息技术有限公司 | 基于互联网用户公开信息的用户多维度分析与监测方法 |
US20160006629A1 (en) * | 2013-07-07 | 2016-01-07 | George Ianakiev | Appliance clearinghouse with orchestrated logic fusion and data fabric - architecture, system and method |
CN103514301A (zh) * | 2013-10-24 | 2014-01-15 | 深圳市同洲电子股份有限公司 | 分布式网络爬虫任务调度的方法及系统 |
CN104077402A (zh) * | 2014-07-04 | 2014-10-01 | 用友软件股份有限公司 | 数据处理方法和数据处理系统 |
CN104182389A (zh) * | 2014-07-21 | 2014-12-03 | 安徽华贞信息科技有限公司 | 一种基于语义的大数据分析商业智能服务系统 |
CN104966172A (zh) * | 2015-07-21 | 2015-10-07 | 上海融甸信息科技有限公司 | 一种用于企业经营数据分析的大数据可视化分析处理系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111582488A (zh) * | 2020-04-23 | 2020-08-25 | 傲林科技有限公司 | 一种事件推演方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
EP3440569A4 (en) | 2019-12-11 |
WO2017176944A1 (en) | 2017-10-12 |
EP3440569A1 (en) | 2019-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210073680A1 (en) | Data driven methods and systems for what if analysis | |
US11295262B2 (en) | System for fully integrated predictive decision-making and simulation | |
CN108628929B (zh) | 用于智能存档和分析的方法和装置 | |
US11321085B2 (en) | Meta-indexing, search, compliance, and test framework for software development | |
US10754867B2 (en) | Big data based predictive graph generation system | |
US10652219B2 (en) | System and methods for dynamic geospatially-referenced cyber-physical infrastructure inventory and asset management | |
US11138090B2 (en) | Systems and methods for forecasting time series with variable seasonality | |
US20200125988A1 (en) | Systems and Methods For Detecting Long Term Seasons | |
CN103217935A (zh) | 用于访问和传递数据的、集成且可扩展的架构 | |
CN109478296A (zh) | 用于完全集成捕获和分析商业信息以产生预测决策和模拟的系统 | |
AU2019372050B2 (en) | Systems and methods for full history dynamic network analysis | |
US11805106B2 (en) | System and method for trigger-based scanning of cyber-physical assets | |
US20230007994A1 (en) | Big Data Based Predictive Graph Generation System | |
Raj et al. | Big data analytics processes and platforms facilitating smart cities | |
US20200004904A1 (en) | System and method for multi-model generative simulation modeling of complex adaptive systems | |
US20220019451A1 (en) | System and methods for creation and use of meta-models in simulated environments | |
WO2020167539A1 (en) | System and method for complex it process annotation, tracing, analysis, and simulation | |
Beeharry et al. | Analysing transportation data with open source big data analytic tools | |
US20210397922A1 (en) | System and methods for creation of learning agents in simulated environments | |
US20180130077A1 (en) | Automated selection and processing of financial models | |
US20230113301A1 (en) | Managing queries to non-relational databases with multiple paths to storage system | |
Kumar | Real time data analysis for water distribution network using storm | |
Omair et al. | Towards big business process mining | |
Roehl | Cloud Based IoT Architecture | |
Kartal | A Big data analytics architecture for multi tenant energy optimization systems |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190315 |