基于微服务架构的网络目标信息采集系统与方法技术方案

技术编号:34149763 阅读:9 留言:0更新日期:2022-07-14 19:51
本发明专利技术公开了基于微服务架构的网络目标信息采集系统与方法,系统包括Web应用模块、管理模块、多个引擎服务模块以及任务下发、引擎注册、引擎执行等多个消息队列。本发明专利技术将多个具体实现网络目标的信息采集的引擎工具部署到一个引擎服务模块中,引擎服务模块以微服务的方式部署于Kubernetes集群的Pod中,由集群的副本控制器管理Pod副本运行。每种引擎工具对应有独立的引擎执行队列,由管理模块在引擎工具注册时创建,用于传递引擎工具的执行信息,管理模块根据采集任务规划采集流程,依次调用流程中涉及的引擎工具,在不同引擎服务内的引擎工具之间实现均衡调度。本发明专利技术可以提高系统的稳定性、抗压性和可维护性。抗压性和可维护性。抗压性和可维护性。

【技术实现步骤摘要】
基于微服务架构的网络目标信息采集系统与方法


[0001]本专利技术涉及一种基于微服务架构的网络目标信息采集系统与方法,属于网络安全,计算机软件


技术介绍

[0002]网络目标信息采集系统是通过计算机技术对网络中设备的ip和域名进行检索采集信息数据,对数据进行分析,能够为设备安全检查及护网提供有效的技术支撑。系统采集引擎工具因消耗资源和受网络波动影响较大,单机部署性能存在瓶颈,使用多机分布式部署方案可有效的提高系统的吞吐量、稳定性。
[0003]图1所示是当前信息采集系统部署结构示意图,主要包括Web应用模块、管理模块、消息中间件、引擎服务模块等。Web应用模块与用户交互,完成采集任务的管理。管理模块主要负责任务、引擎调度的管理、结束数据分析功能。消息中间件用于消息通信,完成管理模块和引擎服务模块的交互功能。引擎服务模块由大量独立部署的引擎工具组成,运行于docker容器中,是任务调用的引擎实际执行环境,负责完成具体的引擎工具的调用执行、结果回传操作。
[0004]采集任务调度执行过程主要包括:1、用户输入任务目标、类型等信息,创建采集任务;2、管理模块拆解采集任务、分析任务需使用引擎,编排采集引擎执行步骤;3、查询当前已注册引擎工具,并根据注册信息,下发引擎执行信息到rabbitMQ对应引擎的执行队列;4、引擎服务模块消费执行队列消息,执行引擎并将执行结果发送到rabbitMQ的结果队列;5、管理模块消费执行结果队列消息,分析处理结果数据,用于用户查看。
[0005]现有方案存在如下不足:1、引擎工具较多,单独部署,维护困难,且无法提供不间断服务,不能很好的监控整个系统。2、引擎工具执行对设备资源和网络质量要求较高,因为这两方面异常导致进程终止时,需要人为操作,不能自动恢复。3、系统容错率较低,在业务量暴增时不能均衡负载,抗压性较差。

技术实现思路

[0006]专利技术目的:针对上述现有技术存在的问题,本专利技术目的在于提供一种基于微服务架构的网络目标信息采集系统与方法,提高系统的稳定性、抗压性和可维护性。
[0007]技术方案:为实现上述专利技术目的,本专利技术采用如下技术方案:一种基于微服务架构的网络目标信息采集系统,包括:Web应用模块,用于与用户交互,完成采集任务管理;管理模块,用于根据用户创建的采集任务规划采集流程,根据采集流程实现引擎工具的调度;多个引擎服务模块,每个引擎服务中安装有至少一个引擎工具,至少有一个引擎服务中安装有多个引擎工具;所述引擎工具用于实现网络目标的信息采集;以及,多个消息队列,包括:
任务下发队列,用于传递采集任务相关信息,任务下发队列的生产者为Web应用模块,消费者为管理模块;引擎注册队列,用于传递引擎工具注册信息,引擎注册队列的生产者为引擎服务模块,消费者为管理模块;其中引擎工具注册信息至少包括引擎工具编号和引擎工具所在的引擎服务的引擎服务编号;引擎执行队列,每一种引擎工具对应有一个引擎执行队列,由管理模块在引擎工具注册时创建,用于传递引擎工具的执行信息,引擎执行队列的生产者为管理模块,消费者为队列对应的引擎工具;任务结果队列,用于传递采集任务结果信息,任务结果队列的生成者为对引擎工具采集的数据进行处理的数据分析模块,消费者为Web应用模块;所述管理模块、引擎服务模块和数据分析模块以微服务的方式部署于Kubernetes集群的Pod中,由Kubernetes集群的副本控制器管理Pod副本运行。
[0008]作为优选,所述管理模块在进行引擎工具注册时,为每个引擎服务的引擎工具生成注册标识,并发送给相应的引擎服务模块,引擎服务模块保存注册标识,并定时发送心跳信息,保持引擎工具的可用状态。
[0009]作为优选,所述管理模块在下发执行任务到引擎工具之前,判断引擎工具所在的引擎服务是否存活,至少有一个引擎服务存活时,再进行任务下发。
[0010]作为优选,所述管理模块、引擎服务模块和数据分析模块注册到Kubernetes集群的apiserver中由集群统一监控管理。
[0011]作为优选,根据采集任务规划的采集流程包括引擎工具调用的先后顺序、触发子流程的条件和终止子流程的条件。
[0012]作为优选,Kubernetes集群基于Pod水平自动伸缩技术或者请求数对Pod自动扩缩容。
[0013]作为优选,系统通过统计引擎工具的使用频率优化引擎服务中的引擎工具组合,使用频率相近的引擎工具组合到一个或多个引擎服务中。
[0014]作为优选,所述引擎服务模块中设有探针,用于检查网络状态和进程状态,在发生异常时通知集群主节点进行异常恢复。
[0015]作为优选,所述Web应用模块,以及存储采集任务信息及任务结果信息的数据库,部署于Kubernetes集群外的服务器,通过Kubernetes Proxy API访问集群内部的消息队列,将采集任务发送到集群内处理。
[0016]基于微服务架构的网络目标信息采集系统实现的网络目标信息采集方法,包括如下步骤:将一个或多个引擎工具集成到不同的引擎服务模块中,将管理模块、引擎服务模块和数据分析模块以微服务的方式部署于Kubernetes集群的Pod中,配置各模块的Pod副本数量或Pod副本自动扩缩容规则;各微服务在启动成功后注册到Kubernetes集群的apiserver中;引擎服务启动后还将扫描已安装的引擎工具,将引擎工具编号和引擎服务编号通过引擎注册队列发送到管理模块;管理模块在收到引擎工具注册信息后,为每一种引擎工具创建一个与其引擎编号
对应的引擎执行队列,用于传递引擎工具的执行信息;Web应用模块接收用户创建的采集任务,通过任务下发队列发送到管理模块;管理模块根据用户创建的采集任务规划采集流程,采集流程中规划了多个引擎工具的调度顺序,管理模块根据采集流程中引擎工具编号,将引擎工具的执行信息写入引擎工具编号对应的引擎执行队列;该引擎执行队列的一个空闲消费者获取执行信息实现网络目标的信息采集,存储采集到的原始结果数据;数据分析模块对采集到的原始结果数据进行处理,将任务结果信息通过任务结果队列发送到Web应用模块。
[0017]有益效果:与现有技术相比,本专利技术具有如下优点:1、本专利技术基于k8s集群架构管理各引擎工具,可以提供不间断的服务。并可进一步基于HPA、KPA技术根据系统使用资源、业务请求数量多角度实现集群的Pod弹性扩缩容,保证系统运行的稳定性和抗压性。
[0018]2、本专利技术将各功能模块之间解耦,以微服务方式运行于集群中,针对使用频率较高压力较大的模块服务,可提高Pod副本的数量,提高系统性能。
[0019]3、本专利技术将多个引擎工具集成到一个引擎服务中,便于维护,减少了需要创建的微服务数量,通过apiserver监控和保证引擎服务一直运行;并通过消息队列技术实现在多个引擎服务中相同引擎工具之间的负载均衡。
附图说明
[0020]图1为现有网络目标信息采集系统部署示意图。
[0021]图2为本专利技术实施例中的网本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于微服务架构的网络目标信息采集系统,其特征在于,包括:Web应用模块,用于与用户交互,完成采集任务管理;管理模块,用于根据用户创建的采集任务规划采集流程,根据采集流程实现引擎工具的调度;多个引擎服务模块,每个引擎服务中安装有至少一个引擎工具,至少有一个引擎服务中安装有多个引擎工具;所述引擎工具用于实现网络目标的信息采集;以及,多个消息队列,包括:任务下发队列,用于传递采集任务相关信息,任务下发队列的生产者为Web应用模块,消费者为管理模块;引擎注册队列,用于传递引擎工具注册信息,引擎注册队列的生产者为引擎服务模块,消费者为管理模块;其中引擎工具注册信息至少包括引擎工具编号和引擎工具所在的引擎服务的引擎服务编号;引擎执行队列,每一种引擎工具对应有一个引擎执行队列,由管理模块在引擎工具注册时创建,用于传递引擎工具的执行信息,引擎执行队列的生产者为管理模块,消费者为队列对应的引擎工具;任务结果队列,用于传递采集任务结果信息,任务结果队列的生成者为对引擎工具采集的数据进行处理的数据分析模块,消费者为Web应用模块;所述管理模块、引擎服务模块和数据分析模块以微服务的方式部署于Kubernetes集群的Pod中,由Kubernetes集群的副本控制器管理Pod副本运行。2.根据权利要求1所述基于微服务架构的网络目标信息采集系统,其特征在于,所述管理模块在进行引擎工具注册时,为每个引擎服务的引擎工具生成注册标识,并发送给相应的引擎服务模块,引擎服务模块保存注册标识,并定时发送心跳信息,保持引擎工具的可用状态。3.根据权利要求1所述基于微服务架构的网络目标信息采集系统,其特征在于,所述管理模块在下发执行任务到引擎工具之前,判断引擎工具所在的引擎服务是否存活,至少有一个引擎服务存活时,再进行任务下发。4.根据权利要求1所述基于微服务架构的网络目标信息采集系统,其特征在于,所述管理模块、引擎服务模块和数据分析模块注册到Kubernetes集群的apiserver中由集群统一监控管理。5.根据权利要求1所述基于微服务架构的网络目标信息采集系统,其特征在于,根据采集任务规划的采集流程包括引擎工具调用的先后顺序、触发子流程的条件和终止子流程的条件。6.根据权...

【专利技术属性】
技术研发人员:王国金谢峥高庆官
申请(专利权)人:南京赛宁信息技术有限公司
类型:发明
国别省市:

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

1