CN115103028A - SaaS应用的请求处理方法、装置、计算机设备 - Google Patents

SaaS应用的请求处理方法、装置、计算机设备 Download PDF

Info

Publication number
CN115103028A
CN115103028A CN202210860057.3A CN202210860057A CN115103028A CN 115103028 A CN115103028 A CN 115103028A CN 202210860057 A CN202210860057 A CN 202210860057A CN 115103028 A CN115103028 A CN 115103028A
Authority
CN
China
Prior art keywords
available area
identification information
target object
available
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
CN202210860057.3A
Other languages
English (en)
Other versions
CN115103028B (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.)
Shenzhen Zhuyun Technology Co ltd
Original Assignee
Shenzhen Zhuyun Technology 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 Shenzhen Zhuyun Technology Co ltd filed Critical Shenzhen Zhuyun Technology Co ltd
Priority to CN202210860057.3A priority Critical patent/CN115103028B/zh
Publication of CN115103028A publication Critical patent/CN115103028A/zh
Application granted granted Critical
Publication of CN115103028B publication Critical patent/CN115103028B/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
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本公开涉及一种SaaS应用的请求处理、装置、计算机设备、存储介质。所述方法包括:获取拦截到的业务请求中的标识信息和SaaS服务群中预先划分的多个可用区的状态信息;根据多个可用区的状态信息和所述标识信息,确定对应的请求转发可用区;将所述业务请求转发至所述请求转发可用区,所述请求转发可用区用于处理所述业务请求。采用本方法能够按照业务层面精准的控制某类企业租户选择各个可用区,能够精准的控制租户选择各种版本。

Description

SaaS应用的请求处理方法、装置、计算机设备
技术领域
本公开涉及互联网技术领域,特别是涉及一种SaaS应用的请求处理方法、装置、计算机设备。
背景技术
随着互联网技术的发展和应用软件的成熟,越来越多的互联网企业选择将自己开发的应用以SaaS(Software-as-a-Service 软件即服务)方式部署在SaaS服务群中,从而对多个企业租户提供服务,不同的企业租户使用特定前缀的通用域名或者个性化域名访问SaaS应用。
目前,互联网企业对SaaS服务群中应用升级的方式通常包括:灰度发布、蓝绿发布或者A/B测试发布等方法。
然而,目前的升级方式仅可以根据用户的IP(Intellectual Property)地址、地理位置等信息,按照一定的比例对某个特征IP地址或者地理位置信息进行升级,不能够按照业务层面精准的控制某类企业租户选择各种版本。
发明内容
基于此,有必要针对上述技术问题,提供一种可以某类企业租户选择各种版本的SaaS应用的请求处理方法、装置、计算机设备。
第一方面,本公开提供了一种SaaS应用的请求处理方法。所述方法包括:
获取拦截到的业务请求中的标识信息和SaaS服务群中预先划分的多个可用区的状态信息;
根据多个可用区的状态信息和所述标识信息,确定对应的请求转发可用区;
将所述业务请求转发至所述请求转发可用区,所述请求转发可用区用于处理所述业务请求。
在其中一个实施例中,所述状态信息包括:发布状态和发布状态对应的目标对象列表;所述标识信息中包括目标对象标识信息和/或可用区标识信息;所述根据多个可用区的状态信息和所述标识信息,确定对应的请求转发可用区,至少包括下述中一种:
在所述标识信息中包括目标对象标识信息和可用区标识信息的情况下,根据多个可用区的发布状态和所述可用区标识信息,确定对应的请求转发可用区;
或,在所述标识信息中包括目标对象标识信息的情况下,根据发布状态对应的目标对象列表匹配所述目标对象标识信息,根据匹配的结果确定对应的所述请求转发可用区。
在其中一个实施例中,所述发布状态包括:正常状态、升级状态和测试状态;所述发布状态对应的目标对象列表包括:正常状态的可用区对应的第一目标对象列表和测试状态的可用区对应的第二目标对象列表;
在所述可用区为正常状态时,为正常状态的可用区接收目标对象的业务请求;
在所述可用区为升级状态时,为升级状态的可用区不接收目标对象的业务请求;
在所述可用区为测试状态时,为测试状态的可用区接收测试对象的业务请求,所述测试对象包括:第二目标对象列表中的目标对象。
在其中一个实施例中,所述根据多个可用区的发布状态和所述可用区标识信息,确定对应的请求转发可用区,包括:
在多个可用区中确定正常状态或测试状态的可用区,根据所述可用区标识信息和正常状态或测试状态的可用区,确定请求转发可用区;
其中,所述可用区标识信息用于确定正常状态或测试状态的可用区中请求转发可用区。
在其中一个实施例中,所述根据匹配的结果确定对应的所述请求转发可用区,包括:
在第一目标对象列表或第二目标对象列表,包括所述目标对象标识信息的情况下,根据所述目标对象标识信息所在的目标对象列表的发布状态对应的可用区,确定请求转发可用区;
在第一目标对象列表或第二目标对象列表未包括所述目标对象标识信息的情况下,根据正常状态的可用区确定请求转发可用区。
在其中一个实施例中,所述方法还包括:通过反向代理与SaaS服务群进行交互。
在其中一个实施例中,所述获取拦截到的业务请求中的标识信息和SaaS服务群中预先划分的多个可用区的状态信息,包括:
在检测到业务请求的情况下,拦截并解析所述业务请求,获取所述业务请求中的标识信息;
通过所述反向代理中实时执行机制,在预设的时间周期内获取SaaS服务群中预先划分的多个可用区的状态信息。
第二方面,本公开还提供了一种SaaS应用的请求处理装置。所述装置包括:
信息获取模块,用于获取拦截到的业务请求中的标识信息和SaaS服务群中预先划分的多个可用区的状态信息;
可用区确定模块,用于根据多个可用区的状态信息和所述标识信息,确定请求转发可用区;
请求转发模块,用于将所述业务请求转发至所述请求转发可用区,所述请求转发可用区用于处理所述业务请求。
第三方面,本公开还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一方法实施例的步骤。
第四方面,本公开还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法实施例的步骤。
第五方面,本公开还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任一方法实施例的步骤。
上述各实施例中,通过拦截业务请求,并对业务请求进行处理,获取标识信息和状态信息。根据状态信息和标识信息可以确定请求转发可用区,可以不依赖K8S等容器,以及任何技术架构,对开发语言、部署环境无特定要求,进而确定需要转发的请求转发可用区。并且因为是根据业务请求中标识信息进行处理,而标识信息中可以包括各个租户的标识信息和是否指定哪个可用区的标识,因此可以能够从业务层面设置标识信息。根据标识信息确定各个租户,进而能够按照业务层面精准的控制某类企业租户选择各个可用区,能够精准的控制租户选择各种版本。
附图说明
为了更清楚地说明本公开具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中SaaS应用的请求处理方法的应用环境示意图;
图2为一个实施例中SaaS应用的请求处理方法的流程示意图;
图3为一个实施例中SaaS服务群的示意图;
图4为一个实施例中S202步骤的流程示意图;
图5为一个实施例中S204步骤的流程示意图;
图6为一个实施例中S406步骤的流程示意图;
图7为另一个实施例中SaaS应用的请求处理方法的流程示意图;
图8为一个实施例中SaaS应用升级方法示意图;
图9为一个实施例中SaaS应用的请求处理装置的结构示意框图;
图10为一个实施例中计算机设备的内部结构示意图。
具体实施方式
为了使本公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本公开进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本公开,并不用于限定本公开。
需要说明的是,本文的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本文的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
目前,现有灰度发布等不停机发布方式通常依赖于Kubernetes容器自动化编排,进而实现不停机发布,其对自动化程度要求高,且实现难度较高。
本公开实施例提供了一种SaaS应用的请求处理方法,可以应用于如图1所示的应用环境中。其中,控制端102通过网络与业务服务器104和客户端106进行通信。客户端106向业务服务器104发送业务请求。控制端102拦截业务请求。控制端102获取拦截到的业务请求中的标识信息。控制端102获取业务服务器中SaaS服务群中预先划分的多个可用区的状态信息。控制端102根据多个可用区的状态信息和标识信息,确定对应的请求转发可用区。控制端102将客户端106的业务请求转发至业务服务器104的SaaS服务群中的请求转发可用区。业务服务器104的请求转发可用区用于处理客户端106的业务请求。其中,控制端102和客户端106可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑等。业务服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种SaaS应用的请求处理方法,以该方法应用于图1中的控制端102为例进行说明,包括以下步骤:
S202,获取拦截到的业务请求中的标识信息和SaaS服务群中预先划分的多个可用区的状态信息。
其中,业务请求通常可以是租户想要使用SaaS服务群中各个可用区中应用的请求。租户在本公开的一些实施例中可以指被赋予了SaaS服务使用权的企业组织。业务请求中的标识信息通常可以是表示唯一性和携带了一些是否选择可用区的信息,如各个租户的标识信息,是否指定哪个可用区的标识等。SaaS服务群通常可以是多个应用(服务实例)组成的集合。每个服务实例可以看做一个可用区。如图3所示,SaaS中存在三个可用区,分别为可用区A、可用区B和可用区C。每个可用区相当于一个应用,该应用可以相同也可以不同。前端、配置中心、后端API网关、服务A、服务B和注册中心相当于应用的实现的功能。SaaS服务群中的各服务实例携带自己所属的可用区标识信息注册至注册中心。每个实例,如实例1、实例2相当于实现每个功能对应的进程。如服务A为订单管理的功能,则对应服务A中的实例为实现订单管理的进程。上述可用区A、可用区B和可用区C通常是存储在业务数据存储库中的。状态信息可以指示当前可用区的状态,如是否正在升级,是否升级完成等等。在本公开的一些实施例中,通常处理的是多租户的业务请求,多租户是通常多个客户使用同一个实例,数据存储在相同的位置,通过数据库、数据表和tenantID字段三种方式进行数据隔离。
具体地,租户在使用SaaS服务群中的应用时,通常会发送业务请求。在检测到业务请求的情况下,拦截该业务请求。获取业务请求中的标识信息。与SaaS服务群进行通信,获取SaaS服务群中预先划分的多个可用区的状态信息,通过状态信息确定每个可用区的状态。该租户可以是尝鲜版本的租户,也可以是普通的租户。
S204,根据多个可用区的状态信息和所述标识信息,确定对应的请求转发可用区。
其中,请求转发可用区通常可以是能够处理当前租户业务请求的可用区。
具体地,根据多个可用区的状态信息,确定多个可用区的状态,根据多个可用区的状态和标识信息,确定当前业务请求对应的请求转发可用区。
S206,将所述业务请求转发至所述请求转发可用区,所述请求转发可用区用于处理所述业务请求。
具体的,上述确定了请求转发可用区之后,可以将拦截到的业务请求转发至该请求转发可用区。请求转发可用区接收到业务请求后,通过其中的前端和后端API网关处理该业务请求,以实现用户需要执行的需求。而未处理业务请求的其他可用区可以进行升级操作。进行升级操作时,对应的可用区的状态信息可以进行修改。
上述SaaS应用的业务处理方法中,通过拦截业务请求,并对业务请求进行处理,获取标识信息和状态信息。根据状态信息和标识信息可以确定请求转发可用区,可以不依赖K8S等容器,以及任何技术架构,对开发语言、部署环境无特定要求,进而确定需要转发的请求转发可用区。并且因为是根据业务请求中标识信息进行处理,而标识信息中可以包括各个租户的标识信息,是否指定哪个可用区的标识,因此可以能够从业务层面,根据标识信息确定各个租户,进而能够按照业务层面精准的控制某类企业租户选择各个可用区,能够精准的控制租户选择各种版本。
在一个实施例中,所述方法还包括:通过反向代理与SaaS服务群进行交互。如图4所示,所述获取拦截到的业务请求中的标识信息和SaaS服务群中预先划分的多个可用区的状态信息,包括:
S302,在检测到业务请求的情况下,拦截并解析所述业务请求,获取所述业务请求中的标识信息;
S304,通过所述反向代理中实时执行机制,在预设的时间周期内获取SaaS服务群中预先划分的多个可用区的状态信息。
其中,反向代理可以是Nginx,或者基于Nginx的衍生版如OpenResty、Tengine等。实时执行机制可以是worker和timer执行机制。Nginx可以是一个高性能、轻量级的HTTP和反向代理web服务器,其特点是占用内存少、并发能力强,基本属于SaaS应用前置反向代理网关的标配,可以在大多数Unix Linux OS上编译运行,并有Windows移植版。
具体地,通常情况下,SaaS服务群会提供一个获取各可用区的状态信息的API接口,控制端102可以利用反向代理通过该API接口与SaaS服务群进行交互。反向代理可以配置在控制端102中。在检测到客户端发送业务请求的情况下,拦截该业务请求。对该业务请求进行解析。解析后获取业务请求的标识信息。利用反向代理初始化worker和timer执行机制,实现周期性的定时(预设的时间周期)调用API接口获取SaaS服务中各个可用区的状态信息。可以将状态信息通过缓存分配器写入缓存中。缓存分配器通常是利用反向代理的共享内存作为存储各可用区的状态信息的缓存空间,提供增删改查缓存数据的相应接口。
本实施例中,通过反向代理的方式能够提高了SaaS服务群的安全租户通过反向代理访问SaaS服务群,只能看到反向代理服务器的IP地址和端口号,内部服务器对于外部网络来说是完全不可见。而且反向代理服务器上没有保存任何的信息资源,所有的网页程序都保存在SaaS服务群上,对反向代理服务器的攻击并不能使真的网页信息***受到破坏,提高了SaaS服务群的安全性。
在一个实施例中,所述状态信息包括:发布状态和发布状态对应的目标对象列表;所述标识信息中包括目标对象标识信息和/或可用区标识信息;如图5所示,所述根据多个可用区的状态信息和所述标识信息,确定对应的请求转发可用区,至少包括下述中一种:
S402,判断标识信息中是否包括可用区标识信息。
S404,在所述标识信息中包括目标对象标识信息和可用区标识信息的情况下,根据多个可用区的发布状态和所述可用区标识信息,确定对应的请求转发可用区。
S406,在所述标识信息中包括目标对象标识信息的情况下,根据发布状态对应的目标对象列表匹配所述目标对象标识信息,根据匹配的结果确定对应的所述请求转发可用区。
其中,发布状态可以是当前可用区的状态,可以根据发布状态判断可用区是否正常,是否处理正常升级以及是否升级完成等待测试。发布状态对应的目标对象列表可以是,每个发布状态通常情况下都会允许一定数量的租户进行访问。该租户通常情况下可以存储在发布状态对应的目标对象列表中。目标对象标识信息通常可以是表示目标对象唯一性的信息,根据目标对象的标识信息可以确定目标对象,如租户的URL(Uniform ResourceLocator)域名,或者自定义的一些具有唯一性的数据。目标对象在本公开的一些实施例中可以是租户。可用区标识信息可以指定目标对象(租户)的业务请求转发至特定的可用区的信息。该标识信息通常可以是预先设置在业务请求中的。在进行业务请求的时候通过http(Hyper Text Transfer Protocol)携带的。
具体地,在确定请求转发可用区前,通常情况下标识信息中一定包括目标对象的标识信息,首先可以先判断标识信息中是否包括了可用区标识信息。若包括了可用区标识信息,则可以根据多个可用区的发布状态确定能够执行业务请求的发布状态对应的可用区。根据可用区标识信息和能够执行业务请求的发布状态对应的可用区,确定对应的请求转发可用区。若未包括可用区标识信息,则,则在发布状态对应的目标对象列表中匹配目标对象标识信息,得到匹配结果。若匹配到目标对象标识信息,则可以根据发布状态对应的目标对象列表确定该发布状态的可用区为请求转发可用区。若未匹配到,则可以根据发布状态确定可用的可用区,根据可用的可用区确定请求转发可用区。
状态信息还可以包括版本标识,其值为一个数值型的版本号,版本标识将随业务请求转发给后面的服务实例,可以做为链路跟踪或日志记录的元素信息。
在本实施例中,根据是否包括可用区标识信息,通过不同的策略确定对应的请求转发可用区。能够根据可用区标识信息设置优先级,可用区标识信息通常情况下其可以根据业务状态进行设置,因此可以根据可用区标识精准的控制租户选择对应的可用区。而未存在可用区标识时,还可以根据目标对象列表进确定请求转发可用区,满足不同情况下的需求,提高处理业务请求的效率。
在一个实施例中,所述发布状态包括:正常状态、升级状态和测试状态;所述发布状态对应的目标对象列表包括:正常状态的可用区对应的第一目标对象列表和测试状态的可用区对应的第二目标对象列表;
在所述可用区为正常状态时,为正常状态的可用区接收目标对象的业务请求;
在所述可用区为升级状态时,为升级状态的可用区不接收目标对象的业务请求;
在所述可用区为测试状态时,为测试状态的可用区接收测试对象的业务请求,所述测试对象包括:第二目标对象列表中的目标对象。
具体地,在通过反向代理并通过API接口与SaaS服务群进行通信时,可以获取SaaS服务群中的消息体,根据消息体确定发布状态。发布状态可以包括:正常状态、升级状态和测试状态。其中,正常状态下的可用区对应的第一目标对象列表中通常可以包括第一目标对象标识信息,该第一目标对象标识信息对应的目标对象通常情况下可以是所有的租户。测试状态的可用区对应的第二目标对象列表中通常也可以包括第二目标对象标识信息,该第二目标对象标识信息对应的目标对象通常可以是需要进行尝鲜版本的租户,如预测人员。第二目标对象列表中的目标对象通常可以是预先设置或者指定的。当可用区为正常状态时,正常租户的业务请求均可以转发到正常状态的可用区中。当可用区为升级状态时,其可用区内的服务实例不对外提供服务,运维人员可以对该可用区中的所有服务实例进行停服、更新操作,所有租户的业务请求将不会转发到该可用区内的服务实例。当可用区为测试状态时,可以通过第二目标对象列表指定一个或多个友好租户作为新版试用租户,只有这些租户的业务请求会被转发至该可用区,其他租户的业务不会转发到该可用区。其中,第一目标对象列表和第二目标对象列表通常情况下其值为一个List列表。
在一些示例性的实施例中,获取得到的消息体可以为Map<String,Object>格式的Key-Value对。Key为可用区标识,Value为对应可用区的状态信息。Value中的状态信息可以参见下述表1状态信息表。
表1状态信息表
Figure 164968DEST_PATH_IMAGE002
在本实施例中,通过确定可用区的不同的发布状态,能够确定每个可用区当前是否可以处理业务请求,能够及时的处理每个租户的业务请求,为该业务请求确定对应请求转发可用区。通过指定一个或多个租户作为试用租户能够在生产环境进行有效测试。
在一个实施例中,所述根据多个可用区的发布状态和所述可用区标识信息,确定对应的请求转发可用区,包括:
在多个可用区中确定正常状态或测试状态的可用区,根据所述可用区标识信息和正常状态或测试状态的可用区,确定请求转发可用区;
其中,所述可用区标识信息用于确定正常状态或测试状态的可用区中请求转发可用区。即指定正常状态或测试状态的可用区哪个为请求转发可用区。例如正常状态或测试状态的可用区为A、B和C,指定的请求转发可用区为A。则可以将A确定为请求转发可用区。
具体地,在多个可用区中确定正常状态或者测试状态的可用区。在根据可用区标识信息确定正常状态的可用区中某个可用区为请求转发区时,可以将该可用区确定为请求转发区。在根据可用区标识信息确定测试状态的可用区中某个可用区为请求转发区时,可以将该可用区确定为请求转发区。
在本实施例中,通过可用区标识信息指定请求转发可用区,能够根据实际业务情况设置业务请求中的可用区标识信息,能够按照业务层面精准的控制某类企业租户选择各种版本。
在一个实施例中,如图6所示,所述根据匹配的结果确定对应的所述请求转发可用区,包括:
S602,判断第一目标对象列表或第二目标对象列表中是否包括目标对象标识信息;
S604,在第一目标对象列表或第二目标对象列表中,包括所述目标对象标识信息的情况下,根据所述目标对象标识信息所在的目标对象列表的发布状态对应的可用区,确定请求转发可用区;
S606,在第一目标对象列表或第二目标对象列表中未包括所述目标对象标识信息的情况下,根据正常状态的可用区确定请求转发可用区。
具体地,在标识信息中未包括可用区标识信息时,判断上述第一目标对象列表和第二目标对象列表中是否包括发送业务请求的目标对象标识信息。若包括,则确定目标对象标识信息所在的第一目标对象列表或者第二目标对象列表。根据所在的第一目标对象列表或者第二目标对象列表对应的发布状态,确定该状态的可用区。根据该状态的可用区,确定请求转发可用区。例如,目标对象标识信息在第一目标对象列表中。第一目标对象列表的状态为正常状态,则可以将正常状态的可用区确定为请求转发可用区。若不包括,则将正常状态的可用区确定为请求转发可用区。当存在多个正常状态的可用区时,可以随机或者按照一定的顺序将业务请求转发至正常状态的可用区。该接收业务请求的可用区可以是请求转发可用区。
在本实施例中,若第一目标对象列表或者第二目标对象列表中包括目标对象标识信息,则可以根据第一目标对象列表或者第二目标对象列表确定转发可用区,能够保证符合各个可用区的状态信息。若未包括目标对象标识信息,可以通过正常状态的可用区确定请求转发可用区,以此来处理普通的业务请求。
在一个实施例中,所述将所述业务请求转发至所述请求转发可用区,包括:
将确定请求转发可用区翻译成反向代理可识别的upstream名称,将对应的可用区标识信息和版本标识追加至业务请求包的请求头中,再将业务请求转发给反向代理调用对应的upstream并通过SaaS服务群中的可用区处理业务请求。
其中,业务请求包通常可以是与SaaS服务群对应的服务器进行通信的数据包。upstream可以是通过请求SaaS服务群对应的服务器得到内容。通常可以是与SaaS服务群对应的服务器进行通信连接的标识。
可以理解的是,本公开的一些实施例中,各种方法可以通过基于LUA或C语言开发进而实现。LUA通常是一种基于解释器的轻量级脚本语言,由标准C语言编写,代码简洁优美,易理解和维护,能在所有操作***和平台上编译运行。Nginx及基于Nginx的OpenResty、Tengine等衍生版反向代理网关均支持LUA脚本实时编译运行。
在一个实施例中,如图7所示,本公开还提供了另一种SaaS应用的请求处理方法,包括:
S702,通过反向代理与SaaS服务群进行交互。
S704,在检测到业务请求的情况下,拦截并解析所述业务请求,获取所述业务请求中的标识信息。
S706,通过所述反向代理中实时执行机制,在预设的时间周期内获取SaaS服务群中预先划分的多个可用区的状态信息。
S708,判断标识信息中是否包括可用区标识信息。
S710,若是,则在多个可用区中确定正常状态或测试状态的可用区,根据所述可用区标识信息和正常状态或测试状态的可用区,确定请求转发可用区。
S712,若否,则判断第一目标对象列表或第二目标对象列表中是否包括目标对象标识信息。
S714,在第一目标对象列表或第二目标对象列表中,包括所述目标对象标识信息的情况下,根据所述目标对象标识信息所在的目标对象列表的发布状态对应的可用区,确定请求转发可用区。
S716,在第一目标对象列表或第二目标对象列表中未包括所述目标对象标识信息的情况下,根据正常状态的可用区确定请求转发可用区。
关于本实施例的具体实施方式和限定可参见上述实施例,在此不进行重复赘述。
在一个实施例中,本公开还提供了一种SaaS应用升级方法,如图8所示,
(1)升级前状态:所有租户的业务请求通过反向代理的将业务请求均衡转发至所有可用区。
(2)升级可用区A:禁止业务请求转发至可用区A,对可用区A中的服务实例进行版本升级(V1版本升至V2版本)。
(3)可用区A升级完成:可用区A的服务实现均升级至最新版,通过配置中心配置一个或多个试用租户的业务请求转发至可用区A,其他租户的业务请求仍然转发至旧级的可用区B和可用区C。
(4)升级可用区B:试用租户通过一段时间试用新版,确保新版服务工作正常后,对可用区B进行升级(V1版本升至V2版本)。此时所有租户的业务请求通过反向代理将业务请求均衡转发至可用区A和可用区C。
(5)升级可用区C:禁止业务请求转发至可用区C,对可用区C中的服务实例进行版本升级(V1版本升至V2版本)。
(6)升级完成:所有可用区的服务均升级至最新版本,所有租户的业务请求通过反向代理随机或均衡转发至可用区A、B、C。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本公开实施例还提供了一种用于实现上述所涉及的SaaS应用的请求处理方法的SaaS应用的请求处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个SaaS应用的请求处理装置实施例中的具体限定可以参见上文中对于SaaS应用的请求处理方法的限定,在此不再赘述。
在一个实施例中,如图9所示,提供了一种SaaS应用的请求处理装置900,包括:信息获取模块902、可用区确定模块904和请求转发模块906,其中:
信息获取模块902,用于获取拦截到的业务请求中的标识信息和SaaS服务群中预先划分的多个可用区的状态信息;
可用区确定模块904,用于根据多个可用区的状态信息和所述标识信息,确定请求转发可用区;
请求转发模块906,用于将所述业务请求转发至所述请求转发可用区,所述请求转发可用区用于处理所述业务请求。
在所述装置的一个实施例中,所述状态信息包括:发布状态和发布状态对应的目标对象列表;所述标识信息中包括目标对象标识信息和/或可用区标识信息;所述可用区确定模块904包括:第一确定模块,用于在所述标识信息中包括目标对象标识信息和可用区标识信息的情况下,根据多个可用区的发布状态和所述可用区标识信息,确定对应的请求转发可用区。
第二确定模块,用于在所述标识信息中包括目标对象标识信息的情况下,根据发布状态对应的目标对象列表匹配所述目标对象标识信息,根据匹配的结果确定对应的所述请求转发可用区。
在所述装置的一个实施例中,所述发布状态包括:正常状态、升级状态和测试状态;所述发布状态对应的目标对象列表包括:正常状态的可用区对应的第一目标对象列表和测试状态的可用区对应的第二目标对象列表;
在所述可用区为正常状态时,为正常状态的可用区接收目标对象的业务请求;
在所述可用区为升级状态时,为升级状态的可用区不接收目标对象的业务请求;
在所述可用区为测试状态时,为测试状态的可用区接收测试对象的业务请求,所述测试对象包括:第二目标对象列表中的目标对象。
在所述装置的一个实施例中,所述第一确定模块,还用于在多个可用区中确定正常状态或测试状态的可用区,根据所述可用区标识信息和正常状态或测试状态的可用区,确定请求转发可用区;
其中,所述可用区标识信息用于确定正常状态或测试状态的可用区中请求转发可用区。
在所述装置的一个实施例中,所述第二确定模块包括:第一确定子模块,用于在第一目标对象列表或第二目标对象列表中,包括所述目标对象标识信息的情况下,根据所述目标对象标识信息所在的目标对象列表的发布状态对应的可用区,确定请求转发可用区。
第二确定子模块,用于在第一目标对象列表或第二目标对象列表中未包括所述目标对象标识信息的情况下,根据正常状态的可用区确定请求转发可用区。
在所述装置的一个实施例中,所述装置还包括:反向代理模块,用于通过反向代理与SaaS服务群进行交互。
在所述装置的一个实施例中,所述信息获取模块902,包括:请求拦截模块,用于在检测到业务请求的情况下,拦截并解析所述业务请求,获取所述业务请求中的标识信息。
状态信息获取模块,用于通过所述反向代理中实时执行机制,在预设的时间周期内获取SaaS服务群中预先划分的多个可用区的状态信息。
上述SaaS应用的请求处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过***总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储标识信息和状态信息。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种SaaS应用的请求处理方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本公开方案相关的部分结构的框图,并不构成对本公开方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本公开所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(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 (11)

1.一种SaaS应用的请求处理方法,其特征在于,所述方法包括:
获取拦截到的业务请求中的标识信息和SaaS服务群中预先划分的多个可用区的状态信息;
根据多个可用区的状态信息和所述标识信息,确定对应的请求转发可用区;
将所述业务请求转发至所述请求转发可用区,所述请求转发可用区用于处理所述业务请求。
2.根据权利要求1所述的方法,其特征在于,所述状态信息包括:发布状态和发布状态对应的目标对象列表;所述标识信息中包括目标对象标识信息和/或可用区标识信息;所述根据多个可用区的状态信息和所述标识信息,确定对应的请求转发可用区,至少包括下述中一种:
在所述标识信息中包括目标对象标识信息和可用区标识信息的情况下,根据多个可用区的发布状态和所述可用区标识信息,确定对应的请求转发可用区;
或,在所述标识信息中包括目标对象标识信息的情况下,根据发布状态对应的目标对象列表匹配所述目标对象标识信息,根据匹配的结果确定对应的所述请求转发可用区。
3.根据权利要求2所述的方法,其特征在于,所述发布状态包括:正常状态、升级状态和测试状态;所述发布状态对应的目标对象列表包括:正常状态的可用区对应的第一目标对象列表和测试状态的可用区对应的第二目标对象列表;
在所述可用区为正常状态时,为正常状态的可用区接收目标对象的业务请求;
在所述可用区为升级状态时,为升级状态的可用区不接收目标对象的业务请求;
在所述可用区为测试状态时,为测试状态的可用区接收测试对象的业务请求,所述测试对象包括:第二目标对象列表中的目标对象。
4.根据权利要求3所述的方法,其特征在于,所述根据多个可用区的发布状态和所述可用区标识信息,确定对应的请求转发可用区,包括:
在多个可用区中确定正常状态或测试状态的可用区,根据所述可用区标识信息和正常状态或测试状态的可用区,确定请求转发可用区;
其中,所述可用区标识信息用于确定正常状态或测试状态的可用区中请求转发可用区。
5.根据权利要求3所述的方法,其特征在于,所述根据匹配的结果确定对应的所述请求转发可用区,包括:
在第一目标对象列表或第二目标对象列表,包括所述目标对象标识信息的情况下,根据所述目标对象标识信息所在的目标对象列表的发布状态对应的可用区,确定请求转发可用区;
在第一目标对象列表或第二目标对象列表未包括所述目标对象标识信息的情况下,根据正常状态的可用区确定请求转发可用区。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:通过反向代理与SaaS服务群进行交互。
7.根据权利要求6所述的方法,其特征在于,所述获取拦截到的业务请求中的标识信息和SaaS服务群中预先划分的多个可用区的状态信息,包括:
在检测到业务请求的情况下,拦截并解析所述业务请求,获取所述业务请求中的标识信息;
通过所述反向代理中实时执行机制,在预设的时间周期内获取SaaS服务群中预先划分的多个可用区的状态信息。
8.一种SaaS应用的请求处理装置,其特征在于,所述装置包括:
信息获取模块,用于获取拦截到的业务请求中的标识信息和SaaS服务群中预先划分的多个可用区的状态信息;
可用区确定模块,用于根据多个可用区的状态信息和所述标识信息,确定请求转发可用区;
请求转发模块,用于将所述业务请求转发至所述请求转发可用区,所述请求转发可用区用于处理所述业务请求。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
11.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202210860057.3A 2022-07-22 2022-07-22 SaaS应用的请求处理方法、装置、计算机设备 Active CN115103028B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210860057.3A CN115103028B (zh) 2022-07-22 2022-07-22 SaaS应用的请求处理方法、装置、计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210860057.3A CN115103028B (zh) 2022-07-22 2022-07-22 SaaS应用的请求处理方法、装置、计算机设备

Publications (2)

Publication Number Publication Date
CN115103028A true CN115103028A (zh) 2022-09-23
CN115103028B CN115103028B (zh) 2022-11-15

Family

ID=83298002

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210860057.3A Active CN115103028B (zh) 2022-07-22 2022-07-22 SaaS应用的请求处理方法、装置、计算机设备

Country Status (1)

Country Link
CN (1) CN115103028B (zh)

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108494876A (zh) * 2018-04-12 2018-09-04 北京达佳互联信息技术有限公司 实现服务灰度发布的方法、装置、插件设备和代理服务器
CN108881030A (zh) * 2018-06-07 2018-11-23 腾讯科技(深圳)有限公司 灰度发布场景下的路由方法及装置
CN109299015A (zh) * 2018-10-15 2019-02-01 北京云测网络科技有限公司 一种软件测试方法、装置及***
CN109495559A (zh) * 2018-11-06 2019-03-19 用友网络科技股份有限公司 微服务客户端的服务注册及调用方法、注册及调用***
US20190102162A1 (en) * 2017-09-29 2019-04-04 Oracle International Corporation Application Templates and Upgrade Framework for a Multi-Tenant Identity Cloud Service
US20190319885A1 (en) * 2018-04-16 2019-10-17 Citrix Systems, Inc. Policy based service routing
CN110532008A (zh) * 2019-08-29 2019-12-03 深圳前海环融联易信息科技服务有限公司 一种产品灰度发布方法、装置、计算机设备及存储介质
CN111158752A (zh) * 2019-12-30 2020-05-15 南京天溯自动化控制***有限公司 一种saas多版本控制***及其使用方法
US20200241865A1 (en) * 2019-01-29 2020-07-30 Salesforce.Com, Inc. Release orchestration for performing pre-release, version specific testing to validate application versions
CN112118565A (zh) * 2020-08-14 2020-12-22 金蝶医疗软件科技有限公司 多租户服务灰度发布方法、装置、计算机设备和存储介质
CN112311786A (zh) * 2020-10-28 2021-02-02 北京健康之家科技有限公司 一种服务请求处理方法、装置、存储介质及计算设备
CN113569257A (zh) * 2021-06-29 2021-10-29 中国人民财产保险股份有限公司 灰度发布中的用户权限管理方法和装置
CN113791799A (zh) * 2021-01-06 2021-12-14 北京沃东天骏信息技术有限公司 ***升级方法及装置、计算机可读存储介质、电子设备
CN113900941A (zh) * 2021-09-30 2022-01-07 深圳市金蝶天燕云计算股份有限公司 一种微服务处理方法、微服务***及电子设备和存储介质
CN114221996A (zh) * 2021-11-17 2022-03-22 创业慧康科技股份有限公司 一种服务调用方法、装置、电子设备、存储介质
CN114401187A (zh) * 2022-01-17 2022-04-26 中国工商银行股份有限公司 灰度发布方法、装置、计算机设备和存储介质

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190102162A1 (en) * 2017-09-29 2019-04-04 Oracle International Corporation Application Templates and Upgrade Framework for a Multi-Tenant Identity Cloud Service
CN108494876A (zh) * 2018-04-12 2018-09-04 北京达佳互联信息技术有限公司 实现服务灰度发布的方法、装置、插件设备和代理服务器
US20190319885A1 (en) * 2018-04-16 2019-10-17 Citrix Systems, Inc. Policy based service routing
CN108881030A (zh) * 2018-06-07 2018-11-23 腾讯科技(深圳)有限公司 灰度发布场景下的路由方法及装置
CN109299015A (zh) * 2018-10-15 2019-02-01 北京云测网络科技有限公司 一种软件测试方法、装置及***
CN109495559A (zh) * 2018-11-06 2019-03-19 用友网络科技股份有限公司 微服务客户端的服务注册及调用方法、注册及调用***
US20200241865A1 (en) * 2019-01-29 2020-07-30 Salesforce.Com, Inc. Release orchestration for performing pre-release, version specific testing to validate application versions
CN110532008A (zh) * 2019-08-29 2019-12-03 深圳前海环融联易信息科技服务有限公司 一种产品灰度发布方法、装置、计算机设备及存储介质
CN111158752A (zh) * 2019-12-30 2020-05-15 南京天溯自动化控制***有限公司 一种saas多版本控制***及其使用方法
CN112118565A (zh) * 2020-08-14 2020-12-22 金蝶医疗软件科技有限公司 多租户服务灰度发布方法、装置、计算机设备和存储介质
CN112311786A (zh) * 2020-10-28 2021-02-02 北京健康之家科技有限公司 一种服务请求处理方法、装置、存储介质及计算设备
CN113791799A (zh) * 2021-01-06 2021-12-14 北京沃东天骏信息技术有限公司 ***升级方法及装置、计算机可读存储介质、电子设备
CN113569257A (zh) * 2021-06-29 2021-10-29 中国人民财产保险股份有限公司 灰度发布中的用户权限管理方法和装置
CN113900941A (zh) * 2021-09-30 2022-01-07 深圳市金蝶天燕云计算股份有限公司 一种微服务处理方法、微服务***及电子设备和存储介质
CN114221996A (zh) * 2021-11-17 2022-03-22 创业慧康科技股份有限公司 一种服务调用方法、装置、电子设备、存储介质
CN114401187A (zh) * 2022-01-17 2022-04-26 中国工商银行股份有限公司 灰度发布方法、装置、计算机设备和存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHUANQI TAO等: ""Cloud-Based Infrastructure for Mobile Testing as a Service"", 《2015 THIRD INTERNATIONAL CONFERENCE ON ADVANCED CLOUD AND BIG DATA》 *
邢俊鑫: ""基于多租户技术的中小企业SaaS服务平台设计与实现"", 《万方》 *

Also Published As

Publication number Publication date
CN115103028B (zh) 2022-11-15

Similar Documents

Publication Publication Date Title
US11711420B2 (en) Automated management of resource attributes across network-based services
US12003571B2 (en) Client-directed placement of remotely-configured service instances
US10560465B2 (en) Real time anomaly detection for data streams
US10776174B2 (en) Managing hosted resources across different virtualization platforms
US10938668B1 (en) Safe deployment using versioned hash rings
US11088914B2 (en) Migrating a monolithic software application to a microservices architecture
US10521116B2 (en) System and method for managing object store
US20180088993A1 (en) Managed container instances
US20110010708A1 (en) System and method for transporting configuration parameters
US20170064027A1 (en) Data caching in a collaborative file sharing system
US9910881B1 (en) Maintaining versions of control plane data for a network-based service control plane
US10154091B1 (en) Deploying infrastructure units according to resource hosting constraints
US10055393B2 (en) Distributed version control of orchestration templates
US10182104B1 (en) Automatic propagation of resource attributes in a provider network according to propagation criteria
US10466991B1 (en) Computing instance software package installation
US9665732B2 (en) Secure Download from internet marketplace
US10545667B1 (en) Dynamic data partitioning for stateless request routing
US9503351B1 (en) Deployment feedback for system updates to resources in private networks
US9442746B2 (en) Common system services for managing configuration and other runtime settings of applications
CN115103028B (zh) SaaS应用的请求处理方法、装置、计算机设备
US11625358B1 (en) Automatic object archiving based on user selections
CN112583891B (zh) 接口文档获取方法、装置和服务器
CN114363403A (zh) 服务访问方法、***、计算机设备和存储介质
US11303523B2 (en) Cloud-based service policy reroute
CN110083509B (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
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder

Address after: 518000 4001, Block D, Building 1, Chuangzhi Yuncheng Lot 1, Liuxian Avenue, Xili Community, Xili Street, Nanshan District, Shenzhen, Guangdong

Patentee after: Shenzhen Zhuyun Technology Co.,Ltd.

Address before: 518051 East, 3rd floor, incubation building, China Academy of science and technology development, No. 009, Gaoxin South 1st Road, Nanshan District, Shenzhen, Guangdong Province

Patentee before: Shenzhen Zhuyun Technology Co.,Ltd.

CP02 Change in the address of a patent holder