CN111368154B - 指标信息确定方法及指标信息确定装置 - Google Patents
指标信息确定方法及指标信息确定装置 Download PDFInfo
- Publication number
- CN111368154B CN111368154B CN202010452110.7A CN202010452110A CN111368154B CN 111368154 B CN111368154 B CN 111368154B CN 202010452110 A CN202010452110 A CN 202010452110A CN 111368154 B CN111368154 B CN 111368154B
- Authority
- CN
- China
- Prior art keywords
- information
- thread
- database server
- query
- identification information
- 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
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/903—Querying
- G06F16/90335—Query processing
-
- 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
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/282—Hierarchical databases, e.g. IMS, LDAP data stores or Lotus Notes
-
- 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
- G06F16/2455—Query execution
-
- 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
- G06F16/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
- G06F16/24565—Triggers; Constraints
-
- 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/248—Presentation of query results
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational 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/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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
- G06F9/45512—Command shells
Abstract
本发明提供一种指标信息确定方法及指标信息确定装置。首先获取json格式的配置信息并基于配置信息生成查询路径列表。其次根据查询路径对应的信息节点的约束条件生成脚本文件并存入第一数据库服务器。然后根据终端设备传入的查询请求的第三标识信息在第一数据库服务器中查找出与第四标识信息对应的目标脚本文件,进而在第二数据库服务器中执行目标脚本文件得到查询结果。如此,可以预先基于配置文件确定与查询语句对应的脚本文件,无需用户自行编写查询语句,能够直接根据用户的查询请求中的标识信息将第一数据库服务器中的脚本文件在第二数据库服务器中进行执行以获得查询结果,确保不具备查询语句编写能力的用户也能够使用图数据库进行信息查询。
Description
技术领域
本发明涉及图分析技术的信息查询技术领域,具体而言,涉及一种指标信息确定方法及指标信息确定装置。
背景技术
在基于图数据库进行图分析指标信息的查询(确定)时,用户需要基于查询需求进行对应查询语句的编写,然后通过数据库执行该查询语句以获得所查询的信息。这要求用户具备多种类型的数据库(例如Mysql数据库和JanusGraph数据库)的查询语句编写能力,可能导致大多数不具备查询语句编写能力的用户难以通过图数据库进行图分析指标信息的快速查询。
发明内容
为了改善上述问题,本发明提供了一种指标信息确定方法及指标信息确定装置。
本发明实施例的第一方面,提供了一种指标信息确定方法,应用于与浏览器通信的服务器,所述方法包括:
获取所述浏览器发送的配置信息;其中,所述配置信息是所述浏览器将用户输入的指标信息进行数据格式转换得到的,所述配置信息的数据格式为json格式;
从第一数据库服务器中查找是否存在与所述配置信息中的第一标识信息相同的第二标识信息;
若所述第一数据库服务器中不存在所述第二标识信息,根据所述配置信息中的信息节点以及所述信息节点的连线关系生成查询路径列表;其中,所述查询路径列表中包括多个元素,每个元素表征一条查询路径,每条查询路径包括多个互相连接的信息节点;
根据每条查询路径对应的各个信息节点的约束条件生成每条查询路径对应的脚本文件,将每个脚本文件存入所述第一数据库服务器中;其中,每个脚本文件对应一个标识信息;
接收终端设备传入的查询请求,在所述第一数据库服务器中查找是否存在与所述查询请求的第三标识信息相同的第四标识信息;若存在,在第二数据库服务器中执行所述第四标识信息对应的目标脚本文件,得到所述第三标识信息对应的查询结果,并将所述查询结果返回给所述终端设备;其中,所述查询结果中包括与所述第三标识信息对应的指标信息。
进一步地,所述方法还包括:
若所述第一数据库服务器中存在所述第二标识信息,向所述浏览器发送错误提示信息。
进一步地,所述根据所述配置信息中的信息节点以及所述信息节点的连线关系生成查询路径列表,包括:
将所述配置信息中存在设定节点标识的信息节点确定为初始信息节点;其中,所述初始信息节点通过多个有向连边连接;
遍历所述初始信息节点的每个有向连边对应的下游信息节点,得到所述初始信息节点对应的多条遍历路径;
将所述多条遍历路径进行整合得到所述查询路径列表。
进一步地,所述根据每条查询路径对应的各个信息节点的约束条件生成每条查询路径对应的脚本文件,包括:
确定每条查询路径对应的各个信息节点的有向连边对应的约束条件;其中,所述约束条件包括用于对信息节点进行过滤的过滤条件、过滤函数和过滤逻辑;
获取每条查询路径对应的每相邻两个信息节点之间的约束条件的比对结果,基于所述比对结果生成每条查询路径对应的cypher脚本。
进一步地,所述在第二数据库服务器中执行所述第四标识信息对应的目标脚本文件,得到所述第三标识信息对应的查询结果,包括:
获取用于生成所述cypher脚本的第一线程信息以及获取所述第二数据库服务器的脚本执行线程的第二线程信息;
分别提取所述第一线程信息的第一线程参数集以及所述第二线程信息的第二线程参数集,所述第一线程参数集和所述第二线程参数集均包括多个具有不同的响应时长的线程参数;
获取所述第一线程参数集的任一线程参数的参数关联度,将所述第二线程参数集中具有最小响应时长的线程参数确定为基准参数;其中,所述参数关联度用于表征线程参数在第一线程参数集中的影响权重;
计算所述参数关联度相对于所述基准参数的映射关联度,并基于所述参数关联度和所述映射关联度生成所述第一线程信息和所述第二线程信息之间用于进行线程配对的补偿信息;
确定所述目标脚本文件在所述第一线程信息中的第一映射文件,采用所述补偿信息对所述第一映射文件进行补偿得到第二映射文件;
将所述第二映射文件导入所述第二数据库服务器的脚本执行线程中,使所述第二数据库服务器运行所述脚本执行线程,得到与所述第三标识信息对应的查询结果;其中,所述第二数据库服务器为JanusGraph数据库。
本发明实施例的第二方面,提供了一种指标信息确定装置,应用于与浏览器通信的服务器,所述装置包括:
信息获取模块,用于获取所述浏览器发送的配置信息;其中,所述配置信息是所述浏览器将用户输入的指标信息进行数据格式转换得到的,所述配置信息的数据格式为json格式;
标识查找模块,用于从第一数据库服务器中查找是否存在与所述配置信息中的第一标识信息相同的第二标识信息;
列表生成模块,用于若所述第一数据库服务器中不存在所述第二标识信息,根据所述配置信息中的信息节点以及所述信息节点的连线关系生成查询路径列表;其中,所述查询路径列表中包括多个元素,每个元素表征一条查询路径,每条查询路径包括多个互相连接的信息节点;
脚本生成模块,用于根据每条查询路径对应的各个信息节点的约束条件生成每条查询路径对应的脚本文件,将每个脚本文件存入所述第一数据库服务器中;其中,每个脚本文件对应一个标识信息;
指标确定模块,用于接收终端设备传入的查询请求,在所述第一数据库服务器中查找是否存在与所述查询请求的第三标识信息相同的第四标识信息;若存在,在第二数据库服务器中执行所述第四标识信息对应的目标脚本文件,得到所述第三标识信息对应的查询结果,并将所述查询结果返回给所述终端设备;其中,所述查询结果中包括与所述第三标识信息对应的指标信息。
进一步地,所述标识查找模块,还用于:
若所述第一数据库服务器中存在所述第二标识信息,向所述浏览器发送错误提示信息。
进一步地,所述列表生成模块,进一步用于:
将所述配置信息中存在设定节点标识的信息节点确定为初始信息节点;其中,所述初始信息节点通过多个有向连边连接;
遍历所述初始信息节点的每个有向连边对应的下游信息节点,得到所述初始信息节点对应的多条遍历路径;
将所述多条遍历路径进行整合得到所述查询路径列表。
进一步地,所述脚本生成模块,进一步用于:
确定每条查询路径对应的各个信息节点的有向连边对应的约束条件;其中,所述约束条件包括用于对信息节点进行过滤的过滤条件、过滤函数和过滤逻辑;
获取每条查询路径对应的每相邻两个信息节点之间的约束条件的比对结果,基于所述比对结果生成每条查询路径对应的cypher脚本。
进一步地,所述指标确定模块,进一步用于:
获取用于生成所述cypher脚本的第一线程信息以及获取所述第二数据库服务器的脚本执行线程的第二线程信息;
分别提取所述第一线程信息的第一线程参数集以及所述第二线程信息的第二线程参数集,所述第一线程参数集和所述第二线程参数集均包括多个具有不同的响应时长的线程参数;
获取所述第一线程参数集的任一线程参数的参数关联度,将所述第二线程参数集中具有最小响应时长的线程参数确定为基准参数;其中,所述参数关联度用于表征线程参数在第一线程参数集中的影响权重;
计算所述参数关联度相对于所述基准参数的映射关联度,并基于所述参数关联度和所述映射关联度生成所述第一线程信息和所述第二线程信息之间用于进行线程配对的补偿信息;
确定所述目标脚本文件在所述第一线程信息中的第一映射文件,采用所述补偿信息对所述第一映射文件进行补偿得到第二映射文件;
将所述第二映射文件导入所述第二数据库服务器的脚本执行线程中,使所述第二数据库服务器运行所述脚本执行线程,得到与所述第三标识信息对应的查询结果;其中,所述第二数据库服务器为JanusGraph数据库。
在执行上述方案时,首先,获取浏览器发送的json格式的配置信息,并基于第一数据库服务器以及配置信息中的第一标识信息确定配置信息是否重复,在配置信息不重复时根据信息节点及其连线关系生成查询路径列表。其次,根据查询路径对应的信息节点的约束条件生成脚本文件并存入第一数据库服务器。然后,根据终端设备传入的查询请求的第三标识信息在第一数据库服务器中查找出与第四标识信息对应的目标脚本文件,进而在第二数据库服务器中执行目标脚本文件得到查询结果。如此,预先基于配置文件确定与查询语句对应的脚本文件,无需用户自行编写查询语句。这样,可以直接根据用户的查询请求中的标识信息将第一数据库服务器中的脚本文件在第二数据库服务器中进行执行,以获得查询结果,确保不具备查询语句编写能力的用户也能够通过图数据库进行图分析指标信息的快速查询。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例所提供的一种信息查询系统的通信连接图。
图2为本发明实施例所提供的一种指标信息确定方法的流程图。
图3为本发明实施例所提供的一种指标信息确定装置的功能模块框图。
具体实施方式
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。
请参阅图1,为本发明实施例所提供的信息查询系统100的通信连接示意图,所述信息查询系统100包括服务器200、用户终端300和终端设备400、第一数据库服务器500和第二数据库服务器600。其中,终端设备400、第一数据库服务器500、第二数据库服务器600以及用户终端300中安装的浏览器301均与服务器200通信。
在本实施例中,用户终端300和终端设备400可以是手机、平板或笔记本电脑等具有通信功能的电子设备,在此不作限定,第一数据库服务器500可以是Mysql数据库的服务器,第二数据库服务器600可以是JanusGraph(图数据库)的服务器。
在应用上述信息查询系统100时,能够预先基于配置文件确定与查询语句对应的脚本文件,无需用户自行编写查询语句。这样,可以直接根据用户的查询请求中的标识信息将第一数据库服务器中的脚本文件在第二数据库服务器中进行执行,以获得查询结果。确保不具备查询语句编写能力的用户也能够通过图数据库进行图分析指标信息的快速查询。
请结合参阅图2,为本发明实施例提供的指标信息确定方法的流程图,所述方法可以应用于图1中的服务器200,所述服务器200在实现所述方法时执行以下步骤。
步骤S21,获取所述浏览器发送的配置信息。
在本实施例中,所述配置信息是所述浏览器301将用户输入的指标信息进行数据格式转换得到的,所述配置信息的数据格式为json格式。其中,指标信息可以是中文名、英文名、维度、实体、关系、入参、出参等信息。
在本实施例中,json格式的配置信息的信息内容可以不同。以下示例给出了其中一种json格式的配置信息的信息内容。当然,在具体实施时,并不限于以下的示例。
{
"name": "work_count", //英文名
"chineseName": "任职个数",//中文名
"resultAggregate": { 结果聚合
"aggregateFunction": "count", 聚合函数
"propertyKey": 聚合key
},
"inFieldConfigList": [ 入参配置
{
"propertyKey": "name", 与数据库字段传入映射名
"propertyName": "名称",
"inField": "companyName"接口传入参数名
}
],
"nodeList": [节点列表
{
"id": "1",
"label": "Company",
"nodeType": "START",节点类型
"propertyFilterGroupList": [节点属性过滤条件
{
"filterLogic": "AND",过滤逻辑有and or
"propertyFilterList": [
{
"propertyKey": "Company#name",过滤条件
"rule": "TextP.containing",过滤函数
"paraType": "CONSTANT",变量类型
"targetValue": [变量值
"公司"
],
"targetId": null,
"targetPropertyKey": null
}
]
}
]
},
{
"id": "2",
"label": "Person",
"nodeType": "END",
"propertyFilterGroupList": [],
"description": "person"
}
],
"edgeList": [边列表
{
"id": "3",
"label": "WORK_IN",
"sourceNodeId": "2",
"targetNodeId": "1",
"propertyFilterGroupList": [],
"description": "1"
}
]
}
步骤S22,从第一数据库服务器中查找是否存在与所述配置信息中的第一标识信息相同的第二标识信息。
在本实施例中,配置信息中的第一标识信息可以是英文名“name”或者中文名“chineseName”。通过判断第一标识信息是否与第二标识信息重复,能够避免对重复的配置信息进行脚本处理。
一方面,若第一数据库服务器500中存在与第一标识信息相同的第二标识信息,则服务器200向浏览器301发送错误提示信息,以提示用户输入的指标信息与第一数据库服务器500中的指标信息存在重复。另一方面,若第一数据库服务器500中不存在与第一标识信息相同的第二标识信息,则进入步骤S23。
步骤S23,在第一数据库服务器500中不存在与第一标识信息相同的第二标识信息时,根据所述配置信息中的信息节点以及所述信息节点的连线关系生成查询路径列表。
在本实施例中,所述查询路径列表中包括多个元素,每个元素表征一条查询路径,每条查询路径包括多个互相连接的信息节点。
步骤S24,根据每条查询路径对应的各个信息节点的约束条件生成每条查询路径对应的脚本文件,将每个脚本文件存入所述第一数据库服务器中。
在本实施例中,每个脚本文件对应一个标识信息。
步骤S25,接收终端设备传入的查询请求,在所述第一数据库服务器中查找是否存在与所述查询请求的第三标识信息相同的第四标识信息;若存在,则转向步骤S26。
步骤S26,在第二数据库服务器中执行所述第四标识信息对应的目标脚本文件,得到所述第三标识信息对应的查询结果,并将所述查询结果返回给所述终端设备。
在本实施例中,用户可以通过终端设备400向服务器200传入查询请求,该查询请求用于进行指标计算。例如,查询请求可以是“A公司的本年度业绩报告”,则查询请求的第三标识信息可以是“A公司”以及“年度业绩报告”。
在上述情况下,如果第一数据库服务器500中存在与第三标识信息相同的第四标识信息,服务器200则获取该第四标识信息对应的目标脚本文件,然后再第二数据库服务器600中执行该目标脚本文件,从而得到可视化的查询结果。可以理解,目标脚本文件可以用于表征对A公司的本年度业绩报告进行查询的查询语句。而服务器200可以直接调用该目标脚本文件进行查询,因此无需用户通过终端设备400手动编写查询语句,降低用户使用数据库进行查询的门槛。
由此可见,在执行上述方案时:
首先,获取浏览器发送的json格式的配置信息,并基于第一数据库服务器以及配置信息中的第一标识信息确定配置信息是否重复,在配置信息不重复时根据信息节点及其连线关系生成查询路径列表;
其次,根据查询路径对应的信息节点的约束条件生成脚本文件并存入第一数据库服务器;
然后,根据终端设备传入的查询请求的第三标识信息在第一数据库服务器中查找出与第四标识信息对应的目标脚本文件,进而在第二数据库服务器中执行目标脚本文件得到查询结果。
如此,预先基于配置文件确定与查询语句对应的脚本文件,无需用户自行编写查询语句。这样,可以直接根据用户的查询请求中的标识信息将第一数据库服务器中的脚本文件在第二数据库服务器中进行执行,以获得查询结果。确保不具备查询语句编写能力的用户也能够使用数据库进行信息查询。
在一种可替换的实施方式中,在上述步骤S23中,查询路径列表可以通过以下步骤S231-S233所描述的内容得到,具体描述如下。
步骤S231,将所述配置信息中存在设定节点标识的信息节点确定为初始信息节点。
在本实施例中,所述初始信息节点通过多个有向连边连接,每个有向连边用于表征信息节点之间的上下游关系,节点和有向连边常用于图分析技术中,
步骤S232,遍历所述初始信息节点的每个有向连边对应的下游信息节点,得到所述初始信息节点对应的多条遍历路径。
步骤S233,将所述多条遍历路径进行整合得到所述查询路径列表。
在本实施例中,设定节点标识对应的信息节点为开始节点,请结合参阅上述的json格式的配置文件,设定节点标识可以为“START”。
在确定查询路径列表时,首先找到开始节点,其次遍历开始节点的所有有向连边,然后把开始节点的每个有向连边所连接的另一个节点作为开始节点继续进行遍历,直到配置信息中的所有信息节点和有向连边均被遍历。在完成遍历后,可以得到多条遍历路径,通过将这些便利路径进行整合,可以得到查询路径列表。
如此,能够将每个信息节点及其上下游信息节点的连线关系考虑在内,从而避免对遍历路径的遗漏。这样,生成的查询路径列表更具完整性和准确性。
在一个示例中,步骤S24所描述的根据每条查询路径对应的各个信息节点的约束条件生成每条查询路径对应的脚本文件,具体可以包括以下步骤S241和S242所描述的内容。
步骤S241,确定每条查询路径对应的各个信息节点的有向连边对应的约束条件。
在本实施例中,所述约束条件包括用于对信息节点进行过滤的过滤条件、过滤函数和过滤逻辑。请结合参阅上述配置文件,过滤条件可以为"propertyKey": "Company#name",过滤函数可以为"rule": "TextP.containing",过滤逻辑为"filterLogic": "AND"。此外,约束条件还可以包括变量类型"paraType": "CONSTANT"和变量值"targetValue"。
步骤S242,获取每条查询路径对应的每相邻两个信息节点之间的约束条件的比对结果,基于所述比对结果生成每条查询路径对应的cypher脚本。
在确定比对结果时,可以将相邻两个信息节点之间的约束条件中的过滤条件、过滤函数、过滤逻辑、变量类型和变量值进行一一比对,比对结果相同的赋值为“1”,比对结果不同的赋值为“0”,然后基于赋值形成的字符串生成每条查询路径对应的cypher脚本。
在本实施例中,cypher是一个描述性的图形查询语言,允许不必编写图形结构的遍历代码对图形存储有表现力和效率的查询。进一步地,上述cypher脚本文件的结构下表所示。
字段名 | 类型 | 备注 |
id | bigint | id |
name | varhar(255) | 指标名 |
config_json | longtext | 配置json |
cypher_script | text | cypher脚本 |
进一步地,服务器200可以将上述每个cypher脚本文件存入第一数据库服务器500中,这样可以完成对cypher脚本文件的配置。便于后续直接调用cypher脚本文件进行信息查询。
在上述基础上,步骤S25所描述的在第二数据库服务器中执行所述第四标识信息对应的目标脚本文件,得到所述第三标识信息对应的查询结果,具体可以包括以下步骤S251-S256所描述的内容。
步骤S251,获取用于生成所述cypher脚本的第一线程信息以及获取所述第二数据库服务器的脚本执行线程的第二线程信息。
在本实施例中,第一线程信息包括cypher脚本的结构化描述信息。第二线程信息中包括出发第二数据库服务器启动脚本执行线程的编码信息。
步骤S252,分别提取所述第一线程信息的第一线程参数集以及所述第二线程信息的第二线程参数集。
在本实施例中,所述第一线程参数集和所述第二线程参数集均包括多个具有不同的响应时长的线程参数。服务器200和第二数据库服务器600在调用各自对应的线程参数时,响应时长用于表征每个线程参数的遍历时长。
步骤S253,获取所述第一线程参数集的任一线程参数的参数关联度,将所述第二线程参数集中具有最小响应时长的线程参数确定为基准参数。
在本实施例中,所述参数关联度用于表征线程参数在第一线程参数集中的影响权重,参数关联度可以是0~1之间的数值,参数关联度越大,线程参数在第一线程参数集中的影响权重越大。
步骤S254,计算所述参数关联度相对于所述基准参数的映射关联度,并基于所述参数关联度和所述映射关联度生成所述第一线程信息和所述第二线程信息之间用于进行线程配对的补偿信息。
在本实施例中,可以利用预设的映射关系对映射关联度进行计算。例如,参数关联度为q1,映射关系为f,则映射关联度可以为q2=f(q1)。其中,f为映射函数。
在本实施例中,补偿信息可以是对表1中的字段名、类型以及备注进行自适应调整的指向信息。
步骤S255,确定所述目标脚本文件在所述第一线程信息中的第一映射文件,采用所述补偿信息对所述第一映射文件进行补偿得到第二映射文件。
在本实施例中,可以采用补偿信息对第一映射文件中对应的字段名编码值、类型编码值和备注编码值等进行调整,从而确保第二映射文件与第二数据库服务器600的兼容性。
步骤S256,将所述第二映射文件导入所述第二数据库服务器的脚本执行线程中,使所述第二数据库服务器运行所述脚本执行线程,得到与所述第三标识信息对应的查询结果。
在本实施例中,查询结果可以通过可视化的形式输出。例如,可以将A公司的本年度业绩报告以柱状图或者饼状图的形式进行展示。
基于上述方法,可以通过浏览器301配置的方式将指标信息的计算进行逻辑表达,从而形成json格式的配置信息。然后根据配置信息确定第二数据库服务器600可直接执行的cypher脚本文件(查询语句)。这样,当用户在进行信息查询时,仅需要给出查询的标识信息,例如查询对象和查询目标,服务器200便可以根据查询对象和查询目标从第一数据库服务器500中调取对应的cypher脚本文件并在第二数据库服务器600中执行以获得查询结果。这样,无需用户通过终端设备手动编写查询语句,降低了用户使用数据库进行查询的门槛。
在上述基础上,请结合参阅图3,还提供了一种指标信息确定装置800,所述装置包括:信息获取模块810、标识查找模块820、列表生成模块830、脚本生成模块840和指标确定模块850。
所述信息获取模块810,用于获取所述浏览器发送的配置信息;其中,所述配置信息是所述浏览器将用户输入的指标信息进行数据格式转换得到的,所述配置信息的数据格式为json格式。
标识查找模块820,用于从第一数据库服务器中查找是否存在与所述配置信息中的第一标识信息相同的第二标识信息。
列表生成模块830,用于若所述第一数据库服务器中不存在所述第二标识信息,根据所述配置信息中的信息节点以及所述信息节点的连线关系生成查询路径列表;其中,所述查询路径列表中包括多个元素,每个元素表征一条查询路径,每条查询路径包括多个互相连接的信息节点。
脚本生成模块840,用于根据每条查询路径对应的各个信息节点的约束条件生成每条查询路径对应的脚本文件,将每个脚本文件存入所述第一数据库服务器中;其中,每个脚本文件对应一个标识信息。
指标确定模块850,用于接收终端设备传入的查询请求,在所述第一数据库服务器中查找是否存在与所述查询请求的第三标识信息相同的第四标识信息;若存在,在第二数据库服务器中执行所述第四标识信息对应的目标脚本文件,得到所述第三标识信息对应的查询结果,并将所述查询结果返回给所述终端设备。
可选地,所述标识查找模块820,还用于:
若所述第一数据库服务器中存在所述第二标识信息,向所述浏览器发送错误提示信息。
可选地,所述列表生成模块830,进一步用于:
将所述配置信息中存在设定节点标识的信息节点确定为初始信息节点;其中,所述初始信息节点通过多个有向连边连接;
遍历所述初始信息节点的每个有向连边对应的下游信息节点,得到所述初始信息节点对应的多条遍历路径;
将所述多条遍历路径进行整合得到所述查询路径列表。
可选地,所述脚本生成模块840,进一步用于:
确定每条查询路径对应的各个信息节点的有向连边对应的约束条件;其中,所述约束条件包括用于对信息节点进行过滤的过滤条件、过滤函数和过滤逻辑;
获取每条查询路径对应的每相邻两个信息节点之间的约束条件的比对结果,基于所述比对结果生成每条查询路径对应的cypher脚本。
可选地,所述指标确定模块850,进一步用于:
获取用于生成所述cypher脚本的第一线程信息以及获取所述第二数据库服务器的脚本执行线程的第二线程信息;
分别提取所述第一线程信息的第一线程参数集以及所述第二线程信息的第二线程参数集,所述第一线程参数集和所述第二线程参数集均包括多个具有不同的响应时长的线程参数;
获取所述第一线程参数集的任一线程参数的参数关联度,将所述第二线程参数集中具有最小响应时长的线程参数确定为基准参数;其中,所述参数关联度用于表征线程参数在第一线程参数集中的影响权重;
计算所述参数关联度相对于所述基准参数的映射关联度,并基于所述参数关联度和所述映射关联度生成所述第一线程信息和所述第二线程信息之间用于进行线程配对的补偿信息;
确定所述目标脚本文件在所述第一线程信息中的第一映射文件,采用所述补偿信息对所述第一映射文件进行补偿得到第二映射文件;
将所述第二映射文件导入所述第二数据库服务器的脚本执行线程中,使所述第二数据库服务器运行所述脚本执行线程,得到与所述第三标识信息对应的查询结果;其中,所述第二数据库服务器为JanusGraph数据库。
关于上述功能模块的描述请参阅对上述步骤S21-步骤S26的说明,在此不作更多说明。
综上,应用本申请所提供的上述方案时,预先基于配置文件确定与查询语句对应的脚本文件,无需用户自行编写查询语句。这样,可以直接根据用户的查询请求中的标识信息将第一数据库服务器中的脚本文件在第二数据库服务器中进行执行,以获得查询结果。同时,可确保不具备查询语句编写能力的用户也能够通过图数据库进行图分析指标信息的快速查询,降低用户使用图数据库进行图分析指标信息查询的门槛。此外,由于不需要获取用户输入的查询语句,因此服务器无需将开发端的接口暴露给终端设备,这样能够确保服务器的数据安全性。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (8)
1.一种指标信息确定方法,其特征在于,应用于服务器,所述服务器与安装有浏览器的用户终端通信,所述方法包括:
获取所述浏览器发送的配置信息;其中,所述配置信息是所述浏览器将用户输入的指标信息进行数据格式转换得到的,所述配置信息的数据格式为json格式;
从第一数据库服务器中查找是否存在与所述配置信息中的第一标识信息相同的第二标识信息;
若所述第一数据库服务器中不存在所述第二标识信息,根据所述配置信息中的信息节点以及所述信息节点的连线关系生成查询路径列表;其中,所述查询路径列表中包括多个元素,每个元素表征一条查询路径,每条查询路径包括多个互相连接的信息节点;
根据每条查询路径对应的各个信息节点的约束条件生成每条查询路径对应的脚本文件,将每个脚本文件存入所述第一数据库服务器中;其中,每个脚本文件对应一个标识信息;
接收终端设备传入的查询请求,在所述第一数据库服务器中查找是否存在与所述查询请求的第三标识信息相同的第四标识信息;若存在,在第二数据库服务器中执行所述第四标识信息对应的目标脚本文件,得到所述第三标识信息对应的查询结果,并将所述查询结果返回给所述终端设备;其中,所述查询结果中包括与所述第三标识信息对应的指标信息;
其中,根据每条查询路径对应的各个信息节点的约束条件生成每条查询路径对应的脚本文件,具体包括:
确定每条查询路径对应的各个信息节点的有向连边对应的约束条件;其中,所述约束条件包括用于对信息节点进行过滤的过滤条件、过滤函数和过滤逻辑;
获取每条查询路径对应的每相邻两个信息节点之间的约束条件的比对结果,基于所述比对结果生成每条查询路径对应的cypher脚本。
2.根据权利要求1所述的指标信息确定方法,其特征在于,所述方法还包括:
若所述第一数据库服务器中存在所述第二标识信息,向所述浏览器发送错误提示信息。
3.根据权利要求1所述的指标信息确定方法,其特征在于,所述根据所述配置信息中的信息节点以及所述信息节点的连线关系生成查询路径列表,包括:
将所述配置信息中存在设定节点标识的信息节点确定为初始信息节点;其中,所述初始信息节点通过多个有向连边连接;
遍历所述初始信息节点的每个有向连边对应的下游信息节点,得到所述初始信息节点对应的多条遍历路径;
将所述多条遍历路径进行整合得到所述查询路径列表。
4.根据权利要求1所述的指标信息确定方法,其特征在于,所述在第二数据库服务器中执行所述第四标识信息对应的目标脚本文件,得到所述第三标识信息对应的查询结果,包括:
获取用于生成所述cypher脚本的第一线程信息以及获取所述第二数据库服务器的脚本执行线程的第二线程信息;
分别提取所述第一线程信息的第一线程参数集以及所述第二线程信息的第二线程参数集,所述第一线程参数集和所述第二线程参数集均包括多个具有不同的响应时长的线程参数;
获取所述第一线程参数集的任一线程参数的参数关联度,将所述第二线程参数集中具有最小响应时长的线程参数确定为基准参数;其中,所述参数关联度用于表征线程参数在第一线程参数集中的影响权重;
计算所述参数关联度相对于所述基准参数的映射关联度,并基于所述参数关联度和所述映射关联度生成所述第一线程信息和所述第二线程信息之间用于进行线程配对的补偿信息;
确定所述目标脚本文件在所述第一线程信息中的第一映射文件,采用所述补偿信息对所述第一映射文件进行补偿得到第二映射文件;
将所述第二映射文件导入所述第二数据库服务器的脚本执行线程中,使所述第二数据库服务器运行所述脚本执行线程,得到与所述第三标识信息对应的查询结果;其中,所述第二数据库服务器为JanusGraph数据库。
5.一种指标信息确定装置,其特征在于,应用于服务器,所述服务器与安装有浏览器的用户终端通信,所述装置包括:
信息获取模块,用于获取所述浏览器发送的配置信息;其中,所述配置信息是所述浏览器将用户输入的指标信息进行数据格式转换得到的,所述配置信息的数据格式为json格式;
标识查找模块,用于从第一数据库服务器中查找是否存在与所述配置信息中的第一标识信息相同的第二标识信息;
列表生成模块,用于若所述第一数据库服务器中不存在所述第二标识信息,根据所述配置信息中的信息节点以及所述信息节点的连线关系生成查询路径列表;其中,所述查询路径列表中包括多个元素,每个元素表征一条查询路径,每条查询路径包括多个互相连接的信息节点;
脚本生成模块,用于根据每条查询路径对应的各个信息节点的约束条件生成每条查询路径对应的脚本文件,将每个脚本文件存入所述第一数据库服务器中;其中,每个脚本文件对应一个标识信息;
指标确定模块,用于接收终端设备传入的查询请求,在所述第一数据库服务器中查找是否存在与所述查询请求的第三标识信息相同的第四标识信息;若存在,在第二数据库服务器中执行所述第四标识信息对应的目标脚本文件,得到所述第三标识信息对应的查询结果,并将所述查询结果返回给所述终端设备;其中,所述查询结果中包括与所述第三标识信息对应的指标信息;
其中,所述脚本生成模块,具体用于:
确定每条查询路径对应的各个信息节点的有向连边对应的约束条件;其中,所述约束条件包括用于对信息节点进行过滤的过滤条件、过滤函数和过滤逻辑;
获取每条查询路径对应的每相邻两个信息节点之间的约束条件的比对结果,基于所述比对结果生成每条查询路径对应的cypher脚本。
6.根据权利要求5所述的指标信息确定装置,其特征在于,所述标识查找模块,还用于:
若所述第一数据库服务器中存在所述第二标识信息,向所述浏览器发送错误提示信息。
7.根据权利要求5所述的指标信息确定装置,其特征在于,所述列表生成模块,进一步用于:
将所述配置信息中存在设定节点标识的信息节点确定为初始信息节点;其中,所述初始信息节点通过多个有向连边连接;
遍历所述初始信息节点的每个有向连边对应的下游信息节点,得到所述初始信息节点对应的多条遍历路径;
将所述多条遍历路径进行整合得到所述查询路径列表。
8.根据权利要求5所述的指标信息确定装置,其特征在于,所述指标确定模块,进一步用于:
获取用于生成所述cypher脚本的第一线程信息以及获取所述第二数据库服务器的脚本执行线程的第二线程信息;
分别提取所述第一线程信息的第一线程参数集以及所述第二线程信息的第二线程参数集,所述第一线程参数集和所述第二线程参数集均包括多个具有不同的响应时长的线程参数;
获取所述第一线程参数集的任一线程参数的参数关联度,将所述第二线程参数集中具有最小响应时长的线程参数确定为基准参数;其中,所述参数关联度用于表征线程参数在第一线程参数集中的影响权重;
计算所述参数关联度相对于所述基准参数的映射关联度,并基于所述参数关联度和所述映射关联度生成所述第一线程信息和所述第二线程信息之间用于进行线程配对的补偿信息;
确定所述目标脚本文件在所述第一线程信息中的第一映射文件,采用所述补偿信息对所述第一映射文件进行补偿得到第二映射文件;
将所述第二映射文件导入所述第二数据库服务器的脚本执行线程中,使所述第二数据库服务器运行所述脚本执行线程,得到与所述第三标识信息对应的查询结果;其中,所述第二数据库服务器为JanusGraph数据库。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010452110.7A CN111368154B (zh) | 2020-05-26 | 2020-05-26 | 指标信息确定方法及指标信息确定装置 |
US17/228,961 US11144562B1 (en) | 2020-05-26 | 2021-04-13 | Method and apparatus of indicator information determination |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010452110.7A CN111368154B (zh) | 2020-05-26 | 2020-05-26 | 指标信息确定方法及指标信息确定装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111368154A CN111368154A (zh) | 2020-07-03 |
CN111368154B true CN111368154B (zh) | 2020-08-07 |
Family
ID=71209671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010452110.7A Active CN111368154B (zh) | 2020-05-26 | 2020-05-26 | 指标信息确定方法及指标信息确定装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11144562B1 (zh) |
CN (1) | CN111368154B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112037052B (zh) * | 2020-11-04 | 2021-01-26 | 上海冰鉴信息科技有限公司 | 用户行为检测方法及装置 |
CN113836212B (zh) * | 2021-09-27 | 2023-09-08 | 易保网络技术(上海)有限公司 | 数据库数据自动生成Json数据的方法、可读介质和电子设备 |
CN116383454B (zh) * | 2023-04-10 | 2024-01-30 | 星环信息科技(上海)股份有限公司 | 图数据库的数据查询方法、电子设备及存储介质 |
CN117216115B (zh) * | 2023-11-09 | 2024-02-02 | 西安热工研究院有限公司 | Dcs画面测点校验及订阅方法、系统、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104268428A (zh) * | 2014-10-14 | 2015-01-07 | 国家电网公司 | 一种用于指标计算的可视化配置方法 |
US20170091293A1 (en) * | 2015-09-28 | 2017-03-30 | Microsoft Technology Licensing, Llc | Generation of data flow from syntax tree |
CN107092635A (zh) * | 2017-02-15 | 2017-08-25 | 北京小度信息科技有限公司 | 数据查询方法、装置、服务器、请求端及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10606570B2 (en) * | 2018-03-08 | 2020-03-31 | Fujitsu Limited | Representing software with an abstract code graph |
US11693848B2 (en) * | 2018-08-07 | 2023-07-04 | Accenture Global Solutions Limited | Approaches for knowledge graph pruning based on sampling and information gain theory |
-
2020
- 2020-05-26 CN CN202010452110.7A patent/CN111368154B/zh active Active
-
2021
- 2021-04-13 US US17/228,961 patent/US11144562B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104268428A (zh) * | 2014-10-14 | 2015-01-07 | 国家电网公司 | 一种用于指标计算的可视化配置方法 |
US20170091293A1 (en) * | 2015-09-28 | 2017-03-30 | Microsoft Technology Licensing, Llc | Generation of data flow from syntax tree |
CN107092635A (zh) * | 2017-02-15 | 2017-08-25 | 北京小度信息科技有限公司 | 数据查询方法、装置、服务器、请求端及系统 |
Non-Patent Citations (2)
Title |
---|
Semantic Desktop Search Application for Hindi-English Code-Mixed user Query with Query Sequence analysis;Amit Jena等;《2017 2nd IEEE International Conference on Recent Trends in Electronics, Information & Communication Technology (RTEICT)》;20171231;第930-934页 * |
基于Django 和MySQL 的网络化测试数据查询系统研究;罗广恒;《智能物联技术》;20190331;第51卷(第2期);第15-21页 * |
Also Published As
Publication number | Publication date |
---|---|
US11144562B1 (en) | 2021-10-12 |
CN111368154A (zh) | 2020-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111368154B (zh) | 指标信息确定方法及指标信息确定装置 | |
CN110543517B (zh) | 一种基于Elasticsearch实现海量数据复杂查询方法、装置及介质 | |
US7702685B2 (en) | Querying social networks | |
JP4920023B2 (ja) | オブジェクト間競合指標計算方法およびシステム | |
US10915508B2 (en) | Data linking | |
CN109284323B (zh) | 检测数据的管理方法及装置 | |
CN112711591B (zh) | 基于知识图谱的字段级的数据血缘确定方法及装置 | |
CN109062952A (zh) | 一种数据查询方法、装置及电子设备 | |
CN108009296B (zh) | 一种基于Hbase的SQL查询方法、系统及相关装置 | |
US20110131247A1 (en) | Semantic Management Of Enterprise Resourses | |
CN110659282B (zh) | 数据路由的构建方法、装置、计算机设备和存储介质 | |
CN112650858B (zh) | 应急协助信息的获取方法、装置、计算机设备及介质 | |
CN111198898B (zh) | 大数据查询方法及大数据查询装置 | |
EP2713288A1 (en) | Foreign key identification in database management systems | |
CN110166522A (zh) | 服务器识别方法、装置、可读存储介质和计算机设备 | |
CN104636386A (zh) | 信息监控方法及装置 | |
CN116628228B (zh) | 一种rpa流程推荐方法以及计算机可读存储介质 | |
CN116450908B (zh) | 基于数据湖的自助式数据分析方法、装置和电子设备 | |
CN107818419B (zh) | 一种功能测试范围的确定方法及装置 | |
US20220284060A1 (en) | Question Answering Method and Apparatus Based on Knowledge Graph | |
CN116070263A (zh) | 数据脱敏处理方法、网关及存储介质 | |
CN112579709B (zh) | 一种数据表识别方法、装置、存储介质及电子设备 | |
CN114138821A (zh) | 一种数据库查询方法、系统和电子设备 | |
Zhang et al. | Representing and reasoning about xml with ontologies | |
CN113934729A (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 |