CN112256925A - 一种面向多请求的科学工作流数据集存储方法 - Google Patents

一种面向多请求的科学工作流数据集存储方法 Download PDF

Info

Publication number
CN112256925A
CN112256925A CN202011131397.XA CN202011131397A CN112256925A CN 112256925 A CN112256925 A CN 112256925A CN 202011131397 A CN202011131397 A CN 202011131397A CN 112256925 A CN112256925 A CN 112256925A
Authority
CN
China
Prior art keywords
data set
storage
cost
total
workflow
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
Application number
CN202011131397.XA
Other languages
English (en)
Other versions
CN112256925B (zh
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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN202011131397.XA priority Critical patent/CN112256925B/zh
Publication of CN112256925A publication Critical patent/CN112256925A/zh
Application granted granted Critical
Publication of CN112256925B publication Critical patent/CN112256925B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Genetics & Genomics (AREA)
  • Physiology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例通过一种面向多请求的科学工作流数据集存储方法,通过工作流的数据集构建工作流表示模型,确定对个存储策略,当多请求访问访问多个数据集时,对多个访问请求进行希尔排序,然后根据排序后的访问请求在工作流表示模型中的数据集的生成顺序,分别计算在每个存储策略下多个访问请求访问的数据集的再生代价以及每个存储策略对应的存储代价,计算每个存储策略的总代价,按照总代价最小的存储策略对应的数据集的存储状态,对数据集进行存储。因此本发明可以在多访问请求访问多个数据集时,降低云环境下科学工作流的花费。

Description

一种面向多请求的科学工作流数据集存储方法
技术领域
本发明属于云存储领域,具体涉及一种面向多请求的科学工作流数据集存储方法。
背景技术
科学工作流系统是一种数据集密集型应用,主要通过对科学计算产生的海量数据进行数据分析、结果验证,然后按照整体研究流程将这些数据顺序的组织起来,形成一个自动化或者半自动化的流系统,在运行科学工作流任务期间通常会产生大量具有复杂依赖关系的中间数据集(中间结果)以及非中间数据集,中间数据集常常是科研工作不可或缺的数据集,这些中间数据集的数据集量庞大,需要在科学工作流管理过程中权衡这些中间数据集的存储以及删除,实现对数据集的管理。
云环境的出现为科学工作流系统提供了一个相对较好的发展平台,云环境下科学工作流的花费主要包含两种,存储花费以及执行花费,前者主要为存储在云环境中的数据花费,后者主要为使用云计算资源执行程序生成数据所需要的花费。理论上所有的数据文件都可以进行存储,但是对于一些不经常访问的文件来说,完全存储就会造成资源浪费,一般会对中间数据集选择性存储,以降低云环境下科学工作流系统的总费用。中间数据集在删除后,再次访问该中间数据集时需要重新生成该中间数据集,而访问请求并不单一,同时访问多个中间数据集需要重新生成这些中间数据集,但是有些数据集依赖其他数据集生成,因此会重复生成一些中间数据集,使得云环境下科学工作流的花费较高。
发明内容
为了解决现有技术中存在的上述问题,本发明提供了一种面向多请求的科学工作流数据集存储方法。本发明要解决的技术问题通过以下技术方案实现:
本发明实施例提供的一种面向多请求的科学工作流数据集存储方法,包括:
获取当前时间前科学工作流执行任务时产生的数据集,所述数据集包括起始数据集以及中间数据集;
基于所述数据集之间的依赖关系,建立工作流表示模型;
基于所述数据集在所述工作流表示模型中的不同的存储状态,确定多个存储策略;
计算每一个存储策略对应的存储代价;
获取当前时间的包含多个访问请求的请求列表;
将所述访问请求进行希尔排序,获得排序列表;
在所述工作流表示模型中确定所述排序列表对应的待访问中间数据集的生成顺序;
按照所述生成顺序,计算在每个存储策略下生成所述待访问中间数据集时的总再生代价;
针对每个存储策略,基于该存储策略对应的存储代价以及总再生代价,计算该存储策略的总代价;
确定总代价最小的存储策略为最优存储策略;
按照所述最优存储策略对应的数据集的存储状态,对所述数据集进行存储;
其中,所述存储状态包括:已存储和未存储。
可选的,所述基于所述数据集之间的依赖关系,建立工作流表示模型的步骤包括:
将所述科学工作流执行的每个任务作为预设的有向无环图的节点,每个任务包括输入数据集以及输出数据集;
从第一个节点至最后一个节点中的任一当前节点,将所述当前数据集作为所述有向无环图的当前节点的输入,将依赖所述当前数据集生成的中间数据集作为所述当前节点的输出,将当前任务的执行时间作为当前数据集与依赖该当前数据集生成的中间数据集之间的连接权值,获得工作流表示模型。
可选的,所述基于所述数据集在所述工作流表示模型中的不同的存储状态,确定多个存储策略的步骤包括:
在所述工作流表示模型中从起始数据集至最后一个数据集的每一个路径,将每个路径上的数据集在所述工作流表示模型中不同的存储状态,按照所述数据集在所述工作流表示模型中的依赖顺序组成存储策略。
可选的,在所述基于所述数据集在所述工作流表示模型中的不同的存储状态,确定多个存储策略的步骤包括:
将数据集按照其存储状态转换为二进制数;
将每个数据集转化后的二进制数按照数据集的依赖顺序排列,获得转化为二进制串的多个存储策略。
可选的,所述计算每一个存储策略对应的存储代价的步骤,包括:
针对每个存储策略,使用存储代价计算公式计算该存储策略对应的存储代价;
其中,存储代价计算公式为:
Figure BDA0002735289460000041
Figure BDA0002735289460000042
其中,n表示总数据集个数,i表示数据集的序号,D表示数据集集合,D={d0,d1,…,dn},t表示数据集的存储时间长度,X表示数据集的存储状态集合,X={x0,x1,…,xn},di表示第i个数据集,xi表示di的存储状态,si表示数据集di的大小,当xi=1时,表示数据集di存储,当xi=0时,表示数据集di未存储,Ps是常数表示云存储价格,si,t,xi则可以通过第一次运行程序时获取得到。
可选的,所述按照所述排序列表中待访问中间数据集的生成顺序,计算在每个存储策略下生成所述待访问中间数据集的总再生代价的步骤,包括:
基于所述工作流表示模型中所述待访问中间数据集的前驱数据集,使用代价计算公式计算在每个存储策略下生成所述待访问中间数据集的总再生代价;
代价计算公式为:
Figure BDA0002735289460000043
Figure BDA0002735289460000044
Figure BDA0002735289460000045
其中,ζr(L,τ|X)表示在每个存储策略下生成待访问中间数据集的总再生代价,L表示在存储时间长度t内所有请求列表的总集合,L={l1,l2,l3,…,lm},m表示请求列表的总数,li表示第i个请求列表,τ表示数据集的生成时间的总集合,τ={τ12,…,τn},τi表示数据集di的生成时间,X={x1,x2,x3,…,xn},X表示工作流中数据集的存储状态集合,xi=0表示数据集被删除,xi=1表示数据集di被存储,jk表示排序后的访问请求的下标,k表示排序后的访问请求的序号,Γ(li)表示li中的访问请求进行排序后,访问请求的下标组成的列表,
Figure BDA0002735289460000051
表示生成请求访问
Figure BDA0002735289460000052
对应数据集的再生代价,
Figure BDA0002735289460000053
表示数据集
Figure BDA0002735289460000054
的生成时间,
Figure BDA0002735289460000055
表示计算li中第k个数据集的再生代价时,数据集dh所对应的存储状态,
Figure BDA0002735289460000056
表示Γ(li)中第k个访问请求或第k个访问请求对应的数据集,
Figure BDA0002735289460000057
表示在生成第k+1个数据集时,将数据集dh更新为存储状态,h表示Preset(jk)内的值,Pr为常数,表示云环境下的计算价格,Preset(jk)表示数据集
Figure BDA0002735289460000058
的前驱节点的下标集合,R(dh)表示访问请求访问数据集dh的再生代价。
可选的,所述针对每个存储策略,基于该存储策略对应的存储代价以及所述总再生代价,计算该存储策略的总代价的步骤包括:
针对每个存储策略,将该存储策略对应的存储代价以及该存储策略的总再生代价求和,确定总代价。
可选的,所述针对每个存储策略,将该存储策略对应的存储代价以及该存储策略的总再生代价求和,确定总代价的步骤,包括:
针对每个存储策略,将该存储策略对应的存储代价以及该存储策略的总再生代价使用总代价公式求和,确定总代价;
其中,所述总代价计算公式为:
ζ(D,X,t,L)=ζS(D,t|X)+ζr(L,τ|X)
其中,ζ(D,X,t,L)表示总代价,ζS(D,t|X)表示存储代价,ζr(L,τ|X)表示总再生代价,D表示数据集集合,D={d0,d1,…,dn},X={x1,x2,x3,…,xn}表示工作流中数据集的存储状态,xi=0表示数据集被删除,xi=1表示数据集被存储,t表示数据集的存储时间长度,L表示在存储时间长度t内所有请求列表的总集合,L={l1,l2,l3,…,lm},m表示请求列表的总数,τ表示数据集的生成时间的总集合,τ={τ12,…,τn},m表示请求列表的总数。
可选的,所述确定总代价最小的存储策略为最优存储策略的步骤,包括:
利用遗传算法,确定总成本最小的存储策略;
将总代价最小的存储策略确定为最优存储策略。
可选的,所述利用遗传算法,确定总成本最小的存储策略的步骤包括:
获取遗传算法的种群;
将所述种群初始化后进编码,得到多个染色个体,每个染色个体的位值与总数据集个数相同,每个染色个体对应一个二进制串的存储策略;
将总代价最小作为染色个体的适应度,重复执行使用计算算子对每个染色个体进行操作,获得总代价最小的染色个体,并产生新的染色个体加入所述种群直至达到截止条件;
当达到截止条件时,将总代价最小的染色个体对应的存储策略确定为总代价最小的存储策略。
本发明实施例通过一种面向多请求的科学工作流数据集存储方法,通过工作流的数据集构建工作流表示模型,确定对个存储策略,当多请求访问访问多个数据集时,对多个访问请求进行希尔排序,然后根据排序后的访问请求在工作流表示模型中的数据集的生成顺序,分别计算在每个存储策略下多个访问请求访问的数据集的再生代价以及每个存储策略对应的存储代价,计算每个存储策略的总代价,按照总代价最小的存储策略对应的数据集的存储状态,对数据集进行存储。因此本发明可以在多访问请求访问多个数据集时,降低云环境下科学工作流的花费。
以下将结合附图及实施例对本发明做进一步详细说明。
附图说明
图1是本发明实施例提供的一种面向多请求的科学工作流数据集存储方法的流程图;
图2a是本发明实施例提供的工作流表示模型的结构示意图;
图2b是本发明实施例提供的工作流数据关系依赖图;
图3a是本发明实施例提供的多个访问请求对应的多个数据集的结构示意图;
图3b是本发明实施例提供的按生成顺序生成数据集的过程示意图;
图4是本发明实施例提供的遗传算法求解的流程图。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
实施例一
如图1所示,本发明实施例提供的一种面向多请求的科学工作流数据集存储方法,包括:
S1,获取当前时间前科学工作流执行任务时产生的数据集。
其中,所述数据集包括起始数据集以及中间数据集;
S2,基于数据集之间的依赖关系,建立工作流表示模型;
其中,依赖关系是指数据集生成时,依赖的数据集与自身的关系。
参考图2a,图2a为含有9个数据集的非线性科学工作流任务获取的科学工作流任务执行产生的中间数据集。根据数据集之间的依赖关系,得到工作流表示模型,工作流表示模型为有向无环图。在图2a中,di表示第i个数据集,箭头表示数据集之间的依赖关系,d0指向d1表示d0生成d1,d1指向d2、d3、d4,表示d1生成数据集d2、d3、d4
参考图2b,图2b是含有9个数据集非线性科学工作流数据集依赖图,基于图2a工作流模型图,以任务执行时间作为连接权值,省去中间的任务表示,构建得到数据集依赖关系图,该图可以表示工作流表示模型中的数据集的依赖关系。
S3,基于数据集在所述工作流表示模型中的不同的存储状态,确定多个存储策略;
S4,计算每一个存储策略对应的存储代价;
S5,获取当前时间的多个访问请求;
S6,将访问请求进行希尔排序,获得排序列表;
可以理解,针对多请求访问按照数据依赖关系,对多个请求进行希尔排序,构造多请求之间的生成顺序,得到一个的排序列表。
参考图3a以及图3b,当数据集d3,d5,d7,d8的四个访问请求同时到达时,按照图3b中步骤一至步骤五的顺序,先对访问请求进行排序,然后按照次序逐一生成,生成方式与单请求访问相同。同时访问的多个数据集如果未存储,会重新生成。在生成过程中已生成的数据集会暂时保存,用以生成之后访问请求访问的数据集。
S7,在工作流表示模型中确定所述排序列表对应的待访问中间数据集的生成顺序;
S8,按照生成顺序,计算在每个存储策略下生成待访问中间数据集的再生代价;
S9,针对每个存储策略,基于该存储策略的存储代价以及再生代价,计算该存储策略的总代价;
S10,确定总代价最小的存储策略为最优存储策略;
S11,按照最优存储策略对应的数据集的存储状态,对所述数据集进行存储。
其中,所述存储状态包括:已存储和未存储。
本发明实施例通过一种面向多请求的科学工作流数据集存储方法,通过工作流的数据集构建工作流表示模型,确定对个存储策略,当多请求访问访问多个数据集时,对多个访问请求进行希尔排序,然后根据排序后的访问请求在工作流表示模型中的数据集的生成顺序,分别计算在每个存储策略下多个访问请求访问的数据集的再生代价以及每个存储策略对应的存储代价,计算每个存储策略的总代价,按照总代价最小的存储策略对应的数据集的存储状态,对数据集进行存储。因此本发明可以在多访问请求访问多个数据集时,降低云环境下科学工作流的花费。
实施例二
作为本发明可选的一种实施例,上述S2的步骤包括:
步骤a:将所述科学工作流执行的每个任务作为预设的有向无环图的节点,每个任务包括输入数据集以及输出数据集;
步骤b:从第一个节点至最后一个节点中的任一当前节点,将所述当前数据集作为所述有向无环图的当前节点的输入,将依赖所述当前数据集生成的中间数据集作为所述当前节点的输出,将当前任务的执行时间作为当前数据集与依赖该当前数据集生成的中间数据集之间的连接权值,获得工作流表示模型。
参考图2b,由于使用有向无环图的形式将数据集之间按照数据依赖关系组织起来,因此数据集之间以任务相连接,每个任务包括输入数据和输出数据,每个任务至少都包含一个输出与一个输出。程序的输入可以是多个,也可以是单个数据。此后进一步将工作流模型图抽象,数据之间相互连接的数据工作流表示模型,以任务执行的时间作为连接权值,表示数据之间的派生关系,省去了中间的任务表示。
实施例三
作为本发明可选的一种实施例,上述S3的步骤包括:
在所述工作流表示模型中从起始数据集至最后一个数据集的每一个路径,将每个路径上的数据集在所述工作流表示模型中不同的存储状态,按照所述数据集在所述工作流表示模型中的依赖顺序组成存储策略。
实施例四
作为本发明可选的一种实施例,在所述基于所述数据集在所述工作流表示模型中的不同的存储状态,确定多个存储策略的步骤包括:
步骤a:将数据集按照其存储状态转换为二进制数;
步骤b:将每个数据集转化后的二进制数按照数据集的依赖顺序排列,获得转化为二进制串的多个存储策略。
实施例五
作为本发明可选的一种实施例,所述计算每一个存储策略的存储代价的步骤,包括:
针对每个存储策略,使用存储代价计算公式计算该存储策略的存储代价;
其中,存储代价计算公式为:
Figure BDA0002735289460000111
Figure BDA0002735289460000112
其中,n表示总数据集个数,i表示数据集的序号,D表示数据集集合,D={d0,d1,…,dn},t表示数据集的存储时间长度,X表示数据集的存储状态集合,X={x0,x1,…,xn},di表示第i个数据集,xi表示di的存储状态,si表示数据集di的大小,当xi=1时,表示数据集di存储,当xi=0时,表示数据集di未存储。
实施例六
作为本发明可选的一种实施例,上述S8的步骤包括:
基于所述工作流表示模型中所述待访问中间数据集的前驱数据集,使用代价计算公式计算在每个存储策略下生成所述待访问中间数据集的总再生代价;
代价计算公式为:
Figure BDA0002735289460000113
Figure BDA0002735289460000114
Figure BDA0002735289460000115
其中,ζr(L,τ|X)表示在每个存储策略下生成待访问中间数据集的总再生代价,L表示在存储时间长度t内所有请求列表的总集合,L={l1,l2,l3,…,lm},m表示请求列表的总数,li表示第i个请求列表,τ表示数据集的生成时间的总集合,τ={τ12,…,τn},τi表示数据集di的生成时间,X={x1,x2,x3,…,xn},X表示工作流中数据集的存储状态集合,xi=0表示数据集被删除,xi=1表示数据集di被存储,jk表示排序后的访问请求的下标,k表示排序后的访问请求的序号,Γ(li)表示li中的访问请求进行排序后,访问请求的下标组成的列表,
Figure BDA0002735289460000121
表示生成请求访问
Figure BDA0002735289460000122
对应数据集的再生代价,
Figure BDA0002735289460000123
表示数据集
Figure BDA0002735289460000124
的生成时间,
Figure BDA0002735289460000125
表示计算li中第k个数据集的再生代价时,数据集dh所对应的存储状态,
Figure BDA0002735289460000126
表示Γ(li)中第k个访问请求或第k个访问请求对应的数据集,
Figure BDA0002735289460000127
表示在生成第k+1个数据集时,将数据集dh更新为存储状态,h表示Preset(jk)内的值,Pr为常数,表示云环境下的计算价格,Preset(jk)表示数据集
Figure BDA0002735289460000128
的前驱节点的下标集合,R(dh)表示访问请求访问数据集dh的再生代价。
再生数据集需要对计算资源的调度,通过已有的数据集来生成未存储的数据集,因此计算代价同样与存储策略有关;
Figure BDA0002735289460000129
其中,R(di)表示生成di数据的再生代价,已存储的数据不需要通过再生便可直接访问,而访问未存储的数据,需要计算再生代价。
可以理解,若要生成某个存储的中间数据集,有多种生成路径,这些路径代表生成中间数据的方式,通过已经存储的数据集,以及生成路径,便可以生成所需要的中间数据集。最差的方法是无论哪个节点都从初始数据集生成,这样找出需要生成的节点即可,但是这种做法无疑对资源造成了极大的浪费,因此寻找最节约资源的生成路径就显得比较重要。而最短生成路径无疑是找到所需要生成节点的必备前驱节点,而具体的方法便是,找出所需要生成节点的前驱节点,若前驱节点已经存储则停止,否则继续向前寻找前驱节点。这样做的好处是从目标节点(待访问数据集)向前搜索,找到生成该目标节点所需的前驱节点,不会造成资源浪费,而且路径也是最短的。
假设待访问数据集为di,这个找到di的前驱节点的集合称为Preset(i),这样单个数据集的再生代价公式如下:
R(di)=Pr·τi+∑h∈Preset(i)[R(dh)·(1-xh)]
在该公式中,τi表示每个数据集生成时间,对应有向无环图中的指向di边的权,R(di)表示生成di单个数据集的再生代价,di表示第i个数据集,Pr为云环境下计算资源的计费单价,τi表示每个数据集的生成时间,Preset(i)表示数据集di的前驱节点下标的集合,h则表示在Preset(i)集合中的值,xh表示数据dh的存储状态,dh表示下标为h的数据集,R(dh)表示再生数据集dh的再生代价。
针对多请求访问,多个访问请求进行希尔排序,构造多访问请求之间的生成顺序,之后可以采取暂存储的策略,对请求列表中排列靠前的访问请求对应在数据集生成之后,对该数据集进行暂存储,用以作为生成后面请求的输入,由此可得下述公式:
Figure BDA0002735289460000131
将上述单个的再生代价公式与上述公式整合,得到下述公式:
Figure BDA0002735289460000132
Figure BDA0002735289460000133
此外生成代价与单独生成每个数据集时的生成时间以及访问次数有关,因此总代价计算公式为,
Figure BDA0002735289460000141
其中,ζr(L,τ|X)表示在每个存储策略下生成待访问中间数据集的总再生代价,L表示在存储时间长度t内所有请求列表的总集合,L={l1,l2,l3,…,lm},m表示请求列表的总数,li表示第i个请求列表,τ表示数据集的生成时间的总集合,τ={τ12,…,τn},τi表示数据集di的生成时间,X={x1,x2,x3,…,xn},X表示工作流中数据集的存储状态集合,xi=0表示数据集被删除,xi=1表示数据集di被存储,jk表示排序后的访问请求的下标,k表示排序后的访问请求的序号,Γ(li)表示li中的访问请求进行排序后,访问请求的下标组成的列表,
Figure BDA0002735289460000142
表示生成请求访问
Figure BDA0002735289460000143
对应数据集的再生代价,
Figure BDA0002735289460000144
表示数据集
Figure BDA0002735289460000145
的生成时间,
Figure BDA0002735289460000146
表示计算li中第k个数据集的再生代价时,数据集dh所对应的存储状态,
Figure BDA0002735289460000147
表示Γ(li)中第k个访问请求或第k个访问请求对应的数据集,
Figure BDA0002735289460000148
表示在生成第k+1个数据集时,将数据集dh更新为存储状态,h表示Preset(jk)内的值,Pr为常数,表示云环境下的计算价格,Preset(jk)表示数据集
Figure BDA0002735289460000149
的前驱节点的下标集合,R(dh)表示访问请求访问数据集dh的再生代价。
实施例七
作为本发明可选的一种实施例,上述S9的步骤包括:
将每个存储策略下生成所述目标中间数据集的再生代价求和,得到总再生代价。
实施例八
作为本发明可选的一种实施例,上述将每个存储策略下生成所述目标中间数据集的再生代价求和,得到总再生代价的步骤包括:
针对每个存储策略,将该存储策略对应的存储代价以及该存储策略的总再生代价使用总代价公式求和,确定总代价;
其中,所述总代价计算公式为:
ζ(D,X,t,L)=ζS(D,t|X)+ζr(L,τ|X)
D表示数据集集合,D={d0,d1,…,dn},X={x1,x2,x3,…,xn}表示工作流中数据集的存储状态,xi=0表示数据集被删除,xi=1表示数据集被存储,t表示数据集的存储时间长度,L表示在存储时间长度t内所有请求列表的总集合,L={l1,l2,l3,…,lm},m表示请求列表的总数,τ表示数据集的生成时间的总集合,τ={τ12,…,τn},m表示请求列表的总数。
可以理解,云环境下科学工作流系统的代价主要为两种,存储代价与再生代价,这两者都与存储策略相关。在确定了计算方式之后,每种存储策略都对应一个存储代价以及再生总代价,两者求和为存储策略的总代价。
可以理解,每次访问可能存在多个访问请求,每次访问的所有访问请求将以请求列表形式存储在访问记录中。
实施例九
作为本发明可选的一种实施方式,上述S10的步骤包括:
步骤a:利用遗传算法,确定总成本最小的存储策略;
步骤b:将总代价最小的存储策略确定为最优存储策略。
实施例十
作为本发明可选的一种实施方式,所述确定总代价最小的存储策略为最优存储策略的步骤包括:
步骤a:获取遗传算法的种群;
步骤b:将所述种群初始化后进编码,得到多个染色个体,每个染色个体的位值与总数据集个数相同,每个染色个体对应一个二进制串的存储策略;
步骤c:将总代价最小作为染色个体的适应度,重复执行使用计算算子对每个染色个体进行操作,获得总代价最小的染色个体,并产生新的染色个体加入所述种群直至达到截止条件;
步骤d:当达到截止条件时,将总代价最小的染色个体对应的存储策略确定为总代价最小的存储策略。
通过总代价计算可以获知每一个存储策略都对应一个总代价,因此解空间的大小对应的是存储策略的数目,确定总代价最小的存储策略就可以转换为如下形式:
Minζ(D,X,t,L)
s.t.X={x1,x2,x3,…,xn}∈{0,1}n
D={d1,d2,d3,…,dn}
t∈(0,+∞)
解空间(种群空间)便对应各种存储策略是一串由0和1组成的串,科学工作流数据除了初始数据必须存储,其他数据都可以进行选择性存储,因此随着工作流规模的变大,因此一个n数据集的工作流,总的存储策略数为2n-1,解空间的复杂度为2n-1;由于存储策略X形式的特殊性,是的每种存储策略都类似于二进制串,因此我们可以利用穷举的算法将整个过程进行计算,最后找到其中的最优解。通过对最后对每种存储策略都调用计算模型来计算对应代价,最后寻找最小代价以及所对应的存储策略;使用进化遗传解决最小代价,简化计算,得到最优策略以及最小代价,由于解空间的复杂度非常高,随着工作流中数据集数目的增大,解空间中的解的个数会迅速增长,而科学研究中数据规模往往非常大,关系复杂,因此解空间的复杂度会迅速增加;采用遗传算法解决对应问题,同样由于存储的特殊性,每种存储状态都与进化算法的编码一样,可以节省编码解码过程,可以很方便地使用进化算法解决问题。
种群中人口(染色个体)的本质是存储策略,即二进制串,算法就可以省去编码与解码的过程。
Figure BDA0002735289460000171
其中Xi表示一种存储策略。其中存在一些节点(数据集)确定存储,即对应的存储策略中对应位置始终为1,这些节点不参与计算算子变化,种群中人口对应二进制串长度为总节点数减去已存储的节点数;
采用总成本作为适应度,F(0)={f0,f1,f2,…,fn},其中fi表示第i种存储策略对应的适应度,fi=ζ(D,Xi,t,L)。通过经典遗传算法来求解整个过程。
计算算子分为交叉算子,变异算子以及选择算子,其中交叉算子采用单点交叉对种群中两个人口编码进行交叉,产生新的编码作为新一代种群中的人口。采用变异算子使得种群中的人口随机变异,若某个人口变异,则其所对应的编码中的一位随机从0变为1,或1变为0。此外选择算子通过轮盘赌的策略,以适应度作为标准,挑选出代价较小的人口,并随机产生新人口补充种群。迭代停止条件,最小代价保持不变或者迭代次数达到上限,在确定最优存储策略的过程中采用精英保留策略保证方法收敛,由于遗传算法本质上是一种随机搜索,并不能保证解的收敛性,因此对于遗传算法采用精英保留策略,来保证整个求解过程的收敛性。
参考图4,图4为遗传算法求解的示例图,过程为:初始化种群,然后进行适应度计算,使用选择,交叉,变异等操作算子对种群进行更新,直到最优值保持不变,或者迭代次数达到限制时,输出最优个体。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正下方和斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。此外,本领域的技术人员可以将本说明书中描述的不同实施例或示例进行接合和组合。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (10)

1.一种面向多请求的科学工作流数据集存储方法,其特征在于,包括:
获取当前时间前科学工作流执行任务时产生的数据集,所述数据集包括起始数据集以及中间数据集;
基于所述数据集之间的依赖关系,建立工作流表示模型;
基于所述数据集在所述工作流表示模型中的不同的存储状态,确定多个存储策略;
计算每一个存储策略对应的存储代价;
获取当前时间的包含多个访问请求的请求列表;
将所述访问请求进行希尔排序,获得排序列表;
在所述工作流表示模型中确定所述排序列表对应的待访问中间数据集的生成顺序;
按照所述生成顺序,计算在每个存储策略下生成所述待访问中间数据集时的总再生代价;
针对每个存储策略,基于该存储策略对应的存储代价以及总再生代价,计算该存储策略的总代价;
确定总代价最小的存储策略为最优存储策略;
按照所述最优存储策略对应的数据集的存储状态,对所述数据集进行存储;
其中,所述存储状态包括:已存储和未存储。
2.根据权利要求1所述的科学工作流数据集存储方法,其特征在于,所述基于所述数据集之间的依赖关系,建立工作流表示模型的步骤包括:
将所述科学工作流执行的每个任务作为预设的有向无环图的节点,每个任务包括输入数据集以及输出数据集;
从第一个节点至最后一个节点中的任一当前节点,将所述当前数据集作为所述有向无环图的当前节点的输入,将依赖所述当前数据集生成的中间数据集作为所述当前节点的输出,将当前任务的执行时间作为当前数据集与依赖该当前数据集生成的中间数据集之间的连接权值,获得工作流表示模型。
3.根据权利要求1所述的科学工作流数据集存储方法,其特征在于,所述基于所述数据集在所述工作流表示模型中的不同的存储状态,确定多个存储策略的步骤包括:
在所述工作流表示模型中从起始数据集至最后一个数据集的每一个路径,将每个路径上的数据集在所述工作流表示模型中不同的存储状态,按照所述数据集在所述工作流表示模型中的依赖顺序组成存储策略。
4.根据权利要求3所述的数据集存储方法,其特征在于,在所述基于所述数据集在所述工作流表示模型中的不同的存储状态,确定多个存储策略的步骤包括:
将数据集按照其存储状态转换为二进制数;
将每个数据集转化后的二进制数按照数据集的依赖顺序排列,获得转化为二进制串的多个存储策略。
5.根据权利要求1所述的科学工作流数据集存储方法,其特征在于,所述计算每一个存储策略对应的存储代价的步骤,包括:
针对每个存储策略,使用存储代价计算公式计算该存储策略对应的存储代价;
其中,存储代价计算公式为:
Figure FDA0002735289450000021
Figure FDA0002735289450000031
其中,n表示总数据集个数,i表示数据集的序号,D表示数据集集合,D={d0,d1,...,dn},t表示数据集的存储时间长度,X表示数据集的存储状态集合,X={x0,x1,...,xn},di表示第i个数据集,xi表示di的存储状态,si表示数据集di的大小,当xi=1时,表示数据集di存储,当xi=0时,表示数据集di未存储,Ps是常数表示云存储价格,si,t,xi则可以通过第一次运行程序时获取得到。
6.根据权利要求1所述的科学工作流数据集存储方法,其特征在于,所述按照所述排序列表中待访问中间数据集的生成顺序,计算在每个存储策略下生成所述待访问中间数据集的总再生代价的步骤,包括:
基于所述工作流表示模型中所述待访问中间数据集的前驱数据集,使用代价计算公式计算在每个存储策略下生成所述待访问中间数据集的总再生代价;
代价计算公式为:
Figure FDA0002735289450000032
Figure FDA0002735289450000033
Figure FDA0002735289450000034
其中,ζr(L,τ|X)表示在每个存储策略下生成待访问中间数据集的总再生代价,L表示在存储时间长度t内所有请求列表的总集合,L={l1,l2,l3,...,lm},m表示请求列表的总数,li表示第i个请求列表,τ表示数据集的生成时间的总集合,τ={τ1,τ2,...,τn},τi表示数据集di的生成时间,X={x1,x2,x3,...,xn},X表示工作流中数据集的存储状态集合,xi=0表示数据集被删除,xi=1表示数据集di被存储,jk表示排序后的访问请求的下标,k表示排序后的访问请求的序号,Γ(li)表示li中的访问请求进行排序后,访问请求的下标组成的列表,
Figure FDA0002735289450000041
表示生成请求访问
Figure FDA0002735289450000042
对应数据集的再生代价,
Figure FDA0002735289450000043
表示数据集
Figure FDA0002735289450000044
的生成时间,
Figure FDA0002735289450000045
表示计算li中第k个数据集的再生代价时,数据集dh所对应的存储状态,
Figure FDA0002735289450000046
表示Γ(li)中第k个访问请求或第k个访问请求对应的数据集,
Figure FDA0002735289450000047
表示在生成第k+1个数据集时,将数据集dh更新为存储状态,h表示Preset(jk)内的值,Pr为常数,表示云环境下的计算价格,Preset(jk)表示数据集
Figure FDA0002735289450000048
的前驱节点的下标集合,R(dh)表示访问请求访问数据集dh的再生代价。
7.根据权利要求1所述的科学工作流数据集存储方法,其特征在于,所述针对每个存储策略,基于该存储策略对应的存储代价以及所述总再生代价,计算该存储策略的总代价的步骤包括:
针对每个存储策略,将该存储策略对应的存储代价以及该存储策略的总再生代价求和,确定总代价。
8.根据权利要求7所述的科学工作流数据集存储方法,其特征在于,所述针对每个存储策略,将该存储策略对应的存储代价以及该存储策略的总再生代价求和,确定总代价的步骤,包括:
针对每个存储策略,将该存储策略对应的存储代价以及该存储策略的总再生代价使用总代价公式求和,确定总代价;
其中,所述总代价计算公式为:
ζ(D,X,t,L)=ζS(D,t|X)+ζr(L,τ|X)
其中,ζ(D,X,t,L)表示总代价,ζS(D,t|X)表示存储代价,ζr(L,τ|X)表示总再生代价,D表示数据集集合,D={d0,d1,...,dn},X={x1,x2,x3,...,xn}表示工作流中数据集的存储状态,xi=0表示数据集被删除,xi=1表示数据集被存储,t表示数据集的存储时间长度,L表示在存储时间长度t内所有请求列表的总集合,L={l1,l2,l3,.,..lm},m表示请求列表的总数,τ表示数据集的生成时间的总集合,τ={τ1,τ2,...,τn},m表示请求列表的总数。
9.根据权利要求1所述的科学工作流数据集存储方法,其特征在于,所述确定总代价最小的存储策略为最优存储策略的步骤,包括:
利用遗传算法,确定总成本最小的存储策略;
将总代价最小的存储策略确定为最优存储策略。
10.根据权利要求9所述的科学工作流数据集存储方法,其特征在于,所述利用遗传算法,确定总成本最小的存储策略的步骤包括:
获取遗传算法的种群;
将所述种群初始化后进编码,得到多个染色个体,每个染色个体的位值与总数据集个数相同,每个染色个体对应一个二进制串的存储策略;
将总代价最小作为染色个体的适应度,重复执行使用计算算子对每个染色个体进行操作,获得总代价最小的染色个体,并产生新的染色个体加入所述种群直至达到截止条件;
当达到截止条件时,将总代价最小的染色个体对应的存储策略确定为总代价最小的存储策略。
CN202011131397.XA 2020-10-21 2020-10-21 一种面向多请求的科学工作流数据集存储方法 Active CN112256925B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011131397.XA CN112256925B (zh) 2020-10-21 2020-10-21 一种面向多请求的科学工作流数据集存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011131397.XA CN112256925B (zh) 2020-10-21 2020-10-21 一种面向多请求的科学工作流数据集存储方法

Publications (2)

Publication Number Publication Date
CN112256925A true CN112256925A (zh) 2021-01-22
CN112256925B CN112256925B (zh) 2022-10-04

Family

ID=74263801

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011131397.XA Active CN112256925B (zh) 2020-10-21 2020-10-21 一种面向多请求的科学工作流数据集存储方法

Country Status (1)

Country Link
CN (1) CN112256925B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050209836A1 (en) * 2004-03-17 2005-09-22 Schlumberger Technology Corporation Method and apparatus and program storage device including an integrated well planning workflow control system with process dependencies
US8856483B1 (en) * 2010-09-21 2014-10-07 Amazon Technologies, Inc. Virtual data storage service with sparse provisioning
CN105117461A (zh) * 2015-08-24 2015-12-02 昆明理工大学 一种基于改进的遗传算法的查询优化方法
CN106161599A (zh) * 2016-06-24 2016-11-23 电子科技大学 一种存在数据依赖关系时降低云存储整体开销的方法
CN106295806A (zh) * 2016-07-29 2017-01-04 浪潮(北京)电子信息产业有限公司 确定规定时间内访问存储服务器的存储容量的方法及装置
CN106294539A (zh) * 2016-07-22 2017-01-04 福州大学 混合云环境下的数据索引列表存储策略
CN108182109A (zh) * 2017-12-28 2018-06-19 福州大学 一种云环境下的工作流调度与数据分配方法
CN108320059A (zh) * 2018-02-22 2018-07-24 石家庄铁道大学 一种工作流调度进化寻优方法及终端设备
CN109033856A (zh) * 2018-07-19 2018-12-18 华中科技大学 一种访问控制策略合成方法及系统
CN110033076A (zh) * 2019-04-19 2019-07-19 福州大学 混合云环境下面向代价优化的工作流数据布局方法
US20200089701A1 (en) * 2018-09-13 2020-03-19 Grass Valley Limited System and method for dynamically accessing media assets

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050209836A1 (en) * 2004-03-17 2005-09-22 Schlumberger Technology Corporation Method and apparatus and program storage device including an integrated well planning workflow control system with process dependencies
US8856483B1 (en) * 2010-09-21 2014-10-07 Amazon Technologies, Inc. Virtual data storage service with sparse provisioning
CN105117461A (zh) * 2015-08-24 2015-12-02 昆明理工大学 一种基于改进的遗传算法的查询优化方法
CN106161599A (zh) * 2016-06-24 2016-11-23 电子科技大学 一种存在数据依赖关系时降低云存储整体开销的方法
CN106294539A (zh) * 2016-07-22 2017-01-04 福州大学 混合云环境下的数据索引列表存储策略
CN106295806A (zh) * 2016-07-29 2017-01-04 浪潮(北京)电子信息产业有限公司 确定规定时间内访问存储服务器的存储容量的方法及装置
CN108182109A (zh) * 2017-12-28 2018-06-19 福州大学 一种云环境下的工作流调度与数据分配方法
CN108320059A (zh) * 2018-02-22 2018-07-24 石家庄铁道大学 一种工作流调度进化寻优方法及终端设备
CN109033856A (zh) * 2018-07-19 2018-12-18 华中科技大学 一种访问控制策略合成方法及系统
US20200089701A1 (en) * 2018-09-13 2020-03-19 Grass Valley Limited System and method for dynamically accessing media assets
CN110033076A (zh) * 2019-04-19 2019-07-19 福州大学 混合云环境下面向代价优化的工作流数据布局方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
ZHENYU WEN: "Cost Effective, Reliable and Secure Workflow Deployment over Federated Clouds", 《 IEEE TRANSACTIONS ON SERVICES COMPUTING》 *
王莹莹: "云环境下中间数据集存储问题代价最小化算法研究", 《软件导刊》 *
程坤: "云环境下科学工作流中间数据集存储问题的算法研究", 《中国优秀硕士学位论文全文数据库》 *
赵秀涛等: "一种基于服务选取的SBS云资源优化分配方法", 《软件学报》 *
马子泰等: "云环境下使用竞价实例并考虑中间数据存储策略的工作流调度方法", 《计算机集成制造系统》 *

Also Published As

Publication number Publication date
CN112256925B (zh) 2022-10-04

Similar Documents

Publication Publication Date Title
Jouganous et al. Inferring the joint demographic history of multiple populations: beyond the diffusion approximation
US8402469B2 (en) Allocating resources for parallel execution of query plans
CN109656798B (zh) 基于顶点重排序的超级计算机大数据处理能力测试方法
CN111275172A (zh) 一种基于搜索空间优化的前馈神经网络结构搜索方法
CN113821983B (zh) 基于代理模型的工程设计优化方法、装置及电子设备
Hsieh Optimal task allocation and hardware redundancy policies in distributed computing systems
CN115858168B (zh) 一种基于重要性排序的地球应用模型编排系统及其方法
CN113157694A (zh) 一种基于强化学习的数据库索引生成方法
CN110018997B (zh) 一种基于hdfs的海量小文件存储优化方法
CN112836794B (zh) 一种图像神经架构的确定方法、装置、设备及存储介质
CN108846480B (zh) 一种基于遗传算法的多规格一维套料方法及装置
CN112256925B (zh) 一种面向多请求的科学工作流数据集存储方法
CN111190711B (zh) Bdd结合启发式a*搜索的多机器人任务分配方法
CN110175172B (zh) 基于稀疏二分图的极大二分团并行枚举方法
Wang et al. Space division and adaptive selection strategy based differential evolution algorithm for multi-objective satellite range scheduling problem
CN115593264A (zh) 基于边缘计算的充电优化控制方法、装置和计算机设备
CN112256926B (zh) 一种云环境中科学工作流数据集的存储方法
CN114691327A (zh) 面向两阶段任务调度的多目标群智能优化方法与系统
CN117272838B (zh) 一种政务大数据平台数据采集优化方法
CN116108613B (zh) 一种可解释的装备组合快速构建方法、系统、设备及介质
Chen et al. Influence of subproblem solutions on the quality of traveling thief problem solutions
Dafir et al. An Efficient Parallel Algorithm for Clustering Big Data based on the Spark Framework
Hannun The Role of Evolution in Machine Intelligence
Santander-Jiménez et al. Applying OpenMP-based parallel implementations of NSGA-II and SPEA2 to study phylogenetic relationships
CN111369035B (zh) 基于图规划的服务封装方法、系统、介质及设备

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