CN115098150A - Gray scale publishing method, device and system, electronic equipment and storage medium - Google Patents

Gray scale publishing method, device and system, electronic equipment and storage medium Download PDF

Info

Publication number
CN115098150A
CN115098150A CN202210576887.3A CN202210576887A CN115098150A CN 115098150 A CN115098150 A CN 115098150A CN 202210576887 A CN202210576887 A CN 202210576887A CN 115098150 A CN115098150 A CN 115098150A
Authority
CN
China
Prior art keywords
library
account
compiling
dependency
gray scale
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210576887.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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202210576887.3A priority Critical patent/CN115098150A/en
Publication of CN115098150A publication Critical patent/CN115098150A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

The present disclosure relates to a method, an apparatus, a system, an electronic device, and a storage medium for distributing a gray scale, the method being applied to a gray scale distribution system, the method including: the release management subsystem generates a first basic library and a second basic library and sends a request for adding a gray release task to the gray release subsystem; the gray level issuing subsystem sends an updating and compiling dependence request; the compiling dependency management subsystem generates compiling dependency version relations corresponding to different base libraries, determines a target compiling dependency version relation corresponding to a base library use account based on an account type corresponding to the base library use account, and sends the target compiling dependency version relation to the base library use account; and the release management subsystem sends the basic library corresponding to the target compiling dependency version relation to the basic library using account. The method and the device realize the gray release of the basic library intelligently, and ensure the stability of the basic library release under the condition that the basic library using account can be used to the new version basic library as soon as possible.

Description

Gray scale publishing method, device and system, electronic equipment and storage medium
Technical Field
The present application relates to the field of computer application technologies, and in particular, to a method, an apparatus, a system, an electronic device, and a storage medium for distributing gray scales.
Background
The basic library is used for processing a series of framework logics such as data binding, component systems, event systems, communication systems and the like so as to enable the programs to run in order. Base libraries are typically maintained by an infrastructure team and are provided for use by a business team. When the base library is updated by the infrastructure team, the updated base library needs to be released for the business team to use.
In the related art, in order to promote the base library after the version is updated, the infrastructure team directly forces the business team to always use the base library after the version is updated. Once a problem occurs with the updated base library, a large number of users in the business team will be affected. And the user is required to roll back the base library after the updated version and recompile the base library of the old version to be on-line again, so that the user experience is greatly reduced.
Disclosure of Invention
In order to solve technical problems in the related art, embodiments of the present disclosure provide a method, an apparatus, a system, an electronic device, and a storage medium for releasing a gray scale, where the technical solution of the present disclosure is as follows:
according to a first aspect of the embodiments of the present disclosure, there is provided a gray scale issuing method applied to a gray scale issuing system, where the gray scale issuing system includes an issuing management subsystem, a gray scale issuing subsystem, and a compiling dependency management subsystem, the method includes:
when the issuing management subsystem receives a basic library gray level issuing instruction of a basic library issuing account, generating a first basic library and a second basic library, and sending a gray level issuing task adding request to the gray level issuing subsystem; the second basic library is a basic library of which the version is updated by the first basic library;
when the gray scale issuing subsystem receives a request for adding a gray scale issuing task, the gray scale issuing subsystem sends a request for updating the compiling dependency to the compiling dependency management subsystem;
when the compiling dependency management subsystem receives a request for sending and updating the compiling dependency, generating a first compiling dependency version relationship corresponding to the first base library and a second compiling dependency version relationship corresponding to the second base library; the first compilation dependency version relationship is used for characterizing a relationship between versions of the respective base libraries on which the first base library depends, and the second compilation dependency version relationship is used for characterizing a relationship between versions of the respective base libraries on which the second base library depends;
when the compiling dependency management subsystem receives a basic library compiling request of a basic library using account, determining a target compiling dependency version relation corresponding to the basic library using account based on an account type corresponding to the basic library using account; when the account type is a gray-scale account, the target base library version dependency relationship is a first compiling dependency version relationship, and when the account type is a non-gray-scale account, the target base library version dependency relationship is a second compiling dependency version relationship;
the compiling dependency management subsystem sends the target compiling dependency version relation to the base library usage account;
and the release management subsystem sends the basic library corresponding to the target compiling dependency version relationship to the basic library using account.
Optionally, the method further includes:
the compiling dependence management subsystem acquires an account name of the basic library use account;
the compiling dependency management subsystem determines a first hash value corresponding to the account name through a target hash algorithm;
the compiling dependency management subsystem carries out preset processing on the first hash value to obtain a second hash value corresponding to the account name;
the compilation dependency management subsystem compares the second hash value to a first gray scale;
and the compiling dependency management subsystem determines the account type of the basic library use account based on the size relation between the second hash value and the first gray scale.
Optionally, the compiling dependency management subsystem determines the account type of the base library usage account based on a size relationship between the second hash value and the first gray scale, where the determining includes:
when the second hash value is smaller than the first gray scale, the compiling dependence management subsystem determines the account type of the basic library use account as a gray scale account;
when the second hash value is larger than the first gray scale, the compiling dependence management subsystem determines that the account type of the basic library use account is a non-gray account.
Optionally, the method further includes:
when the gray scale issuing subsystem receives a gray scale issuing instruction of the basic library, determining a second gray scale proportion, and increasing the second gray scale proportion at intervals of preset time;
before the compiling dependency management subsystem compares the second hash value with the first gray scale, the compiling dependency management subsystem acquires a second gray scale from the gray scale issuing subsystem, and determines the acquired second gray scale as the first gray scale.
Optionally, the method further includes:
when the basic library is compiled by using the account, the issuing management subsystem generates abnormal information of the basic library;
the issuing management subsystem sends the abnormal information to the issuing account of the basic library and sends a request for stopping issuing the gray scale to the gray scale issuing subsystem;
and the gray scale issuing subsystem stops issuing the gray scales to the second basic library when receiving the request for stopping issuing the gray scales.
According to a second aspect of the embodiments of the present disclosure, there is provided a gray scale issuing apparatus applied to a gray scale issuing system, the gray scale issuing system including an issuing management subsystem, a gray scale issuing subsystem and a compiling dependency management subsystem; the release management subsystem comprises a basic library generating module and a basic library sending module, the gray release subsystem comprises a compiling dependency updating request sending module, and the compiling dependency management subsystem comprises a compiling dependency version relationship generating module, a compiling dependency version relationship determining module and a target compiling dependency version relationship sending module:
the basic library generating module is configured to generate a first basic library and a second basic library when the issuing management subsystem receives a basic library gray scale issuing instruction of a basic library issuing account, and send a gray scale issuing task adding request to the gray scale issuing subsystem; the second basic library is a basic library of which the version is updated by the first basic library;
the compiling dependency updating request sending module is configured to send an updating compiling dependency request to the compiling dependency management subsystem when the gray scale issuing subsystem receives a request for adding a gray scale issuing task;
the compiling dependency version relationship generating module is configured to generate a first compiling dependency version relationship corresponding to the first base library and a second compiling dependency version relationship corresponding to the second base library when the compiling dependency management subsystem receives a sending and updating compiling dependency request; the first compilation dependency version relationship is used for characterizing a relationship between versions of the respective base libraries on which the first base library depends, and the second compilation dependency version relationship is used for characterizing a relationship between versions of the respective base libraries on which the second base library depends;
the compiling dependency version relationship determining module is configured to determine a target compiling dependency version relationship corresponding to a base library usage account based on an account type corresponding to the base library usage account when the compiling dependency management subsystem receives a base library compiling request of the base library usage account; when the account type is a gray-scale account, the target base library version dependency relationship is a first compiling dependency version relationship, and when the account type is a non-gray-scale account, the target base library version dependency relationship is a second compiling dependency version relationship;
the target compilation dependency version relationship sending module is configured to execute sending the target compilation dependency version relationship to the base library usage account;
the base library sending module is configured to execute sending of the base library corresponding to the target compilation dependency version relationship to the base library usage account.
Optionally, the compiling dependency management subsystem further includes an account name obtaining module, a first hash value determining module, a second hash value determining module, a data comparing module, and an account type determining module;
the account name acquisition module is configured to execute the acquisition of the account name of the basic library use account;
the first hash value determining module is configured to determine a first hash value corresponding to the account name through a target hash algorithm;
the second hash value determining module is configured to perform preset processing on the first hash value to obtain a second hash value corresponding to the account name;
the data comparison module configured to perform a comparison of the second hash value to a first gray scale;
the account type determination module is configured to determine the account type of the base library usage account based on the magnitude relation between the second hash value and the first gray scale.
Optionally, the account type determining module is specifically configured to perform:
when the second hash value is smaller than the first gray scale, determining the account type of the basic library use account as a gray scale account;
and when the second hash value is larger than the first gray scale, determining that the account type of the basic library use account is a non-gray account.
Optionally, the gray scale issuing subsystem further includes a second gray scale ratio determining module, and the compiling dependency management subsystem further includes a first gray scale ratio determining module;
the second gray scale proportion determining module is configured to determine a second gray scale proportion and increase the second gray scale proportion at intervals of a preset time interval when the gray scale issuing subsystem receives a gray scale issuing instruction of the basic library;
the first gray scale determination module is configured to execute, before the data comparison module of the compilation dependency management subsystem compares the second hash value with the first gray scale, acquiring a second gray scale from the gray release subsystem, and determining the acquired second gray scale as the first gray scale.
Optionally, the release management subsystem further includes an abnormal information generation module, an abnormal information sending module, and a gray release stop request sending module, and the gray release subsystem further includes a gray release stop module:
the abnormal information generation module is configured to execute the step of generating abnormal information of the abnormal compiling base library when the abnormal compiling of the base library by using the account is abnormal;
the abnormal information sending module is configured to execute sending of the abnormal information to the basic library issuing account;
the gray scale issuing stopping request sending module is configured to execute sending of a gray scale issuing stopping request to the gray scale issuing subsystem;
the gray scale issuing stopping module is configured to stop gray scale issuing on the second basic library when the gray scale issuing stopping request is received.
According to a third aspect of the embodiments of the present disclosure, there is provided a gradation issuance system including: the system comprises a release management subsystem, a gray release subsystem and a compiling dependence management subsystem;
the issuing management subsystem is configured to generate a first basic library and a second basic library when a basic library gray level issuing instruction of a basic library issuing account is received, and send a gray level issuing task adding request to the gray level issuing subsystem; the second basic library is a basic library of which the version is updated by the first basic library;
the gray scale issuing subsystem is configured to execute a request for adding a gray scale issuing task sent by the issuing management subsystem and send an updating compiling dependency request to the compiling dependency management subsystem;
the compiling dependency management subsystem is configured to generate a first compiling dependency version relationship corresponding to the first base library and a second compiling dependency version relationship corresponding to the second base library when receiving an updating compiling dependency request sent by the compiling dependency management subsystem; the first compilation dependency version relationship is used for characterizing a relationship between versions of the respective base libraries on which the first base library depends, and the second compilation dependency version relationship is used for characterizing a relationship between versions of the respective base libraries on which the second base library depends;
the compiling dependency management subsystem is further configured to determine a target compiling dependency version relationship corresponding to a base library usage account based on an account type corresponding to the base library usage account when a base library compiling request sent by the base library usage account is received; when the account type is a gray account, the target base library version dependency relationship is a first compiling dependency version relationship, and when the account type is a non-gray account, the target base library version dependency relationship is a second compiling dependency version relationship;
the compilation dependency management subsystem further configured to perform sending the target compilation dependency version relationship to the base library usage account;
the release management subsystem is further configured to execute sending the base library corresponding to the target compilation dependency version relationship to the base library usage account.
Optionally, the compilation dependency management subsystem is further configured to perform the following steps:
acquiring an account name of the basic library use account;
determining a first hash value corresponding to the account name through a target hash algorithm;
presetting the first hash value to obtain a second hash value corresponding to the account name;
comparing the second hash value with a first gray scale;
and determining the account type of the account used by the basic library based on the size relation between the second hash value and the first gray scale.
Optionally, the compilation dependency management subsystem is specifically configured to perform:
when the second hash value is smaller than the first gray scale, determining the account type of the basic library use account as a gray scale account;
and when the second hash value is larger than the first gray scale, determining that the account type of the basic library use account is a non-gray account.
Optionally, the gray scale issuing subsystem is further configured to determine a second gray scale proportion when receiving a gray scale issuing instruction of the base library, and increase the second gray scale proportion at preset time intervals;
the compilation dependency management subsystem is further configured to perform obtaining a second gray scale from the gray scale issuing subsystem before the compilation dependency management subsystem compares the second hash value with a first gray scale, and determining the obtained second gray scale as the first gray scale.
Optionally, the release management subsystem is further configured to execute generating abnormal information when the base library is compiled by using the account, where the abnormal information occurs in the base library;
the issuing management subsystem is also configured to execute sending the abnormal information to the basic library issuing account and send a request for stopping gray level issuing to the gray level issuing subsystem;
the gray scale issuing subsystem is further configured to execute stopping gray scale issuing on the second base library when the request for stopping gray scale issuing is received.
According to a fourth aspect of an embodiment of the present disclosure, there is provided an electronic apparatus including:
a processor;
a memory for storing the processor-executable instructions;
wherein the processor is configured to execute the instructions to implement the greyscale issuance method of the first aspect.
According to a fifth aspect of embodiments of the present disclosure, there is provided a storage medium, wherein instructions that, when executed by a processor of an electronic device, enable the electronic device to perform the grayscale issuing method of the first aspect.
According to a sixth aspect of the embodiments of the present disclosure, there is provided a computer program product which, when run on a computer, causes the computer to implement the gradation issuance method according to the first aspect.
According to the technical scheme provided by the embodiment of the disclosure, when the gray level of the basic library is released, the release management subsystem generates two versions of basic libraries, namely an old version basic library and a new version basic library, and sends a request for adding a gray level release task to the gray level release subsystem to trigger the gray level release subsystem to release the gray level of the basic libraries; the gray release subsystem sends a compiling dependency updating request to the compiling dependency management subsystem, and triggers the compiling dependency management subsystem to generate different compiling dependency version relations for the old version base and the new version base respectively; and aiming at the basic library use accounts of different account types, the compiling dependence management subsystem sends different compiling dependence version relations, and the release management subsystem sends the basic library corresponding to the compiling dependence version relation to the basic library use account, so that the purposes of sending a new version of basic library to a gray scale account and sending an old version of basic library to a non-gray scale account are realized.
Unlike the related art, all the basic library use accounts are directly forced to use the new version of the basic library, so that the gray release of the basic library is intelligently realized, the stability of the basic library release can be ensured under the condition that the basic library use accounts can be used to the new version of the basic library as soon as possible, the online problem of the basic library use accounts is reduced, and the use experience of the basic library use accounts is improved.
Drawings
FIG. 1 is a schematic diagram of a gray scale distribution system shown in accordance with an exemplary embodiment;
FIG. 2 is a flow diagram illustrating a gray scale publishing method in accordance with an exemplary embodiment;
FIG. 3 is a flow diagram illustrating one embodiment of determining an account type for a base library usage account, according to an exemplary embodiment;
fig. 4 is a block diagram illustrating a gray scale distribution apparatus according to an exemplary embodiment;
FIG. 5 is a block diagram of an electronic device shown in accordance with an exemplary embodiment;
fig. 6 is a block diagram illustrating a gray scale distribution apparatus according to an exemplary embodiment.
Detailed Description
In order to make the technical solutions of the present disclosure better understood by those of ordinary skill in the art, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below with reference to the accompanying drawings.
It should be noted that the terms "first," "second," and the like in the description and claims of the present disclosure and in the above-described drawings are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the disclosure described herein are capable of operation in sequences other than those illustrated or otherwise described herein. The implementations described in the exemplary embodiments below are not intended to represent all implementations consistent with the present disclosure. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present disclosure, as detailed in the appended claims.
The basic library is used for processing a series of framework logics such as data binding, component systems, event systems, communication systems and the like so as to enable the programs to run in order. Base libraries are typically maintained by an infrastructure team and are provided for use by a business team. When the base library is updated by the infrastructure team, the updated base library needs to be released for the business team to use.
There are different ways of managing the release of the base library. In the related art, in order to promote the base library after the version is updated, the infrastructure team directly forces the business team to use the base library after the version is updated all the time. Once a problem occurs with the updated base library, a large number of users in the business team will be affected. And the user is required to roll back the base library after the updated version and recompile the base library of the old version to be on-line again, so that the user experience is greatly reduced.
In order to solve the above problems in the related art, embodiments of the present disclosure provide a grayscale issuing method, device, electronic device, and storage medium.
For clarity of description of the solution, first, the technical solution provided by the embodiments of the present disclosure is explained in the entirety.
As shown in fig. 1, an embodiment of the present disclosure provides a gray scale distribution system, which mainly includes: a release management subsystem 110, a gray release subsystem 120, and a compilation dependency management subsystem 130.
Specifically, when the basic library is issued by the basic library issuing account, the basic library gray level issuing instruction may be sent to the issuing management subsystem 110, and after receiving the basic library issuing instruction, the issuing management subsystem 110 generates a first basic library and a second basic library, where the first basic library is an old basic library and the second basic library is a new basic library. For example, the version number of the first base library may be 1.0, and the version number of the second base library may be 2.0.
The issuing management subsystem 110 may send a request for adding a gray scale issuing task to the gray scale issuing subsystem 120 after receiving the gray scale issuing instruction, and the gray scale issuing subsystem 120 starts to increase the gray scale at regular time after receiving the request for adding the gray scale issuing task, for example, the gray scale increased every day may be set, for example, the gray scale increased every day may be 1%, which is not specifically limited in the embodiment of the present disclosure. Moreover, the gray scale issuing subsystem 120 may send a request for updating the compilation dependency to the compilation dependency management subsystem 130, and after the compilation dependency management subsystem 130 receives the request for updating the compilation dependency, the compilation dependency management subsystem 130 may generate two compilation dependency version relationship maps at the same time. The first compiling dependent version relation graph can be used for representing the relation between the versions of the base libraries depended on by the old version base library, and the second compiling dependent version relation graph can be used for representing the relation between the versions of the base libraries depended on by the new version base library.
For example, the base library to be released in grayscale is base library a, the old version of base library a is 1.0, the new version is 2.0, base library a depends on base library B, the version of current base library B is 1.0, base library B depends on base library C, and the version of current base library C is 1.0. Then, the first compiled dependency relationship graph may be: basic library A.1.0-basic library B.1.0-basic library C.1.0. The second compilation dependency relationship graph may be: basic library A.2.0-basic library B.1.0-basic library C.1.0.
When the base library is compiled by using the account, a base library compiling request is sent to the compiling dependency management subsystem 130, and after the compiling dependency management subsystem 130 receives the base library compiling request, whether the base library using account is a gray scale account is determined according to comparison between the last two bits of the hash value corresponding to the account name of the base library using account and the first gray scale proportion.
Specifically, if the last two digits of the hash value corresponding to the account name of the base library use account are smaller than the current gray scale ratio, it may be determined that the base library use account is a gray scale account, and at this time, the first compiled dependency version relationship graph may be sent to the base library use account. If the last two digits of the hash value corresponding to the account name of the basic library use account are larger than the first gray scale proportion, the basic library use account can be determined to be a non-gray scale account, and at the moment, a second compiling dependent version relation graph can be sent to the basic library use account.
If the base library usage account is a gray level account, after the first compilation dependent version relationship graph is obtained by the base library usage account, the base library corresponding to the first compilation dependent version relationship graph can be obtained from the release management subsystem 110; if the base library usage account is a non-grayscale account, after the second compilation dependent version relationship diagram is obtained by the base library usage account, the base library corresponding to the second compilation dependent version relationship diagram may be obtained from the release management subsystem 110.
Still taking the above example as an example, if the base library usage account is a gray-scale account, the basis obtained from the release management subsystem 110 is: base library a with a version number of 1.0, base library B with a version number of 1.0, and base library C with a version number of 1.0. If the base library usage account is a non-gray scale account, the base library obtained from the release management subsystem 110 is: base library a with a version number of 2.0, base library B with a version number of 1.0, and base library C with a version number of 1.0.
The basic library usage account can compile the basic library after acquiring the basic library corresponding to the compiling dependency version relationship diagram, and if an exception occurs in the compiling process, the release management subsystem 110 can generate exception information that the compiling basic library is abnormal; and sending abnormal information to the basic library issuing account, so that the basic library issuing account solves the abnormal problem.
In addition, in order to reduce the online problem caused by the use of the basic library account, the distribution management subsystem 110 sends a request for stopping the gray scale distribution to the gray scale distribution subsystem 120; the gray scale issuing subsystem 120 stops the gray scale issuing to the second basic library when receiving the request for stopping the gray scale issuing.
Therefore, according to the technical scheme provided by the embodiment of the disclosure, when the gray level of the basic library is released, the release management subsystem generates two versions of basic libraries, namely the old version basic library and the new version basic library, sends a request for adding a gray level release task to the gray level release subsystem, and triggers the gray level release subsystem to release the gray level of the basic libraries; the grey release subsystem sends a compiling dependency updating request to the compiling dependency management subsystem, and the compiling dependency management subsystem is triggered to generate different compiling dependency version relations to the old version base library and the new version base library respectively; and aiming at the basic library use accounts of different account types, the compiling dependence management subsystem sends different compiling dependence version relations, and the release management subsystem sends the basic library corresponding to the compiling dependence version relation to the basic library use account, so that the purposes of sending a new version of basic library to a gray scale account and sending an old version of basic library to a non-gray scale account are realized.
Unlike the related art, all the basic library use accounts are directly forced to use the new version of the basic library, so that the gray release of the basic library is intelligently realized, the stability of the basic library release can be ensured under the condition that the basic library use accounts can be used to the new version of the basic library as soon as possible, the online problem of the basic library use accounts is reduced, and the use experience of the basic library use accounts is improved.
After the technical solutions provided by the embodiments of the present disclosure are explained in general, detailed descriptions will be provided below for a method, an apparatus, a system, an electronic device, and a storage medium for issuing a gray scale according to the embodiments of the present disclosure.
First, a detailed description is given to a gray scale publishing method provided by the embodiment of the present disclosure. The gradation issuance method can be used for the gradation issuance system in the above-described embodiment. The gray scale release system may include a release management subsystem, a gray scale release subsystem, and a compilation dependency management subsystem.
As shown in fig. 2, the gray scale publishing method provided by the embodiment of the present disclosure may include the following steps:
s210, when the issuing management subsystem receives a basic library gray level issuing instruction of the basic library issuing account, a first basic library and a second basic library are generated, and a gray level issuing task adding request is sent to the gray level issuing subsystem.
And the second basic library is the basic library of which the version is updated by the first basic library.
Specifically, when the basic library is issued by the basic library issuing account, the basic library gray scale issuing instruction may be sent to an issuing management subsystem in the gray scale issuing system, and after receiving the basic library issuing instruction, the issuing management subsystem generates the first basic library and the second basic library. The first base library is a base library of an old version, and the second base library is a base library of a new version. For example, the first base library may have a version number of 1.0 and the second base library may have a version number of 2.0.
After receiving the gray scale issuing instruction, the issuing management subsystem may send a request for adding a gray scale issuing task to the gray scale issuing subsystem to trigger the gray scale issuing subsystem to issue the gray scale to the second base library.
And S220, when the gray scale issuing subsystem receives the request for adding the gray scale issuing task, sending an updating compiling dependency request to the compiling dependency management subsystem.
Because the compiling dependency relations corresponding to the base libraries of different versions are different, after the gray scale release subsystem receives the request for adding the gray scale release task, the request for updating the compiling dependency can be sent to the compiling dependency management subsystem.
And S230, when the compiling dependency management subsystem receives the request for sending the updating compiling dependency, generating a first compiling dependency version relationship corresponding to the first base library and a second compiling dependency version relationship corresponding to the second base library.
The first compiling dependency version relationship is used for representing the relationship among the versions of the base libraries depended on by the first base library, and the second compiling dependency version relationship is used for representing the relationship among the versions of the base libraries depended on by the second base library.
Specifically, after the compilation dependency management subsystem receives a request for updating the compilation dependency, the compilation dependency management subsystem generates a first compilation dependency version relationship for the first base library and a second compilation dependency version relationship for the second base library. The first compiling dependent version relation is used for representing the relation between the versions of the base libraries depended on by the first base library, and the second compiling dependent version relation is used for representing the relation between the versions of the base libraries depended on by the second base library.
For example, the base library to be released in the gray scale is a base library a, the version of the first base library a is 1.0, and the version of the second base library a is 2.0. And, base library A depends on base B, the version of current base library B is 1.0, base library B depends on base library C again, the version of current base library C is 1.0. Then, the first compilation dependency relationship may be: basic library A.1.0-basic library B.1.0-basic library C.1.0. The second compilation dependency version relationship graph may be: basic library A.2.0-basic library B.1.0-basic library C.1.0.
S240, when the compiling dependency management subsystem receives a basic library compiling request of the basic library using account, determining a target compiling dependency version relation corresponding to the basic library using account based on the account type corresponding to the basic library using account.
When the account type is a gray account, the target base library version dependency relationship is a first compiling dependency version relationship, and when the account type is a non-gray account, the target base library version dependency relationship is a second compiling dependency version relationship.
Account information (including but not limited to device information of an account, account personal information, etc.), related data, etc. related to the present disclosure are information authorized by an account or authorized by each party.
Specifically, when the basic library usage account needs to be compiled, a basic library compiling request can be sent to the compiling dependency management subsystem, and after the compiling dependency management subsystem receives the basic library compiling request, the account type corresponding to the basic library usage account is determined, that is, whether the basic library usage account is a gray-scale account is determined; and determining a target compiling dependency version relationship corresponding to the base library usage account based on the account type of the base library usage account, namely determining whether the base library usage account corresponds to a first compiling dependency version relationship or a second compiling dependency version relationship.
When the account type of the account used by the base library is a gray level account, the version dependency relationship of the target base library is a first compiling dependency version relationship, namely the compiling dependency version relationship corresponding to the new version base library; and when the account type of the account used by the base library is a non-gray account, the version dependency relationship of the target base library is a second compiling dependency version relationship, namely the compiling dependency version relationship corresponding to the old version base library.
For clarity of description of the scheme, specific embodiments of determining the account type of the base library usage account will be set forth in detail in the following examples.
S250, the compiling dependency management subsystem sends the target compiling dependency version relation to the base library using account.
S260, the release management subsystem sends the basic library corresponding to the target compiling dependency version relation to the basic library using account.
Specifically, after the target compilation dependency version relationship corresponding to the base library usage account is determined based on the account type corresponding to the base library usage account, the compilation dependency management subsystem may send the target compilation dependency version relationship to the base library usage account. After the base library usage account acquires the target compilation dependency version relationship, the base library corresponding to the target compilation dependency version relationship may be acquired from the release management subsystem, that is, the release management subsystem sends the base library corresponding to the target compilation dependency version relationship to the base library usage account. And after the base library uses the account to acquire the base library corresponding to the target compiling dependency version relationship, compiling the acquired base library.
For example, when the target compilation dependent version relationship is: base library a.1.0-base library b.1.0-base library c.1.0, then the base libraries obtained from the release management subsystem are: base library A with a version number of 1.0, base library B with a version number of 1.0, and base library C with a version number of 1.0.
When the target compilation dependent version relationship is: base library a.2.0-base library b.1.0-base library c.1.0, then the base libraries obtained from the release management subsystem are: base library A with a version number of 2.0, base library B with a version number of 1.0, and base library C with a version number of 1.0.
According to the technical scheme provided by the embodiment of the disclosure, when the gray level of the basic library is released, the release management subsystem generates two versions of basic libraries, namely an old version basic library and a new version basic library, and sends a request for adding a gray level release task to the gray level release subsystem to trigger the gray level release subsystem to release the gray level of the basic libraries; the gray release subsystem sends a compiling dependency updating request to the compiling dependency management subsystem, and triggers the compiling dependency management subsystem to generate different compiling dependency version relations for the old version base and the new version base respectively; and aiming at the basic library use accounts of different account types, the compiling dependence management subsystem sends different compiling dependence version relations, and the release management subsystem sends the basic library corresponding to the compiling dependence version relation to the basic library use account, so that the purposes of sending a new version of basic library to a gray scale account and sending an old version of basic library to a non-gray scale account are realized.
Unlike the related art, all the basic library use accounts are directly forced to use the new version of the basic library, so that the gray release of the basic library is intelligently realized, the stability of the basic library release can be ensured under the condition that the basic library use accounts can be used to the new version of the basic library as soon as possible, the online problem of the basic library use accounts is reduced, and the use experience of the basic library use accounts is improved.
On the basis of the above embodiment, in order to accurately determine the account type of the account used by the base library and then intelligently publish the base library, as shown in fig. 3, the grayscale publishing method may further include the following steps:
s310, the compiling and relying management subsystem acquires the account name of the basic library use account.
S320, the compiling and relying management subsystem determines a first hash value corresponding to the account name of the account used by the basic library through a target hash algorithm.
Specifically, each base library usage account corresponds to an account name. After the account name of the base library use account is obtained, the account name of the base library use account can be converted into a hash value through a target hash algorithm, and for clarity of scheme description, the converted hash value can be referred to as a first hash value. It should be noted that the target hash algorithm may be any hash algorithm, and the target hash algorithm is not specifically limited in the embodiment of the present disclosure, and those skilled in the art should understand the hash algorithm, which is not described herein again.
And S330, the compiling dependence management subsystem performs preset processing on the first hash value to obtain a second hash value corresponding to the username.
After the first hash value is obtained, the first hash value% 100, that is, the last two bits of the first hash value, may be determined as a second hash value corresponding to the account name of the base repository usage account. For example, assuming that the first hash value is 910, then the second hash value is 10.
The above explains the presetting process as obtaining the last two bits of the first hash value by way of example only. Of course, in practical application, other processing manners may be also possible, and the present disclosure is not particularly limited thereto.
S340, the compiling dependency management subsystem compares the second hash value with the first gray scale.
Specifically, when the basic library gray scale is released, the gray scale releasing subsystem sets a first gray scale proportion, and in the gray scale releasing process, the first gray scale proportion is gradually increased until the first gray scale proportion is increased to 100%, so that the basic library gray scale releasing is completed. After the second hash value is obtained, the second hash value may be compared with the first gray scale ratio to determine a size relationship between the second hash value and the first gray scale ratio, so as to determine the account type of the base library use account.
And S350, the compiling dependence management subsystem determines the account type of the basic library use account based on the size relation between the second hash value and the first gray scale proportion.
After the compiling dependency management subsystem obtains the magnitude relation between the second hash value and the first gray scale proportion, the account type of the basic library use account can be determined based on the magnitude relation between the second hash value and the first gray scale proportion.
Therefore, through the size relationship between the second hash value and the first gray scale proportion, the compiling dependency management subsystem can accurately divide the basic library use account into two types, namely a gray scale account and a non-gray scale account, so that the account type of the basic library use account can be determined, and in the subsequent step, the issuing management subsystem can send the corresponding basic library for the basic library account according to the account type of the basic library use account, and then intelligently issues the basic library.
As an implementation manner of the embodiment of the present disclosure, the compiling dependency management subsystem determines the account type of the base library usage account based on the size relationship between the second hash value and the first gray scale ratio, and may include the following two steps:
and the first step is that when the second hash value is smaller than the first gray scale, the compiling and relying management subsystem determines the account type of the basic library use account to be a gray scale account.
And secondly, when the second hash value is larger than the first gray scale, the compiling and relying management subsystem determines the account type of the basic library use account to be a non-gray account.
For example, if the second hash value is 10 and the first gray scale is 20%, since 10 is less than 20, it can be determined that the account type of the base library use account is a gray scale account. For another example, if the second hash value is 10 and the first gray scale ratio is 5%, since 10 is greater than 5, it may be determined that the account type of the base library use account is a non-gray scale account.
Since the first gray scale is gradually increased, by determining the account with the second hash value smaller than the first gray scale as the gray scale account, the proportion of the gray scale account can be gradually increased along with the gradual increase of the gray scale, that is, more and more gray scale accounts are provided, thereby being beneficial to the popularization of the new version base. And moreover, a large amount of verification is carried out in the basic library issuing process, so that the stability of basic library issuing is ensured, the problems of use of users are reduced, and the user experience is improved.
On the basis of the above embodiment, the gray scale issuing method may further include the following steps, which are step a and step b, respectively:
step a, when the gray scale issuing subsystem receives a basic library gray scale issuing instruction, determining a second gray scale proportion, and increasing the second gray scale proportion at intervals of preset time.
And b, before the compiling dependency management subsystem compares the second hash value with the first gray scale, the compiling dependency management subsystem acquires a second gray scale from the gray scale issuing subsystem, and determines the acquired second gray scale as the first gray scale.
Specifically, when the gray scale issuing subsystem receives the basic library gray scale issuing instruction, an initial gray scale may be determined, and the initial gray scale may be referred to as a second gray scale. Also, the second gray scale ratio may be increased in timing. For example, the second gradation proportion may be set to be increased every day, such as 1% per day.
Before the compiling dependency management subsystem compares the second hash value with the first gray scale, the compiling dependency management subsystem may acquire the second gray scale from the gray scale issuing subsystem, and determine the acquired second gray scale as the first gray scale, that is, may accurately obtain the current gray scale of the gray scale issuing subsystem.
Therefore, the gray scale accounts are gradually increased by gradually increasing the gray scale proportion, so that the gradual popularization of the new version base library is facilitated, and the gray scale release of the base library is intelligently realized. And moreover, a large amount of verification is carried out in the basic library issuing process, so that the stability of basic library issuing is ensured, the problems of use of users are reduced, and the user experience is improved.
On the basis of the above embodiment, in order to further improve the experience of using the account by the base library, in an implementation manner, the grayscale publishing method may further include the following steps, which are respectively step c to step e:
and c, when the basic library is abnormal in compiling of the basic library by using the account, the issuing management subsystem generates abnormal information of the abnormal compiling of the basic library.
And d, the issuing management subsystem sends abnormal information to the issuing account of the basic library and sends a request for stopping the gray level issuing to the gray level issuing subsystem.
And e, stopping the gray scale issuing to the second basic library when the gray scale issuing subsystem receives the request for stopping the gray scale issuing.
Specifically, when the base library is compiled by using the account, the release management subsystem may generate abnormal information that the base library is compiled abnormally, where the abnormal information may include a specific abnormal problem that occurs when the base library is compiled, and the embodiment of the present disclosure is not specifically limited to this. After the release management subsystem generates abnormal information of the compiled basic library, the abnormal information can be reported to the basic library release account, so that the basic library release account solves the abnormal problem when the basic library uses the account compiled basic library.
In addition, in order to avoid the problem of use of the basic library account caused by the abnormality of the new version basic library, a gray scale release stopping request may be sent to the gray scale release subsystem, the gray scale release subsystem may temporarily stop gray scale release to the basic library when receiving the gray scale release stopping request, and the gray scale release basic library may be continued when receiving a basic library gray scale release instruction sent by the basic library release account next time.
As can be seen, according to the technical scheme provided by this embodiment, when the basic library is compiled with an account used by the basic library, the problem of an exception occurring when the basic library is compiled with an account used by the basic library is solved as soon as possible by reporting the basic library release account; and the gray scale issuing subsystem is triggered to stop gray scale issuing on the basic library by sending a request for stopping gray scale issuing to the gray scale issuing subsystem, so that the problem of bringing use to users can be further reduced, and the user experience is improved.
The embodiment of the disclosure also provides a gray release device, which is applied to a gray release system, wherein the gray release system comprises a release management subsystem, a gray release subsystem and a compilation dependence management subsystem; the release management subsystem includes a base library generating module 410 and a base library sending module 460, the grayscale release subsystem includes a compilation dependency update request sending module 420, and the compilation dependency management subsystem includes a compilation dependency version relationship generating module 430, a compilation dependency version relationship determining module 440 and a target compilation dependency version relationship sending module 450, as shown in fig. 4, and includes:
the basic library generating module 410 is configured to generate a first basic library and a second basic library when the issuing management subsystem receives a basic library gray scale issuing instruction of a basic library issuing account, and send a gray scale issuing task adding request to the gray scale issuing subsystem; the second basic library is a basic library of which the version is updated by the first basic library;
the compiling dependency updating request sending module 420 is configured to execute sending an updating compiling dependency request to the compiling dependency management subsystem when the gray scale issuing subsystem receives a request for adding a gray scale issuing task;
a compiling dependency version relationship generating module 430 configured to generate a first compiling dependency version relationship corresponding to the first base library and a second compiling dependency version relationship corresponding to the second base library when the compiling dependency management subsystem receives a sending update compiling dependency request; the first compilation dependency version relationship is used for characterizing a relationship between versions of the respective base libraries on which the first base library depends, and the second compilation dependency version relationship is used for characterizing a relationship between versions of the respective base libraries on which the second base library depends;
a compiling dependency version relationship determining module 440 configured to determine a target compiling dependency version relationship corresponding to a base library usage account based on an account type corresponding to the base library usage account when the compiling dependency management subsystem receives a base library compiling request of the base library usage account; when the account type is a gray account, the target base library version dependency relationship is a first compiling dependency version relationship, and when the account type is a non-gray account, the target base library version dependency relationship is a second compiling dependency version relationship;
a target compilation dependency version relationship sending module 450 configured to perform sending the target compilation dependency version relationship to the base library usage account;
the base library sending module 460 is configured to execute sending the base library corresponding to the target compilation dependency version relationship to the base library usage account.
According to the technical scheme provided by the embodiment of the disclosure, when the gray level of the basic library is released, the release management subsystem generates two versions of basic libraries, namely an old version basic library and a new version basic library, and sends a request for adding a gray level release task to the gray level release subsystem to trigger the gray level release subsystem to release the gray level of the basic libraries; the gray release subsystem sends a compiling dependency updating request to the compiling dependency management subsystem, and triggers the compiling dependency management subsystem to generate different compiling dependency version relations for the old version base and the new version base respectively; and aiming at the basic library use accounts of different account types, the compiling dependence management subsystem sends different compiling dependence version relations, and the release management subsystem sends the basic library corresponding to the compiling dependence version relation to the basic library use account, so that the purposes of sending a new version of basic library to a gray scale account and sending an old version of basic library to a non-gray scale account are realized.
Unlike the related art, all the basic library use accounts are directly forced to use the new version of the basic library, so that the gray release of the basic library is intelligently realized, the stability of the basic library release can be ensured under the condition that the basic library use accounts can be used to the new version of the basic library as soon as possible, the online problem of the basic library use accounts is reduced, and the use experience of the basic library use accounts is improved.
Optionally, the compiling dependency management subsystem further includes an account name obtaining module, a first hash value determining module, a second hash value determining module, a data comparing module, and an account type determining module;
the account name acquisition module is configured to execute the acquisition of the account name of the basic library use account;
the first hash value determining module is configured to determine a first hash value corresponding to the account name through a target hash algorithm;
the second hash value determining module is configured to perform preset processing on the first hash value to obtain a second hash value corresponding to the account name;
the data comparison module configured to perform a comparison of the second hash value to a first gray scale;
the account type determining module is configured to determine the account type of the base library usage account based on the magnitude relation between the second hash value and the first gray scale.
Optionally, the account type determining module is specifically configured to perform:
when the second hash value is smaller than the first gray scale, determining the account type of the basic library use account as a gray scale account;
and when the second hash value is larger than the first gray scale, determining that the account type of the basic library use account is a non-gray account.
Optionally, the gray scale issuing subsystem further includes a second gray scale ratio determining module, and the compiling dependency management subsystem further includes a first gray scale ratio determining module;
the second gray scale proportion determining module is configured to determine a second gray scale proportion and increase the second gray scale proportion at preset time intervals when the gray scale issuing subsystem receives a gray scale issuing instruction of the basic library;
the first gray scale determination module is configured to execute, before the data comparison module of the compilation dependency management subsystem compares the second hash value with the first gray scale, acquiring a second gray scale from the gray release subsystem, and determining the acquired second gray scale as the first gray scale.
Optionally, the release management subsystem further includes an abnormal information generation module, an abnormal information sending module, and a gray release stop request sending module, and the gray release subsystem further includes a gray release stop module:
the abnormal information generation module is configured to execute the step of generating abnormal information of the compiling base library when the compiling of the base library by using the account is abnormal;
the abnormal information sending module is configured to execute sending of the abnormal information to the basic library issuing account;
the gray scale issuing stopping request sending module is configured to execute sending of a gray scale issuing stopping request to the gray scale issuing subsystem;
the gray scale issuing stopping module is configured to stop gray scale issuing on the second basic library when the gray scale issuing stopping request is received.
According to a third aspect of the embodiments of the present disclosure, there is provided a gradation issuance system including: the system comprises a release management subsystem, a gray release subsystem and a compiling dependence management subsystem;
the issuing management subsystem is configured to generate a first basic library and a second basic library when a basic library gray level issuing instruction of a basic library issuing account is received, and send a gray level issuing task adding request to the gray level issuing subsystem; the second basic library is a basic library of which the version is updated by the first basic library;
the gray scale issuing subsystem is configured to execute a request for adding a gray scale issuing task sent by the issuing management subsystem and send an updating compiling dependency request to the compiling dependency management subsystem;
the compiling dependency management subsystem is configured to generate a first compiling dependency version relationship corresponding to the first base library and a second compiling dependency version relationship corresponding to the second base library when receiving an updating compiling dependency request sent by the compiling dependency management subsystem; the first compilation dependency version relationship is used for characterizing a relationship between versions of the respective base libraries on which the first base library depends, and the second compilation dependency version relationship is used for characterizing a relationship between versions of the respective base libraries on which the second base library depends;
the compiling dependency management subsystem is further configured to determine a target compiling dependency version relationship corresponding to a base library usage account based on an account type corresponding to the base library usage account when a base library compiling request sent by the base library usage account is received; when the account type is a gray-scale account, the target base library version dependency relationship is a first compiling dependency version relationship, and when the account type is a non-gray-scale account, the target base library version dependency relationship is a second compiling dependency version relationship;
the compilation dependency management subsystem further configured to perform sending the target compilation dependency version relationship to the base library usage account;
the release management subsystem is further configured to execute sending of the base library corresponding to the target compilation dependency version relationship to the base library usage account.
Optionally, the compilation dependency management subsystem is further configured to perform the following steps:
acquiring an account name of the basic library use account;
determining a first hash value corresponding to the account name through a target hash algorithm;
presetting the first hash value to obtain a second hash value corresponding to the account name;
comparing the second hash value with a first gray scale;
and determining the account type of the basic library use account based on the size relation between the second hash value and the first gray scale.
Optionally, the compiling dependency management subsystem is specifically configured to perform:
when the second hash value is smaller than the first gray scale, determining the account type of the basic library use account as a gray scale account;
and when the second hash value is larger than the first gray scale, determining that the account type of the basic library use account is a non-gray account.
Optionally, the gray scale issuing subsystem is further configured to determine a second gray scale proportion when receiving a gray scale issuing instruction of the base library, and increase the second gray scale proportion at preset time intervals;
the compilation dependency management subsystem is further configured to perform obtaining a second gray scale from the gray scale issuing subsystem before the compilation dependency management subsystem compares the second hash value with a first gray scale, and determining the obtained second gray scale as the first gray scale.
Optionally, the release management subsystem is further configured to execute generating abnormal information when the base library is compiled by using the account, where the abnormal information occurs in the base library;
the issuing management subsystem is further configured to execute sending the abnormal information to the basic library issuing account and send a request for stopping gray level issuing to the gray level issuing subsystem;
the gray scale issuing subsystem is further configured to execute stopping gray scale issuing on the second base library when the request for stopping gray scale issuing is received.
An embodiment of the present disclosure further provides an electronic device, as shown in fig. 5, including:
a processor 510;
a memory 520 for storing the processor-executable instructions;
wherein the processor is configured to execute the instructions to implement the greyscale issuance method of the first aspect.
According to the technical scheme provided by the embodiment of the disclosure, when the gray scale of the basic library is released, the release management subsystem generates two versions of basic libraries, namely an old version basic library and a new version basic library, and sends a request for adding a gray scale release task to the gray scale release subsystem to trigger the gray scale release subsystem to release the gray scale of the basic libraries; the gray release subsystem sends a compiling dependency updating request to the compiling dependency management subsystem, and triggers the compiling dependency management subsystem to generate different compiling dependency version relations for the old version base and the new version base respectively; and aiming at the basic library use accounts of different account types, the compiling dependence management subsystem sends different compiling dependence version relations, and the release management subsystem sends the basic library corresponding to the compiling dependence version relation to the basic library use account, so that the purposes of sending a new version of basic library to a gray scale account and sending an old version of basic library to a non-gray scale account are realized.
Unlike the related art, all the basic library use accounts are directly forced to use the new version of the basic library, so that the gray release of the basic library is intelligently realized, the stability of the basic library release can be ensured under the condition that the basic library use accounts can be used to the new version of the basic library as soon as possible, the online problem of the basic library use accounts is reduced, and the use experience of the basic library use accounts is improved.
Fig. 6 is a block diagram illustrating a gray scale distribution apparatus 600 according to an exemplary embodiment. For example, the apparatus 600 may be provided as a server. Referring to fig. 6, the apparatus 600 includes a processing component 622 that further includes one or more processors and memory resources, represented by memory 632, for storing instructions, such as application programs, that are executable by the processing component 622. The application programs stored in memory 632 may include one or more modules that each correspond to a set of instructions. Further, the processing component 622 is configured to execute instructions to perform the greyscale issuance method described in the first aspect.
The apparatus 600 may also include a power component 626 configured to perform power management of the apparatus 600, a wired or wireless network interface 650 configured to connect the apparatus 600 to a network, and an input/output (I/O) interface 658. The apparatus 600 may operate based on an operating system stored in the memory 632, such as Windows Server, Mac OS XTM, UnixTM, LinuxTM, FreeBSDTM, or the like.
According to the technical scheme provided by the embodiment of the disclosure, when the gray level of the basic library is released, the release management subsystem generates two versions of basic libraries, namely an old version basic library and a new version basic library, and sends a request for adding a gray level release task to the gray level release subsystem to trigger the gray level release subsystem to release the gray level of the basic libraries; the gray release subsystem sends a compiling dependency updating request to the compiling dependency management subsystem, and triggers the compiling dependency management subsystem to generate different compiling dependency version relations for the old version base and the new version base respectively; and aiming at the basic library use accounts of different account types, the compiling dependence management subsystem sends different compiling dependence version relations, and the release management subsystem sends the basic library corresponding to the compiling dependence version relation to the basic library use account, so that the purposes of sending a new version of basic library to a gray scale account and sending an old version of basic library to a non-gray scale account are realized.
Unlike the related art, all the basic library use accounts are directly forced to use the new version of the basic library, so that the gray release of the basic library is intelligently realized, the stability of the basic library release can be ensured under the condition that the basic library use accounts can be used to the new version of the basic library as soon as possible, the online problem of the basic library use accounts is reduced, and the use experience of the basic library use accounts is improved.
The present disclosure also provides a storage medium, and when instructions in the storage medium are executed by a processor of an electronic device, the electronic device is enabled to execute the grayscale issuing method according to the first aspect.
According to the technical scheme provided by the embodiment of the disclosure, when the gray level of the basic library is released, the release management subsystem generates two versions of basic libraries, namely an old version basic library and a new version basic library, and sends a request for adding a gray level release task to the gray level release subsystem to trigger the gray level release subsystem to release the gray level of the basic libraries; the gray release subsystem sends a compiling dependency updating request to the compiling dependency management subsystem, and triggers the compiling dependency management subsystem to generate different compiling dependency version relations for the old version base and the new version base respectively; and aiming at the basic library use accounts of different account types, the compiling dependence management subsystem sends different compiling dependence version relations, and the release management subsystem sends the basic library corresponding to the compiling dependence version relation to the basic library use account, so that the purposes of sending a new version of basic library to a gray scale account and sending an old version of basic library to a non-gray scale account are realized.
Unlike the related art, all the basic library use accounts are directly forced to use the new version of the basic library, so that the gray release of the basic library is intelligently realized, the stability of the basic library release can be ensured under the condition that the basic library use accounts can be used to the new version of the basic library as soon as possible, the online problem of the basic library use accounts is reduced, and the use experience of the basic library use accounts is improved.
An embodiment of the present disclosure further provides a computer program product, which when running on a computer, enables the computer to implement the gray scale publishing method according to the first aspect.
According to the technical scheme provided by the embodiment of the disclosure, when the gray level of the basic library is released, the release management subsystem generates two versions of basic libraries, namely an old version basic library and a new version basic library, and sends a request for adding a gray level release task to the gray level release subsystem to trigger the gray level release subsystem to release the gray level of the basic libraries; the grey release subsystem sends a compiling dependency updating request to the compiling dependency management subsystem, and the compiling dependency management subsystem is triggered to generate different compiling dependency version relations to the old version base library and the new version base library respectively; and aiming at the basic library use accounts of different account types, the compiling dependency management subsystem sends different compiling dependency version relations, and the release management subsystem sends the basic library corresponding to the compiling dependency version relation to the basic library use account, so that the purpose of sending a new version of basic library to a gray level account and sending an old version of basic library to a non-gray level account is realized.
Unlike the related art, all the basic library use accounts are directly forced to use the new version of the basic library, so that the gray release of the basic library is intelligently realized, the stability of the basic library release can be ensured under the condition that the basic library use accounts can be used to the new version of the basic library as soon as possible, the online problem of the basic library use accounts is reduced, and the use experience of the basic library use accounts is improved.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This application is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
It will be understood that the present disclosure is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.

Claims (10)

1. A gray release method is applied to a gray release system, the gray release system comprises a release management subsystem, a gray release subsystem and a compiling dependence management subsystem, and the method comprises the following steps:
when the issuing management subsystem receives a basic library gray level issuing instruction of a basic library issuing account, generating a first basic library and a second basic library, and sending a gray level issuing task adding request to the gray level issuing subsystem; the second basic library is a basic library of which the version is updated by the first basic library;
when the gray scale issuing subsystem receives a request for adding a gray scale issuing task, the gray scale issuing subsystem sends an updating compiling dependency request to the compiling dependency management subsystem;
when the compiling dependency management subsystem receives a request for sending an updated compiling dependency, generating a first compiling dependency version relationship corresponding to the first base library and a second compiling dependency version relationship corresponding to the second base library; the first compilation dependency version relationship is used for characterizing a relationship between versions of the respective base libraries on which the first base library depends, and the second compilation dependency version relationship is used for characterizing a relationship between versions of the respective base libraries on which the second base library depends;
when the compiling dependency management subsystem receives a basic library compiling request of a basic library using account, determining a target compiling dependency version relation corresponding to the basic library using account based on an account type corresponding to the basic library using account; when the account type is a gray account, the target base library version dependency relationship is a first compiling dependency version relationship, and when the account type is a non-gray account, the target base library version dependency relationship is a second compiling dependency version relationship;
the compiling dependency management subsystem sends the target compiling dependency version relation to the base library use account;
and the release management subsystem sends the basic library corresponding to the target compiling dependency version relation to the basic library using account.
2. The method of claim 1, further comprising:
the compiling dependency management subsystem acquires an account name of the basic library use account;
the compiling dependency management subsystem determines a first hash value corresponding to the account name through a target hash algorithm;
the compiling dependency management subsystem carries out preset processing on the first hash value to obtain a second hash value corresponding to the account name;
the compilation dependency management subsystem compares the second hash value to a first gray scale;
and the compiling dependence management subsystem determines the account type of the basic library use account based on the size relation between the second hash value and the first gray scale.
3. The method of claim 2, wherein the compiling dependency management subsystem determines the account type of the base library usage account based on a magnitude relationship between the second hash value and the first gray scale, and comprises:
when the second hash value is smaller than the first gray scale, the compiling dependence management subsystem determines the account type of the basic library use account as a gray scale account;
when the second hash value is larger than the first gray scale, the compiling dependency management subsystem determines that the account type of the basic library use account is a non-gray account.
4. A method according to claim 2 or 3, characterized in that the method further comprises:
when the gray scale issuing subsystem receives a gray scale issuing instruction of the basic library, determining a second gray scale proportion, and increasing the second gray scale proportion at intervals of a preset time interval;
before the compiling dependency management subsystem compares the second hash value with the first gray scale, the compiling dependency management subsystem acquires a second gray scale from the gray scale issuing subsystem, and determines the acquired second gray scale as the first gray scale.
5. The method according to any one of claims 1 to 3, further comprising:
when the basic library is compiled by using the account, the issuing management subsystem generates abnormal information of the basic library;
the issuing management subsystem sends the abnormal information to the issuing account of the basic library and sends a request for stopping issuing the gray scale to the gray scale issuing subsystem;
and the gray scale issuing subsystem stops issuing the gray scales to the second basic library when receiving the request for stopping issuing the gray scales.
6. A gray release device is characterized in that the device is applied to a gray release system, and the gray release system comprises a release management subsystem, a gray release subsystem and a compiling dependence management subsystem; the release management subsystem comprises a basic library generating module and a basic library sending module, the gray release subsystem comprises a compiling dependency updating request sending module, and the compiling dependency management subsystem comprises a compiling dependency version relationship generating module, a compiling dependency version relationship determining module and a target compiling dependency version relationship sending module:
the basic library generating module is configured to generate a first basic library and a second basic library when the issuing management subsystem receives a basic library gray scale issuing instruction of a basic library issuing account, and send a gray scale issuing task adding request to the gray scale issuing subsystem; the second basic library is a basic library of which the version is updated by the first basic library;
the compiling dependency updating request sending module is configured to send an updating compiling dependency request to the compiling dependency management subsystem when the gray scale issuing subsystem receives a request for adding a gray scale issuing task;
the compiling dependency version relationship generating module is configured to generate a first compiling dependency version relationship corresponding to the first base library and a second compiling dependency version relationship corresponding to the second base library when the compiling dependency management subsystem receives a sending and updating compiling dependency request; the first compilation dependency version relationship is used for characterizing a relationship between versions of the respective base libraries relied on by the first base library, and the second compilation dependency version relationship is used for characterizing a relationship between versions of the respective base libraries relied on by the second base library;
the compiling dependency version relationship determining module is configured to determine a target compiling dependency version relationship corresponding to a base library usage account based on an account type corresponding to the base library usage account when the compiling dependency management subsystem receives a base library compiling request of the base library usage account; when the account type is a gray account, the target base library version dependency relationship is a first compiling dependency version relationship, and when the account type is a non-gray account, the target base library version dependency relationship is a second compiling dependency version relationship;
the target compilation dependency version relationship sending module is configured to execute sending the target compilation dependency version relationship to the base library usage account;
and the base library sending module is configured to execute sending of the base library corresponding to the target compiling dependency version relation to the base library using the account.
7. A gradation issuance system, comprising: the system comprises a release management subsystem, a gray release subsystem and a compiling dependence management subsystem;
the issuing management subsystem is configured to generate a first basic library and a second basic library when a basic library gray level issuing instruction of a basic library issuing account is received, and send a gray level issuing task adding request to the gray level issuing subsystem; the second basic library is a basic library of which the version is updated by the first basic library;
the gray scale issuing subsystem is configured to execute a request for adding a gray scale issuing task sent by the issuing management subsystem and send an updating compiling dependency request to the compiling dependency management subsystem;
the compiling dependency management subsystem is configured to generate a first compiling dependency version relationship corresponding to the first base library and a second compiling dependency version relationship corresponding to the second base library when receiving an updating compiling dependency request sent by the compiling dependency management subsystem; the first compilation dependency version relationship is used for characterizing a relationship between versions of the respective base libraries relied on by the first base library, and the second compilation dependency version relationship is used for characterizing a relationship between versions of the respective base libraries relied on by the second base library;
the compiling dependency management subsystem is further configured to determine a target compiling dependency version relationship corresponding to a base library usage account based on an account type corresponding to the base library usage account when a base library compiling request sent by the base library usage account is received; when the account type is a gray-scale account, the target base library version dependency relationship is a first compiling dependency version relationship, and when the account type is a non-gray-scale account, the target base library version dependency relationship is a second compiling dependency version relationship;
the compilation dependency management subsystem further configured to perform sending the target compilation dependency version relationship to the base library usage account;
the release management subsystem is further configured to execute sending the base library corresponding to the target compilation dependency version relationship to the base library usage account.
8. An electronic device, comprising:
a processor;
a memory for storing the processor-executable instructions;
wherein the processor is configured to execute the instructions to implement the greyscale publishing method as claimed in any of claims 1 to 5.
9. A storage medium having instructions that, when executed by a processor of an electronic device, enable the electronic device to perform the gray scale issuance method of any one of claims 1 to 5.
10. A computer program product, characterized in that it, when run on a computer, causes the computer to implement the gray scale distribution method of any one of claims 1 to 5.
CN202210576887.3A 2022-05-25 2022-05-25 Gray scale publishing method, device and system, electronic equipment and storage medium Pending CN115098150A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210576887.3A CN115098150A (en) 2022-05-25 2022-05-25 Gray scale publishing method, device and system, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210576887.3A CN115098150A (en) 2022-05-25 2022-05-25 Gray scale publishing method, device and system, electronic equipment and storage medium

Publications (1)

Publication Number Publication Date
CN115098150A true CN115098150A (en) 2022-09-23

Family

ID=83288674

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210576887.3A Pending CN115098150A (en) 2022-05-25 2022-05-25 Gray scale publishing method, device and system, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN115098150A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109787858A (en) * 2018-12-29 2019-05-21 福建天泉教育科技有限公司 A kind of method and terminal of batch issuing service
CN110941446A (en) * 2019-11-06 2020-03-31 苏宁云计算有限公司 Version release method and device based on multi-environment offline task
CN111309377A (en) * 2020-02-18 2020-06-19 北京达佳互联信息技术有限公司 Gray scale distribution control method and device, electronic equipment and storage medium
CN112685075A (en) * 2020-12-31 2021-04-20 五八有限公司 Gray scale distribution method and device, electronic equipment and computer readable medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109787858A (en) * 2018-12-29 2019-05-21 福建天泉教育科技有限公司 A kind of method and terminal of batch issuing service
CN110941446A (en) * 2019-11-06 2020-03-31 苏宁云计算有限公司 Version release method and device based on multi-environment offline task
CN111309377A (en) * 2020-02-18 2020-06-19 北京达佳互联信息技术有限公司 Gray scale distribution control method and device, electronic equipment and storage medium
CN112685075A (en) * 2020-12-31 2021-04-20 五八有限公司 Gray scale distribution method and device, electronic equipment and computer readable medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李明: "综合信息汇聚平台业务版本管理子系统的设计与实现", 中国优秀硕士学位论文全文数据库 信息科技辑, no. 11, 15 November 2018 (2018-11-15), pages 138 - 177 *

Similar Documents

Publication Publication Date Title
CN110188910B (en) Method and system for providing online prediction service by using machine learning model
CN108492005B (en) Project data processing method and device, computer equipment and storage medium
CN110708212B (en) Method and device for tracking call link in distributed system
CN110602227B (en) Intelligent contract management method and related device
CN110764839A (en) Business processing flow configuration method, business request processing method and device
CN111708771A (en) Data duplicate checking method, device, equipment and computer storage medium
CN111681112A (en) Method and device for managing release strategy and electronic equipment
CN104573127B (en) Assess the method and system of data variance
CN113761367A (en) System, method and device for pushing robot process automation program and computing equipment
CN117193980A (en) Task remaining duration calculation method and device
CN115098150A (en) Gray scale publishing method, device and system, electronic equipment and storage medium
CN109597819B (en) Method and apparatus for updating a database
CN116541069A (en) Key function evaluation method, device, electronic equipment, medium and program product
CN116954754A (en) Business process arranging method, device, equipment and readable storage medium
CN109710285B (en) Equipment upgrading method and system
CN116048834A (en) Method, device and storage medium for updating integrated ranking list in real time
CN111967806B (en) User risk updating method and device based on periodic retrace and electronic equipment
CN111290761A (en) Gray scale distribution method, device, medium and electronic equipment
CN113778564B (en) Method, equipment and storage medium for efficiently executing EVM intelligent contract
CN112965842B (en) Cloud compiling method and device, electronic equipment and storage medium
CN113010418B (en) Progressive gray level publishing method and device
CN114995877A (en) Variable configuration method and device
CN113382088A (en) Mobile banking message pushing method and device
CN111159988A (en) Model processing method and device, computer equipment and storage medium
WO2024029189A1 (en) Development support system

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