一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

应用构建方法、系统、电子设备及存储介质与流程

2022-04-16 13:54:22 来源:中国专利 TAG:


1.本发明涉及应用开发技术领域,具体而言,涉及一种应用构建方法、系统、电子设备及存储介质。


背景技术:

2.随着信息化技术逐步普及,各类应用系统数据呈井喷式壮大,如何有效应用这些数据成了各行各业研究的热门问题。面对海量数据,传统的应用开发方式已无法满足大数据时代复杂多变的业务需求,尤其是公共安全行业,数据多元化、碎片化,业务个性化非常突出。
3.目前,针对应用开发领域的相关技术方案中,大多提出的是数据分析工具或数据开发框架,其使用门槛及成本都极高,少量有针对应用开发的专利方案中,也停留在简单的应用场景和理论上的研究,只能构建一些较为简单的逻辑分析应用,而且应用开发与数据分析插件开发耦合,无法复用或者自定义与应用需求有关的相关数据分析插件,导致无法完成复杂类型的应用构建,可拓展性和灵活性较差。


技术实现要素:

4.本发明的目的之一在于提供一种应用构建方法、系统、电子设备及存储介质,其能够解决上述技术问题,本发明的实施例可以这样实现:
5.第一方面,本发明提供一种应用构建方法,所述方法包括:获取待构建的目标应用的应用逻辑、构建所述目标应用所需的数据资源;根据所述应用逻辑和所述数据资源,确定是否存在构建所述目标应用的目标数据分析插件;若不存在所述目标数据分析插件,则响应上传操作指令,获得所述目标数据分析插件;根据所述数据资源和所述目标数据分析插件,构建至少一个模型,并在所述至少一个模型的执行结果均正常的情况下,根据所述至少一个模型构建所述目标应用。
6.第二方面,本发明提供一种应用构建系统,包括:应用构建模块,模型调度模块、模型执行模块和数据资源模块;所述数据资源模块,用于维护构建目标应用所需的数据资源;所述应用构建模块,用于获取待构建的目标应用的应用逻辑,从所述数据资源模块获取构建所述目标应用所需的数据资源;根据所述应用逻辑和所述数据资源,确定是否存在构建所述目标应用的目标数据分析插件;若不存在所述目标数据分析插件,则响应上传操作指令,获得目标数据分析插件;根据所述数据资源和所述目标数据分析插件,构建至少一个模型;所述模型调度模块,用于将所述至少一个模型的执行任务信息发送给所述模型执行模块;所述模型执行模块,用于根据所述执行任务信息执行所述至少一个模型,并反馈所述至少一个模型的执行结果;所述应用构建模块,还用于在确定所述至少一个模型的执行结果均正常的情况下,根据所述至少一个模型构建所述目标应用。
7.第三方面,本发明提供一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机程序,所述处理器可执行所述计算机程序以实现第一方面所
述的方法。
8.第四方面,本发明提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的方法。
9.本发明提供的一种应用构建方法、系统、电子设备及存储介质,方法包括获取待构建的目标应用的应用逻辑类型、构建所述目标应用所需的数据资源;根据应用逻辑和数据资源,确定是否存在构建目标应用的目标数据分析插件;在不存在目标数据分析插件的情况下,根据预设的数据分析程序包构建目标数据分析插件;最后根据数据资源和目标数据分析插件,构建至少一个模型,并在至少一个模型的执行结果均正常的情况下,根据至少一个模型构建目标应用。与现有技术不同的是,本发明可以针对不存在满足构建与应用构建需求有关的数据分析插件的情况,获得满足应用需求的数据分析插件,进而利用数据分析插件和所需的数据资源构建至少一个模型,得到的至少一个模型可以完成各种复杂类型的目标应用构建,具有较强的拓展性,还能够满足用户在复杂场景下的构建应用尤其是大数据分析应用的需求。
附图说明
10.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
11.图1为本发明实施例提供的一种应用构建方法的示意性流程图;
12.图2为本发明实施例提供的数据分析引擎的结构示意图;
13.图3为本发明实施例提供的步骤s104的示意性流程图;
14.图4为本发明实施例提供的执行模型的示意性流程图;
15.图5为本发明实施例提供的一种插件执行过程的示意性流程图;
16.图6为本发明实施例提供的一种应用构建系统的结构框图;
17.图7为本发明实施例提供的应用构建模块510的结构示意图;
18.图8为本发明实施例提供的一种应用构建模块510的用户操作界面的示意图;
19.图9为本发明实施例提供的一种模型编辑页面示意图;
20.图10为本发明实施例提供的模型调度模块520的结构示意图;
21.图11为本发明实施例提供的模型执行模块530的结构示意图;
22.图12为本发明实施例提供的一种电子设备的方框示意图。
具体实施方式
23.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
24.因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通
技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
25.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
26.在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
27.此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
28.需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
29.目前,针对应用开发领域尤其是大数据分析应用开发领域的相关技术方案中,大多提出的是数据分析工具或大数据开发框架,其使用门槛及成本都极高,少量有针对应用开发的专利方案中,也只停留在简单的应用场景和理论上的研究,现有的应用开发技术方案尤其是大数据分析应用开发技术方案通常只能构建一些较为简单的逻辑分析应用,应用开发与数据分析插件开发耦合,无法复用或者自定义与应用需求有关的相关数据分析插件,导致无法完成复杂类型的应用构建,可拓展性和灵活性较差。
30.为了解决上述技术问题,本发明本案更加侧重于实际应用,从系统、数据分析插件、模型、应用四个方面进行了详细设计,以满足大数据时代复杂多变的业务需求。
31.首先,请参见图1,图1为本发明实施例提供的一种应用构建方法的示意性流程图,该方法可以包括:
32.s101,获取待构建的目标应用的应用逻辑、构建目标应用所需的数据资源。
33.s102,根据应用逻辑和数据资源,确定是否存在构建目标应用的目标数据分析插件。
34.s103,若不存在目标数据分析插件,则响应上传操作指令,获得目标数据分析插件。
35.s104,根据数据资源和目标数据分析插件,构建至少一个模型,并在至少一个模型的执行结果均正常的情况下,根据至少一个模型构建目标应用。
36.根据本发明实施例提供的一种应用构建方法,获取待构建的目标应用的应用逻辑类型、构建目标应用所需的数据资源根据应用逻辑和数据资源,确定是否存在构建目标应用的目标数据分析插件;在不存在目标数据分析插件的情况下,响应上传操作指令,获得所需的目标数据分析插件;最后根据数据资源和目标数据分析插件,构建至少一个模型,并在至少一个模型的执行结果均正常的情况下,根据至少一个模型构建目标应用。与现有技术不同的是,本发明可以针对不存在满足构建与应用构建需求有关的数据分析插件的情况,获得满足应用需求的数据分析插件,进而利用数据分析插件和所需的数据资源构建至少一个模型,得到的至少一个模型可以完成各种复杂类型的目标应用构建,具有较强的拓展性,还能够满足用户在复杂场景下的构建应用尤其是大数据分析大应用的需求。
37.下面就本发明实施例中上述示例性的步骤s101至步骤s104进行详细介绍说明。
38.在步骤s101中,获取待构建的目标应用的应用逻辑、构建目标应用所需的数据资
源。
39.本发明实施例可以构建的目标应用可以但不限于是大数据分析应用,目标应用的应用类型可以包括但不限于:web类型应用、周期作业类型应用、实时作业类型应用、接口服务类型应用等这四类应用。
40.需要说明的是,本发明实施例中的应用逻辑与应用类型实质不同,应用类型是用来对不同展现和执行对应的应用进行划分的,而应用逻辑指的是应用内部的逻辑关系,通过执行这种逻辑关系可以实现应用对应的功能,比如用户需要实现一个具有计算器功能的应用,那么加、减、乘、除就是该应用的内部逻辑关系,在该应用中输入的数字即为本发明实施例中的数据资源,通过目标数据分析插件即可实现加、减、乘、除这些逻辑。
41.在上述内容中,还需要获得构建目标应用所需的数据资源,目的是分析数据资源之间的逻辑关系,进而确定系统内默认存在的数据分析插件是否满足构建该目标应用的应用需求,并且在后续构建目标应用时提供数据基础。
42.在本实施例中,数据资源可以来源于预设的数据资源模块,其中,数据资源模块用于维护多种类型数据资源对应的数据库,可以包括但不限于:关系型数据库、非关系型数据库、消息中间件以及restful资源。
43.在步骤s102中,根据应用逻辑和数据资源,确定是否存在构建目标应用的目标数据分析插件。
44.本实施例中,可以分析数据资源之间的逻辑关系,确定需要哪些数据分析插件;进而结合应用逻辑,确定应用构建模块提供的数据分析插件是否能满足业务需求,若不满足,则用户可以基于预设的数据分析插件引擎程序包进行二次开发,开发完成后需要用户手动编译成可执行的程序包,将该程序包并上传至系统,从而辅助完成构建满足应用需求的目标应用。
45.上述内容中涉及的数据分析插件,可以理解为一种遵循一定规范的应用程序接口编写出来的程序。数据分析插件可以有多种类型,本发明实施例中数据分析插件可以在服务器上被运行。
46.示例性的,本发明实施例提供的数据分析插件,可以分为但不限于:离线插件和实时插件,离线插件即内部采用一次获取所需数据完成一次计算的工作原理;实时插件即内部采用监听外部数据流,当有数据流入时完成一次计算的工作原理。在本发明实施例后续涉及的模型执行过程中,需要判断当前插件的类型,进而采用对应的工作类型来执行插件。
47.本实施例在构建目标应用之前,需要根据目标数据分析插件来构建模型,并通过数据分析插件执行来完成模型调试,进而构建目标应用。
48.在步骤s103中,若不存在目标数据分析插件,则响应上传操作指令,获得目标数据分析插件。
49.可以理解的是,上述目标分析插件是系统默认的数据分析插件不满足业务需求的情况下,用户基于预设的数据分析插件引擎程序包进行二次开发生成的,生成的目标数据分析插件需要用户手动编译成可执行的程序包并上传至系统,在另一种场景中,若不存在满足业务需求的数据分析插件,也可以直接生成满足业务需求的数据分析插件。
50.在一种可能的实施方式中,上述目标数据分析插件可以通过以下方式构建:
51.步骤1,响应插件构建指令,生成插件构建的工程环境。
52.步骤2,在所述插件构建的工程环境中获得数据分析引擎程序包,并响应针对所数据分析引擎程序包的编译操作指令,生成与目标应用功能匹配的插件数据;
53.步骤3,响应针对插件构建的工程环境的编译操作指令,根据插件数据生成所述目标数据分析插件。
54.例如,可以使用java软件开发工具构建maven或gradle插件工程;在已构建的插件工程引入数据分析引擎程序包;实现数据分析引擎中的信息获取、参数配置、调度执行接口的功能,在实现调度执行接口时,当完成内部计算逻辑后,需要将计算结果写入到输出数据源地址(数据库或消息中间件);使用maven或gradle编译插件工程构建可执行java程序包,该可执行java程序包即为构建的目标数据分析插件。
55.在上述构建数据分析插件的过程中,需要根据实际要构建的目标应用所能实现的功能,来构建对应的数据分析插件,例如,假设目标应用是一个可以完成求和功能的计算器,那么在构建过程中,完成内部计算逻辑,可以认为是完成求和功能,比如输入数据,内部完成求和功能,输出数据之和。
56.需要注意的是,在构建目标数据分析插件时,需要引入数据分析引擎程序包,引擎是用于驱动插件程序的执行的程序,请参见图2,图2为本发明实施例提供的引擎的结构示意图,引擎主要由插件执行引擎、插件驱动接口、插件信息接口、插件元数据接口组成。
57.插件执行引擎,是插件执行入口,主要包含执行插件和停止执行插件功能,依赖插件驱动接口、插件信息接口、插件元数据接口。
58.插件驱动接口,是插件内部逻辑执行接口,每个插件需要实现该插件驱动接口,主要包含的方法有执行前初始化、执行环境变量检查、设置执行监听器、开始、停止、释放资源,执行监听器包含插件执行日志收集和执行进度收集。
59.插件信息接口,是插件信息获取接口,每个插件需要实现该插件信息接口,主要包含的方法有插件标识、插件名称、插件类型、插件版本、插件文档,插件类型包括离线插件和实时插件。
60.插件元数据接口,是为插件配置信息加载接口,包含输入输出数据源配置、插件运行参数配置、插件输出参数配置,数据源配置,插件执行引擎会根据模型的节点配置信息加载数据源管理对象,其中包含数据源连接信息、数据资源信息、以及数据读取和写入功能。
61.也就是说,通过上述数据分析引擎,可以执行本实施例中的数据分析插件,进而完成目标应用对应的多个模型的执行。
62.在步骤s104中,根据数据资源和目标数据分析插件,构建至少一个模型,并在至少一个模型的执行结果均正常的情况下,根据至少一个模型构建目标应用。
63.本实施例中,数据资源可与数据分析插件串联,数据分析插件之间可以串联和/或并联,构建出来的模型可以有多个输入,但只允许有一个输出。
64.也就是说,在获得构建目标应用的数据资源和目标数据分析插件之后,可以构建一个或多个模型,当一个或多个模型的执行结果均正常的情况下,可以绑定一个或多个模型,构建目标应用。若用户需要查看构建的目标应用是否满足业务需求,则可以进入目标应用,查看目标应用、手动或自动执行结果,这使得构建各种复杂类型的应用尤其是大数据分析应用成为可能。
65.从上述内容可知,在构建目标应用之前,需要执行构建的一个或多个模型,并需要
进行模型调试,从而保证构建的目标应用能够实现业务功能。
66.可选地,本实施例还给出一种模型执行的实施方式,请参见图3,图3为本发明实施例提供的步骤s104的示意性流程图,步骤s104可以包括:
67.s104-1,根据数据资源和目标数据分析插件,构建至少一个模型,并获取至少一个模型各自所包含的多个节点。
68.s104-2,针对每个模型,确定多个节点对应的模型执行图;其中,模型执行图用于表征多个节点的执行顺序。
69.s104-3,根据模型执行图,依次执行多个节点,并根据多个节点的执行状态,确定多个节点对应的模型的执行结果。
70.s104-4,若每个模型的执行结果均正常,则根据每个模型构建目标应用。
71.根据上述实施例,可以对构建出来的一个或多个模型进行调试,从而基于调试结果正常的模型来构建目标应用,保证构建的目标应用能够实现业务功能。
72.下面对上述实施例中步骤s104的相关步骤进行介绍说明。
73.在步骤s104-1中,在构建每个模型之后,可以获取模型的信息,模型的信息可以包括但不限于:模型的节点列表、模型的节点边关系列表,其中,模型的节点列表用于维护该模型对应的多个节点,模型的节点边关系列表用于维护该多个节点之间的连接关系,根据该模型的节点边关系列表,可以确定每个模型对应的模型执行图。
74.在s104-2,针对每个模型,确定多个节点对应的模型执行图;其中,模型执行图用于表征多个节点的执行顺序。
75.本实施例中,模型执行图指的是构成模型的多个节点的执行顺序图,在执行模型的任务中,可以根据模型执行图中规划好的执行顺序,开始执行每个节点,并获得每个节点对应的执行状态。本实施例中的模型执行图是一种有向图,图中的每个节点对应有入度,入度是有向图中某节点作为图中边的终点的次数之和,本实施例中可以将入度为零的节点作为执行起点,也就是说该节点不是模型执行图中至少一条边的终点。
76.在步骤s104-3中,根据模型执行图,依次执行多个节点,并根据多个节点的执行状态,确定多个节点对应的模型的执行结果。
77.本实施例中,可以依据模型执行图,从多个节点中确定执行起点,若是首次获取,则获取模型执行图中入度为零的节点,若非首次获取,则根据当前已执行的节点的信息,获取模型执行图中与已执行的节点直接关联的下一跳节点为执行起点。
78.在执行节点的过程中,为了获得每个节点的执行状态,可以在执行过程中调用数据分析插件设置监听接口,设置执行日志、执行进度监听,获得执行状态。
79.本实施例中,节点的执行状态为成功或错误,若任意一个节点执行成功,则按照模型执行图继续执行剩下的节点,直到所有节点执行完成;若任意一个节点执行错误,则根据错误的类型确定是终止执行还是重新分配。
80.针对上述内容中涉及的错误的类型,本实施例可以预先定义为两大类:可修复类型和不可修复类型,可修复类型可以认为是执行过程中出现的系统问题等,与模型本身无关,不可修复类型表征模型可能存在实质性缺陷或者可能在构建过程就已经出错等。
81.可选地,针对上述步骤s104-3,本发明实施例还给出了一种可能的实施方式,即步骤s104-3可以包括以下步骤:
82.步骤1,根据模型执行图,依次执行多个节点,并监听每个节点的执行状态;
83.步骤2,当存在任意一个节点的执行状态为错误,在错误的类型为不可修复类型的情况下,终止执行其他节点,反馈执行结果为异常;
84.步骤3,当多个节点全部执行完成且每个节点的执行状态均为成功,则反馈执行结果为正常。
85.在上述步骤2的实施过程中,出现的错误的类型也可能为可修改类型,说明出现了模型执行故障,此时可以重新将执行状态为错误的节点配置为未执行的节点,并依次执行重新分配后的未执行节点,直到多个节点全部执行完成,获得执行结果。
86.通过上述方式可以及时确定构建的模型的执行情况,目的是保证后续构建的目标应用的准确性。
87.为了方便理解上述模型执行过程,下面从模型的角度描述模型中各个节点的执行情况,本发明实施例给出了一种更为详细的模型执行过程,请参见图4,图4为本发明实施例提供的执行模型的示意性流程图:
88.a1,获取模型的信息,计算模型执行图。
89.a2,根据该模型执行图,从多个节点中确定并执行当前需要执行的节点。
90.a3,监听当前执行的节点的执行状态,若执行状态为成功则进行步骤a4,若执行状态为错误则进行步骤a5。
91.a4,判断模型的所有节点是否均执行完成,若是则进行步骤a8,若否则返回执行步骤a2。
92.a5,判断错误的类型是否属于可修复类型,若是则进行步骤a6,若否则进行步骤a7。
93.a6,重新将执行状态为错误的节点配置为未执行的节点,并依次执行未执行节点,直到多个节点全部执行完成,获得执行结果。
94.a7,终止模型执行,剩余未执行节点均跳过,正在执行的节点终止执行。
95.a8,反馈模型执行结果。
96.在当前执行节点执行完成后,取出与都执行完成的所有入度节点关联的待执行节点,分配至模型执行模块,分配模型的节点时,同一数据分析插件不同版本分配到不同模型执行模块节点,并优先分配给最大空闲和最少任务数的模型执行模块节点。
97.可选地,在上述步骤s104-3中可以看出,本发明实施例在执行各个节点的过程中,需要监听节点的执行状态,而本发明实施例中执行节点的实质方式是执行构建目标应用的目标数据分析插件,因此,为了方便单个节点的执行过程,针对上述步骤1本发明实施例还提供了一种实现方式,即上述步骤1可以包括:
98.步骤1-1,根据每个节点的节点配置信息,初始化目标数据分析插件对应的参数信息和数据资源。
99.步骤1-2,在存在满足目标数据分析插件运行的运行条件的情况下,调用目标数据分析插件执行环境检查接口获取数据分析插件校验结果。
100.其中,运行条件包括:存在满足目标数据分析插件运行所需的数据资源,且目标数据分析插件输出的数据资源类型为数据流,且目标数据分析插件输出实体表。
101.在一种可能的实施方式中,在步骤1-1之后,可以检测目标数据分析插件所需的输
入数据源信息是否存在,若存在,则判断目标数据分析插件输出数据源类型,若是数据流,再判断数据分析插件输出表类型,若是实体表,则表明存在满足目标数据分析插件运行的运行条件。
102.步骤1-3,在校验结果通过的情况下,调用目标数据分析插件的监听接口,监听每个节点的执行状态。
103.通过上述方式可以及时掌握每个节点的执行状态。
104.可选地,在根据模型执行图,依次执行多个节点,并监听每个节点的执行状态的过程中,本发明实施例还包括插件执行的实施过程:
105.步骤1,针对每个节点,判断目标数据分析插件是离线插件类型还是实时插件类型;
106.步骤2,若是离线插件类型,则调用数据分析插件执行接口,执行节点。
107.步骤3,若是实时插件类型,在启用目标数据分析插件的数据流监听功能成功且存在新的数据流的情况下,调用目标数据分析插件执行接口执行节点。
108.通过上述实施方式,可以保证后续构建的目标应用的准确性。为了方便理解上述模型执行过程的插件执行过程,下面从插件执行的角度来描述每个模型中各个节点的执行过程,本发明实施例给出了一种更为详细的插件执行的实施过程,请参见图5,图5为本发明实施例提供的一种插件执行过程的示意性流程图:
109.b1,根据节点的配置信息,初始化目标数据分析插件。
110.b2,检测目标数据分析插件所需的输入数据源信息是否存在,若存在,进行步骤b3步;若不存在,则输出错误提示并进行步骤b14。
111.b3,判断目标数据分析插件输出的数据源类型,若是数据库,则进行步骤b4;若是数据流,则进行步骤b6。
112.b4,判断目标数据分析插件的输出表类型,若是临时表则进步骤b5,若是实体表则进行步骤b6。
113.b5,根据目标数据分析插件的输出参数、输出数据源配置信息创建临时的输出表。
114.b6,调用目标数据分析插件的执行环境检查接口获取插件校验结果,若通过,则进行步骤b7步,若不通过则输出错误提示并进行步骤b14。
115.b7,调用目标数据分析插件的监听接口,设置执行日志、执行进度监听。
116.b8,判断目标数据分析插件的插件类型,若是离线插件类型,则进行步骤b9;若是实时插件类型,则进行步骤b10。
117.b9,调用目标数据分析插件的执行接口,等待执行完成,若执行成功,则进行步骤b14;若执行失败则输出错误提示,进行步骤b11。
118.b10,启用目标数据分析插件的数据流监听功能,若启用成功则步骤进行b12;若启用失败则输出错误提示,进行步骤b11。
119.b11,判断错误是否属于可修复类型,若是返回执行步骤b8;若不可修复类型则输出错误提示,进行步骤b14。
120.b12,监听一个或多个数据流;
121.b13,待有新的数据流后,调用目标数据分析插件的执行接口,若执行成功则返回进行步骤b12;若执行失败则输出错误提示,进行步骤b14。
122.b14,调用目标数据分析插件的资源释放接口,释放插件占用资源。
123.b15,结束执行任务,反馈执行结果。
124.基于上述实施例提供的应用构建方法,本发明实施例还提供了一种应用构建系统,请参见图6,图6为本发明实施例提供的一种应用构建系统的结构框图,该应用构建系统500包括:应用构建模块510,模型调度模块520、模型执行模块530和数据资源模块540。
125.数据资源模块540,用于维护构建目标应用所需的数据资源。
126.应用构建模块510,用于获取待构建的目标应用的应用逻辑,从数据资源模块540获取构建目标应用所需的数据资源;根据应用逻辑和数据资源,确定是否存在构建目标应用的目标数据分析插件;若不存在目标数据分析插件,则响应上传操作指令,获得目标数据分析插件;根据所述数据资源和所述目标数据分析插件,构建至少一个模型。
127.模型调度模块520,用于将所述至少一个模型的执行任务信息发送给所述模型执行模块。
128.模型执行模块530,用于在确定所述至少一个模型的执行结果均正常的情况下,根据所述至少一个模型构建目标应用;
129.根据本发明实施例提供的应用构建系统,可以使用数据资源与数据分析插件构建应用模型,再将模型发布成各类型的应用,极大提高了应用尤其是大数据分析应用开发的灵活性;本方案通过建模方式构建应用,支持一个或多个模型绑带一个应用,同时支持一个或多个数据资源绑定模型,同时支持一个或多个数据分析插件绑定模型,具有较强的复杂应用开发能力,满足用户在复杂场景下构建应用的需求。
130.需要说明的是,在图6所示的应用构建系统500中,节点是指软件系统运行节点,不是物理设备节点,应用构建模块510、模型调度模块520、模型执行模块530可以支持集群部署(即可以并行运行在同一个的节点设备上),也可以支持分布式部署(即可以运行在不同的节点设备上)。上述数据资源模块540为所有数据库的总称,支持常见关系型数据库、非关系型数据库、消息中间件接入,的数据库和消息中间件为现有技术,此处不再赘述。
131.下面对本发明实施例提供的应用构建模块510,模型调度模块520、模型执行模块530和数据资源模块540进行介绍说明。
132.请参见图7,图7为本发明实施例提供的应用构建模块510的结构示意图,本发明实施例提供的应用构建模块510包含模型管理单元5101、数据管理单元5102、插件管理单元5103、应用管理单元5104。
133.其中,模型管理单元5101用于管理应用模型的属性信息,应用模型主要属性信息包含:名称、所属分组、模型类型、使用数据源、模型描述、模型的节点,所属分组用于对模型进行分类管理,模型类型分为离线模型和实时模型,离线模型使用离线数据分析插件构建,实时模型使用实时数据分析插件构建。
134.本实施例中,模型管理单元5101主要功能有模型新增、修改、删除、导入、导出、固化、复制、撤销,模型固化是将已发布的模型转换成一个虚拟数据分析插件,在新增其它应用模型的时候可以使用虚拟数据分析插件。
135.数据管理单元5102,用于管理模型所需的数据资源,支持常见关系型数据库、非关系型数据库、消息中间件、restful接口接入,可对数据资源表进行分类以及设置别名,数据源主要属性包含:名称、描述、类型、数据源引擎、地址、端口、请求参数、用户名、登录密码,
数据管理单元5102主要功能有数据源新增、修改、删除,数据资源表分类、别名设置、数据预览。
136.插件管理单元5103,用于管理建模使用的数据分析插件,可对同一插件进行多版本管理,应用构建模块提供常见逻辑的数据分析插件,离线插件有转换、接口、关联、过滤、聚合、sql,实时插件有转换、合并、过滤、预警、布控、关联、聚合、接口。
137.应用管理单元5104用于管理目标应用,可以但不限于创建web类型应用、周期作业类型应用、实时作业类型应用、接口服务类型应用等这四类应用。
138.其中,web类型应用,适用于可视化交互操作场景,web类型应用可绑定离线模型和实时模型,需要将一个或多个模型与一个或多个web渲染组件绑定,包括但不限于页面、表单(单选框、多选框、输入框、选择器、时间/日期选择器)、分页表格、树形控件、消息提示框,若绑定有实时模型,模型计算结果将会实时推送到页面。
139.周期作业类型应用,适用于定时自动计算场景,周期作业类型的应用只允许绑定一个离线模型,支持按秒、分、时、天、月、年配置作业计划或按固定间隔时间配置作业计划(从上一次执行结束开始计时)。
140.实时作业类型应用,适用于处理实时数据场景,实时作业类型的应用只允许绑定一个实时模型,应用发布后即执行对应模型,启用数据流监听功能。
141.接口服务类型应用,适用于对外提供restful接口场景,接口服务类型的应用只允许绑定一个离线模型,应用发布后,每调用一次接口触发相应的模型执行,支持同步和异步返回模型计算结果,异步返回模型计算结果时,需要调用方提供数据推送地址,可以是常见关系型数据库、非关系型数据库、消息中间件、restful接口。
142.在一种可能的实施方式中,应用构建模块510可以具有用户操作界面,请参见图8,图8为本发明实施例提供的一种用户操作界面的示意图,其中,在用户操作界面上具有插件管理菜单、数据资源菜单、应用管理菜单和模型管理菜单,用户可以在任何一种菜单下进行操作,实现对应的功能,例如,当接收到用户针对模型管理菜单的操作指令,则在菜单的右方展示出模型列表,在该模型列表中可以展示多种构建成功的模型,针对每一个模型,在该模型列表用于展示以下属性信息:模型序号、模型的状态、模型名称、分组、类型、分析库、描述信息、操作类型等,其中,模型的状态包括以下三种:已发布、未发布和已固化;该操作类型可以包括但不限于:复制、基础信息、固化、删除等。
143.在图8的用户操作界面基础上,还可以对模型进行编辑,以获得能够实现某种功能的应用,请参见图9,图9为本发明实施例提供的一种模型编辑页面示意图,其中,在该编辑页面中包含数据资源选择区域,可以用来选择构建目标应用所需的数据资源,还包括插件展示与选择区域,其中可以包含系统默认的一些数据分析插件,还可以包含用户上传的自定义插件,为了简单描述,图9中用字母来标识一个插件的功能,用户可以根据实际需求进行定义,以此来区分不同功能的插件。
144.例如,在一种手机同行分析的场景中,假设插件为a、b、d、e和f分别为伴随同行、聚合、过滤、关联、时空数据转换,为了实现手机同行分析的功能,通过d可以获取目标人同行的指定跟随这的同行记录,进而利用a进行聚合,计算同行次数;再利用f过滤不符合最低同行次数的人员;同时,利用e将d获取的目标人同行的指定跟随这的同行记录和通过f过滤后的同行记录进行关联计算,得到符合最低同行次数的记录,进而利用b将最低同行次数的记
录、以及被跟随者的轨迹信息和跟随者的轨迹信息进行处理,利用e对b的处理结果进行关联,从而可以输出同行轨迹明细。
145.需要说明的是,图8和图9仅仅是本发明实施例中用来构建目标应用的一种示例性用户操作界面,并不是对用户操作界面规模、功能及其组成的一种限定,为了实现构建目标应用的功能,其还可以包括更多其他功能性界面元素,此处不再一一赘述。
146.请参见图10,图10为本发明实施例提供的模型调度模块520的结构示意图,模型调度模块520可以包括:模型管理单元5201、模型任务管理单元5202、模型执行单元5203。
147.模型管理单元5201,用于管理正在执行的模型,包括缓存正在执行的模型的信息、移除已执行完成的模型的信息、为模型分配任务管理器,模型的信息主要属性可以包括但不限于:模型的节点列表、模型的节点边关系列表、模型输入参数配置信息、模型输出参数配置信息、模型唯一标识、模型类型等,模型的节点信息包括数据分析插件配置信息、模型的节点标识及模型的节点名称,模型的节点边信息包括输出模型的节点标识和输入模型的节点标识,数据分析插件配置信息包括插件标识、插件名称、插件版本、插件类型、插件配置参数列表。
148.模型任务管理单元5202主要用于管理模型的执行任务,包括接收模型执行任务指令、接收取消模型执行任务指令、缓存模型任务信息、向模型执行单元5203提交模型任务,模型任务信息主要属性包括模型输入参数列表、模型标识、模型任务标识;
149.模型执行单元5203主要用于执行模型,具体包括为模型的每一次执行任务分配一个模型执行对象,将模型执行对象分配到独立执行线程中使用模型执行器执行模型,模型执行器为本发明中模型执行方法具体实现,模型执行对象具体属性包括模型任务信息、模型信息、模型执行状态。
150.为了清晰描述本实施例的模型执行模块530的实现原理,请参见图11,图11为本发明实施例提供的模型执行模块530的结构示意图,模型执行模块530包括:模型的节点管理单元5301、节点任务管理单元5302、节点执行单元5303。
151.模型的节点管理单元5301,用于管理正在执行的模型的节点,包括接收模型的节点执行信息、缓存模型执行节点信息、移除已执行完成的模型的节点信息和为模型执行节点分配节点任务管理器。
152.节点任务管理单元5302,用于管理节点的执行任务,包括接收模型的节点的执行任务指令、接收取消模型的节点任务执行指令、缓存模型的节点任务信息、向节点执行单元5303提交模型的节点执行任务,模型的节点任务信息主要包括数据分析插件配置信息、模型任务标识、模型标识、模型的节点输入参数、模型的节点任务分配者信息,模型的节点任务分配者信息包括主机地址、主机端口。
153.节点执行单元5303,用于执行模型的节点,具体包括为模型的节点每一次执行分配一个模型的节点执行对象,将模型的节点执行对象分配到独立执行线程中使用模型的节点执行器执行模型的节点,还包括根据模型的节点执行状态及模型的节点任务分配者信息,向所属模型任务管理器反馈模型的节点执行结果,模型的节点执行器为本发明中数据分析插件执行方法的具体实现,模型的节点执行对象具体属性包括模型的节点任务信息、数据分析插件执行引擎。
154.在可选的实施方式中,应用构建模块510、模型调度模块520、模型执行模块530可
以协同的执行图3中的各个步骤以实现相应的技术效果。
155.在可选地实施方式中,模型执行模块530可以执行上述步骤s104-3包含的步骤1至步骤3以及步骤1包含的各个步骤、图4、图5中的各个步骤以实现相应的技术效果。
156.需要说明的是,本发明实施例提供的应用构建系统500中的各个功能模块可以软件或固件(firmware)的形式存储于存储器中或固化于电子设备700的操作系统(operating system,os)中,并可由电子设备700中的处理器执行。同时,执行上述功能模块所需的数据、程序的代码等可以存储在存储器中。
157.如图12,图12为本发明实施例提供的一种电子设备的方框示意图。该电子设备700包括通信接口701、处理器702和存储器703。该处理器702、存储器703和通信接口701相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器703可用于存储软件程序及单元,如本发明实施例所提供的应用构建方法对应的程序指令/单元,处理器702通过执行存储在存储器703内的软件程序及单元,从而执行各种功能应用以及数据处理。该通信接口701可用于与其他节点设备进行信令或数据的通信。在本发明中该电子设备70可以具有多个通信接口701。
158.其中,存储器703可以是但不限于,随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read-only memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electric erasable programmable read-only memory,eeprom)等。
159.处理器702可以是一种集成电路芯片,具有信号处理能力。该处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
160.本发明实施例还提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前述实施方式中任一项的应用构建方法。该计算机存储介质可以是,但不限于,u盘、移动硬盘、rom、ram、prom、eprom、eeprom、磁碟或者光盘等各种可以存储程序代码的介质。
161.以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献