CN110647335A - Software gray level release method and device, electronic equipment and storage medium - Google Patents

Software gray level release method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN110647335A
CN110647335A CN201910684206.3A CN201910684206A CN110647335A CN 110647335 A CN110647335 A CN 110647335A CN 201910684206 A CN201910684206 A CN 201910684206A CN 110647335 A CN110647335 A CN 110647335A
Authority
CN
China
Prior art keywords
application environment
software
main
access request
user
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
Application number
CN201910684206.3A
Other languages
Chinese (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 Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201910684206.3A priority Critical patent/CN110647335A/en
Publication of CN110647335A publication Critical patent/CN110647335A/en
Pending legal-status Critical Current

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

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)
  • Stored Programmes (AREA)

Abstract

A software gray level release method based on data updating, a device, electronic equipment and a storage medium are provided, wherein the method comprises the steps of constructing a main application environment, a gray level application environment and a backup application environment; when receiving a user access request, analyzing the access request to set a target application environment; recording the running data of the access request in the target application environment; updating software versions in the main application environment, the gray application environment and the backup application environment according to the running data; and when detecting the detection instruction, detecting the running data of the access request in the main application environment. The software gray scale publishing method distinguishes the gray scale application environment, the main application environment and the backup application environment, can better realize pre-publishing and quick rollback, has less workload and reduces manual intervention.

Description

Software gray level release method and device, electronic equipment and storage medium
Technical Field
The invention mainly relates to the technical field of communication, in particular to a software gray scale release method and device, electronic equipment and a storage medium.
Background
With the continuous development of the software industry, the version of the software can be upgraded according to the requirement so as to add or change functions. In the iteration process of the historical software version, transition is carried out in a gray release mode. The gray release is to let a part of users continue to apply the existing version and a part of users apply the updated version. And when no problem exists in the using process of the updated version, all users are migrated to the updated version. In the migration process, the use of the user of the existing version needs to be interrupted, and the user needs to input the login information and other contents again after the update is completed, so that the transition process is not smooth enough, and the maintenance is difficult.
Disclosure of Invention
The invention mainly aims to provide a software gray scale release method, a software gray scale release device, electronic equipment and a storage medium, and aims to solve the problem that smooth transition of a software release process cannot be realized in the prior art.
In order to achieve the above object, the present invention provides a software gray scale publishing method, including the following steps:
constructing a main application environment, a gray level application environment and a backup application environment;
when a user access request is received, analyzing the access request to set a target application environment;
recording the running data of the access request in the target application environment;
updating software versions in the main application environment, the grayscale application environment and the backup application environment according to the running data;
when a detection instruction is detected, acquiring running data of a software version in the access request under the main application environment;
judging whether the running data of the software version in the main application environment has a fault or not;
and when the running data of the software version in the main application environment fails, quickly switching to the backup application environment as the main application environment.
Preferably, the primary application environment corresponds to a primary load balancing architecture; the access request executes access operation under the target application environment through the main load balancing architecture; the primary load balancing architecture comprises a F5-NGINX load balancer and a NGINX load balancer; the F5-NGINX load balancer is used for providing domain name addresses for users, and the NGINX load balancer carries out shunting and load balancing on access requests accessed according to the domain name addresses provided by the F5-NGINX load balancer.
Preferably, the main application environment, the grayscale application environment, and the backup application environment correspond to a backup load balancing framework respectively; the software release method comprises the following steps:
when a monitoring instruction is detected, judging whether a main load balancing framework corresponding to the main application environment runs abnormally;
when the main load balancing framework operates abnormally, generating a manual maintenance instruction;
when the main load balancing architecture operates normally, the access request accesses the target application environment through the standby load balancing architecture corresponding to the target environment;
and when the main load balancing framework operates normally, controlling the access request to access the target operating environment through the main load balancing framework.
Preferably, the backup load balancing architecture is an F5 load balancer.
Preferably, the main application environment, the grayscale application environment, and the backup application environment are respectively used for executing different versions of software.
Preferably, the step of parsing the access request to obtain the user parameter information includes:
analyzing the user parameter information in the access request;
capturing a user tag in the user parameter information;
judging whether the captured user label is the gray-scale user;
if the user label is the gray level user, setting the gray level application environment as a target application environment, and sending the access request to the target application environment through the standby load balancer corresponding to the gray level application environment;
and when the user label is not the gray user, setting the main application environment as a target application environment, and sending the access request to the target application environment through the main load balancer.
Preferably, the step of updating the software versions in the main application environment, the grayscale application environment, and the backup application environment according to the running data includes:
judging whether the operation data reach a specified target under the gray scale application environment;
when the running data under the gray scale application environment does not reach the specified target, the corresponding software version under the gray scale application environment is considered to be unstable in running, and prompt information is generated to prompt system personnel to code the corresponding software version under the gray scale application environment;
and when the running data under the gray scale application environment reaches the specified target, considering that the corresponding software version under the gray scale application environment runs stably, upgrading the software version under the backup application environment to the software version under the main application environment, and upgrading the software version under the main application environment to the software version under the gray scale application environment.
In order to achieve the above object, the present invention also provides a software gradation issuing apparatus including:
the construction module is used for constructing a main application environment, a gray level application environment and a backup application environment;
the analysis module is used for analyzing the access request to set a target application environment when receiving the user access request;
the recording module is used for recording the running data of the access request in the target application environment;
the updating module is used for updating the software versions in the main application environment, the grayscale application environment and the backup application environment according to the running data;
the detection module is used for acquiring the running data of the software version in the access request under the main application environment when a detection instruction is detected, and judging whether the running data of the software version under the main application environment has a fault or not;
and when the running data of the software version in the main application environment fails, the detection module further rapidly switches to the backup application environment as the main application environment.
Furthermore, in order to achieve the above object, the present invention further provides an electronic device, which includes a processor and a memory, and when the processor executes a computer program stored in the memory, the electronic device implements the following steps:
constructing a main application environment, a gray level application environment and a backup application environment;
when a user access request is received, analyzing the access request to set a target application environment;
recording the running data of the access request in the target application environment;
updating software versions in the main application environment, the grayscale application environment and the backup application environment according to the running data;
when a detection instruction is detected, acquiring running data of a software version in the access request under the main application environment;
judging whether the running data of the software version in the main application environment has a fault or not;
and when the running data of the software version in the main application environment fails, quickly switching to the backup application environment as the main application environment.
In addition, in order to achieve the above object, the present invention further provides a storage medium, which is a computer-readable storage medium and stores at least one instruction, and when the at least one instruction is executed by a processor, the at least one instruction implements the following steps:
constructing a main application environment, a gray level application environment and a backup application environment;
when a user access request is received, analyzing the access request to set a target application environment;
recording the running data of the access request in the target application environment;
updating software versions in the main application environment, the grayscale application environment and the backup application environment according to the running data;
when a detection instruction is detected, acquiring running data of a software version in the access request under the main application environment;
judging whether the running data of the software version in the main application environment has a fault or not;
and when the running data of the software version in the main application environment fails, quickly switching to the backup application environment as the main application environment.
Compared with the prior art, the software gray scale publishing method distinguishes the gray scale application environment, the main application environment and the backup application environment, can better realize pre-publishing and quick rollback, has less workload and reduces manual intervention.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the provided drawings without creative efforts.
Fig. 1 is a schematic diagram of a software gray scale distribution system according to the present invention.
Fig. 2 is a schematic flow chart of the software gray scale publishing method of the present invention.
Fig. 3 is a detailed flowchart of step S12 in fig. 2.
Fig. 4 is a detailed flowchart of step S13 in fig. 2.
Fig. 5 is a detailed flowchart of step S15 in fig. 2.
Fig. 6 is a detailed flowchart of step S16 in fig. 2.
Fig. 7 is a functional block diagram of the software gray scale distribution apparatus according to the present invention.
Fig. 8 is a schematic device structure diagram of a hardware operating environment according to an embodiment of the present invention.
Description of the main elements
Software gradation issuing apparatus 1
Building block 10
Analysis module 20
Monitoring module 30
Recording module 40
Update module 50
Detection module 60
Memory 102
Communication bus 104
Processor 106
The following detailed description will further illustrate the invention in conjunction with the above-described figures.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
In order to make the aforementioned objects, features and advantages of the present invention comprehensible, embodiments accompanied with figures are described in further detail below.
In order to make the technical solutions of the present invention better understood, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The terms "first," "second," and "third," etc. in the description and claims of the present invention and the above-described drawings are used for distinguishing between different objects and not for describing a particular order. Furthermore, the terms "comprises" and any variations thereof, are intended to cover non-exclusive inclusions. For example, a process, method, system, article, or apparatus that comprises a list of steps or modules is not limited to the listed steps or modules but may alternatively include other steps or modules not listed or inherent to such process, method, article, or apparatus.
Please refer to fig. 1, which is a flowchart illustrating a software gray scale publishing method according to the present invention. The order of the steps in the flow chart may be changed and some steps may be omitted according to different needs.
In at least one embodiment of the present invention, the software grayscale issuing method is applied to a software grayscale issuing system formed by at least one terminal device and a server. And data transmission is carried out between the terminal equipment and the server according to a preset protocol. Preferably, the preset protocol includes, but is not limited to, any one of the following: an HTTP Protocol (Hyper Text Transfer Protocol), an HTTPs Protocol (Hyper Text Transfer Protocol over secure Socket Layer), and the like. In at least one embodiment of the present invention, the server may be a single server, or may be a server cluster composed of several functional servers. The terminal device may be any terminal having a network connection function, for example, the terminal device may be a mobile device such as a Personal computer, a tablet computer, a smart phone, a Personal Digital Assistant (PDA), a game machine, an interactive web Television (IPTV), an intelligent wearable device, a navigation device, or the like, or a fixed device such as a desktop computer, a Digital TV, or the like.
In at least one embodiment of the invention, the software gray scale release system accesses the required software in one application environment through the main load balancing framework according to the access request sent by the user. And the load balancing framework allocates a foreground Server (Web Server) to the terminal equipment according to the characteristic information of the user, so that the terminal equipment accesses the software content on the application Server (App Server) corresponding to the terminal equipment by accessing the allocated foreground Server. The primary load balancing architecture consists of a F5-NGINX equalizer and a Nginx equalizer. The software gray scale publishing system may further comprise a database. The database stores data information such as software program execution codes.
Referring to fig. 2, S11, the main application environment, the grayscale application environment, and the backup application environment are constructed.
In at least one embodiment of the invention, the primary application environment is software that accesses a current version based on a user's access request. The primary application environment includes a primary foreground Server (Web Server A) and a primary application Server (AppServer A). The gray scale application environment is software accessing a pre-release version according to an access request of a user. The grayscale application environment includes a grayscale foreground Server (Web Server B) and a grayscale application Server (App Server B). The backup application environment is used for accessing the software content of the previous version according to the access request of the user. The backup application environment comprises a backup foreground Server (Web Server C) and a backup application Server (App Server C). The main application environment, the grayscale application environment and the backup application environment are respectively used for executing different versions of software. For example, the software version in the main application environment is 1.1, the software version in the grayscale application environment is 1.2, and the software version in the backup application environment is 1.0.
And S12, when the user access request is received, analyzing the access request to set the target application environment.
Referring also to fig. 3, in at least one embodiment of the present invention, the step of parsing the access request to obtain the user parameter information further includes:
s121, analyzing user parameter information in the access request;
s122, capturing a user tag in the user parameter information;
s123, judging whether the captured user label is the gray user;
s124, when the user label is the gray level user, setting the gray level application environment as a target application environment, and sending the access request to the target application environment through the load balancer;
and S125, when the user label is not the gray user, setting the main application environment as a target application environment, and sending the access request to the target application environment through the load balancer.
In at least one embodiment of the present invention, the user parameter information may include an IP address of the user, an account number of the user, geographical location information of the user, a user access frequency, and a user tag. The user tag is used to distinguish different users, and may be composed of characters, numbers, symbols, and the like. The user tags may include normal users as well as grayscale users. In other embodiments, the grayscale user may be a number of users designated by the system, and may include a designated number of general users, executive level users, system management users, and the like.
And S13, monitoring the running state of the main load balancing framework when receiving the monitoring instruction.
In at least one embodiment of the present invention, the main application environment, the grayscale application environment, and the backup application environment respectively correspond to a backup load balancing framework. The backup load balancing architecture consists of an F5 load balancer. The primary application environment corresponds to backup load balancer F5A, the grayscale application environment corresponds to backup load balancer F5B, and the backup application environment corresponds to backup load balancer F5C.
Referring to fig. 4, in at least one embodiment of the present invention, the step of monitoring the operation status of the primary load balancing framework further includes:
s131, judging whether the main load balancing framework operates abnormally;
s132, when the main load balancing framework operates abnormally, controlling the access request to access the target application environment through the standby load balancing framework corresponding to the target environment;
s133, when the main load balancing framework operates normally, controlling the access request to access the target operation environment through the main load balancing framework.
In at least one embodiment of the present invention, the access request is directly distributed to the corresponding backup load balancing framework according to the user tag. For example, when the user tag is a grayscale user, the access request is directly assigned to the F5 load balancer corresponding to the grayscale application environment, and then the access request is directly provided to the grayscale application environment through the F5 load balancer corresponding to the grayscale application environment.
And S14, recording the running data of the access request in the target application environment.
In at least one embodiment of the invention, the operational data may include access error rate, system memory usage, CPU usage, response time, and the like. The operation data includes operation data in the main application environment and operation data in the grayscale application environment.
And S15, updating the software versions in the main application environment, the grayscale application environment and the backup application environment according to the running data.
Referring to fig. 5, in at least one embodiment of the present invention, the step of updating the software versions in the main application environment, the grayscale application environment, and the backup application environment according to the operation data further includes:
s151, judging whether the running data reach a specified target under the gray scale application environment;
s152, when the operation data under the gray scale application environment does not reach the specified target, the corresponding software version under the gray scale application environment is considered to be unstable in operation, and prompt information is generated to prompt system personnel to code the corresponding software version under the gray scale application environment;
and S153, when the running data under the gray scale application environment reaches the specified target, considering that the corresponding software version under the gray scale application environment runs stably, upgrading the software version under the backup application environment to the software version under the main application environment, and upgrading the software version under the main application environment to the software version under the gray scale application environment.
In at least one embodiment of the invention, the specified target may be a 75% failure rate in the operational data. For example, when the software version in the grayscale application environment is 1.2 and the operating data reaches the specified target, the software version 1.0 in the backup application environment is upgraded to the software version 1.1 in the main application environment, and the software version 1.1 in the main application environment is upgraded to the software version 1.2 in the grayscale application environment.
In at least one embodiment of the present invention, the prompt message may be in different forms such as a mail, an instant messaging message, and a pop-up window. The instant messaging message may be, but is not limited to, WeChat, QQ, IM, and SMS.
And S16, when detecting the detection instruction, detecting the running data of the access request in the main application environment.
Referring also to fig. 6, in at least one embodiment of the present invention, the step of detecting the operation data of the access request in the host application environment further includes:
s161, acquiring running data of the software version in the access request under the main application environment;
s162, judging whether the running data of the software version in the main application environment fails or not;
s163, when the running data of the software version in the primary application environment fails, taking the backup application environment as the primary application environment;
and ending the process when the running data of the software version does not have faults under the main application environment.
In at least one embodiment of the present invention, all the commands may be data request commands received by the terminal device. The terminal device may include a keypad input, a touch screen input, etc., but the user input manner in the example embodiments of the present disclosure is not limited thereto. The various instructions can be generated by the operation of the user for the preset keys of the terminal equipment of the user. Specifically, the user's operations include, but are not limited to: sliding operation, clicking operation (such as single clicking operation, double clicking operation, etc.). Specifically, the preset key may be an entity key on the terminal device, or may be a virtual key on the terminal device (for example, the virtual key may be a virtual icon on a display of the terminal device, etc.), and the present invention is not limited herein.
According to the embodiment, the software gray scale release method adopts Nginx as the load balancer, so that the user can be prevented from re-inputting user information in the application environment switching process, the gray scale application environment, the main application environment and the backup application environment are distinguished, pre-release and quick rollback can be better realized, the workload is less, and manual intervention is reduced.
Referring to fig. 7, the present invention provides a software gray scale publishing apparatus 1, which is applied to one or more devices. In at least one embodiment of the present invention, the software grayscale issuing device 1 is applied to a software grayscale issuing system composed of at least one mobile terminal and a server. And data transmission is carried out between the terminal equipment and the server according to a preset protocol. Preferably, the preset protocol includes, but is not limited to, any one of the following: an HTTP Protocol (hypertext Transfer Protocol), an HTTPs Protocol (HTTP Protocol targeted for security), and the like. In at least one embodiment of the present invention, the server may be a single server, or may be a server cluster composed of several functional servers. The terminal device may be any terminal having a network connection function, for example, the terminal device may be a mobile device such as a Personal computer, a tablet computer, a smart phone, a Personal Digital Assistant (PDA), a game machine, an interactive web Television (IPTV), an intelligent wearable device, a navigation device, or the like, or a fixed device such as a desktop computer, a Digital TV, or the like.
The software gray scale publishing device 1 provides a visual interface. The visual interface is used for providing a human-computer interaction interface for a user, and the user can be connected to the software gray scale release system through a mobile phone or a computer and other terminal equipment. The software gray scale release system is used for performing version iteration on the software version, detecting the software function after iteration, comparing and analyzing the test result with the historical test result, and further generating a test comparison and analysis report. The server may include a database therein. The database may have software code stored thereon. The server may include a database therein. The database may have software code stored thereon.
In one embodiment of the present invention, the software gradation issuance apparatus 1 includes:
and the building module 10 is used for building a main application environment, a gray scale application environment and a backup application environment.
In at least one embodiment of the invention, the software gray scale release system accesses the required software in one application environment through the main load balancing framework according to the access request sent by the user. And the load balancing framework allocates a foreground Server (Web Server) to the terminal equipment according to the characteristic information of the user, so that the terminal equipment accesses the software content on the application Server (App Server) corresponding to the terminal equipment by accessing the allocated foreground Server. The primary load balancing architecture consists of a F5-NGINX equalizer and a Nginx equalizer. The main application environment is software which accesses the current version according to the access request of the user. The primary application environment includes a primary foreground Server (Web Server A) and a primary application Server (App Server A). The gray scale application environment is software accessing a pre-release version according to an access request of a user. The grayscale application environment includes a grayscale foreground Server (Web Server B) and a grayscale application Server (AppServer B). The backup application environment is used for accessing the software content of the previous version according to the access request of the user. The backup application environment comprises a backup foreground Server (Web Server C) and a backup application Server (App Server C). The main application environment, the grayscale application environment and the backup application environment are respectively used for executing different versions of software. For example, the software version in the main application environment is 1.1, the software version in the grayscale application environment is 1.2, and the software version in the backup application environment is 1.0.
And the analysis module 20 is used for analyzing the access request to set a target application environment when the access request of the user is received.
The parsing module 20 further parses the user parameter information in the access request and captures the user tag in the user parameter information. The analysis module 20 further determines whether the captured user tag is the grayscale user.
If the user tag is the grayscale user, the analysis module 20 further sets the grayscale application environment as a target application environment, and sends the access request to the target application environment through the load balancer;
when the user tag is not the grayscale user, the parsing module 20 further sets the main application environment as a target application environment, and sends the access request to the target application environment through the load balancer.
In at least one embodiment of the present invention, the user parameter information may include an IP address of the user, an account number of the user, geographical location information of the user, a user access frequency, and a user tag. The user tag is used to distinguish different users, and may be composed of characters, numbers, symbols, and the like. The user tags may include normal users as well as grayscale users. In other embodiments, the grayscale user may be a number of users designated by the system, and may include a designated number of general users, executive level users, system management users, and the like.
And the monitoring module 30 is configured to monitor an operating state of the main load balancing framework when the monitoring instruction is received. In at least one embodiment of the present invention, the main application environment, the grayscale application environment, and the backup application environment respectively correspond to a backup load balancing framework. The backup load balancing architecture consists of an F5 load balancer. The primary application environment corresponds to backup load balancer F5A, the grayscale application environment corresponds to backup load balancer F5B, and the backup application environment corresponds to backup load balancer F5C.
The monitoring module 30 further determines whether the main load balancing framework operates abnormally.
When the primary load balancing framework operates abnormally, the monitoring module 30 further controls the access request to access the target application environment through the backup load balancing framework corresponding to the target environment.
When the primary load balancing framework operates normally, the monitoring module 30 further controls the access request to access the target operating environment through the primary load balancing framework.
In at least one embodiment of the present invention, the access request is directly distributed to the corresponding backup load balancing framework according to the user tag. For example, when the user tag is a grayscale user, the access request is directly assigned to the F5 load balancer corresponding to the grayscale application environment, and then the access request is directly provided to the grayscale application environment through the F5 load balancer corresponding to the grayscale application environment.
And the recording module 40 is used for recording the running data of the access request in the target application environment.
In at least one embodiment of the invention, the operational data may include access error rate, system memory usage, CPU usage, response time, and the like. The operation data includes operation data in the main application environment and operation data in the grayscale application environment.
An updating module 50, configured to update the software versions in the main application environment, the grayscale application environment, and the backup application environment according to the running data.
The update module 50 further determines whether the operational data meets a specified target in the grayscale application environment.
When the operation data in the grayscale application environment does not reach the specified target, the corresponding software version in the grayscale application environment is considered to be unstable in operation, and the update module 50 further generates prompt information to prompt system personnel to code the corresponding software version in the grayscale application environment.
When the operation data in the grayscale application environment reaches the specified target, the corresponding software version in the grayscale application environment is considered to be stably operated, and the update module 50 further updates the software version in the backup application environment to the software version in the main application environment and updates the software version in the main application environment to the software version in the grayscale application environment.
In at least one embodiment of the invention, the specified target may be a 75% failure rate in the operational data. For example, when the software version in the grayscale application environment is 1.2 and the operating data reaches the specified target, the software version 1.0 in the backup application environment is upgraded to the software version 1.1 in the main application environment, and the software version 1.1 in the main application environment is upgraded to the software version 1.2 in the grayscale application environment.
In at least one embodiment of the present invention, the prompt message may be in different forms such as a mail, an instant messaging message, and a pop-up window. The instant messaging message may be, but is not limited to, WeChat, QQ, IM, and SMS.
A detecting module 60, configured to detect, when a detection instruction is detected, running data of the access request in the primary application environment.
The detection module 60 further obtains the operation data of the software version in the main application environment in the access request. The detection module 60 further determines whether the operating data of the software version fails in the primary application environment.
When the running data of the software version in the primary application environment fails, the detection module 60 further takes the backup application environment as the primary application environment.
In at least one embodiment of the present invention, all the commands may be data request commands received by the terminal device. The terminal device may include a keypad input, a touch screen input, etc., but the user input manner in the example embodiments of the present disclosure is not limited thereto. The various instructions can be generated by the operation of the user for the preset keys of the terminal equipment of the user. Specifically, the user's operations include, but are not limited to: sliding operation, clicking operation (such as single clicking operation, double clicking operation, etc.). Specifically, the preset key may be an entity key on the terminal device, or may be a virtual key on the terminal device (for example, the virtual key may be a virtual icon on a display of the terminal device, etc.), and the present invention is not limited herein.
According to the embodiment, the software gray scale release method adopts Nginx as the load balancer, so that the user can be prevented from re-inputting user information in the application environment switching process, the gray scale application environment, the main application environment and the backup application environment are distinguished, pre-release and quick rollback can be better realized, the workload is less, and manual intervention is reduced.
Please refer to fig. 8, which is a storage medium according to an embodiment of the present invention. The storage medium is a computer-readable storage medium. The computer readable storage medium has stored thereon computer instructions. The computer instructions may be stored on the memory 102 and when executed by the one or more processors 106, thereby implementing the software grayscale publishing method as described above in the method embodiments.
The memory 102 is used to store program code. The Memory 102 may be a circuit without any physical form in the integrated circuit and having a Memory function, such as a RAM (Random-Access Memory), a FIFO (First in First Out), and the like. Alternatively, the memory 102 may be a memory in a physical form, such as a memory device including a memory stick, a TF Card (Trans-flash Card), a smart media Card (smart media Card), a secure digital Card (secure digital Card), and a flash memory Card (flash Card). The memory 102 may be in data communication with the processor 106 via a communication bus 104. The memory 102 may include an operating system, a network communication module, and a software grayscale distribution program. The operating system is a program for managing and controlling hardware and software resources of the software gray scale distribution device, and supports the operation of the software gray scale distribution program and other software and/or programs. The network communication module is used for realizing communication among the components in the memory 102 and communication with other hardware and software in the software gray scale release device.
The processor 106 may include one or more microprocessors, digital processors. The processor 106 may call program code stored in the memory 102 to perform the associated functions. For example, the various modules depicted in FIG. 1 are program code stored in the memory 102 and executed by the processor 106 to implement a software gray scale release-type approach. The processor 106 is also called a Central Processing Unit (CPU), and is an ultra-large scale integrated circuit, which is an operation Core (Core) and a Control Core (Control Unit).
The processor 106 is configured to execute a plurality of computer instructions stored in the memory 102 to implement a software gray scale distribution method, the processor 106 is configured to execute the plurality of instructions to implement the steps of:
and S11, constructing a main application environment, a gray scale application environment and a backup application environment.
In at least one embodiment of the invention, the software gray scale release system accesses the required software in one application environment through the main load balancing framework according to the access request sent by the user. And the load balancing framework allocates a foreground Server (Web Server) to the terminal equipment according to the characteristic information of the user, so that the terminal equipment accesses the software content on the application Server (App Server) corresponding to the terminal equipment by accessing the allocated foreground Server. The primary load balancing architecture consists of a F5-NGINX equalizer and a Nginx equalizer. In at least one embodiment of the invention, the primary application environment is software that accesses a current version based on a user's access request. The primary application environment includes a primary foreground Server (Web Server A) and a primary application Server (App Server A). The gray scale application environment is software accessing a pre-release version according to an access request of a user. The grayscale application environment includes a grayscale foreground Server (Web Server B) and a grayscale application Server (App Server B). The backup application environment is used for accessing the software content of the previous version according to the access request of the user. The backup application environments comprise a backup foreground Server (WebServer C) and a backup application Server (App Server C). The main application environment, the grayscale application environment and the backup application environment are respectively used for executing different versions of software. For example, the software version in the main application environment is 1.1, the software version in the grayscale application environment is 1.2, and the software version in the backup application environment is 1.0.
And S12, when the user access request is received, analyzing the access request to set the target application environment.
Referring also to fig. 3, in at least one embodiment of the present invention, the step of parsing the access request to obtain the user parameter information further includes:
s121, analyzing user parameter information in the access request;
s122, capturing a user tag in the user parameter information;
s123, judging whether the captured user label is the gray user;
s124, when the user label is the gray level user, setting the gray level application environment as a target application environment, and sending the access request to the target application environment through the load balancer;
and S125, when the user label is not the gray user, setting the main application environment as a target application environment, and sending the access request to the target application environment through the load balancer.
In at least one embodiment of the present invention, the user parameter information may include an IP address of the user, an account number of the user, geographical location information of the user, a user access frequency, and a user tag. The user tag is used to distinguish different users, and may be composed of characters, numbers, symbols, and the like. The user tags may include normal users as well as grayscale users. In other embodiments, the grayscale user may be a number of users designated by the system, and may include a designated number of general users, executive level users, system management users, and the like.
And S13, monitoring the running state of the main load balancing framework when receiving the monitoring instruction.
In at least one embodiment of the present invention, the main application environment, the grayscale application environment, and the backup application environment respectively correspond to a backup load balancing framework. The backup load balancing architecture consists of an F5 load balancer. The primary application environment corresponds to backup load balancer F5A, the grayscale application environment corresponds to backup load balancer F5B, and the backup application environment corresponds to backup load balancer F5C.
Referring to fig. 4, in at least one embodiment of the present invention, the step of monitoring the operation status of the primary load balancing framework further includes:
s131, judging whether the main load balancing framework operates abnormally;
s132, when the main load balancing framework operates abnormally, controlling the access request to access the target application environment through the standby load balancing framework corresponding to the target environment;
s133, when the main load balancing framework operates normally, controlling the access request to access the target operation environment through the main load balancing framework.
In at least one embodiment of the present invention, the access request is directly distributed to the corresponding backup load balancing framework according to the user tag. For example, when the user tag is a grayscale user, the access request is directly assigned to the F5 load balancer corresponding to the grayscale application environment, and then the access request is directly provided to the grayscale application environment through the F5 load balancer corresponding to the grayscale application environment.
And S14, recording the running data of the access request in the target application environment.
In at least one embodiment of the invention, the operational data may include access error rate, system memory usage, CPU usage, response time, and the like. The operation data includes operation data in the main application environment and operation data in the grayscale application environment.
And S15, updating the software versions in the main application environment, the grayscale application environment and the backup application environment according to the running data.
Referring to fig. 5, in at least one embodiment of the present invention, the step of updating the software versions in the main application environment, the grayscale application environment, and the backup application environment according to the operation data further includes:
s151, judging whether the running data reach a specified target under the gray scale application environment;
s152, when the operation data under the gray scale application environment does not reach the specified target, the corresponding software version under the gray scale application environment is considered to be unstable in operation, and prompt information is generated to prompt system personnel to code the corresponding software version under the gray scale application environment;
and S153, when the running data under the gray scale application environment reaches the specified target, considering that the corresponding software version under the gray scale application environment runs stably, upgrading the software version under the backup application environment to the software version under the main application environment, and upgrading the software version under the main application environment to the software version under the gray scale application environment.
In at least one embodiment of the invention, the specified target may be a 75% failure rate in the operational data. For example, when the software version in the grayscale application environment is 1.2 and the operating data reaches the specified target, the software version 1.0 in the backup application environment is upgraded to the software version 1.1 in the main application environment, and the software version 1.1 in the main application environment is upgraded to the software version 1.2 in the grayscale application environment.
In at least one embodiment of the present invention, the prompt message may be in different forms such as a mail, an instant messaging message, and a pop-up window. The instant messaging message may be, but is not limited to, WeChat, QQ, IM, and SMS.
And S16, when detecting the detection instruction, detecting the running data of the access request in the main application environment.
Referring also to fig. 6, in at least one embodiment of the present invention, the step of detecting the operation data of the access request in the host application environment further includes:
s161, acquiring running data of the software version in the access request under the main application environment;
s162, judging whether the running data of the software version in the main application environment fails or not;
s163, when the running data of the software version in the primary application environment fails, taking the backup application environment as the primary application environment;
and ending the process when the running data of the software version does not have faults under the main application environment.
In at least one embodiment of the present invention, all the commands may be data request commands received by the terminal device. The terminal device may include a keypad input, a touch screen input, etc., but the user input manner in the example embodiments of the present disclosure is not limited thereto. The various instructions can be generated by the operation of the user for the preset keys of the terminal equipment of the user. Specifically, the user's operations include, but are not limited to: sliding operation, clicking operation (such as single clicking operation, double clicking operation, etc.). Specifically, the preset key may be an entity key on the terminal device, or may be a virtual key on the terminal device (for example, the virtual key may be a virtual icon on a display of the terminal device, etc.), and the present invention is not limited herein.
According to the embodiment, the software gray scale release method adopts Nginx as the load balancer, so that the user can be prevented from re-inputting user information in the application environment switching process, the gray scale application environment, the main application environment and the backup application environment are distinguished, pre-release and quick rollback can be better realized, the workload is less, and manual intervention is reduced.
It should be noted that, for simplicity of description, the above-mentioned method embodiments are described as a series of acts or combination of acts, but those skilled in the art will recognize that the present invention is not limited by the order of acts, as some steps may occur in other orders or concurrently in accordance with the invention. Further, those skilled in the art should also appreciate that the embodiments described in the specification are preferred embodiments and that the acts and modules referred to are not necessarily required by the invention.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus may be implemented in other manners. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the modules is merely a logical division, and in actual implementation, there may be other divisions, for example, multiple modules or components may be combined or integrated into another system, or some features may be omitted, or not implemented. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection of devices or modules through some interfaces, and may be in an electrical or other form.
The modules described as separate parts may or may not be physically separate, and parts displayed as modules may or may not be physical modules, may be located in one place, or may be distributed on a plurality of network modules. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment.
In addition, functional modules in the embodiments of the present invention may be integrated into one processor, or each module may exist alone physically, or two or more modules are integrated into one module. The integrated module can be realized in a hardware mode, and can also be realized in a software functional module mode.
The integrated module, if implemented in the form of a software functional module and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention.
It should also be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
The above-mentioned embodiments are only used for illustrating the technical solutions of the present invention, and not for limiting the same; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and the modifications or the substitutions do not make the essence of the corresponding technical solutions depart from the scope of the technical solutions of the embodiments of the present invention.

Claims (10)

1. A software gray scale release method is characterized by comprising the following steps:
constructing a main application environment, a gray level application environment and a backup application environment;
when a user access request is received, analyzing the access request to set a target application environment;
recording the running data of the access request in the target application environment;
updating software versions in the main application environment, the grayscale application environment and the backup application environment according to the running data;
when a detection instruction is detected, acquiring running data of a software version in the access request under the main application environment;
judging whether the running data of the software version in the main application environment has a fault or not;
and when the running data of the software version in the main application environment fails, quickly switching to the backup application environment as the main application environment.
2. The software gray scale publishing method of claim 1, wherein the primary application environment corresponds to a primary load balancing framework; the access request executes access operation under the target application environment through the main load balancing architecture; the primary load balancing architecture comprises a F5-NGINX load balancer and a NGINX load balancer; the F5-NGINX load balancer is used for providing domain name addresses for users, and the NGINX load balancer branches and load balances access requests accessed according to the domain name addresses provided by the F5-NGINX load balancer; the software gray scale release method comprises the following steps:
and when a monitoring instruction is received, monitoring the running state of the main load balancing framework.
3. The software gray scale publishing method of claim 2, wherein the main application environment, the gray scale application environment and the backup application environment each correspond to a backup load balancing framework; the step of monitoring the operating state of the primary load balancing architecture comprises:
judging whether the main load balancing framework operates abnormally or not;
when the main load balancing framework operates abnormally, controlling the access request to access the target application environment through the standby load balancing framework corresponding to the target environment;
and when the main load balancing framework operates normally, controlling the access request to access the target operating environment through the main load balancing framework.
4. The software gray scale publishing method of claim 3, wherein the standby load balancing architecture is an F5 load balancer.
5. The software release method for graying of claim 1, wherein said main application environment, said graying application environment, and said backup application environment are respectively configured to execute different versions of software.
6. The software gray scale publishing method of any one of claims 1 to 5, wherein the step of parsing the access request to obtain user parameter information comprises:
analyzing the user parameter information in the access request;
capturing a user tag in the user parameter information;
judging whether the captured user label is the gray-scale user;
if the user label is the gray level user, setting the gray level application environment as a target application environment, and sending the access request to the target application environment through the standby load balancer corresponding to the gray level application environment;
and when the user label is not the gray user, setting the main application environment as a target application environment, and sending the access request to the target application environment through the main load balancer.
7. The software release method for graying according to any one of claims 1 to 5, wherein the step of updating the software versions in the primary application environment, the grayscale application environment, and the backup application environment according to the operation data includes:
judging whether the operation data reach a specified target under the gray scale application environment;
when the running data under the gray scale application environment does not reach the specified target, the corresponding software version under the gray scale application environment is considered to be unstable in running, and prompt information is generated to prompt system personnel to code the corresponding software version under the gray scale application environment;
and when the running data under the gray scale application environment reaches the specified target, considering that the corresponding software version under the gray scale application environment runs stably, upgrading the software version under the backup application environment to the software version under the main application environment, and upgrading the software version under the main application environment to the software version under the gray scale application environment.
8. A software gradation issuing apparatus, characterized by comprising:
the construction module is used for constructing a main application environment, a gray level application environment and a backup application environment;
the analysis module is used for analyzing the access request to set a target application environment when receiving the user access request;
the recording module is used for recording the running data of the access request in the target application environment;
the updating module is used for updating the software versions in the main application environment, the grayscale application environment and the backup application environment according to the running data;
the detection module is used for acquiring the running data of the software version in the access request under the main application environment when a detection instruction is detected, and judging whether the running data of the software version under the main application environment has a fault or not;
and when the running data of the software version in the main application environment fails, the detection module further rapidly switches to the backup application environment as the main application environment.
9. An electronic device, characterized in that the electronic device comprises a processor and a memory, the processor being configured to implement the software grayscale publication method according to any one of claims 1 to 7 when executing a computer program stored in the memory.
10. A storage medium, characterized in that the storage medium is a computer-readable storage medium, and at least one instruction is stored, and when executed by a processor, the at least one instruction implements the software gray scale issuing method according to any one of claims 1 to 7.
CN201910684206.3A 2019-07-26 2019-07-26 Software gray level release method and device, electronic equipment and storage medium Pending CN110647335A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910684206.3A CN110647335A (en) 2019-07-26 2019-07-26 Software gray level release method and device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910684206.3A CN110647335A (en) 2019-07-26 2019-07-26 Software gray level release method and device, electronic equipment and storage medium

Publications (1)

Publication Number Publication Date
CN110647335A true CN110647335A (en) 2020-01-03

Family

ID=68989892

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910684206.3A Pending CN110647335A (en) 2019-07-26 2019-07-26 Software gray level release method and device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN110647335A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111324377A (en) * 2020-03-11 2020-06-23 上海东普信息科技有限公司 Application gray level release method, system, device and storage medium
CN111736872A (en) * 2020-06-22 2020-10-02 平安健康保险股份有限公司 Gray scale release upgrading method and device, computer system and readable storage medium
CN112184235A (en) * 2020-09-04 2021-01-05 支付宝(杭州)信息技术有限公司 Wind control data changing method and device
CN112235651A (en) * 2020-10-12 2021-01-15 北京金山云网络技术有限公司 Configuration parameter selection method, device, equipment and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103379138A (en) * 2012-04-17 2013-10-30 深圳市腾讯计算机系统有限公司 Method and system for realizing load balance, and method and apparatus for gray scale publication
CN109391655A (en) * 2017-08-09 2019-02-26 腾讯科技(深圳)有限公司 Service gray scale dissemination method, device, system and storage medium
CN109656569A (en) * 2018-10-16 2019-04-19 平安普惠企业管理有限公司 Multi-environment application dispositions method, equipment, storage medium and device
CN109726099A (en) * 2018-04-12 2019-05-07 平安普惠企业管理有限公司 A kind of application gray scale dissemination method, device and equipment
CN109739537A (en) * 2018-12-29 2019-05-10 中电福富信息科技有限公司 A kind of gray scale release management platform and gray scale method for release management
CN109857428A (en) * 2018-12-29 2019-06-07 大唐软件技术股份有限公司 Gray scale dissemination method for IOM system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103379138A (en) * 2012-04-17 2013-10-30 深圳市腾讯计算机系统有限公司 Method and system for realizing load balance, and method and apparatus for gray scale publication
CN109391655A (en) * 2017-08-09 2019-02-26 腾讯科技(深圳)有限公司 Service gray scale dissemination method, device, system and storage medium
CN109726099A (en) * 2018-04-12 2019-05-07 平安普惠企业管理有限公司 A kind of application gray scale dissemination method, device and equipment
CN109656569A (en) * 2018-10-16 2019-04-19 平安普惠企业管理有限公司 Multi-environment application dispositions method, equipment, storage medium and device
CN109739537A (en) * 2018-12-29 2019-05-10 中电福富信息科技有限公司 A kind of gray scale release management platform and gray scale method for release management
CN109857428A (en) * 2018-12-29 2019-06-07 大唐软件技术股份有限公司 Gray scale dissemination method for IOM system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
任韵: "移动电子渠道灰度发布系统的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 7, pages 2 - 5 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111324377A (en) * 2020-03-11 2020-06-23 上海东普信息科技有限公司 Application gray level release method, system, device and storage medium
CN111324377B (en) * 2020-03-11 2023-03-24 上海东普信息科技有限公司 Application gray level release method, system, device and storage medium
CN111736872A (en) * 2020-06-22 2020-10-02 平安健康保险股份有限公司 Gray scale release upgrading method and device, computer system and readable storage medium
CN111736872B (en) * 2020-06-22 2023-07-14 平安健康保险股份有限公司 Gray scale release upgrading method, device, computer system and readable storage medium
CN112184235A (en) * 2020-09-04 2021-01-05 支付宝(杭州)信息技术有限公司 Wind control data changing method and device
CN112235651A (en) * 2020-10-12 2021-01-15 北京金山云网络技术有限公司 Configuration parameter selection method, device, equipment and storage medium
CN112235651B (en) * 2020-10-12 2022-08-12 北京金山云网络技术有限公司 Configuration parameter selection method, device, equipment and storage medium

Similar Documents

Publication Publication Date Title
CN110647335A (en) Software gray level release method and device, electronic equipment and storage medium
US9286246B2 (en) System for managing task that is for processing to computer system and that is based on user operation and method for displaying information related to task of that type
US11470094B2 (en) Bi-directional content replication logic for enterprise threat detection
CN107390983B (en) Service instruction execution method, client and storage medium
US20120072898A1 (en) On-premise deployment of virtual desktop service servers
US20090063175A1 (en) Methods and systems for providing multiple support options
CN109726076B (en) Applet life cycle management method and system
US20190278431A1 (en) Window control for simultaneously running applications
CN112653618A (en) Gateway registration method and device of micro-service application API endpoint
CN115277566A (en) Load balancing method and device for data access, computer equipment and medium
CN112269706A (en) Interface parameter checking method and device, electronic equipment and computer readable medium
CN115470432A (en) Page rendering method and device, electronic equipment and computer readable medium
CN112948018B (en) Dynamic library loading method, device, equipment and medium for applet
CN114185734A (en) Cluster monitoring method and device and electronic equipment
CN112732312A (en) Method and device for updating application program, electronic equipment and medium
CN115174248A (en) Network access control method and device
EP1645969B1 (en) Remote configuration management for data processing units
CN112269741A (en) Application program compatibility testing method and related equipment
CN101729495A (en) Network servo system and method of remotely installing file thereof
CN111176982A (en) Test interface generation method and device
CN103809757A (en) Implementing mechanism of man-machine interaction system
US20240103992A1 (en) Alert rule manipulation in sync of temporary configuration change
US20240126522A1 (en) System and method for orchestrating a private software as a service (private saas) in an external hosting environment
KR102038802B1 (en) Method for Apparatus for Integration Management of Web Page
CN112988265A (en) Applet processing method, applet processing apparatus, device, medium and product

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