技术领域:
本发明涉及数据库跨库管理技术,具体涉及基于数据关联关系的检索路径分析与可视化系统及方法。
背景技术:
:
全网共有4.39亿电力客户,涉及客户的档案信息、电源点、计量点、95598业务、电费等数据分散在公司多个专业,仅营销基础支撑平台就有近200tb数据。
目前各专业间信息共享程度不高,形成信息孤岛,从客户视角实现跨数据库间的关联分析较为困难。
由于信息存放在各自分散的业务系统中,系统之间信息共享程度低,业务人员跨渠道、跨业务、全生命周期综合全面掌握客户服务信息,客户服务信息掌握不全面。
当前,因各业务系统数据分散存储,客户服务各信息系统数据结构不统一,且基于数据分析的提取流程繁琐、过程复杂,专业化技能要求高。分析人员须熟悉源系统数据结构,并通过访问数据库的方式才能进行数据收集,存在过程复杂、效率低下、潜在风险高等问题。
由于数据之间关联关系识别,数据分析挖掘存在无法从全局审视数据;渠道之间、专业之间数据价值挖掘不充分,无法有效发掘数据之间普遍关联背后价值;三是无法快速查看获取不同视角数据,满足不同人员个性化需求;四是缺乏灵活、高效提取数据的专业工具。
传统的excel等办公软件存在功能单一、数据处理量有限及展示方式不够丰富等问题。大型bi(商业智能)工具功能强大,但与现有95598业务无法实现融合。
因此,需要开发一种新的基于数据关联关系的检索路径分析与可视化系统及方法,实现全量数据关系和原始数据展示。具体技术方案如下:
基于数据关联关系的检索路径分析与可视化系统,包括:关系网络可视化100、中间服务层200及图谱引擎300,所述图谱引300提供有客户端,该中间服务层200可以通过该客户端与所述图谱引擎300通信连接。优选方案,所述中间服务层200包括:关系网络解析装置210、节点属性查询接口230、图谱api接口220。
在上述系统上实现的基于数据关联关系的检索路径分析与可视化方法,包括如下步骤:
步骤1:可视化工具100可以通过不同的方式获得该查询请求;
步骤2:通过选定的节点属性查询接口230接收关系网络可视化100发送的查询请求;
步骤3:所述选定的节点属性查询接口230根据所述查询请求确定目标图谱api接口;
步骤4:所述选定的节点属性查询接口230调用所述目标图谱api接口,将与所述查询请求对应的查询语句发送给所述图谱引擎300,使所述图谱引擎300执行所述查询语句并将对应的查询结果返回给所述目标图谱api接口;
步骤5:所述选定的节点属性查询接口230从所述目标图谱api接口获得所述查询结果,对所述查询结果进行转换,并将转换得到的数据发送给所述关系网络可视化工具100进行展示。
本发明相对于现有技术的优点在于:建立业务逻辑模型与数据结构的映射关系,并通过图谱形式进行结果展现。
附图说明:
图1是本发明基于数据关联关系的检索路径分析与可视化系统的结构示意图。
图2是本发明实施例中图谱引擎300neo4j的数据可视化系统的示意图。
图3是本发明基于数据关联关系的检索路径分析与可视化方法的流程示意图。
具体实施方式:
实施例:
为了让使用人员能够通过通用的可视化工具从不支持sql查询语句的图谱引擎中查询数据,并对查询到的数据进行展示,本申请实施例提供一种数据查询方法、装置及数据可视化系统,在关系网络可视化工具与图谱引擎之间提供一中间服务层,通过该中间服务层将可视化工具发出的查询请求转换为该图谱引擎支持的查询语句并发送给该图谱引擎,以使该图谱引擎根据接收到的查询语句进行数据查询。下面将对该内容进行详细阐述。
图1是本申请实施例提供的一种数据可视化系统的连接框图,该数据可视化系统包括关系网络可视化100、中间服务层200及图谱引擎300,所述图谱引300提供有客户端,该中间服务层200可以通过该客户端与所述图谱引擎300通信连接。
图2是图谱引擎300neo4j的数据可视化系统的示意图。以neo4j为例,对应neo4japi接口220是提供的用于操作neo4j中数据的neo4japi接口。通过datanodeservice接口230可以调用所述neo4japi接口,进而得到相应的neo4j查询语句并将该neo4j查询语句发送给所述neo4j集群,使所述neo4j按照该neo4j询语句执行相应操作(如,增、删、查、改等),并返回相应的查询结果。
图3是本申请实施例提供的一种数据查询方法的示意图,该数据查询方法应用于图1中所示的中间服务层200。
步骤2:通过选定的节点属性查询接口230接收关系网络可视化100发送的查询请求;
实施例中,可视化工具100可以通过不同的方式获得该查询请求。例如,关系网络可视化100可以在用户界面提供一输入框,用户可以在该输入框中直接输入查询请求,关系网络可视化100可以获取该查询请求并发送给中间服务层200。又如,关系网络可视化100可以设置有供用户设置或输入查询条件的选项,通过获取用户设置或输入的查询条件,可以得到包括该查询条件的查询请求,并将该查询请求发送给中间服务层200。
下面以neo4j为例,对步骤2做进一步阐述。
在实施例中,假设用户需要查看统计某一图谱xxx中的数据量,用户可以在关系网络可视化100的用户界面上选取或输入查询条件(实体名称),以表示需要查询并统计图谱xxx的数据量,会自动生成上述的查询请求并发送给中间服务层节点200。
步骤3:所述选定的节点属性查询接口230根据所述查询请求确定目标图谱api接口。
其中,所述查询请求包括查询条件,该查询条件中包括相应的字段,以标识需要查询的索引、类型、字段及所需执行操作等。
在本实施例中,所述中间服务层节点200中可以存储有字段与查询指令之间的对应关系。其中,所述查询指令是指所述客户端提供的操作图谱引擎中数据的方法。基于此中间服务层节点200在接收到所述查询请求后,可以根据所述查询请求中携带的字段确定对应的目标查询指令,并在所述客广端提供的图谱api接口220中查找包括该目标查询指令的图谱api接口220,作为所述目标图谱api。
下面再次以neo4j为例进行详细阐述:
统计图谱xxx中的数据量的查询请求为例,该查询请求中包括indexname、indexcount两个字段,假设中间服务层200中存储有如下对应关系:indexname与client.preparesearch(indexname)对应,indexcount与gethits().gettotalhits()对应。则可以在提供的neo4japi接口中查找包括与该两个字段对应的查询指令的目标neo4japi接口,具体可以是:
searchresponseresponse=client.preparesearch(indexname)
.setsize(0)
.execute()
.actionget();
再通过response.gethits().gettotalhits()获取图谱的数据量。
步骤4:所述选定的节点属性查询接口230调用所述目标图谱api接口,将与所述查询请求对应的查询语句发送给所述图谱引擎300,使所述图谱引擎300执行所述查询语句并将对应的查询结果返回给所述目标图谱api接口。
仍旧以上述的统计图谱xxx中的数据量的查询请求为例,在确定目标neo4japi接口之后,只需将图谱名称"xx"传递给该接口中的indexame,并调用该目标neo4japi接口,即可生成用于统计索引xx中数据量的neo4j查询语句并发送给neo4j。
neo4j在接收到该neo4j查询语句时,会执行该neo4j查询语句,继而得到相应的查询结果,即图谱xxx中的数据量,然后将该查询结果返回给所述目标neo4japl接口(目标图谱api接口)。
步骤5:所述选定的节点属性查询接口230从所述目标图谱api接口获得所述查询结果,对所述查询结果进行转换,并将转换得到的数据发送给所述关系网络可视化工具100进行展示。
通过上述过程,可以通过调用图谱api接口220将与关系网络可视化100发送的查询请发对应的查询语句发送给图谱引擎300,使得用户可以使用通用的关系网络可视化100来从图谱引擎300获取数据并展示,而不必受限于图谱引擎要求的查询语法的限制。
在实施例中,中间服务层200可以预先存储有不同的节点属性查询接口230与不同的实体关联关系。例如,假设存在如下两个关联关系a1到b1,a1到c1再到b1。
如此,当中间服务层节点200接收到关联关系可视化发送的查询请求,可以根据预先建立的对应关系选定a1到b1进行关联查询,并调用图谱api接口。以便在接收到neo4j返回的查询结果时,将该查询结果数据展示出来。
综上所述,本申请实施例提供的一种数据查询方法、装置及数据可视化系统,中间服务层通过选定的节点属相查询接口接收可视化工具发送的查询请求,根据该查询请求确定目标图谱api接口。选定的节点属相查询接口调用目标图谱api接口,将与该查询请求对应的查询语句发送给图谱引擎,使图谱引擎执行接收到的查询语句并返回对应的查询结果给目标图谱api接口。选定的节点属相查询接口从目标标图谱api接口获得图谱引擎返回的查询结果,对该查询结果进行转换,并将转换得到的数据发送给可视化工具进行展示。如此,用户可以不受图谱引擎特有的查询语法的限制,通过一般的可视化工具查询图谱引擎的数据并展示。