基于微服务组件的网络流量采集和分析系统的制作方法

文档序号:12182436阅读:351来源:国知局

本发明涉及无线网络通信技术领域,尤其涉及一种基于微服务组件的网络流量采集和分析系统。



背景技术:

Internet自60年代出现以来发展迅猛,网络规模飞速膨胀,网络流量越来越大,网络信息对人们生活的影响也越来越深远,然而网络中P2P等应用正在大量的消耗网络的带宽资源,从而影响了关键业务的正常展开。因此,通过对网络中的各种业务流量进行分析,建立合适的预测模型就成为网络发展的必要。通过采集和分析网络流量,能及时地发现网络中的异常,从而使得网络管理更主动,为网络的持续高性能运行提供主要的保障,为规划、设计网络提供科学依据。

针对网络流量采集分析系统的软件构架面临三方面挑战:

(1)全网分布部署节点多

全网流量采集和分析体系中部署了若干集中处理中心和成百上千个采集节点,需要研究新采集点快速部署、快速融入全网流量分析大体系的方法。

(2)分析功能复杂多变

中心节点类型分为前置采集和后端分析中心,大的功能块包括采集、存储、分析和展现等几十个功能点。以“数据分析”为核心的应用,注定面对有不断增长的用户分析需求和场景,功能会频繁迭代生长。如果按照传统SOA(Service-Oriented Architecture,面向服务的体系结构)系统,整体打包发布,开发测试上线运维成本巨大。

(3)面向未来云化虚拟化环境部署。

未来网络流量采集分析平台硬件基础设施将向云化虚拟化环境发展。如何有效利用中心的资源提高系统性能,如何实现流量采集分析系统的软件自动化部署和运维,是面向未来必须预研的问题,也是其他依托中心提供服务的软件必须思考的系统问题。



技术实现要素:

本发明的实施例提供了一种基于微服务组件的网络流量采集和分析系统,以实现有效地提供网络流量采集和分析系统的工作效率。

为了实现上述目的,本发明采取了如下技术方案。

一种基于微服务组件的网络流量采集和分析系统,包括:用户接口层和微服务组件群;

所述的微服务组件群,用于将网络流量采集分析系统的服务功能按照功能边界划分为多个服务种类,每个服务种类中又包括多个微服务功能,给每个微服务设置一个对应的微服务组件,将所有的微服务组件存储在微服务组件群中;

用户接口层,用于接收到用户的功能请求,判断所述功能请求是同步功能请求后,提取同步功能请求中请求的微服务,调用所述微服务对应的所述微服务组件群中的微服务组件来处理所述同步功能请求。

进一步地,所述的系统还包括:

消息队列管理层,用于设置和管理消息队列,在消息队列中按照设定排列机制排列各个异步功能请求,在用户接口层与各个微服务组件之间进行消息交互。

进一步地,每个微服务组件具备独立运行的进程,通过进程完成对应的微服务的应用功能,每个微服务组件独立部署,多个微服务组件灵活组合,各个微服务组件之间采用分布式系统设计,不同微服务组件之间的访问通过远程访问协议实现。

进一步地,每个微服务组件对外提供多个API接口,所述API接口都通过基于web的可独立部署的API层实现,细粒度的微服务组件都通过一个REST-based接口去访问,每个微服务组件中包含一个或者多个服务单元,所述服务单元分别独立地实现对应的微服务中的不同业务逻辑。

进一步地,所述的微服务组件群,用于将网络流量采集分析系统的服务功能按照功能边界划分为采集、存储/传输、分析、可视化和自身管理五个服务种类,每个服务种类中又包括多个微服务功能;

其中,采集服务种类包括:流量采集微服务、协议分析微服务、预处理微服务、路由拓扑微服务和资源采集微服务;

存储/传输服务种类包括:数据存储微服务、压缩索引微服务、存储状态微服务和数据传输微服务;

分析服务种类包括:流量实时分析微服务、流量回溯分析微服务、流量报表微服务、GPU部署微服务、Hadoop微服务和Spark微服务;

可视化服务种类包括:流量展示微服务和体感交互微服务;

自身管理服务种类包括:用户管理微服务、任务调度微服务、日志管理微服务和数据接口微服务。

进一步地,所述的用户接口层包括:判断模块、同步处理模块和异步处理模块;

所述的判断模块,用于接收到用户的功能请求后,判断所述功能请求是同步功能请求还是异步功能请求;将同步功能请求发送给同步处理模块,将异步功能请求发送给异步处理模块;

所述的同步处理模块,用于接收到同步功能请求后,提取同步功能请求中请求的一个或者多个微服务,根据提取的微服务查询所述微服务组件群,获取微服务对应的微服务组件,利用微服务组件的API接口连接并调用微服务组件,利用被调用的微服务组件来处理所述同步功能请求,向所述同步功能请求返回对应的微服务功能;

所述的异步处理模块,用于当所述功能请求为异步功能请求时,将所述异步功能请求发送至消息队列管理层中。

进一步地,所述的消息队列管理层,用于按照异步功能请求的接收时间从先到后排列各个异步功能请求;或者,按照异步功能请求的优先级从高到低排列排列各个异步功能请求;按照设定的处理时间间隔抽取排在消息队列首位的异步功能请求,提取异步功能请求中请求的一个或者多个微服务,根据提取的微服务查询所述微服务组件群,获取所述微服务对应的微服务组件,利用微服务组件的API接口连接并调用微服务组件,利用被调用的微服务组件来处理所述异步功能请求,向所述异步功能请求返回对应的微服务功能。

由上述本发明的实施例提供的技术方案可以看出,本发明实施例通过将网络流量采集分析系统的服务功能细分为多个微服务,给每个微服务设置一个对应的微服务组件,设计了基于微服务组件的网络流量采集分析系统,一方面加快了软件部署速度,降低维护成本,另一方面由于每个微服务组件可以独立部署,不同微服务组件互相之间完全解耦,使一个服务功能的运行不依赖于其他服务功能运行。

本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种基于微服务的网络流量采集分析系统的架构图。

具体实施方式

下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。

为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。

本发明实施例的主要技术要点包括:在用户接口层设计判断模块,自动识别并将请求进行同步、异步类型划分,而后将用户的异步请求加入消息队列;将系统的服务功能细粒化为一个个微服务模块,设置每个微服务模块对应的微服务组件,处理来自同步或消息队列的请求,最终生成并返回结果。

本发明实施例提供的基于微服务的网络流量采集分析系统的架构图如图1所示,包括用户接口层、消息队列管理层、微服务组件群三个部分,详述如下:

1、微服务组件群

将网络流量采集分析系统的服务功能进行细化,将网络流量采集分析系统的服务功能按照功能边界划分为采集、存储/传输、分析、可视化和自身管理五个服务种类,每个服务种类中又包括多个微服务功能。

其中,采集服务种类包括:流量采集微服务、协议分析微服务、预处理微服务、路由拓扑微服务和资源采集微服务。

存储/传输服务种类包括:数据存储微服务、压缩索引微服务、存储状态微服务和数据传输微服务。

分析服务种类包括:流量实时分析微服务、流量回溯分析微服务、流量报表微服务、GPU部署微服务、Hadoop微服务和Spark微服务。

可视化服务种类包括:流量展示微服务和体感交互微服务。

自身管理服务种类包括:用户管理微服务、任务调度微服务、日志管理微服务和数据接口微服务。

给每个微服务设置一个对应的微服务组件,微服务和微服务组件为一一对应的关系,将所有的微服务组件存储在微服务组件群中。每个微服务组件具备独立运行的进程,通过进程完成对应的微服务的应用功能。每个微服务组件可以独立部署,多个微服务组件可以灵活组合,由于微服务组件本身的独立部署、灵活组合特性,使得基于微服务组件的流量采集分析系统可以实现实时部署,灵活配置各种应用服务功能,从而提高升级、部署效率。

各个微服务组件之间采用分布式系统设计,系统中所有的微服务组件都和其它微服务组件之间完全解耦,而且微服务组件之间的访问通过一系列远程访问协议实现。

每个微服务组件对外提供多个API(Application Programming Interface,应用程序编程接口)接口,这些API接口都通过基于web的可独立部署的API层实现。

每个微服务组件中包含一个或者多个服务单元,这些服务单元分别独立地实现对应微服务中的不同业务逻辑。

在实际应用中,由于微服务组件可以单独部署升级、维护,多个微服务组件可以灵活组合,从而实现对应的多个微服务组合的应用功能。在其他项目开发中,如果有和流量采集分析系统重复的功能,也可以直接复用相关微服务组件。

2、用户接口层

用于接收并处理用户的功能请求。用户接口层包括:

判断模块,用于接收到用户的功能请求后,判断所述功能请求是同步功能请求还是异步功能请求;对于用户不同的功能请求,有些需要服务及时响应,有些可以等待;当用户功能请求为微服务组件内部的配置参数设置时,判断用户功能请求为同步功能请求,否则判断用户功能请求为异步功能请求。

将同步功能请求发送给同步处理模块,将异步功能请求发送给异步处理模块。

同步处理模块,用于接收到同步功能请求后,提取同步功能请求中请求的一个或者多个微服务,同步功能请求中的功能服务列表包含了需要请求的微服务。

根据提取的微服务查询上述微服务组件群,获取微服务对应的微服务组件。然后,利用微服务组件的API接口连接并调用微服务组件,利用被调用的微服务组件来处理上述同步功能请求,向上述同步功能请求返回对应的微服务功能。

异步处理模块,用于当所述功能请求为异步功能请求时,将所述功能请求发送至消息队列管理层中。

3、消息队列管理层

设置和管理消息队列,在消息队列中按照设定排列机制排列各个异步功能请求,上述设定排列机制包括:按照异步功能请求的接收时间从先到后排列;或者,按照异步功能请求的优先级从高到低排列等。消息队列管理层作为一个消息中间层,完成用户接口层与微服务组件群之间的信息交互,在用户接口层与各个微服务组件之间进行消息交互。

消息队列管理层按照设定的处理时间间隔,抽取排在消息队列首位的异步功能请求,提取异步功能请求中请求的一个或者多个微服务。异步功能请求中的功能服务列表包含了需要请求的微服务。

然后,根据提取的微服务查询上述微服务组件群,获取微服务对应的微服务组件。然后,利用微服务组件的API接口,连接并调用微服务组件,利用被调用的微服务组件来处理上述异步功能请求,向上述异步功能请求返回对应的微服务功能。

消息队列管理层通过高级队列机制、异步消息、监控、错误处理,并且实现更好的负载均衡、可扩展性。通过消息中间件Rabbit MQ等进行服务组件间的交互,正是微服务系统模式的分布式属性,决定了系统具有优良的扩展性和可部署性。

综上所述,本发明实施例通过将网络流量采集分析系统的服务功能细分为多个微服务,给每个微服务设置一个对应的微服务组件,设计了基于微服务组件的网络流量采集分析系统,一方面加快了软件部署速度,降低维护成本,另一方面由于每个微服务组件可以独立部署,不同微服务组件互相之间完全解耦,使一个服务功能的运行不依赖于其他服务功能运行。本发明可以有效地提供网络流量采集和分析系统的资源利用率和工作效率。

本发明实施例可以实现系统中的新采集点快速部署,快速融入网络流量采集分析系统。在实际开发中,微服务组件由于可以单独部署升级、维护,在其他项目开发中,如果有和流量采集分析系统重复的功能,也可以直接复用相关微服务组件。

凡是采用了前述一条或多条技术方案的有关服务系统的网络流量采集分析平台构建方法,均在本发明的保护范围之内。

本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

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