CN113872808A - Application processing method and device - Google Patents

Application processing method and device Download PDF

Info

Publication number
CN113872808A
CN113872808A CN202111137008.9A CN202111137008A CN113872808A CN 113872808 A CN113872808 A CN 113872808A CN 202111137008 A CN202111137008 A CN 202111137008A CN 113872808 A CN113872808 A CN 113872808A
Authority
CN
China
Prior art keywords
application
edge server
server
proxy
edge
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.)
Granted
Application number
CN202111137008.9A
Other languages
Chinese (zh)
Other versions
CN113872808B (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 Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202111137008.9A priority Critical patent/CN113872808B/en
Publication of CN113872808A publication Critical patent/CN113872808A/en
Application granted granted Critical
Publication of CN113872808B publication Critical patent/CN113872808B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/042Network management architectures or arrangements comprising distributed management centres cooperatively managing the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The disclosure provides an application processing method and device, relates to computer technology, and particularly relates to the field of big data. The specific implementation scheme is as follows: the edge server receives an application operation instruction from the central server, wherein the application operation instruction comprises the identification of the target application and the operation type for operating the target application. And the edge server acquires the data packet to be processed corresponding to the target application according to the identification of the target application. And the edge server executes the operation corresponding to the operation type on the data packet to be processed corresponding to the target application according to the operation type. The central server sends the application operation instruction to the edge servers, then the edge servers can acquire the data packets to be processed corresponding to the target application according to the identification of the target application, and execute operation on the target application according to the operation type indicated by the application operation instruction so as to realize automatic implementation of application maintenance of each edge server, thereby effectively improving the maintenance efficiency of the application in the edge servers.

Description

Application processing method and device
Technical Field
The present disclosure relates to the field of big data in computer technologies, and in particular, to an application processing method and apparatus.
Background
A Content Delivery Network (CDN) depends on edge servers deployed in various regions, and through functional modules of load balancing, Content Delivery, scheduling, and the like of a central platform, a user can obtain required Content nearby, so that Network congestion is reduced.
Currently, for the purpose of enabling a user to access nearby, a variety of applications are usually installed in an edge server to support a node to provide corresponding services, such as log-related applications, monitoring applications, and the like.
However, the number of edge servers is usually very large, and the maintenance of the applications on the respective edge servers is performed by operation and maintenance personnel, which results in inefficient maintenance of the applications.
Disclosure of Invention
The disclosure provides an application processing method and device.
According to a first aspect of the present application, an application processing method is provided, where the application processing method is applied to a content delivery network CDN, where the CDN includes a central server and a plurality of edge servers, where the edge servers are provided with a plurality of applications, and the method includes:
the method comprises the steps that an edge server receives an application operation instruction from a central server, wherein the application operation instruction comprises an identifier of a target application and an operation type for operating the target application;
the edge server acquires a data packet to be processed corresponding to the target application according to the identification of the target application;
and the edge server executes the operation corresponding to the operation type on the data packet to be processed corresponding to the target application according to the operation type.
According to a second aspect of the present application, an application processing method is provided, where the application processing method is applied to a CDN, the CDN includes a central server and a plurality of edge servers, and the edge servers are provided with a plurality of applications, and the method includes:
the method comprises the steps that a central server generates an application operation instruction, wherein the application operation instruction comprises an identification of a target application and an operation type for operating the target application;
and the central server sends the application operation instruction to the edge server.
According to a third aspect of the present application, an application processing apparatus is provided, where the application processing apparatus is applied to a content delivery network CDN, where the CDN includes a central server and a plurality of edge servers, where the edge servers are provided with a plurality of applications, and the apparatus includes:
the edge server is used for receiving an application operation instruction from a central server, wherein the application operation instruction comprises an identifier of a target application and an operation type for operating the target application;
the acquisition module is used for acquiring the data packet to be processed corresponding to the target application by the edge server according to the identifier of the target application;
and the processing module is used for executing the operation corresponding to the operation type on the data packet to be processed corresponding to the target application by the edge server according to the operation type.
According to a fourth aspect of the present application, an application processing apparatus is provided, where the application processing apparatus is applied to a CDN, the CDN includes a central server and a plurality of edge servers, and a plurality of applications are provided in the edge servers, the apparatus includes:
the processing module is used for generating an application operation instruction by the central server, wherein the application operation instruction comprises an identifier of a target application and an operation type for operating the target application;
and the sending module is used for sending the application operation instruction to the edge server by the central server.
According to a fifth aspect of the present application, there is provided an electronic device comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein the content of the first and second substances,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of the first aspect or the second aspect.
According to a sixth aspect of the present application, there is provided a non-transitory computer readable storage medium having stored thereon computer instructions for causing the computer to perform the method of the first or second aspect.
According to a seventh aspect of the present application, there is provided a computer program product comprising: a computer program, stored in a readable storage medium, from which at least one processor of an electronic device can read the computer program, execution of the computer program by the at least one processor causing the electronic device to perform the method of the first aspect or the second aspect.
The technique according to the present disclosure solves the problem of inefficient maintenance of applications.
It should be understood that the statements in this section do not necessarily identify key or critical features of the embodiments of the present disclosure, nor do they limit the scope of the present disclosure. Other features of the present disclosure will become apparent from the following description.
Drawings
The drawings are included to provide a better understanding of the present solution and are not to be construed as limiting the present disclosure. Wherein:
fig. 1 is a schematic system structure diagram of a content distribution network provided in an embodiment of the present application;
fig. 2 is a flowchart of an application processing method provided in an embodiment of the present application;
fig. 3 is a second flowchart of an application processing method according to an embodiment of the present application;
fig. 4 is a schematic diagram of role information provided in an embodiment of the present application;
fig. 5 is a schematic diagram of an application identifier provided in an embodiment of the present application;
fig. 6 is a schematic diagram illustrating an implementation of an application version update of an edge server according to an embodiment of the present application;
fig. 7 is a flowchart of a third application processing method according to an embodiment of the present application;
fig. 8 is a schematic diagram illustrating an implementation of an application processing method according to an embodiment of the present application;
FIG. 9 is a first schematic structural diagram of an application processing apparatus according to an embodiment of the present disclosure;
FIG. 10 is a second schematic structural diagram of an application processing apparatus according to an embodiment of the present disclosure;
fig. 11 is a block diagram of an electronic device for implementing an application processing method of an embodiment of the present disclosure.
Detailed Description
Exemplary embodiments of the present disclosure are described below with reference to the accompanying drawings, in which various details of the embodiments of the disclosure are included to assist understanding, and which are to be considered as 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 present disclosure. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
In order to better understand the technical solution of the present application, the related art related to the present application will be further described in detail below.
The CDN is called a Content Delivery Network, i.e., a Content Delivery Network. The basic idea is to avoid bottlenecks and links possibly influencing data transmission speed and stability on the Internet as far as possible, so that content transmission is faster and more stable. By placing node servers at various positions of the network to form a layer of intelligent virtual network on the basis of the existing internet, the CDN system can redirect the request of a user to a service node closest to the user in real time according to network flow, connection of each node, load condition, distance to the user, response time and other comprehensive information. The method aims to enable the user to obtain the required content nearby, solve the problem of congestion of the Internet network and improve the response speed of the user for accessing the website.
Furthermore, the CDN depends on edge servers deployed in various regions, and through functional modules of the central platform, such as load balancing, content distribution, scheduling, and the like, a user can obtain required content nearby, network congestion is reduced, and the access response speed and hit rate of the user are improved.
In order to achieve the purpose of near-by access of users, a large number of CDN network nodes need to be laid around the country, where the nodes are located at user access points, are content providing devices for end users, and can cache static Web (network) content and streaming media content to implement edge propagation and storage of the content, so that users can access the content nearby.
In order to realize these functions, a server deployed in an edge node needs to install various software packages to support the node to provide the service, such as nginx applications, cache (cache) applications, log-related applications, monitoring applications, system environment basic packages, and the like, and it is roughly estimated that more than 20 applications need to be installed on one machine. Wherein nginx is a high performance hypertext Transfer Protocol (HTTP) and reverse proxy web server.
Currently, in the prior art, when the maintenance of the application on each edge server is implemented, it is usually implemented by operation and maintenance personnel. Operation and maintenance personnel need to perform a series of application life cycle dimensions such as application deployment, application change and application uninstallation on the servers to ensure that the CDN service is provided.
Due to the different functions provided by different machines, different applications and different versions of applications deployed on different machines are also contemplated. When the actions for these software packages include new service deployment, old service update, and old service offline, the deployment of each software package should also take into account the front-back installation order and the specific applications of each machine with different role information, and if the workload is multiplied by the number of applications and the number of machines, it is a complicated process for operation and maintenance personnel or developers to maintain the software packages on the CDN machines.
Therefore, in the implementation scheme of the prior art, the problems of great difficulty in maintaining the application on the edge server and low efficiency exist.
Aiming at the problems in the prior art, the application provides the following technical conception: there is a need to provide a way to automate the management of applications on CDN machines. For example, role information of each server may be maintained in the central server, candidate applications corresponding to each role information may be maintained in the central server, then, based on the role information of the servers and the candidate applications corresponding to the role information, instructions for maintaining target applications in the candidate applications may be sent to the edge servers in batch, and then the edge servers execute corresponding maintenance operations according to the instructions, so that application maintenance on the edge machines may be automatically achieved. The method and the system reduce the burden of operation and maintenance and the burden of a developer on maintaining the software version on the machine, and reduce manual intervention.
Meanwhile, because the number of the edge servers is very large, in the system design, tens of thousands of machines connected below can be controlled through a central controller, and on the basis of considering the characteristics of system load balance and concurrency, the principle of simple use is adhered to in use. Therefore, in the present application, some servers in the CDN node may be set as proxy servers, where the proxy servers may forward data between the edge server and the central control server, so as to reduce the pressure of the central server.
For example, a system structure of the CDN in the embodiment of the present application may be described with reference to fig. 1, where fig. 1 is a schematic system structure diagram of a content delivery network provided in the embodiment of the present application.
As shown in fig. 1, the CDN system in the present application includes a central system and CDN nodes.
The central system can comprise a plurality of central servers, and it can be understood that in the system design, the central control is deployed in a cluster mode, and parallel batch processing and multi-task issuing can be realized.
And, a plurality of edge servers may be included in the CDN node, where the edge servers are all machines that can provide corresponding services for users, and in a possible implementation, the edge servers in this embodiment may be divided into proxy edge servers and non-proxy edge servers.
The non-proxy edge server is a common server for providing corresponding services to users.
And the proxy edge server can receive the data sent by the central server and forward the data sent by the central server to the corresponding non-proxy edge server. And the proxy edge server can also forward the data sent by the non-proxy edge server to the central server, that is, the proxy edge server can act as a server for data transfer between the central server and the non-proxy edge server.
Meanwhile, the proxy edge server also serves as an edge server, and can provide corresponding functions for users, namely the proxy edge server can also directly interact data with the central server without forwarding the data.
That is, the proxy edge server and the non-proxy edge server are similar in terms of providing services to users, except that the proxy edge server adds a role as an intermediary to relay data.
It is understood that in CDN nodes, the number of proxy edge servers is smaller, and the number of non-proxy edge servers is larger. For example, in a CDN node, 1000 edge servers coexist, and assuming that 100 edge servers may serve as proxy edge servers and the other 900 edge servers may serve as non-proxy edge servers, by setting the proxy edge servers, it can be ensured that the central control only needs to perform data interaction with a small number of servers, so that the pressure of the central server can be effectively reduced.
And it can be understood that, in this embodiment, each non-proxy edge server may be provided with a corresponding proxy edge server, for example, in a possible implementation manner, a communication connection may be established between the non-proxy edge server and the corresponding proxy edge server, and then the non-proxy edge server and the corresponding proxy edge server perform data interaction.
For example, referring to FIG. 1, assume that there is currently a proxy edge server A, a proxy edge server B, and a proxy edge server C, where proxy edge server A corresponds to non-proxy edge server A1 and non-proxy edge server A2, and proxy edge server B corresponds to non-proxy edge server B1 and non-proxy edge server B2. Then, taking non-proxy edge server a1 as an example, non-proxy edge server a1 establishes a communication connection with proxy edge server a and performs data interaction with proxy edge server a.
It can be understood that, in addition to performing data interaction, the proxy edge server in this embodiment may also perform application maintenance in the proxy edge server, so that the proxy edge server may also perform data interaction directly with the central server to implement maintenance on the application in the proxy edge server.
Based on the above description, it can be understood that the central system in the present application is a cluster formed by a plurality of central servers, and when a task is processed, parallel processing can be implemented, and the task maintained by an application is transferred to a machine connected to it, where the machine may be a proxy edge server or a non-proxy edge server.
For any edge server, each edge server corresponds to respective role information, and if the machine role information of a certain edge server is a proxy edge server, the edge server can serve as a proxy function. And for the machine role information, the part of the machine which is a non-proxy edge server can be connected to the proxy edge server in the same node, for example, the non-proxy edge server a1 and the non-proxy edge server a2 in fig. 1 are connected to the proxy edge server a thereof, wherein the non-proxy edge server a1 and the non-proxy edge server a2 can receive and download files directly from the proxy edge server a without directly connecting a central controller, so that the central controller pressure can be reduced.
In an alternative implementation, if the non-proxy edge server cannot find an available proxy edge server in the node, the central server may also be directly linked up, for example, the non-proxy edge server C in fig. 1 is directly connected to the central server and does not pass through the proxy edge server. Therefore, the architectural design of application management can not only reduce the pressure of central control, but also improve the efficiency of processing tasks.
It is understood that the corresponding relationship between the non-proxy edge server and the proxy edge server in this embodiment may be configured in advance. Or when the non-proxy edge server needs to perform data interaction each time, searching whether an available proxy edge server exists at present, and if so, establishing communication connection with the available proxy edge server to perform data interaction. The embodiment does not limit the specific implementation manner of determining the corresponding relationship between the non-proxy edge server and the proxy edge server, and the specific implementation manner may be selected and set according to actual requirements.
Based on the above description, the application processing method provided by the present application is described below with reference to specific embodiments, and first described with reference to fig. 2, where fig. 2 is a flowchart of the application processing method provided by the present application.
As shown in fig. 2, the method includes:
s201, the edge server receives an application operation instruction from the central server, wherein the application operation instruction comprises an identifier of a target application and an operation type for operating the target application.
In this embodiment, the edge server may receive an application operation instruction from the central server, where the application operation instruction may indicate to perform a corresponding operation on the target application, and in a possible implementation manner, the application operation instruction may include an identifier of the target application and an operation type for operating the target application.
Based on the above description, it may be determined that the plurality of edge servers in this embodiment may include a plurality of proxy edge servers and a plurality of non-proxy edge servers, and in a possible implementation, a communication connection may be established between a non-proxy edge server and a corresponding proxy edge server. Based on the above description, it may be determined that the currently introduced correspondence may be a preconfigured correspondence as described above, or may also be a correspondence determined after determining a currently available proxy edge server.
In this embodiment, for the proxy edge server and the non-proxy edge server, when receiving the application operation instruction from the central server, there may be a certain difference in implementation manner.
In a possible implementation manner, if the current edge server is a proxy edge server, the proxy edge server may directly receive an application operation instruction sent by the central server.
It will be appreciated that the current application operating instructions are sent directly by the central server to the proxy edge server.
In another possible implementation manner, if the current edge server is a non-proxy edge server, the non-proxy edge server may receive an application operation instruction from the central server forwarded by the corresponding proxy edge server.
It is understood that the central server sends the application operation instruction to the proxy edge server and indicates that the application operation instruction is forwarded to the corresponding non-proxy edge server, so that the proxy edge server can forward the application operation instruction to the corresponding non-proxy edge server after receiving the application operation instruction.
Or in an optional implementation manner, if there is no available proxy edge server, the non-proxy edge server may also directly receive the application operation instruction sent by the central server, and the specific implementation manner of the application operation instruction is not limited in this embodiment, and may be selected according to actual requirements.
It can be understood that, when the central server issues the application operation instruction, it needs to indicate whether the current application operation instruction is directly sent to the proxy edge server or the proxy edge server needs to forward the current application operation instruction to the corresponding non-proxy edge server. Therefore, in a possible implementation manner, for example, the application operation instruction may include indication information, and when the indication information is the first indication information, the first indication information may indicate that the application operation instruction is sent to the proxy edge server; or when the indication information is the second indication information, the second indication information may indicate that the application operation instruction indicates that the proxy edge server forwards the application operation instruction to the corresponding non-proxy edge server.
Or it can be determined based on the above description that the application operation instruction includes the identifier of the edge server corresponding to the current application operation instruction, so that when the proxy edge server receives the application operation instruction, it can determine to which edge server the current application operation instruction is specifically sent, and further determine whether to directly receive the application operation instruction or forward the application operation instruction.
Meanwhile, it can be understood that, when issuing the application operation instruction, the central server may issue the application operation instruction in batches for a batch of edge servers, or may issue the application operation instruction separately for individual edge servers.
S202, the edge server obtains the data packet to be processed corresponding to the target application according to the identification of the target application.
After receiving the application operation instruction, the edge server needs to perform corresponding operation on the target application according to the application operation instruction, in this embodiment, the operation performed on the target application may be, for example, installation of the application, uninstallation of the application, inspection of the application, and the like.
It can be understood that, if these corresponding operations need to be performed on the target application, the to-be-processed data package corresponding to the target application needs to be obtained, such as an installation package, an unloading package, an update package, and the like, so that the edge server can obtain the to-be-processed data package corresponding to the target application according to the identifier of the target application.
For the non-proxy edge server, in a possible implementation manner, the non-proxy edge server may obtain, for example, a to-be-processed data packet corresponding to the target application from a local location according to the identifier of the target application. Or, the non-proxy edge server may further obtain the to-be-processed data packet corresponding to the target application from the proxy edge server according to the identifier of the target application.
For the proxy edge server, for example, the proxy edge server may obtain the pending data packet corresponding to the target application from the local. Or, the proxy edge server may further obtain a to-be-processed data packet corresponding to the target application from the central server.
The specific implementation manner of the edge server for acquiring the to-be-processed data packet corresponding to the target application is not limited in this embodiment, and may be selected according to actual requirements as long as the edge server can acquire the corresponding to-be-processed data packet from the location where the to-be-processed data packet is stored.
And S203, the edge server executes the operation corresponding to the operation type on the data packet to be processed corresponding to the target application according to the operation type.
After obtaining the to-be-processed data packet corresponding to the to-be-target application, the edge server may execute a corresponding operation for the target application, and based on the above description, it may be determined that the application operation instruction further includes an operation type, where the operation type is used to indicate what operation is specifically performed for the target application at present, where the operation that may be performed may include, for example, installation, uninstallation, inspection, update, and the like, which is not limited in this embodiment.
And the obtained to-be-processed data packet corresponding to the target application already includes data required for performing corresponding operation on the target application at present, so that the edge server can execute the operation corresponding to the operation type on the to-be-processed data packet corresponding to the target application according to the operation type, so as to implement the operations of installation, uninstallation, inspection, update and the like on the target application.
The application processing method provided by the embodiment of the application comprises the following steps: the edge server receives an application operation instruction from the central server, wherein the application operation instruction comprises the identification of the target application and the operation type for operating the target application. And the edge server acquires the data packet to be processed corresponding to the target application according to the identification of the target application. And the edge server executes the operation corresponding to the operation type on the data packet to be processed corresponding to the target application according to the operation type. The central server sends an application operation instruction to the edge servers to instruct the edge servers to perform corresponding operation on the target application, then the edge servers can acquire the data packets to be processed corresponding to the target application according to the identification of the target application, and then the edge servers can perform corresponding operation on the target application according to the operation type indicated by the application operation instruction so as to realize automatic implementation of application maintenance of each edge server, thereby effectively improving the maintenance efficiency of the application in the edge servers.
Based on the foregoing embodiments, the application processing method provided in the embodiment of the present application is further described in detail below with reference to fig. 3 to 5, fig. 3 is a second flowchart of the application processing method provided in the embodiment of the present application, fig. 4 is a schematic view of role information provided in the embodiment of the present application, and fig. 5 is a schematic view of an application identifier provided in the embodiment of the present application.
As shown in fig. 3, the method includes:
s301, the edge server takes the first duration as a period, and obtains a to-be-processed data packet of at least one candidate application from the proxy edge server and/or the central server, wherein the at least one candidate application comprises a target application.
For example, for the proxy edge server, in this embodiment, the proxy edge server may periodically obtain the pending data packet of at least one candidate application from the central server, for example, with the first duration as a period. The at least one candidate application in this embodiment includes the target application. It is understood that the candidate application in the present embodiment may be an application that needs to be maintained on the corresponding edge server.
For another example, for a non-proxy edge server, in this embodiment, the non-proxy edge server may, for example, periodically obtain at least one to-be-processed data packet of a candidate application from a proxy edge server or a central server with a first time length as a period, where a specific implementation manner of the first time length may be selected according to an actual requirement, and this embodiment is not limited to this.
For example, for a non-proxy edge server, in a possible implementation manner, a to-be-processed data packet of at least one candidate application corresponding to each non-proxy edge server may be stored in the proxy edge server, where the to-be-processed data packet stored in the proxy edge server may be obtained by the proxy edge server from a central server, for example. The proxy edge server may obtain the to-be-processed data packet from the central server at regular time, for example, with a preset time length as a period, or may obtain the to-be-processed data packet in real time when receiving an obtaining request of a non-proxy edge server, which is not limited in this embodiment.
In this embodiment, role information (role) corresponding to each edge server is stored in the center server, and the role information in this embodiment may be at least one of the following: proxy edge servers, non-proxy edge servers.
For example, the role information stored in the center server may be as shown in fig. 4, and referring to fig. 4, the role information of each edge server may be stored in the center server, for example, the role information of the edge server a and the edge server B are all proxy edge servers, and the role information of the edge server C, the edge server a1, the edge server a2, the edge server B1, and the edge server B2 are all non-proxy edge servers. In an alternative implementation, the role information of each edge server may be divided in a more detailed manner, for example, a plurality of role information may be divided for a non-proxy edge server, and for example, a plurality of role information may be divided for a proxy edge server. The embodiment does not limit the specific implementation manner of role information division of the edge server, and the role information division can be selected and set according to actual requirements.
And the central server also stores application identifiers corresponding to the role information. It is understood that there may be a plurality of candidate applications (apps) under one role information. For example, as can be understood with reference to fig. 5, for example, with reference to fig. 5, the role information of the non-proxy edge server may correspond to application 1, application 2, and application 3, and the role information of the proxy edge server may correspond to application 1, application 2, application 4, and application 5. And the candidate application corresponding to each role information represents the application which is required to be maintained by the edge server of the current role information. In an actual implementation process, a specific implementation of the candidate application corresponding to each role information may be selected according to an actual requirement, which is not limited in this embodiment.
And defining priority for a plurality of candidate applications corresponding to each role information, and deploying according to the priority when deploying the applications, wherein the deployment of the applications is completed, namely the deployment of the edge server is completed.
And the central server also stores the software packages corresponding to the candidate applications. It will be appreciated that each candidate application has a software package (pkg) in which all the files and installation logic for the candidate application are contained, wherein the software package supports the actions of: install (install), update (update), check (check), uninstall (uninstant) actions.
And the central server also comprises at least one file corresponding to each software package. It can be understood that files which are more frequently changed in the software package (pkg) and are separately managed can be extracted and then associated with the software package to serve as files corresponding to the software package, and if only the part of files are updated or checked when the application is updated or checked later, the application can be quickly and effectively maintained. Among the actions supported by the file are update (update) and check (check) actions.
And the central server also comprises services corresponding to the candidate applications. It is understood that each candidate application has a service running thereon, and the management actions of the service include start (start), stop (stop), reload (reload), and the like, and can support customized actions.
Therefore, the role information of each edge server and various attributes of the application corresponding to each role information are maintained in the central server, and according to the attributes, the instructions of the application deployment operation can be automatically generated in batches when the application is deployed. And when the server is deployed and the fault machine is repaired, the application which needs to be deployed can be automatically associated with the machine according to the role information of the machine.
Based on the above description, the pending data packet in this embodiment may include at least one of the following: the software package, the file corresponding to the software package and the data package corresponding to the service.
Based on the above description, it can be determined that various types of information are maintained in the central server, wherein the proxy edge server can obtain the pending data packet of at least one candidate application from the central server. It may be acquired in real time or may also be acquired in timing, for example, and this embodiment does not particularly limit this.
It should be noted that, when the edge server performs the acquisition of the pending packets, for example, an incremental acquisition mode may be adopted, that is, each time the pending packets are acquired, which are updated compared with the last time. Or, a full-update obtaining mode may be adopted, that is, all the to-be-processed data packets are obtained each time, and then the to-be-processed data packets currently stored locally are deleted.
S302, the edge server stores the data packet to be processed of at least one candidate application locally.
After the edge server obtains the to-be-processed data packet of at least one candidate application, the to-be-processed data packet may be stored locally, so that the to-be-processed data packet may be obtained in the subsequent application maintenance.
It can be understood that, by acquiring the pending data packet of at least one candidate application at regular time, the edge server may store the pending data packet locally in advance before receiving the application operation instruction, and after receiving the application operation instruction, may acquire the pending data packet from the local quickly and effectively to perform application maintenance, so as to effectively improve the speed and efficiency of application maintenance.
It should be further noted that, in the implementation manner of acquiring and storing the to-be-processed data packets at the timing described in S301 and S302, the execution sequence is only executed according to the first time length as a cycle, and there is no strict timing relationship between the execution sequences of the remaining steps described below.
S303, the edge server receives an application operation instruction from the central server, wherein the application operation instruction comprises the identification of the target application and the operation type for operating the target application.
The implementation manner of S303 is similar to that of S201, and is not described herein again.
S304, the edge server obtains the data packet to be processed corresponding to the target application according to the identification of the target application.
The implementation manner of S304 is similar to that of S202, and is not described here again.
And it can be determined based on the above description that at least one to-be-processed data packet corresponding to the application can be stored locally on the edge server, so that the edge server can locally obtain the to-be-processed data packet corresponding to the target application according to the representation of the target application.
Or in an optional implementation manner, after receiving the application operation instruction, the non-proxy edge server may further obtain the to-be-processed data packet corresponding to the identifier of the target application from the corresponding proxy server. And the proxy edge server can also acquire the data packet to be processed corresponding to the identifier of the target application from the central server after receiving the application operation instruction.
S305, the edge server executes the operation corresponding to the operation type on the data packet to be processed corresponding to the target application according to the operation type.
The implementation manner of S305 is similar to that of S203 described above, and is not described herein again.
Therefore, it can be determined based on the above description that the central server in this embodiment may send the application operation instruction to the edge server, and in a possible manner, for example, a package management tool may be included on the edge server, where the package management tool may parse the application operation instruction, so as to obtain the identifier of the target application included in the application operation instruction and the operation type for operating the target application.
And then the package management tool can execute corresponding operation by combining with a script corresponding to the target application, so that corresponding processing of the target application is realized.
It can be understood that, in this embodiment, by setting the package management tool and the script corresponding to each application in each edge server, a specific operation execution unit can be sunk into each edge server, so that the center server can implement application deployment by only sending the identifier and the operation type of the target application, and the problem of excessive pressure on the center server caused by the fact that the center server needs to undertake a large number of operations is avoided.
Meanwhile, because the package management tools are deployed on each edge server, the package management tools can be directly called to perform one-key verification, installation, start-stop, uninstallation and the like of the application on each edge server, or the application in any combination can be customized to perform operation, so that the flexibility of application maintenance is effectively improved.
And it should be further noted herein that the operation type in the present embodiment may include at least one of the following: the operation type includes at least one of: an installation operation for a software package, an update operation for a software package, a check operation for a software package, an uninstall operation for a software package, an update operation for a file, a check operation for a file, a start operation for a service, a stop operation for a service, a reload operation for a service.
S306, obtaining an operation result of the operation, wherein the operation result is used for indicating that the operation is finished or not finished.
After the edge server performs the corresponding operation on the target application, an operation result of the operation may be further obtained, where the operation result may indicate that the operation is completed, that is, the maintenance of the target application is completed, or the operation result may also indicate that the operation is not completed, that is, the maintenance of the target application is not completed.
And S307, sending the operation result to the central server through the proxy edge server.
The operation result is determined only by the edge server, and can be sent to the central server through the proxy edge server.
It is understood that if the edge server is a proxy edge server, the proxy edge server may send the operation result directly to the central server. If the edge server is a non-proxy edge server, the non-proxy edge server may forward the operation result to the central server through the proxy edge server.
According to the application processing method provided by the embodiment of the application, the edge server acquires the to-be-processed data packet of at least one candidate application from the proxy edge server or the center server by taking the preset time length as a period, and then stores the to-be-processed data packet in the local, so that the to-be-processed data packet of the target application can be quickly and effectively acquired from the local after the application operation instruction is received, and therefore the maintenance efficiency of the application operation can be effectively improved. And after the operation result of the operation is determined, the operation result is sent to the central server, so that the feedback of the maintenance result of the application can be effectively realized.
Based on the above description, it may be determined that the operation for the application may include an update operation, and in this embodiment, the update for the application may include two different types, where one type is that the central server actively sends an instruction for updating the application to each edge server, for example, there is a version update of the application currently, and the central server may push the updated application to each edge server to instruct each edge server to update the version of the application.
Another implementation manner is that each edge server can perform self-check of the application version at regular time, when it is determined that the application version maintained in the edge server is inconsistent with the application version maintained in the central server, the edge server makes a version update request to the central server, and then the central server instructs the edge server to perform version update.
The following describes an implementation manner of performing self-check on an application version by an edge server with reference to fig. 6, where fig. 6 is a schematic diagram illustrating implementation of updating an application version of an edge server according to an embodiment of the present disclosure.
Referring to fig. 6, the edge server may obtain the first version id of each application in the edge server at the second duration period. And the edge server can also receive version indication information from the central server by taking the third duration as a period, wherein the version indication information is used for indicating a second version identifier of each application maintained in the central server.
For any application, the edge server may compare whether the first version identifier and the second version identifier are consistent each time the first version identifier is acquired and/or the second version identifier is acquired each time. If the version is consistent with the version update request, the edge server does not need to update the version, and if the version is inconsistent with the version update request, the edge server can send the version update request to the central server through the monitoring unit.
In an optional implementation manner, in order to enable the central server to determine which edge server needs to perform the version update currently, the version update request may include, for example, an identifier of the edge server, or when the monitoring unit forwards the version update request, the version update request may be forwarded together with the identifier of the edge server.
The monitoring unit in this embodiment is also a unit in the CDN, where the monitoring unit is configured to forward a version update request from an edge server to a central server, and by setting the monitoring unit, the pressure of each proxy edge server can be effectively relieved.
And it is understood that the version update request in the present embodiment is used to request an update of a version in an edge server. Therefore, after receiving the version update request, the central server may send an application operation instruction to the edge server, where the application operation instruction is an instruction for instructing the edge server to update the version of the application.
Based on the above description, it can be determined that the version of an application in the edge server is changed on line due to a human error operation, so that the version of the application on the edge server is inconsistent with the version maintained by the central server, including the authority, the file md5, and the like, and if the version of the application is not corrected in time, the normal operation of the service may be affected. Therefore, in this embodiment, the first version identifier of the application on the edge server is obtained by the edge server at regular time, and the second version identifier of the application on the central server is obtained at regular time, and the first version identifier and the second version identifier are compared, and when the first version identifier and the second version identifier are inconsistent, the version update request is actively sent to the central server, so that the inconsistency between the application versions maintained by the edge server and the central server can be quickly and effectively found, and the update of the application versions can be quickly and effectively realized, so that the version of the application maintained in the edge server is consistent with the version of the application maintained in the central server, and the normal operation of the application is ensured.
In the above description, an implementation manner of the edge server side is described, and an implementation manner of the center server side is described below with reference to fig. 7, where fig. 7 is a flowchart of a third application processing method provided in this embodiment of the present application.
As shown in fig. 7, the method includes:
s701, the central server generates an application operation instruction, wherein the application operation instruction comprises an identifier of the target application and an operation type for operating the target application.
In this embodiment, the central server may generate the application operation instruction, and in a possible implementation manner, for example, the central server may correspond to a front-end interface, and the front-end interface may receive information input by a user.
For example, the front-end interface may receive an operation of a user, and then generate a corresponding application operation instruction according to the operation of the user.
Similar to the description of the above embodiment, the role information of each edge server may be stored in the central server, where the role information may be at least one of the following: proxy edge servers and non-proxy edge servers. The central server can also store application identifiers of candidate applications corresponding to the role information, software packages corresponding to the candidate applications, at least one file corresponding to the software packages, and services corresponding to the candidate applications.
And similar to the above, the operation type includes at least one of: an installation operation for a software package, an update operation for a software package, a check operation for a software package, an uninstall operation for a software package, an update operation for a file, a check operation for a file, a start operation for a service, a stop operation for a service, a reload operation for a service.
In a possible implementation manner, for example, the front-end interface may first perform screening of the edge server according to the role information of the edge server, then select a corresponding operation type on the front-end interface for the screened edge server, and after the operation is determined to be completed, generate a corresponding application operation instruction according to the selection information input by the user.
And it is understood that the above description is about batch operations on the edge servers, that is, operations of one-key application deployment, one-key application deletion, one-key application update, and the like can be implemented, and then the identification of the edge servers selected in batches is included in the application operation instruction. Or in an optional implementation manner, if it is necessary to perform a separate operation on some edge servers, the identifier of the edge server that needs to perform the separate operation may also be input on the front-end interface, and then the corresponding operation is selected, so that the generated application operation instruction may be implemented.
The application operation instruction in this embodiment may include an identifier of the target application and an operation type for operating the target application.
And S703, the central server sends an application operation instruction to the edge server.
After the central server generates the application operation instruction, the central server can send the application operation instruction to the server.
Based on the above description of the embodiments, it can be determined that the edge servers in this embodiment may include proxy edge servers and non-proxy edge servers.
In a possible implementation manner, if the application operation instruction is sent to the proxy edge server, for example, the application operation instruction includes first indication information, where the first indication information is used to indicate that the application operation instruction is sent to the proxy edge server; alternatively, the first and second electrodes may be,
and if the application operation instruction is sent to the non-proxy edge server, the application operation instruction comprises second indication information, wherein the second indication information is used for indicating the proxy edge server to forward the application operation instruction to the non-proxy edge server.
Or, based on the above description, it may be determined that the application operation instruction may include an identifier of the edge server, and the proxy edge server may further determine, for example, whether the current application operation instruction is addressed to itself or forwarded to the corresponding non-proxy edge server according to the identifier of the edge server.
The application processing method provided by the embodiment of the application comprises the following steps: the central server generates an application operation instruction, wherein the application operation instruction comprises an identification of the target application and an operation type for operating the target application. And the central server sends an application operation instruction to the edge server. The central server sends an application operation instruction to the edge servers to instruct the edge servers to perform corresponding operation on the target application, then the edge servers can acquire the data packets to be processed corresponding to the target application according to the identification of the target application, and then the edge servers can perform corresponding operation on the target application according to the operation type indicated by the application operation instruction so as to realize automatic implementation of application maintenance of each edge server.
On the basis of the above embodiment, after sending the application operation instruction to the edge server, the central server may further receive an operation result sent by the edge server through the proxy edge server, where the operation result is used to indicate that the operation is completed or the operation is not completed. The implementation is similar to that described above and will not be described in detail here.
And in a possible implementation manner, if the operation result indicates that the operation is not completed, the central server may further send the application operation instruction to the edge server whose operation is not completed again, and then repeatedly perform the above-described process.
And it may be determined based on the foregoing that a version update request may be sent to the central server when the edge server determines that the version of the application maintained by the edge server is inconsistent with the version of the application maintained in the central server.
Similarly to the above description, the central server may receive the version update request forwarded by the monitoring unit from the edge server, and then the central server may send an application operation instruction to the edge server according to the version update request, where the application operation instruction is used to instruct the edge server to update the version of the application to be updated to be consistent with the version maintained in the central server.
The specific implementation manner is similar to that described in the above embodiments, and will not be described herein again.
Based on the above-described embodiments, a systematic description is provided below with reference to fig. 8 for an application processing method implemented by the present application, and fig. 8 is an implementation schematic diagram of the application processing method implemented by the present application.
As shown in fig. 8, configuration information of the entire machine may be maintained in the central server, where the configuration information of the entire machine may include, for example, role information (role), candidate application (app), software package (pkg), and file (file) shown in fig. 8, and specific implementation manners thereof have been described in the foregoing embodiments, and are not described herein again.
As shown in fig. 8, the configuration information is synchronized between the central server and the edge server, so that the edge server can obtain its own machine configuration information. Based on the above description of the embodiments, it can be determined that for a non-proxy edge server, it may obtain machine configuration information from a central server periodically or in real time. And aiming at the non-proxy edge server, the non-proxy edge server can acquire the machine configuration information from the proxy edge server at regular time or in real time so as to realize the synchronization of the machine information between the central server and each edge server.
In one possible implementation, the central server and the edge server may synchronize configuration information through pilar of saltstack. The system comprises a plurality of servers, wherein the saltstack is a centralized management platform of a server infrastructure, has the functions of configuration management, remote execution, monitoring and the like, and can execute commands in batches on tens of millions of servers by deploying the saltstack. And, pilar is a data system in saltstack for storing dynamic, sensitive data. The configuration information of the machine described above may be stored in the pilar, for example, and may also be referred to as pilar information.
Referring to fig. 8, when each change deployment of the application is performed, the central server may issue the parameter of the current change and the identifier of the edge server to the corresponding edge server through the task module, that is, the central server sends the application operation instruction.
Then, after receiving the application operation instruction, the edge server calls a corresponding service script to execute the command by using a package management tool. Therefore, operations of deployment, update, start-stop, verification, uninstallation, and the like of the application are implemented, and the specific implementation manner thereof is introduced in the above embodiments and is not described herein again.
Referring to fig. 8, the version check script in the edge server also checks the application version on the edge server at regular time, and when it is determined that the application version maintained on the center server is inconsistent with the application version, a version update request may be sent to the monitoring system, and then the version update request may be forwarded to the center server, and then the center server may send a version update instruction to the edge server, so as to implement automatic version correction.
In summary, in the application processing method provided in the embodiment of the present application, because there are many edge servers of the CDN node, the number of the edge servers has already reached over ten thousand levels, and there are many services to be deployed on each edge server, and a software package corresponding to each service needs to be managed. To share the centrally controlled pressure and to be logically simpler in use management and implementation. The method designs a framework with center definition and edge effect, adds an agent design in data flow from the center to the edge, and the agent can play a role in forwarding task data flow and supplying a cache file to the next layer for downloading.
Specifically, in the system design, the central server is deployed in a cluster mode, and parallel batch processing and multi-task issuing can be realized. By adding the proxy mode, the edge servers do not need to be directly and completely connected to the central server, and part of the non-proxy edge servers can be connected to the proxy edge servers, so that the pressure of the central server can be relieved; and in the aspect of function implementation, related actions of each application are abstracted into a plurality of same actions, and for the definition of some characteristics, additional supplementary functions can be provided for characteristic customization. Meanwhile, the central server can know the application to be deployed and the application deployment version of each edge server, and can automatically generate an operation step according to the changed content when each change occurs, an application operation instruction is sent to the edge servers during operation, and a package management tool on the edge servers executes specific operation to enable the application operation instruction to take effect. Therefore, the efficiency is improved, and the management and maintenance of all software packages are facilitated.
Therefore, according to the method provided by the embodiment of the application, the central server only interacts with the proxy edge server and is integrated with the proxy edge server by setting part of the edge servers as the proxy edge servers, so that the problem of high central control management pressure is effectively relieved. Meanwhile, by abstracting the role information of the edge server and the concepts such as application, software package, file, service and the like corresponding to each role information, the application operation instruction executed by the edge server to be instructed can be automatically generated through simple selection without independently writing and maintaining a plurality of configuration management files, and the complexity of application maintenance is effectively reduced. At the same time. By abstracting the concepts introduced above, the operations of one-key installation, start-stop, verification, uninstallation and the like of the application on the edge server can be realized through simple selection operation, so that the speed and efficiency of application management can be effectively improved.
To sum up, the technical solutions of the embodiments in the present application can effectively reduce the pressure of operation and maintenance personnel of the CDN in deploying different versions for different applications on tens of thousands of machines, on one hand, after performing abstract management on the applications in a unified manner, the operation steps of each change can be automatically generated, and at the same time, the application efficiency of deploying the applications of the edge server and repairing the edge server can be greatly improved, so that one-key installation and deployment, one-key uninstallation of all applications, and the like are achieved; on the other hand, the problem that online services are damaged due to untimely manual processing can be solved by combining automatic correction of the monitored version, so that the stability of the CDN is improved, and the burden of operation and maintenance personnel is reduced.
Fig. 9 is a first schematic structural diagram of an application processing apparatus according to an embodiment of the present disclosure. As shown in fig. 9, the application processing apparatus 900 of the present embodiment may include: a receiving module 901, an obtaining module 902 and a processing module 903.
A receiving module 901, configured to receive an application operation instruction from a central server by an edge server, where the application operation instruction includes an identifier of a target application and an operation type for operating the target application;
an obtaining module 902, configured to obtain, by the edge server, a to-be-processed data packet corresponding to the target application according to the identifier of the target application;
a processing module 903, configured to execute, by the edge server, an operation corresponding to the operation type on the to-be-processed data packet corresponding to the target application according to the operation type.
In a possible implementation manner, the plurality of edge servers include a plurality of proxy edge servers and a plurality of non-proxy edge servers, where each of the non-proxy edge servers establishes a communication connection with a corresponding proxy edge server;
the receiving module 901 is specifically configured to:
if the edge server is a proxy edge server, the proxy edge server receives an application operation instruction sent by the central server; alternatively, the first and second electrodes may be,
and if the edge server is a non-proxy edge server, the non-proxy edge server receives an application operation instruction from the central server forwarded by the corresponding proxy edge server.
In a possible implementation manner, if the edge server is a non-proxy edge server, before the edge server obtains the to-be-processed data packet corresponding to the target application according to the identifier of the target application, the obtaining module 902 is further configured to:
the edge server acquires a to-be-processed data packet of the at least one candidate application from the proxy edge server and/or the central server by taking a first duration as a period, wherein the at least one candidate application comprises the target application;
the edge server stores the data packet to be processed of the at least one candidate application locally.
In a possible implementation manner, after the operation corresponding to the operation type is executed on the to-be-processed data packet corresponding to the target application, the obtaining module 902 is further configured to:
obtaining an operation result of the operation, wherein the operation result is used for indicating that the operation is finished or not finished;
and sending the operation result to the central server through the proxy edge server.
In a possible implementation manner, before the edge server receives the application operation instruction from the central server, the processing module 903 is further configured to:
the edge server acquires a first version identifier of each application in the edge server by taking a second duration as a period;
the edge server receives version indication information from the central server by taking a third duration as a period, wherein the version indication information is used for indicating second version identifications of the applications maintained in the central server;
and aiming at any one application, sending a version updating request to a central server according to the first version identification and the second version identification.
In a possible implementation manner, the CDN further includes a monitoring unit, and the processing module 903 is specifically configured to:
and if the first version identification is inconsistent with the second version identification, the edge server sends a version updating request to the central server through a monitoring unit.
In a possible implementation manner, the central server stores role information corresponding to each of the edge servers, where the role information is at least one of the following: a proxy edge server, a non-proxy edge server;
and storing, in the central server, an application identifier of a candidate application corresponding to each of the role information, a software package corresponding to each of the candidate applications, at least one file corresponding to each of the software packages, and a service corresponding to each of the candidate applications.
In a possible implementation manner, the data packet to be processed includes at least one of the following: the software package, the file corresponding to the software package and the data package corresponding to the service;
the operation type includes at least one of: an installation operation for the software package, an update operation for the software package, a check operation for the software package, an uninstall operation for the software package, an update operation for the file, a check operation for the file, a start operation for the service, a stop operation for the service, a reload operation for the service.
Fig. 10 is a schematic structural diagram of an application processing apparatus according to an embodiment of the present disclosure. As shown in fig. 10, the application processing apparatus 1000 of the present embodiment may include: a processing module 1001, a sending module 1002 and a receiving module 1003.
A processing module 1001, configured to generate an application operation instruction by a central server, where the application operation instruction includes an identifier of a target application and an operation type for operating the target application;
a sending module 1002, configured to send the application operation instruction to the edge server by the central server.
In a possible implementation manner, the plurality of edge servers include a plurality of proxy edge servers and a plurality of non-proxy edge servers, where each of the non-proxy edge servers establishes a communication connection with a corresponding proxy edge server;
if the edge server is a proxy edge server, the application operation instruction comprises first indication information, wherein the first indication information is used for indicating that the application operation instruction is sent to the proxy edge server; alternatively, the first and second electrodes may be,
and if the edge server is a non-proxy edge server, the application operation instruction comprises second indication information, wherein the second indication information is used for indicating the proxy edge server to forward the application operation instruction to the non-proxy edge server.
In a possible implementation manner, after the central server sends the application operation instruction to the edge server, the apparatus further includes: a receiving module 1003;
the receiving module 1003 is specifically configured to receive an operation result sent by the edge server through the proxy edge server, where the operation result is used to indicate that the operation is completed or the operation is not completed.
In a possible implementation manner, the sending module 1002 is further configured to:
and the central server sends version indication information to the edge server by taking a third duration as a period, wherein the version indication information is used for indicating second version identifications of the applications maintained in the central server.
In a possible implementation manner, the CDN further includes a monitoring unit, and the sending module 1002 is specifically configured to:
the central server receives the version updating request from the edge server forwarded by the monitoring unit;
and the central server sends the application operation instruction to the edge server according to the version updating request, wherein the application operation instruction is used for indicating the edge server to update the version of the application to be updated to a target version, and the target version is the version maintained in the central server.
In a possible implementation manner, the central server stores role information corresponding to each of the edge servers, where the role information is at least one of the following: a proxy edge server, a non-proxy edge server;
and storing, in the central server, an application identifier of a candidate application corresponding to each of the role information, a software package corresponding to each of the candidate applications, at least one file corresponding to each of the software packages, and a service corresponding to each of the candidate applications.
In a possible implementation manner, the data packet to be processed includes at least one of the following: the software package, the file corresponding to the software package and the data package corresponding to the service;
the operation type includes at least one of: an installation operation for the software package, an update operation for the software package, a check operation for the software package, an uninstall operation for the software package, an update operation for the file, a check operation for the file, a start operation for the service, a stop operation for the service, a reload operation for the service.
The present disclosure provides an application processing method and apparatus, which are applied to the field of big data in computer technology to achieve the purpose of improving the maintenance efficiency of applications.
It should be noted that the head model in this embodiment is not a head model for a specific user, and cannot reflect personal information of a specific user. It should be noted that the two-dimensional face image in the present embodiment is from a public data set.
In the technical scheme of the disclosure, the collection, storage, use, processing, transmission, provision, disclosure and other processing of the personal information of the related user are all in accordance with the regulations of related laws and regulations and do not violate the good customs of the public order.
The present disclosure also provides an electronic device, a readable storage medium, and a computer program product according to embodiments of the present disclosure.
According to an embodiment of the present disclosure, the present disclosure also provides a computer program product comprising: a computer program, stored in a readable storage medium, from which at least one processor of the electronic device can read the computer program, the at least one processor executing the computer program causing the electronic device to perform the solution provided by any of the embodiments described above.
FIG. 11 shows a schematic block diagram of an example electronic device 1100 that may be used to implement embodiments of the present disclosure. Electronic devices are intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be examples only, and are not meant to limit implementations of the disclosure described and/or claimed herein.
As shown in fig. 11, the device 1100 comprises a computing unit 1101, which may perform various appropriate actions and processes according to a computer program stored in a Read Only Memory (ROM)1102 or a computer program loaded from a storage unit 1108 into a Random Access Memory (RAM) 1103. In the RAM 1103, various programs and data necessary for the operation of the device 1100 may also be stored. The calculation unit 1101, the ROM1102, and the RAM 1103 are connected to each other by a bus 1104. An input/output (I/O) interface 1105 is also connected to bus 1104.
A number of components in device 1100 connect to I/O interface 1105, including: an input unit 1106 such as a keyboard, a mouse, and the like; an output unit 1107 such as various types of displays, speakers, and the like; a storage unit 1108 such as a magnetic disk, optical disk, or the like; and a communication unit 1109 such as a network card, a modem, a wireless communication transceiver, and the like. The communication unit 1109 allows the device 1100 to exchange information/data with other devices through a computer network such as the internet and/or various telecommunication networks.
The computing unit 1101 can be a variety of general purpose and/or special purpose processing components having processing and computing capabilities. Some examples of the computing unit 1101 include, but are not limited to, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), various dedicated Artificial Intelligence (AI) computing chips, various computing units running machine learning model algorithms, a Digital Signal Processor (DSP), and any suitable processor, controller, microcontroller, and the like. The calculation unit 1101 performs the respective methods and processes described above, such as application processing methods. For example, in some embodiments, the application processing method may be implemented as a computer software program tangibly embodied on a machine-readable medium, such as storage unit 1108. In some embodiments, part or all of the computer program may be loaded and/or installed onto device 1100 via ROM1102 and/or communication unit 1109. When the computer program is loaded into the RAM 1103 and executed by the computing unit 1101, one or more steps of the application processing method described above may be performed. Alternatively, in other embodiments, the computing unit 1101 may be configured to perform the application processing method by any other suitable means (e.g., by means of firmware).
Various implementations of the systems and techniques described here above may be implemented in digital electronic circuitry, integrated circuitry, Field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs), system on a chip (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, receiving data and instructions from, and transmitting data and instructions to, a storage system, at least one input device, and at least one output device.
Program code for implementing the methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the program codes, when executed by the processor or controller, cause the functions/operations specified in the flowchart and/or block diagram to be performed. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package partly on the machine and partly on a remote machine or entirely on the remote machine or server.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on 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.
To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to a user; and a keyboard and a pointing device (e.g., a mouse or a trackball) by which a user can provide input to the computer. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic, speech, or tactile input. The systems and techniques described here can be implemented in a computing system that includes a back-end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local Area Networks (LANs), Wide Area Networks (WANs), and the Internet.
The computer system may include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The Server can be a cloud Server, also called a cloud computing Server or a cloud host, and is a host product in a cloud computing service system, so as to solve the defects of high management difficulty and weak service expansibility in the traditional physical host and VPS service ("Virtual Private Server", or simply "VPS"). The server may also be a server of a distributed system, or a server incorporating a blockchain.
It should be understood that various forms of the flows shown above may be used, with steps reordered, added, or deleted. For example, the steps described in the present disclosure may be executed in parallel, sequentially, or in different orders, as long as the desired results of the technical solutions disclosed in the present disclosure can be achieved, and the present disclosure is not limited herein. The above detailed description should not be construed as limiting the scope of the disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions may be made in accordance with design requirements and other factors. Any modification, equivalent replacement, and improvement made within the spirit and principle of the present disclosure should be included in the scope of protection of the present disclosure.

Claims (33)

1. An application processing method is applied to a CDN (content delivery network), the CDN comprises a central server and a plurality of edge servers, the edge servers are provided with a plurality of applications, and the method comprises the following steps:
the method comprises the steps that an edge server receives an application operation instruction from a central server, wherein the application operation instruction comprises an identifier of a target application and an operation type for operating the target application;
the edge server acquires a data packet to be processed corresponding to the target application according to the identification of the target application;
and the edge server executes the operation corresponding to the operation type on the data packet to be processed corresponding to the target application according to the operation type.
2. The method of claim 1, wherein the plurality of edge servers comprises a plurality of proxy edge servers and a plurality of non-proxy edge servers, wherein each non-proxy edge server is configured to establish a communication connection with a corresponding proxy edge server;
the edge server receives an application operation instruction from the central server, and the method comprises the following steps:
if the edge server is a proxy edge server, the proxy edge server receives an application operation instruction sent by the central server; alternatively, the first and second electrodes may be,
and if the edge server is a non-proxy edge server, the non-proxy edge server receives an application operation instruction from the central server forwarded by the corresponding proxy edge server.
3. The method according to claim 2, wherein if the edge server is a non-proxy edge server, before the edge server obtains the pending data packet corresponding to the target application according to the identifier of the target application, the method further comprises:
the edge server acquires a to-be-processed data packet of at least one candidate application from the proxy edge server and/or the central server by taking a first duration as a period, wherein the at least one candidate application comprises the target application;
the edge server stores the data packet to be processed of the at least one candidate application locally.
4. The method according to claim 2 or 3, after the operation corresponding to the operation type is performed on the to-be-processed data packet corresponding to the target application, the method further comprising:
obtaining an operation result of the operation, wherein the operation result is used for indicating that the operation is finished or not finished;
and sending the operation result to the central server through the proxy edge server.
5. The method of any of claims 1-4, before the edge server receives the application operation instructions from the central server, the method further comprising:
the edge server acquires a first version identifier of each application in the edge server by taking a second duration as a period;
the edge server receives version indication information from the central server by taking a third duration as a period, wherein the version indication information is used for indicating second version identifications of the applications maintained in the central server;
and aiming at any one application, sending a version updating request to a central server according to the first version identification and the second version identification.
6. The method of claim 5, wherein the CDN further comprises a monitoring unit that sends a version update request to a central server according to the first and second version identifiers comprises:
and if the first version identification is inconsistent with the second version identification, the edge server sends a version updating request to the central server through a monitoring unit.
7. The method according to any one of claims 1 to 6, wherein the central server stores role information corresponding to each of the edge servers, and the role information is at least one of the following: a proxy edge server, a non-proxy edge server;
and storing, in the central server, an application identifier of a candidate application corresponding to each of the role information, a software package corresponding to each of the candidate applications, at least one file corresponding to each of the software packages, and a service corresponding to each of the candidate applications.
8. The method of claim 7, wherein the data packet to be processed comprises at least one of: the software package, the file corresponding to the software package and the data package corresponding to the service;
the operation type includes at least one of: an installation operation for the software package, an update operation for the software package, a check operation for the software package, an uninstall operation for the software package, an update operation for the file, a check operation for the file, a start operation for the service, a stop operation for the service, a reload operation for the service.
9. An application processing method is applied to a CDN (content delivery network), the CDN comprises a central server and a plurality of edge servers, the edge servers are provided with a plurality of applications, and the method comprises the following steps:
the method comprises the steps that a central server generates an application operation instruction, wherein the application operation instruction comprises an identification of a target application and an operation type for operating the target application;
and the central server sends the application operation instruction to the edge server.
10. The method of claim 9, wherein the plurality of edge servers comprises a plurality of proxy edge servers and a plurality of non-proxy edge servers, wherein each non-proxy edge server is communicatively connected to a corresponding proxy edge server;
if the edge server is a proxy edge server, the application operation instruction comprises first indication information, wherein the first indication information is used for indicating that the application operation instruction is sent to the proxy edge server; alternatively, the first and second electrodes may be,
and if the edge server is a non-proxy edge server, the application operation instruction comprises second indication information, wherein the second indication information is used for indicating the proxy edge server to forward the application operation instruction to the non-proxy edge server.
11. The method of claim 10, after the central server sends the application operation instructions to an edge server, the method further comprising:
and receiving an operation result sent by the edge server through the proxy edge server, wherein the operation result is used for indicating that the operation is completed or the operation is not completed.
12. The method according to any one of claims 9-11, further comprising:
and the central server sends version indication information to the edge server by taking a third duration as a period, wherein the version indication information is used for indicating a second version identifier of each application maintained in the central server.
13. The method of claim 12 wherein the CDN further comprises a monitoring unit, the central server sending the application operating instructions to an edge server comprising:
the central server receives the version updating request from the edge server forwarded by the monitoring unit;
and the central server sends the application operation instruction to the edge server according to the version updating request, wherein the application operation instruction is used for indicating the edge server to update the version of the application to be updated to a target version, and the target version is the version maintained in the central server.
14. The method according to any one of claims 9 to 13, wherein the central server stores role information corresponding to each of the edge servers, and the role information is at least one of: a proxy edge server, a non-proxy edge server;
and storing, in the central server, an application identifier of a candidate application corresponding to each of the role information, a software package corresponding to each of the candidate applications, at least one file corresponding to each of the software packages, and a service corresponding to each of the candidate applications.
15. The method of claim 14, wherein the type of operation comprises at least one of: an installation operation for the software package, an update operation for the software package, a check operation for the software package, an uninstall operation for the software package, an update operation for the file, a check operation for the file, a start operation for the service, a stop operation for the service, a reload operation for the service.
16. An application processing device is applied to a Content Delivery Network (CDN), the CDN comprises a central server and a plurality of edge servers, the edge servers are provided with a plurality of applications, and the device comprises:
the edge server is used for receiving an application operation instruction from a central server, wherein the application operation instruction comprises an identifier of a target application and an operation type for operating the target application;
the acquisition module is used for acquiring the data packet to be processed corresponding to the target application by the edge server according to the identifier of the target application;
and the processing module is used for executing the operation corresponding to the operation type on the data packet to be processed corresponding to the target application by the edge server according to the operation type.
17. The apparatus of claim 16, wherein the plurality of edge servers comprises a plurality of proxy edge servers and a plurality of non-proxy edge servers, wherein each of the non-proxy edge servers establishes a communication connection with a corresponding proxy edge server;
the receiving module is specifically configured to:
if the edge server is a proxy edge server, the proxy edge server receives an application operation instruction sent by the central server; alternatively, the first and second electrodes may be,
and if the edge server is a non-proxy edge server, the non-proxy edge server receives an application operation instruction from the central server forwarded by the corresponding proxy edge server.
18. The apparatus of claim 17, wherein if the edge server is a non-proxy edge server, before the edge server obtains the pending packet corresponding to the target application according to the identifier of the target application, the obtaining module is further configured to:
the edge server acquires a to-be-processed data packet of at least one candidate application from the proxy edge server and/or the central server by taking a first duration as a period, wherein the at least one candidate application comprises the target application;
the edge server stores the data packet to be processed of the at least one candidate application locally.
19. The apparatus according to claim 17 or 18, wherein after the operation corresponding to the operation type is performed on the to-be-processed data packet corresponding to the target application, the obtaining module is further configured to:
obtaining an operation result of the operation, wherein the operation result is used for indicating that the operation is finished or not finished;
and sending the operation result to the central server through the proxy edge server.
20. The apparatus of any of claims 16-19, the processing module, prior to the edge server receiving the application operation instructions from the central server, is further to:
the edge server acquires a first version identifier of each application in the edge server by taking a second duration as a period;
the edge server receives version indication information from the central server by taking a third duration as a period, wherein the version indication information is used for indicating second version identifications of the applications maintained in the central server;
and aiming at any one application, sending a version updating request to a central server according to the first version identification and the second version identification.
21. The apparatus of claim 20, wherein the CDN further comprises a monitoring unit, and the processing module is specifically configured to, according to the first version identifier and the second version identifier:
and if the first version identification is inconsistent with the second version identification, the edge server sends a version updating request to the central server through a monitoring unit.
22. The apparatus according to any one of claims 16 to 21, wherein the central server stores role information corresponding to each of the edge servers, and the role information is at least one of: a proxy edge server, a non-proxy edge server;
and storing, in the central server, an application identifier of a candidate application corresponding to each of the role information, a software package corresponding to each of the candidate applications, at least one file corresponding to each of the software packages, and a service corresponding to each of the candidate applications.
23. The apparatus of claim 22, wherein the data packet to be processed comprises at least one of: the software package, the file corresponding to the software package and the data package corresponding to the service;
the operation type includes at least one of: an installation operation for the software package, an update operation for the software package, a check operation for the software package, an uninstall operation for the software package, an update operation for the file, a check operation for the file, a start operation for the service, a stop operation for the service, a reload operation for the service.
24. An application processing device is applied to a CDN (content delivery network), the CDN comprises a central server and a plurality of edge servers, a plurality of applications are arranged in the edge servers, and the device comprises:
the processing module is used for generating an application operation instruction by the central server, wherein the application operation instruction comprises an identifier of a target application and an operation type for operating the target application;
and the sending module is used for sending the application operation instruction to the edge server by the central server.
25. The apparatus of claim 24, wherein the plurality of edge servers comprises a plurality of proxy edge servers and a plurality of non-proxy edge servers, wherein each of the non-proxy edge servers establishes a communication connection with a respective corresponding proxy edge server;
if the edge server is a proxy edge server, the application operation instruction comprises first indication information, wherein the first indication information is used for indicating that the application operation instruction is sent to the proxy edge server; alternatively, the first and second electrodes may be,
and if the edge server is a non-proxy edge server, the application operation instruction comprises second indication information, wherein the second indication information is used for indicating the proxy edge server to forward the application operation instruction to the non-proxy edge server.
26. The apparatus of claim 25, after the central server sends the application operation instructions to an edge server, the apparatus further comprising: a receiving module;
the receiving module is specifically configured to receive an operation result sent by the edge server through the proxy edge server, where the operation result is used to indicate that the operation is completed or the operation is not completed.
27. The apparatus of any of claims 24-26, the means for transmitting is further configured to:
and the central server sends version indication information to the edge server by taking a third duration as a period, wherein the version indication information is used for indicating second version identifications of the applications maintained in the central server.
28. The apparatus of claim 27, wherein the CDN further comprises a monitoring unit, and the sending module is specifically configured to:
the central server receives the version updating request from the edge server forwarded by the monitoring unit;
and the central server sends the application operation instruction to the edge server according to the version updating request, wherein the application operation instruction is used for indicating the edge server to update the version of the application to be updated to a target version, and the target version is the version maintained in the central server.
29. The apparatus according to any one of claims 24 to 28, wherein the central server stores role information corresponding to each of the edge servers, and the role information is at least one of: a proxy edge server, a non-proxy edge server;
and storing, in the central server, an application identifier of a candidate application corresponding to each of the role information, a software package corresponding to each of the candidate applications, at least one file corresponding to each of the software packages, and a service corresponding to each of the candidate applications.
30. The apparatus of claim 29, wherein the type of operation comprises at least one of: an installation operation for the software package, an update operation for the software package, a check operation for the software package, an uninstall operation for the software package, an update operation for the file, a check operation for the file, a start operation for the service, a stop operation for the service, a reload operation for the service.
31. An electronic device, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein the content of the first and second substances,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-8 or claims 9-15.
32. A non-transitory computer readable storage medium having stored thereon computer instructions for causing the computer to perform the method of any of claims 1-8 or claims 9-15.
33. A computer program product comprising a computer program which, when executed by a processor, carries out the steps of the method of any one of claims 1 to 8 or claims 9 to 15.
CN202111137008.9A 2021-09-27 2021-09-27 Application processing method and device Active CN113872808B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111137008.9A CN113872808B (en) 2021-09-27 2021-09-27 Application processing method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111137008.9A CN113872808B (en) 2021-09-27 2021-09-27 Application processing method and device

Publications (2)

Publication Number Publication Date
CN113872808A true CN113872808A (en) 2021-12-31
CN113872808B CN113872808B (en) 2023-08-08

Family

ID=78991295

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111137008.9A Active CN113872808B (en) 2021-09-27 2021-09-27 Application processing method and device

Country Status (1)

Country Link
CN (1) CN113872808B (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108989113A (en) * 2018-07-24 2018-12-11 网宿科技股份有限公司 A kind of dispositions method and management server of server
WO2020168957A1 (en) * 2019-02-18 2020-08-27 华为技术有限公司 Method for scheduling edge node of content distribution network, and apparatus
CN112653758A (en) * 2020-12-21 2021-04-13 北京百度网讯科技有限公司 Edge node updating method, apparatus, device, medium, and program product
CN112733062A (en) * 2021-01-14 2021-04-30 国网上海市电力公司 Internet of things application management system and method
CN113259161A (en) * 2021-05-11 2021-08-13 商汤国际私人有限公司 Application management method and device, electronic equipment and storage medium
CN113407208A (en) * 2021-06-17 2021-09-17 南方电网数字电网研究院有限公司 Edge device function online configuration method based on remote deployment

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108989113A (en) * 2018-07-24 2018-12-11 网宿科技股份有限公司 A kind of dispositions method and management server of server
WO2020168957A1 (en) * 2019-02-18 2020-08-27 华为技术有限公司 Method for scheduling edge node of content distribution network, and apparatus
CN112653758A (en) * 2020-12-21 2021-04-13 北京百度网讯科技有限公司 Edge node updating method, apparatus, device, medium, and program product
CN112733062A (en) * 2021-01-14 2021-04-30 国网上海市电力公司 Internet of things application management system and method
CN113259161A (en) * 2021-05-11 2021-08-13 商汤国际私人有限公司 Application management method and device, electronic equipment and storage medium
CN113407208A (en) * 2021-06-17 2021-09-17 南方电网数字电网研究院有限公司 Edge device function online configuration method based on remote deployment

Also Published As

Publication number Publication date
CN113872808B (en) 2023-08-08

Similar Documents

Publication Publication Date Title
US9600264B2 (en) Generating a customized set of tasks for migration of a deployed software solution
CN109831500B (en) Synchronization method for configuration file and Pod in Kubernetes cluster
US11520808B2 (en) System and method for synchronizing data between communication devices in a networked environment without a central server
CN109245908B (en) Method and device for switching master cluster and slave cluster
US11636016B2 (en) Cloud simulation and validation system
CN113569987A (en) Model training method and device
CN113656147B (en) Cluster deployment method, device, equipment and storage medium
US9367298B1 (en) Batch configuration mode for configuring network devices
US11354150B1 (en) Utilizing maintenance event windows to determine placement of instances
CN112199355B (en) Data migration method and device, electronic equipment and storage medium
CN113377665A (en) Container technology-based testing method and device, electronic equipment and storage medium
CN111400041A (en) Server configuration file management method and device and computer readable storage medium
CN114064438A (en) Database fault processing method and device
CN111831567B (en) Application test environment configuration method, device, system and medium
CN113872808A (en) Application processing method and device
CN116346834A (en) Session synchronization method, device, computing equipment and computer storage medium
CN114070889B (en) Configuration method, traffic forwarding device, storage medium, and program product
CN115639953A (en) Data migration method and device
CN113472638B (en) Edge gateway control method, system, device, electronic equipment and storage medium
CN112527368B (en) Cluster kernel version updating method and device, electronic equipment and storage medium
US11620123B1 (en) Swimlane-based cloud software releases
US11086549B2 (en) Just-in-time data migration in a live system
CN113360689B (en) Image retrieval system, method, related device and computer program product
CN114661553A (en) Method and device for changing stateful service
CN116319758A (en) Data migration method, device, electronic equipment and readable storage medium

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