掌桥专利:专业的专利平台
掌桥专利
首页

计算顺序的确定方法及装置、存储介质及电子装置

文献发布时间:2023-06-19 12:18:04


计算顺序的确定方法及装置、存储介质及电子装置

技术领域

本发明涉及通信领域,具体而言,涉及一种计算顺序的确定方法及装置、存储介质及电子装置。

背景技术

随着科技的发展,日常生活中的智能家电越来越多,智能家电在使用的过程中,会上报若干状态属性到云端,例如一台智能电热水器会上报以下属性:运行状态,当前水温,设定水温,水箱容量,最大功率,当前档位等。基于上述这些基础属性,运营和研发人员为了实现某些业务功能,可以在云端使用某个特定的计算公式计算出高阶属性来表示特定的业务含义,如当前运行功率,预计加热时长等。但由于一些属性在计算的过程中,会依赖于其他属性。例如属性A在计算的时候会依赖于属性B的结果,而属性B在计算的过程中会依赖于属性C的结果,如果在计算属性A的时候,属性B的结果还没有计算出来,那么就会导致属性A的值无法计算,为了解决上述问题,现有技术通常都是人工的给这些属性添加计算顺序号,确定属性的计算顺序。

但由于这种人工指定各个属性的计算顺序号的方式不够智能,浪费时间和精力,甚至可能出错,且如果给两个高阶属性指定的计算顺序号恰好相等,则无从确定各个属性的计算顺序。

针对相关技术,人工指定各个属性的计算顺序号所导致的效率较低等问题,目前尚未提出有效的解决方案。

发明内容

本发明实施例提供了一种计算顺序的确定方法及装置、存储介质及电子装置,以至少解决人工指定各个属性的计算顺序号所导致的效率较低等问题。

根据本发明实施例的一个方面,提供一种计算顺序的确定方法,包括:获取多个第一属性的计算公式,其中,所述第一属性由多个第二属性确定;根据多个所述计算公式确定所述多个第一属性的有向无环图,其中,所述有向无环图的节点为所述多个第一属性;根据所述有向无环图分别确定多个所述第一属性的引用指数,并通过所述引用指数确定所述多个第一属性的计算顺序,其中,所述引用指数用于指示所述第一属性被其他第一属性所引用的次数,所述计算顺序用于指示依次确定所述多个第一属性的计算顺序。

进一步地,根据多个所述计算公式确定所述多个第一属性的有向无环图,包括:从所述多个计算公式中获取所述多个第一属性中两两第一属性的依赖关系;根据所述依赖关系以及所述多个第一属性确定所述有向无环图。

进一步地,根据所述有向无环图分别确定多个所述第一属性的引用指数,包括:确定所述有向无环图中未被第一属性引用的第一目标属性;根据所述第一目标属性的引用指数依次确定所述有向无环图中除所述目标属性之外的其他第一属性的引用指数。

进一步地,根据所述第一目标属性的引用指数依次确定所述有向无环图中除所述目标属性之外的其他第一属性的引用指数,包括:对于除所述目标属性之外的其他第一属性中的任一第一属性,获取依赖于所述任一第一属性的第二目标属性;根据所述第二目标属性的引用指数确定所述任一第一属性的引用指数,直至确定所有其他第一属性的引用指数。

进一步地,根据所述第二目标属性的引用指数确定所述任一第一属性的引用指数,包括:对所述第二目标属性的引用指数加一求和,得到求和值;根据所述求和值作为所述任一第一属性的引用指数。

进一步地,通过所述引用指数确定所述多个第一属性的计算顺序,包括:按照所述多个第一属性的引用指数对所述第一属性按照从大到小依次排序;按照从大到小的顺序依次计算所述多个第一属性。

根据本发明实施例的又一个方面,还提供一种计算顺序的确定装置,包括:获取模块,用于获取多个第一属性的计算公式,其中,所述第一属性由多个第二属性确定;第一确定模块,用于根据多个所述计算公式确定所述多个第一属性的有向无环图,其中,所述有向无环图的节点为所述多个第一属性;第二确定模块,用于根据所述有向无环图分别确定多个所述第一属性的引用指数,并通过所述引用指数确定所述多个第一属性的计算顺序,其中,所述引用指数用于指示所述第一属性被其他第一属性所引用的次数,所述计算顺序用于指示依次确定所述多个第一属性的计算顺序。

进一步地,所述第一确定模块,还用于从所述多个计算公式中获取所述多个第一属性中两两第一属性的依赖关系;根据所述依赖关系以及所述多个第一属性确定所述有向无环图。

根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述计算顺序的确定方法。

根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述计算顺序的确定方法。

通过本发明,获取由多个第二属性确定的多个第一属性的计算公式,随后根据这多个计算公式确定以多个第一属性为节点的有向无环图,进而根据有向无环图分别确定多个第一属性的引用指数,并通过引用指数确定多个第一属性的计算顺序。采用上述技术方案,解决人工指定各个属性的计算顺序号所导致的效率较低等问题。进而通过多个第一属性的计算公式来确定关于多个第一属性的计算公式的有向无环图,随后根据有向无环图确定多个第一属性的引用指数,进而决定多个第一属性的计算顺序,实现了智能化处理,节约了时间和精力,不易出错。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示例性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明实施例的计算顺序的确定方法的计算机终端的硬件结构框图;

图2是根据本发明实施例的计算顺序的确定方法的流程图;

图3是根据本发明实施例的计算顺序的确定方法的属性依赖图;

图4是根据本发明实施例的计算顺序的确定装置的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本申请实施例中所提供的方法实施例可以在计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本发明实施例的一种计算顺序的确定方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,在一个示例性实施例中,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。

存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的计算顺序的确定方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。

为了更好的理解本发明的技术方案,以下对一些技术术语进行说明:

基本属性:智能家电上报到云端的属性,包含一个属性名和对应的属性值,一个智能家电一次会上报多个基本属性。

高阶属性:基于若干基本属性,通过某个计算公式计算出来的新属性。

高阶属性的顺序:因为高阶属性的计算中有相互依赖关系,所以需要有一个算法来确定它们的计算顺序,按此顺序计算,才能确保计算的正确性。

引用指数:描述某个属性被所有其他属性引用频率高低的数值(不一定是精确的引用次数),例如:D引用C,C引用B,则B被C和D引用,B的引用指数等于2,C被D引用,则C的引用指数等于1,D不被其他属性引用,故D的引用指数等于0。

有向无环图:一个无回路的有向图,其中,图中点表示实体,边表示实体之间的关系(有方向)。

入度:在有向无环图中,指向一个节点的边的个数。

假设已有若干智能家电的基本属性:A1,A2,A3,A4,此外还定义了若干高阶属性和它们的计算公式:B=A1+A2,C=B/A3,D=C*A4。则这些高阶属性之间有如下依赖关系:D->C->B,即D依赖C,C依赖B,那么在这些属性的计算中,应该先计算B,再计算C,最后计算D。这样才能计算出正确的值,否则如果先计算D,则此时属性C还没有值,无法计算。

为了解决上述问题,在本实施例中提供了一种计算顺序的确定方法,图2是根据本发明实施例的计算顺序的确定方法的流程图,该流程包括如下步骤:

步骤S202,获取多个第一属性的计算公式,其中,所述第一属性由多个第二属性确定;

步骤S204,根据多个所述计算公式确定所述多个第一属性的有向无环图,其中,所述有向无环图的节点为所述多个第一属性;

步骤S206,根据所述有向无环图分别确定多个所述第一属性的引用指数,并通过所述引用指数确定所述多个第一属性的计算顺序,其中,所述引用指数用于指示所述第一属性被其他第一属性所引用的次数,所述计算顺序用于指示依次确定所述多个第一属性的计算顺序。

通过上述步骤,引用一种计算顺序的确定方法,获取由多个第二属性确定的多个第一属性的计算公式,随后根据这多个计算公式确定以多个第一属性为节点的有向无环图,进而根据有向无环图分别确定多个第一属性的引用指数,并通过引用指数确定多个第一属性的计算顺序。采用上述技术方案,解决人工指定各个属性的计算顺序号所导致的效率较低等问题。进而通过多个第一属性的计算公式来确定关于多个第一属性的计算公式的有向无环图,随后根据有向无环图确定多个第一属性的引用指数,进而决定多个第一属性的计算顺序,实现了智能化处理,节约了时间和精力,不易出错。为了更好的理解上述步骤S202,在一个可选的实施例中,获取多个第一属性的计算公式,需要说明的是,第一属性可以由多个第二属性一起确定,也可以由多个第二属性和其余的第一属性一起确定。例如,若有6个第一属性:A,B,C,D,E,H,4个第二属性:A1,A2,A3,A4。可以得到这6个第一属性的计算公式,即第一属性C的计算公式为C=A1+A2,第一属性D的计算公式为D=A1/A2,第一属性B的计算公式为B=C+D+A3,第一属性E的计算公式为E=D*A3,第一属性A的计算公式为A=(B+E)*A2,第一属性H的计算公式H=A1*A4。

需要说明的是,上述步骤S204的执行有多种方式,在一个可选的实施例中,根据多个所述计算公式确定所述多个第一属性的有向无环图,包括:从所述多个计算公式中获取所述多个第一属性中两两第一属性的依赖关系;根据所述依赖关系以及所述多个第一属性确定所述有向无环图。

在本实施中,先根据多个计算公式确定多个第一属性中两两第一属性的依赖关系,随后根据这两两依赖关系,确定以第一属性为节点的有向无环图,需要说明的是,如果有的第一属性没有依赖其余的第一属性,则这个第一属性已独立点的形式存在。例如:根据上述6个第一属性的计算公式可以得出,第一属性A依赖第一属性B,第一属性A依赖第一属性E,第一属性B依赖第一属性C,第一属性B依赖第一属性D,第一属性E依赖第一属性D,第一属性H不依赖其他5个第一属性。随后根据这6个第一属性之间的依赖关系确定属性依赖图,图3是根据本发明实施例的计算顺序的确定方法的属性依赖图,图3中的属性A,B,C,D,E,H分别对应第一属性A,B,C,D,E,H,由于第一属性H没有引用其余属性,所以是一个独立点的形式存在。

在一个可选的实施例中,上述步骤S206根据所述有向无环图分别确定多个所述第一属性的引用指数,可以通过以下技术方案实现:确定所述有向无环图中未被第一属性引用的第一目标属性;根据所述第一目标属性的引用指数依次确定所述有向无环图中除所述目标属性之外的其他第一属性的引用指数。

在本实施例中,需要从多个第一属性的有向无环图先找到一个未被第一属性引用的第一目标属性,随后根据第一目标属性的引用指数确定其余目标属性之外的其他第一属性的引用指数。例如,如图3所示,先从图中找到未被第一属性引用的第一目标属性,即第一目标属性为A和H,随后根据第一目标属性A的引用指数确定其余第一属性B,C,D,E的第一属性。需要说明的是第一目标属性的引用系数为零。

为了更好的说明怎么根据第一目标属性的引用指数怎么确定其余第一属性的引用指数,在一个可选的实施例中,根据所述第一目标属性的引用指数依次确定所述有向无环图中除所述目标属性之外的其他第一属性的引用指数,包括:对于除所述目标属性之外的其他第一属性中的任一第一属性,获取依赖于所述任一第一属性的第二目标属性;根据所述第二目标属性的引用指数确定所述任一第一属性的引用指数,直至确定所有其他第一属性的引用指数。

在本实施例中,对于除第一目标属性外的任一第一指数引用指数的确定,需要先获取到依赖于任一第一指数的第二目标属性,进而根据第二目标属性的引用指数来确定任一第一属性的引用指数,采用同样的方法计算完所有第一属性的引用指数。例如,对于第一属性C的引用指数的确定方式,需要确定依赖于第一属性C的第二目标属性,即第一属性B,根据第一属性B的引用指数确定第一属性C的引用指数,如果第一指数B的属性不确定,则同样的需要找到依赖于第一属性B的第二目标属性,进而确定第一属性B的引用指数,采用上述方法,直至确定完所有第一属性的引用指数。

需要说明的是,在一个可选的实施例中,根据所述第二目标属性的引用指数确定所述任一第一属性的引用指数,可以通过以下技术实现:对所述第二目标属性的引用指数加一求和,得到求和值;根据所述求和值作为所述任一第一属性的引用指数。

在本实施例中,需要对依赖于任一第一属性的所有第二目标属性的引用指数先加一,然后将所有第二目标属性的引用指数加一后的结果求和,根据这个求和值作为任一第一属性的引用指数,例如:现需要确定第一属性D的引用指数,由于依赖于第一属性D的第二目标属性有多个,分别为第一属性B和第一属性E,如果第一属性B的引用指数为1,第一属性E的引用指数也为1,则先将第一属性B的引用指数和第一属性E的引用指数都加一,随后求和,也就是(1+1)+(1+1)=4,即第一属性D的引用指数可以确定为4。

在计算完所有的第一属性的引用指数以后,需要根据引用指数来确定计算顺序,可选的,通过所述引用指数确定所述多个第一属性的计算顺序,包括:按照所述多个第一属性的引用指数对所述第一属性按照从大到小依次排序;按照从大到小的顺序依次计算所述多个第一属性。

例如,上述第一属性A,B,C,D,E,H通过计算得出了第一属性A的引用指数为0,第一属性B的引用指数为1,第一属性E的引用指数为1,第一属性C的引用指数为2,第一属性D的引用指数为4,第一属性E的引用指数为4,第一属性H的引用指数为0。则根据各自引用指数的大小从大到小依次排列为,D,C,B,E,A,H。需要说明的是,如果两个第一属性的引用指数大小一样,则排列顺序不做限定。进一步的,按照上述顺序计算第一目标属性的属性值即可,就不会出现在计算某一个第一属性值的时候,因为依赖的另外的第一属性的属性值还没有计算出来,导致这个第一属性值不能计算。

显然,上述所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。为了更好的理解上述计算顺序的确定方法,以下结合实施例对上述过程进行说明,但不用于限定本发明实施例的技术方案,具体地:

在一个可选的实施例中,属性的计算顺序的确定有以下步骤:

步骤一:获取到高阶属性(相当于本实施例中第一属性)的计算公式,分析它们之间的相互依赖关系,进而生成多个有向无环图或独立点。

步骤二:将独立点的引用指数设置为0;

步骤三:确定有向无环图中的高阶属性的引用指数;

步骤四:将所有高阶属性按照引用指数从大到小排序,按此顺序依次计算各高阶属性。

需要说明的是,上述步骤三需要先找到所有不被其他高阶属性引用(即入度等于0)的属性集合S作为初始点,轮询其中的每个属性s,即先初始化属性s的引用指数=0,根据s的属性依赖路径,遍历s的每个依赖属性,递归计算引用指数:当前属性的引用指数=∑(依赖本属性的其他属性的引用指数+1)。

为了更好的理解上述步骤三,假设不被其他高阶属性引用属性集合S中有三个属性(属性a,属性b,属性c),先遍历属性a的依赖路径,假设属性a有依赖路径:属性a依赖属性e,属性e依赖属性f。则设置属性a的引用指数为0,进而依次确定属性e和属性f的值。根据同样的方法计算属性b和属性c依赖路径上所有属性的引用指数,需要说明的是,有时候一个属性可能被两个属性依赖,所有在计算这个属性的引用指数的时候,将依赖本属性的其他属性的引用指数先加一,随后求和。

在一个可选的实施例中,如果步骤一生成的属性之间的依赖关系图如图3所示,每个属性的引用指数以函数Ref表示,按照上述步骤三的描述,计算过程如下:

步骤(1):先找到所有不被其他属性依赖(即入度等于0)的属性集合,图3所示为属性A和H;

步骤(2):初始化A和H的引用指数为0,即Ref(A)=0,Ref(H)=0;

步骤(3):属性H没有依赖的属性,计算结束;

步骤(4):属性A有2个依赖属性B和E,分别计算其Ref值:引用B的属性为A,则Ref(B)=Ref(A)+1=1,同理ref(E)=1,B的依赖属性有C和D,则Ref(C)=Ref(B)+1=2,Ref(D)=Ref(B)+1+Ref(E)+1=4;

步骤(5):按照Ref值逆序排列属性为:D(4)>C(2)>B(1)>=E(1)>A(0)>=H(0),相同Ref值时的顺序不严格,即属性的计算顺序为:D,C,B,E,A,H。

此外,本发明实施例的上述技术方案,某属性被其余属性依赖越多,即引用指数越大,则需要先行计算,某属性被依赖越少,即引用指数越小,则延后计算,这样才能保证整体计算的可行性。同时,上述方案通过解析高阶属性的计算公式,分析出属性之间的依赖关系,基于属性依赖关系进一步构造出属性之间的有向无环图或独立点(无依赖的属性),初始化处理所有没有被依赖的属性的引用指数为0。通过定义计算引用指数的公式:当前属性的引用指数=∑(依赖本属性的其他属性的引用指数+1),可以通过递归计算得到所有属性的引用指数。

进一步地,采用本发明技术方案,实现了智能化,即高阶属性的计算顺序能自动根据属性之间的依赖关系确定,不必再人工维护其计算顺序。同时本发明技术方案具有灵活性,当高阶属性的计算公式改变后,其依赖关系也可能发生变化,只需要重新计算下各属性的引用指数,就可以同步修改其计算顺序。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。

在本实施例中还提供了一种计算顺序的确定装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的设备较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图4是根据本发明实施例的一种计算顺序的确定装置的结构框图,该装置包括:

获取模块42,用于获取多个第一属性的计算公式,其中,所述第一属性由多个第二属性确定;

第一确定模块44,用于根据多个所述计算公式确定所述多个第一属性的有向无环图,其中,所述有向无环图的节点为所述多个第一属性;

第二确定模块46,用于根据所述有向无环图分别确定多个所述第一属性的引用指数,并通过所述引用指数确定所述多个第一属性的计算顺序,其中,所述引用指数用于指示所述第一属性被其他第一属性所引用的次数,所述计算顺序用于指示依次确定所述多个第一属性的计算顺序。

通过本发明,引用一种计算顺序的确定装置,获取由多个第二属性确定的多个第一属性的计算公式,随后根据这多个计算公式确定以多个第一属性为节点的有向无环图,进而根据有向无环图分别确定多个第一属性的引用指数,并通过引用指数确定多个第一属性的计算顺序。采用上述技术方案,解决人工指定各个属性的计算顺序号所导致的效率较低等问题。进而通过多个第一属性的计算公式来确定关于多个第一属性的计算公式的有向无环图,随后根据有向无环图确定多个第一属性的引用指数,进而决定多个第一属性的计算顺序,实现了智能化处理,节约了时间和精力,不易出错。

在一个可选的实施例中,获取模块42用于获取多个第一属性的计算公式,需要说明的是,第一属性可以由多个第二属性一起确定,也可以由多个第二属性和其余的第一属性一起确定。例如,若有6个第一属性:A,B,C,D,E,H,4个第二属性:A1,A2,A3,A4。可以得到这6个第一属性的计算公式,即第一属性C的计算公式为C=A1+A2,第一属性D的计算公式为D=A1/A2,第一属性B的计算公式为B=C+D+A3,第一属性E的计算公式为E=D*A3,第一属性A的计算公式为A=(B+E)*A2,第一属性H的计算公式H=A1*A4。

需要说明的是,在一个可选的实施例中,第一确定模块44用于从所述多个计算公式中获取所述多个第一属性中两两第一属性的依赖关系;根据所述依赖关系以及所述多个第一属性确定所述有向无环图。

在本实施中,先根据多个计算公式确定多个第一属性中两两第一属性的依赖关系,随后根据这两两依赖关系,确定以第一属性为节点的有向无环图,需要说明的是,如果有的第一属性没有依赖其余的第一属性,则这个第一属性已独立点的形式存在。例如:根据上述6个第一属性的计算公式可以得出,第一属性A依赖第一属性B,第一属性A依赖第一属性E,第一属性B依赖第一属性C,第一属性B依赖第一属性D,第一属性E依赖第一属性D,第一属性H不依赖其他5个第一属性。随后根据这6个第一属性之间的依赖关系确定属性依赖图,图3是根据本发明实施例的计算顺序的确定方法的属性依赖图,图3中的属性A,B,C,D,E,H分别对应第一属性A,B,C,D,E,H,由于第一属性H没有引用其余属性,所以是一个独立点的形式存在。

在一个可选的实施例中,第二确定模块46用于确定所述有向无环图中未被第一属性引用的第一目标属性;根据所述第一目标属性的引用指数依次确定所述有向无环图中除所述目标属性之外的其他第一属性的引用指数。

在本实施例中,需要从多个第一属性的有向无环图先找到一个未被第一属性引用的第一目标属性,随后根据第一目标属性的引用指数确定其余目标属性之外的其他第一属性的引用指数。例如,如图3所示,先从图中找到未被第一属性引用的第一目标属性,即第一目标属性为A和H,随后根据第一目标属性A的引用指数确定其余第一属性B,C,D,E的第一属性。需要说明的是第一目标属性的引用系数为零。

在一个可选的实施例中,第二确定模块46还用于对于除所述目标属性之外的其他第一属性中的任一第一属性,获取依赖于所述任一第一属性的第二目标属性;根据所述第二目标属性的引用指数确定所述任一第一属性的引用指数,直至确定所有其他第一属性的引用指数。

在本实施例中,对于除第一目标属性外的任一第一指数引用指数的确定,需要先获取到依赖于任一第一指数的第二目标属性,进而根据第二目标属性的引用指数来确定任一第一属性的引用指数,采用同样的方法计算完所有第一属性的引用指数。例如,对于第一属性C的引用指数的确定方式,需要确定依赖于第一属性C的第二目标属性,即第一属性B,根据第一属性B的引用指数确定第一属性C的引用指数,如果第一指数B的属性不确定,则同样的需要找到依赖于第一属性B的第二目标属性,进而确定第一属性B的引用指数,采用上述方法,直至确定完所有第一属性的引用指数。

需要说明的是,在一个可选的实施例中,第二确定模块46还用于对所述第二目标属性的引用指数加一求和,得到求和值;根据所述求和值作为所述任一第一属性的引用指数。

在本实施例中,需要对依赖于任一第一属性的所有第二目标属性的引用指数先加一,然后将所有第二目标属性的引用指数加一后的结果求和,根据这个求和值作为任一第一属性的引用指数,例如:现需要确定第一属性D的引用指数,由于依赖于第一属性D的第二目标属性有多个,分别为第一属性B和第一属性E,如果第一属性B的引用指数为1,第一属性E的引用指数也为1,则先将第一属性B的引用指数和第一属性E的引用指数都加一,随后求和,也就是(1+1)+(1+1)=4,即第一属性D的引用指数可以确定为4。

第二确定模块46还用于按照所述多个第一属性的引用指数对所述第一属性按照从大到小依次排序;按照从大到小的顺序依次计算所述多个第一属性。

例如,上述第一属性A,B,C,D,E,H通过计算得出了第一属性A的引用指数为0,第一属性B的引用指数为1,第一属性E的引用指数为1,第一属性C的引用指数为2,第一属性D的引用指数为4,第一属性E的引用指数为4,第一属性H的引用指数为0。则根据各自引用指数的大小从大到小依次排列为,D,C,B,E,A,H。需要说明的是,如果两个第一属性的引用指数大小一样,则排列顺序不做限定。进一步的,按照上述顺序计算第一目标属性的属性值即可,就不会出现在计算某一个第一属性值的时候,因为依赖的另外的第一属性的属性值还没有计算出来,导致这个第一属性值不能计算。

本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:

S1,获取多个第一属性的计算公式,其中,所述第一属性由多个第二属性确定;

S2,根据多个所述计算公式确定所述多个第一属性的有向无环图,其中,所述有向无环图的节点为所述多个第一属性;

S3,根据所述有向无环图分别确定多个所述第一属性的引用指数,并通过所述引用指数确定所述多个第一属性的计算顺序,其中,所述引用指数用于指示所述第一属性被其他第一属性所引用的次数,所述计算顺序用于指示依次确定所述多个第一属性的计算顺序。

在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。

本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。

本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

S1,获取多个第一属性的计算公式,其中,所述第一属性由多个第二属性确定;

S2,根据多个所述计算公式确定所述多个第一属性的有向无环图,其中,所述有向无环图的节点为所述多个第一属性;

S3,根据所述有向无环图分别确定多个所述第一属性的引用指数,并通过所述引用指数确定所述多个第一属性的计算顺序,其中,所述引用指数用于指示所述第一属性被其他第一属性所引用的次数,所述计算顺序用于指示依次确定所述多个第一属性的计算顺序。

在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 计算顺序的确定方法及装置、存储介质及电子装置
  • 帧率的确定方法和装置、存储介质、电子装置
技术分类

06120113239575