掌桥专利:专业的专利平台
掌桥专利
首页

数据挖掘方法、装置、电子设备及存储介质

文献发布时间:2024-01-17 01:14:25


数据挖掘方法、装置、电子设备及存储介质

技术领域

本申请涉及数据处理技术领域,具体而言,涉及一种数据挖掘方法、装置、电子设备及存储介质。

背景技术

随着互联网的迅速普及,各个应用领域的数据库都存储着海量数据,通过数据挖掘技术可以从海量数据中提取潜在的、具有价值的数据。比如,在数据安全分析场景下,一般是由安全管理人员对企业系统(如告警系统)中的数据进行人工挖掘,以找出其中具有安全隐患的数据,然后对这些数据进行安全分析。

这种方式需要人工从海量的数据中挖掘出所需的数据,不仅人工成本高,且效率低。

发明内容

本申请实施例的目的在于提供一种数据挖掘方法、装置、电子设备及存储介质,用以改善现有技术中通过人工挖掘数据导致人工成本高且效率低的问题。

第一方面,本申请实施例提供了一种数据挖掘方法,所述方法包括:

确定数据挖掘规则,其中,每个所述数据挖掘规则预先设置有对应的挖掘函数;

调用所述数据挖掘规则对应的挖掘函数,对待挖掘数据进行挖掘,获得目标数据。

在上述实现过程中,通过调用数据挖掘规则对应的挖掘函数来对待挖掘数据进行挖掘,如此就不需要人工来对海量的数据进行挖掘,只需要系统调用挖掘函数即可实现,效率更高,人工成本更低。

可选地,所述确定数据挖掘规则,包括:

确定选择的多个挖掘规则以及针对所述多个挖掘规则的编排规则;

将所述多个挖掘规则按照所述编排规则进行编排组合,形成数据挖掘规则。

在上述实现过程中,通过对挖掘规则进行编排组合形成数据挖掘规则,如此可满足多个挖掘规则同时运行的挖掘需求,提高挖掘效率。

可选地,所述调用所述数据挖掘规则对应的挖掘函数,对待挖掘数据进行挖掘,获得目标数据,包括:

获取每个挖掘规则对应的初始挖掘函数;

对多个初始挖掘函数按照所述编排规则进行编排组合,形成所述数据挖掘规则对应的挖掘函数,并调用所述挖掘函数,对待挖掘数据进行挖掘,获得目标数据。

在上述实现过程中,系统中内置的是挖掘规则对应的初始挖掘函数,则可以根据用户的挖掘需求来实时对单个的初始挖掘函数进行编排组合形成新的挖掘函数,从而节省系统资源,且也能实现在多个挖掘规则下通过调用对应的挖掘函数进行数据挖掘。

可选地,所述对多个初始挖掘函数按照所述编排规则进行编排组合,形成所述数据挖掘规则对应的挖掘函数,包括:

调用脚本函数对多个初始挖掘函数按照所述编排规则进行编排组合,形成所述数据挖掘规则对应的挖掘函数。

在上述实现过程中,通过脚本函数可快速实现挖掘函数的编排组合,效率更高。

可选地,所述确定数据挖掘规则之前,还包括:

接收对数据挖掘规则的自定义请求;

响应所述自定义请求,调用脚本函数对所述数据挖掘规则进行自定义。

在上述实现过程中,通过脚本函数可实现挖掘规则的自定义,以满足更多的挖掘场景。

可选地,所述待挖掘数据存储在clinkhouse数据库中。从而可实现高效地离线数据挖掘。

可选地,所述待挖掘数据包括情报数据、告警数据、资产数据、日志数据以及网络流量中的至少一种数据。如此可实现攻击数据的挖掘。

可选地,所述目标数据包括攻击数据,所述获得目标数据后,还包括:

将所述目标数据存入攻击者画像库中;

利用插件对外部系统的数据进行挖掘,将挖掘获得的攻击数据存入所述攻击者画像库中,其中,所述插件基于所述挖掘函数实现。

在上述实现过程中,利用插件可获取外部系统的数据,从而可以对攻击者画像库中的攻击数据进行富化,即获得更多的攻击数据用于构建攻击者画像。

可选地,所述将挖掘获得的攻击数据存入所述攻击者画像库中之后,还包括:

基于所述攻击者画像库中的数据对攻击者进行画像。通过上述方法挖掘出更多更准确的攻击数据存入攻击者画像库中,如此利用攻击者画像库中的数据能够对攻击者进行更准确的画像,达到更有效的攻击检测。

第二方面,本申请实施例提供了一种数据挖掘装置,所述装置包括:

规则获取模块,用于确定数据挖掘规则,其中,每个所述数据挖掘规则预先设置有对应的挖掘函数;

数据挖掘模块,用于调用所述数据挖掘规则对应的挖掘函数,对待挖掘数据进行挖掘,获得目标数据。

第三方面,本申请实施例提供一种电子设备,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如上述第一方面提供的所述方法中的步骤。

第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如上述第一方面提供的所述方法中的步骤。

本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的一种数据挖掘方法的流程图;

图2为本申请实施例提供的一种挖掘函数的示意图;

图3为本申请实施例提供的一种获取其他系统数据的示意图;

图4为本申请实施例提供的一种数据挖掘装置的结构框图;

图5为本申请实施例提供的一种用于执行数据挖掘方法的电子设备的结构示意图。

具体实施方式

下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本发明实施例中的术语“系统”和“网络”可被互换使用。“多个”是指两个或两个以上,鉴于此,本发明实施例中也可以将“多个”理解为“至少两个”。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。

本申请实施例提供一种数据挖掘方法,该方法通过调用数据挖掘规则对应的挖掘函数来对待挖掘数据进行挖掘,如此就不需要人工来对海量的数据进行挖掘,只需要系统调用挖掘函数即可实现,效率更高,人工成本更低。

请参照图1,图1为本申请实施例提供的一种数据挖掘方法的流程图,该方法包括如下步骤:

步骤S110:确定数据挖掘规则。

其中,本申请的数据挖掘方法可以由数据挖掘系统执行。在一些实施方式中,数据挖掘系统可以内置有多个数据挖掘规则,这些数据挖掘规则可以由管理员预先配置在数据挖掘系统中,用户在有数据挖掘需求时,可以在数据挖掘系统中选择相应的数据挖掘规则,并提交给数据挖掘系统,数据挖掘系统接收到用户选择的数据挖掘规则后,即可确定数据挖掘规则。

或者,数据挖掘规则还可以是用户输入数据挖掘系统的,比如用户可以根据挖掘需求,输入相应的挖掘规则,此时数据挖掘系统接收到用户输入的挖掘规则后即可确定对应的数据挖掘规则。

又或者,管理员预先在数据挖掘系统中配置了数据挖掘规则,数据挖掘系统可以定期自己触发进行数据挖掘,如数据挖掘系统检测到挖掘时间到达时,则获取预先配置的数据挖掘规则,触发数据挖掘。

本申请实施例中的数据挖掘规则可以如基于xx条件获取关键告警数据、获取系统关键资产、基于xx条件获取日志等挖掘规则。这些挖掘规则可以是用户根据挖掘需求自定义的,并配置在数据挖掘系统中的,可以理解地,在不同的应用场景下,可以定义不同的挖掘规则。

在数据挖掘系统中,每个数据挖掘规则预先设置有对应的挖掘函数。

步骤S120:调用数据挖掘规则对应的挖掘函数,对待挖掘数据进行挖掘,获得目标数据。

数据挖掘系统中预先配置有各个数据挖掘规则对应的挖掘函数,挖掘函数可以理解为是将数据挖掘规则封装成的函数,比如基于xx条件获取关键告警数据函数、获取系统关键资产函数、基于xx条件获取日志函数等。也就是说,挖掘函数是基于数据挖掘规则生成的,管理员可预先针对各个数据挖掘规则,将其设计成对应的挖掘函数,配置在数据挖掘系统中。在进行数据挖掘时,数据挖掘系统只需要调用挖掘函数来执行数据挖掘规则的数据挖掘逻辑,以完成数据挖掘。

这里的待挖掘数据是指需要挖掘的数据,目标数据是指挖掘完后的数据,其中,待挖掘数据包括目标数据。可以理解地,在不同的应用场景下,待挖掘数据不同,获得的目标数据也不同,比如在网络安全检测场景下,待挖掘数据可以包括情报数据、告警数据、资产数据、日志数据以及网络流量中的至少一种数据,这些数据中包含有攻击信息,为了进行安全检测,需要从这些数据中挖掘出攻击信息进行安全分析,所以获得的目标数据则可以包括攻击数据,这样即可实现在安全检测场景下攻击数据的挖掘,从而不需要人工在海量的待挖掘数据中来提取攻击数据,挖掘效率更高。

可以理解地,在其他应用场景下,待挖掘数据也可以是其他数据,比如待挖掘数据可以是网络新闻,而目标数据可以是娱乐新闻,在该应用场景下,即可实现从网络新闻中挖掘出娱乐新闻。对于其他应用场景下的数据,在此不一一举例说明。

在上述实现过程中,通过调用数据挖掘规则对应的挖掘函数来对待挖掘数据进行挖掘,如此就不需要人工来对海量的数据进行挖掘,只需要系统调用挖掘函数即可实现,效率更高,人工成本更低。

在上述实施例的基础上,在一些场景下,用户还可以选择多个挖掘规则进行数据挖掘,所以数据挖掘系统在确定数据挖掘规则时,可以先确定选择的多个挖掘规则以及针对多个挖掘规则的编排规则,然后将多个挖掘规则按照编排规则进行编排组合,形成数据挖掘规则。

比如,用户的挖掘需求是既要基于xx条件获取日志数据,又要基于xx条件获取告警数据,此时用户可在数据挖掘系统选择这两个挖掘规则,或者在数据挖掘系统中输入这两个挖掘规则。编排规则也可以预先配置在数据挖掘系统中,也可以是用户输入的,比如上述示例中两个挖掘规则是“和”的编排规则,表示为a+b,即均针对同一个待挖掘数据既执行挖掘规则a又执行挖掘规则b,则数据挖掘系统可将这两个挖掘规则按照“和”的编排规则形成数据挖掘规则。或者,若这两个挖掘规则的编排规则是a(b),表示执行挖掘规则a后,从挖掘获得的数据中再执行挖掘规则b,则数据挖掘系统中按照这样的编排规则对两个挖掘规则进行编排组合,形成数据挖掘规则。

也就是说,编排规则表征了挖掘规则的执行顺序以及执行流程等信息,这样在挖掘规则有多个时,数据挖掘系统可以根据编排规则将挖掘规则进行编排组合,形成数据挖掘规则,进而实现数据挖掘。

需要说明的是,这里的数据挖掘规则是由多个挖掘规则编排组合形成的,而在前述实施例中,数据挖掘规则也可以是指一个挖掘规则。

在上述实现过程中,通过对挖掘规则进行编排组合形成数据挖掘规则,如此可满足多个挖掘规则的同时运行的挖掘需求,提高挖掘效率。

在上述实施例的基础上,挖掘函数可以是针对挖掘规则配置的,即挖掘规则可以是数据挖掘规则的最小单位,数据挖掘规则可以通过多个挖掘规则进行编排组合形成,数据挖掘系统中配置的挖掘函数可以是各种编排规则下形成的挖掘函数,也就是说,数据挖掘系统中预先就内置有按照各种编排规则形成的挖掘函数,此时,数据挖掘系统在调用挖掘函数时,可直接调用对应编排规则的挖掘函数进行数据挖掘即可。

当然,在另一些实施方式中,挖掘函数可以是以挖掘规则为最小单位配置的,因为用户的挖掘需求不同,使得其对挖掘规则有不同的编排规则,所以如果预先就内置了不同编排规则形成的挖掘函数,可能需要占用数据挖掘系统较大的资源,所以,为了节省资源,数据挖掘系统内置的只是单个挖掘规则对应的初始挖掘函数,这样在调用数据挖掘规则对应的挖掘函数时,可以先获取每个挖掘规则对应的初始挖掘函数,然后对多个初始挖掘函数按照编排规则进行编排组合,形成数据挖掘规则对应的挖掘函数,并调用该挖掘函数,对待挖掘函数进行挖掘,获得目标数据。

可以理解地是,如果数据挖掘规则是指一个挖掘规则,这其对应的挖掘函数就是指初始挖掘函数,实际上相当于系统中预先就内置有数据挖掘规则对应的挖掘函数。而如果数据挖掘规则是由多个挖掘规则编排组合形成,则上述实施例中所说的每个数据挖掘规则预先设置有对应的挖掘函数,可以理解为是数据挖掘规则中的每个挖掘规则配置有对应的初始挖掘函数(后续调用数据挖掘规则对应的挖掘函数可以理解为是调用每个挖掘规则对应的初始挖掘函数,然后对初始挖掘函数进行编排组合形成挖掘函数后再对待挖掘数据进行挖掘),或者理解为是每个数据挖掘规则配置有对应的通过对初始挖掘函数进行编排组合形成的挖掘函数。

如图2所示,图2示出了一些挖掘函数(如果是针对单个挖掘规则配置的,可称为是初始挖掘函数)的示例,挖掘规则被封装为Value函数,其中大方框可表示待挖掘数据的范围,而Value函数所在的方框可表示目标数据的范围。这些挖掘函数可以如过滤函数、标记函数等,过滤函数用于对符合条件的数据进行过滤,标记函数用于对安全模型识别出的数据(如风险数据)进行标记,这样后续可通过其他挖掘函数来对标记的数据进行抽取等。所以不同的挖掘函数具有不同的功能,可根据挖掘规则进行配置即可,在实际应用场景下,不同的需求可直接调用对应的挖掘函数实现即可,对于用户来说,操作简单、编辑,效率更高。

这样数据挖掘系统中内置挖掘规则对应的初始挖掘函数,则可以根据用户的挖掘需求来实时对单个的挖掘函数进行编排组合形成新的挖掘函数,从而节省系统资源,且也能实现在多个挖掘规则下通过调用对应的挖掘函数进行数据挖掘。

在上述实施例的基础上,在对多个初始挖掘函数按照编排规则进行编排组合时,可以通过调用脚本函数来对多个初始挖掘函数按照编排规则进行编排组合,形成数据挖掘规则对应的挖掘函数。

其中,脚本函数是一种特定功能的函数,数据挖掘系统可调用脚本函数快速实现对多个初始挖掘函数的编排组合,并且,脚本函数也可以支持对初始挖掘函数本身的参数修改。这样用户可通过脚本函数实现挖掘函数的自定义修改以及自定义编排组合,以满足更多场景下的挖掘需求。

在上述实施例的基础上,脚本函数还可支持用户对挖掘规则的自定义,比如在确定数据挖掘规则之前,如果用户有自定义需求,则数据挖掘系统可接收对数据挖掘规则的自定义请求,然后响应自定义请求,调用脚本函数对数据挖掘规则进行自定义。

该实施方式中,是指数据挖掘规则并不是预先配置在数据挖掘系统中的,而是由用户当前自定义的一个挖掘规则。比如用户想要基于IP字段挖掘出包含某个IP的数据,但是此时数据挖掘系统中配置的挖掘规则不是基于IP字段的,而是基于其他字段的,此时用户可以针对该基于其他字段的挖掘规则提交自定义请求,则数据挖掘系统即可调用脚本函数来对应该挖掘规则进行更改,即将基于其他字段的挖掘规则更改为基于IP字段的挖掘规则,从而实现自定义,如此可满足用户对该挖掘规则的自定义。

在上述实施例的基础上,为了满足离线挖掘的场景,待挖掘数据可以存储在clinkhouse数据库中。

clinkhouse是一个用于联机分析的列式数据库管理系统,其可以满足高性能的离线数据挖掘场景,对于数据的读取效率更高,所以将待挖掘数据存储在clinkhouse数据库中,可以进一步提高数据挖掘效率,且满足对历史数据的追溯。

在上述目标数据包括攻击数据的应用场景下,为了便于结合更多数据进行攻击者画像,可以将目标数据存入攻击者画像库中,然后利用插件对外部系统的数据进行挖掘,将挖掘获得的攻击数据存入攻击者画像中,其中,插件也是基于挖掘函数实现的,可以理解为,插件也集成有挖掘函数的功能,这样利用插件获取外部系统的数据时,可以同步调用挖掘函数进行数据挖掘。

在实现时,可以设计一个统一的插件接口IDataProvider,要求所有插件实现String get(String param)方法,数据挖掘系统在执行数据挖掘时,会扫描插件所在目录,加载到JVM,此时数据挖掘任务即会对已加载的数据执行数据挖掘。如此可通过插件获取外部系统中的数据来富化攻击数据,这样对于企业来说,不仅可以对企业内部的数据进行挖掘,还可以结合外部系统的数据(如互联网上的数据),如此可以挖掘出更多的攻击数据。

如图3所示,可以通过插件将互联网侧的数据集成到内部系统,可富化攻击数据,存入攻击者画像库中,能够有效的进行数据追踪,对已产生的数据持续跟进。并且,安全专家不再需要在客户侧长期驻扎,只需要在数据挖掘系统创建时提供数据挖掘规则对应的挖掘函数,如果客户侧有自定义需求,只需要客户通过脚本函数自定义挖掘规则即可,即只需要客户把差异部分完善即可,更加便捷。

攻击者画像库中的攻击数据可以用于进行攻击者画像,即可以基于攻击者画像库中的数据对攻击者进行画像,以分析出这些攻击数据的攻击者,比如攻击者的ip地址、攻击手段等,通过攻击者画像可以追踪攻击信息并对攻击者进行溯源,从而为后续采取安全措施提供有力的数据支持。

请参照图4,图4为本申请实施例提供的一种数据挖掘装置200的结构框图,该装置200可以是电子设备上的模块、程序段或代码。应理解,该装置200与上述图1方法实施例对应,能够执行图1方法实施例涉及的各个步骤,该装置200具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。

可选地,所述装置200包括:

规则获取模块210,用于确定数据挖掘规则,其中,每个所述数据挖掘规则预先设置有对应的挖掘函数;

数据挖掘模块220,用于调用所述数据挖掘规则对应的挖掘函数,对待挖掘数据进行挖掘,获得目标数据。

可选地,所述规则获取模块210,用于确定选择的多个挖掘规则以及针对所述多个挖掘规则的编排规则;将所述多个挖掘规则按照所述编排规则进行编排组合,形成数据挖掘规则。

可选地,所述数据挖掘模块220,用于获取每个挖掘规则对应的初始挖掘函数;对多个初始挖掘函数按照所述编排规则进行编排组合,形成所述数据挖掘规则对应的挖掘函数,并调用所述挖掘函数,对待挖掘数据进行挖掘,获得目标数据。

可选地,所述数据挖掘模块220,用于调用脚本函数对多个初始挖掘函数按照所述编排规则进行编排组合,形成所述数据挖掘规则对应的挖掘函数。

可选地,所述装置200还包括:

自定义模块,用于接收对数据挖掘规则的自定义请求;响应所述自定义请求,调用脚本函数对所述数据挖掘规则进行自定义。

可选地,所述待挖掘数据包括情报数据、告警数据、资产数据、日志数据以及网络流量中的至少一种数据。

可选地,所述目标数据包括攻击数据,所述装置200还包括:

画像模块,用于将所述目标数据存入攻击者画像库中;利用插件对外部系统的数据进行挖掘,将挖掘获得的攻击数据存入所述攻击者画像库中,其中,所述插件基于所述挖掘函数实现。

可选地,所述画像模块,还用于基于所述攻击者画像库中的数据对攻击者进行画像。

需要说明的是,本领域技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再重复描述。

请参照图5,图5为本申请实施例提供的一种用于执行数据挖掘方法的电子设备的结构示意图,所述电子设备可以包括:至少一个处理器310,例如CPU,至少一个通信接口320,至少一个存储器330和至少一个通信总线340。其中,通信总线340用于实现这些组件直接的连接通信。其中,本申请实施例中设备的通信接口320用于与其他节点设备进行信令或数据的通信。存储器330可以是高速RAM存储器,也可以是非易失性的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器330可选的还可以是至少一个位于远离前述处理器的存储装置。存储器330中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器310执行时,电子设备执行上述图1所示方法过程。

可以理解,图5所示的结构仅为示意,所述电子设备还可包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。图5中所示的各组件可以采用硬件、软件或其组合实现。

本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,执行如图1所示方法实施例中电子设备所执行的方法过程。

本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如,包括:

确定数据挖掘规则,其中,每个所述数据挖掘规则预先设置有对应的挖掘函数;

调用所述数据挖掘规则对应的挖掘函数,对待挖掘数据进行挖掘,获得目标数据。

综上所述,本申请实施例提供一种数据挖掘方法、装置、电子设备及存储介质,该方法通过调用数据挖掘规则对应的挖掘函数来对待挖掘数据进行挖掘,如此就不需要人工来对海量的数据进行挖掘,只需要系统调用挖掘函数即可实现,效率更高,人工成本更低。

在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

相关技术
  • 电子设备的显示控制方法、装置、电子设备和存储介质
  • 电子设备控制方法及装置、电子设备及存储介质
  • 数据分布存储方法、装置、存储介质及电子设备
  • 存储清理方法、装置、电子设备及存储介质
  • 多版本数据存储管理方法及装置、电子设备、存储介质
  • 数据挖掘模型管理方法、装置、电子设备及存储介质
  • 一种养老保险数据挖掘方法、装置、存储介质及电子设备
技术分类

06120116076176