数据检测方法、装置、服务器及存储介质.pdf

上传人:柴****2 文档编号:9198964 上传时间:2021-05-10 格式:PDF 页数:24 大小:1.01MB
收藏 版权申诉 举报 下载
数据检测方法、装置、服务器及存储介质.pdf_第1页
第1页 / 共24页
数据检测方法、装置、服务器及存储介质.pdf_第2页
第2页 / 共24页
数据检测方法、装置、服务器及存储介质.pdf_第3页
第3页 / 共24页
文档描述:

《数据检测方法、装置、服务器及存储介质.pdf》由会员分享,可在线阅读,更多相关《数据检测方法、装置、服务器及存储介质.pdf(24页完成版)》请在专利查询网上搜索。

1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202010194559.8 (22)申请日 2020.03.19 (71)申请人 北京邮电大学 地址 100876 北京市海淀区西土城路10号 (72)发明人 吴步丹林荣恒 (74)专利代理机构 北京派特恩知识产权代理有 限公司 11270 代理人 胡亮张颖玲 (51)Int.Cl. H04L 29/06(2006.01) (54)发明名称 数据检测方法、 装置、 服务器及存储介质 (57)摘要 本发明实施例适用于网络安全技术领域, 提 供了一种数据检测方法、 装置、 电子设备。

2、及存储 介质, 其中, 数据检测包括: 获取网络流量数据; 从所述网络流量数据中提取第一规则值; 将所述 第一规则值在设定规则库中进行匹配, 确定是否 得到匹配结果; 所述设定的规则库中存储的第二 规则值表征对应的网络流量数据正常或异常; 在 所述第一规则值在设定规则库中未得到匹配结 果的情况下, 将所述网络流量数据输入设定的检 测模型, 得到所述设定的检测模型输出的检测结 果以及关于所述检测结果的可信度; 所述检测模 型用于检测所述网络流量数据正常或异常; 在所 述可信度大于设定阈值的情况下, 将所述检测结 果确定为关于所述网络流量数据的检测结果。 权利要求书2页 说明书13页 附图8页 C。

3、N 111464513 A 2020.07.28 CN 111464513 A 1.一种数据检测方法, 其特征在于, 包括: 获取网络流量数据; 从所述网络流量数据中提取第一规则值; 所述第一规则值为用于表征所述网络流量数 据的编码字符串; 将所述第一规则值在设定规则库中进行匹配, 确定是否得到匹配结果; 所述设定的规 则库中存储的第二规则值表征对应的网络流量数据正常或异常; 在所述第一规则值在设定规则库中未得到匹配结果的情况下, 将所述网络流量数据输 入设定的检测模型, 得到所述设定的检测模型输出的检测结果以及关于所述检测结果的可 信度; 所述检测模型用于检测所述网络流量数据正常或异常; 在。

4、所述可信度大于设定阈值的情况下, 将所述检测结果确定为关于所述网络流量数据 的检测结果。 2.根据权利要求1所述的数据检测方法, 其特征在于, 所述将所述第一规则值在设定规 则库中进行匹配, 包括: 将所述第一规则值分别在第一规则库和第二规则库中进行匹配; 其中, 所述第一规则库中存储的第二规则值表征对应的网络流量数据正常; 所述第二规则库中存储的第二规则值表征对应的网络流量数据异常。 3.根据权利要求1或2所述的数据检测方法, 其特征在于, 在所述可信度大于设定阈值 的情况下, 所述方法还包括: 基于所述检测结果, 将所述第一规则值写入对应的设定规则库中。 4.根据权利要求1所述的数据检测方。

5、法, 其特征在于, 所述数据检测方法还包括: 在所述可信度小于设定阈值的情况下, 接收用户输入的关于所述网络流量数据的判定 结果, 将所述判定结果确定为关于所述网络流量数据的检测结果。 5.根据权利要求4所述的数据检测方法, 其特征在于, 所述数据检测方法还包括: 基于所述判定结果, 将所述第一规则值写入对应的设定规则库中。 6.根据权利要求2所述的数据检测方法, 其特征在于, 所述数据检测方法还包括: 在所述第一规则库的剩余存储空间小于设定值时, 删除所述第一规则库中满足设定条 件的第二规则值; 其中, 所述设定条件包括以下至少一项: 第二规则值最近一次作为匹配结果输出的时间早于设定时间; 。

6、第二规则值作为匹配结果输出的次数小于或等于设定次数。 7.根据权利要求6所述的数据检测方法, 其特征在于, 在删除所述第一规则库中满足设 定条件的第二规则值时, 所述数据检测方法还包括: 在第二规则值最近一次作为匹配结果的时间早于所述设定时间, 且第二规则值作为匹 配结果的次数大于所述设定次数时, 将第二规则值作为匹配结果输出的次数修改为所述设 定次数。 8.一种数据检测装置, 其特征在于, 包括: 获取模块, 用于获取网络流量数据; 提取模块, 用于从所述网络流量数据中提取第一规则值; 所述第一规则值为用于表征 所述网络流量数据的编码字符串; 权利要求书 1/2 页 2 CN 1114645。

7、13 A 2 匹配模块, 用于将所述第一规则值在设定规则库中进行匹配, 确定是否得到匹配结果; 所述设定的规则库中存储的第二规则值表征对应的网络流量数据正常或异常; 检测模块, 用于在所述第一规则值在设定规则库中未得到匹配结果的情况下, 将所述 网络流量数据输入设定的检测模型, 得到所述设定的检测模型输出的检测结果以及关于所 述检测结果的可信度; 所述检测模型用于检测所述网络流量数据正常或异常; 确定模块, 用于在所述可信度大于设定阈值的情况下, 将所述检测结果确定为关于所 述网络流量数据的检测结果。 9.一种电子设备, 包括存储器、 处理器以及存储在所述存储器中并可在所述处理器上 运行的计算。

8、机程序, 其特征在于, 所述处理器执行所述计算机程序时实现如权利要求1至7 任一项所述的数据检测方法。 10.一种计算机可读存储介质, 其特征在于, 所述计算机可读存储介质存储有计算机程 序, 所述计算机程序包括程序指令, 所述程序指令当被处理器执行时使所述处理器执行如 权利要求1至7任一项所述的数据检测方法。 11.一种数据检测系统, 其特征在于, 包括: 人机交互子系统, 用于提供数据检测过程中的人机交互服务; 中间件子系统, 用于存储设定数据格式的网络流量数据; 以及用于存储设定规则库; 通用服务子系统, 用于提供用于支撑所述数据检测系统运行的基础服务; 核心服务子系统, 用于基于微服务。

9、调用完成数据检测, 所述微服务包括: 数据获取服务, 用于从所述中间件子系统中获取网络流量数据; 规则提取服务, 用于从所述网络流量数据中提取第一规则值; 所述第一规则值为用于 表征所述网络流量数据的编码字符串; 规则匹配服务, 用于将所述第一规则值在设定规则库中进行匹配, 确定是否得到匹配 结果; 所述设定的规则库中存储的第二规则值表征对应的网络流量数据正常或异常; 模型检测服务, 用于在所述第一规则值在设定规则库中未得到匹配结果的情况下, 将 所述网络流量数据输入设定的检测模型, 得到所述设定的检测模型输出的检测结果以及关 于所述检测结果的可信度; 所述检测模型用于检测所述网络流量数据正常。

10、或异常; 结果确定服务, 用于在所述可信度大于设定阈值的情况下, 将所述检测结果确定为关 于所述网络流量数据的检测结果。 权利要求书 2/2 页 3 CN 111464513 A 3 数据检测方法、 装置、 服务器及存储介质 技术领域 0001 本发明属于网络安全技术领域, 尤其涉及一种数据检测方法、 装置、 服务器及存储 介质。 背景技术 0002 随着计算机技术的发展, 来自计算机外部的网络攻击以及内部的异常事件给网络 安全带来了严重威胁。 目前, 相关技术中异常数据的检测通常是基于规则库对异常数据进 行拦截。 然而, 这种方法需要经常更新规则库, 否则无法抵挡新型的网络攻击。 发明内容 。

11、0003 有鉴于此, 本发明实施例提供一种数据检测方法、 装置、 服务器及存储介质, 以至 少解决相关技术中规则库无法抵挡新型的网络攻击的问题。 0004 本发明实施例的技术方案是这样实现的: 0005 第一方面, 本发明实施例提供了一种数据检测方法, 该方法包括: 0006 获取网络流量数据; 0007 从所述网络流量数据中提取第一规则值; 所述第一规则值为用于表征所述网络流 量数据的编码字符串; 0008 将所述第一规则值在设定规则库中进行匹配, 确定是否得到匹配结果; 所述设定 的规则库中存储的第二规则值表征对应的网络流量数据正常或异常; 0009 在所述第一规则值在设定规则库中未得到匹。

12、配结果的情况下, 将所述网络流量数 据输入设定的检测模型, 得到所述设定的检测模型输出的检测结果以及关于所述检测结果 的可信度; 所述检测模型用于检测所述网络流量数据正常或异常; 0010 在所述可信度大于设定阈值的情况下, 将所述检测结果确定为关于所述网络流量 数据的检测结果。 0011 上述方案中, 所述将所述第一规则值在设定规则库中进行匹配, 包括: 0012 将所述第一规则值分别在第一规则库和第二规则库中进行匹配; 其中, 0013 所述第一规则库中存储的第二规则值表征对应的网络流量数据正常; 0014 所述第二规则库中存储的第二规则值表征对应的网络流量数据异常; 0015 上述方案中。

13、, 在所述可信度大于设定阈值的情况下, 所述方法还包括: 0016 基于所述检测结果, 将所述第一规则值写入对应的设定规则库中。 0017 上述方案中, 所述数据检测方法还包括: 0018 在所述可信度小于设定阈值的情况下, 接收用户输入的关于所述网络流量数据的 判定结果, 将所述判定结果确定为关于所述网络流量数据的检测结果。 0019 上述方案中, 所述数据检测方法还包括: 0020 基于所述判定结果, 将所述第一规则值写入对应的设定规则库中。 0021 上述方案中, 所述数据检测方法还包括: 说明书 1/13 页 4 CN 111464513 A 4 0022 在所述第一规则库的剩余存储空。

14、间小于设定值时, 删除所述第一规则库中满足设 定条件的第二规则值; 其中, 0023 所述设定条件包括以下至少一项: 0024 第二规则值最近一次作为匹配结果输出的时间早于设定时间; 0025 第二规则值作为匹配结果输出的次数小于或等于设定次数。 0026 上述方案中, 在删除所述第一规则库中满足设定条件的第二规则值时, 所述数据 检测方法还包括: 0027 在第二规则值最近一次作为匹配结果的时间早于所述设定时间, 且第二规则值作 为匹配结果的次数大于所述设定次数时, 将第二规则值作为匹配结果的次数修改为所述设 定次数。 0028 第二方面, 本发明实施例提供了一种数据检测装置, 该装置包括:。

15、 0029 获取模块, 用于获取网络流量数据; 0030 提取模块, 用于从所述网络流量数据中提取第一规则值; 所述第一规则值为用于 表征所述网络流量数据的编码字符串; 0031 匹配模块, 用于将所述第一规则值在设定规则库中进行匹配, 确定是否得到匹配 结果; 所述设定的规则库中存储的第二规则值表征对应的网络流量数据正常或异常; 0032 检测模块, 用于在所述第一规则值在设定规则库中未得到匹配结果的情况下, 将 所述网络流量数据输入设定的检测模型, 得到所述设定的检测模型输出的检测结果以及关 于所述检测结果的可信度; 所述检测模型用于检测所述网络流量数据正常或异常; 0033 确定模块, 。

16、用于在所述可信度大于设定阈值的情况下, 将所述检测结果确定为关 于所述网络流量数据的检测结果。 0034 第三方面, 本发明实施例提供了一种电子设备, 包括处理器和存储器, 所述处理器 和存储器相互连接, 其中, 所述存储器用于存储计算机程序, 所述计算机程序包括程序指 令, 所述处理器被配置用于调用所述程序指令, 执行本发明实施例第一方面提供的数据检 测方法的步骤。 0035 第四方面, 本发明实施例提供了一种计算机可读存储介质, 包括: 所述计算机可读 存储介质存储有计算机程序。 所述计算机程序被处理器执行时实现如本发明实施例第一方 面提供的数据检测方法的步骤, 或者执行时实现如本发明实施。

17、例第二方面和第三方面提供 的模型训练方法的步骤。 0036 第三方面, 本发明实施例提供了一种一种数据检测系统, 该系统包括: 0037 人机交互子系统, 用于提供数据检测过程中的人机交互服务; 0038 中间件子系统, 用于存储设定数据格式的网络流量数据; 以及用于存储设定规则 库; 0039 通用服务子系统, 用于提供用于支撑所述数据检测系统运行的基础服务; 0040 核心服务子系统, 用于基于微服务调用完成数据检测, 所述微服务包括: 0041 数据获取服务, 用于从所述中间件子系统中获取网络流量数据; 0042 规则提取服务, 用于从所述网络流量数据中提取第一规则值; 所述第一规则值为。

18、 用于表征所述网络流量数据的编码字符串; 0043 规则匹配服务, 用于将所述第一规则值在设定规则库中进行匹配, 确定是否得到 说明书 2/13 页 5 CN 111464513 A 5 匹配结果; 所述设定的规则库中存储的第二规则值表征对应的网络流量数据正常或异常; 0044 模型检测服务, 用于在所述第一规则值在设定规则库中未得到匹配结果的情况 下, 将所述网络流量数据输入设定的检测模型, 得到所述设定的检测模型输出的检测结果 以及关于所述检测结果的可信度; 所述检测模型用于检测所述网络流量数据正常或异常; 0045 结果确定服务, 用于在所述可信度大于设定阈值的情况下, 将所述检测结果确。

19、定 为关于所述网络流量数据的检测结果。 0046 本发明实施例首先提取网络流量数据的规则值, 将规则值在设定的规则库中进行 匹配。 然后在规则值在设定的规则库中未得到匹配结果的情况下, 将网络流量数据输入检 测模型, 得到检测模型输出的检测结果以及关于所述检测结果的可信度, 最后在可信度大 于设定阈值的情况下, 将检测结果确定为关于网络流量数据的检测结果。 将规则匹配作为 数据检测的第一步, 如果能直接从规则库匹配到对应的规则值, 就不必进行后续的模型检 测, 从而提高了数据检测的效率。 将模型检测作为数据检测的第二步, 在规则库匹配无结果 的时候进行模型检测, 可以对规则库之外的新型网络流量。

20、数据进行检测, 扩展了数据检测 的范围, 提高了数据检测的适用性。 附图说明 0047 图1是本发明实施例提供的一种数据检测系统的结构示意图; 0048 图2是本发明实施例提供的一种数据检测方法的实现流程示意图; 0049 图3是本发明应用实施例提供的一种数据获取方法的实现流程示意图; 0050 图4是本发明应用实施例提供的一种模型检测服务的结构示意图; 0051 图5是本发明应用实施例提供的一种规则删除方法的实现流程示意图; 0052 图6是本发明实施例提供的另一种数据检测方法的实现流程示意图; 0053 图7是本发明应用实施例提供的一种数据检测方法的实现流程示意图; 0054 图8是本发明。

21、实施例提供的数据检测装置的结构框图; 0055 图9是本发明实施例提供的电子设备的硬件结构示意图。 具体实施方式 0056 下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完 整地描述, 显然, 所描述的实施例是本发明一部分实施例, 而不是全部的实施例。 基于本发 明中的实施例, 本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施 例, 都属于本发明保护的范围。 0057 应当理解, 当在本说明书和所附权利要求书中使用时, 术语 “包括” 和 “包含” 指示 所描述特征、 整体、 步骤、 操作、 元素和/或组件的存在, 但并不排除一个或多个其它特征、 整 。

22、体、 步骤、 操作、 元素、 组件和/或其集合的存在或添加。 0058 需要说明的是, 本发明实施例所记载的技术方案之间, 在不冲突的情况下, 可以任 意组合。 0059 另外, 在本发明实施例中,“第一” 、“第二” 等是用于区别类似的对象, 而不必用于 描述特定的顺序或先后次序。 0060 参考图1, 图1是本发明实施例提供的一种数据检测系统的结构示意图, 所述数据 说明书 3/13 页 6 CN 111464513 A 6 检测系统包括: 0061 人机交互子系统, 用于提供数据检测过程中的人机交互服务, 将数据检测系统的 各种功能展示给用户, 供用户进行操作。 0062 具体的, 人机。

23、交互子系统包括: 用户管理模块, 网络流量监控模块, 异常检测模块、 日志查看模块和系统运行信息查看模块。 0063 用户管理模块主要负责用户信息的管理, 包括登录状态校验、 管理员身份校验等。 网络流量监控模块是用户参与到网络流量监控过程的关键接口, 网络流量监控模块主要负 责调用后台核心微服务进行网络流量的监控, 并在前台实时地向用户展示数据检测系统的 网络访问情况。 异常检测模块则负责对监控的网络流量进行异常判断, 在规则库匹配失败 且机器学习模型的检测结果的可信度不高时, 会交由用户进行人工判定, 接收用户的判定 结果。 日志查看模块则向用户提供查看历史操作记录的功能。 本发明实施例中。

24、的日志主要 分为用户日志和监控日志两种, 用户日志记录了用户日常登录、 注销、 修改信息操作及用户 的ip地址等信息; 监控日志记录的是用户对异常流量的判定操作。 两种日志共同提供了用 户的系统操作记录, 可作为系统运行实况的完备记录和异常分析的重要依据。 系统运行信 息查看模块负责从各后台系统获取运行的统计信息并进行整合, 进行整合后提供给前台展 示页面, 系统运行信息查看模块是对数据检测系统总体的监控, 用户可通过系统运行信息 查看模块查看到各子系统的运行状况和网络访问的统计信息等。 0064 中间件子系统, 用于存储设定数据格式的网络流量数据, 以及存储设定的规则库。 0065 在实际应。

25、用中, 中间件子系统主要用于基于SpringCloud框架构建系统内相关微 服务, 通过Eureka进行服务治理, 并完成相应的负载均衡配置。 Spring Cloud是一个微服务 框架, Eureka是一个服务发现框架, Eureka可以实现SpringCloud的服务注册和发现功能。 此外, 系统的用户信息、 日志存储等可以采用MySQL完成。 为了实现系统高内聚低耦合, 微服 务之间采用消息中间件进行数据交流, 消息中间件可以利用高效可靠的消息传递机制进行 平台无关的数据交流。 在机器学习模型中, 采用了Tensorflow的深度学习算法进行数据的 预处理工作, TensorFlow是一。

26、个基于数据流编程的符号数学系统, 被广泛应用于各类机器 学习算法的编程实现。 规则库则采用内存数据库Redis进行构建, Redis是一个基于内存亦 可持久化的存储数据库, 可以用于存储各种类型的数据。 由于Redis完全基于内存, 读写速 度很快, 所以规则匹配服务具有较高性能。 具体的, 在实际应用中, 可以采用Redis的哈希数 据结构进行规则值存储, 正常数据的规则值和异常数据的规则值分别对应着一个哈希表, 键值形式为, 其中, 匹配次数指规则值与规则库匹配成功的次数。 0066 通用服务子系统, 用于提供用于支撑所述数据检测系统运行的基础服务。 0067 其中, 基础服务包括身份验证。

27、服务、 权限控制服务、 通用日志服务、 通用监控服务 和通用统计服务, 这些服务贯穿于数据检测系统的整个运行周期, 共同支撑数据检测系统 的核心功能的运行。 0068 核心服务子系统基于微服务调用完成数据检测, 所述微服务包括: 0069 数据获取服务, 用于从所述中间件子系统中获取网络流量数据。 0070 规则提取服务, 用于从所述网络流量数据中提取第一规则值; 所述第一规则值为 用于表征所述网络流量数据的编码字符串。 0071 规则匹配服务, 用于将所述第一规则值在设定规则库中进行匹配, 确定是否得到 说明书 4/13 页 7 CN 111464513 A 7 匹配结果; 所述设定的规则库。

28、中存储的第二规则值表征对应的网络流量数据正常或异常。 0072 模型检测服务, 用于在所述第一规则值在设定规则库中未得到匹配结果的情况 下, 将所述网络流量数据输入设定的检测模型, 得到所述设定的检测模型输出的检测结果 以及关于所述检测结果的可信度; 所述检测模型用于检测所述网络流量数据正常或异常。 0073 结果确定服务, 用于在所述可信度大于设定阈值的情况下, 将所述检测结果确定 为关于所述网络流量数据的检测结果。 0074 其中, 数据获取服务是整个数据监测系统与外界的接口, 也是数据检测系统的数 据监控点, 负责将异构的数据源统一进行封装和处理, 完成网络流量数据的获取工作。 数据 获。

29、取服务是一个前置服务, 用于适配不同的数据源, 如来自文件、 网络的数据等。 在不同的 检测场景下, 数据格式等会有较大的变动。 通过这个服务将数据格式、 检测场景的变化与下 游系统隔离, 将异构数据统一转换成格式相同的通用数据单元向下传递, 便于下游系统进 行更高程度的抽象。 数据获取服务获取到网络流量数据后, 会将网络流量数据封装成统一 的格式发送到消息队列中间件。 0075 所述微服务还包括中台控制服务, 中台控制服务用于协调其他服务, 共同完成数 据的检测工作。 从消息队列中获取实时网络流量数据后, 规则提取服务提取网络流量数据 的规则值。 规则匹配服务将所述规则值在设定的规则库中进行。

30、匹配, 确定是否得到匹配结 果; 所述匹配结果表征所述网络流量数据是否异常。 如果未得到匹配结果, 中台控制服务则 会协调模型检测服务进行数据异常检测。 当模型检测服务给出的可信度低于用户设定的阈 值时, 中台控制服务会通过前台页面向用户展示该流量的具体信息, 协助用户完成人工判 定, 并在得到用户判别结果后协助规则写入服务更新规则库, 完成系统的自适应调整。 从功 能上讲, 中台控制服务是一个抽象程度较高的服务, 体现了数据检测系统整体的检测逻辑, 但不包含具体功能的实现。 数据检测系统的检测逻辑一般比较固定, 而将功能的具体实现 剥离出去作为单独的服务, 使得数据检测系统能够较好地应对人机。

31、交互场景的变化, 使得 数据检测系统具备可伸缩, 可扩展的特点。 0076 模型检测服务主要接受中台控制服务的调用, 在规则库失配的情况下, 完成基于 机器学习模型的异常检测、 检测结果处理等工作。 为了将模型检测服务本身和具体的模型 实现解耦, 数据检测系统采用消息队列中间件的方式实现模型检测服务和本地机器学习模 型的交互。 0077 本发明实施例中系统核心服务子系统采用微服务架构, 微服务、 数据库、 消息队 列、 Redis等关键组件采用单机多虚拟机的分布式部署方式。 在本发明实施例中, 由于只有 中台控制服务需要直接与数据库交互, 所以将中台控制服务和数据库部署在一台虚拟机 中。 数据。

32、获取服务、 模型检测服务和规则匹配服务部署于另一台虚拟机上, 由于消息队列用 于各服务之间的交互, 基于Redis的规则库用于规则匹配服务, 所以将消息队列和规则库也 部署在这台虚拟机中。 0078 各个微服务互相协调, 共同完成数据检测系统的各项功能。 构成数据检测系统的 微服务之间实现了高度解耦, 使数据检测系统具备较好的可扩展性。 0079 图2是本发明实施例提供的一种数据检测方法的实现流程示意图, 该方法执行主 体为图1中的核心服务子系统。 参照图2, 数据检测方法包括: 0080 S201, 获取网络流量数据。 说明书 5/13 页 8 CN 111464513 A 8 0081 所。

33、述获取网络流量数据, 包括: 0082 从中间件的消息队列中获取设定数据格式的所述网络流量数据。 0083 在本发明实施例中, 数据获取服务获取到网络流量数据后, 会将网络流量数据封 装成统一的格式发送到中间件的消息队列。 例如, 将数据统一转换成格式相同的通用数据 单元(DataUnitObject), 然后将通用数据单元发送到中间件的消息队列。 当需要对网络流 量数据进行检测时, 从中间件的消息队列中获取设定数据格式的所述网络流量数据。 0084 图3是本发明应用实施例提供的一种数据获取方法的实现流程示意图, 如图3所 示, 数据获取流程包括: 0085 S301, 数据获取服务启动。 0。

34、086 S302, 启动数据获取线程。 0087 数据获取服务启动后, 会启动一个数据获取线程, 数据获取线程从数据源中不断 的获取网络流量数据。 0088 S303, 从数据源阻塞读取网络流量数据并封装成通用数据单元。 0089 在实际应用中, 数据获取线程采用阻塞方式从数据源中获取网络流量数据, 阻塞 方式指数据获取线程在执行操作时, 若不能获得资源, 则挂起数据获取线程, 被挂起的数据 获取线程进入休眠, 直到满足操作条件后再激活数据获取线程进行操作。 由于数据获取服 务支持关闭, 所以要求数据获取线程必须实现阻塞逻辑, 并且能够响应中断。 0090 数据获取线程获取到网络流量数据后, 。

35、将网络流量数据封装成格式相同的通用数 据单元。 这里, 特别是payload中的属性名称, 要与下游服务保持一致。 payload是数据传输 中所欲传输的实际信息, 通常也被称作实际数据或者数据体。 0091 S304, 将通用数据单元以非持久化方式发送至消息队列中间件。 0092 数据获取服务将封装好的通用数据单元发送到消息队列中间件完成数据获取。 本 系统采用的消息队列中间件有持久化和非持久化两种消息存储方式, 非持久化方式下, 消 息队列中间件只保证尽最大努力分发消息, 不保证可靠投递, 但实时性较好。 而持久化方式 下传输的消息会保存到磁盘中, 即存储转发方式, 传输可靠性高, 但可能。

36、因为网络拥塞导致 实时性较差。 由于数据获取服务的定位只是完成数据获取的工作, 不进行后续的检测过程, 并且考虑到实际使用中硬盘存储的限制, 故采用非持久化的策略。 当用户发起数据检测命 令时, 中台控制服务会从消息中间件提取最新的实时流量数据进行数据检测。 0093 S305, 接收数据获取服务的关闭命令。 0094 S306, 数据获取服务关闭。 0095 当数据获取服务接收到关闭命令后, 会调用后台线程的中断(interrupt)命令, 实 现数据获取服务的关闭。 如果没有接收到关闭命令, 数据获取服务会不断的获取网络流量 数据。 0096 在实际应用中, 为避免当数据获取服务关闭关闭后。

37、, 本地数据检测进程仍然存在, 进而造成规则库泄露, 数据检测系统将保留本地检测进程的句柄, 并在规则匹配服务启动 时向Spring容器注册一个DisposableBean, 从而可以在服务关闭前自动清除本地检测进 程。 其中, 句柄来记载数据地址的变更, DisposableBean是Spring框架中的初始化功能, DisposableBean作用是初始化Bean(对象)相关的接口。 0097 S202, 从所述网络流量数据中提取第一规则值; 所述第一规则值为用于表征所述 说明书 6/13 页 9 CN 111464513 A 9 网络流量数据的编码字符串。 0098 在实际应用中, 通过。

38、规则提取函数提取网络流量数据的第一规则值。 例如, 假设规 则提取函数为f, 网络流量数据的规则值为C(t), 则规则提取函数的公式为C(t)f(t)。 在 本发明的一种实施例中, 采用MD5信息摘要算法(MessageDigestAlgorithmMD5)作为规则提 取函数。 例如, 某条网络流量数据的第一规则值为b2186d140209903978e7f38ea9955d04。 MD5信息摘要算法具有恒定性, 只要网络流量数据不变, 每次提取的MD5都是一样的。 0099 S203, 将所述第一规则值在设定规则库中进行匹配, 确定是否得到匹配结果; 所述 设定的规则库中存储的第二规则值表征。

39、对应的网络流量数据正常或异常。 0100 所述将所述第一规则值在设定规则库中进行匹配, 包括: 0101 将所述第一规则值分别在第一规则库和第二规则库中进行匹配。 0102 在本发明实施例中, 设定的规则库包括第一规则库和第二规则库, 其中, 其中, 所 述第一规则库中存储的第二规则值表征对应的网络流量数据正常; 所述第二规则库中存储 的第二规则值表征对应的网络流量数据异常。 0103 将第一规则值在设定的规则库中进行匹配, 也就是将将第一规则值分别在第一规 则库和第二规则库中进行匹配, 如果在第一规则库中匹配到了第一规则值, 说明第一规则 值对应的网络流量数据是正常的。 如果在第二规则库中匹。

40、配到了第一规则值, 说明第一规 则值对应的网络流量数据是异常的。 0104 不管是从第一规则库还是第二规则库中匹配到了第一规则值, 都认为是得到了匹 配结果; 如果从第一规则库和第二规则库中都无法匹配到第一规则值, 则所述第一规则值 在设定的规则库中未得到匹配结果。 0105 S204, 在所述第一规则值在设定规则库中未得到匹配结果的情况下, 将所述网络 流量数据输入设定的检测模型, 得到所述设定的检测模型输出的检测结果以及关于所述检 测结果的可信度; 所述检测模型用于检测所述网络流量数据正常或异常。 0106 在所述第一规则值在设定的规则库中未得到匹配结果的情况下, 将所述网络流量 数据输入。

41、设定的检测模型, 得到所述设定的检测模型输出的检测结果以及关于所述检测结 果的可信度。 0107 其中, 设定的检测模型基于机器学习得到, 需要预先利用训练数据训练好检测模 型。 0108 参考图4, 图4是本发明应用实施例提供的一种模型检测服务的结构示意图, 所述 模型检测服务包括: 0109 模型检测服务首先通过前置处理器(PreProcessor)对待检测的网络流量数据(通 用数据单元)进行数据预处理, 预处理包括完成通用数据单元和检测模型间的适配, 将通用 数据单元转换成检测模型能够识别的数据格式。 随后将预处理过的数据发送到消息队列中 间件, 检测模型监听相应的消息队列, 从消息队列。

42、中获取到数据后利用模型进行检测, 并将 检测结果发送到消息队列中间件。 模型检测服务获得检测结果后, 利用后置处理器将检测 结果封装成约定的形式返回给调用者。 前置处理器和后置处理器是2个虚拟的处理器, 前置 处理器用来处理请求前的一些准备工作, 比如参数设置、 环境变量设置等。 后置处理器用来 对请求响应做一些处理, 例如抓取响应数据、 提取变量方便后续使用等。 0110 本发明实施例采用消息队列中间件进行模型检测服务与本地进程的交互。 模型检 说明书 7/13 页 10 CN 111464513 A 10 测服务启动时就启动一个本地进程执行检测程序, 在检测程序中循环地阻塞监听相应的消 息。

43、队列, 待检测数据经预处理后发送到相应的消息队列中被检测程序使用, 完成数据检测。 当需要更换检测模型时, 只需要修改本地检测程序的代码即可, 而不会对服务的调用者有 任何影响。 0111 将网络流量数据输入设定的检测模型, 设定的检测模型输出对应的检测结果以及 关于所述检测结果的可信度。 检测结果表征所述网络流量数据正常或者异常, 可信度表征 这个检测结果的准确程度。 例如, 如果可信度的取值范围为0至1, 0为最小, 表示检测结果完 全不可信; 1为最大, 表示检测结果完全可信。 如果设定一个阈值0.8, 如果可信度大于0.8, 则认为对应的检测结果是准确的。 0112 S205, 在所述。

44、可信度大于设定阈值的情况下, 将所述检测结果确定为关于所述网 络流量数据的检测结果。 0113 可信度大于设定阈值, 说明检测结果准确, 将所述检测结果确定为关于所述网络 流量数据的检测结果。 在实际应用中, 将检测结果通过前台页面展示给用户。 0114 在本发明一实施例中, 在所述可信度大于设定阈值的情况下, 所述方法还包括: 0115 基于所述检测结果, 将所述第一规则值写入对应的设定规则库中。 0116 在可信度大于设定阈值的情况下, 说明检测结果是准确的, 将所述第一规则值写 入对应的设定的规则库中。 这样, 下次同样的网络流量数据再次出现时, 在规则匹配时就能 被检测到, 而不必进行。

45、后续的模型检测。 0117 所述根据检测结果将所述规则值写入对应的设定的规则库中, 包括: 0118 在所述检测结果表征所述网络流量数据正常时, 将所述规则值写入第一规则库 中。 0119 在所述检测结果表征所述网络流量数据异常时, 将所述规则值写入第二规则库 中。 0120 其中, 第一规则库用于存储正常网络流量数据的规则值, 第二规则库用于存储异 常网络流量数据的规则值。 当检测结果表征网络流量数据正常时, 将第一规则值写入第一 规则库中。 当检测结果表征网络流量数据异常时, 将第一规则值写入第二规则库中。 0121 本发明实施例通过在得到模型检测结果后, 根据检测结果更新规则库, 使得下。

46、次 遇到相同的网络流量数据时, 可以在规则匹配时就被检测到, 而不必进行后续的模型检测, 减少了进行数据检测的时间, 提升了数据检测的效率。 0122 规则库有一定的存储空间, 如果一直往规则库中写入第一规则值, 规则库会出现 剩余存储空间不足, 导致无法继续往规则库中写入第一规则值。 因此, 需要设定一定的删除 规则, 将规则库中无用的规则值删除, 保证规则写入服务能够持续往规则库中写入第一规 则值。 0123 在本发明一实施例中, 规则库发生存储空间不足时只对第一规则库中的规则值进 行删除。 在数据检测系统中, 绝大多数的访问是正常的网络流量数据, 异常的网络流量数据 是非常稀少的。 相比。

47、正常的网络流量数据的规则值, 因为数据检测系统需要及时检测到异 常的网络流量数据, 所以异常的网络流量数据的规则值更加重要。 0124 在本发明实施例中, 所述数据检测方法还包括: 0125 在所述第一规则库的剩余存储空间小于设定值时, 删除所述第一规则库中满足设 说明书 8/13 页 11 CN 111464513 A 11 定条件的第二规则值; 其中, 0126 所述设定条件包括以下至少一项: 0127 第二规则值最近一次作为匹配结果输出的时间早于设定时间; 0128 第二规则值作为匹配结果输出的次数小于或等于设定次数。 0129 在本发明一实施例中, 只要第一规则库中的第二规则值满足上述。

48、任意一项设定条 件, 就将该第二规则值删除。 0130 在本发明另一实施例中, 在第二规则值最近一次作为匹配结果输出的时间早于设 定时间, 但是第二规则值作为匹配结果输出的次数大于设定次数时, 并不删除所述规则值。 继续保留该规则值, 将第二规则值作为匹配结果输出的次数修改为设定次数, 这样在下次 规则库的存储空间不足时, 如果这个第二规则值还没有与规则库发生过匹配, 就将这个第 二规则值删除。 0131 参考图5, 图5是本发明应用实施例提供的一种规则删除方法的实现流程示意图, 所述规则删除流程包括: 0132 S501, 从规则库中提取出一个第二规则值。 0133 S502, 判断第二规则。

49、值最近一次作为匹配结果输出的时间是否早于设定时间。 0134 在实际应用中, 可以在规则库中添加第二规则值最近一次作为匹配结果输出的时 间, 数据的形式可以为。 0135 如果第二规则值最近一次作为匹配结果输出的时间并不早于设定时间, 则执行步 骤S503。 0136 S503, 判断第二规则值作为匹配结果输出的次数是否小于或等于设定次数。 0137 如果第二规则值作为匹配结果输出的次数小于或等于设定次数, 则执行步骤 S504。 如果第二规则值作为匹配结果输出的次数大于设定次数, 则执行步骤S505。 0138 S504, 删除所述第二规则值。 0139 S505, 将第二规则值作为匹配结果。

50、输出的次数修改为设定次数。 0140 S506, 遍历完规则库后, 判断删除的第二规则值的数量是否大于设定数量。 0141 如果按照上述规则, 在遍历完整个规则库的规则值后, 删除的第二规则值的数量 大于设定数量, 则规则删除流程结束。 0142 如果删除的第二规则值的数量小于设定数量, 则执行步骤S607。 0143 S507, 按照第二规则值最近一次作为匹配结果输出的时间删除所述规则值。 0144 获取第二规则值最近一次作为匹配结果输出的时间, 按照最近一次作为匹配结果 输出的时间距离当前时间的长短, 按照从长到短删的顺序除第二规则值, 直至第一规则库 的存储空间达到设定值为止, 或直至删。

展开阅读全文
内容关键字: 数据 检测 方法 装置 服务器 存储 介质
关于本文
本文标题:数据检测方法、装置、服务器及存储介质.pdf
链接地址:https://www.zhuanlichaxun.net/pdf/9198964.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1