数据报文的存储方法、装置、计算机设备与流程

文档序号:30081652发布日期:2022-05-18 04:31阅读:116来源:国知局
数据报文的存储方法、装置、计算机设备与流程

1.本技术涉及网络安全技术领域,尤其涉及一种数据报文的存储方法、装置、计算机设备及存储介质。


背景技术:

2.信息网络承载了越来越多的关键业务和应用,在新兴的网络应用和网络架构中,网络安全面临全新的挑战。现有ids(intrusion detection systems入侵检测系统)设备中仅存储发生告警的数据包,且存储的数据包在提取时,需要对全部留存的数据包进行逐个数据报文进行对比,通过对比每个存储的数据包中的源ip,目标ip,源端口,目的端口,协议来确定要提取的数据包。
3.对所有报文使用通用数据库索引留存也是不现实的,这是因为在典型的千兆网络监控状况下,每日将产生数千万个数据报文,则对于目前已公开披露的任何通用数据库都是不可承受的工作负载。


技术实现要素:

4.本技术实施例提供一种数据报文的存储方法、装置、计算机设备及存储介质,用于提高数据报文存储的有效性。
5.本发明实施例提供一种数据报文的存储方法,所述方法包括:
6.获取待存储数据报文对应的标识信息;
7.判断数据区中是否存在可存储所述待存储数据报文的数据块;所述数据区中包括多个数据块,每个数据块用于存储属于同一个标识信息对应的数据报文;
8.若不存在可存储所述待存储数据报文的数据块,则将在所述数据区中起始位置存储的数据报文对应的标识信息,确定为目标标识信息;
9.删除所述数据区中所述目标标识信息所在数据块内的所有数据,并将所述目标标识信息所在数据块的存储状态设置为空;
10.将所述待存储数据报文及其对应的标识信息对应存储到存储状态为空的数据块中。
11.本发明实施例提供一种数据报文的存储装置,所述装置包括:
12.获取模块,用于获取待存储数据报文对应的标识信息;
13.判断模块,用于判断数据区中是否存在可存储所述待存储数据报文的数据块;所述数据区中包括多个数据块,每个数据块用于存储属于同一个标识信息对应的数据报文;
14.确定模块,用于若不存在可存储所述待存储数据报文的数据块,则将在所述数据区中起始位置存储的数据报文对应的标识信息,确定为目标标识信息;
15.删除模块,用于删除所述数据区中所述目标标识信息所在数据块内的所有数据,并将所述目标标识信息所在数据块的存储状态设置为空;
16.存储模块,用于将所述待存储数据报文及其对应的标识信息对应存储到存储状态
为空的数据块中。
17.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据报文的存储方法。
18.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述数据报文的存储方法。
19.本发明提供一种数据报文的存储方法、装置、计算机设备及存储介质,本发明在获取到待存储数据报文对应的标识信息之后,判断数据区中是否存在可存储待存储数据报文的数据块;若不存在可存储待存储数据报文的数据块,则将在数据区中起始位置存储的数据报文对应的标识信息,确定为目标标识信息,然后删除数据区中目标标识信息所在数据块内的所有数据,并将目标标识信息所在数据块的存储状态设置为空,将待存储数据报文及其对应的标识信息对应存储到存储状态为空的数据块中。即本发明在确定无法进行数据存储时,根据数据区中起始位置中的目标标识信息进行数据删除,然后将待存储数据报文存储到对应的数据块中,从而提高了数据报文存储的有效性。
附图说明
20.图1为本技术提供的一种数据报文的存储方法流程图;
21.图1a为本技术提供的一种数据区存储结构示意图;
22.图2为本技术提供的另一种数据报文的存储方法流程图;
23.图2a为本技术提供的一种数据区存储结构示意图;
24.图2b为本技术提供的一种数据区存储结构示意图;
25.图3为本技术提供的一种数据报文的存储装置的结构示意图
26.图4为本技术提供的计算机设备的一示意图。
具体实施方式
27.为了更好的理解上述技术方案,下面通过附图以及具体实施例对本技术实施例的技术方案做详细的说明,应当理解本技术实施例以及实施例中的具体特征是对本技术实施例技术方案的详细的说明,而不是对本技术技术方案的限定,在不冲突的情况下,本技术实施例以及实施例中的技术特征可以相互组合。
28.请参阅图1,本发明实施例提供的一种数据报文的存储方法,该方法具体包括步骤s101-步骤s105:
29.步骤s101,获取待存储数据报文对应的标识信息。
30.在本实施例中,待存储数据报文为需要进行存储的数据报文,该数据报文可以为出现告警的数据报文,也为某种特定类型的数据报文,本实施例对此不做具体限定。
31.在一个可选实施例中,获取待存储数据报文对应的标识信息,包括:从所述待存储数据报文中提取五元组信息;对所述五元组信息进行哈希计算或红黑树计算,得到待存储数据报文对应的标识信息。
32.具体的,本实施例在获取到待存储数据报文之后,从待存储数据报文中提取源ip(internet protocol address,网际协议地址)、目的ip、源端口sport、目的端口dport、协
议proto,然后根据提取的源ip、目的ip、源端口sport、目的端口dport、协议proto进行哈希计算或是红黑树计算,得到待存储数据报文对应的标识信息,以便于通过该标识信息表示待存储数据报文。
33.步骤s102,判断数据区中是否存在可存储待存储数据报文的数据块。
34.其中,数据区中包括多个数据块,每个数据块用于存储属于同一个标识信息对应的数据报文,即同一个数据块内的数据报文对应的标识信息是相同的。需要说明的是,本实施例中的数据块的大小是不固定的,其具体可以根据接收到数据报文的大小确定。例如,接收到的待存储数据报文的大小为800kb,则存储该待存储数据报文的数据块的大小为800kb。
35.如图1a所示,数据区为环形存储结构,该数据区中共计包含9个数据块,按每个数据块都存储有对应的数据报文,即数据区中没有可进行存储数据的数据块。起始位置的数据块为1,之后根据接收报文的时间顺序,将数据报文顺时针的存储到数据区内对应的数据块中。
36.步骤s103,若不存在可存储待存储数据报文的数据块,则将在数据区中起始位置存储的数据报文对应的标识信息,确定为目标标识信息。
37.如图1a所示,数据区不存在可存储所述待存储数据报文的数据块,则获取数据区中起始位置存储的数据报文对应的标识信息,若获取数据块1内标识信息为111,则目标标识信息为111。
38.步骤s104,删除数据区中目标标识信息所在数据块内的所有数据,并将目标标识信息所在数据块的存储状态设置为空。
39.需要说明的是,本实施例中是根据接收到数据报文的时间进行存储的,因此在不同时间接收到数据报文可能存储到不同的数据块中。例如,按照时间顺序先后接收到标识信息1的数据报文、标识信息2的数据报文、标识信息3的数据报文、标识信息1的数据报文、标识信息1的数据报文,则可通过4个或5个数据块存储接受到的数据报文。例如,通过数据块1存储最先接收到的标识信息1的数据报文、通过数据块2存储之后接收到标识信息2的数据报文、通过数据块3存储标识信息3的数据报文、通过数据块4和数据块5分别存储最后接收到的标识信息1的数据报文,或通过数据块存储最后两个标识信息1的数据报文。
40.在本实施例中,在获取到目标标识信息之后,需要删除数据区中目标标识信息所在数据块内的所有数据,并将目标标识信息所在数据块的存储状态设置为空。如图1a所示,则将数据区中所有标识信息为111对应的数据报文删除。若在图1a中数据块5和数据块6对应的标识信息同样为111,则将数据块1、数据块5和数据块6内的所有数据删除,并将数据块1、数据块5和数据块6的存储状态设置为空,以此表示数据内没有存储数据。
41.步骤s105,将待存储数据报文及其对应的标识信息对应存储到存储状态为空的数据块中。
42.本实施例中,在对起始位置的数据块内的内容删除之后,可将待存储数据报文及对应的标识信息直接存储到该数据块中。也就是说,本实施例将最先存储数据报文的数据块中的内容替换为待存储数据报文,以此保证将最新获取的待存储报文数据能够有效的存储到数据区中,从而提高了数据存储的有效性。
43.在一个可选的实施例中,所述将所述待存储数据报文及其对应的标识信息对应存
储到存储状态为空的数据块中,包括:
44.步骤s1051,确定数据区的起始位置对应数据块的存储空间是否可存储待存储数据报文。
45.其中,所述数据区为环形存储结构,所述起始位置为环形存储结构中当前指针所在的位置。每个数据块的存储空间大小根据其之前存储数据报文的大小确定,如图1a所示,若数据块1存储的数据报文的大小为800kb,则在对数据块1内的内容清空之后,确定数据块1(起始位置对应的数据块)的存储空间是否能够存储待存储数据报文,若待存储数据报文的大小为700kb,则可确定数据块1的存储空间能够存储待存储数据报文。
46.步骤s1052,若起始位置对应数据块可存储所述待存储数据报文,将待存储数据报文及其对应的标识信息对应存储到所述起始位置对应数据块中。
47.在本实施例中,若起始位置对应数据块可存储待存储数据报文,则直接将待存储数据报文及其对应的标识信息对应存储到起始位置对应数据块中。例如,起始位置的数据块的大小为500kb,待存储数据报文的大小也为500kb,则直接将待存储数据报文及其对应的标识信息对应存储到起始位置对应数据块中。
48.步骤s1053,若起始位置对应数据块不可存储所述待存储数据报文,将在起始位置之后第一个存储数据报文所在数据块的标识信息,确定为目标标识信息。
49.在本实施例中,若起始位置对应数据块不可存储待存储数据报文,则将在起始位置之后第一个存储数据报文所在数据块的标识信息,确定为目标标识信息。例如,起始位置的数据块的大小为500kb,待存储数据报文的大小为600kb,则将在起始位置之后第一个存储数据报文所在数据块的标识信息,确定为目标标识信息。
50.如图1a所示,若起始位置对应的数据块为1,则起始位置之后第一个存储数据报文的数据块为2,则获取数据块2中的标识信息,然后将该标识信息确定为目标标识信息。
51.步骤s1054,删除数据区中所述目标标识信息所在数据块内的所有数据,并将所述目标标识信息所在数据块的存储状态设置为空。
52.需要说明的是,步骤s1054与步骤s104的描述内容相同,本实施例在此不再赘述。
53.步骤s1055,计算起始位置对应的数据块和起始位置之后第一个数据块的存储空间和值。
54.例如,数据块1的大小为500kb,数据块2的大小为300kb,则两个数据块相加得到的存储空间为800kb。
55.步骤s1056,确定所述存储空间和值是否可存储所述待存储数据报文。
56.在本实施例,数据块1和数据块2两个数据块相加得到的存储空间为800kb,若待存储数据报文的大小为600kb,则确定数据块1和数据块2的存储空间可以存储待存储数据报文,然后跳转到步骤s1057继续执行;若待存储数据报文的大小为1000kb,则确定数据块1和数据块2的存储空间不可以存储待存储数据报文,则将在起始位置之后第二个存储数据报文所在数据块的标识信息,确定为目标标识信息,然后删除数据区中目标标识信息所在数据块内的所有数据,并将目标标识信息所在数据块的存储状态设置为空,计算起始位置对应的数据块和起始位置之后第一个数据块、第二个数据块的存储空间和值,直至计算的存储空间能够存储待存储数据报文为止。
57.步骤s1057,若是,则将待存储数据报文及其对应的标识信息对应存储到,起始位
置对应的数据块和起始位置之后第一个数据块中。
58.需要说明的是,本实施例在对数据块中的数据进行删除之后,若出现连续多个数据块的内容被删除,则将连续的多个数据块合并为一个数据块。如图1a中,若删除了数据块1和数据块中的数据,对数据块1和数据块2进行合并,即得到一个整块的存储空间,如数据块1和数据块2对应的存储空间分别为500kb和300kb,则通过计算可得到800kb的存储空间,若待存储数据报文的数据量小于等于800kb,则可将该待存储数据报文直接存储到该位置。
59.本发明提供一种数据报文的存储方法,本发明在获取到待存储数据报文对应的标识信息之后,判断数据区中是否存在可存储待存储数据报文的数据块;若不存在可存储待存储数据报文的数据块,则将在数据区中起始位置存储的数据报文对应的标识信息,确定为目标标识信息,然后删除数据区中目标标识信息所在数据块内的所有数据,并将目标标识信息所在数据块的存储状态设置为空,将待存储数据报文及其对应的标识信息对应存储到存储状态为空的数据块中。即本发明在确定无法进行数据存储时,根据数据区中起始位置中的目标标识信息进行数据删除,然后将待存储数据报文存储到对应的数据块中,从而提高了数据报文存储的有效性。
60.如图2所示,在本发明提供的一个可选实施例中,在判断数据区中是否存在可存储所述待存储数据报文的数据块之后,还包括:
61.步骤s106,若存在可存储待存储数据报文的数据块,则获取数据区中最后一个存储状态不为空的数据块。
62.如图2a所示,数据区中仅数据块1、数据块2、数据块3和数据块4内存储有数据,即数据区中存在没有使用的存储空间,此时若剩余的存储空间大于或等于待存储数据报文所占用的存储空间,则可知直接将待存储数据报文顺序存储到数据块4之后。
63.步骤s107,将待存储数据报文及其对应的标识信息对应存储到,最后一个存储状态不为空的数据块之后。
64.如图2b所示,将待存储数据报文直接存储到数据块4之后,即存在数据块5中。
65.如图3所示,本实施例提供一种数据查询方法,该方法是基于数据报文的存储方法实现的,该方法具体包括:
66.步骤s301,接收数据查询请求,所述数据查询请求中包括待查询标识信息。
67.其中,待查询标识信息即根据待查询数据报文的五元组计算得到的,如对五元组进行哈希计算或是红黑树计算得到待查询标识信息。
68.步骤s302,从索引区中获取与待查询标识信息对应的数据块位置信息。
69.在本实施例中,索引区中存储有各个标识信息与数据块位置信息的对应关系。其中,数据块位置信息包括起始偏移量和末尾偏移量,起始偏移量用于表示标识信息对应数据报文在数据区中的起始位置,末尾偏移量用于表示标识信息对应数据报文在数据区中的末尾位置。
70.具体的,索引区存储的标识信息与数据块位置信息是根据在数据区中存储或删除的数据报文确定的。如在将待存储数据报文及其对应的标识信息对应存储到存储状态为空的数据块中之后,将待存储数据报文的标识信息和其存储的数据块位置信息对应存储到索引区中;在删除数据区中目标标识信息所在数据块内的所有数据,并将目标标识信息所在数据块的存储状态设置为空之后,删除索引区中目标标识信息及其对应的数据块位置信
息。
71.步骤s303,从获取的数据块位置信息中查询与待查询标识信息对应的数据报文。
72.对于本发明实施例,在接收到数据查询请求后,从索引区中获取与待查询标识信息对应的数据块位置信息,然后从获取的数据块位置信息中查询与待查询标识信息对应的数据报文,从而实现了数据报文的快速查询。
73.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
74.在一实施例中,提供一种数据报文的存储装置,该数据报文的存储装置与上述实施例中数据报文的存储方法一一对应。如图3所示,所述数据报文的存储装置各功能模块详细说明如下:
75.获取模块31,用于获取待存储数据报文对应的标识信息;
76.判断模块32,用于判断数据区中是否存在可存储所述待存储数据报文的数据块;所述数据区中包括多个数据块,每个数据块用于存储属于同一个标识信息对应的数据报文;
77.确定模块33,用于若不存在可存储所述待存储数据报文的数据块,则将在所述数据区中起始位置存储的数据报文对应的标识信息,确定为目标标识信息;
78.删除模块34,用于删除所述数据区中所述目标标识信息所在数据块内的所有数据,并将所述目标标识信息所在数据块的存储状态设置为空;
79.存储模块35,用于将所述待存储数据报文及其对应的标识信息对应存储到存储状态为空的数据块中。
80.在一个可选实施例中,获取模块31,具体用于:
81.从所述待存储数据报文中提取五元组信息;
82.对所述五元组信息进行哈希计算或红黑树计算,得到待存储数据报文对应的标识信息。
83.在一个可选实施例中,获取模块31,还用于若存在可存储所述待存储数据报文的数据块,则获取所述数据区中最后一个存储状态不为空的数据块;
84.存储模块35,用于将所述待存储数据报文及其对应的标识信息对应存储到,最后一个存储状态不为空的数据块之后。
85.在一个可选实施例中,存储模块35,具体用于:
86.确定所述数据区的起始位置对应数据块的存储空间是否可存储所述待存储数据报文,所述数据区为环形存储结构,所述起始位置为环形存储结构中当前指针所在的位置;
87.若起始位置对应数据块可存储所述待存储数据报文,将所述待存储数据报文及其对应的标识信息对应存储到所述起始位置对应数据块中。
88.在一个可选实施例中,存储模块35,具体还用于:
89.若起始位置对应数据块不可存储所述待存储数据报文,将在起始位置之后第一个存储数据报文所在数据块的标识信息,确定为目标标识信息;
90.删除所述数据区中所述目标标识信息所在数据块内的所有数据,并将所述目标标识信息所在数据块的存储状态设置为空;
91.计算所述起始位置对应的数据块和起始位置之后第一个数据块的存储空间和值;
92.确定所述存储空间和值是否可存储所述待存储数据报文;
93.若是,则将所述待存储数据报文及其对应的标识信息对应存储到,所述起始位置对应的数据块和起始位置之后第一个数据块中。
94.在一个可选实施例中,删除模块34,还用于删除索引区中所述目标标识信息及其对应的数据块位置信息;
95.存储模块35,还用于将所述待存储数据报文的标识信息和其存储的数据块位置信息对应存储到索引区中。
96.在一个可选实施例中,获取模块31,还用于:
97.接收数据查询请求,所述数据查询请求中包括待查询标识信息;
98.从所索引区中获取与所述待查询标识信息对应的数据块位置信息;
99.从获取的数据块位置信息中查询与所述待查询标识信息对应的数据报文。
100.关于数据报文的存储装置的具体限定可以参见上文中对于数据报文的存储方法的限定,在此不再赘述。上述设备中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
101.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的数据报文的存储装置通过网络连接通信。该计算机程序被处理器执行时以实现一种数据报文的存储方法。
102.在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
103.获取待存储数据报文对应的标识信息;
104.判断数据区中是否存在可存储所述待存储数据报文的数据块;所述数据区中包括多个数据块,每个数据块用于存储属于同一个标识信息对应的数据报文;
105.若不存在可存储所述待存储数据报文的数据块,则将在所述数据区中起始位置存储的数据报文对应的标识信息,确定为目标标识信息;
106.删除所述数据区中所述目标标识信息所在数据块内的所有数据,并将所述目标标识信息所在数据块的存储状态设置为空;
107.将所述待存储数据报文及其对应的标识信息对应存储到存储状态为空的数据块中。
108.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
109.获取待存储数据报文对应的标识信息;
110.判断数据区中是否存在可存储所述待存储数据报文的数据块;所述数据区中包括多个数据块,每个数据块用于存储属于同一个标识信息对应的数据报文;
111.若不存在可存储所述待存储数据报文的数据块,则将在所述数据区中起始位置存储的数据报文对应的标识信息,确定为目标标识信息;
112.删除所述数据区中所述目标标识信息所在数据块内的所有数据,并将所述目标标识信息所在数据块的存储状态设置为空;
113.将所述待存储数据报文及其对应的标识信息对应存储到存储状态为空的数据块中。
114.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
115.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
116.以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1