The invention discloses a real-time identification method for mobile applications based on cloud computing. The method constructs a cluster composed of multiple computers, expands computing resources, recognizes multiple classifiers in parallel, and does not cause the whole system to collapse due to the collapse of one node in the cluster, thus improving the stability of the system; forwards captured data in the unit of data packets rather than data streams, and reduces the number of data streams. The waste of system resources caused by waiting for receiving data and reaching the effect of real-time recognition. For the case of adding new application types to be identified, there is no need to re-train the model. The original recognition model is used as usual, only need to collect the relevant data of new application, train the new recognition model, and run in parallel with the old model, the recognition effect of new application can be obtained.
【技术实现步骤摘要】
一种基于云计算的移动应用实时识别方法
本专利技术涉及一种基于云计算的移动应用实时识别方法。
技术介绍
传统的应用识别技术主要通过分析数据包的载荷信息与流量统计特性,使用深度包检测与深度流检测技术进行应用识别。随着网络环境的日益复杂,这些流量识别技术逐渐失效。机器学习方法近年来被用于网络流量分类,其性能较传统方法有所提升,但仍因其浅层网络结构特性,无法实现细粒度应用识别,同时机器学习十分依赖于流量数据的特征,需要耗费大量人力和时间用于特征提取。因此基于深度学习的移动应用识别算法被提出。该算法综合考虑了数据包于数据流各自的特性,通过对单个数据包进行提取与分类,对整个数据流进行加权统计的方式来时限对移动应用进行识别,具有识别准确率高,粒度细,效率高的特点。系统对常见的5大类共15中应用的平均识别准确率接近80%。上述现有技术在算法层面上解决了传统应用识别技术无法应对复杂网络环境的问题以及机器学习需要手动提取流量特征的问题。但在具体实施时有两个问题:第一,该算法在识别阶段在本地对所捕获的数据包按所在TCP连接分组将TCP流缓存,在TCP流结束之后再集中发送到数据处理模块进行分类,分类过程如图1所示。在当前所有TCP连接都没有结束的时候,没有任何数据流被提交到数据处理模块,从而分类器模块进程被挂起,造成系统计算资源、尤其是GPU资源的浪费。第二,一个无线网络可能会有数百个终端连入,每个终端可能会使用产生大量瞬时流量的应用,此时流经路由器的流量或达到最大带宽,瞬间产生的数据流的数量大,在分类器模块当前存在识别任务时,后续接收的数据流必须等待。当等待队列较长时,轻则实时 ...
【技术保护点】
1.一种基于云计算的移动应用实时识别方法,其特征在于包括以下步骤:(1)路由器抓包模块开启时,云端参数初始化结束后,默认启动若干节点用于接收转发的数据包,并根据路由器实时流量情况,自动调整启动节点数目以及选择使用的深度模型;(2)移动终端通过Wi‑Fi与路由器建立通信,产生数据流量时,路由器实现负载均衡算法,将捕获的数据包发送到云端的合适接收节点处;(3)云端各活动节点执行深度学习网络并将网络驻留在进程中,接收数据包后,通过自身运行的深度学习网络对其进行分类,得到分类结果,返回到路由器;(4)路由器接收关于一个数据包的识别结果后,统计到对应数据流的识别参数中,当数据流的所有数据包都已返回识别结果时,计算得到整个数据流的最终识别结果,写到数据库中;(5)当出现新的待识别应用时,收集新的若干应用的数据构成训练数据集,训练出新的深度模型,与旧识别模型分布在不同的云端节点上,共同作业,扩大识别范围;(6)若在步骤(4)中数据流被识别为未知应用,这个数据流被保存到本地,作为新应用类型的一个特征样本,将被用来训练新的识别模型。
【技术特征摘要】
1.一种基于云计算的移动应用实时识别方法,其特征在于包括以下步骤:(1)路由器抓包模块开启时,云端参数初始化结束后,默认启动若干节点用于接收转发的数据包,并根据路由器实时流量情况,自动调整启动节点数目以及选择使用的深度模型;(2)移动终端通过Wi-Fi与路由器建立通信,产生数据流量时,路由器实现负载均衡算法,将捕获的数据包发送到云端的合适接收节点处;(3)云端各活动节点执行深度学习网络并将网络驻留在进程中,接收数据包后,通过自身运行的深度学习网络对其进行分类,得到分类结果,返回到路由器;(4)路由器接收关于一个数据包的识别结果后,统计到对应数据流的识别参数中,当数据流的所有数据包都已返回识别结果时,计算得到整个数据流的最终识别结果,写到数据库中;(5)当出现新的待识别应用时,收集新的若干应用的数据构成训练数据集,训练出新的深度模型,与旧识别模型分布在不同的云端节点上,共同作业,扩大识别范围;(6)若在步骤(4)中数据流被识别为未知应用,这个数据流被保存到本地,作为新应用类型的一个特征样本,将被用来训练新的识别模型。2.如权利要求1所述的一种基于云计算的移动应用实时识别方法,其特征在于步骤(1)中根据路由器实时流量情况,自动调整启动节点数目的具体过程为:定义一个计数器,统计一段时间内流经路由器的数据包数量,以该数量为参考,调整参与运算的云端节点数目,并维护活动节点表;为保存活动节点数稳定,活动节点数从x增加到x+1,以及从x+1减少到x的临界流量值需要保持较大的距离。3.如权利要求1所述的一种基于云计算的移动应用实时识别方法,其特征在于步骤(2)中路由器负载均衡算法如下:路由器节点对收到的所有数据包,根据各云端节点的硬件条件和算力,按一定速率转发到各云端活动节点处,每个云端节点在一定时间段内,计算能力不一样,可接收...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。