一种实现EDR数据快速检索的方法与装置与流程

文档序号:13736191阅读:593来源:国知局
一种实现EDR数据快速检索的方法与装置与流程

本发明涉及数据检索技术领域,具体而言,涉及一种实现edr数据快速检索的方法与装置。



背景技术:

随着终端机日益流行的今天,越来越多的金融、互联网终端服务器一旦受到外界黑客攻击或者用户不适当操作,导致终端崩溃,终端一旦出现故障整个企业的业务将立刻瘫痪或者受阻,因此终端安全越来越受到人们的关注。

edr(endpointdetectionandresponse)作为一种终端安全产品,会在使用过程中不断产生终端日志,该终端日志中包括终端被攻击的相关数据,所以终端日志的产生也需要展示给用户,方便用户更加清晰的了解到当前终端产生的日志,可以第一时间解决和了解终端的使用情况。由于终端的日志数量十分庞大,即edr数据的数量非常庞大,所以检索其中的某些关键性日志显得尤为重要,可以快速准确的检索出日志并且输出显得格外重要。

目前普遍通过检索软件的方式进行数据库查询,但是,通过安装检索软件的方式进行数据库查询时,对性价比要求比较大且成本较高。

如何解决上述问题,是本领域技术人员关注的重点。



技术实现要素:

有鉴于此,本发明的目的在于提供一种实现edr数据快速检索的方法,以解决现有技术中进行数据库检索时成本高,对性能要求大的问题。

本发明的另一目的在于提供一种实现edr数据快速检索的装置,以解决现有技术中进行数据库检索时成本高,对性能要求大的问题。

为了实现上述目的,本发明实施例采用的技术方案如下:

第一方面,本发明实施例提出一种实现edr数据快速检索的方法,所述实现edr数据快速检索的方法包括:

获取输入的第一索引与查询参数;

若预建立的索引链表中包括与所述第一索引匹配的第二索引时,依据所述第二索引获取预建立的数据链表的地址;

从存储于预建立的数据链表的地址的数据中获取与所述查询参数关联的被查询数据;

对所述被查询数据进行整理并输出。

第二方面,本发明实施例还提出一种实现edr数据快速检索的装置,所述实现edr数据快速检索的装置包括:

信息接收单元,用于获取输入的第一索引与查询参数;

地址获取单元,用于若预建立的索引链表中包括与所述第一索引匹配的第二索引时,依据所述第二索引获取预建立的数据链表的地址;

数据获取单元,用于从存储于预建立的数据链表的地址的数据中获取与所述查询参数关联的被查询数据;

数据输出单元,用于对所述被查询数据进行整理并输出。

相对现有技术,本发明具有以下有益效果:

本发明提供了一种实现edr数据快速检索的方法与装置,首先接收第一索引与查询参数,并判断索引链表中是否包括与第一索引匹配的第二索引,如果是,则通过该第二索引获取预建立的索引链表的地址,通过该地址与查询参数和获取被查询数据,并将该数据进行整理与输出。由于本发明通过建立索引链表存储索引,同时建立数据链表存储数据,从而在进行数据检索时,系统可快速从索引链表中找到该索引,同时根据该索引找到数据存储的位置,所以极大地增加了查询的速度。同时,无需安装专门的检索软件进行检索,减少了占用空间以及节约了成本。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

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

图1示出了本发明的一个实施例提供的服务器的结构框图。

图2示出了本发明的一个实施例提供的实现edr数据快速检索的方法的部分流程示意图。

图3示出了本发明的一个实施例提供的实现edr数据快速检索的方法的另一部分流程示意图。

图4示出了图3中步骤s110的子步骤的流程示意图。

图5示出了本发明的另一个实施例提供的实现edr数据快速检索的装置的模块示意图。

图6示出了本发明的另一个实施例提供的地址获取单元的模块示意图。

图标:10-服务器;12-存储器;13-存储控制器;14-处理器;100-实现edr数据快速检索的装置;110-信息接收单元;120-判断单元;130-地址获取单元;1301-索引确定单元;1302-对应关系确定模块;1303-地址获取模块;140-对应关系建立单元;150-数据链表确定单元;160-数据存储单元;170-数据获取单元;180-数据输出单元。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

如图1所示,是本发明提供的服务器10的功能模块示意图。该服务器10包括实现edr数据快速检索的装置100、存储器12、存储控制器13以及处理器14。

所述存储器12、存储控制器13、处理器14各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述实现edr数据快速检索的装置100包括至少一个可以软件或固件(firmware)的形式存储于所述存储器12中或固化在所述服务器10的操作系统(operatingsystem,os)中的软件功能模块。所述处理器14用于执行存储器12中存储的可执行模块,例如所述实现edr数据快速检索的装置100包括的软件功能模块或计算机程序。

其中,存储器12可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器12用于存储程序,所述处理器14在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的服务器10200所执行的方法可以应用于处理器14中,或者由处理器14实现。

处理器14可能是一种集成电路芯片,具有信号的处理能力。上述的处理器14可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器14也可以是任何常规的处理器等。

图2与图3是本发明较佳实施例提供的应用于图1所示的实现edr数据快速检索的方法的流程图,下面对图2与图3所示的具体流程进行详细阐述。

请参阅图2,步骤s101,接收待存储的数据。

在本发明实施例中,为了实现edr(终端安全产品)数据的快速检索,需在检索时快速锁定第二索引,通过该第二索引快速关联至数据存储的位置,从而实现快速检索的效果。所以,为了达到快速检索的目的,需整合数据库,以满足在查询时的需求,即在进行edr数据检索之前,需对edr数据进行整理,以方便在进行edr数据检索时,达到快速检索的目的。本实施例中的服务器10能够接收edr在工作时产生的数据,该edr在工作时产生的数据即待存储的数据。

步骤s102,判断预建立的索引链表中是否存储有与所述待存储的数据相匹配的第二索引。如果否,则执行步骤s103,如果是,则执行步骤s105。

在接收到数据后,由于每个数据都可以对应一个索引,且服务器10预建立的索引链表中预存储有多个第二索引,所以在本实施例中,在服务器10接收到待存储的数据之后,能够判断出索引链表中预存储的多个第二索引中,是否有与该待存储数据匹配的索引。

需要说明的是,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。同时,在本实施例中,索引链表用于存储第二索引。

步骤s103,建立一个与所述待存储的数据相匹配的第二索引以及新的数据链表,将所述待存储的数据存储至所述数据链表中,并获取所述数据链表中存储所述待存储的数据的地址。

如果在数据库中没有找到与待存储数据匹配的第二索引,则服务器10会自动在数据库中建立一个与待存储的数据相匹配的第二索引,从而达到数据与第二索引对应的目的,使得在进行数据检索时,能够根据该第二索引匹配到该数据。同时,服务器10还会建立新的数据链表,用于存储该数据。

由于在存储数据时,用于存储数据的数据链表的位置具有特定的地址,即通过该地址,能够找到在数据链表中,存储该数据的大致位置。所以在本实施例中,在将数据存储至数据链表中后,服务器10还会获取数据链表中存储该数据的位置的地址。

步骤s104,将所述第二索引存储至所述索引链表中,并在所述索引链表中建立所述第二索引与所述数据链表的地址的对应关系。

在待存储数据存储于数据链表之后,服务器10会将第二索引存储于索引链表中。同时,为了能够通过第二索引找到数据的存储位置,在本实施例中,在将第二索引存储至索引链表中后,服务器10还会根据获取的存储数据的数据链表的地址以及建立的第二索引,建立第二索引与该数据链表的地址的对应关系,即通过该对应关系,利用第二索引查找到存储与第二索引匹配的数据的地址。

需要说明的是,由于一个第二索引可能对应多个数据,所以在本实施例中,一个第二索引可能对应多个地址。

例如,在本实施例中,在数据链表中地址为111.111.111的位置处存储有与“攻击日志”相关的数据,而在索引链表中,存储有名为“攻击日志”的索引,且该索引与111.111.111的地址对应,当后期工作人员需要检索关于攻击日志的数据时,会先匹配到该索引,同时通过该索引确定111.111.111的地址,并根据该地址找到数据链表中存储与攻击日志相关的数据的存储位置,从而找到与攻击日志相关的数据。

步骤s105,依据所述匹配的第二索引确定数据链表。

若预建立的索引链表中存储有与所述待存储的数据相匹配的第二索引,则无需建立新的第二索引。由于在索引链表中存储的第二索引,会同时存储第二索引与所述数据链表的地址的对应关系,即通过该第二索引能够确定数据链表,同时能够确定与该索引匹配的数据存储的位置。

步骤s106,将所述待存储的数据存储至所述数据链表中。

在通过第二索引确定了数据链表后,服务器10会将接收到的待存储的数据存储至该数据链表中。从而使得当需要进行数据的检索时,可通过该第二索引确定数据链表的相应位置,从而快速检索出需要的数据。

同时,在将待存储数据存储于数据链表中之后,由于第二索引关联的数据内容增加,此时,需对存储第二索引的索引链表进行更新,索引链表每更新一次,即表示多一个数据存储至数据链表中。

需要说明的是,步骤s101-步骤s106均为数据预存储的步骤,通过步骤s101-步骤s106进行数据的存储,能够实现在后期进行数据检索时,快速、准确地检索出需要的数据。

请参阅图3,步骤s107,获取输入的第一索引与查询参数。

在整合数据库之后,当需要检索相应的数据时,可输入第一索引与查询参数进行检索,从而使服务器10接收到输入的第一索引与查询参数后进入检索流程。在本实施例中,第一索引为用户输入的索引。例如,服务器10接收到“攻击日志用户”,其中,攻击日志为索引,用户为查询参数,即表示用户想要查询的数据为在攻击日志为索引的条件下,包含用户的所有数据。

步骤s108,判断所述查询参数的数量是否为多个,如果是,则执行步骤s112,如果否,则执行步骤s109。

若只有一个查询参数,则服务器10仅需对该查询参数进行查询相应的数据,但若有多个查询参数,则需要对每个查询参数均进行查询。

步骤s109,判断预建立的索引链表中是否包括与所述第一索引匹配的第二索引。如果是,则执行步骤s110;如果否,则结束该流程。

在接收到用户输入的第一索引与查询参数后,服务器10会将第一索引与索引链表中的第二索引进行匹配,并判断索引链表中是存储有与第一索引匹配的第二索引。

需要说明的是,在本实施例中,匹配即中第一索引与第二索引相同。例如,第一索引为“攻击日志”,即用户想要查询与攻击日志相关的数据,并且,在索引链表中也存储有名为“攻击日志”的索引,从而使服务器10能够判断出索引链表中存储有与第一索引匹配的第二索引。

并且,如果在索引链表中无法找到与用户输入的第一索引匹配第二索引,即表示用户想要检索的数据不存在,服务器10会自动结束检索流程。

步骤s110,依据所述第二索引获取预建立的数据链表的地址。

若服务器10判断出预建立的索引链表中包括与所述第一索引匹配的第二索引,则表示在数据链表中存储有用户需要查找的数据。

具体地,请参阅图4,步骤s110包括:

子步骤s1101,确定与接收的所述第一索引匹配的第二索引。

通过第一索引,能够找到与该第一索引完全相同的第二索引,即确定了与第一索引匹配的第二索引。

子步骤s1102,依据所述第二索引在所述索引链表中确定所述第二索引与数据链表的地址的对应关系。

由于索引链表中不仅存储有多个第二索引,还存储有第二索引与数据链表的地址的对应关系,所以在确定第二索引后,可根据该第二索引确定第二索引与数据链表的地址的对应关系。

子步骤s1103,依据所述第二索引以及所述对应关系获取所述数据链表的地址。

在确定了第二索引与数据链表的地址的对应关系后,即可通过该对应关系,找到与第二索引匹配的数据存储于数据链表中的位置的地址。

步骤s111,从存储于预建立的数据链表的地址的数据中获取与所述查询参数关联的被查询数据。

当确定了与第二索引匹配的数据存储于数据链表中的位置的地址后,服务器10可在该位置找到与第二索引匹配的数据。但是,由于在该位置处存储的数据较多,所以需要进一步进行筛选。在本实施例中,由于当用户在进行检索时,不仅需要输入第一索引,还需要输入相应的查询参数,所以当利用第一索引找到存储有与第一索引匹配的数据的位置后,可利用查询参数与存储于该位置的数据进行对比,从而获取与所述查询参数关联的被查询数据。

例如用户输入“攻击日志用户”,即在通过第一索引“攻击日志”确定数据链表中位置后,还会根据查询参数“用户”读取在该对应的位置中,包含用户的所有数据。

步骤s112,从存储于预建立的数据链表的地址的数据中依次获取与每个所述查询参数关联的被查询数据。

当查询的参数为多个时,为了保证查询的完整性及查询出的数据的可靠性,在从存储于预建立的数据链表的地址的数据中依次获取与每个查询参数关联的被查询数据。

例如,用户输入了两个查询参数“攻击日志用户id”,由于需对用户输入的查询参数检索完,所以在利用“攻击日志”索引找到存储与该索引匹配的数据的位置后,还会利用查询参数“用户”与“id”对存储于该位置的数据进行筛选,从而获取与每个查询参数关联的被查询数据。

步骤s113,对所述被查询数据进行整理并输出。

在读取出数据以后,需对数据进行整理,然后将整理后的数据输出,从而让用户能够直观地观察到检索出的数据。

需要说明的是,在本实施例中,服务器10还会对数据进行拼接与整合。例如,当查询参数为“攻击日志用户id”时,输出的数据可能为“在xx时刻,xx对xx发动攻击”。

第二实施例

请参阅图5,是本发明较佳实施例提供的图1所示的实现edr数据快速检索的装置100的功能单元示意图。需要说明的是,本实施例所提供的实现edr数据快速检索的装置100,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本发明实施例部分未提及之处,可参考上述的实施例中相应内容。所述实现edr数据快速检索的装置100包括信息接收单元110、判断单元120、地址获取单元130、对应关系建立单元140、数据链表确定单元150、数据存储单元160、数据获取单元170、数据输出单元180。

信息接收单元110,用于接收待存储的数据。

可以理解的,通过信息接收单元110可执行步骤s101。

判断单元120,用于判断预建立的索引链表中是否存储有与所述待存储的数据相匹配的第二索引。

可以理解的,通过判断单元120可执行步骤s102。

地址获取单元130,用于建立一个与所述待存储的数据相匹配的第二索引以及新的数据链表,将所述待存储的数据存储至所述数据链表中,并获取所述数据链表中存储所述待存储的数据的地址。

可以理解的,通过地址获取单元130可执行步骤s103。

对应关系建立单元140,用于将所述第二索引存储至所述索引链表中,并在所述索引链表中建立所述第二索引与所述数据链表的地址的对应关系。

可以理解的,通过对应关系建立单元140可执行步骤s104。

数据链表确定单元150,用于依据所述匹配的第二索引确定数据链表。

可以理解的,通过数据链表确定单元150可执行步骤s105。

数据存储单元160,用于将所述待存储的数据存储至所述数据链表中。

可以理解的,通过数据存储单元160可执行步骤s106。

信息接收单元110还用于获取输入的第一索引与查询参数。

可以理解的,通过数据接收单元110可执行步骤s107。

判断单元120还用于判断所述查询参数的数量是否为多个。

可以理解的,通过判断单元120可执行步骤s108。

判断单元120还用于判断预建立的索引链表中是否包括与所述第一索引匹配的第二索引。

可以理解的,通过判断单元120可执行步骤s109。

地址获取单元130还用于依据所述第二索引获取预建立的数据链表的地址。

可以理解的,通过地址获取单元130可执行步骤s110。

具体地,请参阅图6,地址获取单元130包括:

索引确定模块1301,用于确定与接收的所述第一索引匹配的第二索引。

可以理解的,通过索引确定模块1301可执行步骤s1101。

对应关系确定模块1302,用于依据所述第二索引在所述索引链表中确定所述第二索引与数据链表的地址的对应关系。

可以理解的,通过对应关系确定模块1302可执行步骤s1102。

地址获取模块1303,用于依据所述第二索引以及所述对应关系获取所述数据链表的地址。

可以理解的,通过地址获取模块1303可执行步骤s1103。

数据获取单元170,用于从存储于预建立的数据链表的地址的数据中获取与所述查询参数关联的被查询数据。

可以理解的,通过数据获取单元170可执行步骤s111。

数据获取单元170还用于从存储于预建立的数据链表的地址的数据中依次获取与每个所述查询参数关联的被查询数据。

可以理解的,通过数据获取单元170可执行步骤s112。

数据输出单元180,用于对所述被查询数据进行整理并输出。

可以理解的,通过数据输出单元180可执行步骤s113。

综上所述,本发明提供了一种实现edr数据快速检索的方法与装置,首先接收第一索引与查询参数,并判断索引链表中是否包括与第一索引匹配的第二索引,如果是,则通过该第二索引获取预建立的索引链表的地址,通过该地址与查询参数和获取被查询数据,并将该数据进行整理与输出。由于本发明通过建立索引链表存储索引,同时建立数据链表存储数据,从而在进行数据检索时,系统可快速从索引链表中找到该索引,同时根据该索引找到数据存储的位置,所以极大地增加了查询的速度。同时,无需利用elasticsearch进行检索,减少了占用空间以及节约了成本。

需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1