WO2016150153A1 - 一种用于软件发布的方法和装置 - Google Patents
一种用于软件发布的方法和装置 Download PDFInfo
- Publication number
- WO2016150153A1 WO2016150153A1 PCT/CN2015/092885 CN2015092885W WO2016150153A1 WO 2016150153 A1 WO2016150153 A1 WO 2016150153A1 CN 2015092885 W CN2015092885 W CN 2015092885W WO 2016150153 A1 WO2016150153 A1 WO 2016150153A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- software
- user
- request
- network device
- version
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
Definitions
- the present invention relates to the field of computers, and in particular, to a method and apparatus for software distribution.
- a method for software distribution in a network device wherein the software comprises one or more modules, one or more modules of the software running on one or more network devices
- the method comprises:
- an apparatus for software distribution in a network device wherein the software includes one or more modules, one or more modules of the software running on one or more networks
- the device comprises:
- the present invention determines a software version to be released to the user based on the user characteristics, and sends a request to the network device running the corresponding version software to invoke the related function of the software, so that for different users, Controls the functions associated with calling different versions of the software.
- the present invention enhances the control of software distribution and improves the user experience.
- FIG. 1 shows a flow chart of a method for software distribution in a network device, in accordance with an embodiment of the present invention
- FIG. 2 shows an example of a system including a user equipment and a network device
- Figure 3 illustrates another example of a system including user equipment and network equipment
- FIG. 4 shows a schematic diagram of an apparatus for software distribution in a network device, in accordance with an embodiment of another aspect of the present invention.
- Computer device also referred to as “computer” in the context, is meant an intelligent electronic device that can perform predetermined processing, such as numerical calculations and/or logical calculations, by running a predetermined program or instruction, which can include a processor and The memory is executed by the processor to execute a predetermined process pre-stored in the memory to execute a predetermined process, or is executed by hardware such as an ASIC, an FPGA, a DSP, or the like, or a combination of the two.
- Computer devices include, but are not limited to, servers, personal computers, notebook computers, tablets, smart phones, and the like.
- the computer device includes a user device and a network device.
- the user equipment includes, but is not limited to, a computer, a smart phone, a PDA, etc.
- the network device includes but is not limited to a single network server, a server group composed of multiple network servers, or a cloud computing based computer Or a cloud composed of a network server, wherein cloud computing is a type of distributed computing, a super virtual computer composed of a group of loosely coupled computers.
- the computer device can be operated separately to implement the present invention, and can also access the network and implement the present invention by interacting with other computer devices in the network.
- the network in which the computer device is located includes, but is not limited to, the Internet, a wide area network, a metropolitan area network, a local area network, a VPN network, and the like.
- the user equipment, the network equipment, the network, and the like are only examples, and Computer devices or networks that may be present or in the future may be adapted to the present invention and are intended to be included within the scope of the present invention.
- a common software system architecture is to deploy a client of a software system on a user device, and server-side software that performs the main functions of the software system runs on the network device.
- the user uses the client on the user device to send a request over the network to the network device to invoke the server-side software running on the network device.
- the client of the software system may be, for example, a mobile application running on a mobile terminal, or a browser running on a computer or the like.
- the client and the server of the software system can communicate through a specific protocol, such as the http protocol.
- the user sends an http request to the network device through the client running on the user device.
- the server software running on the network device can receive the http request, and invoke the corresponding function of the server software according to the http request. Provide the services users need.
- the server software can be deployed on multiple network devices.
- different modules of the server software can be deployed on different network devices.
- a web server, a database, and other server-side software modules can be deployed on three different network devices.
- the software includes one or more modules. It should be noted that the software as a whole can also be considered as a module, where the module contains all the functions of the software.
- the method for software distribution according to the present invention is mainly applied to the distribution of server-side software running on a network device.
- FIG. 1 shows a flow diagram of a method for software distribution in a network device, in accordance with an embodiment of an aspect of the present invention.
- the software here refers to server-side software running on a network device.
- the method in this embodiment is mainly implemented by a network device, including but not limited to a single network server, a server group composed of multiple network servers, or a cloud computing-based network composed of a large number of computers or network servers.
- Cloud in which cloud computing is a type of distributed computing, a super virtual computer consisting of a group of loosely coupled computers.
- the network device is only an example, and other existing or future network devices may be applicable to the present invention, and are also included in the scope of the present invention and are incorporated herein by reference.
- step S11 the network device acquires a first request associated with invoking the software.
- the network device obtains a first request sent by the user via the user device in association with invoking the software.
- the client device runs on the user device x/y
- the network device a-d runs one or more modules of the server software or the server software, respectively.
- a web server module running software on network device a handles http requests from the client, and all other modules of the software running on the network device b-d except the web server module. It should be noted that different versions of all other modules of the software may be run on network devices b, c, d, respectively.
- the user can use the client running on user device x or y to send an http request to network device a to invoke the software.
- the network device a invokes the running web server module to obtain the http request associated with invoking the software as the first request.
- the first module of the network device acquiring the software is based on a first request sent by the user via the user device to send a request associated with invoking the software.
- the first module of software means a module capable of sending a request to the network device to invoke software running on the network device or one or more modules of the software.
- the software consists of modules A, B, and C, where module A can be used to call modules B and C
- module A A first request can be sent as a first module to a network device running module B and/or C to invoke module B and/or C.
- the network device running the first module and the network device to which the first module sends the first request may be different network devices or the same network device.
- the client device runs on the user device x/y
- the network device a-h runs one or more modules of the server software or the server software.
- the web server module running the software on the network device a, and the B function entry module and the C function entry module of the software are respectively run on the network devices b and c.
- the user uses the client running on the user device x or y to send an http request to the network device a over the network to invoke the relevant functions of the software.
- the network device a invokes the running web server module to obtain the http request, and sends a first request to the network device b or the network device c to invoke the related function of the software according to the B function or the C function involved in the request.
- the network device b or the network device c acquires the first request sent by the web server module on the network device a, that is, the first module.
- the first module should determine the first request in accordance with a predetermined protocol or interface.
- the first request may be the same or similar to a request sent by the original user through the user device, such as an http request.
- the first request may be different from the request sent by the original user through the user equipment, which may also be based on a different protocol.
- the network device determines a user feature of the user associated with the request based on the first request.
- the user associated with the request means a user who sends the first request through the user equipment, or is associated with calling the software when the first request is sent by the user device based on the first module of the software.
- a request means a user who sends a request associated with the calling of the software through the user device.
- the user characteristics of the user include at least one of the following:
- the client used by the user means a client of the software that is used by the user on the user device.
- the geographic location of the user may be the current geographic location of the user, or may be the registered geographic location or the home geographic location of the user.
- the type of the user may be classified in different ways, for example, according to the user level, according to the time when the user uses the software, and the like.
- the historical usage habits of the user may be derived from historical data of the user using the software, such as whether the user likes to use the latest version of the software, or whether the user prefers a certain software interface form, and the like.
- the network device may analyze the first request to obtain a user associated with the first request, such as a username, and may analyze the The first request is associated with a cookie, or by, for example, querying a database or interacting with other network devices to determine a user characteristic of the user, such as a username, a user's geographic location, a user type, a user's historical usage habits, and a user device's IP address, the operating system of the user device used, the name of the application used, the version number of the application used, and so on.
- a user characteristic of the user such as a username, a user's geographic location, a user type, a user's historical usage habits, and a user device's IP address
- step S13 the network device determines to the A related version of the software published by the user.
- distributing software to a user means that when a user makes a request to a server-side software on a network device through a client of the software running on the user device, the related function of the server-side software is invoked for the user.
- the relevant version of the software means the version of the software, or the module version of one or more modules of the software, and the like.
- the module version may also refer to the subsystem version of the subsystem.
- the network device may determine a related version of the software distributed to the user based on a user feature or a combination of multiple user features included in the user feature. For example, the network device is based on the IP address of the user equipment used by the user, or the operating system of the user equipment used by the user, or the name of the client used by the user, or the version of the client used by the user. A number, or a geographic location of the user, or a type of the user, or a historical usage habit of the user to determine a relevant version of the software posted to the user.
- the network device determines that the user is a new user of the software based on the type of the user, it may determine that the latest test version of the software is released to the user; and when it is determined that the user is a long-term user of the software, then A stable version of the tested version of the software can be determined to be released to the user. For another example, when the network device determines that the user tends to use the latest version of software based on the user's historical usage habits, it may be determined that the relevant version of the software posted to the user is the latest version of the software.
- the network device determines a relevant version of the software posted to the user based on user characteristics and software publishing rules.
- the network device may predetermine a software publishing rule, for example, the software publishing rule may be determined to be released to the user when the version number of the client used by the user is the latest version and the type of the user is a new user.
- the relevant version of the software is the latest test version; or for example, the software publishing rule may be determined when the operating system of the user equipment used by the user is an Android system.
- the related version of the software published by the user is version 3.0, and when the operating system is an iOS system, the related version is determined to be version 2.0.
- the network device can match the user characteristics to the software publishing rules and determine the relevant version of the software posted to the user based on the matched software publishing rules.
- the network device may predetermine the priority of the software publishing rule, so that when the user feature matches the multiple software publishing rules, the software related to the user may be determined according to the priority level. version.
- software publishing rules can also be dynamically adjusted based on actual needs.
- the network device determines a module version of one or more second modules of the software distributed to the user based on the user characteristics in step S13.
- the second module of the software means the software running on the network device or a module to be called by one or more modules of the software, which may also be referred to as a downstream module of the network device.
- the http request sent by user B through user device y associated with invoking the software involves a B function.
- the network device b running the "B Function Entry Module” acquires a first module from the software running on the network device a, such as a web server module, based on the http request sent by the user B to send the first request. Therefore, after performing steps S11 and S12, the network device b determines that the user associated with the first request is the user B, and the user type in the user feature is the core user type. Since the request involves a B function, the network device b determines that the second module it needs to call is a B module. The network device b determines the module version of the B module of the software distributed to the user B to be 2.0 based on the user characteristics described above and according to the method described above.
- the network device b determines that the second module that it needs to invoke is a B1 module and a B2 module.
- the network device b determines the unified module version of the B1 module and the B2 module of the software distributed to the user B based on the user characteristics described above and according to the method described above.
- the network device b may determine that the module version of the B1 module of the software distributed to the user B is 2.0, and the software is released to the user B.
- the module version of the B2 module is 1.0.
- the network device b when the network device b determines that the second module to be called is all the modules B1, B2, and B3 involved in the subsystem B, the network device b can determine the subsystem version 3.0 of the subsystem B as being released to the user B.
- the module version of the B1, B2, and B3 modules of the software when the network device b determines that the second module to be called is all the modules B1, B2, and B3 involved in the subsystem B, the network device b can determine the subsystem version 3.0 of the subsystem B as being released to the user B.
- the module version of the B1, B2, and B3 modules of the software when the network device b determines that the second module to be called is all the modules B1, B2, and B3 involved in the subsystem B.
- step S14 the network device sends a second request to the first network device corresponding to the relevant version of the software to invoke a related function of the software, where the first network is based on the first request.
- One or more modules of the software corresponding to the associated version are run in the device.
- the network device determines a related version of the software that is released to the user after performing step S13, and then the network device can determine to run the related version by, for example, querying a configuration file or communicating with other network devices.
- Corresponding network device of one or more modules of the software that is, the first network device. Take the system shown in Figure 2 as an example. In the example above, it is assumed that the network device a determines that the relevant version of the software distributed to the user is the latest test version. Then, the network device a determines the software running on the network device c as the latest test version by querying the configuration file, and the software running on the network devices b, d is the earlier version.
- the network device a determines that the network device c is the first network device. For example, the network device a determines that the network device b and the network device c are running the latest test version of the software by querying the configuration file, and the network device a can determine that the network device b is the first network device based on a method such as traffic balancing. . For another example, the network device a determines, according to the first request, that the related function to be called involves both the module A and the module B. When the network device a interacts with other network devices, it is determined that the network device a and the network device b respectively run the latest test version. When the module A and the module B of the software are used, the network device a can determine a plurality of first network devices, that is, the network device a and the network device b.
- the network device sends a second request to the first network device to invoke a related function of the software based on the first request. For example, the network device determines, according to the first request, a related function that needs to be invoked, and is based on the first protocol according to a previously agreed protocol or interface. A second request to determine a related function that invokes the software is requested, and a second request is sent to the first network device.
- the second request may be the same as or similar to the first request, for example, it is the same or similar http request, or the second request may be different from the first request or use a different protocol, etc. .
- the network device can determine a plurality of first network devices.
- the network device can determine one or more second requests according to requirements and send them to each of the first network devices.
- the network device determines the module version of one or more second modules of the software distributed to the user in step S13 in accordance with the method described above.
- the network device sends a second request to the first network device corresponding to the module version of the one or more second modules of the software based on the first request to invoke the A related function of the software, wherein the first network device runs the one or more second modules of the software corresponding to the module version.
- the http request sent by user B through user device y associated with invoking the software involves a B function.
- the network device b After the network device b running the "B function entry module" acquires the first request sent by the first module of the software running on the network device a, the network device b performs steps S12 and S13 to determine that it needs to be called.
- the module ie one or more second modules, is all modules B1, B2 and B3 involved in subsystem B, the module version, ie the subsystem version is 2.0. Therefore, in step S14, the network device b determines, by, for example, querying a configuration file or interacting with other network devices, that all the modules of the network device d and the network device e are running subsystem B, wherein the subsystem version of the network device d is running. It is 1.0, and the version of the subsystem running in network device e is 2.0.
- the network device b determines that the network device e is the first network device corresponding to the module version of the one or more second modules. And, the network device b determines the second request according to the method described above and sends it to the network device e to invoke the related function B of the subsystem B.
- the first network device is based on the first request, the user feature, and a related version of the software, and based on the second request Transmitting, to a first network device corresponding to a related version of the software, a third request to invoke a related function of the software, wherein the another first network device runs a location corresponding to the related version One or more modules of the software.
- the first network device obtains the second request
- the first request, the user feature, and the user may be acquired, for example, by analyzing the second request, or interacting with a network device that sends the second request. The relevant version of the software.
- the first network device may also perform the steps S12 and S13 to determine the user characteristics of the user and the software related to the user, according to the method described above, using the second request as the first request. version. Then, the first network device sends a third request to call another related function of the software to another first network device corresponding to the relevant version of the software according to the method described above, wherein the other network A first network device runs one or more modules of the software corresponding to the associated version.
- one or more network devices may perform the method in accordance with an aspect of the present invention multiple times until the relevant functions for invoking the software are completed.
- the method for software publishing further comprises the step of acquiring the second request at a first network device, and performing the performing at the first network device according to the second request The steps of the software's related functions. Specifically, the first network device receives the second request from the network device according to a pre-agreed protocol or interface. Then, the first network device performs related functions of the software running on the first network device according to the second request.
- the method for software publishing further comprises transmitting a response from the first network device to the user based on an execution result of performing a related function of the software.
- the first network device may be configured according to a predetermined protocol or interface through a network.
- the execution result is sent to the user in response, such as an http response.
- the method for software publishing further includes the steps of determining a software publishing rule based on a user characteristic; and transmitting the software publishing rule to one or more of one or more modules running the software The steps of a network device.
- the software publishing rule may be determined according to user characteristics according to actual needs.
- the software publishing rule may be that when the version number of the client used by the user is the latest version and the type of the user is a new user, it is determined that the relevant version of the software released to the user is the latest test version; or
- the operating system of the user equipment used by the user is an Android system, it is determined that the relevant version of the software released to the user is version 3.0, and when the operating system is an iOS system, Make sure the relevant version is version 2.0.
- the software publishing rules can then be sent over the network to one or more network devices running one or more modules of the software.
- the software publishing rules can be synchronized to various network devices periodically or in real time.
- the method for software publishing further includes monitoring a process by which the first network device performs related functions of the software. For example, one or more processes of the software or one or more modules of the software can be monitored and monitoring information can be recorded or reported. In addition, monitoring information of different versions of the software or one or more modules of the software may be further analyzed, for example, for comparison, for evaluation of different versions of the software or one or more modules of the software. .
- FIG. 4 shows a schematic diagram of an apparatus for software distribution in a network device, in accordance with an embodiment of another aspect of the present invention.
- the software here refers to server-side software running on a network device.
- the method in this embodiment is mainly implemented by a network device, including but not limited to a single network server, a server group composed of multiple network servers, or a cloud computing-based network composed of a large number of computers or network servers.
- Cloud in which cloud computing is a type of distributed computing, a super virtual computer consisting of a group of loosely coupled computers.
- the network device is only an example, and Any existing or future network devices that may be present, as applicable to the present invention, are also intended to be included within the scope of the present invention and are incorporated herein by reference.
- an apparatus for software distribution includes means 41 for acquiring a first request associated with invoking the software, hereinafter referred to as a first obtaining means 41; for Means for determining a user feature of a user associated with the first request, hereinafter referred to as user feature determining means 42; means for determining a relevant version of the software distributed to the user based on the user feature 43.
- the first determining means 43 and means 44 for transmitting a second request to the first network device corresponding to the relevant version of the software to invoke the related function of the software based on the first request,
- the first transmitting device 44 is referred to as the first transmitting device 44.
- the first obtaining means 41 acquires a first request associated with invoking the software.
- the first obtaining means 41 obtains a first request sent by the user via the user device in association with invoking the software.
- the client device runs on the user device x/y
- the network device a-d runs one or more modules of the server software or the server software, respectively.
- a web server module running software on network device a handles http requests from the client, and all other modules of the software running on the network device b-d except the web server module. It should be noted that different versions of all other modules of the software may be run on network devices b, c, d, respectively.
- the user can use the client running on user device x or y to send an http request to network device a to invoke the software.
- the first obtaining means 41 on the network device a calls the web server module to obtain the http request associated with the calling of the software as the first request.
- the first obtaining means 41 acquires the first module of the software based on a first request sent by the user via the user device to send a request associated with invoking the software.
- the first module of software means a module capable of sending a request to the network device to invoke software running on the network device or one or more modules of the software.
- the software consists of modules A, B, and C, where module A can be used to call modules B and C
- module A can send the first request to the network device running module B and/or C as the first module to invoke.
- Module B and / or C the network device running the first module and the The network device to which the first module sends the first request may be a different network device or may be the same network device.
- the client device runs on the user device x/y
- the network device a-h runs one or more modules of the server software or the server software.
- the web server module running the software on the network device a, and the B function entry module and the C function entry module of the software are respectively run on the network devices b and c.
- the user uses the client running on the user device x or y to send an http request to the network device a over the network to invoke the relevant functions of the software.
- the web server module on the network device a acquires the http request and sends a first request to the network device b or the network device c to invoke the related function of the software according to the B function or the C function involved in the request.
- the first obtaining means 41 of the network device b or the network device c acquires the first request sent by the web server module on the network device a, that is, the first module.
- the first module should determine the first request in accordance with a predetermined protocol or interface.
- the first request may be the same or similar to a request sent by the original user through the user device, such as an http request.
- the first request may be different from the request sent by the original user through the user equipment, which may also be based on a different protocol.
- the related description that the first obtaining device 41 acquires the first request associated with calling the software is merely an exemplary rather than a descriptive description, and there are other various implementations without departing from each other.
- the spirit or scope of the present invention is incorporated herein by reference. It should also be understood by those skilled in the art that although the above description is based on the systems shown in Figures 2 and 3, it is merely for the convenience of those skilled in the art to understand the principles of the present invention and is not intended to limit the scope of the invention.
- the user feature determining means 42 determines the user characteristics of the user associated with the request based on the first request.
- the user associated with the request means a user who sends the first request through the user equipment, or is associated with calling the software when the first request is sent by the user device based on the first module of the software.
- a request means a user who sends a request associated with the calling of the software through the user device.
- the user characteristics of the user include at least one of the following:
- the client used by the user means a client of the software that is used by the user on the user device.
- the geographic location of the user may be the current geographic location of the user, or may be the registered geographic location or the home geographic location of the user.
- the type of the user may be classified in different ways, for example, according to the user level, according to the time when the user uses the software, and the like.
- the historical usage habits of the user may be derived from historical data of the user using the software, such as whether the user likes to use the latest version of the software, or whether the user prefers a certain software interface form, and the like.
- the user feature determining means 42 may analyze the first request to obtain a user associated with the first request, such as a username, and may, for example, analyze a cookie associated with the first request, or determining, by, for example, querying a database or interacting with other network devices, user characteristics of the user, such as a username, a user's geographic location, a user type, a user's historical usage habits, and a user The IP address of the device, the operating system of the user device used, the name of the application used, the version number of the application used, and so on.
- the first determining means 43 determines a relevant version of the software distributed to the user based on the user characteristics.
- distributing software to a user means that when a user makes a request to a server-side software on a network device through a client of the software running on the user device, the related function of the server-side software is invoked for the user.
- the relevant version of the software means the version of the software, or the module version of one or more modules of the software, and the like.
- the module version may also refer to the subsystem version of the subsystem.
- the first determining means 43 may determine a relevant version of the software distributed to the user based on a user feature or a combination of a plurality of user features included in the user feature. For example, the first determining means 43 is based on the IP address of the user equipment used by the user, or the operating system of the user equipment used by the user, or the name of the client used by the user, or the user's use. The version number of the client, or the geographic location of the user, or the type of the user, or the historical usage habits of the user to determine a relevant version of the software posted to the user.
- the first determining means 43 may determine to issue the latest test version of the software to the user; and when the user feature determining means 42.
- the first determining means 43 may determine to issue to the user a verified version of the software that has passed the test.
- the user feature determining means 42 determines that the user tends to use the latest version of the software based on the historical usage habit of the user
- the first determining means 43 may determine that the relevant version of the software posted to the user is The latest version of the software.
- the first determining means 43 determines a relevant version of the software distributed to the user based on user characteristics and software publishing rules.
- the first determining device 43 may predetermine a software publishing rule, for example, the software publishing rule may determine that when the version number of the client used by the user is the latest version and the type of the user is a new user, The relevant version of the software published by the user is the latest test version; or for example, the software publishing rule may be that the operating system of the user device used by the user is In the Android system, it is determined that the relevant version of the software distributed to the user is version 3.0, and when the operating system is an iOS system, the related version is determined to be version 2.0.
- the first determining means 43 may match the user characteristics with the software publishing rules and determine the relevant version of the software distributed to the user based on the matched software publishing rules. In addition, in an example, the first determining means 43 may predetermine the priority of the software publishing rule, so that when the user feature matches the plurality of software publishing rules, the location issued to the user may be determined according to the priority level. The relevant version of the software. In another example, the first determining means 43 can also dynamically adjust the software publishing rules according to actual needs.
- the first determining means 43 is operative to determine a module version of the one or more second modules of the software distributed to the user based on the user characteristics.
- the first determining means 43 determines a module version of the one or more second modules of the software distributed to the user based on the user characteristics.
- the second module of the software means the software running on the network device or a module to be called by one or more modules of the software, which may also be referred to as a downstream module of the network device.
- the first obtaining means 41 of the network device b running the "B function entry module” acquires a first module from the software running on the network device a, such as a web server module, based on the http request sent by the user B. request.
- the user feature determining means 42 of the network device b can then determine that the user associated with the first request is User B, the user type of which is a core user type. Since the request relates to the B function, the first determining means 43 of the network device b determines that the second module it needs to call is the B module.
- the first determining means 43 of the network device b determines based on the above-mentioned user characteristics and according to the method described above, that the module version of the B module of the software distributed to the user B is 2.0.
- the first determining means 43 of the network device b determines based on the above-mentioned user characteristics and according to the method described above, that the unified module version of the B1 module and the B2 module of the software distributed to the user B is 2.0.
- the first determining means 43 of the network device b may determine that the module version of the B1 module of the software distributed to the user B is 2.0, and the module version of the B2 module of the software distributed to the user B is 1.0.
- the first determining means 43 of the network device b determines that the second module to be called is all the modules B1, B2 and B3 involved in the subsystem B
- the first determining means 43 of the network device b can determine the subsystem Subsystem version 3.0 of B acts as a module version of the B1, B2, and B3 modules of the software released to User B.
- the first sending device 44 sends a second request to the first network device corresponding to the relevant version of the software to invoke a related function of the software based on the first request, wherein the first network device Running one or more modules of the software corresponding to the relevant version.
- the first determining means 43 determines a relevant version of the software distributed to the user, and then the first transmitting means 44 can determine to run the correlation by, for example, querying a configuration file or communicating with other network devices.
- the network device of one or more modules of the software corresponding to the version that is, the first network device.
- the first determining means 43 of the network device a determines that the relevant version of the software distributed to the user is the latest test version.
- the first sending device 44 of the network device a determines the software running on the network device c as the latest test version by querying the configuration file, and the software running on the network device b, d is an earlier version. .
- the first transmitting device 44 of the network device a determines that the network device c is the first network device. For another example, the first sending device 44 of the network device a determines that the network device b and the network device c are running the latest test version of the software by querying the configuration file, and the first sending device 44 of the network device a can be based on traffic balancing. The method determines that the network device b is the first network device. Another example, the net The first sending device 44 of the network device a determines, according to the first request, that the related function to be called involves both the module A and the module B, and the first sending device 44 of the network device a determines the network device a by interacting with other network devices. When the network device b runs the module A and the module B of the latest test version of the software respectively, the first transmitting device 44 of the network device a can determine a plurality of first network devices, that is, the network device a and the network device b.
- the first transmitting device 44 sends a second request to the first network device to invoke a related function of the software based on the first request.
- the first sending device 44 determines the related function that needs to be called based on the first request, and determines a second request for calling the related function of the software based on the first request according to a previously agreed protocol or interface, and the like.
- a network device sends a second request.
- the second request may be the same as or similar to the first request, for example, it is the same or similar http request, or the second request may be different from the first request or use a different protocol, etc.
- the first transmitting device 44 can determine a plurality of first network devices.
- the first sending device 44 can determine one or more second requests as needed and send them to the respective first network devices.
- the first determining means 43 determines the module version of the one or more second modules of the software distributed to the user in accordance with the method described above. Then, the first sending device 44 sends a second request to the first network device corresponding to the module version of the one or more second modules of the software to invoke the software based on the first request. A related function, wherein the first network device runs the one or more second modules of the software corresponding to the module version. Take the system shown in Figure 3 as an example. In the example above, assume that the http request sent by user B through user device y associated with invoking the software involves a B function.
- the user feature determining means 42 determines the same Requesting user characteristics of the associated user
- the first determining means 43 determines the module it needs to call, that is, the one or more second modules are all modules B1, B2 and B3 involved in the subsystem B, the module version, ie the subsystem version is 2.0.
- the first sending device 44 of the network device b determines, by, for example, querying a configuration file or interacting with other network devices, that all the modules of the network device d and the network device e are running the subsystem B, wherein the subsystem running by the network device d The version is 1.0, and the version of the subsystem running in network device e is 2.0.
- the first transmitting device 44 of the network device b determines that the network device e is the first network device corresponding to the module version of the one or more second modules. And, the first transmitting device 44 of the network device b determines the second request according to the method described above and transmits it to the network device e to invoke the related function B of the subsystem B.
- the second request is sent based on the first request.
- the description is intended to be illustrative, and not restrictive.
- the means for software publishing further comprises, based on the first request, the user feature, and a related version of the software at the first network device, and based on the A second device, hereinafter referred to as a second transmitting device 45 (not shown), for transmitting a third request to another first network device corresponding to the relevant version of the software to invoke a related function of the software.
- the second sending device 45 of the first network device is based on the first request, the user feature, and a related version of the software, and based on the second request Transmitting, to a first network device corresponding to a related version of the software, a third request to invoke a related function of the software, wherein the another first network device runs a location corresponding to the related version One or more modules of the software.
- the second sending device 45 of the first network device may acquire the device by, for example, analyzing the second request or interacting with the network device that sends the second request. The first request, the user feature, and a related version of the software are described.
- the second sending device 45 of the first network device can also use the second request as the first request according to the method described above, and determine the user of the user by using the user feature determining device 42 and the first determining device 43. Characteristics and use The relevant version of the software released by the user. Then, the second sending device 45 of the first network device sends a third request to call another related function of the software to another first network device corresponding to the relevant version of the software according to the method described above. Wherein the another first network device runs one or more modules of the software corresponding to the associated version. In the manner described above, the means for software distribution of one or more network devices can perform related operations until the relevant functions for invoking the software are completed.
- the means for software distribution further comprises means for acquiring the second request at the first network device, hereinafter referred to as a second acquisition device 46 (not shown), and for The device that performs the related function of the software according to the second request, and is referred to as an executing device 47 (not shown).
- the second obtaining means 46 of the first network device receives the second request from the network device according to a pre-agreed protocol or interface.
- the executing device 47 of the first network device performs a related function of the software running on the first network device according to the second request.
- the apparatus for software distribution further includes means for transmitting a response from the first network device to the user according to an execution result of executing a related function of the software, hereinafter referred to as a response Transmitting device 48 (not shown).
- the response sending device 48 of the first network device may send the execution result to the user as a response, for example, an http response, according to a predetermined protocol or interface through the network.
- the means for software distribution further comprises means for determining a software release rule based on user characteristics, hereinafter referred to as rule determination means 49 (not shown); and for publishing the software release rule A device that is sent to one or more network devices running one or more modules of the software, hereinafter referred to as a rule transmitting device 410 (not shown).
- the rule determining means 49 can determine the software publishing rule according to the user characteristics according to actual needs.
- the software publishing rule may be that when the version number of the client used by the user is the latest version and the type of the user is a new user, it is determined that the relevant version of the software released to the user is the latest test version; or
- the software publishing rule may be that when the operating system of the user equipment used by the user is an Android system, it is determined that the relevant version of the software released to the user is version 3.0, and when the operating system is iOS When the system is determined, the relevant version is determined to be version 2.0.
- the rules sending device 410 can then send the software publishing rules over the network to one or more network devices running one or more modules of the software.
- the rule sending means 410 can synchronize the software publishing rules to the respective network devices periodically or in real time.
- the means for software distribution further includes means for monitoring a process by which the first network device performs related functions of the software, hereinafter referred to as monitoring device 411 (not shown).
- monitoring device 411 can monitor one or more processes of the software or one or more modules of the software and can record or report monitoring information.
- the monitoring device 411 can further analyze, for example, compare the monitoring information of different versions of the software or one or more modules of the software, so that the software or one or more modules of the software can be used differently. The version is evaluated.
- the present invention can be implemented in software and/or a combination of software and hardware.
- the various devices of the present invention can be implemented using an application specific integrated circuit (ASIC) or any other similar hardware device.
- the software program of the present invention may be executed by a processor to implement the steps or functions described above.
- the software program (including related data structures) of the present invention can be stored in a computer readable recording medium such as a RAM memory, a magnetic or optical drive or a floppy disk and the like.
- some of the steps or functions of the present invention may be implemented in hardware, for example, as a circuit that cooperates with a processor to perform various steps or functions.
- CLAIMS 1.
- the software comprises one or more modules, one or more modules of the software running in one or more network devices, wherein the method include:
- the step of sending a second request to the first network device corresponding to the relevant version of the software to invoke the related function of the software based on the first request includes:
- a network device sends a third request to invoke a related function of the software, wherein the another first network device runs one or more modules of the software corresponding to the associated version.
- An apparatus for software distribution in a network device wherein the software comprises one or more modules, one or more modules of the software running in one or more network devices, wherein the device include:
- the means for transmitting a second request to the first network device corresponding to the relevant version of the software to invoke the related function of the software based on the first request is used to:
- Determining, at the first network device, based on the first request, the user feature, and a related version of the software, and based on the second request, to a corresponding version of the software A device in which a first network device sends a third request to invoke a related function of the software, wherein the another first network device runs one or more modules of the software corresponding to the associated version.
- Means for performing a related function of the software at the first network device in accordance with the second request are provided.
- Means for transmitting the software distribution rules to one or more network devices running one or more modules of the software Means for transmitting the software distribution rules to one or more network devices running one or more modules of the software.
- Means for monitoring the process by which the first network device performs the relevant functions of the software are provided.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种用于软件发布的方法和装置,其中该方法包括:获取与调用所述软件相关联的第一请求;基于所述第一请求,确定与所述第一请求相关联的用户的用户特征;基于所述用户特征,确定向所述用户发布的所述软件的相关版本;基于所述第一请求,向所述软件的相关版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能,其中,所述第一网络设备中运行与所述相关版本对应的所述软件的一个或多个模块。与现有技术相比,本发明使得可以针对不同的用户,控制其调用不同版本的软件的相关功能,以将软件升级所带来的影响限制在一定的用户范围中,从而增强了对于软件发布的控制,提升了用户体验。
Description
相关申请的交叉引用
本申请享有2015年03月24日提交的专利申请号为201510131544.6、名称为“一种用于软件发布的方法和装置”的中国专利申请的优先权,该在先申请的内容以引用方式合并于此。
本发明涉及计算机领域,尤其涉及一种用于软件发布的方法和装置。
现有技术中,由于用户对应用功能的时效性要求不断提高,使得软件更新节奏加快,软件开发商在进行软件升级前可能无法进行全面充分的调研,也无法选择性地听取忠实用户或核心用户的反馈,而只能将升级后的软件上线后再揣摩用户的体验和感受。然而此种传统的软件全量发布的方式涉及用户范围广,一旦升级后的软件出现问题,则可能致使波及范围太广,损害品牌形象,甚至造成忠实用户或核心用户流失。因此,如何更好地控制软件的发布是一个需要解决的问题。
发明内容
本发明的目的是提供一种在网络设备中用于软件发布的方法和装置。
根据本发明的一个方面,提供一种在网络设备中用于软件发布的方法,其中,所述软件包括一个或多个模块,所述软件的一个或多个模块运行于一个或多个网络设备中,其中,该方法包括:
-获取与调用所述软件相关联的第一请求;
-基于所述第一请求,确定与所述第一请求相关联的用户的用户特征;
-基于所述用户特征,确定向所述用户发布的所述软件的相关版本;
-基于所述第一请求,向所述软件的相关版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能,其中,所述第一网络设备中运行与所述相关版本对应的所述软件的一个或多个模块。
根据本发明的另一个方面,提供一种在网络设备中用于软件发布的装置,其中,所述软件包括一个或多个模块,所述软件的一个或多个模块运行于一个或多个网络设备中,其中,该装置包括:
-用于获取与调用所述软件相关联的第一请求的装置;
-用于基于所述第一请求,确定与所述第一请求相关联的用户的用户特征的装置;
-用于基于所述用户特征,确定向所述用户发布的所述软件的相关版本的装置;
-用于基于所述第一请求,向所述软件的相关版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能的装置,其中,所述第一网络设备中运行与所述相关版本对应的所述软件的一个或多个模块。
与现有技术相比,本发明基于用户特征来确定应向该用户发布的软件版本,并向运行相应版本软件的网络设备发送请求以调用该软件的相关功能,从而使得可以针对不同的用户,控制其调用不同版本的软件的相关功能。利用上述方法,本发明增强了对于软件发布的控制,提升了用户体验。
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出根据本发明一个方面的实施例的在网络设备中用于软件发布的方法的流程图;
图2示出包含用户设备及网络设备的系统的一个实例;
图3示出包含用户设备及网络设备的系统的另一个实例;
图4示出根据本发明另一个方面的实施例的在网络设备中用于软件发布的装置的示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
在上下文中所称“计算机设备”,也称为“电脑”,是指可以通过运行预定程序或指令来执行数值计算和/或逻辑计算等预定处理过程的智能电子设备,其可以包括处理器与存储器,由处理器执行在存储器中预存的存续指令来执行预定处理过程,或是由ASIC、FPGA、DSP等硬件执行预定处理过程,或是由上述二者组合来实现。计算机设备包括但不限于服务器、个人电脑、笔记本电脑、平板电脑、智能手机等。
所述计算机设备包括用户设备与网络设备。其中,所述用户设备包括但不限于电脑、智能手机、PDA等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述计算机设备可单独运行来实现本发明,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本发明。其中,所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。
需要说明的是,所述用户设备、网络设备和网络等仅为举例,其
他现有的或今后可能出现的计算机设备或网络如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
后面所讨论的方法(其中一些通过流程图示出)可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合来实施。当用软件、固件、中间件或微代码来实施时,用以实施必要任务的程序代码或代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。
这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本发明的示例性实施例的目的。但是本发明可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。
应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
应当理解的是,当一个单元被称为“连接”或“耦合”到另一单元时,其可以直接连接或耦合到所述另一单元,或者可以存在中间单元。与此相对,当一个单元被称为“直接连接”或“直接耦合”到另一单元时,则不存在中间单元。应当按照类似的方式来解释被用于描述单元之间的关系的其他词语(例如“处于...之间”相比于“直接处于...之间”,“与...邻近”相比于“与...直接邻近”等等)。
这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。
下面结合附图对本发明作进一步详细描述。
当前,一种常见的软件系统架构为将软件系统的客户端部署在用户设备上,完成该软件系统主要功能的服务器端软件则运行在网络设备上。用户使用用户设备上的客户端来通过网络发送请求至网络设备以调用网络设备上所运行的服务器端软件。此处,软件系统的客户端可以为例如运行于移动终端上的移动应用,或者运行于计算机上的浏览器等。一般地,软件系统的客户端与服务器端之间可通过特定协议,例如http协议,来进行通信。例如,用户通过用户设备上运行的客户端向网络设备发出http请求,相应地,网络设备上所运行的服务器端软件可以接收该http请求,并根据该http请求来调用服务器端软件的相应功能以提供用户所需要的服务。
考虑到网络设备的实际处理能力等因素,对于较大型软件系统,可以将服务器端软件部署在多台网络设备上。例如可将服务器端软件的不同模块分别部署在不同的网络设备上。例如,可以将网络服务器(web server)、数据库、其他服务器端软件模块分别部署在三个不同的网络设备上。
在本文中,为描述简明起见,我们以“客户端”指代软件系统的客户端部分,而以“软件”或“服务器端软件”指代软件系统的服务器端部分。其中,软件包括一个或多个模块。应注意的是,软件作为一个整体也可视为一个模块,其中该模块包含该软件的所有功能。根据本发明的用于软件发布的方法主要应用于网络设备上所运行的服务器端软件的发布。
本领域技术人员应理解,上述对于软件系统架构的简要描述仅为便于读者理解本发明原理而给出的示例性描述,而非对于本发明适用范围的任何限制。本发明的范围由所附权利要求而非上述说明限定。
图1示出根据本发明一个方面的实施例的在网络设备中用于软件发布的方法的流程图。
如上文所述,此处的软件是指运行于网络设备上的服务器端软件。
其中,本实施例的方法主要通过网络设备来实现,所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。需要说明的是,所述网络设备仅为举例,其他现有的或今后可能出现的网络设备如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
首先,在步骤S11中,网络设备获取与调用所述软件相关联的第一请求。
在一个实施例中,网络设备获取用户通过用户设备所发送的与调用所述软件相关联的第一请求。以下以图2所示的包含用户设备及网络设备的系统为例进行说明。其中,用户设备x/y上运行客户端,并且网络设备a-d上分别运行服务器端软件或服务器端软件的一个或多个模块。例如,网络设备a上运行软件的web server模块以处理来自客户端的http请求,网络设备b-d上运行软件的除web server模块之外的所有其他模块。应注意的是,网络设备b、c、d上可分别运行不同版本的该软件的所有其他模块。用户可使用用户设备x或y上所运行的客户端,来向网络设备a发送http请求以调用该软件。则相应地,网络设备a调用所运行的web server模块获取该与调用该软件相关联的http请求作为第一请求。
在另一个实施例中,网络设备获取所述软件的第一模块基于用户通过用户设备所发送的与调用所述软件相关联的请求所发送的第一请求。此处,软件的第一模块意指能够向该网络设备发送请求以调用该网络设备上所运行的软件或该软件的一个或多个模块的模块。例如,当软件由模块A、B、C构成,其中模块A能够用于调用模块B、C,则模块A
可以作为第一模块向运行模块B和/或C的网络设备发送第一请求以调用模块B和/或C。应注意的是,运行第一模块的网络设备与该第一模块向其发送第一请求的网络设备可以为不同的网络设备,也可以为相同的网络设备。以下以图3所示的包含用户设备及网络设备的系统为例进行说明。其中,用户设备x/y上运行客户端,并且网络设备a-h上运行服务器端软件或服务器端软件的一个或多个模块。例如其中网络设备a上运行该软件的web server模块,网络设备b及c上分别运行该软件的B功能入口模块与C功能入口模块。用户使用用户设备x或y上所运行的客户端,来通过网络向网络设备a发送http请求以调用该软件的相关功能。网络设备a调用所运行的web server模块获取该http请求,并根据该请求涉及的B功能或C功能来向网络设备b或网络设备c发送第一请求以调用该软件的相关功能。相应地,网络设备b或网络设备c获取由网络设备a上web server模块,也即第一模块,所发送的该第一请求。应注意的是,第一模块应根据预定协议或接口来确定该第一请求。在一些实现中,所述第一请求与原用户通过用户设备所发送的请求,例如http请求,可以相同或相似。在另一些实现中,所述第一请求与原用户通过用户设备所发送的请求可以并不相同,其也可以基于不同的协议。
本领域技术人员应理解,此处,对于网络设备获取与调用所述软件相关联的第一请求的相关描述仅为示例性而非限定性描述,存在其他各种实现方式而不背离本发明的精神或范畴,并以引用的方式包含于此。并且本领域技术人员也应理解,虽然上述说明基于附图2及3所示出的系统,但其仅为方便本领域技术人员理解本发明原理,而并非对于本发明适用范围的任何限制。
接着,在步骤S12中,网络设备基于所述第一请求,确定与所述请求相关联的用户的用户特征。此处,与所述请求相关联的用户意指通过用户设备发送该第一请求的用户,或者当第一请求为软件的第一模块所基于用户通过用户设备所发送的与调用该软件相关联的请求时,意指通过用户设备发送与调用该软件相关联的请求的用户。
此处,用户的用户特征包括以下至少任一项:
-所述用户所使用的用户设备的IP地址;
-所述用户所使用的用户设备的操作系统;
-所述用户所使用的客户端的名称;
-所述用户所使用的客户端的版本号;
-所述用户的地理位置;
-所述用户的类型;
-所述用户的历史使用习惯。
其中,所述用户所使用的客户端意指所述用户所使用的在用户设备上所运行的该软件的客户端。所述用户的地理位置可以为该用户的当前地理位置,或者也可以为该用户的注册地理位置或归属地理位置等。所述用户的类型可以按照不同方式来进行分类,例如按照用户级别来进行分类,按照用户使用该软件的时间来进行分类等等。所述用户的历史使用习惯可以来源于用户使用软件的历史数据,例如用户是否喜欢使用最新版本的软件,或者用户是否更倾向于某种软件界面形式,等等。
本领域技术人员应理解,此处,对于用户特征的相关描述仅为示例性而非限定性描述,存在其他各种用户特征而不背离本发明的精神或范畴,并以引用的方式包含于此。
此处,当网络设备在步骤S11中获取到第一请求后,网络设备可对该第一请求进行分析以得到与该第一请求相关联的用户,例如用户名,并可通过例如分析与该第一请求相关联的cookie,或通过例如查询数据库或与其他网络设备交互,来确定该用户的用户特征,例如用户名,用户的地理位置,用户类型,用户的历史使用习惯,以及用户设备的IP地址,所使用的用户设备的操作系统,所使用的应用的名称,所使用的应用的版本号等。
本领域技术人员应理解,此处,对于确定用户特征的相关描述仅为示例性而非限定性描述,存在其他各种实现方式而不背离本发明的精神或范畴,并以引用的方式包含于此。
接着,在步骤S13中,网络设备基于所述用户特征,确定向所述
用户发布的所述软件的相关版本。
此处,向用户发布软件意指当用户通过用户设备上所运行的该软件的客户端来向网络设备上的服务器端软件发出请求时,为该用户调用所述服务器端软件的相关功能。
此处,软件的相关版本意指该软件的版本,或软件的一个或多个模块的模块版本等。其中当该软件的一个或多个模块构成该软件的子系统时,模块版本也可指该子系统的子系统版本。
具体地,网络设备可以基于所述用户特征中所包含的一项用户特征或多项用户特征的组合,来确定向所述用户发布的所述软件的相关版本。例如网络设备基于所述用户所使用的用户设备的IP地址,或所述用户所使用的用户设备的操作系统,或所述用户所使用的客户端的名称,或所述用户所使用的客户端的版本号,或所述用户的地理位置,或所述用户的类型,或所述用户的历史使用习惯来确定向所述用户发布的所述软件的相关版本。例如,当网络设备基于所述用户的类型确定该用户为该软件的新用户时,则可确定向该用户发布该软件的最新测试版本;而当确定该用户为该软件的长期用户时,则可确定向该用户发布该软件的已通过测试的稳定版本。又例如,当网络设备基于所述用户的历史使用习惯确定该用户倾向于使用最新版本的软件时,则可确定向所述用户发布的所述软件的相关版本为该软件的最新版本。本领域技术人员应理解,此处,对于基于所述用户特征,确定向所述用户发布的所述软件的相关版本的相关描述仅为示例性而非限定性描述,存在其他各种实现方式而不背离本发明的精神或范畴,并以引用的方式包含于此。
在一个实施例中,网络设备基于用户特征以及软件发布规则,确定向所述用户发布的所述软件的相关版本。具体地,网络设备可以预先确定软件发布规则,例如软件发布规则可以为当所述用户所使用的客户端的版本号为最新版本并且所述用户的类型为新用户时,确定向所述用户发布的所述软件的相关版本为最新测试版本;或例如软件发布规则可以为当所述用户所使用的用户设备的操作系统为Android系统时,确定向
所述用户发布的所述软件的相关版本为版本3.0,而当该操作系统为iOS系统时,确定该相关版本为版本2.0。网络设备可以将用户特征与软件发布规则进行匹配,并根据所匹配到的软件发布规则来确定向所述用户发布的所述软件的相关版本。此外,在一个实例中,网络设备可以预先确定软件发布规则的优先级,从而用户特征与多个软件发布规则相匹配时,可根据优先级高低来确定向所述用户发布的所述软件的相关版本。在另一个实例中,软件发布规则还可以根据实际需要来动态调整。
本领域技术人员应理解,此处,对于软件发布规则,以及对于基于用户特征以及软件发布规则,确定向所述用户发布的所述软件的相关版本的相关描述仅为示例性而非限定性描述,存在其他各种实现方式而不背离本发明的精神或范畴,并以引用的方式包含于此。
在一个实施例中,网络设备在步骤S13中基于所述用户特征,确定向所述用户发布的所述软件的一个或多个第二模块的模块版本。此处,软件的第二模块意指该网络设备上所运行的该软件或该软件的一个或多个模块将要调用的模块,也可称为该网络设备的下游模块。
我们以图3所示的系统为例来进行说明。接上例,假定用户B通过用户设备y所发送的与调用该软件相关联的http请求涉及B功能。运行“B功能入口模块”的网络设备b获取来自网络设备a上运行的该软件的第一模块,例如web server模块,基于用户B所发送的该http请求所发送第一请求。从而,网络设备b在执行步骤S11、S12后确定了与该第一请求相关联的用户为用户B,其用户特征中的用户类型为核心用户类型。由于该请求涉及B功能,网络设备b确定其需要调用的第二模块为B模块。网络设备b基于上述用户特征,并按照上文所述的方法,确定向用户B发布的所述软件的B模块的模块版本为2.0。
又例如,由于该请求涉及B功能,网络设备b确定其需要调用的第二模块为B1模块以及B2模块。网络设备b基于上述用户特征,并按照上文所述的方法,确定向用户B发布的所述软件的B1模块以及B2模块的统一的模块版本为2.0。或者,网络设备b可确定向用户B发布的所述软件的B1模块的模块版本为2.0,而向用户B发布的所述软件的
B2模块的模块版本为1.0。
又例如,当网络设备b确定需要调用的第二模块为子系统B所涉及的全部模块B1、B2及B3时,网络设备b可确定该子系统B的子系统版本3.0作为向用户B发布的所述软件的B1、B2及B3模块的模块版本。
本领域技术人员应理解,此处,对于第二模块及模块版本的相关描述仅为示例性而非限定性描述,存在其他各种实现方式而不背离本发明的精神或范畴,并以引用的方式包含于此。
接着,在步骤S14中,网络设备基于所述第一请求,向所述软件的相关版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能,其中,所述第一网络设备中运行与所述相关版本对应的所述软件的一个或多个模块。
具体地,网络设备在执行步骤S13后确定了向所述用户发布的所述软件的相关版本,然后网络设备可以通过例如查询配置文件,或与其他网络设备进行通信等方式来确定运行该相关版本对应的所述软件的一个或多个模块的网络设备,也即第一网络设备。以图2所示的系统为例。接上例,假定网络设备a确定向所述用户发布的所述软件的相关版本为最新测试版本。则网络设备a通过查询配置文件,确定网络设备c上所运行的为最新测试版本的所述软件,而网络设备b、d上所运行的为较早版本的所述软件。则网络设备a确定网络设备c为第一网络设备。又例如,网络设备a通过查询配置文件,确定网络设备b及网络设备c上均运行最新测试版本的所述软件,则网络设备a可基于流量均衡等方法来确定网络设备b为第一网络设备。又例如,网络设备a根据该第一请求,确定需调用的相关功能同时涉及模块A以及模块B,当网络设备a通过与其他网络设备交互确定网络设备a及网络设备b分别运行最新测试版本的所述软件的模块A及模块B时,则网络设备a可以确定多个第一网络设备,也即网络设备a及网络设备b。
接着,网络设备基于所述第一请求,向所述第一网络设备发送第二请求以调用所述软件的相关功能。例如网络设备基于第一请求确定需要调用的相关功能,并依据事先约定的协议或接口等,来基于第一
请求确定调用所述软件的相关功能的第二请求,并向所述第一网络设备发送第二请求。其中,所述第二请求可以与所述第一请求相同或类似,例如其为相同或类似的http请求,或者所述第二请求也可以与所述第一请求不相同或使用不同的协议等。并且,如上所述,网络设备可确定多个第一网络设备。相应地,网络设备可以根据需要确定一个或多个第二请求,并分别发送给各个第一网络设备。
本领域技术人员应理解,此处,对于第一网络设备、第二请求以及基于所述第一请求,向所述软件的相关版本相对应的第一网络设备发送第二请求的相关描述仅为示例性而非限定性描述,存在其他各种实现方式而不背离本发明的精神或范畴,并以引用的方式包含于此。
在一个实施例中,网络设备在步骤S13中按照上文所述的方法确定向所述用户发布的所述软件的一个或多个第二模块的模块版本。接着,在步骤S14中,网络设备基于所述第一请求,向所述软件的所述一个或多个第二模块的所述模块版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能,其中,所述第一网络设备运行与所述模块版本对应的所述软件的所述一个或多个第二模块。以图3所示的系统为例。接上例,假定用户B通过用户设备y所发送的与调用该软件相关联的http请求涉及B功能。当运行“B功能入口模块”的网络设备b获取到来自网络设备a上运行的该软件的第一模块所发送的第一请求后,网络设备b执行步骤S12及S13后,确定其需要调用的模块,也即一个或多个第二模块为涉及子系统B的全部模块B1、B2及B3,其模块版本,也即子系统版本为2.0。从而在步骤S14中,网络设备b通过例如查询配置文件或与其他网络设备交互等方式,确定网络设备d及网络设备e均运行子系统B的全部模块,其中网络设备d所运行的子系统版本为1.0,而网络设备e中所运行的子系统版本为2.0。则网络设备b确定网络设备e为所述一个或多个第二模块的所述模块版本相对应的第一网络设备。并且,网络设备b根据上文所述的方法确定第二请求,并将其发送给网络设备e以调用子系统B的相关功能B。
本领域技术人员应理解,此处,对于基于所述第一请求,向所述
软件的所述一个或多个第二模块的所述模块版本相对应的第一网络设备发送第二请求的相关描述仅为示例性而非限定性描述,存在其他各种实现方式而不背离本发明的精神或范畴,并以引用的方式包含于此。
在一个实施例中,当第一网络设备获取到第二请求后,所述第一网络设备基于所述第一请求、所述用户特征以及所述软件的相关版本,并基于所述第二请求,向与所述软件的相关版本相对应的另一个第一网络设备发送第三请求以调用所述软件的相关功能,其中,所述另一个第一网络设备运行与所述相关版本对应的所述软件的一个或多个模块。具体地,当第一网络设备获取到第二请求后,可以例如通过分析该第二请求,或与发送该第二请求的网络设备进行交互等方式获取所述第一请求、所述用户特征以及所述软件的相关版本。并且第一网络设备也可根据上文所述的方法,将所述第二请求做为第一请求,来执行步骤S12及S13从而确定用户的用户特征以及向该用户发布的所述软件的相关版本。接着,该第一网络设备按照上文所述的方法,向与所述软件的相关版本相对应的另一个第一网络设备发送第三请求以调用所述软件的相关功能,其中,所述另一个第一网络设备运行与所述相关版本对应的所述软件的一个或多个模块。按照上文所述的方式,一个或多个网络设备可以多次执行根据本发明一个方面的方法,直至完成调用所述软件的相关功能。
在一个实施例中,所述用于软件发布的方法还包括在第一网络设备处获取所述第二请求的步骤,以及在所述第一网络设备处根据所述第二请求,执行所述软件的相关功能的步骤。具体地,第一网络设备按照预先约定的协议或接口,接收来自网络设备的所述第二请求。接着,第一网络设备根据该第二请求,来执行在该第一网络设备上所运行的所述软件的相关功能。
在另一个实施例中,所述用于软件发布的方法还包括根据执行所述软件的相关功能的执行结果,从所述第一网络设备向所述用户发送响应。具体地,所述第一网络设备可以通过网络按照预定协议或接口,将
所述执行结果作为响应,例如http响应,发送至所述用户。
在一个实施例中,所述用于软件发布的方法还包括根据用户特征,确定软件发布规则的步骤;以及将所述软件发布规则发送至运行所述软件的一个或多个模块的一个或多个网络设备的步骤。
具体地,可以按照实际需要来根据用户特征,确定软件发布规则。例如软件发布规则可以为当所述用户所使用的客户端的版本号为最新版本并且所述用户的类型为新用户时,确定向所述用户发布的所述软件的相关版本为最新测试版本;或例如软件发布规则可以为当所述用户所使用的用户设备的操作系统为Android系统时,确定向所述用户发布的所述软件的相关版本为版本3.0,而当该操作系统为iOS系统时,确定该相关版本为版本2.0。
然后,可以将所述软件发布规则通过网络发送至运行所述软件的一个或多个模块的一个或多个网络设备。例如可以定期或实时将所述软件发布规则同步至各个网络设备。
在一个实施例中,所述用于软件发布的方法还包括对第一网络设备执行所述软件的相关功能的过程进行监控。例如,可以监控该软件或该软件的一个或多个模块的一个或多个进程,并可记录或报告监控信息。此外,还可以进一步对该软件或该软件的一个或多个模块的不同版本的监控信息进行分析,例如加以对比,从而可用于对该软件或该软件的一个或多个模块的不同版本进行评估。
图4示出根据本发明另一个方面的实施例的在网络设备中用于软件发布的装置的示意图。
如上文所述,此处的软件是指运行于网络设备上的服务器端软件。
其中,本实施例的方法主要通过网络设备来实现,所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。需要说明的是,所述网络设备仅为举例,其
他现有的或今后可能出现的网络设备如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
如图4所示,根据本发明的用于软件发布的装置包括用于获取与调用所述软件相关联的第一请求的装置41,以下简称第一获取装置41;用于基于所述第一请求,确定与所述第一请求相关联的用户的用户特征的装置,以下简称用户特征确定装置42;用于基于所述用户特征,确定向所述用户发布的所述软件的相关版本的装置43,以下简称第一确定装置43;以及用于基于所述第一请求,向所述软件的相关版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能的装置44,以下简称第一发送装置44。
首先,第一获取装置41获取与调用所述软件相关联的第一请求。
在一个实施例中,第一获取装置41获取用户通过用户设备所发送的与调用所述软件相关联的第一请求。以下以图2所示的包含用户设备及网络设备的系统为例进行说明。其中,用户设备x/y上运行客户端,并且网络设备a-d上分别运行服务器端软件或服务器端软件的一个或多个模块。例如,网络设备a上运行软件的web server模块以处理来自客户端的http请求,网络设备b-d上运行软件的除web server模块之外的所有其他模块。应注意的是,网络设备b、c、d上可分别运行不同版本的该软件的所有其他模块。用户可使用用户设备x或y上所运行的客户端,来向网络设备a发送http请求以调用该软件。则相应地,网络设备a上的第一获取装置41调用web server模块来获取该与调用该软件相关联的http请求作为第一请求。
在另一个实施例中,第一获取装置41获取所述软件的第一模块基于用户通过用户设备所发送的与调用所述软件相关联的请求所发送的第一请求。此处,软件的第一模块意指能够向该网络设备发送请求以调用该网络设备上所运行的软件或该软件的一个或多个模块的模块。例如,当软件由模块A、B、C构成,其中模块A能够用于调用模块B、C,则模块A可以作为第一模块向运行模块B和/或C的网络设备发送第一请求以调用模块B和/或C。应注意的是,运行第一模块的网络设备与该
第一模块向其发送第一请求的网络设备可以为不同的网络设备,也可以为相同的网络设备。以下以图3所示的包含用户设备及网络设备的系统为例进行说明。其中,用户设备x/y上运行客户端,并且网络设备a-h上运行服务器端软件或服务器端软件的一个或多个模块。例如其中网络设备a上运行该软件的web server模块,网络设备b及c上分别运行该软件的B功能入口模块与C功能入口模块。用户使用用户设备x或y上所运行的客户端,来通过网络向网络设备a发送http请求以调用该软件的相关功能。网络设备a上的web server模块获取该http请求,并根据该请求涉及的B功能或C功能来向网络设备b或网络设备c发送第一请求以调用该软件的相关功能。相应地,网络设备b或网络设备c的第一获取装置41获取由网络设备a上web server模块,也即第一模块,所发送的该第一请求。应注意的是,第一模块应根据预定协议或接口来确定该第一请求。在一些实现中,所述第一请求与原用户通过用户设备所发送的请求,例如http请求,可以相同或相似。在另一些实现中,所述第一请求与原用户通过用户设备所发送的请求可以并不相同,其也可以基于不同的协议。
本领域技术人员应理解,此处,对于第一获取装置41获取与调用所述软件相关联的第一请求的相关描述仅为示例性而非限定性描述,存在其他各种实现方式而不背离本发明的精神或范畴,并以引用的方式包含于此。并且本领域技术人员也应理解,虽然上述说明基于附图2及3所示出的系统,但其仅为方便本领域技术人员理解本发明原理,而并非对于本发明适用范围的任何限制。
接着,用户特征确定装置42基于所述第一请求,确定与所述请求相关联的用户的用户特征。此处,与所述请求相关联的用户意指通过用户设备发送该第一请求的用户,或者当第一请求为软件的第一模块所基于用户通过用户设备所发送的与调用该软件相关联的请求时,意指通过用户设备发送与调用该软件相关联的请求的用户。
此处,用户的用户特征包括以下至少任一项:
-所述用户所使用的用户设备的IP地址;
-所述用户所使用的用户设备的操作系统;
-所述用户所使用的客户端的名称;
-所述用户所使用的客户端的版本号;
-所述用户的地理位置;
-所述用户的类型;
-所述用户的历史使用习惯。
其中,所述用户所使用的客户端意指所述用户所使用的在用户设备上所运行的该软件的客户端。所述用户的地理位置可以为该用户的当前地理位置,或者也可以为该用户的注册地理位置或归属地理位置等。所述用户的类型可以按照不同方式来进行分类,例如按照用户级别来进行分类,按照用户使用该软件的时间来进行分类等等。所述用户的历史使用习惯可以来源于用户使用软件的历史数据,例如用户是否喜欢使用最新版本的软件,或者用户是否更倾向于某种软件界面形式,等等。
本领域技术人员应理解,此处,对于用户特征的相关描述仅为示例性而非限定性描述,存在其他各种用户特征而不背离本发明的精神或范畴,并以引用的方式包含于此。
此处,当第一获取装置41获取到第一请求后,用户特征确定装置42可对该第一请求进行分析以得到与该第一请求相关联的用户,例如用户名,并可通过例如分析与该第一请求相关联的cookie,或通过例如查询数据库或与其他网络设备交互,来确定该用户的用户特征,例如用户名,用户的地理位置,用户类型,用户的历史使用习惯,以及用户设备的IP地址,所使用的用户设备的操作系统,所使用的应用的名称,所使用的应用的版本号等。
本领域技术人员应理解,此处,对于确定用户特征的相关描述仅为示例性而非限定性描述,存在其他各种实现方式而不背离本发明的精神或范畴,并以引用的方式包含于此。
接着,第一确定装置43基于所述用户特征,确定向所述用户发布的所述软件的相关版本。
此处,向用户发布软件意指当用户通过用户设备上所运行的该软件的客户端来向网络设备上的服务器端软件发出请求时,为该用户调用所述服务器端软件的相关功能。
此处,软件的相关版本意指该软件的版本,或软件的一个或多个模块的模块版本等。其中当该软件的一个或多个模块构成该软件的子系统时,模块版本也可指该子系统的子系统版本。
具体地,第一确定装置43可以基于所述用户特征中所包含的一项用户特征或多项用户特征的组合,来确定向所述用户发布的所述软件的相关版本。例如第一确定装置43基于所述用户所使用的用户设备的IP地址,或所述用户所使用的用户设备的操作系统,或所述用户所使用的客户端的名称,或所述用户所使用的客户端的版本号,或所述用户的地理位置,或所述用户的类型,或所述用户的历史使用习惯来确定向所述用户发布的所述软件的相关版本。例如,当用户特征确定装置42基于所述用户的类型确定该用户为该软件的新用户时,则第一确定装置43可确定向该用户发布该软件的最新测试版本;而当用户特征确定装置42确定该用户为该软件的长期用户时,则第一确定装置43可确定向该用户发布该软件的已通过测试的稳定版本。又例如,当用户特征确定装置42基于所述用户的历史使用习惯确定该用户倾向于使用最新版本的软件时,则第一确定装置43可确定向所述用户发布的所述软件的相关版本为该软件的最新版本。本领域技术人员应理解,此处,对于基于所述用户特征,确定向所述用户发布的所述软件的相关版本的相关描述仅为示例性而非限定性描述,存在其他各种实现方式而不背离本发明的精神或范畴,并以引用的方式包含于此。
在一个实施例中,第一确定装置43基于用户特征以及软件发布规则,确定向所述用户发布的所述软件的相关版本。具体地,第一确定装置43可以预先确定软件发布规则,例如软件发布规则可以为当所述用户所使用的客户端的版本号为最新版本并且所述用户的类型为新用户时,确定向所述用户发布的所述软件的相关版本为最新测试版本;或例如软件发布规则可以为当所述用户所使用的用户设备的操作系统为
Android系统时,确定向所述用户发布的所述软件的相关版本为版本3.0,而当该操作系统为iOS系统时,确定该相关版本为版本2.0。第一确定装置43可以将用户特征与软件发布规则进行匹配,并根据所匹配到的软件发布规则来确定向所述用户发布的所述软件的相关版本。此外,在一个实例中,第一确定装置43可以预先确定软件发布规则的优先级,从而当用户特征与多个软件发布规则相匹配时,可根据优先级高低来确定向所述用户发布的所述软件的相关版本。在另一个实例中,第一确定装置43还可以根据实际需要来动态调整软件发布规则。
本领域技术人员应理解,此处,对于软件发布规则,以及对于基于用户特征以及软件发布规则,确定向所述用户发布的所述软件的相关版本的相关描述仅为示例性而非限定性描述,存在其他各种实现方式而不背离本发明的精神或范畴,并以引用的方式包含于此。
在一个实施例中,第一确定装置43用于基于所述用户特征,确定向所述用户发布的所述软件的一个或多个第二模块的模块版本。第一确定装置43基于所述用户特征,确定向所述用户发布的所述软件的一个或多个第二模块的模块版本。此处,软件的第二模块意指该网络设备上所运行的该软件或该软件的一个或多个模块将要调用的模块,也可称为该网络设备的下游模块。
我们以图3所示的系统为例来进行说明。接上例,假定用户B通过用户设备y所发送的与调用该软件相关联的http请求涉及B功能。运行“B功能入口模块”的网络设备b的第一获取装置41获取来自网络设备a上运行的该软件的第一模块,例如web server模块,基于用户B所发送的该http请求所发送第一请求。从而,网络设备b的用户特征确定装置42随后可确定与该第一请求相关联的用户为用户B,其用户特征中的用户类型为核心用户类型。由于该请求涉及B功能,网络设备b的第一确定装置43确定其需要调用的第二模块为B模块。网络设备b的第一确定装置43基于上述用户特征,并按照上文所述的方法,确定向用户B发布的所述软件的B模块的模块版本为2.0。
又例如,由于该请求涉及B功能,网络设备b的第一确定装置43
确定其需要调用的第二模块为B1模块以及B2模块。网络设备b的第一确定装置43基于上述用户特征,并按照上文所述的方法,确定向用户B发布的所述软件的B1模块以及B2模块的统一的模块版本为2.0。或者,网络设备b的第一确定装置43可确定向用户B发布的所述软件的B1模块的模块版本为2.0,而向用户B发布的所述软件的B2模块的模块版本为1.0。
又例如,当网络设备b的第一确定装置43确定需要调用的第二模块为子系统B所涉及的全部模块B1、B2及B3时,网络设备b的第一确定装置43可确定该子系统B的子系统版本3.0作为向用户B发布的所述软件的B1、B2及B3模块的模块版本。
本领域技术人员应理解,此处,对于第二模块及模块版本的相关描述仅为示例性而非限定性描述,存在其他各种实现方式而不背离本发明的精神或范畴,并以引用的方式包含于此。
接着,第一发送装置44基于所述第一请求,向所述软件的相关版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能,其中,所述第一网络设备中运行与所述相关版本对应的所述软件的一个或多个模块。
具体地,第一确定装置43确定了向所述用户发布的所述软件的相关版本,然后第一发送装置44可以通过例如查询配置文件,或与其他网络设备进行通信等方式来确定运行该相关版本对应的所述软件的一个或多个模块的网络设备,也即第一网络设备。以图2所示的系统为例。接上例,假定网络设备a的第一确定装置43确定向所述用户发布的所述软件的相关版本为最新测试版本。则网络设备a的第一发送装置44通过查询配置文件,确定网络设备c上所运行的为最新测试版本的所述软件,而网络设备b、d上所运行的为较早版本的所述软件。则网络设备a的第一发送装置44确定网络设备c为第一网络设备。又例如,网络设备a的第一发送装置44通过查询配置文件,确定网络设备b及网络设备c上均运行最新测试版本的所述软件,则网络设备a的第一发送装置44可基于流量均衡等方法来确定网络设备b为第一网络设备。又例如,网
络设备a的第一发送装置44根据该第一请求,确定需调用的相关功能同时涉及模块A以及模块B,当网络设备a的第一发送装置44通过与其他网络设备交互确定网络设备a及网络设备b分别运行最新测试版本的所述软件的模块A及模块B时,则网络设备a的第一发送装置44可以确定多个第一网络设备,也即网络设备a及网络设备b。
接着,第一发送装置44基于所述第一请求,向所述第一网络设备发送第二请求以调用所述软件的相关功能。例如第一发送装置44基于第一请求确定需要调用的相关功能,并依据事先约定的协议或接口等,来基于第一请求确定调用所述软件的相关功能的第二请求,并向所述第一网络设备发送第二请求。其中,所述第二请求可以与所述第一请求相同或类似,例如其为相同或类似的http请求,或者所述第二请求也可以与所述第一请求不相同或使用不同的协议等。并且,如上所述,第一发送装置44可确定多个第一网络设备。相应地,第一发送装置44可以根据需要确定一个或多个第二请求,并分别发送给各个第一网络设备。
本领域技术人员应理解,此处,对于第一网络设备、第二请求以及基于所述第一请求,向所述软件的相关版本相对应的第一网络设备发送第二请求的相关描述仅为示例性而非限定性描述,存在其他各种实现方式而不背离本发明的精神或范畴,并以引用的方式包含于此。
在一个实施例中,第一确定装置43按照上文所述的方法确定向所述用户发布的所述软件的一个或多个第二模块的模块版本。接着,第一发送装置44基于所述第一请求,向所述软件的所述一个或多个第二模块的所述模块版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能,其中,所述第一网络设备运行与所述模块版本对应的所述软件的所述一个或多个第二模块。以图3所示的系统为例。接上例,假定用户B通过用户设备y所发送的与调用该软件相关联的http请求涉及B功能。当运行“B功能入口模块”的网络设备b的第一获取装置41获取到来自网络设备a上运行的该软件的第一模块所发送的第一请求后,用户特征确定装置42确定与该第一请求相关联的用户的用户特征,
第一确定装置43确定其需要调用的模块,也即一个或多个第二模块为涉及子系统B的全部模块B1、B2及B3,其模块版本,也即子系统版本为2.0。从而网络设备b的第一发送装置44通过例如查询配置文件或与其他网络设备交互等方式,确定网络设备d及网络设备e均运行子系统B的全部模块,其中网络设备d所运行的子系统版本为1.0,而网络设备e中所运行的子系统版本为2.0。则网络设备b的第一发送装置44确定网络设备e为所述一个或多个第二模块的所述模块版本相对应的第一网络设备。并且,网络设备b的第一发送装置44根据上文所述的方法确定第二请求,并将其发送给网络设备e以调用子系统B的相关功能B。
本领域技术人员应理解,此处,对于基于所述第一请求,向所述软件的所述一个或多个第二模块的所述模块版本相对应的第一网络设备发送第二请求的相关描述仅为示例性而非限定性描述,存在其他各种实现方式而不背离本发明的精神或范畴,并以引用的方式包含于此。
在一个实施例中,所述用于软件发布的装置还包括用于在所述第一网络设备处基于所述第一请求、所述用户特征以及所述软件的相关版本,并基于所述第二请求,向与所述软件的相关版本相对应的另一个第一网络设备发送第三请求以调用所述软件的相关功能的装置,以下简称第二发送装置45(未示出)。当第一网络设备获取到第二请求后,所述第一网络设备的第二发送装置45基于所述第一请求、所述用户特征以及所述软件的相关版本,并基于所述第二请求,向与所述软件的相关版本相对应的另一个第一网络设备发送第三请求以调用所述软件的相关功能,其中,所述另一个第一网络设备运行与所述相关版本对应的所述软件的一个或多个模块。具体地,当第一网络设备获取到第二请求后,第一网络设备的第二发送装置45可以例如通过分析该第二请求,或与发送该第二请求的网络设备进行交互等方式获取所述第一请求、所述用户特征以及所述软件的相关版本。并且第一网络设备的第二发送装置45也可根据上文所述的方法,将所述第二请求做为第一请求,并利用用户特征确定装置42以及第一确定装置43确定用户的用户特征以及向该用
户发布的所述软件的相关版本。接着,该第一网络设备的第二发送装置45按照上文所述的方法,向与所述软件的相关版本相对应的另一个第一网络设备发送第三请求以调用所述软件的相关功能,其中,其中,所述另一个第一网络设备运行与所述相关版本对应的所述软件的一个或多个模块。按照上文所述的方式,一个或多个网络设备的用于软件发布的装置均可以执行相关操作,直至完成调用所述软件的相关功能。
在一个实施例中,所述用于软件发布的装置还包括用于在第一网络设备处获取所述第二请求的装置,以下简称第二获取装置46(未示出),以及用于在所述第一网络设备处根据所述第二请求,执行所述软件的相关功能的装置,以下简称执行装置47(未示出)。具体地,第一网络设备的第二获取装置46按照预先约定的协议或接口,接收来自网络设备的所述第二请求。接着,第一网络设备的执行装置47根据该第二请求,来执行在该第一网络设备上所运行的所述软件的相关功能。
在另一个实施例中,所述用于软件发布的装置还包括用于根据执行所述软件的相关功能的执行结果,从所述第一网络设备向所述用户发送响应的装置,以下简称响应发送装置48(未示出)。具体地,所述第一网络设备的响应发送装置48可以通过网络按照预定协议或接口,将所述执行结果作为响应,例如http响应,发送至所述用户。
在一个实施例中,所述用于软件发布的装置还包括用于根据用户特征,确定软件发布规则的装置,以下简称规则确定装置49(未示出);以及用于将所述软件发布规则发送至运行所述软件的一个或多个模块的一个或多个网络设备的装置,以下简称规则发送装置410(未示出)。
具体地,规则确定装置49可以按照实际需要来根据用户特征,确定软件发布规则。例如软件发布规则可以为当所述用户所使用的客户端的版本号为最新版本并且所述用户的类型为新用户时,确定向所述用户发布的所述软件的相关版本为最新测试版本;或例如软件发布规则可以为当所述用户所使用的用户设备的操作系统为Android系统时,确定向所述用户发布的所述软件的相关版本为版本3.0,而当该操作系统为iOS
系统时,确定该相关版本为版本2.0。
然后,规则发送装置410可以将所述软件发布规则通过网络发送至运行所述软件的一个或多个模块的一个或多个网络设备。例如规则发送装置410可以定期或实时将所述软件发布规则同步至各个网络设备。
在一个实施例中,所述用于软件发布的装置还包括用于对第一网络设备执行所述软件的相关功能的过程进行监控的装置,以下简称监控装置411(未示出)。例如,监控装置411可以监控该软件或该软件的一个或多个模块的一个或多个进程,并可记录或报告监控信息。此外,监控装置411还可以进一步对该软件或该软件的一个或多个模块的不同版本的监控信息进行分析,例如加以对比,从而可用于对该软件或该软件的一个或多个模块的不同版本进行评估。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,本发明的各个装置可采用专用集成电路(ASIC)或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
虽然前面特别示出并且描述了示例性实施例,但是本领域技术人员将会理解的是,在不背离权利要求书的精神和范围的情况下,在其形式和细节方面可以有所变化。这里所寻求的保护在所附权利要求书中做了阐述。在下列编号条款中规定了各个实施例的这些和其他方面:
1.一种在网络设备中用于软件发布的方法,其中,所述软件包括一个或多个模块,所述软件的一个或多个模块运行于一个或多个网络设备中,其中,该方法包括:
-获取与调用所述软件相关联的第一请求;
-基于所述第一请求,确定与所述第一请求相关联的用户的用户特征;
-基于所述用户特征,确定向所述用户发布的所述软件的相关版本;
-基于所述第一请求,向所述软件的相关版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能,其中,所述第一网络设备中运行与所述相关版本对应的所述软件的一个或多个模块。
2.根据条款1所述的方法,其中,所述基于所述用户特征,确定向所述用户发布的所述软件的相关版本的步骤包括:
-基于所述用户特征以及软件发布规则,确定向所述用户发布的所述软件的相关版本。
3.根据条款1或2所述的方法,其中,所述获取与调用所述软件相关联的第一请求的步骤包括:
-获取用户通过用户设备所发送的与调用所述软件相关联的第一请求。
4.根据条款3所述的方法,其中,所述获取与调用所述软件相关联的第一请求的步骤包括:
-获取所述软件的第一模块基于用户通过用户设备所发送的与调用所述软件相关联的请求所发送的第一请求。
5.根据条款1-4中任一项所述的方法,其中,所述基于所述用户特征,确定向所述用户发布的所述软件的相关版本的步骤包括:
-基于所述用户特征,确定向所述用户发布的所述软件的一个或多个第二模块的模块版本;
其中,所述基于所述第一请求,向所述软件的相关版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能的步骤包括:
-基于所述第一请求,向所述软件的所述一个或多个第二模块的所述模块版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能,其中,所述第一网络设备运行与所述模块版本对应的所述软件的所述一个或多个第二模块。
6.根据条款1至5中任一项所述的方法,其中,所述方法还包括:
-在所述第一网络设备处基于所述第一请求、所述用户特征以及所述软件的相关版本,并基于所述第二请求,向与所述软件的相关版本相对应的另一个第一网络设备发送第三请求以调用所述软件的相关功能,其中,所述另一个第一网络设备运行与所述相关版本对应的所述软件的一个或多个模块。
7.根据条款1至6中任一项所述的方法,其中,所述方法还包括:
-在第一网络设备处获取所述第二请求;
-在所述第一网络设备处根据所述第二请求,执行所述软件的相关功能。
8.根据条款7所述的方法,其中,所述方法还包括:
-根据执行所述软件的相关功能的执行结果,从所述第一网络设备向所述用户发送响应。
9.根据条款2至8中任一项所述的方法,其中,所述方法还包括:
-根据用户特征,确定软件发布规则;
-将所述软件发布规则发送至运行所述软件的一个或多个模块的一个或多个网络设备。
10.根据条款1至9中任一项所述的方法,其中,所述方法还包括:
-对第一网络设备执行所述软件的相关功能的过程进行监控。
11.根据条款1至10中任一项所述的方法,其中,所述用户特征包括以下至少任一项:
-所述用户所使用的用户设备的IP地址;
-所述用户所使用的用户设备的操作系统;
-所述用户所使用的客户端的名称;
-所述用户所使用的客户端的版本号;
-所述用户的地理位置;
-所述用户的类型;
-所述用户的历史使用习惯。
12.一种在网络设备中用于软件发布的装置,其中,所述软件包括一个或多个模块,所述软件的一个或多个模块运行于一个或多个网络设备中,其中,该装置包括:
-用于获取与调用所述软件相关联的第一请求的装置;
-用于基于所述第一请求,确定与所述第一请求相关联的用户的用户特征的装置;
-用于基于所述用户特征,确定向所述用户发布的所述软件的相关版本的装置;
-用于基于所述第一请求,向所述软件的相关版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能的装置,其中,所述第一网络设备中运行与所述相关版本对应的所述软件的一个或多个模块。
13.根据条款12所述的装置,其中,所述用于基于所述用户特征,确定向所述用户发布的所述软件的相关版本的装置用于:
-基于所述用户特征以及软件发布规则,确定向所述用户发布的所述软件的相关版本。
14.根据条款12或13所述的装置,其中,所述用于获取与调用所述软件相关联的第一请求的装置用于:
-获取用户通过用户设备所发送的与调用所述软件相关联的第一请求。
15.根据条款14所述的装置,其中,所述用于获取与调用所述软件相关联的第一请求的装置用于:
-获取所述软件的第一模块基于用户通过用户设备所发送的与调用
所述软件相关联的请求所发送的第一请求。
16.根据条款12-15中任一项所述的装置,其中,所述用于基于所述用户特征,确定向所述用户发布的所述软件的相关版本的装置用于:
-基于所述用户特征,确定向所述用户发布的所述软件的一个或多个第二模块的模块版本;
其中,所述用于基于所述第一请求,向所述软件的相关版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能的装置用于:
-基于所述第一请求,向所述软件的所述一个或多个第二模块的所述模块版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能,其中,所述第一网络设备运行与所述模块版本对应的所述软件的所述一个或多个第二模块。
17.根据条款12至16中任一项所述的装置,其中,所述装置还包括:
-用于在所述第一网络设备处基于所述第一请求、所述用户特征以及所述软件的相关版本,并基于所述第二请求,向与所述软件的相关版本相对应的另一个第一网络设备发送第三请求以调用所述软件的相关功能的装置,其中,所述另一个第一网络设备运行与所述相关版本对应的所述软件的一个或多个模块。
18.根据条款12至17中任一项所述的装置,其中,所述装置还包括:
-用于在第一网络设备处获取所述第二请求的装置;
-用于在所述第一网络设备处根据所述第二请求,执行所述软件的相关功能的装置。
19.根据条款18所述的装置,其中,所述装置还包括:
-用于根据执行所述软件的相关功能的执行结果,从所述第一网络设备向所述用户发送响应的装置。
20.根据条款13至19中任一项所述的装置,其中,所述装置还包括:
-用于根据用户特征,确定软件发布规则的装置;
-用于将所述软件发布规则发送至运行所述软件的一个或多个模块的一个或多个网络设备的装置。
21.根据条款12至20中任一项所述的装置,其中,所述装置还包括:
-用于对第一网络设备执行所述软件的相关功能的过程进行监控的装置。
22.根据条款12至21中任一项所述的装置,其中,所述用户特征包括以下至少任一项:
-所述用户所使用的用户设备的IP地址;
-所述用户所使用的用户设备的操作系统;
-所述用户所使用的客户端的名称;
-所述用户所使用的客户端的版本号;
-所述用户的地理位置;
-所述用户的类型;
-所述用户的历史使用习惯。
Claims (23)
- 一种在网络设备中用于软件发布的方法,其中,所述软件包括一个或多个模块,所述软件的一个或多个模块运行于一个或多个网络设备中,其中,该方法包括:-获取与调用所述软件相关联的第一请求;-基于所述第一请求,确定与所述第一请求相关联的用户的用户特征;-基于所述用户特征,确定向所述用户发布的所述软件的相关版本;-基于所述第一请求,向所述软件的相关版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能,其中,所述第一网络设备中运行与所述相关版本对应的所述软件的一个或多个模块。
- 根据权利要求1所述的方法,其中,所述基于所述用户特征,确定向所述用户发布的所述软件的相关版本的步骤包括:-基于所述用户特征以及软件发布规则,确定向所述用户发布的所述软件的相关版本。
- 根据权利要求1或2所述的方法,其中,所述获取与调用所述软件相关联的第一请求的步骤包括:-获取用户通过用户设备所发送的与调用所述软件相关联的第一请求。
- 根据权利要求3所述的方法,其中,所述获取与调用所述软件相关联的第一请求的步骤包括:-获取所述软件的第一模块基于用户通过用户设备所发送的与调用所述软件相关联的请求所发送的第一请求。
- 根据权利要求1-4中任一项所述的方法,其中,所述基于所述用 户特征,确定向所述用户发布的所述软件的相关版本的步骤包括:-基于所述用户特征,确定向所述用户发布的所述软件的一个或多个第二模块的模块版本;其中,所述基于所述第一请求,向所述软件的相关版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能的步骤包括:-基于所述第一请求,向所述软件的所述一个或多个第二模块的所述模块版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能,其中,所述第一网络设备运行与所述模块版本对应的所述软件的所述一个或多个第二模块。
- 根据权利要求1至5中任一项所述的方法,其中,所述方法还包括:-在所述第一网络设备处基于所述第一请求、所述用户特征以及所述软件的相关版本,并基于所述第二请求,向与所述软件的相关版本相对应的另一个第一网络设备发送第三请求以调用所述软件的相关功能,其中,所述另一个第一网络设备运行与所述相关版本对应的所述软件的一个或多个模块。
- 根据权利要求1至6中任一项所述的方法,其中,所述方法还包括:-在第一网络设备处获取所述第二请求;-在所述第一网络设备处根据所述第二请求,执行所述软件的相关功能。
- 根据权利要求7所述的方法,其中,所述方法还包括:-根据执行所述软件的相关功能的执行结果,从所述第一网络设备向所述用户发送响应。
- 根据权利要求2至8中任一项所述的方法,其中,所述方法还包 括:-根据用户特征,确定软件发布规则;-将所述软件发布规则发送至运行所述软件的一个或多个模块的一个或多个网络设备。
- 根据权利要求1至9中任一项所述的方法,其中,所述用户特征包括以下至少任一项:-所述用户所使用的用户设备的IP地址;-所述用户所使用的用户设备的操作系统;-所述用户所使用的客户端的名称;-所述用户所使用的客户端的版本号;-所述用户的地理位置;-所述用户的类型;-所述用户的历史使用习惯。
- 一种在网络设备中用于软件发布的装置,其中,所述软件包括一个或多个模块,所述软件的一个或多个模块运行于一个或多个网络设备中,其中,该装置包括:-用于获取与调用所述软件相关联的第一请求的装置;-用于基于所述第一请求,确定与所述第一请求相关联的用户的用户特征的装置;-用于基于所述用户特征,确定向所述用户发布的所述软件的相关版本的装置;-用于基于所述第一请求,向所述软件的相关版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能的装置,其中,所述第一网络设备中运行与所述相关版本对应的所述软件的一个或多个模块。
- 根据权利要求11所述的装置,其中,所述用于基于所述用户特征,确定向所述用户发布的所述软件的相关版本的装置用于:-基于所述用户特征以及软件发布规则,确定向所述用户发布的所述软件的相关版本。
- 根据权利要求11或12所述的装置,其中,所述用于获取与调用所述软件相关联的第一请求的装置用于:-获取用户通过用户设备所发送的与调用所述软件相关联的第一请求。
- 根据权利要求13中所述的装置,其中,所述用于获取与调用所述软件相关联的第一请求的装置用于:-获取所述软件的第一模块基于用户通过用户设备所发送的与调用所述软件相关联的请求所发送的第一请求。
- 根据权利要求11-14中任一项所述的装置,其中,所述用于基于所述用户特征,确定向所述用户发布的所述软件的相关版本的装置用于:-基于所述用户特征,确定向所述用户发布的所述软件的一个或多个第二模块的模块版本;其中,所述用于基于所述第一请求,向所述软件的相关版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能的装置用于:-基于所述第一请求,向所述软件的所述一个或多个第二模块的所述模块版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能,其中,所述第一网络设备运行与所述模块版本对应的所述软件的所述一个或多个第二模块。
- 根据权利要求11至15中任一项所述的装置,其中,所述装置还包括:-用于在所述第一网络设备处基于所述第一请求、所述用户特征以及所述软件的相关版本,并基于所述第二请求,向与所述软件的相关版 本相对应的另一个第一网络设备发送第三请求以调用所述软件的相关功能的装置,其中,所述另一个第一网络设备运行与所述相关版本对应的所述软件的一个或多个模块。
- 根据权利要求11至16中任一项所述的装置,其中,所述装置还包括:-用于在第一网络设备处获取所述第二请求的装置;-用于在所述第一网络设备处根据所述第二请求,执行所述软件的相关功能的装置。
- 根据权利要求17所述的装置,其中,所述装置还包括:-用于根据执行所述软件的相关功能的执行结果,从所述第一网络设备向所述用户发送响应的装置。
- 根据权利要求12至18中任一项所述的装置,其中,所述装置还包括:-用于根据用户特征,确定软件发布规则的装置;-用于将所述软件发布规则发送至运行所述软件的一个或多个模块的一个或多个网络设备的装置。
- 根据权利要求11至19中任一项所述的装置,其中,所述用户特征包括以下至少任一项:-所述用户所使用的用户设备的IP地址;-所述用户所使用的用户设备的操作系统;-所述用户所使用的客户端的名称;-所述用户所使用的客户端的版本号;-所述用户的地理位置;-所述用户的类型;-所述用户的历史使用习惯。
- 一种计算机可读存储介质,所述计算机可读存储介质包括计算机代码,当所述计算机代码被执行时,如权利要求1至10中任一项所述的方法被执行。
- 一种计算机程序产品,当所述计算机程序产品被计算机设备执行时,如权利要求1至10中任一项所述的方法被执行。
- 一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器中存储有计算机代码,所述处理器被配置来通过执行所述计算机代码以执行如权利要求1至10中任一项所述的方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201510131544.6 | 2015-03-24 | ||
| CN201510131544.6A CN104793932A (zh) | 2015-03-24 | 2015-03-24 | 一种用于软件发布的方法和装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2016150153A1 true WO2016150153A1 (zh) | 2016-09-29 |
Family
ID=53558748
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2015/092885 Ceased WO2016150153A1 (zh) | 2015-03-24 | 2015-10-27 | 一种用于软件发布的方法和装置 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN104793932A (zh) |
| WO (1) | WO2016150153A1 (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106843952A (zh) * | 2017-01-13 | 2017-06-13 | 百度在线网络技术(北京)有限公司 | 更新应用中功能模块的方法与装置 |
| CN111679981A (zh) * | 2020-06-05 | 2020-09-18 | 广州探途网络技术有限公司 | 应用软件发布方法、系统及电子设备 |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104793932A (zh) * | 2015-03-24 | 2015-07-22 | 百度在线网络技术(北京)有限公司 | 一种用于软件发布的方法和装置 |
| CN105912583A (zh) * | 2016-04-01 | 2016-08-31 | 乐视控股(北京)有限公司 | 移动终端会员服务数据交互方法及装置 |
| CN106095426A (zh) * | 2016-06-07 | 2016-11-09 | 中国建设银行股份有限公司 | 提供移动应用的系统、方法 |
| CN106201606A (zh) * | 2016-07-04 | 2016-12-07 | 上海优刻得信息科技有限公司 | 软件发布方法与系统 |
| CN109117178A (zh) * | 2018-08-20 | 2019-01-01 | 中国平安人寿保险股份有限公司 | 应用程序版本发布方法、装置及存储设备、计算机设备 |
| CN109491700A (zh) * | 2018-09-26 | 2019-03-19 | 平安科技(深圳)有限公司 | 多个版本应用程序发布方法、装置及相关设备 |
| CN111736876A (zh) * | 2020-06-28 | 2020-10-02 | 北京云族佳科技有限公司 | 客户端更新控制方法、装置、存储介质及服务器 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102402513A (zh) * | 2010-09-08 | 2012-04-04 | 腾讯科技(深圳)有限公司 | 一种软件首页管理方法、装置及系统 |
| CN103034508A (zh) * | 2011-10-10 | 2013-04-10 | 腾讯科技(深圳)有限公司 | 软件推荐方法和系统 |
| CN103581218A (zh) * | 2012-07-20 | 2014-02-12 | 百度在线网络技术(北京)有限公司 | 一种用于更新移动终端中移动搜索应用的方法与设备 |
| CN104793932A (zh) * | 2015-03-24 | 2015-07-22 | 百度在线网络技术(北京)有限公司 | 一种用于软件发布的方法和装置 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7877518B2 (en) * | 2000-11-30 | 2011-01-25 | Access Systems Americas, Inc. | Method and apparatus for updating applications on a mobile device via device synchronization |
| CN102930368B (zh) * | 2011-09-27 | 2017-05-03 | 微软技术许可有限责任公司 | 容错外部应用服务器 |
| US9285960B2 (en) * | 2011-12-30 | 2016-03-15 | International Business Machines Corporation | Business intelligence dashboard assembly tool with indications of relationships among content elements |
| CN103294487B (zh) * | 2012-02-22 | 2016-05-25 | 腾讯科技(深圳)有限公司 | 安装软件的方法、设备及系统 |
-
2015
- 2015-03-24 CN CN201510131544.6A patent/CN104793932A/zh active Pending
- 2015-10-27 WO PCT/CN2015/092885 patent/WO2016150153A1/zh not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102402513A (zh) * | 2010-09-08 | 2012-04-04 | 腾讯科技(深圳)有限公司 | 一种软件首页管理方法、装置及系统 |
| CN103034508A (zh) * | 2011-10-10 | 2013-04-10 | 腾讯科技(深圳)有限公司 | 软件推荐方法和系统 |
| CN103581218A (zh) * | 2012-07-20 | 2014-02-12 | 百度在线网络技术(北京)有限公司 | 一种用于更新移动终端中移动搜索应用的方法与设备 |
| CN104793932A (zh) * | 2015-03-24 | 2015-07-22 | 百度在线网络技术(北京)有限公司 | 一种用于软件发布的方法和装置 |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106843952A (zh) * | 2017-01-13 | 2017-06-13 | 百度在线网络技术(北京)有限公司 | 更新应用中功能模块的方法与装置 |
| CN111679981A (zh) * | 2020-06-05 | 2020-09-18 | 广州探途网络技术有限公司 | 应用软件发布方法、系统及电子设备 |
| CN111679981B (zh) * | 2020-06-05 | 2023-08-29 | 广州探途网络技术有限公司 | 应用软件发布方法、系统及电子设备 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN104793932A (zh) | 2015-07-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11296923B2 (en) | Network fault originator identification for virtual network infrastructure | |
| CN112583898B (zh) | 业务流程编排方法、装置、以及可读介质 | |
| Alhamazani et al. | An overview of the commercial cloud monitoring tools: research dimensions, design issues, and state-of-the-art | |
| US8782215B2 (en) | Performance testing in a cloud environment | |
| US12088628B2 (en) | Cross-plane monitoring intent and policy instantiation for network analytics and assurance | |
| US10057182B2 (en) | Method for providing development and deployment services using a cloud-based platform and devices thereof | |
| AU2017276254A1 (en) | Edge computing platform | |
| US11647086B2 (en) | System and method for maintaining user session continuity across multiple devices and/or multiple platforms | |
| US20260079723A1 (en) | Advanced agent instrumentation for implementation runtimes | |
| EP2630576B1 (en) | Goal state communication in computer clusters | |
| US11843674B2 (en) | Virtual workspace experience visualization and optimization | |
| US11411839B1 (en) | System and method to correlate end user experience with location | |
| US20150019722A1 (en) | Determining, managing and deploying an application topology in a virtual environment | |
| CN104793932A (zh) | 一种用于软件发布的方法和装置 | |
| US12438800B2 (en) | Cloud native observability migration and assessment | |
| CN116974874A (zh) | 数据库的测试方法、装置、电子设备及可读存储介质 | |
| US12218819B1 (en) | Traffic-based automated session tests | |
| US12585573B2 (en) | Assembling low-code applications with observability policy injections | |
| CN120010913A (zh) | 一种面向微前端的通用基础能力适配方法、设备及存储介质 | |
| Reddy et al. | Early performance prediction of web services | |
| CN115550187B (zh) | 网元拓扑变更方法、装置、系统、电子设备及存储介质 | |
| US12474982B2 (en) | Framework for digital workers | |
| US12470472B2 (en) | Optimized agent deployment for datacenter monitoring | |
| US20250106138A1 (en) | Cross-domain probing architecture for computer network monitoring | |
| US20250036559A1 (en) | Proactive detection of api performance and reliability in ci/cd pipelines |
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: 15886075 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: 15886075 Country of ref document: EP Kind code of ref document: A1 |