WO2016179958A1 - 对移动应用进行灰度发布的方法、装置和系统 - Google Patents

对移动应用进行灰度发布的方法、装置和系统 Download PDF

Info

Publication number
WO2016179958A1
WO2016179958A1 PCT/CN2015/092083 CN2015092083W WO2016179958A1 WO 2016179958 A1 WO2016179958 A1 WO 2016179958A1 CN 2015092083 W CN2015092083 W CN 2015092083W WO 2016179958 A1 WO2016179958 A1 WO 2016179958A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
grayscale
client
user
attribute information
Prior art date
Application number
PCT/CN2015/092083
Other languages
English (en)
French (fr)
Inventor
潘钧儒
陈伟
刘斌
Original Assignee
百度在线网络技术(北京)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 百度在线网络技术(北京)有限公司 filed Critical 百度在线网络技术(北京)有限公司
Publication of WO2016179958A1 publication Critical patent/WO2016179958A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising

Definitions

  • the present disclosure generally relates to the field of mobile applications, and in particular, to a mobile application publishing solution, and more particularly to a method, an apparatus and a system for grayscale publishing a mobile application, and a device for updating a mobile application at a client.
  • Grayscale publishing is a kind of publishing method that can smoothly transition between black and white.
  • the AB test is a grayscale publishing method, in which some users continue to use A, and some users start to use B. If the user has no objection to B, then gradually expand the scope and move all users to B.
  • the grayscale release can ensure the stability of the overall system, and the problem can be found and adjusted at the initial gray level to ensure its influence.
  • the existing implementation schemes for grayscale publishing of mobile applications mainly include: (1) inviting users to participate in internal testing or actively applying for internal testing by users; (2) developers independently developing version upgrade control logic, and grayscale in mobile application upgrade request Release a new version.
  • the main problems of the existing methods are: (1) high cost, the method of inviting the internal test takes a long time to complete a sufficient number of test users, and the party that develops the version upgrade logic independently The formula requires large development costs and subsequent maintenance costs; (2) poor accuracy, it is difficult to control the new version to be delivered to a specified number of users of the specified type; (3) risk of leakage, due to public release or through the background Updates are upgraded to certain users, and competitors are easy to know about the new version features, so they can quickly imitate plagiarism and preemptively.
  • the present application provides a method, apparatus, and system for grayscale publishing a mobile application and means for updating the mobile application at the client.
  • the present application provides a method for performing grayscale publishing on a mobile application, including: acquiring grayscale publishing configuration information of a mobile application and grayscale application data of a mobile application; receiving an application update request sent by a client, and applying The update request includes user attribute information of the client; determining whether to perform grayscale publishing based on the grayscale publishing configuration information and the user attribute information; and transmitting the grayscale application data of the mobile application to the client in response to determining to perform grayscale publishing Presented on the client.
  • the present application provides an apparatus for performing grayscale distribution on a mobile application, including: an obtaining unit configured to acquire grayscale publishing configuration information of a mobile application and grayscale application data of a mobile application; a receiving unit, configured And an application update request sent by the client, where the application update request includes user attribute information of the client, and a determining unit configured to determine whether to perform grayscale publishing based on the grayscale publishing configuration information and the user attribute information; In response to determining to perform grayscale publishing, the grayscale application data of the mobile application is sent to the client for presentation on the client.
  • the application provides an apparatus for updating a mobile application on a client, including: an collecting unit configured to collect user attribute information of a client; a generating unit configured to generate an application update request, and apply an update request Include a user attribute information of the client; a sending unit configured to send an application update request to the server for the server to determine whether to perform grayscale publishing of the mobile application to be updated; and a receiving unit configured to receive the grayscale application of the mobile application from the server Data, wherein the grayscale application data is determined by the server in response to the mobile application based grayscale publishing configuration information and the user attribute information The grayscale is sent and sent.
  • the present application provides a system for grayscale publishing a mobile application, where the system includes a server and a client, and the server includes a grayscale publishing configuration module, an application data storage module, and a grayscale publishing policy module, and the client includes an application.
  • the grayscale publishing configuration module is configured to configure the grayscale publishing configuration information of the mobile application
  • the application data storage module is configured to store the grayscale application data and the grayscale publishing configuration information of the mobile application
  • the application update presentation module is used to Generating an application update request, where the application update request includes user attribute information of the client
  • the grayscale publishing policy module is configured to determine whether to perform grayscale publishing based on the grayscale publishing configuration information in the application data storage module and the user attribute information provided by the application update presentation module. And transmitting grayscale application data of the mobile application to the application update presentation module in response to determining to perform grayscale publishing; and applying an update presentation module for presenting grayscale application data.
  • the method, device and system for grayscale publishing a mobile application and the device for updating a mobile application at a client obtain the grayscale publishing configuration information of the mobile application and the grayscale application data of the mobile application and receive the client Sending an application update request, and then determining whether to perform grayscale publishing based on the grayscale publishing configuration information and the user attribute information, and finally transmitting the grayscale application data of the mobile application to the client on the client in response to determining to perform grayscale publishing.
  • Rendering the purpose of delivering grayscale applications to a designated group is achieved.
  • Embodiments of the present application can be implemented on a mobile application store, thereby reducing development costs for application developers. On the other hand, since it is only released on the client, the risk of grayscale application leakage can be reduced.
  • FIG. 1 illustrates an exemplary system architecture in which embodiments of the present application may be applied
  • FIG. 2 shows an application upgrade flowchart 200 of an existing mobile application store client product
  • FIG. 3 illustrates an exemplary flowchart 300 of a method of grayscale publishing a mobile application in accordance with an embodiment of the present application
  • FIG. 4 illustrates an exemplary interface diagram of acquiring grayscale release information according to an embodiment of the present application
  • FIG. 5 is a block diagram showing an exemplary structure of an apparatus for performing grayscale distribution on a mobile application according to an embodiment of the present application
  • FIG. 6 shows an exemplary structural block diagram of an apparatus for updating a mobile application at a client according to an embodiment of the present application
  • FIG. 7 illustrates an exemplary structural block diagram of a system for grayscale publishing a mobile application according to an embodiment of the present application
  • FIG. 8 is a block diagram showing the structure of a computer system suitable for implementing the terminal device and server of the embodiment of the present application.
  • FIG. 1 illustrates an exemplary system architecture 100 in which embodiments of the present application may be applied.
  • system architecture 100 can include terminal devices 101, 102, network 103, and servers 104, 105, 106, and 107.
  • the network 103 is used to provide a medium for communication links between the terminal devices 101, 102 and the servers 104, 105, 106, 107.
  • Network 103 may include various types of connections, such as wired, wireless communication links, fiber optic cables, and the like.
  • the user 110 can interact with the servers 104, 105, 106, 107 over the network 103 using the terminal devices 101, 102 to access various services, such as browsing web pages, downloading mobile applications, and the like.
  • Various client applications such as an application store, a browser, a social application, various games, and the like can be installed on the terminal devices 101, 102.
  • the terminal devices 101, 102 may be various electronic devices including, but not limited to, a personal computer, Smartphones, smart TVs, tablets, personal digital assistants, e-book readers, and more.
  • the servers 104, 105, 106, 107 may be servers that provide various services.
  • the server can provide services in response to a user's service request. It can be understood that one server can provide one or more services, and the same service can also be provided by multiple servers.
  • the servers involved may include, but are not limited to, an application store server.
  • terminal devices, networks, and servers in Figure 1 is merely illustrative. Depending on the implementation needs, there can be any number of terminal devices, networks, and servers.
  • the solution for the gray-scale publishing of the mobile application in the embodiment of the present application is completed based on the upgrade process of the mobile application store. Therefore, before the solution of the embodiment of the present application is developed, the application upgrade solution of the mobile application store client according to the prior art is introduced.
  • FIG. 2 shows an application upgrade flowchart 100 of an existing mobile application store client.
  • step 201 the client sends an application update request to the application store server.
  • the application store server acquires an application update request sent by the client, where the application update request includes at least all installed application information of the user.
  • the specific application scenario may be: the user opens the application store client, and the client sends all the installed mobile application information (including the application name, version number, and the like) to the application store server to send an application update request.
  • step 202 the application store server parses the application update request and queries the installed application for the presence of the updated version.
  • an application store server such as a version upgrade unit in the server, receives and parses an application update request sent by the client, including obtaining an application name and a version number of all installed applications, and is in the server (for example, data In the storage unit) Query whether all installed applications have updated versions.
  • the specific application scenario may be: the server parses the application update request, obtains the application name and version number of the installed application, and queries the version number of the latest version of the mobile application that is installed in the server, and obtains the version number obtained by the comparison. The version number of the query determines whether there is an updated version in the installed application to be updated.
  • step 203 if it is determined that the installed application has an updated version, the user is prompted to update.
  • step 202 it is determined whether the installed application has a version to be updated, and if so, prompting the user to update the application.
  • the method further includes sending the detailed information of the version to be updated to the client. If there is no updated version, the direct return client does not find a new version update. Then, the client can perform the corresponding operations according to the information returned by the server. For example, when a new version information is found, the user who has installed the application is prompted to upgrade the update.
  • FIG. 3 illustrates an exemplary flowchart of a method for grayscale publishing a mobile application according to an embodiment of the present application.
  • the method shown in FIG. 3 can be performed on the server side in FIG.
  • step 301 grayscale distribution configuration information of the mobile application and grayscale application data of the mobile application are acquired.
  • the server acquires the grayscale configuration information of the mobile application provided by the developer and the grayscale application data of the mobile application.
  • the grayscale publishing configuration information of the mobile application may include, but is not limited to, an application name, a version number, an application profile, an application identifier, an application icon, a charging situation, an application screenshot, a time and quantity of the grayscale publishing, and user attribute information of the delivery object. And other configuration parameters.
  • the grayscale application data of the mobile application may be, for example, a source file of mobile application data such as an .apk file or the like.
  • the relevant data provided by the developer may be obtained in the form of a form, and the developer may selectively pass one or more of the data listed below, and the application is not limited in this respect.
  • FIG. 4 illustrates an exemplary interface diagram for acquiring grayscale release information in accordance with an embodiment of the present application.
  • the obtaining the grayscale publishing information includes acquiring the grayscale publishing configuration information and the grayscale application data of the mobile application, and the grayscale publishing configuration information includes at least one of the following: grayscale sending The time of the cloth, the number of grayscale releases, and the user attribute information of the delivery object.
  • a method for obtaining grayscale application data by user uploading data is shown in 401.
  • the developer can upload the grayscale application data to the server by clicking the "upload” button, and can "clear" the newly uploaded data. Wait for the operation.
  • the user may also share the grayscale application data to the server by means of cloud sharing, and the application is not limited in this regard.
  • an application name 402, a version number 403, a release area 404, a release time 405, a release quantity 406, and an applicable system 407 are also obtained in the form of a form.
  • the release time can be a time period or a time point. For example, when the publishing time is a time point, when a certain number of grayscale applications are released in a limited release area, the release is considered complete; when the release time is a time period, then only the time period can be released.
  • the release time, the number of publications, and the priority of the release area may also be set. When the condition of high priority is met, the release is considered complete, and the application is not limited in this respect.
  • the user attribute information of the delivery object required for the developer to publish the grayscale application may be included.
  • the user attribute information of the user object may include, but is not limited to, the user's location, the hardware configuration of the user equipment, the software configuration of the user equipment, the network environment of the user equipment, and the personalized information of the user. At least one: an application name, a version number, and an application for competing products are installed; the hardware configuration of the user device may further include a processor, a memory, a storage space, a baseband version, a kernel version, a resolution, and a user device.
  • the network environment of the user equipment includes at least the usage of various wired and wireless connection modes, such as the Bluetooth version of the user equipment, the communication mode supported by the user's mobile phone, etc.; the personalized information of the user may include, but is not limited to, the ID of the user, Avatar, hobbies.
  • step 302 an application update request sent by the client is received.
  • the server receives an application update request sent by the client, where the application update request includes at least user attribute information of the client.
  • the user attribute information may include a user area, a hardware configuration of the user equipment, a software configuration of the user equipment, a network environment of the user equipment, and personalized information of the user, where the software configuration of the user equipment includes at least one of the following: App name, version number, and whether to install a competing product.
  • the application of judging whether it is a competitive product can be through the big Baidu Data acquisition can also be obtained from the data provided by the developer.
  • the user attribute information of the client may be obtained by at least one of the following: the registration information of the user; and the usage behavior of the user on the mobile application.
  • the user can provide some personal information when filling in the registration information, such as the address (ie, the region), age, occupation, and the like.
  • the user directly or indirectly reveals some personal information of the user, such as the user's interests, preferences, and the like.
  • the user may have fixed access to some websites, such as a web novel website, or use keywords to search during browsing, such as searching for piano teaching.
  • User attribute information can be obtained by mining the user's usage behavior of the mobile application.
  • the user's usage behavior can be mined using any data mining method currently available or developed in the future, and the application is not limited in this respect.
  • step 303 it is determined whether to perform grayscale distribution based on the grayscale distribution configuration information and the user attribute information.
  • the server compares the grayscale distribution configuration information acquired from the developer with the user attribute information acquired from the client, thereby determining whether to perform grayscale distribution.
  • whether the grayscale is issued may be determined by comparing the grayscale distribution configuration information with the same or similar information in the user attribute information.
  • determining whether to perform grayscale publishing based on the grayscale publishing configuration information and the user attribute information may further include: determining whether the user attribute information of the delivery object matches the user attribute information of the client. Since the user attribute information of the delivery object obtained from the developer is the developer's requirement for the user, and the user attribute information of the client is the existing condition of the user, the user attribute information of the delivery object and the client collection information can be collected. User attribute information is compared to determine whether grayscale publishing is required.
  • step 304 in response to determining to perform the grayscale publishing, the grayscale application data of the mobile application is sent to the client for presentation on the client.
  • grayscale publishing configuration information requires: Beijing area, 1000 times, from October 1st, Android 4.0 or above, no other application stores or eavesdropping software except A app store, and the information returned by the client is: Beijing area, Android 4.1, only installed A app store and no eavesdropping software, Moreover, the server can determine that there are 608 downloads and installations, and the current time is October 2nd. Therefore, according to the comparison of the above information, the grayscale application can be published on the user equipment.
  • any of the above examples is not satisfied, such as installing the competitor B application store of the A application store, after the comparison, it can be concluded that the grayscale application data cannot be presented on the user device.
  • the encounter is unsuccessful, it can be determined that the grayscale is not issued, and the normal application data of the mobile application is sent to the client for presentation on the client, so that the new version leakage can be greatly avoided.
  • the mobile application described above is an application published on an application store
  • the client described above is an application store client
  • the application scenario may be: the developer wants to publish a grayscale application in the A application store, but does not want to be stolen by other application stores or eavesdropping software, the limited condition is: Shanghai, May 5 Until May 15th, Android 4.2 and above, for users who usually play puzzle games, and submit all the qualifications to the A app store, A app store finds users who meet the conditions among their users. And recommend this grayscale application to all users who meet the criteria. If there is a user who does not meet the condition and requests to update the application, the normal application information is returned.
  • the method provided by the foregoing embodiment of the present application obtains the grayscale publishing configuration information of the mobile application and the grayscale application data of the mobile application, and then receives the application update request sent by the client, and then determines the grayscale publishing configuration information and the user attribute information. Whether the grayscale is issued and the grayscale is released in response to the determination, and finally the grayscale application data of the mobile application is sent to the client for presentation on the client, which can greatly save the development cost for the developer and ensure the grayscale application. Can be well placed to the designated population, and the risk of grayscale application leakage is well reduced.
  • the embodiment of the present application adds a grayscale publishing function to the application upgrade process of the prior art mobile application store client shown in FIG. 2, which can more accurately deliver the grayscale application and does not require the user to independently develop the upgrade control logic.
  • information leakage can be better prevented.
  • FIG. 5 an exemplary block diagram of an apparatus for grayscale publishing a mobile application in accordance with an embodiment of the present application is shown.
  • the device shown in Figure 5 can be implemented in The server side shown in Figure 1.
  • the apparatus 500 for performing grayscale distribution on a mobile application includes an obtaining unit 501 configured to acquire grayscale publishing configuration information of a mobile application and grayscale application data of a mobile application; 502, configured to receive an application update request sent by the client, where the application update request includes user attribute information of the client, and the determining unit 503 is configured to determine whether to perform grayscale publishing based on the grayscale publishing configuration information and the user attribute information; The unit 504 is configured to send the grayscale application data of the mobile application to the client for presentation on the client in response to determining to perform grayscale publishing.
  • the grayscale publishing configuration information of the mobile application and the grayscale application data of the mobile application are acquired by the obtaining unit 501, and the application update request sent by the client is received by the receiving unit 502, and the acquired and received information is performed.
  • the grayscale publishing configuration information may include at least one of the following: a grayscale publishing time, a grayscale publishing quantity, and user attribute information of a delivery object.
  • the determining apparatus 503 may be further configured to determine whether to perform grayscale publishing based on whether the user attribute information of the delivery object matches the user attribute information of the client.
  • the user attribute information may include at least one of the following: a region where the user is located, a hardware configuration of the user device, a software configuration of the user device, a network environment of the user device, and personalized information of the user, where
  • the software configuration of the user equipment includes at least one of the following: an installed application name, a version number, and an application to which a competing product is installed.
  • the mobile application in the above embodiment is an application published on an application store
  • the client is an application store client
  • FIG. 6 an exemplary block diagram of an apparatus for updating a mobile application at a client in accordance with an embodiment of the present application is shown.
  • the apparatus shown in Fig. 6 can be implemented on the terminal device shown in Fig. 1.
  • the apparatus 600 for updating a mobile application on a client includes: an acquisition unit 601 configured to collect user attribute information of a client; and a generating unit 602 configured to generate an application update.
  • the request, the application update request includes user attribute information of the client;
  • the sending unit 603 is configured to send an application update request to the server for the server to determine whether to perform grayscale publishing of the mobile application to be updated;
  • the receiving unit 604 is configured to use the server
  • the grayscale application data of the mobile application is received, wherein the grayscale application data is sent by the server in response to the grayscale publishing configuration information determined based on the mobile application and the user attribute information.
  • the collecting unit 601 collects the user attribute information, and then the generating unit 602 generates an application update request including the user attribute information, and sends the request to the server through the sending unit 603 for the server to determine whether to perform the grayscale publishing of the mobile application to be updated.
  • the final receiving unit 604 receives the gradation application data that the server determines to perform the gradation distribution and returns.
  • the user attribute information may include at least one of the following: a region where the user is located, a hardware configuration of the user device, a software configuration of the user device, a network environment of the user device, and personalized information of the user, where the user
  • the software configuration of the device includes at least one of the following: the installed application name, the version number, and whether the application for the competing product is installed.
  • the collecting unit may be further configured to collect user attribute information by using at least one of: user registration information; and user usage behavior of the mobile application.
  • the mobile application in the above embodiment is an application published on an application store
  • the client is an application store client
  • FIG. 7 an exemplary block diagram of a system for grayscale publishing a mobile application in accordance with an embodiment of the present application is shown.
  • the system 700 for performing grayscale distribution on a mobile application includes a server 710 and a client 720.
  • the server includes a grayscale publishing configuration module 711, an application data storage module 712, and a grayscale publishing policy.
  • the client includes an application more a new presentation module 721, wherein: the grayscale publishing configuration module 711 is configured to configure grayscale publishing configuration information of the mobile application; the application data storage module 712 is configured to store grayscale application data and grayscale publishing configuration information of the mobile application; The module 721 is configured to generate an application update request, where the application update request includes user attribute information of the client; the grayscale release policy module 713 is configured to use the grayscale release configuration information in the application data storage module 712 and the user attribute provided by the application update presentation module 721. The information determines whether grayscale publishing is performed, and in response to determining to perform grayscale publishing, the grayscale application data of the mobile application is transmitted to the application update presentation module 721; and the application update presentation module 721 is configured to present the grayscale application data.
  • the grayscale publishing configuration module 711 is configured to configure grayscale publishing configuration information of the mobile application
  • the application data storage module 712 is configured to store grayscale application data and grayscale publishing configuration information of the mobile application
  • the module 721 is configured to generate an application update request
  • the developer performs grayscale configuration through the grayscale distribution configuration module 711 of the server, and the grayscale application data and the grayscale configuration information submitted by the developer to the server are stored in the application data storage module 712, and then the application is updated.
  • the presentation module 721 acquires the attribute information of the user and sends an application update request to the server through the application store 722.
  • the application update request includes the acquired user attribute information, and then the grayscale publishing policy module 713 configures the gray level in the application data storage module 712.
  • the information is compared with the user attribute information in the application update presentation module 721 to determine whether to perform grayscale publishing. If the comparison is successful, the application update presentation module 721 presents the grayscale application data on the application store client.
  • application update presentation module 721 is shown implemented in the application store 722 in FIG. Those skilled in the art can understand that the application update presentation module 721 can also be implemented as a component independent of the application store 722, and the application is not limited in this regard.
  • the grayscale publishing configuration information may include at least one of the following: a grayscale publishing time, a grayscale publishing quantity, and user attribute information of a delivery object.
  • the foregoing user attribute information may include at least one of the following: a location where the user is located, a hardware configuration of the user equipment, a software configuration of the user equipment, a network environment of the user equipment, and personalized information of the user, where
  • the software configuration of the user equipment includes at least one of the following: an application name, a version number, and an application for installing a competing product.
  • the mobile application described above is on an application store The published app, and the client is the app store client.
  • FIG. 8 a block diagram of a computer system 800 suitable for use in implementing the terminal device and server of the embodiments of the present application is shown.
  • computer system 800 includes a central processing unit (CPU) 801 that can be loaded into a program in random access memory (RAM) 803 according to a program stored in read only memory (ROM) 802 or from storage portion 808. And perform various appropriate actions and processes.
  • RAM random access memory
  • ROM read only memory
  • RAM 803 various programs and data required for the operation of the system 800 are also stored.
  • the CPU 801, the ROM 802, and the RAM 803 are connected to each other through a bus 804.
  • An input/output (I/O) interface 805 is also coupled to bus 804.
  • the following components are connected to the I/O interface 805: an input portion 806 including a keyboard, a mouse, etc.; an output portion 807 including, for example, a cathode ray tube (CRT), a liquid crystal display (LCD), and the like, and a storage portion 808 including a hard disk or the like. And a communication portion 809 including a network interface card such as a LAN card, a modem, or the like. The communication section 809 performs communication processing via a network such as the Internet.
  • Driver 810 is also coupled to I/O interface 805 as needed.
  • a removable medium 811 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory or the like, is mounted on the drive 810 as needed so that a computer program read therefrom is installed into the storage portion 808 as needed.
  • an embodiment of the present disclosure includes a computer program product comprising a computer program tangibly embodied on a machine readable medium, the computer program comprising program code for performing the method of FIG.
  • the computer program can be downloaded and installed from the network via communication portion 809, and/or installed from removable media 811.
  • each block of the flowchart or block diagrams can represent a module, a program segment, or a portion of code that includes one or more logic for implementing the specified.
  • Functional executable instructions can also occur in a different order than that illustrated in the drawings. For example, two successively represented blocks may actually be executed substantially in parallel, they Sometimes it can be performed in the reverse order, depending on the function involved.
  • each block of the block diagrams and/or flowcharts, and combinations of blocks in the block diagrams and/or flowcharts can be implemented in a dedicated hardware-based system that performs the specified function or operation. Or it can be implemented by a combination of dedicated hardware and computer instructions.
  • the units or modules described in the embodiments of the present application may be implemented by software or by hardware.
  • the described unit or module may also be provided in the processor, for example, as a processor including an acquisition unit, a receiving unit, a determining unit, and a publishing unit.
  • the name of these units or modules does not constitute a limitation on the unit or the module itself in some cases.
  • the obtaining unit may also be described as “a grayscale publishing configuration information for acquiring a mobile application and a mobile application.
  • the unit of grayscale application data The unit of grayscale application data.
  • the present application further provides a computer readable storage medium, which may be a computer readable storage medium included in an electronic device in the above embodiment; or may exist separately, not assembled A computer readable storage medium incorporated into an electronic device.
  • the computer readable storage medium stores one or more programs that are used by one or more processors to perform the method of grayscale publishing of a mobile application as described herein.

Landscapes

  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种对移动应用进行灰度发布的方法、装置和系统以及在客户端对移动应用进行更新的装置。上述方法的一具体实施方式包括:获取移动应用的灰度发布配置信息和移动应用的灰度应用数据;接收客户端发送的应用更新请求,应用更新请求包括所述客户端的用户属性信息;基于灰度发布配置信息与用户属性信息确定是否进行灰度发布;以及响应于确定进行灰度发布,向客户端发送移动应用的灰度应用数据以在客户端上呈现。该实施方式实现了将灰度应用的很好地投放到指定人群,一方面可以降低开发的成本,另一方面也能减小灰度应用泄露的风险。

Description

对移动应用进行灰度发布的方法、装置和系统
相关申请的交叉引用
本申请要求百度在线网络技术(北京)有限公司于2015年05月12日提交的,发明名称为“对移动应用进行灰度发布的方法、装置和系统”的、中国专利申请号“201510238002.9”的优先权,其全部内容作为整体并入本申请中。
技术领域
本公开一般涉及移动应用领域,具体涉及移动应用发布方案,尤其涉及对移动应用进行灰度发布的方法、装置和系统以及在客户端对移动应用进行更新的装置。
背景技术
随着移动互联网的蓬勃发展,移动应用已经成为互联网用户日常生活的必需。为了争夺用户,移动应用产品功能快速迭代,发版周期往往很短。为了快速发布同时又能保障产品质量,开发者常常采用对移动应用新版本进行灰度发布的方法。
灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。AB测试就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。
现有的移动应用灰度发布实现方案主要有:(1)邀请用户参加内测试用或由用户主动申请内测;(2)开发者自主开发版本升级控制逻辑,在移动应用升级请求时灰度发布新版本。
现有方法的主要问题在于:(1)成本高,邀请内测的方式需要很长的时间才能完成足够量的测试用户,而自主开发版本升级逻辑的方 式则需要较大的开发成本和后续维护成本;(2)精准度差,难以控制将新版本投放到指定数量、指定类型的用户;(3)泄露风险大,由于在公开场合发布或者通过后台给某些用户更新升级,竞争对手容易知道新版本特性,从而迅速模仿抄袭并抢先发版。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种能够节约发布成本、提高精准度、减少泄露风险的方案。为了实现上述一个或多个目的,本申请提供了一种对移动应用进行灰度发布的方法、装置和系统以及在客户端对移动应用进行更新的装置。
第一方面,本申请提供了一种对移动应用进行灰度发布的方法,包括:获取移动应用的灰度发布配置信息和移动应用的灰度应用数据;接收客户端发送的应用更新请求,应用更新请求包括所述客户端的用户属性信息;基于灰度发布配置信息与用户属性信息确定是否进行灰度发布;以及响应于确定进行灰度发布,向客户端发送移动应用的灰度应用数据以在客户端上呈现。
第二方面,本申请提供了一种对移动应用进行灰度发布的装置,包括:获取单元,配置用于获取移动应用的灰度发布配置信息和移动应用的灰度应用数据;接收单元,配置用于接收客户端发送的应用更新请求,应用更新请求包括客户端的用户属性信息;确定单元,配置用于基于灰度发布配置信息与用户属性信息确定是否进行灰度发布;以及发布单元,配置用于响应于确定进行灰度发布,向客户端发送移动应用的灰度应用数据以在客户端上呈现。
第三方面,本申请提供了一种在客户端对移动应用进行更新的装置,包括:采集单元,配置用于采集客户端的用户属性信息;生成单元,配置用于生成应用更新请求,应用更新请求包括客户端的用户属性信息;发送单元,配置用于向服务器发送应用更新请求以供服务器确定是否对待更新的移动应用进行灰度发布;以及接收单元,配置用于从服务器接收移动应用的灰度应用数据,其中灰度应用数据是服务器响应于基于移动应用的灰度发布配置信息与用户属性信息确定进行 灰度发布而发送的。
第四方面,本申请提供了一种对移动应用进行灰度发布的系统,系统包括服务器和客户端,服务器包括灰度发布配置模块、应用数据存储模块和灰度发布策略模块,客户端包括应用更新展现模块,其中:灰度发布配置模块用于配置移动应用的灰度发布配置信息;应用数据存储模块用于存储移动应用的灰度应用数据和灰度发布配置信息;应用更新展现模块用于生成应用更新请求,应用更新请求包括客户端的用户属性信息;灰度发布策略模块用于基于应用数据存储模块中的灰度发布配置信息和应用更新展现模块提供的用户属性信息确定是否进行灰度发布,以及响应于确定进行灰度发布,向应用更新展现模块发送移动应用的灰度应用数据;并且应用更新展现模块用于展现灰度应用数据。
本申请提供的对移动应用进行灰度发布的方法、装置和系统以及在客户端对移动应用进行更新的装置,通过获取移动应用的灰度发布配置信息和移动应用的灰度应用数据并接收客户端发送的应用更新请求,然后基于灰度发布配置信息与用户属性信息确定是否进行灰度发布,最后响应于确定进行灰度发布,向客户端发送移动应用的灰度应用数据以在客户端上呈现,实现了将灰度应用很好地投放到指定人群的目的。本申请的实施例可以在移动应用商店上实现,因而可以降低应用开发者的开发成本。另一方面,由于只在客户端上发布,也能减小灰度应用泄露的风险。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出了其中可以应用本申请实施例的示例性系统架构;
图2示出了现有的移动应用商店客户端产品的应用升级流程图200;
图3示出了根据本申请实施例的对移动应用进行灰度发布的方法的一个示例性流程图300;
图4示出了根据本申请实施例的获取灰度发布信息的一个示例性界面图;
图5示出了根据本申请实施例的对移动应用进行灰度发布的装置的一个示例性结构框图;
图6示出了根据本申请实施例的在客户端对移动应用进行更新的装置的一个示例性结构框图;
图7示出了根据本申请实施例的对移动应用进行灰度发布的系统的一个示例性结构框图;以及
图8示出了适于用来实现本申请实施例的终端设备和服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
请参考图1,其示出了可以应用本申请实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、网络103和服务器104、105、106和107。网络103用以在终端设备101、102和服务器104、105、106、107之间提供通信链路的介质。网络103可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户110可以使用终端设备101、102通过网络103与服务器104、105、106、107交互,以访问各种服务,例如浏览网页、下载移动应用等。终端设备101、102上可以安装有各种客户端应用,例如应用商店、浏览器、社交应用、各种游戏等。
终端设备101、102可以是各种电子设备,包括但不限于个人电脑、 智能手机、智能电视、平板电脑、个人数字助理、电子书阅读器等等。
服务器104、105、106、107可以是提供各种服务的服务器。服务器可以响应于用户的服务请求而提供服务。可以理解,一个服务器可以提供一种或多种服务,同一种服务也可以由多个服务器来提供。在本申请的实施例中,所涉及的服务器可以包括但不限于应用商店服务器。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
本申请实施例的对移动应用进行灰度发布的方案基于移动应用商店的升级流程完成,因此在展开本申请实施例的方案之前,先介绍根据现有技术的移动应用商店客户端的应用升级方案。
请参考图2,其示出了现有的移动应用商店客户端的应用升级流程图100。
如图2所示,在步骤201中,客户端向应用商店服务器发送应用更新请求。
在本实施例中,应用商店服务器获取客户端发送的应用更新请求,其中,应用更新请求至少包括用户所有已安装的应用信息。具体的应用场景可以为:用户打开应用商店客户端,此时客户端携带用户所有已安装的移动应用信息(包括应用名、版本号等)向应用商店服务器发送应用更新请求。
在步骤202中,应用商店服务器解析应用更新请求并查询已安装应用是否存在更新的版本。
在本实施例中,应用商店服务器,例如服务器中的版本升级单元,接收并解析客户端发送的应用更新请求,包括获得其中所有已安装应用的应用名和版本号,并在服务器中(例如,数据存储单元中)查询所有已安装应用是否存在更新的版本。具体的应用场景可以为:服务器解析应用更新请求,获取其中已安装应用的应用名和版本号,同时查询用户已安装移动应用在服务器中对应的最新版本的版本号,通过比对获取的版本号和查询的版本号,判断已安装应用中是否存在更新的版本有待更新。
在步骤203中,若确定已安装应用存在更新的版本,则提示用户更新。
在本实施例中,根据步骤202的查询和比对结果,确定已安装应用是否存在有待更新的版本,若存在,则提示用户对该应用进行更新。其中,服务器确定有待更新版本时,还包括将待更新版本的详细信息发送至客户端。若不存在更新的版本,则直接返回客户端未发现有新版本更新。继而,客户端可以根据服务器返回的信息,执行相应的操作。例如,发现有新版本信息时,提示用户已安装的应用可以升级更新。
下面,通过具体的实施例来描述本申请的对移动应用进行灰度发布的方案。在下面的描述中,大量具体细节被阐述以提供对本申请的实施例的完整描述。然而,本领域技术人员应该理解,本申请的实施例在没有这些具体细节的情况下,也可以被实施。
请参考图3,其示出了根据本申请实施例的对移动应用进行灰度发布的方法的一个示例性流程图。图3中所示的方法可以在图1中的服务器端执行。
如图3所示,在步骤301中,获取移动应用的灰度发布配置信息和移动应用的灰度应用数据。
在本实施例中,服务器获取开发者提供的移动应用的灰度配置信息和移动应用的灰度应用数据。其中,移动应用的灰度发布配置信息可以包括但不限于应用名、版本号、应用简介、应用标识、应用图标,收费情况、应用截图、灰度发布的时间和数量以及投放对象的用户属性信息等配置参数。移动应用的灰度应用数据可以例如为移动应用数据的源文件如.apk文件等。
在一些可选的实施例中,可以以表单的形式获取开发者提供的相关数据,开发者可以选择性的通过以下所列出的一项或多项数据,本申请在此方面没有限制。
图4示出了根据本申请实施例的获取灰度发布信息的一个示例性界面图。其中,获取灰度发布信息包括获取移动应用的灰度发布配置信息和灰度应用数据,灰度发布配置信息包括以下至少一项:灰度发 布的时间、灰度发布的数量以及投放对象的用户属性信息。在401中示出了一种通过用户上传数据获取灰度应用数据的方法,开发者通过点击“上传”键即可将灰度应用数据上传至服务器,并且可以对刚上传的数据进行“清除”等操作。在另一种实现中,用户还可以通过云端分享的方式分享灰度应用数据给服务器,本申请在此方面没有限制。除了获取灰度应用数据,图4中还示出了以表单的形式获取应用名称402、版本号403、发布区域404、发布时间405、发布数量406以及适用系统407。其中,发布时间可以是一个时间段,也可以是一个时间点。例如,当发布时间为一个时间点时,达到在限定的发布区域发布一定数量的灰度应用时,即视为发布完成;当发布时间是一个时间段时,则可以只在该时间段内发布灰度应用。另外,还可以设置发布时间、发布数量、发布区域的优先级,当满足优先级高的条件时,即可视为发布完成,本申请在此方面没有限制。进一步地,除了获取图4中示出的各项配置参数之外,还可以包括获取开发者发布灰度应用所需的投放对象的用户属性信息。其中,投放对象的用户属性信息可以包括但不限于用户所在地区、用户设备的硬件配置、用户设备的软件配置、用户设备的网络环境以及用户的个性化信息,其中,用户设备的软件配置包括以下至少一项:已安装应用名称、版本号、是否安装竞争产品的应用;用户设备的硬件配置又可以进一步包括用户设备的处理器、内存、自带存储空间、基带版本、内核版本、分辨率、像素等;用户设备的网络环境至少包括各种有线和无线连接方式的使用情况,例如用户设备的蓝牙版本,用户手机支持的通信方式等;用户的个性化信息可以包括但不限于用户的ID、头像、兴趣爱好。
返回图3,在步骤302中,接收客户端发送的应用更新请求。
在本实施例中,服务器接收客户端发送的应用更新请求,其中,应用更新请求至少包括客户端的用户属性信息。可选的,用户属性信息可以包括用户所在地区、用户设备的硬件配置、用户设备的软件配置、用户设备的网络环境以及用户的个性化信息,其中,用户设备的软件配置包括以下至少一项:已安装应用名称、版本号、是否安装竞争产品的应用。其中,判断是否为竞争产品的应用可以通过百度的大 数据获取,也可以通过开发者提供的数据获知。
在一些可选的实施例中,客户端的用户属性信息可以通过以下至少一种方式来获取:用户的注册信息;以及用户对移动应用的使用行为。用户在填写注册信息时可以提供一些个人信息,诸如住址(也即所在区域)、年龄、职业等。用户在对移动应用的使用过程中,会直接或间接地透露出一些用户个人信息,诸如用户的兴趣、偏好等等。例如,用户在使用浏览器的过程中,可能会固定访问一些网站,例如网络小说网站,或者在浏览期间,会利用关键词进行搜索,例如搜索钢琴教学等。通过挖掘用户对移动应用的使用行为,可以获取用户属性信息。可以采用目前已有或未来开发的任何数据挖掘方法对用户的使用行为进行挖掘,本申请在此方面没有限制。
在步骤303中,基于灰度发布配置信息与用户属性信息确定是否进行灰度发布。
在本实施例中,服务器通过将从开发者处获取的灰度发布配置信息与从客户端获取的用户属性信息进行比对,从而确定是否进行灰度发布。其中,可以通过比对灰度发布配置信息与用户属性信息中相同或相似的信息来确定是否进行灰度发布。
在一些可选的实施例中,基于灰度发布配置信息与用户属性信息确定是否进行灰度发布可以进一步包括:判断投放对象的用户属性信息与客户端的用户属性信息是否匹配。由于从开发者处获取的投放对象的用户属性信息即为开发者对用户的要求,而客户端的用户属性信息即为用户现有的条件,所以可以将投放对象的用户属性信息与客户端采集的用户属性信息进行比对,从而确定是否需要进行灰度发布。
在步骤304中,响应于确定进行灰度发布,向客户端发送移动应用的灰度应用数据以在客户端上呈现。
在本实施例中,当基于灰度发布配置信息与用户属性信息比对的结果匹配时,可以确定进行灰度发布。例如,灰度发布配置信息中要求:北京地区,1000次,10月1日起,安卓4.0以上版本,未安装除A应用商店外的其他应用商店或窃听软件,而客户端返回的信息为:北京地区,,安卓4.1,只安装了A应用商店并且没有任何窃听软件, 而且服务器可以确定已有608次下载安装,当前时间为10月2日,因此根据对以上信息的比对得出可以在该用户设备上发布灰度应用。
在一些可选的实施例中,如果上述实例中有任何一项不满足,如安装了A应用商店的竞争对手B应用商店,比对之后可以得出不能在该用户设备上呈现灰度应用数据,当遇到匹配不成功时,可以确定不进行灰度发布,并向客户端发送移动应用的正常应用数据以在客户端上呈现,从而可以极大地避免新版本泄露。
在另一些可选的实施例中,以上所述的移动应用是在应用商店上发布的应用,并且以上所述的客户端是应用商店客户端。
对于本申请的上述实施例,应用场景可以为:开发者希望在A应用商店发布一款灰度应用,但是不希望被其他应用商店或窃听软件窃取,限定的条件为:上海、5月5日至5月15日、安卓4.2及以上版本,针对的是平时爱玩益智类手机游戏的用户,并将所有限定条件提交给A应用商店,A应用商店在其用户中查找满足条件的用户,并将该灰度应用推荐给所有满足条件的用户。如果有不满足条件的用户请求对该应用进行更新,则返回正常的应用信息。
本申请的上述实施例提供的方法通过获取移动应用的灰度发布配置信息和移动应用的灰度应用数据,而后接收客户端发送的应用更新请求,之后基于灰度发布配置信息与用户属性信息确定是否进行灰度发布以及响应于确定进行灰度发布,最后向客户端发送移动应用的灰度应用数据以在客户端上呈现,可以极大地为开发者节约开发的成本,又能保证灰度应用可以被很好地投放到指定人群,并且很好的降低了灰度应用泄露的风险。
本申请的实施例在图2示出的现有技术的移动应用商店客户端的应用升级流程的基础上增加了灰度发布功能,能够更精确地投放灰度应用并且无需用户自主开发升级控制逻辑,对所有开发者零开发成本提供灰度发布服务。此外,由于指定了投放对象,也能更好地防止信息泄露。
进一步参考图5,其示出了根据本申请实施例的对移动应用进行灰度发布的装置的一个示例性结构框图。图5所示的装置可以实现在 图1所示的服务器端。
如图5所示,本实施例所述的对移动应用进行灰度发布的装置500包括获取单元501,配置用于获取移动应用的灰度发布配置信息和移动应用的灰度应用数据;接收单元502,配置用于接收客户端发送的应用更新请求,应用更新请求包括客户端的用户属性信息;确定单元503,配置用于基于灰度发布配置信息与用户属性信息确定是否进行灰度发布;以及发布单元504,配置用于响应于确定进行灰度发布,向客户端发送移动应用的灰度应用数据以在客户端上呈现。
在本实施例中,通过获取单元501获取移动应用的灰度发布配置信息和移动应用的灰度应用数据,通过接收单元502接收客户端发送的应用更新请求,并将上述获取和接收的信息进行比对,通过确定单元503确定是否进行灰度发布,并通过发布单元504响应于确定进行灰度发布,向客户端发送移动应用的灰度应用数据以在客户端上呈现。该实现方式可以极大地为用户节约开发的成本,又能保证灰度应用可以被很好地投放到指定人群,并且很好的降低了灰度应用泄露的风险。
在一些可选的实施例中,灰度发布配置信息可以包括以下至少一项:灰度发布的时间、灰度发布的数量以及投放对象的用户属性信息。
在另一些可选的实施例中,上述确定装置503还可以进一步配置用于基于如下来确定是否进行灰度发布:判断投放对象的用户属性信息与客户端的用户属性信息是否匹配。
在一些可选的实施例中,上述用户属性信息可以包括以下至少一项:用户所在地区、用户设备的硬件配置、用户设备的软件配置、用户设备的网络环境、用户的个性化信息,其中,用户设备的软件配置包括以下至少一项:已安装应用名称、版本号、是否安装竞争产品的应用。
在另一些可选的实施例中,上述实施例中的移动应用是在应用商店上发布的应用,并且客户端是应用商店客户端。
进一步参考图6,其示出了根据本申请实施例的在客户端对移动应用进行更新的装置的一个示例性结构框图。图6所示的装置可以实现在图1所示的终端设备上。
如图6所示,本实施例所述的在客户端对移动应用进行更新的装置600,包括:采集单元601,配置用于采集客户端的用户属性信息;生成单元602,配置用于生成应用更新请求,应用更新请求包括客户端的用户属性信息;发送单元603,配置用于向服务器发送应用更新请求以供服务器确定是否对待更新的移动应用进行灰度发布;以及接收单元604,配置用于从服务器接收移动应用的灰度应用数据,其中灰度应用数据是服务器响应于基于移动应用的灰度发布配置信息与用户属性信息确定进行灰度发布而发送的。
在本实施例中,采集单元601采集用户属性信息,然后生成单元602生成包含用户属性信息的应用更新请求,并通过发送单元603发送给服务器以供服务器确定是否对待更新的移动应用进行灰度发布,最后接收单元604接收服务器确定进行灰度发布并返回的灰度应用数据。在上述实现方式中,由于客户端只负责采集和发送相关信息,而大部分处理过程都是在服务器端,所以是否存在灰度发布对用户而言是不可见的,这就可以很好地保障灰度应用数据只在指定的用户群中发送,能够减少灰度应用泄露的风险。
在一些可选的实施例中,用户属性信息可以包括以下至少一项:用户所在地区、用户设备的硬件配置、用户设备的软件配置、用户设备的网络环境、用户的个性化信息,其中,用户设备的软件配置包括以下至少一项:已安装应用名称、版本号、是否安装竞争产品的应用。
在另一些可选的实施例中,采集单元还可以配置用于通过以下至少一项来采集用户属性信息:用户的注册信息;以及用户对移动应用的使用行为。
在另一些可选的实施例中,上述实施例中的移动应用是在应用商店上发布的应用,并且客户端是应用商店客户端。
进一步参考图7,其示出了根据本申请实施例的对移动应用进行灰度发布的系统的一个示例性结构框图。
如图7所示,本实施例所述的对移动应用进行灰度发布的系统700,包括服务器710和客户端720,服务器包括灰度发布配置模块711、应用数据存储模块712和灰度发布策略模块713,客户端包括应用更 新展现模块721,其中:灰度发布配置模块711用于配置移动应用的灰度发布配置信息;应用数据存储模块712用于存储移动应用的灰度应用数据和灰度发布配置信息;应用更新展现模块721用于生成应用更新请求,应用更新请求包括客户端的用户属性信息;灰度发布策略模块713用于基于应用数据存储模块712中的灰度发布配置信息和应用更新展现模块721提供的用户属性信息确定是否进行灰度发布,以及响应于确定进行灰度发布,向应用更新展现模块721发送移动应用的灰度应用数据;并且应用更新展现模块721用于展现灰度应用数据。
在本实施例中,开发者通过服务器的灰度发布配置模块711进行灰度配置,开发者提交至服务器的灰度应用数据和灰度配置信息被存储在应用数据存储模块712中,然后应用更新展现模块721获取用户的属性信息并通过应用商店722向服务器发送应用更新请求,应用更新请求中包括所获取的用户属性信息,之后灰度发布策略模块713将应用数据存储模块712中的灰度配置信息与应用更新展现模块721中的用户属性信息进行比对以确定是否进行灰度发布,若比对成功,则由应用更新展现模块721在应用商店客户端展现灰度应用数据。该实现方式可以极大地为用户节约开发的成本,又能保证灰度应用可以被很好地投放到指定人群,并且很好的降低了灰度应用泄露的风险。
注意,在图7中将应用更新展现模块721示出为实现在应用商店722中。本领域技术人员可以理解,应用更新展现模块721也可以实现为与应用商店722独立的组件,本申请在此方面没有限制。
在一些可选的实施例中,上述灰度发布配置信息可以包括以下至少一项:灰度发布的时间、灰度发布的数量以及投放对象的用户属性信息。
在另一些可选的实施例中,上述用户属性信息可以包括以下至少一项:用户所在地区、用户设备的硬件配置、用户设备的软件配置、用户设备的网络环境、用户的个性化信息,其中,用户设备的软件配置包括以下至少一项:已安装应用名称、版本号、是否安装竞争产品的应用。
在另一些可选的实施例中,以上所述的移动应用是在应用商店上 发布的应用,并且客户端是应用商店客户端。
下面参考图8,其示出了适于用来实现本申请实施例的终端设备和服务器的计算机系统800的结构示意图。
如图8所示,计算机系统800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有系统800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本公开的实施例,上文参考图3描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行图3的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们 有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括获取单元、接收单元、确定单元和发布单元。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,获取单元还可以被描述为“用于获取移动应用的灰度发布配置信息和移动应用的灰度应用数据的单元”。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中电子设备中所包含的计算机可读存储介质;也可以是单独存在,未装配入电子设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本申请的对移动应用进行灰度发布的方法。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (22)

  1. 一种对移动应用进行灰度发布的方法,包括:
    获取所述移动应用的灰度发布配置信息和所述移动应用的灰度应用数据;
    接收客户端发送的应用更新请求,所述应用更新请求包括所述客户端的用户属性信息;
    基于所述灰度发布配置信息与所述用户属性信息确定是否进行灰度发布;以及
    响应于确定进行灰度发布,向所述客户端发送所述移动应用的灰度应用数据以在所述客户端上呈现。
  2. 根据权利要求1所述的方法,其特征在于,所述灰度发布配置信息包括以下至少一项:
    灰度发布的时间、灰度发布的数量以及投放对象的用户属性信息。
  3. 根据权利要求2所述的方法,其特征在于,基于所述灰度发布配置信息与所述用户属性信息确定是否进行灰度发布包括:判断所述投放对象的用户属性信息与所述客户端的用户属性信息是否匹配。
  4. 根据权利要求3所述的方法,其特征在于,所述用户属性信息包括以下至少一项:
    用户所在地区、用户设备的硬件配置、用户设备的软件配置、用户设备的网络环境、用户的个性化信息,其中,用户设备的软件配置包括以下至少一项:已安装应用名称、版本号、是否安装竞争产品的应用。
  5. 根据权利要求4所述的方法,其特征在于,所述客户端的用户属性信息通过以下至少一项来获取:
    用户的注册信息;以及
    用户对移动应用的使用行为。
  6. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    响应于确定不进行灰度发布,向所述客户端发送所述移动应用的正常应用数据以在所述客户端上呈现。
  7. 根据权利要求1-6任一所述的方法,其特征在于,所述移动应用是在应用商店上发布的应用,并且所述客户端是应用商店客户端。
  8. 一种对移动应用进行灰度发布的装置,包括:
    获取单元,配置用于获取所述移动应用的灰度发布配置信息和所述移动应用的灰度应用数据;
    接收单元,配置用于接收客户端发送的应用更新请求,所述应用更新请求包括所述客户端的用户属性信息;
    确定单元,配置用于基于所述灰度发布配置信息与所述用户属性信息确定是否进行灰度发布;以及
    发布单元,配置用于响应于确定进行灰度发布,向所述客户端发送所述移动应用的灰度应用数据以在所述客户端上呈现。
  9. 根据权利要求8所述的装置,其特征在于,所述灰度发布配置信息包括以下至少一项:
    灰度发布的时间、灰度发布的数量以及投放对象的用户属性信息。
  10. 根据权利要求9所述的装置,其特征在于,所述确定装置进一步配置用于通过如下来确定是否进行灰度发布:判断所述投放对象的用户属性信息与所述客户端的用户属性信息是否匹配。
  11. 根据权利要求10所述的装置,其特征在于,所述用户属性信息包括以下至少一项:
    用户所在地区、用户设备的硬件配置、用户设备的软件配置、用 户设备的网络环境、用户的个性化信息,其中,用户设备的软件配置包括以下至少一项:已安装应用名称、版本号、是否安装竞争产品的应用。
  12. 根据权利要求8-11任一所述的装置,其特征在于,所述移动应用是在应用商店上发布的应用,并且所述客户端是应用商店客户端。
  13. 一种在客户端对移动应用进行更新的装置,包括:
    采集单元,配置用于采集客户端的用户属性信息;
    生成单元,配置用于生成应用更新请求,所述应用更新请求包括所述客户端的用户属性信息;
    发送单元,配置用于向服务器发送所述应用更新请求以供所述服务器确定是否对待更新的移动应用进行灰度发布;以及
    接收单元,配置用于从所述服务器接收移动应用的灰度应用数据,其中所述灰度应用数据是所述服务器响应于基于移动应用的灰度发布配置信息与所述用户属性信息确定进行灰度发布而发送的。
  14. 根据权利要求13所述的装置,其特征在于,所述用户属性信息包括以下至少一项:
    用户所在地区、用户设备的硬件配置、用户设备的软件配置、用户设备的网络环境、用户的个性化信息,其中,用户设备的软件配置包括以下至少一项:已安装应用名称、版本号、是否安装竞争产品的应用。
  15. 根据权利要求14所述的装置,其特征在于,所述采集单元配置用于通过以下至少一项来采集所述用户属性信息:
    用户的注册信息;以及
    用户对移动应用的使用行为。
  16. 根据权利要求13-15任一所述的装置,其特征在于,所述移 动应用是在应用商店上发布的应用,并且所述客户端是应用商店客户端。
  17. 一种对移动应用进行灰度发布的系统,所述系统包括服务器和客户端,其特征在于,所述服务器包括灰度发布配置模块、应用数据存储模块和灰度发布策略模块,所述客户端包括应用更新展现模块,其中:
    所述灰度发布配置模块用于配置移动应用的灰度发布配置信息;
    所述应用数据存储模块用于存储移动应用的灰度应用数据和所述灰度发布配置信息;
    所述应用更新展现模块用于生成应用更新请求,所述应用更新请求包括所述客户端的用户属性信息;
    所述灰度发布策略模块用于基于所述应用数据存储模块中的灰度发布配置信息和所述应用更新展现模块提供的用户属性信息确定是否进行灰度发布,以及响应于确定进行灰度发布,向所述应用更新展现模块发送所述移动应用的灰度应用数据;并且
    所述应用更新展现模块用于展现所述灰度应用数据。
  18. 根据权利要求17所述的系统,其特征在于,所述灰度发布配置信息包括以下至少一项:
    灰度发布的时间、灰度发布的数量以及投放对象的用户属性信息。
  19. 根据权利要求18所述的系统,其特征在于,所述用户属性信息包括以下至少一项:
    用户所在地区、用户设备的硬件配置、用户设备的软件配置、用户设备的网络环境、用户的个性化信息,其中,用户设备的软件配置包括以下至少一项:已安装应用名称、版本号、是否安装竞争产品的应用。
  20. 根据权利要求17-19任一所述的系统,其特征在于,所述移 动应用是在应用商店上发布的应用,并且所述客户端是应用商店客户端。
  21. 一种设备,其特征在于,包括:
    处理器;和
    存储器;
    所述存储器中存储有能够被所述处理器执行的计算机可读指令,在所述计算机可读指令被执行时,所述处理器:
    获取移动应用的灰度发布配置信息和所述移动应用的灰度应用数据;
    接收客户端发送的应用更新请求,所述应用更新请求包括所述客户端的用户属性信息;
    基于所述灰度发布配置信息与所述用户属性信息确定是否进行灰度发布;以及
    响应于确定进行灰度发布,向所述客户端发送所述移动应用的灰度应用数据以在所述客户端上呈现。
  22. 一种非易失性计算机存储介质,所述计算机存储介质存储有能够被处理器执行的计算机可读指令,当所述计算机可读指令被处理器执行时,所述处理器:
    获取移动应用的灰度发布配置信息和所述移动应用的灰度应用数据;
    接收客户端发送的应用更新请求,所述应用更新请求包括所述客户端的用户属性信息;
    基于所述灰度发布配置信息与所述用户属性信息确定是否进行灰度发布;以及
    响应于确定进行灰度发布,向所述客户端发送所述移动应用的灰度应用数据以在所述客户端上呈现。
PCT/CN2015/092083 2015-05-12 2015-10-16 对移动应用进行灰度发布的方法、装置和系统 WO2016179958A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510238002.9 2015-05-12
CN201510238002.9A CN104966206A (zh) 2015-05-12 2015-05-12 对移动应用进行灰度发布的方法、装置和系统

Publications (1)

Publication Number Publication Date
WO2016179958A1 true WO2016179958A1 (zh) 2016-11-17

Family

ID=54220238

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/092083 WO2016179958A1 (zh) 2015-05-12 2015-10-16 对移动应用进行灰度发布的方法、装置和系统

Country Status (2)

Country Link
CN (1) CN104966206A (zh)
WO (1) WO2016179958A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018103320A1 (zh) * 2016-12-08 2018-06-14 上海壹账通金融科技有限公司 灰度发布方法、系统、服务器及存储介质
CN109992273A (zh) * 2019-01-03 2019-07-09 蔚来汽车有限公司 一种灰度发布方法以及灰度发布系统
CN110457223A (zh) * 2019-08-13 2019-11-15 中国联合网络通信集团有限公司 灰度测试引流方法、装置、代理服务器及可读存储介质
CN110673893A (zh) * 2019-09-24 2020-01-10 携程计算机技术(上海)有限公司 应用程序的配置方法、系统、电子设备和存储介质
CN110955449A (zh) * 2019-11-18 2020-04-03 北京奇艺世纪科技有限公司 客户端的灰度发布方法及装置
CN111586095A (zh) * 2020-03-26 2020-08-25 中国平安财产保险股份有限公司 基于微服务灰度发布方法、装置、计算机设备及存储介质
CN112256307A (zh) * 2020-11-09 2021-01-22 北京沃东天骏信息技术有限公司 灰度发布方法、装置、电子设备和计算机可读介质
CN113495747A (zh) * 2020-04-07 2021-10-12 北京京东振世信息技术有限公司 一种灰度发布方法和装置
CN113542387A (zh) * 2021-07-09 2021-10-22 平安银行股份有限公司 系统发布方法、装置、电子设备及存储介质
CN114039866A (zh) * 2021-10-08 2022-02-11 中移(杭州)信息技术有限公司 灰度发布方法、设备、存储介质及装置

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104966206A (zh) * 2015-05-12 2015-10-07 百度在线网络技术(北京)有限公司 对移动应用进行灰度发布的方法、装置和系统
CN105404582A (zh) * 2015-10-26 2016-03-16 努比亚技术有限公司 一种应用改善验证方法及系统
CN105373402A (zh) * 2015-10-29 2016-03-02 努比亚技术有限公司 一种软件升级灰度发布的装置和方法
CN106648562B (zh) * 2015-10-29 2020-04-21 腾讯科技(深圳)有限公司 版本更新方法及装置
CN105630539A (zh) * 2015-12-18 2016-06-01 北京奇虎科技有限公司 灰度升级的方法和装置
CN107360010B (zh) * 2016-05-09 2021-04-16 阿里巴巴集团控股有限公司 一种网站灰度发布方法及装置
CN107770212A (zh) * 2016-08-17 2018-03-06 中兴通讯股份有限公司 富通信套件发布平台、版本更新方法及系统、移动终端
CN106354841B (zh) * 2016-08-31 2020-03-13 北京城市网邻信息技术有限公司 推荐算法的测试方法及装置
CN106685687B (zh) * 2016-09-23 2019-11-19 北京五八信息技术有限公司 灰度发布方法及装置
CN107341008A (zh) * 2017-06-22 2017-11-10 上海艾融软件股份有限公司 微服务灰度发布方法
CN108021500A (zh) * 2017-10-31 2018-05-11 阿里巴巴集团控股有限公司 一种应用的测试方法、装置及设备
CN107861871B (zh) * 2017-11-02 2021-03-02 百度在线网络技术(北京)有限公司 一种灰度发布方法、装置、服务器及存储介质
CN107992318A (zh) * 2017-12-07 2018-05-04 北京趣拿软件科技有限公司 应用程序升级方法、装置、存储介质和处理器
CN108280237B (zh) * 2018-03-01 2021-12-17 深圳兴路通科技有限公司 一种灰度发布方法及装置、系统、计算机存储介质
CN108446222B (zh) * 2018-03-05 2021-11-02 百度在线网络技术(北京)有限公司 应用测试方法、装置及设备
CN108762804B (zh) * 2018-04-24 2021-11-19 创新先进技术有限公司 灰度发布新产品的方法和装置
CN108763065A (zh) * 2018-05-11 2018-11-06 国网电子商务有限公司 一种移动应用灰度发布系统及方法
CN110489131B (zh) * 2018-05-15 2023-04-07 中国移动通信集团浙江有限公司 一种灰度用户选取方法及装置
CN108965290A (zh) * 2018-07-10 2018-12-07 江苏满运软件科技有限公司 一种待普及功能的显示方法及系统
CN109241704B (zh) * 2018-07-12 2021-08-24 创新先进技术有限公司 新脚本的灰度发布方法和装置
CN109189494B (zh) * 2018-07-27 2022-01-21 创新先进技术有限公司 配置灰度发布方法、装置、设备及计算机可读存储介质
CN111090440B (zh) * 2018-10-23 2023-06-20 阿里巴巴集团控股有限公司 信息处理方法、系统、设备及存储介质
CN111381845B (zh) * 2018-12-28 2023-09-01 广州市百果园信息技术有限公司 软件灰度升级方法、装置、存储介质、终端和服务器
CN110120971B (zh) * 2019-04-17 2022-12-06 北京奇艺世纪科技有限公司 一种灰度发布方法、装置及电子设备
CN110362974A (zh) * 2019-05-31 2019-10-22 杭州恩牛网络技术有限公司 服务灰度发布方法、装置、介质及电子设备
CN110442361B (zh) * 2019-06-27 2024-02-09 五八有限公司 一种灰度发布方法、装置及电子设备
CN112241357A (zh) * 2019-07-17 2021-01-19 北京京东尚科信息技术有限公司 灰度测试的方法、装置、设备和计算机可读介质
CN110784409B (zh) * 2019-10-31 2022-08-09 长沙水羊网络科技有限公司 一种基于Spring Cloud的微服务灰度发布方法
CN111679986B (zh) * 2020-06-11 2023-09-22 湖南快乐阳光互动娱乐传媒有限公司 一种软件测试方法、装置及电子设备
CN114070936A (zh) * 2020-07-31 2022-02-18 北京中关村科金技术有限公司 一种互动式语音应答方法、装置及系统
CN113242281A (zh) * 2021-04-26 2021-08-10 微梦创科网络科技(中国)有限公司 一种灰度发布方法、装置、设备及存储介质
CN113382051A (zh) * 2021-06-01 2021-09-10 中国民航信息网络股份有限公司 一种全链路的灰度发布方法及灰度发布系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102497454A (zh) * 2011-12-31 2012-06-13 北京新媒传信科技有限公司 一种在应用服务平台系统中对应用进行灰度发布的方法
CN103095743A (zh) * 2011-10-28 2013-05-08 阿里巴巴集团控股有限公司 一种灰度发布的处理方法及系统
CN103176790A (zh) * 2011-12-26 2013-06-26 阿里巴巴集团控股有限公司 应用发布方法和系统
CN104378304A (zh) * 2013-08-14 2015-02-25 腾讯科技(深圳)有限公司 灰度发布的控制方法、装置及系统
CN104966206A (zh) * 2015-05-12 2015-10-07 百度在线网络技术(北京)有限公司 对移动应用进行灰度发布的方法、装置和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103095743A (zh) * 2011-10-28 2013-05-08 阿里巴巴集团控股有限公司 一种灰度发布的处理方法及系统
CN103176790A (zh) * 2011-12-26 2013-06-26 阿里巴巴集团控股有限公司 应用发布方法和系统
CN102497454A (zh) * 2011-12-31 2012-06-13 北京新媒传信科技有限公司 一种在应用服务平台系统中对应用进行灰度发布的方法
CN104378304A (zh) * 2013-08-14 2015-02-25 腾讯科技(深圳)有限公司 灰度发布的控制方法、装置及系统
CN104966206A (zh) * 2015-05-12 2015-10-07 百度在线网络技术(北京)有限公司 对移动应用进行灰度发布的方法、装置和系统

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018103320A1 (zh) * 2016-12-08 2018-06-14 上海壹账通金融科技有限公司 灰度发布方法、系统、服务器及存储介质
CN109992273A (zh) * 2019-01-03 2019-07-09 蔚来汽车有限公司 一种灰度发布方法以及灰度发布系统
CN109992273B (zh) * 2019-01-03 2022-12-20 蔚来(安徽)控股有限公司 一种灰度发布方法以及灰度发布系统
CN110457223A (zh) * 2019-08-13 2019-11-15 中国联合网络通信集团有限公司 灰度测试引流方法、装置、代理服务器及可读存储介质
CN110457223B (zh) * 2019-08-13 2023-08-22 中国联合网络通信集团有限公司 灰度测试引流方法、装置、代理服务器及可读存储介质
CN110673893A (zh) * 2019-09-24 2020-01-10 携程计算机技术(上海)有限公司 应用程序的配置方法、系统、电子设备和存储介质
CN110673893B (zh) * 2019-09-24 2023-06-09 携程计算机技术(上海)有限公司 应用程序的配置方法、系统、电子设备和存储介质
CN110955449B (zh) * 2019-11-18 2024-04-12 北京奇艺世纪科技有限公司 客户端的灰度发布方法及装置
CN110955449A (zh) * 2019-11-18 2020-04-03 北京奇艺世纪科技有限公司 客户端的灰度发布方法及装置
CN111586095B (zh) * 2020-03-26 2023-09-19 中国平安财产保险股份有限公司 基于微服务灰度发布方法、装置、计算机设备及存储介质
CN111586095A (zh) * 2020-03-26 2020-08-25 中国平安财产保险股份有限公司 基于微服务灰度发布方法、装置、计算机设备及存储介质
CN113495747A (zh) * 2020-04-07 2021-10-12 北京京东振世信息技术有限公司 一种灰度发布方法和装置
CN113495747B (zh) * 2020-04-07 2023-09-26 北京京东振世信息技术有限公司 一种灰度发布方法和装置
CN112256307A (zh) * 2020-11-09 2021-01-22 北京沃东天骏信息技术有限公司 灰度发布方法、装置、电子设备和计算机可读介质
CN113542387A (zh) * 2021-07-09 2021-10-22 平安银行股份有限公司 系统发布方法、装置、电子设备及存储介质
CN113542387B (zh) * 2021-07-09 2023-07-04 平安银行股份有限公司 系统发布方法、装置、电子设备及存储介质
CN114039866A (zh) * 2021-10-08 2022-02-11 中移(杭州)信息技术有限公司 灰度发布方法、设备、存储介质及装置

Also Published As

Publication number Publication date
CN104966206A (zh) 2015-10-07

Similar Documents

Publication Publication Date Title
WO2016179958A1 (zh) 对移动应用进行灰度发布的方法、装置和系统
US20200169620A1 (en) Remotely managing application settings using hash value comparison
US11119794B2 (en) Mobile application activity detector
US8978027B2 (en) Method of disseminating updated drivers to mobile computing devices and a dissemination system therefor
CN106170814B (zh) 用于将用户与社交数据匹配的系统和方法
EP2860684A1 (en) Server device, server program, and game program
US20120022928A1 (en) System and method for virtual resource and location-based advertisement
KR102087330B1 (ko) 콘텐트 획득시 사용자의 관심 레벨에 기초하는 콘텐트 아이템 디스플레이
KR20150093887A (ko) 모바일 게임 프로모션을 위한 푸쉬 시스템 및 푸쉬 서비스 방법
US20220053061A1 (en) Managing data transmissions based on a user's digital footprint
CN112351350B (zh) 一种内容显示方法、装置、系统、设备及存储介质
CN107147806A (zh) 应用资源提供方法、设备及系统
US20100185930A1 (en) Method and apparatus for incorporating application functionality into a web page
CN104765609A (zh) 软件关联资源推荐方法、获取方法及相应的装置
US9338313B2 (en) Document management apparatus and document management system
CN107918617B (zh) 数据查询方法和装置
US20190205108A1 (en) System and method for providing software applications
KR20220145720A (ko) 크라우드 펀딩에 기반한 디지털 콘텐츠 프로모션 장치 및 방법
CN112041818A (zh) 基于平台水平基准化来调整应用性能的系统
US9763024B2 (en) Mobile ghosting
CN110704777A (zh) 用于实现灰度发布的方法和系统
US20220382599A1 (en) Method and apparatus for processing resource, electronic device and storage medium
KR100743606B1 (ko) 피투피를 이용한 개인홈페이지 광고방법 및 시스템
US20150067155A1 (en) Systems and methods for measuring approximate engagement of users in a software application
CN112637254B (zh) 数据处理方法、装置、电子设备及计算机可读存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15891658

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15891658

Country of ref document: EP

Kind code of ref document: A1