Gray release processing method and electronic equipment

By identifying the user type on the electronic device and adding an identification to the request information, the performance loss problem caused by encryption and decryption operations in grayscale publishing is solved, and the full-link HTTPS transmission and security improvement is achieved.

CN120528971APending Publication Date: 2025-08-22HUAWEI TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202410195051.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-02-21
Publication Date
2025-08-22

AI Technical Summary

Technical Problem

During the grayscale release process, frequent encryption and decryption operations lead to performance losses, and the prior art cannot realize full-link HTTPS transmission, affecting the performance and security of grayscale release.

Method used

By identifying the user type on the electronic device and adding user type identification to the request information, encrypted request information is generated, and decryption operations are avoided on the grayscale platform, thereby realizing traffic distribution based on user type, reducing performance losses and ensuring the security of full-link encryption requests.

Benefits of technology

It reduces performance losses during grayscale release, improves data transmission security and accuracy of grayscale release, and realizes full-link HTTPS transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120528971A_ABST
    Figure CN120528971A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of computers, and discloses a gray release processing method and electronic equipment. According to the method, the electronic equipment responds to user operation, and before request information is generated, processing of identifying a user type can be executed firstly so as to identify whether the user type is a gray-scale user or a non-gray-scale user; and determining request information based on the identified user type, and indicating the user type in the identifier of the request information through the request parameter. Therefore, after receiving the request information, the server can determine the user type according to the request parameter included in the identifier of the request information, so that the request information does not need to be decrypted. Therefore, according to the method, the performance loss in the gray release process can be reduced, the encryption request of a full link can be realized, and the security of data transmission is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of computer technology, and in particular to a method for processing grayscale release and an electronic device. Background Art

[0002] Grayscale releases are a common approach for upgrading and releasing some internet software products and cloud services. The upgrade and rollout process involves a gradual, gradual rollout, with a smooth transition to all users. Grayscale releases ensure seamless upgrades and zero service interruption. They also provide early user feedback, improving product quality, and allow for limited user participation in testing, minimizing the impact of the upgrade. If issues are discovered during a grayscale release, they can be quickly rolled back to the live version and fixed promptly, minimizing the impact. The live version refers to the currently stable version of the software product or cloud service.

[0003] During the grayscale release process, the user's request information is used to identify whether they are grayscale users. If they are grayscale users, they are distributed to the grayscale environment. If they are non-grayscale users, they are distributed to the existing network environment. Currently, based on security considerations, user request information is generally encrypted using the Hypertext Transfer Protocol Secure (HTTPS). Compared to HTTP, HTTPS mainly uses digital certificates, encryption algorithms, asymmetric keys and other technologies to complete the transmission encryption of Internet data and achieve Internet transmission security protection. Accordingly, on the grayscale platform, when identifying grayscale users based on user request information, developers need to configure digital certificates to decrypt HTTPS, and then obtain the header and body in the HTTP request to identify whether it is a grayscale user through the header and body.

[0004] In this way, each user's request information needs to be decrypted on the grayscale platform first. Therefore, it is worth considering how to improve the performance and security of grayscale releases. Summary of the Invention

[0005] The present invention provides a method and electronic device for grayscale release processing, which can reduce the performance loss caused by frequent encryption and decryption operations, thereby improving the performance of the grayscale release process. In addition, the method can also implement full-link HTTPS transmission, improving the security of grayscale release.

[0006] In a first aspect, an embodiment of the present application provides a method for processing grayscale releases. The method can be applied to electronic devices. In the method, in response to a first user operation, the user type is identified, the user type being a grayscale user or a non-grayscale user; request information is determined based on the user type; wherein the identifier of the request information includes a request parameter, the request parameter is used to indicate a request for a service version matching the user type, the user type being the grayscale user, the service version being the grayscale version, the user type being the non-grayscale user, and the service version being the existing network version; and the request information is sent to a first server.

[0007] In this method, on the electronic device, before generating encrypted request information in response to the user operation, the user type corresponding to the user operation can be obtained. Based on this, the decrypted request information is determined according to the user type, and in the identifier of the request information, the user type is indicated to the first server where the grayscale platform is located through the request parameter. In this way, the first server where the grayscale platform is located does not need to decrypt the encrypted request information, and can realize traffic distribution based on user type, such as providing grayscale users with a grayscale version of the service, and providing non-grayscale users with a live network version of the service. Therefore, this method can reduce the performance loss in the grayscale publishing process, and can also realize full-link encrypted requests, thereby improving the security of data transmission.

[0008] In one possible design, the identifying of the user type in response to the first user operation includes: obtaining user information based on the operation request data of the first user operation; one possible scenario is, when it is determined that the user information hits the preset grayscale rule, determining that the user type is a grayscale user; another possible scenario is, when it is determined that the user information does not hit the preset grayscale rule, determining that the user type is a non-grayscale user.

[0009] In this design, by pre-defining grayscale rules, it is possible to determine whether a user is a grayscale user, thereby improving the accuracy of grayscale release.

[0010] In one possible design, the user information includes but is not limited to at least one of the following information: user account information, Internet Protocol IP address, user region information, and user preset identification.

[0011] In this design, by pre-defining user information belonging to grayscale users, it is possible to identify the user type on the electronic device, and then the electronic device can obtain request information based on the user type. Based on this, it is possible to generate an identifier that can be used to indicate the request information of the user type.

[0012] In one possible design, the request information is obtained by encrypting the operation request data.

[0013] In this design, the electronic device identifies the user type before encrypting the operation request data and generates a request information identifier based on the user type. This allows the first server where the grayscale platform resides to achieve accurate traffic distribution without decrypting the request information. This reduces performance loss during grayscale releases and enables full-link encryption requests, improving data transmission security.

[0014] In one possible design, obtaining request information based on the user type includes: adding a user identifier for indicating the user type in the position of the request parameter.

[0015] In this design, electronic devices add a user type identifier to the request information, eliminating the need for the first server hosting the grayscale platform to decrypt the request information and enabling accurate traffic distribution. This reduces performance loss during grayscale publishing and enables full-link encryption, improving data transmission security.

[0016] In one possible design, the user identifier includes a first indication value, which is used to indicate that the user type is the grayscale user; or, the user identifier includes a second indication value, which is used to indicate that the user type is the non-grayscale user.

[0017] In this design, the user identifier can be added to the identifier of the request information through the configuration rules of the pre-defined user identifier, so that the first server where the grayscale platform is located can determine the user type based on the user identifier included in the identifier of the request information without decrypting the request information.

[0018] In one possible design, the request information is HTTPS-based request information; the identifier of the request information is an HTTPS website.

[0019] In the second aspect, an embodiment of the present application provides a processing method for grayscale release. The method can be applied to a first server. In the method, a request message is received from an electronic device; wherein the identifier of the request message includes a request parameter, and the request parameter is used to indicate the user type, and the user type is a grayscale user or a non-grayscale user. Optionally, when the user type is the grayscale user, the request message is sent to a second server; wherein the second server runs a grayscale version that matches the grayscale user. Another option is that when the user type is the non-grayscale user, the request message is sent to a third server; wherein the third server runs an existing network version that matches the non-grayscale user.

[0020] In one possible design, the request information is encrypted request information.

[0021] In a third aspect, the present application provides an electronic device comprising multiple functional modules; the multiple functional modules interact with each other to implement the method performed by the electronic device in the first aspect and its respective designs. The multiple functional modules can be implemented based on software, hardware, or a combination of software and hardware, and the multiple functional modules can be arbitrarily combined or divided based on the specific implementation.

[0022] In a fourth aspect, the present application provides an electronic device comprising at least one processor and at least one memory, wherein the at least one memory stores computer program instructions. When the electronic device is running, the at least one processor executes the method executed by the electronic device in the above-mentioned first aspect and its various designs.

[0023] In a fifth aspect, the present application provides a first server, comprising multiple functional modules; the multiple functional modules interact with each other to implement the method performed by the first server in the second aspect and its respective designs. The multiple functional modules can be implemented based on software, hardware, or a combination of software and hardware, and the multiple functional modules can be arbitrarily combined or divided based on the specific implementation.

[0024] In a sixth aspect, the present application provides a first server comprising at least one processor and at least one memory, wherein the at least one memory stores computer program instructions. When the first server runs, the at least one processor executes the method executed by the first server in the above-mentioned second aspect and its various designs.

[0025] In the seventh aspect, the present application also provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a computer, the computer executes the above-mentioned first aspect and its possible methods of being designed to be executed by electronic devices, or the computer executes the above-mentioned second aspect and its possible methods of being designed to be executed by a first server.

[0026] In an eighth aspect, the present application provides a computer program product, which includes: a computer program (also referred to as code, or instructions), which, when the computer program is run, enables the computer to execute the above-mentioned first aspect and its various possible methods of designing electronic devices, or enables the computer to execute the above-mentioned second aspect and its various possible methods of designing a first server to execute.

[0027] In the ninth aspect, the present application also provides a chip, which is used to read the computer program stored in the memory, execute the above-mentioned first aspect and its possible methods of being designed to be executed by electronic devices, or execute the above-mentioned second aspect and its possible methods of being designed to be executed by the first server.

[0028] In a tenth aspect, the present application further provides a chip system, which includes a processor for supporting a computer device to implement the above-mentioned first aspect and its possible design electronic device execution method, or for supporting a computer device to implement the above-mentioned second aspect and its possible design first server execution method. In one possible design, the chip system also includes a memory, which is used to store the necessary programs and data for the computer device. The chip system can be composed of a chip, or it can include a chip and other discrete devices.

[0029] For the beneficial effects of any of the second to tenth aspects and their possible designs, please refer to the beneficial effects of the various possible designs in the first aspect, which will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0030] Figure 1 A schematic diagram of the hardware structure of a possible electronic device provided in an embodiment of the present application;

[0031] Figure 2 A software architecture block diagram of an electronic device provided in an embodiment of the present application;

[0032] Figure 3 A schematic diagram of an application scenario applicable to the phased release provided in the embodiments of this application;

[0033] Figure 4 A schematic diagram of another application scenario applicable to the phased release provided in the embodiments of the present application;

[0034] Figure 5 A schematic diagram of the interactive process of a grayscale release processing method provided in an embodiment of the present application;

[0035] Figure 6 A configuration interface diagram of a grayscale strategy provided in an embodiment of the present application;

[0036] Figure 7 This is another configuration interface diagram of a grayscale strategy provided in an embodiment of the present application;

[0037] Figure 8 Another interactive flow diagram of a method for processing a grayscale release provided in an embodiment of the present application. DETAILED DESCRIPTION

[0038] The following is a detailed description of the embodiments of the present application in conjunction with the accompanying drawings. The following first introduces the technical terms that may be involved in the method provided by the present application:

[0039] (1) Grayscale release refers to a release method that can smoothly transition between black and white. It is used to gradually introduce new versions of software functions or improvements to some users or servers in the production environment to ensure the stability and reliability of the system. For example, some users continue to use software version A, and some users start using software version B. If users have no objections to software version B, then gradually expand the scope and migrate all users to software version B. Among them, software version A is the current network version, and software version B is the grayscale version. Grayscale release can ensure the stability of the entire system. Problems can be discovered and adjusted during the initial grayscale to ensure their impact.

[0040] (2) The live version, also known as the stable version or old version, refers to the version that is currently running stably. Correspondingly, the live environment refers to the server where the live version is deployed.

[0041] (3) A grayscale version, also called a new version, refers to an upgraded version. Correspondingly, a grayscale environment refers to the server where the grayscale version is deployed.

[0042] (4) Grayscale platform, used to configure grayscale rules. Grayscale rules can be used to distribute user requests to different environments, such as the live network environment or the grayscale environment.

[0043] (5) Grayscale users: users whose requests are routed to the grayscale environment. For example, grayscale users can be pre-configured by developers, for example, users with a specified Internet Protocol (IP) address, a specified region, or a specified company. This application does not limit the method for determining grayscale users.

[0044] Correspondingly, users whose requests are routed to the live network environment can be called "non-grayscale users" or "live network users".

[0045] (6) HTTPS is an HTTP channel with security as its goal. It uses transmission encryption and identity authentication based on HTTP to ensure the security of the transmission process. HTTP is a simple request-response protocol that can specify what kind of message the client may send to the server and what kind of response it will get. The composition of HTTP / HTTPS URLs generally includes: header field name, such as HTTP or HTTPS; separator, such as ": / / "; request path, such as uniform resource location (URL); request parameters, such as query string, etc. Request parameters generally begin with "?".

[0046] Among them, HTTP requests usually include a header and a body. The header includes data (cookies) stored on the user's local terminal. Cookies generally store user identification and can be used to identify the user. Currently, HTTP is generally used to identify whether the user is a grayscale user. Therefore, when the user's request message is sent using HTTPS, HTTPS needs to be decrypted to obtain HTTP. In this way, each user's request information needs to be decrypted on the grayscale platform. In addition, in the process of distributing from the grayscale platform to the live network environment or grayscale environment, encryption and decryption operations may need to be performed again.

[0047] In view of this, an embodiment of the present application provides a processing method for grayscale release. In this method, by pre-configuring the front-end file, before encapsulating the user's operation request as HTTPS request information, the user's operation request is obtained on the electronic device based on the front-end file; according to the user's operation request, when it is identified as a grayscale user, the user's operation request is encapsulated as HTTPS, and the grayscale user is indicated by the querystring to obtain the user's request information. In this way, after the server running the grayscale platform receives HTTPS, it determines whether it is a grayscale user based on the querystring included in HTTPS, thereby realizing traffic distribution. In this way, on the server running the grayscale platform, there is no need to configure decryption tools such as decryption certificates for HTTPS, and there is no need to perform decryption operations on HTTPS. Not only can the performance loss be reduced, but the server running the grayscale platform can also continue to distribute undecrypted HTTPS to the grayscale environment or the existing network environment, thereby ensuring the full-link HTTPS transmission and improving the security of grayscale release.

[0048] The embodiments of the present application can be applied to electronic devices such as mobile phones, PCs, tablet computers, wearable devices (e.g., watches, bracelets, etc.), in-vehicle devices, augmented reality (AR) / virtual reality (VR) devices, laptop computers, ultra-mobile personal computers (UMPCs), netbooks, personal digital assistants (PDAs), smart home devices (e.g., smart TVs, smart speakers, etc.). It will be understood that the embodiments of the present application do not impose any restrictions on the specific types of electronic devices.

[0049] The electronic devices to which the embodiments of the present application can be applied include but are not limited to electronic devices equipped with Or electronic devices with other operating systems. The portable electronic device may also be other portable electronic devices, such as a laptop computer with a touch-sensitive surface (eg, a touch panel).

[0050] Figure 1 FIG1 shows a schematic diagram of the hardware structure of a possible electronic device. The electronic device 100 includes: a radio frequency (RF) circuit 210, a power supply 220, a processor 230, a memory 240, an input unit 250, a display unit 260, an audio circuit 270, a communication interface 280, and a wireless fidelity (Wi-Fi) module 290. Those skilled in the art will understand that Figure 1 The hardware structure of the electronic device 100 shown in the figure does not constitute a limitation on the electronic device 100. The electronic device 100 provided in the embodiment of the present application may include more or fewer components than shown in the figure, may combine two or more components, or may have different component configurations. Figure 1 The various components shown in the drawings may be implemented in hardware, software, or a combination of hardware and software, including one or more signal processing and / or application specific integrated circuits.

[0051] The following combination Figure 1 The components of the electronic device 100 are described in detail.

[0052] The RF circuit 210 can be used to receive and transmit data during communications or calls. Specifically, after receiving downlink data from the base station, the RF circuit 210 sends it to the processor 230 for processing. Furthermore, it sends uplink data to the base station. Typically, the RF circuit 210 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low-noise amplifier (LNA), a duplexer, and the like.

[0053] In addition, the RF circuit 210 can also communicate with other devices via a wireless communication network. The wireless communication can use any communication standard or protocol, including but not limited to Global System of Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (LTE), email, Short Messaging Service (SMS), etc.

[0054] The electronic device 100 can also implement communication services and interact with other electronic devices, so the electronic device 100 needs to have a data transmission function, that is, the electronic device 100 needs to include a communication module. Figure 1 Communication modules such as the RF circuit 210, the Wi-Fi module 290, and the communication interface 280 are shown, but it is understandable that at least one of the above components or other communication modules (such as a Bluetooth module) for implementing communication exist in the electronic device 100 to perform data transmission.

[0055] For example, when the electronic device 100 is a mobile phone, the electronic device 100 may include the RF circuit 210, and may also include the Wi-Fi module 290, or may include a Bluetooth module ( Figure 1 When the electronic device 100 is a computer, the electronic device 100 may include the communication interface 280, and may also include the Wi-Fi module 290, or may include a Bluetooth module ( Figure 1 When the electronic device 100 is a tablet computer, the electronic device 100 may include the Wi-Fi module, or may include a Bluetooth module ( Figure 1 not shown).

[0056] Wi-Fi technology is a short-range wireless transmission technology. The electronic device 100 can connect to an access point (AP) via the Wi-Fi module 290 to access a data network. The Wi-Fi module 290 can be used to receive and send data during the communication process.

[0057] The electronic device 100 can be physically connected to other devices via the communication interface 280. Optionally, the communication interface 280 is connected to the communication interface of the other device via a cable to achieve data transmission between the electronic device 100 and the other device.

[0058] The memory 240 can be used to store software programs and modules. The processor 230 executes various functional applications and data processing of the electronic device 100 by running the software programs and modules stored in the memory 240. Optionally, the memory 240 may mainly include a program storage area and a data storage area. Among them, the program storage area can store an operating system (mainly including the corresponding software programs or modules of the kernel layer, system layer, application framework layer and application layer).

[0059] In addition, the memory 240 may include a high-speed random access memory and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other volatile solid-state storage device. In the embodiment of the present application, the memory 240 may store computer program instructions for implementing the grayscale release processing method provided in the embodiment of the present application, such as storing front-end files, which may be, for example, a web-based development toolkit (javascript software development kit, JSSDK) provided to developers.

[0060] The input unit 250 can be used to receive editing operations of various different types of data objects such as digital or character information input by the user, and to generate key signal inputs related to user settings and function controls of the electronic device 100. Optionally, the input unit 250 may include a touch panel 251 and other input devices 252. Among them, the touch panel 251, also known as a touch screen, can collect user touch operations on or near it (such as operations performed by the user using any suitable object or accessory such as a finger, stylus, etc. on or near the touch panel 251), and drive the corresponding connection device according to a pre-set program. In an embodiment of the present application, the touch panel 251 can collect user operations on the client, such as operations of users accessing web pages, clicking on functional modules in web pages, clicking on controls of application programs, etc.

[0061] Optionally, the other input device 252 may include, but is not limited to, one or more of a physical keyboard, function keys (such as a volume control button, a power button, etc.), a trackball, a mouse, a joystick, etc. For example, when the electronic device 100 is a laptop computer, the other input device 252 may be a mouse and / or a keyboard.

[0062] The display unit 260 can be used to display information input by the user or information provided to the user and various menus of the electronic device 100. The display unit 260 is the display system of the electronic device 100, which is used to present an interface and realize human-computer interaction. The display unit 260 may include a display panel 261. Optionally, the display panel 261 can be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), etc. In an embodiment of the present application, the display unit 260 can be used to display a user interface for the user, such as a web page interface, a browser interface, an application interface, etc.

[0063] The processor 230 is the center of control of the electronic device 100. It connects various components using various interfaces and lines, executes or runs software programs and / or modules stored in the memory 240, and calls data stored in the memory 240 to perform various functions of the electronic device 100 and process data, thereby realizing various services based on the electronic device 100. In the embodiment of the present application, the processor 230 can be used to implement the processing method for phased release provided in the embodiment of the present application.

[0064] The electronic device 100 further includes a power supply 220 (e.g., a battery) for supplying power to various components. Optionally, the power supply 220 may be logically connected to the processor 230 via a power management system, thereby managing charging, discharging, and power consumption through the power management system.

[0065] like Figure 1As shown, the electronic device 100 also includes an audio circuit 270, a microphone 271 and a speaker 272, which can provide an audio interface between the user and the electronic device 100. The audio circuit 270 can be used to convert audio data into a signal that can be recognized by the speaker 272, and transmit the signal to the speaker 272, which is converted into a sound signal for output by the speaker 272. The microphone 271 is used to collect external sound signals (such as the sound of a person speaking, or other sounds, etc.), and convert the collected external sound signals into signals that can be recognized by the audio circuit 270 and send them to the audio circuit 270. The audio circuit 270 can also be used to convert the signal sent by the microphone 271 into audio data, and then output the audio data to the RF circuit 210 to send it to, for example, another electronic device, or output the audio data to the memory 240 for subsequent further processing.

[0066] Although not shown, the electronic device 100 may further include a camera, at least one sensor, etc., which will not be described in detail herein. The at least one sensor may include but is not limited to a pressure sensor, an air pressure sensor, an acceleration sensor, a distance sensor, a fingerprint sensor, a touch sensor, a temperature sensor, etc.

[0067] The operating system (OS) involved in the embodiments of the present application is the most basic system software running on the electronic device 100. The software system of the electronic device 100 can adopt a layered architecture, an event-driven architecture, a microkernel architecture, a microservice architecture, or a cloud architecture. The embodiments of the present application use an operating system with a layered architecture as an example to illustrate the software system architecture of the electronic device 100.

[0068] Figure 2 This is a software system architecture block diagram of an electronic device provided in an embodiment of the present application. Figure 2 As shown, the software system architecture of the electronic device can be a layered architecture. For example, the software can be divided into several layers, each with a clear role and division of labor. The layers communicate with each other through software interfaces. In some embodiments, the operating system is divided into five layers: from top to bottom, the application layer, the application framework layer (framework, FWK), the runtime and system library layer, the kernel layer, and the hardware layer.

[0069] The application layer can include a series of application packages. Figure 2 As shown, the application layer may include camera, settings, skin module, user interface (UI), third-party applications, etc. Among them, third-party applications may include wireless local area network (WLAN), music, call, Bluetooth, video, memo, notes, etc.

[0070] In the embodiment of the present application, the application layer can be used to implement the presentation of the display interface. The above display interface can be based on the grayscale release processing method in the following embodiment to determine the corresponding display interface presented after running the grayscale version or the live network version.

[0071] In one possible implementation, applications can be developed using Java by calling the application programming interface (API) provided by the application framework layer. Developers can use the application framework layer to interact with the underlying operating system layers (e.g., the hardware layer, kernel layer, etc.) to develop their own applications. The application framework layer primarily provides a series of services and management systems for the operating system.

[0072] The application framework layer provides application programming interfaces and programming frameworks for applications in the application layer. The application framework layer includes some predefined functions. Figure 2 As shown, the application framework layer may include an activity manager, a window manager, a content provider, a view system, a phone manager, a resource manager, a notification manager, and the like.

[0073] The activity manager is used to manage the life cycle of each application and provide common navigation back functions, providing an interactive interface for all program windows.

[0074] The window manager manages windowed applications. It can determine the display size, determine whether a status bar is present, lock the screen, and take screenshots. Content providers store and retrieve data and make it accessible to applications. This data can include video, images, audio, incoming and outgoing calls, browsing history and bookmarks, and phone books.

[0075] The view system includes visual controls, such as those for displaying text and images. The view system is used to build applications. A display interface can consist of one or more views. For example, a display interface containing a text notification icon might include a view for displaying text and a view for displaying images.

[0076] The phone manager is used to provide communication functions for electronic devices, such as call status management (including answering, hanging up, etc.).

[0077] The resource manager provides various resources for applications, such as localized strings, icons, images, layout files, video files, and so on.

[0078] The Notification Manager allows applications to display notifications in the status bar. These messages can be displayed briefly and then disappear automatically without user interaction. For example, the Notification Manager is used to notify users of completed downloads and message reminders. The Notification Manager can also display notifications in the top status bar of the system as icons or scrolling text, such as notifications from background applications, or as dialog windows on the screen. Examples include text messages in the status bar, beeps, vibrations on electronic devices, and flashing indicator lights.

[0079] The runtime includes the core library and the virtual machine. The runtime is responsible for the scheduling and management of the operating system.

[0080] The core library consists of two parts: one containing the Java language's callable functions and the other containing the operating system's core libraries. The application layer and application framework layer run in a virtual machine. The virtual machine executes the Java files in the application layer and application framework layer as binary files. The virtual machine manages object lifecycles, stack management, thread management, security and exception management, and garbage collection.

[0081] The system library can include multiple functional modules, such as a surface manager, a media framework, a 3D graphics processing library (such as OpenGL ES), and a 2D graphics engine (such as SGL).

[0082] The surface manager is used to manage the display subsystem and provide the fusion of two-dimensional and 3D layers for multiple applications.

[0083] The media framework supports playback and recording of a variety of common audio and video formats, as well as static image files. The media framework can support a variety of audio and video encoding formats, such as MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc.

[0084] The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, compositing, and layer processing.

[0085] A 2D graphics engine is a drawing engine for 2D drawings.

[0086] In some embodiments, a three-dimensional graphics processing library may be used to draw a three-dimensional motion trajectory image, and a two-dimensional graphics engine may be used to draw a two-dimensional motion trajectory image.

[0087] The kernel layer is the layer between hardware and software. The kernel layer includes at least display driver, camera driver, audio driver, and sensor driver.

[0088] The hardware layer can include various sensors, such as accelerometers, gravity sensors, touch sensors, etc.

[0089] Typically, the electronic device 100 can run multiple applications simultaneously. In simpler cases, one application corresponds to one process, while in more complex cases, one application corresponds to multiple processes. Each process has a process ID.

[0090] It should be understood that in the embodiments of the present application, "at least one of the following" or similar expressions refers to any combination of these items, including any combination of single items or plural items. For example, at least one of a, b or c can represent: a, b, c, a and b, a and c, b and c, or a, b and c, where a, b, c can be single or multiple. "Multiple" refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships can exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. The character " / " generally indicates that the previous and subsequent associated objects are in an "or" relationship.

[0091] In addition, it should be understood that, in the description of this application, words such as "first" and "second" are only used for the purpose of distinguishing the description, and cannot be understood as indicating or implying relative importance, nor can they be understood as indicating or implying order.

[0092] It should be understood that the hardware structure of the electronic device can be as follows Figure 1 As shown, the software system architecture can be Figure 2 As shown, the software programs and / or modules corresponding to the software system architecture in the electronic device can be stored in the memory 240, and the processor 230 can run the software programs and applications stored in the memory 240 to execute the process of a grayscale release processing method provided in an embodiment of the present application.

[0093] In order to facilitate understanding of the grayscale release processing method provided by this application, the following Figures 3 to 7 The content shown introduces the implementation process of the method provided by this application.

[0094] The embodiments of the present application are applicable to development scenarios of software products and cloud service businesses in electronic devices such as mobile phones, tablets, or computers, such as upgrade scenarios such as application upgrades, new function launches, and updated information content.

[0095] Figure 3 A schematic diagram of an application scenario applicable to the grayscale release provided in the embodiment of this application. Figure 3As can be seen in the figure, the application scenario may include but is not limited to: user 30, electronic device 31 running the client, server 32 running the grayscale platform, server 331 running the grayscale version, and server 332 running the live network version.

[0096] User 30 is used to perform operations on the client, such as accessing a web page, clicking a control, etc. The client is an interactive module in the service website interface developed by the developer, or an application on an electronic device, etc.

[0097] The electronic device 31 is used to encapsulate the operation of the user 30 into the user's request information and send it to the grayscale platform through the communication network between the server 32. In the embodiment of the present application, the user's request information is transmitted using HTTPS to ensure the security of the transmitted data.

[0098] In the embodiment of the present application, the electronic device 31 is integrated with the front-end file. It should be understood that the front-end file needs to be run before the user's operation request is encapsulated as HTTPS, so the front-end file needs to be integrated into the electronic device 31.

[0099] Server 32, also known as the grayscale platform server 32, is used to run the grayscale platform and receive request information from the electronic device 31. The grayscale platform can be used to distribute traffic based on the request information, which can also be understood as identifying grayscale users based on the request information. Optionally, when a grayscale user is determined to be a grayscale user, traffic is distributed to server 331. Alternatively, when a non-grayscale user is determined to be a non-grayscale user, traffic is distributed to server 332. For example, a canary grayscale strategy can be configured on the grayscale platform to implement traffic distribution based on the canary grayscale strategy.

[0100] Server 331, also known as grayscale server 331, is used to run the grayscale version and establish a grayscale environment. It is also used to monitor the operation of the grayscale version, promptly fix problems based on the operation status, or even roll back to the live network version. Alternatively, if the grayscale version passes verification based on the operation status, the grayscale version will be gradually released to all network users and the live network version will be offline. It should be understood that when the grayscale version is released to all network users, it will be treated as the new live network version. When a new grayscale version appears, it will be processed according to the grayscale release processing method described in the embodiments of this application.

[0101] Server 332, also referred to as live network server 332, is used to run the live network version and construct a live network environment; and is also used to take the live network version offline after the grayscale version is fully launched.

[0102] In the embodiments of the present application, the grayscale platform server 32, the grayscale server 331, or the live network server 332 can be different servers. Alternatively, at least two of the grayscale platform server 32, the grayscale server 331, or the live network server 332 can be the same server, which is not limited in this application. Furthermore, the grayscale platform server 32, the grayscale server 331, or the live network server 332 can be a single server or a server group, which is not limited in this embodiment of the present application.

[0103] Figure 4 Schematic diagram of another application scenario applicable to the grayscale release provided in the embodiment of this application. Figure 3 , the application scenario may also include: a server 41 that provides front-end files.

[0104] Server 41 is used to provide front-end files. The front-end file in the embodiment of the present application refers to a program instruction that can be used to implement, but is not limited to, the following functions: reading the user's operation request; identifying the user type, such as grayscale user or non-grayscale user; and encapsulating the user type into the HTTPS request parameters.

[0105] It should be understood that the front-end file needs to be run before the user's operation request is encapsulated as HTTPS, so the front-end file needs to be integrated into the electronic device 31.

[0106] In an optional embodiment, the developer may integrate the front-end file into the electronic device 31 in advance, for example, the developer may integrate the front-end file manually.

[0107] In another optional embodiment, the front-end file can be pre-integrated into the grayscale server 331 and the live network server 332. When the user begins to access the web page interface, the electronic device 31 can encapsulate the user's operation request into an HTTPS request message and send the HTTPS request message to the grayscale platform server 32. Accordingly, the grayscale platform server 32 can receive the HTTPS request message from the electronic device 31. In this embodiment of the present application, the grayscale platform server 32 does not need to be configured with decryption tools such as HTTPS decryption certificates. Based on this, the optional grayscale platform server 32 sends the HTTPS request message to the live network server 332 by default. Accordingly, the live network server 332 receives the HTTPS request message from the grayscale platform server 32, responds to the HTTPS request message, and simultaneously returns the front-end file to the electronic device 31. In this way, in response to the request message from the electronic device 31, the front-end file is carried in the response message, thereby enabling the user's subsequent operation requests on the web page interface to be implemented, and the method provided in the embodiment of the present application can be executed, thereby reducing performance loss in the grayscale publishing system. It should be understood that when the user is a grayscale user, after the electronic device 31 obtains the front-end file, it can be successfully distributed to the grayscale server 331 in the scenario of full link without decryption through the method provided by this application. Figure 5 The process introduced will not be described in detail here.

[0108] In the above embodiment, the user's operation request may be, for example, the user's first operation request on the web page interface.

[0109] Exemplarily, the front-end file may be, for example, JSSDK.

[0110] It should be noted that server 41 can be a separate server, or the same server as grayscale server 331, or the same server as existing network server 332 or grayscale platform server 32. This application does not limit this. In addition, server 41 can also be a server group.

[0111] Combine Figure 4 For the system architecture introduced, see Figure 5 , is a schematic diagram of the interactive process of a method for processing a phased release provided in an embodiment of the present application. The interactive process may include:

[0112] Step 501: The electronic device 31 detects and responds to a user operation, triggering an operation request.

[0113] For example, user operations may include, but are not limited to, clicking on controls included in a webpage or application, sliding on a webpage or application, etc. It should be understood that user operations may be any operations performed by the user on the display interface corresponding to the software product and cloud service business, and this application does not limit the type of user operations.

[0114] Taking software products and cloud service businesses as an example of a browser scenario, the operation request may be, for example, XMLhttprequest (a JavaScript object provided by the browser, through which data resources on the server can be requested).

[0115] Step 502: The electronic device 31 identifies the user type according to the operation request.

[0116] based on Figure 4 The system architecture introduced in the above text can be integrated with a front-end file in the electronic device 31. By running the front-end file, the operation request data corresponding to the operation request can be read, and the header and body information included in the HTTP can be obtained from the operation request data to identify the user type. Exemplarily, based on the operation of the front-end file, the XMLhttprequest.prototype.open method can be run, that is, the specific content of the XMLhttprequest can be read to obtain the header and body information. Another exemplary method is to run the axios.interceptors.request.use method based on the operation of the front-end file to obtain the header and body information.

[0117] It should be understood that the HTTP header and body information can be used to identify whether a user is a grayscale user or a non-grayscale user. The definition of a grayscale user in the HTTP header and body information can be determined based on existing grayscale releases and grayscale release strategies, and this application will not elaborate on this.

[0118] Step 503: The electronic device 31 determines the request parameters according to the user type and encapsulates the request information to obtain HTTPS.

[0119] Exemplarily, the electronic device 31 determines the request parameters according to a pre-configured grayscale strategy (or referred to as a "grayscale rule").

[0120] For example, Figure 6 This is a configuration interface diagram of a grayscale strategy provided in an embodiment of the present application. Figure 6The configuration interface shows a possible grayscale policy configuration item: Parameter type: "Custom Parameter", parameter: "isgrayuser", parameter position: "Querystring", match condition: "equal", value: "true". This means that if the querystring parameter in the HTTPS URL contains "isgrayuser" and the corresponding value is true, the grayscale policy is met, indicating that the user is a grayscale user. Otherwise, the grayscale policy is not met and the user is considered a non-grayscale user by default.

[0121] For example, when the user type is identified as a grayscale user based on step 502, the encapsulated HTTPS request information may be "https: / / ip:port / uri?querystring&isgrayuser=true".

[0122] For another example, when the user type is identified as a non-grayscale user based on step 502, the encapsulated HTTPS request information may be "https: / / ip:port / uri?querystring&isgrayuser=false".

[0123] Optional, in Figure 6 The configurable item 601 is also included, through which other configuration items can be added. For example, Figure 7 This is another configuration interface diagram of a grayscale strategy provided in an embodiment of the present application. Figure 7 The configuration interface shows another possible grayscale policy configuration option: Parameter type: "Custom Parameter," parameter: "iscurrentuser," parameter position: "Querystring," match condition: "equal," value: "false." This means that if the querystring parameter in the HTTPS URL contains "iscurrentuse" and the corresponding value is false, the grayscale policy is met, indicating that the user is a grayscale user. Otherwise, the grayscale policy is not met, and the user is considered a non-grayscale user by default.

[0124] For example, when the user type is identified as a grayscale user based on step 502, the encapsulated HTTPS request information may be "https: / / ip:port / uri?querystring&iscurrentuser=false".

[0125] For another example, when the user type is identified as a non-grayscale user based on step 502, the encapsulated HTTPS request information may be "https: / / ip:port / uri?querystring&iscurrentuser=true".

[0126] Step 504 : The electronic device 31 sends HTTPS request information to the grayscale platform server 32 .

[0127] Step 505: The grayscale platform server 32 identifies the user type based on the request parameters and grayscale policy included in the HTTPS request information.

[0128] Optionally, the grayscale platform server 32 may obtain in advance Figure 6 Based on this, when the HTTPS request information received by the grayscale platform server 32 is "https: / / ip:port / uri?querystring&isgrayuser=true", the parameter included in the querystring position can be read from the HTTPS request information as isgrayuser, and the value corresponding to isgrayuser is true, then the grayscale policy is hit, indicating that the user type is a grayscale user.

[0129] Alternatively, the grayscale platform server 32 may obtain in advance Figure 7 Based on this, when the HTTPS request information received by the grayscale platform server 32 is "https: / / ip:port / uri?querystring&iscurrentuser=false", the parameter included in the querystring position can be read from the HTTPS request information as iscurrentuse, and the value corresponding to iscurrentuse is false, then the grayscale policy is hit, indicating that the user type is a grayscale user.

[0130] Step 506a: When the user type is a grayscale user, the grayscale platform server 32 sends an HTTPS request message to the grayscale server 331.

[0131] It should be understood that when the grayscale platform server 32 recognizes a grayscale user, it will route the HTTPS request information to the grayscale server 331.

[0132] For example, user A is a grayscale user. User A opens a browser to access a web page and performs user operations on the web page. User A's HTTPS request information will be routed to the grayscale server 331.

[0133] Step 506b: When the user type is a non-grayscale user, the grayscale platform server 32 sends an HTTPS request message to the live network server 332.

[0134] It should be understood that when the Grayscale platform server 32 identifies a non-Grayscale user, it will route the HTTPS request information to the existing network server 332.

[0135] For example, user B is a non-grayscale user. User B opens a browser to access a web page and performs user operations on the web page. User B's HTTPS request information will be routed to the grayscale server 331.

[0136] It can be understood that the grayscale platform performs one of steps 506a and 506b according to the user type.

[0137] Through the method provided in the embodiment of the present application, on the grayscale platform server 32, there is no need to decrypt HTTPS. Based on the request parameters included in HTTPS, it is possible to identify grayscale users, thereby reducing performance loss during the grayscale publishing process. In addition, the HTTPS request information sent by the grayscale platform server 32 to the grayscale server 331 or the existing network server 332 is also undecrypted HTTPS request information, so that the HTTPS in the transmission link from the electronic device 31 to the grayscale server 331 or the existing network server 332 can be maintained in encrypted transmission, realizing full-link HTTPS and improving the security of data transmission.

[0138] In another possible implementation, Figure 8 This is another interactive flow diagram of a method for processing a phased release provided in an embodiment of the present application. The interactive flow may include the following steps:

[0139] Step 801: The electronic device identifies a user type in response to a first user operation, where the user type is a grayscale user or a non-grayscale user.

[0140] Step 802: The electronic device obtains request information based on the user type; wherein the identifier of the request information includes a request parameter, and the request parameter is used to indicate the service version that matches the user type. The user type is the grayscale user, and the service version is the grayscale version. The user type is the non-grayscale user, and the service version is the existing network version.

[0141] Step 803: The electronic device sends the request information to the first server. Correspondingly, the first server receives the request information from the electronic device; wherein the identifier of the request information includes a request parameter, and the request parameter is used to indicate the user type, and the user type is a grayscale user or a non-grayscale user.

[0142] Exemplarily, the first server may be the grayscale platform server introduced in the aforementioned embodiment.

[0143] Step 804: When the first server determines that the user type is the grayscale user, the first server sends the request information to the second server; wherein the second server runs a grayscale version that matches the grayscale user.

[0144] Exemplarily, the second server may be, for example, the grayscale server introduced in the aforementioned embodiment.

[0145] Step 805: When the first server determines that the user type is not the grayscale user, which can also be understood as the non-grayscale user, the request information is sent to the third server; wherein the third server runs a current network version that matches the non-grayscale user.

[0146] Exemplarily, the third server may be, for example, the existing network server introduced in the aforementioned embodiment.

[0147] Based on the above embodiments, the present application also provides an electronic device, which includes multiple functional modules; the multiple functional modules interact with each other to implement the functions performed by the electronic device in each method described in the embodiments of the present application. The multiple functional modules can be implemented based on software, hardware, or a combination of software and hardware, and the multiple functional modules can be arbitrarily combined or divided based on the specific implementation. Figure 5 In the embodiment shown, the electronic device performs steps 501 to 504. Alternatively, the electronic device may also perform steps 501 to 504. Figure 8 Steps 801 to 803 are shown.

[0148] Based on the above embodiments, the present application further provides an electronic device, which includes at least one processor and at least one memory, wherein the at least one memory stores computer program instructions, and when the electronic device is running, the at least one processor executes the functions executed by the electronic device in each method described in the embodiments of the present application. Figure 5 In the embodiment shown, the electronic device performs steps 501 to 504. Alternatively, the electronic device may also perform steps 501 to 504. Figure 8 Steps 801 to 803 are shown.

[0149] Based on the above embodiments, the present application further provides a first server, which includes multiple functional modules; the multiple functional modules interact with each other to implement the functions performed by the first server in each method described in the embodiments of the present application. The multiple functional modules can be implemented based on software, hardware, or a combination of software and hardware, and the multiple functional modules can be arbitrarily combined or divided based on the specific implementation. Figure 5In the embodiment shown, the first server performs steps 504 to 506b. Alternatively, the following steps may be performed: Figure 8 Steps 803 to 805 are shown.

[0150] Based on the above embodiments, the present application further provides a first server, which includes at least one processor and at least one memory, wherein the at least one memory stores computer program instructions, and when the first server is running, the at least one processor executes the functions executed by the first server in each method described in the embodiments of the present application. Figure 5 In the embodiment shown, the first server performs steps 504 to 506b. Alternatively, the following steps may be performed: Figure 8 Steps 803 to 805 are shown.

[0151] Based on the above embodiments, the present application also provides a computer program product, which includes: a computer program (also called code, or instructions), which, when executed, enables a computer to execute the methods described in the embodiments of the present application.

[0152] Based on the above embodiments, the present application further provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a computer, the computer executes the methods described in the embodiments of the present application.

[0153] Based on the above embodiments, the present application further provides a chip, which is used to read a computer program stored in a memory to implement the methods described in the embodiments of the present application.

[0154] Based on the above embodiments, the present application provides a chip system, which includes a processor for supporting a computer device to implement the various methods described in the embodiments of the present application. In one possible design, the chip system also includes a memory, which is used to store the necessary programs and data for the computer device. The chip system can be composed of a chip, or it can include a chip and other discrete devices. It should be understood by those skilled in the art that the embodiments of the present application can be provided as a method, system, or computer program product. Therefore, the present application can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0155] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the present application. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0156] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.

[0157] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0158] Obviously, those skilled in the art may make various modifications and variations to this application without departing from the scope of protection of this application. Thus, if these modifications and variations of this application fall within the scope of the claims of this application and their equivalents, this application is intended to include these modifications and variations.

Claims

1. A method for processing a phased release, characterized in that: Used in electronic equipment, including: In response to the first user operation, identifying a user type, the user type being a grayscale user or a non-grayscale user; Obtain request information according to the user type; wherein the identifier of the request information includes a request parameter, the request parameter is used to indicate the service version matching the user type requested, the user type is the grayscale user, the service version is the grayscale version, and the user type is the non-grayscale user, the service version is the existing network version; The request information is sent to the first server.

2. The method according to claim 1, characterized in that The identifying the user type in response to the first user operation includes: Acquiring user information according to the operation request data of the first user operation; When it is determined that the user information matches a preset grayscale rule, the user type is determined to be a grayscale user; When it is determined that the user information does not match the preset grayscale rule, the user type is determined to be a non-grayscale user.

3. The method according to claim 2, characterized in that The user information includes at least one of the following information: user account information, Internet Protocol (IP) address, user location information, and user preset identification.

4. The method according to claim 2, characterized in that The request information is obtained by encrypting the operation request data.

5. The method according to any one of claims 1 to 4, characterized in that Obtaining request information according to the user type includes: In the position of the request parameter, a user identifier for indicating the user type is added.

6. The method according to claim 5, characterized in that The user identification includes a first indication value, and the first indication value is used to indicate that the user type is the grayscale user; or The user identification includes a second indication value, and the second indication value is used to indicate that the user type is the non-grayscale user.

7. The method according to any one of claims 1 to 6, characterized in that The request information is request information based on the Hypertext Transfer Protocol Secure HTTPS; The identifier of the request information is an HTTPS website.

8. A method for processing a grayscale release, characterized in that: Applied to the first server, including: Receive a request message from an electronic device; wherein the identifier of the request message includes a request parameter, and the request parameter is used to indicate a user type, and the user type is a grayscale user or a non-grayscale user; When determining that the user type is the grayscale user, sending the request information to a second server; wherein the second server runs a grayscale version matching the grayscale user; When it is determined that the user type is the non-grayscale user, the request information is sent to a third server; wherein the third server runs a current network version that matches the non-grayscale user.

9. The method according to claim 8, characterized in that The request information is encrypted request information.

10. An electronic device, characterized in that: The system comprises at least one processor coupled to at least one memory, and the at least one processor is configured to read a computer program stored in the at least one memory to execute the method according to any one of claims 1 to 7.

11. A first server, characterized in that: The system comprises at least one processor coupled to at least one memory, and configured to read a computer program stored in the at least one memory to execute the method according to claim 8 or 9.

12. A computer-readable storage medium, characterized in that The computer-readable storage medium stores instructions, which, when executed on a computer, enable the computer to execute the method according to any one of claims 1 to 7, or enable the computer to execute the method according to claim 8 or 9.

13. A computer program product comprising instructions, characterized in that When the computer program product is run on a computer, the computer is caused to perform the method according to any one of claims 1 to 7 , or the method according to claim 8 or 9 .

Citation Information

Patent Citations

  • Method for issuing application gray level, device and storage medium

    CN107145347A

  • Service gray release method and device and computer equipment

    CN110958314A

  • Gray scale verification method and system realized based on client

    CN115334006A

  • Gray release method and device, computer equipment and storage medium

    CN116776030A