Disclosure of Invention
Therefore, the embodiment of the invention aims to provide a compiling method based on file difference, and breakthrough optimization of compiling efficiency is realized on the premise that an engineering structure is not affected as much as possible. The embodiment of the invention provides a compiling method based on file differences, which comprises the following steps:
acquiring a current file to be compiled;
Acquiring a previous compiling product file;
Identifying the current file to be compiled, and obtaining a current version identifier;
Acquiring a previous version identifier and a previous final product file according to the previous compiling product file;
Comparing the current version identifier with the previous version identifier, and acquiring a difference file set from the current file to be compiled according to a comparison result;
Acquiring a difference file final product file according to the difference file set;
And acquiring a current compiling final product file according to the difference file final product file and the previous final product file.
In some embodiments of the present invention,
When the previous compilation product file is an initial compilation product file, the obtaining the previous compilation product file includes:
Compiling the source code file into an intermediate product file;
translating the intermediate product file to generate a source code end product file;
combining the source code final product file and a resource file to form the previous compiling product file;
When the previous compilation product file is not an initial compilation product file, the obtaining the previous compilation product file includes:
and taking the current compiling final product file obtained by executing the compiling method based on the file difference last time as the compiling final product file last time.
In some embodiments of the invention, the source code file comprises a plurality of source code subfiles, the previous compiling product file comprises a previous compiling index table, and the previous compiling index table comprises version number information and index names corresponding to the plurality of source code subfiles;
The compiling the source code file into the intermediate product file comprises:
compiling the plurality of source code subfiles to generate a plurality of intermediate product subfiles;
The translating the intermediate product file into a source code end product file includes:
Translating the plurality of intermediate product subfiles to generate a plurality of source code end product subfiles;
combining the source code end product file with a resource file to form the previous compilation product file includes:
according to the source code final product subfiles, version numbers and subfiles corresponding to the source code final product subfiles are obtained;
acquiring a version number and a resource file name corresponding to a resource file according to the resource file;
and generating the previous compiling index table according to the version numbers and the subfiles corresponding to the multiple source code final product subfiles and the version numbers and the resource file names corresponding to the resource files.
In some embodiments of the present invention, the current file to be compiled includes a plurality of current source code subfiles and a plurality of current resource files;
The comparing the current version identifier with the previous version identifier, and obtaining the difference file set from the current file to be compiled according to the comparison result includes:
Comparing the index names in the index table compiled last time with the file names of the current source code subfiles and the current resource files;
and when the comparison result is the same and the previous version identifier corresponding to the index name is different from the current version identifier, the current source code sub-file and/or the current resource file which have the same name as the index name in the current file to be compiled belong to the difference file set.
In some embodiments of the present invention, the obtaining a difference file end product file according to the difference file set includes:
compiling the difference file set to generate a difference intermediate file;
And translating the difference intermediate product file to generate the difference source code final product file.
In some embodiments of the present invention, the obtaining the current compiled end product file according to the difference file end product file and the previous end product file includes:
Acquiring a previous final product sub-file corresponding to the difference file final product file from the previous final product file;
Replacing the previous final product subfile with the difference file final product file;
and updating the previous compiling index table according to the current version identifier corresponding to the final product file of the difference file to generate a current compiling index table.
In some embodiments of the present invention, prior to obtaining the current file to be compiled and the previous compilation product file, comprising:
And monitoring the source code change information in the plurality of current source code subfiles, and updating the version identification corresponding to the source code subfiles with the source code change.
In some embodiments of the present invention, prior to obtaining the current file to be compiled and the previous compilation product file, comprising:
and monitoring the resource change information in the plurality of current resource files, and updating the version identification corresponding to the resource file with the resource change.
In some embodiments of the invention, compiling the source code file into an intermediate product file includes:
acquiring the length of a source code subfile input by a user;
splitting the source code file according to the length of the source code subfile to generate a source code subfile;
and compiling and generating the intermediate product file according to the source code subfile.
In an embodiment of the present invention, there is provided a computer-readable storage medium having stored thereon a computer program, wherein the program, when executed by a processor, implements any of the file difference-based compiling methods of the embodiments of the present invention.
In an embodiment of the invention, an electronic device is provided, comprising a processor and a memory storing a computer program, the processor being configured to perform any of the file difference based compiling methods of the embodiments of the invention when the computer program is run.
According to the compiling method, the previous compiling product and the change information of the current file to be compiled are combined, the change information of the current file to be compiled is positioned to the changed subfile, compiling and translating are carried out on the subfile to generate a final product subfile, the final product subfile and the corresponding subfile in the previous compiling product are replaced to generate the current compiling product, the complete compiling process is bypassed, the compiling product is directly generated, and therefore the effect of greatly improving the compiling speed is achieved, and the complete compiling time is compressed to be within 10% of the rest.
Additional optional features and technical effects of embodiments of the invention are described in part below and in part will be apparent from reading the disclosure herein.
Detailed Description
The present invention will be described in further detail with reference to the following detailed description and the accompanying drawings, in order to make the objects, technical solutions and advantages of the present invention more apparent. The exemplary embodiments of the present invention and the descriptions thereof are used herein to explain the present invention, but are not intended to limit the invention.
In the embodiment of the invention, "compiling" refers to converting one language into another language with different grammar and abstraction degree, and the like, and is commonly performed by adopting a gcc compiler for compiling. "translate" refers to converting one language to a different version or language of the same degree of abstraction, such as babel translating es6 to es5.
The embodiment of the invention provides a compiling method based on file differences, which improves compiling efficiency. The compiling method in the embodiment of the invention is described below.
The Android software compiling process comprises the following steps of compiling a source code into an intermediate product, translating the intermediate product into a source code final product, and combining the source code final product with other resources to form a complete software application product. In step b, all intermediate products are collected for translation, and a final product file is output, wherein the final product file is a physical file stored on a disk.
Based on the compiling process, the embodiment of the invention provides a compiling method based on file differences, which comprises the following specific steps:
Judging that when the source code change range is not the whole between the present compiling and the previous compiling, executing the step a on the changed source code to obtain a corresponding intermediate product, and inserting the translation content into the final product of the previous compiling by using the same translation method of the step b to obtain the product result the same as the traditional method, but saving the time for integrally executing the step b.
The compiling environment of the compiling method in the embodiment of the invention needs to use source code management software with version control capability to manage source codes and resource files, and the compiling environment stores the final product files compiled before. The source code management software with version control capability is used to enable the scheme to have the capability of distinguishing the source code variation range, the unique identification corresponding to the source code version is written into the final product in one compiling, the identification is read out from the final product in the previous compiling in the next compiling, and the matching calculation is carried out with the current source code version, so that the variation range is obtained. The scheme only takes the previous compiling product as the dependence, so that the number of the dependence is reduced.
As shown in FIG. 1, the compiling method provided by the embodiment of the invention identifies a source code file to obtain a current compiling version identifier, extracts a previous compiling product to obtain a previous compiling source code version identifier and a source code end product portion, compares the current compiling version identifier with the previous compiling source code version identifier to obtain a corresponding difference source code file set, compiles the difference source code file set by utilizing a compiling tool to obtain an intermediate product file of the difference portion, translates the intermediate product file of the difference portion by utilizing a translating tool to obtain an end product of the difference portion, and mixes the source code end product portion and the end product of the difference portion by utilizing a mixing algorithm to obtain the end product.
The step of the mixing algorithm is shown in fig. 2, wherein the difference source code products comprise file a difference product, file B difference product and file C difference product, the file a product, the file B product and the file C product in the final product of previous compiling are replaced, and then the index table is updated based on the replaced file condition to obtain the final product file.
The compiling method in the embodiment of the invention solves the following technical problems which cannot be solved by the prior art method:
1. the large-scale splitting sub-engineering influences the development efficiency and cannot be optimized extremely;
2. The traditional process has limited optimizing income;
3. The increment compiling scheme is more dependent, and part of time-consuming links cannot be avoided;
the scheme does not need to disassemble large-scale sub-engineering, so that the problem 1 is avoided. The scheme thoroughly avoids redundant time-consuming links on the basis of incremental compiling, and can realize maximum time-consuming exemption, so that the problems 2 and 3 are avoided.
Under the optimal condition, when only one line of variable source codes exists, the scheme can realize that the output time of a final product is less than 30 seconds, and the time consumption of 60 seconds is greatly superior to that of other schemes.
The scheme mainly solves the problem of source code compiling optimization, and Android software comprises picture resources, text resources, built-in executable file resources and the like besides source codes. The concept of the scheme can be used for incremental change of other resources, and accurate difference replacement is implemented by combining the previous compiled products, so that the final product is output rapidly.
As shown in fig. 3, an embodiment of the present invention provides a compiling method based on a difference file, including the following steps:
s110, acquiring a current file to be compiled.
In some embodiments, the current file to be compiled includes a plurality of current source code subfiles and a plurality of resource files.
The previous compiling product file in the embodiment of the invention can be an initial compiling product file or an intermediate compiling product file.
S120, acquiring a previous compiling product file.
In some embodiments, the previous compilation product file is stored in a compilation environment, and the previous compilation product file may be obtained from an index identification.
In some implementations, as shown in fig. 4, when the previous compilation product file is an initial compilation product file, the step of obtaining the previous compilation file includes:
S121, compiling the source code file into an intermediate product file;
s122, translating the intermediate product file to generate a source code final product file;
s123, combining the source code final product file and the resource file to form the previous compiling product file.
In some embodiments, when the previous compilation product file is not an initial compilation product file, the previous compilation product file is an intermediate version of the compilation product file, and the current compilation final product file obtained by executing the compilation method based on the file difference last time is used as the previous compilation product file. The final product file based on the last compilation is used as the previous compilation product file. After the compiling method in the embodiment is executed each time, the generated current compiling final product file is saved, and the current compiling final product file is called when the current compiling final product file is compiled later.
In some embodiments, the saving of the multi-version end product file may be performed, with the previous compiled product file being obtained by each compiled version number. In other embodiments, the current compiled end product file may be replaced with the previously compiled end product file, or only one end product file may be maintained, with each compilation being an update to the end product file, thereby reducing storage space.
In some embodiments, the source code file may be divided into a plurality of source code sub-files based on actual file types, for example, a main file, a view file and a fun file are in a source code directory, the corresponding source code sub-files are a main file, a view file and a fun file, in some embodiments, the source code file may be further divided according to a source code length, for example, the main file may be divided into a main_a source code sub-file, a main_b source code sub-file and a mian _c source code sub-file, the view file may be divided into a view_a source code sub-file and a view_b source code sub-file, and the fun file may be divided into a source code sub-file and a fun_b source sub-file based on actual file types, and the main file may be divided into a main_a source code sub-file, a main_b source code sub-file and a fun_b source code sub-file, and a fun_b source code sub-file.
Based on the plurality of source code subfiles, the step S121 further includes:
and compiling the plurality of source code subfiles to generate a plurality of intermediate product subfiles, wherein the source code files comprise a source code subfile a, a source code subfile b and a source code subfile c, and compiling to generate an intermediate product subfile a, an intermediate product subfile b and an intermediate product subfile c.
In some embodiments, the step S121 further includes:
For example, the intermediate sub-file a, the intermediate sub-file b, and the intermediate sub-file c are translated to generate a source end product sub-file a, a source end product sub-file b, and a source end product sub-file c.
In some embodiments, as shown in fig. 5, the step S123 further includes:
S1231, according to the source code final product subfiles, version numbers and subfiles corresponding to the source code final product subfiles are obtained;
S1232, according to the resource file, acquiring a version number and a resource file name corresponding to the resource file;
S1233, generating the previous compiling index table according to the version numbers and the sub-file names corresponding to the sub-files of the final products of the source codes and the version numbers and the resource file names corresponding to the resource files.
In some embodiments, the version numbers of the source end product subfile a, the source end product subfile b, and the source end product subfile c are v1.1, and v1.2, the resource file is named source file, the corresponding version number is v1.0, and the corresponding generated previous compilation index table is as follows.
File name |
Version number |
Source code end product subfile a |
v1.1 |
Source end product subfile b |
v1.1 |
Source end product subfile c |
v1.2 |
Source document |
v1.0 |
In an embodiment of the invention, when the final product is generated, a corresponding index table is generated.
In the embodiment of the invention, the steps of acquiring the current file to be compiled and acquiring the previous compiling product file can be independently operated or can be executed together.
S130, identifying the current source code file and obtaining a current source code version identifier.
In some embodiments, the source version identifier may be obtained from a compiler or a manager, and the compiler may set a version number for each subfile in each source file. In some embodiments, a source code file is split into a plurality of subfiles, a specific positioning code line in the source code file can be positioned, codes between the positioning code lines are divided into one subfile, codes added in the middle of the positioning code line belong to a current subfile, and meanwhile, a version number is changed, and the change of the version number is triggered by deleting the codes and changing the codes.
And S140, acquiring a previous version identifier and a previous final product file according to the previous compiling product file.
In some embodiments, the previous source version identification information may be obtained from the index table, and when the previous compiled product file includes a plurality of subfiles, the version identification, i.e., the version number, of each subfile may be obtained from the index table according to the name of the subfile.
And S150, comparing the current version identifier with the previous version identifier, and acquiring a difference file set from the current file to be compiled according to a comparison result.
In some embodiments, each subfile to be compiled has a version identification number, and by comparing the version identification numbers, it is confirmed which source subfiles have variations, forming a differential source code set.
In some embodiments, the current file to be compiled includes a plurality of current source code subfiles and a plurality of current resource files.
As shown in fig. 6, the step of obtaining the difference file set includes:
S151, comparing index names in a previous compiling index table with file names of the plurality of current source code subfiles and the plurality of current resource files;
and S152, judging that the comparison result is the same, and if the previous version identifier corresponding to the index name is different from the current version identifier, the current source code sub-file and/or the current resource file which are the same as the index name in the current file to be compiled belong to the difference file set.
For example, the information of the compiled product file recorded in the previous compiling index table comprises a final product file main with a version number of v1.01, a final product file view with a version number of v1.02, a final product file fun with a version number of v1.01 and a final product resource file resource with a version number of v1.0. When the compiling method of the embodiment of the invention runs for a certain time, the current file information to be compiled comprises a source code sub-file main with version number v1.01, a source code sub-file view with version number v1.03, a source code sub-file fun with version number v1.01, a resource file resource with version number v1.0, and the compiling process is completed by obtaining a differential file as a view file through name comparison and version number comparison, compiling and translating the view file, replacing the view of the final product file in the previous compiled file, and updating an index table. When the compiling method of the embodiment of the invention runs for a certain time, the current file information to be compiled comprises a source code sub-file main with a version number of v1.01, a source code sub-file view with a version number of v1.02, a source code sub-file fun with a version number of v1.01, a resource file resource with a version number of v1.01, obtaining a differential file as a resource file through name comparison and version number comparison, compiling and translating the resource file, replacing a final product resource file resource in the previous compiled file, and updating an index table to finish the compiling process.
S160, obtaining a difference file final product file according to the difference file set.
In some embodiments, as shown in fig. 7, the step S160 specifically includes the following steps:
s161, compiling the difference file set to generate a difference intermediate file;
s162, translating the difference intermediate product file to generate the difference file final product file.
Only compiling and translating the difference file saves a great amount of time for repeated compiling and translating, thereby improving the efficiency.
S170, acquiring a current compiling final product file according to the difference file final product file and the last final product file.
The final product file is replaced by the final product file of the previous time, and the index table is updated, so that the compiling engineering can be realized, and the total time consumption is low.
In some embodiments, the specific process of step S170 is shown in fig. 8, and the step of generating the current compiled final product file includes:
s171, acquiring a previous final product sub-file corresponding to the difference file final product file from the previous final product file;
S172, replacing the final product file of the difference file with the final product sub-file of the previous time;
And S173, updating the previous compiling index table according to the current version identifier corresponding to the final product file of the difference file, and generating a current compiling index table.
In some embodiments, before acquiring the current file to be compiled and the previous compilation product file, the compilation method further comprises:
s101, monitoring the source code change information in the plurality of current source code subfiles, and updating the source code version identification corresponding to the source code subfiles with the source code change.
In some embodiments, before acquiring the current file to be compiled and the previous compilation product file, the compilation method also includes:
S102, monitoring resource change information in the plurality of current resource files, and updating version identifiers corresponding to the resource files with resource changes.
The compiling environment software in the embodiment of the invention can monitor the source code or the resource change, thereby being capable of automatically updating the version identification. In some embodiments, the version identification change may be performed incrementally.
In order to meet the high-efficiency compiling requirement, a single source code file can be split, so that the compiling and translating efficiency of a single difference file is improved, when a compiling product file of the previous time is generated initially, a user can set the code length of a single compiling sub-file, locate locating code lines, and codes between adjacent locating code lines serve as a source code sub-file. Specifically, as shown in fig. 9, compiling the source code file into the intermediate product file further includes:
s1211, acquiring the length of a source code subfile input by a user;
s1212, splitting the source code file according to the length of the source code sub-file to generate a source code sub-file;
s1213, compiling and generating the intermediate product file according to the source code subfile.
According to the compiling method, the previous compiling product and the change information of the current file to be compiled are combined, the changed subfiles are positioned, the subfiles are compiled and translated, the final product subfiles are generated, the final product subfiles are replaced with the corresponding subfiles in the previous compiling product, the current compiling product is generated, the complete compiling process is bypassed, the compiling product is directly generated, the effect of greatly improving the compiling speed is achieved, and the complete compiling time is compressed to be within the remaining 10%.
In an embodiment of the present invention, as shown in fig. 10, there is shown a compiling apparatus 1000 based on a file difference, the compiling apparatus 1000 based on a file difference including:
an obtaining module 1010 configured to obtain a current file to be compiled and a previous compilation product file;
The identifying module 1020 is configured to identify the current file to be compiled, and obtain a current version identifier;
An extraction module 1030 configured to obtain a previous version identification and a previous final product file from the previous compilation product file;
The comparison module 1040 is configured to compare the current version identifier with the previous version identifier, and obtain a difference file set from the current file to be compiled according to a comparison result;
a generating module 1050 configured to obtain a difference file final product file from the set of difference files;
An updating module 1060 configured to obtain a current compiled end product file from the difference file end product file and a previous end product file.
In some embodiments, when the previous compile product file is an initial compile product file, the previous compile product file is generated by:
Compiling the source code file into an intermediate product file;
translating the intermediate product file to generate a source code end product file;
and combining the source code final product file with a resource file to form the previous compiling product file.
In some embodiments, when the previous compilation product file is not an initial compilation product file, the current compilation final product file obtained by previously executing the file difference-based compilation method is used as the previous compilation product file. The final product file is generated based on the last compilation as the previous compilation product file.
In some embodiments, the source code file comprises a plurality of source code subfiles, the previous compilation product file comprises a previous compilation index table, and the previous compilation index table comprises version number information and index names corresponding to the plurality of source code subfiles;
The compiling the source code file into the intermediate product file comprises:
compiling the plurality of source code subfiles to generate a plurality of intermediate product subfiles;
The translating the intermediate product file into a source code end product file includes:
Translating the plurality of intermediate product subfiles to generate a plurality of source code end product subfiles;
combining the source code end product file with a resource file to form the previous compilation product file includes:
according to the source code final product subfiles, version numbers and subfiles corresponding to the source code final product subfiles are obtained;
acquiring a version number and a resource file name corresponding to a resource file according to the resource file;
And generating the previous compiling index table according to version numbers and subfile names corresponding to the subfiles of the plurality of source code final products and version numbers and resource file names corresponding to the resource files.
When the final product is generated, a corresponding index table is generated.
In some embodiments, the version identification may be obtained from a compiler or a management tool.
In some embodiments, the previous version identification information may be obtained from an index table.
In some embodiments, the current file to be compiled includes a plurality of current source code subfiles and a plurality of current resource files;
the comparison module 1040 is specifically configured to:
comparing the index names in the index table compiled last time with the file names of the plurality of current source code subfiles and the plurality of current resource files;
and when the comparison result is the same and the previous source code version identification corresponding to the index name is different from the current source code version identification, the current source code sub-file and/or the current resource file which are the same as the index name in the current source code file belong to a difference file set.
In some embodiments, the generation module 1040 is specifically configured to:
compiling the difference file set to generate a difference intermediate file;
Translating the difference intermediate product file to generate the difference file end product file.
In some embodiments, the update module 1060 is specifically configured to:
Acquiring a previous final product sub-file corresponding to the difference file final product file from the previous final product file;
Replacing the previous final product subfile with the difference file final product file;
and updating the previous compiling index table according to the current version identifier corresponding to the final product file of the difference file to generate a current compiling index table.
In some embodiments, the compiling apparatus 1000 further comprises a listening module 1001. The monitoring module 1001 is configured to monitor the source code variation information in the plurality of current source code subfiles, and update the source code version identifier corresponding to the source code subfile with the source code variation. The monitoring module 1001 may be further configured to monitor resource variation information in the plurality of current resource files, and update a version identifier corresponding to the resource file with resource variation.
In some embodiments, in generating the previous compilation product file, compiling the source code file into the intermediate file includes:
acquiring the length of a source code subfile input by a user;
splitting the source code file according to the length of the source code subfile to generate a source code subfile;
and compiling and generating the intermediate product file according to the source code subfile.
In some embodiments, the compiling apparatus may combine features of the compiling method based on file differences of any embodiment, and vice versa, which is not described herein.
In an embodiment of the invention, an electronic device is provided, comprising a processor and a memory storing a computer program, the processor being configured to perform any of the file difference based compiling methods of the embodiments of the invention when the computer program is run.
FIG. 11 shows a schematic diagram of an electronic device 1100 that may implement or implement embodiments of the present invention, and in some embodiments may include more or fewer electronic devices than shown. In some embodiments, it may be implemented with a single or multiple electronic devices. In some embodiments, implementation may be with cloud or distributed electronic devices.
As shown in fig. 11, the electronic device 1100 includes a Central Processing Unit (CPU) 1101 that can perform various appropriate operations and processes according to programs and/or data stored in a Read Only Memory (ROM) 1102 or programs and/or data loaded from a storage section 1108 into a Random Access Memory (RAM) 1103. The CPU 1101 may be one multi-core processor or may include a plurality of processors. In some embodiments, CPU 1101 may comprise a general purpose host processor and one or more special coprocessors such as, for example, a Graphics Processor (GPU), a neural Network Processor (NPU), a Digital Signal Processor (DSP), etc. In the RAM 1103, various programs and data necessary for the operation of the electronic device 1100 are also stored. The CPU 1101, ROM 1102, and RAM 1103 are connected to each other by a bus 1104. An input/output (I/O) interface 1105 is also connected to bus 1104.
The processor and the memory are used together to execute a program stored in the memory, which when executed by a computer, can implement the steps or functions of the training method, the high-resolution audio generation method, and the sound effect switching method of the high-resolution audio generation model described in the above embodiments.
Connected to the I/O interface 1105 are an input section 1106 including a keyboard, a mouse, a touch screen, and the like, an output section 1107 including a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, a speaker, and the like, a storage section 1108 including a hard disk, and the like, and a communication section 1109 including a network interface card such as a LAN card, a modem, and the like. The communication section 1109 performs communication processing via a network such as the internet. The drive 1110 is also connected to the I/O interface 1105 as needed. Removable media 1111, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like, is installed as needed in drive 1110, so that a computer program read therefrom is installed as needed in storage section 1108. Only some of the components are schematically illustrated in fig. 11, which does not mean that the computer system 1100 includes only the components illustrated in fig. 11.
In some embodiments, the mobile terminal indicated by the electronic device 1100 includes a mobile phone, a vehicle-mounted terminal, a smart television, etc., and, taking the mobile phone as an example, the electronic device 1100 further includes a display screen with a touch function, an externally-placed sound box, a gyroscope, a camera, a 4G/5G antenna, etc.
The systems, devices, modules or units illustrated in the above embodiments may be implemented by a computer or its associated components. The computer may be, for example, a mobile terminal, a smart phone, a personal computer, a laptop computer, a car-mounted human-computer interaction device, a personal digital assistant, a media player, a navigation device, a game console, a tablet, a wearable device, a smart television, an internet of things system, a smart home, an industrial computer, a server, or a combination thereof.
Although not shown, in an embodiment of the present invention, there is provided a storage medium storing a computer program configured to, when executed, perform any of the file difference-based compiling methods of the embodiment of the present invention.
Storage media in embodiments of the invention include both permanent and non-permanent, removable and non-removable items that may be used to implement information storage by any method or technology. Examples of 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, read only 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 which can be used to store information that can be accessed by a computing device.
Methods, programs, systems, apparatus, etc. in accordance with embodiments of the invention may be implemented or realized in single or multiple networked computers, or in distributed computing environments. In the present description embodiments, tasks may be performed by remote processing devices that are linked through a communications network in such a distributed computing environment.
It will be appreciated by those skilled in the art that embodiments of the present description may be provided as a method, system, or computer program product. Thus, it will be apparent to those skilled in the art that the functional modules/units or controllers and associated method steps set forth in the above embodiments may be implemented in software, hardware, and a combination of software/hardware.
The acts of the methods, procedures, or steps described in accordance with the embodiments of the present invention do not have to be performed in a specific order and still achieve desirable results unless explicitly stated. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
Various embodiments of the invention are described herein, but for brevity, description of each embodiment is not exhaustive and features or parts of the same or similar between each embodiment may be omitted. Herein, "one embodiment," "some embodiments," "example," "specific example," or "some examples" means that it is applicable to at least one embodiment or example, but not all embodiments, according to the present invention. The above terms are not necessarily meant to refer to the same embodiment or example. Those skilled in the art may combine and combine the features of the different embodiments or examples described in this specification and of the different embodiments or examples without contradiction.
The exemplary systems and methods of the present invention have been particularly shown and described with reference to the foregoing embodiments, which are merely examples of the best modes for carrying out the systems and methods. It will be appreciated by those skilled in the art that various changes may be made to the embodiments of the systems and methods described herein in practicing the systems and/or methods without departing from the spirit and scope of the invention as defined in the following claims.