CN112784119A - 一种数据查询及同步优化方法及装置 - Google Patents
一种数据查询及同步优化方法及装置 Download PDFInfo
- Publication number
- CN112784119A CN112784119A CN202110051116.8A CN202110051116A CN112784119A CN 112784119 A CN112784119 A CN 112784119A CN 202110051116 A CN202110051116 A CN 202110051116A CN 112784119 A CN112784119 A CN 112784119A
- Authority
- CN
- China
- Prior art keywords
- graph
- target
- graph database
- query
- sub
- 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.)
- Granted
Links
Images
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/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种数据查询及同步优化方法及装置。所述方法包括:获取用户输入的查询语句;对所述查询语句进行解析,得到所述查询语句对应的解析结果;根据所述解析结果,确定与所述查询语句匹配的图数据库集群中的目标图数据库;将所述查询语句路由至所述目标图数据库,并从所述目标图数据库中查询得到所述查询语句匹配的目标虚拟子图;根据所述目标虚拟子图,查询得到与所述目标虚拟子图对应的目标子图数据;在接收到针对待写入虚拟子图的写入操作之后,根据多写机制,将所述待写入虚拟子图写入所述图数据库集群中的每个图数据库中。本申请实施例通过建立虚拟子图存入图数据库,提高了数据查询速度,节省了人工,保证了数据的实时有效性。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及一种数据查询及同步优化方法及装置。
背景技术
伴随着公司反欺诈业务的发展,图谱在其中扮演着越来越重要的角色,不仅要支持实时变量的结果输出,现计划增加部分离线复杂关系的计算,为决策提供更多可参考的特征数值。
由于图谱的计算速度受到数据量的限制,如果数据量过大可能导致图谱被查询崩溃导致无法访问的情况,就目前线上图谱服务器的配置,如果离线复杂关系的计算将图谱查询崩溃,线上的实时业务将受到影响,导致公司整条业务线瘫痪,造成的结果是十分严重的,因此,现有技术中考虑将生产的图谱服务器增加至两台,这样可以改善对目前仅有的一台图谱的强依赖性,并且横向扩展服务器的方案一旦确定,对以后建立图谱集群也有着无比重要的作用。
目前线上的图谱数据体系较大,经过分析,在现有的大量业务的逻辑查询中:可以将基础数据在一定程度上缩小范围,这样可以减小每次查询时服务器的io,一定程度上在内存中缓存数据,减少io与内存间交互,加快查询速度。这些查询不依赖实时数据,可以接受数据前一天预处理之后的结果。如在查询客户级的通讯录的相似度时,可以将关系路径范围缩小至客户的2级关系,时间范围缩小至近30天,并且当天新加入的关系可以不在计算结果范围内。
实时部分:将图谱数据应用于实时的计算关系并且为决策提供实时计算结果,业务系统通过将数据写入日志文件的方式,在业务系统端通过flume向kafka传递消息,kafka作为一个发布订阅消息系统,将消息传递至storm[一种流式计算框架],storm程序将日志进行逻辑处理,而后写入图谱中。
图谱作为数据存储,配置了两台服务器,组成了一个存储集群,数据写入通过storm双拓扑同时监听同一个发布者的消息,保证了图谱数据的同步。
现有技术方案在数据处理时使用了neo4j加载csv文件的方式,这样在使用时其一不能保证数据的及时性,因为文件的整理和导入需要时间,在业务进行的过程中,实时数据量是很大的,可能秒级的耽搁都会影响业务的判断;其二导入数据使用的文件是需要空间存储的,而且导入操作较为复杂,可能需要人为的成本。
发明内容
本申请提供一种数据查询及同步优化方法及装置,以解决现有技术中不能保证数据及时性,且导入数据使用的文件是需要空间存储的,而且导入操作较为复杂,可能需要人为的成本的问题。
为了解决上述问题,本申请实施例提供了一种数据查询及同步优化方法,包括:
获取用户输入的查询语句;
对所述查询语句进行解析,得到所述查询语句对应的解析结果;
根据所述解析结果,确定与所述查询语句匹配的图数据库集群中的目标图数据库;
将所述查询语句路由至所述目标图数据库,并从所述目标图数据库中查询得到所述查询语句匹配的目标虚拟子图;
根据所述目标虚拟子图,查询得到与所述目标虚拟子图对应的目标子图数据;
在接收到针对待写入虚拟子图的写入操作之后,根据多写机制,将所述待写入虚拟子图写入所述图数据库集群中的每个图数据库中。
可选地,在所述获取用户输入的查询语句之前,还包括:
创建多个图数据库;所述多个图数据库形成所述图数据库集群;
配置所述图数据库集群对应的查询模式;
根据系统中预先保存的子图数据,创建所述子图数据对应的虚拟子图;
将所述虚拟子图保存至所述图数据库集群中的每个图数据库中;每个所述图数据库中保存的虚拟子图相同;
建立子图节点与图数据库之间的关联关系。
可选地,所述根据所述解析结果,确定与所述查询语句匹配的图数据库集群中的目标图数据库,包括:
获取所述解析结果中包含的解析子图节点,
根据子图节点与图数据库之间的关联关系,确定所述解析子图节点对应的目标图数据库。
可选地,所述将所述查询语句路由至所述目标图数据库,并从所述目标图数据库中查询得到所述查询语句匹配的目标虚拟子图,包括:
在所述目标图数据库的数量大于1个时,根据所述查询模式将所述查询语句路由至所述目标图数据库;
根据所述查询语句,从所述目标图数据库中查询得到所述目标虚拟子图。
可选地,在所述根据所述目标虚拟子图,查询得到与所述目标虚拟子图对应的目标子图数据之后,还包括:
将所述目标子图数据缓存至内存;
在接收到与所述查询语句相似的查询语句的情况下,从所述内存中获取并返回所述目标子图数据。
为了解决上述技术问题,本申请实施例还提供了一种数据查询及同步优化装置,包括:
查询语句获取模块,用于获取用户输入的查询语句;
解析结果获取模块,用于对所述查询语句进行解析,得到所述查询语句对应的解析结果;
目标图数据库确定模块,用于根据所述解析结果,确定与所述查询语句匹配的图数据库集群中的目标图数据库;
目标虚拟子图查询模块,用于将所述查询语句路由至所述目标图数据库,并从所述目标图数据库中查询得到所述查询语句匹配的目标虚拟子图;
目标子图数据查询模块,用于根据所述目标虚拟子图,查询得到与所述目标虚拟子图对应的目标子图数据;
虚拟子图写入模块,用于在接收到针对待写入虚拟子图的写入操作之后,根据多写机制,将所述待写入虚拟子图写入所述图数据库集群中的每个图数据库中。
可选地,还包括:
图数据库创建模块,用于创建多个图数据库;所述多个图数据库形成所述图数据库集群;
查询模式配置单元,用于配置所述图数据库集群对应的查询模式;
虚拟子图创建模块,用于根据系统中预先保存的子图数据,创建所述子图数据对应的虚拟子图;
虚拟子图保存模块,用于将所述虚拟子图保存至所述图数据库集群中的每个图数据库中;每个所述图数据库中保存的虚拟子图相同;
关联关系建立模块,用于建立子图节点与图数据库之间的关联关系。
可选地,所述目标图数据库确定模块包括:
解析子图节点获取单元,用于获取所述解析结果中包含的解析子图节点,
目标图数据库确定单元,用于根据子图节点与图数据库之间的关联关系,确定所述解析子图节点对应的目标图数据库。
可选地,所述目标虚拟子图查询模块包括:
查询语句路由单元,用于在所述目标图数据库的数量大于1个时,根据所述查询模式将所述查询语句路由至所述目标图数据库;
目标虚拟子图查询单元,用于根据所述查询语句,从所述目标图数据库中查询得到所述目标虚拟子图。
可选地,所述装置还包括:
目标子图数据缓存模块,用于将所述目标子图数据缓存至内存;
目标子图数据获取模块,用于在接收到与所述查询语句相似的查询语句的情况下,从所述内存中获取并返回所述目标子图数据。
与现有技术相比,本申请包括以下优点:
本申请实施例提供了一种数据查询及同步优化方法及装置,通过获取用户输入的查询语句,对查询语句进行解析,得到查询语句对应的解析结果,根据解析结果,确定与查询语句匹配的图数据库集群中的目标图数据库,将查询语句路由至目标图数据库,并从目标图数据库中查询得到查询语句匹配的目标虚拟子图,根据目标虚拟子图,查询得到与目标虚拟子图对应的目标子图数据,在接收到针对待写入虚拟子图的写入操作之后,根据多写机制将待写入虚拟虚拟子图写入图数据库集群中的每个图数据库中。本申请实施例通过建立虚拟子图存入图数据库,提高了数据查询速度,节省了人工,且通过多写机制可以实时将数据写入图数据库集群中的每个图数据库中,保证了数据的实时有效性。
附图说明
图1为本申请实施例提供的一种数据查询及同步优化方法的步骤流程图;
图2为本申请实施例提供的另一种数据查询及同步优化方法的步骤流程图;
图3为本申请实施例提供的一种数据查询流程的示意图;
图4为本申请实施例提供的一种数据查询及同步优化装置的结构示意图;
图5为本申请实施例提供的另一种数据查询及同步优化装置的结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
实施例一
参照图1,示出了本申请实施例提供的一种数据查询及同步优化方法的步骤流程图,如图1所示,该数据查询及同步优化方法具体可以包括如下步骤:
步骤101:获取用户输入的查询语句。
本申请实施例可以应用于结合虚拟子图对查询存于硬盘数据内的图形数据的场景中。
在实际应用中,图形数据是以节点和边(即关系)的形式存储的数据。
查询语句是指用户输入的用于查询图论数据的语句。在本示例中,查询语句可以为cypher语句,cypher是一个描述性的图形查询语言,允许不必编写图形结构的遍历代码对图形存储有表现力和效率的查询。
在需要对底层图形数据进行查询时,可以获取用户输入的查询语句。
在获取到用户输入的查询语句之后,执行步骤102。
步骤102:对所述查询语句进行解析,得到所述查询语句对应的解析结果。
解析结果是指对查询语句进行解析之后得到的结果。
在本实施例中,在对查询语句进行解析之后,可以得到解析出的节点和关系,此时可以将解析的节点和关系作为解析结果。
在对查询语句进行解析得到查询语句对应的解析结果之后,执行步骤103。
步骤103:根据所述解析结果,确定与所述查询语句匹配的图数据库集群中的目标图数据库。
目标图数据库是指与查询语句匹配的用于查询与查询语句相关的图形数据的图数据库。
在本实施例中,可以预先创建多个图数据库,多个图数据库即构成了图数据库集群,在多个图数据库中保存有相同的虚拟子图数据,且预先建立有图数据库与子图节点之间的对应关系。
在获取到查询语句对应的解析结果之后,可以根据解析结果中包含的子图节点和关系通过算法进行图数据库的选择,以得到与查询语句匹配的图数据库集群中的目标图数据库。
当然,目标图数据库可以为一个图数据库,也可以为多个图数据库,具体地,可以根据业务需求而定,此种配置方式,可以在存在多个相同的查询语句时,可以根据预先配置的查询模式进行查询语句向图数据库的路由,具体地,将在下述实施例二中进行详细描述,本申请实施例在此不再加以赘述。
在根据解析结果确定与查询语句匹配的图数据库集群中的目标图数据库之后,执行步骤104。
步骤104:将所述查询语句路由至所述目标图数据库,并从所述目标图数据库中查询得到所述查询语句匹配的目标虚拟子图。
目标虚拟子图是指根据查询语句从目标图数据库中查询到的虚拟子图。
可以理解地,在图数据库中保存的是真实子图数据抽象得到的虚拟子图,且每个图数据库中保存的虚拟子图均是相同的,本实施例中,通过虚拟子图的查询再从磁盘读取真实子图数据的方式,可以提高数据查询的效率。
在根据解析结果确定与查询语句匹配的图数据库集群中的目标图数据库之后,可以通过预先配置的路由模块将查询语句路由至目标图数据库,并根据查询语句从目标图数据库中进行虚拟子图的查询,以得到与查询语句匹配的目标虚拟子图。
在将查询语句路由至目标图数据库,并从目标图数据库中查询得到查询语句匹配的目标虚拟子图之后,执行步骤105。
步骤105:根据所述目标虚拟子图,查询得到与所述目标虚拟子图对应的目标子图数据。
目标子图数据是指与目标虚拟子图对应的真实的子图数据。
在从目标图数据库中查询得到查询语句匹配的目标虚拟子图之后,可以根据目标虚拟子图从本地硬盘数据中查询得到目标子图数据。
本申请实施例通过建立虚拟子图存入图数据库,提高了数据查询速度,节省了人工。
步骤106:在接收到针对待写入虚拟子图的写入操作之后,根据多写机制,将所述待写入虚拟子图写入所述图数据库集群中的每个图数据库中。
在本申请实施例中,还可以预先设置多写机制(在图数据库集群为两个图数据库形成的集群时,即为双写机制),可以将实时数据写入图数据库中。
待写入虚拟子图是指当前获取的需要写入图数据库集群中的每个图数据库中的虚拟子图。
写入操作是指用于将待写入虚拟子图写入图数据库的操作。
在接收到针对待写入虚拟子图的写入操作之后,可以根据预先设置的多写机制,将待写入虚拟子图写入图数据库集群中的每个图数据库中。
本申请实施例通过多写机制,可以实时将数据写入图数据库集群中的每个图数据库中,保证了数据的实时有效性。
本申请实施例提供的数据查询及同步优化方法,通过获取用户输入的查询语句,对查询语句进行解析,得到查询语句对应的解析结果,根据解析结果,确定与查询语句匹配的图数据库集群中的目标图数据库,将查询语句路由至目标图数据库,并从目标图数据库中查询得到查询语句匹配的目标虚拟子图,根据目标虚拟子图,查询得到与目标虚拟子图对应的目标子图数据。本申请实施例通过建立虚拟子图存入图数据库,提高了数据查询速度,节省了人工,保证了数据的实时有效性。
实施例二
参照图2,示出了本申请实施例提供的另一种数据查询及同步优化方法的步骤流程图,如图2所示,该数据查询及同步优化方法具体可以包括如下步骤:
步骤201:创建多个图数据库;所述多个图数据库形成所述图数据库集群。
本申请实施例可以应用于结合虚拟子图对查询存于硬盘数据内的图形数据的场景中。
在本实施例中,可以预先创建多个图数据库,多个图数据库可以形成图数据库集群。
在创建多个图数据库之后,还可以设置多个图数据库对应的多写机制,通过多写机制在接收到写入数据之后,可以将数据实时写入到多个图数据库中,以保证数据的实时有效性。
创建的图数据库可以为2个,也可以为2个以上等,具体地,可以根据业务需求而定,本实施例对此不加以限制。
在创建多个图数据库之后,执行步骤202。
步骤202:配置所述图数据库集群对应的查询模式。
查询模式是指由业务人员为图数据库集群配置的图数据库路由的模式。
在本示例中,查询模式可以包括轮询模式、智能路由模式和单节点模式等模式中的任一种。
其中,上述三种模式是针对同一查询语句而言。轮询模式是指在查询语句的解析结果对应于多个目标图数据库时,多个查询语句轮询路由至多个目标图数据库的模式,例如,目标图数据库为数据库1和数据库2,在多个相同的查询语句为查询1、查询2、查询3、查询4和查询5时,可以将查询1路由至数据库1,将查询2路由至数据库2,然后将查询3路由至数据库1,将查询4路由至数据库2,最后将查询5路由至数据库1等,以此轮询查询。
智能路由模式是指在查询语句的解析结果对应于多个目标图数据库时,多个查询语句智能路由至多个目标图数据库的模式,例如,目标图数据库为数据库1和数据库2,在多个相同的查询语句为查询1、查询2、查询3、查询4和查询5时,此时,可以由系统将查询1和查询2路由至数据库1,并由系统将查询3、查询4和查询5路由至数据库2;或者,由系统将查询1、查询2和查询5路由至数据库1,并由系统将查询3和查询4路由至数据库2等。
单节点模式是指单个图数据库的路由模式,例如,多个查询语句1和多个查询语句2,这两个查询语句对应的图数据库均为数据库1和数据库2,此时,可以将多个查询语句1路由至数据库1,并将多个查询语句2路由至数据库2,或者,将多个查询语句2路由至数据库1,并将多个查询语句1路由至数据库2等。
可以理解地,上述示例仅是为了更好地理解本申请实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
在配置数据库集群对应的查询模式之后,执行步骤203。
步骤203:根据系统中预先保存的子图数据,创建所述子图数据对应的虚拟子图。
虚拟子图是指根据子图数据抽象得到的虚拟子图,可以理解地,本申请实施例通过将真实子图数据抽象为虚拟子图,可以提升图形数据的查询效率。
在配置数据库集群对应的查询模式之后,可以根据系统中预先保存的子图数据创建子图数据对应的虚拟子图。
在创建系统中预先保存的子图数据对应的虚拟子图之后,执行步骤204。
步骤204:将所述虚拟子图保存至所述图数据库集群中的每个图数据库中;每个所述图数据库中保存的虚拟子图相同。
在创建系统中预先保存的子图数据对应的虚拟子图之后,可以将虚拟子图分别保存至图数据库中的每个图数据库中,每个图数据库中保存的虚拟子图相同。
步骤205:建立子图节点与图数据库之间的关联关系。
在将虚拟子图分别保存至每个图数据库中之后,可以建立子图节点与图数据库之间的关联关系,该关联关系可以用于后续查询语句的解析结果中包含的解析节点获取目标图数据库,实现查询语句的路由。
步骤206:获取用户输入的查询语句。
查询语句是指用户输入的用于查询图论数据的语句。在本示例中,查询语句可以为cypher语句,cypher是一个描述性的图形查询语言,允许不必编写图形结构的遍历代码对图形存储有表现力和效率的查询。
在需要对底层图形数据进行查询时,可以获取用户输入的查询语句。
在获取到用户输入的查询语句之后,执行步骤207。
步骤207:对所述查询语句进行解析,得到所述查询语句对应的解析结果。
解析结果是指对查询语句进行解析之后得到的结果。
在本实施例中,在对查询语句进行解析之后,可以得到解析出的节点和关系,此时可以将解析的节点和关系作为解析结果。
在对查询语句进行解析得到查询语句对应的解析结果之后,执行步骤208。
步骤208:根据所述解析结果,确定与所述查询语句匹配的图数据库集群中的目标图数据库。
目标图数据库是指与查询语句匹配的用于查询与查询语句相关的图形数据的图数据库。
在本实施例中,可以预先创建多个图数据库,多个图数据库即构成了图数据库集群,在多个图数据库中保存有相同的虚拟子图数据,且预先建立有图数据库与子图节点之间的对应关系。且,预先设置有多个图数据库的多写机制,在创建图数据库之后,在需要将数据写入图数据库中时,可以根据多写机制,将数据分别写入每个图数据库中,此时,每个图数据库中即可保存最新的实时数据,保证了数据的实时有效性。
在获取到查询语句对应的解析结果之后,可以根据解析结果中包含的子图节点和关系通过算法进行图数据库的选择,以得到与查询语句匹配的图数据库集群中的目标图数据库。具体地,可以结合下述具体实现方式进行详细描述。
在本申请实施例的一种具体实现方式中,上述步骤207可以包括:
子步骤S1:获取所述解析结果中包含的解析子图节点。
在本实施例中,解析子图节点是指对查询语句进行解析得到解析结果中包含的子图节点。
在对查询语句进行解析得到解析结果之后,可以获取解析结果中包含的解析子图节点,进而,执行子步骤S2。
子步骤S2:根据子图节点与图数据库之间的关联关系,确定所述解析子图节点对应的目标图数据库。
在得到解析子图节点之后,可以根据子图节点与图数据库之间的关联关系,可以获取解析子图节点对应的目标图数据库。
在根据解析结果确定与查询语句匹配的图数据库集群中的目标图数据库之后,执行步骤209。
步骤209:将所述查询语句路由至所述目标图数据库,并从所述目标图数据库中查询得到所述查询语句匹配的目标虚拟子图。
目标虚拟子图是指根据查询语句从目标图数据库中查询到的虚拟子图。
可以理解地,在图数据库中保存的是真实子图数据抽象得到的虚拟子图,且每个图数据库中保存的虚拟子图均是相同的,本实施例中,通过虚拟子图的查询再从磁盘读取真实子图数据的方式,可以提高数据查询的效率。
在根据解析结果确定与查询语句匹配的图数据库集群中的目标图数据库之后,可以通过预先配置的路由模块(如图3所示的路由组件)将查询语句路由至目标图数据库,并根据查询语句从目标图数据库中进行虚拟子图的查询,以得到与查询语句匹配的目标虚拟子图。
当然,在本实施例中,若目标图数据库的数量大于1,可以根据查询模式将查询语句路由至目标图数据库,并根据查询语句从目标图数据库查询得到查询语句对应的目标虚拟子图。
在将查询语句路由至目标图数据库,并从目标图数据库中查询得到查询语句匹配的目标虚拟子图之后,执行步骤210。
步骤210:根据所述目标虚拟子图,查询得到与所述目标虚拟子图对应的目标子图数据。
目标子图数据是指与目标虚拟子图对应的真实的子图数据。
在从目标图数据库中查询得到查询语句匹配的目标虚拟子图之后,可以根据目标虚拟子图从本地硬盘数据中查询得到目标子图数据。
本申请实施例通过建立虚拟子图存入图数据库,提高了数据查询速度,节省了人工,保证了数据的实时有效性。
步骤211:将所述目标子图数据缓存至内存。
在获取到查询语句对应的目标子图数据之后,可以将目标子图数据缓存至内存中,进而执行步骤212。
步骤212:在接收到与所述查询语句相似的查询语句的情况下,从所述内存中获取并返回所述目标子图数据。
在将目标子图数据缓存至内存之后,可以在接收到与查询语句相似的查询语句的情况下,可以从内存中获取并返回目标子图数据。
本申请实施例通过缓存根据查询语句查询得到的子图数据,在需要进行相似查询时,可以从内存中返回预先查询得到的子图数据,可以提高查询效率。
步骤213:在接收到针对待写入虚拟子图的写入操作之后,根据多写机制,将所述待写入数据写入图数据库集群中的每个图数据库中。
在本申请实施例中,还可以预先设置多写机制(在图数据库集群为两个图数据库形成的集群时,即为双写机制),可以将实时数据写入图数据库中。
待写入虚拟子图是指当前获取的需要写入图数据库集群中的每个图数据库中的虚拟子图。
写入操作是指用于将待写入虚拟子图写入图数据库的操作。
在接收到针对待写入虚拟子图的写入操作之后,可以根据预先设置的多写机制,将待写入虚拟子图写入图数据库集群中的每个图数据库中。
本申请实施例通过多写机制,可以实时将数据写入图数据库集群中的每个图数据库中,保证了数据的实时有效性。
本申请实施例的应用场景可以为:消费金融在满足申请便利,审批快速,提现快捷的互联网接待的基本特性的同时,进一步将眼光关注于怎样正确选择客户,并且怎样可以更加快速选取正确的客户,比如哪些客户可以借款,哪些客户应该被拒绝,哪些客户欺诈的可能性较大,需要人工的线下调查,这些客户都拥有哪些行为特征,他们都拥有怎样的社会关系,他的关系网所涉及到的人员是否应该被重点关注等等,整个申请流程的客户数据都拥有值得分析的价值等。
本申请实施例提供的数据查询及同步优化方法,通过获取用户输入的查询语句,对查询语句进行解析,得到查询语句对应的解析结果,根据解析结果,确定与查询语句匹配的图数据库集群中的目标图数据库,将查询语句路由至目标图数据库,并从目标图数据库中查询得到查询语句匹配的目标虚拟子图,根据目标虚拟子图,查询得到与目标虚拟子图对应的目标子图数据。本申请实施例通过建立虚拟子图存入图数据库,提高了数据查询速度,节省了人工,保证了数据的实时有效性。
实施例三
参照图4,示出了本申请实施例提供的一种数据查询及同步优化装置的结构示意图,如图4所示,该数据查询及同步优化装置300具体可以包括如下模块:
查询语句获取模块310,用于获取用户输入的查询语句;
解析结果获取模块320,用于对所述查询语句进行解析,得到所述查询语句对应的解析结果;
目标图数据库确定模块330,用于根据所述解析结果,确定与所述查询语句匹配的图数据库集群中的目标图数据库;
目标虚拟子图查询模块340,用于将所述查询语句路由至所述目标图数据库,并从所述目标图数据库中查询得到所述查询语句匹配的目标虚拟子图;
目标子图数据查询模块350,用于根据所述目标虚拟子图,查询得到与所述目标虚拟子图对应的目标子图数据;
虚拟子图写入模块360,用于在接收到针对待写入虚拟子图的写入操作之后,根据多写机制,将所述待写入虚拟子图写入所述图数据库集群中的每个图数据库中。
本申请实施例提供的数据查询及同步优化装置,通过获取用户输入的查询语句,对查询语句进行解析,得到查询语句对应的解析结果,根据解析结果,确定与查询语句匹配的图数据库集群中的目标图数据库,将查询语句路由至目标图数据库,并从目标图数据库中查询得到查询语句匹配的目标虚拟子图,根据目标虚拟子图,查询得到与目标虚拟子图对应的目标子图数据,在接收到针对待写入虚拟子图的写入操作之后,根据多写机制将待写入虚拟子图写入图数据库集群中的每个图数据库中。本申请实施例通过建立虚拟子图存入图数据库,提高了数据查询速度,节省了人工,保证了数据的实时有效性。
实施例四
参照图5,示出了本申请实施例提供的另一种数据查询及同步优化装置的结构示意图,如图5所示,该数据查询及同步优化装置400具体可以包括如下模块:
图数据库创建模块410,用于创建多个图数据库;所述多个图数据库形成所述图数据库集群;
查询模式配置单元420,用于配置所述图数据库集群对应的查询模式;
虚拟子图创建模块430,用于根据系统中预先保存的子图数据,创建所述子图数据对应的虚拟子图;
虚拟子图保存模块440,用于将所述虚拟子图保存至所述图数据库集群中的每个图数据库中;每个所述图数据库中保存的虚拟子图相同;
关联关系建立模块450,用于建立子图节点与图数据库之间的关联关系;
查询语句获取模块460,用于获取用户输入的查询语句;
解析结果获取模块470,用于对所述查询语句进行解析,得到所述查询语句对应的解析结果;
目标图数据库确定模块480,用于根据所述解析结果,确定与所述查询语句匹配的图数据库集群中的目标图数据库;
目标虚拟子图查询模块490,用于将所述查询语句路由至所述目标图数据库,并从所述目标图数据库中查询得到所述查询语句匹配的目标虚拟子图;
目标子图数据查询模块4100,用于根据所述目标虚拟子图,查询得到与所述目标虚拟子图对应的目标子图数据;
目标子图数据缓存模块4110,用于将所述目标子图数据缓存至内存;
目标子图数据获取模块4120,用于在接收到与所述查询语句相似的查询语句的情况下,从所述内存中获取并返回所述目标子图数据;
虚拟子图写入模块4130,用于在接收到针对待写入虚拟子图的写入操作之后,根据多写机制,将所述待写入虚拟子图写入所述图数据库集群中的每个图数据库中。
可选地,所述目标图数据库确定模块480包括:
解析子图节点获取单元,用于获取所述解析结果中包含的解析子图节点,
目标图数据库确定单元,用于根据子图节点与图数据库之间的关联关系,确定所述解析子图节点对应的目标图数据库。
可选地,所述目标虚拟子图查询模块490包括:
查询语句路由单元,用于在所述目标图数据库的数量大于1个时,根据所述查询模式将所述查询语句路由至所述目标图数据库;
目标虚拟子图查询单元,用于根据所述查询语句,从所述目标图数据库中查询得到所述目标虚拟子图。
本申请实施例提供的数据查询及同步优化装置,通过获取用户输入的查询语句,对查询语句进行解析,得到查询语句对应的解析结果,根据解析结果,确定与查询语句匹配的图数据库集群中的目标图数据库,将查询语句路由至目标图数据库,并从目标图数据库中查询得到查询语句匹配的目标虚拟子图,根据目标虚拟子图,查询得到与目标虚拟子图对应的目标子图数据,在接收到针对待写入虚拟子图的写入操作之后,根据多写机制将待写入虚拟子图写入图数据库集群中的每个图数据库中。本申请实施例通过建立虚拟子图存入图数据库,提高了数据查询速度,节省了人工,保证了数据的实时有效性。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
另外地,本申请实施例还提供了一种电子设备,包括:处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一项所述的数据查询及同步优化方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种数据查询及同步优化方法和一种数据查询及同步优化装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种数据查询及同步优化方法,其特征在于,包括:
获取用户输入的查询语句;
对所述查询语句进行解析,得到所述查询语句对应的解析结果;
根据所述解析结果,确定与所述查询语句匹配的图数据库集群中的目标图数据库;
将所述查询语句路由至所述目标图数据库,并从所述目标图数据库中查询得到所述查询语句匹配的目标虚拟子图;
根据所述目标虚拟子图,查询得到与所述目标虚拟子图对应的目标子图数据;
在接收到针对待写入虚拟子图的写入操作之后,根据多写机制,将所述待写入虚拟子图写入所述图数据库集群中的每个图数据库中。
2.根据权利要求1所述的方法,其特征在于,在所述获取用户输入的查询语句之前,还包括:
创建多个图数据库;所述多个图数据库形成所述图数据库集群;
配置所述图数据库集群对应的查询模式;
根据系统中预先保存的子图数据,创建所述子图数据对应的虚拟子图;
将所述虚拟子图保存至所述图数据库集群中的每个图数据库中;每个所述图数据库中保存的虚拟子图相同;
建立子图节点与图数据库之间的关联关系。
3.根据权利要求2所述的方法,其特征在于,所述根据所述解析结果,确定与所述查询语句匹配的图数据库集群中的目标图数据库,包括:
获取所述解析结果中包含的解析子图节点,
根据子图节点与图数据库之间的关联关系,确定所述解析子图节点对应的目标图数据库。
4.根据权利要求2所述的方法,其特征在于,所述将所述查询语句路由至所述目标图数据库,并从所述目标图数据库中查询得到所述查询语句匹配的目标虚拟子图,包括:
在所述目标图数据库的数量大于1个时,根据所述查询模式将所述查询语句路由至所述目标图数据库;
根据所述查询语句,从所述目标图数据库中查询得到所述目标虚拟子图。
5.根据权利要求1所述的方法,其特征在于,在所述根据所述目标虚拟子图,查询得到与所述目标虚拟子图对应的目标子图数据之后,还包括:
将所述目标子图数据缓存至内存;
在接收到与所述查询语句相似的查询语句的情况下,从所述内存中获取并返回所述目标子图数据。
6.一种数据查询及同步优化装置,其特征在于,包括:
查询语句获取模块,用于获取用户输入的查询语句;
解析结果获取模块,用于对所述查询语句进行解析,得到所述查询语句对应的解析结果;
目标图数据库确定模块,用于根据所述解析结果,确定与所述查询语句匹配的图数据库集群中的目标图数据库;
目标虚拟子图查询模块,用于将所述查询语句路由至所述目标图数据库,并从所述目标图数据库中查询得到所述查询语句匹配的目标虚拟子图;
目标子图数据查询模块,用于根据所述目标虚拟子图,查询得到与所述目标虚拟子图对应的目标子图数据;
虚拟子图写入模块,用于在接收到针对待写入虚拟子图的写入操作之后,根据多写机制,将所述待写入虚拟子图写入所述图数据库集群中的每个图数据库中。
7.根据权利要求6所述的装置,其特征在于,还包括:
图数据库创建模块,用于创建多个图数据库;所述多个图数据库形成所述图数据库集群;
查询模式配置单元,用于配置所述图数据库集群对应的查询模式;
虚拟子图创建模块,用于根据系统中预先保存的子图数据,创建所述子图数据对应的虚拟子图;
虚拟子图保存模块,用于将所述虚拟子图保存至所述图数据库集群中的每个图数据库中;每个所述图数据库中保存的虚拟子图相同;
关联关系建立模块,用于建立子图节点与图数据库之间的关联关系。
8.根据权利要求7所述的装置,其特征在于,所述目标图数据库确定模块包括:
解析子图节点获取单元,用于获取所述解析结果中包含的解析子图节点,
目标图数据库确定单元,用于根据子图节点与图数据库之间的关联关系,确定所述解析子图节点对应的目标图数据库。
9.根据权利要求7所述的装置,其特征在于,所述目标虚拟子图查询模块包括:
查询语句路由单元,用于在所述目标图数据库的数量大于1个时,根据所述查询模式将所述查询语句路由至所述目标图数据库;
目标虚拟子图查询单元,用于根据所述查询语句,从所述目标图数据库中查询得到所述目标虚拟子图。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
目标子图数据缓存模块,用于将所述目标子图数据缓存至内存;
目标子图数据获取模块,用于在接收到与所述查询语句相似的查询语句的情况下,从所述内存中获取并返回所述目标子图数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110051116.8A CN112784119B (zh) | 2021-01-14 | 2021-01-14 | 一种数据查询及同步优化方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110051116.8A CN112784119B (zh) | 2021-01-14 | 2021-01-14 | 一种数据查询及同步优化方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112784119A true CN112784119A (zh) | 2021-05-11 |
CN112784119B CN112784119B (zh) | 2023-04-28 |
Family
ID=75756724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110051116.8A Active CN112784119B (zh) | 2021-01-14 | 2021-01-14 | 一种数据查询及同步优化方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112784119B (zh) |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110173189A1 (en) * | 2006-02-27 | 2011-07-14 | The Regents Of The University Of California | Graph querying, graph motif mining and the discovery of clusters |
CN103123652A (zh) * | 2013-03-14 | 2013-05-29 | 曙光信息产业(北京)有限公司 | 数据查询方法和集群数据库系统 |
US20140244687A1 (en) * | 2013-02-24 | 2014-08-28 | Technion Research & Development Foundation Limited | Processing query to graph database |
CN105260465A (zh) * | 2015-10-16 | 2016-01-20 | 晶赞广告(上海)有限公司 | 一种图数据处理服务的方法、装置 |
CN105808586A (zh) * | 2014-12-29 | 2016-07-27 | 北京奇虎科技有限公司 | 一种图片数据处理方法和装置 |
CN107038707A (zh) * | 2016-02-02 | 2017-08-11 | 杭州海康威视数字技术股份有限公司 | 一种图像分割方法及装置 |
US20180081990A1 (en) * | 2016-09-16 | 2018-03-22 | At&T Intellectual Property I, L.P. | Concept-Based Querying of Graph Databases |
US20180173727A1 (en) * | 2016-12-15 | 2018-06-21 | Microsoft Technology Licensing, Llc | Caching of subgraphs and integration of cached subgraphs into graph query results |
CN109359115A (zh) * | 2018-10-25 | 2019-02-19 | 中国互联网络信息中心 | 基于图数据库的分布式存储方法、装置及系统 |
CN109492013A (zh) * | 2018-11-02 | 2019-03-19 | 北京京东金融科技控股有限公司 | 应用于数据库集群的数据处理方法、装置和系统 |
CN109885621A (zh) * | 2019-01-07 | 2019-06-14 | 北京科技大学 | 一种数据存储实体关系图提取方法 |
CN110291535A (zh) * | 2016-11-25 | 2019-09-27 | 康德斯弗洛股份有限公司 | 用于通过卷积神经网络创建医学图像数据库的方法和系统 |
CN110413685A (zh) * | 2019-04-12 | 2019-11-05 | 财付通支付科技有限公司 | 数据库服务切换方法、装置、可读存储介质和计算机设备 |
CN110675211A (zh) * | 2019-08-16 | 2020-01-10 | 浙江金戈多能源科技有限公司 | 一种基于地图数据库的商户虚拟展示方法及系统 |
US20200110761A1 (en) * | 2018-10-04 | 2020-04-09 | Graphen, Inc. | System and method for providing an artificially-intelligent graph database |
CN111339334A (zh) * | 2020-02-11 | 2020-06-26 | 支付宝(杭州)信息技术有限公司 | 异构图数据库的数据查询方法及其系统 |
CN111859066A (zh) * | 2020-06-03 | 2020-10-30 | 广东电网有限责任公司 | 一种运维工单的查询推荐方法及装置 |
-
2021
- 2021-01-14 CN CN202110051116.8A patent/CN112784119B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110173189A1 (en) * | 2006-02-27 | 2011-07-14 | The Regents Of The University Of California | Graph querying, graph motif mining and the discovery of clusters |
US20140244687A1 (en) * | 2013-02-24 | 2014-08-28 | Technion Research & Development Foundation Limited | Processing query to graph database |
CN103123652A (zh) * | 2013-03-14 | 2013-05-29 | 曙光信息产业(北京)有限公司 | 数据查询方法和集群数据库系统 |
CN105808586A (zh) * | 2014-12-29 | 2016-07-27 | 北京奇虎科技有限公司 | 一种图片数据处理方法和装置 |
CN105260465A (zh) * | 2015-10-16 | 2016-01-20 | 晶赞广告(上海)有限公司 | 一种图数据处理服务的方法、装置 |
CN107038707A (zh) * | 2016-02-02 | 2017-08-11 | 杭州海康威视数字技术股份有限公司 | 一种图像分割方法及装置 |
US20180081990A1 (en) * | 2016-09-16 | 2018-03-22 | At&T Intellectual Property I, L.P. | Concept-Based Querying of Graph Databases |
CN110291535A (zh) * | 2016-11-25 | 2019-09-27 | 康德斯弗洛股份有限公司 | 用于通过卷积神经网络创建医学图像数据库的方法和系统 |
US20180173727A1 (en) * | 2016-12-15 | 2018-06-21 | Microsoft Technology Licensing, Llc | Caching of subgraphs and integration of cached subgraphs into graph query results |
US20200110761A1 (en) * | 2018-10-04 | 2020-04-09 | Graphen, Inc. | System and method for providing an artificially-intelligent graph database |
CN109359115A (zh) * | 2018-10-25 | 2019-02-19 | 中国互联网络信息中心 | 基于图数据库的分布式存储方法、装置及系统 |
CN109492013A (zh) * | 2018-11-02 | 2019-03-19 | 北京京东金融科技控股有限公司 | 应用于数据库集群的数据处理方法、装置和系统 |
CN109885621A (zh) * | 2019-01-07 | 2019-06-14 | 北京科技大学 | 一种数据存储实体关系图提取方法 |
CN110413685A (zh) * | 2019-04-12 | 2019-11-05 | 财付通支付科技有限公司 | 数据库服务切换方法、装置、可读存储介质和计算机设备 |
CN110675211A (zh) * | 2019-08-16 | 2020-01-10 | 浙江金戈多能源科技有限公司 | 一种基于地图数据库的商户虚拟展示方法及系统 |
CN111339334A (zh) * | 2020-02-11 | 2020-06-26 | 支付宝(杭州)信息技术有限公司 | 异构图数据库的数据查询方法及其系统 |
CN111859066A (zh) * | 2020-06-03 | 2020-10-30 | 广东电网有限责任公司 | 一种运维工单的查询推荐方法及装置 |
Non-Patent Citations (2)
Title |
---|
RENZO ANGLES等: "Survery of graph database models" * |
胡海波: "图数据库加速处理技术的研究与实现" * |
Also Published As
Publication number | Publication date |
---|---|
CN112784119B (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102253936B (zh) | 记录用户访问商品信息的方法及搜索方法和服务器 | |
US8768976B2 (en) | Operational-related data computation engine | |
CN110472068A (zh) | 基于异构分布式知识图谱的大数据处理方法、设备及介质 | |
US9135572B2 (en) | Method and arrangement for processing data | |
CN109086413A (zh) | 用于搜索区块链数据的方法、设备及可读存储介质 | |
Jeong et al. | Anomaly teletraffic intrusion detection systems on hadoop-based platforms: A survey of some problems and solutions | |
CN109840254A (zh) | 一种数据虚拟化及查询方法、装置 | |
US20220035794A1 (en) | Data retrieval via incremental updates to graph data structures | |
CN113254630A (zh) | 一种面向全球综合观测成果的领域知识图谱推荐方法 | |
CN114329096A (zh) | 一种原生图数据库处理方法及系统 | |
CN102982095A (zh) | 一种基于叙词表的本体自动生成系统及其方法 | |
CN110414259A (zh) | 一种构建数据类目、实现数据共享的方法及设备 | |
CN107527289B (zh) | 一种投资组合行业配置方法、装置、服务器和存储介质 | |
CN117171138A (zh) | 一种数据库的分库分表方法及数据库系统 | |
US11847120B2 (en) | Performance of SQL execution sequence in production database instance | |
CN110737432A (zh) | 一种基于词根表的脚本辅助设计方法及装置 | |
CN114706894A (zh) | 信息处理方法、装置、设备、存储介质及程序产品 | |
CN116155597A (zh) | 访问请求的处理方法、装置及计算机设备 | |
CN116186337A (zh) | 一种业务场景数据处理方法、系统及电子设备 | |
CN112784119A (zh) | 一种数据查询及同步优化方法及装置 | |
CN109902258A (zh) | 基于区块链的数据处理方法及设备 | |
Beck et al. | Accelerating the mobile cloud: using amazon mobile analytics and k-means clustering | |
CN110837365A (zh) | 一种基于词根表的脚本辅助设计方法及装置 | |
CN113297436A (zh) | 基于关系图网络的用户策略分配方法、装置及电子设备 | |
CN112418260A (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 |