WO2016150153A1 - Procédé et dispositif de distribution de logiciel - Google Patents

Procédé et dispositif de distribution de logiciel Download PDF

Info

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
Application number
PCT/CN2015/092885
Other languages
English (en)
Chinese (zh)
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 WO2016150153A1 publication Critical patent/WO2016150153A1/fr

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements 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

L'invention concerne un procédé et un dispositif de distribution de logiciel, le procédé consistant : à acquérir une première demande associée à une invocation de logiciel ; à déterminer, en fonction de la première demande, une caractéristique d'utilisateur d'un utilisateur associée à la première demande ; à déterminer, en fonction de la caractéristique de l'utilisateur, une version d'un logiciel associé distribuée à l'utilisateur ; et à transmettre, en fonction de la première demande, une seconde demande à un premier dispositif de réseau correspondant à la version associée du logiciel de façon à invoquer une fonction associée du logiciel, le premier dispositif de réseau faisant fonctionner un ou plusieurs modules du logiciel correspondant à la version associée. Par comparaison à l'état de la technique, la présente invention amène différents utilisateurs à invoquer les fonctions associées du logiciel dans différentes versions de manière à limiter l'effet causé par une mise à jour du logiciel sur une certaine plage d'utilisateur, ce qui permet d'améliorer la commande de distribution de logiciel, et d'améliorer l'expérience de l'utilisateur.
PCT/CN2015/092885 2015-03-24 2015-10-27 Procédé et dispositif de distribution de logiciel WO2016150153A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510131544.6A CN104793932A (zh) 2015-03-24 2015-03-24 一种用于软件发布的方法和装置
CN201510131544.6 2015-03-24

Publications (1)

Publication Number Publication Date
WO2016150153A1 true WO2016150153A1 (fr) 2016-09-29

Family

ID=53558748

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/092885 WO2016150153A1 (fr) 2015-03-24 2015-10-27 Procédé et dispositif de distribution de logiciel

Country Status (2)

Country Link
CN (1) CN104793932A (fr)
WO (1) WO2016150153A1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 腾讯科技(深圳)有限公司 安装软件的方法、设备及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
WO2016150153A1 (fr) Procédé et dispositif de distribution de logiciel
US11296923B2 (en) Network fault originator identification for virtual network infrastructure
US10884808B2 (en) Edge computing platform
Alhamazani et al. An overview of the commercial cloud monitoring tools: research dimensions, design issues, and state-of-the-art
US10230601B1 (en) Systems and methods for integrated modeling and performance measurements of monitored virtual desktop infrastructure systems
US20120311128A1 (en) Performance testing in a cloud environment
US20150067019A1 (en) Method and system for using arbitrary computing devices for distributed data processing
US10057182B2 (en) Method for providing development and deployment services using a cloud-based platform and devices thereof
CN111258627B (zh) 一种接口文档生成方法和装置
US10200252B1 (en) Systems and methods for integrated modeling of monitored virtual desktop infrastructure systems
US10310594B2 (en) Knowledge base in virtual mobile management
US11647086B2 (en) System and method for maintaining user session continuity across multiple devices and/or multiple platforms
EP2630576B1 (fr) Communication d'états finaux dans des grappes informatiques
US9854031B2 (en) Cloud service agent based on service level agreement(SLA)
KR20160136489A (ko) 클라우드 서비스를 위한 가상화 기반 자원 관리 방법
US11843674B2 (en) Virtual workspace experience visualization and optimization
US20150019722A1 (en) Determining, managing and deploying an application topology in a virtual environment
EP2808792B1 (fr) Procédé et système pour utiliser des dispositifs de calcul arbitraire pour traiter des données réparties
US20220255813A1 (en) System and method to correlate end user experience with location
Tao et al. On building a cloud-based mobile testing infrastructure service system
CN108039956A (zh) 应用监控方法、系统和计算机可读存储介质
Klaver et al. Towards independent run-time cloud monitoring
Bellavista et al. Elastic provisioning of stateful telco services in mobile cloud networking
WO2023049520A1 (fr) Instrumentation d'agent avancée pour implémentations opentelemetry
Reddy et al. Early performance prediction of web services

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