Disclosure of Invention
This summary is intended to provide a simplified summary of the disclosure so that the reader is a basic understanding of the disclosure. This summary is not an extensive overview of the disclosure and is intended to neither identify key/critical elements of the embodiments of the invention nor delineate the scope of the invention.
According to one embodiment of the present disclosure, a load control method is disclosed. The load control method comprises the following steps: issuing a service request via a client program; reading the service domain catalogue to analyze the resource mark; searching in the service container according to the resource mark to judge whether the corresponding service exists or not; and searching the corresponding service in the service partition container when the corresponding service is not searched, so as to read the service partition of the corresponding service and connect to the corresponding server of the service partition, and disperse the service request of the client program and the caused server load.
In one embodiment, the load control method further comprises: selecting one of a plurality of accounting data; and analyzing the content of the account data to establish a service request program, wherein the service request program comprises a service partition and resource connection information.
In one embodiment, the load control method further comprises: reading a function package of a service domain catalog, wherein the function package comprises at least one function point; reading the at least one function point of the function package, wherein each function point comprises a unique identification; and resolving the at least one functional point to write the unique identification to a resource identifier of a service container and to write the service partition identifier to an execution service partition of a service container.
In one embodiment, the load control method further comprises: reading a transfer parameter of an execution program; and searching in the service container according to the transfer parameter to judge whether the service container has a related data which accords with the transfer parameter.
In one embodiment, the step of determining whether the execution service partition conforming to the delivery parameter exists in the service container further comprises: and when the execution service partition conforming to the transmission parameter exists in the service container, distributing a service request to a service partition service container, wherein the service partition service container contains the data of the at least one function point.
In one embodiment, the step of assigning the service request to the business partition service container further comprises: and according to the resource connection information of the service partition service container, connecting the service request with the corresponding resource of the resource connection information.
In one embodiment, the step of determining whether the execution service partition conforming to the delivery parameter exists in the service container further comprises: when the execution service partition conforming to the transfer parameter does not exist in the service container, a general service container is executed to search and return a service resource, wherein the general service container contains the data of the at least one function point.
In one embodiment, the load control method further comprises establishing a resource access link according to a plurality of the service containers.
In an embodiment, the delivery parameter includes a service domain and a service type, wherein the step of searching in the service container according to the delivery parameter to determine whether the service container has the relevant data corresponding to the delivery parameter further includes: searching in the service container according to the service field to judge whether the service container has a resource mark conforming to the service field.
In one embodiment, the step of searching in the service container according to the transfer parameter to determine whether the service container has the relevant data corresponding to the transfer parameter further comprises: and when the resource mark conforming to the service field exists in the service container, reading the execution service partition corresponding to the resource mark so as to be connected to a server corresponding to the execution service partition.
Detailed Description
The following disclosure provides many different embodiments, or examples, for implementing different features of the invention. Specific examples of elements and arrangements are described below to simplify the present disclosure. Of course, these examples are merely illustrative and are not intended to be limiting. For example, forming a first feature over or on a second feature in the description below may include embodiments in which the first and second features are formed in direct contact, and may also include embodiments in which additional features may be formed between the first and second features such that the first and features may not be in direct contact. In addition, the present invention may repeat reference numerals and/or letters in the various examples. This repetition is for the purpose of simplicity and clarity and does not in itself dictate a relationship between the various embodiments and/or configurations discussed.
Further, spatially relative terms, such as "under," "below," "lower," "above," "higher," and the like, may be used herein for ease of description to describe one element or feature's relationship to another element (or elements) or feature (or features) illustrated in the figures. Spatially relative terms are intended to encompass different orientations of the device in use or operation in addition to the orientation depicted in the figures. The apparatus may be otherwise oriented (rotated 90 degrees or at other orientations) and the spatially relative descriptors used herein interpreted accordingly.
Referring to fig. 1, a schematic diagram of a service procedure of account data according to some embodiments of the present disclosure is shown. Multiple accounting data may exist at the same time on a destination server (not shown), and fig. 1 illustrates the contents of one of the accounting data 100. As shown in fig. 1, accounting data 100 includes a traffic partition 110 including connection information 111 and a traffic partition identification 113. The connection information 111 may be a universal resource identifier (Uri, uniform resource identifier) recorded on the service partition and related information on the connection operation. The service partition identifier 113 may be used to identify a service resource class, such as, for example, if a service provider, an intelligent business event process (SBEP), report Server (Report Server). In some embodiments, the target server is configured with an accounting data management tool and/or text editor through which an administrator may directly modify corresponding accounting data, such as adding a business partition (Business Partition) to the accounting data of the target server to be load balanced or business level split. It should be noted that the term "account data" in the present disclosure may be used interchangeably with "account cover" to refer to data related to accounting or finance.
In one embodiment, the service partition identifier 113 includes an identifier and a communication mode. The traffic partition identification is configured to identify different traffic resource classifications, such as SBEP, report Server, etc. The communication means records information such as internet address (IP address), port, security identifier, service portal, etc. that the client program (e.g., service consumer or user) can use to connect to the server.
For client programs, the manager may define the client program under a domain of business directory (e.g., monitor_event) through a design tool or an editing tool. It should be noted that the service domain directory may be a directory of folders in a computer operating system, or a hierarchical directory of virtual folders. In one embodiment, the target server provides the client program to connect through an interface (e.g., a service partition function point Business Partition Function Point)) such that the client program uses the associated service. The service partition function point (or simply function point) contains a unique identification, a service partition identification of the server program, and a name of the server program (e.g., a name of an Application Program Interface (API)). It should be noted that one or more Function points are included in a Function Package (Function Package), and each Function point defines at least one Function or service. Thus, the unique identification of each of the aforementioned function points is not repeatable in the same function package.
In one embodiment, after the target server is started, the service partition 110 of each accounting data 100 shown in fig. 1 is loaded to read the configuration of each accounting data 100, such as Internet Protocol (IP) address, port, security label, service portal, etc. And the target server stores the read data in an account data model to finish the initialization program of the target server.
In one embodiment, one or more client devices are communicatively coupled to a target server. After the client device is started, the login procedure is executed. During the login process, one of the accounting data 100 in the accounting data model is selected on the target server.
The client device then parses the accounting data 100 to establish a service request procedure. For example, the client program reads the service partition 110 in the accounting data 100 and establishes the resource connection information corresponding to the service partition 110 as shown in the following table one. And the client program reads the corresponding resource connection information according to the service partition so as to use the service request program indicated by the resource connection information.
Table one: service request program
Referring to FIG. 2, a schematic diagram of a client program loading business segment directory 210 and a service container 220 according to some embodiments of the present disclosure is shown. As shown in fig. 2, when the client program reads the service domain directory 210, it reads at least one function packet (not shown) of the service domain directory 210, and reads one or more function points 211 of the function packet. The function point contains a unique identifier and a service partition identifier. An interpreter (not shown) of the client program parses the contents of each function point 211. After analyzing the content of the function point, the relevant information of the function point 211 is written into the service container 220.
Service container 220 contains Resource Key 221 and execution service partition 223 (Business Partition). The interpreter reads the function point 211 and parses the contents of the function point 211. For example, when the unique identification of the function point 211 is "IPublishService", the interpreter writes "IPublishService" to the resource identifier 221. In one embodiment, "IPublishService" represents the function point 211 that is used to provide the functionality of the post update service interface. When the service partition of functional point 211 is identified as "SBEP," then the interpreter writes "SBEP" to the executive service partition 223.
In one embodiment, when the resource identifier 221 in the service container records data about the service partition's function point, the service container belongs to the service partition service container. In other embodiments, a service container belongs to a generic service container when the resource identifier 221 in the service container does not record data about the functional point of the service partition. Wherein, the business partition service container and the general service container both contain data of at least one function point.
Referring to fig. 3, a schematic diagram of establishing a resource access link 300 in some embodiments of the present disclosure is shown. After the service container 220 of fig. 2 is established, multiple service containers may be constructed as resource access links. As shown in FIG. 3, client program 390 executes a program that invokes a service to retrieve a service resource. For example, the client program 390 executes a unified executive GetService ("monitor_event", typeof (IPublishService)), wherein the first delivery parameter of the executive GetService () is the traffic domain and the second delivery parameter is the service type.
In one embodiment, the service container may or may not have an execution traffic partition that meets the delivery parameters. As shown in fig. 3, the client program 390 first acquires transfer parameters of the execution program and performs dictionary search comparison in the general service container 310 according to the transfer parameters. If delivery parameters corresponding to the business segment are retrieved, client program 390 assigns the corresponding service request to the specified service container, i.e., business partition service container 320 of FIG. 3. Then, the operation resource or service request is indicated to the corresponding resource connection by the service partition and resource connection information (as in the first embodiment) of the service partition service container 320. In one embodiment, the business partition service container 320 allocates computing resources to either the generic service container 330 or the generic service container 340. In another embodiment, if the delivery parameters corresponding to the service domain are not retrieved in the generic service container 310, a generic service container search is performed and service data is returned according to the search result.
Referring to FIG. 4, a schematic diagram of establishing a resource access link 400 in other embodiments of the present disclosure is shown. The difference between the resource access link 400 of fig. 4 and the resource access link 300 of fig. 3 is that the resource access link 400 of fig. 4 includes more than one traffic partition service container (e.g., traffic partition service container 420 and traffic partition service container 450). Because of dependencies and/or call order among the service containers, the service request program of the client program may be distributed among one or more service containers. For example, a publication service (e.g., "IPublishService") is transferred to the generic service container 440, and a log service (ILogService) is invoked after the publication service is completed, which is in the generic service container 460.
Fig. 5 is a flow chart illustrating a load control method according to some embodiments of the disclosure. The following description refers to fig. 2, 3 and 5. In step S510, the client device requests a service, for example, issues a service request of "IPublishService". In step S520, the client program reads the service domain directory 210, and constructs the service container 220 to parse the resource identifier. In step S530, the client program searches the generic service container 310 according to the resource identifier to find whether there is a corresponding service.
If the service has no service partition identifier, step S540 is performed to find the corresponding service in the generic service container 310, and the client program performs the generic service container search in a software system (e.g., enterprise resource planning system (ERP)) and returns the service resource.
If the service has the service partition identifier, step S550 is executed to find the server to be connected to according to the service partition and the resource connection information in the table one. Next, step S560 is executed, where the client service connects to the server corresponding to the service partition and the resource connection information, and returns the service resource. For example, when the traffic partition is SBEP, the client program connects to SBEP server.
In summary, the load control method disclosed in the present disclosure provides a simple configuration means, and does not require purchasing expensive hardware devices (e.g. F5 devices) to balance the load in the distribution network. In addition, the present load control method does not require modification of existing function codes, and is easy for a developer to learn. The techniques of the function packages and the function points can be implemented as long as the developer understands them. In addition, the load control method provides arbitrary granularity (granularity) design, supports service level splitting, and can provide high-ductility load balancing operation.
The foregoing outlines features of several embodiments so that those skilled in the art may better understand the aspects of the present disclosure. It should be appreciated by those skilled in the art that the present invention may be readily utilized as a basis for designing or modifying other processes and structures for carrying out the same purposes and/or achieving the same advantages of the embodiments presented herein. It should also be realized by those skilled in the art that such equivalent constructions do not depart from the spirit and scope of the invention, and that they may make various changes, substitutions and alterations herein without departing from the spirit and scope of the invention.