一种分布式流量采集系统和边缘计算方法转让专利
申请号 : CN201911090363.8
文献号 : CN111131379B
文献日 : 2021-06-01
发明人 : 苏锐丹 , 孙昊
申请人 : 西安电子科技大学
摘要 :
权利要求 :
1.一种分布式流量采集系统,其特征在于,所述分布式流量采集系统包括:采集节点,与边缘节点连接,用于根据需求执行多种类型数据的采集,从同一个网卡接口中获取原始网络数据,通过不同的采集设备将流量解析为多种格式并输出至指定的下一层端口;
边缘节点,前后分别与采集节点、云中心节点连接,边缘节点需要设置在尽可能靠近数据源的机器上,用于接收采集节点传输进来的数据,根据规则引擎或负载策略有选择的进行边缘计算;
云中心集群,首先负责汇总下层所有节点产生的所有数据,根据应用名称、数据类型等属性,将数据分别进行存储或后续处理;每个节点都会将该节点的状态日志等信息上传到云中心,用于绘制节点拓扑图。
2.如权利要求1所述的分布式流量采集系统,其特征在于,所述采集节点在向下一层进行传输前,对每一个数据文件进行标记,标记的属性信息包括数据自来自哪个节点、哪个应用、什么数据类型。
3.如权利要求1所述的分布式流量采集系统,其特征在于,所述边缘节点还用于自定义要执行的边缘计算内容,并将处理结果传送至下一层。
4.如权利要求1所述的分布式流量采集系统,其特征在于,所述边缘节点还用于将不需要进行边缘计算的或非时间关键性的数据,直接卸载到在云中心进行后续的处理。
5.如权利要求1所述的分布式流量采集系统,其特征在于,所述云中心节点的输入端口与边缘节点的输入端口相同。
6.一种如权利要求1所述分布式流量采集系统的边缘计算方法,其特征在于,所述分布式流量采集系统的边缘计算方法包括以下步骤:步骤一,规划分布式数据采集系统的节点,划分出采集节点、边缘节点和云中心节点,并依据设备的硬件性能分别安装Apache MiNiFi或Apache NiFi;
步骤二,在采集节点、边缘节点和云中心节点上配置流模板,连接前后节点,完成数据采集、数据传输、边缘计算,并将所有节点组织成以云中心为根的树状结构。
7.如权利要求6所述的分布式流量采集系统的边缘计算方法,其特征在于,步骤一中,将Apache MiNiFi安装在树莓派硬件资源上仅作为采集节点,将Apache NiFi安装在主机或服务器上作为边缘节点或者云中心节点;Apache NiFi也可安装在采集节点中,负责大流量的采集和解析;依据某节点处理数据量的大小进行水平扩展,构成NiFi集群。
8.如权利要求6所述的分布式流量采集系统的边缘计算方法,其特征在于,所述分布式流量采集系统的边缘计算方法进一步包括:第一步,在采集节点上,部署数据采集的MiNiFi模板,进行:
1.1)通过ExecuteProcess处理器调用采集工具,源源不断从网卡捕获数据包,并生成指定类型的文件存放在本地文件系统路径中;
1.2)通过GetFile处理器根据配置的正则表达式,在指定目录中获取文件名匹配的数据文件;该文件已转化成NiFi系统中的FlowFile,GetFile处理器自动删除本地文件以节省存储空间;
1.3)使用UpdateAttribute处理器为该流文件增添属性,以便后续根据属性进行拆分或路由;
1.4)通过RemoteProcessGroup,将数据发送到边缘节点上NiFi中开放的指定的输入端口,同时开启该端口的传输压缩选项,以便减小数据体积、减少带宽占用;
第二步,在边缘节点上,部署边缘计算的NiFi模板,进行:
2.1)从命名为DataPath的输入端口传入采集节点生成的数据;
2.2)随后经过RouteOnAttribute处理器进行路由,根据采集节点设定的流文件属性来配置正则表达式,将匹配的流文件,即需要的数据转发至边缘计算的进程组中进行数据处理;将不需要计算的数据通过远程进程组直接发送到云中心进行后续存储和处理;
第三步,在云中心节点上,部署云计算的NiFi模板,进行:
3.1)从输入端口获取数据后,根据流文件属性进行路由,一方面将检测结果文件直接放入HDFS或Hive中进行存档;另一方面,通过SplitText处理器,将边缘计算结果拆分为每一条单独的记录;
3.2)将每条结果送入对应的Kafka主题,进行可视化或索引。
9.一种实现权利要求6~8任意一项所述分布式流量采集系统的边缘计算方法的信息数据处理终端。
10.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求6‑8任意一项所述的分布式流量采集系统的边缘计算方法。
说明书 :
一种分布式流量采集系统和边缘计算方法
技术领域
背景技术
习、工作和生活提供了极大的便利。在物联网场景中,采用了大量的传感器设备,以便能够
感知环境、监测变化从而做出相应的动作。由于这些智能设备的计算能力和存储容量有限,
其本身的性能不足以有效处理这些传感器数据,也不能执行更复杂的处理动作,因此,一种
更好的解决方案是采用云计算的方法,仅仅将这些智能设备看作是简单的数据生成器,将
传感器数据直接传送到云服务器中进行存储和计算的卸载。
的IP流量只会达到10.4ZB。此外,思科CEO预测到2025年将有大约5000亿个用户设备加入互
联网。因此,处理快速增长的数据量以便减轻网络的沉重负担成为一个亟需解决的问题。同
时,在越来越多的新场景中,如视频分析、自动驾驶等应用,需要物联网支持实时响应、位置
感知、低延迟处理等功能,但由于云计算的集中化特性,且远离用户设备,加上数据在网络
传输过程中由于带宽瓶颈产生的高延迟,使得云计算无法满足这些需求。为了解决这些问
题,人们引入了边缘计算。在尽可能靠近数据源的机器上进行分布式的数据并行处理和分
析,来实现更高的执行速度和更短的响应时间,将发送到服务器的数据量缩减到最少,这样
可以提高数据传送链路上机器性能的利用率,提高整体的执行效率,大大提高了物联网的
成功率。
量的树莓派,也可以是接入骨干接点的镜像服务器。对于小型化的树莓派节点来说,其本身
的计算和存储能力不足以支持大量的数据处理,总是需要将计算卸载到云中心;而对于骨
干网上的镜像服务器来说,瞬时流量可能高达3‑4Gbps,将这些流量全部传送到云中心进行
处理,不仅会占用大量的网络带宽,也会使得云中心产生数据堆积,从而导致较高的数据处
理延迟和响应时间,不能迅速得到处理结果。
高。
性。因此,本发明需要在校园网络环境中,针对基于大数据的网络流量安全分析应用场景进
行定制,依据众多厂家边缘计算产品的共性,抽象出边缘计算框架,并根据自身功能需求进
行细化,包括数据采集、传输、边缘计算、结果反馈等自动化的基础功能,以及云中心的远程
监控、管理等高级功能。
的响应时间,将发送到服务器的数据量缩减到最少,这样可以提高数据传送链路上机器性
能的利用率,提高整体的执行效率。
发明内容
下一层端口;
传到云中心,用于绘制节点拓扑图。
在采集节点中,负责大流量的采集和解析;可以依据某节点处理数据量的大小进行水平扩
展,构成NiFi集群。
节省存储空间;
行处理;将不需要计算的数据通过远程进程组直接发送到云中心的ApacheNiFi进行后续存
储和处理;
一条单独的记录;
相比于传统的云计算方式,提高了N倍的计算速度(N为边缘节点数量)、数据传输体积缩小
了97.56%。同时在该领域通过本发明的计算方法还带来了其他的有益效果,如缩短系统响
应时间、降低能源消耗等,提高了资源利用率和数据处理效率。
中的泄漏。
件大小呈梯度增长,模拟多采集节点直接将数据卸载到云中心,记录随数据量增长的处理
情况。
果。
文件2 41,264 376,241 2,415 20,515 56 457 10.98
文件3 41,214 375,773 2,462 20,966 63 523 10.956
文件4 42,088 383,544 2,840 24,089 69 574 11.893
文件5 41,314 376,709 2,527 21,464 58 487 10.755
平均值 41,334 376,850.8 2,522 21,427.6 61.6 511.4 11.128
文件7 32,898 300,000 1,870 15,906 51 419 9.746
文件8 43,864 400,000 2,625 22,327 64 526 11.546
文件9 54,858 500,000 3,507 29,818 79 657 13.663
文件10 65,800 600,000 4,128 35,035 75 621 13.223
平均值 43,871.6 400,000 2,683 22,797.2 62 510.6 11.088
处理后文件大小约为61.6KB,相比于全部的DNS数据,体积缩小了97.56%。
器学习模型进行边缘计算的方式是可行且有效的,大大减少了发送到云中心的数据量,充
分利用了链路节点上的机器性能,提高了整体的效率。
附图说明
具体实施方式
限定本发明。
不能迅速得到处理结果,造成处理效率低下。
安装在树莓派等硬件资源有限的小型设备上仅作为采集节点,将NiFi安装在具有一定计算
能力的主机或服务器上作为边缘节点或者云中心节点。NiFi也可以安装在采集节点中,负
责大流量的采集和解析。可以依据该节点下属直连节点的数量进行水平扩展,构成NiFi集
群来提高数据处理能力。
采集设备将流量解析为多种格式并输出至指定的下一层端口。在向下一层进行传输前,会
对每一个数据文件进行标记,表明其来自来自哪个节点、哪个应用、是什么类型的数据,以
便后面的流程中根据属性进行路由或拆分。
例如,提取DNS数据中的域名字段,对其是否为DGA恶意域名进行判断,并将处理结果传送至
下一层。此外,对于不需要进行计算或非时间关键性的数据,可以直接将其卸载到云中心进
行后续的处理。
节点每分钟的状态信息上传。随后,根据应用、数据类型等属性,将这些数据分别存入对应
应用的HDFS(分布式文件系统)中或发送给相应的Kafka(高性能跨语言分布式消息队列系
统)主题进行后续处理。
过边缘层的计算处理,而是直接卸载到云中心。使用两层结构是为了提高数据传输的效率,
例如设备层某节点负责采集的数据均不需要进行边缘计算,那么该节点生成的数据就没有
必要流经边缘层,直接传送到云中心会使整个处理流程更简单、处理时延更短。
4中,本发明给出了整个边缘计算模型的概要图,包括设备层、边缘层和云中心。由于实际构
建的流程框架较为复杂,不易于直观概览,为便于理解数据流,仅抽取了与本节的应用实例
相关的组件,绘制了上述概要图进行展示与描述。
统路径中;接着,通过GetFile处理器根据配置的正则表达式,在指定目录中获取文件名匹
配的数据文件。此时,该文件已转化成NiFi系统中的FlowFile(流文件),此后GetFile处理
器会自动删除本地文件以节省存储空间;接着使用UpdateAttribute处理器为该流文件增
添属性(如应用名称、数据类型等),以便后续可以根据属性进行拆分或路由;最后通过
RemoteProcessGroup,将数据发送到边缘节点上NiFi实例中开放的指定的输入端口,同时
可以开启该端口的传输压缩选项,以便减小数据体积、减少带宽占用。
匹配的流文件,即本发明需要的数据转发至边缘计算的Process Group(进程组)中进行处
理;而将其他不需要计算的数据通过远程进程组直接发送到云中心的NiFi实例进行后续存
储和处理。
直接放入HDFS或Hive中进行存档;另一方面,可以通过SplitText处理器,将处理结果拆分
为一条一条单独的结果,并将每条结果送入对应的Kafka主题,便于后续进行可视化或索
引。
呈梯度增长,模拟多采集节点直接将数据卸载到云中心,记录随数据量增长的处理情况。
文件2 41,264 376,241 2,415 20,515 56 457 10.98
文件3 41,214 375,773 2,462 20,966 63 523 10.956
文件4 42,088 383,544 2,840 24,089 69 574 11.893
文件5 41,314 376,709 2,527 21,464 58 487 10.755
平均值 41,334 376,850.8 2,522 21,427.6 61.6 511.4 11.128
文件7 32,898 300,000 1,870 15,906 51 419 9.746
文件8 43,864 400,000 2,625 22,327 64 526 11.546
文件9 54,858 500,000 3,507 29,818 79 657 13.663
文件10 65,800 600,000 4,128 35,035 75 621 13.223
平均值 43,871.6 400,000 2,683 22,797.2 62 510.6 11.088
处理后文件大小约为61.6KB,相比于全部的DNS数据,体积缩小了97.56%。
器学习模型进行边缘计算的方式是可行且有效的,大大减少了发送到云中心的数据量,充
分利用了链路节点上的机器性能,提高了整体的效率。
多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照
本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网
络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个
计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一
个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL)
或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行
传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一
个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介
质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid
State Disk(SSD))等。