CN112559001B - Method and device for updating application - Google Patents

Method and device for updating application Download PDF

Info

Publication number
CN112559001B
CN112559001B CN201910918423.4A CN201910918423A CN112559001B CN 112559001 B CN112559001 B CN 112559001B CN 201910918423 A CN201910918423 A CN 201910918423A CN 112559001 B CN112559001 B CN 112559001B
Authority
CN
China
Prior art keywords
application
update
name
code
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910918423.4A
Other languages
Chinese (zh)
Other versions
CN112559001A (en
Inventor
杨坤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Zhenshi Information Technology Co Ltd
Original Assignee
Beijing Jingdong Zhenshi Information Technology Co Ltd
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 Beijing Jingdong Zhenshi Information Technology Co Ltd filed Critical Beijing Jingdong Zhenshi Information Technology Co Ltd
Priority to CN201910918423.4A priority Critical patent/CN112559001B/en
Publication of CN112559001A publication Critical patent/CN112559001A/en
Application granted granted Critical
Publication of CN112559001B publication Critical patent/CN112559001B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

The invention discloses a method and a device for updating an application, and relates to the technical field of computers. One embodiment of the method comprises the following steps: receiving an update code and a name of an application to which the update code points; acquiring target client information matched with the name of the application pointed by the update code according to the name of the application pointed by the update code; according to the target client information, the update codes and the names of the applications pointed by the update codes are sent to a target client; the updating code is used for updating the application pointed by the updating code. According to the embodiment, the updating efficiency is improved, and the updating automation degree is improved.

Description

Method and device for updating application
Technical Field
The present invention relates to the field of computer technologies, and in particular, to a method and apparatus for updating an application.
Background
Currently, applications are generally deployed in a distributed manner, that is, applications are deployed on a plurality of clients respectively, if the applications are to be updated, codes need to be manually uploaded to each client, and the clients update the applications deployed on the clients by using the codes.
In the process of implementing the present invention, the inventor finds that at least the following problems exist in the prior art:
because of the need of manual uploading, there are problems of low update efficiency and low automation degree. This problem is particularly acute in cases where the number of applications that need to be updated is large.
Disclosure of Invention
In view of this, the embodiments of the present invention provide a method and an apparatus for updating an application, which can improve the update efficiency and improve the automation degree of the update.
To achieve the above object, according to one aspect of an embodiment of the present invention, there is provided a method of updating an application.
The method for updating the application comprises the following steps:
receiving an update code and a name of an application to which the update code points;
acquiring target client information matched with the name of the application pointed by the update code according to the name of the application pointed by the update code;
according to the target client information, the update codes and the names of the applications pointed by the update codes are sent to a target client;
the updating code is used for updating the application pointed by the updating code.
In one embodiment, before receiving the update code and the name of the application to which the update code points, it comprises:
receiving the client information sent by at least one client and the name of an application deployed on the client;
and storing the client information and the name matching of the application deployed on the client into a local cache.
In one embodiment, obtaining target client information matching the name of the application pointed by the update code according to the name of the application pointed by the update code includes:
and if the names of the applications stored in the local cache comprise the names of the applications pointed by the update codes, the client information stored in a matching mode with the names of the applications pointed by the update codes is used as target client information.
In one embodiment, the method is applied to a server;
before receiving an update code and a name of an application to which the update code points, comprising:
receiving the client information sent by at least one client and the name of an application deployed on the client;
and storing the identification of the server, the client information and the name of the application deployed on the client in a database in a matching way.
In one embodiment, obtaining target client information matching the name of the application pointed by the update code according to the name of the application pointed by the update code includes:
and if the names of the applications stored in the database comprise the names of the applications pointed by the update codes, the stored client information matched with the names of the applications pointed by the update codes and the identification of the server is taken as target client information.
In one embodiment, the update code and the name of the application to which the update code points are sent by a management cluster;
the management cluster obtains the update code and the name of the application pointed by the update code through manual input or code library uploading.
To achieve the above object, according to another aspect of an embodiment of the present invention, there is provided an apparatus for updating an application.
The device for updating the application of the embodiment of the invention comprises the following components:
a receiving unit, configured to receive an update code and a name of an application to which the update code points;
the processing unit is used for acquiring target client information matched with the name of the application pointed by the update code according to the name of the application pointed by the update code;
a sending unit, configured to send the update code and a name of an application to which the update code points to a target client according to the target client information; the updating code is used for updating the application pointed by the updating code.
In one embodiment, the receiving unit is configured to:
before receiving an update code and the name of an application pointed by the update code, receiving client information sent by at least one client and the name of the application deployed on the client;
and storing the client information and the name matching of the application deployed on the client into a local cache.
In one embodiment, the processing unit is configured to:
and if the names of the applications stored in the local cache comprise the names of the applications pointed by the update codes, the client information stored in a matching mode with the names of the applications pointed by the update codes is used as target client information.
In one embodiment, the method is applied to a server;
the receiving unit is used for:
before receiving an update code and the name of an application pointed by the update code, receiving client information sent by at least one client and the name of the application deployed on the client;
and storing the identification of the server, the client information and the name of the application deployed on the client in a database in a matching way.
In one embodiment, the processing unit is configured to:
and if the names of the applications stored in the database comprise the names of the applications pointed by the update codes, the stored client information matched with the names of the applications pointed by the update codes and the identification of the server is taken as target client information.
In one embodiment, the update code and the name of the application to which the update code points are sent by a management cluster;
the management cluster obtains the update code and the name of the application pointed by the update code through manual input or code library uploading.
To achieve the above object, according to still another aspect of an embodiment of the present invention, there is provided an electronic apparatus.
An electronic device according to an embodiment of the present invention includes: one or more processors; and the storage device is used for storing one or more programs, and when the one or more programs are executed by the one or more processors, the one or more processors are enabled to realize the method for updating the application provided by the embodiment of the invention.
To achieve the above object, according to still another aspect of an embodiment of the present invention, a computer-readable medium is provided.
A computer readable medium of an embodiment of the present invention has stored thereon a computer program which, when executed by a processor, implements a method for updating an application provided by the embodiment of the present invention.
One embodiment of the above invention has the following advantages or benefits: receiving an update code and a name of an application to which the update code points; acquiring target client information matched with the name of the application pointed by the update code according to the name of the application pointed by the update code; and sending the update codes and the names of the applications pointed by the update codes to the target client according to the target client information, so that the target client updates the applications pointed by the update codes by using the update codes. The codes are manually uploaded to the corresponding clients and are converted into automatic uploading to the corresponding clients, so that the updating efficiency is improved, the updating automation degree is improved, and the workload of research personnel is reduced.
Further effects of the above-described non-conventional alternatives are described below in connection with the embodiments.
Drawings
The drawings are included to provide a better understanding of the invention and are not to be construed as unduly limiting the invention. Wherein:
FIG. 1 is a schematic diagram of the main flow of a method of updating an application according to an embodiment of the invention;
FIG. 2 is an application scenario of a method of updating an application according to an embodiment of the present invention;
FIG. 3 is an interactive schematic diagram of a method of updating an application according to another embodiment of the invention;
fig. 4 is a schematic diagram of the main units of the apparatus of the update application according to an embodiment of the present invention;
FIG. 5 is an exemplary system architecture diagram in which embodiments of the present invention may be applied;
fig. 6 is a schematic diagram of a computer system suitable for use in implementing an embodiment of the invention.
Detailed Description
Exemplary embodiments of the present invention will now be described with reference to the accompanying drawings, in which various details of the embodiments of the present invention are included to facilitate understanding, and are to be considered merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the invention. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
It is noted that embodiments of the invention and features of the embodiments may be combined with each other without conflict.
The existing update applications consume time, fast 2 minutes to 3 minutes, slow tens of minutes. In a micro-service architecture or cluster architecture, updating an application consumes longer time. If the application is already online, the update application is not allowed to consume a long time, and the update application consumes a long time and is very easy to cause customer dissatisfaction. In addition, the manual passage codes are manually transferred to the client, and the authority requirement on the client is high.
In order to solve the problems existing in the prior art, an embodiment of the present invention provides a method for updating an application, as shown in fig. 1, the method includes:
step S101, receiving an update code and a name of an application to which the update code points.
And step S102, acquiring target client information matched with the name of the application pointed by the update code according to the name of the application pointed by the update code.
Step S103, according to the target client information, the update codes and the names of the applications pointed by the update codes are sent to the target client; the updating code is used for updating the application pointed by the updating code.
In this embodiment, as shown in fig. 2, in implementation, the Service cluster (i.e., the Service cluster in fig. 2) includes a plurality of Service ends, where each Service end includes an Agent Service module (Agent Service) and a user management Service module (Manager Service). The management cluster (i.e. Manager cluster in fig. 2) sends the acquired update code and the name of the application to which the update code points to each server, specifically, the Manager Service of each server. The embodiment of the invention is applied to each server.
It should be noted that, in the embodiment of the present invention, the Client may be a Server in Client/Server (Client/Server) and Browser/Server (Browser/Server) architecture, compared with the Server in the service cluster.
In the embodiment, manual uploading is converted into automatic uploading, so that the updating efficiency is improved, the degree of automation is improved, the workload of research and development personnel is reduced, the time consumed by updating the application is reduced, and the authority requirement on the client is reduced.
In the embodiment of the present invention, before step S101, the method includes:
receiving the client information sent by at least one client and the name of an application deployed on the client; and storing the client information and the name matching of the application deployed on the client into a local cache.
It should be noted that, as shown in fig. 2, this step may be performed by Agent Service of each server.
In specific implementation, a sending end sends a request to load balancing; wherein the request includes client information and a name of any one of the respective applications deployed on the client.
Load balancing distributes the request to one server side in the service cluster, for example, a server side a, by adopting a load balancing algorithm; the service cluster comprises a plurality of service ends. The load balancing algorithm is mainly divided into a static type and a dynamic type, wherein the static load balancing algorithm distributes tasks with fixed probability, and state information of a server side, such as a rotation algorithm, a weighted rotation algorithm and the like, is not considered; the dynamic load balancing algorithm determines task allocation according to real-time load status information of the server, such as a minimum connection method, a weighted minimum connection method, and the like.
The server a receives the request, and matches and stores the client information included in the request and any one of the applications deployed on the client to the local cache of the server a.
The client information may include the IP of the client or the name of the client, etc.
Step S102 may include:
and if the names of the applications stored in the local cache comprise the names of the applications pointed by the update codes, the client information stored in a matching mode with the names of the applications pointed by the update codes is used as target client information.
In this embodiment, in a specific implementation, for each server in a service cluster, the server receives an update code sent by a management cluster and a name of an application to which the update code points; if the application name stored in the local cache of the server side comprises the name of the application pointed by the update code, the server side takes the client information stored in a matching manner with the name of the application pointed by the update code as target client information; and the server sends the update codes and the names of the applications pointed by the update codes to the target client according to the target client information. And the target client updates the application pointed by the update code by using the update code.
In this embodiment, before receiving the update code and the name of the application to which the update code points, the client information sent by at least one client and the name of the application deployed on the client are received and stored in a matching manner in the local cache. After receiving the update code and the name of the application to which the update code points, if the locally cached name of the application includes the name of the application to which the update code points, the stored client information is matched with the name of the application to which the update code points as target client information. Therefore, the update codes and the final receiver-target client of the application names pointed by the update codes are directly determined, the update codes and the application names pointed by the update codes are sent to the target client, and the manual uploading is converted into the automatic uploading, so that the update efficiency is further improved, the automation degree of the update is further improved, and the workload of research personnel is further reduced.
In the embodiment of the present invention, applied to a server, before step S101, the method includes:
receiving the client information sent by at least one client and the name of an application deployed on the client; and storing the identification of the server, the client information and the name of the application deployed on the client in a database in a matching way.
In specific implementation, a sending end sends a request to load balancing; wherein the request includes client information and a name of any one of the respective applications deployed on the client.
Load balancing distributes the request to one server side in the service cluster, for example, a server side a, by adopting a load balancing algorithm; the service cluster comprises a plurality of service ends. The load balancing algorithm is mainly divided into a static type and a dynamic type, wherein the static load balancing algorithm distributes tasks with fixed probability, and state information of a server side, such as a rotation algorithm, a weighted rotation algorithm and the like, is not considered; the dynamic load balancing algorithm determines task allocation according to real-time load status information of the server, such as a minimum connection method, a weighted minimum connection method, and the like.
The server a receives the request and sends the identification of the server a, the client information included in the request and the name of any one of the applications deployed on the client to the database.
The database receives the identification of the server a, the client information included in the request and the name of any one of the applications deployed on the client, and matches the stored application.
The number of applications deployed on the client may be multiple for each client. Thus, for each application deployed on the client, there is an identification in the database of the server that matches the name of the application deployed on the client. Thus, automatic uploading can be realized.
The identification of the server may include an address of the server (i.e., IP), or a name of the server, etc.
Step S102 may include:
and if the names of the applications stored in the database comprise the names of the applications pointed by the update codes, the stored client information matched with the names of the applications pointed by the update codes and the identification of the server is taken as target client information.
In this embodiment, in a specific implementation, as shown in fig. 2, for each server in a service cluster, the server receives an update code sent by a management cluster and a name of an application to which the update code points; and the server sends a query request to a database, wherein the query request carries the identifier of the server and the name of the application pointed by the update code.
The database receives the query request and queries whether the name of the application pointed by the update code is stored or not; if yes, the client information which is matched with the identifier of the server and the name of the application pointed by the update code is used as target client information, and the target client information is sent to the server; if not, the prompt information of the query failure is sent to the server.
And if the server receives the target client information, the server sends the update code and the name of the application pointed by the update code to the target client according to the target client information, and the target client updates the application pointed by the update code by using the update code. If the server receives the prompt message of the query failure, it may be that the load balancing does not allocate the client side deployed with the application pointed by the update code to the server side.
In this embodiment, the method is applied to a server, and before receiving the update code and the name of the application to which the update code points, the method receives client information sent by at least one client and the name of the application deployed on the client, and stores the identification of the server, the client information and the name of the application deployed on the client in a database in a matching manner. After receiving the update code and the name of the application to which the update code points, if the name of the application stored in the database includes the name of the application to which the update code points, the stored client information is used as target client information in matching with the name of the application to which the update code points and the identification of the server. Therefore, the update codes and the final receiver-target client of the application names pointed by the update codes are directly determined, the update codes and the application names pointed by the update codes are sent to the target client, and the manual uploading is converted into the automatic uploading, so that the update efficiency is further improved, the automation degree of the update is further improved, and the workload of research personnel is further reduced.
In the embodiment of the invention, the update code comprises a class name, a method name and a code block; the client updating the application pointed to by the update code with the update code includes:
and finding out codes which are the same as the class names and the method names from the codes of the application pointed by the updated codes, and replacing the codes which are the same as the class names and the method names with the code blocks.
It should be noted that a class is a collection of objects with common properties and behaviors, and includes properties and methods (also called behaviors), in java, generally only the methods in the class can be changed, so that code substitution can be performed by class names, method names, and code blocks. In Java, codes that are used in the form of { } are called code blocks.
As shown in fig. 2, a specific example of a process in which a client updates an application to which an update code points with the update code is described below, including:
the monitoring thread of the client initiates http (hypertext transfer protocol) long training requests to the server at regular time, for example, 60s training is performed once. The monitoring thread of the client immediately updates the application if an update code (the update code comprises a class name, a method name and a code block) and the name of the application pointed by the update code are received from the Agent Service of the server according to the http long training request in the training period; the Agent Service of the server obtains the update code and the name of the application pointed by the update code from the Manager Service of the server. And if the monitoring thread of the client does not receive the update code and the application name pointed by the update code according to the http long training request in the training period, initiating the next long training request after 60 seconds of request timeout.
The listening thread of the client is connected (i.e. Attach) to a thread of an application pointed by the update code deployed on the client, for example, thread 1, and thread 1 loads a agent (agent is a tool for loading code in java) program in a jar packet; thread 1 uses agent program to find the code of the application pointed by the update code, and find out the code identical to the class name and the method name from the codes of the application pointed by the update code; the thread 1 replaces codes which are the same as the class names and the method names with the code blocks through java assistt in the agent program; thread 1 reloads the class to which the code block belongs through the translation and the application update is complete.
It should be noted that, by updating the code to include the class name, the method name, and the code block, the client finds out the code identical to the class name and the method name from the codes of the application to which the updated code points, and replaces the code identical to the class name and the method name with the code block. The code to be updated is found out from the original codes of the application by using the class names and the method names, the code to be updated is replaced by the code blocks, the application is automatically updated, the updating efficiency is further improved, and the updating automation degree is further improved.
In the embodiment of the invention, the update code and the name of the application pointed by the update code are sent by a management cluster;
the management cluster obtains the update code and the name of the application pointed by the update code through manual input or code library uploading.
In this embodiment, in implementation, the update code and the name of the application to which the update code points are automatically uploaded to the management cluster through a git (git is an open-source distributed version control system) code library or a svn (svn is an open-source version control system, which is collectively referred to as a subversion) code library. The management cluster may be one server or a distributed system formed by a plurality of servers.
In addition, the developer inputs the update code and the name of the application to which the update code points to the management cluster through a World Wide Web (Web for short) interface. And the update codes and the names of the applications pointed by the update codes are subjected to persistence processing to obtain persistence data, so that research and development personnel can conveniently carry out version management, and the persistence data is utilized to update the applications under the condition that the service cluster is down, so that the high availability of the service cluster is ensured.
The update code and the application to which the update code is directed are described below in a specific example: if the research personnel determine that the original code of the application is problematic, the original code of the application is modified, compiled and packaged respectively to obtain the updated code, and the application with the problematic original code is the application pointed by the updated code. The update code may be in binary format.
In this embodiment, the update code and the name of the application to which the update code points are sent by the management cluster; the manner in which the management cluster obtains the update code and the name of the application to which the update code points includes manual entry or code library upload. The research staff is only responsible for writing the update codes, the operation of the research staff is simple, the research staff is released from the work of uploading the update codes to corresponding clients, and the workload of the research staff is further reduced.
Modifying existing code to implement new functionality is a frequent thing that developers do in the calendar development process. For example, a bug (bug) occurs in the code, and the code needs to be modified; for another example, the key node does not log, and the code needs to be modified, so that the key node is logged, and the log information of the key node is used for debugging analysis; for another example, when the environment test is performed, the problem of the interface is found to cause the flow to be not feasible, the problematic interface needs to be simulated, the code for the environment test is modified, and the modified code for the environment test calls the simulated interface to complete the environment test. The method provided by the embodiment of the invention can be adopted to update the application pointed by the modified code by using the modified code. Specifically, the application may be an application program or application software or the like, for example, a jindong application program.
In order to solve the problems in the prior art, another embodiment of the present invention provides a method for updating an application.
In this embodiment, the applications deployed on client a include application 1 and application 2;
the applications deployed on client b include application 2 and application 3;
the applications deployed on the client c include application 1, application 2, and application 3.
The service cluster comprises a first server and a second server, wherein the names of the client a information and the application 1 are matched and stored in the local cache of the first server, and the names of the client c information and the application 1 are also matched and stored in the local cache of the first server.
The name of the client a information and the name of the application 2, the name of the client b information and the name of the application 3, the name of the client c information and the name of the application 2, and the name of the client c information and the name of the application 3 are matched and stored in a local cache of the second server.
The research and development personnel determine that the original code of the application 1 has problems, and carry out a series of processes such as modification and the like on the original code of the application 1 to obtain an update code, wherein the application pointed by the update code is the application 1.
As shown in fig. 3, the method includes:
in step S301, the management cluster receives the update code and the name of the application 1 input by the developer, and sends the update code and the name of the application 1 to the first server and the second server respectively.
In step S302, the server receives the update code and the name of the application 1.
Step 303, the local cache of the first server stores the name of the application 1, and the first server obtains, from the local cache of the first server, the client a information stored in a matching manner with the name of the application 1 and the client c information stored in a matching manner with the name of the application 1.
Step S304, the server side sends the update code and the name of the application 1 to the client side a according to the information of the client side a, and sends the update code and the name of the application 1 to the client side c according to the information of the client side c.
In step S305, the client a receives the update code and the name of the application 1, and the client a updates the application 1 deployed on the client a with the update code.
In step S306, the client c receives the update code and the name of the application 1, and updates the application 1 deployed on the client c with the update code.
It should be understood that step S305 and step S306 may be performed simultaneously or sequentially.
In step S307, the second server receives the update code and the name of the application 1.
It should be understood that step S307 and step S302 may be performed simultaneously or sequentially.
In step S308, the local cache of the second server does not store the name of the application 1, so that the second server does not process.
In order to solve the problems in the prior art, an embodiment of the present invention provides an apparatus for updating an application, as shown in fig. 4, the apparatus includes:
a receiving unit 401, configured to receive an update code and a name of an application to which the update code points.
And the processing unit 402 is used for acquiring target client information matched with the name of the application pointed by the update code according to the name of the application pointed by the update code.
A sending unit 403, configured to send the update code and a name of an application to which the update code points to a target client according to the target client information; the updating code is used for updating the application pointed by the updating code.
In the embodiment of the present invention, the receiving unit 401 is configured to:
before receiving an update code and the name of an application pointed by the update code, receiving client information sent by at least one client and the name of the application deployed on the client;
and storing the client information and the name matching of the application deployed on the client into a local cache.
In an embodiment of the present invention, the processing unit 402 is configured to:
and if the names of the applications stored in the local cache comprise the names of the applications pointed by the update codes, the client information stored in a matching mode with the names of the applications pointed by the update codes is used as target client information.
In the embodiment of the invention, the method is applied to the server side;
the receiving unit 401 is configured to:
before receiving an update code and the name of an application pointed by the update code, receiving client information sent by at least one client and the name of the application deployed on the client;
and storing the identification of the server, the client information and the name of the application deployed on the client in a database in a matching way.
In an embodiment of the present invention, the processing unit 402 is configured to:
and if the names of the applications stored in the database comprise the names of the applications pointed by the update codes, the stored client information matched with the names of the applications pointed by the update codes and the identification of the server is taken as target client information.
In the embodiment of the invention, the update code and the name of the application pointed by the update code are sent by a management cluster;
the management cluster obtains the update code and the name of the application pointed by the update code through manual input or code library uploading.
It should be understood that the functions performed by the components of the apparatus for updating an application according to the embodiments of the present invention are described in detail in the method for updating an application according to the foregoing embodiments, which is not described herein.
Fig. 5 illustrates an exemplary system architecture 500 of a method of updating an application or an apparatus of updating an application to which embodiments of the present invention may be applied.
As shown in fig. 5, the system architecture 500 may include terminal devices 501, 502, 503, a network 504, and a server 505. The network 504 is used as a medium to provide communication links between the terminal devices 501, 502, 503 and the server 505. The network 504 may include various connection types, such as wired, wireless communication links, or fiber optic cables, among others.
A user may interact with the server 505 via the network 504 using the terminal devices 501, 502, 503 to receive or send messages or the like. Various communication client applications may be installed on the terminal devices 501, 502, 503, such as shopping class applications, web browser applications, search class applications, instant messaging tools, mailbox clients, social platform software, etc. (by way of example only).
The terminal devices 501, 502, 503 may be a variety of electronic devices having a display screen and supporting web browsing, including but not limited to smartphones, tablets, laptop and desktop computers, and the like.
The server 505 may be a server providing various services, such as a background management server (by way of example only) providing support for shopping-type websites browsed by users using the terminal devices 501, 502, 503. The background management server may analyze and process the received data such as the product information query request, and feedback the processing result (e.g., the target push information, the product information—only an example) to the terminal device.
It should be noted that, the method for updating an application provided in the embodiment of the present invention is generally executed by the server 505, and accordingly, the device for updating an application is generally disposed in the server 505.
It should be understood that the number of terminal devices, networks and servers in fig. 5 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
Referring now to FIG. 6, there is illustrated a schematic diagram of a computer system 600 suitable for use in implementing an embodiment of the present invention. The terminal device shown in fig. 6 is only an example, and should not impose any limitation on the functions and the scope of use of the embodiment of the present invention.
As shown in fig. 6, the computer system 600 includes a Central Processing Unit (CPU) 601, which can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM) 602 or a program loaded from a storage section 608 into a Random Access Memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the system 600 are also stored. The CPU 601, ROM 602, and RAM 603 are connected to each other through a bus 604. An input/output (I/O) interface 605 is also connected to bus 604.
The following components are connected to the I/O interface 605: an input portion 606 including a keyboard, mouse, etc.; an output portion 607 including a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, a speaker, and the like; a storage section 608 including a hard disk and the like; and a communication section 609 including a network interface card such as a LAN card, a modem, or the like. The communication section 609 performs communication processing via a network such as the internet. The drive 610 is also connected to the I/O interface 605 as needed. Removable media 611 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is installed as needed on drive 610 so that a computer program read therefrom is installed as needed into storage section 608.
In particular, according to embodiments of the present disclosure, the processes described above with reference to flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method shown in the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network through the communication portion 609, and/or installed from the removable medium 611. The above-described functions defined in the system of the present invention are performed when the computer program is executed by a Central Processing Unit (CPU) 601.
The computer readable medium shown in the present invention may be a computer readable signal medium or a computer readable storage medium, or any combination of the two. The computer readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples of the computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In the present invention, however, the computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, with the computer-readable program code embodied therein. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, fiber optic cable, RF, etc., or any suitable combination of the foregoing.
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a unit, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units involved in the embodiments of the present invention may be implemented in software or in hardware. The described units may also be provided in a processor, for example, described as: a processor includes a receiving unit, a processing unit, and a transmitting unit. Where the names of the units do not constitute a limitation of the unit itself in some cases, for example, the receiving unit may also be described as "a unit that receives the update code and the name of the application to which the update code is directed".
As another aspect, the present invention also provides a computer-readable medium that may be contained in the apparatus described in the above embodiments; or may be present alone without being fitted into the device. The computer readable medium carries one or more programs which, when executed by a device, cause the device to include: receiving an update code and a name of an application to which the update code points; acquiring target client information matched with the name of the application pointed by the update code according to the name of the application pointed by the update code; according to the target client information, the update codes and the names of the applications pointed by the update codes are sent to a target client; the updating code is used for updating the application pointed by the updating code.
According to the technical scheme of the embodiment of the invention, the update codes and the names of the applications pointed by the update codes are received; acquiring target client information matched with the name of the application pointed by the update code according to the name of the application pointed by the update code; and sending the update codes and the names of the applications pointed by the update codes to the target client according to the target client information, so that the target client updates the applications pointed by the update codes by using the update codes. The codes are manually uploaded to the corresponding clients and are converted into automatic uploading to the corresponding clients, so that the updating efficiency is improved, the updating automation degree is improved, and the workload of research personnel is reduced.
The above embodiments do not limit the scope of the present invention. It will be apparent to those skilled in the art that various modifications, combinations, sub-combinations and alternatives can occur depending upon design requirements and other factors. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included in the scope of the present invention.

Claims (5)

1. A method for updating an application, applied to a server, comprising:
receiving client information sent by at least one client and the name of an application deployed on the client; matching and storing the identification of the server, the client information and the name of the application deployed on the client into a database;
receiving an update code and a name of an application to which the update code points;
sending a query request to a database, wherein the query request carries an identifier of the server and a name of an application pointed by the update code;
if the names of the applications stored in the database comprise the names of the applications pointed by the update codes, the stored client information matched with the names of the applications pointed by the update codes and the identification of the server is used as target client information;
according to the target client information, the update codes and the names of the applications pointed by the update codes are sent to a target client;
the updating code is used for updating the application pointed by the updating code.
2. The method of claim 1, wherein the update code and the name of the application to which the update code points are sent by a management cluster;
the management cluster obtains the update code and the name of the application pointed by the update code through manual input or code library uploading.
3. An apparatus for updating an application, applied to a server, comprising:
a receiving unit, configured to receive client information sent by at least one client and a name of an application deployed on the client; matching and storing the identification of the server, the client information and the name of the application deployed on the client into a database; receiving an update code and a name of an application to which the update code points;
the processing unit is used for sending a query request to the database, wherein the query request carries the identifier of the server and the name of the application pointed by the update code; if the names of the applications stored in the database comprise the names of the applications pointed by the update codes, the stored client information matched with the names of the applications pointed by the update codes and the identification of the server is used as target client information;
a sending unit, configured to send the update code and a name of an application to which the update code points to a target client according to the target client information; the updating code is used for updating the application pointed by the updating code.
4. An electronic device, comprising:
one or more processors;
storage means for storing one or more programs,
when executed by the one or more processors, causes the one or more processors to implement the method of any of claims 1-2.
5. A computer readable medium, on which a computer program is stored, characterized in that the program, when being executed by a processor, implements the method according to any of claims 1-2.
CN201910918423.4A 2019-09-26 2019-09-26 Method and device for updating application Active CN112559001B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910918423.4A CN112559001B (en) 2019-09-26 2019-09-26 Method and device for updating application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910918423.4A CN112559001B (en) 2019-09-26 2019-09-26 Method and device for updating application

Publications (2)

Publication Number Publication Date
CN112559001A CN112559001A (en) 2021-03-26
CN112559001B true CN112559001B (en) 2023-09-26

Family

ID=75029903

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910918423.4A Active CN112559001B (en) 2019-09-26 2019-09-26 Method and device for updating application

Country Status (1)

Country Link
CN (1) CN112559001B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113296828A (en) * 2021-05-26 2021-08-24 北京京东振世信息技术有限公司 Method, server and system for issuing application

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013118956A1 (en) * 2012-02-10 2013-08-15 에스케이플래닛 주식회사 System and method for providing integrated membership service
CN104580159A (en) * 2014-12-12 2015-04-29 西安酷派软件科技有限公司 Method and device for event notice as well as terminal device
CN105511914A (en) * 2015-12-01 2016-04-20 百度在线网络技术(北京)有限公司 Application update method, device and system
CN106569844A (en) * 2016-09-23 2017-04-19 北京五八信息技术有限公司 Processing method, processing device and equipment for program code update
WO2018019241A1 (en) * 2016-07-29 2018-02-01 腾讯科技(深圳)有限公司 Update processing method and device for terminal application, and computer storage medium
CN108984197A (en) * 2018-07-12 2018-12-11 北京京东金融科技控股有限公司 A kind of code update method and device
CN109495433A (en) * 2017-09-13 2019-03-19 腾讯科技(深圳)有限公司 Data download method and device, storage medium and electronic device
CN109697075A (en) * 2017-10-20 2019-04-30 北京京东尚科信息技术有限公司 File updating method, system and device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190196805A1 (en) * 2017-12-21 2019-06-27 Apple Inc. Controlled rollout of updates for applications installed on client devices

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013118956A1 (en) * 2012-02-10 2013-08-15 에스케이플래닛 주식회사 System and method for providing integrated membership service
CN104580159A (en) * 2014-12-12 2015-04-29 西安酷派软件科技有限公司 Method and device for event notice as well as terminal device
CN105511914A (en) * 2015-12-01 2016-04-20 百度在线网络技术(北京)有限公司 Application update method, device and system
WO2018019241A1 (en) * 2016-07-29 2018-02-01 腾讯科技(深圳)有限公司 Update processing method and device for terminal application, and computer storage medium
CN106569844A (en) * 2016-09-23 2017-04-19 北京五八信息技术有限公司 Processing method, processing device and equipment for program code update
CN109495433A (en) * 2017-09-13 2019-03-19 腾讯科技(深圳)有限公司 Data download method and device, storage medium and electronic device
CN109697075A (en) * 2017-10-20 2019-04-30 北京京东尚科信息技术有限公司 File updating method, system and device
CN108984197A (en) * 2018-07-12 2018-12-11 北京京东金融科技控股有限公司 A kind of code update method and device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘黎志 ; .基于SingalR的Web实时应用程序框架设计.计算机工程与设计.2015,(10),全文. *

Also Published As

Publication number Publication date
CN112559001A (en) 2021-03-26

Similar Documents

Publication Publication Date Title
CN110019350B (en) Data query method and device based on configuration information
CN107590001B (en) Load balancing method and device, storage medium and electronic equipment
CN109245908B (en) Method and device for switching master cluster and slave cluster
CN111460129B (en) Method, device, electronic equipment and storage medium for generating identification
US8856365B2 (en) Computer-implemented method, computer system and computer readable medium
CN109783151B (en) Method and device for rule change
CN112765166A (en) Data processing method, device and computer readable storage medium
WO2021061659A1 (en) Methods and systems for continuous asynchronous code deployment
CN107347093B (en) Configuration method and device for distributed server system
CN116303608A (en) Data processing method and device for application service
CN112559001B (en) Method and device for updating application
CN111831503B (en) Monitoring method based on monitoring agent and monitoring agent device
WO2024001240A1 (en) Task integration method and apparatus for multiple technology stacks
CN116450622A (en) Method, apparatus, device and computer readable medium for data warehouse entry
CN113778780B (en) Application stability determining method and device, electronic equipment and storage medium
CN113132447A (en) Reverse proxy method and system
CN108696549B (en) Load balancing method, device and system
CN111949472A (en) Method and device for recording application logs
CN112214500A (en) Data comparison method and device, electronic equipment and storage medium
CN110727739B (en) Data storage method and device
CN113760886B (en) Method, apparatus, device and computer readable medium for providing data service
CN110262756B (en) Method and device for caching data
CN113495747A (en) Gray scale publishing method and device
CN113760480A (en) Task scheduling method, device and system
CN112817737A (en) Method and device for calling model in real time

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant