一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于流量阻断的数据处理方法、装置及相关设备与流程

2022-06-18 04:58:32 来源:中国专利 TAG:
1.本公开涉及计算机
技术领域
:,尤其涉及一种基于流量阻断的数据处理方法、装置及相关设备。
背景技术
::2.利用系统内置防火墙机制,用户可以在系统中有效的配置流量信息的过滤条件,实现防火墙的功能。例如,在现有技术中,流量信息筛选模块按照顺序散布在网络协议栈的五个关键节点上,通过设置筛选模块的筛选规则,对流量进行信息筛选。显然,多个流量筛选模块存在大量规则,执行流量信息筛选时处理效率低下,由此导致当流量较大时系统性能不佳。故,如何提高流量信息筛选的处理效率,减轻网络协议栈的压力亟待解决。技术实现要素:3.针对现有技术存在的问题,本公开实施例提供一种基于流量阻断的数据处理方法、装置及相关设备。4.第一方面,本公开提供一种基于流量阻断的数据处理方法,应用于操作系统,所述操作系统的内核配置有流量阻断模块和用户接口模块,所述用户接口模块用于进行流量阻断规则的配置;所述方法包括:基于所述流量阻断模块,接收来自数据链路层的流量信息;依据由所述用户接口模块预先设定的流量阻断规则,获得放行流量信息并发送至所述内核中的网络协议栈;对所述放行流量信息进行数据处理。5.根据本公开提供的一种基于流量阻断的数据处理方法,若用户接口模块预先设定的流量阻断规则为白名单规则,则获得放行流量信息进一步为:校验所述流量信息是否合法,若是,则判断所述流量信息是否符合所述白名单规则,若是,则所述流量信息为放行流量信息;若所述流量信息不符合所述白名单规则,则所述流量信息为非法流量信息,将所述非法流量信息丢弃。6.根据本公开提供的一种基于流量阻断的数据处理方法,若用户接口模块预先设定的流量阻断规则为黑名单规则,则所述获得放行流量信息进一步为:校验所述流量信息是否合法,若是,则判断所述流量信息是否符合所述黑名单规则,若否,则所述流量信息为放行流量信息;若所述流量信息符合所述黑名单规则,则所述流量信息为非法流量信息,将所述非法流量信息丢弃。7.根据本公开提供的一种基于流量阻断的数据处理方法,所述用户进行流量阻断规则配置的规则通过如下步骤得到:基于用户接口模块对应的配置接口,获取规则配置信息;校验所述规则配置信息是否合法,若是,则对所述规则配置信息对应的待处理规则进行数据处理并存储所述规则。8.根据本公开提供的一种基于流量阻断的数据处理方法,所述存储所述规则具体包括:基于字典树存储所述规则。9.第二方面,本公开还提供了一种基于流量阻断的数据处理装置,包括:设置于操作系统内核的流量阻断模块和用户接口模块;所述用户接口模块用于进行流量阻断规则的配置;所述流量阻断模块用于接收来自数据链路层的流量信息,并基于所述用户接口模块预先设定的流量阻断规则获得放行流量信息,并将所述放行流量信息发送至网络协议栈进行数据处理。。10.第三方面,本公开还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于流量阻断的数据处理方法的步骤。11.第四方面,本公开还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于流量阻断的数据处理方法的步骤。12.第五方面,本公开还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上所述基于流量阻断的数据处理方法的步骤。本公开提供的基于流量阻断的数据处理方法、装置及相关设备中,采用流量阻断模块,依据由用户接口模块预先设定的流量阻断规则,获得放行流量信息,网络协议栈中获取到的放行流量信息为过滤后的流量信息,网络协议栈只需在往协议栈的传递过程中依次剥去每层的头部,直至为到达用户的裸数据。13.通过上述工作原理的说明可以看出,由于流量阻断模块对流量信息进行先行过滤,进而数据筛选的压力无需由网络协议栈分布的多个过滤装置来承担,例如,无需由现有技术中操作系统内核的网络协议栈的多个关键节点分布的多个报文过滤系统多次承担,因此,即使存在大量流量信息需要处理,也由流量阻断模块先行一次处理,减轻了网络协议栈的数据处理压力,提高了系统性能。附图说明14.为了更清楚地说明本公开或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。15.图1是本公开提供的基于流量阻断的数据处理方法中,操作系统内核的结构框图;16.图2是本公开提供的基于流量阻断的数据处理方法的流程示意图之一;17.图3是本公开提供的基于流量阻断的数据处理方法中的获得放行流量信息步骤流程示意图之一;18.图4是本公开提供的基于流量阻断的数据处理方法的流程示意图之二;19.图5是本公开提供的基于流量阻断的数据处理方法中的获得放行流量信息步骤流程示意图之二;20.图6是本公开提供的数据处理方法的操作系统进行配置和数据处理的流程示意图;21.图7是本公开提供的基于流量阻断的数据处理系统的结构框图;22.图8是本公开提供的电子设备的结构示意图。具体实施方式23.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开实施例一部分实施例,而不是全部的实施例。基于本公开实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开实施例保护的范围。24.下面对本公开实施例提供的基于流量阻断的数据处理方法,进行说明。25.本公开实施例提供的基于流量阻断的数据处理方法,应用于操作系统,所述操作系统的内核配置有流量阻断模块和用户接口模块,所述用户接口模块用于进行流量阻断规则的配置。26.参照图1,在一个实施例中,其操作系统为linux,netfilter/iptables是该操作系统的tcp/ip报文过滤系统,从linux3.5内核版本开始集成进了内核,并成为了linux内核的内置防火墙机制。利用netfilter/iptables,用户配置tcp/ip报文的过滤条件,实现防火墙的功能。27.netfilter/iptables包括netfilter与iptables两大部分。netfilter运行在内核中,是操作系统内核的数据包处理模块,内核通过netfilter对进出的数据包进行过滤。iptables工具工作在用户态,是暴露给用户的交互接口,用户可以通过iptables配置报文过滤规则,包括新增、修改、删除过滤规则,也可以观察报文过滤情况。但是,多个流量筛选模块存在大量规则,执行流量信息筛选时处理效率低下,由此导致当流量较大时系统性能不佳。28.在本公开的实施例中,在内核接口与网络协议栈之间,增设了上述的用户接口模块和流量阻断模块,将流量阻断功能前置,流量信息先通过流量阻断模块进行过滤,识别出需要丢弃的报文进行丢弃处理,再将过滤后的流量信息送入协议栈进行处理。29.具体地,包括如下步骤,参照图2,包括:30.步骤s201、基于所述流量阻断模块,接收来自数据链路层的流量信息;。31.具体来说,流量信息为数据包去除数据链路帧头之后的信息,也可以称为报文,需要说明的是,若流量信息为符合tcp/ip协议的正确报文,那么流量信息头部信息中包括流量信息对应的五元组信息,即协议号、源ip、源端口、目的ip、目的端口等信息。32.数据链路层是osi参考模型中的第二层,介乎于物理层和网络层之间。数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。为达到这一目的,数据链路必须具备一系列相应的功能,主要有:如何将数据组合成数据块,在数据链路层中称这种数据块为帧(frame),帧是数据链路层的传送单位;如何控制帧在物理信道上的传输,包括如何处理传输差错,如何调节发送速率以使与接收方相匹配;以及在两个网络实体之间提供数据链路通路的建立、维持和释放的管理。33.步骤s203、依据由所述用户接口模块预先设定的流量阻断规则,获得放行流量信息并发送至所述内核中的网络协议栈;。34.用户接口模块为用于用户进行流量阻断规则配置,用户接口模块命令工作于用户态,用户可根据需要进行流量阻断规则配置,如删除、新增或修改流量阻断规则,用户接口模块基于操作系统内核接口接收来自用户态的用户接口模块命令并转化为合适的数据结构,将规则对应的数据结构保存至流量阻断模块。35.流量阻断规则可以基于黑名单规则,也可以基于白名单规则。黑名单机制是指,用户指定的特定流量拒绝放行,做丢弃处理,其它流量则正常放行。白名单机制与黑名单相反,用户指定的流量放行,其它未明确指定的流量则一律做丢弃处理。黑名单与白名单相同之处在于根据一定规则丢弃不需要的报文,达到流量阻断之目的。36.步骤s205、对所述放行流量信息进行数据处理。37.具体来说,数据处理为依次剥去每层的头部,最终到达用户的裸数据。网络协议栈为tcp/ip协议栈。38.通过上述工作原理的说明可以看出,由于流量阻断模块对流量信息进行先行过滤,进而数据筛选的压力无需由网络协议栈分布的多个过滤装置来承担,例如,无需由现有技术中操作系统内核的网络协议栈的五个关键节点分布的五个报文过滤系统多次承担,因此,即使存在大量流量信息需要处理,也由流量阻断模块先行一次处理,减轻了网络协议栈的数据处理压力,提高了系统性能。39.在一种可选实施例中,若用户接口模块预先设定的流量阻断规则为白名单规则,则参照图3,步骤s103中的获得放行流量信息进一步为:40.步骤s301、校验流量信息是否合法,若是,则判断流量信息是否符合白名单规则,若是,则流量信息为放行流量信息。41.校验流量信息是否合法为判断流量信息是否为符合tcp/ip协议的正确报文。42.在一种可选实施例中,步骤s301进一步包括:43.步骤s3011、校验流量信息是否合法,若是,则提取流量信息的头部信息,获取到流量信息对应的五元组信息。44.具体来说,五元组信息为流量信息对应的协议号信息、源ip信息、源端口信息、目的ip信息、目的端口信息。45.步骤s3013、匹配流量信息对应的五元组信息与预先设定的白名单规则,若五元组信息命中白名单规则,则流量信息为放行流量信息。46.命中为流量信息对应的五元组信息与白名单规则中任意一条规则所对应的五元组信息相同,即白名单规则所对应的五元组信息包括流量信息对应的五元组信息。47.步骤s303、若流量信息不符合白名单规则,则流量信息为非法流量信息,将非法流量信息丢弃。48.非法流量信息为非用户指定的流量信息。49.基于上述实施例,若用户接口模块预先设定的流量阻断规则为黑名单规则,则参照图4,步骤s103中的获得放行流量信息进一步为:50.步骤s401、校验流量信息是否合法,若是,则判断流量信息是否符合黑名单规则,若否,则流量信息为放行流量信息;51.校验流量信息是否合法为判断流量信息是否为符合tcp/ip协议的正确报文。52.在一种可选实施例中,步骤s401进一步包括:53.步骤s4011、校验流量信息是否合法,若是,则提取流量信息的头部信息,获取到流量信息对应的五元组信息。54.具体来说,五元组信息为流量信息对应的协议号信息、源ip信息、源端口信息、目的ip信息、目的端口信息。55.步骤s4013、匹配流量信息对应的五元组信息与预先设定的黑名单规则,若五元组信息未命中黑名单规则,则流量信息为放行流量信息。56.五元组信息未命中黑名单规则为流量信息对应的五元组信息与黑名单规则中任意一条规则所对应的五元组信息均不相同。57.步骤s403、若流量信息符合黑名单规则,则流量信息为非法流量信息,将非法流量信息丢弃。58.命中为流量信息对应的五元组信息与黑名单规则中任意一条规则所对应的五元组信息相同,即黑名单规则所对应的五元组信息包括流量信息对应的五元组信息。59.基于上述任一实施例,参照图5,用户进行流量阻断规则配置的规则通过如下步骤得到:60.步骤s501、基于用户接口模块对应的配置接口,获取规则配置信息。61.用户通过用户接口模块对应的配置接口进行配置,用户接口模块通过配置接口获取规则配置信息。62.步骤s503、校验规则配置信息是否合法,若是,则对规则配置信息对应的待处理规则进行数据处理并存储规则。63.需要说明的是,进行数据处理并存储规则为用户接口模块将规则配置信息发送给流量阻断模块后,流量阻断模块进行的操作,在具体实施中,也可以为用户接口模块将规则配置信息进行数据处理,即数据格式转换后存储在用户接口模块并发送给流量阻断模块进行存储。64.在一种可选实施例中,步骤s503中的存储规则具体包括:65.基于字典树存储规则。66.具体来说,字典树在计算机科学中,又称为前缀树或者trie树,是一种有序树,用于保存关联数组,其中的键通常是字符串。与二叉查找树不同,键不是直接保存在节点中,而是由节点在树中的位置决定。一个节点的所有子孙都有相同的前缀,也就是这个节点对应的字符串,而根节点对应空字符串。一般情况下,不是所有的节点都有对应的值,只有叶子节点和部分内部节点所对应的键才有相关的值。67.trie树设计的核心思想是空间换时间,所以trie树本身比较消耗空间。但它利用了字符串的共同前缀(commonprefix)作为存储依据,以此来节省存储空间,并加速搜索时间。trie树具有高效的插入、搜索的特点,其查询性能与集合中的字符串的数量无关。适用于需要大量搜索的场景。在实现流量阻断时采用了采用了不同于netfilter的按顺序逐一匹配的,更高效的trie树算法,当存在大量匹配规则时,有效的提升了匹配性能,降低了系统开销。68.参照图6,在具体实施中,采用本公开实施例提供的基于流量阻断的数据处理方法的操作系统进行配置规则和数据处理的方法可以包括:69.步骤s601、系统启动,加载流量阻断模块,初始化trie树。70.步骤s602、基于用户接口模块对应的配置接口,获取规则配置信息。71.步骤s603、基于流量阻断模块进行规则配置信息合法性校验,获取校验结果。72.其中,步骤s603具体包括:73.步骤s6031、若规则配置信息合法则将配置的规则进行一定的数据处理后存入trie树;74.步骤s6033、若规则配置信息非法,则返回错误结束本次配置。75.步骤s604、基于流量阻断模块,接收来自数据链路层的流量信息。76.步骤s605、依据由用户接口模块预先设定的流量阻断规则,获得放行流量信息并发送至网络协议栈内。77.在一种可选实施例中,若用户接口模块预先设定的流量阻断规则为白名单规则,步骤s605具体包括:78.步骤s60511、校验流量信息是否合法,若是,则判断流量信息是否符合白名单规则,若是,则流量信息为放行流量信息;79.步骤s60513、若流量信息不符合白名单规则,则流量信息为非法流量信息,将非法流量信息丢弃.80.在另一种可选实施例中,步骤s605具体包括:81.步骤s60521、校验流量信息是否合法,若是,则判断流量信息是否符合黑名单规则,若否,则流量信息为放行流量信息;82.步骤s60523、若流量信息符合黑名单规则,则流量信息为非法流量信息,将非法流量信息丢弃。83.步骤s606、基于网络协议栈,对放行流量信息进行数据处理。84.下面对本公开实施例提供的基于流量阻断的数据处理装置进行描述,下文描述的基于流量阻断的数据处理装置与上文描述的基于流量阻断的数据处理方法可相互对应参照。85.参照图7,本公开还提供一种基于流量阻断的数据处理装置,包括:设置于操作系统内核的流量阻断模块73和用户接口模块71;所述用户接口模块71用于进行流量阻断规则的配置;所述流量阻断模块73用于接收来自数据链路层的流量信息,并基于所述用户接口模块预先设定的流量阻断规则获得放行流量信息,并将所述放行流量信息发送至网络协议栈75进行数据处理。86.具体来说,用户接口模块71用于进行流量阻断规则的配置,用户接口模块命令工作于用户态,用户可根据需要进行流量阻断规则配置,如删除、新增或修改流量阻断规则,用户接口模块基于操作系统内核接口接收来自用户态的用户接口模块命令并转化为合适的数据结构,将规则对应的数据结构保存至流量阻断模块。流量阻断规则可以基于黑名单规则,也可以基于白名单规则。黑名单机制是指,用户指定的特定流量拒绝放行,做丢弃处理,其它流量则正常放行。白名单机制与黑名单相反,用户指定的流量放行,其它未明确指定的流量则一律做丢弃处理。黑名单与白名单相同之处在于根据一定规则丢弃不需要的报文,达到流量阻断之目的。87.流量阻断模块73所接收的流量信息为数据包去除数据链路帧头之后的信息,也可以称为报文,需要说明的是,若流量信息为符合tcp/ip协议的正确报文,那么流量信息头部信息中包括流量信息对应的五元组信息,即协议号、源ip、源端口、目的ip、目的端口等信息。数据链路层是osi参考模型中的第二层,介乎于物理层和网络层之间。数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。为达到这一目的,数据链路必须具备一系列相应的功能,主要有:如何将数据组合成数据块,在数据链路层中称这种数据块为帧(frame),帧是数据链路层的传送单位;如何控制帧在物理信道上的传输,包括如何处理传输差错,如何调节发送速率以使与接收方相匹配;以及在两个网络实体之间提供数据链路通路的建立、维持和释放的管理。88.流量阻断模块73还用于将所述放行流量信息发送至网络协议栈进行数据处理。网络协议栈为tcp/ip协议栈。89.通过上述工作原理的说明可以看出,由于流量阻断模块对流量信息进行先行过滤,进而数据筛选的压力无需由网络协议栈分布的多个过滤装置来承担,例如,无需由现有技术中操作系统内核的网络协议栈的五个关键节点分布的五个报文过滤系统多次承担,因此,即使存在大量流量信息需要处理,也由流量阻断模块先行一次处理,减轻了网络协议栈的数据处理压力,提高了系统性能。。90.在一种可选实施例中,若用户接口模块预先设定的流量阻断规则为白名单规则,则流量阻断模块73进一步包括:91.校验白名单单元,用于校验流量信息是否合法,若是,则判断流量信息是否符合白名单规则,若是,则流量信息为放行流量信息。92.校验流量信息是否合法为判断流量信息是否为符合tcp/ip协议的正确报文。93.丢弃单元,用于若流量信息不符合白名单规则,则流量信息为非法流量信息,将非法流量信息丢弃。94.非法流量信息为非用户指定的流量信息。95.在一种可选实施例中,校验白名单单元进一步包括:96.提取子单元,用于校验流量信息是否合法,若是,则提取流量信息的头部信息,获取到流量信息对应的五元组信息。97.具体来说,五元组信息为流量信息对应的协议号信息、源ip信息、源端口信息、目的ip信息、目的端口信息。98.匹配子单元,用于匹配流量信息对应的五元组信息与预先设定的白名单规则,若五元组信息命中白名单规则,则流量信息为放行流量信息。99.命中为流量信息对应的五元组信息与白名单规则中任意一条规则所对应的五元组信息相同,即白名单规则所对应的五元组信息包括流量信息对应的五元组信息。100.基于上述实施例,若用户接口模块预先设定的流量阻断规则为黑名单规则,则流量阻断模块73进一步包括:101.校验黑名单单元,用于校验流量信息是否合法,若是,则判断流量信息是否符合黑名单规则,若否,则流量信息为放行流量信息;102.校验流量信息是否合法为判断流量信息是否为符合tcp/ip协议的正确报文。103.丢弃黑名单信息单元,用于若流量信息符合黑名单规则,则流量信息为非法流量信息,将非法流量信息丢弃。104.命中为流量信息对应的五元组信息与黑名单规则中任意一条规则所对应的五元组信息相同,即黑名单规则所对应的五元组信息包括流量信息对应的五元组信息。105.在一种可选实施例中,校验黑名单单元进一步包括:106.提取获取单元,用于校验流量信息是否合法,若是,则提取流量信息的头部信息,获取到流量信息对应的五元组信息。107.具体来说,五元组信息为流量信息对应的协议号信息、源ip信息、源端口信息、目的ip信息、目的端口信息。108.匹配规则子单元,用于匹配流量信息对应的五元组信息与预先设定的黑名单规则,若五元组信息未命中黑名单规则,则流量信息为放行流量信息。109.五元组信息未命中黑名单规则为流量信息对应的五元组信息与黑名单规则中任意一条规则所对应的五元组信息均不相同。110.基于上述任一实施例,用户进行流量阻断规则配置的规则通过如下方式得到:111.基于用户接口模块对应的配置接口,获取规则配置信息。112.具体来说,用户通过用户接口模块对应的配置接口进行配置,用户接口模块通过配置接口获取规则配置信息。113.校验规则配置信息是否合法,若是,则对规则配置信息对应的待处理规则进行数据处理并存储规则。114.需要说明的是,进行数据处理并存储规则为用户接口模块将规则配置信息发送给流量阻断模块后,流量阻断模块进行的操作,在具体实施中,也可以为用户接口模块将规则配置信息进行数据处理,即数据格式转换后存储在用户接口模块并发送给流量阻断模块进行存储。115.图8示例了一种电子设备的实体结构示意图,如图8所示,该电子设备可以包括:处理器(processor)810、通信接口(communicationsinterface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行基于流量阻断的数据处理方法。116.此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。117.另一方面,本公开还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的基于流量阻断的数据处理方法。118.又一方面,本公开还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的基于流量阻断的数据处理方法。119.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。120.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。121.最后应说明的是:以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献