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

数据处理方法、装置、设备和可读存储介质

文献发布时间:2024-04-18 19:52:40


数据处理方法、装置、设备和可读存储介质

技术领域

本发明涉及计算机软件领域,具体涉及一种数据处理方法、装置、设备和可读存储介质。

背景技术

目前,在一些业务场景中,会采集与这些业务场景相关的数据,并通过软件程序来对这些数据进行处理,得到数据处理结果。比如,在模具设计领域,会采集模具的长、宽、高等数据,然后通过软件程序对这些数据进行处理,得到模具的面积或体积等。在软件程序中,这些业务数据以及数据处理结果,是通过变量来进行传递的。在一个变量依赖其他变量的情况下,针对该变量的程序编码则可能会比较复杂。举例来说,在确定变量A需传递的数据时,若变量A依赖变量B、变量C和变量D(比如A=B+C/D),而变量B又依赖变量E和变量C,变量E依赖变量C,变量C依赖变量G,那么在进行程序编码时,则需要手动在程序代码中分析这些变量之间的依赖关系,以最终确定变量A需传递的数据。这无疑增加了软件设计难度。

发明内容

有鉴于此,本发明实施方式提供了一种数据处理方法、数据处理装置、电子设备和计算机可读存储介质,可以降低软件设计的难度。

本发明一方面提供了一种数据处理方法,所述方法包括:

获取目标业务场景的业务数据,并确定在对所述业务数据进行处理时,用于进行数据传递的变量,其中,所述变量具有信息标识和待确定的变量值,所述信息标识用于表征所述变量值的确定方式;

将所述变量和所述变量的所述信息标识输入数据处理模型,其中,所述数据处理模型包括至少一个子模型;

确定按照所述信息标识表征的确定方式确定所述变量值时所需的目标子模型,其中,每种确定方式有分别对应的子模型,基于不同确定方式确定变量值时所需的子模型不同;及

运行所述目标子模型,以确定所述变量值。

本发明另一方面还提供了一种数据处理装置,所述装置包括:

数据获取模块,用于获取目标业务场景的业务数据,并确定在对所述业务数据进行处理时,用于进行数据传递的变量,其中,所述变量具有信息标识和待确定的变量值,所述信息标识用于表征所述变量值的确定方式;

数据处理模块,用于将所述变量和所述变量的所述信息标识输入数据处理模型,其中,所述数据处理模型包括至少一个子模型;

模型决策模块,用于确定按照所述信息标识表征的确定方式确定所述变量值时所需的目标子模型,其中,每种确定方式有分别对应的子模型,基于不同确定方式确定变量值时所需的子模型不同;及

模型运行模块,用于运行所述目标子模型,以确定所述变量值。

本发明另一方面还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序被处理器进行时,实现如上所述的方法。

本发明另一方面还提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器进行时,实现如上所述的方法。

在本申请一些实施例的技术方案中,数据处理模型基于变量的信息标识,确定按照信息标识表征的确定方式确定变量值时所需的目标子模型,并运行目标子模型,得到变量值。如此,在程序编码过程中,通过调用数据处理模型便可以确定各个变量的变量值,无需在程序编码时,体现各个变量计算过程的代码,进而达到了简化程序编码,降低软件设计的难度。

另外,每种确定方式有分别对应的子模型,基于不同确定方式确定变量值时所需的子模型不同,使得可以按照实际所需,对数据处理模型中的子模型进行扩展,适用性更强。

附图说明

通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:

图1示出了本申请的一个实施例提供的数据处理方法的流程示意图;

图2示出了本申请的一个实施例提供的计算引擎的模块示意图;

图3为基于图2中的计算引擎进行数据计算的流程示意图;

图4示出了本申请的一个实施例提供的数据处理装置的模块示意图;

图5示出了本申请的一个实施例提供的电子设备的示意图。

具体实施方式

为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。

本申请提供的数据处理方法可应用于工业软件中,或者应用于运行该工业软件的电子设备中。该电子设备可以包括笔记本、台式电脑、智能手机、平板电脑等。工业软件可以对工业生产过程中采集到的原始数据进行分析、计算等处理,得到数据处理结果,并基于数据处理结果,对工业生产过程进行控制,或者展示数据处理结果,以方便工作人员对工业生产过程进行监控等。举例来说,在模具生产过程中,工业软件可以将采集到的模具的实际长度、宽度作为原始数据,基于模具的实际长度、宽度,计算得到模具的实际体积,并将模具的实际体积和理论要求的体积进行比较。若模具的实际体积和理论要求的体积不相匹配,可以对模具的生产过程进行调整控制,使得模具的实际体积与理论要求的体积相匹配。

基于以上描述,请参阅图1,为本申请的一个实施例提供的数据处理方法的流程示意图。数据处理方法可以包括如下步骤:

步骤S11,获取目标业务场景的业务数据,并确定在对业务数据进行处理时,用于进行数据传递的变量,其中,变量具有信息标识和待确定的变量值,信息标识用于表征变量值的确定方式。

在一些实施例中,目标业务场景可以是工业软件所应用于的业务场景。比如模具和通用机械制造行业、电气和装备制造行业、交通运输行业等。目标业务场景的业务数据,可以是在目标业务场景下,通过数据采集设备(比如传感器)直接采集到的数据。比如在交通运输行业,通过速度传感器采集到的交通运输工具的速度。

工业软件中可以包括程序代码,通过程序代码可以对业务数据进行处理。其中,在程序代码对业务数据进行处理时,可以通过变量来传递这些业务数据以及对这些业务数据进行处理后的处理结果。比如,可以通过变量A传递业务数据A,通过变量B传递业务数据B,通过变量C传递业务数据A和业务数据B相加后得到的数值。通过变量传递的数据又可称为变量值。

具体的,在编写对业务数据进行处理的程序代码时,可以预先定义多个不同的变量,不同的变量用于传递不同的数据。每次运行程序代码对业务数据进行处理时,可以根据实际需要,使用预先定义的一个或多个变量来进行数据传递。比如,程序代码中预先定义了变量A、变量B和变量C,其中,变量A用于传递业务数据A,通过变量B用于传递业务数据B,通过变量C用于传递业务数据C和业务数据D相加后得到的数值。在对目标业务场景的业务数据进行处理时,可能需要使用到变量A和变量C来进行数据传递(即运行包括变量A和变量C的程序代码),那么变量A和变量C即是用于进行数据传递的变量。

可以理解的是,使用变量来传递数据时,首先需要先确定各个变量待传递的数据,即各个变量的变量值。比如,假设使用变量C传递业务数据A和业务数据B相加后得到的数值,那么需要将业务数据A和业务数据B进行相加计算,并将相加后的值作为变量值,赋予变量C。在确定一个变量的变量值时,在计算过程较为复杂,或者变量之间的依赖关系较为复杂的情况下,若直接在程序代码中表示这个计算过程,会增加软件设计的难度。故在本申请的数据处理方法中,可以预先对所有变量的计算过程进行类别划分,每个类别对应的计算过程通过一个模型来实现,进而在确定变量的变量值时,可以直接通过模型调用的方式来确定变量值,无需在程序代码中体现这个计算过程,从而可以降低软件设计的难度。具体请参阅步骤S22至步骤S24相关描述,此处不赘述。

上述对变量的计算过程进行划分后得到的类别,又可称为变量值的确定方式。不同的变量值确定方式,可以通过不同的信息标识来表示。可以理解的是,根据每个变量所对应的计算过程,各个变量均存在一个对应的信息标识,用以表征相应变量的变量值确定方式。各个变量的信息标识,可以是在编程过程中预先指定的。

步骤S12,将变量和变量的信息标识输入数据处理模型,其中,数据处理模型包括至少一个子模型,每种确定方式有分别对应的子模型,基于不同的确定方式确定变量值时所需的子模型不同。

在一些实施例中,不同子模型之间相互独立,每个子模型可以分别单独运行。每个子模型可以按照一种确定方式确定变量值。不同子模型对变量值的确定方式可以不同。在程序代码的运行过程中,需要确定一个变量的变量值时,可以将该变量和该变量的信息标识输入到数据处理模型中。以便于基于信息标识,可以运行相应的子模型,来进行变量值计算。

在本实施例中,数据处理模型中的子模型可以划分为两大类。其中一类子模型按照第一确定方式确定变量值,另一类子模型按照第二确定方式确定变量值。

以下先对第一确定方式进行说明。

在一些实施例中,第一确定方式可以是基于预设的目标表达式,得到变量值。该目标表达式可以是预先设置于第一类子模型中的。目标表达式的计算逻辑可以是基于程序代码中变量实际所需的计算逻辑来确定的。比如,在程序代码中,变量A需要通过表达式3x+2y来确定,那么可以将表达式3x+2y作为目标表达式。或者,在程序代码中,变量A需要固定赋值为123,则可以将目标表达式设置为123。具体的:

在一些实施例中,第一确定方式可以包括公式确定方式,相应的,目标表达式可以包括计算公式。在基于计算公式得到变量值时,可以将基于计算公式计算得到的结果,作为变量值。比如,假设计算公式为5x+3y+2z,基于计算公式计算得到的结果为10,那么则可以将10作为变量值(即变量值)。

在一些实施例中,第一确定方式可以包括匹配确定方式,相应的,目标表达式包括匹配条件,且匹配条件具有对应的匹配信息。在基于匹配条件得到变量值时,可以在确定匹配条件成立的情况下,将匹配条件对应的匹配信息作为变量值。比如,假设存在匹配条件A,且匹配条件A对应的匹配信息是20,那么在匹配条件A成立的情况下,即可以将20作为变量值。关于如何确定匹配条件成立,可参见后续相关描述,此处不赘述。

在一些实施例中,第一确定方式包括拼接确定方式,相应的,目标表达式包括拼接公式。在基于拼接公式得到变量值时,可以将基于拼接公式拼接得到的信息,作为变量值。比如,假设拼接公式是用拼接字符&将字母A和字母B拼接为A&B,那么可以将拼接得到的A&B作为变量值。

以下对第二确定方式进行说明。

在一些实施例中,第二确定方式可以是调用目标应用来得到变量值。目标应用可以是包括目标表达式的模板文档(比如包括拼接公式的Excel文档),或第三方应用。第三方应用基于目标表达式确定变量值后,将变量值返回给数据处理模型,再由数据处理模型将给变量赋值。

关于如何基于目标表达式或调用目标应用来确定变量值的详细阐述,可参见步骤S14的相关描述,此处不赘述。

在一些实施例中,在将变量和变量的信息标识输入数据处理模型时,还可以将变量所依赖的至少部分子变量的子变量值输入数据处理模型,使得在依据目标表达式确定变量值时,可以将子变量值代入到目标表达式中,以得到变量值;或者在调用目标应用时,可以将子变量值发送给目标应用,以便于目标应用基于子变量值,得到变量值。其中,变量所依赖的子变量,是指在确定变量的变量值时所需的子变量。子变量值指子变量的变量值。比如,假设计算公式为A=3x+2y+5z,那么变量x、变量y和变量z便可以是变量A所依赖的子变量。在将变量A和变量A的信息标识输入数据处理模型时,还可以将子变量x、子变量y和子变量z的子变量值(即变量值)输入数据处理模型,以便于将子变量x、子变量y和子变量z的子变量值代入计算公式后,得到变量A的变量值。又比如,在确定变量B的变量值时,需要在匹配条件x+y>5成立的情况下,将匹配条件x+y>5对应的匹配信息0作为变量值。此处,匹配条件中的子变量x和子变量y,便是变量B所依赖的子变量。在将变量B和变量B的信息标识输入数据处理模型时,还可以将子变量x和子变量y的子变量值输入数据处理模型。

在一些实施例中,出于减少数据输入量的考虑,可以在子模型中预先设置变量对应的依赖树。所谓依赖树,可以表征变量与各个子变量之间的依赖关系,以及各个子变量之间的依赖关系。基于该依赖树,凡是通过依赖树可以求解得到的子变量值,均可以无需再输入。比如,假设计算公式为A=3x+2y+5z,且z=x+y。那么依赖树可以是A依赖x、y、z,且z依赖x、y。在获取子变量值时,可以只获取子变量x和子变量y的子变量值。将子变量x和子变量y的子变量值代入z=x+y,可以得到子变量z的变量值,再将子变量x、子变量y和子变量z的子变量值代入A=3x+2y+5z,便可以得到变量A的变量值。如此,可以减少数据处理模型的数据输入量。

在一些实施例中,子变量值还可以是保存在指定存储位置,通过数据处理模型在计算过程中自动获取到的。即这种情况下,可以无需手动往数据处理模型中输入子变量值。

可以理解的是,在一个数据处理模型中,子模型的数量、各个子模型对应的确定方式,以及各个子模型中预先设置的计算公式、匹配条件、拼接公式等,均可以按照实际情况进行设置。比如,在场景1中,需要按照计算公式1、或匹配条件1、或第三方应用A确定变量值,那么可以在数据处理模型中预先创建三个子模型,并在第一个子模型中预先设置公式1,在第二个子模型中预先设置匹配条件1,以及在第三子模型中预先设置第三应用A的调用信息;而在场景2中,需要按照计算公式2或拼接公式2确定变量值,那么可以在数据处理模型中预先创建两个子模型,并在第一个子模型中预先设置计算公式2,以及在第二个子模型中预先设置拼接公式2。

另外,考虑到一些场景中,针对同一个确定方式,可能也需要预先设置多个目标表达式或多个应用的调用信息。在这种情况下,同一个确定方式下的多个目标表达式或多个应用的调用信息可以基于变量名进行区分。比如,在一些场景中,可能需要基于计算公式5x+3确定变量A的变量值,以及基于计算公式3z/2b确定变量B的变量值,那么可以在同一个子模型中设置:

公式1:A=5x+3

公式2:B=3z/2b

在获取到变量A时,运行该子模型,基于计算公式1确定变量A的变量值。

在获取到变量B时,运行该子模型,基于计算公式2确定变量B的变量值。

步骤S13,确定按照信息标识表征的确定方式确定变量值时所需的目标子模型。

在一些实施例中,每个子模型可以具有子模型标识。可以预先建立信息标识和子模型标识的对应关系。在步骤S12中得到信息标识后,可以基于该对应关系,将信息标识对应的子模型,作为目标子模型。

步骤S14,运行目标子模型,以确定变量值。

基于上述步骤S11和步骤S13的相关描述,可以理解的是,在信息标识表征的确定方式为第一确定方式的情况下,可以运行第一确定方式对应的目标子模型,使目标子模型基于预设的目标表达式,得到变量值;在信息标识表征的确定方式为第二确定方式的情况下,可以运行第二确定方式对应的目标子模型,使目标子模型通过调用目标应用来得到变量值。

以下示例性的,针对不同确定方式对应的目标子模型在确定变量值时的原理进行说明。

在一些实施例中,针对基于计算公式确定变量值的目标子模型来说,目标子模型可以将基于计算公式计算得到的结果,作为变量值。

比如,假设在目标子模型中,计算公式如表格1所示。

表格1计算公式

表格1中,在目标子模型中定义了变量A1、变量B1和变量C1分别对应的计算公式。

在变量A1和变量C1对应的计算公式中,涉及变量所依赖的子变量,故在确定变量A和变量C的变量值时,可以将变量A和变量B所依赖的至少部分子变量的子变量值代入对应的计算公式进行计算,并将计算结果作为变量A1和变量C1的变量值。

在变量B1对应的计算公式中,直接将变量B1的变量值指定为123,故在确定变量B的变量值时,直接将123作为变量B1的变量值。

在一些实施例中,针对基于匹配条件确定变量值的目标子模型来说,目标子模型可以在匹配条件成立的情况下,将匹配条件对应的匹配信息作为变量值。匹配条件可以通过多种方式来实现。以下示例性的列举其中两种方式。

第一种匹配条件的实现方式如下:假设在目标子模型中,设置了多个如表格2所示的条件公式。在其中一个条件公式成立时,便将该条件公式对应的匹配信息作为变量值。

表格2条件公式

具体的,表格2中,在条件公式A成立的情况下,可以将A1作为变量A的变量值,将B1作为变量B的变量值;

在条件公式A不成立的情况下,继续判断条件公式B是否成立,若条件公式B成立,将A2作为变量A的变量值,将B2作为变量B的变量值;

若条件公式B不成立,则继续判断条件公式C是否成立,若条件公式C成立,则将A3作为变量A的变量值,将B3作为变量B的变量值。

表格2中的条件公式,可以是与变量所依赖的子变量相关的表达式。当然,这些条件公式也可以是与变量所依赖的子变量不相关的表达式。

比如,条件公式A可以是x+y>20;

条件公式B可以是x+y>15;

条件公式C可以是x+y>10。

x和y是变量A和变量B所依赖的子变量。在子变量x和子变量y的变量值之和大于20的情况下,将A1作为变量A的变量值,以及将B1作为变量B的变量值;若子变量x和子变量y的变量值之和未大于20,但大于15,则将A2作为变量A的变量值,以及将B2作为变量B的变量值;若子变量x和子变量y的变量值之和未大于15,但大于10,则将A3作为变量A的变量值,以及将B3作为变量B的变量值。

第二种匹配条件的实现方式如下:假设在目标子模型中,设置了多个如表格3所示的对照条件。在其中一个对照条件成立时,将对照条件对应的信息作为变量的变量值。

表格3对照条件

具体的,在表格3中,假设子变量A的变量值为A1,且子变量B的变量值为B1,则表示第一个对照条件成立,可以将C1作为变量C的变量值,将D1作为变量D的变量值;

假设子变量A的变量值为A2,则不关注子变量B的变量值,直接确定第二个对照条件成立,可以将C2作为变量C的变量值,将D2作为变量D的变量值;

假设子变量A的变量值为A3,且子变量B只要存在变量值(即不关注子变量B的具体取值),则可以确定第三个对照条件成立,可以将C3作为变量C的变量值,将D3作为变量D的变量值。

在一些实施例中,针对基于拼接公式确定变量值的目标子模型来说,可以将基于拼接公式拼接得到的信息作为变量值。拼接公式可以包括拼接字符和拼接数据。

比如,假设在目标子模型中,设置了如表格4所示的拼接字符和拼接数据。

表格4拼接公式

表格4中,对第一个拼接数据1+2+3进行计算后得到6,假设子变量A的变量值为A,利用拼接字符将三个拼接数据进行拼接后,最后得到的变量值为6-A-abc。

在一些实施例中,以Excel模板为例,针对调用包括目标表达式的模板文档来确定变量值的目标子模型来说,可以在目标子模型中预先上传Excel模板。针对不同格式的Excel模板,基于不同的方法获取变量值。具体可以包括以下两种情况:

1)输入数据和输出数据位于Excel模板的同一个Sheet页。该种情况下,在Excel文档的同一个Sheet页中定义输入单元格和输出单元格。将计算变量值所需的输入数据输入到输入单元格中,并驱动Excel模板进行计算后,将确定的变量值(即输出数据)输出到输出单元格中。

比如,如表格5和表格6所示,在Excel中的Sheet页中定义了输入单元格和输出单元格,且定义了各个输入单元格用于存储的信息以及各个输出格所对应的变量。

表格5输入单元格

表格6输出单元格

如此,在目标子模型运行时,会往Sheet页的A1单元格中写入1+2+3的计算结果6,在B1单元格中写入子变量O的变量值,在C1单元格中写入字符串abc。

当所有数据写入完成后,驱动Excel模板进行计算。

计算结束后,将计算结果保存到Excel模板第一个Sheet页的A2单元格、B2单元格和C2单元格。最后将A2单元格中的数值赋值给变量A,将B2单元格中的数值赋值给变量B,以及将C2单元格中的数值赋值为变量C。

2)输入数据和输出数据位于Excel模板的不同Sheet页。基本类似于第1)个情况,主要区别在于,输入单元格和输出单元格位于不同的Sheet页中。同时,为每个输入单元格和输出单元格指定了各自对应的编码,依据各个输入单元格的编码,来确定各个输入数据在Excel模板中的存储位置,以及依据各个输出单元格的编码,来确定各个输出单元格中的数据需赋值给的变量。为便于理解,请参阅表格7和表格8,示例性的输入单元格和输出单元格的示例。

表格7输入页

表格8输出页

在表格7和表格8中的信息表示:

在Excel模板的输入页中,编码为“输入A”的输入数据单元格中写入1+2+3的计算结果6,在编码为“输入B”的输入数据单元格中写入子变量O的的变量值,在编码为“输入C”的输入数据单元格中写入字符串abc。

当所有数据写入完成后,驱动Excel模板进行计算。

计算结束后,从Excel模板的输出页中,从编码为“输出A”的单元格中读取数据赋给“变量A”,从编码为“输出B”的单元格中读取数据赋给“变量B”,从编码为“输出C”的单元格中读取数据赋给“变量C”。

在一些实施例中,针对调用第三方应用来得到变量值的目标子模型来说,可以在目标子模型预先设置第三方应用的调用信息,以及目标子模型与第三方应用进行数据交互时的数据格式,其中,该数据格式可用于定义目标子模型发送给第三方应用的各个输入参数的编码,以及输出参数与变量之间的对应关系。

为便于理解,请参阅表格9,示例性的定义了第三方应用的调用信息以及目标子模型与第三方应用进行数据交互时的数据格式。

基于表格9,可以将输入值首先进行计算,然后将计算得到的值与输入编码组合成对象组传递给第三方应用进行计算。比如表格9中,“输入A”为6,“输入B”为子变量O的变量值,“输入C”为字符串“abc”。将“输入A”和6组合,将“输入B”为变量O的变量值进行这组合,将“输入C”和字符串“abc”进行组合,最后将组合得到的对象传递给第三方应用。

第三方应用计算结束后返回给目标子模型一个对象数组,目标子模型从该对象数组中读取结果,并赋值给变量。比如表格9中,将读取到的“输出A”赋给“变量A”,将“输出B”赋给“变量B”,将“输出C”赋给“变量C”。

以上针对不同确定方式对应的目标子模型在确定变量值时的原理进行了示例性的说明。

综上所述,在本申请一些实施例的技术方案中,数据处理模型基于变量的信息标识,确定按照信息标识表征的确定方式确定变量值时所需的目标子模型,并运行目标子模型,得到变量值。如此,在程序编码过程中,通过调用数据处理模型便可以确定各个变量的变量值,无需在程序编码时,体现各个变量计算过程的代码,进而达到了简化程序编码,降低软件设计的难度。另外,每种确定方式有分别对应的子模型,基于不同确定方式确定变量值时所需的子模型不同,使得可以按照实际所需,对数据处理模型中的子模型进行扩展,适用性更强。

举例来说,假设在程序编码过程中,需要确定变量A的变量值,而变量A的计算公式为2x+3y+6z,其中,x=2a,a=w+4y,w=m+n。可以理解的是,在程序代码中,将变量A的整个计算过程通过编码实现,无疑会增加程序编码的复杂度,提高了软件设计的难度。在本申请中,只需要调用数据处理模型,并将变量A以及变量的信息标识发送给数据处理模型即可。通过对比可以看出,本申请可以大大简化程序编码,降低软件设计的难度。

在一些实施例中,在运行目标子模型,获取到变量值后,本申请的数据处理方法还包括:

将获取到的变量值保存到链路桶中,其中,链路桶用于保存已经获取到变量值的变量以及变量的变量值。如此,在一个变量已经完成变量值的确定后,在下一次确定该变量的变量值时,便可以无需再运行对应的目标子模型,直接从链路桶中获取该变量的变量值即可,提高变量的获取速度。

鉴于以上所述,在一些实施例中,在运行目标子模型之前,本申请的数据处理方法还包括:

判断变量是否位于获取链路中,若是,跳过目标子模型的运行,其中,获取链路用于保存当前正在进行变量值获取的变量;和/或

判断变量是否位于链路桶中,若是,跳过目标子模型的运行,并从链路桶中确定变量值,其中,链路桶用于保存已经获取到变量值的变量以及变量的变量值。

如此,可以防止重复运行目标子模型去获取变量值。

为便于理解,以下通过一个具体的实施例进行说明。请参阅图2,为本申请的一个实施例提供的计算引擎300的模块示意图。

图2中,计算引擎300可以相当于上述数据处理模型。计算引擎300可以作为统一的计算入口。即需要确定不同变量的变量值,均可调用计算引擎300来确定变量值。具体的,计算引擎300可以包括计算器提供接口32、计算器接口33、基础扩展参数模块34和计算器331。其中,计算器331可以相当于上述子模型。不同的计算器331可以实现不同的计算方式。具体的,计算器331可以包括跳过计算器331。调用跳过计算器331时,可以表示不作任何计算。当然,计算器331还可以包括多个具有不同计算逻辑的计算器331。这些具有不同计算逻辑的计算器331是根据实际情况进行创建的。

在一些实施例中,计算引擎300可以自动分析变量之间的依赖关系,获取变量相对应的计算器331对变量进行计算等。

在一些实施例中,由于不同计算器311的计算方式不同,对应的输入输出格式也不同,因此,可以通过计算器接口32来统一规范不同计算器311的输入输出,即通过计算接口32来调用不同的计算器311。计算接口32作为统一的计算接口。如此,可以灵活扩展不同计算方式的计算器311。

在一些实施例中,计算器提供接口33用于基于信息标识,确定用于计算的计算器331。其中,用于计算的计算器331可以相当于上述目标子模型。

在一些实施例中,基础扩展参数模块34用于存储扩展参数。其中,扩展参数可以相当于上述存储于指定位置的子变量。如此,可以有效的提高计算器的灵活性。

请参阅图3,为基于图2中的计算引擎300进行数据计算的流程示意图。计算过程可以包括如下步骤:

步骤S411,获取待计算的变量。具体的,可以通过计算引擎300的统一计算入口获取待计算的变量。

步骤S412,判断变量是否已被计算。具体的,可以判断链路桶中是否存在该变量的变量值,若存在,表示变量已经被计算,直接从链路桶中获取该变量的变量值,并执行步骤S424;若不存在,表示变量未被计算,执行步骤S413。

步骤S413,判断是否需要忽略变量计算。具体的,可以在计算引擎300中预先设置需要忽略计算的忽略变量列表。若待计算的变量位于忽略变量列表中,表示该变量为需要忽略计算的变量,可以直接将预先设置的默认返回值作为计算结果(比如0),执行步骤S424;若待计算的变量未位于忽略变量列表中,表示该变量不为需要忽略计算的变量,执行变量S414。

步骤S414,获取用于计算的计算器。具体的,可以根据变量的信息标识,在计算引擎300获取用于计算的计算器。

步骤S415,判断是否有计算器。具体的,若不存在与信息标识对应的计算器,表示没有计算器,执行步骤S416;若存在与信息标识对应的计算器,表示有计算器,执行步骤S418。

步骤S416,判断是否跳过错误。若是,可以将预先设置的默认返回值作为计算结果,执行步骤S424;若否,执行步骤S417。

步骤S417,进行报错提示。

步骤S418,判断是否为跳过计算。具体的,若变量的信息标识所对应的计算器为跳过计算器,则确定为跳过计算,可以将预设的默认返回值作为计算结果,执行步骤S424;若变量的信息标识所对应的计算器不为跳过计算器,则确定不为跳过计算,执行步骤S419。

步骤S419,判断是否已在计算链中。具体的,若计算链中已经存在该变量,执行步骤S420;若计算链中不存在该变量,执行步骤S422。

步骤S420,判断是否跳过错误。若是,可以将预先设置的默认返回值作为计算结果,执行步骤S424;若否,执行步骤S421。

步骤S421,进行报错提示。

步骤S422,加入计算链并使用计算器进行计算。具体的,可以使用变量的信息标识所对应的计算器计算变量值,同时,将变量加入计算链,以表示该变量的变量值正在计算过程中。

步骤S423,从计算链移除并计算结果加入输出列表。具体的,在变量值计算完成后,可以将变量从计算链中移除,同时通过计算器接口13输出计算结果。在一些实施例中,还可以将计算结果作为中间变量,保存到基础扩展参数模块中,以便于后续计算。

步骤S424,返回结果。

请参阅图4,为本申请的一个实施例提供的数据处理装置的模块示意图。装置中设置有数据处理模型,数据处理模型包括至少一个子模型;数据处理装置包括:

数据获取模块,用于获取目标业务场景的业务数据,并确定在对所述业务数据进行处理时,用于进行数据传递的变量,其中,所述变量具有信息标识和待确定的变量值,所述信息标识用于表征所述变量值的确定方式;

数据处理模块,用于将所述变量和所述变量的所述信息标识输入数据处理模型,其中,所述数据处理模型包括至少一个子模型,每种确定方式有分别对应的子模型,基于不同确定方式确定变量值时所需的子模型不同;

模型决策模块,用于确定按照信息标识表征的确定方式确定变量值时所需的目标子模型;及

模型运行模块,用于运行目标子模型,以确定变量值。

请参阅图5,为本申请的一个实施例提供的电子设备的示意图。电子设备包括处理器和存储器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的方法。

其中,处理器可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。

存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施方式中的方法对应的程序指令/模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施方式中的方法。

存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

本申请一个实施方式还提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序被处理器执行时,实现上述的方法。

虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

技术分类

06120116329796