CN108632374B - 软件灰度发布方法及装置 - Google Patents

软件灰度发布方法及装置 Download PDF

Info

Publication number
CN108632374B
CN108632374B CN201810439354.4A CN201810439354A CN108632374B CN 108632374 B CN108632374 B CN 108632374B CN 201810439354 A CN201810439354 A CN 201810439354A CN 108632374 B CN108632374 B CN 108632374B
Authority
CN
China
Prior art keywords
client
gray scale
software
network address
address information
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.)
Active
Application number
CN201810439354.4A
Other languages
English (en)
Other versions
CN108632374A (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.)
Jinbi Smart Life Technology Shenzhen Co ltd
Original Assignee
Evergrande Intelligent 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 Evergrande Intelligent Technology Co Ltd filed Critical Evergrande Intelligent Technology Co Ltd
Priority to CN201810439354.4A priority Critical patent/CN108632374B/zh
Publication of CN108632374A publication Critical patent/CN108632374A/zh
Application granted granted Critical
Publication of CN108632374B publication Critical patent/CN108632374B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

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)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种软件灰度发布方法及装置。所述方法包括:接收来自客户端的软件访问请求,并对软件访问请求进行解析,得到客户端的身份标识信息、软件版本信息及网络地址信息;根据身份标识信息、软件版本信息及网络地址信息查找与软件访问请求匹配的灰度发布策略;若成功查找到匹配的灰度发布策略,根据灰度发布策略从匹配的灰度发布服务器的网络地址信息中为客户端分配一个目标网络地址信息;将目标网络地址信息对应发送给客户端,以使客户端固定访问该目标网络地址信息对应服务器上运行的软件内容。所述方法可快速灵活地为客户端固定分配合适的灰度发布服务器,使客户端固定接入到对应的灰度发布服务器进行软件访问。

Description

软件灰度发布方法及装置
技术领域
本发明涉及软件灰度发布技术领域,具体而言,涉及一种软件灰度发布方法及装置。
背景技术
随着物联网的快速发展,物联网服务软件的更新与发布也处于快速迭代的状态,因此为确保发布出的新版本的软件能够为用户所接受,发布出的新版本的软件能够根据用户反馈意见及时调整修改,通常会采用灰度发布软件的方式来对软件进行测试调整,其中灰度发布能够使部分客户端路由到运行有新版本软件的灰度发布服务器,而其他客户端依旧与运行有原版本软件的常规服务器数据交互,以通过路由到灰度发布服务器的各客户端的新版本软件使用体验来对新版本软件进行查漏补缺,提高新版本软件质量。
目前,行业内通常采用在灰度发布服务器处的新版本软件代码中嵌入灰度发布逻辑方式,或在数据交互的接入层中针对客户端每次的软件访问请求都进行灰度逻辑判断的方式实现软件的灰度发布。但这两种灰度发布实现方式中,前者在每次修改灰度发布逻辑时都需要修改新版本软件代码,整体工作量大,不利于软件***的稳定及快速上线功能,而后者需要接入层中的各接入设备具有极大的运算功能,运维难度及运维工作量大,灰度发布实现成本高。
发明内容
为了克服现有技术中的上述不足,本发明的目的在于提供一种软件灰度发布方法及装置,所述软件灰度发布方法的实现成本低,实现难度低且实现工作量少,能够为客户端固定分配合适的灰度发布服务器,并快速灵活地将客户端接入到对应的灰度发布服务器。
就方法而言,本发明实施例提供一种软件灰度发布方法,所述方法应用于与客户端通信连接的发布管理服务器,所述发布管理服务器中存储有与所述软件对应的多个灰度发布策略,及各灰度发布策略所对应的灰度发布服务器的网络地址信息,所述方法包括:
接收来自客户端发送的软件访问请求,并对所述软件访问请求进行解析,得到所述软件访问请求包括的客户端的身份标识信息、所述客户端访问软件时的软件版本信息,及所述客户端的网络地址信息;
根据所述身份标识信息、所述软件版本信息及所述网络地址信息查找与所述软件访问请求对应匹配的灰度发布策略;
若成功查找到匹配的灰度发布策略,根据查找到的所述灰度发布策略从与所述灰度发布策略对应的灰度发布服务器的网络地址信息中,为所述客户端分配一个目标网络地址信息;
将分配的所述目标网络地址信息对应发送给所述客户端,以使所述客户端基于获取到的所述目标网络地址信息固定访问所述目标网络地址信息对应服务器上运行的软件内容。
就装置而言,本发明实施例提供一种软件灰度发布装置,所述装置应用于与客户端通信连接的发布管理服务器,所述发布管理服务器中存储有与所述软件对应的多个灰度发布策略,及各灰度发布策略所对应的灰度发布服务器的网络地址信息,所述装置包括:
请求解析模块,用于接收来自客户端发送的软件访问请求,并对所述软件访问请求进行解析,得到所述软件访问请求包括的客户端的身份标识信息、所述客户端访问软件时的软件版本信息,及所述客户端的网络地址信息;
策略查找模块,用于根据所述身份标识信息、所述软件版本信息及所述网络地址信息查找与所述软件访问请求对应匹配的灰度发布策略;
地址分配模块,用于若成功查找到匹配的灰度发布策略,根据查找到的所述灰度发布策略从与所述灰度发布策略对应的灰度发布服务器的网络地址信息中,为所述客户端分配一个目标网络地址信息;
地址发送模块,用于将分配的所述目标网络地址信息对应发送给所述客户端,以使所述客户端基于获取到的所述目标网络地址信息访问所述目标网络地址信息对应服务器上运行的软件内容。
相对于现有技术而言,本发明实施例提供的软件灰度发布方法及装置具有以下有益效果:所述软件灰度发布方法的实现成本低,实现难度低且实现工作量少,能够快速灵活地为客户端固定分配合适的灰度发布服务器,使客户端固定接入到对应的灰度发布服务器中进行软件访问。所述方法应用的发布管理服务器与客户端通信连接,所述发布管理服务器中存储有与所述软件对应的多个灰度发布策略,及各灰度发布策略所对应的灰度发布服务器的网络地址信息。首先,所述方法在接收来自客户端发送的软件访问请求后,通过对所述软件访问请求进行解析,得到所述软件访问请求包括的客户端的身份标识信息、所述客户端访问软件时的软件版本信息,及所述客户端的网络地址信息。接着,所述方法根据所述身份标识信息、所述软件版本信息及所述网络地址信息在所述灰度发布服务器中查找与所述软件访问请求对应匹配的灰度发布策略。然后,所述方法在成功查找到所述软件访问请求匹配的灰度发布策略后,根据查找到的所述灰度发布策略从与所述灰度发布策略对应的灰度发布服务器的网络地址信息中,为所述客户端分配一个目标网络地址信息。最后,所述方法将分配的所述目标网络地址信息对应发送给所述客户端,以使所述客户端基于获取到的所述目标网络地址信息固定访问所述目标网络地址信息对应服务器上运行的软件内容,从而为满足灰度发布策略的客户端固定分配一个灰度发布服务器,使该客户端在软件在线访问过程中无需再次查询灰度控制逻辑,便能直接根据被对应分配的灰度发布服务器的目标网络地址信息固定接入到对应的灰度发布服务器中进行软件访问,整个软件灰度发布过程的实现成本低,实现难度低且实现工作量少。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举本发明较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明权利要求保护范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的发布管理服务器、客户端、灰度发布服务器、常规服务器之间的交互示意图。
图2为本发明实施例提供的软件灰度发布方法的第一种流程示意图。
图3为图2中所示的步骤S220包括的子步骤的流程示意图。
图4为本发明实施例提供的软件灰度发布方法的第二种流程示意图。
图5为本发明实施例提供的软件灰度发布方法的第三种流程示意图。
图6为本发明实施例提供的图1中所示的软件灰度发布装置的第一种方框示意图。
图7为图6中所示的策略查找模块的方框示意图。
图8为本发明实施例提供的图1中所示的软件灰度发布装置的第二种方框示意图。
图标:10-发布管理服务器;20-客户端;30-灰度发布服务器;40-常规服务器;100-软件灰度发布装置;110-请求解析模块;120-策略查找模块;130-地址分配模块;140-地址发送模块;121-位置获取子模块;122-匹配验证子模块;123-策略判定子模块;150-策略配置模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参照图1,是本发明实施例提供的发布管理服务器10、客户端20、灰度发布服务器30、常规服务器40之间的交互示意图。在本发明实施例中,所述发布管理服务器10与所述客户端20通信连接,用于在所述客户端20要进行软件访问时为该客户端20分配一个软件服务器,以使所述客户端20通过固定访问被分配的软件服务器的方式访问该软件服务器上的软件内容。其中所述软件服务器包括灰度发布服务器30及常规服务器40,所述灰度发布服务器30为运行有新版本软件内容的用于进行软件灰度发布的服务器,所述常规服务器40为运行有原版本软件的服务器。
在本实施例中,所述客户端20为登录有软件用户对应的用户账号的终端设备,每个用户账号对应一个软件用户,所述终端设备可以是,但不限于,智能手机、个人电脑(Personal Computer,PC)、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、移动上网设备(Mobile Internet Device,MID)等。
在本实施例中,所述发布管理服务器10用于对客户端20是否进行软件灰度发布的事件进行管理,并对符合软件灰度发布条件的客户端20固定分配一个灰度发布服务器30,使该客户端20在软件在线访问过程中无需再次从所述发布管理服务器10处获取新的灰度发布服务器30的网络地址信息,便能直接根据被分配的灰度发布服务器30的目标网络地址信息固定接入到所述灰度发布服务器30中进行软件访问。
在本实施例中,与所述发布管理服务器10通信连接的客户端20的数目为至少一个,所述软件服务器中的灰度发布服务器30的数目为至少一个,所述软件服务器中的常规服务器40的数目为至少一个。每个软件服务器被对应分配的次数可以为多个,即每个软件服务器对应的客户端20的数目可以为多个。
请参照图2,是本发明实施例提供的软件灰度发布方法的第一种流程示意图。在本发明实施例中,所述软件灰度发布方法应用于图1中所示的与客户端20通信连接的发布管理服务器10,所述发布管理服务器10中存储有与所述软件对应的多个灰度发布策略,及各灰度发布策略所对应的灰度发布服务器30的网络地址信息,其中所述灰度发布策略用于对客户端20是否需要进行软件灰度发布访问调试的判断策略,每个灰度发布策略所对应的灰度发布服务器30数目可以为多个,也可以仅为一个。下面对图2所示的软件灰度发布方法的具体流程和步骤进行详细阐述。
步骤S210,接收来自客户端20发送的软件访问请求,并对所述软件访问请求进行解析,得到所述软件访问请求包括的客户端20的身份标识信息、所述客户端20访问软件时的软件版本信息,及所述客户端20的网络地址信息。
在本实施例中,软件用户在客户端20处登录对应的用户账号,以通过该客户端20进行软件访问时,所述客户端20将向所述发布管理服务器10发送软件访问请求,其中所述软件访问请求包括该客户端20的身份标识信息、所述客户端20访问软件时的软件版本信息,及所述客户端20当前的网络地址信息。所述身份标识信息用于表示该客户端20独立于其他电子设备的身份,所述身份标识信息可以是该客户端20的物理地址(例如MAC地址),也可以是该客户端20的UUID(University Unique Identifier,通用唯一标识符);所述软件版本信息为所述客户端20上运行的与软件前端对应匹配的版本信息;所述网络地址信息为所述客户端20在所处位置处进行网络访问时被分配的网络地址,所述网络地址信息可以是该客户端20对应的IP地址。
所述发布管理服务器10在接收到来自客户端20的软件访问请求后,通过对所述软件访问请求进行解析的方式,得到所述软件访问请求包括的客户端20的身份标识信息、所述客户端20访问软件时的软件版本信息,及所述客户端20的网络地址信息。
步骤S220,根据所述身份标识信息、所述软件版本信息及所述网络地址信息查找与所述软件访问请求对应匹配的灰度发布策略。
请参照图3,是图2中所示的步骤S220包括的子步骤的流程示意图。在本实施例中,所述发布管理服务器10中存储的每个灰度发布策略包括用于对身份标识信息进行验证的身份匹配子策略、用于对软件版本信息进行验证的版本匹配子策略,及用于对客户端20所在区域进行验证的位置匹配子策略。所述步骤S220可以包括子步骤S221、子步骤S222及子步骤S223。
子步骤S221,对所述客户端20的网络地址信息进行分析处理,得到所述客户端20对应的位置信息。
在本实施例中,所述发布管理服务器10在从所述软件访问请求处获取到发送所述软件访问请求的客户端20的网络地址信息后,通过对所述网络地址信息进行分析处理,得到对应的所述客户端20所处位置的位置信息。
子步骤S222,将每个灰度发布策略对应的身份匹配子策略、版本匹配子策略及位置匹配子策略,分别与所述客户端20的省份标识信息、软件版本信息及位置信息进行一一比对匹配。
在本实施例中,所述发布管理服务器10通过将发送所述软件访问请求的客户端20的省份标识信息、软件版本信息及位置信息,分别与存储的各灰度发布策略所对应的身份匹配子策略、版本匹配子策略及位置匹配子策略进行比对匹配的方式,查询所述发布管理服务器10存储的所有灰度发布策略中是否存在与所述软件访问请求匹配的灰度发布策略。
子步骤S223,若所述客户端20的身份标识信息、软件版本信息及位置信息各自符合同一灰度发布策略对应的身份匹配子策略、版本匹配子策略及位置匹配子策略,判定所述灰度发布策略为与软件访问请求对应匹配的灰度发布策略。
在本实施例中,若所述客户端20的身份标识信息、软件版本信息及位置信息各自符合所述发布管理服务器10存储的各灰度发布策略中的某个灰度发布策略所对应的身份匹配子策略、版本匹配子策略及位置匹配子策略,即所述身份标识信息符合同一灰度发布策略所对应的身份匹配子策略,所述软件版本信息符合同一灰度发布策略所对应的版本匹配子策略,且所述位置信息符合同一灰度发布策略所对应的位置匹配子策略时,所述发布管理服务器10将包括分别与所述客户端20的三种信息匹配的三个匹配子策略的灰度发布策略判定所述软件访问请求对应匹配的灰度发布策略。
例如,某个灰度发布策略A的身份匹配子策略是要求客户端20的UUID是以1234为开头,所述灰度发布策略A对应的版本匹配子策略是要求客户端20软件访问时的软件版本为1.1版本,所述灰度发布策略A对应的位置匹配子策略是要求客户端20的位置处于四川区域。另一个灰度发布策略B的身份匹配子策略是要求客户端20的UUID是以135为开头,所述灰度发布策略B对应的版本匹配子策略为空(即对客户端20软件访问时的软件版本无要求),所述灰度发布策略B对应的位置匹配子策略是要求客户端20的位置处于广东区域。若所述发布管理服务器10从软件访问请求中获取到的客户端20的身份标识信息是以1234为开头的UUID,软件版本信息为1.1版本,位置信息处于四川区域,三种信息各自符合灰度发布策略A的三个匹配子策略时,该灰度发布策略A将被对应判定为所述软件访问请求匹配的灰度发布策略。若所述发布管理服务器10从软件访问请求中获取到的客户端20的身份标识信息是以135为开头的UUID,软件版本信息为1.1版本或0.6版本,位置信息处于广东区域时,该客户端20对应的三种信息各自符合灰度发布策略B的三个匹配子策略时,该灰度发布策略B将被对应判定为所述软件访问请求匹配的灰度发布策略。
请再次参照图2,步骤S230,若成功查找到匹配的灰度发布策略,根据查找到的所述灰度发布策略从与所述灰度发布策略对应的灰度发布服务器30的网络地址信息中,为所述客户端20分配一个目标网络地址信息。
在本实施例中,所述发布管理服务器10存储的每个灰度发布策略各自对应的灰度发布服务器30数目为至少一个,所述发布管理服务器10中记录有各灰度发布服务器30被分配的次数。
若所述发布管理服务器10成功查找到与所述软件访问请求对应匹配的灰度发布策略,且被成功查找到的所述灰度发布策略所对应的灰度发布服务器30的数目仅为一个时,所述根据查找到的所述灰度发布策略从与所述灰度发布策略对应的灰度发布服务器30的网络地址信息中,为所述客户端20分配一个目标网络地址信息的步骤包括:
直接将所述灰度发布策略所对应的灰度发布服务器30分配给所述客户端20,并以所述灰度发布服务器30的网络地址信息作为所述客户端20对应的目标网络地址信息。
若所述发布管理服务器10成功查找到与所述软件访问请求对应匹配的灰度发布策略,且被成功查找到的所述灰度发布策略所对应的灰度发布服务器30的数目为多个时,所述根据查找到的所述灰度发布策略从与所述灰度发布策略对应的灰度发布服务器30的网络地址信息中,为所述客户端20分配一个目标网络地址信息的步骤包括:
根据所述灰度发布策略所对应的各灰度发布服务器30被分配的次数,选取分配次数最少的所述灰度发布服务器30分配给所述客户端20,并以被选取的所述灰度发布服务器30的网络地址信息作为所述客户端20对应的目标网络地址信息,以使所述灰度发布策略对应的各灰度发布服务器30在被客户端20通信连接时相互负载均衡。
步骤S240,将分配的所述目标网络地址信息对应发送给所述客户端20,以使所述客户端20基于获取到的所述目标网络地址信息固定访问所述目标网络地址信息对应服务器上运行的软件内容。
在本实施例中,所述发布管理服务器10在为发送所述软件访问请求的客户端20固定分配一个软件服务器的网络地址信息,作为该客户端20匹配的目标网络地址信息后,将分配给所述客户端20的目标网络地址信息发送给所述客户端20,以使所述客户端20基于获取到的所述目标网络地址信息固定访问所述目标网络地址信息对应的软件服务器上运行的软件内容。
若所述发布管理服务器10为所述客户端20分配的目标网络地址信息是灰度发布服务器30的网络地址信息时,所述客户端20将根据获取到的目标网络地址信息固定访问该目标网络地址信息对应的灰度发布服务器30上运行的新版本软件内容。
若所述发布管理服务器10为所述客户端20分配的目标网络地址信息是常规服务器40的网络地址信息时,所述客户端20将根据获取到的目标网络地址信息固定访问该目标网络地址信息对应的常规服务器40上运行的原版本软件内容。
请参照图4,是本发明实施例提供的软件灰度发布方法的第二种流程示意图。在本发明实施例中,所述发布管理服务器10中还存储有与所述软件对应的各常规服务器40的网络地址信息,及各常规服务器40被分配的次数。在所述步骤S240之前,所述方法还包括步骤S250,所述步骤S250与所述步骤S230相互并列且无执行先后的关系。
步骤S250,若未查找到匹配的灰度发布策略,根据各常规服务器40被分配的次数将被分配次数最少的常规服务器40分配给所述客户端20,并以该常规服务器40的网络地址信息作为所述客户端20对应的目标网络地址信息。
在本实施例中,若所述发布管理服务器10存储的所有灰度发布策略中并无与所述软件访问请求匹配的灰度发布策略,即发布管理服务器10存储的每个灰度发布策略所对应的三个身份匹配子策略、版本匹配子策略及位置匹配子策略中至少有一个匹配子策略并不与所述客户端20符合,则所述发布管理服务器10将判定未查找到与所述软件访问请求匹配的灰度发布策略,所述发布管理服务器10将根据存储的各常规服务器40被分配的次数将被分配次数最少的常规服务器40分配给所述客户端20,并以该常规服务器40的网络地址信息作为所述客户端20对应的目标网络地址信息,以使所述客户端20基于所述目标网络地址信息访问对应匹配的常规服务器40上运行的软件内容。
请参照图5,是本发明实施例提供的软件灰度发布方法的第三种流程示意图。在本发明实施例中,在所述步骤S210之前,所述软件灰度发布方法还可以包括步骤S209。
步骤S209,对各灰度发布策略进行配置,并建立所述灰度发布策略与所述灰度发布服务器30之间的联系。
在本实施例中,软件生产人员在灰度发布服务器30上部署新版本软件的软件内容后,通过在发布管理服务器10上为部署有所述新版本软件的灰度发布服务器30配置对应的灰度发布策略,从而完成对各灰度发布策略的配置工作,并建立完成所述灰度发布策略与所述灰度发布服务器30之间的联系。
请参照图6,是本发明实施例提供的图1中所示的软件灰度发布装置100的第一种方框示意图。在本发明实施例中,所述发布管理服务器10包括软件灰度发布装置100,所述发布管理服务器10通过所述软件灰度发布装置100执行图2-图5所示的软件灰度发布方法,实现软件的灰度发布。其中所述软件灰度发布装置100包括请求解析模块110、策略查找模块120、地址分配模块130及地址发送模块140。
所述请求解析模块110,用于接收来自客户端20发送的软件访问请求,并对所述软件访问请求进行解析,得到所述软件访问请求包括的客户端20的身份标识信息、所述客户端20访问软件时的软件版本信息,及所述客户端20的网络地址信息。
在本实施例中,所述请求解析模块110可以执行图2中的步骤S210,具体的执行过程可参照上文中对步骤S210的详细描述。
所述策略查找模块120,用于根据所述身份标识信息、所述软件版本信息及所述网络地址信息查找与所述软件访问请求对应匹配的灰度发布策略。
请参照图7,是图6中所示的策略查找模块120的方框示意图。在本实施例中,所述策略查找模块120包括位置获取子模块121、匹配验证子模块122及策略判定子模块123。
所述位置获取子模块121,用于对所述客户端20的网络地址信息进行分析处理,得到所述客户端20对应的位置信息。
所述匹配验证子模块122,用于将每个灰度发布策略对应的身份匹配子策略、版本匹配子策略及位置匹配子策略,分别与所述客户端20的省份标识信息、软件版本信息及位置信息进行一一比对匹配。
所述策略判定子模块123,用于若所述客户端20的身份标识信息、软件版本信息及位置信息各自符合同一灰度发布策略对应的身份匹配子策略、版本匹配子策略及位置匹配子策略,判定所述灰度发布策略为与软件访问请求对应匹配的灰度发布策略。
在本实施例中,所述位置获取子模块121、所述匹配验证子模块122及所述策略判定子模块123可以各自执行图3中的子步骤S221、子步骤S222及子步骤S223,具体的执行过程可参照上文中对子步骤S221、子步骤S222及子步骤S223的详细描述。
请再次参照图6,所述地址分配模块130,用于若成功查找到匹配的灰度发布策略,根据查找到的所述灰度发布策略从与所述灰度发布策略对应的灰度发布服务器30的网络地址信息中,为所述客户端20分配一个目标网络地址信息。
所述地址分配模块130,还用于若未查找到匹配的灰度发布策略,根据各常规服务器40被分配的次数将被分配次数最少的常规服务器40分配给所述客户端20,并以该常规服务器40的网络地址信息作为所述客户端20对应的目标网络地址信息。
在本实施例中,所述地址分配模块130可以执行图2中的步骤S230及图4中所示的步骤S250,具体的执行过程可参照上文中对步骤S230及步骤S250的详细描述。
所述地址发送模块140,用于将分配的所述目标网络地址信息对应发送给所述客户端20,以使所述客户端20基于获取到的所述目标网络地址信息固定访问所述目标网络地址信息对应服务器上运行的软件内容。
在本实施例中,所述地址发送模块140可以执行图2中的步骤S240,具体的执行过程可参照上文中对步骤S240的详细描述。
请参照图8,是本发明实施例提供的图1中所示的软件灰度发布装置100的第二种方框示意图。在本发明实施例中,所述软件灰度发布装置100还可以包括策略配置模块150。
所述策略配置模块150,用于对各灰度发布策略进行配置,并建立所述灰度发布策略与所述灰度发布服务器30之间的联系。
在本实施例中,所述策略配置模块150可以执行图5中的步骤S209,具体的执行过程可参照上文中对步骤S209的详细描述。
综上所述,在本发明实施例提供的软件灰度发布方法及装置中,所述软件灰度发布方法的实现成本低,实现难度低且实现工作量少,能够快速灵活地为客户端固定分配合适的灰度发布服务器,使客户端固定接入到对应的灰度发布服务器中进行软件访问。所述方法应用的发布管理服务器与客户端通信连接,所述发布管理服务器中存储有与所述软件对应的多个灰度发布策略,及各灰度发布策略所对应的灰度发布服务器的网络地址信息。首先,所述方法在接收来自客户端发送的软件访问请求后,通过对所述软件访问请求进行解析,得到所述软件访问请求包括的客户端的身份标识信息、所述客户端访问软件时的软件版本信息,及所述客户端的网络地址信息。接着,所述方法根据所述身份标识信息、所述软件版本信息及所述网络地址信息在所述灰度发布服务器中查找与所述软件访问请求对应匹配的灰度发布策略。然后,所述方法在成功查找到所述软件访问请求匹配的灰度发布策略后,根据查找到的所述灰度发布策略从与所述灰度发布策略对应的灰度发布服务器的网络地址信息中,为所述客户端分配一个目标网络地址信息。最后,所述方法将分配的所述目标网络地址信息对应发送给所述客户端,以使所述客户端基于获取到的所述目标网络地址信息固定访问所述目标网络地址信息对应服务器上运行的软件内容,从而为满足灰度发布策略的客户端固定分配一个灰度发布服务器,使该客户端在软件在线访问过程中无需再次查询灰度控制逻辑,便能直接根据被对应分配的灰度发布服务器的目标网络地址信息固定接入到对应的灰度发布服务器中进行软件访问,整个软件灰度发布过程的实现成本低,实现难度低且实现工作量少。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种软件灰度发布方法,其特征在于,应用于与客户端通信连接的发布管理服务器,所述发布管理服务器中存储有与所述软件对应的多个灰度发布策略,及各灰度发布策略所对应的灰度发布服务器的网络地址信息,所述方法包括:
接收来自客户端发送的软件访问请求,并对所述软件访问请求进行解析,得到所述软件访问请求包括的客户端的身份标识信息、所述客户端访问软件时的软件版本信息,及所述客户端的网络地址信息;
根据所述身份标识信息、所述软件版本信息及所述网络地址信息查找与所述软件访问请求对应匹配的灰度发布策略;
若成功查找到匹配的灰度发布策略,根据查找到的所述灰度发布策略从与所述灰度发布策略对应的灰度发布服务器的网络地址信息中,为所述客户端分配一个目标网络地址信息;
将分配的所述目标网络地址信息对应发送给所述客户端,以使所述客户端基于获取到的所述目标网络地址信息固定访问所述目标网络地址信息对应服务器上运行的软件内容。
2.根据权利要求1所述的方法,其特征在于,每个灰度发布策略包括用于对身份标识信息进行验证的身份匹配子策略、用于对软件版本信息进行验证的版本匹配子策略,及用于对客户端所在区域进行验证的位置匹配子策略,所述根据所述身份标识信息、所述软件版本信息及所述网络地址信息查找与所述软件访问请求对应匹配的灰度发布策略的步骤包括:
对所述客户端的网络地址信息进行分析处理,得到所述客户端对应的位置信息;
将每个灰度发布策略对应的身份匹配子策略、版本匹配子策略及位置匹配子策略,分别与所述客户端的身份标识信息、软件版本信息及位置信息进行一一比对匹配;
若所述客户端的身份标识信息、软件版本信息及位置信息各自符合同一灰度发布策略对应的身份匹配子策略、版本匹配子策略及位置匹配子策略,判定所述灰度发布策略为与软件访问请求对应匹配的灰度发布策略。
3.根据权利要求2所述的方法,其特征在于,若成功查找到的所述灰度发布策略对应的灰度发布服务器的数目仅为一个,所述根据查找到的所述灰度发布策略从与所述灰度发布策略对应的灰度发布服务器的网络地址信息中,为所述客户端分配一个目标网络地址信息的步骤包括:
直接将所述灰度发布策略所对应的灰度发布服务器分配给所述客户端,并以所述灰度发布服务器的网络地址信息作为所述客户端对应的目标网络地址信息。
4.根据权利要求2所述的方法,其特征在于,所述发布管理服务器中记录有各灰度发布服务器被分配的次数,若成功查找到的所述灰度发布策略对应的灰度发布服务器的数目为多个,所述根据查找到的所述灰度发布策略从与所述灰度发布策略对应的灰度发布服务器的网络地址信息中,为所述客户端分配一个目标网络地址信息的步骤包括:
根据所述灰度发布策略所对应的各灰度发布服务器被分配的次数,选取分配次数最少的所述灰度发布服务器分配给所述客户端,并以被选取的所述灰度发布服务器的网络地址信息作为所述客户端对应的目标网络地址信息,以使所述灰度发布策略对应的各灰度发布服务器相互之间负载均衡。
5.根据权利要求1-4中任意一项所述的方法,其特征在于,所述发布管理服务器中还存储有与所述软件对应的各常规服务器的网络地址信息,及各常规服务器被分配的次数,在所述将分配的所述目标网络地址信息对应发送给所述客户端的步骤之前,所述方法还包括:
若未查找到匹配的灰度发布策略,根据各常规服务器被分配的次数将被分配次数最少的常规服务器分配给所述客户端,并以该常规服务器的网络地址信息作为所述客户端对应的目标网络地址信息。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
对各灰度发布策略进行配置,并建立所述灰度发布策略与所述灰度发布服务器之间的联系。
7.一种软件灰度发布装置,其特征在于,应用于与客户端通信连接的发布管理服务器,所述发布管理服务器中存储有与所述软件对应的多个灰度发布策略,及各灰度发布策略所对应的灰度发布服务器的网络地址信息,所述装置包括:
请求解析模块,用于接收来自客户端发送的软件访问请求,并对所述软件访问请求进行解析,得到所述软件访问请求包括的客户端的身份标识信息、所述客户端访问软件时的软件版本信息,及所述客户端的网络地址信息;
策略查找模块,用于根据所述身份标识信息、所述软件版本信息及所述网络地址信息查找与所述软件访问请求对应匹配的灰度发布策略;
地址分配模块,用于若成功查找到匹配的灰度发布策略,根据查找到的所述灰度发布策略从与所述灰度发布策略对应的灰度发布服务器的网络地址信息中,为所述客户端分配一个目标网络地址信息;
地址发送模块,用于将分配的所述目标网络地址信息对应发送给所述客户端,以使所述客户端基于获取到的所述目标网络地址信息访问所述目标网络地址信息对应服务器上运行的软件内容。
8.根据权利要求7所述的装置,其特征在于,每个灰度发布策略包括用于对身份标识信息进行验证的身份匹配子策略、用于对软件版本信息进行验证的版本匹配子策略,及用于对客户端所在区域进行验证的位置匹配子策略,所述策略查找模块包括:
位置获取子模块,用于对客户端的网络地址信息进行分析处理,得到所述客户端对应的位置信息;
匹配验证子模块,用于将每个灰度发布策略对应的身份匹配子策略、版本匹配子策略及位置匹配子策略,分别与所述客户端的身份标识信息、软件版本信息及位置信息进行一一比对匹配;
策略判定子模块,用于若所述客户端的身份标识信息、软件版本信息及位置信息各自符合同一灰度发布策略对应的身份匹配子策略、版本匹配子策略及位置匹配子策略,判定所述灰度发布策略为与软件访问请求对应匹配的灰度发布策略。
9.根据权利要求7或8所述的装置,其特征在于,所述发布管理服务器中还存储有与所述软件对应的各常规服务器的网络地址信息,及各常规服务器被分配的次数;
所述地址分配模块,还用于若未查找到匹配的灰度发布策略,根据各常规服务器被分配的次数将被分配次数最少的常规服务器分配给所述客户端,并以该常规服务器的网络地址信息作为所述客户端对应的目标网络地址信息。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
策略配置模块,用于对各灰度发布策略进行配置,并建立所述灰度发布策略与所述灰度发布服务器之间的联系。
CN201810439354.4A 2018-05-09 2018-05-09 软件灰度发布方法及装置 Active CN108632374B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810439354.4A CN108632374B (zh) 2018-05-09 2018-05-09 软件灰度发布方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810439354.4A CN108632374B (zh) 2018-05-09 2018-05-09 软件灰度发布方法及装置

Publications (2)

Publication Number Publication Date
CN108632374A CN108632374A (zh) 2018-10-09
CN108632374B true CN108632374B (zh) 2021-06-18

Family

ID=63692473

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810439354.4A Active CN108632374B (zh) 2018-05-09 2018-05-09 软件灰度发布方法及装置

Country Status (1)

Country Link
CN (1) CN108632374B (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109683936B (zh) * 2018-12-20 2023-03-14 恒生电子股份有限公司 灰度发布方法及装置、存储介质及电子设备
CN111381845B (zh) * 2018-12-28 2023-09-01 广州市百果园信息技术有限公司 软件灰度升级方法、装置、存储介质、终端和服务器
CN109992273B (zh) * 2019-01-03 2022-12-20 蔚来(安徽)控股有限公司 一种灰度发布方法以及灰度发布***
CN109787830B (zh) * 2019-01-21 2023-03-07 北京京东尚科信息技术有限公司 灰度发布控制方法、装置、***、电子设备及存储介质
CN109871224A (zh) * 2019-02-13 2019-06-11 北京炎黄新星网络科技有限公司 一种基于用户标识的灰度发布方法、***、介质及设备
CN110442361B (zh) * 2019-06-27 2024-02-09 五八有限公司 一种灰度发布方法、装置及电子设备
CN112181475A (zh) * 2019-07-04 2021-01-05 深圳市观麦网络科技有限公司 一种灰度发布方法及装置
CN110647336A (zh) * 2019-08-13 2020-01-03 平安普惠企业管理有限公司 灰度发布方法、装置、计算机设备和存储介质
CN110912734B (zh) * 2019-10-31 2022-07-22 北京浪潮数据技术有限公司 云管理平台实现容器应用多维度灰度发布方法及装置
CN111090452B (zh) * 2019-11-11 2023-04-28 福建天泉教育科技有限公司 服务环境的切换方法及计算机可读存储介质
CN111723003A (zh) * 2020-05-18 2020-09-29 五八有限公司 一种灰度测试方法、装置、电子设备及存储介质
CN111782260B (zh) * 2020-06-29 2024-01-26 中国工商银行股份有限公司 灰度发布方法及灰度发布装置
CN111897571A (zh) * 2020-08-04 2020-11-06 上海非码网络科技有限公司 基于Spring Cloud的灰度发布方法及其***
CN111913738B (zh) * 2020-08-19 2024-04-30 中国工商银行股份有限公司 访问请求的处理方法、装置、计算设备和介质
CN112532602A (zh) * 2020-11-20 2021-03-19 中国联合网络通信集团有限公司 灰度发布方法、设备及服务器
CN112486550A (zh) * 2020-11-25 2021-03-12 上海中通吉网络技术有限公司 Web端灰度发布方法、装置和***
CN113382051A (zh) * 2021-06-01 2021-09-10 中国民航信息网络股份有限公司 一种全链路的灰度发布方法及灰度发布***
CN113791805B (zh) * 2021-09-17 2022-08-12 马上消费金融股份有限公司 微服务灰度发布方法及装置
CN114363343B (zh) * 2021-12-30 2024-04-30 上海浦东发展银行股份有限公司 基于微服务架构的请求数据处理方法、装置、计算机设备
CN115357280A (zh) * 2022-08-09 2022-11-18 湖南木屋网络科技有限公司 软件版本管理方法、装置、服务器及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297472A (zh) * 2012-03-01 2013-09-11 上海盛霄云计算技术有限公司 一种应用于内容分发网络的重定向方法及内容分发节点
CN105808274A (zh) * 2014-12-30 2016-07-27 航天信息股份有限公司 软件升级方法、***及对应的客户端与服务器
CN105871961A (zh) * 2015-01-23 2016-08-17 ***通信集团浙江有限公司 一种灰度发布路由的方法及装置
CN106685687A (zh) * 2016-09-23 2017-05-17 北京五八信息技术有限公司 灰度发布方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101777064A (zh) * 2009-01-12 2010-07-14 鸿富锦精密工业(深圳)有限公司 图片搜索***及方法
CN103095743A (zh) * 2011-10-28 2013-05-08 阿里巴巴集团控股有限公司 一种灰度发布的处理方法及***
CN103176790B (zh) * 2011-12-26 2016-04-20 阿里巴巴集团控股有限公司 应用发布方法和***
CN104378304B (zh) * 2013-08-14 2019-04-02 腾讯科技(深圳)有限公司 灰度发布的控制方法、装置及***
CN104156246B (zh) * 2014-08-12 2017-06-16 小米科技有限责任公司 灰度升级的方法及装置
CN107957888B (zh) * 2016-10-14 2022-03-18 北京国双科技有限公司 应用程序的灰度升级方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297472A (zh) * 2012-03-01 2013-09-11 上海盛霄云计算技术有限公司 一种应用于内容分发网络的重定向方法及内容分发节点
CN105808274A (zh) * 2014-12-30 2016-07-27 航天信息股份有限公司 软件升级方法、***及对应的客户端与服务器
CN105871961A (zh) * 2015-01-23 2016-08-17 ***通信集团浙江有限公司 一种灰度发布路由的方法及装置
CN106685687A (zh) * 2016-09-23 2017-05-17 北京五八信息技术有限公司 灰度发布方法及装置

Also Published As

Publication number Publication date
CN108632374A (zh) 2018-10-09

Similar Documents

Publication Publication Date Title
CN108632374B (zh) 软件灰度发布方法及装置
CN110535777B (zh) 访问请求控制方法、装置、电子设备以及可读存储介质
CN107733922B (zh) 用于调用服务的方法和装置
CN105791341B (zh) 一种应用发布的处理方法、装置及***
CN108737467B (zh) 一种服务器日志查看方法、装置和***
CN103391312B (zh) 资源离线下载方法及装置
CN110225039B (zh) 权限模型获取、鉴权方法、网关、服务器以及存储介质
CN111858054A (zh) 一种异构环境下基于边缘计算的资源调度***及方法
CN110781015A (zh) 消息队列的分配方法、装置、设备及计算机可读存储介质
CN112954040B (zh) 嵌入应用发布服务器的方法、***、设备及存储介质
CN112532683A (zh) 一种基于微服务架构下的边缘计算方法和设备
CN113791759A (zh) 代码开发的处理方法、装置、电子设备与存储介质
CN112333289A (zh) 反向代理访问方法、装置、电子设备及存储介质
CN113326946A (zh) 更新应用识别模型的方法、装置及存储介质
CN114301990A (zh) 基于内容分发网络的节点调度方法、装置、存储介质
CN111221565A (zh) 一种软件应用程序的阶梯灰度发布控制方法
CN107277188B (zh) 一种确定ip地址归属信息的方法、客户端、服务器及业务***
CN110750780B (zh) 基于多业务***的用户角色权限融合方法、装置以及设备
CN105872082B (zh) 基于容器集群负载均衡算法的细粒度资源响应***
CN111866203B (zh) 一种域名解析方法、装置、可读存储介质及设备
CN111338758A (zh) 资源管理方法、装置和电子设备
CN111885190A (zh) 服务请求处理方法及***
CN114257503A (zh) 加速域名部署方法、服务器、***和存储介质
CN114237633A (zh) 应用配置方法、装置、设备及存储介质
CN113821495A (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
TA01 Transfer of patent application right

Effective date of registration: 20190201

Address after: 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 after: HENGDA WISDOM TECHNOLOGY Co.,Ltd.

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: XINGLUO TECHNOLOGY Co.,Ltd.

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

Effective date of registration: 20221129

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

Patentee after: Jinbi Smart Life Technology (Shenzhen) Co.,Ltd.

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.)

Patentee before: HENGDA WISDOM TECHNOLOGY Co.,Ltd.