CN112256406B - 作业流程平台化调度方法 - Google Patents

作业流程平台化调度方法 Download PDF

Info

Publication number
CN112256406B
CN112256406B CN202011421755.0A CN202011421755A CN112256406B CN 112256406 B CN112256406 B CN 112256406B CN 202011421755 A CN202011421755 A CN 202011421755A CN 112256406 B CN112256406 B CN 112256406B
Authority
CN
China
Prior art keywords
processing
resource
execution
remote sensing
scheduling
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
Application number
CN202011421755.0A
Other languages
English (en)
Other versions
CN112256406A (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.)
Beijing Huayun Xingditong Technology Co ltd
Original Assignee
Beijing Huayun Xingditong Technology Co ltd
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 Huayun Xingditong Technology Co ltd filed Critical Beijing Huayun Xingditong Technology Co ltd
Priority to CN202011421755.0A priority Critical patent/CN112256406B/zh
Publication of CN112256406A publication Critical patent/CN112256406A/zh
Application granted granted Critical
Publication of CN112256406B publication Critical patent/CN112256406B/zh
Priority to US17/408,401 priority patent/US12014216B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/185Space-based or airborne stations; Stations for satellite systems
    • H04B7/1851Systems using a satellite or space-based relay
    • H04B7/18513Transmission in a satellite or space-based system
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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
    • G01MEASURING; TESTING
    • G01WMETEOROLOGY
    • G01W1/00Meteorology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2474Sequence data queries, e.g. querying versioned data
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/481Exception handling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/507Low-level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Environmental & Geological Engineering (AREA)
  • Probability & Statistics with Applications (AREA)
  • Fuzzy Systems (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Environmental Sciences (AREA)
  • Ecology (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Signal Processing (AREA)
  • Atmospheric Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Astronomy & Astrophysics (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

本公开提供了一种作业流程平台化调度方法,涉及卫星技术领域。其中,作业流程平台化调度方法包括:根据卫星的过境时间获取卫星遥感数据,并触发所述卫星遥感数据的处理流程;根据约束关系确定所述卫星遥感数据的处理流程的执行顺序;根据所述执行顺序采用分层调度的方式向所述处理流程分配处理资源,以采用所述处理资源执行所述处理流程。通过本公开的技术方案,通过合理确定卫星遥感数据处理流程的执行顺序,结合分层调度的方式对处理资源的调度,以实现处理资源的合理分配,从而能够提高卫星遥感数据处理的时效性。

Description

作业流程平台化调度方法
技术领域
本公开涉及卫星数据处理技术领域,尤其涉及一种作业流程平台化调度方法。
背景技术
由于环境气象因素对生产、建设和设备运营的影响越来越明显,使气象数据等卫星遥感数据的应用也越来越广泛。
另外,随着计算机技术的不断发展,用户对气象服务的时效要求也不断提高,而气象服务基于遥感数据的处理执行,因此如何快速调度各类遥感数据的处理资源,以保证遥感数据处理的时效性以及气象服务的服务质量成为亟待解决的技术问题。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种作业流程平台化调度方法、装置、电子设备和计算机可读存储介质,能够提高卫星遥感数据处理的时效性,在卫星遥感数据用于气象服务的条件下,还能够提升卫星服务的服务质量。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一个方面,提供一种作业流程平台化调度方法,包括:根据卫星的过境时间获取卫星遥感数据,并触发所述卫星遥感数据的处理流程;根据约束关系确定所述卫星遥感数据的处理流程的执行顺序;根据所述执行顺序采用分层调度的方式向所述处理流程分配处理资源,以采用所述处理资源执行所述处理流程。
在本公开的一个实施例中,所述根据约束关系确定所述卫星遥感数据的处理流程的执行顺序包括:根据所述约束关系将所述处理流程解析为符合作业接口标准的作业;将所述作业提交到不同的执行队列,所述执行队列根据执行优先级排列,以根据所述执行优先级确定所述执行顺序。
在本公开的一个实施例中,所述根据所述执行顺序采用分层调度的方式向所述处理流程分配处理资源,以采用所述处理资源执行所述处理流程包括:根据所述执行顺序生成每个所述作业的资源请求;响应于所述资源请求,向资源管理器发送应用请求;所述资源管理器根据所述应用请求采用所述分层调度的方式从所述执行队列中选择对应的目标容器,所述目标容器包括所述处理资源的节点;根据所述节点调用所述处理资源处理所述作业。
在本公开的一个实施例中,所述资源管理器根据所述应用请求采用所述分层调度的方式从所述执行队列中选择对应的目标容器包括:在第一层采用基于优先级的深度优先遍历算法选择所述执行队列;在选择所述执行队列后,在第二层按照优先级顺序对所述执行队列中的应用程序进行排序,并依次遍历排序后的所述应用程序,以确定与所述作业匹配的所述应用程序;在确定与所述作业匹配的所述应用程序后,在第三层根据所述优先级顺序与本地化顺序选择所述目标容器。
在本公开的一个实施例中,所述根据所述节点调用所述处理资源处理所述作业还包括:若检测到所述处理资源无法满足所述作业的处理需求,根据资源保证机制和/或资源抢占机制增加所述作业的备用资源。
在本公开的一个实施例中,所述根据所述节点调用所述处理资源处理所述作业还包括:采用REST接口连接监控系统,以监控所述作业的处理过程;若检测到所述作业在处理过程中产生异常,触发异常容错引擎解决所述异常,以结束所述作业或重启所述作业。
在本公开的一个实施例中,所述根据所述执行顺序采用分层调度的方式向所述处理流程分配处理资源,以采用所述处理资源执行所述处理流程还包括:采用适配器模式与下级调度系统进行对接;将所述作业输入到所述下级调度系统,并接收所述下级调度系统对所述作业的处理结果。
在本公开的一个实施例中,所述根据所述执行顺序采用分层调度的方式向所述处理流程分配处理资源,以采用所述处理资源执行所述处理流程还包括:若检测到无法直接访问所述目标容器,采用代理模式通过一个代理容器间接访问所述目标容器,其中,在基于原生方法函数Native的多机资源调度中使用远程代理模式,在内部作业节点执行时,使用智能引用代理模式。
在本公开的一个实施例中,所述根据所述执行顺序采用分层调度的方式向所述处理流程分配处理资源,以采用所述处理资源执行所述处理流程还包括:所述作业包括多个,在一个所述作业处理完毕后,根据事件驱动模式触发下一个所述作业执行处理操作。
在本公开的一个实施例中,所述在采用所述处理资源执行所述处理流程后还包括:基于对所述卫星遥感数据的处理结果生成多个版本的处理数据和/或多个类型的处理数据;采用网页自适应的方式查询所述多个版本的处理数据和/或多个类型的处理数据,以管理和访问所述卫星遥感数据。
根据本公开的另一个方面,提供一种作业流程平台化调度装置,包括:获取模块,用于根据卫星的过境时间获取卫星遥感数据,并触发所述卫星遥感数据的处理流程;确定模块,用于根据约束关系确定所述卫星遥感数据的处理流程的执行顺序;分配模块,用于根据所述执行顺序采用分层调度的方式向所述处理流程分配处理资源,以采用所述处理资源执行所述处理流程。
根据本公开的再一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行上述任意一项的作业流程平台化调度方法。
根据本公开的又一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任意一项的作业流程平台化调度方法。
本公开的实施例所提供的作业流程平台化调度方案,通过从不同的卫星获取卫星遥感数据,并基于卫星遥感数据触发对应的处理流程,以根据不同的处理流程之间的约束关系确定这些流程的执行顺序,保证卫星遥感数据处理的合理性,从而为快速调度各类遥感数据的处理资源提供保障。
进一步地,通过合理确定卫星遥感数据处理流程的执行顺序,结合分层调度的方式对处理资源的调度,以实现处理资源的合理分配,从而能够提高卫星遥感数据处理的时效性,在卫星遥感数据用于气象服务的条件下,还能够提升卫星服务的服务质量。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本公开实施例中一种作业流程平台化调度系统结构的示意图;
图2示出本公开实施例中一种作业流程平台化调度方法的流程图;
图3示出本公开实施例中另一种作业流程平台化调度方法的流程图;
图4示出本公开实施例中又一种作业流程平台化调度方法的流程图;
图5示出本公开实施例中资源分配方案的示意图;
图6示出本公开实施例中容器结构的示意图;
图7示出本公开实施例中一种作业流程平台化调度结构的示意图;
图8示出本公开实施例中作业上线配置的流程图;
图9示出本公开实施例中一种作业流程平台化调度装置的示意图;
图10示出本公开实施例中一种电子设备的示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
本申请提供的方案,通过从不同的卫星获取卫星遥感数据,并基于卫星遥感数据触发对应的处理流程,以根据不同的处理流程之间的约束关系确定这些流程的执行顺序,保证卫星遥感数据处理的合理性,从而为快速调度各类遥感数据的处理资源提供保障。通过合理确定卫星遥感数据处理流程的执行顺序,结合分层调度的方式对处理资源的调度,以实现处理资源的合理分配,从而能够提高卫星遥感数据处理的时效性,在卫星遥感数据用于气象服务的条件下,还能够提升卫星服务的服务质量。
为了便于理解,下面首先对本申请涉及到的几个名词进行解释。
遥感技术:20世纪60年代兴起的一种探测技术,是根据电磁波的理论,应用各种传感仪器对远距离目标所辐射和反射的电磁波信息,进行收集、处理,并最后成像,从而对地面各种景物进行探测和识别的一种综合技术。
遥感卫星:用作外层空间遥感平台的人造卫星。遥感技术和遥感卫星应用于收集气象及高分辨率卫星海量资料,结合应用产品算法,用于气象防灾减灾以及生态文明建设等领域。
Master/Slave结构:主从结构,将一个原始任务分解为若干个语义等同的子任务。
REST 接口,用来规范应用如何在 HTTP 层与 API 提供方进行数据交互 。REST描述了 HTTP 层里客户端和服务器端的数据交互规则;客户端通过向服务器端发送 HTTP(s)请求,接收服务器的响应,完成一次 HTTP 交互。这个交互过程中,REST 架构约定两个重要方面就是 HTTP 请求所采用的方法,以及请求的链接。
本申请实施例提供的方案涉及卫星遥感数据处理等技术,具体通过如下实施例进行说明。
图1示出本公开实施例中一种作业流程平台化调度系统的结构示意图,包括多个终端120和服务器集群140。
终端120可以是手机、游戏主机、平板电脑、电子书阅读器、智能眼镜、MP4(MovingPicture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、智能家居设备、AR(Augmented Reality,增强现实)设备、VR(Virtual Reality,虚拟现实)设备等移动终端,或者,终端120也可以是个人计算机(Personal Computer,PC),比如膝上型便携计算机和台式计算机等等。
其中,终端120中可以安装有用于提供作业流程平台化调度的应用程序。
终端120与服务器集群140之间通过通信网络相连。可选的,通信网络是有线网络或无线网络。
服务器集群140是一台服务器,或者由若干台服务器组成,或者是一个虚拟化平台,或者是一个云计算服务中心。服务器集群140用于为提供作业流程平台化调度的应用程序提供后台服务。可选地,服务器集群140承担主要计算工作,终端120承担次要计算工作;或者,服务器集群140承担次要计算工作,终端120承担主要计算工作;或者,终端120和服务器集群140之间采用分布式计算架构进行协同计算。
在一些可选的实施例中,服务器集群140用于存储作业流程平台化调度信息,譬如,待检测的图像、参考图像库和完成检测的图像。
可选地,不同的终端120中安装的应用程序的客户端是相同的,或两个终端120上安装的应用程序的客户端是不同控制系统平台的同一类型应用程序的客户端。基于终端平台的不同,该应用程序的客户端的具体形态也可以不同,比如,该应用程序客户端可以是手机客户端、PC客户端或者全球广域网(World Wide Web,Web)客户端等。
本领域技术人员可以知晓,上述终端120的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量。本申请实施例对终端的数量和设备类型不加以限定。
可选的,该系统还可以包括管理设备(图1未示出),该管理设备与服务器集群140之间通过通信网络相连。可选的,通信网络是有线网络或无线网络。
可选的,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(Hyper Text Mark-up Language,HTML)、可扩展标记语言(ExtensibleMarkupLanguage,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure Socket Layer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(InternetProtocolSecurity,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
下面,将结合附图及实施例对本示例实施方式中的作业流程平台化调度方法的各个步骤进行更详细的说明。
图2示出本公开实施例中一种作业流程平台化调度方法流程图。本公开实施例提供的方法可以由任意具备计算处理能力的电子设备执行,例如如图1中的终端120和/或服务器集群140。在下面的举例说明中,以终端120为执行主体进行示例说明。
如图2所示,终端120执行作业流程平台化调度方法,包括以下步骤:
步骤S202,根据卫星的过境时间获取卫星遥感数据,并触发卫星遥感数据的处理流程。
具体地,以风云卫星为例,风云卫星的遥感数据用于气象服务,遥感数据的处理流程可以包括卫星观测、数据接收、数据传输、数据处理,整个过程的数据流由时间同步触发,可精准控制。
具体地,根据卫星的过境时间可准确的预测数据到达地面的时间并触发遥感数据的处理流程,以提升数据处理的时效性。
步骤S204,根据约束关系确定卫星遥感数据的处理流程的执行顺序。
其中,约束关系可以理解为为了保证数据处理的完整性,在不同的遥感数据的处理流程之间设置的限定关系,限定关系包括先后执行关系等,从而能够基于约束关系确定遥感数据的处理流程的执行顺序。
步骤S206,根据执行顺序采用分层调度的方式向处理流程分配处理资源,以采用处理资源处理处理流程。
其中,分层处理包括对数据处理的硬件资源进行管理、对提交作业的调度的资源管理器,负责组织业务层的数据处理约束关系的流程管理器等,以保证各作业的按序执行,业务层与遥感数据紧密关联,业务层负责根据不同的遥感数据安排数据处理的时序和流程,结合资源管理器对出局处理进行资源分配,实现数据处理。
在该实施例中,通过从不同的卫星获取卫星遥感数据,并基于卫星遥感数据触发对应的处理流程,以根据不同的处理流程之间的约束关系确定这些流程的执行顺序,保证卫星遥感数据处理的合理性,从而为快速调度各类遥感数据的处理资源提供保障。
进一步地,通过合理确定卫星遥感数据处理流程的执行顺序,结合分层调度的方式对处理资源的调度,以实现处理资源的合理分配,从而能够提高卫星遥感数据处理的时效性,在卫星遥感数据用于气象服务的条件下,还能够提升卫星服务的服务质量。
如图3所示,在本公开的一个实施例中,步骤S204,根据约束关系确定卫星遥感数据的处理流程的执行顺序包括:
步骤S302,根据约束关系将处理流程解析为符合作业接口标准的作业。
其中,通过将处理流程解析为符合作业接口标准的作业,能够便于作业在不同的接口之间流转,以保证作业处理的可靠性与时效性。
步骤S304,将作业提交到不同的执行队列,执行队列根据执行优先级排列,以根据执行优先级确定执行顺序。
其中,通过将作业提交到不同的执行队列,根据作业的优先级生成队列,以根据优先级确定作业的确定执行顺序,实现作业时序解析。
具体的,通过在客户端的UI(用户界面,user interface )界面,完成图形化和文本两种模式的配置,用户可以在图形界面中进行拖拽操作,也可以在文本中通过标签的方式使用,以实现作业时序控制流程定义。
作业时序控制流程定义完成后,可以通过作业时序控制流程执行引擎解析执行,作业时序控制流程执行之前首先提交作业到不同的执行队列,队列是按照一定的优先级(分为优先、正常和最后)进行排列,优先级高的作业会被作业时序控制流程调度器最先拉取执行,当优先级高的作业流执行完成后再拉取次级作业,直至完成数据处理操作。
另外,将实例化的作业时序控制流程按照作业的逻辑约束关系解析成独立的符合用户作业接口标准的作业,结合UI界面,实现单个作业的分层分布式调度,以及作业执行过程中对作业的监视与控制。
如图4所示,在本公开的一个实施例中,步骤S206,根据执行顺序采用分层调度的方式向处理流程分配处理资源,以采用处理资源处理处理流程包括:
步骤S402,根据执行顺序生成每个作业的资源请求。
步骤S404,响应于资源请求,向资源管理器发送应用请求。
步骤S406,资源管理器根据应用请求采用分层调度的方式从执行队列中选择对应的目标容器,目标容器包括处理资源的节点。
如图5所示,系统采用Master/Slave结构配置资源分配结构,具体地,客户端502向资源管理器504发送任务,节点管理器506启动时向资源管理器504注册,注册信息包括该节点可分配的CPU和内存总量,并生成容器5062与应用实例5064,将这些信息封装到容器中,以用于后续的资源分配。
步骤S408,根据节点调用处理资源处理作业。
具体地,每个容器可用于运行一个作业,当应用管理器收到一个或多个容器后,该容器可以进一步分配给内部的某个作业,一旦确定该作业后,应用管理器需将该作业运行环境(包含运行命令、环境变量、依赖的外部文件等)连同容器中的资源信息封装到容器信息管理表对象中,进而与对应的节点管理器通信,以启动该作业的执行流程。
当作业向资源管理器做资源请求时,资源管理器会向作业返回一个包含资源的对象,也就是容器。
容器的内部结构如图6所示,容器60的元素包含ID号码602、资源所在节点604、资源节点地址606、资源量608、资源优先级610、启动环境612等信息,这些信息可以让作业找到并充分地使用资源管理器所为其分配的资源,以达到提升资源分配合理性的目的。
在本公开的一个实施例中,资源管理器根据应用请求采用分层调度的方式从执行队列中选择对应的目标容器包括:在第一层采用基于优先级的深度优先遍历算法选择执行队列。
其中,分层调度的方式可以分为三层,在一个节点上有空闲资源时,它会依次选择队列、应用程序和容器来使用该资源。
具体地,第一层用于选择队列,采用容量调度器基于优先级的深度优先遍历算法选择队列,从根队列开始,按照资源使用率由小到大遍历子队列。如果子队列是叶子队列,则按照第二层、地三层的方法在队列中选择一个容器,否则以该队列为根队列,重复以上过程,直到找到合适的容器并退出。
在选择执行队列后,在第二层按照优先级顺序对执行队列中的应用程序进行排序,并依次遍历排序后的应用程序,以确定与作业匹配的应用程序。
具体地,第二层用于选择处理遥感数据的应用程序,通过选中一个叶子队列后容量调度器按照优先级顺序对叶子队列中的应用程序进行排序,依次遍历排序后的应用程序,以找到合适的容器。
在确定与作业匹配的应用程序后,在第三层根据优先级顺序与本地化顺序选择目标容器。
具体地,第三层用于选择容器,在确定一个应用程序后,先满足优先级高的容器,同一优先级,先满足本地化的容器,依次选择节点本地化、机架本地化 和非本地化的容器。
在该实施例中,该通过上述的分层调度的方式,能够实现容量保证与配置的灵活性,应用程序提交后,资源管理器会向容量调度器发送一个事件,容量调度器收到资源申请后,将请求暂时存放,以等待为其分配合适的资源,以提升遥感数据处理效率。
在本公开的一个实施例中,根据节点调用处理资源处理作业还包括:若检测到处理资源无法满足作业的处理需求,根据资源保证机制和/或资源抢占机制增加作业的处理资源。
具体地,可以在客户端提供监视界面,实现服务器集群管理和节点管理器的参数配置,监视界面可以监视现有节点的个数、集群管理的CPU虚拟核心的总数、现有集群内存的总大小、内存使用情况以及每个节点管理器管理的内存大小和使用情况。另外,通过设置监视界面,还可以实现节点管理器的资源配置文件的自定义配置,配置内容包括表示资源分配的类型,最小分配资源,最大分配资源等。
在该实施例中,通过设置响应机制,在发生资源暂时无法满足任务需求和资源被其他任务占用等情况时,采用资源保证和资源抢占两种机制来保证任务的资源需求。
在本公开的一个实施例中,根据节点调用处理资源处理作业还包括:采用REST接口连接监控系统,以监控作业的处理过程;若检测到作业在处理过程中产生异常,触发异常容错引擎解决异常,以结束作业或重启作业。
在该实施例中,作业时序控制监控过程包括:作业时序控制流程中的作业在各种事件或者任务执行结果的依赖项控制触发中保持作业流转,基于REST接口与监控系统的连接关系进行监控,当发生异常时,异常容错引擎会解决由于异常问题引起的问题并给出解决方式(结束或重新发起作业流或者作业),作业流运转的整个过程都在监控系统的全程监控之下,可为作业流的运行情况提供统计查询功能。
如图7所示,本公开的作业流程平台化调度方案,包括上级调度系统702、本级的时序控制调度系统704、下级调度系统706以及业务系统708,其中,业务系统708可以理解为客户端。业务系统708与时序控制调度系统704对接的接口为RSET接口710,以通过客户端实现主要对流程运行情况的监视,通过REST接口,可以方便的在第三方系统上进行功能实现。
在本公开的一个实施例中,根据执行顺序采用分层调度的方式向处理流程分配处理资源,以采用处理资源处理处理流程还包括:采用适配器模式与下级调度系统进行对接;将作业输入到下级调度系统,并接收下级调度系统对作业的处理结果。
如图7所示,时序控制调度系统704与下级调度系统706之间采用适配器712连接,时序控制调度系统704需要调用第三方的资源调度系统,即下级调度系统706,以实现同不同的业务系统进行数据交互,通过运用适配器712的设计模式,让不同的数据通过适配器的处理,达到统一标准的数据输出,可以做到客户端可以调用同一接口,因而对客户端来说是透明的,做到更简单、更直接、更紧凑,并使时序控制调度系统适应不同的业务系统。
在本公开的一个实施例中,根据执行顺序采用分层调度的方式向处理流程分配处理资源,以采用处理资源处理处理流程还包括:若检测到无法直接访问目标容器,采用代理模式通过一个代理容器间接访问目标容器,其中,在基于原生方法函数Native的多机资源调度中使用远程代理模式,在内部作业节点执行时,使用智能引用代理模式。
在该实施例中,当无法直接访问某个对象或访问某个对象存在困难时可以通过一个代理对象来间接访问,为了保证客户端使用的透明性,所访问的真实对象与代理对象需要实现相同的接口。根据代理模式的使用目的不同,代理模式又可以分为多种类型,例如保护代理、远程代理、虚拟代理、缓冲代理、智能引用代理等,它们应用于不同的场合,满足用户的不同需求。
时序控制调度方法及装置主要使用到两种代理模式:远程代理和智能引用代理。
远程代理(Remote Proxy) 给一个位于不同的地址空间的对象提供一个本地的代理对象,这个不同的地址空间可以是在同一台主机中,也可是在另一台主机中,远程代理又称为大使(Ambassador)。在时序控制调度方法及装置的基于原生方法函数Native的多机资源调度中使用这种设计模式。
智能引用代理(Smart Reference Proxy) 当一个对象被引用时,提供一些额外的操作,例如将对象被调用的次数记录下来等。在时序控制调度方法及装置的内部作业节点执行时,应用这种设计模式。
在本公开的一个实施例中,根据执行顺序采用分层调度的方式向处理流程分配处理资源,以采用处理资源处理处理流程还包括:作业包括多个,在一个作业处理完毕后,根据事件驱动模式触发下一个作业执行处理操作。
在该实施例中,事件驱动程序的基本结构是由一个事件收集器、一个事件发送器和一个事件处理器组成。事件收集器专门负责收集所有事件,包括来自用户的(如鼠标、键盘事件等)、来自硬件的(如时钟事件等)和来自软件的(如操作系统、应用程序本身等)。事件发送器负责将收集器收集到的事件分发到目标对象中。
具体地,一个作业完成后,触发往下流转的处理方式就是利用了事件驱动模式来进行设计,一个作业完成,会在本地生成相应的日志记录,时序控制调度方法及装置实时监控日志,当有变化则进行数据提取并处理,从而达到高效近实时的进行作业节点的流转。
在本公开的一个实施例中,在采用处理资源处理处理流程后还包括:基于对卫星遥感数据的处理结果生成多个版本的处理数据和/或多个类型的处理数据;采用网页自适应的方式查询多个版本的处理数据和/或多个类型的处理数据,以管理和访问卫星遥感数据。
本发明实施例通过对多个标准化的遥感数据进行标准化处理后划分为不同类型不同版本的数据,并进行统一存储、管理与访问,并采用网页自适应方式进行查询,能够有效管理和访问遥感数据。
风云卫星调度系统是一个实时业务系统,地面应用组成复杂,数据处理流程繁琐,不同卫星、不同的载荷在并行工作同时,互相之间有相互的约束关系,通过合理安排流程约束关系实现多卫星、多载荷数据处理、多站数据接收的并行调度。
图8示出了作业上线配置的流程示意图。
如图8所示,作业上线配置的流程包括:
步骤S802,作业配置信息收集。
具体地,界面收集作业集成信息;通过界面选择星标、载荷、系统等基本信息,导入相关集成单,用户修改补充,存储为作业集成配置文件;还可以通过加载已有的作业集成配置文件,收集作业集成信息。对于导入的变更集成单,对修改的信息进行颜色标记。
步骤S804,根据日志级别配置文件进行作业日志级别配置。
步骤S806,根据产品配置表进行产品配置更新。
具体地,产品配置表中包括产品ID、产品名称、产品路径、产品中文名、是否业务产品标志、是否分发标志、是否中间产品标志、作业ID。其中产品ID作为主键唯一标识产品,作业ID作为外键关联作业表。
另外,还可以添加中间文件验证纠错功能,用来适应修正把中间产品配成业务分发产品的问题。
步骤S808,根据作业集成配置生成作业组件,加入到组件库中。
具体的,作业组件的功能包括:作业流模板编辑,具体为根据最新的组件库,编辑作业流模板,以支持流模板的组件自动更新功能。
需要注意的是,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图9来描述根据本发明的这种实施方式的作业流程平台化调度装置900。图9所示的作业流程平台化调度装置900仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
作业流程平台化调度装置900以硬件模块的形式表现。作业流程平台化调度装置900的组件可以包括但不限于:
获取模块902,用于根据卫星的过境时间获取卫星遥感数据,并触发所述卫星遥感数据的处理流程;确定模块904,用于根据约束关系确定所述卫星遥感数据的处理流程的执行顺序;分配模块906,用于根据所述执行顺序采用分层调度的方式向所述处理流程分配处理资源,以采用所述处理资源执行所述处理流程。
下面参照图10来描述根据本发明的这种实施方式的电子设备1000。图10显示的电子设备1000仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图10所示,电子设备1000以通用计算设备的形式表现。电子设备1000的组件可以包括但不限于:上述至少一个处理单元1010、上述至少一个存储单元1020、连接不同系统组件(包括存储单元1020和处理单元1010)的总线1030。
其中,存储单元存储有程序代码,程序代码可以被处理单元1010执行,使得处理单元1010执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,处理单元1010可以执行如图2中所示的步骤S202、S204和S206,以及本公开的作业流程平台化调度方法中限定的其他步骤。
存储单元1020可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)10201和/或高速缓存存储单元10202,还可以进一步包括只读存储单元(ROM)10203。
存储单元1020还可以包括具有一组(至少一个)程序模块10205的程序/实用工具10204,这样的程序模块10205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线1030可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备1000也可以与一个或多个外部设备1040(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备交互的设备通信,和/或与使得该电子设备1000能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1050进行。并且,电子设备1000还可以通过网络适配器1060与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1060通过总线1030与电子设备1000的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
根据本发明的实施方式的用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。

Claims (7)

1.一种作业流程平台化调度方法,其特征在于,包括:
从不同的卫星获取卫星遥感数据,其中,基于所述卫星的过境时间预测所述卫星遥感数据到达地面的时间,以基于所述到达地面的时间触发所述卫星遥感数据的处理流程;
根据不同的所述卫星遥感数据的处理流程之间的约束关系确定所述卫星遥感数据的处理流程的执行顺序,包括:根据所述约束关系将所述处理流程解析为符合作业接口标准的作业;
将所述作业提交到不同的执行队列,所述执行队列根据执行优先级排列;
根据所述执行优先级确定所述执行顺序;
根据所述执行顺序并采用分层调度的方式向所述处理流程分配处理资源,以采用所述处理资源处理所述处理流程,包括:
根据所述执行顺序生成每个所述作业的资源请求;
响应于所述资源请求,向资源管理器发送应用请求;
所述资源管理器根据所述应用请求采用所述分层调度方式从所述执行队列中选择对应的目标容器,包括:在第一层采用基于优先级的深度优先遍历算法选择所述执行队列,其中,所述第一层用于选择队列,采用容量调度器基于优先级的深度优先遍历算法选择队列,从根队列开始,按照资源使用率由小到大遍历子队列,如果子队列是叶子队列,则按照第二层、第三层的方法在队列中选择一个容器,否则以该队列为根队列,重复以上过程,直到找到合适的所述目标容器并退出,在选择所述执行队列后,在第二层按照优先级顺序对所述执行队列中的应用程序进行排序,并依次遍历排序后的所述应用程序,以确定与所述作业匹配的所述应用程序,其中,第二层用于选择处理遥感数据的应用程序,通过选中一个叶子队列后容量调度器按照优先级顺序对叶子队列中的应用程序进行排序,依次遍历排序后的应用程序,在确定与所述作业匹配的所述应用程序后,在第三层根据所述优先级顺序与本地化顺序选择所述目标容器,其中,同一优先级,先满足本地化的容器,依次选择节点本地化、机架本地化和非本地化的容器,所述目标容器包括所述处理资源的节点,其中,客户端向资源管理器发送任务,节点管理器启动时向资源管理器注册,注册信息包括所述节点可分配的CPU和内存总量,并生成所述目标容器;
根据所述节点调用所述处理资源处理所述作业,应用管理器将所述作业的运行环境与所述容器中的资源信息封装到容器信息管理表对象中,基于与对应的节点管理器通信,启动所述作业的执行流程,其中,所述运行环境包含运行命令、环境变量和依赖的外部文件;
其中,所述作业的线上配置的流程包括:作业配置信息收集,根据日志级别配置文件进行作业日志级别配置,根据产品配置表进行产品配置更新,根据作业集成配置生成所述作业的作业组件。
2.根据权利要求1所述的作业流程平台化调度方法,其特征在于,所述根据所述节点调用所述处理资源处理所述作业还包括:
若检测到所述处理资源无法满足所述作业的处理需求,根据资源保证机制和/或资源抢占机制增加所述作业的备用资源。
3.根据权利要求1所述的作业流程平台化调度方法,其特征在于,所述根据所述节点调用所述处理资源处理所述作业还包括:
采用REST接口连接监控系统,以监控所述作业的处理过程;
若检测到所述作业在处理过程中产生异常,则触发异常容错引擎解决所述异常,以结束所述作业或重启所述作业。
4.根据权利要求1所述的作业流程平台化调度方法,其特征在于,所述根据所述执行顺序并采用分层调度的方式向所述处理流程分配处理资源,以采用所述处理资源处理所述处理流程还包括:
采用适配器模式与下级调度系统进行对接;
将所述作业输入到所述下级调度系统,并接收所述下级调度系统对所述作业的处理结果。
5.根据权利要求1所述的作业流程平台化调度方法,其特征在于,所述根据所述执行顺序并采用分层调度的方式向所述处理流程分配处理资源,以采用所述处理资源处理所述处理流程还包括:
若检测到无法直接访问所述目标容器,采用代理模式通过一个代理容器间接访问所述目标容器,
其中,在基于原生方法函数Native的多机资源调度中使用远程代理模式,在内部作业节点执行时,使用智能引用代理模式。
6.根据权利要求1所述的作业流程平台化调度方法,其特征在于,所述根据所述执行顺序并采用分层调度的方式向所述处理流程分配处理资源,以采用所述处理资源处理所述处理流程还包括:
所述作业包括多个,在一个所述作业处理完毕后,根据事件驱动模式触发下一个所述作业执行处理操作。
7.根据权利要求1至6中任一项所述的作业流程平台化调度方法,其特征在于,所述在采用所述处理资源处理所述处理流程后还包括:
基于对所述卫星遥感数据的处理结果生成多个版本的处理数据和/或多个类型的处理数据;
采用网页自适应的方式查询所述多个版本的处理数据和/或多个类型的处理数据,以管理和访问所述卫星遥感数据。
CN202011421755.0A 2020-12-08 2020-12-08 作业流程平台化调度方法 Active CN112256406B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011421755.0A CN112256406B (zh) 2020-12-08 2020-12-08 作业流程平台化调度方法
US17/408,401 US12014216B2 (en) 2020-12-08 2021-08-21 Method for platform-based scheduling of job flow

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011421755.0A CN112256406B (zh) 2020-12-08 2020-12-08 作业流程平台化调度方法

Publications (2)

Publication Number Publication Date
CN112256406A CN112256406A (zh) 2021-01-22
CN112256406B true CN112256406B (zh) 2021-08-17

Family

ID=74224946

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011421755.0A Active CN112256406B (zh) 2020-12-08 2020-12-08 作业流程平台化调度方法

Country Status (2)

Country Link
US (1) US12014216B2 (zh)
CN (1) CN112256406B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230050870A1 (en) * 2021-08-11 2023-02-16 Palantir Technologies Inc. Systems and methods for ai meta-constellation
US20230106327A1 (en) * 2021-10-01 2023-04-06 EMC IP Holding Company LLC Systems and methods for data mover selection
CN114489957B (zh) * 2022-04-01 2022-07-22 国家卫星海洋应用中心 遥感卫星数据处理方法、装置和电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105893157A (zh) * 2016-04-29 2016-08-24 国家计算机网络与信息安全管理中心 一种开放分布式系统资源管理与任务调度系统与方法
CN111274013A (zh) * 2020-01-16 2020-06-12 北京思特奇信息技术股份有限公司 容器内基于内存数据库的定时任务调度的优化方法及系统

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030016166A1 (en) * 2001-07-18 2003-01-23 Fastlocation.Net, Llc Method and system for processing positioning signals with matching assistance
US7155716B2 (en) * 2002-03-08 2006-12-26 Intel Corporation Weighted and prioritized task scheduler
US7945387B2 (en) * 2003-03-19 2011-05-17 Broadcom Corporation Method and apparatus for distribution of satellite navigation data
US7327310B2 (en) * 2003-11-07 2008-02-05 Global Locate, Inc. Method and apparatus for managing time in a satellite positioning system
US8619756B2 (en) * 2009-07-15 2013-12-31 Qualcomm Incorporated Systems and methods for providing resource allocation meeting communication constraints for multi-hop network data flows
US9357521B2 (en) * 2013-02-27 2016-05-31 Marvell World Trade Ltd. Determining an estimated location of a base station
US10339465B2 (en) * 2014-06-30 2019-07-02 Amazon Technologies, Inc. Optimized decision tree based models
US11100420B2 (en) * 2014-06-30 2021-08-24 Amazon Technologies, Inc. Input processing for machine learning
US10102480B2 (en) * 2014-06-30 2018-10-16 Amazon Technologies, Inc. Machine learning service
US10929905B2 (en) * 2015-10-05 2021-02-23 Verizon Media Inc. Method, system and machine-readable medium for online task exchange
AU2017223223B2 (en) * 2016-02-25 2021-09-02 Myriota Pty Ltd Terminal scheduling method in satellite communication system
US10515038B2 (en) * 2016-09-26 2019-12-24 Red Hat, Inc. Input/output command rebalancing in a virtualized computer system
US11093297B2 (en) * 2017-02-08 2021-08-17 Dell Products L.P. Workload optimization system
CN110770704B (zh) * 2017-06-19 2023-02-17 三菱电机株式会社 分布配置装置、分布配置系统以及分布配置方法
US10387673B2 (en) * 2017-06-30 2019-08-20 Microsoft Technology Licensing, Llc Fully managed account level blob data encryption in a distributed storage environment
CN109558446B (zh) * 2018-12-13 2020-12-22 杭州数梦工场科技有限公司 作业请求方法、装置、电子设备及存储介质
CN111404593B (zh) * 2020-03-13 2022-02-15 北京华云星地通科技有限公司 卫星遥感数据的处理方法及装置
CN111930487B (zh) * 2020-08-28 2024-05-24 北京百度网讯科技有限公司 作业流调度方法、装置、电子设备及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105893157A (zh) * 2016-04-29 2016-08-24 国家计算机网络与信息安全管理中心 一种开放分布式系统资源管理与任务调度系统与方法
CN111274013A (zh) * 2020-01-16 2020-06-12 北京思特奇信息技术股份有限公司 容器内基于内存数据库的定时任务调度的优化方法及系统

Also Published As

Publication number Publication date
US12014216B2 (en) 2024-06-18
CN112256406A (zh) 2021-01-22
US20220179711A1 (en) 2022-06-09

Similar Documents

Publication Publication Date Title
Aksakalli et al. Deployment and communication patterns in microservice architectures: A systematic literature review
CN112256406B (zh) 作业流程平台化调度方法
US7673029B2 (en) Grid automation bus to integrate management frameworks for dynamic grid management
CN112104723B (zh) 一种多集群的数据处理系统及方法
CN108595316B (zh) 分布式应用的生命周期管理方法、管理器、设备和介质
US8943518B2 (en) Managing and optimizing workflows among computer applications
US10101972B1 (en) Data modelling and flow engine for building automated flows within a cloud based developmental platform
CN110083455B (zh) 图计算处理方法、装置、介质及电子设备
EP3454203A1 (en) Data modelling and flow engine for building automated flows within a cloud based developmental platform
Han et al. Refining microservices placement employing workload profiling over multiple kubernetes clusters
Beckman et al. Exascale operating systems and runtime software report
KR20220088333A (ko) 로봇 프로세스 자동화(rpa) 로봇들의 동적 클라우드 배치
CN112313627A (zh) 事件到无服务器函数工作流实例的映射机制
US20210203665A1 (en) Process and system for managing data flows for the unified governance of a plurality of intensive computing solutions
US11200049B2 (en) Automated test authorization management
Büyüktanır et al. Provisioning system for application virtualization environments
CN107018160B (zh) 一种基于层次化的制造资源和云化方法
EP2988469B1 (en) A method and apparatus for updating a user interface of one program unit in response to an interaction with a user interface of another program unit
CN113391903A (zh) 可调度性模型的建立方法、装置、电子设备及存储介质
US20210286785A1 (en) Graph-based application performance optimization platform for cloud computing environment
US20090293064A1 (en) Synchronizing shared resources in an order processing environment using a synchronization component
Li et al. SoDa: A Serverless‐Oriented Deadline‐Aware Workflow Scheduling Engine for IoT Applications in Edge Clouds
US20110251867A1 (en) Method and system for integrated operations and service support
US20220191167A1 (en) Organizational modelling for routing rpa related services of an rpa cloud suite
CN116578413B (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