CN113609100B - 数据存储方法、数据查询方法、装置及电子设备 - Google Patents
数据存储方法、数据查询方法、装置及电子设备 Download PDFInfo
- Publication number
- CN113609100B CN113609100B CN202110883144.6A CN202110883144A CN113609100B CN 113609100 B CN113609100 B CN 113609100B CN 202110883144 A CN202110883144 A CN 202110883144A CN 113609100 B CN113609100 B CN 113609100B
- Authority
- CN
- China
- Prior art keywords
- data
- query
- graph
- stored
- database
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000013500 data storage Methods 0.000 title abstract description 26
- 238000013145 classification model Methods 0.000 claims description 16
- 238000012549 training Methods 0.000 claims description 9
- 239000004973 liquid crystal related substance Substances 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000011148 porous material Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种数据存储方法、数据查询方法、装置及电子设备,涉及数据存储、图数据存储技术领域。具体实现方案为:通过确定待存储数据的数据类型;如果待存储数据属于图查询类数据,则将待存储数据存储至ES数据库以及图数据库;如果待存储数据属于非图查询类数据,则将待存储数据存储至ES数据库。即当待存储数据属于图查询类数据,则将待存储数据存储至ES数据库的同时存储至图数据库,如果不属于图查询类数据,则将待存储数据仅存储至ES数据库,从而后续相关查询涉及该待查询数据时,能够根据该相关查询确定查询图数据库或者是ES图数据,快速查询到该待查询数据,进而能够同时利用图数据存储与ES数据存储的优势。
Description
技术领域
本公开涉及大数据技术领域,尤其涉及数据存储、图数据存储技术领域。
背景技术
随着互联网技术,尤其是移动互联网技术的发展,产生了大量的数据资源,如何实现该数据资源的存储及快速查询,以供人工智能、大数据等下游任务的应用,成为了一个问题。
发明内容
本公开提供了一种数据存储方法、数据查询方法、装置及电子设备。
根据本公开的第一方面,提供了一种数据存储方法,包括:
获取待存储数据;
确定待存储数据的数据类型,所述数据类型包括图查询类数据、非图查询类型数据,所述图查询类数据为与其他数据存在关联关系的数据;
如果所述待存储数据属于图查询类数据,则将所述待存储数据存储至ES数据库以及图数据库;如果所述待存储数据属于非图查询类数据,则将所述待存储数据存储至ES数据库。
根据本公开的第二方面,提供了一种数据查询方法,包括:
基于接收到的查询请求判断完成查询请求是否需要查询图数据库;
如果需要查询图数据库,则进行图数据库查询;如果不需要查询图数据库,则进行ES数据库查询,图数据库与ES数据库为根据第一方面构建的数据库。
根据本公开的第三方面,提供了一种数据存储装置,包括:
获取模块,用于获取待存储数据;
确定模块,用于确定待存储数据的数据类型,所述数据类型包括图查询类数据、非图查询类型数据,所述图查询类数据为与其他数据存在关联关系的数据;
存储模块,用于如果待存储数据属于图查询类数据,则将待存储数据存储至ES数据库以及图数据库;如果待存储数据属于非图查询类数据,则将待存储数据存储至ES数据库。
根据本公开的第四方面,提供了一种数据查询装置,包括:
第二判断模块,用于基于接收到的查询请求判断是否需要查询图数据库;
查询模块,用于如果需要查询图数据库,则进行图数据库查询;如果不需要查询图数据库,则进行ES数据库查询,图数据库与ES数据库为根据第一方面构建的数据库。
根据本公开的第五方面,提供了一种电子设备,该电子设备包括:
至少一个处理器;以及
与上述至少一个处理器通信连接的存储器;其中,
存储器存储有可被上述至少一个处理器执行的指令,指令被上述至少一个处理器执行,以使上述至少一个处理器能够执行上述方法。
根据本公开的第六方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,该计算机指令用于使计算机执行上述方法。
根据本公开的第七方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现上述方法。
本公开提供的技术方案带来的有益效果是:
本公开实施例提供的方案,与现有技术对待存储数据仅进行ES存储或图存储相比。本公开通过确定待存储数据的数据类型;如果待存储数据属于图查询类数据,则将待存储数据存储至ES数据库以及图数据库;如果待存储数据属于非图查询类数据,则将待存储数据存储至ES数据库。即当待存储数据属于图查询类数据,则将待存储数据存储至ES数据库的同时存储至图数据库,如果不属于图查询类数据,则将待存储数据仅存储至ES数据库,从而后续相关查询涉及该待查询数据时,能够根据该相关查询确定查询图数据库或者是ES图数据,快速查询到该待查询数据,进而能够同时利用图数据存储与ES数据存储的优势。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开提供的数据存储方法流程图;
图2是根据本公开提供的数据查询方法流程图;
图3是根据本公开提供的数据ES存储示例图;
图4是根据本公开提供的数据图存储示例图;
图5本公开提供的数据存储装置的结构示意图;
图6本公开提供的数据查询装置的结构示意图;
图7是用来实现本公开实施例的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
实施例一
图1示出了本公开实施例提供的一种数据存储方法,如图1所示,该方法包括:
步骤S101,获取待存储数据;
步骤S102,确定待存储数据的数据类型,所述数据类型包括图查询类数据、非图查询类型数据,所述图查询类数据为与其他数据存在关联关系的数据;
步骤S103,如果待存储数据属于图查询类数据,则将待存储数据存储至ES数据库以及图数据库;如果待存储数据属于非图查询类数据,则将待存储数据存储至ES数据库。
具体地,当获取待存储数据时,可以确定该待存储数据的类型,其中,如果待存储数据属于图查询类数据,则将待存储数据存储至ES数据库以及图数据库;如果待存储数据属于非图查询类数据,则将待存储数据存储至ES数据库。其中,ES数据库即ElasticSearch搜索引擎采用的数据库,Elasticsearch是一个分布式、高扩展、高实时的搜索与数据分析引擎,能很方便的使大量数据具有搜索、分析和探索的能力。其中,图数据库是NoSQL数据库的一种类型,它应用图形理论存储实体之间的关系信息,图数据库是一种非关系型数据库,它应用图形理论存储实体之间的关系信息,最常见例子就是社会网络中人与人之间的关系。
具体地,步骤S101与步骤S102不表示两者的先后顺序,本申请也可以是,当获取待存储数据时,直接将待存储数据存储至ES数据库,然后再判断该待存储数据的类型,如果属于图查询类数据,则将待存储数据存储图数据库,如果不属于图查询类数据,则仅将待存储数据存储至ES数据库。此外,本申请也可以是,先判断待存储数据的数据类型,如果属于图查询类数据类型,则将该待存储数据同时存储至图数据库和ES数据库,如果不属于图查询类数据,则将该待存储数据仅存储至ES数据库。
其中,图查询类数据为与其他数据(包括已经存储的数据或者后续可能存储的数据)存在关联关系的数据,具体地,可以是符合图数据结构的数据,其中,图数据结构主要是以节点和关系(边)来体现,也可处理键值对;图具有如下特征:
包含节点和边;节点上有属性(键值对);边有名字和方向,并总是有一个开始节点和一个结束节点;边也可以有属性。说得正式一些,图可以说是顶点和边的集合,或者说更简单一点儿,图就是一些节点和关联这些节点的联系(relationship)的集合。图将实体表现为节点,实体与其他实体连接的方式表现为联系。通常,在图计算中,基本的数据结构表达就是:G=(V,E)
V=vertex(节点)
E=edge(边)。
该图查询类数据存储至图数据库后,后续的数据查询如涉及该图查询类数据及其关联数据,从而能够从存储该图查询类数据及其关联数据的图数据库中,通过图查询的方式查询到该图查询类数据及其关联数据,而通过ES查询的方式,需要进行回表,通过多次查询才能查询到该图查询类数据及其关联数据。
示例性地,对于获取的待存储数据,首先,所有的待存储数据都会在ES数据库内保存一份,作为主要数据,因为绝大多数的场景都是根据倒排索引在ES数据库内的查询。
其次,可以根据业务场景来判断,相关待存储数据,和其他数据是否构成关联关系,如果不够成关联关系,则不会保存到图数据库(例如:歇后语“八仙过海----各显神通”这种句子类型,在某查询场景下都是根据标签tag进行查询的,而且tag作为每个句子实体数据的属性,通过倒排索引的查询已完全满足,因此可以不存放到图存储数据库内),值得注意的时,不同的待存储数据,根据查询场景的不同,该待存储数据是否属于图查询类数据可能不同,如在查询查询场景甲情形下,句子A属于图查询类数据,但是,在查询查询场景乙的情形下,句子A可能不属于图查询类数据;
而对于汉字,例如:“口”和“日”,这种客观意义上不存在关联关系,但是主观意义上存在关联关系,用户会查询“口加一笔是什么字”,这个时候如果仅存在es内的话就需要进行回表查询了,先通过查到“口”的信息,从属性内找到“日”的实体i d,再次回表查询“日”的全部属性;从效率上看,“口加一笔是什么字”这一数据查询,通过图查询的方式效率更高,在汉字查询这种情景下,待存储数据“口”和“日”属于图查询类数据,因此需要保存在图数据库内。而对于待存储数据“静夜思”“床头明月光”、“李白”、“唐朝”,用户可能会查询“静夜思的作者是那个朝代的”,“静夜思”、“李白”、“唐朝”三者存在一定的关联关系,“静夜思”、“李白”、“唐朝”属于图查询类数据,因此需要进行图存储;用户也可能会查询“李白的静夜思包括那些诗句”,因此,“静夜思”“床头明月光”、“李白”三者存在一定的关联关系,因此,“床头明月光”也属于图查询类数据,需要进行图存储。
本公开实施例提供的方案,与现有技术对待存储数据仅进行ES存储或图存储相比。本公开通过确定待存储数据的数据类型;如果待存储数据属于图查询类数据,则将待存储数据存储至ES数据库以及图数据库;如果待存储数据属于非图查询类数据,则将待存储数据存储至ES数据库。即当待存储数据属于图查询类数据,则将待存储数据存储至ES数据库的同时存储至图数据库,如果不属于图查询类数据,则将待存储数据仅存储至ES数据库,从而后续相关查询涉及该待查询数据时,能够根据该相关查询确定查询图数据库或者是ES图数据,快速查询到该待查询数据,进而能够同时利用图数据存储与ES数据存储的优势。
本公开实施例提供了一种可能的实现方式,其中,确定待存储数据的数据类型,包括:
基于预训练的文本分类模型确定待存储数据的数据类型,数据类型包括图查询类数据和非图查询类数据,预训练的文本分类模型基于包含图查询类数据和非图查询类数据的训练样本训练得到。
具体地,可以通过多个样本数据训练文本分类模型,其中,该多个样本数据包括图查询类数据和非图查询类数据,即可以训练一个二分类文本分类模型。
具体地,将待存储数据输入至预训练好的文本分类模型,可以得到待存储数据为图查询类数据和非图查询类数据的概率,从而确定待存储数据为图查询类数据还是非图查询类数据。
其中,该文本分类模型可以是基于word2vec、Bi-LSTM、Bi-LSTM+Attention、Transformer、ELMo、BERT中任一项的模型。
对于本申请实施例,解决了如何确定待存储数据的数据类型问题。
本公开实施例提供了一种可能的实现方式,其中,待存储数据为ES格式数据,该方法还包括:
将待存储数据由ES格式数据转化为图存储格式;
将转化为图存储格式的待存储数据存储至图数据库。
具体地,ES数据库和图数据库对存储的数据的格式要求不一样,在存储时,需要将ES格式数据转换为图存储格式。
以hugegraph数据库为例,是不支持ES数据这种数据类型的,因此在存储的时候需要转换成字符串的形式进行存储,即将ES的数据格式转换为图数据格式。
具体地,如果图数据库中与待存储数据包含相同实体,则基于相同实体将待存储数据更新至图数据库中;如果图数据库中与待存储数据未包含相同实体,则基于待存储数据在图数据库中构建新的图数据关系。其中,示例性地,如果有相同实体,可以:1.先清理边的关系,把这个实体的边关系全部清除;2.更新实体本身的数据;3.重新维护新的边关系。如果没有相同实体,可以:1.新增实体本身的数据;2.维护边关系。
对于本申请实施,解决了如何将待存储数据存储至图数据库的问题。
实施例二
根据本公开的第二方面,提供了一种数据查询方法,如图2所示,包括:
步骤S201,基于接收到的查询请求判断完成查询请求是否需要查询图数据库;
步骤S202,如果需要查询图数据库,则进行图数据库查询;如果不需要查询图数据库,则进行ES数据库查询,图数据库与ES数据库为根据实施例一构建的数据库。
具体地,当接收到用户发起的查询请求时,判断完成查询请求是否需要查询图数据库;如果需要查询图数据库,则进行图数据库查询;如果不需要查询图数据库,则进行ES数据库查询,图数据库与ES数据库为根据实施例一构建的数据库。
其中,图数据库不支持倒排查询,仅能通过图的遍历查询数据,在数据量过大的时候明显降低查询性能;而且需要学习专门的语言才可以使用,基于图数据库的生态来说,对开发者来说学习成本和使用成本过大。
ES存储,虽然ES支持倒排查询,但是因为数据之间相互独立,在某些需要关系的查询时需要回表进行二次、甚至多次查询,对服务的上游调用方来说,很容易造成因为查询过长导致请求失败。
本申请实施例,基于实施例一构建的图数据库与ES数据库,当完成查询请求的任务不需要查询图数据库时,查询ES数据库完成查询请求对应的任务,当完成查询请求的任务需要查询图数据库时,查询图数据库完成对应的任务,从而兼顾了ES数据库与图数据库的优势,提升了数据的查询效率。
本申请实施例提供了一种可能的实现方式,其中,其中,基于接收到的查询请求判断是否需要查询图数据库,包括:
确定通过查询ES数据库完成查询请求是否需要进行回表查询;
如果需要进行回表查询,则确定需要查询图数据库。
其中,回表查询,即先定位主键值,再定位行记录。
示例性地,“静夜思”“李白”“唐代”的ES存储方式和图存储方式分别如图3、图4所示,对于查询请求:静夜思的作者是哪个朝代的。根据ES数据的存储:“静夜思”这首诗的数据内,保存作者、及作者的id数据,不会保存全部的作者信息,而查询的目的是想查找到作者的朝代信息,通过ES查询的方式,单纯的一次查询是查找不到的,所以需要回表,即先通过“静夜思”取得作者的id信息,然后通过回表,根据作者的ID信息,从作者数据中获得相应的朝代信息。
具体地,先确定通过查询ES数据库完成查询请求是否需要进行回表查询,如果需要进行回表查询,则确定需要查询图数据库。具体地,还可以设置一定的阈值,如果回表的次数超过预定的阈值时,确定需要查询图数据库,从而只有回表超出一定阈值后,才查询图数据库。
示例性地,对于查询请求:静夜思的作者是哪个朝代的。根据数据的存储:“静夜思”这首诗的数据内只会保存作者数据的id,不会保存全部的作者信息,而查询的目的是想拿到作者的朝代信息,通过ES查询的方式,单纯的一次查询是拿不到的,所以需要回表。根据图查询的方式,查询过程可以包括:1.查找到静夜思的实体数据,从中招到作者的id;2.根据作者的id通过边关系查询作者的详细信息,查找到朝代信息,即根据图查询的方式,不需要进行回表查询,能根据边关系(李白与唐朝的边关系)直接得到静夜思的作者是哪个朝代。
对于本申请实施例,解决了如何确定查询ES数据库还是图数据库的问题。
本申请实施例,提供了一种可能的实施方式,其中,查询请求为ES查询请求语句,如果通过查询ES数据库完成查询请求需要进行回表查询,该方法还包括:
将查询请求由ES查询语句转化为图查询语句;
基于转化为图查询语句的查询请求进行图数据库查询。
具体地,ES查询语句和图查询语句不同,需要将ES查询语句转化为图查询语句进行图查询。
示例性地,以“静夜思的作者是哪个朝代的”为例。
如果是从es查询,查询过程包括:1.根据name=静夜思倒排索引找到poem实体从中找到author、authorSid;2.根据authorSid再次回表查询,找到author实体,从中获取dynasty属性,也即是说需要进行回表查询。
如果是图数据库查询,根据保存数据的时候建立的边关系一次性查询。由上,在确定进行图数据库查询时,需要将相应的ES查询语句转为图查询语句,通过图查询的方式,查询效率极大提升。
对于本申请实施例,解决了根据ES查询语句,如何进行图查询的问题。
实施例三
本公开实施例提供了一种数据存储装置,如图5所示,该装置50包括:
获取模块501,用于获取待存储数据;
确定模块502,用于确定待存储数据的数据类型,所述数据类型包括图查询类数据、非图查询类型数据,所述图查询类数据为与其他数据存在关联关系的数据;
存储模块503,用于如果待存储数据属于图查询类数据,则将待存储数据存储至ES数据库以及图数据库。
本申请实施例提供了一种可能的实现方式,其中,确定模块具体用于基于预训练的文本分类模型确定待存储数据是否属于图查询类数据,数据类型包括图查询类数据和非图查询类数据,预训练的文本分类模型基于包含图查询类数据和非图查询类数据的训练样本训练得到。
本申请实施例提供了一种可能的实现方式,其中,待存储数据为ES格式数据,存储模块包括:
转化单元,用于将待存储数据由ES格式数据转化为图存储格式;
存储单元,用于将转化为图存储格式的待存储数据存储至图数据库.
对于本申请实施例,其实现的有益效果同上述方法实施例,此处不再赘述。
实施例四
本公开实施例提供了一种数据查询装置,该装置60包括:
接收模块601,用于接收查询请求;
第二判断模块602,用于基于接收到的查询请求判断是否需要查询图数据库;
查询模块603,用于如果需要查询图数据库,则进行图数据库查询;如果不需要查询图数据库,则进行ES数据库查询,图数据库与ES数据库为根据实施例一构建的数据库。
本申请实施例提供了一种可能的实现方式,其中,第二判断模块包括:
第一确定单元,用于确定查询请求是否需要进行回表查询;
第二确定单元,用于如果需要进行回表查询,则确定需要查询图数据库。
本申请实施例提供了一种可能的实现方式,其中,查询请求为ES查询请求语句,该装置还包括:
转化模块,用于如果需要进行回表查询,将查询请求由ES查询语句转化为图查询语句;
查询模块,具体用于基于转化为图查询语句的查询请求进行图数据库查询。
对于本申请实施例,其实现的有益效果同上述方法实施例,此处不再赘述。
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如本公开实施例提供的方法。
该电子设备与现有技术对待存储数据仅进行ES存储或图存储相比。本公开通过确定待存储数据的数据类型;如果待存储数据属于图查询类数据,则将待存储数据存储至ES数据库以及图数据库;如果待存储数据属于非图查询类数据,则将待存储数据存储至ES数据库。即当待存储数据属于图查询类数据,则将待存储数据存储至ES数据库的同时存储至图数据库,如果不属于图查询类数据,则将待存储数据仅存储至ES数据库,从而后续相关查询涉及该待查询数据时,能够根据该相关查询确定查询图数据库或者是ES图数据,快速查询到该待查询数据,进而能够同时利用图数据存储与ES数据存储的优势。
该可读存储介质为存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行如本公开实施例提供的方法。
该可读存储介质与现有技术对待存储数据仅进行ES存储或图存储相比。本公开通过确定待存储数据的数据类型;如果待存储数据属于图查询类数据,则将待存储数据存储至ES数据库以及图数据库;如果待存储数据属于非图查询类数据,则将待存储数据存储至ES数据库。即当待存储数据属于图查询类数据,则将待存储数据存储至ES数据库的同时存储至图数据库,如果不属于图查询类数据,则将待存储数据仅存储至ES数据库,从而后续相关查询涉及该待查询数据时,能够根据该相关查询确定查询图数据库或者是ES图数据,快速查询到该待查询数据,进而能够同时利用图数据存储与ES数据存储的优势。
该计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现如本公开的第一方面中所示的方法。
该计算机程序产品与现有技术对待存储数据仅进行ES存储或图存储相比。本公开通过确定待存储数据的数据类型;如果待存储数据属于图查询类数据,则将待存储数据存储至ES数据库以及图数据库;如果待存储数据属于非图查询类数据,则将待存储数据存储至ES数据库。即当待存储数据属于图查询类数据,则将待存储数据存储至ES数据库的同时存储至图数据库,如果不属于图查询类数据,则将待存储数据仅存储至ES数据库,从而后续相关查询涉及该待查询数据时,能够根据该相关查询确定查询图数据库或者是ES图数据,快速查询到该待查询数据,进而能够同时利用图数据存储与ES数据存储的优势。
图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、ROM702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口707也连接至总线704。
设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如图像拍摄方法或图像分类模型训练方法。例如,在一些实施例中,图像拍摄方法或图像分类模型训练方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的图像拍摄方法或图像分类模型训练方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行图像拍摄方法或图像分类模型训练方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (10)
1.一种数据查询方法,包括:
确定通过查询ES数据库完成查询请求是否需要进行回表查询;
如果需要进行回表查询,则确定需要查询图数据库;
如果需要查询图数据库,则进行图数据库查询;如果不需要查询图数据库,则进行ES数据库查询,所述图数据库与所述ES数据库为根据以下方式构建的:
获取待存储数据;
确定待存储数据的数据类型,所述数据类型包括图查询类数据、非图查询类型数据,所述图查询类数据为与其他数据存在关联关系的数据;
如果所述待存储数据属于图查询类数据,则将所述待存储数据存储至ES数据库以及图数据库;如果所述待存储数据属于非图查询类数据,则将所述待存储数据存储至ES数据库。
2.根据权利要求1所述的方法,其中,所述确定待存储数据的数据类型,包括:
基于预训练的文本分类模型确定所述待存储数据的数据类型,所述数据类型包括图查询类数据和非图查询类数据,所述预训练的文本分类模型基于包含图查询类数据和非图查询类数据的训练样本训练得到。
3.根据权利要求1或2所述的方法,其中,所述待存储数据为ES格式数据,该方法还包括:
将所述待存储数据由ES格式数据转化为图存储格式;
将转化为图存储格式的待存储数据存储至图数据库。
4.根据权利要求1所述的方法,其中,所述查询请求为ES查询请求语句,如果通过查询ES数据库完成所述查询请求需要进行回表查询,该方法还包括:
将所述查询请求由ES查询语句转化为图查询语句;
基于转化为图查询语句的查询请求进行图数据库查询。
5.一种数据查询装置,包括:
判断模块,用于确定通过查询ES数据库完成查询请求是否需要进行回表查询;如果需要进行回表查询,则确定需要查询图数据库;
查询模块,用于如果需要查询图数据库,则进行图数据库查询;如果不需要查询图数据库,则进行ES数据库查询,所述图数据库与所述ES数据库为根据以下装置构建的:
获取模块,用于获取待存储数据;
确定模块,用于确定待存储数据的数据类型,所述数据类型包括图查询类数据、非图查询类型数据,所述图查询类数据为与其他数据存在关联关系的数据;
存储模块,用于如果所述待存储数据属于图查询类数据,则将所述待存储数据存储至ES数据库以及图数据库;如果所述待存储数据属于非图查询类数据,则将所述待存储数据存储至ES数据库。
6.根据权利要求5所述的装置,其中,所述确定模块具体用于基于预训练的文本分类模型确定所述待存储数据的数据类型,所述数据类型包括图查询类数据和非图查询类数据,所述预训练的文本分类模型基于包含图查询类数据和非图查询类数据的训练样本训练得到。
7.根据权利要求5或6所述的装置,所述待存储数据为ES格式数据,所述存储模块包括:
转化单元,用于将所述待存储数据由ES格式数据转化为图存储格式;
存储单元,用于将转化为图存储格式的待存储数据存储至图数据库。
8.根据权利要求5所述的装置,其中,所述查询请求为ES查询请求语句,该装置还包括:
转化模块,用于如果需要进行回表查询,将所述查询请求由ES查询语句转化为图查询语句;
所述查询模块,具体用于基于转化为图查询语句的查询请求进行图数据库查询。
9.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-4中任一项所述的方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110883144.6A CN113609100B (zh) | 2021-08-02 | 2021-08-02 | 数据存储方法、数据查询方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110883144.6A CN113609100B (zh) | 2021-08-02 | 2021-08-02 | 数据存储方法、数据查询方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113609100A CN113609100A (zh) | 2021-11-05 |
CN113609100B true CN113609100B (zh) | 2023-10-27 |
Family
ID=78339098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110883144.6A Active CN113609100B (zh) | 2021-08-02 | 2021-08-02 | 数据存储方法、数据查询方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113609100B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114238268B (zh) * | 2021-11-29 | 2022-09-30 | 武汉达梦数据技术有限公司 | 一种数据存储方法和装置 |
CN116432238B (zh) * | 2023-06-05 | 2023-09-08 | 全中半导体(深圳)有限公司 | 数据存储方法、装置以及存储芯片 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106874422A (zh) * | 2017-01-25 | 2017-06-20 | 东南大学 | 一种面向关系型数据库的图查询方法 |
WO2018064242A1 (en) * | 2016-09-30 | 2018-04-05 | Microsoft Technology Licensing, Llc | Query-time analytics on graph queries spanning subgraphs |
CN110609904A (zh) * | 2019-09-11 | 2019-12-24 | 深圳众赢维融科技有限公司 | 图数据库数据处理方法、装置、电子设备及存储介质 |
CN110737659A (zh) * | 2019-09-06 | 2020-01-31 | 平安科技(深圳)有限公司 | 图数据存储和查询方法、装置及计算机可读存储介质 |
CN110889000A (zh) * | 2018-09-10 | 2020-03-17 | 百度在线网络技术(北京)有限公司 | 用于输出信息的方法和装置 |
CN112416962A (zh) * | 2020-11-06 | 2021-02-26 | 北京偶数科技有限公司 | 数据查询方法、装置以及存储介质 |
CN112445889A (zh) * | 2020-11-30 | 2021-03-05 | 杭州海康威视数字技术股份有限公司 | 存储数据、检索数据的方法及相关设备 |
CN113190720A (zh) * | 2021-05-17 | 2021-07-30 | 深圳计算科学研究院 | 一种基于图压缩的图数据库构建方法、装置及相关组件 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8977646B2 (en) * | 2012-06-14 | 2015-03-10 | Ca, Inc. | Leveraging graph databases in a federated database system |
US9838422B2 (en) * | 2015-09-15 | 2017-12-05 | International Business Machines Corporation | Detecting denial-of-service attacks on graph databases |
US11281721B2 (en) * | 2019-11-22 | 2022-03-22 | International Business Machines Corporation | Augmenting relational database engines with graph query capability |
-
2021
- 2021-08-02 CN CN202110883144.6A patent/CN113609100B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018064242A1 (en) * | 2016-09-30 | 2018-04-05 | Microsoft Technology Licensing, Llc | Query-time analytics on graph queries spanning subgraphs |
CN106874422A (zh) * | 2017-01-25 | 2017-06-20 | 东南大学 | 一种面向关系型数据库的图查询方法 |
CN110889000A (zh) * | 2018-09-10 | 2020-03-17 | 百度在线网络技术(北京)有限公司 | 用于输出信息的方法和装置 |
CN110737659A (zh) * | 2019-09-06 | 2020-01-31 | 平安科技(深圳)有限公司 | 图数据存储和查询方法、装置及计算机可读存储介质 |
CN110609904A (zh) * | 2019-09-11 | 2019-12-24 | 深圳众赢维融科技有限公司 | 图数据库数据处理方法、装置、电子设备及存储介质 |
CN112416962A (zh) * | 2020-11-06 | 2021-02-26 | 北京偶数科技有限公司 | 数据查询方法、装置以及存储介质 |
CN112445889A (zh) * | 2020-11-30 | 2021-03-05 | 杭州海康威视数字技术股份有限公司 | 存储数据、检索数据的方法及相关设备 |
CN113190720A (zh) * | 2021-05-17 | 2021-07-30 | 深圳计算科学研究院 | 一种基于图压缩的图数据库构建方法、装置及相关组件 |
Non-Patent Citations (1)
Title |
---|
基于路径索引的密集邻域图数据查询方法研究;段慧芳;汤小春;;计算机应用研究(12);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113609100A (zh) | 2021-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113609100B (zh) | 数据存储方法、数据查询方法、装置及电子设备 | |
CN111325022B (zh) | 识别层级地址的方法和装置 | |
CN113836314B (zh) | 知识图谱构建方法、装置、设备以及存储介质 | |
CN111522927A (zh) | 基于知识图谱的实体查询方法和装置 | |
CN113312539B (zh) | 一种检索服务的提供方法、装置、设备和介质 | |
CN113220710A (zh) | 数据查询方法、装置、电子设备以及存储介质 | |
CN113722600A (zh) | 应用于大数据的数据查询方法、装置、设备及产品 | |
CN116955856A (zh) | 信息展示方法、装置、电子设备以及存储介质 | |
CN116185389A (zh) | 一种代码生成方法、装置、电子设备及介质 | |
CN113239054B (zh) | 信息生成方法及相关装置 | |
CN114969444A (zh) | 数据的处理方法、装置、电子设备和存储介质 | |
CN115248890A (zh) | 用户兴趣画像的生成方法、装置、电子设备以及存储介质 | |
CN115563183B (zh) | 查询方法、装置及程序产品 | |
CN113971216B (zh) | 数据处理方法、装置、电子设备和存储器 | |
CN116628004B (zh) | 信息查询方法、装置、电子设备及存储介质 | |
CN113792117B (zh) | 数据更新脉络的确定方法、装置、电子设备及存储介质 | |
CN111159218B (zh) | 数据处理方法、装置及可读存储介质 | |
US20220237474A1 (en) | Method and apparatus for semanticization, electronic device and readable storage medium | |
CN114547477A (zh) | 一种数据处理方法、装置、电子设备和存储介质 | |
CN118012897A (zh) | 一种异构数据库语法转换方法、装置、设备及存储介质 | |
CN115878661A (zh) | 一种查询方法、装置、电子设备及存储介质 | |
CN116861033A (zh) | 时变图的存储方法、装置、电子设备和存储介质 | |
CN117806965A (zh) | 一种数据库测试方法、装置、电子设备和存储介质 | |
CN115828915A (zh) | 实体消歧方法、装置、电子设备和存储介质 | |
CN115495368A (zh) | 数据测试方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |