CN110110520A - 一种入侵容忍的云工作流实现方法及*** - Google Patents

一种入侵容忍的云工作流实现方法及*** Download PDF

Info

Publication number
CN110110520A
CN110110520A CN201910223547.0A CN201910223547A CN110110520A CN 110110520 A CN110110520 A CN 110110520A CN 201910223547 A CN201910223547 A CN 201910223547A CN 110110520 A CN110110520 A CN 110110520A
Authority
CN
China
Prior art keywords
subtask
result
virtual machine
workflow
cloud
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.)
Withdrawn
Application number
CN201910223547.0A
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.)
Henan Xinda Netyu Technology Co Ltd
Zhuhai Gao Ling Information Polytron Technologies Inc
Original Assignee
Henan Xinda Netyu Technology Co Ltd
Zhuhai Gao Ling Information Polytron Technologies Inc
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 Henan Xinda Netyu Technology Co Ltd, Zhuhai Gao Ling Information Polytron Technologies Inc filed Critical Henan Xinda Netyu Technology Co Ltd
Priority to CN201910223547.0A priority Critical patent/CN110110520A/zh
Publication of CN110110520A publication Critical patent/CN110110520A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • G06F11/1484Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提出了一种入侵容忍的云工作流实现方法,将工作流中每个任务对应的执行程序分别部署在容器中,再将所述容器移植到多个不同操作***的虚拟机,能有效提高云***容侵能力。另外,通过判决多个虚拟机执行的子任务结果,计算预设时间内生成子任务结果的置信度,从而决定当前子任务执行的可靠度及可信度,选择结果是否提交给下一个子任务或重置所述虚拟机的执行子任务,通过多个虚拟机生成结果相互判决验证,确保输出结果的可靠度及可信度,着实能增进云***的容侵能力。另外,本发明提出应用此入侵容忍的云工作流实现方法的***,实现与上述实现方法的目的与效果。

Description

一种入侵容忍的云工作流实现方法及***
技术领域
本发明涉及网络安全技术领域,特别涉及一种入侵容忍的云工作流实现方法及***。
背景技术
云计算是一种以虚拟化技术为基础,以网络为载体,提供基础架构、平台、软件应用等服务为形式,整合大规模可扩展的分布式计算资源进行协同工作的超级计算模式。在云计算模式中,用户不再需要硬件购买,只需要支付一定的费用,通过网络就可以方便的获取所需要的计算和存储资源。正是由于云服务成本低廉以及操作简单等优点,越来越多的大规模科学计算任务被交付给云计算平台来完成。大规模的科学计算任务通常由成百上千的步骤组成。为了在云计算***架构中对步骤进行合理的编排、执行以及追踪,云工作流***被提出。
为了充分利用资源,云计算***利用虚拟化技术构建多租户共存服务模式,该模式在带来利润的同时也引入了安全隐患。云工作流***主要针对的是大规模科学计算任务,比如高能物理学、生物遗传学以及大气科学等,任务计算时间长,为攻击者提供充足的攻击准备时间。并且科学计算通常对结果准确性有非常高的要求,由***随机扰动或者攻击者恶意篡改导致的结果错误会直接导致整个工作流执行失败,造成难以估量的损失。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种提高云***容侵能力及增加结果信度的入侵容忍的云工作流实现方法及***。
本发明解决其技术问题所采用的技术方案是:一种入侵容忍的云工作流实现方法,所述方法包括:
将工作流中每个子任务对应的程序部署在多个不同操作***的容器中;
转移多个不同操作***的容器及子任务到相应的虚拟机;
建立所述容器与外部端口的映射,当所述工作流执行时,执行的所述子任务对应的所述容器,将数据传输到所述外部端口;
保存所述虚拟机的快照,上传到镜像库中作为工作流执行体的镜像。
优选地,在本发明所述的入侵容忍的云工作流实现方法,所述多个不同操作***类型包括Windows、Linux及Unix。
优选地,在本发明所述的入侵容忍的云工作流实现方法,所述方法还包括:
当第一个完成子任务的所述虚拟机将结果发送到下一个子任务执行后,在预设时间内收集所述虚拟机生成的结果,并计算相同执行结果的数量;
若所述相同执行结果的数量大于参与虚拟机总数的一半,且所述相同执行结果与第一个完成子任务的所述虚拟机发送的结果相同,则所述子任务完成;
若所述相同执行结果的数量大于参与虚拟机总数的一半,且所述相同执行结果与第一个完成子任务的所述虚拟机发送的结果不同,则由相同执行结果取代第一个完成子任务的所述虚拟机的结果并发送到下一个子任务执行,并所述子任务完成;
若所述相同执行结果的数量不大于参与的虚拟机总数的一半,则终止所述下一个子任务执行,立即重置所述虚拟机的所述子任务。
优选地,在本发明所述的入侵容忍的云工作流实现方法,当前子任务中,所述生成非众数结果的虚拟机,在***资源足够时进行重置,直到所述虚拟机生成众数结果。
在本发明所述的入侵容忍的云工作流实现方法,所述方法还包括:
筛选当前需执行的子任务,并发送资源调度请求;
若具足够资源时,则部属新的虚拟机集并执行当前子任务;
若不具足够资源时,则等待资源释放后,再次发送所述资源调度请求。
在本发明所述的入侵容忍的云工作流实现方法,所述方法还包括:
当前子任务完成后,回收所述当前子任务的虚拟机资源;
重新计算资源总量。
优选地,在本发明所述的入侵容忍的云工作流实现方法,所述方法还包括:
若当前子任务在预设时间内收集所述虚拟机生成的结果均相同,且所述结果数量相等于所述虚拟机的总数,则存储结果;
若下一个子任务为当前任务的唯一子任务,且下一个子任务预设时间内收集所述虚拟机生成的结果均相同,所述结果数量也相等于所述虚拟机的总数时,则存储所述结果并删除当前子任务的存储结果。
本发明另提出一种采用此方法的入侵容忍的云工作流实现***,所述***包括控制节点、通信节点、存储节点和通信总线节点,其中,控制节点、通信节点及存储节点通过通信总线节点完成相互间的通信;
所述存储节点,用以存放计算机程序;
所述控制节点,用以执行存储节点上所存放的程序时,实现上述的入侵容忍的云工作流实现方法。
在本发明所述的入侵容忍的云工作流实现***,所述***还包括:
工作流分析器,用以解析工作流定义文件,根据每个子任务的执行参数,确定工作流中子任务的执行顺序;
任务调度器,用以根据工作流解析结果,选择当前需要执行的子任务,并根据子任务执行资源,发送资源请求;
资源管理器,用以接收所述资源请求,从镜像库中挑选对应的镜像并实例化成虚拟机,回报所述任务调度器,所述任务调度器将当前子任务所需数据传输到相应的虚拟机;
工作流监视器,用以监控各虚拟机子任务执行情况,并将子任务执行结果提交所述控制节点进行判决。
本发明另提出一种采用此方法的计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的入侵容忍的云工作流实现方法。
实施本发明的入侵容忍的云工作流实现方法及***,具有以下技术特点及有益效果:
(1)利用容器技术将工作流执行软件分别部署在多个种具有较高异构度的操作***中,并制作成镜像加入到***镜像库中。并在工作流执行过程中,将镜像分别实例化并组建异构虚拟机集群,并行执行工作流中的每个子任务。
(2)完成子任务生成的结果判决,对异构虚拟机集群子任务执行结果进行判决并赋予该结果一个置信度,对于置信度不为1的结果,当***中有空闲资源时,此次子任务会被重新执行直到置信度为1为止。
(3)设计动态任务调度机制,将执行完某个子任务的虚拟机集群进行回收,将回收的资源用于创建新的虚拟机来执行后续工作流任务,以此保证虚拟机状态纯净。
(4)设计暂时性中间结果备份机制,该机制会将置信度为1的工作流中间结果放入存储节点备份,用于异常后的状态回溯以及部分较低置信度的子任务重执行。
本发明通过上述有益效果,能有效提高云***容侵能力,通过判决多个虚拟机执行的子任务结果,计算预设时间内生成子任务结果的置信度,从而决定当前子任务执行的可靠度及可信度,选择结果是否提交给下一个子任务或重置所述虚拟机的执行子任务,通过多个虚拟机生成结果相互判决验证,确保输出结果的可靠度及可信度,着实能增进云***的容侵能力。此外,通过动态任务调度机制及暂时性中间结果备份机制,让云***资源有效被利用。而当云***资源释放足够时,给予较低置信度的任务重新执行,从而增进云***的入侵容忍能力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明入侵容忍的云工作流实现方法一实施例的云***架构示意图;
图2为图1中多样化工作流执行部署示意图;
图3为图1中云工作流结果判决流程图;
图4为图1中动态任务调度机制流程图;
图5为图1中暂时性中间结果备份机制流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
云工作流***的领域中,若选用单一种架构的任务执行体,对攻击者来说仅有单层防护,破解前准备时间较短,使云***曝露在高入侵风险下。鉴于此,本发明提出一种入侵忍的云工作流实现方法,详细步骤说明如下:
步骤S101:将工作流中每个子任务对应的程序部署在多个不同操作***的容器中;
步骤S102: 转移多个不同操作***的容器及所子任务到相应的虚拟机;
步骤S103:建立所述容器与外部端口的映射,当所述工作流执行时,执行的所述子任务对应的所述容器,将数据传输到所述外部端口;
步骤S104:保存所述虚拟机的快照,上传到镜像库中作为工作流执行体的镜像。
在步骤S101中,如图1及图2所示,本实施例选用三种异结构作业***建置,如采用Windows Server 2012、Ubuntu 16.04和FreeBSD,举例来说,依据用户提交的工作流定义文件进行子任务解析(T1、T2、T3、T4) ,并将工作流执行软件分别部署在这三种具异结构作业***S1-S3中的容器D1-D3。此外,虽然图1中本例是以三种异结构虚拟***为例,但在本发明的其他实施例中,虚拟***能由其他作业***置换,在数量上也能改为两个或甚至是三个以上。
在步骤S102中,当工作流运行中,子任务的执行顺序例如为T1→T4,通过镜像库M将作业***S1-S3中子任务T1-T3及容器D1-D3的数据分别移植到相应的的虚拟机V1-V3。
在步骤S103及步骤S104中,容器D1-D3与外部端口P1-P3映射,若在工作流执行过程中,需要执行哪一个子任务,则向对应的端口P1-P3传输数据,接着保存虚拟机V1-V3的快照,上传到镜像库M中作为工作流执行体镜像。
如此,利用容器技术将工作流执行软件分别部署在多个种具有较高异构度的操作***S1-S3中,制作成镜像加入到镜像库M中。在工作流执行过程中,将镜像分别实例化并组建异构虚拟机集群V1-V3,执行工作流中的每个任务,增进云***的入侵容忍能力。
另一方面,在工作流执行结果也有可能遭到攻击者的恶意篡改,造成子任务结果错误,倘若无法发现错误而继续执行,将导致后续生成结果错误。依此,在本实施例中,提出一种虚拟机执行子任务结果的判决技术,详细说明如下步骤:
步骤S201:当第一个完成子任务的所述虚拟机将结果发送到下一个子任务执行后,在预设时间内收集所述虚拟机生成的结果,并计算相同执行结果的数量;
步骤S202:若所述相同执行结果的数量大于参与虚拟机总数的一半,且所述相同执行结果与第一个完成子任务的所述虚拟机发送的结果相同,则所述子任务完成;
步骤S203:若所述相同执行结果的数量大于参与虚拟机总数的一半,且所述相同执行结果与第一个完成子任务的所述虚拟机发送的结果不同,则由相同执行结果取代第一个完成子任务的所述虚拟机的结果并发送到下一个子任务执行,并所述子任务完成;
步骤S204:若所述相同执行结果的数量不大于参与的虚拟机总数的一半,则终止所述下一个子任务执行,立即重置所述虚拟机的所述子任务。
在步骤S201中,如图3所示,当工作流执行定子任务K时,假设虚拟机V1第一个完成任务执行,则虚拟机V1将生成的结果将直接用于下一个子任务K+1的执行,同时虚拟机V1将结果发送给判决模块40,判决模块40收到虚拟机V1发来的结果后启动定时器。如果判决模块40在规定的时间内,虚拟机V1-V3发送到判决模块40的结果均相同(情况1),例如虚拟机(V1,V2,V3)所生成结果为(A,A,A),则云***不采取任何行动。
在步骤S202中,假设每个子任务分发给N个虚拟机并行执行,如果在定时器到时之前,结果判决模块40收到M个相同的结果且M>N/2,则此次任务K执行有效。而在判决模块40在规定的时间内,收到超过半数的相同执行结果,并且该结果与第一个虚拟机V1的执行结果相同(情况3),例如虚拟机(V1,V2,V3)所生成结果为(A,A,B),对于此类情况,云***会在有空闲资源时重新执行子任务K,修正其他虚拟机(V3)产生的不同结果,具体来说,云***会为每次执行有效的结果赋予一个置信度C=M/N,置信度不为1的中间结果对应的子任务K,会在云***有空闲资源时重新执行,直到该子任务K产生置信度为1的结果。
在步骤S203中,如果判决模块40在规定的时间内,收到超过半数的相同执行结果,但是该结果与第一个虚拟机的执行结果不相同(情况2),例如虚拟机(V1,V2,V3)所生成结果为(A,B,B)。对于此类情况,云***首先会终止子任务K+1的执行,并利用新的结果(B)重新执行子任务K+1。
在步骤S204中,如果判决模块在规定的时间内,没有收到超过半数相同的结果(情况3) ,例如虚拟机(V1,V2,V3)所生成结果为(A,B,C)。对于此类情况,云***会终止子任务K+1的执行,并立即重新执行子任务K。
如此,本发明通过判决多个虚拟机V1-V3执行的子任务结果K,计算预设时间内生成子任务K结果的置信度C,从而决定当前子任务K执行的可靠度及可信度,选择结果是否提交给下一个子任务K+1或重置虚拟机的执行子任务K,通过多个虚拟机V1-V3生成结果相互判决验证,确保输出结果的可靠度及可信度,着实能防范工作流执行结果被串改的机会。
再者,有鉴于静态化的任务执行环境,易于攻击者植入病毒和后门,也便于攻击者对工作流数据进行持续的泄露。在本例中,采取资源动态管理技术,执行任务的调度,从而克服上述技术问题,详细步骤说明如下:
步骤S301:筛选当前需执行的任务,并发送资源调度请求;
步骤S302:若具足够资源时,则部属新的虚拟机集并执行当前任务;
步骤S303:若不具足够资源时,则等待资源释放后,再次发送所述资源调度请求;
步骤S304:当前任务完成后,回收所述当前任务的虚拟机资源;
步骤S305:重新计算资源总量。
在步骤S301中,如图4所示,当结果判决模块40收到虚拟机集群发来的第一个执行结果后,判决模块40会通知任务调度器20执行任务调度,任务调度器20根据任务执行顺序,选择当前需要调度的子任务,并将资源需求上报给资源管理器30。
在步骤S302及步骤S303中,首先资源管理器30会查询用户剩余资源情况表,如果有足够多的剩余资源可以使用,则资源管理器30会部署新的虚拟机来执行任务。如果没有足够多的剩余资源可以使用,资源管理器30将处于等待状态。
在步骤S304及步骤S305中,当结果判决模块40在定时器触发之前收到超过半数的相同结果,则判决此次任务执行有效,结果判决模块40会通知资源管理器30进行虚拟机回收,将回收的资源重新计入到用户剩余资源记录中,再由判决模块40通知任务调度器20执行下一个任务。另一方面,如果判决模块40未收到超过半数的相同结果,则判决模块40通知任务调度器20重新执行本次任务。
如此,本发明通过任务调度器20、资源管理器30与判断模块40有效动态管理执行任务的调度,降低静态化任务执行占比,有助于减少工作流数据泄露风险。
需补充的是,在传统分布式计算环境中,当计算过程出现中断或错误时会通过状态回溯的办法来修复异常的工作状态。本发明受此启发,设计中间结果备份机制来保存工作流执行状态,当云***出现异常时可以通过状态回溯来修复异常的状态链。但是如果工作流执行过程中所有的存储结果都进行备份的话会占用大量的存储空间,详细说明如以下步骤:
步骤S401:若当前任务在预设时间内收集所述虚拟机生成的结果均相同,且所述结果数量相等于所述虚拟机的总数,则存储结果;
步骤S402:若下一个任务为当前任务的唯一子任务,且下一个任务预设时间内收集所述虚拟机生成的结果均相同,所述结果数量也相等于所述虚拟机的总数时,则存储所述结果并删除当前任务的存储结果。
在步骤S401中,如图5所示,本例中任务调度器20挑选出当前需要执行的子任务K,当子任务K执行完毕后,其产生的结果发送到判决模块40。如果子任务K的结果的置信度为1,则该子任务K执行结果将发送到存储节点50备份。
在步骤S402中,任务调度器20挑选出下一个需要执行的子任务K+1,假设子任务K+1是唯一一个依赖子任务K的执行结果的子任务K+1,在子任务K+1执行完毕后,其产生的结果发送到判决模块40。如果子任务K+1的结果的置信度为1,则该子任务K+1的执行结果将发送到存储节点50备份,同时原来子任务K的执行结果将在存储节点50被删除,藉以释放其占用的存储空间。
如此,能通过存储节点50建立中间结果备份机制,利用工作流执行的中间结果,可作为异常后的状态回溯用途,且若当前子任务K是唯一一个依赖子下一个任务K1的执行结果时,则不重复备份,有效利用资源。
虽然上述实施例是以步骤流程进行论述,但从另一么面向来说,本发明可以是一种云***的架构,具体而言,云***包括控制节点、通信节点、存储节点和通信总线节点,其中控制节点、通信节点、存储节点通过通信总线节点完成相互间的通信。存储节点用以存放计算机程序。控制节点用以执行存储节点上所存放的程序时。
控制节点负责对整个***的管控与命令下发,并通过计算节点负责计算任工作流执行务所需的计算。而存储节点负责存储工作流执行过程中生成的中间结果。在本例中控制节点还包括工作流分析器、资源管理器、任务调度器以及工作流监视器,并通过控制节点视流程进行部署,详细说明如下:
工作流分析器负责将用户提交的工作流定义文件进行解析,根据每个子任务的执行参数,确定工作流中子任务的执行顺序,并将结果提交给任务调度器。
任务调度器根据工作流解析结果,选择当前需要执行的子任务,并根据该子任务的执行需要,向资源管理器申请资源。
资源管理器用于接收任务调度器发来的资源申请请求,从镜像库中挑选对应的镜像并实例化成虚拟机。待虚拟机实例化完毕后,资源管理器会给任务调度器返回成功消息,然后任务调度器会将当前子任务所需数据传输到相应的虚拟机中。工作流监视器用于在工作流执行期间,监控各虚拟机任务执行情况,并对任务执行结果进行判决。
本实施例的存储节点负责存储工作流执行过程中生成的中间结果,提供后续数据回溯时重建使用的备份。
因此,本***通过上述控制节点、通信节点、存储节点和通信总线节点构件,而能实现如同于上述的入侵容忍的云工作流实现方法的技术特点及效果。
虽然入侵容忍的云工作流实现方法是以***架构实现,但在其他实施例中,通过技术的演进,本发明还可采取计算机可读存储介质实施,通过计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行,同样实现类似上述入侵容忍的云工作流实现方法的技术特点及效果,于此不再重述。
综上所述,本发明提出一种入侵容忍的云工作流实现方法及***,具有以下技术特点及有益效果:
(1)利用容器技术将工作流执行软件分别部署在多个种具有较高异构度的操作***中,并制作成镜像加入到***镜像库中。并在工作流执行过程中,将镜像分别实例化并组建异构虚拟机集群,并行执行工作流中的每个任务。
(2)完成任务生成的结果判决,对异构虚拟机集群任务执行结果进行判决并赋予该结果一个置信度,对于置信度不为1的结果,当***中有空闲资源时,此次任务会被重新执行直到置信度为1为止。
(3)设计动态任务调度机制,将执行完某个任务的虚拟机集群进行回收,将回收的资源用于创建新的虚拟机来执行后续工作流任务,以此保证虚拟机状态纯净。
(4)设计暂时性中间结果备份机制,该机制会将置信度为1的工作流中间结果放入存储节点备份,用于异常后的状态回溯以及部分较低置信度的子任务重执行。
本发明通过上述(1)至(4)的技术特点,能有效提高云***容侵能力,通过判决多个虚拟机执行的任务结果,计算预设时间内生成任务结果的置信度,从而决定当前任务执行的可靠度及可信度,选择结果是否提交给下一个任务或重置所述虚拟机的执行任务,通过多个虚拟机生成结果相互判决验证,确保输出结果的可靠度及可信度,着实能增进云***的容侵能力。此外,通过动态任务调度机制及暂时性中间结果备份机制,让云***资源有效被利用。而当云***资源释放足够时,给予较低置信度的任务重新执行,从而增进云***的入侵容忍能力。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种入侵容忍的云工作流实现方法,其特征在于,所述方法包括:
将工作流中每个子任务对应的程序部署在多个不同操作***的容器中;
转移多个不同操作***的容器及子任务到相应的虚拟机;
建立所述容器与外部端口的映射,当所述工作流执行时,执行的所述子任务对应的所述容器,将数据传输到所述外部端口;
保存所述虚拟机的快照,上传到镜像库中作为工作流执行体的镜像。
2.根据权利要求1所述的入侵容忍的云工作流实现方法,其特征在于,所述多个不同操作***类型包括Windows、Linux及Unix。
3.根据权利要求1所述的入侵容忍的云工作流实现方法,其特征在于,所述方法还包括:
当第一个完成子任务的所述虚拟机将结果发送到下一个子任务执行后,在预设时间内收集所述虚拟机生成的结果,并计算相同执行结果的数量;
若所述相同执行结果的数量大于参与虚拟机总数的一半,且所述相同执行结果与第一个完成子任务的所述虚拟机发送的结果相同,则所述子任务完成;
若所述相同执行结果的数量大于参与虚拟机总数的一半,且所述相同执行结果与第一个完成子任务的所述虚拟机发送的结果不同,则由相同执行结果取代第一个完成子任务的所述虚拟机的结果并发送到下一个子任务执行,并所述子任务完成;
若所述相同执行结果的数量不大于参与的虚拟机总数的一半,则终止所述下一个子任务执行,立即重置所述虚拟机的所述子任务。
4.根据权利要求3所述的入侵容忍的云工作流实现方法,其特征在于,当前子任务中,生成非众数结果的虚拟机,在***资源足够时进行重置,直到所述虚拟机生成众数结果。
5.根据权利要求3所述的入侵容忍的云工作流实现方法,其特征在于,所述方法还包括:
筛选当前需执行的子任务,并发送资源调度请求;
若具足够资源时,则部属新的虚拟机集并执行当前子任务;
若不具足够资源时,则等待资源释放后,再次发送所述资源调度请求。
6.根据权利要求5所述的入侵容忍的云工作流实现方法,其特征在于,所述方法还包括:
当前子任务完成后,回收所述当前子任务的虚拟机资源;
重新计算资源总量。
7.根据权利要求3所述的入侵容忍的云工作流实现方法,其特征在于,所述方法还包括:
若当前子任务在预设时间内收集所述虚拟机生成的结果均相同,且所述结果数量相等于所述虚拟机的总数,则存储结果;
若下一个子任务为当前任务的唯一子任务,且下一个子任务预设时间内收集所述虚拟机生成的结果均相同,所述结果数量也相等于所述虚拟机的总数时,则存储所述结果并删除当前子任务的存储结果。
8.一种入侵容忍的云工作流实现***,其特征在于,所述***包括控制节点、通信节点、存储节点和通信总线节点,其中,控制节点、通信节点及存储节点通过通信总线节点完成相互间的通信;
所述存储节点,用以存放计算机程序;
所述控制节点,用以执行存储节点上所存放的程序时,实现权利要求1-7任一项所述的入侵容忍的云工作流实现方法。
9.根据权利要求8所述的入侵容忍的云工作流实现***,其特征在于,所述***还包括:
工作流分析器,用以解析工作流定义文件,根据每个子任务的执行参数,确定工作流中子任务的执行顺序;
任务调度器,用以根据工作流解析结果,选择当前需要执行的子任务,并根据子任务执行资源,发送资源请求;
资源管理器,用以接收所述资源请求,从镜像库中挑选对应的镜像并实例化成虚拟机,回报所述任务调度器,所述任务调度器将当前子任务所需数据传输到相应的虚拟机;
工作流监视器,用以监控各虚拟机子任务执行情况,并将子任务执行结果提交所述控制节点进行判决。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的入侵容忍的云工作流实现方法。
CN201910223547.0A 2019-03-22 2019-03-22 一种入侵容忍的云工作流实现方法及*** Withdrawn CN110110520A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910223547.0A CN110110520A (zh) 2019-03-22 2019-03-22 一种入侵容忍的云工作流实现方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910223547.0A CN110110520A (zh) 2019-03-22 2019-03-22 一种入侵容忍的云工作流实现方法及***

Publications (1)

Publication Number Publication Date
CN110110520A true CN110110520A (zh) 2019-08-09

Family

ID=67484523

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910223547.0A Withdrawn CN110110520A (zh) 2019-03-22 2019-03-22 一种入侵容忍的云工作流实现方法及***

Country Status (1)

Country Link
CN (1) CN110110520A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112929373A (zh) * 2021-02-07 2021-06-08 河南信大网御科技有限公司 一种内网设备防护方法
WO2021139174A1 (zh) * 2020-01-12 2021-07-15 苏州浪潮智能科技有限公司 一种faas分布式计算方法和装置
CN113282566A (zh) * 2020-02-19 2021-08-20 ***通信集团上海有限公司 数据库生成方法、装置、设备及存储介质
CN113312630A (zh) * 2021-05-31 2021-08-27 支付宝(杭州)信息技术有限公司 实现可信调度的方法及装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021139174A1 (zh) * 2020-01-12 2021-07-15 苏州浪潮智能科技有限公司 一种faas分布式计算方法和装置
US11748164B2 (en) 2020-01-12 2023-09-05 Inspur Suzhou Intelligent Technology Co., Ltd. FAAS distributed computing method and apparatus
CN113282566A (zh) * 2020-02-19 2021-08-20 ***通信集团上海有限公司 数据库生成方法、装置、设备及存储介质
CN113282566B (zh) * 2020-02-19 2023-07-04 ***通信集团上海有限公司 数据库生成方法、装置、设备及存储介质
CN112929373A (zh) * 2021-02-07 2021-06-08 河南信大网御科技有限公司 一种内网设备防护方法
CN113312630A (zh) * 2021-05-31 2021-08-27 支付宝(杭州)信息技术有限公司 实现可信调度的方法及装置
CN113312630B (zh) * 2021-05-31 2022-07-01 支付宝(杭州)信息技术有限公司 实现可信调度的方法及装置

Similar Documents

Publication Publication Date Title
CN110110520A (zh) 一种入侵容忍的云工作流实现方法及***
CN104639374B (zh) 一种应用程序部署管理***
CN106844198B (zh) 一种分布式调度自动化测试平台及方法
Shi et al. MDP and machine learning-based cost-optimization of dynamic resource allocation for network function virtualization
CN102346460B (zh) 一种基于事务的服务控制***及其控制方法
CN101441580B (zh) 分布式并行计算平台***及其计算任务分配方法
CN108845878A (zh) 基于无服务器计算的大数据处理方法及装置
CN106126346A (zh) 一种大规模分布式数据采集***及方法
CN109118097B (zh) 一种可靠性维修性保障性评估方法和装置
CN110209492A (zh) 一种数据处理方法及装置
CN103294558B (zh) 一种支持动态信任评估的MapReduce调度方法
Mahato et al. On scheduling transactions in a grid processing system considering load through ant colony optimization
CN102523104A (zh) 一种网络化仿真运行支撑***及方法
CN103825964A (zh) 一种基于云计算PaaS平台的SLS调度装置和方法
CN113064744A (zh) 任务处理方法、装置、计算机可读介质及电子设备
CN107645410A (zh) 一种基于OpenStack云平台的虚拟机管理***及方法
CN107992392A (zh) 一种用于云渲染***的自动监控修复***和方法
Liu et al. Availability prediction and modeling of high mobility oscar cluster
CN110689223A (zh) 一种基于rpa控制的机器人批量管理***
CN109598486A (zh) 一种排查异常订单的方法和装置
CN109614403A (zh) 集群服务节点的数据一致性校验方法及装置
CN115242596B (zh) 面向用户的网络测试床场景业务调度方法及装置
CN113554290A (zh) 一种考虑机群复杂任务的高可信度保障性仿真方法
Cai et al. Experience availability: tail-latency oriented availability in software-defined cloud computing
CN114090263A (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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20190809