CN108733688B - 数据分析的方法、装置 - Google Patents

数据分析的方法、装置 Download PDF

Info

Publication number
CN108733688B
CN108733688B CN201710252100.7A CN201710252100A CN108733688B CN 108733688 B CN108733688 B CN 108733688B CN 201710252100 A CN201710252100 A CN 201710252100A CN 108733688 B CN108733688 B CN 108733688B
Authority
CN
China
Prior art keywords
data
database
command
graph
relational
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
Application number
CN201710252100.7A
Other languages
English (en)
Other versions
CN108733688A (zh
Inventor
游正朋
梅尚健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201710252100.7A priority Critical patent/CN108733688B/zh
Publication of CN108733688A publication Critical patent/CN108733688A/zh
Application granted granted Critical
Publication of CN108733688B publication Critical patent/CN108733688B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种数据分析的方法、装置,能够同时满足批量数据的实时分析和实时访问要求。本发明的数据分析的方法在列式数据库和分布式图查询引擎之间设置有接口适配层,该方法包括:将所述分布式图查询引擎的图操作命令进行转换并发送至所述列式数据库。

Description

数据分析的方法、装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据分析的方法、装置。
背景技术
社区关系网络是用户之间通过某些联系而形成网状关联,例如相同的收货手机号码、相同的下单IP(Internet Protocol Address网际协议地址)地址、相同的手机号码和IP地址等组合关系等,通过分析社区关系网络的网络密度、边数量、三元闭包等特性,可以很好的分析出黄牛群体、刷单群体等潜在风险群体。
基于图模型的社区关系网络注重实体之间的相互关联,具有高度复杂性,在电子商务、移动运营、风险控制等领域的应用越来越广泛,对关系网络数据的实时访问和实时分析的需求也越来越多。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
1、开源免费的图数据库有的不支持分布式(例如图形数据库neo4j),有的已经停止更新(例如图数据库titan),不足以满足大数据量的社区关系数据的实时分析和访问功能;
2、HBase(非关系型分布式数据库)、MySql(关系型数据库管理系统)、Cassandra(开源分布式非关系型数据库系统)等虽然可以满足大数据量的数据实时访问功能,但是它不能支持批量数据的实时分析功能,必须将HBase、Cassandra、Mysql中的关系数据进行离线数据移动到HDFS(分布式文件系统)上,再进行数据分析,业务处理流程复杂、速度慢,不能及时的响应变化的业务需求;
3、gremlin(图计算框架TinkerPop的图查询语言)是一种复杂的查询语言,对使用者有较高要求。
因此,现有的技术方案不能同时满足批量数据的实时分析和实时访问要求。
发明内容
有鉴于此,本发明实施例提供一种数据分析的方法、装置、电子设备和可读存储介质,能够同时满足批量数据的实时分析和实时访问要求。
为实现上述目的,根据本发明的一个方面,提供了一种数据分析的方法。
本发明的一种数据分析的方法,其中,在列式数据库和分布式图查询引擎之间设置有接口适配层,该方法包括:将所述分布式图查询引擎的图操作命令进行转换并发送至所述列式数据库。
可选地,将所述分布式图查询引擎的图操作命令进行转换并发送至所述列式数据库包括:接收所述分布式图查询引擎发送的图操作命令;将所述图操作命令转换为列式数据库命令;向所述列式数据库发送所述列式数据库命令。
可选地,所述图操作命令包括:增加数据命令、删除数据命令、修改数据命令、查询数据命令;所述图操作命令携带有标识信息或统计特征。
可选地,当所述图操作命令为所述增加数据命令时,向所述列式数据库发送所述增加数据命令;将线上关系数据和离线关系数据输入到所述列式数据库的数据库表。
可选地,将线上关系数据和离线关系数据输入到所述列式数据库的数据库表包括:将处于队列中的所述线上关系数据输入到所述数据库表;以及,将所述离线关系数据中具有相同属性或相同属性组合的关系数据进行关联,得到关联数据,将所述关联数据输入到所述数据库表。
可选地,当所述图操作命令为所述查询数据命令时;根据所述查询数据命令携带的所述标识信息查询所述列式数据库,得到所述关系网络并进行展示;或,根据所述查询数据命令携带的所述统计特征查询所述列式数据库,得到所述关系网络,根据所述关系网络生成所述分析表。
可选地,将所述关系网络或所述分析表在应用层缓存,并设置缓存数量和过期时间。
可选地,所述数据库表包括元数据表、顶点数据表、顶点索引数据表、边数据表、边索引数据表。
可选地,所述分布式图查询引擎是Tinkerpop3图查询引擎,以及所述列式数据库是Kudu数据库。
为实现上述目的,根据本发明的另一方面,提供了一种数据分析的装置。
本发明的一种数据分析的装置,其中,在列式数据库和分布式图查询引擎之间设置有接口适配层,该装置包括:发送模块,用于将所述分布式图查询引擎的图操作命令进行转换并发送至所述列式数据库。
可选地,所述发送模块还用于:接收所述分布式图查询引擎发送的图操作命令;将所述图操作命令转换为列式数据库命令;向所述列式数据库发送所述列式数据库命令。
可选地,所述图操作命令包括:增加数据命令、删除数据命令、修改数据命令、查询数据命令;所述图操作命令携带有标识信息或统计特征。
可选地,当所述图操作命令为所述增加数据命令时,向所述列式数据库发送所述增加数据命令;将线上关系数据和离线关系数据输入到所述列式数据库的数据库表。
可选地,所述发送模块还用于:将处于队列中的所述线上关系数据输入到所述数据库表;以及,将所述离线关系数据中具有相同属性或相同属性组合的关系数据进行关联,得到关联数据,将所述关联数据输入到所述数据库表。
可选地,当所述图操作命令为所述查询数据命令时;根据所述查询数据命令携带的所述标识信息查询所述列式数据库,得到所述关系网络并进行展示;或,根据所述查询数据命令携带的所述统计特征查询所述列式数据库,得到所述关系网络,根据所述关系网络生成所述分析表。
可选地,所述发送模块还用于:将所述关系网络或所述分析表在应用层缓存,并设置缓存数量和过期时间。
可选地,所述数据库表包括元数据表、顶点数据表、顶点索引数据表、边数据表、边索引数据表。
可选地,所述分布式图查询引擎是Tinkerpop3图查询引擎,以及所述列式数据库是Kudu数据库。
为实现上述目的,根据本发明的再一方面,提供了一种电子设备。
本发明的一种电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明所提供的数据分析的方法。
为实现上述目的,根据本发明的再一方面,提供了一种计算机可读介质。
本发明的一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明所提供的数据分析的方法。
上述发明中的一个实施例具有如下优点或有益效果:因为采用列式数据库存储关系数据,使用分布式图查询引擎做为关系数据查询引擎,在列式数据库和分布式图查询引擎之间设置有接口适配层,通过接口适配层将分布式图查询引擎的图操作命令发送至列式数据库,从而,将分布式图查询引擎和列式数据库融合在一起,同时,结合数据库表存储结构的设计,实现了分布式图数据库的实时访问和实时分析功能,解决了对批量数据进行数据分析时不能同时实时访问和实时分析的问题,降低了现有框架的复杂度,进而降低了数据分析的学习与使用成本,提高了数据分析的实时分析效率和准确率。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的数据分析的方法的主要步骤的示意图;
图2是根据本发明实施例的数据分析的方法的实现框架的示意图;
图3是根据本发明实施例的数据分析的方法的接口适配层进行批量关系数据分析的工作流程的示意图;
图4是根据本发明实施例的数据分析的方法的关系数据存储、分析的示意图;
图5是根据本发明实施例的数据分析的方法的关系网络的示意图;
图6是根据本发明实施例的数据分析的装置的主要模块的示意图;
图7是适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明实施例的数据分析的方法的主要步骤的示意图。
如图1所示,本发明实施例的一种数据分析的方法在列式数据库和分布式图查询引擎之间设置有接口适配层,主要包括如下步骤:
步骤S101:将分布式图查询引擎的图操作命令进行转换并发送至列式数据库。
由于当前没有开源、免费并且成熟可用的图数据库,本发明实施例提出使用列式数据库存储关系数据,使用分布式图查询引擎做为关系数据查询引擎,在列式数据库和分布式图查询引擎之间设置有接口适配层,通过接口适配层将分布式图查询引擎的图操作命令发送至列式数据库,从而,将分布式图查询引擎和列式数据库融合在一起。
在本发明实施例中,本步骤可以通过接收分布式图查询引擎发送的图操作命令;将图操作命令转换为列式数据库命令;向列式数据库发送列式数据库命令。
由于列式数据库无法识别分布式图查询引擎的图操作命令,因此,需要通过接口适配层将图操作命令转换为列式数据库命令。
图操作命令根据功能划分为多种,在本发明实施例中,图操作命令包括:增加数据命令、删除数据命令、修改数据命令、查询数据命令;图操作命令携带有标识信息或统计特征。
通过在图操作命令中携带标识信息或统计特征,列式数据库能够查找对应的关系数据,并执行与图操作命令对应的操作。
在使用的过程中,需要经常查询列式数据库以及存储数据,在本发明实施例中,当图操作命令为增加数据命令时,向列式数据库发送增加数据命令;将线上关系数据和离线关系数据输入到列式数据库的数据库表。
当需要存储数据时,则图操作命令转换为列式数据库的增加数据命令,通过接口适配层将增加数据命令发送到列式数据库,从而将线上关系数据和离线关系数据输入到列式数据库的数据库表。
在本发明实施例中,将处于队列中的线上关系数据输入到数据库表;以及,将离线关系数据中具有相同属性或相同属性组合的关系数据进行关联,得到关联数据,将关联数据输入到数据库表。
由于列式数据库支持数据的原地更新,为了确保关系数据的真实可靠,可以通过流式实时计算框架实时调用和分析动态变化的用户数据,将变化的关系数据实时更新到数据库表中。
对于离线关系数据,需要进行关系数据加工和处理,根据相同的属性或者相同的属性组合对离线关系数据进行关联,例如:相同的手机号码、相同的注册IP地址、相同的手机号码和IP地址等。
在本发明实施例中,当图操作命令为查询数据命令时;根据查询数据命令携带的标识信息查询列式数据库,得到关系网络并进行展示;或,根据查询数据命令携带的统计特征查询列式数据库,得到关系网络,根据关系网络生成分析表。
由于图操作命令中携带有标识信息或统计特征,标识信息可以是IP地址、手机号码等;统计特征可以是某种特征或某几种特征的组合,例如某个时间段,在进行查询时,列式数据库根据查询数据命令所携带的标识信息或统计特征遍历列式数据库能够得到相关的关系数据,从而根据相关的关系数据得到关系网络,进而展示关系网络,或根据关系网络生成分析表。
在本发明实施例中,将关系网络或分析表在应用层缓存,并设置缓存数量和过期时间。
通过在应用层设置缓存,在根据某个条件或特征查询之后的一段时间内,再次查询该条件或特征时直接使用上次的查询结果,不必重新在数据库中再次查询。同时,为了保证查询的时效性,可以根据实际情况为缓存设置过期时间。
在本发明实施例中,数据库表包括元数据表、顶点数据表、顶点索引数据表、边数据表、边索引数据表。
数据库表包括元数据表、顶点数据表、顶点索引数据表、边数据表、边索引数据表,具体的,顶点数据表用于存储用户数据;边数据表用于存储用户之间存在的关联;顶点索引数据表用于存储顶点数据的索引;边索引数据表用于存储边数据的索引;元数据表用于存储顶点数据表、顶点索引数据表、边数据表、边索引数据表的信息。
在本发明实施例中,分布式图查询引擎是Tinkerpop3图查询引擎,以及列式数据库是Kudu数据库。
TinkerPop3是一种开源的、与供应商无关的图计算框架,可以将底层存储数据映射为一个图模型框架,使用图查询语言(Gremlin)进行访问,既适用于需要随机访问的联机事务处理(OLTP),也适用于需要批量数据分析的联机分析处理(OLAP)。
Kudu是一种开源的列式数据库,对数据扫描和随机访问同时具有高性能,降低用户构造混合架构的复杂度,可以支持数据的原地更新,避免额外的数据处理、数据移动。Kudu有很高的中央处理器(CPU)利用效率和输入/输出(I/O)利用效率,提高用户在现代CPU和存储上的投入产出比。
图2是根据本发明实施例的数据分析的方法的实现框架的示意图。
如图2所示,上层采用分布式图查询引擎,分布式图查询引擎能够进行关系图的遍历、更新和查询操作;底层采用列式数据库存储关系数据,列式数据库能够同时支持数据的实时访问和批量更新;通过接口适配层将分布式图查询引擎和列式数据库融合在一起,并添加基于分布式图查询引擎的结构化查询语言类SQL(结构化查询语言)访问接口。
在本发明实施例中,接口适配层的主要作用是命令转换,将分布式图查询引擎的图操作命令转换为列式数据库的操作命令。
具体的,接口适配层具有如下功能:
1、为顶点数据和边数据设置索引和删除索引。
接口适配层能够在任何时间为数据库表设置和删除索引,即能够保证索引的时效性,还能及时清除无效的索引。
2、在实时查询关系数据时在应用层缓存,并设置缓存数量和过期时间。
通过在应用层设置缓存,使得根据某个条件或特征查询之后的一段时间内,再次查询该条件或特征时直接使用上次的查询结果,不必重新在数据库中再次查询。
3、对列式数据库中的批量关系数据进行实时分析。
具体的批量关系数据分析流程如下:
1)查询元数据表中的顶点数据表、顶点索引数据表、边数据表、边索引数据表的信息,不存在则报错;
2)查询顶点索引数据表,如果存在顶点的索引,则找到这个顶点主键(顶点ID),如果不存在顶点的索引,则查询顶点数据表,找到顶点主键(顶点ID);
3)在边索引数据表中查找带有源顶点ID的边ID和目的顶点ID,如果存在则得到边ID和目的顶点ID,如果不存在,则在边数据表中查找边ID和目的顶点ID;
4)根据上一步中得到的目的顶点ID,重复2)和3),直至无法再查找到有关联的顶点信息。
4、使用类SQL语句实现gremlin的遍历查找。
Gremlin是分布式图查询引擎中操作图表的语言,gremlin语法复杂且晦涩难懂,通过接口适配层将gremlin语法翻译成简单且通用的SQL语法,举例说明:
例1:表示策略的顶点,查询顶点中所有的策略信息
gremlin>g.V().hasLabel("category").valueMap()
转换成类似SQL的语句:SELECT*FROM Categories
例2:表示策略的顶点,查询所有顶点的策略名字
gremlin>g.V().hasLabel("category").values("name")
转换成类似SQL的语句:SELECT CategoryName FROM Categories
如图3所示,本发明实施例的数据分析的方法的接口适配层进行批量关系数据分析的工作流程如下:
步骤301:输入类SQL语句。
例如分析人员需要分析3月1号到3月2号之间的所有用户关系信息,即输入:
SELECT*FROM Categories where begin_time>='2017-03-01'and end_time<='2017-03-02'。
步骤302:将类SQL语句转换成gremlin语法格式。
步骤303:通过gremlin语句调用列式数据库的扫描接口进行数据扫描操作。
图4是根据本发明实施例的数据分析的方法的关系数据存储、分析的示意图。
如图4所示,本发明实施例的数据分析的方法的关系数据存储、分析的主要工作流程分为线上关系数据存储、离线关系数据存储、实时分析三部分。
1、线上关系数据的存储
由于列式数据库支持数据的原地更新,为了确保关系数据的真实可靠,可以通过流式实时计算框架实时调用和分析动态变化的用户数据,将变化的关系数据实时更新到数据库表中,其中,数据库表包括元数据表、顶点数据表、顶点索引数据表、边数据表、边索引数据表,具体的,顶点数据表用于存储用户数据;边数据表用于存储用户之间存在的关联;顶点索引数据表用于存储顶点数据的索引;边索引数据表用于存储边数据的索引;元数据表用于存储顶点数据表、顶点索引数据表、边数据表、边索引数据表的信息。需要注意的是,在添加顶点数据和边数据时,对每一条数据添加索引,并将索引添加到相应的索引表中。
如表1-5所示,分别是顶点数据表的字段设计、边数据表的字段设计、顶点索引数据表的字段设计、边索引数据表的字段设计、元数据表的字段设计。
在数据库表中,主键是一个特定名字,主键的作用是保证实体的完整性,主键的值能唯一地标识表中的每一行且每一行的主键不能和其他行重复。例如银行账户中的卡号可以唯一标识一个用户,它就可以作为一个主键,身份证号可以唯一标识一个人,也可以作为一个主键。属性是用户的特征。
主健:点ID 创建/更新时间 点的属性
表1
主健:边ID 创建/更新时间 源点ID 目的点ID 边的属性
表2
主健:(是否唯一) 创建/更新时间 源点ID 点ID(如果唯一)
表3
Figure BDA0001272364700000131
表4
Figure BDA0001272364700000132
表5
在进行线上关系数据存储时,线上关系数据进入消息队列,通过流式实时计算框架将消息队列中的线上关系数据存储到列式数据库。
2、离线关系数据的存储
离线关系数据需要进行关系数据加工和处理,根据相同的属性或者相同的属性组合对离线关系数据进行关联,例如:相同的手机号码、相同的注册IP地址、相同的手机号码和IP地址等。
在进行线上关系数据存储时,通过分布式图处理框架对离线关系数据进行关系数据加工和处理,并存储到列式数据库。需要注意的是分布式图处理框架在对离线关系数据进行关系数据加工和处理的过程中还进行社区关系网络发现,并计算出其中的社区关系网络。需要说明的是,社区关系网络是由很多关系网络组合而成的,这些关系网络之间没有连接关系或者关系非常弱,可以把关系非常弱的关系网络理解为没有连接关系。
3、实时分析
列式数据库能够支持数据的批量扫描,因此,可以通过类SQL访问接口对关系数据进行实时分析,包括单个分析和批量分析。
1)单个分析
使用类SQL语句根据用户的手机号码等唯一标识信息查询关联到的其他用户,从而得到关系网络,并对关系网络进行网状可视化显示。如图5所示,本发明实施例的数据分析的方法的关系网络的示意图中的圆点表示用户,即点数据;连接线表示两个用户之间存在的关系,即边数据。
2)批量分析
使用类SQL语句根据统计纬度对关系数据进行批量分析,统计关系数据生成分析表,其中,统计纬度可以是某个特征或某几个特征的组合,例如统计某个时间段内的数据。
如表6所示,本发明实施例的数据分析的方法的批量分析表包括统计时长、统计指标、统计信息,例如统计时长可以是几分钟、几小时、几天、几周、几月等;统计指标可以是关系网络中度大于100的顶点、关系网络中的三角关系的数量大于50的社区、关系网络中的顶点数大于200的社区、关系网络中模块度大于0.8的社区。其中,度,即顶点的度,表示顶点连接的边数,度越大表示关系越复杂;模块度,也称模块化度量值,用于衡量关系网络结构的强度,模块度越大,说明社区结构的强度越强,也就是划分质量越好,模块度的取值范围是0~1;三角计数,即社区关系网络中三角关系的数量,三角关系的数量越多表示社区结构的强度越强。
Figure BDA0001272364700000151
表6
根据本发明实施例的数据分析的方法可以看出,因为采用列式数据库存储关系数据,使用分布式图查询引擎做为关系数据查询引擎,在列式数据库和分布式图查询引擎之间设置有接口适配层,通过接口适配层将分布式图查询引擎的图操作命令发送至列式数据库,从而,将分布式图查询引擎和列式数据库融合在一起,同时,结合数据库表存储结构的设计,实现了分布式图数据库的实时访问和实时分析功能,解决了对批量数据进行数据分析时不能同时实时访问和实时分析的问题,降低了现有框架的复杂度,进而降低了数据分析的学习与使用成本,提高了数据分析的实时分析效率和准确率。
图6是根据本发明实施例的数据分析的装置的主要模块的示意图。
如图6所示,本发明实施例的数据分析的装置600,在列式数据库和分布式图查询引擎之间设置有接口适配层,该装置主要包括:发送模块601。
其中:
发送模块601,用于将所述分布式图查询引擎的图操作命令进行转换并发送至所述列式数据库。
此外,所述发送模块还可用于:接收所述分布式图查询引擎发送的图操作命令;将所述图操作命令转换为列式数据库命令;向所述列式数据库发送所述列式数据库命令。
本发明实施例中,所述图操作命令包括:增加数据命令、删除数据命令、修改数据命令、查询数据命令;所述图操作命令携带有标识信息或统计特征。
本发明实施例中,当所述图操作命令为所述增加数据命令时,向所述列式数据库发送所述增加数据命令;将线上关系数据和离线关系数据输入到所述列式数据库的数据库表。
此外,所述发送模块还用于:将处于队列中的所述线上关系数据输入到所述数据库表;以及,将所述离线关系数据中具有相同属性或相同属性组合的关系数据进行关联,得到关联数据,将所述关联数据输入到所述数据库表。
本发明实施例中,当所述图操作命令为所述查询数据命令时;根据所述查询数据命令携带的所述标识信息查询所述列式数据库,得到所述关系网络并进行展示;或,根据所述查询数据命令携带的所述统计特征查询所述列式数据库,得到所述关系网络,根据所述关系网络生成所述分析表。
本发明实施例中,将所述关系网络或所述分析表在应用层缓存,并设置缓存数量和过期时间。
本发明实施例中,所述数据库表包括元数据表、顶点数据表、顶点索引数据表、边数据表、边索引数据表。
本发明实施例中,所述分布式图查询引擎是Tinkerpop3图查询引擎,以及所述列式数据库是Kudu数据库。
根据本发明实施例的数据分析的装置可以看出,因为采用列式数据库存储关系数据,使用分布式图查询引擎做为关系数据查询引擎,在列式数据库和分布式图查询引擎之间设置有接口适配层,通过接口适配层将分布式图查询引擎的图操作命令发送至列式数据库,从而,将分布式图查询引擎和列式数据库融合在一起,同时,结合数据库表存储结构的设计,实现了分布式图数据库的实时访问和实时分析功能,解决了对批量数据进行数据分析时不能同时实时访问和实时分析的问题,降低了现有框架的复杂度,进而降低了数据分析的学习与使用成本,提高了数据分析的实时分析效率和准确率。
下面参考图7,其示出了适于用来实现本申请实施例的终端设备的计算机系统700的结构示意图。图7示出的终端设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本发明的实施例,上文主要步骤图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行主要步骤图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括发送模块。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,发送模块还可以被描述为“将所述分布式图查询引擎的图操作命令进行转换并发送至所述列式数据库的模块”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
步骤S101:将分布式图查询引擎的图操作命令进行转换并发送至列式数据库。
根据本发明实施例的技术方案,采用列式数据库存储关系数据,使用分布式图查询引擎做为关系数据查询引擎,在列式数据库和分布式图查询引擎之间设置有接口适配层,通过接口适配层将分布式图查询引擎的图操作命令发送至列式数据库,从而,将分布式图查询引擎和列式数据库融合在一起,同时,结合数据库表存储结构的设计,实现了分布式图数据库的实时访问和实时分析功能,解决了对批量数据进行数据分析时不能同时实时访问和实时分析的问题,降低了现有框架的复杂度,进而降低了数据分析的学习与使用成本,提高了数据分析的实时分析效率和准确率。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (14)

1.一种数据分析的方法,其特征在于,在列式数据库和分布式图查询引擎之间设置有接口适配层,所述方法包括:
将所述分布式图查询引擎的图操作命令进行转换并发送至所述列式数据库;
所述图操作命令包括:增加数据命令或者查询数据命令;
所述图操作命令携带有标识信息或统计特征;
当所述图操作命令为所述增加数据命令时,向所述列式数据库发送所述增加数据命令;
将线上关系数据和离线关系数据输入到所述列式数据库的数据库表;或者,
当所述图操作命令为所述查询数据命令时;
根据所述查询数据命令携带的所述标识信息查询所述列式数据库,得到关系网络并进行展示;
或,根据所述查询数据命令携带的所述统计特征查询所述列式数据库,得到所述关系网络,根据所述关系网络生成分析表。
2.根据权利要求1所述的方法,其特征在于,将所述分布式图查询引擎的图操作命令进行转换并发送至所述列式数据库包括:
接收所述分布式图查询引擎发送的图操作命令;
将所述图操作命令转换为列式数据库命令;
向所述列式数据库发送所述列式数据库命令。
3.根据权利要求1所述的方法,其特征在于,将线上关系数据和离线关系数据输入到所述列式数据库的数据库表包括:
将处于队列中的所述线上关系数据输入到所述数据库表;以及,
将所述离线关系数据中具有相同属性或相同属性组合的关系数据进行关联,得到关联数据,将所述关联数据输入到所述数据库表。
4.根据权利要求1所述的方法,其特征在于,
将所述关系网络或所述分析表在应用层缓存,并设置缓存数量和过期时间。
5.根据权利要求1所述的方法,其特征在于,
所述数据库表包括元数据表、顶点数据表、顶点索引数据表、边数据表、边索引数据表。
6.根据权利要求1所述的方法,其特征在于,
所述分布式图查询引擎是Tinkerpop3图查询引擎,以及所述列式数据库是Kudu数据库。
7.一种数据分析的装置,其特征在于,在列式数据库和分布式图查询引擎之间设置有接口适配层,所述装置包括:
发送模块,用于将所述分布式图查询引擎的图操作命令进行转换并发送至所述列式数据库;
所述图操作命令包括:增加数据命令或者查询数据命令;
所述图操作命令携带有标识信息或统计特征;
当所述图操作命令为所述增加数据命令时,向所述列式数据库发送所述增加数据命令;
将线上关系数据和离线关系数据输入到所述列式数据库的数据库表;或者,
当所述图操作命令为所述查询数据命令时;
根据所述查询数据命令携带的所述标识信息查询所述列式数据库,得到关系网络并进行展示;
或,根据所述查询数据命令携带的所述统计特征查询所述列式数据库,得到所述关系网络,根据所述关系网络生成分析表。
8.根据权利要求7所述的装置,其特征在于,所述发送模块还用于:
接收所述分布式图查询引擎发送的图操作命令;
将所述图操作命令转换为列式数据库命令;
向所述列式数据库发送所述列式数据库命令。
9.根据权利要求7所述的装置,其特征在于,所述发送模块还用于:
将处于队列中的所述线上关系数据输入到所述数据库表;以及,
将所述离线关系数据中具有相同属性或相同属性组合的关系数据进行关联,得到关联数据,将所述关联数据输入到所述数据库表。
10.根据权利要求7所述的装置,其特征在于,
将所述关系网络或所述分析表在应用层缓存,并设置缓存数量和过期时间。
11.根据权利要求7所述的装置,其特征在于,
所述数据库表包括元数据表、顶点数据表、顶点索引数据表、边数据表、边索引数据表。
12.根据权利要求7所述的装置,其特征在于,
所述分布式图查询引擎是Tinkerpop3图查询引擎,以及所述列式数据库是Kudu数据库。
13.一种数据分析的电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的方法。
14.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-6中任一所述的方法。
CN201710252100.7A 2017-04-18 2017-04-18 数据分析的方法、装置 Active CN108733688B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710252100.7A CN108733688B (zh) 2017-04-18 2017-04-18 数据分析的方法、装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710252100.7A CN108733688B (zh) 2017-04-18 2017-04-18 数据分析的方法、装置

Publications (2)

Publication Number Publication Date
CN108733688A CN108733688A (zh) 2018-11-02
CN108733688B true CN108733688B (zh) 2021-11-02

Family

ID=63924687

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710252100.7A Active CN108733688B (zh) 2017-04-18 2017-04-18 数据分析的方法、装置

Country Status (1)

Country Link
CN (1) CN108733688B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110309848A (zh) * 2019-05-08 2019-10-08 重庆天蓬网络有限公司 离线数据与流式数据实时融合计算的方法
CN112434029B (zh) * 2020-11-02 2022-07-08 浙商银行股份有限公司 高效支持混合分布式交易和分析型查询的表存储结构构造方法
CN112527950A (zh) * 2020-12-18 2021-03-19 北京明略软件系统有限公司 一种基于MapReduce的图数据删除方法及系统
CN112711677A (zh) * 2021-01-08 2021-04-27 北京仿真中心 一种面向Neo4j图数据库的可视化管理装置和方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105183735B (zh) * 2014-06-18 2019-02-19 阿里巴巴集团控股有限公司 数据的查询方法及查询装置
US10152558B2 (en) * 2014-12-23 2018-12-11 Intel Corporation Graph operations

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《图数据库 Titan 高速入门 - mengfanrong - 博客园》;mengfanrong;《https://www.cnblogs.com/mengfanrong/p/4294403.html》;20150216;第1-3页,附图1 *

Also Published As

Publication number Publication date
CN108733688A (zh) 2018-11-02

Similar Documents

Publication Publication Date Title
US11663213B2 (en) Distinct value estimation for query planning
US9043348B2 (en) System and method for performing set operations with defined sketch accuracy distribution
CN108733688B (zh) 数据分析的方法、装置
KR20200106950A (ko) Sql 질의 플랜들을 최적화하기 위한 차원 콘텍스트 전파 기술들
US11941034B2 (en) Conversational database analysis
CN111177231A (zh) 报表生成方法和报表生成装置
CN110688393B (zh) 查询语句优化方法、装置、计算机设备及存储介质
WO2023029855A1 (zh) 物化视图的创建方法、装置、存储介质及电子设备
US10157234B1 (en) Systems and methods for transforming datasets
CN112000848A (zh) 一种图数据处理方法、装置、电子设备及存储介质
US10055421B1 (en) Pre-execution query optimization
US20220129447A1 (en) Method, system, device and medium for querying product history
CN113722600A (zh) 应用于大数据的数据查询方法、装置、设备及产品
WO2024021581A1 (zh) 指标查询方法、系统、电子设备和存储介质
CN117217933A (zh) 用于保险行业的数据多维分析方法及装置
US20230083123A1 (en) State-Sequence Pathing
CN116244386A (zh) 应用于多源异构数据存储系统的实体关联关系的识别方法
CN115599871A (zh) 基于湖仓一体的数据处理系统和方法
CN115328917A (zh) 一种查询方法、装置、设备及存储介质
CN114022295A (zh) 一种群体欺诈识别方法和系统
CN117891979B (zh) 血缘图谱构建方法、装置、电子设备和可读介质
CN115619568A (zh) 一种数据处理方法、装置、电子设备及计算机可读介质
CN117151862A (zh) 数据处理方法、装置、系统、设备和存储介质
CN114416775A (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
CN115203246A (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