基于云服务的应用开发方法、装置、设备及计算机介质与流程

专利2022-06-29  48


本申请涉及计算机技术领域,尤其涉及一种基于云服务的应用开发方法、装置、设备及计算机介质。



背景技术:

开发第三方应用对开发者有较高的门槛,开发者需要拥有自己的服务器,并将开发的第三方应用部署到服务器,且需进行第三方应用的运行维护;另一方面,在通过业务应用使用开发的第三方应用时,业务应用只与公告网关接口(commongatewayinterface,cgi接口)对接,即需要开发者向业务应用提供第三方应用的cgi,以供业务应用访问或调用第三方应用,此中,第三方应用的开发和运行过程复杂、效率低下。



技术实现要素:

本申请实施例提供一种基于云服务的应用开发方法、装置、设备及计算机介质,用于提升第三方应用开发的效率。

本申请第一方面,提供一种基于云服务的应用开发方法,包括:

获得通过应用开发界面提交的第三方应用,所述应用开发界面是基于云服务实现的;

响应通过应用开发界面触发的应用上线指令,通过设定接口将第三方应用发布到指定的业务应用中,以使所述业务应用调用所述第三方应用,且所述第三方应用运行在基于云服务实现的运行环境中。

在一种可能的实现方式中,所述获得通过应用开发界面提交的第三方应用之后,还包括:

接收应用管理指示;

根据所述应用管理指示对所述第三方应用的代码或代码版本进行如下任一或任多管理操作:删除指定代码、修改指定代码、增添代码、删除代码版本、增添代码版本、修改代码版本。

本申请第二方面,提供一种基于云服务的应用开发装置,包括:

开发单元,用于获得通过应用开发界面提交的第三方应用,所述应用开发界面是基于云服务实现的;

运行单元,用于响应通过应用开发界面触发的应用上线指令,通过设定接口将第三方应用发布到指定的业务应用中,以使所述业务应用调用所述第三方应用,且所述第三方应用运行在基于云服务实现的运行环境中。

在一种可能的实现方式中,所述运行单元还用于:

响应通过应用开发界面触发的应用测试指令,基于云服务为所述第三方应用创建运行环境;

在所述运行环境中对所述第三方应用进行测试。

在一种可能的实现方式中,所述运行单元用于:

将所述第三方应用运行在所述应用测试指令对应的隔离环境中进行测试;或

通过设定接口将第三方应用发布到所述应用测试指令对应的业务应用中,且将所述第三方应用运行在所述运行环境中,以使所述业务应用调用所述第三方应用进行测试。

在一种可能的实现方式中,所述运行单元还用于:

在所述运行环境中对所述第三方应用进行测试之前,接收通过应用测试界面触发的测试部署指令;将所述测试部署指令对应的第三方应用部署到所述运行环境中。

在一种可能的实现方式中,所述开发单元用于:

响应应用开发模板选择操作,在所述应用开发界面上显示应用开发模板;

接收通过所述应用开发模板输入的第三方应用的代码;

响应第三方应用提交指示,基于所述应用开发模板和第三方应用的代码,获得所述第三方应用。

在一种可能的实现方式中,所述开发单元还用于:

所述获得通过应用开发界面提交的第三方应用之后,接收应用管理指示;

根据所述应用管理指示对所述第三方应用的代码或代码版本进行如下任一或任多管理操作:删除指定代码、修改指定代码、增添代码、删除代码版本、增添代码版本、修改代码版本。

在一种可能的实现方式中,所述运行单元还用于:

接收到所述业务应用发送的请求消息;

确定与所述请求消息对应的第三方应用;

若确定存在已运行且空闲的所述第三方应用,则将所述请求消息发送给所述第三方应用进行业务处理。

在一种可能的实现方式中,所述运行单元还用于:

若确定不存在已运行且空闲的所述第三方应用,则在云服务中为所述第三方应用分配执行资源;

调用所述执行资源为所述第三方应用创建业务运行环境并运行所述第三方应用;

将所述请求消息发送通过所述业务运行环境运行的第三方应用进行业务处理。

本申请第三方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面及任一种可能的实施方式中任一所述的方法。

本申请第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如第一方面及任一种可能的实施方式中任一所述的方法。

由于本申请实施例采用上述技术方案,至少具有如下技术效果:

基于云服务实现的应用开发界面获取第三方应用,进而响应应用上线指令,将第三方应用发布到指定的业务应用中以使业务应用调用,此过程中开发者不必向业务应用提供cgi接口,不必提供第三方应用运行环境的基础能力建设,也不必关心第三方应用如何部署和运行,进而将主要精力投入到开发第三方应用本身,进而简化第三方应用开发和运行的过程,提升了第三方应用开发的效率。

附图说明

图1为本申请实施例提供的一种应用场景的示意图;

图2为本申请实施例提供的一种基于云服务的应用开发平台的示意图;

图3为本申请实施例提供的一种应用开发的过程示意图;

图4为本申请实施例提供的一种应用开发界面的示意图;

图5为本申请实施例提供的一种应用代码管理界面的示意图;

图6为本申请实施例提供的一种测试部署界面的示意图;

图7为本申请实施例提供的一种沙箱测试界面的示意图;

图8为本申请实施例提供的一种业务测试界面的示意图;

图9为本申请实施例提供的一种应用上线界面的示意图;

图10为本申请实施例提供的一种请求消息处理的过程示意图;

图11为本申请实施例提供的另一种请求消息处理的过程示意图;

图12为本申请实施例提供的一种调用第三方应用的效果示意图

图13为本申请实施例提供的一种调用第三方应用的效果示意图;

图14为本申请实施例提供的一种调用第三方应用的效果示意图;

图15为本申请实施例提供的一种基于云服务器的应用开发装置的结构示意图;

图16为本申请实施例提供的一种基于云服务器的应用开发装置的实体结构图;

图17为本申请实施例提供的一种终端的结构示意图。

具体实施方式

为了更好的理解本申请实施例提供的技术方案,下面将结合说明书附图以及具体的实施方式进行详细的说明。

为了便于本领域技术人员更好地理解本申请的技术方案,下面对本申请涉及的技术名词进行说明。

第三方应用:开发者开发的应用。

开发者:开发应用的团体或个人,也可以是智能设备如智能开发机器人等。

业务应用:能调用第三方应用的软件应用,可以但不局限于包括即时通讯应用、资讯类应用、音视频类应用等。

云服务技术(cloudtechnology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云服务技术为重要支撑;技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云服务技术来实现。

下面对本申请的设计思想进行说明。

在目前的第三方应用开发过程中常面临如下几点不足:

第一点:目前在第三方应用开发过程中,对开发者有较高的门槛和成本,开发者需要购买服务器,进而将开发的第三方应用部署到服务器,且需进行后续长时间运行维护。

第二点:当开发者将第三方应用与业务应用对接时,需要部署第三方应用,且需要向业务应用提供cgi接口以及第三方应用测试环境和运行环境等基础能力建设,进而业务应用才可以通过cgi接口访问或调用第三方应用。

第三点:每个开发者在开发使用第三方应用的过程中,需要重复购买服务器、进行第三方应用的部署以及基础能力建设,几乎没有复用性,很多开发平台难以实现第三方应用与业务应用的对接,且一个第三方应用对接多个业务应用时,由于每个业务应用开放的接口不一样,开发者需要多次重复进行第三方应用的部署及对接工作,使得第三方应用的开发和运行的效率低下。

第四点:因为开发者往往是个体或者较小的团队,其技术开发能力、资金能力等不足以支撑高昂的服务器的购买费用,以及第三方应用开发需要的技术基础,其第三方应用的服务能力、平行扩展能力、稳定性和安全性都较低。

鉴于此,发明人设计了一种基于云服务的应用开发方法、装置、设备及计算机介质,该方法包括:获得通过应用开发界面提交的第三方应用,进而响应通过应用开发界面触发的应用上线指令,通过设定接口将第三方应用发布到指定的业务应用中,以使业务应用调用第三方应用,且上述第三方应用运行在运行环境中,上述应用开发界面以及运行环境是基于云服务实现的。

上述运行环境可以提供第三方应用运行阶段和/或测试阶段的基础环境支持。

具体地,可以通过设定接口将第三方应用发布到指定的一个或者至少两个业务应用;进一步地,为了便于将第三方应用和业务应用的对接,上述设定接口可以是针对至少两个业务应用通用和开放的接口。

为了更清楚地理解本申请的设计思路,以下提供一种应用场景,请参照图1,该应用场景中包括多个终端100和服务器110,每个终端100中可以安装有应用开发客户端120,应用开发客户端120可以与服务器110之间相互通信。

应用开发客户端可以将开发者通过应用开发界面提交的第三方应用发送给云服务器110,以及将通过开发界面触发的应用测试指令、测试部署指令以及业务应用发送的请求消息等发送给服务器110。

服务器110可以接收第三方应用并管理,以及响应应用测试指令、测试部署指令以及业务应用发送的请求消息等;服务器110可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的多个云服务器130。

终端100可以是移动终端、固定终端或便携式终端,例如移动手机、站点、单元、设备、多媒体计算机、多媒体平板、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、个人通信系统(pcs)设备、个人导航设备、个人数字助理(pda)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或者其任意组合,包括这些设备的配件和外设或者其任意组合,且并不局限于此。终端100以及服务器110可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。

请参见图2,本申请实施例还提供一种基于云服务的应用开发平台200,该应用开发平台是以本实施例下述的应用开发装置1500为基础构建的,该应用开发平台200的客户端可以运行在终端上,该应用开发平台200的功能可以由一个服务器或云服务器或区块链服务器或者服务器集群实现;应用开发平台200主要包括开发模块210和运行模块220,其中:

开发模块210,用于获得通过应用开发界面提交的第三方应用,上述应用开发界面是基于云服务实现的;

运行模块220,用于响应通过应用开发界面触发的应用上线指令,通过设定接口224将第三方应用发布到指定的业务应用中,以使指定的业务应用调用第三方应用,且上述第三方应用运行在基于云服务实现运行环境中。

开发模块210的功能可以由服务器110实现,也可以由云服务器130实现,其直接面向开发者,开发者可以向开发模块提交第三方应用。

开发模块210可以但不局限于提供软件开发工具包(softwaredevelopmentkit,sdk)、该sdk可以用来对接业务应用和访问运行模块提供的后端服务能力,开发者可以基于该sdk开发第三方应用。

开发模块还支持管理第三方应用的代码以及代码版本、支持将第三方应用部署到运行模块220以及将第三方应用发布到业务应用等。

开发模块还可以提供应用开发模板,开发者可以基于应用开发模板开发第三方应用,降低了对开发者的技术要求,进而提升了第三方应用的开发效率。

作为一种实施例,开发模块还可以支持一种或多种开发语言开发第三方应用,以便于降低对开发者的限制和提供应用开发平台的灵活性;上述开发语言可以但不局限于包括java、javascript、python、go、c、c 、php等。

上述运行模块220的功能可以由服务器110实现,也可以由一个或多个云服务器130实现,还可以由服务器集群实现;运行模块支持第三方应用的部署、测试、运行以及调度等,运行模块包括第三方应用的调度管理器221、集群管理器222、后端服务器223,以及对接业务应用的设定接口224等。

作为一种实施例,调度管理器221支持第三方应用的按需自动调度、第三方应用的装载和运行,并且可以对第三方应用的生命周期进行管理;调度管理器221还可以支持第三方应用的一种或多种开发语言、以及第三方应用的自动扩展和灵活伸缩能力。

作为一种实施例,集群管理器222支持服务器资源的管理和调度,可以但不局限于具有容器编排、弹性伸缩、自动部署、服务发现以及负载均衡等一种或多种能力。

作为一种实施例,后端服务器223提供各种后端服务能力,上述后端服务能力可以但不局限于包括数据存储、自然语言处理、语音识别、图像识别、数据爬虫等一种或多种后端服务的能力。

上述设定接口224可以是针对至少两个业务应用通用和开放的接口,运行模块220可以通过设定接口224对接一个业务应用或多个业务应用,以使对接的业务应用能够调用运行的第三方应用。

应当说明的是,实现开发模块功能的服务器也可以是运行模块中的一个服务器,即上述运行模块的功能和开发模块的功能可以由相同的服务器实现。

基于图1的应用场景,或图2所示的应用开发平台,下面对本申请实施例中涉及的应用开发方法进行说明,其执行主体可以但不局限于应用于上述服务器120或云服务器130或实现上述应用开发平台的客户端的服务器等,请参照图3,具体过程如下:

步骤s301,获取通过应用开发界面提交的第三方应用,该应用开发界面是基于云服务实现的。

作为一个实施例,可以接收通过应用开发界面提交的第三方应用的代码包,该代码包为开发者通过支持的开发语言编写的,其中开发语言的描述可参照上述内容,此处不再重复叙述。

作为一种实施例,也可以响应应用开发模板选择操作,在应用开发界面上显示应用开发模板,进而接收通过应用开发模板输入的第三方应用的代码;响应第三方应用提交指示,基于应用开发模板和第三方应用的代码,获得第三方应用。

上述应用开发模板选择操作可以是开发者通过应用开发界面触发的。

对上述应用开发模板不做限定,本领域的技术人员可根据实际需求设置,如根据第三方应用的功能设置即时通讯类应用开发模板、音视频类应用开发模板、智能交互类应用开发模板、导航应用开发模板等。

作为一种实施例,在获得第三方应用后,还可以接收应用管理指示,并根据该应用管理指示对第三方应用的代码或代码版本可以但不局限于进行如下一种或多种管理操作:删除指定代码、修改指定代码、增添代码、删除代码版本、增添代码版本、修改代码版本等。

步骤s302,响应通过应用开发界面触发的应用上线指令,通过设定接口将第三方应用发布到指定的业务应用中,以使指定的业务应用调用上述第三方应用,且上述第三方应用运行在基于云服务实现的运行环境中。

作为一种实施例,为了保证第三方应用的正常运行,在通过设定接口将第三应用发布到指定的业务应用之前,或在发布之后发现第三方应用有缺陷,或者在对第三方应用做出修改后,均可对第三方应用进行测试。

具体地,可以响应通过应用开发界面触发的应用测试指令,基于云服务为第三方应用创建运行环境,进而在运行环境中对第三方应用进行测试。

可选地,在运行环境中对第三方应用进行测试之前,还可以接收通过应用测试界面触发的测试部署指令,进而将测试部署指令对应的第三方应用部署到运行环境中。

作为一种实施例,在对第三方应用进行测试时,还可以根据实际需求设置多种测试方式,本实施例中提供隔离测试和业务应用测试两种测试方式举例,技术人员还可以根据实际需求设置其他测试方式。

针对上述隔离测试,上述应用测试指令包括隔离测试指令,在对第三方应用进行测试时,可以将第三方应用运行在隔离测试指令对应的隔离环境中进行测试;上述隔离测试可以但不局限于为沙箱测试,上述隔离环境可以但不局限于为沙箱环境。

针对上述业务应用测试,上述测试指令还可以包括业务测试指令,在对第三方应用进行测试时,可以通过设定接口将第三方应用发布到业务测试指令对应的业务应用中,且将第三方应用运行在运行环境中,以使业务应用调用上述第三方应用进行测试。

作为一种实施例,由于设定接口可以是通用和开放的接口,因此可以通过设定接口将第三方应用发布到多个不同业务应用中。

响应应用上线指令将第三方应用发布到指定的业务应用后,指定的业务应用中的用户可以在指定的业务应用上看到第三方应用,且可以通过指定的业务应用调用第三方应用。

作为一种实施例,在响应应用上线指令将第三方应用发布到指定的业务应用后,还可以响应通过应用开发界面触发的应用下线指令,将第三方应用从应用下线指令对应的业务应用中下线,在第三方应用从对应的业务应用中下线后,对应的业务应用中的用户便看不到下线的第三方应用,且无法调用已经下线的第三方应用。

以下对本申请实施例涉及到的各操作界面进行说明,以及结合各操作界面实现上述方法的过程进行说明,但应当理解的是,本申请示意出的各操作界面的内容可以根据实际需求改动,且各操作界面的显示方式或显示图案、字体、颜色等均可按需灵活设置,凡涉及到与本实施例示意出的界面或与本实施例的方法原理相同的操作界面的示意图,均属于本申请保护的范围。

请参见图4,本申请实施例提供一种应用开发界面400,开发者可以通过该应用开发界面400上传第三方应用的代码包和/或选择应用开发模板等。

应用开发界面400中包括第三方应用的名称输入框401,第三方应用创建按钮402以及文档教程按键403等,且应用开发界面400中包括首页、开发、测试、发布、查询日志能一个或多个操作模块。

上述名称输入框401可以接收开发者输入的第三方应用的名称,第三方应用创建按钮402可以用于触发创建新的第三方应用,文档教程按键403可以触发显示该应用开发平台的操作教程。

作为一种实施例,开发者点击开发模块下的代码按钮404后可以进入代码包上传界面405,该代码包上传界面中包括sdk版本输入框406,开发者可以通过sdk版本输入框406输入或从已设置的代码的sdk版本中,选择sdk版本是第三方应用对指定的一个或多个接业务应用,以及访问各种后端服务能力。

作为一种实施例,开发者可以通过上传代码包按键407将选择的第三方应用的代码上传到服务器,可以通过提交按键408保存本次操作。

请参见图5,本申请实施例提供一种应用代码管理界面502,作为一种实施例,开发者点击开发模块下的代码按钮404后还可以进入应用模板选择界面,在该模板选择界面显示应用开发模板以供开发者选择。

作为一种实施例,开发者可以通过开发模块下的版本构建按钮501进入应用代码管理界面502,在应用代码管理界面502中可以显示第三方应用的每个代码版本的sdk版本、提交标识、构建状态、创建时间、更新时间、操作中的一个或多个,其中图5中的sdk版本为“1.0.41”仅为示意性的例子。

开发者可以通过在应用代码管理界面502的各种操作触发上述应用管理指示,如可以按需设置提交标识的表示形式,如用二进制字符、八进制字符、十六进制字符等表示提交标识,还可以规定提交标识的字符个数,此处不做过多限定;创建时间和更新时间可自行根据代码版本的创建和更新的时间确定,技术人员可按需求设置创建时间和更新时间的表示方式。

作为一种实施例,开发者可以但不局限于通过查看按键503查看对应代码版本的内容,也可以通过重新构建按键504重新构建对应代码版本的内容,此处不做过多叙述。

应当说明的是,图5中的字符“xxxxxxxx”仅代指各代码版本的提交标识,字符“yyyyyyy”仅代指各代码版本的创建时间和更新时间。

请参见图6,本申请实施例提供一种测试部署界面600,开发者可以通过测试下的测试部署按键601进入测试部署界面600,在测试部署界面600中可以显示第三方应用的代码版本、sdk版本、部署状态、创建时间、更新时间中的一个或多个。

应当说明的是,图6中的字符“xxxxxxxx”仅代指各代码版本的提交标识,字符“yyyyyyy”仅代指各代码版本的创建时间和更新时间。

开发者可以在测试部署界面600中的各种操作触发测试部署指令,如可以以通过代码版本选择框602选择第三方应用的部署的代码版本,也可以通过切换部署按键603实现不同代码版本的部署。

请参见图7,本申请实施例还提供一种沙箱测试界面700,开发者可以通过测试下的沙箱测试按键701进入沙箱测试界面700,开发者可以通过在沙箱测试界面700的操作触发隔离测试指令。

技术人员还可以根据实际需求设置不同的测试类型,如图7所示,开发者可以通过测试类型框702选择或输入测试类型,图7中示意出的测试类型为私聊测试,即测试者和第三方应用“一站到底”进行私下聊天对话。

上述“一站到底”为一个智能机器人应用,可以与测试者或用户进行智能语音对话等。

还可以通过查看日志按键703查看私聊测试的日志,如图7中提供一种私聊测试的日志界面704,在日志界面704中显示有测试者“二聪”与第三方应用“一站到底”的聊天对话记录。

测试者还可以通过内容输入框705输入聊天对话信息,通过发送按键706发送聊天对话信息。

请参见图8,本申请实施例给出一种业务测试界面800,开发者可以通过测试下的应用测试按键801进入业务测试界面800,开发者可以通过在业务测试界面上的操作触发上述业务测试指令,如通过点击上线测试按键803等触发业务测试指令。

开发者可以通过应用选择框802选择测试第三方应用的业务应用,如图8中示意选择第三方应用“一站到底”的业务应用为“呱聊”,上述“呱聊”可以但不局限于为一个智能交互类的业务应用。

开发者可以通过上线测试按键803实现将第三方应用与业务应用对接,即在测试阶段将第三方应用发布到业务应用上,参与测试的测试者可以在业务应用上看到第三方应用,且可以通过业务应用调用第三方应用。

在测试结束,测试者还可以通过下线测试按键804断开第三方应用与业务应用的对接,即将第三方应用从业务应用中下线,此时业务应用中的用户看不到下线的第三方应用,也不能调用下线的第三方应用。

请参见图9,本申请实施例还提供一种应用上线界面900,请参见图9,开发者可以通过发布下的正式上线按键901进入应用上线界面900,并可以通过在应用上线界面900的操作触发上述应用上线指令,如通过正式上线按键903触发应用上线指令,实现将第三方应用与业务应用对接,即在发布阶段将第三方应用正式发布到业务应用上。

作为一种实施例,开发者还可以通过正式下线按键904触发上述应用下线指令,断开第三方应用与业务应用的对接,即将第三方应用从业务应用中正式下线。

开发者该可以通过应用选择框902选择测试第三方应用上线的业务应用,图9中示意选择的业务应用为“yyy”。

本申请实施例还提供一种通过第三方应用处理请求消息过程,可应用于上述服务器120或云服务器或应用开发平台,请参见图10,该过程包括:

步骤s1001,接收业务应用发送的请求消息。

上述业务应用是与上述运行环境对接的业务应用,上述请求消息可以是用户在业务应用中看到第三方应用后,发送的请求消息。

步骤s1002,确定与请求消息对应的第三方应用。

具体地,可以但不局限于根据请求消息的类型或内容等,确定与请求消息匹配的指定第三方应用。

步骤s1003,若确定存在已运行且空闲的上述第三方应用,则将该请求消息发送给上述空闲的第三方应用进行业务处理。

具体地,可以查询在运行环境中确定正在运行的指定第三方应用,进而从运行的指定第三方应用中确定出空闲的指定第三方应用,并将请求消息发送给空闲的指定第三方应用进行处理。

作为一种实施例,在上述步骤s1003中,还可能出现与请求消息对应的第三方应用中,不存在已运行且空闲的,此时,可以在云服务中为与请求消息对应的第三方应用分配执行资源,并调用该执行资源为上述第三方应用创建业务运行环境并运行上述第三方应用,进而将请求消息发送给通过业务运行环境运行的第三方应用进行业务处理。

上述执行资源可以但不局限于为服务器资源。

作为一种实施例,当上述请求消息处理过程应用与上述应用开发平台时,如图11所示,在运行模块进行如下过程:

步骤s1101,调度管理器接收来自业务应用的请求消息,进入步骤s1102。

步骤s1102,调度管理器确定与请求消息对应的第三方应用运行实例中是否存在空闲的,若存在空闲的,则将请求消息转发给空闲的第三方应用运行实例,否则进入步骤s1103。

上述第三方应用实例可以理解为运行的第三方应用。

步骤s1103,调度管理器确定与请求消息对应的第三方应用运行实例中不存在空闲的,则向集群管理器请求分配服务器资源,进入步骤s1104。

上述服务器资源可以但不局限于运行第三方应用实例的服务器。

步骤s1104,集群管理器分配服务器资源,进入步骤s1105。

步骤s1105,服务器资源装载请求消息对应的第三方应用并运行得到新的第三方应用运行实例,进入步骤s1106。

步骤s1106,调度管理器将请求消息发送给新的第三方应用运行实例进行业务处理。

本申请实施例还提供一种第三方应用的使用方法,即运行在运行环境中的第三方应用还可以将自身以查询方式或以其他方式获得的指定消息,自动推送到其发布的业务应用中;如当第三方应用为一个指定信息推荐应用时,其可以自行通过网络搜索获得推荐的指定信息,并将推荐的指定信息发送到业务应用中显示,以使业务应用中的用户获知推荐的指定信息;其中,上述指定信息可以但不局限于为游戏应用信息、物品推荐信息、指定事物价格折扣信息、景点或地点排名信息等。

本申请实施例还提供一种通过业务应用调用第三方应用的效果示意图,请参见图12,“xx业务应用”中的用户1201调用机器人“垃圾分类大冒险”进行智能交互,垃圾分类大冒险机器人可以向用户提问问题,由用户答复,进而垃圾分类大冒险机器人可以对用户的答复验证对错并将验证结果显示给用户,其中上述机器人即为本申请实施例中第三方应用的一种实例。

请参见图13,提供一种比赛型第三方应用“一站到底”的调用效果,多个用户1303可以在业务应用1301中调用业务应用1302,即用户在“萌呱来了!”中调用“一站到底”,进行答题比赛。

请参见图14,提供一种查询型第三方应用“乐高资源查询”的使用效果,用户1402在业务应用1401中创建了一个虚拟房间调用第三方应用1403,即用户“我是二葱”在“默认话题”中创建了一个问答虚拟房间,在问答虚拟房间中调用“乐高资源查询”进行信息的查询,如图中示意出的查询鲜果蛋糕的做法,以及查询浆果的定义等。

本申请实施例中第三方应用的开发过程中是基于云服务架构的不需要开发者购买服务器,且不需要开发者在开发第三方应用后长时间地维持服务器,降低了开发的门槛和成本。

且本申请实施例中由运行环境的设定接口对接一个或多个业务应用,且运行环境是基于云服务实现,其提供了第三方应用测试和运行需要的环境,第三方应用的测试和运行过程中不需要开发者向业务应用提供cgi接口。

本申请实施例中由运行环境可以运行多个第三方应用,第三方应用的部署以及基础能力建设的复用性强,且提供的设定接口可以是对多个业务应用通用和开放的,开发者需要将第三方应用对接多个业务应用时,不需要重复进行第三方应用的部署和对接工作,提高了第三方应用的效率。

本申请实施例中提供的应用开发平台是基于云服务架构的,提高了开发应用平台的服务能力、平行扩展能力、稳定性以及安全性。

请参照图15,基于同一发明构思,本申请实施例提供一种基于云服务器的应用开发装置1500,包括:

开发单元1501,用于获得通过应用开发界面提交的第三方应用,上述应用开发界面是基于云服务实现的;

运行单元1502,用于响应通过应用开发界面触发的应用上线指令,通过设定接口将第三方应用发布到指定的业务应用中,以使上述业务应用调用上述第三方应用,且上述第三方应用运行在基于云服务实现的运行环境中。

作为一种实施例,上述运行单元还用于:

响应通过应用开发界面触发的应用测试指令,基于云服务为上述第三方应用创建运行环境;在上述运行环境中对上述第三方应用进行测试。

作为一种实施例,上述运行单元用于:

将上述第三方应用运行在上述应用测试指令对应的隔离环境中进行测试;或

通过设定接口将第三方应用发布到上述应用测试指令对应的业务应用中,且将上述第三方应用运行在上述运行环境中,以使上述业务应用调用上述第三方应用进行测试。

作为一种实施例,上述运行单元还用于:

在上述运行环境中对上述第三方应用进行测试之前,接收通过应用测试界面触发的测试部署指令;

将上述测试部署指令对应的第三方应用部署到上述运行环境中。

作为一种实施例,上述开发单元用于:

响应应用开发模板选择操作,在上述应用开发界面上显示应用开发模板;

接收通过上述应用开发模板输入的第三方应用的代码;

响应第三方应用提交指示,基于上述应用开发模板和第三方应用的代码,获得上述第三方应用。

作为一种实施例,上述开发单元还用于:

上述获得通过应用开发界面提交的第三方应用之后,接收应用管理指示;

根据上述应用管理指示对上述第三方应用的代码或代码版本进行如下任一或任多管理操作:删除指定代码、修改指定代码、增添代码、删除代码版本、增添代码版本、修改代码版本。

作为一种实施例,上述运行单元还用于:接收到上述业务应用发送的请求消息;确定与上述请求消息对应的第三方应用;

若确定存在已运行且空闲的上述第三方应用,则将上述请求消息发送给上述第三方应用进行业务处理。

作为一种实施例,上述运行单元还用于:

若确定不存在已运行且空闲的上述第三方应用,则在云服务中为上述第三方应用分配执行资源;

调用上述执行资源为上述第三方应用创建业务运行环境并运行上述第三方应用;

将上述请求消息发送通过上述业务运行环境运行的第三方应用进行业务处理。

作为一种实施例,图15中的应用开发装置可以用于实现前文论述的任意一种基于云服务的应用开发方法。

该装置作为硬件实体的一个实例如图16所示,包括处理器1601、存储介质1602以及至少一个外部通信接口1603;上述处理器1601、存储介质1602以及外部通信接口1603均通过总线1604连接。

这里需要指出的是:涉及上述装置的描述,与本申请法描述是类似的,同方法的有益效果描述,不做赘述。对于本申请应用开发装置,实施例中未披露的技术细节,请参照本申请方法实施例的描述。

基于同一发明构思,本申请实施例提供一种终端,该终端可以安装上述开发运行平台的客户端,下面对该终端进行介绍。

请参照图17,该终端100包括显示单元1740、处理器1780以及存储器1720,其中,显示单元1740包括显示面板1741,用于显示由用户输入的代码版本、第三方应用的名称、选择的业务应用等信息,以及应用开发平台提供的各种操作界面等。

可选的,可以采用液晶显示器(liquidcrystaldisplay,lcd)或有机发光二极管oled(organiclight-emittingdiode)等形式来配置显示面板1741。

处理器1780用于读取计算机程序,然后执行计算机程序定义的方法,例如处理器1780读取应用开发平台的各种操作等,从而在该终端100上运行应用开发平台的客户端,在显示单元1740上显示开发应用平台的各种操作界面。处理器1780可以包括一个或多个通用处理器,还可包括一个或多个dsp(digitalsignalprocessor,数字信号处理器),用于执行相关操作,以实现本申请实施例所提供的技术方案。

存储器1720一般包括内存和外存,内存可以为随机存储器(ram),只读存储器(rom),以及高速缓存(cache)等。外存可以为硬盘、光盘、usb盘、软盘或磁带机等。存储器1720用于存储计算机程序和其他数据,该计算机程序包括应用开发平台的客户端对应的程序等,其他数据可包括操作系统或程序被运行后产生的数据,该数据包括系统数据(例如操作系统的配置参数)和用户数据。本申请实施例中程序指令存储在存储器1720中,处理器1780执行存储其中1720中的程序指令,实现前文图论述的任意的一种目标函数确定方法。

此外,终端100还可以包括显示单元1740,用于接收输入的数字信息、字符信息或接触式触摸操作/非接触式手势,以及产生与终端100的用户设置以及功能控制有关的信号输入等。具体地,本申请实施例中,该显示单元1740可以包括显示面板1741。

显示面板1741例如触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔、点击等任何适合的物体或附件在显示面板1741上或在显示面板1741的操作),并根据预先设定的程式驱动相应的连接装置。可选的,显示面板1741可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测玩家的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1780,并能接收处理器1780发来的命令并加以执行。在本申请实施例中,若用户点击被应用开发平台的客户端,则在显示面板1741中的触摸检测装置检测到触摸操作,则将检测到的触摸操作对应的信号发送的触摸控制器,触摸控制器将信号转换成触点坐标发送给处理器1780,处理器1780根据接收到的触点坐标确定用户需要进行的操作。

其中,显示面板1741可以采用电阻式、电容式、红外线以及表面声波等多种类型实现。除了显示单元1740,终端100还可以包括输入单元1730,输入单元1730可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

除以上之外,终端100还可以包括用于给其他模块供电的电源1790、音频电路1760、近场通信模块1770和rf电路1710。终端100还可以包括一个或多个传感器1750,例如加速度传感器、光传感器、压力传感器等。音频电路1760具体包括扬声器1761和麦克风1762等,例如终端100可以通过麦克风1762采集用户的声音,进行相应的操作等。

作为一种实施例,处理器1780的数量可以是一个或多个,处理器1780和存储器1720可以是耦合设置,也可以是相对独立设置。

作为一种实施例,图17中的处理器1780可以用于实现如图15中的开发单元1501和运行单元1502的功能。

作为一种实施例,图17中的处理器1780可以用于实现前文论述的应用开发平台的客户端的功能。

基于同一技术构思,本申请实施例还一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,当上述计算机指令在计算机上运行时,使得计算机执行如前文论述的目标函数确定方法。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

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


技术特征:

1.一种基于云服务的应用开发方法,其特征在于,包括:

获得通过应用开发界面提交的第三方应用,所述应用开发界面是基于云服务实现的;

响应通过应用开发界面触发的应用上线指令,通过设定接口将第三方应用发布到指定的业务应用中,以使所述业务应用调用所述第三方应用,且所述第三方应用运行在基于云服务实现的运行环境中。

2.如权利要求1所述的方法,其特征在于,还包括:

响应通过应用开发界面触发的应用测试指令,基于云服务为所述第三方应用创建运行环境;

在所述运行环境中对所述第三方应用进行测试。

3.如权利要求2所述的方法,其特征在于,所述在所述运行环境中对所述第三方应用进行测试,包括:

将所述第三方应用运行在所述应用测试指令对应的隔离环境中进行测试;或者

通过设定接口将第三方应用发布到所述应用测试指令对应的业务应用中,且将所述第三方应用运行在所述运行环境中,以使所述业务应用调用所述第三方应用进行测试。

4.如权利要求2所述的方法,其特征在于,所述在所述运行环境中对所述第三方应用进行测试之前,还包括:

接收通过应用测试界面触发的测试部署指令;

将所述测试部署指令对应的第三方应用部署到所述运行环境中。

5.如权利要求1所述的方法,其特征在于,所述获得通过所述应用开发界面提交的第三方应用,具体包括:

响应应用开发模板选择操作,在所述应用开发界面上显示应用开发模板;

接收通过所述应用开发模板输入的第三方应用的代码;

响应第三方应用提交指示,基于所述应用开发模板和第三方应用的代码,获得所述第三方应用。

6.如权利要求1~5任一项所述的方法,其特征在于,还包括:

接收到所述业务应用发送的请求消息;

确定与所述请求消息对应的第三方应用;

若确定存在已运行且空闲的所述第三方应用,则将所述请求消息发送给所述第三方应用进行业务处理。

7.如权利要求6所述的方法,其特征在于,还包括:

若确定不存在已运行且空闲的所述第三方应用,则在云服务中为所述第三方应用分配执行资源;

调用所述执行资源为所述第三方应用创建业务运行环境并运行所述第三方应用;

将所述请求消息发送通过所述业务运行环境运行的第三方应用进行业务处理。

8.一种基于云服务的应用开发装置,其特征在于,包括:

开发单元,用于获得通过应用开发界面提交的第三方应用,所述应用开发界面是基于云服务实现的;

运行单元,用于响应通过应用开发界面触发的应用上线指令,通过设定接口将第三方应用发布到指定的业务应用中,以使所述业务应用调用所述第三方应用,且所述第三方应用运行在基于云服务实现的运行环境中。

9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-7中任一权利要求所述方法的步骤。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如权利要求1-7中任一项所述的方法。

技术总结
本申请提供一种基于云服务的应用开发方法、装置、设备及计算机介质,涉及计算机技术领域,用以提升第三方应用开发的效率。该方法包括:获得通过应用开发界面提交的第三方应用,所述应用开发界面是基于云服务实现的;响应通过应用开发界面触发的应用上线指令,通过设定接口将第三方应用发布到指定的业务应用中,以使所述业务应用调用所述第三方应用,且所述第三方应用运行在基于云服务实现的运行环境中。该方法中开发者不必向业务应用提供CGI接口,也不必提供第三方应用的运行环境的基础能力建设,进而提升应用开发运行的效率。

技术研发人员:谢代斌;谢磊;张亚乐;曹一聪
受保护的技术使用者:腾讯科技(深圳)有限公司
技术研发日:2020.02.03
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-29531.html

最新回复(0)