一种云端应用无服务架构实现系统及方法技术方案

技术编号:30435253 阅读:13 留言:0更新日期:2021-10-24 17:34
本发明专利技术公开了一种云端应用无服务架构实现系统及方法,系统包括HTTP触发器模块、函数服务模块以及数据库服务模块。HTTP触发器模块用于实时监测用户通过浏览器向网络发出的http请求,并触发函数服务的启动和关闭,有http请求时触发函数服务,一段时间内没有http请求时函数服务关闭;函数服务模块用于对用户发出的http请求进行处理,即拉取云端前端代码并通过HTTP触发器模块返给浏览器;数据库服务模块用于存储浏览器执行云端前端代码时所需的其他数据。本发明专利技术通过HTTP触发器实时监听函数服务的状态实现自动的扩缩容,当无网络请求时能将函数服务个数缩减到0个,彻底释放云端的资源,从而实现资源的有效利用。从而实现资源的有效利用。从而实现资源的有效利用。

【技术实现步骤摘要】
一种云端应用无服务架构实现系统及方法


[0001]本专利技术涉及一种云端应用无服务架构实现系统及方法,属于云端无服务架构实现


技术介绍

[0002]现在的前端项目部署需要在云端一直启动至少一个容器,用户通过浏览器访问容器获取前端静态文件在浏览器上展示。其缺点是在不管当前有没有用户访问都需要一直开启这个容器,浪费云端的资源。
[0003]针对上述缺点,前端部署的行业现状是通过启动web容器响应用户网络请求。现有Faas技术是对无状态函数在云端执行,通过函数触发器来对云端的函数实例进行动态扩缩容。但函数的执行还是需要消耗云端的资源,因此现有技术不能最大化节省云端资源。

技术实现思路

[0004]本专利技术所要解决的技术问题是:提供一种云端应用无服务架构实现系统及方法,本专利技术通过动态扩缩容在没有用户访问的时候将容器数量缩减到零个,从而减少云端资源的浪费。
[0005]本专利技术为解决上述技术问题采用以下技术方案:
[0006]一种云端应用无服务架构实现系统,该系统包括HTTP触发器模块、函数服务模块以及数据库服务模块;
[0007]所述HTTP触发器模块用于实时监测用户通过浏览器向网络发出的http请求,并在监测到http请求时,拦截该http请求,同时检查正在运行中的函数服务实例中是否有可用的函数服务,若没有可用的函数服务,则启动一个新的函数服务实例;若有可用的函数服务,则将该http请求转交给函数服务模块;
[0008]所述函数服务模块用于对用户发出的http请求进行处理,即拉取云端前端代码并通过HTTP触发器模块返回给浏览器;
[0009]所述HTTP触发器模块还用于将函数服务模块返回的云端前端代码转交给浏览器;
[0010]所述数据库服务模块用于存储浏览器执行云端前端代码时所需的其他数据;
[0011]所述HTTP触发器模块还用于在启动一个新的函数服务实例的同时,启动一个对应该函数服务实例的定时器,在定时器到达指定时间内,若该函数服务实例没有被派发新的http请求,则到达指定时间时,HTTP触发器模块关闭该函数服务实例,释放云端资源;在定时器到达指定时间内,若该函数服务实例被派发新的http请求,则HTTP触发器模块重置定时器,使定时器重新计时。
[0012]作为本专利技术系统的一种优选方案,所述指定时间配置为2分钟。
[0013]一种云端应用无服务架构实现方法,基于所述云端应用无服务架构实现系统实现,该方法包括如下步骤:
[0014]步骤1,用户通过浏览器向网络发出http请求;
[0015]步骤2,HTTP触发器模块实时监测用户发出的http请求,在监测到http请求时,拦截该http请求,同时检查正在运行中的函数服务实例中是否有可用的函数服务,若没有,则进行步骤3,若有,则进行步骤4;
[0016]步骤3,HTTP触发器模块启动一个新的函数服务实例,同时,启动一个对应该函数服务实例的定时器,在定时器到达指定时间内,若该函数服务实例没有被派发新的http请求,则进行步骤5,若该函数服务实例被派发新的http请求,则进行步骤6;
[0017]步骤4,将用户发出的http请求转交给函数服务模块,函数服务模块对http请求进行处理,即拉取云端前端代码并通过HTTP触发器模块返回给浏览器;
[0018]步骤5,到达指定时间时,HTTP触发器模块关闭该函数服务实例,释放云端资源;
[0019]步骤6,HTTP触发器模块重置定时器,使定时器重新计时。
[0020]作为本专利技术方法的一种优选方案,所述指定时间配置为2分钟。
[0021]一种计算机设备,包括存储器、处理器,以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述云端应用无服务架构实现方法的步骤。
[0022]一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述云端应用无服务架构实现方法的步骤。
[0023]本专利技术采用以上技术方案与现有技术相比,具有以下技术效果:
[0024]1、本专利技术通过HTTP触发器实时监听函数服务的状态实现自动的扩缩容,当无网络请求时能将函数服务个数缩减到0个,彻底释放云端的资源,从而实现资源的有效利用
[0025]2、本专利技术充分利用了浏览器的高性能的特点将计算任务分到用户侧来减轻云端压力。
附图说明
[0026]图1是本专利技术一种云端应用无服务架构实现方法的整体架构图。
具体实施方式
[0027]下面详细描述本专利技术的实施方式,所述实施方式的示例在附图中示出。下面通过参考附图描述的实施方式是示例性的,仅用于解释本专利技术,而不能解释为对本专利技术的限制。
[0028]本专利技术通过网络请求将函数实例传输到用户浏览器,通过浏览器去执行对应的函数和方法,从而最大程度节省云端资源。最大程度前端项目在云端的资源利用率,充分利用用户浏览器的资源,降低云端服务的资源利用压力。
[0029]本专利技术提供的一种云端应用无服务架构实现系统主要包括HTTP触发器模块、函数服务模块以及数据库服务模块。
[0030]HTTP触发器主要负责实时监听浏览器请求,触发函数服务的启动和关闭,有http请求的时候触发函数服务,当一段时间内没有http请求的时候函数服务关闭。
[0031]函数服务主要负责拉取云端前端代码并通过HTTP触发器返回给浏览器数据库服务主要负责正常业务的数据请求和云端存储。
[0032]如图1所示,为本专利技术提供的一种云端应用无服务架构实现方法的架构图,实现方法具体如下:
[0033]1、用户通过浏览器访问web应用;
[0034]2、HTTP触发器拦截http请求并检查正在运行中的函数服务实例中是否有可用的函数服务(若当前启动的函数服务都繁忙则视为没有可用的函数服务)。没有进行步骤3,有则进行步骤4;
[0035]3、HTTP触发器启动一个函数服务实例;
[0036]4、HTTP触发器将网络请求转交给函数服务,函数服务处理请求并将前端代码返回给触发器;
[0037]5、触发器将函数服务返回的结果转交给浏览器;
[0038]6、浏览器执行前端代码时,如需要其他数据,可请求数据库服务模块中保存的数据;
[0039]7、函数服务在一段时间内没接受到任何请求将自动关闭,释放云端资源。
[0040]函数服务自动关闭实现方式:HTTP触发器在启动函数服务的同时会启动一个定时器,当定时器达到指定时间后该函数服务没有任何请求派发到就会启动关闭程序,当到达指定时间内有派发请求,该定时器的时间会被重置并重新计时。指定时间:用户可配置,默认2分钟。
[0041]函数服务会在一段时间空闲后自动关闭并释放云端资源,在繁忙的时候会自动扩容,从而达到充分利用云端资源的效果。
[0042]函数服务只会讲前端代码本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种云端应用无服务架构实现系统,其特征在于,该系统包括HTTP触发器模块、函数服务模块以及数据库服务模块;所述HTTP触发器模块用于实时监测用户通过浏览器向网络发出的http请求,并在监测到http请求时,拦截该http请求,同时检查正在运行中的函数服务实例中是否有可用的函数服务,若没有可用的函数服务,则启动一个新的函数服务实例;若有可用的函数服务,则将该http请求转交给函数服务模块;所述函数服务模块用于对用户发出的http请求进行处理,即拉取云端前端代码并通过HTTP触发器模块返回给浏览器;所述HTTP触发器模块还用于将函数服务模块返回的云端前端代码转交给浏览器;所述数据库服务模块用于存储浏览器执行云端前端代码时所需的其他数据;所述HTTP触发器模块还用于在启动一个新的函数服务实例的同时,启动一个对应该函数服务实例的定时器,在定时器到达指定时间内,若该函数服务实例没有被派发新的http请求,则到达指定时间时,HTTP触发器模块关闭该函数服务实例,释放云端资源;在定时器到达指定时间内,若该函数服务实例被派发新的http请求,则HTTP触发器模块重置定时器,使定时器重新计时。2.根据权利要求1所述云端应用无服务架构实现系统,其特征在于,所述指定时间配置为2分钟。3.一种云端应用无服务架构实现方法,基于权利要求1所述云端应用无服务架构实现系统实现,其特征在于,该方法包括如下步骤:步骤1,用户通过浏览器向网络发出http请...

【专利技术属性】
技术研发人员:钱晓林
申请(专利权)人:的卢技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1