CN112929195A - Service system, method executed by service system, processing apparatus, and storage medium - Google Patents

Service system, method executed by service system, processing apparatus, and storage medium Download PDF

Info

Publication number
CN112929195A
CN112929195A CN201911239926.5A CN201911239926A CN112929195A CN 112929195 A CN112929195 A CN 112929195A CN 201911239926 A CN201911239926 A CN 201911239926A CN 112929195 A CN112929195 A CN 112929195A
Authority
CN
China
Prior art keywords
service
functional
information
functional service
unit
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.)
Pending
Application number
CN201911239926.5A
Other languages
Chinese (zh)
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 Wodong Tianjun Information Technology Co Ltd
Original Assignee
Beijing Wodong Tianjun Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Wodong Tianjun Information Technology Co Ltd filed Critical Beijing Wodong Tianjun Information Technology Co Ltd
Priority to CN201911239926.5A priority Critical patent/CN112929195A/en
Publication of CN112929195A publication Critical patent/CN112929195A/en
Pending legal-status Critical Current

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/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5054Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
    • 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/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • 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/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5051Service on demand, e.g. definition and deployment of services in real time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

The present disclosure provides a service system, a method performed by the service system and a processing apparatus. The service system includes: an application module comprising one or more applications, each application comprising one or more functional services, each of the one or more functional services each having a corresponding tag; the information management module is used for receiving the registration of each functional service based on the corresponding label of each functional service and generating a functional service information list based on the information of the registered functional service; and a scheduling processing module for scheduling the functional service for responding to the client request from the functional service information list according to the client request from the outside.

Description

Service system, method executed by service system, processing apparatus, and storage medium
Technical Field
The present disclosure relates to the field of internet technologies, and in particular, to a service system, a method and a processing apparatus executed by the service system, and a computer-readable storage medium.
Background
Cloud computing is a popular network concept in recent times, and is a service related to information technology, software, and the internet. The cloud computing combines a plurality of computing resources, realizes management through software, and has strong resource expansibility. The current cloud computing Service modes mainly include IaaS (Infrastructure as a Service), PaaS (Platform as a Service), and SaaS (Software as a Service). IaaS refers to providing the IT infrastructure as a service, PaaS refers to providing a platform developed by software as a service, and SaaS refers to providing software as a service.
In the process of implementing the present disclosure, the inventor finds that, although cloud computing can combine many computing resources and has strong resource expansibility, because a cloud computing service system is complex, related personnel need to manually adjust the compatibility of one or more software programs and the whole system when constructing the cloud computing service system, which results in time and labor consuming and low construction efficiency of the cloud computing service system construction process.
Disclosure of Invention
In view of the above, the present disclosure provides a service system, a method performed by the service system, a processing apparatus, and a computer-readable storage medium.
One aspect of the present disclosure provides a service system including: an application module comprising one or more applications, each of said applications comprising one or more functional services, each of said one or more functional services each having a corresponding tag; the information management module is used for receiving the registration of each functional service based on the corresponding label of each functional service and generating a functional service information list based on the information of the registered functional service; and a scheduling processing module for scheduling the functional service for responding to the client request from the functional service information list according to the client request from the outside.
According to an embodiment of the present disclosure, the information management module includes: an information registration unit, configured to store the functional service information list, and when any one of the one or more application programs is started, accept registration of each functional service in the application program, and add information of the registered functional service to the functional service information list; and an information deleting unit configured to delete information of each functional service in the application from the functional service information list when the any application stops operating.
According to an embodiment of the present disclosure, the information management module further includes: and the information auditing unit is used for auditing the functional service before the functional service in the application program is registered in the information registering unit, and allowing the functional service to be registered after the functional service is approved.
According to an embodiment of the present disclosure, the information management module further includes: and the authority management unit is used for managing the scheduling authority of the scheduling processing module based on one or more functional services in the functional service information list.
According to an embodiment of the present disclosure, the scheduling processing module includes: an accepting unit configured to accept a client request from outside and determine a functional service required to respond to the client request; the query unit is used for querying the information of the functional service required by responding to the client request from the functional service information list and determining one or more functional services capable of responding to the client request according to the information; and the calling unit is used for calling the corresponding functional service in the application program according to the information of the one or more functional services so as to respond to the request of the client from the outside.
According to an embodiment of the present disclosure, the scheduling processing module further includes: the load balancing unit is used for generating a function service calling scheme capable of realizing load balancing based on the information of the one or more function services; the calling unit is further configured to call a corresponding function service in the application program according to the function service calling scheme, so as to respond to a client request from the outside.
According to an embodiment of the present disclosure, the scheduling processing module further includes: and the list sharing unit is used for acquiring the latest functional service information list from the information management module at preset time intervals so as to provide the latest functional service information list for the query unit to query.
According to an embodiment of the present disclosure, the information of the above-described functional service includes at least one of: application name, fully qualified class name, parameter type, and IP address.
Another aspect of the present disclosure provides a method performed by the service system described above, including: acquiring one or more application programs, wherein each application program comprises one or more functional services, and each functional service in the one or more functional services respectively has a corresponding label; when any application program is started, registering each functional service based on a corresponding label of each functional service in the application program, and generating a functional service information list based on the information of the registered functional service; and when any application program stops running, deleting the information of each functional service in the application program from the functional service information list.
According to an embodiment of the present disclosure, the method further includes: accepting a client request from the outside, and determining a functional service required for responding to the client request; inquiring information of the functional service required by responding to the client request from the functional service information list, and determining one or more functional services capable of responding to the client request according to the information; and calling corresponding functional services in the application program according to the information of the one or more functional services so as to respond to the request of the client from the outside.
Another aspect of the present disclosure provides a processing apparatus, including: one or more processors; a memory for storing one or more instructions, wherein the one or more instructions, when executed by the one or more processors, cause the one or more processors to implement the method described above.
Another aspect of the present disclosure provides a computer-readable storage medium storing executable instructions that, when executed by a processor, cause the processor to implement the above-described method.
Through the embodiment of the disclosure, after the relevant personnel develop the application program, the application program module can automatically register the functional service with the specific label to the information management module. The information management module can maintain a function service information list and can realize automatic registration of the function service in the application program module. Through the embodiment of the disclosure, the technical problems that in the related art, due to the fact that a cloud computing service system is complex, related personnel need to manually adjust the compatibility of one or more software programs and the whole system when the cloud computing service system is built, the building process of the cloud computing service system is time-consuming and labor-consuming, and the building efficiency is low are solved, developers only need to complete the development of the application programs, and do not need to pay attention to the compatibility with the service system after the program development, and therefore the technical effect of improving the building efficiency of the built service system is achieved.
Drawings
Fig. 1 schematically shows an application scenario of a service system according to an embodiment of the present disclosure;
FIG. 2 schematically illustrates a schematic diagram of the operation of a service system according to an embodiment of the disclosure;
FIG. 3 schematically illustrates an example block diagram of an information management module in accordance with an embodiment of this disclosure;
FIG. 4 schematically illustrates an example block diagram of an information management module in accordance with another embodiment of this disclosure;
FIG. 5 schematically illustrates an example block diagram of an information management module according to another embodiment of this disclosure;
FIG. 6 schematically illustrates an example block diagram of a scheduling processing module in accordance with an embodiment of this disclosure;
FIG. 7 schematically illustrates an example block diagram of a scheduling processing module according to another embodiment of this disclosure;
FIG. 8 schematically illustrates an example block diagram of a scheduling processing module according to another embodiment of this disclosure;
FIG. 9 schematically illustrates a schematic diagram of the operation of a scheduling processing module according to an embodiment of the present disclosure;
FIG. 10 schematically illustrates a partial flow diagram of a method performed by a service system according to an embodiment of the present disclosure;
FIG. 11 schematically illustrates a partial flow diagram of a method performed by a service system according to an embodiment of the present disclosure; and
fig. 12 schematically shows a block diagram of a processing device according to an embodiment of the disclosure.
Detailed Description
Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. It should be understood that the description is illustrative only and is not intended to limit the scope of the present disclosure. In the following detailed description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the disclosure. It may be evident, however, that one or more embodiments may be practiced without these specific details. Moreover, in the following description, descriptions of well-known structures and techniques are omitted so as to not unnecessarily obscure the concepts of the present disclosure.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The terms "comprises," "comprising," and the like, as used herein, specify the presence of stated features, steps, operations, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, or components.
All terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. It is noted that the terms used herein should be interpreted as having a meaning that is consistent with the context of this specification and should not be interpreted in an idealized or overly formal sense.
Where a convention analogous to "at least one of A, B and C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., "a system having at least one of A, B and C" would include but not be limited to systems that have a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.). Where a convention analogous to "A, B or at least one of C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., "a system having at least one of A, B or C" would include but not be limited to systems that have a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.).
In the related art, for a software developer, the PaaS service mode can reduce development cost and relieve development pressure. As a sub-division mode in the PaaS Service mode, FaaS (Function as a Service) which is a newer Service mode is proposed. The FaaS only needs to pay attention to the service code logic and does not need to pay attention to server resources, so the FaaS is also closely related to Serverless (i.e. developers do not need to pay attention to the server). FaaS provides a more subdivided and abstract servitization capability, which enables developers to concentrate on "what to do" by making the complex server architecture transparent, thereby emphasizing the idea of reducing the developer's attention to computing resources such as servers and switching the work granularity from server to task.
Taking e-commerce application as an example, the services can be divided into decoupled functional services such as browsing commodities, adding shopping carts, placing orders, paying, checking logistics and the like. In FaaS, it may split an e-commerce application into opcodes that a user may use, e.g., add, read queries, update, delete opcodes. For example, when an "order placing" event occurs, a corresponding functional service is triggered and handed to the FaaS server for execution.
At present, FaaS is supported by Cloud computing manufacturers, such as Amazon products like Lambda, Azure Function and Google Cloud Functions. This architecture requires computing to be done with the cloud computing vendor's server. On one hand, the FaaS has a difficulty in functional service of the subsequent business, and currently, common service frameworks generally use products such as Dubbo, spring cloud, and the like, but the construction of the whole service system needs coding support, and related personnel need to manually adjust the compatibility of one or more software programs and the whole system when constructing the service system, and cannot realize the function automatically. On the other hand, since support by a cloud computing vendor is required, it is necessary to expose a functional service to a public cloud provided by the cloud computing vendor, and it is difficult to construct an entire service system using a private cloud within an enterprise, and therefore, it is not easy to construct an entire service system based on FaaS.
As described above, in the conventional service system, it is necessary for a developer of a functional service of a service provider to pay attention not only to development of a program for providing the functional service but also to be familiar with a framework of the entire service system, and to add the developed program to the entire service system by further encoding after the program development is completed, so as to be used by an external client. Because the framework of the service system is difficult to construct, products such as Dubbo, spring cloud and the like of cloud computing manufacturers are generally used, but the process of adding the developed program into the service system still needs coding support and cannot be automatically realized. Moreover, since support of a cloud computing vendor is required, functional services need to be exposed to a public cloud provided by the cloud computing vendor, and many services inside an enterprise are not expected to be exposed to the outside, so that products of the public cloud cannot be used, and the entire service system needs to be constructed by using a private cloud inside the enterprise.
In such a background, the inventors of the present disclosure conceive of: by automatically registering and exposing the functional service to the whole service system, the work required for constructing the service system can be reduced, so that the service system can be constructed quickly, and the burden of a program developer is reduced. Therefore, the service system can be constructed by utilizing the private cloud in the enterprise, and the process that a program developer adds the developed program into the whole service system through further coding can be omitted.
Embodiments of the present disclosure provide a service system. The service system comprises an application program module, an information management module and a scheduling processing module. The application module includes one or more applications, each application including one or more functional services, each of the one or more functional services each having a corresponding tag. The information management module is used for receiving the registration of each functional service based on the corresponding label of each functional service and generating a functional service information list based on the information of the registered functional service. The scheduling processing module is used for scheduling the functional service for responding to the client request from the functional service information list according to the client request from the outside.
Fig. 1 schematically shows an application scenario of a service system according to an embodiment of the present disclosure. It should be noted that fig. 1 is only an example of a service system to which the embodiments of the present disclosure may be applied to help those skilled in the art understand the technical content of the present disclosure, and does not mean that the embodiments of the present disclosure may not be applied to other devices, systems, environments or scenarios.
As shown in FIG. 1, the service objects of the service system 100 may include program developers and external clients. The service system 100 can accept a plurality of client requests from different clients, respond to each client request, and feed back a response result to the client. Meanwhile, the service system 100 may receive the latest application program written from the program developer to implement the maintenance, update and refinement of the functional service.
The service system 100 may be configured by, for example, a distributed server cluster, and thus has a good arithmetic processing capability. For a client such as a consumer, it is only necessary to perform a simple operation on a client terminal used by the client, and the client request is transmitted to the service system 100, and a response result is obtained from the service system 100. In other words, the service system 100 composed of a plurality of distributed server clusters may be an information interaction terminal exposed to an external client, and the structural composition and the operation manner of the information interaction terminal are unknown to the external client.
Specifically, as shown in fig. 1, the service system 100 of the embodiment of the present disclosure includes an application module 110, an information management module 120, and a schedule processing module 130. The application module 110 may be oriented to a program developer and the dispatch processing module 130 may be oriented to an external client. A complete automatic processing flow can be achieved through the cooperative action among the three modules, and a program developer only needs to pay attention to the application program module 110, but does not need to pay attention to other modules.
The application module 110 includes one or more applications. One or more of the applications in the application module 110 may be, for example, Java applications, developed by a program developer. Specifically, for example, the application module 110 provides a Java application service, and may be constructed using Spring Boot + Spring MVC, and quickly build a Java application framework through Spring Boot, and process a client request through Spring MVC. The client request is, for example, an http request (request message from the client to the server). The Spring framework is an open source application framework on the Java platform, and provides a large number of web frameworks for development convenience. The Spring Boot is designed based on Spring4.0, not only inherits the original characteristics of a Spring framework, but also further simplifies the whole construction and development process of Spring application by simplifying configuration. Spring MVC is also based on a Spring framework and is mainly used for supporting the development of web applications.
Multiple applications may be developed by different program developers and multiple applications may be distributed on different servers. In other words, an application in application module 110 may be a cluster of applications on one or more servers, in accordance with embodiments of the present disclosure.
Each application includes one or more functional services. The "functional service" herein refers to a functional service that is registered with and exposed to the entire service system. For example, a Java application service as a functional service may be automatically registered to a service system using etcd and exposed as an http service. etcd is an open-source, distributed key-value pair data storage system that provides for the registration and discovery of shared configurations, services.
Each of the one or more functional services each has a corresponding tag, and the corresponding tag for each functional service may be the same without the need for a special definition tag. For example, each functional service to be automatically exposed as an http service has an identical corresponding tag for indicating that the functional service is to be exposed as an http service. For example, an annotation @ FaaSService may be added to each feature service to be automatically exposed as an http service.
The information management module 120 is configured to accept registration of each functional service based on a corresponding tag of each functional service, and generate a functional service information list based on information of the registered functional service. In other words, the information management module 120 accepts and accepts only registration of the functional service having the corresponding tag. Since each functional service to be exposed will have an identical corresponding tag, it is easy to identify. And, the information management module 120 generates a function service information list based on the information of the registered function service. The information of the functional service may include at least one of: application name (APPname), Fully qualified class name (full qualified class name), Parameter name (Parameter name), Parameter Type (Parameter Type), and IP address (IP address). Through the information of the functional services, a specific functional service can be quickly identified and determined.
The scheduling processing module 130 is configured to schedule a functional service for responding to a client request from the functional service information list according to the client request from the outside. The dispatch handling module 130 is for example implemented using ngx _ lua. ngx _ Lua is a high-performance Web platform based on Nginx and Lua, and can realize the scheduling processing module 130 by means of a characteristic dynamic deployment function of the Lua dynamic scripting language. Nginx is a high-performance HTTP and reverse proxy web server, lua is a scripting language, can be written by standard C, and can be compiled and run on almost all operating systems and platforms.
The client request from the outside is issued by an external user of the service system 100. A client, such as a consumer, performs a simple click operation on a client terminal, and the client terminal automatically recognizes the operation as a client request of a certain format and sends the client request to the scheduling processing module 130. The client request includes at least one information of the same type as the information of the function service in the function service information list. Thus, the scheduling processing module 130 can quickly match at least one piece of information included in the client request with the information of the functional services in the functional service information list, and determine whether or not there are functional services capable of responding to the client request and several functional services capable of responding to the client request in the functional service information list. After judging that the functional service capable of responding to the client request exists in the functional service information list, quickly determining the functional service, and sending the client request from the outside to the determined functional service for processing.
For example, when the client request is an http request, the request format may be? app & service & parameter value & … …. After receiving the http request with the request format, the scheduling processing module 130 matches the information of the functional services in the service information list, and determines whether the functional services capable of responding to the http request and several functional services capable of responding to the http request exist in the functional service information list. And after judging that the functional service capable of responding to the http request exists in the functional service information list, quickly determining the functional service, and sending the http request to the determined functional service for processing. In addition, the http request may also be sent to an application program including a functional service capable of responding to the http request, and the application program invokes the corresponding functional service to process the http request according to format information of the http request.
According to the embodiment of the disclosure, the automatic registration and exposure of the functional service in the application program to the whole service system can be realized, the work required for constructing the service system is reduced, the service system is easy to construct, and the burden of a program developer is reduced. Therefore, the service system can be constructed by utilizing the private cloud in the enterprise, and the process that a program developer adds the developed program into the whole service system through further coding can be omitted.
Through the embodiment of the disclosure, after the related personnel develop the application program, the application program module can automatically register the functional service with the specific label to the information management module, and the information management module can maintain the functional service information list, so that the automatic registration of the functional service in the application program module can be realized. The technical problems that in the related art, due to the fact that a cloud computing service system is complex, related personnel need to manually adjust the compatibility of one or more software programs and the whole system when the cloud computing service system is built, the building process of the cloud computing service system is time-consuming and labor-consuming, and building efficiency is low are solved, developers only need to complete the development of application programs, and do not need to pay attention to the compatibility of the developed programs and the service system, and the technical effect of improving the building efficiency of the built service system is achieved.
Fig. 2 schematically shows a schematic diagram of the operation of a service system according to an embodiment of the present disclosure.
As shown in FIG. 2, a program developer provides one or more functional services in an application to application module 110, for example, by deploying the developed application to application module 110. After acquiring the functional service, the application module 110 registers the functional service having the corresponding tag in the information management module 120. The information management module 120 generates a function service information list based on the information of the registered function service. The scheduling processing module 130 receives a client request from the outside, and searches the function service information list of the information management module 120 for information of a function service for responding to the client request. Then, the scheduling processing module 130 calls a corresponding functional service from the application module 110 according to the queried information of the functional service, in response to the client request. Alternatively, the administrator may perform some actions of management, authorization, etc. on the information management module 120 from the terminal where the administrator is located.
FIG. 3 schematically shows an example block diagram of an information management module in accordance with an embodiment of this disclosure.
As shown in fig. 3, the information management module 120 of the embodiment of the present disclosure may include an information registration unit 310 and an information deletion unit 320.
The information registration unit 310 may be configured to store a functional service information list, and when any of one or more application programs starts, accept registration of each of the functional services in the application program, and add information of the registered functional service to the functional service information list.
When the application module 110 is first started, all the functional services with the corresponding tags are registered with the information registration unit 310 of the information management module 120. The information registration unit 310 accepts registration of each functional service with a corresponding tag, and generates a functional service information list based on information of the registered functional service. The functional service information list includes specific information of the functional service and is always stored in the information registration unit 310.
The application modules 110 include one or more applications developed by a program developer. Also, the applications included in the application module 110 may be dynamically changing. For example, a program developer may add newly developed applications to application module 110 or may remove applications that are no longer in use from application module 110. Since the application programs in the application program module 110 can be added and deleted, the functional services used by the service system will be changed accordingly.
For example, in the case where a program developer adds a newly developed application to the application module 110, when the application starts, the application module 110 registers a functional service with a corresponding tag in the application to the information registration unit 310. The information registration unit 310 has stored therein a function service information list, and thus directly adds information of the registered function service to the function service information list.
The information deleting unit 320 may be configured to delete the information of each functional service in any application from the functional service information list when the application stops running.
For example, when a program developer deletes an application from the application module 110 or stops the operation of a load that runs the application, the application stops running. The application stopping running means that the functional service in the application also becomes unavailable.
The information deleting unit 320 maintains communication with the application module 110, and deletes information of some functional services from the functional service information list when the functional services in the application module 110 cannot be detected. Thereby, it can be ensured that all the functional services registered in the functional service information list are available functional services.
For example, in the case where the functional service in the application module 110 is a Java application service, the Java application service may be registered with the functional service information list when it is started by Spring Boot, and then information is deleted from the functional service information list by the information deleting unit 320 when the JVM stops running.
FIG. 4 schematically shows an example block diagram of an information management module in accordance with an embodiment of this disclosure.
As shown in fig. 4, unlike the information management module 120 shown in fig. 3, the information management module 120A may include an information auditing unit 430 in addition to the information registering unit 410 and the information deleting unit 420.
The information auditing unit 430 is configured to audit the functional service before the functional service in the application is registered in the information registering unit, and allow the functional service to be registered after the audit is passed. By the setting of the information auditing unit 430, the quality of the functional service registered in the functional service information list can be ensured. The information registration unit 410 and the information deletion unit 420 in the information management module 120A have functions corresponding to the information registration unit 310 and the information deletion unit 320 in the information management module 120.
FIG. 5 schematically shows an example block diagram of an information management module in accordance with an embodiment of this disclosure.
As shown in fig. 5, unlike the information management module 120 shown in fig. 3, the information management module 120B may include a right management unit 530 in addition to the information registration unit 510 and the information deletion unit 520. The information registration unit 510 and the information deletion unit 520 in the information management module 120B have functions corresponding to the information registration unit 310 and the information deletion unit 320 in the information management module 120.
The authority management unit 530 is configured to manage the scheduling authority of the scheduling processing module based on one or more functional services in the functional service information list. For example, the authority management unit 530 may set a scheduling authority for one or more functional services in the functional service information list, and limit the scheduling behavior of the scheduling processing module for the part of the functional services. Specifically, an authorization link may be set for the part of the functional service, and when a certain functional service is called, an authorization code needs to be applied first to allow the calling. Thus, on the one hand, the functional service can be protected from being abused, and on the other hand, the use condition of the functional service can be known.
Fig. 6 schematically illustrates an example block diagram of a scheduling processing module in accordance with an embodiment of this disclosure.
As shown in fig. 6, the scheduling processing module 130 may include an accepting unit 610, a querying unit 620, and a calling unit 630.
The accepting unit 610 may be configured to accept a client request from the outside and determine a functional service required to respond to the client request. The client request from the outside has certain format information, and the accepting unit 610 can determine which kind of functional service can respond to the client request according to the format information.
The querying unit 620 may be configured to query the functional service information list for information of functional services required to respond to the client request, and determine one or more functional services capable of responding to the client request according to the information. The client request includes at least one information of the same type as the information of the function service in the function service information list. Accordingly, the query unit 620 can quickly match at least one information included in the client request with the information of the functional services in the functional service information list, and determine whether there are functional services capable of responding to the client request and several functional services capable of responding to the client request in the functional service information list.
The invoking unit 630 may be configured to invoke a corresponding functional service in the application according to the information of the one or more functional services, so as to respond to a client request from the outside. The invoking unit 630, after determining that there is a functional service capable of responding to the client request in the functional service information list, quickly determines the functional service, and sends the client request from the outside to the determined functional service for processing.
Fig. 7 schematically illustrates an example block diagram of a scheduling processing module in accordance with an embodiment of this disclosure.
As shown in fig. 7, unlike the scheduling processing module 130 shown in fig. 6, the scheduling processing module 130A may include a load balancing unit 740 in addition to the accepting unit 710, the querying unit 720, and the calling unit 730. The accepting unit 710, the querying unit 720, and the calling unit 730 in the scheduling processing module 130A have functions corresponding to the accepting unit 610, the querying unit 620, and the calling unit 630 in the scheduling processing module 130.
The load balancing unit 740 is configured to generate a function service calling scheme capable of achieving load balancing based on the information of the one or more function services. When there are multiple functional services capable of responding to the client request, the load balancing unit 740 analyzes the usage and load configuration of the multiple functional services to obtain a functional service call scheme capable of achieving load balancing, that is, an optimal selection scheme for the functional service capable of responding to the client request.
In a case where the load balancing unit 740 thus gives the function service calling scheme, the calling unit 730 directly calls a corresponding function service in the application program according to the function service calling scheme in order to respond to a client request from the outside.
Fig. 8 schematically illustrates an example block diagram of a scheduling processing module in accordance with an embodiment of this disclosure.
As shown in fig. 8, unlike the scheduling processing module 130 shown in fig. 6, the scheduling processing module 130B may include a list sharing unit 840 in addition to the accepting unit 810, the querying unit 820, and the calling unit 830. The receiving unit 810, the querying unit 820, and the calling unit 830 in the scheduling processing module 130B have functions corresponding to the receiving unit 610, the querying unit 620, and the calling unit 630 in the scheduling processing module 130. The list sharing unit 840 is configured to obtain the latest function service information list from the information management module at preset time intervals to provide the query unit with a query. If the list sharing unit 840 is provided, the scheduling processing module 130B may not need to communicate with the information management module each time a client request is processed, saving processing flow.
In the case that the functional service is a Java application service, the list sharing unit 840 may be implemented by using nginnx, and an init _ worker _ by _ lua of ngx _ lua starts a timer, and the information registration unit of the information management module periodically pulls a latest functional service information list and updates the latest functional service information list to the list sharing unit 840. The load balancing unit 740 may be implemented by using the balance _ by _ lua of ngx _ lua, and may perform dynamic load balancing by using the function service information list stored in the list sharing unit 840 when scheduling the function service.
FIG. 9 schematically shows a schematic diagram of the operation of a scheduling processing module according to an embodiment of the disclosure.
Fig. 9 shows a case where the scheduling processing module 130C includes an accepting unit 910, a querying unit 920, a load balancing unit 930, a calling unit 940, and a list sharing unit 950. The reception unit 910 receives a client request from the outside, specifies a functional service required to respond to the client request, and transmits information on the required functional service to the query unit 920.
The list sharing unit 950 acquires the latest function service information list from the information management module 120 at every preset time to provide to the inquiring unit 920 for inquiry.
The querying unit 920 queries the information of the functional service required to respond to the client request from the functional service information list of the list sharing unit 950, determines one or more functional services capable of responding to the client request according to the information, and then sends the determined functional services to the load balancing unit 930.
The load balancing unit 930 generates a function service calling plan capable of achieving load balancing based on the information of the function service received from the querying unit 920, and then transmits the function service calling plan to the calling unit 940.
The calling unit 940 calls a corresponding function service in the application module 110 according to the received function service calling scheme in order to respond to a client request from the outside.
Another aspect of the present disclosure provides a method performed by the service system described above.
Fig. 10 schematically shows a partial flow diagram of a method performed by a service system according to an embodiment of the present disclosure.
As shown in fig. 10, the method of this portion includes operations S1010 to S1030.
In operation S1010, the service system acquires one or more application programs, each application program including one or more functional services, each of the one or more functional services each having a corresponding tag. The one or more applications are developed by a program developer.
In operation S1020, the service system registers each functional service based on a corresponding tag of each functional service in any application when the application is started, and generates a functional service information list based on information of the registered functional service.
In operation S1030, the service system deletes information of each functional service in any application from the functional service information list when the application stops running.
As can be seen from the above description, the service system performs operations S1010 to S1030, and can automatically complete registration and deletion of the functional service in the application program. So that the program developer can concentrate on the program development itself and does not need to deploy the application program developed by the program developer to the service system through coding.
The service system described above is also capable of performing the method shown in fig. 11 according to an embodiment of the present disclosure.
Fig. 11 schematically shows a partial flow diagram of a method performed by a service system according to an embodiment of the present disclosure. The portion of the method shown in FIG. 11 is directed to the external client that makes the client request.
As shown in fig. 11, the method of this portion includes operations S1110 to S1130.
In operation S1110, the service system accepts a client request from the outside and determines a functional service required to respond to the client request.
In operation S1120, the service system queries information of a functional service required in response to the client request from the functional service information list, and determines one or more functional services capable of responding to the client request according to the information.
In operation S1130, the service system calls a corresponding functional service in the application according to information of one or more functional services in order to respond to a client request from the outside.
For an external client sending a client request, the client terminal where the external client is located is simply operated to send the client request to the service system and obtain a response result from the service system. In other words, the service system is only one information interaction terminal which is exposed in front of the external client, and the structural composition and the operation mode of the service system are unknown to the external client and are not needed to be considered by the external client.
It should be noted that the method portion in the embodiment of the present disclosure corresponds to the service system portion in the embodiment of the present disclosure, and the description of the method portion specifically refers to the service system portion, which is not described herein again.
According to the embodiment of the disclosure, the automatic registration and exposure of the functional service in the application program to the whole service system can be realized, the work required for constructing the service system is greatly reduced, the service system is easy to construct, the private cloud in an enterprise can be utilized for construction, the process that a program developer adds the developed program into the whole service system through further coding can be omitted, and the burden of the program developer is reduced. Meanwhile, no redundant burden is brought to external clients using the service system.
Any number of modules, sub-modules, units, sub-units, or at least part of the functionality of any number thereof according to embodiments of the present disclosure may be implemented in one module. Any one or more of the modules, sub-modules, units, and sub-units according to the embodiments of the present disclosure may be implemented by being split into a plurality of modules. Any one or more of the modules, sub-modules, units, sub-units according to embodiments of the present disclosure may be implemented at least in part as a hardware circuit, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or may be implemented in any other reasonable manner of hardware or firmware by integrating or packaging a circuit, or in any one of or a suitable combination of software, hardware, and firmware implementations. Alternatively, one or more of the modules, sub-modules, units, sub-units according to embodiments of the disclosure may be at least partially implemented as a computer program module, which when executed may perform the corresponding functions.
For example, any number of the application module 110, the information management module 120, and the scheduling processing module 130 may be combined and implemented in one module/unit/sub-unit, or any one of the modules/units/sub-units may be divided into a plurality of modules/units/sub-units. Alternatively, at least part of the functionality of one or more of these modules/units/sub-units may be combined with at least part of the functionality of other modules/units/sub-units and implemented in one module/unit/sub-unit. According to an embodiment of the present disclosure, at least one of the application module 110, the information management module 120, and the scheduling processing module 130 may be implemented at least partially as a hardware circuit, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or may be implemented in hardware or firmware in any other reasonable manner of integrating or packaging a circuit, or in any one of or a suitable combination of software, hardware, and firmware. Alternatively, at least one of the application module 110, the information management module 120 and the scheduling processing module 130 may be at least partially implemented as a computer program module, which when executed, may perform a corresponding function.
The present disclosure also provides a processing apparatus comprising one or more processors and a memory for storing one or more instructions that, when executed by the one or more processors, cause the one or more processors to implement the testing method described above.
Fig. 12 schematically shows a block diagram of a processing device according to an embodiment of the disclosure. The processing device shown in fig. 12 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 12, a processing apparatus 1200 according to an embodiment of the present disclosure includes a processor 1201 which can perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM)1202 or a program loaded from a storage section 1208 into a Random Access Memory (RAM) 1203. The processor 1201 may include, for example, a general purpose microprocessor (e.g., a CPU), an instruction set processor and/or associated chipset, and/or a special purpose microprocessor (e.g., an Application Specific Integrated Circuit (ASIC)), among others. The processor 1201 may also include on-board memory for caching purposes. The processor 1201 may include a single processing unit or multiple processing units for performing the different actions of a test method according to embodiments of the present disclosure.
In the RAM 1203, various programs and data necessary for the operation of the processing device 1200 are stored. The processor 1201, the ROM1202, and the RAM 1203 are connected to each other by a bus 1204. The processor 1201 performs various operations of the test method according to the embodiments of the present disclosure by executing programs in the ROM1202 and/or the RAM 1203. Note that the programs may also be stored in one or more memories other than the ROM1202 and the RAM 1203. The processor 1201 may also perform various operations of a test method according to embodiments of the present disclosure by executing programs stored in the one or more memories.
Processing device 1200 may also include an input/output (I/O) interface 1205, according to an embodiment of the disclosure, input/output (I/O) interface 1205 also connected to bus 1204. The processing apparatus 1200 may also include one or more of the following components connected to the I/O interface 1205: an input section 1206 including a keyboard, a mouse, and the like; an output portion 1207 including a display device such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker; a storage section 1208 including a hard disk and the like; and a communication section 1209 including a network interface card such as a LAN card, a modem, or the like. The communication section 1209 performs communication processing via a network such as the internet. A driver 1210 is also connected to the I/O interface 1205 as needed. A removable medium 1211, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like, is mounted on the drive 1210 as necessary, so that a computer program read out therefrom is mounted into the storage section 1208 as necessary.
According to embodiments of the present disclosure, a test method according to embodiments of the present disclosure may be implemented as a computer software program. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable storage medium, the computer program containing program code for performing the method illustrated by the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network through the communication section 1209, and/or installed from the removable medium 1211. The computer program, when executed by the processor 1201, performs the above-described functions defined in the system of the embodiments of the present disclosure. The systems, devices, apparatuses, modules, units, etc. described above may be implemented by computer program modules according to embodiments of the present disclosure.
The present disclosure also provides a computer-readable storage medium, which may be contained in the apparatus/device/system described in the above embodiments; or may exist separately and not be assembled into the device/apparatus/system. The computer-readable storage medium carries one or more programs which, when executed, implement a testing method according to an embodiment of the present disclosure.
According to an embodiment of the present disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium. Examples may include, but are not limited to: 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), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
For example, according to embodiments of the present disclosure, a computer-readable storage medium may include the ROM1202 and/or the RAM 1203 and/or one or more memories other than the ROM1202 and the RAM 1203 described above.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions. Those skilled in the art will appreciate that various combinations and/or combinations of features recited in the various embodiments and/or claims of the present disclosure can be made, even if such combinations or combinations are not expressly recited in the present disclosure. In particular, various combinations and/or combinations of the features recited in the various embodiments and/or claims of the present disclosure may be made without departing from the spirit or teaching of the present disclosure. All such combinations and/or associations are within the scope of the present disclosure.
The embodiments of the present disclosure have been described above. However, these examples are for illustrative purposes only and are not intended to limit the scope of the present disclosure. Although the embodiments are described separately above, this does not mean that the measures in the embodiments cannot be used in advantageous combination. The scope of the disclosure is defined by the appended claims and equivalents thereof. Various alternatives and modifications can be devised by those skilled in the art without departing from the scope of the present disclosure, and such alternatives and modifications are intended to be within the scope of the present disclosure.

Claims (12)

1. A service system, comprising:
an application module comprising one or more applications, each of the applications comprising one or more functional services, each of the one or more functional services each having a corresponding tag;
the information management module is used for receiving the registration of each functional service based on the corresponding label of each functional service and generating a functional service information list based on the information of the registered functional service; and
and the scheduling processing module is used for scheduling the functional service for responding to the client request from the functional service information list according to the client request from the outside.
2. The service system of claim 1, wherein the information management module comprises:
an information registration unit, configured to store the functional service information list, and when any application program of the one or more application programs is started, accept registration of each functional service in the application program, and add information of the registered functional service to the functional service information list; and
and the information deleting unit is used for deleting the information of each functional service in the application program from the functional service information list when the operation of any application program is stopped.
3. The service system of claim 2, wherein the information management module further comprises:
and the information auditing unit is used for auditing the functional service before the functional service in the application program is registered in the information registering unit, and allowing the functional service to be registered after the functional service is approved.
4. The service system of claim 2, wherein the information management module further comprises:
and the authority management unit is used for managing the scheduling authority of the scheduling processing module based on one or more functional services in the functional service information list.
5. The service system of claim 1, wherein the scheduling processing module comprises:
an accepting unit configured to accept a client request from outside and determine a functional service required to respond to the client request;
the query unit is used for querying the information of the functional service required by responding to the client request from the functional service information list and determining one or more functional services capable of responding to the client request according to the information; and
and the calling unit is used for calling the corresponding functional service in the application program according to the information of the one or more functional services so as to respond to the request of the client from the outside.
6. The service system of claim 5, wherein the schedule processing module further comprises:
the load balancing unit is used for generating a function service calling scheme capable of realizing load balancing based on the information of the one or more function services;
the calling unit is also used for calling the corresponding function service in the application program according to the function service calling scheme so as to respond to the request of the client from the outside.
7. The service system of claim 5, wherein the schedule processing module further comprises:
and the list sharing unit is used for acquiring the latest functional service information list from the information management module at preset time intervals so as to provide the latest functional service information list for the query unit to query.
8. The service system of any one of claims 1 to 7, wherein the information of the functional service comprises at least one of:
application name, fully qualified class name, parameter type, and IP address.
9. A method performed by the service system of claim 1, comprising:
obtaining one or more application programs, each application program comprising one or more functional services, each of the one or more functional services each having a corresponding tag;
when any application program is started, registering each functional service based on a corresponding label of each functional service in the application program, and generating a functional service information list based on the information of the registered functional service;
and when any application program stops running, deleting the information of each functional service in the application program from the functional service information list.
10. The method of claim 9, further comprising:
accepting a client request from the outside, and determining a functional service required for responding to the client request;
inquiring information of the functional service required by responding to the client request from the functional service information list, and determining one or more functional services capable of responding to the client request according to the information; and
and calling the corresponding functional service in the application program according to the information of the one or more functional services so as to respond to the request of the client from the outside.
11. A processing apparatus, comprising:
one or more processors;
a memory to store one or more instructions that,
wherein the one or more instructions, when executed by the one or more processors, cause the one or more processors to implement the method of claim 9 or 10.
12. A computer readable storage medium storing executable instructions which, when executed by a processor, cause the processor to carry out the method of claim 9 or 10.
CN201911239926.5A 2019-12-05 2019-12-05 Service system, method executed by service system, processing apparatus, and storage medium Pending CN112929195A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911239926.5A CN112929195A (en) 2019-12-05 2019-12-05 Service system, method executed by service system, processing apparatus, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911239926.5A CN112929195A (en) 2019-12-05 2019-12-05 Service system, method executed by service system, processing apparatus, and storage medium

Publications (1)

Publication Number Publication Date
CN112929195A true CN112929195A (en) 2021-06-08

Family

ID=76161469

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911239926.5A Pending CN112929195A (en) 2019-12-05 2019-12-05 Service system, method executed by service system, processing apparatus, and storage medium

Country Status (1)

Country Link
CN (1) CN112929195A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117111904A (en) * 2023-04-26 2023-11-24 领悦数字信息技术有限公司 Method and system for automatically converting web applications into serverless functions

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1677277A (en) * 2004-01-27 2005-10-05 株式会社理光 Service providing method, service provider apparatus, information processing method and apparatus
US20100017853A1 (en) * 2008-07-17 2010-01-21 International Business Machines Corporation System and method for selecting a web service from a service registry based on audit and compliance qualities
US20180034924A1 (en) * 2016-07-28 2018-02-01 Polybit Inc. System and method for a unified interface to networked webservices
CN109144660A (en) * 2017-06-28 2019-01-04 英特尔公司 Micro services framework
CN109862051A (en) * 2017-11-30 2019-06-07 亿阳信通股份有限公司 The realization method and system of multi-tenant under a kind of micro services framework
CN110162413A (en) * 2018-02-12 2019-08-23 华为技术有限公司 Event-driven method and device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1677277A (en) * 2004-01-27 2005-10-05 株式会社理光 Service providing method, service provider apparatus, information processing method and apparatus
US20100017853A1 (en) * 2008-07-17 2010-01-21 International Business Machines Corporation System and method for selecting a web service from a service registry based on audit and compliance qualities
US20180034924A1 (en) * 2016-07-28 2018-02-01 Polybit Inc. System and method for a unified interface to networked webservices
CN109144660A (en) * 2017-06-28 2019-01-04 英特尔公司 Micro services framework
CN109862051A (en) * 2017-11-30 2019-06-07 亿阳信通股份有限公司 The realization method and system of multi-tenant under a kind of micro services framework
CN110162413A (en) * 2018-02-12 2019-08-23 华为技术有限公司 Event-driven method and device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘威;乔立红;杨建军;: "基于服务的制造数据管理", 计算机集成制造系统, no. 07, 15 July 2009 (2009-07-15) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117111904A (en) * 2023-04-26 2023-11-24 领悦数字信息技术有限公司 Method and system for automatically converting web applications into serverless functions
CN117111904B (en) * 2023-04-26 2024-05-28 领悦数字信息技术有限公司 Method and system for automatically converting Web applications into serverless functions

Similar Documents

Publication Publication Date Title
US11030016B2 (en) Computer server application execution scheduling latency reduction
US11582106B2 (en) Automatic discovery of cloud-based infrastructure and resources
EP3394750B1 (en) Code execution request routing
US11461125B2 (en) Methods and apparatus to publish internal commands as an application programming interface in a cloud infrastructure
US10169035B1 (en) Customized static source code analysis
US20190377604A1 (en) Scalable function as a service platform
US11552955B2 (en) Data security across data residency restriction boundaries
US20210314236A1 (en) Methods, systems and apparatus for custom interface specification in a cloud management system
US11853816B2 (en) Extending the Kubernetes API in-process
US11163669B1 (en) Measuring test coverage during phased deployments of software updates
US11263058B2 (en) Methods and apparatus for limiting data transferred over the network by interpreting part of the data as a metaproperty
KR102056960B1 (en) Updating software components through online stores
US10996997B2 (en) API-based service command invocation
US20130159376A1 (en) Systems and methods for a computing resource broker agent
US20120226737A1 (en) Method and system for reducing service overhead in service oriented architectures
US10353752B2 (en) Methods and apparatus for event-based extensibility of system logic
US10719347B2 (en) Control apparatus, container starting method, and program
US20210359914A1 (en) Methods, systems and apparatus for dynamically extending a cloud management system by adding endpoint adapter types
US11915034B2 (en) Sidecar-based integration capabilities for containerized applications
CN115086166A (en) Computing system, container network configuration method, and storage medium
CN115686500A (en) Exposing cloud APIs based on supported hardware
CN112929195A (en) Service system, method executed by service system, processing apparatus, and storage medium
WO2022199324A1 (en) Run-time communications protocol parameter adjustment in containerized applications
CN113596164A (en) Data access method, device, system, equipment and medium
US20190069121A1 (en) Direct update of mobile applications based on features used

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