Detailed Description
Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. It should be understood that the description is only exemplary and is not intended to limit the scope of the present disclosure. In the following detailed description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the present disclosure. It may be evident, however, that one or more embodiments may be practiced without these specific details. In addition, in the following description, descriptions of well-known structures and techniques are omitted so as not to unnecessarily obscure the concepts of the present disclosure.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The terms "comprises," "comprising," and/or the like, as used herein, specify the presence of stated features, steps, operations, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, or components.
All terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. It should be noted that the terms used herein should be construed to have meanings consistent with the context of the present specification and should not be construed in an idealized or overly formal manner.
Where a convention analogous to "at least one of A, B and C, etc." is used, in general such a convention should be interpreted in accordance with the meaning of one of skill in the art having generally understood the convention (e.g., "a system having at least one of A, B and C" would include, but not be limited to, systems having a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.). Where a formulation similar to at least one of "A, B or C, etc." is used, in general such a formulation should be interpreted in accordance with the ordinary understanding of one skilled in the art (e.g. "a system with at least one of A, B or C" would include but not be limited to systems with a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.).
In the technical scheme of the disclosure, the acquisition, storage, application and the like of the related personal information of the user all conform to the regulations of related laws and regulations, necessary security measures are taken, and the public order harmony is not violated.
The interface between software systems is a bridge for implementing information interaction between one system and another system, and the software interfaces can be generally classified into webservice interfaces and http interfaces. The http interface is a data interaction interface between application programs of a mainstream b/s architecture, uses xml or json as a data interaction format based on an http protocol, and realizes data interaction between two or more independent systems, and usually one http interface corresponds to one section of processing logic, namely one section of code.
In many application scenarios, the system may involve interfacing of multiple interfaces. For example, the air control system may call the credit interface, and when the air control system performs model operation on a person or an enterprise, a large amount of data is required, and the data is returned by calling the credit interface, where the credit interface is various and frequently modified. There is a need to manage a large number of interfaces and to be able to modify the interface information in real time in case of system operation.
In order to solve the problems that a large number of interfaces need to be managed and frequent modification exists in the interfaces in related application scenes, a plurality of solutions are proposed in the related art. For example, multiple interfaces are combined into one interface, and type enumeration codes are used to differentiate between different requests. For another example, an interface for loading the bytecode file is developed to load the specified bytecode file according to the file name, and when the interface is required to be validated, the bytecode file is uploaded to a server where the application is located, and then the interface is called to load the newly developed interface code file.
However, with the development and modification of the service, an interface is usually required to be optimally adjusted or an interface is newly added, and the solutions in the related art usually need to adjust the interface in a hard-coded manner, which requires high learning cost and labor cost.
On the other hand, when an interface is deployed in a distributed system, file omission easily occurs in a mode of loading a byte code file, hard coding is needed for each loading, and the issuing of the byte code file through a message queue can ensure the accuracy of issuing the file, but the issuing process is complicated, the file needs to be uploaded to each distributed server respectively, and the risk of interface deployment is increased.
In view of this, embodiments of the present disclosure provide an interface processing method, an interface processing apparatus, an electronic device, a readable storage medium, and a computer program product. The method comprises the steps of responding to a docking request of client equipment, obtaining interface description information carried in the docking request, writing the interface description information into a preset interface template to obtain an interface configuration file, generating a target interface file based on the interface configuration file, and sending an interface deployment instruction to the server equipment so that the server equipment can load the target interface file by using a class loader. Fig. 1 schematically illustrates an exemplary system architecture to which an interface processing method may be applied according to an embodiment of the present disclosure. It should be noted that fig. 1 is only an example of a system architecture to which embodiments of the present disclosure may be applied to assist those skilled in the art in understanding the technical content of the present disclosure, but does not mean that embodiments of the present disclosure may not be used in other devices, systems, environments, or scenarios.
As shown in fig. 1, a system architecture 100 according to this embodiment may include a business system 110 and a server 120.
Business system 110 may include client device 101, server devices 102, 103, and network 104.
The client device 101 and the server devices 102, 103 may be any electronic device having memory and a processor, including but not limited to smartphones, tablets, laptop computers, desktop computers, servers, and the like.
The client device 101 may also have a display means for displaying the results of the service processing of the service system 110.
The network 104 is used as a medium to provide communication links between the terminal devices 101, 102, 103 and the server 105. The network 104 may include various connection types, such as wired and/or wireless communication links, and the like.
The network 104 may be characterized in particular as a communication interface between the client device 101 and the server devices 102, 103.
The server 120 may be a server providing various services, for example, a background management server configuring a communication interface between the client device 101 and the server devices 102, 103.
It should be noted that, the interface processing method provided by the embodiments of the present disclosure may be generally executed by the server 120. Accordingly, the interface processing apparatus provided by the embodiments of the present disclosure may be generally disposed in the server 120. The interface processing method provided by the embodiments of the present disclosure may also be performed by the client device 101 in the service system 110. Accordingly, the interface processing apparatus provided in the embodiments of the present disclosure may also be disposed in the client device 101 in the service system 110. Or the interface processing method provided by the embodiments of the present disclosure may be further performed by other servers or server clusters capable of establishing a communication connection with the service system 110 or the server 120. Accordingly, the interface processing apparatus provided in the embodiments of the present disclosure may also be disposed in other servers or server clusters capable of establishing a communication connection with the service system 110 or the server 120.
For example, when a user initiates a docking request using the client device 101, the client device 101 may locally perform the interface processing methods provided by embodiments of the present disclosure to determine an interface with the server devices 102, 103. Or the client device 101 may send the docking request to the server 120 or another server or group of servers other than the server 120, by which the interface processing method provided by the embodiments of the present disclosure is performed.
It should be understood that the number of business systems, client devices, server devices, networks, and servers in fig. 1 are merely illustrative. There may be any number of business systems, client devices, server devices, networks, and servers, as desired for implementation.
Fig. 2 schematically illustrates a flow chart of an interface processing method according to an embodiment of the present disclosure.
As shown in FIG. 2, the method includes operations S201-S204.
In operation S201, in response to a docking request of the client device, interface description information carried in the docking request is acquired.
In operation S202, the interface description information is written into a preset interface template to obtain an interface configuration file.
In operation S203, a target interface file is generated based on the interface configuration file.
In operation S204, an interface deployment instruction is sent to the server device, so that the server device loads the target interface file using the class loader.
According to embodiments of the present disclosure, the client device and the server device may be any electronic device having a memory and a processor, including but not limited to computers, servers, and the like.
According to an embodiment of the present disclosure, the docking request may be issued by a service system on the client device, and the docking request may include input/output information of an interface required when the client device docks with the target server device.
According to the embodiment of the disclosure, input and output fields of an interface, types of the fields and corresponding field mappings of the interface can be configured in the preset interface template, a field mapping table can be shown in table 1, and the new addition of the interface can be accurately and conveniently realized through the field mapping table.
TABLE 1
| Input device |
Output of |
Input type |
Output type |
| Input1 |
Output1 |
String |
String |
| Input2 |
Output2 |
String |
Integer |
According to the embodiment of the disclosure, a management end can be configured in the preset interface template, and the management end can provide an operation page for template editing for a developer.
According to an embodiment of the present disclosure, the target interface file may be a byte code file.
According to the embodiment of the disclosure, in generating the target interface file according to the interface configuration file, the interface information contained in the interface configuration file may be read, the corresponding byte code file name is generated according to the name of the template, and the byte code file of the interface description and the byte code file of the interface operation are generated by reflection according to the description information of the interface field.
According to an embodiment of the present disclosure, a method of generating the target interface file from the interface configuration file is not limited, and for example, javaassist may be used to generate the interface file.
According to the embodiment of the disclosure, the byte code file is dynamically generated by using the preset interface template and the interface description information, so that the required interface function can be realized without development and code compiling.
According to an embodiment of the present disclosure, the interface deployment instructions may include instructions that instruct the server device to load the target interface file. By means of the mode that the server side equipment autonomously loads the instructions, the target interface files do not need to be uploaded to each server side equipment respectively, and the occurrence of file omission is reduced.
According to an embodiment of the present disclosure, the class loader may be classloader. By using the class loader, the server device can load the byte code file in the running process of the system, so that the newly added interface is effective.
According to the embodiment of the disclosure, under the condition that the docking request of the client device is received, the target interface file can be generated by writing the interface description information in the docking request into the preset interface template, and the server device can autonomously load the target interface file through information interaction, so that the deployment of the interface is realized. By the technical means, the automatic generation and loading of the interfaces are realized, the technical problems of high development cost of the interfaces and poor flexibility of interface management and calling in the related technology are at least partially solved, the development cost and the management cost of the interfaces are effectively reduced, and the resource waste caused when the interfaces are loaded by the server side is reduced.
The method shown in fig. 2 is further described with reference to fig. 3-4 in conjunction with the specific embodiments.
According to embodiments of the present disclosure, javaassist may be used to implement generation of the target interface file.
Fig. 3 schematically illustrates a flowchart of a target interface file generation method according to an embodiment of the present disclosure.
As shown in FIG. 3, the method for generating the target interface file includes operations S301-S304.
In operation S301, an initial template class is created.
In operation S302, an interface field is created in the initial template class based on the interface profile.
In operation S303, the interface field is processed using a preset method.
In operation S304, an initial template class including the processed interface fields is compiled into a target interface file.
According to embodiments of the present disclosure, the initial template class may be a null class.
According to the embodiment of the disclosure, the interface configuration file may be configured with interface parameters and types of the interface parameters, and the newly-built interface fields may correspond to the interface parameters contained in the interface configuration file one by one.
According to embodiments of the present disclosure, an access level may be set for the newly created interface field, where the set access level includes public, private, etc.
According to an embodiment of the present disclosure, the preset method may include getter, setter or the like methods of adding elements in the interface field, which is not limited herein.
According to embodiments of the present disclosure, after processing the interface fields using a preset method, the constructors may be supplemented in the initial template class. In some embodiments, the constructors may also include constructors that are set by default when creating the initial template class.
According to an embodiment of the present disclosure, the target interface file may be a class file.
Fig. 4 schematically illustrates a schematic diagram of an interface deployment flow according to an embodiment of the present disclosure.
As shown in FIG. 4, the interface deployment flow includes operations S401-S411. Operations S401 to S402 and operations S408 to S411 are completed by the interface processing system, and operations S403 to S407 are completed by the server device.
In operation S401, the target interface file is stored in the memory database and the relational database, respectively.
In operation S402, an interface deployment instruction is sent to the server device.
In operation S403, the target interface file is acquired from the in-memory database.
In operation S404, it is determined whether acquisition is successful. Operation S405 is performed in case of successfully acquiring the target interface file, and operation S407 is performed in case of not successfully acquiring the target interface file.
In operation S405, a target interface file is loaded using a class loader.
In operation S406, feedback information that the interface loading was successful is transmitted to the client device.
In operation S407, feedback information of failure in acquiring the interface file is transmitted to the interface processing system.
In operation S408, the target interface file is retrieved from the relational database.
In operation S409, it is determined whether the search is successful. Operation S410 is performed in case that the target interface file is successfully retrieved, and operation S411 is performed in case that the target interface file is not successfully retrieved.
In operation S410, the target interface file is stored in the memory database. After the operation S410 is completed, the operation S402 is returned to be performed again.
In operation S411, feedback information of the interface configuration failure is transmitted to the client device.
According to an embodiment of the present disclosure, the interface processing system may be a system implementing the methods of operations S201 to S204 and operations S301 to S304.
According to the embodiments of the present disclosure, the memory database may be selected according to a specific application scenario, and the selectable memory database may include a key-value pair memory database such as Redis, memcached, aerospike, a relational memory database such as Orcle TimesTen, ASP HANA, menSQL, SQLite, or a graph memory database such as REDISGRAPH.
According to the embodiment of the invention, the memory database is used for storing the target interface file, so that the loading speed of the interface can be effectively ensured, and the deployment of the interface in a distributed system is supported.
According to embodiments of the present disclosure, the relational database may be any relational database of Oracle, mySQL, etc.
According to an embodiment of the disclosure, the server device may include all electronic devices that need to be docked when implementing the service function, for example, a plurality of electronic devices in a distributed system.
According to the embodiment of the disclosure, the target interface file is not required to be downloaded to the server device by loading the target interface file from the memory database, so that the risk of interface exposure is reduced.
According to an embodiment of the present disclosure, the class loader may be classloader.
According to the embodiment of the disclosure, the file names of all target interface files generated through the preset interface templates are the same as the template names of the preset interface templates, so that the hard coding workload in the process of loading the interface files can be reduced.
In some embodiments, a preset interface address is further provided in the preset interface template, all interfaces generated through the preset interface template have the same preset interface address, and the client can realize the docking with the server device through the preset interface address.
According to the embodiment of the disclosure, after the generation of the target interface file is completed, feedback information containing the preset interface address can be sent to the client device, so that the client device can be conveniently docked with the server device through the preset interface address.
According to the embodiment of the disclosure, the interface flexibility is effectively improved by decoupling the specific implementation of the interface from the address of the interface, and the new interface can be released in an increment or the specific implementation of the original interface can be modified without changing or recompiling the original code.
According to an embodiment of the present disclosure, after the execution of operation S411 is completed, the method of operations S201 to S203 and the method of operation S401 may also be performed to regenerate and store the target interface file.
Fig. 5 schematically illustrates a block diagram of an interface processing apparatus according to an embodiment of the present disclosure.
As shown in fig. 5, the interface processing apparatus 500 includes an acquisition module 510, a first processing module 520, a second processing module 530, and a deployment module 540.
And the obtaining module 510 is configured to, in response to a docking request of the client device, obtain interface description information carried in the docking request.
The first processing module 520 is configured to write the interface description information into a preset interface template to obtain an interface configuration file.
A second processing module 530 for generating a target interface file based on the interface configuration file.
The deployment module 540 is configured to send an interface deployment instruction to the server device, so that the server device uses the class loader to load the target interface file.
According to the embodiment of the disclosure, under the condition that the docking request of the client device is received, the target interface file can be generated by writing the interface description information in the docking request into the preset interface template, and the server device can autonomously load the target interface file through information interaction, so that the deployment of the interface is realized. By the technical means, the automatic generation and loading of the interfaces are realized, the technical problems of high development cost of the interfaces and poor flexibility of interface management and calling in the related technology are at least partially solved, the development cost and the management cost of the interfaces are effectively reduced, and the resource waste caused when the interfaces are loaded by the server side is reduced.
According to an embodiment of the present disclosure, the second processing module 530 includes a first processing unit, a second processing unit, a third processing unit, and a fourth processing unit.
And the first processing unit is used for creating an initial template class.
And the second processing unit is used for creating an interface field in the initial template class based on the interface configuration file.
And the third processing unit is used for processing the interface field by using a preset method.
And the fourth processing unit is used for compiling the initial template class containing the processed interface field into a target interface file.
According to an embodiment of the present disclosure, the preset method at least includes a method of adding an element in an interface field.
According to an embodiment of the present disclosure, the apparatus 500 further comprises a storage module.
And the storage module is used for storing the target interface files into the memory database and the relational database respectively.
According to an embodiment of the present disclosure, deployment module 540 includes a first deployment unit, a second deployment unit, a third deployment unit, and a fourth deployment unit.
The first deployment unit is used for sending an interface deployment instruction to the server equipment so that the server equipment can load the target interface file stored in the memory database by using the class loader.
And the second deployment unit is used for retrieving the target interface file from the relational database under the condition that feedback information of failure in acquiring the target interface file, which is sent by the server-side equipment, is received.
And the third deployment unit is used for storing the target interface file into the memory database under the condition that the target interface file is successfully retrieved from the relational database.
And the fourth deployment unit is used for sending the interface deployment instruction to the server equipment again.
According to an embodiment of the present disclosure, deployment module 540 further includes a fifth deployment unit.
And the fifth deployment unit is used for sending feedback information of interface configuration failure to the client device under the condition that the target interface file is not successfully retrieved from the relational database.
According to an embodiment of the present disclosure, the preset interface template has a preset interface address.
The apparatus 500 further comprises a transmitting module.
And the sending module is used for sending feedback information containing a preset interface address to the client device so that the client device can realize the butt joint with the server device through the preset interface address.
According to an embodiment of the present disclosure, the interface description information includes at least an interface parameter and a type of the interface parameter.
According to an embodiment of the present disclosure, a server device includes a plurality of electronic devices in a distributed system.
Any number of modules, sub-modules, units, sub-units, or at least some of the functionality of any number of the sub-units according to embodiments of the present disclosure may be implemented in one module. Any one or more of the modules, sub-modules, units, sub-units according to embodiments of the present disclosure may be implemented as split into multiple modules. Any one or more of the modules, sub-modules, units, sub-units according to embodiments of the present disclosure may be implemented at least in part as a hardware circuit, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system-on-chip, a system-on-substrate, a system-on-package, an Application Specific Integrated Circuit (ASIC), or in any other reasonable manner of hardware or firmware that integrates or encapsulates the circuit, or in any one of or a suitable combination of three of software, hardware, and firmware. Or one or more of the modules, sub-modules, units, sub-units according to embodiments of the present disclosure may be at least partially implemented as computer program modules, which, when executed, may perform the corresponding functions.
For example, any of the acquisition module 510, the first processing module 520, the second processing module 530, and the deployment module 540 may be combined in one module/unit/sub-unit or any of the modules/units/sub-units may be split into a plurality of modules/units/sub-units. Or at least some of the functionality of one or more of these modules/units/sub-units may be combined with at least some of the functionality of other modules/units/sub-units and implemented in one module/unit/sub-unit. According to embodiments of the present disclosure, at least one of the acquisition module 510, the first processing module 520, the second processing module 530, and the deployment module 540 may be implemented at least in part as hardware circuitry, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or may be implemented in hardware or firmware in any other reasonable manner of integrating or packaging the circuitry, or in any one of or a suitable combination of three of software, hardware, and firmware. Or at least one of the acquisition module 510, the first processing module 520, the second processing module 530, and the deployment module 540 may be at least partially implemented as a computer program module which, when executed, may perform the corresponding functions.
It should be noted that, in the embodiment of the present disclosure, the interface processing device portion corresponds to the interface processing method portion in the embodiment of the present disclosure, and the description of the interface processing device portion specifically refers to the interface processing method portion, which is not described herein again.
Fig. 6 schematically illustrates a block diagram of an electronic device adapted to implement an interface processing method according to an embodiment of the disclosure. The electronic device shown in fig. 6 is merely an example and should not be construed to limit the functionality and scope of use of the disclosed embodiments.
As shown in fig. 6, a computer electronic device 600 according to an embodiment of the present disclosure includes a processor 601 that can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM) 602 or a program loaded from a storage section 608 into a Random Access Memory (RAM) 603. The processor 601 may include, for example, a general purpose microprocessor (e.g., a CPU), an instruction set processor and/or an associated chipset and/or a special purpose microprocessor (e.g., an Application Specific Integrated Circuit (ASIC)), or the like. Processor 601 may also include on-board memory for caching purposes. The processor 601 may comprise a single processing unit or a plurality of processing units for performing different actions of the method flows according to embodiments of the disclosure.
In the RAM 603, various programs and data necessary for the operation of the electronic apparatus 600 are stored. The processor 601, the ROM602, and the RAM 603 are connected to each other through a bus 604. The processor 601 performs various operations of the method flow according to the embodiments of the present disclosure by executing programs in the ROM602 and/or the RAM 603. Note that the program may be stored in one or more memories other than the ROM602 and the RAM 603. The processor 601 may also perform various operations of the method flow according to embodiments of the present disclosure by executing programs stored in the one or more memories.
According to an embodiment of the present disclosure, the electronic device 600 may also include an input/output (I/O) interface 605, the input/output (I/O) interface 605 also being connected to the bus 604. The electronic device 600 may also include one or more of an input portion 606 including a keyboard, mouse, etc., an output portion 607 including a display such as a Cathode Ray Tube (CRT), liquid Crystal Display (LCD), etc., and speakers, etc., a storage portion 608 including a hard disk, etc., and a communication portion 609 including a network interface card such as a LAN card, modem, etc., connected to the I/O interface 605. The communication section 609 performs communication processing via a network such as the internet. The drive 610 is also connected to the I/O interface 605 as needed. Removable media 611 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is installed as needed on drive 610 so that a computer program read therefrom is installed as needed into storage section 608.
According to embodiments of the present disclosure, the method flow according to embodiments of the present disclosure may be implemented as a computer software program. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable storage medium, the computer program comprising program code for performing the method shown in the flowcharts. In such an embodiment, the computer program may be downloaded and installed from a network through the communication portion 609, and/or installed from the removable medium 611. The above-described functions defined in the system of the embodiments of the present disclosure are performed when the computer program is executed by the processor 601. The systems, devices, apparatus, modules, units, etc. described above may be implemented by computer program modules according to embodiments of the disclosure.
The present disclosure also provides a computer-readable storage medium that may be included in the apparatus/device/system described in the above embodiments, or may exist alone without being assembled into the apparatus/device/system. The computer-readable storage medium carries one or more programs which, when executed, implement methods in accordance with embodiments of the present disclosure.
According to embodiments of the present disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium. Such as, but not limited to, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this disclosure, a computer-readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
For example, according to embodiments of the present disclosure, the computer-readable storage medium may include ROM 602 and/or RAM 603 and/or one or more memories other than ROM 602 and RAM 603 described above.
Embodiments of the present disclosure also include a computer program product comprising a computer program comprising program code for performing the methods provided by the embodiments of the present disclosure, the program code for causing an electronic device to implement the interface processing methods provided by the embodiments of the present disclosure when the computer program product is run on the electronic device.
The above-described functions defined in the system/apparatus of the embodiments of the present disclosure are performed when the computer program is executed by the processor 601. The systems, apparatus, modules, units, etc. described above may be implemented by computer program modules according to embodiments of the disclosure.
In one embodiment, the computer program may be based on a tangible storage medium such as an optical storage device, a magnetic storage device, or the like. In another embodiment, the computer program may also be transmitted, distributed in the form of signals over a network medium, and downloaded and installed via the communication section 609, and/or installed from the removable medium 611. The computer program may comprise program code that is transmitted using any appropriate network medium, including but not limited to wireless, wireline, etc., or any suitable combination of the preceding.
According to embodiments of the present disclosure, program code for performing computer programs provided by embodiments of the present disclosure may be written in any combination of one or more programming languages, and in particular, such computer programs may be implemented in high-level procedural and/or object-oriented programming languages, and/or assembly/machine languages. Programming languages include, but are not limited to, such as Java, c++, python, "C" or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, partly on a remote computing device, or entirely on the remote computing device or server. In the case of remote computing devices, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., connected via the Internet using an Internet service provider).
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions. Those skilled in the art will appreciate that the features recited in the various embodiments of the disclosure and/or in the claims may be combined in various combinations and/or combinations, even if such combinations or combinations are not explicitly recited in the disclosure. In particular, the features recited in the various embodiments of the present disclosure and/or the claims may be variously combined and/or combined without departing from the spirit and teachings of the present disclosure. All such combinations and/or combinations fall within the scope of the present disclosure.
The embodiments of the present disclosure are described above. These examples are for illustrative purposes only and are not intended to limit the scope of the present disclosure. Although the embodiments are described above separately, this does not mean that the measures in the embodiments cannot be used advantageously in combination. The scope of the disclosure is defined by the appended claims and equivalents thereof. Various alternatives and modifications can be made by those skilled in the art without departing from the scope of the disclosure, and such alternatives and modifications are intended to fall within the scope of the disclosure.