一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

从边缘设备到远程网络的托管数据导出的制作方法

2022-07-11 02:53:57 来源:中国专利 TAG:

从边缘设备到远程网络的托管数据导出


背景技术:

1.随着访问互联网的不同智能设备的可用性增加,已经开发出了许多利用互联网连通性的新应用程序。物联网(iot)是对在现有的互联网基础设施内分散在全球范围内的计算设备的互连赋予的一个短语。iot设备可以嵌入各种产品中,诸如,家用电器、制造设备、打印机、汽车、恒温器、智能交通信号灯、环境传感器等。
2.由于在众多iot设备中生成了大量数据,因此将生成的数据聚合到云服务中可能会有所帮助。例如,来自许多不同iot设备的数据可以由云服务使用数据处理技术进行处理,以进行分析或响应于接收到的数据执行各种功能。但是,将数据从不同位置导出到远程服务可能必须应对不断变化的环境条件,诸如,更改网络连通性以将数据发送到远程服务。因此,提高导出数据的功能以从不同设备中移除服务的技术是非常需要的。
附图说明
3.图1示出了根据一些实施例的从边缘设备到远程网络的托管数据导出的一系列逻辑框图。
4.图2示出了根据一些实施例的可以实施可以接收由客户端网络中的本地执行环境导出的数据的服务的示例提供商网络。
5.图3示出了根据一些实施例的数据导出管理器的逻辑框图。
6.图4示出了逻辑框图,示出了根据一些实施例的在本地执行环境中为数据流配置托管导出的交互。
7.图5示出了根据一些实施例的用于实施从边缘设备到远程网络的托管数据导出的各种方法和技术的高级流程图。
8.图6示出了根据一些实施例的用于实施评估网络连接标准以在边缘设备处从数据流中导出数据的各种方法和技术的高级流程图。
9.图7示出了根据一些实施例的用于实施在边缘设备处存储从数据流接收到的数据以用于导出到目标服务或另一数据流目的地的各种方法和技术的高级流程图。
10.图8示出了根据一些实施例的用于实施本文描述的各种方法、技术以及系统的示例系统。
11.尽管本文通过举例的方式针对若干实施例和说明性附图描述了实施例,但是本领域技术人员将认识到的是,实施例不限于所描述的实施例或附图。应理解的是,附图和对其的详细描述并非旨在将实施例限制于所公开的特定形式,而相反,意图是覆盖落入由所附权利要求限定的精神和范围内的所有修改、等效内容以及替代方案。本文所用的标题仅用于组织目的,并不意味着用于限制说明书或权利要求书的范围。如在整个本技术中使用的,词语“可以(may)”以允许的意义(即,意指“有可能”)而不是强制意义(即,意指“必须”)使用。类似地,词语“包括(include)”、“包括(including)”和“包括(includes)”意指包括但不限于。
12.还应当理解的是,尽管第一、第二等词可以在本文中用于描述各种元件,但是这些
元件不应受这些词语的限制。这些词语仅用于区分一个元件与另一个元件。例如,在不脱离本发明的范围的情况下,第一触点可以被称为第二触点,并且类似地,第二触点可以被称为第一触点。第一触点和第二触点两者都是触点,但它们不是同一触点。
具体实施方式
13.本文描述了用于从边缘设备到远程网络的托管数据导出的各种技术。远程网络提供各种存储、计算以及其他服务,各种客户端网络、系统、应用程序或设备可以利用这些服务来完成、增强、控制或以其他方式与客户端上实施的不同服务或应用程序交互。此外,远程网络提供可扩展资源,从而为客户端上的应用程序提供更高的持久性可用性。因此,在各种场景中,可以将客户端上生成的数据,诸如,各种类型的机器生成的数据(例如,传感器读数)或人工生成的数据(例如,用户接口操作,诸如,语音、触摸或其他输入)传输给远程网络的一个(或多个)服务作为执行应用程序的一部分。
14.边缘设备,诸如,下文关于图8所讨论的计算设备1000,在一些实施例中,可以将其实施为在各种实施例中用作客户端和远程网络之间交互的访问和/或协调点。例如,边缘设备可以为远程网络(诸如,下文在图2中讨论的提供商网络)的服务的各种特征提供本地执行环境,可以在将请求或通信发送到远程网络中的服务之前在本地执行。在各种实施例中,客户端可以向边缘设备发送数据,以便利用边缘设备的特征和/或功能,诸如,远程网络的服务的本地执行环境,以实施应用程序的各种特征,否则只能在远程网络的服务处执行。然后,本地执行环境可以选择性地确定是否应该在远程网络的服务处执行进一步的操作或请求。
15.在来自客户端的数据要在远程网络的服务中存储、处理或以其他方式处理的场景中,边缘设备可以实施各种技术来管理数据到远程网络中的目标服务或另一数据流目的地的导出。鉴于网络连通性的不可预测性,边缘设备可以实施托管数据导出,以代表不同客户端处理导致网络连通性变化的数据导出。例如,在发送数据的带宽容量有限的场景下,托管数据导出可以在某些数据可能比其他数据更重要(例如,警报事件可能比单个传感器读数更重要)时自动选择优先导出哪些数据。
16.图1示出了根据一些实施例的从边缘设备到远程网络的托管数据导出的一系列逻辑框图。远程网络120(其可以类似于提供商网络200或其他类型的远程网络)可以实施一个或多个服务140,接受在远离远程网络的不同设备处生成的数据,用于存储、分析或进行其他处理。例如,不同的设备,诸如,设备142a、142b以及142c(例如,可以是可以接收、捕获或生成数据和传输数据的各种计算或电子设备,诸如,一个或多个计算设备1000或具有嵌入式处理和网络功能的其他设备)可以将数据作为数据流(例如,包括各种对象、块(chunk)、消息、记录或数据的其他部分)发送到服务140。
17.客户端网络110(例如,本地网络(on-premise network)、专用网络、虚拟专用网络,或与远程网络120物理或逻辑隔离的其他网络)可以促进通信以将数据流152发送到另一个设备,诸如,边缘设备130(例如,下文图8中的计算设备或系统1000或可以接受和发送数据流并实施数据导出管理132的任何其他联网和计算设备),而不是为这些设备142中的每一个设备强加实施直接通信的成本。通过这种方式,边缘设备130可以实施各种连接、协议、接口,以及用于与服务140通信的其他特征。在各种实施例中,边缘设备130可以实施数
据导出管理132,以处理从设备142向远程网络120中的服务140接收和发送数据流。
18.如上所述,边缘设备130和远程网络120中的服务140之间的网络连接可能发生变化。在各种实施例中,数据导出管理132可以自动处理与将数据导出到服务140相关的这些和其他问题。例如,数据导出管理132可以通过在连接不可用时暂停和保留各个串流的数据导出状态(例如,通过检查点)以及在连接再次变为可用时恢复导出来处理与网络不稳定性有关的问题。由于不同的数据流可能正在使用和/或竞争网络连接带宽,因此数据导出管理132可以仲裁和发送来自不同数据流的数据,如154所示(例如,其中“a”数据可能来自来自设备142a的数据流,“b”数据可能来自来自设备142b的数据流,并且“c”数据可能来自来自设备142c的数据流)。在各种实施例中,开发者、管理员或其他责任方可以通过定义、启用、上传和/或以其他方式提供用于数据流的导出配置来配置数据导出管理132,如下文关于图4所讨论的。数据流的导出配置可以通知数据流之间的仲裁和/或发送数据流的环境,如下文关于图3和图5至图7详细讨论的。
19.例如,如场景102中所示,不同数据流的相应部分“a”、“b”以及“c”被同等地交织,以传输到服务140。数据导出管理132可以实施先进先出(fifo)调度技术(例如,通过实施fifo队列),此技术可以发送接收到的数据流的一部分。应注意的是,在一些实施例中,每个数据流可以绑定到相同或不同的相应服务。
20.如场景104中所示,用于从客户端网络110中的设备142发送数据流的网络连接可能不可用,如162所示。然而,设备142可能仍在接收和/或生成附加数据,以作为相应的数据流152发送。数据导出管理132可以实施技术来处理网络连通性的缺乏,包括各种存储策略,包括根据下文关于图7所讨论的技术来保存数据流存储。数据的一部分,例如,如果需要为更重要的数据保留存储容量,则可能会被丢弃(drop)或以其他方式不存储。
21.如场景106中所示,网络连接可能变为可用。数据导出管理132可以发送不同的数据流数据,如172所示。在一些场景中,可以应用优先级或其他选择方案来确定应该发送数据的一部分的顺序。例如,在所示示例中,在发送“a”和“c”部分之前选择数据的“b”部分(其可能已经被存储用于与“a”和“c”数据流的一部分一起传输)。如下文关于图3和图5详细讨论的,可以应用各种选择技术,这些选择技术可以使用数据流的导出配置来配置或执行。例如,可以将不同的优先级值分配给不同的数据流,以便实施优先级调度。支持可配置的导出数据流允许不同客户端设备142之间的数据导出的性能适应在客户端网络110中运行的应用程序的设计和性能需求,同时保留自动化数据导出管理的好处。数据导出管理132可以,例如,动态调整在各种情况下发送哪些数据流,包括网络连通性的变化,从而提高在利用服务140的设备142上实施的应用程序的性能。在至少一些实施例中,导出配置可以包括将特征编码或解码,这些特征可以被指定(例如,通过脚本或其他编程语言、库或可执行的应用程序),以定制绑定到不同类型服务的各个数据流的导出。
22.应注意的是,前文对从边缘设备到远程网络的托管数据导出的描述是逻辑说明,因此不应解释为限于实施远程网络、服务、网络连接客户端网络、客户端设备、边缘设备或数据流(或其部分),包括用于实施此类特征的硬件和/或软件的数量或组合。
23.本说明书首先对实施多种不同服务的提供商网络进行总体描述,所述服务包括物联网(iot)服务和/或其他服务,这些服务可能是部署或实施从边缘设备和客户端网络到提供商网络的托管数据导出的目标或涉及部署或实施从边缘设备和客户端网络到供应商网
络的托管数据导出,提供商网络具有本地执行环境,可以实施数据导出管理。然后讨论可以用作实施数据导出管理的一部分的各种示例,包括不同的部件/模块,或部件/模块的布置。然后讨论实施从边缘设备到远程网络的托管数据导出的许多不同的方法和技术,其中一些在随附的流程图中示出。最后,提供可以在其上实施各种部件、模块、系统、设备和/或节点的示例计算系统的描述。在整个说明书中提供了各种示例。
24.图2示出了根据一些实施例的可以实施可以接收由客户端网络中的本地执行环境导出的数据的服务的示例提供商网络。在一个实施例中,提供商网络200可以是专用或封闭系统,或可以由公司或公共部门组织等实体建立,以向客户端250提供可通过互联网和/或其他网络访问的一种或多种服务(诸如,各种类型的基于云的存储)。在一个实施例中,提供商网络200可以在单个位置实施,或可以包括主控实施和分发由提供商网络200提供的基础设施和服务所需的各种资源池的众多数据中心,诸如,物理和/或虚拟化计算机服务器、存储设备、联网设备等的集合(例如,下文关于图8描述的计算系统1000)。在一些实施例中,提供商网络200可以实施各种计算资源或服务,诸如,iot服务210、数据存储服务220、数据流服务230和/或任何其他类型的基于网络的服务240(在一些实施例中,其可以包括虚拟计算服务和各种其他类型的存储、处理、分析、通信、事件处理、可视化、数据编目、数据获取(例如,etl)以及安全服务)。
25.在各种实施例中,图2所示的部件可以直接在计算机硬件内作为可由计算机硬件(例如,微处理器或计算机系统)直接或间接执行的指令来实施,或使用这些技术的组合来实施。例如,在一个实施例中,图2的部件可以由包括一定数量的计算节点(或简称为节点)的系统实施,所述计算节点中的每一个可类似于图8所示并且在下文描述的计算机系统实施例。在各种实施例中,给定系统或服务部件(例如,iot服务210的部件)的功能性可以由特定节点实施,或可以分布在若干节点上。在一些实施例中,给定节点可以实施多于一个服务系统部件(例如,多于一个数据存储部件)的功能性。
26.iot服务210可以部署、协调以及提供利用各种远程设备(例如,客户端网络250中的客户端设备252和254)的各种基于iot的应用。例如,在不同位置、网络以及其他场景中实施的不同客户端设备可以收集、生成和互操作,以执行不同的应用程序。iot服务210可以协调客户端设备与其他服务的交互,诸如,数据存储服务220、数据流服务230或其他服务240(例如,人工智能或可以整体分析以向客户端设备提供控制或其他信息的其他服务)。iot服务210可以提供可以强制执行的安全策略或控制,以确保数据隐私、防止恶意行为以及满足各种行业或政府监管系统。因为iot服务210被实施为提供商网络的一部分,所以iot服务210可以提供提供商网络的可扩展性、可用性、持久性以及其他好处(例如,云服务好处),以使客户端应用程序能够具有适当大小的资源,从而满足需求。
27.客户端设备可以利用的iot服务210的一个特征是控制服务212。在各种实施例中,控制服务212可以协调iot应用跨设备和网络的部署,以提供不同客户端设备之间的安全交互。控制服务212可以与人工智能和其他数据分析技术或服务集成或连接,用于训练和应用机器学习模型,从而添加或改进客户端设备的应用特征。在一些实施例中,控制服务210可以监测和/或审计客户端设备应用程序,以强制执行或审查安全策略或其他控制。控制服务212可以为客户端设备提供远程管理、iot应用更新、改变,或将在没有物理访问客户端设备的情况下执行的其他任务或操作。
28.在一些实施例中,iot服务210还可以实施数据分析213。数据分析213可以包括各种分析工具,诸如,处理结构化和非结构化数据的工具。数据分析213可以,例如,提供将来自客户端设备的数据流过滤和转换成易于更好地分析的其他格式的特征,诸如,用于创建将存储在时间序列数据库中的时间序列数据、用于更新或训练机器学习模型的机器学习数据,或各种其他分析(例如,支持查询或其他请求,以从数据流(或数据流组)中获得数据。在一些实施例中,数据分析213可以是完全托管的特征,其按比例放大或缩小,以处理用于接收、过滤、转换和/或存储来自客户端设备的数据流的不同负载。在一些实施例中,数据分析213可以监测数据流,以检测事件和对事件作出响应。
29.在各种实施例中,iot服务210可以实施部署214。例如,部署214可以提供对配置和部署软件应用程序和/或操作系统的访问,这些软件应用程序和/或操作系统在客户端网络(诸如,客户端网络250)中的提供商网络的边缘支持和/或实施iot应用。例如,部署214可以为微控制器或其他低功率边缘设备提供操作系统,这些设备实施网络连通性和支持,例如,客户端网络250中的其他设备之间的交互的其他特征,而不会占用此类设备中通常可用的有限处理资源。在各种实施例中,部署210可以提供本地执行环境,诸如,本地执行环境255(或图1中的边缘设备130)。如下文关于图4所讨论的,数据导出管理,诸如,数据导出管理256(或数据导出管理132),可以由部署214配置和部署。
30.边缘设备,例如,图1和图2中所示并在下文关于图5至图7所讨论的那些边缘设备,在各种实施例中,可以提供执行环境来执行各种iot服务210和其他提供商网络200服务特征,这些特征可以在没有网络连通性的情况下执行。例如,主控在边缘设备上的本地执行环境可以支持对各种事件驱动的功能或操作、消息传递平台、安全功能以及连接到客户端网络中的提供商网络200服务、第三方应用程序或本地(例如,预置)应用程序编程或与其交互。以这种方式,在一些实施例中,在本地设备上实施的应用程序可以连接到并利用本地执行环境来执行各种操作、接收指令、报告数据,或其他应用程序任务,就如同本地执行环境是提供商网络200一样。如下文关于图3详细讨论的,托管数据导出,诸如,数据导出管理256(或图1中的数据导出管理132),可以作为边缘设备上的本地执行环境的一部分来实施。
31.在各种实施例中,iot服务210可以实施接口211。接口211可以是访问iot服务的一种或多种类型的接口,以编程方式和代表用户执行控制或管理操作。例如,接口211可以包括一个或多个编程接口(例如,应用程序编程接口(api)),其允许客户端设备调用或请求各种iot服务操作(例如,调用数据分析213或报告用于控制服务212的监测信息)。在一些实施例中,接口211可以包括命令或控制台,实施为命令行接口和/或图形用户接口(例如,实施为基于网络的控制台),以配置或执行各种iot服务特征,诸如,下文关于图4所讨论的数据导出配置特征。
32.在各种实施例中,提供商网络200可以实施其他服务,这些服务可以是数据导出管理256正在导出的数据的目标或目的地。在一些实施例中,数据存储服务220可以将用于代表客户端存储、访问和管理数据的不同类型的数据存储件实施为基于网络的服务,使得客户端能够在云或网络计算环境中操作数据存储系统。例如,数据存储服务230可以包括各种类型的数据库存储服务(关系和非关系),用于存储、查询以及更新数据。此类服务可以是高度可缩放和可扩展的企业级数据库系统。查询可以针对分布在多个物理资源上的数据存储服务220中的数据库,并且数据库系统可以根据需要按比例放大或缩小。在不同的实施例
中,数据库系统可以有效地与各种类型和/或组织的数据库模式一起协作。在一些实施例中,客户端/订户可以多种方式提交查询,例如,通过sql接口以交互方式向数据库系统提交。在其他实施例中,外部应用和程序可以使用开放式数据库连通性(odbc)和/或java数据库连通性(jdbc)驱动程序接口向数据库系统提交查询。
33.在一些实施例中,一个数据存储服务220可以被实施为集中式数据存储,使得其他数据存储服务可以访问存储在集中式数据存储件中的数据,以进行处理和/或存储在其他数据存储服务中。a可以提供对各种对象或文件数据存储件的存储和访问,以加入、更新以及获取各种类型、大小的数据对象或文件或数据对象或文件的集合。可以通过编程接口(例如,api)或图形用户接口来访问此类数据存储服务220。集中式数据存储件可以提供基于虚拟块的存储,用于将数据作为数据卷的一部分来维护,所述数据卷可类似于基于本地块的存储设备(例如,硬盘驱动器、固态驱动器等)被安装或访问,并且可以利用基于块的数据存储协议或接口(诸如,互联网小型计算机接口(iscsi))来访问。
34.在至少一些实施例中,数据存储服务220之一可以是数据仓储服务,此数据仓储服务利用实施为另一数据存储服务220的一部分的集中式数据存储件。数据仓储服务可以根据客户端的各种需求向客户端提供各种不同的数据管理服务。在一些情况下,客户端可能希望存储和维护大量数据,诸如,销售记录营销、管理报告、商业流程管理、预算预测、财务报告、网站分析,或许多其他类型或种类的数据。客户端对数据的使用也可能会影响用于存储数据的数据管理系统的配置。例如,对于某些类型的数据分析和其他操作(诸如,从每行内的少量列聚合大数据集合的那些操作),列式数据库表可以提供更高效的性能。换句话说,来自数据库表的列信息可以存储在磁盘上的数据块中,而不是在每个数据块中存储列的整行(如在传统的数据库方案中)。
35.提供商网络200中的另一服务可以是数据流服务230。数据流服务230可以提供编程接口(例如,应用程序编程接口(api)、网页或网站、图形用户接口,或命令行工具)以实现串流的创建、配置以及删除。在一些实施例中,编程接口还可以实现流数据记录的提交、存储、分析、转换,和/或检索。在各种实施例中,流管理系统的一些客户端可以开发直接调用流管理编程接口的应用程序。然而,在至少一些实施例中,除了流管理接口之外,还可以为客户提供更高级别的抽象或应用级处理框架,这可以为那些不希望使用流管理系统支持的更低级别的流管理功能来开发应用程序的客户简化流处理的各个方面。这样的框架可以提供自身的编程接口(例如,构建在流管理系统接口之上),使客户能够更多地关注使用流记录实施的业务逻辑,而不是更低级别的流管理操作。更高级别的框架可以作为流管理系统的一部分来实施,以提供完全托管的数据流。
36.例如,数据流服务230可以实施数据获取系统,此系统被配置为从数据生产者获得特定数据流的数据记录(例如,通过为数据流操作一个或多个获取节点)。在一些实施例中,可以根据用于将数据流分区的方案来获得串流的数据记录。分区方案可以由数据流服务230的客户端针对数据流来选择,以便从数据生产者接收数据记录,指示数据记录所属的特定分区。然而,在一些实施例中,数据流可以由数据流服务230完全托管,且数据生产者可以在没有任何分区方向的情况下发送数据记录。相反,数据获取系统可以分配数据记录,以将数据记录路由到已识别的分区。一旦被获取,流管理服务就可以存储获得的数据记录(例如,存储在为数据流提供的对应存储节点上)。此类存储节点可以记录、保存、存储或以其他
方式将数据记录持久保存在各种类型的存储设备中的任一种设备上(这可以根据数据流的持久性策略来执行)。
37.为了从数据流中检索数据,流管理服务可以提供检索系统(例如,实施检索节点),此检索系统可以访问所存储的数据流的数据记录。在一些实施例中,可以响应于来自消费者(例如,对数据流数据执行处理的流处理节点)的请求来执行数据检索。
38.在一些实施例中,数据流服务230可以提供支持一组或多组编程接口(例如,应用程序编程接口(api)、网页或网站、图形用户接口或命令行工具)的接口,以实现数据流的创建、配置以及删除(客户端托管的或完全托管的),以及流数据记录的提交、存储以及检索。例如,数据生产者可以被配置为通过利用由数据流服务230提供的客户端库以利用请求,通过接口向数据流服务230发送“加入记录(putrecord)”请求,将数据记录加入数据流中。类似地,数据消费者可以被配置为通过接口访问数据流服务230并利用由数据流服务230提供的客户端库在执行应用程序以检索数据流中要处理的下一个数据记录时“获取下一个记录(getnextrecords)”。
39.在一些实施例中,其他服务240还可以包括作为数据的托管导出的目标的服务。例如,其他服务240可以包括可以是各种类型的数据处理服务来执行不同的功能(例如,查询或其他处理引擎来执行异常检测、机器学习、数据查找或任何其他类型的数据处理操作等功能)。例如,在至少一些实施例中,数据处理服务可以包括映射化简服务(map reduce service),其创建对存储在数据存储服务220之一中的数据实施映射化简功能的处理节点的集群。各种其他分布式处理架构和技术可以通过数据处理服务(例如,网格计算、分片、分布式散列等)来实施。
40.总体而言,提供商网络的客户端可以通过网络260访问提供商网络200。在一些实施例中,此类客户端可以传送基于网络的服务请求(例如,通过网络260从数据流发送数据的请求)。在各种实施例中,网络260可以涵盖在客户端和提供商网络200之间建立基于网络的通信所必需的联网硬件和协议的任何合适的组合。例如,网络260总体可以涵盖共同实施互联网的各种电信网络和服务提供商。在一个实施例中,网络260还可以包括专用网络,诸如,局域网(lan)或广域网(wan)以及公共或专用无线网络。在此实施例中,网络260可以包括在给定客户端和互联网之间以及互联网和提供商网络200之间建立联网链路所必需的硬件(例如,调制解调器、路由器、交换机、负载平衡器、代理服务器等)和软件(例如,协议栈、会计软件、防火墙/安全软件等)。
41.在各种实施例中,客户端网络250可以在客户端设备252和客户端设备254之间传送通信。与网络260类似,客户端网络250可以包括在客户端设备252和客户端设备254之间建立联网链路所必需的硬件(例如,调制解调器、路由器、交换机、负载平衡器、代理服务器等)和软件(例如,协议栈、会计软件、防火墙/安全软件等)。
42.客户端设备252可以是计算设备,诸如,下文关于图8所讨论的计算系统1000。在一些实施例中,客户端设备252可以是各种传感器、器具、器械或其他设备,它们可以实施微控制器或可以捕获、生成和发送数据(例如,作为上文关于图1所讨论的数据流)到客户端网络250中的其他客户端设备252和客户端设备254的其他处理部件。客户端设备254可以是各种类型的计算设备,例如,图8中的计算系统1000,或其他边缘设备,诸如,各种类型的网关设备。
43.客户端设备254可以实施本地执行环境255和数据导出管理256,以提供数据流的托管导出。图3示出了根据一些实施例的数据导出管理器的逻辑框图。数据导出管理256可以由客户端设备指定的数据流导出配置360配置和/或使用由客户端设备指定的数据流导出配置360(如下文关于图4所讨论的),其可以指定对由数据导出管理256接收和处理的数据流的处理。
44.例如,数据流导出配置360可以指定在接收到数据流记录时数据流准入310可以使用的优先级值、标签或其他名称(designation),如302所示。例如,当数据流记录的存储容量达到阈值利用率时(例如,当数据流导出队列320超过条目数或大于尺寸阈值的存储尺寸时),数据流准入310可以基于数据流的指定优先级实施节流或其他资源节约技术,如下文关于图7所讨论的。可以根据网络连接状态信息来启用、禁用(或应用不同阈值)此类技术,此网络连接状态信息可以由网络连接监测350确定并提供给数据流准入310。例如,如果网络连接处于活动状态,则数据流准入可能不会限制或优先考虑某些数据流的准入。如果网络连接降级或没有以全带宽容量运行,则可以应用基于高利用率阈值的一些节流,并且如果网络连接断开或以其他方式不可用,则可以应用节流之前的较低利用率阈值(例如,以防止在超出存储容量时覆盖数据)。
45.数据流准入310还可以对存储在数据流导出队列320中的格式或信息应用导出配置360。例如,数据流导出配置可以指定待移除的不需要或必要的数据,或者在存储在数据流导出队列中之前要向串流中的数据添加的额外的数据特征(例如,添加前缀、时间戳、标识符或其他元数据)。在一些实施例中,数据流导出配置360可以为数据流指定数据流导出队列320(或其他存储结构)的分配或尺寸,一旦填满,数据流的数据就被阻断或拒绝。
46.在一些实施例中,数据导出管理256可以实施数据流导出队列320。数据流导出队列320可以被实施为提供用于从不同串流中选择数据记录的顺序(例如,fifo或优先级队列),或者可以是存储由数据流导出选择330选择的记录的缓冲区或其他已分配的存储空间。
47.在各种实施例中,数据流导出选择330可以由数据导出管理356实施,以提供用于接收到的数据流的完全托管的数据导出特征。数据流导出选择330可以利用数据流配置来执行各种分析,以选择用于导出的数据流。例如,可以执行优先级分析332,从而选择不同的指定数据流优先级(例如,“高”、“中”或“低”)。在一些实施例中,可以实施识别和发送更高优先级数据的优先级分析332,这也将提高或补偿等待数据流记录的优先级,从而没有一个数据流会饿死(starve)其他数据流。数据流导出选择330可以实施网络分析334,如下文关于图6详细讨论的,其可以基于可以由网络连接监测提供的导出网络连接304的状态来执行各种类型的选择。其他选择分析336或技术,诸如,后进先出(lifo)、轮询(round robin)或其他选择技术,可以按照数据流导出配置260的指定或通知来执行。
48.在一些实施例中,数据流导出选择可以根据导出网络连接304的状态而不同地操作。例如,如果导出网络连接是健康的或以其他方式全容量运行,则可以实施fifo排序或平衡选择技术。然而,如果刚刚重新建立网络连接(例如,在失败之后),则如上文关于图1和下文关于图5所讨论的,选择技术可以选择性地选择为哪些数据流发送数据(例如,根据优先级)。
49.如图3所示,在一些实施例中,数据导出管理可以实施不同的目的地连接器,诸如,
目的地连接器340a、340b以及340c。目的地连接器340可以将数据格式化并将数据从串流发送到目标服务或根据目的地处的接口格式化的另一数据流目的地,如306所示。例如,目的地连接器340a可以将用于将数据流数据存储为数据库表中的不同条目的请求格式化,而目的地连接器340b可以形成将数据流记录作为条目加入数据流服务,即数据流服务230的数据流中的请求。在一些实施例中,目的地连接器可以由用户提供、配置或上传,以在部署本地执行环境时包含在数据导出管理256中。
50.如前所述,在一些实施例中,iot服务210可以实施部署特征,部署214,以便将本地执行环境和数据导出管理器部署到边缘设备。图4示出了逻辑框图,示出了根据一些实施例的在本地执行环境中为数据流配置托管导出的交互。如图4所示,iot部署214可以维护本地执行环境配置402。本地执行环境配置402可以包括数据导出管理(如上文所讨论的)以及其他特征。在各种实施例中,部署214可以通过接口211接受各种请求,以配置和部署本地执行环境配置402。
51.例如,如410所示,可以接收为已识别的本地执行环境启用(或禁用)数据流管理的请求。在一些实施例中,如420所示,还可以接收上传或修改目的地连接器的请求。例如,可以提供可执行的脚本代码或其他信息来定义或实施连接器。在一些实施例中,可以执行编辑或修改现有目的地连接器的操作(例如,改变编码类型或利用连接器的其他方面)。
52.如上所述,部署214可以将各种iot服务应用部署到接收方设备。例如,可以接收用于部署本地执行环境(或更新本地执行环境的现有版本)的请求430。此请求可以利用根据请求410和420指定或修改的本地执行环境配置402。在一些实施例中,部署214随后可以发送或以其他方式提供本地执行环境,以用于在客户端设备404(例如,边缘设备)上的部署,以被实施为针对本地执行环境406的数据导出管理408,如440所示。
53.客户端设备450可以是连接到作为客户端网络的一部分的客户端设备404并与客户端设备404通信的客户端设备,如上文关于图1所讨论的。在一些实施例中,此类通信可以包括通过数据导出管理接口452(例如,根据一个或多个api)创建、更新、删除和/或以其他方式指定460相应数据流的导出配置的一个或多个请求。可以为数据流指定各种不同的特征、选项、参数或其他标准(例如,由标识符、源(例如,客户端设备等)标识)。例如,目的地配置可以包括目标服务或其他数据流目的地、结构、文件、端点或此服务内用于接收数据流的对象、数据格式化(例如,要使用的连接器的类型),和/或通过导出数据管理来访问目的地的凭据或其他信息。在一些实施例中,配置请求410可以指定数据流的优先级值(例如,通过数值或标签)。在一些实施例中,优先级处理可以特定于某些条件(例如,在重新连接之后)或者可以在没有特定网络条件的情况下应用/考虑。
54.在一些实施例中,配置请求410可以指定网络连接标准。例如,可以指定用于导出数据流数据的最小带宽(例如,以确保高质量的数据传输或速度)、链路类型(例如,无线、有线、卫星等)和/或链路成本,或可能影响数据流选择行为的其他网络连接条件。在一些实施例中,数据流配置请求410可以指定是启用还是禁用对数据流的批处理(例如,将一定数量的记录、一定尺寸的记录一起和/或自从发送一批记录以来的时间量在一起批处理)。在一些实施例中,导出存储配置信息(例如,格式、要添加的附加数据、数据是否可以被覆盖等)可以被指定为数据流导出配置请求410的一部分。在一些实施例中,在请求410中指定的配置可以包括在使用本地执行环境配置402部署的本地执行环境的数据导出管理特征中。
55.与指定数据流的导出配置的请求分离,客户端设备450可以将数据流数据发送到客户端设备404,如462所示,此数据流数据可以由数据导出管理408导出。例如,可以利用用于将数据流传输到客户端设备404的单独的接口或协议(而不是接口452)。
56.虽然已经在实施iot服务的提供商网络的上下文中描述和示出了图2至图4,但是图2至图4中示出和描述的各种部件可以很容易地应用于将数据导出到其他系统、网络或服务的其他边缘网络。因此,图2至图4并不旨在限于从边缘设备到提供商网络的托管数据导出的其他实施例。图5示出了根据一些实施例的用于实施从边缘设备到供应商网络的托管数据导出的各种方法和技术的高级流程图。各种不同的系统和设备可以单独地或一起协作地实施下文描述的各种方法和技术。例如,实施上述数据导出管理的本地执行环境可以使用各种方法中的一些或全部方法。因此,上文的示例和/或被称为执行所说明的方法的任何其他系统或设备并不旨在限于其他不同的部件、模块、系统或设备。
57.在各种实施例中,可以在边缘设备和远程网络之间建立网络连接。例如,可以执行各种协议、凭证交换和/或其他通信,以允许从边缘设备发送到远程网络中的目标服务或另一数据流目的地的通信。当网络连接变为可用或失败时,客户端网络中的客户端设备的操作可以通过将数据流发送到边缘设备以供稍后导出到目标服务或另一数据流目的地来继续-即使在网络连接不可用(例如,离线)时无法执行数据流时也是如此。然而,在一些实施例中,如510所示,可以重新建立边缘设备与提供商网络中的目标服务或另一数据流目的地之间的网络连接。以这种方式,数据可以再次从各种数据流中导出。
58.在一些实施例中,如520所示,基于导出配置,边缘设备可以选择在边缘设备处从客户端网络中的不同设备到计算设备的接收到的不同的数据流之一。例如,可以执行一种选择技术来识别和选择尚未发送的数据记录、块或其他部分(例如,可以通过数据流的校验和、水印或导出状态来识别),以选择最高优先级的数据流。在一些实施例中,在重新建立网络连接之后应用的选择技术可以不同于在网络连接变为不可用之前应用的选择技术。如上文关于图3所讨论的,可以在导出配置中指定各种其他分析或标准,诸如,lifo或其他调度技术,它们可以单独应用或组合应用。
59.在一些实施例中,如530所示,边缘设备可以识别将发送到目标服务或另一数据流目的地的来自所选数据流的数据的下一部分。例如,可以评估来自数据流的最后发送部分的校验和或其他指示符。在一些实施例中,下一部分可以是fifo队列中的此数据流的下一部分,或者可以使用其他顺序保持结构(其可以在导出时被移除)来识别来自所选数据流的数据的下一部分。
60.在一些实施例中,如540所示,数据的下一部分可以由边缘设备发送到远程网络中的目标服务或另一数据流目的地。例如,可以根据目标服务或另一数据流目的地的要求对数据的一部分进行编码、压缩、加密或以其他方式格式化,诸如,从一种类型的数据格式转换为另一种类型的数据格式。可以生成根据用于目标服务或另一数据流目的地的接口(例如,api)格式化的一个或多个请求,用数据的下一部分填充,并发送。在一些实施例中,可以接收确认或另一响应,以便更新或标记数据的完成导出(例如,并且通过更新校验和从队列中移除数据流的一部分)。在一些实施例中,此部分可以是一批记录。在一些实施例中,直到为此数据流接收到最小批处理大小的记录时,才可以发送下一部分。
61.可以继续选择将传输的下一个数据流(如返回到元素520的箭头所示。以这种方
式,每个选择为边缘设备提供了动态调整发送哪些数据以对变化的条件(例如,就提交的数据流或网络连接条件而言)作出响应的机会。
62.在对数据流进行初始选择之后,可以应用不同类型的附加评估或标准。在各种实施例中,网络连接标准可以用于在发送数据之前基于网络连接的状态来优化网络连接的使用。图6示出了根据一些实施例的用于在本地执行环境处实施评估网络连接标准以从数据流中导出数据的各种方法和技术的高级流程图。
63.在一些实施例中,如610所示,边缘设备可以选择将从边缘设备发送到远程网络中的目标服务或另一数据流目的地的数据流。例如,可以应用上文关于图1、图3、图4以及图5讨论的各种技术来选择数据流。在各种实施例中,可以执行对数据流的网络连接标准的评估,如620所示。网络连接标准可以作为导出配置的一部分包括在内,并指定允许或拒绝导出数据流的数据的各种网络连接状态。
64.例如,网络连接标准可以指定网络连接的最小可用容量或带宽(例如,至少10mbps),如果不可用,则拒绝从数据流发送数据。在一些实施例中,为了评估网络连接标准,可以根据数据流的历史通量和负载来估计带宽值,并与最小可用值进行比较。在一些实施例中,可以为某些类型的网络连接定义或指定链路成本,使得具有超过指定链路成本的链路成本的网络连接可能不满足网络连接标准,诸如,如果提供容量低或时间成本较高(例如,卫星数据通信链路与有线数据通信链路)来运行,则链路成本高。在一些实施例中,如果满足网络连接标准,则如630所示,可以将来自数据流的数据发送到目标服务或另一数据流目的地。如果不是,则可以选择另一个数据流来发送,如640所示(例如,根据元素610处的选择技术。
65.在一些实施例中,准许、接受和/或存储从数据流接收到的数据可以使用数据流的导出配置来配置。例如,一些导出配置可以指定是否可以覆盖数据流值。在一些实施例中,以比保证或商定的通量容量(如在导出配置中指定的)更快的速率对数据准入可能导致节流或其他响应性操作,以将通量降低到商定的容量。图7示出了根据一些实施例的用于实施在边缘设备处存储从数据流接收到的数据以用于导出到目标服务或另一数据流目的地的各种方法和技术的高级流程图。
66.如710所示,可以在主控远程网络的本地执行环境的客户端网络中的计算设备处从数据流接收数据,以导出到远程网络中的目标服务或另一数据流目的地。如720所示,可以应用利用率阈值来确定在计算设备处用于数据流(以及其他数据流)的导出存储是否高于利用率阈值。例如,如果已使用容量的量超过可用容量的90%的阈值,则在存储数据流的数据之前可能需要进一步考虑。如果不是,则如从720的否定退出所指示的,可以存储将要导出到目标服务或另一数据流目的地的数据。
67.在一些实施例中,如730所示,可以根据数据流的导出配置来评估数据流的优先级。例如,导出配置可以为数据流指定高优先级或低优先级值。如果确定优先级值高于阈值量或标准,则存储数据的优先级可能存在,如从740的肯定退出所指示的。如果不是,则可以从数据流中丢弃数据,如760所示。在一些实施例中,数据可能会覆盖此数据流的存储数据,而不是丢弃数据。例如,存储在边缘设备的待导出的串流的“头部”或“前端”的数据可能会被覆盖而不是丢弃数据。
68.在各种实施例中,本文描述的方法可以通过硬件和软件的任何组合来实施。例如,
在一个实施例中,所述方法可以在一个或多个计算机系统(例如,如图8中的计算机系统)上或跨一个或多个计算机系统实施,所述计算机系统包括执行存储在耦接到处理器的一个或多个计算机可读存储介质上的程序指令的一个或多个处理器。程序指令可以实施本文描述的功能(例如,实施本文描述的基于网络的虚拟计算资源提供商的各种服务器和其他部件的功能)。如附图中所示出和本文描述的各种方法表示方法的示例实施例。可以改变任何方法的顺序,并且可以对各种元件进行添加、重新排序、组合、省略、修改等。
69.如本文描述的从边缘设备到远程网络的托管数据导出的实施例可以在一个或多个计算机系统上执行,所述计算机系统可以与各种其他设备交互。图8示出了一个这样的计算机系统。在不同的实施例中,计算机系统1000可以是各种类型的设备中的任一种,包括但不限于个人计算机系统、台式计算机、膝上型计算机、笔记本或上网本计算机、大型计算机系统、手持式计算机、工作站、网络计算机、相机、机顶盒、移动设备、消费者设备、视频游戏控制台、手持式视频游戏设备、应用服务器、存储设备、外围设备(诸如,交换机、调制解调器、路由器)或总体而言任何类型的计算设备、计算节点或电子设备。
70.在所说明的实施例中,计算机系统1000包括通过输入/输出(i/o)接口1030耦接到系统内存1020的一个或多个处理器1010。计算机系统1000还包括耦接到i/o接口1030的网络接口1040,以及一个或多个输入/输出设备1050,诸如,光标控制设备1060、键盘1070,以及显示器1080。显示器1080可以包括标准计算机监测器和/或其他显示系统、技术或设备。在至少一些实施方式中,输入/输出设备1050还可以包括触摸或多触摸使能设备,诸如,触摸板或平板电脑,通过所述触摸板或平板,用户经由触控笔型设备和/或一个或多个数字进入输入。在一些实施例中,可以设想,可以使用计算机系统1000的单个实例来实施实施例,而在其他实施例中,多个此类系统或构成计算机系统1000的多个节点可以主控实施例的不同部分或实例。例如,在一个实施例中,可以通过计算机系统1000的一个或多个节点来实施一些元件,所述节点不同于实施其他元件的那些节点。
71.在各种实施例中,计算机系统1000可以是包括一个处理器1010的单处理器系统,或包括若干处理器1010(例如,两个、四个、八个或另一合适数量)的多处理器系统。处理器1010可以是能够执行指令的任何合适的处理器。例如,在各种实施例中,处理器1010可以是实施各种指令集架构(isa)中的任何一种的通用或嵌入式处理器,诸如,x86、powerpc、sparc或mips isa或任何其他合适的isa。在多处理器系统中,处理器1010中的每一个可以共同但不一定实施相同的isa。
72.在一些实施例中,至少一个处理器1010可以是图形处理单元。图形处理单元或gpu可以被视为个人计算机、工作站、游戏控制台或其他计算或电子设备的专用图形渲染设备。现代gpu在操纵和显示计算机图形方面可以非常高效,并且它们高度并行的结构可以使它们比一系列复杂图形算法的典型cpu更有效。例如,图形处理器可以比用主控中央处理单元(cpu)直接绘制到屏幕上更快地执行它们的方式实施一定数量的图形基元操作。在各种实施例中,图形渲染可以至少部分地由在此类gpu中的一个上执行或在此类gpu中的两个或更多个上并行执行的程序指令来实施。gpu可以实施允许程序员调用gpu的功能的一个或多个应用编程接口(api)。合适的gpu可以从辉达公司(nvidia corporation)、冶天科技公司(ati technologies(amd))等供应商处商购获得。
73.系统内存1020可以存储可由处理器1010访问的程序指令和/或数据。在各种实施
例中,系统内存1020可以使用任何合适的内存技术来实施,诸如,静态随机存取内存(sram)、同步动态ram(sdram)、非易失性/闪存型内存或任何其他类型的内存。在所说明的实施例中,实施如上文描述的那些的所期望功能的程序指令和数据被示出为分别作为程序指令1025和数据存储器1035存储在系统内存1020中。在其他实施例中,可以在不同类型的计算机可访问介质上或与系统内存1020或计算机系统1000分离的类似介质上接收、发送或存储程序指令和/或数据。一般而言,非暂时性计算机可读存储介质可以包括存储介质或内存介质(诸如,磁性或光学介质),例如,通过i/o接口1030耦接到计算机系统1000的磁盘或cd/dvd-rom。通过计算机可读介质存储的程序指令和数据可以由传送介质或信号(诸如,电信号、电磁信号或数字信号)传送,所述信号可以通过通信介质(诸如,网络和/或无线链路)传达,诸如,可以通过网络接口1040实施。
74.在一个实施例中,i/o接口1030可以协调处理器1010、系统内存1020和设备中的任何外围设备(包括网络接口1040或其他外围接口,诸如,输入/输出设备1050)之间的i/o业务量。在一些实施例中,i/o接口1030可以执行任何必要的协议、定时或其他数据变换,以将来自一个部件(例如,系统内存1020)的数据信号转换成适合于由另一部件(例如,处理器1010)使用的格式。在一些实施例中,i/o接口1030可以包括对通过各种类型的外围总线附接的设备的支持,诸如,举例而言,外围部件互连(pci)总线标准或通用串行总线(usb)标准的变体。在一些实施例中,i/o接口1030的功能可以分成两个或更多个单独的部件,诸如,举例而言,北桥和南桥。另外,在一些实施例中,i/o接口1030的一些或全部功能性,诸如,到系统内存1020的接口,可以直接并入到处理器1010中。
75.网络接口1040可以允许在计算机系统1000和附接到网络的其他设备(诸如,其他计算机系统)之间或在计算机系统1000的节点之间交换数据。在各种实施例中,网络接口1040可以支持通过有线或无线通用数据网络,诸如,举例而言,任何合适类型的以太网;通过模拟语音网络或数字光纤通信网络等电信/电话网络;通过光纤通道san等存储区域网络或通过任何其他合适类型的网络和/或协议的通信。
76.在一些实施例中,输入/输出设备1050可以包括一个或多个显示终端、键盘、小键盘、触摸板、扫描设备、语音或光学辨识设备,或适合于由一个或多个计算机系统1000输入或检索数据的任何其他设备。多个输入/输出设备1050可以存在于计算机系统1000中,或可以分布在计算机系统1000的各个节点上。在一些实施例中,类似的输入/输出设备可以与计算机系统1000分离,并且可以通过有线或无线连接(诸如,通过网络接口1040)与计算机系统1000的一个或多个节点交互。
77.如图8所示,内存1020可以包括实施如本文所描述的各种方法和技术的程序指令1025,和包括可由程序指令1025访问的各种数据的数据存储器1035。在一个实施例中,程序指令1025可以包括如本文所描述且如附图中所示的实施例的软件元件。数据存储器1035可以包括可以在实施例中使用的数据。在其他实施例中,可以包括其他或不同的软件元件和数据。
78.本领域技术人员将理解的是,计算机系统1000仅为说明性的,并不旨在限制本文所描述的技术的范围。具体地,计算机系统和设备可以包括可执行所指示功能的硬件或软件的任何组合,包括计算机、个人计算机系统、台式计算机、膝上型计算机、笔记本或上网本计算机、大型计算机系统、手持式计算机、工作站、网络计算机、相机、机顶盒、移动设备、网
络设备、互联网家电、pda、无线电话、寻呼机、消费者设备、视频游戏控制台、手持式视频游戏设备、应用服务器、存储设备、外围设备(诸如,交换机、调制解调器、路由器)或总体而言任何类型的计算或电子设备。计算机系统1000还可以连接到未示出的其他设备,或替代地,可以作为独立系统而运行。另外,在一些实施例中,由所示出的部件提供的功能性可以组合在更少的部件中或分布在附加的部件中。类似地,在一些实施例中,可以不提供所示出的部件中的一些部件的功能,并且/或者可以使用其他附加功能。
79.本领域技术人员还将理解的是,虽然各种项目被说明为在使用时存储在内存中或存储器上,但是为了内存管理和数据完整性的目的,这些项目或它们的一部分可以在内存和其他存储设备之间传输。或者,在其他实施例中,软件部件中的一些或全部可以在另一设备上的内存中执行,并且通过计算机间通信与所示出的计算机系统通信。系统部件或数据结构中的一些或所有也可以存储(例如,作为指令或结构化数据)在计算机可访问介质或便携式物品上,以由适当的驱动器读取,其各种示例已在上文描述。在一些实施例中,存储在与计算机系统1000分离的非暂时性计算机可访问介质上的指令可以通过传送介质或通过通信介质(诸如,网络和/或无线链路)传达的信号(诸如,电信号、电磁信号或数字信号)传送到计算机系统1000。各种实施例还可以包括在计算机可访问介质上接收、发送或存储根据前述描述实施的指令和/或数据。因此,可以用其他计算机系统配置来实施本发明。
80.应注意的是,本文描述的分布式系统实施例中的任一个或它们的部件中的任一个可以被实施为一个或多个web服务。在一些实施例中,基于网络的服务可以由被设计成支持通过网络的可互操作的机器到机器交互的软件和/或硬件系统来实施。基于网络的服务可以具有以机器可处理格式(诸如,web服务描述语言(wsdl))描述的接口。其他系统可以基于网络的服务的接口的描述所规定的方式与web服务交互。例如,基于网络的服务可以描述其他系统可以调用的各种操作,并且可以描述特定应用程序编程接口(api),当请求各种操作时,可以预期其他系统符合所述特定应用程序编程接口。
81.在各种实施例中,可以通过使用包括与基于网络的服务请求相关联的参数和/或数据的消息来请求或调用基于网络的服务。可以根据可扩展标记语言(xml)等特定标记语言来将此消息格式化,且/或可以使用简单对象访问协议(soap)等协议来封装此消息。为了执行web服务请求,基于网络的服务客户端可以使用基于互联网的应用层传输协议(诸如,超文本传输协议(http))汇编包括所述请求的消息,并将所述消息传达到对应于web服务的可寻址端点(例如,统一资源定位符(url))。
82.在一些实施例中,可以使用代表性状态传输(“restful”)技术而不是基于消息的技术来实施web服务。例如,可以通过http方法(诸如,put、get或delete)内包含的参数来调用根据restful技术实施的web服务,而不是封装在soap消息内。
83.可鉴于以下条款来描述本发明的实施例:
84.条款1.一种系统,包括:
85.至少一个处理器;和
86.内存,存储程序指令,所述程序指令在由所述至少一个处理器执行时促使所述至少一个处理器为在客户端网络内实施的提供商网络实施本地执行环境,所述本地执行环境被配置为:
87.从所述客户端网络中的多个不同设备接收多个不同的数据流;
88.存储所述多个不同的数据流;
89.在所述本地执行环境和所述提供商网络中的目标服务之间重新建立网络连接;
90.根据导出配置选择所述多个数据流之一导出到所述目标服务;
91.获得为所选数据流存储的数据的下一部分,以发送到所述目标服务;以及
92.根据所述目标服务的接口,将所述数据的下一部分发送到所述提供商网络中的目标服务。
93.条款2.条款1的系统,其中,所述本地执行环境进一步被配置为:
94.在存储所述多个不同的数据流中的至少一个的数据之前,当所述多个数据流的导出存储的利用率高于利用率阈值时,确定为所述至少一个数据流指定的优先级允许存储所述数据。
95.条款3.条款1-2中任一项的系统,其中,所述本地执行环境进一步被配置为:
96.在将所述数据的下一部分发送到所述提供商网络中的目标服务之前,确定满足为所述导出配置中的所选数据流指定的网络连接标准。
97.条款4.条款1-3中任一项的系统,其中,所述目标服务是由所述提供商网络提供的物联网(iot)服务,其中所述本地执行环境由所述iot服务部署,并且其中所述本地执行环境进一步被配置从指定所述导出配置的客户端设备之一接收一个或多个请求。
98.条款5.一种方法,包括以下步骤:
99.在客户端网络中的边缘设备和远程网络中的数据流目的地之间重新建立网络连接后:
100.基于导出配置,由所述本地执行环境选择在所述边缘设备从连接到所述边缘设备的客户端网络中的多个设备接收到的多个不同的数据流之一;
101.由所述边缘设备识别将发送到所述数据流目的地的来自所选数据流的数据的下一部分;以及
102.由所述边缘设备将所述数据的下一部分从所述边缘设备发送到所述远程网络中的数据流目的地。
103.条款6.条款5的方法,还包括以下步骤:
104.在选择所述一个数据流之前:
105.由所述边缘设备选择将发送到所述数据流目的地的另一数据流;和
106.由所述边缘设备确定不满足为所选的另一数据流的导出配置中的所选的另一数据流指定的网络连接标准;并且
107.其中,所述选择所述一个数据流是响应于确定不满足为所选的另一数据流的导出配置中的所选的其他数据流指定的网络连接标准而执行的。
108.条款7.条款6的方法,其中,确定不满足在为所选的另一数据流的导出配置中的所选的另一数据流指定的网络连接标准包括评估所述网络连接的链路成本。
109.条款8.条款5-7中任一项的方法,其中,所述导出配置为所选的一个数据流指定优先级,并且其中选择所述一个数据流包括比较为所述多个不同的数据流指定的优先级,以选择具有最高优先级的数据流。
110.条款9.条款5-8中任一项的方法,其中,将所述数据的下一部分从所述计算设备发送到所述数据流目的地包括将所述下一部分作为来自所选数据流的数据的一部分的批处
理的一部分发送。
111.条款10.条款5-9中任一项的方法,还包括以下步骤:
112.由所述边缘设备确定为所述多个数据流中的至少一个数据流指定的优先级允许在用于所述多个数据流的导出存储的利用率高于利用率阈值时将所述至少一个数据流的数据存储在所述边缘设备处,以供后续导出。
113.条款11.条款5-9中任一项的方法,还包括以下步骤:
114.由所述本地执行环境确定为所述多个数据流中的至少一个数据流指定的优先级不允许在用于所述多个数据流的导出存储的利用率高于利用率阈值时将所述至少一个数据流的数据存储在所述边缘设备处,以供后续导出。
115.条款12.条款5-11中任一项的方法,还包括以下步骤:
116.在所述边缘设备处从所述客户端设备之一接收指定所述导出配置的一个或多个请求。
117.条款13.条款12所述的方法,其中,将所述数据的下一部分从所述边缘设备发送到所述数据流目的地包括根据用于所述数据流目的地的接口将所述数据的下一部分格式化。
118.条款14.一个或多个非暂时性计算机可读存储介质,存储程序指令,所述程序指令在一个或多个计算设备上或跨一个或多个计算设备执行时促使所述一个或多个计算设备实施边缘设备,所述边缘设备实施:
119.在所述边缘设备和远程网络中的数据流目的地之间重新建立网络连接;
120.基于导出配置,选择从包括所述边缘设备的客户端网络中的多个设备接收到的多个数据流之一;
121.从所述边缘设备接收到的所选数据流中获得将发送到所述数据流目的地的数据的下一部分;以及
122.根据用于所述数据流目的地的接口将所述数据的下一部分发送到所述远程网络中的数据流目的地。
123.条款15.条款14的一个或多个非暂时性计算机可读存储介质,其中,所述一个或多个非暂时性计算机可读存储介质存储附加程序指令,所述附加程序指令在所述一个或多个计算设备上或跨所述一个或多个计算设备执行时促使所述边缘设备进一步实施:
124.当所述多个数据流的导出存储的利用率高于利用率阈值时,确定为所述多个数据流中的至少一个指定的优先级允许存储所述至少一个数据流的数据,以供后续导出。
125.条款16.条款14-15中任一项的一个或多个非暂时性计算机可读存储介质,其中,所述一个或多个非暂时性计算机可读存储介质存储附加程序指令,所述附加程序指令在所述一个或多个计算设备上或跨所述一个或多个计算设备执行时促使所述边缘设备进一步实施:
126.在将所述数据的下一部分发送到所述提供商网络中的目标服务之前,确定满足为所述导出配置中的所选数据流指定的网络连接标准。
127.条款17.条款16的一个或多个非暂时性计算机可读存储介质,其中,在确定满足为所述导出配置中的所选数据流指定的网络连接标准时,所述边缘设备实施确定用于通过所述网络连接发送所述数据的下一部分的最小带宽是可用的。
128.条款18.条款14-17中任一项的一个或多个非暂时性计算机可读存储介质,其中,
所述导出配置指定所述远程网络的数据流目的地。
129.条款19.条款14-18中任一项的一个或多个非暂时性计算机可读存储介质,其中,在所述数据的下一部分发送到所述数据流目的地时,所述程序指令促使所述边缘设备实施将所述下一部分作为来自所选数据流的数据的一部分的批处理的一部分发送。
130.条款20.条款14-19中任一项的一个或多个非暂时性计算机可读存储介质,其中,将所述数据的下一部分发送到所述数据流目的地由作为本地执行环境的一部分从物联网(iot)服务部署到所述边缘设备的连接器执行,并且其中所述连接器是到所述iot服务的用户提交连接器。
131.如附图中所示出和本文描述的各种方法表示方法的示例实施例。所述方法可以在软件、硬件或其组合中实施。可以改变方法的顺序,并且可以对各种元素进行添加、重新排序、组合、省略、修改等。
132.可以进行各种修改和改变,这对于受益于本发明的本领域技术人员来说是显而易见的。本发明旨在包含所有此类修改和变化,并且因此,以上描述被认视为说明性的而不是限制性的。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献