CN112711609A - 用于集成和管理自动化数据流系统的方法、装置和系统 - Google Patents

用于集成和管理自动化数据流系统的方法、装置和系统 Download PDF

Info

Publication number
CN112711609A
CN112711609A CN202011142073.6A CN202011142073A CN112711609A CN 112711609 A CN112711609 A CN 112711609A CN 202011142073 A CN202011142073 A CN 202011142073A CN 112711609 A CN112711609 A CN 112711609A
Authority
CN
China
Prior art keywords
data
tenant
instance
data stream
request
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
Application number
CN202011142073.6A
Other languages
English (en)
Inventor
谢佳伦
姚焕初
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.)
Honeywell International Inc
Original Assignee
Honeywell International Inc
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 Honeywell International Inc filed Critical Honeywell International Inc
Publication of CN112711609A publication Critical patent/CN112711609A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明提供了用于集成和管理自动化数据流系统的方法、装置和系统。示例性方法可包括:从租户设备接收数据流请求;从流和状态注册表检索与多个实例相关联的数据流数据;以及基于该数据流数据从该多个实例中确定所选择的实例。

Description

用于集成和管理自动化数据流系统的方法、装置和系统
技术领域
本公开整体涉及与自动化数据流系统相关联的方法、装置和系统,并且更具体地讲,涉及用于集成和管理自动化数据流系统的方法、装置和系统。
背景技术
许多系统和方法未克服与利用或集成自动化数据流系统相关联的技术挑战和困难。例如,许多系统不具有管理自动化数据流系统内的数据流的组织范围的能力,并且不提供数据流版本控制。又如,许多方法不需要授权来访问自动化数据流系统,并且不监测数据流的状态,从而导致数据管理的潜在安全风险。另外又如,许多系统缺乏缩放能力,并且不提供用于与自动化数据流系统进行连续集成和连续递送(CI/CD)的接口。
发明内容
根据各种示例,可提供装置。装置可包括至少一个处理器和包括程序代码的至少一个非暂态存储器。所述至少一个非暂态存储器和程序代码可被配置为利用所述至少一个处理器来致使装置至少:从租户设备接收数据流请求;从流和状态注册表检索与多个实例相关联的数据流数据;以及基于多个状态指示符从所述多个实例中确定所选择的实例。在一些示例中,数据流数据可包括多个实例定位符和与所述多个实例定位符相关联的多个状态指示符。
在一些示例中,数据流请求可指示部署数据流的电子请求。
在一些示例中,数据流数据可以是NiFi数据流数据。在一些示例中,所述多个实例可以是多个NiFi实例。在一些示例中,所述多个实例定位符可以是多个NiFi实例定位符。在一些示例中,所述多个状态指示符可以是多个NiFi状态指示符。在一些示例中,所选择的实例可以是所选择的NiFi实例。
在一些示例中,所述至少一个非暂态存储器和程序代码可被配置为利用所述至少一个处理器来致使装置进一步:基于所选择的实例将数据流请求转换成部署请求;以及将部署请求传输到所选择的实例。
在一些示例中,所述多个实例定位符中的实例定位符可包括所述多个实例中的一者的网络地址。
在一些示例中,所述多个状态指示符中的状态指示符可包括与所述多个实例中的一者相关联的网络资源消耗速率。在一些示例中,从所述多个实例中确定所选择的实例可基于所述多个状态指示符。
在一些示例中,从流和状态注册表中检索的数据流数据还可包括至少一个数据流内容描述符和至少一个数据流版本指示符。在一些示例中,当从所述多个实例中确定所选择的实例时,所述至少一个非暂态存储器和程序代码可被配置为利用所述至少一个处理器来致使装置进一步:基于所述至少一个数据流内容描述符和所述至少一个数据流版本指示符来确定与数据流请求相关联的数据流是否是所述多个实例中的现有数据流的较高版本。
在一些示例中,所述至少一个非暂态存储器和程序代码可被配置为利用所述至少一个处理器来致使装置进一步:确定数据流是现有数据流的较高版本;以及致使所选择的实例使用该数据流替换现有数据流。
在一些示例中,所述至少一个非暂态存储器和程序代码可被配置为利用所述至少一个处理器来致使装置:从操作维护设备接收租户登录请求;以及基于租户登录请求在租户注册表中生成租户简档数据。在一些示例中,租户简档数据可包括租户标识符、授权指示符和/或配额指示符。
在一些示例中,租户标识符可与租户设备相关联。
在一些示例中,授权指示符可包括与所述多个实例中的至少一个实例相关联的至少一个实例标识符。在一些示例中,数据流可被授权部署在所述至少一个实例中。
在一些示例中,配额指示符可指示与租户标识符相关联的实例的数量。
在一些示例中,所述至少一个非暂态存储器和程序代码可被配置为利用所述至少一个处理器来致使装置进一步:从操作维护设备接收租户终止请求,其中租户终止请求可包括租户标识符;以及基于租户终止请求,从租户注册表中移除对应于租户标识符的租户简档数据。
在一些示例中,所述至少一个非暂态存储器和程序代码可被配置为利用所述至少一个处理器来致使装置进一步:从租户注册表中检索与租户设备相关联的租户简档数据,其中租户简档数据可包括授权指示符;以及基于授权指示符确定至少一个授权实例。在一些示例中,可从所述至少一个授权实例中确定所选择的实例。
在一些示例中,所述至少一个非暂态存储器和程序代码可被配置为利用所述至少一个处理器来致使装置进一步:从租户注册表中检索与租户设备相关联的租户简档数据。在一些示例中,租户简档数据可包括配额指示符,并且从所述多个实例中确定所选择的实例可基于配额指示符。
在一些示例中,所述至少一个非暂态存储器和程序代码可被配置为利用所述至少一个处理器来致使装置进一步:从调度器注册表中检索至少一个监测探测器状态指示符;以及基于所述至少一个监测探测器状态指示符来更新数据流数据。在一些示例中,所述至少一个监测探测器状态指示符可指示与所述多个实例相关联的至少一个当前监测探测器。
在一些示例中,所述至少一个非暂态存储器和程序代码可被配置为利用所述至少一个处理器来致使装置进一步:从调度器注册表检索至少一个历史探测器状态指示符,其中所述至少一个历史探测器状态指示符可指示与所述多个实例相关联的至少一个历史监测探测器的至少一个结果;以及基于所述至少一个历史探测器状态指示符生成与所述多个实例相关联的预测数据。
根据各种示例,可提供一种计算机实现的方法。计算机实现的方法可包括:从租户设备接收数据流请求;从流和状态注册表检索与多个实例相关联的数据流数据;基于数据流数据从所述多个实例中确定所选择的实例;基于所选择的实例将数据流请求转换成部署请求;以及将部署请求传输到所选择的实例。
根据各种示例,可提供一种计算机程序产品。计算机程序产品可包括其中存储有计算机可读程序代码部分的至少一个非暂态计算机可读存储介质。计算机可读程序代码部分可包括可执行部分,该可执行部分被配置为:从租户设备接收数据流请求;从流和状态注册表检索与多个实例相关联的数据流数据;基于数据流数据从所述多个实例中确定所选择的实例;基于所选择的实例将数据流请求转换成部署请求;以及将部署请求传输到所选择的实例。
上述示例性发明内容以及本公开的其他示例性目的和/或优点以及实现这些目的和/或优点的方式在以下具体实施方式及其附图中进一步解释。
附图说明
可结合附图阅读例示性实施方案的描述。应当理解,为了说明的简单和清晰,除非另有说明,否则图中所示的元件不一定按比例绘制。例如,除非另有说明,否则元件中的一些元件的尺寸可相对于其他元件被夸大。结合本公开的教导的实施方案相对于文中给出的附图示出和描述,在附图中:
图1示出了根据本公开的各种实施方案的示例性系统的示例性示意图:
图2示出了根据本公开的各种实施方案的示例性装置的示例性框图;
图3示出了根据本公开的各种实施方案的示例性系统的示例性示意图;
图4示出了根据本公开的各种实施方案的示例性流程图;
图5示出了根据本公开的各种实施方案的示例性流程图;
图6示出了根据本公开的各种实施方案的示例性系统的示例性示意图;
图7A示出了根据本公开的各种实施方案的示例性流程图;
图7B示出了根据本公开的各种实施方案的示例性流程图;
图8示出了根据本公开的各种实施方案的示例性系统的示例性示意图:
图9示出了根据本公开的各种实施方案的示例性流程图;并且
图10示出了根据本公开的各种实施方案的示例性流程图。
具体实施方式
在下文中将参考附图更全面地描述本公开的一些实施方案,附图中示出了本公开的一些实施方案,但未示出全部实施方案。实际上,这些公开内容可以以许多不同的形式体现,并且不应该被解释为限于本文所阐述的实施方案;相反,提供这些实施方案是为了使本公开满足适用的法律要求。在全篇内容中,类似的标号指代类似的元件。
短语“在一个实施方案中”、“根据一个实施方案”、“例如”、“在一些示例中”、“作为示例”等一般意指跟在该短语后的特定特征、结构或特性可以被包括在本公开的至少一个实施方案中,并且可以被包括在本公开的不止一个实施方案中(这类短语不一定是指相同的实施方案)。
本文使用的词语“示例”或“示例性”意指“用作示例、实例或说明”。本文描述为“示例”或“示例性”的任何具体实施不一定被理解为比其他具体实施优选或有利。
如果说明书陈述了部件或特征“可以”、“能够”、“能”、“应当”、“将”、“优选地”、“有可能地”、“通常”、“任选地”、“例如”、“在一些示例中”、“经常”或“可能”(或其他此类语言)被包括或具有特性,则具体部件或特征不是必须被包括或具有该特性。此类部件或特征可任选地包括在一些实施方案中,或可排除在外。
术语“电路”应被广义地理解为包括硬件,并且在一些实施方案中,包括用于配置硬件的软件。相对于装置的部件,如本文所用的术语“电路”因此应当被理解为包括被配置为执行与如本文所述的特定电路相关联的功能的特定硬件。例如,在一些实施方案中,“电路”可包括处理电路、存储介质、网络接口、输入/输出设备等。
本公开中的术语“电子耦接”、“与...通信”、“与...电子通信”或“连接”是指两个或更多个部件(例如但不限于,租户设备、操作维护设备、集成和管理系统、注册表、自动化数据流服务器)通过有线装置(例如但不限于,有线以太网)和/或无线装置(例如但不限于,Wi-Fi、蓝牙、ZigBee)连接,使得可向这些部件传输和/或从这些部件接收数据和/或信息。
术语“自动化数据流系统”或“自动化数据流电路”是指可使软件系统之间的数据流自动化的系统或电路。例如,自动化数据流系统或自动化数据流电路可在不同的企业系统上实时获取和递送数据。又如,自动化数据流系统或自动化数据流电路可在物联网(IoT)系统中实现,以处理数据和/或向/从IoT系统内相互关联的计算设备、机械机器和/或数字机器数据分配数据。
示例性自动化数据流系统可包括但不限于“NiFi”或“NiagaraFiles”系统。虽然本公开可包括对NiFi系统的参考,但应当注意,本公开的范围并不仅限于NiFi,并且示例性实施方案可以与其他自动化数据流系统相关联地实现。
术语“数据流”是指数据在包括软件装置、硬件装置或两者的系统内和/或通过该系统的移动。
术语“实例”是指可被配置为处理或运行一个或多个数据流的处理引擎。为了致使实例处理或运行数据流,数据流可由计算设备“部署”到实例。例如,“NiFi实例”可以指基于NiFi设计的处理引擎。
术语“数据流数据”是指与由实例处理或运行的数据流相关的数据或信息。示例性数据流数据可包括但不限于数据流的位置(诸如指示运行数据流的实例的实例定位符)、数据流的状态(诸如指示数据流的状态的状态指示符)、数据流的内容和/或数据流的版本。
在一些示例中,实例可具有对应的“实例标识符”,其可包括美国信息交换标准代码(ASCII)文本、指针、存储器地址等,并且可从多个实例中唯一地识别实例。在一些示例中,两个或更多个实例可互连以处理或运行数据流,使得它们可形成“实例集群”并被视为单个系统。
实例和/或实例集群可以通过软件装置、硬件装置或两者的组合来实现。例如,“自动化数据流服务器”可以是可执行一个或多个实例和/或一个或多个实例集群的计算设备。在一些示例中,自动化数据流服务器可以是可在云计算环境中运行的云服务器,并且可与集成和管理系统通信。
术语“集成和管理系统”是指可被配置为管理一个或多个自动化数据流服务器和/或可将一个或多个自动化数据流服务器集成到其他计算机网络中的系统或虚拟环境。集成和管理系统可以采取一个或多个中央服务器的形式,该中央服务器被设置成与运行软件应用程序的一个或多个附加服务器通信并且可访问存储数字内容项、应用程序相关数据等的一个或多个数据库。本文至少结合图1描述了示例性集成和管理系统。
在一些示例中,可将各种电子请求传输到集成和管理系统和/或从集成和管理系统接收各种电子请求。例如,“数据流请求”可指示部署数据流的请求,“租户登录请求”可指示向系统添加新租户的请求,“租户终止请求”可指示从系统移除现有租户的请求,并且“部署请求”可指示在实例中部署数据流的请求。本文描述了这些请求的附加示例性细节。
术语“用户”应理解为是指个体、个体群组、业务、组织等。本文提及的用户可使用租户设备和/或操作维护设备(如本文所定义)来访问集成和管理系统。
在一些示例中,用户可以是集成和管理系统的租户。“租户”是可使用集成和管理系统以在一个或多个自动化数据流服务器中部署与租户相关联的一个或多个数据流的用户。术语“租户设备”是指被配置为访问集成和管理系统的计算机硬件和/或软件。租户设备可包括但不限于智能电话、平板电脑、膝上型计算机、可穿戴设备、个人计算机、企业计算机等。
在一些示例中,用户可以是集成和管理系统的操作管理器。“操作管理器”是可管理和监测一个或多个自动化数据流服务器的集成和管理的用户。操作管理器可使用“操作维护设备”对集成和管理系统执行操作管理操作,该操作维护设备是指被配置为访问集成和管理系统的计算机硬件和/或软件。操作维护设备可包括但不限于智能电话、平板电脑、膝上型计算机、可穿戴设备、个人计算机、企业计算机等。
术语“注册表”是指通常被存储并且可从计算机系统以电子方式访问的结构化和/或有组织的数据集。例如,“流和状态注册表”可存储数据流数据,“租户注册表”可存储租户简档数据,并且“调度器注册表”可存储监测探测器数据。本文描述了这些注册表的附加示例性细节。
如上所述,许多系统和方法未克服与自动化数据流系统(诸如NiFi系统)相关联的技术挑战和困难。例如,许多系统缺乏管理数据流范围和数据流版本的能力。又如,许多方法不提供用户授权控制或状态警报。
相比之下,根据本公开的各种示例可克服这些挑战和困难。在一些示例中,集成和管理系统可被设置为管理一个或多个自动化数据流服务器和/或可将一个或多个自动化数据流服务器集成到其他计算机网络中。集成和管理系统可以提供管理数据流范围和数据流版本的能力,并且可以提供用户授权控制和状态警报。因此,本公开的示例可提供用于数据处理的缩放能力。
本公开的方法、装置和计算机程序产品可由多种设备中的任何一种体现。例如,示例性实施方案的方法、装置和计算机程序产品可由被配置为与一个或多个设备(诸如一个或多个租户设备、一个或多个操作维护设备、和/或一个或多个自动化数据流服务器)通信的联网设备(例如,整合和管理系统)(诸如服务器或其他网络实体)体现。附加地或另选地,该计算设备可包括固定计算设备,诸如个人计算机或计算机工作站。附加地或另选地,示例性实施方案可由多种移动设备中的任何一种体现,诸如便携式数字助理(PDA)、移动电话、智能电话、膝上型计算机、平板计算机、可穿戴设备或上述设备的任何组合。
图1示出了本公开的实施方案可在其中操作的示例性系统架构100。用户可使用租户设备101A、101B、...、101N和/或操作维护设备103A、103B、...、103N经由通信网络105访问集成和管理系统107。
租户设备101A-101N可以是如上定义的任何计算设备。由集成和管理系统107从租户设备101A-101N接收的电子数据可以以各种形式和经由各种方法提供。例如,租户设备101A-101N可包括台式计算机、膝上型计算机、智能电话、上网本、平板电脑、可穿戴设备等。在一些示例中,租户设备101A-101N中的一者或多者可各自被分配给唯一地识别该租户设备的租户设备标识符。在一些示例中,租户设备标识符可包括ASCII文本、指针、存储器地址等。
在其中租户设备101A-101N中的租户设备为移动设备(诸如智能电话或平板电脑)的实施方案中,租户设备可执行“应用程序”以与集成和管理系统107进行交互。这些应用程序通常被设计为在移动设备(诸如平板电脑或智能电话)上执行。例如,可提供在移动设备操作系统(诸如
Figure BDA0002737416090000081
Figure BDA0002737416090000082
Figure BDA0002737416090000083
)上执行的应用程序。这些平台通常提供允许应用程序彼此通信并与移动设备的特定硬件和软件部件通信的框架。例如,上面提及的移动操作系统各自提供用于与位置服务电路、有线和无线网络接口、用户接触以及其他应用程序交互的框架。与应用程序之外执行的硬件和软件模块的通信通常经由移动设备操作系统所提供的应用程序编程接口(API)来提供。在一些示例中,应用程序可提供允许用户与集成和管理系统107进行交互的用户接口。
附加地或另外地,租户设备101A-101N可以经由网络浏览器与集成和管理系统107进行交互。附加地或另外地,租户设备101A-101N可包括被设计成与集成和管理系统107交接的各种硬件或固件。
操作维护设备103A-103N可以是如上定义的任何计算设备。由集成和管理系统107从操作维护设备103A-103N接收的电子数据可以以各种形式和经由各种方法提供。例如,操作维护设备103A-103N可包括台式计算机、膝上型计算机、智能电话、上网本、平板电脑、可穿戴设备等。在一些示例中,操作维护设备103A-103N中的一者或多者可以各自被分配给唯一地识别操作维护设备的操作维护设备标识符。在一些示例中,操作维护设备标识符可包括ASCII文本、指针、存储器地址等。
在其中操作维护设备103A-103N中的操作维护设备是移动设备(诸如智能电话或平板电脑)的实施方案中,操作维护设备可执行“应用程序”以与集成和管理系统107进行交互。这些应用程序通常被设计为在移动设备(诸如平板电脑或智能电话)上执行。例如,可提供在移动设备操作系统(诸如
Figure BDA0002737416090000091
Figure BDA0002737416090000092
)上执行的应用程序。这些平台通常提供允许应用程序彼此通信并与移动设备的特定硬件和软件部件通信的框架。例如,上面提及的移动操作系统各自提供用于与位置服务电路、有线和无线网络接口、用户接触以及其他应用程序交互的框架。与应用程序之外执行的硬件和软件模块的通信通常经由移动设备操作系统所提供的API来提供。在一些示例中,应用程序可提供允许用户与集成和管理系统107进行交互的用户接口。
附加地或另外地,操作维护设备103A-103N可以经由网络浏览器与集成和管理系统107进行交互。附加地或另外地,操作维护设备103A-103N可包括被设计成与集成和管理系统107交接的各种硬件或固件。
通信网络105可包括一个或多个有线或无线通信网络,包括例如有线或无线局域网(LAN)、个人区域网(PAN)、城域网(MAN)、广域网(WAN)等,以及实现所述一个或多个网络所需的任何硬件、软件和/或固件(诸如网络路由器)。例如,通信网络105可包括通用分组无线服务(GPRS)网络、码分多址2000(CDMA2000)网络、宽带码分多址(WCDMA)网络、全球移动通信系统(GSM)网络、GSM演进的增强型数据速率(EDGE)网络、时分同步码分多址(TD-SCDMA)网络、长期演进(LTE)网络、高速分组接入(HSPA)网络、高速下行链路分组接入(HSDPA)网络、IEEE 802.11(Wi-Fi)、Wi-Fi Direct和/或IEEE 802.16(WiMAX)。附加地或另外地,通信网络105可包括公共网络(诸如互联网)、专用网络(诸如内联网)或它们的组合。
在一些示例中,通信网络105可利用联网协议,包括但不限于超文本传输协议(HTTP)协议、HTTP/REST协议、基于一个或多个传输控制协议/互联网协议(TCP/IP)的联网协议、近场通信(NFC)协议、蓝牙协议和/或ZigBee协议。例如,可定制联网协议以适应集成和管理系统107的需求。在一些实施方案中,该协议是经由Websocket信道发送的JSON对象的定制协议。在一些实施方案中,该协议是基于RPC的JSON、基于REST/HTTP的JSON等。
在本公开的各种实施方案中,可将一个或多个电子请求发送到集成和管理系统107,包括但不限于租户登录请求、数据流请求和/或租户终止请求。在一些示例中,这些电子请求可能以HTTP请求的形式。
在一些示例中,这些电子请求可直接由租户设备101A-101N中的租户设备和/或操作维护设备103A-103N中的操作维护设备通过通信网络105发送到集成和管理系统107。附加地或另外地,电子请求可经由中介发送到集成和管理系统107。
重新参考图1,集成和管理系统107可包括集成和管理服务器109以及一个或多个注册表,诸如但不限于调度器注册表111、租户注册表113和/或流和状态注册表115。在一些示例中,调度器注册表111、租户注册表113和/或流和状态注册表115可集成在集成和管理服务器109内,使得调度器注册表111、租户注册表113和/或流和状态注册表115可为集成和管理服务器109的一部分。
在一些示例中,集成和管理服务器109可体现为上述计算设备。例如,集成和管理服务器109可包括至少一个处理器和存储计算机程序指令的至少一个非暂态存储器。这些计算机程序指令可指示集成和管理服务器109以特定方式起作用,使得存储在所述至少一个非暂态存储器中的指令可产生制品,该制品的执行可实现本公开的实施方案。因此,在本公开的一些示例中,集成和管理服务器109可包括API端点117、API集成器119和/或监测调度器121。结合至少图2示出和描述了示出集成和管理服务器109的各种部件的示例性图。
在一些示例中,API端点117可被配置为接收和/或处理从其他设备接收的数据和/或信息,其他设备包括但不限于租户设备101A-101N和/或操作维护设备103A-103N。例如,API端点117可接收来自操作维护设备103A-103N中的操作维护设备的租户登录请求和/或租户终止请求,和/或来自租户设备101A-101N中的租户设备的数据流请求。在一些示例中,API端点117可根据表述性状态转移(REST)框架来实现。在一些示例中,API端点117可根据简单对象访问协议(SOAP)框架来实现。
在一些示例中,API端点117可包括应用程序编程接口的一个或多个端点,应用程序编程接口诸如但不限于租户管理API、流管理API和/或监测API。在一些示例中,API端点117可被配置为经由这些应用程序编程接口接收和/或处理数据和/或信息。本文描述了这些应用程序编程接口的示例性具体实施。
在一些示例中,API集成器119可被配置为处理和/或集成数据和/或信息以生成符合自动化数据流服务器的自动化数据流API的电子请求。例如,API集成器119可基于对应自动化数据流系统的API将(例如,从租户设备101A-101N中的租户设备接收的)数据流请求转换和/或转化为部署请求。在一些示例中,API集成器119可以将部署请求传输到一个或多个自动化数据流服务器,诸如但不限于如图1所示的自动化数据流服务器123A、123B、...、123N。在一些示例中,一个或多个自动化数据流服务器可以是NiFi服务器,其可以包括一个或多个NiFi实例和/或NiFi集群。在此类示例中,API集成器可以是NiFi API集成器,其可以基于NiFi API将数据流请求转换为部署请求。
在一些示例中,监测调度器121可被配置成管理用于一个或多个自动化数据流服务器(诸如但不限于如图1所示的自动化数据流服务器123A-123N)的一个或多个监测探测器。在一些示例中,监测调度器121可基于监测探测器的结果来更新存储在流和状态注册表115中的数据流数据,该监测探测器的细节在本文中描述。
应当注意,集成和管理服务器109中的各种部件可利用相同的计算机或计算装置来执行上述操作。例如,API端点117、API集成器119和/或监测调度器121可利用相同的处理器或存储器来执行这些功能。在一些示例中,API端点117、API集成器119和/或监测调度器121可以利用分开的电路。
重新参见图1,调度器注册表111、租户注册表113和/或流和状态注册表115可体现为一个或多个数据存储设备,诸如一个或多个网络附加存储(NAS)设备,或体现为一个或多个单独服务器。调度器注册表111、租户注册表113和/或流和状态注册表115可包括集成和管理服务器109可访问的数据和/或信息。
在一些示例中,调度器注册表111可存储监测探测器数据。术语“监测探测器”是指可监测和/或收集与网络系统的状态和/或活动相关的数据的软件操作。在一些示例中,监测探测器数据可包括一个或多个监测探测器状态指示符和/或一个或多个历史探测器状态指示符。监测探测器状态指示符可包括ASCII文本、指针、存储器地址等,其可指示一个或多个自动化数据流服务器(诸如但不限于,如图1所示的自动化数据流服务器123A-123N)中的当前监测探测器。历史探测器状态指示符可包括ASCII文本、指针、存储器地址等,并且可指示一个或多个自动化数据流服务器的历史探测器的结果。
在一些示例中,租户注册表113可存储租户简档数据。在一些示例中,租户简档数据可包括一个或多个租户标识符、一个或多个授权指示符、和/或一个或多个配额指示符。在一些示例中,租户标识符可包括ASCII文本、指针、存储器地址等,其可指示与集成和管理服务器109相关联的租户。在一些示例中,授权指示符可包括ASCII文本、指针、存储器地址等,其可指示每个租户可访问哪个自动化数据流服务器和/或实例(即“授权实例”)。在一些示例中,配额指示符可包括ASCII文本、指针、存储器地址等,其可指示分配给每个租户的数据流极限。
在一些示例中,流和状态注册表115可存储数据流数据。在一些示例中,数据流数据可包括一个或多个实例定位符、一个或多个状态指示符、一个或多个数据流内容描述符和/或一个或多个数据流版本指示符。在一些示例中,实例定位符可包括ASCII文本、指针、存储器地址等,其可指示在一个或多个自动化数据流服务器(诸如但不限于如图1所示的自动化数据流服务器123A-123N)中运行的一个或多个实例的网络位置。在一些示例中,状态指示符可包括ASCII文本、指针、存储器地址等,其可指示在一个或多个自动化数据流服务器(诸如但不限于如图1所示的自动化数据流服务器123A-123N)中运行的每个实例的状态。在一些示例中,数据流内容描述符可包括ASCII文本、指针、存储器地址等,其可描述一个或多个自动化数据流服务器(诸如但不限于,如图1所示的自动化数据流服务器123A-123N)中的数据流的内容。在一些示例中,数据流版本指示符可包括ASCII文本、指针、存储器地址等,其可指示一个或多个自动化数据流服务器(诸如但不限于,如图1所示的自动化数据流服务器123A-123N)中的数据流的版本。
应当注意,调度器注册表111、租户注册表113和/或流和状态注册表115可利用相同的计算机或计算装置来执行上述操作。在一些示例中,调度器注册表111、租户注册表113以及流和状态注册表115可利用分开的电路。
重新参考图1,一个或多个自动化数据流服务器可与集成和管理系统107进行电子通信。例如,集成和管理服务器109的API集成器119可向自动化数据流服务器123A-123N发送电子请求并从其接收数据。
在一些示例中,自动化数据流服务器123A-123N中的每一者可包括一个或多个实例。如上所述,实例是可处理一个或多个数据流的软件引擎。在一些示例中,两个或更多个实例可互连以处理数据流,使得它们可形成“实例集群”并被视为单个系统。在一些示例中,实例集群中的每个节点是实例或另一个实例集群。
图1的集成和管理服务器109可由一个或多个计算系统来体现,诸如图2所示的装置200。装置200可包括处理器202、存储器204、输入/输出电路206和/或通信电路208。装置200可被配置成执行以上参照图1和以下参照图3至图10描述的操作。
虽然针对功能限制描述了这些部件,但应当理解,特定的具体实施必定包括使用特定硬件。还应当理解,这些部件中的某些部件可包括类似或常见的硬件。例如,两组电路均可使用相同的处理器、网络接口、存储介质等以执行其相关联的功能,使得每组电路均不需要重复的硬件。
在一些实施方案中,处理器202(和/或协处理器或协助该处理器或以其他方式与该处理器相关联的任何其他处理电路)可经由总线与存储器204进行通信,以用于在装置的部件之间传递信息。存储器204为非暂态的,并且可包括例如一个或多个易失性和/或非易失性存储器。换句话讲,存储器204可为电子存储设备(例如,计算机可读存储介质)。存储器204可被配置为存储用于使装置能够根据本发明的示例性实施方案执行各种功能的信息、数据、内容、应用、指令等。
在如图2所示的示例中,存储器204可存储计算机程序指令,该计算机程序指令可包括API端点模块210、API集成器模块212和/或监测模块214。当API端点模块210由处理器202执行时,装置200可被配置为接收和/或处理来自其他设备的数据和/或信息,其他设备包括但不限于租户设备和/或操作维护设备,类似于上文结合图1所述的API端点117。当API集成器模块212由处理器202执行时,装置200可被配置为处理和/或集成数据和/或信息以生成符合自动化数据流系统的API的电子请求,类似于上文结合图1所述的API集成器119。当监测模块214由处理器202执行时,装置200可被配置为管理用于一个或多个自动化数据流服务器的一个或多个监测探测器,类似于上文结合图1所述的监测调度器121。
附加地或另外地,装置200可包括被配置用于API端点模块210、API集成器模块212和/或监测模块214的一个或多个指定硬件。例如,装置200可包括单独处理器、专门配置的现场可编程门阵列(FPGA)或专用集成电路(ASIC),其被配置为执行API端点模块210、API集成器模块212和/或监测模块214的功能。
返回参见图2,处理器202可以多种不同的方式体现,并且例如可以包括被配置为独立执行的一个或多个处理设备。在一些示例中,处理器202可包括经由总线串联配置的一个或多个处理器,以实现对指令、流水线和/或多线程的独立执行。术语“处理器”或“处理电路”的使用可以理解为包括单核处理器、多核处理器、装置内部的多个处理器、和/或远程或“云”处理器。
如上所述,处理器202可被配置为执行存储在存储器204中或可以其他方式供处理器202访问的指令。在一些优选的和非限制性实施方案中,处理器202可被配置为执行硬编码功能。因此,无论通过硬件方法或软件方法配置,还是通过它们的组合配置,处理器202均可表示能够根据本公开的实施方案执行操作同时进行相应配置的实体(例如,以电路形式物理地体现)。另选地,又如,当处理器202体现为软件指令的执行器时,指令可将处理器202专门配置为在执行指令时执行本文所述的算法和/或操作。
通信电路208可为任何装置,诸如以硬件或者硬件和软件的组合体现的设备或电路,其被配置为从和/或向网络和/或与装置200进行通信的任何其他设备、电路或模块接收和/或传输数据。就这一点而言,通信电路系统208可包括例如用于实现与有线或无线通信网络(诸如上文结合图1所述的通信网络105)的通信的网络接口。例如,通信电路208可包括一个或多个网络接口卡、天线、总线、交换机、路由器、调制解调器和支持硬件和/或软件,或适用于经由网络实现通信的任何其他设备。附加地或另选地,通信电路208可包括用于与天线相互作用的电路以使得信号经由天线传输或处理经由天线接收的信号接收。
在一些示例中,装置200可任选地包括输入/输出电路206,其可以继而与处理器202通信以向用户提供输出,并且在一些实施方案中,接收用户输入的指示。输入/输出电路206可包括用户接口电路并且可包括显示器,其可包括网页用户接口、移动应用、客户端设备、信息亭等。在一些实施方案中,输入/输出电路206还可以包括键盘、鼠标、操纵杆、触摸屏、触摸区域、软键、麦克风、扬声器、或其他输入/输出机构。处理器和/或包括处理的用户接口电路可被配置为通过存储在处理器可访问的存储器(例如,存储器204等)上的计算机程序指令(例如,软件和/或固件)来控制一个或多个用户接口元素的一个或多个功能。
还应注意,本文所讨论的所有或一些信息可基于由装置200的一个或多个部件接收、生成和/或维护的数据。在一些实施方案中,还可利用一个或多个外部系统(诸如远程云计算和/或数据存储系统)来提供本文所讨论的至少一些功能。
在一些实施方案中,装置200的其他元件可提供或补充特定电路的功能。例如,处理器202可提供处理功能,存储器204可提供存储功能,通信电路208可提供网络接口功能等。应当理解,可将任何此类计算机程序指令和/或其他类型的代码加载到计算机、处理器或其他可编程装置的电路上以产生机器,使得在该机器上执行代码的计算机、处理器、其他可编程电路形成用于实现各种功能(包括本文所述的那些功能)的装置。
如上所述并且基于本公开应当理解,本公开的实施方案可被配置为方法、移动设备、后端网络设备等。因此,实施方案可包括各种装置,这些装置包括完全硬件或者软件和硬件的任何组合。
现在参见图3、图4、图5、图6、图7A、图7B、图8、图9和图10,示出了根据本公开的各种实施方案的示例性方法。在一些示例中,流程图中的每个框以及流程图中的框和步骤的组合可以通过各种装置(诸如硬件、电路和/或与包括一个或多个计算机程序指令的软件的执行相关联的其他装置)来实现。
在一些示例中,在图中描述的程序中的一个或多个程序可由计算机程序指令体现,这些计算机程序指令可由采用本公开的实施方案的装置的存储器电路(诸如非暂态存储器)来存储并且由该装置的处理电路(诸如处理器)来执行。这些计算机程序指令可指示装置以特定方式工作,使得存储在存储器电路中的指令产生一种制品,其执行实现一个或多个流程图框中指定的功能。此外,该设备可包括一个或多个其他部件,诸如例如通信电路和/或输入/输出电路。装置的各种部件可在彼此之间进行电子通信,以将数据传输到彼此并且/或者从彼此接收数据。
在一些示例中,实施方案可采取存储计算机可读程序指令(例如,计算机软件)的非暂态计算机可读存储介质上的计算机程序产品的形式。可利用任何合适的计算机可读存储介质,包括非暂态硬盘、CD-ROM、闪存存储器、光存储设备和/或磁存储设备。
现在参见图3、图4和图5,示出了根据本公开的一些实施方案的示例性方法。具体地,这些示例性方法可示出管理集成和管理系统的租户的示例性实施方案。
图3示出了示例性系统模式300,图4和图5中描述的方法可在该示例性系统模式内操作。具体地,系统可包括操作维护设备303、通信网络305以及集成和管理系统307,类似于上文结合图1所述的操作维护设备103A、通信网络105以及集成和管理系统107。
在一些示例中,操作维护设备303可向集成和管理系统307传输一个或多个请求,包括但不限于租户登录请求和/或租户终止请求。这些电子请求可由集成和管理服务器309的API端点317接收,该API端点类似于上文结合图1所述的API端点117。
在一些示例中,租户管理API325可接收并处理这些电子请求,并且可与租户注册表313通信。如上所述,租户注册表313可存储租户简档数据329,该租户简档数据可包括至少一个租户标识符331、至少一个授权指示符333、和/或至少一个配额指示符335。这些操作的附加细节至少结合本文的图4和图5进行描述。
现在参见图4,示出了根据本公开的一些实施方案的示例性方法400。具体地,示例性方法400可示出配置租户以访问集成和管理系统的示例性实施方案。在一些示例中,方法400可由处理电路(例如,结合图1描述的集成和管理服务器109的处理电路和/或结合图2描述的装置200的处理器202)执行。
方法400在框402处开始。
在框404处,处理电路(例如,结合图1描述的集成和管理服务器109的处理电路和/或结合图2描述的装置200的处理器202)可从操作维护设备接收租户登录请求。
在一些示例中,租户登录请求可能以HTTP请求的形式。在一些示例中,租户登录请求可包括指示将新租户添加到集成和管理系统的请求的数据,使得一个或多个自动化数据流服务器可处理租户的数据流。
在一些示例中,租户登录请求可包括与新租户相关联的至少一个租户设备标识符,和/或可包括生成租户标识符的请求。附加地或另外地,租户登录请求可包括与新租户相关的数据,包括但不限于电子邮件地址、用户名、真实名和/或与新租户相关联的图形表示。
在一些示例中,可经由API接收租户登录请求。例如,在如图3所示的实施方案中,操作维护设备303可经由通信网络305将租户登录请求传输到API端点317的租户管理API325。
例如,以下是基本上以HTTP消息的形式描述示例性租户登录请求的示例性编程代码:
Figure BDA0002737416090000171
Figure BDA0002737416090000181
在上述示例性编程代码中,示例性租户登录请求可包括在租户注册表中生成新租户标识符的请求。如果租户注册表不可用(例如,离线),则处理电路可生成错误消息。
在框406处,处理电路(例如,结合图1描述的集成和管理服务器109的处理电路和/或结合图2描述的装置200的处理器202)可基于租户登录请求在租户注册表中生成租户简档数据。
在一些示例中,可经由API处理租户登录请求。例如,在如图3所示的实施方案中,API端点317的租户管理API325可与租户注册表313通信以生成租户简档数据329。此外,如图3所示,租户简档数据329可包括租户标识符331、授权指示符333和/或配额指示符335。
在一些示例中,租户标识符331可包括ASCII文本、指针、存储器地址等,其可唯一地识别存储在租户注册表313和/或与集成和管理系统相关联的其他注册表中的与租户相关的数据。在一些示例中,可基于租户设备标识符来生成租户标识符331。例如,租户设备标识符可以是针对租户设备唯一的数字串,并且可使用数字串的哈希函数来生成租户标识符。
在一些示例中,授权指示符333可包括ASCII文本、指针、存储器地址等,其可表示与多个实例中的至少一个实例相关联的至少一个实例标识符。在一些示例中,所述至少一个实例标识符可对应于租户被授权访问的所述至少一个实例(即,“授权实例”)。换句话讲,与租户相关联的数据流被授权部署在所述至少一个实例中。
在一些示例中,可基于与集成和管理系统307相关联的数据管理策略来生成授权指示符333。例如,在接收到租户登录请求时,租户管理API325可检索与连接到集成和管理系统307的实例相关联的数据管理策略,并且可确定任何实例中的数据流是否与租户登录请求中识别的新租户冲突。例如,数据管理策略可指示与新租户相关联的新数据流不应在也为另一个现有租户运行数据流的实例中执行。
如果在实例中的新数据流与现有数据流之间存在冲突,则租户管理API325可不包括授权指示符333中的对应实例标识符。如果在实例中的新数据流与现有数据流之间不存在冲突,则租户管理API325可包括授权指示符333中的对应实例标识符。
在一些示例中,配额指示符335可指示与租户标识符相关联的实例的数量。例如,数量可为上限数量,其可指示集成和管理系统307可为租户配置的实例的数量。附加地或另选地,配额指示符335可指示整合和管理系统307已为租户配置的实例的现有数量。
在生成租户简档数据329之后,租户管理API325可将租户简档数据329存储在租户注册表313中,如图3所示。
重新参考图4,方法400在框408处结束。
现在参见图5,示出了根据本公开的一些实施方案的示例性方法500。具体地,示例性方法500可示出将租户从访问集成和管理系统移除的示例性实施方案。在一些示例中,方法500可由处理电路(例如,结合图1描述的集成和管理服务器109的处理电路和/或结合图2描述的装置200的处理器202)执行。
方法500在框501处开始。
在框503处,处理电路(例如,结合图1描述的集成和管理服务器109的处理电路和/或结合图2描述的装置200的处理器202)可从操作维护设备接收租户终止请求。
在一些示例中,租户终止请求可能以HTTP请求的形式。在一些示例中,租户终止请求可包括指示将现有租户从访问集成和管理系统移除的请求,和/或停止在一个或多个自动化数据流服务器中处理与租户相关联的数据流的请求的数据。
在一些示例中,租户终止请求可包括租户标识符。如上所述,租户标识符可包括ASCII文本、指针、存储器地址等,其可唯一地识别存储在租户注册表和/或其他注册表中的与租户相关的数据。
在一些示例中,可经由API接收租户终止请求。例如,在如图3所示的实施方案中,操作维护设备303可经由通信网络305将租户终止请求传输到API端点317的租户管理API325。
例如,以下是基本上以HTTP消息的形式描述示例性租户终止请求的示例性编程代码:
Figure BDA0002737416090000201
Figure BDA0002737416090000211
在上述示例性编程代码中,示例性租户终止请求可包括将租户标识符从与集成和管理系统相关联的租户注册表、调度器注册表和/或数据流注册表移除的请求。
在框505处,处理电路(例如,结合图1描述的集成和管理服务器109的处理电路和/或结合图2描述的装置200的处理器202)可基于租户终止请求将对应于租户标识符的租户简档数据从租户注册表和/或其他注册表移除。
在一些示例中,租户管理API(诸如上文结合图3所述的租户管理API325)可在租户注册表(诸如上文结合图3所述的租户注册表313)中检索与租户相关联的租户简档数据。基于租户简档数据,租户管理API可识别与租户相关联的一个或多个数据流,并且可生成对自动化数据流API集成器(诸如上文结合图1所述的API集成器119)的请求以致使一个或多个实例退出与租户相关联的数据流。
在一些示例中,租户管理API可从租户注册表和/或与集成和管理系统相关联的其他注册表移除租户简档数据。
方法500在框507处结束。
现在参见图6、图7A和图7B,示出了根据本公开的一些实施方案的示例性方法。具体地,这些示例性方法可示出将一个或多个数据流程图部署到一个或多个实例的示例性实施方案。
图6示出了示例性系统模式600,图7A和图7B中描述的方法可在该示例性系统模式内操作。具体地,系统可包括租户设备601、通信网络605以及集成和管理系统607,类似于上文结合图1所述的租户设备101A、通信网络105以及集成和管理系统107。
在一些示例中,租户设备601可向集成和管理系统607传输一个或多个请求,包括但不限于数据流请求。这些电子请求可由集成和管理服务器609的API端点617接收。在一些示例中,流管理API602可接收并处理这些电子请求,并且可与流和状态注册表615通信。流和状态注册表615可存储数据流数据604,该数据流数据可包括至少一个实例定位符606、至少一个状态指示符608、至少一个数据流内容描述符610和/或至少一个数据流版本指示符612。在一些示例中,流管理API602可与API集成器619通信,该API集成器继而可与一个或多个自动化数据流服务器623A、623B、...、623N通信。这些操作的附加细节至少结合本文的图7A和图7B进行描述。
参见图7A和图7B,示出了根据本公开的一些实施方案的示例性方法700。具体地,示例性方法700可示出在实例中部署数据流的示例性实施方案。在一些示例中,方法700可由处理电路(例如,结合图1描述的集成和管理服务器109的处理电路和/或结合图2描述的装置200的处理器202)执行。
现在参见图7A,方法700在框701处开始。
在框703处,处理电路(例如,结合图1描述的集成和管理服务器109的处理电路和/或结合图2描述的装置200的处理器202)可从租户设备接收数据流请求。
在一些示例中,数据流请求可能以HTTP请求的形式。在一些示例中,数据流请求可指示在实例(诸如但不限于NiFi实例)中部署数据流的电子请求。例如,数据流请求可包括与要由实例处理的数据流相关联的一个或多个参数。
在一些示例中,数据流请求可包括至少一个租户标识符,所述至少一个租户标识符可唯一地识别从租户设备传输数据流请求的租户。在接收到数据流请求时,集成和管理系统可执行认证过程以确定租户的身份。例如,集成和管理服务器可从租户注册表检索租户简档数据,类似于上文所述的那些。
在一些示例中,可经由API接收数据流请求。例如,在如图6所示的实施方案中,租户设备601可经由通信网络605将数据流请求传输到API端点617的流管理API602。
例如,以下是基本上以HTTP消息的形式描述示例性数据流请求的示例性编程代码:
Figure BDA0002737416090000231
Figure BDA0002737416090000241
在上述示例性编程代码中,示例性数据流请求可包括对与租户标识符相关联的数据流的请求。
重新参见图7A,在框705处,处理电路(例如,结合图1描述的集成和管理服务器109的处理电路和/或结合图2描述的装置200的处理器202)可从流和状态注册表检索与多个实例相关联的数据流数据。
在一些示例中,数据流数据可包括一个或多个实例定位符707和/或一个或多个状态指示符709。在一些实施方案中,状态指示符709中的每一者可与实例定位符707中的一者相关联和/或相对应。
在一些示例中,所述一个或多个实例定位符707中的实例定位符可包括多个实例中的一者的网络地址。例如,重新参见图6,所述至少一个实例定位符606可包括自动化数据流服务器623A至623N内的实例中的每一者的网络地址。在一些示例中,网络地址可基于TCP/IP协议。在一些示例中,网络地址可基于其他协议。
在一些示例中,所述一个或多个状态指示符709中的状态指示符可包括与多个实例中的一者相关联的网络资源消耗速率。例如,重新参考图6,所述至少一个状态指示符608可指示与自动化数据流服务器623A至623N内的每个实例相关联的网络资源消耗速率。在一些示例中,网络资源消耗速率可指示与对应实例相关联的当前读取/写入速度。附加地或另外地,网络资源消耗速率可指示与对应实例相关联的数据输入量和/或数据输出量。附加地或另外地,网络资源消耗速率可指示对应实例正在执行或被分配的任务的数量。附加地或另外地,网络资源消耗速率可能以其他格式。
附加地或另外地,数据流数据可包括一个或多个数据流内容描述符711和/或一个或多个数据流版本指示符713,如图7所示。
所述一个或多个数据流内容描述符711可包括ASCII文本、指针、存储器地址等,其可描述实例内的数据流内容。例如,重新参见图6,所述至少一个数据流内容描述符610可以描述与自动化数据流服务器623A-623N中的实例相关联的数据流。在一些示例中,数据流内容描述符711可以指示数据流的名称。附加地或另外地,数据流内容描述符711可以包括对数据流的简要描述。
所述一个或多个数据流版本指示符713可包括ASCII文本、指针、存储器地址等,其可指示由实例运行的每个数据流的版本。例如,重新参见图6,所述至少一个数据流版本指示符612可指示由自动化数据流服务器623A-623N中的实例运行的每个数据流的版本。在一些示例中,数据流版本指示符713可指示唯一版本号。在一些示例中,数据流版本指示符713可指示唯一版本名称。
在一些示例中,所述一个或多个实例定位符707、所述一个或多个状态指示符709、所述一个或多个数据流内容描述符711和/或数据流版本指示符713可提供集中式数据中心,该集中式数据中心可提供多个实例的状态。对于每个实例,实例定位符可指示实例的网络位置,状态指示符可指示实例的状态,数据流内容描述符可指示由实例运行的数据流的内容,和/或数据流版本指示符可指示由实例运行的数据流的版本。在一些示例中,基于实例定位符和数据流内容描述符,集成和管理系统可确定每个数据流的位置和内容。在一些示例中,基于数据流内容描述符和数据流版本指示符,集成和管理系统可确定每个数据流的内容和版本。
在框715处,处理电路(例如,结合图1描述的集成和管理服务器109的处理电路和/或结合图2描述的装置200的处理器202)可基于数据流数据从多个实例中确定所选择的实例。
在一些示例中,处理电路可基于数据流数据的所述一个或多个状态指示符709来选择实例。如上所述,所述一个或多个状态指示符709可指示与每个实例相关联的当前网络资源消耗速率。在一些示例中,处理电路可选择具有最低网络资源消耗速率的实例。在一些示例中,处理电路可基于其网络资源消耗速率满足预先确定的阈值来选择实例。例如,所选择的实例可具有低于预定值的网络资源消耗速率。
附加地或另外地,处理电路可基于所述一个或多个数据流内容描述符711和/或数据流版本指示符713来选择实例。
例如,处理电路可确定与和数据流请求相关联的待部署数据流相关的信息,包括例如内容和版本号。参见图6,处理电路可检索所述至少一个数据流内容描述符610,并且可基于例如所述至少一个数据流内容描述符610来确定待部署数据流的内容是否与自动化数据流服务器623A-623N中的现有数据流的内容相同或类似。如果内容相同或类似,则处理电路可检索所述至少一个数据流版本指示符612以确定现有数据流的版本。如果待部署数据流是现有数据流的更高版本,则处理电路可选择与现有数据流相关联的实例,并且可致使实例使用来自数据流请求的待部署数据流替换现有数据流。
重新参见图7A,在框717处,处理电路(例如,结合图1描述的集成和管理服务器109的处理电路和/或结合图2描述的装置200的处理器202)可至少基于所选择的实例将数据流请求转换为部署请求。
在一些示例中,可经由自动化数据流API集成器转换数据流请求。例如,参见图6,流管理API 602可将数据流请求转移到API集成器619。API集成器619然后可以基于与所选择的实例相关联的一个或多个API将数据流请求转换为部署请求。在一些示例中,部署请求可能以HTTP请求的形式,并且可符合对自动化数据流服务器623A至623N的API要求。
例如,以下是基本上以HTTP消息的形式描述示例性部署请求的示例性编程代码:
Figure BDA0002737416090000261
Figure BDA0002737416090000271
Figure BDA0002737416090000281
Figure BDA0002737416090000291
在上述示例性编程代码中,示例性部署请求可包括用于在实例(诸如上述NiFi实例)中部署数据流的参数(诸如用于数据流的模板)。
在框719处,处理电路(例如,结合图1描述的集成和管理服务器109的处理电路和/或结合图2描述的装置200的处理器202)可将部署请求传输到所选择的实例。
例如,参见图6,API集成器619可将部署请求传输到自动化数据流服务器623A至623N中的一者内的实例。可根据本文所述的操作来选择该实例。在一些示例中,处理电路可基于与所选择的实例相关联的实例定位符将部署请求传输到所选择的实例。
重新参考图7A,方法700在框721处结束。
虽然图7A可示出处理电路可基于数据流数据来确定所选择的实例,但处理电路可附加地或另外地基于租户简档数据来确定所选择的实例,其实例在图7B中示出。
现在参见图7B,在框723处,处理电路(例如,结合图1描述的集成和管理服务器109的处理电路和/或结合图2描述的装置200的处理器202)可从租户注册表检索租户简档数据。在一些示例中,租户简档数据可包括一个或多个授权指示符725和/或一个或多个配额指示符727。
如上所述,授权指示符725可指示每个租户被授权访问哪个自动化数据流服务器。在一些示例中,处理电路可基于与数据流请求相关联的租户标识符来检索对应的租户简档数据,并且可确定与租户相关联的对应授权指示符。在一些示例中,授权指示符可指示租户被授权访问的一个或多个授权实例。在此类示例中,处理电路可从所述一个或多个授权实例中选择实例。
在一些示例中,配额指示符727可指示分配给每个租户的数据流极限。处理电路可确定例如部署附加数据流是否将超过极限。如果是,则处理电路可向租户设备(从其传输数据流请求)生成警告消息。如果不是,则处理电路可相应地选择实例。
现在参见图8、图9和图10,示出了根据本公开的一些实施方案的示例性方法。具体地,这些示例性方法可示出监测自动化数据流服务器和/或与自动化数据流服务器相关联的集成和管理系统的状态的示例性实施方案。
图8示出了示例性系统模式800,图9和图10中描述的方法可在该示例性系统模式内操作。具体地,集成和管理系统807可与一个或多个自动化数据流服务器823A、823B、...、823N通信,类似于上文结合图1所述的集成和管理系统107以及所述一个或多个自动化数据流服务器123A-123N。
在一些示例中,集成和管理服务器809的监测调度器821可管理与自动化数据流服务器823A至823N相关联的当前监测探测器。在一些示例中,API端点817的监测API802可从调度器注册表811检索监测探测器数据804,并且可致使流和状态注册表815中的数据流数据810更新。在一些示例中,监测探测器数据804可包括至少一个监测探测器状态指示符806和至少一个历史探测器状态指示符808。在一些示例中,监测API802可与API集成器819通信以对自动化数据流服务器823A至823N中的实例执行监测探测器。这些操作的附加细节至少结合本文的图9和图10进行描述。
参见图9,示出了根据本公开的一些实施方案的示例性方法900。具体地,示例性方法900可示出管理监测探测器和更新数据流数据的示例性实施方案。在一些示例中,方法900可由处理电路(例如,结合图1描述的集成和管理服务器109的处理电路和/或结合图2描述的装置200的处理器202)执行。
方法900在框901处开始。
在框903处,处理电路(例如,结合图1描述的集成和管理服务器109的处理电路和/或结合图2描述的装置200的处理器202)可从调度器注册表检索至少一个监测探测器状态指示符。
在一些示例中,所述至少一个监测探测器状态指示符可包括ASCII文本、指针、存储器地址等,并且可指示与多个实例相关联的至少一个当前监测探测器。例如,所述至少一个监测探测器状态指示符可指示用于对实例执行监测探测器的起始时间或时间间隔。基于起始时间或时间间隔,监测API(诸如如图8所示的监测API802)可对实例执行监测探测器。
在一些示例中,所述至少一个监测探测器状态指示符可包括与实例的性能相关的信息。例如,监测探测器状态指示符可指示与实例相关联的当前网络资源消耗速率、实例当前运行的数据流、和/或实例的当前网络位置。
在一些示例中,处理电路可基于所述至少一个监测探测器状态指示符生成一个或多个电子警告消息。例如,当所述至少一个监测探测器状态指示符指示实例以或接近其最大处理能力运行时,处理电路可生成电子警告消息,并且可将电子警告消息传输到操作维护设备。
在框905处,处理电路(例如,结合图1描述的集成和管理服务器109的处理电路和/或结合图2描述的装置200的处理器202)可基于所述至少一个监测探测器状态指示符来更新数据流数据。
例如,处理电路可基于由监测探测器状态指示符识别的当前网络资源消耗速率来更新数据流数据的状态指示符。在一些示例中,处理电路可基于实例当前运行的数据流(如由监测探测器状态指示符识别)来更新数据流数据的数据流内容描述符和/或数据流版本指示符。在一些示例中,处理电路可基于由监测探测器状态指示符识别的实例的当前网络位置来更新实例定位符。
方法900在框907处结束。
参见图10,示出了根据本公开的一些实施方案的示例性方法1000。具体地,示例性方法1000可示出生成预测数据的示例性实施方案。在一些示例中,方法1000可由处理电路(例如,结合图1描述的集成和管理服务器109的处理电路和/或结合图2描述的装置200的处理器202)执行。
方法1000在框1002处开始。
在框1004处,处理电路(例如,结合图1描述的集成和管理服务器109的处理电路和/或结合图2描述的装置200的处理器202)可从调度器注册表检索至少一个历史探测器状态指示符。
在一些示例中,所述至少一个历史探测器状态指示符可包括ASCII文本、指针、存储器地址等,并且可指示与多个实例相关联的至少一个历史监测探测器的至少一个结果。例如,所述至少一个历史探测器状态指示符可指示每个实例在执行监测探测器的不同时间的网络资源消耗速率。
在框1006处,处理电路(例如,结合图1描述的集成和管理服务器109的处理电路和/或结合图2描述的装置200的处理器202)可以基于所述至少一个历史探测器状态指示符生成与所述多个实例相关联的预测数据。
在一些示例中,处理电路可实现机器学习算法以生成预测数据。例如,处理电路可实现人工神经网络,并且可生成指示实例在未来的可能网络消耗速率的预测数据。在一些示例中,可使用其他机器学习算法。
方法1000在框1008处结束。
应当理解的是,本公开不限于所公开的特定实施方案,并且修改和其他实施方案旨在包括在所附权利要求的范围内。尽管本文采用了特定术语,但是除非另有说明,否则它们仅以一般性和描述性意义使用,而不是出于限制的目的。

Claims (10)

1.一种计算机实现的方法,所述方法包括:
从租户设备接收数据流请求,所述数据流请求指示部署数据流的电子请求;
从流和状态注册表检索与多个实例相关联的数据流数据,所述数据流数据包括多个实例定位符以及与所述多个实例定位符相关联的多个状态指示符;
基于所述多个状态指示符,从所述多个实例中确定所选择的实例;以及
将所述数据流请求转换成针对所选择的实例的部署请求。
2.根据权利要求1所述的计算机实现的方法,所述检索所述数据流数据包括检索与多个NiFi实例相关联的NiFi数据流数据,所述NiFi数据流数据包括多个NiFi状态指示符,并且所述确定所选择的实例包括基于所述多个NiFi状态指示符从所述多个NiFi实例中确定所选择的NiFi实例。
3.根据权利要求1所述的计算机实现的方法,还包括:
将所述部署请求传输到所选择的实例。
4.根据权利要求1所述的计算机实现的方法,所述多个实例定位符中的实例定位符包括所述多个实例中的一个实例的网络地址,并且所述确定所选择的实例包括基于所述网络地址确定所选择的实例。
5.根据权利要求1所述的计算机实现的方法,所述多个状态指示符中的状态指示符包括与所述多个实例中的一个实例相关联的网络资源消耗速率,并且所述确定所选择的实例包括基于所述网络资源消耗速率确定所选择的实例。
6.根据权利要求1所述的计算机实现的方法,所述检索所述数据流数据包括检索至少一个数据流内容描述符和至少一个数据流版本指示符,并且所述计算机实现的方法还包括:
至少基于所述至少一个数据流内容描述符和所述至少一个数据流版本指示符来确定与所述数据流请求相关联的所述数据流是否是所述多个实例中的现有数据流的另选版本。
7.根据权利要求6所述的计算机实现的方法,还包括:
确定所述数据流是所述现有数据流的所述另选版本;以及
使所选择的实例使用所述数据流替换所述现有数据流。
8.根据权利要求1所述的计算机实现的方法,还包括:
从操作维护设备接收租户登录请求;以及
基于所述租户登录请求,在租户注册表中生成租户简档数据,所述租户简档数据包括租户标识符、授权指示符和配额指示符。
9.根据权利要求1所述的计算机实现的方法,所述转换包括确定用于在所选择的实例中部署所述数据流的一个或多个参数,并且所述计算机实现的方法还包括:
基于所述一个或多个参数将所述部署请求传输到所选择的实例。
10.根据权利要求1所述的计算机实现的方法,所选择的实例是处理引擎,并且所述转换包括将所述数据流请求转换成针对所述处理引擎的所述部署请求。
CN202011142073.6A 2019-10-24 2020-10-22 用于集成和管理自动化数据流系统的方法、装置和系统 Pending CN112711609A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/663,039 US20210124618A1 (en) 2019-10-24 2019-10-24 Methods, apparatuses and systems for integrating and managing automated dataflow systems
US16/663,039 2019-10-24

Publications (1)

Publication Number Publication Date
CN112711609A true CN112711609A (zh) 2021-04-27

Family

ID=73013137

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011142073.6A Pending CN112711609A (zh) 2019-10-24 2020-10-22 用于集成和管理自动化数据流系统的方法、装置和系统

Country Status (3)

Country Link
US (1) US20210124618A1 (zh)
EP (1) EP3813329A3 (zh)
CN (1) CN112711609A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210384979A1 (en) * 2020-06-03 2021-12-09 Telefonaktiebolaget Lm Ericsson (Publ) Information communication using equipment indicator lights

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100211666A1 (en) * 2007-10-16 2010-08-19 Tor Kvernvik Method And Apparatus For Improving The Efficiency Of Resource Utilisation In A Communications System
CN104158739A (zh) * 2014-08-29 2014-11-19 杭州华三通信技术有限公司 一种ip流量工程管理方法以及装置
CN107851233A (zh) * 2015-06-19 2018-03-27 阿普泰克科技公司 资产处的本地分析
CN108768890A (zh) * 2018-05-28 2018-11-06 郑州云海信息技术有限公司 一种sdn网络中多租户资源复用方法、装置及控制器
CN109634652A (zh) * 2018-11-28 2019-04-16 郑州云海信息技术有限公司 一种数据处理的方法、装置、计算机存储介质及终端

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100211666A1 (en) * 2007-10-16 2010-08-19 Tor Kvernvik Method And Apparatus For Improving The Efficiency Of Resource Utilisation In A Communications System
CN104158739A (zh) * 2014-08-29 2014-11-19 杭州华三通信技术有限公司 一种ip流量工程管理方法以及装置
CN107851233A (zh) * 2015-06-19 2018-03-27 阿普泰克科技公司 资产处的本地分析
CN108768890A (zh) * 2018-05-28 2018-11-06 郑州云海信息技术有限公司 一种sdn网络中多租户资源复用方法、装置及控制器
CN109634652A (zh) * 2018-11-28 2019-04-16 郑州云海信息技术有限公司 一种数据处理的方法、装置、计算机存储介质及终端

Also Published As

Publication number Publication date
EP3813329A2 (en) 2021-04-28
US20210124618A1 (en) 2021-04-29
EP3813329A3 (en) 2021-06-30

Similar Documents

Publication Publication Date Title
EP3798833B1 (en) Methods, system, articles of manufacture, and apparatus to manage telemetry data in an edge environment
CN107590001B (zh) 负载均衡方法及装置、存储介质、电子设备
CN109428922B (zh) 一种订阅发布方法及服务器
US10084711B2 (en) High-performance quality-of-service packet scheduling for multiple packet processing engines
US9148381B2 (en) Cloud computing enhanced gateway for communication networks
US7831734B2 (en) Method and system for remote configuration of network devices
EP2682863A1 (en) Installing applications remotely
US10735262B1 (en) System and method for self-orchestrated canary release deployment within an API gateway architecture
CN109783151B (zh) 规则变更的方法和装置
US11765014B2 (en) Intent-based distributed alarm service
CN113220420A (zh) 服务监控方法、装置、设备、存储介质及计算机程序产品
US11418583B2 (en) Transaction process management by dynamic transaction aggregation
US10331484B2 (en) Distributed data platform resource allocator
CN109428926B (zh) 一种调度任务节点的方法和装置
CN112711609A (zh) 用于集成和管理自动化数据流系统的方法、装置和系统
CN110968422A (zh) 用于集成场景的负载分发
US11074255B2 (en) System independent configuration management database identification system
US10616317B2 (en) Method and system for affinity load balancing
US11343202B1 (en) Managing edge devices based on predicted network bandwidth utilization
CN112559001B (zh) 更新应用的方法和装置
US20190386928A1 (en) System and method for utilizing idle network resources
US20150372944A1 (en) Provisioning legacy systems network architecture resource communications through a group of servers in a data center
US10680878B2 (en) Network-enabled devices
KR20060093724A (ko) 네트워크를 통한 통신 방법 및 시스템, 컴퓨터 프로그램
US11601305B2 (en) Physical infrastructure/virtual infrastructure integration system

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