CN113656001A - 平台组件开发方法、装置、计算机设备及存储介质 - Google Patents
平台组件开发方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN113656001A CN113656001A CN202110973239.7A CN202110973239A CN113656001A CN 113656001 A CN113656001 A CN 113656001A CN 202110973239 A CN202110973239 A CN 202110973239A CN 113656001 A CN113656001 A CN 113656001A
- Authority
- CN
- China
- Prior art keywords
- platform
- configuration information
- interface
- platform component
- component
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及计算机技术领域,提供一种平台组件开发方法、装置、计算机设备及存储介质,所述方法包括:获取平台组件的交互配置信息和功能配置信息;根据交互配置信息,生成交互接口,以通过交互接口实现平台组件与其他平台组件的交互;根据功能配置信息,生成功能接口,以通过功能接口实现平台组件提供的功能。与现有技术相比,本发明分别通过平台组件的交互配置信息和功能配置信息,自动生成平台组件的交互接口和功能接口,使用户通过简单的配置即可生成所需的平台组件,降低了开发平台组件的技术门槛和开发成本。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种平台组件开发方法、装置、计算机设备及存储介质。
背景技术
算法工程师及大数据从业人员通常需要开发多种不同的组件以满足用户需求,但是用户的需求复杂多变,并且一般不大具有组件及平台工具开发能力。而且进行组件开发往往需要深入了解平台的框架代码结构,还需要配合平台的发布流程,开发所需的技术门槛和开发成本均非常高。
发明内容
本发明的目的在于提供了一种平台组件开发方法、装置、计算机设备及存储介质,其能够降低开发平台组件的技术门槛和开发成本。
为了实现上述目的,本发明采用的技术方案如下:
第一方面,本发明提供一种平台组件开发方法,所述方法包括:获取平台组件的交互配置信息和功能配置信息;根据所述交互配置信息,生成交互接口,以通过所述交互接口实现所述平台组件与其他平台组件的交互;根据所述功能配置信息,生成功能接口,以通过所述功能接口实现所述平台组件提供的功能。
第二方面,本发明提供一种平台组件开发装置,所述装置包括:获取模块,用于获取平台组件的交互配置信息和功能配置信息;生成模块,用于根据所述交互配置信息,生成交互接口,以通过所述交互接口实现所述平台组件与其他平台组件的交互;生成模块,还用于根据所述功能配置信息,生成功能接口,以通过所述功能接口实现所述平台组件提供的功能。
第三方面,本发明提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上述的平台组件开发方法。
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述的平台组件开发方法。
与现有技术相比,本发明首先获取平台组件的交互配置信息和功能配置信息,根据交互配置信息,生成交互接口,通过交互接口实现平台组件与其他平台组件的交互;根据功能配置信息,生成功能接口,以通过功能接口实现平台组件提供的功能,本发明分别通过平台组件的交互配置信息和功能配置信息,自动生成平台组件的交互接口和功能接口,使用户通过简单的配置即可生成所需的平台组件,降低了开发平台组件的技术门槛和开发成本。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的一种平台组件开发方法的流程示意图。
图2为本发明实施例提供的另一种平台组件开发方法的流程示意图。
图3为本发明实施例提供的另一种平台组件开发方法的流程示意图。
图4为本发明实施例提供的remote支持的配置的界面示例图。
图5为本发明实施例提供的remote支持配置的实现过程的示例图。
图6为本发明实施例提供的输入节点的callback支持配置的实现过程的示例图。
图7为本发明实施例提供的输出节点的callback支持配置的实现过程的示例图。
图8为本发明实施例提供的多个平台组件之间交互的示例图。
图9为本发明实施例提供的另一种平台组件开发方法的流程示意图。
图10为本发明实施例提供的平台组件的后端配置更新的实现过程的示例图。
图11为本发明实施例提供的平台组件配置的界面示例图。
图12为本发明实施例提供的对参数进行验证的实现过程的示例图。
图13为本发明实施例提供的对bert-demo平台组件进行配置的示例图。
图14为本发明实施例提供的声明使用控件的示例图。
图15为本发明实施例提供的使用控件生成的组件配置的页面的示例图。
图16为本发明实施例提供的另一种平台组件开发方法的流程示意图。
图17为本发明实施例提供的另一种平台组件开发方法的流程示意图。
图18为本发明实施例提供的另一种平台组件开发方法的流程示意图。
图19示出了本发明实施例提供的平台组件开发装置的方框示意图。
图20为本发明实施例提供的计算机设备的方框示意图。
图标:10-计算机设备;11-处理器;12-存储器;13-总线;14-通信接口;100-平台组件开发装置;110-获取模块;120-生成模块;130-更新模块;140-设置模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
为了提高开发效率,算法工程师及大数据从业人员一般都会在特定场景下的开发平台上进行工作,例如,在人工智能应用场景下,一种具体的开发平台可以是机器学习平台,该开发平台提供可视化的环境,用户通过不同的组件关联,以及组件的各种配置,完成例如数据清洗、数据分析、查询、模型训练等大数据任务,一个组件可以实现一个相对独立的功能,通过多个组件的交互,可以实现更复杂的功能。
在现有的基于平台的开发过程中,经常会遇到如下问题:
(1)一般平台提供的组件都是固定的,仅能满足通用的功能需要。如果用户想实现自己的功能需求,需要向平台提供申请,由平台管理人员进行排期开发。而且对于比较特殊的需求,可能不会得到满足。如果用户自己开发平台组件,不但需要深入了解平台的框架代码结构,还需要配合平台的发布流程,甚至还有安全性问题,导致开发成本非常高。
(2)对于用户自定义的平台组件,如果想继续使用该平台组件或者分享给他人使用,他人使用该平台组件时,仅需要做细微改动即可满足需求,现有的平台无法满足该功能。
(3)每个平台组件具有不同的参数,且参数数量也比较多,甚至可多达上百个,并且不同参数的类型也可能不一样,参数的数量大且类型多导致平台组件的开发非常繁琐,开发周期长。
(4)平台组件的功能实现的逻辑发生变化时,对该平台组件的影响较大,甚至需要重新开发平台组件,导致平台组件的维护成本增加。
有鉴于此,本发明实施例提供一种平台组件开发方法、装置、计算机设备及存储介质,用于解决上述问题,下面将对其进行详细描述。
请参考图1,本实施例提供了一种平台组件开发方法的流程示意图。该方法包括以下步骤:
步骤S100,获取平台组件的交互配置信息和功能配置信息。
在本实施例中,交互配置信息用于确定平台组件和其他平台组件的交互方式,包括、但不限于交互的数据类型及交互类型,例如,数据类型是csv类型还是hive类型,交互类型可以类型的个数,例如,交互类型包括3种类型:数据类型;模型类型及文件类型等。
在本实施例中,功能配置信息用于确定平台组件实现的功能,功能配置信息包括、但不限于用于实现功能的后端功能模块的相关信息,例如,后端功能模块的地址,调用入口及调用参数等。
步骤S110,根据交互配置信息,生成交互接口,以通过交互接口实现平台组件与其他平台组件的交互。
在本实施例中,平台组件与其他平台组件的交互可以是输入与输出的关系,例如,平台组件的输入可以来自于其他平台组件的输出,平台组件的输出也可以是其他平台组件的输入。
步骤S120,根据功能配置信息,生成功能接口,以通过功能接口实现平台组件提供的功能。
在本实施例中,平台组件的配置和实现平台组件的功能的模块可以是相互独立的,平台组件的配置也称为前端配置,实现平台组件的功能的模块也称为后端功能模块,前端配置可以通过类或者函数的调用后端功能模块,以实现平台组件提供的功能。
需要说明的是,交互配置信息和功能配置信息均可以是由用户自行设计的一套组件参数及节点配置语法,例如yaml格式或者xml格式等。
本发明实施例提供的上述方法,分别通过平台组件的交互配置信息和功能配置信息,自动生成平台组件的交互接口和功能接口,使用户通过简单的配置即可生成所需的平台组件,降低了开发平台组件的技术门槛和开发成本。
在图1的基础上,本发明实施例还提供了一种生成交互接口中输入接口的具体实现方式,请参照图2,图2为本发明实施例提供的另一种平台组件开发方法的流程示意图,步骤S110包括以下子步骤:
子步骤S1101,根据每一输入节点的输入类型,生成每一输入节点的输入接口,以通过每一输入节点的输入接口将每一输入节点的输入数据的类型转换为每一输入节点的输入类型。
在本实施例中,输入节点可以有多个,对应的输入接口也可以有多个,各输入节点的输入类型可以不同,根据每一输入节点的输入类型,生成该输入节点的输入接口,该输入接口可以将该输入节点的输入数据的类型转换为该输入节点的输入类型,将来自于不同其他平台组件的输入类型的输入数据转换成该平台组件所需的输入类型,由此可以更方便地实现平台组件和其他平台组件的交互,也方便后端功能模块实现的统一性。
在图1的基础上,本发明实施例还提供了一种生成交互接口中输出接口的具体实现方式,请参照图3,图3为本发明实施例提供的另一种平台组件开发方法的流程示意图,步骤S110还包括以下子步骤:
子步骤S1102,根据每一输出节点的输出类型,生成每一输出节点的输出接口,以通过每一输出节点的输出接口将每一输出节点的输出数据的类型转换为每一输出节点的输出类型。
在本实施例中,输出节点可以有多个,对应的输出接口也可以有多个,各输出节点的输出类型可以不同,根据每一输出节点的输出类型,生成该输出节点的输出接口,该输出接口可以将该输出节点的输出数据的类型转换为该输出节点的输出类型,将平台组件的输出转换为其他平台组件所需的类型,由此可以更方便地实现平台组件和其他平台组件的交互,也方便后端功能模块实现的统一性。
作为一种具体实现方式,输入节点和输出节点均提供了remote支持配置和callback支持配置,其中,remote支持可以在平台组件进行配置(交互配置和功能配置)时支持实时预览数据格式的功能,实时预览方便用户定制化平台组件的前端界面,请参照图4,图4为本发明实施例提供的remote支持的配置的界面示例图,图4中,用户可以拖拽XQL组件或者bert-demo组件等方式建立两者之间的关联,即XQL组件的输出数据作为bert-demo组件的输入数据,remote支持可以使用户在界面上对XQL组件的输出数据中的字段进行预览并提供用户从预览字段中进行选择的功能,由此不需要在bert-demo运行后才能获取用户想要的数据,方便用户进行操作。请参照图5,图5为本发明实施例提供的remote支持配置的实现过程的示例图,图5中,平台组件会自动根据配置,从其他平台组件获取输入数据(输入数据也称上游输入数据)的信息。图5中,可以通过在平台上建立其他平台组件的输出节点和本平台组件的输入节点之间的关系,建立该关系的方式可以通过在平台上对本平台组件或者其他平台组件进行拖拽、拉线,也可以通过对本平台组件进行关系配置等方式实现。
在本实施例中,callback支持提供了平台组件对数据输入、数据输出时进行统一处理成可识别的通用格式的功能,请参照图6,图6为本发明实施例提供的输入节点的callback支持配置的实现过程的示例图,图6中,数据输入时统一转换为csv格式,请参照图7,图7为本发明实施例提供的输出节点的callback支持配置的实现过程的示例图,图7中,数据输出时统一转换成hive格式,此外,图7中还可以通过columns配置指定输出详细字段及字段格式,以方便其他平台组件将本平台组件的输出作为自身的输入。
需要说明的是,根据实际场景的需要,平台组件可以只有输入接口,也可以只有输出接口,也可以既有输入接口也有输出接口,用于可以根据实际需要进行设定,为了更清楚地说明平台组件和其他平台组件的交互,请参照图8,图8为本发明实施例提供的多个平台组件之间交互的示例图,图8中,每一个矩形框表示一个平台组件,两个矩形框之间的有向箭头表示数据流动方向,例如,“基础样本数据”的输出数据为“XQL组件”的输入数据,矩形框边的空心圆圈表示该平台组件的输入节点,矩形框边的实心圆圈表示该平台组件的输出节点。
在图1的基础上,本发明实施例还提供了一种生成功能接口的具体实现方式,请参照图9,图9为本发明实施例提供的另一种平台组件开发方法的流程示意图,步骤S120还包括以下子步骤:
子步骤S1201,根据后端功能模块的地址、调用入口及调用参数,生成功能接口,以通过功能接口,将平台组件的输入数据及调用参数作为调用入口的输入参数调用后端功能模块。
在本实施例中,后端功能模块用于实现平台组件提供的功能,为了使平台组件的配置和功能相互分离,尽量减少二者的耦合,以免在配置发生变化时影响功能,或者功能发生变化时影响配置,配置和功能之间通过功能接口实现交互,只要功能接口不发生变化,则配置和功能就不会相互影响,配置也称为前端,功能也称为后端。
在本实施例中,调用入口是后端功能模块对外提供的交互入口,调用入口可以是入口类,也可以是入口文件,调用参数是调用功能接口时需要输入的输入参数。
作为一种具体实施方式,后端功能模块的实现环境可以包括spark环境和非spark环境两种,spark是专为大规模数据处理而设计的快速通用的计算引擎,非spark环境可以是Hadoop等,Hadoop实现了一个分布式文件系统,提供海量数据的存储和计算。针对这2种环境,本发明实施例分别提供自动打包工具和git仓库绑定,以方便用户开发自己的平台组件的代码后可快速打包上线。通过将git仓库打包镜像,在前端界面中更新配置,提供了后端逻辑的实时更新。用户可以通过组件配置界面,更新对应的后端功能模块的版本即可实现平台组件后端功能的更新。
作为一种具体实施方式,后端功能模块的运行环境至少有2种:(1)yarn运行环境;(2)需要独立的GPU或者特殊的运行环境(C包、python包等),对于(1),可以采用spark-jar的代码编写模式。用户按照平台给出的框架结构,编写完成后。调用平台的发布命令mvn,就会将编译后的jar包发布到平台指定hdfs路径上。平台运行平台组件时,会以spark class_path方式调用该jar,实现平台组件功能。同时,由于使用class_path指定运行路径,用户可以方便的在自己的jar中添加各种依赖甚至升级spark的版本而不影响平台整体运行。对于(2),通过平台的镜像打包系统,将用户编写的代码及相关依赖打包到docker镜像中。平台组件运行时,通过k8s服务申请相关的资源,运行完毕会实现资源释放并将输出的数据同步到平台组件的下游组件(平台组件的下游组件即将平台组件的输出作为其自身输入的组件)。
上述两种方式均实现了统一封装。用户开发平台组件时,可以选择组件功能模板spark或docker。平台提供了一整套发布流程。用户只要在代码中添加想要的依赖,并在相应的git仓库进行push,平台会自动将对应的jar或镜像进行打包和部署。用户只要在组件后端的配置中,填写对应的最新版本即可实现平台组件的后端功能更新。由此保证了用户开发后端功能的独立性。同时,用户更新后端代码时,仅需要在组件的配置界面更新版本即可完成;并通过版本管理实现了全平台组件统一更新或者新平台组件的版本更新等。降低了组件后端功能的开发成本,以及已使用组件的版本管理。请参照图10,图10为本发明实施例提供的平台组件的后端配置更新的实现过程的示例图。
在本实施例中,交互配置信息和功能配置信息均包括多个配置项,对于交互配置信息和功能配置信息的更新可以是增加新的配置项,也可以是删除现有的配置项,还可以是对配置项的值进行更新,当然,除了交互配置信息和功能配置信息之外,还可以包括平台组件的基本信息,基本信息包括的配置项可以是平台组件的名称、平台组件的负责人等信息,请参照图11,图11为本发明实施例提供的平台组件配置的界面示例图。
还需要说明的是,针对配置信息中的配置项(也称参数),为了保证用户输入配置项的准确性,避免错误输入或者误输入,还可以通过正则表达式的形式对参数进行验证,请参照图12,图12为本发明实施例提供的对参数进行验证的实现过程的示例图。
为了更清楚地说明平台组件的配置过程,请参照图13,图13为本发明实施例提供的对bert-demo平台组件进行配置的示例图。
还需要说明的是,对于一些比较复杂的配置信息的配置方式,比如调用通用的系统服务,或者其他有特殊需求的配置方式,可以使用widget控件实现,Widget代表UI界面中一些特殊的控件,可以实现比较复杂的功能。可以利用widget控件将比较复杂的功能进行封装,得到实现特定功能的控件,对于使用者隐藏其具体实现,用户在开发平台组件时可以通过声明直接使用该控件。请参照图14和图15,图14为本发明实施例提供的声明使用控件的示例图,图15为本发明实施例提供的使用控件生成的组件配置的页面的示例图。
在本实施例中,为了更方便地复用已经开发的平台组件,本发明实施例还提供了一种基于已经开发的平台组件生成对应的平台组件模板的具体实现方式,请参照图16,图16为本发明实施例提供的另一种平台组件开发方法的流程示意图,该方法包括以下步骤:
步骤S200,根据交互配置信息和功能配置信息,生成平台组件模板。
在本实施例中,当需要开发新的平台组件时,可以通过继承满足需要的平台组件模板,基于该平台组件模板自动生成新的平台组件,用户只需要在新的平台组件的基础上进行修改即可得到满足实际需要的平台组件,由此可以大大缩短平台组件开发周期,降低平台组件的开发成本,通过更新平台组件模板可以实现批量更新平台组件,减少了平台组件维护的工作量。
在本实施例中,为了便于对平台组件的更新进行管理,本发明实施例还提供了一种通过版本号管理平台组件的具体实现方式,请参照图17,图17为本发明实施例提供的另一种平台组件开发方法的流程示意图,该方法包括以下步骤:
步骤S300,当平台组件更新时,更新版本号。
在本实施例中,每次平台组件更新时,其对应的版本号也随之更新,并且开发平台会存储平台组件的所有历史版本号,根据版本号,用户可以找到历史版本的特定版本号的平台组件,可以将平台组件恢复到特定版本号。
在本实施例中,如果同一平台组件在不同任务中已经使用,针对该平台组件的功能更新或者配置更新后,更新后的平台组件可能导致不兼容。此时可以通过发布不同版本号的平台组件来解决兼容问题。同一平台组件的不同的版本号可以对应不同的配置以及后端功能模块。
在本实施例中,为了提高对平台组件访问的安全性,本发明实施例还提供了一种根据组件状态设置其访问权限的具体实现方式,请参照图18,图18为本发明实施例提供的另一种平台组件开发方法的流程示意图,该方法包括以下步骤:
步骤S400,根据组件状态设置平台组件的访问权限。
在本实施例中,访问权限可以包括特定用户访问、禁止访问、所有用户访问等。组件状态可以为测试状态、废弃状态及发布状态,可以为不同的组件状态设置不同的访问权限,例如,对于测试状态的平台组件仅可为组件的开发者自己访问;对于废弃状态的平台组件对于所有人均不可访问;发布状态组件所有人均可以访问。可以理解的是,也可以根据实际需要设置其他状态及对应的访问权限,例如,组件状态还可以包括开发状态,开发状态对应的访问权限可以为开发者具有可读写访问权限且其余用户具有只读访问权限。
为了执行上述实施例及各个可能的实施方式中平台组件开发方法的相应步骤,下面给出一种平台组件开发装置100的实现方式。请参照图19,图19示出了本发明实施例提供的平台组件开发装置100的方框示意图。需要说明的是,本实施例所提供的平台组件开发装置,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及指出。
平台组件开发装置100包括获取模块110、生成模块120、更新模块130及设置模块140。
获取模块110,用于获取平台组件的交互配置信息和功能配置信息。
生成模块120,用于根据交互配置信息,生成交互接口,以通过交互接口实现平台组件与其他平台组件的交互。
生成模块120,还用于根据功能配置信息,生成功能接口,以通过功能接口实现平台组件提供的功能。
作为一种具体实现方式,交互配置信息包括输入节点的个数及每一输入节点的输入类型,生成模块120具体用于:根据每一输入节点的输入类型,生成每一输入节点的交互接口的输入接口,以通过每一输入节点的输入接口将每一输入节点的输入数据的类型转换为每一输入节点的输入类型。
作为一种具体实现方式,交互配置信息还包括输出节点的个数及每一输出节点的输出类型,生成模块120具体还用于:根据每一输出节点的输出类型,生成每一输出节点的交互接口的输出接口,以通过每一输出节点的输出接口将每一输出节点的输出数据的类型转换为每一输出节点的输出类型。
作为一种具体实现方式,平台组件还包括后端功能模块,所述功能配置信息包括后端功能模块的地址,调用入口及调用参数,生成模块120具体用于:根据后端功能模块的地址、调用入口及调用参数,生成功能接口,以通过功能接口,将平台组件的输入数据及调用参数作为调用入口的输入参数调用后端功能模块。
作为一种具体实现方式,生成模块120还用于:根据交互配置信息和功能配置信息,生成平台组件模板。
更新模块130,用于当平台组件更新时,更新版本号。
设置模块140,用于根据组件状态设置平台组件的访问权限。
本发明实施例还给出了计算机设备10的方框示意图,请参照图20,图10为本发明实施例提供的计算机设备10的方框示意图,计算机设备10包括处理器11、存储器12、总线13、通信接口14。处理器11、存储器12通过总线13连接,处理器11通过通信接口14与外部设备通信。
处理器11可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器11中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器11可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器12用于存储程序,例如本发明实施例中的平台组件开发装置100,平台组件开发装置100均包括至少一个可以软件或固件(firmware)的形式存储于存储器12中的软件功能模块,处理器11在接收到执行指令后,执行所述程序以实现本发明实施例中的平台组件开发方法。
存储器12可能包括高速随机存取存储器(RAM:Random Access Memory),也可能还包括非易失存储器(non-volatile memory)。可选地,存储器12可以是内置于处理器11中的存储装置,也可以是独立于处理器11的存储装置。
总线13可以是ISA总线、PCI总线或EISA总线等。图20仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述的平台组件开发方法。
综上所述,本发明实施例提供了一种平台组件开发方法、装置、计算机设备及存储介质,所述方法包括:获取平台组件的交互配置信息和功能配置信息;根据所述交互配置信息,生成交互接口,以通过所述交互接口实现所述平台组件与其他平台组件的交互;根据所述功能配置信息,生成功能接口,以通过所述功能接口实现所述平台组件提供的功能。与现有技术相比,本发明实施例分别通过平台组件的交互配置信息和功能配置信息,自动生成平台组件的交互接口和功能接口,使用户通过简单的配置即可生成所需的平台组件,降低了开发平台组件的技术门槛和开发成本。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种平台组件开发方法,其特征在于,所述方法包括:
获取平台组件的交互配置信息和功能配置信息;
根据所述交互配置信息,生成交互接口,以通过所述交互接口实现所述平台组件与其他平台组件的交互;
根据所述功能配置信息,生成功能接口,以通过所述功能接口实现所述平台组件提供的功能。
2.如权利要求1所述的平台组件开发方法,其特征在于,所述交互配置信息包括输入节点的个数及每一所述输入节点的输入类型,所述根据所述交互配置信息,生成所述交互接口的步骤包括:
根据每一所述输入节点的输入类型,生成每一所述输入节点的所述交互接口的输入接口,以通过每一所述输入节点的所述输入接口将每一所述输入节点的输入数据的类型转换为所述每一所述输入节点的输入类型。
3.如权利要求1所述的平台组件开发方法,其特征在于,所述交互配置信息还包括输出节点的个数及每一所述输出节点的输出类型,所述根据所述交互配置信息,生成所述交互接口的步骤还包括:
根据每一所述输出节点的输出类型,生成每一所述输出节点的所述交互接口的输出接口,以通过每一所述输出节点的所述输出接口将每一所述输出节点的输出数据的类型转换为所述每一所述输出节点的输出类型。
4.如权利要求1所述的平台组件开发方法,其特征在于,所述平台组件还包括后端功能模块,所述功能配置信息包括后端功能模块的地址,调用入口及调用参数,所述根据所述功能配置信息,生成所述功能接口的步骤包括:
根据所述后端功能模块的地址、调用入口及调用参数,生成所述功能接口,以通过所述功能接口,将所述平台组件的输入数据及所述调用参数作为所述调用入口的输入参数调用所述后端功能模块。
5.如权利要求1所述的平台组件开发方法,其特征在于,所述方法还包括:
根据所述交互配置信息和所述功能配置信息,生成平台组件模板。
6.如权利要求1所述的平台组件开发方法,其特征在于,所述平台组件还包括版本号,所述方法还包括:
当所述平台组件更新时,更新所述版本号。
7.如权利要求1所述的平台组件开发方法,其特征在于,所述平台组件还包括组件状态,所述方法还包括:
根据所述组件状态设置所述平台组件的访问权限。
8.一种平台组件开发装置,其特征在于,所述装置包括:
获取模块,用于获取平台组件的交互配置信息和功能配置信息;
生成模块,用于根据所述交互配置信息,生成交互接口,以通过所述交互接口实现所述平台组件与其他平台组件的交互;
生成模块,还用于根据所述功能配置信息,生成功能接口,以通过所述功能接口实现所述平台组件提供的功能。
9.一种计算机设备,包括存储器和处理器,其特征在于,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的平台组件开发方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-7中任一项所述的平台组件开发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110973239.7A CN113656001A (zh) | 2021-08-24 | 2021-08-24 | 平台组件开发方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110973239.7A CN113656001A (zh) | 2021-08-24 | 2021-08-24 | 平台组件开发方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113656001A true CN113656001A (zh) | 2021-11-16 |
Family
ID=78481751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110973239.7A Pending CN113656001A (zh) | 2021-08-24 | 2021-08-24 | 平台组件开发方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113656001A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113900723A (zh) * | 2021-12-08 | 2022-01-07 | 深圳市明源云科技有限公司 | 公共平台更新方法、网络设备及可读存储介质 |
CN114995792A (zh) * | 2022-07-19 | 2022-09-02 | 深圳市星卡软件技术开发有限公司 | 汽车诊断设备的组件化开发方法、设备、介质及电子设备 |
-
2021
- 2021-08-24 CN CN202110973239.7A patent/CN113656001A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113900723A (zh) * | 2021-12-08 | 2022-01-07 | 深圳市明源云科技有限公司 | 公共平台更新方法、网络设备及可读存储介质 |
CN113900723B (zh) * | 2021-12-08 | 2022-04-08 | 深圳市明源云科技有限公司 | 公共平台更新方法、网络设备及计算机可读存储介质 |
CN114995792A (zh) * | 2022-07-19 | 2022-09-02 | 深圳市星卡软件技术开发有限公司 | 汽车诊断设备的组件化开发方法、设备、介质及电子设备 |
CN114995792B (zh) * | 2022-07-19 | 2023-03-14 | 深圳市星卡软件技术开发有限公司 | 汽车诊断设备的组件化开发方法、设备、介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107766126B (zh) | 容器镜像的构建方法、系统、装置及存储介质 | |
CN111078315B (zh) | 微服务编排、执行方法及系统、架构、设备、存储介质 | |
US10237138B2 (en) | System architecture for cloud-platform infrastructure layouts | |
CN108304201B (zh) | 对象更新方法、装置及设备 | |
CN114115852A (zh) | 可视化服务编排方法、装置、设备及介质 | |
CN110825362A (zh) | 低代码应用软件开发系统及方法 | |
KR101795844B1 (ko) | 런타임 시스템 | |
WO2018036342A1 (zh) | 基于csar的模型文件的可视化设计方法及装置 | |
WO2018126964A1 (zh) | 任务执行方法、装置和服务器 | |
WO2023093414A1 (zh) | 微应用的开发方法、装置、设备、存储介质及程序产品 | |
US10666744B2 (en) | Managing discovery and selection of service interface specifications | |
CN113656001A (zh) | 平台组件开发方法、装置、计算机设备及存储介质 | |
US20220214931A1 (en) | System and method for exposing features of integration platform adapters as first-class actions in an orchestration template | |
CN112948110B (zh) | 云应用的拓扑与编排系统、方法、存储介质及电子设备 | |
US12019617B2 (en) | Data quality enforcement as a service invoked using descriptive language | |
CN114254606A (zh) | 微服务框架模型 | |
CN113448678A (zh) | 应用信息生成方法、部署方法及装置、系统、存储介质 | |
CN115268861A (zh) | 自定义组件的引入方法、系统、设备和存储介质 | |
CN108228161B (zh) | 一种扩展结构化命令行的系统和方法 | |
Baldassari et al. | PROTOB a hierarchical object-oriented CASE tool for distributed systems | |
WO2023124657A1 (zh) | 微应用的运行方法、装置、设备、存储介质及程序产品 | |
CN115964042A (zh) | 菜单的生成方法及装置、存储介质、电子设备 | |
CN115774573A (zh) | 应用集成方法、装置、电子设备和存储介质 | |
CN110908767A (zh) | 一种参数自动部署方法和装置 | |
CN115576663A (zh) | 一种边缘控制器的动态部署方法、终端及存储介质 |
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 |