A traffic switching based processing system

By using a data processing system based on traffic switching, the target traffic is gradually switched from the old plugin to the new plugin. The traffic is monitored and adjusted, which solves the problems of smooth transition and stability of software updates in gray-scale testing, ensures uninterrupted user experience, and achieves stable system upgrades.

CN115167944BActive Publication Date: 2025-11-21ZHEJIANG MEIRI HUDONG NETWORK TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210880502.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-07-25
Publication Date
2025-11-21
Estimated Expiration
2042-07-25

AI Technical Summary

Technical Problem

In gray-scale testing, issues such as a smooth transition and the discovery of deficiencies during software updates can lead to system instability and negatively impact user experience.

Method used

A data processing system based on traffic switching is adopted. By gradually switching the target traffic from the old plugin to the new plugin, monitoring the traffic response parameters, and switching the traffic in a timely manner when problems occur, the system stability is ensured.

Benefits of technology

It achieves a smooth transition during plugin updates, ensuring uninterrupted use for users, timely detection and correction of issues with new plugins, avoiding widespread impact, and improving system stability and user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115167944B_ABST
    Figure CN115167944B_ABST
Patent Text Reader

Abstract

The application provides a data processing system based on traffic switching, comprising a first plug-in and a second plug-in, a server and a memory storing a computer program, the first plug-in is a plug-in that has been used, and the second plug-in is an updated first plug-in; when the computer program is executed by a processor, the following steps are implemented: obtaining a target traffic set, sending part of the target traffic to the first plug-in, sending another part of the target traffic to the second plug-in, obtaining a traffic response parameter set, obtaining a traffic response threshold set, when any traffic response parameter value is greater than or equal to a traffic response threshold, sending remaining target traffic to the first plug-in, when all traffic response parameter values are less than the traffic response threshold, sending target traffic of the next moment to the second plug-in, and sending all traffic to the second plug-in until a smooth transition in the updating process is realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of data processing, and more specifically to a processing system based on traffic switching. Background Technology

[0002] In the future, if software is to launch a completely new feature or undergo a major redesign, it's necessary to first conduct a small-scale trial before gradually scaling up to all system users. This involves a gray area between the initial launch and the official release of the new feature; this method is often called gray-scale testing. Gray-scale testing involves releasing the software to a select group of users to test it. Based on their feedback and results, the software is modified to address shortcomings, identify and improve functionality, and enhance its quality. Early user exposure lays the foundation for a smoother, more timely release. However, ensuring a smooth transition between updates and identifying shortcomings remains a challenge during gray-scale testing. Summary of the Invention

[0003] To address the aforementioned technical problems, the technical solution adopted by this invention is as follows:

[0004] A data processing system based on traffic switching includes a first plugin and a second plugin, a server, and a memory storing a computer program. The first plugin is a plugin that is already in use, and the second plugin is an updated version of the first plugin. When the computer program is executed by a processor, the following steps are implemented:

[0005] S200, Obtain the target traffic set B = (B1, ..., B...) j B n ), where B j = (B j1 B j2 ), B j1 = (B 1 j1 B r j1 B Sj j1 ), B j2 = (B 1 j2 B x j2 B Kj j2 ), the B j It refers to T j The corresponding traffic sent to the first or second plugin, where j ranges from 1 to n, and n refers to the total amount of target data, B j1 This refers to time node T jThe rth flow sent to the first plug-in, r is in the range of 1 to Sj, Sj refers to the total number of flows sent to the first plug-in; B x j2 Refers to the time node T j The xth flow sent to the second plug-in, x is in the range of 1 to Kj, Kj refers to the total number of flows sent to the second plug-in;

[0006] S300, B j1 is sent to the first plug-in;

[0007] S400, B j2 is sent to the second plug-in, and T j corresponding flow response parameter set C j =(C j1 , …, C jk , …, C jp ), C jk refers to the kth flow response parameter value corresponding to T j , k is in the range of 1 to p, p refers to the total number of flow response parameters corresponding to T j ;

[0008] S500, the flow response threshold set D=(D1, …, D k , …, D p ) is obtained, D k refers to the threshold of the kth flow response parameter corresponding to C k ;

[0009] S600, when C jk ≥D k , (B j+1 , …, B n ) is sent to the first plug-in, and (B (j+1)1 , …, B n1 ) is not sent to the second plug-in;

[0010] S700, when C jk <D k , the B j+1 corresponding to T (j+1)2 is sent to the second plug-in; wherein the total number of B (j+1)2 corresponding flows is greater than the total number of B j2 corresponding flows;

[0011] S800, when C (n-1)k <D k , B n is sent to the second plug-in.

[0012] The present application has at least the following technical effects:

[0013] In the process of updating the first plug-in to the second plug-in, the number of target traffic is gradually increased to realize smooth transition in the updating process, and the transmission of traffic is not stopped in the upgrading process, so that the user can use it continuously. Therefore, when the first plug-in is updated to the second plug-in, the target traffic is gradually transitioned, and at each transition, the set of traffic response parameters is observed. In the case that each traffic response parameter is normal, the next transition is performed, and in the transition process, the monitoring of each traffic response parameter is increased. When a problem occurs, the traffic is switched in time to avoid causing problems in a large range of target traffic, so as to discover and correct the problems of the second plug-in in time. BRIEF DESCRIPTION OF DRAWINGS

[0014] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings needed to be used in the embodiment description. Obviously, the drawings in the following description are only some embodiments of the present application, and for those skilled in the art, other drawings can be obtained without creative labor based on these drawings.

[0015] Figure 1 A flowchart of a processing system executing a computer program based on traffic switching is provided for the embodiments of the present application. DETAILED DESCRIPTION

[0016] The technical solutions in the embodiments of the present application will be described clearly and completely in the following with reference to the drawings of the embodiments of the present application. Obviously, the described embodiments are only some embodiments of the present application, not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative labor are within the scope of protection of the present application.

[0017] It should be noted that the terms "first", "second" and the like in the specification and claims of the present application and the above drawings are used to distinguish similar objects, and do not necessarily indicate a specific order or sequence. It should be understood that the data thus used can be interchanged under appropriate circumstances, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion, for example, a process, method, system, product or server including a series of steps or units does not necessarily limit to those steps or units clearly listed, but can include other steps or units not clearly listed or inherent to these processes, methods, products or devices.

[0018] The embodiment of the present application provides a processing system based on traffic switching, comprising a first plug-in and a second plug-in, a server and a memory, the first plug-in is a plug-in that has been used, and the second plug-in is an updated first plug-in; when the computer program is executed by the processor, the following steps are realized as shown in the specification Figure 1

[0019] S200, a target traffic set B=(B1,..., B j ,..., B n ) is acquired, wherein B j =(B j1 , B j2 ), B j1 =(B 1 j1 ,..., B r j1 ,..., B Sj j1 ), B j2 =(B 1 j2 ,..., B x j2 ,..., B Kj j2 ), B j is traffic corresponding to the first plug-in or the second plug-in at a time node T j , the value range of j is 1 to n, n is the total quantity of target data, B j1 is the rth traffic sent to the first plug-in at the time node T j , the value range of r is 1 to Sj, Sj is the total quantity of traffic sent to the first plug-in, and B x j2 is the xth traffic sent to the second plug-in at the time node T j , the value range of x is 1 to Kj, and Kj is the total quantity of traffic sent to the second plug-in.

[0020] Optionally, 0.005 < S1 / m < 0.02; preferably, S1 / m = 0.01.

[0021] Optionally, 0.05 < S2 / m < 0.2; preferably, S2 / m = 0.1.

[0022] Further, S j and S j+1 meet the following conditions:

[0023] 5 ≤ S j+1 / S j ≤ 10.

[0024] ​For example, in one embodiment, the first transmission is 5% of the total traffic of the second plugin, and the second transmission is 10% of the total traffic of the second plugin.

[0025] Specifically, the type of the target traffic is known to those skilled in the art and can be determined according to actual needs.

[0026] In one embodiment of the present invention, the method further includes the following step before S200:

[0027] Get the initial traffic list A = (A1, ..., A2) corresponding to T. i A m ), A i This refers to the i-th traffic segment obtained, where i ranges from 1 to m, and m is the total number of traffic segments.

[0028] Furthermore, the target data can be selected based on the IP address of the initial data.

[0029] S300, B j1 Send to the first plugin;

[0030] S400, B j2 Send to the second plugin to get T j The corresponding flow response parameter set C j =(C j1 C jk C jp ), C jk It refers to T j The corresponding k-th flow response parameter value, where k ranges from 1 to p, and p refers to T. j The total number of corresponding flow response parameters;

[0031] Based on this, during the process of updating the first plugin to the second plugin, at the j-th time node, the traffic of Sj is sent to the second plugin, and the traffic of Tj is sent to the first plugin. Most of the target traffic is still sent to the first plugin to avoid the paralysis of the entire system when the second plugin has a problem, and to ensure that the entire system can still operate normally.

[0032] S500, obtain the traffic response threshold set D = (D1, ..., D2) k D p ), D k It refers to C k The threshold of the corresponding k-th flow response parameter.

[0033] Preferably, p = 3; this can be understood as follows: when p = 3, the preset response parameter set includes a first preset parameter, a second preset parameter, and a third preset parameter; the preset response threshold set includes a first preset threshold, a second preset threshold, and a third preset threshold.

[0034] Further, the first preset parameter refers to the query rate per second of the target traffic by the second plug-in. Those skilled in the art know that any method for obtaining the query rate per second of the target traffic in the prior art belongs to the protection scope of the present application, and thus will not be described here.

[0035] Further, when the first preset parameter is < the first preset threshold value, it indicates that the second plug-in queries the target traffic quickly, and the quick query is marked as "1"; when the first preset parameter is ≥ the preset query threshold value, it indicates that the second plug-in queries the target traffic slowly, and the slow query is marked as "0"; the preset query threshold value can be determined by those skilled in the art according to actual needs.

[0036] Further, the second preset parameter refers to the interface response time of the target traffic ranked at 99% according to the response time from small to large by the second plug-in. Those skilled in the art know that any method for obtaining the response time of the target traffic in the prior art belongs to the protection scope of the present application, and thus will not be described here.

[0037] Further, when the second preset parameter is < the second preset threshold value, it indicates that the second plug-in responds to the target traffic quickly, and the quick response is marked as "1"; when the second preset parameter is ≥ the preset response threshold value, it indicates that the second plug-in responds to the target traffic slowly, and the slow response is marked as "0"; the preset response threshold value can be determined by those skilled in the art according to actual needs.

[0038] Further, the third preset parameter refers to the number of errors occurring when the second plug-in processes the target traffic, including the number of abnormal logs, the number of errors of business logs, and the number of I / O deterioration.

[0039] Further, when the third preset parameter is < the third preset threshold value, it indicates that the second plug-in normally operates on the target traffic, and the normal state is marked as "1"; when the third preset parameter is ≥ the preset deviation threshold value, it indicates that the second plug-in abnormally operates on the target traffic, and the abnormal state is marked as "0"; the preset deviation threshold value can be determined by those skilled in the art according to actual needs.

[0040] S600, when C jk ≥D k , (B j+1 , …, B n ) is sent to the first plug-in, and (B (j+1)1 , …, B n1 ) is not sent to the second plug-in.

[0041] It can be understood that when any preset parameter in the first preset parameter set does not meet the preset threshold, the second plug-in has a problem or still needs to be optimized, and the target traffic A is sent to the first plug-in at the second time node to avoid more problems and affect the user experience of the target traffic.

[0042] S700, when C jk <D k , T j+1 corresponding to B (j+1)2 is sent to the second plug-in; wherein B (j+1)2 corresponds to the total number of flows is greater than B j2 corresponds to the total number of flows.

[0043] It can be understood that in the process of updating the first plug-in to the second plug-in, the number of target traffic is gradually increased to realize smooth transition during the updating process, and the transmission of traffic is not stopped during the upgrading process, so that the user can use it continuously. Therefore, when the first plug-in is updated to the second plug-in, the target traffic is gradually transitioned, and at each transition, the second preset parameter, the first preset parameter, the third preset parameter and other preset parameters are observed. Under the condition that each preset parameter is normal, the next transition is carried out, and in the transition process, the monitoring of each parameter is increased. When a problem occurs, the traffic is switched in time to avoid causing problems of a large range of target traffic, and the problems of the second plug-in are discovered and corrected in time.

[0044] S800, when C (n-1)k <D k , B n is sent to the second plug-in.

[0045] Further, after S800, the following steps are further included:

[0046] S810, obtaining the value of the second preset parameter.

[0047] The values of the various time nodes fluctuate within a preset range. It can be understood that during the process of updating the first plug-in to the second plug-in, the response time of the second plug-in is not much different, indicating that the second plug-in operates well and has no abnormal problems.

[0048] S820, obtaining the traffic response parameter set E j of the first plug-in corresponding to T j , E j1 , …, E jk , …, E jp , wherein E jk is the kth traffic response parameter of the first plug-in corresponding to T j .

[0049] Specifically, the third preset parameter of the first plug-in at each time node is acquired to form a line graph. During the process of updating the first plug-in to the second plug-in, the line graph presents a downward trend.

[0050] Further, the line graph presents a linear downward trend.

[0051] Based on this, during the process of updating the first plug-in to the second plug-in, the number of target traffic flowing to the first plug-in gradually decreases, so the number of errors occurring in the processing of target traffic, including the number of abnormal logs, the number of errors of business logs and the number of I / O deteriorations, gradually decreases; further, during the updating process, the target traffic gradually flows to the second plug-in, and the whole process is smooth, so the line graph presents a linear downward trend, and the third preset parameter of each time node of the second plug-in presents a linear upward trend.

[0052] In an embodiment of the present application, S400-S800 can also be replaced by: S meets the following conditions:

[0053] B j2 is sent to the second plug-in.

[0054] Based on this, when the first plug-in is updated to the second plug-in, the method of gradually transitioning the target traffic from the first plug-in to the second plug-in is adopted to more smoothly update to the second plug-in, and during the updating process, the first plug-in can still be normally used, and at the same time, during the updating process, the preset response parameter set is reduced to reduce the occupied memory of the system and improve the running speed.

[0055] In a specific embodiment, the present application further comprises the following steps:

[0056] S1, acquiring a first string H1=(H1, H2, …, Hq) of version numbers corresponding to the first associated plug-in and the first plug-in 11 , …, H 1y , …H 1q ), H 1y represents the yth first character, the value range of y is 1 to q, q represents the number of first characters in the first string, and the first associated plug-in is a plug-in having a dependency relationship with the first plug-in;

[0057] S2, acquiring a second string H2=(H1, H2, …, Hg) of version numbers corresponding to the online plug-in 21 , …, H 2z , …H 2g ), H 2z represents the zth second character, the value range of z is 1 to g, and g represents the number of second characters in the second string;

[0058] S3, when the edit distance L between H1 and H2 is 0, the online associated plug-in is updated to a second associated plug-in or an intermediate plug-in, the second associated plug-in being the updated first associated plug-in, and the intermediate plug-in being a copied first associated plug-in.

[0059] Based on this, in the process of updating the first plug-in to the second plug-in, the first plug-in and the second plug-in use the respective associated plug-in, forming two calling links, avoiding errors when the first associated plug-in calls the first plug-in, so the first plug-in and the second plug-in form a link separately, ensuring the smooth execution of the computer program.

[0060] Although some specific embodiments of the present application have been described in detail by way of example with reference to the drawings, it is to be understood that the examples are for illustrative purposes only and are not to be construed as limiting the scope of the present application. It is to be appreciated that those skilled in the art will be able to devise various arrangements which, although not explicitly described or shown herein, embody the principles of the application and, thus, within the scope of the application. The scope of the application is defined by the appended claims.

Claims

1. A data processing system based on traffic switching, characterized in that, The system includes a first plugin and a second plugin, a server, and a memory storing a computer program. The first plugin is a plugin that is already in use, and the second plugin is an updated version of the first plugin. When the computer program is executed by a processor, it performs the following steps: S2 00, obtain the target traffic set B = (B1, ..., B j B n ), where B j = (B j1 B j2 ), B j1 = (B 1 j1 B r j1 B Sj j1 ), B j2 = (B 1 j2 B x j2 B Kj j2 ), the B j It refers to T j The corresponding traffic sent to the first or second plugin, where j ranges from 1 to n, and n refers to the total amount of target data, B r j1 This refers to time node T j The r-th traffic sent to the first plugin, where r ranges from 1 to Sj, and Sj refers to the total number of traffic sent to the first plugin; B x j2 This refers to time node T j The xth traffic sent to the second plugin, where x ranges from 1 to Kj, and Kj refers to the total number of traffic sent to the second plugin; S300, B j1 Send to the first plugin; S400, B j2 Send to the second plugin to get T j The corresponding flow response parameter set C j =(C j1 C jk C jp ), C jk It refers to T j The corresponding k-th flow response parameter value, where k ranges from 1 to p, and p refers to T. j The total number of corresponding flow response parameters; S500, obtain the traffic response threshold set D = (D1, ..., D2) k D p ), D k It refers to C k The threshold value of the corresponding k-th flow response parameter; S600, when C jk ≥D k At that time, (B) j+1 B n Send to the first plugin, and do not send (B) (j+1)1 B n1 (to the second plugin;) S700, when C jk <D k At that time, T j+1 Corresponding B (j+1)2 Send to the second plugin; where B (j+1)2 The corresponding total number of traffic is greater than B j2 The corresponding total number of traffic; S800, when C (n-1)k <D k At that time, B n Send to the second plugin; When the computer program is executed by the processor, the following steps are also performed: S1, obtain the first string H1 = (H1, the first associated plugin and the version number corresponding to the first plugin) 11 H 1y , ...H 1q ), H 1y This refers to the y-th first character, where y ranges from 1 to q, and q refers to the number of first characters in the first string. The first associated plugin is a plugin that has a dependency relationship with the first plugin. S2, retrieve the second string H2 of the version number corresponding to the online plugin. 21 H 2z , ...H 2g ), H 2z This refers to the z-th second character, where z ranges from 1 to g, and g represents the number of second characters in the second string. S3, when the edit distance L between H1 and H2 is 0, the online associated plugin is updated to the second associated plugin or the intermediate plugin, where the second associated plugin is the updated first associated plugin, and the intermediate plugin is the copied first associated plugin; During the process of updating the first plugin to the second plugin, the first plugin and the second plugin use their respective associated plugins to form two call chains, thus avoiding errors when the first associated plugin calls the first plugin.

2. The data processing system based on traffic switching according to claim 1, characterized in that, Prior to S200, it also included: Get the initial traffic list A = (A1, ..., A2) corresponding to T. i A m A i This refers to the i-th traffic segment obtained, where i ranges from 1 to m, and m is the total number of traffic segments.

3. The data processing system based on traffic switching according to claim 1, characterized in that, 0.005 <S1 / m<0.02。 4. The data processing system based on traffic switching according to claim 3, characterized in that, S1 / m=0.

01.

5. The data processing system based on traffic switching according to claim 1, characterized in that, 0.05 <S2 / m<0.2。 6. The data processing system based on traffic switching according to claim 5, characterized in that, S2 / m=0.

1.

7. The data processing system based on traffic switching according to claim 1, characterized in that, 5<S j+1 / S j <10。 8. The data processing system based on traffic switching according to claim 1, characterized in that, The following steps are also included after S800: S820, obtain T j The corresponding first plugin's traffic response parameter set E j =(E j1 , ..., E jk ,…,E jp ), the E jk It refers to T j The corresponding k-th traffic response parameter of the first plugin.

9. The data processing system based on traffic switching according to claim 1, characterized in that, p=3。

Citation Information

Patent Citations

  • Upgrade method, device and system for application instance

    CN108683516A

  • API gray release method and device based on cloud gateway and computer equipment

    CN112073320A