基于生物信息云平台的作业调度方法技术

技术编号:7474854 阅读:422 留言:0更新日期:2012-07-03 07:35
本发明专利技术公开了一种基于生物信息云平台的作业调度方法,涉及云平台构建技术领域,包括以下步骤:S1:表达层传输参数字符流至服务层;S2:根据所述参数字符流中的参数变量及参数字符流头部的程序名称生成以程序命名的参数文件;S3:最后根据参数字符流中指定的路径、作业类型和所述参数文件的文件名组装成格式统一的作业提交脚本并提交作业至资源层,所述作业提交脚本中还包括与所述作业类型相应的作业提交命令;S4:所述资源层解析所述作业提交脚本,执行所述作业提交命令以调用所述作业需调用的程序。本发明专利技术实现了平台的软件快速集成,提高了平台的可扩展性及可部署性,减小了开发成本,缩短了开发周期。

【技术实现步骤摘要】

本专利技术涉及云平台构建
,特别涉及一种。
技术介绍
随着第二代测序技术在基因组学领域的普及,越来越多的生物学研究人员寻求借助于高性能计算机集群来处理由高通量测序所产生的大量数据。然而,由于全世界范围内新的生物信息数据分析软件层出不穷,算法更新速度不断加快,因此,研究人员不仅需要懂得使用、管理硬件体系,还必须熟练掌握各种分析软件的部署、调试,并随时跟踪最前沿的软件及其新版本的发布情况。为了让研究人员从复杂的计算机系统工作中解脱,从而将更多的精力专注于生物学本身的工作上,许多研究机构和企业开发了生物信息数据分析平台,例如华大的BGI Cloud,中科院北京基因组所的waprna,各种基于Amazon EC2虚拟化平台的生物信息分析工具等,这些平台主要是以软件服务的形式将高性能计算能力交付给用户。目前主流生物信息数据分析平台的开发都是基于JAVASTRUTS2框架,如图1所示。 该框架由三个层次组成表达层、服务层、资源层。表达层主要是前台界面、用户交互部分, 负责向用户呈现信息或接收用户请求;服务层和表达层进行交互,以tomcat服务的形式响应前台请求,并根据用户提供的软件参数去调用资源层的应用软件或完成数据处理,例如增加、删除、修改、查找等;资源层由生物信息数据分析软件、数据库、高性能计算硬件等系统资源构成。该框架的优点是后台servlet采用模块化设计,降低了各服务功能之间的依赖度,提高了程序整体的可维护性。但是,由于生物信息学领域发展迅速,新的分析算法、程序层出不穷,因此生物信息数据分析平台的扩展性要求很高。现有的主流技术平台主要存在两个缺陷1、由于参数、运行格式各异,每个应用程序对应一个后台调用方法,而没有一个统一的调用方法来实现对不同程序的调用。因此每一个新的程序都需要花费人力和时间去开发新的前、后台组件来将其集成到平台中来。面对成千上万中分析软件,这样的工作量太大,必须使用大量的开发人员来维持后台分析软件的更新换代,导致可扩展性及可部署性差;2、每一种新软件的集成,都需要多种开发人员进行协调工作,包括JAVA、PERL等各种工程师,时间周期长,成本高。
技术实现思路
(一)要解决的技术问题本专利技术要解决的技术问题是如何实现一种,使得能够通过统一的调用方法来实现对不同程序的调用。3(二)技术方案为解决上述技术问题,本专利技术提供了一种, 包括以下步骤Sl 表达层传输参数字符流至服务层;S2:根据所述参数字符流中的参数变量及参数字符流头部的程序名称生成以程序命名的参数文件;S3:最后根据参数字符流中指定的路径、作业类型和所述参数文件的文件名组装成格式统一的作业提交脚本并提交作业至资源层,所述作业提交脚本中还包括与所述作业类型相应的作业提交命令;S4:所述资源层解析所述作业提交脚本,执行所述作业提交命令以调用所述作业需调用的程序。其中,若表达层接收到的是包含多个模块作业的作业流,则步骤Sl和S2之间还包括步骤Si. 1 所述服务层将参数字符流存入临时文件;Si. 2 从所述参数字符流中解析出所有的模块作业的模块名,按顺序记录在数据库中,数据库字段还包括模块作业的执行状态;Si. 3 从临时文件中提取当前模块的程序名称及参数变量;步骤S3之后返回到步骤Si. 3执行,直到提交完所述参数字符流中所有的模块作业。其中,所述步骤S4具体包括所述作业提交命令根据所述参数文件的文件名查找到所述参数文件,读取其中的参数变量;所述作业提交脚本中的路径下的程序根据所述参数文件中的参数变量运行。其中,所述参数字符流中还包括参数需要多核并行运行的模块作业所需的具体资源数。(三)有益效果本专利技术通过统一格式的参数字符流,生成统一格式的作业提交脚本,对模块作业和流程作业进行统一调度,且在资源层采用对脚本的统一的解析方法,实现了在生物信息云平台中能够通过统一的调用方法来实现对不同程序的调用,从而实现了平台的软件快速集成,提高了平台的可扩展性及可部署性,减小了开发成本,缩短了开发周期。附图说明图1是现有的一种生物信息云平台结构框架图;图2是本专利技术实施例的一种流程图。 具体实施例方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。本专利技术中的基于软件服务的信息云平台为图1所示架构,基于JAVA STRUTS2框架实现,首先用户通过浏览器发送基于分析流程的作业请求至表达层,表达层提取用户所提交的作业参数后,推送给服务层,后台服务器通过servlet来响应,并根据作业参数调用资源层作业管理系统的REST/SOAP接口,加载作业。具体流程如图2所示。后台服务将前台提交过来的作业类型分为两类模块作业与流程作业,运行单个程序就能得到结果的作业称为模块作业,相对而言,需要连续运行多个程序才能得到结果的,称为流程作业。具体地, 流程作业是指由多个模块作业组成的管道处理作业方式。表达层解释用户输入的参数字符流,判断是否为流程作业,若不是流程作业,按以下模块作业的步骤处理1、表达层传输参数字符流至服务层,参数字符流是满足一定格式的文本,满足的格式如下表所示 权利要求1.一种,其特征在于,包括以下步骤51表达层传输参数字符流至服务层;52根据所述参数字符流中的参数变量及参数字符流头部的程序名称生成以程序命名的参数文件;53最后根据参数字符流中指定的路径、作业类型和所述参数文件的文件名组装成格式统一的作业提交脚本并提交作业至资源层,所述作业提交脚本中还包括与所述作业类型相应的作业提交命令;54所述资源层解析所述作业提交脚本,执行所述作业提交命令以调用所述作业需调用的程序。2.如权利要求1所述的,其特征在于,若表达层接收到的是包含多个模块作业的作业流,则步骤Sl和S2之间还包括步骤Si. 1 所述服务层将参数字符流存入临时文件;Si. 2 从所述参数字符流中解析出所有的模块作业的模块名,按顺序记录在数据库中, 数据库字段还包括模块作业的执行状态;Si. 3 从临时文件中提取当前模块的程序名称及参数变量;步骤S3之后返回到步骤Si. 3执行,直到提交完所述参数字符流中所有的模块作业。3.如权利要求1或2所述的,其特征在于,所述步骤S4具体包括所述作业提交命令根据所述参数文件的文件名查找到所述参数文件,读取其中的参数变量;所述作业提交脚本中的路径下的程序根据所述参数文件中的参数变量运行。4.如权利要求3所述的,其特征在于,所述参数字符流中还包括参数需要多核并行运行的模块作业所需的具体资源数。全文摘要本专利技术公开了一种,涉及云平台构建
,包括以下步骤S1表达层传输参数字符流至服务层;S2根据所述参数字符流中的参数变量及参数字符流头部的程序名称生成以程序命名的参数文件;S3最后根据参数字符流中指定的路径、作业类型和所述参数文件的文件名组装成格式统一的作业提交脚本并提交作业至资源层,所述作业提交脚本中还包括与所述作业类型相应的作业提交命令;S4所述资源层解析所述作业提交脚本,执行所述作业提交命令以调用所述作业需调用的程序。本专利技术实现了平台的软件快速集成,提高了平台的可扩展性及可部署性,减小了开发成本,缩短了开发周期。文档编号G06F9/46GK102521024SQ20111037584公开本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:吴一雷闫鹏程陈超侯召玲黄劲松谢威
申请(专利权)人:北京市计算中心
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术