WO2016150153A1 - Software release method and device - Google Patents

Software release method and device 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
French (fr)
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/en

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

Provided are a software release method and device, the method comprising: acquiring a first request associated with a software invocation; determining, based on the first request, a user characteristic of a user associated with the first request; determining, based on the user characteristic, a related version of a software released to the user; and transmitting, based on the first request, a second request to a first network device corresponding to the related version of the software so as to invoke a related function of the software, the first network device operating one or more modules of the software corresponding to the related version. Compared to the prior art, the present invention controls different users to invoke the related functions of the software in different versions so as to limit an effect caused by software update to a certain user range, thus enhancing control of software release, and improving user experience.

Description

一种用于软件发布的方法和装置Method and device for software release
相关申请的交叉引用Cross-reference to related applications
本申请享有2015年03月24日提交的专利申请号为201510131544.6、名称为“一种用于软件发布的方法和装置”的中国专利申请的优先权,该在先申请的内容以引用方式合并于此。The present application is entitled to the priority of the Chinese Patent Application No. 20151013154, filed on March 24, 2015, entitled "A method and apparatus for software distribution", the contents of which are hereby incorporated by reference. this.
技术领域Technical field
本发明涉及计算机领域,尤其涉及一种用于软件发布的方法和装置。The present invention relates to the field of computers, and in particular, to a method and apparatus for software distribution.
背景技术Background technique
现有技术中,由于用户对应用功能的时效性要求不断提高,使得软件更新节奏加快,软件开发商在进行软件升级前可能无法进行全面充分的调研,也无法选择性地听取忠实用户或核心用户的反馈,而只能将升级后的软件上线后再揣摩用户的体验和感受。然而此种传统的软件全量发布的方式涉及用户范围广,一旦升级后的软件出现问题,则可能致使波及范围太广,损害品牌形象,甚至造成忠实用户或核心用户流失。因此,如何更好地控制软件的发布是一个需要解决的问题。In the prior art, due to the increasing timeliness requirements of users for application functions, the pace of software update is accelerated, and software developers may not be able to conduct comprehensive and sufficient research before the software upgrade, and may not selectively listen to loyal users or core users. Feedback, but only after the upgraded software is online, try to figure out the user experience and feelings. However, the traditional software release method involves a wide range of users. Once the upgraded software has problems, it may cause widespread coverage, damage the brand image, and even lead to the loss of loyal users or core users. Therefore, how to better control the release of software is a problem that needs to be solved.
发明内容Summary of the invention
本发明的目的是提供一种在网络设备中用于软件发布的方法和装置。It is an object of the present invention to provide a method and apparatus for software distribution in a network device.
根据本发明的一个方面,提供一种在网络设备中用于软件发布的方法,其中,所述软件包括一个或多个模块,所述软件的一个或多个模块运行于一个或多个网络设备中,其中,该方法包括:According to an aspect of the invention, there is provided 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 Where the method comprises:
-获取与调用所述软件相关联的第一请求;- obtaining a first request associated with invoking the software;
-基于所述第一请求,确定与所述第一请求相关联的用户的用户特征; Determining a user characteristic of a user associated with the first request based on the first request;
-基于所述用户特征,确定向所述用户发布的所述软件的相关版本;Determining a relevant version of the software distributed to the user based on the user characteristics;
-基于所述第一请求,向所述软件的相关版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能,其中,所述第一网络设备中运行与所述相关版本对应的所述软件的一个或多个模块。Sending, based on the first request, a second request to a first network device corresponding to a relevant version of the software to invoke a related function of the software, wherein the first network device runs in the related version Corresponding to one or more modules of the software.
根据本发明的另一个方面,提供一种在网络设备中用于软件发布的装置,其中,所述软件包括一个或多个模块,所述软件的一个或多个模块运行于一个或多个网络设备中,其中,该装置包括:According to another aspect of the present invention, an apparatus for software distribution in a network device is provided, wherein the software includes one or more modules, one or more modules of the software running on one or more networks In the device, wherein the device comprises:
-用于获取与调用所述软件相关联的第一请求的装置;Means for obtaining a first request associated with invoking the software;
-用于基于所述第一请求,确定与所述第一请求相关联的用户的用户特征的装置;Means for determining a user characteristic of a user associated with the first request based on the first request;
-用于基于所述用户特征,确定向所述用户发布的所述软件的相关版本的装置;Means for determining a relevant version of the software distributed to the user based on the user characteristics;
-用于基于所述第一请求,向所述软件的相关版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能的装置,其中,所述第一网络设备中运行与所述相关版本对应的所述软件的一个或多个模块。Means for transmitting a second request to invoke a related function of the software to a first network device corresponding to a relevant version of the software based on the first request, wherein the first network device operates in a One or more modules of the software corresponding to the related version.
与现有技术相比,本发明基于用户特征来确定应向该用户发布的软件版本,并向运行相应版本软件的网络设备发送请求以调用该软件的相关功能,从而使得可以针对不同的用户,控制其调用不同版本的软件的相关功能。利用上述方法,本发明增强了对于软件发布的控制,提升了用户体验。Compared with the prior art, 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. With the above method, the present invention enhances the control of software distribution and improves the user experience.
附图说明DRAWINGS
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:Other features, objects, and advantages of the present invention will become more apparent from the Detailed Description of Description
图1示出根据本发明一个方面的实施例的在网络设备中用于软件发布的方法的流程图;1 shows a flow chart of a method for software distribution in a network device, in accordance with an embodiment of the present invention;
图2示出包含用户设备及网络设备的系统的一个实例; 2 shows an example of a system including a user equipment and a network device;
图3示出包含用户设备及网络设备的系统的另一个实例;Figure 3 illustrates another example of a system including user equipment and network equipment;
图4示出根据本发明另一个方面的实施例的在网络设备中用于软件发布的装置的示意图。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 same or similar reference numerals in the drawings denote the same or similar components.
具体实施方式detailed description
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。Before discussing the exemplary embodiments in more detail, it should be noted that some exemplary embodiments are described as a process or method depicted as a flowchart. Although the flowcharts describe various operations as a sequential process, many of the operations can be implemented in parallel, concurrently or concurrently. In addition, the order of operations can be rearranged. The process may be terminated when its operation is completed, but may also have additional steps not included in the figures. The processing may correspond to methods, functions, procedures, subroutines, subroutines, and the like.
在上下文中所称“计算机设备”,也称为“电脑”,是指可以通过运行预定程序或指令来执行数值计算和/或逻辑计算等预定处理过程的智能电子设备,其可以包括处理器与存储器,由处理器执行在存储器中预存的存续指令来执行预定处理过程,或是由ASIC、FPGA、DSP等硬件执行预定处理过程,或是由上述二者组合来实现。计算机设备包括但不限于服务器、个人电脑、笔记本电脑、平板电脑、智能手机等。By "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.
所述计算机设备包括用户设备与网络设备。其中,所述用户设备包括但不限于电脑、智能手机、PDA等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述计算机设备可单独运行来实现本发明,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本发明。其中,所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。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. Wherein, 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.
需要说明的是,所述用户设备、网络设备和网络等仅为举例,其 他现有的或今后可能出现的计算机设备或网络如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。It should be noted that 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.
后面所讨论的方法(其中一些通过流程图示出)可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合来实施。当用软件、固件、中间件或微代码来实施时,用以实施必要任务的程序代码或代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。The methods discussed below, some of which are illustrated by flowcharts, can be implemented in hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segments to carry out the necessary tasks can be stored in a machine or computer readable medium, such as a storage medium. The processor(s) can perform the necessary tasks.
这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本发明的示例性实施例的目的。但是本发明可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。The specific structural and functional details disclosed are merely representative and are for the purpose of describing exemplary embodiments of the invention. The present invention may, however, be embodied in many alternative forms and should not be construed as being limited only to the embodiments set forth herein.
应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。It should be understood that although the terms "first," "second," etc. may be used herein to describe the various elements, these elements should not be limited by these terms. These terms are used only to distinguish one unit from another. For example, a first unit could be termed a second unit, and similarly a second unit could be termed a first unit, without departing from the scope of the exemplary embodiments. The term "and/or" used herein includes any and all combinations of one or more of the associated listed items.
应当理解的是,当一个单元被称为“连接”或“耦合”到另一单元时,其可以直接连接或耦合到所述另一单元,或者可以存在中间单元。与此相对,当一个单元被称为“直接连接”或“直接耦合”到另一单元时,则不存在中间单元。应当按照类似的方式来解释被用于描述单元之间的关系的其他词语(例如“处于...之间”相比于“直接处于...之间”,“与...邻近”相比于“与...直接邻近”等等)。It will be understood that when a unit is referred to as "connected" or "coupled" to another unit, it can be directly connected or coupled to the other unit, or an intermediate unit can be present. In contrast, when a unit is referred to as being "directly connected" or "directly coupled" to another unit, there is no intermediate unit. Other words used to describe the relationship between the units should be interpreted in a similar manner (eg "between" and "directly between" and "adjacent to" Than "directly adjacent to", etc.).
这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。 The terminology used herein is for the purpose of describing the particular embodiments, The singular forms "a", "an", It is also to be understood that the terms "comprising" and """ Other features, integers, steps, operations, units, components, and/or combinations thereof.
还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。It should also be noted that, in some alternative implementations, the functions/acts noted may occur in a different order than that illustrated in the drawings. For example, two figures shown in succession may in fact be executed substantially concurrently or sometimes in the reverse order, depending on the function/acts involved.
下面结合附图对本发明作进一步详细描述。The invention is further described in detail below with reference to the accompanying drawings.
当前,一种常见的软件系统架构为将软件系统的客户端部署在用户设备上,完成该软件系统主要功能的服务器端软件则运行在网络设备上。用户使用用户设备上的客户端来通过网络发送请求至网络设备以调用网络设备上所运行的服务器端软件。此处,软件系统的客户端可以为例如运行于移动终端上的移动应用,或者运行于计算机上的浏览器等。一般地,软件系统的客户端与服务器端之间可通过特定协议,例如http协议,来进行通信。例如,用户通过用户设备上运行的客户端向网络设备发出http请求,相应地,网络设备上所运行的服务器端软件可以接收该http请求,并根据该http请求来调用服务器端软件的相应功能以提供用户所需要的服务。Currently, 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. Here, 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. Generally, the client and the server of the software system can communicate through a specific protocol, such as the http protocol. For example, the user sends an http request to the network device through the client running on the user device. Accordingly, 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.
考虑到网络设备的实际处理能力等因素,对于较大型软件系统,可以将服务器端软件部署在多台网络设备上。例如可将服务器端软件的不同模块分别部署在不同的网络设备上。例如,可以将网络服务器(web server)、数据库、其他服务器端软件模块分别部署在三个不同的网络设备上。Considering the actual processing power of the network device and other factors, for a larger software system, the server software can be deployed on multiple network devices. For example, different modules of the server software can be deployed on different network devices. For example, a web server, a database, and other server-side software modules can be deployed on three different network devices.
在本文中,为描述简明起见,我们以“客户端”指代软件系统的客户端部分,而以“软件”或“服务器端软件”指代软件系统的服务器端部分。其中,软件包括一个或多个模块。应注意的是,软件作为一个整体也可视为一个模块,其中该模块包含该软件的所有功能。根据本发明的用于软件发布的方法主要应用于网络设备上所运行的服务器端软件的发布。In this article, for the sake of brevity, we refer to the client portion of the software system as "client" and the server-side portion of the software system as "software" or "server-side software". 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.
本领域技术人员应理解,上述对于软件系统架构的简要描述仅为便于读者理解本发明原理而给出的示例性描述,而非对于本发明适用范围的任何限制。本发明的范围由所附权利要求而非上述说明限定。 Those skilled in the art will appreciate that the above-described brief description of the software system architecture is merely illustrative of the principles of the present invention and is not intended to limit the scope of the invention. The scope of the invention is defined by the appended claims rather than the description.
图1示出根据本发明一个方面的实施例的在网络设备中用于软件发布的方法的流程图。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.
如上文所述,此处的软件是指运行于网络设备上的服务器端软件。As mentioned above, the software here refers to server-side software running on a network device.
其中,本实施例的方法主要通过网络设备来实现,所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。需要说明的是,所述网络设备仅为举例,其他现有的或今后可能出现的网络设备如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。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. It should be noted that 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.
首先,在步骤S11中,网络设备获取与调用所述软件相关联的第一请求。First, in step S11, the network device acquires a first request associated with invoking the software.
在一个实施例中,网络设备获取用户通过用户设备所发送的与调用所述软件相关联的第一请求。以下以图2所示的包含用户设备及网络设备的系统为例进行说明。其中,用户设备x/y上运行客户端,并且网络设备a-d上分别运行服务器端软件或服务器端软件的一个或多个模块。例如,网络设备a上运行软件的web server模块以处理来自客户端的http请求,网络设备b-d上运行软件的除web server模块之外的所有其他模块。应注意的是,网络设备b、c、d上可分别运行不同版本的该软件的所有其他模块。用户可使用用户设备x或y上所运行的客户端,来向网络设备a发送http请求以调用该软件。则相应地,网络设备a调用所运行的web server模块获取该与调用该软件相关联的http请求作为第一请求。In one embodiment, the network device obtains a first request sent by the user via the user device in association with invoking the software. Hereinafter, a system including a user equipment and a network device shown in FIG. 2 will be described as an example. The client device runs on the user device x/y, and the network device a-d runs one or more modules of the server software or the server software, respectively. For example, 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. Correspondingly, the network device a invokes the running web server module to obtain the http request associated with invoking the software as the first request.
在另一个实施例中,网络设备获取所述软件的第一模块基于用户通过用户设备所发送的与调用所述软件相关联的请求所发送的第一请求。此处,软件的第一模块意指能够向该网络设备发送请求以调用该网络设备上所运行的软件或该软件的一个或多个模块的模块。例如,当软件由模块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请求,可以相同或相似。在另一些实现中,所述第一请求与原用户通过用户设备所发送的请求可以并不相同,其也可以基于不同的协议。In another embodiment, 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. Here, 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. For example, when the software consists of modules A, B, and C, where module A can be used to call modules B and C, then 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. It should be noted that 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. Hereinafter, a system including a user equipment and a network device shown in FIG. 3 will be described as an example. The client device runs on the user device x/y, and the network device a-h runs one or more modules of the server software or the server software. For example, 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. Correspondingly, 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. It should be noted that the first module should determine the first request in accordance with a predetermined protocol or interface. In some implementations, 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. In other implementations, 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.
本领域技术人员应理解,此处,对于网络设备获取与调用所述软件相关联的第一请求的相关描述仅为示例性而非限定性描述,存在其他各种实现方式而不背离本发明的精神或范畴,并以引用的方式包含于此。并且本领域技术人员也应理解,虽然上述说明基于附图2及3所示出的系统,但其仅为方便本领域技术人员理解本发明原理,而并非对于本发明适用范围的任何限制。It should be understood by those skilled in the art that, here, the description of the first request for the network device to acquire the first application associated with the software is merely exemplary and not limiting, and there are other various implementations without departing from the invention. Spirit or category, and is included here 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.
接着,在步骤S12中,网络设备基于所述第一请求,确定与所述请求相关联的用户的用户特征。此处,与所述请求相关联的用户意指通过用户设备发送该第一请求的用户,或者当第一请求为软件的第一模块所基于用户通过用户设备所发送的与调用该软件相关联的请求时,意指通过用户设备发送与调用该软件相关联的请求的用户。Next, in step S12, the network device determines a user feature of the user associated with the request based on the first request. Here, 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. In the case of a request, means a user who sends a request associated with the calling of the software through the user device.
此处,用户的用户特征包括以下至少任一项: Here, the user characteristics of the user include at least one of the following:
-所述用户所使用的用户设备的IP地址;- the IP address of the user equipment used by the user;
-所述用户所使用的用户设备的操作系统;- an operating system of the user equipment used by the user;
-所述用户所使用的客户端的名称;- the name of the client used by the user;
-所述用户所使用的客户端的版本号;- the version number of the client used by the user;
-所述用户的地理位置;- the geographic location of the user;
-所述用户的类型;- the type of the user;
-所述用户的历史使用习惯。- The user's historical usage habits.
其中,所述用户所使用的客户端意指所述用户所使用的在用户设备上所运行的该软件的客户端。所述用户的地理位置可以为该用户的当前地理位置,或者也可以为该用户的注册地理位置或归属地理位置等。所述用户的类型可以按照不同方式来进行分类,例如按照用户级别来进行分类,按照用户使用该软件的时间来进行分类等等。所述用户的历史使用习惯可以来源于用户使用软件的历史数据,例如用户是否喜欢使用最新版本的软件,或者用户是否更倾向于某种软件界面形式,等等。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.
本领域技术人员应理解,此处,对于用户特征的相关描述仅为示例性而非限定性描述,存在其他各种用户特征而不背离本发明的精神或范畴,并以引用的方式包含于此。It will be understood by those skilled in the art that the description of the features of the user is merely illustrative and not limiting, and various other user features are present without departing from the spirit or scope of the invention, and are incorporated herein by reference. .
此处,当网络设备在步骤S11中获取到第一请求后,网络设备可对该第一请求进行分析以得到与该第一请求相关联的用户,例如用户名,并可通过例如分析与该第一请求相关联的cookie,或通过例如查询数据库或与其他网络设备交互,来确定该用户的用户特征,例如用户名,用户的地理位置,用户类型,用户的历史使用习惯,以及用户设备的IP地址,所使用的用户设备的操作系统,所使用的应用的名称,所使用的应用的版本号等。Here, after the network device obtains the first request in step S11, 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.
本领域技术人员应理解,此处,对于确定用户特征的相关描述仅为示例性而非限定性描述,存在其他各种实现方式而不背离本发明的精神或范畴,并以引用的方式包含于此。It should be understood by those skilled in the art that the description of the user features is merely exemplary and not limiting, and various other implementations are possible without departing from the spirit or scope of the invention, and this.
接着,在步骤S13中,网络设备基于所述用户特征,确定向所述 用户发布的所述软件的相关版本。Next, in step S13, the network device determines to the A related version of the software published by the user.
此处,向用户发布软件意指当用户通过用户设备上所运行的该软件的客户端来向网络设备上的服务器端软件发出请求时,为该用户调用所述服务器端软件的相关功能。Here, 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.
此处,软件的相关版本意指该软件的版本,或软件的一个或多个模块的模块版本等。其中当该软件的一个或多个模块构成该软件的子系统时,模块版本也可指该子系统的子系统版本。Here, 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. Where, when one or more modules of the software form a subsystem of the software, the module version may also refer to the subsystem version of the subsystem.
具体地,网络设备可以基于所述用户特征中所包含的一项用户特征或多项用户特征的组合,来确定向所述用户发布的所述软件的相关版本。例如网络设备基于所述用户所使用的用户设备的IP地址,或所述用户所使用的用户设备的操作系统,或所述用户所使用的客户端的名称,或所述用户所使用的客户端的版本号,或所述用户的地理位置,或所述用户的类型,或所述用户的历史使用习惯来确定向所述用户发布的所述软件的相关版本。例如,当网络设备基于所述用户的类型确定该用户为该软件的新用户时,则可确定向该用户发布该软件的最新测试版本;而当确定该用户为该软件的长期用户时,则可确定向该用户发布该软件的已通过测试的稳定版本。又例如,当网络设备基于所述用户的历史使用习惯确定该用户倾向于使用最新版本的软件时,则可确定向所述用户发布的所述软件的相关版本为该软件的最新版本。本领域技术人员应理解,此处,对于基于所述用户特征,确定向所述用户发布的所述软件的相关版本的相关描述仅为示例性而非限定性描述,存在其他各种实现方式而不背离本发明的精神或范畴,并以引用的方式包含于此。Specifically, 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. For example, when 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. It should be understood by those skilled in the art that, here, the relevant description of determining the relevant version of the software distributed to the user based on the user characteristics is merely exemplary rather than limiting, and there are other various implementations. The spirit or scope of the present invention is not departed from, and is included herein by reference.
在一个实施例中,网络设备基于用户特征以及软件发布规则,确定向所述用户发布的所述软件的相关版本。具体地,网络设备可以预先确定软件发布规则,例如软件发布规则可以为当所述用户所使用的客户端的版本号为最新版本并且所述用户的类型为新用户时,确定向所述用户发布的所述软件的相关版本为最新测试版本;或例如软件发布规则可以为当所述用户所使用的用户设备的操作系统为Android系统时,确定向 所述用户发布的所述软件的相关版本为版本3.0,而当该操作系统为iOS系统时,确定该相关版本为版本2.0。网络设备可以将用户特征与软件发布规则进行匹配,并根据所匹配到的软件发布规则来确定向所述用户发布的所述软件的相关版本。此外,在一个实例中,网络设备可以预先确定软件发布规则的优先级,从而用户特征与多个软件发布规则相匹配时,可根据优先级高低来确定向所述用户发布的所述软件的相关版本。在另一个实例中,软件发布规则还可以根据实际需要来动态调整。In one embodiment, the network device determines a relevant version of the software posted to the user based on user characteristics and software publishing rules. Specifically, 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. In addition, in an example, 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. In another example, software publishing rules can also be dynamically adjusted based on actual needs.
本领域技术人员应理解,此处,对于软件发布规则,以及对于基于用户特征以及软件发布规则,确定向所述用户发布的所述软件的相关版本的相关描述仅为示例性而非限定性描述,存在其他各种实现方式而不背离本发明的精神或范畴,并以引用的方式包含于此。It should be understood by those skilled in the art that, here, for software publishing rules, and for user-based features and software publishing rules, the relevant description of determining the relevant version of the software distributed to the user is merely exemplary rather than limiting. There are other various implementations without departing from the spirit or scope of the invention, and are incorporated herein by reference.
在一个实施例中,网络设备在步骤S13中基于所述用户特征,确定向所述用户发布的所述软件的一个或多个第二模块的模块版本。此处,软件的第二模块意指该网络设备上所运行的该软件或该软件的一个或多个模块将要调用的模块,也可称为该网络设备的下游模块。In one embodiment, 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. Here, 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.
我们以图3所示的系统为例来进行说明。接上例,假定用户B通过用户设备y所发送的与调用该软件相关联的http请求涉及B功能。运行“B功能入口模块”的网络设备b获取来自网络设备a上运行的该软件的第一模块,例如web server模块,基于用户B所发送的该http请求所发送第一请求。从而,网络设备b在执行步骤S11、S12后确定了与该第一请求相关联的用户为用户B,其用户特征中的用户类型为核心用户类型。由于该请求涉及B功能,网络设备b确定其需要调用的第二模块为B模块。网络设备b基于上述用户特征,并按照上文所述的方法,确定向用户B发布的所述软件的B模块的模块版本为2.0。Let us 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 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.
又例如,由于该请求涉及B功能,网络设备b确定其需要调用的第二模块为B1模块以及B2模块。网络设备b基于上述用户特征,并按照上文所述的方法,确定向用户B发布的所述软件的B1模块以及B2模块的统一的模块版本为2.0。或者,网络设备b可确定向用户B发布的所述软件的B1模块的模块版本为2.0,而向用户B发布的所述软件的 B2模块的模块版本为1.0。For another example, since the request involves a B function, 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. Alternatively, 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.
又例如,当网络设备b确定需要调用的第二模块为子系统B所涉及的全部模块B1、B2及B3时,网络设备b可确定该子系统B的子系统版本3.0作为向用户B发布的所述软件的B1、B2及B3模块的模块版本。For another example, 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.
本领域技术人员应理解,此处,对于第二模块及模块版本的相关描述仅为示例性而非限定性描述,存在其他各种实现方式而不背离本发明的精神或范畴,并以引用的方式包含于此。It should be understood by those skilled in the art that the description of the second module and the module version is merely exemplary and not limiting, and there are other various implementations without departing from the spirit or scope of the present invention. The way is included here.
接着,在步骤S14中,网络设备基于所述第一请求,向所述软件的相关版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能,其中,所述第一网络设备中运行与所述相关版本对应的所述软件的一个或多个模块。Next, in 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.
具体地,网络设备在执行步骤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。Specifically, 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. Then 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.
接着,网络设备基于所述第一请求,向所述第一网络设备发送第二请求以调用所述软件的相关功能。例如网络设备基于第一请求确定需要调用的相关功能,并依据事先约定的协议或接口等,来基于第一 请求确定调用所述软件的相关功能的第二请求,并向所述第一网络设备发送第二请求。其中,所述第二请求可以与所述第一请求相同或类似,例如其为相同或类似的http请求,或者所述第二请求也可以与所述第一请求不相同或使用不同的协议等。并且,如上所述,网络设备可确定多个第一网络设备。相应地,网络设备可以根据需要确定一个或多个第二请求,并分别发送给各个第一网络设备。Then, 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. . And, as described above, the network device can determine a plurality of first network devices. Correspondingly, the network device can determine one or more second requests according to requirements and send them to each of the first network devices.
本领域技术人员应理解,此处,对于第一网络设备、第二请求以及基于所述第一请求,向所述软件的相关版本相对应的第一网络设备发送第二请求的相关描述仅为示例性而非限定性描述,存在其他各种实现方式而不背离本发明的精神或范畴,并以引用的方式包含于此。It should be understood by those skilled in the art that, here, for the first network device, the second request, and the first request, based on the first request, the related description of sending the second request to the first network device corresponding to the relevant version of the software is only The exemplifications are not intended to be limiting, and the various embodiments may be made without departing from the spirit and scope of the invention.
在一个实施例中,网络设备在步骤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。In one embodiment, 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. Next, in step S14, 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. 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. 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 then 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.
本领域技术人员应理解,此处,对于基于所述第一请求,向所述 软件的所述一个或多个第二模块的所述模块版本相对应的第一网络设备发送第二请求的相关描述仅为示例性而非限定性描述,存在其他各种实现方式而不背离本发明的精神或范畴,并以引用的方式包含于此。Those skilled in the art should understand that here, for the first request, according to the first request The related description of the first network device corresponding to the module version of the one or more second modules of the software transmitting the second request is merely exemplary and not limiting, and there are other various implementations without departing from the present disclosure. The spirit or scope of the invention is incorporated herein by reference.
在一个实施例中,当第一网络设备获取到第二请求后,所述第一网络设备基于所述第一请求、所述用户特征以及所述软件的相关版本,并基于所述第二请求,向与所述软件的相关版本相对应的另一个第一网络设备发送第三请求以调用所述软件的相关功能,其中,所述另一个第一网络设备运行与所述相关版本对应的所述软件的一个或多个模块。具体地,当第一网络设备获取到第二请求后,可以例如通过分析该第二请求,或与发送该第二请求的网络设备进行交互等方式获取所述第一请求、所述用户特征以及所述软件的相关版本。并且第一网络设备也可根据上文所述的方法,将所述第二请求做为第一请求,来执行步骤S12及S13从而确定用户的用户特征以及向该用户发布的所述软件的相关版本。接着,该第一网络设备按照上文所述的方法,向与所述软件的相关版本相对应的另一个第一网络设备发送第三请求以调用所述软件的相关功能,其中,所述另一个第一网络设备运行与所述相关版本对应的所述软件的一个或多个模块。按照上文所述的方式,一个或多个网络设备可以多次执行根据本发明一个方面的方法,直至完成调用所述软件的相关功能。In one embodiment, after the first network device obtains the second request, 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. Specifically, after 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. And 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. In the manner described above, 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.
在一个实施例中,所述用于软件发布的方法还包括在第一网络设备处获取所述第二请求的步骤,以及在所述第一网络设备处根据所述第二请求,执行所述软件的相关功能的步骤。具体地,第一网络设备按照预先约定的协议或接口,接收来自网络设备的所述第二请求。接着,第一网络设备根据该第二请求,来执行在该第一网络设备上所运行的所述软件的相关功能。In one embodiment, 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.
在另一个实施例中,所述用于软件发布的方法还包括根据执行所述软件的相关功能的执行结果,从所述第一网络设备向所述用户发送响应。具体地,所述第一网络设备可以通过网络按照预定协议或接口,将 所述执行结果作为响应,例如http响应,发送至所述用户。In another embodiment, 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. Specifically, 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.
在一个实施例中,所述用于软件发布的方法还包括根据用户特征,确定软件发布规则的步骤;以及将所述软件发布规则发送至运行所述软件的一个或多个模块的一个或多个网络设备的步骤。In one embodiment, 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.
具体地,可以按照实际需要来根据用户特征,确定软件发布规则。例如软件发布规则可以为当所述用户所使用的客户端的版本号为最新版本并且所述用户的类型为新用户时,确定向所述用户发布的所述软件的相关版本为最新测试版本;或例如软件发布规则可以为当所述用户所使用的用户设备的操作系统为Android系统时,确定向所述用户发布的所述软件的相关版本为版本3.0,而当该操作系统为iOS系统时,确定该相关版本为版本2.0。Specifically, the software publishing rule may be determined according to user characteristics according to actual needs. For example, 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 For example, 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 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. For example, the software publishing rules can be synchronized to various network devices periodically or in real time.
在一个实施例中,所述用于软件发布的方法还包括对第一网络设备执行所述软件的相关功能的过程进行监控。例如,可以监控该软件或该软件的一个或多个模块的一个或多个进程,并可记录或报告监控信息。此外,还可以进一步对该软件或该软件的一个或多个模块的不同版本的监控信息进行分析,例如加以对比,从而可用于对该软件或该软件的一个或多个模块的不同版本进行评估。In one embodiment, 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. .
图4示出根据本发明另一个方面的实施例的在网络设备中用于软件发布的装置的示意图。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.
如上文所述,此处的软件是指运行于网络设备上的服务器端软件。As mentioned above, the software here refers to server-side software running on a network device.
其中,本实施例的方法主要通过网络设备来实现,所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。需要说明的是,所述网络设备仅为举例,其 他现有的或今后可能出现的网络设备如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。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. It should be noted that 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.
如图4所示,根据本发明的用于软件发布的装置包括用于获取与调用所述软件相关联的第一请求的装置41,以下简称第一获取装置41;用于基于所述第一请求,确定与所述第一请求相关联的用户的用户特征的装置,以下简称用户特征确定装置42;用于基于所述用户特征,确定向所述用户发布的所述软件的相关版本的装置43,以下简称第一确定装置43;以及用于基于所述第一请求,向所述软件的相关版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能的装置44,以下简称第一发送装置44。As shown in FIG. 4, an apparatus for software distribution according to the present invention 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. Hereinafter referred to as 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, Hereinafter referred to as the first transmitting device 44.
首先,第一获取装置41获取与调用所述软件相关联的第一请求。First, the first obtaining means 41 acquires a first request associated with invoking the software.
在一个实施例中,第一获取装置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请求作为第一请求。In one embodiment, the first obtaining means 41 obtains a first request sent by the user via the user device in association with invoking the software. Hereinafter, a system including a user equipment and a network device shown in FIG. 2 will be described as an example. The client device runs on the user device x/y, and the network device a-d runs one or more modules of the server software or the server software, respectively. For example, 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. Correspondingly, 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.
在另一个实施例中,第一获取装置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请求,可以相同或相似。在另一些实现中,所述第一请求与原用户通过用户设备所发送的请求可以并不相同,其也可以基于不同的协议。In another embodiment, 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. Here, 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. For example, when 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. It should be noted that 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. Hereinafter, a system including a user equipment and a network device shown in FIG. 3 will be described as an example. The client device runs on the user device x/y, and the network device a-h runs one or more modules of the server software or the server software. For example, 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. Correspondingly, 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. It should be noted that the first module should determine the first request in accordance with a predetermined protocol or interface. In some implementations, 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. In other implementations, 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.
本领域技术人员应理解,此处,对于第一获取装置41获取与调用所述软件相关联的第一请求的相关描述仅为示例性而非限定性描述,存在其他各种实现方式而不背离本发明的精神或范畴,并以引用的方式包含于此。并且本领域技术人员也应理解,虽然上述说明基于附图2及3所示出的系统,但其仅为方便本领域技术人员理解本发明原理,而并非对于本发明适用范围的任何限制。It should be understood by those skilled in the art that, here, 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.
接着,用户特征确定装置42基于所述第一请求,确定与所述请求相关联的用户的用户特征。此处,与所述请求相关联的用户意指通过用户设备发送该第一请求的用户,或者当第一请求为软件的第一模块所基于用户通过用户设备所发送的与调用该软件相关联的请求时,意指通过用户设备发送与调用该软件相关联的请求的用户。Next, the user feature determining means 42 determines the user characteristics of the user associated with the request based on the first request. Here, 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. In the case of a request, means a user who sends a request associated with the calling of the software through the user device.
此处,用户的用户特征包括以下至少任一项:Here, the user characteristics of the user include at least one of the following:
-所述用户所使用的用户设备的IP地址; - the IP address of the user equipment used by the user;
-所述用户所使用的用户设备的操作系统;- an operating system of the user equipment used by the user;
-所述用户所使用的客户端的名称;- the name of the client used by the user;
-所述用户所使用的客户端的版本号;- the version number of the client used by the user;
-所述用户的地理位置;- the geographic location of the user;
-所述用户的类型;- the type of the user;
-所述用户的历史使用习惯。- The user's historical usage habits.
其中,所述用户所使用的客户端意指所述用户所使用的在用户设备上所运行的该软件的客户端。所述用户的地理位置可以为该用户的当前地理位置,或者也可以为该用户的注册地理位置或归属地理位置等。所述用户的类型可以按照不同方式来进行分类,例如按照用户级别来进行分类,按照用户使用该软件的时间来进行分类等等。所述用户的历史使用习惯可以来源于用户使用软件的历史数据,例如用户是否喜欢使用最新版本的软件,或者用户是否更倾向于某种软件界面形式,等等。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.
本领域技术人员应理解,此处,对于用户特征的相关描述仅为示例性而非限定性描述,存在其他各种用户特征而不背离本发明的精神或范畴,并以引用的方式包含于此。It will be understood by those skilled in the art that the description of the features of the user is merely illustrative and not limiting, and various other user features are present without departing from the spirit or scope of the invention, and are incorporated herein by reference. .
此处,当第一获取装置41获取到第一请求后,用户特征确定装置42可对该第一请求进行分析以得到与该第一请求相关联的用户,例如用户名,并可通过例如分析与该第一请求相关联的cookie,或通过例如查询数据库或与其他网络设备交互,来确定该用户的用户特征,例如用户名,用户的地理位置,用户类型,用户的历史使用习惯,以及用户设备的IP地址,所使用的用户设备的操作系统,所使用的应用的名称,所使用的应用的版本号等。Here, after the first obtaining means 41 obtains the first request, 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.
本领域技术人员应理解,此处,对于确定用户特征的相关描述仅为示例性而非限定性描述,存在其他各种实现方式而不背离本发明的精神或范畴,并以引用的方式包含于此。It should be understood by those skilled in the art that the description of the user features is merely exemplary and not limiting, and various other implementations are possible without departing from the spirit or scope of the invention, and this.
接着,第一确定装置43基于所述用户特征,确定向所述用户发布的所述软件的相关版本。 Next, the first determining means 43 determines a relevant version of the software distributed to the user based on the user characteristics.
此处,向用户发布软件意指当用户通过用户设备上所运行的该软件的客户端来向网络设备上的服务器端软件发出请求时,为该用户调用所述服务器端软件的相关功能。Here, 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.
此处,软件的相关版本意指该软件的版本,或软件的一个或多个模块的模块版本等。其中当该软件的一个或多个模块构成该软件的子系统时,模块版本也可指该子系统的子系统版本。Here, 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. Where, when one or more modules of the software form a subsystem of the software, the module version may also refer to the subsystem version of the subsystem.
具体地,第一确定装置43可以基于所述用户特征中所包含的一项用户特征或多项用户特征的组合,来确定向所述用户发布的所述软件的相关版本。例如第一确定装置43基于所述用户所使用的用户设备的IP地址,或所述用户所使用的用户设备的操作系统,或所述用户所使用的客户端的名称,或所述用户所使用的客户端的版本号,或所述用户的地理位置,或所述用户的类型,或所述用户的历史使用习惯来确定向所述用户发布的所述软件的相关版本。例如,当用户特征确定装置42基于所述用户的类型确定该用户为该软件的新用户时,则第一确定装置43可确定向该用户发布该软件的最新测试版本;而当用户特征确定装置42确定该用户为该软件的长期用户时,则第一确定装置43可确定向该用户发布该软件的已通过测试的稳定版本。又例如,当用户特征确定装置42基于所述用户的历史使用习惯确定该用户倾向于使用最新版本的软件时,则第一确定装置43可确定向所述用户发布的所述软件的相关版本为该软件的最新版本。本领域技术人员应理解,此处,对于基于所述用户特征,确定向所述用户发布的所述软件的相关版本的相关描述仅为示例性而非限定性描述,存在其他各种实现方式而不背离本发明的精神或范畴,并以引用的方式包含于此。Specifically, 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. For example, when the user feature determining means 42 determines that the user is a new user of the software based on the type of 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. When the user is determined to be a long-term user of the software, the first determining means 43 may determine to issue to the user a verified version of the software that has passed the test. For another example, when 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. It should be understood by those skilled in the art that, here, the relevant description of determining the relevant version of the software distributed to the user based on the user characteristics is merely exemplary rather than limiting, and there are other various implementations. The spirit or scope of the present invention is not departed from, and is included herein by reference.
在一个实施例中,第一确定装置43基于用户特征以及软件发布规则,确定向所述用户发布的所述软件的相关版本。具体地,第一确定装置43可以预先确定软件发布规则,例如软件发布规则可以为当所述用户所使用的客户端的版本号为最新版本并且所述用户的类型为新用户时,确定向所述用户发布的所述软件的相关版本为最新测试版本;或例如软件发布规则可以为当所述用户所使用的用户设备的操作系统为 Android系统时,确定向所述用户发布的所述软件的相关版本为版本3.0,而当该操作系统为iOS系统时,确定该相关版本为版本2.0。第一确定装置43可以将用户特征与软件发布规则进行匹配,并根据所匹配到的软件发布规则来确定向所述用户发布的所述软件的相关版本。此外,在一个实例中,第一确定装置43可以预先确定软件发布规则的优先级,从而当用户特征与多个软件发布规则相匹配时,可根据优先级高低来确定向所述用户发布的所述软件的相关版本。在另一个实例中,第一确定装置43还可以根据实际需要来动态调整软件发布规则。In one embodiment, the first determining means 43 determines a relevant version of the software distributed to the user based on user characteristics and software publishing rules. Specifically, 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.
本领域技术人员应理解,此处,对于软件发布规则,以及对于基于用户特征以及软件发布规则,确定向所述用户发布的所述软件的相关版本的相关描述仅为示例性而非限定性描述,存在其他各种实现方式而不背离本发明的精神或范畴,并以引用的方式包含于此。It should be understood by those skilled in the art that, here, for software publishing rules, and for user-based features and software publishing rules, the relevant description of determining the relevant version of the software distributed to the user is merely exemplary rather than limiting. There are other various implementations without departing from the spirit or scope of the invention, and are incorporated herein by reference.
在一个实施例中,第一确定装置43用于基于所述用户特征,确定向所述用户发布的所述软件的一个或多个第二模块的模块版本。第一确定装置43基于所述用户特征,确定向所述用户发布的所述软件的一个或多个第二模块的模块版本。此处,软件的第二模块意指该网络设备上所运行的该软件或该软件的一个或多个模块将要调用的模块,也可称为该网络设备的下游模块。In one embodiment, 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. Here, 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.
我们以图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。Let us 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 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. Thus, 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.
又例如,由于该请求涉及B功能,网络设备b的第一确定装置43 确定其需要调用的第二模块为B1模块以及B2模块。网络设备b的第一确定装置43基于上述用户特征,并按照上文所述的方法,确定向用户B发布的所述软件的B1模块以及B2模块的统一的模块版本为2.0。或者,网络设备b的第一确定装置43可确定向用户B发布的所述软件的B1模块的模块版本为2.0,而向用户B发布的所述软件的B2模块的模块版本为1.0。For another example, since the request relates to the B function, the first determining means 43 of the network device b The second module that needs to be called is the B1 module and the B2 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 unified module version of the B1 module and the B2 module of the software distributed to the user B is 2.0. Alternatively, 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.
又例如,当网络设备b的第一确定装置43确定需要调用的第二模块为子系统B所涉及的全部模块B1、B2及B3时,网络设备b的第一确定装置43可确定该子系统B的子系统版本3.0作为向用户B发布的所述软件的B1、B2及B3模块的模块版本。For another example, when 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.
本领域技术人员应理解,此处,对于第二模块及模块版本的相关描述仅为示例性而非限定性描述,存在其他各种实现方式而不背离本发明的精神或范畴,并以引用的方式包含于此。It should be understood by those skilled in the art that the description of the second module and the module version is merely exemplary and not limiting, and there are other various implementations without departing from the spirit or scope of the present invention. The way is included here.
接着,第一发送装置44基于所述第一请求,向所述软件的相关版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能,其中,所述第一网络设备中运行与所述相关版本对应的所述软件的一个或多个模块。Next, 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.
具体地,第一确定装置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。Specifically, 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. Take the system shown in Figure 2 as an example. In the above example, it is assumed that 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. Then, 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. . Then 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.
接着,第一发送装置44基于所述第一请求,向所述第一网络设备发送第二请求以调用所述软件的相关功能。例如第一发送装置44基于第一请求确定需要调用的相关功能,并依据事先约定的协议或接口等,来基于第一请求确定调用所述软件的相关功能的第二请求,并向所述第一网络设备发送第二请求。其中,所述第二请求可以与所述第一请求相同或类似,例如其为相同或类似的http请求,或者所述第二请求也可以与所述第一请求不相同或使用不同的协议等。并且,如上所述,第一发送装置44可确定多个第一网络设备。相应地,第一发送装置44可以根据需要确定一个或多个第二请求,并分别发送给各个第一网络设备。Next, 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. For example, 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. . And, as described above, the first transmitting device 44 can determine a plurality of first network devices. Correspondingly, the first sending device 44 can determine one or more second requests as needed and send them to the respective first network devices.
本领域技术人员应理解,此处,对于第一网络设备、第二请求以及基于所述第一请求,向所述软件的相关版本相对应的第一网络设备发送第二请求的相关描述仅为示例性而非限定性描述,存在其他各种实现方式而不背离本发明的精神或范畴,并以引用的方式包含于此。It should be understood by those skilled in the art that, here, for the first network device, the second request, and the first request, based on the first request, the related description of sending the second request to the first network device corresponding to the relevant version of the software is only The exemplifications are not intended to be limiting, and the various embodiments may be made without departing from the spirit and scope of the invention.
在一个实施例中,第一确定装置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。In one embodiment, 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. After the first obtaining means 41 of the network device b running the "B function entry module" acquires the first request sent from the first module of the software running on the network device a, 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. Therefore, 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 then 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.
本领域技术人员应理解,此处,对于基于所述第一请求,向所述软件的所述一个或多个第二模块的所述模块版本相对应的第一网络设备发送第二请求的相关描述仅为示例性而非限定性描述,存在其他各种实现方式而不背离本发明的精神或范畴,并以引用的方式包含于此。It should be understood by those skilled in the art that, here, for the first network device that corresponds to the module version of the one or more second modules of the software, the second request is sent based on the first request. The description is intended to be illustrative, and not restrictive.
在一个实施例中,所述用于软件发布的装置还包括用于在所述第一网络设备处基于所述第一请求、所述用户特征以及所述软件的相关版本,并基于所述第二请求,向与所述软件的相关版本相对应的另一个第一网络设备发送第三请求以调用所述软件的相关功能的装置,以下简称第二发送装置45(未示出)。当第一网络设备获取到第二请求后,所述第一网络设备的第二发送装置45基于所述第一请求、所述用户特征以及所述软件的相关版本,并基于所述第二请求,向与所述软件的相关版本相对应的另一个第一网络设备发送第三请求以调用所述软件的相关功能,其中,所述另一个第一网络设备运行与所述相关版本对应的所述软件的一个或多个模块。具体地,当第一网络设备获取到第二请求后,第一网络设备的第二发送装置45可以例如通过分析该第二请求,或与发送该第二请求的网络设备进行交互等方式获取所述第一请求、所述用户特征以及所述软件的相关版本。并且第一网络设备的第二发送装置45也可根据上文所述的方法,将所述第二请求做为第一请求,并利用用户特征确定装置42以及第一确定装置43确定用户的用户特征以及向该用 户发布的所述软件的相关版本。接着,该第一网络设备的第二发送装置45按照上文所述的方法,向与所述软件的相关版本相对应的另一个第一网络设备发送第三请求以调用所述软件的相关功能,其中,其中,所述另一个第一网络设备运行与所述相关版本对应的所述软件的一个或多个模块。按照上文所述的方式,一个或多个网络设备的用于软件发布的装置均可以执行相关操作,直至完成调用所述软件的相关功能。In one embodiment, 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. After the first network device obtains the second request, 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. Specifically, after the first network device obtains the second request, 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. And 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.
在一个实施例中,所述用于软件发布的装置还包括用于在第一网络设备处获取所述第二请求的装置,以下简称第二获取装置46(未示出),以及用于在所述第一网络设备处根据所述第二请求,执行所述软件的相关功能的装置,以下简称执行装置47(未示出)。具体地,第一网络设备的第二获取装置46按照预先约定的协议或接口,接收来自网络设备的所述第二请求。接着,第一网络设备的执行装置47根据该第二请求,来执行在该第一网络设备上所运行的所述软件的相关功能。In one embodiment, 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). Specifically, 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. Next, 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.
在另一个实施例中,所述用于软件发布的装置还包括用于根据执行所述软件的相关功能的执行结果,从所述第一网络设备向所述用户发送响应的装置,以下简称响应发送装置48(未示出)。具体地,所述第一网络设备的响应发送装置48可以通过网络按照预定协议或接口,将所述执行结果作为响应,例如http响应,发送至所述用户。In another embodiment, 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). Specifically, 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.
在一个实施例中,所述用于软件发布的装置还包括用于根据用户特征,确定软件发布规则的装置,以下简称规则确定装置49(未示出);以及用于将所述软件发布规则发送至运行所述软件的一个或多个模块的一个或多个网络设备的装置,以下简称规则发送装置410(未示出)。In one embodiment, 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).
具体地,规则确定装置49可以按照实际需要来根据用户特征,确定软件发布规则。例如软件发布规则可以为当所述用户所使用的客户端的版本号为最新版本并且所述用户的类型为新用户时,确定向所述用户发布的所述软件的相关版本为最新测试版本;或例如软件发布规则可以为当所述用户所使用的用户设备的操作系统为Android系统时,确定向所述用户发布的所述软件的相关版本为版本3.0,而当该操作系统为iOS 系统时,确定该相关版本为版本2.0。Specifically, the rule determining means 49 can determine the software publishing rule according to the user characteristics according to actual needs. For example, 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 For example, 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.
然后,规则发送装置410可以将所述软件发布规则通过网络发送至运行所述软件的一个或多个模块的一个或多个网络设备。例如规则发送装置410可以定期或实时将所述软件发布规则同步至各个网络设备。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. For example, the rule sending means 410 can synchronize the software publishing rules to the respective network devices periodically or in real time.
在一个实施例中,所述用于软件发布的装置还包括用于对第一网络设备执行所述软件的相关功能的过程进行监控的装置,以下简称监控装置411(未示出)。例如,监控装置411可以监控该软件或该软件的一个或多个模块的一个或多个进程,并可记录或报告监控信息。此外,监控装置411还可以进一步对该软件或该软件的一个或多个模块的不同版本的监控信息进行分析,例如加以对比,从而可用于对该软件或该软件的一个或多个模块的不同版本进行评估。In one embodiment, 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). For example, 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. In addition, 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.
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,本发明的各个装置可采用专用集成电路(ASIC)或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。It should be noted that the present invention can be implemented in software and/or a combination of software and hardware. For example, the various devices of the present invention can be implemented using an application specific integrated circuit (ASIC) or any other similar hardware device. In one embodiment, the software program of the present invention may be executed by a processor to implement the steps or functions described above. Likewise, 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. Additionally, 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.
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。 It is apparent to those skilled in the art that the present invention is not limited to the details of the above-described exemplary embodiments, and the present invention can be embodied in other specific forms without departing from the spirit or essential characteristics of the invention. Therefore, the present embodiments are to be considered as illustrative and not restrictive, and the scope of the invention is defined by the appended claims instead All changes in the meaning and scope of equivalent elements are included in the present invention. Any reference signs in the claims should not be construed as limiting the claim. In addition, it is to be understood that the word "comprising" does not exclude other elements or steps. A plurality of units or devices recited in the system claims can also be implemented by a unit or device by software or hardware. The first, second, etc. words are used to denote names and do not denote any particular order.
虽然前面特别示出并且描述了示例性实施例,但是本领域技术人员将会理解的是,在不背离权利要求书的精神和范围的情况下,在其形式和细节方面可以有所变化。这里所寻求的保护在所附权利要求书中做了阐述。在下列编号条款中规定了各个实施例的这些和其他方面:While the invention has been shown and described with reference to the embodiments of the embodiments of the invention The protection sought herein is set forth in the appended claims. These and other aspects of various embodiments are set forth in the following numbering clauses:
1.一种在网络设备中用于软件发布的方法,其中,所述软件包括一个或多个模块,所述软件的一个或多个模块运行于一个或多个网络设备中,其中,该方法包括: 1. 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 in one or more network devices, wherein the method include:
-获取与调用所述软件相关联的第一请求;- obtaining a first request associated with invoking the software;
-基于所述第一请求,确定与所述第一请求相关联的用户的用户特征;Determining a user characteristic of a user associated with the first request based on the first request;
-基于所述用户特征,确定向所述用户发布的所述软件的相关版本;Determining a relevant version of the software distributed to the user based on the user characteristics;
-基于所述第一请求,向所述软件的相关版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能,其中,所述第一网络设备中运行与所述相关版本对应的所述软件的一个或多个模块。Sending, based on the first request, a second request to a first network device corresponding to a relevant version of the software to invoke a related function of the software, wherein the first network device runs in the related version Corresponding to one or more modules of the software.
2.根据条款1所述的方法,其中,所述基于所述用户特征,确定向所述用户发布的所述软件的相关版本的步骤包括:2. The method of clause 1, wherein the determining, based on the user characteristics, the determining of a relevant version of the software posted to the user comprises:
-基于所述用户特征以及软件发布规则,确定向所述用户发布的所述软件的相关版本。Determining a relevant version of the software posted to the user based on the user characteristics and software publishing rules.
3.根据条款1或2所述的方法,其中,所述获取与调用所述软件相关联的第一请求的步骤包括:3. The method of clause 1 or 2, wherein the step of obtaining a first request associated with invoking the software comprises:
-获取用户通过用户设备所发送的与调用所述软件相关联的第一请求。Obtaining a first request sent by the user via the user device in association with invoking the software.
4.根据条款3所述的方法,其中,所述获取与调用所述软件相关联的第一请求的步骤包括:4. The method of clause 3, wherein the step of obtaining a first request associated with invoking the software comprises:
-获取所述软件的第一模块基于用户通过用户设备所发送的与调用所述软件相关联的请求所发送的第一请求。Obtaining a first module of the software based on a first request sent by a user via a user device to send a request associated with invoking the software.
5.根据条款1-4中任一项所述的方法,其中,所述基于所述用户特征,确定向所述用户发布的所述软件的相关版本的步骤包括: The method of any of clauses 1 to 4, wherein the determining, based on the user characteristics, the determining of a relevant version of the software posted to the user comprises:
-基于所述用户特征,确定向所述用户发布的所述软件的一个或多个第二模块的模块版本;Determining, based on the user characteristics, a module version of one or more second modules of the software distributed to the user;
其中,所述基于所述第一请求,向所述软件的相关版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能的步骤包括: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:
-基于所述第一请求,向所述软件的所述一个或多个第二模块的所述模块版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能,其中,所述第一网络设备运行与所述模块版本对应的所述软件的所述一个或多个第二模块。Sending, based on the first request, a second request to a first network device corresponding to the module version of the one or more second modules of the software to invoke 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.
6.根据条款1至5中任一项所述的方法,其中,所述方法还包括:The method of any of clauses 1 to 5, wherein the method further comprises:
-在所述第一网络设备处基于所述第一请求、所述用户特征以及所述软件的相关版本,并基于所述第二请求,向与所述软件的相关版本相对应的另一个第一网络设备发送第三请求以调用所述软件的相关功能,其中,所述另一个第一网络设备运行与所述相关版本对应的所述软件的一个或多个模块。- 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, another one corresponding to a related version of the software 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.
7.根据条款1至6中任一项所述的方法,其中,所述方法还包括:The method of any of clauses 1 to 6, wherein the method further comprises:
-在第一网络设备处获取所述第二请求;Acquiring the second request at the first network device;
-在所述第一网络设备处根据所述第二请求,执行所述软件的相关功能。- performing related functions of the software at the first network device in accordance with the second request.
8.根据条款7所述的方法,其中,所述方法还包括:The method of clause 7, wherein the method further comprises:
-根据执行所述软件的相关功能的执行结果,从所述第一网络设备向所述用户发送响应。- transmitting a response from the first network device to the user in accordance with an execution result of performing a related function of the software.
9.根据条款2至8中任一项所述的方法,其中,所述方法还包括:The method of any of clauses 2 to 8, wherein the method further comprises:
-根据用户特征,确定软件发布规则;- determining software publishing rules based on user characteristics;
-将所述软件发布规则发送至运行所述软件的一个或多个模块的一个或多个网络设备。- transmitting the software distribution rules to one or more network devices running one or more modules of the software.
10.根据条款1至9中任一项所述的方法,其中,所述方法还包括:The method of any of clauses 1 to 9, wherein the method further comprises:
-对第一网络设备执行所述软件的相关功能的过程进行监控。- monitoring the process by which the first network device performs the relevant functions of the software.
11.根据条款1至10中任一项所述的方法,其中,所述用户特征包括以下至少任一项: The method of any of clauses 1 to 10, wherein the user feature comprises at least one of the following:
-所述用户所使用的用户设备的IP地址;- the IP address of the user equipment used by the user;
-所述用户所使用的用户设备的操作系统;- an operating system of the user equipment used by the user;
-所述用户所使用的客户端的名称;- the name of the client used by the user;
-所述用户所使用的客户端的版本号;- the version number of the client used by the user;
-所述用户的地理位置;- the geographic location of the user;
-所述用户的类型;- the type of the user;
-所述用户的历史使用习惯。- The user's historical usage habits.
12.一种在网络设备中用于软件发布的装置,其中,所述软件包括一个或多个模块,所述软件的一个或多个模块运行于一个或多个网络设备中,其中,该装置包括:12. 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:
-用于获取与调用所述软件相关联的第一请求的装置;Means for obtaining a first request associated with invoking the software;
-用于基于所述第一请求,确定与所述第一请求相关联的用户的用户特征的装置;Means for determining a user characteristic of a user associated with the first request based on the first request;
-用于基于所述用户特征,确定向所述用户发布的所述软件的相关版本的装置;Means for determining a relevant version of the software distributed to the user based on the user characteristics;
-用于基于所述第一请求,向所述软件的相关版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能的装置,其中,所述第一网络设备中运行与所述相关版本对应的所述软件的一个或多个模块。Means for transmitting a second request to invoke a related function of the software to a first network device corresponding to a relevant version of the software based on the first request, wherein the first network device operates in a One or more modules of the software corresponding to the related version.
13.根据条款12所述的装置,其中,所述用于基于所述用户特征,确定向所述用户发布的所述软件的相关版本的装置用于:The apparatus of clause 12, wherein the means for determining a relevant version of the software issued to the user based on the user characteristic is for:
-基于所述用户特征以及软件发布规则,确定向所述用户发布的所述软件的相关版本。Determining a relevant version of the software posted to the user based on the user characteristics and software publishing rules.
14.根据条款12或13所述的装置,其中,所述用于获取与调用所述软件相关联的第一请求的装置用于:The device of clause 12 or 13, wherein the means for obtaining a first request associated with invoking the software is for:
-获取用户通过用户设备所发送的与调用所述软件相关联的第一请求。Obtaining a first request sent by the user via the user device in association with invoking the software.
15.根据条款14所述的装置,其中,所述用于获取与调用所述软件相关联的第一请求的装置用于:The device of clause 14, wherein the means for obtaining a first request associated with invoking the software is for:
-获取所述软件的第一模块基于用户通过用户设备所发送的与调用 所述软件相关联的请求所发送的第一请求。- acquiring the first module of the software based on the user's sending and invoking through the user device The first request sent by the software associated request.
16.根据条款12-15中任一项所述的装置,其中,所述用于基于所述用户特征,确定向所述用户发布的所述软件的相关版本的装置用于:The apparatus of any of clauses 12-15, wherein the means for determining a relevant version of the software issued to the user based on the user characteristics is for:
-基于所述用户特征,确定向所述用户发布的所述软件的一个或多个第二模块的模块版本;Determining, based on the user characteristics, a module version of one or more second modules of the software distributed to the user;
其中,所述用于基于所述第一请求,向所述软件的相关版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能的装置用于: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:
-基于所述第一请求,向所述软件的所述一个或多个第二模块的所述模块版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能,其中,所述第一网络设备运行与所述模块版本对应的所述软件的所述一个或多个第二模块。Sending, based on the first request, a second request to a first network device corresponding to the module version of the one or more second modules of the software to invoke 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.
17.根据条款12至16中任一项所述的装置,其中,所述装置还包括:The device of any one of clauses 12 to 16, wherein the device further comprises:
-用于在所述第一网络设备处基于所述第一请求、所述用户特征以及所述软件的相关版本,并基于所述第二请求,向与所述软件的相关版本相对应的另一个第一网络设备发送第三请求以调用所述软件的相关功能的装置,其中,所述另一个第一网络设备运行与所述相关版本对应的所述软件的一个或多个模块。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.
18.根据条款12至17中任一项所述的装置,其中,所述装置还包括:The device of any one of clauses 12 to 17, wherein the device further comprises:
-用于在第一网络设备处获取所述第二请求的装置;Means for obtaining the second request at the first network device;
-用于在所述第一网络设备处根据所述第二请求,执行所述软件的相关功能的装置。Means for performing a related function of the software at the first network device in accordance with the second request.
19.根据条款18所述的装置,其中,所述装置还包括:19. The device of clause 18, wherein the device further comprises:
-用于根据执行所述软件的相关功能的执行结果,从所述第一网络设备向所述用户发送响应的装置。Means for transmitting a response from the first network device to the user in accordance with an execution result of performing a related function of the software.
20.根据条款13至19中任一项所述的装置,其中,所述装置还包括:The device of any of clauses 13 to 19, wherein the device further comprises:
-用于根据用户特征,确定软件发布规则的装置; - means for determining software publishing rules based on user characteristics;
-用于将所述软件发布规则发送至运行所述软件的一个或多个模块的一个或多个网络设备的装置。Means for transmitting the software distribution rules to one or more network devices running one or more modules of the software.
21.根据条款12至20中任一项所述的装置,其中,所述装置还包括:The device of any one of clauses 12 to 20, wherein the device further comprises:
-用于对第一网络设备执行所述软件的相关功能的过程进行监控的装置。Means for monitoring the process by which the first network device performs the relevant functions of the software.
22.根据条款12至21中任一项所述的装置,其中,所述用户特征包括以下至少任一项:The device of any one of clauses 12 to 21, wherein the user feature comprises at least one of the following:
-所述用户所使用的用户设备的IP地址;- the IP address of the user equipment used by the user;
-所述用户所使用的用户设备的操作系统;- an operating system of the user equipment used by the user;
-所述用户所使用的客户端的名称;- the name of the client used by the user;
-所述用户所使用的客户端的版本号;- the version number of the client used by the user;
-所述用户的地理位置;- the geographic location of the user;
-所述用户的类型;- the type of the user;
-所述用户的历史使用习惯。 - The user's historical usage habits.

Claims (23)

  1. 一种在网络设备中用于软件发布的方法,其中,所述软件包括一个或多个模块,所述软件的一个或多个模块运行于一个或多个网络设备中,其中,该方法包括: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 in one or more network devices, wherein the method comprises:
    -获取与调用所述软件相关联的第一请求;- obtaining a first request associated with invoking the software;
    -基于所述第一请求,确定与所述第一请求相关联的用户的用户特征;Determining a user characteristic of a user associated with the first request based on the first request;
    -基于所述用户特征,确定向所述用户发布的所述软件的相关版本;Determining a relevant version of the software distributed to the user based on the user characteristics;
    -基于所述第一请求,向所述软件的相关版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能,其中,所述第一网络设备中运行与所述相关版本对应的所述软件的一个或多个模块。Sending, based on the first request, a second request to a first network device corresponding to a relevant version of the software to invoke a related function of the software, wherein the first network device runs in the related version Corresponding to one or more modules of the software.
  2. 根据权利要求1所述的方法,其中,所述基于所述用户特征,确定向所述用户发布的所述软件的相关版本的步骤包括:The method of claim 1 wherein said determining, based on said user characteristics, a relevant version of said software distributed to said user comprises:
    -基于所述用户特征以及软件发布规则,确定向所述用户发布的所述软件的相关版本。Determining a relevant version of the software posted to the user based on the user characteristics and software publishing rules.
  3. 根据权利要求1或2所述的方法,其中,所述获取与调用所述软件相关联的第一请求的步骤包括:The method of claim 1 or 2, wherein the step of obtaining a first request associated with invoking the software comprises:
    -获取用户通过用户设备所发送的与调用所述软件相关联的第一请求。Obtaining a first request sent by the user via the user device in association with invoking the software.
  4. 根据权利要求3所述的方法,其中,所述获取与调用所述软件相关联的第一请求的步骤包括:The method of claim 3 wherein said step of obtaining a first request associated with invoking said software comprises:
    -获取所述软件的第一模块基于用户通过用户设备所发送的与调用所述软件相关联的请求所发送的第一请求。Obtaining a first module of the software based on a first request sent by a user via a user device to send a request associated with invoking the software.
  5. 根据权利要求1-4中任一项所述的方法,其中,所述基于所述用 户特征,确定向所述用户发布的所述软件的相关版本的步骤包括:The method according to any one of claims 1 to 4, wherein the method is based on the use The user feature, the step of determining the relevant version of the software distributed to the user includes:
    -基于所述用户特征,确定向所述用户发布的所述软件的一个或多个第二模块的模块版本;Determining, based on the user characteristics, a module version of one or more second modules of the software distributed to the user;
    其中,所述基于所述第一请求,向所述软件的相关版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能的步骤包括: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:
    -基于所述第一请求,向所述软件的所述一个或多个第二模块的所述模块版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能,其中,所述第一网络设备运行与所述模块版本对应的所述软件的所述一个或多个第二模块。Sending, based on the first request, a second request to a first network device corresponding to the module version of the one or more second modules of the software to invoke 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.
  6. 根据权利要求1至5中任一项所述的方法,其中,所述方法还包括:The method of any of claims 1 to 5, wherein the method further comprises:
    -在所述第一网络设备处基于所述第一请求、所述用户特征以及所述软件的相关版本,并基于所述第二请求,向与所述软件的相关版本相对应的另一个第一网络设备发送第三请求以调用所述软件的相关功能,其中,所述另一个第一网络设备运行与所述相关版本对应的所述软件的一个或多个模块。- 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, another one corresponding to a related version of the software 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.
  7. 根据权利要求1至6中任一项所述的方法,其中,所述方法还包括:The method of any of claims 1 to 6, wherein the method further comprises:
    -在第一网络设备处获取所述第二请求;Acquiring the second request at the first network device;
    -在所述第一网络设备处根据所述第二请求,执行所述软件的相关功能。- performing related functions of the software at the first network device in accordance with the second request.
  8. 根据权利要求7所述的方法,其中,所述方法还包括:The method of claim 7 wherein the method further comprises:
    -根据执行所述软件的相关功能的执行结果,从所述第一网络设备向所述用户发送响应。- transmitting a response from the first network device to the user in accordance with an execution result of performing a related function of the software.
  9. 根据权利要求2至8中任一项所述的方法,其中,所述方法还包 括:The method according to any one of claims 2 to 8, wherein the method further comprises include:
    -根据用户特征,确定软件发布规则;- determining software publishing rules based on user characteristics;
    -将所述软件发布规则发送至运行所述软件的一个或多个模块的一个或多个网络设备。- transmitting the software distribution rules to one or more network devices running one or more modules of the software.
  10. 根据权利要求1至9中任一项所述的方法,其中,所述用户特征包括以下至少任一项:The method of any of claims 1 to 9, wherein the user feature comprises at least one of the following:
    -所述用户所使用的用户设备的IP地址;- the IP address of the user equipment used by the user;
    -所述用户所使用的用户设备的操作系统;- an operating system of the user equipment used by the user;
    -所述用户所使用的客户端的名称;- the name of the client used by the user;
    -所述用户所使用的客户端的版本号;- the version number of the client used by the user;
    -所述用户的地理位置;- the geographic location of the user;
    -所述用户的类型;- the type of the user;
    -所述用户的历史使用习惯。- The user's historical usage habits.
  11. 一种在网络设备中用于软件发布的装置,其中,所述软件包括一个或多个模块,所述软件的一个或多个模块运行于一个或多个网络设备中,其中,该装置包括: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 comprises:
    -用于获取与调用所述软件相关联的第一请求的装置;Means for obtaining a first request associated with invoking the software;
    -用于基于所述第一请求,确定与所述第一请求相关联的用户的用户特征的装置;Means for determining a user characteristic of a user associated with the first request based on the first request;
    -用于基于所述用户特征,确定向所述用户发布的所述软件的相关版本的装置;Means for determining a relevant version of the software distributed to the user based on the user characteristics;
    -用于基于所述第一请求,向所述软件的相关版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能的装置,其中,所述第一网络设备中运行与所述相关版本对应的所述软件的一个或多个模块。Means for transmitting a second request to invoke a related function of the software to a first network device corresponding to a relevant version of the software based on the first request, wherein the first network device operates in a One or more modules of the software corresponding to the related version.
  12. 根据权利要求11所述的装置,其中,所述用于基于所述用户特征,确定向所述用户发布的所述软件的相关版本的装置用于: The apparatus of claim 11 wherein said means for determining a relevant version of said software distributed to said user based on said user characteristics is for:
    -基于所述用户特征以及软件发布规则,确定向所述用户发布的所述软件的相关版本。Determining a relevant version of the software posted to the user based on the user characteristics and software publishing rules.
  13. 根据权利要求11或12所述的装置,其中,所述用于获取与调用所述软件相关联的第一请求的装置用于:The apparatus of claim 11 or 12, wherein the means for obtaining a first request associated with invoking the software is for:
    -获取用户通过用户设备所发送的与调用所述软件相关联的第一请求。Obtaining a first request sent by the user via the user device in association with invoking the software.
  14. 根据权利要求13中所述的装置,其中,所述用于获取与调用所述软件相关联的第一请求的装置用于:The apparatus of claim 13 wherein said means for obtaining a first request associated with invoking said software is for:
    -获取所述软件的第一模块基于用户通过用户设备所发送的与调用所述软件相关联的请求所发送的第一请求。Obtaining a first module of the software based on a first request sent by a user via a user device to send a request associated with invoking the software.
  15. 根据权利要求11-14中任一项所述的装置,其中,所述用于基于所述用户特征,确定向所述用户发布的所述软件的相关版本的装置用于:Apparatus according to any of claims 11-14, wherein said means for determining a relevant version of said software distributed to said user based on said user characteristics is for:
    -基于所述用户特征,确定向所述用户发布的所述软件的一个或多个第二模块的模块版本;Determining, based on the user characteristics, a module version of one or more second modules of the software distributed to the user;
    其中,所述用于基于所述第一请求,向所述软件的相关版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能的装置用于: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:
    -基于所述第一请求,向所述软件的所述一个或多个第二模块的所述模块版本相对应的第一网络设备发送第二请求以调用所述软件的相关功能,其中,所述第一网络设备运行与所述模块版本对应的所述软件的所述一个或多个第二模块。Sending, based on the first request, a second request to a first network device corresponding to the module version of the one or more second modules of the software to invoke 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.
  16. 根据权利要求11至15中任一项所述的装置,其中,所述装置还包括:The device according to any one of claims 11 to 15, wherein the device further comprises:
    -用于在所述第一网络设备处基于所述第一请求、所述用户特征以及所述软件的相关版本,并基于所述第二请求,向与所述软件的相关版 本相对应的另一个第一网络设备发送第三请求以调用所述软件的相关功能的装置,其中,所述另一个第一网络设备运行与所述相关版本对应的所述软件的一个或多个模块。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 related version of the software Another corresponding first network device that transmits a third request to invoke a related function of the software, wherein the another first network device runs one or more of the software corresponding to the relevant version Modules.
  17. 根据权利要求11至16中任一项所述的装置,其中,所述装置还包括:The device according to any one of claims 11 to 16, wherein the device further comprises:
    -用于在第一网络设备处获取所述第二请求的装置;Means for obtaining the second request at the first network device;
    -用于在所述第一网络设备处根据所述第二请求,执行所述软件的相关功能的装置。Means for performing a related function of the software at the first network device in accordance with the second request.
  18. 根据权利要求17所述的装置,其中,所述装置还包括:The apparatus of claim 17 wherein said apparatus further comprises:
    -用于根据执行所述软件的相关功能的执行结果,从所述第一网络设备向所述用户发送响应的装置。Means for transmitting a response from the first network device to the user in accordance with an execution result of performing a related function of the software.
  19. 根据权利要求12至18中任一项所述的装置,其中,所述装置还包括:The device according to any one of claims 12 to 18, wherein the device further comprises:
    -用于根据用户特征,确定软件发布规则的装置;- means for determining software publishing rules based on user characteristics;
    -用于将所述软件发布规则发送至运行所述软件的一个或多个模块的一个或多个网络设备的装置。Means for transmitting the software distribution rules to one or more network devices running one or more modules of the software.
  20. 根据权利要求11至19中任一项所述的装置,其中,所述用户特征包括以下至少任一项:The apparatus of any one of claims 11 to 19, wherein the user feature comprises at least one of the following:
    -所述用户所使用的用户设备的IP地址;- the IP address of the user equipment used by the user;
    -所述用户所使用的用户设备的操作系统;- an operating system of the user equipment used by the user;
    -所述用户所使用的客户端的名称;- the name of the client used by the user;
    -所述用户所使用的客户端的版本号;- the version number of the client used by the user;
    -所述用户的地理位置;- the geographic location of the user;
    -所述用户的类型;- the type of the user;
    -所述用户的历史使用习惯。 - The user's historical usage habits.
  21. 一种计算机可读存储介质,所述计算机可读存储介质包括计算机代码,当所述计算机代码被执行时,如权利要求1至10中任一项所述的方法被执行。A computer readable storage medium comprising computer code, the method of any one of claims 1 to 10 being executed when the computer code is executed.
  22. 一种计算机程序产品,当所述计算机程序产品被计算机设备执行时,如权利要求1至10中任一项所述的方法被执行。A computer program product, when the computer program product is executed by a computer device, the method of any one of claims 1 to 10 being performed.
  23. 一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器中存储有计算机代码,所述处理器被配置来通过执行所述计算机代码以执行如权利要求1至10中任一项所述的方法。 A computer device comprising a memory and a processor, the memory storing computer code, the processor being configured to perform the computer code according to any one of claims 1 to 10 The method described.
PCT/CN2015/092885 2015-03-24 2015-10-27 Software release method and device WO2016150153A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510131544.6 2015-03-24
CN201510131544.6A CN104793932A (en) 2015-03-24 2015-03-24 Method and device used for software release

Publications (1)

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

Family

ID=53558748

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/092885 WO2016150153A1 (en) 2015-03-24 2015-10-27 Software release method and device

Country Status (2)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106843952A (en) * 2017-01-13 2017-06-13 百度在线网络技术(北京)有限公司 Update the method and apparatus of functional module in application
CN111679981A (en) * 2020-06-05 2020-09-18 广州探途网络技术有限公司 Application software release method and system and electronic equipment

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104793932A (en) * 2015-03-24 2015-07-22 百度在线网络技术(北京)有限公司 Method and device used for software release
CN105912583A (en) * 2016-04-01 2016-08-31 乐视控股(北京)有限公司 Member service data interaction method and device for mobile terminal
CN106095426A (en) * 2016-06-07 2016-11-09 中国建设银行股份有限公司 The system of Mobile solution, method are provided
CN106201606A (en) * 2016-07-04 2016-12-07 上海优刻得信息科技有限公司 software distribution method and system
CN109117178A (en) * 2018-08-20 2019-01-01 中国平安人寿保险股份有限公司 Application version dissemination method, device and storage equipment, computer equipment
CN109491700A (en) * 2018-09-26 2019-03-19 平安科技(深圳)有限公司 Multiple version application issued method, apparatus and relevant device
CN111736876A (en) * 2020-06-28 2020-10-02 北京云族佳科技有限公司 Client update control method, device, storage medium and server

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102402513A (en) * 2010-09-08 2012-04-04 腾讯科技(深圳)有限公司 Software home page management method, device and system
CN103034508A (en) * 2011-10-10 2013-04-10 腾讯科技(深圳)有限公司 Software recommending method and software recommending system
CN103581218A (en) * 2012-07-20 2014-02-12 百度在线网络技术(北京)有限公司 Method and equipment for updating mobile search applications in mobile terminal
CN104793932A (en) * 2015-03-24 2015-07-22 百度在线网络技术(北京)有限公司 Method and device used for software release

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 (en) * 2011-09-27 2017-05-03 微软技术许可有限责任公司 Fault tolerant external application server
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 (en) * 2012-02-22 2016-05-25 腾讯科技(深圳)有限公司 The method of mounting software, equipment and system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102402513A (en) * 2010-09-08 2012-04-04 腾讯科技(深圳)有限公司 Software home page management method, device and system
CN103034508A (en) * 2011-10-10 2013-04-10 腾讯科技(深圳)有限公司 Software recommending method and software recommending system
CN103581218A (en) * 2012-07-20 2014-02-12 百度在线网络技术(北京)有限公司 Method and equipment for updating mobile search applications in mobile terminal
CN104793932A (en) * 2015-03-24 2015-07-22 百度在线网络技术(北京)有限公司 Method and device used for software release

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106843952A (en) * 2017-01-13 2017-06-13 百度在线网络技术(北京)有限公司 Update the method and apparatus of functional module in application
CN111679981A (en) * 2020-06-05 2020-09-18 广州探途网络技术有限公司 Application software release method and system and electronic equipment
CN111679981B (en) * 2020-06-05 2023-08-29 广州探途网络技术有限公司 Application software release method and system and electronic equipment

Also Published As

Publication number Publication date
CN104793932A (en) 2015-07-22

Similar Documents

Publication Publication Date Title
WO2016150153A1 (en) Software release method and device
US11296923B2 (en) Network fault originator identification for virtual network infrastructure
US10445142B2 (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 (en) Interface document generation method and device
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 (en) Goal state communication in computer clusters
US9854031B2 (en) Cloud service agent based on service level agreement(SLA)
KR20160136489A (en) Method for Resource Management base of Virtualization for cloud service
US11843674B2 (en) Virtual workspace experience visualization and optimization
US20150019722A1 (en) Determining, managing and deploying an application topology in a virtual environment
US11411839B1 (en) System and method to correlate end user experience with location
EP2808792B1 (en) Method and system for using arbitrary computing devices for distributed data processing
Tao et al. On building a cloud-based mobile testing infrastructure service system
CN108039956A (en) Using monitoring method, system and computer-readable recording medium
Klaver et al. Towards independent run-time cloud monitoring
CN114726789A (en) Method, device, equipment and medium for traffic management and traffic management policy configuration
Bellavista et al. Elastic provisioning of stateful telco services in mobile cloud networking
US20230118838A1 (en) Advanced agent instrumentation for opentelemetry implementations

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