CN113542387B - 系统发布方法、装置、电子设备及存储介质 - Google Patents

系统发布方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113542387B
CN113542387B CN202110780263.9A CN202110780263A CN113542387B CN 113542387 B CN113542387 B CN 113542387B CN 202110780263 A CN202110780263 A CN 202110780263A CN 113542387 B CN113542387 B CN 113542387B
Authority
CN
China
Prior art keywords
cluster
gray scale
service request
package
application cluster
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
CN202110780263.9A
Other languages
English (en)
Other versions
CN113542387A (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.)
Ping An Bank Co Ltd
Original Assignee
Ping An Bank 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 Bank Co Ltd filed Critical Ping An Bank Co Ltd
Priority to CN202110780263.9A priority Critical patent/CN113542387B/zh
Publication of CN113542387A publication Critical patent/CN113542387A/zh
Application granted granted Critical
Publication of CN113542387B publication Critical patent/CN113542387B/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/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种测试技术领域,揭露了一种系统发布方法,包括:获取系统运行包,识别系统运行包的应用集群;将应用集群中预设数量的节点服务器迁移至灰度集群,通过发布机器在灰度集群中的节点服务器发布系统运行包,得到初始发布系统;响应于客户机在应用集群的业务请求,配置业务请求在灰度集群的网关地址,根据网关地址及业务请求对初始发布系统进行服务响应验证;若服务响应验证失败,重新获取系统运行包;若服务响应验证成功,将灰度集群中的节点服务器迁回至应用集群,通过发布机器在应用集群中发布系统运行包,得到目标发布系统。此外,本发明还涉及区块链技术,所述系统运行包可存储于区块链中。本发明可以降低系统发布的经济和时间成本。

Description

系统发布方法、装置、电子设备及存储介质
技术领域
本发明涉及测试技术领域,尤其涉及一种系统发布方法、装置、电子设备及计算机可读存储介质。
背景技术
在线系统是指需要上线发布的新系统。在线系统在生产环境发布过程中,为了不影响线上业务,保证业务平稳运行,通常会对在线系统引入相应的发布方案。目前常见的发布方案包括:蓝绿发布和灰度发布。
其中,所述蓝绿发布是准备两套系统运行环境,一套提供旧系统正常服务,一套用来发布新系统,新系统发布完成后通过负载均衡设备进行流量切换,一旦发现问题可以快速切换回原来的版本,但是采用蓝绿发布测试方案需要运行两套程序,对硬件的要求就是日常所需的二倍,这样容易带来较大的经济成本;所述灰度发布是在系统原有版本可用的情况下,同时部署一个新系统应用作为“金丝雀”,即将用户进行区分,在新系统上线时,只让部分用户使用,根据这部分用户的反馈再决定新系统的投产情况,这样需要不断切换新系统的流量负载,从而容易耗费较多的时间。
综上所述,目前在线系统发布存在较大的经济成本和时间成本。
发明内容
本发明提供一种系统发布方法、装置、电子设备及计算机可读存储介质,其主要目的在于降低在系统发布时的经济成本和时间成本。
为实现上述目的,本发明提供的一种系统发布方法,包括:
获取系统运行包,识别用于运行所述系统运行包的应用集群;
将所述应用集群中预设数量的节点服务器迁移至预设的灰度集群中,利用预设的发布机器在所述灰度集群中的节点服务器发布所述系统运行包,得到初始发布系统;
响应于客户机在所述应用集群中的业务请求,配置所述业务请求在所述灰度集群中的网关地址,根据所述网关地址及所述业务请求,对所述初始发布系统进行服务响应验证;
若所述服务响应验证失败,则重新获取系统运行包;
若所述服务响应验证成功,则将所述灰度集群中的节点服务器迁回至所述应用集群中,通过所述发布机器在所述应用集群中发布所述系统运行包,得到目标发布系统。
可选地,所述获取系统运行包,包括:
获取待发布系统的程序源代码,对所述程序源代码进行打包,得到程序源代码运行包;
查询所述待发布系统的配置参数,将所述程序源代码运行包和所述配置参数进行汇总,得到所述系统运行包。
可选地,所述识别运行所述系统运行包的应用集群包括:
获取所述系统运行包的运行流量;
根据预先设置的服务器数量,采用负载均衡算法对所述运行流量进行节点服务器分配,对分配后的节点服务器进行集群组合,得到应用集群。
可选地,所述将所述应用集群中预设数量的节点服务器迁移至预创建的灰度集群中,包括:
获取所述应用集群的第一配置文件和所述灰度集群的第二配置文件,根据所述第一配置文件和所述第二配置文件,创建所述应用集群与所述灰度集群的迁移通道;
根据所述迁移通道,利用迁移工具将所述应用集群中预设数量的节点服务器迁移至所述灰度集群中。
可选地,所述响应于客户机在所述应用集群中节点服务器的业务请求,配置所述业务请求在所述灰度集群中的网关地址,包括:
根据预设的业务请求监听事件,触发所述客户机的业务请求;
采用负载均衡算法,划分所述业务请求在所述灰度集群中的请求任务,根据所述请求任务,查找所述客户机的客户端地址;
基于所述客户端地址,将所述客户机连接所述灰度集群的通信网络,得到所述业务请求在所述灰度集群中的网关地址。
可选地,所述根据所述网关地址及所述业务请求,对所述初始发布系统进行服务响应验证,包括:
基于所述网关地址,将所述业务请求转发至所述灰度集群的节点服务器中;
响应于所述灰度集群中节点服务器的业务请求,运行所述初始发布系统,得到运行结果,根据所述运行结果,识别所述服务响应验证的结果。
可选地,所述灰度集群包括tomcat集群和容器集群。
为了解决上述问题,本发明还提供一种系统发布装置,所述装置包括:
识别模块,用于获取系统运行包,识别用于运行所述系统运行包的应用集群;
发布模块,用于将所述应用集群中预设数量的节点服务器迁移至预设的灰度集群中,利用预设的发布机器在所述灰度集群中的节点服务器发布所述系统运行包,得到初始发布系统;
验证模块,用于响应于客户机在所述应用集群中的业务请求,配置所述业务请求在所述灰度集群中的网关地址,根据所述网关地址及所述业务请求,对所述初始发布系统进行服务响应验证;
所述验证模块,还用于在所述服务响应验证失败时,重新获取系统运行包;
所述验证模块,还用于在所述服务响应验证成功时,则将所述灰度集群中的节点服务器迁回至所述应用集群中,通过所述发布机器在所述应用集群中发布所述系统运行包,得到目标发布系统。
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以实现上述所述的系统发布方法。
为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个计算机程序,所述至少一个计算机程序被电子设备中的处理器执行以实现上述所述的系统发布方法。
本发明实施例首先识别出新系统的系统运行包的应用集群,将所述应用集群中预设数量的节点服务器迁移至预设的灰度集群中,通过预设的发布机器在所述灰度集群中的节点服务器发布所述系统运行包,得到初始发布系统,保证了旧系统可以正常运行的同时又能进行新系统的测试,从而避免了需要两套程序才能实现新系统的发布;其次,本发明实施例响应于客户机在所述应用集群中的业务请求,配置所述业务请求在所述灰度集群中的网关地址,根据所述网关地址,利用所述业务请求对所述初始发布系统进行服务响应验证,在所述服务响应验证成功时,将所述灰度集群中的节点服务器迁回至所述应用集群中,通过所述发布机器在所述应用集群中发布所述系统运行包,得到目标发布系统,不需要根据用户体验进行逐步实现新系统的上线,从而节约了系统发布的时间。因此,本发明提出的一种系统发布方法、装置、电子设备以及存储介质可以降低在系统发布时的经济成本和时间成本。
附图说明
图1为本发明一实施例提供的系统发布方法的流程示意图;
图2为本发明第一实施例中图1提供的系统发布方法其中一个步骤的详细流程示意图;
图3为本发明第一实施例中图1提供的系统发布方法另外一个步骤的详细流程示意图;
图4为本发明一实施例提供的系统发布装置的模块示意图;
图5为本发明一实施例提供的实现系统发布方法的电子设备的内部结构示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本申请实施例提供一种系统发布方法。所述系统发布方法的执行主体包括但不限于服务端、终端等能够被配置为执行本申请实施例提供的该方法的电子设备中的至少一种。换言之,所述系统发布方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。
参照图1所示,为本发明一实施例提供的系统发布方法的流程示意图。在本发明实施例中,所述系统发布方法包括:
S1、获取系统运行包,识别用于运行所述系统运行包的应用集群。
本发明实施例中,所述系统运行包是指待发布系统的系统运行包。所述待发布系统指的是需要更新旧系统的应用系统,包括:业务系统、应用系统以及管理系统等,所述系统运行包指的是可以运行在服务器中的一个程序包,其包括:系统配置文件、系统运行环境参数以及系统接口参数等,可选的,所述系统统运行包为jar包或者war包。
进一步地,所述应用集群指的是一种用于向所述待发布系统提供系统服务的服务器集群,通过所述应用集群运行所述待发布系统,可以提高待发布系统的响应速度以及支持大数据的吞吐。
详细地,所述获取系统运行包,包括:
获取待发布系统的程序源代码,对所述程序源代码进行打包,得到程序源代码运行包;
查询所述待发布系统的配置参数,将所述程序源代码运行包和所述配置参数进行汇总,得到所述系统运行包。
其中,所述程序源代码的打包通过代码编译器实现,所述配置参数通过参数查询语句进行查询,所述代码编译器可以为Coda编译器,所述参数查询语句可以为select语句。
进一步地,所述识别运行所述系统运行包的应用集群包括:
获取所述系统运行包的运行流量;
根据预先设置的服务器数量,采用负载均衡算法对所述运行流量进行节点服务器分配,对分配后的节点服务器进行集群组合,得到应用集群。
其中,所述运行流量通过查询所述系统运行包的属性得到,所述负载均衡算法指的是对新系统的运行流量进行节点服务器的平均分配,所述负载均衡算法可以为最小连接法。
进一步地,需要声明的是,所述服务器的数量为所述新系统对应旧系统的服务器数量。
进一步地,为保证所述系统运行包的安全性和隐私性,所述系统运行包还可存储于一区块链节点中。
S2、将所述应用集群中预设数量的节点服务器迁移至预设的灰度集群中,利用预设的发布机器在所述灰度集群中的节点服务器发布所述系统运行包,得到初始发布系统。
由于在所述应用集群中运行着所述新系统对应的旧系统,若在所述应用集群中直接发布所述新系统,很容易导致旧系统的运行异常,同时也无法确定新系统是否可以正常稳定运行,因此,本发明实施例将所述应用集群中预设数量的节点服务器迁移至预设的灰度集群中,以保证旧系统可以正常运行的同时又能进行新系统的发布测试。
其中,所述预创建的灰度集群包括:tomcat集群和容器集群,所述集群的创建属于当前较为成熟的技术,在此不做进一步的阐述。
进一步地,参阅图2所示,所述将所述应用集群中预设数量的节点服务器迁移至预创建的灰度集群中,包括:
S20、获取所述应用集群的第一配置文件和所述灰度集群的第二配置文件,根据所述第一配置文件和所述第二配置文件,创建所述应用集群与所述灰度集群的迁移通道;
S21、根据所述迁移通道,利用迁移工具将所述应用集群中预设数量的节点服务器迁移至所述灰度集群中。
本发明实施例中,所述迁移通道可以通过服务器负载均衡(Server LoadBalancing,SLB)管理系统在界面一键操作完成的。
其中,需要声明的是,所述应用集群中的节点服务器的迁移数量基于旧系统的正常运行情况下进行确定,例如,所述应用集群存在十台节点服务器,其中需要八台节点服务器就可以保证旧系统的正常运行,则迁移至灰度集群的节点服务器数量可以为两台。
进一步地,本发明实施例通过预设的发布机器在所述灰度集群中的节点服务器发布所述系统运行包,得到初始发布系统,以实现对业务请求进行响应。其中,所述预设的发布机器为tomcat,用于将系统运行包与节点服务器建立连接,实现系统运行包的运行。
S3、响应于客户机在所述应用集群中的业务请求,配置所述业务请求在所述灰度集群中的网关地址,根据所述网关地址及所述业务请求,对所述初始发布系统进行服务响应验证。
由于所述新系统对应的旧系统处于运行状态,因此在所述应用集群中会接收不同客户机的业务请求,于是,本发明实施例配置所述业务请求在所述灰度集群中节点服务器的网关地址,以将客户机向所述应用集群中发送的业务请求转发至所述灰度集群中,实现所述初始发布系统的服务响应验证。
详细地,参阅图3所示,所述响应于客户机在所述应用集群中节点服务器的业务请求,配置所述业务请求在所述灰度集群中的网关地址,包括:
S30、根据预设的业务请求监听事件,触发所述客户机的业务请求;
S31、采用负载均衡算法,划分出所述业务请求在所述灰度集群中的请求任务,根据所述请求任务,查找所述客户机的客户端地址;
S32、基于所述客户端地址,将所述客户机连接所述灰度集群的通信网络,得到所述业务请求在所述灰度集群中的网关地址。
其中,所述预设的业务请求监听事件通过请求脚本创建,所述客户机包括:手机、平板以及PC机,所述通信网络为无线通信网络。可选的,所述请求脚本通过JavaScript编译。
示例性的,通过业务请求监听事件,获取客户机的业务请求为查询公司一年内的财务数据,根据负载均衡设备对所述财务数据进行划分,得到在所述灰度集群中的请求任务为查询1至3月的财务数据,根据所述请求任务,查找所述客户机的IP地址,得到对应的客户端地址为192.122.10.1001,并在所述客户端地址中连接所述灰度集群中的通信网络,得到所述客户机的业务请求在所述灰度集群中的网关地址。
进一步地,本发明实施例根据所述网关地址及所述业务请求,对所述初始发布系统进行服务响应验证,以测试出所述初始发布系统是否可以正常稳定运行。
具体的,所述根据所述网关地址及所述业务请求,对所述初始发布系统进行服务响应验证,包括:
基于所述网关地址,将所述业务请求转发至所述灰度集群的节点服务器中;
响应于所述灰度集群中节点服务器的业务请求,运行所述初始发布系统,得到运行结果,根据所述运行结果,识别所述服务响应验证的结果。
一个优选实施例中,利用上述创建的迁移通道将所述业务请求转发至所述灰度集群中,
所述根据所述运行结果,识别所述服务响应验证的结果,包括:若所述运行结果为成功,即所述初始发布系统对所述业务请求的请求任务做出响应,则服务响应验证的结果为成功,若所述运行结果为失败,即所述初始发布系统对所述业务请求的请求任务未做出响应,则服务响应验证的结果为失败。
若所述服务响应验证失败,则返回重新执行S1。
若所述服务响应验证失败,则表示所述新系统的系统运行包出现异常,于是本发明实施例重新获取所述新系统的系统运行包。
若所述服务响应验证成功,则执行S4、将所述灰度集群中的节点服务器迁回至所述应用集群中,通过所述发布机器在所述应用集群中发布所述系统运行包,得到目标发布系统。
若所述服务响应验证成功,则表示所述新系统的系统运行包未出现异常,于是本发明实施例将所述灰度集群中的节点服务器迁回至所述应用集群中,通过所述发布机器在所述应用集群中发布所述系统运行包,得到目标发布系统,以实现新系统的正常上线。
本发明实施例首先识别出新系统的系统运行包的应用集群,将所述应用集群中预设数量的节点服务器迁移至预设的灰度集群中,通过预设的发布机器在所述灰度集群中的节点服务器发布所述系统运行包,得到初始发布系统,保证了旧系统可以正常运行的同时又能进行新系统的测试,从而避免了需要两套程序才能实现新系统的发布;其次,本发明实施例响应于客户机在所述应用集群中的业务请求,配置所述业务请求在所述灰度集群中的网关地址,根据所述网关地址,利用所述业务请求对所述初始发布系统进行服务响应验证,在所述服务响应验证成功时,将所述灰度集群中的节点服务器迁回至所述应用集群中,通过所述发布机器在所述应用集群中发布所述系统运行包,得到目标发布系统,不需要根据用户体验进行逐步实现新系统的上线,从而节约了系统发布的时间。因此,本发明可以降低在系统发布时的经济成本和时间成本。
如图4所示,是本发明系统发布装置的功能模块图。
本发明所述系统发布装置100可以安装于电子设备中。根据实现的功能,所述系统发布装置可以包括识别模块101、发布模块102以及验证模块103。本发所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
所述识别模块101,用于获取系统运行包,识别用于运行所述系统运行包的应用集群。
本发明实施例中,所述系统运行包是指待发布系统的系统运行包。所述待发布系统指的是需要更新旧系统的应用系统,包括:业务系统、应用系统以及管理系统等,所述系统运行包指的是可以运行在服务器中的一个程序包,其包括:系统配置文件、系统运行环境参数以及系统接口参数等,可选的,所述系统统运行包为jar包或者war包。
进一步地,所述应用集群指的是一种用于向所述待发布系统提供系统服务的服务器集群,通过所述应用集群运行所述待发布系统,可以提高待发布系统的响应速度以及支持大数据的吞吐。
详细地,所述识别模块101采用下述方式获取系统运行包:
获取待发布系统的程序源代码,对所述程序源代码进行打包,得到程序源代码运行包;
查询所述待发布系统的配置参数,将所述程序源代码运行包和所述配置参数进行汇总,得到所述系统运行包。
其中,所述程序源代码的打包通过代码编译器实现,所述配置参数通过参数查询语句进行查询,所述代码编译器可以为Coda编译器,所述参数查询语句可以为select语句。
进一步地,所述识别模块101采用下述方式识别运行所述系统运行包的应用集群:
获取所述系统运行包的运行流量;
根据预先设置的服务器数量,采用负载均衡算法对所述运行流量进行节点服务器分配,对分配后的节点服务器进行集群组合,得到应用集群。
其中,所述运行流量通过查询所述系统运行包的属性得到,所述负载均衡算法指的是对新系统的运行流量进行节点服务器的平均分配,所述负载均衡算法可以为最小连接法。
进一步地,需要声明的是,所述服务器的数量为所述新系统对应旧系统的服务器数量。
进一步地,为保证所述系统运行包的安全性和隐私性,所述系统运行包还可存储于一区块链节点中。
所述发布模块102,用于将所述应用集群中预设数量的节点服务器迁移至预设的灰度集群中,利用预设的发布机器在所述灰度集群中的节点服务器发布所述系统运行包,得到初始发布系统。
由于在所述应用集群中运行着所述新系统对应的旧系统,若在所述应用集群中直接发布所述新系统,很容易导致旧系统的运行异常,同时也无法确定新系统是否可以正常稳定运行,因此,本发明实施例将所述应用集群中预设数量的节点服务器迁移至预设的灰度集群中,以保证旧系统可以正常运行的同时又能进行新系统的发布测试。
其中,所述预创建的灰度集群包括:tomcat集群和容器集群,所述集群的创建属于当前较为成熟的技术,在此不做进一步的阐述。
进一步地,所述发布模块102采用下述方式执行将所述应用集群中预设数量的节点服务器迁移至预创建的灰度集群中:
步骤Ⅰ、获取所述应用集群的第一配置文件和所述灰度集群的第二配置文件,根据所述第一配置文件和所述第二配置文件,创建所述应用集群与所述灰度集群的迁移通道;
步骤Ⅱ、根据所述迁移通道,利用迁移工具将所述应用集群中预设数量的节点服务器迁移至所述灰度集群中。
本发明实施例中,所述迁移通道可以通过服务器负载均衡(Server LoadBalancing,SLB)管理系统在界面一键操作完成的。
其中,需要声明的是,所述应用集群中的节点服务器的迁移数量基于旧系统的正常运行情况下进行确定,例如,所述应用集群存在十台节点服务器,其中需要八台节点服务器就可以保证旧系统的正常运行,则迁移至灰度集群的节点服务器数量可以为两台。
进一步地,本发明实施例通过预设的发布机器在所述灰度集群中的节点服务器发布所述系统运行包,得到初始发布系统,以实现对业务请求进行响应。其中,所述预设的发布机器为tomcat,用于将系统运行包与节点服务器建立连接,实现系统运行包的运行。
所述验证模块103,用于响应于客户机在所述应用集群中的业务请求,配置所述业务请求在所述灰度集群中的网关地址,根据所述网关地址及所述业务请求,对所述初始发布系统进行服务响应验证。
由于所述新系统对应的旧系统处于运行状态,因此在所述应用集群中会接收不同客户机的业务请求,于是,本发明实施例配置所述业务请求在所述灰度集群中节点服务器的网关地址,以将客户机向所述应用集群中发送的业务请求转发至所述灰度集群中,实现所述初始发布系统的服务响应验证。
详细地,所述验证模块103采用下述方式配置所述业务请求在所述灰度集群中的网关地址:
步骤a、根据预设的业务请求监听事件,触发所述客户机的业务请求;
步骤b、采用负载均衡算法,划分出所述业务请求在所述灰度集群中的请求任务,根据所述请求任务,查找所述客户机的客户端地址;
步骤c、基于所述客户端地址,将所述客户机连接所述灰度集群的通信网络,得到所述业务请求在所述灰度集群中的网关地址。
其中,所述预设的业务请求监听事件通过请求脚本创建,所述客户机包括:手机、平板以及PC机,所述通信网络为无线通信网络。可选的,所述请求脚本通过JavaScript编译。
示例性的,通过业务请求监听事件,获取客户机的业务请求为查询公司一年内的财务数据,根据负载均衡设备对所述财务数据进行划分,得到在所述灰度集群中的请求任务为查询1至3月的财务数据,根据所述请求任务,查找所述客户机的IP地址,得到对应的客户端地址为192.122.10.1001,并在所述客户端地址中连接所述灰度集群中的通信网络,得到所述客户机的业务请求在所述灰度集群中的网关地址。
进一步地,本发明实施例根据所述网关地址及所述业务请求,对所述初始发布系统进行服务响应验证,以测试出所述初始发布系统是否可以正常稳定运行。
具体的,所述根据所述网关地址及所述业务请求,对所述初始发布系统进行服务响应验证,所述验证模块103采用下述方式执行:
基于所述网关地址,将所述业务请求转发至所述灰度集群的节点服务器中;
响应于所述灰度集群中节点服务器的业务请求,运行所述初始发布系统,得到运行结果,根据所述运行结果,识别所述服务响应验证的结果。
一个优选实施例中,利用上述创建的迁移通道将所述业务请求转发至所述灰度集群中,
所述根据所述运行结果,识别所述服务响应验证的结果,包括:若所述运行结果为成功,即所述初始发布系统对所述业务请求的请求任务做出响应,则服务响应验证的结果为成功,若所述运行结果为失败,即所述初始发布系统对所述业务请求的请求任务未做出响应,则服务响应验证的结果为失败。
所述验证模块103,还用于在所述服务响应验证失败时,重新获取系统运行包。
若所述服务响应验证失败,则表示所述新系统的系统运行包出现异常,于是本发明实施例重新获取所述新系统的系统运行包。
所述验证模块103,还用于在所述服务响应验证成功时,则将所述灰度集群中的节点服务器迁回至所述应用集群中,通过所述发布机器在所述应用集群中发布所述系统运行包,得到目标发布系统。
若所述服务响应验证成功,则表示所述新系统的系统运行包未出现异常,于是本发明实施例将所述灰度集群中的节点服务器迁回至所述应用集群中,通过所述发布机器在所述应用集群中发布所述系统运行包,得到目标发布系统,以实现新系统的正常上线。
本发明实施例首先识别出新系统的系统运行包的应用集群,将所述应用集群中预设数量的节点服务器迁移至预设的灰度集群中,通过预设的发布机器在所述灰度集群中的节点服务器发布所述系统运行包,得到初始发布系统,保证了旧系统可以正常运行的同时又能进行新系统的测试,从而避免了需要两套程序才能实现新系统的发布;其次,本发明实施例响应于客户机在所述应用集群中的业务请求,配置所述业务请求在所述灰度集群中的网关地址,根据所述网关地址,利用所述业务请求对所述初始发布系统进行服务响应验证,在所述服务响应验证成功时,将所述灰度集群中的节点服务器迁回至所述应用集群中,通过所述发布机器在所述应用集群中发布所述系统运行包,得到目标发布系统,不需要根据用户体验进行逐步实现新系统的上线,从而节约了系统发布的时间。因此,本发明可以降低在系统发布时的经济成本和时间成本。
如图5所示,是本发明实现系统发布方法的电子设备的结构示意图。
所述电子设备1可以包括处理器10、存储器11和总线,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如系统发布程序12。
其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(SecureDigital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如系统发布程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如执行系统发布程序等),以及调用存储在所述存储器11内的数据,以执行电子设备1的各种功能和处理数据。
所述总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。
图5仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图5示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
进一步地,所述电子设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。
可选地,该电子设备1还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备1中的所述存储器11存储的系统发布程序12是多个指令的组合,在所述处理器10中运行时,可以实现:
获取系统运行包,识别用于运行所述系统运行包的应用集群;
将所述应用集群中预设数量的节点服务器迁移至预设的灰度集群中,利用预设的发布机器在所述灰度集群中的节点服务器发布所述系统运行包,得到初始发布系统;
响应于客户机在所述应用集群中的业务请求,配置所述业务请求在所述灰度集群中的网关地址,根据所述网关地址及所述业务请求,对所述初始发布系统进行服务响应验证;
若所述服务响应验证失败,则重新获取系统运行包;
若所述服务响应验证成功,则将所述灰度集群中的节点服务器迁回至所述应用集群中,通过所述发布机器在所述应用集群中发布所述系统运行包,得到目标发布系统。
具体地,所述处理器10对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个非易失性计算机可读取存储介质中。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (10)

1.一种系统发布方法,其特征在于,所述方法包括:
获取系统运行包,识别用于运行所述系统运行包的应用集群;
将所述应用集群中预设数量的节点服务器迁移至预设的灰度集群中,利用预设的发布机器在所述灰度集群中的节点服务器发布所述系统运行包,得到初始发布系统;
响应于客户机在所述应用集群中的业务请求,配置所述业务请求在所述灰度集群中的网关地址,根据所述网关地址及所述业务请求,对所述初始发布系统进行服务响应验证;
若所述服务响应验证失败,则重新获取系统运行包;
若所述服务响应验证成功,则将所述灰度集群中的节点服务器迁回至所述应用集群中,通过所述发布机器在所述应用集群中发布所述系统运行包,得到目标发布系统。
2.如权利要求1所述的系统发布方法,其特征在于,所述获取系统运行包,包括:
获取待发布系统的程序源代码,对所述程序源代码进行打包,得到程序源代码运行包;
查询所述待发布系统的配置参数,将所述程序源代码运行包和所述配置参数进行汇总,得到所述系统运行包。
3.如权利要求2所述的系统发布方法,其特征在于,所述识别用于运行所述系统运行包的应用集群包括:
获取所述系统运行包的运行流量;
根据预先设置的服务器数量,采用负载均衡算法对所述运行流量进行节点服务器分配,对分配后的节点服务器进行集群组合,得到应用集群。
4.如权利要求1所述的系统发布方法,其特征在于,所述将所述应用集群中预设数量的节点服务器迁移至预创建的灰度集群中,包括:
获取所述应用集群的第一配置文件和所述灰度集群的第二配置文件,根据所述第一配置文件和所述第二配置文件,创建所述应用集群与所述灰度集群的迁移通道;
根据所述迁移通道,利用迁移工具将所述应用集群中预设数量的节点服务器迁移至所述灰度集群中。
5.如权利要求1所述的系统发布方法,其特征在于,所述响应于客户机在所述应用集群中节点服务器的业务请求,配置所述业务请求在所述灰度集群中的网关地址,包括:
根据预设的业务请求监听事件,触发所述客户机的业务请求;
采用负载均衡算法,划分所述业务请求在所述灰度集群中的请求任务,根据所述请求任务,查找所述客户机的客户端地址;
基于所述客户端地址,将所述客户机连接所述灰度集群的通信网络,得到所述业务请求在所述灰度集群中的网关地址。
6.如权利要求1至5中任意一项所述的系统发布方法,其特征在于,所述根据所述网关地址及所述业务请求,对所述初始发布系统进行服务响应验证,包括:
基于所述网关地址,将所述业务请求转发至所述灰度集群的节点服务器中;
响应于所述灰度集群中节点服务器的业务请求,运行所述初始发布系统,得到运行结果,根据所述运行结果,识别所述服务响应验证的结果。
7.如权利要求1所述的系统发布方法,其特征在于,所述灰度集群包括tomcat集群和容器集群。
8.一种系统发布装置,其特征在于,所述装置包括:
识别模块,用于获取系统运行包,识别用于运行所述系统运行包的应用集群;
发布模块,用于将所述应用集群中预设数量的节点服务器迁移至预设的灰度集群中,利用预设的发布机器在所述灰度集群中的节点服务器发布所述系统运行包,得到初始发布系统;
验证模块,用于响应于客户机在所述应用集群中的业务请求,配置所述业务请求在所述灰度集群中的网关地址,根据所述网关地址及所述业务请求,对所述初始发布系统进行服务响应验证;
所述验证模块,还用于在所述服务响应验证失败时,重新获取系统运行包;
所述验证模块,还用于在所述服务响应验证成功时,则将所述灰度集群中的节点服务器迁回至所述应用集群中,通过所述发布机器在所述应用集群中发布所述系统运行包,得到目标发布系统。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任意一项所述的系统发布方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述的系统发布方法。
CN202110780263.9A 2021-07-09 2021-07-09 系统发布方法、装置、电子设备及存储介质 Active CN113542387B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110780263.9A CN113542387B (zh) 2021-07-09 2021-07-09 系统发布方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110780263.9A CN113542387B (zh) 2021-07-09 2021-07-09 系统发布方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN113542387A CN113542387A (zh) 2021-10-22
CN113542387B true CN113542387B (zh) 2023-07-04

Family

ID=78127363

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110780263.9A Active CN113542387B (zh) 2021-07-09 2021-07-09 系统发布方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113542387B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114995895A (zh) * 2022-03-28 2022-09-02 中国人寿保险股份有限公司 业务系统的切换方法及相关设备
CN114896069A (zh) * 2022-05-30 2022-08-12 平安普惠企业管理有限公司 分布式数据处理方法、装置、设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016179958A1 (zh) * 2015-05-12 2016-11-17 百度在线网络技术(北京)有限公司 对移动应用进行灰度发布的方法、装置和系统
CN106789202A (zh) * 2016-12-08 2017-05-31 努比亚技术有限公司 业务管理装置及方法
CN109391655A (zh) * 2017-08-09 2019-02-26 腾讯科技(深圳)有限公司 服务灰度发布方法、装置、系统及存储介质
CN111209032A (zh) * 2020-01-06 2020-05-29 中国银联股份有限公司 灰度发布方法、配置中心服务器、用户终端、系统及介质
WO2020181684A1 (zh) * 2019-03-12 2020-09-17 平安科技(深圳)有限公司 管理灰度发布的方法、系统、设备及存储介质
CN111756841A (zh) * 2020-06-23 2020-10-09 中国平安财产保险股份有限公司 基于微服务集群的业务实现方法、装置、设备及存储介质
CN112506559A (zh) * 2020-12-14 2021-03-16 招商局金融科技有限公司 基于网关的灰度发布方法、装置、电子设备及存储介质
CN112653579A (zh) * 2020-12-16 2021-04-13 中国人寿保险股份有限公司 一种基于OpenResty的灰度发布方法及相关设备
CN113014651A (zh) * 2021-03-03 2021-06-22 中国工商银行股份有限公司 灰度发布方法、应用服务器及灰度发布系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016179958A1 (zh) * 2015-05-12 2016-11-17 百度在线网络技术(北京)有限公司 对移动应用进行灰度发布的方法、装置和系统
CN106789202A (zh) * 2016-12-08 2017-05-31 努比亚技术有限公司 业务管理装置及方法
CN109391655A (zh) * 2017-08-09 2019-02-26 腾讯科技(深圳)有限公司 服务灰度发布方法、装置、系统及存储介质
WO2020181684A1 (zh) * 2019-03-12 2020-09-17 平安科技(深圳)有限公司 管理灰度发布的方法、系统、设备及存储介质
CN111209032A (zh) * 2020-01-06 2020-05-29 中国银联股份有限公司 灰度发布方法、配置中心服务器、用户终端、系统及介质
CN111756841A (zh) * 2020-06-23 2020-10-09 中国平安财产保险股份有限公司 基于微服务集群的业务实现方法、装置、设备及存储介质
CN112506559A (zh) * 2020-12-14 2021-03-16 招商局金融科技有限公司 基于网关的灰度发布方法、装置、电子设备及存储介质
CN112653579A (zh) * 2020-12-16 2021-04-13 中国人寿保险股份有限公司 一种基于OpenResty的灰度发布方法及相关设备
CN113014651A (zh) * 2021-03-03 2021-06-22 中国工商银行股份有限公司 灰度发布方法、应用服务器及灰度发布系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
企业ERP系统灰度发布;陈燕妮;;电脑知识与技术(第17期);全文 *
微服务应用系统迁移上云改造模型;马永;李明;曹弯弯;张弛;王靓;李婕;;计算机系统应用(第10期);全文 *

Also Published As

Publication number Publication date
CN113542387A (zh) 2021-10-22

Similar Documents

Publication Publication Date Title
CN113542387B (zh) 系统发布方法、装置、电子设备及存储介质
CN112506559B (zh) 基于网关的灰度发布方法、装置、电子设备及存储介质
CN112506779A (zh) 软件接口测试方法、装置、电子设备及存储介质
CN115964307B (zh) 交易数据自动化测试方法、装置、设备及介质
CN112528307A (zh) 服务请求校验方法、装置、电子设备及存储介质
CN113468049A (zh) 基于可配置化接口的测试方法、装置、设备及介质
CN114020845A (zh) 区块链网络管理方法、系统、电子设备及存储介质
CN112445623A (zh) 多集群管理方法、装置、电子设备及存储介质
CN112256989A (zh) 基于离线包的页面加载方法、装置、终端设备及存储介质
CN114827161A (zh) 服务调用请求发送方法、装置、电子设备及可读存储介质
CN113438304B (zh) 基于数据库集群的数据查询方法、装置、服务器及介质
CN112328656B (zh) 基于中台架构的服务查询方法、装置、设备及存储介质
CN113419856A (zh) 智能限流方法、装置、电子设备及存储介质
CN112540839A (zh) 信息变更方法、装置、电子设备及存储介质
CN114820132A (zh) 订单派发方法、装置、电子设备及存储介质
CN114185588A (zh) 增量包生成方法、装置、设备及存储介质
CN114826725A (zh) 数据交互方法、装置、设备及存储介质
CN114124835A (zh) 基于接口的数据传输方法、装置、设备及介质
CN115174555A (zh) 文件传输方法、装置、电子设备及存储介质
CN115022171A (zh) 更新接口的优化方法、装置、电子设备及可读存储介质
CN114185502A (zh) 基于产线环境的日志打印方法、装置、设备及介质
CN113704000A (zh) 服务访问优化方法、装置、设备及介质
CN113364848A (zh) 文件缓存方法、装置、电子设备及存储介质
CN113918305A (zh) 节点调度方法、装置、电子设备及可读存储介质
CN113360375A (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