基于大数据推算开发对象关系的方法及装置与流程

文档序号:11216296阅读:260来源:国知局
基于大数据推算开发对象关系的方法及装置与流程
本发明涉及数据管理领域,特别是涉及一种基于大数据推算开发对象关系的方法及装置。
背景技术
:随着大数据时代的到来,企业数据量逐年高速增长,在这些海量的数据中,数据与数据之间会存在千丝万缕的关系,产生数据血缘。数据血缘是指基于数据b产生了数据a,那么数据b与数据a之间即存在事实上的血缘关系。由于企业数据量的不断增长,企业数据的开发对象也越来越多,因此,在基于大规模复杂的数据应用场景下,如何了解开发对象之间的关系强度以及开发对象之间的依赖状况也越来越困难。在现有技术中,存在有关人际关系网和学术关系网的分析方法。其中,有关人际关系网的分析方法是以人与人之间实际发生的通讯信息为基础的关系网分析,是基于采集到的话单数据进行限制级数的迭代分析,该方法需要依赖人与人之间的通讯信息,在人与人之间不存在通讯信息的情况下,当面向企业数据的开发对象时无法分析出企业数据开发对象之间的关系。而有关学术关系网的分析方法则是以论文作者为基础的学术界关系网分析,是基于作者关系矩阵的分析方法,该方法需要依赖作者的署名,在署名不存在的情况下,当面向企业数据的开发对象时无法分析出企业数据开发对象之间的关系。由上可知,企业数据开发对象之间的关系从未被梳理,企业数据开发对象关系究竟处于何种状态无法知晓。因此,如何根据企业数据探究开发对象之间的关系成为企业数据管理过程中亟待解决的问题。技术实现要素:有鉴于此,本发明提出了一种基于大数据推算开发对象关系的方法及装置,主要目的在于解决如何在大规模复杂的数据场景中分析出数据开发对象之间关系的问题。依据本发明的第一个方面,本发明提供一种基于大数据推算开发对象关系的方法,包括:判断数据表之间是否具有血缘关系,所述血缘关系为基于一个数据表直接生成另一个数据表的数据生成关系;若所述数据表之间具有血缘关系,则分别获取数据表对应的开发对象信息;建立所述开发对象信息之间的关联关系。依据本发明的第二个方面,本发明提供一种基于大数据推算开发对象关系的方法,包括:统计在预设时段内开发对象之间相互调用数据表的次数,记为有效双向依赖次数;统计所述相互调用数据表的字节数,记为有效双向依赖字节数;根据预设的映射表计算所述有效双向依赖次数对应的依赖次数分值;根据预设的计算公式计算所述有效双向依赖字节数对应的依赖字节数分值;根据预设的加权系数对所述依赖次数分值及所述依赖字节数分值进行加总,获得所述开发对象之间的关系指数,所述关系指数用于表征所述开发对象之间的关系强弱。依据本发明的第三个方面,本发明提供一种基于大数据推算开发对象关系的装置,包括:判断单元,用于判断数据表之间是否具有血缘关系,所述血缘关系为基于一个数据表直接生成另一个数据表的数据生成关系;获取单元,用于当所述数据表之间具有血缘关系时,分别获取数据表对应的开发对象信息;建立单元,用于建立所述开发对象信息之间的关联关系。依据本发明的第四个方面,本发明提供一种基于大数据推算开发对象关系的装置,包括:第一统计单元,用于统计在预设时段内开发对象之间相互调用数据表的次数,记为有效双向依赖次数;第二统计单元,用于统计所述相互调用数据表的字节数,记为有效双向依赖字节数;第一计算单元,用于根据预设的映射表计算所述有效双向依赖次数对应的依赖次数分值;第二计算单元,用于根据预设的计算公式计算所述有效双向依赖字节数对应的依赖字节数分值;第三计算单元,用于根据预设的加权系数对所述依赖次数分值及所述依赖字节数分值进行加总,获得所述开发对象之间的关系指数,所述关系指数用于表征所述开发对象之间的关系强弱。借由上述技术方案,本发明实施例提供的一种基于大数据推算开发对象关系的方法及装置,能够在企业大规模的数据场景中,通过判断数据表之间是否具有血缘关系,所述血缘关系为基于一个数据表直接生成另一个数据表的数据生成关系;当确定所述数据表之间具有血缘关系时,则分别获取数据表对应的开发对象信息;最后根据具有血缘关系的数据表,建立其所对应的开发对象信息之间的关联关系。与现有技术中有关人际关系网和学术关系网的分析方法相比,本发明能够在人与人之间不存在通讯信息的情况下,以及在学术文章署名不存在的情况下,当面向企业数据的开发对象时,能够基于数据之间的血缘关系以及数据所属的开发对象信息,推算出企业数据开发对象之间的关联关系,从而解决在大规模复杂的数据场景中,数据开发对象的依赖关系分析困难的难题,为基于开发对象关系的应用场景奠定基础。上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了本发明实施例提供的一种基于大数据推算开发对象关系的方法的流程示意图;图2示出了本发明实施例提供的一种对开发对象信息之间的关联关系进行可视化输出后的示意图;图3示出了本发明实施例提供的另一种基于大数据推算开发对象关系的方法的流程示意图;图4示出了本发明实施例提供的一种对开发对象之间的关系指数进行可视化输出后的示意图;图5示出了本发明实施例提供的一种基于大数据推算开发对象关系的装置的组成框图;图6示出了本发明实施例提供的另一种基于大数据推算开发对象关系的装置的组成框图;图7示出了本发明实施例提供的另一种基于大数据推算开发对象关系的装置的组成框图;图8示出了本发明实施例提供的另一种基于大数据推算开发对象关系的装置的组成框图。具体实施方式下面将参照附图更加详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。随着大数据时代的到来,企业数据量逐年攀升,基于数据的应用场景逐渐增多,企业数据的开发者也越来越多,了解开发者之间的关系以及依赖情况变得非常重要。但是在大规模复杂的数据场景中,分析数据开发者之间的依赖关系非常困难,并且企业数据开发者之间的关系从未被梳理。为了解决上述问题,本发明实施例提供了一种基于大数据推算开发对象关系的方法,能够基于数据之间的血缘关系以及数据所属的开发对象信息,推算出企业数据开发对象之间的关联关系。如图1所示,该方法包括:101、判断数据表之间是否具有血缘关系。在企业的各种业务活动中,会产生大量的数据,随着大数据应用时代的到来,这些海量的数据通常具有分析价值。在企业数据中,数据与数据之间发生着千丝万缕的关系,基于数据之间的特定关系,本发明实施例抽象出数据血缘。所谓数据血缘,可以理解为基于数据b产生了数据a,那么数据b与数据a即存在事实上的血缘关系。在本发明实施例中,所指的数据是以数据表的形式出现的。由于本发明实施例在推算开发对象关系时,主要依赖于对企业数据的数据血缘进行分析,并结合具有血缘关系的数据所对应的开发对象,推算出开发对象之间的关联关系。因此,本发明实施例在基于大数据推算开发对象关系时,首先需要执行步骤101:判断数据表之间是否具有血缘关系,所述血缘关系为基于一个数据表直接生成另一个数据表的数据生成关系。102、若所述数据表之间具有血缘关系,则分别获取数据表对应的开发对象信息。通常在企业数据的产生过程中,每个数据表都会对应有相应的开发负责人或开发负责部门,它们可以统称为开发对象,并且在海量的数据表中,数据表与数据表之间也会存在步骤101中所述的血缘关系。而对于开发对象关系而言,开发对象之间的关联关系通常是通过开发对象各自负责的数据表之间的血缘关系建立的。例如,开发对象m负责的绝大多数数据表都与开发对象n负责的数据表具有血缘关系,那么可以认为开发对象m与开发对象n之间的关联关系比较紧密。基于上述原因,本发明实施例在执行完步骤101之后,需要根据步骤101的执行结果,选择性的执行步骤102:若所述数据表之间具有血缘关系,则分别获取数据表对应的开发对象信息。103、建立所述开发对象信息之间的关联关系。当通过步骤101确定了数据表之间具有血缘关系,并且通过步骤102获取到具有血缘关系的数据表对应的开发对象信息之后,就可以执行步骤103:建立所述开发对象信息之间的关联关系。在建立所述开发对象信息之间的关联关系时,需要参考所述开发对象各自负责的数据表之间的依赖情况,并将所述依赖情况转换为可以量化的开发对象信息之间的关联关系。 例如:在建立开发对象m与开发对象n之间的关联关系时,需要参考开发对象m负责的数据表a、b、c与开发对象n负责的数据表d、e、f之间的依赖情况,所述依赖情况包括:数据表a、b、c与数据表d、e、f之间的依赖次数及依赖数据量,所述依赖次数可以理解为:若数据表a是基于数据表d生成的,那么所述依赖次数是1;若数据表a是基于数据表d生成的、数据表b是基于数据表e生成的、同时数据表c是基于数据表f生成的,那么所述依赖次数是3;所述依赖数据量可以理解为:若数据表a是基于数据表d生成的,那么所述依赖数据量就是数据表d的数据量;若数据表a是基于数据表d生成的、数据表b是基于数据表e生成的、同时数据表c是基于数据表f生成的,那么所述依赖数据量就是数据表d、数据表e以及数据表f的数据量总和。本发明实施例提供的一种基于大数据推算开发对象关系的方法,能够在企业大规模的数据场景中,通过判断数据表之间是否具有血缘关系,所述血缘关系为基于一个数据表直接生成另一个数据表的数据生成关系;当确定所述数据表之间具有血缘关系时,则分别获取数据表对应的开发对象信息;最后根据具有血缘关系的数据表,建立其所对应的开发对象信息之间的关联关系。与现有技术中有关人际关系网和学术关系网的分析方法相比,本发明能够在人与人之间不存在通讯信息的情况下,以及在学术文章署名不存在的情况下,当面向企业数据的开发对象时,能够基于数据之间的血缘关系以及数据所属的开发对象信息,推算出企业数据开发对象之间的关联关系,从而解决在大规模复杂的数据场景中,数据开发对象的依赖关系分析困难的难题,为基于开发对象关系的应用场景奠定基础。为了更好的对上述图1所示的方法进行理解,作为对上述实施方式的细化和扩展,本发明实施例将针对图1中的步骤进行详细说明。由于在本发明实施例中,数据表之间的血缘关系是指基于一个数据表直接生成另一个数据表的数据生成关系,所述数据表通常存储在关系数据库系统中。在企业日常的业务活动过程中,需要对数据库进行查询、更新和管理,并从数据库中存取数据,这些数据通常以数据表的形式存在。在进行数据查询和数据库的管理时,需要使用结构化查询语言(structured querylanguage,sql),结构化查询语言是一种特殊目的的编程语言,可以用于在数据库中存取数据以及查询、更新和管理数据库。在进行数据查询时,会生成查询操作对应的sql代码,所述sql代码用于记录以哪个数据表(即上游数据表)中的数据经过何种加工逻辑得到另一个数据表(即下游数据表),所述加工逻辑包括:对数据表中某些字段的数据进行统计,或者涉及数据的加减乘除等操作。其中,sql代码会记录上游数据表和下游数据表的表名以及它们之间的加工逻辑。基于上述原因,本发明实施例在判断数据表之间是否具有血缘关系时,可以通过对数据加工操作对应的结构化查询语言代码也就是sql代码进行分析,在对大量的sql代码进行分析的过程中,若发现sql代码中记录有数据表之间的加工逻辑,则确定所述数据表之间具有血缘关系,同时还可以得到具有血缘关系的数据表的表名。在企业数据产生的过程中,由于各个数据表都有对应的开发对象(例如开发负责人或开发负责部门),而企业为了便于管理大量的数据表,明确数据表所属的开发对象,因此在创建数据表时,都会赋予数据表自身的属性信息,也就是数据表的表信息,每个数据表的表信息中都记录有所属数据表的开发对象信息,通过数据表的表信息就可以知道该数据表是由哪个开发对象开发的。因此,当通过分析sql代码确定了具有血缘关系的数据表之后,就可以从具有血缘关系的数据表各自的表信息中,分别获取具有血缘关系的数据表各自的开发对象信息。这里需要说明的是,若获取的具有血缘关系的数据表各自的开发对象信息是相同的,则说明所述具有血缘关系的数据表都由同一个开发对象开发,而对于同一个开发对象而言,不存在所谓的关联关系。因此,若出现具有血缘关系的数据表各自的开发对象信息相同的情况时,则后续不必建立所述开发对象信息之间的关联关系。当通过上述方式获取到具有血缘关系的数据表各自的开发对象信息之后,就需要基于所述开发对象信息各自的数据表,建立起所述开发对象信息之间的关联关系。具体的,建立所述开发对象信息之间的关联关系的步骤包括:(1)统计在预设时段内开发对象之间相互调用数据表的次数,记为有效双向依赖次数;在企业的日常业务活动中,对于各个开发者或开发部门而言,在不同的时间段内,其负责的业务会进行调整或变化,因此开发对象之间的关联关系通常不是一成不变的。由于本发明实施例在建立开发对象之间的关联关系时,是基于开发对象各自负责的数据之间的血缘关系进行的,因此,本发明实施例需要根据预设时段内的具有血缘关系的数据,建立开发对象之间的关联关系。首先,要统计在预设时段内开发对象之间相互调用数据表的次数,记为有效双向依赖次数。其中,预设时段可以根据业务的开发运营周期进行设定,若业务开发运营周期时间长并且稳定,那么可以将预设时段设定的较长,例如可以设定预设时段为30天或60天或90天,具体的根据实际业务情况进行设定。所述开发对象之间相互调用数据表的次数,是指在具有血缘关系的数据表各自所属的开发对象之间,以开发对象各自负责的所有数据表为基础,相互调用数据表的次数。例如:具有血缘关系的数据表各自所属的开发对象为开发对象x和开发对象y,开发对象x负责数据表1、数据表2、数据表3以及数据表4;开发对象y负责数据表5、数据表6、数据表7以及数据表8;在预设时段内,开发对象x调用数据表5和数据表6各1次,开发对象y调用数据表3和数据表4各2次,那么在预设时段内开发对象x和开发对象y之间相互调用数据表的次数就是6次,也就是开发对象x和开发对象y之间的有效双向依赖次数为6次。(2)统计所述相互调用数据表的字节数,记为有效双向依赖字节数;统计所述相互调用数据表的字节数,就是指在具有血缘关系的数据表各自所属的开发对象之间,以开发对象各自负责的所有数据表为基础,相互调用的数据表的字节数。以上述开发对象x和开发对象y为例,由于开发对象x调用数据表5和数据表6各1次,因此开发对象x调用的字节数就是数据表5和数据表6的字节数之和,开发对象y调用数据表3和数据表4各2次,因此开发对象y调用的字节数就是数据表3和数据表4的字节数之和的两倍。所述相互调用数据表的字节数就是开发对象x调用数据表的字节数以及开发对象y调用数据表的字节数之和,可以记为有效双向依赖字节数。这里需要说明的是,对于开发对象y调用数据表3和数据表4各2次的情况,在统计开发对象y调用数据表的字节数时,本发明实施例 可以进行去重,直接将数据表3和数据表4的字节数计算1次;而上述给出的在统计开发对象y调用数据表的字节数时不进行去重,将数据表3和数据表4的字节数计算2次,则最后得到的开发对象之间的关联关系会更加精确。(3)根据预设的映射表计算所述有效双向依赖次数对应的依赖次数分值;当统计出具有血缘关系的数据表各自所属的开发对象之间的有效双向依赖次数之后,就可以根据预设的映射表计算所述有效双向依赖次数对应的依赖次数分值。其中,所述映射表用于记录依赖次数区间与单次依赖分值之间的对应关系。具体的,在计算有效双向依赖次数对应的依赖次数分值时,需要在所述映射表中查找所述有效双向依赖次数所属的依赖次数区间,并将所述有效双向依赖次数与所述依赖次数区间对应的单次依赖分值相乘,获得所述依赖次数分值。例如:所述映射表如表1所示,依赖次数区间单次依赖分值1-20次1分21-100次0.5分101-500次0.05分大于500次0.001分表1若统计的有效双向依赖次数为25次,则计算得到的依赖次数分值为25*0.5=12.5分。(4)根据预设的计算公式计算所述有效双向依赖字节数对应的依赖字节数分值;当统计出具有血缘关系的数据表各自所属的开发对象之间的有效双向依赖字节数之后,就可以根据预设的计算公式计算所述有效双向依赖字节数对应的依赖字节数分值。其中,计算公式为将所述有效双向依赖字节数进行预设次数的开方运算,获取所述依赖字节数分值。由于企业数据的数据表的数据量通常非常大,而一个字节表示的数量量又非常小,因此所述有效双向依赖字节数的数值是非常大的,需要进行开方运算得到大小合适 的依赖字节数分值。在本发明实施例中,可以根据企业数据的具体情况,将所述有效双向依赖字节数开7次方根,得到依赖字节数分值。(5)根据预设的加权系数对所述依赖次数分值及所述依赖字节数分值进行加总,获得所述开发对象之间的关系指数,所述关系指数用于表征所述开发对象之间的关系强弱。当通过上述方式计算出所述有效双向依赖次数对应的依赖次数分值以及所述有效双向依赖字节数对应的依赖字节数分值之后,就可以根据所述依赖次数分值及所述依赖字节数分值计算出所述开发对象之间的关系指数,所述关系指数用于表征所述开发对象之间的关系强弱。在开发对象之间相互调用数据表的过程中,由于在调用的数据表的字节数中还会存在一些实际上用不到的数据,因此在根据开发对象之间相互调用数据表的情况来确定开发对象的关联关系时,调用数据表的次数的权重要高于调用数据表的字节数的权重。因此,在计算开发对象之间的关系指数时,可以根据预设的加权系数对所述依赖次数分值及所述依赖字节数分值进行加总,获得所述开发对象之间的关系指数。例如:所述依赖次数分值及所述依赖字节数分值对于确定开发对象之间的关系指数的贡献占比约为6:4,则所述依赖次数分值及所述依赖字节数分值的加权系数分别为0.6和0.4,所述开发对象之间的关系指数=所述依赖次数分值*0.6+所述依赖字节数分值*0.4。当通过上述方式得到开发对象信息之间的关系强弱之后,就可以对开发对象信息之间的关联关系进行可视化输出。例如,如图2所示,可以将具有血缘关系的数据表所属的开发对象进行连线,根据开发对象之间的关系强弱(关系指数的大小)来调整连线的粗细,连线越粗,说明开发对象之间的关联关系越强,连线越细,说明开发对象之间的关联关系越弱。其中,上述实施例中的开发对象既可以包括个体开发对象,如开发者、开发负责人,也可以包括组织开发对象,如开发部门、开发项目组、开发团队。不论对于个体开发对象还是组织开发对象而言,它们之间的关系指数的计算方法都与本发明实施例中的计算方法相同,只是各项计算因子的统计是在基于个体或者组织下的汇总。这里需要说明的是,在上述统计在预设时段内开发对象之间相互调用 数据表的次数,记为有效双向依赖次数时,以及相互调用数据表的字节数,记为有效双向依赖字节数时,给出的都是一种简便的算法。然而,无论在业务的开发环节还是生产环节都需要对数据表进行调用,因此,为了更精确的统计有效双向依赖次数以及有效双向依赖字节数,从而得到更准确的开发对象之间的关联关系,本发明实施例还提供一种基于大数据推算开发对象关系的方法,如图3所示,该方法包括:301、统计在预设时段内开发对象之间相互调用数据表的次数,记为有效双向依赖次数;302、统计所述相互调用数据表的字节数,记为有效双向依赖字节数;303、根据预设的映射表计算所述有效双向依赖次数对应的依赖次数分值;304、根据预设的计算公式计算所述有效双向依赖字节数对应的依赖字节数分值;305、根据预设的加权系数对所述依赖次数分值及所述依赖字节数分值进行加总,获得所述开发对象之间的关系指数,所述关系指数用于表征所述开发对象之间的关系强弱。图3中步骤的具体执行过程在上述“建立所述开发对象信息之间的关联关系的步骤”中有所阐述,此处不再赘述。但是为了更精确的统计有效双向依赖次数以及有效双向依赖字节数,从而得到更准确的开发对象之间的关联关系,本发明实施例还可以通过下述方式获取有效双向依赖次数以及有效双向依赖字节数:(1)统计在开发环境下所述开发对象之间相互调用数据表的次数以及相互调用数据表的数据表字节数,并分别记为开发环境依赖次数和开发环境依赖字节数;由于在开发对象之间相互调用数据表的过程中,会存在在开发环境下数据表的调用以及在生产环境下数据表的调用,所述开发环境下数据表的调用是指在业务的代码开发、运行环境搭建、代码编译、代码调试等环境下开发对象之间进行的数据表的调用。开发对象在开发环境下相互之间调用数据表的次数可以记为开发环境依赖次数,开发对象在开发环境下相互 调用数据表的字节数可以记为开发环境依赖字节数。(2)统计在生产环境下所述开发对象之间相互调用数据表的次数以及相互调用数据表的数据表字节数,并分别记为生产环境依赖次数和生产环境依赖字节数;由于在开发对象之间相互调用数据表的过程中,会存在在开发环境下数据表的调用以及在生产环境下数据表的调用,所述生产环境下数据表的调用是指在业务的代码开发、编译、调试等环节结束后进行正常运行的环境下,开发对象之间进行的数据表的调用。开发对象在生产环境下相互之间调用数据表的次数可以记为生产环境依赖次数,开发对象在生产环境下相互之间调用数据表的字节数可以记为生产环境依赖字节数。(3)统计所述开发对象之间相互调用数据表时发生调用错误的次数以及发生调用错误的数据表字节数,并分别记为故障次数和故障字节数;由于在开发对象之间相互调用数据表的过程中,难免会出现数据表调用错误的情况。所述数据表调用错误包括以下几种情况:a)被调用的数据表本身出现错误,导致真实情况下被调用的数据表与调用者之间并不存在有效关系;b)调用操作出现错误,也就是调用数据表时使用的代码出现错误,使得被调用的数据表与调用者实际需要的数据表不符,从而导致被调用的数据表与调用者之间并不存在有效关系。因此,在统计所述开发对象之间相互调用数据表的次数以及相互调用数据表的字节数时,若存在上述任何一种情况,则这些情况下调用数据表的次数都会记为故障次数,被调用的数据表的字节数会被记为故障字节数。与上述统计相互调用数据表的字节数的方法类似,在统计故障字节数时,若多次调用同一个错误的数据表,则在计算故障字节数时,可以将这个错误的数据表进行去重,只将该数据表的字节数计算一次得到故障字节数;当然也可以不进行去重,将该数据表的字节数计算多次得到故障字节数,不进行去重的方式可以使得则最后得到的开发对象之间的关联关系更加精确。以上统计的故障次数和故障字节数通常都被认为是数据表之间的无效调用。(4)将所述开发环境依赖次数与所述生产环境依赖次数加总,并减去所述故障次数,获得所述有效双向依赖次数;将所述开发环境依赖字节数与 所述生产环境依赖字节数加总,并减去所述故障字节数,获得所述有效双向依赖字节数。这里需要说明的是,由于在企业的业务活动过程中,开发环境通常没有生产环境稳定,因此在开发环境下数据表之间的依赖关系需要打一定的折扣。进一步的,作为另一种实施方式,还可以将基于上述步骤统计的开发环境依赖次数乘以预设的第一折扣率,将开发环境依赖字节数乘以预设的第二折扣率。其中,所述第一折扣率和第二折扣率可以相同,也可以不同。例如:若第一折扣率是7折,则有效双向依赖次数=开发环境依赖次数*0.7+生产环境依赖次数-故障次数;若第二折扣率也为7折,则有效双向依赖字节数=开发环境依赖字节数*0.7+生产环境依赖字节数-故障字节数。进一步的,由于开发对象之间数据表的调用情况多种多样,因此计算出的开发对象之间的依赖次数分值和依赖字节数分值的大小也多种多样。而在建立开发对象之间的关联关系时,是基于开发对象之间的依赖次数分值和依赖字节数分值得到所述开发对象之间的关系指数的,由关系指数来表征开发对象之间的关系强弱的。因此,为了使开发对象之间的关联关系能够标准化,不至于随着依赖次数分值和依赖字节数分值的不同而千变万化,本发明实施例还可以对依赖次数分值、依赖字节数分值以及开发对象之间的关系指数进行限定。具体的,可以预先设定好第一预设分值、第二预设分值和第三预设分值,当所述依赖次数分值超过第一预设分值时,将所述第一预设分值确定为所述依赖次数分值;当所述依赖字节数分值超过第二预设分值时,将所述第二预设分值确定为所述依赖字节数分值;当所述关系指数超过第三预设分值时,将所述第三预设分值确定为所述关系指数。例如:若第一预设分值为80分,第二预设分值为60分,第三预设分值为100分,则当计算得到的依赖次数分值超过80分时,直接取80分作为最终确定的依赖次数分值,当计算得到的依赖字节数分值超过60分时,直接取60分作为最终确定的依赖字节数分值,并用最终确定的依赖次数分值和最终确定的依赖字节数分值去计算开发对象之间的关系指数,若得到的关系指数不大于100分,则这个分数可以作为开发对象之间最终的关系指数,若得到的关系指数大于100分,则直接取100分作为开发对象之间 最终的关系指数。当计算出开发对象之间的关系指数之后,就可以用关系指数来表征开发对象之间的关联关系强弱。进一步的,为了将开发对象之间的关联关系更加直观的表现出来,本发明实施例还可以对开发对象之间的关联关系进行可视化输出。具体的,可视化输出可以包括:将具有血缘关系的数据表所属的开发对象进行连线,并把计算得到的所述开发对象之间的关系指数标记在连线上;进一步的,还可以根据关系指数的大小来调整连线的粗细,连线越粗,说明开发对象之间的关联关系越强;同时如图4所示,还可以利用故障次数或者故障字节数来计算故障率,并根据故障率的大小来调整连线的波动振幅,连线的波动振幅越大,说明开发对象之间的关联关系越不稳定。其中,故障率=故障次数/(开发环境依赖次数+生产环境依赖次数);或者,故障率=故障字节数/(开发环境依赖字节数+生产环境依赖字节数)。这里需要说明的是,在以上所述的各种实施例中,开发对象既可以包括个体开发对象,如开发者、开发负责人,也可以包括组织开发对象,如开发部门、开发项目组、开发团队。不论对于个体开发对象还是组织开发对象而言,它们之间的关系指数的计算方法都与本发明实施例中的计算方法相同,只是各项计算因子的统计是在基于个体或者组织下的汇总。进一步的,作为对上述图1所示方法的实现,本发明实施例提供了一种基于大数据推算开发对象关系的装置,如图5所示,该装置包括:判断单元51、获取单元52以及建立单元53,其中,判断单元51,用于判断数据表之间是否具有血缘关系,所述血缘关系为基于一个数据表直接生成另一个数据表的数据生成关系;获取单元52,用于当所述数据表之间具有血缘关系时,分别获取数据表对应的开发对象信息;建立单元53,用于建立所述开发对象信息之间的关联关系。进一步的,如图6所示,判断单元51包括:分析模块511,用于对数据加工操作对应的结构化查询语言代码进行分析;确定模块512,用于当所述结构化查询语言代码中记录有所述数据表之 间的加工逻辑时,确定所述数据表之间具有血缘关系。进一步的,获取单元52用于从数据表的表信息中获取所述开发对象信息。进一步的,如图6所示,所述装置进一步包括:取消单元54,用于当获取的开发对象信息相同时,取消建立所述开发对象信息之间的关联关系。进一步的,如图6所示,建立单元53包括:第一统计模块531,用于统计在预设时段内开发对象之间相互调用数据表的次数,记为有效双向依赖次数;第二统计模块532,用于统计所述相互调用数据表的字节数,记为有效双向依赖字节数;第一计算模块533,用于根据预设的映射表计算所述有效双向依赖次数对应的依赖次数分值;第二计算模块534,用于根据预设的计算公式计算所述有效双向依赖字节数对应的依赖字节数分值;第三计算模块535,用于根据预设的加权系数对所述依赖次数分值及所述依赖字节数分值进行加总,获得所述开发对象之间的关系指数,所述关系指数用于表征所述开发对象之间的关系强弱。进一步的,如图6所示,所述装置进一步包括:第一输出单元55,用于对所述开发对象信息之间的关联关系进行可视化输出。进一步的,获取单元52获取的开发对象信息中的开发对象包括:个体开发对象及组织开发对象。进一步的,作为对上述图3所示方法的实现,本发明实施例提供了一种基于大数据推算开发对象关系的装置,如图7所示,该装置包括:第一统计单元71、第二统计单元72、第一计算单元73、第二计算单元74以及第三计算单元75,其中,第一统计单元71,用于统计在预设时段内开发对象之间相互调用数据表的次数,记为有效双向依赖次数;第二统计单元72,用于统计所述相互调用数据表的字节数,记为有效双向依赖字节数;第一计算单元73,用于根据预设的映射表计算所述有效双向依赖次数对应的依赖次数分值;第二计算单元74,用于根据预设的计算公式计算所述有效双向依赖字节数对应的依赖字节数分值;第三计算单元75,用于根据预设的加权系数对所述依赖次数分值及所述依赖字节数分值进行加总,获得所述开发对象之间的关系指数,所述关系指数用于表征所述开发对象之间的关系强弱。进一步的,第一统计单元71用于统计在开发环境下所述开发对象之间相互调用数据表的次数,记为开发环境依赖次数;第一统计单元71还用于统计在生产环境下所述开发对象之间相互调用数据表的次数,记为生产环境依赖次数;第一统计单元71还用于统计所述开发对象之间相互调用数据表时发生调用错误的次数,记为故障次数;第一统计单元71还用于将所述开发环境依赖次数与所述生产环境依赖次数加总,并减去所述故障次数,获得所述有效双向依赖次数。进一步的,第一统计单元71还用于将所述开发环境依赖次数乘以预设的第一折扣率。进一步的,第二统计单元72用于统计在开发环境下所述开发对象之间相互调用数据表的数据表字节数,记为开发环境依赖字节数;第二统计单元72还用于统计在生产环境下所述开发对象之间相互调用数据表的数据表字节数,记为生产环境依赖字节数;第二统计单元72还用于统计所述开发对象之间相互调用数据表时发生调用错误的数据表字节数,记为故障字节数;第二统计单元72还用于将所述开发环境依赖字节数与所述生产环境依赖字节数加总,并减去所述故障字节数,获得所述有效双向依赖字节数。进一步的,第二统计单元72还用于将所述开发环境依赖字节数乘以预设的第二折扣率。进一步的,第一计算单元73根据的所述映射表用于记录依赖次数区间与单次依赖分值之间的对应关系;第一计算单元73用于在所述映射表中查 找所述有效双向依赖次数所属的依赖次数区间;第一计算单元73还用于将所述有效双向依赖次数与所述依赖次数区间对应的单次依赖分值相乘,获得所述依赖次数分值。进一步的,第二计算单元74用于对所述有效双向依赖字节数进行预设次数的开方运算,获得所述依赖字节数分值。进一步的,如图8所示,该装置进一步包括:第一确定单元76,用于当所述依赖次数分值超过第一预设分值时,将所述第一预设分值确定为所述依赖次数分值;第二确定单元77,用于当所述依赖字节数分值超过第二预设分值时,将所述第二预设分值确定为所述依赖字节数分值;第三确定单元78,用于当所述关系指数超过第三预设分值时,将所述第三预设分值确定为所述关系指数。进一步的,如图8所示,该装置进一步包括:第二输出单元79,用于对所述开发对象之间的关系指数进行可视化输出。进一步的,该装置推算的开发对象关系中的开发对象包括:个体开发对象及组织开发对象。本发明实施例提供的一种基于大数据推算开发对象关系的装置,能够在企业大规模的数据场景中,通过判断数据表之间是否具有血缘关系,所述血缘关系为基于一个数据表直接生成另一个数据表的数据生成关系;当确定所述数据表之间具有血缘关系时,则分别获取数据表对应的开发对象信息;最后根据具有血缘关系的数据表,建立其所对应的开发对象信息之间的关联关系。与现有技术中有关人际关系网和学术关系网的分析方法相比,本发明能够在人与人之间不存在通讯信息的情况下,以及在学术文章署名不存在的情况下,当面向企业数据的开发对象时,能够基于数据之间的血缘关系以及数据所属的开发对象信息,推算出企业数据开发对象之间的关联关系,从而解决在大规模复杂的数据场景中,数据开发对象的依赖关系分析困难的难题,为基于开发对象关系的应用场景奠定基础。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没 有详述的部分,可以参见其他实施例的相关描述。可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明 书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的发明名称(如确定网站内链接等级的装置)中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1