CN115421771A - 微前端系统灰度发布方法、装置、计算机设备和介质 - Google Patents
微前端系统灰度发布方法、装置、计算机设备和介质 Download PDFInfo
- Publication number
- CN115421771A CN115421771A CN202211053681.9A CN202211053681A CN115421771A CN 115421771 A CN115421771 A CN 115421771A CN 202211053681 A CN202211053681 A CN 202211053681A CN 115421771 A CN115421771 A CN 115421771A
- Authority
- CN
- China
- Prior art keywords
- sub
- application
- main
- accessed
- gray scale
- 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/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及一种微前端系统灰度发布方法、装置、计算机设备、计算机可读存储介质和计算机程序产品,该方法包括:获取用户信息,并根据用户信息确定微前端系统中主应用的主灰度标识、以及每一子应用各自对应的子灰度标识;从主应用的各候选主应用版本文件中,确定并发布与主灰度标识对应的主应用版本文件;响应于在主应用版本文件对应的主应用程序的运行环境下发起的子应用访问请求,根据子应用访问请求对应的待访问子应用的子灰度标识,获取待访问子应用的子应用版本文件,并发布该子应用版本文件。采用上述方法可以提高发布结果的准确性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种微前端系统灰度发布方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
背景技术
随着计算机技术的快速发展,前端开发工程越来越庞大,产品功能越来越复杂,微前端应运而生。微前端借鉴后端微服务的概念,将一个巨大的前端工程拆分成一个个的小工程,这些小工程完全具备独立开发、运行能力。整个系统由这些小工程协同合作,实现所有页面的展示与交互。灰度发布是指在上线新版本应用时,先向一部分用户发布新版本应用,便于后续基于这些用户的反馈对未完全上线的新版本应用进行更新后,逐渐扩大到向所有用户发布新版本应用。
传统的灰度发布方法,基于储存在用户终端的cookie,通过cookie校验切换到目标版本,以实现灰度发布。然而,若将传统的灰度发布方法应用于微前端系统,在用户终端的cookie被清理掉后,用户需要重新通过nginx的加权轮询进入,有可能被分配到与上一次截然不同的应用版本。因此,将传统的灰度发布方法应用于微前端系统,存在发布结果不准确的缺点。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高发布结果准确性的微前端系统灰度发布方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种微前端系统灰度发布方法。所述方法包括:
获取用户信息,并根据所述用户信息确定微前端系统中主应用的主灰度标识、以及每一子应用各自对应的子灰度标识;
从所述主应用的各候选主应用版本文件中,确定并发布与所述主灰度标识对应的主应用版本文件;
响应于子应用访问请求,根据所述子应用访问请求对应的待访问子应用的子灰度标识,获取所述待访问子应用的子应用版本文件;所述子应用访问请求在所述主应用版本文件对应的主应用程序的运行环境下发起;
发布所述子应用版本文件。
在一些实施例中,所述根据所述子应用访问请求对应的待访问子应用的子灰度标识,获取所述待访问子应用的子应用版本文件,包括:
确定所述子应用访问请求所请求访问的待访问子应用、以及所述待访问子应用的子灰度标识;
根据所述待访问子应用的子灰度标识,确定所述待访问子应用的文件访问地址;
基于所述文件访问地址,获取所述待访问子应用的子应用版本文件。
在一些实施例中,所述方法还包括:
获取各所述子应用各自对应的初始访问地址和候选子灰度标识;
针对每一所述子应用,将各候选子灰度标识分别添加至所述初始访问地址,获得每一所述子应用各自对应的多个候选访问地址。
在一些实施例中,所述根据所述待访问子应用的子灰度标识,确定所述待访问子应用的文件访问地址,包括:
提取所述待访问子应用对应的每一候选访问地址中各自携带的候选子灰度标识;
基于将所述待访问子应用的子灰度标识与各所述候选子灰度标识进行标识匹配得到的标识匹配结果,从各所述候选访问地址中确定所述待访问子应用的文件访问地址。
在一些实施例中,所述根据所述用户信息确定微前端系统中主应用的主灰度标识、以及每一子应用各自对应的子灰度标识,包括:
获取用户信息与主灰度标识的对应关系、以及用户信息与子灰度标识的对应关系;
根据获取的所述用户信息、以及用户信息与主灰度标识的对应关系,确定微前端系统中主应用的主灰度标识;
根据获取的所述用户信息、以及用户信息与子灰度标识的对应关系,确定所述微前端系统中每一子应用各自对应的子灰度标识。
在一些实施例中,所述用户信息包括用户标识信息。在该实施例的情形下,所述方法还包括;
获取历史用户标识信息、以及所述历史用户标识信息对应的历史用户设备信息;
基于将所述历史用户设备信息与所述微前端系统的灰度版本发布设备需求进行设备信息匹配得到的设备匹配结果,建立用户标识信息与主灰度标识的对应关系、以及用户标识信息与子灰度标识的对应关系。
第二方面,本申请提供了一种微前端系统灰度发布装置。所述装置包括:
灰度标识确定模块,用于获取用户信息,并根据所述用户信息确定微前端系统中主应用的主灰度标识、以及每一子应用各自对应的子灰度标识;
主应用发布模块,用于从所述主应用的各候选主应用版本文件中,确定并发布与所述主灰度标识对应的主应用版本文件;
子应用版本文件获取模块,用于响应于子应用访问请求,根据所述子应用访问请求对应的待访问子应用的子灰度标识,获取所述待访问子应用的子应用版本文件;所述子应用访问请求在所述主应用版本文件对应的主应用程序的运行环境下发起;
子应用发布模块,用于发布所述子应用版本文件。
在一些实施例中,子应用版本文件获取模块包括:待访问子应用确定单元,用于确定所述子应用访问请求所请求访问的待访问子应用、以及所述待访问子应用的子灰度标识;文件访问地址确定单元,用于根据所述待访问子应用的子灰度标识,确定所述待访问子应用的文件访问地址;子应用版本文件确定单元,用于基于所述文件访问地址,获取所述待访问子应用的子应用版本文件。
在一些实施例中,所述装置还包括候选访问地址配置模块,用于:获取各所述子应用各自对应的初始访问地址和候选子灰度标识;针对每一所述子应用,将各候选子灰度标识分别添加至所述初始访问地址,获得每一所述子应用各自对应的多个候选访问地址。
在一些实施例中,所述文件访问地址确定单元具体用于:提取所述待访问子应用对应的每一候选访问地址中各自携带的候选子灰度标识;基于将所述待访问子应用的子灰度标识与各所述候选子灰度标识进行标识匹配得到的标识匹配结果,从各所述候选访问地址中确定所述待访问子应用的文件访问地址。
在一些实施例中,灰度标识确定模块具体用于:获取用户信息与主灰度标识的对应关系、以及用户信息与子灰度标识的对应关系;根据获取的所述用户信息、以及用户信息与主灰度标识的对应关系,确定微前端系统中主应用的主灰度标识;根据获取的所述用户信息、以及用户信息与子灰度标识的对应关系,确定所述微前端系统中每一子应用各自对应的子灰度标识。
在一些实施例中,所述用户信息包括用户标识信息。在该实施例的情形下,所述装置还包括对应关系确定模块,用于;获取历史用户标识信息、以及所述历史用户标识信息对应的历史用户设备信息;基于将所述历史用户设备信息与所述微前端系统的灰度版本发布设备需求进行设备信息匹配得到的设备匹配结果,建立用户标识信息与主灰度标识的对应关系、以及用户标识信息与子灰度标识的对应关系。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的微前端系统灰度发布方法。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的微前端系统灰度发布方法。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的微前端系统灰度发布方法。
上述微前端系统灰度发布方法、装置、计算机设备、计算机可读存储介质和计算机程序产品,获取用户信息,并根据用户信息确定微前端系统中主应用的主灰度标识、以及每一子应用各自对应的子灰度标识,再从主应用的各候选主应用版本文件中,确定并发布与主灰度标识对应的主应用版本文件,然后,响应于在主应用版本文件对应的主应用程序的运行环境下发起的子应用访问请求,根据子应用访问请求对应的待访问子应用的子灰度标识,获取待访问子应用的子应用版本文件,并发布该子应用版本文件,可以针对不同的用户信息,配置不同的主灰度标识和子灰度标识,进而确定主灰度标识对应的主应用版本文件、以及子灰度标识对应的子应用版本文件,能够确保微前端系统灰度发布结果与用户信息的匹配度,有利于提高发布结果的准确性。
附图说明
图1为一些实施例中微前端系统灰度发布方法的应用环境图;
图2为一些实施例中微前端系统灰度发布方法的流程示意图;
图3为另一些实施例中微前端系统灰度发布方法的流程示意图;
图4为一些实施例中基于qiankun架构的微前端系统灰度发布过程示意图;
图5为一些实施例中微前端系统灰度发布装置的结构框图;
图6为一些实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的微前端系统灰度发布方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他服务器上。其中,终端102包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
具体地,终端102上安装有微前端系统,可以访问微前端系统中的主应用和子应用。该微前端系统是指基于微前端架构开发的前端应用程序。服务器104在进行微前端系统灰度发布的过程中,获取用户信息,并根据用户信息确定微前端系统中主应用的主灰度标识、以及每一子应用各自对应的子灰度标识,再从主应用的各候选主应用版本文件中,确定并发布与主灰度标识对应的主应用版本文件,然后,响应于在主应用版本文件对应的主应用程序的运行环境下发起的子应用访问请求,根据子应用访问请求对应的待访问子应用的子灰度标识,获取待访问子应用的子应用版本文件,并发布该子应用版本文件。
在一些实施例中,如图2所示,提供了一种微前端系统灰度发布方法,该方法可以由终端或服务器执行,还可以由终端和服务器共同执行,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:
步骤S202,获取用户信息,并根据该用户信息确定微前端系统中主应用的主灰度标识、以及每一子应用各自对应的子灰度标识。
其中,微前端系统是指基于微前端架构开发的前端应用程序。用户信息是指微前端系统的用户的信息。该用户信息,包括但不限于是用户标识信息、用户设备信息、基础属性信息、行为信息等等。该用户设备信息包括操作系统类型、设备运行内存、设备剩余存储空间等,该基础属性信息包括姓名、性别、年龄、所在城市等,该行为信息包括浏览行为信息、点击行为信息等等。需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
进一步地,微前端系统中通常包括主应用、以及与该主应用对接的多个子应用。其中,在主应用运行环境下,终端可以加载并运行任一子应用,实现对子应用的访问。灰度标识是指用以标识应用程序的版本的标识信息,具体到本申请,灰度标识包括用以标识主应用版本的主灰度标识、以及用以标识子应用版本的子灰度标识。应用程序的版本包括正式版本、以及待测试的灰度版本,对应的,灰度标识可以包括正式版本标识和灰度版本标识。在一个具体的应用中,该正式版本标识可以用“pro”表征,该灰度版本标识可以用“prey”表征。此外,灰度版本标识的数量可以是一个,也可以是多个。例如,灰度版本标识可以包括“prey1”、“prey2”等等。也即,主应用可以具备多个候选主灰度标识,子应用也同样可以具备多个候选子灰度标识。
可以理解,在实际应用过程中,可以设置一个或多个待测试的微前端系统灰度版本,各微前端系统灰度版本针对正式版本的改进点各不相同。其中,微前端系统灰度版本可以通过微前端系统中主应用的主灰度标识、以及各子应用各自对应的子灰度标识表征。各微前端系统灰度版本针对正式版本的改进点各不相同,可以是各微前端系统灰度版本中包含不同应用的灰度版本,和/或,各微前端系统灰度版本中包含同一应用的不同灰度版本。以微前端系统包括主应用C、子应用d、子应用e和子应用f,且子应用d对应有灰度版本d1、灰度版本d2,子应用e对应有灰度版本e1的情况为例。则微前端系统灰度版本可以包括灰度版本d1、灰度版本d2、灰度版本e1中的任意一项,也可以包括灰度版本d1和灰度版本d2中的任一项、以及灰度版本e1。
具体地,用户所使用的用户设备上安装有微前端系统的正式版本,服务器可以在用户登录该微前端系统的情况下,获取用户信息,并确定与该用户信息匹配的微前端系统中主应用的主灰度标识、以及每一子应用各自对应的子灰度标识。可以理解,由于微前端系统中,主应用和各子应用之间相对独立,开发过程中,支持仅针对主应用、或者仅针对部分子应用的更新,对应的,灰度发布过程中,也支持仅针对主应用、或者仅针对部分子应用的灰度发布。也即,主灰度标识和各子灰度标识中的至少一部分为灰度版本标识。
进一步地,不同灰度版本针对正式版本的改进点不相同,与之匹配的测试需求也不相同。例如,某一灰度版本针对正式版本的区别在于将交互语音信息修改成了B地域的方言,则可以匹配B地域的用户参与该灰度版本的测试;又如,某一灰度版本针对正式版本的区别在于提高了显示画面的像素,则可以匹配设备内存满足内存条件的用户参数该灰度版本的测试。基于此,服务器可以根据用户信息、以及每一灰度版本各自对应的测试需求,确定与该用户信息匹配的微前端系统中主应用的主灰度标识、以及每一子应用各自对应的子灰度标识。其中,待测试应用是指具备灰度版本的应用,该待测试应用可以是主应用或子应用。
在一个实施例中,服务器可以根据每一待测试应用的灰度版本相对于正式版本的改进点,确定每一灰度版本各自对应的测试需求,再将获取的用户信息分别与每一测试需求进行匹配,确定与该用户信息匹配的灰度版本,进而确定主灰度标识和子灰度标识。
在一个实施例中,服务器可以根据每一灰度版本各自对应的测试需求,确定符合该测试需求的目标用户的用户信息,进而建立灰度标识与用户信息的对应关系,并根据获取的用户信息、以及灰度标识与用户信息的对应关系,确定与获取的用户信息匹配的主灰度标识和子灰度标识。
步骤S204,从主应用的各候选主应用版本文件中,确定并发布与主灰度标识对应的主应用版本文件。
其中,主应用可以具备多个候选主灰度标识,每一候选主灰度标识对应有唯一的候选主应用版本文件,各候选主应用版本文件承载有对应版本的主应用程序。具体地,服务器在确定了主应用的主灰度标识之后,可以从主应用的各候选主应用版本文件中,确定主灰度标识对应的主应用版本文件,并向终端发布该主应用版本文件。
步骤S206,响应于子应用访问请求,根据子应用访问请求对应的待访问子应用的子灰度标识,获取待访问子应用的子应用版本文件。
步骤S208,发布子应用版本文件。
其中,子应用访问请求是由终端发起的针对待访问子应用的访问请求。该子应用访问请求在主应用版本文件对应的主应用程序的运行环境下发起。与主应用类似,某一子应用可以具备多个候选子灰度标识,每一候选子灰度标识对应有唯一的候选子应用版本文件,各候选子应用版本文件承载有对应版本的子应用程序。
具体地,终端在主应用程序运行环境下,可以向服务器发起子应用访问请求,服务器响应于该子应用访问请求,可以确定该子应用访问请求所请求访问的待访问子应用,并从每一子应用各自对应的子灰度标识中查询得到该待访问子应用的子灰度标识,然后,从该待访问子应用的各候选子应用版本文件中,确定该子灰度标识对应的子应用版本文件,获取并向终端发布该子应用版本文件。
上述微前端系统灰度发布方法,获取用户信息,并根据用户信息确定微前端系统中主应用的主灰度标识、以及每一子应用各自对应的子灰度标识,再从主应用的各候选主应用版本文件中,确定并发布与主灰度标识对应的主应用版本文件,然后,响应于在主应用版本文件对应的主应用程序的运行环境下发起的子应用访问请求,根据子应用访问请求对应的待访问子应用的子灰度标识,获取待访问子应用的子应用版本文件,并发布该子应用版本文件,可以针对不同的用户信息,配置不同的主灰度标识和子灰度标识,进而确定主灰度标识对应的主应用版本文件、以及子灰度标识对应的子应用版本文件,能够确保微前端系统灰度发布结果与用户信息的匹配度,有利于提高发布结果的准确性。
在一些实施例中,根据用户信息确定微前端系统中主应用的主灰度标识、以及每一子应用各自对应的子灰度标识,包括:获取用户信息与主灰度标识的对应关系、以及用户信息与子灰度标识的对应关系;根据获取的用户信息、以及用户信息与主灰度标识的对应关系,确定微前端系统中主应用的主灰度标识;根据获取的用户信息、以及用户信息与子灰度标识的对应关系,确定微前端系统中每一子应用各自对应的子灰度标识。
其中,关于用户信息、主灰度标识和子灰度标识的具体限定参见上文,此处不再赘述。具体地,服务器可以获取用户信息与主灰度标识的对应关系、以及用户信息与子灰度标识的对应关系,然后,根据获取的用户信息、以及用户信息与主灰度标识的对应关系,确定微前端系统中主应用的主灰度标识,并根据获取的用户信息、以及用户信息与子灰度标识的对应关系,确定微前端系统中每一子应用各自对应的子灰度标识。
进一步地,服务器获取用户信息与主灰度标识的对应关系、以及用户信息与子灰度标识的对应关系的具体方式并不唯一。在一个实施例中,服务器可以获取用户信息、主灰度标识和子灰度标识三者的对应关系,进而确定用户信息与主灰度标识的对应关系、以及用户信息与子灰度标识的对应关系。在另一个实施例中,考虑到主应用与子应用之间存在一定的关联性,基于此,服务器可以获取主灰度标识和子灰度标识的对应关系,以及,用户信息与主灰度标识和子灰度标识中任意一者的对应关系,得到用户信息与主灰度标识的对应关系、以及用户信息与子灰度标识的对应关系。
上述实施例中,基于用户信息与主灰度标识的对应关系、以及用户信息与子灰度标识的对应关系,确定与该用户信息匹配的主灰度标识和子灰度标识,算法简单,有利于提高效率。
在一些实施例中,用户信息包括用户标识信息。在该实施例的情形下,微前端系统灰度发布方法还包括;获取历史用户标识信息、以及该历史用户标识信息对应的历史用户设备信息;基于将该历史用户设备信息与微前端系统的灰度版本发布设备需求进行设备信息匹配得到的设备匹配结果,建立用户标识信息与主灰度标识的对应关系、以及用户标识信息与子灰度标识的对应关系。
其中,历史用户是指曾经访问过该微前端系统的用户。历史用户标识信息是指用以表征历史用户的标识信息;历史用户设备信息是指历史用户在访问该微前端系统的情况下,所使用的用户设备的设备信息。该历史用户设备信息具体可以包括该用户设备的操作系统类型、设备运行内存、设备剩余存储空间等。
具体地,针对每一灰度版本,服务器可以确定与该灰度版本对应的灰度版本发布设备需求,该灰度版本发布设备需求与该灰度版本对应的应用程序的运行需求匹配。基于此,服务器可以基于微前端系统的历史访问记录,获取历史用户标识信息、以及该历史用户标识信息对应的历史用户设备信息,然后,将该历史用户设备信息与微前端系统的灰度版本发布设备需求进行设备信息匹配,得到设备匹配结果,并基于该设备匹配结果建立用户标识信息与主灰度标识的对应关系、以及用户标识信息与子灰度标识的对应关系。
上述实施例中,通过将历史用户标识信息对应的历史用户设备信息,与微前端系统的灰度版本发布设备需求进行设备信息匹配,建立用户标识信息与主灰度标识的对应关系、以及用户标识信息与子灰度标识的对应关系,可以确保用户设备性能与灰度版本的测试需求匹配,有利于进一步提高灰度发布的准确性。
在一些实施例中,根据子应用访问请求对应的待访问子应用的子灰度标识,获取待访问子应用的子应用版本文件,包括:确定子应用访问请求所请求访问的待访问子应用、以及该待访问子应用的子灰度标识;根据待访问子应用的子灰度标识,确定该待访问子应用的文件访问地址;基于该文件访问地址,获取待访问子应用的子应用版本文件。
其中,文件访问地址是指用以承载子应用程序的子应用版本文件的访问地址。在微前端架构下,可以基于不同的文件访问地址获取子应用的子应用版本文件。以微前端架构为qiankun架构的情况为例。主应用程序可以通过fetch html的方式获取子应用的静态资源,同时将HTML document作为子节点添加至主应用程序对应的主框架中,以实现对子应用程序的访问。具体地,服务器可以确定子应用访问请求所请求访问的待访问子应用、以及该待访问子应用的子灰度标识,然后,根据待访问子应用的子灰度标识,确定该待访问子应用的文件访问地址,再基于该文件访问地址,获取待访问子应用的子应用版本文件,以确保子应用版本文件与待访问子应用的子灰度标识匹配。
上述实施例中,基于文件访问地址获取待访问子应用的子应用版本文件,不仅可以降低主应用的接入成本,并且可以沿用子应用原有的开发方式和打包方式,并且解决不同子应用之间样式隔离问题,有利于提高微前端系统灰度发布方法的科学性。
可以理解,在根据待访问子应用的子灰度标识,确定该待访问子应用的文件访问地址之前,还需对每一子应用进行候选访问地址的配置。在一些实施例中,微前端系统灰度发布方法还包括;获取各子应用各自对应的初始访问地址和候选子灰度标识;针对每一子应用,将各候选子灰度标识分别添加至初始访问地址,获得每一子应用各自对应的多个候选访问地址。
其中,初始访问地址是指在不引入灰度标识的情况下子应用对应的子应用版本文件的访问地址,该初始访问地址为不存在灰度版本的情况下,子应用正式版本文件的文件访问地址。也即,针对同一子应用,各子应用版本对应的初始访问地址相同。具体地,服务器可以获取各子应用各自对应的初始访问地址和候选子灰度标识,然后,针对每一子应用,将该子应用对应的各候选子灰度标识分别添加至该子应用的初始访问地址,获得每一子应用各自对应的多个候选访问地址。以微前端架构为qiankun架构的情况为例,服务器可以将候选子灰度标识以header头的形式添加至子应用的初始html地址,进而得到该子应用对应的多个候选html地址。
上述实施例中,通过将候选子灰度标识添加至初始访问地址,获得每一子应用各自对应的多个候选访问地址,算法简单,可以在确保发布结果准确性的同时提高发布效率。
进一步地,服务器根据待访问子应用的子灰度标识,确定该待访问子应用的文件访问地址的具体方式并不唯一。例如,服务器可以建立子灰度标识与文件访问地址的对应关系,并根据待访问子应用的子灰度标识、以及子灰度标识与文件访问地址的对应关系,确定该待访问子应用的文件访问地址。
在一些实施例中,根据待访问子应用的子灰度标识,确定该待访问子应用的文件访问地址,包括:提取待访问子应用对应的每一候选访问地址中各自携带的候选子灰度标识;基于将待访问子应用的子灰度标识与各候选子灰度标识进行标识匹配得到的标识匹配结果,从各候选访问地址中确定待访问子应用的文件访问地址。
具体地,服务器确定子应用访问请求所请求访问的待访问子应用、以及该待访问子应用的子灰度标识后,可以提取该待访问子应用对应的每一候选访问地址中各自携带的候选子灰度标识,然后,将该待访问子应用的子灰度标识与各候选子灰度标识进行标识匹配,得到标识匹配结果,在基于该标识匹配结果,从各候选访问地址中确定与待访问子应用的子灰度标识匹配的文件访问地址。该文件访问地址所携带的候选子灰度标识与待访问子应用的子灰度标识一致。
上述实施例中,提取待访问子应用对应的每一候选访问地址中各自携带的候选子灰度标识,再基于将待访问子应用的子灰度标识与各候选子灰度标识进行标识匹配得到的标识匹配结果,从各候选访问地址中确定待访问子应用的文件访问地址,可以确保文件访问地址所携带的候选子灰度标识与待访问子应用的子灰度标识一致,进而确保发布结果的准确性。
在一些实施例中,如图3所示,微前端系统灰度发布方法包括:
步骤S301,获取历史用户标识信息、以及历史用户标识信息对应的历史用户设备信息;
步骤S302,将历史用户设备信息与微前端系统的灰度版本发布设备需求进行设备信息匹配,得到设备匹配结果;
步骤S303,根据设备匹配结果,建立用户标识信息与主灰度标识的对应关系、以及用户标识信息与子灰度标识的对应关系;
步骤S304,获取各子应用各自对应的初始访问地址和候选子灰度标识;
步骤S305,针对每一子应用,将各候选子灰度标识分别添加至初始访问地址,获得每一子应用各自对应的多个候选访问地址;
步骤S306,获取用户标识信息;
步骤S307,根据获取的用户标识信息、以及用户标识信息与主灰度标识的对应关系,确定微前端系统中主应用的主灰度标识;
步骤S308,根据获取的用户标识信息、以及用户标识信息与子灰度标识的对应关系,确定微前端系统中每一子应用各自对应的子灰度标识;
步骤S309,从主应用的各候选主应用版本文件中,确定并发布与主灰度标识对应的主应用版本文件;
步骤S310,获取在主应用版本文件对应的主应用程序的运行环境下发起的子应用访问请求;
步骤S311,确定子应用访问请求所请求访问的待访问子应用、以及该待访问子应用的子灰度标识;
步骤S312,提取待访问子应用对应的每一候选访问地址中各自携带的候选子灰度标识;
步骤S313,基于将待访问子应用的子灰度标识与各候选子灰度标识进行标识匹配得到的标识匹配结果,从各候选访问地址中确定待访问子应用的文件访问地址;
步骤S314,基于文件访问地址,获取待访问子应用的子应用版本文件;
步骤S315,发布子应用版本文件。
为便于理解,下面以微前端系统为基于qiankun微前端架构的系统为例,对微前端系统灰度发布方法进行详细说明。
具体地,如图4所示,用户访问应用并登录的情况下,服务器可以获取用户id,并确定与用户id对应的主灰度标识和子灰度标识。然后通过nginx服务器转发,命中并发布与主灰度标识对应的主应用版本文件。然后,在用户通过主应用基座发起子应用访问请求的情况下,根据子应用访问请求对应的待访问子应用的子灰度标识,确定该待访问子应用的html入口,并通过nginx服务器转发,命中并发布与该子灰度标识对应的子应用版本文件。
其中,子应用采用html entry方式进行加载,框架对应提供start API加载子应用。并且预先建立用户id与主灰度标识以及子灰度标识三者的对应关系,并通过自定义header头的方式,将各子应用各自对应的候选子灰度标识,分别添加至各子应用各自对应的初始html地址。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的微前端系统灰度发布方法的微前端系统灰度发布装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个微前端系统灰度发布装置实施例中的具体限定可以参见上文中对于微前端系统灰度发布方法的限定,在此不再赘述。
在一些实施例中,如图5所示,提供了一种微前端系统灰度发布装置500,包括:灰度标识确定模块502、主应用发布模块504、子应用版本文件获取模块506和子应用发布模块508,其中:
灰度标识确定模块502,用于获取用户信息,并根据用户信息确定微前端系统中主应用的主灰度标识、以及每一子应用各自对应的子灰度标识;
主应用发布模块504,用于从主应用的各候选主应用版本文件中,确定并发布与主灰度标识对应的主应用版本文件;
子应用版本文件获取模块506,用于响应于子应用访问请求,根据子应用访问请求对应的待访问子应用的子灰度标识,获取待访问子应用的子应用版本文件;子应用访问请求在主应用版本文件对应的主应用程序的运行环境下发起;
子应用发布模块508,用于发布子应用版本文件。
在一些实施例中,子应用版本文件获取模块506包括:待访问子应用确定单元,用于确定子应用访问请求所请求访问的待访问子应用、以及该待访问子应用的子灰度标识;文件访问地址确定单元,用于根据待访问子应用的子灰度标识,确定该待访问子应用的文件访问地址;子应用版本文件确定单元,用于基于文件访问地址,获取待访问子应用的子应用版本文件。
在一些实施例中,微前端系统灰度发布装置500还包括候选访问地址配置模块,用于:获取各子应用各自对应的初始访问地址和候选子灰度标识;针对每一子应用,将各候选子灰度标识分别添加至初始访问地址,获得每一子应用各自对应的多个候选访问地址。
在一些实施例中,文件访问地址确定单元具体用于:提取待访问子应用对应的每一候选访问地址中各自携带的候选子灰度标识;基于将待访问子应用的子灰度标识与各候选子灰度标识进行标识匹配得到的标识匹配结果,从各候选访问地址中确定待访问子应用的文件访问地址。
在一些实施例中,灰度标识确定模块502具体用于:获取用户信息与主灰度标识的对应关系、以及用户信息与子灰度标识的对应关系;根据获取的用户信息、以及用户信息与主灰度标识的对应关系,确定微前端系统中主应用的主灰度标识;根据获取的用户信息、以及用户信息与子灰度标识的对应关系,确定微前端系统中每一子应用各自对应的子灰度标识。
在一些实施例中,用户信息包括用户标识信息。在该实施例的情形下,微前端系统灰度发布装置500还包括对应关系确定模块,用于;获取历史用户标识信息、以及历史用户标识信息对应的历史用户设备信息;基于将历史用户设备信息与微前端系统的灰度版本发布设备需求进行设备信息匹配得到的设备匹配结果,建立用户标识信息与主灰度标识的对应关系、以及用户标识信息与子灰度标识的对应关系。
上述微前端系统灰度发布装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储微前端系统灰度发布方法中涉及到的数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种微前端系统灰度发布方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一些实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述微前端系统灰度发布方法中的步骤。
在一些实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述微前端系统灰度发布方法中的步骤。
在一些实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述微前端系统灰度发布方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种微前端系统灰度发布方法,其特征在于,所述方法包括:
获取用户信息,并根据所述用户信息确定微前端系统中主应用的主灰度标识、以及每一子应用各自对应的子灰度标识;
从所述主应用的各候选主应用版本文件中,确定并发布与所述主灰度标识对应的主应用版本文件;
响应于子应用访问请求,根据所述子应用访问请求对应的待访问子应用的子灰度标识,获取所述待访问子应用的子应用版本文件;所述子应用访问请求在所述主应用版本文件对应的主应用程序的运行环境下发起;
发布所述子应用版本文件。
2.根据权利要求1所述的方法,其特征在于,所述根据所述子应用访问请求对应的待访问子应用的子灰度标识,获取所述待访问子应用的子应用版本文件,包括:
确定所述子应用访问请求所请求访问的待访问子应用、以及所述待访问子应用的子灰度标识;
根据所述待访问子应用的子灰度标识,确定所述待访问子应用的文件访问地址;
基于所述文件访问地址,获取所述待访问子应用的子应用版本文件。
3.根据权利要求2所述的方法,所述方法还包括:
获取各所述子应用各自对应的初始访问地址和候选子灰度标识;
针对每一所述子应用,将各候选子灰度标识分别添加至所述初始访问地址,获得每一所述子应用各自对应的多个候选访问地址。
4.根据权利要求3所述的方法,其特征在于,所述根据所述待访问子应用的子灰度标识,确定所述待访问子应用的文件访问地址,包括:
提取所述待访问子应用对应的每一候选访问地址中各自携带的候选子灰度标识;
基于将所述待访问子应用的子灰度标识与各所述候选子灰度标识进行标识匹配得到的标识匹配结果,从各所述候选访问地址中确定所述待访问子应用的文件访问地址。
5.根据权利要求1至4中任意一项所述的方法,其特征在于,所述根据所述用户信息确定微前端系统中主应用的主灰度标识、以及每一子应用各自对应的子灰度标识,包括:
获取用户信息与主灰度标识的对应关系、以及用户信息与子灰度标识的对应关系;
根据获取的所述用户信息、以及用户信息与主灰度标识的对应关系,确定微前端系统中主应用的主灰度标识;
根据获取的所述用户信息、以及用户信息与子灰度标识的对应关系,确定所述微前端系统中每一子应用各自对应的子灰度标识。
6.根据权利要求5所述的方法,其特征在于,所述用户信息包括用户标识信息;所述方法还包括;
获取历史用户标识信息、以及所述历史用户标识信息对应的历史用户设备信息;
基于将所述历史用户设备信息与所述微前端系统的灰度版本发布设备需求进行设备信息匹配得到的设备匹配结果,建立用户标识信息与主灰度标识的对应关系、以及用户标识信息与子灰度标识的对应关系。
7.一种微前端系统灰度发布装置,其特征在于,所述装置包括:
灰度标识确定模块,用于获取用户信息,并根据所述用户信息确定微前端系统中主应用的主灰度标识、以及每一子应用各自对应的子灰度标识;
主应用发布模块,用于从所述主应用的各候选主应用版本文件中,确定并发布与所述主灰度标识对应的主应用版本文件;
子应用版本文件获取模块,用于响应于子应用访问请求,根据所述子应用访问请求对应的待访问子应用的子灰度标识,获取所述待访问子应用的子应用版本文件;所述子应用访问请求在所述主应用版本文件对应的主应用程序的运行环境下发起;
子应用发布模块,用于发布所述子应用版本文件。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211053681.9A CN115421771A (zh) | 2022-08-31 | 2022-08-31 | 微前端系统灰度发布方法、装置、计算机设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211053681.9A CN115421771A (zh) | 2022-08-31 | 2022-08-31 | 微前端系统灰度发布方法、装置、计算机设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115421771A true CN115421771A (zh) | 2022-12-02 |
Family
ID=84200630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211053681.9A Pending CN115421771A (zh) | 2022-08-31 | 2022-08-31 | 微前端系统灰度发布方法、装置、计算机设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115421771A (zh) |
-
2022
- 2022-08-31 CN CN202211053681.9A patent/CN115421771A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110046155B (zh) | 特征数据库的更新、数据特征的确定方法、装置及设备 | |
CN110795697A (zh) | 逻辑表达式的获取方法、装置、存储介质以及电子装置 | |
CN110018845B (zh) | 元数据版本对比方法及装置 | |
CN110781183A (zh) | Hive数据库中增量数据的处理方法、装置以及计算机设备 | |
CN114328632A (zh) | 基于位图的用户数据分析方法、装置及计算机设备 | |
CN113018870A (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
US20140244641A1 (en) | Holistic customer record linkage via profile fingerprints | |
CN110737662A (zh) | 一种数据分析方法、装置、服务器及计算机存储介质 | |
CN110781375A (zh) | 一种用户状态标识确定方法及装置 | |
CN115421771A (zh) | 微前端系统灰度发布方法、装置、计算机设备和介质 | |
CN111651531B (zh) | 数据导入方法、装置、设备及计算机存储介质 | |
CN116263659A (zh) | 数据处理方法、装置、计算机程序产品、设备及存储介质 | |
CN114518993A (zh) | 基于业务特征的系统性能监控方法、装置、设备及介质 | |
CN111859985A (zh) | Ai客服模型测试方法、装置、电子设备及存储介质 | |
CN110110280B (zh) | 对坐标的曲线积分计算方法、装置、设备及存储介质 | |
CN110266610B (zh) | 流量识别方法、装置、电子设备 | |
CN113221041A (zh) | 基于缓存机制的页面展示方法、装置、设备及存储介质 | |
CN111723129A (zh) | 报表生成方法、报表生成装置和电子设备 | |
CN113076317B (zh) | 基于大数据的数据处理方法、装置、设备及可读存储介质 | |
CN113468280B (zh) | 一种数据认知方法、装置、设备及存储介质 | |
CN112307019B (zh) | 数据处理方法、装置及非瞬时性计算机可读存储介质 | |
CN117271352A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN112948219A (zh) | 一种链路追踪方法及装置 | |
CN116910069A (zh) | 数据库更新方法、装置、计算机设备和存储介质 | |
CN117435185A (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 |