一种测试用大图生成方法和系统技术方案

技术编号:20176534 阅读:28 留言:0更新日期:2019-01-23 00:20
本发明专利技术涉及图数据库测试技术领域,具体涉及一种测试用大图生成方法和系统,方法包括:根据应用系统的小规模业务数据生成第一规模图,分析处理后得到该图的相关统计信息;根据预期规模和第一规模图的规模,计算相关扩展因子,并对相关统计信息进行变换扩展;根据变换扩展后的相关统计信息,生成符合预测结果的第二规模图;其中,第一规模图的数据规模大于第二规模图。本发明专利技术以应用系统的小规模业务数据为输入还原出小规模图,通过分析得到小图数据的分布规律,则对图数据进行扩展后,能够生成与应用系统预期产生的业务数据较为符合的大图数据,使图数据库系统软件产品的测试更具针对性和有效性,为应用系统顺利上线和稳定运行奠定基础。

A Method and System for Generating Large Maps for Testing

The invention relates to the field of graph database testing technology, in particular to a method and system for generating large-scale graphs for testing. The method includes: generating the first-scale graphs according to the small-scale business data of the application system, obtaining the relevant statistical information of the graphs after analysis and processing; calculating the relevant expansion factors according to the expected scale and the scale of the first-scale graphs, and transforming the relevant statistical information. Expansion: According to the related statistical information after transformation expansion, a second scale map is generated, in which the data scale of the first scale map is larger than that of the second scale map. The invention regards the small-scale business data of the application system as input and restores the small-scale graph. By analyzing the distribution law of the small-scale map data, the graph data can be expanded to generate the large-scale map data which is more in line with the expected business data of the application system, thus making the test of the software products of the graph database system more pertinent and effective, and smoothly launching the application system. Stable operation lays the foundation.

【技术实现步骤摘要】
一种测试用大图生成方法和系统
本专利技术涉及图数据库测试
,具体涉及一种测试用大图生成方法和系统。
技术介绍
社会信息化建设的快速发展促使了大数据时代的来临,传统的关系型数据库已经难以支撑越来越复杂的应用场景,在此背景下,图数据库因其容易处理丰富的关系以及直观的数据展现方式,得到了较高的关注度,已经较为广泛的应用于分析型系统中。在图数据库中,数据表示为图的顶点,数据之间的关系表示为顶点之间的边。关系型数据库用于存储“关系型”数据的效果并不好,使用关系模式往往人为降低了关系复杂度而将部分关系信息隐藏于关系模式的实体属性之中,其查询复杂、缓慢、超出预期。图数据库恰恰弥补了这个缺陷,复杂的数据关系能够以图的形式来简单表示,针对各种复杂数据关系的查询也能够简单采用图的某种遍历路径来描述并实现。相对于关系型数据库,图数据库的应用场景更加复杂,不仅各种数据之间的关系错综复杂,数据所依附的实体也可能是种类繁多。如社交网络下的关系人分析,在该应用场景下,应用关键需解决的是多层次的关系分析,并不在于作为顶点的主体的属性和关系的类型。再比如各类知识图谱,该场景下需要处理的更多是知识点的检索及其各种内涵和外延,需要解决的是复杂的关系与属性。应用场景的复杂多变性使得图数据库系统软件产品必须与应用系统紧密结合在一起,图数据库系统自身往往需要根据实际应用来调整,包括图数据库物理存储结构、系统调优方案、遍历执行计划等。在此情形下,结合应用实际对图数据库系统进行针对性测试显得尤为重要。通常的静态测试和测试数据只能解决图数据库系统软件产品自身的功能覆盖性测试,如图查询语言的符合性测试等,而对于性能测试所需的大量数据,目前一般的做法是按照预先的配置或指定的规则直接生成,如专利(申请号201110460361.0、201210487316.9、201410397662.7、201410570485.8、201711161927.3、201711165227.1)公开的测试数据生成方法和装置。这些方法或装置都是从业务规则或者系统元数据的角度出发来设计并实现测试数据的生成,没有考虑实际应用的业务偏好以及业务数据的分布情况,并不能真实客观的符合实际应用系统未来的数据发展预期,也就无法适应与应用系统紧密结合并已为其调整的图数据库系统的测试。再比如graph500的合成图数据、Twitter用户粉丝图数据等,这些数据要么来源于实际应用系统,要么依据规则模拟某应用而生成的,都是静态的、固定的,一般用于图数据库系统软件产品自身的性能对比测试。现有生成大图数据的工具并不多见,LinkBench是其中之一。LinkBench是一个用于生成图的性能测试工具,采用了人际关系网或网页间的链接都遵循的幂律分布这一数据分布模型来生成图,实现对基于MySQL的图数据库的负载测试。然而,该工具生成的图是依据特定的数据模型而生成的,其结构仍然是相对固定的,并不能随应用变化而改变。鉴于此,克服上述现有技术所存在的缺陷是本
亟待解决的问题。
技术实现思路
本专利技术需要解决的技术问题是:传统方案在进行图的性能测试时,测试数据均是依据特定的数据模型或指定规则生成,结构相对固定,不能随应用变化而改变,无法真实客观的符合实际应用系统未来的数据发展预期,也就无法适应图数据库系统的测试。本专利技术通过如下技术方案达到上述目的:第一方面,本专利技术提供了一种测试用大图生成方法,包括:根据应用系统的小规模业务数据生成第一规模图,分析处理后得到该图的相关统计信息;根据预期的第二规模图和现有第一规模图的数据规模,计算相关扩展因子,并对相关统计信息进行变换扩展;根据变换扩展后的相关统计信息,生成第二规模图的基础数据、顶点数据和边数据,进而生成符合预测结果的第二规模图;其中,所述第一规模图的数据规模大于所述第二规模图的数据规模。优选的,所述根据应用系统的小规模业务数据生成第一规模图,分析处理后得到该图的相关统计信息,具体包括:结合业务系统日常业务逻辑和业务数据周期变化,获取小规模业务数据;根据图数据库字典中的顶点标签、边类型及属性信息,从所述小规模业务数据中抽取图数据信息,并将所述图数据信息存放进图数据库,完成第一规模图的构造;获取各顶点的标签及各边的类型,计算不同标签顶点数的占比,统计顶点标签Li和边类型Tj的各种组合下的邻接边数Dij,形成由顶点标签Li为首列、边类型Tj为首行、邻接边数Dij为项值的第一统计信息矩阵;对所述第一统计信息矩阵中的每个非0数据项,统计对应的顶点标签Li和边类型Tj下,各顶点的邻接边数v及对应的顶点数d,进而获取Dij条邻接边数的分布情况。优选的,所述对所述第一统计信息矩阵中的每个非0数据项,统计对应的顶点标签Li和边类型Tj下,各顶点的邻接边数v及对应的顶点数d,进而获取Dij条邻接边数的分布情况,具体为:对于每个非0数据项Dij下,将各顶点的邻接边数v及对应的顶点数d分别作为横坐标和纵坐标,形成二元组的离散点集合;如果所述离散点集合中的离散点数量k小于预设值,则直接采用离散点集合表示第一规模图的数据分布;如果所述离散点集合中的离散点数量k超过预设值,则对离散点进行数据拟合,采用获取到的拟合函数来表示第一规模图的数据分布。优选的,所述根据预期的第二规模图和现有第一规模图的数据规模,计算相关扩展因子,并对相关统计信息进行变换扩展,具体包括:根据预期的数据规模,估算待生成第二规模图的总顶点数和总边数,并结合现有第一规模图的数据规模,分别计算点和边的扩展比例因子;根据边的扩展比例因子,对所述第一统计信息矩阵中的各项值Dij进行同比例扩展得到Dij’,形成第二统计信息矩阵;根据所述第一统计信息矩阵中的各项是否采用拟合函数表示数据分布,对数据分布信息进行相应的扩展处理,形成新的离散点集合。优选的,所述根据所述第一统计信息矩阵中的各项是否采用拟合函数表示数据分布,对数据分布信息进行相应的扩展处理,形成新的离散点集合,具体为:对于采用离散点集合表示的各非0项,在离散点数量k不变的基础上,按照边的扩展比例因子,对每个离散点对应的邻接边数v和顶点数d进行扩展,形成新的离散点集合;对于采用拟合函数表示的各非0项,按照边的扩展比例因子对离散点数量k进行扩展,再采用系统预设算法结合对应的拟合函数,计算得到新的离散点集合。优选的,所述根据变换扩展后的相关统计信息,生成第二规模图的基础数据、顶点数据和边数据,进而生成符合预测结果的第二规模图,具体包括:根据图数据库字典中的顶点标签、边类型及属性信息,构造出相应数据,形成用于第二规模图构造的基础数据;根据第二规模图的预期顶点总数,基于所述基础数据构造顶点,并按标签及标签顶点数占比为这些顶点分配标签,生成第二规模图的顶点数据;对于所述第二统计信息矩阵中的每个非0数据项,依据所述顶点数据和新的离散点集合生成第二规模图的边数据。第二方面,本专利技术还提供了一种测试用大图生成系统,用于实现第一方面所述的测试用大图生成方法,包括:统计拟合模块,用于根据应用系统的小规模业务数据生成第一规模图,分析处理后得到该图的相关统计信息;变换扩展模块,用于根据预期的第二规模图和现有第一规模图的数据规模,计算相关扩展因子,并对相关统计信息进行变换扩展;大图本文档来自技高网
...

【技术保护点】
1.一种测试用大图生成方法,其特征在于,包括:根据应用系统的小规模业务数据生成第一规模图,分析处理后得到该图的相关统计信息;根据预期的第二规模图和现有第一规模图的数据规模,计算相关扩展因子,并对相关统计信息进行变换扩展;根据变换扩展后的相关统计信息,生成第二规模图的基础数据、顶点数据和边数据,进而生成符合预测结果的第二规模图;其中,所述第一规模图的数据规模大于所述第二规模图的数据规模。

【技术特征摘要】
1.一种测试用大图生成方法,其特征在于,包括:根据应用系统的小规模业务数据生成第一规模图,分析处理后得到该图的相关统计信息;根据预期的第二规模图和现有第一规模图的数据规模,计算相关扩展因子,并对相关统计信息进行变换扩展;根据变换扩展后的相关统计信息,生成第二规模图的基础数据、顶点数据和边数据,进而生成符合预测结果的第二规模图;其中,所述第一规模图的数据规模大于所述第二规模图的数据规模。2.根据权利要求1所述的测试用大图生成方法,其特征在于,所述根据应用系统的小规模业务数据生成第一规模图,分析处理后得到该图的相关统计信息,具体包括:结合业务系统日常业务逻辑和业务数据周期变化,获取小规模业务数据;根据图数据库字典中的顶点标签、边类型及属性信息,从所述小规模业务数据中抽取图数据信息,并将所述图数据信息存放进图数据库,完成第一规模图的构造;获取各顶点的标签及各边的类型,计算不同标签顶点数的占比,统计顶点标签Li和边类型Tj的各种组合下的邻接边数Dij,形成由顶点标签Li为首列、边类型Tj为首行、邻接边数Dij为项值的第一统计信息矩阵;对所述第一统计信息矩阵中的每个非0数据项,统计对应的顶点标签Li和边类型Tj下,各顶点的邻接边数v及对应的顶点数d,进而获取Dij条邻接边数的分布情况;其中,1≤i≤n,1≤j≤m,m和n分别为边类型总数和顶点标签总数。3.根据权利要求2所述的测试用大图生成方法,其特征在于,所述对所述第一统计信息矩阵中的每个非0数据项,统计对应的顶点标签Li和边类型Tj下,各顶点的邻接边数v及对应的顶点数d,进而获取Dij条邻接边数的分布情况,具体为:对于每个非0数据项Dij下,将各顶点的邻接边数v及对应的顶点数d分别作为横坐标和纵坐标,形成二元组的离散点集合;如果所述离散点集合中的离散点数量k小于预设值,则直接采用离散点集合表示第一规模图的数据分布;如果所述离散点集合中的离散点数量k超过预设值,则对离散点进行数据拟合,采用获取到的拟合函数来表示第一规模图的数据分布。4.根据权利要求3所述的测试用大图生成方法,其特征在于,所述对于每个非0数据项Dij下,将各顶点的邻接边数v及对应的顶点数d分别作为横坐标和纵坐标,形成二元组的离散点集合,具体包括:定义空的HashMap(v,d);依次获取标签为Li的每一个顶点,查询图数据库获取其类型为Tj的邻接边数v,具体为:在HashMap中查找v对应的键值对,存在则更新该键值对,将其d值增1,否则向其中插入新的键值对(v,1);将HashMap的各键值对按v值升序排序,返回表示离散点的二元组集合{(v1,d1),(v2,d2),......,(vk,dk)},其中,v1*d1,......,vk*dk之和为Dij。5.根据权利要求3所述的测试用大图生成方法,其特征在于,所述根据预期的第二规模图和现有第一规模图的数据规模,计算相关扩展因子,并对相关统计信息进行变换扩展,具体包括:根据预期的数据规模,估算待生成第二规模图的总顶点数和总边数,并结合现有第一规模图的数据规模,分别计算点和边的扩展比例因子;根据边的扩展比例因子,对所述第一统计信息矩阵中的各项值Dij进行同比例扩展得到Dij’,形成第二统计信息矩阵;根据所述第一统计信息矩阵中的各项是否采用拟合函数表示数据分布,对数据分布信息进行相应的扩展处理,形成新的离散点集合。6.根据权利要求5...

【专利技术属性】
技术研发人员:李专李海波吕伟李鹏吕继云
申请(专利权)人:四川蜀天梦图数据科技有限公司
类型:发明
国别省市:四川,51

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

1