CN106447173A - 一种支持任意流程结构的云工作流调度方法 - Google Patents

一种支持任意流程结构的云工作流调度方法 Download PDF

Info

Publication number
CN106447173A
CN106447173A CN201610801589.4A CN201610801589A CN106447173A CN 106447173 A CN106447173 A CN 106447173A CN 201610801589 A CN201610801589 A CN 201610801589A CN 106447173 A CN106447173 A CN 106447173A
Authority
CN
China
Prior art keywords
subtask
time
control structure
task
estimation
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
CN201610801589.4A
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.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
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 Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN201610801589.4A priority Critical patent/CN106447173A/zh
Publication of CN106447173A publication Critical patent/CN106447173A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Data Mining & Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明主要涉及一种支持任意流程结构的云工作流调度方法,属于信息技术及计算机领域,具体地说,它是一种对云计算环境下各种类型工作流模型都具有普遍适用性并考虑服务质量指标的云工作流调度算法。本发明方法是在截止期限约束下,以最小化云工作流执行费用为调度目标,通过有向图对任务进行建模,既保留了DAG图简单直观的建模优点,又适用于包括了选择、循环逻辑结构的工作流调度问题;通过对资源的静态匹配和动态调整进行任务调度,优化了资源的选择,具有很好的普适性。

Description

一种支持任意流程结构的云工作流调度方法
技术领域
本发明主要涉及一种支持任意流程结构的云工作流调度方法,属于信息技术及计算机领域,具体地说,它是一种对云计算环境下各种类型工作流模型都具有普遍适用性并考虑服务质量指标的云工作流调度算法。
背景技术
随着计算机互联网技术的发展成熟,云计算技术应运而生,经过了近十年各大IT企业和相关研究机构对云计算技术的实践和探索,云服务已受到越来越多国家、企业、个人的青睐,需求的不断增加促使国内外多家IT企业竞相推出了自己的云产品。然而,在云计算技术迅猛发展的同时,其产品的安全性、可靠性以及实用性等问题引起了供求双方以及相关领域学者的高度关注,其中,贯穿云计算应用全过程的任务调度问题就是一项重难点问题。
由于云计算的调度问题是一个NP-hard(non-deterministic polynomial-hard)问题,因此这类问题只能寻求一个有效的近似算法而不能精确求解,当前云工作流调度算法主要分为基于最大努力(best-effort based)的工作流调度算法和基于QoS约束(QoSconstraint based)的工作流调度算法两大类,前者类别的算法中常见的有动态关键路径算法DCP(Dynamic Critical Path)法、min-min法、HEFT(Heterogeneous Earliest FinishTime)法等,此类调度算法仅以获得最小执行时间为调度目标,不适用于具有商业性质的云工作流环境中;而后者类别的算法不仅考虑对工作流的执行时间进行优化,同时考虑执行费用的优化以及安全性、可靠性等非功能性指标。当前研究中,基于QoS约束的调度算法主要PCP(Partial Critical Path)法、MCP(Modified Critical Path)算法以及基于遗传算法、蚁群算法等典型的启发式算法。虽然已有诸多现有调度算法,但其中的大多数算法在实际运用中都存有一定局限,不具有对所有工作流模型结构的普适性,比如说基于DAG(Directed Acyclic Gragh)图的工作流调度算法,虽然表现形式上简单直观,并在一些实际的运用中也表现出了较好的性能,但这样的算法不适用于具有选择、循环逻辑控制结构的工作流调度问题中,其原因是DAG图不能描述具有选择、循环这两种逻辑结构的工作流模型。
发明内容
本发明的目的是提出一种支持任意流程结构的云工作流调度方法。该方法是在截止期限约束下,以最小化云工作流执行费用为调度目标,通过有向图对任务进行建模,既保留了DAG图简单直观的建模优点,又适用于包括了选择、循环逻辑结构的工作流调度问题;通过对资源的静态匹配和动态调整进行任务调度,优化了资源的选择,具有很好的普适性。
本发明的目的是通过以下技术方案实现的。
本发明提出的一种支持任意流程结构的云工作流调度方法,其操作步骤为:
步骤一、采用有向图对任务进行工作流建模。
一个任务对应一个工作流,一个工作流通过一个三元组Ω(T,Λ,D)来描述,其中T为节点集合,T=(T1,T2……Tn),每个节点Ti对应工作流的各子任务,i∈[1,n]且i为正整数;Λ为有向边Tij的集合;Tij=(Ti,Tj),j∈[1,n],j为正整数,且i≠j;Ti是Tj的直接前驱子任务,当Ti的所有的前驱任务完成后,Tj才能开始执行D表示所述工作流的执行截止期限,工作流任务必须在该截止期限内执行完毕并把结果返回给用户,如果工作流执行超过了该时间D,则表明服务提供商不能按照用户提出的要求提供服务,此时将按照规定向用户进行赔偿。任意子任务Ti都有节点输入特性(用符号表示)和节点输出特性(用符号表示),LT∈{AND,OR,XOR},AND表示“与”逻辑类型,OR表示“或”逻辑类型,XOR表示“循环”逻辑类型。分别表示子任务Ti的直接前驱子任务与直接后继子任务。
步骤二、对云服务资源建模。
在步骤一操作的基础上,对云服务资源建模。
在云环境下,对于任意一项子任务Ti,均存在多个可使用的云服务资源能实现其功能性的执行要求,将可使用的云服务资源的集合称为子任务Ti的服务资源池,用符号Si表示,分别表示第1个至第L(i)个可使用的云服务资源,并且按照对子任务Ti的预计执行时间从小到大进行排序;L(i)表示Ti资源池中资源的个数。考虑工作流执行时间和使用资源应付费用这两个非功能指标,将可使用的云服务资源表示为 分别表示将Ti调度到服务资源池中的第k个资源上的执行时间和应付费用。
步骤三、建立工作流调度目标函数
在步骤二的基础上,建立工作流调度目标函数。
当服务提供商接受了用户的服务请求之后,将根据用户所提出的功能性指标和非功能性指标进行任务解析、资源匹配和任务调度,与此同时,服务提供商为了使收益最大化,需要通过改进调度策略,为任务匹配合适的资源以提高资源的利用率。因此,在对调度策略进行设计时,需要构造工作流调度的目标函数及相关约束函数,以此更加直观的反映出作为调度目标的指标与其它约束指标之间的关系。对于截止期限约束下的费用优化问题,其调度目标函数如公式(1)所示,其表明了该工作流调度是以最小化资源使用费用为目标的;约束条件如公式(2)至公式(5)所示。
其中,是一个值为1或为0的布尔值,当子任务Ti被调度到其服务资源池Si中的第k个资源上执行时,的值为1,否则为0;是指子任务Ti匹配到其服务资源池Si中的第k个资源上执行时,对应的资源费用;
公式(2)表示了一个约束条件,说明每个子任务最终只能调度到一个资源上执行;
其中,表示子任务Tj匹配到资源上执行,对应的执行时间;fi表示子任务Ti在其所匹配到的资源上执行,对应的完成时刻;fj表示子任务Tj在其所匹配到的资源上执行,对应的完成时刻。
公式(3)描述了子任务间的依赖关系,子任务Tj的开始执行时刻大于其直接前驱子任务Ti的执行完成时刻,若子任务有多个直接前驱子任务,则表示最后一个直接前驱子任务执行对应的完成时刻。
fn≤D (4)
其中,fn表示工作流全局关键路径上末节点子任务Tn的执行完成时刻。
公式(4)表示总任务的完成时刻不得超过用户提出的截止期限。
xi k∈{0,1},1≤i≤n,1≤k≤L(i) (5)
公式(5)用来约束是布尔变量,以及变量i和k的取值范围。
步骤四、化简工作流模型,获得工作流的估计执行时间。
在步骤一的基础上,化简工作流模型,获得工作流的估计执行时间。具体为:
步骤4.1:将步骤一的得到的工作流模型按照不同的控制结构进行分段。
所述控制结构包括:顺序控制结构、并行控制结构、选择控制结构、循环控制结构和嵌套控制结构。
步骤4.2:分别计算每段控制结构对应的等效任务的估计执行时间。
(i)对于顺序控制结构化简的方法为:
将处于同一顺序控制结构的子任务合并为一个等效任务,该等效任务的估计执行时间为该结构中各子任务估计执行时间之和,如公式(6)所示。
其中,dE为等效任务的估计执行时间;dz为该顺序结构中各子任务的估计执行时间,r为该顺序结构中子任务的个数,r为正整数。
(ii)并行控制结构化简方法为:
比较处于并行控制结构各个分支上的子任务或等效任务的估计执行时间,保留估计执行时间最长的分支作为该并行结构的等效任务,该等效任务的估计执行时间是最长的一条分支上的子任务的估计执行时间之和,如公式(7)所示。所述
其中,为第i′条并行分支上的第j′个任务的估计执行时间,i′,j′为正整数。
(iii)选择控制结构化简方法为:
选择控制结构有N条分支,N>1;选择控制结构执行时,只有一条分支上的任务会被执行,根据历史的工作流执行运行数据统计,每条分支可能被执行的执行概率为Pt,通过加权求和的方法将选择控制结构进行化简,合并各个选择分支任务成为一个等效任务,该等效任务的估计执行时间,如公式(8)所示。
其中,dt表示第t个分支上各任务的估计执行时间之和,Pt表示第t个分支上的任务被执行的概率,Pt根据历史的工作流执行运行数据获得。
(iv)循环控制结构化简方法为:
循环控制结构中,进入循环与结束循环的概率分别用1-P和P表示,循环h(h≥0)次的估计执行时间为dh,dh=(1+h)dA+hdR,其中dA为前向路径上各子任务的估计执行时间之和,dR为循环回路上各子任务的等效执行时间。通过将循环结构上的各任务等效合并为一个等效任务,该等效任务的估计执行时间,如公式(9)所示。
其中,Ph为出现h次循环的概率,Ph=P(1-P)h
(v)分支嵌套控制结构化简方法为:
分支嵌套控制结构的基本形式为:子任务T1有两个直接后继子任务子T2和T3,子任务T2的直接后继子任务为T4和T5,子任务T3的直接后继子任务为T5,子任务T4和子任务T5的直接后继子任务为T6
分支嵌套控制结构的化简分2种情况处理:
情况1:当子任务T2的估计执行时间大于子任务T3的估计执行时间时:
由于T2的估计执行时间(用符号d2表示)大于T3的估计执行时间(用符号d3表示),所以路径{T1,T2,T5}的估计执行时间大于路径{T1,T3,T5}的估计执行时间,则将子任务T3从分支嵌套控制结构中去除。剩余部分按照顺序、并行、选择或循环控制结构的化简方法对其进行化简。
情况2:当子任务T2的估计执行时间小于或等于子任务T3的估计执行时间时:
由于子任务T2的估计执行时间d2小于或等于子任务T3的估计执行时间d3,所以路径{T1,T2,T5}的执行时间小于或等于路径{T1,T3,T5},则将子任务T2与子任务T5之间的连接断开,即:子任务为T5不再是子任务T2的直接后继子任务。剩余部分按照顺序、并行、选择或循环控制结构的化简方法对其进行化简。
步骤4.3:将每段控制结构对应的等效任务的估计执行时间进行求和,得到工作流的估计执行时间。
步骤五、计算化简后的工作流的松弛时间。
在步骤四的基础上,计算化简后的工作流的松弛时间,如公式(10)所示。
dcps=D-S-dcp (10)
其中,dcps为工作流的松弛时间;D为用户提出的任务截止期限;dcp为工作流的估计执行时间;S为工作流的开始时刻。
步骤六、获得步骤一中所述工作流模型中各子任务的可执行时间窗口。
在步骤五的基础上,获得工作流模型中各子任务的可执行时间窗口。具体为:
步骤6.1:将工作流的松弛时间根据步骤4.1得到的工作流模型的各个控制结构分段的等效任务对应的估计执行时间,按比例进行分配。
步骤6.2:依次将工作流模型的各个控制结构分段对应的松弛时间细分到各子任务。具体为:
(i)顺序控制结构松弛时间分配规则:根据各子任务的估计执行时间,按比例分配该顺序控制结构分段的等效任务对应的松弛时间。
(ii)并行控制结构松弛时间分配规则:并行控制结构各分支获得的松弛时间与该并行控制结构的等效任务所获得的松弛时间相等;然后,该并行控制结构各分支,按照顺序结构的松弛时间分配规则,为分支上各个子任务分配松弛时间。
(iii)选择控制结构松弛时间分配规则:选择控制结构各分支获得的松弛时间与该选择控制结构的等效任务所获得的松弛时间相等;然后,该选择控制结构各分支,按照顺序结构的松弛时间分配规则,为分支上各个子任务分配松弛时间。
(iv)循环控制结构松弛时间分配规则:首先,将循环结构加权求和得到的等效任务所获得松弛时间为dEs,通过公式(11)计算该循环控制结构的循环次数期望的值,用符号表示。
然后,将该循环控制结构展开为一个顺序控制结构,再按顺序控制结构松弛时间分配规则,为各子任务分配松弛时间。
(v)嵌套结构松弛时间分配规则,先按嵌套结构化简规则进行结构化简,然后运用顺序或并行控制结构的松弛时间分配方法为分支嵌套结构的各个子任务分配松弛时间。
步骤6.3:计算各子任务的可执行时间窗口。
根据公式(12)计算各子任务的可执行时间窗口。
根据子任务间的依赖关系,各子任务的开始时间和子截止期限具有以下关系:
其中,βz表示当前子任务的最早允许开始时刻,z表示子任务编号;entry表示执行时刻以及估计执行时间均为0的虚拟起始子任务;δz表示当前子任务的截止期限;dz表示当前子任务的估计执行时间;dzs表示当前子任务分配得到的松弛时间;δz′表示子任务Tz的直接前驱子任务的截止期限。
各子任务的可执行时间窗口由最早允许开始时刻和该子任务的截止期限确定。
步骤七、为步骤一中所述工作流模型中各子任务初选云服务资源。
在步骤六操作的基础上,为各子任务初选云服务资源。具体为:
在每一个任务的执行时间窗口下,选择满足执行时间要求且使用费用最低的云服务资源。
步骤八、执行步骤一中所述工作流。
在步骤七操作的基础上,执行工作流,并动态调整云服务资源,并将任务调度到选定的资源上执行。具体为:
步骤8.1:将起始子任务调度到步骤七中起始子任务选定的资源上进行执行。同时根据任务间的依赖关系,得到后继子任务的就绪队列。
步骤8.2:将正在执行的子任务作为当前子任务。
步骤8.3:当前子任务执行完毕后,计算当前子任务的剩余松弛时间,用符号dis表示:dis=δi-fi,其中,δi是当前子任务的截止期限。fi是当前子任务的实际执行完成时刻。
根据各子任务的估计执行时间,按比例分配该顺序控制结构分段的等效任务对应的松弛时间。
步骤8.4:对当前子任务的剩余松弛时间dis进行重分配,具体为:
步骤8.4.1:首先获得工作流全局关键路径和局部关键路径。
步骤8.4.2:根据当前子任务的所处位置,分4种情况进行处理:
情况1:如果当前子任务处于顺序控制结构、并行控制结构或选择控制结构时,并且当前子任务处于全局关键路径上,则将当前子任务的剩余松弛时间dis,根据全局关键路径上的后继子任务的估计执行时间,按比例重新分配给全局关键路径上的后继子任务。
情况2:如果当前子任务处于顺序控制结构、并行控制结构或选择控制结构时,并且当前子任务处于局部关键路径上,则将当前子任务的剩余松弛时间dis,根据该局部关键路径上的后继子任务的估计执行时间,按比例重新分配给该局部关键路径上的后继子任务。
情况3:如果当前子任务处于顺序控制结构、并行控制结构或选择控制结构时,并且当前子任务处于非关键路径上,则将当前子任务的剩余松弛时间dis,根据该非关键路径上的后继子任务的估计执行时间,按比例重新分配给该非关键路径上的后继子任务。
情况4:如果当前子任务处于循环控制结构构时,由于循环次数不定,难以获得未执行任务的确切数目,此时,将当前子任务的剩余松弛时间dis,全部分配给其直接后继子任务。
步骤8.5:根据公式(13)更新松弛时间发生变化的直接后继子任务(用符号Tj表示)的可执行时间窗口。
其中,δj表示当前子任务的直接后继子任务Tj更新后的截止期限;βj为当前子任务的直接后继子务Tj的最早开始时刻,fi是当前子任务的实际执行完成时刻;dj表示当前子任务的直接后继子任务Tj的估计执行时间,djs为重分配后当前子任务的直接后继子任务Tj获得的松弛时间。
步骤8.6:根据公式(14)更新松弛时间发生变化的间接后继子任务的可执行时间窗口,用符号Tj′表示当前子任务的任意一个间接后继子任务。
其中,δj′表示当前子任务的间接后继子任务Tj′更新后的截止期限;βj′为当前子任务的间接后继子任务Tj′的最早开始时刻,δi是间接后继子任务Tj′的直接前驱子任务的截止期限;dj′表示当前子任务的间接后继子任务Tj′的估计执行时间,djs为重分配后当前子任务的间接后继子任务Tj′的获得的松弛时间。
步骤8.7:将当前子任务的直接后继子任务Tj作为当前子任务,将当前子任务调度到步骤七中当前子任务选定的资源上进行执行。同时根据任务间的依赖关系,得到后继子任务的就绪队列。重复步骤8.3至步骤8.7的操作,直到操作结束。
有益效果
本发明提出的一种支持任意流程结构的云工作流调度方法,与已有技术相比较具体如下优点:
①本发明方法是在截止期限约束下,以最小化云工作流执行费用为调度目标,通过有向图对任务进行建模,既保留了DAG图简单直观的建模优点,又适用于包括了选择、循环逻辑结构的工作流调度问题。
②通过对资源的静态匹配和动态调整进行任务调度,优化了资源的选择,具有很好的普适性。
附图说明:
图1是本发明具体实施方式中采用可包括工作流一般流程结构的有向图进行工作流建模的示意图;
图2是本发明具体实施方式中对图1工作流模型中选择控制结构化简后的等效图;
图3是本发明具体实施方式中对图2工作流简化模型中顺序结构化简后的等效图;
图4是本发明具体实施方式中对图3工作流简化模型中循环控制结构化简后的等效图;
图5是本发明具体实施方式中对图4工作流简化模型中并行结构化简后的等效图。
具体实施方式
下面通过附图和具体实施例对本发明内容做进一步描述。
服务提供商于2016年6月16日上午8:00收到用户提交的一项任务请求,用户要求在2016年6月16日上午10:05的时候得到任务执行结果。假设服务提供商与用户协商、签订协议、对工作流任务建模及云服务资源建模共用2小时2分钟时间。
由此可知用户提出的截止期限D为今天早上10:05:00,工作流最早可开始执行时刻为10:02:00,则工作流运行周期必须小于180s。
步骤一、采用有向图对任务进行工作流建模。
一个任务对应一个工作流,一个工作流通过一个三元组Ω(T,Λ,D)来描述,其中T为节点集合,T=(T1,T2……T13),有向图如图1所示,Λ为有向边Tij的集合:
{(T1,T4),(T4,T5),(T4,T6),(T5,T7),(T6,T7),(T7,T12),(T12,T13),(T2,T3),(T3,T8),(T8,T9),(T9,T10),(T10,T11),(T11,T8),(T10,T12)};
步骤二、对云服务资源建模。
在步骤一操作的基础上,对云服务资源建模。
云服务资源的模型如表1所示,其中Ti表示任务编号为i的子任务,Si为子任务Ti的资源池,资源池中的每个可选资源具有两个参数:任务的执行时间与在该资源上执行任务的费用,L(i)表示资源池Si中资源的个数。
表1云服务资源的模型列表
步骤三、建立工作流调度目标函数
在步骤二的基础上,建立工作流调度目标函数。
由工作流实例模型和资源模型可知,该工作流由13个子任务组成,每个子任务的可执行资源个数不同。由实例的要求可以知道,该实例的工作流调度目标是截止期限约束下的优化执行费用,其调度目标函数如公式(1)所示,其中i=13,约束条件如公式(2)至公式(5)所示。
步骤四、化简工作流模型,获得工作流的估计执行时间。
在步骤一的基础上,化简工作流模型,获得工作流的估计执行时间。具体为:
步骤4.1:将步骤一的得到的工作流模型按照不同的控制结构进行分段。
节点1到节点11是一个并行控制结构,节点12、13与前面的并行控制结构合在一起是一个顺序控制结构。进一步对节点1到11的并行控制结构进行分段,节点5、6为选择控制结构,其与节点1、4、7合在一起为一个顺序控制结构。节点8、9、10、11为循环控制结构,其与节点2、3合在一起为一个顺序控制结构。这里,我们用任务在其服务资源池中各资源上执行时间的平均值作为各任务的估计执行时间,得到的各任务的估计执行时间如表2。
表2各任务的估计执行时间表
步骤4.2:分别计算每段控制结构对应的等效任务的估计执行时间。
附图2对应按照控制逻辑化简规则对选择结构化简后的等效图;附图3对应按照控制逻辑化简规则对顺序结构化简后的等效图;附图4对应按照控制逻辑化简规则对循环结构化简后的等效图;附图5对应按照控制逻辑化简规则对并行结构化简后的等效图;
根据逻辑结构的化简规则可得:其中 E02为选择结构等效任务,其估计执行时间以上各式中表示等效任务Eij的估计执行时间。步骤4.3:将每段控制结构对应的等效任务的估计执行时间进行求和,得到工作流的估计执行时间
步骤五、计算化简后的工作流的松弛时间。
计算得到总松弛时间dcps=180s-154s=26s。
步骤六、获得步骤一中所述工作流模型中各子任务的可执行时间窗口。
在步骤五的基础上,获得工作流模型中各子任务的可执行时间窗口。具体为:
步骤6.1:将工作流的松弛时间根据步骤4.1得到的工作流模型的各个控制结构分段的等效任务对应的估计执行时间,按比例进行分配。
步骤6.2:依次将工作流模型的各个控制结构分段对应的松弛时间细分到各子任务。
步骤6.3:计算各子任务的可执行时间窗口。
各子任务的可执行时间窗口如表3所示,其中βi(s)为任务i的最早开始时间,δi(s)为子任务Ti的子截止期限。根据循环次数期望值计算公式,该实例中的循环结构等效循环次数为2次,表中的的记录分别对应循环结构中子任务T8、T9、T10第一次循环时的可执行时间窗口;的记录对应循环结构中子任务T8、T9、T10第二次循环时的可执行时间窗口。
表3各子任务的可执行时间窗口列表
步骤七、为步骤一中所述工作流模型中各子任务初选云服务资源。
在步骤六操作的基础上,为各子任务初选云服务资源,如表4所示。
表4工作流各子任务初选云服务资源列表
步骤八、执行步骤一中所述工作流。
在步骤七操作的基础上,执行工作流,并动态调整云服务资源,并将任务调度到选定的资源上执行。
按照工作流执行时的松弛时间重分配规则,将已执行结束任务的剩余松弛时间重新分配给其后继未执行的任务,并更新各个任务的可执行时间窗口。工作流中各个任务的实际执行时间与最终选用的资源如表5所示,其中βi(s)为任务Ti的开始执行时间,fi为任务Ti的执行结束时间,Si k表示任务Ti最终调度到了其资源池中的第k个资源上执行。选择控制结构中任务T5未被执行,故无需对其进行调度。
表5工作流各子任务实际执行时间及资源列表
经过计算,最终的总执行时间为dtotal=176s,执行费用为Ctotal=149$。对比采用静态调度算法及基于最大努力的云工作流调度算法对本例的工作流模型进行调度的结果,如表5第二行所示。为了说明本发明的效果,采用两种已有方法(基于最大努力的算法、不考虑动态调整算法),对上述任务进行操作,得到的结果分别如表6的第三行和第四行。通过对比可以看出本发明提出的方法在满足用户提出的要求下,选择使用更经济的资源,从而降低了成本。
表6实验结果对比列表
算法 总时间(s) 总费用($)
RoACS算法 176 149
基于最大努力的算法 105 285
不考虑动态调整算法 114 182

Claims (1)

1.一种支持任意流程结构的云工作流调度方法,其特征在于:其操作步骤为:
步骤一、采用有向图对任务进行工作流建模;
一个任务对应一个工作流,一个工作流通过一个三元组Ω(T,Λ,D)来描述,其中T为节点集合,T=(T1,T2……Tn),每个节点Ti对应工作流的各子任务,i∈[1,n]且i为正整数;Λ为有向边Tij的集合;Tij=(Ti,Tj),j∈[1,n],j为正整数,且i≠j;Ti是Tj的直接前驱子任务,当Ti的所有的前驱任务完成后,Tj才能开始执行D表示所述工作流的执行截止期限,工作流任务必须在该截止期限内执行完毕并把结果返回给用户,如果工作流执行超过了该时间D,则表明服务提供商不能按照用户提出的要求提供服务,此时将按照规定向用户进行赔偿;任意子任务Ti都有节点输入特性和节点输出特性 LT∈{AND,OR,XOR},AND表示“与”逻辑类型,OR表示“或”逻辑类型,XOR表示“循环”逻辑类型;分别表示子任务Ti的直接前驱子任务与直接后继子任务;
步骤二、对云服务资源建模;
在步骤一操作的基础上,对云服务资源建模;
在云环境下,对于任意一项子任务Ti,均存在多个可使用的云服务资源能实现其功能性的执行要求,将可使用的云服务资源的集合称为子任务Ti的服务资源池,用符号Si表示, 分别表示第1个至第L(i)个可使用的云服务资源,并且按照对子任务Ti的预计执行时间从小到大进行排序;L(i)表示Ti资源池中资源的个数;考虑工作流执行时间和使用资源应付费用这两个非功能指标,将可使用的云服务资源表示为 分别表示将Ti调度到服务资源池中的第k个资源上的执行时间和应付费用;
步骤三、建立工作流调度目标函数
在步骤二的基础上,建立工作流调度目标函数;
当服务提供商接受了用户的服务请求之后,将根据用户所提出的功能性指标和非功能性指标进行任务解析、资源匹配和任务调度,与此同时,服务提供商为了使收益最大化,需要通过改进调度策略,为任务匹配合适的资源以提高资源的利用率;因此,在对调度策略进行设计时,需要构造工作流调度的目标函数及相 关约束函数,以此更加直观的反映出作为调度目标的指标与其它约束指标之间的关系;对于截止期限约束下的费用优化问题,其调度目标函数如公式(1)所示,其表明了该工作流调度是以最小化资源使用费用为目标的;约束条件如公式(2)至公式(5)所示;
其中,是一个值为1或为0的布尔值,当子任务Ti被调度到其服务资源池Si中的第k个资源上执行时,的值为1,否则为0;是指子任务Ti匹配到其服务资源池Si中的第k个资源上执行时,对应的资源费用;
公式(2)表示了一个约束条件,说明每个子任务最终只能调度到一个资源上执行;
其中,表示子任务Tj匹配到资源上执行,对应的执行时间;fi表示子任务Ti在其所匹配到的资源上执行,对应的完成时刻;fj表示子任务Tj在其所匹配到的资源上执行,对应的完成时刻;
公式(3)描述了子任务间的依赖关系,子任务Tj的开始执行时刻大于其直接前驱子任务Ti的执行完成时刻,若子任务有多个直接前驱子任务,则表示最后一个直接前驱子任务执行对应的完成时刻;
fn≤D (4)
其中,fn表示工作流全局关键路径上末节点子任务Tn的执行完成时刻;
公式(4)表示总任务的完成时刻不得超过用户提出的截止期限;
公式(5)用来约束是布尔变量,以及变量i和k的取值范围;
步骤四、化简工作流模型,获得工作流的估计执行时间;
在步骤一的基础上,化简工作流模型,获得工作流的估计执行时间;具体为:
步骤4.1:将步骤一的得到的工作流模型按照不同的控制结构进行分段;
所述控制结构包括:顺序控制结构、并行控制结构、选择控制结构、循环控制结构和嵌套控制结构;
步骤4.2:分别计算每段控制结构对应的等效任务的估计执行时间;
(i)对于顺序控制结构化简的方法为:
将处于同一顺序控制结构的子任务合并为一个等效任务,该等效任务的估计执行时间为该结构中各子任务估计执行时间之和,如公式(6)所示;
其中,dE为等效任务的估计执行时间;dz为该顺序结构中各子任务的估计执行时间,r为该顺序结构中子任务的个数,r为正整数;
(ii)并行控制结构化简方法为:
比较处于并行控制结构各个分支上的子任务或等效任务的估计执行时间,保留估计执行时间最长的分支作为该并行结构的等效任务,该等效任务的估计执行时间是最长的一条分支上的子任务的估计执行时间之和,如公式(7)所示;所述
其中,为第i′条并行分支上的第j′个任务的估计执行时间,i′,j′为正整数;
(iii)选择控制结构化简方法为:
选择控制结构有N条分支,N>1;选择控制结构执行时,只有一条分支上的任务会被执行,根据历史的工作流执行运行数据统计,每条分支可能被执行的执行概率为Pt,通过加权求和的方法将选择控制结构进行化简,合并各个选择分支任务成为一个等效任务,该等效任务的估计执行时间,如公式(8)所示;
其中,dt表示第t个分支上各任务的估计执行时间之和,Pt表示第t个分支上的任务被执行的概率,Pt根据历史的工作流执行运行数据获得;
(iv)循环控制结构化简方法为:
循环控制结构中,进入循环与结束循环的概率分别用1-P和P表示,循环h(h≥0)次的估计执行时间为dh,dh=(1+h)dA+hdR,其中dA为前向路径上各子任务的估计执行时间之和,dR为循环回路上各子任务的等效执行时间;通过将循环 结构上的各任务等效合并为一个等效任务,该等效任务的估计执行时间,如公式(9)所示;
其中,Ph为出现h次循环的概率,Ph=P(1-P)h
(v)分支嵌套控制结构化简方法为:
分支嵌套控制结构的基本形式为:子任务T1有两个直接后继子任务子T2和T3,子任务T2的直接后继子任务为T4和T5,子任务T3的直接后继子任务为T5,子任务T4和子任务T5的直接后继子任务为T6
分支嵌套控制结构的化简分2种情况处理:
情况1:当子任务T2的估计执行时间大于子任务T3的估计执行时间时:
由于T2的估计执行时间d2大于T3的估计执行时间d3,所以路径{T1,T2,T5}的估计执行时间大于路径{T1,T3,T5}的估计执行时间,则将子任务T3从分支嵌套控制结构中去除;剩余部分按照顺序、并行、选择或循环控制结构的化简方法对其进行化简;
情况2:当子任务T2的估计执行时间小于或等于子任务T3的估计执行时间时:
由于子任务T2的估计执行时间d2小于或等于子任务T3的估计执行时间d3,所以路径{T1,T2,T5}的执行时间小于或等于路径{T1,T3,T5},则将子任务T2与子任务T5之间的连接断开,即:子任务为T5不再是子任务T2的直接后继子任务;剩余部分按照顺序、并行、选择或循环控制结构的化简方法对其进行化简;
步骤4.3:将每段控制结构对应的等效任务的估计执行时间进行求和,得到工作流的估计执行时间;
步骤五、计算化简后的工作流的松弛时间;
在步骤四的基础上,计算化简后的工作流的松弛时间,如公式(10)所示;
dcps=D-S-dcp (10)
其中,dcps为工作流的松弛时间;D为用户提出的任务截止期限;dcp为工作流的估计执行时间;S为工作流的开始时刻;
步骤六、获得步骤一中所述工作流模型中各子任务的可执行时间窗口;
在步骤五的基础上,获得工作流模型中各子任务的可执行时间窗口;具体为:
步骤6.1:将工作流的松弛时间根据步骤4.1得到的工作流模型的各个控制结构分段的等效任务对应的估计执行时间,按比例进行分配;
步骤6.2:依次将工作流模型的各个控制结构分段对应的松弛时间细分到各子任务;具体为:
(i)顺序控制结构松弛时间分配规则:根据各子任务的估计执行时间,按比例分配该顺序控制结构分段的等效任务对应的松弛时间;
(ii)并行控制结构松弛时间分配规则:并行控制结构各分支获得的松弛时间与该并行控制结构的等效任务所获得的松弛时间相等;然后,该并行控制结构各分支,按照顺序结构的松弛时间分配规则,为分支上各个子任务分配松弛时间;
(iii)选择控制结构松弛时间分配规则:选择控制结构各分支获得的松弛时间与该选择控制结构的等效任务所获得的松弛时间相等;然后,该选择控制结构各分支,按照顺序结构的松弛时间分配规则,为分支上各个子任务分配松弛时间;
(iv)循环控制结构松弛时间分配规则:首先,将循环结构加权求和得到的等效任务所获得松弛时间为dEs,通过公式(11)计算该循环控制结构的循环次数期望的值,用符号表示;
然后,将该循环控制结构展开为一个顺序控制结构,再按顺序控制结构松弛时间分配规则,为各子任务分配松弛时间;
(v)嵌套结构松弛时间分配规则,先按嵌套结构化简规则进行结构化简,然后运用顺序或并行控制结构的松弛时间分配方法为分支嵌套结构的各个子任务分配松弛时间;
步骤6.3:计算各子任务的可执行时间窗口;
根据公式(12)计算各子任务的可执行时间窗口;
根据子任务间的依赖关系,各子任务的开始时间和子截止期限具有以下关系:
其中,βz表示当前子任务的最早允许开始时刻,z表示子任务编号;entry表示执行时刻以及估计执行时间均为0的虚拟起始子任务;δz表示当前子任务的截止期限;dz表示当前子任务的估计执行时间;dzs表示当前子任务分配得到的松弛时间;δz′表示子任务Tz的直接前驱子任务的截止期限;
各子任务的可执行时间窗口由最早允许开始时刻和该子任务的截止期限确定;
步骤七、为步骤一中所述工作流模型中各子任务初选云服务资源;
在步骤六操作的基础上,为各子任务初选云服务资源;具体为:
在每一个任务的执行时间窗口下,选择满足执行时间要求且使用费用最低的云服务资源;
步骤八、执行步骤一中所述工作流;
在步骤七操作的基础上,执行工作流,并动态调整云服务资源,并将任务调度到选定的资源上执行;具体为:
步骤8.1:将起始子任务调度到步骤七中起始子任务选定的资源上进行执行;同时根据任务间的依赖关系,得到后继子任务的就绪队列;
步骤8.2:将正在执行的子任务作为当前子任务;
步骤8.3:当前子任务执行完毕后,计算当前子任务的剩余松弛时间,用符号dis表示:dis=δi-fi,其中,δi是当前子任务的截止期限;fi是当前子任务的实际执行完成时刻;
根据各子任务的估计执行时间,按比例分配该顺序控制结构分段的等效任务对应的松弛时间;
步骤8.4:对当前子任务的剩余松弛时间dis进行重分配,具体为:
步骤8.4.1:首先获得工作流全局关键路径和局部关键路径;
步骤8.4.2:根据当前子任务的所处位置,分4种情况进行处理:
情况1:如果当前子任务处于顺序控制结构、并行控制结构或选择控制结构时,并且当前子任务处于全局关键路径上,则将当前子任务的剩余松弛时间dis,根据全局关键路径上的后继子任务的估计执行时间,按比例重新分配给全局关键路径上的后继子任务;
情况2:如果当前子任务处于顺序控制结构、并行控制结构或选择控制结构 时,并且当前子任务处于局部关键路径上,则将当前子任务的剩余松弛时间dis,根据该局部关键路径上的后继子任务的估计执行时间,按比例重新分配给该局部关键路径上的后继子任务;
情况3:如果当前子任务处于顺序控制结构、并行控制结构或选择控制结构时,并且当前子任务处于非关键路径上,则将当前子任务的剩余松弛时间dis,根据该非关键路径上的后继子任务的估计执行时间,按比例重新分配给该非关键路径上的后继子任务;
情况4:如果当前子任务处于循环控制结构构时,由于循环次数不定,难以获得未执行任务的确切数目,此时,将当前子任务的剩余松弛时间dis,全部分配给其直接后继子任务;
步骤8.5:根据公式(13)更新松弛时间发生变化的直接后继子任务(用符号Tj表示)的可执行时间窗口;
其中,δj表示当前子任务的直接后继子任务Tj更新后的截止期限;βj为当前子任务的直接后继子务Tj的最早开始时刻,fi是当前子任务的实际执行完成时刻;dj表示当前子任务的直接后继子任务Tj的估计执行时间,djs为重分配后当前子任务的直接后继子任务Tj获得的松弛时间;
步骤8.6:根据公式(14)更新松弛时间发生变化的间接后继子任务的可执行时间窗口,用符号T′j表示当前子任务的任意一个间接后继子任务;
其中,δ′j表示当前子任务的间接后继子任务T′j更新后的截止期限;β′j为当前子任务的间接后继子任务T′j的最早开始时刻,δi是间接后继子任务T′j的直接前驱子任务的截止期限;d′j表示当前子任务的间接后继子任务T′j的估计执行时间,d′js为重分配后当前子任务的间接后继子任务T′j的获得的松弛时间;
步骤8.7:将当前子任务的直接后继子任务Tj作为当前子任务,将当前子任务调度到步骤七中当前子任务选定的资源上进行执行;同时根据任务间的依赖关系,得到后继子任务的就绪队列;重复步骤8.3至步骤8.7的操作,直到操作结 束。
CN201610801589.4A 2016-09-05 2016-09-05 一种支持任意流程结构的云工作流调度方法 Pending CN106447173A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610801589.4A CN106447173A (zh) 2016-09-05 2016-09-05 一种支持任意流程结构的云工作流调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610801589.4A CN106447173A (zh) 2016-09-05 2016-09-05 一种支持任意流程结构的云工作流调度方法

Publications (1)

Publication Number Publication Date
CN106447173A true CN106447173A (zh) 2017-02-22

Family

ID=58164281

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610801589.4A Pending CN106447173A (zh) 2016-09-05 2016-09-05 一种支持任意流程结构的云工作流调度方法

Country Status (1)

Country Link
CN (1) CN106447173A (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106951313A (zh) * 2017-03-02 2017-07-14 北京工业大学 多工作流共享资源协同调度的子期限获取方法
CN107491931A (zh) * 2017-07-12 2017-12-19 浙江大学 一种基于众创设计的设计任务数据分解方法
CN107977270A (zh) * 2017-11-22 2018-05-01 用友金融信息技术股份有限公司 对等资源分配方法、对等资源分配系统及计算机装置
CN108399491A (zh) * 2018-02-02 2018-08-14 浙江工业大学 一种基于网络图的员工多样性排序方法
CN108415740A (zh) * 2018-03-09 2018-08-17 成都优易数据有限公司 一种应用于数据分析任务的工作流调度方法
CN108491273A (zh) * 2018-03-30 2018-09-04 深圳汇通智能化科技有限公司 基于云计算的空气污染数据采集分析系统
CN109542620A (zh) * 2018-11-16 2019-03-29 中国人民解放军陆军防化学院 一种云中关联任务流的资源调度配置方法
CN109948848A (zh) * 2019-03-19 2019-06-28 中国石油大学(华东) 一种云中科学工作流下截止期限约束的费用优化调度方法
CN109992355A (zh) * 2019-01-30 2019-07-09 北京理工大学 一种基于改进非支配遗传算法的多目标云工作流调度方法
CN110348817A (zh) * 2019-07-17 2019-10-18 桂林电子科技大学 一种语义工作流并行化重构方法
CN111190753A (zh) * 2019-12-30 2020-05-22 腾讯科技(深圳)有限公司 分布式任务处理方法、装置、存储介质和计算机设备
CN111832842A (zh) * 2020-07-28 2020-10-27 西南交通大学 基于提前期的时间工作流网络执行效率提升方法
CN111950835A (zh) * 2019-12-06 2020-11-17 中国人民解放军国防科技大学 基于竞价型实例的截止期约束工作流资源调度方法
WO2020232951A1 (zh) * 2019-05-17 2020-11-26 深圳前海微众银行股份有限公司 一种任务执行方法及装置
CN112818003A (zh) * 2021-01-14 2021-05-18 内蒙古蒙商消费金融股份有限公司 一种查询任务的执行风险预估方法及装置
CN113190336A (zh) * 2021-05-19 2021-07-30 浙江中烟工业有限责任公司 一种基于有向无环图分层的工作流调度方法及装置

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106951313B (zh) * 2017-03-02 2021-04-23 北京工业大学 多工作流共享资源协同调度的子期限获取方法
CN106951313A (zh) * 2017-03-02 2017-07-14 北京工业大学 多工作流共享资源协同调度的子期限获取方法
CN107491931A (zh) * 2017-07-12 2017-12-19 浙江大学 一种基于众创设计的设计任务数据分解方法
CN107977270A (zh) * 2017-11-22 2018-05-01 用友金融信息技术股份有限公司 对等资源分配方法、对等资源分配系统及计算机装置
CN108399491A (zh) * 2018-02-02 2018-08-14 浙江工业大学 一种基于网络图的员工多样性排序方法
CN108399491B (zh) * 2018-02-02 2021-10-29 浙江工业大学 一种基于网络图的员工多样性排序方法
CN108415740A (zh) * 2018-03-09 2018-08-17 成都优易数据有限公司 一种应用于数据分析任务的工作流调度方法
CN108415740B (zh) * 2018-03-09 2021-05-18 成都优易数据有限公司 一种应用于数据分析任务的工作流调度方法
CN108491273A (zh) * 2018-03-30 2018-09-04 深圳汇通智能化科技有限公司 基于云计算的空气污染数据采集分析系统
CN109542620B (zh) * 2018-11-16 2021-05-28 中国人民解放军陆军防化学院 一种云中关联任务流的资源调度配置方法
CN109542620A (zh) * 2018-11-16 2019-03-29 中国人民解放军陆军防化学院 一种云中关联任务流的资源调度配置方法
CN109992355A (zh) * 2019-01-30 2019-07-09 北京理工大学 一种基于改进非支配遗传算法的多目标云工作流调度方法
CN109948848A (zh) * 2019-03-19 2019-06-28 中国石油大学(华东) 一种云中科学工作流下截止期限约束的费用优化调度方法
WO2020232951A1 (zh) * 2019-05-17 2020-11-26 深圳前海微众银行股份有限公司 一种任务执行方法及装置
CN110348817B (zh) * 2019-07-17 2021-06-18 桂林电子科技大学 一种语义工作流并行化重构方法
CN110348817A (zh) * 2019-07-17 2019-10-18 桂林电子科技大学 一种语义工作流并行化重构方法
CN111950835B (zh) * 2019-12-06 2021-03-12 中国人民解放军国防科技大学 基于竞价型实例的截止期约束工作流资源调度方法
CN111950835A (zh) * 2019-12-06 2020-11-17 中国人民解放军国防科技大学 基于竞价型实例的截止期约束工作流资源调度方法
CN111190753A (zh) * 2019-12-30 2020-05-22 腾讯科技(深圳)有限公司 分布式任务处理方法、装置、存储介质和计算机设备
CN111190753B (zh) * 2019-12-30 2023-03-21 腾讯科技(深圳)有限公司 分布式任务处理方法、装置、存储介质和计算机设备
CN111832842A (zh) * 2020-07-28 2020-10-27 西南交通大学 基于提前期的时间工作流网络执行效率提升方法
CN112818003A (zh) * 2021-01-14 2021-05-18 内蒙古蒙商消费金融股份有限公司 一种查询任务的执行风险预估方法及装置
CN112818003B (zh) * 2021-01-14 2023-03-31 内蒙古蒙商消费金融股份有限公司 一种查询任务的执行风险预估方法及装置
CN113190336A (zh) * 2021-05-19 2021-07-30 浙江中烟工业有限责任公司 一种基于有向无环图分层的工作流调度方法及装置
CN113190336B (zh) * 2021-05-19 2024-04-30 浙江中烟工业有限责任公司 一种基于有向无环图分层的工作流调度方法及装置

Similar Documents

Publication Publication Date Title
CN106447173A (zh) 一种支持任意流程结构的云工作流调度方法
Bessai et al. Bi-criteria workflow tasks allocation and scheduling in cloud computing environments
Lombardi et al. Optimal methods for resource allocation and scheduling: a cross-disciplinary survey
Wieczorek et al. Towards a general model of the multi-criteria workflow scheduling on the grid
Toosi et al. Revenue maximization with optimal capacity control in infrastructure as a service cloud markets
CN101237469B (zh) 运用蚁群算法优化多QoS网格工作流的方法
US8108521B2 (en) Methods and systems for dynamic parallel processing
CN109960576A (zh) 一种面向cpu-gpu异构的低能耗任务调度策略
CN103617472B (zh) 多项目多任务管理中的资源平衡自适应调度方法
US11704316B2 (en) Systems and methods for determining peak memory requirements in SQL processing engines with concurrent subtasks
WO2020186872A1 (zh) 一种云中科学工作流下截止期限约束的费用优化调度方法
Ostermann et al. Impact of variable priced cloud resources on scientific workflow scheduling
CN103279818A (zh) 基于启发式遗传算法的云工作流调度方法
CN107943561B (zh) 一种面向云计算平台的科学工作流任务调度方法
Xu et al. Resource allocation vs. business process improvement: How they impact on each other
CN110196773B (zh) 统一调度计算资源的多时间尺度安全校核系统及方法
CN106502790A (zh) 一种基于数据分布的任务分配优化方法
Bessai et al. Bi-criteria strategies for business processes scheduling in cloud environments with fairness metrics
Martinez et al. Planning workflow executions when using spot instances in the cloud
Fakhfakh et al. A provisioning approach of cloud resources for dynamic workflows
CN116430736B (zh) 一种用于航天测控的多智能体自主协同调配方法
Jung et al. A workflow scheduling technique using genetic algorithm in spot instance-based cloud
CN106598716A (zh) 一种基于多处理器的任务调度方法
CN110119268A (zh) 基于人工智能的工作流优化方法
Ammar et al. Scheduling real time parallel structure on cluster computing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170222

WD01 Invention patent application deemed withdrawn after publication