Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the technical solutions of the present application will be described in detail and completely with reference to the following specific embodiments of the present application and the accompanying drawings. It should be apparent that the described embodiments are only some of the embodiments of the present application, 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 application.
The technical solutions provided by the embodiments of the present application are described in detail below with reference to the accompanying drawings.
Fig. 1 is a process of determining a link according to an embodiment of the present application, which specifically includes the following steps:
s101: and sending a detection instruction to each server.
In this embodiment of the present application, when the online service maintainer needs to detect a link in which a certain data actually flows, the online service maintainer may send a detection instruction to each server through the detection server, so that each subsequent server may return respective result information to the detection server according to the detection instruction after receiving the detection instruction.
Specifically, in practical applications, data generally needs to be processed by a plurality of servers, and finally the server that processes the data finally outputs the processed result, where the data sequentially passes through the paths formed by the servers in sequence to become links through which the data actually flows, and the servers become nodes on the links. Because each server will leave a record such as log information after processing the data, the record left after each server processes the data can determine the link of the data actually flowing, therefore, in the embodiment of the present application, when the maintenance personnel of the online service determines the link of a certain data actual flow, a certain operation instruction can be executed on the detection server, the detection server can generate a detection instruction corresponding to the operation instruction after receiving the operation instruction input by the online service maintenance personnel, and the detection instruction is respectively sent to each server, so that after each server receives the detection instruction, the result information may be returned to the detection server according to the detection instruction, and of course, the detection server may also automatically send each detection instruction to each server at regular time or after a certain time interval. Because each result information returned to the detection server by each server contains the record of the data processed by each server, the subsequent detection server can determine the link of the actual data flow according to the result information.
S102: and receiving each result information returned by each server, and determining a link according to each result information.
After receiving each result information returned by each server, the detection server can sort each server identifier contained in each result information according to the link identifier contained in the result information, and further determine the link of the actual data flow.
Specifically, in a normal case, after processing the data, each server records a processing procedure of the data, which may be embodied in records such as a data structure table, log information, and the like, and during the processing procedure of the data, the server also allocates a link identifier such as a Remote procedure call Protocol (RPC) ID to the data, and after processing the data, sends the processed data and the link identifier to a next server according to a preset link, and while processing the data, the next server may modify the received link identifier sent by the previous server correspondingly, and further send the modified link identifier and the processed data to the next server in a subsequent procedure, so that the link identifier that can indicate that the data actually flows through the link is stored in each server correspondingly, therefore, in this embodiment of the application, the detection server may send each detection instruction for acquiring the link identifier corresponding to the data to each server, and each server may include the link identifier corresponding to the data stored in the detection server in the result information and return the result information to the detection server after receiving the detection instruction, and accordingly, after receiving each result information returned by each server, the detection server may determine the sorting order indicated by each link identifier according to each link identifier included in each result information, and sort each server identifier corresponding to each link identifier included in each result information according to the determined sorting order, thereby obtaining the link in which the data is actually circulated.
For example, it is assumed that the detection server sends a detection instruction to the server A, B, C, D (i.e., the node A, B, C, D), and after receiving the detection instruction, the four servers (nodes) can determine the link identifier corresponding to the data to be detected according to the data to be detected contained in the detection instruction, and each store the link identifier corresponding to the data to be detected contained in the returned result information and return the link identifier to the detection server, where the link identifiers corresponding to the data in the four servers are shown in table 2.
TABLE 2
After receiving the result information returned by the four servers respectively, the detection server can determine that the ordering results of the four link identifiers are x1.1, x1.2, x1.3 and x1.4 according to the link identifiers contained in the result information, and then the detection server can order the four server identifiers corresponding to the four link identifiers contained in the result information according to the ordering results of the four link identifiers, and the obtained ordering results are fA, fD, fB and fC, thereby determining that the actual data flow link sequentially passes through server a (node a), server D (node D), server B (node B) and server C (node C).
It should be noted that, the data mentioned in the embodiment of the present application does not refer to only one data, but may also be a type of data, and the type of data may be of the same service, and for a type of data of the same service, when each server allocates a link identifier to the type of data, the server may allocate the same link identifier to the type of data, so that a link determined by the detection server according to the link identifier included in each result information returned by each server may also be for a type of data.
S103: and judging whether the server identifications contained in the link are all prestored server identifications according to the prestored corresponding server identifications of the specified type link, if so, executing the step S104, and if not, executing the step S105.
S104: determining that the link is the specified type of link.
S105: determining that the link is not the specified type of link.
According to the embodiment of the application, the detection server is intended to automatically determine the link type of the link in which the data to be detected is actually circulated, so that after the detection server determines the link in which the data is actually circulated according to the result information returned by each server, whether each server identifier contained in the link is the server identifier corresponding to the preset and stored specified link can be determined according to each server identifier corresponding to the preset and stored specified link, and then the link type of the link is determined.
In order to enable the detection server to determine the link type of the actual data flow link to be detected, in the embodiment of the application, the detection server may collect the server identifier corresponding to each specified type of link in advance, and then complete the determination of the subsequent link type through the collected server identifier corresponding to the specified type of link. Specifically, before sending each detection instruction to each server, the detection server may send an extraction instruction including a designated field corresponding to a link of a designated type to each server, where, in general, different services generally relate to some characteristic data of its own, and accordingly, when the data passes through each link, each server (each node) on the link processes the data and records the processing process of the data in the form of a data structure table, a log, and the like, and the characteristic data can be embodied on the designated field in a record reserved by each server, and accordingly, the designated field can also embody the service corresponding to the characteristic data, for example, for a ticket purchase service, a service log of the ticket purchase service often includes a field such as "ticket", this field is referred to as the designated field for the ticket purchase service. Therefore, in order to determine the link type of the link in the subsequent process, the detection server may first send an extraction instruction including a specified field to each server, and each server, after receiving the extraction instruction including the specified field, may search the specified field from the data operation log stored in the server itself according to the specified field included in the extraction instruction, wherein, if the server does not find the specified field from the data operation log stored in the server itself, the server may not return the server identifier of the server itself to the detection server, which is equivalent to that the server determines that the server itself is not one of the links through which the feature data corresponding to the specified field passes, and further does not return the server identifier of the server itself to the detection server, so as to indicate that the server is not a server (node) on the specified type link to the detection server, and when the server finds that the data operation log stored by the server contains the specified field according to the specified field in the extraction instruction, returning a server identifier corresponding to the server to the detection server, namely, after the server determines that the data operation log stored by the server contains the specified field, the server can further identify that the server belongs to a server (node) on a link through which the characteristic data corresponding to the specified field passes, and further return the server identifier of the server to the detection server so as to indicate that the server is the server (node) on the specified type link to the detection server.
And after the detection server receives the server identifications returned by the servers according to the extraction instruction, the received server identifications can be determined as the server identifications corresponding to the specified type of link, and the server identifications and the specified type of link are correspondingly stored.
For example, if the inspection server needs to determine the link corresponding to the data of the screenshot service (i.e. the above-mentioned link of the designated type), it may respectively send each extraction instruction to 5 servers of the server E, F, G, H, I, where the extraction instruction includes a screen specific field capable of representing the screenshot service data, and each server, after receiving the extraction instruction, may correspondingly query the specific field from the respective stored data operation log, where after querying, the server F, H does not query the specific field screen in the respective stored data operation log, the server F, H may determine that each server (node) is not on the link through which the screenshot service data corresponding to the specific field passes, and further does not return the respective server identifier to the inspection server, and the server E, G, After the query, the designated field scorenshot is queried in the respective stored data operation logs, and the server E, G, I may identify the servers (nodes) on the link through which the screenshot service data corresponding to the designated field scorenshot passes, and then return the respective server identifiers to the detection server. After receiving the server identifiers respectively returned by the servers E, G, I, the detection server may further determine that the server E, G, I is a server (node) on the link through which the screenshot service data passes, and further determine and store the server identifiers of the 3 servers as the server identifiers corresponding to the screenshot service data link.
And after the detection server subsequently determines the link in which the data to be detected actually flows according to the result information returned by each server according to the detection instruction, judging whether each server identifier contained in the link is a server identifier corresponding to a preset and saved appointed type link according to each server identifier corresponding to the preset and saved appointed type link, if so, determining that the link is the appointed type link by the detection server, and if not, determining that the link is not the appointed type link.
According to the method, the detection server can judge the server identification corresponding to each server related in the link according to each server identification corresponding to the pre-stored specified type link, and further determine whether the link is the specified type link, so that when a maintenance worker of the online service detects the link in which the data to be detected actually flows, the detection server can replace the maintenance worker of the online service to automatically determine the link type of the link in which the data to be detected actually flows, great convenience is brought to the maintenance worker of the online service in the process of determining the link type, and the efficiency of the maintenance worker of the online service in analyzing the link is further improved.
It should be noted that, in practical applications, since each server through which data of different services pass in a circulation process may be different, after the detection server sends the detection instruction to each server, a plurality of links may be determined according to each result information returned by each server, so that if the detection server collects server identifiers corresponding to various types of links in advance, the detection server may determine the determined link types of each link respectively for a maintenance person of the online service to check.
For example, it is assumed that the detection server sends detection instructions to 7 servers, namely, servers a, b, c, d, e, f, and g, after receiving the detection instructions sent by the detection server, the 7 servers can respectively return result information including respective server identifiers and link identifiers to the detection server, and after receiving the result information, the detection server can classify and sort the link identifiers according to the link identifiers included in the result information, where the server identifiers and the link identifiers returned by the 7 servers are shown in table 3.
Server (node)
|
Server identification (node identification)
|
Link identification
|
Server a
|
F:fa
|
L:ax1.2
|
Server b
|
F:fb
|
L:bx2.3
|
Server c
|
F:fc
|
L:ax1.1、L:cx3.2
|
Server d
|
F:fd
|
L:bx2.1
|
Server e
|
F:fe
|
L:cx3.1、L:bx2.2
|
Server f
|
F:ff
|
L:cx3.3
|
Server g
|
F:fg
|
L:ax1.3 |
TABLE 3
As can be seen from table 3, the link identifiers returned by the 7 servers should belong to link identifiers of three different links, and therefore, the detection server may classify the link identifiers according to "ax", "bx", "cx" included in the link identifiers, that is, "ax 1.2", "ax 1.1", "ax 1.3" should belong to the same link, "bx 2.3", "bx 2.1", "bx 2.2" should belong to the same link, and "cx 3.2", "cx 3.1", "cx 3.3" should belong to the same link, and further the detection server may sort the link identifiers belonging to the different links respectively according to the order of "1.1", "1.2", and "1.3", to obtain the results of "ax 1.1, ax1.2, ax 1.3", "bx 1.1.1, bx1.2, bx 1.3", and "cx 1.1.1, cx1.2, and cx 1.3", respectively, and the detection server may sort the results according to the order of the three corresponding detection identifiers, then three links of fc, fa, fg, fd, fe, fb and fe, fc, ff are obtained, wherein the server c and the server e return result information containing two link identifications to the detection server respectively, which indicates that the server c and the server e respectively process data of different services,
and the corresponding link identification of each data in the local server is stored.
After determining the three links, the detection server may determine the link types of the three links according to the server identifiers corresponding to the pre-stored links of each designated type, where the server identifiers corresponding to the pre-stored links of each designated type are shown in table 4.
TABLE 4
As can be seen from table 4, the detection server collects server identifiers corresponding to various link types in advance, and therefore, the detection server can respectively determine that "fc, fa, fg" is a capital link, "fd, fe, fb" is a screenshot service link, "fe, fc, ff" is a stock analysis service link according to the server identifiers corresponding to various types of links recorded in table 4, and further present the determined link types of the links to maintenance personnel of the online service for viewing.
In this embodiment of the application, after the detection server sends the detection instruction to each server, each server needs to determine data to be detected by the detection server according to content included in the detection instruction, and further includes a link identifier corresponding to the data in result information and returns the result information to the detection server, and in practical applications, a maintenance worker of an online service usually detects a link in which data actually flows within a period of time, and therefore, the server needs to determine a period of time for the data to be detected by the detection server from the detection instruction, and then returns the link identifier corresponding to the data within the period of time to the detection server, where a specific process is shown in fig. 2.
Fig. 2 is a process of determining a link according to an embodiment of the present application, which specifically includes the following steps:
s201: and receiving a detection instruction sent by the detection server.
In this embodiment of the present application, a maintainer of an online service generally needs to detect a link in which data actually flows within a period of time to ensure normal operation of the online service, and therefore, when the maintainer of the online service needs to determine the link in which data to be detected actually flows, the maintainer can respectively send a detection instruction to each server through a detection server, so that each server can respectively return respective result information to the detection server according to content included in the detection instruction after receiving the detection instruction, where the detection instruction sent by the detection server to each server may include data to be detected by the maintainer of the online service and a time range corresponding to the link in which the data actually flows within a period of time in the past.
S202: and returning result information to the detection server according to the detection instruction, so that the detection server determines a link according to the result information, and determines whether the link is the link of the specified type according to each server identifier corresponding to the link of the specified type which is stored in advance.
After receiving the detection instruction sent by the detection server, the server can determine the data to be detected by the detection server and the detection time (i.e. the time range mentioned above) corresponding to the data according to the content included in the detection instruction, and since the server usually records the processing procedure in the data processing procedure to obtain records such as a data structure table, log information and the like, the server can further search a data operation log (i.e. a data operation record) stored in itself for the data operation log matching with the data and the time range, and after the search, include the link identifier corresponding to the data recorded in the data operation log in the result information and return the result information to the detection server, and at the same time, the server also includes its own server identifier in the result information and returns the result information to the detection server, after the detection server receives the result information returned by each server, the link of the actual circulation of the data to be detected can be determined according to the link identification and the server identification contained in each result information.
After the link of the actual data flow is determined, the detection server needs to further determine the link type of the link, so that the detection server needs to send an extraction instruction including a specified field corresponding to the specified type link to each server, and accordingly, after receiving the extraction instruction, the server can search the specified field from each data operation log stored in the detection server according to the specified field corresponding to the specified type link included in the extraction instruction, wherein if the server does not search the specified field in each stored data operation log, the server identifier of the server itself is not returned to the detection server, and if the server searches the specified field in each stored data operation log, the server identifier of the server itself can be returned to the detection server.
After receiving the server identifiers returned by the servers, the detection server can determine and store the server identifiers as the server identifiers corresponding to the specified type of link, correspondingly, after the subsequent detection server determines the link in which the data to be detected actually flows according to the result information returned by the servers, the subsequent detection server can judge whether the server identifiers contained in the link are the server identifiers corresponding to the specified type of link which is stored in the detection server in advance according to the server identifiers corresponding to the specified type of link which is stored in advance, and when the judgment result is yes, the detection server determines that the link is the specified type of link. Of course, if the detection server collects the server identifiers corresponding to the various types of links in advance, after determining the link in which the data actually flows, the detection server may determine the link type corresponding to the link according to the server identifiers corresponding to the various types of links that are stored in advance.
It should be noted that, if an online service maintenance person needs to obtain each link in which each service data actually flows within a period of time, the detection instruction sent by the detection server to each server may also be made to include no data to be detected by the operation instruction input in the detection server, so that, after receiving the detection instruction, each server may collect the link identifier corresponding to each data in accordance with the time period and return the result information carrying the collected link identifier to the detection server.
In addition, in the detection instruction sent by the detection server to each server, the data included in the detection instruction may also be a type of data, that is, feature data of a certain service, such as picture data of a screenshot service, and since the server usually allocates a link identifier to the type of data in common during processing the type of data, after receiving the detection instruction sent by the detection server, the server may return the link identifier corresponding to the type of data included in the detection instruction to the detection server, so that the detection server may determine the link in which the type of data is actually circulated according to the link identifier and the link identifiers corresponding to the type of data returned by the other servers.
In the embodiment of the present application, the detection server and each server may be located in the same system, in addition to different systems, as shown in fig. 3.
Fig. 3 is a schematic diagram of a system for determining a link according to an embodiment of the present application.
In the system shown in fig. 3, a plurality of service server clusters are included, and the server clusters of different services can process their respective service data in sequence and generate corresponding results, wherein, for the fund service shown in fig. 3, when the user performs fund service processing on an online platform for processing the fund service, the terminal held by the user can generate a corresponding fund service request according to the operation executed by the user, and sends the fund service request to the server, after the server receives the fund service request, may process the fund data contained in the fund service request and send the processed fund data to a next server in the fund service server cluster, and repeating the steps until the last server processed the fund data, and outputting the processed result. In this way, the servers through which the funds data passes in turn form a link to the actual flow of the funds data.
When detecting the operation state of the fund service, the maintainer of the online service sends a detection instruction to the server cluster corresponding to the fund service through the detection server, each server in the server cluster can respectively return result information containing respective server identification and link identification to the detection server according to the detection instruction after receiving the detection instruction sent by the detection server, the detection server can determine each link according to the link identification contained in each result information after receiving the result information returned by each server, and determine each link type of each link according to the server identification corresponding to each type of link stored in advance, and further present each determined link and each link type to the maintainer of the online service, moreover, the detection server can compare each link with the preset link stored in advance, therefore, whether the fund data involved in the fund business is normal in the process of the actual process is detected.
It should be further noted that, in this embodiment of the present application, the maintenance personnel of the online service may also collect data on the designated link through the detection server, and train a model capable of identifying the designated field corresponding to the designated link through the detection server, and then, the maintenance personnel of the online service may send a detection instruction to each server through the detection server, so that each server returns result information including a link identifier and data log information to the detection server after receiving the detection instruction, the detection server may identify fields in the data log information included in each result information after receiving the result information returned by each server, and after identifying the designated field through the pre-trained model, the detection server may determine that the server including the result information of the designated field is a server (node) in the designated link, then after each result information is recognized in sequence, the server identifications corresponding to the result information containing the specified fields can be sorted according to the sorting sequence of the link identifications corresponding to the server identifications, and the link type of the link is determined while the link is determined.
In addition, in this embodiment of the present application, the detection server may also monitor the code through, for example, a version control System (SVN), since normally, which interfaces through which the service data passes are determined by the specified code, that is, the interfaces through which the service data flows generally have a certain corresponding relationship with the specified code of the service data, when the specified code changes, the interfaces through which the service data flows will also change correspondingly, so that the server may monitor the change of the code through the SVN, determine which interfaces are affected by the change of the code, further determine which service data flows through the interfaces according to the determined interfaces, and then determine the link through which each service data actually flows.
Based on the same idea, the method for task execution provided by the embodiment of the present application further provides a device for determining a link, as shown in fig. 4 and 5.
Fig. 4 is a schematic structural diagram of a device for determining a link according to an embodiment of the present application, which specifically includes:
a sending module 401, configured to send a detection instruction to each server;
a receiving and determining module 402, which receives each result information returned by each server, and determines a link according to each result information;
the judgment determining module 403 judges whether each server identifier included in the link is a pre-stored server identifier according to each server identifier corresponding to a pre-stored link of an assigned type, where if yes, the link is determined to be the link of the assigned type, and if not, the link is determined not to be the link of the assigned type.
The result information comprises a server identifier and a link identifier corresponding to the server identifier;
the receiving determining module 402 determines a sorting order represented by each link identifier according to each link identifier included in each result information; and sequencing the server identifications corresponding to the link identifications according to the sequencing sequence to obtain the links.
The device further comprises:
a storage module 404, which pre-stores each server identifier corresponding to the specified type link;
the storage module 404 is configured to send, to each server, an extraction instruction including a specified field to the server, so that after receiving the extraction instruction, the server determines whether to return a server identifier of the server according to the specified field included in the extraction instruction, where if a data operation log stored in the server includes the specified field, the server identifier of the server is returned, and if the data operation log stored in the server does not include the specified field, the server identifier of the server is not returned; receiving server identifications returned by the servers according to the extraction instruction; and determining and storing each server identifier as a server identifier corresponding to the specified type link.
Fig. 5 is a schematic structural diagram of a device for determining a link according to an embodiment of the present application.
A command receiving module 501, configured to receive a detection command sent by a detection server;
a returning module 502, configured to return result information to the detection server according to the detection instruction, so that the detection server determines a link according to the result information, and determines whether the link is a link of the specified type according to each server identifier corresponding to a link of the specified type that is stored in advance.
The instruction receiving module 501 receives an extraction instruction which is sent by the detection server and contains a specified field; and judging whether the device returns the server identifier of the device according to the specified field contained in the extraction instruction, wherein if the data operation log stored in the device contains the specified field, the return module 502 is instructed to return the server identifier of the device, so that the detection server determines the server identifier as the server identifier corresponding to the specified type link and stores the server identifier, and if the data operation log stored in the device does not contain the specified field, the return module 502 is not instructed to return the server identifier of the device.
The embodiment of the application provides a method and a device for determining a link, in the method, after a detection server determines the link of the actual circulation of data to be detected according to result information returned by each server, according to each server identifier corresponding to a pre-stored link of an appointed type, judging the server identification corresponding to each server involved in the link, and further determining whether the link is a link of a specified type, therefore, when the maintenance personnel of the online service detects the link in which the data to be detected actually flows, the detection server can replace the maintenance personnel of the online service to automatically determine the link type of the link in which the data to be detected actually flows, great convenience is brought to the maintenance personnel of the online service in the process of determining the link type, and the efficiency of the online service maintenance personnel in the link analysis is further improved.
It should be noted that the execution subjects of the steps of the method provided in embodiment 1 may be the same device, or different devices may be used as the execution subjects of the method. For example, the executing agent of step S101 and step S102 may be a detection server, and the executing agent of step S103 may be a detection terminal; for another example, the execution subject of step 101 may be a detection terminal, and the execution subjects of step 102 and step 103 may be a detection server; and so on.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The above description is only an example of the present application and is not intended to limit the present application. Various modifications and changes may occur to those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.