CN108665157B - 一种实现云工作流系统流程实例均衡调度的方法 - Google Patents
一种实现云工作流系统流程实例均衡调度的方法 Download PDFInfo
- Publication number
- CN108665157B CN108665157B CN201810410985.3A CN201810410985A CN108665157B CN 108665157 B CN108665157 B CN 108665157B CN 201810410985 A CN201810410985 A CN 201810410985A CN 108665157 B CN108665157 B CN 108665157B
- Authority
- CN
- China
- Prior art keywords
- vector
- workflow engine
- workflow
- process instance
- instance
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06312—Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/101—Collaborative creation, e.g. joint development of products or services
-
- 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
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Data Mining & Analysis (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种实现云工作流系统流程实例负载均衡的方法,包括:(1)使用日志分析的方法估计当前到达的流程实例在运行时期内每个监控周期内的计算资源需求;(2)使用带有缓冲队列的首次适应降序策略为当前启动的流程实例选取调度域内合适的工作流引擎。本发明所述方法能够解决传统流程实例负载均衡算法需要迁移流程实例,影响用户体验的问题。
Description
技术领域
本发明涉及工作流和分布式系统领域,具体涉及一种实现云工作流系统流程实例均衡调度的方法。
背景技术
云工作流系统是以软件即服务的云计算模式提供工作流管理服务的分布式系统。相比起企业自行部署工作流管理系统的方式,用户只需要完成必要的注册,购买就可以得到与工作流管理系统功能相同的云工作流服务。这种使用方式能有效减少企业使用工作流管理软件的启动时间与运维成本。
为了支持多个租户的业务流程执行,云工作流需要使用多个工作流引擎处理计算负载。另一方面,为了降低提供服务的成本,云工作流使用的工作流引擎通常满足多租户性质。每个工作流引擎都能处理不同租户的负载,云工作流使用负载均衡器将计算负载调度到不同的工作流引擎。
文献Pathirage M,Perera S,Kumara l,etal.A multi-tenant architecturefor business process executions[C]//Web services(icws),2011 ieeeinternational conference on.IEEE,2011:121-128.和Schunselaar DMM,Verbeek HM W,Reijers H A,et al.YAWL in the cloud:supporting process sharing andvariability[C]//International Conference on Business ProcessManagement.Springer,Cham,2014:367-379.提出了元数据驱动的多租户云工作流架构。其特点在于每一个流程实例执行过程中产生的请求都只能由同一个工作流引擎处理,云工作流系统使用负载均衡器将租户的流程实例调度到不同的工作流引擎。云工作流系统将计算负载以流程实例为单位分发到不同的工作流引擎,实现负载均衡。负载均衡算法将决定每个工作流引擎需要处理的计算负载,影响工作流引擎的服务质量和需要投入的工作流引擎数量。因此,以流程实例为单位的云工作流负载均衡方法是提高云工作流系统资源能效比,保证服务质量的关键技术。
目前,针对元数据驱动的多租户云工作流提出的流程实例负载均衡方法一般是根据工作流引擎当前的资源使用情况,如CPU利用率、内存利用率、网卡输出流量等,基于给定的阈值,将流程实例调度到空闲资源多于阈值的工作流引擎。由于流程实例将在执行周期内持续消耗计算资源,当工作流引擎的空闲资源小于给定阈值时,云工作流需要将已经部署的流程实例迁移至空闲资源较多的工作流引擎。流程实例迁移过程中,用户无法执行对应的任务,直接影响用户体验。因此,我们基于业务流程的执行日志,分析流程实例执行过程中需要消耗的计算资源,提出综合考虑流程实例执行过程中在不同时间段内消耗资源的差异,将流程实例调度到在每个时间段内都能满足流程实例资源要求的工作流引擎,避免流程实例迁移的流程实例负载均衡方法。
发明内容
本发明的目的是提供一种实现云工作流系统流程实例均衡调度的方法,能够解决目前提出的流程实例负载均衡方法仅考虑当前时刻工作流引擎空闲资源而导致流程实例迁移,影响用户体验的问题。
本发明涉及的方法包括工作流引擎空闲资源监控和流程实例调度两个部分。首先介绍工作流引擎空闲资源监控部分。在介绍具体方法前,为了方便描述,本需要先定义发明中涉及的向量比较与相减操作。给定两个向量A=[a1,a2,...,aM]和向量B=[b1,b2,...,bN],本发明认为向量A大于向量B当且仅当ai≥bi。若向量A减去向量B,则A将被更新为[a1-b1,b2-b2,...,amin(m,n)-bmin(m,n)]。
本发明提出的方法维护一个向量列表E=[e1,e2,...,eN],其中ei是调度域内编号为i的工作流引擎的空闲资源向量,ei=[ei,1,ei,2,...,ei,K]。ei,j表示工作流引擎ei在从当前时刻开始的第j个监控周期内能够处理的请求。其中,N为集群中工作流引擎的数量,K为监控周期的数量监控周期的时间长度和监控周期的数量可以通过配置参数设置。工作流引擎空闲资源监控包括以下步骤:
1通过压力测试程序预先测得集群中每个工作流引擎的请求处理饱和值C,将每个引擎的空闲资源向量的元素值都初始化为C。
2每个监控周期结束时,将每个引擎的空闲资源向量的第一个元素删除,并将C插入到每个工作流引擎的空闲资源向量的末尾。
当用户启动流程实例时,云工作流需要将流程实例调度到集群中的工作流引擎。流程实例调度部分包含以下步骤:
1.查询和当前启动流程实例具有相同流程定义和启动用户的历史流程实例;
2.将查询结果中的流程实例按照与当前时刻的相近度大小排序,选取与当前时刻最接近的J个流程实例,J可以通过配置参数设置;
3.查询这J个流程实例的日志,统计这些流程实例在执行时间内的每个监控周期发送给云工作流的请求数量,得出向量集合P=[p1,p2,...,pJ],pj=[pj,1,pj,2,...,pj,M],向量中的元素pj,m表示编号为j的流程实例在启动后的第m个监控周期内发送给云工作流的请求数量。计算当前启动流程实例资源需求估计向量
4.将当前启动流程实例插入缓冲队列的末尾;
5.如果缓冲队列已满(缓冲队列的容量可通过配置参数设置),执行步骤6。否则,等待下一个到达的流程实例;
6.将流程实例资源需求估计向量中的最大元素记为流程实例的兼容度,将缓冲队列中的流程实例按照兼容度从小到大排序;
7.依次遍历缓冲队列中的流程实例,寻找集群中第一个空闲资源向量大于流程实例资源需求估计向量的工作流引擎;
8.将流程实例调度至选择的工作流引擎;
9.被选工作流引擎的空闲资源向量减去当前启动向量的资源需求估计向量。
本发明的特点是使用历史流程实例的日志估计当前启动流程实例的计算资源需求,综合考虑了当前启动流程实例在执行时间内每个监控周期的资源需求。这种方法可以避免已经部署的流程实例资源需求激增带来的工作流引擎过载,消除了流程实例迁移的必要性提升了用户体验。另外,本发明使用缓冲队列缓存流程实例,使得云工作流可以使用离线调度算法调度流程实例,进一步提高方法的有效性。
附图说明
图1云工作流核心部件图。
图2调度阶段云工作流核心部件协同工作的流程图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。
如图1所示,本发明涉及的方法的实施依赖于负载均衡器、日志管理器和元数据管理器等云工作流核心部件。执行方法的过程中,各部件的协同工作可以分为准备阶段,运行阶段和调度阶段。各阶段的工作可以这样表述:
准备阶段:
1.通过压力测试程序预先测得集群中每个工作流引擎的请求处理饱和值C,负载均衡器为集群中的工作流引擎创建空闲资源向量,并将每个引擎的空闲资源向量的元素值都初始化为C;
2.负载均衡器创建缓冲队列;
运行阶段:
1.日志管理器定时从各工作流引擎的数据库中收集已执行的流程实例的执行日志和元数据。流程实例的元数据包括:流程定义、启动时间和启动用户;
2.每个监控周期结束时,将每个引擎的空闲资源向量的第一个元素删除,并将C插入到每个引擎的空闲资源向量的末尾;
调度阶段:
如图2所示,当用户启动流程实例时,云工作流各核心部件间的协同工作包括:
1.负载均衡器向元数据管理器请求当前到达流程实例的资源需求估计向量;
2.元数据管理器查询相同流程定义、启动用户的历史流程实例;
3.元数据管理器从查询结果中筛选出J个与当前时刻最接近的流程实例;
4.元数据管理器请求流程实例的日志;
5.日志管理器检索流程实例的日志并返回结果;
6.元数据管理器计算当前启动流程实例的资源需求估计向量;
7.负载均衡器将流程实例插入到缓冲队列;
8.若缓冲队列已满执行步骤9。否则,等待下一个流程实例;
9.负载均衡器将缓冲队列中的流程实例按照兼容度排序;
10.负载均衡器遍历缓冲队列中的流程实例,寻找空闲资源向量大于资源需求估计向量的工作流引擎;
11.负载均衡器向选择的工作流引擎请求启动流程实例;
12.工作流引擎启动流程实例;
13.负载均衡器将工作流引擎的空闲资源向量减去流程实例的资源需求估计向量。
Claims (1)
1.一种实现云工作流系统流程实例均衡调度的方法,其特征在于包括工作流引擎空闲资源监控和流程实例调度两个部分;其中所述工作流引擎空闲资源监控部分为调度域内每一个工作流引擎维护一个空闲资源向量,并通过向量更新机制保证向量能实时体现工作流引擎在给定时间范围内的空闲资源;流程实例调度部分用于分析当前启动流程实例的资源需求、选取空闲资源大于流程实例需求的工作流引擎和调度流程实例至选定的工作流引擎;
工作流引擎空闲资源监控部分维护一个向量列表E=[e1,e2,...,eN],其中ei是调度域内编号为i的工作流引擎的空闲资源向量,ei=[ei,1,ei,2,...,ei,K];ei,j表示工作流引擎ei在从当前时刻开始的第j个监控周期内能够处理的请求;其中,N为集群中工作流引擎的数量,K为监控周期的数量,监控周期的时间长度和监控周期的数量通过配置参数设置;工作流引擎空闲资源监控包括以下步骤:
i.通过压力测试程序预先测得集群中每个工作流引擎的请求处理饱和值C,将每个引擎的空闲资源向量的元素值都初始化为C;
ii.每个监控周期结束时,将每个引擎的空闲资源向量的第一个元素删除,并将C插入到每个工作流引擎的空闲资源向量的末尾;
当用户启动流程实例时,云工作流需要将流程实例调度到集群中的工作流引擎;流程实例调度部分包括以下步骤:
i.查询和当前启动流程实例具有相同流程定义和启动用户的历史流程实例;
ii.将查询结果中的流程实例按照与当前时刻的相近度大小排序,选取与当前时刻最接近的J个流程实例,J通过配置参数设置;
iii.查询这J个流程实例的日志,统计这些流程实例在执行时间内的每个监控周期发送给云工作流的请求数量,得出向量集合
P=[p1,p2,...,pJ],pj=[pj,1,pj,2,...,pj,M],向量中的元素pj,m表示编号为j的流程实例在启动后的第m个监控周期内发送给云工作流的请求数量;计算当前启动流程实例资源需求估计向量
iv.将当前启动流程实例插入缓冲队列的末尾;
v.如果缓冲队列已满,执行步骤vi,缓冲队列的容量通过配置参数设置;否则,等待下一个到达的流程实例;
vi.将流程实例资源需求估计向量中的最大元素记为流程实例的兼容度,将缓冲队列中的流程实例按照兼容度从小到大排序;
vii.依次遍历缓冲队列中的流程实例,寻找集群中第一个空闲资源向量大于流程实例资源需求估计向量的工作流引擎;
viii.将流程实例调度至选择的工作流引擎;
ix.被选工作流引擎的空闲资源向量减去当前启动向量的资源需求估计向量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810410985.3A CN108665157B (zh) | 2018-05-02 | 2018-05-02 | 一种实现云工作流系统流程实例均衡调度的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810410985.3A CN108665157B (zh) | 2018-05-02 | 2018-05-02 | 一种实现云工作流系统流程实例均衡调度的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108665157A CN108665157A (zh) | 2018-10-16 |
CN108665157B true CN108665157B (zh) | 2021-08-20 |
Family
ID=63781715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810410985.3A Active CN108665157B (zh) | 2018-05-02 | 2018-05-02 | 一种实现云工作流系统流程实例均衡调度的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108665157B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109861850B (zh) * | 2019-01-11 | 2021-04-02 | 中山大学 | 一种基于sla的无状态云工作流负载均衡调度的方法 |
CN111861412B (zh) * | 2020-07-27 | 2024-03-15 | 上海交通大学 | 面向完成时间优化的科学工作流调度方法及系统 |
TWI802388B (zh) * | 2022-04-27 | 2023-05-11 | 中華電信股份有限公司 | 基於雲平台之儲存服務系統、方法及電腦可讀媒介 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104270421A (zh) * | 2014-09-12 | 2015-01-07 | 北京理工大学 | 一种支持带宽保证的多租户云平台任务调度方法 |
CN104378412A (zh) * | 2014-10-15 | 2015-02-25 | 东南大学 | 云环境下意识到用户周期性资源需求的动态负载均衡方法 |
CN104536804A (zh) * | 2014-12-23 | 2015-04-22 | 西安电子科技大学 | 面向关联任务请求的虚拟资源调度系统及调度和分配方法 |
US9374660B1 (en) * | 2012-05-17 | 2016-06-21 | Amazon Technologies, Inc. | Intentional monitoring |
CN106874112A (zh) * | 2017-01-17 | 2017-06-20 | 华南理工大学 | 一种结合负载均衡的工作流回填方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8789047B2 (en) * | 2012-01-26 | 2014-07-22 | Empire Technology Development Llc | Allowing world switches between virtual machines via hypervisor world switch security setting |
-
2018
- 2018-05-02 CN CN201810410985.3A patent/CN108665157B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9374660B1 (en) * | 2012-05-17 | 2016-06-21 | Amazon Technologies, Inc. | Intentional monitoring |
CN104270421A (zh) * | 2014-09-12 | 2015-01-07 | 北京理工大学 | 一种支持带宽保证的多租户云平台任务调度方法 |
CN104378412A (zh) * | 2014-10-15 | 2015-02-25 | 东南大学 | 云环境下意识到用户周期性资源需求的动态负载均衡方法 |
CN104536804A (zh) * | 2014-12-23 | 2015-04-22 | 西安电子科技大学 | 面向关联任务请求的虚拟资源调度系统及调度和分配方法 |
CN106874112A (zh) * | 2017-01-17 | 2017-06-20 | 华南理工大学 | 一种结合负载均衡的工作流回填方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108665157A (zh) | 2018-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108665157B (zh) | 一种实现云工作流系统流程实例均衡调度的方法 | |
CN107992359B (zh) | 一种云环境下代价感知的任务调度方法 | |
US8136115B2 (en) | Backfill scheduling of applications based on data of the applications | |
US8812639B2 (en) | Job managing device, job managing method and job managing program | |
US8719833B2 (en) | Adaptive demand-driven load balancing | |
US8332873B2 (en) | Dynamic application instance placement in data center environments | |
US8990820B2 (en) | Runtime task with inherited dependencies for batch processing | |
CN102281329A (zh) | 一种PaaS云平台的资源调度方法和系统 | |
US20130007244A1 (en) | Optimizing provisioning workflows in cloud computing | |
CN109861850B (zh) | 一种基于sla的无状态云工作流负载均衡调度的方法 | |
CN110569252B (zh) | 一种数据处理系统及方法 | |
Hyytiä et al. | Task assignment in a heterogeneous server farm with switching delays and general energy-aware cost structure | |
CN113434248B (zh) | 一种面向容器云的任务协同调度系统及其方法 | |
Liu et al. | Dependency-aware and resource-efficient scheduling for heterogeneous jobs in clouds | |
CN104199739A (zh) | 一种基于负载均衡的推测式Hadoop调度方法 | |
CN111209104A (zh) | 一种异构集群下Spark应用的能量感知调度方法 | |
Champati et al. | One-restart algorithm for scheduling and offloading in a hybrid cloud | |
CN108647084A (zh) | 能效云任务调度方法 | |
CN101576831A (zh) | 一种分布式计算系统及实现方法 | |
CN104346220A (zh) | 一种任务调度方法与系统 | |
CN109491775A (zh) | 一种用于边缘计算环境下的任务处理与调度方法 | |
Zhang et al. | A Multi-Agent based load balancing framework in Cloud Environment | |
CN109298919B (zh) | 面向高利用率任务集合的软实时系统的多核调度方法 | |
CN111061553B (zh) | 一种用于超级计算中心的并行任务调度方法和系统 | |
Quan | Mapping heavy communication workflows onto grid resources within an SLA context |
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 |