一种基于图的数据处理方法和系统的制作方法
【技术领域】
[0001]本发明的实施例涉及数据分析,并且具体地涉及基于图的数据处理方法和系统。
【背景技术】
[0002]现有的数据分析或者数据挖掘方法通常采用离线分析的方式。传统的数据处理模型和算法的缺点包括:不能在获取实时数据的同时,对数据进行有效的分析;以及不能快速地响应外部请求,基于最新的数据对外提供服务。
[0003]例如,现有的方案在对外提供数据服务时,往往需要对数据进行离线预处理和加工,将分析的结果存储在关系型数据库中。然后,响应于外部的请求,从该关系数据库中读取分析的结果。数据库中的分析结果需要被定期更新。在大数据场景下,这种方案会降低数据分析服务的效率和时效性。
【发明内容】
[0004]根据本发明的一个实施例,公开一种基于图的数据处理方法,维护以对象为顶点,对象与对象之间的关联信息为边的图,该方法包括:维护顶点信息和边信息,所述顶点信息是关于对象的关键信息,维护以对象的关键信息中的一项为键、以对象在该图中的位置信息为辅助信息的索引。
[0005]根据本发明的一个实施例,当对象的关键信息发生变化时,实时地更新该对象在该图中的顶点信息。
[0006]根据本发明的一个实施例,通过第一对象的关键信息利用该索引定位该第一对象在该图中的位置,根据该第一对象在该图中的位置找出与该第一对象关联的其它对象。
[0007]根据本发明的一个实施例,通过分布式架构存储所述图和所述索引。
[0008]根据本发明的一个实施例,所述对象包括银行卡用户和商户。
[0009]根据本发明的一个实施例,公开一种基于图的数据处理系统,该系统被配置成维护以对象为顶点,对象与对象之间的关联信息为边的图,该系统包括:图存储模块,用于维护顶点信息和边信息,该顶点信息是对象的关键信息,索引模块,用于维护以对象的关键信息中的一项为键、以对象在该图中的位置信息为辅助信息的索引。
[0010]根据本发明的一个实施例,该系统包括:数据更新模块,其被配置成当对象的关键信息发生变化时,实时地更新该对象在该图中的顶点信息。
[0011 ]根据本发明的一个实施例,该系统包括:图分析模块,其被配置成:通过第一对象的关键信息利用该索引模块定位该第一对象在该图中的位置,基于该图存储模块,根据该第一对象在该图中的位置找出与该第一对象关联的其它对象。
[0012]根据本发明的一个实施例,该系统被配置成:通过分布式架构存储所述图和所述索弓I。
[0013]本发明的技术方案通过缩短数据更新以及数据分析的时间,有效提升数据的时效性。有效解决了传统技术在大数据分析和服务方面的时效性问题。在大数据服务的场景下,更大地发挥数据的价值。
[0014]当结合附图阅读以下描述时也将理解本发明的实施例的其它特征和优势,其中附图借助于实例示出了本发明的实施例的原理。
【附图说明】
[0015]图1是根据本发明实施例的基于图的数据处理系统的示意图。
[0016]图2是根据本发明实施例的基于图的数据处理方法的流程图。
【具体实施方式】
[0017]在下文中,将结合实施例描述本发明的原理。应当理解的是,给出的实施例只是为了本领域技术人员更好地理解并且实践本发明,而不是限制本发明的范围。例如,本说明书中包含许多具体的实施细节不应被解释为对发明的范围或可能被要求保护的范围的限制,而是应该被视为特定于实施例的描述。例如,在各实施例的上下文描述的特征可被组合在单一实施例中来实施。在单一实施例的上下文中描述的特征可在多个实施例来实施。
[0018]本发明提出基于图存储模型对要处理的数据进行实时存储和更新。图是一种数据结构,定义为:graph = (V,E) C3V是一个非空有限集合,代表顶点(节点),E代表边的集合,一般用(Vx,Vy)表示,其中,Vx,Vy属于V。若两个结点U、V之间有一条边连接,贝IJ称这两个结点U、V是关联的。可以用带权图表示两个相邻顶点之间的除连接关系以外的其它关系。基于这样的概念,本发明提出维护以对象为顶点,对象与对象之间的关联信息为边的图,以便基于图的关联模型和算法进行对象(个体)之间的关联分析来提高数据分析的性能和效率。在本发明中,个体可以是例如银行卡的用户或者任何使用网络服务(例如,网上购物)的用户。
[0019]图1是根据本发明实施例的基于图的数据处理系统的示意图。如图1所示,以虚线示出的基于图的数据处理系统,其可以包括图存储模块、索引模块、图分析模块。
[0020]图存储模块,用于维护顶点信息和边信息,该顶点信息是对象的关键信息。例如,当对象是银行卡用户时,对象的关键信息可以包括用户ID、用户年龄范围、或者消费事件;例如,当对象是商户时,对象的关键信息可以包括商户ID、商户类型等。边信息对象与对象之间的关联信息,例如基于用户和商户之间的消费事件产生的关联。如图所示,可以基于分布式架构存储所述图的顶点和边信息。
[0021]索引模块,用于维护以对象的关键信息的一项(例如,用户ID或者商户ID)为键、以对象在该图中的位置信息为辅助信息的索引。这里,位置信息指示该对象所对应的顶点在图的存储结构(例如,邻接矩阵、邻接表等)中的与其它对象的位置关系。图分析模块通过索引能够快速定位对象在图中的位置。如图所示,可以基于分布式架构存储所述索引。
[0022]图分析模块,其被配置成通过第一对象的关键信息利用该索引模块定位该第一对象在该图中的位置;以及基于该图存储模块,根据该第一对象在该图中的位置找出与该第一对象关联的其它对象。优选地,可以利用与图相关的各种算法来分析该对象。
[0023]基于图存储模块、索引模块、图分析模块可以高效地进行更新操作和分析操作。在更新操作过程中,当对象的关键信息发生变化时,实时地更新该对象在该图中的顶点信息。可选地,可以在基于图的数据处理系统设立更新模块。在分析操作过程中,可以接收外部请求,然后根据该请求包含的用户ID,通过索引模块得到该用户在图中的位置信息,然后利用该位置信息借助图分析模块的计算得到分析结果。得到的分析结果作为服务