Detailed Description
In order to make those skilled in the art better understand the technical solutions of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
It should be noted that the terms "first," "second," and the like in the description and claims of the present invention and in the drawings described above are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the invention described herein are capable of operation in sequences other than those illustrated or described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
The technical terms related to the present application are:
micro-service architecture: microservice architecture is a way to develop a single application as a suite of many small services, each with its own process and using lightweight mechanisms to enable communication.
The service framework comprises the following steps: the service framework refers to the reusable design and incomplete realization of a class of services in a certain field, and is different from a software framework in that the service framework simultaneously represents service-oriented, and one service framework can be divided into two main parts: service engine, incoming external services.
RPC: an abbreviated form of Remote Procedure Call (Remote Procedure Call). The principle of the RPC call of the SAP (Session Announcement Protocol) system is very simple, and there are some C/S systems similar to three-layer architecture, and a client program of a third party calls a standard or custom function inside the SAP through an interface, and obtains data returned by the function to display or print after processing.
Routing and address selection: the RPC calling method refers to a process that in RPC calling, a service consumer selects a service provider address list acquired from a registry according to a routing rule and selects the service provider address list suitable for current calling.
Router: and the routing election component screens the address list (denoted as a route in the embodiment of the application) of the target server from the incoming address list according to the routing rule.
Example 1
There is also provided, in accordance with an embodiment of the present invention, a method embodiment of a method for address cache creation, to note that the steps illustrated in the flowchart of the figure may be performed in a computer system such as a set of computer-executable instructions, and that although a logical order is illustrated in the flowchart, in some cases the steps illustrated or described may be performed in an order different than here.
The method provided by the first embodiment of the present application may be executed in a mobile terminal, a computer terminal, or a similar computing device. Taking the example of running on a computer terminal, fig. 1 is a hardware structure block diagram of a computer terminal of a method for creating an address cache according to an embodiment of the present invention. As shown in fig. 1, the computer terminal 10 may include one or more (only one shown) processors 102 (the processor 102 may include, but is not limited to, a processing device such as a microprocessor MCU or a programmable logic device FPGA), a memory 104 for storing data, and a transmission module 106 for communication functions. It will be understood by those skilled in the art that the structure shown in fig. 1 is only an illustration and is not intended to limit the structure of the electronic device. For example, the computer terminal 10 may also include more or fewer components than shown in FIG. 1, or have a different configuration than shown in FIG. 1.
The memory 104 may be used to store software programs and modules of application software, such as program instructions/modules corresponding to the address cache creation method in the embodiment of the present invention, and the processor 102 executes various functional applications and data processing by running the software programs and modules stored in the memory 104, that is, implementing the above-mentioned address cache creation method of the application program. The memory 104 may include high speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include memory located remotely from the processor 102, which may be connected to the computer terminal 10 via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The transmission module 106 is used to receive or transmit data via a network. Specific examples of the network described above may include a wireless network provided by a communication provider of the computer terminal 10. In one example, the transmission module 106 includes a Network adapter (NIC) that can be connected to other Network devices through a base station to communicate with the internet. In one example, the transmission module 106 may be a Radio Frequency (RF) module, which is used for communicating with the internet in a wireless manner.
Under the operating environment, the application provides a method for creating the address cache as shown in fig. 2. Fig. 2 is a flowchart of a method for creating an address cache according to a first embodiment of the present invention. The specific implementation steps of the address cache creation method provided by the embodiment of the application include:
step S202, detecting whether the configuration parameters in the registration center are changed;
in the above step S202 of the present application, in an implementation process of the address cache creation method provided in the embodiment of the present application, first, it is required to detect whether a configuration parameter in a registry is changed, where the configuration parameter in the embodiment of the present application includes a full address and/or a routing rule.
If detecting that the total number of addresses and/or routing rules in the registry are changed, executing step S204; and if detecting that the total number of addresses or the routing rule in the registry is not changed, keeping the current running state.
Step S204, when the configuration parameters in the registration center are changed, an address cache is created, and bitmap lists of at least two routes are generated according to the full addresses and the routing rules in the configuration parameters;
in the above step S204, the address cache is written as AddrCache; the full address records all routing addresses, wherein all routing addresses meet various routing rules, and the full address comprises full information and positions of all addresses in a full address pool on a composition structure; wherein, the full information at least comprises IP and port information;
labels of at least two routes are marked as tags, wherein each route comprises a route cache, the route cache comprises a plurality of labels, each label comprises a plurality of route addresses of the same route rule, the plurality of route addresses of the same route rule generate a BitMap BitMap according to the mapping relation, each route cache generates a BitMap list according to each label and is marked as BitMapList, namely, the BitMapList comprises each label and a route address set in each label; the routing addresses under the same label can also have the same or different traffic characteristics.
For example, the label of Router1 includes: tag1 and Tag2, where Tag1 may be used to indicate that there are 80 routing addresses satisfying routing rule 1, and Tag2 may be used to indicate that there are 70 routing addresses satisfying routing rule 2.
It should be noted that, the above example is only described as a preferred example of the address cache creation method provided in the embodiment of the present application, so as to implement the address cache creation method provided in the embodiment of the present application, and the method is not limited specifically.
Optionally, the creating an address cache in step S204 includes: and refreshing or rebuilding the address cache under the condition that the full amount of addresses and/or routing rules in the configuration parameters are changed.
Specifically, the method for creating the address cache in the embodiment of the present application includes refreshing or rebuilding, and the trigger condition is to trigger creation of the address cache AddrCache when detecting that a full address and/or a routing rule in the registry is changed.
Optionally, the method for creating an address cache provided in the embodiment of the present application further includes: the method comprises the steps of sending an asynchronous calculation instruction to at least two corresponding routes, wherein the asynchronous calculation instruction is used for indicating the at least two routes to carry out asynchronous address calculation; obtaining address calculation results obtained by at least two routes after asynchronous address calculation, wherein the address calculation results comprise: at least two routed labels.
Specifically, to generate the bitmap list of each route, calculation needs to be performed according to the full address and the routing rule, and the specific calculation steps are as follows:
step1, sending an asynchronous calculation instruction to at least two corresponding routes, wherein the asynchronous calculation instruction is used for indicating the at least two routes to carry out asynchronous address calculation;
and each route receives a concurrent asynchronous calculation instruction, and according to the asynchronous calculation instruction, each route can select a corresponding address from the full addresses according to the full addresses and the routing rules, and the corresponding addresses are induced and sorted.
And Step2, acquiring address calculation results obtained after asynchronous calculation of at least two routes.
Specifically, obtaining an address calculation result obtained by performing asynchronous address settlement on at least two routes according to a full address in configuration parameters and a routing rule comprises:
step A, classifying addresses in the full-scale addresses according to routing rules and/or flow characteristics to obtain at least two types of addresses;
specifically, based on an asynchronous address calculation instruction sent by Step1, each route classifies addresses in the full number of addresses according to a routing rule to obtain at least two types of addresses; for example, router1 classifies addresses in the full-scale address according to routing rules and/or traffic characteristics to obtain a first class of addresses and a second class of addresses, where each class of addresses includes multiple routing addresses
B, distributing at least two types of addresses to corresponding labels according to routing rules and/or flow characteristics;
based on the step a, the first type address is marked as Tag1 (i.e., the label in the embodiment of the present application), and the second type address is marked as Tag2; it should be noted that routing addresses under the same label may also have the same or different traffic characteristics.
Wherein, the first kind address in Tag1 and Tag1 can be recorded as bitmap in Tag 1; similarly, the addresses of the second type in Tag2 and Tag2 can be referred to as bitmap in Tag 2.
Step C, generating a route cache according to the at least two types of addresses and the labels corresponding to the at least two types of addresses;
and generating a route cache according to the first type addresses in the Tag1 and the second type addresses in the Tag2 and the Tag2, and recording the route cache as RouterCache.
And D, obtaining an address calculation result according to the route cache, the at least two types of addresses and the labels corresponding to the at least two types of addresses.
Finally, the calculation result is obtained by the RouteR cache containing Router1, the first type address in Tag1 and Tag1, and the second type address in Tag2 and Tag 2.
Further, optionally, the step S204 of generating a bitmap list of at least two routes according to the full addresses and the routing rules in the configuration parameters includes:
step S2041, obtaining address calculation results obtained by asynchronous address settlement of at least two routes according to the full addresses and the routing rules in the configuration parameters;
and D, obtaining an address calculation result of each route based on the step D, namely, various addresses in RouterCache, tag and Tag of each Router are contained.
Step S2042, obtaining labels of at least two routes according to the address calculation result, wherein each label comprises a plurality of routing addresses with the same routing rule and/or flow characteristic;
based on the address calculation result in step S2041, the tags of each Router are obtained, where each Tag includes an address set, and the routing addresses in the address set have the same routing rule and/or traffic characteristics, and it should be noted that, regarding the traffic characteristics, routing addresses with different traffic characteristics may also exist under the same Tag.
Step S2043, a corresponding bitmap list is generated according to the labels of the two routes, where the bitmap list includes the names of the routes, the labels of the routes, and the positions of the route addresses in the total addresses in each label.
That is, based on the obtained labels of the routes, a corresponding bitmap list can be obtained, wherein the bitmap list comprises the names of the routes, the labels of the routes, and the positions of the route addresses in all the labels; a specific bitmap list BitMapList may be as shown in table 1:
TABLE 1
In summary, as shown in fig. 3, fig. 3 is a schematic diagram of creating a route cache in an address cache creating method according to the first embodiment of the present invention, and in the embodiment of the present invention, only Router1 is taken as an example for description, when there are routers 2, routers 3, 8230, and routers n, a calculation result is the same as that of Step2, and a finally obtained BitMapList is a mapping list including a large number of routers, which is only based on implementation of the address cache creating method provided in the embodiment of the present invention, and is not particularly limited.
Step S206, storing the bitmap list into an address cache.
Optionally, the address cache includes: the system comprises a full address and route cache, wherein a bitmap list is stored in the route cache; the routing address in each label in the bitmap list is mapped to a full address; the route cache comprises a first key value and a first value, wherein the first key value is used for indicating a label of each route; the first value is used for indicating a bitmap of an address list of a corresponding server of a label of each route.
To sum up, the address cache includes a full address and a route cache of at least two routes, as shown in fig. 3, the address cache AddrCache includes a full address, a route cache Router cache of Router1 and a route cache Router cache of Router2, where the Router cache of Router1 includes Tag1 and Tag2, where Tag1 includes 80 route addresses meeting the routing rule 1, and Tag2 includes 70 route addresses meeting the routing rule 2; the RouterCache of Router2 comprises TagA, tagB and TagC, wherein the TagA comprises 40 routing addresses meeting routing rule 1, the TagB comprises 80 routing addresses meeting routing rule 2, and the TagC comprises 60 routing addresses meeting routing rule 3; all the routing addresses in each label are denoted as BitMap in the embodiment of the application, thereby indicating that there are several routing addresses satisfying the specific routing rule under each Tag, and the several routing addresses are mapped in the full-scale address.
Based on the foregoing, there is a mapping relationship in the route cache RouterCache, where a key value key (i.e., a first key value in this embodiment) indicates a Tag of each Router (i.e., a route in this embodiment), and a value (i.e., a first value in this embodiment) is used to indicate a bitMap of a server address list corresponding to each Tag, i.e., a position of a routing address in the Tag in a full address, so that subsequent routing address selection is invoked.
Further, optionally, the address cache further includes a second key value and a second value, where the second key value is used to indicate a route name of each route; the second value is used to indicate a route cache for each route.
Specifically, as shown in fig. 4, fig. 4 is a schematic diagram of creating an address cache in the address cache creating method according to the first embodiment of the present invention, and based on fig. 3, the address cache AddrCache includes a full address and a route cache Router cache, where a key value (i.e., a second key value in the embodiment of the present application) is a corresponding Router name, and a value (i.e., a second value in the embodiment of the present application) is an address calculation result cache Router cache of each Router; as shown in fig. 4, the cache address calculated by each tag is stored in the address pool and denoted as addrpool, which can be represented by a bitmap list BitMapList, and the RouterCache also includes address metadata denoted as addrMetadata.
In the embodiment of the invention, whether the configuration parameters in the registration center are changed is detected; when configuration parameters in a registry are changed, an address cache is created, and bitmap lists of at least two routes are generated according to full addresses and routing rules in the configuration parameters; the bitmap list is stored in the address cache, the purpose of reducing operation complexity is achieved, the technical effects of improving performance and reducing memory occupancy rate are achieved, and the technical problems that in an ultra-large scale cluster environment of a micro service field service framework, the service calling performance is low and resource consumption is excessive due to the fact that address routing and address selecting logic is carried out every time service is called in the traditional RPC are solved.
Example 2
According to another aspect of the embodiments of the present invention, a routing and addressing method is further provided, and fig. 5 is a flowchart of a routing and addressing method according to the second embodiment of the present invention. As shown in fig. 5, the specific implementation steps of the routing and addressing method provided in the embodiment of the present application include:
step S502, receiving an address selection request sent by each route;
in the above step S502 of the present application, based on the creation of the address cache in embodiment 1, when a routing address call occurs, an address selection request sent by each route is received.
Step S504, obtain the label of every route according to the request of choosing address;
in the above step S504, the label corresponding to each route is obtained based on the address selection request in step S502.
The specific process is as follows:
optionally, the step S504 of obtaining the label of each route according to the address selection request includes: analyzing the address selection request to obtain corresponding flow characteristics and a routing rule of each route; and matching the label corresponding to each route in the address cache according to the flow characteristics and the routing rule of each route.
Specifically, the address selection request is analyzed to obtain the traffic characteristics and the routing rule of each route, and the corresponding Tag is obtained based on the route cache of each route in the address cache in embodiment 1 according to the obtained traffic characteristics and the routing rule of each route.
As shown in fig. 3 in embodiment 1, taking an address selection request of one route as an example for description, when an address selection request of Router1 is obtained, a corresponding traffic characteristic and a routing rule are obtained according to the address selection request, and a corresponding Tag is fetched from a Router cache of Router 1.
Step S506, extracting a corresponding bitmap list from the address cache according to the label;
in the above step S506 of the present application, based on the obtained Tag, an address list screening result BitMapList corresponding to the Tag cache is taken out from the RouterCache.
Optionally, the step S506 of extracting the corresponding bitmap list from the address cache according to the tag includes: and extracting a bitmap list of the corresponding label according to the route cache of the corresponding label in the label from the address cache.
Specifically, based on the address cache AddrCache created in embodiment 1, the bitmap list BitMapList corresponding to the Tag is extracted from the route cache RouterCache in the AddrCache.
Step S508, a corresponding routing address is obtained according to the bitmap list.
Specifically, the step S508 of obtaining the corresponding routing address according to the bitmap list includes: acquiring a routing address set corresponding to a label in a bitmap list corresponding to a first route, and taking the routing address set as the first routing address set; acquiring a routing address set corresponding to the label in a bitmap list corresponding to the second route, and taking the routing address set as the second routing address set; the intersection of the first routing address set and the second routing address set is taken to obtain a target routing address; wherein the routing rules and/or traffic characteristics of the first set of routing addresses and the second set of routing addresses are the same.
Fig. 6a is a schematic diagram of an address selection process in a routing and address selecting method according to a second embodiment of the present invention, as shown in fig. 6a, to obtain a target routing address, router1 (i.e., a first route in this embodiment of the present invention) obtains Tag1 that satisfies traffic characteristics and routing rules from RouterCache, based on that a BitMap (i.e., a first routing address set in this embodiment of the present invention) corresponding to Tag1 is used as an input, rout2 (i.e., a second route in this embodiment of the present invention) obtains TagA that satisfies traffic characteristics and routing rules from RouterCache, and based on that the BitMap (i.e., a second routing address set in this embodiment of the present invention) corresponding to Tag1 is used as an "and operation" to obtain the same address, when there are multiple routes, the computation is continued according to the above, that the ttmap corresponding to Tag obtained by each Router is used as an input of a next Router, and finally obtains a group of routing addresses.
Based on the routing and addressing method provided by the embodiment of the application, in the calling process, the address list screening result BitMapList corresponding to the Tag cache is taken out from the RouterCache of the AddrCache according to the flow Tag, and then is aggregated and operated with the result transmitted by the previous Router, because the aggregation and operation complexity of the BitMapList is O (1).
Since the address cache is stored in the form of the BitMapList during the storage process, the memory occupancy interface of the BitMapList and the BitMapList after the configuration parameters in the registry are changed each time can be displayed through the sector graph during the effect display of the user, as shown in fig. 6b, where fig. 6b is a schematic diagram of the effect display in the routing method according to the second embodiment of the present invention. In the embodiment of the invention, the address selection request sent by each route is received; obtaining labels of all routes according to the address selection request; extracting a corresponding bitmap list from the address cache according to the label; the corresponding routing address is obtained according to the bitmap list, the purpose of reducing operation complexity is achieved, the technical effects of improving performance and reducing memory occupancy rate are achieved, and the technical problems that in an ultra-large scale cluster environment of a micro service field service framework, the service calling performance is low and resource consumption is excessive due to the fact that address routing and address selecting logic is carried out on traditional RPC every time service calling is carried out are solved.
It should be noted that, for simplicity of description, the above-mentioned method embodiments are described as a series of acts or combination of acts, but those skilled in the art will recognize that the present invention is not limited by the order of acts, as some steps may occur in other orders or concurrently in accordance with the invention. Further, those skilled in the art should also appreciate that the embodiments described in the specification are preferred embodiments and that the acts and modules referred to are not necessarily required by the invention.
Through the description of the foregoing embodiments, it is clear to those skilled in the art that the routing address method according to the foregoing embodiments may be implemented by software plus a necessary general hardware platform, and certainly may also be implemented by hardware, but the former is a better implementation in many cases. Based on such understanding, the technical solutions of the present invention may be embodied in the form of a software product, which is stored in a storage medium (e.g., ROM/RAM, magnetic disk, optical disk) and includes instructions for enabling a terminal device (e.g., a mobile phone, a computer, a server, or a network device) to execute the method according to the embodiments of the present invention.
Example 3
According to an embodiment of the present invention, there is further provided an apparatus for implementing the method for creating an address cache, as shown in fig. 7, where fig. 7 is a schematic diagram of an apparatus for creating an address cache according to a third embodiment of the present invention, and the apparatus for creating an address cache provided in the embodiment of the present invention includes: a detection module 72, configured to detect whether a configuration parameter in the registry is changed; a creating module 74, configured to create an address cache when a configuration parameter in the registry is changed, and generate a bitmap list of at least two routes according to a full address and a routing rule in the configuration parameter; and a storage module 76 for storing the bitmap list in the address cache.
It should be noted here that the detection module 72, the creation module 74 and the storage module 76 correspond to steps S202 to S206 in the second embodiment, and the three modules are the same as the corresponding steps in the implementation example and application scenarios, but are not limited to the disclosure in the first embodiment. It should be noted that the above modules as a part of the apparatus may operate in the method for creating an address cache provided in the first embodiment, and may be implemented by software or hardware.
Example 4
According to an embodiment of the present invention, there is further provided a device for implementing the above routing and addressing method, as shown in fig. 8, fig. 8 is a schematic diagram of a routing and addressing device according to a fourth embodiment of the present invention, where the routing and addressing device provided in the embodiment of the present invention includes: a receiving module 82, configured to receive an address selection request sent by each route; an obtaining module 84, configured to obtain a label of each route according to the address selection request; an extracting module 86, configured to extract the corresponding bitmap list from the address cache according to the tag; and the addressing module 88 is used for obtaining a corresponding routing address according to the bitmap list.
It should be noted here that the receiving module 82, the obtaining module 84, the extracting module 86, and the addressing module 88 correspond to steps S502 to S508 in the second embodiment, and the four modules are the same as the corresponding steps in the implementation example and the application scenario, but are not limited to the disclosure in the second embodiment. It should be noted that the above modules as a part of the apparatus may be run in the routing and address selecting method provided in the second embodiment, and may be implemented by software or hardware.
Example 5
According to another aspect of the embodiments of the present invention, there is also provided a nonvolatile storage medium, where the nonvolatile storage medium includes a stored program, and where a device in which the nonvolatile storage medium is located is controlled to execute the method in the above embodiment 1 or 2 when the program runs.
Example 6
According to another aspect of the embodiments of the present invention, there is also provided a processor, where the processor is configured to execute a program, where the program executes to perform the method in embodiment 1 or 2.
Example 7
The embodiment of the invention also provides a storage medium. Optionally, in this embodiment, the storage medium may be configured to store a program code executed by the address cache creating method provided in the first embodiment.
Optionally, in this embodiment, the storage medium may be located in any one of computer terminals in a computer terminal group in a computer network, or in any one of mobile terminals in a mobile terminal group.
Optionally, in this embodiment, the storage medium is configured to store program code for performing the following steps: detecting whether configuration parameters in a registration center are changed; when configuration parameters in a registry are changed, creating an address cache, and generating a bitmap list of at least two routes according to a full address and a routing rule in the configuration parameters; and storing the bitmap list into an address cache.
Optionally, in this embodiment, the storage medium is configured to store program code for performing the following steps: creating the address cache includes: and refreshing or rebuilding the address cache under the condition that the full amount of addresses and/or routing rules in the configuration parameters are changed.
Optionally, in this embodiment, the storage medium is configured to store program code for performing the following steps: the method comprises the steps of concurrently carrying out asynchronous calculation instructions on at least two corresponding routes, wherein the asynchronous calculation instructions are used for indicating the at least two routes to carry out asynchronous address calculation; and acquiring address calculation results obtained by calculating asynchronous addresses of at least two routes.
Further, optionally, in the present embodiment, the storage medium is configured to store program code for performing the following steps: generating a bitmap list of at least two routes according to the full address in the configuration parameters and the routing rules comprises: acquiring address calculation results obtained by performing asynchronous address settlement on at least two routes according to the full addresses and the routing rules in the configuration parameters; obtaining labels of at least two routes according to the address calculation result, wherein each label comprises a plurality of routing addresses with the same routing rule and/or flow characteristic; and generating a corresponding bitmap list according to the labels of the two routes, wherein the bitmap list comprises the names of the routes, the labels of the routes and the positions of the route addresses in the labels in the full amount of addresses.
Optionally, in this embodiment, the storage medium is configured to store program code for performing the following steps: the address calculation result obtained by asynchronous address settlement of at least two routes according to the full address and the routing rule in the configuration parameters comprises the following steps: classifying the addresses in the full-scale addresses according to routing rules and/or flow characteristics to obtain at least two types of addresses; allocating at least two types of addresses to corresponding labels according to routing rules and/or flow characteristics; generating a route cache according to the at least two types of addresses and the labels corresponding to the at least two types of addresses; and obtaining an address calculation result according to the route cache, the at least two types of addresses and the labels corresponding to the at least two types of addresses.
Optionally, in this embodiment, the storage medium is configured to store program code for performing the following steps: the address cache includes: the system comprises a full address and route cache, wherein a bitmap list is stored in the route cache; the routing address in each label in the bitmap list is mapped to a full address; the route cache comprises a first key value and a first value, wherein the first key value is used for indicating a label of each route; the first value is used for indicating a bitmap of an address list of a corresponding server of a label of each route.
Further, optionally, in the present embodiment, the storage medium is configured to store program code for performing the following steps: the address cache further comprises a second key value and a second value, wherein the second key value is used for indicating the route name of each route; the second value is used to indicate a route cache for each route.
The above-mentioned serial numbers of the embodiments of the present invention are merely for description and do not represent the merits of the embodiments.
In the above embodiments of the present invention, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
In the embodiments provided in the present application, it should be understood that the disclosed technology can be implemented in other ways. The above-described embodiments of the apparatus are merely illustrative, and for example, the division of the units is only one type of division of logical functions, and there may be other divisions when actually implemented, for example, a plurality of units or components may be combined or may be integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, units or modules, and may be in an electrical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic or optical disk, and other various media capable of storing program codes.
The foregoing is only a preferred embodiment of the present invention, and it should be noted that, for those skilled in the art, various modifications and decorations can be made without departing from the principle of the present invention, and these modifications and decorations should also be regarded as the protection scope of the present invention.