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.
The disclosure provides an information processing method applied to a micro service, which comprises a micro service determining stage and a business executing stage. In the micro-service determination phase, in response to receiving the request information, a target micro-service matching the request information is determined. And in the service execution stage, executing the service logic of the target micro service loaded by the service framework of the target micro service so as to process the request information. The service framework is represented by codes in an executable file format, and the service logic is represented by codes in a dynamic link library file format.
An application scenario of the method and apparatus provided by the present disclosure will be described below with reference to fig. 1.
Fig. 1 is a schematic view of an application scenario of an information processing method and apparatus applied to a microservice according to an embodiment of the present disclosure.
As shown in fig. 1, the application scenario 100 includes a terminal device 110 and a server 120. The terminal devices may be communicatively coupled to the server 120 via a network, which may include wired or wireless communication links.
A user may interact with server 120 over a network, for example, using terminal device 110 to receive or send messages, etc. Terminal device 110 may be a terminal device having a display screen and in which a client application may be installed, including but not limited to a smartphone, a tablet computer, a laptop portable computer, a desktop computer, and the like. For example, the terminal device 110 may send a request message 130 to the server 120, for example, over a network, to request multimedia files such as audio, video, images, text, or any other information.
The server 120 may, for example, respond to the request information 130 sent by the terminal device 110, process the request information 130, obtain feedback information 140 for the request information 130, and feed back the feedback information 140 to the terminal device 110. The server 120 may be a server that provides various services, such as a background management server that provides support for websites or client applications that users browse with the terminal device. The server may be a cloud server, a server of a distributed system, or a server with a combined blockchain.
According to an embodiment of the present disclosure, as shown in fig. 1, the server 120 may process the request information from the terminal device 110 through a Microservice Architecture 121(Microservice Architecture), for example. The microservice architecture 121 may include a plurality of microservices, each microservice configured to provide a service, and each microservice may be deployed, run, upgraded, etc. independently of the other microservices. The plurality of microservices may include, for example, a first microservice 1211, a second microservice 1212, …, an (n-1) th microservice 1213, an nth microservice 1214, and the like. Wherein n is a natural number greater than 1. The plurality of microservices serve as a whole a website or client application that terminal device 110 runs.
In an embodiment, as shown in fig. 1, the application scenario 100 may further include a database 150, and the server 120 may read data from the database 150 in the process of processing the request information, for example, to process the read data, or feed the read data back to the terminal device 110.
In one embodiment, the website or client application running in the terminal device and the microservice architecture in the server that handles the requested information may constitute a software system architecture. The architecture includes a presentation layer, a business logic layer, and a data access layer. The terminal device can act as a presentation layer to be responsible for interface presentation and human-computer interaction. The microservice architecture can serve as a business logic layer and a data access layer. The service logic layer is responsible for defining service logic, receiving the data request from the presentation layer, submitting the request to the data access layer after logically judging the data request, and transmitting the data access result. The business logic layer is actually a middleware and plays an important role in bearing down. The data access layer is responsible for data reading.
It should be noted that the information processing method applied to the microservice provided by the present disclosure may be executed by the server 120. Accordingly, the information processing apparatus applied to the microservice provided by the present disclosure may be provided in the server 120.
It should be understood that the number and types of terminal devices, servers, microservice architectures, and databases in fig. 1 are merely illustrative. There may be any number and type of terminal devices, servers, microservice architectures, and databases, as desired for implementation.
The information processing method applied to the microservice provided by the present disclosure will be described in detail below with reference to fig. 2 to 4.
Fig. 2 is a flowchart of an information processing method applied to a microservice according to an embodiment of the present disclosure.
As shown in fig. 2, the information processing method 200 applied to the microservice of the embodiment may include operations S210 to S220.
In operation S210, in response to receiving the request information, a target microservice matching the request information is determined.
The request information may be, for example, transmitted by the terminal device to the server in response to a user operation. The request information can be used for requesting multimedia information such as web pages, audio, video, text, images, and the like. The request information may include information such as a Uniform Resource Identifier (URI) of a website that the user wants to access.
The embodiment can select a micro service having a mapping relation with the uniform resource identifier in the request information from a plurality of micro services in the micro service architecture as a target micro service matched with the request information. The mapping relation between the micro service and the uniform resource identifier is established according to the incidence relation between the service function set for the micro service and the function accessed by the uniform resource identifier, so that the micro service provides the function with the incidence relation with the service function through the operation of the micro service.
It is to be understood that the above-described method of determining a target micro service, which is similar to the related art and will not be described in detail herein, is merely an example to facilitate understanding of the present disclosure.
In operation S220, the business logic of the target micro-service loaded by the service framework of the target micro-service is executed to process the request information.
When the service framework of the target micro service is started, the business logic of the target micro service can be automatically loaded. Wherein the service framework is capable of providing the same basic functionality that multiple microservices have. The service framework may be, for example, a Remote Procedure Call framework (RPC) written in the c/c + + language, or a Beego framework or a Gin framework written in the Golang language, or the like.
In this embodiment, the service framework may be in an Executable File (EF) format, for example, and the service framework may be represented by code in an Executable File compiled from c/c + + language code or Golang code, for example. Wherein, for example, a compiler may be employed to implement the compiled conversion of the code. The original code of the service framework may be written in a strongly static, compiled language, for example. The executable file refers to a file which is loaded and executed by an operating system. The executable file format may be a binary file format, an exe file format, and the like, which is not limited in this disclosure. The service framework represented by the code in executable file format may be loaded into memory and executed by an operating system loading the code in executable file format.
After the service framework is started and loaded with the business logic, the business logic can be executed to process the request information when the request information matched with the target micro service is received. In order to facilitate the loading and calling of the service framework to the service logic, the service logic can be represented by a code in a dynamic link library file format. For example, business logic may be represented by Dynamic Link Library (DLL) files. The business logic represented by code in the form of a dynamic link library file, which may contain functions that can be called by a program or other DLL to perform certain operations, for example, cannot execute directly nor receive messages. In one embodiment, the DLL file is loaded into the virtual space of a process by the software system architecture only when needed by an application, becoming part of a calling process, and is only accessible by the thread of the process.
In one embodiment, the executable file format comprises a binary file format, and the dynamic link library file format comprises a so file format. For example, the service framework may load a dynamically linked library, so file, in a manner similar to the Plugin mechanism provided by Golang.
The code in the binary file format represents the service framework, the code in the dynamic link library file format represents the service logic, the loading of the dynamic link library file by the service framework can be realized, and the processing of the request information can be realized by executing the loaded service logic. Compared with the technical scheme that the codes of the service logic and the service framework are converted into the binary files in the related technology, the compiling decoupling and the deployment decoupling between the service framework and the service logic can be realized. Therefore, when the service framework needs to be upgraded, a plurality of files for respectively representing service logics of a plurality of micro-services do not need to be modified, and only one conversion is needed to be carried out on codes of the service framework, so that the upgrading efficiency can be improved, and the calculation cost can be saved.
According to an embodiment of the present disclosure, in order to facilitate a service framework to call a method of processing information at runtime, the service framework may be provided with at least one call interface. Similarly, the service framework may load business logic by calling the interface. When the service logic is loaded, a target calling interface having a mapping relation with the service logic in the at least one calling interface can be determined, and the target calling interface is called to load the service logic.
Illustratively, business logic may be defined as a method. When determining the target calling interface with the mapping relationship, the method name of the service logic may be compared with the method name specified by at least one calling interface, and the calling interface with the specified method name consistent with the method name of the service logic is determined as the target calling interface.
FIG. 3 is a schematic diagram of the development, deployment, and updating of microservices according to an embodiment of the present disclosure.
According to an embodiment of the disclosure, as shown in fig. 3, when the embodiment 300 develops a microservice, a first developer 310 may write service framework code 331 in the microservice, and a second developer 320 may write business logic code 341 in the microservice. The service framework code 331 and the business logic code 341 may be written in a static language such as Golang language, C + +, and the like. The language in which the service framework code 331 is written and the language in which the business logic code 341 is written may be the same language or different languages. The first developer 310 and the second developer 320 may be the same person or different persons.
After receiving the service framework code 331, the server may employ a first compilation tool to convert the service framework code into executable binary code and store the executable binary code as a binary file 332. After the server receives the business logic code 341, it may employ a second compiling tool to convert the business logic code into a code that can write a dynamic link library file, and store it as the dynamic link library. The code that can write the dynamic link library file may include, for example, C + + code and the like, which is not limited in this disclosure. After obtaining the binary file 332 and the dynamically linked library.so file 342, the server may deploy the two files independently in the same container 350, the binary file 333 and the dynamically linked library deployed in the container 350. so file 343 may be stored independently of each other. In this embodiment, the first compiling tool and the second compiling tool may be selected from compiling tools in related arts, and the types of the first compiling tool and the second compiling tool are not limited in the present disclosure.
It will be appreciated that after the binary file 332 and the dynamically linked library are obtained, so file 342, the two files may also be stored directly to a predetermined storage space without being deployed in container 350. Only under the condition that a plurality of micro services are deployed in the same server, the two files are deployed in the container 350, so that isolation from other micro services is realized, and the running stability of the micro services is improved.
After the server deploys the two files, a process may be initiated to run binary files 333 representing the service framework on the microservice online or at test time. The binary file 333 may automatically load a dynamically linked library, so file 343, indicating business logic, thereby enabling the service framework to load the business logic. After the dynamically linked library-so file 343 is loaded, the microservice, including the service framework and business logic, is ready to receive and process the requested information. In this way, when the request information sent by the terminal device is received, whether the micro service is the target micro service can be determined in response to the request information, and if so, the loaded business logic is executed. If not, the request message may be discarded, for example.
According to an embodiment of the present disclosure, after the development of the micro-service, the first developer 310 may also upgrade the service framework according to actual needs. In this way, after receiving the code of the service framework of the upgraded version, the server may convert the code of the service framework of the upgraded version into a binary code by using the aforementioned first compiling tool, and store the binary code as another binary file serving as the upgraded service framework. Upgrade updates to the service framework are implemented by replacing the stored binary file with the other binary file. When a plurality of micro services exist, the service framework in each micro service can be upgraded and updated in the manner described above.
According to the embodiment of the disclosure, when the updated service framework is used for updating the existing service framework of the micro service, the running state of the micro service can be determined firstly. For example, the server may first determine an operational status of each of a plurality of microservices deployed in the server in response to receiving an upgraded version of the service framework. And updating the service framework of each micro service by adopting the upgraded service framework obtained by conversion only when the running state of each micro service is the state without executing the business logic. By the method, the influence of the updating of the service framework on the process of processing the request information can be avoided, and the experience of a user in using the client application through the terminal equipment is improved.
Illustratively, chain data may be invoked, metric data for each microservice may be counted, and a determination may be made as to whether the microservice is processing the requested information based on the metric data. The index data may include, for example, concurrent request traffic of the microservice, and the like. If the concurrent request flow is low or zero, it may be determined that the micro-service is in a state where the service logic is not executed. Alternatively, a Spring Boot tool may be used to monitor each microservice, so as to obtain the status of each microservice. It is to be understood that the above-described method of determining microservice status is merely an example to facilitate an understanding of the present disclosure, and the present disclosure is not limited thereto.
According to the embodiment of the disclosure, if it is determined that a micro service in the plurality of micro services is in a state where the business logic is not executed, the updated service framework obtained by conversion may be used to update the service framework of the micro service. Specifically, the code of the service framework of the upgraded version may be converted into a code in the executable file format, so as to obtain the upgraded service framework. And then updating the service framework of the certain microservice by adopting an Image Promotion (Image Promotion) mode based on the upgraded service framework. Wherein the first compilation tool described above may be employed to convert code of the upgraded version of the service framework into code in an executable file format. And if the service framework and the business logic of the certain micro service are stored in the same container, updating the service framework by adopting the mirror image lifting mode. Wherein the mirror is promoted as a feature of a container Trusted Registry (DTR). It is understood that the code of the service framework of the upgraded version may also be converted into code in the executable file format before determining the state of each micro service, and the disclosure does not limit the timing of obtaining the upgraded service framework.
According to an embodiment of the present disclosure, after the development of the micro service, the second developer 320 may also upgrade the service logic according to actual requirements. Thus, after receiving the code of the service logic of the upgraded version, the server can adopt the second compiling tool to convert the code of the service logic of the upgraded version into a code in a dynamic link library file format, and the code obtained by conversion is used for replacing the existing service logic code of the micro service, so as to realize the upgrade of the service logic. The microservice may have a unique identifier, for example, and the submitted service logic code of the upgraded version may carry the unique identifier, for example, to locate the microservice requiring the service logic to be upgraded from the plurality of microservices deployed by the server based on the unique identifier.
Illustratively, as shown in FIG. 3, business logic may be upgraded in an overlay update. Specifically, when receiving a code of the business logic of the upgraded version of the target microservice, the second compiling tool may be first adopted to convert the received business logic code of the upgraded version into a code in a dynamic link library file format, so as to obtain the upgraded business logic. And then, the upgraded business logic is adopted to cover the business logic of the target micro service. After the coverage, the service framework is restarted to load the upgraded service logic, so that the upgrading of the micro-service logic is completed. The restart service framework may be implemented by, for example, restarting the process of the target microservice, which is not limited by this disclosure.
In summary, in the embodiments of the present disclosure, the code in the binary file format is used to represent the service framework, and the code in the dynamic link library file format is used to represent the service logic, so that the service framework can be decoupled from the service logic maintenance, and the service framework can be updated online in a single point without depending on the service. Compared with a service mesh (service mesh) technology in the related art, the whole functions of the service framework can be decoupled from the service logic.
According to the embodiment of the disclosure, each running microservice can be represented as an independent container by storing business logic and a service framework into a container Docker. When the micro-service is upgraded, the whole upgrading can be easily realized by matching with some automation tools. Through the Docker, applications can be standardized into manageable, testable, easily migrated images/containers, thereby providing an approach for integrated management for different technology stacks.
According to an embodiment of the disclosure, a start-stop function may be further defined in the service framework of the microservice. Specifically, the code of the service framework has a start-stop script code. For example, the start-stop function may be, for example, a shell function, which is not limited in this disclosure. Therefore, when the execution process of the business logic is started, namely when the micro-service is on line or the process is started by testing, the process is started based on the start-stop function, so that the execution process is initialized. By this initialization, for example, some environment variables or other arguments may be loaded in the process. Through the start-stop function, the service framework can specify a debug port, a configuration file and the like or execute some privatization operation.
Fig. 4 is a schematic structural diagram of a microservice architecture according to an embodiment of the present disclosure.
According to an embodiment of the present disclosure, as shown in fig. 4, similar to the service grid, the micro-service architecture 400 in this embodiment may be configured with a control panel 440 to adjust configuration parameters of service frameworks stored in the plurality of containers 410-430, respectively. Therefore, dynamic modification of the service framework is realized, the configuration parameters of the service framework are updated on the basis of no need of updating the service framework online again, and the updated configuration parameters are enabled to take effect.
Therein, the microservice architecture 400 in the server may have n microservices, each microservice storage being configured in one container. The container 410(Docker 1) stores a service framework 412 and business logic a 411, the container 420(Docker 2) stores a service framework 422 and business logic b 421, and the container 430(Docker n) stores a service framework 432 and business logic c 431. Wherein n is a natural number greater than 1, and the service frames in the n microservices may be identical to each other but have different business logics from each other. It will be appreciated that the service frameworks in the n microservices may be frameworks that are identical in base framework, but differ in version, since the service frameworks in some microservices have not been updated in time when the service frameworks are upgraded.
According to the embodiment of the disclosure, for example, a service administration (SOA coverage) policy for a plurality of micro services may be further defined in the service framework of each micro service. For example, service governance policies 4121 are defined in service framework 412, service governance policies 4221 are defined in service framework 422, and service governance policies 4321 are defined in service framework 432. By the service governance strategy, for example, micro services can be registered and discovered, the calling relation among the micro services and the state of the micro services can be mastered, meanwhile, the calling among the micro services is controlled in the process of version alternation of the micro services, and other micro services of micro services sensitive to calling services are authenticated and authenticated. Accordingly, when executing the business logic loaded by the service framework, the business logic can be executed based on the service governance policy to realize management and control of the micro-service.
Illustratively, the abatement configuration parameters in the service abatement policy may be adjusted and configured via the control panel 440 as previously described. After control panel 440 obtains abatement configuration parameters in response to the operation of the developer, the server may receive the abatement configuration parameters and adjust the service abatement policies defined by the service framework in the container in response to receiving the abatement configuration parameters. Therefore, the updating of the service governance strategy is realized without upgrading the whole service framework. With this adjustment, when the business logic is executed, the business logic is executed based on the adjusted service governance policy.
Illustratively, the abatement configuration parameters may include configuration parameters such as timeout times, and throttling frequencies, for example, so as to implement adjustment of policies for managing and controlling calls between microservices. It will be appreciated that the abatement configuration parameters described above are merely examples to facilitate understanding of the present disclosure, and are not limiting of the present disclosure.
Based on the information processing method applied to the micro service provided by the disclosure, the disclosure also provides an information processing device applied to the micro service. The apparatus will be described in detail below with reference to fig. 5.
Fig. 5 is a block diagram of a structure of an information processing apparatus applied to a microservice according to an embodiment of the present disclosure.
As shown in fig. 5, the information processing apparatus 500 applied to the microservice of this embodiment may include a microservice determination module 510 and a business execution module 520.
The microservice determination module 510 is configured to determine, in response to receiving the request information, a target microservice that matches the request information. In an embodiment, the micro service determination module 510 may be configured to perform the operation S210 described above, which is not described herein again.
The business execution module 520 is configured to execute the business logic of the target micro service loaded by the service framework of the target micro service to process the request information. The service framework is represented by codes in an executable file format, and the service logic is represented by codes in a dynamic link library file format. In an embodiment, the service execution module 520 may be configured to execute the operation S220 described above, which is not described herein again.
According to an embodiment of the present disclosure, a service framework is provided with at least one invocation interface. The information processing apparatus 500 applied to the microservice described above may further include, for example, a business loading module for loading business logic. The service loading module may include an interface determination submodule and a loading submodule. The interface determination submodule is used for determining a target calling interface which has a mapping relation with the business logic in at least one calling interface. And the loading submodule is used for enabling the service framework to call the target calling interface to load the business logic.
According to an embodiment of the present disclosure, a service governance policy for a plurality of microservices is defined in a service framework. The information processing apparatus 500 applied to the microservice described above may further include, for example, a policy adjustment module configured to adjust a service governance policy defined by the service framework in response to receiving the governance configuration parameters. Wherein the business logic of the target microservice is executed based on the service governance policy.
According to an embodiment of the present disclosure, the information processing apparatus 500 applied to the microservice described above may further include, for example, a status determination module and a framework update module. The state determination module is to determine, for each microservice of the plurality of microservices, an operational state of each microservice in response to receiving the upgraded version of the service framework. And the frame updating module is used for updating the service frame of each micro service by adopting the service frame of the upgraded version under the condition that the running state of each micro service is the state of not executing the business logic.
According to embodiments of the present disclosure, each microservice is packaged in a container. The framework updating module may include a first transcoding sub-module and an updating sub-module. The first code conversion submodule is used for converting the codes of the service framework of the upgraded version into codes of an executable file format to obtain the upgraded service framework. And the updating submodule is used for updating the service framework of each micro service by adopting a mirror image lifting mode based on the updated service framework.
According to an embodiment of the present disclosure, the information processing apparatus 500 applied to the micro service may further include a business updating module, for example, configured to update the business logic. The service update module may include, for example, a second transcoding submodule, a service overlay submodule, and a restart submodule. And the second code conversion submodule is used for converting the codes of the business logic of the upgraded version into codes of a dynamic link library file format in response to the received business logic of the upgraded version aiming at the target micro service to obtain the upgraded business logic. And the service coverage submodule is used for adopting the upgraded service logic to cover the service logic of the target micro service. And the restarting submodule is used for restarting the service framework so as to load the upgraded business logic.
According to the embodiment of the disclosure, a start-stop function is defined in the service framework. The information processing apparatus 500 applied to the microservice may further include an initialization module, for example, configured to start an execution process of the business logic based on the start-stop function before the loading submodule loads the business logic, so as to initialize the execution process.
According to an embodiment of the present disclosure, the executable file format includes a binary file format and the dynamic link library file format includes a so file format.
It should be noted that, in the technical solution of the present disclosure, the acquisition, storage, application, and the like of the personal information of the related user all conform to the regulations of the relevant laws and regulations, and do not violate the common 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.
FIG. 6 illustrates a schematic block diagram of an example electronic device 600 that can 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. 6, the apparatus 600 includes a computing unit 601, which can perform various appropriate actions and processes according to a computer program stored in a Read Only Memory (ROM)602 or a computer program loaded from a storage unit 608 into a Random Access Memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the device 600 can also be stored. The calculation unit 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input/output (I/O) interface 605 is also connected to bus 604.
A number of components in the device 600 are connected to the I/O interface 605, including: an input unit 606 such as a keyboard, a mouse, or the like; an output unit 607 such as various types of displays, speakers, and the like; a storage unit 608, such as a magnetic disk, optical disk, or the like; and a communication unit 609 such as a network card, modem, wireless communication transceiver, etc. The communication unit 609 allows the device 600 to exchange information/data with other devices via a computer network such as the internet and/or various telecommunication networks.
The computing unit 601 may be a variety of general and/or special purpose processing components having processing and computing capabilities. Some examples of the computing unit 601 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 so forth. The calculation unit 601 executes the respective methods and processes described above, such as an information processing method applied to a microservice. For example, in some embodiments, the information processing method applied to the microservice may be implemented as a computer software program tangibly embodied in a machine-readable medium, such as storage unit 608. In some embodiments, part or all of the computer program may be loaded and/or installed onto the device 600 via the ROM 602 and/or the communication unit 609. When the computer program is loaded into the RAM 603 and executed by the computing unit 601, one or more steps of the information processing method applied to the microservice described above may be performed. Alternatively, in other embodiments, the computing unit 601 may be configured by any other suitable means (e.g., by means of firmware) to execute the information processing method applied to the microservice.
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 may be a cloud server, which is 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 extensibility in a traditional physical host and a 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.