基于图数据结构的建模平台系统、方法、服务器及介质与流程

文档序号:18986100发布日期:2019-10-29 04:25阅读:161来源:国知局
基于图数据结构的建模平台系统、方法、服务器及介质与流程

本说明书实施例涉及计算机技术领域,尤其涉及一种基于图数据结构的建模平台系统、方法、服务器及可读存储介质。



背景技术:

随着计算机技术的发展,越来越多的业务场景需要通过构建模型来实现。如何提高模型构建效率,是技术人员需要考虑的一个技术问题。



技术实现要素:

本说明书实施例提供及一种基于图数据结构的建模平台系统、方法、服务器及可读存储介质。

第一方面,本说明书实施例提供一种基于图数据结构的建模平台系统,所述系统包括模型列表模块、算法组件模块、图结构模块、解释器模块及调度中心模块,其中:所述模型列表模块,用于存储并展示模型列表,所述模型列表包括至少一个预置模型;所述算法组件模块,用于存储并展示内置了各种算法的各个算法组件;所述图结构模块,用于确定出预置模型及算法组件,生成并展示图数据结构的目标模型,其中,图数据结构中每个节点表示目标模型中的算子,各个节点的连接关系表示各个算子之间的数据流;所述图解释器模块,用于提供图解释器,所述图解释器用于对图数据结构中各个算子的算法数据转化为可执行脚本,并确定各个算子的执行顺序;所述调度中心模块,用于根据目标模型中各个算子的执行顺序,对各个算子进行调度,得到目标模型的计算结果。

第二方面,本说明书实施例提供一种基于图数据结构的建模方法,用于根据预置模型及算法组件进行基于图数据结构的模型建立,所述方法包括:确定出预置模型及算法组件,生成并展示图数据结构的目标模型,其中,图数据结构中每个节点表示目标模型中的算子,各个节点的连接关系表示各个算子之间的数据流;对图数据结构中各个算子的算法数据转化为可执行脚本,并确定各个算子的执行顺序;根据目标模型中各个算子的执行顺序,对各个算子进行调度,得到目标模型的计算结果。

第三方面,本说明书实施例提供一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一项所述方法的步骤。

第四方面,本说明书实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述方法的步骤。

本说明书实施例有益效果如下:

本说明书实施例提供的平台系统,将图数据结构作为模型开发的数据结构,实现了建模平台系统的模块化、图形化和可视化,降低了建模复杂度,提高了建模效率,而且,由于预置了模型及算法组件,可方便用户直接调用,而不需要用户编写模型代码,省时省力,进一步提高了建模效率。

附图说明

图1为本说明书实施例的基于图数据结构的建模平台系统应用场景示意图;

图2为本说明书实施例第一方面的基于图数据结构的建模平台系统结构示意图;

图3为本说明书实施例第一方面的基于图数据结构的建模平台系统另一结构示意图;

图4为本说明书实施例基于图数据结构的建模平台系统实例展示示意图;

图5为本说明书实施例第二方面的基于图数据结构的建模方法流程图;

图6为本说明书实施例第三方面的服务器结构示意图。

具体实施方式

为了更好的理解上述技术方案,下面通过附图以及具体实施例对本说明书实施例的技术方案做详细的说明,应当理解本说明书实施例以及实施例中的具体特征是对本说明书实施例技术方案的详细的说明,而不是对本说明书技术方案的限定,在不冲突的情况下,本说明书实施例以及实施例中的技术特征可以相互组合。

本说明书实施例提供一种基于图数据结构的建模平台系统及方法,该系统和方法适应于各种业务场景下构建模型,例如,应用金融计量的网络金融应用场景、应用机器学习的各种线上或线下应用场景,例如电商对图像数据进行学习达到对图像进行分类划分的场景。总之,本说明书实施例提供的系统和方法,并不对构建何种业务场景下的何种模型进行限定,也即,本说明书实施例提供的系统和方法,适用于现有或未来的各种业务场景下的各种模型。为了说明方便,本说明书实施例以金融计量的应用场景对方案的实现进行说明,可以理解,其仅作为示例性说明,并不构成对本说明书实施例的限定。

金融计量,是指综合运用数学、统计学和计算机编程技术来解决金融问题的方法。随着基于金融计量的网络金融系统(以下简称:金融计量系统)的发展,传统的通过纯粹编写程序代码的方式已经不适合金融计量系统的发展方向,本说明书实施例旨在通过利用图数据结构的建模平台,提高金融计量系统模型的构建和执行的效率。

请参见图1,为本说明书实施例的基于图数据结构的建模平台系统应用场景示意图。该场景示出了基于图数据结构的建模平台系统10(以下简称:建模平台系统10)、上游业务系统20及用户30,其中,用户30一般可以理解为模型开发人员,用户30根据上游业务系统20的需求,在建模平台系统10上进行模型的建立及运行。建模平台系统10,应用可视化、图形化编写模型的方法,采用图数据结构对复杂的模型进行描述的方式,使该平台能够很好地提供图形化的界面,减小了用户30建模的难度,同时,这种图数据结构的方式也方便进行模型的计算和执行,提高了模型建立及运行的效率。

第一方面,本说明书实施例提供一种基于图数据结构的建模平台系统。该基于图数据结构的建模平台系统,用于用户根据业务需求构建目标模型,所谓目标模型,是指在平台上构建的模型,为了表述准确,以目标模型指代。

请参见图2,为该基于图数据结构的建模平台系统的结构示意图。由图2可知,该系统包括模型列表模块201、算法组件模块202、图结构模块203、解释器模块204及调度中心模块205。

下面对各个模块的工作原理及过程解释如下。

模型列表模块201,用于存储并展示模型列表,模型列表包括至少一个预置模型。

以满足金融计量系统业务需求的平台系统为例,模型列表模块201所存储并展示的模型列表包括但不限于以下预置模型:随机利率模型、债券利率模型、风险度量模型、期权定价模型、资产定价模型等。这些预置模型基本涵盖了业务需求的各种模型,可供用户直接选取使用。

确定了预置的模型,即可确定模型的数据结构,在建模过程中,还需进一步确定运行模型中各个算子(计算模块)的算法以及运行结果,并最终得到模型的计算结果。

算法组件模块202,用于存储并展示内置了各种算法的各个算法组件。

仍以满足金融计量系统业务需求的平台系统为例,算法组件模块202存储并展示的各个算法组件包括但不限于:最大收益算法组件、最小方差算法组件矩阵方差计算算法组件、计算标准差算法组件等,各个算法组件可以理解为实现某个计算功能的组件,利用组件可实现某个具体问题的计算。

如前描述的,确定了预置模型可以确定整体的数据结构,例如,数据结构包括5个算子,那么,这5个算子中各个算子的具体实现,则通过选择的算法组件来完成。在一种可选方式中,每个预置模型下对应一批算法组件,即每个预置模型下配置该模型所可能用到的算法组件,由此,可在确定预置模型的基础上,快速确定出所使用的算法组件。

图结构模块203,用于确定出预置模型及算法组件,生成并展示图数据结构的目标模型,其中,图数据结构中每个节点表示目标模型中的算子,各个节点的连接关系表示各个算子之间的数据流。

确定出预置模型及算法组件的实现方式可以有多种。例如,可以通过请求解析的方式,即平台系统接收用户建模请求,通过分析请求中的输入参数和配置信息,从模型列表模块中匹配出合适的预置模型,以及,从算法组件模块中匹配出合适的组件。或者,可以由用户直接在平台系统进行预置模型及算法组件的选择,由此确定出预置模型及算法组件。

所谓的图数据结构,可以理解是由所选择的预置模型确定的结构,例如模型中包括5个节点,则这5个节点的连接关系构成了图数据结构。而每个节点即代表一个算子,该算子的具体实现是由所选择的算法组件完成的。各个节点之间的连接关系(即图中的“边”)代表各个算子之间的数据流向。

图解释器模块204,用于提供图解释器,图解释器用于对图数据结构中各个算子的算法数据转化为可执行脚本,并确定各个算子的执行顺序。

图解释器模块204,对图数据结构进行分析,确定出图中各个节点(算子)运行顺序和依赖关系,而且,将各个算子的算法数据转换为系统可运行的可执行脚本。

调度中心模块205,用于根据目标模型中各个算子的执行顺序,对各个算子进行调度,得到目标模型的计算结果。

调度中心模块205根据算子之间的执行顺序,把当前可以进行运算的算子放入系统中进行运算,并且监控运算结果,在当前算子计算好之后,调度中心模块205会去查询依赖这一步计算的后续算子,并把后续算子放入系统中进行运算,如此循环,直到一个图结构上的所有算子运行完成。

为了构建目标模型,需要按照目标模型的图数据结构运行数据流程,得到计算结果。各个算子的算法数据,通过图解释器模块204进行分析和解释,从而转换为平台系统可运行的可执行脚本,整个目标模型中各个算子的脚本的执行顺序,例如可以通过拓扑排序的方式,由图解释器模块204确定。在此基础上,通过调度中心模块205,按照各个算子的执行顺序,依次对各个算子进行调度,完成所有算子的调度后,最终得到目标模型的计算结果。

例如,假设用户选择的预置模型包括5个算子(例如算子a、b、c、d、e),并且这5个算子分别对应了5个算法组件,则,通过图解释器204,将各个算子的算法数据转换为可执行脚本,并确定这5个算子的执行顺序(例如顺序为:a-b-d-c-e),然后通过调度中心模块205,依次调度a-b-d-c-e这5个算子,最终得到目标模型的计算结果。

在可选方式中,本说明书实施例提供的基于图数据结构的建模平台系统还可以包括图数据库模块、结果展示模块、自定义组件模块中的一个或多个。请参见图3,为本说明书实施例第一方面的基于图数据结构的建模平台系统另一结构示意图。与图2相比,该图3增加了图数据库模块206、结果展示模块207及自定义组件模块208。需要说明的是,上述三个新增模块不存在绑定关系,可以在图2基础上仅增加任一个或多个模块,例如,在图2基础上仅增加图数据库模块206,是一种实现方式,或者,在图2基础上增加图数据库模块206及结果展示模块207,是另一种实现方式,等等。

在一种可选方式中,如图3示出的,该平台系统在图2基础上还包括图数据库模块206。该图数据库模块206提供一个图数据库,该图数据库用于存储图数据结构所产生的数据,这些数据包括但不限于图数据结构的数据流、各个算子的执行顺序及目标模型的计算结果等数据。把这些数据存放在图数据库中,有利于调度中心模块205对计算过程进行监控。

在一种可选方式中,如图3示出的,该平台系统在图2基础上还包括结果展示模块207。该结果展示模块207用于将图数据结构的各个算子的中间结果进行展示,如果中间结果不理想,用户可通过调度中心模块205更新算子的算法组件。

在一种可选方式中,如图3示出的,该平台系统在图2基础上还包括自定义组件模块208。该自定义组件模块208用于向用户提供自定义组件的编程入口,接收用户自定义代码,得到自定义组件;其中,图结构模块203,还用于根据用户所选择的预置模型、算法组件及自定义组件,生成并展示图数据结构的目标模型。可以理解,自定义组件模块208是对算法组件模块202的一种补充,当平台系统提供的算法组件不满足用户需求时,用户可自行编写代码,实现自定义组件。

请参见图4,为本说明书实施例基于图数据结构的建模平台系统实例展示示意图。该实例是以满足金融计量系统业务需求的平台系统为例进行展示的。图4中,左侧栏中示出了公共模型(对应前述模型列表模块201),该公共模型可理解为一个公共的模型工具集,提供各种金融类的模型供用户选择;左侧栏还示出了金融算子(对应前述算法组件模块202),该金融算子可理解为集成了各个算法的组件,用于支持模型各个算子的计算功能。图4右侧主体部分示出了一个图数据结构的目标模型的实例,该实例中包括获取基金行情、指标组件、矩阵均值求解、协方差矩阵求解、计算偏离度这5个算子,且通过箭头线表明各个算子之间的执行顺序,比如图中上述5个算子的执行顺序为:首先执行获取基金行情;然后进行矩阵均值求解及协方差矩阵求解,在矩阵均值求解及协方差矩阵求解基础上,最后结合指标组件,执行计算偏离度。

以图4实例,对本说明书实施例提供的一种可选的基于图数据结构的建模平台系统进行说明。该可选的平台系统包括前述图3的所有模块,因此性能最优。如图4可见的,该平台系统提供一个图形化、模块化的建模界面和流程,用户创建的目标模型的相关数据通过一个图数据结构进行展示和存储。图数据结构中的节点代表一个复杂金融工程模型中的一个算子(计算模块),该算子的基本配置信息(比如输入参数、输出参数、文档链接、版本信息等)存储在图数据库。模型执行的具体实现代码可以通过基本配置信息在图数据库中查找到。平台系统可以提供一些基本的金融工程的算法组件,也提供用户通过添加自定金融工程算法组件进行java或者python脚本编写完成自定义组件的开发。

用户通过连接各个计算模块中的顶点来表示整个复杂模型中算法的流程。整个图的计算结果可存储在图数据库中,方便查询和编列整个图中各个顶点的信息和关系。

对整个图数据结构和对应算子的算法实现的详细数据通过一个图解释器转化成工作流可执行脚本。图解释器的实现,可以理解是通过将算法描述的图结构的信息进行分析,找到图中的各个节点(代表模型的算子)运行顺序和依赖关系,把这些信息存放在图数据库中。通过一个工作流调度中心(前述调度中心模块)来调度整个复杂模型的各个算子执行的顺序和流程。工作流调度中心的工作原理是,根据图解释器存放的算子节点的信息,把目前可以进行运算的算子放入系统中进行运算,并且监控运算结果,在当前算子计算完成之后,工作流调度中心会去查询依赖这一步计算的后续算子节点,并把它们放入系统中进行运算。如此循环,直到一个图结构上的所有算子运行完成。工作流调度中心执行各个算子产生的中间结果和输出信息,并据此更新相应算法组件对应的顶点,平台系统可以将结果进行展示和输出。整个复杂模型计算的中间和最终结果也可以反馈至图结构的数据,方便用户验证和检查问题。

整个平台系统的工作流处理流程例如可分为下面几个部分:

(1)请求解析。

对用户建模请求进行分析,得到输入参数和配置信息。

(2)模型适配

根据输入参数和配置信息,对模型列表的模型进行适配,从而确定图数据结构。

(3)工作流生成

根据图数据结构确定模型中各个算子的执行的顺序。

(4)工作流执行

根据确定的各个算子的执行顺序,执行各个算子的计算过程。执行的结果可进行缓存,方便供后续的节点获取前面节点的值。

(5)结果处理

对产生的计算结果进行处理或展示,生成供前端或者上游业务系统可以消费的参数。

可见,本说明书实施例提供的平台系统,将图数据结构作为模型开发的数据结构,实现了建模平台系统的模块化、图形化和可视化,降低了建模复杂度,提高了建模效率,而且,由于预置了模型及算法组件,可方便用户直接调用,而不需要用户编写模型代码,省时省力,进一步提高了建模效率。

而且,由于通过预置的算法组件对算子进行规范化定义,而这些规范化的算子可方便地打通大数据处理计算平台,大数据计算平台可以通过对海量数据高效的处理能力,加快计算的速度,从而大大提高单个算子计算效率和整个模型的吞吐量。

另外,通过图数据结构描述不同算法之间的流程关系,可以获知整个复杂模型算子之间数据的流向,由此可提高不同数据存储介质之间直接进行数据通信完成数据迁移的能力,从而大大减轻平台处理数据的负担,同时也可加快不同平台中计算同一个复杂模型的效率。

第二方面,基于同一发明构思,本说明书实施例提供一种基于图数据结构的建模方法,用于根据预置模型及算法组件进行基于图数据结构的模型建立,请参考图5,所述方法包括:

s501:确定出预置模型及算法组件,生成并展示图数据结构的目标模型,其中,图数据结构中每个节点表示目标模型中的算子,各个节点的连接关系表示各个算子之间的数据流;

s502:对图数据结构中各个算子的算法数据转化为可执行脚本,并确定各个算子的执行顺序;

s503:根据目标模型中各个算子的执行顺序,对各个算子进行调度,得到目标模型的计算结果。

在一种可选方式中,上述方法还包括如下步骤:对图数据结构的数据流、各个算子的执行顺序及目标模型的计算结果中的一种或多种数据进行存储。

在一种可选方式中,上述方法还包括如下步骤:将图数据结构的各个算子的中间结果进行展示,以及,根据算子的中间结果,更新用于算子的算法组件。

在一种可选方式中,上述方法还包括如下步骤:向用户提供自定义组件的编程入口,接收用户自定义代码,得到自定义组件;根据用户所选择的预置模型、算法组件及自定义组件,生成并展示图数据结构的目标模型。

在一种可选方式中,在所述调度目标模型中各个算子的执行顺序之前,上述方法还包括如下步骤:对所述图数据结构进行拓扑排序,从而确定各个算子可执行脚本的执行顺序。

第三方面,基于与前述实施例中基于图数据结构的建模方法的发明构思,本发明还提供一种服务器,如图6所示,包括存储器604、处理器602及存储在存储器604上并可在处理器602上运行的计算机程序,所述处理器602执行所述程序时实现前文所述基于图数据结构的建模方法的任一方法的步骤。

其中,在图6中,总线架构(用总线600来代表),总线600可以包括任意数量的互联的总线和桥,总线600将包括由处理器602代表的一个或多个处理器和存储器604代表的存储器的各种电路链接在一起。总线600还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口606在总线600和接收器601和发送器603之间提供接口。接收器601和发送器603可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器602负责管理总线600和通常的处理,而存储器604可以被用于存储处理器602在执行操作时所使用的数据。

第四方面,基于与前述实施例中基于图数据结构的建模方法的发明构思,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文所述基于图数据结构的建模方法的任一方法的步骤。

本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本说明书的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本说明书范围的所有变更和修改。

显然,本领域的技术人员可以对本说明书进行各种改动和变型而不脱离本说明书的精神和范围。这样,倘若本说明书的这些修改和变型属于本说明书权利要求及其等同技术的范围之内,则本说明书也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1