CN109669985B - 在微服务环境中使用相关数据分配执行任务 - Google Patents
在微服务环境中使用相关数据分配执行任务 Download PDFInfo
- Publication number
- CN109669985B CN109669985B CN201811210637.8A CN201811210637A CN109669985B CN 109669985 B CN109669985 B CN 109669985B CN 201811210637 A CN201811210637 A CN 201811210637A CN 109669985 B CN109669985 B CN 109669985B
- Authority
- CN
- China
- Prior art keywords
- data
- data set
- micro
- node
- format type
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000009471 action Effects 0.000 claims abstract description 28
- 238000000034 method Methods 0.000 claims description 80
- 230000008569 process Effects 0.000 description 40
- 230000002085 persistent effect Effects 0.000 description 18
- 238000010801 machine learning Methods 0.000 description 13
- 230000006978 adaptation Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000002688 persistence Effects 0.000 description 7
- 238000012549 training Methods 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000004900 laundering Methods 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013477 bayesian statistics method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000037406 food intake Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/5033—Allocation 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 data affinity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Abstract
本发明涉及在微服务环境中使用相关数据分配执行任务。一种系统,包括一个或多个设备,用于接收第一数据集。系统将第一数据集发送至第一数据存储库以用于存储。第一数据存储库是第一数据格式类型。系统将第一数据集发送至多个节点中的节点。节点用于对第一数据集和第二数据集执行动作以生成第三数据集。节点用于将第三数据集发送至第三数据存储库。第三数据存储库是不同于第一数据格式类型和第二数据格式类型的第三数据格式类型。系统将第三数据集从第三数据存储库发送至第一数据存储库以用于报告。
Description
背景技术
微服务架构可以指包括一套可独立配置的模块化应用的软件应用,每个应用执行独特的进程并交互以实现软件应用的整体功能。
发明内容
根据一些可能的实施方式,设备(或设备集)可以包括一个或多个处理器(CPU、GPU等)以接收第一数据集;将第一数据集发送至第一数据存储库以用于存储,第一数据存储库是第一数据格式类型;将第一数据集发送至多个节点中的节点,多个节点中的每个节点被配置为从第二数据存储库接收第二数据集,第二数据存储库是不同于第一数据格式类型的第二数据格式类型,节点用于对第一数据集和第二数据集执行动作以生成第三数据集,节点用于将第三数据集发送至第三数据存储库,第三数据存储库是不同于第一数据格式类型和第二数据格式类型的第三数据格式类型;并且将第三数据集从第三数据存储库发送至第一数据存储库以用于报告。
根据一些可能的实施方式,一种方法可以包括:通过设备接收第一数据集;通过设备将第一数据集发送至第一数据存储库以用于存储,第一数据存储库是第一数据格式类型;通过设备将第一数据集发送至多个节点中的节点,多个节点中的每个节点被配置为从第二数据存储库接收第二数据集,第二数据存储库是不同于第一数据格式类型的第二数据格式类型,节点用于对第一数据集和第二数据集执行动作以生成第三数据集,节点用于将第三数据集发送至第三数据存储库,第三数据存储库是不同于第一数据格式类型和第二数据格式类型的第三数据格式类型;以及通过设备将第三数据集从第三数据存储库发送至第一数据存储库以用于报告。
根据一些可能的实施方式,非瞬时计算机可读介质可以包括一个或多个指令,当由设备的一个或多个处理器执行时,使一个或多个处理器:接收第一数据集;将第一数据集发送至第一数据存储库以用于存储,第一数据存储库是第一数据格式类型;将第一数据集发送至多个节点中的节点,多个节点中的每个节点被配置为从第二数据存储库接收第二数据集,第二数据存储库是不同于第一数据格式类型的第二数据格式类型,节点用于对第一数据集和第二数据集执行动作以生成第三数据集,节点用于将第三数据集发送至第三数据存储库,并且第三数据存储库是不同于第一数据格式类型和第二数据格式类型的第三数据格式类型;以及将第三数据集从第三数据存储库发送至第一数据存储库以用于报告。
附图说明
图1是本文所描述的示例实施方式的概况的图;
图2是本文所描述的系统和/或方法可以被实现的示例环境的图;
图3是图2的一个或多个设备的示例部件的图;
图4是用于在微服务环境中使用相关数据分配执行任务的示例进程的流程图;以及
图5是用于分配数据集以用于报告的示例进程的流程图。
具体实施方式
以下对示例实施方式的详细描述参考附图。不同附图中的相同附图标记可以标识相同或相似的元件。
微服务应用可以指包括微服务集的应用。微服务包括执行微服务应用功能的应用。换言之,微服务应用中的微服务可以指通过网络交互以执行微服务应用的整体功能的独立应用。在一些情况下,微服务应用可以包括数百、数千个等微服务。
微服务应用可以接收与待执行的任务集相关联的输入。第一微服务可以执行与微服务应用的第一功能相关联的第一任务,第二微服务可以执行与微服务应用的第二功能相关联的第二任务,等等。微服务可以基于执行任务而生成执行结果,并经由应用程序编程接口(API)(例如,RESTful API、数据访问对象(DAO)API等)、经由消息队列等将执行结果传达给其它微服务。以这种方式,微服务可以传达执行结果以实现微服务应用的整体功能。
作为特定示例,微服务应用可以包括反洗钱(AML)应用。例如,微服务应用可以通过分析与数据源集相关联的输入数据来检测、预防、报告洗钱等。数据源可以包括新闻数据源、社交媒体数据源、云数据源、内部数据源等。输入数据可以包括金融交易数据、图形格式的节点形式的实体数据、新闻泄漏数据等。执行结果可以包括对实体是否正在参与和/或已经参与洗钱操作等的判断。
虽然本文的一些实施方式描述了AML应用,但是应当理解,本文所描述的实施方式也适用于分析其它类型的输入数据以生成其它类型的执行结果的其它类型的微服务应用。
微服务应用可以利用与多种类型的数据存储库相关联的数据(例如,图形数据库、关系数据库、结构化查询语言(SQL)数据库、NoSQL数据库等)。在一些情况下,不同的数据存储库可以存储各自引用相同底层事件的相应数据项。继续以上关于AML应用的示例,数据存储库集可以存储分别基于相同底层金融交易的相应数据项。例如,图形数据库可以存储包括关于与金融交易相关联的实体之间的关系的信息的数据项。附加地,关系数据库可以存储包括关于金融交易的信息的数据项,诸如,金融交易中所涉及的实体、与金融交易相关联的货币价值、金融交易的日期等。
微服务应用中的不同微服务可以处理与不同数据格式相关联并且/或由不同类型的数据存储库来存储的数据。继续以上关于AML应用的示例,AML应用的第一微服务可以使用与图形数据库相关联的输入数据执行任务,AML应用的第二微服务可以使用与关系数据库相关联的输入数据执行任务,等等。这样,维持数据一致性以便维持微服务应用的准确性的能力(例如,微服务应用生成正确结果、预期结果等的能力)可能是有价值的。换言之,不同的微服务可以处理不同的数据项,每个数据项引用相同的底层事件(或者,在一些情况下,一个微服务的输入可以是另一微服务的输出)。在不同的微服务不能够标识使用数据项生成的数据项和/或执行结果与相同底层事件相关联的情况下,准确性可能会降低。
附加地,不同的计算资源(例如,云计算服务器、个人计算机、工作站计算机、服务器设备和/或其它类型的计算和/或通信设备)可以执行微服务应用中的不同微服务。这样,跨不同计算资源平衡加载任务的能力可能是合适的。
本文所描述的一些实施方式提供一种微服务平台,该微服务平台可以接收与将由微服务集处理的事件相关联的信息。附加地,本文所描述的一些实施方式允许微服务平台将唯一标识符和与相同底层事件相关联的数据项集相关联,并且允许微服务平台将数据项集存储在数据存储库集中。以这种方式,微服务平台可以使用唯一标识符标识数据项集与相同的底层事件相关联,从而提高微服务应用的准确性。
本文所描述的一些实施方式允许微服务平台标识将由微服务集执行的任务集。附加地,本文所描述的一些实施方式允许微服务平台确定与正在执行微服务集的计算资源集相关联的度量集(例如,资源利用率值、网络度量值等)。
以这种方式,微服务平台可以基于计算资源的相应度量来分配执行任务。因此,本文所描述的一些实施方式允许微服务平台平衡加载和/或有效分配执行任务。以这种方式,与任务不考虑计算资源度量而被分配的情况相比,本文所描述的一些实施方式更有效地利用计算资源的处理器和/或存储器资源,提高吞吐量,增加带宽,减少延迟时间等。
图1是本文所描述的示例实施方式100的概况的图。如图1所示,示例实施方式100可以包括微服务平台,该微服务平台包括服务层、持久适应层和持久层。微服务平台的不同层可以包括以硬件、固件、软件和/或其组合实现的不同功能模块。
如图1中进一步所示,服务层可以包括交易摄取模块、计划器模块、平衡器模块和微服务集。如图1中进一步所示,持久适应层可以包括数据路由器、数据加载器、唯一标识符生成模块和存储驱动器集。如图1中进一步所示,持久层可以包括数据存储库集。
如图1中进一步所示,并且通过附图标记110示出,微服务平台(例如,服务层的交易摄取模块)可以接收与将由微服务集处理的事件相关联的信息。如图1中进一步所示,并且通过附图标记120示出,微服务平台(例如,持久适应层的数据路由器)可以使用与事件相关联的信息生成与数据格式集相关联的数据项集。例如,数据格式集可以对应于数据存储库集。换言之,不同的数据存储库可以存储与不同格式相关联的数据。
如图1中进一步所示,并且通过附图标记130示出,微服务平台(例如,持久适应层的唯一标识符生成模块)可以将数据项集与唯一标识符相关联。如图1中进一步所示,并且通过附图标记140示出,微服务平台(例如,持久适应层的唯一标识符生成模块)可以在将数据项集与唯一标识符相关联后,向数据存储库集提供数据项集。
如图1中进一步所示,并且通过附图标记150示出,微服务平台(例如,服务层的计划器模块)可以确定将由微服务集执行的任务集,以便处理与事件相关联的信息。如图1中进一步所示,并且通过附图标记160示出,微服务平台(例如,服务层的平衡器模块)可以确定与微服务集相关联的计算资源集相关联的度量集。例如,度量集可以包括正在执行微服务集的计算资源集的资源利用率值(例如,处理器利用率值、存储器利用率值等)、网络度量值(例如,吞吐量值、延迟时间值、带宽值等)等。
如图1中进一步所示,并且通过附图标记170示出,微服务平台(例如,服务层的平衡器模块)可以基于度量集向计算资源集的子集提供数据项集,以允许微服务集执行任务集。例如,微服务平台(例如,数据加载器模块)可以使用唯一标识符标识数据项,并向平衡器模块提供数据项以允许该数据项由微服务集处理。
如图1中进一步所示,并且通过附图标记180示出,在向计算资源集的子集提供数据项集后,微服务平台可以接收与执行结果相关联的信息。
以这种方式,微服务平台可以使用唯一标识符标识数据项集与相同的底层事件相关联,从而维持微服务应用的准确性。此外,以这种方式,微服务平台可以基于计算资源的相应度量分配执行任务。因此,微服务平台可以平衡加载和/或有效地分配执行任务。以这种方式,与微服务平台没有标识和/或使用度量集就分配任务的情况相比,微服务平台更有效地利用计算资源的处理器和/或存储器资源,提高吞吐量,增加带宽,减少延迟时间等。
如上所述,图1仅作为示例来提供。其它示例是可能的,并且可以与结合图1所描述的示例不同。
图2是本文所描述的系统和/或方法可以被实现的示例环境200的图。如图2所示,环境200可以包括用户设备210、微服务平台220、数据存储库230、外部服务器240和网络250。环境200的设备可以经由有线连接、无线连接或有线连接和无线连接的组合互连。
用户设备210包括能够接收、生成、存储、处理和/或提供与微服务平台220相关联的信息的一个或多个设备。例如,用户设备210可以包括诸如台式计算机、膝上型计算机、平板计算机、手持式计算机、服务器设备、移动电话(例如,智能电话或无线电话)、可穿戴通信设备(例如,智能手表、活动带或智能眼镜)、游戏设备或类似类型的设备等。
微服务平台220包括能够分配与微服务应用相关联的任务的一个或多个设备。在一些实施方式中,微服务平台220可以被设计为模块化,以使某些软件部件可以根据特定需求被换入或换出。这样,微服务平台220可以容易地和/或快速地被重新配置以用于不同用途。
本文的一些实施方式描述了模型。在一些实施方式中,微服务平台220可以使用机器学习技术来分析数据(例如,诸如历史数据等训练数据)和创建模型。机器学习技术可以包括,例如,监督和/或无监督技术,诸如人工网络、贝叶斯统计、自动学习机、隐马尔可夫模型、线性分类器、二次分类器、决策树、关联规则学习等。
在一些实施方式中,微服务平台220可以使用另一类型的计算机实现的技术来分析数据和生成模型,诸如人工智能、机器感知或计算机视觉等。
在一些实施方式中,如图所示,微服务平台220可以被托管在云计算环境222中。需要注意的是,虽然本文所描述的实施方式将微服务平台220描述为被托管在云计算环境222中,但在一些实施方式中,微服务平台220可以不是基于云的(即可以在云计算环境之外被实现)或者可以是部分基于云的。
云计算环境222包括托管微服务平台220的环境。云计算环境222可以提供不需要关于托管微服务平台220的系统和/或设备的物理位置和配置的终端用户(例如,用户设备210)知识的计算、软件、数据访问、存储等服务。如图所示,云计算环境222可以包括计算资源组224(被统称为“计算资源224”并且单独地作为“计算资源224”)。
计算资源224包括一个或多个个人计算机、工作站计算机、服务器设备或其它类型的计算和/或通信设备。在一些实施方式中,计算资源224可以托管微服务平台220。云资源可以包括在计算资源224中执行的计算实例、计算资源224中所提供的存储设备、由计算资源224提供的数据传输设备等。在一些实施方式中,计算资源224可以经由有线连接、无线连接或有线连接和无线连接的组合与其它计算资源224通信。
如图2中进一步所示,计算资源224包括云资源组,诸如一个或多个应用(“APPs”)224-1、一个或多个虚拟机(“VMs”)224-2、虚拟化存储(“VSs”)224-3、一个或多个管理程序(“HYPs”)224-4等。
应用224-1包括可以被提供给用户设备210或由用户设备210访问的一个或多个软件应用。应用224-1可以消除在用户设备210上安装和执行软件应用的需求。例如,应用224-1可以包括与微服务平台220相关联的软件和/或能够经由云计算环境222被提供的任何其它软件。在一些实施方式中,一个应用224-1可以经由虚拟机224-2向/从一个或多个其它应用224-1发送/接收信息。
虚拟机224-2包括像物理机器一样执行程序的机器(例如计算机)的软件实现。虚拟机224-2可以是系统虚拟机或进程虚拟机,这取决于由虚拟机224-2对任何真实机器的使用和对应程度。系统虚拟机可以提供支持执行完整操作系统(“OS”)的完整系统平台。进程虚拟机可以执行单个程序,并且可以支持单个进程。在一些实施方式中,虚拟机224-2可以代表用户(例如,用户设备210)执行,并且可以管理云计算环境222的基础架构,诸如数据管理、同步或长持续时间的数据传输。
虚拟化存储224-3包括一个或多个存储系统和/或在计算资源224的存储系统或设备内使用虚拟化技术的一个或多个设备。在一些实施方式中,在存储系统背景下,虚拟化类型可以包括块虚拟化和文件虚拟化。块虚拟化可以指从物理存储的逻辑存储抽象化(或分离),使得存储系统可以在不考虑物理存储或异质结构的情况下被访问。分离可以允许存储系统的管理员在如何为终端用户管理存储方面具有更大的灵活性。文件虚拟化可以消除在文件级访问的数据与文件被物理地存储的位置之间的依赖性。这可以实现存储使用、服务器整合和/或无中断文件迁移性能的优化。
管理程序224-4可以提供允许多个操作系统(例如,“访客操作系统”)在主计算机,诸如计算资源224上同时执行的硬件虚拟化技术。管理程序224-4可以为访客操作系统提供虚拟操作平台,并且可以管理访客操作系统的执行。各种操作系统的多个实例可以共享虚拟化硬件资源。
数据存储库230包括能够接收、存储和/或提供以供微服务平台220使用的信息的一个或多个设备。例如,数据存储库230可以包括服务器或服务器组。在一些实施方式中,数据存储库230可以向微服务平台220提供信息和/或资源。
外部服务器240包括可通过网络250访问的一个或多个设备,该设备是可以由微服务平台220使用的信息源。例如,外部服务器240可以包括服务器,其包括供微服务平台220和/或用户设备210使用的特定信息。例如,外部服务器240可以包括服务器或服务器组(例如,基于云的服务器、应用设备、内容服务器、主机服务器、网络服务器、数据库服务器等)、台式计算机或类似设备。
网络250可以包括一个或多个有线和/或无线网络。例如,网络250可以包括蜂窝网络(例如,第五代(5G)网络、长期演进(LTE)网络、第三代(3G)网络、码分多址(CDMA)网络等)、公共陆地移动网(PLMN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、电话网络(例如,公共交换电话网(PSTN))、专用网络、自组织网络、内联网、因特网、基于光纤的网络等,和/或这些或其它类型的网络的组合。
图2中所示的数量和布置的设备和网络作为示例被提供。实际上,与图2中所示的那些设备和/或网络相比,可能存在附加的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络、或者不同布置的设备和/或网络。此外,图2中所示的两个及以上的设备可以在单个设备内被实现,或者图2中所示的单个设备可以被实现为多个分布式设备。附加地或备选地,环境200的设备集(例如,一个或多个设备)可以执行被描述为由环境200的另一设备集执行的一个或多个功能。
图3是设备300的示例部件的图。设备300可以对应于用户设备210、微服务平台220、计算资源224、数据存储库230和/或外部服务器240。在一些实施方式中,用户设备210、微服务平台220、计算资源224、数据存储库230和/或外部服务器240可以包括一个或多个设备300和/或设备300的一个或多个部件。如图3所示,设备300可以包括总线310、处理器320、存储器330、存储部件340、输入部件350、输出部件360和通信接口370。
总线310包括允许设备300的部件互相通信的部件。处理器320以硬件、固件或硬件和软件的组合来实现。处理器320是中央处理单元(CPU)、图形处理单元(GPU)、加速处理单元(APU)、微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)或其它类型的处理部件。在一些实施方式中,处理器320包括能够被编程为执行功能的一个或多个处理器。存储器330包括随机存取存储器(RAM)、只读存储器(ROM)和/或存储供处理器320使用的信息和/或指令的另一类型的动态或静态存储设备(例如,闪存、磁存储器和/或光存储器)。
存储部件340存储与设备300的操作和使用相关的信息和/或软件。例如,存储部件340可以包括硬盘(例如,磁盘、光学盘、磁光盘和/或固态盘)、光盘(CD)、数字通用光盘(DVD)、软盘、盒式磁带、磁带和/或另一类型的非瞬时计算机可读介质,以及对应的驱动器。
输入部件350包括允许设备300,诸如,经由用户输入(例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关和/或麦克风)来接收信息的部件。附加地或备选地,输入部件350可以包括用于感测信息的传感器(例如,全球定位系统(GPS)部件、加速计、陀螺仪和/或致动器)。输出部件360包括从设备300提供输出信息的部件(例如,显示器、扬声器和/或一个或多个发光二极管(LED))。
通信接口370包括类似收发器的部件(例如,收发器和/或单独的接收器和发送器),其使设备300能够,诸如,经由有线连接、无线连接或有线连接和无线连接的组合,与其它设备通信。通信接口370可以允许设备300从另一设备接收信息和/或向另一设备提供信息。例如,通信接口370可以包括以太网接口、光学接口、同轴接口、红外接口、射频(RF)接口、通用串行总线(USB)接口、Wi-Fi接口、蜂窝网络接口等。
设备300可以执行本文所描述的一个或多个进程。设备300可以响应于处理器320执行由诸如存储器330和/或存储部件340之类的非瞬时计算机可读介质存储的软件指令,来执行这些进程。计算机可读介质在本文中被限定为非瞬时存储器设备。存储器设备包括单个物理存储设备内的存储器空间或分布在多个物理存储设备上的存储器空间。
软件指令可以经由通信接口370从另一计算机可读介质或从另一设备被读取入存储器330和/或存储部件340中。在被执行时,被存储在存储器330和/或存储部件340中的软件指令可以使处理器320执行本文所描述的一个或多个进程。附加地或备选地,硬连线电路可以代替软件指令或与软件指令组合来使用以执行本文所描述的一个或多个进程。因此,本文所描述的实施方式不限于硬件电路和软件的任何特定组合。
图3中所示数量和布置的部件作为示例被提供。实际上,与图3中所示的那些部件相比,设备300可以包括附加的部件、更少的部件、不同的部件、或者不同布置的部件。附加地或备选地,设备300的部件集(例如,一个或多个部件)可以执行被描述为由设备300的另一部件集执行的一个或多个功能。
图4是用于在微服务环境中使用相关数据分配执行任务的示例进程400的流程图。在一些实施方式中,图4中的一个或多个进程块可以由微服务平台220执行。在一些实施方式中,图4中的一个或多个进程块可以由独立于或包括微服务平台220的另一设备或设备组执行,诸如用户设备210、数据存储库230和/或外部服务器240。
如图4所示,进程400可以包括接收与将由微服务集处理的事件相关联的信息(块410)。例如,微服务平台220可以接收将由与微服务平台220相关联的微服务应用处理的事件相关联的输入信息。
在一些实施方式中,与事件相关联的信息可以对应于将由微服务应用处理的输入数据。例如,与事件相关联的信息可以指能够由微服务应用处理以生成执行结果的任何类型的数据。作为特定示例,并且参考AML应用,与事件相关联的信息可以包括与金融交易、新闻文章、泄漏等相关联的信息。
在一些实施方式中,与事件相关联的信息可以包括参数集。作为特定示例,假设与事件相关联的信息对应于金融交易。在这种情况下,参数集可以包括与金融交易相关联的第一实体、与金融交易相关联的第二实体、与金融交易相关联的货币价值、金融交易的日期、金融交易的时间、金融交易的地点等。
在一些实施方式中,微服务平台220可以从外部服务器240接收与事件相关联的信息。例如,微服务平台220可以使用应用程序编程接口(API)集、代表性状态转移(REST)接口集、超文本传输协议(HTTP)接口集等来接收与事件相关联的信息。
在一些实施方式中,微服务平台220可以基于事件的发生、基于时间帧、基于接收来自用户设备210的指令、基于向外部服务器240提供请求等来接收与事件相关联的信息。
以这种方式,如下文所述,微服务平台220可以接收与事件相关联的信息,并且可以使用与事件相关联的信息生成数据项集。
如图4中进一步所示,进程400可以包括使用与事件相关联的信息生成与数据格式集相关联的数据项集(块420),将数据项集与唯一标识符相关联(块430),以及在将数据项集与唯一标识符相关联后,向数据存储库集提供数据项集(块440)。例如,微服务平台220可以使用与事件相关联的信息生成数据项集,将数据项集与唯一标识符相关联,并向数据存储库集230提供数据项集。
在一些实施方式中,微服务平台220(例如,包括以硬件、固件、软件和/或其组合实现的功能模块集的服务层)可以接收与事件相关联的信息,并生成将在生成数据项集时被使用的配置信息。
在一些实施方式中,微服务平台220(例如,服务层)可以生成标识与事件相关联的信息的数据类型的配置信息。在一些实施方式中,数据类型可以包括与事件相关联的信息的标识符。作为示例,数据类型可以包括“金融交易”、“新闻文章”、“泄露”、“合法诉讼”、“股票价格”等。
在一些实施方式中,微服务平台220(例如,服务层或持久适应层的数据路由器)可以生成标识与事件相关联的信息的持久类型的配置信息。在一些实施方式中,持久类型可以标识用于存储数据项集的数据存储库集230。作为示例,持久类型可以包括“全部”、“图形”、“关系”、“NoSQL”等。换言之,持久类型可以标识用于存储与事件相关联的信息的相关数据项的数据存储库230和/或数据存储库230的类型。在一些实施方式中,持久类型可以提供在物理存储设备(诸如数据存储库230)上存储数据(例如,内容)的方法,并且可以限定针对数据的实际数据结构和存储机制。
在一些实施方式中,微服务平台220(例如,服务层或持久适应层的数据路由器)可以利用机器学习模型处理与事件相关联的信息,以生成标识与事件相关联的信息的持久类型的配置信息。
在一些实施方式中,微服务平台220可以利用历史事件信息(例如,标识先前事件的历史信息)对机器学习模型执行训练操作。例如,微服务平台220可以将历史事件信息分为训练集、验证集、测试集等。在一些实施方式中,微服务平台220可以使用如无监督训练程序等并基于历史事件信息的训练集来训练机器学习模型。例如,微服务平台220可以执行降维以将历史事件信息减少至最小特征集,从而减少资源(例如,处理资源、存储器资源等)以训练机器学习模型,并且可以将分类技术应用于最小特征集。
在一些实施方式中,微服务平台220可以使用逻辑回归分类技术来确定分类结果(例如,与历史事件信息相关联的持久类型的标识)。附加地或备选地,微服务平台220可以使用朴素贝叶斯分类器技术。在这种情况下,微服务平台220可以执行二元递归分区以将历史事件信息划分为分区和/或分支,并使用该分区和/或分支来执行预测(例如,标识与历史事件信息相关联的持久类型)。基于使用递归分区,相对于数据点的手动、线性分类和分析,微服务平台220可以减少计算资源的利用,从而能够使用数千、数百万或数十亿的数据点来训练机器学习模型,这可以产生比使用更少数据点更准确的模型。
附加地或备选地,微服务平台220可以使用支持向量机(SVM)分类器技术生成训练集中数据点之间的非线性边界。在这种情况下,非线性边界被用来将测试数据划分为特定类。
附加地或备选地,微服务平台220可以使用监督训练程序来训练机器学习模型,该监督训练程序包括从主题专家接收对机器学习模型的输入,与无监督训练程序相比,这可以减少时间量、处理资源量等,以训练自动活动能力的机器学习模型。在一些实施方式中,微服务平台220可以使用一种或多种其它模型训练技术,诸如神经网络技术、潜在语义索引技术等。例如,微服务平台220可以执行人工神经网络处理技术(例如,使用双层前馈神经网络架构、三层前馈神经网络架构等),以执行关于历史事件信息最优区域的模式识别。在这种情况下,由于对杂乱的、不精确或不完整数据更具稳健性,并且通过使微服务平台220能够检测人类分析员或使用不这么复杂的技术的系统无法检测到的模式和/或趋势,使用人工神经网络处理技术可以提高由微服务平台220生成的经训练的机器学习模型的准确性。
在一些实施方式中,微服务平台220(例如,服务层)可以生成标识冗余型的配置信息。在一些实施方式中,冗余类型可以标识数据项集的多个副本是否将由数据存储库230存储。作为示例,冗余类型可以包括“至少一个”、“多个”等。换言之,冗余类型可以标识待向其提供特定数据项以供存储的数据存储库230的数量。
以这种方式,如下文所述,微服务平台220(例如,服务层)可以生成配置信息,以允许微服务平台220的其它层处理与事件相关联的信息。
在一些实施方式中,微服务平台220(例如,包括以硬件、固件、软件和/或其组合实现的功能模块集的持久适应层)可以接收与事件相关联的信息和配置信息。
在一些实施方式中,微服务平台220(例如,持久适应层)可以生成待与数据项集相关联的唯一标识符。例如,唯一标识符可以被用来与数据项集相关联。换言之,数据项集中的每个数据项可以与唯一标识符相关联。以这种方式,微服务应用中的不同微服务可以使用各自与唯一标识符相关联的不同数据项来执行任务。以这种方式,微服务平台220可以通过允许不同微服务标识引用相同底层事件的不同数据点来提高执行结果的准确性。
在一些实施方式中,微服务平台220(例如,持久适应层)可以使用与事件相关联的信息的参数集生成唯一标识符。例如,微服务平台220可以采用使用与参数集相关联的值的技术,诸如级联技术、散列技术等。
作为示例,假设与事件相关联的信息包括涉及第一实体和第二实体的金融交易。在这种情况下,微服务平台220可以采用使用第一实体的标识符、第二实体的标识符、金融交易的日期、金融交易的时间等的散列技术。附加地或备选地,微服务平台220可以随机生成唯一标识符,可以通过向另一标识符添加前缀生成唯一标识符,等等。
在一些实施方式中,微服务平台220(例如,持久适应层)可以标识待向其提供数据项的数据路由器集。在一些实施方式中,数据路由器可以包括可以向特定数据存储库230提供数据项的功能模块。例如,数据路由器可以包括能够与特定数据存储库230通信的特定驱动器(例如,被配置为向和/或从数据存储库230执行写入操作和/或读取操作)。
在一些实施方式中,微服务平台220(例如,持久适应层)可以基于配置信息标识数据路由器集。例如,微服务平台220可以基于持久类型标识数据路由器集,并将与事件相关联的信息提供给数据路由器集。
在一些实施方式中,微服务平台220(例如,微服务平台220的数据路由器)可以接收与事件相关联的信息,并生成待提供给各个数据存储库230的数据项。在一些实施方式中,微服务平台220可以使用与事件相关联的信息生成对应于相同底层事件的数据项集。
在一些实施方式中,微服务平台220可以生成包括特定数据格式的数据项。例如,微服务平台220可以使用配置信息(例如,持久类型)标识待接收用于存储的数据项的特定数据存储库230。附加地或备选地,微服务平台220可以生成数据项以允许数据项由特定数据存储库230存储。例如,微服务平台220可以生成包括允许数据项由不同类型的数据存储库230存储的特定数据格式的数据项,不同类型的数据存储库230诸如,导航数据库、图形数据库、分层数据库、关系数据库、实体关系模型数据库、对象模型数据库、文档模型数据库、实体属性值模型数据库等。
在一些实施方式中,微服务平台220(例如,数据路由器)可以接收与事件相关联的信息。附加地或备选地,微服务平台220可以在生成数据项时修改与事件相关联的信息。例如,微服务平台220可以移除与事件相关联的特定信息。作为特定示例,假设与事件相关联的信息包括金融交易,并且与金融交易相关联的数据项将被存储在图形数据库中。在这种情况下,数据路由器可以移除与金融交易的日期、时间和货币价值相关联的信息,因为图形数据库将存储与金融交易相关联的实体之间关系的相关信息,而不是关于金融交易的日期和/或货币价值的信息。
在一些实施方式中,微服务平台220可以使用驱动器集向各个数据存储库230提供数据项,以允许数据项被存储以备稍后使用。
在一些实施方式中,微服务平台220(例如,包括以硬件、固件、软件和/或其组合实现的功能模块集的持久层)可以接收数据项,并将数据项集写入各个数据存储库230。
以这种方式,数据存储库230可以存储数据项集。附加地,以这种方式,如本文其它地方所述,微服务平台220可以允许微服务使用数据项集来执行任务。
如图4中进一步所示,进程400可以包括确定将由微服务集执行的任务集,以基于向数据存储库集提供数据项集,处理与事件相关联的信息(块450)。例如,微服务平台220可以确定将由微服务集执行的任务集,以基于向数据存储库集提供数据项集,处理与该事件相关联的信息。
在一些实施方式中,微服务平台220可以基于微服务应用确定将由微服务集执行的任务集。例如,微服务平台220可以标识与微服务应用相关联的微服务集,并且可以标识将由微服务集执行的任务集。换言之,微服务平台220可以标识待执行任务集以执行微服务应用的功能。
在一些实施方式中,微服务平台220可以标识正在执行微服务集的计算资源集224。例如,微服务平台220可以标识正在执行微服务集的可用计算资源224。以这种方式,如下文所述,微服务平台220可以确定与微服务集相关联的计算资源集224的相关度量集。
如图4中进一步所示,进程400可以包括确定与微服务集相关联的计算资源集的相关度量集(块460)。例如,微服务平台220可以确定与微服务集相关联的计算资源集224的相关度量集。
在一些实施方式中,微服务平台220可以从计算资源224接收与计算资源224的度量相关联的信息。在一些实施方式中,度量可以与资源利用率值相关联,诸如处理器利用率值、存储器利用率值等。附加地或备选地,度量可以与网络度量值相关联,如带宽值、延迟时间值、吞吐量值、抖动值、延迟值等。附加地或备选地,度量可以与任务状态相关联,诸如等待执行的任务数量、当前正被执行的任务数量等。
在一些实施方式中,微服务平台220可以实时接收与度量集相关联的信息。例如,微服务平台220可以与计算资源224确定度量集和/或提供度量集基本同时地接收信息。附加地或备选地,微服务平台220可以基于模型确定度量集。例如,微服务平台220可以使用历史数据训练模型集,并使用模型确定度量集。
以这种方式,如下文所述,微服务平台220可以使用度量集标识待执行任务集的计算资源集的子集。
如图4中进一步所示,进程400可以包括基于度量集向计算资源集的子集提供数据集,以允许微服务集执行任务集(块470)。例如,微服务平台220可以基于度量集向计算资源集224的子集提供数据项集,以允许微服务集执行任务集。
在一些实施方式中,微服务平台220可以基于度量集选择特定计算资源224以执行任务。以这种方式,微服务平台220可以跨不同计算资源224平衡加载和/或有效地分配任务。在一些实施方式中,微服务平台220可以利用机器学习模型处理度量集,以标识待执行任务的特定计算资源224。在此类实施方式中,微服务平台220可以利用历史度量信息(例如,指示计算资源224过去如何执行不同任务、任务加载等的信息)结合如上文所述生成标识与事件相关联的持久类型信息,来训练机器学习模型。在这种情况下,微服务平台220可以自动选择特定计算资源224,以便任务被平衡地加载并且有效分布在所选择的计算资源224上。
在一些实施方式中,微服务平台220可以标识与包括满足阈值的值的度量相关联的计算资源224。例如,微服务平台220可以标识与满足(例如,大于)吞吐量阈值的吞吐量值相关联的计算资源224,并选择计算资源224以执行任务(例如,因为与另一计算资源224相比,该计算资源224可以更快地执行任务)。
作为另一示例,微服务平台220可以标识与满足(例如,小于)处理器利用率阈值的处理器利用率值相关联的计算资源224,并选择计算资源224以执行任务(例如,因为与其它计算资源224相比,该计算资源224可以包括更多可用资源)。
以这种方式,微服务平台220可以基于与计算资源224相关联的度量,标识用于执行任务集的计算资源224。以这种方式,与微服务平台220不考虑度量集标识计算资源224的情况相比,本文所描述的一些实施方式允许更有效的资源利用率,提高的吞吐量,减少的延迟时间等。
在一些实施方式中,微服务平台220可以标识待输入至微服务应用的数据项集。例如,微服务平台220可以基于唯一标识符标识数据项集。也就是说,微服务平台220可以标识包括相同唯一标识符的数据项,并将数据项提供给微服务应用中的相应微服务。以这种方式,如下文所述,微服务平台220可以接收与执行结果相关联的信息。
如图4中进一步所示,进程400可以包括在将数据项集提供给计算资源集的子集之后,接收与执行结果相关联的信息(块480)。例如,微服务平台220可以在将数据项集提供给计算资源集224的子集之后,接收与任务集相关联的执行结果的相关联的信息。
在一些实施方式中,微服务应用可以包括通信以实现微服务应用的功能的微服务。例如,微服务可以基于执行任务集中的相应任务生成执行结果。作为示例,AML应用可以生成执行结果,该执行结果包括关于实体是否参与洗钱操作的确定。
在一些实施方式中,微服务应用220可以基于向微服务集提供数据项集,接收与执行结果相关联的信息。例如,微服务集可以执行相应的任务和/或生成相应的执行结果。附加地或备选地,微服务应用可以基于微服务集的相应执行结果来生成执行结果。
以这种方式,如下文所述,微服务平台220可以接收与执行结果相关联的信息,以使微服务平台220可以基于执行结果执行动作。
如图4中进一步所示,进程400可以包括基于与执行结果相关联的信息执行动作(块490)。例如,微服务平台220可以基于与执行结果相关联的信息执行动作。
在一些实施方式中,微服务平台220可以执行包括发送通知的动作。例如,微服务平台220可以向用户设备210提供通知。在这种情况下,用户设备210可以经由用户界面提供用于显示的通知,以允许用户标识执行结果。
虽然图4示出进程400的示例块,但是在一些实施方式中,与图4中所描绘的那些块相比,进程400可以包括附加块、更少的块、不同的块,或者不同布置的块。附加地或备选地,进程400的两个及以上块可以被并行执行。
图5是用于分配数据集以用于报告的示例进程500的流程图。在一些实施方式中,图5中的一个或多个进程块可以由微服务平台220执行。在一些实施方式中,图5中的一个或多个进程块可以由独立于或包括微服务平台220的另一设备或设备组执行,诸如用户设备210、数据存储库230和/或外部服务器240。
如图5所示,进程500可以包括接收第一数据集(块510)。例如,微服务平台220可以接收第一数据集。在一些实施方式中,第一数据集可以对应于与事件相关联的信息,如上面结合块410所描述的。
在一些实施方式中,微服务平台220可以基于所接收到的第一数据集,确定要对第一数据集执行的一个或多个动作。例如,微服务平台220可以基于数据项集确定一个或多个动作,如上面结合块420所描述的。
如图5中进一步所示,进程500可以包括将第一数据集发送至第一数据存储库以用于存储(块520)。例如,微服务平台220可以将第一数据集发送至第一数据存储库230以用于存储。在一些实施方式中,第一数据存储库可以是第一数据格式类型。附加地或备选地,第一数据存储库可以是报告数据库。
如图5中进一步所示,进程500可以包括将第一数据集发送至多个节点中的节点,该节点被配置为从第二数据存储库接收第二数据集,对第一数据集和第二数据集执行动作以生成第三数据集,并将第三数据集发送至第三数据存储库(块530)。例如,微服务平台220可以将第一数据集发送至可以执行微服务的节点。
在一些实施方式中,多个节点中的每个节点被配置为从第二数据存储库230接收第二数据集。附加地或备选地,第二数据存储库230存储不同于第一数据存储库230的第一数据格式类型的第二数据格式类型的数据。在一些实施方式中,第二数据存储库是图形数据库。
在一些实施方式中,节点可以对第一数据集和第二数据集执行动作以生成第三数据集。附加地或备选地,节点可以将第三数据集发送至第三数据存储库230。附加地或备选地,第三数据存储库230可以存储与第一数据格式类型和第二数据格式类型不同的第三数据格式类型的数据。在一些实施方式中,第三数据存储库是分布式数据库。
在一些实施方式中,微服务平台220可以确定待向其发送第一数据集的节点。附加地或备选地,微服务平台220可以基于第一数据集确定待向其发送第一数据集的节点。附加地或备选地,微服务平台220可以基于要对第一数据集执行的动作来确定节点。在一些实施方式中,微服务平台220可以以类似于上文中结合图4所述的方式来确定该节点和/或多个节点。
在一些实施方式中,微服务平台220可以在将第一数据集发送至多个节点中的节点之前,将第一数据集从第一数据格式类型重新格式化为第二数据格式类型。例如,微服务平台220可以执行类似于上文中结合图4所述的操作。
如图5中进一步所示,进程500可以包括将第三数据集从第三数据存储库发送至第一数据存储库以用于报告(块540)。例如,微服务平台220可以将第三数据集从第三数据存储库230发送至第一数据存储库230以用于报告。
在一些实施方式中,微服务平台220可在将第三数据集发送至第一数据存储库之前,将第三数据集从第三数据格式类型重新格式化为第一数据格式类型。
虽然图5示出进程500的示例块,但在一些实施方式中,与图5中所描绘的那些块相比,进程500可以包括附加块、更少的块、不同块,或者不同布置的块。附加地或备选地,进程500的两个及以上块可以被并行执行。
本文所描述的一些实施方式提供一种微服务平台,其可以接收与将由微服务集处理的事件相关联的信息。附加地,本文所描述的一些实施方式允许微服务平台将与相同底层事件相关联的数据项集与唯一标识符相关联,并且允许微服务平台将数据项集存储在数据存储库集中。以这种方式,微服务平台可以用唯一标识符标识数据项集与相同的底层事件相关联,从而维持微服务应用的准确性。
本文所描述的一些实施方式允许微服务平台标识将由微服务集执行的任务集。附加地,本文所描述的一些实施方式允许微服务平台确定与正在执行微服务集的计算资源集相关联的度量集(例如,处理器利用率值、存储器利用率值、网络度量值等)。以这种方式,微服务平台可以基于计算资源的相应度量分配执行任务。
因此,本文所描述的一些实施方式允许微服务平台平衡加载和/或有效分配执行任务。以这种方式,本文所描述的一些实施方式可以有效利用计算资源的处理器和/或存储器资源,提高吞吐量,增加带宽,减少延迟时间等。
上述公开提供说明和描述,但并非旨在穷举或将实施方式限定为所公开的精确形式。鉴于以上公开内容,修改和变型是可能的,或者可以从实施方式的实践中获得。
如本文中所使用的,术语“部件”旨在广义地被解释为硬件、固件和/或硬件和软件的组合。
一些实施方式在本文结合阈值进行了描述。如本文中所使用的,满足阈值可以指值大于阈值、多于阈值、高于阈值、大于或等于阈值、小于阈值、少于阈值、低于阈值、小于或等于阈值、等于阈值等。
显然,本文所描述的系统和/或方法可以以不同形式的硬件、固件或硬件和软件的组合实现。用于实现这些系统和/或方法的实际专用控制硬件或软件代码不限于这些实施方式。因此,系统和/或方法的操作和行为在本文中在没有引用特定软件代码的情况下进行了描述——但是应该理解,软件和硬件可以被设计为基于本文的描述来实现系统和/或方法。
即使特定的特征组合在权利要求中被陈述和/或在说明书中被公开,但是这些组合并非旨在限制可能的实施方式的公开。实际上,许多这些特征可以以未在权利要求中被具体陈述且/或未在说明书中被公开的方式进行组合。虽然下面所列出的每个从属权利要求可以直接仅依赖于一个权利要求,但是可能的实施方式的公开包括每个从属权利要求与权利要求集中每个其它权利要求的组合。
除非另有明确说明,否则本文中所使用的元件、动作或指令不应被理解为关键或必要的。此外,如本文中所使用的,冠词“一个(a)”和“一个(an)”旨在包括一个或多个项,并且可以与“一个或多个(one or more)”互换使用。此外,如本文中所使用的,术语“集(set)”旨在包括一个或多个项(例如,相关项、不相关项、相关和不相关项的组合等),并且可以与“一个或多个(one or more)”互换使用。在仅有一个项的情况下,术语“一个(one)”或类似的语言被使用。此外,如本文中所使用的,术语“具有(has)”、“具有(have)”、“具有(having)”等旨在为开放式术语。此外,除非另有明确说明,否则短语“基于(based on)”旨在表示“至少部分地基于(based,at least in part,on)”。
在实施方式1中,一种系统可以包括:一个或多个设备可以用于:接收第一数据集;将第一数据集发送至第一数据存储库以用于存储,第一数据存储库可以是第一数据格式类型;将第一数据集发送至多个节点中的节点,多个节点中的每个节点可以被配置为从第二数据存储库接收第二数据集,第二数据存储库可以是不同于第一数据格式类型的第二数据格式类型,节点可以用于对第一数据集和第二数据集执行动作以生成第三数据集,节点可以用于将第三数据集发送至第三数据存储库,以及第三数据存储库可以是不同于第一数据格式类型和第二数据格式类型的第三数据格式类型;以及将第三数据集从第三数据存储库发送至第一数据存储库以用于报告。
在实施方式2中,根据实施方式1的系统,其中一个或多个设备进一步可以用于:基于所接收到的第一数据集,确定要对第一数据集执行的一个或多个动作。
在实施方式3中,根据实施方式1的系统,其中第一数据存储库可以包括报告数据库。
在实施方式4中,根据实施方式1的系统,其中一个或多个设备进一步可以用于:确定向其发送第一数据集的节点;以及其中,当向节点发送第一数据集时,一个或多个设备可以用于:在确定节点的基础上,向节点发送第一数据集。
在实施方式5中,根据实施方式1的系统,其中一个或多个设备进一步可以用于:基于第一数据集,确定向其发送第一数据集的节点;以及其中,当向节点发送第一数据集时,一个或多个设备可以用于:在基于第一数据集确定节点的基础上,向节点发送第一数据集。
在实施方式6中,根据实施方式1的系统,其中一个或多个设备进一步可以用于:基于要对第一数据集执行的动作,确定向其发送第一数据集的节点;以及其中,当向节点发送第一数据集时,一个或多个设备可以用于:在基于要对第一数据集执行的动作确定节点的基础上,向节点发送第一数据集。
在实施方式7中,根据实施方式1的系统,其中,第二数据存储库可以包括图形数据库。
在实施方式8中,根据实施方式1的系统,其中第三数据存储库可以包括分布式数据库或线性数据库。
在实施方式9中,根据实施方式1的系统,其中,一个或多个设备可以用于:在将第一数据集发送至多个节点中的一个节点之前,将第一数据集从第一数据格式类型重新格式化为第二数据格式类型。
在实施方式10中,根据实施方式1的系统,其中,一个或多个设备可以用于:在将第三数据集发送至第一数据存储库之前,将第三数据集从第三数据格式类型重新格式化为第一数据格式类型。
在实施方式11中,一种方法可以包括:通过设备接收第一数据集;通过设备将第一数据集发送至第一数据存储库以用于存储,第一数据存储库可以是第一数据格式类型;通过设备将第一数据集发送至多个节点中的节点,多个节点中的每个节点可以被配置为从第二数据存储库接收第二数据集,第二数据存储库可以是不同于第一数据格式类型的第二数据格式类型,节点可以用于对第一数据集和第二数据集执行动作以生成第三数据集,节点可以用于将第三数据集发送至第三数据存储库,以及第三数据存储库可以是不同于第一数据格式类型和第二数据格式类型的第三数据格式类型;以及通过设备将第三数据集从第三数据存储库发送至第一数据存储库以用于报告。
在实施方式12中,根据实施方式11的方法,进一步可以包括:基于所接收到的第一数据集,确定要对第一数据集执行的一个或多个动作。
在实施方式13中,根据实施方式11的方法,其中第一数据存储库可以包括报告数据库。
在实施方式14中,根据实施方式11的方法,进一步可以包括:基于第一数据集,确定向其发送第一数据集的节点;以及其中,向节点发送第一数据集可以包括:在确定向其发送第一数据集的节点的基础上,向节点发送第一数据集。
在实施方式15中,根据实施方式11的方法,进一步可以包括:基于要对第一数据集执行的动作,确定向其发送第一数据集的节点;以及其中,向节点发送第一数据集可以包括:在确定节点的基础上,向节点发送第一数据集。
在实施方式16中,根据实施方式11的方法,进一步可以包括:在将第一数据集发送至多个节点中的一个节点之前,将第一数据集从第一数据格式类型重新格式化为第二数据格式类型。
在实施方式17中,一种储存指令的非瞬时计算机可读介质,指令可以包括:一个或多个指令,当由设备的一个或多个处理器执行时,使一个或多个处理器:接收第一数据集;将第一数据集发送至第一数据存储库以用于存储,第一数据存储库可以是第一数据格式类型;将第一数据集发送至多个节点中的节点,多个节点中的每个节点可以被配置为从第二数据存储库接收第二数据集,第二数据存储库可以是不同于第一数据格式类型的第二数据格式类型,节点可以用于对第一数据集和第二数据集执行动作以生成第三数据集,节点可以用于将第三数据集发送至第三数据存储库,以及第三数据存储库可以是不同于第一数据格式类型和第二数据格式类型的第三数据格式类型;以及将第三数据集从第三数据存储库发送至第一数据存储库以用于报告。
在实施方式18中,根据实施方式17的非瞬时计算机可读介质,其中,当由一个或多个处理器执行时,一个或多个指令进一步可以使一个或多个处理器:基于所接收到的第一数据集,确定要对第一数据集执行的一个或多个动作。
在实施方式19中,根据实施方式17的非瞬时计算机可读介质,其中,第二数据存储库可以包括图形数据库。
在实施方式20中,根据实施方式17的非瞬时计算机可读介质,其中,第三数据存储库可以包括分布式数据库。
Claims (20)
1.一种系统,包括:
用于接收第一数据集的装置;
用于将所述第一数据集发送至第一数据存储库以用于存储的装置,
所述第一数据存储库是第一数据格式类型;
用于在将所述第一数据集发送至所述第一数据存储库之后确定要由微服务集执行的任务集的装置;
用于确定与针对所述微服务集的计算资源集相关联的度量集的装置;
用于基于所述度量集标识以下至少一项的装置:满足吞吐量值阈值的吞吐量值或者满足处理器利用率值阈值的处理器利用率值;
用于选择多个节点中与以下至少一项相关联的节点的装置:满足所述吞吐量值阈值的所述吞吐量值或者满足所述处理器利用率值阈值的所述处理器利用率值;
用于基于选择所述节点来将所述第一数据集发送至所述节点以允许所述微服务集中的微服务执行所述任务集中的任务的装置,
所述多个节点中的每个节点被配置为从第二数据存储库接收第二数据集,
所述第二数据存储库是不同于所述第一数据格式类型的第二数据格式类型,
所述节点用于对所述第一数据集和所述第二数据集执行所述微服务以生成第三数据集,
所述节点用于将所述第三数据集发送至第三数据存储库,以及
所述第三数据存储库是不同于所述第一数据格式类型和所述第二数据格式类型的第三数据格式类型;以及
用于将所述第三数据集从所述第三数据存储库发送至所述第一数据存储库以用于报告的装置。
2.根据权利要求1所述的系统,进一步包括:
用于基于所接收到的所述第一数据集,确定要对所述第一数据集执行的一个或多个动作的装置。
3.根据权利要求1所述的系统,其中所述第一数据存储库包括报告数据库。
4.根据权利要求1所述的系统,进一步包括:
用于确定向其发送所述第一数据集的所述节点的装置;以及
其中,用于向所述节点发送所述第一数据集的所述装置包括:
用于在确定所述节点的基础上向所述节点发送所述第一数据集的装置。
5.根据权利要求1所述的系统,进一步包括:
用于基于所述第一数据集,确定向其发送所述第一数据集的所述节点;以及
其中,用于向所述节点发送所述第一数据集的所述装置包括:
用于在基于所述第一数据集确定所述节点的基础上,向所述节点发送所述第一数据集的装置。
6.根据权利要求1所述的系统,进一步包括:
用于基于要对所述第一数据集执行的动作,确定向其发送所述第一数据集的所述节点的装置;以及
其中,用于向所述节点发送所述第一数据集的所述装置,包括:
用于在基于要对所述第一数据集执行的动作确定所述节点的基础上,向所述节点发送所述第一数据集的装置。
7.根据权利要求1所述的系统,其中,所述第二数据存储库包括图形数据库。
8.根据权利要求1所述的系统,其中,所述第三数据存储库包括分布式数据库或线性数据库。
9.根据权利要求1所述的系统,进一步包括:
用于在将所述第一数据集发送至所述多个节点中的所述节点之前,将所述第一数据集从所述第一数据格式类型重新格式化为所述第二数据格式类型的装置。
10.根据权利要求1所述的系统,进一步包括:
用于在将所述第三数据集发送至所述第一数据存储库之前,将所述第三数据集从所述第三数据格式类型重新格式化为所述第一数据格式类型的装置。
11.一种方法,包括:
由设备接收第一数据集;
由所述设备将所述第一数据集发送至第一数据存储库以用于存储,
所述第一数据存储库是第一数据格式类型;
由所述设备在将所述第一数据集发送至所述第一数据存储库之后,确定要由微服务集执行的任务集;
由所述设备确定与针对所述微服务集的计算资源集相关联的度量集;
由所述设备基于所述度量集标识以下至少一项:满足吞吐量值阈值的吞吐量值或者满足处理器利用率值阈值的处理器利用率值;
由所述设备选择多个节点中与以下至少一项相关联的节点:满足所述吞吐量值阈值的所述吞吐量值或者满足所述处理器利用率值阈值的所述处理器利用率值;
由所述设备基于选择所述节点来将所述第一数据集发送至所述节点,以允许所述微服务集中的微服务执行所述任务集中的任务,
所述多个节点中的每个节点被配置为从第二数据存储库接收第二数据集,
所述第二数据存储库是不同于所述第一数据格式类型的第二数据格式类型,
所述节点用于对所述第一数据集和所述第二数据集执行所述微服务以生成第三数据集,
所述节点用于将所述第三数据集发送至第三数据存储库,并且
所述第三数据存储库是不同于所述第一数据格式类型和所述第二数据格式类型的第三数据格式类型;以及
由所述设备将所述第三数据集从所述第三数据存储库发送至所述第一数据存储库以用于报告。
12.根据权利要求11所述的方法,进一步包括:
基于所接收到的所述第一数据集,确定要对所述第一数据集执行的一个或多个动作。
13.根据权利要求11所述的方法,其中,所述第一数据存储库包括报告数据库。
14.根据权利要求11所述的方法,进一步包括:
基于所述第一数据集,确定向其发送所述第一数据集的所述节点;以及
其中,向所述节点发送所述第一数据集包括:
在确定向其发送所述第一数据集的所述节点的基础上,向所述节点发送所述第一数据集。
15.根据权利要求11所述的方法,进一步包括:
基于要对所述第一数据集执行的动作,确定向其发送所述第一数据集的所述节点;并且
其中,向所述节点发送所述第一数据集包括:
在确定所述节点的基础上,向所述节点发送所述第一数据集。
16.根据权利要求11所述的方法,进一步包括:
在将所述第一数据集发送至所述多个节点中的所述节点之前,将所述第一数据集从所述第一数据格式类型重新格式化为所述第二数据格式类型。
17.一种存储指令的非瞬时计算机可读介质,所述指令包括:
一个或多个指令,当由设备的一个或多个处理器执行时,使所述一个或多个处理器:
接收第一数据集;
将所述第一数据集发送至第一数据存储库以用于存储,
所述第一数据存储库是第一数据格式类型;
在将所述第一数据集发送至所述第一数据存储库之后,确定要由微服务集执行的任务集;
确定与所述微服务集相关联的度量集;
基于所述度量集标识以下至少一项:满足吞吐量值阈值的吞吐量值或者满足处理器利用率值阈值的处理器利用率值;
选择多个节点中与以下至少一项相关联的节点:满足所述吞吐量值阈值的所述吞吐量值或者满足所述处理器利用率值阈值的所述处理器利用率值;
基于选择所述节点来将所述第一数据集发送至所述节点,以允许所述微服务集中的微服务执行所述任务集中的任务,
所述多个节点中的每个节点被配置为从第二数据存储库接收第二数据集,
所述第二数据存储库是不同于所述第一数据格式类型的第二数据格式类型,
所述节点用于对所述第一数据集和所述第二数据集执行所述微服务以生成第三数据集,
所述节点用于将所述第三数据集发送至第三数据存储库,以及
所述第三数据存储库是不同于所述第一数据格式类型和所述第二数据格式类型的第三数据格式类型;以及
将所述第三数据集从所述第三数据存储库发送至所述第一数据存储库以用于报告。
18.根据权利要求17所述的非瞬时计算机可读介质,其中,当由所述一个或多个处理器执行时,所述一个或多个指令进一步使所述一个或多个处理器:
基于所接收到的所述第一数据集,确定要对所述第一数据集执行的一个或多个动作。
19.根据权利要求17所述的非瞬时计算机可读介质,其中,所述第二数据存储库包括图形数据库。
20.根据权利要求17所述的非瞬时计算机可读介质,其中,所述第三数据存储库包括分布式数据库。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/786,060 | 2017-10-17 | ||
US15/786,060 US10664317B2 (en) | 2017-10-17 | 2017-10-17 | Distribution of tasks for execution using correlated data in microservices environments |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109669985A CN109669985A (zh) | 2019-04-23 |
CN109669985B true CN109669985B (zh) | 2023-11-07 |
Family
ID=66095894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811210637.8A Active CN109669985B (zh) | 2017-10-17 | 2018-10-17 | 在微服务环境中使用相关数据分配执行任务 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10664317B2 (zh) |
CN (1) | CN109669985B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11012452B1 (en) * | 2018-01-09 | 2021-05-18 | NortonLifeLock, Inc. | Systems and methods for establishing restricted interfaces for database applications |
CN110413935B (zh) * | 2019-08-06 | 2022-03-11 | 中国工商银行股份有限公司 | 一种数据信息处理方法、装置及系统 |
US11134083B2 (en) * | 2020-01-14 | 2021-09-28 | Sap Se | User authorization and authentication accessing microservices across spaces |
CN111338646B (zh) * | 2020-05-20 | 2020-09-08 | 腾讯科技(深圳)有限公司 | 一种微服务架构的管理方法以及相关装置 |
CN113094235B (zh) * | 2021-04-14 | 2023-03-10 | 天津大学 | 一种尾延迟异常云审计系统及方法 |
CN113703945B (zh) * | 2021-08-31 | 2024-02-20 | 深圳市兴海物联科技有限公司 | 微服务集群的调度方法、装置、设备及存储介质 |
US11768674B2 (en) * | 2021-10-01 | 2023-09-26 | International Business Machines Corporation | Application development mechanism based on a reference architecture |
US20230275969A1 (en) * | 2022-02-28 | 2023-08-31 | T-Mobile Innovations Llc | Owner controlled and incentivised smartphone platform based on microservices |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678442A (zh) * | 2012-08-30 | 2014-03-26 | 国际商业机器公司 | 基于用户数据访问模式的数据库表格式转换的方法和系统 |
CN104160381A (zh) * | 2012-03-08 | 2014-11-19 | 国际商业机器公司 | 多租户环境中租户特定数据集的管理 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7761586B2 (en) * | 2006-02-06 | 2010-07-20 | Microsoft Corporation | Accessing and manipulating data in a data flow graph |
US20140136381A1 (en) * | 2012-11-15 | 2014-05-15 | Brooktrail Technologies Llc | Financial Management Platform |
US9749428B2 (en) * | 2014-10-21 | 2017-08-29 | Twilio, Inc. | System and method for providing a network discovery service platform |
CA3128629A1 (en) | 2015-06-05 | 2016-07-28 | C3.Ai, Inc. | Systems and methods for data processing and enterprise ai applications |
US20170061345A1 (en) * | 2015-08-27 | 2017-03-02 | ClearForce LLC | Systems and methods for electronically monitoring employees to determine potential risk |
US10805198B2 (en) * | 2016-01-04 | 2020-10-13 | RiskIQ, Inc. | Techniques for infrastructure analysis of internet-based activity |
US10148740B2 (en) * | 2016-06-03 | 2018-12-04 | Microsoft Technology Licensing, Llc | Multi-service application fabric architecture |
US10440128B2 (en) * | 2016-09-20 | 2019-10-08 | Ciena Corporation | Systems and methods for selecting efficient messaging between services |
US20180246944A1 (en) | 2017-02-28 | 2018-08-30 | General Electric Company | System and method for the ingestion of industrial internet data |
US10491520B2 (en) * | 2017-04-06 | 2019-11-26 | Ca, Inc. | Container-based software appliance |
US10548185B2 (en) * | 2017-06-23 | 2020-01-28 | At&T Mobility Ii Llc | Facilitating integrated management of connected assets that utilize different technologies and that are located across disparate wireless communications networks |
-
2017
- 2017-10-17 US US15/786,060 patent/US10664317B2/en active Active
-
2018
- 2018-10-17 CN CN201811210637.8A patent/CN109669985B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104160381A (zh) * | 2012-03-08 | 2014-11-19 | 国际商业机器公司 | 多租户环境中租户特定数据集的管理 |
CN103678442A (zh) * | 2012-08-30 | 2014-03-26 | 国际商业机器公司 | 基于用户数据访问模式的数据库表格式转换的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109669985A (zh) | 2019-04-23 |
US20190114210A1 (en) | 2019-04-18 |
US10664317B2 (en) | 2020-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109669985B (zh) | 在微服务环境中使用相关数据分配执行任务 | |
US11392843B2 (en) | Utilizing a machine learning model to predict a quantity of cloud resources to allocate to a customer | |
US11175953B2 (en) | Determining an allocation of computing resources for a job | |
AU2019202728B2 (en) | Automated ticket resolution | |
US11836578B2 (en) | Utilizing machine learning models to process resource usage data and to determine anomalous usage of resources | |
US10719366B1 (en) | Dynamic and selective hardware acceleration | |
US11677877B2 (en) | Utilizing machine learning with call histories to determine support queue positions for support calls | |
US10824752B2 (en) | Utilizing heuristic and machine learning models to generate a mandatory access control policy for an application | |
US9141677B2 (en) | Apparatus and method for arranging query | |
US20180373579A1 (en) | Processing data to improve a quality of the data | |
US20220318647A1 (en) | Single framework for both streaming and on-demand inference | |
US20240112229A1 (en) | Facilitating responding to multiple product or service reviews associated with multiple sources | |
US11687848B2 (en) | Identifying correlated roles using a system driven by a neural network | |
US11815994B2 (en) | Techniques to provide self-healing data pipelines in a cloud computing environment | |
US10990762B2 (en) | Chat analysis using machine learning | |
EP3637260A1 (en) | Distribution of tasks for execution using correlated data in microservices environments | |
US20200372306A1 (en) | Utilizing a machine learning model to automatically correct rejected data | |
US11651005B2 (en) | Intelligent datastore determination for microservice | |
US20240135229A1 (en) | Movement of operations between cloud and edge platforms | |
US20240143436A1 (en) | Techniques to provide self-healing data pipelines in a cloud computing environment | |
EP3719719A1 (en) | Utilizing a machine learning model to predict a quantity of cloud resources to allocate to a customer | |
US11087230B2 (en) | Determining an optimal region in a target value optimization problem and utilizing the optimal region to perform an action | |
US10372691B1 (en) | Processing platform with metric mapping for interoperability of multiple distinct models | |
Sahoo et al. | Dynamic control and resource management for mission critical multi-tier applications in cloud data center |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |