CN113360172A - 应用部署方法、装置、计算机设备及存储介质 - Google Patents

应用部署方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN113360172A
CN113360172A CN202110733892.6A CN202110733892A CN113360172A CN 113360172 A CN113360172 A CN 113360172A CN 202110733892 A CN202110733892 A CN 202110733892A CN 113360172 A CN113360172 A CN 113360172A
Authority
CN
China
Prior art keywords
deployment
application
container
preset
request
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
CN202110733892.6A
Other languages
English (en)
Other versions
CN113360172B (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.)
Shandong Huashu Information Technology Co ltd
Original Assignee
Ping An Puhui Enterprise Management 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 Ping An Puhui Enterprise Management Co Ltd filed Critical Ping An Puhui Enterprise Management Co Ltd
Priority to CN202110733892.6A priority Critical patent/CN113360172B/zh
Publication of CN113360172A publication Critical patent/CN113360172A/zh
Application granted granted Critical
Publication of CN113360172B publication Critical patent/CN113360172B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请实施例属于云技术领域,涉及一种应用部署方法,包括获取预设划分比例,按照所述预设划分比例从目标部署容器中划分得到动态部署容器;在接收到应用的服务请求时,获取所述服务请求的请求参数;根据预设拦截器确定所述请求参数是否与预设的目标参数一致,在所述请求参数与所述目标参数一致时,拦截所述服务请求,并将所述动态部署容器作为所述应用的部署容器;获取所述动态部署容器的部署资源,根据所述部署资源将所述应用部署在所述动态部署容器中。本申请还提供一种应用部署装置、计算机设备及存储介质。此外,本申请还涉及区块链技术,部署资源可存储于区块链中。本申请实现了应用的高效部署,提高了应用部署的稳定性及安全性。

Description

应用部署方法、装置、计算机设备及存储介质
技术领域
本申请涉及云技术领域,尤其涉及一种应用部署方法、装置、计算机设备及存储介质。
背景技术
当前,APP版本在迭代升级时,针对整套发版流程,一般是在服务端部署完成后,设置生产验证的白名单,根据白名单登录新版APP验证当前版本新加的功能。在版本验证通过后,基于后端对APP进行再一次的部署,并开放全部的用户白名单,最后把新版APP发送到应用市场供所有用户升级。
然而,这种方式需要服务端部署两次,并针对白名单用户验证新版APP,之后再针对全量用户开放部署,由此导致在APP在版本更新迭代时,容易出现冗余,最终导致APP部署效率低下的问题。
发明内容
本申请实施例的目的在于提出一种应用部署方法、装置、计算机设备及存储介质,以解决应用部署效率低下的技术问题。
为了解决上述技术问题,本申请实施例提供一种应用部署方法,采用了如下所述的技术方案:
获取预设划分比例,按照所述预设划分比例从目标部署容器中划分得到动态部署容器;
在接收到应用的服务请求时,获取所述服务请求的请求参数;
根据预设拦截器确定所述请求参数是否与预设的目标参数一致,在所述请求参数与所述目标参数一致时,拦截所述服务请求,并将所述动态部署容器作为所述应用的部署容器;
获取所述动态部署容器的部署资源,根据所述部署资源将所述应用部署在所述动态部署容器中。
进一步的,在所述根据预设拦截器确定所述请求参数是否与预设的目标参数一致的步骤之前,还包括:
获取所述动态部署容器的容器标识,将所述容器标识作为所述目标参数设置在所述预设拦截器中。
进一步的,所述获取所述动态部署容器的部署资源的步骤包括:
调用服务端和应用端之间的对接接口;
根据所述请求参数和所述对接接口,从所述服务端获取所述动态部署容器的部署资源。
进一步的,所述调用服务端和应用端之间的对接接口的步骤包括:
获取所述对接接口的接口字段标识;
在所述接口字段标识为预设标识,且接收到所述服务端返回的与所述请求参数一致的服务参数时,确定所述对接接口调用成功。
进一步的,在所述根据预设拦截器确定所述请求参数是否与预设的目标参数一致的步骤之后,还包括:
在所述请求参数与所述目标参数不一致时,发送所述服务请求至所述目标部署容器中的默认容器;
基于所述默认容器处理所述服务请求,其中,所述默认容器的容量大于等于所述动态部署容器。
进一步的,在所述根据所述部署资源将所述应用部署在所述动态部署容器中的步骤之后,还包括:
在所述应用部署完成时,对服务端和应用端分别进行异常检测;
在所述服务端和所述应用端的异常检测完成时,确定是否接到测试报错信息,若接收到所述测试报错信息,关闭所述动态部署容器的容量。
进一步的,在所述对服务端和应用端分别进行异常检测的步骤之后,还包括:
在所述异常检测完成时,若接收到测试通过信息,打包所述动态部署容器中所述应用的部署数据;
基于所述服务端将所述部署数据同步至由所述目标部署容器划分得到的另一个容器中。
为了解决上述技术问题,本申请实施例还提供一种应用部署装置,采用了如下所述的技术方案:
划分模块,用于获取预设划分比例,按照所述预设划分比例从目标部署容器中划分得到动态部署容器;
获取模块,用于在接收到应用的服务请求时,获取所述服务请求的请求参数;
拦截模块,用于根据预设拦截器确定所述请求参数是否与预设的目标参数一致,在所述请求参数与所述目标参数一致时,拦截所述服务请求,并将所述动态部署容器作为所述应用的部署容器;
部署模块,用于获取所述动态部署容器的部署资源,根据所述部署资源将所述应用部署在所述动态部署容器中。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
获取预设划分比例,按照所述预设划分比例从目标部署容器中划分得到动态部署容器;
在接收到应用的服务请求时,获取所述服务请求的请求参数;
根据预设拦截器确定所述请求参数是否与预设的目标参数一致,在所述请求参数与所述目标参数一致时,拦截所述服务请求,并将所述动态部署容器作为所述应用的部署容器;
获取所述动态部署容器的部署资源,根据所述部署资源将所述应用部署在所述动态部署容器中。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
获取预设划分比例,按照所述预设划分比例从目标部署容器中划分得到动态部署容器;
在接收到应用的服务请求时,获取所述服务请求的请求参数;
根据预设拦截器确定所述请求参数是否与预设的目标参数一致,在所述请求参数与所述目标参数一致时,拦截所述服务请求,并将所述动态部署容器作为所述应用的部署容器;
获取所述动态部署容器的部署资源,根据所述部署资源将所述应用部署在所述动态部署容器中。
本申请通过获取预设划分比例,按照预设划分比例从目标部署容器中划分得到动态部署容器,根据从目标部署容器中划分得到的动态部署容器可以对应用进行部署,而不占用大量的容器资源,避免在异常时对大批量用户同时造成影响;之后,在接收到应用的服务请求时,获取服务请求的请求参数;根据预设拦截器确定请求参数是否与预设的目标参数一致,在请求参数与目标参数一致时,拦截服务请求,并将动态部署容器作为应用的部署容器,在请求参数与目标参数一致时,可以确定当前服务请求为应用部署的服务请求;而后,获取动态部署容器的部署资源,根据部署资源将应用部署在动态部署容器中,实现了应用的高效部署,避免了在出现异常时,对大范围的用户同时造成影响,进一步提高了应用部署的稳定性及安全性。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性系统架构图;
图2根据本申请的应用部署方法的一个实施例的流程图;
图3是根据本申请的应用部署装置的一个实施例的结构示意图;
图4是根据本申请的计算机设备的一个实施例的结构示意图。
附图标记:应用部署装置300、划分模块301、获取模块302、拦截模块303以及部署模块304。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving PictureExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(MovingPictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的应用部署方法一般由服务器/终端设备执行,相应地,应用部署装置一般设置于服务器/终端设备中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的应用部署的方法的一个实施例的流程图。所述的应用部署方法,包括以下步骤:
步骤S201,获取预设划分比例,按照所述预设划分比例从目标部署容器中划分得到动态部署容器;
在本实施例中,预设划分比例为预先设定的容器容量的划分比例。根据该预设划分比例对目标部署容器进行划分,可以将目标部署容器划分为两个容量不同的容器。具体地,获取预设划分比例,执行目标部署容器对应的划分指令,根据该划分指令和预设划分比例,将目标部署容器划分为两个不同容量的容器。其中,目标部署容器为当前服务端对应的应用部署容器,划分得到的容量较小的容器为动态部署容器。根据该动态部署容器可以对应用进行高效部署,并且通过对容器的容量进行划分,可以对用户的访问量进行限制。其中,该用户的访问量即接收到的服务请求量,容量较小的容器用户的访问量较小,容量较大的容器用户的访问量则较大。
步骤S202,在接收到应用的服务请求时,获取所述服务请求的请求参数;
在本实施例中,在接收到应用的服务请求时,解析该服务请求即可得到应用的入参参数,该入参参数即为该服务请求的请求参数。其中,服务请求按照类型可以分为普通服务请求和应用部署服务请求,不同的类型的服务请求则对应不同的请求参数。
步骤S203,根据预设拦截器确定所述请求参数是否与预设的目标参数一致,在所述请求参数与所述目标参数一致时,拦截所述服务请求,并将所述动态部署容器作为所述应用的部署容器;
在本实施例中,预设拦截器为预先设定的请求拦截器,根据该预设拦截器可以对目标类型的服务请求进行拦截。具体地,在得到请求参数时,根据预设拦截器确定该请求参数是否与预设的目标参数一致,该目标参数为动态部署容器的容器标识。若该请求参数与该容器标识(即目标参数)一致,即表示当前服务请求为应用部署的服务请求,根据预设拦截器对该服务请求进行拦截;若该请求参数与该容器标识(即目标参数)不一致,则表示当前服务请求非该应用部署的服务请求,为普通服务请求,此时无需对该服务请求进行拦截。进一步的,在该请求参数与容器标识(即目标参数)一致时,确定该应用的部署容器为目标部署容器中的动态部署容器。
除此之外,在接收到请求参数之前,亦可无需预先对该目标部署容器的容量进行划分。具体地,接收应用的服务请求,在接收到该服务请求时,获取该服务请求的请求参数;而后根据预设拦截器确定该请求参数是否为目标参数,在该请求参数为目标参数时,对该服务请求进行拦截,并对目标部署容器的容量按照预设划分比例进行划分,确定其中容量较小的容器为动态部署容器;根据该动态部署容器对应用进行部署。
步骤S204,获取所述动态部署容器的部署资源,根据所述部署资源将所述应用部署在所述动态部署容器中。
在本实施例中,在确定应用的部署容器为动态部署容器时,获取该动态部署容器的部署资源,其中,部署资源为容器的部署环境,根据该部署资源可以将应用部署在该动态部署容器中。
需要强调的是,为进一步保证上述部署资源的私密和安全性,上述部署资源还可以存储于一区块链的节点中。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本申请实现了应用的高效部署,避免了在出现异常时,对大范围的用户同时造成影响,进一步提高了应用部署的稳定性及安全性。
在本实施例的一些可选的实现方式中,在上述根据预设拦截器确定所述请求参数是否与预设的目标参数一致之前,还包括:
获取所述动态部署容器的容器标识,将所述容器标识作为所述目标参数设置在所述预设拦截器中。
在本实施例中,在通过预设拦截器对请求参数为目标参数的服务请求进行拦截之前,需要对该预设拦截器进行设置,使得通过该预设拦截器能够拦截到请求参数为目标参数的服务请求。具体地,预设拦截器为每个网络请求框架都有的功能,如android端用的okhttp请求框架。获取动态部署容器的容器标识,将该容器标识作为目标参数设置在该预设拦截器中,在通过该预设拦截器对服务请求进行拦截时,若该服务请求的请求参数与该目标参数一致,则对该服务请求进行拦截。
本实施例通过预先将容器标识作为目标参数设置在预设拦截器中,使得通过预设拦截器能够对请求参数与该容器标识一致的请求进行快速而精确地拦截,进一步提高了应用部署的效率。
在本实施例的一些可选的实现方式中,上述获取所述动态部署容器的部署资源包括:
调用服务端和应用端之间的对接接口;
根据所述请求参数和所述对接接口,从所述服务端获取所述动态部署容器的部署资源。
在本实施例中,在服务端和应用端预先设置有对接接口,通过该对接接口即可调用到请求参数对应的动态部署容器的部署资源。例如,该请求参数为A,A对应的动态部署容器则为容器A,在获取动态部署容器A的部署资源时,则调用服务端和应用端之间的对接接口的接口代码,根据该接口代码和该请求参数从动态部署容器A中获取对应的部署资源。
本实施例通过对接接口获取部署资源,使得通过部署资源能够对应用进行安全部署,提高了应用部署的安全性。
在本实施例的一些可选的实现方式中,上述调用服务端和应用端之间的对接接口包括:
获取所述对接接口的接口字段标识;
在所述接口字段标识为预设标识,且接收到所述服务端返回的与所述请求参数一致的服务参数时,确定所述对接接口调用成功。
在本实施例中,对接接口的调用表示应用端通过对接接口向服务端发送动态部署容器的容器资源的获取请求。在根据对接接口获取部署资源时,还可以通过获取对接接口的接口字段标识,根据该接口字段标识确定对接接口是否调用成功,从而提高对容器的部署资源调用的安全性。具体地,在调用对接接口时,通过对接接口向服务端发送具有请求参数的部署资源获取请求。若对接接口调用成功,接口字段标识则会表示为预设标识,且会收到服务端返回的与发送的请求参数一致的服务参数;若对接接口调用失败,接口字段标识则会表示为失败标识,并且不会收到服务端返回的服务参数。该接口字段标识为接口的字段控制标识,若该接口字段标识与预设标识一致,且接收到服务端返回的与请求参数一致的服务参数,则确定对接接口调用成功;若该接口字段标识与预设标识不一致,且未接收到服务端返回的与请求参数一致的服务参数,则确定对接接口调用失败。例如,预先设定code标识为接口字段标识,200为预设标识,请求参数为A,在code==200且收到服务端返回的服务参数为A时,则确定对接接口调用成功。
本实施例通过接口字段标识和服务参数对对接接口的调用进行确定,实现了对对接接口的安全调用,进一步提高了对容器的部署资源调用的安全性。
在本实施例的一些可选的实现方式中,在上述根据预设拦截器确定所述请求参数是否与预设的目标参数一致之后,还包括:
在所述请求参数与所述目标参数不一致时,发送所述服务请求至所述目标部署容器中的默认容器;
基于所述默认容器处理所述服务请求,其中,所述默认容器的容量大于等于所述动态部署容器。
在本实施例中,在请求参数与目标参数不一致时,即表示当前服务请求为普通服务请求,而非应用部署的服务请求。因此,在请求参数与目标参数不一致时,发送该服务请求至目标部署容器中的默认容器。该默认容器即为根据预设划分比例对目标部署容器划分得到,除动态部署容器以外的另一个容器,目标部署容器由该默认容器和动态部署容器组成。其中,该默认容器的容量大于或等于动态部署容器的容量,根据默认容器可以处理非应用部署请求以外的所有请求。
本实施例通过在请求参数与目标参数不一致时,将服务请求发送至默认容器,根据默认容器对服务请求进行处理,提高了对不同服务请求的处理效率,减少了客户端和服务端的工作量,减少了代码冗余。
在本实施例的一些可选的实现方式中,在上述根据所述部署资源将所述应用部署在所述动态部署容器中之后,还包括:
在所述应用部署完成时,对服务端和应用端分别进行异常检测;
在所述服务端和所述应用端的异常检测完成时,确定是否接到测试报错信息,若接收到所述测试报错信息,关闭所述动态部署容器的容量。
在本实施例中,在应用部署完成时,分别对应用端和服务端进行异常测试。具体的,对于应用端,获取与该应用关联的预设测试用例,执行该预设测试用例,根据该预设测试用例对应用的功能进行测试;若预设测试用例执行完成并返回测试失败结果,则确定应用端存在测试异常。对于服务端,监控服务端的接口日志信息,根据该接口日志信息确定是否存在异常信息;若接口日志信息中记录有异常指标,则确定服务端存在测试异常。在对服务端和应用端的异常检测完成时,若该服务端和应用端任意一端存在测试异常,则提示测试报错信息,关闭动态部署容器的容量。除此之外,在提示测试报错信息时,还可以将该原本动态部署容器的容量全部分配给根据目标部署容器划分得到的另一个容器(即默认容器)。
本实施例通过在应用部署完成时,对应用端和服务端进行异常检测,实现了对部署情况的及时检测,以及对部署容器容量的重新分配,进一步提高了部署效率。
在本实施例的一些可选的实现方式中,在上述对服务端和应用端分别进行异常检测之后,还包括:
在所述异常检测完成时,若接收到测试通过信息,打包所述动态部署容器中所述应用的部署数据;
基于所述服务端将所述部署数据同步至由所述目标部署容器划分得到的另一个容器中。
在本实施例中,在对服务端和应用端的异常检测完成时,若接收到测试通过信息,则表示服务端和应用端均测试通过。打包动态部署容器对该应用部署时的部署数据,该部署数据为将应用部署在动态部署容器后的所有数据。在该部署数据打包完成时,将该部署数据通过服务端同步至根据目标部署容器划分得到的另一个容器(即默认容器)中。
本实施例通过在异常检测完成时,将部署数据同步至划分的另一个容器中,实现了对应用的安全和高效部署。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
进一步参考图3,作为对上述图2所示方法的实现,本申请提供了一种应用部署装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图3所示,本实施例所述的应用部署装置300包括:划分模块301、获取模块302、拦截模块303以及部署模块304。其中:
划分模块301,用于获取预设划分比例,按照所述预设划分比例从目标部署容器中划分得到动态部署容器;
在本实施例中,预设划分比例为预先设定的容器容量的划分比例。根据该预设划分比例对目标部署容器进行划分,可以将目标部署容器划分为两个容量不同的容器。具体地,获取预设划分比例,执行目标部署容器对应的划分指令,根据该划分指令和预设划分比例,将目标部署容器划分为两个不同容量的容器。其中,目标部署容器为当前服务端对应的应用部署容器,划分得到的容量较小的容器为动态部署容器。根据该动态部署容器可以对应用进行高效部署,并且通过对容器的容量进行划分,可以对用户的访问量进行限制。其中,该用户的访问量即接收到的服务请求量,容量较小的容器用户的访问量较小,容量较大的容器用户的访问量则较大。
获取模块302,用于在接收到应用的服务请求时,获取所述服务请求的请求参数;
在本实施例中,在接收到应用的服务请求时,解析该服务请求即可得到应用的入参参数,该入参参数即为该服务请求的请求参数。其中,服务请求按照类型可以分为普通服务请求和应用部署服务请求,不同的类型的服务请求则对应不同的请求参数。
拦截模块303,用于根据预设拦截器确定所述请求参数是否与预设的目标参数一致,在所述请求参数与所述目标参数一致时,拦截所述服务请求,并将所述动态部署容器作为所述应用的部署容器;
在本实施例中,预设拦截器为预先设定的请求拦截器,根据该预设拦截器可以对目标类型的服务请求进行拦截。具体地,在得到请求参数时,根据预设拦截器确定该请求参数是否与预设的目标参数一致,该目标参数为动态部署容器的容器标识。若该请求参数与该容器标识(即目标参数)一致,即表示当前服务请求为应用部署的服务请求,根据预设拦截器对该服务请求进行拦截;若该请求参数与该容器标识(即目标参数)不一致,则表示当前服务请求非该应用部署的服务请求,为普通服务请求,此时无需对该服务请求进行拦截。进一步的,在该请求参数与容器标识(即目标参数)一致时,确定该应用的部署容器为目标部署容器中的动态部署容器。
除此之外,在接收到请求参数之前,亦可无需预先对该目标部署容器的容量进行划分。具体地,接收应用的服务请求,在接收到该服务请求时,获取该服务请求的请求参数;而后根据预设拦截器确定该请求参数是否为目标参数,在该请求参数为目标参数时,对该服务请求进行拦截,并对目标部署容器的容量按照预设划分比例进行划分,确定其中容量较小的容器为动态部署容器;根据该动态部署容器对应用进行部署。
部署模块304,用于获取所述动态部署容器的部署资源,根据所述部署资源将所述应用部署在所述动态部署容器中。
在本实施例的一些可选的实现方式中,部署模块304包括:
调用单元,用于调用服务端和应用端之间的对接接口;
获取单元,用于根据所述请求参数和所述对接接口,从所述服务端获取所述动态部署容器的部署资源。
在本实施例的一些可选的实现方式中,调用单元包括:
获取子单元,用于获取所述对接接口的接口字段标识;
确认子单元,用于在所述接口字段标识为预设标识,且接收到所述服务端返回的与所述请求参数一致的服务参数时,确定所述对接接口调用成功。
在本实施例中,在确定应用的部署容器为动态部署容器时,获取该动态部署容器的部署资源,其中,部署资源为容器的部署环境,根据该部署资源可以将应用部署在该动态部署容器中。
需要强调的是,为进一步保证上述部署资源的私密和安全性,上述部署资源还可以存储于一区块链的节点中。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
在本实施例的一些可选的实现方式中,上述应用部署装置300还包括:
设置模块,用于获取所述动态部署容器的容器标识,将所述容器标识作为所述目标参数设置在所述预设拦截器中。
在本实施例中,在通过预设拦截器对请求参数为目标参数的服务请求进行拦截之前,需要对该预设拦截器进行设置,使得通过该预设拦截器能够拦截到请求参数为目标参数的服务请求。具体地,预设拦截器为每个网络请求框架都有的功能,如android端用的okhttp请求框架。获取动态部署容器的容器标识,将该容器标识作为目标参数设置在该预设拦截器中,在通过该预设拦截器对服务请求进行拦截时,若该服务请求的请求参数与该目标参数一致,则对该服务请求进行拦截。
发送模块,用于在所述请求参数与所述目标参数不一致时,发送所述服务请求至所述目标部署容器中的默认容器;
处理模块,用于基于所述默认容器处理所述服务请求,其中,所述默认容器的容量大于等于所述动态部署容器。
在本实施例中,在请求参数与目标参数不一致时,即表示当前服务请求为普通服务请求,而非应用部署的服务请求。因此,在请求参数与目标参数不一致时,发送该服务请求至目标部署容器中的默认容器。该默认容器即为根据预设划分比例对目标部署容器划分得到,除动态部署容器以外的另一个容器,目标部署容器由该默认容器和动态部署容器组成。其中,该默认容器的容量大于或等于动态部署容器的容量,根据默认容器可以处理非应用部署请求以外的所有请求。
检测模块,用于在所述应用部署完成时,对服务端和应用端分别进行异常检测;
确认模块,用于在所述服务端和所述应用端的异常检测完成时,确定是否接到测试报错信息,若接收到所述测试报错信息,关闭所述动态部署容器的容量。
在本实施例中,在应用部署完成时,分别对应用端和服务端进行异常测试。具体的,对于应用端,获取与该应用关联的预设测试用例,执行该预设测试用例,根据该预设测试用例对应用的功能进行测试;若预设测试用例执行完成并返回测试失败结果,则确定应用端存在测试异常。对于服务端,监控服务端的接口日志信息,根据该接口日志信息确定是否存在异常信息;若接口日志信息中记录有异常指标,则确定服务端存在测试异常。在对服务端和应用端的异常检测完成时,若该服务端和应用端任意一端存在测试异常,则提示测试报错信息,关闭动态部署容器的容量。除此之外,在提示测试报错信息时,还可以将该原本动态部署容器的容量全部分配给根据目标部署容器划分得到的另一个容器(即默认容器)。
打包模块,用于在所述异常检测完成时,若接收到测试通过信息,打包所述动态部署容器中所述应用的部署数据;
同步模块,用于基于所述服务端将所述部署数据同步至由所述目标部署容器划分得到的另一个容器中。
在本实施例中,在对服务端和应用端的异常检测完成时,若接收到测试通过信息,则表示服务端和应用端均测试通过。打包动态部署容器对该应用部署时的部署数据,该部署数据为将应用部署在动态部署容器后的所有数据。在该部署数据打包完成时,将该部署数据通过服务端同步至根据目标部署容器划分得到的另一个容器(即默认容器)中。
本实施例提出的应用部署装置,实现了应用的高效部署,避免了在出现异常时,对大范围的用户同时造成影响,进一步提高了应用部署的稳定性及安全性。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。
所述计算机设备6包括通过系统总线相互通信连接存储器61、处理器62、网络接口63。需要指出的是,图中仅示出了具有组件61-63的计算机设备6,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable GateArray,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器61至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器61可以是所述计算机设备6的内部存储单元,例如该计算机设备6的硬盘或内存。在另一些实施例中,所述存储器61也可以是所述计算机设备6的外部存储设备,例如该计算机设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。当然,所述存储器61还可以既包括所述计算机设备6的内部存储单元也包括其外部存储设备。本实施例中,所述存储器61通常用于存储安装于所述计算机设备6的操作系统和各类应用软件,例如应用部署方法的计算机可读指令等。此外,所述存储器61还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器62在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器62通常用于控制所述计算机设备6的总体操作。本实施例中,所述处理器62用于运行所述存储器61中存储的计算机可读指令或者处理数据,例如运行所述应用部署方法的计算机可读指令。
所述网络接口63可包括无线网络接口或有线网络接口,该网络接口63通常用于在所述计算机设备6与其他电子设备之间建立通信连接。
本实施例提出的计算机设备,实现了应用的高效部署,避免了在出现异常时,对大范围的用户同时造成影响,进一步提高了应用部署的稳定性及安全性。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的应用部署方法的步骤。
本实施例提出的计算机可读存储介质,实现了应用的高效部署,避免了在出现异常时,对大范围的用户同时造成影响,进一步提高了应用部署的稳定性及安全性。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。

Claims (10)

1.一种应用部署方法,其特征在于,包括下述步骤:
获取预设划分比例,按照所述预设划分比例从目标部署容器中划分得到动态部署容器;
在接收到应用的服务请求时,获取所述服务请求的请求参数;
根据预设拦截器确定所述请求参数是否与预设的目标参数一致,在所述请求参数与所述目标参数一致时,拦截所述服务请求,并将所述动态部署容器作为所述应用的部署容器;
获取所述动态部署容器的部署资源,根据所述部署资源将所述应用部署在所述动态部署容器中。
2.根据权利要求1所述的应用部署方法,其特征在于,在所述根据预设拦截器确定所述请求参数是否与预设的目标参数一致的步骤之前,还包括:
获取所述动态部署容器的容器标识,将所述容器标识作为所述目标参数设置在所述预设拦截器中。
3.根据权利要求1所述的应用部署方法,其特征在于,所述获取所述动态部署容器的部署资源的步骤包括:
调用服务端和应用端之间的对接接口;
根据所述请求参数和所述对接接口,从所述服务端获取所述动态部署容器的部署资源。
4.根据权利要求3所述的应用部署方法,其特征在于,所述调用服务端和应用端之间的对接接口的步骤包括:
获取所述对接接口的接口字段标识;
在所述接口字段标识为预设标识,且接收到所述服务端返回的与所述请求参数一致的服务参数时,确定所述对接接口调用成功。
5.根据权利要求1所述的应用部署方法,其特征在于,在所述根据预设拦截器确定所述请求参数是否与预设的目标参数一致的步骤之后,还包括:
在所述请求参数与所述目标参数不一致时,发送所述服务请求至所述目标部署容器中的默认容器;
基于所述默认容器处理所述服务请求,其中,所述默认容器的容量大于等于所述动态部署容器。
6.根据权利要求1所述的应用部署方法,其特征在于,在所述根据所述部署资源将所述应用部署在所述动态部署容器中的步骤之后,还包括:
在所述应用部署完成时,对服务端和应用端分别进行异常检测;
在所述服务端和所述应用端的异常检测完成时,确定是否接到测试报错信息,若接收到所述测试报错信息,关闭所述动态部署容器的容量。
7.根据权利要求6所述的应用部署方法,其特征在于,在所述对服务端和应用端分别进行异常检测的步骤之后,还包括:
在所述异常检测完成时,若接收到测试通过信息,打包所述动态部署容器中所述应用的部署数据;
基于所述服务端将所述部署数据同步至由所述目标部署容器划分得到的另一个容器中。
8.一种应用部署装置,其特征在于,包括:
划分模块,用于获取预设划分比例,按照所述预设划分比例从目标部署容器中划分得到动态部署容器;
获取模块,用于在接收到应用的服务请求时,获取所述服务请求的请求参数;
拦截模块,用于根据预设拦截器确定所述请求参数是否与预设的目标参数一致,在所述请求参数与所述目标参数一致时,拦截所述服务请求,并将所述动态部署容器作为所述应用的部署容器;
部署模块,用于获取所述动态部署容器的部署资源,根据所述部署资源将所述应用部署在所述动态部署容器中。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至7中任一项所述的应用部署方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至7中任一项所述的应用部署方法的步骤。
CN202110733892.6A 2021-06-30 2021-06-30 应用部署方法、装置、计算机设备及存储介质 Active CN113360172B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110733892.6A CN113360172B (zh) 2021-06-30 2021-06-30 应用部署方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110733892.6A CN113360172B (zh) 2021-06-30 2021-06-30 应用部署方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN113360172A true CN113360172A (zh) 2021-09-07
CN113360172B CN113360172B (zh) 2024-02-27

Family

ID=77537547

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110733892.6A Active CN113360172B (zh) 2021-06-30 2021-06-30 应用部署方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN113360172B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115080364A (zh) * 2022-05-20 2022-09-20 北京百度网讯科技有限公司 应用状态确定方法、装置、电子设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130263112A1 (en) * 2011-12-07 2013-10-03 Bruno Fernandez-Ruiz Deployment and hosting of platform independent applications
CN106790341A (zh) * 2016-09-08 2017-05-31 大连海事大学 移动Web服务应用的自适应部署方法
CN108111470A (zh) * 2016-11-25 2018-06-01 华为技术有限公司 容器的部署方法、服务间的通信方法及相关装置
CN110765394A (zh) * 2019-09-20 2020-02-07 中国平安人寿保险股份有限公司 so文件加载方法、装置、存储介质及终端设备
CN110908774A (zh) * 2018-09-14 2020-03-24 阿里巴巴集团控股有限公司 一种资源调度方法、设备、系统及存储介质
CN111046057A (zh) * 2019-12-26 2020-04-21 京东数字科技控股有限公司 服务器集群的数据处理方法、装置、计算机设备和介质
CN111506358A (zh) * 2020-03-23 2020-08-07 聚好看科技股份有限公司 更新容器配置的方法及装置
US20200278860A1 (en) * 2019-02-28 2020-09-03 International Business Machines Corporation Cognitive service updates via container instantiation
CN111666130A (zh) * 2020-06-03 2020-09-15 百度在线网络技术(北京)有限公司 一种容器均衡部署的方法、装置、电子设备及存储介质
CN111857972A (zh) * 2020-07-29 2020-10-30 山东海量信息技术研究院 虚拟化网络功能vnf的部署方法、部署装置、部署设备

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130263112A1 (en) * 2011-12-07 2013-10-03 Bruno Fernandez-Ruiz Deployment and hosting of platform independent applications
CN106790341A (zh) * 2016-09-08 2017-05-31 大连海事大学 移动Web服务应用的自适应部署方法
CN108111470A (zh) * 2016-11-25 2018-06-01 华为技术有限公司 容器的部署方法、服务间的通信方法及相关装置
CN110908774A (zh) * 2018-09-14 2020-03-24 阿里巴巴集团控股有限公司 一种资源调度方法、设备、系统及存储介质
US20200278860A1 (en) * 2019-02-28 2020-09-03 International Business Machines Corporation Cognitive service updates via container instantiation
CN110765394A (zh) * 2019-09-20 2020-02-07 中国平安人寿保险股份有限公司 so文件加载方法、装置、存储介质及终端设备
CN111046057A (zh) * 2019-12-26 2020-04-21 京东数字科技控股有限公司 服务器集群的数据处理方法、装置、计算机设备和介质
CN111506358A (zh) * 2020-03-23 2020-08-07 聚好看科技股份有限公司 更新容器配置的方法及装置
CN111666130A (zh) * 2020-06-03 2020-09-15 百度在线网络技术(北京)有限公司 一种容器均衡部署的方法、装置、电子设备及存储介质
CN111857972A (zh) * 2020-07-29 2020-10-30 山东海量信息技术研究院 虚拟化网络功能vnf的部署方法、部署装置、部署设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
谢超群;: "基于Kubernetes容器云的应用研究", 西安文理学院学报(自然科学版), no. 04, pages 42 - 45 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115080364A (zh) * 2022-05-20 2022-09-20 北京百度网讯科技有限公司 应用状态确定方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN113360172B (zh) 2024-02-27

Similar Documents

Publication Publication Date Title
CN109474578B (zh) 报文消息校验方法、装置、计算机设备和存储介质
CN108462760B (zh) 电子装置、集群访问域名自动生成方法及存储介质
CN105389177A (zh) 一种软件版本确认方法、装置及系统
CN105446713A (zh) 安全存储方法及设备
EP3584732B1 (en) Application management method for terminal, application server and terminal
EP3232322A1 (en) Software verifying method and device
WO2021121407A1 (zh) 一种虚拟机的容量更改方法及装置
CN112631924A (zh) 自动化测试方法、装置、计算机设备及存储介质
CN111698283A (zh) 分布式集群主机的管控方法、装置、设备及存储介质
WO2022095518A1 (zh) 接口自动化测试方法、装置、计算机设备及存储介质
CN113259342A (zh) 登录验证方法、装置、计算机设备及介质
CN112468409A (zh) 访问控制方法、装置、计算机设备及存储介质
CN113434254B (zh) 客户端部署方法、装置、计算机设备及存储介质
CN112817935A (zh) 基于字段类型的数据处理方法、装置、设备及存储介质
CN109769010B (zh) 基于SDK访问CloudStack服务器的方法、装置、设备及存储介质
CN108289080B (zh) 一种访问文件系统的方法、装置和系统
CN111813418A (zh) 分布式链路跟踪方法、装置、计算机设备及存储介质
CN113360172B (zh) 应用部署方法、装置、计算机设备及存储介质
CN111722946A (zh) 分布式事务处理方法、装置、计算机设备及可读存储介质
EP4365808A1 (en) Data verification method and apparatus
CN110765610A (zh) Pdm集成方法、装置、计算机设备及存储介质
CN114968822A (zh) 接口测试方法、装置、计算机设备及存储介质
CN114143308A (zh) 文件上传信息处理方法、装置、计算机设备及存储介质
WO2018233638A1 (zh) Ai软件系统安全状态的确定方法及装置
CN112559131A (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
TA01 Transfer of patent application right

Effective date of registration: 20240129

Address after: Room 401, Unit 5, Building 4, No. 57 Tailin Road, Xincheng Office, Feicheng City, Tai'an City, Shandong Province, 271600

Applicant after: Li Jian

Country or region after: China

Address before: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Applicant before: PING AN PUHUI ENTERPRISE MANAGEMENT Co.,Ltd.

Country or region before: China

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240326

Address after: Room 1322, Building A, Hisense Tianchen 9, No. 299 Tianchen Road, Jinan Area, China (Shandong) Pilot Free Trade Zone, Jinan City, Shandong Province, 250011

Patentee after: Shandong Huashu Information Technology Co.,Ltd.

Country or region after: China

Address before: Room 401, Unit 5, Building 4, No. 57 Tailin Road, Xincheng Office, Feicheng City, Tai'an City, Shandong Province, 271600

Patentee before: Li Jian

Country or region before: China

TR01 Transfer of patent right