CN111427684A - 一种服务部署的方法、系统、及装置 - Google Patents

一种服务部署的方法、系统、及装置 Download PDF

Info

Publication number
CN111427684A
CN111427684A CN202010203330.6A CN202010203330A CN111427684A CN 111427684 A CN111427684 A CN 111427684A CN 202010203330 A CN202010203330 A CN 202010203330A CN 111427684 A CN111427684 A CN 111427684A
Authority
CN
China
Prior art keywords
rule
model
service
configuration
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010203330.6A
Other languages
English (en)
Other versions
CN111427684B (zh
Inventor
乔彦辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202010203330.6A priority Critical patent/CN111427684B/zh
Publication of CN111427684A publication Critical patent/CN111427684A/zh
Application granted granted Critical
Publication of CN111427684B publication Critical patent/CN111427684B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本说明书实施例提供了一种服务部署的方法、系统及装置。所述服务部署的方法包括:获取实现服务的至少一个规则,以及至少一个模型,并确定实现所述服务的流程,所述流程以有向无环图表示,每一个节点对应一个规则或一个模型;基于所述流程,分别确定与每一个规则以及每一个模型相关的节点的配置;基于所述配置,部署所述至少一个规则以及所述至少一个模型至同一平台下的不同组件;执行所述服务流程、所述至少一个规则以及所述至少一个模型的实例化以完成所述服务的部署。本说明书所披露的服务部署方法,可以将实现服务的规则与模型部署于同一平台,降低成本。

Description

一种服务部署的方法、系统、及装置
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种服务部署的方法、系统、及装置。
背景技术
随着科技的发展,在线服务场景已越来越被熟知。实现某些在线服务需要采用规则和模型的混合使用。目前,实现服务的规则和模型通常会被分别部署在规则平台和模型平台,当要实现某一服务时,需要由另一外部平台分别调用规则平台和模型平台以实现该服务。这需要较多平台间的协作以及平台的维护。
发明内容
本说明书实施例之一提供一种服务部署方法。所述方法包括:获取实现服务的至少一个规则,以及至少一个模型,并确定实现所述服务的流程,所述流程以有向无环图表示,每一个节点对应一个规则或一个模型;基于所述流程,分别确定与每一个规则以及每一个模型相关的节点的配置;基于所述配置,部署所述至少一个规则以及所述至少一个模型至同一平台下的不同组件;执行所述服务流程、所述至少一个规则以及所述至少一个模型的实例化以完成所述服务的部署。
本说明书实施例之一提供一种服务实现方法。所述方法包括:获取实现所述服务时所述至少一个规则及所述至少一个模型的执行流程;所述执行流程以有向无环图表示;基于所述流程,调用部署于同一平台的所述至少一个规则及所述至少一个模型以实现所述服务。
本说明书实施例之一提供一种服务部署系统。所述系统包括:第一获取模块,用于获取实现所述服务的至少一个规则,以及至少一个模型,并确定实现所述服务的流程,所述流程以有向无环图表示,每一个节点对应一个规则或一个模型;确定模块,用于分别确定与每一个规则以及每一个模型相关的节点的配置;部署模块,用于基于所述配置,部署所述至少一个规则以及所述至少一个模型至同一平台下的不同组件;执行模块,用于执行所述流程、所述至少一个规则以及所述至少一个模型的实例化以完成所述服务的部署。
本说明书实施例之一提供一种服务实现系统。所述系统包括:获取模块,用于获取实现所述服务时所述至少一个规则及所述至少一个模型的执行流程;所述执行流程以有向无环图表示;调用模块,用于基于所述流程,调用部署于同一平台的所述至少一个规则及所述至少一个模型以实现所述服务。
本说明书实施例之一提供一种服务部署装置,包括处理器,所述处理器用于执行如上所述的任意一项服务部署方法。
本说明书实施例之一提供一种服务实现装置,包括处理器,所述处理器用于执行如上所述的任意一项服务实现方法。
附图说明
本说明书实施例将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本说明书一些实施例所示的服务部署方法的示例性流程图;
图2是根据本说明书一些实施例所示的确定规则配置方法的示例性流程图;
图3是根据本说明书一些实施例所示的确定模型配置方法的示例性流程图;
图4是根据本说明书一些实施例所示的服务实例化方法的示例性流程图;
图5是根据本说明书一些实施例所示的服务部署系统的模块图;
图6是根据本说明书一些实施例所示的实现部署的服务方法的示例性流程图;
图7是根据本说明书一些实施例所示的服务实现系统的模块图;以及
图8是根据本说明书一些实施例所示的示例性有向无环图的示意图。
具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
图1是根据本说明书一些实施例所示的服务部署方法的示例性流程图。在一些实施例中,流程100可以由处理设备执行。例如,流程100可以以程序或指令的形式存储在存储装置(如处理设备的自带存储单元或外接存储设备)中,所述程序或指令在被执行时,可以实现流程100。又例如,流程100可以由处理设备上的服务部署系统500实现。如图1所示,流程100可以包括以下步骤:
步骤102,获取实现所述服务的至少一个规则,以及至少一个模型,并确定实现所述服务的流程。步骤102可以由第一获取模块510执行。
需要说明的是,服务可以理解为某一场景下实现该场景所对应的一个或多个目的。例如,风险管控制场景下的风险检测、风险评估、风险欺诈识别等可以被认为是服务。在一些实施例中,实现所述服务需要至少一个规则以及至少一个模型。所述规则可以包含一组条件和在该条件下执行的动作,其表现形式可以表示为:如果D1且D2……且Di……且Dn,action1,否则action2,其1≤i≤n。D1至Dn表示一组条件中的各个条件项,action1表示满足该组条件是所执行的操作,action2表示不满足该组条件是所执行的操作。例如,假定某一规则的表现形式为:如果用户账号在一小时内在同一IP地址登录/访问平台的次数>30次,且1小时内交易次数>100次,且1小时内转账金额>100万,则判定用户为潜在风险用户并执行风险评分操作,否则判定用户为安全用户。所述模型可以是通用或特定的模型,用于对输入信息进行处理以完成实现所述服务的一个环节。例如,所述模型可以是分类模型比如神经网络模型、决策树、支持向量机、贝叶斯分类器、随机森林等,用于根据输入的用户的相关信息将用户分给为高风险、中风险、低风险三类用户,并根据分类结果指向不同的后续操作。
在一些实施例中,实现所述服务时所需调用的至少一个规则以及至少一个模型是有先后顺序的。例如,对于判定用户的风险程度,可以首先调用规则进行粗处理以确定用户是否具有风险,再调用模型进一步确定用户的风险值。在一些实施例中,所述服务的流程可以用有向无环图(Directed Acyclic Graph,DAG)表示。有向无环图可以由多个节点和多个有向边构成,其每一个节点对应一个规则或者一个模型,其有向边可以表示节点之间的连接关系以及数据流向,用以表示实现所述服务时每个规则和每个模型之间的执行逻辑关系。参考图8,图8是根据本说明书一些实施例所示的示例性的有向无环图的示意图。如图8所示,节点使用圆圈表示,节点与节点之间的有向箭头表示了节点之间的数据流向。当用节点对应规则或模型时,则有向无环图可以表示规则或模型的执行顺序。例如,节点A对输入的数据进行处理后将根据处理结果转至节点B或节点C,节点B或节点C将分别进行各自的处理从而转至节点D、节点E或节点F。将节点被看做是规则或模型时,则上述过程可以认为是规则或模型的一个执行顺序。
根据以上的描述,在知悉实现服务的规则及模型的执行顺序即可利用有向无环图来表示实现服务的流程。在一些实施例中,第一获取模块510可以首先确定实现所述服务时至少一个规则及至少一个模型的执行顺序。所述执行顺序可以是预先确定,并存储在存储设备中比如处理设备的自带存储单元或外接存储设备中。第一获取模块510可以与该存储设备进行通信以获取所述执行顺序,并随后基于所述执行顺序构建有向无环图。作为示例,所构建的有向无环图中的节点的个数等于实现所述服务的至少一个规则及至少一个模型的个数。节点与节点之间的排列(例如节点之间的有向连接顺序)可以根据所述执行顺序排列。。假定实现风险评估服务需要规则1、模型2、规则3、模型4、模型5以及模型6。C。则可以分别利用节点A表示规则1、节点B表示模型2、和节点C表示规则3、节点D表示模型4、节点E表示模型5、节点F表示模型6。。实现该服务需要先后执行规则1,根据规则1的输出结果选择执行模型2或规则3。若规则1的输出结果显示执行模型2,则在模型2执行完毕后继续执行模型4。若规则1的输出结果显示执行规则3,则在规则3执行完毕后根据规则3的输出结果选择执行模型5或模型6。则所构建得到的有向无环图可以如图X所示。从数据输入到规则1(节点A),到从模型4、模型5或模型6(节点D、节点E或节点F)得到输出的数据,即为一次服务的实现。应当注意的是,以上描述只是出于说明的目的,并非限制。
步骤104,基于所述流程,分别确定与每一个规则以及每一个模型相关的节点的配置。步骤104可以由确定模块520执行。
在一些实施例中,所述配置可以理解为调用或启动所述规则和模型的设置,或描述规则或模型对应的节点的信息。当节点需要被使用时,可以根据所述配置来对输入数据进行处理。例如,规则的配置可以表述出该输入的是什么、输出的是什么、如何基于输入进行规则判定等。模型的配置可以表述出使用何种模型、模型从何调用、对应的模型输入是什么、输出是什么等。在一些实施例中,确定模块520可以获取对应于所述规则的规则表示,然后基于有向无环图和所述规则表示,确定对应于该规则的节点的输入及输出,并且指定所述规则表示、所述对应于该规则的节点的输入及输出为该规则的配置。有关确定与每一个规则相关的节点的配置的更多细节可以参见图2及相关描述,在此不再赘述。
在一些实施例中,确定模块520可以确定对应于所述模型的调用地址,然后基于所述有向无环图,确定对应于该模型的节点的输入及输出,同时获取特征抽取配置,最后指定所述模型的调用地址、所述特征抽取配置、所述对应于该模型的节点的输入及输出作为该模型的配置,其中,所述特征抽取配置用于转换所述对应于该模型的节点的输入以符合所述模型的输入要求。有关确定与每一个模型相关的节点的配置的更多细节可以参见图3及相关描述,在此不再赘述。
步骤106,基于所述配置,部署所述至少一个规则以及所述至少一个模型至同一个平台下的不同组件。步骤106可以由部署模块530执行。
在一些实施例中,平台组件至少包括服务网关以及至少一个镜像。所述同一个平台支持规则和模型的统一部署,当需要实现某一服务时,可以调用部署在该平台上的至少一个规则及至少一个模型以实现该服务,从而实现规则和模型的统一调用,而无需跨平台调用。处理设备(例如,服务部署系统500)也可以是所述平台的一部分,用于部署服务。在一些实施例中,所述至少一个规则可以被部署于所述服务网关。部署模块530可以将规则的配置在所述服务网关中的指定部件(例如,规则引擎中的规则解析框架)中进行加载解析,加载解析后即完成规则的部署。部署完成的规则在进过后续操作(例如,实例化)可以被存储在服务网关的存储仓内,例如,规则实例仓。
在一些实施例中,部署模块530可以将所述至少一个模型部署于所述至少一个镜像。部署模块530可以基于与模型相关的节点的配置,获得模型的配置文件,将所述配置文件打包绑定到与该模型的机器学习框架相对应的镜像,以用于与所述镜像对应的Docker容器的启动。具体的,当获取模型的配置文件后,部署模块530可以判断模型使用了哪种机器学习框架,由于不同的机器学习框架对应不同的Docker镜像,所以部署模块530可以根据模型使用的机器学习框架匹配相应的Docker镜像,以用于Docker容器的启动。所述镜像包括模型的运行环境和模型引擎。所述Docker容器是一个开源的应用容器引擎,让开发者可以以统一的方式打包应用以及依赖包到一个可移植的容器中,然后发布到任何安装了docker引擎的服务器上(包括流行的Linux机器、windows机器),也可以实现虚拟化。所述机器学习框架如Tensorflow、Scikit-learn、Caffe等。在一些实施例中,不同的机器学习框架对应不同的Docker镜像(也可以是Docker容器)。完成模型部署的Docker镜像(也可以是Docker容器),可以对应于服务网关下的模型路由层。模型路由层可以用于解析模型的地址,用以启动不同的Docker镜像(也可以是Docker容器)。
步骤108,执行所述流程、所述至少一个规则以及所述至少一个模型的实例化以完成所述服务的部署。步骤108可以由执行模块540执行。
在一些实施例中,执行模块540可以推送所述服务的流程至服务网关进行实例化、推送至少一个规则至规则引擎进行实例化以及推送至少一个模型至服务网关进行实例化,并将实例化后的所述服务、所述至少一个规则以及所述至少一个模型分别存储于各自对应的实例仓,其中,所述规则引擎属于所述服务网关,用于解析所述至少一个规则,所述实例仓属于所述服务网关。实例化后的所述服务存储于决策服务实例仓储,实例化后的所述至少一个规则存储于规则实例仓储,实例化后的所述至少一个模型存储于模型实例仓储。有关执行流程、至少一个规则以及至少一个模型的实例化的更多细节可以参见图4及相关描述,在此不再赘述。
在一些实施例中,当完成服务的部署后,当实现所述服务时的至少一个规则及至少一个模型进行更改后,处理设备可以基于所述更改,更新对应于所述服务的流程(DAG图),以及规则和/或模型对应的节点的配置,其中,所述更改包括所述规则和/或模型的增减及修改。所述规则和/或模型的增减表示实现服务过程所涉及的规则和/或模型个数的增加或减少。所述规则和/或模型的修改是指规则表示的修改、模型网络结构和/或网络参数的修改,所述规则表示包括条件表达式和动作。所述更新对应于所述服务的流程表示可以将原有流程(DAG图)中至少一个规则节点和/或至少一个模型节点删除,和/或在原有DAG图中增加至少一个规则节点和/或至少一个模型节点,和/或改变原有DAG图中至少一个规则节点和/或至少一个模型节点的执行顺序,对应于所述更新生成新的DAG图。所述更新规则对应的节点的配置表示将原始DAG图中规则节点的配置进行更新,包括对规则的规则表示、对应于该规则的节点的输入及输出等的更改。所述更新模型对应的节点的配置表示将原始DAG图中模型节点的配置进行更新,包括对模型的调用地址、特征抽取配置、对应于模型的节点的输入及输出等的更改。
应当注意的是,上述有关流程100的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程100进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。
图2是根据本说明书一些实施例所示的确定与每一个规则相关的节点的配置方法的示例性流程图。在一些实施例中,流程200可以由处理设备执行。例如,流程200可以以程序或指令的形式存储在存储装置(如处理设备的自带存储单元或外接存储设备)中,所述程序或指令在被执行时,可以实现流程200。又例如,流程200可以由确定模块520实现。如图2所示,流程200可以包括以下步骤:
步骤202,获取对应于所述规则的规则表示。
在一些实施例中,所述规则包括(1)定义的服务事件,(2)对应于服务事件发生的评估条件,(3)响应于服务事件对条件的满足所执行的动作。所述规则的语义为当规则所定义的事件发生时,对评估条件进行评估,若满足条件则执行相应的动作。其中,所述条件是由规则参数基于运算符组合生成的逻辑表达式,其对应于条件部分(if部分),其中,所述规则参数可以表示待处理服务事件中的输入数据的特征参数,例如,产品类型、订单金额。所述动作是指根据满足的条件,调用对应功能函数以执行相应的动作,其对应于结果部分(result部分或else部分)。假如一条规则表示为:{if(输入参数1>1And输入参数2<10Not输入参数3=min(输入参数4,5)),result(输入参数1+输入参数2*输入参数3),else(10)},在该条规则中,输入参数1、输入参数2、输入参数3和输入参数4是规则参数,输入参数1>1And输入参数2<10Not输入参数3=min(输入参数4,5)为规则条件(也就是规则表达式),result(输入参数1+输入参数2*输入参数3)和else(10)为响应于对条件的满足所执行的动作。在一些实施例中,所述规则可以是根据历史服务事件的相关数据设定的,也可以是根据经验设定的。
在一些实施例中,所述规则的规则表示包括条件表达式和动作。所述条件表达式包括规则参数、规则组成符以及参数预设阈值。所述规则组成符可以包括但不限于括号、逻辑运算符、算术运算符和/或关系运算符等。所述逻辑运算符可以包括但不限于And(逻辑与)、Or(逻辑或)、Xor(逻辑异或)、Not(逻辑非)等。所述算术运算符可以包括但不限于+(加法运算)、-(减法运算)、*(乘法运算)、/(除法运算)、%(求余运算)、^(乘幂运算)!(阶乘运算)等。所述关系运算符可以包括但不限于<(小于)、≤(小于等于)、>(大于)、≥(大于等于)、=(等于)、≠(不等于)等。
步骤204,基于所述有向无环图,以及所述规则表示,确定对应于该规则的节点的输入及输出。
在一些实施例中,有向无环图中规则节点的输入为与规则参数相关的特征信息。在一些实施例中,可以通过对待处理数据进行特征提取,获取所述规则在执行时需要的与规则参数相对应的输入特征。具体的,可以通过以下两种方式中的任意一种从待处理数据中提取与规则参数相对应的输入特征:(1)如果所述待处理数据包括输入特征的直接信息,则直接从待处理数据中提取输入特征。例如,与规则参数相关的输入特征为年龄,如果待处理数据中包括年龄的直接信息(例如,20岁),则可以直接获取到该年龄特征(例如,20),将其输入到有向无环图中对应的规则节点中。(2)如果所述待处理数据包括输入特征的间接信息,则需要从待处理数据中获取该间接信息,通过对该间接信息进行计算,获得输入特征。例如,与规则参数相关的输入特征为年龄,如果待处理数据中包括用户的身份证信息,通过对该身份证信息(例如,110101199003071356)进行处理,计算出用户的年龄(例如,30岁),然后将该年龄特征输入到有向无环图中对应的规则节点中。
在一些实施例中,有向无环图中规则节点的输出为响应于对条件的满足所执行的动作。继续参考如下示例:假如一条规则表示为{if(输入参数1>1And输入参数2<10Not输入参数3=min(输入参数4,5)),result(输入参数1+输入参数2*输入参数3),else(10)}。当满足了条件部分,即当输入参数1>1And输入参数2<10Not输入参数3=min(输入参数4,5)时,所对应的执行的动作为result(输入参数1+输入参数2*输入参数3),其可以表现为一个输出值(例如,输入参数1+输入参数2*输入参数3的计算结果),也可以表现为指向下一节点的有向箭头。当不满足条件部分时,所对应的执行的动作为else(10)。同样的,其可以表现为一个输出值(例如,10),也可以表现为指向下一节点的有向箭头。
步骤206,指定所述规则表示,所述对应于该规则的节点的输入及输出为该规则的配置。
在一些实施例中,通过将对应于规则的规则表示、以及对应于该规则的输入及输出配置到与该规则对应的规则节点上,实现该规则的配置。在一些实施例中,当对应于服务的规则发生更改时,基于所述更改,更新对应于所述服务的流程(即DAG图)以及规则对应的节点的配置,其中,规则更改包括规则的增减和修改。所述规则的增减表示实现服务过程所涉及的规则个数的增加或减少。所述规则的修改表示规则表示的修改,例如,规则条件项的修改和/或增加和/或删减。更新对应于所述服务的流程表示可以将原有DAG图中至少一个规则节点删除,和/或在原有DAG图中增加至少一个规则节点,和/或改变原有DAG图中至少一个规则节点的执行顺序。更新规则对应的节点的配置表示将原始DAG图中规则节点的配置进行更新,包括对规则的规则表示、对应于该规则的节点的输入及输出等的更改。
应当注意的是,上述有关流程200的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程200进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。
图3是根据本说明书一些实施例所示的确定与每一个模型相关的节点的配置方法的示例性流程图。在一些实施例中,流程300可以由处理设备执行。例如,流程300可以以程序或指令的形式存储在存储装置(如处理设备的自带存储单元或外接存储设备)中,所述程序或指令在被执行时,可以实现流程300。又例如,流程300可以由确定模块520实现。如图3所示,流程300可以包括以下步骤:
步骤302,确定对应于所述模型的调用地址。
在一些实施例中,算法模型训练结束后,可以生成算法模型对应的模型文件。所述模型文件存储有算法模型的相关数据,所述算法模型的相关数据可以包括但不限于模型名称、模型网络结构、网络参数以及模型训练时用到的输入数据、中间数据和输出数据等。所述模型文件可以以压缩包的形式进行存储。在一些实施例中,与算法模型对应的模型文件的地址就是该算法模型的调用地址。在一些实施例中,模型文件的命名和与该模型文件对应的算法模型的名称有唯一对应关系。例如,当确定DAG的任一节点为模型节点时,可以通过算法模型的名称找到与该算法模型对应的模型文件,基于该模型文件的地址可以确定该算法模型的调用地址。
步骤304,基于所述有向无环图,确定对应于该模型的节点的输入及输出。
在一些实施例中,根据DAG图,确定模型节点的输入数据和输出数据。所述模型为预设设定的用于计算某个参数数值的计算公式。根据服务事件,确定与实现该服务事件相关的模型的输入参数和输出参数。假如模型节点为风险控制模型,该风险控制模型的输入数据可以是用户行为数据,数据格式可以是字符串,将用户的行为数据输入风险控制模型,输出用户的违约还款概率。
在一些实施例中,有向无环图中存在至少一个节点(可以是规则节点或模型节点)为源节点,其余节点根据有向边的指向,可以将父节点(可以是规则节点或模型节点)的输出结果作为子节点的输入数据。在一些实施例中,不同模型节点的输出数据可以采取不同的数据格式,并且不同的数据格式之间可以进行变换。例如,DAG图的一个父节点为A模型,与该父节点有依赖关系的子节点为B模型,如果A模型通过对“输入信息A”进行处理得到第一数据格式的“输出信息a”,B模型将“输出信息a”输入模型进行处理前,需要将“输出信息a”的数据格式转换为符合B模型输入要求的第二数据格式。
步骤306,获取特征抽取配置,所述特征抽取配置用于转换所述对应于该模型的节点的输入以符合所述模型的输入要求。
在一些实施例中,所述特征配置用于将对应于模型节点的输入数据转换成符合该模型输入要求的信息。例如,模型节点的输入数据为用户历史行为数据,通过特征配置文件将用户历史行为数据转换为符合模型输入要求的特征向量(例如,用户画像、还款日期、年龄等)。在一些实施例中,所述特征配置在所述模型完成训练后生成,一个模型唯一对应于一个特征抽取配置和一个模型文件。所述特征抽取配置可以是根据所述模型训练时,获取的初始输入数据与实际输入模型的信息的转换生成。
在一些实施例中,当利用模型进行数据处理前,可以先将输入信息的数据格式转换为该模型适用的数据格式,以符合所述模型的输入要求,然后将符合模型输入要求的数据提取特征后输入到模型中进行处理,并输出该模型数据格式的信息处理结果。例如,输入信息的数据格式为字符串类型,而模型输入要求的数据格式为数组类型,因此需要将字符串类型转换为数组类型,以进行后续处理。
在一些实施例中,可以对待输入模型的数据先进行特征提取,然后对所提取的特征进行转换处理,以转换成符合模型输入要求的特征数据。由于所提取的特征的数据结构可能与模型输入参数的格式不匹配,所以需要对所提取的特征进行转换处理,使之转换为与模型输入参数的格式相匹配的数据格式。例如,提取的特征为字符串类型,而模型输入参数的格式为数值类型,因此需要将字符串类型转换为数值类型,以便于模型输入。
步骤308,指定所述模型的调用地址、所述特征抽取配置、所述对应于该模型的节点的输入及输出作为该模型的配置。
在一些实施例中,通过确定模型的调用地址、模型的特征抽取配置、以及对应于该模型的节点的输入及输出完成模型配置。例如,模型节点可以包括但不限于模型的地址、特征抽取配置、模型版本、模型名称、创建时间等信息。在一些实施例中,当对应于服务的模型发生更改时,基于所述更改,更新对应于所述服务的流程(即DAG图)以及模型对应的节点的配置,其中,模型更改包括模型的增减和修改。所述模型的增减表示实现服务过程所涉及的模型个数的增加或减少。所述模型的修改表示模型网络结构和/或网络参数的修改,例如,模型的输入参数增加新的特征字段或者删减原有的特征字段。更新对应于所述服务的流程表示可以将原有DAG图中至少一个模型节点删除,和/或在原有DAG图中增加至少一个模型节点,和/或改变原有DAG图中至少一个模型节点的执行顺序。更新模型对应的节点的配置表示将原始DAG图中模型节点的配置进行更新,包括对模型的调用地址、特征抽取配置、对应于模型的节点的输入及输出等的更改。
应当注意的是,上述有关流程300的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程300进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。
图4是根据本说明书一些实施例所示的服务实例化方法的示例性流程图。在一些实施例中,流程400可以由处理设备执行。例如,流程400可以以程序或指令的形式存储在存储装置(如处理设备的自带存储单元或外接存储设备)中,所述程序或指令在被执行时,可以实现流程400。又例如,流程400可以由执行模块540实现。如图4所示,流程400可以包括以下步骤:
步骤402,推送所述服务的流程至所述服务网关进行实例化。
在一些实施例中,服务网关可以是用于提供(或实现)服务所需的软件和/或硬件的组合。执行模块540将所述服务的流程推送至服务网关后,服务网关中的相关部件,例如服务执行链路,可以对所述服务的配置进行实例化,得到服务的流程的实例并存储于服务实例仓中。所述流程在存储时,可以有一个唯一编号赋予。通过查找编号,可以得对应的流程。
步骤404,推送所述至少一个规则至所述服务网关进行实例化;所述规则引擎属于所述服务网关,用于解析所述至少一个规则。
在一些实施例中,执行模块540将所述规则推送至服务网关后,服务网关中的相关部件,例如规则引擎,可以利用规则解析框架对规则进行解析。解析完成后规则引擎可以将规则进行实例化。所述规则引擎属于服务网关,可以是用于解析至少一个规则。作为示例,规则在推送至服务网关时可以是一段文字,利用规则引擎中的规则解析框架对规则进行解析从而得到具体的规则表达。解析完成后规则引擎可以对规则进行实例化。
步骤406,推送所述至少一个模型至所述服务网关进行实例化。
在一些实施例中,执行模块540可以推送至少一个模型相关的配置文件,包括模型的调用地址,至服务网关进行实例化。结合模型文件在不同镜像的分发完毕,模型的实例化完成。
步骤408,所述实例化后的所述服务、所述至少一个规则、所述至少一个模型分别存储于各自对应的实例仓,所述实例仓属于所述服务网关。
实例仓可以是用于存储信息数据的存储工具,例如,磁盘阵列、CD/DVD驱动器、磁带驱动器或可移动的存储介质等。在本说明书的一个或多个实施例中,各自对应的实例仓可以是服务实例仓,用于存储实例化后的服务流程配置文件;规则实例仓,用于存储实例化后的规则配置文件;模型实例仓,用于存储实例化后的模型配置文件。在本说明书的一个或多个实施例中,服务实例仓、规则实例仓、模型实例仓可以为一个或多个实例仓,在为一个实例仓时,该实例仓中包括存储服务、规则、模型配置文件的相应部分。
在本说明书的一个或多个实施例中,实例化后的服务、至少一个规则、至少一个模型分别存储于各自对应的实例仓。在本说明书的一个或多个实施例中,后续当实例化后的服务需要启动,在服务实例仓中只有一个服务部署时,则直接从对应的实例仓中提取启动该服务需要启动的规则和/或模型配置文件;在服务实例仓中有多个服务部署时,先从实例仓中找到启动的服务,再从规则、模型实施例仓中提取该启动的服务对应的规则和/或模型配置文件。在一些实施例中,完成实例化的所述服务的流程、所述至少一个规则、所述至少一个模型在各自的实例仓存储时,都可以被赋予唯一编号。通过查找编号可以得到相应的流程、规则和/或服务。
应当注意的是,上述有关流程400的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程400进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。例如,步骤402至步骤408的执行顺序并非由附图限定,步骤402完成后可以执行步骤408以完成规则的实例存储,步骤404以及步骤406也可以类似操作。
图5是根据本说明书一些实施例所示的服务部署系统的模块图。
如图5所示,服务部署系统500可以包括第一获取模块510、确定模块520、部署模块530和执行模块540。这些模块可以是处理设备的至少一部分的硬件电路。这些模块也可以作为应用程序或由处理设备读取或执行的指令实现。此外,这些模块可以是硬件电路和应用/指令的任何组合。例如,当处理设备执行应用程序/指令时,这些模块可以是处理设备的一部分。
第一获取模块510可以用于获取实现服务的规则和模型,以及确定实现服务的流程。在一些实施例中,第一获取模块510可以获取实现所述服务的至少一个规则,以及至少一个模型,并确定实现所述服务的流程,所述流程以有向无环图表示,每一个节点对应一个规则或一个模型。在一些实施例中,第一获取模块510可以确定实现所述服务时所述至少一个规则及所述至少一个模型的执行顺序,并基于所述执行顺序构建所述有向无环图,其中,所述有向无环图中节点与节点之间的指向对应所述执行顺序。
确定模块520可以用于对规则和模型进行配置。在一些实施例中,确定模块520可以基于所述流程,确定与每一个规则相关的节点的配置,以及确定与每一个模型相关的节点的配置。在一些实施例中,确定模块520可以获取对应于所述规则的规则表示,基于所述有向无环图,以及所述规则表示,确定对应于该规则的节点的输入及输出,并且指定所述规则表示,其中,所述对应于该规则的节点的输入及输出为该规则的配置。有关确定与每一个规则相关的节点的配置的更多细节可以参见图2及相关描述,在此不再赘述。在一些实施例中,确定模块520可以确定对应于所述模型的调用地址,然后基于所述有向无环图,确定对应于该模型的节点的输入及输出,并且获取特征抽取配置,最后指定所述模型的调用地址、所述特征抽取配置、所述对应于该模型的节点的输入及输出作为该模型的配置,其中,所述特征抽取配置用于转换所述对应于该模型的节点的输入以符合所述模型的输入要求。有关确定与每一个模型相关的节点的配置的更多细节可以参见图3及相关描述,在此不再赘述。
部署模块530可以用于对规则和模型进行部署。在一些实施例中,部署模块530可以基于所述配置,部署所述至少一个规则以及所述至少一个模型至同一平台下的不同组件。在一些实施例中,所述平台组件至少包括服务网关以及至少一个镜像,所述至少一个规则部署于所述服务网关,所述至少一个模型部署于所述至少一个镜像。
执行模块540可以用于对服务流程、规则和模型进行实例化。在一些实施例中,执行模块540可以执行所述服务流程、所述至少一个规则以及所述至少一个模型的实例化以完成所述服务的部署。在一些实施例中,执行模块540可以推送所述服务至所述服务网关进行实例化,并且可以推送所述至少一个规则至规则引擎进行实例化,以及可以推送所述至少一个模型至所述服务网关进行实例化,然后所述实例化后的所述服务、所述至少一个规则、所述至少一个模型分别存储于各自对应的实例仓,其中,所述实例仓属于所述服务网关,所述规则引擎属于所述服务网关,用于解析所述至少一个规则。在一些实施例中,执行模块540还可以获取对应于所述服务的更改,并且基于所述更改,更新对应于所述服务的流程,及规则和/或模型对应的节点的配置,其中,所述更改包括所述规则和/或模型的增减,及修改。有关执行流程、至少一个规则以及至少一个模型的实例化的更多细节可以参见图4及相关描述,在此不再赘述。
关于各个模块的更多描述可以参考本说明书图1至图4部分。
应当理解,图5所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于候选项显示、确定系统及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,在一些实施例中,例如,图5中披露的第一获取模块510、确定模块520、部署模块530和执行模块540可以是一个系统中的不同模块,也可以是一个模块实现上述的两个或两个以上模块的功能。又例如,部署模块530和执行模块540可以是两个模块,也可以是一个模块同时具有规则和/或模型的部署及实例化功能。还例如,各个模块可以共用一个存储模块,各个模块也可以分别具有各自的存储模块。诸如此类的变形,均在本说明书的保护范围之内。
图6是根据本说明书一些实施例所示的实现部署的服务方法的示例性流程图。在一些实施例中,流程600可以由处理设备执行。例如,流程600可以以程序或指令的形式存储在存储装置(如处理设备的自带存储单元或外接存储设备)中,所述程序或指令在被执行时,可以实现流程600。又例如,流程600可以由处理设备上的服务实现系统700实现。如图6所示,流程600可以包括以下步骤:
步骤602,获取实现所述服务时所述至少一个规则及所述至少一个模型的执行流程。步骤602可以由第二获取模块710执行。
在一些实施例中,所述执行流程可以是实现所述服务时,其对应至少一个规则及至少一个模型执行顺序。所述执行顺序可以由有向无环图表示。有向无环图可以由多个节点和多个有向边构成,其每一个节点对应一个规则或者一个模型,其有向边可以表示节点对应的规则或模型的被执行的先后顺序以及选择走向。假定所述执行流程如图8所示,则,节点A对应的规则1将被首先执行,根据规则1的执行结果确定继续执行的是节点B对应的模型2,或是节点C对应的规则3。依次类推。
在一些实施例中,所述服务的执行流程可以是被存储在所述服务网关中的服务实例仓中的。在需要实现所述服务时,第二获取模块710可以通过查找服务实例仓,以获取所述执行流程。
步骤604,基于所述流程,调用部署于同一个平台的所述至少一个规则及所述至少一个模型以实现所述服务。步骤604可以由调用模块720执行。
在一些实施例中,调用模块720可以分析所述服务的执行流程,调用部署于同一个平台的至少一个规则及至少一个模型以实现所述服务。所述至少一个规则可以部署与服务网关,同时实例化后存储与规则实例仓。而所述至少一个模型可以部署于不同的Docker镜像(也可以是Docker容器),实例化后可存储于模型实例仓。调用模块720可以从规则实例仓中确定需要调用的规则(例如,通过编号查找)并利用规则引擎执行规则。同时,调用模块720可以从模型实例仓中确定需要调用的模型(例如,通过编号查找),并通过模型路由层绑定的模型信息(例如,模型地址)启动Docker容器以执行模型。所述规则引擎和/或模型路由层,可以是调用模块720的一部分。
在说明书的一个或多个实施例中,关于规则的调用可以通过服务网关中的规则引擎来实现每一个规则的运作,例如,通过规则引擎从规则实例仓中调用规则1、规则2。关于模型的调用可以通过服务网关中的模型路由层来执行的相应模型的Dorker镜像,例如,通过模型路由层调用存储在模型实例路由仓中的模型1对应的Dorker镜像及模型2对应的Dorker镜像。
在说明书的一个或多个实施例中,在风险识别的场景中有服务A进来时,获取关于服务A的id,首先在服务实例仓储中搜索关于服务A的实例(dag,有向无环图),进而通过服务网关中的决策dag决策路由层,基于服务A的实例中的节点依据服务A有向无环图的执行顺序进行查找,在出现规则节点时,直接在内存中进行调用相应规则;在出现模型节点时,通过模型路由层到相应的Dorker镜像中进行计算,将计算的结果作为整个决策服务链路的结果。
应当注意的是,上述有关流程600的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程600进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。
图7是根据本说明书一些实施例所示的服务实现系统的模块图。
如图7所示,服务实现系统700系统可以包括第二获取模块710和调用模块720。这些模块可以是处理设备的至少一部分的硬件电路。这些模块也可以作为应用程序或由处理设备读取或执行的指令实现。此外,这些模块可以是硬件电路和应用/指令的任何组合。例如,当处理设备执行应用程序/指令时,这些模块可以是处理设备的一部分。
第二获取模块710可以用于获取实现所述服务时所述至少一个规则及所述至少一个模型的执行流程。所述执行流程可以是实现所述服务时,其对应至少一个规则及至少一个模型执行顺序。所述执行顺序可以由有向无环图表示。有向无环图可以由多个节点和多个有向边构成,其每一个节点对应一个规则或者一个模型,其有向边可以表示节点对应的规则或模型的被执行的先后顺序以及选择走向。
调用模块720可以用于基于所述流程,调用部署于同一平台的所述至少一个规则及所述至少一个模型以实现所述服务。所述至少一个规则可以部署与服务网关,同时实例化后存储与规则实例仓。而所述至少一个模型可以部署于不同的Docker镜像(也可以是Docker容器),实例化后可存储于模型实例仓。关于规则的调用可以通过服务网关中的规则引擎来实现每一个规则的运作,关于模型的调用可以通过服务网关中的模型路由层来执行的相应模型的Dorker镜像。
关于各个模块的更多描述可以参考本说明书图5部分。
应当理解,图7所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于候选项显示、确定系统及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,在一些实施例中,例如,图7中披露的第二获取模块710和调用模块720可以是一个系统中的不同模块,也可以是一个模块实现上述的两个或两个以上模块的功能。又例如,第二获取模块710和调用模块720可以是两个模块,也可以是一个模块同时具有实现服务的规则和/或模型的获取以及调用功能。例如,各个模块可以共用一个存储模块,各个模块也可以分别具有各自的存储模块。诸如此类的变形,均在本说明书的保护范围之内。
本说明书实施例可能带来的有益效果包括但不限于:实现服务所需的规则以及模型部署于同一平台,减少了平台的维护成本。同时,当规则或模型发生变更时一个平台保证了变更的协同性。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。

Claims (18)

1.一种服务部署方法,其中,所述方法包括:
获取实现所述服务的至少一个规则,以及至少一个模型,并确定实现所述服务的流程,所述流程以有向无环图表示,每一个节点对应一个规则或一个模型;
基于所述流程,分别确定与每一个规则以及每一个模型相关的节点的配置;
基于所述配置,部署所述至少一个规则以及所述至少一个模型至同一平台下的不同组件;
执行所述服务流程、所述至少一个规则以及所述至少一个模型的实例化以完成所述服务的部署。
2.根据权利要求1所述的方法,其中,所述确定实现所述服务的流程,包括:
确定实现所述服务时所述至少一个规则及所述至少一个模型的执行顺序;
基于所述执行顺序构建所述有向无环图;其中,所述有向无环图中节点与节点之间的指向对应所述执行顺序。
3.根据权利要求2所述的方法,其中,所述确定每一个规则的配置,包括:
获取对应于所述规则的规则表示;
基于所述有向无环图,以及所述规则表示,确定对应于该规则的节点的输入及输出;
指定所述规则表示,所述对应于该规则的节点的输入及输出为该规则的配置。
4.根据权利要求2所述的方法,其中,所述确定每一个模型的配置,包括:
确定对应于所述模型的调用地址;
基于所述有向无环图,确定对应于该模型的节点的输入及输出;
获取特征抽取配置,所述特征抽取配置用于转换所述对应于该模型的节点的输入以符合所述模型的输入要求;
指定所述模型的调用地址、所述特征抽取配置、所述对应于该模型的节点的输入及输出作为该模型的配置。
5.根据权利要求1所述的方法,其中,所述平台组件至少包括服务网关以及至少一个镜像;所述至少一个规则部署于所述服务网关;所述至少一个模型部署于所述至少一个镜像。
6.根据权利要求5所述的方法,其中,所述实例化,包括:
推送所述服务至所述服务网关进行实例化;
推送所述至少一个规则至规则引擎进行实例化;所述规则引擎属于所述服务网关,用于解析所述至少一个规则;
推送所述至少一个模型至所述服务网关进行实例化;
所述实例化后的所述服务、所述至少一个规则、所述至少一个模型分别存储于各自对应的实例仓,所述实例仓属于所述服务网关。
7.根据权利要求1所述的方法,其中,所述方法进一步包括:
获取对应于所述服务的更改,所述更改包括所述规则和/或模型的增减,及修改;
基于所述更改,更新对应于所述服务的流程,及规则和/或模型对应的节点的配置。
8.一种实现如权利要求1-7任一所述的服务的方法,其中,所述方法包括:
获取实现所述服务时所述至少一个规则及所述至少一个模型的执行流程;所述执行流程以有向无环图表示;
基于所述流程,调用部署于同一平台的所述至少一个规则及所述至少一个模型以实现所述服务。
9.一种服务部署系统,其中,所述系统包括第一获取模块、确定模块、部署模块以及执行模块;
所述第一获取模块,用于获取实现所述服务的至少一个规则,以及至少一个模型,并确定实现所述服务的流程,所述流程以有向无环图表示,每一个节点对应一个规则或一个模型;
所述确定模块,用于分别确定与每一个规则以及每一个模型相关的节点的配置;
所述部署模块,用于基于所述配置,部署所述至少一个规则以及所述至少一个模型至同一平台下的不同组件;
所述执行模块,用于执行所述流程、所述至少一个规则以及所述至少一个模型的实例化以完成所述服务的部署。
10.根据权利要求9所述的系统,其中,为确定实现所述服务的流程,所述确定模块用于:
确定实现所述服务时所述至少一个规则及所述至少一个模型的执行顺序;
基于所述执行顺序构建所述有向无环图;其中,所述有向无环图中节点与节点之间的指向对应所述执行顺序。
11.根据权利要求10所述的系统,其中,为确定每一个规则的配置,所述确定模块用于:
获取对应于所述规则的规则表示;
基于所述有向无环图,以及所述规则表示,确定对应于该规则的节点的输入及输出;
指定所述规则表示,所述对应于该规则的节点的输入及输出为该规则的配置。
12.根据权利要求10所述的系统,其中,为确定每一个模型的配置,所述确定模块用于:
确定对应于所述模型的调用地址;
基于所述有向无环图,确定对应于该模型的节点的输入及输出;
获取特征抽取配置,所述特征抽取配置用于转换所述对应于该模型的节点的输入以符合所述模型的输入要求;
指定所述模型的调用地址、所述特征抽取配置、所述对应于该模型的节点的输入及输出作为该模型的配置。
13.根据权利要求9所述的系统,其中,所述平台组件至少包括服务网关以及至少一个镜像;所述至少一个规则部署于所述服务网关;所述至少一个模型部署于所述至少一个镜像。
14.根据权利要求13所述的系统,其中,所述执行模块用于:
推送所述服务至所述服务网关进行实例化;
推送所述至少一个规则至规则引擎进行实例化;所述规则引擎属于所述服务网关,用于解析所述至少一个规则;
推送所述至少一个模型至所述服务网关进行实例化;
所述实例化后的所述服务、所述至少一个规则、所述至少一个模型分别存储于各自对应的实例仓,所述实例仓属于所述服务网关。
15.根据权利要求9所述的系统,其中,所述系统进一步包括更新模块,所述更新模块用于:
获取对应于所述服务的更改,所述更改包括所述规则和/或模型的增减,及修改;
基于所述更改,更新对应于所述服务的流程,及规则和/或模型对应的节点的配置。
16.一种实现如权利要求8所述的服务实现系统,其中,所述系统包括第二获取模块以及调用模块;
所述第二获取模块,用于获取实现所述服务时所述至少一个规则及所述至少一个模型的执行流程;所述执行流程以有向无环图表示;
所述调用模块,用于基于所述流程,调用部署于同一平台的所述至少一个规则及所述至少一个模型以实现所述服务。
17.一种服务部署装置,其中,所述装置包括处理器,所述处理器用于执行如权利要求1-7中任意一项所述的方法。
18.一种服务实现装置,其中,所述装置包括处理器,所述处理器用于执行如权利要求8中所述的方法。
CN202010203330.6A 2020-03-20 2020-03-20 一种服务部署的方法、系统、及装置 Active CN111427684B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010203330.6A CN111427684B (zh) 2020-03-20 2020-03-20 一种服务部署的方法、系统、及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010203330.6A CN111427684B (zh) 2020-03-20 2020-03-20 一种服务部署的方法、系统、及装置

Publications (2)

Publication Number Publication Date
CN111427684A true CN111427684A (zh) 2020-07-17
CN111427684B CN111427684B (zh) 2023-04-07

Family

ID=71553553

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010203330.6A Active CN111427684B (zh) 2020-03-20 2020-03-20 一种服务部署的方法、系统、及装置

Country Status (1)

Country Link
CN (1) CN111427684B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113139794A (zh) * 2021-01-29 2021-07-20 江阴逐日信息科技有限公司 自动可配置流程演化方法、系统以及设备
CN113885956A (zh) * 2021-09-29 2022-01-04 北京百度网讯科技有限公司 服务部署方法及装置、电子设备和存储介质
CN115357626A (zh) * 2022-09-06 2022-11-18 中国建设银行股份有限公司 数据处理方法、装置、电子设备、介质及产品

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103440376A (zh) * 2013-08-26 2013-12-11 中国人民解放军国防科学技术大学 基于组件的分布集中一体化仿真系统运行支撑平台
US20150089031A1 (en) * 2013-09-20 2015-03-26 Oracle International Corporation System and method for providing configuration modularity in an application server, cloud platform, or other environment
CN106776326A (zh) * 2016-12-20 2017-05-31 中国农业银行股份有限公司 一种数据分析模型的建模方法及系统
CN106933622A (zh) * 2017-02-21 2017-07-07 清华大学 云环境中模型驱动的Hadoop部署方法
CN108733698A (zh) * 2017-04-19 2018-11-02 腾讯科技(深圳)有限公司 一种日志消息的处理方法及后台服务系统
WO2020048391A1 (zh) * 2018-09-04 2020-03-12 京东数字科技控股有限公司 基于多租户技术的web服务的部署、调用方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103440376A (zh) * 2013-08-26 2013-12-11 中国人民解放军国防科学技术大学 基于组件的分布集中一体化仿真系统运行支撑平台
US20150089031A1 (en) * 2013-09-20 2015-03-26 Oracle International Corporation System and method for providing configuration modularity in an application server, cloud platform, or other environment
CN106776326A (zh) * 2016-12-20 2017-05-31 中国农业银行股份有限公司 一种数据分析模型的建模方法及系统
CN106933622A (zh) * 2017-02-21 2017-07-07 清华大学 云环境中模型驱动的Hadoop部署方法
CN108733698A (zh) * 2017-04-19 2018-11-02 腾讯科技(深圳)有限公司 一种日志消息的处理方法及后台服务系统
WO2020048391A1 (zh) * 2018-09-04 2020-03-12 京东数字科技控股有限公司 基于多租户技术的web服务的部署、调用方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘欢欢;麻志毅;陈泓婕;: "基于PaaS的云应用软件部署环境的元模型" *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113139794A (zh) * 2021-01-29 2021-07-20 江阴逐日信息科技有限公司 自动可配置流程演化方法、系统以及设备
CN113885956A (zh) * 2021-09-29 2022-01-04 北京百度网讯科技有限公司 服务部署方法及装置、电子设备和存储介质
CN113885956B (zh) * 2021-09-29 2023-08-29 北京百度网讯科技有限公司 服务部署方法及装置、电子设备和存储介质
CN115357626A (zh) * 2022-09-06 2022-11-18 中国建设银行股份有限公司 数据处理方法、装置、电子设备、介质及产品
CN115357626B (zh) * 2022-09-06 2024-09-27 中国建设银行股份有限公司 数据处理方法、装置、电子设备、介质及产品

Also Published As

Publication number Publication date
CN111427684B (zh) 2023-04-07

Similar Documents

Publication Publication Date Title
US11973760B2 (en) Hierarchical permissions model within a document
CN111427684B (zh) 一种服务部署的方法、系统、及装置
Riva et al. Experiences with software product family evolution
US7461042B2 (en) Method, system, and program for defining and managing complex contingent rules, and exceptions thereto, in a rule-based computer system
CN113792159A (zh) 一种知识图谱数据融合方法和系统
WO2006082432A2 (en) Time-series forecasting
US8935657B2 (en) Model-to-model transformation by kind
US9760345B2 (en) Recursive ontology-based systems engineering
US20220292393A1 (en) Utilizing machine learning models to generate initiative plans
CN113849579A (zh) 一种基于知识视图的知识图谱数据处理方法和系统
CN110717537B (zh) 训练用户分类模型、执行用户分类预测的方法及装置
Kulkarni et al. Intelligent software engineering: the significance of artificial intelligence techniques in enhancing software development lifecycle processes
Eshuis et al. Deriving consistent GSM schemas from DCR graphs
Grossmann et al. Change propagation and conflict resolution for the co-evolution of business processes
US9026985B2 (en) Dynamically configurable model-to-model transformation engine
CN109947419B (zh) 一种实现逻辑判断的方法及装置
CN114791865A (zh) 一种基于关系图的配置项自洽性检测方法、系统和介质
Jiménez et al. On the design of an advanced business rule engine
US12020008B2 (en) Extensibility recommendation system for custom code objects
Buchmann et al. Advancing negative variability in model-driven software product line engineering
EP4216119A1 (en) Feature selection system
Bouzidi et al. Alignment of Business Process and Information System Models Through Explicit Traceability
Hinkelmann Ontology-Based Metamodelling, Modelling and Application Development
Kholkar et al. Feature Model-based Integration of Machine Learning in Software Product Lines
Lazzeri Understanding Algorithms and the Business Questions that Algorithms can answer Defining Business Metrics and Business Impact

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant