CA3155718A1 - Grayscale publishing method and device, routing equipment and storage medium - Google Patents

Grayscale publishing method and device, routing equipment and storage medium

Info

Publication number
CA3155718A1
CA3155718A1 CA3155718A CA3155718A CA3155718A1 CA 3155718 A1 CA3155718 A1 CA 3155718A1 CA 3155718 A CA3155718 A CA 3155718A CA 3155718 A CA3155718 A CA 3155718A CA 3155718 A1 CA3155718 A1 CA 3155718A1
Authority
CA
Canada
Prior art keywords
server
user request
status
switching
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CA3155718A
Other languages
French (fr)
Inventor
Haibo YOU
Xiaoyong MAO
Gang Qin
Xiaobo SI
Jinjin QIAN
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.)
10353744 Canada Ltd
Original Assignee
10353744 Canada 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 10353744 Canada Ltd filed Critical 10353744 Canada Ltd
Publication of CA3155718A1 publication Critical patent/CA3155718A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present application relates to a grayscale release method and apparatus, a routing device and a storage medium. The method comprises: when a user request is acquired, acquiring state information of a changeover switch, wherein the user request comprises routing field information; when the changeover switch is in a switching state, performing a modulo operation on the routing field information to obtain a calculation result corresponding to the user request; when the calculation result is not in a preset traffic configuration data set, distributing the user request to a first server for processing, wherein a product of an earlier version is deployed in the first server; and when the calculation result is in the traffic configuration data set, distributing the user request to a second server for processing, wherein a product of a new version is deployed in the second server. By means of the method, the system stability during the launching of a product of a new version can be improved, and the system risks can be reduced.

Description

GRAYS CALE PUBLISHING METHOD AND DEVICE, ROUTING EQUIPMENT AND
STORAGE MEDIUM
BACKGROUND OF THE INVENTION
Technical Field [0001] The present application relates to the field of intemet technology, and more particularly to a grayscale publishing method, and corresponding device, routing equipment and storage medium.
Description of Related Art
[0002] With the rapid development of the intemet technology, intemet products are being updated and iterated at an increasing speed, and old version products should be switched to new version products at each iteration and update. The traditional method of switching old to new versions is by means of control through a switching switch, for instance, when the switch is off, user flow is switched to the old version product, and when the switch is on, user flow is switched to the new version product. This mode is simple and clear, and is also high in efficiency, but the risk thereof is very high, once a problem occurs, the range affected is very broad.
[0003] In order that the old version product is smoothly transited to the new version product, the grayscale publishing method is usually employed, and the traditional grayscale publishing method generally utilizes the mode of publishing and verifying new version products in batches, whereby rollback ensues if verification of any new version product is problematic, while the next round of publishing is continued if no problem occurs.
However, the mode of grayscale publishing in batches calls for several rounds of publishing, the publishing period is long, and the verification of new version products in Date Recue/Date Received 2022-03-24 a short time cannot cover all scenarios, so that such problems might occur when new version products are put online that system stability is inferior and system error risk is high.
SUMMARY OF THE INVENTION
[0004] In view of the aforementioned technical problems, there is an urgent need to provide a grayscale publishing method, and corresponding device, routing equipment and storage medium capable of smoothly switching from an old version product to a new version product according to flow proportion, and enabling enhancement of system stability and reduction in system risk when new version products are put online.
[0005] There is provided a grayscale publishing method that comprises:
[0006] obtaining status information of a switching switch when a user request is obtained, wherein the user request contains routing field information;
[0007] performing a modulo operation on the routing field information when the switching switch is in a switching status, and obtaining a calculation result to which the user request corresponds;
[0008] assigning the user request to a first server to be processed there when the calculation result is not in a preset flow configuration dataset, wherein an old version product is deployed in the first server; and
[0009] assigning the user request to a second server to be processed there when the calculation result is in the flow configuration dataset, wherein a new version product is deployed in the second server.
[0010] In one of the embodiments, the step of performing a modulo operation on the routing field information, and obtaining a calculation result to which the user request corresponds includes:
[0011] calculating to obtain a Hash value of the routing field information, wherein the routing Date Recue/Date Received 2022-03-24 field information is user identification information to which the user request corresponds;
and
[0012] performing a modulo calculation of the Hash value on a set parameter, and obtaining the calculation result, wherein the set parameter is a product of a preset number of databases with a preset positive integer.
[0013] In one of the embodiments, the method further comprises:
[0014] assigning a request to which the user identification information corresponds to the second server to be processed there when the switching switch is in a switching status and the user identification information is in a preset white list; and
[0015] entering the step of performing a modulo operation on the routing field information when the switching switch is in a switching status and the user identification information is not in the white list.
[0016] In one of the embodiments, the switching switch includes an Off status, a switching status and an On status, and the method further comprises:
[0017] assigning the user request to the first server to be processed there when the switching switch is in an Off status; and
[0018] assigning the user request to the second server to be processed there when the switching switch is in an On status.
[0019] In one of the embodiments, the first server and the second server are respectively connected with the same and single database server, and the first server and the second server are each a server cluster; preferably, the server clusters of the first server and the second server contain the same number of servers.
[0020] In one of the embodiments, the method further comprises:
[0021] setting route switching rule information, and storing the route switching rule information in a distributed cache, wherein the route switching rule information includes the status Date Recue/Date Received 2022-03-24 information of the switching switch, the white list and the flow configuration dataset; and
[0022] obtaining the route switching rule information from the distributed cache.
[0023] In one of the embodiments, the method further comprises:
[0024] synchronizing, if the route switching rule information is modified, the modified route switching rule information in the distributed cache.
[0025] There is provided a grayscale publishing device that comprises:
[0026] an obtaining module, for obtaining status information of a switching switch when a user request is obtained, wherein the user request contains routing field information;
[0027] a calculating module, for performing a modulo operation on the routing field information when the switching switch is in a switching status, and obtaining a calculation result to which the user request corresponds; and
[0028] an assigning module, for assigning the user request to a first server to be processed there when the calculation result is not in a preset flow configuration dataset, wherein an old version product is deployed in the first server; and assigning the user request to a second server to be processed there when the calculation result is in the flow configuration dataset, wherein a new version product is deployed in the second server.
[0029] There is provided a routing equipment that comprises a memory, a processor and a computer program stored on the memory and operable on the processor, and the following steps are realized when the processor executes the computer program:
[0030] obtaining status information of a switching switch when a user request is obtained, wherein the user request contains routing field information;
[0031] performing a modulo operation on the routing field information when the switching switch is in a switching status, and obtaining a calculation result to which the user request corresponds;
[0032] assigning the user request to a first server to be processed there when the calculation result is not in a preset flow configuration dataset, wherein an old version product is deployed Date Recue/Date Received 2022-03-24 in the first server; and
[0033] assigning the user request to a second server to be processed there when the calculation result is in the flow configuration dataset, wherein a new version product is deployed in the second server.
[0034] There is provided a computer-readable storage medium storing a computer program thereon, and the following steps are realized when the computer program is executed by a processor:
[0035] obtaining status information of a switching switch when a user request is obtained, wherein the user request contains routing field information;
[0036] performing a modulo operation on the routing field information when the switching switch is in a switching status, and obtaining a calculation result to which the user request corresponds;
[0037] assigning the user request to a first server to be processed there when the calculation result is not in a preset flow configuration dataset, wherein an old version product is deployed in the first server; and
[0038] assigning the user request to a second server to be processed there when the calculation result is in the flow configuration dataset, wherein a new version product is deployed in the second server.
[0039] In the aforementioned grayscale publishing method, and corresponding device, routing equipment and storage medium, status information of a switching switch is obtained when a user request is obtained, the user request contains routing field information, a modulo operation is performed on the routing field information when the switching switch is in a switching status, and a calculation result to which the user request corresponds is obtained;
the received user request is assigned to the first server or the second server for processing according to whether the calculation result is in a preset flow configuration dataset, that is to say, smooth switching from an old version product to a new version product according to flow proportion is realized through the routing field information of the user Date Recue/Date Received 2022-03-24 request, the overall scenario can be covered during the switching process via a relatively small data range, and any problem that should occur would affect little range, so that system stability is enhanced and system risk is reduced when the new product version is published.
BRIEF DESCRIPTION OF THE DRAWINGS
[0040] Fig. 1 is a view illustrating the application environment for a grayscale publishing method in an embodiment;
[0041] Fig. 2 is a flowchart schematically illustrating a grayscale publishing method in an embodiment;
[0042] Fig. 3 is a flowchart schematically illustrating the step of modulo operation in an embodiment;
[0043] Fig. 4 a flowchart schematically illustrating a grayscale publishing method in another embodiment;
[0044] Fig. 5 is a block diagram illustrating the structure of a grayscale publishing device in an embodiment; and
[0045] Fig. 6 is a view illustrating the internal structure of a computer equipment in an embodiment.
DETAILED DESCRIPTION OF THE INVENTION
[0046] To make more lucid and clear the objectives, technical solutions and advantages of the present application, the present application is described in greater detail below with reference to accompanying drawings and embodiments. As should be understood, the Date Recue/Date Received 2022-03-24 specific embodiments as described here are merely meant to explain the present application, rather than to restrict the present application.
[0047] The grayscale publishing method provided by the present application is applicable to the application environment as shown in Fig. 1, in which terminal 102 communicates with routing server 104 via network, routing server 104 communicates with first server 106 and second server 108 respectively via network, and first server 106 and second server 108 are respectively connected with the same and single database server 110.
Terminal 102 can be, but is not limited to be, any of various personal computers, notebook computers, smart mobile phones, panel computers and portable wearable equipments, routing server 104 can be embodied as an independent server, an independent routing equipment or a server cluster consisting of a plurality of servers, and first server 106, second server 108 and database server 110 can each be embodied as an independent server or a server cluster consisting of a plurality of servers.
[0048] In one embodiment, as shown in Fig. 2, there is provided a grayscale publishing method, and the method is explained with an example of its being applied to routing server 104 in Fig. 1, to comprise the following steps:
[0049] Step 202 ¨ routing server 104 obtaining status information of a switching switch when it obtains a user request, wherein the user request contains routing field information.
[0050] Routing server 104 can receive a plurality of user requests, a user request indicates a service request submitted by a user via a terminal, the routing field information can be embodied as identification codes of the user, such as a string of digital codes, and the status information of the switching switch can be the status in which the switching switch locates when routing server 104 obtains the user request.
[0051] Specifically, routing server 104 receives and analyzes the user request, screens the routing Date Recue/Date Received 2022-03-24 field information out of the user request, and simultaneously obtains the status information of the switching switch that includes three statuses respectively corresponding to different set values of the switching switch, for example, when the set value of the switching switch is 0, the switching switch is in an Off status, and user requests as received are entirely sent to the first server for processing;
when the set value of the switching switch is 2, the switching switch is in an On status, and user requests as received are entirely sent to the second server for processing; when the set value of the switching switch is 1, the switching switch is in a switching status.
[0052] Step 204 - performing a modulo operation on the routing field information when the switching switch is in a switching status, and obtaining a calculation result to which the user request corresponds.
[0053] Specifically, when the switching switch is in a switching status, routing server 104 performs a modulo operation on the routing field information, and obtains a calculation result to which the user request corresponds. The calculation result obtained from the step of performing a modulo operation can be any of an integer selected from the range of 0 to 9.
[0054] Step 206 ¨judging whether the calculation result is in a preset flow configuration dataset.
[0055] The flow configuration dataset can be preset and modifiable, and contains at least one integer in the range of 0 to 9. Routing server 104 assigns the user request according to the calculation result.
[0056] Step 208 ¨ assigning the user request to a first server to be processed there when the calculation result is not in the preset flow configuration dataset, wherein an old version product is deployed in the first server, that is to say, the first server is capable of supplying old version product service.

Date Recue/Date Received 2022-03-24
[0057] Step 210 - assigning the user request to a second server to be processed there when the calculation result is in the flow configuration dataset, wherein a new version product is deployed in the second server, that is to say, the second server is capable of supplying new version product service.
[0058] In the aforementioned grayscale publishing method, when plural user requests are obtained, the status information of the switching switch can be obtained, the various user requests contain routing field information that are identification codes of various users;
when the switching switch is in a switching status, a modulo operation is performed on the various pieces of routing field information respectively, and calculation results to which the various user requests correspond are obtained; the plural user requests as received are assigned to the first server or the second server for processing according to whether the various calculation results are in the preset flow configuration dataset or not, and it is possible to adjust the user request flow proportion assigned to the second server by adjusting the flow configuration dataset, that is to say, smooth switching from an old version product to a new version product according to flow proportion is realized through the routing field information of the user requests, the overall scenario can be covered during the switching process via a relatively small data range, and any problem that should occur would affect little range, so that system stability is enhanced and system risk is reduced when the new product version is published.
[0059] In one embodiment, as shown in Fig. 3, step 204, namely the step of performing a modulo operation, includes:
[0060] Step 302 - calculating to obtain a Hash value of the routing field information, wherein the routing field information is user identification information to which the user request corresponds ¨ specifically, the user identification information is user codes;
and
[0061] Step 304 - performing a modulo calculation of the Hash value on a set parameter, and obtaining the calculation result, wherein the set parameter is a product of a preset number Date Recue/Date Received 2022-03-24 of databases with a preset positive integer.
[0062] The preset number of databases can be considered by default to be the number of databases of servers, and can also be freely set by the operating personnel.
[0063] In this embodiment, a grayscale publishing method is provided, the method extracts the Hash value from user codes, whereby field length can be shortened and subsequently processed data volume can be reduced; a modulo calculation of the Hash value is thereafter performed on a set parameter, and the routing server then bases on the calculation result as obtained to assign the received user request flow, that is to say, smooth switching from an old version product to a new version product according to flow proportion can be realized by configuring the set parameter to adjust the flow proportion assigned by the routing server to the first server and the second server.
[0064] In one embodiment, as shown in Fig. 4, the method comprises the following steps:
[0065] Step 402 ¨ obtaining status information of a switching switch when a user request is obtained, wherein the user request contains routing field information.
[0066] Step 404 ¨judging whether user identification information is in a preset white list when the switching switch is in a switching status, wherein the white list includes at least one piece of user identification information.
[0067] Step 406 ¨ assigning a request to which the user identification information corresponds to the second server to be processed there when the user identification information is in the preset white list.
[0068] Specifically, user requests to which the user corresponds in the white list are assigned to the second server for processing in which is deployed a new version product.
Date Recue/Date Received 2022-03-24
[0069] Step 408 ¨ entering the step of performing a modulo operation on the routing field information and obtaining a calculation result to which the user request corresponds when the user identification information is not in the white list.
[0070] Step 410 ¨judging whether the calculation result is in a preset flow configuration dataset.
[0071] Step 412 ¨ assigning the user request to a first server to be processed there when the calculation result is not in the preset flow configuration dataset, wherein an old version product is deployed in the first server.
[0072] Step 414 - assigning the user request to a second server to be processed there when the calculation result is in the flow configuration dataset, wherein a new version product is deployed in the second server.
[0073] In this embodiment, the method can select a few user requests through the white list and assign the same to the new version product for test, to serve as pilot tests before the new version is published, so as to reduce the risk in publishing the new version.
[0074] In one embodiment, the switching switch includes an Off status, a switching status and an On status, and the method further comprises:
[0075] assigning the user request to the first server to be processed there when the switching switch is in an Off status; and
[0076] assigning the user request to the second server to be processed there when the switching switch is in an On status.
[0077] The Off status, switching status and On status of the switching switch can respectively correspond to different set values of the switching switch, for example, when the set value of the switching switch is 0, the switching switch is in an Off status, and user requests as Date Recue/Date Received 2022-03-24 received are entirely sent to the first server for processing; when the set value of the switching switch is 1, the switching switch is in a switching status; when the set value of the switching switch is 2, the switching switch is in an On status, and user requests as received are entirely sent to the second server for processing.
[0078] Specifically, when a new version product is put online, the set value of the switching switch can be set as 0 by default, and the routing server sends 100% of the flow of the user request as obtained to the stable old version product.
[0079] Should the technical personnel find any error or abnormality in the new version product during the process of switching from the old version to the new version, it is also possible to immediately set the set value of the switching switch as 0, whereupon the routing server assigns the entire user request flow as received to the first server for processing, namely to switch the user request flow entirely back to the old version product, and stop switching to the new version product.
[0080] If it is considered by the technical personnel during the switching process that the current flow proportion of the user requests has been verified to have covered all application scenarios of the new version product, and data processing is normal, it is then possible to set the set value of the switching switch as 2, whereupon the routing server assigns the entire user request flow as received to the second server for processing, namely to switch the user request flow entirely back to the new version product.
[0081] In this embodiment, it is also possible, through the setup of the switching switch, to easily realize switching between old and new versions during the process of grayscale publishing, once any problem occurs to the new version, it is possible to timely switch the user request to the old version product, so the switching is convenient and safety is higher.

Date Recue/Date Received 2022-03-24
[0082] In one embodiment, the first server and the second server are respectively connected with the same and single database server, and the first server and the second server are each a server cluster.
[0083] The first server and the second server respectively receive user requests from the routing server and process the same, the data obtained by such processing is stored in a common database server, and the database server can be a database server cluster.
[0084] Preferably, the server clusters of the first server and the second server contain the same number of servers. Specifically, the first server and the second server employ the framework of a dual cluster redundant deployment, that is to say, the new version product and the old version product employ the same number of application servers, and share the database server for deployment, while only the data processing logics of the internal products of the first server and the second server are different.
[0085] In one embodiment, the method further comprises:
[0086] setting route switching rule information, and storing the route switching rule information in a distributed cache, wherein the route switching rule information includes the status information of the switching switch, the white list and the flow configuration dataset; and
[0087] obtaining the route switching rule information from the distributed cache.
[0088] If the route switching rule information is modified, the modified route switching rule information is synchronized in the distributed cache.
[0089] Specifically, the operation of modifying the route switching rule information can be performed in a visual interface, so as to facilitate to modify and control the grayscale publishing process.
[0090] The foregoing route switching rule information is stored in a distributed cache, reading Date Recue/Date Received 2022-03-24 speed in information interaction is quick, and performance loss of the user request link is negligible.
[0091] In one embodiment, the set value of the switching switch is set as 1, the switching switch is in a switching status, the routing server starts the switching operation, and the routing field information is embodied as user codes to which the user requests correspond. Firstly, a white list can be set to perform pilot user tests, for instance, a white list is set as userCode=0001, 0002, Hash(userCode)%(dbNum*N)= the following value being null, where dbNum is the number of databases that can be preset, N can be a preset positive integer, userCode is a user code to which a user request corresponds, then the user requests containing the user codes 0001, 0002 will be sent to the new version product to be data-processed, while the remaining user requests will be sent to the old version product to be data-processed there.
[0092] If the user requests with user codes 0001, 0002 are not problematic in the test of the new version product, the routing server can start to assign the user requests according to flow proportion, for instance, in the case dbNum=8, N=1, Hash(userCode)%(8*10)=0, then it is expressed that user requests with remainders being 0 resultant from a modulo operation of the Hash values of the user codes on 80 will be assigned to the new version product to be data-processed there, that is equivalent to say that 1/80 of user request flow will be assigned to the new version product to be data-processed there, and that 79/80 of user request flow is assigned to the old version product to be data-processed there; free control of grayscale publishing flow proportion and switching process can be achieved through setups of the values of dbNum and N.
[0093] For instance, in the case dbNum=8, N=100, Hash(userCode)%(8*100)=0,1, then it is expressed that approximately 2/800 of user request flow will be assigned to the new version product to be data-processed there, and 798/800 of user request flow is assigned to the old version product to be data-processed there.

Date Recue/Date Received 2022-03-24
[0094] As should be understood, although the various steps in the flowcharts of Figs. 2-4 are sequentially displayed as indicated by arrows, these steps are not necessarily executed in the sequences indicated by arrows. Unless otherwise explicitly noted in this paper, execution of these steps is not restricted by any sequence, as these steps can also be executed in other sequences (than those indicated in the drawings). Moreover, at least partial steps in the flowcharts of Figs. 2-4 may include plural sub-steps or multi-phases, these sub-steps or phases are not necessarily completed at the same timing, but can be executed at different timings, and these sub-steps or phases are also not necessarily sequentially performed, but can be performed in turns or alternately with other steps or with at least some of sub-steps or phases of other steps.
[0095] In one embodiment, as shown in Fig. 5, there is provided a grayscale publishing device that comprises an obtaining module, a calculating module and an assigning module, of which:
[0096] the obtaining module 502 is employed for obtaining status information of a switching switch when a user request is obtained, wherein the user request contains routing field information;
[0097] the calculating module 503 is employed for performing a modulo operation on the routing field information when the switching switch is in a switching status, and obtaining a calculation result to which the user request corresponds; and
[0098] the assigning module 504 is employed for assigning the user request to a first server to be processed there when the calculation result is not in a preset flow configuration dataset, wherein an old version product is deployed in the first server; and assigning the user request to a second server to be processed there when the calculation result is in the flow configuration dataset, wherein a new version product is deployed in the second server.
[0099] In one embodiment, the calculating module includes:
[0100] a Hash value calculating unit, for calculating to obtain a Hash value of the routing field Date Recue/Date Received 2022-03-24 information, wherein the routing field information is user identification information to which the user request corresponds; and
[0101] a modulo calculating unit, for performing a modulo calculation of the Hash value on a set parameter, and obtaining a calculation result, wherein the set parameter is a product of a preset number of databases with a preset positive integer.
[0102] In one embodiment, the device further comprises a while list module for assigning a request to which the user identification information corresponds to the second server to be processed there when the switching switch is in a switching status and the user identification information is in a preset white list; and entering the step of performing a modulo operation on the routing field information when the switching switch is in a switching status and the user identification information is not in the white list.
[0103] In one embodiment, the switching switch includes an Off status, a switching status and an On status, and the device further comprises a switching switch module for assigning the user request to the first server to be processed there when the switching switch is in an Off status; and assigning the user request to the second server to be processed there when the switching switch is in an On status.
[0104] In one embodiment, the first server and the second server are respectively connected with the same and single database server, and the first server and the second server are each a server cluster; preferably, the server clusters of the first server and the second server contain the same number of servers.
[0105] In one embodiment, the device further comprises:
[0106] a routing rule setting module, for setting route switching rule information, and storing the route switching rule information in a distributed cache, wherein the route switching rule information includes the status information of the switching switch, the white list and the flow configuration dataset;

Date Recue/Date Received 2022-03-24
[0107] a routing rule obtaining module, for obtaining the route switching rule information from the distributed cache; and
[0108] a routing rule modifying module, for synchronizing, when the route switching rule information is modified, the modified route switching rule information in the distributed cache.
[0109] Specific definitions relevant to the grayscale publishing device may be inferred from the aforementioned definitions to the grayscale publishing method, while no repetition is made in this context. The various modules in the aforementioned grayscale publishing device can be wholly or partly realized via software, hardware, and a combination of software with hardware. The various modules can be embedded in the form of hardware in a processor in a computer equipment or independent of any computer equipment, and can also be stored in the form of software in a memory in a computer equipment, so as to facilitate the processor to invoke and perform operations corresponding to the aforementioned various modules.
[0110] In one embodiment, a routing equipment is provided, the routing equipment can be a server, and its internal structure can be as shown in Fig. 6. The routing equipment comprises a processor, a memory, a network interface and a database connected to each other via a system bus. The processor of the routing equipment is employed to provide computing and controlling capabilities. The memory of the routing equipment includes a nonvolatile storage medium, and an internal memory. The nonvolatile storage medium stores therein an operating system, a computer program and a database. The internal memory provides environment for the running of the operating system and the computer program in the nonvolatile storage medium. The database of the routing equipment is employed to store route switching rule information data. The network interface of the routing equipment is employed to connect to an external terminal via network for communication. The computer program realizes a grayscale publishing method when it is executed by a processor.

Date Recue/Date Received 2022-03-24
[0111] As understandable to persons skilled in the art, the structure illustrated in Fig. 6 is merely a block diagram of partial structure relevant to the solution of the present application, and does not constitute any restriction to the computer equipment on which the solution of the present application is applied, as the specific computer equipment may comprise component parts that are more than or less than those illustrated in Fig. 6, or may combine certain component parts, or may have different layout of component parts.
[0112] In one embodiment, there is provided a routing equipment that comprises a memory, a processor and a computer program stored on the memory and operable on the processor, and the following steps are realized when the processor executes the computer program:
obtaining status information of a switching switch when a user request is obtained, wherein the user request contains routing field information; performing a modulo operation on the routing field information when the switching switch is in a switching status, and obtaining a calculation result to which the user request corresponds; assigning the user request to a first server to be processed there when the calculation result is not in a preset flow configuration dataset, wherein an old version product is deployed in the first server; and assigning the user request to a second server to be processed there when the calculation result is in the flow configuration dataset, wherein a new version product is deployed in the second server.
[0113] In one embodiment, when the processor executes the computer program, the following steps are further realized: the step of performing a modulo operation on the routing field information, and obtaining a calculation result to which the user request corresponds includes: calculating to obtain a Hash value of the routing field information, wherein the routing field information is user identification information to which the user request corresponds; and performing a modulo calculation of the Hash value on a set parameter, and obtaining the calculation result, wherein the set parameter is a product of a preset number of databases with a preset positive integer.

Date Recue/Date Received 2022-03-24
[0114] In one embodiment, when the processor executes the computer program, the following steps are further realized: assigning a request to which the user identification information corresponds to the second server to be processed there when the switching switch is in a switching status and the user identification information is in a preset white list that includes at least one piece of user identification information; and entering the step of performing a modulo operation on the routing field information when the switching switch is in a switching status and the user identification information is not in the white list.
[0115] In one embodiment, the switching switch includes an Off status, a switching status and an On status, when the processor executes the computer program, the following steps are further realized: assigning the user request to the first server to be processed there when the switching switch is in an Off status; and assigning the user request to the second server to be processed there when the switching switch is in an On status.
[0116] In one embodiment, the first server and the second server are respectively connected with the same and single database server, and the first server and the second server are each a server cluster; preferably, the server clusters of the first server and the second server contain the same number of servers.
[0117] In one embodiment, when the processor executes the computer program, the following steps are further realized: setting route switching rule information, and storing the route switching rule information in a distributed cache, wherein the route switching rule information includes the status information of the switching switch, the white list and the flow configuration dataset; obtaining the route switching rule information from the distributed cache; and synchronizing, if the route switching rule information is modified, the modified route switching rule information in the distributed cache.

Date Recue/Date Received 2022-03-24
[0118] In one embodiment, there is provided a computer-readable storage medium storing thereon a computer program, and the following steps are realized when the computer program is executed by a processor: obtaining status information of a switching switch when a user request is obtained, wherein the user request contains routing field information; performing a modulo operation on the routing field information when the switching switch is in a switching status, and obtaining a calculation result to which the user request corresponds; assigning the user request to a first server to be processed there when the calculation result is not in a preset flow configuration dataset, wherein an old version product is deployed in the first server; and assigning the user request to a second server to be processed there when the calculation result is in the flow configuration dataset, wherein a new version product is deployed in the second server.
[0119] In one embodiment, when the computer program is executed by a processor, the following steps are further realized: the step of performing a modulo operation on the routing field information, and obtaining a calculation result to which the user request corresponds includes: calculating to obtain a Hash value of the routing field information, wherein the routing field information is user identification information to which the user request corresponds; and performing a modulo calculation of the Hash value on a set parameter, and obtaining the calculation result, wherein the set parameter is a product of a preset number of databases with a preset positive integer.
[0120] In one embodiment, when the computer program is executed by a processor, the following steps are further realized: assigning a request to which the user identification information corresponds to the second server to be processed there when the switching switch is in a switching status and the user identification information is in a preset white list that includes at least one piece of user identification information; and entering the step of performing a modulo operation on the routing field information when the switching switch is in a switching status and the user identification information is not in the white list.
Date Recue/Date Received 2022-03-24
[0121] In one embodiment, the switching switch includes an Off status, a switching status and an On status, when the computer program is executed by a processor, the following steps are further realized: assigning the user request to the first server to be processed there when the switching switch is in an Off status; and assigning the user request to the second server to be processed there when the switching switch is in an On status.
[0122] In one embodiment, the first server and the second server are respectively connected with the same and single database server, and the first server and the second server are each a server cluster; preferably, the server clusters of the first server and the second server contain the same number of servers.
[0123] In one embodiment, when the computer program is executed by a processor, the following steps are further realized: setting route switching rule information, and storing the route switching rule information in a distributed cache, wherein the route switching rule information includes the status information of the switching switch, the white list and the flow configuration dataset; obtaining the route switching rule information from the distributed cache; and synchronizing, if the route switching rule information is modified, the modified route switching rule information in the distributed cache.
[0124] As comprehensible to persons ordinarily skilled in the art, the entire or partial flows in the methods according to the aforementioned embodiments can be completed via a computer program instructing relevant hardware, the computer program can be stored in a nonvolatile computer-readable storage medium, and the computer program can include the flows as embodied in the aforementioned various methods when executed. Any reference to the memory, storage, database or other media used in the various embodiments provided by the present application can all include nonvolatile and/or volatile memory/memories. The nonvolatile memory can include a read-only memory (ROM), a programmable ROM (PROM), an electrically programmable ROM (EPROM), Date Recue/Date Received 2022-03-24 an electrically erasable and programmable ROM (EEPROM) or a flash memory. The volatile memory can include a random access memory (RAM) or an external cache memory. To serve as explanation rather than restriction, the RAM is obtainable in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM
(SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM
(RDRAM), direct Rambus dynamic RAM (DRDRAM), and Rambus dynamic RAM
(RDRAM), etc.
[0125] Technical features of the aforementioned embodiments are randomly combinable, while all possible combinations of the technical features in the aforementioned embodiments are not exhausted for the sake of brevity, but all these should be considered to fall within the scope recorded in the Description as long as such combinations of the technical features are not mutually contradictory.
[0126] The foregoing embodiments are merely directed to several modes of execution of the present application, and their descriptions are relatively specific and detailed, but they should not be hence misunderstood as restrictions to the inventive patent scope. As should be pointed out, persons with ordinary skill in the art may further make various modifications and improvements without departing from the conception of the present application, and all these should pertain to the protection scope of the present application.
Accordingly, the patent protection scope of the present application shall be based on the attached Claims.

Date Recue/Date Received 2022-03-24

Claims (10)

What is claimed is:
1. A grayscale publishing method, characterized in comprising:
obtaining status information of a switching switch when a user request is obtained, wherein the user request contains routing field information;
performing a modulo operation on the routing field information when the switching switch is in a switching status, and obtaining a calculation result to which the user request corresponds;
assigning the user request to a first server to be processed there when the calculation result is not in a preset flow configuration dataset, wherein an old version product is deployed in the first server; and assigning the user request to a second server to be processed there when the calculation result is in the flow configuration dataset, wherein a new version product is deployed in the second server.
2. The method according to Claim 1, characterized in that the step of performing a modulo operation on the routing field information, and obtaining a calculation result to which the user request corresponds includes:
calculating to obtain a Hash value of the routing field information, wherein the routing field information is user identification information to which the user request corresponds; and performing a modulo calculation of the Hash value on a set parameter, and obtaining the calculation result, wherein the set parameter is a product of a preset number of databases with a preset positive integer.
3. The method according to Claim 2, characterized in further comprising:
assigning a request to which the user identification information corresponds to the second server to be processed there when the switching switch is in a switching status and the user identification information is in a preset white list; and entering the step of performing a modulo operation on the routing field information when the Date Recue/Date Received 2022-03-24 switching switch is in a switching status and the user identification information is not in the white list.
4. The method according to Claim 1, characterized in that the switching switch includes an Off status, a switching status and an On status, and that the method further comprises:
assigning the user request to the first server to be processed there when the switching switch is in an Off status; and assigning the user request to the second server to be processed there when the switching switch is in an On status.
5. The method according to anyone of Claims 1 to 4, characterized in that the first server and the second server are respectively connected with the same and single database server, and that the first server and the second server are each a server cluster; preferably, the server clusters of the first server and the second server contain the same number of servers.
6. The method according to anyone of Claims 1 to 4, characterized in further comprising:
setting route switching rule information, and storing the route switching rule information in a distributed cache, wherein the route switching rule information includes the status information of the switching switch, the white list and the flow configuration dataset;
and obtaining the route switching rule information from the distributed cache.
7. The method according to Claim 6, characterized in further comprising:
synchronizing, if the route switching rule information is modified, the modified route switching rule information in the distributed cache.
8. A grayscale publishing device, characterized in comprising:
an obtaining module, for obtaining status information of a switching switch when a user request is obtained, wherein the user request contains routing field information;
a calculating module, for performing a modulo operation on the routing field information when Date Recue/Date Received 2022-03-24 the switching switch is in a switching status, and obtaining a calculation result to which the user request corresponds; and an assigning module, for assigning the user request to a first server to be processed there when the calculation result is not in a preset flow configuration dataset, wherein an old version product is deployed in the first server; and assigning the user request to a second server to be processed there when the calculation result is in the flow configuration dataset, wherein a new version product is deployed in the second server.
9. A
routing equipment, comprising a memory, a processor and a computer program stored on the memory and operable on the processor, characterized in that the method steps according to anyone of Claims 1 to 7 are realized when the processor executes the computer program.
10. A computer-readable storage medium, storing a computer program thereon, characterized in that the method steps according to anyone of Claims 1 to 7 are realized when the computer program is executed by a processor.
Date Recue/Date Received 2022-03-24
CA3155718A 2019-09-24 2020-07-30 Grayscale publishing method and device, routing equipment and storage medium Pending CA3155718A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201910905769.0A CN110750278A (en) 2019-09-24 2019-09-24 Gray scale distribution method and device, routing equipment and storage medium
CN201910905769.0 2019-09-24
PCT/CN2020/105958 WO2021057251A1 (en) 2019-09-24 2020-07-30 Grayscale release method and apparatus, routing device and storage medium

Publications (1)

Publication Number Publication Date
CA3155718A1 true CA3155718A1 (en) 2021-04-01

Family

ID=69276989

Family Applications (1)

Application Number Title Priority Date Filing Date
CA3155718A Pending CA3155718A1 (en) 2019-09-24 2020-07-30 Grayscale publishing method and device, routing equipment and storage medium

Country Status (3)

Country Link
CN (1) CN110750278A (en)
CA (1) CA3155718A1 (en)
WO (1) WO2021057251A1 (en)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110750278A (en) * 2019-09-24 2020-02-04 苏宁云计算有限公司 Gray scale distribution method and device, routing equipment and storage medium
CN111538529A (en) * 2020-04-27 2020-08-14 中国银行股份有限公司 Gray scale publishing method and device
CN111708787A (en) * 2020-05-07 2020-09-25 中国人民财产保险股份有限公司 Multi-center service data management system
CN111736872B (en) * 2020-06-22 2023-07-14 平安健康保险股份有限公司 Gray scale release upgrading method, device, computer system and readable storage medium
CN113765960B (en) * 2020-07-01 2023-12-05 北京京东尚科信息技术有限公司 Operation and maintenance tangential flow method, system and computer readable medium
CN112231395A (en) * 2020-09-14 2021-01-15 苏宁金融科技(南京)有限公司 Transaction data synchronization method and server
CN112187662B (en) * 2020-09-16 2023-03-28 银盛支付服务股份有限公司 Apollo-based traffic distribution method
CN112114869A (en) * 2020-09-18 2020-12-22 聚好看科技股份有限公司 Server, gray level publishing method, device and medium
CN112235651B (en) * 2020-10-12 2022-08-12 北京金山云网络技术有限公司 Configuration parameter selection method, device, equipment and storage medium
CN112433751B (en) * 2020-12-18 2022-07-08 江苏满运物流信息有限公司 Gray scale distribution method and device, electronic equipment and storage medium
CN112835617B (en) * 2021-03-02 2024-04-02 北京字节跳动网络技术有限公司 Gray release method, device, server and readable medium
CN113162858A (en) * 2021-04-23 2021-07-23 中科云谷科技有限公司 Flow forwarding system, equipment and method and Internet of things system
CN113344704A (en) * 2021-05-31 2021-09-03 中国工商银行股份有限公司 Gray scale release control method and device based on real-time transaction processing
CN113434188A (en) * 2021-06-24 2021-09-24 未鲲(上海)科技服务有限公司 Gray scale playback method, apparatus, computer device and storage medium
CN113448755B (en) * 2021-07-09 2024-02-23 中国银行股份有限公司 Transaction routing method and device for switching between new and old systems
CN113610637B (en) * 2021-08-12 2023-07-04 上海通联金融服务有限公司 Intelligent route publishing method under support of gray level algorithm
CN113656303A (en) * 2021-08-16 2021-11-16 网易(杭州)网络有限公司 Method, apparatus, storage medium, and program product for testing new functions of game
CN113656100B (en) * 2021-08-17 2023-07-07 城云科技(中国)有限公司 Interface switching method, device, electronic device and computer program product
CN113918237B (en) * 2021-09-23 2024-10-01 广州品唯软件有限公司 Gray release method, device, equipment and computer readable medium
CN114124819B (en) * 2021-10-22 2024-02-09 北京乐我无限科技有限责任公司 Flow distribution control method and device, storage medium and computer equipment
CN114358921A (en) * 2022-01-07 2022-04-15 中国工商银行股份有限公司 System switching method, apparatus, device, medium, and program product
CN114389948B (en) * 2022-01-12 2024-05-24 北京神州数码云科信息技术有限公司 Function upgrading and verifying method, device, equipment and medium based on white list
CN114390105B (en) * 2022-03-01 2024-06-18 杭州阿里巴巴海外互联网产业有限公司 Enterprise user distribution method and equipment based on test
CN114816790A (en) * 2022-04-11 2022-07-29 深圳乐信软件技术有限公司 Data processing method, device, equipment and medium for tangential measurement process
CN114840249B (en) * 2022-05-18 2023-08-08 吉林银行股份有限公司 Gray scale release method, device and equipment of centralized service system
CN116033015B (en) * 2022-12-29 2024-03-12 联通智网科技股份有限公司 Flow segmentation method and device

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105099988B (en) * 2014-04-24 2018-11-27 阿里巴巴集团控股有限公司 Method, access method and device and system for supporting gray scale to issue
CN106648562B (en) * 2015-10-29 2020-04-21 腾讯科技(深圳)有限公司 Version updating method and device
CN105955761A (en) * 2016-06-30 2016-09-21 乐视控股(北京)有限公司 Docker-based gray level issuing device and docker-based gray level issuing method
CN109445811B (en) * 2018-09-07 2024-05-28 平安科技(深圳)有限公司 Gray release method, device, computer equipment and computer storage medium
CN109992273B (en) * 2019-01-03 2022-12-20 蔚来(安徽)控股有限公司 Gray scale publishing method and gray scale publishing system
CN110750278A (en) * 2019-09-24 2020-02-04 苏宁云计算有限公司 Gray scale distribution method and device, routing equipment and storage medium

Also Published As

Publication number Publication date
WO2021057251A1 (en) 2021-04-01
CN110750278A (en) 2020-02-04

Similar Documents

Publication Publication Date Title
CA3155718A1 (en) Grayscale publishing method and device, routing equipment and storage medium
US11442790B2 (en) Resource scheduling system, method and server for ensuring high availability of services
CN112000348B (en) Control method, device and computer equipment for service gray level release
CN110389900B (en) Distributed database cluster testing method and device and storage medium
CN110765023B (en) Distributed system testing method and system based on chaos experiment
CN110609732A (en) Application program deployment method and device, computer equipment and storage medium
CN111628886B (en) Method, device and computer equipment for building blockchain network in private cloud environment
CN108075914B (en) Dynamic capacity expansion and reduction method and network equipment
CN112527397A (en) Method and device for modifying basic input output system options and computer equipment
CN111698281B (en) Resource downloading method and device, electronic equipment and storage medium
EP3306858B1 (en) Network management system deployment method and device, and network management system
CN115412610A (en) Flow scheduling method and device under fault scene
CN118250329A (en) Flow distribution method and device suitable for gray level release and computer equipment
US10558726B2 (en) Method and apparatus for executing application
CN110442601A (en) A kind of method and apparatus that Openstack mirror image data accelerates parallel
CN110716730B (en) Gray release method, device, equipment and computer readable storage medium
CN115794927B (en) Service function expansion method and system
CN116450165A (en) Method, system, terminal and storage medium for quickly building environment and deploying program
CN113704107B (en) Application testing method, device, equipment and computer readable storage medium
CN112667350B (en) Configuration scheduling method, device and system
CN113093995B (en) Cloud disk data migration method and system
CN109039784A (en) The node deployment method and device of OpenStack
CN111338848B (en) Failure application copy processing method and device, computer equipment and storage medium
CN110716764A (en) Sharing method and device of public configuration, computer equipment and storage medium
CN113746918A (en) Hypertext transfer protocol proxy method and system

Legal Events

Date Code Title Description
EEER Examination request

Effective date: 20220916

EEER Examination request

Effective date: 20220916

EEER Examination request

Effective date: 20220916

EEER Examination request

Effective date: 20220916

EEER Examination request

Effective date: 20220916