本发明涉及多任务处理的,特别涉及基于线程池切换的多任务处理方法和系统。
背景技术:
1、线程池能够有效减少创建和销毁线程的损耗,每个工作线程都可以重复使用。但是不同厂商提供的存在规格差异的网管或设备的接口和网元设备在交互过程中,由于不匹配等一系列问题,会造成网络堵塞等情况,进而影响整个线程池的使用。此外插件终端与网元设备在交互过程中因报文数据激增,也会导致网络堵塞问题的发生。
技术实现思路
1、针对现有技术存在的缺陷,本发明提供基于线程池切换的多任务处理方法和系统,其将插件终端与网元设备的连接关系绑定到插件终端的专属线程池,以及将连接关系对应的第一任务插入到专属线程池;在连接关系当前的流量状态参数满足共享线程池使用条件时,将连接关系绑定到共享线程池,以及将连接关系对应的第二任务插入到共享线程池;根据第一任务的执行状态,调整连接关系与专属线程池之间的绑定关系和调整共享线程池对第二任务的处理操作,其将连接关系从专属线程池绑定到共享线程池上,共享线程池能够集中处于连接关系的任务,提高网络效率,有效避免插件终端与网元设备在交互过程中因报文数据激增而导致网络堵塞问题的发生。
2、本发明提供基于线程池切换的多任务处理方法,包括如下步骤:
3、步骤s1,构建插件终端与网元设备的连接关系,将所述连接关系绑定到所述插件终端的专属线程池;并将所述连接关系对应的第一任务插入到所述专属线程池;
4、步骤s2,根据所述连接关系当前对应的流量状态参数,当所述流量状态参数满足共享线程池使用条件时,将所述连接关系绑定到共享线程池;并将所述连接关系对应的第二任务插入到所述共享线程池;
5、步骤s3,根据所述第一任务在所述专属线程池的执行状态,调整所述连接关系与所述专属线程池之间的绑定关系,以及调整所述共享线程池对所述第二任务的处理操作。
6、进一步,在所述步骤s1中,构建插件终端与网元设备的连接关系,将所述连接关系绑定到所述插件终端的专属线程池,包括:
7、从插件终端向网元设备发起的连接请求中,提取得到所述插件终端的终端身份信息,将所述终端身份信息与所述网元设备存储的预设终端身份列表进行对比;若所述终端身份信息存在于预设终端身份列表,则构建所述插件终端与所述网元设备的连接关系;否则,不构建所述插件终端与所述网元设备的连接关系;
8、根据所述插件终端的历史工作日志,选择匹配的专属线程池,再将所述连接关系绑定到所述专属线程池。
9、进一步,在所述步骤s1中,将所述连接关系对应的第一任务插入到所述专属线程池,包括:
10、获取所述插件终端与所述网元设备在所述连接关系下的交互任务列表,并将所述交互任务列表包含的其中一个任务作为第一任务插入到所述专属线程池。
11、进一步,在所述步骤s2中,根据所述连接关系当前对应的流量状态参数,当所述流量状态参数满足共享线程池使用条件时,将所述连接关系绑定到共享线程池;并将所述连接关系对应的第二任务插入到所述共享线程池,包括:
12、获取所述插件终端与所述网元设备在所述连接关系下的上行数据传输流量速率和下行数据传输流量速率,以此作为所述流量状态参数;
13、若所述上行数据传输流量速率或所述下行数据传输流量速率大于或等于预设流量速率阈值,则确定满足共享线程池使用条件;
14、当满足共享线程池使用条件,则根据所述插件终端的历史工作日志,选择匹配的共享线程池,并将所述连接关系绑定到所述共享线程池;
15、从所述交互任务列表中选择在任务生成时间上与所述第一任务紧邻的下一个任务作为第二任务,并将所述第二任务插入到所述共享线程池。
16、进一步,在所述步骤s3中,根据所述第一任务在所述专属线程池的执行状态,调整所述连接关系与所述专属线程池之间的绑定关系,以及调整所述共享线程池对所述第二任务的处理操作,包括:
17、判断所述第一任务在所述专属线程池是否执行完毕;若执行完毕,则解除所述连接关系与所述专属线程池的绑定关系,以及唤醒所述共享线程池的工作线程来执行所述第二任务。
18、本发明还提供基于线程池切换的多任务处理系统,包括:
19、连接关系确定模块,用于构建插件终端与网元设备的连接关系,将所述连接关系绑定到所述插件终端的专属线程池;
20、专属线程池处理模块,用于将所述连接关系对应的第一任务插入到所述专属线程池;
21、共享线程池处理模块,用于根据所述连接关系当前对应的流量状态参数,当所述流量状态参数满足共享线程池使用条件时,将所述连接关系绑定到共享线程池;并将所述连接关系对应的第二任务插入到所述共享线程池;
22、任务切换处理模块,用于根据所述第一任务在所述专属线程池的执行状态,调整所述连接关系与所述专属线程池之间的绑定关系,以及调整所述共享线程池对所述第二任务的处理操作。
23、进一步,所述连接关系确定模块用于构建插件终端与网元设备的连接关系,将所述连接关系绑定到所述插件终端的专属线程池,包括:
24、从插件终端向网元设备发起的连接请求中,提取得到所述插件终端的终端身份信息,将所述终端身份信息与所述网元设备存储的预设终端身份列表进行对比;若所述终端身份信息存在于预设终端身份列表,则构建所述插件终端与所述网元设备的连接关系;否则,不构建所述插件终端与所述网元设备的连接关系;
25、根据所述插件终端的历史工作日志,选择匹配的专属线程池,再将所述连接关系绑定到所述专属线程池。
26、进一步,所述专属线程池处理模块用于将所述连接关系对应的第一任务插入到所述专属线程池,包括:
27、获取所述插件终端与所述网元设备在所述连接关系下的交互任务列表,并将所述交互任务列表包含的其中一个任务作为第一任务插入到所述专属线程池。
28、进一步,所述共享线程池处理模块用于根据所述连接关系当前对应的流量状态参数,当所述流量状态参数满足共享线程池使用条件时,将所述连接关系绑定到共享线程池;并将所述连接关系对应的第二任务插入到所述共享线程池,包括:
29、获取所述插件终端与所述网元设备在所述连接关系下的上行数据传输流量速率和下行数据传输流量速率,以此作为所述流量状态参数;
30、若所述上行数据传输流量速率或所述下行数据传输流量速率大于或等于预设流量速率阈值,则确定满足共享线程池使用条件;
31、当满足共享线程池使用条件,则根据所述插件终端的历史工作日志,选择匹配的共享线程池,并将所述连接关系绑定到所述共享线程池;
32、从所述交互任务列表中选择在任务生成时间上与所述第一任务紧邻的下一个任务作为第二任务,并将所述第二任务插入到所述共享线程池。
33、进一步,所述任务切换处理模块用于根据所述第一任务在所述专属线程池的执行状态,调整所述连接关系与所述专属线程池之间的绑定关系,以及调整所述共享线程池对所述第二任务的处理操作,包括:
34、判断所述第一任务在所述专属线程池是否执行完毕;若执行完毕,则解除所述连接关系与所述专属线程池的绑定关系,以及唤醒所述共享线程池的工作线程来执行所述第二任务。
35、相比于现有技术,该基于线程池切换的多任务处理方法和系统将插件终端与网元设备的连接关系绑定到插件终端的专属线程池,以及将连接关系对应的第一任务插入到专属线程池;在连接关系当前的流量状态参数满足共享线程池使用条件时,将连接关系绑定到共享线程池,以及将连接关系对应的第二任务插入到共享线程池;根据第一任务的执行状态,调整连接关系与专属线程池之间的绑定关系和调整共享线程池对第二任务的处理操作,其将连接关系从专属线程池绑定到共享线程池上,共享线程池能够集中处于连接关系的任务,提高网络效率,有效避免插件终端与网元设备在交互过程中因报文数据激增而导致网络堵塞问题的发生。
36、本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
37、下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。