生物信息分析任务运行监控系统的制作方法

文档序号:12363381阅读:269来源:国知局
生物信息分析任务运行监控系统的制作方法与工艺

本发明属于生物信息工程领域,涉及生物信息技术和计算机应用技术,具体地说,涉及生物信息分析任务运行监控系统。



背景技术:

随着高通量测序技术的不断发展,生物数据的产出速度变得很快,据统计,全世界二代测序技术的数据产出速度为每年13Pbp,并且还在不断加速中,生物信息学研究已经正式进入大数据时代。生物信息分析除了需要大量的计算资源之外,本身是一个非常复杂的过程。因此,大部分科研工作者会选择将成熟的分析需求交由专业的生物信息分析公司进行,分为多个分析过程。在每个分析过程完成之后,需要工作人员将结果带至下一过程的分析设备处进行分析,从而使得整个分析过程太过繁琐。而且,分析完成后,用户会得到一份纸质的或word版的结题报告,用户任务的界面体验较差。另外,现有技术缺少对分析过程的监控,使得相关人员无法获知分析任务的状态。



技术实现要素:

针对现有技术的缺陷,本发明提供一种生物信息分析任务运行监控系统。

本发明实施例提出一种生物信息分析任务运行监控系统,包括:

WEB图形化用户界面模块、任务准备投递模块、任务扫描监控模块、任务推送反馈模块;其中,

所述WEB图形化用户界面模块,用于实时呈现任务的运行相关信息,并供用户选择任务参数,进行任务投递;

所述任务准备投递模块,用于将用户通过所述WEB图形化用户界面模块投递的任务放入投递队列,通过队列调度将所述投递队列中的任务投递到预设的任务运行集群中运行,并在预设的数据库中记录所述投递队列中的任务的运行相关信息,将所述运行相关信息实时推送至所述WEB图形化用户界面模块进行呈现;

所述任务扫描监控模块,用于将投递到所述任务运行集群中的任务放入扫描队列,通过队列调度对所述扫描队列中的任务的运行状态进行监控,将运行完毕的任务放入推送队列,并在所述数据库中记录所述扫描队列中的任务的运行相关信息,选择部分信息实时推送至所述WEB图形化用户界面模块进行呈现;

所述任务推送反馈模块,用于通过队列调度将所述推送队列中成功运行完毕的任务的运行结果推送给所述WEB图形化用户界面模块进行呈现。

本发明实施例提供的生物信息分析任务运行监控系统,用户可以通过WEB图形化用户界面模块进行任务投递,便于无信息学、计算机语言储备知识的使用者直观操作,在任务投递后,通过所述任务准备投递模块将任务投递到预设的任务运行集群中运行,通过所述任务扫描监控模块监控任务的运行状态,并通过所述任务推送反馈模块将成功运行完毕的任务的运行结果推送给所述WEB图形化用户界面模块进行呈现,能够实现任务的一键投递、全自动运行,而且所述任务准备投递模块、任务扫描监控模块和任务推送反馈模块会将任务的运行相关信息实时推送至所述WEB图形化用户界面模块进行呈现,便于用户查看运行相关信息,实现任务的全程监控。

附图说明

图1为本发明生物信息分析任务运行监控系统一实施例的结构示意图;

图2为本发明生物信息分析任务运行监控系统另一实施例所涉及的部分流程示意图;

图3为本发明生物信息分析任务运行监控系统又一实施例所涉及的部分流程示意图;

图4为本发明生物信息分析任务运行监控系统又一实施例所涉及的部分流程示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参看图1,本实施例公开一种生物信息分析任务运行监控系统,包括:

WEB图形化用户界面模块1、任务准备投递模块2、任务扫描监控模块3、任务推送反馈模块4;其中,

所述WEB图形化用户界面模块1,用于实时呈现任务的运行相关信息,并供用户选择任务参数,进行任务投递;

具体地,所述WEB图形化用户界面模块1可以采用jsp+javascript/jqury技术开发,所述运行相关信息可以包括任务的详情、运行状态、运行日志、事件信息以及运行结果信息。所述任务参数具体可以包括导入的任务原始数据文件、运行结果路径、脚本参数等等。例如如下的部分参数列表:

{"expectedTime":"2016-02-1918:50:09","inputFileList":"+a/liug/aa a.fasta","outputPath":"+a/liug/tools/a20160219182009","taskType":"soft","taskPutType":"qsub","executeJobName":"a20160219182009","shellC ode:"share/nas2/genome/toolkits/fa_toolsCxS.pl-t S–i+a/liug/aaa.fasta–o+a/liug/tools/a20160219182009/aaa.fasta_fasta_lower.fasta","userCla ss":"silver_user","permData":{"s":1}}

每个参数都有自己的含义,expectedTime表示任务预期完成时间,inputFileList表示输入文件,outputPath表示任务输出路径,taskType表示该分析任务类型(soft代表运行时间较短,占用资源较少,功能较单一的任务project代表运行时间较长,占用资源较大,流程完整的一套分析任务),taskPutType任务的投递类型(qsub代表需要申请资源来运行该任务,ssh代表之际在头节点上运行该任务,不需要申请计算资源,一般用于计算量极小的任务),executeJobName任务名称,shellCode代表该任务的原始执行脚本,userClass代表用户等级,permData表示任务所需资源,其后括号中的“"s":1”表示s型号的资源申请1个。

另外,需要说明的是,所述WEB图形化用户界面模块通过restFul接口供用户进行启动、任务投递、终止、暂停、继续操作,实现用户对任务的管理。对于终止操作,会将相应的任务的运行过程终止;对于暂停操作,则会将相应的任务的运行过程挂起,当用户选择继续操作后,则恢复相应的任务的运行。

所述任务准备投递模块2,用于将用户通过所述WEB图形化用户界面模块1投递的任务放入投递队列,通过队列调度将所述投递队列中的任务投递到预设的任务运行集群中运行,并在预设的数据库中记录所述投递队列中的任务的运行相关信息,将所述运行相关信息实时推送至所述WEB图形化用户界面模块1进行呈现;

在具体实施例中,任务准备投递模块2所涉及的流程可以参照图2所示,对于用户投递的任务,任务准备投递模块2会维护一个投递队列,将所述用户投递的任务放到该队列中,同时,任务准备投递模块2会定时遍历所述投递队列中的任务,对于遍历到的每个任务,根据对应的任务参数,对该任务进行任务脚本组装,为该任务准备资源,在资源到位后,运行相应脚本将其投递到所述任务运行集群中运行,并将所述投递到预设的任务运行集群中的任务从所述投递队列中移除。另外,需要说明的是,对于每一个用户帐户,任务准备投递模块2可以为该帐户分配一个头节点以进行资源分配。此外,任务准备投递模块2会在预设的数据库中记录投递所述投递队列中的任务的运行相关信息,将所述运行相关信息实时推送至所述WEB图形化用户界面模块1进行呈现。其中,所述运行相关信息包括任务详情、任务运行状态、运行日志以及事件记录信息。进入投递队列的任务的运行状态为投递阶段,投递到所述任务运行集群中的任务的运行状态为扫描阶段。

所述任务扫描监控模块3,用于将投递到所述任务运行集群中的任务放入扫描队列,通过队列调度对所述扫描队列中的任务的运行状态进行监控,将运行完毕的任务放入推送队列,并在所述数据库中记录所述扫描队列中的任务的运行相关信息,选择部分信息实时推送至所述WEB图形化用户界面模块1进行呈现;

在具体实施例中,任务扫描监控模块3所涉及的部分流程可以参照图3所示,所述任务扫描监控模块3,具体用于定时遍历所述扫描队列中的任务,对于遍历到的每个任务,获取该任务的运行状态,若所述运行状态显示该任务运行完毕,则将该任务从所述扫描队列中移除,放入推送队列。之后,任务扫描监控模块3会判断该任务是否是所述扫描队列中的最后一个任务,若是所述扫描队列中的最后一个任务,则判断用户是否有其它任务正在运行,若用户没有其它任务正在运行,则回收为用户投递的任务分配的资源。而若所述运行状态显示该任务未运行完毕,则将该任务放回扫描队列,等待下次扫描。需要说明的是,对于一个任务,该任务运行完毕包括两种情况:第一种情况是该任务成功运行完毕,另一种情况是该任务运行错误。对于正在运行和成功运行完毕的任务,任务扫描监控模块3会在所述数据库中记录这些任务的运行相关信息,并将除成功运行完毕的任务的运行结果外的信息实时推送给所述WEB图形化用户界面模块1进行呈现。其中,运行相关信息包括任务详情、任务运行状态、运行日志以及事件记录信息。正在运行的任务的运行状态为正在运行,进入推送队列的任务的运行状态为推送阶段。对于运行错误的任务,任务扫描监控模块3会在所述数据库中记录该任务的运行相关信息,并将该任务的运行相关信息推送给管理员,以使管理员采取相应的处理措施,确保该任务重新运行成功。

所述任务推送反馈模块4,用于通过队列调度将所述推送队列中成功运行完毕的任务的运行结果推送给所述WEB图形化用户界面模块1进行呈现。

在具体实施例中,所述任务推送反馈模块4所涉及的流程可以参照图4所示,所述任务推送反馈模块4,具体用于定时遍历所述推送队列中的任务,对于遍历到的每个任务,判断该任务是否成功运行完毕,若成功运行完毕,则将该任务的运行结果推送给所述WEB图形化用户界面模块1进行呈现,否则,若运行错误,则向管理员发送通知消息,以使管理员采取相应的处理措施,确保该任务重新运行成功。此外,需要说明的是,所述任务推送反馈模块4会在所述数据库中记录所述推送队列中的任务的运行相关信息,将成功运行完毕的任务的运行结果推送给所述WEB图形化用户界面模块1进行呈现,而将运行错误的任务的运行相关信息作为通知消息的内容发送给管理员。

本发明实施例提供的生物信息分析任务运行监控系统,用户可以通过WEB图形化用户界面模块进行任务投递,便于无信息学、计算机语言储备知识的使用者直观操作,在任务投递后,通过所述任务准备投递模块将任务投递到预设的任务运行集群中运行,通过所述任务扫描监控模块监控任务的运行状态,并通过所述任务推送反馈模块将成功运行完毕的任务的运行结果推送给所述WEB图形化用户界面模块进行呈现,能够实现任务的一键投递、全自动运行,而且所述任务准备投递模块、任务扫描监控模块和任务推送反馈模块会将任务的运行相关信息实时推送至所述WEB图形化用户界面模块进行呈现,便于用户查看运行相关信息,实现任务的全程监控。

虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1