结构体变异检测的方法、设备及系统转让专利

申请号 : CN201610829652.5

文献号 : CN106446537B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 石子夜何珊徐东泽张发恩吴李知

申请人 : 北京百度网讯科技有限公司

摘要 :

本发明提供一种结构体变异检测的方法、设备及系统。所述方法包括:管理设备将测试序列按照染色体的位点划分,得到至少两份检测任务;向各检测设备下发各检测任务,并启动各检测任务;检测各检测设备的检测任务完成情况,确定未完成任务数是否减少到总任务数的预设比例阈值;当未完成任务数减少到总任务数的预设比例阈值时,向未完成检测任务的检测设备发送杀掉未完成的检测任务的指示消息;将未完成的检测任务进一步划分成至少两份,下发各检测任务至各检测设备,并启动各检测设备继续进行结构体变异检测。通过采用本发明的技术方案,可以充分利用计算机资源,加快整个测试序列的结构体变异的检测进程,缩短整个测试序列的结构体变异的检测时间。

权利要求 :

1.一种结构体变异检测的方法,其特征在于,所述方法包括:管理设备将测试序列按照染色体的位点划分,得到至少两份检测任务;

所述管理设备向至少两台检测设备中的各所述检测设备下发一份所述检测任务,并启动各所述检测任务;

所述管理设备检测所述至少两台检测设备的所述检测任务完成情况,确定未完成任务数是否减少到总任务数的预设比例阈值;

当未完成任务数减少到总任务数的预设比例阈值时,所述管理设备向未完成检测任务的所述检测设备发送杀掉未完成的所述检测任务的指示消息;

所述管理设备将未完成的所述检测任务进一步划分成至少两份,下发各所述检测任务至各所述检测设备,并启动各所述检测设备继续进行结构体变异检测。

2.根据权利要求1所述的方法,其特征在于,所述管理设备将测试序列按照染色体的位点划分,得到至少两份检测任务,具体包括:所述管理设备将所述测试序列按照染色体拆分;

所述管理设备将拆分后的所有染色体按照位点划分,得到所述至少两份检测任务。

3.根据权利要求2所述的方法,其特征在于,所述管理设备将拆分后的所有染色体按照位点划分,得到所述至少两份检测任务,具体包括:所述管理设备根据结构体变异检测系统中包括的检测设备的数量以及每台所述检测设备的核数,将拆分后的所有染色体按照位点划分,得到所述至少两份检测任务;且所述至少两份检测任务的份数等于所述检测设备的数量与每台所述检测设备的核数的乘积的整数倍。

4.根据权利要求1所述的方法,其特征在于,当未完成进程数减少到原来的预设比例阈值时,所述管理设备向未完成检测任务的所述检测设备发送杀掉未完成的所述检测任务的指示消息之后,所述方法还包括:接收所述检测设备发送的杀掉的所述检测任务的列表。

5.根据权利要求1-4任一所述的方法,其特征在于,当所述管理设备检测到各所述检测设备的所述检测任务完成,所述方法还包括:所述管理设备接收各所述检测设备发送的对对应的所述检测任务的检测结果文件;

所述管理设备将接收的各所述检测结果文件合并在一起。

6.一种结构体变异检测的方法,其特征在于,所述方法包括:检测设备接收管理设备下发的检测任务;

所述检测设备接收所述管理设备发送的启动所述检测任务的指示消息;

所述检测设备根据所述启动所述检测任务的指示消息,与其他所述检测设备同时启动对对应的所述检测任务的检测;

当所述管理设备检测未完成任务数减少到总任务数的预设比例阈值,且当前所述检测设备未完成检测时,所述检测设备接收所述管理设备发送的杀掉未完成的所述检测任务的指示消息;

所述检测设备根据所述杀掉未完成的所述检测任务的指示消息,杀掉未完成的所述检测任务,以供所述管理设备将未完成的所述检测任务进一步划分成至少两份,下发各所述检测任务至各所述检测设备,并启动各所述检测设备继续进行结构体变异检测。

7.根据权利要求6所述的方法,其特征在于,所述检测设备接收所述管理设备发送的杀掉未完成的所述检测任务的指示消息之后,所述检测设备根据所述杀掉未完成的所述检测任务的指示消息,杀掉未完成的所述检测任务之前,所述方法还包括:所述检测设备判断未完成的所述检测任务中对应的染色体分段中位点值的最大间隔是否大于或者等于预设位点间隔;

所述检测设备确定未完成的所述检测任务中对应的染色体分段中位点值的最大间隔大于或者等于所述预设位点间隔。

8.根据权利要求7所述的方法,其特征在于,当未完成的所述检测任务中对应的染色体分段中位点值的最大间隔小于所述预设位点间隔,所述方法还包括:所述检测设备不杀掉未完成的进程,监控所述检测任务的结构体变异检测的进程,直到检测完成;

所述检测设备向所述管理设备发送对应的所述检测任务的检测结果文件。

9.一种结构体变异检测的管理设备,其特征在于,所述设备包括:任务划分模块,用于将测试序列按照染色体的位点划分,得到至少两份检测任务;

任务下发和启动模块,用于向至少两台检测设备中的各所述检测设备下发一份所述检测任务,并启动各所述检测任务;

任务检测模块,用于检测所述至少两台检测设备的所述检测任务完成情况,确定未完成任务数是否减少到总任务数的预设比例阈值;

任务处理模块,用于当未完成任务数减少到总任务数的预设比例阈值时,向未完成检测任务的所述检测设备发送杀掉未完成的所述检测任务的指示消息;

所述任务划分模块,还用于将未完成的所述检测任务进一步划分成至少两份;

所述任务下发和启动模块,还用于下发各所述检测任务至各所述检测设备,并启动各所述检测设备继续进行结构体变异检测。

10.根据权利要求9所述的设备,其特征在于,所述任务划分模块,具体用于:将所述测试序列按照染色体拆分;

将拆分后的所有染色体按照位点划分,得到所述至少两份检测任务。

11.根据权利要求10所述的设备,其特征在于,所述任务划分模块,具体用于根据结构体变异检测系统中包括的检测设备的数量以及每台所述检测设备的核数,将拆分后的所有染色体按照位点划分,得到所述至少两份检测任务;且所述至少两份检测任务的份数等于所述检测设备的数量与每台所述检测设备的核数的乘积的整数倍。

12.根据权利要求9-11任一所述的设备,其特征在于,所述设备还包括:接收模块,用于接收所述检测设备发送的杀掉的所述检测任务的列表。

13.根据权利要求12所述的设备,其特征在于,所述设备还包括合并模块;

所述接收模块,还用于当检测到各所述检测设备的所述检测任务完成,接收各所述检测设备发送的对对应的所述检测任务的检测结果文件;

所述合并模块,用于将接收的各所述检测结果文件合并在一起。

14.一种结构体变异检测的检测设备,其特征在于,所述设备包括:接收模块,用于接收管理设备下发的检测任务;

所述接收模块,还用于接收所述管理设备发送的启动所述检测任务的指示消息;

任务启动模块,用于根据所述启动所述检测任务的指示消息,与其他所述检测设备同时启动对对应的所述检测任务的检测;

所述接收模块,还用于当所述管理设备检测未完成任务数减少到总任务数的预设比例阈值,且当前所述检测设备未完成检测时,接收所述管理设备发送的杀掉未完成的所述检测任务的指示消息;

任务处理模块,用于根据所述杀掉未完成的所述检测任务的指示消息,杀掉未完成的所述检测任务,以供所述管理设备将未完成的所述检测任务进一步划分成至少两份,下发各所述检测任务至各所述检测设备,并启动各所述检测设备继续进行结构体变异检测。

15.根据权利要求14所述的设备,其特征在于,所述设备还包括:任务检测模块,用于判断未完成的所述检测任务中对应的染色体分段中位点值的最大间隔是否大于或者等于预设位点间隔;并确定未完成的所述检测任务中对应的染色体分段中位点值的最大间隔大于或者等于所述预设位点间隔。

16.根据权利要求15所述的设备,其特征在于,所述设备还包括发送模块;

所述任务处理模块,还用于当未完成的所述检测任务中对应的染色体分段中位点值的最大间隔小于所述预设位点间隔,不杀掉未完成的进程,监控所述检测任务的结构体变异检测的进程,直到检测完成;

所述发送模块,用于向所述管理设备发送对应的所述检测任务的检测结果文件。

17.一种结构体变异检测的系统,其特征在于,所述系统包括结构体变异检测的管理设备和至少两台结构体变异检测的检测设备,所述结构体变异检测的管理设备分别与各所述结构体变异检测的检测设备通讯连接;

所述结构体变异检测的管理设备采用如上权利要求9-13任一所述的结构体变异检测的管理设备;所述结构体变异检测的检测设备采用如上权利要求14-16任一所述的结构体变异检测的检测设备。

说明书 :

结构体变异检测的方法、设备及系统

【技术领域】

[0001] 本发明涉及基因检测技术领域,尤其涉及一种结构体变异检测的方法、设备及系统。【背景技术】
[0002] 在现有的人类全基因组重测序中,需要对海量原始数据进行结构体变异检测以进行数据分析。
[0003] 随着目前数量的增大,目前的结构体变异检测中,可以支持的方案有不并发方案,该种方案适用于单机单进程的对所有测试序列进行检测。该方案中,没有充分利用计算机资源,测试时间非常长。为了减少测试时间,现有技术对不并发方案进行改进,提出一种并发方案的结构体变异检测方案,该方案中将测试序列按照染色体分段,处理时每个设备可以处理指定染色体分段的染色体,这样,多段染色体之间可以并发的执行,一个染色体一个进程进行处理。为了进一步利用计算机资源,现有技术中还提出了染色体内的简单并发计算的方案,将测试序列按照染色体分开,然后将每一条染色体按照位点(range)切分为N份,每份一个启动一个进程,以并发执行。
[0004] 但是,由于染色体不同位点处理时长不同,划分段之间的处理时长也不同,导致并发任务分配不均衡,有些很快完成,而有些需要很长的时间,导致有空闲的计算机资源没有被充分利用,整体测试序列的测试时间还较长。【发明内容】
[0005] 本发明提供了一种结构体变异检测的方法、设备及系统,用于充分利用计算机资源,缩短整体测试序列的测试时间。
[0006] 本发明提供一种结构体变异检测的方法,所述方法包括:
[0007] 管理设备将测试序列按照染色体的位点划分,得到至少两份检测任务;
[0008] 所述管理设备向至少两台检测设备中的各所述检测设备下发一份所述检测任务,并启动各所述检测任务;
[0009] 所述管理设备检测所述至少两台检测设备的所述检测任务完成情况,确定未完成任务数是否减少到总任务数的预设比例阈值;
[0010] 当未完成任务数减少到总任务数的预设比例阈值时,所述管理设备向未完成检测任务的所述检测设备发送杀掉未完成的所述检测任务的指示消息;
[0011] 所述管理设备将未完成的所述检测任务进一步划分成至少两份,下发各所述检测任务至各所述检测设备,并启动各所述检测设备继续进行结构体变异检测。
[0012] 进一步可选地,如上所述的方法中,所述管理设备将测试序列按照染色体的位点划分,得到至少两份检测任务,具体包括:
[0013] 所述管理设备将所述测试序列按照染色体拆分;
[0014] 所述管理设备将拆分后的所有染色体按照位点划分,得到所述至少两份检测任务。
[0015] 进一步可选地,如上所述的方法中,所述管理设备将拆分后的所有染色体按照位点划分,得到所述至少两份检测任务,具体包括:
[0016] 所述管理设备根据结构体变异检测系统中包括的检测设备的数量以及每台所述检测设备的核数,将拆分后的所有染色体按照位点划分,得到所述至少两份检测任务;且所述至少两份检测任务的份数等于所述检测设备的数量与每台所述检测设备的核数的乘积的整数倍。
[0017] 进一步可选地,如上所述的方法中,当未完成进程数减少到原来的预设比例阈值时,所述管理设备向未完成检测任务的所述检测设备发送杀掉未完成的所述检测任务的指示消息之后,还包括:
[0018] 接收所述检测设备发送的杀掉的所述检测任务的列表。
[0019] 进一步可选地,如上所述的方法中,当所述管理设备检测到各所述检测设备的所述检测任务完成,还包括:
[0020] 所述管理设备接收各所述检测设备发送的对对应的所述检测任务的检测结果文件;
[0021] 所述管理设备将接收的各所述检测结果文件合并在一起。
[0022] 本发明还提供一种结构体变异检测的方法,所述方法包括:
[0023] 检测设备接收管理设备下发的检测任务;
[0024] 所述检测设备接收所述管理设备发送的启动所述检测任务的指示消息;
[0025] 所述检测设备根据所述启动所述检测任务的指示消息,与其他所述检测设备同时启动对对应的所述检测任务的检测;
[0026] 当所述管理设备检测未完成任务数减少到总任务数的预设比例阈值,且当前所述检测设备未完成检测时,所述检测设备接收所述管理设备发送的杀掉未完成的所述检测任务的指示消息;
[0027] 所述检测设备根据所述杀掉未完成的所述检测任务的指示消息,杀掉未完成的所述检测任务,以供所述管理设备将未完成的所述检测任务进一步划分成至少两份,下发各所述检测任务至各所述检测设备,并启动各所述检测设备继续进行结构体变异检测。
[0028] 进一步可选地,如上所述的方法中,所述检测设备接收所述管理设备发送的杀掉未完成的所述检测任务的指示消息之后,所述检测设备根据所述杀掉未完成的所述检测任务的指示消息,杀掉未完成的所述检测任务之前,还包括:
[0029] 所述检测设备判断未完成的所述检测任务中对应的染色体分段中位点值的最大间隔是否大于或者等于预设位点间隔;
[0030] 所述检测设备确定未完成的所述检测任务中对应的染色体分段中位点值的最大间隔大于或者等于所述预设位点间隔。
[0031] 进一步可选地,如上所述的方法中,当未完成的所述检测任务中对应的染色体分段中位点值的最大间隔小于所述预设位点间隔,还包括:
[0032] 所述检测设备不杀掉未完成的进程,监控所述检测任务的结构体变异检测的进程,直到检测完成;
[0033] 所述检测设备向所述管理设备发送对应的所述检测任务的检测结果文件。
[0034] 本发明还提供一种结构体变异检测的管理设备,所述设备包括:
[0035] 任务划分模块,用于将测试序列按照染色体的位点划分,得到至少两份检测任务;
[0036] 任务下发和启动模块,用于向至少两台检测设备中的各所述检测设备下发一份所述检测任务,并启动各所述检测任务;
[0037] 任务检测模块,用于检测所述至少两台检测设备的所述检测任务完成情况,确定未完成任务数是否减少到总任务数的预设比例阈值;
[0038] 任务处理模块,用于当未完成任务数减少到总任务数的预设比例阈值时,向未完成检测任务的所述检测设备发送杀掉未完成的所述检测任务的指示消息;
[0039] 所述任务划分模块,还用于将未完成的所述检测任务进一步划分成至少两份;
[0040] 所述任务下发和启动模块,还用于下发各所述检测任务至各所述检测设备,并启动各所述检测设备继续进行结构体变异检测。
[0041] 进一步可选地,如上所述的设备中,所述任务划分模块,具体用于:
[0042] 将所述测试序列按照染色体拆分;
[0043] 将拆分后的所有染色体按照位点划分,得到所述至少两份检测任务。
[0044] 进一步可选地,如上所述的设备中,所述任务划分模块,具体用于根据结构体变异检测系统中包括的检测设备的数量以及每台所述检测设备的核数,将拆分后的所有染色体按照位点划分,得到所述至少两份检测任务;且所述至少两份检测任务的份数等于所述检测设备的数量与每台所述检测设备的核数的乘积的整数倍。
[0045] 进一步可选地,如上所述的设备中,还包括:
[0046] 接收模块,用于接收所述检测设备发送的杀掉的所述检测任务的列表。
[0047] 进一步可选地,如上所述的设备中,还包括合并模块;
[0048] 所述接收模块,还用于当检测到各所述检测设备的所述检测任务完成,接收各所述检测设备发送的对对应的所述检测任务的检测结果文件;
[0049] 所述合并模块,用于将接收的各所述检测结果文件合并在一起。
[0050] 本发明还提供一种结构体变异检测的检测设备,所述设备包括:
[0051] 接收模块,用于接收管理设备下发的检测任务;
[0052] 所述接收模块,还用于接收所述管理设备发送的启动所述检测任务的指示消息;
[0053] 任务启动模块,用于根据所述启动所述检测任务的指示消息,与其他所述检测设备同时启动对对应的所述检测任务的检测;
[0054] 所述接收模块,还用于当所述管理设备检测未完成任务数减少到总任务数的预设比例阈值,且当前所述检测设备未完成检测时,接收所述管理设备发送的杀掉未完成的所述检测任务的指示消息;
[0055] 任务处理模块,用于根据所述杀掉未完成的所述检测任务的指示消息,杀掉未完成的所述检测任务,以供所述管理设备将未完成的所述检测任务进一步划分成至少两份,下发各所述检测任务至各所述检测设备,并启动各所述检测设备继续进行结构体变异检测。
[0056] 进一步可选地,如上所述的设备中,还包括:
[0057] 任务检测模块,用于判断未完成的所述检测任务中对应的染色体分段中位点值的最大间隔是否大于或者等于预设位点间隔;并确定未完成的所述检测任务中对应的染色体分段中位点值的最大间隔大于或者等于所述预设位点间隔。
[0058] 进一步可选地,如上所述的设备中,还包括发送模块;
[0059] 所述任务处理模块,还用于当未完成的所述检测任务中对应的染色体分段中位点值的最大间隔小于所述预设位点间隔,不杀掉未完成的进程,监控所述检测任务的结构体变异检测的进程,直到检测完成;
[0060] 所述发送模块,用于向所述管理设备发送对应的所述检测任务的检测结果文件。
[0061] 本发明还提供一种结构体变异检测的系统,所述系统包括结构体变异检测的管理设备和至少两台结构体变异检测的检测设备,所述结构体变异检测的管理设备分别与各所述结构体变异检测的检测设备通讯连接;
[0062] 所述结构体变异检测的管理设备采用如上所述的结构体变异检测的管理设备;所述结构体变异检测的检测设备采用如上所述的结构体变异检测的检测设备。
[0063] 本发明的结构体变异检测的方法及装置,通过由管理设备将测试序列按照染色体的位点划分,得到至少两份检测任务;向各检测设备下发各检测任务,并启动各检测任务;检测至少两台检测设备的检测任务完成情况,确定未完成任务数是否减少到总任务数的预设比例阈值;当未完成任务数减少到总任务数的预设比例阈值时,向未完成检测任务的检测设备发送杀掉未完成的检测任务的指示消息;将未完成的检测任务进一步划分成至少两份,下发各检测任务至各检测设备,并启动各检测设备继续进行结构体变异检测。通过采用本实施例的技术方案,可以将每一轮结构变异体检测中未完成的进程对应的染色体分段再作为一段测试序列重复迭代执行上述步骤,以充分利用计算机资源,加快整个测试序列的结构体变异的检测进程,缩短整个测试序列的结构体变异的检测时间,提高检测效率。
【附图说明】
[0064] 图1为本发明的结构体变异检测的方法实施例一的流程图。
[0065] 图2为本发明的结构体变异检测的方法实施例二的流程图。
[0066] 图3为本发明的结构体变异检测的方法实施例三的流程图。
[0067] 图4为本发明的结构体变异检测的管理设备实施例的结构图。
[0068] 图5为本发明的结构体变异检测的检测设备实施例的结构图。
[0069] 图6为本发明的结构体变异检测的系统实施例的结构图。【具体实施方式】
[0070] 为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
[0071] 图1为本发明的结构体变异检测的方法实施例一的流程图。如图1所示,本实施例的结构体变异检测的方法,具体可以包括如下步骤:
[0072] 100、管理设备将测试序列按照染色体的位点划分,得到至少两份检测任务;
[0073] 101、管理设备向各检测设备下发各检测任务,并启动各检测任务;
[0074] 例如,启动各检测任务具体可以通过向各检测设备发送启动检测任务的指示消息,以启动检测任务的执行。
[0075] 102、管理设备检测至少两台检测设备的检测任务完成情况,确定未完成任务数是否减少到总任务数的预设比例阈值;当未完成任务数减少到总任务数的预设比例阈值时,执行步骤103;否则返回步骤102继续检测;
[0076] 103、管理设备向未完成检测任务的检测设备发送杀掉未完成的检测任务的指示消息;执行步骤104;
[0077] 104、管理设备将未完成的检测任务进一步划分成至少两份,下发各检测任务至各检测设备,并启动各检测设备继续进行结构体变异检测。
[0078] 本实施例的结构体变异检测的方法应用在结构体变异检测系统中,该结构体变异检测系统可以包括结构体变异检测的管理设备(简称管理设备)和至少两台结构体变异检测的检测设备(简称检测设备),即该管理设备对至少两台检测设备进行管理,以便于管理至少两台检测设备执行检测任务。
[0079] 本实施例的结构体变异检测的方法应用于人类全基因组重测序中。本实施例的测试序列由很多染色体构成。首先管理设备将测试序列按照染色体的位点(range)进行划分,得到至少两个染色体分段,每个染色体分段作为一个检测任务。例如,划分得到的每个染色体分段的长度时相等的,即划分得到的每个染色体分段中的range值的间隔是相同的。在结构体变异检测时,每个检测任务可以被分配至一个检测设备中,对应启动一个检测任务,这样,同时可以同时启动至少两个检测任务,以并行进行结构体变异检测;然后管理设备检测至少两台检测设备的检测任务完成情况,确定未完成任务数是否减少到总任务数的预设比例阈值;本实施例中的预设比例阈值可以根据实际需求来设置,具体可以为0-1之间的任意比例,例如可以为1/2,或者1/3或者其他任意比例值。当未完成任务数未减少到任务总数的预设比例阈值时,继续检测。否则,当未完成任务数减少到任务总数的预设比例阈值时,管理设备向未完成检测任务的检测设备发送杀掉未完成的检测任务的指示消息;管理设备将未完成的检测任务进一步划分成至少两份,下发各检测任务至各检测设备,并启动各检测设备继续进行结构体变异检测。也就是说,当未完成任务数减少到任务总数的预设比例阈值时,此时部分进程已经完成检测,而还有部分进程未完成检测,导致检测任务分配不均衡,且检测完成的检测设备中还存在有空闲的计算机资源没有被充分利用,因此,本实施例中,通过将未完成的检测任务作为一个测试序列继续按照染色体的range进一步划分为至少两份,下发各检测任务至各检测设备,并启动各检测设备继续进行结构体变异检测,即重复迭代执行上述步骤,以充分利用计算机资源,加快结构体变异的检测进程,缩短结构体变异的检测时间,提高检测效率。
[0080] 本实施例的结构体变异检测的方法,管理设备将测试序列按照染色体的位点划分,得到至少两份检测任务;向各检测设备下发各检测任务,并启动各检测任务;检测至少两台检测设备的检测任务完成情况,确定未完成任务数是否减少到总任务数的预设比例阈值;当未完成任务数减少到总任务数的预设比例阈值时,向未完成检测任务的检测设备发送杀掉未完成的检测任务的指示消息;将未完成的检测任务进一步划分成至少两份,下发各检测任务至各检测设备,并启动各检测设备继续进行结构体变异检测。通过采用本实施例的技术方案,可以将每一轮结构变异体检测中未完成的进程对应的染色体分段再作为一段测试序列重复迭代执行上述步骤,以充分利用计算机资源,加快整个测试序列的结构体变异的检测进程,缩短整个测试序列的结构体变异的检测时间,提高检测效率。
[0081] 进一步可选地,在上述实施例的技术方案的基础上,上述实施例中的步骤100“管理设备将测试序列按照染色体的位点划分,得到至少两份检测任务”,具体包括:
[0082] (a1)管理设备将测试序列按照染色体拆分;
[0083] (a2)管理设备将拆分后的所有染色体按照位点划分,得到至少两份检测任务。
[0084] 测试序列由染色体构成,而染色体又包括很多位点range,本实施例的技术方案中,首先管理设备将测试序列按照染色体拆分,然后对每个拆分后的染色体按照位电range进行划分,得到至少连个染色体分段。优选地,在划分时,划分得到的染色体分段时均等的。
[0085] 优选地,上述实施例中的步骤(a2)“管理设备将拆分后的所有染色体按照位点划分,得到至少两份检测任务”,具体包括:管理设备根据结构体变异检测系统中包括的检测设备的数量以及每台检测设备的核数,将拆分后的所有染色体按照位点range划分,得到至少两份检测任务;且至少两份检测任务的份数等于检测设备的数量与每台检测设备的核数的乘积的整数倍。
[0086] 也就是说,可以根据进行结构体变异检测的系统的检测设备的数量以及每台检测设备的核数,将拆分后的所有染色体按照位点划分,使得划分的检测任务的数量正好等于检测设备的数量与每台检测设备的核数的乘积的整数倍,这样,在进行结构体变异检测时,可以保证每一台检测设备分配的检测任务的数量是相等的,这样可以充分利用计算机资源,且能够最大程度地保证结构体变异检测任务的均衡性,从而缩短整个测试序列的检测时间,提高检测效率。而且本实施例的结构体变异检测的方法中,还可以根据结构体变异检测系统中检测设备的数量以及每台检测设备的核数,灵活改变检测任务数量,可扩展能力非常强。
[0087] 进一步可选地,在上述实施例的技术方案的基础上,步骤103“当未完成进程数减少到原来的预设比例阈值时,管理设备向未完成检测任务的检测设备发送杀掉未完成的检测任务的指示消息”之后,还可以包括:接收检测设备发送的杀掉的未完成的检测任务的列表。
[0088] 也就是说,管理设备向检测设备发送杀掉未完成的检测任务的指示消息,检测设备收到该指示消息之后,可以根据该指示消息,检测是否需要杀掉该检测任务,若需要,则杀掉该检测任务。这样,管理设备可以根据当时为该检测设备发送的检测任务,将该检测任务作为一个新的测试序列,按照步骤100继续划分,按照步骤101-103继续进行迭代检测。
[0089] 其中检测设备收到杀掉检测任务的指示消息之后,检测是否需杀掉该检测任务的条件具体可以为判断未完成的检测任务中对应的染色体分段中位点值的最大间隔是否大于或者等于预设位点间隔;若是,需要杀掉该检测任务,否则若未完成的检测任务中对应的染色体分段中位点值的最大间隔小于预设位点间隔,此时检测设备可以认为预设位点间隔是染色体分段中单位最小的分段了,不能够进一步划分了。若未完成的检测任务中对应的染色体分段中位点值的最大间隔小于预设位点间隔,此时不需要杀掉该检测任务,而监控该检测任务执行完成即可。
[0090] 另外,优选地,检测设备也可以向管理设备发送杀掉的检测任务的列表。此时管理设备可以根据检测设备上报的杀掉的检测任务,按照上述步骤100-103继续进行迭代检测。
[0091] 进一步可选地,在上述实施例的技术方案的基础上,当管理设备检测到各检测设备的检测任务完成,还可以进一步包括如下步骤:
[0092] (b1)管理设备接收各检测设备发送的对对应的检测任务的检测结果文件;
[0093] (b2)管理设备将接收的各检测结果文件合并在一起。
[0094] 每一个检测设备对下发至其的检测任务检测完成之后,都会生成相应的检测结果文件,检测设备在完成对下发的检测任务检测完成之后,生成相应的检测结果文件,并将检测结果文件发送给管理设备。这样管理设备将接收到的各个检测设备的检测结果文件合并在一起,作为测试序列的最终的检测结果文件。
[0095] 通过采用上述实施例的技术方案,可以将每一轮结构变异体检测中未完成的检测任务再作为一段测试序列重复迭代执行上述步骤,以充分利用计算机资源,加快整个测试序列的结构体变异的检测进程,缩短整个测试序列的结构体变异的检测时间,提高检测效率。
[0096] 图2为本发明的结构体变异检测的方法实施例二的流程图。如图2所示,本实施例的结构体变异检测的方法,具体可以包括如下步骤:
[0097] 200、检测设备接收管理设备下发的检测任务;
[0098] 201、检测设备接收管理设备发送的启动检测任务的指示消息;
[0099] 202、检测设备根据启动检测任务的指示消息,与其他检测设备同时启动对对应的检测任务的检测;
[0100] 203、当管理设备检测未完成任务数减少到总任务数的预设比例阈值,且当前检测设备未完成检测时,检测设备接收管理设备发送的杀掉未完成的检测任务的指示消息;
[0101] 204、检测设备根据杀掉未完成的检测任务的指示消息,杀掉未完成的检测任务,以供管理设备将未完成的检测任务进一步划分成至少两份,下发各检测任务至各检测设备,并启动各检测设备继续进行结构体变异检测。
[0102] 本实施例的结构体变异检测的方法的应用场景与上述图1所示实施例相同。与上述图1所示实施例不同的是,上述图1所示实施例应用在结构体变异检测系统的管理设备侧,而本实施例的技术方案应用在结构体变异检测系统的检测设备侧。本实施例中以当管理设备检测未完成任务数减少到总任务数的预设比例阈值时,而当前检测设备未完成检测为例描述发明的技术方案。而当管理设备检测未完成任务数减少到总任务数的预设比例阈值时,而当前检测设备完成检测时,当前检测设备向管理设备上报检测结果即可。由于当前检测设备已完成检测,不存在需要杀掉Kill的检测任务。本实施例的结构体变异检测的方法的实现过程,与上述管理设备侧的结构体变异检测的方法的实现原理相同,详细可以参考上述管理设备侧的结构体变异检测的方法的记载,在此不再赘述。
[0103] 本实施例的结构体变异检测的方法,检测设备接收管理设备下发的检测任务;接收管理设备发送的启动检测任务的指示消息;根据启动检测任务的指示消息,与其他检测设备同时启动对对应的检测任务的检测;当管理设备检测未完成任务数减少到总任务数的预设比例阈值,且当前检测设备未完成检测时,接收管理设备发送的杀掉未完成的检测任务的指示消息;根据杀掉未完成的检测任务的指示消息,杀掉未完成的检测任务,以供管理设备将未完成的检测任务进一步划分成至少两份,下发各检测任务至各检测设备,并启动各检测设备继续进行结构体变异检测。通过采用上述技术方案,可以将每一轮结构变异体检测中未完成的检测任务对应的染色体分段再作为一段测试序列重复迭代执行上述步骤,以充分利用计算机资源,加快整个测试序列的结构体变异的检测进程,缩短整个测试序列的结构体变异的检测时间,提高检测效率。
[0104] 进一步可选地,在上述实施例的技术方案的基础上,步骤203“检测设备接收管理设备发送的杀掉未完成的检测任务的指示消息”之后,步骤204“检测设备根据杀掉未完成的检测任务的指示消息,杀掉未完成的检测任务”之前,还可以包括如下步骤:
[0105] (c1)检测设备判断未完成的检测任务中对应的染色体分段中位点值的最大间隔是否大于或者等于预设位点间隔;
[0106] (c2)检测设备确定未完成的检测任务中对应的染色体分段中位点值的最大间隔大于或者等于预设位点间隔。
[0107] 进一步可选地,在上述实施例的技术方案的基础上,当未完成的检测任务中对应的染色体分段中位点值的最大间隔小于预设位点间隔,还可以包括如下步骤:
[0108] (d1)检测设备不杀掉未完成的进程,监控检测任务的结构体变异检测的进程,直到检测完成;
[0109] (d2)检测设备向管理设备发送对应的检测任务的检测结果文件。
[0110] 此时检测设备可以认为预设位点间隔是染色体分段中单位最小的分段了,不能够进一步划分了。若未完成的检测任务中对应的染色体分段中位点值的最大间隔小于预设位点间隔,此时不需要杀掉该检测任务,而监控该检测任务执行完成即可。
[0111] 上述实施例的结构体变异检测的方法,与在结构体变异检测系统的管理设备侧的实现原理相同,详细可以参考上述实施例中结构体变异检测系统的管理设备侧的结构体变异检测方法,在此不再赘述。
[0112] 图3为本发明的结构体变异检测的方法实施例三的流程图。如图3所示,本实施例的结构体变异检测的方法,具体可以包括如下步骤:
[0113] 300、管理设备将测试序列按照染色体的位点划分,得到至少两份检测任务;
[0114] 301、管理设备向各检测设备下发各检测任务和启动各检测任务的指示消息;
[0115] 302、检测设备接收管理设备下发的检测任务和启动检测任务的指示消息;
[0116] 303、各检测设备同时启动对对应的检测任务的检测;
[0117] 即各检测设备是并发进行检测任务的检测。
[0118] 304、管理设备检测至少两台检测设备的检测任务完成情况,确定未完成任务数是否减少到总任务数的预设比例阈值;当未完成任务数减少到总任务数的预设比例阈值时,执行步骤305;否则返回步骤304继续检测;
[0119] 305、管理设备向未完成检测任务的检测设备发送杀掉未完成的检测任务的指示消息;执行步骤306;
[0120] 306、检测设备判断未完成的检测任务中对应的染色体分段中位点值的最大间隔是否大于或者等于预设位点间隔;若是,执行步骤307;否则,当未完成的检测任务中对应的染色体分段中位点值的最大间隔小于预设位点间隔,执行步骤308;
[0121] 307、检测设备根据杀掉未完成的检测任务的指示消息,杀掉未完成的检测任务;执行步骤309;
[0122] 308、检测设备不杀掉未完成的进程,监控检测任务的结构体变异检测的进程,直到检测完成;执行步骤310;
[0123] 309、检测设备向管理设备上报杀掉的未完成的检测任务的列表;执行步骤311;
[0124] 310、检测设备向管理设备发送对应的检测任务的检测结果文件;执行步骤312;
[0125] 311、管理设备将杀掉的未完成的检测任务作为新的测试序列,执行步骤300;
[0126] 即本实施例中,将杀掉的未完成的检测任务作为新的测试序列进一步拆分,并下发至各检测设备继续进行检测,即对未完成的检测任务迭代执行上述步骤。
[0127] 312、管理设备将各检测设备检测完成之后发送的检测结果文件合并在一起,作为原始的测试序列的检测结果。
[0128] 本实施例的结构体变异检测的方法,通过采用上述技术方案,可以将每一轮结构变异体检测中未完成的检测任务对应的染色体分段再作为一段测试序列重复迭代执行上述步骤,以充分利用计算机资源,加快整个测试序列的结构体变异的检测进程,缩短整个测试序列的结构体变异的检测时间,提高检测效率。
[0129] 图4为本发明的结构体变异检测的管理设备实施例的结构图。如图4所示,本实施例的结构体变异检测的管理设备,具体可以包括:任务划分模块10、任务下发和启动模块11、任务检测模块12和任务处理模块13。
[0130] 其中任务划分模块10用于将测试序列按照染色体的位点划分,得到至少两份检测任务;任务下发和启动模块11用于向各检测设备下发任务划分模块10划分的各检测任务,并启动各检测任务;任务检测模块12用于检测任务下发和启动模块11启动的至少两台检测设备的检测任务完成情况,确定未完成任务数是否减少到总任务数的预设比例阈值;任务处理模块13用于根据任务检测模块12的检测结果,当未完成任务数减少到总任务数的预设比例阈值时,向未完成检测任务的检测设备发送杀掉未完成的检测任务的指示消息;任务划分模块10还用于将任务处理模块13杀掉的未完成的检测任务进一步划分成至少两份;任务下发和启动模块11还用于下发各检测任务至各检测设备,并启动各检测设备继续进行结构体变异检测。
[0131] 本实施例的结构体变异检测的管理设备,通过采用上述模块实现结构体变异检测的实现原理以及技术效果与上述相关方法实施例的实现相同,详细可以参考上述相关方法实施例的记载,在此不再赘述。
[0132] 进一步可选地,在上述图4所示实施例的技术方案的基础上,任务划分模块10具体用于:将测试序列按照染色体拆分;将拆分后的所有染色体按照位点划分,得到至少两份检测任务。
[0133] 进一步可选地,在上述图4所示实施例的技术方案的基础上,任务划分模块10具体用于管理设备根据结构体变异检测系统中包括的检测设备的数量以及每台检测设备的核数,将拆分后的所有染色体按照位点划分,得到至少两份检测任务;且至少两份检测任务的份数等于检测设备的数量与每台检测设备的核数的乘积的整数倍,这样可以保证每台检测设备的的每核处理器可以对应处理整数份的检测任务,且能够保证资源均衡,缩短整体的检测时间,提高整体的检测效率。
[0134] 进一步可选地,在上述图4所示实施例的技术方案的基础上,还包括:接收模块用于接收检测设备发送的杀掉的检测任务的列表。
[0135] 进一步可选地,在上述图4所示实施例的技术方案的基础上,还包括合并模块;接收模块还用于当检测到各检测设备的检测任务完成,接收各检测设备发送的对对应的检测任务的检测结果文件;合并模块用于将接收模块接收的各检测结果文件合并在一起。
[0136] 图5为本发明的结构体变异检测的检测设备实施例的结构图。如图5所示,本实施例的结构体变异检测的检测设备,具体包括:接收模块20、任务启动模块21和任务处理模块22。
[0137] 其中接收模块20用于接收管理设备下发的检测任务;接收模块20还用于接收管理设备发送的启动检测任务的指示消息;任务启动模块21用于根据接收模块20接收的启动检测任务的指示消息,与其他检测设备同时启动对对应的检测任务的检测;接收模块20还用于当管理设备检测未完成任务数减少到总任务数的预设比例阈值,且当前检测设备未完成检测时,接收管理设备发送的杀掉未完成的检测任务的指示消息;任务处理模块22用于根据接收模块20接收的杀掉未完成的检测任务的指示消息,杀掉未完成的检测任务,以供管理设备将未完成的检测任务进一步划分成至少两份,下发各检测任务至各检测设备,并启动各检测设备继续进行结构体变异检测。
[0138] 本实施例的结构体变异检测的检测设备,通过采用上述模块实现结构体变异检测的实现原理以及技术效果与上述相关方法实施例的实现相同,详细可以参考上述相关方法实施例的记载,在此不再赘述。
[0139] 进一步可选地,在上述图5所示实施例的技术方案的基础上,本实施例的结构体变异检测的检测设备,还包括任务检测模块。
[0140] 任务检测模块用于判断未完成的检测任务中对应的染色体分段中位点值的最大间隔是否大于或者等于预设位点间隔;并确定未完成的检测任务中对应的染色体分段中位点值的最大间隔大于或者等于预设位点间隔。
[0141] 进一步可选地,在上述图5所示实施例的技术方案的基础上,本实施例的结构体变异检测的检测设备,还包括发送模块。
[0142] 任务处理模块22还用于当未完成的检测任务中对应的染色体分段中位点值的最大间隔小于预设位点间隔,不杀掉未完成的进程,监控检测任务的结构体变异检测的进程,直到检测完成;
[0143] 发送模块用于向管理设备发送对应的检测任务的检测结果文件。
[0144] 图6为本发明的结构体变异检测的系统实施例的结构图。如图6所示,本实施例的结构体变异检测的系统包括结构体变异检测的管理设备30和至少两台结构体变异检测的检测设备40,结构体变异检测的管理设备30分别与各结构体变异检测的检测设备40通讯连接。
[0145] 本实施例的结构体变异检测的管理设备30采用如上图4所示实施例的结构体变异检测的管理设备;结构体变异检测的检测设备40采用如上图5所示实施例的结构体变异检测的检测设备。并具体可以采用上述图1-图3所示实施例的结构体变异检测方法实现结构体变异检测,详细可以参考上述相关实施例的记载,在此不再赘述。另外,本实施例中,当至少两台结构体变异检测的检测设备40的数量大到一定程度,也可以形成结构体变异检测的检测集群,检测集群同一受结构体变异检测的管理设备30调度和调控。
[0146] 在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0147] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0148] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0149] 上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0150] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。