本申请涉及网络资产数据存储,尤其是涉及一种网络资产数据存储和查询方法、装置及存储介质。
背景技术:
1、在网络资产数据存储和查询领域,存在的一些现有的方法,比如:
2、关系型数据库:传统的关系型数据库采用基于行和列的二维表存储结构,其中每行表示一个记录,每列表示一个字段。关系型数据库使用sql作为查询语言,支持关系运算、聚合函数等多种操作。相对于其他数据库,关系型数据库在数据一致性、数据完整性、事务处理等方面具有很强的优势。
3、非关系型数据库:非关系型数据库通常采用键-值、列族、文档等不同的数据模型来存储数据。非关系型数据库在横向扩展和分布式架构方面具有很强的优势,因此在大数据处理、互联网应用、实时数据处理等领域得到广泛应用。
4、基于索引的存储:基于索引的存储可以通过对文本数据建立倒排索引等方式提高查询效率。在基于索引的存储中,数据被分为一个个文档,每个文档都有自己的词汇表和倒排索引。用户可以通过查询词汇表和倒排索引来快速地查找文档。这种技术通常用于全文搜索、数据挖掘等场景。
5、虽然存在许多针对网络资产的查询和存储的数据库方案,但是现有的处理方式都存在一定的缺陷。针对于关系型数据库,关系型数据库在数据结构和查询方式上具有一定的局限性,无法直接表达和查询复杂的关系网络,也无法高效地处理大量的网络资产图数据。同时,在大规模分布式环境下,关系型数据库的性能和可扩展性也存在瓶颈;而对于一般的非关系型数据库,虽然非关系型数据库在分布式存储和横向扩展方面具有很强的优势,但是对于复杂的关系网络的存储和查询能力较弱,也不太适合网络资产图数据处理;而基于索引的存储可以通过建立倒排索引等方式提高查询效率,但是对于大规模的图数据处理还是存在一定的局限性。在复杂的网络资产存储和查询场景下,基于索引的存储的查询速度和效率都比较低。
技术实现思路
1、本申请提供了一种网络资产数据存储和查询方法、装置及存储介质,能够满足大量复杂的网络资产数据的存储和快捷的查询。
2、第一方面,本申请提供一种网络资产数据存储方法,采用如下的技术方案:
3、一种网络资产数据存储方法,包括以下步骤:
4、将包括若干个第二文档的第一文档存储至非关系型数据库中;所述第二文档包括时间数据及与所述时间数据对应的网络资产数据,所述时间数据为所述网络资产数据生成和/或修改的时间。
5、进一步地,上述非关系型数据库为图数据库。
6、进一步地,上述网络资产数据包括组织数据、域名数据、子域名数据、ip数据、端口数据和组件数据以及不同数据之间的关系;所述组织数据、域名数据、子域名数据、ip数据、端口数据和组件数据在所述图数据库中存储为节点,不同数据之间的关系在所述图数据库中存储为边向量,所述节点之间通过所述边向量连接。
7、进一步地,上述节点和所述边向量还包括属性数据,所述属性数据为所述网络资产数据的属性。
8、进一步地,上述方法还包括计算所述网络资产数据的热度值,将所述网络资产数据中热度值大于预设的热度阈值的资产热数据,对所述资产热数据优先进行预处理并缓存。
9、进一步地,上述方法还包括将所述时间数据及与所述时间数据对应的网络资产数据划分为若干个数据组,并将若干个所述数据组分别存储于不同的节点内。
10、第二方面,本申请还提供了一种网络资产数据查询方法,应用上述的网络资产数据存储方法,包括以下步骤:
11、根据属性数据建立查询索引;
12、根据所述查询索引建立倒排索引表,以使搜索引擎并行查询存储于若干个节点内的若干个数据组。
13、第三方面,本申请还提供了一种网络资产数据存储和查询装置,包括:
14、存储模块,用于将包括若干个第二文档的第一文档存储至非关系型数据库中;
15、查询模块,用于通过搜索引擎并行查询存储于若干个节点内的若干个数据组。
16、第四方面,本申请提供一种计算机设备,采用如下的技术方案:
17、一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的方法。
18、第五方面,本申请提供一种计算机可读存储介质,采用如下的技术方案:
19、一种计算机可读存储介质,存储有能够被处理器加载并执行如第一方面中任一种方法的计算机程序。
20、综上所述,本申请包括以下至少一种有益技术效果:
21、本申请提供的一种网络资产数据存储和查询方法、装置及存储介质,实现了自动化的网络资产管理和监控,提高管理效率和精度,具有良好的横向扩展性和分布式处理能力,可以满足大规模数据的存储和处理需求,提高数据存储和查询的速度和可扩展性。
1.一种网络资产数据存储方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的网络资产数据存储方法,其特征在于:所述非关系型数据库为图数据库。
3.根据权利要求2所述的网络资产数据存储方法,其特征在于:所述网络资产数据包括组织数据、域名数据、子域名数据、ip数据、端口数据和组件数据以及不同数据之间的关系;所述组织数据、域名数据、子域名数据、ip数据、端口数据和组件数据在所述图数据库中存储为节点,不同数据之间的关系在所述图数据库中存储为边向量,所述节点之间通过所述边向量连接。
4.根据权利要求3所述的网络资产数据存储方法,其特征在于:所述节点和所述边向量还包括属性数据,所述属性数据为所述网络资产数据的属性。
5.根据权利要求1或3所述的网络资产数据存储方法,其特征在于:还包括计算所述网络资产数据的热度值,将所述网络资产数据中热度值大于预设的热度阈值的资产热数据,对所述资产热数据优先进行预处理并缓存。
6.根据权利要求5所述的网络资产数据存储方法,其特征在于,还包括将所述时间数据及与所述时间数据对应的网络资产数据划分为若干个数据组,并将若干个所述数据组分别存储于不同的节点内。
7.一种网络资产数据查询方法,应用如权利要求1-6中任一项所述的网络资产数据存储方法,其特征在于,包括以下步骤:
8.一种网络资产数据存储和查询装置,其特征在于,包括:
9.一种计算设备,其特征在于:包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1到7任一项所述方法。
10.一种计算机可读存储介质,其特征在于:存储有能够被处理器加载并执行如权利要求1到7中任一项所述方法的计算机程序。