Method and apparatus for verifying gray scale
Patent Information
- Application Number
- CN202011545935.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-12-23
- Publication Date
- 2026-09-04
- Estimated Expiration
- 2040-12-23
AI Technical Summary
现有的灰度验证技术需要下载完整的新版本应用,并且只能各自在自身设备上进行灰度验证,无法支撑这种跨设备的灰度验证
[0031] The technical effects of any of the implementation methods in aspects four through eleven can be found in the technical effects of the corresponding implementation methods in aspects one through three, and will not be repeated here.
Smart Images

Figure CN114661573B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a method and apparatus for grayscale verification. Background Technology
[0002] For an application on a device, if a new version needs to be upgraded, before the new version is released, the development and operations team will typically select a group of users to try it out first, in order to fully verify the new version's functionality, stability, and user experience. That is, during the same period, these users' electronic devices have the new version, while other users continue to use the old version. The performance of the new version is observed through methods such as monitoring, interviews, or user-submitted feedback to adjust the ratio of users using the new and old versions. If everything goes smoothly, all users' applications are gradually transitioned from the old version to the new version. This process of selecting a group of users to try the new version first is called the gray-scale verification (or gray-scale testing) of the new version.
[0003] A distributed operating system is installed within a device. This distributed operating system can break down an application into multiple sub-services (hereinafter referred to as services). The same service or different services can run on different devices. Through the collaborative work between services running on different devices, a feature of an application (i.e., a process in the application that requires multiple services to complete) can be accomplished. Existing canary verification technology requires downloading the complete new version of the application and can only perform canary verification on its own device, which cannot support cross-device canary verification. Summary of the Invention
[0004] This application provides a method and apparatus for grayscale verification, used to perform grayscale verification of the features of a new version of an application across devices.
[0005] To achieve the above objectives, the embodiments of this application provide the following technical solutions:
[0006] Firstly, a method for gray-scale verification is provided, comprising: a first device first obtaining a software package of a first service, then sending a first message to a second device through the first service, the first message including information related to a second service corresponding to the first service; the information related to the second service including: the identifier of the second service and first version information; wherein the first version information is the version information of the second service; and finally testing the first service and / or the second service through interaction between the first service and the second service. The first service and the second service are both among multiple services constituting a first application. In the method provided by the first aspect, after the first device obtains a new version software package of the first service, it sends information related to the second service to the second device, enabling the second device to obtain the new version software package of the second service from the first server or the first device based on the relevant information related to the second service. This ensures that both the first service of the first device and the second service of the second device are the new version. In other words, the first device notifies the second device to participate in the gray-scale verification of the application, and dynamically notifies the second device to use the new version of the second service during the operation of the first device, thereby completing gray-scale verification of the new version service between devices with a distributed operating system installed.
[0007] In one possible implementation, the first message also includes first business data, which is business data that has been converted from the current business data of the first service and can be recognized by the second service. In the scenario of gray-scale verification, since both the first and second services are new versions of services, the first device needs to convert the business data of the first service into a format that the new version of the second service can recognize. Only then can the new version of the second service recognize the first data, and thus the two new versions of services can successfully connect and collaboratively complete the same task.
[0008] In one possible implementation, the first device first sends a second message to a second server, the second message including the identifier of the first device, and then receives a response message from the second server, the response message including information related to a second service. The second server is used to manage canary deployment rules. This method allows the first device to obtain information related to the second service from the second server, so that the first device can subsequently send information related to the second service to the second device.
[0009] In one possible implementation, the information related to the second service also includes information on whether the second service is an actively claimed beta version. By including this information in the information related to the second service and sending it to the second device, the second device can determine whether to obtain the software package for the second service based on this information. This allows the first device to test the first service and / or the second service through interaction with the second device's second service in subsequent processes, thereby enabling canary testing of the new version service between devices with distributed operating systems.
[0010] Secondly, a grayscale verification method is provided, comprising: a second device receiving a first message from a first device, the first message including information related to a second service, wherein the information related to the second service includes: an identifier of the second service and first version information; wherein the first version information is the version information of the second service. Then, based on the first message, it is determined whether a second service with version information no lower than the first version is available. If yes, the second device interacts with the first service through the second service to test the first service and / or the second service; if not, the second device obtains a software package of the second service with version information no lower than the first version, and the second device interacts with the first service through the second service to test the first service and / or the second service. Wherein, both the first service and the second service are one of multiple services constituting a first application, and the first service runs on the first device. The second aspect provides a method in which, after the second device obtains information related to the second service, it can determine whether to obtain a second service with information no lower than the first version based on the information related to the second service. If it needs to obtain it, it obtains a new version software package of the second service from the first server or the first device based on the relevant information related to the second service, so that the first service of the first device and the second service of the second device are both new versions. In other words, when the second device is notified by the first device to participate in the gray-scale verification of the application, it can use the new version of the second service, thereby completing the gray-scale verification of the new version service between devices with a distributed operating system installed.
[0011] In one possible implementation, the information related to the second service further includes: whether the second service is an actively claimed beta version. The method for the second device to obtain a software package for the second service with information no lower than the first version further includes: if the second service is an actively claimed beta version, or if the second service is not an actively claimed beta version but the administrators of the first and second devices are the same, or if the second service is not an actively claimed beta version and the administrators of the first and second devices are different, but the administrator of the second device is authorized to obtain a software package for the second service with information no lower than the first version, then the second device obtains a software package for the second service with information no lower than the first version. In this case, whether to obtain a software package for the second service with information no lower than the first version can be determined based on whether the second service is an actively claimed beta version. This allows the second device to interact with the first service of the first device to test the first service and / or the second service in subsequent processes, thereby completing the gray-scale verification of the new version service between devices with a distributed operating system installed.
[0012] In one possible implementation, the method for a second device to obtain a software package of a second service with version information no lower than that of a first service includes: the second device sending a third message to a first server, wherein the third message includes an identifier of the second device, an identifier of the second service to be obtained by the second device, and version information of the second service to be obtained by the second device, and the version information of the second service to be obtained by the second device is no lower than that of the first version information; the first server provides a software package of at least one version of the second service. The second device then receives a response message to the third message from the first server, the response message including a software package of the second service with version information no lower than that of the first service. According to the above method, the second device can obtain a software package of the second service with version information no lower than that of the first service. This allows the second device to interact with the first service through the second service to test the first service and / or the second service, enabling the same service running on different devices or different services to collaboratively complete the application's characteristics. This allows devices with distributed operating systems to complete canary deployment verification, thereby ensuring that various services on multiple devices can be integrated, improving the user experience.
[0013] In one possible implementation, the first message also includes first business data, which is business data that has been converted from the current business data of the first service and is recognizable by the second service. During the process of the second device testing the first and / or second services through interaction with the first service, the second device runs the second service based on the first business data. In a gray-scale verification scenario, since both the first and second services are new versions, the first device needs to convert the business data of the first service into a format recognizable by the new version of the second service. Only then can the new version of the second service recognize the first data, allowing the two new versions of services to successfully interface and collaboratively complete the same task.
[0014] Thirdly, a method for grayscale verification is provided, comprising: a second server receiving a second message from a first device, wherein the second message includes an identifier of the first device, and the second server is used to manage grayscale rules. Then, based on the identifier of the first device, information related to a second service corresponding to a first service is determined, whereby the first service runs on the first device. Finally, a response message to the second message is sent to the first device, the response message including information related to the second service. The method provided in this third aspect allows the second server to determine information related to the second service corresponding to the first service based on the identifier of the first device and send it to the first device, enabling interaction between the first service of the first device and the second service of the second device to test the first service and / or the second service.
[0015] In one possible implementation, the method by which the second server determines the information related to the second service corresponding to the first service of the first device based on the identifier of the first device includes: the second server determining whether the first device is a device within the gray-scale verification range based on the identifiers of all devices within the gray-scale verification range and the identifier of the first device; if so, determining the information related to the second service corresponding to the first service. Based on the above method, the information related to the second service corresponding to the first service of the first device can be determined, enabling the first device to obtain the information related to the second service corresponding to the first service.
[0016] Fourthly, a grayscale verification device is provided, comprising: a processing unit and a communication unit; the processing unit is used to acquire a software package of a first service; the communication unit is used to send a first message to a second device through the first service, the first message including information related to a second service corresponding to the first service, the information related to the second service including: an identifier of the second service and first version information, wherein the first version information is the version information of the second service. Furthermore, the communication unit is also used to test the first service and / or the second service through interaction between the first service and the second service. Wherein, both the first service and the second service are one of multiple services constituting a first application.
[0017] In one possible implementation, the first message also includes first business data, which is business data that has been transformed from the current business data of the first service and can be recognized by the second service.
[0018] In one possible implementation, the communication unit is further configured to: send a second message to a second server, the second message including an identifier of the grayscale verification device, and then receive a response message from the second server, the response message including information related to the second service. The second server is used to manage grayscale rules.
[0019] In one possible implementation, the information related to the second service also includes information on whether the second service is a crowdsourced version that was actively claimed.
[0020] Fifthly, a grayscale verification device is provided, comprising: a processing unit and a communication unit; the communication unit is configured to receive a first message from a first device, the first message including information related to a second service corresponding to a first service; the information related to the second service includes: an identifier of the second service and first version information; wherein the first version information is version information of the second service; the processing unit is configured to determine, based on the first message, whether there is a second service with version information no lower than the first version information; if so, the communication unit is further configured to test the first service and / or the second service by interacting with the first service through the second service; if not, the processing unit is further configured to obtain a software package of the second service with version information no lower than the first version information, and the communication unit is further configured to test the first service and / or the second service by interacting with the first service through the second service. Wherein, the first service and the second service are both among a plurality of services constituting a first application, and the first service runs on the first device.
[0021] In one possible implementation, the information related to the second service further includes: information on whether the second service is an actively claimed beta version. The processing unit is specifically used to: obtain a software package of the second service with information no lower than the first version if the second service is an actively claimed beta version, or if the second service is not an actively claimed beta version but the administrators of the first device and the grayscale verification device are the same, or if the second service is not an actively claimed beta version and the administrators of the first device and the grayscale verification device are different, but the administrator of the grayscale verification device is authorized to obtain a software package of the second service with information no lower than the first version.
[0022] In one possible implementation, the processing unit is specifically configured to: firstly send a third message to a first server via a communication unit, the third message including the identifier of the grayscale verification device, the identifier of the second service to be obtained by the grayscale verification device, and the version information of the second service to be obtained by the grayscale verification device; wherein the version information of the second service to be obtained by the grayscale verification device is not lower than the first version information, and the first server is configured to provide a software package of at least one version of the second service; and then receive a response message of the third message from the first server via the communication unit, the response message including a software package of the second service that is not lower than the first version information.
[0023] In one possible implementation, the first message further includes first business data, which is business data that has been converted from the current business data of the first service and can be recognized by the second service. During the process of the communication unit testing the first service and / or the second service by interacting with the first service through the second service, the processing unit is also used to: run the second service according to the first business data.
[0024] In a sixth aspect, a grayscale verification device is provided, comprising: a processing unit and a communication unit; the communication unit is configured to receive a second message from a first device, the second message including an identifier of the first device, the grayscale verification device being configured to manage grayscale rules; the processing unit is configured to determine information related to a second service corresponding to a first service based on the identifier of the first device, the first service running on the first device; the communication unit is further configured to send a response message of the second message to the first device, the response message including information related to the second service.
[0025] In one possible implementation, the processing unit is further configured to: determine whether the first device is a device within the grayscale verification range based on the identifiers of all devices within the grayscale verification range and the identifier of the first device; if so, determine information related to the second service corresponding to the first service.
[0026] In a seventh aspect, a grayscale verification device is provided, comprising: a processor and an interface, wherein the processor is coupled to a memory via the interface, and when the processor executes a computer program or instructions in the memory, any one of the methods provided in the first to third aspects is executed.
[0027] Eighthly, a grayscale verification apparatus is provided, comprising: a processor coupled to a memory; a memory for storing a computer program; and a processor for executing the computer program stored in the memory, such that the grayscale verification apparatus performs any one of the methods provided in the first to third aspects.
[0028] Ninthly, a grayscale verification system is provided, comprising: the first device and / or the second device described above. Optionally, it may also include the second server described above.
[0029] In a tenth aspect, a computer-readable storage medium is provided, comprising a computer program that, when executed on a computer, causes the computer to perform any of the methods provided in the first aspect, or causes the computer to perform any of the methods provided in the second aspect, or causes the computer to perform any of the methods provided in the third aspect.
[0030] Eleventhly, a computer program product is provided, comprising a computer program that, when run on a computer, causes the computer to perform any of the methods provided in the first aspect, or causes the computer to perform any of the methods provided in the second aspect, or causes the computer to perform any of the methods provided in the third aspect.
[0031] The technical effects of any of the implementation methods in aspects four through eleven can be found in the technical effects of the corresponding implementation methods in aspects one through three, and will not be repeated here.
[0032] It should be noted that, provided the solutions do not contradict each other, the solutions in the above aspects can be combined. Attached Figure Description
[0033] Figure 1 This is a schematic diagram of the architecture of a communication system;
[0034] Figure 2 A flowchart of a grayscale verification method provided in an embodiment of this application;
[0035] Figure 3 A flowchart of yet another grayscale verification method provided in the embodiments of this application;
[0036] Figure 4 A flowchart of yet another grayscale verification method provided in the embodiments of this application;
[0037] Figure 5 A flowchart of yet another grayscale verification method provided in the embodiments of this application;
[0038] Figure 6 This is a schematic diagram illustrating the composition of a grayscale verification device provided in an embodiment of this application;
[0039] Figure 7 A schematic diagram of the hardware structure of a grayscale verification device provided in an embodiment of this application;
[0040] Figure 8 This is a schematic diagram of the hardware structure of another grayscale verification device provided in the embodiments of this application. Detailed Implementation
[0041] The technical solutions of the embodiments of this application will be described below with reference to the accompanying drawings. In the description of this application, unless otherwise stated, " / " indicates that the objects before and after are in an "or" relationship. For example, A / B can represent A or B. "And / or" in this application is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone, where A and B can be singular or plural. Furthermore, in the description of this application, unless otherwise stated, "multiple" refers to two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple. Furthermore, to facilitate a clear description of the technical solutions in the embodiments of this application, the terms "first" and "second" are used in the embodiments of this application to distinguish identical or similar items with substantially the same function and effect. Those skilled in the art will understand that the terms "first" and "second" do not limit the quantity or execution order, and the terms "first" and "second" are not necessarily different.
[0042] The method provided in the embodiments of this application can be applied to, for example, Figure 1 The communication system shown includes: a first server, a second server, a first device, and a second device.
[0043] The first server provides software packages for one or more versions of services to the first device and / or the second device. The second server configures canary deployment rules for the application; specifically, it configures canary deployment rules for the services in the application and distributes some or all of the information in the canary deployment task description file to the first device and / or the second device running the services in the application. It should be noted that in this embodiment, the first and second servers are located within a data network (DN). DN refers to the operator network that provides data transmission services to users, such as IP multi-media service (IMS) networks, the Internet, etc. Since the first server provides software packages for one or more versions of services to the first device and / or the second device, it can also be called a canary service repository server, a distributed service repository server, or other names. Since the second server configures canary deployment rules for the application, it can also be called a canary rule management server, a canary management server, or other names.
[0044] The first and second devices can be mobile phones, tablets, smart TVs, wearable electronic devices, in-vehicle devices, laptops, ultra-mobile personal computers (UMPCs), handheld computers, netbooks, personal digital assistants (PDAs), virtual reality devices, etc. In this application, both the first and second devices are equipped with a distributed operating system. The first and second devices can be the same type of device (e.g., both are mobile phones) or different types of devices (e.g., the first device is a mobile phone and the second device is a tablet computer). This application does not impose any restrictions, as long as the services in the application can run.
[0045] The first and second devices can interact with the first and second servers respectively through a communication network. This communication network can be a 4th Generation (4G) system, various systems evolved from 4G, a 5th Generation (5G) system, or various systems evolved from 5G. The 4G system can also be called an Evolved Packet System (EPS). The core network (CN) of a 4G system can be called an Evolved Packet Core (EPC), and the access network can be called Long Term Evolution (LTE). The core network of a 5G system can be called 5GC (5G core), and the access network can be called New Radio (NR).
[0046] The first device and the second device can communicate wirelessly (e.g., Bluetooth, Wireless Fidelity, Wi-Fi, etc.) or via wired communication (e.g., Universal Serial Bus (USB) data cable, Type C data cable, etc.). This application embodiment does not impose any limitations on this.
[0047] It should be noted that the administrators of the first device and the second device in this application embodiment may be the same or different.
[0048] To make the embodiments of this application clearer, some of the concepts involved in this application will be briefly introduced.
[0049] 1. Gray-scale verification range: Also known as gray-scale testing range, this refers to the set of devices allowed to participate in the gray-scale verification of a new version. The gray-scale verification range includes the identifiers of the devices allowed to participate in the gray-scale verification. The gray-scale verification range can be determined by the following two methods:
[0050] Method 1: Determine based on the selection strategy. For example, a regional selection strategy can be adopted. For instance, if devices in the Beijing, Shanghai, Guangzhou, and Shenzhen regions are selected, then the grayscale verification scope will be the set of devices in these regions. The selection strategy can be configured by the operations personnel.
[0051] Method 2: Determined based on user requests. In this case, a beta testing task is published in an application on the user's device. If the user requests to use the new version, then all devices of users who request to use the new version constitute the gray-scale verification scope.
[0052] The device identifier is used to identify the device. The device identifier can be information related to the device, such as the device model, the device operating system (OS) version, the device user account identifier, or other information.
[0053] 2. Grayscale rules: Includes the identifiers of all devices within the grayscale verification scope and the grayscale task description file.
[0054] The grayscale task description file includes: service version information, device types supported by the service, version information of other services corresponding to the service, and device types supported by each of the other services.
[0055] It should be noted that the grayscale rules and grayscale description file names mentioned in the embodiments of this application are merely examples and are not limited to the above names, as long as the information contained or the function played is the same.
[0056] 3. Service: Refers to a segment of application process within an application, which can be understood as a module within the application. For example, in an instant messaging application, there is the address book module (hereinafter referred to as address book service), the personal center module (hereinafter referred to as personal center service), and the video communication module (hereinafter referred to as video communication service). Another example is the navigation module (hereinafter referred to as navigation service) in a navigation application.
[0057] The above is a brief introduction to some of the concepts involved in the embodiments of this application.
[0058] There are two existing methods for canary release testing of new application versions: 1. Selectively release the new version of the application to app stores, with the specific release scope depending on the app store's distribution capabilities. Selected users install the new version of the application, and then provide feedback through methods such as user tracking or interviews; 2. Release a crowdsourcing task in an app on a user's device, where users actively apply to use the new version. After applying, users download and install the new version of the application and then actively submit feedback. Both of these methods require downloading the entire service of the new version of the application on each device, and there is no collaborative operation feature between devices. Therefore, the existing canary release testing methods will waste user device storage space to some extent and cannot be applied to distributed operating systems. As the field of Artificial Intelligence (AI) and its subfields continue to develop, the number of devices in people's daily lives will continue to increase. Therefore, integrating various services from multiple devices to improve the user experience is an inevitable trend. Distributed operating systems have already broken down applications into multiple services. In this case, to integrate the various services from multiple devices, the services need to communicate with each other so that they can work together to complete the application's features. Therefore, before the features of a new version of the application can be used normally, it is necessary to conduct cross-device gray-scale verification to determine whether the same or different services on different devices can communicate normally. That is, gray-scale verification of the features of the new version of the application is required.
[0059] To perform gray-scale verification of new application version features across devices, embodiments of this application provide a gray-scale verification method. For example... Figure 2 or Figure 3 As shown, the method includes:
[0060] S201. The first device obtains a software package for a first service, wherein the first service is one of a plurality of services that make up the first application.
[0061] The subsequent operations of the first device after obtaining the software package of the first service fall into two categories. In one case, the obtained software package is an installation-free package; in this case, the first device does not need to install the software package and can use it directly. In the other case, the obtained software package is an installation-required package. In this case, the first device performs a self-check based on the information in the software package. That is, the first device compares its own device identifier with the device identifier in the software package of the first service. If the comparison is successful, the first service is installed; if the comparison fails, the first service is not installed. In this case, the first device can obtain the software package of the first service again from the first server. For example, the first application can be any application, such as an instant messaging application or a navigation application. The first service can be any service within the first application; for example, when the first application is an instant messaging application, the first service can be an address book service or a video communication service within the instant messaging application. The first service can run on the first device.
[0062] S202, the first device sends a first message to the second device through a first service. The first message includes information related to a second service corresponding to the first service. The information related to the second service includes: the identifier of the second service and first version information. The first version information is the version information of the second service, and the second service is one of the multiple services that make up the first application. Accordingly, the second device receives the first message from the first device.
[0063] It should be noted that the first service and the second service can be the same service (e.g., both are navigation services) or different services (e.g., the first service is a contact list service and the second service is a video communication service). There is a correspondence between the first service and the second service. Services with a corresponding relationship can work together to achieve a certain feature of the application.
[0064] Optionally, the first message also includes first business data, which is business data that has been converted from the current business data of the first service and can be recognized by the second service. Accordingly, the second device receives the first business data from the first device so that the first and second services can still work together in some special scenarios. For example, the first service is a navigation service in the navigation application of the first device, and the second service is a navigation service in the navigation application of the second device. When the first and second services need to work together to complete the navigation of a route (e.g., a route from A to C), the first business data can navigate a route (e.g., a route from A to B) for the first service of the first device. Subsequent navigation data (i.e., the remaining route data to be navigated, e.g., the data for the route from B to C) – that is, converting the remaining route data to be navigated in the first service into a data format that the second service can recognize – is sent to the second service so that the second service of the second device can continue the navigation data from the first service of the first device, thereby enabling them to cooperate in completing the complete navigation of the route from A to C.
[0065] It should be noted that in the gray-scale verification scenario, since both the first service and the second service are new versions of the service, the first device needs to convert the business data of the first service into a format that the new version of the second service can recognize. Only then can the new version of the second service recognize the first data, and only in this way can the two new versions of the service successfully connect and work together.
[0066] Optionally, before executing S202, the method further includes:
[0067] 11) The first device sends a second message to the second server. The second message includes the identifier of the first device. The second server is used to manage the grayscale rules. Correspondingly, the second server receives the second message from the first device. This step can be found in [reference needed]. Figure 3 S301 in the middle.
[0068] 12) The second server determines the information related to the second service corresponding to the first service based on the identifier of the first device. This step can be found in [reference needed]. Figure 3 S302 in the middle.
[0069] 13) The second server sends a response message to the first device containing information related to the second service. Accordingly, the first device receives this response message from the second server. This step can be found in [reference needed]. Figure 3 S303 in the middle.
[0070] In this process, after the first device sends its own identifier to the second server, the second server can determine whether the first device is within the gray-scale verification range based on the identifier of the first device. If it is within the gray-scale verification range, the second server sends information related to the second service to the first device. If it is not within the gray-scale verification range, the second server sends a rejection notification message to the first device. The rejection notification message indicates that the first device is not within the gray-scale verification range and cannot participate in the gray-scale verification of the new version of the application.
[0071] It should be noted that in a canary verification scenario, the mapping between the first service and other services can be preset by the operations personnel. Table 1 is an example of the mapping between the first service and other services.
[0072] Table 1
[0073]
[0074] The storage location of the mapping relationship between the first service and other services can be in two scenarios: scenario 1 is stored on the first device, and scenario 2 is stored on the second server. The following describes the process by which the first device obtains information related to the second service under scenarios 1 and 2.
[0075] In scenario 1, the user pre-selects the service to be tested on the first device, which is the first service in this application. The first device determines a service corresponding to the first service based on the stored correspondence between the first service and other services, which is the second service in this application. When there is only one service corresponding to the first service, then that service is the second service. When there are multiple services corresponding to the first service, these multiple services are displayed to the user, who then selects the second service from among them. After selecting the second service, the first device sends the identifier of the second service to the second server (to tell the second server which service will work in conjunction with the first service), and then sends a second message to the second server (to obtain information related to the second service). The above example assumes that the identifier of the second service is not sent in the second message (i.e., sent separately). Optionally, the identifier of the second service can also be sent in the second message.
[0076] In scenario 2, the user pre-selects the service to be tested on the first device, which is the first service in this application. Subsequently, in the first implementation, the first device sends the identifier of the first service to the second server. The second server returns the corresponding relationship to the first device based on the identifier of the first service. The first device determines a service corresponding to the first service based on the received correspondence between the first service and other services, which is the second service in this application. The determination process is the same as in scenario 1 and can be understood by referring to it; it will not be repeated here. After selecting the second service, the implementation process of the first device is also the same as in scenario 1 and can be understood by referring to it; it will not be repeated here. In the second implementation, the first device sends the identifier of the first service and the identifier of the first device in a second message to the second server. The second server, based on the second message, sends the correspondence between the first service and other services, related information of the first service, and related information of other services corresponding to the first service to the first device. The first device determines the second service based on the received correspondence between the first service and other services (the determination process is the same as in scenario 1), and after selecting the second service, determines the information related to the second service.
[0077] It should be noted that, prior to S202, the first device sends a second message to the second server to obtain information related to the second service, thereby enabling the first device to obtain information about the devices supported by the second service. If the first device can identify at least one device supported by the second service among its surrounding devices (e.g., devices connected to the first device, such as wired or wireless connections), the first device determines that device A is the second device. If the first device can identify multiple devices supported by the second service among its surrounding devices (e.g., device A and device B), the first device determines any one of the multiple devices (i.e., device A and device B) as the second device.
[0078] Optionally, the response message of the second message may also include information related to the first service, including version information of the first service. This information may also include other information related to the first service, such as the identifier of the first service and the identifiers of the devices supported by the first service. In this case, the first device can obtain the software package of the first service from the first server using the information related to the first service. The first server may be used to provide at least one version of the software package of the first service, and may also provide at least one version of the software package of the second service.
[0079] S203. The second device determines whether it has a second service with information no less than the first version based on the first message;
[0080] If not, proceed to steps S204 and S205; if yes, proceed to step S205.
[0081] S204. The second device obtains a software package of the second service with version information no lower than the first version. In a specific implementation of S204, the second device may send a third message to the first server. The third message includes the identifier of the second device, the identifier of the second service to be obtained by the second device, and the version information of the second service to be obtained by the second device. The version information of the second service to be obtained by the second device is no lower than the first version information. Correspondingly, the first server receives the third message from the second device and sends a response message to the second device, which includes a software package of the second service with version information no lower than the first version. Correspondingly, the second device receives the response message of the third message from the first server, thereby obtaining the software package of the second service with version information no lower than the first version. This step can be found in [reference needed]. Figure 3 S304 and S305 are described above. The subsequent operations of the second device after obtaining the software package of the second service are similar to those of the first device after obtaining the software package of the first service, and can be understood by reference; they will not be repeated here.
[0082] Optionally, the information related to the second service may also include information on whether the second service is a crowdsourced beta version that was actively claimed. In this case, prior to S204, if one of the following conditions 1, 2, or 3 is met, the second device obtains a software package for the second service that is at least as good as the first version information.
[0083] Condition 1: The second service is a crowdsourced beta version that the user actively claimed.
[0084] Condition 2: The second service is not a crowdsourced version that was actively claimed, but the administrators of the first and second devices are the same.
[0085] Condition 3: The second service is not a crowdsourced beta version that was actively claimed, and the administrators of the first and second devices are different, but the administrator of the second device is authorized to obtain the software package of the second service with information no less than that of the first version.
[0086] Optionally, when the first device and the second device are of the same device type, the method for the second device to obtain a software package for the second service with a version no lower than the first version information further includes: the first device downloading the software package for the second service from the first server based on information related to the second service, and then sending the software package to the second device for the second device to use or install the second service. It should be noted that in this case, the first device and the second device must be of the same device type. This is because when a device obtains a service software package from the first server, it needs to send its own device information along with the identifier and version information of the obtained service to the first server. Therefore, if the first device wants to obtain the software package for the second service from the second device, the first device and the second device must be of the same type. If they are different, the second device cannot use the software package for the second service obtained by the first device. This approach can be applied to scenarios where the second device cannot connect to the first server, thereby ensuring the gray-scale verification of the first service and / or the second service.
[0087] S205. The first device tests the first service and / or the second service by interacting with the second service. Correspondingly, the second device also tests the first service and / or the second service by interacting with the first service through the second service.
[0088] For example, when a mobile phone and a TV want to collaborate on a video call function of an instant messaging application, the mobile phone can download a contact service and send the identification and version information of the video communication service to the TV. The TV downloads and installs the video communication service based on the received information. The contact service on the mobile phone and the video communication service on the TV then interact to collaborate on a video call function of the instant messaging application.
[0089] It should be noted that, Figure 3 The execution order of the steps shown can be either S301→S302→S303→S201→S202→S203→S204→S304→S305→S205, or S201→S301→S302→S303→S202→S203→S204→S304→S305→S205. The above two orders are only... Figure 3 Two examples of the execution order of the steps shown. Figure 3 The steps shown can be executed in other orders, which are not limited in this application.
[0090] The above description uses the example of a first device interacting with a second device to complete the grayscale verification of a first service and a second service to illustrate the method provided in this application. In actual implementation, the first device can interact with multiple second devices to complete the grayscale verification of one or more services.
[0091] The method provided in this application enables the same service or different services running on different devices to collaboratively complete application features. This allows devices with distributed operating systems to perform canary deployments, ensuring that services across multiple devices can be integrated and improving the user experience. Furthermore, by running only a portion of the application's services on different devices, the storage space required for canary deployments can be reduced.
[0092] In the above embodiments, the response message of the second message may include information related to the second service, and may also include information related to the first service. This information together constitutes the grayscale task description file of the first service. In this case, the first device can filter out the information related to the second service from the grayscale task description file of the first service and send it to the second device, or it can include the entire grayscale task description file of the first service in the first message and send it to the second device (in this case, the first message also includes information related to the first service). The second device then filters from the grayscale task description file of the first service to obtain the information related to the second service. For the latter, the second device can save the grayscale task description file of the first service for subsequent grayscale verification of the first service and / or the second service.
[0093] For example, the data structure of the grayscale task description file can be:
[0094]
[0095]
[0096]
[0097] In this application, the text following " / / " indicates the meaning of that line of code. The above example uses "source":"SYSTEM" as the resource-related setting. Resource-related settings can also be "source":"CUSTOM", where "CUSTOM" represents a user-claimed beta version.
[0098] The method provided in this application embodiment involves a first device obtaining a new version of the software package for the first service and then sending information related to the second service to a second device. This allows the second device to obtain the new version of the software package for the second service from the first server or the first device based on the information related to the second service. As a result, both the first service of the first device and the second service of the second device are new versions. In other words, the first device notifies the second device to participate in the gray-scale verification of the application, and dynamically notifies the second device to use the new version of the second service while the first device is running. This enables gray-scale verification of the new version of the service between devices with a distributed operating system.
[0099] To make the embodiments of this application clearer, the above embodiments are illustrated below through Embodiment 1 and Embodiment 2. The main difference between Embodiment 1 and Embodiment 2 is that in Embodiment 1, the first device and the second device belong to the same administrator, while in Embodiment 2, the first device and the second device belong to different administrators. Embodiment 1 and Embodiment 2 are described below respectively.
[0100] Example 1
[0101] See Figure 4 The method provided in Example 1 includes:
[0102] S401, the first device sends a second message to the second server, the second message including the identifier of the first device. Correspondingly, the second server receives the second message from the first device.
[0103] For a description related to S401, please refer to the description of the response above, which will not be repeated here.
[0104] S402, the second server sends a response message for the second message to the first device, the response message including information related to the second service corresponding to the first service. Correspondingly, the first device receives the response message for the second message from the second server.
[0105] For a description related to S401, please refer to the description of the response above, which will not be repeated here.
[0106] If the response message includes information related to the second service corresponding to the first service, execute S403-409.
[0107] If the response message includes a rejection notification, it indicates that the first device is not within the scope of the gray-scale verification, and the process ends. Optionally, the response message sent by the second server may also include the version information of the first service that the first device wants to obtain.
[0108] S403, the first device sends a fourth message to the first server. The fourth message is used to obtain the software package of the first service. The fourth message includes the identifier of the first device, the identifier of the first service to be obtained by the first device, and the version information of the first service to be obtained by the first device.
[0109] S404. The first server sends a software package for the first service to the first device. Correspondingly, the first device receives the software package for the first service from the first server.
[0110] It should be noted that when the first device receives a software package from the first server for the first service, if the package is an installation-free package, the first device does not need to install it and can use it directly. If the package requires installation, the first device performs a self-check based on the information in the package. Specifically, the first device compares its own device identifier with the device identifier in the package. If the comparison is successful, the first service is installed; otherwise, installation is not performed. In this case, the first device can retrieve the software package from the first server again.
[0111] S405. The first device sends a first message to the second device through a first service. The first message includes information related to a second service corresponding to the first service. The information related to the second service includes: the identifier of the second service and first version information. The first version information is the version information of the second service, and the second service is one of the multiple services that make up the first application. Accordingly, the second device receives the first message from the first device.
[0112] For a description related to S405, please refer to S202, which will not be repeated here.
[0113] S406. The second device determines whether it has a second service with information no less than the first version based on the first message;
[0114] If not, then if conditions 1 and 2 above are met, execute S407-S409; if yes, then execute S409 directly.
[0115] S407. The second device sends a third message to the first server. The third message includes the identifier of the second device, the identifier of the second service that the second device wants to obtain, and the version information of the second service that the second device wants to obtain.
[0116] It should be noted that in this embodiment, the administrators of the first device and the second device are the same. In this scenario, the second service is allowed to execute subsequent steps regardless of whether it is a crowdsourced beta version that has been actively claimed. In this case, it is not necessary to determine whether the second service is a crowdsourced beta version that has been actively claimed.
[0117] S408, The first server sends a software package for the second service to the second device. Correspondingly, the second device receives the software package for the second service from the first server.
[0118] If the software package of the second service is an installation-free software package, the second device does not need to install it; when the software package of the second service is an installation-required software package, the second device installs the second service according to the software package of the second service.
[0119] S409. The first device tests the first service and / or the second service by interacting with the second service. Correspondingly, the second device also tests the first service and / or the second service by interacting with the first service through the second service.
[0120] Example 2
[0121] See Figure 5 The method provided in Example 2 includes:
[0122] S501-S505 are the same as S401 to S405 above.
[0123] S506. The second device determines whether it has a second service with information no less than the first version based on the first message.
[0124] If not, then execute S507-S510; if yes, then execute S510 directly.
[0125] S507. Determine whether condition 1 or condition 3 above is met.
[0126] If so, then execute S508.
[0127] If the second service is a beta version that was not actively claimed, after receiving the first message from the first device, the second device presents an interface to the user authorizing participation in the gray-scale verification, guiding the user of the second device to authorize participation. If the user of the second device refuses to participate, the second device sends a rejection notification message to the first device. After receiving the rejection message, the first device chooses whether to continue participating in the gray-scale verification of the new version. If the first device also chooses to stop participating in the gray-scale verification of the new version, the first device sends the rejection notification message to the first server to request the software package of the non-gray-scale verification version (i.e., the old version) of the first service. In this case, the first device does not participate in the gray-scale verification at this time and uses the non-gray-scale verification version of the first service. Thus, both the first service of the first device and the second service of the second device are non-gray-scale verification versions, and can still use the officially released features to continue providing services to users.
[0128] S508-S510 are the same as S407 to S409 mentioned above.
[0129] The foregoing mainly describes the solutions of the embodiments of this application from a methodological perspective. It is understood that, in order to achieve the above-mentioned functions, the first device, the second device, and the second server include at least one of the hardware structures and software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, based on the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0130] This application embodiment can divide the first device, the second device, and the second server into functional units according to the above method example. For example, each function can be divided into a separate functional unit, or two or more functions can be integrated into one processing unit. The integrated unit can be implemented in hardware or as a software functional unit. It should be noted that the unit division in this application embodiment is illustrative and only represents one logical functional division; other division methods may be used in actual implementation.
[0131] For example, Figure 6 A possible structural diagram of the grayscale verification device (denoted as grayscale verification device 60) involved in the above embodiments is shown. The grayscale verification device 60 includes a processing unit 601 and a communication unit 602. Optionally, it also includes a storage unit 603. The grayscale verification device 60 can be used to illustrate the structure of the first device, the second device, and the second server in the above embodiments.
[0132] when Figure 6 When illustrating the structure of the first device in the above embodiments, the processing unit 601 is used to control and manage the operation of the first device. For example, the processing unit 601 is used to execute... Figure 2 201, 202, and 205 in the list. Figure 3 The numbers 201, 202, 205, 301, and 303 are included. Figure 4 401-405, 409 Figure 5 The actions performed by the first device in processes 501-505, 510, and / or other processes described in the embodiments of this application. Processing unit 601 can communicate with other network entities via communication unit 602, for example, with... Figure 2 The second device communicates with the first device. Storage unit 603 is used to store the program code and data of the first device.
[0133] when Figure 6When illustrating the structure of the second device in the above embodiments, the processing unit 601 is used to control and manage the operation of the second device. For example, the processing unit 601 is used to execute... Figure 2 202-205 in the middle, Figure 3 202-205, 304, 305, Figure 4 405-407, 409, Figure 5 Actions performed by the second device in processes 506-510 and / or other processes described in the embodiments of this application. Processing unit 601 can communicate with other network entities via communication unit 602, for example, with... Figure 2 The first device communicates with the second device. Storage unit 603 is used to store the program code and data of the second device.
[0134] when Figure 6 When illustrating the structure of the second server in the above embodiments, the processing unit 601 is used to control and manage the actions of the second server. For example, the processing unit 601 is used to execute... Figure 3 301-303 in the middle, Figure 4 401 and 402 in the middle, Figure 5 The actions performed by the second device in processes 501, 502, and / or other processes described in the embodiments of this application. Processing unit 601 can communicate with other network entities via communication unit 602, for example, with... Figure 3 The first device communicates with the second server. Storage unit 603 is used to store the program code and data of the second server.
[0135] For example, the grayscale verification device 60 can be a device or a chip or chip system.
[0136] When the grayscale verification device 60 is a single device, the processing unit 601 can be a processor; the communication unit 602 can be a communication interface, a transceiver, or an input interface and / or an output interface. Optionally, the transceiver can be a transceiver circuit. Optionally, the input interface can be an input circuit, and the output interface can be an output circuit.
[0137] When the grayscale verification device 60 is a chip or chip system, the communication unit 602 can be a communication interface, input interface and / or output interface, interface circuit, output circuit, input circuit, pin, or related circuit on the chip or chip system. The processing unit 601 can be a processor, processing circuit, or logic circuit.
[0138] Figure 6If the integrated units in the process are implemented as software functional modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solutions of the embodiments of this application, in essence, or the parts that contribute to the prior art, or all or part of the technical solutions, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the methods described in the various embodiments of this application. Storage media for storing computer software products include: USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, optical disks, and other media capable of storing program code.
[0139] This application also provides a hardware structure diagram of a grayscale verification device, see [link]. Figure 7 or Figure 8 The grayscale verification device includes a processor 701, and optionally, a memory 702 connected to the processor 701.
[0140] Processor 701 can be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits used to control the execution of the program according to the present application. Processor 701 may also include multiple CPUs, and processor 701 can be a single-core processor or a multi-core processor. Here, processor can refer to one or more devices, circuits, or processing cores used to process data (e.g., computer program instructions).
[0141] The memory 702 can be a ROM or other type of static storage device capable of storing static information and instructions, RAM or other type of dynamic storage device capable of storing information and instructions, or it can be an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer. This application embodiment does not impose any limitations on this. The memory 702 can exist independently (in this case, the memory 702 can be located outside or inside the grayscale verification device), or it can be integrated with the processor 701. The memory 702 can contain computer program code. The processor 701 is used to execute the computer program code stored in the memory 702, thereby implementing the method provided in this application embodiment.
[0142] In the first possible implementation, see Figure 7 The grayscale verification device also includes a transceiver 703. The processor 701, memory 702, and transceiver 703 are connected via a bus. The transceiver 703 is used to communicate with other devices or communication networks. Optionally, the transceiver 703 may include a transmitter and a receiver. The device in the transceiver 703 that implements the receiving function can be considered as a receiver, which is used to perform the receiving steps in the embodiments of this application. The device in the transceiver 703 that implements the transmitting function can be considered as a transmitter, which is used to perform the transmitting steps in the embodiments of this application.
[0143] Based on the first possible implementation method Figure 7 The structural diagram shown can be used to illustrate the structure of the first device, the second device, and the second server involved in the above embodiments.
[0144] when Figure 7 When illustrating the structure of the first device involved in the above embodiments, the processor 701 is used to control and manage the operation of the first device. For example, the processor 701 is used to execute... Figure 2 201, 202, and 205 in the list. Figure 3 The numbers 201, 202, 205, 301, and 303 are included. Figure 4 401-405, 409 Figure 5The actions performed by the first device in processes 501-505, 510, and / or other processes described in the embodiments of this application. Processor 701 can communicate with other network entities via transceiver 703, for example, with... Figure 2 The second device communicates with the first device. Memory 702 is used to store the program code and data of the first device.
[0145] when Figure 7 When illustrating the structure of the second device involved in the above embodiments, the processor 701 is used to control and manage the operation of the second device. For example, the processor 701 is used to execute... Figure 2 202-205 in the middle, Figure 3 202-205, 304, 305, Figure 4 405-407, 409, Figure 5 Actions performed by the second device in processes 506-510 and / or other processes described in the embodiments of this application. Processor 701 can communicate with other network entities via transceiver 703, for example, with... Figure 2 The first device communicates with the second device. Memory 702 is used to store the program code and data of the second device.
[0146] when Figure 7 When illustrating the structure of the second server involved in the above embodiments, the processor 701 is used to control and manage the actions of the second server. For example, the processor 701 is used to execute... Figure 3 301-303 in the middle, Figure 4 401 and 402 in the middle, Figure 5 The actions performed by the second device in processes 501, 502, and / or other processes described in the embodiments of this application. Processor 701 can communicate with other network entities via transceiver 703, for example, with... Figure 3 The first device communicates with the second server. Memory 702 is used to store the program code and data of the second server.
[0147] In a second possible implementation, the processor 701 includes logic circuitry and input and / or output interfaces. For example, the output interface is used to perform the sending action in the corresponding method, and the input interface is used to perform the receiving action in the corresponding method.
[0148] Based on the second possible implementation, see Figure 8 , Figure 8 The structural diagram shown can be used to illustrate the structure of the first device, the second device, and the second server involved in the above embodiments.
[0149] when Figure 8When illustrating the structure of the first device involved in the above embodiments, the processor 801 is used to control and manage the operation of the first device. For example, the processor 801 is used to execute... Figure 2 201, 202, and 205 in the list. Figure 3 The numbers 201, 202, 205, 301, and 303 are included. Figure 4 401-405, 409 Figure 5 The actions performed by the first device in processes 501-505, 510, and / or other processes described in the embodiments of this application. The processor 801 can communicate with other network entities via input and / or output interfaces, for example, with... Figure 2 The first device communicates within the system. Memory 802 is used to store the program code and data of the first device.
[0150] when Figure 8 When illustrating the structure of the second device involved in the above embodiments, the processor 801 is used to control and manage the operation of the second device. For example, the processor 801 is used to execute... Figure 2 202-205 in the middle, Figure 3 202-205, 304, 305, Figure 4 405-407, 409, Figure 5 Actions performed by the second device in processes 506-510 and / or other processes described in the embodiments of this application. Processor 801 can communicate with other network entities via input and / or output interfaces, for example, with... Figure 2 The first device communicates with the second device. Memory 802 is used to store the program code and data of the second device.
[0151] when Figure 8 When illustrating the structure of the second server involved in the above embodiments, the processor 801 is used to control and manage the actions of the second device. For example, the processor 801 is used to execute... Figure 3 301-303 in the middle, Figure 4 401 and 402 in the middle, Figure 5 The actions performed by the second device in processes 501, 502, and / or other processes described in the embodiments of this application. The processor 801 can communicate with other network entities via input and / or output interfaces, for example, with... Figure 3 The first device communicates with the second server. Memory 802 is used to store the program code and data of the second server.
[0152] In implementation, each step of the method provided in this embodiment can be completed by integrated logic circuits in the processor or by instructions in software form. The steps of the method disclosed in the embodiments of this application can be directly manifested as being executed by a hardware processor, or being executed by a combination of hardware and software modules in the processor.
[0153] This application also provides a computer-readable storage medium including computer-executable instructions that, when run on a computer, cause the computer to perform any of the methods described above.
[0154] This application also provides a computer program product containing computer-executable instructions that, when run on a computer, cause the computer to perform any of the methods described above.
[0155] This application also provides a communication system, including: the first device and / or the second device described above. Optionally, it may also include a second server.
[0156] This application also provides a grayscale verification device, including: a processor and an interface. The processor is coupled to a memory through the interface. When the processor executes a computer program or computer-executable instructions in the memory, any of the methods provided in the above embodiments are executed.
[0157] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented using software programs, implementation can be, in whole or in part, in the form of a computer program product. This computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, computer instructions can be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device containing one or more servers, data centers, etc., that can be integrated with the medium. The available media can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs), or semiconductor media (e.g., solid-state disks, SSDs).
[0158] Although this application has been described herein in conjunction with various embodiments, those skilled in the art, by reviewing the accompanying drawings, the disclosure, and the appended claims, will understand and implement other variations of the disclosed embodiments in carrying out the claimed application. In the claims, the word "comprising" does not exclude other components or steps, and "a" or "an" does not exclude multiple instances. A single processor or other unit can implement several functions listed in the claims. While different dependent claims may recite certain measures, this does not mean that these measures cannot be combined to produce good results.
[0159] Although this application has been described in conjunction with specific features and embodiments, it is obvious that various modifications and combinations can be made thereto without departing from the scope of protection of this application. Accordingly, this specification and drawings are merely exemplary illustrations of this application as defined by the appended claims, and are considered to cover any and all modifications, variations, combinations, or equivalents within the scope of this application. Clearly, those skilled in the art can make various alterations and modifications to this application without departing from the scope of protection of this application. Thus, if such modifications and modifications of this application fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and modifications.
Claims
1. A grayscale verification method, characterized in that, include: The first device acquires a software package for a first service, wherein the first service is one of a plurality of services that make up the first application; The first service runs on the first device; The first device sends a first message to the second device through the first service, and the first message includes information related to the second service corresponding to the first service; The second service runs on the second device; The first service and the second service are used to collaboratively complete the features of the first application; Information related to the second service includes: the identifier of the second service and first version information; wherein, the first version information is the version information of the second service, and the second service is one of the multiple services that make up the first application; The first device tests the first service and / or the second service by interacting with the first service and the second service.
2. The method according to claim 1, characterized in that, The first message also includes first business data, which is business data that has been transformed from the current business data of the first service and can be recognized by the second service.
3. The method according to claim 1 or 2, characterized in that, The method further includes: The first device sends a second message to the second server, the second message including the identifier of the first device; wherein, the second server is used to manage grayscale rules; The first device receives a response message to the second message from the second server, the response message including information related to the second service.
4. The method according to claim 3, characterized in that, Information related to the second service also includes information on whether the second service is a crowdsourced beta version that was actively claimed.
5. A grayscale verification method, characterized in that, include: The second device receives a first message from the first device, the first message including information related to the second service corresponding to the first service; The second service runs on the second device; The first service and the second service are used to collaboratively complete the features of the first application; Information related to the second service includes: the identifier of the second service and the first version information; wherein, the first version information is the version information of the second service, the first service is one of a plurality of services constituting the first application, the first service runs on the first device, and the second service is also one of a plurality of services constituting the first application; The second device determines whether it has a second service that is no less than the first version information based on the first message; If yes, the second device interacts with the first service through the second service to test the first service and / or the second service; if no, the second device obtains a software package of the second service with version information no lower than the first version, and the second device interacts with the first service through the second service to test the first service and / or the second service.
6. The method according to claim 5, characterized in that, Information related to the second service also includes: information on whether the second service is an actively claimed beta version; the second device acquiring the software package of the second service, which is no less than the first version information, including: If the second service is a crowdsourced beta version that was actively claimed, or if the second service is not a crowdsourced beta version but the administrators of the first device and the second device are the same, or if the second service is not a crowdsourced beta version and the administrators of the first device and the second device are different, but the administrator of the second device is authorized to obtain the software package of the second service with information no lower than the first version, then the second device obtains the software package of the second service with information no lower than the first version.
7. The method according to claim 5 or 6, characterized in that, The second device acquires the software package of the second service, which is not lower than the first version information, including: The second device sends a third message to the first server. The third message includes the identifier of the second device, the identifier of the second service that the second device wants to obtain, and the version information of the second service that the second device wants to obtain. The version information of the second service that the second device wants to obtain is not lower than the first version information. The first server is used to provide at least one version of the second service software package. The second device receives a response message to the third message from the first server, the response message including the software package of the second service that is not lower than the first version information.
8. The method according to claim 7, characterized in that, The first message also includes first business data, which is business data that has been converted from the current business data of the first service and can be recognized by the second service. During the process of the second device testing the first service and / or the second service through interaction with the first service via the second service, the method includes: The second device runs the second service based on the first service data.
9. A grayscale verification method, characterized in that, include: The second server receives a second message from the first device, the second message including the identifier of the first device, and the second server is used to manage grayscale rules. After the second server determines that the first device is within the grayscale verification range based on the identifier of the first device, it determines the information related to the second service corresponding to the first service, and the first service runs on the first device; The second service runs on the second device; the first service and the second service are used to work together to complete the features of the first application; The second server sends a response message to the first device for the second message, the response message including information related to the second service.
10. The method according to claim 9, characterized in that, After determining that the first device is within the grayscale verification range based on the identifier of the first device, the second server determines the information related to the second service corresponding to the first service of the first device, including: The second server determines whether the first device is within the grayscale verification range based on the identifiers of all devices within the grayscale verification range and the identifier of the first device. If so, determine the information related to the second service corresponding to the first service.
11. A grayscale verification device, characterized in that, include: Communication unit and processing unit; The processing unit is configured to acquire a software package for a first service, wherein the first service is one of a plurality of services constituting a first application; the first service runs on a first device. The communication unit is configured to send a first message to the second device through the first service, the first message including information related to the second service corresponding to the first service; The second service runs on the second device; The first service and the second service are used to collaboratively complete the features of the first application; Information related to the second service includes: the identifier of the second service and the first version information; wherein, the first version information is the version information of the second service, and the second service is one of the multiple services that make up the first application; The communication unit is also used to test the first service and / or the second service by interacting with the second service through the first service.
12. The grayscale verification device according to claim 11, characterized in that, The first message also includes first business data, which is business data that has been transformed from the current business data of the first service and can be recognized by the second service.
13. The grayscale verification device according to claim 11 or 12, characterized in that, The communication unit is also used for: A second message is sent to a second server, the second message including the identifier of the grayscale verification device; wherein, the second server is used to manage grayscale rules; A response message is received from the second server for the second message, the response message including information related to the second service.
14. The grayscale verification device according to claim 13, characterized in that, Information related to the second service also includes information on whether the second service is a crowdsourced beta version that was actively claimed.
15. A grayscale verification device, characterized in that, include: Communication unit and processing unit; The communication unit is configured to receive a first message from the first device, the first message including information related to a second service corresponding to the first service; The second service runs on the second device; The first service and the second service are used to collaboratively complete the features of the first application; Information related to the second service includes: the identifier of the second service and the first version information; wherein, the first version information is the version information of the second service, the first service is one of a plurality of services constituting the first application, the first service runs on the first device, and the second service is also one of a plurality of services constituting the first application; The processing unit is configured to determine, based on the first message, whether there is a second service that is not lower than the first version information; If yes, the communication unit is further configured to test the first service and / or the second service by interacting with the first service through the second service; if no, the processing unit is further configured to obtain a software package of the second service that is not lower than the first version information, and the communication unit is further configured to test the first service and / or the second service by interacting with the first service through the second service.
16. The grayscale verification device according to claim 15, characterized in that, Information related to the second service also includes: whether the second service is a crowdsourced beta version that has been actively claimed; the processing unit is specifically used for: If the second service is a crowdsourced beta version that was actively claimed, or if the second service is not a crowdsourced beta version but the administrators of the first device and the grayscale verification device are the same, or if the second service is not a crowdsourced beta version and the administrators of the first device and the grayscale verification device are different, but the administrator of the grayscale verification device is authorized to obtain the software package of the second service with information no lower than the first version, then obtain the software package of the second service with information no lower than the first version.
17. The grayscale verification device according to claim 15 or 16, characterized in that, The processing unit is specifically used for: A third message is sent to the first server through the communication unit. The third message includes the identifier of the grayscale verification device, the identifier of the second service to be obtained by the grayscale verification device, and the version information of the second service to be obtained by the grayscale verification device. The version information of the second service to be obtained by the grayscale verification device is not lower than the first version information. The first server is used to provide at least one version of the second service software package. The communication unit receives a response message for the third message from the first server, the response message including the software package of the second service that is not lower than the first version information.
18. The grayscale verification device according to claim 17, characterized in that, The first message also includes first service data, which is service data that has been converted from the current service data of the first service and can be recognized by the second service. During the process of the communication unit testing the first service and / or the second service through interaction between the second service and the first service, the processing unit is further configured to: The second service is run based on the first business data.
19. A grayscale verification device, characterized in that, include: Processing unit and communication unit; The communication unit is used to receive a second message from the first device, the second message including the identifier of the first device, and the grayscale verification device is used to manage grayscale rules; The processing unit is configured to determine, after identifying the first device as a device within the grayscale verification range based on the identifier of the first device, information related to the second service corresponding to the first service, wherein the first service runs on the first device; the second service runs on the second device; and the first service and the second service are used to collaboratively complete the characteristics of the first application. The communication unit is further configured to send a response message to the first device for the second message, the response message including information related to the second service.
20. The grayscale verification device according to claim 19, characterized in that, The processing unit is also used for: Based on the identifiers of all devices within the grayscale verification range and the identifier of the first device, determine whether the first device is a device within the grayscale verification range; If so, determine the information related to the second service corresponding to the first service.
21. A grayscale verification device, characterized in that, include: Processor, the processor being coupled to memory; The memory is used to store computer programs; The processor is configured to execute the computer program stored in the memory, such that the grayscale verification device performs the method as described in any one of claims 1-4, or performs the method as described in any one of claims 5-8, or performs the method as described in claim 9 or 10.
22. A computer-readable storage medium, characterized in that, Includes a computer program that, when run on a computer, causes the computer to perform the method as described in any one of claims 1-4, or the method as described in any one of claims 5-8, or the method as described in claim 9 or 10.
23. A computer program product, characterized in that, Includes a computer program that, when run on a computer, causes the computer to perform the method as described in any one of claims 1-4, or the method as described in any one of claims 5-8, or the method as described in claim 9 or 10.
Citation Information
Patent Citations
Across-device application integrating method and system
CN104796774A
Terminal application management method, terminal device, cloud server and storage medium
CN110855598A