Detailed Description
In order to better understand the technical solutions in the present application, the following description will clearly and completely describe the technical solutions in the embodiments of the present application with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only some embodiments of the present application, not all embodiments. All other embodiments, which can be made by one of ordinary skill in the art based on the embodiments herein without making any inventive effort, shall fall within the scope of the present application.
For the situation that the task processing device needs to execute a plurality of different types of tasks for each service, the embodiment of the application provides a task processing method and device so as to improve the execution efficiency of the tasks. Wherein the task processing method can be performed by the task processing device.
Fig. 1 is a schematic flow chart of a task processing method according to an embodiment of the present application, where the flow chart can be executed by a task processing device, and as shown in fig. 1, the flow chart includes the following steps:
step S102, acquiring service configuration information and task configuration information, wherein the service configuration information comprises a service identifier and a task type corresponding to the service identifier, and the task configuration information comprises a task type and an execution time window of the task of the type;
step S104, determining the type of the task to be executed according to the execution time window of each type of task, and determining the service identifier corresponding to the type of the task to be executed according to the task type corresponding to the service identifier;
step S106, executing the task to be executed according to the type of the task to be executed and the service identifier corresponding to the type of the task to be executed.
In the embodiment of the application, the service configuration information comprises the service identifier and the task type corresponding to the service identifier, the task configuration information comprises the task type and the execution time window of the task of the type, the task type is used as the connection between the service configuration information and the task configuration information to realize separation of service configuration and task configuration, and the service identifier corresponding to the type of the task to be executed can be simply and conveniently determined based on the service configuration information after the type of the task to be executed is determined, so that the task to be executed is executed according to the type of the task to be executed and the service identifier corresponding to the type of the task to be executed, and the execution efficiency of the task is improved.
Furthermore, in this embodiment, the task type is used as the connection between the service configuration information and the task configuration information to realize the separation of the service configuration and the task configuration, so that when the service is newly added, it is not necessary to design execution logic for each task of the service, and only the service configuration information needs to be changed, so that the workload when the service is newly added can be reduced, and the access and execution efficiency of the task can be improved.
In the step S202, the obtaining of the service configuration information and the task configuration information may be:
(a1) Loading a service configuration table and a task configuration table from a database, wherein the service configuration table is used for recording service configuration information, and the task configuration table is used for recording task configuration information;
or,
(a2) And loading the service configuration information and the task configuration information in a mode of loading the configuration file, wherein the configuration file contains the service configuration information and the task configuration information.
Specifically, a service configuration table and a task configuration table may be loaded from a database, where the service configuration table is used to record service configuration information, and the task configuration table is used to record task configuration information. Table 1 is a schematic case of a service configuration table, and in table 1, a service is taken as a foundation service for illustration.
TABLE 1
The service configuration table is used for recording service configuration information, and the service configuration information comprises a service identifier and a task type corresponding to the service identifier. In table 1, when the service is a fund service, the service identifier is a fund code, the fund code is a unique identifier of the fund, each fund corresponds to a different fund code, the task type may be a purchase-applied task, a redemption-applied task, a benefit-applied task, etc., and each fund may correspond to one or more task types.
In one embodiment, a service identifier and a task type corresponding to the service identifier may be recorded through a service configuration table, and a plurality of service identifiers and task types corresponding to the service identifiers may be recorded through a plurality of service configuration tables, where each service identifier may correspond to one or more task types.
Table 2 is a schematic case of the task configuration table, and in table 2, a service is taken as an example of a foundation service.
TABLE 2
The task configuration table is used for recording task configuration information, and the task configuration information comprises task types and execution time windows of the tasks of the types. In table 2, when the service is a fund service, the task type may be a buy task, a redeem task, a benefit task, etc., the execution time window mainly configures time period information of task operation, the task valid flag includes valid and invalid, and the valid flag indicates that the task of the type is activated or deactivated, and the task repetition type may be configured to repeat on a daily basis, repeat on a monthly basis, etc.
In one embodiment, a task type and an execution time window of the task of the type, a task valid flag, a task repetition type and the like can be recorded through one task configuration table, so that a plurality of task types are respectively recorded through a plurality of task configuration tables.
It can be seen that, in this embodiment, the service identifier and the task type corresponding to the service identifier can be recorded through the service configuration table, and the task type and the execution time window of the task of the type are recorded through the task configuration table, where table 1 and table 2 above show the service configuration table and the task configuration table by taking the service as the foundation service as an example, it can be understood that the task in this embodiment may also be another task, and this is not a limitation.
Or, the service configuration information and the task configuration information can be loaded by loading a configuration file, wherein the configuration file contains the service configuration information and the task configuration information. The configuration file can be pre-configured and stored in the local memory, and when the task processing equipment is started, the configuration file is automatically loaded, so that service configuration information and task configuration information are obtained.
In the step S104, the determining the type of the task to be executed according to the execution time window of each type of task may be: and taking the type of the task with the current time in the execution time window as the type of the task to be executed.
The execution time window may be "13 to 14 points per day" as shown in table 2 above, that is, a period of time during which the task is allowed to execute, beyond which the task processing device may alert. In this step, the type of the task whose current time is within the execution time window is used as the type of the task to be executed. For example, if the execution time window of a task type is "1 point to 2 points per day", if the current time is between "1 point to 2 points", it is determined that the current time is within the execution time window, and the task type is used as the type of the task to be executed.
In the step S104, the determining, according to the task type corresponding to the service identifier, the service identifier corresponding to the type of the task to be executed may be: after determining the type of the task to be executed, searching the service identifier corresponding to the type of the task to be executed in the task type corresponding to the service identifier, and taking the searched service identifier as the service identifier corresponding to the type of the task to be executed.
In one embodiment, a service identifier and a task type corresponding to the service identifier are recorded through a service configuration table, so that a plurality of service identifiers are respectively recorded through a plurality of service configuration tables. In this step, after determining the type of the task to be executed, service identifiers corresponding to the type of the task to be executed are searched in the plurality of service configuration tables, for example, service identifiers corresponding to the type of the task to be executed are searched in the plurality of service configuration tables shown in table 1, and the searched service identifiers (i.e., the fund codes in table 1) are service identifiers corresponding to the type of the task to be executed.
In this embodiment, the task to be executed includes a file generation task. In the step S106, the task to be executed is executed according to the type of the task to be executed and the service identifier corresponding to the type of the task to be executed, specifically: acquiring service flow data corresponding to the type of the task to be executed, acquiring target flow data from the acquired service flow data according to the service identification corresponding to the type of the task to be executed and the service identification carried in the acquired service flow data, generating a specific file according to the target flow data, and uploading the specific file.
Taking the fund service as an example, in this embodiment, service flow data may be recorded through service flow tables, where each service flow table records service flow data corresponding to a task type, and table 3 is a schematic case of the service flow water meter.
TABLE 3 Table 3
In table 3, each service flow meter corresponds to a task type. The service flow number is a unique identifier of the service flow, the service information is used for recording specific service information of the flow, the fund code is used for identifying the fund code to which the service flow belongs, and the task type is used for indicating the task type to which the service flow belongs. For one type of task, it may correspond to a plurality of service flow meters, and for one fund code, it may also correspond to a plurality of service flow meters. In table 3, the service flow data includes at least service information 1 and service information 2.
In the step, firstly, according to the task type recorded in the service flow water meter, determining the service flow water meter corresponding to the type of the task to be executed, thereby obtaining the service flow data corresponding to the type of the task to be executed. Because for a type of task, it may correspond to a plurality of service flow meters, so herein a plurality of service flow meters may be obtained, where the plurality of service flow meters may correspond to different service identifiers (i.e. fund codes in table 3), so next, according to the service identifier corresponding to the type of task to be executed and the service identifier carried in the obtained service flow data, obtaining target flow data in the obtained service flow data, where the service identifier corresponding to the target flow data is the service identifier corresponding to the type of task to be executed.
For example, the service flow table corresponding to the type of the task to be executed includes a table a, a table B and a table C, wherein the fund code corresponding to the table a is 111, the fund code corresponding to the table B is 222, the fund code corresponding to the table C is 333, and the fund code corresponding to the type of the task to be executed is 111, if the table a is the target service flow water meter, the service flow data recorded in the table a is determined as the target flow data.
Finally, a specific file is generated according to the target streaming data and uploaded, for example, the target streaming data is packaged into the specific file and uploaded to a specific file system.
In this embodiment, when determining the target pipeline data of the task to be executed, the service identifier is set to be carried in the service pipeline data, so that the target pipeline data can be simply, conveniently and efficiently acquired.
In this embodiment, when executing a task to be executed, task flow information may also be generated for the task to be executed, and when executing the task to be executed, task execution state information, task execution end time, and a service identifier to which the task belongs are recorded in the task flow information.
Taking a business as a foundation business as an example, in this embodiment, a task flow water meter may be generated for each task, and table 4 is a schematic case of the task flow water meter, and task flow water information may be recorded through the task flow water meter.
TABLE 4 Table 4
As shown in table 4, the task flow table is used to record task flow information. In table 4, the task ID (identity) is a unique identifier of a task, the task execution status is used to record the execution status of the task, such as initialization, when the task is completed, the fund code is the fund code corresponding to the task, the task running start time and the task execution end time are used to record the start time and the end time of the task, and the task type is used to record the task type to which the task belongs.
In this embodiment, when executing a task to be executed, a task flow meter is generated for the task to be executed, relevant information of the task to be executed is recorded through the task flow meter, and when executing the task to be executed is completed, task execution state information and task execution end time are recorded in the task flow information, so that detailed information of each task is recorded through the task flow meter.
Fig. 2 is a schematic structural diagram of a task processing system according to an embodiment of the present application, and as shown in fig. 2, the system includes a task system, a scheduling system, a task database, a transaction database, and a file system. In fig. 2, the task system may perform the method shown in fig. 1, which specifically includes: firstly, under the dispatching of a dispatching system, a task system acquires service configuration information and task configuration information from a task database, analyzes each service identifier and a task type corresponding to each service identifier from the task configuration information, and analyzes execution time windows of each service type and each type of task from the task configuration information. And secondly, the task system determines the type of the task to be executed according to the execution time window of each type of task, and searches the corresponding service identifier of the type of the task to be executed in the task type corresponding to each service identifier. And finally, the task system acquires service flow data corresponding to the type of the task to be executed from the transaction database, acquires target flow data in the acquired service flow data according to the service identification corresponding to the type of the task to be executed and the service identification carried in the acquired service flow data, wherein the service identification to which the target flow data belongs is the service identification corresponding to the type of the task to be executed, and packages the target flow data into a file in a specific format and uploads the file to the file system. The task system also generates a task flow water meter to record various information of the task to be executed, including information such as task running start time, task execution end time, task execution state and the like. In the system of fig. 2, the scheduling system may also trigger the task system by adopting a heartbeat polling manner to determine the type of the task to be executed according to the execution time window of each type of task.
In this embodiment, the service may include a fund service, where the file generated when the task to be executed is executed may be a fund file, where the fund file is a carrier for transmitting service information to a fund company, and the fund company performs service processing, such as purchase, redemption, and the like, according to the fund file.
The method in this embodiment further comprises: and acquiring a service access instruction, adding a service identifier in service configuration information according to the service access instruction, and adding a corresponding task type for the newly added service identifier.
Specifically, when different types of tasks need to be executed for a new service, in this embodiment, since the task type is used as a connection between the service configuration information and the task configuration information to implement separation of service configuration and task configuration, only the service identifier needs to be added in the service configuration information, and the corresponding task type needs to be added for the newly added service identifier, so that the task configuration information does not need to be changed, and the tasks of the corresponding types can be executed for the newly added service based on the added service configuration information and the original task configuration information.
Taking the service configuration table as an example, only one service configuration table is required to be configured for the newly added service, the service identifier and the corresponding task type of the newly added service are recorded in the table, and the task of the corresponding type can be executed for the newly added service without any change to the task configuration information.
The method in this embodiment further comprises: acquiring a task change instruction, determining a service identifier corresponding to the task change instruction, and modifying the task type corresponding to the determined service identifier in the service configuration information.
Specifically, when the corresponding task type is required to be modified for a certain service, in this embodiment, the task type is used as the connection between the service configuration information and the task configuration information to realize the separation of the service configuration and the task configuration, so that only the service identifier corresponding to the task change instruction is required to be determined, the task type corresponding to the determined service identifier is required to be modified in the service configuration information, and the task configuration information is not required to be changed, so that the effect of changing the task type corresponding to the service can be achieved.
Taking the service configuration table as an example, only the service identifier corresponding to the task change instruction is required to be determined, the corresponding task type is required to be changed in the service configuration table corresponding to the service identifier, and the task configuration information is not required to be changed, so that the effect of changing the task type corresponding to the service can be achieved.
Similarly, in this embodiment, if a certain task type needs to be added, only task configuration information needs to be newly added, the task type and the corresponding execution time window are added in the task configuration information, and the task type is added in the task type corresponding to the task identifier. Because the task type is used as the connection between the service configuration information and the task configuration information, the separation of the service configuration and the task configuration is realized, and therefore, the service configuration information or the task configuration information can be independently modified, so that the task configuration is simpler and more convenient.
In summary, the present embodiment has at least the following advantages:
(1) The task type is used as the connection between the service configuration information and the task configuration information to realize the separation of the service configuration and the task configuration, if a certain service is to be newly accessed, the service identification and the corresponding task type are only added in the service configuration information, if the task type of a certain service is to be modified, the task type corresponding to the service is only required to be modified in the service configuration information, the task types of the new access service and the service change are simple and convenient, and the modification cost is low;
(2) When the target stream data of the task to be executed is determined, the service identifier is carried in the service stream data, so that the target stream data can be simply, conveniently and efficiently acquired.
The embodiment also provides a task processing device, and fig. 3 is a schematic diagram of module composition of the task processing device provided in an embodiment of the present application, as shown in fig. 3, where the device includes:
an obtaining module 31, configured to obtain service configuration information and task configuration information; the service configuration information comprises a service identifier and a task type corresponding to the service identifier; the task configuration information comprises a task type and an execution time window of the task of the type;
A determining module 32, configured to determine a type of a task to be executed according to an execution time window of each type of task, and determine a service identifier corresponding to the type of the task to be executed according to a task type corresponding to the service identifier;
and the execution module 33 is configured to execute the task to be executed according to the type of the task to be executed and the service identifier corresponding to the type of the task to be executed.
Optionally, the obtaining module 31 is specifically configured to:
loading a service configuration table and a task configuration table from a database; the service configuration table is used for recording the service configuration information, and the task configuration table is used for recording the task configuration information;
or,
loading the service configuration information and the task configuration information in a mode of loading a configuration file; the configuration file contains the service configuration information and the task configuration information.
Optionally, the determining module 32 is specifically configured to:
and taking the type of the task with the current time in the execution time window as the type of the task to be executed.
Optionally, the task to be executed includes a file generation task; the execution module 33 is specifically configured to:
Acquiring service flow data corresponding to the type of the task to be executed;
acquiring target stream data from the acquired service stream data according to the service identifier corresponding to the type of the task to be executed and the service identifier carried in the acquired service stream data;
and generating a specific file according to the target stream data and uploading the specific file.
Optionally, the apparatus further comprises a recording module for:
generating task flow information for the task to be executed when the task to be executed is executed;
and when the task to be executed is executed, recording task execution state information and task execution ending time in the task flow information.
Optionally, the apparatus further comprises an access module for:
acquiring a service access instruction;
and adding a service identifier in the service configuration information according to the service access instruction, and adding a corresponding task type for the newly added service identifier.
Optionally, the apparatus further comprises a modification module for:
acquiring a task change instruction;
determining a service identifier corresponding to the task change instruction;
and modifying the determined task type corresponding to the service identifier in the service configuration information.
In the embodiment of the application, the service configuration information comprises the service identifier and the task type corresponding to the service identifier, the task configuration information comprises the task type and the execution time window of the task of the type, the task type is used as the connection between the service configuration information and the task configuration information to realize separation of service configuration and task configuration, and the service identifier corresponding to the type of the task to be executed can be simply and conveniently determined based on the service configuration information after the type of the task to be executed is determined, so that the task to be executed is executed according to the type of the task to be executed and the service identifier corresponding to the type of the task to be executed, and the execution efficiency of the task is improved.
Furthermore, in this embodiment, the task type is used as the connection between the service configuration information and the task configuration information to realize the separation of the service configuration and the task configuration, so that when the service is newly added, it is not necessary to design execution logic for each task of the service, and only the service configuration information needs to be changed, so that the workload when the service is newly added can be reduced, and the access and execution efficiency of the task can be improved.
The task processing device in this embodiment can implement each process in the above method embodiment, and achieve the same functions and effects, which are not repeated here.
Further, in the embodiment of the present application, a task processing device is further provided, and fig. 4 is a schematic structural diagram of the task processing device provided in the embodiment of the present application, as shown in fig. 4, where the task processing device may have a relatively large difference due to different configurations or performances, and may include one or more processors 901 and a memory 902, where one or more storage applications or data may be stored in the memory 902. Wherein the memory 902 may be transient storage or persistent storage. The application programs stored in the memory 902 may include one or more modules (not shown), each of which may include a series of computer-executable instructions for use in the task processing device. Still further, the processor 901 may be arranged to communicate with the memory 902 to execute a series of computer executable instructions in the memory 902 on the task processing device. The task processing device can also include one or more power supplies 903, one or more wired or wireless network interfaces 904, one or more input output interfaces 905, one or more keyboards 906, and the like.
In a particular embodiment, a task processing device includes a memory, and one or more programs, wherein the one or more programs are stored in the memory, and the one or more programs may include one or more modules, and each module may include a series of computer-executable instructions for the task processing device, and configured to be executed by one or more processors, the one or more programs comprising computer-executable instructions for:
Acquiring service configuration information and task configuration information; the service configuration information comprises a service identifier and a task type corresponding to the service identifier; the task configuration information comprises a task type and an execution time window of the task of the type;
determining the type of a task to be executed according to the execution time window of each type of task, and determining the service identifier corresponding to the type of the task to be executed according to the task type corresponding to the service identifier;
and executing the task to be executed according to the type of the task to be executed and the service identifier corresponding to the type of the task to be executed.
Optionally, the acquiring service configuration information and task configuration information when the computer executable instructions are executed includes:
loading a service configuration table and a task configuration table from a database; the service configuration table is used for recording the service configuration information, and the task configuration table is used for recording the task configuration information;
or,
loading the service configuration information and the task configuration information in a mode of loading a configuration file; the configuration file contains the service configuration information and the task configuration information.
Optionally, the determining the type of the task to be performed according to the execution time window of each type of task includes:
and taking the type of the task with the current time in the execution time window as the type of the task to be executed.
Optionally, the computer executable instructions, when executed, the task to be executed comprises a file generation task; the executing the task to be executed according to the type of the task to be executed and the service identifier corresponding to the type of the task to be executed, including:
acquiring service flow data corresponding to the type of the task to be executed;
acquiring target stream data from the acquired service stream data according to the service identifier corresponding to the type of the task to be executed and the service identifier carried in the acquired service stream data;
and generating a specific file according to the target stream data and uploading the specific file.
Optionally, the computer executable instructions, when executed, further comprise:
generating task flow information for the task to be executed when the task to be executed is executed;
and when the task to be executed is executed, recording task execution state information and task execution ending time in the task flow information.
Optionally, the computer executable instructions, when executed, further comprise:
acquiring a service access instruction;
and adding a service identifier in the service configuration information according to the service access instruction, and adding a corresponding task type for the newly added service identifier.
Optionally, the computer executable instructions, when executed, further comprise:
acquiring a task change instruction;
determining a service identifier corresponding to the task change instruction;
and modifying the determined task type corresponding to the service identifier in the service configuration information.
In the embodiment of the application, the service configuration information comprises the service identifier and the task type corresponding to the service identifier, the task configuration information comprises the task type and the execution time window of the task of the type, the task type is used as the connection between the service configuration information and the task configuration information to realize separation of service configuration and task configuration, and the service identifier corresponding to the type of the task to be executed can be simply and conveniently determined based on the service configuration information after the type of the task to be executed is determined, so that the task to be executed is executed according to the type of the task to be executed and the service identifier corresponding to the type of the task to be executed, and the execution efficiency of the task is improved.
Furthermore, in this embodiment, the task type is used as the connection between the service configuration information and the task configuration information to realize the separation of the service configuration and the task configuration, so that when the service is newly added, it is not necessary to design execution logic for each task of the service, and only the service configuration information needs to be changed, so that the workload when the service is newly added can be reduced, and the access and execution efficiency of the task can be improved.
The task processing device in this embodiment can implement the respective processes in the above-described method embodiment, and achieve the same functions and effects, and are not repeated here.
Further, the embodiment of the present application further provides a storage medium, which is configured to store computer executable instructions, and in a specific embodiment, the storage medium may be a usb disk, an optical disc, a hard disk, etc., where the computer executable instructions stored in the storage medium can implement the following flow when executed by a processor:
acquiring service configuration information and task configuration information; the service configuration information comprises a service identifier and a task type corresponding to the service identifier; the task configuration information comprises a task type and an execution time window of the task of the type;
Determining the type of a task to be executed according to the execution time window of each type of task, and determining the service identifier corresponding to the type of the task to be executed according to the task type corresponding to the service identifier;
and executing the task to be executed according to the type of the task to be executed and the service identifier corresponding to the type of the task to be executed.
Optionally, the computer executable instructions stored on the storage medium, when executed by the processor, obtain the service configuration information and the task configuration information, including:
loading a service configuration table and a task configuration table from a database; the service configuration table is used for recording the service configuration information, and the task configuration table is used for recording the task configuration information;
or,
loading the service configuration information and the task configuration information in a mode of loading a configuration file; the configuration file contains the service configuration information and the task configuration information.
Optionally, the computer executable instructions stored in the storage medium, when executed by the processor, determine the type of task to be performed according to the execution time window of each type of task, including:
And taking the type of the task with the current time in the execution time window as the type of the task to be executed.
Optionally, the computer executable instructions stored by the storage medium, when executed by the processor, the task to be performed comprises a file generation task; the executing the task to be executed according to the type of the task to be executed and the service identifier corresponding to the type of the task to be executed, including:
acquiring service flow data corresponding to the type of the task to be executed;
acquiring target stream data from the acquired service stream data according to the service identifier corresponding to the type of the task to be executed and the service identifier carried in the acquired service stream data;
and generating a specific file according to the target stream data and uploading the specific file.
Optionally, the storage medium stores computer executable instructions that when executed by the processor further comprise:
generating task flow information for the task to be executed when the task to be executed is executed;
and when the task to be executed is executed, recording task execution state information and task execution ending time in the task flow information.
Optionally, the storage medium stores computer executable instructions that when executed by the processor further comprise:
Acquiring a service access instruction;
and adding a service identifier in the service configuration information according to the service access instruction, and adding a corresponding task type for the newly added service identifier.
Optionally, the storage medium stores computer executable instructions that when executed by the processor further comprise:
acquiring a task change instruction;
determining a service identifier corresponding to the task change instruction;
and modifying the determined task type corresponding to the service identifier in the service configuration information.
In the embodiment of the application, the service configuration information comprises the service identifier and the task type corresponding to the service identifier, the task configuration information comprises the task type and the execution time window of the task of the type, the task type is used as the connection between the service configuration information and the task configuration information to realize separation of service configuration and task configuration, and the service identifier corresponding to the type of the task to be executed can be simply and conveniently determined based on the service configuration information after the type of the task to be executed is determined, so that the task to be executed is executed according to the type of the task to be executed and the service identifier corresponding to the type of the task to be executed, and the execution efficiency of the task is improved.
Furthermore, in this embodiment, the task type is used as the connection between the service configuration information and the task configuration information to realize the separation of the service configuration and the task configuration, so that when the service is newly added, it is not necessary to design execution logic for each task of the service, and only the service configuration information needs to be changed, so that the workload when the service is newly added can be reduced, and the access and execution efficiency of the task can be improved.
The computer executable instructions stored by the storage medium in this embodiment, when executed by the processor, can implement the respective processes in the method embodiments described above and achieve the same functions and effects, which are not repeated here.
In the 90 s of the 20 th century, improvements to one technology could clearly be distinguished as improvements in hardware (e.g., improvements to circuit structures such as diodes, transistors, switches, etc.) or software (improvements to the process flow). However, with the development of technology, many improvements of the current method flows can be regarded as direct improvements of hardware circuit structures. Designers almost always obtain corresponding hardware circuit structures by programming improved method flows into hardware circuits. Therefore, an improvement of a method flow cannot be said to be realized by a hardware entity module. For example, a programmable logic device (Programmable Logic Device, PLD) (e.g., field programmable gate array (Field Programmable Gate Array, FPGA)) is an integrated circuit whose logic function is determined by the programming of the device by a user. A designer programs to "integrate" a digital system onto a PLD without requiring the chip manufacturer to design and fabricate application-specific integrated circuit chips. Moreover, nowadays, instead of manually manufacturing integrated circuit chips, such programming is mostly implemented by using "logic compiler" software, which is similar to the software compiler used in program development and writing, and the original code before the compiling is also written in a specific programming language, which is called hardware description language (Hardware Description Language, HDL), but not just one of the hdds, but a plurality of kinds, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), lava, lola, myHDL, PALASM, RHDL (Ruby Hardware Description Language), etc., VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog are currently most commonly used. It will also be apparent to those skilled in the art that a hardware circuit implementing the logic method flow can be readily obtained by merely slightly programming the method flow into an integrated circuit using several of the hardware description languages described above.
The controller may be implemented in any suitable manner, for example, the controller may take the form of, for example, a microprocessor or processor and a computer readable medium storing computer readable program code (e.g., software or firmware) executable by the (micro) processor, logic gates, switches, application specific integrated circuits (Application Specific Integrated Circuit, ASIC), programmable logic controllers, and embedded microcontrollers, examples of which include, but are not limited to, the following microcontrollers: ARC 625D, atmel AT91SAM, microchip PIC18F26K20, and Silicone Labs C8051F320, the memory controller may also be implemented as part of the control logic of the memory. Those skilled in the art will also appreciate that, in addition to implementing the controller in a pure computer readable program code, it is well possible to implement the same functionality by logically programming the method steps such that the controller is in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers, etc. Such a controller may thus be regarded as a kind of hardware component, and means for performing various functions included therein may also be regarded as structures within the hardware component. Or even means for achieving the various functions may be regarded as either software modules implementing the methods or structures within hardware components.
The system, apparatus, module or unit set forth in the above embodiments may be implemented in particular by a computer chip or entity, or by a product having a certain function. One typical implementation is a computer. In particular, the computer may be, for example, a personal computer, a laptop computer, a cellular telephone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
For convenience of description, the above devices are described as being functionally divided into various units, respectively. Of course, the functions of each element may be implemented in one or more software and/or hardware elements when implemented in the present application.
It will be appreciated by those skilled in the art that 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 present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations 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 one typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include volatile memory in a computer-readable medium, random Access Memory (RAM) and/or nonvolatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of computer-readable media.
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 storage media for a computer 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, which can be used to store information that can be accessed by a computing device. Computer-readable media, as defined herein, does not include transitory computer-readable media (transmission media), such as modulated data signals and carrier waves.
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 one … …" does not exclude the presence of other like elements in a process, method, article or apparatus that comprises the element.
It will be appreciated by those skilled in the art that 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 application may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The application may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
In this specification, each embodiment is described in a progressive manner, and identical and similar parts of each embodiment are all referred to each other, and each embodiment mainly describes differences from other embodiments. In particular, for system embodiments, since they are substantially similar to method embodiments, the description is relatively simple, as relevant to see a section of the description of method embodiments.
The foregoing is merely exemplary of the present application and is not intended to limit the present application. Various modifications and changes may be made to the present application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc. which are within the spirit and principles of the present application are intended to be included within the scope of the claims of the present application.