CN102521024B - 基于生物信息云平台的作业调度方法 - Google Patents
基于生物信息云平台的作业调度方法 Download PDFInfo
- Publication number
- CN102521024B CN102521024B CN 201110375843 CN201110375843A CN102521024B CN 102521024 B CN102521024 B CN 102521024B CN 201110375843 CN201110375843 CN 201110375843 CN 201110375843 A CN201110375843 A CN 201110375843A CN 102521024 B CN102521024 B CN 102521024B
- Authority
- CN
- China
- Prior art keywords
- job
- parameter
- character stream
- program
- module
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于生物信息云平台的作业调度方法,涉及云平台构建技术领域,包括以下步骤:S1:表达层传输参数字符流至服务层;S2:根据所述参数字符流中的参数变量及参数字符流头部的程序名称生成以程序命名的参数文件;S3:最后根据参数字符流中指定的路径、作业类型和所述参数文件的文件名组装成格式统一的作业提交脚本并提交作业至资源层,所述作业提交脚本中还包括与所述作业类型相应的作业提交命令;S4:所述资源层解析所述作业提交脚本,执行所述作业提交命令以调用所述作业需调用的程序。本发明实现了平台的软件快速集成,提高了平台的可扩展性及可部署性,减小了开发成本,缩短了开发周期。
Description
技术领域
本发明涉及云平台构建技术领域,特别涉及一种基于生物信息云平台的作业调度方法。
背景技术
随着第二代测序技术在基因组学领域的普及,越来越多的生物学研究人员寻求借助于高性能计算机集群来处理由高通量测序所产生的大量数据。然而,由于全世界范围内新的生物信息数据分析软件层出不穷,算法更新速度不断加快,因此,研究人员不仅需要懂得使用、管理硬件体系,还必须熟练掌握各种分析软件的部署、调试,并随时跟踪最前沿的软件及其新版本的发布情况。
为了让研究人员从复杂的计算机系统工作中解脱,从而将更多的精力专注于生物学本身的工作上,许多研究机构和企业开发了生物信息数据分析平台,例如华大的BGI Cloud,中科院北京基因组所的waprna,各种基于Amazon EC2虚拟化平台的生物信息分析工具等,这些平台主要是以软件服务的形式将高性能计算能力交付给用户。
目前主流生物信息数据分析平台的开发都是基于JAVASTRUTS2框架,如图1所示。该框架由三个层次组成:表达层、服务层、资源层。表达层主要是前台界面、用户交互部分,负责向用户呈现信息或接收用户请求;服务层和表达层进行交互,以tomcat服务的形式响应前台请求,并根据用户提供的软件参数去调用资源层的应用软件或完成数据处理,例如增加、删除、修改、查找等;资源层由生物信息数据分析软件、数据库、高性能计算硬件等系统资源构成。
该框架的优点是后台servlet采用模块化设计,降低了各服务功能之间的依赖度,提高了程序整体的可维护性。
但是,由于生物信息学领域发展迅速,新的分析算法、程序层出不穷,因此生物信息数据分析平台的扩展性要求很高。现有的主流技术平台主要存在两个缺陷:
1、由于参数、运行格式各异,每个应用程序对应一个后台调用方法,而没有一个统一的调用方法来实现对不同程序的调用。因此每一个新的程序都需要花费人力和时间去开发新的前、后台组件来将其集成到平台中来。面对成千上万中分析软件,这样的工作量太大,必须使用大量的开发人员来维持后台分析软件的更新换代,导致可扩展性及可部署性差;
2、每一种新软件的集成,都需要多种开发人员进行协调工作,包括JAVA、PERL等各种工程师,时间周期长,成本高。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何实现一种基于生物信息云平台的作业调度方法,使得能够通过统一的调用方法来实现对不同程序的调用。
(二)技术方案
为解决上述技术问题,本发明提供了一种基于生物信息云平台的作业调度方法,包括以下步骤:
S1:表达层传输参数字符流至服务层;
S2:根据所述参数字符流中的参数变量及参数字符流头部的程序名称生成以程序命名的参数文件;
S3:最后根据参数字符流中指定的路径、作业类型和所述参数文件的文件名组装成格式统一的作业提交脚本并提交作业至资源层,所述作业提交脚本中还包括与所述作业类型相应的作业提交命令;
S4:所述资源层解析所述作业提交脚本,执行所述作业提交命令以调用所述作业需调用的程序。
其中,若表达层接收到的是包含多个模块作业的作业流,则步骤S1和S2之间还包括步骤:
S1.1:所述服务层将参数字符流存入临时文件;
S1.2:从所述参数字符流中解析出所有的模块作业的模块名,按顺序记录在数据库中,数据库字段还包括模块作业的执行状态;
S1.3:从临时文件中提取当前模块的程序名称及参数变量;
步骤S3之后返回到步骤S1.3执行,直到提交完所述参数字符流中所有的模块作业。
其中,所述步骤S4具体包括:
所述作业提交命令根据所述参数文件的文件名查找到所述参数文件,读取其中的参数变量;
所述作业提交脚本中的路径下的程序根据所述参数文件中的参数变量运行。
其中,所述参数字符流中还包括参数:需要多核并行运行的模块作业所需的具体资源数。
(三)有益效果
本发明通过统一格式的参数字符流,生成统一格式的作业提交脚本,对模块作业和流程作业进行统一调度,且在资源层采用对脚本的统一的解析方法,实现了在生物信息云平台中能够通过统一的调用方法来实现对不同程序的调用,从而实现了平台的软件快速集成,提高了平台的可扩展性及可部署性,减小了开发成本,缩短了开发周期。
附图说明
图1是现有的一种生物信息云平台结构框架图;
图2是本发明实施例的一种基于生物信息云平台的作业调度方法流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
本发明中的基于软件服务的信息云平台为图1所示架构,基于JAVA STRUTS2框架实现,首先用户通过浏览器发送基于分析流程的作业请求至表达层,表达层提取用户所提交的作业参数后,推送给服务层,后台服务器通过servlet来响应,并根据作业参数调用资源层作业管理系统的REST/SOAP接口,加载作业。具体流程如图2所示。后台服务将前台提交过来的作业类型分为两类:模块作业与流程作业,运行单个程序就能得到结果的作业称为模块作业,相对而言,需要连续运行多个程序才能得到结果的,称为流程作业。具体地,流程作业是指由多个模块作业组成的管道处理作业方式。表达层解释用户输入的参数字符流,判断是否为流程作业,若不是流程作业,按以下模块作业的步骤处理:
1、表达层传输参数字符流至服务层,参数字符流是满足一定格式的文本,满足的格式如下表所示:
2、后台服务从参数字符流中提取所要调用程序的参数变量(包括变量名称和值);
3、根据参数字符流头部的程序的名称,生成以程序命名的参数文件,本实施例中采用OPT文件,格式如下表所示:
4、最后根据参数字符流中指定的路径和作业类型,作业类型如:LSF(Load Sharing Facility)、PBS(Portable Batch System)、SGE(SunGrid Engine)、或者SHELL,组装成格式统一的作业提交脚本并提交作业。以LSF为例,作业提交脚本格式如下:
APP_NAME=QueueName(队列名);
NP_PER_NODE=n(一个节点运行n个进程,默认是节点的核数);
MY_MPI_TYPE=openmpi(选择mpi的类型);
MY_MPI_HOME=/usr/mpi/gcc/openmpi-1.2.8(mpi的路径);
NP=N(使用的CPU核数);
RUN=”Program_Name Parameter_Path_and_Filename”(命令行参数)。
对于每一种作业类型对应的作业提交脚本的格式都一样,资源层只需根据从中解析出需调用程序的路径、程序名称及相应的参数就能调用该程序。而且本发明采用了标准化的作业类型(LSF、PBS、SGE等)以方便解析。
5、资源层解析上述作业提交脚本,执行作业提交命令以调用作业提交脚本中指定的程序。有上述作业提交脚本的格式可见,其中已包含了作业提交指令,如:RUN命令,其中包括了要调用的程序名和平台在服务层指定的参数文件的路径。
因此,开发底层程序的程序员不需要在程序中提供不同作业类型对应的提交操作指令,实现了程序的快速部署。
若是流程作业,则提交及处理步骤如下:
1、表达层传输参数字符流至服务层。
2、服务层将参数字符流存入临时文件,参数字符流是满足一定格式的文本,以字符流的形式通过网络在服务器之间进行传输,传输到服务器上时只是存在于内存中,并没有存为文件。临时文件就是把参数字符流存储到磁盘上,以文件的形式存在,其文本内容不变。
3、从参数字符流中解析出所有的模块名,按顺序记录在数据库中,数据库字段应包括模块作业的执行状态。
4、从临时文件中提取当前模块的参数变量。
5、生成以当前模块的程序命名的参数文件(OPT文件),根据参数字符流中指定的路径和作业类型,作业类型如:LSF、PBS、SGE、或者SHELL,组装成格式统一的作业提交脚本,并提交该作业。作业提交脚本中还包括与所述作业类型相应的作业提交命令。
6、当本作业模块完成时,将下一模块设置为当前作业。
7、触发作业提交事件,返回至步骤4。
8、重复直至流程中的所有模块作业完成。
资源层接收到作业提交脚本后解析该脚本,执行作业提交命令以调用作业提交脚本中指定的程序。
上述步骤中模块或流程的处理方法中对于需要多核并行运行的模块,参数字符流中还包括参数:需要多核并行运行的模块作业所需的具体资源数。
本发明分别在生物信息云平台表达层与服务层之间、服务层与资源层之间基于JAVA STRUTS2框架实现了作业模块的格式化调用,并在此基础上,对于由多个分析作业模块组成的分析作业流程实现了自动解析以及分步执行的功能,使得在集成新的分析软件至生物信息云平台中时,能够实现快速部署的功能。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (3)
1.一种基于生物信息云平台的作业调度方法,其特征在于,包括以下步骤:
S1:表达层传输参数字符流至服务层;
S2:根据所述参数字符流中的参数变量及参数字符流头部的程序名称生成以程序命名的参数文件;
S3:最后根据参数字符流中指定的路径、作业类型和所述参数文件的文件名组装成格式统一的作业提交脚本并提交作业至资源层,所述作业提交脚本中还包括与所述作业类型相应的作业提交命令;
S4:所述资源层解析所述作业提交脚本,执行所述作业提交命令以调用所述作业需调用的程序;
若表达层接收到的是包含多个模块作业的作业流,则步骤S1和S2之间还包括步骤:
S1.1:所述服务层将参数字符流存入临时文件;
S1.2:从所述参数字符流中解析出所有的模块作业的模块名,按顺序记录在数据库中,数据库字段还包括模块作业的执行状态;
S1.3:从临时文件中提取当前模块的程序名称及参数变量;
步骤S3之后返回到步骤S1.3执行,直到提交完所述参数字符流中所有的模块作业。
2.如权利要求1所述的基于生物信息云平台的作业调度方法,其特征在于,所述步骤S4具体包括:
所述作业提交命令根据所述参数文件的文件名查找到所述参数文件,读取其中的参数变量;
所述作业提交脚本中的路径下的程序根据所述参数文件中的参数变量运行。
3.如权利要求2所述的基于生物信息云平台的作业调度方法,其特征在于,所述参数字符流中还包括参数:需要多核并行运行的模块作业所需的具体资源数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110375843 CN102521024B (zh) | 2011-11-23 | 2011-11-23 | 基于生物信息云平台的作业调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110375843 CN102521024B (zh) | 2011-11-23 | 2011-11-23 | 基于生物信息云平台的作业调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102521024A CN102521024A (zh) | 2012-06-27 |
CN102521024B true CN102521024B (zh) | 2013-07-31 |
Family
ID=46291959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110375843 Active CN102521024B (zh) | 2011-11-23 | 2011-11-23 | 基于生物信息云平台的作业调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102521024B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102930475B (zh) * | 2012-09-18 | 2016-07-06 | 曙光信息产业(北京)有限公司 | 一种基于pbs交互的石油应用封装方法 |
CN103942034A (zh) * | 2014-03-21 | 2014-07-23 | 深圳华大基因科技服务有限公司 | 任务调度方法及实现该方法的电子装置 |
CN105320660B (zh) * | 2014-06-05 | 2019-01-18 | 中国石油化工股份有限公司 | 数值模拟并行计算的作业自动提交方法及装置 |
CN104537713B (zh) * | 2015-01-05 | 2017-10-03 | 清华大学 | 一种新型三维重构系统 |
CN105610952A (zh) * | 2015-12-31 | 2016-05-25 | 西安航天动力研究所 | 一种基于通用组件的远程应用程序调用系统及方法 |
CN106022007B (zh) * | 2016-06-14 | 2019-03-26 | 中国科学院北京基因组研究所 | 面向生物组学大数据计算的云平台系统及方法 |
CN106844040B (zh) * | 2016-12-20 | 2020-08-28 | 北京并行科技股份有限公司 | 一种作业提交方法、系统及服务器 |
CN107122626A (zh) * | 2017-03-13 | 2017-09-01 | 上海海云生物科技有限公司 | 二代测序dna突变检测的生物信息学分析的方法及系统 |
CN108171013A (zh) * | 2017-12-19 | 2018-06-15 | 北京荣之联科技股份有限公司 | 一种可视化生物信息分析流程的调试方法及系统 |
CN109783660A (zh) * | 2018-12-17 | 2019-05-21 | 新视家科技(北京)有限公司 | 多媒体跳转方法及其装置、电子设备、计算机可读介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101599026A (zh) * | 2009-07-09 | 2009-12-09 | 浪潮电子信息产业股份有限公司 | 一种具有弹性架构的集群作业调度系统 |
-
2011
- 2011-11-23 CN CN 201110375843 patent/CN102521024B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101599026A (zh) * | 2009-07-09 | 2009-12-09 | 浪潮电子信息产业股份有限公司 | 一种具有弹性架构的集群作业调度系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102521024A (zh) | 2012-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102521024B (zh) | 基于生物信息云平台的作业调度方法 | |
Lin et al. | Bandwidth‐aware divisible task scheduling for cloud computing | |
US9170846B2 (en) | Distributed data-parallel execution engines for user-defined serial problems using branch-and-bound algorithm | |
CN109284430A (zh) | 基于分布式架构的可视化主题网页内容爬取系统及方法 | |
Fang et al. | BPM architecture design based on cloud computing | |
Abbasi et al. | A preliminary study of incorporating GPUs in the Hadoop framework | |
Buncic et al. | The AliEn system, status and perspectives | |
Zhong et al. | Model-based parallelizer for embedded control systems on single-isa heterogeneous multicore processors | |
Minder et al. | How to translate a book within an hour: towards general purpose programmable human computers with crowdlang | |
Wilson et al. | Launcher: a shell-based framework for rapid development of parallel parametric studies | |
CN103810041A (zh) | 一种支持动态伸缩的并行计算的方法 | |
Yang et al. | The best of both worlds: Big data programming with both productivity and performance | |
Merzky et al. | Application level interoperability between clouds and grids | |
Cao et al. | Paraaim: testing android applications parallel at activity granularity | |
Liu et al. | BSPCloud: A hybrid distributed-memory and shared-memory programming model | |
Wu et al. | An automatic artificial intelligence training platform based on kubernetes | |
CN115271078A (zh) | 一种超级计算机与量子计算机协同的软件栈及工作方法 | |
Zhang et al. | Artificial intelligence platform for mobile service computing | |
Panitkin et al. | ATLAS Cloud R&D | |
Cao et al. | Evaluating data redistribution in parsec | |
Wang et al. | A survey of system scheduling for hpc and big data | |
Chen et al. | Evolution of cloud operating system: from technology to ecosystem | |
Liu | A Programming Model for the Cloud Platform | |
Malik et al. | Executing synchronous data flow graphs on heterogeneous execution architectures using integer linear programming | |
Liu et al. | Bspcloud: A programming model for cloud 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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: No.249, Dongsi South Street, Dongcheng District, Beijing Patentee after: Beijing Computing Center Co.,Ltd. Address before: Room 317, 3rd Floor, Building 3, Beike Industry, No. 7 Fengxian Middle Road, Yongfeng Industrial Base, Haidian District, Beijing, 100094 Patentee before: BEIJING COMPUTING CENTER |
|
CP03 | Change of name, title or address |