本申请涉及计算机,更具体地说,涉及一种生信检测任务分布式调度方法及装置。
背景技术:
1、生信检测任务主要是指利用生物检测技术进行的生信分析流程,例如营养干预及用药检测、环境毒物检测、蛋白质组学或代谢组学等。这些生物检测任务需要使用专业的、专门的服务器进行运算处理。同时,生信检测任务执行过程较为复杂,现有技术中是通过在本地配置高性能的服务器,或者在云端购买高性能的云服务器完成复杂的生信检测任务。但在实际使用过程中,并不是每个任务都必须使用高性能的服务器,因而,这会造成大量的资源浪费以及内存空闲。
技术实现思路
1、有鉴于此,本申请提供了一种生信检测任务分布式调度方法及装置,用于降低资源浪费及内存的空闲成本。
2、为了实现上述目的,现提出的方案如下:
3、一种生信检测任务分布式调度方法,包括:
4、确定下机数据匹配的生信检测任务;
5、对所述生信检测任务进行任务拆分,得到多个子任务;
6、获取服务器注册表;
7、根据所述服务器注册表,为每个所述子任务分配服务器,以完成所述生信检测任务。
8、可选的,所述确定下机数据匹配的生信检测任务,包括:
9、获取多个下机数据;
10、根据所述服务器注册表中每个空闲状态服务器的类型以及处理能力,确定各服务器类型间的处理能力比值;
11、根据所述处理能力比值,为各个服务器类型分配下机数据;
12、根据每个所述下机数据对应的服务器类型,确定所述下机数据对应的生信检测任务。
13、可选的,所述根据每个所述下机数据对应的服务器类型,确定所述下机数据对应的生信检测任务确定下机数据匹配的生信检测任务,包括:
14、根据所述下机数据所包含的内容以及所述下机数据对应的服务器类型,确定与所述下机数据匹配的生信检测任务,其中,下机数据所包含的内容包括物种信息、数据类型、测序深度、测序区域、测序方式、测序平台、数据编号、基因数据名称以及、接头类型、参考序列、覆盖度、读长、测序类型、gc含量、序列编号以及序列版本号中的任意一种或任意多种。
15、可选的,所述生信检测任务中包括多个处理环节;
16、对所述生信检测任务进行任务拆分,得到多个子任务,包括:
17、确定所述生信检测任务中每个所述处理环节所需的资源;
18、依据每个所述处理环节所需的资源以及每个处理环节之间的依赖性,对所述生信检测任务进行任务拆分,得到多个子任务。
19、可选的,依据每个所述处理环节所需的资源以及每个处理环节之间的依赖性,对所述生信检测任务进行任务拆分,得到多个子任务,包括:
20、依据每个所述处理环节所需的计算资源、线程数、内存占用量、存储空间以及每个处理环节之间的依赖性,对所述生信检测任务进行任务拆分,得到多个子任务。
21、可选的,根据所述服务器注册表,为每个所述子任务分配服务器,包括:
22、根据所述服务器注册表,确定所述服务器注册表中各个服务器的处理性能;
23、根据每个所述子任务在执行过程所需要耗费的资源、以及各个服务器的处理性能,为所述子任务分配服务器。
24、可选的,所述服务器注册表中包含各个服务器的空闲状态、响应时间、传输距离、吞吐量以及当前连接数;
25、根据所述服务器注册表,确定所述服务器注册表中各个服务器的处理性能,包括:
26、根据每个处于空闲状态的服务器的空闲状态、响应时间、传输距离、吞吐量、当前连接数,确定所述服务器的处理性能。
27、可选的,所述根据每个所述子任务在执行过程所需要耗费的资源、以及各个服务器的处理性能,为所述子任务分配服务器,包括:
28、根据每个所述子任务在执行过程所需要耗费的资源,从各个服务器中筛选一个以上目标服务器,每个所述目标服务器的处理性能与所述资源相匹配;
29、根据各个所述目标服务器的处理性能以及当前连接数,对各个目标服务器进行优先级排序,得到排序结果;
30、根据所述排序结果,为所述子任务分配服务器。
31、可选的,在根据每个所述子任务在执行过程所需要耗费的资源,从各个服务器中筛选一个以上目标服务器之前,还包括:
32、根据每个所述子任务对其余所述子任务的依赖性,确定所述子任务是否需要分配服务器;
33、若需要,则返回执行根据每个所述子任务在执行过程所需要耗费的资源,从各个服务器中筛选一个以上目标服务器的步骤。
34、一种生信检测任务分布式调度装置,包括:
35、确定单元,用于确定下机数据匹配的生信检测任务;
36、拆分单元,用于对所述生信检测任务进行任务拆分,得到多个子任务;
37、获取单元,用于获取服务器注册表;
38、分配单元,用于根据所述服务器注册表,为每个所述子任务分配服务器,以完成所述生信检测任务。
39、一种生信检测任务分布式调度设备,包括存储器和处理器;
40、所述存储器,用于存储程序;
41、所述处理器,用于执行所述程序,实现上述的生信检测任务分布式调度方法的各个步骤。
42、一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述的生信检测任务分布式调度方法的各个步骤。
43、从上述的技术方案可以看出,本申请提供的生信检测任务分布式调度方法,可以确定下机数据匹配的生信检测任务;对所述生信检测任务进行任务拆分,得到多个子任务;如此,本申请可以将复杂的生信检测任务进行拆分,实现对生信检测任务的简化,使得生信检测任务不再受限于高性能的服务器;同时,可以获取服务器注册表;根据所述服务器注册表,为每个所述子任务分配服务器,以完成所述生信检测任务,基于此,可以将简化的子任务分配至各个能够完成子任务的服务器中,实现生信检测任务的完成,能够进一步充分地利用服务器资源,避免资源的浪费。
44、此外,利用各个服务器实现生信检测任务的每个子任务,从而实现生信检测任务,能够进一步确保各个服务器之间不会相互打扰,保证计算的准确性。通过本申请的生信检测任务分布式调度方法,可以并行处理多个生信检测任务,加快处理速度。
1.一种生信检测任务分布式调度方法,其特征在于,包括:
2.根据权利要求1所述的生信检测任务分布式调度方法,其特征在于,所述确定下机数据匹配的生信检测任务,包括:
3.根据权利要求2所述的生信检测任务分布式调度方法,其特征在于,所述根据每个所述下机数据对应的服务器类型,确定所述下机数据对应的生信检测任务,包括:
4.根据权利要求1所述的生信检测任务分布式调度方法,其特征在于,所述生信检测任务中包括多个处理环节;
5.根据权利要求4所述的生信检测任务分布式调度方法,其特征在于,依据每个所述处理环节所需的资源以及每个处理环节之间的依赖性,对所述生信检测任务进行任务拆分,得到多个子任务,包括:
6.根据权利要求1所述的生信检测任务分布式调度方法,其特征在于,根据所述服务器注册表,为每个所述子任务分配服务器,包括:
7.根据权利要求6所述的生信检测任务分布式调度方法,其特征在于,所述服务器注册表中包含各个服务器的空闲状态、响应时间、传输距离、吞吐量以及当前连接数;
8.根据权利要求6所述的生信检测任务分布式调度方法,其特征在于,所述根据每个所述子任务在执行过程所需要耗费的资源、以及各个服务器的处理性能,为所述子任务分配服务器,包括:
9.根据权利要求8所述的生信检测任务分布式调度方法,其特征在于,在根据每个所述子任务在执行过程所需要耗费的资源,从各个服务器中筛选一个以上目标服务器之前,还包括:
10.一种生信检测任务分布式调度装置,其特征在于,包括: