一种图数据处理方法、装置和系统制造方法及图纸

技术编号:14487747 阅读:39 留言:0更新日期:2017-01-28 19:41
本申请提供了一种图数据处理方法、装置和系统,该方法,包括:根据待处理请求的类型,将待处理请求写入图更新任务队列或图分析任务队列,待处理的请求的类型包括图更新请求和图分析请求;根据图更新任务队列和图分析任务队列中各任务的第一特性确定各任务的运行顺序;根据运行顺序运行各任务。采用本申请的方案能够分别接收图更新请求和图分析请求,将他们放入图更新任务队列和图分析任务队列,并将各个任务进行管理,为其确定运行顺序,从而能够利用一套系统兼容图更新和图分析处理,解决了目前图更新和图分析处理应用场景分离的情况。

【技术实现步骤摘要】

本申请涉及图处理
,尤其涉及一种图数据处理方法、装置和系统
技术介绍
目前业界内针对图计算的产品和解决方案有很多,但是绝大部分都停留在对静态图数据的分析,或者单一图数据的更新和处理方面;缺少一种完整的图的实时更新和实时分析的解决方案。在传统的数据库领域:OLTP(On-LineTransactionProcessing,联机事务处理)和OLAP(On-Lineanalyticalprocessing,联机分析处理)通常是分离的,由于数据的产生比较缓慢、针对数据的分析需要花费较多的资源,所有对数据的处理时延方面往往只能够等待一天以上输出分析结果。而且数据模型本身的关系模型可以通过关系数据库设计思路,在分析阶段才关注数据的依赖型。而在图数据领域,本身就是为了处理数据的依赖模型,即数据天生就是存在强关系的;G=(V,E),一个Graph(图)包含Vertex(顶点)和Edge(边)两类基本模型,顶点之间通过边作为关系物理的联系在一起。而针对图数据的实时更新和实时分析,在业务的场景下,要求数据更新就立刻对依赖关系产生影响,而产生的影响可以马上触发对应的业务分析操作;从而延伸出图实时更新、实时分析的业务需求。对此:图的实时更新,要求在自然图领域具有关系的实体(顶点)在发生关系时,能够及时的完成关系的更新操作;然后根据业务的场景,能够快速完成图的分析处理任务。目前业界内的多数图数据库系统、图存储和图计算框架,大多都是借鉴MapReduce或者BSP的计算框架而在类似GFS或者HDFS这些分布式文件系统之上,构建一套非实时的图分析体系;支持的应用场景很单一,数据依赖每日的全量数据,启动多个任务(Job)并行分析,分析内容往往在小时级以上的时间延迟。另外一些图数据库系统,更多只是解决传统关系数据库的设计理念,只是支持图特性而已,虽然能够比较快的支持图更新,类似OLTP的特性,但是针对OLAP的特性基本没有对应的特性,更难以将两类应用特征提供融合的解决方案。现有技术的缺点:由于关系数据库发展了很多年,基本是根深蒂固对很多应用场景来说;导致OLTP和OLAP的应用场景往往是分离的,从而导致很多技术框架无法直接将两者结合起来应用。而近几年的NOSQL(非关系型的数据库)模式的兴起,新型图数据库尝试打破这种局面,但是由于该领域上属于新型领域,尚没有一个成熟的技术框架能够完美的兼容两种应用场景。
技术实现思路
本申请实施例提出了一种图数据处理方法、装置和系统,利用一套系统兼容图更新和图分析处理,解决二者无法兼容的技术问题。在一个方面,本申请实施例提供了一种图数据处理方法,包括:根据待处理请求的类型,将所述待处理请求写入图更新任务队列或图分析任务队列,所述待处理的请求的类型包括图更新请求和图分析请求;根据所述图更新任务队列和图分析任务队列中各任务的第一特性确定所述各任务的运行顺序;根据所述运行顺序运行所述各任务。在另一个方面,本申请实施例提供了一种图数据处理装置,包括:更新任务队列,用于写入图更新任务;图分析任务队列,用于写入图分析任务;调度器,用于根据所述图更新任务队列和图分析任务队列中各任务的第一特性确定所述各任务的运行顺序,将当前待运行任务分配到对应的计算资源运行。再一方面,本申请实施例提供了一种图数据处理系统,包括:服务接口层,包括更新接口和分析接口,所述更新接口用于接收数据更新任务写入更新任务队列;所述分析接口用于接收数据分析任务写入分析任务队列;任务调度层,包括图更新任务队列、图分析任务队列、调度器、图计算引擎、图存储引擎,其中:图更新任务队列,用于写入图更新任务;图分析任务队列,用于写入图分析任务;调度器,用于根据所述图更新任务队列和图分析任务队列中各任务的第一特性确定所述各任务的运行顺序,将当前待运行任务分配到对应的计算资源运行;图计算引擎,用于进行任务的图更新操作和/或图分析操作;图存储引擎,用于存储图。有益效果如下:本申请实施例提出了一种图数据处理方法、装置和系统,能够分别接收图更新请求和图分析请求,将他们放入图更新任务队列和图分析任务队列,并将各个任务进行管理,为其确定运行顺序,从而能够利用一套系统兼容图更新和图分析处理,解决了目前图更新和图分析处理应用场景分离的情况,能够使得图分析不再存在数据依赖每日的全量数据,分析内容往往在小时级以上的时间延迟的情况。附图说明下面将参照附图描述本申请的具体实施例,其中:图1示出了本申请实施例中图数据处理方法的流程示意图;图2示出了实施例一中的图数据处理方法的流程示意图;图3示出了实施例二中的图数据处理方法的流程示意图;图4示出了实施例二中两个接口的内部抽象实现分解示意图;图5示出了实施例三中进行图存储时的流程示意图;图6示出了本申请实施例中图数据处理装置的结构示意图;图7示出了本申请实施例中一个实例的图数据处理装置的结构示意图;图8示出了本申请实施例中一个实例的图数据处理装置的结构示意图;图9示出了本申请实施例中图数据处理系统的结构示意图;图10示出了本申请实施例中一个实例的图数据处理系统的结构示意图。具体实施方式为了使本申请的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。并且在不冲突的情况下,本说明中的实施例及实施例中的特征可以互相结合。专利技术人发现,在目前对图业务的数据存储和计算需求很大,比如网购平台的交易、购物、转账等,每秒都在万级以上;每天的数超过了亿记录。数据的实时写入、更新非常频繁,数据写入后,需要快速的更新到图数据模型中。基于图的业务场景:交易风险识别、精准推荐服务,要求能够快速的对增量的图数据进行全量分析计算,输出计算结果,图的更新和写入快速的更新到图的存储引擎中,图的分析计算能够尽可能的覆盖到最新的数据,分析所依赖的数据快照跟最新的数据更新之间容忍秒级延迟。基于对这些实际需求的考虑,本申请实施例提出了一种图数据处理方法、装置和系统,下面进行说明。图更新是指外部的业务应用发送指令更新图中的顶点属性、增加新的顶点、或者建立新的顶点A到顶点B直接的边,修改边的属性等。图分析是指在业务的分析指令下,对特定的子图、全图进行分析计算,分析过程通过对图的遍历、统计、过滤特定顶点、边的属性的查询只读类操作。图1示出了本申请实施例中的图数据处理方法,如图所示,包括:步骤101,根据待处理请求的类型,将待处理请求写入图更新任务队列或图分析任务队列,待处理的请求的类型包括图更新请求和图分析请求;步骤102,根据图更新任务队列和图分析任务队列中各任务的第一特性确定各任务的运行顺序;步骤103,根据运行顺序运行各任务。有益效果:本申请实施例中的图更新和图分析处理方法能够分别接收图更新请求和图分析请求,将他们放入图更新任务队列和图分析任务队列,并将各个任务进行管理,为其确定运行顺序,从而能够利用一套系统兼容图更新和图分析处理,解决了目前图更新和图分析处理应用场景分离的情况,能够使得图分析不再存在数据依赖每日的全量数据,分析内容往往在小时级以上的时间延迟的情况。进一步地,为了提升处理效率,还可以按以下方式实施。实施中,确定各任务的运行顺序之后,根据读写锁的本文档来自技高网
...
一种图数据处理方法、装置和系统

【技术保护点】
一种图数据处理方法,其特征在于,包括:根据待处理请求的类型,将所述待处理请求写入图更新任务队列或图分析任务队列,所述待处理的请求的类型包括图更新请求和图分析请求;根据所述图更新任务队列和图分析任务队列中各任务的第一特性确定所述各任务的运行顺序;根据所述运行顺序运行所述各任务。

【技术特征摘要】
1.一种图数据处理方法,其特征在于,包括:根据待处理请求的类型,将所述待处理请求写入图更新任务队列或图分析任务队列,所述待处理的请求的类型包括图更新请求和图分析请求;根据所述图更新任务队列和图分析任务队列中各任务的第一特性确定所述各任务的运行顺序;根据所述运行顺序运行所述各任务。2.如权利要求1所述的方法,其特征在于,所述根据所述运行顺序运行所述各任务包括:根据当前待运行任务涉及数据的分布式分区信息,将当前待运行任务分配到对应的计算资源运行。3.如权利要求1所述的方法,其特征在于,所述第一特性包括以下任意一个或组合:时间戳、时效性、优先级、数据依赖特征。4.如权利要求1所述的方法,其特征在于,确定所述各任务的运行顺序之后,根据读写锁的状态确定第一顺位任务是否为所述当前待运行任务;所述读写锁的状态在任务运行时被修改为已占用,在任务运行结束或暂停时被修改为未占用。5.如权利要求4所述的方法,其特征在于,所述根据读写锁的状态确定第一顺位任务是否为所述当前待运行任务包括以下任意一个或组合:在读写锁的状态为未占用时,确定所述第一顺位任务为所述当前待运行任务;在读写锁的状态为已占用时,若当前运行任务为纯读图分析任务,确定所述第一顺位任务为所述当前待运行任务;在读写锁的状态为已占用时,若当前运行任务为非纯读图分析任务或图更新任务,暂停所述第一顺位任务,待下一个周期,重新判断读写锁的状态。6.如权利要求1所述的方法,其特征在于,确定所述各任务的运行顺序之
\t后,判断第一顺位任务是否为对时间和/或资源消耗大于设定阈值的图分析任务,若是,则将所述第一顺位任务拆分为多个任务,间隔运行所述多个任务,待所述多个任务运行结束,合并图分析结果,完成所述第一顺位任务。7.如权利要求1所述的方法,其特征在于,在运行任务之后,监测所述任务是否运行超时,若是,暂停所述任务,待下一个周期,重新启动所述任务。8.如权利要求1所述的方法,其特征在于,在运行图更新任务之后,将内存映射对象同时存储到缓存区和磁盘;在运行图分析任务时,从所述缓存区获取数据;若所述图分析任务涉及的数据不在缓存区,从所述磁盘获取数据。9.如权利要求1所述的方法,其特征在于,所述将内存映射对象存储到缓存区时,对内存映射对象进行处理,分为增量更新对象以及热点对象。10.如权利要求1所述的方法,其特征在于,在进行图存储时包括:根据图的数据特征确定所述图为稀疏图或稠密图;根据所述图的计算特征确定所述图为顶点为主或边为主;根据所述图的数据特征和计算特征确定所述图的分割算法,对所述图的数据进行分割存储。11.一种图数据处理装置,其特征在于,包括:图更新任务队列,用于写入图更新任务;图分析任务队列,用于写入图分析任务;调度器,用于根据所述图更新任务队列和图分析任务队列中各任务的第一特性确定所述各任务的运行顺序,将当前待运行任务分配到对应的计算资源运行。12.如权利要求11所述的装置,其特征在于,包括分区识...

【专利技术属性】
技术研发人员:葛朋旭
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1