CN108665157A - 一种实现云工作流***流程实例均衡调度的方法 - Google Patents
一种实现云工作流***流程实例均衡调度的方法 Download PDFInfo
- Publication number
- CN108665157A CN108665157A CN201810410985.3A CN201810410985A CN108665157A CN 108665157 A CN108665157 A CN 108665157A CN 201810410985 A CN201810410985 A CN 201810410985A CN 108665157 A CN108665157 A CN 108665157A
- Authority
- CN
- China
- Prior art keywords
- resource
- flow
- flow instance
- workflow engine
- vector
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 230000003139 buffering effect Effects 0.000 claims abstract description 17
- 238000012544 monitoring process Methods 0.000 claims description 19
- 238000003780 insertion Methods 0.000 claims description 2
- 230000037431 insertion Effects 0.000 claims description 2
- 238000013396 workstream Methods 0.000 claims description 2
- 238000013508 migration Methods 0.000 abstract description 3
- 230000005012 migration Effects 0.000 abstract description 3
- 238000004458 analytical method Methods 0.000 abstract description 2
- 239000008358 core component Substances 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 235000006350 Ipomoea batatas var. batatas Nutrition 0.000 description 1
- 241000072953 Kumara Species 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000000306 component Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (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 (3)
1.一种实现云工作流***流程实例负载均衡的方法,其特征在于包括工作流引擎空闲资源监控和流程实例调度两个部分;其中所述工作流引擎资源监控部分为调度域内每一个工作流引擎维护一个空闲资源向量,并通过向量更新机制保证向量能实时体现工作流引擎在给定时间范围内的空闲资源;流程实例调度部分用于分析当前启动流程实例的资源需求、选取空闲资源大于流程实例需求的工作流引擎和调度流程实例至选定的工作流引擎。
2.根据权利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***到每个工作流引擎的空闲资源向量的末尾。
3.根据权力1所述的流程实例调度部分,其特征在于:当用户启动流程实例时,云工作流需要将流程实例调度到集群中的工作流引擎;流程实例调度部分包含以下步骤:
i.查询和当前启动流程实例具有相同流程定义和启动用户的历史流程实例;
ii.将查询结果中的流程实例按照与当前时刻的相近度大小排序,选取与当前时刻最接近的J个流程实例,J可以通过配置参数设置;
iii.查询这J个流程实例的日志,统计这些流程实例在执行时间内的每个监控周期发送给云工作流的请求数量,得出向量集合P=[p1,p2,...,pJ],pj=[pj,1,pj,2,...,pj,M],向量中的元素pj,m表示编号为j的流程实例在启动后的第m个监控周期内发送给云工作流的请求数量;计算当前启动流程实例资源需求估计向量
iv.将当前启动流程实例***缓冲队列的末尾;
v.如果缓冲队列已满(缓冲队列的容量可通过配置参数设置),执行步骤vii;否则,等待下一个到达的流程实例;
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 true CN108665157A (zh) | 2018-10-16 |
CN108665157B 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) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109861850A (zh) * | 2019-01-11 | 2019-06-07 | 中山大学 | 一种基于sla的无状态云工作流负载均衡调度的方法 |
CN111861412A (zh) * | 2020-07-27 | 2020-10-30 | 上海交通大学 | 面向完成时间优化的科学工作流调度方法及*** |
TWI802388B (zh) * | 2022-04-27 | 2023-05-11 | 中華電信股份有限公司 | 基於雲平台之儲存服務系統、方法及電腦可讀媒介 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130198743A1 (en) * | 2012-01-26 | 2013-08-01 | Empire Technology Development Llc | Data center with continuous world switch security |
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 | 华南理工大学 | 一种结合负载均衡的工作流回填方法 |
-
2018
- 2018-05-02 CN CN201810410985.3A patent/CN108665157B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130198743A1 (en) * | 2012-01-26 | 2013-08-01 | Empire Technology Development Llc | Data center with continuous world switch security |
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 | 华南理工大学 | 一种结合负载均衡的工作流回填方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109861850A (zh) * | 2019-01-11 | 2019-06-07 | 中山大学 | 一种基于sla的无状态云工作流负载均衡调度的方法 |
CN109861850B (zh) * | 2019-01-11 | 2021-04-02 | 中山大学 | 一种基于sla的无状态云工作流负载均衡调度的方法 |
CN111861412A (zh) * | 2020-07-27 | 2020-10-30 | 上海交通大学 | 面向完成时间优化的科学工作流调度方法及*** |
CN111861412B (zh) * | 2020-07-27 | 2024-03-15 | 上海交通大学 | 面向完成时间优化的科学工作流调度方法及*** |
TWI802388B (zh) * | 2022-04-27 | 2023-05-11 | 中華電信股份有限公司 | 基於雲平台之儲存服務系統、方法及電腦可讀媒介 |
Also Published As
Publication number | Publication date |
---|---|
CN108665157B (zh) | 2021-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210311781A1 (en) | Method and system for scalable job processing | |
Atar et al. | The cμ/θ rule for many-server queues with abandonment | |
CN107992359B (zh) | 一种云环境下代价感知的任务调度方法 | |
Kang et al. | Web service selection for resolving conflicting service requests | |
US8640132B2 (en) | Jobstream planner considering network contention and resource availability | |
US8635625B2 (en) | Power-aware workload allocation in performance-managed computing environments | |
CN108665157A (zh) | 一种实现云工作流***流程实例均衡调度的方法 | |
CN109861850B (zh) | 一种基于sla的无状态云工作流负载均衡调度的方法 | |
CN111338807B (zh) | 一种面向边缘人工智能应用的QoE感知的服务增强方法 | |
CN106557471A (zh) | 任务调度方法及装置 | |
CN107515784A (zh) | 一种在分布式***中计算资源的方法与设备 | |
CN101576831A (zh) | 一种分布式计算***及实现方法 | |
CN108647084A (zh) | 能效云任务调度方法 | |
EP2095276B1 (en) | Method and system for reducing difference in the time of retrieval of data retrieved from different sources | |
Singh et al. | A comparative study of various scheduling algorithms in cloud computing | |
CN116860419B (zh) | 一种服务器无感知数据分析的并行调度方法及*** | |
Li et al. | A QoS-based scheduling algorithm for instance-intensive workflows in cloud environment | |
CN109586971B (zh) | 一种基于线性关系的负载资源需求量评估方法 | |
Krebs et al. | Comparison of Request Admission Based Performance Isolation Approaches in Multi-tenant SaaS Applications. | |
Liu et al. | On-line real-time service allocation and scheduling for distributed data centers | |
CN115357651A (zh) | 一种基于调度中心的etl*** | |
Doroudi et al. | Value driven load balancing | |
Sun et al. | A QoS-aware load balancing policy in multi-tenancy environment | |
Outamazirt et al. | Performance analysis of the M/G/c/c+ r queuing system for cloud computing data centres | |
Ojha et al. | Enhanced Modified HEFT Algorithm for Task Scheduling in Cloud Environment |
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 |